diff --git a/Android.bp b/Android.bp
index aeb3ceb..faad6f3 100644
--- a/Android.bp
+++ b/Android.bp
@@ -77,6 +77,7 @@
         "core/java/android/app/ISearchManager.aidl",
         "core/java/android/app/ISearchManagerCallback.aidl",
         "core/java/android/app/IServiceConnection.aidl",
+        "core/java/android/app/ISmsAppService.aidl",
         "core/java/android/app/IStopUserCallback.aidl",
         "core/java/android/app/job/IJobCallback.aidl",
         "core/java/android/app/job/IJobScheduler.aidl",
@@ -151,8 +152,8 @@
         ":libcamera_client_framework_aidl",
         "core/java/android/hardware/IConsumerIrService.aidl",
         "core/java/android/hardware/ISerialManager.aidl",
-        "core/java/android/hardware/biometrics/IBiometricPromptService.aidl",
-        "core/java/android/hardware/biometrics/IBiometricPromptServiceReceiver.aidl",
+        "core/java/android/hardware/biometrics/IBiometricService.aidl",
+        "core/java/android/hardware/biometrics/IBiometricServiceReceiver.aidl",
         "core/java/android/hardware/biometrics/IBiometricPromptReceiver.aidl",
         "core/java/android/hardware/biometrics/IBiometricServiceLockoutResetCallback.aidl",
         "core/java/android/hardware/display/IDisplayManager.aidl",
@@ -368,6 +369,7 @@
         "core/java/com/android/internal/app/IAppOpsService.aidl",
         "core/java/com/android/internal/app/IBatteryStats.aidl",
         "core/java/com/android/internal/app/ISoundTriggerService.aidl",
+        "core/java/com/android/internal/app/IVoiceActionCheckCallback.aidl",
         "core/java/com/android/internal/app/IVoiceInteractionManagerService.aidl",
         "core/java/com/android/internal/app/IVoiceInteractionSessionListener.aidl",
         "core/java/com/android/internal/app/IVoiceInteractionSessionShowCallback.aidl",
@@ -514,11 +516,14 @@
         "telephony/java/android/telephony/ims/aidl/IImsSmsListener.aidl",
         "telephony/java/android/telephony/mbms/IMbmsDownloadSessionCallback.aidl",
         "telephony/java/android/telephony/mbms/IMbmsStreamingSessionCallback.aidl",
+        "telephony/java/android/telephony/mbms/IMbmsGroupCallSessionCallback.aidl",
         "telephony/java/android/telephony/mbms/IDownloadStatusListener.aidl",
         "telephony/java/android/telephony/mbms/IDownloadProgressListener.aidl",
         "telephony/java/android/telephony/mbms/IStreamingServiceCallback.aidl",
+        "telephony/java/android/telephony/mbms/IGroupCallCallback.aidl",
         "telephony/java/android/telephony/mbms/vendor/IMbmsDownloadService.aidl",
         "telephony/java/android/telephony/mbms/vendor/IMbmsStreamingService.aidl",
+        "telephony/java/android/telephony/mbms/vendor/IMbmsGroupCallService.aidl",
         "telephony/java/android/telephony/INetworkService.aidl",
         "telephony/java/android/telephony/INetworkServiceCallback.aidl",
         "telephony/java/com/android/ims/internal/IImsCallSession.aidl",
@@ -702,7 +707,6 @@
 
     // Loaded with System.loadLibrary by android.view.textclassifier
     required: [
-        "libtextclassifier",
         "libmedia2_jni",
     ],
 
@@ -806,12 +810,16 @@
 java_library {
     name: "ext",
     installable: true,
-    no_framework_libs: true,
+    sdk_version: "core_current",
     static_libs: [
         "libphonenumber-platform",
         "nist-sip",
         "tagsoup",
         "rappor",
+        "libtextclassifier-java",
+    ],
+    required: [
+        "libtextclassifier",
     ],
     dxflags: ["--core-library"],
 }
@@ -1084,53 +1092,63 @@
      "-federate SupportLib https://developer.android.com " +
      "-federationapi SupportLib $(location current/support-api.txt) "
 
-doc_defaults {
-    name: "api-stubs-default",
-    srcs: [
-        ":opt-telephony-srcs",
-        ":opt-net-voip-srcs",
-        ":openjdk_javadoc_files",
-        ":non_openjdk_javadoc_files",
-        ":android_icu4j_src_files_for_docs",
-    ],
-    srcs_lib: "framework",
-    srcs_lib_whitelist_dirs: frameworks_base_subdirs,
-    srcs_lib_whitelist_pkgs: packages_to_document,
-    libs: [
-        "core-oj",
-        "core-libart",
-        "conscrypt",
-        "bouncycastle",
-        "okhttp",
-        "ext",
-        "framework",
-        "voip-common",
-        "android.test.mock.impl",
-    ],
-    local_sourcepaths: frameworks_base_subdirs,
-    html_dirs: [
-        "docs/html",
-    ],
-    knowntags: [
-        "docs/knowntags.txt",
-        ":known-oj-tags",
-    ],
-    custom_template: "droiddoc-templates-sdk",
-    hdf: [
-        "dac true",
-        "sdk.codename O",
-        "sdk.preview.version 1",
-        "sdk.version 7.0",
-        "sdk.rel.id 1",
-        "sdk.preview 0",
-    ],
-    resourcesdir: "docs/html/reference/images",
-    resourcesoutdir: "reference/android/images",
-    installable: false,
-}
+framework_docs_only_args = " -android -manifest $(location core/res/AndroidManifest.xml) " +
+     "-overview $(location core/java/overview.html) " +
+     // Federate Support Library references against local API file.
+     "-federate SupportLib https://developer.android.com " +
+     "-federationapi SupportLib $(location current/support-api.txt) "
 
-doc_defaults {
-    name: "framework-docs-default",
+framework_docs_only_libs = [
+    "conscrypt",
+    "bouncycastle",
+    "voip-common",
+    "android.test.mock",
+    "android-support-annotations",
+    "android-support-compat",
+    "android-support-core-ui",
+    "android-support-core-utils",
+    "android-support-customtabs",
+    "android-support-design",
+    "android-support-dynamic-animation",
+    "android-support-exifinterface",
+    "android-support-fragment",
+    "android-support-media-compat",
+    "android-support-percent",
+    "android-support-recommendation",
+    "android-support-transition",
+    "android-support-tv-provider",
+    "android-support-v7-cardview",
+    "android-support-v7-gridlayout",
+    "android-support-v7-mediarouter",
+    "android-support-v7-palette",
+    "android-support-v7-preference",
+    "android-support-v13",
+    "android-support-v14-preference",
+    "android-support-v17-leanback",
+    "android-support-v17-preference-leanback",
+    "android-support-wear",
+    "android-support-vectordrawable",
+    "android-support-animatedvectordrawable",
+    "android-support-v7-appcompat",
+    "android-support-v7-recyclerview",
+    "android-support-emoji",
+    "android-support-emoji-appcompat",
+    "android-support-emoji-bundled",
+    "android-support-v8-renderscript",
+    "android-support-multidex",
+    "android-support-multidex-instrumentation",
+]
+
+metalava_framework_docs_args = "--manifest $(location core/res/AndroidManifest.xml) " +
+    "--hide-package com.android.okhttp " +
+    "--hide-package com.android.org.conscrypt --hide-package com.android.server " +
+    "--hide RequiresPermission " +
+    "--hide MissingPermission --hide BroadcastBehavior " +
+    "--hide HiddenSuperclass --hide DeprecationMismatch --hide UnavailableSymbol " +
+    "--hide SdkConstant --hide HiddenTypeParameter --hide Todo --hide Typo"
+
+stubs_defaults {
+    name: "framework-doc-stubs-default",
     srcs: [
         "test-base/src/**/*.java",
         ":opt-telephony-srcs",
@@ -1144,47 +1162,25 @@
     srcs_lib: "framework",
     srcs_lib_whitelist_dirs: frameworks_base_subdirs,
     srcs_lib_whitelist_pkgs: packages_to_document,
-    libs: [
-        "conscrypt",
-        "bouncycastle",
-        "voip-common",
-        "android.test.mock",
-        "android-support-annotations",
-        "android-support-compat",
-        "android-support-core-ui",
-        "android-support-core-utils",
-        "android-support-customtabs",
-        "android-support-design",
-        "android-support-dynamic-animation",
-        "android-support-exifinterface",
-        "android-support-fragment",
-        "android-support-media-compat",
-        "android-support-percent",
-        "android-support-recommendation",
-        "android-support-transition",
-        "android-support-tv-provider",
-        "android-support-v7-cardview",
-        "android-support-v7-gridlayout",
-        "android-support-v7-mediarouter",
-        "android-support-v7-palette",
-        "android-support-v7-preference",
-        "android-support-v13",
-        "android-support-v14-preference",
-        "android-support-v17-leanback",
-        "android-support-v17-preference-leanback",
-        "android-support-wear",
-        "android-support-vectordrawable",
-        "android-support-animatedvectordrawable",
-        "android-support-v7-appcompat",
-        "android-support-v7-recyclerview",
-        "android-support-emoji",
-        "android-support-emoji-appcompat",
-        "android-support-emoji-bundled",
-        "android-support-v8-renderscript",
-        "android-support-multidex",
-        "android-support-multidex-instrumentation",
-    ],
+    libs: framework_docs_only_libs,
     local_sourcepaths: frameworks_base_subdirs,
+    create_doc_stubs: true,
+    annotations_enabled: true,
+    api_levels_annotations_enabled: true,
+    api_levels_annotations_dirs: [
+        "sdk-dir",
+        "api-versions-jars-dir",
+    ],
+    previous_api: ":last-released-public-api",
+    merge_annotations_dirs: [
+        "metalava-manual",
+        "ojluni-annotated-sdk-stubs",
+    ],
+}
+
+doc_defaults {
+    name: "framework-docs-default",
+    libs: framework_docs_only_libs,
     html_dirs: [
         "docs/html",
     ],
@@ -1205,23 +1201,13 @@
     ],
     arg_files: [
         "core/res/AndroidManifest.xml",
-        ":api-version-xml",
         "core/java/overview.html",
         ":current-support-api",
-        "api/current.txt",
     ],
     create_stubs: false,
 }
 
-metalava_framework_docs_args = "--manifest $(location core/res/AndroidManifest.xml) " +
-    "--hide-package com.android.okhttp " +
-    "--hide-package com.android.org.conscrypt --hide-package com.android.server " +
-    "--hide RequiresPermission " +
-    "--hide MissingPermission --hide BroadcastBehavior " +
-    "--hide HiddenSuperclass --hide DeprecationMismatch --hide UnavailableSymbol " +
-    "--hide SdkConstant --hide HiddenTypeParameter --hide Todo --hide Typo"
-
-doc_defaults {
+stubs_defaults {
     name: "metalava-api-stubs-default",
     srcs: [
         ":opt-telephony-srcs",
@@ -1246,57 +1232,96 @@
     ],
     local_sourcepaths: frameworks_base_subdirs,
     installable: false,
-    metalava_enabled: true,
-    metalava_annotations_enabled: true,
-    metalava_previous_api: ":last-released-public-api",
-    metalava_merge_annotations_dirs: [
+    annotations_enabled: true,
+    previous_api: ":last-released-public-api",
+    merge_annotations_dirs: [
         "metalava-manual",
-        "ojluni-annotated-stubs",
+        "ojluni-annotated-sdk-stubs",
     ],
+    api_levels_annotations_enabled: true,
+    api_levels_annotations_dirs: [
+        "sdk-dir",
+        "api-versions-jars-dir",
+    ],
+}
+
+droidstubs {
+    name: "framework-doc-stubs",
+    defaults: ["framework-doc-stubs-default"],
+    arg_files: [
+        "core/res/AndroidManifest.xml",
+    ],
+    args: metalava_framework_docs_args,
+}
+
+droidstubs {
+    name: "framework-doc-system-stubs",
+    defaults: ["framework-doc-stubs-default"],
+    arg_files: [
+        "core/res/AndroidManifest.xml",
+    ],
+    args: metalava_framework_docs_args + " --show-annotation android.annotation.SystemApi ",
 }
 
 droiddoc {
     name: "doc-comment-check-docs",
     defaults: ["framework-docs-default"],
-    args: framework_docs_args + " -referenceonly -parsecomments",
+    srcs: [
+        ":framework-doc-stubs",
+    ],
+    args: framework_docs_only_args + " -referenceonly -parsecomments",
     installable: false,
 }
 
 droiddoc {
     name: "offline-sdk-docs",
     defaults: ["framework-docs-default"],
+    srcs: [
+        ":framework-doc-stubs",
+    ],
     hdf: [
         "android.whichdoc offline",
     ],
     proofread_file: "offline-sdk-docs-proofrerad.txt",
-    args: framework_docs_args + " -offlinemode -title \"Android SDK\"",
+    args: framework_docs_only_args + " -offlinemode -title \"Android SDK\"",
     write_sdk_values: true,
     static_doc_index_redirect: "docs/docs-preview-index.html",
 }
 
 droiddoc {
+    // Please sync with android-api-council@ before making any changes for the name property below.
+    // Since there's cron jobs that fetch offline-sdk-referenceonly-docs-docs.zip periodically.
+    // See b/116221385 for reference.
     name: "offline-sdk-referenceonly-docs",
     defaults: ["framework-docs-default"],
+    srcs: [
+        ":framework-doc-stubs",
+    ],
     hdf: [
         "android.whichdoc offline",
     ],
     proofread_file: "offline-sdk-referenceonly-docs-proofrerad.txt",
-    args: framework_docs_args + " -offlinemode -title \"Android SDK\" -referenceonly",
+    args: framework_docs_only_args + " -offlinemode -title \"Android SDK\" -referenceonly",
     write_sdk_values: true,
     static_doc_index_redirect: "docs/docs-documentation-redirect.html",
     static_doc_properties: "docs/source.properties",
 }
 
 droiddoc {
+    // Please sync with android-api-council@ before making any changes for the name property below.
+    // Since there's cron jobs that fetch offline-system-sdk-referenceonly-docs-docs.zip periodically.
+    // See b/116221385 for reference.
     name: "offline-system-sdk-referenceonly-docs",
     defaults: ["framework-docs-default"],
+    srcs: [
+        ":framework-doc-system-stubs",
+    ],
     hdf: [
         "android.whichdoc offline",
     ],
     proofread_file: "offline-system-sdk-referenceonly-docs-proofrerad.txt",
-    args: framework_docs_args + " -hide 101 -hide 104 -hide 108" +
-          " -showAnnotation android.annotation.SystemApi " +
-          " -offlinemode -title \"Android System SDK\" -referenceonly",
+    args: framework_docs_only_args  + " -hide 101 -hide 104 -hide 108" +
+        " -offlinemode -title \"Android System SDK\" -referenceonly",
     write_sdk_values: true,
     static_doc_index_redirect: "docs/docs-documentation-redirect.html",
     static_doc_properties: "docs/source.properties",
@@ -1305,12 +1330,15 @@
 droiddoc {
     name: "online-sdk-docs",
     defaults: ["framework-docs-default"],
+    srcs: [
+        ":framework-doc-stubs",
+    ],
     hdf: [
         "android.whichdoc online",
         "android.hasSamples true",
     ],
     proofread_file: "online-sdk-docs-proofrerad.txt",
-    args: framework_docs_args +
+    args: framework_docs_only_args  +
         " -toroot / -samplegroup Admin " +
         " -samplegroup Background " +
         " -samplegroup Connectivity " +
@@ -1331,14 +1359,16 @@
 droiddoc {
     name: "online-system-api-sdk-docs",
     defaults: ["framework-docs-default"],
+    srcs: [
+        ":framework-doc-system-stubs",
+    ],
     hdf: [
         "android.whichdoc online",
         "android.hasSamples true",
     ],
     proofread_file: "online-system-api-sdk-docs-proofrerad.txt",
-    args: framework_docs_args +
+    args: framework_docs_only_args +
         " -referenceonly " +
-        " -showAnnotation android.annotation.SystemApi " +
         " -title \"Android SDK - Including system APIs.\" " +
         " -hide 101 " +
         " -hide 104 " +
@@ -1364,12 +1394,15 @@
 droiddoc {
     name: "ds-docs",
     defaults: ["framework-docs-default"],
+    srcs: [
+        ":framework-doc-stubs",
+    ],
     hdf: [
         "android.whichdoc online",
         "android.hasSamples true",
     ],
     proofread_file: "ds-docs-proofrerad.txt",
-    args: framework_docs_args +
+    args: framework_docs_only_args +
         " -toroot / -samplegroup Admin " +
         " -samplegroup Background " +
         " -samplegroup Connectivity " +
@@ -1390,11 +1423,14 @@
 droiddoc {
     name: "ds-static-docs",
     defaults: ["framework-docs-default"],
+    srcs: [
+        ":framework-doc-stubs",
+    ],
     hdf: [
         "android.whichdoc online",
     ],
     proofread_file: "ds-static-docs-proofrerad.txt",
-    args: framework_docs_args +
+    args: framework_docs_only_args +
           " -staticonly " +
           " -toroot / " +
           " -devsite " +
@@ -1404,11 +1440,14 @@
 droiddoc {
     name: "ds-ref-navtree-docs",
     defaults: ["framework-docs-default"],
+    srcs: [
+        ":framework-doc-stubs",
+    ],
     hdf: [
         "android.whichdoc online",
     ],
     proofread_file: "ds-ref-navtree-docs-proofrerad.txt",
-    args: framework_docs_args +
+    args: framework_docs_only_args +
           " -toroot / " +
           " -atLinksNavtree " +
           " -navtreeonly ",
@@ -1417,12 +1456,15 @@
 droiddoc {
     name: "online-sdk-dev-docs",
     defaults: ["framework-docs-default"],
+    srcs: [
+        ":framework-doc-stubs",
+    ],
     hdf: [
         "android.whichdoc online",
         "android.hasSamples true",
     ],
     proofread_file: "online-sdk-dev-docs-proofrerad.txt",
-    args: framework_docs_args +
+    args: framework_docs_only_args +
         " -toroot / -samplegroup Admin " +
         " -samplegroup Background " +
         " -samplegroup Connectivity " +
@@ -1443,13 +1485,16 @@
 droiddoc {
     name: "hidden-docs",
     defaults: ["framework-docs-default"],
+    srcs: [
+        ":framework-doc-stubs",
+    ],
     proofread_file: "hidden-docs-proofrerad.txt",
-    args: framework_docs_args +
+    args: framework_docs_only_args +
           " -referenceonly " +
           " -title \"Android SDK - Including hidden APIs.\"",
 }
 
-droiddoc {
+droidstubs {
     name: "hwbinder-stubs-docs",
     srcs: [
         "core/java/android/os/HidlSupport.java",
@@ -1467,10 +1512,15 @@
         "core/java/android/os/RemoteException.java",
         "core/java/android/util/AndroidException.java",
     ],
-    custom_template: "droiddoc-templates-sdk",
     installable: false,
     no_framework_libs: true,
-    args: "-showAnnotation android.annotation.SystemApi -nodocs -stubsourceonly",
+    annotations_enabled: true,
+    previous_api: ":last-released-public-api",
+    merge_annotations_dirs: [
+        "metalava-manual",
+        "ojluni-annotated-sdk-stubs",
+    ],
+    args: " --show-annotation android.annotation.SystemApi",
 }
 
 java_library_static {
@@ -1481,7 +1531,7 @@
     ],
 }
 
-droiddoc {
+droidstubs {
     name: "hiddenapi-lists-docs",
     defaults: ["metalava-api-stubs-default"],
     arg_files: [
@@ -1497,23 +1547,17 @@
 }
 
 
-droiddoc {
+droidstubs {
     name: "hiddenapi-mappings",
-    defaults: ["api-stubs-default"],
+    defaults: ["metalava-api-stubs-default"],
     arg_files: [
         "core/res/AndroidManifest.xml",
-        ":api-version-xml",
-        "core/java/overview.html",
-        ":current-support-api",
-        "api/current.txt",
     ],
     dex_mapping_filename: "dex-mapping.txt",
-    args: framework_docs_args +
-          " -referenceonly" +
-          " -nodocs" +
-          " -showUnannotated" +
-          " -showAnnotation android.annotation.SystemApi" +
-          " -showAnnotation android.annotation.TestApi",
+    args: metalava_framework_docs_args +
+        " --show-unannotated " +
+        " --show-annotation android.annotation.SystemApi " +
+        " --show-annotation android.annotation.TestApi "
 }
 
 filegroup {
@@ -1540,7 +1584,7 @@
     ],
 }
 
-droiddoc {
+droidstubs {
     name: "api-stubs-docs",
     defaults: ["metalava-api-stubs-default"],
     api_filename: "public_api.txt",
@@ -1560,9 +1604,10 @@
             removed_api_file: "api/removed.txt",
         },
     },
+    jdiff_enabled: true,
 }
 
-droiddoc {
+droidstubs {
     name: "system-api-stubs-docs",
     defaults: ["metalava-api-stubs-default"],
     api_tag_name: "SYSTEM",
@@ -1584,9 +1629,10 @@
             removed_api_file: "api/system-removed.txt",
         },
     },
+    jdiff_enabled: true,
 }
 
-droiddoc {
+droidstubs {
     name: "test-api-stubs-docs",
     defaults: ["metalava-api-stubs-default"],
     api_tag_name: "TEST",
diff --git a/Android.mk b/Android.mk
index e43243b..d333074 100644
--- a/Android.mk
+++ b/Android.mk
@@ -53,265 +53,16 @@
 	cat $^ | sort -u > $@.tmp
 	$(call commit-change-for-toc,$@)
 
-# the documentation
-# ============================================================
-
-# TODO: deal with com/google/android/googleapps
-packages_to_document := \
-  android \
-  javax/microedition/khronos \
-  org/apache/http/conn \
-  org/apache/http/params \
-
-# include definition of libcore_to_document
-include libcore/Docs.mk
-
-non_base_dirs := \
-  ../opt/telephony/src/java/android/telephony \
-  ../opt/telephony/src/java/android/telephony/gsm \
-  ../opt/net/voip/src/java/android/net/rtp \
-  ../opt/net/voip/src/java/android/net/sip \
-
-# Find all files in specific directories (relative to frameworks/base)
-# to document and check apis
-files_to_check_apis := \
-  $(call find-other-java-files, \
-    $(non_base_dirs) \
-  )
-
-# Find all files in specific packages that were used to compile
-# framework.jar to document and check apis
-files_to_check_apis += \
-  $(addprefix ../../,\
-    $(filter \
-      $(foreach dir,$(FRAMEWORKS_BASE_JAVA_SRC_DIRS),\
-        $(foreach package,$(packages_to_document),\
-          $(dir)/$(package)/%.java)),\
-      $(SOONG_FRAMEWORK_SRCS)))
-
-# Find all generated files that were used to compile framework.jar
-files_to_check_apis_generated := \
-  $(filter $(OUT_DIR)/%,\
-    $(SOONG_FRAMEWORK_SRCS))
-
-# These are relative to frameworks/base
-# FRAMEWORKS_BASE_SUBDIRS comes from build/core/pathmap.mk
-files_to_document := \
-  $(files_to_check_apis) \
-  $(call find-other-java-files,\
-    test-base/src \
-    test-mock/src \
-    test-runner/src)
-
-# These are relative to frameworks/base
-html_dirs := \
-	$(FRAMEWORKS_BASE_SUBDIRS) \
-	$(non_base_dirs) \
-
-# Common sources for doc check and api check
-common_src_files := \
-	$(call find-other-html-files, $(html_dirs)) \
-	$(addprefix ../../, $(libcore_to_document)) \
-
-# These are relative to frameworks/base
-framework_docs_LOCAL_SRC_FILES := \
-  $(files_to_document) \
-  $(common_src_files) \
-
-# These are relative to frameworks/base
-framework_docs_LOCAL_API_CHECK_SRC_FILES := \
-  $(files_to_check_apis) \
-  $(common_src_files) \
-
 # This is used by ide.mk as the list of source files that are
 # always included.
 INTERNAL_SDK_SOURCE_DIRS := $(addprefix $(LOCAL_PATH)/,$(dirs_to_document))
 
-framework_docs_LOCAL_DROIDDOC_SOURCE_PATH := \
-	$(FRAMEWORKS_BASE_JAVA_SRC_DIRS)
-
-framework_docs_LOCAL_SRCJARS := $(SOONG_FRAMEWORK_SRCJARS)
-
-framework_docs_LOCAL_GENERATED_SOURCES := \
-  $(libcore_to_document_generated) \
-  $(files_to_check_apis_generated) \
-
-framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES := \
-	core-oj \
-	core-libart \
-	conscrypt \
-	bouncycastle \
-	okhttp \
-	ext \
-	framework \
-	voip-common \
-
-# Platform docs can refer to Support Library APIs, but we don't actually build
-# them as part of the docs target, so we need to include them on the classpath.
-framework_docs_LOCAL_JAVA_LIBRARIES := \
-	$(framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES) \
-	$(FRAMEWORKS_SUPPORT_JAVA_LIBRARIES)
-
-framework_docs_LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-framework_docs_LOCAL_DROIDDOC_HTML_DIR := docs/html
-# The since flag (-since N.xml API_LEVEL) is used to add API Level information
-# to the reference documentation. Must be in order of oldest to newest.
-#
-# Conscrypt (com.android.org.conscrypt) is an implementation detail and should
-# not be referenced in the documentation.
-framework_docs_LOCAL_DROIDDOC_OPTIONS := \
-    -android \
-    -knowntags ./frameworks/base/docs/knowntags.txt \
-    -knowntags ./libcore/known_oj_tags.txt \
-    -manifest ./frameworks/base/core/res/AndroidManifest.xml \
-    -hidePackage com.android.internal \
-    -hidePackage com.android.internal.util \
-    -hidePackage com.android.okhttp \
-    -hidePackage com.android.org.conscrypt \
-    -hidePackage com.android.server
-
-# Convert an sdk level to a "since" argument.
-since-arg = -since $(wildcard $(HISTORICAL_SDK_VERSIONS_ROOT)/$(1)/public/api/android.$(2)) $(1)
-
-finalized_xml_sdks := $(call numerically_sort,\
-    $(patsubst $(HISTORICAL_SDK_VERSIONS_ROOT)/%/public/api/android.xml,%,\
-    $(wildcard $(HISTORICAL_SDK_VERSIONS_ROOT)/*/public/api/android.xml)))
-finalized_txt_sdks := $(call numerically_sort,\
-     $(patsubst $(HISTORICAL_SDK_VERSIONS_ROOT)/%/public/api/android.txt,%,\
-    $(wildcard $(HISTORICAL_SDK_VERSIONS_ROOT)/*/public/api/android.txt)))
-
-framework_docs_LOCAL_DROIDDOC_OPTIONS += $(foreach sdk,$(finalized_xml_sdks),$(call since-arg,$(sdk),xml))
-framework_docs_LOCAL_DROIDDOC_OPTIONS += $(foreach sdk,$(finalized_txt_sdks),$(call since-arg,$(sdk),txt))
-ifneq ($(PLATFORM_VERSION_CODENAME),REL)
-  framework_docs_LOCAL_DROIDDOC_OPTIONS += \
-      -since ./frameworks/base/api/current.txt $(PLATFORM_VERSION_CODENAME)
-endif
-framework_docs_LOCAL_DROIDDOC_OPTIONS += \
-    -werror -lerror -hide 111 -hide 113 -hide 125 -hide 126 -hide 127 -hide 128 \
-    -overview $(LOCAL_PATH)/core/java/overview.html
-
-framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR:= \
-	$(call intermediates-dir-for,JAVA_LIBRARIES,framework,,COMMON)
-
-framework_docs_LOCAL_ADDITIONAL_JAVA_DIR:= \
-	$(framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR)
-
-framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES := \
-    frameworks/base/docs/knowntags.txt \
-    $(libcore_to_document_generated)
-
-samples_dir := development/samples/browseable
-
-# Whitelist of valid groups, used for default TOC grouping. Each sample must
-# belong to one (and only one) group. Assign samples to groups by setting
-# a sample.group var to one of these groups in the sample's _index.jd.
-sample_groups := -samplegroup Admin \
-                 -samplegroup Background \
-                 -samplegroup Connectivity \
-                 -samplegroup Content \
-                 -samplegroup Input \
-                 -samplegroup Media \
-                 -samplegroup Notification \
-                 -samplegroup RenderScript \
-                 -samplegroup Security \
-                 -samplegroup Sensors \
-                 -samplegroup System \
-                 -samplegroup Testing \
-                 -samplegroup UI \
-                 -samplegroup Views \
-                 -samplegroup Wearable
-
-## SDK version identifiers used in the published docs
-  # major[.minor] version for current SDK. (full releases only)
-framework_docs_SDK_VERSION:=7.0
-  # release version (ie "Release x")  (full releases only)
-framework_docs_SDK_REL_ID:=1
-
-framework_docs_LOCAL_DROIDDOC_OPTIONS += \
-		-hdf dac true \
-		-hdf sdk.codename O \
-		-hdf sdk.preview.version 1 \
-		-hdf sdk.version $(framework_docs_SDK_VERSION) \
-		-hdf sdk.rel.id $(framework_docs_SDK_REL_ID) \
-		-hdf sdk.preview 0 \
-		-resourcesdir $(LOCAL_PATH)/docs/html/reference/images/ \
-		-resourcesoutdir reference/android/images/
-
-# Federate Support Library references against local API file.
-framework_docs_LOCAL_DROIDDOC_OPTIONS += \
-		-federate SupportLib https://developer.android.com \
-		-federationapi SupportLib prebuilts/sdk/current/support-api.txt
-
-# Federate AndroidX references against local API file.
-framework_docs_LOCAL_DROIDDOC_OPTIONS += \
-		-federate AndroidX https://developer.android.com \
-		-federationapi AndroidX prebuilts/sdk/current/androidx-api.txt
-
-# Get the highest numbered api txt for the given api level.
-# $(1): the api level (e.g. public, system)
-define highest_sdk_txt
-$(HISTORICAL_SDK_VERSIONS_ROOT)/$(lastword $(call numerically_sort, \
-    $(patsubst \
-        $(HISTORICAL_SDK_VERSIONS_ROOT)/%,\
-        %,\
-        $(wildcard $(HISTORICAL_SDK_VERSIONS_ROOT)/*/$(1)/api/android.txt)\
-    ) \
-))
-endef
-
-# ====  Public API diff ===========================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(framework_docs_LOCAL_API_CHECK_SRC_FILES)
-LOCAL_GENERATED_SOURCES := $(framework_docs_LOCAL_GENERATED_SOURCES)
-LOCAL_SRCJARS:=$(framework_docs_LOCAL_SRCJARS)
-LOCAL_JAVA_LIBRARIES := $(framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES)
-LOCAL_MODULE_CLASS := $(framework_docs_LOCAL_MODULE_CLASS)
-LOCAL_ADDITIONAL_JAVA_DIR := $(framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR)
-LOCAL_ADDITIONAL_DEPENDENCIES := \
-	$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES) \
-	$(INTERNAL_PLATFORM_API_FILE)
-
-LOCAL_MODULE := offline-sdk-referenceonly
-
-# Basename, because apidiff adds .txt internally.
-LOCAL_APIDIFF_OLDAPI := $(basename $(call highest_sdk_txt,public))
-LOCAL_APIDIFF_NEWAPI := $(LOCAL_PATH)/../../$(basename $(INTERNAL_PLATFORM_API_FILE))
-
-include $(BUILD_APIDIFF)
-
-# Hack to get diffs included in docs output
-out_zip := $(OUT_DOCS)/$(LOCAL_MODULE)-docs.zip
-$(out_zip): $(full_target)
-
-# ====  System API diff ===========================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(framework_docs_LOCAL_API_CHECK_SRC_FILES)
-LOCAL_GENERATED_SOURCES := $(framework_docs_LOCAL_GENERATED_SOURCES)
-LOCAL_SRCJARS:=$(framework_docs_LOCAL_SRCJARS)
-LOCAL_JAVA_LIBRARIES := $(framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES)
-LOCAL_MODULE_CLASS := $(framework_docs_LOCAL_MODULE_CLASS)
-LOCAL_ADDITIONAL_JAVA_DIR := $(framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR)
-LOCAL_ADDITIONAL_DEPENDENCIES := \
-	$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES) \
-	$(INTERNAL_PLATFORM_SYSTEM_API_FILE)
-
-LOCAL_MODULE := offline-system-sdk-referenceonly
-
-# Basename, because apidiff adds .txt internally.
-LOCAL_APIDIFF_OLDAPI := $(basename $(call highest_sdk_txt,system))
-LOCAL_APIDIFF_NEWAPI := $(LOCAL_PATH)/../../$(basename $(INTERNAL_PLATFORM_SYSTEM_API_FILE))
-
-include $(BUILD_APIDIFF)
-
-# Hack to get diffs included in docs output
-out_zip := $(OUT_DOCS)/$(LOCAL_MODULE)-docs.zip
-$(out_zip): $(full_target)
-
 $(call dist-for-goals,sdk,$(INTERNAL_PLATFORM_API_FILE))
 $(call dist-for-goals,sdk,$(INTERNAL_PLATFORM_SYSTEM_API_FILE))
 $(call dist-for-goals,sdk,$(INTERNAL_PLATFORM_TEST_API_FILE))
+$(call dist-for-goals,sdk,$(INTERNAL_PLATFORM_API_FILE):apistubs/android/public/api/android.txt)
+$(call dist-for-goals,sdk,$(INTERNAL_PLATFORM_SYSTEM_API_FILE):apistubs/android/system/api/android.txt)
+$(call dist-for-goals,sdk,$(INTERNAL_PLATFORM_TEST_API_FILE):apistubs/android/test/api/android.txt)
 
 # sdk.atree needs to copy the whole dir: $(OUT_DOCS)/offline-sdk to the final zip.
 # So keep offline-sdk-timestamp target here, and unzip offline-sdk-docs.zip to
@@ -336,7 +87,6 @@
     frameworks/base/tools/hiddenapi/generate_hiddenapi_lists.py \
     frameworks/base/config/hiddenapi-light-greylist.txt \
     frameworks/base/config/hiddenapi-vendor-list.txt \
-    frameworks/base/config/hiddenapi-dark-greylist.txt \
     frameworks/base/config/hiddenapi-force-blacklist.txt \
     $(INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST) \
     $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST) \
@@ -345,15 +95,12 @@
 	    --input-public $(INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST) \
 	    --input-private $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST) \
 	    --input-whitelists $(PRIVATE_WHITELIST_INPUTS) \
-	    --input-light-greylists \
+	    --input-greylists \
 	        frameworks/base/config/hiddenapi-light-greylist.txt \
 	        frameworks/base/config/hiddenapi-vendor-list.txt \
 	        <(comm -12 <(sort $(INTERNAL_PLATFORM_REMOVED_DEX_API_FILE)) \
 	                   $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST)) \
 	        $(PRIVATE_GREYLIST_INPUTS) \
-	    --input-dark-greylists \
-	        frameworks/base/config/hiddenapi-dark-greylist.txt \
-	        $(PRIVATE_DARKGREYLIST_INPUTS) \
 	    --input-blacklists frameworks/base/config/hiddenapi-force-blacklist.txt \
 	    --output-whitelist $(INTERNAL_PLATFORM_HIDDENAPI_WHITELIST).tmp \
 	    --output-light-greylist $(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST).tmp \
diff --git a/CleanSpec.mk b/CleanSpec.mk
index 2247e43..6deda0c 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -247,6 +247,7 @@
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/framework/com.android.mediadrm.signer.jar)
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/framework/com.android.location.provider.jar)
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/framework/com.android.future.usb.accessory.jar)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/framework/com.android.media.remotedisplay.jar)
 # ******************************************************************
 # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST ABOVE THIS BANNER
 # ******************************************************************
diff --git a/PREUPLOAD.cfg b/PREUPLOAD.cfg
index de83f3e..ff40f75 100644
--- a/PREUPLOAD.cfg
+++ b/PREUPLOAD.cfg
@@ -8,6 +8,11 @@
                       services/print/
                       services/usb/
                       telephony/
+                      tests/ActivityViewTest/
+                      tests/LotsOfApps/
+                      tests/NativeProcessesMemoryTest/
+                      tests/OdmApps/
+                      tests/SystemMemoryTest/
                       wifi/
 
 api_lint_hook = ${REPO_ROOT}/frameworks/base/tools/apilint/apilint_sha.sh ${PREUPLOAD_COMMIT}
diff --git a/api/current.txt b/api/current.txt
index 083b242..6ce400f 100755
--- a/api/current.txt
+++ b/api/current.txt
@@ -7,6 +7,7 @@
   public static final class Manifest.permission {
     ctor public Manifest.permission();
     field public static final java.lang.String ACCEPT_HANDOVER = "android.permission.ACCEPT_HANDOVER";
+    field public static final java.lang.String ACCESS_BACKGROUND_LOCATION = "android.permission.ACCESS_BACKGROUND_LOCATION";
     field public static final java.lang.String ACCESS_CHECKIN_PROPERTIES = "android.permission.ACCESS_CHECKIN_PROPERTIES";
     field public static final java.lang.String ACCESS_COARSE_LOCATION = "android.permission.ACCESS_COARSE_LOCATION";
     field public static final java.lang.String ACCESS_FINE_LOCATION = "android.permission.ACCESS_FINE_LOCATION";
@@ -37,6 +38,7 @@
     field public static final java.lang.String BIND_QUICK_SETTINGS_TILE = "android.permission.BIND_QUICK_SETTINGS_TILE";
     field public static final java.lang.String BIND_REMOTEVIEWS = "android.permission.BIND_REMOTEVIEWS";
     field public static final java.lang.String BIND_SCREENING_SERVICE = "android.permission.BIND_SCREENING_SERVICE";
+    field public static final java.lang.String BIND_SMS_APP_SERVICE = "android.permission.BIND_SMS_APP_SERVICE";
     field public static final java.lang.String BIND_TELECOM_CONNECTION_SERVICE = "android.permission.BIND_TELECOM_CONNECTION_SERVICE";
     field public static final java.lang.String BIND_TEXT_SERVICE = "android.permission.BIND_TEXT_SERVICE";
     field public static final java.lang.String BIND_TV_INPUT = "android.permission.BIND_TV_INPUT";
@@ -772,9 +774,11 @@
     field public static final int isFeatureSplit = 16844123; // 0x101055b
     field public static final int isGame = 16843764; // 0x10103f4
     field public static final int isIndicator = 16843079; // 0x1010147
+    field public static final int isLightTheme = 16844175; // 0x101058f
     field public static final int isModifier = 16843334; // 0x1010246
     field public static final int isRepeatable = 16843336; // 0x1010248
     field public static final int isScrollContainer = 16843342; // 0x101024e
+    field public static final int isSplitRequired = 16844176; // 0x1010590
     field public static final int isStatic = 16844122; // 0x101055a
     field public static final int isSticky = 16843335; // 0x1010247
     field public static final int isolatedProcess = 16843689; // 0x10103a9
@@ -934,6 +938,7 @@
     field public static final int minSdkVersion = 16843276; // 0x101020c
     field public static final int minWidth = 16843071; // 0x101013f
     field public static final int minimumHorizontalAngle = 16843901; // 0x101047d
+    field public static final int minimumUiTimeout = 16844174; // 0x101058e
     field public static final int minimumVerticalAngle = 16843902; // 0x101047e
     field public static final int mipMap = 16843725; // 0x10103cd
     field public static final int mirrorForRtl = 16843726; // 0x10103ce
@@ -2874,10 +2879,12 @@
     method public int getCapabilities();
     method public deprecated java.lang.String getDescription();
     method public java.lang.String getId();
+    method public int getMinimumUiTimeoutMillis();
     method public android.content.pm.ResolveInfo getResolveInfo();
     method public java.lang.String getSettingsActivityName();
     method public java.lang.String loadDescription(android.content.pm.PackageManager);
     method public java.lang.CharSequence loadSummary(android.content.pm.PackageManager);
+    method public void setMinimumUiTimeoutMillis(int);
     method public void writeToParcel(android.os.Parcel, int);
     field public static final int CAPABILITY_CAN_CONTROL_MAGNIFICATION = 16; // 0x10
     field public static final int CAPABILITY_CAN_PERFORM_GESTURES = 32; // 0x20
@@ -2902,6 +2909,7 @@
     field public static final deprecated int FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY = 8; // 0x8
     field public static final int FLAG_REQUEST_FILTER_KEY_EVENTS = 32; // 0x20
     field public static final int FLAG_REQUEST_FINGERPRINT_GESTURES = 512; // 0x200
+    field public static final int FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK = 1024; // 0x400
     field public static final int FLAG_REQUEST_TOUCH_EXPLORATION_MODE = 4; // 0x4
     field public static final int FLAG_RETRIEVE_INTERACTIVE_WINDOWS = 64; // 0x40
     field public int eventTypes;
@@ -4292,6 +4300,20 @@
     method public abstract void onActivityCreated(android.app.Activity, android.os.Bundle);
     method public abstract void onActivityDestroyed(android.app.Activity);
     method public abstract void onActivityPaused(android.app.Activity);
+    method public default void onActivityPostCreated(android.app.Activity, android.os.Bundle);
+    method public default void onActivityPostDestroyed(android.app.Activity);
+    method public default void onActivityPostPaused(android.app.Activity);
+    method public default void onActivityPostResumed(android.app.Activity);
+    method public default void onActivityPostSaveInstanceState(android.app.Activity, android.os.Bundle);
+    method public default void onActivityPostStarted(android.app.Activity);
+    method public default void onActivityPostStopped(android.app.Activity);
+    method public default void onActivityPreCreated(android.app.Activity, android.os.Bundle);
+    method public default void onActivityPreDestroyed(android.app.Activity);
+    method public default void onActivityPrePaused(android.app.Activity);
+    method public default void onActivityPreResumed(android.app.Activity);
+    method public default void onActivityPreSaveInstanceState(android.app.Activity, android.os.Bundle);
+    method public default void onActivityPreStarted(android.app.Activity);
+    method public default void onActivityPreStopped(android.app.Activity);
     method public abstract void onActivityResumed(android.app.Activity);
     method public abstract void onActivitySaveInstanceState(android.app.Activity, android.os.Bundle);
     method public abstract void onActivityStarted(android.app.Activity);
@@ -4382,6 +4404,7 @@
 
   public final class AutomaticZenRule implements android.os.Parcelable {
     ctor public AutomaticZenRule(java.lang.String, android.content.ComponentName, android.net.Uri, int, boolean);
+    ctor public AutomaticZenRule(java.lang.String, android.content.ComponentName, android.net.Uri, android.service.notification.ZenPolicy, boolean);
     ctor public AutomaticZenRule(android.os.Parcel);
     method public int describeContents();
     method public android.net.Uri getConditionId();
@@ -4389,11 +4412,13 @@
     method public int getInterruptionFilter();
     method public java.lang.String getName();
     method public android.content.ComponentName getOwner();
+    method public android.service.notification.ZenPolicy getZenPolicy();
     method public boolean isEnabled();
     method public void setConditionId(android.net.Uri);
     method public void setEnabled(boolean);
     method public void setInterruptionFilter(int);
     method public void setName(java.lang.String);
+    method public void setZenPolicy(android.service.notification.ZenPolicy);
     method public void writeToParcel(android.os.Parcel, int);
     field public static final android.os.Parcelable.Creator<android.app.AutomaticZenRule> CREATOR;
   }
@@ -5574,14 +5599,14 @@
     ctor public Notification.WearableExtender(android.app.Notification);
     method public android.app.Notification.WearableExtender addAction(android.app.Notification.Action);
     method public android.app.Notification.WearableExtender addActions(java.util.List<android.app.Notification.Action>);
-    method public android.app.Notification.WearableExtender addPage(android.app.Notification);
-    method public android.app.Notification.WearableExtender addPages(java.util.List<android.app.Notification>);
+    method public deprecated android.app.Notification.WearableExtender addPage(android.app.Notification);
+    method public deprecated android.app.Notification.WearableExtender addPages(java.util.List<android.app.Notification>);
     method public android.app.Notification.WearableExtender clearActions();
-    method public android.app.Notification.WearableExtender clearPages();
+    method public deprecated android.app.Notification.WearableExtender clearPages();
     method public android.app.Notification.WearableExtender clone();
     method public android.app.Notification.Builder extend(android.app.Notification.Builder);
     method public java.util.List<android.app.Notification.Action> getActions();
-    method public android.graphics.Bitmap getBackground();
+    method public deprecated android.graphics.Bitmap getBackground();
     method public java.lang.String getBridgeTag();
     method public int getContentAction();
     method public deprecated int getContentIcon();
@@ -5590,17 +5615,17 @@
     method public deprecated int getCustomContentHeight();
     method public deprecated int getCustomSizePreset();
     method public java.lang.String getDismissalId();
-    method public android.app.PendingIntent getDisplayIntent();
+    method public deprecated android.app.PendingIntent getDisplayIntent();
     method public deprecated int getGravity();
-    method public boolean getHintAmbientBigPicture();
+    method public deprecated boolean getHintAmbientBigPicture();
     method public deprecated boolean getHintAvoidBackgroundClipping();
     method public boolean getHintContentIntentLaunchesActivity();
     method public deprecated boolean getHintHideIcon();
     method public deprecated int getHintScreenTimeout();
     method public deprecated boolean getHintShowBackgroundOnly();
-    method public java.util.List<android.app.Notification> getPages();
+    method public deprecated java.util.List<android.app.Notification> getPages();
     method public boolean getStartScrollBottom();
-    method public android.app.Notification.WearableExtender setBackground(android.graphics.Bitmap);
+    method public deprecated android.app.Notification.WearableExtender setBackground(android.graphics.Bitmap);
     method public android.app.Notification.WearableExtender setBridgeTag(java.lang.String);
     method public android.app.Notification.WearableExtender setContentAction(int);
     method public deprecated android.app.Notification.WearableExtender setContentIcon(int);
@@ -5609,23 +5634,23 @@
     method public deprecated android.app.Notification.WearableExtender setCustomContentHeight(int);
     method public deprecated android.app.Notification.WearableExtender setCustomSizePreset(int);
     method public android.app.Notification.WearableExtender setDismissalId(java.lang.String);
-    method public android.app.Notification.WearableExtender setDisplayIntent(android.app.PendingIntent);
+    method public deprecated android.app.Notification.WearableExtender setDisplayIntent(android.app.PendingIntent);
     method public deprecated android.app.Notification.WearableExtender setGravity(int);
-    method public android.app.Notification.WearableExtender setHintAmbientBigPicture(boolean);
+    method public deprecated android.app.Notification.WearableExtender setHintAmbientBigPicture(boolean);
     method public deprecated android.app.Notification.WearableExtender setHintAvoidBackgroundClipping(boolean);
     method public android.app.Notification.WearableExtender setHintContentIntentLaunchesActivity(boolean);
     method public deprecated android.app.Notification.WearableExtender setHintHideIcon(boolean);
     method public deprecated android.app.Notification.WearableExtender setHintScreenTimeout(int);
     method public deprecated android.app.Notification.WearableExtender setHintShowBackgroundOnly(boolean);
     method public android.app.Notification.WearableExtender setStartScrollBottom(boolean);
-    field public static final int SCREEN_TIMEOUT_LONG = -1; // 0xffffffff
-    field public static final int SCREEN_TIMEOUT_SHORT = 0; // 0x0
-    field public static final int SIZE_DEFAULT = 0; // 0x0
-    field public static final int SIZE_FULL_SCREEN = 5; // 0x5
-    field public static final int SIZE_LARGE = 4; // 0x4
-    field public static final int SIZE_MEDIUM = 3; // 0x3
-    field public static final int SIZE_SMALL = 2; // 0x2
-    field public static final int SIZE_XSMALL = 1; // 0x1
+    field public static final deprecated int SCREEN_TIMEOUT_LONG = -1; // 0xffffffff
+    field public static final deprecated int SCREEN_TIMEOUT_SHORT = 0; // 0x0
+    field public static final deprecated int SIZE_DEFAULT = 0; // 0x0
+    field public static final deprecated int SIZE_FULL_SCREEN = 5; // 0x5
+    field public static final deprecated int SIZE_LARGE = 4; // 0x4
+    field public static final deprecated int SIZE_MEDIUM = 3; // 0x3
+    field public static final deprecated int SIZE_SMALL = 2; // 0x2
+    field public static final deprecated int SIZE_XSMALL = 1; // 0x1
     field public static final int UNSET_ACTION_INDEX = -1; // 0xffffffff
   }
 
@@ -6088,6 +6113,11 @@
     method public abstract void onSharedElementsReady();
   }
 
+  public class SmsAppService extends android.app.Service {
+    ctor public SmsAppService();
+    method public final android.os.IBinder onBind(android.content.Intent);
+  }
+
   public deprecated class TabActivity extends android.app.ActivityGroup {
     ctor public TabActivity();
     method public android.widget.TabHost getTabHost();
@@ -7727,7 +7757,9 @@
     method public boolean isMultipleAdvertisementSupported();
     method public boolean isOffloadedFilteringSupported();
     method public boolean isOffloadedScanBatchingSupported();
+    method public android.bluetooth.BluetoothServerSocket listenUsingInsecureL2capChannel() throws java.io.IOException;
     method public android.bluetooth.BluetoothServerSocket listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID) throws java.io.IOException;
+    method public android.bluetooth.BluetoothServerSocket listenUsingL2capChannel() throws java.io.IOException;
     method public android.bluetooth.BluetoothServerSocket listenUsingRfcommWithServiceRecord(java.lang.String, java.util.UUID) throws java.io.IOException;
     method public boolean setName(java.lang.String);
     method public boolean startDiscovery();
@@ -8095,7 +8127,9 @@
     method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int, int);
     method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int, int, android.os.Handler);
     method public boolean createBond();
+    method public android.bluetooth.BluetoothSocket createInsecureL2capChannel(int) throws java.io.IOException;
     method public android.bluetooth.BluetoothSocket createInsecureRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException;
+    method public android.bluetooth.BluetoothSocket createL2capChannel(int) throws java.io.IOException;
     method public android.bluetooth.BluetoothSocket createRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException;
     method public int describeContents();
     method public boolean fetchUuidsWithSdp();
@@ -8511,6 +8545,7 @@
     method public android.bluetooth.BluetoothSocket accept() throws java.io.IOException;
     method public android.bluetooth.BluetoothSocket accept(int) throws java.io.IOException;
     method public void close() throws java.io.IOException;
+    method public int getPsm();
   }
 
   public final class BluetoothSocket implements java.io.Closeable {
@@ -9337,6 +9372,7 @@
     ctor public ContentUris();
     method public static android.net.Uri.Builder appendId(android.net.Uri.Builder, long);
     method public static long parseId(android.net.Uri);
+    method public static android.net.Uri removeId(android.net.Uri);
     method public static android.net.Uri withAppendedId(android.net.Uri, long);
   }
 
@@ -9514,6 +9550,7 @@
     field public static final int BIND_IMPORTANT = 64; // 0x40
     field public static final int BIND_NOT_FOREGROUND = 4; // 0x4
     field public static final int BIND_WAIVE_PRIORITY = 32; // 0x20
+    field public static final java.lang.String BIOMETRIC_SERVICE = "biometric";
     field public static final java.lang.String BLUETOOTH_SERVICE = "bluetooth";
     field public static final java.lang.String CAMERA_SERVICE = "camera";
     field public static final java.lang.String CAPTIONING_SERVICE = "captioning";
@@ -11925,6 +11962,7 @@
     method public android.graphics.drawable.Drawable getDrawable(int, android.content.res.Resources.Theme) throws android.content.res.Resources.NotFoundException;
     method public deprecated android.graphics.drawable.Drawable getDrawableForDensity(int, int) throws android.content.res.Resources.NotFoundException;
     method public android.graphics.drawable.Drawable getDrawableForDensity(int, int, android.content.res.Resources.Theme);
+    method public float getFloat(int);
     method public android.graphics.Typeface getFont(int) throws android.content.res.Resources.NotFoundException;
     method public float getFraction(int, int, int);
     method public int getIdentifier(java.lang.String, java.lang.String, java.lang.String);
@@ -12652,7 +12690,7 @@
     ctor public SQLiteMisuseException(java.lang.String);
   }
 
-  public abstract class SQLiteOpenHelper {
+  public abstract class SQLiteOpenHelper implements java.lang.AutoCloseable {
     ctor public SQLiteOpenHelper(android.content.Context, java.lang.String, android.database.sqlite.SQLiteDatabase.CursorFactory, int);
     ctor public SQLiteOpenHelper(android.content.Context, java.lang.String, android.database.sqlite.SQLiteDatabase.CursorFactory, int, android.database.DatabaseErrorHandler);
     ctor public SQLiteOpenHelper(android.content.Context, java.lang.String, int, android.database.sqlite.SQLiteDatabase.OpenParams);
@@ -13992,6 +14030,10 @@
     method public float getRunAdvance(char[], int, int, int, int, boolean, int);
     method public float getRunAdvance(java.lang.CharSequence, int, int, int, int, boolean, int);
     method public android.graphics.Shader getShader();
+    method public int getShadowLayerColor();
+    method public float getShadowLayerDx();
+    method public float getShadowLayerDy();
+    method public float getShadowLayerRadius();
     method public float getStrikeThruPosition();
     method public float getStrikeThruThickness();
     method public android.graphics.Paint.Cap getStrokeCap();
@@ -14001,11 +14043,15 @@
     method public android.graphics.Paint.Style getStyle();
     method public android.graphics.Paint.Align getTextAlign();
     method public void getTextBounds(java.lang.String, int, int, android.graphics.Rect);
+    method public void getTextBounds(java.lang.CharSequence, int, int, android.graphics.Rect);
     method public void getTextBounds(char[], int, int, android.graphics.Rect);
     method public java.util.Locale getTextLocale();
     method public android.os.LocaleList getTextLocales();
     method public void getTextPath(char[], int, int, float, float, android.graphics.Path);
     method public void getTextPath(java.lang.String, int, int, float, float, android.graphics.Path);
+    method public float getTextRunAdvances(char[], int, int, int, int, boolean, float[], int);
+    method public int getTextRunCursor(char[], int, int, boolean, int, int);
+    method public int getTextRunCursor(java.lang.CharSequence, int, int, boolean, int, int);
     method public float getTextScaleX();
     method public float getTextSize();
     method public float getTextSkewX();
@@ -14072,6 +14118,11 @@
     method public void setWordSpacing(float);
     method public android.graphics.Xfermode setXfermode(android.graphics.Xfermode);
     field public static final int ANTI_ALIAS_FLAG = 1; // 0x1
+    field public static final int CURSOR_AFTER = 0; // 0x0
+    field public static final int CURSOR_AT = 4; // 0x4
+    field public static final int CURSOR_AT_OR_AFTER = 1; // 0x1
+    field public static final int CURSOR_AT_OR_BEFORE = 3; // 0x3
+    field public static final int CURSOR_BEFORE = 2; // 0x2
     field public static final int DEV_KERN_TEXT_FLAG = 256; // 0x100
     field public static final int DITHER_FLAG = 4; // 0x4
     field public static final int EMBEDDED_BITMAP_TEXT_FLAG = 1024; // 0x400
@@ -15286,7 +15337,7 @@
     method public static java.lang.String toFontVariationSettings(android.graphics.fonts.FontVariationAxis[]);
   }
 
-  public class SystemFonts {
+  public final class SystemFonts {
     method public static java.util.Set<android.graphics.fonts.Font> getAvailableFonts();
   }
 
@@ -15911,6 +15962,10 @@
 
 package android.hardware.biometrics {
 
+  public class BiometricManager {
+    method public boolean hasEnrolledBiometrics();
+  }
+
   public class BiometricPrompt {
     method public void authenticate(android.hardware.biometrics.BiometricPrompt.CryptoObject, android.os.CancellationSignal, java.util.concurrent.Executor, android.hardware.biometrics.BiometricPrompt.AuthenticationCallback);
     method public void authenticate(android.os.CancellationSignal, java.util.concurrent.Executor, android.hardware.biometrics.BiometricPrompt.AuthenticationCallback);
@@ -16030,6 +16085,7 @@
     method public java.util.List<android.hardware.camera2.CaptureRequest.Key<?>> getAvailablePhysicalCameraRequestKeys();
     method public java.util.List<android.hardware.camera2.CaptureRequest.Key<?>> getAvailableSessionKeys();
     method public java.util.List<android.hardware.camera2.CameraCharacteristics.Key<?>> getKeys();
+    method public java.util.List<android.hardware.camera2.CameraCharacteristics.Key<?>> getKeysNeedingPermission();
     method public java.util.Set<java.lang.String> getPhysicalCameraIds();
     field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES;
     field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AE_AVAILABLE_ANTIBANDING_MODES;
@@ -18615,6 +18671,114 @@
     method public java.lang.CharSequence getName();
   }
 
+  public class Bidi {
+    ctor public Bidi();
+    ctor public Bidi(int, int);
+    ctor public Bidi(java.lang.String, int);
+    ctor public Bidi(java.text.AttributedCharacterIterator);
+    ctor public Bidi(char[], int, byte[], int, int, int);
+    method public boolean baseIsLeftToRight();
+    method public int countParagraphs();
+    method public int countRuns();
+    method public android.icu.text.Bidi createLineBidi(int, int);
+    method public static byte getBaseDirection(java.lang.CharSequence);
+    method public int getBaseLevel();
+    method public android.icu.text.BidiClassifier getCustomClassifier();
+    method public int getCustomizedClass(int);
+    method public byte getDirection();
+    method public int getLength();
+    method public byte getLevelAt(int);
+    method public byte[] getLevels();
+    method public int getLogicalIndex(int);
+    method public int[] getLogicalMap();
+    method public android.icu.text.BidiRun getLogicalRun(int);
+    method public byte getParaLevel();
+    method public android.icu.text.BidiRun getParagraph(int);
+    method public android.icu.text.BidiRun getParagraphByIndex(int);
+    method public int getParagraphIndex(int);
+    method public int getProcessedLength();
+    method public int getReorderingMode();
+    method public int getReorderingOptions();
+    method public int getResultLength();
+    method public int getRunCount();
+    method public int getRunLevel(int);
+    method public int getRunLimit(int);
+    method public int getRunStart(int);
+    method public char[] getText();
+    method public java.lang.String getTextAsString();
+    method public int getVisualIndex(int);
+    method public int[] getVisualMap();
+    method public android.icu.text.BidiRun getVisualRun(int);
+    method public static int[] invertMap(int[]);
+    method public boolean isInverse();
+    method public boolean isLeftToRight();
+    method public boolean isMixed();
+    method public boolean isOrderParagraphsLTR();
+    method public boolean isRightToLeft();
+    method public void orderParagraphsLTR(boolean);
+    method public static int[] reorderLogical(byte[]);
+    method public static int[] reorderVisual(byte[]);
+    method public static void reorderVisually(byte[], int, java.lang.Object[], int, int);
+    method public static boolean requiresBidi(char[], int, int);
+    method public void setContext(java.lang.String, java.lang.String);
+    method public void setCustomClassifier(android.icu.text.BidiClassifier);
+    method public void setInverse(boolean);
+    method public android.icu.text.Bidi setLine(int, int);
+    method public void setPara(java.lang.String, byte, byte[]);
+    method public void setPara(char[], byte, byte[]);
+    method public void setPara(java.text.AttributedCharacterIterator);
+    method public void setReorderingMode(int);
+    method public void setReorderingOptions(int);
+    method public java.lang.String writeReordered(int);
+    method public static java.lang.String writeReverse(java.lang.String, int);
+    field public static final int DIRECTION_DEFAULT_LEFT_TO_RIGHT = 126; // 0x7e
+    field public static final int DIRECTION_DEFAULT_RIGHT_TO_LEFT = 127; // 0x7f
+    field public static final int DIRECTION_LEFT_TO_RIGHT = 0; // 0x0
+    field public static final int DIRECTION_RIGHT_TO_LEFT = 1; // 0x1
+    field public static final short DO_MIRRORING = 2; // 0x2
+    field public static final short INSERT_LRM_FOR_NUMERIC = 4; // 0x4
+    field public static final short KEEP_BASE_COMBINING = 1; // 0x1
+    field public static final byte LEVEL_DEFAULT_LTR = 126; // 0x7e
+    field public static final byte LEVEL_DEFAULT_RTL = 127; // 0x7f
+    field public static final byte LEVEL_OVERRIDE = -128; // 0xffffff80
+    field public static final byte LTR = 0; // 0x0
+    field public static final int MAP_NOWHERE = -1; // 0xffffffff
+    field public static final byte MAX_EXPLICIT_LEVEL = 125; // 0x7d
+    field public static final byte MIXED = 2; // 0x2
+    field public static final byte NEUTRAL = 3; // 0x3
+    field public static final int OPTION_DEFAULT = 0; // 0x0
+    field public static final int OPTION_INSERT_MARKS = 1; // 0x1
+    field public static final int OPTION_REMOVE_CONTROLS = 2; // 0x2
+    field public static final int OPTION_STREAMING = 4; // 0x4
+    field public static final short OUTPUT_REVERSE = 16; // 0x10
+    field public static final short REMOVE_BIDI_CONTROLS = 8; // 0x8
+    field public static final short REORDER_DEFAULT = 0; // 0x0
+    field public static final short REORDER_GROUP_NUMBERS_WITH_R = 2; // 0x2
+    field public static final short REORDER_INVERSE_FOR_NUMBERS_SPECIAL = 6; // 0x6
+    field public static final short REORDER_INVERSE_LIKE_DIRECT = 5; // 0x5
+    field public static final short REORDER_INVERSE_NUMBERS_AS_L = 4; // 0x4
+    field public static final short REORDER_NUMBERS_SPECIAL = 1; // 0x1
+    field public static final short REORDER_RUNS_ONLY = 3; // 0x3
+    field public static final byte RTL = 1; // 0x1
+  }
+
+  public class BidiClassifier {
+    ctor public BidiClassifier(java.lang.Object);
+    method public int classify(int);
+    method public java.lang.Object getContext();
+    method public void setContext(java.lang.Object);
+  }
+
+  public class BidiRun {
+    method public byte getDirection();
+    method public byte getEmbeddingLevel();
+    method public int getLength();
+    method public int getLimit();
+    method public int getStart();
+    method public boolean isEvenRun();
+    method public boolean isOddRun();
+  }
+
   public abstract class BreakIterator implements java.lang.Cloneable {
     ctor protected BreakIterator();
     method public java.lang.Object clone();
@@ -18666,6 +18830,37 @@
     field public static final int WORD_NUMBER_LIMIT = 200; // 0xc8
   }
 
+  public abstract class CaseMap {
+    method public static android.icu.text.CaseMap.Fold fold();
+    method public abstract android.icu.text.CaseMap omitUnchangedText();
+    method public static android.icu.text.CaseMap.Lower toLower();
+    method public static android.icu.text.CaseMap.Title toTitle();
+    method public static android.icu.text.CaseMap.Upper toUpper();
+  }
+
+  public static final class CaseMap.Fold extends android.icu.text.CaseMap {
+    method public <A extends java.lang.Appendable> A apply(java.lang.CharSequence, A, android.icu.text.Edits);
+    method public android.icu.text.CaseMap.Fold omitUnchangedText();
+    method public android.icu.text.CaseMap.Fold turkic();
+  }
+
+  public static final class CaseMap.Lower extends android.icu.text.CaseMap {
+    method public <A extends java.lang.Appendable> A apply(java.util.Locale, java.lang.CharSequence, A, android.icu.text.Edits);
+    method public android.icu.text.CaseMap.Lower omitUnchangedText();
+  }
+
+  public static final class CaseMap.Title extends android.icu.text.CaseMap {
+    method public <A extends java.lang.Appendable> A apply(java.util.Locale, android.icu.text.BreakIterator, java.lang.CharSequence, A, android.icu.text.Edits);
+    method public android.icu.text.CaseMap.Title noBreakAdjustment();
+    method public android.icu.text.CaseMap.Title noLowercase();
+    method public android.icu.text.CaseMap.Title omitUnchangedText();
+  }
+
+  public static final class CaseMap.Upper extends android.icu.text.CaseMap {
+    method public <A extends java.lang.Appendable> A apply(java.util.Locale, java.lang.CharSequence, A, android.icu.text.Edits);
+    method public android.icu.text.CaseMap.Upper omitUnchangedText();
+  }
+
   public final class CollationElementIterator {
     method public int getMaxExpansion(int);
     method public int getOffset();
@@ -19331,6 +19526,30 @@
     enum_constant public static final android.icu.text.DisplayContext.Type SUBSTITUTE_HANDLING;
   }
 
+  public final class Edits {
+    ctor public Edits();
+    method public void addReplace(int, int);
+    method public void addUnchanged(int);
+    method public android.icu.text.Edits.Iterator getCoarseChangesIterator();
+    method public android.icu.text.Edits.Iterator getCoarseIterator();
+    method public android.icu.text.Edits.Iterator getFineChangesIterator();
+    method public android.icu.text.Edits.Iterator getFineIterator();
+    method public boolean hasChanges();
+    method public int lengthDelta();
+    method public void reset();
+  }
+
+  public static final class Edits.Iterator {
+    method public int destinationIndex();
+    method public boolean findSourceIndex(int);
+    method public boolean hasChange();
+    method public int newLength();
+    method public boolean next();
+    method public int oldLength();
+    method public int replacementIndex();
+    method public int sourceIndex();
+  }
+
   public abstract class IDNA {
     method public static android.icu.text.IDNA getUTS46Instance(int);
     method public abstract java.lang.StringBuilder labelToASCII(java.lang.CharSequence, java.lang.StringBuilder, android.icu.text.IDNA.Info);
@@ -21431,7 +21650,7 @@
     method public android.view.inputmethod.InputConnection getCurrentInputConnection();
     method public android.view.inputmethod.EditorInfo getCurrentInputEditorInfo();
     method public boolean getCurrentInputStarted();
-    method public int getInputMethodWindowRecommendedHeight();
+    method public deprecated int getInputMethodWindowRecommendedHeight();
     method public android.view.LayoutInflater getLayoutInflater();
     method public int getMaxWidth();
     method public java.lang.CharSequence getTextForImeAction(int);
@@ -27066,6 +27285,7 @@
     method public android.net.Network[] getAllNetworks();
     method public deprecated boolean getBackgroundDataSetting();
     method public android.net.Network getBoundNetworkForProcess();
+    method public int getConnectionOwnerUid(int, java.net.InetSocketAddress, java.net.InetSocketAddress);
     method public android.net.ProxyInfo getDefaultProxy();
     method public android.net.LinkProperties getLinkProperties(android.net.Network);
     method public int getMultipathPreference(android.net.Network);
@@ -32303,6 +32523,7 @@
 
   public class Build {
     ctor public Build();
+    method public static java.util.List<android.os.Build.Partition> getPartitions();
     method public static java.lang.String getRadioVersion();
     method public static java.lang.String getSerial();
     field public static final java.lang.String BOARD;
@@ -32331,6 +32552,14 @@
     field public static final java.lang.String USER;
   }
 
+  public static class Build.Partition {
+    ctor public Build.Partition();
+    method public java.lang.String getFingerprint();
+    method public java.lang.String getName();
+    method public long getTimeMillis();
+    field public static final java.lang.String PARTITION_NAME_SYSTEM = "system";
+  }
+
   public static class Build.VERSION {
     ctor public Build.VERSION();
     field public static final java.lang.String BASE_OS;
@@ -33213,6 +33442,7 @@
     method public static final void setThreadPriority(int) throws java.lang.IllegalArgumentException, java.lang.SecurityException;
     method public static final deprecated boolean supportsProcesses();
     field public static final int FIRST_APPLICATION_UID = 10000; // 0x2710
+    field public static final int INVALID_UID = -1; // 0xffffffff
     field public static final int LAST_APPLICATION_UID = 19999; // 0x4e1f
     field public static final int PHONE_UID = 1001; // 0x3e9
     field public static final int SIGNAL_KILL = 9; // 0x9
@@ -36586,9 +36816,9 @@
     field public static final java.lang.String IS_PRIVATE = "isprivate";
     field public static final java.lang.String LATITUDE = "latitude";
     field public static final java.lang.String LONGITUDE = "longitude";
-    field public static final java.lang.String MINI_THUMB_MAGIC = "mini_thumb_magic";
+    field public static final deprecated java.lang.String MINI_THUMB_MAGIC = "mini_thumb_magic";
     field public static final java.lang.String ORIENTATION = "orientation";
-    field public static final java.lang.String PICASA_ID = "picasa_id";
+    field public static final deprecated java.lang.String PICASA_ID = "picasa_id";
   }
 
   public static final class MediaStore.Images.Media implements android.provider.MediaStore.Images.ImageColumns {
@@ -36691,7 +36921,7 @@
     field public static final java.lang.String LANGUAGE = "language";
     field public static final java.lang.String LATITUDE = "latitude";
     field public static final java.lang.String LONGITUDE = "longitude";
-    field public static final java.lang.String MINI_THUMB_MAGIC = "mini_thumb_magic";
+    field public static final deprecated java.lang.String MINI_THUMB_MAGIC = "mini_thumb_magic";
     field public static final java.lang.String RESOLUTION = "resolution";
     field public static final java.lang.String TAGS = "tags";
   }
@@ -39563,6 +39793,7 @@
     method public final deprecated void cancelNotification(java.lang.String, java.lang.String, int);
     method public final void cancelNotification(java.lang.String);
     method public final void cancelNotifications(java.lang.String[]);
+    method public final void clearRequestedListenerHints();
     method public android.service.notification.StatusBarNotification[] getActiveNotifications();
     method public android.service.notification.StatusBarNotification[] getActiveNotifications(java.lang.String[]);
     method public final int getCurrentInterruptionFilter();
@@ -39678,6 +39909,61 @@
     field public static final android.os.Parcelable.Creator<android.service.notification.StatusBarNotification> CREATOR;
   }
 
+  public final class ZenPolicy implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getPriorityCallSenders();
+    method public int getPriorityCategoryAlarms();
+    method public int getPriorityCategoryCalls();
+    method public int getPriorityCategoryEvents();
+    method public int getPriorityCategoryMedia();
+    method public int getPriorityCategoryMessages();
+    method public int getPriorityCategoryReminders();
+    method public int getPriorityCategoryRepeatCallers();
+    method public int getPriorityCategorySystem();
+    method public int getPriorityMessageSenders();
+    method public int getVisualEffectAmbient();
+    method public int getVisualEffectBadge();
+    method public int getVisualEffectFullScreenIntent();
+    method public int getVisualEffectLights();
+    method public int getVisualEffectNotificationList();
+    method public int getVisualEffectPeek();
+    method public int getVisualEffectStatusBar();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.service.notification.ZenPolicy> CREATOR;
+    field public static final int PEOPLE_TYPE_ANYONE = 1; // 0x1
+    field public static final int PEOPLE_TYPE_CONTACTS = 2; // 0x2
+    field public static final int PEOPLE_TYPE_NONE = 4; // 0x4
+    field public static final int PEOPLE_TYPE_STARRED = 3; // 0x3
+    field public static final int PEOPLE_TYPE_UNSET = 0; // 0x0
+    field public static final int STATE_ALLOW = 1; // 0x1
+    field public static final int STATE_DISALLOW = 2; // 0x2
+    field public static final int STATE_UNSET = 0; // 0x0
+  }
+
+  public static class ZenPolicy.Builder {
+    ctor public ZenPolicy.Builder();
+    method public android.service.notification.ZenPolicy.Builder allowAlarms(boolean);
+    method public android.service.notification.ZenPolicy.Builder allowAllSounds();
+    method public android.service.notification.ZenPolicy.Builder allowCalls(int);
+    method public android.service.notification.ZenPolicy.Builder allowEvents(boolean);
+    method public android.service.notification.ZenPolicy.Builder allowMedia(boolean);
+    method public android.service.notification.ZenPolicy.Builder allowMessages(int);
+    method public android.service.notification.ZenPolicy.Builder allowReminders(boolean);
+    method public android.service.notification.ZenPolicy.Builder allowRepeatCallers(boolean);
+    method public android.service.notification.ZenPolicy.Builder allowSystem(boolean);
+    method public android.service.notification.ZenPolicy build();
+    method public android.service.notification.ZenPolicy.Builder disallowAllSounds();
+    method public android.service.notification.ZenPolicy.Builder hideAllVisualEffects();
+    method public android.service.notification.ZenPolicy.Builder showAllVisualEffects();
+    method public android.service.notification.ZenPolicy.Builder showBadges(boolean);
+    method public android.service.notification.ZenPolicy.Builder showFullScreenIntent(boolean);
+    method public android.service.notification.ZenPolicy.Builder showInAmbientDisplay(boolean);
+    method public android.service.notification.ZenPolicy.Builder showInNotificationList(boolean);
+    method public android.service.notification.ZenPolicy.Builder showLights(boolean);
+    method public android.service.notification.ZenPolicy.Builder showPeeking(boolean);
+    method public android.service.notification.ZenPolicy.Builder showStatusBarIcons(boolean);
+  }
+
 }
 
 package android.service.quicksettings {
@@ -39794,6 +40080,7 @@
     method public int getDisabledShowContext();
     method public static boolean isActiveService(android.content.Context, android.content.ComponentName);
     method public android.os.IBinder onBind(android.content.Intent);
+    method public java.util.Set<java.lang.String> onGetSupportedVoiceActions(java.util.Set<java.lang.String>);
     method public void onLaunchVoiceAssistFromKeyguard();
     method public void onReady();
     method public void onShutdown();
@@ -39856,6 +40143,7 @@
     field public static final int SHOW_SOURCE_ACTIVITY = 16; // 0x10
     field public static final int SHOW_SOURCE_APPLICATION = 8; // 0x8
     field public static final int SHOW_SOURCE_ASSIST_GESTURE = 4; // 0x4
+    field public static final int SHOW_SOURCE_NOTIFICATION = 64; // 0x40
     field public static final int SHOW_SOURCE_PUSH_TO_TALK = 32; // 0x20
     field public static final int SHOW_WITH_ASSIST = 1; // 0x1
     field public static final int SHOW_WITH_SCREENSHOT = 2; // 0x2
@@ -41061,6 +41349,7 @@
     field public static final int PROPERTY_HAS_CDMA_VOICE_PRIVACY = 128; // 0x80
     field public static final int PROPERTY_HIGH_DEF_AUDIO = 16; // 0x10
     field public static final int PROPERTY_IS_EXTERNAL_CALL = 64; // 0x40
+    field public static final int PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL = 2048; // 0x800
     field public static final int PROPERTY_RTT = 1024; // 0x400
     field public static final int PROPERTY_SELF_MANAGED = 256; // 0x100
     field public static final int PROPERTY_WIFI = 8; // 0x8
@@ -41716,6 +42005,7 @@
     field public static final java.lang.String EXTRA_CALL_BACK_NUMBER = "android.telecom.extra.CALL_BACK_NUMBER";
     field public static final java.lang.String EXTRA_CALL_DISCONNECT_CAUSE = "android.telecom.extra.CALL_DISCONNECT_CAUSE";
     field public static final java.lang.String EXTRA_CALL_DISCONNECT_MESSAGE = "android.telecom.extra.CALL_DISCONNECT_MESSAGE";
+    field public static final java.lang.String EXTRA_CALL_NETWORK_TYPE = "android.telecom.extra.CALL_NETWORK_TYPE";
     field public static final java.lang.String EXTRA_CALL_SUBJECT = "android.telecom.extra.CALL_SUBJECT";
     field public static final java.lang.String EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME = "android.telecom.extra.CHANGE_DEFAULT_DIALER_PACKAGE_NAME";
     field public static final java.lang.String EXTRA_INCOMING_CALL_ADDRESS = "android.telecom.extra.INCOMING_CALL_ADDRESS";
@@ -42013,6 +42303,7 @@
     field public static final deprecated java.lang.String KEY_RESTART_RADIO_ON_PDP_FAIL_REGULAR_DEACTIVATION_BOOL = "restart_radio_on_pdp_fail_regular_deactivation_bool";
     field public static final java.lang.String KEY_RTT_SUPPORTED_BOOL = "rtt_supported_bool";
     field public static final java.lang.String KEY_SHOW_APN_SETTING_CDMA_BOOL = "show_apn_setting_cdma_bool";
+    field public static final java.lang.String KEY_SHOW_CALL_BLOCKING_DISABLED_NOTIFICATION_ALWAYS_BOOL = "show_call_blocking_disabled_notification_always_bool";
     field public static final java.lang.String KEY_SHOW_CDMA_CHOICES_BOOL = "show_cdma_choices_bool";
     field public static final java.lang.String KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL = "show_iccid_in_sim_status_bool";
     field public static final java.lang.String KEY_SHOW_ONSCREEN_DIAL_BUTTON_BOOL = "show_onscreen_dial_button_bool";
@@ -42274,6 +42565,13 @@
     field public static final int STATUS_UNKNOWN = 0; // 0x0
   }
 
+  public class MbmsGroupCallSession implements java.lang.AutoCloseable {
+    method public void close();
+    method public static android.telephony.MbmsGroupCallSession create(android.content.Context, java.util.concurrent.Executor, int, android.telephony.mbms.MbmsGroupCallSessionCallback);
+    method public static android.telephony.MbmsGroupCallSession create(android.content.Context, java.util.concurrent.Executor, android.telephony.mbms.MbmsGroupCallSessionCallback);
+    method public android.telephony.mbms.GroupCall startGroupCall(java.util.concurrent.Executor, long, int[], int[], android.telephony.mbms.GroupCallCallback);
+  }
+
   public class MbmsStreamingSession implements java.lang.AutoCloseable {
     method public void close();
     method public static android.telephony.MbmsStreamingSession create(android.content.Context, java.util.concurrent.Executor, int, android.telephony.mbms.MbmsStreamingSessionCallback);
@@ -42282,7 +42580,7 @@
     method public android.telephony.mbms.StreamingService startStreaming(android.telephony.mbms.StreamingServiceInfo, java.util.concurrent.Executor, android.telephony.mbms.StreamingServiceCallback);
   }
 
-  public class NeighboringCellInfo implements android.os.Parcelable {
+  public deprecated class NeighboringCellInfo implements android.os.Parcelable {
     ctor public deprecated NeighboringCellInfo();
     ctor public deprecated NeighboringCellInfo(int, int);
     ctor public NeighboringCellInfo(int, java.lang.String, int);
@@ -42652,9 +42950,12 @@
     method public static int getDefaultSubscriptionId();
     method public static int getDefaultVoiceSubscriptionId();
     method public java.util.List<android.telephony.SubscriptionInfo> getOpportunisticSubscriptions(int);
+    method public static int getSlotIndex(int);
     method public static int[] getSubscriptionIds(int);
     method public java.util.List<android.telephony.SubscriptionPlan> getSubscriptionPlans(int);
+    method public boolean isActiveSubscriptionId(int);
     method public boolean isNetworkRoaming(int);
+    method public static boolean isValidSubscriptionId(int);
     method public void removeOnOpportunisticSubscriptionsChangedListener(android.telephony.SubscriptionManager.OnOpportunisticSubscriptionsChangedListener);
     method public void removeOnSubscriptionsChangedListener(android.telephony.SubscriptionManager.OnSubscriptionsChangedListener);
     method public void setSubscriptionOverrideCongested(int, boolean, long);
@@ -42668,7 +42969,9 @@
     field public static final int DATA_ROAMING_DISABLE = 0; // 0x0
     field public static final int DATA_ROAMING_ENABLE = 1; // 0x1
     field public static final java.lang.String EXTRA_SUBSCRIPTION_INDEX = "android.telephony.extra.SUBSCRIPTION_INDEX";
+    field public static final int INVALID_SIM_SLOT_INDEX = -2; // 0xfffffffe
     field public static final int INVALID_SUBSCRIPTION_ID = -1; // 0xffffffff
+    field public static final int SIM_NOT_INSERTED = -3; // 0xfffffffd
   }
 
   public static class SubscriptionManager.OnOpportunisticSubscriptionsChangedListener {
@@ -42738,7 +43041,6 @@
     method public java.lang.String getMmsUAProfUrl();
     method public java.lang.String getMmsUserAgent();
     method public java.lang.String getNai();
-    method public deprecated java.util.List<android.telephony.NeighboringCellInfo> getNeighboringCellInfo();
     method public java.lang.String getNetworkCountryIso();
     method public java.lang.String getNetworkOperator();
     method public java.lang.String getNetworkOperatorName();
@@ -42803,6 +43105,7 @@
     field public static final java.lang.String ACTION_RESPOND_VIA_MESSAGE = "android.intent.action.RESPOND_VIA_MESSAGE";
     field public static final java.lang.String ACTION_SECRET_CODE = "android.telephony.action.SECRET_CODE";
     field public static final java.lang.String ACTION_SHOW_VOICEMAIL_NOTIFICATION = "android.telephony.action.SHOW_VOICEMAIL_NOTIFICATION";
+    field public static final java.lang.String ACTION_SMS_APP_SERVICE = "android.telephony.action.SMS_APP_SERVICE";
     field public static final java.lang.String ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED = "android.telephony.action.SUBSCRIPTION_CARRIER_IDENTITY_CHANGED";
     field public static final int APPTYPE_CSIM = 4; // 0x4
     field public static final int APPTYPE_ISIM = 5; // 0x5
@@ -43219,6 +43522,29 @@
     field public static final android.os.Parcelable.Creator<android.telephony.mbms.FileServiceInfo> CREATOR;
   }
 
+  public class GroupCall implements java.lang.AutoCloseable {
+    method public void close();
+    method public long getTmgi();
+    method public void updateGroupCall(int[], int[]);
+    field public static final int REASON_BY_USER_REQUEST = 1; // 0x1
+    field public static final int REASON_FREQUENCY_CONFLICT = 3; // 0x3
+    field public static final int REASON_LEFT_MBMS_BROADCAST_AREA = 6; // 0x6
+    field public static final int REASON_NONE = 0; // 0x0
+    field public static final int REASON_NOT_CONNECTED_TO_HOMECARRIER_LTE = 5; // 0x5
+    field public static final int REASON_OUT_OF_MEMORY = 4; // 0x4
+    field public static final int STATE_STALLED = 3; // 0x3
+    field public static final int STATE_STARTED = 2; // 0x2
+    field public static final int STATE_STOPPED = 1; // 0x1
+  }
+
+  public class GroupCallCallback {
+    ctor public GroupCallCallback();
+    method public void onBroadcastSignalStrengthUpdated(int);
+    method public void onError(int, java.lang.String);
+    method public void onGroupCallStateChanged(int, int);
+    field public static final int SIGNAL_STRENGTH_UNAVAILABLE = -1; // 0xffffffff
+  }
+
   public class MbmsDownloadReceiver extends android.content.BroadcastReceiver {
     ctor public MbmsDownloadReceiver();
     method public void onReceive(android.content.Context, android.content.Intent);
@@ -43267,6 +43593,14 @@
     field public static final int ERROR_UNABLE_TO_START_SERVICE = 302; // 0x12e
   }
 
+  public class MbmsGroupCallSessionCallback {
+    ctor public MbmsGroupCallSessionCallback();
+    method public void onAvailableSaisUpdated(java.util.List<java.lang.Integer>, java.util.List<java.util.List<java.lang.Integer>>);
+    method public void onError(int, java.lang.String);
+    method public void onMiddlewareReady();
+    method public void onServiceInterfaceAvailable(java.lang.String, int);
+  }
+
   public class MbmsStreamingSessionCallback {
     ctor public MbmsStreamingSessionCallback();
     method public void onError(int, java.lang.String);
@@ -43901,6 +44235,8 @@
     field public float density;
     field public int[] drawableState;
     field public int linkColor;
+    field public int underlineColor;
+    field public float underlineThickness;
   }
 
   public class TextUtils {
@@ -44715,11 +45051,20 @@
     ctor public TextAppearanceSpan(android.os.Parcel);
     method public int describeContents();
     method public java.lang.String getFamily();
+    method public java.lang.String getFontFeatureSettings();
+    method public java.lang.String getFontVariationSettings();
     method public android.content.res.ColorStateList getLinkTextColor();
+    method public int getShadowColor();
+    method public float getShadowDx();
+    method public float getShadowDy();
+    method public float getShadowRadius();
     method public int getSpanTypeId();
     method public android.content.res.ColorStateList getTextColor();
+    method public int getTextFontWeight();
     method public int getTextSize();
     method public int getTextStyle();
+    method public android.graphics.Typeface getTypeface();
+    method public boolean isElegantTextHeight();
     method public void updateDrawState(android.text.TextPaint);
     method public void updateMeasureState(android.text.TextPaint);
     method public void writeToParcel(android.os.Parcel, int);
@@ -45362,6 +45707,7 @@
     method public java.util.Set<java.util.Map.Entry<K, V>> entrySet();
     method public V get(java.lang.Object);
     method public int indexOfKey(java.lang.Object);
+    method public int indexOfValue(java.lang.Object);
     method public boolean isEmpty();
     method public K keyAt(int);
     method public java.util.Set<K> keySet();
@@ -45382,6 +45728,7 @@
     ctor public ArraySet();
     ctor public ArraySet(int);
     ctor public ArraySet(android.util.ArraySet<E>);
+    ctor public ArraySet(java.util.Collection<? extends E>);
     method public boolean add(E);
     method public void addAll(android.util.ArraySet<? extends E>);
     method public boolean addAll(java.util.Collection<? extends E>);
@@ -45953,6 +46300,7 @@
     method public int keyAt(int);
     method public void put(int, boolean);
     method public void removeAt(int);
+    method public void setValueAt(int, boolean);
     method public int size();
     method public boolean valueAt(int);
   }
@@ -45971,6 +46319,7 @@
     method public int keyAt(int);
     method public void put(int, int);
     method public void removeAt(int);
+    method public void setValueAt(int, int);
     method public int size();
     method public int valueAt(int);
   }
@@ -49547,6 +49896,7 @@
     method public deprecated java.util.List<android.content.pm.ServiceInfo> getAccessibilityServiceList();
     method public java.util.List<android.accessibilityservice.AccessibilityServiceInfo> getEnabledAccessibilityServiceList(int);
     method public java.util.List<android.accessibilityservice.AccessibilityServiceInfo> getInstalledAccessibilityServiceList();
+    method public int getMinimumUiTimeoutMillis();
     method public void interrupt();
     method public static boolean isAccessibilityButtonSupported();
     method public boolean isEnabled();
@@ -49630,6 +49980,7 @@
     method public boolean isScrollable();
     method public boolean isSelected();
     method public boolean isShowingHintText();
+    method public boolean isTextEntryKey();
     method public boolean isVisibleToUser();
     method public static android.view.accessibility.AccessibilityNodeInfo obtain(android.view.View);
     method public static android.view.accessibility.AccessibilityNodeInfo obtain(android.view.View, int);
@@ -49691,6 +50042,7 @@
     method public void setSource(android.view.View);
     method public void setSource(android.view.View, int);
     method public void setText(java.lang.CharSequence);
+    method public void setTextEntryKey(boolean);
     method public void setTextSelection(int, int);
     method public void setTooltipText(java.lang.CharSequence);
     method public void setTraversalAfter(android.view.View);
@@ -51102,7 +51454,7 @@
   }
 
   public abstract class CookieManager {
-    ctor public CookieManager();
+    ctor public deprecated CookieManager();
     method public abstract boolean acceptCookie();
     method public abstract boolean acceptThirdPartyCookies(android.webkit.WebView);
     method public static boolean allowFileSchemeCookies();
@@ -51202,13 +51554,13 @@
   }
 
   public abstract class RenderProcessGoneDetail {
-    ctor public RenderProcessGoneDetail();
+    ctor public deprecated RenderProcessGoneDetail();
     method public abstract boolean didCrash();
     method public abstract int rendererPriorityAtExit();
   }
 
   public abstract class SafeBrowsingResponse {
-    ctor public SafeBrowsingResponse();
+    ctor public deprecated SafeBrowsingResponse();
     method public abstract void backToSafety(boolean);
     method public abstract void proceed(boolean);
     method public abstract void showInterstitial(boolean);
@@ -51220,7 +51572,7 @@
   }
 
   public abstract class ServiceWorkerController {
-    ctor public ServiceWorkerController();
+    ctor public deprecated ServiceWorkerController();
     method public static android.webkit.ServiceWorkerController getInstance();
     method public abstract android.webkit.ServiceWorkerWebSettings getServiceWorkerWebSettings();
     method public abstract void setServiceWorkerClient(android.webkit.ServiceWorkerClient);
@@ -51269,7 +51621,7 @@
   }
 
   public abstract class TracingController {
-    ctor public TracingController();
+    ctor public deprecated TracingController();
     method public static android.webkit.TracingController getInstance();
     method public abstract boolean isTracing();
     method public abstract void start(android.webkit.TracingConfig);
@@ -51809,7 +52161,7 @@
   }
 
   public abstract class WebViewDatabase {
-    ctor public WebViewDatabase();
+    ctor public deprecated WebViewDatabase();
     method public abstract deprecated void clearFormData();
     method public abstract void clearHttpAuthUsernamePassword();
     method public abstract deprecated void clearUsernamePassword();
@@ -53089,7 +53441,7 @@
   }
 
   public final class Magnifier {
-    ctor public Magnifier(android.view.View);
+    ctor public deprecated Magnifier(android.view.View);
     method public void dismiss();
     method public float getCornerRadius();
     method public int getDefaultHorizontalSourceToMagnifierOffset();
@@ -54917,6 +55269,7 @@
   public final class DelegateLastClassLoader extends dalvik.system.PathClassLoader {
     ctor public DelegateLastClassLoader(java.lang.String, java.lang.ClassLoader);
     ctor public DelegateLastClassLoader(java.lang.String, java.lang.String, java.lang.ClassLoader);
+    ctor public DelegateLastClassLoader(java.lang.String, java.lang.String, java.lang.ClassLoader, boolean);
   }
 
   public class DexClassLoader extends dalvik.system.BaseDexClassLoader {
diff --git a/api/removed.txt b/api/removed.txt
index b6dabcd..f7106d2 100644
--- a/api/removed.txt
+++ b/api/removed.txt
@@ -545,6 +545,7 @@
   }
 
   public class TelephonyManager {
+    method public deprecated java.util.List<android.telephony.NeighboringCellInfo> getNeighboringCellInfo();
     method public deprecated android.telephony.NetworkScan requestNetworkScan(android.telephony.NetworkScanRequest, android.telephony.TelephonyScanManager.NetworkScanCallback);
   }
 
diff --git a/api/system-current.txt b/api/system-current.txt
index 65e34f7..5785e4a 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -91,6 +91,7 @@
     field public static final java.lang.String KILL_UID = "android.permission.KILL_UID";
     field public static final java.lang.String LOCAL_MAC_ADDRESS = "android.permission.LOCAL_MAC_ADDRESS";
     field public static final java.lang.String LOCATION_HARDWARE = "android.permission.LOCATION_HARDWARE";
+    field public static final java.lang.String LOCK_DEVICE = "android.permission.LOCK_DEVICE";
     field public static final java.lang.String LOOP_RADIO = "android.permission.LOOP_RADIO";
     field public static final java.lang.String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS";
     field public static final java.lang.String MANAGE_APP_OPS_RESTRICTIONS = "android.permission.MANAGE_APP_OPS_RESTRICTIONS";
@@ -155,6 +156,7 @@
     field public static final java.lang.String REGISTER_CONNECTION_MANAGER = "android.permission.REGISTER_CONNECTION_MANAGER";
     field public static final java.lang.String REGISTER_SIM_SUBSCRIPTION = "android.permission.REGISTER_SIM_SUBSCRIPTION";
     field public static final java.lang.String REMOVE_DRM_CERTIFICATES = "android.permission.REMOVE_DRM_CERTIFICATES";
+    field public static final java.lang.String RESET_PASSWORD = "android.permission.RESET_PASSWORD";
     field public static final java.lang.String RESTRICTED_VR_ACCESS = "android.permission.RESTRICTED_VR_ACCESS";
     field public static final java.lang.String RETRIEVE_WINDOW_CONTENT = "android.permission.RETRIEVE_WINDOW_CONTENT";
     field public static final java.lang.String REVOKE_RUNTIME_PERMISSIONS = "android.permission.REVOKE_RUNTIME_PERMISSIONS";
@@ -217,6 +219,14 @@
     field public static final int config_sendPackageName = 17891328; // 0x1110000
   }
 
+  public static final class R.dimen {
+    field public static final int config_restricted_icon_size = 17104903; // 0x1050007
+  }
+
+  public static final class R.drawable {
+    field public static final int ic_info = 17301684; // 0x10800b4
+  }
+
   public static final class R.raw {
     field public static final int loaderror = 17825792; // 0x1100000
     field public static final int nodomain = 17825793; // 0x1100001
@@ -940,6 +950,7 @@
     field public static final java.lang.String HDMI_CONTROL_SERVICE = "hdmi_control";
     field public static final java.lang.String NETWORK_SCORE_SERVICE = "network_score";
     field public static final java.lang.String OEM_LOCK_SERVICE = "oem_lock";
+    field public static final java.lang.String PERMISSION_SERVICE = "permission";
     field public static final java.lang.String PERSISTENT_DATA_BLOCK_SERVICE = "persistent_data_block";
     field public static final java.lang.String SECURE_ELEMENT_SERVICE = "secure_element";
     field public static final java.lang.String STATS_MANAGER = "stats";
@@ -1108,6 +1119,7 @@
   public class PackageItemInfo {
     method public deprecated java.lang.CharSequence loadSafeLabel(android.content.pm.PackageManager);
     method public java.lang.CharSequence loadSafeLabel(android.content.pm.PackageManager, float, int);
+    method public static void setForceSafeLabels(boolean);
     field public static final int SAFE_LABEL_FLAG_FIRST_LINE = 4; // 0x4
     field public static final int SAFE_LABEL_FLAG_SINGLE_LINE = 2; // 0x2
     field public static final int SAFE_LABEL_FLAG_TRIM = 1; // 0x1
@@ -1115,6 +1127,7 @@
 
   public abstract class PackageManager {
     method public abstract void addOnPermissionsChangeListener(android.content.pm.PackageManager.OnPermissionsChangedListener);
+    method public abstract boolean arePermissionsIndividuallyControlled();
     method public abstract java.util.List<android.content.IntentFilter> getAllIntentFilters(java.lang.String);
     method public android.content.pm.dex.ArtManager getArtManager();
     method public abstract java.lang.String getDefaultBrowserPackageNameAsUser(int);
@@ -3806,6 +3819,14 @@
     field public static final java.lang.String ACTION_UPDATE_SMS_SHORT_CODES = "android.intent.action.UPDATE_SMS_SHORT_CODES";
   }
 
+  public class Environment {
+    method public static java.io.File getOdmDirectory();
+    method public static java.io.File getOemDirectory();
+    method public static java.io.File getProductDirectory();
+    method public static java.io.File getProductServicesDirectory();
+    method public static java.io.File getVendorDirectory();
+  }
+
   public class HidlSupport {
     method public static boolean deepEquals(java.lang.Object, java.lang.Object);
     method public static int deepHashCode(java.lang.Object);
@@ -4106,6 +4127,9 @@
     method public boolean isSystem();
     method public static int myUserId();
     method public static android.os.UserHandle of(int);
+    field public static final android.os.UserHandle ALL;
+    field public static final android.os.UserHandle CURRENT;
+    field public static final android.os.UserHandle SYSTEM;
     field public static final int USER_NULL = -10000; // 0xffffd8f0
   }
 
@@ -4169,6 +4193,20 @@
 
 }
 
+package android.permission {
+
+  public final class PermissionManager {
+    method public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions();
+  }
+
+  public static final class PermissionManager.SplitPermissionInfo {
+    method public java.lang.String[] getNewPermissions();
+    method public java.lang.String getRootPermission();
+    method public int getTargetSdk();
+  }
+
+}
+
 package android.permissionpresenterservice {
 
   public abstract class RuntimePermissionPresenterService extends android.app.Service {
@@ -4176,6 +4214,7 @@
     method public final void attachBaseContext(android.content.Context);
     method public final android.os.IBinder onBind(android.content.Intent);
     method public abstract java.util.List<android.content.pm.permission.RuntimePermissionPresentationInfo> onGetAppPermissions(java.lang.String);
+    method public abstract void onRevokeRuntimePermission(java.lang.String, java.lang.String);
     field public static final java.lang.String SERVICE_INTERFACE = "android.permissionpresenterservice.RuntimePermissionPresenterService";
   }
 
@@ -4281,6 +4320,13 @@
     field public static final java.lang.String STATE = "state";
   }
 
+  public static final class ContactsContract.RawContacts implements android.provider.BaseColumns android.provider.ContactsContract.ContactNameColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.RawContactsColumns android.provider.ContactsContract.SyncColumns {
+    field public static final android.net.Uri RAW_CONTACTS_NOTIFICATION_DELETE_URI;
+    field public static final android.net.Uri RAW_CONTACTS_NOTIFICATION_INSERT_URI;
+    field public static final android.net.Uri RAW_CONTACTS_NOTIFICATION_UPDATE_URI;
+    field public static final android.net.Uri RAW_CONTACTS_NOTIFICATION_URI;
+  }
+
   public abstract class SearchIndexableData {
     ctor public SearchIndexableData();
     ctor public SearchIndexableData(android.content.Context);
@@ -5199,6 +5245,7 @@
     method public deprecated android.content.ComponentName getDefaultPhoneApp();
     method public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsForPackage();
     method public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsSupportingScheme(java.lang.String);
+    method public boolean isInEmergencyCall();
     method public boolean isRinging();
     method public boolean isTtySupported();
     field public static final java.lang.String EXTRA_CALL_BACK_INTENT = "android.telecom.extra.CALL_BACK_INTENT";
@@ -5225,6 +5272,10 @@
     field public static final java.lang.String MBMS_DOWNLOAD_SERVICE_ACTION = "android.telephony.action.EmbmsDownload";
   }
 
+  public class MbmsGroupCallSession implements java.lang.AutoCloseable {
+    field public static final java.lang.String MBMS_GROUP_CALL_SERVICE_ACTION = "android.telephony.action.EmbmsGroupCall";
+  }
+
   public class MbmsStreamingSession implements java.lang.AutoCloseable {
     field public static final java.lang.String MBMS_STREAMING_SERVICE_ACTION = "android.telephony.action.EmbmsStreaming";
   }
@@ -5381,7 +5432,6 @@
   }
 
   public class TelephonyManager {
-    method public deprecated void answerRingingCall();
     method public deprecated void call(java.lang.String, java.lang.String);
     method public int checkCarrierPrivilegesForPackage(java.lang.String);
     method public int checkCarrierPrivilegesForPackageAnyPhone(java.lang.String);
@@ -5389,7 +5439,7 @@
     method public boolean disableDataConnectivity();
     method public boolean enableDataConnectivity();
     method public void enableVideoCalling(boolean);
-    method public deprecated boolean endCall();
+    method public java.lang.String getAidForAppType(int);
     method public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers(int);
     method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent);
     method public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int);
@@ -5404,6 +5454,8 @@
     method public deprecated boolean getDataEnabled();
     method public deprecated boolean getDataEnabled(int);
     method public boolean getEmergencyCallbackMode();
+    method public java.lang.String getIsimDomain();
+    method public int getPreferredNetworkType(int);
     method public int getSimApplicationState();
     method public int getSimCardState();
     method public java.util.List<android.telephony.TelephonyHistogram> getTelephonyHistograms();
@@ -5413,10 +5465,7 @@
     method public boolean handlePinMmi(java.lang.String);
     method public boolean handlePinMmiForSubscriber(int, java.lang.String);
     method public boolean isDataConnectivityPossible();
-    method public deprecated boolean isIdle();
-    method public deprecated boolean isOffhook();
     method public deprecated boolean isRadioOn();
-    method public deprecated boolean isRinging();
     method public boolean isVideoCallingEnabled();
     method public deprecated boolean isVisualVoicemailEnabled(android.telecom.PhoneAccountHandle);
     method public boolean needsOtaServiceProvisioning();
@@ -5430,7 +5479,6 @@
     method public void setSimPowerStateForSlot(int, int);
     method public deprecated void setVisualVoicemailEnabled(android.telecom.PhoneAccountHandle, boolean);
     method public void setVoiceActivationState(int);
-    method public deprecated void silenceRinger();
     method public boolean supplyPin(java.lang.String);
     method public int[] supplyPinReportResult(java.lang.String);
     method public boolean supplyPuk(java.lang.String, java.lang.String);
@@ -5448,6 +5496,29 @@
     field public static final java.lang.String EXTRA_SIM_STATE = "android.telephony.extra.SIM_STATE";
     field public static final java.lang.String EXTRA_VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL = "android.telephony.extra.VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL";
     field public static final java.lang.String EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING = "android.telephony.extra.VOICEMAIL_SCRAMBLED_PIN_STRING";
+    field public static final int NETWORK_MODE_CDMA_EVDO = 4; // 0x4
+    field public static final int NETWORK_MODE_CDMA_NO_EVDO = 5; // 0x5
+    field public static final int NETWORK_MODE_EVDO_NO_CDMA = 6; // 0x6
+    field public static final int NETWORK_MODE_GLOBAL = 7; // 0x7
+    field public static final int NETWORK_MODE_GSM_ONLY = 1; // 0x1
+    field public static final int NETWORK_MODE_GSM_UMTS = 3; // 0x3
+    field public static final int NETWORK_MODE_LTE_CDMA_EVDO = 8; // 0x8
+    field public static final int NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA = 10; // 0xa
+    field public static final int NETWORK_MODE_LTE_GSM_WCDMA = 9; // 0x9
+    field public static final int NETWORK_MODE_LTE_ONLY = 11; // 0xb
+    field public static final int NETWORK_MODE_LTE_TDSCDMA = 15; // 0xf
+    field public static final int NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 22; // 0x16
+    field public static final int NETWORK_MODE_LTE_TDSCDMA_GSM = 17; // 0x11
+    field public static final int NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA = 20; // 0x14
+    field public static final int NETWORK_MODE_LTE_TDSCDMA_WCDMA = 19; // 0x13
+    field public static final int NETWORK_MODE_LTE_WCDMA = 12; // 0xc
+    field public static final int NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 21; // 0x15
+    field public static final int NETWORK_MODE_TDSCDMA_GSM = 16; // 0x10
+    field public static final int NETWORK_MODE_TDSCDMA_GSM_WCDMA = 18; // 0x12
+    field public static final int NETWORK_MODE_TDSCDMA_ONLY = 13; // 0xd
+    field public static final int NETWORK_MODE_TDSCDMA_WCDMA = 14; // 0xe
+    field public static final int NETWORK_MODE_WCDMA_ONLY = 2; // 0x2
+    field public static final int NETWORK_MODE_WCDMA_PREF = 0; // 0x0
     field public static final int SIM_ACTIVATION_STATE_ACTIVATED = 2; // 0x2
     field public static final int SIM_ACTIVATION_STATE_ACTIVATING = 1; // 0x1
     field public static final int SIM_ACTIVATION_STATE_DEACTIVATED = 3; // 0x3
@@ -5783,6 +5854,7 @@
     field public static final java.lang.String EXTRA_CODEC = "Codec";
     field public static final java.lang.String EXTRA_DIALSTRING = "dialstring";
     field public static final java.lang.String EXTRA_DISPLAY_TEXT = "DisplayText";
+    field public static final java.lang.String EXTRA_E_CALL = "e_call";
     field public static final java.lang.String EXTRA_IS_CALL_PULL = "CallPull";
     field public static final java.lang.String EXTRA_OI = "oi";
     field public static final java.lang.String EXTRA_OIR = "oir";
@@ -6527,6 +6599,17 @@
     method public int setTempFileRootDirectory(int, java.lang.String) throws android.os.RemoteException;
   }
 
+  public class MbmsGroupCallServiceBase extends android.app.Service {
+    ctor public MbmsGroupCallServiceBase();
+    method public void dispose(int) throws android.os.RemoteException;
+    method public int initialize(android.telephony.mbms.MbmsGroupCallSessionCallback, int) throws android.os.RemoteException;
+    method public void onAppCallbackDied(int, int);
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public int startGroupCall(int, long, int[], int[], android.telephony.mbms.GroupCallCallback);
+    method public void stopGroupCall(int, long);
+    method public void updateGroupCall(int, long, int[], int[]);
+  }
+
   public class MbmsStreamingServiceBase extends android.os.Binder {
     ctor public MbmsStreamingServiceBase();
     method public void dispose(int) throws android.os.RemoteException;
@@ -6571,6 +6654,10 @@
 
 package android.view {
 
+  public abstract class Window {
+    method public void addPrivateFlags(int);
+  }
+
   public abstract interface WindowManager implements android.view.ViewManager {
     method public abstract android.graphics.Region getCurrentImeTouchRegion();
   }
@@ -6578,6 +6665,7 @@
   public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable {
     method public final long getUserActivityTimeout();
     method public final void setUserActivityTimeout(long);
+    field public static final int PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS = 524288; // 0x80000
   }
 
 }
@@ -6784,7 +6872,6 @@
     method public static android.content.pm.PackageInfo getLoadedPackageInfo();
     method public static int loadWebViewNativeLibraryFromPackage(java.lang.String, java.lang.ClassLoader);
     method public static void prepareWebViewInZygote();
-    field public static final java.lang.String CHROMIUM_WEBVIEW_VMSIZE_SIZE_PROPERTY = "persist.sys.webview.vmsize";
     field public static final int LIBLOAD_ADDRESS_SPACE_NOT_RESERVED = 2; // 0x2
     field public static final int LIBLOAD_FAILED_JNI_CALL = 7; // 0x7
     field public static final int LIBLOAD_FAILED_LISTING_WEBVIEW_PACKAGES = 4; // 0x4
diff --git a/api/system-removed.txt b/api/system-removed.txt
index b88c760..2246562 100644
--- a/api/system-removed.txt
+++ b/api/system-removed.txt
@@ -143,3 +143,16 @@
 
 }
 
+package android.telephony {
+
+  public class TelephonyManager {
+    method public deprecated void answerRingingCall();
+    method public deprecated boolean endCall();
+    method public deprecated boolean isIdle();
+    method public deprecated boolean isOffhook();
+    method public deprecated boolean isRinging();
+    method public deprecated void silenceRinger();
+  }
+
+}
+
diff --git a/api/test-current.txt b/api/test-current.txt
index 0f89dfd..9567616 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -259,6 +259,7 @@
   }
 
   public abstract class Context {
+    method public android.content.Context createPackageContextAsUser(java.lang.String, int, android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
     method public abstract java.lang.String getOpPackageName();
     method public android.os.UserHandle getUser();
     method public int getUserId();
@@ -765,6 +766,8 @@
     method public static int getAppId(int);
     method public int getIdentifier();
     method public static boolean isApp(int);
+    field public static final android.os.UserHandle ALL;
+    field public static final android.os.UserHandle CURRENT;
     field public static final android.os.UserHandle SYSTEM;
   }
 
@@ -929,6 +932,13 @@
     field public static final android.net.Uri ENTERPRISE_CONTENT_URI;
   }
 
+  public static final class ContactsContract.RawContacts implements android.provider.BaseColumns android.provider.ContactsContract.ContactNameColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.RawContactsColumns android.provider.ContactsContract.SyncColumns {
+    field public static final android.net.Uri RAW_CONTACTS_NOTIFICATION_DELETE_URI;
+    field public static final android.net.Uri RAW_CONTACTS_NOTIFICATION_INSERT_URI;
+    field public static final android.net.Uri RAW_CONTACTS_NOTIFICATION_UPDATE_URI;
+    field public static final android.net.Uri RAW_CONTACTS_NOTIFICATION_URI;
+  }
+
   public static final class ContactsContract.RawContactsEntity implements android.provider.BaseColumns android.provider.ContactsContract.DataColumns android.provider.ContactsContract.RawContactsColumns {
     field public static final android.net.Uri CORP_CONTENT_URI;
   }
@@ -1178,6 +1188,10 @@
     field public static final java.lang.String MBMS_DOWNLOAD_SERVICE_OVERRIDE_METADATA = "mbms-download-service-override";
   }
 
+  public class MbmsGroupCallSession implements java.lang.AutoCloseable {
+    field public static final java.lang.String MBMS_GROUP_CALL_SERVICE_OVERRIDE_METADATA = "mbms-group-call-service-override";
+  }
+
   public class MbmsStreamingSession implements java.lang.AutoCloseable {
     field public static final java.lang.String MBMS_STREAMING_SERVICE_OVERRIDE_METADATA = "mbms-streaming-service-override";
   }
@@ -1247,6 +1261,17 @@
     method public int setTempFileRootDirectory(int, java.lang.String) throws android.os.RemoteException;
   }
 
+  public class MbmsGroupCallServiceBase extends android.app.Service {
+    ctor public MbmsGroupCallServiceBase();
+    method public void dispose(int) throws android.os.RemoteException;
+    method public int initialize(android.telephony.mbms.MbmsGroupCallSessionCallback, int) throws android.os.RemoteException;
+    method public void onAppCallbackDied(int, int);
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public int startGroupCall(int, long, int[], int[], android.telephony.mbms.GroupCallCallback);
+    method public void stopGroupCall(int, long);
+    method public void updateGroupCall(int, long, int[], int[]);
+  }
+
   public class MbmsStreamingServiceBase extends android.os.Binder {
     ctor public MbmsStreamingServiceBase();
     method public void dispose(int) throws android.os.RemoteException;
@@ -1336,30 +1361,47 @@
     method public void writeRawZigZag64(long);
   }
 
-  public final class ProtoOutputStream {
+  public final class ProtoInputStream extends android.util.proto.ProtoStream {
+    ctor public ProtoInputStream(java.io.InputStream, int);
+    ctor public ProtoInputStream(java.io.InputStream);
+    ctor public ProtoInputStream(byte[]);
+    method public int decodeZigZag32(int);
+    method public long decodeZigZag64(long);
+    method public java.lang.String dumpDebugData();
+    method public void end(long);
+    method public int getFieldNumber();
+    method public int getOffset();
+    method public int getWireType();
+    method public boolean isNextField(long) throws java.io.IOException;
+    method public int nextField() throws java.io.IOException;
+    method public boolean readBoolean(long) throws java.io.IOException;
+    method public byte[] readBytes(long) throws java.io.IOException;
+    method public double readDouble(long) throws java.io.IOException;
+    method public float readFloat(long) throws java.io.IOException;
+    method public int readInt(long) throws java.io.IOException;
+    method public long readLong(long) throws java.io.IOException;
+    method public java.lang.String readString(long) throws java.io.IOException;
+    method public void skip() throws java.io.IOException;
+    method public long start(long) throws java.io.IOException;
+    field public static final int NO_MORE_FIELDS = -1; // 0xffffffff
+  }
+
+  public final class ProtoOutputStream extends android.util.proto.ProtoStream {
     ctor public ProtoOutputStream();
     ctor public ProtoOutputStream(int);
     ctor public ProtoOutputStream(java.io.OutputStream);
     ctor public ProtoOutputStream(java.io.FileDescriptor);
     method public static int checkFieldId(long, long);
-    method public static int convertObjectIdToOrdinal(int);
     method public void dump(java.lang.String);
     method public void end(long);
     method public deprecated void endObject(long);
     method public deprecated void endRepeatedObject(long);
     method public void flush();
     method public byte[] getBytes();
-    method public static int getDepthFromToken(long);
-    method public static int getObjectIdFromToken(long);
-    method public static boolean getRepeatedFromToken(long);
-    method public static int getSizePosFromToken(long);
-    method public static int getTagSizeFromToken(long);
     method public static long makeFieldId(int, long);
-    method public static long makeToken(int, boolean, int, int, int);
     method public long start(long);
     method public deprecated long startObject(long);
     method public deprecated long startRepeatedObject(long);
-    method public static java.lang.String token2String(long);
     method public void write(long, double);
     method public void write(long, float);
     method public void write(long, int);
@@ -1416,6 +1458,27 @@
     method public void writeTag(int, int);
     method public deprecated void writeUInt32(long, int);
     method public deprecated void writeUInt64(long, long);
+  }
+
+  public class ProtoParseException extends java.lang.RuntimeException {
+    ctor public ProtoParseException(java.lang.String);
+  }
+
+  public abstract class ProtoStream {
+    ctor public ProtoStream();
+    method public static int convertObjectIdToOrdinal(int);
+    method public static int getDepthFromToken(long);
+    method public static java.lang.String getFieldCountString(long);
+    method public static java.lang.String getFieldIdString(long);
+    method public static java.lang.String getFieldTypeString(long);
+    method public static int getObjectIdFromToken(long);
+    method public static int getOffsetFromToken(long);
+    method public static boolean getRepeatedFromToken(long);
+    method public static int getTagSizeFromToken(long);
+    method public static java.lang.String getWireTypeString(int);
+    method public static long makeFieldId(int, long);
+    method public static long makeToken(int, boolean, int, int, int);
+    method public static java.lang.String token2String(long);
     field public static final long FIELD_COUNT_MASK = 16492674416640L; // 0xf0000000000L
     field public static final long FIELD_COUNT_PACKED = 5497558138880L; // 0x50000000000L
     field public static final long FIELD_COUNT_REPEATED = 2199023255552L; // 0x20000000000L
@@ -1435,6 +1498,7 @@
     field public static final long FIELD_TYPE_INT64 = 12884901888L; // 0x300000000L
     field public static final long FIELD_TYPE_MASK = 1095216660480L; // 0xff00000000L
     field public static final long FIELD_TYPE_MESSAGE = 47244640256L; // 0xb00000000L
+    field protected static final java.lang.String[] FIELD_TYPE_NAMES;
     field public static final long FIELD_TYPE_SFIXED32 = 64424509440L; // 0xf00000000L
     field public static final long FIELD_TYPE_SFIXED64 = 68719476736L; // 0x1000000000L
     field public static final int FIELD_TYPE_SHIFT = 32; // 0x20
@@ -1444,7 +1508,6 @@
     field public static final long FIELD_TYPE_UINT32 = 55834574848L; // 0xd00000000L
     field public static final long FIELD_TYPE_UINT64 = 17179869184L; // 0x400000000L
     field public static final long FIELD_TYPE_UNKNOWN = 0L; // 0x0L
-    field public static final java.lang.String TAG = "ProtoOutputStream";
     field public static final int WIRE_TYPE_END_GROUP = 4; // 0x4
     field public static final int WIRE_TYPE_FIXED32 = 5; // 0x5
     field public static final int WIRE_TYPE_FIXED64 = 1; // 0x1
@@ -1454,8 +1517,8 @@
     field public static final int WIRE_TYPE_VARINT = 0; // 0x0
   }
 
-  public class ProtoParseException extends java.lang.RuntimeException {
-    ctor public ProtoParseException(java.lang.String);
+  public class WireTypeMismatchException extends android.util.proto.ProtoParseException {
+    ctor public WireTypeMismatchException(java.lang.String);
   }
 
 }
diff --git a/cmds/content/src/com/android/commands/content/Content.java b/cmds/content/src/com/android/commands/content/Content.java
index 36e51b9..12fb4a3 100644
--- a/cmds/content/src/com/android/commands/content/Content.java
+++ b/cmds/content/src/com/android/commands/content/Content.java
@@ -470,7 +470,8 @@
                     onExecute(provider);
                 } finally {
                     if (provider != null) {
-                        activityManager.removeContentProviderExternal(providerName, token);
+                        activityManager.removeContentProviderExternalAsUser(
+                                providerName, token, mUserId);
                     }
                 }
             } catch (Exception e) {
diff --git a/cmds/incidentd/src/Section.cpp b/cmds/incidentd/src/Section.cpp
index 87799b3..cd48af9 100644
--- a/cmds/incidentd/src/Section.cpp
+++ b/cmds/incidentd/src/Section.cpp
@@ -407,7 +407,19 @@
 
 WorkerThreadSection::~WorkerThreadSection() {}
 
+void sigpipe_handler(int signum) {
+    if (signum == SIGPIPE) {
+        ALOGE("Wrote to a broken pipe\n");
+    } else {
+        ALOGE("Received unexpected signal: %d\n", signum);
+    }
+}
+
 static void* worker_thread_func(void* cookie) {
+    // Don't crash the service if we write to a closed pipe (which can happen if
+    // dumping times out).
+    signal(SIGPIPE, sigpipe_handler);
+
     WorkerThreadData* data = (WorkerThreadData*)cookie;
     status_t err = data->section->BlockingCall(data->pipe.writeFd().get());
 
@@ -486,6 +498,7 @@
             }
         }
     }
+
     write_section_stats(requests->sectionStats(this->id), buffer);
     if (timedOut || buffer.timedOut()) {
         ALOGW("[%s] timed out", this->name.string());
@@ -773,7 +786,10 @@
         }
     }
     gLastLogsRetrieved[mLogID] = lastTimestamp;
-    proto.flush(pipeWriteFd);
+    if (!proto.flush(pipeWriteFd) && errno == EPIPE) {
+        ALOGE("[%s] wrote to a broken pipe\n", this->name.string());
+        return EPIPE;
+    }
     return NO_ERROR;
 }
 
@@ -875,7 +891,7 @@
             break;
         }
         if (cStatus != NO_ERROR) {
-            ALOGE("TombstoneSection '%s' child had an issue: %s\n", this->name.string(), strerror(-cStatus));
+            ALOGE("[%s] child had an issue: %s\n", this->name.string(), strerror(-cStatus));
         }
 
         auto dump = std::make_unique<char[]>(buffer.size());
@@ -894,7 +910,13 @@
         dumpPipe.readFd().reset();
     }
 
-    proto.flush(pipeWriteFd);
+    if (!proto.flush(pipeWriteFd) && errno == EPIPE) {
+        ALOGE("[%s] wrote to a broken pipe\n", this->name.string());
+        if (err != NO_ERROR) {
+            return EPIPE;
+        }
+    }
+
     return err;
 }
 
diff --git a/cmds/incidentd/src/Section.h b/cmds/incidentd/src/Section.h
index 302b4ef..86d956f 100644
--- a/cmds/incidentd/src/Section.h
+++ b/cmds/incidentd/src/Section.h
@@ -171,7 +171,7 @@
  */
 class TombstoneSection : public WorkerThreadSection {
 public:
-    TombstoneSection(int id, const char* type, int64_t timeoutMs = 30000 /* 30 seconds */);
+    TombstoneSection(int id, const char* type, int64_t timeoutMs = 120000 /* 2 minutes */);
     virtual ~TombstoneSection();
 
     virtual status_t BlockingCall(int pipeWriteFd) const;
diff --git a/cmds/screencap/screencap.cpp b/cmds/screencap/screencap.cpp
index b11e843..d334f96 100644
--- a/cmds/screencap/screencap.cpp
+++ b/cmds/screencap/screencap.cpp
@@ -198,8 +198,7 @@
 
     sp<GraphicBuffer> outBuffer;
     status_t result = ScreenshotClient::capture(display, Rect(), 0 /* reqWidth */,
-            0 /* reqHeight */, INT32_MIN, INT32_MAX, /* all layers */ false, captureOrientation,
-            &outBuffer);
+            0 /* reqHeight */, false, captureOrientation, &outBuffer);
     if (result != NO_ERROR) {
         close(fd);
         return 1;
@@ -207,7 +206,14 @@
 
     result = outBuffer->lock(GraphicBuffer::USAGE_SW_READ_OFTEN, &base);
 
-    if (base == NULL) {
+    if (base == nullptr || result != NO_ERROR) {
+        String8 reason;
+        if (base == nullptr) {
+            reason = "Failed to write to buffer";
+        } else {
+            reason.appendFormat("Error Code: %d", result);
+        }
+        fprintf(stderr, "Failed to take screenshot (%s)\n", reason.c_str());
         close(fd);
         return 1;
     }
diff --git a/cmds/statsd/Android.bp b/cmds/statsd/Android.bp
index 3fae586..94203f4f 100644
--- a/cmds/statsd/Android.bp
+++ b/cmds/statsd/Android.bp
@@ -46,6 +46,7 @@
 // ====  java proto device library (for test only)  ==============================
 java_library {
     name: "statsdprotolite",
+    no_framework_libs: true,
     proto: {
         type: "lite",
         include_dirs: ["external/protobuf/src"],
diff --git a/cmds/statsd/Android.mk b/cmds/statsd/Android.mk
index 5e87ef6..f6b0db8 100644
--- a/cmds/statsd/Android.mk
+++ b/cmds/statsd/Android.mk
@@ -67,7 +67,9 @@
     src/subscriber/SubscriberReporter.cpp \
     src/HashableDimensionKey.cpp \
     src/guardrail/StatsdStats.cpp \
-    src/socket/StatsSocketListener.cpp
+    src/socket/StatsSocketListener.cpp \
+    src/shell/ShellSubscriber.cpp \
+    src/shell/shell_config.proto
 
 # TODO(b/110563449): Once statsd is using a blueprint file, migrate to the proper filegroups.
 statsd_common_src += \
@@ -97,6 +99,7 @@
     libhidlbase \
     libhidltransport \
     libhwbinder \
+    android.frameworks.stats@1.0 \
     android.hardware.health@2.0 \
     android.hardware.power@1.0 \
     android.hardware.power@1.1 \
@@ -144,10 +147,10 @@
 LOCAL_MODULE_CLASS := EXECUTABLES
 
 # Enable sanitizer ONLY on eng builds.
-ifeq ($(TARGET_BUILD_VARIANT),eng)
-    LOCAL_CLANG := true
-    LOCAL_SANITIZE := address
-endif
+#ifeq ($(TARGET_BUILD_VARIANT),eng)
+#    LOCAL_CLANG := true
+#    LOCAL_SANITIZE := address
+#endif
 
 # Add a flag to enable stats log printing from statsd on debug builds.
 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
@@ -225,7 +228,8 @@
     tests/e2e/Anomaly_count_e2e_test.cpp \
     tests/e2e/Anomaly_duration_sum_e2e_test.cpp \
     tests/e2e/ConfigTtl_e2e_test.cpp \
-    tests/e2e/PartialBucket_e2e_test.cpp
+    tests/e2e/PartialBucket_e2e_test.cpp \
+    tests/shell/ShellSubscriber_test.cpp
 
 LOCAL_STATIC_LIBRARIES := \
     $(statsd_common_static_libraries) \
diff --git a/cmds/statsd/src/FieldValue.cpp b/cmds/statsd/src/FieldValue.cpp
index 7b6d29b..fc1a61c 100644
--- a/cmds/statsd/src/FieldValue.cpp
+++ b/cmds/statsd/src/FieldValue.cpp
@@ -147,6 +147,9 @@
         case STRING:
             str_value = from.str_value;
             break;
+        case STORAGE:
+            storage_value = from.storage_value;
+            break;
         default:
             break;
     }
@@ -164,6 +167,8 @@
             return std::to_string(double_value) + "[D]";
         case STRING:
             return str_value + "[S]";
+        case STORAGE:
+            return "bytes of size " + std::to_string(storage_value.size()) + "[ST]";
         default:
             return "[UNKNOWN]";
     }
@@ -183,6 +188,8 @@
             return double_value == that.double_value;
         case STRING:
             return str_value == that.str_value;
+        case STORAGE:
+            return storage_value == that.storage_value;
         default:
             return false;
     }
@@ -201,6 +208,8 @@
             return double_value != that.double_value;
         case STRING:
             return str_value != that.str_value;
+        case STORAGE:
+            return storage_value != that.storage_value;
         default:
             return false;
     }
@@ -220,6 +229,8 @@
             return double_value < that.double_value;
         case STRING:
             return str_value < that.str_value;
+        case STORAGE:
+            return storage_value < that.storage_value;
         default:
             return false;
     }
@@ -239,6 +250,8 @@
             return double_value > that.double_value;
         case STRING:
             return str_value > that.str_value;
+        case STORAGE:
+            return storage_value > that.storage_value;
         default:
             return false;
     }
@@ -258,6 +271,8 @@
             return double_value >= that.double_value;
         case STRING:
             return str_value >= that.str_value;
+        case STORAGE:
+            return storage_value >= that.storage_value;
         default:
             return false;
     }
@@ -274,6 +289,11 @@
         return v;
     }
 
+    if (type == STORAGE) {
+        ALOGE("Can't operate on storage value type");
+        return v;
+    }
+
     switch (type) {
         case INT:
             v.setInt(int_value - that.int_value);
@@ -311,6 +331,9 @@
         case STRING:
             str_value = that.str_value;
             break;
+        case STORAGE:
+            storage_value = that.storage_value;
+            break;
         default:
             break;
     }
@@ -326,6 +349,10 @@
         ALOGE("Can't operate on string value type");
         return *this;
     }
+    if (type == STORAGE) {
+        ALOGE("Can't operate on storage value type");
+        return *this;
+    }
 
     switch (type) {
         case INT:
diff --git a/cmds/statsd/src/FieldValue.h b/cmds/statsd/src/FieldValue.h
index b1b885e..77163f9 100644
--- a/cmds/statsd/src/FieldValue.h
+++ b/cmds/statsd/src/FieldValue.h
@@ -32,7 +32,7 @@
 const int32_t kClearLastBitDeco = 0x7f;
 const int32_t kClearAllPositionMatcherMask = 0xffff00ff;
 
-enum Type { UNKNOWN, INT, LONG, FLOAT, DOUBLE, STRING };
+enum Type { UNKNOWN, INT, LONG, FLOAT, DOUBLE, STRING, STORAGE };
 
 int32_t getEncodedField(int32_t pos[], int32_t depth, bool includeDepth);
 
@@ -293,6 +293,11 @@
         type = STRING;
     }
 
+    Value(const std::vector<uint8_t>& v) {
+        storage_value = v;
+        type = STORAGE;
+    }
+
     void setInt(int32_t v) {
         int_value = v;
         type = INT;
@@ -320,6 +325,7 @@
         double double_value;
     };
     std::string str_value;
+    std::vector<uint8_t> storage_value;
 
     Type type;
 
diff --git a/cmds/statsd/src/StatsLogProcessor.cpp b/cmds/statsd/src/StatsLogProcessor.cpp
index 8e02f9c..f4c70be 100644
--- a/cmds/statsd/src/StatsLogProcessor.cpp
+++ b/cmds/statsd/src/StatsLogProcessor.cpp
@@ -257,12 +257,18 @@
     return it->second->byteSize();
 }
 
-void StatsLogProcessor::dumpStates(FILE* out, bool verbose) {
+void StatsLogProcessor::dumpStates(int out, bool verbose) {
     std::lock_guard<std::mutex> lock(mMetricsMutex);
-    fprintf(out, "MetricsManager count: %lu\n", (unsigned long)mMetricsManagers.size());
-    for (auto metricsManager : mMetricsManagers) {
-        metricsManager.second->dumpStates(out, verbose);
+    FILE* fout = fdopen(out, "w");
+    if (fout == NULL) {
+        return;
     }
+    fprintf(fout, "MetricsManager count: %lu\n", (unsigned long)mMetricsManagers.size());
+    for (auto metricsManager : mMetricsManagers) {
+        metricsManager.second->dumpStates(fout, verbose);
+    }
+
+    fclose(fout);
 }
 
 /*
diff --git a/cmds/statsd/src/StatsLogProcessor.h b/cmds/statsd/src/StatsLogProcessor.h
index df80b8e..4091d95 100644
--- a/cmds/statsd/src/StatsLogProcessor.h
+++ b/cmds/statsd/src/StatsLogProcessor.h
@@ -83,7 +83,7 @@
         return mUidMap;
     }
 
-    void dumpStates(FILE* out, bool verbose);
+    void dumpStates(int outFd, bool verbose);
 
     void informPullAlarmFired(const int64_t timestampNs);
 
diff --git a/cmds/statsd/src/StatsService.cpp b/cmds/statsd/src/StatsService.cpp
index 9a79345..8da2d44 100644
--- a/cmds/statsd/src/StatsService.cpp
+++ b/cmds/statsd/src/StatsService.cpp
@@ -34,13 +34,14 @@
 #include <dirent.h>
 #include <frameworks/base/cmds/statsd/src/statsd_config.pb.h>
 #include <private/android_filesystem_config.h>
-#include <utils/Looper.h>
-#include <utils/String16.h>
 #include <statslog.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <sys/system_properties.h>
 #include <unistd.h>
+#include <utils/Looper.h>
+#include <utils/String16.h>
+#include <chrono>
 
 using namespace android;
 
@@ -214,30 +215,8 @@
             sp<IResultReceiver> resultReceiver =
                     IResultReceiver::asInterface(data.readStrongBinder());
 
-            FILE* fin = fdopen(in, "r");
-            FILE* fout = fdopen(out, "w");
-            FILE* ferr = fdopen(err, "w");
-
-            if (fin == NULL || fout == NULL || ferr == NULL) {
-                resultReceiver->send(NO_MEMORY);
-            } else {
-                err = command(fin, fout, ferr, args);
-                resultReceiver->send(err);
-            }
-
-            if (fin != NULL) {
-                fflush(fin);
-                fclose(fin);
-            }
-            if (fout != NULL) {
-                fflush(fout);
-                fclose(fout);
-            }
-            if (fout != NULL) {
-                fflush(ferr);
-                fclose(ferr);
-            }
-
+            err = command(in, out, err, args, resultReceiver);
+            resultReceiver->send(err);
             return NO_ERROR;
         }
         default: { return BnStatsManager::onTransact(code, data, reply, flags); }
@@ -251,10 +230,6 @@
     if (!checkCallingPermission(String16(kPermissionDump))) {
         return PERMISSION_DENIED;
     }
-    FILE* out = fdopen(fd, "w");
-    if (out == NULL) {
-        return NO_MEMORY;  // the fd is already open
-    }
 
     bool verbose = false;
     bool proto = false;
@@ -265,21 +240,20 @@
         proto = true;
     }
 
-    dump_impl(out, verbose, proto);
+    dump_impl(fd, verbose, proto);
 
-    fclose(out);
     return NO_ERROR;
 }
 
 /**
  * Write debugging data about statsd in text or proto format.
  */
-void StatsService::dump_impl(FILE* out, bool verbose, bool proto) {
+void StatsService::dump_impl(int out, bool verbose, bool proto) {
     if (proto) {
         vector<uint8_t> data;
         StatsdStats::getInstance().dumpStats(&data, false); // does not reset statsdStats.
         for (size_t i = 0; i < data.size(); i ++) {
-            fprintf(out, "%c", data[i]);
+            dprintf(out, "%c", data[i]);
         }
     } else {
         StatsdStats::getInstance().dumpStats(out);
@@ -290,7 +264,8 @@
 /**
  * Implementation of the adb shell cmd stats command.
  */
-status_t StatsService::command(FILE* in, FILE* out, FILE* err, Vector<String8>& args) {
+status_t StatsService::command(int in, int out, int err, Vector<String8>& args,
+                               sp<IResultReceiver> resultReceiver) {
     uid_t uid = IPCThreadState::self()->getCallingUid();
     if (uid != AID_ROOT && uid != AID_SHELL) {
         return PERMISSION_DENIED;
@@ -342,97 +317,106 @@
         if (!args[0].compare(String8("print-logs"))) {
             return cmd_print_logs(out, args);
         }
+        if (!args[0].compare(String8("data-subscribe"))) {
+            if (mShellSubscriber == nullptr) {
+                mShellSubscriber = new ShellSubscriber(mUidMap);
+            }
+            mShellSubscriber->startNewSubscription(in, out, resultReceiver);
+            return NO_ERROR;
+        }
     }
 
     print_cmd_help(out);
     return NO_ERROR;
 }
 
-void StatsService::print_cmd_help(FILE* out) {
-    fprintf(out,
+void StatsService::print_cmd_help(int out) {
+    dprintf(out,
             "usage: adb shell cmd stats print-stats-log [tag_required] "
             "[timestamp_nsec_optional]\n");
-    fprintf(out, "\n");
-    fprintf(out, "\n");
-    fprintf(out, "usage: adb shell cmd stats meminfo\n");
-    fprintf(out, "\n");
-    fprintf(out, "  Prints the malloc debug information. You need to run the following first: \n");
-    fprintf(out, "   # adb shell stop\n");
-    fprintf(out, "   # adb shell setprop libc.debug.malloc.program statsd \n");
-    fprintf(out, "   # adb shell setprop libc.debug.malloc.options backtrace \n");
-    fprintf(out, "   # adb shell start\n");
-    fprintf(out, "\n");
-    fprintf(out, "\n");
-    fprintf(out, "usage: adb shell cmd stats print-uid-map [PKG]\n");
-    fprintf(out, "\n");
-    fprintf(out, "  Prints the UID, app name, version mapping.\n");
-    fprintf(out, "  PKG           Optional package name to print the uids of the package\n");
-    fprintf(out, "\n");
-    fprintf(out, "\n");
-    fprintf(out, "usage: adb shell cmd stats pull-source [int] \n");
-    fprintf(out, "\n");
-    fprintf(out, "  Prints the output of a pulled metrics source (int indicates source)\n");
-    fprintf(out, "\n");
-    fprintf(out, "\n");
-    fprintf(out, "usage: adb shell cmd stats write-to-disk \n");
-    fprintf(out, "\n");
-    fprintf(out, "  Flushes all data on memory to disk.\n");
-    fprintf(out, "\n");
-    fprintf(out, "\n");
-    fprintf(out, "usage: adb shell cmd stats log-app-breadcrumb [UID] LABEL STATE\n");
-    fprintf(out, "  Writes an AppBreadcrumbReported event to the statslog buffer.\n");
-    fprintf(out, "  UID           The uid to use. It is only possible to pass a UID\n");
-    fprintf(out, "                parameter on eng builds. If UID is omitted the calling\n");
-    fprintf(out, "                uid is used.\n");
-    fprintf(out, "  LABEL         Integer in [0, 15], as per atoms.proto.\n");
-    fprintf(out, "  STATE         Integer in [0, 3], as per atoms.proto.\n");
-    fprintf(out, "\n");
-    fprintf(out, "\n");
-    fprintf(out, "usage: adb shell cmd stats config remove [UID] [NAME]\n");
-    fprintf(out, "usage: adb shell cmd stats config update [UID] NAME\n");
-    fprintf(out, "\n");
-    fprintf(out, "  Adds, updates or removes a configuration. The proto should be in\n");
-    fprintf(out, "  wire-encoded protobuf format and passed via stdin. If no UID and name is\n");
-    fprintf(out, "  provided, then all configs will be removed from memory and disk.\n");
-    fprintf(out, "\n");
-    fprintf(out, "  UID           The uid to use. It is only possible to pass the UID\n");
-    fprintf(out, "                parameter on eng builds. If UID is omitted the calling\n");
-    fprintf(out, "                uid is used.\n");
-    fprintf(out, "  NAME          The per-uid name to use\n");
-    fprintf(out, "\n");
-    fprintf(out, "\n              *Note: If both UID and NAME are omitted then all configs will\n");
-    fprintf(out, "\n                     be removed from memory and disk!\n");
-    fprintf(out, "\n");
-    fprintf(out, "usage: adb shell cmd stats dump-report [UID] NAME [--include_current_bucket] [--proto]\n");
-    fprintf(out, "  Dump all metric data for a configuration.\n");
-    fprintf(out, "  UID           The uid of the configuration. It is only possible to pass\n");
-    fprintf(out, "                the UID parameter on eng builds. If UID is omitted the\n");
-    fprintf(out, "                calling uid is used.\n");
-    fprintf(out, "  NAME          The name of the configuration\n");
-    fprintf(out, "  --proto       Print proto binary.\n");
-    fprintf(out, "\n");
-    fprintf(out, "\n");
-    fprintf(out, "usage: adb shell cmd stats send-broadcast [UID] NAME\n");
-    fprintf(out, "  Send a broadcast that triggers the subscriber to fetch metrics.\n");
-    fprintf(out, "  UID           The uid of the configuration. It is only possible to pass\n");
-    fprintf(out, "                the UID parameter on eng builds. If UID is omitted the\n");
-    fprintf(out, "                calling uid is used.\n");
-    fprintf(out, "  NAME          The name of the configuration\n");
-    fprintf(out, "\n");
-    fprintf(out, "\n");
-    fprintf(out, "usage: adb shell cmd stats print-stats\n");
-    fprintf(out, "  Prints some basic stats.\n");
-    fprintf(out, "  --proto       Print proto binary instead of string format.\n");
-    fprintf(out, "\n");
-    fprintf(out, "\n");
-    fprintf(out, "usage: adb shell cmd stats clear-puller-cache\n");
-    fprintf(out, "  Clear cached puller data.\n");
-    fprintf(out, "\n");
-    fprintf(out, "usage: adb shell cmd stats print-logs\n");
-    fprintf(out, "      Only works on eng build\n");
+    dprintf(out, "\n");
+    dprintf(out, "\n");
+    dprintf(out, "usage: adb shell cmd stats meminfo\n");
+    dprintf(out, "\n");
+    dprintf(out, "  Prints the malloc debug information. You need to run the following first: \n");
+    dprintf(out, "   # adb shell stop\n");
+    dprintf(out, "   # adb shell setprop libc.debug.malloc.program statsd \n");
+    dprintf(out, "   # adb shell setprop libc.debug.malloc.options backtrace \n");
+    dprintf(out, "   # adb shell start\n");
+    dprintf(out, "\n");
+    dprintf(out, "\n");
+    dprintf(out, "usage: adb shell cmd stats print-uid-map [PKG]\n");
+    dprintf(out, "\n");
+    dprintf(out, "  Prints the UID, app name, version mapping.\n");
+    dprintf(out, "  PKG           Optional package name to print the uids of the package\n");
+    dprintf(out, "\n");
+    dprintf(out, "\n");
+    dprintf(out, "usage: adb shell cmd stats pull-source [int] \n");
+    dprintf(out, "\n");
+    dprintf(out, "  Prints the output of a pulled metrics source (int indicates source)\n");
+    dprintf(out, "\n");
+    dprintf(out, "\n");
+    dprintf(out, "usage: adb shell cmd stats write-to-disk \n");
+    dprintf(out, "\n");
+    dprintf(out, "  Flushes all data on memory to disk.\n");
+    dprintf(out, "\n");
+    dprintf(out, "\n");
+    dprintf(out, "usage: adb shell cmd stats log-app-breadcrumb [UID] LABEL STATE\n");
+    dprintf(out, "  Writes an AppBreadcrumbReported event to the statslog buffer.\n");
+    dprintf(out, "  UID           The uid to use. It is only possible to pass a UID\n");
+    dprintf(out, "                parameter on eng builds. If UID is omitted the calling\n");
+    dprintf(out, "                uid is used.\n");
+    dprintf(out, "  LABEL         Integer in [0, 15], as per atoms.proto.\n");
+    dprintf(out, "  STATE         Integer in [0, 3], as per atoms.proto.\n");
+    dprintf(out, "\n");
+    dprintf(out, "\n");
+    dprintf(out, "usage: adb shell cmd stats config remove [UID] [NAME]\n");
+    dprintf(out, "usage: adb shell cmd stats config update [UID] NAME\n");
+    dprintf(out, "\n");
+    dprintf(out, "  Adds, updates or removes a configuration. The proto should be in\n");
+    dprintf(out, "  wire-encoded protobuf format and passed via stdin. If no UID and name is\n");
+    dprintf(out, "  provided, then all configs will be removed from memory and disk.\n");
+    dprintf(out, "\n");
+    dprintf(out, "  UID           The uid to use. It is only possible to pass the UID\n");
+    dprintf(out, "                parameter on eng builds. If UID is omitted the calling\n");
+    dprintf(out, "                uid is used.\n");
+    dprintf(out, "  NAME          The per-uid name to use\n");
+    dprintf(out, "\n");
+    dprintf(out, "\n              *Note: If both UID and NAME are omitted then all configs will\n");
+    dprintf(out, "\n                     be removed from memory and disk!\n");
+    dprintf(out, "\n");
+    dprintf(out,
+            "usage: adb shell cmd stats dump-report [UID] NAME [--include_current_bucket] "
+            "[--proto]\n");
+    dprintf(out, "  Dump all metric data for a configuration.\n");
+    dprintf(out, "  UID           The uid of the configuration. It is only possible to pass\n");
+    dprintf(out, "                the UID parameter on eng builds. If UID is omitted the\n");
+    dprintf(out, "                calling uid is used.\n");
+    dprintf(out, "  NAME          The name of the configuration\n");
+    dprintf(out, "  --proto       Print proto binary.\n");
+    dprintf(out, "\n");
+    dprintf(out, "\n");
+    dprintf(out, "usage: adb shell cmd stats send-broadcast [UID] NAME\n");
+    dprintf(out, "  Send a broadcast that triggers the subscriber to fetch metrics.\n");
+    dprintf(out, "  UID           The uid of the configuration. It is only possible to pass\n");
+    dprintf(out, "                the UID parameter on eng builds. If UID is omitted the\n");
+    dprintf(out, "                calling uid is used.\n");
+    dprintf(out, "  NAME          The name of the configuration\n");
+    dprintf(out, "\n");
+    dprintf(out, "\n");
+    dprintf(out, "usage: adb shell cmd stats print-stats\n");
+    dprintf(out, "  Prints some basic stats.\n");
+    dprintf(out, "  --proto       Print proto binary instead of string format.\n");
+    dprintf(out, "\n");
+    dprintf(out, "\n");
+    dprintf(out, "usage: adb shell cmd stats clear-puller-cache\n");
+    dprintf(out, "  Clear cached puller data.\n");
+    dprintf(out, "\n");
+    dprintf(out, "usage: adb shell cmd stats print-logs\n");
+    dprintf(out, "      Only works on eng build\n");
 }
 
-status_t StatsService::cmd_trigger_broadcast(FILE* out, Vector<String8>& args) {
+status_t StatsService::cmd_trigger_broadcast(int out, Vector<String8>& args) {
     string name;
     bool good = false;
     int uid;
@@ -456,9 +440,9 @@
                 }
             }
         } else {
-            fprintf(out,
+            dprintf(out,
                     "The metrics can only be dumped for other UIDs on eng or userdebug "
-                            "builds.\n");
+                    "builds.\n");
         }
     }
     if (!good) {
@@ -481,7 +465,7 @@
     return NO_ERROR;
 }
 
-status_t StatsService::cmd_config(FILE* in, FILE* out, FILE* err, Vector<String8>& args) {
+status_t StatsService::cmd_config(int in, int out, int err, Vector<String8>& args) {
     const int argCount = args.size();
     if (argCount >= 2) {
         if (args[1] == "update" || args[1] == "remove") {
@@ -508,7 +492,7 @@
                         }
                     }
                 } else {
-                    fprintf(err,
+                    dprintf(err,
                             "The config can only be set for other UIDs on eng or userdebug "
                             "builds.\n");
                 }
@@ -526,21 +510,21 @@
                 char* endp;
                 int64_t configID = strtoll(name.c_str(), &endp, 10);
                 if (endp == name.c_str() || *endp != '\0') {
-                    fprintf(err, "Error parsing config ID.\n");
+                    dprintf(err, "Error parsing config ID.\n");
                     return UNKNOWN_ERROR;
                 }
 
                 // Read stream into buffer.
                 string buffer;
-                if (!android::base::ReadFdToString(fileno(in), &buffer)) {
-                    fprintf(err, "Error reading stream for StatsConfig.\n");
+                if (!android::base::ReadFdToString(in, &buffer)) {
+                    dprintf(err, "Error reading stream for StatsConfig.\n");
                     return UNKNOWN_ERROR;
                 }
 
                 // Parse buffer.
                 StatsdConfig config;
                 if (!config.ParseFromString(buffer)) {
-                    fprintf(err, "Error parsing proto stream for StatsConfig.\n");
+                    dprintf(err, "Error parsing proto stream for StatsConfig.\n");
                     return UNKNOWN_ERROR;
                 }
 
@@ -562,7 +546,7 @@
     return UNKNOWN_ERROR;
 }
 
-status_t StatsService::cmd_dump_report(FILE* out, FILE* err, const Vector<String8>& args) {
+status_t StatsService::cmd_dump_report(int out, int err, const Vector<String8>& args) {
     if (mProcessor != nullptr) {
         int argCount = args.size();
         bool good = false;
@@ -597,7 +581,7 @@
                     }
                 }
             } else {
-                fprintf(out,
+                dprintf(out,
                         "The metrics can only be dumped for other UIDs on eng or userdebug "
                         "builds.\n");
             }
@@ -608,11 +592,11 @@
                                      includeCurrentBucket, ADB_DUMP, &data);
             if (proto) {
                 for (size_t i = 0; i < data.size(); i ++) {
-                    fprintf(out, "%c", data[i]);
+                    dprintf(out, "%c", data[i]);
                 }
             } else {
-                fprintf(out, "Dump report for Config [%d,%s]\n", uid, name.c_str());
-                fprintf(out, "See the StatsLogReport in logcat...\n");
+                dprintf(out, "Dump report for Config [%d,%s]\n", uid, name.c_str());
+                dprintf(out, "See the StatsLogReport in logcat...\n");
             }
             return android::OK;
         } else {
@@ -621,12 +605,12 @@
             return UNKNOWN_ERROR;
         }
     } else {
-        fprintf(out, "Log processor does not exist...\n");
+        dprintf(out, "Log processor does not exist...\n");
         return UNKNOWN_ERROR;
     }
 }
 
-status_t StatsService::cmd_print_stats(FILE* out, const Vector<String8>& args) {
+status_t StatsService::cmd_print_stats(int out, const Vector<String8>& args) {
     int argCount = args.size();
     bool proto = false;
     if (!std::strcmp("--proto", args[argCount-1].c_str())) {
@@ -638,13 +622,13 @@
         vector<uint8_t> data;
         statsdStats.dumpStats(&data, false); // does not reset statsdStats.
         for (size_t i = 0; i < data.size(); i ++) {
-            fprintf(out, "%c", data[i]);
+            dprintf(out, "%c", data[i]);
         }
 
     } else {
         vector<ConfigKey> configs = mConfigManager->GetAllConfigKeys();
         for (const ConfigKey& key : configs) {
-            fprintf(out, "Config %s uses %zu bytes\n", key.ToString().c_str(),
+            dprintf(out, "Config %s uses %zu bytes\n", key.ToString().c_str(),
                     mProcessor->GetMetricsSize(key));
         }
         statsdStats.dumpStats(out);
@@ -652,29 +636,29 @@
     return NO_ERROR;
 }
 
-status_t StatsService::cmd_print_uid_map(FILE* out, const Vector<String8>& args) {
+status_t StatsService::cmd_print_uid_map(int out, const Vector<String8>& args) {
     if (args.size() > 1) {
         string pkg;
         pkg.assign(args[1].c_str(), args[1].size());
         auto uids = mUidMap->getAppUid(pkg);
-        fprintf(out, "%s -> [ ", pkg.c_str());
+        dprintf(out, "%s -> [ ", pkg.c_str());
         for (const auto& uid : uids) {
-            fprintf(out, "%d ", uid);
+            dprintf(out, "%d ", uid);
         }
-        fprintf(out, "]\n");
+        dprintf(out, "]\n");
     } else {
         mUidMap->printUidMap(out);
     }
     return NO_ERROR;
 }
 
-status_t StatsService::cmd_write_data_to_disk(FILE* out) {
-    fprintf(out, "Writing data to disk\n");
+status_t StatsService::cmd_write_data_to_disk(int out) {
+    dprintf(out, "Writing data to disk\n");
     mProcessor->WriteDataToDisk(ADB_DUMP);
     return NO_ERROR;
 }
 
-status_t StatsService::cmd_log_app_breadcrumb(FILE* out, const Vector<String8>& args) {
+status_t StatsService::cmd_log_app_breadcrumb(int out, const Vector<String8>& args) {
     bool good = false;
     int32_t uid;
     int32_t label;
@@ -695,13 +679,13 @@
             state = atoi(args[3].c_str());
             good = true;
         } else {
-            fprintf(out,
+            dprintf(out,
                     "Selecting a UID for writing AppBreadcrumb can only be done for other UIDs "
-                            "on eng or userdebug builds.\n");
+                    "on eng or userdebug builds.\n");
         }
     }
     if (good) {
-        fprintf(out, "Logging AppBreadcrumbReported(%d, %d, %d) to statslog.\n", uid, label, state);
+        dprintf(out, "Logging AppBreadcrumbReported(%d, %d, %d) to statslog.\n", uid, label, state);
         android::util::stats_write(android::util::APP_BREADCRUMB_REPORTED, uid, label, state);
     } else {
         print_cmd_help(out);
@@ -710,46 +694,46 @@
     return NO_ERROR;
 }
 
-status_t StatsService::cmd_print_pulled_metrics(FILE* out, const Vector<String8>& args) {
+status_t StatsService::cmd_print_pulled_metrics(int out, const Vector<String8>& args) {
     int s = atoi(args[1].c_str());
     vector<shared_ptr<LogEvent> > stats;
     if (mPullerManager->Pull(s, getElapsedRealtimeNs(), &stats)) {
         for (const auto& it : stats) {
-            fprintf(out, "Pull from %d: %s\n", s, it->ToString().c_str());
+            dprintf(out, "Pull from %d: %s\n", s, it->ToString().c_str());
         }
-        fprintf(out, "Pull from %d: Received %zu elements\n", s, stats.size());
+        dprintf(out, "Pull from %d: Received %zu elements\n", s, stats.size());
         return NO_ERROR;
     }
     return UNKNOWN_ERROR;
 }
 
-status_t StatsService::cmd_remove_all_configs(FILE* out) {
-    fprintf(out, "Removing all configs...\n");
+status_t StatsService::cmd_remove_all_configs(int out) {
+    dprintf(out, "Removing all configs...\n");
     VLOG("StatsService::cmd_remove_all_configs was called");
     mConfigManager->RemoveAllConfigs();
     StorageManager::deleteAllFiles(STATS_SERVICE_DIR);
     return NO_ERROR;
 }
 
-status_t StatsService::cmd_dump_memory_info(FILE* out) {
-    fprintf(out, "meminfo not available.\n");
+status_t StatsService::cmd_dump_memory_info(int out) {
+    dprintf(out, "meminfo not available.\n");
     return NO_ERROR;
 }
 
-status_t StatsService::cmd_clear_puller_cache(FILE* out) {
+status_t StatsService::cmd_clear_puller_cache(int out) {
     IPCThreadState* ipc = IPCThreadState::self();
     VLOG("StatsService::cmd_clear_puller_cache with Pid %i, Uid %i",
             ipc->getCallingPid(), ipc->getCallingUid());
     if (checkCallingPermission(String16(kPermissionDump))) {
         int cleared = mPullerManager->ForceClearPullerCache();
-        fprintf(out, "Puller removed %d cached data!\n", cleared);
+        dprintf(out, "Puller removed %d cached data!\n", cleared);
         return NO_ERROR;
     } else {
         return PERMISSION_DENIED;
     }
 }
 
-status_t StatsService::cmd_print_logs(FILE* out, const Vector<String8>& args) {
+status_t StatsService::cmd_print_logs(int out, const Vector<String8>& args) {
     IPCThreadState* ipc = IPCThreadState::self();
     VLOG("StatsService::cmd_print_logs with Pid %i, Uid %i", ipc->getCallingPid(),
          ipc->getCallingUid());
@@ -885,6 +869,9 @@
 
 void StatsService::OnLogEvent(LogEvent* event) {
     mProcessor->OnLogEvent(event);
+    if (mShellSubscriber != nullptr) {
+        mShellSubscriber->onLogEvent(*event);
+    }
 }
 
 Status StatsService::getData(int64_t key, const String16& packageName, vector<uint8_t>* output) {
@@ -1005,6 +992,60 @@
     return Status::ok();
 }
 
+hardware::Return<void> StatsService::reportSpeakerImpedance(
+        const SpeakerImpedance& speakerImpedance) {
+    LogEvent event(getWallClockSec() * NS_PER_SEC, getElapsedRealtimeNs(), speakerImpedance);
+    mProcessor->OnLogEvent(&event);
+
+    return hardware::Void();
+}
+
+hardware::Return<void> StatsService::reportHardwareFailed(const HardwareFailed& hardwareFailed) {
+    LogEvent event(getWallClockSec() * NS_PER_SEC, getElapsedRealtimeNs(), hardwareFailed);
+    mProcessor->OnLogEvent(&event);
+
+    return hardware::Void();
+}
+
+hardware::Return<void> StatsService::reportPhysicalDropDetected(
+        const PhysicalDropDetected& physicalDropDetected) {
+    LogEvent event(getWallClockSec() * NS_PER_SEC, getElapsedRealtimeNs(), physicalDropDetected);
+    mProcessor->OnLogEvent(&event);
+
+    return hardware::Void();
+}
+
+hardware::Return<void> StatsService::reportChargeCycles(const ChargeCycles& chargeCycles) {
+    LogEvent event(getWallClockSec() * NS_PER_SEC, getElapsedRealtimeNs(), chargeCycles);
+    mProcessor->OnLogEvent(&event);
+
+    return hardware::Void();
+}
+
+hardware::Return<void> StatsService::reportBatteryHealthSnapshot(
+        const BatteryHealthSnapshotArgs& batteryHealthSnapshotArgs) {
+    LogEvent event(getWallClockSec() * NS_PER_SEC, getElapsedRealtimeNs(),
+                   batteryHealthSnapshotArgs);
+    mProcessor->OnLogEvent(&event);
+
+    return hardware::Void();
+}
+
+hardware::Return<void> StatsService::reportSlowIo(const SlowIo& slowIo) {
+    LogEvent event(getWallClockSec() * NS_PER_SEC, getElapsedRealtimeNs(), slowIo);
+    mProcessor->OnLogEvent(&event);
+
+    return hardware::Void();
+}
+
+hardware::Return<void> StatsService::reportBatteryCausedShutdown(
+        const BatteryCausedShutdown& batteryCausedShutdown) {
+    LogEvent event(getWallClockSec() * NS_PER_SEC, getElapsedRealtimeNs(), batteryCausedShutdown);
+    mProcessor->OnLogEvent(&event);
+
+    return hardware::Void();
+}
+
 void StatsService::binderDied(const wp <IBinder>& who) {
     ALOGW("statscompanion service died");
     StatsdStats::getInstance().noteSystemServerRestart(getWallClockSec());
diff --git a/cmds/statsd/src/StatsService.h b/cmds/statsd/src/StatsService.h
index 613f509..1f1d782 100644
--- a/cmds/statsd/src/StatsService.h
+++ b/cmds/statsd/src/StatsService.h
@@ -24,8 +24,11 @@
 #include "external/StatsPullerManager.h"
 #include "logd/LogListener.h"
 #include "packages/UidMap.h"
+#include "shell/ShellSubscriber.h"
 #include "statscompanion_util.h"
 
+#include <android/frameworks/stats/1.0/IStats.h>
+#include <android/frameworks/stats/1.0/types.h>
 #include <android/os/BnStatsManager.h>
 #include <android/os/IStatsCompanionService.h>
 #include <binder/IResultReceiver.h>
@@ -37,6 +40,7 @@
 using namespace android;
 using namespace android::base;
 using namespace android::binder;
+using namespace android::frameworks::stats::V1_0;
 using namespace android::os;
 using namespace std;
 
@@ -44,7 +48,12 @@
 namespace os {
 namespace statsd {
 
-class StatsService : public BnStatsManager, public LogListener, public IBinder::DeathRecipient {
+using android::hardware::Return;
+
+class StatsService : public BnStatsManager,
+                     public LogListener,
+                     public IStats,
+                     public IBinder::DeathRecipient {
 public:
     StatsService(const sp<Looper>& handlerLooper);
     virtual ~StatsService();
@@ -54,7 +63,8 @@
 
     virtual status_t onTransact(uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags);
     virtual status_t dump(int fd, const Vector<String16>& args);
-    virtual status_t command(FILE* in, FILE* out, FILE* err, Vector<String8>& args);
+    virtual status_t command(int inFd, int outFd, int err, Vector<String8>& args,
+                             sp<IResultReceiver> resultReceiver);
 
     virtual Status systemRunning();
     virtual Status statsCompanionReady();
@@ -144,6 +154,44 @@
      */
     virtual Status sendAppBreadcrumbAtom(int32_t label, int32_t state) override;
 
+    /**
+     * Binder call to get SpeakerImpedance atom.
+     */
+    virtual Return<void> reportSpeakerImpedance(const SpeakerImpedance& speakerImpedance) override;
+
+    /**
+     * Binder call to get HardwareFailed atom.
+     */
+    virtual Return<void> reportHardwareFailed(const HardwareFailed& hardwareFailed) override;
+
+    /**
+     * Binder call to get PhysicalDropDetected atom.
+     */
+    virtual Return<void> reportPhysicalDropDetected(
+            const PhysicalDropDetected& physicalDropDetected) override;
+
+    /**
+     * Binder call to get ChargeCyclesReported atom.
+     */
+    virtual Return<void> reportChargeCycles(const ChargeCycles& chargeCycles) override;
+
+    /**
+     * Binder call to get BatteryHealthSnapshot atom.
+     */
+    virtual Return<void> reportBatteryHealthSnapshot(
+            const BatteryHealthSnapshotArgs& batteryHealthSnapshotArgs) override;
+
+    /**
+     * Binder call to get SlowIo atom.
+     */
+    virtual Return<void> reportSlowIo(const SlowIo& slowIo) override;
+
+    /**
+     * Binder call to get BatteryCausedShutdown atom.
+     */
+    virtual Return<void> reportBatteryCausedShutdown(
+            const BatteryCausedShutdown& batteryCausedShutdown) override;
+
     /** IBinder::DeathRecipient */
     virtual void binderDied(const wp<IBinder>& who) override;
 
@@ -162,73 +210,73 @@
     /**
      * Text or proto output of dumpsys.
      */
-    void dump_impl(FILE* out, bool verbose, bool proto);
+    void dump_impl(int outFd, bool verbose, bool proto);
 
     /**
      * Print usage information for the commands
      */
-    void print_cmd_help(FILE* out);
+    void print_cmd_help(int out);
 
     /**
      * Trigger a broadcast.
      */
-    status_t cmd_trigger_broadcast(FILE* out, Vector<String8>& args);
+    status_t cmd_trigger_broadcast(int outFd, Vector<String8>& args);
 
     /**
      * Handle the config sub-command.
      */
-    status_t cmd_config(FILE* in, FILE* out, FILE* err, Vector<String8>& args);
+    status_t cmd_config(int inFd, int outFd, int err, Vector<String8>& args);
 
     /**
      * Prints some basic stats to std out.
      */
-    status_t cmd_print_stats(FILE* out, const Vector<String8>& args);
+    status_t cmd_print_stats(int outFd, const Vector<String8>& args);
 
     /**
      * Print the event log.
      */
-    status_t cmd_dump_report(FILE* out, FILE* err, const Vector<String8>& args);
+    status_t cmd_dump_report(int outFd, int err, const Vector<String8>& args);
 
     /**
      * Print the mapping of uids to package names.
      */
-    status_t cmd_print_uid_map(FILE* out, const Vector<String8>& args);
+    status_t cmd_print_uid_map(int outFd, const Vector<String8>& args);
 
     /**
      * Flush the data to disk.
      */
-    status_t cmd_write_data_to_disk(FILE* out);
+    status_t cmd_write_data_to_disk(int outFd);
 
     /**
      * Write an AppBreadcrumbReported event to the StatsLog buffer, as if calling
      * StatsLog.write(APP_BREADCRUMB_REPORTED).
      */
-    status_t cmd_log_app_breadcrumb(FILE* out, const Vector<String8>& args);
+    status_t cmd_log_app_breadcrumb(int outFd, const Vector<String8>& args);
 
     /**
      * Print contents of a pulled metrics source.
      */
-    status_t cmd_print_pulled_metrics(FILE* out, const Vector<String8>& args);
+    status_t cmd_print_pulled_metrics(int outFd, const Vector<String8>& args);
 
     /**
      * Removes all configs stored on disk and on memory.
      */
-    status_t cmd_remove_all_configs(FILE* out);
+    status_t cmd_remove_all_configs(int outFd);
 
     /*
      * Dump memory usage by statsd.
      */
-    status_t cmd_dump_memory_info(FILE* out);
+    status_t cmd_dump_memory_info(int outFd);
 
     /*
      * Clear all puller cached data
      */
-    status_t cmd_clear_puller_cache(FILE* out);
+    status_t cmd_clear_puller_cache(int outFd);
 
     /**
      * Print all stats logs received to logcat.
      */
-    status_t cmd_print_logs(FILE* out, const Vector<String8>& args);
+    status_t cmd_print_logs(int outFd, const Vector<String8>& args);
 
     /**
      * Adds a configuration after checking permissions and obtaining UID from binder call.
@@ -275,6 +323,8 @@
      */
     bool mEngBuild;
 
+    sp<ShellSubscriber> mShellSubscriber;
+
     FRIEND_TEST(StatsServiceTest, TestAddConfig_simple);
     FRIEND_TEST(StatsServiceTest, TestAddConfig_empty);
     FRIEND_TEST(StatsServiceTest, TestAddConfig_invalid);
diff --git a/cmds/statsd/src/atoms.proto b/cmds/statsd/src/atoms.proto
index 8f3ad9d..988ffc4 100644
--- a/cmds/statsd/src/atoms.proto
+++ b/cmds/statsd/src/atoms.proto
@@ -30,6 +30,7 @@
 import "frameworks/base/core/proto/android/telephony/enums.proto";
 import "frameworks/base/core/proto/android/view/enums.proto";
 import "frameworks/base/proto/src/stats_enums.proto";
+import "frameworks/base/core/proto/android/service/procstats.proto";
 
 /**
  * The master atom class. This message defines all of the available
@@ -79,7 +80,8 @@
         BatteryLevelChanged battery_level_changed = 30;
         ChargingStateChanged charging_state_changed = 31;
         PluggedStateChanged plugged_state_changed = 32;
-        // 33 - 34 are available
+        InteractiveStateChanged interactive_state_changed = 33;
+        // 34 is available
         WakeupAlarmOccurred wakeup_alarm_occurred = 35;
         KernelWakeupReported kernel_wakeup_reported = 36;
         WifiLockStateChanged wifi_lock_state_changed = 37;
@@ -90,7 +92,7 @@
         ActivityForegroundStateChanged activity_foreground_state_changed = 42;
         IsolatedUidChanged isolated_uid_changed = 43;
         PacketWakeupOccurred packet_wakeup_occurred = 44;
-        // 45 is available
+        WallClockTimeShifted wall_clock_time_shifted = 45;
         AnomalyDetected anomaly_detected = 46;
         AppBreadcrumbReported app_breadcrumb_reported = 47;
         AppStartOccurred app_start_occurred = 48;
@@ -131,6 +133,14 @@
         KeyValuePairsAtom key_value_pairs_atom = 83;
         VibratorStateChanged vibrator_state_changed = 84;
         DeferredJobStatsReported deferred_job_stats_reported = 85;
+        ThermalThrottlingStateChanged thermal_throttling = 86;
+        FingerprintAcquired fingerprint_acquired = 87;
+        FingerprintAuthenticated fingerprint_authenticated = 88;
+        FingerprintErrorOccurred fingerprint_error_occurred = 89;
+        Notification notification = 90;
+        BatteryHealthSnapshot battery_health_snapshot = 91;
+        SlowIo slow_io = 92;
+        BatteryCausedShutdown battery_caused_shutdown = 93;
     }
 
     // Pulled events will start at field 10000.
@@ -165,10 +175,15 @@
         DirectoryUsage directory_usage = 10026;
         AppSize app_size = 10027;
         CategorySize category_size = 10028;
+        BatteryVoltage battery_voltage = 10030;
+        NumFingerprints num_fingerprints = 10031;
+        ProcStats proc_stats = 10029;
+        DiskIo disk_io = 10032;
     }
 
-    // DO NOT USE field numbers above 100,000 in AOSP. Field numbers above
-    // 100,000 are reserved for non-AOSP (e.g. OEMs) to use.
+    // DO NOT USE field numbers above 100,000 in AOSP.
+    // Field numbers 100,000 - 199,999 are reserved for non-AOSP (e.g. OEMs) to use.
+    // Field numbers 200,000 and above are reserved for future use; do not use them at all.
 }
 
 /**
@@ -189,9 +204,10 @@
 message KeyValuePair {
     optional int32 key = 1;
     oneof value {
-        int64 value_int = 2;
-        string value_str = 3;
-        float value_float = 4;
+        int32 value_int = 2;
+        int64 value_long = 3;
+        string value_str = 4;
+        float value_float = 5;
     }
 }
 
@@ -227,6 +243,26 @@
  */
 
 /**
+ * Logs when the Thermal service HAL notifies the throttling start/stop events.
+ *
+ * Logged from:
+ *   frameworks/base/services/core/java/com/android/server/stats/StatsCompanionService.java
+ */
+message ThermalThrottlingStateChanged {
+    optional android.os.TemperatureTypeEnum sensor_type = 1;
+
+    enum State {
+        UNKNOWN = 0;
+        START = 1;
+        STOP = 2;
+    }
+
+    optional State state = 2;
+
+    optional float temperature = 3;
+}
+
+/**
  * Logs when the screen state changes.
  *
  * Logged from:
@@ -408,9 +444,9 @@
  * Logs reporting of a ble scan finding results.
  *
  * Logged from:
- *   frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java
+ *   packages/apps/Bluetooth/src/com/android/bluetooth/gatt/AppScanStats.java
  */
-// TODO: Consider changing to tracking per-scanner-id (log from AppScanStats).
+// TODO: Consider also tracking per-scanner-id.
 message BleScanResultReceived {
     repeated AttributionNode attribution_node = 1;
 
@@ -635,6 +671,20 @@
 }
 
 /**
+ * Logs when the device is interactive, according to the PowerManager Notifier.
+ *
+ * Logged from:
+ *   frameworks/base/services/core/java/com/android/server/power/Notifier.java
+ */
+message InteractiveStateChanged {
+    enum State {
+        OFF = 0;
+        ON = 1;
+    }
+    optional State state = 1;
+}
+
+/**
  * Logs Battery Saver state change.
  *
  * Logged from:
@@ -724,6 +774,9 @@
 
     // Name of the wakeup alarm.
     optional string tag = 2;
+
+    // Name of source package (for historical reasons, since BatteryStats tracked it).
+    optional string package_name = 3;
 }
 
 /**
@@ -1264,6 +1317,68 @@
 }
 
 /**
+ * Log battery health snapshot.
+ *
+ * Resistance, Voltage, Open Circuit Voltage, Temperature, and Charge Level
+ * are snapshotted periodically over 24hrs.
+ */
+message BatteryHealthSnapshot {
+    enum BatterySnapshotType {
+        UNKNOWN = 0;
+        MIN_TEMP = 1;         // Snapshot at min batt temp over 24hrs.
+        MAX_TEMP = 2;         // Snapshot at max batt temp over 24hrs.
+        MIN_RESISTANCE = 3;   // Snapshot at min batt resistance over 24hrs.
+        MAX_RESISTANCE = 4;   // Snapshot at max batt resistance over 24hrs.
+        MIN_VOLTAGE = 5;      // Snapshot at min batt voltage over 24hrs.
+        MAX_VOLTAGE = 6;      // Snapshot at max batt voltage over 24hrs.
+        MIN_CURRENT = 7;      // Snapshot at min batt current over 24hrs.
+        MAX_CURRENT = 8;      // Snapshot at max batt current over 24hrs.
+        MIN_BATT_LEVEL = 9;   // Snapshot at min battery level (SoC) over 24hrs.
+        MAX_BATT_LEVEL = 10;  // Snapshot at max battery level (SoC) over 24hrs.
+        AVG_RESISTANCE = 11;  // Snapshot at average battery resistance over 24hrs.
+    }
+    optional BatterySnapshotType type = 1;
+    // Temperature, in 1/10ths of degree C.
+    optional int32 temperature_deci_celcius = 2;
+    // Voltage Battery Voltage, in microVolts.
+    optional int32 voltage_micro_volt = 3;
+    // Current Battery current, in microAmps.
+    optional int32 current_micro_amps = 4;
+    // OpenCircuitVoltage Battery Open Circuit Voltage, in microVolts.
+    optional int32 open_circuit_micro_volt = 5;
+    // Resistance Battery Resistance, in microOhms.
+    optional int32 resistance_micro_ohm = 6;
+    // Level Battery Level, as % of full.
+    optional int32 level_percent = 7;
+}
+
+/**
+ * Log slow I/O operations on the primary storage.
+ */
+message SlowIo {
+    // Classifications of IO Operations.
+    enum IoOperation {
+        UNKNOWN = 0;
+        READ = 1;
+        WRITE = 2;
+        UNMAP = 3;
+        SYNC = 4;
+    }
+    optional IoOperation operation = 1;
+
+    // The number of slow IO operations of this type over 24 hours.
+    optional int32 count = 2;
+}
+
+/**
+ * Log battery caused shutdown with the last recorded voltage.
+ */
+message BatteryCausedShutdown {
+    // The last recorded battery voltage prior to shutdown.
+    optional int32 last_recorded_micro_volt = 1;
+}
+
+/**
  * Logs the duration of a davey (jank of >=700ms) when it occurs
  *
  * Logged from:
@@ -1477,6 +1592,18 @@
 }
 
 /**
+ * Logs the wall-clock time when a significant wall-clock time shift occurs.
+ * For example, this could be due to the user manually changing the time.
+ *
+ * Logged from:
+ *   frameworks/base/services/core/java/com/android/server/AlarmManagerService.java
+ */
+message WallClockTimeShifted {
+    // New wall-clock time in milliseconds, according to System.currentTimeMillis().
+    optional int64 wall_clock_timestamp_millis = 1;
+}
+
+/**
  * Logs when statsd detects an anomaly.
  *
  * Logged from:
@@ -1796,6 +1923,123 @@
     optional android.os.statsd.EventType event_id = 2;
 }
 
+/**
+ * Logs when a fingerprint acquire event occurs.
+ *
+ * Logged from:
+ *   frameworks/base/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java
+ */
+message FingerprintAcquired {
+    // The associated user. Eg: 0 for owners, 10+ for others.
+    // Defined in android/os/UserHandle.java
+    optional int32 user = 1;
+    // If this acquire is for a crypto fingerprint.
+    // e.g. Secure purchases, unlock password storage.
+    optional bool is_crypto = 2;
+}
+
+/**
+ * Logs when a fingerprint authentication event occurs.
+ *
+ * Logged from:
+ *   frameworks/base/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java
+ */
+message FingerprintAuthenticated {
+    // The associated user. Eg: 0 for owners, 10+ for others.
+    // Defined in android/os/UserHandle.java
+    optional int32 user = 1;
+    // If this authentication is for a crypto fingerprint.
+    // e.g. Secure purchases, unlock password storage.
+    optional bool is_crypto = 2;
+    // Whether or not this authentication was successful.
+    optional bool is_authenticated = 3;
+}
+
+/**
+ * Logs when a fingerprint error occurs.
+ *
+ * Logged from:
+ *   frameworks/base/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java
+ */
+message FingerprintErrorOccurred {
+    // The associated user. Eg: 0 for owners, 10+ for others.
+    // Defined in android/os/UserHandle.java
+    optional int32 user = 1;
+    // If this error is for a crypto fingerprint.
+    // e.g. Secure purchases, unlock password storage.
+    optional bool is_crypto = 2;
+
+    enum Error {
+        UNKNOWN = 0;
+        LOCKOUT = 1;
+        PERMANENT_LOCKOUT = 2;
+    }
+    // The type of error.
+    optional Error error = 3;
+}
+
+message Notification {
+
+    // Type of notification event.
+    enum Type {
+        TYPE_UNKNOWN = 0;
+        // Notification became visible to the user.
+        TYPE_OPEN = 1;
+        // Notification became hidden.
+        TYPE_CLOSE = 2;
+        // Notification switched to detail mode.
+        TYPE_DETAIL = 3;
+        // Notification was clicked.
+        TYPE_ACTION = 4;
+        // Notification was dismissed.
+        TYPE_DISMISS = 5;
+        // Notification switched to summary mode. The enum value of 14 is to
+        // match that of metrics_constants.
+        TYPE_COLLAPSE = 14;
+    }
+    optional Type type = 1;
+
+    // Package name associated with the notification.
+    optional string package_name = 2;
+
+    // Tag associated with notification.
+    optional string tag = 3;
+
+    // Application-supplied ID associated with the notification.
+    optional int32 id = 4;
+
+    // Index of notification in the notification panel.
+    optional int32 shade_index = 5;
+
+    // The number of notifications in the notification panel.
+    optional int32 shade_count = 6;
+
+    // Importance for the notification.
+    optional int32 importance = 7;
+
+    // ID for the notification channel.
+    optional int32 channel_id = 8;
+
+    // Importance for the notification channel.
+    optional int32 channel_importance = 9;
+
+    // Whether notification was a group summary.
+    optional bool group_summary = 10;
+
+    // Time since notification was created in milliseconds.
+    optional int64 since_create_millis = 11;
+
+    // Time since notification was interrupted in milliseconds.
+    optional int64 since_interruption_millis = 12;
+
+    // Time since notification was updated in milliseconds.
+    optional int64 since_update_millis = 13;
+
+    // Time since notification was visible in milliseconds.
+    optional int64 since_visible_millis = 14;
+}
+
+
 //////////////////////////////////////////////////////////////////////
 // Pulled atoms below this line //
 //////////////////////////////////////////////////////////////////////
@@ -2061,6 +2305,11 @@
 
     // SWAP
     optional int64 swap_in_bytes = 8;
+
+    // RSS high watermark.
+    // Peak RSS usage of the process. Value is read from the VmHWM field in /proc/PID/status or
+    // from memory.max_usage_in_bytes under /dev/memcg if the device uses per-app memory cgroups.
+    optional int64 rss_high_watermark_in_bytes = 9;
 }
 
 /*
@@ -2141,6 +2390,16 @@
 }
 
 /**
+ * Pulls battery voltage.
+ * Pulled from:
+ *   frameworks/base/cmds/statsd/src/external/ResourceHealthManagerPuller.cpp
+ */
+message BatteryVoltage {
+    // The voltage of the battery, in millivolts.
+    optional int32 voltage_mV = 1;
+}
+
+/**
  * Pulls the temperature of various parts of the device.
  * The units are tenths of a degree Celsius. Eg: 30.3C is reported as 303.
  *
@@ -2161,8 +2420,8 @@
 /**
  * Pulls the statistics of calls to Binder.
  *
- * Binder stats are cumulative from boot unless somebody reset the data using
- * > adb shell dumpsys binder_calls_stats --reset
+ * Binder stats will be reset every time the data is pulled. It means it can only be pulled by one
+ * config on the device.
  *
  * Next tag: 14
  */
@@ -2226,8 +2485,16 @@
     optional int64 exception_count = 2;
 }
 
+/**
+ * Pulls the statistics of message dispatching on HandlerThreads.
+ *
+ * Looper stats will be reset every time the data is pulled. It means it can only be pulled by one
+ * config on the device.
+ *
+ * Next tag: 11
+ */
 message LooperStats {
-    // Currently not collected and always set to 0.
+    // The uid that made a call to the System Server and caused the message to be enqueued.
     optional int32 uid = 1 [(is_uid) = true];
 
     // Fully qualified class name of the handler target class.
@@ -2269,8 +2536,11 @@
     // Total CPU usage of all processed message.
     // Average can be computed using recorded_total_cpu_micros /
     // recorded_message_count. Total can be computed using
-    // recorded_total_cpu_micros / recorded_message_count * call_count.
+    // recorded_total_cpu_micros / recorded_message_count * message_count.
     optional int64 recorded_total_cpu_micros = 9;
+
+    // True if the screen was interactive PowerManager#isInteractive at the end of the call.
+    optional bool screen_interactive = 10;
 }
 
 /**
@@ -2351,3 +2621,47 @@
     // Uses System.currentTimeMillis(), which is wall clock time.
     optional int64 cache_time_millis = 3;
 }
+
+/**
+ * Pulls per uid I/O stats. The stats are cumulative since boot.
+ *
+ * Read/write bytes are I/O events from a storage device
+ * Read/write chars are data requested by read/write syscalls, and can be
+ *   satisfied by caching.
+ *
+ * Pulled from StatsCompanionService, which reads proc/uid_io/stats.
+ */
+message DiskIo {
+    optional int32 uid = 1 [(is_uid) = true];
+    optional int64 fg_chars_read = 2;
+    optional int64 fg_chars_write = 3;
+    optional int64 fg_bytes_read = 4;
+    optional int64 fg_bytes_write = 5;
+    optional int64 bg_chars_read = 6;
+    optional int64 bg_chars_write = 7;
+    optional int64 bg_bytes_read = 8;
+    optional int64 bg_bytes_write = 9;
+    optional int64 fg_fsync = 10;
+    optional int64 bg_fsync= 11;
+}
+
+
+/**
+ * Pulls the number of fingerprints for each user.
+ *
+ * Pulled from StatsCompanionService, which queries FingerprintManager.
+ */
+message NumFingerprints {
+    // The associated user. Eg: 0 for owners, 10+ for others.
+    // Defined in android/os/UserHandle.java
+    optional int32 user = 1;
+    // Number of fingerprints registered to that user.
+    optional int32 num_fingerprints = 2;
+}
+
+/**
+ * Pulled from ProcessStatsService.java
+ */
+message ProcStats {
+    optional android.service.procstats.ProcessStatsSectionProto proc_stats_section = 1;
+}
diff --git a/cmds/statsd/src/external/ResourceHealthManagerPuller.cpp b/cmds/statsd/src/external/ResourceHealthManagerPuller.cpp
index ae97d7a..ae2cf74 100644
--- a/cmds/statsd/src/external/ResourceHealthManagerPuller.cpp
+++ b/cmds/statsd/src/external/ResourceHealthManagerPuller.cpp
@@ -67,6 +67,7 @@
     data->clear();
     bool result_success = true;
 
+    // Get the data from the Health HAL (hardware/interfaces/health/1.0/types.hal).
     Return<void> ret = gHealthHal->getHealthInfo([&](Result r, HealthInfo v) {
         if (r != Result::SUCCESS) {
             result_success = false;
@@ -84,6 +85,12 @@
             ptr->write(v.legacy.batteryFullCharge);
             ptr->init();
             data->push_back(ptr);
+        } else if (mTagId == android::util::BATTERY_VOLTAGE) {
+            auto ptr = make_shared<LogEvent>(android::util::BATTERY_VOLTAGE,
+                wallClockTimestampNs, elapsedTimestampNs);
+            ptr->write(v.legacy.batteryVoltage);
+            ptr->init();
+            data->push_back(ptr);
         } else {
             ALOGE("Unsupported tag in ResourceHealthManagerPuller: %d", mTagId);
         }
diff --git a/cmds/statsd/src/external/StatsCompanionServicePuller.cpp b/cmds/statsd/src/external/StatsCompanionServicePuller.cpp
index d953f50..6d7bba0 100644
--- a/cmds/statsd/src/external/StatsCompanionServicePuller.cpp
+++ b/cmds/statsd/src/external/StatsCompanionServicePuller.cpp
@@ -36,8 +36,6 @@
 namespace os {
 namespace statsd {
 
-const int kLogMsgHeaderSize = 28;
-
 // The reading and parsing are implemented in Java. It is not difficult to port over. But for now
 // let StatsCompanionService handle that and send the data back.
 StatsCompanionServicePuller::StatsCompanionServicePuller(int tagId) : StatsPuller(tagId) {
@@ -56,20 +54,12 @@
         vector<StatsLogEventWrapper> returned_value;
         Status status = statsCompanionServiceCopy->pullData(mTagId, &returned_value);
         if (!status.isOk()) {
-            ALOGW("error pulling for %d", mTagId);
+            ALOGW("StatsCompanionServicePuller::pull failed to pull for %d", mTagId);
             return false;
         }
         data->clear();
-        int32_t timestampSec = getWallClockSec();
         for (const StatsLogEventWrapper& it : returned_value) {
-            log_msg tmp;
-            tmp.entry_v1.len = it.bytes.size();
-            // Manually set the header size to 28 bytes to match the pushed log events.
-            tmp.entry.hdr_size = kLogMsgHeaderSize;
-            tmp.entry_v1.sec = timestampSec;
-            // And set the received bytes starting after the 28 bytes reserved for header.
-            std::copy(it.bytes.begin(), it.bytes.end(), tmp.buf + kLogMsgHeaderSize);
-            data->push_back(make_shared<LogEvent>(tmp));
+            data->push_back(make_shared<LogEvent>(it));
         }
         VLOG("StatsCompanionServicePuller::pull succeeded for %d", mTagId);
         return true;
diff --git a/cmds/statsd/src/external/StatsPullerManager.cpp b/cmds/statsd/src/external/StatsPullerManager.cpp
index dbc13dc..fd86714 100644
--- a/cmds/statsd/src/external/StatsPullerManager.cpp
+++ b/cmds/statsd/src/external/StatsPullerManager.cpp
@@ -161,14 +161,17 @@
           {},
           1 * NS_PER_SEC,
           new ResourceHealthManagerPuller(android::util::FULL_BATTERY_CAPACITY)}},
+        // battery_voltage
+        {android::util::BATTERY_VOLTAGE,
+         {{}, {}, 1 * NS_PER_SEC, new ResourceHealthManagerPuller(android::util::BATTERY_VOLTAGE)}},
         // process_memory_state
         {android::util::PROCESS_MEMORY_STATE,
-         {{4, 5, 6, 7, 8},
+         {{4, 5, 6, 7, 8, 9},
           {2, 3},
           1 * NS_PER_SEC,
           new StatsCompanionServicePuller(android::util::PROCESS_MEMORY_STATE)}},
         // temperature
-        {android::util::TEMPERATURE, {{}, {}, 1, new ResourceThermalManagerPuller()}},
+        {android::util::TEMPERATURE, {{}, {}, 1 * NS_PER_SEC, new ResourceThermalManagerPuller()}},
         // binder_calls
         {android::util::BINDER_CALLS,
          {{4, 5, 6, 8, 12},
@@ -184,34 +187,37 @@
         // looper_stats
         {android::util::LOOPER_STATS,
          {{5, 6, 7, 8, 9},
-          {2, 3, 4},
+          {2, 3, 4, 10},
           1 * NS_PER_SEC,
           new StatsCompanionServicePuller(android::util::LOOPER_STATS)}},
         // Disk Stats
         {android::util::DISK_STATS,
-         {{},
-          {},
-          1 * NS_PER_SEC,
-          new StatsCompanionServicePuller(android::util::DISK_STATS)}},
+         {{}, {}, 1 * NS_PER_SEC, new StatsCompanionServicePuller(android::util::DISK_STATS)}},
         // Directory usage
         {android::util::DIRECTORY_USAGE,
-         {{},
-          {},
-          1 * NS_PER_SEC,
-          new StatsCompanionServicePuller(android::util::DIRECTORY_USAGE)}},
+         {{}, {}, 1 * NS_PER_SEC, new StatsCompanionServicePuller(android::util::DIRECTORY_USAGE)}},
         // Size of app's code, data, and cache
         {android::util::APP_SIZE,
-         {{},
-          {},
-          1 * NS_PER_SEC,
-          new StatsCompanionServicePuller(android::util::APP_SIZE)}},
+         {{}, {}, 1 * NS_PER_SEC, new StatsCompanionServicePuller(android::util::APP_SIZE)}},
         // Size of specific categories of files. Eg. Music.
         {android::util::CATEGORY_SIZE,
+         {{}, {}, 1 * NS_PER_SEC, new StatsCompanionServicePuller(android::util::CATEGORY_SIZE)}},
+        // Number of fingerprints registered to each user.
+        {android::util::NUM_FINGERPRINTS,
          {{},
           {},
           1 * NS_PER_SEC,
-          new StatsCompanionServicePuller(android::util::CATEGORY_SIZE)}},
-        };
+          new StatsCompanionServicePuller(android::util::NUM_FINGERPRINTS)}},
+        // ProcStats.
+        {android::util::PROC_STATS,
+         {{}, {}, 1 * NS_PER_SEC, new StatsCompanionServicePuller(android::util::PROC_STATS)}},
+        // Disk I/O stats per uid.
+        {android::util::DISK_IO,
+         {{2,3,4,5,6,7,8,9,10,11},
+          {},
+          3 * NS_PER_SEC,
+          new StatsCompanionServicePuller(android::util::DISK_IO)}},
+};
 
 StatsPullerManager::StatsPullerManager() : mNextPullTimeNs(NO_ALARM_UPDATE) {
 }
diff --git a/cmds/statsd/src/guardrail/StatsdStats.cpp b/cmds/statsd/src/guardrail/StatsdStats.cpp
index 33f3917..bf0bfec 100644
--- a/cmds/statsd/src/guardrail/StatsdStats.cpp
+++ b/cmds/statsd/src/guardrail/StatsdStats.cpp
@@ -400,36 +400,35 @@
     return string(timeBuffer);
 }
 
-void StatsdStats::dumpStats(FILE* out) const {
+void StatsdStats::dumpStats(int out) const {
     lock_guard<std::mutex> lock(mLock);
     time_t t = mStartTimeSec;
     struct tm* tm = localtime(&t);
     char timeBuffer[80];
     strftime(timeBuffer, sizeof(timeBuffer), "%Y-%m-%d %I:%M%p\n", tm);
-    fprintf(out, "Stats collection start second: %s\n", timeBuffer);
-    fprintf(out, "%lu Config in icebox: \n", (unsigned long)mIceBox.size());
+    dprintf(out, "Stats collection start second: %s\n", timeBuffer);
+    dprintf(out, "%lu Config in icebox: \n", (unsigned long)mIceBox.size());
     for (const auto& configStats : mIceBox) {
-        fprintf(out,
+        dprintf(out,
                 "Config {%d_%lld}: creation=%d, deletion=%d, reset=%d, #metric=%d, #condition=%d, "
                 "#matcher=%d, #alert=%d,  valid=%d\n",
                 configStats->uid, (long long)configStats->id, configStats->creation_time_sec,
                 configStats->deletion_time_sec, configStats->reset_time_sec,
-                configStats->metric_count,
-                configStats->condition_count, configStats->matcher_count, configStats->alert_count,
-                configStats->is_valid);
+                configStats->metric_count, configStats->condition_count, configStats->matcher_count,
+                configStats->alert_count, configStats->is_valid);
 
         for (const auto& broadcastTime : configStats->broadcast_sent_time_sec) {
-            fprintf(out, "\tbroadcast time: %d\n", broadcastTime);
+            dprintf(out, "\tbroadcast time: %d\n", broadcastTime);
         }
 
         for (const auto& dataDropTime : configStats->data_drop_time_sec) {
-            fprintf(out, "\tdata drop time: %d\n", dataDropTime);
+            dprintf(out, "\tdata drop time: %d\n", dataDropTime);
         }
     }
-    fprintf(out, "%lu Active Configs\n", (unsigned long)mConfigStats.size());
+    dprintf(out, "%lu Active Configs\n", (unsigned long)mConfigStats.size());
     for (auto& pair : mConfigStats) {
         auto& configStats = pair.second;
-        fprintf(out,
+        dprintf(out,
                 "Config {%d-%lld}: creation=%d, deletion=%d, #metric=%d, #condition=%d, "
                 "#matcher=%d, #alert=%d,  valid=%d\n",
                 configStats->uid, (long long)configStats->id, configStats->creation_time_sec,
@@ -437,81 +436,81 @@
                 configStats->condition_count, configStats->matcher_count, configStats->alert_count,
                 configStats->is_valid);
         for (const auto& annotation : configStats->annotations) {
-            fprintf(out, "\tannotation: %lld, %d\n", (long long)annotation.first,
+            dprintf(out, "\tannotation: %lld, %d\n", (long long)annotation.first,
                     annotation.second);
         }
 
         for (const auto& broadcastTime : configStats->broadcast_sent_time_sec) {
-            fprintf(out, "\tbroadcast time: %s(%lld)\n",
-                    buildTimeString(broadcastTime).c_str(), (long long)broadcastTime);
+            dprintf(out, "\tbroadcast time: %s(%lld)\n", buildTimeString(broadcastTime).c_str(),
+                    (long long)broadcastTime);
         }
 
         for (const auto& dataDropTime : configStats->data_drop_time_sec) {
-            fprintf(out, "\tdata drop time: %s(%lld)\n",
-                    buildTimeString(dataDropTime).c_str(), (long long)dataDropTime);
+            dprintf(out, "\tdata drop time: %s(%lld)\n", buildTimeString(dataDropTime).c_str(),
+                    (long long)dataDropTime);
         }
 
         for (const auto& dump : configStats->dump_report_stats) {
-            fprintf(out, "\tdump report time: %s(%lld) bytes: %lld\n",
+            dprintf(out, "\tdump report time: %s(%lld) bytes: %lld\n",
                     buildTimeString(dump.first).c_str(), (long long)dump.first,
                     (long long)dump.second);
         }
 
         for (const auto& stats : pair.second->matcher_stats) {
-            fprintf(out, "matcher %lld matched %d times\n", (long long)stats.first, stats.second);
+            dprintf(out, "matcher %lld matched %d times\n", (long long)stats.first, stats.second);
         }
 
         for (const auto& stats : pair.second->condition_stats) {
-            fprintf(out, "condition %lld max output tuple size %d\n", (long long)stats.first,
+            dprintf(out, "condition %lld max output tuple size %d\n", (long long)stats.first,
                     stats.second);
         }
 
         for (const auto& stats : pair.second->condition_stats) {
-            fprintf(out, "metrics %lld max output tuple size %d\n", (long long)stats.first,
+            dprintf(out, "metrics %lld max output tuple size %d\n", (long long)stats.first,
                     stats.second);
         }
 
         for (const auto& stats : pair.second->alert_stats) {
-            fprintf(out, "alert %lld declared %d times\n", (long long)stats.first, stats.second);
+            dprintf(out, "alert %lld declared %d times\n", (long long)stats.first, stats.second);
         }
     }
-    fprintf(out, "********Disk Usage stats***********\n");
+    dprintf(out, "********Disk Usage stats***********\n");
     StorageManager::printStats(out);
-    fprintf(out, "********Pushed Atom stats***********\n");
+    dprintf(out, "********Pushed Atom stats***********\n");
     const size_t atomCounts = mPushedAtomStats.size();
     for (size_t i = 2; i < atomCounts; i++) {
         if (mPushedAtomStats[i] > 0) {
-            fprintf(out, "Atom %lu->%d\n", (unsigned long)i, mPushedAtomStats[i]);
+            dprintf(out, "Atom %lu->%d\n", (unsigned long)i, mPushedAtomStats[i]);
         }
     }
 
-    fprintf(out, "********Pulled Atom stats***********\n");
+    dprintf(out, "********Pulled Atom stats***********\n");
     for (const auto& pair : mPulledAtomStats) {
-        fprintf(out, "Atom %d->%ld, %ld, %ld\n", (int)pair.first, (long)pair.second.totalPull,
+        dprintf(out, "Atom %d->%ld, %ld, %ld\n", (int)pair.first, (long)pair.second.totalPull,
                 (long)pair.second.totalPullFromCache, (long)pair.second.minPullIntervalSec);
     }
 
     if (mAnomalyAlarmRegisteredStats > 0) {
-        fprintf(out, "********AnomalyAlarmStats stats***********\n");
-        fprintf(out, "Anomaly alarm registrations: %d\n", mAnomalyAlarmRegisteredStats);
+        dprintf(out, "********AnomalyAlarmStats stats***********\n");
+        dprintf(out, "Anomaly alarm registrations: %d\n", mAnomalyAlarmRegisteredStats);
     }
 
     if (mPeriodicAlarmRegisteredStats > 0) {
-        fprintf(out, "********SubscriberAlarmStats stats***********\n");
-        fprintf(out, "Subscriber alarm registrations: %d\n", mPeriodicAlarmRegisteredStats);
+        dprintf(out, "********SubscriberAlarmStats stats***********\n");
+        dprintf(out, "Subscriber alarm registrations: %d\n", mPeriodicAlarmRegisteredStats);
     }
 
-    fprintf(out, "UID map stats: bytes=%d, changes=%d, deleted=%d, changes lost=%d\n",
+    dprintf(out, "UID map stats: bytes=%d, changes=%d, deleted=%d, changes lost=%d\n",
             mUidMapStats.bytes_used, mUidMapStats.changes, mUidMapStats.deleted_apps,
             mUidMapStats.dropped_changes);
 
     for (const auto& restart : mSystemServerRestartSec) {
-        fprintf(out, "System server restarts at %s(%lld)\n",
-            buildTimeString(restart).c_str(), (long long)restart);
+        dprintf(out, "System server restarts at %s(%lld)\n", buildTimeString(restart).c_str(),
+                (long long)restart);
     }
 
     for (const auto& loss : mLogLossStats) {
-        fprintf(out, "Log loss: %lld (wall clock sec) - %d (count)\n", (long long)loss.first,
+        dprintf(out, "Log loss: %lld (wall clock sec) - %d (count)\n", (long long)loss.first,
                 loss.second);
     }
 }
diff --git a/cmds/statsd/src/guardrail/StatsdStats.h b/cmds/statsd/src/guardrail/StatsdStats.h
index b5156da..a8188c8 100644
--- a/cmds/statsd/src/guardrail/StatsdStats.h
+++ b/cmds/statsd/src/guardrail/StatsdStats.h
@@ -156,7 +156,7 @@
      * Report a config has been removed.
      */
     void noteConfigRemoved(const ConfigKey& key);
-   /**
+    /**
      * Report a config has been reset when ttl expires.
      */
     void noteConfigReset(const ConfigKey& key);
@@ -202,7 +202,6 @@
      */
     void noteMetricDimensionSize(const ConfigKey& key, const int64_t& id, int size);
 
-
     /**
      * Report the max size of output tuple of dimension in condition across dimensions in what.
      *
@@ -272,8 +271,8 @@
     void notePullFromCache(int pullAtomId);
 
     /*
-    * Records when system server restarts.
-    */
+     * Records when system server restarts.
+     */
     void noteSystemServerRestart(int32_t timeSec);
 
     /**
@@ -296,9 +295,9 @@
     void dumpStats(std::vector<uint8_t>* buffer, bool reset);
 
     /**
-     * Output statsd stats in human readable format to [out] file.
+     * Output statsd stats in human readable format to [out] file descriptor.
      */
-    void dumpStats(FILE* out) const;
+    void dumpStats(int outFd) const;
 
     typedef struct {
         long totalPull;
diff --git a/cmds/statsd/src/logd/LogEvent.cpp b/cmds/statsd/src/logd/LogEvent.cpp
index cf04ee3..4bbcfd5 100644
--- a/cmds/statsd/src/logd/LogEvent.cpp
+++ b/cmds/statsd/src/logd/LogEvent.cpp
@@ -41,6 +41,44 @@
     }
 }
 
+LogEvent::LogEvent(const StatsLogEventWrapper& statsLogEventWrapper) {
+    mTagId = statsLogEventWrapper.getTagId();
+    mLogdTimestampNs = statsLogEventWrapper.getWallClockTimeNs();
+    mElapsedTimestampNs = statsLogEventWrapper.getElapsedRealTimeNs();
+    mLogUid = 0;
+    for (int i = 0; i < (int)statsLogEventWrapper.getElements().size(); i++) {
+        Field field(statsLogEventWrapper.getTagId(), getSimpleField(i + 1));
+        switch (statsLogEventWrapper.getElements()[i].type) {
+            case android::os::StatsLogValue::STATS_LOG_VALUE_TYPE::INT:
+                mValues.push_back(
+                        FieldValue(field, Value(statsLogEventWrapper.getElements()[i].int_value)));
+                break;
+            case android::os::StatsLogValue::STATS_LOG_VALUE_TYPE::LONG:
+                mValues.push_back(
+                        FieldValue(field, Value(statsLogEventWrapper.getElements()[i].long_value)));
+                break;
+            case android::os::StatsLogValue::STATS_LOG_VALUE_TYPE::FLOAT:
+                mValues.push_back(FieldValue(
+                        field, Value(statsLogEventWrapper.getElements()[i].float_value)));
+                break;
+            case android::os::StatsLogValue::STATS_LOG_VALUE_TYPE::DOUBLE:
+                mValues.push_back(FieldValue(
+                        field, Value(statsLogEventWrapper.getElements()[i].double_value)));
+                break;
+            case android::os::StatsLogValue::STATS_LOG_VALUE_TYPE::STRING:
+                mValues.push_back(
+                        FieldValue(field, Value(statsLogEventWrapper.getElements()[i].str_value)));
+                break;
+            case android::os::StatsLogValue::STATS_LOG_VALUE_TYPE::STORAGE:
+                mValues.push_back(FieldValue(
+                        field, Value(statsLogEventWrapper.getElements()[i].storage_value)));
+                break;
+            default:
+                break;
+        }
+    }
+}
+
 LogEvent::LogEvent(int32_t tagId, int64_t wallClockTimestampNs, int64_t elapsedTimestampNs) {
     mLogdTimestampNs = wallClockTimestampNs;
     mTagId = tagId;
@@ -54,7 +92,8 @@
 
 LogEvent::LogEvent(int32_t tagId, int64_t wallClockTimestampNs, int64_t elapsedTimestampNs,
                    int32_t uid,
-                   const std::map<int32_t, int64_t>& int_map,
+                   const std::map<int32_t, int32_t>& int_map,
+                   const std::map<int32_t, int64_t>& long_map,
                    const std::map<int32_t, std::string>& string_map,
                    const std::map<int32_t, float>& float_map) {
     mLogdTimestampNs = wallClockTimestampNs;
@@ -75,7 +114,7 @@
         pos[1]++;
     }
 
-    for (const auto&itr : string_map) {
+    for (const auto&itr : long_map) {
         pos[2] = 1;
         mValues.push_back(FieldValue(Field(mTagId, pos, 2 /* depth */), Value(itr.first)));
         pos[2] = 3;
@@ -84,7 +123,7 @@
         pos[1]++;
     }
 
-    for (const auto&itr : float_map) {
+    for (const auto&itr : string_map) {
         pos[2] = 1;
         mValues.push_back(FieldValue(Field(mTagId, pos, 2 /* depth */), Value(itr.first)));
         pos[2] = 4;
@@ -92,12 +131,142 @@
         mValues.back().mField.decorateLastPos(2);
         pos[1]++;
     }
+
+    for (const auto&itr : float_map) {
+        pos[2] = 1;
+        mValues.push_back(FieldValue(Field(mTagId, pos, 2 /* depth */), Value(itr.first)));
+        pos[2] = 5;
+        mValues.push_back(FieldValue(Field(mTagId, pos, 2 /* depth */), Value(itr.second)));
+        mValues.back().mField.decorateLastPos(2);
+        pos[1]++;
+    }
     if (!mValues.empty()) {
         mValues.back().mField.decorateLastPos(1);
         mValues.at(mValues.size() - 2).mField.decorateLastPos(1);
     }
 }
 
+LogEvent::LogEvent(int64_t wallClockTimestampNs, int64_t elapsedTimestampNs,
+                   const SpeakerImpedance& speakerImpedance) {
+    mLogdTimestampNs = wallClockTimestampNs;
+    mElapsedTimestampNs = elapsedTimestampNs;
+    mTagId = android::util::SPEAKER_IMPEDANCE_REPORTED;
+
+    mValues.push_back(
+            FieldValue(Field(mTagId, getSimpleField(1)), Value(speakerImpedance.speakerLocation)));
+    mValues.push_back(
+            FieldValue(Field(mTagId, getSimpleField(2)), Value(speakerImpedance.milliOhms)));
+    if (!mValues.empty()) {
+        mValues.back().mField.decorateLastPos(1);
+    }
+}
+
+LogEvent::LogEvent(int64_t wallClockTimestampNs, int64_t elapsedTimestampNs,
+                   const HardwareFailed& hardwareFailed) {
+    mLogdTimestampNs = wallClockTimestampNs;
+    mElapsedTimestampNs = elapsedTimestampNs;
+    mTagId = android::util::HARDWARE_FAILED;
+
+    mValues.push_back(FieldValue(Field(mTagId, getSimpleField(1)),
+                                 Value(int32_t(hardwareFailed.hardwareType))));
+    mValues.push_back(
+            FieldValue(Field(mTagId, getSimpleField(2)), Value(hardwareFailed.hardwareLocation)));
+    mValues.push_back(
+            FieldValue(Field(mTagId, getSimpleField(3)), Value(int32_t(hardwareFailed.errorCode))));
+    if (!mValues.empty()) {
+        mValues.back().mField.decorateLastPos(1);
+    }
+}
+
+LogEvent::LogEvent(int64_t wallClockTimestampNs, int64_t elapsedTimestampNs,
+                   const PhysicalDropDetected& physicalDropDetected) {
+    mLogdTimestampNs = wallClockTimestampNs;
+    mElapsedTimestampNs = elapsedTimestampNs;
+    mTagId = android::util::PHYSICAL_DROP_DETECTED;
+
+    mValues.push_back(FieldValue(Field(mTagId, getSimpleField(1)),
+                                 Value(int32_t(physicalDropDetected.confidencePctg))));
+    mValues.push_back(
+            FieldValue(Field(mTagId, getSimpleField(2)), Value(physicalDropDetected.accelPeak)));
+    mValues.push_back(FieldValue(Field(mTagId, getSimpleField(3)),
+                                 Value(physicalDropDetected.freefallDuration)));
+    if (!mValues.empty()) {
+        mValues.back().mField.decorateLastPos(1);
+    }
+}
+
+LogEvent::LogEvent(int64_t wallClockTimestampNs, int64_t elapsedTimestampNs,
+                   const ChargeCycles& chargeCycles) {
+    mLogdTimestampNs = wallClockTimestampNs;
+    mElapsedTimestampNs = elapsedTimestampNs;
+    mTagId = android::util::CHARGE_CYCLES_REPORTED;
+
+    for (size_t i = 0; i < chargeCycles.cycleBucket.size(); i++) {
+        mValues.push_back(FieldValue(Field(mTagId, getSimpleField(i + 1)),
+                                     Value(chargeCycles.cycleBucket[i])));
+    }
+
+    if (!mValues.empty()) {
+        mValues.back().mField.decorateLastPos(1);
+    }
+}
+
+LogEvent::LogEvent(int64_t wallClockTimestampNs, int64_t elapsedTimestampNs,
+                   const BatteryHealthSnapshotArgs& batteryHealthSnapshotArgs) {
+    mLogdTimestampNs = wallClockTimestampNs;
+    mElapsedTimestampNs = elapsedTimestampNs;
+    mTagId = android::util::BATTERY_HEALTH_SNAPSHOT;
+
+    mValues.push_back(FieldValue(Field(mTagId, getSimpleField(1)),
+                                 Value(int32_t(batteryHealthSnapshotArgs.type))));
+    mValues.push_back(FieldValue(Field(mTagId, getSimpleField(2)),
+                                 Value(batteryHealthSnapshotArgs.temperatureDeciC)));
+    mValues.push_back(FieldValue(Field(mTagId, getSimpleField(3)),
+                                 Value(batteryHealthSnapshotArgs.voltageMicroV)));
+    mValues.push_back(FieldValue(Field(mTagId, getSimpleField(4)),
+                                 Value(batteryHealthSnapshotArgs.currentMicroA)));
+    mValues.push_back(FieldValue(Field(mTagId, getSimpleField(5)),
+                                 Value(batteryHealthSnapshotArgs.openCircuitVoltageMicroV)));
+    mValues.push_back(FieldValue(Field(mTagId, getSimpleField(6)),
+                                 Value(batteryHealthSnapshotArgs.resistanceMicroOhm)));
+    mValues.push_back(FieldValue(Field(mTagId, getSimpleField(7)),
+                                 Value(batteryHealthSnapshotArgs.levelPercent)));
+
+    if (!mValues.empty()) {
+        mValues.back().mField.decorateLastPos(1);
+    }
+}
+
+LogEvent::LogEvent(int64_t wallClockTimestampNs, int64_t elapsedTimestampNs, const SlowIo& slowIo) {
+    mLogdTimestampNs = wallClockTimestampNs;
+    mElapsedTimestampNs = elapsedTimestampNs;
+    mTagId = android::util::SLOW_IO;
+
+    int pos[] = {1};
+    mValues.push_back(
+            FieldValue(Field(mTagId, getSimpleField(1)), Value(int32_t(slowIo.operation))));
+    pos[0]++;
+    mValues.push_back(FieldValue(Field(mTagId, getSimpleField(2)), Value(slowIo.count)));
+
+    if (!mValues.empty()) {
+        mValues.back().mField.decorateLastPos(1);
+    }
+}
+
+LogEvent::LogEvent(int64_t wallClockTimestampNs, int64_t elapsedTimestampNs,
+                   const BatteryCausedShutdown& batteryCausedShutdown) {
+    mLogdTimestampNs = wallClockTimestampNs;
+    mElapsedTimestampNs = elapsedTimestampNs;
+    mTagId = android::util::BATTERY_CAUSED_SHUTDOWN;
+
+    mValues.push_back(FieldValue(Field(mTagId, getSimpleField(1)),
+                                 Value(batteryCausedShutdown.voltageMicroV)));
+
+    if (!mValues.empty()) {
+        mValues.back().mField.decorateLastPos(1);
+    }
+}
+
 LogEvent::LogEvent(int32_t tagId, int64_t timestampNs) {
     mLogdTimestampNs = timestampNs;
     mTagId = tagId;
@@ -175,9 +344,8 @@
     return false;
 }
 
-
-
-bool LogEvent::writeKeyValuePairs(const std::map<int32_t, int64_t>& int_map,
+bool LogEvent::writeKeyValuePairs(const std::map<int32_t, int32_t>& int_map,
+                                  const std::map<int32_t, int64_t>& long_map,
                                   const std::map<int32_t, std::string>& string_map,
                                   const std::map<int32_t, float>& float_map) {
     if (mContext) {
@@ -195,6 +363,17 @@
              }
          }
 
+         for (const auto& itr : long_map) {
+             if (android_log_write_list_begin(mContext) < 0) {
+                return false;
+             }
+             write(itr.first);
+             write(itr.second);
+             if (android_log_write_list_end(mContext) < 0) {
+                return false;
+             }
+         }
+
          for (const auto& itr : string_map) {
              if (android_log_write_list_begin(mContext) < 0) {
                 return false;
diff --git a/cmds/statsd/src/logd/LogEvent.h b/cmds/statsd/src/logd/LogEvent.h
index 2ee6bdf..c7e2a8c 100644
--- a/cmds/statsd/src/logd/LogEvent.h
+++ b/cmds/statsd/src/logd/LogEvent.h
@@ -18,6 +18,8 @@
 
 #include "FieldValue.h"
 
+#include <android/frameworks/stats/1.0/types.h>
+#include <android/os/StatsLogEventWrapper.h>
 #include <android/util/ProtoOutputStream.h>
 #include <log/log_event_list.h>
 #include <log/log_read.h>
@@ -27,6 +29,8 @@
 #include <string>
 #include <vector>
 
+using namespace android::frameworks::stats::V1_0;
+
 namespace android {
 namespace os {
 namespace statsd {
@@ -61,6 +65,8 @@
      */
     explicit LogEvent(log_msg& msg);
 
+    explicit LogEvent(const StatsLogEventWrapper& statsLogEventWrapper);
+
     /**
      * Constructs a LogEvent with synthetic data for testing. Must call init() before reading.
      */
@@ -74,10 +80,32 @@
      */
     explicit LogEvent(int32_t tagId, int64_t wallClockTimestampNs, int64_t elapsedTimestampNs,
                       int32_t uid,
-                      const std::map<int32_t, int64_t>& int_map,
+                      const std::map<int32_t, int32_t>& int_map,
+                      const std::map<int32_t, int64_t>& long_map,
                       const std::map<int32_t, std::string>& string_map,
                       const std::map<int32_t, float>& float_map);
 
+    explicit LogEvent(int64_t wallClockTimestampNs, int64_t elapsedTimestampNs,
+                      const SpeakerImpedance& speakerImpedance);
+
+    explicit LogEvent(int64_t wallClockTimestampNs, int64_t elapsedTimestampNs,
+                      const HardwareFailed& hardwareFailed);
+
+    explicit LogEvent(int64_t wallClockTimestampNs, int64_t elapsedTimestampNs,
+                      const PhysicalDropDetected& physicalDropDetected);
+
+    explicit LogEvent(int64_t wallClockTimestampNs, int64_t elapsedTimestampNs,
+                      const ChargeCycles& chargeCycles);
+
+    explicit LogEvent(int64_t wallClockTimestampNs, int64_t elapsedTimestampNs,
+                      const BatteryHealthSnapshotArgs& batteryHealthSnapshotArgs);
+
+    explicit LogEvent(int64_t wallClockTimestampNs, int64_t elapsedTimestampNs,
+                      const SlowIo& slowIo);
+
+    explicit LogEvent(int64_t wallClockTimestampNs, int64_t elapsedTimestampNs,
+                      const BatteryCausedShutdown& batteryCausedShutdown);
+
     ~LogEvent();
 
     /**
@@ -119,7 +147,8 @@
     bool write(float value);
     bool write(const std::vector<AttributionNodeInternal>& nodes);
     bool write(const AttributionNodeInternal& node);
-    bool writeKeyValuePairs(const std::map<int32_t, int64_t>& int_map,
+    bool writeKeyValuePairs(const std::map<int32_t, int32_t>& int_map,
+                            const std::map<int32_t, int64_t>& long_map,
                             const std::map<int32_t, std::string>& string_map,
                             const std::map<int32_t, float>& float_map);
 
diff --git a/cmds/statsd/src/main.cpp b/cmds/statsd/src/main.cpp
index 9002f07..a5dac08 100644
--- a/cmds/statsd/src/main.cpp
+++ b/cmds/statsd/src/main.cpp
@@ -25,6 +25,7 @@
 #include <binder/IServiceManager.h>
 #include <binder/ProcessState.h>
 #include <binder/Status.h>
+#include <hidl/HidlTransportSupport.h>
 #include <utils/Looper.h>
 #include <utils/StrongPointer.h>
 
@@ -56,12 +57,21 @@
     ps->giveThreadPoolName();
     IPCThreadState::self()->disableBackgroundScheduling(true);
 
+    ::android::hardware::configureRpcThreadpool(1 /*threads*/, false /*willJoin*/);
+
     // Create the service
     sp<StatsService> service = new StatsService(looper);
     if (defaultServiceManager()->addService(String16("stats"), service) != 0) {
-        ALOGE("Failed to add service");
+        ALOGE("Failed to add service as AIDL service");
         return -1;
     }
+
+    auto ret = service->registerAsService();
+    if (ret != ::android::OK) {
+        ALOGE("Failed to add service as HIDL service");
+        return 1; // or handle error
+    }
+
     service->sayHiToStatsCompanion();
 
     service->Startup();
diff --git a/cmds/statsd/src/metrics/DurationMetricProducer.cpp b/cmds/statsd/src/metrics/DurationMetricProducer.cpp
index 9d9e5be..dd3402d 100644
--- a/cmds/statsd/src/metrics/DurationMetricProducer.cpp
+++ b/cmds/statsd/src/metrics/DurationMetricProducer.cpp
@@ -781,7 +781,7 @@
         if (whatIt != mCurrentSlicedDurationTrackerMap.end()) {
             for (const auto& condIt : whatIt->second) {
                 const bool cond = dimensionKeysInCondition.find(condIt.first) !=
-                        dimensionKeysInCondition.end();
+                        dimensionKeysInCondition.end() && condition;
                 handleStartEvent(MetricDimensionKey(dimensionInWhat, condIt.first),
                     conditionKey, cond, event);
                 dimensionKeysInCondition.erase(condIt.first);
diff --git a/cmds/statsd/src/metrics/EventMetricProducer.cpp b/cmds/statsd/src/metrics/EventMetricProducer.cpp
index eec90fc..afd8ec2 100644
--- a/cmds/statsd/src/metrics/EventMetricProducer.cpp
+++ b/cmds/statsd/src/metrics/EventMetricProducer.cpp
@@ -49,7 +49,6 @@
 // for EventMetricData
 const int FIELD_ID_ELAPSED_TIMESTAMP_NANOS = 1;
 const int FIELD_ID_ATOMS = 2;
-const int FIELD_ID_WALL_CLOCK_TIMESTAMP_NANOS = 3;
 
 EventMetricProducer::EventMetricProducer(const ConfigKey& key, const EventMetric& metric,
                                          const int conditionIndex,
@@ -146,13 +145,9 @@
     if (truncateTimestamp) {
         mProto->write(FIELD_TYPE_INT64 | FIELD_ID_ELAPSED_TIMESTAMP_NANOS,
             (long long)truncateTimestampNsToFiveMinutes(event.GetElapsedTimestampNs()));
-        mProto->write(FIELD_TYPE_INT64 | FIELD_ID_WALL_CLOCK_TIMESTAMP_NANOS,
-            (long long)truncateTimestampNsToFiveMinutes(getWallClockNs()));
     } else {
         mProto->write(FIELD_TYPE_INT64 | FIELD_ID_ELAPSED_TIMESTAMP_NANOS,
             (long long)event.GetElapsedTimestampNs());
-        mProto->write(FIELD_TYPE_INT64 | FIELD_ID_WALL_CLOCK_TIMESTAMP_NANOS,
-            (long long)getWallClockNs());
     }
 
     uint64_t eventToken = mProto->start(FIELD_TYPE_MESSAGE | FIELD_ID_ATOMS);
diff --git a/cmds/statsd/src/metrics/GaugeMetricProducer.cpp b/cmds/statsd/src/metrics/GaugeMetricProducer.cpp
index bcfcd7a..02b9773 100644
--- a/cmds/statsd/src/metrics/GaugeMetricProducer.cpp
+++ b/cmds/statsd/src/metrics/GaugeMetricProducer.cpp
@@ -63,7 +63,6 @@
 // for GaugeBucketInfo
 const int FIELD_ID_ATOM = 3;
 const int FIELD_ID_ELAPSED_ATOM_TIMESTAMP = 4;
-const int FIELD_ID_WALL_CLOCK_ATOM_TIMESTAMP = 5;
 const int FIELD_ID_BUCKET_NUM = 6;
 const int FIELD_ID_START_BUCKET_ELAPSED_MILLIS = 7;
 const int FIELD_ID_END_BUCKET_ELAPSED_MILLIS = 8;
@@ -286,16 +285,9 @@
                     const int64_t elapsedTimestampNs =  truncateTimestamp ?
                         truncateTimestampNsToFiveMinutes(atom.mElapsedTimestamps) :
                             atom.mElapsedTimestamps;
-                    const int64_t wallClockNs = truncateTimestamp ?
-                        truncateTimestampNsToFiveMinutes(atom.mWallClockTimestampNs) :
-                            atom.mWallClockTimestampNs;
                     protoOutput->write(
                         FIELD_TYPE_INT64 | FIELD_COUNT_REPEATED | FIELD_ID_ELAPSED_ATOM_TIMESTAMP,
                         (long long)elapsedTimestampNs);
-                    protoOutput->write(
-                        FIELD_TYPE_INT64 | FIELD_COUNT_REPEATED |
-                            FIELD_ID_WALL_CLOCK_ATOM_TIMESTAMP,
-                        (long long)wallClockNs);
                 }
             }
             protoOutput->end(bucketInfoToken);
@@ -450,7 +442,7 @@
     if ((*mCurrentSlicedBucket)[eventKey].size() >= mGaugeAtomsPerDimensionLimit) {
         return;
     }
-    GaugeAtom gaugeAtom(getGaugeFields(event), eventTimeNs, getWallClockNs());
+    GaugeAtom gaugeAtom(getGaugeFields(event), eventTimeNs);
     (*mCurrentSlicedBucket)[eventKey].push_back(gaugeAtom);
     // Anomaly detection on gauge metric only works when there is one numeric
     // field specified.
diff --git a/cmds/statsd/src/metrics/GaugeMetricProducer.h b/cmds/statsd/src/metrics/GaugeMetricProducer.h
index e3da5db..6379389 100644
--- a/cmds/statsd/src/metrics/GaugeMetricProducer.h
+++ b/cmds/statsd/src/metrics/GaugeMetricProducer.h
@@ -33,12 +33,11 @@
 namespace statsd {
 
 struct GaugeAtom {
-    GaugeAtom(std::shared_ptr<vector<FieldValue>> fields, int64_t elapsedTimeNs, int64_t wallClockNs)
-        : mFields(fields), mElapsedTimestamps(elapsedTimeNs), mWallClockTimestampNs(wallClockNs) {
+    GaugeAtom(std::shared_ptr<vector<FieldValue>> fields, int64_t elapsedTimeNs)
+        : mFields(fields), mElapsedTimestamps(elapsedTimeNs) {
     }
     std::shared_ptr<vector<FieldValue>> mFields;
     int64_t mElapsedTimestamps;
-    int64_t mWallClockTimestampNs;
 };
 
 struct GaugeBucket {
diff --git a/cmds/statsd/src/packages/UidMap.cpp b/cmds/statsd/src/packages/UidMap.cpp
index be94725..4325f0f 100644
--- a/cmds/statsd/src/packages/UidMap.cpp
+++ b/cmds/statsd/src/packages/UidMap.cpp
@@ -386,12 +386,12 @@
     StatsdStats::getInstance().setUidMapChanges(mChanges.size());
 }
 
-void UidMap::printUidMap(FILE* out) const {
+void UidMap::printUidMap(int out) const {
     lock_guard<mutex> lock(mMutex);
 
     for (const auto& kv : mMap) {
         if (!kv.second.deleted) {
-            fprintf(out, "%s, v%" PRId64 " (%i)\n", kv.first.second.c_str(), kv.second.versionCode,
+            dprintf(out, "%s, v%" PRId64 " (%i)\n", kv.first.second.c_str(), kv.second.versionCode,
                     kv.first.first);
         }
     }
diff --git a/cmds/statsd/src/packages/UidMap.h b/cmds/statsd/src/packages/UidMap.h
index 91f2030..4598369 100644
--- a/cmds/statsd/src/packages/UidMap.h
+++ b/cmds/statsd/src/packages/UidMap.h
@@ -103,7 +103,7 @@
 
     // Helper for debugging contents of this uid map. Can be triggered with:
     // adb shell cmd stats print-uid-map
-    void printUidMap(FILE* out) const;
+    void printUidMap(int outFd) const;
 
     // Commands for indicating to the map that a producer should be notified if an app is updated.
     // This allows the metric producer to distinguish when the same uid or app represents a
diff --git a/cmds/statsd/src/shell/ShellSubscriber.cpp b/cmds/statsd/src/shell/ShellSubscriber.cpp
new file mode 100644
index 0000000..1306a46
--- /dev/null
+++ b/cmds/statsd/src/shell/ShellSubscriber.cpp
@@ -0,0 +1,140 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+#define DEBUG true  // STOPSHIP if true
+#include "Log.h"
+
+#include "ShellSubscriber.h"
+
+#include "matchers/matcher_util.h"
+
+#include <android-base/file.h>
+
+using android::util::ProtoOutputStream;
+
+namespace android {
+namespace os {
+namespace statsd {
+
+void ShellSubscriber::startNewSubscription(int in, int out, sp<IResultReceiver> resultReceiver) {
+    VLOG("start new shell subscription");
+    {
+        std::lock_guard<std::mutex> lock(mMutex);
+        if (mResultReceiver != nullptr) {
+            VLOG("Only one shell subscriber is allowed.");
+            return;
+        }
+        mInput = in;
+        mOutput = out;
+        mResultReceiver = resultReceiver;
+        IInterface::asBinder(mResultReceiver)->linkToDeath(this);
+    }
+
+    // Spawn another thread to read the config updates from the input file descriptor
+    std::thread reader([in, this] { readConfig(in); });
+    reader.detach();
+
+    std::unique_lock<std::mutex> lk(mMutex);
+
+    mShellDied.wait(lk, [this, resultReceiver] { return mResultReceiver != resultReceiver; });
+    if (reader.joinable()) {
+        reader.join();
+    }
+}
+
+void ShellSubscriber::updateConfig(const ShellSubscription& config) {
+    std::lock_guard<std::mutex> lock(mMutex);
+    mPushedMatchers.clear();
+    for (const auto& pushed : config.pushed()) {
+        mPushedMatchers.push_back(pushed);
+        VLOG("adding matcher for atom %d", pushed.atom_id());
+    }
+}
+
+void ShellSubscriber::readConfig(int in) {
+    if (in <= 0) {
+        return;
+    }
+
+    while (1) {
+        size_t bufferSize = 0;
+        int result = 0;
+        if ((result = read(in, &bufferSize, sizeof(bufferSize))) == 0) {
+            VLOG("Done reading");
+            break;
+        } else if (result < 0 || result != sizeof(bufferSize)) {
+            ALOGE("Error reading config size");
+            break;
+        }
+
+        vector<uint8_t> buffer(bufferSize);
+        if ((result = read(in, buffer.data(), bufferSize)) > 0 && ((size_t)result) == bufferSize) {
+            ShellSubscription config;
+            if (config.ParseFromArray(buffer.data(), bufferSize)) {
+                updateConfig(config);
+            } else {
+                ALOGE("error parsing the config");
+                break;
+            }
+        } else {
+            VLOG("Error reading the config, returned: %d, expecting %zu", result, bufferSize);
+            break;
+        }
+    }
+}
+
+void ShellSubscriber::cleanUpLocked() {
+    // The file descriptors will be closed by binder.
+    mInput = 0;
+    mOutput = 0;
+    mResultReceiver = nullptr;
+    mPushedMatchers.clear();
+    VLOG("done clean up");
+}
+
+void ShellSubscriber::onLogEvent(const LogEvent& event) {
+    std::lock_guard<std::mutex> lock(mMutex);
+
+    if (mOutput <= 0) {
+        return;
+    }
+
+    for (const auto& matcher : mPushedMatchers) {
+        if (matchesSimple(*mUidMap, matcher, event)) {
+            event.ToProto(mProto);
+            // First write the payload size.
+            size_t bufferSize = mProto.size();
+            write(mOutput, &bufferSize, sizeof(bufferSize));
+
+            // Then write the payload.
+            mProto.flush(mOutput);
+            mProto.clear();
+            break;
+        }
+    }
+}
+
+void ShellSubscriber::binderDied(const wp<IBinder>& who) {
+    {
+        VLOG("Shell exits");
+        std::lock_guard<std::mutex> lock(mMutex);
+        cleanUpLocked();
+    }
+    mShellDied.notify_all();
+}
+
+}  // namespace statsd
+}  // namespace os
+}  // namespace android
diff --git a/cmds/statsd/src/shell/ShellSubscriber.h b/cmds/statsd/src/shell/ShellSubscriber.h
new file mode 100644
index 0000000..0ace35f
--- /dev/null
+++ b/cmds/statsd/src/shell/ShellSubscriber.h
@@ -0,0 +1,100 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+#pragma once
+
+#include "logd/LogEvent.h"
+
+#include <android/util/ProtoOutputStream.h>
+#include <binder/IResultReceiver.h>
+#include <condition_variable>
+#include <mutex>
+#include <string>
+#include <thread>
+#include "frameworks/base/cmds/statsd/src/shell/shell_config.pb.h"
+#include "frameworks/base/cmds/statsd/src/statsd_config.pb.h"
+#include "packages/UidMap.h"
+
+namespace android {
+namespace os {
+namespace statsd {
+
+/**
+ * Handles atoms subscription via shell cmd.
+ *
+ * A shell subscription lasts *until shell exits*. Unlike config based clients, a shell client
+ * communicates with statsd via file descriptors. They can subscribe pushed and pulled atoms.
+ * The atoms are sent back to the client in real time, as opposed to
+ * keeping the data in memory. Shell clients do not subscribe aggregated metrics, as they are
+ * responsible for doing the aggregation after receiving the atom events.
+ *
+ * Shell client pass ShellSubscription in the proto binary format. Client can update the
+ * subscription by sending a new subscription. The new subscription would replace the old one.
+ * Input data stream format is:
+ *
+ * |size_t|subscription proto|size_t|subscription proto|....
+ *
+ * statsd sends the events back in Atom proto binary format. Each Atom message is preceded
+ * with sizeof(size_t) bytes indicating the size of the proto message payload.
+ *
+ * The stream would be in the following format:
+ * |size_t|atom1 proto|size_t|atom2 proto|....
+ *
+ * Only one shell subscriber allowed at a time, because each shell subscriber blocks one thread
+ * until it exits.
+ */
+class ShellSubscriber : public virtual IBinder::DeathRecipient {
+public:
+    ShellSubscriber(sp<UidMap> uidMap) : mUidMap(uidMap){};
+
+    /**
+     * Start a new subscription.
+     */
+    void startNewSubscription(int inFd, int outFd, sp<IResultReceiver> resultReceiver);
+
+    void binderDied(const wp<IBinder>& who);
+
+    void onLogEvent(const LogEvent& event);
+
+private:
+    void readConfig(int in);
+
+    void updateConfig(const ShellSubscription& config);
+
+    void cleanUpLocked();
+
+    sp<UidMap> mUidMap;
+
+    // bool mWritten = false;
+
+    android::util::ProtoOutputStream mProto;
+
+    mutable std::mutex mMutex;
+
+    std::condition_variable mShellDied;  // semaphore for waiting until shell exits.
+
+    int mInput;  // The input file descriptor
+
+    int mOutput;  // The output file descriptor
+
+    sp<IResultReceiver> mResultReceiver;
+
+    std::vector<SimpleAtomMatcher> mPushedMatchers;
+};
+
+}  // namespace statsd
+}  // namespace os
+}  // namespace android
diff --git a/cmds/statsd/src/shell/shell_config.proto b/cmds/statsd/src/shell/shell_config.proto
new file mode 100644
index 0000000..516693d
--- /dev/null
+++ b/cmds/statsd/src/shell/shell_config.proto
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+syntax = "proto2";
+
+package android.os.statsd;
+
+option java_package = "com.android.os";
+option java_outer_classname = "ShellConfig";
+
+import "frameworks/base/cmds/statsd/src/statsd_config.proto";
+
+message PulledAtomSubscription {
+    optional int32 atom_id = 1;
+
+    /* gap between two pulls in milliseconds */
+    optional int32 freq_millis = 2;
+}
+
+message ShellSubscription {
+    repeated SimpleAtomMatcher pushed = 1;
+    repeated PulledAtomSubscription pulled = 2;
+}
\ No newline at end of file
diff --git a/cmds/statsd/src/stats_log.proto b/cmds/statsd/src/stats_log.proto
index db7e680..ab0b23c 100644
--- a/cmds/statsd/src/stats_log.proto
+++ b/cmds/statsd/src/stats_log.proto
@@ -46,7 +46,7 @@
 
   optional Atom atom = 2;
 
-  optional int64 wall_clock_timestamp_nanos = 3;
+  optional int64 wall_clock_timestamp_nanos = 3 [deprecated = true];
 }
 
 message CountBucketInfo {
@@ -142,7 +142,7 @@
 
   repeated int64 elapsed_timestamp_nanos = 4;
 
-  repeated int64 wall_clock_timestamp_nanos = 5;
+  repeated int64 wall_clock_timestamp_nanos = 5 [deprecated = true];
 
   optional int64 bucket_num = 6;
 
diff --git a/cmds/statsd/src/stats_log_util.cpp b/cmds/statsd/src/stats_log_util.cpp
index a0ab3e4..805e583 100644
--- a/cmds/statsd/src/stats_log_util.cpp
+++ b/cmds/statsd/src/stats_log_util.cpp
@@ -322,6 +322,11 @@
                 case STRING:
                     protoOutput->write(FIELD_TYPE_STRING | fieldNum, dim.mValue.str_value);
                     break;
+                case STORAGE:
+                    protoOutput->write(FIELD_TYPE_MESSAGE | fieldNum,
+                                       (const char*)dim.mValue.storage_value.data(),
+                                       dim.mValue.storage_value.size());
+                    break;
                 default:
                     break;
             }
diff --git a/cmds/statsd/src/storage/StorageManager.cpp b/cmds/statsd/src/storage/StorageManager.cpp
index 3ebc8a4..2f19a02 100644
--- a/cmds/statsd/src/storage/StorageManager.cpp
+++ b/cmds/statsd/src/storage/StorageManager.cpp
@@ -392,13 +392,13 @@
     }
 }
 
-void StorageManager::printStats(FILE* out) {
-    printDirStats(out, STATS_SERVICE_DIR);
-    printDirStats(out, STATS_DATA_DIR);
+void StorageManager::printStats(int outFd) {
+    printDirStats(outFd, STATS_SERVICE_DIR);
+    printDirStats(outFd, STATS_DATA_DIR);
 }
 
-void StorageManager::printDirStats(FILE* out, const char* path) {
-    fprintf(out, "Printing stats of %s\n", path);
+void StorageManager::printDirStats(int outFd, const char* path) {
+    dprintf(outFd, "Printing stats of %s\n", path);
     unique_ptr<DIR, decltype(&closedir)> dir(opendir(path), closedir);
     if (dir == NULL) {
         VLOG("Path %s does not exist", path);
@@ -418,25 +418,22 @@
         int64_t timestamp = result[0];
         int64_t uid = result[1];
         int64_t configID = result[2];
-        fprintf(out, "\t #%d, Last updated: %lld, UID: %d, Config ID: %lld",
-                fileCount + 1,
-                (long long)timestamp,
-                (int)uid,
-                (long long)configID);
+        dprintf(outFd, "\t #%d, Last updated: %lld, UID: %d, Config ID: %lld", fileCount + 1,
+                (long long)timestamp, (int)uid, (long long)configID);
         string file_name = getFilePath(path, timestamp, uid, configID);
         ifstream file(file_name.c_str(), ifstream::in | ifstream::binary);
         if (file.is_open()) {
             file.seekg(0, ios::end);
             int fileSize = file.tellg();
             file.close();
-            fprintf(out, ", File Size: %d bytes", fileSize);
+            dprintf(outFd, ", File Size: %d bytes", fileSize);
             totalFileSize += fileSize;
         }
-        fprintf(out, "\n");
+        dprintf(outFd, "\n");
         fileCount++;
     }
-    fprintf(out, "\tTotal number of files: %d, Total size of files: %d bytes.\n",
-            fileCount, totalFileSize);
+    dprintf(outFd, "\tTotal number of files: %d, Total size of files: %d bytes.\n", fileCount,
+            totalFileSize);
 }
 
 }  // namespace statsd
diff --git a/cmds/statsd/src/storage/StorageManager.h b/cmds/statsd/src/storage/StorageManager.h
index 4840f3c..8fbc89e 100644
--- a/cmds/statsd/src/storage/StorageManager.h
+++ b/cmds/statsd/src/storage/StorageManager.h
@@ -100,13 +100,13 @@
     /**
      * Prints disk usage statistics related to statsd.
      */
-    static void printStats(FILE* out);
+    static void printStats(int out);
 
 private:
     /**
      * Prints disk usage statistics about a directory related to statsd.
      */
-    static void printDirStats(FILE* out, const char* path);
+    static void printDirStats(int out, const char* path);
 };
 
 }  // namespace statsd
diff --git a/cmds/statsd/tests/LogEvent_test.cpp b/cmds/statsd/tests/LogEvent_test.cpp
index 6e3b04c..d490701 100644
--- a/cmds/statsd/tests/LogEvent_test.cpp
+++ b/cmds/statsd/tests/LogEvent_test.cpp
@@ -91,12 +91,16 @@
 
 TEST(LogEventTest, TestKeyValuePairsAtomParsing) {
     LogEvent event1(83, 2000);
-    std::map<int32_t, int64_t> int_map;
+    std::map<int32_t, int32_t> int_map;
+    std::map<int32_t, int64_t> long_map;
     std::map<int32_t, std::string> string_map;
     std::map<int32_t, float> float_map;
 
-    int_map[11] = 123L;
-    int_map[22] = 345L;
+    int_map[11] = 123;
+    int_map[22] = 345;
+
+    long_map[33] = 678L;
+    long_map[44] = 890L;
 
     string_map[1] = "test2";
     string_map[2] = "test1";
@@ -104,12 +108,15 @@
     float_map[111] = 2.2f;
     float_map[222] = 1.1f;
 
-    EXPECT_TRUE(event1.writeKeyValuePairs(int_map, string_map, float_map));
+    EXPECT_TRUE(event1.writeKeyValuePairs(int_map,
+                                          long_map,
+                                          string_map,
+                                          float_map));
     event1.init();
 
     EXPECT_EQ(83, event1.GetTagId());
     const auto& items = event1.getValues();
-    EXPECT_EQ((size_t)12, items.size());
+    EXPECT_EQ((size_t)16, items.size());
 
     const FieldValue& item0 = event1.getValues()[0];
     EXPECT_EQ(0x2010101, item0.mField.getField());
@@ -118,8 +125,8 @@
 
     const FieldValue& item1 = event1.getValues()[1];
     EXPECT_EQ(0x2010182, item1.mField.getField());
-    EXPECT_EQ(Type::LONG, item1.mValue.getType());
-    EXPECT_EQ(123L, item1.mValue.long_value);
+    EXPECT_EQ(Type::INT, item1.mValue.getType());
+    EXPECT_EQ(123, item1.mValue.int_value);
 
     const FieldValue& item2 = event1.getValues()[2];
     EXPECT_EQ(0x2010201, item2.mField.getField());
@@ -128,48 +135,68 @@
 
     const FieldValue& item3 = event1.getValues()[3];
     EXPECT_EQ(0x2010282, item3.mField.getField());
-    EXPECT_EQ(Type::LONG, item3.mValue.getType());
-    EXPECT_EQ(345L, item3.mValue.long_value);
+    EXPECT_EQ(Type::INT, item3.mValue.getType());
+    EXPECT_EQ(345, item3.mValue.int_value);
 
     const FieldValue& item4 = event1.getValues()[4];
     EXPECT_EQ(0x2010301, item4.mField.getField());
     EXPECT_EQ(Type::INT, item4.mValue.getType());
-    EXPECT_EQ(1, item4.mValue.int_value);
+    EXPECT_EQ(33, item4.mValue.int_value);
 
     const FieldValue& item5 = event1.getValues()[5];
-    EXPECT_EQ(0x2010383, item5.mField.getField());
-    EXPECT_EQ(Type::STRING, item5.mValue.getType());
-    EXPECT_EQ("test2", item5.mValue.str_value);
+    EXPECT_EQ(0x2010382, item5.mField.getField());
+    EXPECT_EQ(Type::LONG, item5.mValue.getType());
+    EXPECT_EQ(678L, item5.mValue.int_value);
 
     const FieldValue& item6 = event1.getValues()[6];
     EXPECT_EQ(0x2010401, item6.mField.getField());
     EXPECT_EQ(Type::INT, item6.mValue.getType());
-    EXPECT_EQ(2, item6.mValue.int_value);
+    EXPECT_EQ(44, item6.mValue.int_value);
 
     const FieldValue& item7 = event1.getValues()[7];
-    EXPECT_EQ(0x2010483, item7.mField.getField());
-    EXPECT_EQ(Type::STRING, item7.mValue.getType());
-    EXPECT_EQ("test1", item7.mValue.str_value);
+    EXPECT_EQ(0x2010482, item7.mField.getField());
+    EXPECT_EQ(Type::LONG, item7.mValue.getType());
+    EXPECT_EQ(890L, item7.mValue.int_value);
 
     const FieldValue& item8 = event1.getValues()[8];
     EXPECT_EQ(0x2010501, item8.mField.getField());
     EXPECT_EQ(Type::INT, item8.mValue.getType());
-    EXPECT_EQ(111, item8.mValue.int_value);
+    EXPECT_EQ(1, item8.mValue.int_value);
 
     const FieldValue& item9 = event1.getValues()[9];
-    EXPECT_EQ(0x2010584, item9.mField.getField());
-    EXPECT_EQ(Type::FLOAT, item9.mValue.getType());
-    EXPECT_EQ(2.2f, item9.mValue.float_value);
+    EXPECT_EQ(0x2010583, item9.mField.getField());
+    EXPECT_EQ(Type::STRING, item9.mValue.getType());
+    EXPECT_EQ("test2", item9.mValue.str_value);
 
     const FieldValue& item10 = event1.getValues()[10];
-    EXPECT_EQ(0x2018601, item10.mField.getField());
+    EXPECT_EQ(0x2010601, item10.mField.getField());
     EXPECT_EQ(Type::INT, item10.mValue.getType());
-    EXPECT_EQ(222, item10.mValue.int_value);
+    EXPECT_EQ(2, item10.mValue.int_value);
 
     const FieldValue& item11 = event1.getValues()[11];
-    EXPECT_EQ(0x2018684, item11.mField.getField());
-    EXPECT_EQ(Type::FLOAT, item11.mValue.getType());
-    EXPECT_EQ(1.1f, item11.mValue.float_value);
+    EXPECT_EQ(0x2010683, item11.mField.getField());
+    EXPECT_EQ(Type::STRING, item11.mValue.getType());
+    EXPECT_EQ("test1", item11.mValue.str_value);
+
+    const FieldValue& item12 = event1.getValues()[12];
+    EXPECT_EQ(0x2010701, item12.mField.getField());
+    EXPECT_EQ(Type::INT, item12.mValue.getType());
+    EXPECT_EQ(111, item12.mValue.int_value);
+
+    const FieldValue& item13 = event1.getValues()[13];
+    EXPECT_EQ(0x2010784, item13.mField.getField());
+    EXPECT_EQ(Type::FLOAT, item13.mValue.getType());
+    EXPECT_EQ(2.2f, item13.mValue.float_value);
+
+    const FieldValue& item14 = event1.getValues()[14];
+    EXPECT_EQ(0x2018801, item14.mField.getField());
+    EXPECT_EQ(Type::INT, item14.mValue.getType());
+    EXPECT_EQ(222, item14.mValue.int_value);
+
+    const FieldValue& item15 = event1.getValues()[15];
+    EXPECT_EQ(0x2018884, item15.mField.getField());
+    EXPECT_EQ(Type::FLOAT, item15.mValue.getType());
+    EXPECT_EQ(1.1f, item15.mValue.float_value);
 }
 
 TEST(LogEventTest, TestLogParsing2) {
@@ -242,12 +269,16 @@
 }
 
 TEST(LogEventTest, TestKeyValuePairsEvent) {
-    std::map<int32_t, int64_t> int_map;
+    std::map<int32_t, int32_t> int_map;
+    std::map<int32_t, int64_t> long_map;
     std::map<int32_t, std::string> string_map;
     std::map<int32_t, float> float_map;
 
-    int_map[11] = 123L;
-    int_map[22] = 345L;
+    int_map[11] = 123;
+    int_map[22] = 345;
+
+    long_map[33] = 678L;
+    long_map[44] = 890L;
 
     string_map[1] = "test2";
     string_map[2] = "test1";
@@ -255,7 +286,7 @@
     float_map[111] = 2.2f;
     float_map[222] = 1.1f;
 
-    LogEvent event1(83, 2000, 2001, 10001, int_map, string_map, float_map);
+    LogEvent event1(83, 2000, 2001, 10001, int_map, long_map, string_map, float_map);
     event1.init();
 
     EXPECT_EQ(83, event1.GetTagId());
@@ -263,7 +294,7 @@
     EXPECT_EQ((int64_t)2001, event1.GetElapsedTimestampNs());
 
     const auto& items = event1.getValues();
-    EXPECT_EQ((size_t)13, items.size());
+    EXPECT_EQ((size_t)17, items.size());
 
     const FieldValue& item0 = event1.getValues()[0];
     EXPECT_EQ(0x00010000, item0.mField.getField());
@@ -277,8 +308,8 @@
 
     const FieldValue& item2 = event1.getValues()[2];
     EXPECT_EQ(0x2020182, item2.mField.getField());
-    EXPECT_EQ(Type::LONG, item2.mValue.getType());
-    EXPECT_EQ(123L, item2.mValue.long_value);
+    EXPECT_EQ(Type::INT, item2.mValue.getType());
+    EXPECT_EQ(123, item2.mValue.int_value);
 
     const FieldValue& item3 = event1.getValues()[3];
     EXPECT_EQ(0x2020201, item3.mField.getField());
@@ -287,48 +318,68 @@
 
     const FieldValue& item4 = event1.getValues()[4];
     EXPECT_EQ(0x2020282, item4.mField.getField());
-    EXPECT_EQ(Type::LONG, item4.mValue.getType());
-    EXPECT_EQ(345L, item4.mValue.long_value);
+    EXPECT_EQ(Type::INT, item4.mValue.getType());
+    EXPECT_EQ(345, item4.mValue.int_value);
 
     const FieldValue& item5 = event1.getValues()[5];
     EXPECT_EQ(0x2020301, item5.mField.getField());
     EXPECT_EQ(Type::INT, item5.mValue.getType());
-    EXPECT_EQ(1, item5.mValue.int_value);
+    EXPECT_EQ(33, item5.mValue.int_value);
 
     const FieldValue& item6 = event1.getValues()[6];
-    EXPECT_EQ(0x2020383, item6.mField.getField());
-    EXPECT_EQ(Type::STRING, item6.mValue.getType());
-    EXPECT_EQ("test2", item6.mValue.str_value);
+    EXPECT_EQ(0x2020382, item6.mField.getField());
+    EXPECT_EQ(Type::LONG, item6.mValue.getType());
+    EXPECT_EQ(678L, item6.mValue.long_value);
 
     const FieldValue& item7 = event1.getValues()[7];
     EXPECT_EQ(0x2020401, item7.mField.getField());
     EXPECT_EQ(Type::INT, item7.mValue.getType());
-    EXPECT_EQ(2, item7.mValue.int_value);
+    EXPECT_EQ(44, item7.mValue.int_value);
 
     const FieldValue& item8 = event1.getValues()[8];
-    EXPECT_EQ(0x2020483, item8.mField.getField());
-    EXPECT_EQ(Type::STRING, item8.mValue.getType());
-    EXPECT_EQ("test1", item8.mValue.str_value);
+    EXPECT_EQ(0x2020482, item8.mField.getField());
+    EXPECT_EQ(Type::LONG, item8.mValue.getType());
+    EXPECT_EQ(890L, item8.mValue.long_value);
 
     const FieldValue& item9 = event1.getValues()[9];
     EXPECT_EQ(0x2020501, item9.mField.getField());
     EXPECT_EQ(Type::INT, item9.mValue.getType());
-    EXPECT_EQ(111, item9.mValue.int_value);
+    EXPECT_EQ(1, item9.mValue.int_value);
 
     const FieldValue& item10 = event1.getValues()[10];
-    EXPECT_EQ(0x2020584, item10.mField.getField());
-    EXPECT_EQ(Type::FLOAT, item10.mValue.getType());
-    EXPECT_EQ(2.2f, item10.mValue.float_value);
+    EXPECT_EQ(0x2020583, item10.mField.getField());
+    EXPECT_EQ(Type::STRING, item10.mValue.getType());
+    EXPECT_EQ("test2", item10.mValue.str_value);
 
     const FieldValue& item11 = event1.getValues()[11];
-    EXPECT_EQ(0x2028601, item11.mField.getField());
+    EXPECT_EQ(0x2020601, item11.mField.getField());
     EXPECT_EQ(Type::INT, item11.mValue.getType());
-    EXPECT_EQ(222, item11.mValue.int_value);
+    EXPECT_EQ(2, item11.mValue.int_value);
 
     const FieldValue& item12 = event1.getValues()[12];
-    EXPECT_EQ(0x2028684, item12.mField.getField());
-    EXPECT_EQ(Type::FLOAT, item12.mValue.getType());
-    EXPECT_EQ(1.1f, item12.mValue.float_value);
+    EXPECT_EQ(0x2020683, item12.mField.getField());
+    EXPECT_EQ(Type::STRING, item12.mValue.getType());
+    EXPECT_EQ("test1", item12.mValue.str_value);
+
+    const FieldValue& item13 = event1.getValues()[13];
+    EXPECT_EQ(0x2020701, item13.mField.getField());
+    EXPECT_EQ(Type::INT, item13.mValue.getType());
+    EXPECT_EQ(111, item13.mValue.int_value);
+
+    const FieldValue& item14 = event1.getValues()[14];
+    EXPECT_EQ(0x2020784, item14.mField.getField());
+    EXPECT_EQ(Type::FLOAT, item14.mValue.getType());
+    EXPECT_EQ(2.2f, item14.mValue.float_value);
+
+    const FieldValue& item15 = event1.getValues()[15];
+    EXPECT_EQ(0x2028801, item15.mField.getField());
+    EXPECT_EQ(Type::INT, item15.mValue.getType());
+    EXPECT_EQ(222, item15.mValue.int_value);
+
+    const FieldValue& item16 = event1.getValues()[16];
+    EXPECT_EQ(0x2028884, item16.mField.getField());
+    EXPECT_EQ(Type::FLOAT, item16.mValue.getType());
+    EXPECT_EQ(1.1f, item16.mValue.float_value);
 }
 
 
@@ -337,4 +388,4 @@
 }  // namespace android
 #else
 GTEST_LOG_(INFO) << "This test does nothing.\n";
-#endif
\ No newline at end of file
+#endif
diff --git a/cmds/statsd/tests/e2e/DimensionInCondition_e2e_combination_AND_cond_test.cpp b/cmds/statsd/tests/e2e/DimensionInCondition_e2e_combination_AND_cond_test.cpp
index f038214..75bd40f 100644
--- a/cmds/statsd/tests/e2e/DimensionInCondition_e2e_combination_AND_cond_test.cpp
+++ b/cmds/statsd/tests/e2e/DimensionInCondition_e2e_combination_AND_cond_test.cpp
@@ -81,6 +81,34 @@
 
 }  // namespace
 
+/*
+ The following test has the following input.
+
+{ 10000000002 10000000002 (8)9999[I], [S], job0[S], 1[I],  }
+{ 10000000010 10000000010 (7)111[I], App1[S], 222[I], GMSCoreModule1[S], 222[I], GMSCoreModule2[S], ReadEmail[S], 1[I],  }
+{ 10000000011 10000000011 (29)1[I],  }
+{ 10000000040 10000000040 (29)2[I],  }
+{ 10000000050 10000000050 (7)111[I], App1[S], 222[I], GMSCoreModule1[S], 222[I], GMSCoreModule2[S], ReadEmail[S], 0[I],  }
+{ 10000000101 10000000101 (8)9999[I], [S], job0[S], 0[I],  }
+{ 10000000102 10000000102 (29)1[I],  }
+{ 10000000200 10000000200 (7)111[I], App1[S], 222[I], GMSCoreModule1[S], 222[I], GMSCoreModule2[S], ReadEmail[S], 1[I],  }
+{ 10000000201 10000000201 (8)9999[I], [S], job2[S], 1[I],  }
+{ 10000000400 10000000400 (7)111[I], App1[S], 222[I], GMSCoreModule1[S], 222[I], GMSCoreModule2[S], ReadDoc[S], 1[I],  }
+{ 10000000401 10000000401 (7)333[I], App2[S], 222[I], GMSCoreModule1[S], 555[I], GMSCoreModule2[S], ReadEmail[S], 1[I],  }
+{ 10000000450 10000000450 (29)2[I],  }
+{ 10000000500 10000000500 (8)9999[I], [S], job2[S], 0[I],  }
+{ 10000000600 10000000600 (8)8888[I], [S], job2[S], 1[I],  }
+{ 10000000650 10000000650 (29)1[I],  }
+{ 309999999999 309999999999 (7)111[I], App1[S], 222[I], GMSCoreModule1[S], 222[I], GMSCoreModule2[S], ReadDoc[S], 0[I],  }
+{ 310000000100 310000000100 (29)2[I],  }
+{ 310000000300 310000000300 (7)111[I], App1[S], 222[I], GMSCoreModule1[S], 222[I], GMSCoreModule2[S], ReadEmail[S], 0[I],  }
+{ 310000000600 310000000600 (8)8888[I], [S], job1[S], 1[I],  }
+{ 310000000640 310000000640 (29)1[I],  }
+{ 310000000650 310000000650 (29)2[I],  }
+{ 310000000700 310000000700 (7)333[I], App2[S], 222[I], GMSCoreModule1[S], 555[I], GMSCoreModule2[S], ReadEmail[S], 0[I],  }
+{ 310000000850 310000000850 (8)8888[I], [S], job2[S], 0[I],  }
+{ 310000000900 310000000900 (8)8888[I], [S], job1[S], 0[I],  }
+*/
 TEST(DimensionInConditionE2eTest, TestDurationMetric_NoLink_AND_CombinationCondition) {
     for (const bool hashStringInReport : { true, false }) {
         for (bool isDimensionInConditionSubSetOfConditionTrackerDimension : { true, false }) {
@@ -250,7 +278,7 @@
                     EXPECT_EQ(data.bucket_info(0).start_bucket_elapsed_nanos(), bucketStartTimeNs);
                     EXPECT_EQ(data.bucket_info(0).end_bucket_elapsed_nanos(),
                               bucketStartTimeNs + bucketSizeNs);
-                    EXPECT_EQ(data.bucket_info(0).duration_nanos(), 450 - 201 + bucketSizeNs - 600);
+                    EXPECT_EQ(data.bucket_info(0).duration_nanos(), 450 - 201 + bucketSizeNs - 650);
                     EXPECT_EQ(data.bucket_info(1).duration_nanos(), 100);
                     EXPECT_EQ(data.bucket_info(1).start_bucket_elapsed_nanos(),
                               bucketStartTimeNs + bucketSizeNs);
@@ -269,7 +297,7 @@
                             data.dimensions_in_condition(),
                             android::util::SYNC_STATE_CHANGED, 333, "App2");
                     EXPECT_EQ(data.bucket_info_size(), 2);
-                    EXPECT_EQ(data.bucket_info(0).duration_nanos(), 450 - 401 + bucketSizeNs - 600);
+                    EXPECT_EQ(data.bucket_info(0).duration_nanos(), 450 - 401 + bucketSizeNs - 650);
                     EXPECT_EQ(data.bucket_info(0).start_bucket_elapsed_nanos(), bucketStartTimeNs);
                     EXPECT_EQ(data.bucket_info(0).end_bucket_elapsed_nanos(),
                               bucketStartTimeNs + bucketSizeNs);
@@ -331,7 +359,7 @@
                     EXPECT_EQ(data.bucket_info(0).end_bucket_elapsed_nanos(),
                               bucketStartTimeNs + bucketSizeNs);
                     EXPECT_EQ(data.bucket_info(0).duration_nanos(), 450 - 201);
-                    EXPECT_EQ(data.bucket_info(1).duration_nanos(), bucketSizeNs - 600 + 100);
+                    EXPECT_EQ(data.bucket_info(1).duration_nanos(), bucketSizeNs - 650 + 100);
                     EXPECT_EQ(data.bucket_info(1).start_bucket_elapsed_nanos(),
                               bucketStartTimeNs + bucketSizeNs);
                     EXPECT_EQ(data.bucket_info(1).end_bucket_elapsed_nanos(),
@@ -353,7 +381,7 @@
                     EXPECT_EQ(data.bucket_info(0).start_bucket_elapsed_nanos(), bucketStartTimeNs);
                     EXPECT_EQ(data.bucket_info(0).end_bucket_elapsed_nanos(),
                               bucketStartTimeNs + bucketSizeNs);
-                    EXPECT_EQ(data.bucket_info(1).duration_nanos(), bucketSizeNs - 600 + 110);
+                    EXPECT_EQ(data.bucket_info(1).duration_nanos(), bucketSizeNs - 650 + 110);
                     EXPECT_EQ(data.bucket_info(1).start_bucket_elapsed_nanos(),
                               bucketStartTimeNs + bucketSizeNs);
                     EXPECT_EQ(data.bucket_info(1).end_bucket_elapsed_nanos(),
diff --git a/cmds/statsd/tests/e2e/GaugeMetric_e2e_pull_test.cpp b/cmds/statsd/tests/e2e/GaugeMetric_e2e_pull_test.cpp
index ea6eb3f..5b6f167 100644
--- a/cmds/statsd/tests/e2e/GaugeMetric_e2e_pull_test.cpp
+++ b/cmds/statsd/tests/e2e/GaugeMetric_e2e_pull_test.cpp
@@ -148,7 +148,7 @@
     EXPECT_EQ(1, data.bucket_info(0).atom_size());
     EXPECT_EQ(1, data.bucket_info(0).elapsed_timestamp_nanos_size());
     EXPECT_EQ(configAddedTimeNs + 55, data.bucket_info(0).elapsed_timestamp_nanos(0));
-    EXPECT_EQ(1, data.bucket_info(0).wall_clock_timestamp_nanos_size());
+    EXPECT_EQ(0, data.bucket_info(0).wall_clock_timestamp_nanos_size());
     EXPECT_EQ(baseTimeNs + 2 * bucketSizeNs, data.bucket_info(0).start_bucket_elapsed_nanos());
     EXPECT_EQ(baseTimeNs + 3 * bucketSizeNs, data.bucket_info(0).end_bucket_elapsed_nanos());
     EXPECT_TRUE(data.bucket_info(0).atom(0).temperature().sensor_name().empty());
@@ -271,7 +271,7 @@
     EXPECT_EQ(1, data.bucket_info(0).atom_size());
     EXPECT_EQ(1, data.bucket_info(0).elapsed_timestamp_nanos_size());
     EXPECT_EQ(configAddedTimeNs + 55, data.bucket_info(0).elapsed_timestamp_nanos(0));
-    EXPECT_EQ(1, data.bucket_info(0).wall_clock_timestamp_nanos_size());
+    EXPECT_EQ(0, data.bucket_info(0).wall_clock_timestamp_nanos_size());
     EXPECT_EQ(baseTimeNs + 2 * bucketSizeNs, data.bucket_info(0).start_bucket_elapsed_nanos());
     EXPECT_EQ(baseTimeNs + 3 * bucketSizeNs, data.bucket_info(0).end_bucket_elapsed_nanos());
     EXPECT_TRUE(data.bucket_info(0).atom(0).temperature().sensor_name().empty());
@@ -375,7 +375,6 @@
     EXPECT_EQ(1, data.bucket_info(0).atom_size());
     EXPECT_EQ(1, data.bucket_info(0).elapsed_timestamp_nanos_size());
     EXPECT_EQ(configAddedTimeNs + 55, data.bucket_info(0).elapsed_timestamp_nanos(0));
-    EXPECT_EQ(1, data.bucket_info(0).wall_clock_timestamp_nanos_size());
     EXPECT_EQ(baseTimeNs + 2 * bucketSizeNs, data.bucket_info(0).start_bucket_elapsed_nanos());
     EXPECT_EQ(baseTimeNs + 3 * bucketSizeNs, data.bucket_info(0).end_bucket_elapsed_nanos());
     EXPECT_TRUE(data.bucket_info(0).atom(0).temperature().sensor_name().empty());
diff --git a/cmds/statsd/tests/e2e/GaugeMetric_e2e_push_test.cpp b/cmds/statsd/tests/e2e/GaugeMetric_e2e_push_test.cpp
index 3de8d0d..5c1ef01 100644
--- a/cmds/statsd/tests/e2e/GaugeMetric_e2e_push_test.cpp
+++ b/cmds/statsd/tests/e2e/GaugeMetric_e2e_push_test.cpp
@@ -173,7 +173,7 @@
         if (sampling_type == GaugeMetric::ALL_CONDITION_CHANGES) {
             EXPECT_EQ(2, data.bucket_info(0).atom_size());
             EXPECT_EQ(2, data.bucket_info(0).elapsed_timestamp_nanos_size());
-            EXPECT_EQ(2, data.bucket_info(0).wall_clock_timestamp_nanos_size());
+            EXPECT_EQ(0, data.bucket_info(0).wall_clock_timestamp_nanos_size());
             EXPECT_EQ(bucketStartTimeNs, data.bucket_info(0).start_bucket_elapsed_nanos());
             EXPECT_EQ(bucketStartTimeNs + bucketSizeNs,
                       data.bucket_info(0).end_bucket_elapsed_nanos());
@@ -192,7 +192,6 @@
 
             EXPECT_EQ(1, data.bucket_info(1).atom_size());
             EXPECT_EQ(1, data.bucket_info(1).elapsed_timestamp_nanos_size());
-            EXPECT_EQ(1, data.bucket_info(1).wall_clock_timestamp_nanos_size());
             EXPECT_EQ(bucketStartTimeNs + bucketSizeNs,
                       data.bucket_info(1).start_bucket_elapsed_nanos());
             EXPECT_EQ(bucketStartTimeNs + 2 * bucketSizeNs,
@@ -206,7 +205,6 @@
 
             EXPECT_EQ(2, data.bucket_info(2).atom_size());
             EXPECT_EQ(2, data.bucket_info(2).elapsed_timestamp_nanos_size());
-            EXPECT_EQ(2, data.bucket_info(2).wall_clock_timestamp_nanos_size());
             EXPECT_EQ(bucketStartTimeNs + 2 * bucketSizeNs,
                       data.bucket_info(2).start_bucket_elapsed_nanos());
             EXPECT_EQ(bucketStartTimeNs + 3 * bucketSizeNs,
@@ -226,7 +224,6 @@
         } else {
             EXPECT_EQ(1, data.bucket_info(0).atom_size());
             EXPECT_EQ(1, data.bucket_info(0).elapsed_timestamp_nanos_size());
-            EXPECT_EQ(1, data.bucket_info(0).wall_clock_timestamp_nanos_size());
             EXPECT_EQ(bucketStartTimeNs, data.bucket_info(0).start_bucket_elapsed_nanos());
             EXPECT_EQ(bucketStartTimeNs + bucketSizeNs,
                       data.bucket_info(0).end_bucket_elapsed_nanos());
@@ -239,7 +236,6 @@
 
             EXPECT_EQ(1, data.bucket_info(1).atom_size());
             EXPECT_EQ(1, data.bucket_info(1).elapsed_timestamp_nanos_size());
-            EXPECT_EQ(1, data.bucket_info(1).wall_clock_timestamp_nanos_size());
             EXPECT_EQ(bucketStartTimeNs + bucketSizeNs,
                       data.bucket_info(1).start_bucket_elapsed_nanos());
             EXPECT_EQ(bucketStartTimeNs + 2 * bucketSizeNs,
@@ -253,7 +249,6 @@
 
             EXPECT_EQ(1, data.bucket_info(2).atom_size());
             EXPECT_EQ(1, data.bucket_info(2).elapsed_timestamp_nanos_size());
-            EXPECT_EQ(1, data.bucket_info(2).wall_clock_timestamp_nanos_size());
             EXPECT_EQ(bucketStartTimeNs + 2 * bucketSizeNs,
                       data.bucket_info(2).start_bucket_elapsed_nanos());
             EXPECT_EQ(bucketStartTimeNs + 3 * bucketSizeNs,
@@ -276,7 +271,6 @@
         EXPECT_EQ(1, data.bucket_info_size());
         EXPECT_EQ(1, data.bucket_info(0).atom_size());
         EXPECT_EQ(1, data.bucket_info(0).elapsed_timestamp_nanos_size());
-        EXPECT_EQ(1, data.bucket_info(0).wall_clock_timestamp_nanos_size());
         EXPECT_EQ(bucketStartTimeNs + 2 * bucketSizeNs,
                   data.bucket_info(0).start_bucket_elapsed_nanos());
         EXPECT_EQ(bucketStartTimeNs + 3 * bucketSizeNs,
diff --git a/cmds/statsd/tests/shell/ShellSubscriber_test.cpp b/cmds/statsd/tests/shell/ShellSubscriber_test.cpp
new file mode 100644
index 0000000..b380b03
--- /dev/null
+++ b/cmds/statsd/tests/shell/ShellSubscriber_test.cpp
@@ -0,0 +1,136 @@
+// Copyright (C) 2018 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.
+
+#include <gtest/gtest.h>
+
+#include <unistd.h>
+#include "frameworks/base/cmds/statsd/src/atoms.pb.h"
+#include "frameworks/base/cmds/statsd/src/shell/shell_config.pb.h"
+#include "src/shell/ShellSubscriber.h"
+#include "tests/metrics/metrics_test_helper.h"
+
+#include <stdio.h>
+#include <vector>
+
+using namespace android::os::statsd;
+using android::sp;
+using std::vector;
+using testing::NaggyMock;
+
+#ifdef __ANDROID__
+
+class MyResultReceiver : public BnResultReceiver {
+public:
+    Mutex mMutex;
+    Condition mCondition;
+    bool mHaveResult = false;
+    int32_t mResult = 0;
+
+    virtual void send(int32_t resultCode) {
+        AutoMutex _l(mMutex);
+        mResult = resultCode;
+        mHaveResult = true;
+        mCondition.signal();
+    }
+
+    int32_t waitForResult() {
+        AutoMutex _l(mMutex);
+        mCondition.waitRelative(mMutex, 1000000000);
+        return mResult;
+    }
+};
+
+TEST(ShellSubscriberTest, testPushedSubscription) {
+    // set up 2 pipes for read/write config and data
+    int fds_config[2];
+    ASSERT_EQ(0, pipe(fds_config));
+
+    int fds_data[2];
+    ASSERT_EQ(0, pipe(fds_data));
+
+    // create a simple config to get screen events
+    ShellSubscription config;
+    config.add_pushed()->set_atom_id(29);
+
+    size_t bufferSize = config.ByteSize();
+
+    // write the config to pipe, first write size of the config
+    vector<uint8_t> size_buffer(sizeof(bufferSize));
+    std::memcpy(size_buffer.data(), &bufferSize, sizeof(bufferSize));
+    write(fds_config[1], &bufferSize, sizeof(bufferSize));
+    // then write config itself
+    vector<uint8_t> buffer(bufferSize);
+    config.SerializeToArray(&buffer[0], bufferSize);
+    write(fds_config[1], buffer.data(), bufferSize);
+    close(fds_config[1]);
+
+    // create a shell subscriber.
+    sp<MockUidMap> uidMap = new NaggyMock<MockUidMap>();
+    sp<ShellSubscriber> shellClient = new ShellSubscriber(uidMap);
+    sp<MyResultReceiver> resultReceiver = new MyResultReceiver();
+
+    LogEvent event1(29, 1000);
+    event1.write(2);
+    event1.init();
+
+    // mimic a binder thread that a shell subscriber runs on. it would block.
+    std::thread reader([&resultReceiver, &fds_config, &fds_data, &shellClient] {
+        shellClient->startNewSubscription(fds_config[0], fds_data[1], resultReceiver);
+    });
+    reader.detach();
+
+    // let the shell subscriber to receive the config from pipe.
+    std::this_thread::sleep_for(100ms);
+
+    // send a log event that matches the config.
+    std::thread log_reader([&shellClient, &event1] { shellClient->onLogEvent(event1); });
+    log_reader.detach();
+
+    if (log_reader.joinable()) {
+        log_reader.join();
+    }
+
+    // wait for the data to be written.
+    std::this_thread::sleep_for(100ms);
+
+    // this is the expected screen event atom.
+    Atom atom;
+    atom.mutable_screen_state_changed()->set_state(
+            ::android::view::DisplayStateEnum::DISPLAY_STATE_ON);
+
+    int atom_size = atom.ByteSize();
+
+    // now read from the pipe. firstly read the atom size.
+    size_t dataSize = 0;
+    EXPECT_EQ((int)sizeof(dataSize), read(fds_data[0], &dataSize, sizeof(dataSize)));
+    EXPECT_EQ(atom_size, (int)dataSize);
+
+    // then read that much data which is the atom in proto binary format
+    vector<uint8_t> dataBuffer(dataSize);
+    EXPECT_EQ((int)dataSize, read(fds_data[0], dataBuffer.data(), dataSize));
+
+    // make sure the received bytes can be parsed to an atom
+    Atom receivedAtom;
+    EXPECT_TRUE(receivedAtom.ParseFromArray(dataBuffer.data(), dataSize) != 0);
+
+    // serialze the expected atom to bytes. and compare. to make sure they are the same.
+    vector<uint8_t> atomBuffer(atom_size);
+    atom.SerializeToArray(&atomBuffer[0], atom_size);
+    EXPECT_EQ(atomBuffer, dataBuffer);
+    close(fds_data[0]);
+}
+
+#else
+GTEST_LOG_(INFO) << "This test does nothing.\n";
+#endif
diff --git a/cmds/uiautomator/library/testrunner-src/com/android/uiautomator/core/ShellUiAutomatorBridge.java b/cmds/uiautomator/library/testrunner-src/com/android/uiautomator/core/ShellUiAutomatorBridge.java
index 950a258..455e4bb 100644
--- a/cmds/uiautomator/library/testrunner-src/com/android/uiautomator/core/ShellUiAutomatorBridge.java
+++ b/cmds/uiautomator/library/testrunner-src/com/android/uiautomator/core/ShellUiAutomatorBridge.java
@@ -84,7 +84,8 @@
                     cursor.close();
                 }
                 if (provider != null) {
-                    activityManager.removeContentProviderExternal(providerName, token);
+                    activityManager.removeContentProviderExternalAsUser(providerName, token,
+                            UserHandle.USER_SYSTEM);
                 }
             }
         } catch (RemoteException e) {
diff --git a/config/boot-image-profile.txt b/config/boot-image-profile.txt
index 04b33b1..be9ccec 100644
--- a/config/boot-image-profile.txt
+++ b/config/boot-image-profile.txt
@@ -11067,6 +11067,7 @@
 HPLjava/lang/Long;->valueOf(Ljava/lang/String;I)Ljava/lang/Long;
 HPLjava/lang/Math;->addExact(JJ)J
 HPLjava/lang/Math;->scalb(FI)F
+HPLjava/lang/Object;->wait()V
 HPLjava/lang/StackTraceElement;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
 HPLjava/lang/String;->copyValueOf([C)Ljava/lang/String;
 HPLjava/lang/String;->join(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/String;
@@ -15605,7 +15606,6 @@
 HSPLandroid/app/admin/IDevicePolicyManager;->getLockTaskPackages(Landroid/content/ComponentName;)[Ljava/lang/String;
 HSPLandroid/app/admin/IDevicePolicyManager;->getLongSupportMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;
 HSPLandroid/app/admin/IDevicePolicyManager;->getLongSupportMessageForUser(Landroid/content/ComponentName;I)Ljava/lang/CharSequence;
-HSPLandroid/app/admin/IDevicePolicyManager;->getMandatoryBackupTransport()Landroid/content/ComponentName;
 HSPLandroid/app/admin/IDevicePolicyManager;->getMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;IZ)I
 HSPLandroid/app/admin/IDevicePolicyManager;->getMaximumTimeToLock(Landroid/content/ComponentName;IZ)J
 HSPLandroid/app/admin/IDevicePolicyManager;->getMeteredDataDisabledPackages(Landroid/content/ComponentName;)Ljava/util/List;
@@ -15747,7 +15747,6 @@
 HSPLandroid/app/admin/IDevicePolicyManager;->setLockTaskPackages(Landroid/content/ComponentName;[Ljava/lang/String;)V
 HSPLandroid/app/admin/IDevicePolicyManager;->setLogoutEnabled(Landroid/content/ComponentName;Z)V
 HSPLandroid/app/admin/IDevicePolicyManager;->setLongSupportMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setMandatoryBackupTransport(Landroid/content/ComponentName;Landroid/content/ComponentName;)Z
 HSPLandroid/app/admin/IDevicePolicyManager;->setMasterVolumeMuted(Landroid/content/ComponentName;Z)V
 HSPLandroid/app/admin/IDevicePolicyManager;->setMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;IZ)V
 HSPLandroid/app/admin/IDevicePolicyManager;->setMaximumTimeToLock(Landroid/content/ComponentName;JZ)V
@@ -24288,7 +24287,6 @@
 HSPLandroid/inputmethodservice/IInputMethodSessionWrapper;->getInternalInputMethodSession()Landroid/view/inputmethod/InputMethodSession;
 HSPLandroid/inputmethodservice/IInputMethodWrapper$InputMethodSessionCallbackWrapper;->sessionCreated(Landroid/view/inputmethod/InputMethodSession;)V
 HSPLandroid/inputmethodservice/IInputMethodWrapper;-><init>(Landroid/inputmethodservice/AbstractInputMethodService;Landroid/view/inputmethod/InputMethod;)V
-HSPLandroid/inputmethodservice/IInputMethodWrapper;->attachToken(Landroid/os/IBinder;)V
 HSPLandroid/inputmethodservice/IInputMethodWrapper;->bindInput(Landroid/view/inputmethod/InputBinding;)V
 HSPLandroid/inputmethodservice/IInputMethodWrapper;->createSession(Landroid/view/InputChannel;Lcom/android/internal/view/IInputSessionCallback;)V
 HSPLandroid/inputmethodservice/IInputMethodWrapper;->executeMessage(Landroid/os/Message;)V
@@ -42280,11 +42278,9 @@
 HSPLcom/android/internal/view/IInputContextCallback;->setTextAfterCursor(Ljava/lang/CharSequence;I)V
 HSPLcom/android/internal/view/IInputContextCallback;->setTextBeforeCursor(Ljava/lang/CharSequence;I)V
 HSPLcom/android/internal/view/IInputMethod$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/view/IInputMethod$Stub$Proxy;->attachToken(Landroid/os/IBinder;)V
 HSPLcom/android/internal/view/IInputMethod$Stub;-><init>()V
 HSPLcom/android/internal/view/IInputMethod$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IInputMethod;
 HSPLcom/android/internal/view/IInputMethod$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/view/IInputMethod;->attachToken(Landroid/os/IBinder;)V
 HSPLcom/android/internal/view/IInputMethod;->bindInput(Landroid/view/inputmethod/InputBinding;)V
 HSPLcom/android/internal/view/IInputMethod;->changeInputMethodSubtype(Landroid/view/inputmethod/InputMethodSubtype;)V
 HSPLcom/android/internal/view/IInputMethod;->createSession(Landroid/view/InputChannel;Lcom/android/internal/view/IInputSessionCallback;)V
diff --git a/config/hiddenapi-dark-greylist.txt b/config/hiddenapi-dark-greylist.txt
deleted file mode 100644
index 71e1e29..0000000
--- a/config/hiddenapi-dark-greylist.txt
+++ /dev/null
@@ -1,120915 +0,0 @@
-#
-# DO NOT EDIT!
-# This is an autogenerated file containing the dark greylist as present in P.
-#
-Landroid/accessibilityservice/AccessibilityButtonController;-><init>(Landroid/accessibilityservice/IAccessibilityServiceConnection;)V
-Landroid/accessibilityservice/AccessibilityButtonController;->dispatchAccessibilityButtonAvailabilityChanged(Z)V
-Landroid/accessibilityservice/AccessibilityButtonController;->dispatchAccessibilityButtonClicked()V
-Landroid/accessibilityservice/AccessibilityButtonController;->LOG_TAG:Ljava/lang/String;
-Landroid/accessibilityservice/AccessibilityButtonController;->mCallbacks:Landroid/util/ArrayMap;
-Landroid/accessibilityservice/AccessibilityButtonController;->mLock:Ljava/lang/Object;
-Landroid/accessibilityservice/AccessibilityButtonController;->mServiceConnection:Landroid/accessibilityservice/IAccessibilityServiceConnection;
-Landroid/accessibilityservice/AccessibilityService$Callbacks;
-Landroid/accessibilityservice/AccessibilityService$Callbacks;->init(ILandroid/os/IBinder;)V
-Landroid/accessibilityservice/AccessibilityService$Callbacks;->onAccessibilityButtonAvailabilityChanged(Z)V
-Landroid/accessibilityservice/AccessibilityService$Callbacks;->onAccessibilityButtonClicked()V
-Landroid/accessibilityservice/AccessibilityService$Callbacks;->onAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/accessibilityservice/AccessibilityService$Callbacks;->onFingerprintCapturingGesturesChanged(Z)V
-Landroid/accessibilityservice/AccessibilityService$Callbacks;->onFingerprintGesture(I)V
-Landroid/accessibilityservice/AccessibilityService$Callbacks;->onGesture(I)Z
-Landroid/accessibilityservice/AccessibilityService$Callbacks;->onInterrupt()V
-Landroid/accessibilityservice/AccessibilityService$Callbacks;->onKeyEvent(Landroid/view/KeyEvent;)Z
-Landroid/accessibilityservice/AccessibilityService$Callbacks;->onMagnificationChanged(Landroid/graphics/Region;FFF)V
-Landroid/accessibilityservice/AccessibilityService$Callbacks;->onPerformGestureResult(IZ)V
-Landroid/accessibilityservice/AccessibilityService$Callbacks;->onServiceConnected()V
-Landroid/accessibilityservice/AccessibilityService$Callbacks;->onSoftKeyboardShowModeChanged(I)V
-Landroid/accessibilityservice/AccessibilityService$GestureResultCallbackInfo;
-Landroid/accessibilityservice/AccessibilityService$GestureResultCallbackInfo;-><init>(Landroid/accessibilityservice/GestureDescription;Landroid/accessibilityservice/AccessibilityService$GestureResultCallback;Landroid/os/Handler;)V
-Landroid/accessibilityservice/AccessibilityService$GestureResultCallbackInfo;->callback:Landroid/accessibilityservice/AccessibilityService$GestureResultCallback;
-Landroid/accessibilityservice/AccessibilityService$GestureResultCallbackInfo;->gestureDescription:Landroid/accessibilityservice/GestureDescription;
-Landroid/accessibilityservice/AccessibilityService$GestureResultCallbackInfo;->handler:Landroid/os/Handler;
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;-><init>(Landroid/content/Context;Landroid/os/Looper;Landroid/accessibilityservice/AccessibilityService$Callbacks;)V
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->clearAccessibilityCache()V
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->DO_ACCESSIBILITY_BUTTON_AVAILABILITY_CHANGED:I
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->DO_ACCESSIBILITY_BUTTON_CLICKED:I
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->DO_CLEAR_ACCESSIBILITY_CACHE:I
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->DO_GESTURE_COMPLETE:I
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->DO_INIT:I
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->DO_ON_ACCESSIBILITY_EVENT:I
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->DO_ON_FINGERPRINT_ACTIVE_CHANGED:I
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->DO_ON_FINGERPRINT_GESTURE:I
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->DO_ON_GESTURE:I
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->DO_ON_INTERRUPT:I
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->DO_ON_KEY_EVENT:I
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->DO_ON_MAGNIFICATION_CHANGED:I
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->DO_ON_SOFT_KEYBOARD_SHOW_MODE_CHANGED:I
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->executeMessage(Landroid/os/Message;)V
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->init(Landroid/accessibilityservice/IAccessibilityServiceConnection;ILandroid/os/IBinder;)V
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->mCallback:Landroid/accessibilityservice/AccessibilityService$Callbacks;
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->mCaller:Lcom/android/internal/os/HandlerCaller;
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->mConnectionId:I
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->onAccessibilityButtonAvailabilityChanged(Z)V
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->onAccessibilityButtonClicked()V
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->onAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;Z)V
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->onFingerprintCapturingGesturesChanged(Z)V
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->onFingerprintGesture(I)V
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->onGesture(I)V
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->onInterrupt()V
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->onKeyEvent(Landroid/view/KeyEvent;I)V
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->onMagnificationChanged(Landroid/graphics/Region;FFF)V
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->onPerformGestureResult(IZ)V
-Landroid/accessibilityservice/AccessibilityService$IAccessibilityServiceClientWrapper;->onSoftKeyboardShowModeChanged(I)V
-Landroid/accessibilityservice/AccessibilityService$MagnificationController;-><init>(Landroid/accessibilityservice/AccessibilityService;Ljava/lang/Object;)V
-Landroid/accessibilityservice/AccessibilityService$MagnificationController;->dispatchMagnificationChanged(Landroid/graphics/Region;FFF)V
-Landroid/accessibilityservice/AccessibilityService$MagnificationController;->mListeners:Landroid/util/ArrayMap;
-Landroid/accessibilityservice/AccessibilityService$MagnificationController;->mLock:Ljava/lang/Object;
-Landroid/accessibilityservice/AccessibilityService$MagnificationController;->mService:Landroid/accessibilityservice/AccessibilityService;
-Landroid/accessibilityservice/AccessibilityService$MagnificationController;->onServiceConnected()V
-Landroid/accessibilityservice/AccessibilityService$MagnificationController;->setMagnificationCallbackEnabled(Z)V
-Landroid/accessibilityservice/AccessibilityService$SoftKeyboardController;-><init>(Landroid/accessibilityservice/AccessibilityService;Ljava/lang/Object;)V
-Landroid/accessibilityservice/AccessibilityService$SoftKeyboardController;->dispatchSoftKeyboardShowModeChanged(I)V
-Landroid/accessibilityservice/AccessibilityService$SoftKeyboardController;->mListeners:Landroid/util/ArrayMap;
-Landroid/accessibilityservice/AccessibilityService$SoftKeyboardController;->mLock:Ljava/lang/Object;
-Landroid/accessibilityservice/AccessibilityService$SoftKeyboardController;->mService:Landroid/accessibilityservice/AccessibilityService;
-Landroid/accessibilityservice/AccessibilityService$SoftKeyboardController;->onServiceConnected()V
-Landroid/accessibilityservice/AccessibilityService$SoftKeyboardController;->setSoftKeyboardCallbackEnabled(Z)V
-Landroid/accessibilityservice/AccessibilityService$SoftKeyboardShowMode;
-Landroid/accessibilityservice/AccessibilityService;->dispatchServiceConnected()V
-Landroid/accessibilityservice/AccessibilityService;->LOG_TAG:Ljava/lang/String;
-Landroid/accessibilityservice/AccessibilityService;->mAccessibilityButtonController:Landroid/accessibilityservice/AccessibilityButtonController;
-Landroid/accessibilityservice/AccessibilityService;->mConnectionId:I
-Landroid/accessibilityservice/AccessibilityService;->mFingerprintGestureController:Landroid/accessibilityservice/FingerprintGestureController;
-Landroid/accessibilityservice/AccessibilityService;->mGestureStatusCallbackInfos:Landroid/util/SparseArray;
-Landroid/accessibilityservice/AccessibilityService;->mGestureStatusCallbackSequence:I
-Landroid/accessibilityservice/AccessibilityService;->mLock:Ljava/lang/Object;
-Landroid/accessibilityservice/AccessibilityService;->mMagnificationController:Landroid/accessibilityservice/AccessibilityService$MagnificationController;
-Landroid/accessibilityservice/AccessibilityService;->mSoftKeyboardController:Landroid/accessibilityservice/AccessibilityService$SoftKeyboardController;
-Landroid/accessibilityservice/AccessibilityService;->mWindowManager:Landroid/view/WindowManager;
-Landroid/accessibilityservice/AccessibilityService;->onAccessibilityButtonAvailabilityChanged(Z)V
-Landroid/accessibilityservice/AccessibilityService;->onAccessibilityButtonClicked()V
-Landroid/accessibilityservice/AccessibilityService;->onFingerprintCapturingGesturesChanged(Z)V
-Landroid/accessibilityservice/AccessibilityService;->onFingerprintGesture(I)V
-Landroid/accessibilityservice/AccessibilityService;->onMagnificationChanged(Landroid/graphics/Region;FFF)V
-Landroid/accessibilityservice/AccessibilityService;->onPerformGestureResult(IZ)V
-Landroid/accessibilityservice/AccessibilityService;->onSoftKeyboardShowModeChanged(I)V
-Landroid/accessibilityservice/AccessibilityService;->sendServiceInfo()V
-Landroid/accessibilityservice/AccessibilityServiceInfo$CapabilityInfo;
-Landroid/accessibilityservice/AccessibilityServiceInfo$CapabilityInfo;-><init>(III)V
-Landroid/accessibilityservice/AccessibilityServiceInfo$CapabilityInfo;->capability:I
-Landroid/accessibilityservice/AccessibilityServiceInfo$CapabilityInfo;->descResId:I
-Landroid/accessibilityservice/AccessibilityServiceInfo$CapabilityInfo;->titleResId:I
-Landroid/accessibilityservice/AccessibilityServiceInfo$FeedbackType;
-Landroid/accessibilityservice/AccessibilityServiceInfo;-><init>(Landroid/content/pm/ResolveInfo;Landroid/content/Context;)V
-Landroid/accessibilityservice/AccessibilityServiceInfo;->appendCapabilities(Ljava/lang/StringBuilder;I)V
-Landroid/accessibilityservice/AccessibilityServiceInfo;->appendEventTypes(Ljava/lang/StringBuilder;I)V
-Landroid/accessibilityservice/AccessibilityServiceInfo;->appendFeedbackTypes(Ljava/lang/StringBuilder;I)V
-Landroid/accessibilityservice/AccessibilityServiceInfo;->appendFlags(Ljava/lang/StringBuilder;I)V
-Landroid/accessibilityservice/AccessibilityServiceInfo;->appendPackageNames(Ljava/lang/StringBuilder;[Ljava/lang/String;)V
-Landroid/accessibilityservice/AccessibilityServiceInfo;->crashed:Z
-Landroid/accessibilityservice/AccessibilityServiceInfo;->fingerprintAvailable(Landroid/content/Context;)Z
-Landroid/accessibilityservice/AccessibilityServiceInfo;->FLAG_FORCE_DIRECT_BOOT_AWARE:I
-Landroid/accessibilityservice/AccessibilityServiceInfo;->getCapabilityInfos()Ljava/util/List;
-Landroid/accessibilityservice/AccessibilityServiceInfo;->getCapabilityInfos(Landroid/content/Context;)Ljava/util/List;
-Landroid/accessibilityservice/AccessibilityServiceInfo;->getCapabilityInfoSparseArray(Landroid/content/Context;)Landroid/util/SparseArray;
-Landroid/accessibilityservice/AccessibilityServiceInfo;->getComponentName()Landroid/content/ComponentName;
-Landroid/accessibilityservice/AccessibilityServiceInfo;->initFromParcel(Landroid/os/Parcel;)V
-Landroid/accessibilityservice/AccessibilityServiceInfo;->isDirectBootAware()Z
-Landroid/accessibilityservice/AccessibilityServiceInfo;->mCapabilities:I
-Landroid/accessibilityservice/AccessibilityServiceInfo;->mComponentName:Landroid/content/ComponentName;
-Landroid/accessibilityservice/AccessibilityServiceInfo;->mDescriptionResId:I
-Landroid/accessibilityservice/AccessibilityServiceInfo;->mNonLocalizedDescription:Ljava/lang/String;
-Landroid/accessibilityservice/AccessibilityServiceInfo;->mNonLocalizedSummary:Ljava/lang/String;
-Landroid/accessibilityservice/AccessibilityServiceInfo;->mResolveInfo:Landroid/content/pm/ResolveInfo;
-Landroid/accessibilityservice/AccessibilityServiceInfo;->mSettingsActivityName:Ljava/lang/String;
-Landroid/accessibilityservice/AccessibilityServiceInfo;->mSummaryResId:I
-Landroid/accessibilityservice/AccessibilityServiceInfo;->sAvailableCapabilityInfos:Landroid/util/SparseArray;
-Landroid/accessibilityservice/AccessibilityServiceInfo;->setComponentName(Landroid/content/ComponentName;)V
-Landroid/accessibilityservice/AccessibilityServiceInfo;->TAG_ACCESSIBILITY_SERVICE:Ljava/lang/String;
-Landroid/accessibilityservice/AccessibilityServiceInfo;->updateDynamicallyConfigurableProperties(Landroid/accessibilityservice/AccessibilityServiceInfo;)V
-Landroid/accessibilityservice/FingerprintGestureController;-><init>(Landroid/accessibilityservice/IAccessibilityServiceConnection;)V
-Landroid/accessibilityservice/FingerprintGestureController;->LOG_TAG:Ljava/lang/String;
-Landroid/accessibilityservice/FingerprintGestureController;->mAccessibilityServiceConnection:Landroid/accessibilityservice/IAccessibilityServiceConnection;
-Landroid/accessibilityservice/FingerprintGestureController;->mCallbackHandlerMap:Landroid/util/ArrayMap;
-Landroid/accessibilityservice/FingerprintGestureController;->mLock:Ljava/lang/Object;
-Landroid/accessibilityservice/FingerprintGestureController;->onGesture(I)V
-Landroid/accessibilityservice/FingerprintGestureController;->onGestureDetectionActiveChanged(Z)V
-Landroid/accessibilityservice/GestureDescription$Builder;->mStrokes:Ljava/util/List;
-Landroid/accessibilityservice/GestureDescription$GestureStep;
-Landroid/accessibilityservice/GestureDescription$GestureStep;-><init>(JI[Landroid/accessibilityservice/GestureDescription$TouchPoint;)V
-Landroid/accessibilityservice/GestureDescription$GestureStep;-><init>(Landroid/os/Parcel;)V
-Landroid/accessibilityservice/GestureDescription$GestureStep;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/accessibilityservice/GestureDescription$GestureStep;->numTouchPoints:I
-Landroid/accessibilityservice/GestureDescription$GestureStep;->timeSinceGestureStart:J
-Landroid/accessibilityservice/GestureDescription$GestureStep;->touchPoints:[Landroid/accessibilityservice/GestureDescription$TouchPoint;
-Landroid/accessibilityservice/GestureDescription$MotionEventGenerator;
-Landroid/accessibilityservice/GestureDescription$MotionEventGenerator;-><init>()V
-Landroid/accessibilityservice/GestureDescription$MotionEventGenerator;->getCurrentTouchPoints(I)[Landroid/accessibilityservice/GestureDescription$TouchPoint;
-Landroid/accessibilityservice/GestureDescription$MotionEventGenerator;->getGestureStepsFromGestureDescription(Landroid/accessibilityservice/GestureDescription;I)Ljava/util/List;
-Landroid/accessibilityservice/GestureDescription$MotionEventGenerator;->sCurrentTouchPoints:[Landroid/accessibilityservice/GestureDescription$TouchPoint;
-Landroid/accessibilityservice/GestureDescription$StrokeDescription;->getContinuedStrokeId()I
-Landroid/accessibilityservice/GestureDescription$StrokeDescription;->getId()I
-Landroid/accessibilityservice/GestureDescription$StrokeDescription;->getLength()F
-Landroid/accessibilityservice/GestureDescription$StrokeDescription;->getPosForTime(J[F)Z
-Landroid/accessibilityservice/GestureDescription$StrokeDescription;->hasPointForTime(J)Z
-Landroid/accessibilityservice/GestureDescription$StrokeDescription;->INVALID_STROKE_ID:I
-Landroid/accessibilityservice/GestureDescription$StrokeDescription;->mContinued:Z
-Landroid/accessibilityservice/GestureDescription$StrokeDescription;->mContinuedStrokeId:I
-Landroid/accessibilityservice/GestureDescription$StrokeDescription;->mEndTime:J
-Landroid/accessibilityservice/GestureDescription$StrokeDescription;->mId:I
-Landroid/accessibilityservice/GestureDescription$StrokeDescription;->mPath:Landroid/graphics/Path;
-Landroid/accessibilityservice/GestureDescription$StrokeDescription;->mPathMeasure:Landroid/graphics/PathMeasure;
-Landroid/accessibilityservice/GestureDescription$StrokeDescription;->mStartTime:J
-Landroid/accessibilityservice/GestureDescription$StrokeDescription;->mTapLocation:[F
-Landroid/accessibilityservice/GestureDescription$StrokeDescription;->mTimeToLengthConversion:F
-Landroid/accessibilityservice/GestureDescription$StrokeDescription;->sIdCounter:I
-Landroid/accessibilityservice/GestureDescription$TouchPoint;
-Landroid/accessibilityservice/GestureDescription$TouchPoint;-><init>()V
-Landroid/accessibilityservice/GestureDescription$TouchPoint;-><init>(Landroid/accessibilityservice/GestureDescription$TouchPoint;)V
-Landroid/accessibilityservice/GestureDescription$TouchPoint;-><init>(Landroid/os/Parcel;)V
-Landroid/accessibilityservice/GestureDescription$TouchPoint;->copyFrom(Landroid/accessibilityservice/GestureDescription$TouchPoint;)V
-Landroid/accessibilityservice/GestureDescription$TouchPoint;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/accessibilityservice/GestureDescription$TouchPoint;->FLAG_IS_END_OF_PATH:I
-Landroid/accessibilityservice/GestureDescription$TouchPoint;->FLAG_IS_START_OF_PATH:I
-Landroid/accessibilityservice/GestureDescription$TouchPoint;->mContinuedStrokeId:I
-Landroid/accessibilityservice/GestureDescription$TouchPoint;->mIsEndOfPath:Z
-Landroid/accessibilityservice/GestureDescription$TouchPoint;->mIsStartOfPath:Z
-Landroid/accessibilityservice/GestureDescription$TouchPoint;->mStrokeId:I
-Landroid/accessibilityservice/GestureDescription$TouchPoint;->mX:F
-Landroid/accessibilityservice/GestureDescription$TouchPoint;->mY:F
-Landroid/accessibilityservice/GestureDescription;-><init>()V
-Landroid/accessibilityservice/GestureDescription;-><init>(Ljava/util/List;)V
-Landroid/accessibilityservice/GestureDescription;->getNextKeyPointAtLeast(J)J
-Landroid/accessibilityservice/GestureDescription;->getPointsForTime(J[Landroid/accessibilityservice/GestureDescription$TouchPoint;)I
-Landroid/accessibilityservice/GestureDescription;->getTotalDuration(Ljava/util/List;)J
-Landroid/accessibilityservice/GestureDescription;->MAX_GESTURE_DURATION_MS:J
-Landroid/accessibilityservice/GestureDescription;->MAX_STROKE_COUNT:I
-Landroid/accessibilityservice/GestureDescription;->mStrokes:Ljava/util/List;
-Landroid/accessibilityservice/GestureDescription;->mTempPos:[F
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;->clearAccessibilityCache()V
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;->init(Landroid/accessibilityservice/IAccessibilityServiceConnection;ILandroid/os/IBinder;)V
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;->onAccessibilityButtonAvailabilityChanged(Z)V
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;->onAccessibilityButtonClicked()V
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;->onAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;Z)V
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;->onFingerprintCapturingGesturesChanged(Z)V
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;->onFingerprintGesture(I)V
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;->onGesture(I)V
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;->onInterrupt()V
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;->onKeyEvent(Landroid/view/KeyEvent;I)V
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;->onMagnificationChanged(Landroid/graphics/Region;FFF)V
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;->onPerformGestureResult(IZ)V
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;->onSoftKeyboardShowModeChanged(I)V
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub;
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub;-><init>()V
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accessibilityservice/IAccessibilityServiceClient;
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub;->TRANSACTION_clearAccessibilityCache:I
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub;->TRANSACTION_init:I
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub;->TRANSACTION_onAccessibilityButtonAvailabilityChanged:I
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub;->TRANSACTION_onAccessibilityButtonClicked:I
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub;->TRANSACTION_onAccessibilityEvent:I
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub;->TRANSACTION_onFingerprintCapturingGesturesChanged:I
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub;->TRANSACTION_onFingerprintGesture:I
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub;->TRANSACTION_onGesture:I
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub;->TRANSACTION_onInterrupt:I
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub;->TRANSACTION_onKeyEvent:I
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub;->TRANSACTION_onMagnificationChanged:I
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub;->TRANSACTION_onPerformGestureResult:I
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub;->TRANSACTION_onSoftKeyboardShowModeChanged:I
-Landroid/accessibilityservice/IAccessibilityServiceClient;
-Landroid/accessibilityservice/IAccessibilityServiceClient;->clearAccessibilityCache()V
-Landroid/accessibilityservice/IAccessibilityServiceClient;->init(Landroid/accessibilityservice/IAccessibilityServiceConnection;ILandroid/os/IBinder;)V
-Landroid/accessibilityservice/IAccessibilityServiceClient;->onAccessibilityButtonAvailabilityChanged(Z)V
-Landroid/accessibilityservice/IAccessibilityServiceClient;->onAccessibilityButtonClicked()V
-Landroid/accessibilityservice/IAccessibilityServiceClient;->onAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;Z)V
-Landroid/accessibilityservice/IAccessibilityServiceClient;->onFingerprintCapturingGesturesChanged(Z)V
-Landroid/accessibilityservice/IAccessibilityServiceClient;->onFingerprintGesture(I)V
-Landroid/accessibilityservice/IAccessibilityServiceClient;->onGesture(I)V
-Landroid/accessibilityservice/IAccessibilityServiceClient;->onInterrupt()V
-Landroid/accessibilityservice/IAccessibilityServiceClient;->onKeyEvent(Landroid/view/KeyEvent;I)V
-Landroid/accessibilityservice/IAccessibilityServiceClient;->onMagnificationChanged(Landroid/graphics/Region;FFF)V
-Landroid/accessibilityservice/IAccessibilityServiceClient;->onPerformGestureResult(IZ)V
-Landroid/accessibilityservice/IAccessibilityServiceClient;->onSoftKeyboardShowModeChanged(I)V
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->disableSelf()V
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->findAccessibilityNodeInfoByAccessibilityId(IJILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IJLandroid/os/Bundle;)[Ljava/lang/String;
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->findAccessibilityNodeInfosByText(IJLjava/lang/String;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;J)[Ljava/lang/String;
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->findAccessibilityNodeInfosByViewId(IJLjava/lang/String;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;J)[Ljava/lang/String;
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->findFocus(IJIILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;J)[Ljava/lang/String;
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->focusSearch(IJIILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;J)[Ljava/lang/String;
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->getMagnificationCenterX()F
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->getMagnificationCenterY()F
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->getMagnificationRegion()Landroid/graphics/Region;
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->getMagnificationScale()F
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->getServiceInfo()Landroid/accessibilityservice/AccessibilityServiceInfo;
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->getWindow(I)Landroid/view/accessibility/AccessibilityWindowInfo;
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->getWindows()Ljava/util/List;
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->isAccessibilityButtonAvailable()Z
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->isFingerprintGestureDetectionAvailable()Z
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->performAccessibilityAction(IJILandroid/os/Bundle;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;J)Z
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->performGlobalAction(I)Z
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->resetMagnification(Z)Z
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->sendGesture(ILandroid/content/pm/ParceledListSlice;)V
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->setMagnificationCallbackEnabled(Z)V
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->setMagnificationScaleAndCenter(FFFZ)Z
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->setOnKeyEventResult(ZI)V
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->setServiceInfo(Landroid/accessibilityservice/AccessibilityServiceInfo;)V
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->setSoftKeyboardCallbackEnabled(Z)V
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub$Proxy;->setSoftKeyboardShowMode(I)Z
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_disableSelf:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_findAccessibilityNodeInfoByAccessibilityId:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_findAccessibilityNodeInfosByText:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_findAccessibilityNodeInfosByViewId:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_findFocus:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_focusSearch:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_getMagnificationCenterX:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_getMagnificationCenterY:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_getMagnificationRegion:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_getMagnificationScale:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_getServiceInfo:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_getWindow:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_getWindows:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_isAccessibilityButtonAvailable:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_isFingerprintGestureDetectionAvailable:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_performAccessibilityAction:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_performGlobalAction:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_resetMagnification:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_sendGesture:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_setMagnificationCallbackEnabled:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_setMagnificationScaleAndCenter:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_setOnKeyEventResult:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_setServiceInfo:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_setSoftKeyboardCallbackEnabled:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->TRANSACTION_setSoftKeyboardShowMode:I
-Landroid/accessibilityservice/IAccessibilityServiceConnection;
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->disableSelf()V
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->findAccessibilityNodeInfoByAccessibilityId(IJILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IJLandroid/os/Bundle;)[Ljava/lang/String;
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->findAccessibilityNodeInfosByText(IJLjava/lang/String;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;J)[Ljava/lang/String;
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->findAccessibilityNodeInfosByViewId(IJLjava/lang/String;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;J)[Ljava/lang/String;
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->findFocus(IJIILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;J)[Ljava/lang/String;
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->focusSearch(IJIILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;J)[Ljava/lang/String;
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->getMagnificationCenterX()F
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->getMagnificationCenterY()F
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->getMagnificationRegion()Landroid/graphics/Region;
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->getMagnificationScale()F
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->getServiceInfo()Landroid/accessibilityservice/AccessibilityServiceInfo;
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->getWindow(I)Landroid/view/accessibility/AccessibilityWindowInfo;
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->getWindows()Ljava/util/List;
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->isAccessibilityButtonAvailable()Z
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->isFingerprintGestureDetectionAvailable()Z
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->performAccessibilityAction(IJILandroid/os/Bundle;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;J)Z
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->performGlobalAction(I)Z
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->resetMagnification(Z)Z
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->sendGesture(ILandroid/content/pm/ParceledListSlice;)V
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->setMagnificationCallbackEnabled(Z)V
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->setMagnificationScaleAndCenter(FFFZ)Z
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->setOnKeyEventResult(ZI)V
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->setServiceInfo(Landroid/accessibilityservice/AccessibilityServiceInfo;)V
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->setSoftKeyboardCallbackEnabled(Z)V
-Landroid/accessibilityservice/IAccessibilityServiceConnection;->setSoftKeyboardShowMode(I)Z
-Landroid/accounts/AbstractAccountAuthenticator$Transport;
-Landroid/accounts/AbstractAccountAuthenticator$Transport;-><init>()V
-Landroid/accounts/AbstractAccountAuthenticator$Transport;->addAccount(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/accounts/AbstractAccountAuthenticator$Transport;->addAccountFromCredentials(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Landroid/os/Bundle;)V
-Landroid/accounts/AbstractAccountAuthenticator$Transport;->confirmCredentials(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Landroid/os/Bundle;)V
-Landroid/accounts/AbstractAccountAuthenticator$Transport;->editProperties(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;)V
-Landroid/accounts/AbstractAccountAuthenticator$Transport;->finishSession(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/accounts/AbstractAccountAuthenticator$Transport;->getAccountCredentialsForCloning(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;)V
-Landroid/accounts/AbstractAccountAuthenticator$Transport;->getAccountRemovalAllowed(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;)V
-Landroid/accounts/AbstractAccountAuthenticator$Transport;->getAuthToken(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/accounts/AbstractAccountAuthenticator$Transport;->getAuthTokenLabel(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;)V
-Landroid/accounts/AbstractAccountAuthenticator$Transport;->hasFeatures(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;[Ljava/lang/String;)V
-Landroid/accounts/AbstractAccountAuthenticator$Transport;->isCredentialsUpdateSuggested(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;)V
-Landroid/accounts/AbstractAccountAuthenticator$Transport;->startAddAccountSession(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/accounts/AbstractAccountAuthenticator$Transport;->startUpdateCredentialsSession(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/accounts/AbstractAccountAuthenticator$Transport;->updateCredentials(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/accounts/AbstractAccountAuthenticator;->checkBinderPermission()V
-Landroid/accounts/AbstractAccountAuthenticator;->handleException(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Exception;)V
-Landroid/accounts/AbstractAccountAuthenticator;->KEY_ACCOUNT:Ljava/lang/String;
-Landroid/accounts/AbstractAccountAuthenticator;->KEY_AUTH_TOKEN_TYPE:Ljava/lang/String;
-Landroid/accounts/AbstractAccountAuthenticator;->KEY_OPTIONS:Ljava/lang/String;
-Landroid/accounts/AbstractAccountAuthenticator;->KEY_REQUIRED_FEATURES:Ljava/lang/String;
-Landroid/accounts/AbstractAccountAuthenticator;->mContext:Landroid/content/Context;
-Landroid/accounts/AbstractAccountAuthenticator;->mTransport:Landroid/accounts/AbstractAccountAuthenticator$Transport;
-Landroid/accounts/AbstractAccountAuthenticator;->TAG:Ljava/lang/String;
-Landroid/accounts/Account;-><init>(Landroid/accounts/Account;Ljava/lang/String;)V
-Landroid/accounts/Account;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/accounts/Account;->getAccessId()Ljava/lang/String;
-Landroid/accounts/Account;->sAccessedAccounts:Ljava/util/Set;
-Landroid/accounts/AccountAndUser;
-Landroid/accounts/AccountAuthenticatorActivity;->mAccountAuthenticatorResponse:Landroid/accounts/AccountAuthenticatorResponse;
-Landroid/accounts/AccountAuthenticatorActivity;->mResultBundle:Landroid/os/Bundle;
-Landroid/accounts/AccountAuthenticatorResponse;->mAccountAuthenticatorResponse:Landroid/accounts/IAccountAuthenticatorResponse;
-Landroid/accounts/AccountAuthenticatorResponse;->TAG:Ljava/lang/String;
-Landroid/accounts/AccountManager$AccountVisibility;
-Landroid/accounts/AccountManager$AmsTask$Response;
-Landroid/accounts/AccountManager$AmsTask$Response;-><init>()V
-Landroid/accounts/AccountManager$AmsTask$Response;->onError(ILjava/lang/String;)V
-Landroid/accounts/AccountManager$AmsTask$Response;->onResult(Landroid/os/Bundle;)V
-Landroid/accounts/AccountManager$AmsTask;
-Landroid/accounts/AccountManager$AmsTask;-><init>(Landroid/app/Activity;Landroid/os/Handler;Landroid/accounts/AccountManagerCallback;)V
-Landroid/accounts/AccountManager$AmsTask;->doWork()V
-Landroid/accounts/AccountManager$AmsTask;->internalGetResult(Ljava/lang/Long;Ljava/util/concurrent/TimeUnit;)Landroid/os/Bundle;
-Landroid/accounts/AccountManager$AmsTask;->mCallback:Landroid/accounts/AccountManagerCallback;
-Landroid/accounts/AccountManager$AmsTask;->set(Landroid/os/Bundle;)V
-Landroid/accounts/AccountManager$AmsTask;->start()Landroid/accounts/AccountManagerFuture;
-Landroid/accounts/AccountManager$BaseFutureTask$Response;
-Landroid/accounts/AccountManager$BaseFutureTask$Response;-><init>()V
-Landroid/accounts/AccountManager$BaseFutureTask$Response;->onError(ILjava/lang/String;)V
-Landroid/accounts/AccountManager$BaseFutureTask$Response;->onResult(Landroid/os/Bundle;)V
-Landroid/accounts/AccountManager$BaseFutureTask;
-Landroid/accounts/AccountManager$BaseFutureTask;-><init>(Landroid/os/Handler;)V
-Landroid/accounts/AccountManager$BaseFutureTask;->bundleToResult(Landroid/os/Bundle;)Ljava/lang/Object;
-Landroid/accounts/AccountManager$BaseFutureTask;->doWork()V
-Landroid/accounts/AccountManager$BaseFutureTask;->mHandler:Landroid/os/Handler;
-Landroid/accounts/AccountManager$BaseFutureTask;->mResponse:Landroid/accounts/IAccountManagerResponse;
-Landroid/accounts/AccountManager$BaseFutureTask;->postRunnableToHandler(Ljava/lang/Runnable;)V
-Landroid/accounts/AccountManager$BaseFutureTask;->startTask()V
-Landroid/accounts/AccountManager$Future2Task;
-Landroid/accounts/AccountManager$Future2Task;-><init>(Landroid/os/Handler;Landroid/accounts/AccountManagerCallback;)V
-Landroid/accounts/AccountManager$Future2Task;->internalGetResult(Ljava/lang/Long;Ljava/util/concurrent/TimeUnit;)Ljava/lang/Object;
-Landroid/accounts/AccountManager$Future2Task;->mCallback:Landroid/accounts/AccountManagerCallback;
-Landroid/accounts/AccountManager$Future2Task;->start()Landroid/accounts/AccountManager$Future2Task;
-Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;
-Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;-><init>(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)V
-Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;->doWork()V
-Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;->mAccountType:Ljava/lang/String;
-Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;->mAddAccountOptions:Landroid/os/Bundle;
-Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;->mFeatures:[Ljava/lang/String;
-Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;->mFuture:Landroid/accounts/AccountManagerFuture;
-Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;->mNumAccounts:I
-Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;->run(Landroid/accounts/AccountManagerFuture;)V
-Landroid/accounts/AccountManager;->ACCOUNT_ACCESS_TOKEN_TYPE:Ljava/lang/String;
-Landroid/accounts/AccountManager;->ACTION_VISIBLE_ACCOUNTS_CHANGED:Ljava/lang/String;
-Landroid/accounts/AccountManager;->addAccountAsUser(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;Landroid/os/UserHandle;)Landroid/accounts/AccountManagerFuture;
-Landroid/accounts/AccountManager;->addSharedAccountsFromParentUser(Landroid/os/UserHandle;Landroid/os/UserHandle;)V
-Landroid/accounts/AccountManager;->convertErrorToException(ILjava/lang/String;)Ljava/lang/Exception;
-Landroid/accounts/AccountManager;->copyAccountToUser(Landroid/accounts/Account;Landroid/os/UserHandle;Landroid/os/UserHandle;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
-Landroid/accounts/AccountManager;->createRequestAccountAccessIntentSenderAsUser(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/IntentSender;
-Landroid/accounts/AccountManager;->ensureNotOnMainThread()V
-Landroid/accounts/AccountManager;->ERROR_CODE_MANAGEMENT_DISABLED_FOR_ACCOUNT_TYPE:I
-Landroid/accounts/AccountManager;->ERROR_CODE_USER_RESTRICTED:I
-Landroid/accounts/AccountManager;->getAccountByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)V
-Landroid/accounts/AccountManager;->getAccountsAsUser(I)[Landroid/accounts/Account;
-Landroid/accounts/AccountManager;->getAccountsForPackage(Ljava/lang/String;I)[Landroid/accounts/Account;
-Landroid/accounts/AccountManager;->getAuthenticatorTypesAsUser(I)[Landroid/accounts/AuthenticatorDescription;
-Landroid/accounts/AccountManager;->getAuthTokenLabel(Ljava/lang/String;Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
-Landroid/accounts/AccountManager;->getSharedAccounts(Landroid/os/UserHandle;)[Landroid/accounts/Account;
-Landroid/accounts/AccountManager;->hasAccountAccess(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/UserHandle;)Z
-Landroid/accounts/AccountManager;->KEY_ACCOUNT_ACCESS_ID:Ljava/lang/String;
-Landroid/accounts/AccountManager;->KEY_NOTIFY_ON_FAILURE:Ljava/lang/String;
-Landroid/accounts/AccountManager;->mAccountsChangedBroadcastReceiver:Landroid/content/BroadcastReceiver;
-Landroid/accounts/AccountManager;->mAccountsUpdatedListeners:Ljava/util/HashMap;
-Landroid/accounts/AccountManager;->mAccountsUpdatedListenersTypes:Ljava/util/HashMap;
-Landroid/accounts/AccountManager;->mMainHandler:Landroid/os/Handler;
-Landroid/accounts/AccountManager;->mService:Landroid/accounts/IAccountManager;
-Landroid/accounts/AccountManager;->postToHandler(Landroid/os/Handler;Landroid/accounts/AccountManagerCallback;Landroid/accounts/AccountManagerFuture;)V
-Landroid/accounts/AccountManager;->postToHandler(Landroid/os/Handler;Landroid/accounts/OnAccountsUpdateListener;[Landroid/accounts/Account;)V
-Landroid/accounts/AccountManager;->removeAccountAsUser(Landroid/accounts/Account;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;Landroid/os/UserHandle;)Landroid/accounts/AccountManagerFuture;
-Landroid/accounts/AccountManager;->removeAccountAsUser(Landroid/accounts/Account;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;Landroid/os/UserHandle;)Landroid/accounts/AccountManagerFuture;
-Landroid/accounts/AccountManager;->removeSharedAccount(Landroid/accounts/Account;Landroid/os/UserHandle;)Z
-Landroid/accounts/AccountManager;->sanitizeResult(Landroid/os/Bundle;)Landroid/os/Bundle;
-Landroid/accounts/AccountManager;->someUserHasAccount(Landroid/accounts/Account;)Z
-Landroid/accounts/AccountManager;->TAG:Ljava/lang/String;
-Landroid/accounts/AccountManager;->updateAppPermission(Landroid/accounts/Account;Ljava/lang/String;IZ)V
-Landroid/accounts/AccountManagerInternal$OnAppPermissionChangeListener;
-Landroid/accounts/AccountManagerInternal$OnAppPermissionChangeListener;->onAppPermissionChanged(Landroid/accounts/Account;I)V
-Landroid/accounts/AccountManagerInternal;
-Landroid/accounts/AccountManagerInternal;-><init>()V
-Landroid/accounts/AccountManagerInternal;->addOnAppPermissionChangeListener(Landroid/accounts/AccountManagerInternal$OnAppPermissionChangeListener;)V
-Landroid/accounts/AccountManagerInternal;->backupAccountAccessPermissions(I)[B
-Landroid/accounts/AccountManagerInternal;->hasAccountAccess(Landroid/accounts/Account;I)Z
-Landroid/accounts/AccountManagerInternal;->requestAccountAccess(Landroid/accounts/Account;Ljava/lang/String;ILandroid/os/RemoteCallback;)V
-Landroid/accounts/AccountManagerInternal;->restoreAccountAccessPermissions([BI)V
-Landroid/accounts/AccountManagerResponse;
-Landroid/accounts/AccountManagerResponse;-><init>(Landroid/accounts/IAccountManagerResponse;)V
-Landroid/accounts/AccountManagerResponse;-><init>(Landroid/os/Parcel;)V
-Landroid/accounts/AccountManagerResponse;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/accounts/AccountManagerResponse;->mResponse:Landroid/accounts/IAccountManagerResponse;
-Landroid/accounts/AccountManagerResponse;->onError(ILjava/lang/String;)V
-Landroid/accounts/AccountManagerResponse;->onResult(Landroid/os/Bundle;)V
-Landroid/accounts/CantAddAccountActivity;
-Landroid/accounts/CantAddAccountActivity;-><init>()V
-Landroid/accounts/CantAddAccountActivity;->EXTRA_ERROR_CODE:Ljava/lang/String;
-Landroid/accounts/CantAddAccountActivity;->onCancelButtonClicked(Landroid/view/View;)V
-Landroid/accounts/ChooseAccountActivity$AccountArrayAdapter;
-Landroid/accounts/ChooseAccountActivity$AccountArrayAdapter;-><init>(Landroid/content/Context;I[Landroid/accounts/ChooseAccountActivity$AccountInfo;)V
-Landroid/accounts/ChooseAccountActivity$AccountArrayAdapter;->mInfos:[Landroid/accounts/ChooseAccountActivity$AccountInfo;
-Landroid/accounts/ChooseAccountActivity$AccountArrayAdapter;->mLayoutInflater:Landroid/view/LayoutInflater;
-Landroid/accounts/ChooseAccountActivity$AccountInfo;
-Landroid/accounts/ChooseAccountActivity$AccountInfo;-><init>(Ljava/lang/String;Landroid/graphics/drawable/Drawable;)V
-Landroid/accounts/ChooseAccountActivity$AccountInfo;->drawable:Landroid/graphics/drawable/Drawable;
-Landroid/accounts/ChooseAccountActivity$AccountInfo;->name:Ljava/lang/String;
-Landroid/accounts/ChooseAccountActivity$ViewHolder;
-Landroid/accounts/ChooseAccountActivity$ViewHolder;-><init>()V
-Landroid/accounts/ChooseAccountActivity$ViewHolder;->icon:Landroid/widget/ImageView;
-Landroid/accounts/ChooseAccountActivity$ViewHolder;->text:Landroid/widget/TextView;
-Landroid/accounts/ChooseAccountActivity;
-Landroid/accounts/ChooseAccountActivity;-><init>()V
-Landroid/accounts/ChooseAccountActivity;->getAuthDescriptions()V
-Landroid/accounts/ChooseAccountActivity;->getDrawableForType(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
-Landroid/accounts/ChooseAccountActivity;->mAccountManagerResponse:Landroid/accounts/AccountManagerResponse;
-Landroid/accounts/ChooseAccountActivity;->mAccounts:[Landroid/os/Parcelable;
-Landroid/accounts/ChooseAccountActivity;->mCallingPackage:Ljava/lang/String;
-Landroid/accounts/ChooseAccountActivity;->mCallingUid:I
-Landroid/accounts/ChooseAccountActivity;->mResult:Landroid/os/Bundle;
-Landroid/accounts/ChooseAccountActivity;->mTypeToAuthDescription:Ljava/util/HashMap;
-Landroid/accounts/ChooseAccountActivity;->onListItemClick(Landroid/widget/ListView;Landroid/view/View;IJ)V
-Landroid/accounts/ChooseAccountActivity;->TAG:Ljava/lang/String;
-Landroid/accounts/ChooseAccountTypeActivity$AccountArrayAdapter;
-Landroid/accounts/ChooseAccountTypeActivity$AccountArrayAdapter;-><init>(Landroid/content/Context;ILjava/util/ArrayList;)V
-Landroid/accounts/ChooseAccountTypeActivity$AccountArrayAdapter;->mInfos:Ljava/util/ArrayList;
-Landroid/accounts/ChooseAccountTypeActivity$AccountArrayAdapter;->mLayoutInflater:Landroid/view/LayoutInflater;
-Landroid/accounts/ChooseAccountTypeActivity$AuthInfo;
-Landroid/accounts/ChooseAccountTypeActivity$AuthInfo;-><init>(Landroid/accounts/AuthenticatorDescription;Ljava/lang/String;Landroid/graphics/drawable/Drawable;)V
-Landroid/accounts/ChooseAccountTypeActivity$AuthInfo;->desc:Landroid/accounts/AuthenticatorDescription;
-Landroid/accounts/ChooseAccountTypeActivity$AuthInfo;->drawable:Landroid/graphics/drawable/Drawable;
-Landroid/accounts/ChooseAccountTypeActivity$AuthInfo;->name:Ljava/lang/String;
-Landroid/accounts/ChooseAccountTypeActivity$ViewHolder;
-Landroid/accounts/ChooseAccountTypeActivity$ViewHolder;-><init>()V
-Landroid/accounts/ChooseAccountTypeActivity$ViewHolder;->icon:Landroid/widget/ImageView;
-Landroid/accounts/ChooseAccountTypeActivity$ViewHolder;->text:Landroid/widget/TextView;
-Landroid/accounts/ChooseAccountTypeActivity;
-Landroid/accounts/ChooseAccountTypeActivity;-><init>()V
-Landroid/accounts/ChooseAccountTypeActivity;->buildTypeToAuthDescriptionMap()V
-Landroid/accounts/ChooseAccountTypeActivity;->mAuthenticatorInfosToDisplay:Ljava/util/ArrayList;
-Landroid/accounts/ChooseAccountTypeActivity;->mTypeToAuthenticatorInfo:Ljava/util/HashMap;
-Landroid/accounts/ChooseAccountTypeActivity;->setResultAndFinish(Ljava/lang/String;)V
-Landroid/accounts/ChooseAccountTypeActivity;->TAG:Ljava/lang/String;
-Landroid/accounts/ChooseTypeAndAccountActivity;
-Landroid/accounts/ChooseTypeAndAccountActivity;-><init>()V
-Landroid/accounts/ChooseTypeAndAccountActivity;->EXTRA_ADD_ACCOUNT_AUTH_TOKEN_TYPE_STRING:Ljava/lang/String;
-Landroid/accounts/ChooseTypeAndAccountActivity;->EXTRA_ADD_ACCOUNT_OPTIONS_BUNDLE:Ljava/lang/String;
-Landroid/accounts/ChooseTypeAndAccountActivity;->EXTRA_ADD_ACCOUNT_REQUIRED_FEATURES_STRING_ARRAY:Ljava/lang/String;
-Landroid/accounts/ChooseTypeAndAccountActivity;->EXTRA_ALLOWABLE_ACCOUNTS_ARRAYLIST:Ljava/lang/String;
-Landroid/accounts/ChooseTypeAndAccountActivity;->EXTRA_ALLOWABLE_ACCOUNT_TYPES_STRING_ARRAY:Ljava/lang/String;
-Landroid/accounts/ChooseTypeAndAccountActivity;->EXTRA_ALWAYS_PROMPT_FOR_ACCOUNT:Ljava/lang/String;
-Landroid/accounts/ChooseTypeAndAccountActivity;->EXTRA_DESCRIPTION_TEXT_OVERRIDE:Ljava/lang/String;
-Landroid/accounts/ChooseTypeAndAccountActivity;->EXTRA_SELECTED_ACCOUNT:Ljava/lang/String;
-Landroid/accounts/ChooseTypeAndAccountActivity;->getAcceptableAccountChoices(Landroid/accounts/AccountManager;)Ljava/util/LinkedHashMap;
-Landroid/accounts/ChooseTypeAndAccountActivity;->getAllowableAccountSet(Landroid/content/Intent;)Ljava/util/Set;
-Landroid/accounts/ChooseTypeAndAccountActivity;->getItemIndexToSelect(Ljava/util/ArrayList;Ljava/lang/String;Z)I
-Landroid/accounts/ChooseTypeAndAccountActivity;->getListOfDisplayableOptions(Ljava/util/ArrayList;)[Ljava/lang/String;
-Landroid/accounts/ChooseTypeAndAccountActivity;->getReleventAccountTypes(Landroid/content/Intent;)Ljava/util/Set;
-Landroid/accounts/ChooseTypeAndAccountActivity;->KEY_INSTANCE_STATE_ACCOUNTS_LIST:Ljava/lang/String;
-Landroid/accounts/ChooseTypeAndAccountActivity;->KEY_INSTANCE_STATE_EXISTING_ACCOUNTS:Ljava/lang/String;
-Landroid/accounts/ChooseTypeAndAccountActivity;->KEY_INSTANCE_STATE_PENDING_REQUEST:Ljava/lang/String;
-Landroid/accounts/ChooseTypeAndAccountActivity;->KEY_INSTANCE_STATE_SELECTED_ACCOUNT_NAME:Ljava/lang/String;
-Landroid/accounts/ChooseTypeAndAccountActivity;->KEY_INSTANCE_STATE_SELECTED_ADD_ACCOUNT:Ljava/lang/String;
-Landroid/accounts/ChooseTypeAndAccountActivity;->KEY_INSTANCE_STATE_VISIBILITY_LIST:Ljava/lang/String;
-Landroid/accounts/ChooseTypeAndAccountActivity;->mAccounts:Ljava/util/LinkedHashMap;
-Landroid/accounts/ChooseTypeAndAccountActivity;->mCallingPackage:Ljava/lang/String;
-Landroid/accounts/ChooseTypeAndAccountActivity;->mCallingUid:I
-Landroid/accounts/ChooseTypeAndAccountActivity;->mDescriptionOverride:Ljava/lang/String;
-Landroid/accounts/ChooseTypeAndAccountActivity;->mDisallowAddAccounts:Z
-Landroid/accounts/ChooseTypeAndAccountActivity;->mDontShowPicker:Z
-Landroid/accounts/ChooseTypeAndAccountActivity;->mExistingAccounts:[Landroid/os/Parcelable;
-Landroid/accounts/ChooseTypeAndAccountActivity;->mOkButton:Landroid/widget/Button;
-Landroid/accounts/ChooseTypeAndAccountActivity;->mPendingRequest:I
-Landroid/accounts/ChooseTypeAndAccountActivity;->mPossiblyVisibleAccounts:Ljava/util/ArrayList;
-Landroid/accounts/ChooseTypeAndAccountActivity;->mSelectedAccountName:Ljava/lang/String;
-Landroid/accounts/ChooseTypeAndAccountActivity;->mSelectedAddNewAccount:Z
-Landroid/accounts/ChooseTypeAndAccountActivity;->mSelectedItemIndex:I
-Landroid/accounts/ChooseTypeAndAccountActivity;->mSetOfAllowableAccounts:Ljava/util/Set;
-Landroid/accounts/ChooseTypeAndAccountActivity;->mSetOfRelevantAccountTypes:Ljava/util/Set;
-Landroid/accounts/ChooseTypeAndAccountActivity;->onAccountSelected(Landroid/accounts/Account;)V
-Landroid/accounts/ChooseTypeAndAccountActivity;->onCancelButtonClicked(Landroid/view/View;)V
-Landroid/accounts/ChooseTypeAndAccountActivity;->onOkButtonClicked(Landroid/view/View;)V
-Landroid/accounts/ChooseTypeAndAccountActivity;->overrideDescriptionIfSupplied(Ljava/lang/String;)V
-Landroid/accounts/ChooseTypeAndAccountActivity;->populateUIAccountList([Ljava/lang/String;)V
-Landroid/accounts/ChooseTypeAndAccountActivity;->REQUEST_ADD_ACCOUNT:I
-Landroid/accounts/ChooseTypeAndAccountActivity;->REQUEST_CHOOSE_TYPE:I
-Landroid/accounts/ChooseTypeAndAccountActivity;->REQUEST_NULL:I
-Landroid/accounts/ChooseTypeAndAccountActivity;->run(Landroid/accounts/AccountManagerFuture;)V
-Landroid/accounts/ChooseTypeAndAccountActivity;->runAddAccountForAuthenticator(Ljava/lang/String;)V
-Landroid/accounts/ChooseTypeAndAccountActivity;->SELECTED_ITEM_NONE:I
-Landroid/accounts/ChooseTypeAndAccountActivity;->setNonLabelThemeAndCallSuperCreate(Landroid/os/Bundle;)V
-Landroid/accounts/ChooseTypeAndAccountActivity;->setResultAndFinish(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/accounts/ChooseTypeAndAccountActivity;->startChooseAccountTypeActivity()V
-Landroid/accounts/ChooseTypeAndAccountActivity;->TAG:Ljava/lang/String;
-Landroid/accounts/GrantCredentialsPermissionActivity;
-Landroid/accounts/GrantCredentialsPermissionActivity;-><init>()V
-Landroid/accounts/GrantCredentialsPermissionActivity;->EXTRAS_ACCOUNT:Ljava/lang/String;
-Landroid/accounts/GrantCredentialsPermissionActivity;->EXTRAS_AUTH_TOKEN_TYPE:Ljava/lang/String;
-Landroid/accounts/GrantCredentialsPermissionActivity;->EXTRAS_REQUESTING_UID:Ljava/lang/String;
-Landroid/accounts/GrantCredentialsPermissionActivity;->EXTRAS_RESPONSE:Ljava/lang/String;
-Landroid/accounts/GrantCredentialsPermissionActivity;->getAccountLabel(Landroid/accounts/Account;)Ljava/lang/String;
-Landroid/accounts/GrantCredentialsPermissionActivity;->mAccount:Landroid/accounts/Account;
-Landroid/accounts/GrantCredentialsPermissionActivity;->mAuthTokenType:Ljava/lang/String;
-Landroid/accounts/GrantCredentialsPermissionActivity;->mInflater:Landroid/view/LayoutInflater;
-Landroid/accounts/GrantCredentialsPermissionActivity;->mResultBundle:Landroid/os/Bundle;
-Landroid/accounts/GrantCredentialsPermissionActivity;->mUid:I
-Landroid/accounts/GrantCredentialsPermissionActivity;->newPackageView(Ljava/lang/String;)Landroid/view/View;
-Landroid/accounts/GrantCredentialsPermissionActivity;->setAccountAuthenticatorResult(Landroid/os/Bundle;)V
-Landroid/accounts/IAccountAuthenticator$Stub$Proxy;
-Landroid/accounts/IAccountAuthenticator$Stub$Proxy;->addAccount(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/accounts/IAccountAuthenticator$Stub$Proxy;->addAccountFromCredentials(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Landroid/os/Bundle;)V
-Landroid/accounts/IAccountAuthenticator$Stub$Proxy;->confirmCredentials(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Landroid/os/Bundle;)V
-Landroid/accounts/IAccountAuthenticator$Stub$Proxy;->editProperties(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;)V
-Landroid/accounts/IAccountAuthenticator$Stub$Proxy;->finishSession(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/accounts/IAccountAuthenticator$Stub$Proxy;->getAccountCredentialsForCloning(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;)V
-Landroid/accounts/IAccountAuthenticator$Stub$Proxy;->getAccountRemovalAllowed(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;)V
-Landroid/accounts/IAccountAuthenticator$Stub$Proxy;->getAuthToken(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/accounts/IAccountAuthenticator$Stub$Proxy;->getAuthTokenLabel(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;)V
-Landroid/accounts/IAccountAuthenticator$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/accounts/IAccountAuthenticator$Stub$Proxy;->hasFeatures(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;[Ljava/lang/String;)V
-Landroid/accounts/IAccountAuthenticator$Stub$Proxy;->isCredentialsUpdateSuggested(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;)V
-Landroid/accounts/IAccountAuthenticator$Stub$Proxy;->startAddAccountSession(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/accounts/IAccountAuthenticator$Stub$Proxy;->startUpdateCredentialsSession(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/accounts/IAccountAuthenticator$Stub$Proxy;->updateCredentials(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/accounts/IAccountAuthenticator$Stub;
-Landroid/accounts/IAccountAuthenticator$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/accounts/IAccountAuthenticator$Stub;->TRANSACTION_addAccount:I
-Landroid/accounts/IAccountAuthenticator$Stub;->TRANSACTION_addAccountFromCredentials:I
-Landroid/accounts/IAccountAuthenticator$Stub;->TRANSACTION_confirmCredentials:I
-Landroid/accounts/IAccountAuthenticator$Stub;->TRANSACTION_editProperties:I
-Landroid/accounts/IAccountAuthenticator$Stub;->TRANSACTION_finishSession:I
-Landroid/accounts/IAccountAuthenticator$Stub;->TRANSACTION_getAccountCredentialsForCloning:I
-Landroid/accounts/IAccountAuthenticator$Stub;->TRANSACTION_getAccountRemovalAllowed:I
-Landroid/accounts/IAccountAuthenticator$Stub;->TRANSACTION_getAuthToken:I
-Landroid/accounts/IAccountAuthenticator$Stub;->TRANSACTION_getAuthTokenLabel:I
-Landroid/accounts/IAccountAuthenticator$Stub;->TRANSACTION_hasFeatures:I
-Landroid/accounts/IAccountAuthenticator$Stub;->TRANSACTION_isCredentialsUpdateSuggested:I
-Landroid/accounts/IAccountAuthenticator$Stub;->TRANSACTION_startAddAccountSession:I
-Landroid/accounts/IAccountAuthenticator$Stub;->TRANSACTION_startUpdateCredentialsSession:I
-Landroid/accounts/IAccountAuthenticator$Stub;->TRANSACTION_updateCredentials:I
-Landroid/accounts/IAccountAuthenticator;
-Landroid/accounts/IAccountAuthenticator;->finishSession(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/accounts/IAccountAuthenticator;->isCredentialsUpdateSuggested(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;)V
-Landroid/accounts/IAccountAuthenticator;->startAddAccountSession(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/accounts/IAccountAuthenticator;->startUpdateCredentialsSession(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/accounts/IAccountAuthenticatorResponse$Stub$Proxy;
-Landroid/accounts/IAccountAuthenticatorResponse$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/accounts/IAccountAuthenticatorResponse$Stub$Proxy;->onError(ILjava/lang/String;)V
-Landroid/accounts/IAccountAuthenticatorResponse$Stub$Proxy;->onRequestContinued()V
-Landroid/accounts/IAccountAuthenticatorResponse$Stub$Proxy;->onResult(Landroid/os/Bundle;)V
-Landroid/accounts/IAccountAuthenticatorResponse$Stub;
-Landroid/accounts/IAccountAuthenticatorResponse$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/accounts/IAccountAuthenticatorResponse$Stub;->TRANSACTION_onError:I
-Landroid/accounts/IAccountAuthenticatorResponse$Stub;->TRANSACTION_onRequestContinued:I
-Landroid/accounts/IAccountAuthenticatorResponse$Stub;->TRANSACTION_onResult:I
-Landroid/accounts/IAccountAuthenticatorResponse;
-Landroid/accounts/IAccountManager$Stub$Proxy;
-Landroid/accounts/IAccountManager$Stub$Proxy;->accountAuthenticated(Landroid/accounts/Account;)Z
-Landroid/accounts/IAccountManager$Stub$Proxy;->addAccount(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;ZLandroid/os/Bundle;)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->addAccountAsUser(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;ZLandroid/os/Bundle;I)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->addAccountExplicitly(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Z
-Landroid/accounts/IAccountManager$Stub$Proxy;->addAccountExplicitlyWithVisibility(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Ljava/util/Map;)Z
-Landroid/accounts/IAccountManager$Stub$Proxy;->addSharedAccountsFromParentUser(IILjava/lang/String;)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->clearPassword(Landroid/accounts/Account;)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->confirmCredentialsAsUser(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Landroid/os/Bundle;ZI)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->copyAccountToUser(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;II)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->createRequestAccountAccessIntentSenderAsUser(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/IntentSender;
-Landroid/accounts/IAccountManager$Stub$Proxy;->editProperties(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;Z)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->finishSessionAsUser(Landroid/accounts/IAccountManagerResponse;Landroid/os/Bundle;ZLandroid/os/Bundle;I)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->getAccountByTypeAndFeatures(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->getAccounts(Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
-Landroid/accounts/IAccountManager$Stub$Proxy;->getAccountsAndVisibilityForPackage(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;
-Landroid/accounts/IAccountManager$Stub$Proxy;->getAccountsAsUser(Ljava/lang/String;ILjava/lang/String;)[Landroid/accounts/Account;
-Landroid/accounts/IAccountManager$Stub$Proxy;->getAccountsByFeatures(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->getAccountsByTypeForPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
-Landroid/accounts/IAccountManager$Stub$Proxy;->getAccountsForPackage(Ljava/lang/String;ILjava/lang/String;)[Landroid/accounts/Account;
-Landroid/accounts/IAccountManager$Stub$Proxy;->getAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;)I
-Landroid/accounts/IAccountManager$Stub$Proxy;->getAuthenticatorTypes(I)[Landroid/accounts/AuthenticatorDescription;
-Landroid/accounts/IAccountManager$Stub$Proxy;->getAuthToken(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;ZZLandroid/os/Bundle;)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->getAuthTokenLabel(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/accounts/IAccountManager$Stub$Proxy;->getPackagesAndVisibilityForAccount(Landroid/accounts/Account;)Ljava/util/Map;
-Landroid/accounts/IAccountManager$Stub$Proxy;->getPassword(Landroid/accounts/Account;)Ljava/lang/String;
-Landroid/accounts/IAccountManager$Stub$Proxy;->getPreviousName(Landroid/accounts/Account;)Ljava/lang/String;
-Landroid/accounts/IAccountManager$Stub$Proxy;->getSharedAccountsAsUser(I)[Landroid/accounts/Account;
-Landroid/accounts/IAccountManager$Stub$Proxy;->getUserData(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
-Landroid/accounts/IAccountManager$Stub$Proxy;->hasAccountAccess(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/UserHandle;)Z
-Landroid/accounts/IAccountManager$Stub$Proxy;->hasFeatures(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;[Ljava/lang/String;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->invalidateAuthToken(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->isCredentialsUpdateSuggested(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/accounts/IAccountManager$Stub$Proxy;->onAccountAccessed(Ljava/lang/String;)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->peekAuthToken(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
-Landroid/accounts/IAccountManager$Stub$Proxy;->registerAccountListener([Ljava/lang/String;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->removeAccount(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Z)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->removeAccountAsUser(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;ZI)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->removeAccountExplicitly(Landroid/accounts/Account;)Z
-Landroid/accounts/IAccountManager$Stub$Proxy;->removeSharedAccountAsUser(Landroid/accounts/Account;I)Z
-Landroid/accounts/IAccountManager$Stub$Proxy;->renameAccount(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->renameSharedAccountAsUser(Landroid/accounts/Account;Ljava/lang/String;I)Z
-Landroid/accounts/IAccountManager$Stub$Proxy;->setAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;I)Z
-Landroid/accounts/IAccountManager$Stub$Proxy;->setAuthToken(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->setPassword(Landroid/accounts/Account;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->setUserData(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->someUserHasAccount(Landroid/accounts/Account;)Z
-Landroid/accounts/IAccountManager$Stub$Proxy;->startAddAccountSession(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;ZLandroid/os/Bundle;)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->startUpdateCredentialsSession(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;ZLandroid/os/Bundle;)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->unregisterAccountListener([Ljava/lang/String;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->updateAppPermission(Landroid/accounts/Account;Ljava/lang/String;IZ)V
-Landroid/accounts/IAccountManager$Stub$Proxy;->updateCredentials(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;ZLandroid/os/Bundle;)V
-Landroid/accounts/IAccountManager$Stub;
-Landroid/accounts/IAccountManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_accountAuthenticated:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_addAccount:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_addAccountAsUser:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_addAccountExplicitly:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_addAccountExplicitlyWithVisibility:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_addSharedAccountsFromParentUser:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_clearPassword:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_confirmCredentialsAsUser:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_copyAccountToUser:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_createRequestAccountAccessIntentSenderAsUser:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_editProperties:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_finishSessionAsUser:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_getAccountByTypeAndFeatures:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_getAccounts:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_getAccountsAndVisibilityForPackage:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_getAccountsAsUser:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_getAccountsByFeatures:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_getAccountsByTypeForPackage:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_getAccountsForPackage:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_getAccountVisibility:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_getAuthenticatorTypes:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_getAuthToken:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_getAuthTokenLabel:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_getPackagesAndVisibilityForAccount:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_getPassword:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_getPreviousName:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_getSharedAccountsAsUser:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_getUserData:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_hasAccountAccess:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_hasFeatures:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_invalidateAuthToken:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_isCredentialsUpdateSuggested:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_onAccountAccessed:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_peekAuthToken:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_registerAccountListener:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_removeAccount:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_removeAccountAsUser:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_removeAccountExplicitly:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_removeSharedAccountAsUser:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_renameAccount:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_renameSharedAccountAsUser:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_setAccountVisibility:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_setAuthToken:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_setPassword:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_setUserData:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_someUserHasAccount:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_startAddAccountSession:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_startUpdateCredentialsSession:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_unregisterAccountListener:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_updateAppPermission:I
-Landroid/accounts/IAccountManager$Stub;->TRANSACTION_updateCredentials:I
-Landroid/accounts/IAccountManager;
-Landroid/accounts/IAccountManager;->accountAuthenticated(Landroid/accounts/Account;)Z
-Landroid/accounts/IAccountManager;->addAccount(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;ZLandroid/os/Bundle;)V
-Landroid/accounts/IAccountManager;->addAccountAsUser(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;ZLandroid/os/Bundle;I)V
-Landroid/accounts/IAccountManager;->addAccountExplicitly(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Z
-Landroid/accounts/IAccountManager;->addAccountExplicitlyWithVisibility(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Ljava/util/Map;)Z
-Landroid/accounts/IAccountManager;->addSharedAccountsFromParentUser(IILjava/lang/String;)V
-Landroid/accounts/IAccountManager;->clearPassword(Landroid/accounts/Account;)V
-Landroid/accounts/IAccountManager;->confirmCredentialsAsUser(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Landroid/os/Bundle;ZI)V
-Landroid/accounts/IAccountManager;->copyAccountToUser(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;II)V
-Landroid/accounts/IAccountManager;->createRequestAccountAccessIntentSenderAsUser(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/IntentSender;
-Landroid/accounts/IAccountManager;->editProperties(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;Z)V
-Landroid/accounts/IAccountManager;->finishSessionAsUser(Landroid/accounts/IAccountManagerResponse;Landroid/os/Bundle;ZLandroid/os/Bundle;I)V
-Landroid/accounts/IAccountManager;->getAccountByTypeAndFeatures(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager;->getAccounts(Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
-Landroid/accounts/IAccountManager;->getAccountsAndVisibilityForPackage(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;
-Landroid/accounts/IAccountManager;->getAccountsAsUser(Ljava/lang/String;ILjava/lang/String;)[Landroid/accounts/Account;
-Landroid/accounts/IAccountManager;->getAccountsByFeatures(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager;->getAccountsByTypeForPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
-Landroid/accounts/IAccountManager;->getAccountsForPackage(Ljava/lang/String;ILjava/lang/String;)[Landroid/accounts/Account;
-Landroid/accounts/IAccountManager;->getAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;)I
-Landroid/accounts/IAccountManager;->getAuthenticatorTypes(I)[Landroid/accounts/AuthenticatorDescription;
-Landroid/accounts/IAccountManager;->getAuthToken(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;ZZLandroid/os/Bundle;)V
-Landroid/accounts/IAccountManager;->getAuthTokenLabel(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager;->getPackagesAndVisibilityForAccount(Landroid/accounts/Account;)Ljava/util/Map;
-Landroid/accounts/IAccountManager;->getPassword(Landroid/accounts/Account;)Ljava/lang/String;
-Landroid/accounts/IAccountManager;->getPreviousName(Landroid/accounts/Account;)Ljava/lang/String;
-Landroid/accounts/IAccountManager;->getSharedAccountsAsUser(I)[Landroid/accounts/Account;
-Landroid/accounts/IAccountManager;->getUserData(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
-Landroid/accounts/IAccountManager;->hasAccountAccess(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/UserHandle;)Z
-Landroid/accounts/IAccountManager;->hasFeatures(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;[Ljava/lang/String;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager;->invalidateAuthToken(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager;->isCredentialsUpdateSuggested(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager;->onAccountAccessed(Ljava/lang/String;)V
-Landroid/accounts/IAccountManager;->peekAuthToken(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
-Landroid/accounts/IAccountManager;->registerAccountListener([Ljava/lang/String;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager;->removeAccount(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Z)V
-Landroid/accounts/IAccountManager;->removeAccountAsUser(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;ZI)V
-Landroid/accounts/IAccountManager;->removeAccountExplicitly(Landroid/accounts/Account;)Z
-Landroid/accounts/IAccountManager;->removeSharedAccountAsUser(Landroid/accounts/Account;I)Z
-Landroid/accounts/IAccountManager;->renameAccount(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager;->renameSharedAccountAsUser(Landroid/accounts/Account;Ljava/lang/String;I)Z
-Landroid/accounts/IAccountManager;->setAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;I)Z
-Landroid/accounts/IAccountManager;->setAuthToken(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager;->setPassword(Landroid/accounts/Account;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager;->setUserData(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager;->someUserHasAccount(Landroid/accounts/Account;)Z
-Landroid/accounts/IAccountManager;->startAddAccountSession(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;ZLandroid/os/Bundle;)V
-Landroid/accounts/IAccountManager;->startUpdateCredentialsSession(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;ZLandroid/os/Bundle;)V
-Landroid/accounts/IAccountManager;->unregisterAccountListener([Ljava/lang/String;Ljava/lang/String;)V
-Landroid/accounts/IAccountManager;->updateAppPermission(Landroid/accounts/Account;Ljava/lang/String;IZ)V
-Landroid/accounts/IAccountManager;->updateCredentials(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;ZLandroid/os/Bundle;)V
-Landroid/accounts/IAccountManagerResponse$Stub$Proxy;
-Landroid/accounts/IAccountManagerResponse$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/accounts/IAccountManagerResponse$Stub$Proxy;->onError(ILjava/lang/String;)V
-Landroid/accounts/IAccountManagerResponse$Stub$Proxy;->onResult(Landroid/os/Bundle;)V
-Landroid/accounts/IAccountManagerResponse$Stub;
-Landroid/accounts/IAccountManagerResponse$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/accounts/IAccountManagerResponse$Stub;->TRANSACTION_onError:I
-Landroid/accounts/IAccountManagerResponse$Stub;->TRANSACTION_onResult:I
-Landroid/accounts/IAccountManagerResponse;
-Landroid/animation/AnimationHandler$AnimationFrameCallback;
-Landroid/animation/AnimationHandler$AnimationFrameCallback;->commitAnimationFrame(J)V
-Landroid/animation/AnimationHandler$AnimationFrameCallback;->doAnimationFrame(J)Z
-Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;
-Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;->getFrameDelay()J
-Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;->getFrameTime()J
-Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;->postCommitCallback(Ljava/lang/Runnable;)V
-Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;->postFrameCallback(Landroid/view/Choreographer$FrameCallback;)V
-Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;->setFrameDelay(J)V
-Landroid/animation/AnimationHandler$MyFrameCallbackProvider;
-Landroid/animation/AnimationHandler$MyFrameCallbackProvider;-><init>()V
-Landroid/animation/AnimationHandler$MyFrameCallbackProvider;->getFrameDelay()J
-Landroid/animation/AnimationHandler$MyFrameCallbackProvider;->getFrameTime()J
-Landroid/animation/AnimationHandler$MyFrameCallbackProvider;->mChoreographer:Landroid/view/Choreographer;
-Landroid/animation/AnimationHandler$MyFrameCallbackProvider;->postCommitCallback(Ljava/lang/Runnable;)V
-Landroid/animation/AnimationHandler$MyFrameCallbackProvider;->postFrameCallback(Landroid/view/Choreographer$FrameCallback;)V
-Landroid/animation/AnimationHandler$MyFrameCallbackProvider;->setFrameDelay(J)V
-Landroid/animation/AnimationHandler;
-Landroid/animation/AnimationHandler;-><init>()V
-Landroid/animation/AnimationHandler;->addAnimationFrameCallback(Landroid/animation/AnimationHandler$AnimationFrameCallback;J)V
-Landroid/animation/AnimationHandler;->addOneShotCommitCallback(Landroid/animation/AnimationHandler$AnimationFrameCallback;)V
-Landroid/animation/AnimationHandler;->autoCancelBasedOn(Landroid/animation/ObjectAnimator;)V
-Landroid/animation/AnimationHandler;->cleanUpList()V
-Landroid/animation/AnimationHandler;->commitAnimationFrame(Landroid/animation/AnimationHandler$AnimationFrameCallback;J)V
-Landroid/animation/AnimationHandler;->doAnimationFrame(J)V
-Landroid/animation/AnimationHandler;->getAnimationCount()I
-Landroid/animation/AnimationHandler;->getCallbackSize()I
-Landroid/animation/AnimationHandler;->getFrameDelay()J
-Landroid/animation/AnimationHandler;->getInstance()Landroid/animation/AnimationHandler;
-Landroid/animation/AnimationHandler;->getProvider()Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;
-Landroid/animation/AnimationHandler;->isCallbackDue(Landroid/animation/AnimationHandler$AnimationFrameCallback;J)Z
-Landroid/animation/AnimationHandler;->mAnimationCallbacks:Ljava/util/ArrayList;
-Landroid/animation/AnimationHandler;->mCommitCallbacks:Ljava/util/ArrayList;
-Landroid/animation/AnimationHandler;->mDelayedCallbackStartTime:Landroid/util/ArrayMap;
-Landroid/animation/AnimationHandler;->mFrameCallback:Landroid/view/Choreographer$FrameCallback;
-Landroid/animation/AnimationHandler;->mListDirty:Z
-Landroid/animation/AnimationHandler;->mProvider:Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;
-Landroid/animation/AnimationHandler;->removeCallback(Landroid/animation/AnimationHandler$AnimationFrameCallback;)V
-Landroid/animation/AnimationHandler;->sAnimatorHandler:Ljava/lang/ThreadLocal;
-Landroid/animation/AnimationHandler;->setFrameDelay(J)V
-Landroid/animation/AnimationHandler;->setProvider(Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;)V
-Landroid/animation/Animator$AnimatorConstantState;
-Landroid/animation/Animator$AnimatorConstantState;-><init>(Landroid/animation/Animator;)V
-Landroid/animation/Animator$AnimatorConstantState;->getChangingConfigurations()I
-Landroid/animation/Animator$AnimatorConstantState;->mAnimator:Landroid/animation/Animator;
-Landroid/animation/Animator$AnimatorConstantState;->mChangingConf:I
-Landroid/animation/Animator$AnimatorConstantState;->newInstance()Landroid/animation/Animator;
-Landroid/animation/Animator;->animateBasedOnPlayTime(JJZ)V
-Landroid/animation/Animator;->appendChangingConfigurations(I)V
-Landroid/animation/Animator;->canReverse()Z
-Landroid/animation/Animator;->createConstantState()Landroid/content/res/ConstantState;
-Landroid/animation/Animator;->getChangingConfigurations()I
-Landroid/animation/Animator;->isInitialized()Z
-Landroid/animation/Animator;->mChangingConfigurations:I
-Landroid/animation/Animator;->mConstantState:Landroid/animation/Animator$AnimatorConstantState;
-Landroid/animation/Animator;->mListeners:Ljava/util/ArrayList;
-Landroid/animation/Animator;->mPaused:Z
-Landroid/animation/Animator;->mPauseListeners:Ljava/util/ArrayList;
-Landroid/animation/Animator;->pulseAnimationFrame(J)Z
-Landroid/animation/Animator;->setAllowRunningAsynchronously(Z)V
-Landroid/animation/Animator;->setChangingConfigurations(I)V
-Landroid/animation/Animator;->skipToEndValue(Z)V
-Landroid/animation/Animator;->startWithoutPulsing(Z)V
-Landroid/animation/AnimatorInflater$PathDataEvaluator;
-Landroid/animation/AnimatorInflater$PathDataEvaluator;-><init>()V
-Landroid/animation/AnimatorInflater$PathDataEvaluator;->evaluate(FLandroid/util/PathParser$PathData;Landroid/util/PathParser$PathData;)Landroid/util/PathParser$PathData;
-Landroid/animation/AnimatorInflater$PathDataEvaluator;->mPathData:Landroid/util/PathParser$PathData;
-Landroid/animation/AnimatorInflater;->createAnimatorFromXml(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Lorg/xmlpull/v1/XmlPullParser;F)Landroid/animation/Animator;
-Landroid/animation/AnimatorInflater;->createAnimatorFromXml(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/animation/AnimatorSet;IF)Landroid/animation/Animator;
-Landroid/animation/AnimatorInflater;->createNewKeyframe(Landroid/animation/Keyframe;F)Landroid/animation/Keyframe;
-Landroid/animation/AnimatorInflater;->createStateListAnimatorFromXml(Landroid/content/Context;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/animation/StateListAnimator;
-Landroid/animation/AnimatorInflater;->DBG_ANIMATOR_INFLATER:Z
-Landroid/animation/AnimatorInflater;->distributeKeyframes([Landroid/animation/Keyframe;FII)V
-Landroid/animation/AnimatorInflater;->dumpKeyframes([Ljava/lang/Object;Ljava/lang/String;)V
-Landroid/animation/AnimatorInflater;->getChangingConfigs(Landroid/content/res/Resources;I)I
-Landroid/animation/AnimatorInflater;->getPVH(Landroid/content/res/TypedArray;IIILjava/lang/String;)Landroid/animation/PropertyValuesHolder;
-Landroid/animation/AnimatorInflater;->inferValueTypeFromValues(Landroid/content/res/TypedArray;II)I
-Landroid/animation/AnimatorInflater;->inferValueTypeOfKeyframe(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;)I
-Landroid/animation/AnimatorInflater;->isColorType(I)Z
-Landroid/animation/AnimatorInflater;->loadAnimator(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;I)Landroid/animation/Animator;
-Landroid/animation/AnimatorInflater;->loadAnimator(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;IF)Landroid/animation/Animator;
-Landroid/animation/AnimatorInflater;->loadAnimator(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;Landroid/animation/ValueAnimator;F)Landroid/animation/ValueAnimator;
-Landroid/animation/AnimatorInflater;->loadKeyframe(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;I)Landroid/animation/Keyframe;
-Landroid/animation/AnimatorInflater;->loadObjectAnimator(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;F)Landroid/animation/ObjectAnimator;
-Landroid/animation/AnimatorInflater;->loadPvh(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)Landroid/animation/PropertyValuesHolder;
-Landroid/animation/AnimatorInflater;->loadValues(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)[Landroid/animation/PropertyValuesHolder;
-Landroid/animation/AnimatorInflater;->parseAnimatorFromTypeArray(Landroid/animation/ValueAnimator;Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;F)V
-Landroid/animation/AnimatorInflater;->SEQUENTIALLY:I
-Landroid/animation/AnimatorInflater;->setupAnimatorForPath(Landroid/animation/ValueAnimator;Landroid/content/res/TypedArray;)Landroid/animation/TypeEvaluator;
-Landroid/animation/AnimatorInflater;->setupObjectAnimator(Landroid/animation/ValueAnimator;Landroid/content/res/TypedArray;IF)V
-Landroid/animation/AnimatorInflater;->setupValues(Landroid/animation/ValueAnimator;Landroid/content/res/TypedArray;ZZIZI)V
-Landroid/animation/AnimatorInflater;->sTmpTypedValue:Landroid/util/TypedValue;
-Landroid/animation/AnimatorInflater;->TAG:Ljava/lang/String;
-Landroid/animation/AnimatorInflater;->TOGETHER:I
-Landroid/animation/AnimatorInflater;->VALUE_TYPE_COLOR:I
-Landroid/animation/AnimatorInflater;->VALUE_TYPE_FLOAT:I
-Landroid/animation/AnimatorInflater;->VALUE_TYPE_INT:I
-Landroid/animation/AnimatorInflater;->VALUE_TYPE_PATH:I
-Landroid/animation/AnimatorInflater;->VALUE_TYPE_UNDEFINED:I
-Landroid/animation/AnimatorSet$AnimationEvent;
-Landroid/animation/AnimatorSet$AnimationEvent;-><init>(Landroid/animation/AnimatorSet$Node;I)V
-Landroid/animation/AnimatorSet$AnimationEvent;->ANIMATION_DELAY_ENDED:I
-Landroid/animation/AnimatorSet$AnimationEvent;->ANIMATION_END:I
-Landroid/animation/AnimatorSet$AnimationEvent;->ANIMATION_START:I
-Landroid/animation/AnimatorSet$AnimationEvent;->getTime()J
-Landroid/animation/AnimatorSet$AnimationEvent;->mEvent:I
-Landroid/animation/AnimatorSet$AnimationEvent;->mNode:Landroid/animation/AnimatorSet$Node;
-Landroid/animation/AnimatorSet$Builder;-><init>(Landroid/animation/Animator;)V
-Landroid/animation/AnimatorSet$Builder;->mCurrentNode:Landroid/animation/AnimatorSet$Node;
-Landroid/animation/AnimatorSet$Node;
-Landroid/animation/AnimatorSet$Node;-><init>(Landroid/animation/Animator;)V
-Landroid/animation/AnimatorSet$Node;->addChild(Landroid/animation/AnimatorSet$Node;)V
-Landroid/animation/AnimatorSet$Node;->addParent(Landroid/animation/AnimatorSet$Node;)V
-Landroid/animation/AnimatorSet$Node;->addParents(Ljava/util/ArrayList;)V
-Landroid/animation/AnimatorSet$Node;->addSibling(Landroid/animation/AnimatorSet$Node;)V
-Landroid/animation/AnimatorSet$Node;->mAnimation:Landroid/animation/Animator;
-Landroid/animation/AnimatorSet$Node;->mChildNodes:Ljava/util/ArrayList;
-Landroid/animation/AnimatorSet$Node;->mEnded:Z
-Landroid/animation/AnimatorSet$Node;->mEndTime:J
-Landroid/animation/AnimatorSet$Node;->mLatestParent:Landroid/animation/AnimatorSet$Node;
-Landroid/animation/AnimatorSet$Node;->mParents:Ljava/util/ArrayList;
-Landroid/animation/AnimatorSet$Node;->mParentsAdded:Z
-Landroid/animation/AnimatorSet$Node;->mSiblings:Ljava/util/ArrayList;
-Landroid/animation/AnimatorSet$Node;->mStartTime:J
-Landroid/animation/AnimatorSet$Node;->mTotalDuration:J
-Landroid/animation/AnimatorSet$SeekState;
-Landroid/animation/AnimatorSet$SeekState;-><init>()V
-Landroid/animation/AnimatorSet$SeekState;->getPlayTime()J
-Landroid/animation/AnimatorSet$SeekState;->getPlayTimeNormalized()J
-Landroid/animation/AnimatorSet$SeekState;->isActive()Z
-Landroid/animation/AnimatorSet$SeekState;->mPlayTime:J
-Landroid/animation/AnimatorSet$SeekState;->mSeekingInReverse:Z
-Landroid/animation/AnimatorSet$SeekState;->reset()V
-Landroid/animation/AnimatorSet$SeekState;->setPlayTime(JZ)V
-Landroid/animation/AnimatorSet$SeekState;->updateSeekDirection(Z)V
-Landroid/animation/AnimatorSet;->addAnimationCallback(J)V
-Landroid/animation/AnimatorSet;->addDummyListener()V
-Landroid/animation/AnimatorSet;->animateBasedOnPlayTime(JJZ)V
-Landroid/animation/AnimatorSet;->canReverse()Z
-Landroid/animation/AnimatorSet;->commitAnimationFrame(J)V
-Landroid/animation/AnimatorSet;->createDependencyGraph()V
-Landroid/animation/AnimatorSet;->doAnimationFrame(J)Z
-Landroid/animation/AnimatorSet;->endAnimation()V
-Landroid/animation/AnimatorSet;->findLatestEventIdForTime(J)I
-Landroid/animation/AnimatorSet;->findSiblings(Landroid/animation/AnimatorSet$Node;Ljava/util/ArrayList;)V
-Landroid/animation/AnimatorSet;->forceToEnd()V
-Landroid/animation/AnimatorSet;->getChangingConfigurations()I
-Landroid/animation/AnimatorSet;->getNodeForAnimation(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Node;
-Landroid/animation/AnimatorSet;->getPlayTimeForNode(JLandroid/animation/AnimatorSet$Node;)J
-Landroid/animation/AnimatorSet;->getPlayTimeForNode(JLandroid/animation/AnimatorSet$Node;Z)J
-Landroid/animation/AnimatorSet;->handleAnimationEvents(IIJ)V
-Landroid/animation/AnimatorSet;->initAnimation()V
-Landroid/animation/AnimatorSet;->initChildren()V
-Landroid/animation/AnimatorSet;->isEmptySet(Landroid/animation/AnimatorSet;)Z
-Landroid/animation/AnimatorSet;->isInitialized()Z
-Landroid/animation/AnimatorSet;->mChildrenInitialized:Z
-Landroid/animation/AnimatorSet;->mDelayAnim:Landroid/animation/ValueAnimator;
-Landroid/animation/AnimatorSet;->mDependencyDirty:Z
-Landroid/animation/AnimatorSet;->mDummyListener:Landroid/animation/AnimatorListenerAdapter;
-Landroid/animation/AnimatorSet;->mDuration:J
-Landroid/animation/AnimatorSet;->mEndCanBeCalled:Z
-Landroid/animation/AnimatorSet;->mEvents:Ljava/util/ArrayList;
-Landroid/animation/AnimatorSet;->mFirstFrame:J
-Landroid/animation/AnimatorSet;->mInterpolator:Landroid/animation/TimeInterpolator;
-Landroid/animation/AnimatorSet;->mLastEventId:I
-Landroid/animation/AnimatorSet;->mLastFrameTime:J
-Landroid/animation/AnimatorSet;->mNodeMap:Landroid/util/ArrayMap;
-Landroid/animation/AnimatorSet;->mNodes:Ljava/util/ArrayList;
-Landroid/animation/AnimatorSet;->mPauseTime:J
-Landroid/animation/AnimatorSet;->mPlayingSet:Ljava/util/ArrayList;
-Landroid/animation/AnimatorSet;->mReversing:Z
-Landroid/animation/AnimatorSet;->mRootNode:Landroid/animation/AnimatorSet$Node;
-Landroid/animation/AnimatorSet;->mSeekState:Landroid/animation/AnimatorSet$SeekState;
-Landroid/animation/AnimatorSet;->mSelfPulse:Z
-Landroid/animation/AnimatorSet;->mShouldIgnoreEndWithoutStart:Z
-Landroid/animation/AnimatorSet;->mShouldResetValuesAtStart:Z
-Landroid/animation/AnimatorSet;->mStartDelay:J
-Landroid/animation/AnimatorSet;->mStarted:Z
-Landroid/animation/AnimatorSet;->mTotalDuration:J
-Landroid/animation/AnimatorSet;->printChildCount()V
-Landroid/animation/AnimatorSet;->pulseAnimationFrame(J)Z
-Landroid/animation/AnimatorSet;->pulseFrame(Landroid/animation/AnimatorSet$Node;J)V
-Landroid/animation/AnimatorSet;->removeAnimationCallback()V
-Landroid/animation/AnimatorSet;->removeDummyListener()V
-Landroid/animation/AnimatorSet;->shouldPlayTogether()Z
-Landroid/animation/AnimatorSet;->skipToEndValue(Z)V
-Landroid/animation/AnimatorSet;->skipToStartValue(Z)V
-Landroid/animation/AnimatorSet;->sortAnimationEvents()V
-Landroid/animation/AnimatorSet;->start(ZZ)V
-Landroid/animation/AnimatorSet;->startAnimation()V
-Landroid/animation/AnimatorSet;->startWithoutPulsing(Z)V
-Landroid/animation/AnimatorSet;->TAG:Ljava/lang/String;
-Landroid/animation/AnimatorSet;->updateAnimatorsDuration()V
-Landroid/animation/AnimatorSet;->updatePlayTime(Landroid/animation/AnimatorSet$Node;Ljava/util/ArrayList;)V
-Landroid/animation/ArgbEvaluator;->sInstance:Landroid/animation/ArgbEvaluator;
-Landroid/animation/BidirectionalTypeConverter$InvertedConverter;
-Landroid/animation/BidirectionalTypeConverter$InvertedConverter;-><init>(Landroid/animation/BidirectionalTypeConverter;)V
-Landroid/animation/BidirectionalTypeConverter$InvertedConverter;->convert(Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/animation/BidirectionalTypeConverter$InvertedConverter;->convertBack(Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/animation/BidirectionalTypeConverter$InvertedConverter;->mConverter:Landroid/animation/BidirectionalTypeConverter;
-Landroid/animation/BidirectionalTypeConverter;->mInvertedConverter:Landroid/animation/BidirectionalTypeConverter;
-Landroid/animation/FloatArrayEvaluator;->mArray:[F
-Landroid/animation/IntArrayEvaluator;->mArray:[I
-Landroid/animation/Keyframe$FloatKeyframe;
-Landroid/animation/Keyframe$FloatKeyframe;-><init>(F)V
-Landroid/animation/Keyframe$FloatKeyframe;-><init>(FF)V
-Landroid/animation/Keyframe$FloatKeyframe;->getFloatValue()F
-Landroid/animation/Keyframe$FloatKeyframe;->mValue:F
-Landroid/animation/Keyframe$IntKeyframe;
-Landroid/animation/Keyframe$IntKeyframe;-><init>(F)V
-Landroid/animation/Keyframe$IntKeyframe;-><init>(FI)V
-Landroid/animation/Keyframe$IntKeyframe;->getIntValue()I
-Landroid/animation/Keyframe$IntKeyframe;->mValue:I
-Landroid/animation/Keyframe$ObjectKeyframe;
-Landroid/animation/Keyframe$ObjectKeyframe;-><init>(FLjava/lang/Object;)V
-Landroid/animation/Keyframe$ObjectKeyframe;->mValue:Ljava/lang/Object;
-Landroid/animation/Keyframe;->mFraction:F
-Landroid/animation/Keyframe;->mHasValue:Z
-Landroid/animation/Keyframe;->mInterpolator:Landroid/animation/TimeInterpolator;
-Landroid/animation/Keyframe;->mValueType:Ljava/lang/Class;
-Landroid/animation/Keyframe;->mValueWasSetOnStart:Z
-Landroid/animation/Keyframe;->setValueWasSetOnStart(Z)V
-Landroid/animation/Keyframe;->valueWasSetOnStart()Z
-Landroid/animation/Keyframes$FloatKeyframes;
-Landroid/animation/Keyframes$FloatKeyframes;->getFloatValue(F)F
-Landroid/animation/Keyframes$IntKeyframes;
-Landroid/animation/Keyframes$IntKeyframes;->getIntValue(F)I
-Landroid/animation/Keyframes;
-Landroid/animation/Keyframes;->clone()Landroid/animation/Keyframes;
-Landroid/animation/Keyframes;->getKeyframes()Ljava/util/List;
-Landroid/animation/Keyframes;->getType()Ljava/lang/Class;
-Landroid/animation/Keyframes;->getValue(F)Ljava/lang/Object;
-Landroid/animation/Keyframes;->setEvaluator(Landroid/animation/TypeEvaluator;)V
-Landroid/animation/KeyframeSet;
-Landroid/animation/KeyframeSet;-><init>([[Landroid/animation/Keyframe;)V
-Landroid/animation/KeyframeSet;->getKeyframes()Ljava/util/List;
-Landroid/animation/KeyframeSet;->getType()Ljava/lang/Class;
-Landroid/animation/KeyframeSet;->getValue(F)Ljava/lang/Object;
-Landroid/animation/KeyframeSet;->mEvaluator:Landroid/animation/TypeEvaluator;
-Landroid/animation/KeyframeSet;->mFirstKeyframe:Landroid/animation/Keyframe;
-Landroid/animation/KeyframeSet;->mInterpolator:Landroid/animation/TimeInterpolator;
-Landroid/animation/KeyframeSet;->mKeyframes:Ljava/util/List;
-Landroid/animation/KeyframeSet;->mLastKeyframe:Landroid/animation/Keyframe;
-Landroid/animation/KeyframeSet;->mNumKeyframes:I
-Landroid/animation/KeyframeSet;->ofFloat([[F)Landroid/animation/KeyframeSet;
-Landroid/animation/KeyframeSet;->ofInt([[I)Landroid/animation/KeyframeSet;
-Landroid/animation/KeyframeSet;->ofKeyframe([[Landroid/animation/Keyframe;)Landroid/animation/KeyframeSet;
-Landroid/animation/KeyframeSet;->ofObject([[Ljava/lang/Object;)Landroid/animation/KeyframeSet;
-Landroid/animation/KeyframeSet;->ofPath(Landroid/graphics/Path;)Landroid/animation/PathKeyframes;
-Landroid/animation/KeyframeSet;->ofPath(Landroid/graphics/Path;F)Landroid/animation/PathKeyframes;
-Landroid/animation/KeyframeSet;->setEvaluator(Landroid/animation/TypeEvaluator;)V
-Landroid/animation/LayoutTransition$CleanupCallback;
-Landroid/animation/LayoutTransition$CleanupCallback;-><init>(Ljava/util/Map;Landroid/view/ViewGroup;)V
-Landroid/animation/LayoutTransition$CleanupCallback;->cleanup()V
-Landroid/animation/LayoutTransition$CleanupCallback;->layoutChangeListenerMap:Ljava/util/Map;
-Landroid/animation/LayoutTransition$CleanupCallback;->parent:Landroid/view/ViewGroup;
-Landroid/animation/LayoutTransition;->ACCEL_DECEL_INTERPOLATOR:Landroid/animation/TimeInterpolator;
-Landroid/animation/LayoutTransition;->addChild(Landroid/view/ViewGroup;Landroid/view/View;Z)V
-Landroid/animation/LayoutTransition;->currentAppearingAnimations:Ljava/util/LinkedHashMap;
-Landroid/animation/LayoutTransition;->currentChangingAnimations:Ljava/util/LinkedHashMap;
-Landroid/animation/LayoutTransition;->currentDisappearingAnimations:Ljava/util/LinkedHashMap;
-Landroid/animation/LayoutTransition;->DECEL_INTERPOLATOR:Landroid/animation/TimeInterpolator;
-Landroid/animation/LayoutTransition;->defaultChange:Landroid/animation/ObjectAnimator;
-Landroid/animation/LayoutTransition;->defaultChangeIn:Landroid/animation/ObjectAnimator;
-Landroid/animation/LayoutTransition;->defaultChangeOut:Landroid/animation/ObjectAnimator;
-Landroid/animation/LayoutTransition;->defaultFadeIn:Landroid/animation/ObjectAnimator;
-Landroid/animation/LayoutTransition;->defaultFadeOut:Landroid/animation/ObjectAnimator;
-Landroid/animation/LayoutTransition;->DEFAULT_DURATION:J
-Landroid/animation/LayoutTransition;->endChangingAnimations()V
-Landroid/animation/LayoutTransition;->FLAG_APPEARING:I
-Landroid/animation/LayoutTransition;->FLAG_CHANGE_APPEARING:I
-Landroid/animation/LayoutTransition;->FLAG_CHANGE_DISAPPEARING:I
-Landroid/animation/LayoutTransition;->FLAG_CHANGING:I
-Landroid/animation/LayoutTransition;->FLAG_DISAPPEARING:I
-Landroid/animation/LayoutTransition;->hasListeners()Z
-Landroid/animation/LayoutTransition;->layoutChange(Landroid/view/ViewGroup;)V
-Landroid/animation/LayoutTransition;->layoutChangeListenerMap:Ljava/util/HashMap;
-Landroid/animation/LayoutTransition;->mAnimateParentHierarchy:Z
-Landroid/animation/LayoutTransition;->mAppearingAnim:Landroid/animation/Animator;
-Landroid/animation/LayoutTransition;->mAppearingDelay:J
-Landroid/animation/LayoutTransition;->mAppearingDuration:J
-Landroid/animation/LayoutTransition;->mAppearingInterpolator:Landroid/animation/TimeInterpolator;
-Landroid/animation/LayoutTransition;->mChangingAnim:Landroid/animation/Animator;
-Landroid/animation/LayoutTransition;->mChangingAppearingAnim:Landroid/animation/Animator;
-Landroid/animation/LayoutTransition;->mChangingAppearingDelay:J
-Landroid/animation/LayoutTransition;->mChangingAppearingDuration:J
-Landroid/animation/LayoutTransition;->mChangingAppearingInterpolator:Landroid/animation/TimeInterpolator;
-Landroid/animation/LayoutTransition;->mChangingAppearingStagger:J
-Landroid/animation/LayoutTransition;->mChangingDelay:J
-Landroid/animation/LayoutTransition;->mChangingDisappearingAnim:Landroid/animation/Animator;
-Landroid/animation/LayoutTransition;->mChangingDisappearingDelay:J
-Landroid/animation/LayoutTransition;->mChangingDisappearingDuration:J
-Landroid/animation/LayoutTransition;->mChangingDisappearingInterpolator:Landroid/animation/TimeInterpolator;
-Landroid/animation/LayoutTransition;->mChangingDisappearingStagger:J
-Landroid/animation/LayoutTransition;->mChangingDuration:J
-Landroid/animation/LayoutTransition;->mChangingInterpolator:Landroid/animation/TimeInterpolator;
-Landroid/animation/LayoutTransition;->mChangingStagger:J
-Landroid/animation/LayoutTransition;->mDisappearingAnim:Landroid/animation/Animator;
-Landroid/animation/LayoutTransition;->mDisappearingDelay:J
-Landroid/animation/LayoutTransition;->mDisappearingDuration:J
-Landroid/animation/LayoutTransition;->mDisappearingInterpolator:Landroid/animation/TimeInterpolator;
-Landroid/animation/LayoutTransition;->mListeners:Ljava/util/ArrayList;
-Landroid/animation/LayoutTransition;->mTransitionTypes:I
-Landroid/animation/LayoutTransition;->pendingAnimations:Ljava/util/HashMap;
-Landroid/animation/LayoutTransition;->removeChild(Landroid/view/ViewGroup;Landroid/view/View;Z)V
-Landroid/animation/LayoutTransition;->runAppearingTransition(Landroid/view/ViewGroup;Landroid/view/View;)V
-Landroid/animation/LayoutTransition;->runChangeTransition(Landroid/view/ViewGroup;Landroid/view/View;I)V
-Landroid/animation/LayoutTransition;->runDisappearingTransition(Landroid/view/ViewGroup;Landroid/view/View;)V
-Landroid/animation/LayoutTransition;->sAppearingInterpolator:Landroid/animation/TimeInterpolator;
-Landroid/animation/LayoutTransition;->sChangingAppearingInterpolator:Landroid/animation/TimeInterpolator;
-Landroid/animation/LayoutTransition;->sChangingDisappearingInterpolator:Landroid/animation/TimeInterpolator;
-Landroid/animation/LayoutTransition;->sChangingInterpolator:Landroid/animation/TimeInterpolator;
-Landroid/animation/LayoutTransition;->sDisappearingInterpolator:Landroid/animation/TimeInterpolator;
-Landroid/animation/LayoutTransition;->setupChangeAnimation(Landroid/view/ViewGroup;ILandroid/animation/Animator;JLandroid/view/View;)V
-Landroid/animation/LayoutTransition;->staggerDelay:J
-Landroid/animation/LayoutTransition;->startChangingAnimations()V
-Landroid/animation/ObjectAnimator;-><init>(Ljava/lang/Object;Landroid/util/Property;)V
-Landroid/animation/ObjectAnimator;-><init>(Ljava/lang/Object;Ljava/lang/String;)V
-Landroid/animation/ObjectAnimator;->animateValue(F)V
-Landroid/animation/ObjectAnimator;->DBG:Z
-Landroid/animation/ObjectAnimator;->getNameForTrace()Ljava/lang/String;
-Landroid/animation/ObjectAnimator;->hasSameTargetAndProperties(Landroid/animation/Animator;)Z
-Landroid/animation/ObjectAnimator;->initAnimation()V
-Landroid/animation/ObjectAnimator;->isInitialized()Z
-Landroid/animation/ObjectAnimator;->LOG_TAG:Ljava/lang/String;
-Landroid/animation/ObjectAnimator;->mAutoCancel:Z
-Landroid/animation/ObjectAnimator;->mProperty:Landroid/util/Property;
-Landroid/animation/ObjectAnimator;->mPropertyName:Ljava/lang/String;
-Landroid/animation/ObjectAnimator;->mTarget:Ljava/lang/ref/WeakReference;
-Landroid/animation/ObjectAnimator;->shouldAutoCancel(Landroid/animation/AnimationHandler$AnimationFrameCallback;)Z
-Landroid/animation/PathKeyframes$FloatKeyframesBase;
-Landroid/animation/PathKeyframes$FloatKeyframesBase;-><init>()V
-Landroid/animation/PathKeyframes$FloatKeyframesBase;->getType()Ljava/lang/Class;
-Landroid/animation/PathKeyframes$FloatKeyframesBase;->getValue(F)Ljava/lang/Object;
-Landroid/animation/PathKeyframes$IntKeyframesBase;
-Landroid/animation/PathKeyframes$IntKeyframesBase;-><init>()V
-Landroid/animation/PathKeyframes$IntKeyframesBase;->getType()Ljava/lang/Class;
-Landroid/animation/PathKeyframes$IntKeyframesBase;->getValue(F)Ljava/lang/Object;
-Landroid/animation/PathKeyframes$SimpleKeyframes;
-Landroid/animation/PathKeyframes$SimpleKeyframes;-><init>()V
-Landroid/animation/PathKeyframes$SimpleKeyframes;->getKeyframes()Ljava/util/ArrayList;
-Landroid/animation/PathKeyframes$SimpleKeyframes;->setEvaluator(Landroid/animation/TypeEvaluator;)V
-Landroid/animation/PathKeyframes;
-Landroid/animation/PathKeyframes;-><init>(Landroid/graphics/Path;)V
-Landroid/animation/PathKeyframes;-><init>(Landroid/graphics/Path;F)V
-Landroid/animation/PathKeyframes;->createXFloatKeyframes()Landroid/animation/Keyframes$FloatKeyframes;
-Landroid/animation/PathKeyframes;->createXIntKeyframes()Landroid/animation/Keyframes$IntKeyframes;
-Landroid/animation/PathKeyframes;->createYFloatKeyframes()Landroid/animation/Keyframes$FloatKeyframes;
-Landroid/animation/PathKeyframes;->createYIntKeyframes()Landroid/animation/Keyframes$IntKeyframes;
-Landroid/animation/PathKeyframes;->EMPTY_KEYFRAMES:Ljava/util/ArrayList;
-Landroid/animation/PathKeyframes;->FRACTION_OFFSET:I
-Landroid/animation/PathKeyframes;->getKeyframes()Ljava/util/ArrayList;
-Landroid/animation/PathKeyframes;->getType()Ljava/lang/Class;
-Landroid/animation/PathKeyframes;->getValue(F)Ljava/lang/Object;
-Landroid/animation/PathKeyframes;->interpolate(FFF)F
-Landroid/animation/PathKeyframes;->interpolateInRange(FII)Landroid/graphics/PointF;
-Landroid/animation/PathKeyframes;->mKeyframeData:[F
-Landroid/animation/PathKeyframes;->mTempPointF:Landroid/graphics/PointF;
-Landroid/animation/PathKeyframes;->NUM_COMPONENTS:I
-Landroid/animation/PathKeyframes;->pointForIndex(I)Landroid/graphics/PointF;
-Landroid/animation/PathKeyframes;->setEvaluator(Landroid/animation/TypeEvaluator;)V
-Landroid/animation/PathKeyframes;->X_OFFSET:I
-Landroid/animation/PathKeyframes;->Y_OFFSET:I
-Landroid/animation/PointFEvaluator;->mPoint:Landroid/graphics/PointF;
-Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;
-Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;-><init>(Landroid/util/Property;Landroid/animation/Keyframes$FloatKeyframes;)V
-Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;-><init>(Landroid/util/Property;[[F)V
-Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;-><init>(Ljava/lang/String;Landroid/animation/Keyframes$FloatKeyframes;)V
-Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;-><init>(Ljava/lang/String;[[F)V
-Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->calculateValue(F)V
-Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->getAnimatedValue()Ljava/lang/Object;
-Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->mFloatAnimatedValue:F
-Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->mFloatKeyframes:Landroid/animation/Keyframes$FloatKeyframes;
-Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->mFloatProperty:Landroid/util/FloatProperty;
-Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->mJniSetter:J
-Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V
-Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->setupSetter(Ljava/lang/Class;)V
-Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->sJNISetterPropertyMap:Ljava/util/HashMap;
-Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;
-Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;-><init>(Landroid/util/Property;Landroid/animation/Keyframes$IntKeyframes;)V
-Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;-><init>(Landroid/util/Property;[[I)V
-Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;-><init>(Ljava/lang/String;Landroid/animation/Keyframes$IntKeyframes;)V
-Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;-><init>(Ljava/lang/String;[[I)V
-Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->calculateValue(F)V
-Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->getAnimatedValue()Ljava/lang/Object;
-Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->mIntAnimatedValue:I
-Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->mIntKeyframes:Landroid/animation/Keyframes$IntKeyframes;
-Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->mIntProperty:Landroid/util/IntProperty;
-Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->mJniSetter:J
-Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V
-Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->setupSetter(Ljava/lang/Class;)V
-Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->sJNISetterPropertyMap:Ljava/util/HashMap;
-Landroid/animation/PropertyValuesHolder$MultiFloatValuesHolder;
-Landroid/animation/PropertyValuesHolder$MultiFloatValuesHolder;-><init>(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;Landroid/animation/Keyframes;)V
-Landroid/animation/PropertyValuesHolder$MultiFloatValuesHolder;-><init>(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[[Ljava/lang/Object;)V
-Landroid/animation/PropertyValuesHolder$MultiFloatValuesHolder;->mJniSetter:J
-Landroid/animation/PropertyValuesHolder$MultiFloatValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V
-Landroid/animation/PropertyValuesHolder$MultiFloatValuesHolder;->setupSetter(Ljava/lang/Class;)V
-Landroid/animation/PropertyValuesHolder$MultiFloatValuesHolder;->setupSetterAndGetter(Ljava/lang/Object;)V
-Landroid/animation/PropertyValuesHolder$MultiFloatValuesHolder;->sJNISetterPropertyMap:Ljava/util/HashMap;
-Landroid/animation/PropertyValuesHolder$MultiIntValuesHolder;
-Landroid/animation/PropertyValuesHolder$MultiIntValuesHolder;-><init>(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;Landroid/animation/Keyframes;)V
-Landroid/animation/PropertyValuesHolder$MultiIntValuesHolder;-><init>(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[[Ljava/lang/Object;)V
-Landroid/animation/PropertyValuesHolder$MultiIntValuesHolder;->mJniSetter:J
-Landroid/animation/PropertyValuesHolder$MultiIntValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V
-Landroid/animation/PropertyValuesHolder$MultiIntValuesHolder;->setupSetter(Ljava/lang/Class;)V
-Landroid/animation/PropertyValuesHolder$MultiIntValuesHolder;->setupSetterAndGetter(Ljava/lang/Object;)V
-Landroid/animation/PropertyValuesHolder$MultiIntValuesHolder;->sJNISetterPropertyMap:Ljava/util/HashMap;
-Landroid/animation/PropertyValuesHolder$PointFToFloatArray;
-Landroid/animation/PropertyValuesHolder$PointFToFloatArray;-><init>()V
-Landroid/animation/PropertyValuesHolder$PointFToFloatArray;->convert(Landroid/graphics/PointF;)[F
-Landroid/animation/PropertyValuesHolder$PointFToFloatArray;->mCoordinates:[F
-Landroid/animation/PropertyValuesHolder$PointFToIntArray;
-Landroid/animation/PropertyValuesHolder$PointFToIntArray;-><init>()V
-Landroid/animation/PropertyValuesHolder$PointFToIntArray;->convert(Landroid/graphics/PointF;)[I
-Landroid/animation/PropertyValuesHolder$PointFToIntArray;->mCoordinates:[I
-Landroid/animation/PropertyValuesHolder$PropertyValues$DataSource;
-Landroid/animation/PropertyValuesHolder$PropertyValues$DataSource;->getValueAtFraction(F)Ljava/lang/Object;
-Landroid/animation/PropertyValuesHolder$PropertyValues;
-Landroid/animation/PropertyValuesHolder$PropertyValues;-><init>()V
-Landroid/animation/PropertyValuesHolder$PropertyValues;->dataSource:Landroid/animation/PropertyValuesHolder$PropertyValues$DataSource;
-Landroid/animation/PropertyValuesHolder$PropertyValues;->endValue:Ljava/lang/Object;
-Landroid/animation/PropertyValuesHolder$PropertyValues;->propertyName:Ljava/lang/String;
-Landroid/animation/PropertyValuesHolder$PropertyValues;->startValue:Ljava/lang/Object;
-Landroid/animation/PropertyValuesHolder$PropertyValues;->type:Ljava/lang/Class;
-Landroid/animation/PropertyValuesHolder;-><init>(Landroid/util/Property;)V
-Landroid/animation/PropertyValuesHolder;-><init>(Ljava/lang/String;)V
-Landroid/animation/PropertyValuesHolder;->calculateValue(F)V
-Landroid/animation/PropertyValuesHolder;->convertBack(Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/animation/PropertyValuesHolder;->DOUBLE_VARIANTS:[Ljava/lang/Class;
-Landroid/animation/PropertyValuesHolder;->FLOAT_VARIANTS:[Ljava/lang/Class;
-Landroid/animation/PropertyValuesHolder;->getAnimatedValue()Ljava/lang/Object;
-Landroid/animation/PropertyValuesHolder;->getMethodName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/animation/PropertyValuesHolder;->getPropertyFunction(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
-Landroid/animation/PropertyValuesHolder;->getPropertyValues(Landroid/animation/PropertyValuesHolder$PropertyValues;)V
-Landroid/animation/PropertyValuesHolder;->getValueType()Ljava/lang/Class;
-Landroid/animation/PropertyValuesHolder;->init()V
-Landroid/animation/PropertyValuesHolder;->INTEGER_VARIANTS:[Ljava/lang/Class;
-Landroid/animation/PropertyValuesHolder;->mAnimatedValue:Ljava/lang/Object;
-Landroid/animation/PropertyValuesHolder;->mConverter:Landroid/animation/TypeConverter;
-Landroid/animation/PropertyValuesHolder;->mEvaluator:Landroid/animation/TypeEvaluator;
-Landroid/animation/PropertyValuesHolder;->mGetter:Ljava/lang/reflect/Method;
-Landroid/animation/PropertyValuesHolder;->mKeyframes:Landroid/animation/Keyframes;
-Landroid/animation/PropertyValuesHolder;->mProperty:Landroid/util/Property;
-Landroid/animation/PropertyValuesHolder;->mPropertyName:Ljava/lang/String;
-Landroid/animation/PropertyValuesHolder;->mSetter:Ljava/lang/reflect/Method;
-Landroid/animation/PropertyValuesHolder;->mTmpValueArray:[Ljava/lang/Object;
-Landroid/animation/PropertyValuesHolder;->mValueType:Ljava/lang/Class;
-Landroid/animation/PropertyValuesHolder;->nCallFloatMethod(Ljava/lang/Object;JF)V
-Landroid/animation/PropertyValuesHolder;->nCallFourFloatMethod(Ljava/lang/Object;JFFFF)V
-Landroid/animation/PropertyValuesHolder;->nCallFourIntMethod(Ljava/lang/Object;JIIII)V
-Landroid/animation/PropertyValuesHolder;->nCallIntMethod(Ljava/lang/Object;JI)V
-Landroid/animation/PropertyValuesHolder;->nCallMultipleFloatMethod(Ljava/lang/Object;J[F)V
-Landroid/animation/PropertyValuesHolder;->nCallMultipleIntMethod(Ljava/lang/Object;J[I)V
-Landroid/animation/PropertyValuesHolder;->nCallTwoFloatMethod(Ljava/lang/Object;JFF)V
-Landroid/animation/PropertyValuesHolder;->nCallTwoIntMethod(Ljava/lang/Object;JII)V
-Landroid/animation/PropertyValuesHolder;->nGetFloatMethod(Ljava/lang/Class;Ljava/lang/String;)J
-Landroid/animation/PropertyValuesHolder;->nGetIntMethod(Ljava/lang/Class;Ljava/lang/String;)J
-Landroid/animation/PropertyValuesHolder;->nGetMultipleFloatMethod(Ljava/lang/Class;Ljava/lang/String;I)J
-Landroid/animation/PropertyValuesHolder;->nGetMultipleIntMethod(Ljava/lang/Class;Ljava/lang/String;I)J
-Landroid/animation/PropertyValuesHolder;->ofKeyframes(Landroid/util/Property;Landroid/animation/Keyframes;)Landroid/animation/PropertyValuesHolder;
-Landroid/animation/PropertyValuesHolder;->ofKeyframes(Ljava/lang/String;Landroid/animation/Keyframes;)Landroid/animation/PropertyValuesHolder;
-Landroid/animation/PropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V
-Landroid/animation/PropertyValuesHolder;->setupEndValue(Ljava/lang/Object;)V
-Landroid/animation/PropertyValuesHolder;->setupGetter(Ljava/lang/Class;)V
-Landroid/animation/PropertyValuesHolder;->setupSetter(Ljava/lang/Class;)V
-Landroid/animation/PropertyValuesHolder;->setupSetterAndGetter(Ljava/lang/Object;)V
-Landroid/animation/PropertyValuesHolder;->setupSetterOrGetter(Ljava/lang/Class;Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
-Landroid/animation/PropertyValuesHolder;->setupStartValue(Ljava/lang/Object;)V
-Landroid/animation/PropertyValuesHolder;->setupValue(Ljava/lang/Object;Landroid/animation/Keyframe;)V
-Landroid/animation/PropertyValuesHolder;->sFloatEvaluator:Landroid/animation/TypeEvaluator;
-Landroid/animation/PropertyValuesHolder;->sGetterPropertyMap:Ljava/util/HashMap;
-Landroid/animation/PropertyValuesHolder;->sIntEvaluator:Landroid/animation/TypeEvaluator;
-Landroid/animation/PropertyValuesHolder;->sSetterPropertyMap:Ljava/util/HashMap;
-Landroid/animation/RectEvaluator;->mRect:Landroid/graphics/Rect;
-Landroid/animation/RevealAnimator;
-Landroid/animation/RevealAnimator;-><init>(Landroid/view/View;IIFF)V
-Landroid/animation/RevealAnimator;->mClipView:Landroid/view/View;
-Landroid/animation/RevealAnimator;->onFinished()V
-Landroid/animation/StateListAnimator$StateListAnimatorConstantState;
-Landroid/animation/StateListAnimator$StateListAnimatorConstantState;-><init>(Landroid/animation/StateListAnimator;)V
-Landroid/animation/StateListAnimator$StateListAnimatorConstantState;->getChangingConfigurations()I
-Landroid/animation/StateListAnimator$StateListAnimatorConstantState;->mAnimator:Landroid/animation/StateListAnimator;
-Landroid/animation/StateListAnimator$StateListAnimatorConstantState;->mChangingConf:I
-Landroid/animation/StateListAnimator$StateListAnimatorConstantState;->newInstance()Landroid/animation/StateListAnimator;
-Landroid/animation/StateListAnimator$Tuple;
-Landroid/animation/StateListAnimator$Tuple;-><init>([ILandroid/animation/Animator;)V
-Landroid/animation/StateListAnimator$Tuple;->getAnimator()Landroid/animation/Animator;
-Landroid/animation/StateListAnimator$Tuple;->getSpecs()[I
-Landroid/animation/StateListAnimator$Tuple;->mAnimator:Landroid/animation/Animator;
-Landroid/animation/StateListAnimator$Tuple;->mSpecs:[I
-Landroid/animation/StateListAnimator;->appendChangingConfigurations(I)V
-Landroid/animation/StateListAnimator;->cancel()V
-Landroid/animation/StateListAnimator;->clearTarget()V
-Landroid/animation/StateListAnimator;->createConstantState()Landroid/content/res/ConstantState;
-Landroid/animation/StateListAnimator;->getChangingConfigurations()I
-Landroid/animation/StateListAnimator;->getRunningAnimator()Landroid/animation/Animator;
-Landroid/animation/StateListAnimator;->getTarget()Landroid/view/View;
-Landroid/animation/StateListAnimator;->getTuples()Ljava/util/ArrayList;
-Landroid/animation/StateListAnimator;->initAnimatorListener()V
-Landroid/animation/StateListAnimator;->mAnimatorListener:Landroid/animation/AnimatorListenerAdapter;
-Landroid/animation/StateListAnimator;->mChangingConfigurations:I
-Landroid/animation/StateListAnimator;->mConstantState:Landroid/animation/StateListAnimator$StateListAnimatorConstantState;
-Landroid/animation/StateListAnimator;->mLastMatch:Landroid/animation/StateListAnimator$Tuple;
-Landroid/animation/StateListAnimator;->mRunningAnimator:Landroid/animation/Animator;
-Landroid/animation/StateListAnimator;->mTuples:Ljava/util/ArrayList;
-Landroid/animation/StateListAnimator;->mViewRef:Ljava/lang/ref/WeakReference;
-Landroid/animation/StateListAnimator;->setChangingConfigurations(I)V
-Landroid/animation/StateListAnimator;->setState([I)V
-Landroid/animation/StateListAnimator;->setTarget(Landroid/view/View;)V
-Landroid/animation/StateListAnimator;->start(Landroid/animation/StateListAnimator$Tuple;)V
-Landroid/animation/TimeAnimator;->animateBasedOnTime(J)Z
-Landroid/animation/TimeAnimator;->animateValue(F)V
-Landroid/animation/TimeAnimator;->initAnimation()V
-Landroid/animation/TimeAnimator;->mListener:Landroid/animation/TimeAnimator$TimeListener;
-Landroid/animation/TimeAnimator;->mPreviousTime:J
-Landroid/animation/TypeConverter;->getSourceType()Ljava/lang/Class;
-Landroid/animation/TypeConverter;->getTargetType()Ljava/lang/Class;
-Landroid/animation/TypeConverter;->mFromClass:Ljava/lang/Class;
-Landroid/animation/TypeConverter;->mToClass:Ljava/lang/Class;
-Landroid/animation/ValueAnimator$RepeatMode;
-Landroid/animation/ValueAnimator;->addAnimationCallback(J)V
-Landroid/animation/ValueAnimator;->addOneShotCommitCallback()V
-Landroid/animation/ValueAnimator;->animateBasedOnPlayTime(JJZ)V
-Landroid/animation/ValueAnimator;->animateBasedOnTime(J)Z
-Landroid/animation/ValueAnimator;->canReverse()Z
-Landroid/animation/ValueAnimator;->clampFraction(F)F
-Landroid/animation/ValueAnimator;->commitAnimationFrame(J)V
-Landroid/animation/ValueAnimator;->DEBUG:Z
-Landroid/animation/ValueAnimator;->doAnimationFrame(J)Z
-Landroid/animation/ValueAnimator;->endAnimation()V
-Landroid/animation/ValueAnimator;->getAnimationHandler()Landroid/animation/AnimationHandler;
-Landroid/animation/ValueAnimator;->getCurrentAnimationsCount()I
-Landroid/animation/ValueAnimator;->getCurrentIteration(F)I
-Landroid/animation/ValueAnimator;->getCurrentIterationFraction(FZ)F
-Landroid/animation/ValueAnimator;->getNameForTrace()Ljava/lang/String;
-Landroid/animation/ValueAnimator;->getScaledDuration()J
-Landroid/animation/ValueAnimator;->initAnimation()V
-Landroid/animation/ValueAnimator;->isInitialized()Z
-Landroid/animation/ValueAnimator;->isPulsingInternal()Z
-Landroid/animation/ValueAnimator;->mAnimationEndRequested:Z
-Landroid/animation/ValueAnimator;->mCurrentFraction:F
-Landroid/animation/ValueAnimator;->mDurationScale:F
-Landroid/animation/ValueAnimator;->mFirstFrameTime:J
-Landroid/animation/ValueAnimator;->mInitialized:Z
-Landroid/animation/ValueAnimator;->mInterpolator:Landroid/animation/TimeInterpolator;
-Landroid/animation/ValueAnimator;->mLastFrameTime:J
-Landroid/animation/ValueAnimator;->mOverallFraction:F
-Landroid/animation/ValueAnimator;->mPauseTime:J
-Landroid/animation/ValueAnimator;->mRepeatCount:I
-Landroid/animation/ValueAnimator;->mRepeatMode:I
-Landroid/animation/ValueAnimator;->mResumed:Z
-Landroid/animation/ValueAnimator;->mReversing:Z
-Landroid/animation/ValueAnimator;->mRunning:Z
-Landroid/animation/ValueAnimator;->mSeekFraction:F
-Landroid/animation/ValueAnimator;->mSelfPulse:Z
-Landroid/animation/ValueAnimator;->mStartDelay:J
-Landroid/animation/ValueAnimator;->mStarted:Z
-Landroid/animation/ValueAnimator;->mStartListenersCalled:Z
-Landroid/animation/ValueAnimator;->mStartTime:J
-Landroid/animation/ValueAnimator;->mStartTimeCommitted:Z
-Landroid/animation/ValueAnimator;->mSuppressSelfPulseRequested:Z
-Landroid/animation/ValueAnimator;->mUpdateListeners:Ljava/util/ArrayList;
-Landroid/animation/ValueAnimator;->mValues:[Landroid/animation/PropertyValuesHolder;
-Landroid/animation/ValueAnimator;->mValuesMap:Ljava/util/HashMap;
-Landroid/animation/ValueAnimator;->notifyStartListeners()V
-Landroid/animation/ValueAnimator;->overrideDurationScale(F)V
-Landroid/animation/ValueAnimator;->pulseAnimationFrame(J)Z
-Landroid/animation/ValueAnimator;->removeAnimationCallback()V
-Landroid/animation/ValueAnimator;->resolveDurationScale()F
-Landroid/animation/ValueAnimator;->sDefaultInterpolator:Landroid/animation/TimeInterpolator;
-Landroid/animation/ValueAnimator;->setAllowRunningAsynchronously(Z)V
-Landroid/animation/ValueAnimator;->shouldPlayBackward(IZ)Z
-Landroid/animation/ValueAnimator;->skipToEndValue(Z)V
-Landroid/animation/ValueAnimator;->start(Z)V
-Landroid/animation/ValueAnimator;->startAnimation()V
-Landroid/animation/ValueAnimator;->startWithoutPulsing(Z)V
-Landroid/animation/ValueAnimator;->TAG:Ljava/lang/String;
-Landroid/annotation/AnimatorRes;
-Landroid/annotation/AnimRes;
-Landroid/annotation/AnyRes;
-Landroid/annotation/AnyThread;
-Landroid/annotation/AppIdInt;
-Landroid/annotation/ArrayRes;
-Landroid/annotation/AttrRes;
-Landroid/annotation/BinderThread;
-Landroid/annotation/BoolRes;
-Landroid/annotation/BroadcastBehavior;
-Landroid/annotation/BytesLong;
-Landroid/annotation/CallbackExecutor;
-Landroid/annotation/CallSuper;
-Landroid/annotation/CheckResult;
-Landroid/annotation/ColorInt;
-Landroid/annotation/ColorLong;
-Landroid/annotation/ColorRes;
-Landroid/annotation/Condemned;
-Landroid/annotation/CurrentTimeMillisLong;
-Landroid/annotation/DimenRes;
-Landroid/annotation/Dimension$Unit;
-Landroid/annotation/Dimension;
-Landroid/annotation/Dimension;->DP:I
-Landroid/annotation/Dimension;->PX:I
-Landroid/annotation/Dimension;->SP:I
-Landroid/annotation/DrawableRes;
-Landroid/annotation/DurationMillisLong;
-Landroid/annotation/ElapsedRealtimeLong;
-Landroid/annotation/FloatRange;
-Landroid/annotation/FontRes;
-Landroid/annotation/FractionRes;
-Landroid/annotation/HalfFloat;
-Landroid/annotation/IdRes;
-Landroid/annotation/IntDef;
-Landroid/annotation/IntegerRes;
-Landroid/annotation/InterpolatorRes;
-Landroid/annotation/IntRange;
-Landroid/annotation/LayoutRes;
-Landroid/annotation/LongDef;
-Landroid/annotation/MainThread;
-Landroid/annotation/MenuRes;
-Landroid/annotation/NavigationRes;
-Landroid/annotation/NonNull;
-Landroid/annotation/Nullable;
-Landroid/annotation/PluralsRes;
-Landroid/annotation/Px;
-Landroid/annotation/RawRes;
-Landroid/annotation/RequiresFeature;
-Landroid/annotation/RequiresPermission$Read;
-Landroid/annotation/RequiresPermission$Write;
-Landroid/annotation/RequiresPermission;
-Landroid/annotation/SdkConstant$SdkConstantType;
-Landroid/annotation/SdkConstant$SdkConstantType;-><init>()V
-Landroid/annotation/SdkConstant$SdkConstantType;->ACTIVITY_INTENT_ACTION:Landroid/annotation/SdkConstant$SdkConstantType;
-Landroid/annotation/SdkConstant$SdkConstantType;->BROADCAST_INTENT_ACTION:Landroid/annotation/SdkConstant$SdkConstantType;
-Landroid/annotation/SdkConstant$SdkConstantType;->FEATURE:Landroid/annotation/SdkConstant$SdkConstantType;
-Landroid/annotation/SdkConstant$SdkConstantType;->INTENT_CATEGORY:Landroid/annotation/SdkConstant$SdkConstantType;
-Landroid/annotation/SdkConstant$SdkConstantType;->SERVICE_ACTION:Landroid/annotation/SdkConstant$SdkConstantType;
-Landroid/annotation/SdkConstant$SdkConstantType;->valueOf(Ljava/lang/String;)Landroid/annotation/SdkConstant$SdkConstantType;
-Landroid/annotation/SdkConstant$SdkConstantType;->values()[Landroid/annotation/SdkConstant$SdkConstantType;
-Landroid/annotation/SdkConstant;
-Landroid/annotation/Size;
-Landroid/annotation/StringDef;
-Landroid/annotation/StringRes;
-Landroid/annotation/StyleableRes;
-Landroid/annotation/StyleRes;
-Landroid/annotation/SuppressAutoDoc;
-Landroid/annotation/SystemApi;
-Landroid/annotation/SystemService;
-Landroid/annotation/TestApi;
-Landroid/annotation/TransitionRes;
-Landroid/annotation/UiThread;
-Landroid/annotation/UserIdInt;
-Landroid/annotation/Widget;
-Landroid/annotation/WorkerThread;
-Landroid/annotation/XmlRes;
-Landroid/app/ActionBar$DisplayOptions;
-Landroid/app/ActionBar$LayoutParams;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/app/ActionBar$NavigationMode;
-Landroid/app/ActionBar;->closeOptionsMenu()Z
-Landroid/app/ActionBar;->dispatchMenuVisibilityChanged(Z)V
-Landroid/app/ActionBar;->invalidateOptionsMenu()Z
-Landroid/app/ActionBar;->isTitleTruncated()Z
-Landroid/app/ActionBar;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-Landroid/app/ActionBar;->onDestroy()V
-Landroid/app/ActionBar;->onKeyShortcut(ILandroid/view/KeyEvent;)Z
-Landroid/app/ActionBar;->onMenuKeyEvent(Landroid/view/KeyEvent;)Z
-Landroid/app/ActionBar;->openOptionsMenu()Z
-Landroid/app/ActionBar;->setDefaultDisplayHomeAsUpEnabled(Z)V
-Landroid/app/ActionBar;->setWindowTitle(Ljava/lang/CharSequence;)V
-Landroid/app/ActionBar;->startActionMode(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode;
-Landroid/app/Activity$DefaultKeyMode;
-Landroid/app/Activity$HostCallbacks;
-Landroid/app/Activity$HostCallbacks;-><init>()V
-Landroid/app/Activity$HostCallbacks;->onStartActivityAsUserFromFragment(Landroid/app/Fragment;Landroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)V
-Landroid/app/Activity$ManagedCursor;
-Landroid/app/Activity$ManagedCursor;-><init>(Landroid/database/Cursor;)V
-Landroid/app/Activity$ManagedCursor;->mCursor:Landroid/database/Cursor;
-Landroid/app/Activity$ManagedCursor;->mReleased:Z
-Landroid/app/Activity$ManagedCursor;->mUpdated:Z
-Landroid/app/Activity$ManagedDialog;
-Landroid/app/Activity$ManagedDialog;-><init>()V
-Landroid/app/Activity$ManagedDialog;->mArgs:Landroid/os/Bundle;
-Landroid/app/Activity$ManagedDialog;->mDialog:Landroid/app/Dialog;
-Landroid/app/Activity$NonConfigurationInstances;
-Landroid/app/Activity$NonConfigurationInstances;-><init>()V
-Landroid/app/Activity$NonConfigurationInstances;->activity:Ljava/lang/Object;
-Landroid/app/Activity$NonConfigurationInstances;->children:Ljava/util/HashMap;
-Landroid/app/Activity$NonConfigurationInstances;->fragments:Landroid/app/FragmentManagerNonConfig;
-Landroid/app/Activity$NonConfigurationInstances;->loaders:Landroid/util/ArrayMap;
-Landroid/app/Activity$NonConfigurationInstances;->voiceInteractor:Landroid/app/VoiceInteractor;
-Landroid/app/Activity;->autofillClientAuthenticate(ILandroid/content/IntentSender;Landroid/content/Intent;)V
-Landroid/app/Activity;->autofillClientDispatchUnhandledKey(Landroid/view/View;Landroid/view/KeyEvent;)V
-Landroid/app/Activity;->autofillClientFindViewByAccessibilityIdTraversal(II)Landroid/view/View;
-Landroid/app/Activity;->autofillClientFindViewByAutofillIdTraversal(Landroid/view/autofill/AutofillId;)Landroid/view/View;
-Landroid/app/Activity;->autofillClientFindViewsByAutofillIdTraversal([Landroid/view/autofill/AutofillId;)[Landroid/view/View;
-Landroid/app/Activity;->autofillClientGetActivityToken()Landroid/os/IBinder;
-Landroid/app/Activity;->autofillClientGetComponentName()Landroid/content/ComponentName;
-Landroid/app/Activity;->autofillClientGetNextAutofillId()Landroid/view/autofill/AutofillId;
-Landroid/app/Activity;->autofillClientGetViewVisibility([Landroid/view/autofill/AutofillId;)[Z
-Landroid/app/Activity;->autofillClientIsCompatibilityModeEnabled()Z
-Landroid/app/Activity;->autofillClientIsFillUiShowing()Z
-Landroid/app/Activity;->autofillClientIsVisibleForAutofill()Z
-Landroid/app/Activity;->autofillClientRequestHideFillUi()Z
-Landroid/app/Activity;->autofillClientRequestShowFillUi(Landroid/view/View;IILandroid/graphics/Rect;Landroid/view/autofill/IAutofillWindowPresenter;)Z
-Landroid/app/Activity;->autofillClientResetableStateAvailable()V
-Landroid/app/Activity;->autofillClientRunOnUiThread(Ljava/lang/Runnable;)V
-Landroid/app/Activity;->AUTOFILL_RESET_NEEDED:Ljava/lang/String;
-Landroid/app/Activity;->AUTO_FILL_AUTH_WHO_PREFIX:Ljava/lang/String;
-Landroid/app/Activity;->cancelInputsAndStartExitTransition(Landroid/os/Bundle;)V
-Landroid/app/Activity;->canStartActivityForResult()Z
-Landroid/app/Activity;->createDialog(Ljava/lang/Integer;Landroid/os/Bundle;Landroid/os/Bundle;)Landroid/app/Dialog;
-Landroid/app/Activity;->DEBUG_LIFECYCLE:Z
-Landroid/app/Activity;->deviceSupportsPictureInPictureMode()Z
-Landroid/app/Activity;->dispatchEnterAnimationComplete()V
-Landroid/app/Activity;->dispatchMovedToDisplay(ILandroid/content/res/Configuration;)V
-Landroid/app/Activity;->dispatchMultiWindowModeChanged(ZLandroid/content/res/Configuration;)V
-Landroid/app/Activity;->dispatchPictureInPictureModeChanged(ZLandroid/content/res/Configuration;)V
-Landroid/app/Activity;->dispatchRequestPermissionsResult(ILandroid/content/Intent;)V
-Landroid/app/Activity;->dispatchRequestPermissionsResultToFragment(ILandroid/content/Intent;Landroid/app/Fragment;)V
-Landroid/app/Activity;->DONT_FINISH_TASK_WITH_ACTIVITY:I
-Landroid/app/Activity;->dumpInner(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/app/Activity;->enableAutofillCompatibilityIfNeeded()V
-Landroid/app/Activity;->ensureSearchManager()V
-Landroid/app/Activity;->enterPictureInPictureModeIfPossible()V
-Landroid/app/Activity;->exitFreeformMode()V
-Landroid/app/Activity;->FINISH_TASK_WITH_ACTIVITY:I
-Landroid/app/Activity;->FINISH_TASK_WITH_ROOT_ACTIVITY:I
-Landroid/app/Activity;->getActivityThread()Landroid/app/ActivityThread;
-Landroid/app/Activity;->getAutofillClient()Landroid/view/autofill/AutofillManager$AutofillClient;
-Landroid/app/Activity;->getAutofillManager()Landroid/view/autofill/AutofillManager;
-Landroid/app/Activity;->getDlWarning()Ljava/lang/String;
-Landroid/app/Activity;->getLastNonConfigurationChildInstances()Ljava/util/HashMap;
-Landroid/app/Activity;->getNextAutofillId()I
-Landroid/app/Activity;->HAS_CURENT_PERMISSIONS_REQUEST_KEY:Ljava/lang/String;
-Landroid/app/Activity;->initWindowDecorActionBar()V
-Landroid/app/Activity;->isDisablingEnterExitEventForAutofill()Z
-Landroid/app/Activity;->isOverlayWithDecorCaptionEnabled()Z
-Landroid/app/Activity;->isTopOfTask()Z
-Landroid/app/Activity;->KEYBOARD_SHORTCUTS_RECEIVER_PKG_NAME:Ljava/lang/String;
-Landroid/app/Activity;->LAST_AUTOFILL_ID:Ljava/lang/String;
-Landroid/app/Activity;->LOG_AM_ON_ACTIVITY_RESULT_CALLED:I
-Landroid/app/Activity;->LOG_AM_ON_CREATE_CALLED:I
-Landroid/app/Activity;->LOG_AM_ON_DESTROY_CALLED:I
-Landroid/app/Activity;->LOG_AM_ON_PAUSE_CALLED:I
-Landroid/app/Activity;->LOG_AM_ON_RESTART_CALLED:I
-Landroid/app/Activity;->LOG_AM_ON_RESUME_CALLED:I
-Landroid/app/Activity;->LOG_AM_ON_START_CALLED:I
-Landroid/app/Activity;->LOG_AM_ON_STOP_CALLED:I
-Landroid/app/Activity;->mActionBar:Landroid/app/ActionBar;
-Landroid/app/Activity;->mActionModeTypeStarting:I
-Landroid/app/Activity;->makeVisible()V
-Landroid/app/Activity;->mAutoFillIgnoreFirstResumePause:Z
-Landroid/app/Activity;->mAutofillManager:Landroid/view/autofill/AutofillManager;
-Landroid/app/Activity;->mAutofillPopupWindow:Landroid/view/autofill/AutofillPopupWindow;
-Landroid/app/Activity;->mAutoFillResetNeeded:Z
-Landroid/app/Activity;->mCanEnterPictureInPicture:Z
-Landroid/app/Activity;->mChangeCanvasToTranslucent:Z
-Landroid/app/Activity;->mChangingConfigurations:Z
-Landroid/app/Activity;->mDecor:Landroid/view/View;
-Landroid/app/Activity;->mDefaultKeyMode:I
-Landroid/app/Activity;->mDefaultKeySsb:Landroid/text/SpannableStringBuilder;
-Landroid/app/Activity;->mDoReportFullyDrawn:Z
-Landroid/app/Activity;->mEnableDefaultActionBarUp:Z
-Landroid/app/Activity;->mEnterTransitionListener:Landroid/app/SharedElementCallback;
-Landroid/app/Activity;->mExitTransitionListener:Landroid/app/SharedElementCallback;
-Landroid/app/Activity;->mHasCurrentPermissionsRequest:Z
-Landroid/app/Activity;->mInstanceTracker:Ljava/lang/Object;
-Landroid/app/Activity;->missingDialog(I)Ljava/lang/IllegalArgumentException;
-Landroid/app/Activity;->mLastAutofillId:I
-Landroid/app/Activity;->mManagedCursors:Ljava/util/ArrayList;
-Landroid/app/Activity;->mManagedDialogs:Landroid/util/SparseArray;
-Landroid/app/Activity;->mMenuInflater:Landroid/view/MenuInflater;
-Landroid/app/Activity;->mRestoredFromBundle:Z
-Landroid/app/Activity;->mSearchEvent:Landroid/view/SearchEvent;
-Landroid/app/Activity;->mSearchManager:Landroid/app/SearchManager;
-Landroid/app/Activity;->mStartedActivity:Z
-Landroid/app/Activity;->mTaskDescription:Landroid/app/ActivityManager$TaskDescription;
-Landroid/app/Activity;->mTemporaryPause:Z
-Landroid/app/Activity;->mTitleColor:I
-Landroid/app/Activity;->mTitleReady:Z
-Landroid/app/Activity;->mTranslucentCallback:Landroid/app/Activity$TranslucentConversionListener;
-Landroid/app/Activity;->mUiThread:Ljava/lang/Thread;
-Landroid/app/Activity;->mVisibleFromServer:Z
-Landroid/app/Activity;->onMovedToDisplay(ILandroid/content/res/Configuration;)V
-Landroid/app/Activity;->onNewActivityOptions(Landroid/app/ActivityOptions;)V
-Landroid/app/Activity;->onRetainNonConfigurationChildInstances()Ljava/util/HashMap;
-Landroid/app/Activity;->onTranslucentConversionComplete(Z)V
-Landroid/app/Activity;->onWindowDismissed(ZZ)V
-Landroid/app/Activity;->performCreate(Landroid/os/Bundle;)V
-Landroid/app/Activity;->performDestroy()V
-Landroid/app/Activity;->performNewIntent(Landroid/content/Intent;)V
-Landroid/app/Activity;->performPause()V
-Landroid/app/Activity;->performRestart(ZLjava/lang/String;)V
-Landroid/app/Activity;->performRestoreInstanceState(Landroid/os/Bundle;)V
-Landroid/app/Activity;->performRestoreInstanceState(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V
-Landroid/app/Activity;->performResume(ZLjava/lang/String;)V
-Landroid/app/Activity;->performSaveInstanceState(Landroid/os/Bundle;)V
-Landroid/app/Activity;->performSaveInstanceState(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V
-Landroid/app/Activity;->performStart(Ljava/lang/String;)V
-Landroid/app/Activity;->performStop(ZLjava/lang/String;)V
-Landroid/app/Activity;->performUserLeaving()V
-Landroid/app/Activity;->REQUEST_PERMISSIONS_WHO_PREFIX:Ljava/lang/String;
-Landroid/app/Activity;->restoreHasCurrentPermissionRequest(Landroid/os/Bundle;)V
-Landroid/app/Activity;->restoreManagedDialogs(Landroid/os/Bundle;)V
-Landroid/app/Activity;->retainNonConfigurationInstances()Landroid/app/Activity$NonConfigurationInstances;
-Landroid/app/Activity;->savedDialogArgsKeyFor(I)Ljava/lang/String;
-Landroid/app/Activity;->savedDialogKeyFor(I)Ljava/lang/String;
-Landroid/app/Activity;->SAVED_DIALOGS_TAG:Ljava/lang/String;
-Landroid/app/Activity;->SAVED_DIALOG_ARGS_KEY_PREFIX:Ljava/lang/String;
-Landroid/app/Activity;->SAVED_DIALOG_IDS_KEY:Ljava/lang/String;
-Landroid/app/Activity;->SAVED_DIALOG_KEY_PREFIX:Ljava/lang/String;
-Landroid/app/Activity;->setOverlayWithDecorCaptionEnabled(Z)V
-Landroid/app/Activity;->setVoiceInteractor(Lcom/android/internal/app/IVoiceInteractor;)V
-Landroid/app/Activity;->startActivityAsCaller(Landroid/content/Intent;Landroid/os/Bundle;ZI)V
-Landroid/app/Activity;->startActivityAsUser(Landroid/content/Intent;Landroid/os/Bundle;Landroid/os/UserHandle;)V
-Landroid/app/Activity;->startActivityAsUserFromFragment(Landroid/app/Fragment;Landroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)V
-Landroid/app/Activity;->startActivityForResultAsUser(Landroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)V
-Landroid/app/Activity;->startActivityForResultAsUser(Landroid/content/Intent;Ljava/lang/String;ILandroid/os/Bundle;Landroid/os/UserHandle;)V
-Landroid/app/Activity;->startIntentSenderForResultInner(Landroid/content/IntentSender;Ljava/lang/String;ILandroid/content/Intent;IILandroid/os/Bundle;)V
-Landroid/app/Activity;->startIntentSenderFromChildFragment(Landroid/app/Fragment;Landroid/content/IntentSender;ILandroid/content/Intent;IIILandroid/os/Bundle;)V
-Landroid/app/Activity;->storeHasCurrentPermissionRequest(Landroid/os/Bundle;)V
-Landroid/app/Activity;->TAG:Ljava/lang/String;
-Landroid/app/Activity;->transferSpringboardActivityOptions(Landroid/os/Bundle;)Landroid/os/Bundle;
-Landroid/app/Activity;->WINDOW_HIERARCHY_TAG:Ljava/lang/String;
-Landroid/app/Activity;->writeEventLog(ILjava/lang/String;)V
-Landroid/app/ActivityGroup;->dispatchActivityResult(Ljava/lang/String;IILandroid/content/Intent;Ljava/lang/String;)V
-Landroid/app/ActivityGroup;->onRetainNonConfigurationChildInstances()Ljava/util/HashMap;
-Landroid/app/ActivityGroup;->PARENT_NON_CONFIG_INSTANCE_KEY:Ljava/lang/String;
-Landroid/app/ActivityGroup;->STATES_KEY:Ljava/lang/String;
-Landroid/app/ActivityManager$AppTask;-><init>(Landroid/app/IAppTask;)V
-Landroid/app/ActivityManager$AppTask;->mAppTaskImpl:Landroid/app/IAppTask;
-Landroid/app/ActivityManager$BugreportMode;
-Landroid/app/ActivityManager$MemoryInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/app/ActivityManager$MoveTaskFlags;
-Landroid/app/ActivityManager$ProcessErrorStateInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/app/ActivityManager$RecentTaskInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/app/ActivityManager$RecentTaskInfo;->bounds:Landroid/graphics/Rect;
-Landroid/app/ActivityManager$RecentTaskInfo;->realActivity:Landroid/content/ComponentName;
-Landroid/app/ActivityManager$RunningAppProcessInfo$Importance;
-Landroid/app/ActivityManager$RunningAppProcessInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/app/ActivityManager$RunningAppProcessInfo;->FLAG_CANT_SAVE_STATE:I
-Landroid/app/ActivityManager$RunningAppProcessInfo;->importanceReasonImportance:I
-Landroid/app/ActivityManager$RunningAppProcessInfo;->importanceToProcState(I)I
-Landroid/app/ActivityManager$RunningAppProcessInfo;->IMPORTANCE_CANT_SAVE_STATE_PRE_26:I
-Landroid/app/ActivityManager$RunningAppProcessInfo;->procStateToImportanceForClient(ILandroid/content/Context;)I
-Landroid/app/ActivityManager$RunningAppProcessInfo;->procStateToImportanceForTargetSdk(II)I
-Landroid/app/ActivityManager$RunningServiceInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/app/ActivityManager$RunningTaskInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/app/ActivityManager$RunningTaskInfo;->configuration:Landroid/content/res/Configuration;
-Landroid/app/ActivityManager$RunningTaskInfo;->lastActiveTime:J
-Landroid/app/ActivityManager$RunningTaskInfo;->resizeMode:I
-Landroid/app/ActivityManager$RunningTaskInfo;->stackId:I
-Landroid/app/ActivityManager$RunningTaskInfo;->supportsSplitScreenMultiWindow:Z
-Landroid/app/ActivityManager$StackId;-><init>()V
-Landroid/app/ActivityManager$StackInfo;
-Landroid/app/ActivityManager$StackInfo;-><init>()V
-Landroid/app/ActivityManager$StackInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/app/ActivityManager$StackInfo;->configuration:Landroid/content/res/Configuration;
-Landroid/app/ActivityManager$StackInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/ActivityManager$StackInfo;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/app/ActivityManager$TaskDescription;-><init>(Landroid/os/Parcel;)V
-Landroid/app/ActivityManager$TaskDescription;-><init>(Ljava/lang/String;Landroid/graphics/Bitmap;ILjava/lang/String;IIII)V
-Landroid/app/ActivityManager$TaskDescription;->ATTR_TASKDESCRIPTIONCOLOR_BACKGROUND:Ljava/lang/String;
-Landroid/app/ActivityManager$TaskDescription;->ATTR_TASKDESCRIPTIONCOLOR_PRIMARY:Ljava/lang/String;
-Landroid/app/ActivityManager$TaskDescription;->ATTR_TASKDESCRIPTIONICON_FILENAME:Ljava/lang/String;
-Landroid/app/ActivityManager$TaskDescription;->ATTR_TASKDESCRIPTIONICON_RESOURCE:Ljava/lang/String;
-Landroid/app/ActivityManager$TaskDescription;->ATTR_TASKDESCRIPTIONLABEL:Ljava/lang/String;
-Landroid/app/ActivityManager$TaskDescription;->ATTR_TASKDESCRIPTION_PREFIX:Ljava/lang/String;
-Landroid/app/ActivityManager$TaskDescription;->copyFrom(Landroid/app/ActivityManager$TaskDescription;)V
-Landroid/app/ActivityManager$TaskDescription;->copyFromPreserveHiddenFields(Landroid/app/ActivityManager$TaskDescription;)V
-Landroid/app/ActivityManager$TaskDescription;->getNavigationBarColor()I
-Landroid/app/ActivityManager$TaskDescription;->getStatusBarColor()I
-Landroid/app/ActivityManager$TaskDescription;->mColorBackground:I
-Landroid/app/ActivityManager$TaskDescription;->mColorPrimary:I
-Landroid/app/ActivityManager$TaskDescription;->mIcon:Landroid/graphics/Bitmap;
-Landroid/app/ActivityManager$TaskDescription;->mIconFilename:Ljava/lang/String;
-Landroid/app/ActivityManager$TaskDescription;->mIconRes:I
-Landroid/app/ActivityManager$TaskDescription;->mLabel:Ljava/lang/String;
-Landroid/app/ActivityManager$TaskDescription;->mNavigationBarColor:I
-Landroid/app/ActivityManager$TaskDescription;->mStatusBarColor:I
-Landroid/app/ActivityManager$TaskDescription;->restoreFromXml(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/ActivityManager$TaskDescription;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-Landroid/app/ActivityManager$TaskDescription;->setBackgroundColor(I)V
-Landroid/app/ActivityManager$TaskDescription;->setIcon(I)V
-Landroid/app/ActivityManager$TaskDescription;->setIconFilename(Ljava/lang/String;)V
-Landroid/app/ActivityManager$TaskDescription;->setLabel(Ljava/lang/String;)V
-Landroid/app/ActivityManager$TaskDescription;->setNavigationBarColor(I)V
-Landroid/app/ActivityManager$TaskDescription;->setPrimaryColor(I)V
-Landroid/app/ActivityManager$TaskDescription;->setStatusBarColor(I)V
-Landroid/app/ActivityManager$TaskSnapshot;
-Landroid/app/ActivityManager$TaskSnapshot;-><init>(Landroid/graphics/GraphicBuffer;ILandroid/graphics/Rect;ZFZIIZ)V
-Landroid/app/ActivityManager$TaskSnapshot;-><init>(Landroid/os/Parcel;)V
-Landroid/app/ActivityManager$TaskSnapshot;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/ActivityManager$TaskSnapshot;->getSystemUiVisibility()I
-Landroid/app/ActivityManager$TaskSnapshot;->getWindowingMode()I
-Landroid/app/ActivityManager$TaskSnapshot;->isTranslucent()Z
-Landroid/app/ActivityManager$TaskSnapshot;->mContentInsets:Landroid/graphics/Rect;
-Landroid/app/ActivityManager$TaskSnapshot;->mIsRealSnapshot:Z
-Landroid/app/ActivityManager$TaskSnapshot;->mIsTranslucent:Z
-Landroid/app/ActivityManager$TaskSnapshot;->mOrientation:I
-Landroid/app/ActivityManager$TaskSnapshot;->mReducedResolution:Z
-Landroid/app/ActivityManager$TaskSnapshot;->mScale:F
-Landroid/app/ActivityManager$TaskSnapshot;->mSnapshot:Landroid/graphics/GraphicBuffer;
-Landroid/app/ActivityManager$TaskSnapshot;->mSystemUiVisibility:I
-Landroid/app/ActivityManager$TaskSnapshot;->mWindowingMode:I
-Landroid/app/ActivityManager$UidObserver;
-Landroid/app/ActivityManager$UidObserver;-><init>(Landroid/app/ActivityManager$OnUidImportanceListener;Landroid/content/Context;)V
-Landroid/app/ActivityManager$UidObserver;->mContext:Landroid/content/Context;
-Landroid/app/ActivityManager$UidObserver;->mListener:Landroid/app/ActivityManager$OnUidImportanceListener;
-Landroid/app/ActivityManager$UidObserver;->onUidActive(I)V
-Landroid/app/ActivityManager$UidObserver;->onUidCachedChanged(IZ)V
-Landroid/app/ActivityManager$UidObserver;->onUidGone(IZ)V
-Landroid/app/ActivityManager$UidObserver;->onUidIdle(IZ)V
-Landroid/app/ActivityManager$UidObserver;->onUidStateChanged(IIJ)V
-Landroid/app/ActivityManager;->APP_START_MODE_DELAYED:I
-Landroid/app/ActivityManager;->APP_START_MODE_DELAYED_RIGID:I
-Landroid/app/ActivityManager;->APP_START_MODE_DISABLED:I
-Landroid/app/ActivityManager;->APP_START_MODE_NORMAL:I
-Landroid/app/ActivityManager;->ASSIST_CONTEXT_AUTOFILL:I
-Landroid/app/ActivityManager;->ASSIST_CONTEXT_BASIC:I
-Landroid/app/ActivityManager;->ASSIST_CONTEXT_FULL:I
-Landroid/app/ActivityManager;->broadcastStickyIntent(Landroid/content/Intent;I)V
-Landroid/app/ActivityManager;->broadcastStickyIntent(Landroid/content/Intent;II)V
-Landroid/app/ActivityManager;->BROADCAST_FAILED_USER_STOPPED:I
-Landroid/app/ActivityManager;->BROADCAST_STICKY_CANT_HAVE_PERMISSION:I
-Landroid/app/ActivityManager;->BROADCAST_SUCCESS:I
-Landroid/app/ActivityManager;->BUGREPORT_OPTION_FULL:I
-Landroid/app/ActivityManager;->BUGREPORT_OPTION_INTERACTIVE:I
-Landroid/app/ActivityManager;->BUGREPORT_OPTION_REMOTE:I
-Landroid/app/ActivityManager;->BUGREPORT_OPTION_TELEPHONY:I
-Landroid/app/ActivityManager;->BUGREPORT_OPTION_WEAR:I
-Landroid/app/ActivityManager;->BUGREPORT_OPTION_WIFI:I
-Landroid/app/ActivityManager;->checkUidPermission(Ljava/lang/String;I)I
-Landroid/app/ActivityManager;->clearGrantedUriPermissions(Ljava/lang/String;)V
-Landroid/app/ActivityManager;->COMPAT_MODE_ALWAYS:I
-Landroid/app/ActivityManager;->COMPAT_MODE_DISABLED:I
-Landroid/app/ActivityManager;->COMPAT_MODE_ENABLED:I
-Landroid/app/ActivityManager;->COMPAT_MODE_NEVER:I
-Landroid/app/ActivityManager;->COMPAT_MODE_TOGGLE:I
-Landroid/app/ActivityManager;->COMPAT_MODE_UNKNOWN:I
-Landroid/app/ActivityManager;->DEVELOPMENT_FORCE_LOW_RAM:Z
-Landroid/app/ActivityManager;->dumpPackageStateStatic(Ljava/io/FileDescriptor;Ljava/lang/String;)V
-Landroid/app/ActivityManager;->dumpService(Ljava/io/PrintWriter;Ljava/io/FileDescriptor;Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/app/ActivityManager;->ensureAppTaskThumbnailSizeLocked()V
-Landroid/app/ActivityManager;->FIRST_START_FATAL_ERROR_CODE:I
-Landroid/app/ActivityManager;->FIRST_START_NON_FATAL_ERROR_CODE:I
-Landroid/app/ActivityManager;->FIRST_START_SUCCESS_CODE:I
-Landroid/app/ActivityManager;->FLAG_AND_LOCKED:I
-Landroid/app/ActivityManager;->FLAG_AND_UNLOCKED:I
-Landroid/app/ActivityManager;->FLAG_AND_UNLOCKING_OR_UNLOCKED:I
-Landroid/app/ActivityManager;->FLAG_OR_STOPPED:I
-Landroid/app/ActivityManager;->getDefaultAppRecentsLimitStatic()I
-Landroid/app/ActivityManager;->getFrontActivityScreenCompatMode()I
-Landroid/app/ActivityManager;->getGrantedUriPermissions(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-Landroid/app/ActivityManager;->getLauncherLargeIconSizeInner(Landroid/content/Context;)I
-Landroid/app/ActivityManager;->getMaxAppRecentsLimitStatic()I
-Landroid/app/ActivityManager;->getPackageAskScreenCompat(Ljava/lang/String;)Z
-Landroid/app/ActivityManager;->getPackageScreenCompatMode(Ljava/lang/String;)I
-Landroid/app/ActivityManager;->getRunningExternalApplications()Ljava/util/List;
-Landroid/app/ActivityManager;->gMaxRecentTasks:I
-Landroid/app/ActivityManager;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
-Landroid/app/ActivityManager;->INTENT_SENDER_ACTIVITY_RESULT:I
-Landroid/app/ActivityManager;->INTENT_SENDER_BROADCAST:I
-Landroid/app/ActivityManager;->INTENT_SENDER_FOREGROUND_SERVICE:I
-Landroid/app/ActivityManager;->INTENT_SENDER_SERVICE:I
-Landroid/app/ActivityManager;->isProcStateBackground(I)Z
-Landroid/app/ActivityManager;->isSmallBatteryDevice()Z
-Landroid/app/ActivityManager;->isStartResultFatalError(I)Z
-Landroid/app/ActivityManager;->isStartResultSuccessful(I)Z
-Landroid/app/ActivityManager;->isSystemReady()Z
-Landroid/app/ActivityManager;->isVrModePackageEnabled(Landroid/content/ComponentName;)Z
-Landroid/app/ActivityManager;->LAST_START_FATAL_ERROR_CODE:I
-Landroid/app/ActivityManager;->LAST_START_NON_FATAL_ERROR_CODE:I
-Landroid/app/ActivityManager;->LAST_START_SUCCESS_CODE:I
-Landroid/app/ActivityManager;->logoutCurrentUser()V
-Landroid/app/ActivityManager;->mAppTaskThumbnailSize:Landroid/graphics/Point;
-Landroid/app/ActivityManager;->MAX_PROCESS_STATE:I
-Landroid/app/ActivityManager;->mImportanceListeners:Landroid/util/ArrayMap;
-Landroid/app/ActivityManager;->MIN_PROCESS_STATE:I
-Landroid/app/ActivityManager;->noteAlarmFinish(Landroid/app/PendingIntent;Landroid/os/WorkSource;ILjava/lang/String;)V
-Landroid/app/ActivityManager;->noteAlarmStart(Landroid/app/PendingIntent;Landroid/os/WorkSource;ILjava/lang/String;)V
-Landroid/app/ActivityManager;->noteWakeupAlarm(Landroid/app/PendingIntent;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;)V
-Landroid/app/ActivityManager;->processStateAmToProto(I)I
-Landroid/app/ActivityManager;->PROCESS_STATE_BACKUP:I
-Landroid/app/ActivityManager;->PROCESS_STATE_CACHED_ACTIVITY_CLIENT:I
-Landroid/app/ActivityManager;->PROCESS_STATE_CACHED_EMPTY:I
-Landroid/app/ActivityManager;->PROCESS_STATE_CACHED_RECENT:I
-Landroid/app/ActivityManager;->PROCESS_STATE_HEAVY_WEIGHT:I
-Landroid/app/ActivityManager;->PROCESS_STATE_IMPORTANT_FOREGROUND:I
-Landroid/app/ActivityManager;->PROCESS_STATE_LAST_ACTIVITY:I
-Landroid/app/ActivityManager;->PROCESS_STATE_NONEXISTENT:I
-Landroid/app/ActivityManager;->PROCESS_STATE_PERSISTENT:I
-Landroid/app/ActivityManager;->PROCESS_STATE_PERSISTENT_UI:I
-Landroid/app/ActivityManager;->PROCESS_STATE_TOP_SLEEPING:I
-Landroid/app/ActivityManager;->PROCESS_STATE_TRANSIENT_BACKGROUND:I
-Landroid/app/ActivityManager;->PROCESS_STATE_UNKNOWN:I
-Landroid/app/ActivityManager;->RESIZE_MODE_FORCED:I
-Landroid/app/ActivityManager;->RESIZE_MODE_PRESERVE_WINDOW:I
-Landroid/app/ActivityManager;->RESIZE_MODE_SYSTEM:I
-Landroid/app/ActivityManager;->RESIZE_MODE_SYSTEM_SCREEN_ROTATION:I
-Landroid/app/ActivityManager;->RESIZE_MODE_USER:I
-Landroid/app/ActivityManager;->RESIZE_MODE_USER_FORCED:I
-Landroid/app/ActivityManager;->setFrontActivityScreenCompatMode(I)V
-Landroid/app/ActivityManager;->setPackageAskScreenCompat(Ljava/lang/String;Z)V
-Landroid/app/ActivityManager;->setPackageScreenCompatMode(Ljava/lang/String;I)V
-Landroid/app/ActivityManager;->setProcessMemoryTrimLevel(Ljava/lang/String;II)Z
-Landroid/app/ActivityManager;->sSystemReady:Z
-Landroid/app/ActivityManager;->START_ABORTED:I
-Landroid/app/ActivityManager;->START_ASSISTANT_HIDDEN_SESSION:I
-Landroid/app/ActivityManager;->START_ASSISTANT_NOT_ACTIVE_SESSION:I
-Landroid/app/ActivityManager;->START_CANCELED:I
-Landroid/app/ActivityManager;->START_CLASS_NOT_FOUND:I
-Landroid/app/ActivityManager;->START_DELIVERED_TO_TOP:I
-Landroid/app/ActivityManager;->START_FLAG_DEBUG:I
-Landroid/app/ActivityManager;->START_FLAG_NATIVE_DEBUGGING:I
-Landroid/app/ActivityManager;->START_FLAG_ONLY_IF_NEEDED:I
-Landroid/app/ActivityManager;->START_FLAG_TRACK_ALLOCATION:I
-Landroid/app/ActivityManager;->START_FORWARD_AND_REQUEST_CONFLICT:I
-Landroid/app/ActivityManager;->START_INTENT_NOT_RESOLVED:I
-Landroid/app/ActivityManager;->START_NOT_ACTIVITY:I
-Landroid/app/ActivityManager;->START_NOT_CURRENT_USER_ACTIVITY:I
-Landroid/app/ActivityManager;->START_NOT_VOICE_COMPATIBLE:I
-Landroid/app/ActivityManager;->START_PERMISSION_DENIED:I
-Landroid/app/ActivityManager;->START_RETURN_INTENT_TO_CALLER:I
-Landroid/app/ActivityManager;->START_RETURN_LOCK_TASK_MODE_VIOLATION:I
-Landroid/app/ActivityManager;->START_SUCCESS:I
-Landroid/app/ActivityManager;->START_SWITCHES_CANCELED:I
-Landroid/app/ActivityManager;->START_TASK_TO_FRONT:I
-Landroid/app/ActivityManager;->START_VOICE_HIDDEN_SESSION:I
-Landroid/app/ActivityManager;->START_VOICE_NOT_ACTIVE_SESSION:I
-Landroid/app/ActivityManager;->staticGetLargeMemoryClass()I
-Landroid/app/ActivityManager;->TAG:Ljava/lang/String;
-Landroid/app/ActivityManager;->UID_OBSERVER_ACTIVE:I
-Landroid/app/ActivityManager;->UID_OBSERVER_CACHED:I
-Landroid/app/ActivityManager;->UID_OBSERVER_GONE:I
-Landroid/app/ActivityManager;->UID_OBSERVER_IDLE:I
-Landroid/app/ActivityManager;->UID_OBSERVER_PROCSTATE:I
-Landroid/app/ActivityManager;->USER_OP_ERROR_IS_SYSTEM:I
-Landroid/app/ActivityManager;->USER_OP_ERROR_RELATED_USERS_CANNOT_STOP:I
-Landroid/app/ActivityManager;->USER_OP_IS_CURRENT:I
-Landroid/app/ActivityManager;->USER_OP_SUCCESS:I
-Landroid/app/ActivityManager;->USER_OP_UNKNOWN_USER:I
-Landroid/app/ActivityManagerInternal$ScreenObserver;
-Landroid/app/ActivityManagerInternal$ScreenObserver;->onAwakeStateChanged(Z)V
-Landroid/app/ActivityManagerInternal$ScreenObserver;->onKeyguardStateChanged(Z)V
-Landroid/app/ActivityManagerInternal$SleepToken;
-Landroid/app/ActivityManagerInternal$SleepToken;-><init>()V
-Landroid/app/ActivityManagerInternal$SleepToken;->release()V
-Landroid/app/ActivityManagerInternal;
-Landroid/app/ActivityManagerInternal;-><init>()V
-Landroid/app/ActivityManagerInternal;->acquireSleepToken(Ljava/lang/String;I)Landroid/app/ActivityManagerInternal$SleepToken;
-Landroid/app/ActivityManagerInternal;->APP_TRANSITION_RECENTS_ANIM:I
-Landroid/app/ActivityManagerInternal;->APP_TRANSITION_SNAPSHOT:I
-Landroid/app/ActivityManagerInternal;->APP_TRANSITION_SPLASH_SCREEN:I
-Landroid/app/ActivityManagerInternal;->APP_TRANSITION_TIMEOUT:I
-Landroid/app/ActivityManagerInternal;->APP_TRANSITION_WINDOWS_DRAWN:I
-Landroid/app/ActivityManagerInternal;->ASSIST_KEY_CONTENT:Ljava/lang/String;
-Landroid/app/ActivityManagerInternal;->ASSIST_KEY_DATA:Ljava/lang/String;
-Landroid/app/ActivityManagerInternal;->ASSIST_KEY_RECEIVER_EXTRAS:Ljava/lang/String;
-Landroid/app/ActivityManagerInternal;->ASSIST_KEY_STRUCTURE:Ljava/lang/String;
-Landroid/app/ActivityManagerInternal;->cancelRecentsAnimation(Z)V
-Landroid/app/ActivityManagerInternal;->canStartMoreUsers()Z
-Landroid/app/ActivityManagerInternal;->checkContentProviderAccess(Ljava/lang/String;I)Ljava/lang/String;
-Landroid/app/ActivityManagerInternal;->clearSavedANRState()V
-Landroid/app/ActivityManagerInternal;->enforceCallerIsRecentsOrHasPermission(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/ActivityManagerInternal;->getHomeActivityForUser(I)Landroid/content/ComponentName;
-Landroid/app/ActivityManagerInternal;->getMaxRunningUsers()I
-Landroid/app/ActivityManagerInternal;->getMemoryStateForProcesses()Ljava/util/List;
-Landroid/app/ActivityManagerInternal;->getTopVisibleActivities()Ljava/util/List;
-Landroid/app/ActivityManagerInternal;->getUidProcessState(I)I
-Landroid/app/ActivityManagerInternal;->grantUriPermissionFromIntent(ILjava/lang/String;Landroid/content/Intent;I)V
-Landroid/app/ActivityManagerInternal;->hasRunningActivity(ILjava/lang/String;)Z
-Landroid/app/ActivityManagerInternal;->isCallerRecents(I)Z
-Landroid/app/ActivityManagerInternal;->isRecentsComponentHomeActivity(I)Z
-Landroid/app/ActivityManagerInternal;->isRuntimeRestarted()Z
-Landroid/app/ActivityManagerInternal;->isSystemReady()Z
-Landroid/app/ActivityManagerInternal;->isUidActive(I)Z
-Landroid/app/ActivityManagerInternal;->killForegroundAppsForUser(I)V
-Landroid/app/ActivityManagerInternal;->notifyActiveVoiceInteractionServiceChanged(Landroid/content/ComponentName;)V
-Landroid/app/ActivityManagerInternal;->notifyAppTransitionCancelled()V
-Landroid/app/ActivityManagerInternal;->notifyAppTransitionFinished()V
-Landroid/app/ActivityManagerInternal;->notifyAppTransitionStarting(Landroid/util/SparseIntArray;J)V
-Landroid/app/ActivityManagerInternal;->notifyDockedStackMinimizedChanged(Z)V
-Landroid/app/ActivityManagerInternal;->notifyKeyguardFlagsChanged(Ljava/lang/Runnable;)V
-Landroid/app/ActivityManagerInternal;->notifyKeyguardTrustedChanged()V
-Landroid/app/ActivityManagerInternal;->notifyNetworkPolicyRulesUpdated(IJ)V
-Landroid/app/ActivityManagerInternal;->onLocalVoiceInteractionStarted(Landroid/os/IBinder;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)V
-Landroid/app/ActivityManagerInternal;->onUserRemoved(I)V
-Landroid/app/ActivityManagerInternal;->onWakefulnessChanged(I)V
-Landroid/app/ActivityManagerInternal;->registerScreenObserver(Landroid/app/ActivityManagerInternal$ScreenObserver;)V
-Landroid/app/ActivityManagerInternal;->saveANRState(Ljava/lang/String;)V
-Landroid/app/ActivityManagerInternal;->setAllowAppSwitches(Ljava/lang/String;II)V
-Landroid/app/ActivityManagerInternal;->setDeviceIdleWhitelist([I[I)V
-Landroid/app/ActivityManagerInternal;->setFocusedActivity(Landroid/os/IBinder;)V
-Landroid/app/ActivityManagerInternal;->setHasOverlayUi(IZ)V
-Landroid/app/ActivityManagerInternal;->setPendingIntentWhitelistDuration(Landroid/content/IIntentSender;Landroid/os/IBinder;J)V
-Landroid/app/ActivityManagerInternal;->setRunningRemoteAnimation(IZ)V
-Landroid/app/ActivityManagerInternal;->setSwitchingFromSystemUserMessage(Ljava/lang/String;)V
-Landroid/app/ActivityManagerInternal;->setSwitchingToSystemUserMessage(Ljava/lang/String;)V
-Landroid/app/ActivityManagerInternal;->setVr2dDisplayId(I)V
-Landroid/app/ActivityManagerInternal;->startActivitiesAsPackage(Ljava/lang/String;I[Landroid/content/Intent;Landroid/os/Bundle;)I
-Landroid/app/ActivityManagerInternal;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Landroid/os/Bundle;I)I
-Landroid/app/ActivityManagerInternal;->startIsolatedProcess(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Runnable;)Z
-Landroid/app/ActivityManagerInternal;->updateDeviceIdleTempWhitelist([IIZ)V
-Landroid/app/ActivityManagerInternal;->updatePersistentConfigurationForUser(Landroid/content/res/Configuration;I)V
-Landroid/app/ActivityManagerNative;
-Landroid/app/ActivityManagerNative;->broadcastStickyIntent(Landroid/content/Intent;Ljava/lang/String;II)V
-Landroid/app/ActivityManagerNative;->noteAlarmFinish(Landroid/app/PendingIntent;ILjava/lang/String;)V
-Landroid/app/ActivityManagerNative;->noteAlarmStart(Landroid/app/PendingIntent;ILjava/lang/String;)V
-Landroid/app/ActivityManagerNative;->noteWakeupAlarm(Landroid/app/PendingIntent;ILjava/lang/String;Ljava/lang/String;)V
-Landroid/app/ActivityManagerProto;
-Landroid/app/ActivityManagerProto;-><init>()V
-Landroid/app/ActivityManagerProto;->UID_OBSERVER_FLAG_ACTIVE:I
-Landroid/app/ActivityManagerProto;->UID_OBSERVER_FLAG_CACHED:I
-Landroid/app/ActivityManagerProto;->UID_OBSERVER_FLAG_GONE:I
-Landroid/app/ActivityManagerProto;->UID_OBSERVER_FLAG_IDLE:I
-Landroid/app/ActivityManagerProto;->UID_OBSERVER_FLAG_PROCSTATE:I
-Landroid/app/ActivityOptions$HideWindowListener;
-Landroid/app/ActivityOptions$HideWindowListener;-><init>(Landroid/view/Window;Landroid/app/ExitTransitionCoordinator;)V
-Landroid/app/ActivityOptions$HideWindowListener;->hideSharedElements()V
-Landroid/app/ActivityOptions$HideWindowListener;->hideWhenDone()V
-Landroid/app/ActivityOptions$HideWindowListener;->mExit:Landroid/app/ExitTransitionCoordinator;
-Landroid/app/ActivityOptions$HideWindowListener;->mSharedElementHidden:Z
-Landroid/app/ActivityOptions$HideWindowListener;->mSharedElements:Ljava/util/ArrayList;
-Landroid/app/ActivityOptions$HideWindowListener;->mTransitionEnded:Z
-Landroid/app/ActivityOptions$HideWindowListener;->mWaitingForTransition:Z
-Landroid/app/ActivityOptions$HideWindowListener;->mWindow:Landroid/view/Window;
-Landroid/app/ActivityOptions$OnAnimationFinishedListener;
-Landroid/app/ActivityOptions$OnAnimationFinishedListener;->onAnimationFinished()V
-Landroid/app/ActivityOptions$OnAnimationStartedListener;
-Landroid/app/ActivityOptions$OnAnimationStartedListener;->onAnimationStarted()V
-Landroid/app/ActivityOptions;-><init>()V
-Landroid/app/ActivityOptions;-><init>(Landroid/os/Bundle;)V
-Landroid/app/ActivityOptions;->abort()V
-Landroid/app/ActivityOptions;->abort(Landroid/app/ActivityOptions;)V
-Landroid/app/ActivityOptions;->ANIM_CLIP_REVEAL:I
-Landroid/app/ActivityOptions;->ANIM_CUSTOM:I
-Landroid/app/ActivityOptions;->ANIM_CUSTOM_IN_PLACE:I
-Landroid/app/ActivityOptions;->ANIM_DEFAULT:I
-Landroid/app/ActivityOptions;->ANIM_LAUNCH_TASK_BEHIND:I
-Landroid/app/ActivityOptions;->ANIM_NONE:I
-Landroid/app/ActivityOptions;->ANIM_OPEN_CROSS_PROFILE_APPS:I
-Landroid/app/ActivityOptions;->ANIM_REMOTE_ANIMATION:I
-Landroid/app/ActivityOptions;->ANIM_SCALE_UP:I
-Landroid/app/ActivityOptions;->ANIM_SCENE_TRANSITION:I
-Landroid/app/ActivityOptions;->ANIM_THUMBNAIL_ASPECT_SCALE_DOWN:I
-Landroid/app/ActivityOptions;->ANIM_THUMBNAIL_ASPECT_SCALE_UP:I
-Landroid/app/ActivityOptions;->ANIM_THUMBNAIL_SCALE_DOWN:I
-Landroid/app/ActivityOptions;->ANIM_THUMBNAIL_SCALE_UP:I
-Landroid/app/ActivityOptions;->canTaskOverlayResume()Z
-Landroid/app/ActivityOptions;->disallowEnterPictureInPictureWhileLaunching()Z
-Landroid/app/ActivityOptions;->forTargetActivity()Landroid/app/ActivityOptions;
-Landroid/app/ActivityOptions;->fromBundle(Landroid/os/Bundle;)Landroid/app/ActivityOptions;
-Landroid/app/ActivityOptions;->getAnimationFinishedListener()Landroid/os/IRemoteCallback;
-Landroid/app/ActivityOptions;->getAnimationType()I
-Landroid/app/ActivityOptions;->getAnimSpecs()[Landroid/view/AppTransitionAnimationSpec;
-Landroid/app/ActivityOptions;->getAvoidMoveToFront()Z
-Landroid/app/ActivityOptions;->getCustomEnterResId()I
-Landroid/app/ActivityOptions;->getCustomExitResId()I
-Landroid/app/ActivityOptions;->getCustomInPlaceResId()I
-Landroid/app/ActivityOptions;->getExitCoordinatorKey()I
-Landroid/app/ActivityOptions;->getHeight()I
-Landroid/app/ActivityOptions;->getLaunchActivityType()I
-Landroid/app/ActivityOptions;->getLaunchTaskBehind()Z
-Landroid/app/ActivityOptions;->getLaunchTaskId()I
-Landroid/app/ActivityOptions;->getLaunchWindowingMode()I
-Landroid/app/ActivityOptions;->getOnAnimationStartListener()Landroid/os/IRemoteCallback;
-Landroid/app/ActivityOptions;->getPackageName()Ljava/lang/String;
-Landroid/app/ActivityOptions;->getRemoteAnimationAdapter()Landroid/view/RemoteAnimationAdapter;
-Landroid/app/ActivityOptions;->getResultCode()I
-Landroid/app/ActivityOptions;->getResultData()Landroid/content/Intent;
-Landroid/app/ActivityOptions;->getResultReceiver()Landroid/os/ResultReceiver;
-Landroid/app/ActivityOptions;->getRotationAnimationHint()I
-Landroid/app/ActivityOptions;->getSharedElementNames()Ljava/util/ArrayList;
-Landroid/app/ActivityOptions;->getSpecsFuture()Landroid/view/IAppTransitionAnimationSpecsFuture;
-Landroid/app/ActivityOptions;->getSplitScreenCreateMode()I
-Landroid/app/ActivityOptions;->getStartX()I
-Landroid/app/ActivityOptions;->getStartY()I
-Landroid/app/ActivityOptions;->getTaskOverlay()Z
-Landroid/app/ActivityOptions;->getThumbnail()Landroid/graphics/GraphicBuffer;
-Landroid/app/ActivityOptions;->getUsageTimeReport()Landroid/app/PendingIntent;
-Landroid/app/ActivityOptions;->getWidth()I
-Landroid/app/ActivityOptions;->isCrossTask()Z
-Landroid/app/ActivityOptions;->isReturning()Z
-Landroid/app/ActivityOptions;->KEY_ANIMATION_FINISHED_LISTENER:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_ANIM_ENTER_RES_ID:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_ANIM_EXIT_RES_ID:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_ANIM_HEIGHT:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_ANIM_IN_PLACE_RES_ID:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_ANIM_SPECS:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_ANIM_START_LISTENER:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_ANIM_START_X:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_ANIM_START_Y:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_ANIM_THUMBNAIL:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_ANIM_TYPE:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_ANIM_WIDTH:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_AVOID_MOVE_TO_FRONT:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_DISALLOW_ENTER_PICTURE_IN_PICTURE_WHILE_LAUNCHING:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_EXIT_COORDINATOR_INDEX:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_INSTANT_APP_VERIFICATION_BUNDLE:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_LAUNCH_ACTIVITY_TYPE:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_LAUNCH_BOUNDS:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_LAUNCH_DISPLAY_ID:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_LAUNCH_TASK_ID:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_LAUNCH_WINDOWING_MODE:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_LOCK_TASK_MODE:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_PACKAGE_NAME:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_REMOTE_ANIMATION_ADAPTER:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_RESULT_CODE:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_RESULT_DATA:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_ROTATION_ANIMATION_HINT:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_SPECS_FUTURE:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_SPLIT_SCREEN_CREATE_MODE:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_TASK_OVERLAY:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_TASK_OVERLAY_CAN_RESUME:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_TRANSITION_COMPLETE_LISTENER:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_TRANSITION_IS_RETURNING:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_TRANSITION_SHARED_ELEMENTS:Ljava/lang/String;
-Landroid/app/ActivityOptions;->KEY_USAGE_TIME_REPORT:Ljava/lang/String;
-Landroid/app/ActivityOptions;->makeAspectScaledThumbnailAnimation(Landroid/view/View;Landroid/graphics/Bitmap;IIIILandroid/os/Handler;Landroid/app/ActivityOptions$OnAnimationStartedListener;Z)Landroid/app/ActivityOptions;
-Landroid/app/ActivityOptions;->makeCustomInPlaceAnimation(Landroid/content/Context;I)Landroid/app/ActivityOptions;
-Landroid/app/ActivityOptions;->makeOpenCrossProfileAppsAnimation()Landroid/app/ActivityOptions;
-Landroid/app/ActivityOptions;->makeSceneTransitionAnimation(Landroid/app/Activity;Landroid/app/ExitTransitionCoordinator;Ljava/util/ArrayList;ILandroid/content/Intent;)Landroid/app/ActivityOptions;
-Landroid/app/ActivityOptions;->makeSceneTransitionAnimation(Landroid/app/Activity;Landroid/view/Window;Landroid/app/ActivityOptions;Landroid/app/SharedElementCallback;[Landroid/util/Pair;)Landroid/app/ExitTransitionCoordinator;
-Landroid/app/ActivityOptions;->makeThumbnailAnimation(Landroid/view/View;Landroid/graphics/Bitmap;IILandroid/app/ActivityOptions$OnAnimationStartedListener;Z)Landroid/app/ActivityOptions;
-Landroid/app/ActivityOptions;->makeThumbnailAspectScaleDownAnimation(Landroid/view/View;Landroid/graphics/Bitmap;IIIILandroid/os/Handler;Landroid/app/ActivityOptions$OnAnimationStartedListener;)Landroid/app/ActivityOptions;
-Landroid/app/ActivityOptions;->makeThumbnailAspectScaleDownAnimation(Landroid/view/View;[Landroid/view/AppTransitionAnimationSpec;Landroid/os/Handler;Landroid/app/ActivityOptions$OnAnimationStartedListener;Landroid/app/ActivityOptions$OnAnimationFinishedListener;)Landroid/app/ActivityOptions;
-Landroid/app/ActivityOptions;->makeThumbnailScaleUpAnimation(Landroid/view/View;Landroid/graphics/Bitmap;IILandroid/app/ActivityOptions$OnAnimationStartedListener;)Landroid/app/ActivityOptions;
-Landroid/app/ActivityOptions;->mAnimationFinishedListener:Landroid/os/IRemoteCallback;
-Landroid/app/ActivityOptions;->mAnimationStartedListener:Landroid/os/IRemoteCallback;
-Landroid/app/ActivityOptions;->mAnimationType:I
-Landroid/app/ActivityOptions;->mAnimSpecs:[Landroid/view/AppTransitionAnimationSpec;
-Landroid/app/ActivityOptions;->mAppVerificationBundle:Landroid/os/Bundle;
-Landroid/app/ActivityOptions;->mAvoidMoveToFront:Z
-Landroid/app/ActivityOptions;->mCustomEnterResId:I
-Landroid/app/ActivityOptions;->mCustomExitResId:I
-Landroid/app/ActivityOptions;->mCustomInPlaceResId:I
-Landroid/app/ActivityOptions;->mDisallowEnterPictureInPictureWhileLaunching:Z
-Landroid/app/ActivityOptions;->mExitCoordinatorIndex:I
-Landroid/app/ActivityOptions;->mHeight:I
-Landroid/app/ActivityOptions;->mIsReturning:Z
-Landroid/app/ActivityOptions;->mLaunchActivityType:I
-Landroid/app/ActivityOptions;->mLaunchBounds:Landroid/graphics/Rect;
-Landroid/app/ActivityOptions;->mLaunchDisplayId:I
-Landroid/app/ActivityOptions;->mLaunchTaskId:I
-Landroid/app/ActivityOptions;->mLaunchWindowingMode:I
-Landroid/app/ActivityOptions;->mLockTaskMode:Z
-Landroid/app/ActivityOptions;->mPackageName:Ljava/lang/String;
-Landroid/app/ActivityOptions;->mRemoteAnimationAdapter:Landroid/view/RemoteAnimationAdapter;
-Landroid/app/ActivityOptions;->mResultCode:I
-Landroid/app/ActivityOptions;->mResultData:Landroid/content/Intent;
-Landroid/app/ActivityOptions;->mRotationAnimationHint:I
-Landroid/app/ActivityOptions;->mSharedElementNames:Ljava/util/ArrayList;
-Landroid/app/ActivityOptions;->mSpecsFuture:Landroid/view/IAppTransitionAnimationSpecsFuture;
-Landroid/app/ActivityOptions;->mSplitScreenCreateMode:I
-Landroid/app/ActivityOptions;->mStartX:I
-Landroid/app/ActivityOptions;->mStartY:I
-Landroid/app/ActivityOptions;->mTaskOverlay:Z
-Landroid/app/ActivityOptions;->mTaskOverlayCanResume:Z
-Landroid/app/ActivityOptions;->mThumbnail:Landroid/graphics/Bitmap;
-Landroid/app/ActivityOptions;->mTransitionReceiver:Landroid/os/ResultReceiver;
-Landroid/app/ActivityOptions;->mUsageTimeReport:Landroid/app/PendingIntent;
-Landroid/app/ActivityOptions;->mWidth:I
-Landroid/app/ActivityOptions;->popAppVerificationBundle()Landroid/os/Bundle;
-Landroid/app/ActivityOptions;->setAvoidMoveToFront()V
-Landroid/app/ActivityOptions;->setDisallowEnterPictureInPictureWhileLaunching(Z)V
-Landroid/app/ActivityOptions;->setOnAnimationFinishedListener(Landroid/os/Handler;Landroid/app/ActivityOptions$OnAnimationFinishedListener;)V
-Landroid/app/ActivityOptions;->setOnAnimationStartedListener(Landroid/os/Handler;Landroid/app/ActivityOptions$OnAnimationStartedListener;)V
-Landroid/app/ActivityOptions;->setRemoteAnimationAdapter(Landroid/view/RemoteAnimationAdapter;)V
-Landroid/app/ActivityOptions;->setRotationAnimationHint(I)V
-Landroid/app/ActivityOptions;->startSharedElementAnimation(Landroid/view/Window;[[Landroid/util/Pair;)Landroid/app/ActivityOptions;
-Landroid/app/ActivityOptions;->stopSharedElementAnimation(Landroid/view/Window;)V
-Landroid/app/ActivityOptions;->TAG:Ljava/lang/String;
-Landroid/app/ActivityThread$ActivityClientRecord;
-Landroid/app/ActivityThread$ActivityClientRecord;-><init>(Landroid/os/IBinder;Landroid/content/Intent;ILandroid/content/pm/ActivityInfo;Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/util/List;Ljava/util/List;ZLandroid/app/ProfilerInfo;Landroid/app/ClientTransactionHandler;)V
-Landroid/app/ActivityThread$ActivityClientRecord;->configCallback:Landroid/view/ViewRootImpl$ActivityConfigCallback;
-Landroid/app/ActivityThread$ActivityClientRecord;->createdConfig:Landroid/content/res/Configuration;
-Landroid/app/ActivityThread$ActivityClientRecord;->embeddedID:Ljava/lang/String;
-Landroid/app/ActivityThread$ActivityClientRecord;->getLifecycleState()I
-Landroid/app/ActivityThread$ActivityClientRecord;->getStateString()Ljava/lang/String;
-Landroid/app/ActivityThread$ActivityClientRecord;->hideForNow:Z
-Landroid/app/ActivityThread$ActivityClientRecord;->ident:I
-Landroid/app/ActivityThread$ActivityClientRecord;->init()V
-Landroid/app/ActivityThread$ActivityClientRecord;->isForward:Z
-Landroid/app/ActivityThread$ActivityClientRecord;->isPersistable()Z
-Landroid/app/ActivityThread$ActivityClientRecord;->isPreHoneycomb()Z
-Landroid/app/ActivityThread$ActivityClientRecord;->isPreP()Z
-Landroid/app/ActivityThread$ActivityClientRecord;->isVisibleFromServer()Z
-Landroid/app/ActivityThread$ActivityClientRecord;->lastNonConfigurationInstances:Landroid/app/Activity$NonConfigurationInstances;
-Landroid/app/ActivityThread$ActivityClientRecord;->mLifecycleState:I
-Landroid/app/ActivityThread$ActivityClientRecord;->mPendingRemoveWindow:Landroid/view/Window;
-Landroid/app/ActivityThread$ActivityClientRecord;->mPendingRemoveWindowManager:Landroid/view/WindowManager;
-Landroid/app/ActivityThread$ActivityClientRecord;->newConfig:Landroid/content/res/Configuration;
-Landroid/app/ActivityThread$ActivityClientRecord;->nextIdle:Landroid/app/ActivityThread$ActivityClientRecord;
-Landroid/app/ActivityThread$ActivityClientRecord;->overrideConfig:Landroid/content/res/Configuration;
-Landroid/app/ActivityThread$ActivityClientRecord;->parent:Landroid/app/Activity;
-Landroid/app/ActivityThread$ActivityClientRecord;->pendingConfigChanges:I
-Landroid/app/ActivityThread$ActivityClientRecord;->pendingIntents:Ljava/util/List;
-Landroid/app/ActivityThread$ActivityClientRecord;->pendingResults:Ljava/util/List;
-Landroid/app/ActivityThread$ActivityClientRecord;->persistentState:Landroid/os/PersistableBundle;
-Landroid/app/ActivityThread$ActivityClientRecord;->profilerInfo:Landroid/app/ProfilerInfo;
-Landroid/app/ActivityThread$ActivityClientRecord;->referrer:Ljava/lang/String;
-Landroid/app/ActivityThread$ActivityClientRecord;->setState(I)V
-Landroid/app/ActivityThread$ActivityClientRecord;->startsNotResumed:Z
-Landroid/app/ActivityThread$ActivityClientRecord;->state:Landroid/os/Bundle;
-Landroid/app/ActivityThread$ActivityClientRecord;->tmpConfig:Landroid/content/res/Configuration;
-Landroid/app/ActivityThread$ActivityClientRecord;->voiceInteractor:Lcom/android/internal/app/IVoiceInteractor;
-Landroid/app/ActivityThread$ActivityClientRecord;->window:Landroid/view/Window;
-Landroid/app/ActivityThread$AppBindData;
-Landroid/app/ActivityThread$AppBindData;->autofillCompatibilityEnabled:Z
-Landroid/app/ActivityThread$AppBindData;->buildSerial:Ljava/lang/String;
-Landroid/app/ActivityThread$AppBindData;->config:Landroid/content/res/Configuration;
-Landroid/app/ActivityThread$AppBindData;->debugMode:I
-Landroid/app/ActivityThread$AppBindData;->enableBinderTracking:Z
-Landroid/app/ActivityThread$AppBindData;->initProfilerInfo:Landroid/app/ProfilerInfo;
-Landroid/app/ActivityThread$AppBindData;->instrumentationName:Landroid/content/ComponentName;
-Landroid/app/ActivityThread$AppBindData;->instrumentationUiAutomationConnection:Landroid/app/IUiAutomationConnection;
-Landroid/app/ActivityThread$AppBindData;->instrumentationWatcher:Landroid/app/IInstrumentationWatcher;
-Landroid/app/ActivityThread$AppBindData;->trackAllocation:Z
-Landroid/app/ActivityThread$ApplicationThread;
-Landroid/app/ActivityThread$ApplicationThread;-><init>()V
-Landroid/app/ActivityThread$ApplicationThread;->attachAgent(Ljava/lang/String;)V
-Landroid/app/ActivityThread$ApplicationThread;->bindApplication(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/util/List;Landroid/content/ComponentName;Landroid/app/ProfilerInfo;Landroid/os/Bundle;Landroid/app/IInstrumentationWatcher;Landroid/app/IUiAutomationConnection;IZZZZLandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/util/Map;Landroid/os/Bundle;Ljava/lang/String;Z)V
-Landroid/app/ActivityThread$ApplicationThread;->clearDnsCache()V
-Landroid/app/ActivityThread$ApplicationThread;->DB_INFO_FORMAT:Ljava/lang/String;
-Landroid/app/ActivityThread$ApplicationThread;->dispatchPackageBroadcast(I[Ljava/lang/String;)V
-Landroid/app/ActivityThread$ApplicationThread;->dumpActivity(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/app/ActivityThread$ApplicationThread;->dumpDatabaseInfo(Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;)V
-Landroid/app/ActivityThread$ApplicationThread;->dumpDbInfo(Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;)V
-Landroid/app/ActivityThread$ApplicationThread;->dumpGfxInfo(Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;)V
-Landroid/app/ActivityThread$ApplicationThread;->dumpHeap(ZZZLjava/lang/String;Landroid/os/ParcelFileDescriptor;)V
-Landroid/app/ActivityThread$ApplicationThread;->dumpMemInfo(Landroid/os/ParcelFileDescriptor;Landroid/os/Debug$MemoryInfo;ZZZZZ[Ljava/lang/String;)V
-Landroid/app/ActivityThread$ApplicationThread;->dumpMemInfo(Landroid/util/proto/ProtoOutputStream;Landroid/os/Debug$MemoryInfo;ZZZZ)V
-Landroid/app/ActivityThread$ApplicationThread;->dumpMemInfo(Ljava/io/PrintWriter;Landroid/os/Debug$MemoryInfo;ZZZZZ)V
-Landroid/app/ActivityThread$ApplicationThread;->dumpMemInfoProto(Landroid/os/ParcelFileDescriptor;Landroid/os/Debug$MemoryInfo;ZZZZ[Ljava/lang/String;)V
-Landroid/app/ActivityThread$ApplicationThread;->dumpProvider(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;[Ljava/lang/String;)V
-Landroid/app/ActivityThread$ApplicationThread;->dumpService(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;[Ljava/lang/String;)V
-Landroid/app/ActivityThread$ApplicationThread;->handleTrustStorageUpdate()V
-Landroid/app/ActivityThread$ApplicationThread;->mLastProcessState:I
-Landroid/app/ActivityThread$ApplicationThread;->notifyCleartextNetwork([B)V
-Landroid/app/ActivityThread$ApplicationThread;->processInBackground()V
-Landroid/app/ActivityThread$ApplicationThread;->profilerControl(ZLandroid/app/ProfilerInfo;I)V
-Landroid/app/ActivityThread$ApplicationThread;->requestAssistContextExtras(Landroid/os/IBinder;Landroid/os/IBinder;III)V
-Landroid/app/ActivityThread$ApplicationThread;->runIsolatedEntryPoint(Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleApplicationInfoChanged(Landroid/content/pm/ApplicationInfo;)V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleBindService(Landroid/os/IBinder;Landroid/content/Intent;ZI)V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleCrash(Ljava/lang/String;)V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleCreateBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleCreateService(Landroid/os/IBinder;Landroid/content/pm/ServiceInfo;Landroid/content/res/CompatibilityInfo;I)V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleDestroyBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;)V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleEnterAnimationComplete(Landroid/os/IBinder;)V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleExit()V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleInstallProvider(Landroid/content/pm/ProviderInfo;)V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleLocalVoiceInteractionStarted(Landroid/os/IBinder;Lcom/android/internal/app/IVoiceInteractor;)V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleLowMemory()V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleOnNewActivityOptions(Landroid/os/IBinder;Landroid/os/Bundle;)V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleReceiver(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/content/res/CompatibilityInfo;ILjava/lang/String;Landroid/os/Bundle;ZII)V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleRegisteredReceiver(Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZII)V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleServiceArgs(Landroid/os/IBinder;Landroid/content/pm/ParceledListSlice;)V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleSleeping(Landroid/os/IBinder;Z)V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleStopService(Landroid/os/IBinder;)V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleSuicide()V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleTransaction(Landroid/app/servertransaction/ClientTransaction;)V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleTranslucentConversionComplete(Landroid/os/IBinder;Z)V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleTrimMemory(I)V
-Landroid/app/ActivityThread$ApplicationThread;->scheduleUnbindService(Landroid/os/IBinder;Landroid/content/Intent;)V
-Landroid/app/ActivityThread$ApplicationThread;->setCoreSettings(Landroid/os/Bundle;)V
-Landroid/app/ActivityThread$ApplicationThread;->setHttpProxy(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V
-Landroid/app/ActivityThread$ApplicationThread;->setNetworkBlockSeq(J)V
-Landroid/app/ActivityThread$ApplicationThread;->setProcessState(I)V
-Landroid/app/ActivityThread$ApplicationThread;->setSchedulingGroup(I)V
-Landroid/app/ActivityThread$ApplicationThread;->startBinderTracking()V
-Landroid/app/ActivityThread$ApplicationThread;->stopBinderTrackingAndDump(Landroid/os/ParcelFileDescriptor;)V
-Landroid/app/ActivityThread$ApplicationThread;->unstableProviderDied(Landroid/os/IBinder;)V
-Landroid/app/ActivityThread$ApplicationThread;->updatePackageCompatibilityInfo(Ljava/lang/String;Landroid/content/res/CompatibilityInfo;)V
-Landroid/app/ActivityThread$ApplicationThread;->updatePendingConfiguration(Landroid/content/res/Configuration;)V
-Landroid/app/ActivityThread$ApplicationThread;->updateProcessState(IZ)V
-Landroid/app/ActivityThread$ApplicationThread;->updateTimePrefs(I)V
-Landroid/app/ActivityThread$ApplicationThread;->updateTimeZone()V
-Landroid/app/ActivityThread$BindServiceData;
-Landroid/app/ActivityThread$BindServiceData;-><init>()V
-Landroid/app/ActivityThread$BindServiceData;->rebind:Z
-Landroid/app/ActivityThread$ContextCleanupInfo;
-Landroid/app/ActivityThread$ContextCleanupInfo;-><init>()V
-Landroid/app/ActivityThread$ContextCleanupInfo;->context:Landroid/app/ContextImpl;
-Landroid/app/ActivityThread$ContextCleanupInfo;->what:Ljava/lang/String;
-Landroid/app/ActivityThread$ContextCleanupInfo;->who:Ljava/lang/String;
-Landroid/app/ActivityThread$CreateBackupAgentData;
-Landroid/app/ActivityThread$CreateBackupAgentData;-><init>()V
-Landroid/app/ActivityThread$CreateBackupAgentData;->appInfo:Landroid/content/pm/ApplicationInfo;
-Landroid/app/ActivityThread$CreateBackupAgentData;->backupMode:I
-Landroid/app/ActivityThread$CreateBackupAgentData;->compatInfo:Landroid/content/res/CompatibilityInfo;
-Landroid/app/ActivityThread$CreateServiceData;
-Landroid/app/ActivityThread$DropBoxReporter;
-Landroid/app/ActivityThread$DropBoxReporter;-><init>()V
-Landroid/app/ActivityThread$DropBoxReporter;->dropBox:Landroid/os/DropBoxManager;
-Landroid/app/ActivityThread$DropBoxReporter;->ensureInitialized()V
-Landroid/app/ActivityThread$DumpComponentInfo;
-Landroid/app/ActivityThread$DumpComponentInfo;-><init>()V
-Landroid/app/ActivityThread$DumpComponentInfo;->args:[Ljava/lang/String;
-Landroid/app/ActivityThread$DumpComponentInfo;->fd:Landroid/os/ParcelFileDescriptor;
-Landroid/app/ActivityThread$DumpComponentInfo;->prefix:Ljava/lang/String;
-Landroid/app/ActivityThread$DumpComponentInfo;->token:Landroid/os/IBinder;
-Landroid/app/ActivityThread$DumpHeapData;
-Landroid/app/ActivityThread$DumpHeapData;-><init>()V
-Landroid/app/ActivityThread$DumpHeapData;->fd:Landroid/os/ParcelFileDescriptor;
-Landroid/app/ActivityThread$DumpHeapData;->mallocInfo:Z
-Landroid/app/ActivityThread$DumpHeapData;->managed:Z
-Landroid/app/ActivityThread$DumpHeapData;->path:Ljava/lang/String;
-Landroid/app/ActivityThread$DumpHeapData;->runGc:Z
-Landroid/app/ActivityThread$EventLoggingReporter;
-Landroid/app/ActivityThread$EventLoggingReporter;-><init>()V
-Landroid/app/ActivityThread$GcIdler;
-Landroid/app/ActivityThread$GcIdler;-><init>()V
-Landroid/app/ActivityThread$H;
-Landroid/app/ActivityThread$H;-><init>()V
-Landroid/app/ActivityThread$H;->APPLICATION_INFO_CHANGED:I
-Landroid/app/ActivityThread$H;->ATTACH_AGENT:I
-Landroid/app/ActivityThread$H;->BIND_APPLICATION:I
-Landroid/app/ActivityThread$H;->CLEAN_UP_CONTEXT:I
-Landroid/app/ActivityThread$H;->codeToString(I)Ljava/lang/String;
-Landroid/app/ActivityThread$H;->CONFIGURATION_CHANGED:I
-Landroid/app/ActivityThread$H;->CREATE_BACKUP_AGENT:I
-Landroid/app/ActivityThread$H;->DESTROY_BACKUP_AGENT:I
-Landroid/app/ActivityThread$H;->DISPATCH_PACKAGE_BROADCAST:I
-Landroid/app/ActivityThread$H;->DUMP_ACTIVITY:I
-Landroid/app/ActivityThread$H;->DUMP_HEAP:I
-Landroid/app/ActivityThread$H;->DUMP_SERVICE:I
-Landroid/app/ActivityThread$H;->ENABLE_JIT:I
-Landroid/app/ActivityThread$H;->EXECUTE_TRANSACTION:I
-Landroid/app/ActivityThread$H;->LOCAL_VOICE_INTERACTION_STARTED:I
-Landroid/app/ActivityThread$H;->LOW_MEMORY:I
-Landroid/app/ActivityThread$H;->ON_NEW_ACTIVITY_OPTIONS:I
-Landroid/app/ActivityThread$H;->PROFILER_CONTROL:I
-Landroid/app/ActivityThread$H;->RELAUNCH_ACTIVITY:I
-Landroid/app/ActivityThread$H;->REQUEST_ASSIST_CONTEXT_EXTRAS:I
-Landroid/app/ActivityThread$H;->RUN_ISOLATED_ENTRY_POINT:I
-Landroid/app/ActivityThread$H;->SET_CORE_SETTINGS:I
-Landroid/app/ActivityThread$H;->SLEEPING:I
-Landroid/app/ActivityThread$H;->START_BINDER_TRACKING:I
-Landroid/app/ActivityThread$H;->STOP_BINDER_TRACKING_AND_DUMP:I
-Landroid/app/ActivityThread$H;->SUICIDE:I
-Landroid/app/ActivityThread$H;->TRANSLUCENT_CONVERSION_COMPLETE:I
-Landroid/app/ActivityThread$H;->UNSTABLE_PROVIDER_DIED:I
-Landroid/app/ActivityThread$H;->UPDATE_PACKAGE_COMPATIBILITY_INFO:I
-Landroid/app/ActivityThread$Idler;
-Landroid/app/ActivityThread$Idler;-><init>()V
-Landroid/app/ActivityThread$Profiler;
-Landroid/app/ActivityThread$Profiler;-><init>()V
-Landroid/app/ActivityThread$Profiler;->autoStopProfiler:Z
-Landroid/app/ActivityThread$Profiler;->handlingProfiling:Z
-Landroid/app/ActivityThread$Profiler;->profileFd:Landroid/os/ParcelFileDescriptor;
-Landroid/app/ActivityThread$Profiler;->profileFile:Ljava/lang/String;
-Landroid/app/ActivityThread$Profiler;->profiling:Z
-Landroid/app/ActivityThread$Profiler;->samplingInterval:I
-Landroid/app/ActivityThread$Profiler;->setProfiler(Landroid/app/ProfilerInfo;)V
-Landroid/app/ActivityThread$Profiler;->startProfiling()V
-Landroid/app/ActivityThread$Profiler;->stopProfiling()V
-Landroid/app/ActivityThread$Profiler;->streamingOutput:Z
-Landroid/app/ActivityThread$ProviderClientRecord;
-Landroid/app/ActivityThread$ProviderClientRecord;-><init>([Ljava/lang/String;Landroid/content/IContentProvider;Landroid/content/ContentProvider;Landroid/app/ContentProviderHolder;)V
-Landroid/app/ActivityThread$ProviderClientRecord;->mNames:[Ljava/lang/String;
-Landroid/app/ActivityThread$ProviderKey;
-Landroid/app/ActivityThread$ProviderKey;-><init>(Ljava/lang/String;I)V
-Landroid/app/ActivityThread$ProviderKey;->authority:Ljava/lang/String;
-Landroid/app/ActivityThread$ProviderKey;->userId:I
-Landroid/app/ActivityThread$ProviderRefCount;
-Landroid/app/ActivityThread$ProviderRefCount;-><init>(Landroid/app/ContentProviderHolder;Landroid/app/ActivityThread$ProviderClientRecord;II)V
-Landroid/app/ActivityThread$ProviderRefCount;->client:Landroid/app/ActivityThread$ProviderClientRecord;
-Landroid/app/ActivityThread$ProviderRefCount;->holder:Landroid/app/ContentProviderHolder;
-Landroid/app/ActivityThread$ProviderRefCount;->removePending:Z
-Landroid/app/ActivityThread$ProviderRefCount;->stableCount:I
-Landroid/app/ActivityThread$ProviderRefCount;->unstableCount:I
-Landroid/app/ActivityThread$ReceiverData;
-Landroid/app/ActivityThread$ReceiverData;-><init>(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZLandroid/os/IBinder;I)V
-Landroid/app/ActivityThread$RequestAssistContextExtras;
-Landroid/app/ActivityThread$RequestAssistContextExtras;-><init>()V
-Landroid/app/ActivityThread$RequestAssistContextExtras;->activityToken:Landroid/os/IBinder;
-Landroid/app/ActivityThread$RequestAssistContextExtras;->flags:I
-Landroid/app/ActivityThread$RequestAssistContextExtras;->requestToken:Landroid/os/IBinder;
-Landroid/app/ActivityThread$RequestAssistContextExtras;->requestType:I
-Landroid/app/ActivityThread$RequestAssistContextExtras;->sessionId:I
-Landroid/app/ActivityThread$ServiceArgsData;
-Landroid/app/ActivityThread$ServiceArgsData;-><init>()V
-Landroid/app/ActivityThread$ServiceArgsData;->flags:I
-Landroid/app/ActivityThread$ServiceArgsData;->startId:I
-Landroid/app/ActivityThread$ServiceArgsData;->taskRemoved:Z
-Landroid/app/ActivityThread$UpdateCompatibilityData;
-Landroid/app/ActivityThread$UpdateCompatibilityData;-><init>()V
-Landroid/app/ActivityThread$UpdateCompatibilityData;->info:Landroid/content/res/CompatibilityInfo;
-Landroid/app/ActivityThread$UpdateCompatibilityData;->pkg:Ljava/lang/String;
-Landroid/app/ActivityThread;
-Landroid/app/ActivityThread;->ACTIVITY_THREAD_CHECKIN_VERSION:I
-Landroid/app/ActivityThread;->applyCompatConfiguration(I)Landroid/content/res/Configuration;
-Landroid/app/ActivityThread;->applyConfigCompatMainThread(ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Configuration;
-Landroid/app/ActivityThread;->applyConfigurationToResources(Landroid/content/res/Configuration;)V
-Landroid/app/ActivityThread;->appNotRespondingViaProvider(Landroid/os/IBinder;)V
-Landroid/app/ActivityThread;->attemptAttachAgent(Ljava/lang/String;Ljava/lang/ClassLoader;)Z
-Landroid/app/ActivityThread;->callActivityOnSaveInstanceState(Landroid/app/ActivityThread$ActivityClientRecord;)V
-Landroid/app/ActivityThread;->callActivityOnStop(Landroid/app/ActivityThread$ActivityClientRecord;ZLjava/lang/String;)V
-Landroid/app/ActivityThread;->checkAndBlockForNetworkAccess()V
-Landroid/app/ActivityThread;->cleanUpPendingRemoveWindows(Landroid/app/ActivityThread$ActivityClientRecord;Z)V
-Landroid/app/ActivityThread;->collectComponentCallbacks(ZLandroid/content/res/Configuration;)Ljava/util/ArrayList;
-Landroid/app/ActivityThread;->completeRemoveProvider(Landroid/app/ActivityThread$ProviderRefCount;)V
-Landroid/app/ActivityThread;->createBaseContextForActivity(Landroid/app/ActivityThread$ActivityClientRecord;)Landroid/app/ContextImpl;
-Landroid/app/ActivityThread;->createNewConfigAndUpdateIfNotNull(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)Landroid/content/res/Configuration;
-Landroid/app/ActivityThread;->currentOpPackageName()Ljava/lang/String;
-Landroid/app/ActivityThread;->DEBUG_BACKUP:Z
-Landroid/app/ActivityThread;->DEBUG_BROADCAST:Z
-Landroid/app/ActivityThread;->DEBUG_CONFIGURATION:Z
-Landroid/app/ActivityThread;->DEBUG_MEMORY_TRIM:Z
-Landroid/app/ActivityThread;->DEBUG_MESSAGES:Z
-Landroid/app/ActivityThread;->DEBUG_ORDER:Z
-Landroid/app/ActivityThread;->DEBUG_PROVIDER:Z
-Landroid/app/ActivityThread;->DEBUG_RESULTS:Z
-Landroid/app/ActivityThread;->DEBUG_SERVICE:Z
-Landroid/app/ActivityThread;->deliverNewIntents(Landroid/app/ActivityThread$ActivityClientRecord;Ljava/util/List;)V
-Landroid/app/ActivityThread;->deliverResults(Landroid/app/ActivityThread$ActivityClientRecord;Ljava/util/List;Ljava/lang/String;)V
-Landroid/app/ActivityThread;->doGcIfNeeded()V
-Landroid/app/ActivityThread;->dumpMemInfoTable(Landroid/util/proto/ProtoOutputStream;Landroid/os/Debug$MemoryInfo;ZZJJJJJJ)V
-Landroid/app/ActivityThread;->dumpMemInfoTable(Ljava/io/PrintWriter;Landroid/os/Debug$MemoryInfo;ZZZZILjava/lang/String;JJJJJJ)V
-Landroid/app/ActivityThread;->dumpMemoryInfo(Landroid/util/proto/ProtoOutputStream;JLjava/lang/String;IIIIIIZII)V
-Landroid/app/ActivityThread;->ensureJitEnabled()V
-Landroid/app/ActivityThread;->finishInstrumentation(ILandroid/os/Bundle;)V
-Landroid/app/ActivityThread;->freeTextLayoutCachesIfNeeded(I)V
-Landroid/app/ActivityThread;->getActivityClient(Landroid/os/IBinder;)Landroid/app/ActivityThread$ActivityClientRecord;
-Landroid/app/ActivityThread;->getExecutor()Ljava/util/concurrent/Executor;
-Landroid/app/ActivityThread;->getGetProviderLock(Ljava/lang/String;I)Ljava/lang/Object;
-Landroid/app/ActivityThread;->getInstrumentationLibrary(Landroid/content/pm/ApplicationInfo;Landroid/content/pm/InstrumentationInfo;)Ljava/lang/String;
-Landroid/app/ActivityThread;->getIntCoreSetting(Ljava/lang/String;I)I
-Landroid/app/ActivityThread;->getIntentBeingBroadcast()Landroid/content/Intent;
-Landroid/app/ActivityThread;->getPackageInfo(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;Ljava/lang/ClassLoader;ZZZ)Landroid/app/LoadedApk;
-Landroid/app/ActivityThread;->getPackageInfo(Ljava/lang/String;Landroid/content/res/CompatibilityInfo;II)Landroid/app/LoadedApk;
-Landroid/app/ActivityThread;->getProfileFilePath()Ljava/lang/String;
-Landroid/app/ActivityThread;->getSystemUiContext()Landroid/app/ContextImpl;
-Landroid/app/ActivityThread;->getTopLevelResources(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/app/LoadedApk;)Landroid/content/res/Resources;
-Landroid/app/ActivityThread;->getTransactionExecutor()Landroid/app/servertransaction/TransactionExecutor;
-Landroid/app/ActivityThread;->handleActivityConfigurationChanged(Landroid/os/IBinder;Landroid/content/res/Configuration;I)V
-Landroid/app/ActivityThread;->handleApplicationInfoChanged(Landroid/content/pm/ApplicationInfo;)V
-Landroid/app/ActivityThread;->handleAttachAgent(Ljava/lang/String;Landroid/app/LoadedApk;)V
-Landroid/app/ActivityThread;->handleBindService(Landroid/app/ActivityThread$BindServiceData;)V
-Landroid/app/ActivityThread;->handleConfigurationChanged(Landroid/content/res/Configuration;)V
-Landroid/app/ActivityThread;->handleConfigurationChanged(Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)V
-Landroid/app/ActivityThread;->handleCreateBackupAgent(Landroid/app/ActivityThread$CreateBackupAgentData;)V
-Landroid/app/ActivityThread;->handleDestroyActivity(Landroid/os/IBinder;ZIZLjava/lang/String;)V
-Landroid/app/ActivityThread;->handleDestroyBackupAgent(Landroid/app/ActivityThread$CreateBackupAgentData;)V
-Landroid/app/ActivityThread;->handleDispatchPackageBroadcast(I[Ljava/lang/String;)V
-Landroid/app/ActivityThread;->handleDumpActivity(Landroid/app/ActivityThread$DumpComponentInfo;)V
-Landroid/app/ActivityThread;->handleDumpHeap(Landroid/app/ActivityThread$DumpHeapData;)V
-Landroid/app/ActivityThread;->handleDumpProvider(Landroid/app/ActivityThread$DumpComponentInfo;)V
-Landroid/app/ActivityThread;->handleDumpService(Landroid/app/ActivityThread$DumpComponentInfo;)V
-Landroid/app/ActivityThread;->handleEnterAnimationComplete(Landroid/os/IBinder;)V
-Landroid/app/ActivityThread;->handleInstallProvider(Landroid/content/pm/ProviderInfo;)V
-Landroid/app/ActivityThread;->handleLaunchActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions;Landroid/content/Intent;)Landroid/app/Activity;
-Landroid/app/ActivityThread;->handleLocalVoiceInteractionStarted(Landroid/os/IBinder;Lcom/android/internal/app/IVoiceInteractor;)V
-Landroid/app/ActivityThread;->handleLowMemory()V
-Landroid/app/ActivityThread;->handleMultiWindowModeChanged(Landroid/os/IBinder;ZLandroid/content/res/Configuration;)V
-Landroid/app/ActivityThread;->handleNewIntent(Landroid/os/IBinder;Ljava/util/List;Z)V
-Landroid/app/ActivityThread;->handlePauseActivity(Landroid/os/IBinder;ZZILandroid/app/servertransaction/PendingTransactionActions;Ljava/lang/String;)V
-Landroid/app/ActivityThread;->handlePictureInPictureModeChanged(Landroid/os/IBinder;ZLandroid/content/res/Configuration;)V
-Landroid/app/ActivityThread;->handleProfilerControl(ZLandroid/app/ProfilerInfo;I)V
-Landroid/app/ActivityThread;->handleRelaunchActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/ActivityThread;->handleRelaunchActivityInner(Landroid/app/ActivityThread$ActivityClientRecord;ILjava/util/List;Ljava/util/List;Landroid/app/servertransaction/PendingTransactionActions;ZLandroid/content/res/Configuration;Ljava/lang/String;)V
-Landroid/app/ActivityThread;->handleRelaunchActivityLocally(Landroid/os/IBinder;)V
-Landroid/app/ActivityThread;->handleRequestAssistContextExtras(Landroid/app/ActivityThread$RequestAssistContextExtras;)V
-Landroid/app/ActivityThread;->handleResumeActivity(Landroid/os/IBinder;ZZLjava/lang/String;)V
-Landroid/app/ActivityThread;->handleRunIsolatedEntryPoint(Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/app/ActivityThread;->handleSendResult(Landroid/os/IBinder;Ljava/util/List;Ljava/lang/String;)V
-Landroid/app/ActivityThread;->handleServiceArgs(Landroid/app/ActivityThread$ServiceArgsData;)V
-Landroid/app/ActivityThread;->handleSetCoreSettings(Landroid/os/Bundle;)V
-Landroid/app/ActivityThread;->handleSleeping(Landroid/os/IBinder;Z)V
-Landroid/app/ActivityThread;->handleStartActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/ActivityThread;->handleStartBinderTracking()V
-Landroid/app/ActivityThread;->handleStopActivity(Landroid/os/IBinder;ZILandroid/app/servertransaction/PendingTransactionActions;ZLjava/lang/String;)V
-Landroid/app/ActivityThread;->handleStopBinderTrackingAndDump(Landroid/os/ParcelFileDescriptor;)V
-Landroid/app/ActivityThread;->handleStopService(Landroid/os/IBinder;)V
-Landroid/app/ActivityThread;->handleTranslucentConversionComplete(Landroid/os/IBinder;Z)V
-Landroid/app/ActivityThread;->handleTrimMemory(I)V
-Landroid/app/ActivityThread;->handleUnbindService(Landroid/app/ActivityThread$BindServiceData;)V
-Landroid/app/ActivityThread;->handleUnstableProviderDiedLocked(Landroid/os/IBinder;Z)V
-Landroid/app/ActivityThread;->handleUpdatePackageCompatibilityInfo(Landroid/app/ActivityThread$UpdateCompatibilityData;)V
-Landroid/app/ActivityThread;->handleWindowVisibility(Landroid/os/IBinder;Z)V
-Landroid/app/ActivityThread;->HEAP_COLUMN:Ljava/lang/String;
-Landroid/app/ActivityThread;->HEAP_FULL_COLUMN:Ljava/lang/String;
-Landroid/app/ActivityThread;->incProviderRefLocked(Landroid/app/ActivityThread$ProviderRefCount;Z)V
-Landroid/app/ActivityThread;->installProviderAuthoritiesLocked(Landroid/content/IContentProvider;Landroid/content/ContentProvider;Landroid/app/ContentProviderHolder;)Landroid/app/ActivityThread$ProviderClientRecord;
-Landroid/app/ActivityThread;->installSystemApplicationInfo(Landroid/content/pm/ApplicationInfo;Ljava/lang/ClassLoader;)V
-Landroid/app/ActivityThread;->INVALID_PROC_STATE_SEQ:J
-Landroid/app/ActivityThread;->isProfiling()Z
-Landroid/app/ActivityThread;->isSystem()Z
-Landroid/app/ActivityThread;->localLOGV:Z
-Landroid/app/ActivityThread;->main([Ljava/lang/String;)V
-Landroid/app/ActivityThread;->mBackupAgents:Landroid/util/ArrayMap;
-Landroid/app/ActivityThread;->mCompatConfiguration:Landroid/content/res/Configuration;
-Landroid/app/ActivityThread;->mCoreSettings:Landroid/os/Bundle;
-Landroid/app/ActivityThread;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/app/ActivityThread;->mGcIdler:Landroid/app/ActivityThread$GcIdler;
-Landroid/app/ActivityThread;->mGcIdlerScheduled:Z
-Landroid/app/ActivityThread;->mGetProviderLocks:Landroid/util/ArrayMap;
-Landroid/app/ActivityThread;->mHiddenApiWarningShown:Z
-Landroid/app/ActivityThread;->mInstrumentationLibDir:Ljava/lang/String;
-Landroid/app/ActivityThread;->mInstrumentationPackageName:Ljava/lang/String;
-Landroid/app/ActivityThread;->mInstrumentationSplitAppDirs:[Ljava/lang/String;
-Landroid/app/ActivityThread;->mInstrumentedLibDir:Ljava/lang/String;
-Landroid/app/ActivityThread;->mInstrumentedSplitAppDirs:[Ljava/lang/String;
-Landroid/app/ActivityThread;->MIN_TIME_BETWEEN_GCS:J
-Landroid/app/ActivityThread;->mJitEnabled:Z
-Landroid/app/ActivityThread;->mLastAssistStructures:Ljava/util/ArrayList;
-Landroid/app/ActivityThread;->mLastSessionId:I
-Landroid/app/ActivityThread;->mMainThreadConfig:Landroid/content/res/Configuration;
-Landroid/app/ActivityThread;->mNetworkBlockSeq:J
-Landroid/app/ActivityThread;->mNetworkPolicyLock:Ljava/lang/Object;
-Landroid/app/ActivityThread;->mNewActivities:Landroid/app/ActivityThread$ActivityClientRecord;
-Landroid/app/ActivityThread;->mOnPauseListeners:Landroid/util/ArrayMap;
-Landroid/app/ActivityThread;->mProfiler:Landroid/app/ActivityThread$Profiler;
-Landroid/app/ActivityThread;->mRelaunchingActivities:Ljava/util/ArrayList;
-Landroid/app/ActivityThread;->mSomeActivitiesChanged:Z
-Landroid/app/ActivityThread;->mSystemThread:Z
-Landroid/app/ActivityThread;->mSystemUiContext:Landroid/app/ContextImpl;
-Landroid/app/ActivityThread;->mTransactionExecutor:Landroid/app/servertransaction/TransactionExecutor;
-Landroid/app/ActivityThread;->mUpdatingSystemConfig:Z
-Landroid/app/ActivityThread;->nDumpGraphicsInfo(Ljava/io/FileDescriptor;)V
-Landroid/app/ActivityThread;->onCoreSettingsChange()V
-Landroid/app/ActivityThread;->ONE_COUNT_COLUMN:Ljava/lang/String;
-Landroid/app/ActivityThread;->ONE_COUNT_COLUMN_HEADER:Ljava/lang/String;
-Landroid/app/ActivityThread;->onNewActivityOptions(Landroid/os/IBinder;Landroid/app/ActivityOptions;)V
-Landroid/app/ActivityThread;->performActivityConfigurationChanged(Landroid/app/Activity;Landroid/content/res/Configuration;Landroid/content/res/Configuration;IZ)Landroid/content/res/Configuration;
-Landroid/app/ActivityThread;->performConfigurationChanged(Landroid/content/ComponentCallbacks2;Landroid/content/res/Configuration;)V
-Landroid/app/ActivityThread;->performConfigurationChangedForActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/content/res/Configuration;)V
-Landroid/app/ActivityThread;->performConfigurationChangedForActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/content/res/Configuration;IZ)Landroid/content/res/Configuration;
-Landroid/app/ActivityThread;->performDestroyActivity(Landroid/os/IBinder;ZIZLjava/lang/String;)Landroid/app/ActivityThread$ActivityClientRecord;
-Landroid/app/ActivityThread;->performLaunchActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/content/Intent;)Landroid/app/Activity;
-Landroid/app/ActivityThread;->performPauseActivity(Landroid/app/ActivityThread$ActivityClientRecord;ZLjava/lang/String;Landroid/app/servertransaction/PendingTransactionActions;)Landroid/os/Bundle;
-Landroid/app/ActivityThread;->performPauseActivity(Landroid/os/IBinder;ZLjava/lang/String;Landroid/app/servertransaction/PendingTransactionActions;)Landroid/os/Bundle;
-Landroid/app/ActivityThread;->performPauseActivityIfNeeded(Landroid/app/ActivityThread$ActivityClientRecord;Ljava/lang/String;)V
-Landroid/app/ActivityThread;->performRestartActivity(Landroid/os/IBinder;Z)V
-Landroid/app/ActivityThread;->performResumeActivity(Landroid/os/IBinder;ZLjava/lang/String;)Landroid/app/ActivityThread$ActivityClientRecord;
-Landroid/app/ActivityThread;->performStopActivityInner(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions$StopInfo;ZZZLjava/lang/String;)V
-Landroid/app/ActivityThread;->performUserLeavingActivity(Landroid/app/ActivityThread$ActivityClientRecord;)V
-Landroid/app/ActivityThread;->prepareRelaunchActivity(Landroid/os/IBinder;Ljava/util/List;Ljava/util/List;ILandroid/util/MergedConfiguration;Z)Landroid/app/ActivityThread$ActivityClientRecord;
-Landroid/app/ActivityThread;->printRow(Ljava/io/PrintWriter;Ljava/lang/String;[[Ljava/lang/Object;)V
-Landroid/app/ActivityThread;->PROC_START_SEQ_IDENT:Ljava/lang/String;
-Landroid/app/ActivityThread;->relaunchAllActivities()V
-Landroid/app/ActivityThread;->reportRelaunch(Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/ActivityThread;->reportSizeConfigurations(Landroid/app/ActivityThread$ActivityClientRecord;)V
-Landroid/app/ActivityThread;->reportStop(Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/ActivityThread;->REPORT_TO_ACTIVITY:Z
-Landroid/app/ActivityThread;->resolveActivityInfo(Landroid/content/Intent;)Landroid/content/pm/ActivityInfo;
-Landroid/app/ActivityThread;->safeToComponentShortString(Landroid/content/Intent;)Ljava/lang/String;
-Landroid/app/ActivityThread;->scheduleContextCleanup(Landroid/app/ContextImpl;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/ActivityThread;->scheduleRelaunchActivity(Landroid/os/IBinder;)V
-Landroid/app/ActivityThread;->sCurrentBroadcastIntent:Ljava/lang/ThreadLocal;
-Landroid/app/ActivityThread;->sendMessage(ILjava/lang/Object;)V
-Landroid/app/ActivityThread;->sendMessage(ILjava/lang/Object;I)V
-Landroid/app/ActivityThread;->sendMessage(ILjava/lang/Object;II)V
-Landroid/app/ActivityThread;->sendMessage(ILjava/lang/Object;III)V
-Landroid/app/ActivityThread;->sendMessage(ILjava/lang/Object;IIZ)V
-Landroid/app/ActivityThread;->SERVICE_DONE_EXECUTING_ANON:I
-Landroid/app/ActivityThread;->SERVICE_DONE_EXECUTING_START:I
-Landroid/app/ActivityThread;->SERVICE_DONE_EXECUTING_STOP:I
-Landroid/app/ActivityThread;->setupGraphicsSupport(Landroid/content/Context;)V
-Landroid/app/ActivityThread;->SQLITE_MEM_RELEASED_EVENT_LOG_TAG:I
-Landroid/app/ActivityThread;->stopProfiling()V
-Landroid/app/ActivityThread;->TAG:Ljava/lang/String;
-Landroid/app/ActivityThread;->THUMBNAIL_FORMAT:Landroid/graphics/Bitmap$Config;
-Landroid/app/ActivityThread;->TWO_COUNT_COLUMNS:Ljava/lang/String;
-Landroid/app/ActivityThread;->unscheduleGcIdler()V
-Landroid/app/ActivityThread;->updateDefaultDensity()V
-Landroid/app/ActivityThread;->updateLocaleListFromAppContext(Landroid/content/Context;Landroid/os/LocaleList;)V
-Landroid/app/ActivityThread;->updatePendingConfiguration(Landroid/content/res/Configuration;)V
-Landroid/app/ActivityThread;->updateProcessState(IZ)V
-Landroid/app/ActivityThread;->updateVisibility(Landroid/app/ActivityThread$ActivityClientRecord;Z)V
-Landroid/app/ActivityTransitionCoordinator$ContinueTransitionListener;
-Landroid/app/ActivityTransitionCoordinator$ContinueTransitionListener;-><init>()V
-Landroid/app/ActivityTransitionCoordinator$FixedEpicenterCallback;
-Landroid/app/ActivityTransitionCoordinator$FixedEpicenterCallback;-><init>()V
-Landroid/app/ActivityTransitionCoordinator$FixedEpicenterCallback;->mEpicenter:Landroid/graphics/Rect;
-Landroid/app/ActivityTransitionCoordinator$FixedEpicenterCallback;->setEpicenter(Landroid/graphics/Rect;)V
-Landroid/app/ActivityTransitionCoordinator$GhostViewListeners;
-Landroid/app/ActivityTransitionCoordinator$GhostViewListeners;-><init>(Landroid/view/View;Landroid/view/View;Landroid/view/ViewGroup;)V
-Landroid/app/ActivityTransitionCoordinator$GhostViewListeners;->getView()Landroid/view/View;
-Landroid/app/ActivityTransitionCoordinator$GhostViewListeners;->mDecor:Landroid/view/ViewGroup;
-Landroid/app/ActivityTransitionCoordinator$GhostViewListeners;->mMatrix:Landroid/graphics/Matrix;
-Landroid/app/ActivityTransitionCoordinator$GhostViewListeners;->mParent:Landroid/view/View;
-Landroid/app/ActivityTransitionCoordinator$GhostViewListeners;->mView:Landroid/view/View;
-Landroid/app/ActivityTransitionCoordinator$GhostViewListeners;->mViewTreeObserver:Landroid/view/ViewTreeObserver;
-Landroid/app/ActivityTransitionCoordinator$GhostViewListeners;->removeListener()V
-Landroid/app/ActivityTransitionCoordinator$SharedElementOriginalState;
-Landroid/app/ActivityTransitionCoordinator$SharedElementOriginalState;-><init>()V
-Landroid/app/ActivityTransitionCoordinator$SharedElementOriginalState;->mBottom:I
-Landroid/app/ActivityTransitionCoordinator$SharedElementOriginalState;->mElevation:F
-Landroid/app/ActivityTransitionCoordinator$SharedElementOriginalState;->mLeft:I
-Landroid/app/ActivityTransitionCoordinator$SharedElementOriginalState;->mMatrix:Landroid/graphics/Matrix;
-Landroid/app/ActivityTransitionCoordinator$SharedElementOriginalState;->mMeasuredHeight:I
-Landroid/app/ActivityTransitionCoordinator$SharedElementOriginalState;->mMeasuredWidth:I
-Landroid/app/ActivityTransitionCoordinator$SharedElementOriginalState;->mRight:I
-Landroid/app/ActivityTransitionCoordinator$SharedElementOriginalState;->mScaleType:Landroid/widget/ImageView$ScaleType;
-Landroid/app/ActivityTransitionCoordinator$SharedElementOriginalState;->mTop:I
-Landroid/app/ActivityTransitionCoordinator$SharedElementOriginalState;->mTranslationZ:F
-Landroid/app/ActivityTransitionCoordinator;
-Landroid/app/ActivityTransitionCoordinator;-><init>(Landroid/view/Window;Ljava/util/ArrayList;Landroid/app/SharedElementCallback;Z)V
-Landroid/app/ActivityTransitionCoordinator;->backgroundAnimatorComplete()V
-Landroid/app/ActivityTransitionCoordinator;->cancelPendingTransitions()Z
-Landroid/app/ActivityTransitionCoordinator;->captureSharedElementState()Landroid/os/Bundle;
-Landroid/app/ActivityTransitionCoordinator;->captureSharedElementState(Landroid/view/View;Ljava/lang/String;Landroid/os/Bundle;Landroid/graphics/Matrix;Landroid/graphics/RectF;)V
-Landroid/app/ActivityTransitionCoordinator;->clearState()V
-Landroid/app/ActivityTransitionCoordinator;->configureTransition(Landroid/transition/Transition;Z)Landroid/transition/Transition;
-Landroid/app/ActivityTransitionCoordinator;->copyMappedViews()Ljava/util/ArrayList;
-Landroid/app/ActivityTransitionCoordinator;->createSnapshots(Landroid/os/Bundle;Ljava/util/Collection;)Ljava/util/ArrayList;
-Landroid/app/ActivityTransitionCoordinator;->findIncludedViews(Landroid/transition/Transition;Ljava/util/ArrayList;Landroid/util/ArraySet;)V
-Landroid/app/ActivityTransitionCoordinator;->getAcceptedNames()Ljava/util/ArrayList;
-Landroid/app/ActivityTransitionCoordinator;->getAllSharedElementNames()Ljava/util/ArrayList;
-Landroid/app/ActivityTransitionCoordinator;->getDecor()Landroid/view/ViewGroup;
-Landroid/app/ActivityTransitionCoordinator;->getFadeDuration()J
-Landroid/app/ActivityTransitionCoordinator;->getMappedNames()Ljava/util/ArrayList;
-Landroid/app/ActivityTransitionCoordinator;->getOldSharedElementState(Landroid/view/View;Ljava/lang/String;Landroid/os/Bundle;)Landroid/app/ActivityTransitionCoordinator$SharedElementOriginalState;
-Landroid/app/ActivityTransitionCoordinator;->getSharedElementParentMatrix(Landroid/view/View;Landroid/graphics/Matrix;)V
-Landroid/app/ActivityTransitionCoordinator;->getViewsTransition()Landroid/transition/Transition;
-Landroid/app/ActivityTransitionCoordinator;->getWindow()Landroid/view/Window;
-Landroid/app/ActivityTransitionCoordinator;->hideViews(Ljava/util/ArrayList;)V
-Landroid/app/ActivityTransitionCoordinator;->isInTransitionGroup(Landroid/view/ViewParent;Landroid/view/ViewGroup;)Z
-Landroid/app/ActivityTransitionCoordinator;->isNested(Landroid/view/View;Landroid/util/ArrayMap;)Z
-Landroid/app/ActivityTransitionCoordinator;->isTransitionRunning()Z
-Landroid/app/ActivityTransitionCoordinator;->isViewsTransitionComplete()Z
-Landroid/app/ActivityTransitionCoordinator;->KEY_ELEVATION:Ljava/lang/String;
-Landroid/app/ActivityTransitionCoordinator;->KEY_IMAGE_MATRIX:Ljava/lang/String;
-Landroid/app/ActivityTransitionCoordinator;->KEY_REMOTE_RECEIVER:Ljava/lang/String;
-Landroid/app/ActivityTransitionCoordinator;->KEY_SCALE_TYPE:Ljava/lang/String;
-Landroid/app/ActivityTransitionCoordinator;->KEY_SCREEN_BOTTOM:Ljava/lang/String;
-Landroid/app/ActivityTransitionCoordinator;->KEY_SCREEN_LEFT:Ljava/lang/String;
-Landroid/app/ActivityTransitionCoordinator;->KEY_SCREEN_RIGHT:Ljava/lang/String;
-Landroid/app/ActivityTransitionCoordinator;->KEY_SCREEN_TOP:Ljava/lang/String;
-Landroid/app/ActivityTransitionCoordinator;->KEY_SNAPSHOT:Ljava/lang/String;
-Landroid/app/ActivityTransitionCoordinator;->KEY_TRANSLATION_Z:Ljava/lang/String;
-Landroid/app/ActivityTransitionCoordinator;->mAllSharedElementNames:Ljava/util/ArrayList;
-Landroid/app/ActivityTransitionCoordinator;->mapSharedElements(Ljava/util/ArrayList;Ljava/util/ArrayList;)Landroid/util/ArrayMap;
-Landroid/app/ActivityTransitionCoordinator;->mBackgroundAnimatorComplete:Z
-Landroid/app/ActivityTransitionCoordinator;->mEpicenterCallback:Landroid/app/ActivityTransitionCoordinator$FixedEpicenterCallback;
-Landroid/app/ActivityTransitionCoordinator;->mergeTransitions(Landroid/transition/Transition;Landroid/transition/Transition;)Landroid/transition/Transition;
-Landroid/app/ActivityTransitionCoordinator;->mGhostViewListeners:Ljava/util/ArrayList;
-Landroid/app/ActivityTransitionCoordinator;->mIsReturning:Z
-Landroid/app/ActivityTransitionCoordinator;->mIsStartingTransition:Z
-Landroid/app/ActivityTransitionCoordinator;->mListener:Landroid/app/SharedElementCallback;
-Landroid/app/ActivityTransitionCoordinator;->mOriginalAlphas:Landroid/util/ArrayMap;
-Landroid/app/ActivityTransitionCoordinator;->moveSharedElementsFromOverlay()V
-Landroid/app/ActivityTransitionCoordinator;->moveSharedElementsToOverlay()V
-Landroid/app/ActivityTransitionCoordinator;->moveSharedElementWithParent()Z
-Landroid/app/ActivityTransitionCoordinator;->mPendingTransition:Ljava/lang/Runnable;
-Landroid/app/ActivityTransitionCoordinator;->mResultReceiver:Landroid/os/ResultReceiver;
-Landroid/app/ActivityTransitionCoordinator;->MSG_CANCEL:I
-Landroid/app/ActivityTransitionCoordinator;->MSG_EXIT_TRANSITION_COMPLETE:I
-Landroid/app/ActivityTransitionCoordinator;->MSG_HIDE_SHARED_ELEMENTS:I
-Landroid/app/ActivityTransitionCoordinator;->MSG_SET_REMOTE_RECEIVER:I
-Landroid/app/ActivityTransitionCoordinator;->MSG_SHARED_ELEMENT_DESTINATION:I
-Landroid/app/ActivityTransitionCoordinator;->MSG_START_EXIT_TRANSITION:I
-Landroid/app/ActivityTransitionCoordinator;->MSG_TAKE_SHARED_ELEMENTS:I
-Landroid/app/ActivityTransitionCoordinator;->mSharedElementNames:Ljava/util/ArrayList;
-Landroid/app/ActivityTransitionCoordinator;->mSharedElementParentMatrices:Ljava/util/ArrayList;
-Landroid/app/ActivityTransitionCoordinator;->mSharedElements:Ljava/util/ArrayList;
-Landroid/app/ActivityTransitionCoordinator;->mSharedElementTransitionComplete:Z
-Landroid/app/ActivityTransitionCoordinator;->mStrippedTransitioningViews:Ljava/util/ArrayList;
-Landroid/app/ActivityTransitionCoordinator;->mTransitioningViews:Ljava/util/ArrayList;
-Landroid/app/ActivityTransitionCoordinator;->mViewsTransitionComplete:Z
-Landroid/app/ActivityTransitionCoordinator;->mWindow:Landroid/view/Window;
-Landroid/app/ActivityTransitionCoordinator;->noLayoutSuppressionForVisibilityTransitions(Landroid/transition/Transition;)V
-Landroid/app/ActivityTransitionCoordinator;->notifySharedElementEnd(Ljava/util/ArrayList;)V
-Landroid/app/ActivityTransitionCoordinator;->onTransitionsComplete()V
-Landroid/app/ActivityTransitionCoordinator;->pauseInput()V
-Landroid/app/ActivityTransitionCoordinator;->removeExcludedViews(Landroid/transition/Transition;Ljava/util/ArrayList;)V
-Landroid/app/ActivityTransitionCoordinator;->scaleTypeToInt(Landroid/widget/ImageView$ScaleType;)I
-Landroid/app/ActivityTransitionCoordinator;->SCALE_TYPE_VALUES:[Landroid/widget/ImageView$ScaleType;
-Landroid/app/ActivityTransitionCoordinator;->scheduleGhostVisibilityChange(I)V
-Landroid/app/ActivityTransitionCoordinator;->scheduleSetSharedElementEnd(Ljava/util/ArrayList;)V
-Landroid/app/ActivityTransitionCoordinator;->setEpicenter()V
-Landroid/app/ActivityTransitionCoordinator;->setEpicenter(Landroid/view/View;)V
-Landroid/app/ActivityTransitionCoordinator;->setGhostVisibility(I)V
-Landroid/app/ActivityTransitionCoordinator;->setOriginalSharedElementState(Ljava/util/ArrayList;Ljava/util/ArrayList;)V
-Landroid/app/ActivityTransitionCoordinator;->setResultReceiver(Landroid/os/ResultReceiver;)V
-Landroid/app/ActivityTransitionCoordinator;->setSharedElementMatrices()V
-Landroid/app/ActivityTransitionCoordinator;->setSharedElements(Landroid/util/ArrayMap;)V
-Landroid/app/ActivityTransitionCoordinator;->setSharedElementState(Landroid/os/Bundle;Ljava/util/ArrayList;)Ljava/util/ArrayList;
-Landroid/app/ActivityTransitionCoordinator;->setSharedElementState(Landroid/view/View;Ljava/lang/String;Landroid/os/Bundle;Landroid/graphics/Matrix;Landroid/graphics/RectF;[I)V
-Landroid/app/ActivityTransitionCoordinator;->setTargets(Landroid/transition/Transition;Z)Landroid/transition/Transition;
-Landroid/app/ActivityTransitionCoordinator;->setTransitioningViewsVisiblity(IZ)V
-Landroid/app/ActivityTransitionCoordinator;->sharedElementTransitionComplete()V
-Landroid/app/ActivityTransitionCoordinator;->showView(Landroid/view/View;Z)V
-Landroid/app/ActivityTransitionCoordinator;->showViews(Ljava/util/ArrayList;Z)V
-Landroid/app/ActivityTransitionCoordinator;->startInputWhenTransitionsComplete()V
-Landroid/app/ActivityTransitionCoordinator;->startTransition(Ljava/lang/Runnable;)V
-Landroid/app/ActivityTransitionCoordinator;->stripOffscreenViews()V
-Landroid/app/ActivityTransitionCoordinator;->TAG:Ljava/lang/String;
-Landroid/app/ActivityTransitionCoordinator;->transitionStarted()V
-Landroid/app/ActivityTransitionCoordinator;->viewsReady(Landroid/util/ArrayMap;)V
-Landroid/app/ActivityTransitionCoordinator;->viewsTransitionComplete()V
-Landroid/app/ActivityTransitionState;
-Landroid/app/ActivityTransitionState;-><init>()V
-Landroid/app/ActivityTransitionState;->addExitTransitionCoordinator(Landroid/app/ExitTransitionCoordinator;)I
-Landroid/app/ActivityTransitionState;->clear()V
-Landroid/app/ActivityTransitionState;->ENTERING_SHARED_ELEMENTS:Ljava/lang/String;
-Landroid/app/ActivityTransitionState;->enterReady(Landroid/app/Activity;)V
-Landroid/app/ActivityTransitionState;->EXITING_MAPPED_FROM:Ljava/lang/String;
-Landroid/app/ActivityTransitionState;->EXITING_MAPPED_TO:Ljava/lang/String;
-Landroid/app/ActivityTransitionState;->isTransitionRunning()Z
-Landroid/app/ActivityTransitionState;->mCalledExitCoordinator:Landroid/app/ExitTransitionCoordinator;
-Landroid/app/ActivityTransitionState;->mEnterActivityOptions:Landroid/app/ActivityOptions;
-Landroid/app/ActivityTransitionState;->mEnteringNames:Ljava/util/ArrayList;
-Landroid/app/ActivityTransitionState;->mEnterTransitionCoordinator:Landroid/app/EnterTransitionCoordinator;
-Landroid/app/ActivityTransitionState;->mExitingFrom:Ljava/util/ArrayList;
-Landroid/app/ActivityTransitionState;->mExitingTo:Ljava/util/ArrayList;
-Landroid/app/ActivityTransitionState;->mExitingToView:Ljava/util/ArrayList;
-Landroid/app/ActivityTransitionState;->mExitTransitionCoordinators:Landroid/util/SparseArray;
-Landroid/app/ActivityTransitionState;->mExitTransitionCoordinatorsKey:I
-Landroid/app/ActivityTransitionState;->mHasExited:Z
-Landroid/app/ActivityTransitionState;->mIsEnterPostponed:Z
-Landroid/app/ActivityTransitionState;->mIsEnterTriggered:Z
-Landroid/app/ActivityTransitionState;->mReturnExitCoordinator:Landroid/app/ExitTransitionCoordinator;
-Landroid/app/ActivityTransitionState;->onResume(Landroid/app/Activity;Z)V
-Landroid/app/ActivityTransitionState;->onStop()V
-Landroid/app/ActivityTransitionState;->postponeEnterTransition()V
-Landroid/app/ActivityTransitionState;->readState(Landroid/os/Bundle;)V
-Landroid/app/ActivityTransitionState;->restoreExitedViews()V
-Landroid/app/ActivityTransitionState;->restoreReenteringViews()V
-Landroid/app/ActivityTransitionState;->saveState(Landroid/os/Bundle;)V
-Landroid/app/ActivityTransitionState;->setEnterActivityOptions(Landroid/app/Activity;Landroid/app/ActivityOptions;)V
-Landroid/app/ActivityTransitionState;->startEnter()V
-Landroid/app/ActivityTransitionState;->startExitBackTransition(Landroid/app/Activity;)Z
-Landroid/app/ActivityTransitionState;->startExitOutTransition(Landroid/app/Activity;Landroid/os/Bundle;)V
-Landroid/app/ActivityTransitionState;->startPostponedEnterTransition()V
-Landroid/app/ActivityView$StateCallback;
-Landroid/app/ActivityView$StateCallback;-><init>()V
-Landroid/app/ActivityView$StateCallback;->onActivityViewDestroyed(Landroid/app/ActivityView;)V
-Landroid/app/ActivityView$StateCallback;->onActivityViewReady(Landroid/app/ActivityView;)V
-Landroid/app/ActivityView$StateCallback;->onTaskMovedToFront(Landroid/app/ActivityManager$StackInfo;)V
-Landroid/app/ActivityView$SurfaceCallback;
-Landroid/app/ActivityView$SurfaceCallback;-><init>()V
-Landroid/app/ActivityView$TaskStackListenerImpl;
-Landroid/app/ActivityView$TaskStackListenerImpl;-><init>()V
-Landroid/app/ActivityView$TaskStackListenerImpl;->getTopMostStackInfo()Landroid/app/ActivityManager$StackInfo;
-Landroid/app/ActivityView$TaskStackListenerImpl;->onTaskDescriptionChanged(ILandroid/app/ActivityManager$TaskDescription;)V
-Landroid/app/ActivityView$TaskStackListenerImpl;->onTaskMovedToFront(I)V
-Landroid/app/ActivityView;
-Landroid/app/ActivityView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/app/ActivityView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/app/ActivityView;->cleanTapExcludeRegion()V
-Landroid/app/ActivityView;->DISPLAY_NAME:Ljava/lang/String;
-Landroid/app/ActivityView;->getBaseDisplayDensity()I
-Landroid/app/ActivityView;->initVirtualDisplay()V
-Landroid/app/ActivityView;->injectInputEvent(Landroid/view/InputEvent;)Z
-Landroid/app/ActivityView;->mActivityManager:Landroid/app/IActivityManager;
-Landroid/app/ActivityView;->mActivityViewCallback:Landroid/app/ActivityView$StateCallback;
-Landroid/app/ActivityView;->mGuard:Ldalvik/system/CloseGuard;
-Landroid/app/ActivityView;->mInputForwarder:Landroid/app/IInputForwarder;
-Landroid/app/ActivityView;->mLocationOnScreen:[I
-Landroid/app/ActivityView;->mOpened:Z
-Landroid/app/ActivityView;->mSurface:Landroid/view/Surface;
-Landroid/app/ActivityView;->mSurfaceCallback:Landroid/app/ActivityView$SurfaceCallback;
-Landroid/app/ActivityView;->mSurfaceView:Landroid/view/SurfaceView;
-Landroid/app/ActivityView;->mTaskStackListener:Landroid/app/TaskStackListener;
-Landroid/app/ActivityView;->mVirtualDisplay:Landroid/hardware/display/VirtualDisplay;
-Landroid/app/ActivityView;->onLocationChanged()V
-Landroid/app/ActivityView;->performRelease()V
-Landroid/app/ActivityView;->prepareActivityOptions()Landroid/app/ActivityOptions;
-Landroid/app/ActivityView;->setCallback(Landroid/app/ActivityView$StateCallback;)V
-Landroid/app/ActivityView;->startActivity(Landroid/content/Intent;Landroid/os/UserHandle;)V
-Landroid/app/ActivityView;->TAG:Ljava/lang/String;
-Landroid/app/ActivityView;->updateLocation()V
-Landroid/app/admin/ConnectEvent;-><init>(Landroid/os/Parcel;)V
-Landroid/app/admin/ConnectEvent;-><init>(Ljava/lang/String;ILjava/lang/String;J)V
-Landroid/app/admin/ConnectEvent;->mIpAddress:Ljava/lang/String;
-Landroid/app/admin/ConnectEvent;->mPort:I
-Landroid/app/admin/DeviceAdminInfo$PolicyInfo;
-Landroid/app/admin/DeviceAdminInfo$PolicyInfo;-><init>(ILjava/lang/String;II)V
-Landroid/app/admin/DeviceAdminInfo$PolicyInfo;-><init>(ILjava/lang/String;IIII)V
-Landroid/app/admin/DeviceAdminInfo$PolicyInfo;->description:I
-Landroid/app/admin/DeviceAdminInfo$PolicyInfo;->descriptionForSecondaryUsers:I
-Landroid/app/admin/DeviceAdminInfo$PolicyInfo;->ident:I
-Landroid/app/admin/DeviceAdminInfo$PolicyInfo;->label:I
-Landroid/app/admin/DeviceAdminInfo$PolicyInfo;->labelForSecondaryUsers:I
-Landroid/app/admin/DeviceAdminInfo;-><init>(Landroid/content/Context;Landroid/content/pm/ActivityInfo;)V
-Landroid/app/admin/DeviceAdminInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/app/admin/DeviceAdminInfo;->mActivityInfo:Landroid/content/pm/ActivityInfo;
-Landroid/app/admin/DeviceAdminInfo;->mSupportsTransferOwnership:Z
-Landroid/app/admin/DeviceAdminInfo;->mUsesPolicies:I
-Landroid/app/admin/DeviceAdminInfo;->mVisible:Z
-Landroid/app/admin/DeviceAdminInfo;->readPoliciesFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
-Landroid/app/admin/DeviceAdminInfo;->sKnownPolicies:Ljava/util/HashMap;
-Landroid/app/admin/DeviceAdminInfo;->sPoliciesDisplayOrder:Ljava/util/ArrayList;
-Landroid/app/admin/DeviceAdminInfo;->sRevKnownPolicies:Landroid/util/SparseArray;
-Landroid/app/admin/DeviceAdminInfo;->TAG:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminInfo;->USES_POLICY_DEVICE_OWNER:I
-Landroid/app/admin/DeviceAdminInfo;->USES_POLICY_PROFILE_OWNER:I
-Landroid/app/admin/DeviceAdminInfo;->USES_POLICY_SETS_GLOBAL_PROXY:I
-Landroid/app/admin/DeviceAdminInfo;->writePoliciesToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-Landroid/app/admin/DeviceAdminReceiver$BugreportFailureCode;
-Landroid/app/admin/DeviceAdminReceiver;->ACTION_AFFILIATED_PROFILE_TRANSFER_OWNERSHIP_COMPLETE:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->ACTION_BUGREPORT_FAILED:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->ACTION_BUGREPORT_SHARE:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->ACTION_BUGREPORT_SHARING_DECLINED:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->ACTION_CHOOSE_PRIVATE_KEY_ALIAS:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->ACTION_NETWORK_LOGS_AVAILABLE:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->ACTION_NOTIFY_PENDING_SYSTEM_UPDATE:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->ACTION_SECURITY_LOGS_AVAILABLE:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->ACTION_TRANSFER_OWNERSHIP_COMPLETE:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->ACTION_USER_ADDED:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->ACTION_USER_REMOVED:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->ACTION_USER_STARTED:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->ACTION_USER_STOPPED:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->ACTION_USER_SWITCHED:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->EXTRA_BUGREPORT_FAILURE_REASON:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->EXTRA_BUGREPORT_HASH:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->EXTRA_CHOOSE_PRIVATE_KEY_ALIAS:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->EXTRA_CHOOSE_PRIVATE_KEY_RESPONSE:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->EXTRA_CHOOSE_PRIVATE_KEY_SENDER_UID:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->EXTRA_CHOOSE_PRIVATE_KEY_URI:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->EXTRA_NETWORK_LOGS_COUNT:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->EXTRA_NETWORK_LOGS_TOKEN:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->EXTRA_SYSTEM_UPDATE_RECEIVED_TIME:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminReceiver;->localLOGV:Z
-Landroid/app/admin/DeviceAdminReceiver;->mManager:Landroid/app/admin/DevicePolicyManager;
-Landroid/app/admin/DeviceAdminReceiver;->mWho:Landroid/content/ComponentName;
-Landroid/app/admin/DeviceAdminReceiver;->TAG:Ljava/lang/String;
-Landroid/app/admin/DeviceAdminService$IDeviceAdminServiceImpl;
-Landroid/app/admin/DeviceAdminService$IDeviceAdminServiceImpl;-><init>()V
-Landroid/app/admin/DeviceAdminService;->mImpl:Landroid/app/admin/DeviceAdminService$IDeviceAdminServiceImpl;
-Landroid/app/admin/DevicePolicyCache$EmptyDevicePolicyCache;
-Landroid/app/admin/DevicePolicyCache$EmptyDevicePolicyCache;-><init>()V
-Landroid/app/admin/DevicePolicyCache$EmptyDevicePolicyCache;->getScreenCaptureDisabled(I)Z
-Landroid/app/admin/DevicePolicyCache$EmptyDevicePolicyCache;->INSTANCE:Landroid/app/admin/DevicePolicyCache$EmptyDevicePolicyCache;
-Landroid/app/admin/DevicePolicyCache;
-Landroid/app/admin/DevicePolicyCache;-><init>()V
-Landroid/app/admin/DevicePolicyCache;->getInstance()Landroid/app/admin/DevicePolicyCache;
-Landroid/app/admin/DevicePolicyCache;->getScreenCaptureDisabled(I)Z
-Landroid/app/admin/DevicePolicyManager$AttestationIdType;
-Landroid/app/admin/DevicePolicyManager$CreateAndManageUserFlags;
-Landroid/app/admin/DevicePolicyManager$LockNowFlag;
-Landroid/app/admin/DevicePolicyManager$LockTaskFeature;
-Landroid/app/admin/DevicePolicyManager$ProvisioningPreCondition;
-Landroid/app/admin/DevicePolicyManager$SystemSettingsWhitelist;
-Landroid/app/admin/DevicePolicyManager$UserProvisioningState;
-Landroid/app/admin/DevicePolicyManager;-><init>(Landroid/content/Context;Landroid/app/admin/IDevicePolicyManager;)V
-Landroid/app/admin/DevicePolicyManager;-><init>(Landroid/content/Context;Landroid/app/admin/IDevicePolicyManager;Z)V
-Landroid/app/admin/DevicePolicyManager;->ACTION_BUGREPORT_SHARING_ACCEPTED:Ljava/lang/String;
-Landroid/app/admin/DevicePolicyManager;->ACTION_BUGREPORT_SHARING_DECLINED:Ljava/lang/String;
-Landroid/app/admin/DevicePolicyManager;->ACTION_DATA_SHARING_RESTRICTION_CHANGED:Ljava/lang/String;
-Landroid/app/admin/DevicePolicyManager;->ACTION_MANAGED_USER_CREATED:Ljava/lang/String;
-Landroid/app/admin/DevicePolicyManager;->ACTION_PROVISION_MANAGED_SHAREABLE_DEVICE:Ljava/lang/String;
-Landroid/app/admin/DevicePolicyManager;->ACTION_PROVISION_MANAGED_USER:Ljava/lang/String;
-Landroid/app/admin/DevicePolicyManager;->ACTION_REMOTE_BUGREPORT_DISPATCH:Ljava/lang/String;
-Landroid/app/admin/DevicePolicyManager;->ACTION_SHOW_DEVICE_MONITORING_DIALOG:Ljava/lang/String;
-Landroid/app/admin/DevicePolicyManager;->approveCaCert(Ljava/lang/String;IZ)Z
-Landroid/app/admin/DevicePolicyManager;->checkProvisioningPreCondition(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/app/admin/DevicePolicyManager;->clearSystemUpdatePolicyFreezePeriodRecord()V
-Landroid/app/admin/DevicePolicyManager;->CODE_ACCOUNTS_NOT_EMPTY:I
-Landroid/app/admin/DevicePolicyManager;->CODE_ADD_MANAGED_PROFILE_DISALLOWED:I
-Landroid/app/admin/DevicePolicyManager;->CODE_CANNOT_ADD_MANAGED_PROFILE:I
-Landroid/app/admin/DevicePolicyManager;->CODE_DEVICE_ADMIN_NOT_SUPPORTED:I
-Landroid/app/admin/DevicePolicyManager;->CODE_HAS_DEVICE_OWNER:I
-Landroid/app/admin/DevicePolicyManager;->CODE_HAS_PAIRED:I
-Landroid/app/admin/DevicePolicyManager;->CODE_MANAGED_USERS_NOT_SUPPORTED:I
-Landroid/app/admin/DevicePolicyManager;->CODE_NONSYSTEM_USER_EXISTS:I
-Landroid/app/admin/DevicePolicyManager;->CODE_NOT_SYSTEM_USER:I
-Landroid/app/admin/DevicePolicyManager;->CODE_NOT_SYSTEM_USER_SPLIT:I
-Landroid/app/admin/DevicePolicyManager;->CODE_OK:I
-Landroid/app/admin/DevicePolicyManager;->CODE_SPLIT_SYSTEM_USER_DEVICE_SYSTEM_USER:I
-Landroid/app/admin/DevicePolicyManager;->CODE_SYSTEM_USER:I
-Landroid/app/admin/DevicePolicyManager;->CODE_USER_HAS_PROFILE_OWNER:I
-Landroid/app/admin/DevicePolicyManager;->CODE_USER_NOT_RUNNING:I
-Landroid/app/admin/DevicePolicyManager;->CODE_USER_SETUP_COMPLETED:I
-Landroid/app/admin/DevicePolicyManager;->DEFAULT_STRONG_AUTH_TIMEOUT_MS:J
-Landroid/app/admin/DevicePolicyManager;->EXTRA_BUGREPORT_NOTIFICATION_TYPE:Ljava/lang/String;
-Landroid/app/admin/DevicePolicyManager;->EXTRA_PROVISIONING_SKIP_USER_SETUP:Ljava/lang/String;
-Landroid/app/admin/DevicePolicyManager;->EXTRA_PROVISIONING_USE_MOBILE_DATA:Ljava/lang/String;
-Landroid/app/admin/DevicePolicyManager;->EXTRA_REMOTE_BUGREPORT_HASH:Ljava/lang/String;
-Landroid/app/admin/DevicePolicyManager;->forceRemoveActiveAdmin(Landroid/content/ComponentName;I)V
-Landroid/app/admin/DevicePolicyManager;->forceSecurityLogs()J
-Landroid/app/admin/DevicePolicyManager;->forceUpdateUserSetupComplete()V
-Landroid/app/admin/DevicePolicyManager;->getAccountTypesWithManagementDisabledAsUser(I)[Ljava/lang/String;
-Landroid/app/admin/DevicePolicyManager;->getBluetoothContactSharingDisabled(Landroid/os/UserHandle;)Z
-Landroid/app/admin/DevicePolicyManager;->getCaCertAlias([B)Ljava/lang/String;
-Landroid/app/admin/DevicePolicyManager;->getCrossProfileCallerIdDisabled(Landroid/os/UserHandle;)Z
-Landroid/app/admin/DevicePolicyManager;->getCrossProfileContactsSearchDisabled(Landroid/os/UserHandle;)Z
-Landroid/app/admin/DevicePolicyManager;->getDeviceOwnerComponentInner(Z)Landroid/content/ComponentName;
-Landroid/app/admin/DevicePolicyManager;->getDeviceOwnerComponentOnCallingUser()Landroid/content/ComponentName;
-Landroid/app/admin/DevicePolicyManager;->getDeviceOwnerUserId()I
-Landroid/app/admin/DevicePolicyManager;->getDisallowedSystemApps(Landroid/content/ComponentName;ILjava/lang/String;)Ljava/util/Set;
-Landroid/app/admin/DevicePolicyManager;->getDoNotAskCredentialsOnBoot()Z
-Landroid/app/admin/DevicePolicyManager;->getForceEphemeralUsers(Landroid/content/ComponentName;)Z
-Landroid/app/admin/DevicePolicyManager;->getGlobalProxyAdmin()Landroid/content/ComponentName;
-Landroid/app/admin/DevicePolicyManager;->getGuestUserDisabled(Landroid/content/ComponentName;)Z
-Landroid/app/admin/DevicePolicyManager;->getLongSupportMessageForUser(Landroid/content/ComponentName;I)Ljava/lang/CharSequence;
-Landroid/app/admin/DevicePolicyManager;->getOrganizationColorForUser(I)I
-Landroid/app/admin/DevicePolicyManager;->getOrganizationNameForUser(I)Ljava/lang/CharSequence;
-Landroid/app/admin/DevicePolicyManager;->getParentProfileInstance(Landroid/content/pm/UserInfo;)Landroid/app/admin/DevicePolicyManager;
-Landroid/app/admin/DevicePolicyManager;->getProfileOwnerName()Ljava/lang/String;
-Landroid/app/admin/DevicePolicyManager;->getProfileWithMinimumFailedPasswordsForWipe(I)I
-Landroid/app/admin/DevicePolicyManager;->getRemoveWarning(Landroid/content/ComponentName;Landroid/os/RemoteCallback;)V
-Landroid/app/admin/DevicePolicyManager;->getScreenCaptureDisabled(Landroid/content/ComponentName;I)Z
-Landroid/app/admin/DevicePolicyManager;->getShortSupportMessageForUser(Landroid/content/ComponentName;I)Ljava/lang/CharSequence;
-Landroid/app/admin/DevicePolicyManager;->hasUserSetupCompleted()Z
-Landroid/app/admin/DevicePolicyManager;->isAccessibilityServicePermittedByAdmin(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-Landroid/app/admin/DevicePolicyManager;->isAdminActiveAsUser(Landroid/content/ComponentName;I)Z
-Landroid/app/admin/DevicePolicyManager;->isCaCertApproved(Ljava/lang/String;I)Z
-Landroid/app/admin/DevicePolicyManager;->isDeviceOwnerAppOnAnyUser(Ljava/lang/String;)Z
-Landroid/app/admin/DevicePolicyManager;->isDeviceOwnerAppOnAnyUserInner(Ljava/lang/String;Z)Z
-Landroid/app/admin/DevicePolicyManager;->isDeviceOwnerAppOnCallingUser(Ljava/lang/String;)Z
-Landroid/app/admin/DevicePolicyManager;->isInputMethodPermittedByAdmin(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-Landroid/app/admin/DevicePolicyManager;->isMeteredDataDisabledPackageForUser(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-Landroid/app/admin/DevicePolicyManager;->isNotificationListenerServicePermitted(Ljava/lang/String;I)Z
-Landroid/app/admin/DevicePolicyManager;->isProfileActivePasswordSufficientForParent(I)Z
-Landroid/app/admin/DevicePolicyManager;->isRemovingAdmin(Landroid/content/ComponentName;I)Z
-Landroid/app/admin/DevicePolicyManager;->isSeparateProfileChallengeAllowed(I)Z
-Landroid/app/admin/DevicePolicyManager;->isSystemOnlyUser(Landroid/content/ComponentName;)Z
-Landroid/app/admin/DevicePolicyManager;->isUninstallInQueue(Ljava/lang/String;)Z
-Landroid/app/admin/DevicePolicyManager;->MAKE_USER_DEMO:I
-Landroid/app/admin/DevicePolicyManager;->mContext:Landroid/content/Context;
-Landroid/app/admin/DevicePolicyManager;->mParentInstance:Z
-Landroid/app/admin/DevicePolicyManager;->mService:Landroid/app/admin/IDevicePolicyManager;
-Landroid/app/admin/DevicePolicyManager;->myUserId()I
-Landroid/app/admin/DevicePolicyManager;->NOTIFICATION_BUGREPORT_ACCEPTED_NOT_FINISHED:I
-Landroid/app/admin/DevicePolicyManager;->NOTIFICATION_BUGREPORT_FINISHED_NOT_ACCEPTED:I
-Landroid/app/admin/DevicePolicyManager;->NOTIFICATION_BUGREPORT_STARTED:I
-Landroid/app/admin/DevicePolicyManager;->PASSWORD_QUALITY_MANAGED:I
-Landroid/app/admin/DevicePolicyManager;->POLICY_MANDATORY_BACKUPS:Ljava/lang/String;
-Landroid/app/admin/DevicePolicyManager;->POLICY_SUSPEND_PACKAGES:Ljava/lang/String;
-Landroid/app/admin/DevicePolicyManager;->PROFILE_KEYGUARD_FEATURES_AFFECT_OWNER:I
-Landroid/app/admin/DevicePolicyManager;->reportFailedFingerprintAttempt(I)V
-Landroid/app/admin/DevicePolicyManager;->reportKeyguardDismissed(I)V
-Landroid/app/admin/DevicePolicyManager;->reportKeyguardSecured(I)V
-Landroid/app/admin/DevicePolicyManager;->reportPasswordChanged(I)V
-Landroid/app/admin/DevicePolicyManager;->reportSuccessfulFingerprintAttempt(I)V
-Landroid/app/admin/DevicePolicyManager;->setDeviceOwner(Landroid/content/ComponentName;)Z
-Landroid/app/admin/DevicePolicyManager;->setDeviceOwner(Landroid/content/ComponentName;I)Z
-Landroid/app/admin/DevicePolicyManager;->setDeviceOwner(Landroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/app/admin/DevicePolicyManager;->setDeviceOwner(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-Landroid/app/admin/DevicePolicyManager;->setForceEphemeralUsers(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/DevicePolicyManager;->setMandatoryBackupTransport(Landroid/content/ComponentName;Landroid/content/ComponentName;)Z
-Landroid/app/admin/DevicePolicyManager;->setOrganizationColorForUser(II)V
-Landroid/app/admin/DevicePolicyManager;->setProfileOwner(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-Landroid/app/admin/DevicePolicyManager;->setUserProvisioningState(II)V
-Landroid/app/admin/DevicePolicyManager;->startManagedQuickContact(Ljava/lang/String;JLandroid/content/Intent;)V
-Landroid/app/admin/DevicePolicyManager;->startManagedQuickContact(Ljava/lang/String;JZJLandroid/content/Intent;)V
-Landroid/app/admin/DevicePolicyManager;->TAG:Ljava/lang/String;
-Landroid/app/admin/DevicePolicyManager;->uninstallPackageWithActiveAdmins(Ljava/lang/String;)V
-Landroid/app/admin/DevicePolicyManager;->wipeDataInternal(ILjava/lang/String;)V
-Landroid/app/admin/DevicePolicyManagerInternal$OnCrossProfileWidgetProvidersChangeListener;
-Landroid/app/admin/DevicePolicyManagerInternal$OnCrossProfileWidgetProvidersChangeListener;->onCrossProfileWidgetProvidersChanged(ILjava/util/List;)V
-Landroid/app/admin/DevicePolicyManagerInternal;
-Landroid/app/admin/DevicePolicyManagerInternal;-><init>()V
-Landroid/app/admin/DevicePolicyManagerInternal;->addOnCrossProfileWidgetProvidersChangeListener(Landroid/app/admin/DevicePolicyManagerInternal$OnCrossProfileWidgetProvidersChangeListener;)V
-Landroid/app/admin/DevicePolicyManagerInternal;->canUserHaveUntrustedCredentialReset(I)Z
-Landroid/app/admin/DevicePolicyManagerInternal;->createShowAdminSupportIntent(IZ)Landroid/content/Intent;
-Landroid/app/admin/DevicePolicyManagerInternal;->createUserRestrictionSupportIntent(ILjava/lang/String;)Landroid/content/Intent;
-Landroid/app/admin/DevicePolicyManagerInternal;->getCrossProfileWidgetProviders(I)Ljava/util/List;
-Landroid/app/admin/DevicePolicyManagerInternal;->getDevicePolicyCache()Landroid/app/admin/DevicePolicyCache;
-Landroid/app/admin/DevicePolicyManagerInternal;->getPrintingDisabledReasonForUser(I)Ljava/lang/CharSequence;
-Landroid/app/admin/DevicePolicyManagerInternal;->isActiveAdminWithPolicy(II)Z
-Landroid/app/admin/DevicePolicyManagerInternal;->isUserAffiliatedWithDevice(I)Z
-Landroid/app/admin/DevicePolicyManagerInternal;->reportSeparateProfileChallengeChanged(I)V
-Landroid/app/admin/DnsEvent;-><init>(Landroid/os/Parcel;)V
-Landroid/app/admin/DnsEvent;-><init>(Ljava/lang/String;[Ljava/lang/String;ILjava/lang/String;J)V
-Landroid/app/admin/DnsEvent;->mHostname:Ljava/lang/String;
-Landroid/app/admin/DnsEvent;->mIpAddresses:[Ljava/lang/String;
-Landroid/app/admin/DnsEvent;->mIpAddressesCount:I
-Landroid/app/admin/FreezePeriod;-><init>(II)V
-Landroid/app/admin/FreezePeriod;->after(Ljava/time/LocalDate;)Z
-Landroid/app/admin/FreezePeriod;->canonicalizePeriods(Ljava/util/List;)Ljava/util/List;
-Landroid/app/admin/FreezePeriod;->contains(Ljava/time/LocalDate;)Z
-Landroid/app/admin/FreezePeriod;->dayOfYearDisregardLeapYear(Ljava/time/LocalDate;)I
-Landroid/app/admin/FreezePeriod;->dayOfYearToMonthDay(I)Ljava/time/MonthDay;
-Landroid/app/admin/FreezePeriod;->DAYS_IN_YEAR:I
-Landroid/app/admin/FreezePeriod;->distanceWithoutLeapYear(Ljava/time/LocalDate;Ljava/time/LocalDate;)I
-Landroid/app/admin/FreezePeriod;->DUMMY_YEAR:I
-Landroid/app/admin/FreezePeriod;->getEffectiveEndDay()I
-Landroid/app/admin/FreezePeriod;->getLength()I
-Landroid/app/admin/FreezePeriod;->isWrapped()Z
-Landroid/app/admin/FreezePeriod;->mEnd:Ljava/time/MonthDay;
-Landroid/app/admin/FreezePeriod;->mEndDay:I
-Landroid/app/admin/FreezePeriod;->mStart:Ljava/time/MonthDay;
-Landroid/app/admin/FreezePeriod;->mStartDay:I
-Landroid/app/admin/FreezePeriod;->TAG:Ljava/lang/String;
-Landroid/app/admin/FreezePeriod;->toCurrentOrFutureRealDates(Ljava/time/LocalDate;)Landroid/util/Pair;
-Landroid/app/admin/FreezePeriod;->validateAgainstPreviousFreezePeriod(Ljava/util/List;Ljava/time/LocalDate;Ljava/time/LocalDate;Ljava/time/LocalDate;)V
-Landroid/app/admin/FreezePeriod;->validatePeriods(Ljava/util/List;)V
-Landroid/app/admin/IDeviceAdminService$Stub$Proxy;
-Landroid/app/admin/IDeviceAdminService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/admin/IDeviceAdminService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/admin/IDeviceAdminService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/admin/IDeviceAdminService$Stub;
-Landroid/app/admin/IDeviceAdminService$Stub;-><init>()V
-Landroid/app/admin/IDeviceAdminService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/admin/IDeviceAdminService;
-Landroid/app/admin/IDeviceAdminService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/admin/IDeviceAdminService;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->addCrossProfileIntentFilter(Landroid/content/ComponentName;Landroid/content/IntentFilter;I)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->addCrossProfileWidgetProvider(Landroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->addOverrideApn(Landroid/content/ComponentName;Landroid/telephony/data/ApnSetting;)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->addPersistentPreferredActivity(Landroid/content/ComponentName;Landroid/content/IntentFilter;Landroid/content/ComponentName;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->approveCaCert(Ljava/lang/String;IZ)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->bindDeviceAdminServiceAsUser(Landroid/content/ComponentName;Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Landroid/app/IServiceConnection;II)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->checkProvisioningPreCondition(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->choosePrivateKeyAlias(ILandroid/net/Uri;Ljava/lang/String;Landroid/os/IBinder;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->clearApplicationUserData(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->clearCrossProfileIntentFilters(Landroid/content/ComponentName;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->clearDeviceOwner(Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->clearPackagePersistentPreferredActivities(Landroid/content/ComponentName;Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->clearProfileOwner(Landroid/content/ComponentName;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->clearResetPasswordToken(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->clearSystemUpdatePolicyFreezePeriodRecord()V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->createAdminSupportIntent(Ljava/lang/String;)Landroid/content/Intent;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->createAndManageUser(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/PersistableBundle;I)Landroid/os/UserHandle;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->enableSystemApp(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->enableSystemAppWithIntent(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->enforceCanManageCaCerts(Landroid/content/ComponentName;Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->forceRemoveActiveAdmin(Landroid/content/ComponentName;I)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->forceSecurityLogs()J
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->forceUpdateUserSetupComplete()V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->generateKeyPair(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Landroid/security/keystore/ParcelableKeyGenParameterSpec;ILandroid/security/keymaster/KeymasterCertificateChain;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getAccountTypesWithManagementDisabled()[Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getAccountTypesWithManagementDisabledAsUser(I)[Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getActiveAdmins(I)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getAffiliationIds(Landroid/content/ComponentName;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getAlwaysOnVpnPackage(Landroid/content/ComponentName;)Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getApplicationRestrictions(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getApplicationRestrictionsManagingPackage(Landroid/content/ComponentName;)Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getAutoTimeRequired()Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getBindDeviceAdminTargetUsers(Landroid/content/ComponentName;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getBluetoothContactSharingDisabled(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getBluetoothContactSharingDisabledForUser(I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getCameraDisabled(Landroid/content/ComponentName;I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getCertInstallerPackage(Landroid/content/ComponentName;)Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getCrossProfileCallerIdDisabled(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getCrossProfileCallerIdDisabledForUser(I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getCrossProfileContactsSearchDisabled(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getCrossProfileContactsSearchDisabledForUser(I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getCrossProfileWidgetProviders(Landroid/content/ComponentName;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getCurrentFailedPasswordAttempts(IZ)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getDelegatedScopes(Landroid/content/ComponentName;Ljava/lang/String;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getDelegatePackages(Landroid/content/ComponentName;Ljava/lang/String;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getDeviceOwnerComponent(Z)Landroid/content/ComponentName;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getDeviceOwnerLockScreenInfo()Ljava/lang/CharSequence;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getDeviceOwnerName()Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getDeviceOwnerOrganizationName()Ljava/lang/CharSequence;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getDeviceOwnerUserId()I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getDisallowedSystemApps(Landroid/content/ComponentName;ILjava/lang/String;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getDoNotAskCredentialsOnBoot()Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getEndUserSessionMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getForceEphemeralUsers(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getGlobalProxyAdmin(I)Landroid/content/ComponentName;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getKeepUninstalledPackages(Landroid/content/ComponentName;Ljava/lang/String;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getLastBugReportRequestTime()J
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getLastNetworkLogRetrievalTime()J
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getLastSecurityLogRetrievalTime()J
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getLockTaskFeatures(Landroid/content/ComponentName;)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getLockTaskPackages(Landroid/content/ComponentName;)[Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getLongSupportMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getLongSupportMessageForUser(Landroid/content/ComponentName;I)Ljava/lang/CharSequence;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getMandatoryBackupTransport()Landroid/content/ComponentName;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getMaximumTimeToLock(Landroid/content/ComponentName;IZ)J
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getMeteredDataDisabledPackages(Landroid/content/ComponentName;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getOrganizationColor(Landroid/content/ComponentName;)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getOrganizationColorForUser(I)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getOrganizationName(Landroid/content/ComponentName;)Ljava/lang/CharSequence;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getOrganizationNameForUser(I)Ljava/lang/CharSequence;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getOverrideApns(Landroid/content/ComponentName;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getOwnerInstalledCaCerts(Landroid/os/UserHandle;)Landroid/content/pm/StringParceledListSlice;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPasswordExpiration(Landroid/content/ComponentName;IZ)J
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPasswordExpirationTimeout(Landroid/content/ComponentName;IZ)J
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPasswordHistoryLength(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPasswordMinimumLength(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPasswordMinimumLetters(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPasswordMinimumLowerCase(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPasswordMinimumNonLetter(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPasswordMinimumNumeric(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPasswordMinimumSymbols(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPasswordMinimumUpperCase(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPasswordQuality(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPendingSystemUpdate(Landroid/content/ComponentName;)Landroid/app/admin/SystemUpdateInfo;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPermissionGrantState(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPermissionPolicy(Landroid/content/ComponentName;)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPermittedAccessibilityServices(Landroid/content/ComponentName;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPermittedAccessibilityServicesForUser(I)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPermittedCrossProfileNotificationListeners(Landroid/content/ComponentName;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPermittedInputMethods(Landroid/content/ComponentName;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPermittedInputMethodsForCurrentUser()Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getProfileOwner(I)Landroid/content/ComponentName;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getProfileOwnerName(I)Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getProfileWithMinimumFailedPasswordsForWipe(IZ)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getRemoveWarning(Landroid/content/ComponentName;Landroid/os/RemoteCallback;I)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getRequiredStrongAuthTimeout(Landroid/content/ComponentName;IZ)J
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getRestrictionsProvider(I)Landroid/content/ComponentName;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getScreenCaptureDisabled(Landroid/content/ComponentName;I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getSecondaryUsers(Landroid/content/ComponentName;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getShortSupportMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getShortSupportMessageForUser(Landroid/content/ComponentName;I)Ljava/lang/CharSequence;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getStartUserSessionMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getStorageEncryption(Landroid/content/ComponentName;I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getStorageEncryptionStatus(Ljava/lang/String;I)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getTransferOwnershipBundle()Landroid/os/PersistableBundle;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getTrustAgentConfiguration(Landroid/content/ComponentName;Landroid/content/ComponentName;IZ)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getUserProvisioningState()I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getUserRestrictions(Landroid/content/ComponentName;)Landroid/os/Bundle;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getWifiMacAddress(Landroid/content/ComponentName;)Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->hasDeviceOwner()Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->hasGrantedPolicy(Landroid/content/ComponentName;II)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->hasUserSetupCompleted()Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->installCaCert(Landroid/content/ComponentName;Ljava/lang/String;[B)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->installExistingPackage(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->installKeyPair(Landroid/content/ComponentName;Ljava/lang/String;[B[B[BLjava/lang/String;ZZ)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isAccessibilityServicePermittedByAdmin(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isActivePasswordSufficient(IZ)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isAdminActive(Landroid/content/ComponentName;I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isAffiliatedUser()Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isApplicationHidden(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isBackupServiceEnabled(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isCaCertApproved(Ljava/lang/String;I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isCallerApplicationRestrictionsManagingPackage(Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isCurrentInputMethodSetByOwner()Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isDeviceProvisioned()Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isDeviceProvisioningConfigApplied()Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isEphemeralUser(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isInputMethodPermittedByAdmin(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isLockTaskPermitted(Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isLogoutEnabled()Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isManagedProfile(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isMasterVolumeMuted(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isMeteredDataDisabledPackageForUser(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isNetworkLoggingEnabled(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isNotificationListenerServicePermitted(Ljava/lang/String;I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isOverrideApnEnabled(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isPackageSuspended(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isProfileActivePasswordSufficientForParent(I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isProvisioningAllowed(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isRemovingAdmin(Landroid/content/ComponentName;I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isResetPasswordTokenActive(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isSecurityLoggingEnabled(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isSeparateProfileChallengeAllowed(I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isSystemOnlyUser(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isUninstallBlocked(Landroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isUninstallInQueue(Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isUsingUnifiedPassword(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->lockNow(IZ)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->logoutUser(Landroid/content/ComponentName;)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->notifyLockTaskModeChanged(ZLjava/lang/String;I)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->notifyPendingSystemUpdate(Landroid/app/admin/SystemUpdateInfo;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->packageHasActiveAdmins(Ljava/lang/String;I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->reboot(Landroid/content/ComponentName;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->removeActiveAdmin(Landroid/content/ComponentName;I)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->removeCrossProfileWidgetProvider(Landroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->removeKeyPair(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->removeOverrideApn(Landroid/content/ComponentName;I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->removeUser(Landroid/content/ComponentName;Landroid/os/UserHandle;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->reportFailedFingerprintAttempt(I)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->reportFailedPasswordAttempt(I)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->reportKeyguardDismissed(I)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->reportKeyguardSecured(I)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->reportPasswordChanged(I)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->reportSuccessfulFingerprintAttempt(I)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->reportSuccessfulPasswordAttempt(I)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->requestBugreport(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->resetPassword(Ljava/lang/String;I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->resetPasswordWithToken(Landroid/content/ComponentName;Ljava/lang/String;[BI)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->retrieveNetworkLogs(Landroid/content/ComponentName;J)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->retrievePreRebootSecurityLogs(Landroid/content/ComponentName;)Landroid/content/pm/ParceledListSlice;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->retrieveSecurityLogs(Landroid/content/ComponentName;)Landroid/content/pm/ParceledListSlice;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setAccountManagementDisabled(Landroid/content/ComponentName;Ljava/lang/String;Z)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setActiveAdmin(Landroid/content/ComponentName;ZI)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setActivePasswordState(Landroid/app/admin/PasswordMetrics;I)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setAffiliationIds(Landroid/content/ComponentName;Ljava/util/List;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setAlwaysOnVpnPackage(Landroid/content/ComponentName;Ljava/lang/String;Z)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setApplicationHidden(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Z)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setApplicationRestrictions(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setApplicationRestrictionsManagingPackage(Landroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setAutoTimeRequired(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setBackupServiceEnabled(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setBluetoothContactSharingDisabled(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setCameraDisabled(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setCertInstallerPackage(Landroid/content/ComponentName;Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setCrossProfileCallerIdDisabled(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setCrossProfileContactsSearchDisabled(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setDefaultSmsApplication(Landroid/content/ComponentName;Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setDelegatedScopes(Landroid/content/ComponentName;Ljava/lang/String;Ljava/util/List;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setDeviceOwner(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setDeviceOwnerLockScreenInfo(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setDeviceProvisioningConfigApplied()V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setEndUserSessionMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setForceEphemeralUsers(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setGlobalProxy(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Landroid/content/ComponentName;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setGlobalSetting(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setKeepUninstalledPackages(Landroid/content/ComponentName;Ljava/lang/String;Ljava/util/List;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setKeyguardDisabled(Landroid/content/ComponentName;Z)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setKeyguardDisabledFeatures(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setKeyPairCertificate(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;[B[BZ)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setLockTaskFeatures(Landroid/content/ComponentName;I)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setLockTaskPackages(Landroid/content/ComponentName;[Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setLogoutEnabled(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setLongSupportMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setMandatoryBackupTransport(Landroid/content/ComponentName;Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setMasterVolumeMuted(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setMaximumTimeToLock(Landroid/content/ComponentName;JZ)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setMeteredDataDisabledPackages(Landroid/content/ComponentName;Ljava/util/List;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setNetworkLoggingEnabled(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setOrganizationColor(Landroid/content/ComponentName;I)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setOrganizationColorForUser(II)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setOrganizationName(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setOverrideApnsEnabled(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setPackagesSuspended(Landroid/content/ComponentName;Ljava/lang/String;[Ljava/lang/String;Z)[Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setPasswordExpirationTimeout(Landroid/content/ComponentName;JZ)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setPasswordHistoryLength(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setPasswordMinimumLength(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setPasswordMinimumLetters(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setPasswordMinimumLowerCase(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setPasswordMinimumNonLetter(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setPasswordMinimumNumeric(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setPasswordMinimumSymbols(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setPasswordMinimumUpperCase(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setPasswordQuality(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setPermissionGrantState(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setPermissionPolicy(Landroid/content/ComponentName;Ljava/lang/String;I)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setPermittedAccessibilityServices(Landroid/content/ComponentName;Ljava/util/List;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setPermittedCrossProfileNotificationListeners(Landroid/content/ComponentName;Ljava/util/List;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setPermittedInputMethods(Landroid/content/ComponentName;Ljava/util/List;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setProfileEnabled(Landroid/content/ComponentName;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setProfileName(Landroid/content/ComponentName;Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setProfileOwner(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setRecommendedGlobalProxy(Landroid/content/ComponentName;Landroid/net/ProxyInfo;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setRequiredStrongAuthTimeout(Landroid/content/ComponentName;JZ)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setResetPasswordToken(Landroid/content/ComponentName;[B)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setRestrictionsProvider(Landroid/content/ComponentName;Landroid/content/ComponentName;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setScreenCaptureDisabled(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setSecureSetting(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setSecurityLoggingEnabled(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setShortSupportMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setStartUserSessionMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setStatusBarDisabled(Landroid/content/ComponentName;Z)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setStorageEncryption(Landroid/content/ComponentName;Z)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setSystemSetting(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setSystemUpdatePolicy(Landroid/content/ComponentName;Landroid/app/admin/SystemUpdatePolicy;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setTime(Landroid/content/ComponentName;J)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setTimeZone(Landroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setTrustAgentConfiguration(Landroid/content/ComponentName;Landroid/content/ComponentName;Landroid/os/PersistableBundle;Z)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setUninstallBlocked(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Z)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setUserIcon(Landroid/content/ComponentName;Landroid/graphics/Bitmap;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setUserProvisioningState(II)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setUserRestriction(Landroid/content/ComponentName;Ljava/lang/String;Z)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->startManagedQuickContact(Ljava/lang/String;JZJLandroid/content/Intent;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->startUserInBackground(Landroid/content/ComponentName;Landroid/os/UserHandle;)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->stopUser(Landroid/content/ComponentName;Landroid/os/UserHandle;)I
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->switchUser(Landroid/content/ComponentName;Landroid/os/UserHandle;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->transferOwnership(Landroid/content/ComponentName;Landroid/content/ComponentName;Landroid/os/PersistableBundle;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->uninstallCaCerts(Landroid/content/ComponentName;Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->uninstallPackageWithActiveAdmins(Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->updateOverrideApn(Landroid/content/ComponentName;ILandroid/telephony/data/ApnSetting;)Z
-Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;->wipeDataWithReason(ILjava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager$Stub;
-Landroid/app/admin/IDevicePolicyManager$Stub;-><init>()V
-Landroid/app/admin/IDevicePolicyManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_addCrossProfileIntentFilter:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_addCrossProfileWidgetProvider:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_addOverrideApn:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_addPersistentPreferredActivity:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_approveCaCert:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_bindDeviceAdminServiceAsUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_checkProvisioningPreCondition:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_choosePrivateKeyAlias:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_clearApplicationUserData:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_clearCrossProfileIntentFilters:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_clearDeviceOwner:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_clearPackagePersistentPreferredActivities:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_clearProfileOwner:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_clearResetPasswordToken:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_clearSystemUpdatePolicyFreezePeriodRecord:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_createAdminSupportIntent:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_createAndManageUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_enableSystemApp:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_enableSystemAppWithIntent:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_enforceCanManageCaCerts:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_forceRemoveActiveAdmin:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_forceSecurityLogs:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_forceUpdateUserSetupComplete:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_generateKeyPair:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getAccountTypesWithManagementDisabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getAccountTypesWithManagementDisabledAsUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getActiveAdmins:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getAffiliationIds:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getAlwaysOnVpnPackage:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getApplicationRestrictions:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getApplicationRestrictionsManagingPackage:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getAutoTimeRequired:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getBindDeviceAdminTargetUsers:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getBluetoothContactSharingDisabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getBluetoothContactSharingDisabledForUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getCameraDisabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getCertInstallerPackage:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getCrossProfileCallerIdDisabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getCrossProfileCallerIdDisabledForUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getCrossProfileContactsSearchDisabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getCrossProfileContactsSearchDisabledForUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getCrossProfileWidgetProviders:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getCurrentFailedPasswordAttempts:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getDelegatedScopes:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getDelegatePackages:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getDeviceOwnerComponent:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getDeviceOwnerLockScreenInfo:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getDeviceOwnerName:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getDeviceOwnerOrganizationName:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getDeviceOwnerUserId:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getDisallowedSystemApps:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getDoNotAskCredentialsOnBoot:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getEndUserSessionMessage:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getForceEphemeralUsers:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getGlobalProxyAdmin:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getKeepUninstalledPackages:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getKeyguardDisabledFeatures:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getLastBugReportRequestTime:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getLastNetworkLogRetrievalTime:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getLastSecurityLogRetrievalTime:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getLockTaskFeatures:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getLockTaskPackages:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getLongSupportMessage:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getLongSupportMessageForUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getMandatoryBackupTransport:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getMaximumFailedPasswordsForWipe:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getMaximumTimeToLock:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getMeteredDataDisabledPackages:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getOrganizationColor:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getOrganizationColorForUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getOrganizationName:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getOrganizationNameForUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getOverrideApns:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getOwnerInstalledCaCerts:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getPasswordExpiration:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getPasswordExpirationTimeout:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getPasswordHistoryLength:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getPasswordMinimumLength:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getPasswordMinimumLetters:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getPasswordMinimumLowerCase:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getPasswordMinimumNonLetter:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getPasswordMinimumNumeric:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getPasswordMinimumSymbols:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getPasswordMinimumUpperCase:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getPasswordQuality:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getPendingSystemUpdate:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getPermissionGrantState:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getPermissionPolicy:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getPermittedAccessibilityServices:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getPermittedAccessibilityServicesForUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getPermittedCrossProfileNotificationListeners:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getPermittedInputMethods:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getPermittedInputMethodsForCurrentUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getProfileOwner:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getProfileOwnerName:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getProfileWithMinimumFailedPasswordsForWipe:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getRemoveWarning:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getRequiredStrongAuthTimeout:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getRestrictionsProvider:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getScreenCaptureDisabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getSecondaryUsers:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getShortSupportMessage:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getShortSupportMessageForUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getStartUserSessionMessage:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getStorageEncryption:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getStorageEncryptionStatus:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getSystemUpdatePolicy:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getTransferOwnershipBundle:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getTrustAgentConfiguration:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getUserProvisioningState:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getUserRestrictions:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_getWifiMacAddress:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_hasDeviceOwner:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_hasGrantedPolicy:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_hasUserSetupCompleted:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_installCaCert:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_installExistingPackage:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_installKeyPair:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isAccessibilityServicePermittedByAdmin:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isActivePasswordSufficient:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isAdminActive:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isAffiliatedUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isApplicationHidden:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isBackupServiceEnabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isCaCertApproved:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isCallerApplicationRestrictionsManagingPackage:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isCurrentInputMethodSetByOwner:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isDeviceProvisioned:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isDeviceProvisioningConfigApplied:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isEphemeralUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isInputMethodPermittedByAdmin:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isLockTaskPermitted:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isLogoutEnabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isManagedProfile:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isMasterVolumeMuted:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isMeteredDataDisabledPackageForUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isNetworkLoggingEnabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isNotificationListenerServicePermitted:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isOverrideApnEnabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isPackageSuspended:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isProfileActivePasswordSufficientForParent:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isProvisioningAllowed:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isRemovingAdmin:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isResetPasswordTokenActive:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isSecurityLoggingEnabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isSeparateProfileChallengeAllowed:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isSystemOnlyUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isUninstallBlocked:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isUninstallInQueue:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_isUsingUnifiedPassword:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_lockNow:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_logoutUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_notifyLockTaskModeChanged:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_notifyPendingSystemUpdate:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_reboot:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_removeCrossProfileWidgetProvider:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_removeKeyPair:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_removeOverrideApn:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_removeUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_reportFailedFingerprintAttempt:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_reportFailedPasswordAttempt:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_reportKeyguardDismissed:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_reportKeyguardSecured:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_reportPasswordChanged:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_reportSuccessfulFingerprintAttempt:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_reportSuccessfulPasswordAttempt:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_requestBugreport:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_resetPassword:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_resetPasswordWithToken:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_retrieveNetworkLogs:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_retrievePreRebootSecurityLogs:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_retrieveSecurityLogs:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setAccountManagementDisabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setActiveAdmin:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setActivePasswordState:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setAffiliationIds:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setAlwaysOnVpnPackage:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setApplicationHidden:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setApplicationRestrictions:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setApplicationRestrictionsManagingPackage:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setAutoTimeRequired:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setBackupServiceEnabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setBluetoothContactSharingDisabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setCameraDisabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setCertInstallerPackage:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setCrossProfileCallerIdDisabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setCrossProfileContactsSearchDisabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setDefaultSmsApplication:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setDelegatedScopes:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setDeviceOwner:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setDeviceOwnerLockScreenInfo:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setDeviceProvisioningConfigApplied:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setEndUserSessionMessage:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setForceEphemeralUsers:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setGlobalProxy:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setGlobalSetting:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setKeepUninstalledPackages:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setKeyguardDisabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setKeyguardDisabledFeatures:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setKeyPairCertificate:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setLockTaskFeatures:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setLockTaskPackages:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setLogoutEnabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setLongSupportMessage:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setMandatoryBackupTransport:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setMasterVolumeMuted:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setMaximumFailedPasswordsForWipe:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setMaximumTimeToLock:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setMeteredDataDisabledPackages:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setNetworkLoggingEnabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setOrganizationColor:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setOrganizationColorForUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setOrganizationName:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setOverrideApnsEnabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setPackagesSuspended:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setPasswordExpirationTimeout:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setPasswordHistoryLength:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setPasswordMinimumLength:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setPasswordMinimumLetters:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setPasswordMinimumLowerCase:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setPasswordMinimumNonLetter:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setPasswordMinimumNumeric:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setPasswordMinimumSymbols:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setPasswordMinimumUpperCase:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setPasswordQuality:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setPermissionGrantState:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setPermissionPolicy:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setPermittedAccessibilityServices:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setPermittedCrossProfileNotificationListeners:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setPermittedInputMethods:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setProfileEnabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setProfileName:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setProfileOwner:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setRecommendedGlobalProxy:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setRequiredStrongAuthTimeout:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setResetPasswordToken:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setRestrictionsProvider:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setScreenCaptureDisabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setSecureSetting:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setSecurityLoggingEnabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setShortSupportMessage:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setStartUserSessionMessage:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setStatusBarDisabled:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setStorageEncryption:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setSystemSetting:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setSystemUpdatePolicy:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setTime:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setTimeZone:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setTrustAgentConfiguration:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setUninstallBlocked:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setUserIcon:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setUserProvisioningState:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_setUserRestriction:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_startManagedQuickContact:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_startUserInBackground:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_stopUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_switchUser:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_transferOwnership:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_uninstallCaCerts:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_uninstallPackageWithActiveAdmins:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_updateOverrideApn:I
-Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_wipeDataWithReason:I
-Landroid/app/admin/IDevicePolicyManager;
-Landroid/app/admin/IDevicePolicyManager;->addCrossProfileIntentFilter(Landroid/content/ComponentName;Landroid/content/IntentFilter;I)V
-Landroid/app/admin/IDevicePolicyManager;->addCrossProfileWidgetProvider(Landroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager;->addOverrideApn(Landroid/content/ComponentName;Landroid/telephony/data/ApnSetting;)I
-Landroid/app/admin/IDevicePolicyManager;->addPersistentPreferredActivity(Landroid/content/ComponentName;Landroid/content/IntentFilter;Landroid/content/ComponentName;)V
-Landroid/app/admin/IDevicePolicyManager;->approveCaCert(Ljava/lang/String;IZ)Z
-Landroid/app/admin/IDevicePolicyManager;->bindDeviceAdminServiceAsUser(Landroid/content/ComponentName;Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Landroid/app/IServiceConnection;II)Z
-Landroid/app/admin/IDevicePolicyManager;->checkProvisioningPreCondition(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/app/admin/IDevicePolicyManager;->choosePrivateKeyAlias(ILandroid/net/Uri;Ljava/lang/String;Landroid/os/IBinder;)V
-Landroid/app/admin/IDevicePolicyManager;->clearApplicationUserData(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;)V
-Landroid/app/admin/IDevicePolicyManager;->clearCrossProfileIntentFilters(Landroid/content/ComponentName;)V
-Landroid/app/admin/IDevicePolicyManager;->clearDeviceOwner(Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager;->clearPackagePersistentPreferredActivities(Landroid/content/ComponentName;Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager;->clearProfileOwner(Landroid/content/ComponentName;)V
-Landroid/app/admin/IDevicePolicyManager;->clearResetPasswordToken(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager;->clearSystemUpdatePolicyFreezePeriodRecord()V
-Landroid/app/admin/IDevicePolicyManager;->createAdminSupportIntent(Ljava/lang/String;)Landroid/content/Intent;
-Landroid/app/admin/IDevicePolicyManager;->createAndManageUser(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/PersistableBundle;I)Landroid/os/UserHandle;
-Landroid/app/admin/IDevicePolicyManager;->enableSystemApp(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager;->enableSystemAppWithIntent(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;)I
-Landroid/app/admin/IDevicePolicyManager;->enforceCanManageCaCerts(Landroid/content/ComponentName;Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager;->forceRemoveActiveAdmin(Landroid/content/ComponentName;I)V
-Landroid/app/admin/IDevicePolicyManager;->forceSecurityLogs()J
-Landroid/app/admin/IDevicePolicyManager;->forceUpdateUserSetupComplete()V
-Landroid/app/admin/IDevicePolicyManager;->generateKeyPair(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Landroid/security/keystore/ParcelableKeyGenParameterSpec;ILandroid/security/keymaster/KeymasterCertificateChain;)Z
-Landroid/app/admin/IDevicePolicyManager;->getAccountTypesWithManagementDisabled()[Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager;->getAccountTypesWithManagementDisabledAsUser(I)[Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager;->getActiveAdmins(I)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager;->getAffiliationIds(Landroid/content/ComponentName;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager;->getAlwaysOnVpnPackage(Landroid/content/ComponentName;)Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager;->getApplicationRestrictions(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;
-Landroid/app/admin/IDevicePolicyManager;->getApplicationRestrictionsManagingPackage(Landroid/content/ComponentName;)Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager;->getAutoTimeRequired()Z
-Landroid/app/admin/IDevicePolicyManager;->getBindDeviceAdminTargetUsers(Landroid/content/ComponentName;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager;->getBluetoothContactSharingDisabled(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager;->getBluetoothContactSharingDisabledForUser(I)Z
-Landroid/app/admin/IDevicePolicyManager;->getCameraDisabled(Landroid/content/ComponentName;I)Z
-Landroid/app/admin/IDevicePolicyManager;->getCertInstallerPackage(Landroid/content/ComponentName;)Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager;->getCrossProfileCallerIdDisabled(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager;->getCrossProfileCallerIdDisabledForUser(I)Z
-Landroid/app/admin/IDevicePolicyManager;->getCrossProfileContactsSearchDisabled(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager;->getCrossProfileContactsSearchDisabledForUser(I)Z
-Landroid/app/admin/IDevicePolicyManager;->getCrossProfileWidgetProviders(Landroid/content/ComponentName;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager;->getCurrentFailedPasswordAttempts(IZ)I
-Landroid/app/admin/IDevicePolicyManager;->getDelegatedScopes(Landroid/content/ComponentName;Ljava/lang/String;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager;->getDelegatePackages(Landroid/content/ComponentName;Ljava/lang/String;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager;->getDeviceOwnerComponent(Z)Landroid/content/ComponentName;
-Landroid/app/admin/IDevicePolicyManager;->getDeviceOwnerLockScreenInfo()Ljava/lang/CharSequence;
-Landroid/app/admin/IDevicePolicyManager;->getDeviceOwnerName()Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager;->getDeviceOwnerOrganizationName()Ljava/lang/CharSequence;
-Landroid/app/admin/IDevicePolicyManager;->getDeviceOwnerUserId()I
-Landroid/app/admin/IDevicePolicyManager;->getDisallowedSystemApps(Landroid/content/ComponentName;ILjava/lang/String;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager;->getDoNotAskCredentialsOnBoot()Z
-Landroid/app/admin/IDevicePolicyManager;->getEndUserSessionMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;
-Landroid/app/admin/IDevicePolicyManager;->getForceEphemeralUsers(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager;->getGlobalProxyAdmin(I)Landroid/content/ComponentName;
-Landroid/app/admin/IDevicePolicyManager;->getKeepUninstalledPackages(Landroid/content/ComponentName;Ljava/lang/String;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager;->getLastBugReportRequestTime()J
-Landroid/app/admin/IDevicePolicyManager;->getLastNetworkLogRetrievalTime()J
-Landroid/app/admin/IDevicePolicyManager;->getLastSecurityLogRetrievalTime()J
-Landroid/app/admin/IDevicePolicyManager;->getLockTaskFeatures(Landroid/content/ComponentName;)I
-Landroid/app/admin/IDevicePolicyManager;->getLockTaskPackages(Landroid/content/ComponentName;)[Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager;->getLongSupportMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;
-Landroid/app/admin/IDevicePolicyManager;->getLongSupportMessageForUser(Landroid/content/ComponentName;I)Ljava/lang/CharSequence;
-Landroid/app/admin/IDevicePolicyManager;->getMandatoryBackupTransport()Landroid/content/ComponentName;
-Landroid/app/admin/IDevicePolicyManager;->getMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager;->getMaximumTimeToLock(Landroid/content/ComponentName;IZ)J
-Landroid/app/admin/IDevicePolicyManager;->getMeteredDataDisabledPackages(Landroid/content/ComponentName;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager;->getOrganizationColor(Landroid/content/ComponentName;)I
-Landroid/app/admin/IDevicePolicyManager;->getOrganizationColorForUser(I)I
-Landroid/app/admin/IDevicePolicyManager;->getOrganizationName(Landroid/content/ComponentName;)Ljava/lang/CharSequence;
-Landroid/app/admin/IDevicePolicyManager;->getOrganizationNameForUser(I)Ljava/lang/CharSequence;
-Landroid/app/admin/IDevicePolicyManager;->getOverrideApns(Landroid/content/ComponentName;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager;->getOwnerInstalledCaCerts(Landroid/os/UserHandle;)Landroid/content/pm/StringParceledListSlice;
-Landroid/app/admin/IDevicePolicyManager;->getPasswordExpiration(Landroid/content/ComponentName;IZ)J
-Landroid/app/admin/IDevicePolicyManager;->getPasswordExpirationTimeout(Landroid/content/ComponentName;IZ)J
-Landroid/app/admin/IDevicePolicyManager;->getPasswordHistoryLength(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager;->getPasswordMinimumLength(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager;->getPasswordMinimumLetters(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager;->getPasswordMinimumLowerCase(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager;->getPasswordMinimumNonLetter(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager;->getPasswordMinimumNumeric(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager;->getPasswordMinimumSymbols(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager;->getPasswordMinimumUpperCase(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager;->getPasswordQuality(Landroid/content/ComponentName;IZ)I
-Landroid/app/admin/IDevicePolicyManager;->getPendingSystemUpdate(Landroid/content/ComponentName;)Landroid/app/admin/SystemUpdateInfo;
-Landroid/app/admin/IDevicePolicyManager;->getPermissionGrantState(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-Landroid/app/admin/IDevicePolicyManager;->getPermissionPolicy(Landroid/content/ComponentName;)I
-Landroid/app/admin/IDevicePolicyManager;->getPermittedAccessibilityServices(Landroid/content/ComponentName;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager;->getPermittedAccessibilityServicesForUser(I)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager;->getPermittedCrossProfileNotificationListeners(Landroid/content/ComponentName;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager;->getPermittedInputMethods(Landroid/content/ComponentName;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager;->getPermittedInputMethodsForCurrentUser()Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager;->getProfileOwner(I)Landroid/content/ComponentName;
-Landroid/app/admin/IDevicePolicyManager;->getProfileOwnerName(I)Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager;->getProfileWithMinimumFailedPasswordsForWipe(IZ)I
-Landroid/app/admin/IDevicePolicyManager;->getRemoveWarning(Landroid/content/ComponentName;Landroid/os/RemoteCallback;I)V
-Landroid/app/admin/IDevicePolicyManager;->getRequiredStrongAuthTimeout(Landroid/content/ComponentName;IZ)J
-Landroid/app/admin/IDevicePolicyManager;->getRestrictionsProvider(I)Landroid/content/ComponentName;
-Landroid/app/admin/IDevicePolicyManager;->getScreenCaptureDisabled(Landroid/content/ComponentName;I)Z
-Landroid/app/admin/IDevicePolicyManager;->getSecondaryUsers(Landroid/content/ComponentName;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager;->getShortSupportMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;
-Landroid/app/admin/IDevicePolicyManager;->getShortSupportMessageForUser(Landroid/content/ComponentName;I)Ljava/lang/CharSequence;
-Landroid/app/admin/IDevicePolicyManager;->getStartUserSessionMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;
-Landroid/app/admin/IDevicePolicyManager;->getStorageEncryption(Landroid/content/ComponentName;I)Z
-Landroid/app/admin/IDevicePolicyManager;->getStorageEncryptionStatus(Ljava/lang/String;I)I
-Landroid/app/admin/IDevicePolicyManager;->getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;
-Landroid/app/admin/IDevicePolicyManager;->getTransferOwnershipBundle()Landroid/os/PersistableBundle;
-Landroid/app/admin/IDevicePolicyManager;->getTrustAgentConfiguration(Landroid/content/ComponentName;Landroid/content/ComponentName;IZ)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager;->getUserProvisioningState()I
-Landroid/app/admin/IDevicePolicyManager;->getUserRestrictions(Landroid/content/ComponentName;)Landroid/os/Bundle;
-Landroid/app/admin/IDevicePolicyManager;->getWifiMacAddress(Landroid/content/ComponentName;)Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager;->hasDeviceOwner()Z
-Landroid/app/admin/IDevicePolicyManager;->hasGrantedPolicy(Landroid/content/ComponentName;II)Z
-Landroid/app/admin/IDevicePolicyManager;->hasUserSetupCompleted()Z
-Landroid/app/admin/IDevicePolicyManager;->installCaCert(Landroid/content/ComponentName;Ljava/lang/String;[B)Z
-Landroid/app/admin/IDevicePolicyManager;->installExistingPackage(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager;->installKeyPair(Landroid/content/ComponentName;Ljava/lang/String;[B[B[BLjava/lang/String;ZZ)Z
-Landroid/app/admin/IDevicePolicyManager;->isAccessibilityServicePermittedByAdmin(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-Landroid/app/admin/IDevicePolicyManager;->isActivePasswordSufficient(IZ)Z
-Landroid/app/admin/IDevicePolicyManager;->isAdminActive(Landroid/content/ComponentName;I)Z
-Landroid/app/admin/IDevicePolicyManager;->isAffiliatedUser()Z
-Landroid/app/admin/IDevicePolicyManager;->isApplicationHidden(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager;->isBackupServiceEnabled(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager;->isCaCertApproved(Ljava/lang/String;I)Z
-Landroid/app/admin/IDevicePolicyManager;->isCallerApplicationRestrictionsManagingPackage(Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager;->isCurrentInputMethodSetByOwner()Z
-Landroid/app/admin/IDevicePolicyManager;->isDeviceProvisioned()Z
-Landroid/app/admin/IDevicePolicyManager;->isDeviceProvisioningConfigApplied()Z
-Landroid/app/admin/IDevicePolicyManager;->isEphemeralUser(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager;->isInputMethodPermittedByAdmin(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-Landroid/app/admin/IDevicePolicyManager;->isLockTaskPermitted(Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager;->isLogoutEnabled()Z
-Landroid/app/admin/IDevicePolicyManager;->isManagedProfile(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager;->isMasterVolumeMuted(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager;->isMeteredDataDisabledPackageForUser(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-Landroid/app/admin/IDevicePolicyManager;->isNetworkLoggingEnabled(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager;->isNotificationListenerServicePermitted(Ljava/lang/String;I)Z
-Landroid/app/admin/IDevicePolicyManager;->isOverrideApnEnabled(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager;->isPackageSuspended(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager;->isProfileActivePasswordSufficientForParent(I)Z
-Landroid/app/admin/IDevicePolicyManager;->isProvisioningAllowed(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager;->isRemovingAdmin(Landroid/content/ComponentName;I)Z
-Landroid/app/admin/IDevicePolicyManager;->isResetPasswordTokenActive(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager;->isSecurityLoggingEnabled(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager;->isSeparateProfileChallengeAllowed(I)Z
-Landroid/app/admin/IDevicePolicyManager;->isSystemOnlyUser(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager;->isUninstallBlocked(Landroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager;->isUninstallInQueue(Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager;->isUsingUnifiedPassword(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager;->lockNow(IZ)V
-Landroid/app/admin/IDevicePolicyManager;->logoutUser(Landroid/content/ComponentName;)I
-Landroid/app/admin/IDevicePolicyManager;->notifyLockTaskModeChanged(ZLjava/lang/String;I)V
-Landroid/app/admin/IDevicePolicyManager;->notifyPendingSystemUpdate(Landroid/app/admin/SystemUpdateInfo;)V
-Landroid/app/admin/IDevicePolicyManager;->reboot(Landroid/content/ComponentName;)V
-Landroid/app/admin/IDevicePolicyManager;->removeActiveAdmin(Landroid/content/ComponentName;I)V
-Landroid/app/admin/IDevicePolicyManager;->removeCrossProfileWidgetProvider(Landroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager;->removeKeyPair(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager;->removeOverrideApn(Landroid/content/ComponentName;I)Z
-Landroid/app/admin/IDevicePolicyManager;->removeUser(Landroid/content/ComponentName;Landroid/os/UserHandle;)Z
-Landroid/app/admin/IDevicePolicyManager;->reportFailedFingerprintAttempt(I)V
-Landroid/app/admin/IDevicePolicyManager;->reportFailedPasswordAttempt(I)V
-Landroid/app/admin/IDevicePolicyManager;->reportKeyguardDismissed(I)V
-Landroid/app/admin/IDevicePolicyManager;->reportKeyguardSecured(I)V
-Landroid/app/admin/IDevicePolicyManager;->reportPasswordChanged(I)V
-Landroid/app/admin/IDevicePolicyManager;->reportSuccessfulFingerprintAttempt(I)V
-Landroid/app/admin/IDevicePolicyManager;->reportSuccessfulPasswordAttempt(I)V
-Landroid/app/admin/IDevicePolicyManager;->requestBugreport(Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager;->resetPassword(Ljava/lang/String;I)Z
-Landroid/app/admin/IDevicePolicyManager;->resetPasswordWithToken(Landroid/content/ComponentName;Ljava/lang/String;[BI)Z
-Landroid/app/admin/IDevicePolicyManager;->retrieveNetworkLogs(Landroid/content/ComponentName;J)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager;->retrievePreRebootSecurityLogs(Landroid/content/ComponentName;)Landroid/content/pm/ParceledListSlice;
-Landroid/app/admin/IDevicePolicyManager;->retrieveSecurityLogs(Landroid/content/ComponentName;)Landroid/content/pm/ParceledListSlice;
-Landroid/app/admin/IDevicePolicyManager;->setAccountManagementDisabled(Landroid/content/ComponentName;Ljava/lang/String;Z)V
-Landroid/app/admin/IDevicePolicyManager;->setActiveAdmin(Landroid/content/ComponentName;ZI)V
-Landroid/app/admin/IDevicePolicyManager;->setActivePasswordState(Landroid/app/admin/PasswordMetrics;I)V
-Landroid/app/admin/IDevicePolicyManager;->setAffiliationIds(Landroid/content/ComponentName;Ljava/util/List;)V
-Landroid/app/admin/IDevicePolicyManager;->setAlwaysOnVpnPackage(Landroid/content/ComponentName;Ljava/lang/String;Z)Z
-Landroid/app/admin/IDevicePolicyManager;->setApplicationHidden(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Z)Z
-Landroid/app/admin/IDevicePolicyManager;->setApplicationRestrictions(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/app/admin/IDevicePolicyManager;->setApplicationRestrictionsManagingPackage(Landroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager;->setAutoTimeRequired(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager;->setBackupServiceEnabled(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager;->setBluetoothContactSharingDisabled(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager;->setCameraDisabled(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager;->setCertInstallerPackage(Landroid/content/ComponentName;Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager;->setCrossProfileCallerIdDisabled(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager;->setCrossProfileContactsSearchDisabled(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager;->setDefaultSmsApplication(Landroid/content/ComponentName;Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager;->setDelegatedScopes(Landroid/content/ComponentName;Ljava/lang/String;Ljava/util/List;)V
-Landroid/app/admin/IDevicePolicyManager;->setDeviceOwner(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-Landroid/app/admin/IDevicePolicyManager;->setDeviceOwnerLockScreenInfo(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
-Landroid/app/admin/IDevicePolicyManager;->setDeviceProvisioningConfigApplied()V
-Landroid/app/admin/IDevicePolicyManager;->setEndUserSessionMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
-Landroid/app/admin/IDevicePolicyManager;->setForceEphemeralUsers(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager;->setGlobalProxy(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Landroid/content/ComponentName;
-Landroid/app/admin/IDevicePolicyManager;->setGlobalSetting(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager;->setKeepUninstalledPackages(Landroid/content/ComponentName;Ljava/lang/String;Ljava/util/List;)V
-Landroid/app/admin/IDevicePolicyManager;->setKeyguardDisabled(Landroid/content/ComponentName;Z)Z
-Landroid/app/admin/IDevicePolicyManager;->setKeyguardDisabledFeatures(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager;->setKeyPairCertificate(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;[B[BZ)Z
-Landroid/app/admin/IDevicePolicyManager;->setLockTaskFeatures(Landroid/content/ComponentName;I)V
-Landroid/app/admin/IDevicePolicyManager;->setLockTaskPackages(Landroid/content/ComponentName;[Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager;->setLogoutEnabled(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager;->setLongSupportMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
-Landroid/app/admin/IDevicePolicyManager;->setMandatoryBackupTransport(Landroid/content/ComponentName;Landroid/content/ComponentName;)Z
-Landroid/app/admin/IDevicePolicyManager;->setMasterVolumeMuted(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager;->setMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager;->setMaximumTimeToLock(Landroid/content/ComponentName;JZ)V
-Landroid/app/admin/IDevicePolicyManager;->setMeteredDataDisabledPackages(Landroid/content/ComponentName;Ljava/util/List;)Ljava/util/List;
-Landroid/app/admin/IDevicePolicyManager;->setNetworkLoggingEnabled(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager;->setOrganizationColor(Landroid/content/ComponentName;I)V
-Landroid/app/admin/IDevicePolicyManager;->setOrganizationColorForUser(II)V
-Landroid/app/admin/IDevicePolicyManager;->setOrganizationName(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
-Landroid/app/admin/IDevicePolicyManager;->setOverrideApnsEnabled(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager;->setPackagesSuspended(Landroid/content/ComponentName;Ljava/lang/String;[Ljava/lang/String;Z)[Ljava/lang/String;
-Landroid/app/admin/IDevicePolicyManager;->setPasswordExpirationTimeout(Landroid/content/ComponentName;JZ)V
-Landroid/app/admin/IDevicePolicyManager;->setPasswordHistoryLength(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager;->setPasswordMinimumLength(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager;->setPasswordMinimumLetters(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager;->setPasswordMinimumLowerCase(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager;->setPasswordMinimumNonLetter(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager;->setPasswordMinimumNumeric(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager;->setPasswordMinimumSymbols(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager;->setPasswordMinimumUpperCase(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager;->setPasswordQuality(Landroid/content/ComponentName;IZ)V
-Landroid/app/admin/IDevicePolicyManager;->setPermissionGrantState(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Z
-Landroid/app/admin/IDevicePolicyManager;->setPermissionPolicy(Landroid/content/ComponentName;Ljava/lang/String;I)V
-Landroid/app/admin/IDevicePolicyManager;->setPermittedAccessibilityServices(Landroid/content/ComponentName;Ljava/util/List;)Z
-Landroid/app/admin/IDevicePolicyManager;->setPermittedCrossProfileNotificationListeners(Landroid/content/ComponentName;Ljava/util/List;)Z
-Landroid/app/admin/IDevicePolicyManager;->setPermittedInputMethods(Landroid/content/ComponentName;Ljava/util/List;)Z
-Landroid/app/admin/IDevicePolicyManager;->setProfileEnabled(Landroid/content/ComponentName;)V
-Landroid/app/admin/IDevicePolicyManager;->setProfileName(Landroid/content/ComponentName;Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager;->setProfileOwner(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-Landroid/app/admin/IDevicePolicyManager;->setRecommendedGlobalProxy(Landroid/content/ComponentName;Landroid/net/ProxyInfo;)V
-Landroid/app/admin/IDevicePolicyManager;->setRequiredStrongAuthTimeout(Landroid/content/ComponentName;JZ)V
-Landroid/app/admin/IDevicePolicyManager;->setResetPasswordToken(Landroid/content/ComponentName;[B)Z
-Landroid/app/admin/IDevicePolicyManager;->setRestrictionsProvider(Landroid/content/ComponentName;Landroid/content/ComponentName;)V
-Landroid/app/admin/IDevicePolicyManager;->setScreenCaptureDisabled(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager;->setSecureSetting(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager;->setSecurityLoggingEnabled(Landroid/content/ComponentName;Z)V
-Landroid/app/admin/IDevicePolicyManager;->setShortSupportMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
-Landroid/app/admin/IDevicePolicyManager;->setStartUserSessionMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
-Landroid/app/admin/IDevicePolicyManager;->setStatusBarDisabled(Landroid/content/ComponentName;Z)Z
-Landroid/app/admin/IDevicePolicyManager;->setStorageEncryption(Landroid/content/ComponentName;Z)I
-Landroid/app/admin/IDevicePolicyManager;->setSystemSetting(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager;->setSystemUpdatePolicy(Landroid/content/ComponentName;Landroid/app/admin/SystemUpdatePolicy;)V
-Landroid/app/admin/IDevicePolicyManager;->setTime(Landroid/content/ComponentName;J)Z
-Landroid/app/admin/IDevicePolicyManager;->setTimeZone(Landroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/app/admin/IDevicePolicyManager;->setTrustAgentConfiguration(Landroid/content/ComponentName;Landroid/content/ComponentName;Landroid/os/PersistableBundle;Z)V
-Landroid/app/admin/IDevicePolicyManager;->setUninstallBlocked(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Z)V
-Landroid/app/admin/IDevicePolicyManager;->setUserIcon(Landroid/content/ComponentName;Landroid/graphics/Bitmap;)V
-Landroid/app/admin/IDevicePolicyManager;->setUserProvisioningState(II)V
-Landroid/app/admin/IDevicePolicyManager;->setUserRestriction(Landroid/content/ComponentName;Ljava/lang/String;Z)V
-Landroid/app/admin/IDevicePolicyManager;->startManagedQuickContact(Ljava/lang/String;JZJLandroid/content/Intent;)V
-Landroid/app/admin/IDevicePolicyManager;->startUserInBackground(Landroid/content/ComponentName;Landroid/os/UserHandle;)I
-Landroid/app/admin/IDevicePolicyManager;->stopUser(Landroid/content/ComponentName;Landroid/os/UserHandle;)I
-Landroid/app/admin/IDevicePolicyManager;->switchUser(Landroid/content/ComponentName;Landroid/os/UserHandle;)Z
-Landroid/app/admin/IDevicePolicyManager;->transferOwnership(Landroid/content/ComponentName;Landroid/content/ComponentName;Landroid/os/PersistableBundle;)V
-Landroid/app/admin/IDevicePolicyManager;->uninstallCaCerts(Landroid/content/ComponentName;Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager;->uninstallPackageWithActiveAdmins(Ljava/lang/String;)V
-Landroid/app/admin/IDevicePolicyManager;->updateOverrideApn(Landroid/content/ComponentName;ILandroid/telephony/data/ApnSetting;)Z
-Landroid/app/admin/IDevicePolicyManager;->wipeDataWithReason(ILjava/lang/String;)V
-Landroid/app/admin/NetworkEvent;-><init>()V
-Landroid/app/admin/NetworkEvent;-><init>(Ljava/lang/String;J)V
-Landroid/app/admin/NetworkEvent;->mId:J
-Landroid/app/admin/NetworkEvent;->mPackageName:Ljava/lang/String;
-Landroid/app/admin/NetworkEvent;->mTimestamp:J
-Landroid/app/admin/NetworkEvent;->PARCEL_TOKEN_CONNECT_EVENT:I
-Landroid/app/admin/NetworkEvent;->PARCEL_TOKEN_DNS_EVENT:I
-Landroid/app/admin/NetworkEvent;->setId(J)V
-Landroid/app/admin/PasswordMetrics$CharacterCatagory;
-Landroid/app/admin/PasswordMetrics;
-Landroid/app/admin/PasswordMetrics;-><init>()V
-Landroid/app/admin/PasswordMetrics;-><init>(II)V
-Landroid/app/admin/PasswordMetrics;-><init>(IIIIIIII)V
-Landroid/app/admin/PasswordMetrics;-><init>(Landroid/os/Parcel;)V
-Landroid/app/admin/PasswordMetrics;->categoryChar(C)I
-Landroid/app/admin/PasswordMetrics;->CHAR_DIGIT:I
-Landroid/app/admin/PasswordMetrics;->CHAR_LOWER_CASE:I
-Landroid/app/admin/PasswordMetrics;->CHAR_SYMBOL:I
-Landroid/app/admin/PasswordMetrics;->CHAR_UPPER_CASE:I
-Landroid/app/admin/PasswordMetrics;->computeForPassword(Ljava/lang/String;)Landroid/app/admin/PasswordMetrics;
-Landroid/app/admin/PasswordMetrics;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/admin/PasswordMetrics;->isDefault()Z
-Landroid/app/admin/PasswordMetrics;->length:I
-Landroid/app/admin/PasswordMetrics;->letters:I
-Landroid/app/admin/PasswordMetrics;->lowerCase:I
-Landroid/app/admin/PasswordMetrics;->maxDiffCategory(I)I
-Landroid/app/admin/PasswordMetrics;->maxLengthSequence(Ljava/lang/String;)I
-Landroid/app/admin/PasswordMetrics;->MAX_ALLOWED_SEQUENCE:I
-Landroid/app/admin/PasswordMetrics;->nonLetter:I
-Landroid/app/admin/PasswordMetrics;->numeric:I
-Landroid/app/admin/PasswordMetrics;->quality:I
-Landroid/app/admin/PasswordMetrics;->symbols:I
-Landroid/app/admin/PasswordMetrics;->upperCase:I
-Landroid/app/admin/SecurityLog$SecurityEvent;-><init>(Landroid/os/Parcel;)V
-Landroid/app/admin/SecurityLog$SecurityEvent;->getSuccess()Z
-Landroid/app/admin/SecurityLog$SecurityEvent;->mEvent:Landroid/util/EventLog$Event;
-Landroid/app/admin/SecurityLog$SecurityEvent;->mId:J
-Landroid/app/admin/SecurityLog$SecurityEvent;->setId(J)V
-Landroid/app/admin/SecurityLog$SecurityLogLevel;
-Landroid/app/admin/SecurityLog$SecurityLogTag;
-Landroid/app/admin/SecurityLog;->getLoggingEnabledProperty()Z
-Landroid/app/admin/SecurityLog;->isLoggingEnabled()Z
-Landroid/app/admin/SecurityLog;->PROPERTY_LOGGING_ENABLED:Ljava/lang/String;
-Landroid/app/admin/SecurityLog;->readEvents(Ljava/util/Collection;)V
-Landroid/app/admin/SecurityLog;->readEventsOnWrapping(JLjava/util/Collection;)V
-Landroid/app/admin/SecurityLog;->readEventsSince(JLjava/util/Collection;)V
-Landroid/app/admin/SecurityLog;->readPreviousEvents(Ljava/util/Collection;)V
-Landroid/app/admin/SecurityLog;->setLoggingEnabledProperty(Z)V
-Landroid/app/admin/SecurityLog;->writeEvent(ILjava/lang/String;)I
-Landroid/app/admin/SecurityLog;->writeEvent(I[[Ljava/lang/Object;)I
-Landroid/app/admin/SecurityLogTags;
-Landroid/app/admin/SecurityLogTags;-><init>()V
-Landroid/app/admin/SecurityLogTags;->SECURITY_ADB_SHELL_COMMAND:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_ADB_SHELL_INTERACTIVE:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_ADB_SYNC_RECV:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_ADB_SYNC_SEND:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_APP_PROCESS_START:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_CERT_AUTHORITY_INSTALLED:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_CERT_AUTHORITY_REMOVED:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_CERT_VALIDATION_FAILURE:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_CRYPTO_SELF_TEST_COMPLETED:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_KEYGUARD_DISABLED_FEATURES_SET:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_KEYGUARD_DISMISSED:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_KEYGUARD_DISMISS_AUTH_ATTEMPT:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_KEYGUARD_SECURED:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_KEY_DESTROYED:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_KEY_GENERATED:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_KEY_IMPORTED:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_KEY_INTEGRITY_VIOLATION:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_LOGGING_STARTED:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_LOGGING_STOPPED:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_LOG_BUFFER_SIZE_CRITICAL:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_MAX_PASSWORD_ATTEMPTS_SET:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_MAX_SCREEN_LOCK_TIMEOUT_SET:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_MEDIA_MOUNTED:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_MEDIA_UNMOUNTED:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_OS_SHUTDOWN:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_OS_STARTUP:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_PASSWORD_COMPLEXITY_SET:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_PASSWORD_EXPIRATION_SET:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_PASSWORD_HISTORY_LENGTH_SET:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_REMOTE_LOCK:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_USER_RESTRICTION_ADDED:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_USER_RESTRICTION_REMOVED:I
-Landroid/app/admin/SecurityLogTags;->SECURITY_WIPE_FAILED:I
-Landroid/app/admin/SecurityLogTags;->writeSecurityAdbShellCommand(Ljava/lang/String;)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityAdbShellInteractive()V
-Landroid/app/admin/SecurityLogTags;->writeSecurityAdbSyncRecv(Ljava/lang/String;)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityAdbSyncSend(Ljava/lang/String;)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityAppProcessStart(Ljava/lang/String;JIILjava/lang/String;Ljava/lang/String;)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityCertAuthorityInstalled(ILjava/lang/String;)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityCertAuthorityRemoved(ILjava/lang/String;)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityCertValidationFailure(Ljava/lang/String;)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityCryptoSelfTestCompleted(I)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityKeyDestroyed(ILjava/lang/String;I)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityKeyGenerated(ILjava/lang/String;I)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityKeyguardDisabledFeaturesSet(Ljava/lang/String;III)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityKeyguardDismissAuthAttempt(II)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityKeyguardDismissed()V
-Landroid/app/admin/SecurityLogTags;->writeSecurityKeyguardSecured()V
-Landroid/app/admin/SecurityLogTags;->writeSecurityKeyImported(ILjava/lang/String;I)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityKeyIntegrityViolation(Ljava/lang/String;I)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityLogBufferSizeCritical()V
-Landroid/app/admin/SecurityLogTags;->writeSecurityLoggingStarted()V
-Landroid/app/admin/SecurityLogTags;->writeSecurityLoggingStopped()V
-Landroid/app/admin/SecurityLogTags;->writeSecurityMaxPasswordAttemptsSet(Ljava/lang/String;III)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityMaxScreenLockTimeoutSet(Ljava/lang/String;IIJ)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityMediaMounted(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityMediaUnmounted(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityOsShutdown()V
-Landroid/app/admin/SecurityLogTags;->writeSecurityOsStartup(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityPasswordComplexitySet(Ljava/lang/String;IIIIIIIIII)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityPasswordExpirationSet(Ljava/lang/String;IIJ)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityPasswordHistoryLengthSet(Ljava/lang/String;III)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityRemoteLock(Ljava/lang/String;II)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityUserRestrictionAdded(Ljava/lang/String;ILjava/lang/String;)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityUserRestrictionRemoved(Ljava/lang/String;ILjava/lang/String;)V
-Landroid/app/admin/SecurityLogTags;->writeSecurityWipeFailed(Ljava/lang/String;I)V
-Landroid/app/admin/SystemUpdateInfo$SecurityPatchState;
-Landroid/app/admin/SystemUpdateInfo;-><init>(JI)V
-Landroid/app/admin/SystemUpdateInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/app/admin/SystemUpdateInfo;->ATTR_ORIGINAL_BUILD:Ljava/lang/String;
-Landroid/app/admin/SystemUpdateInfo;->ATTR_RECEIVED_TIME:Ljava/lang/String;
-Landroid/app/admin/SystemUpdateInfo;->ATTR_SECURITY_PATCH_STATE:Ljava/lang/String;
-Landroid/app/admin/SystemUpdateInfo;->mReceivedTime:J
-Landroid/app/admin/SystemUpdateInfo;->mSecurityPatchState:I
-Landroid/app/admin/SystemUpdateInfo;->of(J)Landroid/app/admin/SystemUpdateInfo;
-Landroid/app/admin/SystemUpdateInfo;->of(JZ)Landroid/app/admin/SystemUpdateInfo;
-Landroid/app/admin/SystemUpdateInfo;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/app/admin/SystemUpdateInfo;
-Landroid/app/admin/SystemUpdateInfo;->securityPatchStateToString(I)Ljava/lang/String;
-Landroid/app/admin/SystemUpdateInfo;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;)V
-Landroid/app/admin/SystemUpdatePolicy$InstallationOption$InstallationOptionType;
-Landroid/app/admin/SystemUpdatePolicy$InstallationOption;-><init>(IJ)V
-Landroid/app/admin/SystemUpdatePolicy$InstallationOption;->limitEffectiveTime(J)V
-Landroid/app/admin/SystemUpdatePolicy$InstallationOption;->mEffectiveTime:J
-Landroid/app/admin/SystemUpdatePolicy$InstallationOption;->mType:I
-Landroid/app/admin/SystemUpdatePolicy$SystemUpdatePolicyType;
-Landroid/app/admin/SystemUpdatePolicy$ValidationFailedException$ValidationFailureType;
-Landroid/app/admin/SystemUpdatePolicy$ValidationFailedException;-><init>(ILjava/lang/String;)V
-Landroid/app/admin/SystemUpdatePolicy$ValidationFailedException;->combinedPeriodTooClose(Ljava/lang/String;)Landroid/app/admin/SystemUpdatePolicy$ValidationFailedException;
-Landroid/app/admin/SystemUpdatePolicy$ValidationFailedException;->combinedPeriodTooLong(Ljava/lang/String;)Landroid/app/admin/SystemUpdatePolicy$ValidationFailedException;
-Landroid/app/admin/SystemUpdatePolicy$ValidationFailedException;->duplicateOrOverlapPeriods()Landroid/app/admin/SystemUpdatePolicy$ValidationFailedException;
-Landroid/app/admin/SystemUpdatePolicy$ValidationFailedException;->ERROR_NONE:I
-Landroid/app/admin/SystemUpdatePolicy$ValidationFailedException;->freezePeriodTooClose(Ljava/lang/String;)Landroid/app/admin/SystemUpdatePolicy$ValidationFailedException;
-Landroid/app/admin/SystemUpdatePolicy$ValidationFailedException;->freezePeriodTooLong(Ljava/lang/String;)Landroid/app/admin/SystemUpdatePolicy$ValidationFailedException;
-Landroid/app/admin/SystemUpdatePolicy$ValidationFailedException;->mErrorCode:I
-Landroid/app/admin/SystemUpdatePolicy;-><init>()V
-Landroid/app/admin/SystemUpdatePolicy;->dateToMillis(Ljava/time/LocalDate;)J
-Landroid/app/admin/SystemUpdatePolicy;->FREEZE_PERIOD_MAX_LENGTH:I
-Landroid/app/admin/SystemUpdatePolicy;->FREEZE_PERIOD_MIN_SEPARATION:I
-Landroid/app/admin/SystemUpdatePolicy;->getCurrentFreezePeriod(Ljava/time/LocalDate;)Landroid/util/Pair;
-Landroid/app/admin/SystemUpdatePolicy;->getInstallationOptionRegardlessFreezeAt(J)Landroid/app/admin/SystemUpdatePolicy$InstallationOption;
-Landroid/app/admin/SystemUpdatePolicy;->isValid()Z
-Landroid/app/admin/SystemUpdatePolicy;->KEY_FREEZE_END:Ljava/lang/String;
-Landroid/app/admin/SystemUpdatePolicy;->KEY_FREEZE_START:Ljava/lang/String;
-Landroid/app/admin/SystemUpdatePolicy;->KEY_FREEZE_TAG:Ljava/lang/String;
-Landroid/app/admin/SystemUpdatePolicy;->KEY_INSTALL_WINDOW_END:Ljava/lang/String;
-Landroid/app/admin/SystemUpdatePolicy;->KEY_INSTALL_WINDOW_START:Ljava/lang/String;
-Landroid/app/admin/SystemUpdatePolicy;->KEY_POLICY_TYPE:Ljava/lang/String;
-Landroid/app/admin/SystemUpdatePolicy;->mFreezePeriods:Ljava/util/ArrayList;
-Landroid/app/admin/SystemUpdatePolicy;->millisToDate(J)Ljava/time/LocalDate;
-Landroid/app/admin/SystemUpdatePolicy;->mMaintenanceWindowEnd:I
-Landroid/app/admin/SystemUpdatePolicy;->mMaintenanceWindowStart:I
-Landroid/app/admin/SystemUpdatePolicy;->mPolicyType:I
-Landroid/app/admin/SystemUpdatePolicy;->restoreFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/app/admin/SystemUpdatePolicy;
-Landroid/app/admin/SystemUpdatePolicy;->roundUpLeapDay(Ljava/time/LocalDate;)Ljava/time/LocalDate;
-Landroid/app/admin/SystemUpdatePolicy;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-Landroid/app/admin/SystemUpdatePolicy;->TAG:Ljava/lang/String;
-Landroid/app/admin/SystemUpdatePolicy;->timeUntilNextFreezePeriod(J)J
-Landroid/app/admin/SystemUpdatePolicy;->TYPE_UNKNOWN:I
-Landroid/app/admin/SystemUpdatePolicy;->validateAgainstPreviousFreezePeriod(Ljava/time/LocalDate;Ljava/time/LocalDate;Ljava/time/LocalDate;)V
-Landroid/app/admin/SystemUpdatePolicy;->validateFreezePeriods()V
-Landroid/app/admin/SystemUpdatePolicy;->validateType()V
-Landroid/app/admin/SystemUpdatePolicy;->WINDOW_BOUNDARY:I
-Landroid/app/AlarmClockInfoProto;
-Landroid/app/AlarmClockInfoProto;-><init>()V
-Landroid/app/AlarmClockInfoProto;->SHOW_INTENT:J
-Landroid/app/AlarmClockInfoProto;->TRIGGER_TIME_MS:J
-Landroid/app/AlarmManager$AlarmClockInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/app/AlarmManager$AlarmClockInfo;->mShowIntent:Landroid/app/PendingIntent;
-Landroid/app/AlarmManager$AlarmClockInfo;->mTriggerTime:J
-Landroid/app/AlarmManager$AlarmClockInfo;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/app/AlarmManager$AlarmType;
-Landroid/app/AlarmManager$ListenerWrapper;
-Landroid/app/AlarmManager$ListenerWrapper;-><init>(Landroid/app/AlarmManager$OnAlarmListener;)V
-Landroid/app/AlarmManager$ListenerWrapper;->cancel()V
-Landroid/app/AlarmManager$ListenerWrapper;->doAlarm(Landroid/app/IAlarmCompleteListener;)V
-Landroid/app/AlarmManager$ListenerWrapper;->mCompletion:Landroid/app/IAlarmCompleteListener;
-Landroid/app/AlarmManager$ListenerWrapper;->mHandler:Landroid/os/Handler;
-Landroid/app/AlarmManager$ListenerWrapper;->mListener:Landroid/app/AlarmManager$OnAlarmListener;
-Landroid/app/AlarmManager$ListenerWrapper;->setHandler(Landroid/os/Handler;)V
-Landroid/app/AlarmManager;-><init>(Landroid/app/IAlarmManager;Landroid/content/Context;)V
-Landroid/app/AlarmManager;->FLAG_ALLOW_WHILE_IDLE:I
-Landroid/app/AlarmManager;->getNextAlarmClock(I)Landroid/app/AlarmManager$AlarmClockInfo;
-Landroid/app/AlarmManager;->getNextWakeFromIdleTime()J
-Landroid/app/AlarmManager;->legacyExactLength()J
-Landroid/app/AlarmManager;->mAlwaysExact:Z
-Landroid/app/AlarmManager;->mContext:Landroid/content/Context;
-Landroid/app/AlarmManager;->mMainThreadHandler:Landroid/os/Handler;
-Landroid/app/AlarmManager;->mPackageName:Ljava/lang/String;
-Landroid/app/AlarmManager;->mTargetSdkVersion:I
-Landroid/app/AlarmManager;->setIdleUntil(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V
-Landroid/app/AlarmManager;->setImpl(IJJJILandroid/app/PendingIntent;Landroid/app/AlarmManager$OnAlarmListener;Ljava/lang/String;Landroid/os/Handler;Landroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;)V
-Landroid/app/AlarmManager;->sWrappers:Landroid/util/ArrayMap;
-Landroid/app/AlarmManager;->TAG:Ljava/lang/String;
-Landroid/app/AlarmManagerProto;
-Landroid/app/AlarmManagerProto;-><init>()V
-Landroid/app/AlarmManagerProto;->ELAPSED_REALTIME:I
-Landroid/app/AlarmManagerProto;->ELAPSED_REALTIME_WAKEUP:I
-Landroid/app/AlarmManagerProto;->RTC:I
-Landroid/app/AlarmManagerProto;->RTC_WAKEUP:I
-Landroid/app/AlertDialog;-><init>(Landroid/content/Context;IZ)V
-Landroid/app/AlertDialog;->LAYOUT_HINT_NONE:I
-Landroid/app/AlertDialog;->LAYOUT_HINT_SIDE:I
-Landroid/app/AlertDialog;->resolveDialogTheme(Landroid/content/Context;I)I
-Landroid/app/AlertDialog;->setButtonPanelLayoutHint(I)V
-Landroid/app/AlertDialog;->setMessageHyphenationFrequency(I)V
-Landroid/app/AlertDialog;->setMessageMovementMethod(Landroid/text/method/MovementMethod;)V
-Landroid/app/AliasActivity;->ALIAS_META_DATA:Ljava/lang/String;
-Landroid/app/AliasActivity;->parseAlias(Lorg/xmlpull/v1/XmlPullParser;)Landroid/content/Intent;
-Landroid/app/AppComponentFactory;->DEFAULT:Landroid/app/AppComponentFactory;
-Landroid/app/AppGlobals;
-Landroid/app/AppGlobals;-><init>()V
-Landroid/app/AppGlobals;->getIntCoreSetting(Ljava/lang/String;I)I
-Landroid/app/Application;->collectComponentCallbacks()[Ljava/lang/Object;
-Landroid/app/Application;->dispatchOnProvideAssistData(Landroid/app/Activity;Landroid/os/Bundle;)V
-Landroid/app/Application;->getAutofillClient()Landroid/view/autofill/AutofillManager$AutofillClient;
-Landroid/app/Application;->TAG:Ljava/lang/String;
-Landroid/app/ApplicationErrorReport$CrashInfo;->appendStackTrace(Ljava/lang/String;)V
-Landroid/app/ApplicationErrorReport$CrashInfo;->sanitizeString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;
-Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;-><init>()V
-Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;-><init>(Ljava/lang/Throwable;)V
-Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/ApplicationErrorReport;-><init>(Landroid/os/Parcel;)V
-Landroid/app/ApplicationErrorReport;->DEFAULT_ERROR_RECEIVER_PROPERTY:Ljava/lang/String;
-Landroid/app/ApplicationErrorReport;->getErrorReportReceiver(Landroid/content/pm/PackageManager;Ljava/lang/String;Ljava/lang/String;)Landroid/content/ComponentName;
-Landroid/app/ApplicationErrorReport;->SYSTEM_APPS_ERROR_RECEIVER_PROPERTY:Ljava/lang/String;
-Landroid/app/ApplicationLoaders;
-Landroid/app/ApplicationLoaders;-><init>()V
-Landroid/app/ApplicationLoaders;->addNative(Ljava/lang/ClassLoader;Ljava/util/Collection;)V
-Landroid/app/ApplicationLoaders;->addPath(Ljava/lang/ClassLoader;Ljava/lang/String;)V
-Landroid/app/ApplicationLoaders;->createAndCacheWebViewClassLoader(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/ClassLoader;
-Landroid/app/ApplicationLoaders;->gApplicationLoaders:Landroid/app/ApplicationLoaders;
-Landroid/app/ApplicationLoaders;->getClassLoader(Ljava/lang/String;IZLjava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/ClassLoader;
-Landroid/app/ApplicationLoaders;->getClassLoader(Ljava/lang/String;IZLjava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/ClassLoader;
-Landroid/app/ApplicationPackageManager$DexModuleRegisterCallbackDelegate;
-Landroid/app/ApplicationPackageManager$DexModuleRegisterCallbackDelegate;-><init>(Landroid/content/pm/PackageManager$DexModuleRegisterCallback;)V
-Landroid/app/ApplicationPackageManager$DexModuleRegisterCallbackDelegate;->callback:Landroid/content/pm/PackageManager$DexModuleRegisterCallback;
-Landroid/app/ApplicationPackageManager$DexModuleRegisterCallbackDelegate;->mHandler:Landroid/os/Handler;
-Landroid/app/ApplicationPackageManager$DexModuleRegisterCallbackDelegate;->MSG_DEX_MODULE_REGISTERED:I
-Landroid/app/ApplicationPackageManager$DexModuleRegisterCallbackDelegate;->onDexModuleRegistered(Ljava/lang/String;ZLjava/lang/String;)V
-Landroid/app/ApplicationPackageManager$DexModuleRegisterResult;
-Landroid/app/ApplicationPackageManager$DexModuleRegisterResult;-><init>(Ljava/lang/String;ZLjava/lang/String;)V
-Landroid/app/ApplicationPackageManager$DexModuleRegisterResult;->dexModulePath:Ljava/lang/String;
-Landroid/app/ApplicationPackageManager$DexModuleRegisterResult;->message:Ljava/lang/String;
-Landroid/app/ApplicationPackageManager$DexModuleRegisterResult;->success:Z
-Landroid/app/ApplicationPackageManager$MoveCallbackDelegate;
-Landroid/app/ApplicationPackageManager$MoveCallbackDelegate;-><init>(Landroid/content/pm/PackageManager$MoveCallback;Landroid/os/Looper;)V
-Landroid/app/ApplicationPackageManager$MoveCallbackDelegate;->mCallback:Landroid/content/pm/PackageManager$MoveCallback;
-Landroid/app/ApplicationPackageManager$MoveCallbackDelegate;->mHandler:Landroid/os/Handler;
-Landroid/app/ApplicationPackageManager$MoveCallbackDelegate;->MSG_CREATED:I
-Landroid/app/ApplicationPackageManager$MoveCallbackDelegate;->MSG_STATUS_CHANGED:I
-Landroid/app/ApplicationPackageManager$MoveCallbackDelegate;->onCreated(ILandroid/os/Bundle;)V
-Landroid/app/ApplicationPackageManager$MoveCallbackDelegate;->onStatusChanged(IIJ)V
-Landroid/app/ApplicationPackageManager$OnPermissionsChangeListenerDelegate;
-Landroid/app/ApplicationPackageManager$OnPermissionsChangeListenerDelegate;-><init>(Landroid/content/pm/PackageManager$OnPermissionsChangedListener;Landroid/os/Looper;)V
-Landroid/app/ApplicationPackageManager$OnPermissionsChangeListenerDelegate;->mHandler:Landroid/os/Handler;
-Landroid/app/ApplicationPackageManager$OnPermissionsChangeListenerDelegate;->mListener:Landroid/content/pm/PackageManager$OnPermissionsChangedListener;
-Landroid/app/ApplicationPackageManager$OnPermissionsChangeListenerDelegate;->MSG_PERMISSIONS_CHANGED:I
-Landroid/app/ApplicationPackageManager$OnPermissionsChangeListenerDelegate;->onPermissionsChanged(I)V
-Landroid/app/ApplicationPackageManager$ResourceName;
-Landroid/app/ApplicationPackageManager$ResourceName;-><init>(Landroid/content/pm/ApplicationInfo;I)V
-Landroid/app/ApplicationPackageManager$ResourceName;-><init>(Landroid/content/pm/ComponentInfo;I)V
-Landroid/app/ApplicationPackageManager$ResourceName;-><init>(Landroid/content/pm/ResolveInfo;I)V
-Landroid/app/ApplicationPackageManager$ResourceName;-><init>(Ljava/lang/String;I)V
-Landroid/app/ApplicationPackageManager$ResourceName;->iconId:I
-Landroid/app/ApplicationPackageManager$ResourceName;->packageName:Ljava/lang/String;
-Landroid/app/ApplicationPackageManager;
-Landroid/app/ApplicationPackageManager;->addCrossProfileIntentFilter(Landroid/content/IntentFilter;III)V
-Landroid/app/ApplicationPackageManager;->addPreferredActivityAsUser(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V
-Landroid/app/ApplicationPackageManager;->clearApplicationUserData(Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;)V
-Landroid/app/ApplicationPackageManager;->clearCrossProfileIntentFilters(I)V
-Landroid/app/ApplicationPackageManager;->CORP_BADGE_LABEL_RES_ID:[I
-Landroid/app/ApplicationPackageManager;->DEBUG_ICONS:Z
-Landroid/app/ApplicationPackageManager;->DEFAULT_EPHEMERAL_COOKIE_MAX_SIZE_BYTES:I
-Landroid/app/ApplicationPackageManager;->deleteApplicationCacheFiles(Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;)V
-Landroid/app/ApplicationPackageManager;->deleteApplicationCacheFilesAsUser(Ljava/lang/String;ILandroid/content/pm/IPackageDataObserver;)V
-Landroid/app/ApplicationPackageManager;->deletePackageAsUser(Ljava/lang/String;Landroid/content/pm/IPackageDeleteObserver;II)V
-Landroid/app/ApplicationPackageManager;->flushPackageRestrictionsAsUser(I)V
-Landroid/app/ApplicationPackageManager;->freeStorage(Ljava/lang/String;JLandroid/content/IntentSender;)V
-Landroid/app/ApplicationPackageManager;->freeStorageAndNotify(Ljava/lang/String;JLandroid/content/pm/IPackageDataObserver;)V
-Landroid/app/ApplicationPackageManager;->getApplicationHiddenSettingAsUser(Ljava/lang/String;Landroid/os/UserHandle;)Z
-Landroid/app/ApplicationPackageManager;->getApplicationInfoAsUser(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
-Landroid/app/ApplicationPackageManager;->getBadgedDrawable(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/Rect;Z)Landroid/graphics/drawable/Drawable;
-Landroid/app/ApplicationPackageManager;->getCachedIcon(Landroid/app/ApplicationPackageManager$ResourceName;)Landroid/graphics/drawable/Drawable;
-Landroid/app/ApplicationPackageManager;->getCachedString(Landroid/app/ApplicationPackageManager$ResourceName;)Ljava/lang/CharSequence;
-Landroid/app/ApplicationPackageManager;->getCarLaunchIntentForPackage(Ljava/lang/String;)Landroid/content/Intent;
-Landroid/app/ApplicationPackageManager;->getDrawableForDensity(II)Landroid/graphics/drawable/Drawable;
-Landroid/app/ApplicationPackageManager;->getHomeActivities(Ljava/util/List;)Landroid/content/ComponentName;
-Landroid/app/ApplicationPackageManager;->getInstantAppAndroidId(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/lang/String;
-Landroid/app/ApplicationPackageManager;->getInstantAppCookieMaxSize()I
-Landroid/app/ApplicationPackageManager;->getKeySetByAlias(Ljava/lang/String;Ljava/lang/String;)Landroid/content/pm/KeySet;
-Landroid/app/ApplicationPackageManager;->getLaunchIntentForPackageAndCategory(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
-Landroid/app/ApplicationPackageManager;->getManagedProfileIconForDensity(Landroid/os/UserHandle;II)Landroid/graphics/drawable/Drawable;
-Landroid/app/ApplicationPackageManager;->getMoveStatus(I)I
-Landroid/app/ApplicationPackageManager;->getPackageCandidateVolumes(Landroid/content/pm/ApplicationInfo;)Ljava/util/List;
-Landroid/app/ApplicationPackageManager;->getPackageCandidateVolumes(Landroid/content/pm/ApplicationInfo;Landroid/os/storage/StorageManager;Landroid/content/pm/IPackageManager;)Ljava/util/List;
-Landroid/app/ApplicationPackageManager;->getPackageCurrentVolume(Landroid/content/pm/ApplicationInfo;Landroid/os/storage/StorageManager;)Landroid/os/storage/VolumeInfo;
-Landroid/app/ApplicationPackageManager;->getPackageInfoAsUser(Ljava/lang/String;II)Landroid/content/pm/PackageInfo;
-Landroid/app/ApplicationPackageManager;->getPackageUidAsUser(Ljava/lang/String;I)I
-Landroid/app/ApplicationPackageManager;->getPackageUidAsUser(Ljava/lang/String;II)I
-Landroid/app/ApplicationPackageManager;->getPrimaryStorageCandidateVolumes()Ljava/util/List;
-Landroid/app/ApplicationPackageManager;->getPrimaryStorageCurrentVolume()Landroid/os/storage/VolumeInfo;
-Landroid/app/ApplicationPackageManager;->getResourcesForApplicationAsUser(Ljava/lang/String;I)Landroid/content/res/Resources;
-Landroid/app/ApplicationPackageManager;->getSharedLibrariesAsUser(II)Ljava/util/List;
-Landroid/app/ApplicationPackageManager;->getSigningKeySet(Ljava/lang/String;)Landroid/content/pm/KeySet;
-Landroid/app/ApplicationPackageManager;->getSystemTextClassifierPackageName()Ljava/lang/String;
-Landroid/app/ApplicationPackageManager;->getUidForSharedUser(Ljava/lang/String;)I
-Landroid/app/ApplicationPackageManager;->getUserBadgeColor(Landroid/os/UserHandle;)I
-Landroid/app/ApplicationPackageManager;->getUserBadgeForDensity(Landroid/os/UserHandle;I)Landroid/graphics/drawable/Drawable;
-Landroid/app/ApplicationPackageManager;->getUserBadgeForDensityNoBackground(Landroid/os/UserHandle;I)Landroid/graphics/drawable/Drawable;
-Landroid/app/ApplicationPackageManager;->getUserId()I
-Landroid/app/ApplicationPackageManager;->getUserManager()Landroid/os/UserManager;
-Landroid/app/ApplicationPackageManager;->getVerifierDeviceIdentity()Landroid/content/pm/VerifierDeviceIdentity;
-Landroid/app/ApplicationPackageManager;->handlePackageBroadcast(I[Ljava/lang/String;Z)V
-Landroid/app/ApplicationPackageManager;->installExistingPackageAsUser(Ljava/lang/String;I)I
-Landroid/app/ApplicationPackageManager;->installExistingPackageAsUser(Ljava/lang/String;II)I
-Landroid/app/ApplicationPackageManager;->isAllow3rdPartyOnInternal(Landroid/content/Context;)Z
-Landroid/app/ApplicationPackageManager;->isForceAllowOnExternal(Landroid/content/Context;)Z
-Landroid/app/ApplicationPackageManager;->isManagedProfile(I)Z
-Landroid/app/ApplicationPackageManager;->isPackageAvailable(Ljava/lang/String;)Z
-Landroid/app/ApplicationPackageManager;->isPackageCandidateVolume(Landroid/app/ContextImpl;Landroid/content/pm/ApplicationInfo;Landroid/os/storage/VolumeInfo;Landroid/content/pm/IPackageManager;)Z
-Landroid/app/ApplicationPackageManager;->isPackageStateProtected(Ljava/lang/String;I)Z
-Landroid/app/ApplicationPackageManager;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
-Landroid/app/ApplicationPackageManager;->isPrimaryStorageCandidateVolume(Landroid/os/storage/VolumeInfo;)Z
-Landroid/app/ApplicationPackageManager;->isSignedBy(Ljava/lang/String;Landroid/content/pm/KeySet;)Z
-Landroid/app/ApplicationPackageManager;->isSignedByExactly(Ljava/lang/String;Landroid/content/pm/KeySet;)Z
-Landroid/app/ApplicationPackageManager;->isUpgrade()Z
-Landroid/app/ApplicationPackageManager;->loadItemIcon(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
-Landroid/app/ApplicationPackageManager;->loadUnbadgedItemIcon(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
-Landroid/app/ApplicationPackageManager;->mArtManager:Landroid/content/pm/dex/ArtManager;
-Landroid/app/ApplicationPackageManager;->maybeAdjustApplicationInfo(Landroid/content/pm/ApplicationInfo;)Landroid/content/pm/ApplicationInfo;
-Landroid/app/ApplicationPackageManager;->mCachedSafeMode:I
-Landroid/app/ApplicationPackageManager;->mContext:Landroid/app/ContextImpl;
-Landroid/app/ApplicationPackageManager;->mDelegates:Ljava/util/ArrayList;
-Landroid/app/ApplicationPackageManager;->mInstaller:Landroid/content/pm/PackageInstaller;
-Landroid/app/ApplicationPackageManager;->mLock:Ljava/lang/Object;
-Landroid/app/ApplicationPackageManager;->movePackage(Ljava/lang/String;Landroid/os/storage/VolumeInfo;)I
-Landroid/app/ApplicationPackageManager;->movePrimaryStorage(Landroid/os/storage/VolumeInfo;)I
-Landroid/app/ApplicationPackageManager;->mPermissionListeners:Ljava/util/Map;
-Landroid/app/ApplicationPackageManager;->mPermissionsControllerPackageName:Ljava/lang/String;
-Landroid/app/ApplicationPackageManager;->mUserManager:Landroid/os/UserManager;
-Landroid/app/ApplicationPackageManager;->putCachedIcon(Landroid/app/ApplicationPackageManager$ResourceName;Landroid/graphics/drawable/Drawable;)V
-Landroid/app/ApplicationPackageManager;->putCachedString(Landroid/app/ApplicationPackageManager$ResourceName;Ljava/lang/CharSequence;)V
-Landroid/app/ApplicationPackageManager;->queryBroadcastReceiversAsUser(Landroid/content/Intent;II)Ljava/util/List;
-Landroid/app/ApplicationPackageManager;->queryContentProviders(Ljava/lang/String;IILjava/lang/String;)Ljava/util/List;
-Landroid/app/ApplicationPackageManager;->queryIntentActivitiesAsUser(Landroid/content/Intent;II)Ljava/util/List;
-Landroid/app/ApplicationPackageManager;->queryIntentContentProvidersAsUser(Landroid/content/Intent;II)Ljava/util/List;
-Landroid/app/ApplicationPackageManager;->queryIntentServicesAsUser(Landroid/content/Intent;II)Ljava/util/List;
-Landroid/app/ApplicationPackageManager;->registerMoveCallback(Landroid/content/pm/PackageManager$MoveCallback;Landroid/os/Handler;)V
-Landroid/app/ApplicationPackageManager;->replacePreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;)V
-Landroid/app/ApplicationPackageManager;->replacePreferredActivityAsUser(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V
-Landroid/app/ApplicationPackageManager;->resolveActivityAsUser(Landroid/content/Intent;II)Landroid/content/pm/ResolveInfo;
-Landroid/app/ApplicationPackageManager;->resolveContentProviderAsUser(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
-Landroid/app/ApplicationPackageManager;->resolveServiceAsUser(Landroid/content/Intent;II)Landroid/content/pm/ResolveInfo;
-Landroid/app/ApplicationPackageManager;->sDefaultFlags:I
-Landroid/app/ApplicationPackageManager;->setApplicationHiddenSettingAsUser(Ljava/lang/String;ZLandroid/os/UserHandle;)Z
-Landroid/app/ApplicationPackageManager;->sIconCache:Landroid/util/ArrayMap;
-Landroid/app/ApplicationPackageManager;->sStringCache:Landroid/util/ArrayMap;
-Landroid/app/ApplicationPackageManager;->sSync:Ljava/lang/Object;
-Landroid/app/ApplicationPackageManager;->TAG:Ljava/lang/String;
-Landroid/app/ApplicationPackageManager;->unregisterMoveCallback(Landroid/content/pm/PackageManager$MoveCallback;)V
-Landroid/app/ApplicationThreadConstants;
-Landroid/app/ApplicationThreadConstants;-><init>()V
-Landroid/app/ApplicationThreadConstants;->BACKUP_MODE_FULL:I
-Landroid/app/ApplicationThreadConstants;->BACKUP_MODE_INCREMENTAL:I
-Landroid/app/ApplicationThreadConstants;->BACKUP_MODE_RESTORE:I
-Landroid/app/ApplicationThreadConstants;->BACKUP_MODE_RESTORE_FULL:I
-Landroid/app/ApplicationThreadConstants;->DEBUG_OFF:I
-Landroid/app/ApplicationThreadConstants;->DEBUG_ON:I
-Landroid/app/ApplicationThreadConstants;->DEBUG_WAIT:I
-Landroid/app/ApplicationThreadConstants;->EXTERNAL_STORAGE_UNAVAILABLE:I
-Landroid/app/ApplicationThreadConstants;->PACKAGE_REMOVED:I
-Landroid/app/ApplicationThreadConstants;->PACKAGE_REMOVED_DONT_KILL:I
-Landroid/app/ApplicationThreadConstants;->PACKAGE_REPLACED:I
-Landroid/app/AppOpsManager$OnOpChangedInternalListener;
-Landroid/app/AppOpsManager$OnOpChangedInternalListener;-><init>()V
-Landroid/app/AppOpsManager$OnOpChangedInternalListener;->onOpChanged(ILjava/lang/String;)V
-Landroid/app/AppOpsManager$OpEntry;
-Landroid/app/AppOpsManager$OpEntry;-><init>(IIJJIILjava/lang/String;)V
-Landroid/app/AppOpsManager$OpEntry;-><init>(II[J[JIILjava/lang/String;)V
-Landroid/app/AppOpsManager$OpEntry;-><init>(II[J[JIZILjava/lang/String;)V
-Landroid/app/AppOpsManager$OpEntry;-><init>(Landroid/os/Parcel;)V
-Landroid/app/AppOpsManager$OpEntry;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/AppOpsManager$OpEntry;->getLastRejectTimeFor(I)J
-Landroid/app/AppOpsManager$OpEntry;->getLastTimeFor(I)J
-Landroid/app/AppOpsManager$OpEntry;->getProxyPackageName()Ljava/lang/String;
-Landroid/app/AppOpsManager$OpEntry;->getProxyUid()I
-Landroid/app/AppOpsManager$OpEntry;->mDuration:I
-Landroid/app/AppOpsManager$OpEntry;->mMode:I
-Landroid/app/AppOpsManager$OpEntry;->mOp:I
-Landroid/app/AppOpsManager$OpEntry;->mProxyPackageName:Ljava/lang/String;
-Landroid/app/AppOpsManager$OpEntry;->mProxyUid:I
-Landroid/app/AppOpsManager$OpEntry;->mRejectTimes:[J
-Landroid/app/AppOpsManager$OpEntry;->mRunning:Z
-Landroid/app/AppOpsManager$OpEntry;->mTimes:[J
-Landroid/app/AppOpsManager$PackageOps;
-Landroid/app/AppOpsManager$PackageOps;-><init>(Landroid/os/Parcel;)V
-Landroid/app/AppOpsManager$PackageOps;->mEntries:Ljava/util/List;
-Landroid/app/AppOpsManager$PackageOps;->mPackageName:Ljava/lang/String;
-Landroid/app/AppOpsManager$PackageOps;->mUid:I
-Landroid/app/AppOpsManager;-><init>(Landroid/content/Context;Lcom/android/internal/app/IAppOpsService;)V
-Landroid/app/AppOpsManager;->buildSecurityExceptionMsg(IILjava/lang/String;)Ljava/lang/String;
-Landroid/app/AppOpsManager;->checkAudioOp(IIILjava/lang/String;)I
-Landroid/app/AppOpsManager;->checkAudioOpNoThrow(IIILjava/lang/String;)I
-Landroid/app/AppOpsManager;->finishOp(I)V
-Landroid/app/AppOpsManager;->finishOp(IILjava/lang/String;)V
-Landroid/app/AppOpsManager;->mActiveWatchers:Landroid/util/ArrayMap;
-Landroid/app/AppOpsManager;->maxTime([JII)J
-Landroid/app/AppOpsManager;->mContext:Landroid/content/Context;
-Landroid/app/AppOpsManager;->mModeWatchers:Landroid/util/ArrayMap;
-Landroid/app/AppOpsManager;->modeToName(I)Ljava/lang/String;
-Landroid/app/AppOpsManager;->MODE_NAMES:[Ljava/lang/String;
-Landroid/app/AppOpsManager;->noteProxyOpNoThrow(ILjava/lang/String;)I
-Landroid/app/AppOpsManager;->opAllowsReset(I)Z
-Landroid/app/AppOpsManager;->opAllowSystemBypassRestriction(I)Z
-Landroid/app/AppOpsManager;->OPSTR_BLUETOOTH_SCAN:Ljava/lang/String;
-Landroid/app/AppOpsManager;->opToDefaultMode(I)I
-Landroid/app/AppOpsManager;->opToRestriction(I)Ljava/lang/String;
-Landroid/app/AppOpsManager;->RUNTIME_AND_APPOP_PERMISSIONS_OPS:[I
-Landroid/app/AppOpsManager;->setUidMode(III)V
-Landroid/app/AppOpsManager;->setUserRestriction(IZLandroid/os/IBinder;)V
-Landroid/app/AppOpsManager;->setUserRestriction(IZLandroid/os/IBinder;[Ljava/lang/String;)V
-Landroid/app/AppOpsManager;->setUserRestrictionForUser(IZLandroid/os/IBinder;[Ljava/lang/String;I)V
-Landroid/app/AppOpsManager;->sOpAllowSystemRestrictionBypass:[Z
-Landroid/app/AppOpsManager;->sOpDefaultMode:[I
-Landroid/app/AppOpsManager;->sOpDisableReset:[Z
-Landroid/app/AppOpsManager;->sOpNames:[Ljava/lang/String;
-Landroid/app/AppOpsManager;->sOpRestrictions:[Ljava/lang/String;
-Landroid/app/AppOpsManager;->sOpStrToOp:Ljava/util/HashMap;
-Landroid/app/AppOpsManager;->sOpToString:[Ljava/lang/String;
-Landroid/app/AppOpsManager;->sOpToSwitch:[I
-Landroid/app/AppOpsManager;->sPermToOp:Ljava/util/HashMap;
-Landroid/app/AppOpsManager;->startOp(I)I
-Landroid/app/AppOpsManager;->startOp(IILjava/lang/String;)I
-Landroid/app/AppOpsManager;->startOp(IILjava/lang/String;Z)I
-Landroid/app/AppOpsManager;->startOpNoThrow(IILjava/lang/String;)I
-Landroid/app/AppOpsManager;->startOpNoThrow(IILjava/lang/String;Z)I
-Landroid/app/AppOpsManager;->startWatchingMode(ILjava/lang/String;ILandroid/app/AppOpsManager$OnOpChangedListener;)V
-Landroid/app/AppOpsManager;->startWatchingMode(ILjava/lang/String;Landroid/app/AppOpsManager$OnOpChangedListener;)V
-Landroid/app/AppOpsManager;->sToken:Landroid/os/IBinder;
-Landroid/app/AppOpsManager;->strDebugOpToOp(Ljava/lang/String;)I
-Landroid/app/AppOpsManager;->UID_STATE_BACKGROUND:I
-Landroid/app/AppOpsManager;->UID_STATE_CACHED:I
-Landroid/app/AppOpsManager;->UID_STATE_FOREGROUND:I
-Landroid/app/AppOpsManager;->UID_STATE_FOREGROUND_SERVICE:I
-Landroid/app/AppOpsManager;->UID_STATE_LAST_NON_RESTRICTED:I
-Landroid/app/AppOpsManager;->UID_STATE_PERSISTENT:I
-Landroid/app/AppOpsManager;->UID_STATE_TOP:I
-Landroid/app/AppOpsManager;->_NUM_UID_STATE:I
-Landroid/app/AppOpsManagerInternal;
-Landroid/app/AppOpsManagerInternal;-><init>()V
-Landroid/app/AppOpsManagerInternal;->setDeviceAndProfileOwners(Landroid/util/SparseIntArray;)V
-Landroid/app/AppProtoEnums;
-Landroid/app/AppProtoEnums;-><init>()V
-Landroid/app/AppProtoEnums;->APP_TRANSITION_REASON_UNKNOWN:I
-Landroid/app/AppProtoEnums;->APP_TRANSITION_RECENTS_ANIM:I
-Landroid/app/AppProtoEnums;->APP_TRANSITION_SNAPSHOT:I
-Landroid/app/AppProtoEnums;->APP_TRANSITION_SPLASH_SCREEN:I
-Landroid/app/AppProtoEnums;->APP_TRANSITION_TIMEOUT:I
-Landroid/app/AppProtoEnums;->APP_TRANSITION_WINDOWS_DRAWN:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_BACKUP:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_BOUND_FOREGROUND_SERVICE:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_CACHED_ACTIVITY:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_CACHED_ACTIVITY_CLIENT:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_CACHED_EMPTY:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_CACHED_RECENT:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_FOREGROUND_SERVICE:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_HEAVY_WEIGHT:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_HOME:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_IMPORTANT_BACKGROUND:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_IMPORTANT_FOREGROUND:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_LAST_ACTIVITY:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_NONEXISTENT:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_PERSISTENT:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_PERSISTENT_UI:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_RECEIVER:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_SERVICE:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_TOP:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_TOP_SLEEPING:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_TRANSIENT_BACKGROUND:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_UNKNOWN:I
-Landroid/app/AppProtoEnums;->PROCESS_STATE_UNKNOWN_TO_PROTO:I
-Landroid/app/assist/AssistContent;->mIsAppProvidedWebUri:Z
-Landroid/app/assist/AssistContent;->setDefaultIntent(Landroid/content/Intent;)V
-Landroid/app/assist/AssistStructure$AutofillOverlay;
-Landroid/app/assist/AssistStructure$AutofillOverlay;-><init>()V
-Landroid/app/assist/AssistStructure$AutofillOverlay;->focused:Z
-Landroid/app/assist/AssistStructure$AutofillOverlay;->value:Landroid/view/autofill/AutofillValue;
-Landroid/app/assist/AssistStructure$HtmlInfoNode;
-Landroid/app/assist/AssistStructure$HtmlInfoNode;-><init>(Landroid/app/assist/AssistStructure$HtmlInfoNodeBuilder;)V
-Landroid/app/assist/AssistStructure$HtmlInfoNode;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/assist/AssistStructure$HtmlInfoNode;->mAttributes:Ljava/util/ArrayList;
-Landroid/app/assist/AssistStructure$HtmlInfoNode;->mNames:[Ljava/lang/String;
-Landroid/app/assist/AssistStructure$HtmlInfoNode;->mTag:Ljava/lang/String;
-Landroid/app/assist/AssistStructure$HtmlInfoNode;->mValues:[Ljava/lang/String;
-Landroid/app/assist/AssistStructure$HtmlInfoNodeBuilder;
-Landroid/app/assist/AssistStructure$HtmlInfoNodeBuilder;-><init>(Ljava/lang/String;)V
-Landroid/app/assist/AssistStructure$HtmlInfoNodeBuilder;->mNames:Ljava/util/ArrayList;
-Landroid/app/assist/AssistStructure$HtmlInfoNodeBuilder;->mTag:Ljava/lang/String;
-Landroid/app/assist/AssistStructure$HtmlInfoNodeBuilder;->mValues:Ljava/util/ArrayList;
-Landroid/app/assist/AssistStructure$ParcelTransferReader;
-Landroid/app/assist/AssistStructure$ParcelTransferReader;-><init>(Landroid/os/IBinder;)V
-Landroid/app/assist/AssistStructure$ParcelTransferReader;->fetchData()V
-Landroid/app/assist/AssistStructure$ParcelTransferReader;->go()V
-Landroid/app/assist/AssistStructure$ParcelTransferReader;->mChannel:Landroid/os/IBinder;
-Landroid/app/assist/AssistStructure$ParcelTransferReader;->mCurParcel:Landroid/os/Parcel;
-Landroid/app/assist/AssistStructure$ParcelTransferReader;->mNumReadViews:I
-Landroid/app/assist/AssistStructure$ParcelTransferReader;->mNumReadWindows:I
-Landroid/app/assist/AssistStructure$ParcelTransferReader;->mStringReader:Landroid/os/PooledStringReader;
-Landroid/app/assist/AssistStructure$ParcelTransferReader;->mTmpMatrix:[F
-Landroid/app/assist/AssistStructure$ParcelTransferReader;->mTransferToken:Landroid/os/IBinder;
-Landroid/app/assist/AssistStructure$ParcelTransferReader;->readParcel(II)Landroid/os/Parcel;
-Landroid/app/assist/AssistStructure$ParcelTransferWriter;
-Landroid/app/assist/AssistStructure$ParcelTransferWriter;-><init>(Landroid/app/assist/AssistStructure;Landroid/os/Parcel;)V
-Landroid/app/assist/AssistStructure$ParcelTransferWriter;->mCurViewStackEntry:Landroid/app/assist/AssistStructure$ViewStackEntry;
-Landroid/app/assist/AssistStructure$ParcelTransferWriter;->mCurViewStackPos:I
-Landroid/app/assist/AssistStructure$ParcelTransferWriter;->mCurWindow:I
-Landroid/app/assist/AssistStructure$ParcelTransferWriter;->mNumWindows:I
-Landroid/app/assist/AssistStructure$ParcelTransferWriter;->mNumWrittenViews:I
-Landroid/app/assist/AssistStructure$ParcelTransferWriter;->mNumWrittenWindows:I
-Landroid/app/assist/AssistStructure$ParcelTransferWriter;->mSanitizeOnWrite:Z
-Landroid/app/assist/AssistStructure$ParcelTransferWriter;->mTmpMatrix:[F
-Landroid/app/assist/AssistStructure$ParcelTransferWriter;->mViewStack:Ljava/util/ArrayList;
-Landroid/app/assist/AssistStructure$ParcelTransferWriter;->mWriteStructure:Z
-Landroid/app/assist/AssistStructure$ParcelTransferWriter;->pushViewStackEntry(Landroid/app/assist/AssistStructure$ViewNode;I)V
-Landroid/app/assist/AssistStructure$ParcelTransferWriter;->writeNextEntryToParcel(Landroid/app/assist/AssistStructure;Landroid/os/Parcel;Landroid/os/PooledStringWriter;)Z
-Landroid/app/assist/AssistStructure$ParcelTransferWriter;->writeToParcel(Landroid/app/assist/AssistStructure;Landroid/os/Parcel;)V
-Landroid/app/assist/AssistStructure$ParcelTransferWriter;->writeToParcelInner(Landroid/app/assist/AssistStructure;Landroid/os/Parcel;)Z
-Landroid/app/assist/AssistStructure$ParcelTransferWriter;->writeView(Landroid/app/assist/AssistStructure$ViewNode;Landroid/os/Parcel;Landroid/os/PooledStringWriter;I)V
-Landroid/app/assist/AssistStructure$SendChannel;
-Landroid/app/assist/AssistStructure$SendChannel;-><init>(Landroid/app/assist/AssistStructure;)V
-Landroid/app/assist/AssistStructure$SendChannel;->mAssistStructure:Landroid/app/assist/AssistStructure;
-Landroid/app/assist/AssistStructure$ViewNode;-><init>()V
-Landroid/app/assist/AssistStructure$ViewNode;-><init>(Landroid/app/assist/AssistStructure$ParcelTransferReader;I)V
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_ACCESSIBILITY_FOCUSED:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_ACTIVATED:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_ALL_CONTROL:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_ASSIST_BLOCKED:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_CHECKABLE:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_CHECKED:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_CLICKABLE:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_CONTEXT_CLICKABLE:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_DISABLED:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_FOCUSABLE:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_FOCUSED:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_HAS_ALPHA:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_HAS_AUTOFILL_DATA:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_HAS_CHILDREN:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_HAS_COMPLEX_TEXT:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_HAS_CONTENT_DESCRIPTION:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_HAS_ELEVATION:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_HAS_EXTRAS:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_HAS_ID:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_HAS_INPUT_TYPE:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_HAS_LARGE_COORDS:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_HAS_LOCALE_LIST:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_HAS_MATRIX:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_HAS_SCROLL:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_HAS_TEXT:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_HAS_URL:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_LONG_CLICKABLE:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_OPAQUE:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_SELECTED:I
-Landroid/app/assist/AssistStructure$ViewNode;->FLAGS_VISIBILITY_MASK:I
-Landroid/app/assist/AssistStructure$ViewNode;->isSanitized()Z
-Landroid/app/assist/AssistStructure$ViewNode;->mAlpha:F
-Landroid/app/assist/AssistStructure$ViewNode;->mAutofillHints:[Ljava/lang/String;
-Landroid/app/assist/AssistStructure$ViewNode;->mAutofillId:Landroid/view/autofill/AutofillId;
-Landroid/app/assist/AssistStructure$ViewNode;->mAutofillOptions:[Ljava/lang/CharSequence;
-Landroid/app/assist/AssistStructure$ViewNode;->mAutofillOverlay:Landroid/app/assist/AssistStructure$AutofillOverlay;
-Landroid/app/assist/AssistStructure$ViewNode;->mAutofillType:I
-Landroid/app/assist/AssistStructure$ViewNode;->mAutofillValue:Landroid/view/autofill/AutofillValue;
-Landroid/app/assist/AssistStructure$ViewNode;->mChildren:[Landroid/app/assist/AssistStructure$ViewNode;
-Landroid/app/assist/AssistStructure$ViewNode;->mClassName:Ljava/lang/String;
-Landroid/app/assist/AssistStructure$ViewNode;->mContentDescription:Ljava/lang/CharSequence;
-Landroid/app/assist/AssistStructure$ViewNode;->mElevation:F
-Landroid/app/assist/AssistStructure$ViewNode;->mExtras:Landroid/os/Bundle;
-Landroid/app/assist/AssistStructure$ViewNode;->mFlags:I
-Landroid/app/assist/AssistStructure$ViewNode;->mHeight:I
-Landroid/app/assist/AssistStructure$ViewNode;->mHtmlInfo:Landroid/view/ViewStructure$HtmlInfo;
-Landroid/app/assist/AssistStructure$ViewNode;->mId:I
-Landroid/app/assist/AssistStructure$ViewNode;->mIdEntry:Ljava/lang/String;
-Landroid/app/assist/AssistStructure$ViewNode;->mIdPackage:Ljava/lang/String;
-Landroid/app/assist/AssistStructure$ViewNode;->mIdType:Ljava/lang/String;
-Landroid/app/assist/AssistStructure$ViewNode;->mImportantForAutofill:I
-Landroid/app/assist/AssistStructure$ViewNode;->mInputType:I
-Landroid/app/assist/AssistStructure$ViewNode;->mLocaleList:Landroid/os/LocaleList;
-Landroid/app/assist/AssistStructure$ViewNode;->mMatrix:Landroid/graphics/Matrix;
-Landroid/app/assist/AssistStructure$ViewNode;->mMaxEms:I
-Landroid/app/assist/AssistStructure$ViewNode;->mMaxLength:I
-Landroid/app/assist/AssistStructure$ViewNode;->mMinEms:I
-Landroid/app/assist/AssistStructure$ViewNode;->mSanitized:Z
-Landroid/app/assist/AssistStructure$ViewNode;->mScrollX:I
-Landroid/app/assist/AssistStructure$ViewNode;->mScrollY:I
-Landroid/app/assist/AssistStructure$ViewNode;->mText:Landroid/app/assist/AssistStructure$ViewNodeText;
-Landroid/app/assist/AssistStructure$ViewNode;->mTextIdEntry:Ljava/lang/String;
-Landroid/app/assist/AssistStructure$ViewNode;->mWebDomain:Ljava/lang/String;
-Landroid/app/assist/AssistStructure$ViewNode;->mWebScheme:Ljava/lang/String;
-Landroid/app/assist/AssistStructure$ViewNode;->mWidth:I
-Landroid/app/assist/AssistStructure$ViewNode;->mX:I
-Landroid/app/assist/AssistStructure$ViewNode;->mY:I
-Landroid/app/assist/AssistStructure$ViewNode;->setAutofillOverlay(Landroid/app/assist/AssistStructure$AutofillOverlay;)V
-Landroid/app/assist/AssistStructure$ViewNode;->setWebDomain(Ljava/lang/String;)V
-Landroid/app/assist/AssistStructure$ViewNode;->updateAutofillValue(Landroid/view/autofill/AutofillValue;)V
-Landroid/app/assist/AssistStructure$ViewNode;->writeSelfToParcel(Landroid/os/Parcel;Landroid/os/PooledStringWriter;Z[F)I
-Landroid/app/assist/AssistStructure$ViewNodeBuilder;
-Landroid/app/assist/AssistStructure$ViewNodeBuilder;-><init>(Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistStructure$ViewNode;Z)V
-Landroid/app/assist/AssistStructure$ViewNodeBuilder;->getNodeText()Landroid/app/assist/AssistStructure$ViewNodeText;
-Landroid/app/assist/AssistStructure$ViewNodeBuilder;->getTempRect()Landroid/graphics/Rect;
-Landroid/app/assist/AssistStructure$ViewNodeBuilder;->mAssist:Landroid/app/assist/AssistStructure;
-Landroid/app/assist/AssistStructure$ViewNodeBuilder;->mAsync:Z
-Landroid/app/assist/AssistStructure$ViewNodeBuilder;->mNode:Landroid/app/assist/AssistStructure$ViewNode;
-Landroid/app/assist/AssistStructure$ViewNodeBuilder;->setAssistBlocked(Z)V
-Landroid/app/assist/AssistStructure$ViewNodeText;
-Landroid/app/assist/AssistStructure$ViewNodeText;-><init>()V
-Landroid/app/assist/AssistStructure$ViewNodeText;-><init>(Landroid/os/Parcel;Z)V
-Landroid/app/assist/AssistStructure$ViewNodeText;->isSimple()Z
-Landroid/app/assist/AssistStructure$ViewNodeText;->mHint:Ljava/lang/String;
-Landroid/app/assist/AssistStructure$ViewNodeText;->mLineBaselines:[I
-Landroid/app/assist/AssistStructure$ViewNodeText;->mLineCharOffsets:[I
-Landroid/app/assist/AssistStructure$ViewNodeText;->mText:Ljava/lang/CharSequence;
-Landroid/app/assist/AssistStructure$ViewNodeText;->mTextBackgroundColor:I
-Landroid/app/assist/AssistStructure$ViewNodeText;->mTextColor:I
-Landroid/app/assist/AssistStructure$ViewNodeText;->mTextSelectionEnd:I
-Landroid/app/assist/AssistStructure$ViewNodeText;->mTextSelectionStart:I
-Landroid/app/assist/AssistStructure$ViewNodeText;->mTextSize:F
-Landroid/app/assist/AssistStructure$ViewNodeText;->mTextStyle:I
-Landroid/app/assist/AssistStructure$ViewNodeText;->writeToParcel(Landroid/os/Parcel;ZZ)V
-Landroid/app/assist/AssistStructure$ViewStackEntry;
-Landroid/app/assist/AssistStructure$ViewStackEntry;-><init>()V
-Landroid/app/assist/AssistStructure$ViewStackEntry;->curChild:I
-Landroid/app/assist/AssistStructure$ViewStackEntry;->node:Landroid/app/assist/AssistStructure$ViewNode;
-Landroid/app/assist/AssistStructure$ViewStackEntry;->numChildren:I
-Landroid/app/assist/AssistStructure$WindowNode;-><init>(Landroid/app/assist/AssistStructure$ParcelTransferReader;)V
-Landroid/app/assist/AssistStructure$WindowNode;-><init>(Landroid/app/assist/AssistStructure;Landroid/view/ViewRootImpl;ZI)V
-Landroid/app/assist/AssistStructure$WindowNode;->mDisplayId:I
-Landroid/app/assist/AssistStructure$WindowNode;->mHeight:I
-Landroid/app/assist/AssistStructure$WindowNode;->mRoot:Landroid/app/assist/AssistStructure$ViewNode;
-Landroid/app/assist/AssistStructure$WindowNode;->mTitle:Ljava/lang/CharSequence;
-Landroid/app/assist/AssistStructure$WindowNode;->mWidth:I
-Landroid/app/assist/AssistStructure$WindowNode;->mX:I
-Landroid/app/assist/AssistStructure$WindowNode;->mY:I
-Landroid/app/assist/AssistStructure$WindowNode;->resolveViewAutofillFlags(Landroid/content/Context;I)I
-Landroid/app/assist/AssistStructure$WindowNode;->writeSelfToParcel(Landroid/os/Parcel;Landroid/os/PooledStringWriter;[F)V
-Landroid/app/assist/AssistStructure;-><init>(Landroid/app/Activity;ZI)V
-Landroid/app/assist/AssistStructure;-><init>(Landroid/os/Parcel;)V
-Landroid/app/assist/AssistStructure;->clearSendChannel()V
-Landroid/app/assist/AssistStructure;->DEBUG_PARCEL:Z
-Landroid/app/assist/AssistStructure;->DEBUG_PARCEL_CHILDREN:Z
-Landroid/app/assist/AssistStructure;->DEBUG_PARCEL_TREE:Z
-Landroid/app/assist/AssistStructure;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/assist/AssistStructure;->dump(Ljava/lang/String;Landroid/app/assist/AssistStructure$ViewNode;Z)V
-Landroid/app/assist/AssistStructure;->dump(Z)V
-Landroid/app/assist/AssistStructure;->ensureData()V
-Landroid/app/assist/AssistStructure;->ensureDataForAutofill()V
-Landroid/app/assist/AssistStructure;->getFlags()I
-Landroid/app/assist/AssistStructure;->mAcquisitionEndTime:J
-Landroid/app/assist/AssistStructure;->mAcquisitionStartTime:J
-Landroid/app/assist/AssistStructure;->mActivityComponent:Landroid/content/ComponentName;
-Landroid/app/assist/AssistStructure;->mFlags:I
-Landroid/app/assist/AssistStructure;->mHaveData:Z
-Landroid/app/assist/AssistStructure;->mIsHomeActivity:Z
-Landroid/app/assist/AssistStructure;->mPendingAsyncChildren:Ljava/util/ArrayList;
-Landroid/app/assist/AssistStructure;->mReceiveChannel:Landroid/os/IBinder;
-Landroid/app/assist/AssistStructure;->mSanitizeOnWrite:Z
-Landroid/app/assist/AssistStructure;->mSendChannel:Landroid/app/assist/AssistStructure$SendChannel;
-Landroid/app/assist/AssistStructure;->mTmpRect:Landroid/graphics/Rect;
-Landroid/app/assist/AssistStructure;->mWindowNodes:Ljava/util/ArrayList;
-Landroid/app/assist/AssistStructure;->sanitizeForParceling(Z)V
-Landroid/app/assist/AssistStructure;->setAcquisitionEndTime(J)V
-Landroid/app/assist/AssistStructure;->setAcquisitionStartTime(J)V
-Landroid/app/assist/AssistStructure;->setActivityComponent(Landroid/content/ComponentName;)V
-Landroid/app/assist/AssistStructure;->setHomeActivity(Z)V
-Landroid/app/assist/AssistStructure;->TAG:Ljava/lang/String;
-Landroid/app/assist/AssistStructure;->TRANSACTION_XFER:I
-Landroid/app/assist/AssistStructure;->VALIDATE_VIEW_TOKEN:I
-Landroid/app/assist/AssistStructure;->VALIDATE_WINDOW_TOKEN:I
-Landroid/app/assist/AssistStructure;->waitForReady()Z
-Landroid/app/AuthenticationRequiredException;-><init>(Landroid/os/Parcel;)V
-Landroid/app/AuthenticationRequiredException;->mUserAction:Landroid/app/PendingIntent;
-Landroid/app/AuthenticationRequiredException;->TAG:Ljava/lang/String;
-Landroid/app/AutomaticZenRule;-><init>(Ljava/lang/String;Landroid/content/ComponentName;Landroid/net/Uri;IZJ)V
-Landroid/app/AutomaticZenRule;->conditionId:Landroid/net/Uri;
-Landroid/app/AutomaticZenRule;->creationTime:J
-Landroid/app/AutomaticZenRule;->enabled:Z
-Landroid/app/AutomaticZenRule;->interruptionFilter:I
-Landroid/app/AutomaticZenRule;->name:Ljava/lang/String;
-Landroid/app/AutomaticZenRule;->owner:Landroid/content/ComponentName;
-Landroid/app/BackStackRecord$Op;
-Landroid/app/BackStackRecord$Op;-><init>()V
-Landroid/app/BackStackRecord$Op;-><init>(ILandroid/app/Fragment;)V
-Landroid/app/BackStackRecord$Op;->cmd:I
-Landroid/app/BackStackRecord$Op;->enterAnim:I
-Landroid/app/BackStackRecord$Op;->exitAnim:I
-Landroid/app/BackStackRecord$Op;->fragment:Landroid/app/Fragment;
-Landroid/app/BackStackRecord$Op;->popEnterAnim:I
-Landroid/app/BackStackRecord$Op;->popExitAnim:I
-Landroid/app/BackStackRecord;
-Landroid/app/BackStackRecord;-><init>(Landroid/app/FragmentManagerImpl;)V
-Landroid/app/BackStackRecord;->addOp(Landroid/app/BackStackRecord$Op;)V
-Landroid/app/BackStackRecord;->bumpBackStackNesting(I)V
-Landroid/app/BackStackRecord;->commitInternal(Z)I
-Landroid/app/BackStackRecord;->doAddOp(ILandroid/app/Fragment;Ljava/lang/String;I)V
-Landroid/app/BackStackRecord;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/app/BackStackRecord;->dump(Ljava/lang/String;Ljava/io/PrintWriter;Z)V
-Landroid/app/BackStackRecord;->executeOps()V
-Landroid/app/BackStackRecord;->executePopOps(Z)V
-Landroid/app/BackStackRecord;->expandOps(Ljava/util/ArrayList;Landroid/app/Fragment;)Landroid/app/Fragment;
-Landroid/app/BackStackRecord;->generateOps(Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
-Landroid/app/BackStackRecord;->getTransition()I
-Landroid/app/BackStackRecord;->getTransitionStyle()I
-Landroid/app/BackStackRecord;->interactsWith(I)Z
-Landroid/app/BackStackRecord;->interactsWith(Ljava/util/ArrayList;II)Z
-Landroid/app/BackStackRecord;->isFragmentPostponed(Landroid/app/BackStackRecord$Op;)Z
-Landroid/app/BackStackRecord;->isPostponed()Z
-Landroid/app/BackStackRecord;->mAddToBackStack:Z
-Landroid/app/BackStackRecord;->mAllowAddToBackStack:Z
-Landroid/app/BackStackRecord;->mBreadCrumbShortTitleRes:I
-Landroid/app/BackStackRecord;->mBreadCrumbShortTitleText:Ljava/lang/CharSequence;
-Landroid/app/BackStackRecord;->mBreadCrumbTitleRes:I
-Landroid/app/BackStackRecord;->mBreadCrumbTitleText:Ljava/lang/CharSequence;
-Landroid/app/BackStackRecord;->mCommitRunnables:Ljava/util/ArrayList;
-Landroid/app/BackStackRecord;->mCommitted:Z
-Landroid/app/BackStackRecord;->mEnterAnim:I
-Landroid/app/BackStackRecord;->mExitAnim:I
-Landroid/app/BackStackRecord;->mIndex:I
-Landroid/app/BackStackRecord;->mManager:Landroid/app/FragmentManagerImpl;
-Landroid/app/BackStackRecord;->mName:Ljava/lang/String;
-Landroid/app/BackStackRecord;->mOps:Ljava/util/ArrayList;
-Landroid/app/BackStackRecord;->mPopEnterAnim:I
-Landroid/app/BackStackRecord;->mPopExitAnim:I
-Landroid/app/BackStackRecord;->mReorderingAllowed:Z
-Landroid/app/BackStackRecord;->mSharedElementSourceNames:Ljava/util/ArrayList;
-Landroid/app/BackStackRecord;->mSharedElementTargetNames:Ljava/util/ArrayList;
-Landroid/app/BackStackRecord;->mTransition:I
-Landroid/app/BackStackRecord;->mTransitionStyle:I
-Landroid/app/BackStackRecord;->OP_ADD:I
-Landroid/app/BackStackRecord;->OP_ATTACH:I
-Landroid/app/BackStackRecord;->OP_DETACH:I
-Landroid/app/BackStackRecord;->OP_HIDE:I
-Landroid/app/BackStackRecord;->OP_NULL:I
-Landroid/app/BackStackRecord;->OP_REMOVE:I
-Landroid/app/BackStackRecord;->OP_REPLACE:I
-Landroid/app/BackStackRecord;->OP_SET_PRIMARY_NAV:I
-Landroid/app/BackStackRecord;->OP_SHOW:I
-Landroid/app/BackStackRecord;->OP_UNSET_PRIMARY_NAV:I
-Landroid/app/BackStackRecord;->runOnCommitRunnables()V
-Landroid/app/BackStackRecord;->setOnStartPostponedListener(Landroid/app/Fragment$OnStartEnterTransitionListener;)V
-Landroid/app/BackStackRecord;->TAG:Ljava/lang/String;
-Landroid/app/BackStackRecord;->trackAddedFragmentsInPop(Ljava/util/ArrayList;)V
-Landroid/app/backup/AbsoluteFileBackupHelper;
-Landroid/app/backup/AbsoluteFileBackupHelper;-><init>(Landroid/content/Context;[[Ljava/lang/String;)V
-Landroid/app/backup/AbsoluteFileBackupHelper;->DEBUG:Z
-Landroid/app/backup/AbsoluteFileBackupHelper;->mContext:Landroid/content/Context;
-Landroid/app/backup/AbsoluteFileBackupHelper;->mFiles:[Ljava/lang/String;
-Landroid/app/backup/AbsoluteFileBackupHelper;->TAG:Ljava/lang/String;
-Landroid/app/backup/BackupAgent$BackupServiceBinder;
-Landroid/app/backup/BackupAgent$BackupServiceBinder;-><init>()V
-Landroid/app/backup/BackupAgent$BackupServiceBinder;->doBackup(Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;JILandroid/app/backup/IBackupManager;I)V
-Landroid/app/backup/BackupAgent$BackupServiceBinder;->doFullBackup(Landroid/os/ParcelFileDescriptor;JILandroid/app/backup/IBackupManager;I)V
-Landroid/app/backup/BackupAgent$BackupServiceBinder;->doMeasureFullBackup(JILandroid/app/backup/IBackupManager;I)V
-Landroid/app/backup/BackupAgent$BackupServiceBinder;->doQuotaExceeded(JJ)V
-Landroid/app/backup/BackupAgent$BackupServiceBinder;->doRestore(Landroid/os/ParcelFileDescriptor;JLandroid/os/ParcelFileDescriptor;ILandroid/app/backup/IBackupManager;)V
-Landroid/app/backup/BackupAgent$BackupServiceBinder;->doRestoreFile(Landroid/os/ParcelFileDescriptor;JILjava/lang/String;Ljava/lang/String;JJILandroid/app/backup/IBackupManager;)V
-Landroid/app/backup/BackupAgent$BackupServiceBinder;->doRestoreFinished(ILandroid/app/backup/IBackupManager;)V
-Landroid/app/backup/BackupAgent$BackupServiceBinder;->fail(Ljava/lang/String;)V
-Landroid/app/backup/BackupAgent$BackupServiceBinder;->TAG:Ljava/lang/String;
-Landroid/app/backup/BackupAgent$FailRunnable;
-Landroid/app/backup/BackupAgent$FailRunnable;-><init>(Ljava/lang/String;)V
-Landroid/app/backup/BackupAgent$FailRunnable;->mMessage:Ljava/lang/String;
-Landroid/app/backup/BackupAgent$SharedPrefsSynchronizer;
-Landroid/app/backup/BackupAgent$SharedPrefsSynchronizer;-><init>()V
-Landroid/app/backup/BackupAgent$SharedPrefsSynchronizer;->mLatch:Ljava/util/concurrent/CountDownLatch;
-Landroid/app/backup/BackupAgent;->applyXmlFiltersAndDoFullBackupForDomain(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Landroid/util/ArraySet;Landroid/util/ArraySet;Landroid/app/backup/FullBackupDataOutput;)V
-Landroid/app/backup/BackupAgent;->areIncludeRequiredTransportFlagsSatisfied(II)Z
-Landroid/app/backup/BackupAgent;->attach(Landroid/content/Context;)V
-Landroid/app/backup/BackupAgent;->DEBUG:Z
-Landroid/app/backup/BackupAgent;->FLAG_FAKE_CLIENT_SIDE_ENCRYPTION_ENABLED:I
-Landroid/app/backup/BackupAgent;->fullBackupFileTree(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/util/ArraySet;Landroid/util/ArraySet;Landroid/app/backup/FullBackupDataOutput;)V
-Landroid/app/backup/BackupAgent;->getHandler()Landroid/os/Handler;
-Landroid/app/backup/BackupAgent;->isFileEligibleForRestore(Ljava/io/File;)Z
-Landroid/app/backup/BackupAgent;->isFileSpecifiedInPathList(Ljava/io/File;Ljava/util/Collection;)Z
-Landroid/app/backup/BackupAgent;->manifestExcludesContainFilePath(Landroid/util/ArraySet;Ljava/lang/String;)Z
-Landroid/app/backup/BackupAgent;->mBinder:Landroid/os/IBinder;
-Landroid/app/backup/BackupAgent;->mHandler:Landroid/os/Handler;
-Landroid/app/backup/BackupAgent;->onBind()Landroid/os/IBinder;
-Landroid/app/backup/BackupAgent;->onRestoreFile(Landroid/os/ParcelFileDescriptor;JILjava/lang/String;Ljava/lang/String;JJ)V
-Landroid/app/backup/BackupAgent;->TAG:Ljava/lang/String;
-Landroid/app/backup/BackupAgent;->TYPE_EOF:I
-Landroid/app/backup/BackupAgent;->TYPE_SYMLINK:I
-Landroid/app/backup/BackupAgent;->waitForSharedPrefs()V
-Landroid/app/backup/BackupAgentHelper;->getDispatcher()Landroid/app/backup/BackupHelperDispatcher;
-Landroid/app/backup/BackupAgentHelper;->mDispatcher:Landroid/app/backup/BackupHelperDispatcher;
-Landroid/app/backup/BackupAgentHelper;->TAG:Ljava/lang/String;
-Landroid/app/backup/BackupDataInput$EntityHeader;
-Landroid/app/backup/BackupDataInput$EntityHeader;-><init>()V
-Landroid/app/backup/BackupDataInput;->ctor(Ljava/io/FileDescriptor;)J
-Landroid/app/backup/BackupDataInput;->dtor(J)V
-Landroid/app/backup/BackupDataInput;->mBackupReader:J
-Landroid/app/backup/BackupDataInput;->mHeader:Landroid/app/backup/BackupDataInput$EntityHeader;
-Landroid/app/backup/BackupDataInput;->mHeaderReady:Z
-Landroid/app/backup/BackupDataInput;->readEntityData_native(J[BII)I
-Landroid/app/backup/BackupDataInput;->readNextHeader_native(JLandroid/app/backup/BackupDataInput$EntityHeader;)I
-Landroid/app/backup/BackupDataInput;->skipEntityData_native(J)I
-Landroid/app/backup/BackupDataInputStream;-><init>(Landroid/app/backup/BackupDataInput;)V
-Landroid/app/backup/BackupDataInputStream;->mData:Landroid/app/backup/BackupDataInput;
-Landroid/app/backup/BackupDataInputStream;->mOneByte:[B
-Landroid/app/backup/BackupDataOutput;-><init>(Ljava/io/FileDescriptor;JI)V
-Landroid/app/backup/BackupDataOutput;->ctor(Ljava/io/FileDescriptor;)J
-Landroid/app/backup/BackupDataOutput;->dtor(J)V
-Landroid/app/backup/BackupDataOutput;->mQuota:J
-Landroid/app/backup/BackupDataOutput;->mTransportFlags:I
-Landroid/app/backup/BackupDataOutput;->setKeyPrefix(Ljava/lang/String;)V
-Landroid/app/backup/BackupDataOutput;->setKeyPrefix_native(JLjava/lang/String;)V
-Landroid/app/backup/BackupDataOutput;->writeEntityData_native(J[BI)I
-Landroid/app/backup/BackupDataOutput;->writeEntityHeader_native(JLjava/lang/String;I)I
-Landroid/app/backup/BackupHelperDispatcher$Header;
-Landroid/app/backup/BackupHelperDispatcher$Header;-><init>()V
-Landroid/app/backup/BackupHelperDispatcher;
-Landroid/app/backup/BackupHelperDispatcher;-><init>()V
-Landroid/app/backup/BackupHelperDispatcher;->addHelper(Ljava/lang/String;Landroid/app/backup/BackupHelper;)V
-Landroid/app/backup/BackupHelperDispatcher;->allocateHeader_native(Landroid/app/backup/BackupHelperDispatcher$Header;Ljava/io/FileDescriptor;)I
-Landroid/app/backup/BackupHelperDispatcher;->doOneBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupHelperDispatcher$Header;Landroid/app/backup/BackupHelper;)V
-Landroid/app/backup/BackupHelperDispatcher;->mHelpers:Ljava/util/TreeMap;
-Landroid/app/backup/BackupHelperDispatcher;->performBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
-Landroid/app/backup/BackupHelperDispatcher;->performRestore(Landroid/app/backup/BackupDataInput;ILandroid/os/ParcelFileDescriptor;)V
-Landroid/app/backup/BackupHelperDispatcher;->readHeader_native(Landroid/app/backup/BackupHelperDispatcher$Header;Ljava/io/FileDescriptor;)I
-Landroid/app/backup/BackupHelperDispatcher;->skipChunk_native(Ljava/io/FileDescriptor;I)I
-Landroid/app/backup/BackupHelperDispatcher;->TAG:Ljava/lang/String;
-Landroid/app/backup/BackupHelperDispatcher;->writeHeader_native(Landroid/app/backup/BackupHelperDispatcher$Header;Ljava/io/FileDescriptor;I)I
-Landroid/app/backup/BackupManager$BackupManagerMonitorWrapper;
-Landroid/app/backup/BackupManager$BackupManagerMonitorWrapper;-><init>(Landroid/app/backup/BackupManagerMonitor;)V
-Landroid/app/backup/BackupManager$BackupManagerMonitorWrapper;->mMonitor:Landroid/app/backup/BackupManagerMonitor;
-Landroid/app/backup/BackupManager$BackupManagerMonitorWrapper;->onEvent(Landroid/os/Bundle;)V
-Landroid/app/backup/BackupManager$BackupObserverWrapper;
-Landroid/app/backup/BackupManager$BackupObserverWrapper;-><init>(Landroid/content/Context;Landroid/app/backup/BackupObserver;)V
-Landroid/app/backup/BackupManager$BackupObserverWrapper;->backupFinished(I)V
-Landroid/app/backup/BackupManager$BackupObserverWrapper;->mHandler:Landroid/os/Handler;
-Landroid/app/backup/BackupManager$BackupObserverWrapper;->mObserver:Landroid/app/backup/BackupObserver;
-Landroid/app/backup/BackupManager$BackupObserverWrapper;->MSG_FINISHED:I
-Landroid/app/backup/BackupManager$BackupObserverWrapper;->MSG_RESULT:I
-Landroid/app/backup/BackupManager$BackupObserverWrapper;->MSG_UPDATE:I
-Landroid/app/backup/BackupManager$BackupObserverWrapper;->onResult(Ljava/lang/String;I)V
-Landroid/app/backup/BackupManager$BackupObserverWrapper;->onUpdate(Ljava/lang/String;Landroid/app/backup/BackupProgress;)V
-Landroid/app/backup/BackupManager$SelectTransportListenerWrapper;
-Landroid/app/backup/BackupManager$SelectTransportListenerWrapper;-><init>(Landroid/content/Context;Landroid/app/backup/SelectBackupTransportCallback;)V
-Landroid/app/backup/BackupManager$SelectTransportListenerWrapper;->mHandler:Landroid/os/Handler;
-Landroid/app/backup/BackupManager$SelectTransportListenerWrapper;->mListener:Landroid/app/backup/SelectBackupTransportCallback;
-Landroid/app/backup/BackupManager$SelectTransportListenerWrapper;->onFailure(I)V
-Landroid/app/backup/BackupManager$SelectTransportListenerWrapper;->onSuccess(Ljava/lang/String;)V
-Landroid/app/backup/BackupManager;->EXTRA_BACKUP_SERVICES_AVAILABLE:Ljava/lang/String;
-Landroid/app/backup/BackupManager;->mContext:Landroid/content/Context;
-Landroid/app/backup/BackupManager;->TAG:Ljava/lang/String;
-Landroid/app/backup/BackupProgress;-><init>(Landroid/os/Parcel;)V
-Landroid/app/backup/BackupTransport$TransportImpl;
-Landroid/app/backup/BackupTransport$TransportImpl;-><init>()V
-Landroid/app/backup/BackupTransport$TransportImpl;->abortFullRestore()I
-Landroid/app/backup/BackupTransport$TransportImpl;->cancelFullBackup()V
-Landroid/app/backup/BackupTransport$TransportImpl;->checkFullBackupSize(J)I
-Landroid/app/backup/BackupTransport$TransportImpl;->clearBackupData(Landroid/content/pm/PackageInfo;)I
-Landroid/app/backup/BackupTransport$TransportImpl;->configurationIntent()Landroid/content/Intent;
-Landroid/app/backup/BackupTransport$TransportImpl;->currentDestinationString()Ljava/lang/String;
-Landroid/app/backup/BackupTransport$TransportImpl;->dataManagementIntent()Landroid/content/Intent;
-Landroid/app/backup/BackupTransport$TransportImpl;->dataManagementLabel()Ljava/lang/String;
-Landroid/app/backup/BackupTransport$TransportImpl;->finishBackup()I
-Landroid/app/backup/BackupTransport$TransportImpl;->finishRestore()V
-Landroid/app/backup/BackupTransport$TransportImpl;->getAvailableRestoreSets()[Landroid/app/backup/RestoreSet;
-Landroid/app/backup/BackupTransport$TransportImpl;->getBackupQuota(Ljava/lang/String;Z)J
-Landroid/app/backup/BackupTransport$TransportImpl;->getCurrentRestoreSet()J
-Landroid/app/backup/BackupTransport$TransportImpl;->getNextFullRestoreDataChunk(Landroid/os/ParcelFileDescriptor;)I
-Landroid/app/backup/BackupTransport$TransportImpl;->getRestoreData(Landroid/os/ParcelFileDescriptor;)I
-Landroid/app/backup/BackupTransport$TransportImpl;->getTransportFlags()I
-Landroid/app/backup/BackupTransport$TransportImpl;->initializeDevice()I
-Landroid/app/backup/BackupTransport$TransportImpl;->isAppEligibleForBackup(Landroid/content/pm/PackageInfo;Z)Z
-Landroid/app/backup/BackupTransport$TransportImpl;->name()Ljava/lang/String;
-Landroid/app/backup/BackupTransport$TransportImpl;->nextRestorePackage()Landroid/app/backup/RestoreDescription;
-Landroid/app/backup/BackupTransport$TransportImpl;->performBackup(Landroid/content/pm/PackageInfo;Landroid/os/ParcelFileDescriptor;I)I
-Landroid/app/backup/BackupTransport$TransportImpl;->performFullBackup(Landroid/content/pm/PackageInfo;Landroid/os/ParcelFileDescriptor;I)I
-Landroid/app/backup/BackupTransport$TransportImpl;->requestBackupTime()J
-Landroid/app/backup/BackupTransport$TransportImpl;->requestFullBackupTime()J
-Landroid/app/backup/BackupTransport$TransportImpl;->sendBackupData(I)I
-Landroid/app/backup/BackupTransport$TransportImpl;->startRestore(J[Landroid/content/pm/PackageInfo;)I
-Landroid/app/backup/BackupTransport$TransportImpl;->transportDirName()Ljava/lang/String;
-Landroid/app/backup/BackupTransport;->mBinderImpl:Lcom/android/internal/backup/IBackupTransport;
-Landroid/app/backup/BlobBackupHelper;
-Landroid/app/backup/BlobBackupHelper;-><init>(I[[Ljava/lang/String;)V
-Landroid/app/backup/BlobBackupHelper;->applyRestoredPayload(Ljava/lang/String;[B)V
-Landroid/app/backup/BlobBackupHelper;->checksum([B)J
-Landroid/app/backup/BlobBackupHelper;->DEBUG:Z
-Landroid/app/backup/BlobBackupHelper;->deflate([B)[B
-Landroid/app/backup/BlobBackupHelper;->getBackupPayload(Ljava/lang/String;)[B
-Landroid/app/backup/BlobBackupHelper;->inflate([B)[B
-Landroid/app/backup/BlobBackupHelper;->mCurrentBlobVersion:I
-Landroid/app/backup/BlobBackupHelper;->mKeys:[Ljava/lang/String;
-Landroid/app/backup/BlobBackupHelper;->readOldState(Landroid/os/ParcelFileDescriptor;)Landroid/util/ArrayMap;
-Landroid/app/backup/BlobBackupHelper;->TAG:Ljava/lang/String;
-Landroid/app/backup/BlobBackupHelper;->writeBackupState(Landroid/util/ArrayMap;Landroid/os/ParcelFileDescriptor;)V
-Landroid/app/backup/FileBackupHelper;->DEBUG:Z
-Landroid/app/backup/FileBackupHelper;->mContext:Landroid/content/Context;
-Landroid/app/backup/FileBackupHelper;->mFiles:[Ljava/lang/String;
-Landroid/app/backup/FileBackupHelper;->mFilesDir:Ljava/io/File;
-Landroid/app/backup/FileBackupHelper;->TAG:Ljava/lang/String;
-Landroid/app/backup/FileBackupHelperBase;
-Landroid/app/backup/FileBackupHelperBase;-><init>(Landroid/content/Context;)V
-Landroid/app/backup/FileBackupHelperBase;->ctor()J
-Landroid/app/backup/FileBackupHelperBase;->dtor(J)V
-Landroid/app/backup/FileBackupHelperBase;->isKeyInList(Ljava/lang/String;[Ljava/lang/String;)Z
-Landroid/app/backup/FileBackupHelperBase;->mContext:Landroid/content/Context;
-Landroid/app/backup/FileBackupHelperBase;->mExceptionLogged:Z
-Landroid/app/backup/FileBackupHelperBase;->mPtr:J
-Landroid/app/backup/FileBackupHelperBase;->performBackup_checked(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/app/backup/FileBackupHelperBase;->performBackup_native(Ljava/io/FileDescriptor;JLjava/io/FileDescriptor;[Ljava/lang/String;[Ljava/lang/String;)I
-Landroid/app/backup/FileBackupHelperBase;->TAG:Ljava/lang/String;
-Landroid/app/backup/FileBackupHelperBase;->writeFile(Ljava/io/File;Landroid/app/backup/BackupDataInputStream;)Z
-Landroid/app/backup/FileBackupHelperBase;->writeFile_native(JLjava/lang/String;J)I
-Landroid/app/backup/FileBackupHelperBase;->writeSnapshot_native(JLjava/io/FileDescriptor;)I
-Landroid/app/backup/FullBackup$BackupScheme$PathWithRequiredFlags;
-Landroid/app/backup/FullBackup$BackupScheme$PathWithRequiredFlags;-><init>(Ljava/lang/String;I)V
-Landroid/app/backup/FullBackup$BackupScheme$PathWithRequiredFlags;->getPath()Ljava/lang/String;
-Landroid/app/backup/FullBackup$BackupScheme$PathWithRequiredFlags;->getRequiredFlags()I
-Landroid/app/backup/FullBackup$BackupScheme$PathWithRequiredFlags;->mPath:Ljava/lang/String;
-Landroid/app/backup/FullBackup$BackupScheme$PathWithRequiredFlags;->mRequiredFlags:I
-Landroid/app/backup/FullBackup$BackupScheme;
-Landroid/app/backup/FullBackup$BackupScheme;-><init>(Landroid/content/Context;)V
-Landroid/app/backup/FullBackup$BackupScheme;->CACHE_DIR:Ljava/io/File;
-Landroid/app/backup/FullBackup$BackupScheme;->DATABASE_DIR:Ljava/io/File;
-Landroid/app/backup/FullBackup$BackupScheme;->DEVICE_CACHE_DIR:Ljava/io/File;
-Landroid/app/backup/FullBackup$BackupScheme;->DEVICE_DATABASE_DIR:Ljava/io/File;
-Landroid/app/backup/FullBackup$BackupScheme;->DEVICE_FILES_DIR:Ljava/io/File;
-Landroid/app/backup/FullBackup$BackupScheme;->DEVICE_NOBACKUP_DIR:Ljava/io/File;
-Landroid/app/backup/FullBackup$BackupScheme;->DEVICE_ROOT_DIR:Ljava/io/File;
-Landroid/app/backup/FullBackup$BackupScheme;->DEVICE_SHAREDPREF_DIR:Ljava/io/File;
-Landroid/app/backup/FullBackup$BackupScheme;->EXTERNAL_DIR:Ljava/io/File;
-Landroid/app/backup/FullBackup$BackupScheme;->extractCanonicalFile(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
-Landroid/app/backup/FullBackup$BackupScheme;->FILES_DIR:Ljava/io/File;
-Landroid/app/backup/FullBackup$BackupScheme;->getDirectoryForCriteriaDomain(Ljava/lang/String;)Ljava/io/File;
-Landroid/app/backup/FullBackup$BackupScheme;->getRequiredFlagsFromString(Ljava/lang/String;)I
-Landroid/app/backup/FullBackup$BackupScheme;->getTokenForXmlDomain(Ljava/lang/String;)Ljava/lang/String;
-Landroid/app/backup/FullBackup$BackupScheme;->getVolumeList()[Landroid/os/storage/StorageVolume;
-Landroid/app/backup/FullBackup$BackupScheme;->isFullBackupContentEnabled()Z
-Landroid/app/backup/FullBackup$BackupScheme;->maybeParseAndGetCanonicalExcludePaths()Landroid/util/ArraySet;
-Landroid/app/backup/FullBackup$BackupScheme;->maybeParseAndGetCanonicalIncludePaths()Ljava/util/Map;
-Landroid/app/backup/FullBackup$BackupScheme;->maybeParseBackupSchemeLocked()V
-Landroid/app/backup/FullBackup$BackupScheme;->mExcludes:Landroid/util/ArraySet;
-Landroid/app/backup/FullBackup$BackupScheme;->mFullBackupContent:I
-Landroid/app/backup/FullBackup$BackupScheme;->mIncludes:Ljava/util/Map;
-Landroid/app/backup/FullBackup$BackupScheme;->mPackageManager:Landroid/content/pm/PackageManager;
-Landroid/app/backup/FullBackup$BackupScheme;->mPackageName:Ljava/lang/String;
-Landroid/app/backup/FullBackup$BackupScheme;->mStorageManager:Landroid/os/storage/StorageManager;
-Landroid/app/backup/FullBackup$BackupScheme;->mVolumes:[Landroid/os/storage/StorageVolume;
-Landroid/app/backup/FullBackup$BackupScheme;->NOBACKUP_DIR:Ljava/io/File;
-Landroid/app/backup/FullBackup$BackupScheme;->parseBackupSchemeFromXmlLocked(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/Set;Ljava/util/Map;)V
-Landroid/app/backup/FullBackup$BackupScheme;->parseCurrentTagForDomain(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/Set;Ljava/util/Map;Ljava/lang/String;)Ljava/util/Set;
-Landroid/app/backup/FullBackup$BackupScheme;->ROOT_DIR:Ljava/io/File;
-Landroid/app/backup/FullBackup$BackupScheme;->sharedDomainToPath(Ljava/lang/String;)Ljava/lang/String;
-Landroid/app/backup/FullBackup$BackupScheme;->SHAREDPREF_DIR:Ljava/io/File;
-Landroid/app/backup/FullBackup$BackupScheme;->TAG_EXCLUDE:Ljava/lang/String;
-Landroid/app/backup/FullBackup$BackupScheme;->TAG_INCLUDE:Ljava/lang/String;
-Landroid/app/backup/FullBackup$BackupScheme;->tokenToDirectoryPath(Ljava/lang/String;)Ljava/lang/String;
-Landroid/app/backup/FullBackup$BackupScheme;->validateInnerTagContents(Lorg/xmlpull/v1/XmlPullParser;)V
-Landroid/app/backup/FullBackup;
-Landroid/app/backup/FullBackup;-><init>()V
-Landroid/app/backup/FullBackup;->APK_TREE_TOKEN:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->APPS_PREFIX:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->CACHE_TREE_TOKEN:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->CONF_TOKEN_INTENT_EXTRA:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->DATABASE_TREE_TOKEN:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->DEVICE_CACHE_TREE_TOKEN:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->DEVICE_DATABASE_TREE_TOKEN:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->DEVICE_FILES_TREE_TOKEN:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->DEVICE_NO_BACKUP_TREE_TOKEN:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->DEVICE_ROOT_TREE_TOKEN:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->DEVICE_SHAREDPREFS_TREE_TOKEN:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->FILES_TREE_TOKEN:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->FLAG_REQUIRED_CLIENT_SIDE_ENCRYPTION:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->FLAG_REQUIRED_DEVICE_TO_DEVICE_TRANSFER:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->FLAG_REQUIRED_FAKE_CLIENT_SIDE_ENCRYPTION:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->FULL_BACKUP_INTENT_ACTION:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->FULL_RESTORE_INTENT_ACTION:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->getBackupScheme(Landroid/content/Context;)Landroid/app/backup/FullBackup$BackupScheme;
-Landroid/app/backup/FullBackup;->getBackupSchemeForTest(Landroid/content/Context;)Landroid/app/backup/FullBackup$BackupScheme;
-Landroid/app/backup/FullBackup;->KEY_VALUE_DATA_TOKEN:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->kPackageBackupSchemeMap:Ljava/util/Map;
-Landroid/app/backup/FullBackup;->MANAGED_EXTERNAL_TREE_TOKEN:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->NO_BACKUP_TREE_TOKEN:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->OBB_TREE_TOKEN:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->restoreFile(Landroid/os/ParcelFileDescriptor;JIJJLjava/io/File;)V
-Landroid/app/backup/FullBackup;->ROOT_TREE_TOKEN:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->SHAREDPREFS_TREE_TOKEN:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->SHARED_PREFIX:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->SHARED_STORAGE_TOKEN:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->TAG:Ljava/lang/String;
-Landroid/app/backup/FullBackup;->TAG_XML_PARSER:Ljava/lang/String;
-Landroid/app/backup/FullBackupAgent;
-Landroid/app/backup/FullBackupAgent;-><init>()V
-Landroid/app/backup/FullBackupDataOutput;-><init>(J)V
-Landroid/app/backup/FullBackupDataOutput;-><init>(JI)V
-Landroid/app/backup/FullBackupDataOutput;-><init>(Landroid/os/ParcelFileDescriptor;J)V
-Landroid/app/backup/FullBackupDataOutput;-><init>(Landroid/os/ParcelFileDescriptor;JI)V
-Landroid/app/backup/FullBackupDataOutput;->getSize()J
-Landroid/app/backup/FullBackupDataOutput;->mQuota:J
-Landroid/app/backup/FullBackupDataOutput;->mSize:J
-Landroid/app/backup/FullBackupDataOutput;->mTransportFlags:I
-Landroid/app/backup/IBackupManager$Stub$Proxy;
-Landroid/app/backup/IBackupManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/backup/IBackupManager$Stub$Proxy;->acknowledgeFullBackupOrRestore(IZLjava/lang/String;Ljava/lang/String;Landroid/app/backup/IFullBackupRestoreObserver;)V
-Landroid/app/backup/IBackupManager$Stub$Proxy;->adbBackup(Landroid/os/ParcelFileDescriptor;ZZZZZZZZ[Ljava/lang/String;)V
-Landroid/app/backup/IBackupManager$Stub$Proxy;->adbRestore(Landroid/os/ParcelFileDescriptor;)V
-Landroid/app/backup/IBackupManager$Stub$Proxy;->agentConnected(Ljava/lang/String;Landroid/os/IBinder;)V
-Landroid/app/backup/IBackupManager$Stub$Proxy;->agentDisconnected(Ljava/lang/String;)V
-Landroid/app/backup/IBackupManager$Stub$Proxy;->backupNow()V
-Landroid/app/backup/IBackupManager$Stub$Proxy;->beginRestoreSession(Ljava/lang/String;Ljava/lang/String;)Landroid/app/backup/IRestoreSession;
-Landroid/app/backup/IBackupManager$Stub$Proxy;->cancelBackups()V
-Landroid/app/backup/IBackupManager$Stub$Proxy;->clearBackupData(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/backup/IBackupManager$Stub$Proxy;->dataChanged(Ljava/lang/String;)V
-Landroid/app/backup/IBackupManager$Stub$Proxy;->filterAppsEligibleForBackup([Ljava/lang/String;)[Ljava/lang/String;
-Landroid/app/backup/IBackupManager$Stub$Proxy;->fullTransportBackup([Ljava/lang/String;)V
-Landroid/app/backup/IBackupManager$Stub$Proxy;->getAvailableRestoreToken(Ljava/lang/String;)J
-Landroid/app/backup/IBackupManager$Stub$Proxy;->getConfigurationIntent(Ljava/lang/String;)Landroid/content/Intent;
-Landroid/app/backup/IBackupManager$Stub$Proxy;->getCurrentTransport()Ljava/lang/String;
-Landroid/app/backup/IBackupManager$Stub$Proxy;->getDataManagementIntent(Ljava/lang/String;)Landroid/content/Intent;
-Landroid/app/backup/IBackupManager$Stub$Proxy;->getDataManagementLabel(Ljava/lang/String;)Ljava/lang/String;
-Landroid/app/backup/IBackupManager$Stub$Proxy;->getDestinationString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/app/backup/IBackupManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/backup/IBackupManager$Stub$Proxy;->getTransportWhitelist()[Ljava/lang/String;
-Landroid/app/backup/IBackupManager$Stub$Proxy;->hasBackupPassword()Z
-Landroid/app/backup/IBackupManager$Stub$Proxy;->initializeTransports([Ljava/lang/String;Landroid/app/backup/IBackupObserver;)V
-Landroid/app/backup/IBackupManager$Stub$Proxy;->isAppEligibleForBackup(Ljava/lang/String;)Z
-Landroid/app/backup/IBackupManager$Stub$Proxy;->isBackupEnabled()Z
-Landroid/app/backup/IBackupManager$Stub$Proxy;->isBackupServiceActive(I)Z
-Landroid/app/backup/IBackupManager$Stub$Proxy;->listAllTransportComponents()[Landroid/content/ComponentName;
-Landroid/app/backup/IBackupManager$Stub$Proxy;->listAllTransports()[Ljava/lang/String;
-Landroid/app/backup/IBackupManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/backup/IBackupManager$Stub$Proxy;->opComplete(IJ)V
-Landroid/app/backup/IBackupManager$Stub$Proxy;->requestBackup([Ljava/lang/String;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;I)I
-Landroid/app/backup/IBackupManager$Stub$Proxy;->restoreAtInstall(Ljava/lang/String;I)V
-Landroid/app/backup/IBackupManager$Stub$Proxy;->selectBackupTransport(Ljava/lang/String;)Ljava/lang/String;
-Landroid/app/backup/IBackupManager$Stub$Proxy;->selectBackupTransportAsync(Landroid/content/ComponentName;Landroid/app/backup/ISelectBackupTransportCallback;)V
-Landroid/app/backup/IBackupManager$Stub$Proxy;->setAutoRestore(Z)V
-Landroid/app/backup/IBackupManager$Stub$Proxy;->setBackupEnabled(Z)V
-Landroid/app/backup/IBackupManager$Stub$Proxy;->setBackupPassword(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/app/backup/IBackupManager$Stub$Proxy;->setBackupProvisioned(Z)V
-Landroid/app/backup/IBackupManager$Stub$Proxy;->setBackupServiceActive(IZ)V
-Landroid/app/backup/IBackupManager$Stub$Proxy;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;)V
-Landroid/app/backup/IBackupManager$Stub;
-Landroid/app/backup/IBackupManager$Stub;-><init>()V
-Landroid/app/backup/IBackupManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_acknowledgeFullBackupOrRestore:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_adbBackup:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_adbRestore:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_agentConnected:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_agentDisconnected:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_backupNow:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_beginRestoreSession:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_cancelBackups:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_clearBackupData:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_dataChanged:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_filterAppsEligibleForBackup:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_fullTransportBackup:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_getAvailableRestoreToken:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_getConfigurationIntent:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_getCurrentTransport:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_getDataManagementIntent:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_getDataManagementLabel:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_getDestinationString:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_getTransportWhitelist:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_hasBackupPassword:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_initializeTransports:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_isAppEligibleForBackup:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_isBackupEnabled:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_isBackupServiceActive:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_listAllTransportComponents:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_listAllTransports:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_opComplete:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_requestBackup:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_restoreAtInstall:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_selectBackupTransport:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_selectBackupTransportAsync:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_setAutoRestore:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_setBackupEnabled:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_setBackupPassword:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_setBackupProvisioned:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_setBackupServiceActive:I
-Landroid/app/backup/IBackupManager$Stub;->TRANSACTION_updateTransportAttributes:I
-Landroid/app/backup/IBackupManager;
-Landroid/app/backup/IBackupManager;->adbBackup(Landroid/os/ParcelFileDescriptor;ZZZZZZZZ[Ljava/lang/String;)V
-Landroid/app/backup/IBackupManager;->adbRestore(Landroid/os/ParcelFileDescriptor;)V
-Landroid/app/backup/IBackupManager;->agentConnected(Ljava/lang/String;Landroid/os/IBinder;)V
-Landroid/app/backup/IBackupManager;->agentDisconnected(Ljava/lang/String;)V
-Landroid/app/backup/IBackupManager;->backupNow()V
-Landroid/app/backup/IBackupManager;->beginRestoreSession(Ljava/lang/String;Ljava/lang/String;)Landroid/app/backup/IRestoreSession;
-Landroid/app/backup/IBackupManager;->cancelBackups()V
-Landroid/app/backup/IBackupManager;->filterAppsEligibleForBackup([Ljava/lang/String;)[Ljava/lang/String;
-Landroid/app/backup/IBackupManager;->fullTransportBackup([Ljava/lang/String;)V
-Landroid/app/backup/IBackupManager;->getAvailableRestoreToken(Ljava/lang/String;)J
-Landroid/app/backup/IBackupManager;->getConfigurationIntent(Ljava/lang/String;)Landroid/content/Intent;
-Landroid/app/backup/IBackupManager;->getDataManagementIntent(Ljava/lang/String;)Landroid/content/Intent;
-Landroid/app/backup/IBackupManager;->getDataManagementLabel(Ljava/lang/String;)Ljava/lang/String;
-Landroid/app/backup/IBackupManager;->getDestinationString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/app/backup/IBackupManager;->getTransportWhitelist()[Ljava/lang/String;
-Landroid/app/backup/IBackupManager;->hasBackupPassword()Z
-Landroid/app/backup/IBackupManager;->initializeTransports([Ljava/lang/String;Landroid/app/backup/IBackupObserver;)V
-Landroid/app/backup/IBackupManager;->isAppEligibleForBackup(Ljava/lang/String;)Z
-Landroid/app/backup/IBackupManager;->listAllTransportComponents()[Landroid/content/ComponentName;
-Landroid/app/backup/IBackupManager;->opComplete(IJ)V
-Landroid/app/backup/IBackupManager;->requestBackup([Ljava/lang/String;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;I)I
-Landroid/app/backup/IBackupManager;->restoreAtInstall(Ljava/lang/String;I)V
-Landroid/app/backup/IBackupManager;->selectBackupTransportAsync(Landroid/content/ComponentName;Landroid/app/backup/ISelectBackupTransportCallback;)V
-Landroid/app/backup/IBackupManager;->setBackupPassword(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/app/backup/IBackupManager;->setBackupProvisioned(Z)V
-Landroid/app/backup/IBackupManager;->setBackupServiceActive(IZ)V
-Landroid/app/backup/IBackupManager;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;)V
-Landroid/app/backup/IBackupManagerMonitor$Stub$Proxy;
-Landroid/app/backup/IBackupManagerMonitor$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/backup/IBackupManagerMonitor$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/backup/IBackupManagerMonitor$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/backup/IBackupManagerMonitor$Stub$Proxy;->onEvent(Landroid/os/Bundle;)V
-Landroid/app/backup/IBackupManagerMonitor$Stub;
-Landroid/app/backup/IBackupManagerMonitor$Stub;-><init>()V
-Landroid/app/backup/IBackupManagerMonitor$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupManagerMonitor;
-Landroid/app/backup/IBackupManagerMonitor$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/backup/IBackupManagerMonitor$Stub;->TRANSACTION_onEvent:I
-Landroid/app/backup/IBackupManagerMonitor;
-Landroid/app/backup/IBackupManagerMonitor;->onEvent(Landroid/os/Bundle;)V
-Landroid/app/backup/IBackupObserver$Stub$Proxy;
-Landroid/app/backup/IBackupObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/backup/IBackupObserver$Stub$Proxy;->backupFinished(I)V
-Landroid/app/backup/IBackupObserver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/backup/IBackupObserver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/backup/IBackupObserver$Stub$Proxy;->onResult(Ljava/lang/String;I)V
-Landroid/app/backup/IBackupObserver$Stub$Proxy;->onUpdate(Ljava/lang/String;Landroid/app/backup/BackupProgress;)V
-Landroid/app/backup/IBackupObserver$Stub;
-Landroid/app/backup/IBackupObserver$Stub;-><init>()V
-Landroid/app/backup/IBackupObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupObserver;
-Landroid/app/backup/IBackupObserver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/backup/IBackupObserver$Stub;->TRANSACTION_backupFinished:I
-Landroid/app/backup/IBackupObserver$Stub;->TRANSACTION_onResult:I
-Landroid/app/backup/IBackupObserver$Stub;->TRANSACTION_onUpdate:I
-Landroid/app/backup/IBackupObserver;
-Landroid/app/backup/IBackupObserver;->backupFinished(I)V
-Landroid/app/backup/IBackupObserver;->onResult(Ljava/lang/String;I)V
-Landroid/app/backup/IBackupObserver;->onUpdate(Ljava/lang/String;Landroid/app/backup/BackupProgress;)V
-Landroid/app/backup/IFullBackupRestoreObserver$Stub$Proxy;
-Landroid/app/backup/IFullBackupRestoreObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/backup/IFullBackupRestoreObserver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/backup/IFullBackupRestoreObserver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/backup/IFullBackupRestoreObserver$Stub$Proxy;->onBackupPackage(Ljava/lang/String;)V
-Landroid/app/backup/IFullBackupRestoreObserver$Stub$Proxy;->onEndBackup()V
-Landroid/app/backup/IFullBackupRestoreObserver$Stub$Proxy;->onEndRestore()V
-Landroid/app/backup/IFullBackupRestoreObserver$Stub$Proxy;->onRestorePackage(Ljava/lang/String;)V
-Landroid/app/backup/IFullBackupRestoreObserver$Stub$Proxy;->onStartBackup()V
-Landroid/app/backup/IFullBackupRestoreObserver$Stub$Proxy;->onStartRestore()V
-Landroid/app/backup/IFullBackupRestoreObserver$Stub$Proxy;->onTimeout()V
-Landroid/app/backup/IFullBackupRestoreObserver$Stub;
-Landroid/app/backup/IFullBackupRestoreObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IFullBackupRestoreObserver;
-Landroid/app/backup/IFullBackupRestoreObserver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/backup/IFullBackupRestoreObserver$Stub;->TRANSACTION_onBackupPackage:I
-Landroid/app/backup/IFullBackupRestoreObserver$Stub;->TRANSACTION_onEndBackup:I
-Landroid/app/backup/IFullBackupRestoreObserver$Stub;->TRANSACTION_onEndRestore:I
-Landroid/app/backup/IFullBackupRestoreObserver$Stub;->TRANSACTION_onRestorePackage:I
-Landroid/app/backup/IFullBackupRestoreObserver$Stub;->TRANSACTION_onStartBackup:I
-Landroid/app/backup/IFullBackupRestoreObserver$Stub;->TRANSACTION_onStartRestore:I
-Landroid/app/backup/IFullBackupRestoreObserver$Stub;->TRANSACTION_onTimeout:I
-Landroid/app/backup/IFullBackupRestoreObserver;
-Landroid/app/backup/IFullBackupRestoreObserver;->onBackupPackage(Ljava/lang/String;)V
-Landroid/app/backup/IFullBackupRestoreObserver;->onEndBackup()V
-Landroid/app/backup/IFullBackupRestoreObserver;->onEndRestore()V
-Landroid/app/backup/IFullBackupRestoreObserver;->onRestorePackage(Ljava/lang/String;)V
-Landroid/app/backup/IFullBackupRestoreObserver;->onStartBackup()V
-Landroid/app/backup/IFullBackupRestoreObserver;->onStartRestore()V
-Landroid/app/backup/IFullBackupRestoreObserver;->onTimeout()V
-Landroid/app/backup/IRestoreObserver$Stub$Proxy;
-Landroid/app/backup/IRestoreObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/backup/IRestoreObserver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/backup/IRestoreObserver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/backup/IRestoreObserver$Stub$Proxy;->onUpdate(ILjava/lang/String;)V
-Landroid/app/backup/IRestoreObserver$Stub$Proxy;->restoreFinished(I)V
-Landroid/app/backup/IRestoreObserver$Stub$Proxy;->restoreSetsAvailable([Landroid/app/backup/RestoreSet;)V
-Landroid/app/backup/IRestoreObserver$Stub$Proxy;->restoreStarting(I)V
-Landroid/app/backup/IRestoreObserver$Stub;
-Landroid/app/backup/IRestoreObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IRestoreObserver;
-Landroid/app/backup/IRestoreObserver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/backup/IRestoreObserver$Stub;->TRANSACTION_onUpdate:I
-Landroid/app/backup/IRestoreObserver$Stub;->TRANSACTION_restoreFinished:I
-Landroid/app/backup/IRestoreObserver$Stub;->TRANSACTION_restoreSetsAvailable:I
-Landroid/app/backup/IRestoreObserver$Stub;->TRANSACTION_restoreStarting:I
-Landroid/app/backup/IRestoreObserver;
-Landroid/app/backup/IRestoreObserver;->onUpdate(ILjava/lang/String;)V
-Landroid/app/backup/IRestoreObserver;->restoreFinished(I)V
-Landroid/app/backup/IRestoreObserver;->restoreSetsAvailable([Landroid/app/backup/RestoreSet;)V
-Landroid/app/backup/IRestoreObserver;->restoreStarting(I)V
-Landroid/app/backup/IRestoreSession$Stub$Proxy;
-Landroid/app/backup/IRestoreSession$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/backup/IRestoreSession$Stub$Proxy;->endRestoreSession()V
-Landroid/app/backup/IRestoreSession$Stub$Proxy;->getAvailableRestoreSets(Landroid/app/backup/IRestoreObserver;Landroid/app/backup/IBackupManagerMonitor;)I
-Landroid/app/backup/IRestoreSession$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/backup/IRestoreSession$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/backup/IRestoreSession$Stub$Proxy;->restoreAll(JLandroid/app/backup/IRestoreObserver;Landroid/app/backup/IBackupManagerMonitor;)I
-Landroid/app/backup/IRestoreSession$Stub$Proxy;->restorePackage(Ljava/lang/String;Landroid/app/backup/IRestoreObserver;Landroid/app/backup/IBackupManagerMonitor;)I
-Landroid/app/backup/IRestoreSession$Stub$Proxy;->restoreSome(JLandroid/app/backup/IRestoreObserver;Landroid/app/backup/IBackupManagerMonitor;[Ljava/lang/String;)I
-Landroid/app/backup/IRestoreSession$Stub;
-Landroid/app/backup/IRestoreSession$Stub;-><init>()V
-Landroid/app/backup/IRestoreSession$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IRestoreSession;
-Landroid/app/backup/IRestoreSession$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/backup/IRestoreSession$Stub;->TRANSACTION_endRestoreSession:I
-Landroid/app/backup/IRestoreSession$Stub;->TRANSACTION_getAvailableRestoreSets:I
-Landroid/app/backup/IRestoreSession$Stub;->TRANSACTION_restoreAll:I
-Landroid/app/backup/IRestoreSession$Stub;->TRANSACTION_restorePackage:I
-Landroid/app/backup/IRestoreSession$Stub;->TRANSACTION_restoreSome:I
-Landroid/app/backup/IRestoreSession;
-Landroid/app/backup/IRestoreSession;->endRestoreSession()V
-Landroid/app/backup/IRestoreSession;->getAvailableRestoreSets(Landroid/app/backup/IRestoreObserver;Landroid/app/backup/IBackupManagerMonitor;)I
-Landroid/app/backup/IRestoreSession;->restoreAll(JLandroid/app/backup/IRestoreObserver;Landroid/app/backup/IBackupManagerMonitor;)I
-Landroid/app/backup/IRestoreSession;->restorePackage(Ljava/lang/String;Landroid/app/backup/IRestoreObserver;Landroid/app/backup/IBackupManagerMonitor;)I
-Landroid/app/backup/IRestoreSession;->restoreSome(JLandroid/app/backup/IRestoreObserver;Landroid/app/backup/IBackupManagerMonitor;[Ljava/lang/String;)I
-Landroid/app/backup/ISelectBackupTransportCallback$Stub$Proxy;
-Landroid/app/backup/ISelectBackupTransportCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/backup/ISelectBackupTransportCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/backup/ISelectBackupTransportCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/backup/ISelectBackupTransportCallback$Stub$Proxy;->onFailure(I)V
-Landroid/app/backup/ISelectBackupTransportCallback$Stub$Proxy;->onSuccess(Ljava/lang/String;)V
-Landroid/app/backup/ISelectBackupTransportCallback$Stub;
-Landroid/app/backup/ISelectBackupTransportCallback$Stub;-><init>()V
-Landroid/app/backup/ISelectBackupTransportCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/ISelectBackupTransportCallback;
-Landroid/app/backup/ISelectBackupTransportCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/backup/ISelectBackupTransportCallback$Stub;->TRANSACTION_onFailure:I
-Landroid/app/backup/ISelectBackupTransportCallback$Stub;->TRANSACTION_onSuccess:I
-Landroid/app/backup/ISelectBackupTransportCallback;
-Landroid/app/backup/ISelectBackupTransportCallback;->onFailure(I)V
-Landroid/app/backup/ISelectBackupTransportCallback;->onSuccess(Ljava/lang/String;)V
-Landroid/app/backup/RestoreDescription;-><init>(Landroid/os/Parcel;)V
-Landroid/app/backup/RestoreDescription;->mDataType:I
-Landroid/app/backup/RestoreDescription;->mPackageName:Ljava/lang/String;
-Landroid/app/backup/RestoreDescription;->NO_MORE_PACKAGES_SENTINEL:Ljava/lang/String;
-Landroid/app/backup/RestoreSession$BackupManagerMonitorWrapper;
-Landroid/app/backup/RestoreSession$BackupManagerMonitorWrapper;-><init>(Landroid/app/backup/BackupManagerMonitor;)V
-Landroid/app/backup/RestoreSession$BackupManagerMonitorWrapper;->mMonitor:Landroid/app/backup/BackupManagerMonitor;
-Landroid/app/backup/RestoreSession$BackupManagerMonitorWrapper;->onEvent(Landroid/os/Bundle;)V
-Landroid/app/backup/RestoreSession$RestoreObserverWrapper;
-Landroid/app/backup/RestoreSession$RestoreObserverWrapper;-><init>(Landroid/content/Context;Landroid/app/backup/RestoreObserver;)V
-Landroid/app/backup/RestoreSession$RestoreObserverWrapper;->mAppObserver:Landroid/app/backup/RestoreObserver;
-Landroid/app/backup/RestoreSession$RestoreObserverWrapper;->mHandler:Landroid/os/Handler;
-Landroid/app/backup/RestoreSession$RestoreObserverWrapper;->MSG_RESTORE_FINISHED:I
-Landroid/app/backup/RestoreSession$RestoreObserverWrapper;->MSG_RESTORE_SETS_AVAILABLE:I
-Landroid/app/backup/RestoreSession$RestoreObserverWrapper;->MSG_RESTORE_STARTING:I
-Landroid/app/backup/RestoreSession$RestoreObserverWrapper;->MSG_UPDATE:I
-Landroid/app/backup/RestoreSession$RestoreObserverWrapper;->onUpdate(ILjava/lang/String;)V
-Landroid/app/backup/RestoreSession$RestoreObserverWrapper;->restoreFinished(I)V
-Landroid/app/backup/RestoreSession$RestoreObserverWrapper;->restoreSetsAvailable([Landroid/app/backup/RestoreSet;)V
-Landroid/app/backup/RestoreSession$RestoreObserverWrapper;->restoreStarting(I)V
-Landroid/app/backup/RestoreSession;-><init>(Landroid/content/Context;Landroid/app/backup/IRestoreSession;)V
-Landroid/app/backup/RestoreSession;->mBinder:Landroid/app/backup/IRestoreSession;
-Landroid/app/backup/RestoreSession;->mContext:Landroid/content/Context;
-Landroid/app/backup/RestoreSession;->mObserver:Landroid/app/backup/RestoreSession$RestoreObserverWrapper;
-Landroid/app/backup/RestoreSession;->restoreSome(JLandroid/app/backup/RestoreObserver;Landroid/app/backup/BackupManagerMonitor;[Ljava/lang/String;)I
-Landroid/app/backup/RestoreSession;->restoreSome(JLandroid/app/backup/RestoreObserver;[Ljava/lang/String;)I
-Landroid/app/backup/RestoreSession;->TAG:Ljava/lang/String;
-Landroid/app/backup/RestoreSet;-><init>(Landroid/os/Parcel;)V
-Landroid/app/backup/SharedPreferencesBackupHelper;->DEBUG:Z
-Landroid/app/backup/SharedPreferencesBackupHelper;->mContext:Landroid/content/Context;
-Landroid/app/backup/SharedPreferencesBackupHelper;->mPrefGroups:[Ljava/lang/String;
-Landroid/app/backup/SharedPreferencesBackupHelper;->TAG:Ljava/lang/String;
-Landroid/app/backup/WallpaperBackupHelper;
-Landroid/app/backup/WallpaperBackupHelper;-><init>(Landroid/content/Context;[Ljava/lang/String;)V
-Landroid/app/backup/WallpaperBackupHelper;->DEBUG:Z
-Landroid/app/backup/WallpaperBackupHelper;->mKeys:[Ljava/lang/String;
-Landroid/app/backup/WallpaperBackupHelper;->mWpm:Landroid/app/WallpaperManager;
-Landroid/app/backup/WallpaperBackupHelper;->STAGE_FILE:Ljava/lang/String;
-Landroid/app/backup/WallpaperBackupHelper;->TAG:Ljava/lang/String;
-Landroid/app/backup/WallpaperBackupHelper;->WALLPAPER_IMAGE_KEY:Ljava/lang/String;
-Landroid/app/backup/WallpaperBackupHelper;->WALLPAPER_INFO_KEY:Ljava/lang/String;
-Landroid/app/BroadcastOptions;-><init>()V
-Landroid/app/BroadcastOptions;-><init>(Landroid/os/Bundle;)V
-Landroid/app/BroadcastOptions;->getMaxManifestReceiverApiLevel()I
-Landroid/app/BroadcastOptions;->getMinManifestReceiverApiLevel()I
-Landroid/app/BroadcastOptions;->getTemporaryAppWhitelistDuration()J
-Landroid/app/BroadcastOptions;->isDontSendToRestrictedApps()Z
-Landroid/app/BroadcastOptions;->KEY_DONT_SEND_TO_RESTRICTED_APPS:Ljava/lang/String;
-Landroid/app/BroadcastOptions;->KEY_MAX_MANIFEST_RECEIVER_API_LEVEL:Ljava/lang/String;
-Landroid/app/BroadcastOptions;->KEY_MIN_MANIFEST_RECEIVER_API_LEVEL:Ljava/lang/String;
-Landroid/app/BroadcastOptions;->KEY_TEMPORARY_APP_WHITELIST_DURATION:Ljava/lang/String;
-Landroid/app/BroadcastOptions;->mDontSendToRestrictedApps:Z
-Landroid/app/BroadcastOptions;->mMaxManifestReceiverApiLevel:I
-Landroid/app/BroadcastOptions;->mMinManifestReceiverApiLevel:I
-Landroid/app/BroadcastOptions;->mTemporaryAppWhitelistDuration:J
-Landroid/app/BroadcastOptions;->setMaxManifestReceiverApiLevel(I)V
-Landroid/app/BroadcastOptions;->setMinManifestReceiverApiLevel(I)V
-Landroid/app/ClientTransactionHandler;
-Landroid/app/ClientTransactionHandler;-><init>()V
-Landroid/app/ClientTransactionHandler;->executeTransaction(Landroid/app/servertransaction/ClientTransaction;)V
-Landroid/app/ClientTransactionHandler;->getActivityClient(Landroid/os/IBinder;)Landroid/app/ActivityThread$ActivityClientRecord;
-Landroid/app/ClientTransactionHandler;->getPackageInfoNoCheck(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;)Landroid/app/LoadedApk;
-Landroid/app/ClientTransactionHandler;->getTransactionExecutor()Landroid/app/servertransaction/TransactionExecutor;
-Landroid/app/ClientTransactionHandler;->handleActivityConfigurationChanged(Landroid/os/IBinder;Landroid/content/res/Configuration;I)V
-Landroid/app/ClientTransactionHandler;->handleConfigurationChanged(Landroid/content/res/Configuration;)V
-Landroid/app/ClientTransactionHandler;->handleDestroyActivity(Landroid/os/IBinder;ZIZLjava/lang/String;)V
-Landroid/app/ClientTransactionHandler;->handleLaunchActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions;Landroid/content/Intent;)Landroid/app/Activity;
-Landroid/app/ClientTransactionHandler;->handleMultiWindowModeChanged(Landroid/os/IBinder;ZLandroid/content/res/Configuration;)V
-Landroid/app/ClientTransactionHandler;->handleNewIntent(Landroid/os/IBinder;Ljava/util/List;Z)V
-Landroid/app/ClientTransactionHandler;->handlePauseActivity(Landroid/os/IBinder;ZZILandroid/app/servertransaction/PendingTransactionActions;Ljava/lang/String;)V
-Landroid/app/ClientTransactionHandler;->handlePictureInPictureModeChanged(Landroid/os/IBinder;ZLandroid/content/res/Configuration;)V
-Landroid/app/ClientTransactionHandler;->handleRelaunchActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/ClientTransactionHandler;->handleResumeActivity(Landroid/os/IBinder;ZZLjava/lang/String;)V
-Landroid/app/ClientTransactionHandler;->handleSendResult(Landroid/os/IBinder;Ljava/util/List;Ljava/lang/String;)V
-Landroid/app/ClientTransactionHandler;->handleStartActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/ClientTransactionHandler;->handleStopActivity(Landroid/os/IBinder;ZILandroid/app/servertransaction/PendingTransactionActions;ZLjava/lang/String;)V
-Landroid/app/ClientTransactionHandler;->handleWindowVisibility(Landroid/os/IBinder;Z)V
-Landroid/app/ClientTransactionHandler;->performRestartActivity(Landroid/os/IBinder;Z)V
-Landroid/app/ClientTransactionHandler;->prepareRelaunchActivity(Landroid/os/IBinder;Ljava/util/List;Ljava/util/List;ILandroid/util/MergedConfiguration;Z)Landroid/app/ActivityThread$ActivityClientRecord;
-Landroid/app/ClientTransactionHandler;->reportRelaunch(Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/ClientTransactionHandler;->reportStop(Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/ClientTransactionHandler;->scheduleTransaction(Landroid/app/servertransaction/ClientTransaction;)V
-Landroid/app/ClientTransactionHandler;->sendMessage(ILjava/lang/Object;)V
-Landroid/app/ClientTransactionHandler;->updatePendingConfiguration(Landroid/content/res/Configuration;)V
-Landroid/app/ClientTransactionHandler;->updateProcessState(IZ)V
-Landroid/app/ContentProviderHolder;
-Landroid/app/ContentProviderHolder;->connection:Landroid/os/IBinder;
-Landroid/app/ContentProviderHolder;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/ContextImpl$ApplicationContentResolver;
-Landroid/app/ContextImpl$ApplicationContentResolver;-><init>(Landroid/content/Context;Landroid/app/ActivityThread;)V
-Landroid/app/ContextImpl$ApplicationContentResolver;->acquireExistingProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
-Landroid/app/ContextImpl$ApplicationContentResolver;->acquireUnstableProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
-Landroid/app/ContextImpl$ApplicationContentResolver;->appNotRespondingViaProvider(Landroid/content/IContentProvider;)V
-Landroid/app/ContextImpl$ApplicationContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
-Landroid/app/ContextImpl$ApplicationContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
-Landroid/app/ContextImpl$ApplicationContentResolver;->resolveUserIdFromAuthority(Ljava/lang/String;)I
-Landroid/app/ContextImpl$ApplicationContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
-Landroid/app/ContextImpl$ServiceInitializationState;
-Landroid/app/ContextImpl;
-Landroid/app/ContextImpl;-><init>(Landroid/app/ContextImpl;Landroid/app/ActivityThread;Landroid/app/LoadedApk;Ljava/lang/String;Landroid/os/IBinder;Landroid/os/UserHandle;ILjava/lang/ClassLoader;)V
-Landroid/app/ContextImpl;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/Handler;Landroid/os/UserHandle;)Z
-Landroid/app/ContextImpl;->bindServiceCommon(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/Handler;Landroid/os/UserHandle;)Z
-Landroid/app/ContextImpl;->canLoadUnsafeResources()Z
-Landroid/app/ContextImpl;->checkMode(I)V
-Landroid/app/ContextImpl;->checkPermission(Ljava/lang/String;IILandroid/os/IBinder;)I
-Landroid/app/ContextImpl;->checkUriPermission(Landroid/net/Uri;IIILandroid/os/IBinder;)I
-Landroid/app/ContextImpl;->createApplicationContext(Landroid/content/pm/ApplicationInfo;I)Landroid/content/Context;
-Landroid/app/ContextImpl;->createResources(Landroid/os/IBinder;Landroid/app/LoadedApk;Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources;
-Landroid/app/ContextImpl;->createSystemUiContext(Landroid/app/ContextImpl;)Landroid/app/ContextImpl;
-Landroid/app/ContextImpl;->DEBUG:Z
-Landroid/app/ContextImpl;->enforce(Ljava/lang/String;IZILjava/lang/String;)V
-Landroid/app/ContextImpl;->enforceForUri(IIZILandroid/net/Uri;Ljava/lang/String;)V
-Landroid/app/ContextImpl;->ensureExternalDirsExistOrFilter([Ljava/io/File;)[Ljava/io/File;
-Landroid/app/ContextImpl;->ensurePrivateCacheDirExists(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
-Landroid/app/ContextImpl;->ensurePrivateDirExists(Ljava/io/File;)Ljava/io/File;
-Landroid/app/ContextImpl;->ensurePrivateDirExists(Ljava/io/File;IILjava/lang/String;)Ljava/io/File;
-Landroid/app/ContextImpl;->getAutofillClient()Landroid/view/autofill/AutofillManager$AutofillClient;
-Landroid/app/ContextImpl;->getBasePackageName()Ljava/lang/String;
-Landroid/app/ContextImpl;->getDatabasesDir()Ljava/io/File;
-Landroid/app/ContextImpl;->getDisplayAdjustments(I)Landroid/view/DisplayAdjustments;
-Landroid/app/ContextImpl;->getIApplicationThread()Landroid/app/IApplicationThread;
-Landroid/app/ContextImpl;->getMainThreadHandler()Landroid/os/Handler;
-Landroid/app/ContextImpl;->getOpPackageName()Ljava/lang/String;
-Landroid/app/ContextImpl;->getServiceDispatcher(Landroid/content/ServiceConnection;Landroid/os/Handler;I)Landroid/app/IServiceConnection;
-Landroid/app/ContextImpl;->getSharedPreferencesCacheLocked()Landroid/util/ArrayMap;
-Landroid/app/ContextImpl;->getThemeResId()I
-Landroid/app/ContextImpl;->getWallpaperManager()Landroid/app/WallpaperManager;
-Landroid/app/ContextImpl;->initializeTheme()V
-Landroid/app/ContextImpl;->installSystemApplicationInfo(Landroid/content/pm/ApplicationInfo;Ljava/lang/ClassLoader;)V
-Landroid/app/ContextImpl;->isAutofillCompatibilityEnabled()Z
-Landroid/app/ContextImpl;->mActivityToken:Landroid/os/IBinder;
-Landroid/app/ContextImpl;->makeFilename(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
-Landroid/app/ContextImpl;->mAutofillClient:Landroid/view/autofill/AutofillManager$AutofillClient;
-Landroid/app/ContextImpl;->mCacheDir:Ljava/io/File;
-Landroid/app/ContextImpl;->mCodeCacheDir:Ljava/io/File;
-Landroid/app/ContextImpl;->mDatabasesDir:Ljava/io/File;
-Landroid/app/ContextImpl;->mDisplay:Landroid/view/Display;
-Landroid/app/ContextImpl;->mFilesDir:Ljava/io/File;
-Landroid/app/ContextImpl;->mIsAutofillCompatEnabled:Z
-Landroid/app/ContextImpl;->mNoBackupFilesDir:Ljava/io/File;
-Landroid/app/ContextImpl;->moveFiles(Ljava/io/File;Ljava/io/File;Ljava/lang/String;)I
-Landroid/app/ContextImpl;->mReceiverRestrictedContext:Landroid/content/Context;
-Landroid/app/ContextImpl;->mResourcesManager:Landroid/app/ResourcesManager;
-Landroid/app/ContextImpl;->mServiceInitializationStateArray:[I
-Landroid/app/ContextImpl;->mSplitName:Ljava/lang/String;
-Landroid/app/ContextImpl;->mSync:Ljava/lang/Object;
-Landroid/app/ContextImpl;->mUser:Landroid/os/UserHandle;
-Landroid/app/ContextImpl;->performFinalCleanup(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/ContextImpl;->registerReceiverAsUser(Landroid/content/BroadcastReceiver;Landroid/os/UserHandle;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
-Landroid/app/ContextImpl;->registerReceiverInternal(Landroid/content/BroadcastReceiver;ILandroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;Landroid/content/Context;I)Landroid/content/Intent;
-Landroid/app/ContextImpl;->reloadSharedPreferences()V
-Landroid/app/ContextImpl;->resolveUserId(Landroid/net/Uri;)I
-Landroid/app/ContextImpl;->sendBroadcast(Landroid/content/Intent;Ljava/lang/String;I)V
-Landroid/app/ContextImpl;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;I)V
-Landroid/app/ContextImpl;->sendBroadcastAsUserMultiplePermissions(Landroid/content/Intent;Landroid/os/UserHandle;[Ljava/lang/String;)V
-Landroid/app/ContextImpl;->sendBroadcastMultiplePermissions(Landroid/content/Intent;[Ljava/lang/String;)V
-Landroid/app/ContextImpl;->sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;ILandroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V
-Landroid/app/ContextImpl;->sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;ILandroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;)V
-Landroid/app/ContextImpl;->sendOrderedBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;ILandroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V
-Landroid/app/ContextImpl;->sendOrderedBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;ILandroid/os/Bundle;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V
-Landroid/app/ContextImpl;->sendStickyBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Landroid/os/Bundle;)V
-Landroid/app/ContextImpl;->setAutofillClient(Landroid/view/autofill/AutofillManager$AutofillClient;)V
-Landroid/app/ContextImpl;->setFilePermissionsFromMode(Ljava/lang/String;II)V
-Landroid/app/ContextImpl;->setResources(Landroid/content/res/Resources;)V
-Landroid/app/ContextImpl;->startActivitiesAsUser([Landroid/content/Intent;Landroid/os/Bundle;Landroid/os/UserHandle;)I
-Landroid/app/ContextImpl;->startActivityAsUser(Landroid/content/Intent;Landroid/os/Bundle;Landroid/os/UserHandle;)V
-Landroid/app/ContextImpl;->startActivityAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
-Landroid/app/ContextImpl;->startForegroundServiceAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)Landroid/content/ComponentName;
-Landroid/app/ContextImpl;->startServiceAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)Landroid/content/ComponentName;
-Landroid/app/ContextImpl;->startServiceCommon(Landroid/content/Intent;ZLandroid/os/UserHandle;)Landroid/content/ComponentName;
-Landroid/app/ContextImpl;->STATE_INITIALIZING:I
-Landroid/app/ContextImpl;->STATE_NOT_FOUND:I
-Landroid/app/ContextImpl;->STATE_READY:I
-Landroid/app/ContextImpl;->STATE_UNINITIALIZED:I
-Landroid/app/ContextImpl;->stopServiceAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)Z
-Landroid/app/ContextImpl;->stopServiceCommon(Landroid/content/Intent;Landroid/os/UserHandle;)Z
-Landroid/app/ContextImpl;->TAG:Ljava/lang/String;
-Landroid/app/ContextImpl;->updateDisplay(I)V
-Landroid/app/ContextImpl;->uriModeFlagToString(I)Ljava/lang/String;
-Landroid/app/ContextImpl;->validateServiceIntent(Landroid/content/Intent;)V
-Landroid/app/ContextImpl;->warnIfCallingFromSystemProcess()V
-Landroid/app/ContextImpl;->XATTR_INODE_CACHE:Ljava/lang/String;
-Landroid/app/ContextImpl;->XATTR_INODE_CODE_CACHE:Ljava/lang/String;
-Landroid/app/DatePickerDialog;-><init>(Landroid/content/Context;ILandroid/app/DatePickerDialog$OnDateSetListener;Ljava/util/Calendar;III)V
-Landroid/app/DatePickerDialog;->DAY:Ljava/lang/String;
-Landroid/app/DatePickerDialog;->mDateSetListener:Landroid/app/DatePickerDialog$OnDateSetListener;
-Landroid/app/DatePickerDialog;->MONTH:Ljava/lang/String;
-Landroid/app/DatePickerDialog;->mValidationCallback:Landroid/widget/DatePicker$ValidationCallback;
-Landroid/app/DatePickerDialog;->resolveDialogTheme(Landroid/content/Context;I)I
-Landroid/app/DatePickerDialog;->YEAR:Ljava/lang/String;
-Landroid/app/Dialog$ListenersHandler;
-Landroid/app/Dialog$ListenersHandler;-><init>(Landroid/app/Dialog;)V
-Landroid/app/Dialog$ListenersHandler;->mDialog:Ljava/lang/ref/WeakReference;
-Landroid/app/Dialog;-><init>(Landroid/content/Context;IZ)V
-Landroid/app/Dialog;-><init>(Landroid/content/Context;ZLandroid/os/Message;)V
-Landroid/app/Dialog;->DIALOG_HIERARCHY_TAG:Ljava/lang/String;
-Landroid/app/Dialog;->DIALOG_SHOWING_TAG:Ljava/lang/String;
-Landroid/app/Dialog;->DISMISS:I
-Landroid/app/Dialog;->dispatchOnCreate(Landroid/os/Bundle;)V
-Landroid/app/Dialog;->getAssociatedActivity()Landroid/content/ComponentName;
-Landroid/app/Dialog;->mActionBar:Landroid/app/ActionBar;
-Landroid/app/Dialog;->mActionMode:Landroid/view/ActionMode;
-Landroid/app/Dialog;->mActionModeTypeStarting:I
-Landroid/app/Dialog;->mCancelable:Z
-Landroid/app/Dialog;->mCancelAndDismissTaken:Ljava/lang/String;
-Landroid/app/Dialog;->mCanceled:Z
-Landroid/app/Dialog;->mCreated:Z
-Landroid/app/Dialog;->mDecor:Landroid/view/View;
-Landroid/app/Dialog;->mDismissAction:Ljava/lang/Runnable;
-Landroid/app/Dialog;->mSearchEvent:Landroid/view/SearchEvent;
-Landroid/app/Dialog;->mWindowManager:Landroid/view/WindowManager;
-Landroid/app/Dialog;->onWindowDismissed(ZZ)V
-Landroid/app/Dialog;->sendDismissMessage()V
-Landroid/app/Dialog;->sendShowMessage()V
-Landroid/app/Dialog;->SHOW:I
-Landroid/app/Dialog;->TAG:Ljava/lang/String;
-Landroid/app/Dialog;->takeCancelAndDismissListeners(Ljava/lang/String;Landroid/content/DialogInterface$OnCancelListener;Landroid/content/DialogInterface$OnDismissListener;)Z
-Landroid/app/Dialog;->updateWindowForCancelable()V
-Landroid/app/DialogFragment;->dismissInternal(Z)V
-Landroid/app/DialogFragment;->mCancelable:Z
-Landroid/app/DialogFragment;->mDialog:Landroid/app/Dialog;
-Landroid/app/DialogFragment;->mShowsDialog:Z
-Landroid/app/DialogFragment;->mStyle:I
-Landroid/app/DialogFragment;->mTheme:I
-Landroid/app/DialogFragment;->SAVED_BACK_STACK_ID:Ljava/lang/String;
-Landroid/app/DialogFragment;->SAVED_CANCELABLE:Ljava/lang/String;
-Landroid/app/DialogFragment;->SAVED_DIALOG_STATE_TAG:Ljava/lang/String;
-Landroid/app/DialogFragment;->SAVED_SHOWS_DIALOG:Ljava/lang/String;
-Landroid/app/DialogFragment;->SAVED_STYLE:Ljava/lang/String;
-Landroid/app/DialogFragment;->SAVED_THEME:Ljava/lang/String;
-Landroid/app/DownloadManager$CursorTranslator;
-Landroid/app/DownloadManager$CursorTranslator;-><init>(Landroid/database/Cursor;Landroid/net/Uri;Z)V
-Landroid/app/DownloadManager$CursorTranslator;->getErrorCode(I)J
-Landroid/app/DownloadManager$CursorTranslator;->getLocalUri()Ljava/lang/String;
-Landroid/app/DownloadManager$CursorTranslator;->getPausedReason(I)J
-Landroid/app/DownloadManager$CursorTranslator;->getReason(I)J
-Landroid/app/DownloadManager$CursorTranslator;->mAccessFilename:Z
-Landroid/app/DownloadManager$CursorTranslator;->mBaseUri:Landroid/net/Uri;
-Landroid/app/DownloadManager$CursorTranslator;->translateStatus(I)I
-Landroid/app/DownloadManager$Query;->joinStrings(Ljava/lang/String;Ljava/lang/Iterable;)Ljava/lang/String;
-Landroid/app/DownloadManager$Query;->mFilterString:Ljava/lang/String;
-Landroid/app/DownloadManager$Query;->mIds:[J
-Landroid/app/DownloadManager$Query;->mOnlyIncludeVisibleInDownloadsUi:Z
-Landroid/app/DownloadManager$Query;->mOrderByColumn:Ljava/lang/String;
-Landroid/app/DownloadManager$Query;->mOrderDirection:I
-Landroid/app/DownloadManager$Query;->mStatusFlags:Ljava/lang/Integer;
-Landroid/app/DownloadManager$Query;->ORDER_ASCENDING:I
-Landroid/app/DownloadManager$Query;->ORDER_DESCENDING:I
-Landroid/app/DownloadManager$Query;->runQuery(Landroid/content/ContentResolver;[Ljava/lang/String;Landroid/net/Uri;)Landroid/database/Cursor;
-Landroid/app/DownloadManager$Query;->setFilterByString(Ljava/lang/String;)Landroid/app/DownloadManager$Query;
-Landroid/app/DownloadManager$Query;->statusClause(Ljava/lang/String;I)Ljava/lang/String;
-Landroid/app/DownloadManager$Request;-><init>(Ljava/lang/String;)V
-Landroid/app/DownloadManager$Request;->encodeHttpHeaders(Landroid/content/ContentValues;)V
-Landroid/app/DownloadManager$Request;->mAllowedNetworkTypes:I
-Landroid/app/DownloadManager$Request;->mDescription:Ljava/lang/CharSequence;
-Landroid/app/DownloadManager$Request;->mDestinationUri:Landroid/net/Uri;
-Landroid/app/DownloadManager$Request;->mFlags:I
-Landroid/app/DownloadManager$Request;->mIsVisibleInDownloadsUi:Z
-Landroid/app/DownloadManager$Request;->mMeteredAllowed:Z
-Landroid/app/DownloadManager$Request;->mMimeType:Ljava/lang/String;
-Landroid/app/DownloadManager$Request;->mNotificationVisibility:I
-Landroid/app/DownloadManager$Request;->mRequestHeaders:Ljava/util/List;
-Landroid/app/DownloadManager$Request;->mRoamingAllowed:Z
-Landroid/app/DownloadManager$Request;->mScannable:Z
-Landroid/app/DownloadManager$Request;->mTitle:Ljava/lang/CharSequence;
-Landroid/app/DownloadManager$Request;->NETWORK_BLUETOOTH:I
-Landroid/app/DownloadManager$Request;->putIfNonNull(Landroid/content/ContentValues;Ljava/lang/String;Ljava/lang/Object;)V
-Landroid/app/DownloadManager$Request;->SCANNABLE_VALUE_NO:I
-Landroid/app/DownloadManager$Request;->SCANNABLE_VALUE_YES:I
-Landroid/app/DownloadManager$Request;->setDestinationFromBase(Ljava/io/File;Ljava/lang/String;)V
-Landroid/app/DownloadManager$Request;->toContentValues(Ljava/lang/String;)Landroid/content/ContentValues;
-Landroid/app/DownloadManager;-><init>(Landroid/content/Context;)V
-Landroid/app/DownloadManager;->addCompletedDownload(Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;JZZ)J
-Landroid/app/DownloadManager;->addCompletedDownload(Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;JZZLandroid/net/Uri;Landroid/net/Uri;)J
-Landroid/app/DownloadManager;->COLUMN_ALLOW_WRITE:Ljava/lang/String;
-Landroid/app/DownloadManager;->ERROR_BLOCKED:I
-Landroid/app/DownloadManager;->forceDownload([[J)V
-Landroid/app/DownloadManager;->getActiveNetworkWarningBytes(Landroid/content/Context;)J
-Landroid/app/DownloadManager;->getDownloadUri(J)Landroid/net/Uri;
-Landroid/app/DownloadManager;->getWhereArgsForIds([J[Ljava/lang/String;)[Ljava/lang/String;
-Landroid/app/DownloadManager;->isActiveNetworkExpensive(Landroid/content/Context;)Z
-Landroid/app/DownloadManager;->mAccessFilename:Z
-Landroid/app/DownloadManager;->markRowDeleted([[J)I
-Landroid/app/DownloadManager;->mBaseUri:Landroid/net/Uri;
-Landroid/app/DownloadManager;->mPackageName:Ljava/lang/String;
-Landroid/app/DownloadManager;->mResolver:Landroid/content/ContentResolver;
-Landroid/app/DownloadManager;->NON_DOWNLOADMANAGER_DOWNLOAD:Ljava/lang/String;
-Landroid/app/DownloadManager;->rename(Landroid/content/Context;JLjava/lang/String;)Z
-Landroid/app/DownloadManager;->validateArgumentIsNonEmpty(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/EnterTransitionCoordinator;
-Landroid/app/EnterTransitionCoordinator;-><init>(Landroid/app/Activity;Landroid/os/ResultReceiver;Ljava/util/ArrayList;ZZ)V
-Landroid/app/EnterTransitionCoordinator;->allowOverlappingTransitions()Z
-Landroid/app/EnterTransitionCoordinator;->beginTransition(Landroid/view/ViewGroup;ZZ)Landroid/transition/Transition;
-Landroid/app/EnterTransitionCoordinator;->cancel()V
-Landroid/app/EnterTransitionCoordinator;->cancelEnter()Z
-Landroid/app/EnterTransitionCoordinator;->clearState()V
-Landroid/app/EnterTransitionCoordinator;->forceViewsToAppear()V
-Landroid/app/EnterTransitionCoordinator;->getEnterViewsTransition()Landroid/transition/Transition;
-Landroid/app/EnterTransitionCoordinator;->getListener(Landroid/app/Activity;Z)Landroid/app/SharedElementCallback;
-Landroid/app/EnterTransitionCoordinator;->getSharedElementTransition()Landroid/transition/Transition;
-Landroid/app/EnterTransitionCoordinator;->getViewsTransition()Landroid/transition/Transition;
-Landroid/app/EnterTransitionCoordinator;->isCrossTask()Z
-Landroid/app/EnterTransitionCoordinator;->isReturning()Z
-Landroid/app/EnterTransitionCoordinator;->isWaitingForRemoteExit()Z
-Landroid/app/EnterTransitionCoordinator;->mActivity:Landroid/app/Activity;
-Landroid/app/EnterTransitionCoordinator;->makeOpaque()V
-Landroid/app/EnterTransitionCoordinator;->mapNamedElements(Ljava/util/ArrayList;Ljava/util/ArrayList;)Landroid/util/ArrayMap;
-Landroid/app/EnterTransitionCoordinator;->mAreViewsReady:Z
-Landroid/app/EnterTransitionCoordinator;->mBackgroundAnimator:Landroid/animation/ObjectAnimator;
-Landroid/app/EnterTransitionCoordinator;->mEnterViewsTransition:Landroid/transition/Transition;
-Landroid/app/EnterTransitionCoordinator;->mHasStopped:Z
-Landroid/app/EnterTransitionCoordinator;->MIN_ANIMATION_FRAMES:I
-Landroid/app/EnterTransitionCoordinator;->mIsCanceled:Z
-Landroid/app/EnterTransitionCoordinator;->mIsCrossTask:Z
-Landroid/app/EnterTransitionCoordinator;->mIsExitTransitionComplete:Z
-Landroid/app/EnterTransitionCoordinator;->mIsReadyForTransition:Z
-Landroid/app/EnterTransitionCoordinator;->mIsViewsTransitionStarted:Z
-Landroid/app/EnterTransitionCoordinator;->mReplacedBackground:Landroid/graphics/drawable/Drawable;
-Landroid/app/EnterTransitionCoordinator;->mSharedElementsBundle:Landroid/os/Bundle;
-Landroid/app/EnterTransitionCoordinator;->mSharedElementTransitionStarted:Z
-Landroid/app/EnterTransitionCoordinator;->mViewsReadyListener:Lcom/android/internal/view/OneShotPreDrawListener;
-Landroid/app/EnterTransitionCoordinator;->mWasOpaque:Z
-Landroid/app/EnterTransitionCoordinator;->namedViewsReady(Ljava/util/ArrayList;Ljava/util/ArrayList;)V
-Landroid/app/EnterTransitionCoordinator;->onRemoteExitTransitionComplete()V
-Landroid/app/EnterTransitionCoordinator;->onTakeSharedElements()V
-Landroid/app/EnterTransitionCoordinator;->onTransitionsComplete()V
-Landroid/app/EnterTransitionCoordinator;->prepareEnter()V
-Landroid/app/EnterTransitionCoordinator;->removeNullViews(Ljava/util/ArrayList;)V
-Landroid/app/EnterTransitionCoordinator;->requestLayoutForSharedElements()V
-Landroid/app/EnterTransitionCoordinator;->sendSharedElementDestination()V
-Landroid/app/EnterTransitionCoordinator;->sharedElementTransitionStarted()V
-Landroid/app/EnterTransitionCoordinator;->startEnterTransition(Landroid/transition/Transition;)V
-Landroid/app/EnterTransitionCoordinator;->startEnterTransitionOnly()V
-Landroid/app/EnterTransitionCoordinator;->startRejectedAnimations(Ljava/util/ArrayList;)V
-Landroid/app/EnterTransitionCoordinator;->startSharedElementTransition(Landroid/os/Bundle;)V
-Landroid/app/EnterTransitionCoordinator;->stop()V
-Landroid/app/EnterTransitionCoordinator;->TAG:Ljava/lang/String;
-Landroid/app/EnterTransitionCoordinator;->triggerViewsReady(Landroid/util/ArrayMap;)V
-Landroid/app/EnterTransitionCoordinator;->viewInstancesReady(Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;)V
-Landroid/app/EnterTransitionCoordinator;->viewsReady(Landroid/util/ArrayMap;)V
-Landroid/app/ExitTransitionCoordinator$HideSharedElementsCallback;
-Landroid/app/ExitTransitionCoordinator$HideSharedElementsCallback;->hideSharedElements()V
-Landroid/app/ExitTransitionCoordinator;
-Landroid/app/ExitTransitionCoordinator;-><init>(Landroid/app/Activity;Landroid/view/Window;Landroid/app/SharedElementCallback;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;Z)V
-Landroid/app/ExitTransitionCoordinator;->beginTransitions()V
-Landroid/app/ExitTransitionCoordinator;->captureExitSharedElementsState()Landroid/os/Bundle;
-Landroid/app/ExitTransitionCoordinator;->clearState()V
-Landroid/app/ExitTransitionCoordinator;->delayCancel()V
-Landroid/app/ExitTransitionCoordinator;->fadeOutBackground()V
-Landroid/app/ExitTransitionCoordinator;->finish()V
-Landroid/app/ExitTransitionCoordinator;->finishIfNecessary()V
-Landroid/app/ExitTransitionCoordinator;->getExitTransition()Landroid/transition/Transition;
-Landroid/app/ExitTransitionCoordinator;->getSharedElementExitTransition()Landroid/transition/Transition;
-Landroid/app/ExitTransitionCoordinator;->getSharedElementTransition()Landroid/transition/Transition;
-Landroid/app/ExitTransitionCoordinator;->getViewsTransition()Landroid/transition/Transition;
-Landroid/app/ExitTransitionCoordinator;->hideSharedElements()V
-Landroid/app/ExitTransitionCoordinator;->isReadyToNotify()Z
-Landroid/app/ExitTransitionCoordinator;->mActivity:Landroid/app/Activity;
-Landroid/app/ExitTransitionCoordinator;->MAX_WAIT_MS:J
-Landroid/app/ExitTransitionCoordinator;->mBackgroundAnimator:Landroid/animation/ObjectAnimator;
-Landroid/app/ExitTransitionCoordinator;->mExitNotified:Z
-Landroid/app/ExitTransitionCoordinator;->mExitSharedElementBundle:Landroid/os/Bundle;
-Landroid/app/ExitTransitionCoordinator;->mHandler:Landroid/os/Handler;
-Landroid/app/ExitTransitionCoordinator;->mHideSharedElementsCallback:Landroid/app/ExitTransitionCoordinator$HideSharedElementsCallback;
-Landroid/app/ExitTransitionCoordinator;->mIsBackgroundReady:Z
-Landroid/app/ExitTransitionCoordinator;->mIsCanceled:Z
-Landroid/app/ExitTransitionCoordinator;->mIsExitStarted:Z
-Landroid/app/ExitTransitionCoordinator;->mIsHidden:Z
-Landroid/app/ExitTransitionCoordinator;->moveSharedElementWithParent()Z
-Landroid/app/ExitTransitionCoordinator;->mSharedElementBundle:Landroid/os/Bundle;
-Landroid/app/ExitTransitionCoordinator;->mSharedElementNotified:Z
-Landroid/app/ExitTransitionCoordinator;->mSharedElementsHidden:Z
-Landroid/app/ExitTransitionCoordinator;->notifyComplete()V
-Landroid/app/ExitTransitionCoordinator;->notifyExitComplete()V
-Landroid/app/ExitTransitionCoordinator;->onTransitionsComplete()V
-Landroid/app/ExitTransitionCoordinator;->resetViews()V
-Landroid/app/ExitTransitionCoordinator;->setHideSharedElementsCallback(Landroid/app/ExitTransitionCoordinator$HideSharedElementsCallback;)V
-Landroid/app/ExitTransitionCoordinator;->sharedElementExitBack()V
-Landroid/app/ExitTransitionCoordinator;->sharedElementTransitionComplete()V
-Landroid/app/ExitTransitionCoordinator;->startExit()V
-Landroid/app/ExitTransitionCoordinator;->startExit(ILandroid/content/Intent;)V
-Landroid/app/ExitTransitionCoordinator;->startExitTransition()V
-Landroid/app/ExitTransitionCoordinator;->startSharedElementExit(Landroid/view/ViewGroup;)V
-Landroid/app/ExitTransitionCoordinator;->stop()V
-Landroid/app/ExitTransitionCoordinator;->stopCancel()V
-Landroid/app/ExitTransitionCoordinator;->TAG:Ljava/lang/String;
-Landroid/app/ExpandableListActivity;->ensureList()V
-Landroid/app/ExpandableListActivity;->mAdapter:Landroid/widget/ExpandableListAdapter;
-Landroid/app/ExpandableListActivity;->mFinishedStart:Z
-Landroid/app/ExpandableListActivity;->mList:Landroid/widget/ExpandableListView;
-Landroid/app/Fragment$AnimationInfo;
-Landroid/app/Fragment$AnimationInfo;-><init>()V
-Landroid/app/Fragment$AnimationInfo;->mAllowEnterTransitionOverlap:Ljava/lang/Boolean;
-Landroid/app/Fragment$AnimationInfo;->mAllowReturnTransitionOverlap:Ljava/lang/Boolean;
-Landroid/app/Fragment$AnimationInfo;->mAnimatingAway:Landroid/animation/Animator;
-Landroid/app/Fragment$AnimationInfo;->mEnterTransition:Landroid/transition/Transition;
-Landroid/app/Fragment$AnimationInfo;->mEnterTransitionCallback:Landroid/app/SharedElementCallback;
-Landroid/app/Fragment$AnimationInfo;->mEnterTransitionPostponed:Z
-Landroid/app/Fragment$AnimationInfo;->mExitTransition:Landroid/transition/Transition;
-Landroid/app/Fragment$AnimationInfo;->mExitTransitionCallback:Landroid/app/SharedElementCallback;
-Landroid/app/Fragment$AnimationInfo;->mIsHideReplaced:Z
-Landroid/app/Fragment$AnimationInfo;->mNextAnim:I
-Landroid/app/Fragment$AnimationInfo;->mNextTransition:I
-Landroid/app/Fragment$AnimationInfo;->mNextTransitionStyle:I
-Landroid/app/Fragment$AnimationInfo;->mReenterTransition:Landroid/transition/Transition;
-Landroid/app/Fragment$AnimationInfo;->mReturnTransition:Landroid/transition/Transition;
-Landroid/app/Fragment$AnimationInfo;->mSharedElementEnterTransition:Landroid/transition/Transition;
-Landroid/app/Fragment$AnimationInfo;->mSharedElementReturnTransition:Landroid/transition/Transition;
-Landroid/app/Fragment$AnimationInfo;->mStartEnterTransitionListener:Landroid/app/Fragment$OnStartEnterTransitionListener;
-Landroid/app/Fragment$AnimationInfo;->mStateAfterAnimating:I
-Landroid/app/Fragment$OnStartEnterTransitionListener;
-Landroid/app/Fragment$OnStartEnterTransitionListener;->onStartEnterTransition()V
-Landroid/app/Fragment$OnStartEnterTransitionListener;->startListening()V
-Landroid/app/Fragment$SavedState;-><init>(Landroid/os/Bundle;)V
-Landroid/app/Fragment$SavedState;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V
-Landroid/app/Fragment$SavedState;->mState:Landroid/os/Bundle;
-Landroid/app/Fragment;->ACTIVITY_CREATED:I
-Landroid/app/Fragment;->callStartTransitionListener()V
-Landroid/app/Fragment;->CREATED:I
-Landroid/app/Fragment;->ensureAnimationInfo()Landroid/app/Fragment$AnimationInfo;
-Landroid/app/Fragment;->findFragmentByWho(Ljava/lang/String;)Landroid/app/Fragment;
-Landroid/app/Fragment;->getAnimatingAway()Landroid/animation/Animator;
-Landroid/app/Fragment;->getEnterTransitionCallback()Landroid/app/SharedElementCallback;
-Landroid/app/Fragment;->getExitTransitionCallback()Landroid/app/SharedElementCallback;
-Landroid/app/Fragment;->getNextAnim()I
-Landroid/app/Fragment;->getNextTransition()I
-Landroid/app/Fragment;->getNextTransitionStyle()I
-Landroid/app/Fragment;->getStateAfterAnimating()I
-Landroid/app/Fragment;->INITIALIZING:I
-Landroid/app/Fragment;->initState()V
-Landroid/app/Fragment;->instantiateChildFragmentManager()V
-Landroid/app/Fragment;->INVALID_STATE:I
-Landroid/app/Fragment;->isHideReplaced()Z
-Landroid/app/Fragment;->isInBackStack()Z
-Landroid/app/Fragment;->isPostponed()Z
-Landroid/app/Fragment;->loadTransition(Landroid/content/Context;Landroid/content/res/TypedArray;Landroid/transition/Transition;Landroid/transition/Transition;I)Landroid/transition/Transition;
-Landroid/app/Fragment;->mAnimationInfo:Landroid/app/Fragment$AnimationInfo;
-Landroid/app/Fragment;->mArguments:Landroid/os/Bundle;
-Landroid/app/Fragment;->mBackStackNesting:I
-Landroid/app/Fragment;->mCalled:Z
-Landroid/app/Fragment;->mCheckedForLoaderManager:Z
-Landroid/app/Fragment;->mChildNonConfig:Landroid/app/FragmentManagerNonConfig;
-Landroid/app/Fragment;->mContainer:Landroid/view/ViewGroup;
-Landroid/app/Fragment;->mContainerId:I
-Landroid/app/Fragment;->mDeferStart:Z
-Landroid/app/Fragment;->mDetached:Z
-Landroid/app/Fragment;->mFromLayout:Z
-Landroid/app/Fragment;->mHasMenu:Z
-Landroid/app/Fragment;->mHidden:Z
-Landroid/app/Fragment;->mHiddenChanged:Z
-Landroid/app/Fragment;->mInLayout:Z
-Landroid/app/Fragment;->mIsCreated:Z
-Landroid/app/Fragment;->mIsNewlyAdded:Z
-Landroid/app/Fragment;->mLayoutInflater:Landroid/view/LayoutInflater;
-Landroid/app/Fragment;->mLoaderManager:Landroid/app/LoaderManagerImpl;
-Landroid/app/Fragment;->mMenuVisible:Z
-Landroid/app/Fragment;->mParentFragment:Landroid/app/Fragment;
-Landroid/app/Fragment;->mPerformedCreateView:Z
-Landroid/app/Fragment;->mRemoving:Z
-Landroid/app/Fragment;->mRestored:Z
-Landroid/app/Fragment;->mRetaining:Z
-Landroid/app/Fragment;->mRetainInstance:Z
-Landroid/app/Fragment;->mSavedViewState:Landroid/util/SparseArray;
-Landroid/app/Fragment;->mState:I
-Landroid/app/Fragment;->mTag:Ljava/lang/String;
-Landroid/app/Fragment;->mTarget:Landroid/app/Fragment;
-Landroid/app/Fragment;->mTargetIndex:I
-Landroid/app/Fragment;->mTargetRequestCode:I
-Landroid/app/Fragment;->mUserVisibleHint:Z
-Landroid/app/Fragment;->noteStateNotSaved()V
-Landroid/app/Fragment;->performActivityCreated(Landroid/os/Bundle;)V
-Landroid/app/Fragment;->performConfigurationChanged(Landroid/content/res/Configuration;)V
-Landroid/app/Fragment;->performContextItemSelected(Landroid/view/MenuItem;)Z
-Landroid/app/Fragment;->performCreate(Landroid/os/Bundle;)V
-Landroid/app/Fragment;->performCreateOptionsMenu(Landroid/view/Menu;Landroid/view/MenuInflater;)Z
-Landroid/app/Fragment;->performCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View;
-Landroid/app/Fragment;->performDestroy()V
-Landroid/app/Fragment;->performDestroyView()V
-Landroid/app/Fragment;->performDetach()V
-Landroid/app/Fragment;->performGetLayoutInflater(Landroid/os/Bundle;)Landroid/view/LayoutInflater;
-Landroid/app/Fragment;->performLowMemory()V
-Landroid/app/Fragment;->performMultiWindowModeChanged(Z)V
-Landroid/app/Fragment;->performMultiWindowModeChanged(ZLandroid/content/res/Configuration;)V
-Landroid/app/Fragment;->performOptionsItemSelected(Landroid/view/MenuItem;)Z
-Landroid/app/Fragment;->performOptionsMenuClosed(Landroid/view/Menu;)V
-Landroid/app/Fragment;->performPause()V
-Landroid/app/Fragment;->performPictureInPictureModeChanged(Z)V
-Landroid/app/Fragment;->performPictureInPictureModeChanged(ZLandroid/content/res/Configuration;)V
-Landroid/app/Fragment;->performPrepareOptionsMenu(Landroid/view/Menu;)Z
-Landroid/app/Fragment;->performResume()V
-Landroid/app/Fragment;->performSaveInstanceState(Landroid/os/Bundle;)V
-Landroid/app/Fragment;->performStart()V
-Landroid/app/Fragment;->performStop()V
-Landroid/app/Fragment;->performTrimMemory(I)V
-Landroid/app/Fragment;->restoreChildFragmentState(Landroid/os/Bundle;Z)V
-Landroid/app/Fragment;->restoreViewState(Landroid/os/Bundle;)V
-Landroid/app/Fragment;->RESUMED:I
-Landroid/app/Fragment;->setAnimatingAway(Landroid/animation/Animator;)V
-Landroid/app/Fragment;->setHideReplaced(Z)V
-Landroid/app/Fragment;->setIndex(ILandroid/app/Fragment;)V
-Landroid/app/Fragment;->setNextAnim(I)V
-Landroid/app/Fragment;->setNextTransition(II)V
-Landroid/app/Fragment;->setOnStartEnterTransitionListener(Landroid/app/Fragment$OnStartEnterTransitionListener;)V
-Landroid/app/Fragment;->setStateAfterAnimating(I)V
-Landroid/app/Fragment;->shouldChangeTransition(Landroid/transition/Transition;Landroid/transition/Transition;)Z
-Landroid/app/Fragment;->startActivityForResultAsUser(Landroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)V
-Landroid/app/Fragment;->STARTED:I
-Landroid/app/Fragment;->STOPPED:I
-Landroid/app/Fragment;->USE_DEFAULT_TRANSITION:Landroid/transition/Transition;
-Landroid/app/FragmentBreadCrumbs;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/app/FragmentBreadCrumbs;->createBackStackEntry(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Landroid/app/BackStackRecord;
-Landroid/app/FragmentBreadCrumbs;->DEFAULT_GRAVITY:I
-Landroid/app/FragmentBreadCrumbs;->getPreEntry(I)Landroid/app/FragmentManager$BackStackEntry;
-Landroid/app/FragmentBreadCrumbs;->getPreEntryCount()I
-Landroid/app/FragmentBreadCrumbs;->mActivity:Landroid/app/Activity;
-Landroid/app/FragmentBreadCrumbs;->mContainer:Landroid/widget/LinearLayout;
-Landroid/app/FragmentBreadCrumbs;->mGravity:I
-Landroid/app/FragmentBreadCrumbs;->mInflater:Landroid/view/LayoutInflater;
-Landroid/app/FragmentBreadCrumbs;->mLayoutResId:I
-Landroid/app/FragmentBreadCrumbs;->mMaxVisible:I
-Landroid/app/FragmentBreadCrumbs;->mOnBreadCrumbClickListener:Landroid/app/FragmentBreadCrumbs$OnBreadCrumbClickListener;
-Landroid/app/FragmentBreadCrumbs;->mOnClickListener:Landroid/view/View$OnClickListener;
-Landroid/app/FragmentBreadCrumbs;->mParentClickListener:Landroid/view/View$OnClickListener;
-Landroid/app/FragmentBreadCrumbs;->mParentEntry:Landroid/app/BackStackRecord;
-Landroid/app/FragmentBreadCrumbs;->mTextColor:I
-Landroid/app/FragmentBreadCrumbs;->mTopEntry:Landroid/app/BackStackRecord;
-Landroid/app/FragmentBreadCrumbs;->updateCrumbs()V
-Landroid/app/FragmentContainer;->instantiate(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)Landroid/app/Fragment;
-Landroid/app/FragmentController;-><init>(Landroid/app/FragmentHostCallback;)V
-Landroid/app/FragmentHostCallback;-><init>(Landroid/app/Activity;)V
-Landroid/app/FragmentHostCallback;-><init>(Landroid/app/Activity;Landroid/content/Context;Landroid/os/Handler;I)V
-Landroid/app/FragmentHostCallback;->chooseHandler(Landroid/content/Context;Landroid/os/Handler;)Landroid/os/Handler;
-Landroid/app/FragmentHostCallback;->doLoaderDestroy()V
-Landroid/app/FragmentHostCallback;->doLoaderRetain()V
-Landroid/app/FragmentHostCallback;->doLoaderStart()V
-Landroid/app/FragmentHostCallback;->doLoaderStop(Z)V
-Landroid/app/FragmentHostCallback;->dumpLoaders(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/app/FragmentHostCallback;->getActivity()Landroid/app/Activity;
-Landroid/app/FragmentHostCallback;->getContext()Landroid/content/Context;
-Landroid/app/FragmentHostCallback;->getFragmentManagerImpl()Landroid/app/FragmentManagerImpl;
-Landroid/app/FragmentHostCallback;->getHandler()Landroid/os/Handler;
-Landroid/app/FragmentHostCallback;->getLoaderManager(Ljava/lang/String;ZZ)Landroid/app/LoaderManagerImpl;
-Landroid/app/FragmentHostCallback;->getLoaderManagerImpl()Landroid/app/LoaderManagerImpl;
-Landroid/app/FragmentHostCallback;->getRetainLoaders()Z
-Landroid/app/FragmentHostCallback;->inactivateFragment(Ljava/lang/String;)V
-Landroid/app/FragmentHostCallback;->mActivity:Landroid/app/Activity;
-Landroid/app/FragmentHostCallback;->mAllLoaderManagers:Landroid/util/ArrayMap;
-Landroid/app/FragmentHostCallback;->mCheckedForLoaderManager:Z
-Landroid/app/FragmentHostCallback;->mContext:Landroid/content/Context;
-Landroid/app/FragmentHostCallback;->mFragmentManager:Landroid/app/FragmentManagerImpl;
-Landroid/app/FragmentHostCallback;->mHandler:Landroid/os/Handler;
-Landroid/app/FragmentHostCallback;->mLoaderManager:Landroid/app/LoaderManagerImpl;
-Landroid/app/FragmentHostCallback;->mRetainLoaders:Z
-Landroid/app/FragmentHostCallback;->mWindowAnimations:I
-Landroid/app/FragmentHostCallback;->onStartActivityAsUserFromFragment(Landroid/app/Fragment;Landroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)V
-Landroid/app/FragmentHostCallback;->reportLoaderStart()V
-Landroid/app/FragmentHostCallback;->restoreLoaderNonConfig(Landroid/util/ArrayMap;)V
-Landroid/app/FragmentHostCallback;->retainLoaderNonConfig()Landroid/util/ArrayMap;
-Landroid/app/FragmentManager;->openTransaction()Landroid/app/FragmentTransaction;
-Landroid/app/FragmentManagerImpl$AnimateOnHWLayerIfNeededListener;
-Landroid/app/FragmentManagerImpl$AnimateOnHWLayerIfNeededListener;-><init>(Landroid/view/View;)V
-Landroid/app/FragmentManagerImpl$AnimateOnHWLayerIfNeededListener;->mShouldRunOnHWLayer:Z
-Landroid/app/FragmentManagerImpl$AnimateOnHWLayerIfNeededListener;->mView:Landroid/view/View;
-Landroid/app/FragmentManagerImpl$OpGenerator;
-Landroid/app/FragmentManagerImpl$OpGenerator;->generateOps(Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
-Landroid/app/FragmentManagerImpl$PopBackStackState;
-Landroid/app/FragmentManagerImpl$PopBackStackState;-><init>(Ljava/lang/String;II)V
-Landroid/app/FragmentManagerImpl$PopBackStackState;->generateOps(Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
-Landroid/app/FragmentManagerImpl$PopBackStackState;->mFlags:I
-Landroid/app/FragmentManagerImpl$PopBackStackState;->mId:I
-Landroid/app/FragmentManagerImpl$PopBackStackState;->mName:Ljava/lang/String;
-Landroid/app/FragmentManagerImpl$StartEnterTransitionListener;
-Landroid/app/FragmentManagerImpl$StartEnterTransitionListener;-><init>(Landroid/app/BackStackRecord;Z)V
-Landroid/app/FragmentManagerImpl$StartEnterTransitionListener;->cancelTransaction()V
-Landroid/app/FragmentManagerImpl$StartEnterTransitionListener;->completeTransaction()V
-Landroid/app/FragmentManagerImpl$StartEnterTransitionListener;->isReady()Z
-Landroid/app/FragmentManagerImpl$StartEnterTransitionListener;->mIsBack:Z
-Landroid/app/FragmentManagerImpl$StartEnterTransitionListener;->mNumPostponed:I
-Landroid/app/FragmentManagerImpl$StartEnterTransitionListener;->mRecord:Landroid/app/BackStackRecord;
-Landroid/app/FragmentManagerImpl$StartEnterTransitionListener;->onStartEnterTransition()V
-Landroid/app/FragmentManagerImpl$StartEnterTransitionListener;->startListening()V
-Landroid/app/FragmentManagerImpl;
-Landroid/app/FragmentManagerImpl;-><init>()V
-Landroid/app/FragmentManagerImpl;->addAddedFragments(Landroid/util/ArraySet;)V
-Landroid/app/FragmentManagerImpl;->addBackStackState(Landroid/app/BackStackRecord;)V
-Landroid/app/FragmentManagerImpl;->addFragment(Landroid/app/Fragment;Z)V
-Landroid/app/FragmentManagerImpl;->allocBackStackIndex(Landroid/app/BackStackRecord;)I
-Landroid/app/FragmentManagerImpl;->attachController(Landroid/app/FragmentHostCallback;Landroid/app/FragmentContainer;Landroid/app/Fragment;)V
-Landroid/app/FragmentManagerImpl;->attachFragment(Landroid/app/Fragment;)V
-Landroid/app/FragmentManagerImpl;->burpActive()V
-Landroid/app/FragmentManagerImpl;->checkStateLoss()V
-Landroid/app/FragmentManagerImpl;->cleanupExec()V
-Landroid/app/FragmentManagerImpl;->completeExecute(Landroid/app/BackStackRecord;ZZZ)V
-Landroid/app/FragmentManagerImpl;->completeShowHideFragment(Landroid/app/Fragment;)V
-Landroid/app/FragmentManagerImpl;->DEBUG:Z
-Landroid/app/FragmentManagerImpl;->detachFragment(Landroid/app/Fragment;)V
-Landroid/app/FragmentManagerImpl;->dispatchActivityCreated()V
-Landroid/app/FragmentManagerImpl;->dispatchConfigurationChanged(Landroid/content/res/Configuration;)V
-Landroid/app/FragmentManagerImpl;->dispatchContextItemSelected(Landroid/view/MenuItem;)Z
-Landroid/app/FragmentManagerImpl;->dispatchCreate()V
-Landroid/app/FragmentManagerImpl;->dispatchCreateOptionsMenu(Landroid/view/Menu;Landroid/view/MenuInflater;)Z
-Landroid/app/FragmentManagerImpl;->dispatchDestroy()V
-Landroid/app/FragmentManagerImpl;->dispatchDestroyView()V
-Landroid/app/FragmentManagerImpl;->dispatchLowMemory()V
-Landroid/app/FragmentManagerImpl;->dispatchMoveToState(I)V
-Landroid/app/FragmentManagerImpl;->dispatchMultiWindowModeChanged(Z)V
-Landroid/app/FragmentManagerImpl;->dispatchMultiWindowModeChanged(ZLandroid/content/res/Configuration;)V
-Landroid/app/FragmentManagerImpl;->dispatchOnFragmentActivityCreated(Landroid/app/Fragment;Landroid/os/Bundle;Z)V
-Landroid/app/FragmentManagerImpl;->dispatchOnFragmentAttached(Landroid/app/Fragment;Landroid/content/Context;Z)V
-Landroid/app/FragmentManagerImpl;->dispatchOnFragmentCreated(Landroid/app/Fragment;Landroid/os/Bundle;Z)V
-Landroid/app/FragmentManagerImpl;->dispatchOnFragmentDestroyed(Landroid/app/Fragment;Z)V
-Landroid/app/FragmentManagerImpl;->dispatchOnFragmentDetached(Landroid/app/Fragment;Z)V
-Landroid/app/FragmentManagerImpl;->dispatchOnFragmentPaused(Landroid/app/Fragment;Z)V
-Landroid/app/FragmentManagerImpl;->dispatchOnFragmentPreAttached(Landroid/app/Fragment;Landroid/content/Context;Z)V
-Landroid/app/FragmentManagerImpl;->dispatchOnFragmentPreCreated(Landroid/app/Fragment;Landroid/os/Bundle;Z)V
-Landroid/app/FragmentManagerImpl;->dispatchOnFragmentResumed(Landroid/app/Fragment;Z)V
-Landroid/app/FragmentManagerImpl;->dispatchOnFragmentSaveInstanceState(Landroid/app/Fragment;Landroid/os/Bundle;Z)V
-Landroid/app/FragmentManagerImpl;->dispatchOnFragmentStarted(Landroid/app/Fragment;Z)V
-Landroid/app/FragmentManagerImpl;->dispatchOnFragmentStopped(Landroid/app/Fragment;Z)V
-Landroid/app/FragmentManagerImpl;->dispatchOnFragmentViewCreated(Landroid/app/Fragment;Landroid/view/View;Landroid/os/Bundle;Z)V
-Landroid/app/FragmentManagerImpl;->dispatchOnFragmentViewDestroyed(Landroid/app/Fragment;Z)V
-Landroid/app/FragmentManagerImpl;->dispatchOptionsItemSelected(Landroid/view/MenuItem;)Z
-Landroid/app/FragmentManagerImpl;->dispatchOptionsMenuClosed(Landroid/view/Menu;)V
-Landroid/app/FragmentManagerImpl;->dispatchPause()V
-Landroid/app/FragmentManagerImpl;->dispatchPictureInPictureModeChanged(Z)V
-Landroid/app/FragmentManagerImpl;->dispatchPictureInPictureModeChanged(ZLandroid/content/res/Configuration;)V
-Landroid/app/FragmentManagerImpl;->dispatchPrepareOptionsMenu(Landroid/view/Menu;)Z
-Landroid/app/FragmentManagerImpl;->dispatchResume()V
-Landroid/app/FragmentManagerImpl;->dispatchStart()V
-Landroid/app/FragmentManagerImpl;->dispatchStop()V
-Landroid/app/FragmentManagerImpl;->dispatchTrimMemory(I)V
-Landroid/app/FragmentManagerImpl;->doPendingDeferredStart()V
-Landroid/app/FragmentManagerImpl;->endAnimatingAwayFragments()V
-Landroid/app/FragmentManagerImpl;->enqueueAction(Landroid/app/FragmentManagerImpl$OpGenerator;Z)V
-Landroid/app/FragmentManagerImpl;->ensureExecReady(Z)V
-Landroid/app/FragmentManagerImpl;->ensureInflatedFragmentView(Landroid/app/Fragment;)V
-Landroid/app/FragmentManagerImpl;->execPendingActions()Z
-Landroid/app/FragmentManagerImpl;->execSingleAction(Landroid/app/FragmentManagerImpl$OpGenerator;Z)V
-Landroid/app/FragmentManagerImpl;->executeOps(Ljava/util/ArrayList;Ljava/util/ArrayList;II)V
-Landroid/app/FragmentManagerImpl;->executeOpsTogether(Ljava/util/ArrayList;Ljava/util/ArrayList;II)V
-Landroid/app/FragmentManagerImpl;->executePostponedTransaction(Ljava/util/ArrayList;Ljava/util/ArrayList;)V
-Landroid/app/FragmentManagerImpl;->findFragmentByWho(Ljava/lang/String;)Landroid/app/Fragment;
-Landroid/app/FragmentManagerImpl;->findFragmentUnder(Landroid/app/Fragment;)Landroid/app/Fragment;
-Landroid/app/FragmentManagerImpl;->forcePostponedTransactions()V
-Landroid/app/FragmentManagerImpl;->freeBackStackIndex(I)V
-Landroid/app/FragmentManagerImpl;->generateOpsForPendingActions(Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
-Landroid/app/FragmentManagerImpl;->getLayoutInflaterFactory()Landroid/view/LayoutInflater$Factory2;
-Landroid/app/FragmentManagerImpl;->getTargetSdk()I
-Landroid/app/FragmentManagerImpl;->hideFragment(Landroid/app/Fragment;)V
-Landroid/app/FragmentManagerImpl;->isStateAtLeast(I)Z
-Landroid/app/FragmentManagerImpl;->makeActive(Landroid/app/Fragment;)V
-Landroid/app/FragmentManagerImpl;->makeInactive(Landroid/app/Fragment;)V
-Landroid/app/FragmentManagerImpl;->makeRemovedFragmentsInvisible(Landroid/util/ArraySet;)V
-Landroid/app/FragmentManagerImpl;->mAllowOldReentrantBehavior:Z
-Landroid/app/FragmentManagerImpl;->mAvailBackStackIndices:Ljava/util/ArrayList;
-Landroid/app/FragmentManagerImpl;->mBackStack:Ljava/util/ArrayList;
-Landroid/app/FragmentManagerImpl;->mBackStackChangeListeners:Ljava/util/ArrayList;
-Landroid/app/FragmentManagerImpl;->mBackStackIndices:Ljava/util/ArrayList;
-Landroid/app/FragmentManagerImpl;->mContainer:Landroid/app/FragmentContainer;
-Landroid/app/FragmentManagerImpl;->mCreatedMenus:Ljava/util/ArrayList;
-Landroid/app/FragmentManagerImpl;->mCurState:I
-Landroid/app/FragmentManagerImpl;->mDestroyed:Z
-Landroid/app/FragmentManagerImpl;->mExecCommit:Ljava/lang/Runnable;
-Landroid/app/FragmentManagerImpl;->mExecutingActions:Z
-Landroid/app/FragmentManagerImpl;->mHavePendingDeferredStart:Z
-Landroid/app/FragmentManagerImpl;->mHost:Landroid/app/FragmentHostCallback;
-Landroid/app/FragmentManagerImpl;->mLifecycleCallbacks:Ljava/util/concurrent/CopyOnWriteArrayList;
-Landroid/app/FragmentManagerImpl;->mNeedMenuInvalidate:Z
-Landroid/app/FragmentManagerImpl;->mNextFragmentIndex:I
-Landroid/app/FragmentManagerImpl;->mNoTransactionsBecause:Ljava/lang/String;
-Landroid/app/FragmentManagerImpl;->modifiesAlpha(Landroid/animation/Animator;)Z
-Landroid/app/FragmentManagerImpl;->moveFragmentToExpectedState(Landroid/app/Fragment;)V
-Landroid/app/FragmentManagerImpl;->moveToState(IZ)V
-Landroid/app/FragmentManagerImpl;->moveToState(Landroid/app/Fragment;)V
-Landroid/app/FragmentManagerImpl;->moveToState(Landroid/app/Fragment;IIIZ)V
-Landroid/app/FragmentManagerImpl;->mParent:Landroid/app/Fragment;
-Landroid/app/FragmentManagerImpl;->mPendingActions:Ljava/util/ArrayList;
-Landroid/app/FragmentManagerImpl;->mPostponedTransactions:Ljava/util/ArrayList;
-Landroid/app/FragmentManagerImpl;->mPrimaryNav:Landroid/app/Fragment;
-Landroid/app/FragmentManagerImpl;->mSavedNonConfig:Landroid/app/FragmentManagerNonConfig;
-Landroid/app/FragmentManagerImpl;->mStateArray:Landroid/util/SparseArray;
-Landroid/app/FragmentManagerImpl;->mStateBundle:Landroid/os/Bundle;
-Landroid/app/FragmentManagerImpl;->mTmpAddedFragments:Ljava/util/ArrayList;
-Landroid/app/FragmentManagerImpl;->mTmpIsPop:Ljava/util/ArrayList;
-Landroid/app/FragmentManagerImpl;->mTmpRecords:Ljava/util/ArrayList;
-Landroid/app/FragmentManagerImpl;->performPendingDeferredStart(Landroid/app/Fragment;)V
-Landroid/app/FragmentManagerImpl;->popBackStackImmediate(Ljava/lang/String;II)Z
-Landroid/app/FragmentManagerImpl;->popBackStackState(Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/lang/String;II)Z
-Landroid/app/FragmentManagerImpl;->postponePostponableTransactions(Ljava/util/ArrayList;Ljava/util/ArrayList;IILandroid/util/ArraySet;)I
-Landroid/app/FragmentManagerImpl;->removeFragment(Landroid/app/Fragment;)V
-Landroid/app/FragmentManagerImpl;->removeRedundantOperationsAndExecute(Ljava/util/ArrayList;Ljava/util/ArrayList;)V
-Landroid/app/FragmentManagerImpl;->reportBackStackChanged()V
-Landroid/app/FragmentManagerImpl;->restoreAllState(Landroid/os/Parcelable;Landroid/app/FragmentManagerNonConfig;)V
-Landroid/app/FragmentManagerImpl;->retainNonConfig()Landroid/app/FragmentManagerNonConfig;
-Landroid/app/FragmentManagerImpl;->reverseTransit(I)I
-Landroid/app/FragmentManagerImpl;->saveAllState()Landroid/os/Parcelable;
-Landroid/app/FragmentManagerImpl;->saveFragmentBasicState(Landroid/app/Fragment;)Landroid/os/Bundle;
-Landroid/app/FragmentManagerImpl;->saveFragmentViewState(Landroid/app/Fragment;)V
-Landroid/app/FragmentManagerImpl;->saveNonConfig()V
-Landroid/app/FragmentManagerImpl;->scheduleCommit()V
-Landroid/app/FragmentManagerImpl;->setBackStackIndex(ILandroid/app/BackStackRecord;)V
-Landroid/app/FragmentManagerImpl;->setHWLayerAnimListenerIfAlpha(Landroid/view/View;Landroid/animation/Animator;)V
-Landroid/app/FragmentManagerImpl;->setPrimaryNavigationFragment(Landroid/app/Fragment;)V
-Landroid/app/FragmentManagerImpl;->setRetaining(Landroid/app/FragmentManagerNonConfig;)V
-Landroid/app/FragmentManagerImpl;->shouldRunOnHWLayer(Landroid/view/View;Landroid/animation/Animator;)Z
-Landroid/app/FragmentManagerImpl;->showFragment(Landroid/app/Fragment;)V
-Landroid/app/FragmentManagerImpl;->startPendingDeferredFragments()V
-Landroid/app/FragmentManagerImpl;->TAG:Ljava/lang/String;
-Landroid/app/FragmentManagerImpl;->TARGET_REQUEST_CODE_STATE_TAG:Ljava/lang/String;
-Landroid/app/FragmentManagerImpl;->TARGET_STATE_TAG:Ljava/lang/String;
-Landroid/app/FragmentManagerImpl;->throwException(Ljava/lang/RuntimeException;)V
-Landroid/app/FragmentManagerImpl;->transitToStyleIndex(IZ)I
-Landroid/app/FragmentManagerImpl;->USER_VISIBLE_HINT_TAG:Ljava/lang/String;
-Landroid/app/FragmentManagerImpl;->VIEW_STATE_TAG:Ljava/lang/String;
-Landroid/app/FragmentManagerNonConfig;-><init>(Ljava/util/List;Ljava/util/List;)V
-Landroid/app/FragmentManagerNonConfig;->getChildNonConfigs()Ljava/util/List;
-Landroid/app/FragmentManagerNonConfig;->getFragments()Ljava/util/List;
-Landroid/app/FragmentManagerNonConfig;->mChildNonConfigs:Ljava/util/List;
-Landroid/app/FragmentManagerNonConfig;->mFragments:Ljava/util/List;
-Landroid/app/FragmentTransaction$Transit;
-Landroid/app/GrantedUriPermission;
-Landroid/app/GrantedUriPermission;-><init>(Landroid/net/Uri;Ljava/lang/String;)V
-Landroid/app/GrantedUriPermission;-><init>(Landroid/os/Parcel;)V
-Landroid/app/GrantedUriPermission;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/GrantedUriPermission;->packageName:Ljava/lang/String;
-Landroid/app/GrantedUriPermission;->uri:Landroid/net/Uri;
-Landroid/app/IActivityController$Stub$Proxy;
-Landroid/app/IActivityController$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/IActivityController$Stub$Proxy;->activityResuming(Ljava/lang/String;)Z
-Landroid/app/IActivityController$Stub$Proxy;->activityStarting(Landroid/content/Intent;Ljava/lang/String;)Z
-Landroid/app/IActivityController$Stub$Proxy;->appCrashed(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;JLjava/lang/String;)Z
-Landroid/app/IActivityController$Stub$Proxy;->appEarlyNotResponding(Ljava/lang/String;ILjava/lang/String;)I
-Landroid/app/IActivityController$Stub$Proxy;->appNotResponding(Ljava/lang/String;ILjava/lang/String;)I
-Landroid/app/IActivityController$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IActivityController$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/IActivityController$Stub$Proxy;->systemNotResponding(Ljava/lang/String;)I
-Landroid/app/IActivityController$Stub;
-Landroid/app/IActivityController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IActivityController;
-Landroid/app/IActivityController$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IActivityController$Stub;->TRANSACTION_activityResuming:I
-Landroid/app/IActivityController$Stub;->TRANSACTION_activityStarting:I
-Landroid/app/IActivityController$Stub;->TRANSACTION_appCrashed:I
-Landroid/app/IActivityController$Stub;->TRANSACTION_appEarlyNotResponding:I
-Landroid/app/IActivityController$Stub;->TRANSACTION_appNotResponding:I
-Landroid/app/IActivityController$Stub;->TRANSACTION_systemNotResponding:I
-Landroid/app/IActivityController;
-Landroid/app/IActivityController;->appCrashed(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;JLjava/lang/String;)Z
-Landroid/app/IActivityController;->appEarlyNotResponding(Ljava/lang/String;ILjava/lang/String;)I
-Landroid/app/IActivityController;->systemNotResponding(Ljava/lang/String;)I
-Landroid/app/IActivityManager$Stub$Proxy;
-Landroid/app/IActivityManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager$Stub$Proxy;->activityDestroyed(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager$Stub$Proxy;->activityIdle(Landroid/os/IBinder;Landroid/content/res/Configuration;Z)V
-Landroid/app/IActivityManager$Stub$Proxy;->activityPaused(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager$Stub$Proxy;->activityRelaunched(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager$Stub$Proxy;->activityResumed(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager$Stub$Proxy;->activitySlept(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager$Stub$Proxy;->activityStopped(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/lang/CharSequence;)V
-Landroid/app/IActivityManager$Stub$Proxy;->addAppTask(Landroid/os/IBinder;Landroid/content/Intent;Landroid/app/ActivityManager$TaskDescription;Landroid/graphics/Bitmap;)I
-Landroid/app/IActivityManager$Stub$Proxy;->addInstrumentationResults(Landroid/app/IApplicationThread;Landroid/os/Bundle;)V
-Landroid/app/IActivityManager$Stub$Proxy;->addPackageDependency(Ljava/lang/String;)V
-Landroid/app/IActivityManager$Stub$Proxy;->alwaysShowUnsupportedCompileSdkWarning(Landroid/content/ComponentName;)V
-Landroid/app/IActivityManager$Stub$Proxy;->appNotRespondingViaProvider(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager$Stub$Proxy;->attachApplication(Landroid/app/IApplicationThread;J)V
-Landroid/app/IActivityManager$Stub$Proxy;->backgroundWhitelistUid(I)V
-Landroid/app/IActivityManager$Stub$Proxy;->backupAgentCreated(Ljava/lang/String;Landroid/os/IBinder;)V
-Landroid/app/IActivityManager$Stub$Proxy;->bindBackupAgent(Ljava/lang/String;II)Z
-Landroid/app/IActivityManager$Stub$Proxy;->bindService(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;ILjava/lang/String;I)I
-Landroid/app/IActivityManager$Stub$Proxy;->bootAnimationComplete()V
-Landroid/app/IActivityManager$Stub$Proxy;->broadcastIntent(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZI)I
-Landroid/app/IActivityManager$Stub$Proxy;->cancelIntentSender(Landroid/content/IIntentSender;)V
-Landroid/app/IActivityManager$Stub$Proxy;->cancelRecentsAnimation(Z)V
-Landroid/app/IActivityManager$Stub$Proxy;->cancelTaskWindowTransition(I)V
-Landroid/app/IActivityManager$Stub$Proxy;->checkGrantUriPermission(ILjava/lang/String;Landroid/net/Uri;II)I
-Landroid/app/IActivityManager$Stub$Proxy;->checkPermission(Ljava/lang/String;II)I
-Landroid/app/IActivityManager$Stub$Proxy;->checkPermissionWithToken(Ljava/lang/String;IILandroid/os/IBinder;)I
-Landroid/app/IActivityManager$Stub$Proxy;->checkUriPermission(Landroid/net/Uri;IIIILandroid/os/IBinder;)I
-Landroid/app/IActivityManager$Stub$Proxy;->clearApplicationUserData(Ljava/lang/String;ZLandroid/content/pm/IPackageDataObserver;I)Z
-Landroid/app/IActivityManager$Stub$Proxy;->clearGrantedUriPermissions(Ljava/lang/String;I)V
-Landroid/app/IActivityManager$Stub$Proxy;->clearPendingBackup()V
-Landroid/app/IActivityManager$Stub$Proxy;->closeSystemDialogs(Ljava/lang/String;)V
-Landroid/app/IActivityManager$Stub$Proxy;->convertFromTranslucent(Landroid/os/IBinder;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->convertToTranslucent(Landroid/os/IBinder;Landroid/os/Bundle;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->crashApplication(IILjava/lang/String;ILjava/lang/String;)V
-Landroid/app/IActivityManager$Stub$Proxy;->createStackOnDisplay(I)I
-Landroid/app/IActivityManager$Stub$Proxy;->dismissKeyguard(Landroid/os/IBinder;Lcom/android/internal/policy/IKeyguardDismissCallback;Ljava/lang/CharSequence;)V
-Landroid/app/IActivityManager$Stub$Proxy;->dismissPip(ZI)V
-Landroid/app/IActivityManager$Stub$Proxy;->dismissSplitScreenMode(Z)V
-Landroid/app/IActivityManager$Stub$Proxy;->dumpHeap(Ljava/lang/String;IZZZLjava/lang/String;Landroid/os/ParcelFileDescriptor;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->dumpHeapFinished(Ljava/lang/String;)V
-Landroid/app/IActivityManager$Stub$Proxy;->enterPictureInPictureMode(Landroid/os/IBinder;Landroid/app/PictureInPictureParams;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->enterSafeMode()V
-Landroid/app/IActivityManager$Stub$Proxy;->exitFreeformMode(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager$Stub$Proxy;->finishActivity(Landroid/os/IBinder;ILandroid/content/Intent;I)Z
-Landroid/app/IActivityManager$Stub$Proxy;->finishActivityAffinity(Landroid/os/IBinder;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->finishHeavyWeightApp()V
-Landroid/app/IActivityManager$Stub$Proxy;->finishInstrumentation(Landroid/app/IApplicationThread;ILandroid/os/Bundle;)V
-Landroid/app/IActivityManager$Stub$Proxy;->finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZI)V
-Landroid/app/IActivityManager$Stub$Proxy;->finishSubActivity(Landroid/os/IBinder;Ljava/lang/String;I)V
-Landroid/app/IActivityManager$Stub$Proxy;->finishVoiceTask(Landroid/service/voice/IVoiceInteractionSession;)V
-Landroid/app/IActivityManager$Stub$Proxy;->forceStopPackage(Ljava/lang/String;I)V
-Landroid/app/IActivityManager$Stub$Proxy;->getActivityClassForToken(Landroid/os/IBinder;)Landroid/content/ComponentName;
-Landroid/app/IActivityManager$Stub$Proxy;->getActivityDisplayId(Landroid/os/IBinder;)I
-Landroid/app/IActivityManager$Stub$Proxy;->getActivityOptions(Landroid/os/IBinder;)Landroid/os/Bundle;
-Landroid/app/IActivityManager$Stub$Proxy;->getAllStackInfos()Ljava/util/List;
-Landroid/app/IActivityManager$Stub$Proxy;->getAppTasks(Ljava/lang/String;)Ljava/util/List;
-Landroid/app/IActivityManager$Stub$Proxy;->getAppTaskThumbnailSize()Landroid/graphics/Point;
-Landroid/app/IActivityManager$Stub$Proxy;->getAssistContextExtras(I)Landroid/os/Bundle;
-Landroid/app/IActivityManager$Stub$Proxy;->getCallingActivity(Landroid/os/IBinder;)Landroid/content/ComponentName;
-Landroid/app/IActivityManager$Stub$Proxy;->getCallingPackage(Landroid/os/IBinder;)Ljava/lang/String;
-Landroid/app/IActivityManager$Stub$Proxy;->getContentProvider(Landroid/app/IApplicationThread;Ljava/lang/String;IZ)Landroid/app/ContentProviderHolder;
-Landroid/app/IActivityManager$Stub$Proxy;->getContentProviderExternal(Ljava/lang/String;ILandroid/os/IBinder;)Landroid/app/ContentProviderHolder;
-Landroid/app/IActivityManager$Stub$Proxy;->getCurrentUser()Landroid/content/pm/UserInfo;
-Landroid/app/IActivityManager$Stub$Proxy;->getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
-Landroid/app/IActivityManager$Stub$Proxy;->getFilteredTasks(III)Ljava/util/List;
-Landroid/app/IActivityManager$Stub$Proxy;->getFocusedStackInfo()Landroid/app/ActivityManager$StackInfo;
-Landroid/app/IActivityManager$Stub$Proxy;->getFrontActivityScreenCompatMode()I
-Landroid/app/IActivityManager$Stub$Proxy;->getGrantedUriPermissions(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-Landroid/app/IActivityManager$Stub$Proxy;->getIntentForIntentSender(Landroid/content/IIntentSender;)Landroid/content/Intent;
-Landroid/app/IActivityManager$Stub$Proxy;->getIntentSender(ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;I)Landroid/content/IIntentSender;
-Landroid/app/IActivityManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IActivityManager$Stub$Proxy;->getLastResumedActivityUserId()I
-Landroid/app/IActivityManager$Stub$Proxy;->getLaunchedFromPackage(Landroid/os/IBinder;)Ljava/lang/String;
-Landroid/app/IActivityManager$Stub$Proxy;->getLockTaskModeState()I
-Landroid/app/IActivityManager$Stub$Proxy;->getMaxNumPictureInPictureActions(Landroid/os/IBinder;)I
-Landroid/app/IActivityManager$Stub$Proxy;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
-Landroid/app/IActivityManager$Stub$Proxy;->getMemoryTrimLevel()I
-Landroid/app/IActivityManager$Stub$Proxy;->getMyMemoryState(Landroid/app/ActivityManager$RunningAppProcessInfo;)V
-Landroid/app/IActivityManager$Stub$Proxy;->getPackageAskScreenCompat(Ljava/lang/String;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->getPackageForIntentSender(Landroid/content/IIntentSender;)Ljava/lang/String;
-Landroid/app/IActivityManager$Stub$Proxy;->getPackageForToken(Landroid/os/IBinder;)Ljava/lang/String;
-Landroid/app/IActivityManager$Stub$Proxy;->getPackageProcessState(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/app/IActivityManager$Stub$Proxy;->getPackageScreenCompatMode(Ljava/lang/String;)I
-Landroid/app/IActivityManager$Stub$Proxy;->getPersistedUriPermissions(Ljava/lang/String;Z)Landroid/content/pm/ParceledListSlice;
-Landroid/app/IActivityManager$Stub$Proxy;->getProcessesInErrorState()Ljava/util/List;
-Landroid/app/IActivityManager$Stub$Proxy;->getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo;
-Landroid/app/IActivityManager$Stub$Proxy;->getProviderMimeType(Landroid/net/Uri;I)Ljava/lang/String;
-Landroid/app/IActivityManager$Stub$Proxy;->getRecentTasks(III)Landroid/content/pm/ParceledListSlice;
-Landroid/app/IActivityManager$Stub$Proxy;->getRequestedOrientation(Landroid/os/IBinder;)I
-Landroid/app/IActivityManager$Stub$Proxy;->getRunningAppProcesses()Ljava/util/List;
-Landroid/app/IActivityManager$Stub$Proxy;->getRunningExternalApplications()Ljava/util/List;
-Landroid/app/IActivityManager$Stub$Proxy;->getRunningServiceControlPanel(Landroid/content/ComponentName;)Landroid/app/PendingIntent;
-Landroid/app/IActivityManager$Stub$Proxy;->getRunningUserIds()[I
-Landroid/app/IActivityManager$Stub$Proxy;->getServices(II)Ljava/util/List;
-Landroid/app/IActivityManager$Stub$Proxy;->getStackInfo(II)Landroid/app/ActivityManager$StackInfo;
-Landroid/app/IActivityManager$Stub$Proxy;->getTagForIntentSender(Landroid/content/IIntentSender;Ljava/lang/String;)Ljava/lang/String;
-Landroid/app/IActivityManager$Stub$Proxy;->getTaskBounds(I)Landroid/graphics/Rect;
-Landroid/app/IActivityManager$Stub$Proxy;->getTaskDescription(I)Landroid/app/ActivityManager$TaskDescription;
-Landroid/app/IActivityManager$Stub$Proxy;->getTaskDescriptionIcon(Ljava/lang/String;I)Landroid/graphics/Bitmap;
-Landroid/app/IActivityManager$Stub$Proxy;->getTaskForActivity(Landroid/os/IBinder;Z)I
-Landroid/app/IActivityManager$Stub$Proxy;->getTasks(I)Ljava/util/List;
-Landroid/app/IActivityManager$Stub$Proxy;->getTaskSnapshot(IZ)Landroid/app/ActivityManager$TaskSnapshot;
-Landroid/app/IActivityManager$Stub$Proxy;->getUidForIntentSender(Landroid/content/IIntentSender;)I
-Landroid/app/IActivityManager$Stub$Proxy;->getUidProcessState(ILjava/lang/String;)I
-Landroid/app/IActivityManager$Stub$Proxy;->getUriPermissionOwnerForActivity(Landroid/os/IBinder;)Landroid/os/IBinder;
-Landroid/app/IActivityManager$Stub$Proxy;->grantUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V
-Landroid/app/IActivityManager$Stub$Proxy;->grantUriPermissionFromOwner(Landroid/os/IBinder;ILjava/lang/String;Landroid/net/Uri;III)V
-Landroid/app/IActivityManager$Stub$Proxy;->handleApplicationCrash(Landroid/os/IBinder;Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;)V
-Landroid/app/IActivityManager$Stub$Proxy;->handleApplicationStrictModeViolation(Landroid/os/IBinder;ILandroid/os/StrictMode$ViolationInfo;)V
-Landroid/app/IActivityManager$Stub$Proxy;->handleApplicationWtf(Landroid/os/IBinder;Ljava/lang/String;ZLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
-Landroid/app/IActivityManager$Stub$Proxy;->hang(Landroid/os/IBinder;Z)V
-Landroid/app/IActivityManager$Stub$Proxy;->inputDispatchingTimedOut(IZLjava/lang/String;)J
-Landroid/app/IActivityManager$Stub$Proxy;->isAppStartModeDisabled(ILjava/lang/String;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->isAssistDataAllowedOnCurrentActivity()Z
-Landroid/app/IActivityManager$Stub$Proxy;->isBackgroundRestricted(Ljava/lang/String;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->isImmersive(Landroid/os/IBinder;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->isInLockTaskMode()Z
-Landroid/app/IActivityManager$Stub$Proxy;->isInMultiWindowMode(Landroid/os/IBinder;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->isInPictureInPictureMode(Landroid/os/IBinder;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->isIntentSenderAForegroundService(Landroid/content/IIntentSender;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->isIntentSenderAnActivity(Landroid/content/IIntentSender;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->isIntentSenderTargetedToPackage(Landroid/content/IIntentSender;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->isRootVoiceInteraction(Landroid/os/IBinder;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->isTopActivityImmersive()Z
-Landroid/app/IActivityManager$Stub$Proxy;->isTopOfTask(Landroid/os/IBinder;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->isUidActive(ILjava/lang/String;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->isUserAMonkey()Z
-Landroid/app/IActivityManager$Stub$Proxy;->isUserRunning(II)Z
-Landroid/app/IActivityManager$Stub$Proxy;->isVrModePackageEnabled(Landroid/content/ComponentName;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->keyguardGoingAway(I)V
-Landroid/app/IActivityManager$Stub$Proxy;->killAllBackgroundProcesses()V
-Landroid/app/IActivityManager$Stub$Proxy;->killApplication(Ljava/lang/String;IILjava/lang/String;)V
-Landroid/app/IActivityManager$Stub$Proxy;->killApplicationProcess(Ljava/lang/String;I)V
-Landroid/app/IActivityManager$Stub$Proxy;->killBackgroundProcesses(Ljava/lang/String;I)V
-Landroid/app/IActivityManager$Stub$Proxy;->killPackageDependents(Ljava/lang/String;I)V
-Landroid/app/IActivityManager$Stub$Proxy;->killPids([ILjava/lang/String;Z)Z
-Landroid/app/IActivityManager$Stub$Proxy;->killProcessesBelowForeground(Ljava/lang/String;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->killUid(IILjava/lang/String;)V
-Landroid/app/IActivityManager$Stub$Proxy;->launchAssistIntent(Landroid/content/Intent;ILjava/lang/String;ILandroid/os/Bundle;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->makePackageIdle(Ljava/lang/String;I)V
-Landroid/app/IActivityManager$Stub$Proxy;->moveActivityTaskToBack(Landroid/os/IBinder;Z)Z
-Landroid/app/IActivityManager$Stub$Proxy;->moveStackToDisplay(II)V
-Landroid/app/IActivityManager$Stub$Proxy;->moveTaskBackwards(I)V
-Landroid/app/IActivityManager$Stub$Proxy;->moveTasksToFullscreenStack(IZ)V
-Landroid/app/IActivityManager$Stub$Proxy;->moveTaskToFront(IILandroid/os/Bundle;)V
-Landroid/app/IActivityManager$Stub$Proxy;->moveTaskToStack(IIZ)V
-Landroid/app/IActivityManager$Stub$Proxy;->moveTopActivityToPinnedStack(ILandroid/graphics/Rect;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->navigateUpTo(Landroid/os/IBinder;Landroid/content/Intent;ILandroid/content/Intent;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->newUriPermissionOwner(Ljava/lang/String;)Landroid/os/IBinder;
-Landroid/app/IActivityManager$Stub$Proxy;->noteAlarmFinish(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;)V
-Landroid/app/IActivityManager$Stub$Proxy;->noteAlarmStart(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;)V
-Landroid/app/IActivityManager$Stub$Proxy;->noteWakeupAlarm(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;)V
-Landroid/app/IActivityManager$Stub$Proxy;->notifyActivityDrawn(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager$Stub$Proxy;->notifyCleartextNetwork(I[B)V
-Landroid/app/IActivityManager$Stub$Proxy;->notifyEnterAnimationComplete(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager$Stub$Proxy;->notifyLaunchTaskBehindComplete(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager$Stub$Proxy;->notifyLockedProfile(I)V
-Landroid/app/IActivityManager$Stub$Proxy;->notifyPinnedStackAnimationEnded()V
-Landroid/app/IActivityManager$Stub$Proxy;->notifyPinnedStackAnimationStarted()V
-Landroid/app/IActivityManager$Stub$Proxy;->openContentUri(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-Landroid/app/IActivityManager$Stub$Proxy;->overridePendingTransition(Landroid/os/IBinder;Ljava/lang/String;II)V
-Landroid/app/IActivityManager$Stub$Proxy;->peekService(Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;)Landroid/os/IBinder;
-Landroid/app/IActivityManager$Stub$Proxy;->performIdleMaintenance()V
-Landroid/app/IActivityManager$Stub$Proxy;->positionTaskInStack(III)V
-Landroid/app/IActivityManager$Stub$Proxy;->profileControl(Ljava/lang/String;IZLandroid/app/ProfilerInfo;I)Z
-Landroid/app/IActivityManager$Stub$Proxy;->publishContentProviders(Landroid/app/IApplicationThread;Ljava/util/List;)V
-Landroid/app/IActivityManager$Stub$Proxy;->publishService(Landroid/os/IBinder;Landroid/content/Intent;Landroid/os/IBinder;)V
-Landroid/app/IActivityManager$Stub$Proxy;->refContentProvider(Landroid/os/IBinder;II)Z
-Landroid/app/IActivityManager$Stub$Proxy;->registerIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V
-Landroid/app/IActivityManager$Stub$Proxy;->registerProcessObserver(Landroid/app/IProcessObserver;)V
-Landroid/app/IActivityManager$Stub$Proxy;->registerReceiver(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/IIntentReceiver;Landroid/content/IntentFilter;Ljava/lang/String;II)Landroid/content/Intent;
-Landroid/app/IActivityManager$Stub$Proxy;->registerRemoteAnimationForNextActivityStart(Ljava/lang/String;Landroid/view/RemoteAnimationAdapter;)V
-Landroid/app/IActivityManager$Stub$Proxy;->registerRemoteAnimations(Landroid/os/IBinder;Landroid/view/RemoteAnimationDefinition;)V
-Landroid/app/IActivityManager$Stub$Proxy;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
-Landroid/app/IActivityManager$Stub$Proxy;->registerUidObserver(Landroid/app/IUidObserver;IILjava/lang/String;)V
-Landroid/app/IActivityManager$Stub$Proxy;->registerUserSwitchObserver(Landroid/app/IUserSwitchObserver;Ljava/lang/String;)V
-Landroid/app/IActivityManager$Stub$Proxy;->releaseActivityInstance(Landroid/os/IBinder;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->releasePersistableUriPermission(Landroid/net/Uri;ILjava/lang/String;I)V
-Landroid/app/IActivityManager$Stub$Proxy;->releaseSomeActivities(Landroid/app/IApplicationThread;)V
-Landroid/app/IActivityManager$Stub$Proxy;->removeContentProvider(Landroid/os/IBinder;Z)V
-Landroid/app/IActivityManager$Stub$Proxy;->removeContentProviderExternal(Ljava/lang/String;Landroid/os/IBinder;)V
-Landroid/app/IActivityManager$Stub$Proxy;->removeStack(I)V
-Landroid/app/IActivityManager$Stub$Proxy;->removeStacksInWindowingModes([I)V
-Landroid/app/IActivityManager$Stub$Proxy;->removeStacksWithActivityTypes([I)V
-Landroid/app/IActivityManager$Stub$Proxy;->removeTask(I)Z
-Landroid/app/IActivityManager$Stub$Proxy;->reportActivityFullyDrawn(Landroid/os/IBinder;Z)V
-Landroid/app/IActivityManager$Stub$Proxy;->reportAssistContextExtras(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;Landroid/net/Uri;)V
-Landroid/app/IActivityManager$Stub$Proxy;->reportSizeConfigurations(Landroid/os/IBinder;[I[I[I)V
-Landroid/app/IActivityManager$Stub$Proxy;->requestAssistContextExtras(ILandroid/app/IAssistDataReceiver;Landroid/os/Bundle;Landroid/os/IBinder;ZZ)Z
-Landroid/app/IActivityManager$Stub$Proxy;->requestAutofillData(Landroid/app/IAssistDataReceiver;Landroid/os/Bundle;Landroid/os/IBinder;I)Z
-Landroid/app/IActivityManager$Stub$Proxy;->requestBugReport(I)V
-Landroid/app/IActivityManager$Stub$Proxy;->requestTelephonyBugReport(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/IActivityManager$Stub$Proxy;->requestWifiBugReport(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/IActivityManager$Stub$Proxy;->resizeDockedStack(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-Landroid/app/IActivityManager$Stub$Proxy;->resizePinnedStack(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-Landroid/app/IActivityManager$Stub$Proxy;->resizeStack(ILandroid/graphics/Rect;ZZZI)V
-Landroid/app/IActivityManager$Stub$Proxy;->resizeTask(ILandroid/graphics/Rect;I)V
-Landroid/app/IActivityManager$Stub$Proxy;->restart()V
-Landroid/app/IActivityManager$Stub$Proxy;->restartUserInBackground(I)I
-Landroid/app/IActivityManager$Stub$Proxy;->resumeAppSwitches()V
-Landroid/app/IActivityManager$Stub$Proxy;->revokeUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V
-Landroid/app/IActivityManager$Stub$Proxy;->revokeUriPermissionFromOwner(Landroid/os/IBinder;Landroid/net/Uri;II)V
-Landroid/app/IActivityManager$Stub$Proxy;->scheduleApplicationInfoChanged(Ljava/util/List;I)V
-Landroid/app/IActivityManager$Stub$Proxy;->sendIdleJobTrigger()V
-Landroid/app/IActivityManager$Stub$Proxy;->sendIntentSender(Landroid/content/IIntentSender;Landroid/os/IBinder;ILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/Bundle;)I
-Landroid/app/IActivityManager$Stub$Proxy;->serviceDoneExecuting(Landroid/os/IBinder;III)V
-Landroid/app/IActivityManager$Stub$Proxy;->setAgentApp(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/IActivityManager$Stub$Proxy;->setAlwaysFinish(Z)V
-Landroid/app/IActivityManager$Stub$Proxy;->setDebugApp(Ljava/lang/String;ZZ)V
-Landroid/app/IActivityManager$Stub$Proxy;->setDisablePreviewScreenshots(Landroid/os/IBinder;Z)V
-Landroid/app/IActivityManager$Stub$Proxy;->setDumpHeapDebugLimit(Ljava/lang/String;IJLjava/lang/String;)V
-Landroid/app/IActivityManager$Stub$Proxy;->setFocusedStack(I)V
-Landroid/app/IActivityManager$Stub$Proxy;->setFocusedTask(I)V
-Landroid/app/IActivityManager$Stub$Proxy;->setFrontActivityScreenCompatMode(I)V
-Landroid/app/IActivityManager$Stub$Proxy;->setHasTopUi(Z)V
-Landroid/app/IActivityManager$Stub$Proxy;->setImmersive(Landroid/os/IBinder;Z)V
-Landroid/app/IActivityManager$Stub$Proxy;->setLockScreenShown(ZZI)V
-Landroid/app/IActivityManager$Stub$Proxy;->setPackageAskScreenCompat(Ljava/lang/String;Z)V
-Landroid/app/IActivityManager$Stub$Proxy;->setPackageScreenCompatMode(Ljava/lang/String;I)V
-Landroid/app/IActivityManager$Stub$Proxy;->setPersistentVrThread(I)V
-Landroid/app/IActivityManager$Stub$Proxy;->setPictureInPictureParams(Landroid/os/IBinder;Landroid/app/PictureInPictureParams;)V
-Landroid/app/IActivityManager$Stub$Proxy;->setProcessImportant(Landroid/os/IBinder;IZLjava/lang/String;)V
-Landroid/app/IActivityManager$Stub$Proxy;->setProcessLimit(I)V
-Landroid/app/IActivityManager$Stub$Proxy;->setProcessMemoryTrimLevel(Ljava/lang/String;II)Z
-Landroid/app/IActivityManager$Stub$Proxy;->setRenderThread(I)V
-Landroid/app/IActivityManager$Stub$Proxy;->setRequestedOrientation(Landroid/os/IBinder;I)V
-Landroid/app/IActivityManager$Stub$Proxy;->setServiceForeground(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;I)V
-Landroid/app/IActivityManager$Stub$Proxy;->setShowWhenLocked(Landroid/os/IBinder;Z)V
-Landroid/app/IActivityManager$Stub$Proxy;->setSplitScreenResizing(Z)V
-Landroid/app/IActivityManager$Stub$Proxy;->setTaskDescription(Landroid/os/IBinder;Landroid/app/ActivityManager$TaskDescription;)V
-Landroid/app/IActivityManager$Stub$Proxy;->setTaskResizeable(II)V
-Landroid/app/IActivityManager$Stub$Proxy;->setTaskWindowingMode(IIZ)V
-Landroid/app/IActivityManager$Stub$Proxy;->setTaskWindowingModeSplitScreenPrimary(IIZZLandroid/graphics/Rect;Z)Z
-Landroid/app/IActivityManager$Stub$Proxy;->setTurnScreenOn(Landroid/os/IBinder;Z)V
-Landroid/app/IActivityManager$Stub$Proxy;->setUserIsMonkey(Z)V
-Landroid/app/IActivityManager$Stub$Proxy;->setVoiceKeepAwake(Landroid/service/voice/IVoiceInteractionSession;Z)V
-Landroid/app/IActivityManager$Stub$Proxy;->setVrMode(Landroid/os/IBinder;ZLandroid/content/ComponentName;)I
-Landroid/app/IActivityManager$Stub$Proxy;->setVrThread(I)V
-Landroid/app/IActivityManager$Stub$Proxy;->shouldUpRecreateTask(Landroid/os/IBinder;Ljava/lang/String;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->showAssistFromActivity(Landroid/os/IBinder;Landroid/os/Bundle;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->showBootMessage(Ljava/lang/CharSequence;Z)V
-Landroid/app/IActivityManager$Stub$Proxy;->showLockTaskEscapeMessage(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager$Stub$Proxy;->showWaitingForDebugger(Landroid/app/IApplicationThread;Z)V
-Landroid/app/IActivityManager$Stub$Proxy;->shutdown(I)Z
-Landroid/app/IActivityManager$Stub$Proxy;->signalPersistentProcesses(I)V
-Landroid/app/IActivityManager$Stub$Proxy;->startActivities(Landroid/app/IApplicationThread;Ljava/lang/String;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;I)I
-Landroid/app/IActivityManager$Stub$Proxy;->startActivity(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;)I
-Landroid/app/IActivityManager$Stub$Proxy;->startActivityAndWait(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;I)Landroid/app/WaitResult;
-Landroid/app/IActivityManager$Stub$Proxy;->startActivityAsCaller(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;ZI)I
-Landroid/app/IActivityManager$Stub$Proxy;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;I)I
-Landroid/app/IActivityManager$Stub$Proxy;->startActivityFromRecents(ILandroid/os/Bundle;)I
-Landroid/app/IActivityManager$Stub$Proxy;->startActivityIntentSender(Landroid/app/IApplicationThread;Landroid/content/IIntentSender;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;)I
-Landroid/app/IActivityManager$Stub$Proxy;->startActivityWithConfig(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/content/res/Configuration;Landroid/os/Bundle;I)I
-Landroid/app/IActivityManager$Stub$Proxy;->startAssistantActivity(Ljava/lang/String;IILandroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;I)I
-Landroid/app/IActivityManager$Stub$Proxy;->startBinderTracking()Z
-Landroid/app/IActivityManager$Stub$Proxy;->startConfirmDeviceCredentialIntent(Landroid/content/Intent;Landroid/os/Bundle;)V
-Landroid/app/IActivityManager$Stub$Proxy;->startInPlaceAnimationOnFrontMostApplication(Landroid/os/Bundle;)V
-Landroid/app/IActivityManager$Stub$Proxy;->startInstrumentation(Landroid/content/ComponentName;Ljava/lang/String;ILandroid/os/Bundle;Landroid/app/IInstrumentationWatcher;Landroid/app/IUiAutomationConnection;ILjava/lang/String;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->startLocalVoiceInteraction(Landroid/os/IBinder;Landroid/os/Bundle;)V
-Landroid/app/IActivityManager$Stub$Proxy;->startLockTaskModeByToken(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager$Stub$Proxy;->startNextMatchingActivity(Landroid/os/IBinder;Landroid/content/Intent;Landroid/os/Bundle;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->startRecentsActivity(Landroid/content/Intent;Landroid/app/IAssistDataReceiver;Landroid/view/IRecentsAnimationRunner;)V
-Landroid/app/IActivityManager$Stub$Proxy;->startService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;ZLjava/lang/String;I)Landroid/content/ComponentName;
-Landroid/app/IActivityManager$Stub$Proxy;->startSystemLockTaskMode(I)V
-Landroid/app/IActivityManager$Stub$Proxy;->startUserInBackground(I)Z
-Landroid/app/IActivityManager$Stub$Proxy;->startUserInBackgroundWithListener(ILandroid/os/IProgressListener;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->startVoiceActivity(Ljava/lang/String;IILandroid/content/Intent;Ljava/lang/String;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;ILandroid/app/ProfilerInfo;Landroid/os/Bundle;I)I
-Landroid/app/IActivityManager$Stub$Proxy;->stopAppSwitches()V
-Landroid/app/IActivityManager$Stub$Proxy;->stopBinderTrackingAndDump(Landroid/os/ParcelFileDescriptor;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->stopLocalVoiceInteraction(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager$Stub$Proxy;->stopLockTaskModeByToken(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager$Stub$Proxy;->stopService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;I)I
-Landroid/app/IActivityManager$Stub$Proxy;->stopServiceToken(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z
-Landroid/app/IActivityManager$Stub$Proxy;->stopSystemLockTaskMode()V
-Landroid/app/IActivityManager$Stub$Proxy;->stopUser(IZLandroid/app/IStopUserCallback;)I
-Landroid/app/IActivityManager$Stub$Proxy;->supportsLocalVoiceInteraction()Z
-Landroid/app/IActivityManager$Stub$Proxy;->suppressResizeConfigChanges(Z)V
-Landroid/app/IActivityManager$Stub$Proxy;->switchUser(I)Z
-Landroid/app/IActivityManager$Stub$Proxy;->takePersistableUriPermission(Landroid/net/Uri;ILjava/lang/String;I)V
-Landroid/app/IActivityManager$Stub$Proxy;->unbindBackupAgent(Landroid/content/pm/ApplicationInfo;)V
-Landroid/app/IActivityManager$Stub$Proxy;->unbindFinished(Landroid/os/IBinder;Landroid/content/Intent;Z)V
-Landroid/app/IActivityManager$Stub$Proxy;->unbindService(Landroid/app/IServiceConnection;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->unbroadcastIntent(Landroid/app/IApplicationThread;Landroid/content/Intent;I)V
-Landroid/app/IActivityManager$Stub$Proxy;->unhandledBack()V
-Landroid/app/IActivityManager$Stub$Proxy;->unlockUser(I[B[BLandroid/os/IProgressListener;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->unregisterIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V
-Landroid/app/IActivityManager$Stub$Proxy;->unregisterProcessObserver(Landroid/app/IProcessObserver;)V
-Landroid/app/IActivityManager$Stub$Proxy;->unregisterReceiver(Landroid/content/IIntentReceiver;)V
-Landroid/app/IActivityManager$Stub$Proxy;->unregisterTaskStackListener(Landroid/app/ITaskStackListener;)V
-Landroid/app/IActivityManager$Stub$Proxy;->unregisterUidObserver(Landroid/app/IUidObserver;)V
-Landroid/app/IActivityManager$Stub$Proxy;->unregisterUserSwitchObserver(Landroid/app/IUserSwitchObserver;)V
-Landroid/app/IActivityManager$Stub$Proxy;->unstableProviderDied(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager$Stub$Proxy;->updateConfiguration(Landroid/content/res/Configuration;)Z
-Landroid/app/IActivityManager$Stub$Proxy;->updateDeviceOwner(Ljava/lang/String;)V
-Landroid/app/IActivityManager$Stub$Proxy;->updateDisplayOverrideConfiguration(Landroid/content/res/Configuration;I)Z
-Landroid/app/IActivityManager$Stub$Proxy;->updateLockTaskFeatures(II)V
-Landroid/app/IActivityManager$Stub$Proxy;->updateLockTaskPackages(I[Ljava/lang/String;)V
-Landroid/app/IActivityManager$Stub$Proxy;->waitForNetworkStateUpdate(J)V
-Landroid/app/IActivityManager$Stub$Proxy;->willActivityBeVisible(Landroid/os/IBinder;)Z
-Landroid/app/IActivityManager$Stub;
-Landroid/app/IActivityManager$Stub;-><init>()V
-Landroid/app/IActivityManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IActivityManager$Stub;->onTransact$bindService$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$broadcastIntent$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$checkGrantUriPermission$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$checkUriPermission$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$crashApplication$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$dumpHeap$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$finishReceiver$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$getIntentSender$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$grantUriPermissionFromOwner$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$handleIncomingUser$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$launchAssistIntent$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$profileControl$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$registerReceiver$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$reportAssistContextExtras$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$requestAssistContextExtras$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$resizeDockedStack$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$resizeStack$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$sendIntentSender$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$setTaskWindowingModeSplitScreenPrimary$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$startActivities$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$startActivity$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$startActivityAndWait$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$startActivityAsCaller$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$startActivityAsUser$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$startActivityIntentSender$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$startActivityWithConfig$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$startAssistantActivity$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$startInstrumentation$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$startService$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->onTransact$startVoiceActivity$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-Landroid/app/IActivityManager$Stub;->TRANSACTION_activityDestroyed:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_activityIdle:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_activityPaused:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_activityRelaunched:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_activityResumed:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_activitySlept:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_activityStopped:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_addAppTask:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_addInstrumentationResults:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_addPackageDependency:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_alwaysShowUnsupportedCompileSdkWarning:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_appNotRespondingViaProvider:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_attachApplication:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_backgroundWhitelistUid:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_backupAgentCreated:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_bindBackupAgent:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_bindService:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_bootAnimationComplete:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_broadcastIntent:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_cancelIntentSender:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_cancelRecentsAnimation:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_cancelTaskWindowTransition:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_checkGrantUriPermission:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_checkPermission:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_checkPermissionWithToken:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_checkUriPermission:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_clearApplicationUserData:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_clearGrantedUriPermissions:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_clearPendingBackup:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_closeSystemDialogs:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_convertFromTranslucent:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_convertToTranslucent:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_crashApplication:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_createStackOnDisplay:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_dismissKeyguard:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_dismissPip:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_dismissSplitScreenMode:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_dumpHeap:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_dumpHeapFinished:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_enterPictureInPictureMode:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_enterSafeMode:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_exitFreeformMode:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_finishActivity:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_finishActivityAffinity:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_finishHeavyWeightApp:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_finishInstrumentation:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_finishReceiver:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_finishSubActivity:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_finishVoiceTask:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_forceStopPackage:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getActivityClassForToken:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getActivityDisplayId:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getActivityOptions:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getAllStackInfos:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getAppTasks:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getAppTaskThumbnailSize:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getAssistContextExtras:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getCallingActivity:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getCallingPackage:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getConfiguration:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getContentProvider:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getContentProviderExternal:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getCurrentUser:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getDeviceConfigurationInfo:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getFilteredTasks:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getFocusedStackInfo:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getFrontActivityScreenCompatMode:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getGrantedUriPermissions:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getIntentForIntentSender:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getIntentSender:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getLastResumedActivityUserId:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getLaunchedFromPackage:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getLaunchedFromUid:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getLockTaskModeState:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getMaxNumPictureInPictureActions:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getMemoryInfo:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getMemoryTrimLevel:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getMyMemoryState:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getPackageAskScreenCompat:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getPackageForIntentSender:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getPackageForToken:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getPackageProcessState:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getPackageScreenCompatMode:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getPersistedUriPermissions:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getProcessesInErrorState:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getProcessLimit:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getProcessMemoryInfo:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getProcessPss:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getProviderMimeType:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getRecentTasks:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getRequestedOrientation:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getRunningAppProcesses:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getRunningExternalApplications:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getRunningServiceControlPanel:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getRunningUserIds:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getServices:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getStackInfo:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getTagForIntentSender:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getTaskBounds:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getTaskDescription:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getTaskDescriptionIcon:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getTaskForActivity:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getTasks:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getTaskSnapshot:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getUidForIntentSender:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getUidProcessState:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_getUriPermissionOwnerForActivity:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_grantUriPermission:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_grantUriPermissionFromOwner:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_handleApplicationCrash:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_handleApplicationStrictModeViolation:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_handleApplicationWtf:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_handleIncomingUser:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_hang:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_inputDispatchingTimedOut:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_isAppForeground:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_isAppStartModeDisabled:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_isAssistDataAllowedOnCurrentActivity:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_isBackgroundRestricted:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_isImmersive:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_isInLockTaskMode:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_isInMultiWindowMode:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_isInPictureInPictureMode:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_isIntentSenderAForegroundService:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_isIntentSenderAnActivity:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_isIntentSenderTargetedToPackage:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_isRootVoiceInteraction:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_isTopActivityImmersive:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_isTopOfTask:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_isUidActive:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_isUserAMonkey:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_isUserRunning:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_isVrModePackageEnabled:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_keyguardGoingAway:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_killAllBackgroundProcesses:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_killApplication:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_killApplicationProcess:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_killBackgroundProcesses:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_killPackageDependents:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_killPids:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_killProcessesBelowForeground:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_killUid:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_launchAssistIntent:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_makePackageIdle:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_moveActivityTaskToBack:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_moveStackToDisplay:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_moveTaskBackwards:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_moveTasksToFullscreenStack:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_moveTaskToFront:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_moveTaskToStack:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_moveTopActivityToPinnedStack:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_navigateUpTo:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_newUriPermissionOwner:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_noteAlarmFinish:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_noteAlarmStart:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_noteWakeupAlarm:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_notifyActivityDrawn:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_notifyCleartextNetwork:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_notifyEnterAnimationComplete:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_notifyLaunchTaskBehindComplete:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_notifyLockedProfile:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_notifyPinnedStackAnimationEnded:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_notifyPinnedStackAnimationStarted:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_openContentUri:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_overridePendingTransition:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_peekService:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_performIdleMaintenance:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_positionTaskInStack:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_profileControl:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_publishContentProviders:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_publishService:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_refContentProvider:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_registerIntentSenderCancelListener:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_registerProcessObserver:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_registerReceiver:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_registerRemoteAnimationForNextActivityStart:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_registerRemoteAnimations:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_registerTaskStackListener:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_registerUidObserver:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_registerUserSwitchObserver:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_releaseActivityInstance:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_releasePersistableUriPermission:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_releaseSomeActivities:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_removeContentProvider:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_removeContentProviderExternal:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_removeStack:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_removeStacksInWindowingModes:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_removeStacksWithActivityTypes:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_removeTask:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_reportActivityFullyDrawn:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_reportAssistContextExtras:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_reportSizeConfigurations:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_requestAssistContextExtras:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_requestAutofillData:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_requestBugReport:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_requestTelephonyBugReport:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_requestWifiBugReport:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_resizeDockedStack:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_resizePinnedStack:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_resizeStack:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_resizeTask:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_restart:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_restartUserInBackground:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_resumeAppSwitches:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_revokeUriPermission:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_revokeUriPermissionFromOwner:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_scheduleApplicationInfoChanged:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_sendIdleJobTrigger:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_sendIntentSender:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_serviceDoneExecuting:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setActivityController:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setAgentApp:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setAlwaysFinish:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setDebugApp:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setDisablePreviewScreenshots:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setDumpHeapDebugLimit:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setFocusedStack:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setFocusedTask:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setFrontActivityScreenCompatMode:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setHasTopUi:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setImmersive:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setLockScreenShown:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setPackageAskScreenCompat:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setPackageScreenCompatMode:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setPersistentVrThread:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setPictureInPictureParams:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setProcessImportant:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setProcessLimit:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setProcessMemoryTrimLevel:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setRenderThread:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setRequestedOrientation:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setServiceForeground:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setShowWhenLocked:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setSplitScreenResizing:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setTaskDescription:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setTaskResizeable:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setTaskWindowingMode:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setTaskWindowingModeSplitScreenPrimary:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setTurnScreenOn:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setUserIsMonkey:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setVoiceKeepAwake:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setVrMode:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_setVrThread:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_shouldUpRecreateTask:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_showAssistFromActivity:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_showBootMessage:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_showLockTaskEscapeMessage:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_showWaitingForDebugger:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_shutdown:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_signalPersistentProcesses:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startActivities:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startActivity:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startActivityAndWait:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startActivityAsCaller:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startActivityAsUser:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startActivityFromRecents:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startActivityIntentSender:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startActivityWithConfig:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startAssistantActivity:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startBinderTracking:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startConfirmDeviceCredentialIntent:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startInPlaceAnimationOnFrontMostApplication:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startInstrumentation:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startLocalVoiceInteraction:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startLockTaskModeByToken:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startNextMatchingActivity:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startRecentsActivity:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startService:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startSystemLockTaskMode:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startUserInBackground:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startUserInBackgroundWithListener:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_startVoiceActivity:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_stopAppSwitches:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_stopBinderTrackingAndDump:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_stopLocalVoiceInteraction:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_stopLockTaskModeByToken:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_stopService:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_stopServiceToken:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_stopSystemLockTaskMode:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_stopUser:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_supportsLocalVoiceInteraction:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_suppressResizeConfigChanges:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_switchUser:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_takePersistableUriPermission:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_unbindBackupAgent:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_unbindFinished:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_unbindService:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_unbroadcastIntent:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_unhandledBack:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_unlockUser:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_unregisterIntentSenderCancelListener:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_unregisterProcessObserver:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_unregisterReceiver:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_unregisterTaskStackListener:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_unregisterUidObserver:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_unregisterUserSwitchObserver:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_unstableProviderDied:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_updateConfiguration:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_updateDeviceOwner:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_updateDisplayOverrideConfiguration:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_updateLockTaskFeatures:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_updateLockTaskPackages:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_updatePersistentConfiguration:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_waitForNetworkStateUpdate:I
-Landroid/app/IActivityManager$Stub;->TRANSACTION_willActivityBeVisible:I
-Landroid/app/IActivityManager;
-Landroid/app/IActivityManager;->activityDestroyed(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager;->activityIdle(Landroid/os/IBinder;Landroid/content/res/Configuration;Z)V
-Landroid/app/IActivityManager;->activityPaused(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager;->activityRelaunched(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager;->activityResumed(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager;->activitySlept(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager;->activityStopped(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/lang/CharSequence;)V
-Landroid/app/IActivityManager;->addAppTask(Landroid/os/IBinder;Landroid/content/Intent;Landroid/app/ActivityManager$TaskDescription;Landroid/graphics/Bitmap;)I
-Landroid/app/IActivityManager;->addInstrumentationResults(Landroid/app/IApplicationThread;Landroid/os/Bundle;)V
-Landroid/app/IActivityManager;->addPackageDependency(Ljava/lang/String;)V
-Landroid/app/IActivityManager;->alwaysShowUnsupportedCompileSdkWarning(Landroid/content/ComponentName;)V
-Landroid/app/IActivityManager;->appNotRespondingViaProvider(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager;->attachApplication(Landroid/app/IApplicationThread;J)V
-Landroid/app/IActivityManager;->backgroundWhitelistUid(I)V
-Landroid/app/IActivityManager;->backupAgentCreated(Ljava/lang/String;Landroid/os/IBinder;)V
-Landroid/app/IActivityManager;->bindBackupAgent(Ljava/lang/String;II)Z
-Landroid/app/IActivityManager;->bootAnimationComplete()V
-Landroid/app/IActivityManager;->cancelIntentSender(Landroid/content/IIntentSender;)V
-Landroid/app/IActivityManager;->checkGrantUriPermission(ILjava/lang/String;Landroid/net/Uri;II)I
-Landroid/app/IActivityManager;->checkPermissionWithToken(Ljava/lang/String;IILandroid/os/IBinder;)I
-Landroid/app/IActivityManager;->checkUriPermission(Landroid/net/Uri;IIIILandroid/os/IBinder;)I
-Landroid/app/IActivityManager;->clearApplicationUserData(Ljava/lang/String;ZLandroid/content/pm/IPackageDataObserver;I)Z
-Landroid/app/IActivityManager;->clearGrantedUriPermissions(Ljava/lang/String;I)V
-Landroid/app/IActivityManager;->clearPendingBackup()V
-Landroid/app/IActivityManager;->convertFromTranslucent(Landroid/os/IBinder;)Z
-Landroid/app/IActivityManager;->convertToTranslucent(Landroid/os/IBinder;Landroid/os/Bundle;)Z
-Landroid/app/IActivityManager;->crashApplication(IILjava/lang/String;ILjava/lang/String;)V
-Landroid/app/IActivityManager;->createStackOnDisplay(I)I
-Landroid/app/IActivityManager;->dismissKeyguard(Landroid/os/IBinder;Lcom/android/internal/policy/IKeyguardDismissCallback;Ljava/lang/CharSequence;)V
-Landroid/app/IActivityManager;->dismissPip(ZI)V
-Landroid/app/IActivityManager;->dismissSplitScreenMode(Z)V
-Landroid/app/IActivityManager;->dumpHeap(Ljava/lang/String;IZZZLjava/lang/String;Landroid/os/ParcelFileDescriptor;)Z
-Landroid/app/IActivityManager;->dumpHeapFinished(Ljava/lang/String;)V
-Landroid/app/IActivityManager;->enterPictureInPictureMode(Landroid/os/IBinder;Landroid/app/PictureInPictureParams;)Z
-Landroid/app/IActivityManager;->exitFreeformMode(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager;->finishActivityAffinity(Landroid/os/IBinder;)Z
-Landroid/app/IActivityManager;->finishInstrumentation(Landroid/app/IApplicationThread;ILandroid/os/Bundle;)V
-Landroid/app/IActivityManager;->finishSubActivity(Landroid/os/IBinder;Ljava/lang/String;I)V
-Landroid/app/IActivityManager;->finishVoiceTask(Landroid/service/voice/IVoiceInteractionSession;)V
-Landroid/app/IActivityManager;->getActivityClassForToken(Landroid/os/IBinder;)Landroid/content/ComponentName;
-Landroid/app/IActivityManager;->getActivityDisplayId(Landroid/os/IBinder;)I
-Landroid/app/IActivityManager;->getActivityOptions(Landroid/os/IBinder;)Landroid/os/Bundle;
-Landroid/app/IActivityManager;->getAppTasks(Ljava/lang/String;)Ljava/util/List;
-Landroid/app/IActivityManager;->getAppTaskThumbnailSize()Landroid/graphics/Point;
-Landroid/app/IActivityManager;->getAssistContextExtras(I)Landroid/os/Bundle;
-Landroid/app/IActivityManager;->getCallingActivity(Landroid/os/IBinder;)Landroid/content/ComponentName;
-Landroid/app/IActivityManager;->getCallingPackage(Landroid/os/IBinder;)Ljava/lang/String;
-Landroid/app/IActivityManager;->getContentProvider(Landroid/app/IApplicationThread;Ljava/lang/String;IZ)Landroid/app/ContentProviderHolder;
-Landroid/app/IActivityManager;->getContentProviderExternal(Ljava/lang/String;ILandroid/os/IBinder;)Landroid/app/ContentProviderHolder;
-Landroid/app/IActivityManager;->getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
-Landroid/app/IActivityManager;->getFocusedStackInfo()Landroid/app/ActivityManager$StackInfo;
-Landroid/app/IActivityManager;->getFrontActivityScreenCompatMode()I
-Landroid/app/IActivityManager;->getGrantedUriPermissions(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-Landroid/app/IActivityManager;->getLastResumedActivityUserId()I
-Landroid/app/IActivityManager;->getMaxNumPictureInPictureActions(Landroid/os/IBinder;)I
-Landroid/app/IActivityManager;->getMemoryTrimLevel()I
-Landroid/app/IActivityManager;->getMyMemoryState(Landroid/app/ActivityManager$RunningAppProcessInfo;)V
-Landroid/app/IActivityManager;->getPackageAskScreenCompat(Ljava/lang/String;)Z
-Landroid/app/IActivityManager;->getPackageForIntentSender(Landroid/content/IIntentSender;)Ljava/lang/String;
-Landroid/app/IActivityManager;->getPackageForToken(Landroid/os/IBinder;)Ljava/lang/String;
-Landroid/app/IActivityManager;->getPackageScreenCompatMode(Ljava/lang/String;)I
-Landroid/app/IActivityManager;->getPersistedUriPermissions(Ljava/lang/String;Z)Landroid/content/pm/ParceledListSlice;
-Landroid/app/IActivityManager;->getProcessesInErrorState()Ljava/util/List;
-Landroid/app/IActivityManager;->getRequestedOrientation(Landroid/os/IBinder;)I
-Landroid/app/IActivityManager;->getRunningExternalApplications()Ljava/util/List;
-Landroid/app/IActivityManager;->getRunningServiceControlPanel(Landroid/content/ComponentName;)Landroid/app/PendingIntent;
-Landroid/app/IActivityManager;->getRunningUserIds()[I
-Landroid/app/IActivityManager;->getStackInfo(II)Landroid/app/ActivityManager$StackInfo;
-Landroid/app/IActivityManager;->getTagForIntentSender(Landroid/content/IIntentSender;Ljava/lang/String;)Ljava/lang/String;
-Landroid/app/IActivityManager;->getTaskDescription(I)Landroid/app/ActivityManager$TaskDescription;
-Landroid/app/IActivityManager;->getTaskDescriptionIcon(Ljava/lang/String;I)Landroid/graphics/Bitmap;
-Landroid/app/IActivityManager;->getTasks(I)Ljava/util/List;
-Landroid/app/IActivityManager;->getUidForIntentSender(Landroid/content/IIntentSender;)I
-Landroid/app/IActivityManager;->getUidProcessState(ILjava/lang/String;)I
-Landroid/app/IActivityManager;->getUriPermissionOwnerForActivity(Landroid/os/IBinder;)Landroid/os/IBinder;
-Landroid/app/IActivityManager;->grantUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V
-Landroid/app/IActivityManager;->grantUriPermissionFromOwner(Landroid/os/IBinder;ILjava/lang/String;Landroid/net/Uri;III)V
-Landroid/app/IActivityManager;->handleApplicationCrash(Landroid/os/IBinder;Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;)V
-Landroid/app/IActivityManager;->handleApplicationWtf(Landroid/os/IBinder;Ljava/lang/String;ZLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;)Z
-Landroid/app/IActivityManager;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
-Landroid/app/IActivityManager;->inputDispatchingTimedOut(IZLjava/lang/String;)J
-Landroid/app/IActivityManager;->isAppForeground(I)Z
-Landroid/app/IActivityManager;->isAppStartModeDisabled(ILjava/lang/String;)Z
-Landroid/app/IActivityManager;->isAssistDataAllowedOnCurrentActivity()Z
-Landroid/app/IActivityManager;->isBackgroundRestricted(Ljava/lang/String;)Z
-Landroid/app/IActivityManager;->isImmersive(Landroid/os/IBinder;)Z
-Landroid/app/IActivityManager;->isInMultiWindowMode(Landroid/os/IBinder;)Z
-Landroid/app/IActivityManager;->isInPictureInPictureMode(Landroid/os/IBinder;)Z
-Landroid/app/IActivityManager;->isIntentSenderAForegroundService(Landroid/content/IIntentSender;)Z
-Landroid/app/IActivityManager;->isIntentSenderTargetedToPackage(Landroid/content/IIntentSender;)Z
-Landroid/app/IActivityManager;->isRootVoiceInteraction(Landroid/os/IBinder;)Z
-Landroid/app/IActivityManager;->isTopActivityImmersive()Z
-Landroid/app/IActivityManager;->isUidActive(ILjava/lang/String;)Z
-Landroid/app/IActivityManager;->isUserAMonkey()Z
-Landroid/app/IActivityManager;->isVrModePackageEnabled(Landroid/content/ComponentName;)Z
-Landroid/app/IActivityManager;->keyguardGoingAway(I)V
-Landroid/app/IActivityManager;->killApplication(Ljava/lang/String;IILjava/lang/String;)V
-Landroid/app/IActivityManager;->killPackageDependents(Ljava/lang/String;I)V
-Landroid/app/IActivityManager;->killPids([ILjava/lang/String;Z)Z
-Landroid/app/IActivityManager;->killProcessesBelowForeground(Ljava/lang/String;)Z
-Landroid/app/IActivityManager;->killUid(IILjava/lang/String;)V
-Landroid/app/IActivityManager;->launchAssistIntent(Landroid/content/Intent;ILjava/lang/String;ILandroid/os/Bundle;)Z
-Landroid/app/IActivityManager;->makePackageIdle(Ljava/lang/String;I)V
-Landroid/app/IActivityManager;->moveStackToDisplay(II)V
-Landroid/app/IActivityManager;->moveTaskBackwards(I)V
-Landroid/app/IActivityManager;->moveTasksToFullscreenStack(IZ)V
-Landroid/app/IActivityManager;->navigateUpTo(Landroid/os/IBinder;Landroid/content/Intent;ILandroid/content/Intent;)Z
-Landroid/app/IActivityManager;->newUriPermissionOwner(Ljava/lang/String;)Landroid/os/IBinder;
-Landroid/app/IActivityManager;->noteAlarmFinish(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;)V
-Landroid/app/IActivityManager;->noteAlarmStart(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;)V
-Landroid/app/IActivityManager;->noteWakeupAlarm(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;)V
-Landroid/app/IActivityManager;->notifyActivityDrawn(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager;->notifyCleartextNetwork(I[B)V
-Landroid/app/IActivityManager;->notifyEnterAnimationComplete(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager;->notifyLaunchTaskBehindComplete(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager;->notifyLockedProfile(I)V
-Landroid/app/IActivityManager;->notifyPinnedStackAnimationEnded()V
-Landroid/app/IActivityManager;->notifyPinnedStackAnimationStarted()V
-Landroid/app/IActivityManager;->openContentUri(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-Landroid/app/IActivityManager;->overridePendingTransition(Landroid/os/IBinder;Ljava/lang/String;II)V
-Landroid/app/IActivityManager;->peekService(Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;)Landroid/os/IBinder;
-Landroid/app/IActivityManager;->performIdleMaintenance()V
-Landroid/app/IActivityManager;->publishService(Landroid/os/IBinder;Landroid/content/Intent;Landroid/os/IBinder;)V
-Landroid/app/IActivityManager;->refContentProvider(Landroid/os/IBinder;II)Z
-Landroid/app/IActivityManager;->registerIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V
-Landroid/app/IActivityManager;->registerRemoteAnimationForNextActivityStart(Ljava/lang/String;Landroid/view/RemoteAnimationAdapter;)V
-Landroid/app/IActivityManager;->registerRemoteAnimations(Landroid/os/IBinder;Landroid/view/RemoteAnimationDefinition;)V
-Landroid/app/IActivityManager;->registerUidObserver(Landroid/app/IUidObserver;IILjava/lang/String;)V
-Landroid/app/IActivityManager;->releaseActivityInstance(Landroid/os/IBinder;)Z
-Landroid/app/IActivityManager;->releasePersistableUriPermission(Landroid/net/Uri;ILjava/lang/String;I)V
-Landroid/app/IActivityManager;->releaseSomeActivities(Landroid/app/IApplicationThread;)V
-Landroid/app/IActivityManager;->removeContentProvider(Landroid/os/IBinder;Z)V
-Landroid/app/IActivityManager;->removeStacksInWindowingModes([I)V
-Landroid/app/IActivityManager;->removeStacksWithActivityTypes([I)V
-Landroid/app/IActivityManager;->reportActivityFullyDrawn(Landroid/os/IBinder;Z)V
-Landroid/app/IActivityManager;->reportAssistContextExtras(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;Landroid/net/Uri;)V
-Landroid/app/IActivityManager;->reportSizeConfigurations(Landroid/os/IBinder;[I[I[I)V
-Landroid/app/IActivityManager;->requestAssistContextExtras(ILandroid/app/IAssistDataReceiver;Landroid/os/Bundle;Landroid/os/IBinder;ZZ)Z
-Landroid/app/IActivityManager;->requestAutofillData(Landroid/app/IAssistDataReceiver;Landroid/os/Bundle;Landroid/os/IBinder;I)Z
-Landroid/app/IActivityManager;->requestTelephonyBugReport(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/IActivityManager;->requestWifiBugReport(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/IActivityManager;->resizePinnedStack(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-Landroid/app/IActivityManager;->restartUserInBackground(I)I
-Landroid/app/IActivityManager;->revokeUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V
-Landroid/app/IActivityManager;->revokeUriPermissionFromOwner(Landroid/os/IBinder;Landroid/net/Uri;II)V
-Landroid/app/IActivityManager;->scheduleApplicationInfoChanged(Ljava/util/List;I)V
-Landroid/app/IActivityManager;->sendIntentSender(Landroid/content/IIntentSender;Landroid/os/IBinder;ILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/Bundle;)I
-Landroid/app/IActivityManager;->setAgentApp(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/IActivityManager;->setDisablePreviewScreenshots(Landroid/os/IBinder;Z)V
-Landroid/app/IActivityManager;->setFocusedStack(I)V
-Landroid/app/IActivityManager;->setFocusedTask(I)V
-Landroid/app/IActivityManager;->setFrontActivityScreenCompatMode(I)V
-Landroid/app/IActivityManager;->setHasTopUi(Z)V
-Landroid/app/IActivityManager;->setImmersive(Landroid/os/IBinder;Z)V
-Landroid/app/IActivityManager;->setLockScreenShown(ZZI)V
-Landroid/app/IActivityManager;->setPackageAskScreenCompat(Ljava/lang/String;Z)V
-Landroid/app/IActivityManager;->setPersistentVrThread(I)V
-Landroid/app/IActivityManager;->setPictureInPictureParams(Landroid/os/IBinder;Landroid/app/PictureInPictureParams;)V
-Landroid/app/IActivityManager;->setRenderThread(I)V
-Landroid/app/IActivityManager;->setServiceForeground(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;I)V
-Landroid/app/IActivityManager;->setShowWhenLocked(Landroid/os/IBinder;Z)V
-Landroid/app/IActivityManager;->setSplitScreenResizing(Z)V
-Landroid/app/IActivityManager;->setTaskDescription(Landroid/os/IBinder;Landroid/app/ActivityManager$TaskDescription;)V
-Landroid/app/IActivityManager;->setTaskWindowingMode(IIZ)V
-Landroid/app/IActivityManager;->setTaskWindowingModeSplitScreenPrimary(IIZZLandroid/graphics/Rect;Z)Z
-Landroid/app/IActivityManager;->setTurnScreenOn(Landroid/os/IBinder;Z)V
-Landroid/app/IActivityManager;->setUserIsMonkey(Z)V
-Landroid/app/IActivityManager;->setVoiceKeepAwake(Landroid/service/voice/IVoiceInteractionSession;Z)V
-Landroid/app/IActivityManager;->setVrMode(Landroid/os/IBinder;ZLandroid/content/ComponentName;)I
-Landroid/app/IActivityManager;->setVrThread(I)V
-Landroid/app/IActivityManager;->shouldUpRecreateTask(Landroid/os/IBinder;Ljava/lang/String;)Z
-Landroid/app/IActivityManager;->showAssistFromActivity(Landroid/os/IBinder;Landroid/os/Bundle;)Z
-Landroid/app/IActivityManager;->showBootMessage(Ljava/lang/CharSequence;Z)V
-Landroid/app/IActivityManager;->showLockTaskEscapeMessage(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager;->showWaitingForDebugger(Landroid/app/IApplicationThread;Z)V
-Landroid/app/IActivityManager;->signalPersistentProcesses(I)V
-Landroid/app/IActivityManager;->startActivities(Landroid/app/IApplicationThread;Ljava/lang/String;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;I)I
-Landroid/app/IActivityManager;->startActivityAndWait(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;I)Landroid/app/WaitResult;
-Landroid/app/IActivityManager;->startActivityAsCaller(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;ZI)I
-Landroid/app/IActivityManager;->startActivityIntentSender(Landroid/app/IApplicationThread;Landroid/content/IIntentSender;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;)I
-Landroid/app/IActivityManager;->startActivityWithConfig(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/content/res/Configuration;Landroid/os/Bundle;I)I
-Landroid/app/IActivityManager;->startAssistantActivity(Ljava/lang/String;IILandroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;I)I
-Landroid/app/IActivityManager;->startConfirmDeviceCredentialIntent(Landroid/content/Intent;Landroid/os/Bundle;)V
-Landroid/app/IActivityManager;->startInPlaceAnimationOnFrontMostApplication(Landroid/os/Bundle;)V
-Landroid/app/IActivityManager;->startLocalVoiceInteraction(Landroid/os/IBinder;Landroid/os/Bundle;)V
-Landroid/app/IActivityManager;->startLockTaskModeByToken(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager;->startNextMatchingActivity(Landroid/os/IBinder;Landroid/content/Intent;Landroid/os/Bundle;)Z
-Landroid/app/IActivityManager;->startService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;ZLjava/lang/String;I)Landroid/content/ComponentName;
-Landroid/app/IActivityManager;->startUserInBackgroundWithListener(ILandroid/os/IProgressListener;)Z
-Landroid/app/IActivityManager;->startVoiceActivity(Ljava/lang/String;IILandroid/content/Intent;Ljava/lang/String;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;ILandroid/app/ProfilerInfo;Landroid/os/Bundle;I)I
-Landroid/app/IActivityManager;->stopLocalVoiceInteraction(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager;->stopLockTaskModeByToken(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager;->stopServiceToken(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z
-Landroid/app/IActivityManager;->stopSystemLockTaskMode()V
-Landroid/app/IActivityManager;->supportsLocalVoiceInteraction()Z
-Landroid/app/IActivityManager;->takePersistableUriPermission(Landroid/net/Uri;ILjava/lang/String;I)V
-Landroid/app/IActivityManager;->unbindFinished(Landroid/os/IBinder;Landroid/content/Intent;Z)V
-Landroid/app/IActivityManager;->unbroadcastIntent(Landroid/app/IApplicationThread;Landroid/content/Intent;I)V
-Landroid/app/IActivityManager;->unregisterIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V
-Landroid/app/IActivityManager;->unregisterTaskStackListener(Landroid/app/ITaskStackListener;)V
-Landroid/app/IActivityManager;->unregisterUidObserver(Landroid/app/IUidObserver;)V
-Landroid/app/IActivityManager;->unregisterUserSwitchObserver(Landroid/app/IUserSwitchObserver;)V
-Landroid/app/IActivityManager;->updateDeviceOwner(Ljava/lang/String;)V
-Landroid/app/IActivityManager;->updateDisplayOverrideConfiguration(Landroid/content/res/Configuration;I)Z
-Landroid/app/IActivityManager;->updateLockTaskFeatures(II)V
-Landroid/app/IActivityManager;->updateLockTaskPackages(I[Ljava/lang/String;)V
-Landroid/app/IActivityManager;->waitForNetworkStateUpdate(J)V
-Landroid/app/IActivityManager;->willActivityBeVisible(Landroid/os/IBinder;)Z
-Landroid/app/IActivityPendingResult$Stub$Proxy;
-Landroid/app/IActivityPendingResult$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/IActivityPendingResult$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IActivityPendingResult$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/IActivityPendingResult$Stub$Proxy;->sendResult(ILjava/lang/String;Landroid/os/Bundle;)Z
-Landroid/app/IActivityPendingResult$Stub;
-Landroid/app/IActivityPendingResult$Stub;-><init>()V
-Landroid/app/IActivityPendingResult$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IActivityPendingResult;
-Landroid/app/IActivityPendingResult$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IActivityPendingResult$Stub;->TRANSACTION_sendResult:I
-Landroid/app/IActivityPendingResult;
-Landroid/app/IActivityPendingResult;->sendResult(ILjava/lang/String;Landroid/os/Bundle;)Z
-Landroid/app/IAlarmCompleteListener$Stub$Proxy;
-Landroid/app/IAlarmCompleteListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/IAlarmCompleteListener$Stub$Proxy;->alarmComplete(Landroid/os/IBinder;)V
-Landroid/app/IAlarmCompleteListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IAlarmCompleteListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/IAlarmCompleteListener$Stub;
-Landroid/app/IAlarmCompleteListener$Stub;-><init>()V
-Landroid/app/IAlarmCompleteListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IAlarmCompleteListener;
-Landroid/app/IAlarmCompleteListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IAlarmCompleteListener$Stub;->TRANSACTION_alarmComplete:I
-Landroid/app/IAlarmCompleteListener;
-Landroid/app/IAlarmCompleteListener;->alarmComplete(Landroid/os/IBinder;)V
-Landroid/app/IAlarmListener$Stub$Proxy;
-Landroid/app/IAlarmListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/IAlarmListener$Stub$Proxy;->doAlarm(Landroid/app/IAlarmCompleteListener;)V
-Landroid/app/IAlarmListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IAlarmListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/IAlarmListener$Stub;
-Landroid/app/IAlarmListener$Stub;-><init>()V
-Landroid/app/IAlarmListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IAlarmListener;
-Landroid/app/IAlarmListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IAlarmListener$Stub;->TRANSACTION_doAlarm:I
-Landroid/app/IAlarmListener;
-Landroid/app/IAlarmListener;->doAlarm(Landroid/app/IAlarmCompleteListener;)V
-Landroid/app/IAlarmManager$Stub$Proxy;
-Landroid/app/IAlarmManager$Stub$Proxy;->currentNetworkTimeMillis()J
-Landroid/app/IAlarmManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IAlarmManager$Stub$Proxy;->getNextAlarmClock(I)Landroid/app/AlarmManager$AlarmClockInfo;
-Landroid/app/IAlarmManager$Stub$Proxy;->getNextWakeFromIdleTime()J
-Landroid/app/IAlarmManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/IAlarmManager$Stub$Proxy;->remove(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
-Landroid/app/IAlarmManager$Stub$Proxy;->set(Ljava/lang/String;IJJJILandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;Landroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;)V
-Landroid/app/IAlarmManager$Stub$Proxy;->setTime(J)Z
-Landroid/app/IAlarmManager$Stub$Proxy;->setTimeZone(Ljava/lang/String;)V
-Landroid/app/IAlarmManager$Stub;
-Landroid/app/IAlarmManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IAlarmManager$Stub;->TRANSACTION_currentNetworkTimeMillis:I
-Landroid/app/IAlarmManager$Stub;->TRANSACTION_getNextAlarmClock:I
-Landroid/app/IAlarmManager$Stub;->TRANSACTION_getNextWakeFromIdleTime:I
-Landroid/app/IAlarmManager$Stub;->TRANSACTION_setTime:I
-Landroid/app/IAlarmManager$Stub;->TRANSACTION_setTimeZone:I
-Landroid/app/IAlarmManager;
-Landroid/app/IAlarmManager;->currentNetworkTimeMillis()J
-Landroid/app/IAlarmManager;->getNextWakeFromIdleTime()J
-Landroid/app/IAlarmManager;->remove(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
-Landroid/app/IAlarmManager;->setTimeZone(Ljava/lang/String;)V
-Landroid/app/IApplicationThread$Stub$Proxy;
-Landroid/app/IApplicationThread$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->attachAgent(Ljava/lang/String;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->bindApplication(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/util/List;Landroid/content/ComponentName;Landroid/app/ProfilerInfo;Landroid/os/Bundle;Landroid/app/IInstrumentationWatcher;Landroid/app/IUiAutomationConnection;IZZZZLandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/util/Map;Landroid/os/Bundle;Ljava/lang/String;Z)V
-Landroid/app/IApplicationThread$Stub$Proxy;->clearDnsCache()V
-Landroid/app/IApplicationThread$Stub$Proxy;->dispatchPackageBroadcast(I[Ljava/lang/String;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->dumpActivity(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->dumpDbInfo(Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->dumpGfxInfo(Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->dumpHeap(ZZZLjava/lang/String;Landroid/os/ParcelFileDescriptor;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->dumpMemInfo(Landroid/os/ParcelFileDescriptor;Landroid/os/Debug$MemoryInfo;ZZZZZ[Ljava/lang/String;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->dumpMemInfoProto(Landroid/os/ParcelFileDescriptor;Landroid/os/Debug$MemoryInfo;ZZZZ[Ljava/lang/String;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->dumpProvider(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;[Ljava/lang/String;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->dumpService(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;[Ljava/lang/String;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IApplicationThread$Stub$Proxy;->handleTrustStorageUpdate()V
-Landroid/app/IApplicationThread$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/IApplicationThread$Stub$Proxy;->notifyCleartextNetwork([B)V
-Landroid/app/IApplicationThread$Stub$Proxy;->processInBackground()V
-Landroid/app/IApplicationThread$Stub$Proxy;->profilerControl(ZLandroid/app/ProfilerInfo;I)V
-Landroid/app/IApplicationThread$Stub$Proxy;->requestAssistContextExtras(Landroid/os/IBinder;Landroid/os/IBinder;III)V
-Landroid/app/IApplicationThread$Stub$Proxy;->runIsolatedEntryPoint(Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleApplicationInfoChanged(Landroid/content/pm/ApplicationInfo;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleBindService(Landroid/os/IBinder;Landroid/content/Intent;ZI)V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleCrash(Ljava/lang/String;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleCreateBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleCreateService(Landroid/os/IBinder;Landroid/content/pm/ServiceInfo;Landroid/content/res/CompatibilityInfo;I)V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleDestroyBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleEnterAnimationComplete(Landroid/os/IBinder;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleExit()V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleInstallProvider(Landroid/content/pm/ProviderInfo;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleLocalVoiceInteractionStarted(Landroid/os/IBinder;Lcom/android/internal/app/IVoiceInteractor;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleLowMemory()V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleOnNewActivityOptions(Landroid/os/IBinder;Landroid/os/Bundle;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleReceiver(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/content/res/CompatibilityInfo;ILjava/lang/String;Landroid/os/Bundle;ZII)V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleRegisteredReceiver(Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZII)V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleServiceArgs(Landroid/os/IBinder;Landroid/content/pm/ParceledListSlice;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleSleeping(Landroid/os/IBinder;Z)V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleStopService(Landroid/os/IBinder;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleSuicide()V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleTransaction(Landroid/app/servertransaction/ClientTransaction;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleTranslucentConversionComplete(Landroid/os/IBinder;Z)V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleTrimMemory(I)V
-Landroid/app/IApplicationThread$Stub$Proxy;->scheduleUnbindService(Landroid/os/IBinder;Landroid/content/Intent;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->setCoreSettings(Landroid/os/Bundle;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->setHttpProxy(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->setNetworkBlockSeq(J)V
-Landroid/app/IApplicationThread$Stub$Proxy;->setProcessState(I)V
-Landroid/app/IApplicationThread$Stub$Proxy;->setSchedulingGroup(I)V
-Landroid/app/IApplicationThread$Stub$Proxy;->startBinderTracking()V
-Landroid/app/IApplicationThread$Stub$Proxy;->stopBinderTrackingAndDump(Landroid/os/ParcelFileDescriptor;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->unstableProviderDied(Landroid/os/IBinder;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->updatePackageCompatibilityInfo(Ljava/lang/String;Landroid/content/res/CompatibilityInfo;)V
-Landroid/app/IApplicationThread$Stub$Proxy;->updateTimePrefs(I)V
-Landroid/app/IApplicationThread$Stub$Proxy;->updateTimeZone()V
-Landroid/app/IApplicationThread$Stub;
-Landroid/app/IApplicationThread$Stub;-><init>()V
-Landroid/app/IApplicationThread$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IApplicationThread;
-Landroid/app/IApplicationThread$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_attachAgent:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_bindApplication:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_clearDnsCache:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_dispatchPackageBroadcast:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_dumpActivity:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_dumpDbInfo:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_dumpGfxInfo:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_dumpHeap:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_dumpMemInfo:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_dumpMemInfoProto:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_dumpProvider:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_dumpService:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_handleTrustStorageUpdate:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_notifyCleartextNetwork:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_processInBackground:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_profilerControl:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_requestAssistContextExtras:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_runIsolatedEntryPoint:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleApplicationInfoChanged:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleBindService:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleCrash:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleCreateBackupAgent:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleCreateService:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleDestroyBackupAgent:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleEnterAnimationComplete:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleExit:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleInstallProvider:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleLocalVoiceInteractionStarted:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleLowMemory:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleOnNewActivityOptions:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleReceiver:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleRegisteredReceiver:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleServiceArgs:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleSleeping:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleStopService:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleSuicide:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleTransaction:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleTranslucentConversionComplete:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleTrimMemory:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_scheduleUnbindService:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_setCoreSettings:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_setHttpProxy:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_setNetworkBlockSeq:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_setProcessState:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_setSchedulingGroup:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_startBinderTracking:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_stopBinderTrackingAndDump:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_unstableProviderDied:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_updatePackageCompatibilityInfo:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_updateTimePrefs:I
-Landroid/app/IApplicationThread$Stub;->TRANSACTION_updateTimeZone:I
-Landroid/app/IApplicationThread;
-Landroid/app/IApplicationThread;->attachAgent(Ljava/lang/String;)V
-Landroid/app/IApplicationThread;->bindApplication(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/util/List;Landroid/content/ComponentName;Landroid/app/ProfilerInfo;Landroid/os/Bundle;Landroid/app/IInstrumentationWatcher;Landroid/app/IUiAutomationConnection;IZZZZLandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/util/Map;Landroid/os/Bundle;Ljava/lang/String;Z)V
-Landroid/app/IApplicationThread;->clearDnsCache()V
-Landroid/app/IApplicationThread;->dispatchPackageBroadcast(I[Ljava/lang/String;)V
-Landroid/app/IApplicationThread;->dumpActivity(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/app/IApplicationThread;->dumpDbInfo(Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;)V
-Landroid/app/IApplicationThread;->dumpGfxInfo(Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;)V
-Landroid/app/IApplicationThread;->dumpHeap(ZZZLjava/lang/String;Landroid/os/ParcelFileDescriptor;)V
-Landroid/app/IApplicationThread;->dumpMemInfo(Landroid/os/ParcelFileDescriptor;Landroid/os/Debug$MemoryInfo;ZZZZZ[Ljava/lang/String;)V
-Landroid/app/IApplicationThread;->dumpMemInfoProto(Landroid/os/ParcelFileDescriptor;Landroid/os/Debug$MemoryInfo;ZZZZ[Ljava/lang/String;)V
-Landroid/app/IApplicationThread;->dumpProvider(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;[Ljava/lang/String;)V
-Landroid/app/IApplicationThread;->dumpService(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;[Ljava/lang/String;)V
-Landroid/app/IApplicationThread;->handleTrustStorageUpdate()V
-Landroid/app/IApplicationThread;->notifyCleartextNetwork([B)V
-Landroid/app/IApplicationThread;->profilerControl(ZLandroid/app/ProfilerInfo;I)V
-Landroid/app/IApplicationThread;->requestAssistContextExtras(Landroid/os/IBinder;Landroid/os/IBinder;III)V
-Landroid/app/IApplicationThread;->runIsolatedEntryPoint(Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/app/IApplicationThread;->scheduleApplicationInfoChanged(Landroid/content/pm/ApplicationInfo;)V
-Landroid/app/IApplicationThread;->scheduleCrash(Ljava/lang/String;)V
-Landroid/app/IApplicationThread;->scheduleCreateBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)V
-Landroid/app/IApplicationThread;->scheduleDestroyBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;)V
-Landroid/app/IApplicationThread;->scheduleEnterAnimationComplete(Landroid/os/IBinder;)V
-Landroid/app/IApplicationThread;->scheduleInstallProvider(Landroid/content/pm/ProviderInfo;)V
-Landroid/app/IApplicationThread;->scheduleLocalVoiceInteractionStarted(Landroid/os/IBinder;Lcom/android/internal/app/IVoiceInteractor;)V
-Landroid/app/IApplicationThread;->scheduleOnNewActivityOptions(Landroid/os/IBinder;Landroid/os/Bundle;)V
-Landroid/app/IApplicationThread;->scheduleReceiver(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/content/res/CompatibilityInfo;ILjava/lang/String;Landroid/os/Bundle;ZII)V
-Landroid/app/IApplicationThread;->scheduleRegisteredReceiver(Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZII)V
-Landroid/app/IApplicationThread;->scheduleServiceArgs(Landroid/os/IBinder;Landroid/content/pm/ParceledListSlice;)V
-Landroid/app/IApplicationThread;->scheduleSleeping(Landroid/os/IBinder;Z)V
-Landroid/app/IApplicationThread;->scheduleTransaction(Landroid/app/servertransaction/ClientTransaction;)V
-Landroid/app/IApplicationThread;->scheduleTranslucentConversionComplete(Landroid/os/IBinder;Z)V
-Landroid/app/IApplicationThread;->setCoreSettings(Landroid/os/Bundle;)V
-Landroid/app/IApplicationThread;->setHttpProxy(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V
-Landroid/app/IApplicationThread;->setNetworkBlockSeq(J)V
-Landroid/app/IApplicationThread;->setProcessState(I)V
-Landroid/app/IApplicationThread;->setSchedulingGroup(I)V
-Landroid/app/IApplicationThread;->startBinderTracking()V
-Landroid/app/IApplicationThread;->stopBinderTrackingAndDump(Landroid/os/ParcelFileDescriptor;)V
-Landroid/app/IApplicationThread;->unstableProviderDied(Landroid/os/IBinder;)V
-Landroid/app/IApplicationThread;->updatePackageCompatibilityInfo(Ljava/lang/String;Landroid/content/res/CompatibilityInfo;)V
-Landroid/app/IApplicationThread;->updateTimePrefs(I)V
-Landroid/app/IAppTask$Stub$Proxy;
-Landroid/app/IAppTask$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/IAppTask$Stub$Proxy;->finishAndRemoveTask()V
-Landroid/app/IAppTask$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IAppTask$Stub$Proxy;->getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo;
-Landroid/app/IAppTask$Stub$Proxy;->moveToFront()V
-Landroid/app/IAppTask$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/IAppTask$Stub$Proxy;->setExcludeFromRecents(Z)V
-Landroid/app/IAppTask$Stub$Proxy;->startActivity(Landroid/os/IBinder;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;)I
-Landroid/app/IAppTask$Stub;
-Landroid/app/IAppTask$Stub;-><init>()V
-Landroid/app/IAppTask$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IAppTask;
-Landroid/app/IAppTask$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IAppTask$Stub;->TRANSACTION_finishAndRemoveTask:I
-Landroid/app/IAppTask$Stub;->TRANSACTION_getTaskInfo:I
-Landroid/app/IAppTask$Stub;->TRANSACTION_moveToFront:I
-Landroid/app/IAppTask$Stub;->TRANSACTION_setExcludeFromRecents:I
-Landroid/app/IAppTask$Stub;->TRANSACTION_startActivity:I
-Landroid/app/IAppTask;
-Landroid/app/IAppTask;->finishAndRemoveTask()V
-Landroid/app/IAppTask;->moveToFront()V
-Landroid/app/IAppTask;->setExcludeFromRecents(Z)V
-Landroid/app/IAppTask;->startActivity(Landroid/os/IBinder;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;)I
-Landroid/app/IAssistDataReceiver$Stub$Proxy;
-Landroid/app/IAssistDataReceiver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/IAssistDataReceiver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IAssistDataReceiver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/IAssistDataReceiver$Stub$Proxy;->onHandleAssistData(Landroid/os/Bundle;)V
-Landroid/app/IAssistDataReceiver$Stub$Proxy;->onHandleAssistScreenshot(Landroid/graphics/Bitmap;)V
-Landroid/app/IAssistDataReceiver$Stub;
-Landroid/app/IAssistDataReceiver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IAssistDataReceiver;
-Landroid/app/IAssistDataReceiver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IAssistDataReceiver$Stub;->TRANSACTION_onHandleAssistData:I
-Landroid/app/IAssistDataReceiver$Stub;->TRANSACTION_onHandleAssistScreenshot:I
-Landroid/app/IAssistDataReceiver;
-Landroid/app/IBackupAgent$Stub$Proxy;
-Landroid/app/IBackupAgent$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/IBackupAgent$Stub$Proxy;->doBackup(Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;JILandroid/app/backup/IBackupManager;I)V
-Landroid/app/IBackupAgent$Stub$Proxy;->doFullBackup(Landroid/os/ParcelFileDescriptor;JILandroid/app/backup/IBackupManager;I)V
-Landroid/app/IBackupAgent$Stub$Proxy;->doMeasureFullBackup(JILandroid/app/backup/IBackupManager;I)V
-Landroid/app/IBackupAgent$Stub$Proxy;->doQuotaExceeded(JJ)V
-Landroid/app/IBackupAgent$Stub$Proxy;->doRestore(Landroid/os/ParcelFileDescriptor;JLandroid/os/ParcelFileDescriptor;ILandroid/app/backup/IBackupManager;)V
-Landroid/app/IBackupAgent$Stub$Proxy;->doRestoreFile(Landroid/os/ParcelFileDescriptor;JILjava/lang/String;Ljava/lang/String;JJILandroid/app/backup/IBackupManager;)V
-Landroid/app/IBackupAgent$Stub$Proxy;->doRestoreFinished(ILandroid/app/backup/IBackupManager;)V
-Landroid/app/IBackupAgent$Stub$Proxy;->fail(Ljava/lang/String;)V
-Landroid/app/IBackupAgent$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IBackupAgent$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/IBackupAgent$Stub;
-Landroid/app/IBackupAgent$Stub;-><init>()V
-Landroid/app/IBackupAgent$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IBackupAgent$Stub;->TRANSACTION_doBackup:I
-Landroid/app/IBackupAgent$Stub;->TRANSACTION_doFullBackup:I
-Landroid/app/IBackupAgent$Stub;->TRANSACTION_doMeasureFullBackup:I
-Landroid/app/IBackupAgent$Stub;->TRANSACTION_doQuotaExceeded:I
-Landroid/app/IBackupAgent$Stub;->TRANSACTION_doRestore:I
-Landroid/app/IBackupAgent$Stub;->TRANSACTION_doRestoreFile:I
-Landroid/app/IBackupAgent$Stub;->TRANSACTION_doRestoreFinished:I
-Landroid/app/IBackupAgent$Stub;->TRANSACTION_fail:I
-Landroid/app/IBackupAgent;
-Landroid/app/IBackupAgent;->doBackup(Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;JILandroid/app/backup/IBackupManager;I)V
-Landroid/app/IBackupAgent;->doFullBackup(Landroid/os/ParcelFileDescriptor;JILandroid/app/backup/IBackupManager;I)V
-Landroid/app/IBackupAgent;->doMeasureFullBackup(JILandroid/app/backup/IBackupManager;I)V
-Landroid/app/IBackupAgent;->doQuotaExceeded(JJ)V
-Landroid/app/IBackupAgent;->doRestore(Landroid/os/ParcelFileDescriptor;JLandroid/os/ParcelFileDescriptor;ILandroid/app/backup/IBackupManager;)V
-Landroid/app/IBackupAgent;->doRestoreFile(Landroid/os/ParcelFileDescriptor;JILjava/lang/String;Ljava/lang/String;JJILandroid/app/backup/IBackupManager;)V
-Landroid/app/IBackupAgent;->doRestoreFinished(ILandroid/app/backup/IBackupManager;)V
-Landroid/app/IBackupAgent;->fail(Ljava/lang/String;)V
-Landroid/app/IEphemeralResolver$Stub$Proxy;
-Landroid/app/IEphemeralResolver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/IEphemeralResolver$Stub$Proxy;->getEphemeralIntentFilterList(Landroid/os/IRemoteCallback;Ljava/lang/String;I)V
-Landroid/app/IEphemeralResolver$Stub$Proxy;->getEphemeralResolveInfoList(Landroid/os/IRemoteCallback;[II)V
-Landroid/app/IEphemeralResolver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IEphemeralResolver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/IEphemeralResolver$Stub;
-Landroid/app/IEphemeralResolver$Stub;-><init>()V
-Landroid/app/IEphemeralResolver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IEphemeralResolver;
-Landroid/app/IEphemeralResolver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IEphemeralResolver$Stub;->TRANSACTION_getEphemeralIntentFilterList:I
-Landroid/app/IEphemeralResolver$Stub;->TRANSACTION_getEphemeralResolveInfoList:I
-Landroid/app/IEphemeralResolver;
-Landroid/app/IEphemeralResolver;->getEphemeralIntentFilterList(Landroid/os/IRemoteCallback;Ljava/lang/String;I)V
-Landroid/app/IEphemeralResolver;->getEphemeralResolveInfoList(Landroid/os/IRemoteCallback;[II)V
-Landroid/app/IInputForwarder$Stub$Proxy;
-Landroid/app/IInputForwarder$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/IInputForwarder$Stub$Proxy;->forwardEvent(Landroid/view/InputEvent;)Z
-Landroid/app/IInputForwarder$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IInputForwarder$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/IInputForwarder$Stub;
-Landroid/app/IInputForwarder$Stub;-><init>()V
-Landroid/app/IInputForwarder$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IInputForwarder;
-Landroid/app/IInputForwarder$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IInputForwarder$Stub;->TRANSACTION_forwardEvent:I
-Landroid/app/IInputForwarder;
-Landroid/app/IInstantAppResolver$Stub$Proxy;
-Landroid/app/IInstantAppResolver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/IInstantAppResolver$Stub$Proxy;->getInstantAppIntentFilterList(Landroid/content/Intent;[ILjava/lang/String;Landroid/os/IRemoteCallback;)V
-Landroid/app/IInstantAppResolver$Stub$Proxy;->getInstantAppResolveInfoList(Landroid/content/Intent;[ILjava/lang/String;ILandroid/os/IRemoteCallback;)V
-Landroid/app/IInstantAppResolver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IInstantAppResolver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/IInstantAppResolver$Stub;
-Landroid/app/IInstantAppResolver$Stub;-><init>()V
-Landroid/app/IInstantAppResolver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IInstantAppResolver;
-Landroid/app/IInstantAppResolver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IInstantAppResolver$Stub;->TRANSACTION_getInstantAppIntentFilterList:I
-Landroid/app/IInstantAppResolver$Stub;->TRANSACTION_getInstantAppResolveInfoList:I
-Landroid/app/IInstantAppResolver;
-Landroid/app/IInstantAppResolver;->getInstantAppIntentFilterList(Landroid/content/Intent;[ILjava/lang/String;Landroid/os/IRemoteCallback;)V
-Landroid/app/IInstantAppResolver;->getInstantAppResolveInfoList(Landroid/content/Intent;[ILjava/lang/String;ILandroid/os/IRemoteCallback;)V
-Landroid/app/IInstrumentationWatcher$Stub$Proxy;
-Landroid/app/IInstrumentationWatcher$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/IInstrumentationWatcher$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IInstrumentationWatcher$Stub$Proxy;->instrumentationFinished(Landroid/content/ComponentName;ILandroid/os/Bundle;)V
-Landroid/app/IInstrumentationWatcher$Stub$Proxy;->instrumentationStatus(Landroid/content/ComponentName;ILandroid/os/Bundle;)V
-Landroid/app/IInstrumentationWatcher$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/IInstrumentationWatcher$Stub;
-Landroid/app/IInstrumentationWatcher$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IInstrumentationWatcher$Stub;->TRANSACTION_instrumentationFinished:I
-Landroid/app/IInstrumentationWatcher$Stub;->TRANSACTION_instrumentationStatus:I
-Landroid/app/IInstrumentationWatcher;
-Landroid/app/INotificationManager$Stub$Proxy;
-Landroid/app/INotificationManager$Stub$Proxy;->addAutomaticZenRule(Landroid/app/AutomaticZenRule;)Ljava/lang/String;
-Landroid/app/INotificationManager$Stub$Proxy;->applyAdjustmentFromAssistant(Landroid/service/notification/INotificationListener;Landroid/service/notification/Adjustment;)V
-Landroid/app/INotificationManager$Stub$Proxy;->applyAdjustmentsFromAssistant(Landroid/service/notification/INotificationListener;Ljava/util/List;)V
-Landroid/app/INotificationManager$Stub$Proxy;->applyEnqueuedAdjustmentFromAssistant(Landroid/service/notification/INotificationListener;Landroid/service/notification/Adjustment;)V
-Landroid/app/INotificationManager$Stub$Proxy;->applyRestore([BI)V
-Landroid/app/INotificationManager$Stub$Proxy;->areChannelsBypassingDnd()Z
-Landroid/app/INotificationManager$Stub$Proxy;->areNotificationsEnabled(Ljava/lang/String;)Z
-Landroid/app/INotificationManager$Stub$Proxy;->cancelAllNotifications(Ljava/lang/String;I)V
-Landroid/app/INotificationManager$Stub$Proxy;->cancelNotificationFromListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/app/INotificationManager$Stub$Proxy;->cancelNotificationsFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;)V
-Landroid/app/INotificationManager$Stub$Proxy;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;II)V
-Landroid/app/INotificationManager$Stub$Proxy;->cancelToast(Ljava/lang/String;Landroid/app/ITransientNotification;)V
-Landroid/app/INotificationManager$Stub$Proxy;->canShowBadge(Ljava/lang/String;I)Z
-Landroid/app/INotificationManager$Stub$Proxy;->clearData(Ljava/lang/String;IZ)V
-Landroid/app/INotificationManager$Stub$Proxy;->createNotificationChannelGroups(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
-Landroid/app/INotificationManager$Stub$Proxy;->createNotificationChannels(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
-Landroid/app/INotificationManager$Stub$Proxy;->createNotificationChannelsForPackage(Ljava/lang/String;ILandroid/content/pm/ParceledListSlice;)V
-Landroid/app/INotificationManager$Stub$Proxy;->deleteNotificationChannel(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/INotificationManager$Stub$Proxy;->deleteNotificationChannelGroup(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/INotificationManager$Stub$Proxy;->enqueueNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;I)V
-Landroid/app/INotificationManager$Stub$Proxy;->enqueueToast(Ljava/lang/String;Landroid/app/ITransientNotification;I)V
-Landroid/app/INotificationManager$Stub$Proxy;->finishToken(Ljava/lang/String;Landroid/app/ITransientNotification;)V
-Landroid/app/INotificationManager$Stub$Proxy;->getActiveNotifications(Ljava/lang/String;)[Landroid/service/notification/StatusBarNotification;
-Landroid/app/INotificationManager$Stub$Proxy;->getActiveNotificationsFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-Landroid/app/INotificationManager$Stub$Proxy;->getAppActiveNotifications(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-Landroid/app/INotificationManager$Stub$Proxy;->getAutomaticZenRule(Ljava/lang/String;)Landroid/app/AutomaticZenRule;
-Landroid/app/INotificationManager$Stub$Proxy;->getBackupPayload(I)[B
-Landroid/app/INotificationManager$Stub$Proxy;->getBlockedAppCount(I)I
-Landroid/app/INotificationManager$Stub$Proxy;->getBlockedChannelCount(Ljava/lang/String;I)I
-Landroid/app/INotificationManager$Stub$Proxy;->getDeletedChannelCount(Ljava/lang/String;I)I
-Landroid/app/INotificationManager$Stub$Proxy;->getEffectsSuppressor()Landroid/content/ComponentName;
-Landroid/app/INotificationManager$Stub$Proxy;->getEnabledNotificationListenerPackages()Ljava/util/List;
-Landroid/app/INotificationManager$Stub$Proxy;->getEnabledNotificationListeners(I)Ljava/util/List;
-Landroid/app/INotificationManager$Stub$Proxy;->getHintsFromListener(Landroid/service/notification/INotificationListener;)I
-Landroid/app/INotificationManager$Stub$Proxy;->getHistoricalNotifications(Ljava/lang/String;I)[Landroid/service/notification/StatusBarNotification;
-Landroid/app/INotificationManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/INotificationManager$Stub$Proxy;->getInterruptionFilterFromListener(Landroid/service/notification/INotificationListener;)I
-Landroid/app/INotificationManager$Stub$Proxy;->getNotificationChannel(Ljava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannel;
-Landroid/app/INotificationManager$Stub$Proxy;->getNotificationChannelForPackage(Ljava/lang/String;ILjava/lang/String;Z)Landroid/app/NotificationChannel;
-Landroid/app/INotificationManager$Stub$Proxy;->getNotificationChannelGroup(Ljava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannelGroup;
-Landroid/app/INotificationManager$Stub$Proxy;->getNotificationChannelGroupForPackage(Ljava/lang/String;Ljava/lang/String;I)Landroid/app/NotificationChannelGroup;
-Landroid/app/INotificationManager$Stub$Proxy;->getNotificationChannelGroups(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-Landroid/app/INotificationManager$Stub$Proxy;->getNotificationChannelGroupsForPackage(Ljava/lang/String;IZ)Landroid/content/pm/ParceledListSlice;
-Landroid/app/INotificationManager$Stub$Proxy;->getNotificationChannelGroupsFromPrivilegedListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
-Landroid/app/INotificationManager$Stub$Proxy;->getNotificationChannels(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-Landroid/app/INotificationManager$Stub$Proxy;->getNotificationChannelsForPackage(Ljava/lang/String;IZ)Landroid/content/pm/ParceledListSlice;
-Landroid/app/INotificationManager$Stub$Proxy;->getNotificationChannelsFromPrivilegedListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
-Landroid/app/INotificationManager$Stub$Proxy;->getNotificationPolicy(Ljava/lang/String;)Landroid/app/NotificationManager$Policy;
-Landroid/app/INotificationManager$Stub$Proxy;->getNumNotificationChannelsForPackage(Ljava/lang/String;IZ)I
-Landroid/app/INotificationManager$Stub$Proxy;->getPackageImportance(Ljava/lang/String;)I
-Landroid/app/INotificationManager$Stub$Proxy;->getPopulatedNotificationChannelGroupForPackage(Ljava/lang/String;ILjava/lang/String;Z)Landroid/app/NotificationChannelGroup;
-Landroid/app/INotificationManager$Stub$Proxy;->getRecentNotifyingAppsForUser(I)Landroid/content/pm/ParceledListSlice;
-Landroid/app/INotificationManager$Stub$Proxy;->getRuleInstanceCount(Landroid/content/ComponentName;)I
-Landroid/app/INotificationManager$Stub$Proxy;->getSnoozedNotificationsFromListener(Landroid/service/notification/INotificationListener;I)Landroid/content/pm/ParceledListSlice;
-Landroid/app/INotificationManager$Stub$Proxy;->getZenMode()I
-Landroid/app/INotificationManager$Stub$Proxy;->getZenModeConfig()Landroid/service/notification/ZenModeConfig;
-Landroid/app/INotificationManager$Stub$Proxy;->getZenRules()Ljava/util/List;
-Landroid/app/INotificationManager$Stub$Proxy;->isNotificationAssistantAccessGranted(Landroid/content/ComponentName;)Z
-Landroid/app/INotificationManager$Stub$Proxy;->isNotificationListenerAccessGranted(Landroid/content/ComponentName;)Z
-Landroid/app/INotificationManager$Stub$Proxy;->isNotificationListenerAccessGrantedForUser(Landroid/content/ComponentName;I)Z
-Landroid/app/INotificationManager$Stub$Proxy;->isNotificationPolicyAccessGranted(Ljava/lang/String;)Z
-Landroid/app/INotificationManager$Stub$Proxy;->isNotificationPolicyAccessGrantedForPackage(Ljava/lang/String;)Z
-Landroid/app/INotificationManager$Stub$Proxy;->isSystemConditionProviderEnabled(Ljava/lang/String;)Z
-Landroid/app/INotificationManager$Stub$Proxy;->matchesCallFilter(Landroid/os/Bundle;)Z
-Landroid/app/INotificationManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/INotificationManager$Stub$Proxy;->notifyConditions(Ljava/lang/String;Landroid/service/notification/IConditionProvider;[Landroid/service/notification/Condition;)V
-Landroid/app/INotificationManager$Stub$Proxy;->onlyHasDefaultChannel(Ljava/lang/String;I)Z
-Landroid/app/INotificationManager$Stub$Proxy;->registerListener(Landroid/service/notification/INotificationListener;Landroid/content/ComponentName;I)V
-Landroid/app/INotificationManager$Stub$Proxy;->removeAutomaticZenRule(Ljava/lang/String;)Z
-Landroid/app/INotificationManager$Stub$Proxy;->removeAutomaticZenRules(Ljava/lang/String;)Z
-Landroid/app/INotificationManager$Stub$Proxy;->requestBindListener(Landroid/content/ComponentName;)V
-Landroid/app/INotificationManager$Stub$Proxy;->requestBindProvider(Landroid/content/ComponentName;)V
-Landroid/app/INotificationManager$Stub$Proxy;->requestHintsFromListener(Landroid/service/notification/INotificationListener;I)V
-Landroid/app/INotificationManager$Stub$Proxy;->requestInterruptionFilterFromListener(Landroid/service/notification/INotificationListener;I)V
-Landroid/app/INotificationManager$Stub$Proxy;->requestUnbindListener(Landroid/service/notification/INotificationListener;)V
-Landroid/app/INotificationManager$Stub$Proxy;->requestUnbindProvider(Landroid/service/notification/IConditionProvider;)V
-Landroid/app/INotificationManager$Stub$Proxy;->setInterruptionFilter(Ljava/lang/String;I)V
-Landroid/app/INotificationManager$Stub$Proxy;->setNotificationAssistantAccessGranted(Landroid/content/ComponentName;Z)V
-Landroid/app/INotificationManager$Stub$Proxy;->setNotificationAssistantAccessGrantedForUser(Landroid/content/ComponentName;IZ)V
-Landroid/app/INotificationManager$Stub$Proxy;->setNotificationListenerAccessGranted(Landroid/content/ComponentName;Z)V
-Landroid/app/INotificationManager$Stub$Proxy;->setNotificationListenerAccessGrantedForUser(Landroid/content/ComponentName;IZ)V
-Landroid/app/INotificationManager$Stub$Proxy;->setNotificationPolicy(Ljava/lang/String;Landroid/app/NotificationManager$Policy;)V
-Landroid/app/INotificationManager$Stub$Proxy;->setNotificationPolicyAccessGranted(Ljava/lang/String;Z)V
-Landroid/app/INotificationManager$Stub$Proxy;->setNotificationPolicyAccessGrantedForUser(Ljava/lang/String;IZ)V
-Landroid/app/INotificationManager$Stub$Proxy;->setNotificationsEnabledForPackage(Ljava/lang/String;IZ)V
-Landroid/app/INotificationManager$Stub$Proxy;->setNotificationsEnabledWithImportanceLockForPackage(Ljava/lang/String;IZ)V
-Landroid/app/INotificationManager$Stub$Proxy;->setNotificationsShownFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;)V
-Landroid/app/INotificationManager$Stub$Proxy;->setOnNotificationPostedTrimFromListener(Landroid/service/notification/INotificationListener;I)V
-Landroid/app/INotificationManager$Stub$Proxy;->setShowBadge(Ljava/lang/String;IZ)V
-Landroid/app/INotificationManager$Stub$Proxy;->setZenMode(ILandroid/net/Uri;Ljava/lang/String;)V
-Landroid/app/INotificationManager$Stub$Proxy;->snoozeNotificationUntilContextFromListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/INotificationManager$Stub$Proxy;->snoozeNotificationUntilFromListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;J)V
-Landroid/app/INotificationManager$Stub$Proxy;->unregisterListener(Landroid/service/notification/INotificationListener;I)V
-Landroid/app/INotificationManager$Stub$Proxy;->unsnoozeNotificationFromAssistant(Landroid/service/notification/INotificationListener;Ljava/lang/String;)V
-Landroid/app/INotificationManager$Stub$Proxy;->updateAutomaticZenRule(Ljava/lang/String;Landroid/app/AutomaticZenRule;)Z
-Landroid/app/INotificationManager$Stub$Proxy;->updateNotificationChannelForPackage(Ljava/lang/String;ILandroid/app/NotificationChannel;)V
-Landroid/app/INotificationManager$Stub$Proxy;->updateNotificationChannelFromPrivilegedListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;)V
-Landroid/app/INotificationManager$Stub$Proxy;->updateNotificationChannelGroupForPackage(Ljava/lang/String;ILandroid/app/NotificationChannelGroup;)V
-Landroid/app/INotificationManager$Stub$Proxy;->updateNotificationChannelGroupFromPrivilegedListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;)V
-Landroid/app/INotificationManager$Stub;
-Landroid/app/INotificationManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/INotificationManager$Stub;->TRANSACTION_addAutomaticZenRule:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_applyAdjustmentFromAssistant:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_applyAdjustmentsFromAssistant:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_applyEnqueuedAdjustmentFromAssistant:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_applyRestore:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_areChannelsBypassingDnd:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_areNotificationsEnabled:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_areNotificationsEnabledForPackage:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_cancelAllNotifications:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_cancelNotificationFromListener:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_cancelNotificationsFromListener:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_cancelNotificationWithTag:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_cancelToast:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_canShowBadge:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_clearData:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_createNotificationChannelGroups:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_createNotificationChannels:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_createNotificationChannelsForPackage:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_deleteNotificationChannel:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_deleteNotificationChannelGroup:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_enqueueToast:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_finishToken:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getActiveNotifications:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getActiveNotificationsFromListener:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getAppActiveNotifications:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getAutomaticZenRule:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getBackupPayload:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getBlockedAppCount:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getBlockedChannelCount:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getDeletedChannelCount:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getEffectsSuppressor:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getEnabledNotificationListenerPackages:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getEnabledNotificationListeners:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getHintsFromListener:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getHistoricalNotifications:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getInterruptionFilterFromListener:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getNotificationChannel:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getNotificationChannelForPackage:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getNotificationChannelGroup:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getNotificationChannelGroupForPackage:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getNotificationChannelGroups:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getNotificationChannelGroupsForPackage:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getNotificationChannelGroupsFromPrivilegedListener:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getNotificationChannels:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getNotificationChannelsForPackage:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getNotificationChannelsFromPrivilegedListener:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getNotificationPolicy:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getNumNotificationChannelsForPackage:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getPackageImportance:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getPopulatedNotificationChannelGroupForPackage:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getRecentNotifyingAppsForUser:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getRuleInstanceCount:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getSnoozedNotificationsFromListener:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getZenMode:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getZenModeConfig:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_getZenRules:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_isNotificationAssistantAccessGranted:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_isNotificationListenerAccessGranted:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_isNotificationListenerAccessGrantedForUser:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_isNotificationPolicyAccessGranted:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_isNotificationPolicyAccessGrantedForPackage:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_isSystemConditionProviderEnabled:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_matchesCallFilter:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_notifyConditions:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_onlyHasDefaultChannel:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_registerListener:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_removeAutomaticZenRule:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_removeAutomaticZenRules:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_requestBindListener:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_requestBindProvider:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_requestHintsFromListener:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_requestInterruptionFilterFromListener:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_requestUnbindListener:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_requestUnbindProvider:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_setInterruptionFilter:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_setNotificationAssistantAccessGranted:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_setNotificationAssistantAccessGrantedForUser:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_setNotificationListenerAccessGranted:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_setNotificationListenerAccessGrantedForUser:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_setNotificationPolicy:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_setNotificationPolicyAccessGranted:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_setNotificationPolicyAccessGrantedForUser:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_setNotificationsEnabledForPackage:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_setNotificationsEnabledWithImportanceLockForPackage:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_setNotificationsShownFromListener:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_setOnNotificationPostedTrimFromListener:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_setShowBadge:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_setZenMode:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_snoozeNotificationUntilContextFromListener:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_snoozeNotificationUntilFromListener:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_unregisterListener:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_unsnoozeNotificationFromAssistant:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_updateAutomaticZenRule:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_updateNotificationChannelForPackage:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_updateNotificationChannelFromPrivilegedListener:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_updateNotificationChannelGroupForPackage:I
-Landroid/app/INotificationManager$Stub;->TRANSACTION_updateNotificationChannelGroupFromPrivilegedListener:I
-Landroid/app/INotificationManager;
-Landroid/app/INotificationManager;->addAutomaticZenRule(Landroid/app/AutomaticZenRule;)Ljava/lang/String;
-Landroid/app/INotificationManager;->applyAdjustmentFromAssistant(Landroid/service/notification/INotificationListener;Landroid/service/notification/Adjustment;)V
-Landroid/app/INotificationManager;->applyAdjustmentsFromAssistant(Landroid/service/notification/INotificationListener;Ljava/util/List;)V
-Landroid/app/INotificationManager;->applyEnqueuedAdjustmentFromAssistant(Landroid/service/notification/INotificationListener;Landroid/service/notification/Adjustment;)V
-Landroid/app/INotificationManager;->applyRestore([BI)V
-Landroid/app/INotificationManager;->areChannelsBypassingDnd()Z
-Landroid/app/INotificationManager;->areNotificationsEnabled(Ljava/lang/String;)Z
-Landroid/app/INotificationManager;->cancelNotificationFromListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/app/INotificationManager;->cancelNotificationsFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;)V
-Landroid/app/INotificationManager;->canShowBadge(Ljava/lang/String;I)Z
-Landroid/app/INotificationManager;->clearData(Ljava/lang/String;IZ)V
-Landroid/app/INotificationManager;->createNotificationChannelGroups(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
-Landroid/app/INotificationManager;->createNotificationChannels(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
-Landroid/app/INotificationManager;->createNotificationChannelsForPackage(Ljava/lang/String;ILandroid/content/pm/ParceledListSlice;)V
-Landroid/app/INotificationManager;->deleteNotificationChannel(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/INotificationManager;->deleteNotificationChannelGroup(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/INotificationManager;->enqueueNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;I)V
-Landroid/app/INotificationManager;->finishToken(Ljava/lang/String;Landroid/app/ITransientNotification;)V
-Landroid/app/INotificationManager;->getActiveNotificationsFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-Landroid/app/INotificationManager;->getAppActiveNotifications(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-Landroid/app/INotificationManager;->getAutomaticZenRule(Ljava/lang/String;)Landroid/app/AutomaticZenRule;
-Landroid/app/INotificationManager;->getBackupPayload(I)[B
-Landroid/app/INotificationManager;->getBlockedAppCount(I)I
-Landroid/app/INotificationManager;->getBlockedChannelCount(Ljava/lang/String;I)I
-Landroid/app/INotificationManager;->getDeletedChannelCount(Ljava/lang/String;I)I
-Landroid/app/INotificationManager;->getEffectsSuppressor()Landroid/content/ComponentName;
-Landroid/app/INotificationManager;->getEnabledNotificationListenerPackages()Ljava/util/List;
-Landroid/app/INotificationManager;->getEnabledNotificationListeners(I)Ljava/util/List;
-Landroid/app/INotificationManager;->getHintsFromListener(Landroid/service/notification/INotificationListener;)I
-Landroid/app/INotificationManager;->getInterruptionFilterFromListener(Landroid/service/notification/INotificationListener;)I
-Landroid/app/INotificationManager;->getNotificationChannel(Ljava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannel;
-Landroid/app/INotificationManager;->getNotificationChannelForPackage(Ljava/lang/String;ILjava/lang/String;Z)Landroid/app/NotificationChannel;
-Landroid/app/INotificationManager;->getNotificationChannelGroup(Ljava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannelGroup;
-Landroid/app/INotificationManager;->getNotificationChannelGroupForPackage(Ljava/lang/String;Ljava/lang/String;I)Landroid/app/NotificationChannelGroup;
-Landroid/app/INotificationManager;->getNotificationChannelGroups(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-Landroid/app/INotificationManager;->getNotificationChannelGroupsForPackage(Ljava/lang/String;IZ)Landroid/content/pm/ParceledListSlice;
-Landroid/app/INotificationManager;->getNotificationChannelGroupsFromPrivilegedListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
-Landroid/app/INotificationManager;->getNotificationChannels(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-Landroid/app/INotificationManager;->getNotificationChannelsForPackage(Ljava/lang/String;IZ)Landroid/content/pm/ParceledListSlice;
-Landroid/app/INotificationManager;->getNotificationChannelsFromPrivilegedListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
-Landroid/app/INotificationManager;->getNotificationPolicy(Ljava/lang/String;)Landroid/app/NotificationManager$Policy;
-Landroid/app/INotificationManager;->getNumNotificationChannelsForPackage(Ljava/lang/String;IZ)I
-Landroid/app/INotificationManager;->getPackageImportance(Ljava/lang/String;)I
-Landroid/app/INotificationManager;->getPopulatedNotificationChannelGroupForPackage(Ljava/lang/String;ILjava/lang/String;Z)Landroid/app/NotificationChannelGroup;
-Landroid/app/INotificationManager;->getRecentNotifyingAppsForUser(I)Landroid/content/pm/ParceledListSlice;
-Landroid/app/INotificationManager;->getRuleInstanceCount(Landroid/content/ComponentName;)I
-Landroid/app/INotificationManager;->getSnoozedNotificationsFromListener(Landroid/service/notification/INotificationListener;I)Landroid/content/pm/ParceledListSlice;
-Landroid/app/INotificationManager;->getZenRules()Ljava/util/List;
-Landroid/app/INotificationManager;->isNotificationAssistantAccessGranted(Landroid/content/ComponentName;)Z
-Landroid/app/INotificationManager;->isNotificationListenerAccessGranted(Landroid/content/ComponentName;)Z
-Landroid/app/INotificationManager;->isNotificationListenerAccessGrantedForUser(Landroid/content/ComponentName;I)Z
-Landroid/app/INotificationManager;->isNotificationPolicyAccessGranted(Ljava/lang/String;)Z
-Landroid/app/INotificationManager;->isNotificationPolicyAccessGrantedForPackage(Ljava/lang/String;)Z
-Landroid/app/INotificationManager;->isSystemConditionProviderEnabled(Ljava/lang/String;)Z
-Landroid/app/INotificationManager;->matchesCallFilter(Landroid/os/Bundle;)Z
-Landroid/app/INotificationManager;->notifyConditions(Ljava/lang/String;Landroid/service/notification/IConditionProvider;[Landroid/service/notification/Condition;)V
-Landroid/app/INotificationManager;->onlyHasDefaultChannel(Ljava/lang/String;I)Z
-Landroid/app/INotificationManager;->registerListener(Landroid/service/notification/INotificationListener;Landroid/content/ComponentName;I)V
-Landroid/app/INotificationManager;->removeAutomaticZenRule(Ljava/lang/String;)Z
-Landroid/app/INotificationManager;->removeAutomaticZenRules(Ljava/lang/String;)Z
-Landroid/app/INotificationManager;->requestBindListener(Landroid/content/ComponentName;)V
-Landroid/app/INotificationManager;->requestBindProvider(Landroid/content/ComponentName;)V
-Landroid/app/INotificationManager;->requestHintsFromListener(Landroid/service/notification/INotificationListener;I)V
-Landroid/app/INotificationManager;->requestInterruptionFilterFromListener(Landroid/service/notification/INotificationListener;I)V
-Landroid/app/INotificationManager;->requestUnbindListener(Landroid/service/notification/INotificationListener;)V
-Landroid/app/INotificationManager;->requestUnbindProvider(Landroid/service/notification/IConditionProvider;)V
-Landroid/app/INotificationManager;->setInterruptionFilter(Ljava/lang/String;I)V
-Landroid/app/INotificationManager;->setNotificationAssistantAccessGranted(Landroid/content/ComponentName;Z)V
-Landroid/app/INotificationManager;->setNotificationAssistantAccessGrantedForUser(Landroid/content/ComponentName;IZ)V
-Landroid/app/INotificationManager;->setNotificationListenerAccessGranted(Landroid/content/ComponentName;Z)V
-Landroid/app/INotificationManager;->setNotificationListenerAccessGrantedForUser(Landroid/content/ComponentName;IZ)V
-Landroid/app/INotificationManager;->setNotificationPolicy(Ljava/lang/String;Landroid/app/NotificationManager$Policy;)V
-Landroid/app/INotificationManager;->setNotificationPolicyAccessGranted(Ljava/lang/String;Z)V
-Landroid/app/INotificationManager;->setNotificationPolicyAccessGrantedForUser(Ljava/lang/String;IZ)V
-Landroid/app/INotificationManager;->setNotificationsEnabledForPackage(Ljava/lang/String;IZ)V
-Landroid/app/INotificationManager;->setNotificationsEnabledWithImportanceLockForPackage(Ljava/lang/String;IZ)V
-Landroid/app/INotificationManager;->setNotificationsShownFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;)V
-Landroid/app/INotificationManager;->setOnNotificationPostedTrimFromListener(Landroid/service/notification/INotificationListener;I)V
-Landroid/app/INotificationManager;->setShowBadge(Ljava/lang/String;IZ)V
-Landroid/app/INotificationManager;->setZenMode(ILandroid/net/Uri;Ljava/lang/String;)V
-Landroid/app/INotificationManager;->snoozeNotificationUntilContextFromListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/INotificationManager;->snoozeNotificationUntilFromListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;J)V
-Landroid/app/INotificationManager;->unregisterListener(Landroid/service/notification/INotificationListener;I)V
-Landroid/app/INotificationManager;->unsnoozeNotificationFromAssistant(Landroid/service/notification/INotificationListener;Ljava/lang/String;)V
-Landroid/app/INotificationManager;->updateAutomaticZenRule(Ljava/lang/String;Landroid/app/AutomaticZenRule;)Z
-Landroid/app/INotificationManager;->updateNotificationChannelForPackage(Ljava/lang/String;ILandroid/app/NotificationChannel;)V
-Landroid/app/INotificationManager;->updateNotificationChannelFromPrivilegedListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;)V
-Landroid/app/INotificationManager;->updateNotificationChannelGroupForPackage(Ljava/lang/String;ILandroid/app/NotificationChannelGroup;)V
-Landroid/app/INotificationManager;->updateNotificationChannelGroupFromPrivilegedListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;)V
-Landroid/app/InstantAppResolverService$InstantAppResolutionCallback;-><init>(ILandroid/os/IRemoteCallback;)V
-Landroid/app/InstantAppResolverService$InstantAppResolutionCallback;->mCallback:Landroid/os/IRemoteCallback;
-Landroid/app/InstantAppResolverService$InstantAppResolutionCallback;->mSequence:I
-Landroid/app/InstantAppResolverService$ServiceHandler;
-Landroid/app/InstantAppResolverService$ServiceHandler;-><init>(Landroid/os/Looper;)V
-Landroid/app/InstantAppResolverService$ServiceHandler;->MSG_GET_INSTANT_APP_INTENT_FILTER:I
-Landroid/app/InstantAppResolverService$ServiceHandler;->MSG_GET_INSTANT_APP_RESOLVE_INFO:I
-Landroid/app/InstantAppResolverService;->DEBUG_INSTANT:Z
-Landroid/app/InstantAppResolverService;->EXTRA_RESOLVE_INFO:Ljava/lang/String;
-Landroid/app/InstantAppResolverService;->EXTRA_SEQUENCE:Ljava/lang/String;
-Landroid/app/InstantAppResolverService;->getLooper()Landroid/os/Looper;
-Landroid/app/InstantAppResolverService;->mHandler:Landroid/os/Handler;
-Landroid/app/InstantAppResolverService;->TAG:Ljava/lang/String;
-Landroid/app/Instrumentation$ActivityGoing;
-Landroid/app/Instrumentation$ActivityGoing;-><init>(Landroid/app/Instrumentation$ActivityWaiter;)V
-Landroid/app/Instrumentation$ActivityGoing;->mWaiter:Landroid/app/Instrumentation$ActivityWaiter;
-Landroid/app/Instrumentation$ActivityMonitor;->ignoreMatchingSpecificIntents()Z
-Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
-Landroid/app/Instrumentation$ActivityMonitor;->mBlock:Z
-Landroid/app/Instrumentation$ActivityMonitor;->mClass:Ljava/lang/String;
-Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
-Landroid/app/Instrumentation$ActivityMonitor;->mIgnoreMatchingSpecificIntents:Z
-Landroid/app/Instrumentation$ActivityMonitor;->mLastActivity:Landroid/app/Activity;
-Landroid/app/Instrumentation$ActivityMonitor;->mResult:Landroid/app/Instrumentation$ActivityResult;
-Landroid/app/Instrumentation$ActivityMonitor;->mWhich:Landroid/content/IntentFilter;
-Landroid/app/Instrumentation$ActivityResult;->mResultCode:I
-Landroid/app/Instrumentation$ActivityResult;->mResultData:Landroid/content/Intent;
-Landroid/app/Instrumentation$ActivityWaiter;
-Landroid/app/Instrumentation$ActivityWaiter;-><init>(Landroid/content/Intent;)V
-Landroid/app/Instrumentation$ActivityWaiter;->activity:Landroid/app/Activity;
-Landroid/app/Instrumentation$ActivityWaiter;->intent:Landroid/content/Intent;
-Landroid/app/Instrumentation$EmptyRunnable;
-Landroid/app/Instrumentation$EmptyRunnable;-><init>()V
-Landroid/app/Instrumentation$Idler;
-Landroid/app/Instrumentation$Idler;-><init>(Ljava/lang/Runnable;)V
-Landroid/app/Instrumentation$Idler;->mCallback:Ljava/lang/Runnable;
-Landroid/app/Instrumentation$Idler;->mIdle:Z
-Landroid/app/Instrumentation$Idler;->waitForIdle()V
-Landroid/app/Instrumentation$InstrumentationThread;
-Landroid/app/Instrumentation$InstrumentationThread;-><init>(Ljava/lang/String;)V
-Landroid/app/Instrumentation$SyncRunnable;
-Landroid/app/Instrumentation$SyncRunnable;-><init>(Ljava/lang/Runnable;)V
-Landroid/app/Instrumentation$SyncRunnable;->mComplete:Z
-Landroid/app/Instrumentation$SyncRunnable;->mTarget:Ljava/lang/Runnable;
-Landroid/app/Instrumentation$SyncRunnable;->waitForComplete()V
-Landroid/app/Instrumentation$UiAutomationFlags;
-Landroid/app/Instrumentation;->addValue(Ljava/lang/String;ILandroid/os/Bundle;)V
-Landroid/app/Instrumentation;->basicInit(Landroid/app/ActivityThread;)V
-Landroid/app/Instrumentation;->checkInstrumenting(Ljava/lang/String;)V
-Landroid/app/Instrumentation;->getFactory(Ljava/lang/String;)Landroid/app/AppComponentFactory;
-Landroid/app/Instrumentation;->init(Landroid/app/ActivityThread;Landroid/content/Context;Landroid/content/Context;Landroid/content/ComponentName;Landroid/app/IInstrumentationWatcher;Landroid/app/IUiAutomationConnection;)V
-Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
-Landroid/app/Instrumentation;->mAppContext:Landroid/content/Context;
-Landroid/app/Instrumentation;->mAutomaticPerformanceSnapshots:Z
-Landroid/app/Instrumentation;->mComponent:Landroid/content/ComponentName;
-Landroid/app/Instrumentation;->mInstrContext:Landroid/content/Context;
-Landroid/app/Instrumentation;->mMessageQueue:Landroid/os/MessageQueue;
-Landroid/app/Instrumentation;->mPerfMetrics:Landroid/os/Bundle;
-Landroid/app/Instrumentation;->mPerformanceCollector:Landroid/os/PerformanceCollector;
-Landroid/app/Instrumentation;->mRunner:Ljava/lang/Thread;
-Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
-Landroid/app/Instrumentation;->mThread:Landroid/app/ActivityThread;
-Landroid/app/Instrumentation;->mUiAutomation:Landroid/app/UiAutomation;
-Landroid/app/Instrumentation;->mUiAutomationConnection:Landroid/app/IUiAutomationConnection;
-Landroid/app/Instrumentation;->mWaitingActivities:Ljava/util/List;
-Landroid/app/Instrumentation;->mWatcher:Landroid/app/IInstrumentationWatcher;
-Landroid/app/Instrumentation;->postPerformCreate(Landroid/app/Activity;)V
-Landroid/app/Instrumentation;->prePerformCreate(Landroid/app/Activity;)V
-Landroid/app/Instrumentation;->TAG:Ljava/lang/String;
-Landroid/app/Instrumentation;->validateNotAppThread()V
-Landroid/app/IntentReceiverLeaked;
-Landroid/app/IntentService$ServiceHandler;
-Landroid/app/IntentService$ServiceHandler;-><init>(Landroid/os/Looper;)V
-Landroid/app/IntentService;->mName:Ljava/lang/String;
-Landroid/app/IntentService;->mRedelivery:Z
-Landroid/app/IntentService;->mServiceLooper:Landroid/os/Looper;
-Landroid/app/IProcessObserver$Stub$Proxy;
-Landroid/app/IProcessObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/IProcessObserver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IProcessObserver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/IProcessObserver$Stub$Proxy;->onForegroundActivitiesChanged(IIZ)V
-Landroid/app/IProcessObserver$Stub$Proxy;->onProcessDied(II)V
-Landroid/app/IProcessObserver$Stub;
-Landroid/app/IProcessObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IProcessObserver;
-Landroid/app/IProcessObserver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IProcessObserver$Stub;->TRANSACTION_onForegroundActivitiesChanged:I
-Landroid/app/IProcessObserver$Stub;->TRANSACTION_onProcessDied:I
-Landroid/app/IProcessObserver;
-Landroid/app/IProcessObserver;->onForegroundActivitiesChanged(IIZ)V
-Landroid/app/IProcessObserver;->onProcessDied(II)V
-Landroid/app/ISearchManager$Stub$Proxy;
-Landroid/app/ISearchManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/ISearchManager$Stub$Proxy;->getGlobalSearchActivities()Ljava/util/List;
-Landroid/app/ISearchManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/ISearchManager$Stub$Proxy;->getSearchableInfo(Landroid/content/ComponentName;)Landroid/app/SearchableInfo;
-Landroid/app/ISearchManager$Stub$Proxy;->getSearchablesInGlobalSearch()Ljava/util/List;
-Landroid/app/ISearchManager$Stub$Proxy;->launchAssist(Landroid/os/Bundle;)V
-Landroid/app/ISearchManager$Stub$Proxy;->launchLegacyAssist(Ljava/lang/String;ILandroid/os/Bundle;)Z
-Landroid/app/ISearchManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/ISearchManager$Stub;
-Landroid/app/ISearchManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/ISearchManager$Stub;->TRANSACTION_getGlobalSearchActivities:I
-Landroid/app/ISearchManager$Stub;->TRANSACTION_getGlobalSearchActivity:I
-Landroid/app/ISearchManager$Stub;->TRANSACTION_getSearchableInfo:I
-Landroid/app/ISearchManager$Stub;->TRANSACTION_getSearchablesInGlobalSearch:I
-Landroid/app/ISearchManager$Stub;->TRANSACTION_getWebSearchActivity:I
-Landroid/app/ISearchManager$Stub;->TRANSACTION_launchAssist:I
-Landroid/app/ISearchManager$Stub;->TRANSACTION_launchLegacyAssist:I
-Landroid/app/ISearchManager;
-Landroid/app/ISearchManager;->getGlobalSearchActivities()Ljava/util/List;
-Landroid/app/ISearchManager;->getSearchableInfo(Landroid/content/ComponentName;)Landroid/app/SearchableInfo;
-Landroid/app/ISearchManager;->getSearchablesInGlobalSearch()Ljava/util/List;
-Landroid/app/ISearchManager;->getWebSearchActivity()Landroid/content/ComponentName;
-Landroid/app/ISearchManager;->launchAssist(Landroid/os/Bundle;)V
-Landroid/app/ISearchManager;->launchLegacyAssist(Ljava/lang/String;ILandroid/os/Bundle;)Z
-Landroid/app/ISearchManagerCallback$Stub$Proxy;
-Landroid/app/ISearchManagerCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/ISearchManagerCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/ISearchManagerCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/ISearchManagerCallback$Stub$Proxy;->onCancel()V
-Landroid/app/ISearchManagerCallback$Stub$Proxy;->onDismiss()V
-Landroid/app/ISearchManagerCallback$Stub;
-Landroid/app/ISearchManagerCallback$Stub;-><init>()V
-Landroid/app/ISearchManagerCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/ISearchManagerCallback;
-Landroid/app/ISearchManagerCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/ISearchManagerCallback$Stub;->TRANSACTION_onCancel:I
-Landroid/app/ISearchManagerCallback$Stub;->TRANSACTION_onDismiss:I
-Landroid/app/ISearchManagerCallback;
-Landroid/app/ISearchManagerCallback;->onCancel()V
-Landroid/app/ISearchManagerCallback;->onDismiss()V
-Landroid/app/IServiceConnection$Stub$Proxy;
-Landroid/app/IServiceConnection$Stub$Proxy;->connected(Landroid/content/ComponentName;Landroid/os/IBinder;Z)V
-Landroid/app/IServiceConnection$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IServiceConnection$Stub;
-Landroid/app/IServiceConnection$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IServiceConnection$Stub;->TRANSACTION_connected:I
-Landroid/app/IServiceConnection;
-Landroid/app/IStopUserCallback$Stub$Proxy;
-Landroid/app/IStopUserCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IStopUserCallback$Stub$Proxy;->userStopAborted(I)V
-Landroid/app/IStopUserCallback$Stub$Proxy;->userStopped(I)V
-Landroid/app/IStopUserCallback$Stub;
-Landroid/app/IStopUserCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IStopUserCallback;
-Landroid/app/IStopUserCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IStopUserCallback$Stub;->TRANSACTION_userStopAborted:I
-Landroid/app/IStopUserCallback$Stub;->TRANSACTION_userStopped:I
-Landroid/app/IStopUserCallback;
-Landroid/app/IStopUserCallback;->userStopAborted(I)V
-Landroid/app/ITaskStackListener$Stub$Proxy;
-Landroid/app/ITaskStackListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/ITaskStackListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/ITaskStackListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/ITaskStackListener$Stub$Proxy;->onActivityDismissingDockedStack()V
-Landroid/app/ITaskStackListener$Stub$Proxy;->onActivityForcedResizable(Ljava/lang/String;II)V
-Landroid/app/ITaskStackListener$Stub$Proxy;->onActivityLaunchOnSecondaryDisplayFailed()V
-Landroid/app/ITaskStackListener$Stub$Proxy;->onActivityPinned(Ljava/lang/String;III)V
-Landroid/app/ITaskStackListener$Stub$Proxy;->onActivityRequestedOrientationChanged(II)V
-Landroid/app/ITaskStackListener$Stub$Proxy;->onActivityUnpinned()V
-Landroid/app/ITaskStackListener$Stub$Proxy;->onPinnedActivityRestartAttempt(Z)V
-Landroid/app/ITaskStackListener$Stub$Proxy;->onPinnedStackAnimationEnded()V
-Landroid/app/ITaskStackListener$Stub$Proxy;->onPinnedStackAnimationStarted()V
-Landroid/app/ITaskStackListener$Stub$Proxy;->onTaskCreated(ILandroid/content/ComponentName;)V
-Landroid/app/ITaskStackListener$Stub$Proxy;->onTaskDescriptionChanged(ILandroid/app/ActivityManager$TaskDescription;)V
-Landroid/app/ITaskStackListener$Stub$Proxy;->onTaskMovedToFront(I)V
-Landroid/app/ITaskStackListener$Stub$Proxy;->onTaskProfileLocked(II)V
-Landroid/app/ITaskStackListener$Stub$Proxy;->onTaskRemovalStarted(I)V
-Landroid/app/ITaskStackListener$Stub$Proxy;->onTaskRemoved(I)V
-Landroid/app/ITaskStackListener$Stub$Proxy;->onTaskSnapshotChanged(ILandroid/app/ActivityManager$TaskSnapshot;)V
-Landroid/app/ITaskStackListener$Stub$Proxy;->onTaskStackChanged()V
-Landroid/app/ITaskStackListener$Stub;
-Landroid/app/ITaskStackListener$Stub;-><init>()V
-Landroid/app/ITaskStackListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/ITaskStackListener;
-Landroid/app/ITaskStackListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/ITaskStackListener$Stub;->TRANSACTION_onActivityDismissingDockedStack:I
-Landroid/app/ITaskStackListener$Stub;->TRANSACTION_onActivityForcedResizable:I
-Landroid/app/ITaskStackListener$Stub;->TRANSACTION_onActivityLaunchOnSecondaryDisplayFailed:I
-Landroid/app/ITaskStackListener$Stub;->TRANSACTION_onActivityPinned:I
-Landroid/app/ITaskStackListener$Stub;->TRANSACTION_onActivityRequestedOrientationChanged:I
-Landroid/app/ITaskStackListener$Stub;->TRANSACTION_onActivityUnpinned:I
-Landroid/app/ITaskStackListener$Stub;->TRANSACTION_onPinnedActivityRestartAttempt:I
-Landroid/app/ITaskStackListener$Stub;->TRANSACTION_onPinnedStackAnimationEnded:I
-Landroid/app/ITaskStackListener$Stub;->TRANSACTION_onPinnedStackAnimationStarted:I
-Landroid/app/ITaskStackListener$Stub;->TRANSACTION_onTaskCreated:I
-Landroid/app/ITaskStackListener$Stub;->TRANSACTION_onTaskDescriptionChanged:I
-Landroid/app/ITaskStackListener$Stub;->TRANSACTION_onTaskMovedToFront:I
-Landroid/app/ITaskStackListener$Stub;->TRANSACTION_onTaskProfileLocked:I
-Landroid/app/ITaskStackListener$Stub;->TRANSACTION_onTaskRemovalStarted:I
-Landroid/app/ITaskStackListener$Stub;->TRANSACTION_onTaskRemoved:I
-Landroid/app/ITaskStackListener$Stub;->TRANSACTION_onTaskSnapshotChanged:I
-Landroid/app/ITaskStackListener$Stub;->TRANSACTION_onTaskStackChanged:I
-Landroid/app/ITaskStackListener;
-Landroid/app/ITaskStackListener;->FORCED_RESIZEABLE_REASON_SECONDARY_DISPLAY:I
-Landroid/app/ITaskStackListener;->FORCED_RESIZEABLE_REASON_SPLIT_SCREEN:I
-Landroid/app/ITaskStackListener;->onActivityDismissingDockedStack()V
-Landroid/app/ITaskStackListener;->onActivityForcedResizable(Ljava/lang/String;II)V
-Landroid/app/ITaskStackListener;->onActivityLaunchOnSecondaryDisplayFailed()V
-Landroid/app/ITaskStackListener;->onActivityPinned(Ljava/lang/String;III)V
-Landroid/app/ITaskStackListener;->onActivityRequestedOrientationChanged(II)V
-Landroid/app/ITaskStackListener;->onActivityUnpinned()V
-Landroid/app/ITaskStackListener;->onPinnedActivityRestartAttempt(Z)V
-Landroid/app/ITaskStackListener;->onPinnedStackAnimationEnded()V
-Landroid/app/ITaskStackListener;->onPinnedStackAnimationStarted()V
-Landroid/app/ITaskStackListener;->onTaskCreated(ILandroid/content/ComponentName;)V
-Landroid/app/ITaskStackListener;->onTaskDescriptionChanged(ILandroid/app/ActivityManager$TaskDescription;)V
-Landroid/app/ITaskStackListener;->onTaskMovedToFront(I)V
-Landroid/app/ITaskStackListener;->onTaskProfileLocked(II)V
-Landroid/app/ITaskStackListener;->onTaskRemovalStarted(I)V
-Landroid/app/ITaskStackListener;->onTaskRemoved(I)V
-Landroid/app/ITaskStackListener;->onTaskSnapshotChanged(ILandroid/app/ActivityManager$TaskSnapshot;)V
-Landroid/app/ITaskStackListener;->onTaskStackChanged()V
-Landroid/app/ITransientNotification$Stub$Proxy;
-Landroid/app/ITransientNotification$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/ITransientNotification$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/ITransientNotification$Stub$Proxy;->hide()V
-Landroid/app/ITransientNotification$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/ITransientNotification$Stub$Proxy;->show(Landroid/os/IBinder;)V
-Landroid/app/ITransientNotification$Stub;
-Landroid/app/ITransientNotification$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/ITransientNotification;
-Landroid/app/ITransientNotification$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/ITransientNotification$Stub;->TRANSACTION_hide:I
-Landroid/app/ITransientNotification$Stub;->TRANSACTION_show:I
-Landroid/app/ITransientNotification;
-Landroid/app/IUiAutomationConnection$Stub$Proxy;
-Landroid/app/IUiAutomationConnection$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/IUiAutomationConnection$Stub$Proxy;->clearWindowAnimationFrameStats()V
-Landroid/app/IUiAutomationConnection$Stub$Proxy;->clearWindowContentFrameStats(I)Z
-Landroid/app/IUiAutomationConnection$Stub$Proxy;->connect(Landroid/accessibilityservice/IAccessibilityServiceClient;I)V
-Landroid/app/IUiAutomationConnection$Stub$Proxy;->disconnect()V
-Landroid/app/IUiAutomationConnection$Stub$Proxy;->executeShellCommand(Ljava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;)V
-Landroid/app/IUiAutomationConnection$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IUiAutomationConnection$Stub$Proxy;->getWindowAnimationFrameStats()Landroid/view/WindowAnimationFrameStats;
-Landroid/app/IUiAutomationConnection$Stub$Proxy;->getWindowContentFrameStats(I)Landroid/view/WindowContentFrameStats;
-Landroid/app/IUiAutomationConnection$Stub$Proxy;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/app/IUiAutomationConnection$Stub$Proxy;->injectInputEvent(Landroid/view/InputEvent;Z)Z
-Landroid/app/IUiAutomationConnection$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/IUiAutomationConnection$Stub$Proxy;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/app/IUiAutomationConnection$Stub$Proxy;->setRotation(I)Z
-Landroid/app/IUiAutomationConnection$Stub$Proxy;->shutdown()V
-Landroid/app/IUiAutomationConnection$Stub$Proxy;->takeScreenshot(Landroid/graphics/Rect;I)Landroid/graphics/Bitmap;
-Landroid/app/IUiAutomationConnection$Stub;
-Landroid/app/IUiAutomationConnection$Stub;-><init>()V
-Landroid/app/IUiAutomationConnection$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IUiAutomationConnection;
-Landroid/app/IUiAutomationConnection$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IUiAutomationConnection$Stub;->TRANSACTION_clearWindowAnimationFrameStats:I
-Landroid/app/IUiAutomationConnection$Stub;->TRANSACTION_clearWindowContentFrameStats:I
-Landroid/app/IUiAutomationConnection$Stub;->TRANSACTION_connect:I
-Landroid/app/IUiAutomationConnection$Stub;->TRANSACTION_disconnect:I
-Landroid/app/IUiAutomationConnection$Stub;->TRANSACTION_executeShellCommand:I
-Landroid/app/IUiAutomationConnection$Stub;->TRANSACTION_getWindowAnimationFrameStats:I
-Landroid/app/IUiAutomationConnection$Stub;->TRANSACTION_getWindowContentFrameStats:I
-Landroid/app/IUiAutomationConnection$Stub;->TRANSACTION_grantRuntimePermission:I
-Landroid/app/IUiAutomationConnection$Stub;->TRANSACTION_injectInputEvent:I
-Landroid/app/IUiAutomationConnection$Stub;->TRANSACTION_revokeRuntimePermission:I
-Landroid/app/IUiAutomationConnection$Stub;->TRANSACTION_setRotation:I
-Landroid/app/IUiAutomationConnection$Stub;->TRANSACTION_shutdown:I
-Landroid/app/IUiAutomationConnection$Stub;->TRANSACTION_takeScreenshot:I
-Landroid/app/IUiAutomationConnection;
-Landroid/app/IUiAutomationConnection;->clearWindowAnimationFrameStats()V
-Landroid/app/IUiAutomationConnection;->clearWindowContentFrameStats(I)Z
-Landroid/app/IUiAutomationConnection;->connect(Landroid/accessibilityservice/IAccessibilityServiceClient;I)V
-Landroid/app/IUiAutomationConnection;->disconnect()V
-Landroid/app/IUiAutomationConnection;->executeShellCommand(Ljava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;)V
-Landroid/app/IUiAutomationConnection;->getWindowAnimationFrameStats()Landroid/view/WindowAnimationFrameStats;
-Landroid/app/IUiAutomationConnection;->getWindowContentFrameStats(I)Landroid/view/WindowContentFrameStats;
-Landroid/app/IUiAutomationConnection;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/app/IUiAutomationConnection;->injectInputEvent(Landroid/view/InputEvent;Z)Z
-Landroid/app/IUiAutomationConnection;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/app/IUiAutomationConnection;->setRotation(I)Z
-Landroid/app/IUiAutomationConnection;->shutdown()V
-Landroid/app/IUiAutomationConnection;->takeScreenshot(Landroid/graphics/Rect;I)Landroid/graphics/Bitmap;
-Landroid/app/IUidObserver$Stub$Proxy;
-Landroid/app/IUidObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/IUidObserver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IUidObserver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/IUidObserver$Stub$Proxy;->onUidActive(I)V
-Landroid/app/IUidObserver$Stub$Proxy;->onUidCachedChanged(IZ)V
-Landroid/app/IUidObserver$Stub$Proxy;->onUidGone(IZ)V
-Landroid/app/IUidObserver$Stub$Proxy;->onUidIdle(IZ)V
-Landroid/app/IUidObserver$Stub$Proxy;->onUidStateChanged(IIJ)V
-Landroid/app/IUidObserver$Stub;
-Landroid/app/IUidObserver$Stub;-><init>()V
-Landroid/app/IUidObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IUidObserver;
-Landroid/app/IUidObserver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IUidObserver$Stub;->TRANSACTION_onUidActive:I
-Landroid/app/IUidObserver$Stub;->TRANSACTION_onUidCachedChanged:I
-Landroid/app/IUidObserver$Stub;->TRANSACTION_onUidGone:I
-Landroid/app/IUidObserver$Stub;->TRANSACTION_onUidIdle:I
-Landroid/app/IUidObserver$Stub;->TRANSACTION_onUidStateChanged:I
-Landroid/app/IUidObserver;
-Landroid/app/IUidObserver;->onUidActive(I)V
-Landroid/app/IUidObserver;->onUidCachedChanged(IZ)V
-Landroid/app/IUidObserver;->onUidGone(IZ)V
-Landroid/app/IUidObserver;->onUidIdle(IZ)V
-Landroid/app/IUidObserver;->onUidStateChanged(IIJ)V
-Landroid/app/IUiModeManager$Stub$Proxy;
-Landroid/app/IUiModeManager$Stub$Proxy;->disableCarMode(I)V
-Landroid/app/IUiModeManager$Stub$Proxy;->enableCarMode(I)V
-Landroid/app/IUiModeManager$Stub$Proxy;->getCurrentModeType()I
-Landroid/app/IUiModeManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IUiModeManager$Stub$Proxy;->getNightMode()I
-Landroid/app/IUiModeManager$Stub$Proxy;->isNightModeLocked()Z
-Landroid/app/IUiModeManager$Stub$Proxy;->isUiModeLocked()Z
-Landroid/app/IUiModeManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/IUiModeManager$Stub$Proxy;->setNightMode(I)V
-Landroid/app/IUiModeManager$Stub;
-Landroid/app/IUiModeManager$Stub;-><init>()V
-Landroid/app/IUiModeManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IUiModeManager$Stub;->TRANSACTION_disableCarMode:I
-Landroid/app/IUiModeManager$Stub;->TRANSACTION_enableCarMode:I
-Landroid/app/IUiModeManager$Stub;->TRANSACTION_getCurrentModeType:I
-Landroid/app/IUiModeManager$Stub;->TRANSACTION_getNightMode:I
-Landroid/app/IUiModeManager$Stub;->TRANSACTION_isNightModeLocked:I
-Landroid/app/IUiModeManager$Stub;->TRANSACTION_isUiModeLocked:I
-Landroid/app/IUiModeManager$Stub;->TRANSACTION_setNightMode:I
-Landroid/app/IUiModeManager;
-Landroid/app/IUiModeManager;->enableCarMode(I)V
-Landroid/app/IUiModeManager;->getCurrentModeType()I
-Landroid/app/IUiModeManager;->getNightMode()I
-Landroid/app/IUiModeManager;->isNightModeLocked()Z
-Landroid/app/IUiModeManager;->isUiModeLocked()Z
-Landroid/app/IUiModeManager;->setNightMode(I)V
-Landroid/app/IUserSwitchObserver$Stub$Proxy;
-Landroid/app/IUserSwitchObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/IUserSwitchObserver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IUserSwitchObserver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/IUserSwitchObserver$Stub$Proxy;->onForegroundProfileSwitch(I)V
-Landroid/app/IUserSwitchObserver$Stub$Proxy;->onLockedBootComplete(I)V
-Landroid/app/IUserSwitchObserver$Stub$Proxy;->onUserSwitchComplete(I)V
-Landroid/app/IUserSwitchObserver$Stub$Proxy;->onUserSwitching(ILandroid/os/IRemoteCallback;)V
-Landroid/app/IUserSwitchObserver$Stub;
-Landroid/app/IUserSwitchObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IUserSwitchObserver;
-Landroid/app/IUserSwitchObserver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IUserSwitchObserver$Stub;->TRANSACTION_onForegroundProfileSwitch:I
-Landroid/app/IUserSwitchObserver$Stub;->TRANSACTION_onLockedBootComplete:I
-Landroid/app/IUserSwitchObserver$Stub;->TRANSACTION_onUserSwitchComplete:I
-Landroid/app/IUserSwitchObserver$Stub;->TRANSACTION_onUserSwitching:I
-Landroid/app/IUserSwitchObserver;
-Landroid/app/IUserSwitchObserver;->onForegroundProfileSwitch(I)V
-Landroid/app/IUserSwitchObserver;->onLockedBootComplete(I)V
-Landroid/app/IUserSwitchObserver;->onUserSwitchComplete(I)V
-Landroid/app/IUserSwitchObserver;->onUserSwitching(ILandroid/os/IRemoteCallback;)V
-Landroid/app/IWallpaperManager$Stub$Proxy;
-Landroid/app/IWallpaperManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/IWallpaperManager$Stub$Proxy;->clearWallpaper(Ljava/lang/String;II)V
-Landroid/app/IWallpaperManager$Stub$Proxy;->getHeightHint()I
-Landroid/app/IWallpaperManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IWallpaperManager$Stub$Proxy;->getName()Ljava/lang/String;
-Landroid/app/IWallpaperManager$Stub$Proxy;->getWallpaper(Ljava/lang/String;Landroid/app/IWallpaperManagerCallback;ILandroid/os/Bundle;I)Landroid/os/ParcelFileDescriptor;
-Landroid/app/IWallpaperManager$Stub$Proxy;->getWallpaperColors(II)Landroid/app/WallpaperColors;
-Landroid/app/IWallpaperManager$Stub$Proxy;->getWallpaperIdForUser(II)I
-Landroid/app/IWallpaperManager$Stub$Proxy;->getWallpaperInfo(I)Landroid/app/WallpaperInfo;
-Landroid/app/IWallpaperManager$Stub$Proxy;->getWidthHint()I
-Landroid/app/IWallpaperManager$Stub$Proxy;->hasNamedWallpaper(Ljava/lang/String;)Z
-Landroid/app/IWallpaperManager$Stub$Proxy;->isSetWallpaperAllowed(Ljava/lang/String;)Z
-Landroid/app/IWallpaperManager$Stub$Proxy;->isWallpaperBackupEligible(II)Z
-Landroid/app/IWallpaperManager$Stub$Proxy;->isWallpaperSupported(Ljava/lang/String;)Z
-Landroid/app/IWallpaperManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/IWallpaperManager$Stub$Proxy;->registerWallpaperColorsCallback(Landroid/app/IWallpaperManagerCallback;I)V
-Landroid/app/IWallpaperManager$Stub$Proxy;->setDimensionHints(IILjava/lang/String;)V
-Landroid/app/IWallpaperManager$Stub$Proxy;->setDisplayPadding(Landroid/graphics/Rect;Ljava/lang/String;)V
-Landroid/app/IWallpaperManager$Stub$Proxy;->setInAmbientMode(ZZ)V
-Landroid/app/IWallpaperManager$Stub$Proxy;->setLockWallpaperCallback(Landroid/app/IWallpaperManagerCallback;)Z
-Landroid/app/IWallpaperManager$Stub$Proxy;->settingsRestored()V
-Landroid/app/IWallpaperManager$Stub$Proxy;->setWallpaper(Ljava/lang/String;Ljava/lang/String;Landroid/graphics/Rect;ZLandroid/os/Bundle;ILandroid/app/IWallpaperManagerCallback;I)Landroid/os/ParcelFileDescriptor;
-Landroid/app/IWallpaperManager$Stub$Proxy;->setWallpaperComponent(Landroid/content/ComponentName;)V
-Landroid/app/IWallpaperManager$Stub$Proxy;->setWallpaperComponentChecked(Landroid/content/ComponentName;Ljava/lang/String;I)V
-Landroid/app/IWallpaperManager$Stub$Proxy;->unregisterWallpaperColorsCallback(Landroid/app/IWallpaperManagerCallback;I)V
-Landroid/app/IWallpaperManager$Stub;
-Landroid/app/IWallpaperManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_clearWallpaper:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_getHeightHint:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_getName:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_getWallpaper:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_getWallpaperColors:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_getWallpaperIdForUser:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_getWallpaperInfo:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_getWidthHint:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_hasNamedWallpaper:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_isSetWallpaperAllowed:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_isWallpaperBackupEligible:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_isWallpaperSupported:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_registerWallpaperColorsCallback:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_setDimensionHints:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_setDisplayPadding:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_setInAmbientMode:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_setLockWallpaperCallback:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_settingsRestored:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_setWallpaper:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_setWallpaperComponent:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_setWallpaperComponentChecked:I
-Landroid/app/IWallpaperManager$Stub;->TRANSACTION_unregisterWallpaperColorsCallback:I
-Landroid/app/IWallpaperManager;
-Landroid/app/IWallpaperManager;->clearWallpaper(Ljava/lang/String;II)V
-Landroid/app/IWallpaperManager;->getName()Ljava/lang/String;
-Landroid/app/IWallpaperManager;->getWallpaperColors(II)Landroid/app/WallpaperColors;
-Landroid/app/IWallpaperManager;->getWallpaperIdForUser(II)I
-Landroid/app/IWallpaperManager;->isSetWallpaperAllowed(Ljava/lang/String;)Z
-Landroid/app/IWallpaperManager;->isWallpaperBackupEligible(II)Z
-Landroid/app/IWallpaperManager;->isWallpaperSupported(Ljava/lang/String;)Z
-Landroid/app/IWallpaperManager;->registerWallpaperColorsCallback(Landroid/app/IWallpaperManagerCallback;I)V
-Landroid/app/IWallpaperManager;->setDimensionHints(IILjava/lang/String;)V
-Landroid/app/IWallpaperManager;->setDisplayPadding(Landroid/graphics/Rect;Ljava/lang/String;)V
-Landroid/app/IWallpaperManager;->setInAmbientMode(ZZ)V
-Landroid/app/IWallpaperManager;->setLockWallpaperCallback(Landroid/app/IWallpaperManagerCallback;)Z
-Landroid/app/IWallpaperManager;->settingsRestored()V
-Landroid/app/IWallpaperManager;->setWallpaper(Ljava/lang/String;Ljava/lang/String;Landroid/graphics/Rect;ZLandroid/os/Bundle;ILandroid/app/IWallpaperManagerCallback;I)Landroid/os/ParcelFileDescriptor;
-Landroid/app/IWallpaperManager;->setWallpaperComponentChecked(Landroid/content/ComponentName;Ljava/lang/String;I)V
-Landroid/app/IWallpaperManager;->unregisterWallpaperColorsCallback(Landroid/app/IWallpaperManagerCallback;I)V
-Landroid/app/IWallpaperManagerCallback$Stub$Proxy;
-Landroid/app/IWallpaperManagerCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/IWallpaperManagerCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/IWallpaperManagerCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/IWallpaperManagerCallback$Stub$Proxy;->onWallpaperChanged()V
-Landroid/app/IWallpaperManagerCallback$Stub$Proxy;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;II)V
-Landroid/app/IWallpaperManagerCallback$Stub;
-Landroid/app/IWallpaperManagerCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IWallpaperManagerCallback;
-Landroid/app/IWallpaperManagerCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/IWallpaperManagerCallback$Stub;->TRANSACTION_onWallpaperChanged:I
-Landroid/app/IWallpaperManagerCallback$Stub;->TRANSACTION_onWallpaperColorsChanged:I
-Landroid/app/IWallpaperManagerCallback;
-Landroid/app/IWallpaperManagerCallback;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;II)V
-Landroid/app/job/IJobCallback$Stub$Proxy;
-Landroid/app/job/IJobCallback$Stub$Proxy;->acknowledgeStartMessage(IZ)V
-Landroid/app/job/IJobCallback$Stub$Proxy;->acknowledgeStopMessage(IZ)V
-Landroid/app/job/IJobCallback$Stub$Proxy;->completeWork(II)Z
-Landroid/app/job/IJobCallback$Stub$Proxy;->dequeueWork(I)Landroid/app/job/JobWorkItem;
-Landroid/app/job/IJobCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/job/IJobCallback$Stub$Proxy;->jobFinished(IZ)V
-Landroid/app/job/IJobCallback$Stub;
-Landroid/app/job/IJobCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/job/IJobCallback$Stub;->TRANSACTION_acknowledgeStartMessage:I
-Landroid/app/job/IJobCallback$Stub;->TRANSACTION_acknowledgeStopMessage:I
-Landroid/app/job/IJobCallback$Stub;->TRANSACTION_completeWork:I
-Landroid/app/job/IJobCallback$Stub;->TRANSACTION_dequeueWork:I
-Landroid/app/job/IJobCallback$Stub;->TRANSACTION_jobFinished:I
-Landroid/app/job/IJobCallback;
-Landroid/app/job/IJobScheduler$Stub$Proxy;
-Landroid/app/job/IJobScheduler$Stub$Proxy;->cancel(I)V
-Landroid/app/job/IJobScheduler$Stub$Proxy;->cancelAll()V
-Landroid/app/job/IJobScheduler$Stub$Proxy;->enqueue(Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;)I
-Landroid/app/job/IJobScheduler$Stub$Proxy;->getAllPendingJobs()Ljava/util/List;
-Landroid/app/job/IJobScheduler$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/job/IJobScheduler$Stub$Proxy;->getPendingJob(I)Landroid/app/job/JobInfo;
-Landroid/app/job/IJobScheduler$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/job/IJobScheduler$Stub$Proxy;->schedule(Landroid/app/job/JobInfo;)I
-Landroid/app/job/IJobScheduler$Stub$Proxy;->scheduleAsPackage(Landroid/app/job/JobInfo;Ljava/lang/String;ILjava/lang/String;)I
-Landroid/app/job/IJobScheduler$Stub;
-Landroid/app/job/IJobScheduler$Stub;-><init>()V
-Landroid/app/job/IJobScheduler$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/job/IJobScheduler$Stub;->TRANSACTION_cancel:I
-Landroid/app/job/IJobScheduler$Stub;->TRANSACTION_cancelAll:I
-Landroid/app/job/IJobScheduler$Stub;->TRANSACTION_enqueue:I
-Landroid/app/job/IJobScheduler$Stub;->TRANSACTION_getAllPendingJobs:I
-Landroid/app/job/IJobScheduler$Stub;->TRANSACTION_getPendingJob:I
-Landroid/app/job/IJobScheduler$Stub;->TRANSACTION_schedule:I
-Landroid/app/job/IJobScheduler$Stub;->TRANSACTION_scheduleAsPackage:I
-Landroid/app/job/IJobScheduler;
-Landroid/app/job/IJobScheduler;->cancel(I)V
-Landroid/app/job/IJobScheduler;->cancelAll()V
-Landroid/app/job/IJobScheduler;->enqueue(Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;)I
-Landroid/app/job/IJobScheduler;->getAllPendingJobs()Ljava/util/List;
-Landroid/app/job/IJobScheduler;->getPendingJob(I)Landroid/app/job/JobInfo;
-Landroid/app/job/IJobScheduler;->schedule(Landroid/app/job/JobInfo;)I
-Landroid/app/job/IJobScheduler;->scheduleAsPackage(Landroid/app/job/JobInfo;Ljava/lang/String;ILjava/lang/String;)I
-Landroid/app/job/IJobService$Stub$Proxy;
-Landroid/app/job/IJobService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/job/IJobService$Stub$Proxy;->startJob(Landroid/app/job/JobParameters;)V
-Landroid/app/job/IJobService$Stub$Proxy;->stopJob(Landroid/app/job/JobParameters;)V
-Landroid/app/job/IJobService$Stub;
-Landroid/app/job/IJobService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/job/IJobService$Stub;->TRANSACTION_startJob:I
-Landroid/app/job/IJobService$Stub;->TRANSACTION_stopJob:I
-Landroid/app/job/IJobService;
-Landroid/app/job/JobInfo$BackoffPolicy;
-Landroid/app/job/JobInfo$Builder;->mBackoffPolicy:I
-Landroid/app/job/JobInfo$Builder;->mBackoffPolicySet:Z
-Landroid/app/job/JobInfo$Builder;->mClipData:Landroid/content/ClipData;
-Landroid/app/job/JobInfo$Builder;->mClipGrantFlags:I
-Landroid/app/job/JobInfo$Builder;->mConstraintFlags:I
-Landroid/app/job/JobInfo$Builder;->mExtras:Landroid/os/PersistableBundle;
-Landroid/app/job/JobInfo$Builder;->mFlags:I
-Landroid/app/job/JobInfo$Builder;->mFlexMillis:J
-Landroid/app/job/JobInfo$Builder;->mHasEarlyConstraint:Z
-Landroid/app/job/JobInfo$Builder;->mHasLateConstraint:Z
-Landroid/app/job/JobInfo$Builder;->mInitialBackoffMillis:J
-Landroid/app/job/JobInfo$Builder;->mIntervalMillis:J
-Landroid/app/job/JobInfo$Builder;->mIsPeriodic:Z
-Landroid/app/job/JobInfo$Builder;->mIsPersisted:Z
-Landroid/app/job/JobInfo$Builder;->mJobId:I
-Landroid/app/job/JobInfo$Builder;->mJobService:Landroid/content/ComponentName;
-Landroid/app/job/JobInfo$Builder;->mMaxExecutionDelayMillis:J
-Landroid/app/job/JobInfo$Builder;->mMinLatencyMillis:J
-Landroid/app/job/JobInfo$Builder;->mNetworkDownloadBytes:J
-Landroid/app/job/JobInfo$Builder;->mNetworkRequest:Landroid/net/NetworkRequest;
-Landroid/app/job/JobInfo$Builder;->mNetworkUploadBytes:J
-Landroid/app/job/JobInfo$Builder;->mPriority:I
-Landroid/app/job/JobInfo$Builder;->mTransientExtras:Landroid/os/Bundle;
-Landroid/app/job/JobInfo$Builder;->mTriggerContentMaxDelay:J
-Landroid/app/job/JobInfo$Builder;->mTriggerContentUpdateDelay:J
-Landroid/app/job/JobInfo$Builder;->mTriggerContentUris:Ljava/util/ArrayList;
-Landroid/app/job/JobInfo$NetworkType;
-Landroid/app/job/JobInfo$TriggerContentUri$Flags;
-Landroid/app/job/JobInfo$TriggerContentUri;-><init>(Landroid/os/Parcel;)V
-Landroid/app/job/JobInfo$TriggerContentUri;->mFlags:I
-Landroid/app/job/JobInfo$TriggerContentUri;->mUri:Landroid/net/Uri;
-Landroid/app/job/JobInfo;-><init>(Landroid/app/job/JobInfo$Builder;)V
-Landroid/app/job/JobInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/app/job/JobInfo;->backoffPolicy:I
-Landroid/app/job/JobInfo;->clipData:Landroid/content/ClipData;
-Landroid/app/job/JobInfo;->clipGrantFlags:I
-Landroid/app/job/JobInfo;->constraintFlags:I
-Landroid/app/job/JobInfo;->CONSTRAINT_FLAG_BATTERY_NOT_LOW:I
-Landroid/app/job/JobInfo;->CONSTRAINT_FLAG_CHARGING:I
-Landroid/app/job/JobInfo;->CONSTRAINT_FLAG_DEVICE_IDLE:I
-Landroid/app/job/JobInfo;->CONSTRAINT_FLAG_STORAGE_NOT_LOW:I
-Landroid/app/job/JobInfo;->DEFAULT_BACKOFF_POLICY:I
-Landroid/app/job/JobInfo;->extras:Landroid/os/PersistableBundle;
-Landroid/app/job/JobInfo;->FLAG_EXEMPT_FROM_APP_STANDBY:I
-Landroid/app/job/JobInfo;->FLAG_IMPORTANT_WHILE_FOREGROUND:I
-Landroid/app/job/JobInfo;->FLAG_PREFETCH:I
-Landroid/app/job/JobInfo;->flexMillis:J
-Landroid/app/job/JobInfo;->getConstraintFlags()I
-Landroid/app/job/JobInfo;->getFlags()I
-Landroid/app/job/JobInfo;->getMinBackoffMillis()J
-Landroid/app/job/JobInfo;->getPriority()I
-Landroid/app/job/JobInfo;->hasEarlyConstraint()Z
-Landroid/app/job/JobInfo;->hasEarlyConstraint:Z
-Landroid/app/job/JobInfo;->hasLateConstraint()Z
-Landroid/app/job/JobInfo;->hasLateConstraint:Z
-Landroid/app/job/JobInfo;->initialBackoffMillis:J
-Landroid/app/job/JobInfo;->intervalMillis:J
-Landroid/app/job/JobInfo;->isExemptedFromAppStandby()Z
-Landroid/app/job/JobInfo;->isPeriodic:Z
-Landroid/app/job/JobInfo;->isPersisted:Z
-Landroid/app/job/JobInfo;->kindofEqualsBundle(Landroid/os/BaseBundle;Landroid/os/BaseBundle;)Z
-Landroid/app/job/JobInfo;->maxExecutionDelayMillis:J
-Landroid/app/job/JobInfo;->minLatencyMillis:J
-Landroid/app/job/JobInfo;->MIN_BACKOFF_MILLIS:J
-Landroid/app/job/JobInfo;->MIN_FLEX_MILLIS:J
-Landroid/app/job/JobInfo;->MIN_PERIOD_MILLIS:J
-Landroid/app/job/JobInfo;->networkDownloadBytes:J
-Landroid/app/job/JobInfo;->networkRequest:Landroid/net/NetworkRequest;
-Landroid/app/job/JobInfo;->networkUploadBytes:J
-Landroid/app/job/JobInfo;->priority:I
-Landroid/app/job/JobInfo;->PRIORITY_ADJ_ALWAYS_RUNNING:I
-Landroid/app/job/JobInfo;->PRIORITY_ADJ_OFTEN_RUNNING:I
-Landroid/app/job/JobInfo;->PRIORITY_DEFAULT:I
-Landroid/app/job/JobInfo;->PRIORITY_SYNC_EXPEDITED:I
-Landroid/app/job/JobInfo;->PRIORITY_SYNC_INITIALIZATION:I
-Landroid/app/job/JobInfo;->PRIORITY_TOP_APP:I
-Landroid/app/job/JobInfo;->TAG:Ljava/lang/String;
-Landroid/app/job/JobInfo;->transientExtras:Landroid/os/Bundle;
-Landroid/app/job/JobInfo;->triggerContentMaxDelay:J
-Landroid/app/job/JobInfo;->triggerContentUpdateDelay:J
-Landroid/app/job/JobInfo;->triggerContentUris:[Landroid/app/job/JobInfo$TriggerContentUri;
-Landroid/app/job/JobParameters;-><init>(Landroid/os/IBinder;ILandroid/os/PersistableBundle;Landroid/os/Bundle;Landroid/content/ClipData;IZ[Landroid/net/Uri;[Ljava/lang/String;Landroid/net/Network;)V
-Landroid/app/job/JobParameters;-><init>(Landroid/os/Parcel;)V
-Landroid/app/job/JobParameters;->clipData:Landroid/content/ClipData;
-Landroid/app/job/JobParameters;->clipGrantFlags:I
-Landroid/app/job/JobParameters;->debugStopReason:Ljava/lang/String;
-Landroid/app/job/JobParameters;->extras:Landroid/os/PersistableBundle;
-Landroid/app/job/JobParameters;->getDebugStopReason()Ljava/lang/String;
-Landroid/app/job/JobParameters;->getReasonName(I)Ljava/lang/String;
-Landroid/app/job/JobParameters;->getStopReason()I
-Landroid/app/job/JobParameters;->mTriggeredContentAuthorities:[Ljava/lang/String;
-Landroid/app/job/JobParameters;->mTriggeredContentUris:[Landroid/net/Uri;
-Landroid/app/job/JobParameters;->network:Landroid/net/Network;
-Landroid/app/job/JobParameters;->overrideDeadlineExpired:Z
-Landroid/app/job/JobParameters;->REASON_CANCELED:I
-Landroid/app/job/JobParameters;->REASON_CONSTRAINTS_NOT_SATISFIED:I
-Landroid/app/job/JobParameters;->REASON_DEVICE_IDLE:I
-Landroid/app/job/JobParameters;->REASON_PREEMPT:I
-Landroid/app/job/JobParameters;->REASON_TIMEOUT:I
-Landroid/app/job/JobParameters;->setStopReason(ILjava/lang/String;)V
-Landroid/app/job/JobParameters;->stopReason:I
-Landroid/app/job/JobParameters;->transientExtras:Landroid/os/Bundle;
-Landroid/app/job/JobProtoEnums;
-Landroid/app/job/JobProtoEnums;-><init>()V
-Landroid/app/job/JobProtoEnums;->STOP_REASON_CANCELLED:I
-Landroid/app/job/JobProtoEnums;->STOP_REASON_CONSTRAINTS_NOT_SATISFIED:I
-Landroid/app/job/JobProtoEnums;->STOP_REASON_DEVICE_IDLE:I
-Landroid/app/job/JobProtoEnums;->STOP_REASON_PREEMPT:I
-Landroid/app/job/JobProtoEnums;->STOP_REASON_TIMEOUT:I
-Landroid/app/job/JobProtoEnums;->STOP_REASON_UNKNOWN:I
-Landroid/app/job/JobScheduler$Result;
-Landroid/app/job/JobService;->mEngine:Landroid/app/job/JobServiceEngine;
-Landroid/app/job/JobService;->TAG:Ljava/lang/String;
-Landroid/app/job/JobServiceEngine$JobHandler;
-Landroid/app/job/JobServiceEngine$JobHandler;-><init>(Landroid/os/Looper;)V
-Landroid/app/job/JobServiceEngine$JobHandler;->ackStartMessage(Landroid/app/job/JobParameters;Z)V
-Landroid/app/job/JobServiceEngine$JobHandler;->ackStopMessage(Landroid/app/job/JobParameters;Z)V
-Landroid/app/job/JobServiceEngine$JobInterface;
-Landroid/app/job/JobServiceEngine$JobInterface;-><init>(Landroid/app/job/JobServiceEngine;)V
-Landroid/app/job/JobServiceEngine$JobInterface;->mService:Ljava/lang/ref/WeakReference;
-Landroid/app/job/JobServiceEngine$JobInterface;->startJob(Landroid/app/job/JobParameters;)V
-Landroid/app/job/JobServiceEngine$JobInterface;->stopJob(Landroid/app/job/JobParameters;)V
-Landroid/app/job/JobServiceEngine;->mBinder:Landroid/app/job/IJobService;
-Landroid/app/job/JobServiceEngine;->mHandler:Landroid/app/job/JobServiceEngine$JobHandler;
-Landroid/app/job/JobServiceEngine;->MSG_EXECUTE_JOB:I
-Landroid/app/job/JobServiceEngine;->MSG_JOB_FINISHED:I
-Landroid/app/job/JobServiceEngine;->MSG_STOP_JOB:I
-Landroid/app/job/JobServiceEngine;->TAG:Ljava/lang/String;
-Landroid/app/job/JobWorkItem;->bumpDeliveryCount()V
-Landroid/app/job/JobWorkItem;->getGrants()Ljava/lang/Object;
-Landroid/app/job/JobWorkItem;->getWorkId()I
-Landroid/app/job/JobWorkItem;->mNetworkDownloadBytes:J
-Landroid/app/job/JobWorkItem;->mNetworkUploadBytes:J
-Landroid/app/job/JobWorkItem;->setGrants(Ljava/lang/Object;)V
-Landroid/app/job/JobWorkItem;->setWorkId(I)V
-Landroid/app/JobSchedulerImpl;
-Landroid/app/JobSchedulerImpl;-><init>(Landroid/app/job/IJobScheduler;)V
-Landroid/app/JobSchedulerImpl;->mBinder:Landroid/app/job/IJobScheduler;
-Landroid/app/KeyguardManager$KeyguardLock;-><init>(Ljava/lang/String;)V
-Landroid/app/KeyguardManager$KeyguardLock;->mTag:Ljava/lang/String;
-Landroid/app/KeyguardManager$KeyguardLock;->mToken:Landroid/os/IBinder;
-Landroid/app/KeyguardManager;-><init>(Landroid/content/Context;)V
-Landroid/app/KeyguardManager;->ACTION_CONFIRM_DEVICE_CREDENTIAL:Ljava/lang/String;
-Landroid/app/KeyguardManager;->ACTION_CONFIRM_DEVICE_CREDENTIAL_WITH_USER:Ljava/lang/String;
-Landroid/app/KeyguardManager;->ACTION_CONFIRM_FRP_CREDENTIAL:Ljava/lang/String;
-Landroid/app/KeyguardManager;->createConfirmDeviceCredentialIntent(Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)Landroid/content/Intent;
-Landroid/app/KeyguardManager;->EXTRA_ALTERNATE_BUTTON_LABEL:Ljava/lang/String;
-Landroid/app/KeyguardManager;->EXTRA_DESCRIPTION:Ljava/lang/String;
-Landroid/app/KeyguardManager;->EXTRA_TITLE:Ljava/lang/String;
-Landroid/app/KeyguardManager;->getSettingsPackageForIntent(Landroid/content/Intent;)Ljava/lang/String;
-Landroid/app/KeyguardManager;->mAm:Landroid/app/IActivityManager;
-Landroid/app/KeyguardManager;->mContext:Landroid/content/Context;
-Landroid/app/KeyguardManager;->mTrustManager:Landroid/app/trust/ITrustManager;
-Landroid/app/KeyguardManager;->mWM:Landroid/view/IWindowManager;
-Landroid/app/KeyguardManager;->RESULT_ALTERNATE:I
-Landroid/app/KeyguardManager;->TAG:Ljava/lang/String;
-Landroid/app/LauncherActivity$ActivityAdapter$ArrayFilter;
-Landroid/app/LauncherActivity$ActivityAdapter$ArrayFilter;-><init>()V
-Landroid/app/LauncherActivity$ActivityAdapter;
-Landroid/app/LauncherActivity$ActivityAdapter;-><init>(Landroid/app/LauncherActivity$IconResizer;)V
-Landroid/app/LauncherActivity$ActivityAdapter;->bindView(Landroid/view/View;Landroid/app/LauncherActivity$ListItem;)V
-Landroid/app/LauncherActivity$ActivityAdapter;->intentForPosition(I)Landroid/content/Intent;
-Landroid/app/LauncherActivity$ActivityAdapter;->itemForPosition(I)Landroid/app/LauncherActivity$ListItem;
-Landroid/app/LauncherActivity$ActivityAdapter;->lock:Ljava/lang/Object;
-Landroid/app/LauncherActivity$ActivityAdapter;->mActivitiesList:Ljava/util/List;
-Landroid/app/LauncherActivity$ActivityAdapter;->mFilter:Landroid/widget/Filter;
-Landroid/app/LauncherActivity$ActivityAdapter;->mIconResizer:Landroid/app/LauncherActivity$IconResizer;
-Landroid/app/LauncherActivity$ActivityAdapter;->mInflater:Landroid/view/LayoutInflater;
-Landroid/app/LauncherActivity$ActivityAdapter;->mOriginalValues:Ljava/util/ArrayList;
-Landroid/app/LauncherActivity$ActivityAdapter;->mShowIcons:Z
-Landroid/app/LauncherActivity$IconResizer;->mCanvas:Landroid/graphics/Canvas;
-Landroid/app/LauncherActivity$IconResizer;->mIconHeight:I
-Landroid/app/LauncherActivity$IconResizer;->mIconWidth:I
-Landroid/app/LauncherActivity$IconResizer;->mOldBounds:Landroid/graphics/Rect;
-Landroid/app/LauncherActivity$ListItem;-><init>(Landroid/content/pm/PackageManager;Landroid/content/pm/ResolveInfo;Landroid/app/LauncherActivity$IconResizer;)V
-Landroid/app/LauncherActivity;->mIconResizer:Landroid/app/LauncherActivity$IconResizer;
-Landroid/app/LauncherActivity;->mIntent:Landroid/content/Intent;
-Landroid/app/LauncherActivity;->mPackageManager:Landroid/content/pm/PackageManager;
-Landroid/app/LauncherActivity;->onEvaluateShowIcons()Z
-Landroid/app/LauncherActivity;->onSortResultList(Ljava/util/List;)V
-Landroid/app/LauncherActivity;->updateAlertTitle()V
-Landroid/app/LauncherActivity;->updateButtonText()V
-Landroid/app/ListActivity;->ensureList()V
-Landroid/app/ListActivity;->mAdapter:Landroid/widget/ListAdapter;
-Landroid/app/ListActivity;->mFinishedStart:Z
-Landroid/app/ListActivity;->mHandler:Landroid/os/Handler;
-Landroid/app/ListActivity;->mList:Landroid/widget/ListView;
-Landroid/app/ListActivity;->mOnClickListener:Landroid/widget/AdapterView$OnItemClickListener;
-Landroid/app/ListActivity;->mRequestFocus:Ljava/lang/Runnable;
-Landroid/app/ListFragment;->ensureList()V
-Landroid/app/ListFragment;->mAdapter:Landroid/widget/ListAdapter;
-Landroid/app/ListFragment;->mEmptyText:Ljava/lang/CharSequence;
-Landroid/app/ListFragment;->mEmptyView:Landroid/view/View;
-Landroid/app/ListFragment;->mHandler:Landroid/os/Handler;
-Landroid/app/ListFragment;->mList:Landroid/widget/ListView;
-Landroid/app/ListFragment;->mListContainer:Landroid/view/View;
-Landroid/app/ListFragment;->mListShown:Z
-Landroid/app/ListFragment;->mOnClickListener:Landroid/widget/AdapterView$OnItemClickListener;
-Landroid/app/ListFragment;->mProgressContainer:Landroid/view/View;
-Landroid/app/ListFragment;->mRequestFocus:Ljava/lang/Runnable;
-Landroid/app/ListFragment;->mStandardEmptyView:Landroid/widget/TextView;
-Landroid/app/ListFragment;->setListShown(ZZ)V
-Landroid/app/LoadedApk$ReceiverDispatcher$Args;
-Landroid/app/LoadedApk$ReceiverDispatcher$Args;-><init>(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
-Landroid/app/LoadedApk$ReceiverDispatcher$Args;->getRunnable()Ljava/lang/Runnable;
-Landroid/app/LoadedApk$ReceiverDispatcher$Args;->mCurIntent:Landroid/content/Intent;
-Landroid/app/LoadedApk$ReceiverDispatcher$Args;->mDispatched:Z
-Landroid/app/LoadedApk$ReceiverDispatcher$Args;->mOrdered:Z
-Landroid/app/LoadedApk$ReceiverDispatcher$Args;->mPreviousRunStacktrace:Ljava/lang/Throwable;
-Landroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;
-Landroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;-><init>(Landroid/app/LoadedApk$ReceiverDispatcher;Z)V
-Landroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;->mDispatcher:Ljava/lang/ref/WeakReference;
-Landroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;->mStrongRef:Landroid/app/LoadedApk$ReceiverDispatcher;
-Landroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
-Landroid/app/LoadedApk$ReceiverDispatcher;
-Landroid/app/LoadedApk$ReceiverDispatcher;-><init>(Landroid/content/BroadcastReceiver;Landroid/content/Context;Landroid/os/Handler;Landroid/app/Instrumentation;Z)V
-Landroid/app/LoadedApk$ReceiverDispatcher;->getLocation()Landroid/app/IntentReceiverLeaked;
-Landroid/app/LoadedApk$ReceiverDispatcher;->getUnregisterLocation()Ljava/lang/RuntimeException;
-Landroid/app/LoadedApk$ReceiverDispatcher;->mActivityThread:Landroid/os/Handler;
-Landroid/app/LoadedApk$ReceiverDispatcher;->mForgotten:Z
-Landroid/app/LoadedApk$ReceiverDispatcher;->mIIntentReceiver:Landroid/content/IIntentReceiver$Stub;
-Landroid/app/LoadedApk$ReceiverDispatcher;->mInstrumentation:Landroid/app/Instrumentation;
-Landroid/app/LoadedApk$ReceiverDispatcher;->mLocation:Landroid/app/IntentReceiverLeaked;
-Landroid/app/LoadedApk$ReceiverDispatcher;->mRegistered:Z
-Landroid/app/LoadedApk$ReceiverDispatcher;->mUnregisterLocation:Ljava/lang/RuntimeException;
-Landroid/app/LoadedApk$ReceiverDispatcher;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
-Landroid/app/LoadedApk$ReceiverDispatcher;->setUnregisterLocation(Ljava/lang/RuntimeException;)V
-Landroid/app/LoadedApk$ReceiverDispatcher;->validate(Landroid/content/Context;Landroid/os/Handler;)V
-Landroid/app/LoadedApk$ServiceDispatcher$ConnectionInfo;
-Landroid/app/LoadedApk$ServiceDispatcher$ConnectionInfo;-><init>()V
-Landroid/app/LoadedApk$ServiceDispatcher$ConnectionInfo;->binder:Landroid/os/IBinder;
-Landroid/app/LoadedApk$ServiceDispatcher$ConnectionInfo;->deathMonitor:Landroid/os/IBinder$DeathRecipient;
-Landroid/app/LoadedApk$ServiceDispatcher$DeathMonitor;
-Landroid/app/LoadedApk$ServiceDispatcher$DeathMonitor;-><init>(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-Landroid/app/LoadedApk$ServiceDispatcher$DeathMonitor;->mName:Landroid/content/ComponentName;
-Landroid/app/LoadedApk$ServiceDispatcher$DeathMonitor;->mService:Landroid/os/IBinder;
-Landroid/app/LoadedApk$ServiceDispatcher$InnerConnection;
-Landroid/app/LoadedApk$ServiceDispatcher$InnerConnection;-><init>(Landroid/app/LoadedApk$ServiceDispatcher;)V
-Landroid/app/LoadedApk$ServiceDispatcher$InnerConnection;->connected(Landroid/content/ComponentName;Landroid/os/IBinder;Z)V
-Landroid/app/LoadedApk$ServiceDispatcher$RunConnection;
-Landroid/app/LoadedApk$ServiceDispatcher$RunConnection;-><init>(Landroid/content/ComponentName;Landroid/os/IBinder;IZ)V
-Landroid/app/LoadedApk$ServiceDispatcher$RunConnection;->mCommand:I
-Landroid/app/LoadedApk$ServiceDispatcher$RunConnection;->mDead:Z
-Landroid/app/LoadedApk$ServiceDispatcher$RunConnection;->mName:Landroid/content/ComponentName;
-Landroid/app/LoadedApk$ServiceDispatcher$RunConnection;->mService:Landroid/os/IBinder;
-Landroid/app/LoadedApk$ServiceDispatcher;
-Landroid/app/LoadedApk$ServiceDispatcher;->connected(Landroid/content/ComponentName;Landroid/os/IBinder;Z)V
-Landroid/app/LoadedApk$ServiceDispatcher;->death(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-Landroid/app/LoadedApk$ServiceDispatcher;->doConnected(Landroid/content/ComponentName;Landroid/os/IBinder;Z)V
-Landroid/app/LoadedApk$ServiceDispatcher;->doDeath(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-Landroid/app/LoadedApk$ServiceDispatcher;->doForget()V
-Landroid/app/LoadedApk$ServiceDispatcher;->getFlags()I
-Landroid/app/LoadedApk$ServiceDispatcher;->getLocation()Landroid/app/ServiceConnectionLeaked;
-Landroid/app/LoadedApk$ServiceDispatcher;->getServiceConnection()Landroid/content/ServiceConnection;
-Landroid/app/LoadedApk$ServiceDispatcher;->getUnbindLocation()Ljava/lang/RuntimeException;
-Landroid/app/LoadedApk$ServiceDispatcher;->mActiveConnections:Landroid/util/ArrayMap;
-Landroid/app/LoadedApk$ServiceDispatcher;->mActivityThread:Landroid/os/Handler;
-Landroid/app/LoadedApk$ServiceDispatcher;->mFlags:I
-Landroid/app/LoadedApk$ServiceDispatcher;->mForgotten:Z
-Landroid/app/LoadedApk$ServiceDispatcher;->mIServiceConnection:Landroid/app/LoadedApk$ServiceDispatcher$InnerConnection;
-Landroid/app/LoadedApk$ServiceDispatcher;->mLocation:Landroid/app/ServiceConnectionLeaked;
-Landroid/app/LoadedApk$ServiceDispatcher;->mUnbindLocation:Ljava/lang/RuntimeException;
-Landroid/app/LoadedApk$ServiceDispatcher;->setUnbindLocation(Ljava/lang/RuntimeException;)V
-Landroid/app/LoadedApk$ServiceDispatcher;->validate(Landroid/content/Context;Landroid/os/Handler;)V
-Landroid/app/LoadedApk$SplitDependencyLoaderImpl;
-Landroid/app/LoadedApk$SplitDependencyLoaderImpl;-><init>(Landroid/util/SparseArray;)V
-Landroid/app/LoadedApk$SplitDependencyLoaderImpl;->constructSplit(I[II)V
-Landroid/app/LoadedApk$SplitDependencyLoaderImpl;->ensureSplitLoaded(Ljava/lang/String;)I
-Landroid/app/LoadedApk$SplitDependencyLoaderImpl;->getClassLoaderForSplit(Ljava/lang/String;)Ljava/lang/ClassLoader;
-Landroid/app/LoadedApk$SplitDependencyLoaderImpl;->getSplitPathsForSplit(Ljava/lang/String;)[Ljava/lang/String;
-Landroid/app/LoadedApk$SplitDependencyLoaderImpl;->isSplitCached(I)Z
-Landroid/app/LoadedApk$SplitDependencyLoaderImpl;->mCachedClassLoaders:[Ljava/lang/ClassLoader;
-Landroid/app/LoadedApk$SplitDependencyLoaderImpl;->mCachedResourcePaths:[[Ljava/lang/String;
-Landroid/app/LoadedApk$WarningContextClassLoader;
-Landroid/app/LoadedApk$WarningContextClassLoader;-><init>()V
-Landroid/app/LoadedApk$WarningContextClassLoader;->warn(Ljava/lang/String;)V
-Landroid/app/LoadedApk$WarningContextClassLoader;->warned:Z
-Landroid/app/LoadedApk;
-Landroid/app/LoadedApk;-><init>(Landroid/app/ActivityThread;)V
-Landroid/app/LoadedApk;-><init>(Landroid/app/ActivityThread;Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;Ljava/lang/ClassLoader;ZZZ)V
-Landroid/app/LoadedApk;->adjustNativeLibraryPaths(Landroid/content/pm/ApplicationInfo;)Landroid/content/pm/ApplicationInfo;
-Landroid/app/LoadedApk;->appendApkLibPathIfNeeded(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/util/List;)V
-Landroid/app/LoadedApk;->createAppFactory(Landroid/content/pm/ApplicationInfo;Ljava/lang/ClassLoader;)Landroid/app/AppComponentFactory;
-Landroid/app/LoadedApk;->createOrUpdateClassLoaderLocked(Ljava/util/List;)V
-Landroid/app/LoadedApk;->DEBUG:Z
-Landroid/app/LoadedApk;->forgetReceiverDispatcher(Landroid/content/Context;Landroid/content/BroadcastReceiver;)Landroid/content/IIntentReceiver;
-Landroid/app/LoadedApk;->forgetServiceDispatcher(Landroid/content/Context;Landroid/content/ServiceConnection;)Landroid/app/IServiceConnection;
-Landroid/app/LoadedApk;->getAppFactory()Landroid/app/AppComponentFactory;
-Landroid/app/LoadedApk;->getApplication()Landroid/app/Application;
-Landroid/app/LoadedApk;->getCredentialProtectedDataDirFile()Ljava/io/File;
-Landroid/app/LoadedApk;->getDataDir()Ljava/lang/String;
-Landroid/app/LoadedApk;->getDeviceProtectedDataDirFile()Ljava/io/File;
-Landroid/app/LoadedApk;->getLibDir()Ljava/lang/String;
-Landroid/app/LoadedApk;->getLibrariesFor(Ljava/lang/String;)[Ljava/lang/String;
-Landroid/app/LoadedApk;->getReceiverDispatcher(Landroid/content/BroadcastReceiver;Landroid/content/Context;Landroid/os/Handler;Landroid/app/Instrumentation;Z)Landroid/content/IIntentReceiver;
-Landroid/app/LoadedApk;->getSplitAppDirs()[Ljava/lang/String;
-Landroid/app/LoadedApk;->getSplitClassLoader(Ljava/lang/String;)Ljava/lang/ClassLoader;
-Landroid/app/LoadedApk;->getSplitPaths(Ljava/lang/String;)[Ljava/lang/String;
-Landroid/app/LoadedApk;->getTargetSdkVersion()I
-Landroid/app/LoadedApk;->initializeJavaContextClassLoader()V
-Landroid/app/LoadedApk;->installSystemApplicationInfo(Landroid/content/pm/ApplicationInfo;Ljava/lang/ClassLoader;)V
-Landroid/app/LoadedApk;->isSecurityViolation()Z
-Landroid/app/LoadedApk;->makePaths(Landroid/app/ActivityThread;Landroid/content/pm/ApplicationInfo;Ljava/util/List;)V
-Landroid/app/LoadedApk;->makePaths(Landroid/app/ActivityThread;ZLandroid/content/pm/ApplicationInfo;Ljava/util/List;Ljava/util/List;)V
-Landroid/app/LoadedApk;->mAppComponentFactory:Landroid/app/AppComponentFactory;
-Landroid/app/LoadedApk;->mCredentialProtectedDataDirFile:Ljava/io/File;
-Landroid/app/LoadedApk;->mDeviceProtectedDataDirFile:Ljava/io/File;
-Landroid/app/LoadedApk;->mIncludeCode:Z
-Landroid/app/LoadedApk;->mOverlayDirs:[Ljava/lang/String;
-Landroid/app/LoadedApk;->mRegisterPackage:Z
-Landroid/app/LoadedApk;->mSecurityViolation:Z
-Landroid/app/LoadedApk;->mSplitAppDirs:[Ljava/lang/String;
-Landroid/app/LoadedApk;->mSplitClassLoaderNames:[Ljava/lang/String;
-Landroid/app/LoadedApk;->mSplitLoader:Landroid/app/LoadedApk$SplitDependencyLoaderImpl;
-Landroid/app/LoadedApk;->mSplitNames:[Ljava/lang/String;
-Landroid/app/LoadedApk;->mUnboundServices:Landroid/util/ArrayMap;
-Landroid/app/LoadedApk;->mUnregisteredReceivers:Landroid/util/ArrayMap;
-Landroid/app/LoadedApk;->PROPERTY_NAME_APPEND_NATIVE:Ljava/lang/String;
-Landroid/app/LoadedApk;->removeContextRegistrations(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/LoadedApk;->setApplicationInfo(Landroid/content/pm/ApplicationInfo;)V
-Landroid/app/LoadedApk;->setCompatibilityInfo(Landroid/content/res/CompatibilityInfo;)V
-Landroid/app/LoadedApk;->setupJitProfileSupport()V
-Landroid/app/LoadedApk;->TAG:Ljava/lang/String;
-Landroid/app/LoadedApk;->updateApplicationInfo(Landroid/content/pm/ApplicationInfo;Ljava/util/List;)V
-Landroid/app/LoaderManager;->getFragmentHostCallback()Landroid/app/FragmentHostCallback;
-Landroid/app/LoaderManagerImpl$LoaderInfo;
-Landroid/app/LoaderManagerImpl$LoaderInfo;-><init>(ILandroid/os/Bundle;Landroid/app/LoaderManager$LoaderCallbacks;)V
-Landroid/app/LoaderManagerImpl$LoaderInfo;->callOnLoadFinished(Landroid/content/Loader;Ljava/lang/Object;)V
-Landroid/app/LoaderManagerImpl$LoaderInfo;->cancel()Z
-Landroid/app/LoaderManagerImpl$LoaderInfo;->destroy()V
-Landroid/app/LoaderManagerImpl$LoaderInfo;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/app/LoaderManagerImpl$LoaderInfo;->finishRetain()V
-Landroid/app/LoaderManagerImpl$LoaderInfo;->mArgs:Landroid/os/Bundle;
-Landroid/app/LoaderManagerImpl$LoaderInfo;->mCallbacks:Landroid/app/LoaderManager$LoaderCallbacks;
-Landroid/app/LoaderManagerImpl$LoaderInfo;->mData:Ljava/lang/Object;
-Landroid/app/LoaderManagerImpl$LoaderInfo;->mDeliveredData:Z
-Landroid/app/LoaderManagerImpl$LoaderInfo;->mDestroyed:Z
-Landroid/app/LoaderManagerImpl$LoaderInfo;->mHaveData:Z
-Landroid/app/LoaderManagerImpl$LoaderInfo;->mId:I
-Landroid/app/LoaderManagerImpl$LoaderInfo;->mListenerRegistered:Z
-Landroid/app/LoaderManagerImpl$LoaderInfo;->mLoader:Landroid/content/Loader;
-Landroid/app/LoaderManagerImpl$LoaderInfo;->mPendingLoader:Landroid/app/LoaderManagerImpl$LoaderInfo;
-Landroid/app/LoaderManagerImpl$LoaderInfo;->mReportNextStart:Z
-Landroid/app/LoaderManagerImpl$LoaderInfo;->mRetaining:Z
-Landroid/app/LoaderManagerImpl$LoaderInfo;->mRetainingStarted:Z
-Landroid/app/LoaderManagerImpl$LoaderInfo;->mStarted:Z
-Landroid/app/LoaderManagerImpl$LoaderInfo;->onLoadCanceled(Landroid/content/Loader;)V
-Landroid/app/LoaderManagerImpl$LoaderInfo;->onLoadComplete(Landroid/content/Loader;Ljava/lang/Object;)V
-Landroid/app/LoaderManagerImpl$LoaderInfo;->reportStart()V
-Landroid/app/LoaderManagerImpl$LoaderInfo;->retain()V
-Landroid/app/LoaderManagerImpl$LoaderInfo;->start()V
-Landroid/app/LoaderManagerImpl$LoaderInfo;->stop()V
-Landroid/app/LoaderManagerImpl;
-Landroid/app/LoaderManagerImpl;-><init>(Ljava/lang/String;Landroid/app/FragmentHostCallback;Z)V
-Landroid/app/LoaderManagerImpl;->createAndInstallLoader(ILandroid/os/Bundle;Landroid/app/LoaderManager$LoaderCallbacks;)Landroid/app/LoaderManagerImpl$LoaderInfo;
-Landroid/app/LoaderManagerImpl;->createLoader(ILandroid/os/Bundle;Landroid/app/LoaderManager$LoaderCallbacks;)Landroid/app/LoaderManagerImpl$LoaderInfo;
-Landroid/app/LoaderManagerImpl;->DEBUG:Z
-Landroid/app/LoaderManagerImpl;->doDestroy()V
-Landroid/app/LoaderManagerImpl;->doReportNextStart()V
-Landroid/app/LoaderManagerImpl;->doReportStart()V
-Landroid/app/LoaderManagerImpl;->doRetain()V
-Landroid/app/LoaderManagerImpl;->doStart()V
-Landroid/app/LoaderManagerImpl;->doStop()V
-Landroid/app/LoaderManagerImpl;->finishRetain()V
-Landroid/app/LoaderManagerImpl;->getFragmentHostCallback()Landroid/app/FragmentHostCallback;
-Landroid/app/LoaderManagerImpl;->hasRunningLoaders()Z
-Landroid/app/LoaderManagerImpl;->installLoader(Landroid/app/LoaderManagerImpl$LoaderInfo;)V
-Landroid/app/LoaderManagerImpl;->mCreatingLoader:Z
-Landroid/app/LoaderManagerImpl;->mHost:Landroid/app/FragmentHostCallback;
-Landroid/app/LoaderManagerImpl;->mInactiveLoaders:Landroid/util/SparseArray;
-Landroid/app/LoaderManagerImpl;->mLoaders:Landroid/util/SparseArray;
-Landroid/app/LoaderManagerImpl;->mRetaining:Z
-Landroid/app/LoaderManagerImpl;->mRetainingStarted:Z
-Landroid/app/LoaderManagerImpl;->mStarted:Z
-Landroid/app/LoaderManagerImpl;->mWho:Ljava/lang/String;
-Landroid/app/LoaderManagerImpl;->TAG:Ljava/lang/String;
-Landroid/app/LoaderManagerImpl;->updateHostController(Landroid/app/FragmentHostCallback;)V
-Landroid/app/LocalActivityManager$LocalActivityRecord;
-Landroid/app/LocalActivityManager$LocalActivityRecord;-><init>(Ljava/lang/String;Landroid/content/Intent;)V
-Landroid/app/LocalActivityManager$LocalActivityRecord;->activity:Landroid/app/Activity;
-Landroid/app/LocalActivityManager$LocalActivityRecord;->activityInfo:Landroid/content/pm/ActivityInfo;
-Landroid/app/LocalActivityManager$LocalActivityRecord;->curState:I
-Landroid/app/LocalActivityManager$LocalActivityRecord;->id:Ljava/lang/String;
-Landroid/app/LocalActivityManager$LocalActivityRecord;->instanceState:Landroid/os/Bundle;
-Landroid/app/LocalActivityManager$LocalActivityRecord;->intent:Landroid/content/Intent;
-Landroid/app/LocalActivityManager$LocalActivityRecord;->window:Landroid/view/Window;
-Landroid/app/LocalActivityManager;->CREATED:I
-Landroid/app/LocalActivityManager;->DESTROYED:I
-Landroid/app/LocalActivityManager;->dispatchRetainNonConfigurationInstance()Ljava/util/HashMap;
-Landroid/app/LocalActivityManager;->INITIALIZING:I
-Landroid/app/LocalActivityManager;->localLOGV:Z
-Landroid/app/LocalActivityManager;->mActivityThread:Landroid/app/ActivityThread;
-Landroid/app/LocalActivityManager;->mCurState:I
-Landroid/app/LocalActivityManager;->mFinishing:Z
-Landroid/app/LocalActivityManager;->performDestroy(Landroid/app/LocalActivityManager$LocalActivityRecord;Z)Landroid/view/Window;
-Landroid/app/LocalActivityManager;->performPause(Landroid/app/LocalActivityManager$LocalActivityRecord;Z)V
-Landroid/app/LocalActivityManager;->RESTORED:I
-Landroid/app/LocalActivityManager;->RESUMED:I
-Landroid/app/LocalActivityManager;->STARTED:I
-Landroid/app/LocalActivityManager;->TAG:Ljava/lang/String;
-Landroid/app/MediaRouteActionProvider$MediaRouterCallback;
-Landroid/app/MediaRouteActionProvider$MediaRouterCallback;-><init>(Landroid/app/MediaRouteActionProvider;)V
-Landroid/app/MediaRouteActionProvider$MediaRouterCallback;->mProviderWeak:Ljava/lang/ref/WeakReference;
-Landroid/app/MediaRouteActionProvider$MediaRouterCallback;->refreshRoute(Landroid/media/MediaRouter;)V
-Landroid/app/MediaRouteActionProvider;->mButton:Landroid/app/MediaRouteButton;
-Landroid/app/MediaRouteActionProvider;->mCallback:Landroid/app/MediaRouteActionProvider$MediaRouterCallback;
-Landroid/app/MediaRouteActionProvider;->mContext:Landroid/content/Context;
-Landroid/app/MediaRouteActionProvider;->mExtendedSettingsListener:Landroid/view/View$OnClickListener;
-Landroid/app/MediaRouteActionProvider;->mRouter:Landroid/media/MediaRouter;
-Landroid/app/MediaRouteActionProvider;->mRouteTypes:I
-Landroid/app/MediaRouteActionProvider;->refreshRoute()V
-Landroid/app/MediaRouteActionProvider;->TAG:Ljava/lang/String;
-Landroid/app/MediaRouteButton$MediaRouterCallback;
-Landroid/app/MediaRouteButton$MediaRouterCallback;-><init>()V
-Landroid/app/MediaRouteButton;->ACTIVATED_STATE_SET:[I
-Landroid/app/MediaRouteButton;->CHECKED_STATE_SET:[I
-Landroid/app/MediaRouteButton;->getActivity()Landroid/app/Activity;
-Landroid/app/MediaRouteButton;->mAttachedToWindow:Z
-Landroid/app/MediaRouteButton;->mCallback:Landroid/app/MediaRouteButton$MediaRouterCallback;
-Landroid/app/MediaRouteButton;->mExtendedSettingsClickListener:Landroid/view/View$OnClickListener;
-Landroid/app/MediaRouteButton;->mIsConnecting:Z
-Landroid/app/MediaRouteButton;->mMinHeight:I
-Landroid/app/MediaRouteButton;->mMinWidth:I
-Landroid/app/MediaRouteButton;->mRemoteActive:Z
-Landroid/app/MediaRouteButton;->mRemoteIndicator:Landroid/graphics/drawable/Drawable;
-Landroid/app/MediaRouteButton;->mRouter:Landroid/media/MediaRouter;
-Landroid/app/MediaRouteButton;->mRouteTypes:I
-Landroid/app/MediaRouteButton;->refreshRoute()V
-Landroid/app/MediaRouteButton;->setRemoteIndicatorDrawable(Landroid/graphics/drawable/Drawable;)V
-Landroid/app/MediaRouteButton;->showDialogInternal()Z
-Landroid/app/NativeActivity$NativeContentView;
-Landroid/app/NativeActivity$NativeContentView;-><init>(Landroid/content/Context;)V
-Landroid/app/NativeActivity$NativeContentView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/app/NativeActivity$NativeContentView;->mActivity:Landroid/app/NativeActivity;
-Landroid/app/NativeActivity;->getAbsolutePath(Ljava/io/File;)Ljava/lang/String;
-Landroid/app/NativeActivity;->getDlError()Ljava/lang/String;
-Landroid/app/NativeActivity;->KEY_NATIVE_SAVED_STATE:Ljava/lang/String;
-Landroid/app/NativeActivity;->mCurInputQueue:Landroid/view/InputQueue;
-Landroid/app/NativeActivity;->mCurSurfaceHolder:Landroid/view/SurfaceHolder;
-Landroid/app/NativeActivity;->mDestroyed:Z
-Landroid/app/NativeActivity;->mDispatchingUnhandledKey:Z
-Landroid/app/NativeActivity;->mIMM:Landroid/view/inputmethod/InputMethodManager;
-Landroid/app/NativeActivity;->mLastContentHeight:I
-Landroid/app/NativeActivity;->mLastContentWidth:I
-Landroid/app/NativeActivity;->mLastContentX:I
-Landroid/app/NativeActivity;->mLastContentY:I
-Landroid/app/NativeActivity;->mLocation:[I
-Landroid/app/NativeActivity;->mNativeContentView:Landroid/app/NativeActivity$NativeContentView;
-Landroid/app/NativeActivity;->onConfigurationChangedNative(J)V
-Landroid/app/NativeActivity;->onContentRectChangedNative(JIIII)V
-Landroid/app/NativeActivity;->onInputQueueCreatedNative(JJ)V
-Landroid/app/NativeActivity;->onInputQueueDestroyedNative(JJ)V
-Landroid/app/NativeActivity;->onLowMemoryNative(J)V
-Landroid/app/NativeActivity;->onPauseNative(J)V
-Landroid/app/NativeActivity;->onResumeNative(J)V
-Landroid/app/NativeActivity;->onSaveInstanceStateNative(J)[B
-Landroid/app/NativeActivity;->onStartNative(J)V
-Landroid/app/NativeActivity;->onStopNative(J)V
-Landroid/app/NativeActivity;->onSurfaceChangedNative(JLandroid/view/Surface;III)V
-Landroid/app/NativeActivity;->onSurfaceCreatedNative(JLandroid/view/Surface;)V
-Landroid/app/NativeActivity;->onSurfaceDestroyedNative(J)V
-Landroid/app/NativeActivity;->onSurfaceRedrawNeededNative(JLandroid/view/Surface;)V
-Landroid/app/NativeActivity;->onWindowFocusChangedNative(JZ)V
-Landroid/app/NativeActivity;->unloadNativeCode(J)V
-Landroid/app/Notification$Action$Builder;-><init>(Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;Landroid/app/PendingIntent;Landroid/os/Bundle;[Landroid/app/RemoteInput;ZI)V
-Landroid/app/Notification$Action$Builder;->mAllowGeneratedReplies:Z
-Landroid/app/Notification$Action$Builder;->mExtras:Landroid/os/Bundle;
-Landroid/app/Notification$Action$Builder;->mIcon:Landroid/graphics/drawable/Icon;
-Landroid/app/Notification$Action$Builder;->mIntent:Landroid/app/PendingIntent;
-Landroid/app/Notification$Action$Builder;->mRemoteInputs:Ljava/util/ArrayList;
-Landroid/app/Notification$Action$Builder;->mSemanticAction:I
-Landroid/app/Notification$Action$Builder;->mTitle:Ljava/lang/CharSequence;
-Landroid/app/Notification$Action$SemanticAction;
-Landroid/app/Notification$Action$WearableExtender;->DEFAULT_FLAGS:I
-Landroid/app/Notification$Action$WearableExtender;->EXTRA_WEARABLE_EXTENSIONS:Ljava/lang/String;
-Landroid/app/Notification$Action$WearableExtender;->FLAG_AVAILABLE_OFFLINE:I
-Landroid/app/Notification$Action$WearableExtender;->FLAG_HINT_DISPLAY_INLINE:I
-Landroid/app/Notification$Action$WearableExtender;->FLAG_HINT_LAUNCHES_ACTIVITY:I
-Landroid/app/Notification$Action$WearableExtender;->KEY_CANCEL_LABEL:Ljava/lang/String;
-Landroid/app/Notification$Action$WearableExtender;->KEY_CONFIRM_LABEL:Ljava/lang/String;
-Landroid/app/Notification$Action$WearableExtender;->KEY_FLAGS:Ljava/lang/String;
-Landroid/app/Notification$Action$WearableExtender;->KEY_IN_PROGRESS_LABEL:Ljava/lang/String;
-Landroid/app/Notification$Action$WearableExtender;->mCancelLabel:Ljava/lang/CharSequence;
-Landroid/app/Notification$Action$WearableExtender;->mConfirmLabel:Ljava/lang/CharSequence;
-Landroid/app/Notification$Action$WearableExtender;->mFlags:I
-Landroid/app/Notification$Action$WearableExtender;->mInProgressLabel:Ljava/lang/CharSequence;
-Landroid/app/Notification$Action$WearableExtender;->setFlag(IZ)V
-Landroid/app/Notification$Action;-><init>(Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;Landroid/app/PendingIntent;Landroid/os/Bundle;[Landroid/app/RemoteInput;ZI)V
-Landroid/app/Notification$Action;-><init>(Landroid/os/Parcel;)V
-Landroid/app/Notification$Action;->EXTRA_DATA_ONLY_INPUTS:Ljava/lang/String;
-Landroid/app/Notification$Action;->mAllowGeneratedReplies:Z
-Landroid/app/Notification$Action;->mExtras:Landroid/os/Bundle;
-Landroid/app/Notification$Action;->mRemoteInputs:[Landroid/app/RemoteInput;
-Landroid/app/Notification$Action;->mSemanticAction:I
-Landroid/app/Notification$BigPictureStyle;->addExtras(Landroid/os/Bundle;)V
-Landroid/app/Notification$BigPictureStyle;->areBitmapsObviouslyDifferent(Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;)Z
-Landroid/app/Notification$BigPictureStyle;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
-Landroid/app/Notification$BigPictureStyle;->getBigPicture()Landroid/graphics/Bitmap;
-Landroid/app/Notification$BigPictureStyle;->hasSummaryInHeader()Z
-Landroid/app/Notification$BigPictureStyle;->makeBigContentView()Landroid/widget/RemoteViews;
-Landroid/app/Notification$BigPictureStyle;->mBigLargeIcon:Landroid/graphics/drawable/Icon;
-Landroid/app/Notification$BigPictureStyle;->mBigLargeIconSet:Z
-Landroid/app/Notification$BigPictureStyle;->MIN_ASHMEM_BITMAP_SIZE:I
-Landroid/app/Notification$BigPictureStyle;->mPicture:Landroid/graphics/Bitmap;
-Landroid/app/Notification$BigPictureStyle;->purgeResources()V
-Landroid/app/Notification$BigPictureStyle;->reduceImageSizes(Landroid/content/Context;)V
-Landroid/app/Notification$BigPictureStyle;->restoreFromExtras(Landroid/os/Bundle;)V
-Landroid/app/Notification$BigTextStyle;->addExtras(Landroid/os/Bundle;)V
-Landroid/app/Notification$BigTextStyle;->applyBigTextContentView(Landroid/app/Notification$Builder;Landroid/widget/RemoteViews;Ljava/lang/CharSequence;)V
-Landroid/app/Notification$BigTextStyle;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
-Landroid/app/Notification$BigTextStyle;->getBigText()Ljava/lang/CharSequence;
-Landroid/app/Notification$BigTextStyle;->makeBigContentView()Landroid/widget/RemoteViews;
-Landroid/app/Notification$BigTextStyle;->makeContentView(Z)Landroid/widget/RemoteViews;
-Landroid/app/Notification$BigTextStyle;->makeHeadsUpContentView(Z)Landroid/widget/RemoteViews;
-Landroid/app/Notification$BigTextStyle;->mBigText:Ljava/lang/CharSequence;
-Landroid/app/Notification$BigTextStyle;->restoreFromExtras(Landroid/os/Bundle;)V
-Landroid/app/Notification$Builder;-><init>(Landroid/content/Context;Landroid/app/Notification;)V
-Landroid/app/Notification$Builder;->applyStandardTemplate(ILandroid/app/Notification$StandardTemplateParams;Landroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
-Landroid/app/Notification$Builder;->applyStandardTemplate(ILandroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
-Landroid/app/Notification$Builder;->applyStandardTemplate(IZLandroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
-Landroid/app/Notification$Builder;->applyStandardTemplateWithActions(ILandroid/app/Notification$StandardTemplateParams;Landroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
-Landroid/app/Notification$Builder;->applyStandardTemplateWithActions(ILandroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
-Landroid/app/Notification$Builder;->bindActivePermissions(Landroid/widget/RemoteViews;Z)V
-Landroid/app/Notification$Builder;->bindExpandButton(Landroid/widget/RemoteViews;)V
-Landroid/app/Notification$Builder;->bindHeaderAppName(Landroid/widget/RemoteViews;Z)V
-Landroid/app/Notification$Builder;->bindHeaderChronometerAndTime(Landroid/widget/RemoteViews;)V
-Landroid/app/Notification$Builder;->bindHeaderText(Landroid/widget/RemoteViews;)V
-Landroid/app/Notification$Builder;->bindHeaderTextSecondary(Landroid/widget/RemoteViews;Ljava/lang/CharSequence;)V
-Landroid/app/Notification$Builder;->bindLargeIcon(Landroid/widget/RemoteViews;Z)Z
-Landroid/app/Notification$Builder;->bindLargeIconAndReply(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;Landroid/app/Notification$TemplateBindResult;)V
-Landroid/app/Notification$Builder;->bindNotificationHeader(Landroid/widget/RemoteViews;ZLjava/lang/CharSequence;)V
-Landroid/app/Notification$Builder;->bindProfileBadge(Landroid/widget/RemoteViews;)V
-Landroid/app/Notification$Builder;->bindReplyIcon(Landroid/widget/RemoteViews;Z)Z
-Landroid/app/Notification$Builder;->bindSmallIcon(Landroid/widget/RemoteViews;Z)V
-Landroid/app/Notification$Builder;->buildInto(Landroid/app/Notification;)Landroid/app/Notification;
-Landroid/app/Notification$Builder;->buildUnstyled()Landroid/app/Notification;
-Landroid/app/Notification$Builder;->calculateMarginEnd(ZZ)I
-Landroid/app/Notification$Builder;->createContentView(Z)Landroid/widget/RemoteViews;
-Landroid/app/Notification$Builder;->createHeadsUpContentView(Z)Landroid/widget/RemoteViews;
-Landroid/app/Notification$Builder;->createSummaryText()Ljava/lang/CharSequence;
-Landroid/app/Notification$Builder;->ensureColors()V
-Landroid/app/Notification$Builder;->ensureColorSpanContrast(Ljava/lang/CharSequence;I[Landroid/content/res/ColorStateList;)Ljava/lang/CharSequence;
-Landroid/app/Notification$Builder;->EXTRA_REBUILD_BIG_CONTENT_VIEW_ACTION_COUNT:Ljava/lang/String;
-Landroid/app/Notification$Builder;->EXTRA_REBUILD_CONTENT_VIEW_ACTION_COUNT:Ljava/lang/String;
-Landroid/app/Notification$Builder;->EXTRA_REBUILD_HEADS_UP_CONTENT_VIEW_ACTION_COUNT:Ljava/lang/String;
-Landroid/app/Notification$Builder;->findReplyAction()Landroid/app/Notification$Action;
-Landroid/app/Notification$Builder;->generateActionButton(Landroid/app/Notification$Action;ZZ)Landroid/widget/RemoteViews;
-Landroid/app/Notification$Builder;->getActionLayoutResource()I
-Landroid/app/Notification$Builder;->getActionTombstoneLayoutResource()I
-Landroid/app/Notification$Builder;->getAllExtras()Landroid/os/Bundle;
-Landroid/app/Notification$Builder;->getBackgroundColor()I
-Landroid/app/Notification$Builder;->getBigBaseLayoutResource()I
-Landroid/app/Notification$Builder;->getBigPictureLayoutResource()I
-Landroid/app/Notification$Builder;->getBigTextLayoutResource()I
-Landroid/app/Notification$Builder;->getColorUtil()Lcom/android/internal/util/NotificationColorUtil;
-Landroid/app/Notification$Builder;->getEmphasizedActionLayoutResource()I
-Landroid/app/Notification$Builder;->getHeadsUpStatusBarText(Z)Ljava/lang/CharSequence;
-Landroid/app/Notification$Builder;->getInboxLayoutResource()I
-Landroid/app/Notification$Builder;->getMessagingLayoutResource()I
-Landroid/app/Notification$Builder;->getNeutralColor()I
-Landroid/app/Notification$Builder;->getPrimaryTextColor()I
-Landroid/app/Notification$Builder;->getProfileBadge()Landroid/graphics/Bitmap;
-Landroid/app/Notification$Builder;->getProfileBadgeDrawable()Landroid/graphics/drawable/Drawable;
-Landroid/app/Notification$Builder;->getSecondaryTextColor()I
-Landroid/app/Notification$Builder;->handleProgressBar(ZLandroid/widget/RemoteViews;Landroid/os/Bundle;)Z
-Landroid/app/Notification$Builder;->hasForegroundColor()Z
-Landroid/app/Notification$Builder;->hasValidRemoteInput(Landroid/app/Notification$Action;)Z
-Landroid/app/Notification$Builder;->hideLine1Text(Landroid/widget/RemoteViews;)V
-Landroid/app/Notification$Builder;->isColorized()Z
-Landroid/app/Notification$Builder;->isLegacy()Z
-Landroid/app/Notification$Builder;->LIGHTNESS_TEXT_DIFFERENCE_DARK:I
-Landroid/app/Notification$Builder;->LIGHTNESS_TEXT_DIFFERENCE_LIGHT:I
-Landroid/app/Notification$Builder;->makeAmbientNotification()Landroid/widget/RemoteViews;
-Landroid/app/Notification$Builder;->makeHeaderExpanded(Landroid/widget/RemoteViews;)V
-Landroid/app/Notification$Builder;->makeLowPriorityContentView(Z)Landroid/widget/RemoteViews;
-Landroid/app/Notification$Builder;->makeNotificationHeader(Z)Landroid/widget/RemoteViews;
-Landroid/app/Notification$Builder;->makePublicAmbientNotification()Landroid/widget/RemoteViews;
-Landroid/app/Notification$Builder;->makePublicView(Z)Landroid/widget/RemoteViews;
-Landroid/app/Notification$Builder;->MAX_ACTION_BUTTONS:I
-Landroid/app/Notification$Builder;->maybeCloneStrippedForDelivery(Landroid/app/Notification;ZLandroid/content/Context;)Landroid/app/Notification;
-Landroid/app/Notification$Builder;->mBackgroundColor:I
-Landroid/app/Notification$Builder;->mCachedAmbientColor:I
-Landroid/app/Notification$Builder;->mCachedAmbientColorIsFor:I
-Landroid/app/Notification$Builder;->mCachedContrastColor:I
-Landroid/app/Notification$Builder;->mCachedContrastColorIsFor:I
-Landroid/app/Notification$Builder;->mColorUtil:Lcom/android/internal/util/NotificationColorUtil;
-Landroid/app/Notification$Builder;->mContext:Landroid/content/Context;
-Landroid/app/Notification$Builder;->mForegroundColor:I
-Landroid/app/Notification$Builder;->mInNightMode:Z
-Landroid/app/Notification$Builder;->mIsLegacy:Z
-Landroid/app/Notification$Builder;->mIsLegacyInitialized:Z
-Landroid/app/Notification$Builder;->mN:Landroid/app/Notification;
-Landroid/app/Notification$Builder;->mNeutralColor:I
-Landroid/app/Notification$Builder;->mOriginalActions:Ljava/util/ArrayList;
-Landroid/app/Notification$Builder;->mParams:Landroid/app/Notification$StandardTemplateParams;
-Landroid/app/Notification$Builder;->mPersonList:Ljava/util/ArrayList;
-Landroid/app/Notification$Builder;->mPrimaryTextColor:I
-Landroid/app/Notification$Builder;->mRebuildStyledRemoteViews:Z
-Landroid/app/Notification$Builder;->mSecondaryTextColor:I
-Landroid/app/Notification$Builder;->mStyle:Landroid/app/Notification$Style;
-Landroid/app/Notification$Builder;->mTextColorsAreForBackground:I
-Landroid/app/Notification$Builder;->mTintActionButtons:Z
-Landroid/app/Notification$Builder;->mUserExtras:Landroid/os/Bundle;
-Landroid/app/Notification$Builder;->processLargeLegacyIcon(Landroid/graphics/drawable/Icon;Landroid/widget/RemoteViews;)V
-Landroid/app/Notification$Builder;->processLegacyText(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-Landroid/app/Notification$Builder;->processLegacyText(Ljava/lang/CharSequence;Z)Ljava/lang/CharSequence;
-Landroid/app/Notification$Builder;->processSmallIconColor(Landroid/graphics/drawable/Icon;Landroid/widget/RemoteViews;Z)V
-Landroid/app/Notification$Builder;->processTextSpans(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-Landroid/app/Notification$Builder;->resetNotificationHeader(Landroid/widget/RemoteViews;)V
-Landroid/app/Notification$Builder;->resetStandardTemplate(Landroid/widget/RemoteViews;)V
-Landroid/app/Notification$Builder;->resetStandardTemplateWithActions(Landroid/widget/RemoteViews;)V
-Landroid/app/Notification$Builder;->resolveAmbientColor()I
-Landroid/app/Notification$Builder;->resolveBackgroundColor()I
-Landroid/app/Notification$Builder;->resolveContrastColor()I
-Landroid/app/Notification$Builder;->resolveNeutralColor()I
-Landroid/app/Notification$Builder;->sanitizeColor()V
-Landroid/app/Notification$Builder;->setColorPalette(II)V
-Landroid/app/Notification$Builder;->setContentMinHeight(Landroid/widget/RemoteViews;Z)V
-Landroid/app/Notification$Builder;->setFlag(IZ)Landroid/app/Notification$Builder;
-Landroid/app/Notification$Builder;->setHideSmartReplies(Z)Landroid/app/Notification$Builder;
-Landroid/app/Notification$Builder;->setRebuildStyledRemoteViews(Z)V
-Landroid/app/Notification$Builder;->setShowRemoteInputSpinner(Z)Landroid/app/Notification$Builder;
-Landroid/app/Notification$Builder;->setTextViewColorPrimary(Landroid/widget/RemoteViews;I)V
-Landroid/app/Notification$Builder;->setTextViewColorSecondary(Landroid/widget/RemoteViews;I)V
-Landroid/app/Notification$Builder;->shouldTintActionButtons()Z
-Landroid/app/Notification$Builder;->showsTimeOrChronometer()Z
-Landroid/app/Notification$Builder;->textColorsNeedInversion()Z
-Landroid/app/Notification$Builder;->updateBackgroundColor(Landroid/widget/RemoteViews;)V
-Landroid/app/Notification$Builder;->useExistingRemoteView()Z
-Landroid/app/Notification$Builder;->usesStandardHeader()Z
-Landroid/app/Notification$Builder;->USE_ONLY_TITLE_IN_LOW_PRIORITY_SUMMARY:Z
-Landroid/app/Notification$BuilderRemoteViews;
-Landroid/app/Notification$BuilderRemoteViews;-><init>(Landroid/content/pm/ApplicationInfo;I)V
-Landroid/app/Notification$BuilderRemoteViews;-><init>(Landroid/os/Parcel;)V
-Landroid/app/Notification$CarExtender$Builder;->mLatestTimestamp:J
-Landroid/app/Notification$CarExtender$Builder;->mMessages:Ljava/util/List;
-Landroid/app/Notification$CarExtender$Builder;->mParticipant:Ljava/lang/String;
-Landroid/app/Notification$CarExtender$Builder;->mReadPendingIntent:Landroid/app/PendingIntent;
-Landroid/app/Notification$CarExtender$Builder;->mRemoteInput:Landroid/app/RemoteInput;
-Landroid/app/Notification$CarExtender$Builder;->mReplyPendingIntent:Landroid/app/PendingIntent;
-Landroid/app/Notification$CarExtender$UnreadConversation;-><init>([Ljava/lang/String;Landroid/app/RemoteInput;Landroid/app/PendingIntent;Landroid/app/PendingIntent;[Ljava/lang/String;J)V
-Landroid/app/Notification$CarExtender$UnreadConversation;->getBundleForUnreadConversation()Landroid/os/Bundle;
-Landroid/app/Notification$CarExtender$UnreadConversation;->getUnreadConversationFromBundle(Landroid/os/Bundle;)Landroid/app/Notification$CarExtender$UnreadConversation;
-Landroid/app/Notification$CarExtender$UnreadConversation;->KEY_AUTHOR:Ljava/lang/String;
-Landroid/app/Notification$CarExtender$UnreadConversation;->KEY_MESSAGES:Ljava/lang/String;
-Landroid/app/Notification$CarExtender$UnreadConversation;->KEY_ON_READ:Ljava/lang/String;
-Landroid/app/Notification$CarExtender$UnreadConversation;->KEY_ON_REPLY:Ljava/lang/String;
-Landroid/app/Notification$CarExtender$UnreadConversation;->KEY_PARTICIPANTS:Ljava/lang/String;
-Landroid/app/Notification$CarExtender$UnreadConversation;->KEY_REMOTE_INPUT:Ljava/lang/String;
-Landroid/app/Notification$CarExtender$UnreadConversation;->KEY_TEXT:Ljava/lang/String;
-Landroid/app/Notification$CarExtender$UnreadConversation;->KEY_TIMESTAMP:Ljava/lang/String;
-Landroid/app/Notification$CarExtender$UnreadConversation;->mLatestTimestamp:J
-Landroid/app/Notification$CarExtender$UnreadConversation;->mMessages:[Ljava/lang/String;
-Landroid/app/Notification$CarExtender$UnreadConversation;->mParticipants:[Ljava/lang/String;
-Landroid/app/Notification$CarExtender$UnreadConversation;->mReadPendingIntent:Landroid/app/PendingIntent;
-Landroid/app/Notification$CarExtender$UnreadConversation;->mRemoteInput:Landroid/app/RemoteInput;
-Landroid/app/Notification$CarExtender$UnreadConversation;->mReplyPendingIntent:Landroid/app/PendingIntent;
-Landroid/app/Notification$CarExtender;->EXTRA_CAR_EXTENDER:Ljava/lang/String;
-Landroid/app/Notification$CarExtender;->EXTRA_COLOR:Ljava/lang/String;
-Landroid/app/Notification$CarExtender;->EXTRA_CONVERSATION:Ljava/lang/String;
-Landroid/app/Notification$CarExtender;->EXTRA_LARGE_ICON:Ljava/lang/String;
-Landroid/app/Notification$CarExtender;->mColor:I
-Landroid/app/Notification$CarExtender;->mLargeIcon:Landroid/graphics/Bitmap;
-Landroid/app/Notification$CarExtender;->mUnreadConversation:Landroid/app/Notification$CarExtender$UnreadConversation;
-Landroid/app/Notification$CarExtender;->TAG:Ljava/lang/String;
-Landroid/app/Notification$DecoratedCustomViewStyle;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
-Landroid/app/Notification$DecoratedCustomViewStyle;->buildIntoRemoteViewContent(Landroid/widget/RemoteViews;Landroid/widget/RemoteViews;Landroid/app/Notification$TemplateBindResult;)V
-Landroid/app/Notification$DecoratedCustomViewStyle;->displayCustomViewInline()Z
-Landroid/app/Notification$DecoratedCustomViewStyle;->makeBigContentView()Landroid/widget/RemoteViews;
-Landroid/app/Notification$DecoratedCustomViewStyle;->makeContentView(Z)Landroid/widget/RemoteViews;
-Landroid/app/Notification$DecoratedCustomViewStyle;->makeDecoratedBigContentView()Landroid/widget/RemoteViews;
-Landroid/app/Notification$DecoratedCustomViewStyle;->makeDecoratedHeadsUpContentView()Landroid/widget/RemoteViews;
-Landroid/app/Notification$DecoratedCustomViewStyle;->makeHeadsUpContentView(Z)Landroid/widget/RemoteViews;
-Landroid/app/Notification$DecoratedCustomViewStyle;->makeStandardTemplateWithCustomContent(Landroid/widget/RemoteViews;)Landroid/widget/RemoteViews;
-Landroid/app/Notification$DecoratedMediaCustomViewStyle;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
-Landroid/app/Notification$DecoratedMediaCustomViewStyle;->buildIntoRemoteView(Landroid/widget/RemoteViews;ILandroid/widget/RemoteViews;)Landroid/widget/RemoteViews;
-Landroid/app/Notification$DecoratedMediaCustomViewStyle;->displayCustomViewInline()Z
-Landroid/app/Notification$DecoratedMediaCustomViewStyle;->makeBigContentView()Landroid/widget/RemoteViews;
-Landroid/app/Notification$DecoratedMediaCustomViewStyle;->makeBigContentViewWithCustomContent(Landroid/widget/RemoteViews;)Landroid/widget/RemoteViews;
-Landroid/app/Notification$DecoratedMediaCustomViewStyle;->makeContentView(Z)Landroid/widget/RemoteViews;
-Landroid/app/Notification$DecoratedMediaCustomViewStyle;->makeHeadsUpContentView(Z)Landroid/widget/RemoteViews;
-Landroid/app/Notification$GroupAlertBehavior;
-Landroid/app/Notification$InboxStyle;->addExtras(Landroid/os/Bundle;)V
-Landroid/app/Notification$InboxStyle;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
-Landroid/app/Notification$InboxStyle;->getLines()Ljava/util/ArrayList;
-Landroid/app/Notification$InboxStyle;->handleInboxImageMargin(Landroid/widget/RemoteViews;IZI)V
-Landroid/app/Notification$InboxStyle;->makeBigContentView()Landroid/widget/RemoteViews;
-Landroid/app/Notification$InboxStyle;->mTexts:Ljava/util/ArrayList;
-Landroid/app/Notification$InboxStyle;->NUMBER_OF_HISTORY_ALLOWED_UNTIL_REDUCTION:I
-Landroid/app/Notification$InboxStyle;->restoreFromExtras(Landroid/os/Bundle;)V
-Landroid/app/Notification$MediaStyle;->addExtras(Landroid/os/Bundle;)V
-Landroid/app/Notification$MediaStyle;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
-Landroid/app/Notification$MediaStyle;->generateMediaActionButton(Landroid/app/Notification$Action;I)Landroid/widget/RemoteViews;
-Landroid/app/Notification$MediaStyle;->getActionColor()I
-Landroid/app/Notification$MediaStyle;->handleImage(Landroid/widget/RemoteViews;)V
-Landroid/app/Notification$MediaStyle;->hasProgress()Z
-Landroid/app/Notification$MediaStyle;->mActionsToShowInCompact:[I
-Landroid/app/Notification$MediaStyle;->makeBigContentView()Landroid/widget/RemoteViews;
-Landroid/app/Notification$MediaStyle;->makeContentView(Z)Landroid/widget/RemoteViews;
-Landroid/app/Notification$MediaStyle;->makeHeadsUpContentView(Z)Landroid/widget/RemoteViews;
-Landroid/app/Notification$MediaStyle;->makeMediaBigContentView()Landroid/widget/RemoteViews;
-Landroid/app/Notification$MediaStyle;->makeMediaContentView()Landroid/widget/RemoteViews;
-Landroid/app/Notification$MediaStyle;->MAX_MEDIA_BUTTONS:I
-Landroid/app/Notification$MediaStyle;->MAX_MEDIA_BUTTONS_IN_COMPACT:I
-Landroid/app/Notification$MediaStyle;->mToken:Landroid/media/session/MediaSession$Token;
-Landroid/app/Notification$MediaStyle;->restoreFromExtras(Landroid/os/Bundle;)V
-Landroid/app/Notification$MessagingStyle$Message;-><init>(Ljava/lang/CharSequence;JLandroid/app/Person;Z)V
-Landroid/app/Notification$MessagingStyle$Message;->getBundleArrayForMessages(Ljava/util/List;)[Landroid/os/Bundle;
-Landroid/app/Notification$MessagingStyle$Message;->getMessageFromBundle(Landroid/os/Bundle;)Landroid/app/Notification$MessagingStyle$Message;
-Landroid/app/Notification$MessagingStyle$Message;->getMessagesFromBundleArray([Landroid/os/Parcelable;)Ljava/util/List;
-Landroid/app/Notification$MessagingStyle$Message;->isRemoteInputHistory()Z
-Landroid/app/Notification$MessagingStyle$Message;->KEY_DATA_MIME_TYPE:Ljava/lang/String;
-Landroid/app/Notification$MessagingStyle$Message;->KEY_DATA_URI:Ljava/lang/String;
-Landroid/app/Notification$MessagingStyle$Message;->KEY_EXTRAS_BUNDLE:Ljava/lang/String;
-Landroid/app/Notification$MessagingStyle$Message;->KEY_REMOTE_INPUT_HISTORY:Ljava/lang/String;
-Landroid/app/Notification$MessagingStyle$Message;->KEY_SENDER:Ljava/lang/String;
-Landroid/app/Notification$MessagingStyle$Message;->KEY_SENDER_PERSON:Ljava/lang/String;
-Landroid/app/Notification$MessagingStyle$Message;->KEY_TEXT:Ljava/lang/String;
-Landroid/app/Notification$MessagingStyle$Message;->KEY_TIMESTAMP:Ljava/lang/String;
-Landroid/app/Notification$MessagingStyle$Message;->mDataMimeType:Ljava/lang/String;
-Landroid/app/Notification$MessagingStyle$Message;->mDataUri:Landroid/net/Uri;
-Landroid/app/Notification$MessagingStyle$Message;->mExtras:Landroid/os/Bundle;
-Landroid/app/Notification$MessagingStyle$Message;->mRemoteInputHistory:Z
-Landroid/app/Notification$MessagingStyle$Message;->mSender:Landroid/app/Person;
-Landroid/app/Notification$MessagingStyle$Message;->mText:Ljava/lang/CharSequence;
-Landroid/app/Notification$MessagingStyle$Message;->mTimestamp:J
-Landroid/app/Notification$MessagingStyle$Message;->toBundle()Landroid/os/Bundle;
-Landroid/app/Notification$MessagingStyle;-><init>()V
-Landroid/app/Notification$MessagingStyle;->addExtras(Landroid/os/Bundle;)V
-Landroid/app/Notification$MessagingStyle;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
-Landroid/app/Notification$MessagingStyle;->createConversationTitleFromMessages()Ljava/lang/CharSequence;
-Landroid/app/Notification$MessagingStyle;->findLatestIncomingMessage()Landroid/app/Notification$MessagingStyle$Message;
-Landroid/app/Notification$MessagingStyle;->findLatestIncomingMessage(Ljava/util/List;)Landroid/app/Notification$MessagingStyle$Message;
-Landroid/app/Notification$MessagingStyle;->fixTitleAndTextExtras(Landroid/os/Bundle;)V
-Landroid/app/Notification$MessagingStyle;->getHeadsUpStatusBarText()Ljava/lang/CharSequence;
-Landroid/app/Notification$MessagingStyle;->hasOnlyWhiteSpaceSenders()Z
-Landroid/app/Notification$MessagingStyle;->isWhiteSpace(Ljava/lang/CharSequence;)Z
-Landroid/app/Notification$MessagingStyle;->makeBigContentView()Landroid/widget/RemoteViews;
-Landroid/app/Notification$MessagingStyle;->makeContentView(Z)Landroid/widget/RemoteViews;
-Landroid/app/Notification$MessagingStyle;->makeFontColorSpan(I)Landroid/text/style/TextAppearanceSpan;
-Landroid/app/Notification$MessagingStyle;->makeHeadsUpContentView(Z)Landroid/widget/RemoteViews;
-Landroid/app/Notification$MessagingStyle;->makeMessagingView(ZZ)Landroid/widget/RemoteViews;
-Landroid/app/Notification$MessagingStyle;->mConversationTitle:Ljava/lang/CharSequence;
-Landroid/app/Notification$MessagingStyle;->mHistoricMessages:Ljava/util/List;
-Landroid/app/Notification$MessagingStyle;->mIsGroupConversation:Z
-Landroid/app/Notification$MessagingStyle;->mMessages:Ljava/util/List;
-Landroid/app/Notification$MessagingStyle;->mUser:Landroid/app/Person;
-Landroid/app/Notification$MessagingStyle;->restoreFromExtras(Landroid/os/Bundle;)V
-Landroid/app/Notification$MessagingStyle;->validate(Landroid/content/Context;)V
-Landroid/app/Notification$Priority;
-Landroid/app/Notification$StandardTemplateParams;
-Landroid/app/Notification$StandardTemplateParams;-><init>()V
-Landroid/app/Notification$StandardTemplateParams;->ambient(Z)Landroid/app/Notification$StandardTemplateParams;
-Landroid/app/Notification$StandardTemplateParams;->ambient:Z
-Landroid/app/Notification$StandardTemplateParams;->fillTextsFrom(Landroid/app/Notification$Builder;)Landroid/app/Notification$StandardTemplateParams;
-Landroid/app/Notification$StandardTemplateParams;->hasProgress(Z)Landroid/app/Notification$StandardTemplateParams;
-Landroid/app/Notification$StandardTemplateParams;->hasProgress:Z
-Landroid/app/Notification$StandardTemplateParams;->headerTextSecondary(Ljava/lang/CharSequence;)Landroid/app/Notification$StandardTemplateParams;
-Landroid/app/Notification$StandardTemplateParams;->headerTextSecondary:Ljava/lang/CharSequence;
-Landroid/app/Notification$StandardTemplateParams;->hideLargeIcon(Z)Landroid/app/Notification$StandardTemplateParams;
-Landroid/app/Notification$StandardTemplateParams;->hideLargeIcon:Z
-Landroid/app/Notification$StandardTemplateParams;->hideReplyIcon(Z)Landroid/app/Notification$StandardTemplateParams;
-Landroid/app/Notification$StandardTemplateParams;->hideReplyIcon:Z
-Landroid/app/Notification$StandardTemplateParams;->maxRemoteInputHistory:I
-Landroid/app/Notification$StandardTemplateParams;->reset()Landroid/app/Notification$StandardTemplateParams;
-Landroid/app/Notification$StandardTemplateParams;->setMaxRemoteInputHistory(I)Landroid/app/Notification$StandardTemplateParams;
-Landroid/app/Notification$StandardTemplateParams;->text(Ljava/lang/CharSequence;)Landroid/app/Notification$StandardTemplateParams;
-Landroid/app/Notification$StandardTemplateParams;->text:Ljava/lang/CharSequence;
-Landroid/app/Notification$StandardTemplateParams;->title(Ljava/lang/CharSequence;)Landroid/app/Notification$StandardTemplateParams;
-Landroid/app/Notification$StandardTemplateParams;->title:Ljava/lang/CharSequence;
-Landroid/app/Notification$Style;->addExtras(Landroid/os/Bundle;)V
-Landroid/app/Notification$Style;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
-Landroid/app/Notification$Style;->buildStyled(Landroid/app/Notification;)Landroid/app/Notification;
-Landroid/app/Notification$Style;->displayCustomViewInline()Z
-Landroid/app/Notification$Style;->getHeadsUpStatusBarText()Ljava/lang/CharSequence;
-Landroid/app/Notification$Style;->getStandardView(ILandroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
-Landroid/app/Notification$Style;->hasProgress()Z
-Landroid/app/Notification$Style;->hasSummaryInHeader()Z
-Landroid/app/Notification$Style;->makeBigContentView()Landroid/widget/RemoteViews;
-Landroid/app/Notification$Style;->makeContentView(Z)Landroid/widget/RemoteViews;
-Landroid/app/Notification$Style;->makeHeadsUpContentView(Z)Landroid/widget/RemoteViews;
-Landroid/app/Notification$Style;->MAX_REMOTE_INPUT_HISTORY_LINES:I
-Landroid/app/Notification$Style;->mBigContentTitle:Ljava/lang/CharSequence;
-Landroid/app/Notification$Style;->mSummaryText:Ljava/lang/CharSequence;
-Landroid/app/Notification$Style;->mSummaryTextSet:Z
-Landroid/app/Notification$Style;->purgeResources()V
-Landroid/app/Notification$Style;->reduceImageSizes(Landroid/content/Context;)V
-Landroid/app/Notification$Style;->restoreFromExtras(Landroid/os/Bundle;)V
-Landroid/app/Notification$Style;->validate(Landroid/content/Context;)V
-Landroid/app/Notification$TemplateBindResult;
-Landroid/app/Notification$TemplateBindResult;-><init>()V
-Landroid/app/Notification$TemplateBindResult;->getIconMarginEnd()I
-Landroid/app/Notification$TemplateBindResult;->mIconMarginEnd:I
-Landroid/app/Notification$TemplateBindResult;->setIconMarginEnd(I)V
-Landroid/app/Notification$TvExtender;->EXTRA_CHANNEL_ID:Ljava/lang/String;
-Landroid/app/Notification$TvExtender;->EXTRA_CONTENT_INTENT:Ljava/lang/String;
-Landroid/app/Notification$TvExtender;->EXTRA_DELETE_INTENT:Ljava/lang/String;
-Landroid/app/Notification$TvExtender;->EXTRA_FLAGS:Ljava/lang/String;
-Landroid/app/Notification$TvExtender;->EXTRA_SUPPRESS_SHOW_OVER_APPS:Ljava/lang/String;
-Landroid/app/Notification$TvExtender;->EXTRA_TV_EXTENDER:Ljava/lang/String;
-Landroid/app/Notification$TvExtender;->FLAG_AVAILABLE_ON_TV:I
-Landroid/app/Notification$TvExtender;->mChannelId:Ljava/lang/String;
-Landroid/app/Notification$TvExtender;->mContentIntent:Landroid/app/PendingIntent;
-Landroid/app/Notification$TvExtender;->mDeleteIntent:Landroid/app/PendingIntent;
-Landroid/app/Notification$TvExtender;->mFlags:I
-Landroid/app/Notification$TvExtender;->mSuppressShowOverApps:Z
-Landroid/app/Notification$TvExtender;->TAG:Ljava/lang/String;
-Landroid/app/Notification$Visibility;
-Landroid/app/Notification$WearableExtender;->DEFAULT_CONTENT_ICON_GRAVITY:I
-Landroid/app/Notification$WearableExtender;->DEFAULT_FLAGS:I
-Landroid/app/Notification$WearableExtender;->DEFAULT_GRAVITY:I
-Landroid/app/Notification$WearableExtender;->EXTRA_WEARABLE_EXTENSIONS:Ljava/lang/String;
-Landroid/app/Notification$WearableExtender;->FLAG_BIG_PICTURE_AMBIENT:I
-Landroid/app/Notification$WearableExtender;->FLAG_CONTENT_INTENT_AVAILABLE_OFFLINE:I
-Landroid/app/Notification$WearableExtender;->FLAG_HINT_AVOID_BACKGROUND_CLIPPING:I
-Landroid/app/Notification$WearableExtender;->FLAG_HINT_CONTENT_INTENT_LAUNCHES_ACTIVITY:I
-Landroid/app/Notification$WearableExtender;->FLAG_HINT_HIDE_ICON:I
-Landroid/app/Notification$WearableExtender;->FLAG_HINT_SHOW_BACKGROUND_ONLY:I
-Landroid/app/Notification$WearableExtender;->FLAG_START_SCROLL_BOTTOM:I
-Landroid/app/Notification$WearableExtender;->KEY_ACTIONS:Ljava/lang/String;
-Landroid/app/Notification$WearableExtender;->KEY_BACKGROUND:Ljava/lang/String;
-Landroid/app/Notification$WearableExtender;->KEY_BRIDGE_TAG:Ljava/lang/String;
-Landroid/app/Notification$WearableExtender;->KEY_CONTENT_ACTION_INDEX:Ljava/lang/String;
-Landroid/app/Notification$WearableExtender;->KEY_CONTENT_ICON:Ljava/lang/String;
-Landroid/app/Notification$WearableExtender;->KEY_CONTENT_ICON_GRAVITY:Ljava/lang/String;
-Landroid/app/Notification$WearableExtender;->KEY_CUSTOM_CONTENT_HEIGHT:Ljava/lang/String;
-Landroid/app/Notification$WearableExtender;->KEY_CUSTOM_SIZE_PRESET:Ljava/lang/String;
-Landroid/app/Notification$WearableExtender;->KEY_DISMISSAL_ID:Ljava/lang/String;
-Landroid/app/Notification$WearableExtender;->KEY_DISPLAY_INTENT:Ljava/lang/String;
-Landroid/app/Notification$WearableExtender;->KEY_FLAGS:Ljava/lang/String;
-Landroid/app/Notification$WearableExtender;->KEY_GRAVITY:Ljava/lang/String;
-Landroid/app/Notification$WearableExtender;->KEY_HINT_SCREEN_TIMEOUT:Ljava/lang/String;
-Landroid/app/Notification$WearableExtender;->KEY_PAGES:Ljava/lang/String;
-Landroid/app/Notification$WearableExtender;->mActions:Ljava/util/ArrayList;
-Landroid/app/Notification$WearableExtender;->mBackground:Landroid/graphics/Bitmap;
-Landroid/app/Notification$WearableExtender;->mBridgeTag:Ljava/lang/String;
-Landroid/app/Notification$WearableExtender;->mContentActionIndex:I
-Landroid/app/Notification$WearableExtender;->mContentIcon:I
-Landroid/app/Notification$WearableExtender;->mContentIconGravity:I
-Landroid/app/Notification$WearableExtender;->mCustomContentHeight:I
-Landroid/app/Notification$WearableExtender;->mCustomSizePreset:I
-Landroid/app/Notification$WearableExtender;->mDismissalId:Ljava/lang/String;
-Landroid/app/Notification$WearableExtender;->mDisplayIntent:Landroid/app/PendingIntent;
-Landroid/app/Notification$WearableExtender;->mFlags:I
-Landroid/app/Notification$WearableExtender;->mGravity:I
-Landroid/app/Notification$WearableExtender;->mHintScreenTimeout:I
-Landroid/app/Notification$WearableExtender;->mPages:Ljava/util/ArrayList;
-Landroid/app/Notification$WearableExtender;->setFlag(IZ)V
-Landroid/app/Notification;->addFieldsFromContext(Landroid/content/Context;Landroid/app/Notification;)V
-Landroid/app/Notification;->addFieldsFromContext(Landroid/content/pm/ApplicationInfo;Landroid/app/Notification;)V
-Landroid/app/Notification;->areActionsVisiblyDifferent(Landroid/app/Notification;Landroid/app/Notification;)Z
-Landroid/app/Notification;->areRemoteViewsChanged(Landroid/app/Notification$Builder;Landroid/app/Notification$Builder;)Z
-Landroid/app/Notification;->areRemoteViewsChanged(Landroid/widget/RemoteViews;Landroid/widget/RemoteViews;)Z
-Landroid/app/Notification;->areStyledNotificationsVisiblyDifferent(Landroid/app/Notification$Builder;Landroid/app/Notification$Builder;)Z
-Landroid/app/Notification;->cloneInto(Landroid/app/Notification;Z)V
-Landroid/app/Notification;->COLOR_INVALID:I
-Landroid/app/Notification;->creationTime:J
-Landroid/app/Notification;->EXTRA_BUILDER_APPLICATION_INFO:Ljava/lang/String;
-Landroid/app/Notification;->EXTRA_CONTAINS_CUSTOM_VIEW:Ljava/lang/String;
-Landroid/app/Notification;->EXTRA_FOREGROUND_APPS:Ljava/lang/String;
-Landroid/app/Notification;->EXTRA_HIDE_SMART_REPLIES:Ljava/lang/String;
-Landroid/app/Notification;->EXTRA_REDUCED_IMAGES:Ljava/lang/String;
-Landroid/app/Notification;->EXTRA_SHOW_REMOTE_INPUT_SPINNER:Ljava/lang/String;
-Landroid/app/Notification;->fixDuplicateExtra(Landroid/os/Parcelable;Ljava/lang/String;)V
-Landroid/app/Notification;->fixDuplicateExtras()V
-Landroid/app/Notification;->FLAG_CAN_COLORIZE:I
-Landroid/app/Notification;->getNotificationArrayFromBundle(Landroid/os/Bundle;Ljava/lang/String;)[Landroid/app/Notification;
-Landroid/app/Notification;->getNotificationStyle()Ljava/lang/Class;
-Landroid/app/Notification;->hasColorizedPermission()Z
-Landroid/app/Notification;->hasCompletedProgress()Z
-Landroid/app/Notification;->hasLargeIcon()Z
-Landroid/app/Notification;->hasMediaSession()Z
-Landroid/app/Notification;->isColorized()Z
-Landroid/app/Notification;->isColorizedMedia()Z
-Landroid/app/Notification;->isForegroundService()Z
-Landroid/app/Notification;->isMediaNotification()Z
-Landroid/app/Notification;->lightenPayload()V
-Landroid/app/Notification;->MAX_CHARSEQUENCE_LENGTH:I
-Landroid/app/Notification;->MAX_REPLY_HISTORY:I
-Landroid/app/Notification;->mBadgeIcon:I
-Landroid/app/Notification;->mGroupAlertBehavior:I
-Landroid/app/Notification;->mSettingsText:Ljava/lang/CharSequence;
-Landroid/app/Notification;->mShortcutId:Ljava/lang/String;
-Landroid/app/Notification;->mSortKey:Ljava/lang/String;
-Landroid/app/Notification;->mTimeout:J
-Landroid/app/Notification;->mUsesStandardHeader:Z
-Landroid/app/Notification;->mWhitelistToken:Landroid/os/IBinder;
-Landroid/app/Notification;->priorityToString(I)Ljava/lang/String;
-Landroid/app/Notification;->processWhitelistToken:Landroid/os/IBinder;
-Landroid/app/Notification;->readFromParcelImpl(Landroid/os/Parcel;)V
-Landroid/app/Notification;->reduceImageSizes(Landroid/content/Context;)V
-Landroid/app/Notification;->reduceImageSizesForRemoteView(Landroid/widget/RemoteViews;Landroid/content/Context;Z)V
-Landroid/app/Notification;->removeTextSizeSpans(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-Landroid/app/Notification;->safeCharSequence(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-Landroid/app/Notification;->showsChronometer()Z
-Landroid/app/Notification;->showsTime()Z
-Landroid/app/Notification;->STANDARD_LAYOUTS:Landroid/util/ArraySet;
-Landroid/app/Notification;->suppressAlertingDueToGrouping()Z
-Landroid/app/Notification;->TAG:Ljava/lang/String;
-Landroid/app/Notification;->visibilityToString(I)Ljava/lang/String;
-Landroid/app/Notification;->visitUris(Ljava/util/function/Consumer;)V
-Landroid/app/Notification;->writeToParcelImpl(Landroid/os/Parcel;I)V
-Landroid/app/Notification;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/app/NotificationChannel;-><init>(Landroid/os/Parcel;)V
-Landroid/app/NotificationChannel;->ATT_BLOCKABLE_SYSTEM:Ljava/lang/String;
-Landroid/app/NotificationChannel;->ATT_CONTENT_TYPE:Ljava/lang/String;
-Landroid/app/NotificationChannel;->ATT_DELETED:Ljava/lang/String;
-Landroid/app/NotificationChannel;->ATT_DESC:Ljava/lang/String;
-Landroid/app/NotificationChannel;->ATT_FG_SERVICE_SHOWN:Ljava/lang/String;
-Landroid/app/NotificationChannel;->ATT_FLAGS:Ljava/lang/String;
-Landroid/app/NotificationChannel;->ATT_GROUP:Ljava/lang/String;
-Landroid/app/NotificationChannel;->ATT_ID:Ljava/lang/String;
-Landroid/app/NotificationChannel;->ATT_IMPORTANCE:Ljava/lang/String;
-Landroid/app/NotificationChannel;->ATT_LIGHTS:Ljava/lang/String;
-Landroid/app/NotificationChannel;->ATT_LIGHT_COLOR:Ljava/lang/String;
-Landroid/app/NotificationChannel;->ATT_NAME:Ljava/lang/String;
-Landroid/app/NotificationChannel;->ATT_PRIORITY:Ljava/lang/String;
-Landroid/app/NotificationChannel;->ATT_SHOW_BADGE:Ljava/lang/String;
-Landroid/app/NotificationChannel;->ATT_SOUND:Ljava/lang/String;
-Landroid/app/NotificationChannel;->ATT_USAGE:Ljava/lang/String;
-Landroid/app/NotificationChannel;->ATT_USER_LOCKED:Ljava/lang/String;
-Landroid/app/NotificationChannel;->ATT_VIBRATION:Ljava/lang/String;
-Landroid/app/NotificationChannel;->ATT_VIBRATION_ENABLED:Ljava/lang/String;
-Landroid/app/NotificationChannel;->ATT_VISIBILITY:Ljava/lang/String;
-Landroid/app/NotificationChannel;->DEFAULT_DELETED:Z
-Landroid/app/NotificationChannel;->DEFAULT_IMPORTANCE:I
-Landroid/app/NotificationChannel;->DEFAULT_LIGHT_COLOR:I
-Landroid/app/NotificationChannel;->DEFAULT_SHOW_BADGE:Z
-Landroid/app/NotificationChannel;->DEFAULT_VISIBILITY:I
-Landroid/app/NotificationChannel;->DELIMITER:Ljava/lang/String;
-Landroid/app/NotificationChannel;->getSoundForBackup(Landroid/content/Context;)Landroid/net/Uri;
-Landroid/app/NotificationChannel;->getTrimmedString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/app/NotificationChannel;->isBlockableSystem()Z
-Landroid/app/NotificationChannel;->isFgServiceShown()Z
-Landroid/app/NotificationChannel;->LOCKABLE_FIELDS:[I
-Landroid/app/NotificationChannel;->lockFields(I)V
-Landroid/app/NotificationChannel;->longArrayToString([J)Ljava/lang/String;
-Landroid/app/NotificationChannel;->mAudioAttributes:Landroid/media/AudioAttributes;
-Landroid/app/NotificationChannel;->MAX_TEXT_LENGTH:I
-Landroid/app/NotificationChannel;->mBlockableSystem:Z
-Landroid/app/NotificationChannel;->mBypassDnd:Z
-Landroid/app/NotificationChannel;->mDeleted:Z
-Landroid/app/NotificationChannel;->mDesc:Ljava/lang/String;
-Landroid/app/NotificationChannel;->mFgServiceShown:Z
-Landroid/app/NotificationChannel;->mGroup:Ljava/lang/String;
-Landroid/app/NotificationChannel;->mImportance:I
-Landroid/app/NotificationChannel;->mLightColor:I
-Landroid/app/NotificationChannel;->mLights:Z
-Landroid/app/NotificationChannel;->mLockscreenVisibility:I
-Landroid/app/NotificationChannel;->mName:Ljava/lang/String;
-Landroid/app/NotificationChannel;->mShowBadge:Z
-Landroid/app/NotificationChannel;->mSound:Landroid/net/Uri;
-Landroid/app/NotificationChannel;->mUserLockedFields:I
-Landroid/app/NotificationChannel;->mVibration:[J
-Landroid/app/NotificationChannel;->mVibrationEnabled:Z
-Landroid/app/NotificationChannel;->populateFromXml(Lorg/xmlpull/v1/XmlPullParser;ZLandroid/content/Context;)V
-Landroid/app/NotificationChannel;->populateFromXmlForRestore(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/Context;)V
-Landroid/app/NotificationChannel;->restoreSoundUri(Landroid/content/Context;Landroid/net/Uri;)Landroid/net/Uri;
-Landroid/app/NotificationChannel;->safeAudioAttributes(Lorg/xmlpull/v1/XmlPullParser;)Landroid/media/AudioAttributes;
-Landroid/app/NotificationChannel;->safeBool(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Z)Z
-Landroid/app/NotificationChannel;->safeInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
-Landroid/app/NotificationChannel;->safeLongArray(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[J)[J
-Landroid/app/NotificationChannel;->safeUri(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/net/Uri;
-Landroid/app/NotificationChannel;->setDeleted(Z)V
-Landroid/app/NotificationChannel;->setFgServiceShown(Z)V
-Landroid/app/NotificationChannel;->TAG_CHANNEL:Ljava/lang/String;
-Landroid/app/NotificationChannel;->tryParseInt(Ljava/lang/String;I)I
-Landroid/app/NotificationChannel;->unlockFields(I)V
-Landroid/app/NotificationChannel;->USER_LOCKED_IMPORTANCE:I
-Landroid/app/NotificationChannel;->USER_LOCKED_LIGHTS:I
-Landroid/app/NotificationChannel;->USER_LOCKED_PRIORITY:I
-Landroid/app/NotificationChannel;->USER_LOCKED_SHOW_BADGE:I
-Landroid/app/NotificationChannel;->USER_LOCKED_SOUND:I
-Landroid/app/NotificationChannel;->USER_LOCKED_VIBRATION:I
-Landroid/app/NotificationChannel;->USER_LOCKED_VISIBILITY:I
-Landroid/app/NotificationChannel;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/app/NotificationChannel;->writeXml(Lorg/xmlpull/v1/XmlSerializer;ZLandroid/content/Context;)V
-Landroid/app/NotificationChannel;->writeXmlForBackup(Lorg/xmlpull/v1/XmlSerializer;Landroid/content/Context;)V
-Landroid/app/NotificationChannelGroup;-><init>(Landroid/os/Parcel;)V
-Landroid/app/NotificationChannelGroup;->addChannel(Landroid/app/NotificationChannel;)V
-Landroid/app/NotificationChannelGroup;->ATT_BLOCKED:Ljava/lang/String;
-Landroid/app/NotificationChannelGroup;->ATT_DESC:Ljava/lang/String;
-Landroid/app/NotificationChannelGroup;->ATT_ID:Ljava/lang/String;
-Landroid/app/NotificationChannelGroup;->ATT_NAME:Ljava/lang/String;
-Landroid/app/NotificationChannelGroup;->getTrimmedString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/app/NotificationChannelGroup;->MAX_TEXT_LENGTH:I
-Landroid/app/NotificationChannelGroup;->mBlocked:Z
-Landroid/app/NotificationChannelGroup;->mChannels:Ljava/util/List;
-Landroid/app/NotificationChannelGroup;->mDescription:Ljava/lang/String;
-Landroid/app/NotificationChannelGroup;->mName:Ljava/lang/CharSequence;
-Landroid/app/NotificationChannelGroup;->populateFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
-Landroid/app/NotificationChannelGroup;->safeBool(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Z)Z
-Landroid/app/NotificationChannelGroup;->setChannels(Ljava/util/List;)V
-Landroid/app/NotificationChannelGroup;->TAG_GROUP:Ljava/lang/String;
-Landroid/app/NotificationChannelGroup;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/app/NotificationChannelGroup;->writeXml(Lorg/xmlpull/v1/XmlSerializer;)V
-Landroid/app/NotificationChannelGroupProto;
-Landroid/app/NotificationChannelGroupProto;-><init>()V
-Landroid/app/NotificationChannelGroupProto;->CHANNELS:J
-Landroid/app/NotificationChannelGroupProto;->DESCRIPTION:J
-Landroid/app/NotificationChannelGroupProto;->ID:J
-Landroid/app/NotificationChannelGroupProto;->IS_BLOCKED:J
-Landroid/app/NotificationChannelGroupProto;->NAME:J
-Landroid/app/NotificationChannelProto;
-Landroid/app/NotificationChannelProto;-><init>()V
-Landroid/app/NotificationChannelProto;->AUDIO_ATTRIBUTES:J
-Landroid/app/NotificationChannelProto;->CAN_BYPASS_DND:J
-Landroid/app/NotificationChannelProto;->DESCRIPTION:J
-Landroid/app/NotificationChannelProto;->FG_SERVICE_SHOWN:J
-Landroid/app/NotificationChannelProto;->GROUP:J
-Landroid/app/NotificationChannelProto;->ID:J
-Landroid/app/NotificationChannelProto;->IMPORTANCE:J
-Landroid/app/NotificationChannelProto;->IS_BLOCKABLE_SYSTEM:J
-Landroid/app/NotificationChannelProto;->IS_DELETED:J
-Landroid/app/NotificationChannelProto;->IS_VIBRATION_ENABLED:J
-Landroid/app/NotificationChannelProto;->LIGHT_COLOR:J
-Landroid/app/NotificationChannelProto;->LOCKSCREEN_VISIBILITY:J
-Landroid/app/NotificationChannelProto;->NAME:J
-Landroid/app/NotificationChannelProto;->SHOW_BADGE:J
-Landroid/app/NotificationChannelProto;->SOUND:J
-Landroid/app/NotificationChannelProto;->USER_LOCKED_FIELDS:J
-Landroid/app/NotificationChannelProto;->USE_LIGHTS:J
-Landroid/app/NotificationChannelProto;->VIBRATION:J
-Landroid/app/NotificationManager$Importance;
-Landroid/app/NotificationManager$InterruptionFilter;
-Landroid/app/NotificationManager$Policy;-><init>(IIIII)V
-Landroid/app/NotificationManager$Policy;-><init>(Landroid/os/Parcel;)V
-Landroid/app/NotificationManager$Policy;->ALL_PRIORITY_CATEGORIES:[I
-Landroid/app/NotificationManager$Policy;->ALL_SUPPRESSED_EFFECTS:[I
-Landroid/app/NotificationManager$Policy;->areAllVisualEffectsSuppressed(I)Z
-Landroid/app/NotificationManager$Policy;->areAnyScreenOffEffectsSuppressed(I)Z
-Landroid/app/NotificationManager$Policy;->areAnyScreenOnEffectsSuppressed(I)Z
-Landroid/app/NotificationManager$Policy;->bitwiseToProtoEnum(Landroid/util/proto/ProtoOutputStream;JI)V
-Landroid/app/NotificationManager$Policy;->effectToString(I)Ljava/lang/String;
-Landroid/app/NotificationManager$Policy;->getAllSuppressedVisualEffects()I
-Landroid/app/NotificationManager$Policy;->priorityCategoryToString(I)Ljava/lang/String;
-Landroid/app/NotificationManager$Policy;->SCREEN_OFF_SUPPRESSED_EFFECTS:[I
-Landroid/app/NotificationManager$Policy;->SCREEN_ON_SUPPRESSED_EFFECTS:[I
-Landroid/app/NotificationManager$Policy;->state:I
-Landroid/app/NotificationManager$Policy;->STATE_CHANNELS_BYPASSING_DND:I
-Landroid/app/NotificationManager$Policy;->STATE_UNSET:I
-Landroid/app/NotificationManager$Policy;->SUPPRESSED_EFFECTS_UNSET:I
-Landroid/app/NotificationManager$Policy;->toggleEffects(I[IZ)I
-Landroid/app/NotificationManager$Policy;->toggleScreenOffEffectsSuppressed(IZ)I
-Landroid/app/NotificationManager$Policy;->toggleScreenOnEffectsSuppressed(IZ)I
-Landroid/app/NotificationManager$Policy;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/app/NotificationManager;->ACTION_EFFECTS_SUPPRESSOR_CHANGED:Ljava/lang/String;
-Landroid/app/NotificationManager;->ACTION_INTERRUPTION_FILTER_CHANGED_INTERNAL:Ljava/lang/String;
-Landroid/app/NotificationManager;->checkRequired(Ljava/lang/String;Ljava/lang/Object;)V
-Landroid/app/NotificationManager;->fixLegacySmallIcon(Landroid/app/Notification;Ljava/lang/String;)V
-Landroid/app/NotificationManager;->getEnabledNotificationListenerPackages()Ljava/util/List;
-Landroid/app/NotificationManager;->getEnabledNotificationListeners(I)Ljava/util/List;
-Landroid/app/NotificationManager;->getRuleInstanceCount(Landroid/content/ComponentName;)I
-Landroid/app/NotificationManager;->getZenMode()I
-Landroid/app/NotificationManager;->isNotificationAssistantAccessGranted(Landroid/content/ComponentName;)Z
-Landroid/app/NotificationManager;->isNotificationPolicyAccessGrantedForPackage(Ljava/lang/String;)Z
-Landroid/app/NotificationManager;->isSystemConditionProviderEnabled(Ljava/lang/String;)Z
-Landroid/app/NotificationManager;->localLOGV:Z
-Landroid/app/NotificationManager;->matchesCallFilter(Landroid/os/Bundle;)Z
-Landroid/app/NotificationManager;->mContext:Landroid/content/Context;
-Landroid/app/NotificationManager;->removeAutomaticZenRules(Ljava/lang/String;)Z
-Landroid/app/NotificationManager;->setNotificationListenerAccessGranted(Landroid/content/ComponentName;Z)V
-Landroid/app/NotificationManager;->setNotificationListenerAccessGrantedForUser(Landroid/content/ComponentName;IZ)V
-Landroid/app/NotificationManager;->setNotificationPolicyAccessGranted(Ljava/lang/String;Z)V
-Landroid/app/NotificationManager;->TAG:Ljava/lang/String;
-Landroid/app/NotificationManager;->VISIBILITY_NO_OVERRIDE:I
-Landroid/app/NotificationManager;->zenModeFromInterruptionFilter(II)I
-Landroid/app/NotificationManager;->zenModeToInterruptionFilter(I)I
-Landroid/app/NotificationProto;
-Landroid/app/NotificationProto;-><init>()V
-Landroid/app/NotificationProto;->ACTION_LENGTH:J
-Landroid/app/NotificationProto;->CATEGORY:J
-Landroid/app/NotificationProto;->CHANNEL_ID:J
-Landroid/app/NotificationProto;->COLOR:J
-Landroid/app/NotificationProto;->FLAGS:J
-Landroid/app/NotificationProto;->GROUP_KEY:J
-Landroid/app/NotificationProto;->HAS_TICKER_TEXT:J
-Landroid/app/NotificationProto;->PUBLIC_VERSION:J
-Landroid/app/NotificationProto;->SORT_KEY:J
-Landroid/app/NotificationProto;->VISIBILITY:J
-Landroid/app/NotificationProto;->VISIBILITY_PRIVATE:I
-Landroid/app/NotificationProto;->VISIBILITY_PUBLIC:I
-Landroid/app/NotificationProto;->VISIBILITY_SECRET:I
-Landroid/app/OnActivityPausedListener;
-Landroid/app/OnActivityPausedListener;->onPaused(Landroid/app/Activity;)V
-Landroid/app/PackageDeleteObserver;
-Landroid/app/PackageDeleteObserver;->getBinder()Landroid/content/pm/IPackageDeleteObserver2;
-Landroid/app/PackageDeleteObserver;->mBinder:Landroid/content/pm/IPackageDeleteObserver2$Stub;
-Landroid/app/PackageDeleteObserver;->onPackageDeleted(Ljava/lang/String;ILjava/lang/String;)V
-Landroid/app/PackageDeleteObserver;->onUserActionRequired(Landroid/content/Intent;)V
-Landroid/app/PackageInstallObserver;
-Landroid/app/PackageInstallObserver;->getBinder()Landroid/content/pm/IPackageInstallObserver2;
-Landroid/app/PackageInstallObserver;->mBinder:Landroid/content/pm/IPackageInstallObserver2$Stub;
-Landroid/app/PackageInstallObserver;->onUserActionRequired(Landroid/content/Intent;)V
-Landroid/app/PendingIntent$CancelListener;
-Landroid/app/PendingIntent$CancelListener;->onCancelled(Landroid/app/PendingIntent;)V
-Landroid/app/PendingIntent$FinishedDispatcher;
-Landroid/app/PendingIntent$FinishedDispatcher;-><init>(Landroid/app/PendingIntent;Landroid/app/PendingIntent$OnFinished;Landroid/os/Handler;)V
-Landroid/app/PendingIntent$FinishedDispatcher;->mHandler:Landroid/os/Handler;
-Landroid/app/PendingIntent$FinishedDispatcher;->mIntent:Landroid/content/Intent;
-Landroid/app/PendingIntent$FinishedDispatcher;->mPendingIntent:Landroid/app/PendingIntent;
-Landroid/app/PendingIntent$FinishedDispatcher;->mResultCode:I
-Landroid/app/PendingIntent$FinishedDispatcher;->mResultData:Ljava/lang/String;
-Landroid/app/PendingIntent$FinishedDispatcher;->mResultExtras:Landroid/os/Bundle;
-Landroid/app/PendingIntent$FinishedDispatcher;->mWho:Landroid/app/PendingIntent$OnFinished;
-Landroid/app/PendingIntent$FinishedDispatcher;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
-Landroid/app/PendingIntent$FinishedDispatcher;->sDefaultSystemHandler:Landroid/os/Handler;
-Landroid/app/PendingIntent$Flags;
-Landroid/app/PendingIntent$OnMarshaledListener;
-Landroid/app/PendingIntent$OnMarshaledListener;->onMarshaled(Landroid/app/PendingIntent;Landroid/os/Parcel;I)V
-Landroid/app/PendingIntent;-><init>(Landroid/content/IIntentSender;)V
-Landroid/app/PendingIntent;-><init>(Landroid/os/IBinder;Ljava/lang/Object;)V
-Landroid/app/PendingIntent;->buildServicePendingIntent(Landroid/content/Context;ILandroid/content/Intent;II)Landroid/app/PendingIntent;
-Landroid/app/PendingIntent;->getActivitiesAsUser(Landroid/content/Context;I[Landroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/PendingIntent;
-Landroid/app/PendingIntent;->getTarget()Landroid/content/IIntentSender;
-Landroid/app/PendingIntent;->getWhitelistToken()Landroid/os/IBinder;
-Landroid/app/PendingIntent;->isForegroundService()Z
-Landroid/app/PendingIntent;->isTargetedToPackage()Z
-Landroid/app/PendingIntent;->mCancelListeners:Landroid/util/ArraySet;
-Landroid/app/PendingIntent;->mCancelReceiver:Lcom/android/internal/os/IResultReceiver;
-Landroid/app/PendingIntent;->mTarget:Landroid/content/IIntentSender;
-Landroid/app/PendingIntent;->mWhitelistToken:Landroid/os/IBinder;
-Landroid/app/PendingIntent;->notifyCancelListeners()V
-Landroid/app/PendingIntent;->registerCancelListener(Landroid/app/PendingIntent$CancelListener;)V
-Landroid/app/PendingIntent;->sendAndReturnResult(Landroid/content/Context;ILandroid/content/Intent;Landroid/app/PendingIntent$OnFinished;Landroid/os/Handler;Ljava/lang/String;Landroid/os/Bundle;)I
-Landroid/app/PendingIntent;->sOnMarshaledListener:Ljava/lang/ThreadLocal;
-Landroid/app/PendingIntent;->unregisterCancelListener(Landroid/app/PendingIntent$CancelListener;)V
-Landroid/app/PendingIntent;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/app/PendingIntentProto;
-Landroid/app/PendingIntentProto;-><init>()V
-Landroid/app/PendingIntentProto;->TARGET:J
-Landroid/app/Person$Builder;-><init>(Landroid/app/Person;)V
-Landroid/app/Person$Builder;->mIcon:Landroid/graphics/drawable/Icon;
-Landroid/app/Person$Builder;->mIsBot:Z
-Landroid/app/Person$Builder;->mIsImportant:Z
-Landroid/app/Person$Builder;->mKey:Ljava/lang/String;
-Landroid/app/Person$Builder;->mName:Ljava/lang/CharSequence;
-Landroid/app/Person$Builder;->mUri:Ljava/lang/String;
-Landroid/app/Person;-><init>(Landroid/app/Person$Builder;)V
-Landroid/app/Person;-><init>(Landroid/os/Parcel;)V
-Landroid/app/Person;->mIcon:Landroid/graphics/drawable/Icon;
-Landroid/app/Person;->mIsBot:Z
-Landroid/app/Person;->mIsImportant:Z
-Landroid/app/Person;->mKey:Ljava/lang/String;
-Landroid/app/Person;->mName:Ljava/lang/CharSequence;
-Landroid/app/Person;->mUri:Ljava/lang/String;
-Landroid/app/Person;->resolveToLegacyUri()Ljava/lang/String;
-Landroid/app/PictureInPictureArgs$Builder;->mAspectRatio:Landroid/util/Rational;
-Landroid/app/PictureInPictureArgs$Builder;->mSourceRectHint:Landroid/graphics/Rect;
-Landroid/app/PictureInPictureArgs$Builder;->mUserActions:Ljava/util/List;
-Landroid/app/PictureInPictureArgs;-><init>(FLjava/util/List;)V
-Landroid/app/PictureInPictureArgs;-><init>(Landroid/os/Parcel;)V
-Landroid/app/PictureInPictureArgs;-><init>(Landroid/util/Rational;Ljava/util/List;Landroid/graphics/Rect;)V
-Landroid/app/PictureInPictureArgs;->copyOnlySet(Landroid/app/PictureInPictureArgs;)V
-Landroid/app/PictureInPictureArgs;->getActions()Ljava/util/List;
-Landroid/app/PictureInPictureArgs;->getAspectRatio()F
-Landroid/app/PictureInPictureArgs;->getAspectRatioRational()Landroid/util/Rational;
-Landroid/app/PictureInPictureArgs;->getSourceRectHint()Landroid/graphics/Rect;
-Landroid/app/PictureInPictureArgs;->getSourceRectHintInsets()Landroid/graphics/Rect;
-Landroid/app/PictureInPictureArgs;->hasSetActions()Z
-Landroid/app/PictureInPictureArgs;->hasSetAspectRatio()Z
-Landroid/app/PictureInPictureArgs;->hasSourceBoundsHint()Z
-Landroid/app/PictureInPictureArgs;->hasSourceBoundsHintInsets()Z
-Landroid/app/PictureInPictureArgs;->mAspectRatio:Landroid/util/Rational;
-Landroid/app/PictureInPictureArgs;->mSourceRectHint:Landroid/graphics/Rect;
-Landroid/app/PictureInPictureArgs;->mSourceRectHintInsets:Landroid/graphics/Rect;
-Landroid/app/PictureInPictureArgs;->mUserActions:Ljava/util/List;
-Landroid/app/PictureInPictureArgs;->setSourceRectHint(Landroid/graphics/Rect;)V
-Landroid/app/PictureInPictureArgs;->setSourceRectHintInsets(Landroid/graphics/Rect;)V
-Landroid/app/PictureInPictureArgs;->truncateActions(I)V
-Landroid/app/PictureInPictureParams$Builder;->mAspectRatio:Landroid/util/Rational;
-Landroid/app/PictureInPictureParams$Builder;->mSourceRectHint:Landroid/graphics/Rect;
-Landroid/app/PictureInPictureParams$Builder;->mUserActions:Ljava/util/List;
-Landroid/app/PictureInPictureParams;-><init>()V
-Landroid/app/PictureInPictureParams;-><init>(Landroid/os/Parcel;)V
-Landroid/app/PictureInPictureParams;-><init>(Landroid/util/Rational;Ljava/util/List;Landroid/graphics/Rect;)V
-Landroid/app/PictureInPictureParams;->copyOnlySet(Landroid/app/PictureInPictureParams;)V
-Landroid/app/PictureInPictureParams;->getAspectRatioRational()Landroid/util/Rational;
-Landroid/app/PictureInPictureParams;->hasSetActions()Z
-Landroid/app/PictureInPictureParams;->hasSetAspectRatio()Z
-Landroid/app/PictureInPictureParams;->hasSourceBoundsHint()Z
-Landroid/app/PictureInPictureParams;->mAspectRatio:Landroid/util/Rational;
-Landroid/app/PictureInPictureParams;->mSourceRectHint:Landroid/graphics/Rect;
-Landroid/app/PictureInPictureParams;->mUserActions:Ljava/util/List;
-Landroid/app/PictureInPictureParams;->truncateActions(I)V
-Landroid/app/PolicyProto;
-Landroid/app/PolicyProto;-><init>()V
-Landroid/app/PolicyProto;->ALARMS:I
-Landroid/app/PolicyProto;->ANY:I
-Landroid/app/PolicyProto;->CALLS:I
-Landroid/app/PolicyProto;->CATEGORY_UNKNOWN:I
-Landroid/app/PolicyProto;->CONTACTS:I
-Landroid/app/PolicyProto;->EVENTS:I
-Landroid/app/PolicyProto;->MEDIA_SYSTEM_OTHER:I
-Landroid/app/PolicyProto;->MESSAGES:I
-Landroid/app/PolicyProto;->PRIORITY_CALL_SENDER:J
-Landroid/app/PolicyProto;->PRIORITY_CATEGORIES:J
-Landroid/app/PolicyProto;->PRIORITY_MESSAGE_SENDER:J
-Landroid/app/PolicyProto;->REMINDERS:I
-Landroid/app/PolicyProto;->REPEAT_CALLERS:I
-Landroid/app/PolicyProto;->SCREEN_OFF:I
-Landroid/app/PolicyProto;->SCREEN_ON:I
-Landroid/app/PolicyProto;->STARRED:I
-Landroid/app/PolicyProto;->SUPPRESSED_VISUAL_EFFECTS:J
-Landroid/app/PolicyProto;->SVE_UNKNOWN:I
-Landroid/app/Presentation;->handleDisplayChanged()V
-Landroid/app/Presentation;->handleDisplayRemoved()V
-Landroid/app/Presentation;->isConfigurationStillValid()Z
-Landroid/app/Presentation;->mDisplay:Landroid/view/Display;
-Landroid/app/Presentation;->mDisplayListener:Landroid/hardware/display/DisplayManager$DisplayListener;
-Landroid/app/Presentation;->mDisplayManager:Landroid/hardware/display/DisplayManager;
-Landroid/app/Presentation;->mHandler:Landroid/os/Handler;
-Landroid/app/Presentation;->MSG_CANCEL:I
-Landroid/app/Presentation;->mToken:Landroid/os/IBinder;
-Landroid/app/Presentation;->TAG:Ljava/lang/String;
-Landroid/app/ProcessMemoryState;
-Landroid/app/ProcessMemoryState;-><init>(ILjava/lang/String;IJJJJJ)V
-Landroid/app/ProcessMemoryState;-><init>(Landroid/os/Parcel;)V
-Landroid/app/ProcessMemoryState;->cacheInBytes:J
-Landroid/app/ProcessMemoryState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/ProcessMemoryState;->oomScore:I
-Landroid/app/ProcessMemoryState;->pgfault:J
-Landroid/app/ProcessMemoryState;->pgmajfault:J
-Landroid/app/ProcessMemoryState;->processName:Ljava/lang/String;
-Landroid/app/ProcessMemoryState;->rssInBytes:J
-Landroid/app/ProcessMemoryState;->swapInBytes:J
-Landroid/app/ProcessMemoryState;->uid:I
-Landroid/app/ProfilerInfo;
-Landroid/app/ProfilerInfo;-><init>(Landroid/app/ProfilerInfo;)V
-Landroid/app/ProfilerInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/app/ProfilerInfo;-><init>(Ljava/lang/String;Landroid/os/ParcelFileDescriptor;IZZLjava/lang/String;Z)V
-Landroid/app/ProfilerInfo;->agent:Ljava/lang/String;
-Landroid/app/ProfilerInfo;->attachAgentDuringBind:Z
-Landroid/app/ProfilerInfo;->autoStopProfiler:Z
-Landroid/app/ProfilerInfo;->closeFd()V
-Landroid/app/ProfilerInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/ProfilerInfo;->profileFd:Landroid/os/ParcelFileDescriptor;
-Landroid/app/ProfilerInfo;->profileFile:Ljava/lang/String;
-Landroid/app/ProfilerInfo;->samplingInterval:I
-Landroid/app/ProfilerInfo;->setAgent(Ljava/lang/String;Z)Landroid/app/ProfilerInfo;
-Landroid/app/ProfilerInfo;->streamingOutput:Z
-Landroid/app/ProfilerInfo;->TAG:Ljava/lang/String;
-Landroid/app/ProfilerInfo;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/app/ProfilerInfoProto;
-Landroid/app/ProfilerInfoProto;-><init>()V
-Landroid/app/ProfilerInfoProto;->AGENT:J
-Landroid/app/ProfilerInfoProto;->AUTO_STOP_PROFILER:J
-Landroid/app/ProfilerInfoProto;->PROFILE_FD:J
-Landroid/app/ProfilerInfoProto;->PROFILE_FILE:J
-Landroid/app/ProfilerInfoProto;->SAMPLING_INTERVAL:J
-Landroid/app/ProfilerInfoProto;->STREAMING_OUTPUT:J
-Landroid/app/ProgressDialog;->initFormats()V
-Landroid/app/ProgressDialog;->mHasStarted:Z
-Landroid/app/ProgressDialog;->mIncrementBy:I
-Landroid/app/ProgressDialog;->mIncrementSecondaryBy:I
-Landroid/app/ProgressDialog;->mIndeterminate:Z
-Landroid/app/ProgressDialog;->mIndeterminateDrawable:Landroid/graphics/drawable/Drawable;
-Landroid/app/ProgressDialog;->mMax:I
-Landroid/app/ProgressDialog;->mMessage:Ljava/lang/CharSequence;
-Landroid/app/ProgressDialog;->mProgressDrawable:Landroid/graphics/drawable/Drawable;
-Landroid/app/ProgressDialog;->mProgressNumberFormat:Ljava/lang/String;
-Landroid/app/ProgressDialog;->mProgressPercent:Landroid/widget/TextView;
-Landroid/app/ProgressDialog;->mProgressPercentFormat:Ljava/text/NumberFormat;
-Landroid/app/ProgressDialog;->mProgressStyle:I
-Landroid/app/ProgressDialog;->mProgressVal:I
-Landroid/app/ProgressDialog;->mSecondaryProgressVal:I
-Landroid/app/ProgressDialog;->mViewUpdateHandler:Landroid/os/Handler;
-Landroid/app/ProgressDialog;->onProgressChanged()V
-Landroid/app/QueuedWork$QueuedWorkHandler;
-Landroid/app/QueuedWork$QueuedWorkHandler;-><init>(Landroid/os/Looper;)V
-Landroid/app/QueuedWork$QueuedWorkHandler;->MSG_RUN:I
-Landroid/app/QueuedWork;
-Landroid/app/QueuedWork;-><init>()V
-Landroid/app/QueuedWork;->DEBUG:Z
-Landroid/app/QueuedWork;->DELAY:J
-Landroid/app/QueuedWork;->hasPendingWork()Z
-Landroid/app/QueuedWork;->LOG_TAG:Ljava/lang/String;
-Landroid/app/QueuedWork;->MAX_WAIT_TIME_MILLIS:J
-Landroid/app/QueuedWork;->mNumWaits:I
-Landroid/app/QueuedWork;->mWaitTimes:Lcom/android/internal/util/ExponentiallyBucketedHistogram;
-Landroid/app/QueuedWork;->processPendingWork()V
-Landroid/app/QueuedWork;->sCanDelay:Z
-Landroid/app/QueuedWork;->sHandler:Landroid/os/Handler;
-Landroid/app/QueuedWork;->sLock:Ljava/lang/Object;
-Landroid/app/QueuedWork;->sProcessingWork:Ljava/lang/Object;
-Landroid/app/QueuedWork;->sWork:Ljava/util/LinkedList;
-Landroid/app/QueuedWork;->waitToFinish()V
-Landroid/app/RecoverableSecurityException$LocalDialog;
-Landroid/app/RecoverableSecurityException$LocalDialog;-><init>()V
-Landroid/app/RecoverableSecurityException;
-Landroid/app/RecoverableSecurityException;-><init>(Landroid/os/Parcel;)V
-Landroid/app/RecoverableSecurityException;-><init>(Ljava/lang/Throwable;Ljava/lang/CharSequence;Landroid/app/RemoteAction;)V
-Landroid/app/RecoverableSecurityException;-><init>(Ljava/lang/Throwable;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V
-Landroid/app/RecoverableSecurityException;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/RecoverableSecurityException;->getUserAction()Landroid/app/RemoteAction;
-Landroid/app/RecoverableSecurityException;->getUserMessage()Ljava/lang/CharSequence;
-Landroid/app/RecoverableSecurityException;->mUserAction:Landroid/app/RemoteAction;
-Landroid/app/RecoverableSecurityException;->mUserMessage:Ljava/lang/CharSequence;
-Landroid/app/RecoverableSecurityException;->showAsDialog(Landroid/app/Activity;)V
-Landroid/app/RecoverableSecurityException;->showAsNotification(Landroid/content/Context;)V
-Landroid/app/RecoverableSecurityException;->showAsNotification(Landroid/content/Context;Ljava/lang/String;)V
-Landroid/app/RecoverableSecurityException;->TAG:Ljava/lang/String;
-Landroid/app/RemoteAction;-><init>(Landroid/os/Parcel;)V
-Landroid/app/RemoteAction;->mActionIntent:Landroid/app/PendingIntent;
-Landroid/app/RemoteAction;->mContentDescription:Ljava/lang/CharSequence;
-Landroid/app/RemoteAction;->mEnabled:Z
-Landroid/app/RemoteAction;->mIcon:Landroid/graphics/drawable/Icon;
-Landroid/app/RemoteAction;->mShouldShowIcon:Z
-Landroid/app/RemoteAction;->mTitle:Ljava/lang/CharSequence;
-Landroid/app/RemoteAction;->TAG:Ljava/lang/String;
-Landroid/app/RemoteAnimationTargetProto;
-Landroid/app/RemoteAnimationTargetProto;-><init>()V
-Landroid/app/RemoteAnimationTargetProto;->CLIP_RECT:J
-Landroid/app/RemoteAnimationTargetProto;->CONTENT_INSETS:J
-Landroid/app/RemoteAnimationTargetProto;->IS_TRANSLUCENT:J
-Landroid/app/RemoteAnimationTargetProto;->LEASH:J
-Landroid/app/RemoteAnimationTargetProto;->MODE:J
-Landroid/app/RemoteAnimationTargetProto;->POSITION:J
-Landroid/app/RemoteAnimationTargetProto;->PREFIX_ORDER_INDEX:J
-Landroid/app/RemoteAnimationTargetProto;->SOURCE_CONTAINER_BOUNDS:J
-Landroid/app/RemoteAnimationTargetProto;->TASK_ID:J
-Landroid/app/RemoteAnimationTargetProto;->WINDOW_CONFIGURATION:J
-Landroid/app/RemoteInput$Builder;->mAllowedDataTypes:Landroid/util/ArraySet;
-Landroid/app/RemoteInput$Builder;->mChoices:[Ljava/lang/CharSequence;
-Landroid/app/RemoteInput$Builder;->mExtras:Landroid/os/Bundle;
-Landroid/app/RemoteInput$Builder;->mFlags:I
-Landroid/app/RemoteInput$Builder;->mLabel:Ljava/lang/CharSequence;
-Landroid/app/RemoteInput$Builder;->mResultKey:Ljava/lang/String;
-Landroid/app/RemoteInput$Builder;->setFlag(IZ)V
-Landroid/app/RemoteInput$Source;
-Landroid/app/RemoteInput;-><init>(Landroid/os/Parcel;)V
-Landroid/app/RemoteInput;-><init>(Ljava/lang/String;Ljava/lang/CharSequence;[Ljava/lang/CharSequence;ILandroid/os/Bundle;Landroid/util/ArraySet;)V
-Landroid/app/RemoteInput;->DEFAULT_FLAGS:I
-Landroid/app/RemoteInput;->EXTRA_DATA_TYPE_RESULTS_DATA:Ljava/lang/String;
-Landroid/app/RemoteInput;->EXTRA_RESULTS_SOURCE:Ljava/lang/String;
-Landroid/app/RemoteInput;->FLAG_ALLOW_FREE_FORM_INPUT:I
-Landroid/app/RemoteInput;->getClipDataIntentFromIntent(Landroid/content/Intent;)Landroid/content/Intent;
-Landroid/app/RemoteInput;->getExtraResultsKeyForData(Ljava/lang/String;)Ljava/lang/String;
-Landroid/app/RemoteInput;->mAllowedDataTypes:Landroid/util/ArraySet;
-Landroid/app/RemoteInput;->mChoices:[Ljava/lang/CharSequence;
-Landroid/app/RemoteInput;->mExtras:Landroid/os/Bundle;
-Landroid/app/RemoteInput;->mFlags:I
-Landroid/app/RemoteInput;->mLabel:Ljava/lang/CharSequence;
-Landroid/app/RemoteInput;->mResultKey:Ljava/lang/String;
-Landroid/app/ResourcesManager$ActivityResources;
-Landroid/app/ResourcesManager$ActivityResources;->activityResources:Ljava/util/ArrayList;
-Landroid/app/ResourcesManager$ActivityResources;->overrideConfig:Landroid/content/res/Configuration;
-Landroid/app/ResourcesManager$ApkKey;
-Landroid/app/ResourcesManager$ApkKey;-><init>(Ljava/lang/String;ZZ)V
-Landroid/app/ResourcesManager$ApkKey;->overlay:Z
-Landroid/app/ResourcesManager$ApkKey;->path:Ljava/lang/String;
-Landroid/app/ResourcesManager$ApkKey;->sharedLib:Z
-Landroid/app/ResourcesManager;
-Landroid/app/ResourcesManager;->applyCompatConfigurationLocked(ILandroid/content/res/Configuration;)Z
-Landroid/app/ResourcesManager;->applyConfigurationToResourcesLocked(Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)Z
-Landroid/app/ResourcesManager;->applyNewResourceDirsLocked(Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/app/ResourcesManager;->applyNonDefaultDisplayMetricsToConfiguration(Landroid/util/DisplayMetrics;Landroid/content/res/Configuration;)V
-Landroid/app/ResourcesManager;->cleanupResourceImpl(Landroid/content/res/ResourcesKey;)V
-Landroid/app/ResourcesManager;->countLiveReferences(Ljava/util/Collection;)I
-Landroid/app/ResourcesManager;->createBaseActivityResources(Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/lang/ClassLoader;)Landroid/content/res/Resources;
-Landroid/app/ResourcesManager;->createResourcesImpl(Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
-Landroid/app/ResourcesManager;->DEBUG:Z
-Landroid/app/ResourcesManager;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-Landroid/app/ResourcesManager;->findKeyForResourceImplLocked(Landroid/content/res/ResourcesImpl;)Landroid/content/res/ResourcesKey;
-Landroid/app/ResourcesManager;->findOrCreateResourcesImplForKeyLocked(Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
-Landroid/app/ResourcesManager;->findResourcesImplForKeyLocked(Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
-Landroid/app/ResourcesManager;->generateConfig(Landroid/content/res/ResourcesKey;Landroid/util/DisplayMetrics;)Landroid/content/res/Configuration;
-Landroid/app/ResourcesManager;->getAdjustedDisplay(ILandroid/content/res/Resources;)Landroid/view/Display;
-Landroid/app/ResourcesManager;->getAdjustedDisplay(ILandroid/view/DisplayAdjustments;)Landroid/view/Display;
-Landroid/app/ResourcesManager;->getConfiguration()Landroid/content/res/Configuration;
-Landroid/app/ResourcesManager;->getDisplayMetrics()Landroid/util/DisplayMetrics;
-Landroid/app/ResourcesManager;->getDisplayMetrics(ILandroid/view/DisplayAdjustments;)Landroid/util/DisplayMetrics;
-Landroid/app/ResourcesManager;->getOrCreateActivityResourcesStructLocked(Landroid/os/IBinder;)Landroid/app/ResourcesManager$ActivityResources;
-Landroid/app/ResourcesManager;->getOrCreateResources(Landroid/os/IBinder;Landroid/content/res/ResourcesKey;Ljava/lang/ClassLoader;)Landroid/content/res/Resources;
-Landroid/app/ResourcesManager;->getOrCreateResourcesForActivityLocked(Landroid/os/IBinder;Ljava/lang/ClassLoader;Landroid/content/res/ResourcesImpl;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources;
-Landroid/app/ResourcesManager;->getOrCreateResourcesLocked(Ljava/lang/ClassLoader;Landroid/content/res/ResourcesImpl;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources;
-Landroid/app/ResourcesManager;->getResources(Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/lang/ClassLoader;)Landroid/content/res/Resources;
-Landroid/app/ResourcesManager;->invalidatePath(Ljava/lang/String;)V
-Landroid/app/ResourcesManager;->isSameResourcesOverrideConfig(Landroid/os/IBinder;Landroid/content/res/Configuration;)Z
-Landroid/app/ResourcesManager;->loadApkAssets(Ljava/lang/String;ZZ)Landroid/content/res/ApkAssets;
-Landroid/app/ResourcesManager;->mAdjustedDisplays:Landroid/util/ArrayMap;
-Landroid/app/ResourcesManager;->mCachedApkAssets:Landroid/util/ArrayMap;
-Landroid/app/ResourcesManager;->mLoadedApkAssets:Landroid/util/LruCache;
-Landroid/app/ResourcesManager;->mResCompatibilityInfo:Landroid/content/res/CompatibilityInfo;
-Landroid/app/ResourcesManager;->overlayPathToIdmapPath(Ljava/lang/String;)Ljava/lang/String;
-Landroid/app/ResourcesManager;->redirectResourcesToNewImplLocked(Landroid/util/ArrayMap;)V
-Landroid/app/ResourcesManager;->sEmptyReferencePredicate:Ljava/util/function/Predicate;
-Landroid/app/ResourcesManager;->sResourcesManager:Landroid/app/ResourcesManager;
-Landroid/app/ResourcesManager;->TAG:Ljava/lang/String;
-Landroid/app/ResourcesManager;->updateResourcesForActivity(Landroid/os/IBinder;Landroid/content/res/Configuration;IZ)V
-Landroid/app/ResultInfo;
-Landroid/app/ResultInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/app/ResultInfo;->mResultCode:I
-Landroid/app/SearchableInfo$ActionKeyInfo;
-Landroid/app/SearchableInfo$ActionKeyInfo;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/app/SearchableInfo$ActionKeyInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/app/SearchableInfo$ActionKeyInfo;->getKeyCode()I
-Landroid/app/SearchableInfo$ActionKeyInfo;->mKeyCode:I
-Landroid/app/SearchableInfo$ActionKeyInfo;->mQueryActionMsg:Ljava/lang/String;
-Landroid/app/SearchableInfo$ActionKeyInfo;->mSuggestActionMsg:Ljava/lang/String;
-Landroid/app/SearchableInfo$ActionKeyInfo;->mSuggestActionMsgColumn:Ljava/lang/String;
-Landroid/app/SearchableInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/app/SearchableInfo;->addActionKey(Landroid/app/SearchableInfo$ActionKeyInfo;)V
-Landroid/app/SearchableInfo;->createActivityContext(Landroid/content/Context;Landroid/content/ComponentName;)Landroid/content/Context;
-Landroid/app/SearchableInfo;->DBG:Z
-Landroid/app/SearchableInfo;->getActivityMetaData(Landroid/content/Context;Landroid/content/pm/ActivityInfo;I)Landroid/app/SearchableInfo;
-Landroid/app/SearchableInfo;->getActivityMetaData(Landroid/content/Context;Lorg/xmlpull/v1/XmlPullParser;Landroid/content/ComponentName;)Landroid/app/SearchableInfo;
-Landroid/app/SearchableInfo;->getSearchButtonText()I
-Landroid/app/SearchableInfo;->LOG_TAG:Ljava/lang/String;
-Landroid/app/SearchableInfo;->mActionKeys:Ljava/util/HashMap;
-Landroid/app/SearchableInfo;->mAutoUrlDetect:Z
-Landroid/app/SearchableInfo;->MD_LABEL_SEARCHABLE:Ljava/lang/String;
-Landroid/app/SearchableInfo;->MD_XML_ELEMENT_SEARCHABLE:Ljava/lang/String;
-Landroid/app/SearchableInfo;->MD_XML_ELEMENT_SEARCHABLE_ACTION_KEY:Ljava/lang/String;
-Landroid/app/SearchableInfo;->mHintId:I
-Landroid/app/SearchableInfo;->mIconId:I
-Landroid/app/SearchableInfo;->mIncludeInGlobalSearch:Z
-Landroid/app/SearchableInfo;->mLabelId:I
-Landroid/app/SearchableInfo;->mQueryAfterZeroResults:Z
-Landroid/app/SearchableInfo;->mSearchActivity:Landroid/content/ComponentName;
-Landroid/app/SearchableInfo;->mSearchButtonText:I
-Landroid/app/SearchableInfo;->mSearchImeOptions:I
-Landroid/app/SearchableInfo;->mSearchInputType:I
-Landroid/app/SearchableInfo;->mSearchMode:I
-Landroid/app/SearchableInfo;->mSettingsDescriptionId:I
-Landroid/app/SearchableInfo;->mSuggestAuthority:Ljava/lang/String;
-Landroid/app/SearchableInfo;->mSuggestIntentAction:Ljava/lang/String;
-Landroid/app/SearchableInfo;->mSuggestIntentData:Ljava/lang/String;
-Landroid/app/SearchableInfo;->mSuggestPath:Ljava/lang/String;
-Landroid/app/SearchableInfo;->mSuggestProviderPackage:Ljava/lang/String;
-Landroid/app/SearchableInfo;->mSuggestSelection:Ljava/lang/String;
-Landroid/app/SearchableInfo;->mSuggestThreshold:I
-Landroid/app/SearchableInfo;->mVoiceLanguageId:I
-Landroid/app/SearchableInfo;->mVoiceLanguageModeId:I
-Landroid/app/SearchableInfo;->mVoiceMaxResults:I
-Landroid/app/SearchableInfo;->mVoicePromptTextId:I
-Landroid/app/SearchableInfo;->mVoiceSearchMode:I
-Landroid/app/SearchableInfo;->SEARCH_MODE_BADGE_ICON:I
-Landroid/app/SearchableInfo;->SEARCH_MODE_BADGE_LABEL:I
-Landroid/app/SearchableInfo;->SEARCH_MODE_QUERY_REWRITE_FROM_DATA:I
-Landroid/app/SearchableInfo;->SEARCH_MODE_QUERY_REWRITE_FROM_TEXT:I
-Landroid/app/SearchableInfo;->useBadgeIcon()Z
-Landroid/app/SearchableInfo;->useBadgeLabel()Z
-Landroid/app/SearchableInfo;->VOICE_SEARCH_LAUNCH_RECOGNIZER:I
-Landroid/app/SearchableInfo;->VOICE_SEARCH_LAUNCH_WEB_SEARCH:I
-Landroid/app/SearchableInfo;->VOICE_SEARCH_SHOW_BUTTON:I
-Landroid/app/SearchDialog$SearchBar;
-Landroid/app/SearchDialog$SearchBar;-><init>(Landroid/content/Context;)V
-Landroid/app/SearchDialog$SearchBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/app/SearchDialog;
-Landroid/app/SearchDialog;-><init>(Landroid/content/Context;Landroid/app/SearchManager;)V
-Landroid/app/SearchDialog;->createContentView()V
-Landroid/app/SearchDialog;->createIntent(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Landroid/content/Intent;
-Landroid/app/SearchDialog;->DBG:Z
-Landroid/app/SearchDialog;->doShow(Ljava/lang/String;ZLandroid/content/ComponentName;Landroid/os/Bundle;)Z
-Landroid/app/SearchDialog;->IME_OPTION_NO_MICROPHONE:Ljava/lang/String;
-Landroid/app/SearchDialog;->INSTANCE_KEY_APPDATA:Ljava/lang/String;
-Landroid/app/SearchDialog;->INSTANCE_KEY_COMPONENT:Ljava/lang/String;
-Landroid/app/SearchDialog;->INSTANCE_KEY_USER_QUERY:Ljava/lang/String;
-Landroid/app/SearchDialog;->isEmpty(Landroid/widget/AutoCompleteTextView;)Z
-Landroid/app/SearchDialog;->isOutOfBounds(Landroid/view/View;Landroid/view/MotionEvent;)Z
-Landroid/app/SearchDialog;->launchIntent(Landroid/content/Intent;)V
-Landroid/app/SearchDialog;->LOG_TAG:Ljava/lang/String;
-Landroid/app/SearchDialog;->mActivityContext:Landroid/content/Context;
-Landroid/app/SearchDialog;->mAppIcon:Landroid/widget/ImageView;
-Landroid/app/SearchDialog;->mAppSearchData:Landroid/os/Bundle;
-Landroid/app/SearchDialog;->mBadgeLabel:Landroid/widget/TextView;
-Landroid/app/SearchDialog;->mCloseSearch:Landroid/view/View;
-Landroid/app/SearchDialog;->mConfChangeListener:Landroid/content/BroadcastReceiver;
-Landroid/app/SearchDialog;->mLaunchComponent:Landroid/content/ComponentName;
-Landroid/app/SearchDialog;->mOnCloseListener:Landroid/widget/SearchView$OnCloseListener;
-Landroid/app/SearchDialog;->mOnQueryChangeListener:Landroid/widget/SearchView$OnQueryTextListener;
-Landroid/app/SearchDialog;->mOnSuggestionSelectionListener:Landroid/widget/SearchView$OnSuggestionListener;
-Landroid/app/SearchDialog;->mSearchable:Landroid/app/SearchableInfo;
-Landroid/app/SearchDialog;->mSearchAutoComplete:Landroid/widget/AutoCompleteTextView;
-Landroid/app/SearchDialog;->mSearchAutoCompleteImeOptions:I
-Landroid/app/SearchDialog;->mSearchPlate:Landroid/view/View;
-Landroid/app/SearchDialog;->mSearchView:Landroid/widget/SearchView;
-Landroid/app/SearchDialog;->mUserQuery:Ljava/lang/String;
-Landroid/app/SearchDialog;->mVoiceAppSearchIntent:Landroid/content/Intent;
-Landroid/app/SearchDialog;->mVoiceWebSearchIntent:Landroid/content/Intent;
-Landroid/app/SearchDialog;->mWorkingSpinner:Landroid/graphics/drawable/Drawable;
-Landroid/app/SearchDialog;->onClosePressed()Z
-Landroid/app/SearchDialog;->onConfigurationChanged()V
-Landroid/app/SearchDialog;->resolveDialogTheme(Landroid/content/Context;)I
-Landroid/app/SearchDialog;->SEARCH_PLATE_LEFT_PADDING_NON_GLOBAL:I
-Landroid/app/SearchDialog;->setListSelection(I)V
-Landroid/app/SearchDialog;->setUserQuery(Ljava/lang/String;)V
-Landroid/app/SearchDialog;->show(Landroid/content/ComponentName;Landroid/os/Bundle;)Z
-Landroid/app/SearchDialog;->show(Ljava/lang/String;ZLandroid/content/ComponentName;Landroid/os/Bundle;)Z
-Landroid/app/SearchDialog;->updateSearchAppIcon()V
-Landroid/app/SearchDialog;->updateSearchAutoComplete()V
-Landroid/app/SearchDialog;->updateSearchBadge()V
-Landroid/app/SearchDialog;->updateUI()V
-Landroid/app/SearchManager;->CONTEXT_IS_VOICE:Ljava/lang/String;
-Landroid/app/SearchManager;->DBG:Z
-Landroid/app/SearchManager;->ensureSearchDialog()V
-Landroid/app/SearchManager;->getAssistIntent(Z)Landroid/content/Intent;
-Landroid/app/SearchManager;->getGlobalSearchActivities()Ljava/util/List;
-Landroid/app/SearchManager;->launchLegacyAssist(Ljava/lang/String;ILandroid/os/Bundle;)Z
-Landroid/app/SearchManager;->mCancelListener:Landroid/app/SearchManager$OnCancelListener;
-Landroid/app/SearchManager;->mContext:Landroid/content/Context;
-Landroid/app/SearchManager;->mDismissListener:Landroid/app/SearchManager$OnDismissListener;
-Landroid/app/SearchManager;->mHandler:Landroid/os/Handler;
-Landroid/app/SearchManager;->mService:Landroid/app/ISearchManager;
-Landroid/app/SearchManager;->SEARCH_MODE:Ljava/lang/String;
-Landroid/app/SearchManager;->startGlobalSearch(Ljava/lang/String;ZLandroid/os/Bundle;Landroid/graphics/Rect;)V
-Landroid/app/SearchManager;->TAG:Ljava/lang/String;
-Landroid/app/servertransaction/ActivityConfigurationChangeItem;
-Landroid/app/servertransaction/ActivityConfigurationChangeItem;-><init>()V
-Landroid/app/servertransaction/ActivityConfigurationChangeItem;-><init>(Landroid/os/Parcel;)V
-Landroid/app/servertransaction/ActivityConfigurationChangeItem;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/servertransaction/ActivityConfigurationChangeItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/servertransaction/ActivityConfigurationChangeItem;->mConfiguration:Landroid/content/res/Configuration;
-Landroid/app/servertransaction/ActivityConfigurationChangeItem;->obtain(Landroid/content/res/Configuration;)Landroid/app/servertransaction/ActivityConfigurationChangeItem;
-Landroid/app/servertransaction/ActivityConfigurationChangeItem;->recycle()V
-Landroid/app/servertransaction/ActivityLifecycleItem$LifecycleState;
-Landroid/app/servertransaction/ActivityLifecycleItem;
-Landroid/app/servertransaction/ActivityLifecycleItem;-><init>()V
-Landroid/app/servertransaction/ActivityLifecycleItem;->getTargetState()I
-Landroid/app/servertransaction/ActivityLifecycleItem;->ON_CREATE:I
-Landroid/app/servertransaction/ActivityLifecycleItem;->ON_DESTROY:I
-Landroid/app/servertransaction/ActivityLifecycleItem;->ON_PAUSE:I
-Landroid/app/servertransaction/ActivityLifecycleItem;->ON_RESTART:I
-Landroid/app/servertransaction/ActivityLifecycleItem;->ON_RESUME:I
-Landroid/app/servertransaction/ActivityLifecycleItem;->ON_START:I
-Landroid/app/servertransaction/ActivityLifecycleItem;->ON_STOP:I
-Landroid/app/servertransaction/ActivityLifecycleItem;->PRE_ON_CREATE:I
-Landroid/app/servertransaction/ActivityLifecycleItem;->recycle()V
-Landroid/app/servertransaction/ActivityLifecycleItem;->UNDEFINED:I
-Landroid/app/servertransaction/ActivityRelaunchItem;
-Landroid/app/servertransaction/ActivityRelaunchItem;-><init>()V
-Landroid/app/servertransaction/ActivityRelaunchItem;-><init>(Landroid/os/Parcel;)V
-Landroid/app/servertransaction/ActivityRelaunchItem;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/servertransaction/ActivityRelaunchItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/servertransaction/ActivityRelaunchItem;->mActivityClientRecord:Landroid/app/ActivityThread$ActivityClientRecord;
-Landroid/app/servertransaction/ActivityRelaunchItem;->mConfig:Landroid/util/MergedConfiguration;
-Landroid/app/servertransaction/ActivityRelaunchItem;->mConfigChanges:I
-Landroid/app/servertransaction/ActivityRelaunchItem;->mPendingNewIntents:Ljava/util/List;
-Landroid/app/servertransaction/ActivityRelaunchItem;->mPendingResults:Ljava/util/List;
-Landroid/app/servertransaction/ActivityRelaunchItem;->mPreserveWindow:Z
-Landroid/app/servertransaction/ActivityRelaunchItem;->obtain(Ljava/util/List;Ljava/util/List;ILandroid/util/MergedConfiguration;Z)Landroid/app/servertransaction/ActivityRelaunchItem;
-Landroid/app/servertransaction/ActivityRelaunchItem;->postExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/servertransaction/ActivityRelaunchItem;->preExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;)V
-Landroid/app/servertransaction/ActivityRelaunchItem;->recycle()V
-Landroid/app/servertransaction/ActivityRelaunchItem;->TAG:Ljava/lang/String;
-Landroid/app/servertransaction/ActivityResultItem;
-Landroid/app/servertransaction/ActivityResultItem;-><init>()V
-Landroid/app/servertransaction/ActivityResultItem;-><init>(Landroid/os/Parcel;)V
-Landroid/app/servertransaction/ActivityResultItem;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/servertransaction/ActivityResultItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/servertransaction/ActivityResultItem;->obtain(Ljava/util/List;)Landroid/app/servertransaction/ActivityResultItem;
-Landroid/app/servertransaction/ActivityResultItem;->recycle()V
-Landroid/app/servertransaction/BaseClientRequest;
-Landroid/app/servertransaction/BaseClientRequest;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/servertransaction/BaseClientRequest;->postExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/servertransaction/BaseClientRequest;->preExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;)V
-Landroid/app/servertransaction/ClientTransaction;
-Landroid/app/servertransaction/ClientTransaction;-><init>()V
-Landroid/app/servertransaction/ClientTransaction;-><init>(Landroid/os/Parcel;)V
-Landroid/app/servertransaction/ClientTransaction;->addCallback(Landroid/app/servertransaction/ClientTransactionItem;)V
-Landroid/app/servertransaction/ClientTransaction;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/servertransaction/ClientTransaction;->getClient()Landroid/app/IApplicationThread;
-Landroid/app/servertransaction/ClientTransaction;->mActivityToken:Landroid/os/IBinder;
-Landroid/app/servertransaction/ClientTransaction;->mClient:Landroid/app/IApplicationThread;
-Landroid/app/servertransaction/ClientTransaction;->mLifecycleStateRequest:Landroid/app/servertransaction/ActivityLifecycleItem;
-Landroid/app/servertransaction/ClientTransaction;->obtain(Landroid/app/IApplicationThread;Landroid/os/IBinder;)Landroid/app/servertransaction/ClientTransaction;
-Landroid/app/servertransaction/ClientTransaction;->preExecute(Landroid/app/ClientTransactionHandler;)V
-Landroid/app/servertransaction/ClientTransaction;->recycle()V
-Landroid/app/servertransaction/ClientTransaction;->schedule()V
-Landroid/app/servertransaction/ClientTransaction;->setLifecycleStateRequest(Landroid/app/servertransaction/ActivityLifecycleItem;)V
-Landroid/app/servertransaction/ClientTransactionItem;
-Landroid/app/servertransaction/ClientTransactionItem;-><init>()V
-Landroid/app/servertransaction/ClientTransactionItem;->getPostExecutionState()I
-Landroid/app/servertransaction/ConfigurationChangeItem;
-Landroid/app/servertransaction/ConfigurationChangeItem;-><init>()V
-Landroid/app/servertransaction/ConfigurationChangeItem;-><init>(Landroid/os/Parcel;)V
-Landroid/app/servertransaction/ConfigurationChangeItem;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/servertransaction/ConfigurationChangeItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/servertransaction/ConfigurationChangeItem;->mConfiguration:Landroid/content/res/Configuration;
-Landroid/app/servertransaction/ConfigurationChangeItem;->obtain(Landroid/content/res/Configuration;)Landroid/app/servertransaction/ConfigurationChangeItem;
-Landroid/app/servertransaction/ConfigurationChangeItem;->preExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;)V
-Landroid/app/servertransaction/ConfigurationChangeItem;->recycle()V
-Landroid/app/servertransaction/DestroyActivityItem;
-Landroid/app/servertransaction/DestroyActivityItem;-><init>()V
-Landroid/app/servertransaction/DestroyActivityItem;-><init>(Landroid/os/Parcel;)V
-Landroid/app/servertransaction/DestroyActivityItem;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/servertransaction/DestroyActivityItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/servertransaction/DestroyActivityItem;->getTargetState()I
-Landroid/app/servertransaction/DestroyActivityItem;->mConfigChanges:I
-Landroid/app/servertransaction/DestroyActivityItem;->mFinished:Z
-Landroid/app/servertransaction/DestroyActivityItem;->obtain(ZI)Landroid/app/servertransaction/DestroyActivityItem;
-Landroid/app/servertransaction/DestroyActivityItem;->recycle()V
-Landroid/app/servertransaction/LaunchActivityItem;
-Landroid/app/servertransaction/LaunchActivityItem;-><init>()V
-Landroid/app/servertransaction/LaunchActivityItem;-><init>(Landroid/os/Parcel;)V
-Landroid/app/servertransaction/LaunchActivityItem;->activityInfoEqual(Landroid/content/pm/ActivityInfo;)Z
-Landroid/app/servertransaction/LaunchActivityItem;->areBundlesEqual(Landroid/os/BaseBundle;Landroid/os/BaseBundle;)Z
-Landroid/app/servertransaction/LaunchActivityItem;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/servertransaction/LaunchActivityItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/servertransaction/LaunchActivityItem;->mCompatInfo:Landroid/content/res/CompatibilityInfo;
-Landroid/app/servertransaction/LaunchActivityItem;->mCurConfig:Landroid/content/res/Configuration;
-Landroid/app/servertransaction/LaunchActivityItem;->mIdent:I
-Landroid/app/servertransaction/LaunchActivityItem;->mIsForward:Z
-Landroid/app/servertransaction/LaunchActivityItem;->mOverrideConfig:Landroid/content/res/Configuration;
-Landroid/app/servertransaction/LaunchActivityItem;->mPendingNewIntents:Ljava/util/List;
-Landroid/app/servertransaction/LaunchActivityItem;->mPendingResults:Ljava/util/List;
-Landroid/app/servertransaction/LaunchActivityItem;->mPersistentState:Landroid/os/PersistableBundle;
-Landroid/app/servertransaction/LaunchActivityItem;->mProcState:I
-Landroid/app/servertransaction/LaunchActivityItem;->mProfilerInfo:Landroid/app/ProfilerInfo;
-Landroid/app/servertransaction/LaunchActivityItem;->mReferrer:Ljava/lang/String;
-Landroid/app/servertransaction/LaunchActivityItem;->mState:Landroid/os/Bundle;
-Landroid/app/servertransaction/LaunchActivityItem;->mVoiceInteractor:Lcom/android/internal/app/IVoiceInteractor;
-Landroid/app/servertransaction/LaunchActivityItem;->obtain(Landroid/content/Intent;ILandroid/content/pm/ActivityInfo;Landroid/content/res/Configuration;Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;ILandroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/util/List;Ljava/util/List;ZLandroid/app/ProfilerInfo;)Landroid/app/servertransaction/LaunchActivityItem;
-Landroid/app/servertransaction/LaunchActivityItem;->preExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;)V
-Landroid/app/servertransaction/LaunchActivityItem;->recycle()V
-Landroid/app/servertransaction/LaunchActivityItem;->setValues(Landroid/app/servertransaction/LaunchActivityItem;Landroid/content/Intent;ILandroid/content/pm/ActivityInfo;Landroid/content/res/Configuration;Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;ILandroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/util/List;Ljava/util/List;ZLandroid/app/ProfilerInfo;)V
-Landroid/app/servertransaction/MoveToDisplayItem;
-Landroid/app/servertransaction/MoveToDisplayItem;-><init>()V
-Landroid/app/servertransaction/MoveToDisplayItem;-><init>(Landroid/os/Parcel;)V
-Landroid/app/servertransaction/MoveToDisplayItem;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/servertransaction/MoveToDisplayItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/servertransaction/MoveToDisplayItem;->mConfiguration:Landroid/content/res/Configuration;
-Landroid/app/servertransaction/MoveToDisplayItem;->mTargetDisplayId:I
-Landroid/app/servertransaction/MoveToDisplayItem;->obtain(ILandroid/content/res/Configuration;)Landroid/app/servertransaction/MoveToDisplayItem;
-Landroid/app/servertransaction/MoveToDisplayItem;->recycle()V
-Landroid/app/servertransaction/MultiWindowModeChangeItem;
-Landroid/app/servertransaction/MultiWindowModeChangeItem;-><init>()V
-Landroid/app/servertransaction/MultiWindowModeChangeItem;-><init>(Landroid/os/Parcel;)V
-Landroid/app/servertransaction/MultiWindowModeChangeItem;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/servertransaction/MultiWindowModeChangeItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/servertransaction/MultiWindowModeChangeItem;->mIsInMultiWindowMode:Z
-Landroid/app/servertransaction/MultiWindowModeChangeItem;->mOverrideConfig:Landroid/content/res/Configuration;
-Landroid/app/servertransaction/MultiWindowModeChangeItem;->obtain(ZLandroid/content/res/Configuration;)Landroid/app/servertransaction/MultiWindowModeChangeItem;
-Landroid/app/servertransaction/MultiWindowModeChangeItem;->recycle()V
-Landroid/app/servertransaction/NewIntentItem;
-Landroid/app/servertransaction/NewIntentItem;-><init>()V
-Landroid/app/servertransaction/NewIntentItem;-><init>(Landroid/os/Parcel;)V
-Landroid/app/servertransaction/NewIntentItem;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/servertransaction/NewIntentItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/servertransaction/NewIntentItem;->mPause:Z
-Landroid/app/servertransaction/NewIntentItem;->obtain(Ljava/util/List;Z)Landroid/app/servertransaction/NewIntentItem;
-Landroid/app/servertransaction/NewIntentItem;->recycle()V
-Landroid/app/servertransaction/ObjectPoolItem;
-Landroid/app/servertransaction/ObjectPoolItem;->recycle()V
-Landroid/app/servertransaction/PauseActivityItem;
-Landroid/app/servertransaction/PauseActivityItem;-><init>()V
-Landroid/app/servertransaction/PauseActivityItem;-><init>(Landroid/os/Parcel;)V
-Landroid/app/servertransaction/PauseActivityItem;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/servertransaction/PauseActivityItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/servertransaction/PauseActivityItem;->getTargetState()I
-Landroid/app/servertransaction/PauseActivityItem;->mConfigChanges:I
-Landroid/app/servertransaction/PauseActivityItem;->mDontReport:Z
-Landroid/app/servertransaction/PauseActivityItem;->mFinished:Z
-Landroid/app/servertransaction/PauseActivityItem;->mUserLeaving:Z
-Landroid/app/servertransaction/PauseActivityItem;->obtain()Landroid/app/servertransaction/PauseActivityItem;
-Landroid/app/servertransaction/PauseActivityItem;->obtain(ZZIZ)Landroid/app/servertransaction/PauseActivityItem;
-Landroid/app/servertransaction/PauseActivityItem;->postExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/servertransaction/PauseActivityItem;->recycle()V
-Landroid/app/servertransaction/PauseActivityItem;->TAG:Ljava/lang/String;
-Landroid/app/servertransaction/PendingTransactionActions$StopInfo;
-Landroid/app/servertransaction/PendingTransactionActions$StopInfo;-><init>()V
-Landroid/app/servertransaction/PendingTransactionActions$StopInfo;->mActivity:Landroid/app/ActivityThread$ActivityClientRecord;
-Landroid/app/servertransaction/PendingTransactionActions$StopInfo;->mDescription:Ljava/lang/CharSequence;
-Landroid/app/servertransaction/PendingTransactionActions$StopInfo;->mPersistentState:Landroid/os/PersistableBundle;
-Landroid/app/servertransaction/PendingTransactionActions$StopInfo;->mState:Landroid/os/Bundle;
-Landroid/app/servertransaction/PendingTransactionActions$StopInfo;->setActivity(Landroid/app/ActivityThread$ActivityClientRecord;)V
-Landroid/app/servertransaction/PendingTransactionActions$StopInfo;->setDescription(Ljava/lang/CharSequence;)V
-Landroid/app/servertransaction/PendingTransactionActions$StopInfo;->setPersistentState(Landroid/os/PersistableBundle;)V
-Landroid/app/servertransaction/PendingTransactionActions$StopInfo;->setState(Landroid/os/Bundle;)V
-Landroid/app/servertransaction/PendingTransactionActions$StopInfo;->TAG:Ljava/lang/String;
-Landroid/app/servertransaction/PendingTransactionActions;
-Landroid/app/servertransaction/PendingTransactionActions;-><init>()V
-Landroid/app/servertransaction/PendingTransactionActions;->clear()V
-Landroid/app/servertransaction/PendingTransactionActions;->getOldState()Landroid/os/Bundle;
-Landroid/app/servertransaction/PendingTransactionActions;->getStopInfo()Landroid/app/servertransaction/PendingTransactionActions$StopInfo;
-Landroid/app/servertransaction/PendingTransactionActions;->mCallOnPostCreate:Z
-Landroid/app/servertransaction/PendingTransactionActions;->mOldState:Landroid/os/Bundle;
-Landroid/app/servertransaction/PendingTransactionActions;->mReportRelaunchToWM:Z
-Landroid/app/servertransaction/PendingTransactionActions;->mRestoreInstanceState:Z
-Landroid/app/servertransaction/PendingTransactionActions;->mStopInfo:Landroid/app/servertransaction/PendingTransactionActions$StopInfo;
-Landroid/app/servertransaction/PendingTransactionActions;->setCallOnPostCreate(Z)V
-Landroid/app/servertransaction/PendingTransactionActions;->setOldState(Landroid/os/Bundle;)V
-Landroid/app/servertransaction/PendingTransactionActions;->setReportRelaunchToWindowManager(Z)V
-Landroid/app/servertransaction/PendingTransactionActions;->setRestoreInstanceState(Z)V
-Landroid/app/servertransaction/PendingTransactionActions;->setStopInfo(Landroid/app/servertransaction/PendingTransactionActions$StopInfo;)V
-Landroid/app/servertransaction/PendingTransactionActions;->shouldCallOnPostCreate()Z
-Landroid/app/servertransaction/PendingTransactionActions;->shouldReportRelaunchToWindowManager()Z
-Landroid/app/servertransaction/PendingTransactionActions;->shouldRestoreInstanceState()Z
-Landroid/app/servertransaction/PipModeChangeItem;
-Landroid/app/servertransaction/PipModeChangeItem;-><init>()V
-Landroid/app/servertransaction/PipModeChangeItem;-><init>(Landroid/os/Parcel;)V
-Landroid/app/servertransaction/PipModeChangeItem;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/servertransaction/PipModeChangeItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/servertransaction/PipModeChangeItem;->mIsInPipMode:Z
-Landroid/app/servertransaction/PipModeChangeItem;->mOverrideConfig:Landroid/content/res/Configuration;
-Landroid/app/servertransaction/PipModeChangeItem;->obtain(ZLandroid/content/res/Configuration;)Landroid/app/servertransaction/PipModeChangeItem;
-Landroid/app/servertransaction/PipModeChangeItem;->recycle()V
-Landroid/app/servertransaction/ResumeActivityItem;
-Landroid/app/servertransaction/ResumeActivityItem;-><init>()V
-Landroid/app/servertransaction/ResumeActivityItem;-><init>(Landroid/os/Parcel;)V
-Landroid/app/servertransaction/ResumeActivityItem;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/servertransaction/ResumeActivityItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/servertransaction/ResumeActivityItem;->getTargetState()I
-Landroid/app/servertransaction/ResumeActivityItem;->mIsForward:Z
-Landroid/app/servertransaction/ResumeActivityItem;->mProcState:I
-Landroid/app/servertransaction/ResumeActivityItem;->mUpdateProcState:Z
-Landroid/app/servertransaction/ResumeActivityItem;->obtain(IZ)Landroid/app/servertransaction/ResumeActivityItem;
-Landroid/app/servertransaction/ResumeActivityItem;->obtain(Z)Landroid/app/servertransaction/ResumeActivityItem;
-Landroid/app/servertransaction/ResumeActivityItem;->postExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/servertransaction/ResumeActivityItem;->preExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;)V
-Landroid/app/servertransaction/ResumeActivityItem;->recycle()V
-Landroid/app/servertransaction/ResumeActivityItem;->TAG:Ljava/lang/String;
-Landroid/app/servertransaction/StopActivityItem;
-Landroid/app/servertransaction/StopActivityItem;-><init>()V
-Landroid/app/servertransaction/StopActivityItem;-><init>(Landroid/os/Parcel;)V
-Landroid/app/servertransaction/StopActivityItem;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/servertransaction/StopActivityItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/servertransaction/StopActivityItem;->getTargetState()I
-Landroid/app/servertransaction/StopActivityItem;->mConfigChanges:I
-Landroid/app/servertransaction/StopActivityItem;->mShowWindow:Z
-Landroid/app/servertransaction/StopActivityItem;->obtain(ZI)Landroid/app/servertransaction/StopActivityItem;
-Landroid/app/servertransaction/StopActivityItem;->postExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/servertransaction/StopActivityItem;->recycle()V
-Landroid/app/servertransaction/StopActivityItem;->TAG:Ljava/lang/String;
-Landroid/app/servertransaction/TransactionExecutor;
-Landroid/app/servertransaction/TransactionExecutor;-><init>(Landroid/app/ClientTransactionHandler;)V
-Landroid/app/servertransaction/TransactionExecutor;->cycleToPath(Landroid/app/ActivityThread$ActivityClientRecord;I)V
-Landroid/app/servertransaction/TransactionExecutor;->cycleToPath(Landroid/app/ActivityThread$ActivityClientRecord;IZ)V
-Landroid/app/servertransaction/TransactionExecutor;->DEBUG_RESOLVER:Z
-Landroid/app/servertransaction/TransactionExecutor;->execute(Landroid/app/servertransaction/ClientTransaction;)V
-Landroid/app/servertransaction/TransactionExecutor;->executeCallbacks(Landroid/app/servertransaction/ClientTransaction;)V
-Landroid/app/servertransaction/TransactionExecutor;->executeLifecycleState(Landroid/app/servertransaction/ClientTransaction;)V
-Landroid/app/servertransaction/TransactionExecutor;->log(Ljava/lang/String;)V
-Landroid/app/servertransaction/TransactionExecutor;->mHelper:Landroid/app/servertransaction/TransactionExecutorHelper;
-Landroid/app/servertransaction/TransactionExecutor;->mPendingActions:Landroid/app/servertransaction/PendingTransactionActions;
-Landroid/app/servertransaction/TransactionExecutor;->mTransactionHandler:Landroid/app/ClientTransactionHandler;
-Landroid/app/servertransaction/TransactionExecutor;->performLifecycleSequence(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/util/IntArray;)V
-Landroid/app/servertransaction/TransactionExecutor;->TAG:Ljava/lang/String;
-Landroid/app/servertransaction/TransactionExecutorHelper;
-Landroid/app/servertransaction/TransactionExecutorHelper;-><init>()V
-Landroid/app/servertransaction/TransactionExecutorHelper;->DESTRUCTION_PENALTY:I
-Landroid/app/servertransaction/TransactionExecutorHelper;->getClosestOfStates(Landroid/app/ActivityThread$ActivityClientRecord;[I)I
-Landroid/app/servertransaction/TransactionExecutorHelper;->getClosestPreExecutionState(Landroid/app/ActivityThread$ActivityClientRecord;I)I
-Landroid/app/servertransaction/TransactionExecutorHelper;->getLifecyclePath(IIZ)Landroid/util/IntArray;
-Landroid/app/servertransaction/TransactionExecutorHelper;->getLifecycleRequestForCurrentState(Landroid/app/ActivityThread$ActivityClientRecord;)Landroid/app/servertransaction/ActivityLifecycleItem;
-Landroid/app/servertransaction/TransactionExecutorHelper;->lastCallbackRequestingState(Landroid/app/servertransaction/ClientTransaction;)I
-Landroid/app/servertransaction/TransactionExecutorHelper;->mLifecycleSequence:Landroid/util/IntArray;
-Landroid/app/servertransaction/TransactionExecutorHelper;->ON_RESUME_PRE_EXCUTION_STATES:[I
-Landroid/app/servertransaction/TransactionExecutorHelper;->pathInvolvesDestruction(Landroid/util/IntArray;)Z
-Landroid/app/servertransaction/WindowVisibilityItem;
-Landroid/app/servertransaction/WindowVisibilityItem;-><init>()V
-Landroid/app/servertransaction/WindowVisibilityItem;-><init>(Landroid/os/Parcel;)V
-Landroid/app/servertransaction/WindowVisibilityItem;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/servertransaction/WindowVisibilityItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-Landroid/app/servertransaction/WindowVisibilityItem;->mShowWindow:Z
-Landroid/app/servertransaction/WindowVisibilityItem;->obtain(Z)Landroid/app/servertransaction/WindowVisibilityItem;
-Landroid/app/servertransaction/WindowVisibilityItem;->recycle()V
-Landroid/app/Service$StartArgFlags;
-Landroid/app/Service$StartResult;
-Landroid/app/Service$StopForegroundFlags;
-Landroid/app/Service;->detachAndCleanUp()V
-Landroid/app/Service;->getClassName()Ljava/lang/String;
-Landroid/app/Service;->START_TASK_REMOVED_COMPLETE:I
-Landroid/app/Service;->TAG:Ljava/lang/String;
-Landroid/app/ServiceConnectionLeaked;
-Landroid/app/ServiceStartArgs;
-Landroid/app/ServiceStartArgs;-><init>(Landroid/os/Parcel;)V
-Landroid/app/ServiceStartArgs;-><init>(ZIILandroid/content/Intent;)V
-Landroid/app/ServiceStartArgs;->args:Landroid/content/Intent;
-Landroid/app/ServiceStartArgs;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/ServiceStartArgs;->flags:I
-Landroid/app/ServiceStartArgs;->startId:I
-Landroid/app/ServiceStartArgs;->taskRemoved:Z
-Landroid/app/SharedElementCallback;->BUNDLE_SNAPSHOT_BITMAP:Ljava/lang/String;
-Landroid/app/SharedElementCallback;->BUNDLE_SNAPSHOT_GRAPHIC_BUFFER:Ljava/lang/String;
-Landroid/app/SharedElementCallback;->BUNDLE_SNAPSHOT_IMAGE_MATRIX:Ljava/lang/String;
-Landroid/app/SharedElementCallback;->BUNDLE_SNAPSHOT_IMAGE_SCALETYPE:Ljava/lang/String;
-Landroid/app/SharedElementCallback;->mTempMatrix:Landroid/graphics/Matrix;
-Landroid/app/SharedElementCallback;->NULL_CALLBACK:Landroid/app/SharedElementCallback;
-Landroid/app/SharedPreferencesImpl$EditorImpl;
-Landroid/app/SharedPreferencesImpl$EditorImpl;-><init>()V
-Landroid/app/SharedPreferencesImpl$EditorImpl;->commitToMemory()Landroid/app/SharedPreferencesImpl$MemoryCommitResult;
-Landroid/app/SharedPreferencesImpl$EditorImpl;->mClear:Z
-Landroid/app/SharedPreferencesImpl$EditorImpl;->mEditorLock:Ljava/lang/Object;
-Landroid/app/SharedPreferencesImpl$EditorImpl;->mModified:Ljava/util/Map;
-Landroid/app/SharedPreferencesImpl$EditorImpl;->notifyListeners(Landroid/app/SharedPreferencesImpl$MemoryCommitResult;)V
-Landroid/app/SharedPreferencesImpl$MemoryCommitResult;
-Landroid/app/SharedPreferencesImpl$MemoryCommitResult;-><init>(JLjava/util/List;Ljava/util/Set;Ljava/util/Map;)V
-Landroid/app/SharedPreferencesImpl$MemoryCommitResult;->keysModified:Ljava/util/List;
-Landroid/app/SharedPreferencesImpl$MemoryCommitResult;->listeners:Ljava/util/Set;
-Landroid/app/SharedPreferencesImpl$MemoryCommitResult;->mapToWriteToDisk:Ljava/util/Map;
-Landroid/app/SharedPreferencesImpl$MemoryCommitResult;->memoryStateGeneration:J
-Landroid/app/SharedPreferencesImpl$MemoryCommitResult;->setDiskWriteResult(ZZ)V
-Landroid/app/SharedPreferencesImpl$MemoryCommitResult;->wasWritten:Z
-Landroid/app/SharedPreferencesImpl$MemoryCommitResult;->writeToDiskResult:Z
-Landroid/app/SharedPreferencesImpl$MemoryCommitResult;->writtenToDiskLatch:Ljava/util/concurrent/CountDownLatch;
-Landroid/app/SharedPreferencesImpl;
-Landroid/app/SharedPreferencesImpl;->awaitLoadedLocked()V
-Landroid/app/SharedPreferencesImpl;->CONTENT:Ljava/lang/Object;
-Landroid/app/SharedPreferencesImpl;->createFileOutputStream(Ljava/io/File;)Ljava/io/FileOutputStream;
-Landroid/app/SharedPreferencesImpl;->DEBUG:Z
-Landroid/app/SharedPreferencesImpl;->enqueueDiskWrite(Landroid/app/SharedPreferencesImpl$MemoryCommitResult;Ljava/lang/Runnable;)V
-Landroid/app/SharedPreferencesImpl;->hasFileChangedUnexpectedly()Z
-Landroid/app/SharedPreferencesImpl;->loadFromDisk()V
-Landroid/app/SharedPreferencesImpl;->makeBackupFile(Ljava/io/File;)Ljava/io/File;
-Landroid/app/SharedPreferencesImpl;->MAX_FSYNC_DURATION_MILLIS:J
-Landroid/app/SharedPreferencesImpl;->mBackupFile:Ljava/io/File;
-Landroid/app/SharedPreferencesImpl;->mCurrentMemoryStateGeneration:J
-Landroid/app/SharedPreferencesImpl;->mDiskStateGeneration:J
-Landroid/app/SharedPreferencesImpl;->mDiskWritesInFlight:I
-Landroid/app/SharedPreferencesImpl;->mListeners:Ljava/util/WeakHashMap;
-Landroid/app/SharedPreferencesImpl;->mLoaded:Z
-Landroid/app/SharedPreferencesImpl;->mLock:Ljava/lang/Object;
-Landroid/app/SharedPreferencesImpl;->mMap:Ljava/util/Map;
-Landroid/app/SharedPreferencesImpl;->mMode:I
-Landroid/app/SharedPreferencesImpl;->mNumSync:I
-Landroid/app/SharedPreferencesImpl;->mStatSize:J
-Landroid/app/SharedPreferencesImpl;->mStatTimestamp:Landroid/system/StructTimespec;
-Landroid/app/SharedPreferencesImpl;->mSyncTimes:Lcom/android/internal/util/ExponentiallyBucketedHistogram;
-Landroid/app/SharedPreferencesImpl;->mThrowable:Ljava/lang/Throwable;
-Landroid/app/SharedPreferencesImpl;->mWritingToDiskLock:Ljava/lang/Object;
-Landroid/app/SharedPreferencesImpl;->TAG:Ljava/lang/String;
-Landroid/app/SharedPreferencesImpl;->writeToFile(Landroid/app/SharedPreferencesImpl$MemoryCommitResult;Z)V
-Landroid/app/slice/ISliceListener$Stub$Proxy;
-Landroid/app/slice/ISliceListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/slice/ISliceListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/slice/ISliceListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/slice/ISliceListener$Stub$Proxy;->onSliceUpdated(Landroid/app/slice/Slice;)V
-Landroid/app/slice/ISliceListener$Stub;
-Landroid/app/slice/ISliceListener$Stub;-><init>()V
-Landroid/app/slice/ISliceListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/slice/ISliceListener;
-Landroid/app/slice/ISliceListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/slice/ISliceListener$Stub;->TRANSACTION_onSliceUpdated:I
-Landroid/app/slice/ISliceListener;
-Landroid/app/slice/ISliceListener;->onSliceUpdated(Landroid/app/slice/Slice;)V
-Landroid/app/slice/ISliceManager$Stub$Proxy;
-Landroid/app/slice/ISliceManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/slice/ISliceManager$Stub$Proxy;->applyRestore([BI)V
-Landroid/app/slice/ISliceManager$Stub$Proxy;->checkSlicePermission(Landroid/net/Uri;Ljava/lang/String;II[Ljava/lang/String;)I
-Landroid/app/slice/ISliceManager$Stub$Proxy;->getBackupPayload(I)[B
-Landroid/app/slice/ISliceManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/slice/ISliceManager$Stub$Proxy;->getPinnedSlices(Ljava/lang/String;)[Landroid/net/Uri;
-Landroid/app/slice/ISliceManager$Stub$Proxy;->getPinnedSpecs(Landroid/net/Uri;Ljava/lang/String;)[Landroid/app/slice/SliceSpec;
-Landroid/app/slice/ISliceManager$Stub$Proxy;->grantPermissionFromUser(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Z)V
-Landroid/app/slice/ISliceManager$Stub$Proxy;->grantSlicePermission(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V
-Landroid/app/slice/ISliceManager$Stub$Proxy;->hasSliceAccess(Ljava/lang/String;)Z
-Landroid/app/slice/ISliceManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/slice/ISliceManager$Stub$Proxy;->pinSlice(Ljava/lang/String;Landroid/net/Uri;[Landroid/app/slice/SliceSpec;Landroid/os/IBinder;)V
-Landroid/app/slice/ISliceManager$Stub$Proxy;->revokeSlicePermission(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V
-Landroid/app/slice/ISliceManager$Stub$Proxy;->unpinSlice(Ljava/lang/String;Landroid/net/Uri;Landroid/os/IBinder;)V
-Landroid/app/slice/ISliceManager$Stub;
-Landroid/app/slice/ISliceManager$Stub;-><init>()V
-Landroid/app/slice/ISliceManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/slice/ISliceManager;
-Landroid/app/slice/ISliceManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/slice/ISliceManager$Stub;->TRANSACTION_applyRestore:I
-Landroid/app/slice/ISliceManager$Stub;->TRANSACTION_checkSlicePermission:I
-Landroid/app/slice/ISliceManager$Stub;->TRANSACTION_getBackupPayload:I
-Landroid/app/slice/ISliceManager$Stub;->TRANSACTION_getPinnedSlices:I
-Landroid/app/slice/ISliceManager$Stub;->TRANSACTION_getPinnedSpecs:I
-Landroid/app/slice/ISliceManager$Stub;->TRANSACTION_grantPermissionFromUser:I
-Landroid/app/slice/ISliceManager$Stub;->TRANSACTION_grantSlicePermission:I
-Landroid/app/slice/ISliceManager$Stub;->TRANSACTION_hasSliceAccess:I
-Landroid/app/slice/ISliceManager$Stub;->TRANSACTION_pinSlice:I
-Landroid/app/slice/ISliceManager$Stub;->TRANSACTION_revokeSlicePermission:I
-Landroid/app/slice/ISliceManager$Stub;->TRANSACTION_unpinSlice:I
-Landroid/app/slice/ISliceManager;
-Landroid/app/slice/ISliceManager;->applyRestore([BI)V
-Landroid/app/slice/ISliceManager;->checkSlicePermission(Landroid/net/Uri;Ljava/lang/String;II[Ljava/lang/String;)I
-Landroid/app/slice/ISliceManager;->getBackupPayload(I)[B
-Landroid/app/slice/ISliceManager;->getPinnedSlices(Ljava/lang/String;)[Landroid/net/Uri;
-Landroid/app/slice/ISliceManager;->getPinnedSpecs(Landroid/net/Uri;Ljava/lang/String;)[Landroid/app/slice/SliceSpec;
-Landroid/app/slice/ISliceManager;->grantPermissionFromUser(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Z)V
-Landroid/app/slice/ISliceManager;->grantSlicePermission(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V
-Landroid/app/slice/ISliceManager;->hasSliceAccess(Ljava/lang/String;)Z
-Landroid/app/slice/ISliceManager;->pinSlice(Ljava/lang/String;Landroid/net/Uri;[Landroid/app/slice/SliceSpec;Landroid/os/IBinder;)V
-Landroid/app/slice/ISliceManager;->revokeSlicePermission(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V
-Landroid/app/slice/ISliceManager;->unpinSlice(Ljava/lang/String;Landroid/net/Uri;Landroid/os/IBinder;)V
-Landroid/app/slice/Slice$Builder;->mHints:Ljava/util/ArrayList;
-Landroid/app/slice/Slice$Builder;->mItems:Ljava/util/ArrayList;
-Landroid/app/slice/Slice$Builder;->mSpec:Landroid/app/slice/SliceSpec;
-Landroid/app/slice/Slice$Builder;->mUri:Landroid/net/Uri;
-Landroid/app/slice/Slice$SliceHint;
-Landroid/app/slice/Slice$SliceSubtype;
-Landroid/app/slice/Slice;-><init>(Ljava/util/ArrayList;[Ljava/lang/String;Landroid/net/Uri;Landroid/app/slice/SliceSpec;)V
-Landroid/app/slice/Slice;->hasHint(Ljava/lang/String;)Z
-Landroid/app/slice/Slice;->HINT_CALLER_NEEDED:Ljava/lang/String;
-Landroid/app/slice/Slice;->HINT_TOGGLE:Ljava/lang/String;
-Landroid/app/slice/Slice;->mHints:[Ljava/lang/String;
-Landroid/app/slice/Slice;->mItems:[Landroid/app/slice/SliceItem;
-Landroid/app/slice/Slice;->mSpec:Landroid/app/slice/SliceSpec;
-Landroid/app/slice/Slice;->mUri:Landroid/net/Uri;
-Landroid/app/slice/Slice;->toString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/app/slice/SliceItem$SliceType;
-Landroid/app/slice/SliceItem;-><init>(Landroid/app/PendingIntent;Landroid/app/slice/Slice;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/app/slice/SliceItem;-><init>(Landroid/os/Parcel;)V
-Landroid/app/slice/SliceItem;-><init>(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
-Landroid/app/slice/SliceItem;-><init>(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/app/slice/SliceItem;->getBaseType(Ljava/lang/String;)Ljava/lang/String;
-Landroid/app/slice/SliceItem;->getRemoteView()Landroid/widget/RemoteViews;
-Landroid/app/slice/SliceItem;->hasAnyHints([Ljava/lang/String;)Z
-Landroid/app/slice/SliceItem;->hasHints([Ljava/lang/String;)Z
-Landroid/app/slice/SliceItem;->mFormat:Ljava/lang/String;
-Landroid/app/slice/SliceItem;->mHints:[Ljava/lang/String;
-Landroid/app/slice/SliceItem;->mObj:Ljava/lang/Object;
-Landroid/app/slice/SliceItem;->mSubType:Ljava/lang/String;
-Landroid/app/slice/SliceItem;->readObj(Ljava/lang/String;Landroid/os/Parcel;)Ljava/lang/Object;
-Landroid/app/slice/SliceItem;->TAG:Ljava/lang/String;
-Landroid/app/slice/SliceItem;->writeObj(Landroid/os/Parcel;ILjava/lang/Object;Ljava/lang/String;)V
-Landroid/app/slice/SliceManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
-Landroid/app/slice/SliceManager;->ACTION_REQUEST_SLICE_PERMISSION:Ljava/lang/String;
-Landroid/app/slice/SliceManager;->enforceSlicePermission(Landroid/net/Uri;Ljava/lang/String;II[Ljava/lang/String;)V
-Landroid/app/slice/SliceManager;->getAuthority(Landroid/content/Intent;)Ljava/lang/String;
-Landroid/app/slice/SliceManager;->grantPermissionFromUser(Landroid/net/Uri;Ljava/lang/String;Z)V
-Landroid/app/slice/SliceManager;->hasSliceAccess()Z
-Landroid/app/slice/SliceManager;->mContext:Landroid/content/Context;
-Landroid/app/slice/SliceManager;->mService:Landroid/app/slice/ISliceManager;
-Landroid/app/slice/SliceManager;->mToken:Landroid/os/IBinder;
-Landroid/app/slice/SliceManager;->resolveStatic(Landroid/content/Intent;Landroid/content/ContentResolver;)Landroid/net/Uri;
-Landroid/app/slice/SliceManager;->TAG:Ljava/lang/String;
-Landroid/app/slice/SliceMetrics;->mLogMaker:Landroid/metrics/LogMaker;
-Landroid/app/slice/SliceMetrics;->mMetricsLogger:Lcom/android/internal/logging/MetricsLogger;
-Landroid/app/slice/SliceMetrics;->TAG:Ljava/lang/String;
-Landroid/app/slice/SliceProvider;->createPermissionIntent(Landroid/content/Context;Landroid/net/Uri;Ljava/lang/String;)Landroid/app/PendingIntent;
-Landroid/app/slice/SliceProvider;->createPermissionSlice(Landroid/content/Context;Landroid/net/Uri;Ljava/lang/String;)Landroid/app/slice/Slice;
-Landroid/app/slice/SliceProvider;->DEBUG:Z
-Landroid/app/slice/SliceProvider;->EXTRA_BIND_URI:Ljava/lang/String;
-Landroid/app/slice/SliceProvider;->EXTRA_INTENT:Ljava/lang/String;
-Landroid/app/slice/SliceProvider;->EXTRA_PKG:Ljava/lang/String;
-Landroid/app/slice/SliceProvider;->EXTRA_PROVIDER_PKG:Ljava/lang/String;
-Landroid/app/slice/SliceProvider;->EXTRA_RESULT:Ljava/lang/String;
-Landroid/app/slice/SliceProvider;->EXTRA_SLICE:Ljava/lang/String;
-Landroid/app/slice/SliceProvider;->EXTRA_SLICE_DESCENDANTS:Ljava/lang/String;
-Landroid/app/slice/SliceProvider;->EXTRA_SUPPORTED_SPECS:Ljava/lang/String;
-Landroid/app/slice/SliceProvider;->getPermissionString(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/CharSequence;
-Landroid/app/slice/SliceProvider;->handleBindSlice(Landroid/net/Uri;Ljava/util/List;Ljava/lang/String;II)Landroid/app/slice/Slice;
-Landroid/app/slice/SliceProvider;->handleGetDescendants(Landroid/net/Uri;)Ljava/util/Collection;
-Landroid/app/slice/SliceProvider;->handlePinSlice(Landroid/net/Uri;)V
-Landroid/app/slice/SliceProvider;->handleUnpinSlice(Landroid/net/Uri;)V
-Landroid/app/slice/SliceProvider;->mAnr:Ljava/lang/Runnable;
-Landroid/app/slice/SliceProvider;->mAutoGrantPermissions:[Ljava/lang/String;
-Landroid/app/slice/SliceProvider;->mCallback:Ljava/lang/String;
-Landroid/app/slice/SliceProvider;->METHOD_GET_DESCENDANTS:Ljava/lang/String;
-Landroid/app/slice/SliceProvider;->METHOD_GET_PERMISSIONS:Ljava/lang/String;
-Landroid/app/slice/SliceProvider;->METHOD_MAP_INTENT:Ljava/lang/String;
-Landroid/app/slice/SliceProvider;->METHOD_MAP_ONLY_INTENT:Ljava/lang/String;
-Landroid/app/slice/SliceProvider;->METHOD_PIN:Ljava/lang/String;
-Landroid/app/slice/SliceProvider;->METHOD_SLICE:Ljava/lang/String;
-Landroid/app/slice/SliceProvider;->METHOD_UNPIN:Ljava/lang/String;
-Landroid/app/slice/SliceProvider;->mSliceManager:Landroid/app/slice/SliceManager;
-Landroid/app/slice/SliceProvider;->onBindSliceStrict(Landroid/net/Uri;Ljava/util/List;)Landroid/app/slice/Slice;
-Landroid/app/slice/SliceProvider;->SLICE_BIND_ANR:J
-Landroid/app/slice/SliceProvider;->TAG:Ljava/lang/String;
-Landroid/app/slice/SliceQuery;
-Landroid/app/slice/SliceQuery;-><init>()V
-Landroid/app/slice/SliceQuery;->compareTypes(Landroid/app/slice/SliceItem;Ljava/lang/String;)Z
-Landroid/app/slice/SliceQuery;->contains(Landroid/app/slice/SliceItem;Landroid/app/slice/SliceItem;)Z
-Landroid/app/slice/SliceQuery;->find(Landroid/app/slice/Slice;Ljava/lang/String;)Landroid/app/slice/SliceItem;
-Landroid/app/slice/SliceQuery;->find(Landroid/app/slice/Slice;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/slice/SliceItem;
-Landroid/app/slice/SliceQuery;->find(Landroid/app/slice/Slice;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Landroid/app/slice/SliceItem;
-Landroid/app/slice/SliceQuery;->find(Landroid/app/slice/SliceItem;Ljava/lang/String;)Landroid/app/slice/SliceItem;
-Landroid/app/slice/SliceQuery;->find(Landroid/app/slice/SliceItem;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/slice/SliceItem;
-Landroid/app/slice/SliceQuery;->find(Landroid/app/slice/SliceItem;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Landroid/app/slice/SliceItem;
-Landroid/app/slice/SliceQuery;->findAll(Landroid/app/slice/SliceItem;Ljava/lang/String;)Ljava/util/List;
-Landroid/app/slice/SliceQuery;->findAll(Landroid/app/slice/SliceItem;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
-Landroid/app/slice/SliceQuery;->findAll(Landroid/app/slice/SliceItem;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List;
-Landroid/app/slice/SliceQuery;->findNotContaining(Landroid/app/slice/SliceItem;Ljava/util/List;)Landroid/app/slice/SliceItem;
-Landroid/app/slice/SliceQuery;->getPrimaryIcon(Landroid/app/slice/Slice;)Landroid/app/slice/SliceItem;
-Landroid/app/slice/SliceQuery;->stream(Landroid/app/slice/SliceItem;)Ljava/util/stream/Stream;
-Landroid/app/slice/SliceQuery;->TAG:Ljava/lang/String;
-Landroid/app/slice/SliceSpec;-><init>(Landroid/os/Parcel;)V
-Landroid/app/slice/SliceSpec;->mRevision:I
-Landroid/app/slice/SliceSpec;->mType:Ljava/lang/String;
-Landroid/app/StatsManager$StatsdDeathRecipient;
-Landroid/app/StatsManager$StatsdDeathRecipient;-><init>()V
-Landroid/app/StatsManager;-><init>(Landroid/content/Context;)V
-Landroid/app/StatsManager;->DEBUG:Z
-Landroid/app/StatsManager;->getIStatsManagerLocked()Landroid/os/IStatsManager;
-Landroid/app/StatsManager;->mContext:Landroid/content/Context;
-Landroid/app/StatsManager;->mService:Landroid/os/IStatsManager;
-Landroid/app/StatsManager;->TAG:Ljava/lang/String;
-Landroid/app/StatusBarManager$Disable2Flags;
-Landroid/app/StatusBarManager;
-Landroid/app/StatusBarManager;->CAMERA_LAUNCH_SOURCE_LIFT_TRIGGER:I
-Landroid/app/StatusBarManager;->CAMERA_LAUNCH_SOURCE_POWER_DOUBLE_TAP:I
-Landroid/app/StatusBarManager;->CAMERA_LAUNCH_SOURCE_WIGGLE:I
-Landroid/app/StatusBarManager;->disable2(I)V
-Landroid/app/StatusBarManager;->DISABLE2_GLOBAL_ACTIONS:I
-Landroid/app/StatusBarManager;->DISABLE2_MASK:I
-Landroid/app/StatusBarManager;->DISABLE2_NONE:I
-Landroid/app/StatusBarManager;->DISABLE2_NOTIFICATION_SHADE:I
-Landroid/app/StatusBarManager;->DISABLE2_QUICK_SETTINGS:I
-Landroid/app/StatusBarManager;->DISABLE2_ROTATE_SUGGESTIONS:I
-Landroid/app/StatusBarManager;->DISABLE2_SYSTEM_ICONS:I
-Landroid/app/StatusBarManager;->DISABLE_BACK:I
-Landroid/app/StatusBarManager;->DISABLE_CLOCK:I
-Landroid/app/StatusBarManager;->DISABLE_HOME:I
-Landroid/app/StatusBarManager;->DISABLE_MASK:I
-Landroid/app/StatusBarManager;->DISABLE_NAVIGATION:I
-Landroid/app/StatusBarManager;->DISABLE_NOTIFICATION_ALERTS:I
-Landroid/app/StatusBarManager;->DISABLE_NOTIFICATION_ICONS:I
-Landroid/app/StatusBarManager;->DISABLE_RECENT:I
-Landroid/app/StatusBarManager;->DISABLE_SEARCH:I
-Landroid/app/StatusBarManager;->DISABLE_SYSTEM_INFO:I
-Landroid/app/StatusBarManager;->mService:Lcom/android/internal/statusbar/IStatusBarService;
-Landroid/app/StatusBarManager;->NAVIGATION_HINT_BACK_ALT:I
-Landroid/app/StatusBarManager;->NAVIGATION_HINT_IME_SHOWN:I
-Landroid/app/StatusBarManager;->windowStateToString(I)Ljava/lang/String;
-Landroid/app/StatusBarManager;->WINDOW_NAVIGATION_BAR:I
-Landroid/app/StatusBarManager;->WINDOW_STATE_HIDDEN:I
-Landroid/app/StatusBarManager;->WINDOW_STATE_HIDING:I
-Landroid/app/StatusBarManager;->WINDOW_STATE_SHOWING:I
-Landroid/app/StatusBarManager;->WINDOW_STATUS_BAR:I
-Landroid/app/StatusBarManagerProto;
-Landroid/app/StatusBarManagerProto;-><init>()V
-Landroid/app/StatusBarManagerProto;->TRANSIENT_BAR_HIDING:I
-Landroid/app/StatusBarManagerProto;->TRANSIENT_BAR_NONE:I
-Landroid/app/StatusBarManagerProto;->TRANSIENT_BAR_SHOWING:I
-Landroid/app/StatusBarManagerProto;->TRANSIENT_BAR_SHOW_REQUESTED:I
-Landroid/app/StatusBarManagerProto;->WINDOW_STATE_HIDDEN:I
-Landroid/app/StatusBarManagerProto;->WINDOW_STATE_HIDING:I
-Landroid/app/StatusBarManagerProto;->WINDOW_STATE_SHOWING:I
-Landroid/app/SynchronousUserSwitchObserver;
-Landroid/app/SynchronousUserSwitchObserver;-><init>()V
-Landroid/app/SynchronousUserSwitchObserver;->onUserSwitching(I)V
-Landroid/app/SynchronousUserSwitchObserver;->onUserSwitching(ILandroid/os/IRemoteCallback;)V
-Landroid/app/TabActivity;->ensureTabHost()V
-Landroid/app/TabActivity;->mDefaultTab:Ljava/lang/String;
-Landroid/app/TabActivity;->mDefaultTabIndex:I
-Landroid/app/TabActivity;->mTabHost:Landroid/widget/TabHost;
-Landroid/app/TaskStackBuilder;-><init>(Landroid/content/Context;)V
-Landroid/app/TaskStackBuilder;->getPendingIntent(IILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/PendingIntent;
-Landroid/app/TaskStackBuilder;->mIntents:Ljava/util/ArrayList;
-Landroid/app/TaskStackBuilder;->mSourceContext:Landroid/content/Context;
-Landroid/app/TaskStackBuilder;->startActivities(Landroid/os/Bundle;Landroid/os/UserHandle;)I
-Landroid/app/TaskStackBuilder;->TAG:Ljava/lang/String;
-Landroid/app/TaskStackListener;
-Landroid/app/TaskStackListener;->onTaskCreated(ILandroid/content/ComponentName;)V
-Landroid/app/TaskStackListener;->onTaskDescriptionChanged(ILandroid/app/ActivityManager$TaskDescription;)V
-Landroid/app/TaskStackListener;->onTaskRemovalStarted(I)V
-Landroid/app/TimePickerDialog;->HOUR:Ljava/lang/String;
-Landroid/app/TimePickerDialog;->IS_24_HOUR:Ljava/lang/String;
-Landroid/app/TimePickerDialog;->mInitialHourOfDay:I
-Landroid/app/TimePickerDialog;->mInitialMinute:I
-Landroid/app/TimePickerDialog;->MINUTE:Ljava/lang/String;
-Landroid/app/TimePickerDialog;->mIs24HourView:Z
-Landroid/app/TimePickerDialog;->mTimeSetListener:Landroid/app/TimePickerDialog$OnTimeSetListener;
-Landroid/app/TimePickerDialog;->resolveDialogTheme(Landroid/content/Context;I)I
-Landroid/app/trust/IStrongAuthTracker$Stub$Proxy;
-Landroid/app/trust/IStrongAuthTracker$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/trust/IStrongAuthTracker$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/trust/IStrongAuthTracker$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/trust/IStrongAuthTracker$Stub$Proxy;->onStrongAuthRequiredChanged(II)V
-Landroid/app/trust/IStrongAuthTracker$Stub;
-Landroid/app/trust/IStrongAuthTracker$Stub;-><init>()V
-Landroid/app/trust/IStrongAuthTracker$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/trust/IStrongAuthTracker;
-Landroid/app/trust/IStrongAuthTracker$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/trust/IStrongAuthTracker$Stub;->TRANSACTION_onStrongAuthRequiredChanged:I
-Landroid/app/trust/IStrongAuthTracker;
-Landroid/app/trust/IStrongAuthTracker;->onStrongAuthRequiredChanged(II)V
-Landroid/app/trust/ITrustListener$Stub$Proxy;
-Landroid/app/trust/ITrustListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/trust/ITrustListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/trust/ITrustListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/trust/ITrustListener$Stub$Proxy;->onTrustChanged(ZII)V
-Landroid/app/trust/ITrustListener$Stub$Proxy;->onTrustError(Ljava/lang/CharSequence;)V
-Landroid/app/trust/ITrustListener$Stub$Proxy;->onTrustManagedChanged(ZI)V
-Landroid/app/trust/ITrustListener$Stub;
-Landroid/app/trust/ITrustListener$Stub;-><init>()V
-Landroid/app/trust/ITrustListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/trust/ITrustListener;
-Landroid/app/trust/ITrustListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/trust/ITrustListener$Stub;->TRANSACTION_onTrustChanged:I
-Landroid/app/trust/ITrustListener$Stub;->TRANSACTION_onTrustError:I
-Landroid/app/trust/ITrustListener$Stub;->TRANSACTION_onTrustManagedChanged:I
-Landroid/app/trust/ITrustListener;
-Landroid/app/trust/ITrustListener;->onTrustChanged(ZII)V
-Landroid/app/trust/ITrustListener;->onTrustError(Ljava/lang/CharSequence;)V
-Landroid/app/trust/ITrustListener;->onTrustManagedChanged(ZI)V
-Landroid/app/trust/ITrustManager$Stub$Proxy;
-Landroid/app/trust/ITrustManager$Stub$Proxy;->clearAllFingerprints()V
-Landroid/app/trust/ITrustManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/trust/ITrustManager$Stub$Proxy;->isDeviceLocked(I)Z
-Landroid/app/trust/ITrustManager$Stub$Proxy;->isDeviceSecure(I)Z
-Landroid/app/trust/ITrustManager$Stub$Proxy;->isTrustUsuallyManaged(I)Z
-Landroid/app/trust/ITrustManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/trust/ITrustManager$Stub$Proxy;->registerTrustListener(Landroid/app/trust/ITrustListener;)V
-Landroid/app/trust/ITrustManager$Stub$Proxy;->reportEnabledTrustAgentsChanged(I)V
-Landroid/app/trust/ITrustManager$Stub$Proxy;->reportKeyguardShowingChanged()V
-Landroid/app/trust/ITrustManager$Stub$Proxy;->reportUnlockAttempt(ZI)V
-Landroid/app/trust/ITrustManager$Stub$Proxy;->reportUnlockLockout(II)V
-Landroid/app/trust/ITrustManager$Stub$Proxy;->setDeviceLockedForUser(IZ)V
-Landroid/app/trust/ITrustManager$Stub$Proxy;->unlockedByFingerprintForUser(I)V
-Landroid/app/trust/ITrustManager$Stub$Proxy;->unregisterTrustListener(Landroid/app/trust/ITrustListener;)V
-Landroid/app/trust/ITrustManager$Stub;
-Landroid/app/trust/ITrustManager$Stub;-><init>()V
-Landroid/app/trust/ITrustManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/trust/ITrustManager;
-Landroid/app/trust/ITrustManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/trust/ITrustManager$Stub;->TRANSACTION_clearAllFingerprints:I
-Landroid/app/trust/ITrustManager$Stub;->TRANSACTION_isDeviceLocked:I
-Landroid/app/trust/ITrustManager$Stub;->TRANSACTION_isDeviceSecure:I
-Landroid/app/trust/ITrustManager$Stub;->TRANSACTION_isTrustUsuallyManaged:I
-Landroid/app/trust/ITrustManager$Stub;->TRANSACTION_registerTrustListener:I
-Landroid/app/trust/ITrustManager$Stub;->TRANSACTION_reportEnabledTrustAgentsChanged:I
-Landroid/app/trust/ITrustManager$Stub;->TRANSACTION_reportKeyguardShowingChanged:I
-Landroid/app/trust/ITrustManager$Stub;->TRANSACTION_reportUnlockAttempt:I
-Landroid/app/trust/ITrustManager$Stub;->TRANSACTION_reportUnlockLockout:I
-Landroid/app/trust/ITrustManager$Stub;->TRANSACTION_setDeviceLockedForUser:I
-Landroid/app/trust/ITrustManager$Stub;->TRANSACTION_unlockedByFingerprintForUser:I
-Landroid/app/trust/ITrustManager$Stub;->TRANSACTION_unregisterTrustListener:I
-Landroid/app/trust/ITrustManager;
-Landroid/app/trust/ITrustManager;->clearAllFingerprints()V
-Landroid/app/trust/ITrustManager;->isDeviceLocked(I)Z
-Landroid/app/trust/ITrustManager;->isDeviceSecure(I)Z
-Landroid/app/trust/ITrustManager;->isTrustUsuallyManaged(I)Z
-Landroid/app/trust/ITrustManager;->registerTrustListener(Landroid/app/trust/ITrustListener;)V
-Landroid/app/trust/ITrustManager;->reportEnabledTrustAgentsChanged(I)V
-Landroid/app/trust/ITrustManager;->reportKeyguardShowingChanged()V
-Landroid/app/trust/ITrustManager;->reportUnlockAttempt(ZI)V
-Landroid/app/trust/ITrustManager;->reportUnlockLockout(II)V
-Landroid/app/trust/ITrustManager;->setDeviceLockedForUser(IZ)V
-Landroid/app/trust/ITrustManager;->unlockedByFingerprintForUser(I)V
-Landroid/app/trust/ITrustManager;->unregisterTrustListener(Landroid/app/trust/ITrustListener;)V
-Landroid/app/trust/TrustManager$TrustListener;
-Landroid/app/trust/TrustManager$TrustListener;->onTrustChanged(ZII)V
-Landroid/app/trust/TrustManager$TrustListener;->onTrustError(Ljava/lang/CharSequence;)V
-Landroid/app/trust/TrustManager$TrustListener;->onTrustManagedChanged(ZI)V
-Landroid/app/trust/TrustManager;
-Landroid/app/trust/TrustManager;-><init>(Landroid/os/IBinder;)V
-Landroid/app/trust/TrustManager;->clearAllFingerprints()V
-Landroid/app/trust/TrustManager;->DATA_FLAGS:Ljava/lang/String;
-Landroid/app/trust/TrustManager;->DATA_MESSAGE:Ljava/lang/String;
-Landroid/app/trust/TrustManager;->isTrustUsuallyManaged(I)Z
-Landroid/app/trust/TrustManager;->mHandler:Landroid/os/Handler;
-Landroid/app/trust/TrustManager;->mService:Landroid/app/trust/ITrustManager;
-Landroid/app/trust/TrustManager;->MSG_TRUST_CHANGED:I
-Landroid/app/trust/TrustManager;->MSG_TRUST_ERROR:I
-Landroid/app/trust/TrustManager;->MSG_TRUST_MANAGED_CHANGED:I
-Landroid/app/trust/TrustManager;->mTrustListeners:Landroid/util/ArrayMap;
-Landroid/app/trust/TrustManager;->registerTrustListener(Landroid/app/trust/TrustManager$TrustListener;)V
-Landroid/app/trust/TrustManager;->reportEnabledTrustAgentsChanged(I)V
-Landroid/app/trust/TrustManager;->reportKeyguardShowingChanged()V
-Landroid/app/trust/TrustManager;->reportUnlockLockout(II)V
-Landroid/app/trust/TrustManager;->setDeviceLockedForUser(IZ)V
-Landroid/app/trust/TrustManager;->TAG:Ljava/lang/String;
-Landroid/app/trust/TrustManager;->unlockedByFingerprintForUser(I)V
-Landroid/app/trust/TrustManager;->unregisterTrustListener(Landroid/app/trust/TrustManager$TrustListener;)V
-Landroid/app/UiAutomation$IAccessibilityServiceClientImpl;
-Landroid/app/UiAutomation$IAccessibilityServiceClientImpl;-><init>(Landroid/os/Looper;)V
-Landroid/app/UiAutomation;->connect(I)V
-Landroid/app/UiAutomation;->CONNECTION_ID_UNDEFINED:I
-Landroid/app/UiAutomation;->CONNECT_TIMEOUT_MILLIS:J
-Landroid/app/UiAutomation;->DEBUG:Z
-Landroid/app/UiAutomation;->getConnectionId()I
-Landroid/app/UiAutomation;->getDegreesForRotation(I)F
-Landroid/app/UiAutomation;->getFlags()I
-Landroid/app/UiAutomation;->isConnectedLocked()Z
-Landroid/app/UiAutomation;->isDestroyed()Z
-Landroid/app/UiAutomation;->LOG_TAG:Ljava/lang/String;
-Landroid/app/UiAutomation;->mClient:Landroid/accessibilityservice/IAccessibilityServiceClient;
-Landroid/app/UiAutomation;->mConnectionId:I
-Landroid/app/UiAutomation;->mEventQueue:Ljava/util/ArrayList;
-Landroid/app/UiAutomation;->mFlags:I
-Landroid/app/UiAutomation;->mIsConnecting:Z
-Landroid/app/UiAutomation;->mIsDestroyed:Z
-Landroid/app/UiAutomation;->mLastEventTimeMillis:J
-Landroid/app/UiAutomation;->mLocalCallbackHandler:Landroid/os/Handler;
-Landroid/app/UiAutomation;->mLock:Ljava/lang/Object;
-Landroid/app/UiAutomation;->mOnAccessibilityEventListener:Landroid/app/UiAutomation$OnAccessibilityEventListener;
-Landroid/app/UiAutomation;->mRemoteCallbackThread:Landroid/os/HandlerThread;
-Landroid/app/UiAutomation;->mUiAutomationConnection:Landroid/app/IUiAutomationConnection;
-Landroid/app/UiAutomation;->mWaitingForEventDelivery:Z
-Landroid/app/UiAutomation;->throwIfConnectedLocked()V
-Landroid/app/UiAutomation;->throwIfNotConnectedLocked()V
-Landroid/app/UiAutomation;->warnIfBetterCommand(Ljava/lang/String;)V
-Landroid/app/UiAutomationConnection$Repeater;
-Landroid/app/UiAutomationConnection$Repeater;-><init>(Ljava/io/InputStream;Ljava/io/OutputStream;)V
-Landroid/app/UiAutomationConnection$Repeater;->readFrom:Ljava/io/InputStream;
-Landroid/app/UiAutomationConnection$Repeater;->writeTo:Ljava/io/OutputStream;
-Landroid/app/UiAutomationConnection;
-Landroid/app/UiAutomationConnection;->clearWindowAnimationFrameStats()V
-Landroid/app/UiAutomationConnection;->clearWindowContentFrameStats(I)Z
-Landroid/app/UiAutomationConnection;->connect(Landroid/accessibilityservice/IAccessibilityServiceClient;I)V
-Landroid/app/UiAutomationConnection;->disconnect()V
-Landroid/app/UiAutomationConnection;->executeShellCommand(Ljava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;)V
-Landroid/app/UiAutomationConnection;->getWindowAnimationFrameStats()Landroid/view/WindowAnimationFrameStats;
-Landroid/app/UiAutomationConnection;->getWindowContentFrameStats(I)Landroid/view/WindowContentFrameStats;
-Landroid/app/UiAutomationConnection;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/app/UiAutomationConnection;->INITIAL_FROZEN_ROTATION_UNSPECIFIED:I
-Landroid/app/UiAutomationConnection;->injectInputEvent(Landroid/view/InputEvent;Z)Z
-Landroid/app/UiAutomationConnection;->isConnectedLocked()Z
-Landroid/app/UiAutomationConnection;->mAccessibilityManager:Landroid/view/accessibility/IAccessibilityManager;
-Landroid/app/UiAutomationConnection;->mClient:Landroid/accessibilityservice/IAccessibilityServiceClient;
-Landroid/app/UiAutomationConnection;->mInitialFrozenRotation:I
-Landroid/app/UiAutomationConnection;->mIsShutdown:Z
-Landroid/app/UiAutomationConnection;->mLock:Ljava/lang/Object;
-Landroid/app/UiAutomationConnection;->mOwningUid:I
-Landroid/app/UiAutomationConnection;->mPackageManager:Landroid/content/pm/IPackageManager;
-Landroid/app/UiAutomationConnection;->mToken:Landroid/os/Binder;
-Landroid/app/UiAutomationConnection;->mWindowManager:Landroid/view/IWindowManager;
-Landroid/app/UiAutomationConnection;->registerUiTestAutomationServiceLocked(Landroid/accessibilityservice/IAccessibilityServiceClient;I)V
-Landroid/app/UiAutomationConnection;->restoreRotationStateLocked()V
-Landroid/app/UiAutomationConnection;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/app/UiAutomationConnection;->setRotation(I)Z
-Landroid/app/UiAutomationConnection;->shutdown()V
-Landroid/app/UiAutomationConnection;->storeRotationStateLocked()V
-Landroid/app/UiAutomationConnection;->TAG:Ljava/lang/String;
-Landroid/app/UiAutomationConnection;->takeScreenshot(Landroid/graphics/Rect;I)Landroid/graphics/Bitmap;
-Landroid/app/UiAutomationConnection;->throwIfCalledByNotTrustedUidLocked()V
-Landroid/app/UiAutomationConnection;->throwIfNotConnectedLocked()V
-Landroid/app/UiAutomationConnection;->throwIfShutdownLocked()V
-Landroid/app/UiAutomationConnection;->unregisterUiTestAutomationServiceLocked()V
-Landroid/app/UiModeManager$NightMode;
-Landroid/app/UiModeManager;->mService:Landroid/app/IUiModeManager;
-Landroid/app/UiModeManager;->TAG:Ljava/lang/String;
-Landroid/app/usage/AppStandbyInfo;
-Landroid/app/usage/AppStandbyInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/app/usage/AppStandbyInfo;-><init>(Ljava/lang/String;I)V
-Landroid/app/usage/AppStandbyInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/usage/AppStandbyInfo;->mPackageName:Ljava/lang/String;
-Landroid/app/usage/AppStandbyInfo;->mStandbyBucket:I
-Landroid/app/usage/CacheQuotaHint$Builder;->mQuota:J
-Landroid/app/usage/CacheQuotaHint$Builder;->mUid:I
-Landroid/app/usage/CacheQuotaHint$Builder;->mUsageStats:Landroid/app/usage/UsageStats;
-Landroid/app/usage/CacheQuotaHint$Builder;->mUuid:Ljava/lang/String;
-Landroid/app/usage/CacheQuotaHint;->mQuota:J
-Landroid/app/usage/CacheQuotaHint;->mUid:I
-Landroid/app/usage/CacheQuotaHint;->mUsageStats:Landroid/app/usage/UsageStats;
-Landroid/app/usage/CacheQuotaHint;->mUuid:Ljava/lang/String;
-Landroid/app/usage/CacheQuotaService$CacheQuotaServiceWrapper;
-Landroid/app/usage/CacheQuotaService$CacheQuotaServiceWrapper;-><init>()V
-Landroid/app/usage/CacheQuotaService$CacheQuotaServiceWrapper;->computeCacheQuotaHints(Landroid/os/RemoteCallback;Ljava/util/List;)V
-Landroid/app/usage/CacheQuotaService$ServiceHandler;
-Landroid/app/usage/CacheQuotaService$ServiceHandler;-><init>(Landroid/os/Looper;)V
-Landroid/app/usage/CacheQuotaService$ServiceHandler;->MSG_SEND_LIST:I
-Landroid/app/usage/CacheQuotaService;->mHandler:Landroid/os/Handler;
-Landroid/app/usage/CacheQuotaService;->mWrapper:Landroid/app/usage/CacheQuotaService$CacheQuotaServiceWrapper;
-Landroid/app/usage/CacheQuotaService;->REQUEST_LIST_KEY:Ljava/lang/String;
-Landroid/app/usage/CacheQuotaService;->TAG:Ljava/lang/String;
-Landroid/app/usage/ConfigurationStats;-><init>()V
-Landroid/app/usage/EventList;
-Landroid/app/usage/EventList;-><init>()V
-Landroid/app/usage/EventList;->clear()V
-Landroid/app/usage/EventList;->firstIndexOnOrAfter(J)I
-Landroid/app/usage/EventList;->get(I)Landroid/app/usage/UsageEvents$Event;
-Landroid/app/usage/EventList;->insert(Landroid/app/usage/UsageEvents$Event;)V
-Landroid/app/usage/EventList;->mEvents:Ljava/util/ArrayList;
-Landroid/app/usage/EventList;->size()I
-Landroid/app/usage/EventStats;-><init>()V
-Landroid/app/usage/EventStats;->mBeginTimeStamp:J
-Landroid/app/usage/EventStats;->mCount:I
-Landroid/app/usage/EventStats;->mEndTimeStamp:J
-Landroid/app/usage/EventStats;->mEventType:I
-Landroid/app/usage/EventStats;->mLastEventTime:J
-Landroid/app/usage/EventStats;->mTotalTime:J
-Landroid/app/usage/ExternalStorageStats;-><init>()V
-Landroid/app/usage/ExternalStorageStats;-><init>(Landroid/os/Parcel;)V
-Landroid/app/usage/ExternalStorageStats;->appBytes:J
-Landroid/app/usage/ExternalStorageStats;->audioBytes:J
-Landroid/app/usage/ExternalStorageStats;->getObbBytes()J
-Landroid/app/usage/ExternalStorageStats;->imageBytes:J
-Landroid/app/usage/ExternalStorageStats;->obbBytes:J
-Landroid/app/usage/ExternalStorageStats;->totalBytes:J
-Landroid/app/usage/ExternalStorageStats;->videoBytes:J
-Landroid/app/usage/ICacheQuotaService$Stub$Proxy;
-Landroid/app/usage/ICacheQuotaService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/usage/ICacheQuotaService$Stub$Proxy;->computeCacheQuotaHints(Landroid/os/RemoteCallback;Ljava/util/List;)V
-Landroid/app/usage/ICacheQuotaService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/usage/ICacheQuotaService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/usage/ICacheQuotaService$Stub;
-Landroid/app/usage/ICacheQuotaService$Stub;-><init>()V
-Landroid/app/usage/ICacheQuotaService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/usage/ICacheQuotaService;
-Landroid/app/usage/ICacheQuotaService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/usage/ICacheQuotaService$Stub;->TRANSACTION_computeCacheQuotaHints:I
-Landroid/app/usage/ICacheQuotaService;
-Landroid/app/usage/ICacheQuotaService;->computeCacheQuotaHints(Landroid/os/RemoteCallback;Ljava/util/List;)V
-Landroid/app/usage/IStorageStatsManager$Stub$Proxy;
-Landroid/app/usage/IStorageStatsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/usage/IStorageStatsManager$Stub$Proxy;->getCacheBytes(Ljava/lang/String;Ljava/lang/String;)J
-Landroid/app/usage/IStorageStatsManager$Stub$Proxy;->getCacheQuotaBytes(Ljava/lang/String;ILjava/lang/String;)J
-Landroid/app/usage/IStorageStatsManager$Stub$Proxy;->getFreeBytes(Ljava/lang/String;Ljava/lang/String;)J
-Landroid/app/usage/IStorageStatsManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/usage/IStorageStatsManager$Stub$Proxy;->getTotalBytes(Ljava/lang/String;Ljava/lang/String;)J
-Landroid/app/usage/IStorageStatsManager$Stub$Proxy;->isQuotaSupported(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/app/usage/IStorageStatsManager$Stub$Proxy;->isReservedSupported(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/app/usage/IStorageStatsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/usage/IStorageStatsManager$Stub$Proxy;->queryExternalStatsForUser(Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/ExternalStorageStats;
-Landroid/app/usage/IStorageStatsManager$Stub$Proxy;->queryStatsForPackage(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats;
-Landroid/app/usage/IStorageStatsManager$Stub$Proxy;->queryStatsForUid(Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats;
-Landroid/app/usage/IStorageStatsManager$Stub$Proxy;->queryStatsForUser(Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats;
-Landroid/app/usage/IStorageStatsManager$Stub;
-Landroid/app/usage/IStorageStatsManager$Stub;-><init>()V
-Landroid/app/usage/IStorageStatsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/usage/IStorageStatsManager;
-Landroid/app/usage/IStorageStatsManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/usage/IStorageStatsManager$Stub;->TRANSACTION_getCacheBytes:I
-Landroid/app/usage/IStorageStatsManager$Stub;->TRANSACTION_getCacheQuotaBytes:I
-Landroid/app/usage/IStorageStatsManager$Stub;->TRANSACTION_getFreeBytes:I
-Landroid/app/usage/IStorageStatsManager$Stub;->TRANSACTION_getTotalBytes:I
-Landroid/app/usage/IStorageStatsManager$Stub;->TRANSACTION_isQuotaSupported:I
-Landroid/app/usage/IStorageStatsManager$Stub;->TRANSACTION_isReservedSupported:I
-Landroid/app/usage/IStorageStatsManager$Stub;->TRANSACTION_queryExternalStatsForUser:I
-Landroid/app/usage/IStorageStatsManager$Stub;->TRANSACTION_queryStatsForPackage:I
-Landroid/app/usage/IStorageStatsManager$Stub;->TRANSACTION_queryStatsForUid:I
-Landroid/app/usage/IStorageStatsManager$Stub;->TRANSACTION_queryStatsForUser:I
-Landroid/app/usage/IStorageStatsManager;
-Landroid/app/usage/IStorageStatsManager;->getCacheBytes(Ljava/lang/String;Ljava/lang/String;)J
-Landroid/app/usage/IStorageStatsManager;->getCacheQuotaBytes(Ljava/lang/String;ILjava/lang/String;)J
-Landroid/app/usage/IStorageStatsManager;->getFreeBytes(Ljava/lang/String;Ljava/lang/String;)J
-Landroid/app/usage/IStorageStatsManager;->getTotalBytes(Ljava/lang/String;Ljava/lang/String;)J
-Landroid/app/usage/IStorageStatsManager;->isQuotaSupported(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/app/usage/IStorageStatsManager;->isReservedSupported(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/app/usage/IStorageStatsManager;->queryExternalStatsForUser(Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/ExternalStorageStats;
-Landroid/app/usage/IStorageStatsManager;->queryStatsForPackage(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats;
-Landroid/app/usage/IStorageStatsManager;->queryStatsForUid(Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats;
-Landroid/app/usage/IStorageStatsManager;->queryStatsForUser(Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats;
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;->getAppStandbyBucket(Ljava/lang/String;Ljava/lang/String;I)I
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;->getAppStandbyBuckets(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;->isAppInactive(Ljava/lang/String;I)Z
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;->onCarrierPrivilegedAppsChanged()V
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;->queryConfigurationStats(IJJLjava/lang/String;)Landroid/content/pm/ParceledListSlice;
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;->queryEvents(JJLjava/lang/String;)Landroid/app/usage/UsageEvents;
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;->queryEventsForPackage(JJLjava/lang/String;)Landroid/app/usage/UsageEvents;
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;->queryEventsForPackageForUser(JJILjava/lang/String;Ljava/lang/String;)Landroid/app/usage/UsageEvents;
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;->queryEventsForUser(JJILjava/lang/String;)Landroid/app/usage/UsageEvents;
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;->queryEventStats(IJJLjava/lang/String;)Landroid/content/pm/ParceledListSlice;
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;->queryUsageStats(IJJLjava/lang/String;)Landroid/content/pm/ParceledListSlice;
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;->registerAppUsageObserver(I[Ljava/lang/String;JLandroid/app/PendingIntent;Ljava/lang/String;)V
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;->reportChooserSelection(Ljava/lang/String;ILjava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;->setAppInactive(Ljava/lang/String;ZI)V
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;->setAppStandbyBucket(Ljava/lang/String;II)V
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;->setAppStandbyBuckets(Landroid/content/pm/ParceledListSlice;I)V
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;->unregisterAppUsageObserver(ILjava/lang/String;)V
-Landroid/app/usage/IUsageStatsManager$Stub$Proxy;->whitelistAppTemporarily(Ljava/lang/String;JI)V
-Landroid/app/usage/IUsageStatsManager$Stub;
-Landroid/app/usage/IUsageStatsManager$Stub;-><init>()V
-Landroid/app/usage/IUsageStatsManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/app/usage/IUsageStatsManager$Stub;->TRANSACTION_getAppStandbyBucket:I
-Landroid/app/usage/IUsageStatsManager$Stub;->TRANSACTION_getAppStandbyBuckets:I
-Landroid/app/usage/IUsageStatsManager$Stub;->TRANSACTION_isAppInactive:I
-Landroid/app/usage/IUsageStatsManager$Stub;->TRANSACTION_onCarrierPrivilegedAppsChanged:I
-Landroid/app/usage/IUsageStatsManager$Stub;->TRANSACTION_queryConfigurationStats:I
-Landroid/app/usage/IUsageStatsManager$Stub;->TRANSACTION_queryEvents:I
-Landroid/app/usage/IUsageStatsManager$Stub;->TRANSACTION_queryEventsForPackage:I
-Landroid/app/usage/IUsageStatsManager$Stub;->TRANSACTION_queryEventsForPackageForUser:I
-Landroid/app/usage/IUsageStatsManager$Stub;->TRANSACTION_queryEventsForUser:I
-Landroid/app/usage/IUsageStatsManager$Stub;->TRANSACTION_queryEventStats:I
-Landroid/app/usage/IUsageStatsManager$Stub;->TRANSACTION_queryUsageStats:I
-Landroid/app/usage/IUsageStatsManager$Stub;->TRANSACTION_registerAppUsageObserver:I
-Landroid/app/usage/IUsageStatsManager$Stub;->TRANSACTION_reportChooserSelection:I
-Landroid/app/usage/IUsageStatsManager$Stub;->TRANSACTION_setAppInactive:I
-Landroid/app/usage/IUsageStatsManager$Stub;->TRANSACTION_setAppStandbyBucket:I
-Landroid/app/usage/IUsageStatsManager$Stub;->TRANSACTION_setAppStandbyBuckets:I
-Landroid/app/usage/IUsageStatsManager$Stub;->TRANSACTION_unregisterAppUsageObserver:I
-Landroid/app/usage/IUsageStatsManager$Stub;->TRANSACTION_whitelistAppTemporarily:I
-Landroid/app/usage/IUsageStatsManager;
-Landroid/app/usage/IUsageStatsManager;->getAppStandbyBucket(Ljava/lang/String;Ljava/lang/String;I)I
-Landroid/app/usage/IUsageStatsManager;->getAppStandbyBuckets(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-Landroid/app/usage/IUsageStatsManager;->onCarrierPrivilegedAppsChanged()V
-Landroid/app/usage/IUsageStatsManager;->queryEvents(JJLjava/lang/String;)Landroid/app/usage/UsageEvents;
-Landroid/app/usage/IUsageStatsManager;->queryEventsForPackage(JJLjava/lang/String;)Landroid/app/usage/UsageEvents;
-Landroid/app/usage/IUsageStatsManager;->queryEventsForPackageForUser(JJILjava/lang/String;Ljava/lang/String;)Landroid/app/usage/UsageEvents;
-Landroid/app/usage/IUsageStatsManager;->queryEventsForUser(JJILjava/lang/String;)Landroid/app/usage/UsageEvents;
-Landroid/app/usage/IUsageStatsManager;->queryEventStats(IJJLjava/lang/String;)Landroid/content/pm/ParceledListSlice;
-Landroid/app/usage/IUsageStatsManager;->registerAppUsageObserver(I[Ljava/lang/String;JLandroid/app/PendingIntent;Ljava/lang/String;)V
-Landroid/app/usage/IUsageStatsManager;->reportChooserSelection(Ljava/lang/String;ILjava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/usage/IUsageStatsManager;->setAppStandbyBucket(Ljava/lang/String;II)V
-Landroid/app/usage/IUsageStatsManager;->setAppStandbyBuckets(Landroid/content/pm/ParceledListSlice;I)V
-Landroid/app/usage/IUsageStatsManager;->unregisterAppUsageObserver(ILjava/lang/String;)V
-Landroid/app/usage/IUsageStatsManager;->whitelistAppTemporarily(Ljava/lang/String;JI)V
-Landroid/app/usage/NetworkStats$Bucket$DefaultNetworkStatus;
-Landroid/app/usage/NetworkStats$Bucket$Metered;
-Landroid/app/usage/NetworkStats$Bucket$Roaming;
-Landroid/app/usage/NetworkStats$Bucket$State;
-Landroid/app/usage/NetworkStats$Bucket;->convertDefaultNetworkStatus(I)I
-Landroid/app/usage/NetworkStats$Bucket;->convertMetered(I)I
-Landroid/app/usage/NetworkStats$Bucket;->convertRoaming(I)I
-Landroid/app/usage/NetworkStats$Bucket;->convertSet(I)I
-Landroid/app/usage/NetworkStats$Bucket;->convertState(I)I
-Landroid/app/usage/NetworkStats$Bucket;->convertTag(I)I
-Landroid/app/usage/NetworkStats$Bucket;->convertUid(I)I
-Landroid/app/usage/NetworkStats$Bucket;->mBeginTimeStamp:J
-Landroid/app/usage/NetworkStats$Bucket;->mDefaultNetworkStatus:I
-Landroid/app/usage/NetworkStats$Bucket;->mEndTimeStamp:J
-Landroid/app/usage/NetworkStats$Bucket;->mMetered:I
-Landroid/app/usage/NetworkStats$Bucket;->mRoaming:I
-Landroid/app/usage/NetworkStats$Bucket;->mRxBytes:J
-Landroid/app/usage/NetworkStats$Bucket;->mRxPackets:J
-Landroid/app/usage/NetworkStats$Bucket;->mState:I
-Landroid/app/usage/NetworkStats$Bucket;->mTag:I
-Landroid/app/usage/NetworkStats$Bucket;->mTxBytes:J
-Landroid/app/usage/NetworkStats$Bucket;->mTxPackets:J
-Landroid/app/usage/NetworkStats$Bucket;->mUid:I
-Landroid/app/usage/NetworkStats;-><init>(Landroid/content/Context;Landroid/net/NetworkTemplate;IJJLandroid/net/INetworkStatsService;)V
-Landroid/app/usage/NetworkStats;->fillBucketFromSummaryEntry(Landroid/app/usage/NetworkStats$Bucket;)V
-Landroid/app/usage/NetworkStats;->getDeviceSummaryForNetwork()Landroid/app/usage/NetworkStats$Bucket;
-Landroid/app/usage/NetworkStats;->getNextHistoryBucket(Landroid/app/usage/NetworkStats$Bucket;)Z
-Landroid/app/usage/NetworkStats;->getNextSummaryBucket(Landroid/app/usage/NetworkStats$Bucket;)Z
-Landroid/app/usage/NetworkStats;->getSummaryAggregate()Landroid/app/usage/NetworkStats$Bucket;
-Landroid/app/usage/NetworkStats;->getUid()I
-Landroid/app/usage/NetworkStats;->hasNextUid()Z
-Landroid/app/usage/NetworkStats;->isUidEnumeration()Z
-Landroid/app/usage/NetworkStats;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/app/usage/NetworkStats;->mEndTimeStamp:J
-Landroid/app/usage/NetworkStats;->mEnumerationIndex:I
-Landroid/app/usage/NetworkStats;->mHistory:Landroid/net/NetworkStatsHistory;
-Landroid/app/usage/NetworkStats;->mRecycledHistoryEntry:Landroid/net/NetworkStatsHistory$Entry;
-Landroid/app/usage/NetworkStats;->mRecycledSummaryEntry:Landroid/net/NetworkStats$Entry;
-Landroid/app/usage/NetworkStats;->mSession:Landroid/net/INetworkStatsSession;
-Landroid/app/usage/NetworkStats;->mStartTimeStamp:J
-Landroid/app/usage/NetworkStats;->mState:I
-Landroid/app/usage/NetworkStats;->mSummary:Landroid/net/NetworkStats;
-Landroid/app/usage/NetworkStats;->mTag:I
-Landroid/app/usage/NetworkStats;->mTemplate:Landroid/net/NetworkTemplate;
-Landroid/app/usage/NetworkStats;->mUidOrUidIndex:I
-Landroid/app/usage/NetworkStats;->mUids:[I
-Landroid/app/usage/NetworkStats;->setSingleUidTagState(III)V
-Landroid/app/usage/NetworkStats;->startHistoryEnumeration(III)V
-Landroid/app/usage/NetworkStats;->startSummaryEnumeration()V
-Landroid/app/usage/NetworkStats;->startUserUidEnumeration()V
-Landroid/app/usage/NetworkStats;->stepHistory()V
-Landroid/app/usage/NetworkStats;->stepUid()V
-Landroid/app/usage/NetworkStats;->TAG:Ljava/lang/String;
-Landroid/app/usage/NetworkStatsManager$CallbackHandler;
-Landroid/app/usage/NetworkStatsManager$CallbackHandler;-><init>(Landroid/os/Looper;ILjava/lang/String;Landroid/app/usage/NetworkStatsManager$UsageCallback;)V
-Landroid/app/usage/NetworkStatsManager$CallbackHandler;->getObject(Landroid/os/Message;Ljava/lang/String;)Ljava/lang/Object;
-Landroid/app/usage/NetworkStatsManager$CallbackHandler;->mCallback:Landroid/app/usage/NetworkStatsManager$UsageCallback;
-Landroid/app/usage/NetworkStatsManager$CallbackHandler;->mNetworkType:I
-Landroid/app/usage/NetworkStatsManager$CallbackHandler;->mSubscriberId:Ljava/lang/String;
-Landroid/app/usage/NetworkStatsManager$UsageCallback;->request:Landroid/net/DataUsageRequest;
-Landroid/app/usage/NetworkStatsManager;-><init>(Landroid/content/Context;Landroid/net/INetworkStatsService;)V
-Landroid/app/usage/NetworkStatsManager;->CALLBACK_LIMIT_REACHED:I
-Landroid/app/usage/NetworkStatsManager;->CALLBACK_RELEASED:I
-Landroid/app/usage/NetworkStatsManager;->createTemplate(ILjava/lang/String;)Landroid/net/NetworkTemplate;
-Landroid/app/usage/NetworkStatsManager;->DBG:Z
-Landroid/app/usage/NetworkStatsManager;->FLAG_AUGMENT_WITH_SUBSCRIPTION_PLAN:I
-Landroid/app/usage/NetworkStatsManager;->FLAG_POLL_FORCE:I
-Landroid/app/usage/NetworkStatsManager;->FLAG_POLL_ON_OPEN:I
-Landroid/app/usage/NetworkStatsManager;->mContext:Landroid/content/Context;
-Landroid/app/usage/NetworkStatsManager;->mFlags:I
-Landroid/app/usage/NetworkStatsManager;->MIN_THRESHOLD_BYTES:J
-Landroid/app/usage/NetworkStatsManager;->mService:Landroid/net/INetworkStatsService;
-Landroid/app/usage/NetworkStatsManager;->querySummaryForDevice(Landroid/net/NetworkTemplate;JJ)Landroid/app/usage/NetworkStats$Bucket;
-Landroid/app/usage/NetworkStatsManager;->registerUsageCallback(Landroid/net/NetworkTemplate;IJLandroid/app/usage/NetworkStatsManager$UsageCallback;Landroid/os/Handler;)V
-Landroid/app/usage/NetworkStatsManager;->setAugmentWithSubscriptionPlan(Z)V
-Landroid/app/usage/NetworkStatsManager;->setPollOnOpen(Z)V
-Landroid/app/usage/NetworkStatsManager;->TAG:Ljava/lang/String;
-Landroid/app/usage/StorageStats;-><init>()V
-Landroid/app/usage/StorageStats;-><init>(Landroid/os/Parcel;)V
-Landroid/app/usage/StorageStats;->cacheBytes:J
-Landroid/app/usage/StorageStats;->codeBytes:J
-Landroid/app/usage/StorageStats;->dataBytes:J
-Landroid/app/usage/StorageStatsManager;-><init>(Landroid/content/Context;Landroid/app/usage/IStorageStatsManager;)V
-Landroid/app/usage/StorageStatsManager;->getCacheBytes(Ljava/lang/String;)J
-Landroid/app/usage/StorageStatsManager;->getCacheBytes(Ljava/util/UUID;)J
-Landroid/app/usage/StorageStatsManager;->getCacheQuotaBytes(Ljava/lang/String;I)J
-Landroid/app/usage/StorageStatsManager;->mContext:Landroid/content/Context;
-Landroid/app/usage/StorageStatsManager;->mService:Landroid/app/usage/IStorageStatsManager;
-Landroid/app/usage/TimeSparseArray;
-Landroid/app/usage/TimeSparseArray;-><init>()V
-Landroid/app/usage/TimeSparseArray;->closestIndexOnOrAfter(J)I
-Landroid/app/usage/TimeSparseArray;->closestIndexOnOrBefore(J)I
-Landroid/app/usage/TimeSparseArray;->mWtfReported:Z
-Landroid/app/usage/TimeSparseArray;->TAG:Ljava/lang/String;
-Landroid/app/usage/UsageEvents$Event$EventFlags;
-Landroid/app/usage/UsageEvents$Event;-><init>(Landroid/app/usage/UsageEvents$Event;)V
-Landroid/app/usage/UsageEvents$Event;->CHOOSER_ACTION:I
-Landroid/app/usage/UsageEvents$Event;->CONTINUE_PREVIOUS_DAY:I
-Landroid/app/usage/UsageEvents$Event;->END_OF_DAY:I
-Landroid/app/usage/UsageEvents$Event;->FLAG_IS_PACKAGE_INSTANT_APP:I
-Landroid/app/usage/UsageEvents$Event;->getObfuscatedIfInstantApp()Landroid/app/usage/UsageEvents$Event;
-Landroid/app/usage/UsageEvents$Event;->getStandbyBucket()I
-Landroid/app/usage/UsageEvents$Event;->getStandbyReason()I
-Landroid/app/usage/UsageEvents$Event;->mAction:Ljava/lang/String;
-Landroid/app/usage/UsageEvents$Event;->mBucketAndReason:I
-Landroid/app/usage/UsageEvents$Event;->mContentAnnotations:[Ljava/lang/String;
-Landroid/app/usage/UsageEvents$Event;->mContentType:Ljava/lang/String;
-Landroid/app/usage/UsageEvents$Event;->mFlags:I
-Landroid/app/usage/UsageEvents$Event;->mNotificationChannelId:Ljava/lang/String;
-Landroid/app/usage/UsageEvents$Event;->mShortcutId:Ljava/lang/String;
-Landroid/app/usage/UsageEvents;-><init>()V
-Landroid/app/usage/UsageEvents;-><init>(Ljava/util/List;[Ljava/lang/String;)V
-Landroid/app/usage/UsageEvents;->INSTANT_APP_CLASS_NAME:Ljava/lang/String;
-Landroid/app/usage/UsageEvents;->INSTANT_APP_PACKAGE_NAME:Ljava/lang/String;
-Landroid/app/usage/UsageEvents;->resetToStart()V
-Landroid/app/usage/UsageStats;-><init>()V
-Landroid/app/usage/UsageStats;->getObfuscatedForInstantApp()Landroid/app/usage/UsageStats;
-Landroid/app/usage/UsageStats;->mAppLaunchCount:I
-Landroid/app/usage/UsageStats;->mChooserCounts:Landroid/util/ArrayMap;
-Landroid/app/usage/UsageStatsManager$StandbyBuckets;
-Landroid/app/usage/UsageStatsManager;-><init>(Landroid/content/Context;Landroid/app/usage/IUsageStatsManager;)V
-Landroid/app/usage/UsageStatsManager;->INTERVAL_COUNT:I
-Landroid/app/usage/UsageStatsManager;->onCarrierPrivilegedAppsChanged()V
-Landroid/app/usage/UsageStatsManager;->reasonToString(I)Ljava/lang/String;
-Landroid/app/usage/UsageStatsManager;->REASON_MAIN_DEFAULT:I
-Landroid/app/usage/UsageStatsManager;->REASON_MAIN_FORCED:I
-Landroid/app/usage/UsageStatsManager;->REASON_MAIN_MASK:I
-Landroid/app/usage/UsageStatsManager;->REASON_MAIN_PREDICTED:I
-Landroid/app/usage/UsageStatsManager;->REASON_MAIN_TIMEOUT:I
-Landroid/app/usage/UsageStatsManager;->REASON_MAIN_USAGE:I
-Landroid/app/usage/UsageStatsManager;->REASON_SUB_MASK:I
-Landroid/app/usage/UsageStatsManager;->REASON_SUB_PREDICTED_RESTORED:I
-Landroid/app/usage/UsageStatsManager;->REASON_SUB_USAGE_ACTIVE_TIMEOUT:I
-Landroid/app/usage/UsageStatsManager;->REASON_SUB_USAGE_EXEMPTED_SYNC_SCHEDULED_DOZE:I
-Landroid/app/usage/UsageStatsManager;->REASON_SUB_USAGE_EXEMPTED_SYNC_SCHEDULED_NON_DOZE:I
-Landroid/app/usage/UsageStatsManager;->REASON_SUB_USAGE_EXEMPTED_SYNC_START:I
-Landroid/app/usage/UsageStatsManager;->REASON_SUB_USAGE_MOVE_TO_BACKGROUND:I
-Landroid/app/usage/UsageStatsManager;->REASON_SUB_USAGE_MOVE_TO_FOREGROUND:I
-Landroid/app/usage/UsageStatsManager;->REASON_SUB_USAGE_NOTIFICATION_SEEN:I
-Landroid/app/usage/UsageStatsManager;->REASON_SUB_USAGE_SLICE_PINNED:I
-Landroid/app/usage/UsageStatsManager;->REASON_SUB_USAGE_SLICE_PINNED_PRIV:I
-Landroid/app/usage/UsageStatsManager;->REASON_SUB_USAGE_SYNC_ADAPTER:I
-Landroid/app/usage/UsageStatsManager;->REASON_SUB_USAGE_SYSTEM_INTERACTION:I
-Landroid/app/usage/UsageStatsManager;->REASON_SUB_USAGE_SYSTEM_UPDATE:I
-Landroid/app/usage/UsageStatsManager;->REASON_SUB_USAGE_USER_INTERACTION:I
-Landroid/app/usage/UsageStatsManager;->reportChooserSelection(Ljava/lang/String;ILjava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
-Landroid/app/usage/UsageStatsManager;->setAppInactive(Ljava/lang/String;Z)V
-Landroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;
-Landroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;-><init>()V
-Landroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
-Landroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;->onParoleStateChanged(Z)V
-Landroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;->onUserInteractionStarted(Ljava/lang/String;I)V
-Landroid/app/usage/UsageStatsManagerInternal;
-Landroid/app/usage/UsageStatsManagerInternal;-><init>()V
-Landroid/app/usage/UsageStatsManagerInternal;->addAppIdleStateChangeListener(Landroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;)V
-Landroid/app/usage/UsageStatsManagerInternal;->applyRestoredPayload(ILjava/lang/String;[B)V
-Landroid/app/usage/UsageStatsManagerInternal;->getAppStandbyBucket(Ljava/lang/String;IJ)I
-Landroid/app/usage/UsageStatsManagerInternal;->getBackupPayload(ILjava/lang/String;)[B
-Landroid/app/usage/UsageStatsManagerInternal;->getIdleUidsForUser(I)[I
-Landroid/app/usage/UsageStatsManagerInternal;->getTimeSinceLastJobRun(Ljava/lang/String;I)J
-Landroid/app/usage/UsageStatsManagerInternal;->isAppIdle(Ljava/lang/String;II)Z
-Landroid/app/usage/UsageStatsManagerInternal;->isAppIdleParoleOn()Z
-Landroid/app/usage/UsageStatsManagerInternal;->onActiveAdminAdded(Ljava/lang/String;I)V
-Landroid/app/usage/UsageStatsManagerInternal;->onAdminDataAvailable()V
-Landroid/app/usage/UsageStatsManagerInternal;->prepareShutdown()V
-Landroid/app/usage/UsageStatsManagerInternal;->queryUsageStatsForUser(IIJJZ)Ljava/util/List;
-Landroid/app/usage/UsageStatsManagerInternal;->removeAppIdleStateChangeListener(Landroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;)V
-Landroid/app/usage/UsageStatsManagerInternal;->reportAppJobState(Ljava/lang/String;IIJ)V
-Landroid/app/usage/UsageStatsManagerInternal;->reportConfigurationChange(Landroid/content/res/Configuration;I)V
-Landroid/app/usage/UsageStatsManagerInternal;->reportContentProviderUsage(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/app/usage/UsageStatsManagerInternal;->reportEvent(Landroid/content/ComponentName;II)V
-Landroid/app/usage/UsageStatsManagerInternal;->reportEvent(Ljava/lang/String;II)V
-Landroid/app/usage/UsageStatsManagerInternal;->reportExemptedSyncScheduled(Ljava/lang/String;I)V
-Landroid/app/usage/UsageStatsManagerInternal;->reportExemptedSyncStart(Ljava/lang/String;I)V
-Landroid/app/usage/UsageStatsManagerInternal;->reportInterruptiveNotification(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/app/usage/UsageStatsManagerInternal;->reportShortcutUsage(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/app/usage/UsageStatsManagerInternal;->setActiveAdminApps(Ljava/util/Set;I)V
-Landroid/app/usage/UsageStatsManagerInternal;->setLastJobRunTime(Ljava/lang/String;IJ)V
-Landroid/app/UserSwitchObserver;
-Landroid/app/UserSwitchObserver;->onForegroundProfileSwitch(I)V
-Landroid/app/UserSwitchObserver;->onLockedBootComplete(I)V
-Landroid/app/UserSwitchObserver;->onUserSwitchComplete(I)V
-Landroid/app/UserSwitchObserver;->onUserSwitching(ILandroid/os/IRemoteCallback;)V
-Landroid/app/VoiceInteractor$AbortVoiceRequest;-><init>(Ljava/lang/CharSequence;Landroid/os/Bundle;)V
-Landroid/app/VoiceInteractor$AbortVoiceRequest;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/app/VoiceInteractor$AbortVoiceRequest;->getRequestTypeName()Ljava/lang/String;
-Landroid/app/VoiceInteractor$AbortVoiceRequest;->mExtras:Landroid/os/Bundle;
-Landroid/app/VoiceInteractor$AbortVoiceRequest;->mPrompt:Landroid/app/VoiceInteractor$Prompt;
-Landroid/app/VoiceInteractor$AbortVoiceRequest;->submit(Lcom/android/internal/app/IVoiceInteractor;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;)Lcom/android/internal/app/IVoiceInteractorRequest;
-Landroid/app/VoiceInteractor$CommandRequest;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/app/VoiceInteractor$CommandRequest;->getRequestTypeName()Ljava/lang/String;
-Landroid/app/VoiceInteractor$CommandRequest;->mArgs:Landroid/os/Bundle;
-Landroid/app/VoiceInteractor$CommandRequest;->mCommand:Ljava/lang/String;
-Landroid/app/VoiceInteractor$CommandRequest;->submit(Lcom/android/internal/app/IVoiceInteractor;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;)Lcom/android/internal/app/IVoiceInteractorRequest;
-Landroid/app/VoiceInteractor$CompleteVoiceRequest;-><init>(Ljava/lang/CharSequence;Landroid/os/Bundle;)V
-Landroid/app/VoiceInteractor$CompleteVoiceRequest;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/app/VoiceInteractor$CompleteVoiceRequest;->getRequestTypeName()Ljava/lang/String;
-Landroid/app/VoiceInteractor$CompleteVoiceRequest;->mExtras:Landroid/os/Bundle;
-Landroid/app/VoiceInteractor$CompleteVoiceRequest;->mPrompt:Landroid/app/VoiceInteractor$Prompt;
-Landroid/app/VoiceInteractor$CompleteVoiceRequest;->submit(Lcom/android/internal/app/IVoiceInteractor;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;)Lcom/android/internal/app/IVoiceInteractorRequest;
-Landroid/app/VoiceInteractor$ConfirmationRequest;-><init>(Ljava/lang/CharSequence;Landroid/os/Bundle;)V
-Landroid/app/VoiceInteractor$ConfirmationRequest;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/app/VoiceInteractor$ConfirmationRequest;->getRequestTypeName()Ljava/lang/String;
-Landroid/app/VoiceInteractor$ConfirmationRequest;->mExtras:Landroid/os/Bundle;
-Landroid/app/VoiceInteractor$ConfirmationRequest;->mPrompt:Landroid/app/VoiceInteractor$Prompt;
-Landroid/app/VoiceInteractor$ConfirmationRequest;->submit(Lcom/android/internal/app/IVoiceInteractor;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;)Lcom/android/internal/app/IVoiceInteractorRequest;
-Landroid/app/VoiceInteractor$PickOptionRequest$Option;-><init>(Landroid/os/Parcel;)V
-Landroid/app/VoiceInteractor$PickOptionRequest$Option;-><init>(Ljava/lang/CharSequence;)V
-Landroid/app/VoiceInteractor$PickOptionRequest$Option;->mExtras:Landroid/os/Bundle;
-Landroid/app/VoiceInteractor$PickOptionRequest$Option;->mIndex:I
-Landroid/app/VoiceInteractor$PickOptionRequest$Option;->mLabel:Ljava/lang/CharSequence;
-Landroid/app/VoiceInteractor$PickOptionRequest$Option;->mSynonyms:Ljava/util/ArrayList;
-Landroid/app/VoiceInteractor$PickOptionRequest;-><init>(Ljava/lang/CharSequence;[Landroid/app/VoiceInteractor$PickOptionRequest$Option;Landroid/os/Bundle;)V
-Landroid/app/VoiceInteractor$PickOptionRequest;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/app/VoiceInteractor$PickOptionRequest;->getRequestTypeName()Ljava/lang/String;
-Landroid/app/VoiceInteractor$PickOptionRequest;->mExtras:Landroid/os/Bundle;
-Landroid/app/VoiceInteractor$PickOptionRequest;->mOptions:[Landroid/app/VoiceInteractor$PickOptionRequest$Option;
-Landroid/app/VoiceInteractor$PickOptionRequest;->mPrompt:Landroid/app/VoiceInteractor$Prompt;
-Landroid/app/VoiceInteractor$PickOptionRequest;->submit(Lcom/android/internal/app/IVoiceInteractor;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;)Lcom/android/internal/app/IVoiceInteractorRequest;
-Landroid/app/VoiceInteractor$Prompt;-><init>(Landroid/os/Parcel;)V
-Landroid/app/VoiceInteractor$Prompt;->mVisualPrompt:Ljava/lang/CharSequence;
-Landroid/app/VoiceInteractor$Prompt;->mVoicePrompts:[Ljava/lang/CharSequence;
-Landroid/app/VoiceInteractor$Request;-><init>()V
-Landroid/app/VoiceInteractor$Request;->clear()V
-Landroid/app/VoiceInteractor$Request;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/app/VoiceInteractor$Request;->getRequestTypeName()Ljava/lang/String;
-Landroid/app/VoiceInteractor$Request;->mActivity:Landroid/app/Activity;
-Landroid/app/VoiceInteractor$Request;->mContext:Landroid/content/Context;
-Landroid/app/VoiceInteractor$Request;->mName:Ljava/lang/String;
-Landroid/app/VoiceInteractor$Request;->mRequestInterface:Lcom/android/internal/app/IVoiceInteractorRequest;
-Landroid/app/VoiceInteractor$Request;->submit(Lcom/android/internal/app/IVoiceInteractor;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;)Lcom/android/internal/app/IVoiceInteractorRequest;
-Landroid/app/VoiceInteractor;-><init>(Lcom/android/internal/app/IVoiceInteractor;Landroid/content/Context;Landroid/app/Activity;Landroid/os/Looper;)V
-Landroid/app/VoiceInteractor;->attachActivity(Landroid/app/Activity;)V
-Landroid/app/VoiceInteractor;->DEBUG:Z
-Landroid/app/VoiceInteractor;->detachActivity()V
-Landroid/app/VoiceInteractor;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/app/VoiceInteractor;->mActiveRequests:Landroid/util/ArrayMap;
-Landroid/app/VoiceInteractor;->mActivity:Landroid/app/Activity;
-Landroid/app/VoiceInteractor;->makeRequestList()Ljava/util/ArrayList;
-Landroid/app/VoiceInteractor;->mCallback:Lcom/android/internal/app/IVoiceInteractorCallback$Stub;
-Landroid/app/VoiceInteractor;->mContext:Landroid/content/Context;
-Landroid/app/VoiceInteractor;->mHandlerCaller:Lcom/android/internal/os/HandlerCaller;
-Landroid/app/VoiceInteractor;->mHandlerCallerCallback:Lcom/android/internal/os/HandlerCaller$Callback;
-Landroid/app/VoiceInteractor;->mInteractor:Lcom/android/internal/app/IVoiceInteractor;
-Landroid/app/VoiceInteractor;->mRetaining:Z
-Landroid/app/VoiceInteractor;->MSG_ABORT_VOICE_RESULT:I
-Landroid/app/VoiceInteractor;->MSG_CANCEL_RESULT:I
-Landroid/app/VoiceInteractor;->MSG_COMMAND_RESULT:I
-Landroid/app/VoiceInteractor;->MSG_COMPLETE_VOICE_RESULT:I
-Landroid/app/VoiceInteractor;->MSG_CONFIRMATION_RESULT:I
-Landroid/app/VoiceInteractor;->MSG_PICK_OPTION_RESULT:I
-Landroid/app/VoiceInteractor;->NO_REQUESTS:[Landroid/app/VoiceInteractor$Request;
-Landroid/app/VoiceInteractor;->pullRequest(Lcom/android/internal/app/IVoiceInteractorRequest;Z)Landroid/app/VoiceInteractor$Request;
-Landroid/app/VoiceInteractor;->retainInstance()V
-Landroid/app/VoiceInteractor;->TAG:Ljava/lang/String;
-Landroid/app/Vr2dDisplayProperties$Builder;
-Landroid/app/Vr2dDisplayProperties$Builder;->addFlags(I)Landroid/app/Vr2dDisplayProperties$Builder;
-Landroid/app/Vr2dDisplayProperties$Builder;->mAddedFlags:I
-Landroid/app/Vr2dDisplayProperties$Builder;->mDpi:I
-Landroid/app/Vr2dDisplayProperties$Builder;->mHeight:I
-Landroid/app/Vr2dDisplayProperties$Builder;->mRemovedFlags:I
-Landroid/app/Vr2dDisplayProperties$Builder;->mWidth:I
-Landroid/app/Vr2dDisplayProperties$Builder;->removeFlags(I)Landroid/app/Vr2dDisplayProperties$Builder;
-Landroid/app/Vr2dDisplayProperties$Builder;->setDimensions(III)Landroid/app/Vr2dDisplayProperties$Builder;
-Landroid/app/Vr2dDisplayProperties;
-Landroid/app/Vr2dDisplayProperties;-><init>(IIIII)V
-Landroid/app/Vr2dDisplayProperties;-><init>(Landroid/os/Parcel;)V
-Landroid/app/Vr2dDisplayProperties;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/Vr2dDisplayProperties;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-Landroid/app/Vr2dDisplayProperties;->FLAG_VIRTUAL_DISPLAY_ENABLED:I
-Landroid/app/Vr2dDisplayProperties;->getDpi()I
-Landroid/app/Vr2dDisplayProperties;->getFlags()I
-Landroid/app/Vr2dDisplayProperties;->getHeight()I
-Landroid/app/Vr2dDisplayProperties;->getRemovedFlags()I
-Landroid/app/Vr2dDisplayProperties;->getWidth()I
-Landroid/app/Vr2dDisplayProperties;->mAddedFlags:I
-Landroid/app/Vr2dDisplayProperties;->mDpi:I
-Landroid/app/Vr2dDisplayProperties;->mHeight:I
-Landroid/app/Vr2dDisplayProperties;->mRemovedFlags:I
-Landroid/app/Vr2dDisplayProperties;->mWidth:I
-Landroid/app/Vr2dDisplayProperties;->toReadableFlags(I)Ljava/lang/String;
-Landroid/app/VrManager$CallbackEntry;
-Landroid/app/VrManager$CallbackEntry;-><init>(Landroid/app/VrStateCallback;Landroid/os/Handler;)V
-Landroid/app/VrManager$CallbackEntry;->mCallback:Landroid/app/VrStateCallback;
-Landroid/app/VrManager$CallbackEntry;->mHandler:Landroid/os/Handler;
-Landroid/app/VrManager$CallbackEntry;->mPersistentStateCallback:Landroid/service/vr/IPersistentVrStateCallbacks;
-Landroid/app/VrManager$CallbackEntry;->mStateCallback:Landroid/service/vr/IVrStateCallbacks;
-Landroid/app/VrManager;-><init>(Landroid/service/vr/IVrManager;)V
-Landroid/app/VrManager;->getVrModeEnabled()Z
-Landroid/app/VrManager;->mCallbackMap:Ljava/util/Map;
-Landroid/app/VrManager;->setStandbyEnabled(Z)V
-Landroid/app/VrStateCallback;
-Landroid/app/VrStateCallback;->onVrStateChanged(Z)V
-Landroid/app/WaitResult;
-Landroid/app/WaitResult;-><init>()V
-Landroid/app/WaitResult;-><init>(Landroid/os/Parcel;)V
-Landroid/app/WaitResult;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/WaitResult;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-Landroid/app/WaitResult;->result:I
-Landroid/app/WaitResult;->thisTime:J
-Landroid/app/WaitResult;->timeout:Z
-Landroid/app/WaitResult;->totalTime:J
-Landroid/app/WaitResult;->who:Landroid/content/ComponentName;
-Landroid/app/WallpaperColors;->BRIGHT_IMAGE_MEAN_LUMINANCE:F
-Landroid/app/WallpaperColors;->calculateDarkHints(Landroid/graphics/Bitmap;)I
-Landroid/app/WallpaperColors;->calculateOptimalSize(II)Landroid/util/Size;
-Landroid/app/WallpaperColors;->DARK_PIXEL_LUMINANCE:F
-Landroid/app/WallpaperColors;->DARK_THEME_MEAN_LUMINANCE:F
-Landroid/app/WallpaperColors;->getMainColors()Ljava/util/List;
-Landroid/app/WallpaperColors;->HINT_FROM_BITMAP:I
-Landroid/app/WallpaperColors;->HINT_SUPPORTS_DARK_TEXT:I
-Landroid/app/WallpaperColors;->HINT_SUPPORTS_DARK_THEME:I
-Landroid/app/WallpaperColors;->MAX_BITMAP_SIZE:I
-Landroid/app/WallpaperColors;->MAX_DARK_AREA:F
-Landroid/app/WallpaperColors;->MAX_WALLPAPER_EXTRACTION_AREA:I
-Landroid/app/WallpaperColors;->mColorHints:I
-Landroid/app/WallpaperColors;->MIN_COLOR_OCCURRENCE:F
-Landroid/app/WallpaperColors;->mMainColors:Ljava/util/ArrayList;
-Landroid/app/WallpaperColors;->setColorHints(I)V
-Landroid/app/WallpaperInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/app/WallpaperInfo;->getSupportsAmbientMode()Z
-Landroid/app/WallpaperInfo;->mAuthorResource:I
-Landroid/app/WallpaperInfo;->mContextDescriptionResource:I
-Landroid/app/WallpaperInfo;->mContextUriResource:I
-Landroid/app/WallpaperInfo;->mDescriptionResource:I
-Landroid/app/WallpaperInfo;->mService:Landroid/content/pm/ResolveInfo;
-Landroid/app/WallpaperInfo;->mSettingsActivityName:Ljava/lang/String;
-Landroid/app/WallpaperInfo;->mShowMetadataInPreview:Z
-Landroid/app/WallpaperInfo;->mSupportsAmbientMode:Z
-Landroid/app/WallpaperInfo;->mThumbnailResource:I
-Landroid/app/WallpaperInfo;->TAG:Ljava/lang/String;
-Landroid/app/WallpaperManager$FastBitmapDrawable;
-Landroid/app/WallpaperManager$FastBitmapDrawable;-><init>(Landroid/graphics/Bitmap;)V
-Landroid/app/WallpaperManager$FastBitmapDrawable;->mBitmap:Landroid/graphics/Bitmap;
-Landroid/app/WallpaperManager$FastBitmapDrawable;->mDrawLeft:I
-Landroid/app/WallpaperManager$FastBitmapDrawable;->mDrawTop:I
-Landroid/app/WallpaperManager$FastBitmapDrawable;->mHeight:I
-Landroid/app/WallpaperManager$FastBitmapDrawable;->mPaint:Landroid/graphics/Paint;
-Landroid/app/WallpaperManager$FastBitmapDrawable;->mWidth:I
-Landroid/app/WallpaperManager$Globals;
-Landroid/app/WallpaperManager$Globals;-><init>(Landroid/app/IWallpaperManager;Landroid/os/Looper;)V
-Landroid/app/WallpaperManager$Globals;->addOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;Landroid/os/Handler;I)V
-Landroid/app/WallpaperManager$Globals;->forgetLoadedWallpaper()V
-Landroid/app/WallpaperManager$Globals;->getCurrentWallpaperLocked(Landroid/content/Context;IZ)Landroid/graphics/Bitmap;
-Landroid/app/WallpaperManager$Globals;->getDefaultWallpaper(Landroid/content/Context;I)Landroid/graphics/Bitmap;
-Landroid/app/WallpaperManager$Globals;->getWallpaperColors(II)Landroid/app/WallpaperColors;
-Landroid/app/WallpaperManager$Globals;->mCachedWallpaper:Landroid/graphics/Bitmap;
-Landroid/app/WallpaperManager$Globals;->mCachedWallpaperUserId:I
-Landroid/app/WallpaperManager$Globals;->mColorCallbackRegistered:Z
-Landroid/app/WallpaperManager$Globals;->mColorListeners:Ljava/util/ArrayList;
-Landroid/app/WallpaperManager$Globals;->mDefaultWallpaper:Landroid/graphics/Bitmap;
-Landroid/app/WallpaperManager$Globals;->mMainLooperHandler:Landroid/os/Handler;
-Landroid/app/WallpaperManager$Globals;->mService:Landroid/app/IWallpaperManager;
-Landroid/app/WallpaperManager$Globals;->onWallpaperChanged()V
-Landroid/app/WallpaperManager$Globals;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;II)V
-Landroid/app/WallpaperManager$Globals;->peekWallpaperBitmap(Landroid/content/Context;ZI)Landroid/graphics/Bitmap;
-Landroid/app/WallpaperManager$Globals;->peekWallpaperBitmap(Landroid/content/Context;ZIIZ)Landroid/graphics/Bitmap;
-Landroid/app/WallpaperManager$Globals;->removeOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;I)V
-Landroid/app/WallpaperManager$OnColorsChangedListener;->onColorsChanged(Landroid/app/WallpaperColors;II)V
-Landroid/app/WallpaperManager$SetWallpaperFlags;
-Landroid/app/WallpaperManager$WallpaperSetCompletion;
-Landroid/app/WallpaperManager$WallpaperSetCompletion;-><init>()V
-Landroid/app/WallpaperManager$WallpaperSetCompletion;->mLatch:Ljava/util/concurrent/CountDownLatch;
-Landroid/app/WallpaperManager$WallpaperSetCompletion;->onWallpaperChanged()V
-Landroid/app/WallpaperManager$WallpaperSetCompletion;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;II)V
-Landroid/app/WallpaperManager$WallpaperSetCompletion;->waitForCompletion()V
-Landroid/app/WallpaperManager;-><init>(Landroid/app/IWallpaperManager;Landroid/content/Context;Landroid/os/Handler;)V
-Landroid/app/WallpaperManager;->copyStreamToWallpaperFile(Ljava/io/InputStream;Ljava/io/FileOutputStream;)V
-Landroid/app/WallpaperManager;->DEBUG:Z
-Landroid/app/WallpaperManager;->EXTRA_NEW_WALLPAPER_ID:Ljava/lang/String;
-Landroid/app/WallpaperManager;->getBitmapAsUser(IZ)Landroid/graphics/Bitmap;
-Landroid/app/WallpaperManager;->getDefaultWallpaperComponent(Landroid/content/Context;)Landroid/content/ComponentName;
-Landroid/app/WallpaperManager;->getMaxCropRect(IIIIFF)Landroid/graphics/RectF;
-Landroid/app/WallpaperManager;->getWallpaperIdForUser(II)I
-Landroid/app/WallpaperManager;->initGlobals(Landroid/app/IWallpaperManager;Landroid/os/Looper;)V
-Landroid/app/WallpaperManager;->isWallpaperBackupEligible(I)Z
-Landroid/app/WallpaperManager;->mContext:Landroid/content/Context;
-Landroid/app/WallpaperManager;->mWallpaperXStep:F
-Landroid/app/WallpaperManager;->mWallpaperYStep:F
-Landroid/app/WallpaperManager;->PROP_LOCK_WALLPAPER:Ljava/lang/String;
-Landroid/app/WallpaperManager;->PROP_WALLPAPER:Ljava/lang/String;
-Landroid/app/WallpaperManager;->PROP_WALLPAPER_COMPONENT:Ljava/lang/String;
-Landroid/app/WallpaperManager;->removeOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;I)V
-Landroid/app/WallpaperManager;->setLockWallpaperCallback(Landroid/app/IWallpaperManagerCallback;)Z
-Landroid/app/WallpaperManager;->sSync:Ljava/lang/Object;
-Landroid/app/WallpaperManager;->TAG:Ljava/lang/String;
-Landroid/app/WallpaperManager;->validateRect(Landroid/graphics/Rect;)V
-Landroid/app/WindowConfiguration$ActivityType;
-Landroid/app/WindowConfiguration$WindowConfig;
-Landroid/app/WindowConfiguration$WindowingMode;
-Landroid/app/WindowConfiguration;-><init>(Landroid/app/WindowConfiguration;)V
-Landroid/app/WindowConfiguration;-><init>(Landroid/os/Parcel;)V
-Landroid/app/WindowConfiguration;->activityTypeToString(I)Ljava/lang/String;
-Landroid/app/WindowConfiguration;->canReceiveKeys()Z
-Landroid/app/WindowConfiguration;->canResizeTask()Z
-Landroid/app/WindowConfiguration;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/app/WindowConfiguration;->diff(Landroid/app/WindowConfiguration;Z)J
-Landroid/app/WindowConfiguration;->hasMovementAnimations()Z
-Landroid/app/WindowConfiguration;->hasWindowDecorCaption()Z
-Landroid/app/WindowConfiguration;->hasWindowShadow()Z
-Landroid/app/WindowConfiguration;->isAlwaysOnTop()Z
-Landroid/app/WindowConfiguration;->isFloating(I)Z
-Landroid/app/WindowConfiguration;->keepVisibleDeadAppWindowOnScreen()Z
-Landroid/app/WindowConfiguration;->mActivityType:I
-Landroid/app/WindowConfiguration;->mAppBounds:Landroid/graphics/Rect;
-Landroid/app/WindowConfiguration;->mBounds:Landroid/graphics/Rect;
-Landroid/app/WindowConfiguration;->mWindowingMode:I
-Landroid/app/WindowConfiguration;->persistTaskBounds()Z
-Landroid/app/WindowConfiguration;->PINNED_WINDOWING_MODE_ELEVATION_IN_DIP:I
-Landroid/app/WindowConfiguration;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/app/WindowConfiguration;->setAppBounds(IIII)V
-Landroid/app/WindowConfiguration;->setToDefaults()V
-Landroid/app/WindowConfiguration;->supportSplitScreenWindowingMode()Z
-Landroid/app/WindowConfiguration;->supportSplitScreenWindowingMode(I)Z
-Landroid/app/WindowConfiguration;->tasksAreFloating()Z
-Landroid/app/WindowConfiguration;->unset()V
-Landroid/app/WindowConfiguration;->updateFrom(Landroid/app/WindowConfiguration;)I
-Landroid/app/WindowConfiguration;->useWindowFrameForBackdrop()Z
-Landroid/app/WindowConfiguration;->windowingModeToString(I)Ljava/lang/String;
-Landroid/app/WindowConfiguration;->windowsAreScaleable()Z
-Landroid/app/WindowConfiguration;->WINDOW_CONFIG_ACTIVITY_TYPE:I
-Landroid/app/WindowConfiguration;->WINDOW_CONFIG_APP_BOUNDS:I
-Landroid/app/WindowConfiguration;->WINDOW_CONFIG_BOUNDS:I
-Landroid/app/WindowConfiguration;->WINDOW_CONFIG_WINDOWING_MODE:I
-Landroid/app/WindowConfiguration;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/app/WindowConfigurationProto;
-Landroid/app/WindowConfigurationProto;-><init>()V
-Landroid/app/WindowConfigurationProto;->ACTIVITY_TYPE:J
-Landroid/app/WindowConfigurationProto;->APP_BOUNDS:J
-Landroid/app/WindowConfigurationProto;->WINDOWING_MODE:J
-Landroid/appwidget/AppWidgetHost$Callbacks;
-Landroid/appwidget/AppWidgetHost$Callbacks;-><init>(Landroid/os/Handler;)V
-Landroid/appwidget/AppWidgetHost$Callbacks;->isLocalBinder()Z
-Landroid/appwidget/AppWidgetHost$Callbacks;->mWeakHandler:Ljava/lang/ref/WeakReference;
-Landroid/appwidget/AppWidgetHost$Callbacks;->providerChanged(ILandroid/appwidget/AppWidgetProviderInfo;)V
-Landroid/appwidget/AppWidgetHost$Callbacks;->providersChanged()V
-Landroid/appwidget/AppWidgetHost$Callbacks;->updateAppWidget(ILandroid/widget/RemoteViews;)V
-Landroid/appwidget/AppWidgetHost$Callbacks;->viewDataChanged(II)V
-Landroid/appwidget/AppWidgetHost$UpdateHandler;
-Landroid/appwidget/AppWidgetHost$UpdateHandler;-><init>(Landroid/os/Looper;)V
-Landroid/appwidget/AppWidgetHost;->bindService(Landroid/content/Context;)V
-Landroid/appwidget/AppWidgetHost;->HANDLE_PROVIDERS_CHANGED:I
-Landroid/appwidget/AppWidgetHost;->HANDLE_PROVIDER_CHANGED:I
-Landroid/appwidget/AppWidgetHost;->HANDLE_UPDATE:I
-Landroid/appwidget/AppWidgetHost;->mCallbacks:Landroid/appwidget/AppWidgetHost$Callbacks;
-Landroid/appwidget/AppWidgetHost;->mContextOpPackageName:Ljava/lang/String;
-Landroid/appwidget/AppWidgetHost;->mDisplayMetrics:Landroid/util/DisplayMetrics;
-Landroid/appwidget/AppWidgetHost;->mHostId:I
-Landroid/appwidget/AppWidgetHost;->mOnClickHandler:Landroid/widget/RemoteViews$OnClickHandler;
-Landroid/appwidget/AppWidgetHost;->mViews:Landroid/util/SparseArray;
-Landroid/appwidget/AppWidgetHost;->sServiceInitialized:Z
-Landroid/appwidget/AppWidgetHost;->sServiceLock:Ljava/lang/Object;
-Landroid/appwidget/AppWidgetHost;->updateAppWidgetView(ILandroid/widget/RemoteViews;)V
-Landroid/appwidget/AppWidgetHost;->viewDataChanged(II)V
-Landroid/appwidget/AppWidgetHostView$ViewApplyListener;
-Landroid/appwidget/AppWidgetHostView$ViewApplyListener;-><init>(Landroid/widget/RemoteViews;IZ)V
-Landroid/appwidget/AppWidgetHostView$ViewApplyListener;->mIsReapply:Z
-Landroid/appwidget/AppWidgetHostView$ViewApplyListener;->mLayoutId:I
-Landroid/appwidget/AppWidgetHostView$ViewApplyListener;->mViews:Landroid/widget/RemoteViews;
-Landroid/appwidget/AppWidgetHostView$ViewApplyListener;->onError(Ljava/lang/Exception;)V
-Landroid/appwidget/AppWidgetHostView$ViewApplyListener;->onViewApplied(Landroid/view/View;)V
-Landroid/appwidget/AppWidgetHostView;-><init>(Landroid/content/Context;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/appwidget/AppWidgetHostView;->applyContent(Landroid/view/View;ZLjava/lang/Exception;)V
-Landroid/appwidget/AppWidgetHostView;->applyRemoteViews(Landroid/widget/RemoteViews;Z)V
-Landroid/appwidget/AppWidgetHostView;->generateId()I
-Landroid/appwidget/AppWidgetHostView;->getDefaultPadding()Landroid/graphics/Rect;
-Landroid/appwidget/AppWidgetHostView;->getRemoteContext()Landroid/content/Context;
-Landroid/appwidget/AppWidgetHostView;->inflateAsync(Landroid/widget/RemoteViews;)V
-Landroid/appwidget/AppWidgetHostView;->INFLATER_FILTER:Landroid/view/LayoutInflater$Filter;
-Landroid/appwidget/AppWidgetHostView;->KEY_JAILED_ARRAY:Ljava/lang/String;
-Landroid/appwidget/AppWidgetHostView;->LOGD:Z
-Landroid/appwidget/AppWidgetHostView;->mAsyncExecutor:Ljava/util/concurrent/Executor;
-Landroid/appwidget/AppWidgetHostView;->mContext:Landroid/content/Context;
-Landroid/appwidget/AppWidgetHostView;->mLastExecutionSignal:Landroid/os/CancellationSignal;
-Landroid/appwidget/AppWidgetHostView;->mLayoutId:I
-Landroid/appwidget/AppWidgetHostView;->mOnClickHandler:Landroid/widget/RemoteViews$OnClickHandler;
-Landroid/appwidget/AppWidgetHostView;->mRemoteContext:Landroid/content/Context;
-Landroid/appwidget/AppWidgetHostView;->mView:Landroid/view/View;
-Landroid/appwidget/AppWidgetHostView;->mViewMode:I
-Landroid/appwidget/AppWidgetHostView;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/appwidget/AppWidgetHostView;->resetAppWidget(Landroid/appwidget/AppWidgetProviderInfo;)V
-Landroid/appwidget/AppWidgetHostView;->setOnClickHandler(Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/appwidget/AppWidgetHostView;->TAG:Ljava/lang/String;
-Landroid/appwidget/AppWidgetHostView;->viewDataChanged(I)V
-Landroid/appwidget/AppWidgetHostView;->VIEW_MODE_CONTENT:I
-Landroid/appwidget/AppWidgetHostView;->VIEW_MODE_DEFAULT:I
-Landroid/appwidget/AppWidgetHostView;->VIEW_MODE_ERROR:I
-Landroid/appwidget/AppWidgetHostView;->VIEW_MODE_NOINIT:I
-Landroid/appwidget/AppWidgetManager;-><init>(Landroid/content/Context;Lcom/android/internal/appwidget/IAppWidgetService;)V
-Landroid/appwidget/AppWidgetManager;->ACTION_KEYGUARD_APPWIDGET_PICK:Ljava/lang/String;
-Landroid/appwidget/AppWidgetManager;->EXTRA_CATEGORY_FILTER:Ljava/lang/String;
-Landroid/appwidget/AppWidgetManager;->EXTRA_CUSTOM_SORT:Ljava/lang/String;
-Landroid/appwidget/AppWidgetManager;->hasBindAppWidgetPermission(Ljava/lang/String;)Z
-Landroid/appwidget/AppWidgetManager;->hasBindAppWidgetPermission(Ljava/lang/String;I)Z
-Landroid/appwidget/AppWidgetManager;->isBoundWidgetPackage(Ljava/lang/String;I)Z
-Landroid/appwidget/AppWidgetManager;->mContext:Landroid/content/Context;
-Landroid/appwidget/AppWidgetManager;->mDisplayMetrics:Landroid/util/DisplayMetrics;
-Landroid/appwidget/AppWidgetManager;->mPackageName:Ljava/lang/String;
-Landroid/appwidget/AppWidgetManager;->requestPinAppWidget(Landroid/content/ComponentName;Landroid/app/PendingIntent;)Z
-Landroid/appwidget/AppWidgetManager;->setBindAppWidgetPermission(Ljava/lang/String;IZ)V
-Landroid/appwidget/AppWidgetManager;->setBindAppWidgetPermission(Ljava/lang/String;Z)V
-Landroid/appwidget/AppWidgetManagerInternal;
-Landroid/appwidget/AppWidgetManagerInternal;-><init>()V
-Landroid/appwidget/AppWidgetManagerInternal;->getHostedWidgetPackages(I)Landroid/util/ArraySet;
-Landroid/appwidget/AppWidgetProviderInfo$CategoryFlags;
-Landroid/appwidget/AppWidgetProviderInfo$FeatureFlags;
-Landroid/appwidget/AppWidgetProviderInfo$ResizeModeFlags;
-Landroid/appwidget/AppWidgetProviderInfo;->loadDrawable(Landroid/content/Context;IIZ)Landroid/graphics/drawable/Drawable;
-Landroid/appwidget/AppWidgetProviderInfo;->updateDimensions(Landroid/util/DisplayMetrics;)V
-Landroid/appwidget/PendingHostUpdate;
-Landroid/appwidget/PendingHostUpdate;-><init>(II)V
-Landroid/appwidget/PendingHostUpdate;-><init>(Landroid/os/Parcel;)V
-Landroid/appwidget/PendingHostUpdate;->appWidgetId:I
-Landroid/appwidget/PendingHostUpdate;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/appwidget/PendingHostUpdate;->providerChanged(ILandroid/appwidget/AppWidgetProviderInfo;)Landroid/appwidget/PendingHostUpdate;
-Landroid/appwidget/PendingHostUpdate;->type:I
-Landroid/appwidget/PendingHostUpdate;->TYPE_PROVIDER_CHANGED:I
-Landroid/appwidget/PendingHostUpdate;->TYPE_VIEWS_UPDATE:I
-Landroid/appwidget/PendingHostUpdate;->TYPE_VIEW_DATA_CHANGED:I
-Landroid/appwidget/PendingHostUpdate;->updateAppWidget(ILandroid/widget/RemoteViews;)Landroid/appwidget/PendingHostUpdate;
-Landroid/appwidget/PendingHostUpdate;->viewDataChanged(II)Landroid/appwidget/PendingHostUpdate;
-Landroid/appwidget/PendingHostUpdate;->viewId:I
-Landroid/appwidget/PendingHostUpdate;->views:Landroid/widget/RemoteViews;
-Landroid/appwidget/PendingHostUpdate;->widgetInfo:Landroid/appwidget/AppWidgetProviderInfo;
-Landroid/appwidget/PendingHostUpdate;->writeNullParcelable(Landroid/os/Parcelable;Landroid/os/Parcel;I)V
-Landroid/bluetooth/BluetoothA2dp;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-Landroid/bluetooth/BluetoothA2dp;->ACTION_AVRCP_CONNECTION_STATE_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothA2dp;->DBG:Z
-Landroid/bluetooth/BluetoothA2dp;->doBind()Z
-Landroid/bluetooth/BluetoothA2dp;->enableDisableOptionalCodecs(Landroid/bluetooth/BluetoothDevice;Z)V
-Landroid/bluetooth/BluetoothA2dp;->isAvrcpAbsoluteVolumeSupported()Z
-Landroid/bluetooth/BluetoothA2dp;->isEnabled()Z
-Landroid/bluetooth/BluetoothA2dp;->isValidDevice(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothA2dp;->log(Ljava/lang/String;)V
-Landroid/bluetooth/BluetoothA2dp;->mAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/BluetoothA2dp;->mBluetoothStateChangeCallback:Landroid/bluetooth/IBluetoothStateChangeCallback;
-Landroid/bluetooth/BluetoothA2dp;->mConnection:Landroid/content/ServiceConnection;
-Landroid/bluetooth/BluetoothA2dp;->mContext:Landroid/content/Context;
-Landroid/bluetooth/BluetoothA2dp;->mService:Landroid/bluetooth/IBluetoothA2dp;
-Landroid/bluetooth/BluetoothA2dp;->mServiceListener:Landroid/bluetooth/BluetoothProfile$ServiceListener;
-Landroid/bluetooth/BluetoothA2dp;->mServiceLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
-Landroid/bluetooth/BluetoothA2dp;->setAvrcpAbsoluteVolume(I)V
-Landroid/bluetooth/BluetoothA2dp;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/BluetoothA2dp;->shouldSendVolumeKeys(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothA2dp;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothA2dp;->VDBG:Z
-Landroid/bluetooth/BluetoothA2dpSink;
-Landroid/bluetooth/BluetoothA2dpSink;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-Landroid/bluetooth/BluetoothA2dpSink;->ACTION_AUDIO_CONFIG_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothA2dpSink;->ACTION_CONNECTION_STATE_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothA2dpSink;->ACTION_PLAYING_STATE_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothA2dpSink;->close()V
-Landroid/bluetooth/BluetoothA2dpSink;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothA2dpSink;->DBG:Z
-Landroid/bluetooth/BluetoothA2dpSink;->doBind()Z
-Landroid/bluetooth/BluetoothA2dpSink;->EXTRA_AUDIO_CONFIG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothA2dpSink;->getAudioConfig(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothAudioConfig;
-Landroid/bluetooth/BluetoothA2dpSink;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/BluetoothA2dpSink;->isA2dpPlaying(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothA2dpSink;->isEnabled()Z
-Landroid/bluetooth/BluetoothA2dpSink;->isValidDevice(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothA2dpSink;->log(Ljava/lang/String;)V
-Landroid/bluetooth/BluetoothA2dpSink;->mAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/BluetoothA2dpSink;->mBluetoothStateChangeCallback:Landroid/bluetooth/IBluetoothStateChangeCallback;
-Landroid/bluetooth/BluetoothA2dpSink;->mConnection:Landroid/content/ServiceConnection;
-Landroid/bluetooth/BluetoothA2dpSink;->mContext:Landroid/content/Context;
-Landroid/bluetooth/BluetoothA2dpSink;->mService:Landroid/bluetooth/IBluetoothA2dpSink;
-Landroid/bluetooth/BluetoothA2dpSink;->mServiceListener:Landroid/bluetooth/BluetoothProfile$ServiceListener;
-Landroid/bluetooth/BluetoothA2dpSink;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/BluetoothA2dpSink;->stateToString(I)Ljava/lang/String;
-Landroid/bluetooth/BluetoothA2dpSink;->STATE_NOT_PLAYING:I
-Landroid/bluetooth/BluetoothA2dpSink;->STATE_PLAYING:I
-Landroid/bluetooth/BluetoothA2dpSink;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothA2dpSink;->VDBG:Z
-Landroid/bluetooth/BluetoothActivityEnergyInfo;
-Landroid/bluetooth/BluetoothActivityEnergyInfo;-><init>(JIJJJJ)V
-Landroid/bluetooth/BluetoothActivityEnergyInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->BT_STACK_STATE_INVALID:I
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->BT_STACK_STATE_STATE_ACTIVE:I
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->BT_STACK_STATE_STATE_IDLE:I
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->BT_STACK_STATE_STATE_SCANNING:I
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->getBluetoothStackState()I
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->getControllerEnergyUsed()J
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->getControllerIdleTimeMillis()J
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->getControllerRxTimeMillis()J
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->getControllerTxTimeMillis()J
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->getTimeStamp()J
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->getUidTraffic()[Landroid/bluetooth/UidTraffic;
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->isValid()Z
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->mBluetoothStackState:I
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->mControllerEnergyUsed:J
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->mControllerIdleTimeMs:J
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->mControllerRxTimeMs:J
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->mControllerTxTimeMs:J
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->mTimestamp:J
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->mUidTraffic:[Landroid/bluetooth/UidTraffic;
-Landroid/bluetooth/BluetoothActivityEnergyInfo;->setUidTraffic([Landroid/bluetooth/UidTraffic;)V
-Landroid/bluetooth/BluetoothAdapter$AdapterState;
-Landroid/bluetooth/BluetoothAdapter$BluetoothStateChangeCallback;
-Landroid/bluetooth/BluetoothAdapter$BluetoothStateChangeCallback;->onBluetoothStateChange(Z)V
-Landroid/bluetooth/BluetoothAdapter$ScanMode;
-Landroid/bluetooth/BluetoothAdapter$StateChangeCallbackWrapper;
-Landroid/bluetooth/BluetoothAdapter$StateChangeCallbackWrapper;-><init>(Landroid/bluetooth/BluetoothAdapter$BluetoothStateChangeCallback;)V
-Landroid/bluetooth/BluetoothAdapter$StateChangeCallbackWrapper;->mCallback:Landroid/bluetooth/BluetoothAdapter$BluetoothStateChangeCallback;
-Landroid/bluetooth/BluetoothAdapter$StateChangeCallbackWrapper;->onBluetoothStateChange(Z)V
-Landroid/bluetooth/BluetoothAdapter;-><init>(Landroid/bluetooth/IBluetoothManager;)V
-Landroid/bluetooth/BluetoothAdapter;->ACTION_BLE_ACL_CONNECTED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothAdapter;->ACTION_BLE_ACL_DISCONNECTED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothAdapter;->ACTION_BLUETOOTH_ADDRESS_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothAdapter;->ACTION_REQUEST_DISABLE:Ljava/lang/String;
-Landroid/bluetooth/BluetoothAdapter;->ADDRESS_LENGTH:I
-Landroid/bluetooth/BluetoothAdapter;->BLUETOOTH_MANAGER_SERVICE:Ljava/lang/String;
-Landroid/bluetooth/BluetoothAdapter;->changeApplicationBluetoothState(ZLandroid/bluetooth/BluetoothAdapter$BluetoothStateChangeCallback;)Z
-Landroid/bluetooth/BluetoothAdapter;->createNewRfcommSocketAndRecord(Ljava/lang/String;Ljava/util/UUID;ZZ)Landroid/bluetooth/BluetoothServerSocket;
-Landroid/bluetooth/BluetoothAdapter;->DBG:Z
-Landroid/bluetooth/BluetoothAdapter;->DEFAULT_MAC_ADDRESS:Ljava/lang/String;
-Landroid/bluetooth/BluetoothAdapter;->EXTRA_BLUETOOTH_ADDRESS:Ljava/lang/String;
-Landroid/bluetooth/BluetoothAdapter;->getBluetoothClass()Landroid/bluetooth/BluetoothClass;
-Landroid/bluetooth/BluetoothAdapter;->getControllerActivityEnergyInfo(I)Landroid/bluetooth/BluetoothActivityEnergyInfo;
-Landroid/bluetooth/BluetoothAdapter;->getDiscoveryEndMillis()J
-Landroid/bluetooth/BluetoothAdapter;->getLeAccess()Z
-Landroid/bluetooth/BluetoothAdapter;->getMaxConnectedAudioDevices()I
-Landroid/bluetooth/BluetoothAdapter;->getPeriodicAdvertisingManager()Landroid/bluetooth/le/PeriodicAdvertisingManager;
-Landroid/bluetooth/BluetoothAdapter;->getSupportedProfiles()Ljava/util/List;
-Landroid/bluetooth/BluetoothAdapter;->isHardwareTrackingFiltersAvailable()Z
-Landroid/bluetooth/BluetoothAdapter;->LE_PSM_CHARACTERISTIC_UUID:Ljava/util/UUID;
-Landroid/bluetooth/BluetoothAdapter;->listenUsingEncryptedRfcommOn(I)Landroid/bluetooth/BluetoothServerSocket;
-Landroid/bluetooth/BluetoothAdapter;->listenUsingInsecureL2capCoc(I)Landroid/bluetooth/BluetoothServerSocket;
-Landroid/bluetooth/BluetoothAdapter;->listenUsingInsecureL2capOn(I)Landroid/bluetooth/BluetoothServerSocket;
-Landroid/bluetooth/BluetoothAdapter;->listenUsingInsecureRfcommOn(I)Landroid/bluetooth/BluetoothServerSocket;
-Landroid/bluetooth/BluetoothAdapter;->listenUsingL2capCoc(I)Landroid/bluetooth/BluetoothServerSocket;
-Landroid/bluetooth/BluetoothAdapter;->listenUsingL2capOn(I)Landroid/bluetooth/BluetoothServerSocket;
-Landroid/bluetooth/BluetoothAdapter;->listenUsingL2capOn(IZZ)Landroid/bluetooth/BluetoothServerSocket;
-Landroid/bluetooth/BluetoothAdapter;->listenUsingRfcommOn(I)Landroid/bluetooth/BluetoothServerSocket;
-Landroid/bluetooth/BluetoothAdapter;->listenUsingScoOn()Landroid/bluetooth/BluetoothServerSocket;
-Landroid/bluetooth/BluetoothAdapter;->mLeScanClients:Ljava/util/Map;
-Landroid/bluetooth/BluetoothAdapter;->mLock:Ljava/lang/Object;
-Landroid/bluetooth/BluetoothAdapter;->mManagerCallback:Landroid/bluetooth/IBluetoothManagerCallback;
-Landroid/bluetooth/BluetoothAdapter;->mManagerService:Landroid/bluetooth/IBluetoothManager;
-Landroid/bluetooth/BluetoothAdapter;->mProxyServiceStateCallbacks:Ljava/util/ArrayList;
-Landroid/bluetooth/BluetoothAdapter;->mServiceLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
-Landroid/bluetooth/BluetoothAdapter;->mToken:Landroid/os/IBinder;
-Landroid/bluetooth/BluetoothAdapter;->nameForState(I)Ljava/lang/String;
-Landroid/bluetooth/BluetoothAdapter;->readOutOfBandData()Landroid/util/Pair;
-Landroid/bluetooth/BluetoothAdapter;->removeServiceStateCallback(Landroid/bluetooth/IBluetoothManagerCallback;)V
-Landroid/bluetooth/BluetoothAdapter;->requestControllerActivityEnergyInfo(Landroid/os/ResultReceiver;)V
-Landroid/bluetooth/BluetoothAdapter;->sAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/BluetoothAdapter;->sBluetoothLeAdvertiser:Landroid/bluetooth/le/BluetoothLeAdvertiser;
-Landroid/bluetooth/BluetoothAdapter;->sBluetoothLeScanner:Landroid/bluetooth/le/BluetoothLeScanner;
-Landroid/bluetooth/BluetoothAdapter;->setBluetoothClass(Landroid/bluetooth/BluetoothClass;)Z
-Landroid/bluetooth/BluetoothAdapter;->SOCKET_CHANNEL_AUTO_STATIC_NO_SDP:I
-Landroid/bluetooth/BluetoothAdapter;->sPeriodicAdvertisingManager:Landroid/bluetooth/le/PeriodicAdvertisingManager;
-Landroid/bluetooth/BluetoothAdapter;->STATE_BLE_ON:I
-Landroid/bluetooth/BluetoothAdapter;->STATE_BLE_TURNING_OFF:I
-Landroid/bluetooth/BluetoothAdapter;->STATE_BLE_TURNING_ON:I
-Landroid/bluetooth/BluetoothAdapter;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothAdapter;->toDeviceSet([Landroid/bluetooth/BluetoothDevice;)Ljava/util/Set;
-Landroid/bluetooth/BluetoothAdapter;->VDBG:Z
-Landroid/bluetooth/BluetoothAssignedNumbers;-><init>()V
-Landroid/bluetooth/BluetoothAudioConfig;
-Landroid/bluetooth/BluetoothAudioConfig;-><init>(III)V
-Landroid/bluetooth/BluetoothAudioConfig;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/bluetooth/BluetoothAudioConfig;->getAudioFormat()I
-Landroid/bluetooth/BluetoothAudioConfig;->getChannelConfig()I
-Landroid/bluetooth/BluetoothAudioConfig;->getSampleRate()I
-Landroid/bluetooth/BluetoothAudioConfig;->mAudioFormat:I
-Landroid/bluetooth/BluetoothAudioConfig;->mChannelConfig:I
-Landroid/bluetooth/BluetoothAudioConfig;->mSampleRate:I
-Landroid/bluetooth/BluetoothAvrcp;
-Landroid/bluetooth/BluetoothAvrcp;-><init>()V
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_0:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_1:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_2:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_3:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_4:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_5:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_6:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_7:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_8:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_9:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_ANGLE:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_BACKWARD:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_CHAN_DOWN:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_CHAN_UP:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_CLEAR:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_CONT_MENU:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_DISP_INFO:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_DOT:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_DOWN:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_EJECT:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_ENTER:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_EXIT:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_F1:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_F2:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_F3:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_F4:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_F5:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_FAST_FOR:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_FAV_MENU:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_FORWARD:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_HELP:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_INPUT_SEL:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_LEFT:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_LEFT_DOWN:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_LEFT_UP:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_MUTE:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_PAGE_DOWN:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_PAGE_UP:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_PAUSE:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_PLAY:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_POWER:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_PREV_CHAN:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_RECORD:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_REWIND:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_RIGHT:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_RIGHT_DOWN:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_RIGHT_UP:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_ROOT_MENU:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_SELECT:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_SETUP_MENU:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_SOUND_SEL:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_STOP:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_SUBPICT:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_UP:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_VENDOR:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_VOL_DOWN:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_ID_VOL_UP:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_KEYPRESSED_RELEASE:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_STATE_PRESS:I
-Landroid/bluetooth/BluetoothAvrcp;->PASSTHROUGH_STATE_RELEASE:I
-Landroid/bluetooth/BluetoothAvrcpController;
-Landroid/bluetooth/BluetoothAvrcpController;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-Landroid/bluetooth/BluetoothAvrcpController;->ACTION_CONNECTION_STATE_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothAvrcpController;->ACTION_PLAYER_SETTING:Ljava/lang/String;
-Landroid/bluetooth/BluetoothAvrcpController;->close()V
-Landroid/bluetooth/BluetoothAvrcpController;->DBG:Z
-Landroid/bluetooth/BluetoothAvrcpController;->doBind()Z
-Landroid/bluetooth/BluetoothAvrcpController;->EXTRA_PLAYER_SETTING:Ljava/lang/String;
-Landroid/bluetooth/BluetoothAvrcpController;->getPlayerSettings(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothAvrcpPlayerSettings;
-Landroid/bluetooth/BluetoothAvrcpController;->isEnabled()Z
-Landroid/bluetooth/BluetoothAvrcpController;->isValidDevice(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothAvrcpController;->log(Ljava/lang/String;)V
-Landroid/bluetooth/BluetoothAvrcpController;->mAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/BluetoothAvrcpController;->mBluetoothStateChangeCallback:Landroid/bluetooth/IBluetoothStateChangeCallback;
-Landroid/bluetooth/BluetoothAvrcpController;->mConnection:Landroid/content/ServiceConnection;
-Landroid/bluetooth/BluetoothAvrcpController;->mContext:Landroid/content/Context;
-Landroid/bluetooth/BluetoothAvrcpController;->mService:Landroid/bluetooth/IBluetoothAvrcpController;
-Landroid/bluetooth/BluetoothAvrcpController;->mServiceListener:Landroid/bluetooth/BluetoothProfile$ServiceListener;
-Landroid/bluetooth/BluetoothAvrcpController;->sendGroupNavigationCmd(Landroid/bluetooth/BluetoothDevice;II)V
-Landroid/bluetooth/BluetoothAvrcpController;->setPlayerApplicationSetting(Landroid/bluetooth/BluetoothAvrcpPlayerSettings;)Z
-Landroid/bluetooth/BluetoothAvrcpController;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothAvrcpController;->VDBG:Z
-Landroid/bluetooth/BluetoothAvrcpPlayerSettings;
-Landroid/bluetooth/BluetoothAvrcpPlayerSettings;-><init>(I)V
-Landroid/bluetooth/BluetoothAvrcpPlayerSettings;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/BluetoothAvrcpPlayerSettings;->addSettingValue(II)V
-Landroid/bluetooth/BluetoothAvrcpPlayerSettings;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/bluetooth/BluetoothAvrcpPlayerSettings;->getSettings()I
-Landroid/bluetooth/BluetoothAvrcpPlayerSettings;->getSettingValue(I)I
-Landroid/bluetooth/BluetoothAvrcpPlayerSettings;->mSettings:I
-Landroid/bluetooth/BluetoothAvrcpPlayerSettings;->mSettingsValue:Ljava/util/Map;
-Landroid/bluetooth/BluetoothAvrcpPlayerSettings;->SETTING_EQUALIZER:I
-Landroid/bluetooth/BluetoothAvrcpPlayerSettings;->SETTING_REPEAT:I
-Landroid/bluetooth/BluetoothAvrcpPlayerSettings;->SETTING_SCAN:I
-Landroid/bluetooth/BluetoothAvrcpPlayerSettings;->SETTING_SHUFFLE:I
-Landroid/bluetooth/BluetoothAvrcpPlayerSettings;->STATE_ALL_TRACK:I
-Landroid/bluetooth/BluetoothAvrcpPlayerSettings;->STATE_GROUP:I
-Landroid/bluetooth/BluetoothAvrcpPlayerSettings;->STATE_INVALID:I
-Landroid/bluetooth/BluetoothAvrcpPlayerSettings;->STATE_OFF:I
-Landroid/bluetooth/BluetoothAvrcpPlayerSettings;->STATE_ON:I
-Landroid/bluetooth/BluetoothAvrcpPlayerSettings;->STATE_SINGLE_TRACK:I
-Landroid/bluetooth/BluetoothAvrcpPlayerSettings;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothClass$Device$Major;->BITMASK:I
-Landroid/bluetooth/BluetoothClass$Device;->BITMASK:I
-Landroid/bluetooth/BluetoothClass$Device;->PERIPHERAL_KEYBOARD:I
-Landroid/bluetooth/BluetoothClass$Device;->PERIPHERAL_KEYBOARD_POINTING:I
-Landroid/bluetooth/BluetoothClass$Device;->PERIPHERAL_NON_KEYBOARD_NON_POINTING:I
-Landroid/bluetooth/BluetoothClass$Device;->PERIPHERAL_POINTING:I
-Landroid/bluetooth/BluetoothClass$Service;->BITMASK:I
-Landroid/bluetooth/BluetoothClass;->ERROR:I
-Landroid/bluetooth/BluetoothClass;->getClassOfDevice()I
-Landroid/bluetooth/BluetoothClass;->getClassOfDeviceBytes()[B
-Landroid/bluetooth/BluetoothClass;->mClass:I
-Landroid/bluetooth/BluetoothClass;->PROFILE_A2DP_SINK:I
-Landroid/bluetooth/BluetoothClass;->PROFILE_HID:I
-Landroid/bluetooth/BluetoothClass;->PROFILE_NAP:I
-Landroid/bluetooth/BluetoothClass;->PROFILE_OPP:I
-Landroid/bluetooth/BluetoothClass;->PROFILE_PANU:I
-Landroid/bluetooth/BluetoothCodecConfig;->appendCapabilityToString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/bluetooth/BluetoothCodecConfig;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/bluetooth/BluetoothCodecConfig;->getCodecName()Ljava/lang/String;
-Landroid/bluetooth/BluetoothCodecConfig;->isMandatoryCodec()Z
-Landroid/bluetooth/BluetoothCodecConfig;->isValid()Z
-Landroid/bluetooth/BluetoothCodecConfig;->mBitsPerSample:I
-Landroid/bluetooth/BluetoothCodecConfig;->mChannelMode:I
-Landroid/bluetooth/BluetoothCodecConfig;->mCodecPriority:I
-Landroid/bluetooth/BluetoothCodecConfig;->mCodecSpecific1:J
-Landroid/bluetooth/BluetoothCodecConfig;->mCodecSpecific2:J
-Landroid/bluetooth/BluetoothCodecConfig;->mCodecSpecific3:J
-Landroid/bluetooth/BluetoothCodecConfig;->mCodecSpecific4:J
-Landroid/bluetooth/BluetoothCodecConfig;->mCodecType:I
-Landroid/bluetooth/BluetoothCodecConfig;->mSampleRate:I
-Landroid/bluetooth/BluetoothCodecConfig;->sameAudioFeedingParameters(Landroid/bluetooth/BluetoothCodecConfig;)Z
-Landroid/bluetooth/BluetoothCodecStatus;-><init>(Landroid/bluetooth/BluetoothCodecConfig;[Landroid/bluetooth/BluetoothCodecConfig;[Landroid/bluetooth/BluetoothCodecConfig;)V
-Landroid/bluetooth/BluetoothCodecStatus;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/bluetooth/BluetoothCodecStatus;->mCodecConfig:Landroid/bluetooth/BluetoothCodecConfig;
-Landroid/bluetooth/BluetoothCodecStatus;->mCodecsLocalCapabilities:[Landroid/bluetooth/BluetoothCodecConfig;
-Landroid/bluetooth/BluetoothCodecStatus;->mCodecsSelectableCapabilities:[Landroid/bluetooth/BluetoothCodecConfig;
-Landroid/bluetooth/BluetoothCodecStatus;->sameCapabilities([Landroid/bluetooth/BluetoothCodecConfig;[Landroid/bluetooth/BluetoothCodecConfig;)Z
-Landroid/bluetooth/BluetoothDevice;->ACTION_BATTERY_LEVEL_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevice;->ACTION_CONNECTION_ACCESS_CANCEL:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevice;->ACTION_CONNECTION_ACCESS_REPLY:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevice;->ACTION_CONNECTION_ACCESS_REQUEST:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevice;->ACTION_MAS_INSTANCE:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevice;->ACTION_NAME_FAILED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevice;->BATTERY_LEVEL_UNKNOWN:I
-Landroid/bluetooth/BluetoothDevice;->BOND_SUCCESS:I
-Landroid/bluetooth/BluetoothDevice;->CONNECTION_ACCESS_NO:I
-Landroid/bluetooth/BluetoothDevice;->CONNECTION_ACCESS_YES:I
-Landroid/bluetooth/BluetoothDevice;->CONNECTION_STATE_CONNECTED:I
-Landroid/bluetooth/BluetoothDevice;->CONNECTION_STATE_DISCONNECTED:I
-Landroid/bluetooth/BluetoothDevice;->CONNECTION_STATE_ENCRYPTED_BREDR:I
-Landroid/bluetooth/BluetoothDevice;->CONNECTION_STATE_ENCRYPTED_LE:I
-Landroid/bluetooth/BluetoothDevice;->createBondOutOfBand(ILandroid/bluetooth/OobData;)Z
-Landroid/bluetooth/BluetoothDevice;->createInsecureL2capCocSocket(II)Landroid/bluetooth/BluetoothSocket;
-Landroid/bluetooth/BluetoothDevice;->createInsecureL2capSocket(I)Landroid/bluetooth/BluetoothSocket;
-Landroid/bluetooth/BluetoothDevice;->createL2capCocSocket(II)Landroid/bluetooth/BluetoothSocket;
-Landroid/bluetooth/BluetoothDevice;->createL2capSocket(I)Landroid/bluetooth/BluetoothSocket;
-Landroid/bluetooth/BluetoothDevice;->DBG:Z
-Landroid/bluetooth/BluetoothDevice;->EXTRA_ACCESS_REQUEST_TYPE:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevice;->EXTRA_ALWAYS_ALLOWED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevice;->EXTRA_BATTERY_LEVEL:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevice;->EXTRA_CLASS_NAME:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevice;->EXTRA_CONNECTION_ACCESS_RESULT:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevice;->EXTRA_MAS_INSTANCE:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevice;->EXTRA_PACKAGE_NAME:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevice;->EXTRA_SDP_RECORD:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevice;->getSimAccessPermission()I
-Landroid/bluetooth/BluetoothDevice;->isBluetoothEnabled()Z
-Landroid/bluetooth/BluetoothDevice;->mAddress:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevice;->PAIRING_VARIANT_CONSENT:I
-Landroid/bluetooth/BluetoothDevice;->PAIRING_VARIANT_DISPLAY_PASSKEY:I
-Landroid/bluetooth/BluetoothDevice;->PAIRING_VARIANT_DISPLAY_PIN:I
-Landroid/bluetooth/BluetoothDevice;->PAIRING_VARIANT_OOB_CONSENT:I
-Landroid/bluetooth/BluetoothDevice;->PAIRING_VARIANT_PASSKEY:I
-Landroid/bluetooth/BluetoothDevice;->PAIRING_VARIANT_PIN_16_DIGITS:I
-Landroid/bluetooth/BluetoothDevice;->REQUEST_TYPE_MESSAGE_ACCESS:I
-Landroid/bluetooth/BluetoothDevice;->REQUEST_TYPE_PHONEBOOK_ACCESS:I
-Landroid/bluetooth/BluetoothDevice;->REQUEST_TYPE_PROFILE_CONNECTION:I
-Landroid/bluetooth/BluetoothDevice;->REQUEST_TYPE_SIM_ACCESS:I
-Landroid/bluetooth/BluetoothDevice;->sdpSearch(Landroid/os/ParcelUuid;)Z
-Landroid/bluetooth/BluetoothDevice;->setDeviceOutOfBandData([B[B)Z
-Landroid/bluetooth/BluetoothDevice;->setRemoteOutOfBandData()Z
-Landroid/bluetooth/BluetoothDevice;->sService:Landroid/bluetooth/IBluetooth;
-Landroid/bluetooth/BluetoothDevice;->sStateChangeCallback:Landroid/bluetooth/IBluetoothManagerCallback;
-Landroid/bluetooth/BluetoothDevice;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevice;->UNBOND_REASON_AUTH_CANCELED:I
-Landroid/bluetooth/BluetoothDevice;->UNBOND_REASON_REMOVED:I
-Landroid/bluetooth/BluetoothDevicePicker;
-Landroid/bluetooth/BluetoothDevicePicker;->ACTION_DEVICE_SELECTED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevicePicker;->ACTION_LAUNCH:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevicePicker;->EXTRA_FILTER_TYPE:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevicePicker;->EXTRA_LAUNCH_CLASS:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevicePicker;->EXTRA_LAUNCH_PACKAGE:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevicePicker;->EXTRA_NEED_AUTH:Ljava/lang/String;
-Landroid/bluetooth/BluetoothDevicePicker;->FILTER_TYPE_ALL:I
-Landroid/bluetooth/BluetoothDevicePicker;->FILTER_TYPE_AUDIO:I
-Landroid/bluetooth/BluetoothDevicePicker;->FILTER_TYPE_NAP:I
-Landroid/bluetooth/BluetoothDevicePicker;->FILTER_TYPE_PANU:I
-Landroid/bluetooth/BluetoothDevicePicker;->FILTER_TYPE_TRANSFER:I
-Landroid/bluetooth/BluetoothGatt;-><init>(Landroid/bluetooth/IBluetoothGatt;Landroid/bluetooth/BluetoothDevice;IZI)V
-Landroid/bluetooth/BluetoothGatt;->AUTHENTICATION_MITM:I
-Landroid/bluetooth/BluetoothGatt;->AUTHENTICATION_NONE:I
-Landroid/bluetooth/BluetoothGatt;->AUTHENTICATION_NO_MITM:I
-Landroid/bluetooth/BluetoothGatt;->AUTH_RETRY_STATE_IDLE:I
-Landroid/bluetooth/BluetoothGatt;->AUTH_RETRY_STATE_MITM:I
-Landroid/bluetooth/BluetoothGatt;->AUTH_RETRY_STATE_NO_MITM:I
-Landroid/bluetooth/BluetoothGatt;->CONN_STATE_CLOSED:I
-Landroid/bluetooth/BluetoothGatt;->CONN_STATE_CONNECTED:I
-Landroid/bluetooth/BluetoothGatt;->CONN_STATE_CONNECTING:I
-Landroid/bluetooth/BluetoothGatt;->CONN_STATE_DISCONNECTING:I
-Landroid/bluetooth/BluetoothGatt;->CONN_STATE_IDLE:I
-Landroid/bluetooth/BluetoothGatt;->DBG:Z
-Landroid/bluetooth/BluetoothGatt;->discoverServiceByUuid(Ljava/util/UUID;)Z
-Landroid/bluetooth/BluetoothGatt;->getCharacteristicById(Landroid/bluetooth/BluetoothDevice;I)Landroid/bluetooth/BluetoothGattCharacteristic;
-Landroid/bluetooth/BluetoothGatt;->getDescriptorById(Landroid/bluetooth/BluetoothDevice;I)Landroid/bluetooth/BluetoothGattDescriptor;
-Landroid/bluetooth/BluetoothGatt;->getService(Landroid/bluetooth/BluetoothDevice;Ljava/util/UUID;I)Landroid/bluetooth/BluetoothGattService;
-Landroid/bluetooth/BluetoothGatt;->mBluetoothGattCallback:Landroid/bluetooth/IBluetoothGattCallback;
-Landroid/bluetooth/BluetoothGatt;->mConnState:I
-Landroid/bluetooth/BluetoothGatt;->mDevice:Landroid/bluetooth/BluetoothDevice;
-Landroid/bluetooth/BluetoothGatt;->mHandler:Landroid/os/Handler;
-Landroid/bluetooth/BluetoothGatt;->mOpportunistic:Z
-Landroid/bluetooth/BluetoothGatt;->mPhy:I
-Landroid/bluetooth/BluetoothGatt;->mServices:Ljava/util/List;
-Landroid/bluetooth/BluetoothGatt;->mStateLock:Ljava/lang/Object;
-Landroid/bluetooth/BluetoothGatt;->readUsingCharacteristicUuid(Ljava/util/UUID;II)Z
-Landroid/bluetooth/BluetoothGatt;->registerApp(Landroid/bluetooth/BluetoothGattCallback;Landroid/os/Handler;)Z
-Landroid/bluetooth/BluetoothGatt;->requestLeConnectionUpdate(IIIIII)Z
-Landroid/bluetooth/BluetoothGatt;->runOrQueueCallback(Ljava/lang/Runnable;)V
-Landroid/bluetooth/BluetoothGatt;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothGatt;->VDBG:Z
-Landroid/bluetooth/BluetoothGattCallback;->onConnectionUpdated(Landroid/bluetooth/BluetoothGatt;IIII)V
-Landroid/bluetooth/BluetoothGattCharacteristic;-><init>(Landroid/bluetooth/BluetoothGattService;Ljava/util/UUID;III)V
-Landroid/bluetooth/BluetoothGattCharacteristic;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/BluetoothGattCharacteristic;-><init>(Ljava/util/UUID;III)V
-Landroid/bluetooth/BluetoothGattCharacteristic;->bytesToFloat(BB)F
-Landroid/bluetooth/BluetoothGattCharacteristic;->bytesToFloat(BBBB)F
-Landroid/bluetooth/BluetoothGattCharacteristic;->getDescriptor(Ljava/util/UUID;I)Landroid/bluetooth/BluetoothGattDescriptor;
-Landroid/bluetooth/BluetoothGattCharacteristic;->getKeySize()I
-Landroid/bluetooth/BluetoothGattCharacteristic;->getTypeLen(I)I
-Landroid/bluetooth/BluetoothGattCharacteristic;->initCharacteristic(Landroid/bluetooth/BluetoothGattService;Ljava/util/UUID;III)V
-Landroid/bluetooth/BluetoothGattCharacteristic;->intToSignedBits(II)I
-Landroid/bluetooth/BluetoothGattCharacteristic;->mKeySize:I
-Landroid/bluetooth/BluetoothGattCharacteristic;->mPermissions:I
-Landroid/bluetooth/BluetoothGattCharacteristic;->mProperties:I
-Landroid/bluetooth/BluetoothGattCharacteristic;->mUuid:Ljava/util/UUID;
-Landroid/bluetooth/BluetoothGattCharacteristic;->mValue:[B
-Landroid/bluetooth/BluetoothGattCharacteristic;->mWriteType:I
-Landroid/bluetooth/BluetoothGattCharacteristic;->setInstanceId(I)V
-Landroid/bluetooth/BluetoothGattCharacteristic;->unsignedBytesToInt(BB)I
-Landroid/bluetooth/BluetoothGattCharacteristic;->unsignedBytesToInt(BBBB)I
-Landroid/bluetooth/BluetoothGattCharacteristic;->unsignedByteToInt(B)I
-Landroid/bluetooth/BluetoothGattCharacteristic;->unsignedToSigned(II)I
-Landroid/bluetooth/BluetoothGattDescriptor;-><init>(Landroid/bluetooth/BluetoothGattCharacteristic;Ljava/util/UUID;II)V
-Landroid/bluetooth/BluetoothGattDescriptor;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/BluetoothGattDescriptor;-><init>(Ljava/util/UUID;II)V
-Landroid/bluetooth/BluetoothGattDescriptor;->getInstanceId()I
-Landroid/bluetooth/BluetoothGattDescriptor;->initDescriptor(Landroid/bluetooth/BluetoothGattCharacteristic;Ljava/util/UUID;II)V
-Landroid/bluetooth/BluetoothGattDescriptor;->mPermissions:I
-Landroid/bluetooth/BluetoothGattDescriptor;->mUuid:Ljava/util/UUID;
-Landroid/bluetooth/BluetoothGattDescriptor;->mValue:[B
-Landroid/bluetooth/BluetoothGattDescriptor;->setInstanceId(I)V
-Landroid/bluetooth/BluetoothGattIncludedService;
-Landroid/bluetooth/BluetoothGattIncludedService;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/BluetoothGattIncludedService;-><init>(Ljava/util/UUID;II)V
-Landroid/bluetooth/BluetoothGattIncludedService;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/bluetooth/BluetoothGattIncludedService;->getInstanceId()I
-Landroid/bluetooth/BluetoothGattIncludedService;->getType()I
-Landroid/bluetooth/BluetoothGattIncludedService;->getUuid()Ljava/util/UUID;
-Landroid/bluetooth/BluetoothGattIncludedService;->mInstanceId:I
-Landroid/bluetooth/BluetoothGattIncludedService;->mServiceType:I
-Landroid/bluetooth/BluetoothGattIncludedService;->mUuid:Ljava/util/UUID;
-Landroid/bluetooth/BluetoothGattServer;-><init>(Landroid/bluetooth/IBluetoothGatt;I)V
-Landroid/bluetooth/BluetoothGattServer;->CALLBACK_REG_TIMEOUT:I
-Landroid/bluetooth/BluetoothGattServer;->DBG:Z
-Landroid/bluetooth/BluetoothGattServer;->getCharacteristicByHandle(I)Landroid/bluetooth/BluetoothGattCharacteristic;
-Landroid/bluetooth/BluetoothGattServer;->getDescriptorByHandle(I)Landroid/bluetooth/BluetoothGattDescriptor;
-Landroid/bluetooth/BluetoothGattServer;->getService(Ljava/util/UUID;II)Landroid/bluetooth/BluetoothGattService;
-Landroid/bluetooth/BluetoothGattServer;->mAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/BluetoothGattServer;->mBluetoothGattServerCallback:Landroid/bluetooth/IBluetoothGattServerCallback;
-Landroid/bluetooth/BluetoothGattServer;->mCallback:Landroid/bluetooth/BluetoothGattServerCallback;
-Landroid/bluetooth/BluetoothGattServer;->mPendingService:Landroid/bluetooth/BluetoothGattService;
-Landroid/bluetooth/BluetoothGattServer;->mServerIf:I
-Landroid/bluetooth/BluetoothGattServer;->mServerIfLock:Ljava/lang/Object;
-Landroid/bluetooth/BluetoothGattServer;->mService:Landroid/bluetooth/IBluetoothGatt;
-Landroid/bluetooth/BluetoothGattServer;->mServices:Ljava/util/List;
-Landroid/bluetooth/BluetoothGattServer;->mTransport:I
-Landroid/bluetooth/BluetoothGattServer;->registerCallback(Landroid/bluetooth/BluetoothGattServerCallback;)Z
-Landroid/bluetooth/BluetoothGattServer;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothGattServer;->unregisterCallback()V
-Landroid/bluetooth/BluetoothGattServer;->VDBG:Z
-Landroid/bluetooth/BluetoothGattServerCallback;->onConnectionUpdated(Landroid/bluetooth/BluetoothDevice;IIII)V
-Landroid/bluetooth/BluetoothGattService;-><init>(Landroid/bluetooth/BluetoothDevice;Ljava/util/UUID;II)V
-Landroid/bluetooth/BluetoothGattService;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/BluetoothGattService;-><init>(Ljava/util/UUID;II)V
-Landroid/bluetooth/BluetoothGattService;->addIncludedService(Landroid/bluetooth/BluetoothGattService;)V
-Landroid/bluetooth/BluetoothGattService;->getCharacteristic(Ljava/util/UUID;I)Landroid/bluetooth/BluetoothGattCharacteristic;
-Landroid/bluetooth/BluetoothGattService;->getDevice()Landroid/bluetooth/BluetoothDevice;
-Landroid/bluetooth/BluetoothGattService;->getHandles()I
-Landroid/bluetooth/BluetoothGattService;->isAdvertisePreferred()Z
-Landroid/bluetooth/BluetoothGattService;->mAdvertisePreferred:Z
-Landroid/bluetooth/BluetoothGattService;->mHandles:I
-Landroid/bluetooth/BluetoothGattService;->mInstanceId:I
-Landroid/bluetooth/BluetoothGattService;->mServiceType:I
-Landroid/bluetooth/BluetoothGattService;->mUuid:Ljava/util/UUID;
-Landroid/bluetooth/BluetoothGattService;->setDevice(Landroid/bluetooth/BluetoothDevice;)V
-Landroid/bluetooth/BluetoothGattService;->setHandles(I)V
-Landroid/bluetooth/BluetoothHeadset;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-Landroid/bluetooth/BluetoothHeadset;->ACTION_HF_INDICATORS_VALUE_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadset;->clccResponse(IIIIZLjava/lang/String;I)V
-Landroid/bluetooth/BluetoothHeadset;->DBG:Z
-Landroid/bluetooth/BluetoothHeadset;->doBind()Z
-Landroid/bluetooth/BluetoothHeadset;->doUnbind()V
-Landroid/bluetooth/BluetoothHeadset;->EXTRA_HF_INDICATORS_IND_ID:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadset;->EXTRA_HF_INDICATORS_IND_VALUE:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadset;->getAudioRouteAllowed()Z
-Landroid/bluetooth/BluetoothHeadset;->isAudioOn()Z
-Landroid/bluetooth/BluetoothHeadset;->isBluetoothVoiceDialingEnabled(Landroid/content/Context;)Z
-Landroid/bluetooth/BluetoothHeadset;->isDisabled()Z
-Landroid/bluetooth/BluetoothHeadset;->isInbandRingingEnabled()Z
-Landroid/bluetooth/BluetoothHeadset;->isInbandRingingSupported(Landroid/content/Context;)Z
-Landroid/bluetooth/BluetoothHeadset;->isValidDevice(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothHeadset;->log(Ljava/lang/String;)V
-Landroid/bluetooth/BluetoothHeadset;->mAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/BluetoothHeadset;->mBluetoothStateChangeCallback:Landroid/bluetooth/IBluetoothStateChangeCallback;
-Landroid/bluetooth/BluetoothHeadset;->mConnection:Landroid/bluetooth/IBluetoothProfileServiceConnection;
-Landroid/bluetooth/BluetoothHeadset;->mContext:Landroid/content/Context;
-Landroid/bluetooth/BluetoothHeadset;->MESSAGE_HEADSET_SERVICE_CONNECTED:I
-Landroid/bluetooth/BluetoothHeadset;->MESSAGE_HEADSET_SERVICE_DISCONNECTED:I
-Landroid/bluetooth/BluetoothHeadset;->mHandler:Landroid/os/Handler;
-Landroid/bluetooth/BluetoothHeadset;->mService:Landroid/bluetooth/IBluetoothHeadset;
-Landroid/bluetooth/BluetoothHeadset;->mServiceListener:Landroid/bluetooth/BluetoothProfile$ServiceListener;
-Landroid/bluetooth/BluetoothHeadset;->setAudioRouteAllowed(Z)V
-Landroid/bluetooth/BluetoothHeadset;->setForceScoAudio(Z)V
-Landroid/bluetooth/BluetoothHeadset;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadset;->VDBG:Z
-Landroid/bluetooth/BluetoothHeadset;->VENDOR_SPECIFIC_HEADSET_EVENT_IPHONEACCEV:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadset;->VENDOR_SPECIFIC_HEADSET_EVENT_IPHONEACCEV_BATTERY_LEVEL:I
-Landroid/bluetooth/BluetoothHeadset;->VENDOR_SPECIFIC_HEADSET_EVENT_XAPL:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadset;->VENDOR_SPECIFIC_HEADSET_EVENT_XEVENT:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadset;->VENDOR_SPECIFIC_HEADSET_EVENT_XEVENT_BATTERY_LEVEL:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;
-Landroid/bluetooth/BluetoothHeadsetClient;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-Landroid/bluetooth/BluetoothHeadsetClient;->ACTION_AG_EVENT:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->ACTION_AUDIO_STATE_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->ACTION_CALL_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->ACTION_CONNECTION_STATE_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->ACTION_LAST_VTAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->ACTION_RESULT:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->ACTION_RESULT_ERROR:I
-Landroid/bluetooth/BluetoothHeadsetClient;->ACTION_RESULT_ERROR_BLACKLISTED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->ACTION_RESULT_ERROR_BUSY:I
-Landroid/bluetooth/BluetoothHeadsetClient;->ACTION_RESULT_ERROR_CME:I
-Landroid/bluetooth/BluetoothHeadsetClient;->ACTION_RESULT_ERROR_DELAYED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->ACTION_RESULT_ERROR_NO_ANSWER:I
-Landroid/bluetooth/BluetoothHeadsetClient;->ACTION_RESULT_ERROR_NO_CARRIER:I
-Landroid/bluetooth/BluetoothHeadsetClient;->ACTION_RESULT_OK:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CALL_ACCEPT_HOLD:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CALL_ACCEPT_NONE:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CALL_ACCEPT_TERMINATE:I
-Landroid/bluetooth/BluetoothHeadsetClient;->close()V
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_CORPORATE_PERSONALIZATION_PIN_REQUIRED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_CORPORATE_PERSONALIZATION_PUK_REQUIRED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_DIAL_STRING_TOO_LONG:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_EAP_NOT_SUPPORTED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_EMERGENCY_SERVICE_ONLY:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_HIDDEN_KEY_REQUIRED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_INCORRECT_PARAMETERS:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_INCORRECT_PASSWORD:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_INVALID_CHARACTER_IN_DIAL_STRING:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_INVALID_CHARACTER_IN_TEXT_STRING:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_INVALID_INDEX:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_MEMORY_FAILURE:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_MEMORY_FULL:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_NETWORK_PERSONALIZATION_PIN_REQUIRED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_NETWORK_PERSONALIZATION_PUK_REQUIRED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_NETWORK_SUBSET_PERSONALIZATION_PIN_REQUIRED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_NETWORK_SUBSET_PERSONALIZATION_PUK_REQUIRED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_NETWORK_TIMEOUT:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_NOT_FOUND:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_NOT_SUPPORTED_FOR_VOIP:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_NO_CONNECTION_TO_PHONE:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_NO_NETWORK_SERVICE:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_NO_SIMULTANOUS_VOIP_CS_CALLS:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_OPERATION_NOT_ALLOWED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_OPERATION_NOT_SUPPORTED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_PHFSIM_PIN_REQUIRED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_PHFSIM_PUK_REQUIRED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_PHONE_FAILURE:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_PHSIM_PIN_REQUIRED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_SERVICE_PROVIDER_PERSONALIZATION_PIN_REQUIRED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_SERVICE_PROVIDER_PERSONALIZATION_PUK_REQUIRED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_SIM_BUSY:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_SIM_FAILURE:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_SIM_NOT_INSERTED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_SIM_PIN2_REQUIRED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_SIM_PIN_REQUIRED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_SIM_PUK2_REQUIRED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_SIM_PUK_REQUIRED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_SIM_WRONG:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_SIP_RESPONSE_CODE:I
-Landroid/bluetooth/BluetoothHeadsetClient;->CME_TEXT_STRING_TOO_LONG:I
-Landroid/bluetooth/BluetoothHeadsetClient;->connectAudio(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothHeadsetClient;->DBG:Z
-Landroid/bluetooth/BluetoothHeadsetClient;->dial(Landroid/bluetooth/BluetoothDevice;Ljava/lang/String;)Landroid/bluetooth/BluetoothHeadsetClientCall;
-Landroid/bluetooth/BluetoothHeadsetClient;->disconnectAudio(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothHeadsetClient;->doBind()Z
-Landroid/bluetooth/BluetoothHeadsetClient;->enterPrivateMode(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/BluetoothHeadsetClient;->explicitCallTransfer(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_AG_FEATURE_3WAY_CALLING:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_AG_FEATURE_ACCEPT_HELD_OR_WAITING_CALL:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_AG_FEATURE_ATTACH_NUMBER_TO_VT:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_AG_FEATURE_ECC:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_AG_FEATURE_MERGE:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_AG_FEATURE_MERGE_AND_DETACH:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_AG_FEATURE_REJECT_CALL:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_AG_FEATURE_RELEASE_AND_ACCEPT:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_AG_FEATURE_RELEASE_HELD_OR_WAITING_CALL:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_AG_FEATURE_RESPONSE_AND_HOLD:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_AG_FEATURE_VOICE_RECOGNITION:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_AUDIO_WBS:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_BATTERY_LEVEL:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_CALL:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_CME_CODE:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_IN_BAND_RING:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_NETWORK_ROAMING:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_NETWORK_SIGNAL_STRENGTH:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_NETWORK_STATUS:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_NUMBER:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_OPERATOR_NAME:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_RESULT_CODE:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_SUBSCRIBER_INFO:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->EXTRA_VOICE_RECOGNITION:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->getAudioRouteAllowed(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothHeadsetClient;->getCurrentAgEvents(Landroid/bluetooth/BluetoothDevice;)Landroid/os/Bundle;
-Landroid/bluetooth/BluetoothHeadsetClient;->getCurrentAgFeatures(Landroid/bluetooth/BluetoothDevice;)Landroid/os/Bundle;
-Landroid/bluetooth/BluetoothHeadsetClient;->getCurrentCalls(Landroid/bluetooth/BluetoothDevice;)Ljava/util/List;
-Landroid/bluetooth/BluetoothHeadsetClient;->getLastVoiceTagNumber(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothHeadsetClient;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/BluetoothHeadsetClient;->holdCall(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothHeadsetClient;->isEnabled()Z
-Landroid/bluetooth/BluetoothHeadsetClient;->isValidDevice(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothHeadsetClient;->log(Ljava/lang/String;)V
-Landroid/bluetooth/BluetoothHeadsetClient;->mAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/BluetoothHeadsetClient;->mBluetoothStateChangeCallback:Landroid/bluetooth/IBluetoothStateChangeCallback;
-Landroid/bluetooth/BluetoothHeadsetClient;->mConnection:Landroid/content/ServiceConnection;
-Landroid/bluetooth/BluetoothHeadsetClient;->mContext:Landroid/content/Context;
-Landroid/bluetooth/BluetoothHeadsetClient;->mService:Landroid/bluetooth/IBluetoothHeadsetClient;
-Landroid/bluetooth/BluetoothHeadsetClient;->mServiceListener:Landroid/bluetooth/BluetoothProfile$ServiceListener;
-Landroid/bluetooth/BluetoothHeadsetClient;->sendDTMF(Landroid/bluetooth/BluetoothDevice;B)Z
-Landroid/bluetooth/BluetoothHeadsetClient;->setAudioRouteAllowed(Landroid/bluetooth/BluetoothDevice;Z)V
-Landroid/bluetooth/BluetoothHeadsetClient;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/BluetoothHeadsetClient;->startVoiceRecognition(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothHeadsetClient;->STATE_AUDIO_CONNECTED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->STATE_AUDIO_CONNECTING:I
-Landroid/bluetooth/BluetoothHeadsetClient;->STATE_AUDIO_DISCONNECTED:I
-Landroid/bluetooth/BluetoothHeadsetClient;->stopVoiceRecognition(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothHeadsetClient;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClient;->terminateCall(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHeadsetClientCall;)Z
-Landroid/bluetooth/BluetoothHeadsetClient;->VDBG:Z
-Landroid/bluetooth/BluetoothHeadsetClientCall;
-Landroid/bluetooth/BluetoothHeadsetClientCall;-><init>(Landroid/bluetooth/BluetoothDevice;IILjava/lang/String;ZZZ)V
-Landroid/bluetooth/BluetoothHeadsetClientCall;-><init>(Landroid/bluetooth/BluetoothDevice;ILjava/util/UUID;ILjava/lang/String;ZZZ)V
-Landroid/bluetooth/BluetoothHeadsetClientCall;->CALL_STATE_ACTIVE:I
-Landroid/bluetooth/BluetoothHeadsetClientCall;->CALL_STATE_ALERTING:I
-Landroid/bluetooth/BluetoothHeadsetClientCall;->CALL_STATE_DIALING:I
-Landroid/bluetooth/BluetoothHeadsetClientCall;->CALL_STATE_HELD:I
-Landroid/bluetooth/BluetoothHeadsetClientCall;->CALL_STATE_HELD_BY_RESPONSE_AND_HOLD:I
-Landroid/bluetooth/BluetoothHeadsetClientCall;->CALL_STATE_INCOMING:I
-Landroid/bluetooth/BluetoothHeadsetClientCall;->CALL_STATE_TERMINATED:I
-Landroid/bluetooth/BluetoothHeadsetClientCall;->CALL_STATE_WAITING:I
-Landroid/bluetooth/BluetoothHeadsetClientCall;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/bluetooth/BluetoothHeadsetClientCall;->getCreationElapsedMilli()J
-Landroid/bluetooth/BluetoothHeadsetClientCall;->getDevice()Landroid/bluetooth/BluetoothDevice;
-Landroid/bluetooth/BluetoothHeadsetClientCall;->getUUID()Ljava/util/UUID;
-Landroid/bluetooth/BluetoothHeadsetClientCall;->isInBandRing()Z
-Landroid/bluetooth/BluetoothHeadsetClientCall;->mCreationElapsedMilli:J
-Landroid/bluetooth/BluetoothHeadsetClientCall;->mDevice:Landroid/bluetooth/BluetoothDevice;
-Landroid/bluetooth/BluetoothHeadsetClientCall;->mId:I
-Landroid/bluetooth/BluetoothHeadsetClientCall;->mInBandRing:Z
-Landroid/bluetooth/BluetoothHeadsetClientCall;->mMultiParty:Z
-Landroid/bluetooth/BluetoothHeadsetClientCall;->mNumber:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHeadsetClientCall;->mOutgoing:Z
-Landroid/bluetooth/BluetoothHeadsetClientCall;->mState:I
-Landroid/bluetooth/BluetoothHeadsetClientCall;->mUUID:Ljava/util/UUID;
-Landroid/bluetooth/BluetoothHeadsetClientCall;->setMultiParty(Z)V
-Landroid/bluetooth/BluetoothHeadsetClientCall;->setNumber(Ljava/lang/String;)V
-Landroid/bluetooth/BluetoothHeadsetClientCall;->setState(I)V
-Landroid/bluetooth/BluetoothHeadsetClientCall;->toString(Z)Ljava/lang/String;
-Landroid/bluetooth/BluetoothHealth$BluetoothHealthCallbackWrapper;
-Landroid/bluetooth/BluetoothHealth$BluetoothHealthCallbackWrapper;-><init>(Landroid/bluetooth/BluetoothHealthCallback;)V
-Landroid/bluetooth/BluetoothHealth$BluetoothHealthCallbackWrapper;->mCallback:Landroid/bluetooth/BluetoothHealthCallback;
-Landroid/bluetooth/BluetoothHealth$BluetoothHealthCallbackWrapper;->onHealthAppConfigurationStatusChange(Landroid/bluetooth/BluetoothHealthAppConfiguration;I)V
-Landroid/bluetooth/BluetoothHealth$BluetoothHealthCallbackWrapper;->onHealthChannelStateChange(Landroid/bluetooth/BluetoothHealthAppConfiguration;Landroid/bluetooth/BluetoothDevice;IILandroid/os/ParcelFileDescriptor;I)V
-Landroid/bluetooth/BluetoothHealth;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-Landroid/bluetooth/BluetoothHealth;->CHANNEL_TYPE_ANY:I
-Landroid/bluetooth/BluetoothHealth;->checkAppParam(Ljava/lang/String;IILandroid/bluetooth/BluetoothHealthCallback;)Z
-Landroid/bluetooth/BluetoothHealth;->close()V
-Landroid/bluetooth/BluetoothHealth;->connectChannelToSink(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHealthAppConfiguration;I)Z
-Landroid/bluetooth/BluetoothHealth;->DBG:Z
-Landroid/bluetooth/BluetoothHealth;->doBind()Z
-Landroid/bluetooth/BluetoothHealth;->HEALTH_OPERATION_ERROR:I
-Landroid/bluetooth/BluetoothHealth;->HEALTH_OPERATION_GENERIC_FAILURE:I
-Landroid/bluetooth/BluetoothHealth;->HEALTH_OPERATION_INVALID_ARGS:I
-Landroid/bluetooth/BluetoothHealth;->HEALTH_OPERATION_NOT_ALLOWED:I
-Landroid/bluetooth/BluetoothHealth;->HEALTH_OPERATION_NOT_FOUND:I
-Landroid/bluetooth/BluetoothHealth;->HEALTH_OPERATION_SUCCESS:I
-Landroid/bluetooth/BluetoothHealth;->isEnabled()Z
-Landroid/bluetooth/BluetoothHealth;->isValidDevice(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothHealth;->log(Ljava/lang/String;)V
-Landroid/bluetooth/BluetoothHealth;->mAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/BluetoothHealth;->mBluetoothStateChangeCallback:Landroid/bluetooth/IBluetoothStateChangeCallback;
-Landroid/bluetooth/BluetoothHealth;->mConnection:Landroid/content/ServiceConnection;
-Landroid/bluetooth/BluetoothHealth;->mContext:Landroid/content/Context;
-Landroid/bluetooth/BluetoothHealth;->mService:Landroid/bluetooth/IBluetoothHealth;
-Landroid/bluetooth/BluetoothHealth;->mServiceListener:Landroid/bluetooth/BluetoothProfile$ServiceListener;
-Landroid/bluetooth/BluetoothHealth;->registerAppConfiguration(Ljava/lang/String;IIILandroid/bluetooth/BluetoothHealthCallback;)Z
-Landroid/bluetooth/BluetoothHealth;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHealth;->VDBG:Z
-Landroid/bluetooth/BluetoothHealthAppConfiguration;-><init>(Ljava/lang/String;I)V
-Landroid/bluetooth/BluetoothHealthAppConfiguration;-><init>(Ljava/lang/String;III)V
-Landroid/bluetooth/BluetoothHealthAppConfiguration;->getChannelType()I
-Landroid/bluetooth/BluetoothHealthAppConfiguration;->mChannelType:I
-Landroid/bluetooth/BluetoothHealthAppConfiguration;->mDataType:I
-Landroid/bluetooth/BluetoothHealthAppConfiguration;->mName:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHealthAppConfiguration;->mRole:I
-Landroid/bluetooth/BluetoothHealthCallback;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHearingAid;
-Landroid/bluetooth/BluetoothHearingAid;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-Landroid/bluetooth/BluetoothHearingAid;->ACTION_CONNECTION_STATE_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHearingAid;->ACTION_PLAYING_STATE_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHearingAid;->adjustVolume(I)V
-Landroid/bluetooth/BluetoothHearingAid;->close()V
-Landroid/bluetooth/BluetoothHearingAid;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothHearingAid;->DBG:Z
-Landroid/bluetooth/BluetoothHearingAid;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothHearingAid;->doBind()V
-Landroid/bluetooth/BluetoothHearingAid;->getDeviceMode(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/BluetoothHearingAid;->getDeviceSide(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/BluetoothHearingAid;->getHiSyncId(Landroid/bluetooth/BluetoothDevice;)J
-Landroid/bluetooth/BluetoothHearingAid;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/BluetoothHearingAid;->getVolume()I
-Landroid/bluetooth/BluetoothHearingAid;->HI_SYNC_ID_INVALID:J
-Landroid/bluetooth/BluetoothHearingAid;->isEnabled()Z
-Landroid/bluetooth/BluetoothHearingAid;->isValidDevice(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothHearingAid;->log(Ljava/lang/String;)V
-Landroid/bluetooth/BluetoothHearingAid;->mAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/BluetoothHearingAid;->mBluetoothStateChangeCallback:Landroid/bluetooth/IBluetoothStateChangeCallback;
-Landroid/bluetooth/BluetoothHearingAid;->mConnection:Landroid/content/ServiceConnection;
-Landroid/bluetooth/BluetoothHearingAid;->mContext:Landroid/content/Context;
-Landroid/bluetooth/BluetoothHearingAid;->MODE_BINAURAL:I
-Landroid/bluetooth/BluetoothHearingAid;->MODE_MONAURAL:I
-Landroid/bluetooth/BluetoothHearingAid;->mService:Landroid/bluetooth/IBluetoothHearingAid;
-Landroid/bluetooth/BluetoothHearingAid;->mServiceListener:Landroid/bluetooth/BluetoothProfile$ServiceListener;
-Landroid/bluetooth/BluetoothHearingAid;->mServiceLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
-Landroid/bluetooth/BluetoothHearingAid;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/BluetoothHearingAid;->setVolume(I)V
-Landroid/bluetooth/BluetoothHearingAid;->SIDE_LEFT:I
-Landroid/bluetooth/BluetoothHearingAid;->SIDE_RIGHT:I
-Landroid/bluetooth/BluetoothHearingAid;->stateToString(I)Ljava/lang/String;
-Landroid/bluetooth/BluetoothHearingAid;->STATE_NOT_PLAYING:I
-Landroid/bluetooth/BluetoothHearingAid;->STATE_PLAYING:I
-Landroid/bluetooth/BluetoothHearingAid;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHearingAid;->VDBG:Z
-Landroid/bluetooth/BluetoothHidDevice$Callback;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidDevice$CallbackWrapper;
-Landroid/bluetooth/BluetoothHidDevice$CallbackWrapper;-><init>(Ljava/util/concurrent/Executor;Landroid/bluetooth/BluetoothHidDevice$Callback;)V
-Landroid/bluetooth/BluetoothHidDevice$CallbackWrapper;->mCallback:Landroid/bluetooth/BluetoothHidDevice$Callback;
-Landroid/bluetooth/BluetoothHidDevice$CallbackWrapper;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/bluetooth/BluetoothHidDevice$CallbackWrapper;->onAppStatusChanged(Landroid/bluetooth/BluetoothDevice;Z)V
-Landroid/bluetooth/BluetoothHidDevice$CallbackWrapper;->onConnectionStateChanged(Landroid/bluetooth/BluetoothDevice;I)V
-Landroid/bluetooth/BluetoothHidDevice$CallbackWrapper;->onGetReport(Landroid/bluetooth/BluetoothDevice;BBI)V
-Landroid/bluetooth/BluetoothHidDevice$CallbackWrapper;->onInterruptData(Landroid/bluetooth/BluetoothDevice;B[B)V
-Landroid/bluetooth/BluetoothHidDevice$CallbackWrapper;->onSetProtocol(Landroid/bluetooth/BluetoothDevice;B)V
-Landroid/bluetooth/BluetoothHidDevice$CallbackWrapper;->onSetReport(Landroid/bluetooth/BluetoothDevice;BB[B)V
-Landroid/bluetooth/BluetoothHidDevice$CallbackWrapper;->onVirtualCableUnplug(Landroid/bluetooth/BluetoothDevice;)V
-Landroid/bluetooth/BluetoothHidDevice;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-Landroid/bluetooth/BluetoothHidDevice;->close()V
-Landroid/bluetooth/BluetoothHidDevice;->doBind()Z
-Landroid/bluetooth/BluetoothHidDevice;->doUnbind()V
-Landroid/bluetooth/BluetoothHidDevice;->getUserAppName()Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidDevice;->mAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/BluetoothHidDevice;->mBluetoothStateChangeCallback:Landroid/bluetooth/IBluetoothStateChangeCallback;
-Landroid/bluetooth/BluetoothHidDevice;->mConnection:Landroid/content/ServiceConnection;
-Landroid/bluetooth/BluetoothHidDevice;->mContext:Landroid/content/Context;
-Landroid/bluetooth/BluetoothHidDevice;->mService:Landroid/bluetooth/IBluetoothHidDevice;
-Landroid/bluetooth/BluetoothHidDevice;->mServiceListener:Landroid/bluetooth/BluetoothProfile$ServiceListener;
-Landroid/bluetooth/BluetoothHidDevice;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidDeviceAppQosSettings;->mDelayVariation:I
-Landroid/bluetooth/BluetoothHidDeviceAppQosSettings;->mLatency:I
-Landroid/bluetooth/BluetoothHidDeviceAppQosSettings;->mPeakBandwidth:I
-Landroid/bluetooth/BluetoothHidDeviceAppQosSettings;->mServiceType:I
-Landroid/bluetooth/BluetoothHidDeviceAppQosSettings;->mTokenBucketSize:I
-Landroid/bluetooth/BluetoothHidDeviceAppQosSettings;->mTokenRate:I
-Landroid/bluetooth/BluetoothHidDeviceAppSdpSettings;->mDescription:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidDeviceAppSdpSettings;->mDescriptors:[B
-Landroid/bluetooth/BluetoothHidDeviceAppSdpSettings;->mName:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidDeviceAppSdpSettings;->mProvider:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidDeviceAppSdpSettings;->mSubclass:B
-Landroid/bluetooth/BluetoothHidHost;
-Landroid/bluetooth/BluetoothHidHost;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-Landroid/bluetooth/BluetoothHidHost;->ACTION_CONNECTION_STATE_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidHost;->ACTION_HANDSHAKE:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidHost;->ACTION_IDLE_TIME_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidHost;->ACTION_PROTOCOL_MODE_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidHost;->ACTION_REPORT:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidHost;->ACTION_VIRTUAL_UNPLUG_STATUS:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidHost;->close()V
-Landroid/bluetooth/BluetoothHidHost;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothHidHost;->DBG:Z
-Landroid/bluetooth/BluetoothHidHost;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothHidHost;->doBind()Z
-Landroid/bluetooth/BluetoothHidHost;->EXTRA_IDLE_TIME:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidHost;->EXTRA_PROTOCOL_MODE:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidHost;->EXTRA_REPORT:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidHost;->EXTRA_REPORT_BUFFER_SIZE:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidHost;->EXTRA_REPORT_ID:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidHost;->EXTRA_REPORT_TYPE:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidHost;->EXTRA_STATUS:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidHost;->EXTRA_VIRTUAL_UNPLUG_STATUS:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidHost;->getIdleTime(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothHidHost;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/BluetoothHidHost;->getProtocolMode(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothHidHost;->getReport(Landroid/bluetooth/BluetoothDevice;BBI)Z
-Landroid/bluetooth/BluetoothHidHost;->INPUT_CONNECT_FAILED_ALREADY_CONNECTED:I
-Landroid/bluetooth/BluetoothHidHost;->INPUT_CONNECT_FAILED_ATTEMPT_FAILED:I
-Landroid/bluetooth/BluetoothHidHost;->INPUT_DISCONNECT_FAILED_NOT_CONNECTED:I
-Landroid/bluetooth/BluetoothHidHost;->INPUT_OPERATION_GENERIC_FAILURE:I
-Landroid/bluetooth/BluetoothHidHost;->INPUT_OPERATION_SUCCESS:I
-Landroid/bluetooth/BluetoothHidHost;->isEnabled()Z
-Landroid/bluetooth/BluetoothHidHost;->isValidDevice(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothHidHost;->log(Ljava/lang/String;)V
-Landroid/bluetooth/BluetoothHidHost;->mAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/BluetoothHidHost;->mBluetoothStateChangeCallback:Landroid/bluetooth/IBluetoothStateChangeCallback;
-Landroid/bluetooth/BluetoothHidHost;->mConnection:Landroid/content/ServiceConnection;
-Landroid/bluetooth/BluetoothHidHost;->mContext:Landroid/content/Context;
-Landroid/bluetooth/BluetoothHidHost;->mService:Landroid/bluetooth/IBluetoothHidHost;
-Landroid/bluetooth/BluetoothHidHost;->mServiceListener:Landroid/bluetooth/BluetoothProfile$ServiceListener;
-Landroid/bluetooth/BluetoothHidHost;->PROTOCOL_BOOT_MODE:I
-Landroid/bluetooth/BluetoothHidHost;->PROTOCOL_REPORT_MODE:I
-Landroid/bluetooth/BluetoothHidHost;->PROTOCOL_UNSUPPORTED_MODE:I
-Landroid/bluetooth/BluetoothHidHost;->REPORT_TYPE_FEATURE:B
-Landroid/bluetooth/BluetoothHidHost;->REPORT_TYPE_INPUT:B
-Landroid/bluetooth/BluetoothHidHost;->REPORT_TYPE_OUTPUT:B
-Landroid/bluetooth/BluetoothHidHost;->sendData(Landroid/bluetooth/BluetoothDevice;Ljava/lang/String;)Z
-Landroid/bluetooth/BluetoothHidHost;->setIdleTime(Landroid/bluetooth/BluetoothDevice;B)Z
-Landroid/bluetooth/BluetoothHidHost;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/BluetoothHidHost;->setProtocolMode(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/BluetoothHidHost;->setReport(Landroid/bluetooth/BluetoothDevice;BLjava/lang/String;)Z
-Landroid/bluetooth/BluetoothHidHost;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothHidHost;->VDBG:Z
-Landroid/bluetooth/BluetoothHidHost;->virtualUnplug(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothHidHost;->VIRTUAL_UNPLUG_STATUS_FAIL:I
-Landroid/bluetooth/BluetoothHidHost;->VIRTUAL_UNPLUG_STATUS_SUCCESS:I
-Landroid/bluetooth/BluetoothInputStream;
-Landroid/bluetooth/BluetoothInputStream;-><init>(Landroid/bluetooth/BluetoothSocket;)V
-Landroid/bluetooth/BluetoothInputStream;->mSocket:Landroid/bluetooth/BluetoothSocket;
-Landroid/bluetooth/BluetoothManager;-><init>(Landroid/content/Context;)V
-Landroid/bluetooth/BluetoothManager;->DBG:Z
-Landroid/bluetooth/BluetoothManager;->mAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/BluetoothManager;->openGattServer(Landroid/content/Context;Landroid/bluetooth/BluetoothGattServerCallback;I)Landroid/bluetooth/BluetoothGattServer;
-Landroid/bluetooth/BluetoothManager;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothManager;->VDBG:Z
-Landroid/bluetooth/BluetoothMap;
-Landroid/bluetooth/BluetoothMap;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-Landroid/bluetooth/BluetoothMap;->ACTION_CONNECTION_STATE_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothMap;->close()V
-Landroid/bluetooth/BluetoothMap;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothMap;->DBG:Z
-Landroid/bluetooth/BluetoothMap;->doBind()Z
-Landroid/bluetooth/BluetoothMap;->doesClassMatchSink(Landroid/bluetooth/BluetoothClass;)Z
-Landroid/bluetooth/BluetoothMap;->getClient()Landroid/bluetooth/BluetoothDevice;
-Landroid/bluetooth/BluetoothMap;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/BluetoothMap;->getState()I
-Landroid/bluetooth/BluetoothMap;->isConnected(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothMap;->isEnabled()Z
-Landroid/bluetooth/BluetoothMap;->isValidDevice(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothMap;->log(Ljava/lang/String;)V
-Landroid/bluetooth/BluetoothMap;->mAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/BluetoothMap;->mBluetoothStateChangeCallback:Landroid/bluetooth/IBluetoothStateChangeCallback;
-Landroid/bluetooth/BluetoothMap;->mConnection:Landroid/content/ServiceConnection;
-Landroid/bluetooth/BluetoothMap;->mContext:Landroid/content/Context;
-Landroid/bluetooth/BluetoothMap;->mService:Landroid/bluetooth/IBluetoothMap;
-Landroid/bluetooth/BluetoothMap;->mServiceListener:Landroid/bluetooth/BluetoothProfile$ServiceListener;
-Landroid/bluetooth/BluetoothMap;->RESULT_CANCELED:I
-Landroid/bluetooth/BluetoothMap;->RESULT_FAILURE:I
-Landroid/bluetooth/BluetoothMap;->RESULT_SUCCESS:I
-Landroid/bluetooth/BluetoothMap;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/BluetoothMap;->STATE_ERROR:I
-Landroid/bluetooth/BluetoothMap;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothMap;->VDBG:Z
-Landroid/bluetooth/BluetoothMapClient;
-Landroid/bluetooth/BluetoothMapClient;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-Landroid/bluetooth/BluetoothMapClient;->ACTION_CONNECTION_STATE_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothMapClient;->ACTION_MESSAGE_DELIVERED_SUCCESSFULLY:Ljava/lang/String;
-Landroid/bluetooth/BluetoothMapClient;->ACTION_MESSAGE_RECEIVED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothMapClient;->ACTION_MESSAGE_SENT_SUCCESSFULLY:Ljava/lang/String;
-Landroid/bluetooth/BluetoothMapClient;->close()V
-Landroid/bluetooth/BluetoothMapClient;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothMapClient;->DBG:Z
-Landroid/bluetooth/BluetoothMapClient;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothMapClient;->doBind()Z
-Landroid/bluetooth/BluetoothMapClient;->EXTRA_MESSAGE_HANDLE:Ljava/lang/String;
-Landroid/bluetooth/BluetoothMapClient;->EXTRA_SENDER_CONTACT_NAME:Ljava/lang/String;
-Landroid/bluetooth/BluetoothMapClient;->EXTRA_SENDER_CONTACT_URI:Ljava/lang/String;
-Landroid/bluetooth/BluetoothMapClient;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/BluetoothMapClient;->getUnreadMessages(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothMapClient;->isConnected(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothMapClient;->isEnabled()Z
-Landroid/bluetooth/BluetoothMapClient;->isValidDevice(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothMapClient;->mAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/BluetoothMapClient;->mBluetoothStateChangeCallback:Landroid/bluetooth/IBluetoothStateChangeCallback;
-Landroid/bluetooth/BluetoothMapClient;->mConnection:Landroid/content/ServiceConnection;
-Landroid/bluetooth/BluetoothMapClient;->mContext:Landroid/content/Context;
-Landroid/bluetooth/BluetoothMapClient;->mService:Landroid/bluetooth/IBluetoothMapClient;
-Landroid/bluetooth/BluetoothMapClient;->mServiceListener:Landroid/bluetooth/BluetoothProfile$ServiceListener;
-Landroid/bluetooth/BluetoothMapClient;->RESULT_CANCELED:I
-Landroid/bluetooth/BluetoothMapClient;->RESULT_FAILURE:I
-Landroid/bluetooth/BluetoothMapClient;->RESULT_SUCCESS:I
-Landroid/bluetooth/BluetoothMapClient;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/BluetoothMapClient;->STATE_ERROR:I
-Landroid/bluetooth/BluetoothMapClient;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothMapClient;->VDBG:Z
-Landroid/bluetooth/BluetoothMasInstance$MessageType;
-Landroid/bluetooth/BluetoothMasInstance$MessageType;-><init>()V
-Landroid/bluetooth/BluetoothMasInstance$MessageType;->EMAIL:I
-Landroid/bluetooth/BluetoothMasInstance$MessageType;->MMS:I
-Landroid/bluetooth/BluetoothMasInstance$MessageType;->SMS_CDMA:I
-Landroid/bluetooth/BluetoothMasInstance$MessageType;->SMS_GSM:I
-Landroid/bluetooth/BluetoothMasInstance;
-Landroid/bluetooth/BluetoothMasInstance;-><init>(ILjava/lang/String;II)V
-Landroid/bluetooth/BluetoothMasInstance;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/bluetooth/BluetoothMasInstance;->getChannel()I
-Landroid/bluetooth/BluetoothMasInstance;->getId()I
-Landroid/bluetooth/BluetoothMasInstance;->getMsgTypes()I
-Landroid/bluetooth/BluetoothMasInstance;->getName()Ljava/lang/String;
-Landroid/bluetooth/BluetoothMasInstance;->mChannel:I
-Landroid/bluetooth/BluetoothMasInstance;->mId:I
-Landroid/bluetooth/BluetoothMasInstance;->mMsgTypes:I
-Landroid/bluetooth/BluetoothMasInstance;->mName:Ljava/lang/String;
-Landroid/bluetooth/BluetoothMasInstance;->msgSupported(I)Z
-Landroid/bluetooth/BluetoothOutputStream;
-Landroid/bluetooth/BluetoothOutputStream;-><init>(Landroid/bluetooth/BluetoothSocket;)V
-Landroid/bluetooth/BluetoothOutputStream;->mSocket:Landroid/bluetooth/BluetoothSocket;
-Landroid/bluetooth/BluetoothPan;
-Landroid/bluetooth/BluetoothPan;->ACTION_CONNECTION_STATE_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothPan;->DBG:Z
-Landroid/bluetooth/BluetoothPan;->EXTRA_LOCAL_ROLE:Ljava/lang/String;
-Landroid/bluetooth/BluetoothPan;->LOCAL_NAP_ROLE:I
-Landroid/bluetooth/BluetoothPan;->LOCAL_PANU_ROLE:I
-Landroid/bluetooth/BluetoothPan;->mAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/BluetoothPan;->mConnection:Landroid/content/ServiceConnection;
-Landroid/bluetooth/BluetoothPan;->mContext:Landroid/content/Context;
-Landroid/bluetooth/BluetoothPan;->mPanService:Landroid/bluetooth/IBluetoothPan;
-Landroid/bluetooth/BluetoothPan;->mServiceListener:Landroid/bluetooth/BluetoothProfile$ServiceListener;
-Landroid/bluetooth/BluetoothPan;->mStateChangeCallback:Landroid/bluetooth/IBluetoothStateChangeCallback;
-Landroid/bluetooth/BluetoothPan;->PAN_CONNECT_FAILED_ALREADY_CONNECTED:I
-Landroid/bluetooth/BluetoothPan;->PAN_CONNECT_FAILED_ATTEMPT_FAILED:I
-Landroid/bluetooth/BluetoothPan;->PAN_DISCONNECT_FAILED_NOT_CONNECTED:I
-Landroid/bluetooth/BluetoothPan;->PAN_OPERATION_GENERIC_FAILURE:I
-Landroid/bluetooth/BluetoothPan;->PAN_OPERATION_SUCCESS:I
-Landroid/bluetooth/BluetoothPan;->PAN_ROLE_NONE:I
-Landroid/bluetooth/BluetoothPan;->REMOTE_NAP_ROLE:I
-Landroid/bluetooth/BluetoothPan;->REMOTE_PANU_ROLE:I
-Landroid/bluetooth/BluetoothPan;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothPan;->VDBG:Z
-Landroid/bluetooth/BluetoothPbap$ServiceListener;
-Landroid/bluetooth/BluetoothPbap$ServiceListener;->onServiceConnected(Landroid/bluetooth/BluetoothPbap;)V
-Landroid/bluetooth/BluetoothPbap$ServiceListener;->onServiceDisconnected()V
-Landroid/bluetooth/BluetoothPbap;
-Landroid/bluetooth/BluetoothPbap;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothPbap$ServiceListener;)V
-Landroid/bluetooth/BluetoothPbap;->ACTION_CONNECTION_STATE_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothPbap;->close()V
-Landroid/bluetooth/BluetoothPbap;->DBG:Z
-Landroid/bluetooth/BluetoothPbap;->doBind()Z
-Landroid/bluetooth/BluetoothPbap;->isConnected(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothPbap;->log(Ljava/lang/String;)V
-Landroid/bluetooth/BluetoothPbap;->mAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/BluetoothPbap;->mBluetoothStateChangeCallback:Landroid/bluetooth/IBluetoothStateChangeCallback;
-Landroid/bluetooth/BluetoothPbap;->mConnection:Landroid/content/ServiceConnection;
-Landroid/bluetooth/BluetoothPbap;->mContext:Landroid/content/Context;
-Landroid/bluetooth/BluetoothPbap;->mService:Landroid/bluetooth/IBluetoothPbap;
-Landroid/bluetooth/BluetoothPbap;->mServiceListener:Landroid/bluetooth/BluetoothPbap$ServiceListener;
-Landroid/bluetooth/BluetoothPbap;->RESULT_CANCELED:I
-Landroid/bluetooth/BluetoothPbap;->RESULT_FAILURE:I
-Landroid/bluetooth/BluetoothPbap;->RESULT_SUCCESS:I
-Landroid/bluetooth/BluetoothPbap;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothPbapClient;
-Landroid/bluetooth/BluetoothPbapClient;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-Landroid/bluetooth/BluetoothPbapClient;->ACTION_CONNECTION_STATE_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothPbapClient;->close()V
-Landroid/bluetooth/BluetoothPbapClient;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothPbapClient;->DBG:Z
-Landroid/bluetooth/BluetoothPbapClient;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothPbapClient;->doBind()Z
-Landroid/bluetooth/BluetoothPbapClient;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/BluetoothPbapClient;->isEnabled()Z
-Landroid/bluetooth/BluetoothPbapClient;->isValidDevice(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothPbapClient;->log(Ljava/lang/String;)V
-Landroid/bluetooth/BluetoothPbapClient;->mAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/BluetoothPbapClient;->mBluetoothStateChangeCallback:Landroid/bluetooth/IBluetoothStateChangeCallback;
-Landroid/bluetooth/BluetoothPbapClient;->mConnection:Landroid/content/ServiceConnection;
-Landroid/bluetooth/BluetoothPbapClient;->mContext:Landroid/content/Context;
-Landroid/bluetooth/BluetoothPbapClient;->mService:Landroid/bluetooth/IBluetoothPbapClient;
-Landroid/bluetooth/BluetoothPbapClient;->mServiceListener:Landroid/bluetooth/BluetoothProfile$ServiceListener;
-Landroid/bluetooth/BluetoothPbapClient;->RESULT_CANCELED:I
-Landroid/bluetooth/BluetoothPbapClient;->RESULT_FAILURE:I
-Landroid/bluetooth/BluetoothPbapClient;->RESULT_SUCCESS:I
-Landroid/bluetooth/BluetoothPbapClient;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/BluetoothPbapClient;->STATE_ERROR:I
-Landroid/bluetooth/BluetoothPbapClient;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothPbapClient;->VDBG:Z
-Landroid/bluetooth/BluetoothProfile;->AVRCP:I
-Landroid/bluetooth/BluetoothProfile;->getConnectionStateName(I)Ljava/lang/String;
-Landroid/bluetooth/BluetoothProfile;->HEADSET_CLIENT:I
-Landroid/bluetooth/BluetoothProfile;->HEARING_AID:I
-Landroid/bluetooth/BluetoothProfile;->HID_HOST:I
-Landroid/bluetooth/BluetoothProfile;->MAP:I
-Landroid/bluetooth/BluetoothProfile;->MAP_CLIENT:I
-Landroid/bluetooth/BluetoothProfile;->MAX_PROFILE_ID:I
-Landroid/bluetooth/BluetoothProfile;->OPP:I
-Landroid/bluetooth/BluetoothProfile;->PBAP:I
-Landroid/bluetooth/BluetoothProfile;->PBAP_CLIENT:I
-Landroid/bluetooth/BluetoothProtoEnums;
-Landroid/bluetooth/BluetoothProtoEnums;-><init>()V
-Landroid/bluetooth/BluetoothProtoEnums;->CONNECTION_STATE_CONNECTED:I
-Landroid/bluetooth/BluetoothProtoEnums;->CONNECTION_STATE_CONNECTING:I
-Landroid/bluetooth/BluetoothProtoEnums;->CONNECTION_STATE_DISCONNECTED:I
-Landroid/bluetooth/BluetoothProtoEnums;->CONNECTION_STATE_DISCONNECTING:I
-Landroid/bluetooth/BluetoothProtoEnums;->ENABLE_DISABLE_REASON_AIRPLANE_MODE:I
-Landroid/bluetooth/BluetoothProtoEnums;->ENABLE_DISABLE_REASON_APPLICATION_REQUEST:I
-Landroid/bluetooth/BluetoothProtoEnums;->ENABLE_DISABLE_REASON_CRASH:I
-Landroid/bluetooth/BluetoothProtoEnums;->ENABLE_DISABLE_REASON_DISALLOWED:I
-Landroid/bluetooth/BluetoothProtoEnums;->ENABLE_DISABLE_REASON_RESTARTED:I
-Landroid/bluetooth/BluetoothProtoEnums;->ENABLE_DISABLE_REASON_RESTORE_USER_SETTING:I
-Landroid/bluetooth/BluetoothProtoEnums;->ENABLE_DISABLE_REASON_START_ERROR:I
-Landroid/bluetooth/BluetoothProtoEnums;->ENABLE_DISABLE_REASON_SYSTEM_BOOT:I
-Landroid/bluetooth/BluetoothProtoEnums;->ENABLE_DISABLE_REASON_UNSPECIFIED:I
-Landroid/bluetooth/BluetoothProtoEnums;->ENABLE_DISABLE_REASON_USER_SWITCH:I
-Landroid/bluetooth/BluetoothSap;
-Landroid/bluetooth/BluetoothSap;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-Landroid/bluetooth/BluetoothSap;->ACTION_CONNECTION_STATE_CHANGED:Ljava/lang/String;
-Landroid/bluetooth/BluetoothSap;->close()V
-Landroid/bluetooth/BluetoothSap;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothSap;->DBG:Z
-Landroid/bluetooth/BluetoothSap;->doBind()Z
-Landroid/bluetooth/BluetoothSap;->getClient()Landroid/bluetooth/BluetoothDevice;
-Landroid/bluetooth/BluetoothSap;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/BluetoothSap;->getState()I
-Landroid/bluetooth/BluetoothSap;->isConnected(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothSap;->isEnabled()Z
-Landroid/bluetooth/BluetoothSap;->isValidDevice(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/BluetoothSap;->log(Ljava/lang/String;)V
-Landroid/bluetooth/BluetoothSap;->mAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/BluetoothSap;->mBluetoothStateChangeCallback:Landroid/bluetooth/IBluetoothStateChangeCallback;
-Landroid/bluetooth/BluetoothSap;->mConnection:Landroid/content/ServiceConnection;
-Landroid/bluetooth/BluetoothSap;->mContext:Landroid/content/Context;
-Landroid/bluetooth/BluetoothSap;->mService:Landroid/bluetooth/IBluetoothSap;
-Landroid/bluetooth/BluetoothSap;->mServiceListener:Landroid/bluetooth/BluetoothProfile$ServiceListener;
-Landroid/bluetooth/BluetoothSap;->RESULT_CANCELED:I
-Landroid/bluetooth/BluetoothSap;->RESULT_SUCCESS:I
-Landroid/bluetooth/BluetoothSap;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/BluetoothSap;->STATE_ERROR:I
-Landroid/bluetooth/BluetoothSap;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothSap;->VDBG:Z
-Landroid/bluetooth/BluetoothServerSocket;-><init>(IZZI)V
-Landroid/bluetooth/BluetoothServerSocket;-><init>(IZZIZZ)V
-Landroid/bluetooth/BluetoothServerSocket;-><init>(IZZLandroid/os/ParcelUuid;)V
-Landroid/bluetooth/BluetoothServerSocket;->DBG:Z
-Landroid/bluetooth/BluetoothServerSocket;->getChannel()I
-Landroid/bluetooth/BluetoothServerSocket;->getPsm()I
-Landroid/bluetooth/BluetoothServerSocket;->mChannel:I
-Landroid/bluetooth/BluetoothServerSocket;->mHandler:Landroid/os/Handler;
-Landroid/bluetooth/BluetoothServerSocket;->mMessage:I
-Landroid/bluetooth/BluetoothServerSocket;->setChannel(I)V
-Landroid/bluetooth/BluetoothServerSocket;->setCloseHandler(Landroid/os/Handler;I)V
-Landroid/bluetooth/BluetoothServerSocket;->setServiceName(Ljava/lang/String;)V
-Landroid/bluetooth/BluetoothServerSocket;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothSocket$SocketState;
-Landroid/bluetooth/BluetoothSocket$SocketState;-><init>()V
-Landroid/bluetooth/BluetoothSocket$SocketState;->CLOSED:Landroid/bluetooth/BluetoothSocket$SocketState;
-Landroid/bluetooth/BluetoothSocket$SocketState;->CONNECTED:Landroid/bluetooth/BluetoothSocket$SocketState;
-Landroid/bluetooth/BluetoothSocket$SocketState;->INIT:Landroid/bluetooth/BluetoothSocket$SocketState;
-Landroid/bluetooth/BluetoothSocket$SocketState;->LISTENING:Landroid/bluetooth/BluetoothSocket$SocketState;
-Landroid/bluetooth/BluetoothSocket$SocketState;->valueOf(Ljava/lang/String;)Landroid/bluetooth/BluetoothSocket$SocketState;
-Landroid/bluetooth/BluetoothSocket$SocketState;->values()[Landroid/bluetooth/BluetoothSocket$SocketState;
-Landroid/bluetooth/BluetoothSocket;-><init>(IIZZLandroid/bluetooth/BluetoothDevice;ILandroid/os/ParcelUuid;)V
-Landroid/bluetooth/BluetoothSocket;-><init>(IIZZLandroid/bluetooth/BluetoothDevice;ILandroid/os/ParcelUuid;ZZ)V
-Landroid/bluetooth/BluetoothSocket;-><init>(IIZZLjava/lang/String;I)V
-Landroid/bluetooth/BluetoothSocket;-><init>(Landroid/bluetooth/BluetoothSocket;)V
-Landroid/bluetooth/BluetoothSocket;->accept(I)Landroid/bluetooth/BluetoothSocket;
-Landroid/bluetooth/BluetoothSocket;->acceptSocket(Ljava/lang/String;)Landroid/bluetooth/BluetoothSocket;
-Landroid/bluetooth/BluetoothSocket;->available()I
-Landroid/bluetooth/BluetoothSocket;->bindListen()I
-Landroid/bluetooth/BluetoothSocket;->BTSOCK_FLAG_NO_SDP:I
-Landroid/bluetooth/BluetoothSocket;->convertAddr([B)Ljava/lang/String;
-Landroid/bluetooth/BluetoothSocket;->createL2capRxBuffer()V
-Landroid/bluetooth/BluetoothSocket;->DBG:Z
-Landroid/bluetooth/BluetoothSocket;->EBADFD:I
-Landroid/bluetooth/BluetoothSocket;->fillL2capRxBuffer()I
-Landroid/bluetooth/BluetoothSocket;->getPort()I
-Landroid/bluetooth/BluetoothSocket;->getSecurityFlags()I
-Landroid/bluetooth/BluetoothSocket;->mAddress:Ljava/lang/String;
-Landroid/bluetooth/BluetoothSocket;->mAuth:Z
-Landroid/bluetooth/BluetoothSocket;->mAuthMitm:Z
-Landroid/bluetooth/BluetoothSocket;->MAX_L2CAP_PACKAGE_SIZE:I
-Landroid/bluetooth/BluetoothSocket;->MAX_RFCOMM_CHANNEL:I
-Landroid/bluetooth/BluetoothSocket;->mDevice:Landroid/bluetooth/BluetoothDevice;
-Landroid/bluetooth/BluetoothSocket;->mEncrypt:Z
-Landroid/bluetooth/BluetoothSocket;->mExcludeSdp:Z
-Landroid/bluetooth/BluetoothSocket;->mFd:I
-Landroid/bluetooth/BluetoothSocket;->mInputStream:Landroid/bluetooth/BluetoothInputStream;
-Landroid/bluetooth/BluetoothSocket;->mL2capBuffer:Ljava/nio/ByteBuffer;
-Landroid/bluetooth/BluetoothSocket;->mMaxRxPacketSize:I
-Landroid/bluetooth/BluetoothSocket;->mMaxTxPacketSize:I
-Landroid/bluetooth/BluetoothSocket;->mMin16DigitPin:Z
-Landroid/bluetooth/BluetoothSocket;->mOutputStream:Landroid/bluetooth/BluetoothOutputStream;
-Landroid/bluetooth/BluetoothSocket;->mServiceName:Ljava/lang/String;
-Landroid/bluetooth/BluetoothSocket;->mSocketIS:Ljava/io/InputStream;
-Landroid/bluetooth/BluetoothSocket;->mSocketOS:Ljava/io/OutputStream;
-Landroid/bluetooth/BluetoothSocket;->mSocketState:Landroid/bluetooth/BluetoothSocket$SocketState;
-Landroid/bluetooth/BluetoothSocket;->mType:I
-Landroid/bluetooth/BluetoothSocket;->mUuid:Landroid/os/ParcelUuid;
-Landroid/bluetooth/BluetoothSocket;->PROXY_CONNECTION_TIMEOUT:I
-Landroid/bluetooth/BluetoothSocket;->read([BII)I
-Landroid/bluetooth/BluetoothSocket;->readAll(Ljava/io/InputStream;[B)I
-Landroid/bluetooth/BluetoothSocket;->readInt(Ljava/io/InputStream;)I
-Landroid/bluetooth/BluetoothSocket;->removeChannel()V
-Landroid/bluetooth/BluetoothSocket;->requestMaximumTxDataLength()V
-Landroid/bluetooth/BluetoothSocket;->SEC_FLAG_AUTH:I
-Landroid/bluetooth/BluetoothSocket;->SEC_FLAG_AUTH_16_DIGIT:I
-Landroid/bluetooth/BluetoothSocket;->SEC_FLAG_AUTH_MITM:I
-Landroid/bluetooth/BluetoothSocket;->SEC_FLAG_ENCRYPT:I
-Landroid/bluetooth/BluetoothSocket;->setExcludeSdp(Z)V
-Landroid/bluetooth/BluetoothSocket;->setServiceName(Ljava/lang/String;)V
-Landroid/bluetooth/BluetoothSocket;->SOCK_SIGNAL_SIZE:I
-Landroid/bluetooth/BluetoothSocket;->TAG:Ljava/lang/String;
-Landroid/bluetooth/BluetoothSocket;->TYPE_L2CAP_BREDR:I
-Landroid/bluetooth/BluetoothSocket;->TYPE_L2CAP_LE:I
-Landroid/bluetooth/BluetoothSocket;->VDBG:Z
-Landroid/bluetooth/BluetoothSocket;->waitSocketSignal(Ljava/io/InputStream;)Ljava/lang/String;
-Landroid/bluetooth/BluetoothSocket;->write([BII)I
-Landroid/bluetooth/BluetoothUuid;
-Landroid/bluetooth/BluetoothUuid;-><init>()V
-Landroid/bluetooth/BluetoothUuid;->AudioSource:Landroid/os/ParcelUuid;
-Landroid/bluetooth/BluetoothUuid;->AvrcpController:Landroid/os/ParcelUuid;
-Landroid/bluetooth/BluetoothUuid;->AvrcpTarget:Landroid/os/ParcelUuid;
-Landroid/bluetooth/BluetoothUuid;->BASE_UUID:Landroid/os/ParcelUuid;
-Landroid/bluetooth/BluetoothUuid;->BNEP:Landroid/os/ParcelUuid;
-Landroid/bluetooth/BluetoothUuid;->containsAllUuids([Landroid/os/ParcelUuid;[Landroid/os/ParcelUuid;)Z
-Landroid/bluetooth/BluetoothUuid;->getServiceIdentifierFromParcelUuid(Landroid/os/ParcelUuid;)I
-Landroid/bluetooth/BluetoothUuid;->Handsfree_AG:Landroid/os/ParcelUuid;
-Landroid/bluetooth/BluetoothUuid;->HearingAid:Landroid/os/ParcelUuid;
-Landroid/bluetooth/BluetoothUuid;->Hid:Landroid/os/ParcelUuid;
-Landroid/bluetooth/BluetoothUuid;->HSP_AG:Landroid/os/ParcelUuid;
-Landroid/bluetooth/BluetoothUuid;->isAudioSink(Landroid/os/ParcelUuid;)Z
-Landroid/bluetooth/BluetoothUuid;->isAvrcpController(Landroid/os/ParcelUuid;)Z
-Landroid/bluetooth/BluetoothUuid;->isBnep(Landroid/os/ParcelUuid;)Z
-Landroid/bluetooth/BluetoothUuid;->isHandsfree(Landroid/os/ParcelUuid;)Z
-Landroid/bluetooth/BluetoothUuid;->isHeadset(Landroid/os/ParcelUuid;)Z
-Landroid/bluetooth/BluetoothUuid;->isInputDevice(Landroid/os/ParcelUuid;)Z
-Landroid/bluetooth/BluetoothUuid;->isMap(Landroid/os/ParcelUuid;)Z
-Landroid/bluetooth/BluetoothUuid;->isMas(Landroid/os/ParcelUuid;)Z
-Landroid/bluetooth/BluetoothUuid;->isMns(Landroid/os/ParcelUuid;)Z
-Landroid/bluetooth/BluetoothUuid;->isNap(Landroid/os/ParcelUuid;)Z
-Landroid/bluetooth/BluetoothUuid;->isPanu(Landroid/os/ParcelUuid;)Z
-Landroid/bluetooth/BluetoothUuid;->isSap(Landroid/os/ParcelUuid;)Z
-Landroid/bluetooth/BluetoothUuid;->MAP:Landroid/os/ParcelUuid;
-Landroid/bluetooth/BluetoothUuid;->MAS:Landroid/os/ParcelUuid;
-Landroid/bluetooth/BluetoothUuid;->MNS:Landroid/os/ParcelUuid;
-Landroid/bluetooth/BluetoothUuid;->PANU:Landroid/os/ParcelUuid;
-Landroid/bluetooth/BluetoothUuid;->parseUuidFrom([B)Landroid/os/ParcelUuid;
-Landroid/bluetooth/BluetoothUuid;->PBAP_PCE:Landroid/os/ParcelUuid;
-Landroid/bluetooth/BluetoothUuid;->SAP:Landroid/os/ParcelUuid;
-Landroid/bluetooth/BluetoothUuid;->uuidToBytes(Landroid/os/ParcelUuid;)[B
-Landroid/bluetooth/BluetoothUuid;->UUID_BYTES_128_BIT:I
-Landroid/bluetooth/BluetoothUuid;->UUID_BYTES_16_BIT:I
-Landroid/bluetooth/BluetoothUuid;->UUID_BYTES_32_BIT:I
-Landroid/bluetooth/IBluetooth$Stub$Proxy;
-Landroid/bluetooth/IBluetooth$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->cancelBondProcess(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->cancelDiscovery()Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->createBond(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->createBondOutOfBand(Landroid/bluetooth/BluetoothDevice;ILandroid/bluetooth/OobData;)Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->disable()Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->enable()Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->enableNoAutoConnect()Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->factoryReset()Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->fetchRemoteUuids(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getAdapterConnectionState()I
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getBatteryLevel(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getBluetoothClass()Landroid/bluetooth/BluetoothClass;
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getBondedDevices()[Landroid/bluetooth/BluetoothDevice;
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getBondState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getDiscoverableTimeout()I
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getDiscoveryEndMillis()J
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getLeMaximumAdvertisingDataLength()I
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getMaxConnectedAudioDevices()I
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getMessageAccessPermission(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getName()Ljava/lang/String;
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getPhonebookAccessPermission(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getProfileConnectionState(I)I
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getRemoteAlias(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getRemoteClass(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getRemoteName(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getRemoteType(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getRemoteUuids(Landroid/bluetooth/BluetoothDevice;)[Landroid/os/ParcelUuid;
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getScanMode()I
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getSimAccessPermission(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getSocketManager()Landroid/bluetooth/IBluetoothSocketManager;
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getState()I
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getSupportedProfiles()J
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->getUuids()[Landroid/os/ParcelUuid;
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->isActivityAndEnergyReportingSupported()Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->isBondingInitiatedLocally(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->isDiscovering()Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->isEnabled()Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->isLe2MPhySupported()Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->isLeCodedPhySupported()Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->isLeExtendedAdvertisingSupported()Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->isLePeriodicAdvertisingSupported()Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->isMultiAdvertisementSupported()Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->isOffloadedFilteringSupported()Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->isOffloadedScanBatchingSupported()Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->onBrEdrDown()V
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->onLeServiceUp()V
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->registerCallback(Landroid/bluetooth/IBluetoothCallback;)V
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->removeBond(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->reportActivityInfo()Landroid/bluetooth/BluetoothActivityEnergyInfo;
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->requestActivityInfo(Landroid/os/ResultReceiver;)V
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->sdpSearch(Landroid/bluetooth/BluetoothDevice;Landroid/os/ParcelUuid;)Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->sendConnectionStateChange(Landroid/bluetooth/BluetoothDevice;III)V
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->setBluetoothClass(Landroid/bluetooth/BluetoothClass;)Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->setDiscoverableTimeout(I)Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->setMessageAccessPermission(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->setName(Ljava/lang/String;)Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->setPairingConfirmation(Landroid/bluetooth/BluetoothDevice;Z)Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->setPasskey(Landroid/bluetooth/BluetoothDevice;ZI[B)Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->setPhonebookAccessPermission(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->setPin(Landroid/bluetooth/BluetoothDevice;ZI[B)Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->setRemoteAlias(Landroid/bluetooth/BluetoothDevice;Ljava/lang/String;)Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->setScanMode(II)Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->setSimAccessPermission(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->startDiscovery()Z
-Landroid/bluetooth/IBluetooth$Stub$Proxy;->unregisterCallback(Landroid/bluetooth/IBluetoothCallback;)V
-Landroid/bluetooth/IBluetooth$Stub;
-Landroid/bluetooth/IBluetooth$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_cancelBondProcess:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_cancelDiscovery:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_createBond:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_createBondOutOfBand:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_disable:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_enableNoAutoConnect:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_factoryReset:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_fetchRemoteUuids:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getAdapterConnectionState:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getAddress:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getBatteryLevel:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getBluetoothClass:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getBondedDevices:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getBondState:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getConnectionState:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getDiscoverableTimeout:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getDiscoveryEndMillis:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getLeMaximumAdvertisingDataLength:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getMaxConnectedAudioDevices:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getMessageAccessPermission:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getName:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getPhonebookAccessPermission:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getProfileConnectionState:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getRemoteAlias:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getRemoteClass:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getRemoteName:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getRemoteType:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getRemoteUuids:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getScanMode:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getSimAccessPermission:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getSocketManager:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getState:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getSupportedProfiles:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_getUuids:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_isActivityAndEnergyReportingSupported:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_isBondingInitiatedLocally:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_isDiscovering:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_isEnabled:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_isLe2MPhySupported:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_isLeCodedPhySupported:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_isLeExtendedAdvertisingSupported:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_isLePeriodicAdvertisingSupported:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_isMultiAdvertisementSupported:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_isOffloadedFilteringSupported:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_isOffloadedScanBatchingSupported:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_onBrEdrDown:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_onLeServiceUp:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_registerCallback:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_removeBond:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_reportActivityInfo:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_requestActivityInfo:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_sdpSearch:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_sendConnectionStateChange:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_setBluetoothClass:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_setDiscoverableTimeout:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_setMessageAccessPermission:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_setName:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_setPairingConfirmation:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_setPasskey:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_setPhonebookAccessPermission:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_setPin:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_setRemoteAlias:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_setScanMode:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_setSimAccessPermission:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_startDiscovery:I
-Landroid/bluetooth/IBluetooth$Stub;->TRANSACTION_unregisterCallback:I
-Landroid/bluetooth/IBluetooth;
-Landroid/bluetooth/IBluetooth;->cancelBondProcess(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetooth;->cancelDiscovery()Z
-Landroid/bluetooth/IBluetooth;->createBond(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetooth;->createBondOutOfBand(Landroid/bluetooth/BluetoothDevice;ILandroid/bluetooth/OobData;)Z
-Landroid/bluetooth/IBluetooth;->disable()Z
-Landroid/bluetooth/IBluetooth;->enable()Z
-Landroid/bluetooth/IBluetooth;->enableNoAutoConnect()Z
-Landroid/bluetooth/IBluetooth;->factoryReset()Z
-Landroid/bluetooth/IBluetooth;->getAdapterConnectionState()I
-Landroid/bluetooth/IBluetooth;->getBatteryLevel(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetooth;->getBluetoothClass()Landroid/bluetooth/BluetoothClass;
-Landroid/bluetooth/IBluetooth;->getBondedDevices()[Landroid/bluetooth/BluetoothDevice;
-Landroid/bluetooth/IBluetooth;->getBondState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetooth;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetooth;->getDiscoverableTimeout()I
-Landroid/bluetooth/IBluetooth;->getDiscoveryEndMillis()J
-Landroid/bluetooth/IBluetooth;->getLeMaximumAdvertisingDataLength()I
-Landroid/bluetooth/IBluetooth;->getMaxConnectedAudioDevices()I
-Landroid/bluetooth/IBluetooth;->getMessageAccessPermission(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetooth;->getName()Ljava/lang/String;
-Landroid/bluetooth/IBluetooth;->getPhonebookAccessPermission(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetooth;->getProfileConnectionState(I)I
-Landroid/bluetooth/IBluetooth;->getRemoteClass(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetooth;->getRemoteName(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;
-Landroid/bluetooth/IBluetooth;->getRemoteType(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetooth;->getRemoteUuids(Landroid/bluetooth/BluetoothDevice;)[Landroid/os/ParcelUuid;
-Landroid/bluetooth/IBluetooth;->getScanMode()I
-Landroid/bluetooth/IBluetooth;->getSimAccessPermission(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetooth;->getSocketManager()Landroid/bluetooth/IBluetoothSocketManager;
-Landroid/bluetooth/IBluetooth;->getState()I
-Landroid/bluetooth/IBluetooth;->getSupportedProfiles()J
-Landroid/bluetooth/IBluetooth;->getUuids()[Landroid/os/ParcelUuid;
-Landroid/bluetooth/IBluetooth;->isActivityAndEnergyReportingSupported()Z
-Landroid/bluetooth/IBluetooth;->isBondingInitiatedLocally(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetooth;->isDiscovering()Z
-Landroid/bluetooth/IBluetooth;->isLe2MPhySupported()Z
-Landroid/bluetooth/IBluetooth;->isLeCodedPhySupported()Z
-Landroid/bluetooth/IBluetooth;->isLeExtendedAdvertisingSupported()Z
-Landroid/bluetooth/IBluetooth;->isLePeriodicAdvertisingSupported()Z
-Landroid/bluetooth/IBluetooth;->isMultiAdvertisementSupported()Z
-Landroid/bluetooth/IBluetooth;->isOffloadedFilteringSupported()Z
-Landroid/bluetooth/IBluetooth;->isOffloadedScanBatchingSupported()Z
-Landroid/bluetooth/IBluetooth;->onBrEdrDown()V
-Landroid/bluetooth/IBluetooth;->onLeServiceUp()V
-Landroid/bluetooth/IBluetooth;->registerCallback(Landroid/bluetooth/IBluetoothCallback;)V
-Landroid/bluetooth/IBluetooth;->removeBond(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetooth;->reportActivityInfo()Landroid/bluetooth/BluetoothActivityEnergyInfo;
-Landroid/bluetooth/IBluetooth;->requestActivityInfo(Landroid/os/ResultReceiver;)V
-Landroid/bluetooth/IBluetooth;->sdpSearch(Landroid/bluetooth/BluetoothDevice;Landroid/os/ParcelUuid;)Z
-Landroid/bluetooth/IBluetooth;->setBluetoothClass(Landroid/bluetooth/BluetoothClass;)Z
-Landroid/bluetooth/IBluetooth;->setDiscoverableTimeout(I)Z
-Landroid/bluetooth/IBluetooth;->setMessageAccessPermission(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetooth;->setName(Ljava/lang/String;)Z
-Landroid/bluetooth/IBluetooth;->setPairingConfirmation(Landroid/bluetooth/BluetoothDevice;Z)Z
-Landroid/bluetooth/IBluetooth;->setPasskey(Landroid/bluetooth/BluetoothDevice;ZI[B)Z
-Landroid/bluetooth/IBluetooth;->setPhonebookAccessPermission(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetooth;->setPin(Landroid/bluetooth/BluetoothDevice;ZI[B)Z
-Landroid/bluetooth/IBluetooth;->setRemoteAlias(Landroid/bluetooth/BluetoothDevice;Ljava/lang/String;)Z
-Landroid/bluetooth/IBluetooth;->setScanMode(II)Z
-Landroid/bluetooth/IBluetooth;->setSimAccessPermission(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetooth;->startDiscovery()Z
-Landroid/bluetooth/IBluetooth;->unregisterCallback(Landroid/bluetooth/IBluetoothCallback;)V
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->disableOptionalCodecs(Landroid/bluetooth/BluetoothDevice;)V
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->enableOptionalCodecs(Landroid/bluetooth/BluetoothDevice;)V
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->getCodecStatus(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothCodecStatus;
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->getOptionalCodecsEnabled(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->isA2dpPlaying(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->isAvrcpAbsoluteVolumeSupported()Z
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->setActiveDevice(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->setAvrcpAbsoluteVolume(I)V
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->setCodecConfigPreference(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothCodecConfig;)V
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->setOptionalCodecsEnabled(Landroid/bluetooth/BluetoothDevice;I)V
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->supportsOptionalCodecs(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothA2dp$Stub;
-Landroid/bluetooth/IBluetoothA2dp$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothA2dp$Stub;->TRANSACTION_connect:I
-Landroid/bluetooth/IBluetoothA2dp$Stub;->TRANSACTION_disableOptionalCodecs:I
-Landroid/bluetooth/IBluetoothA2dp$Stub;->TRANSACTION_disconnect:I
-Landroid/bluetooth/IBluetoothA2dp$Stub;->TRANSACTION_enableOptionalCodecs:I
-Landroid/bluetooth/IBluetoothA2dp$Stub;->TRANSACTION_getActiveDevice:I
-Landroid/bluetooth/IBluetoothA2dp$Stub;->TRANSACTION_getCodecStatus:I
-Landroid/bluetooth/IBluetoothA2dp$Stub;->TRANSACTION_getConnectedDevices:I
-Landroid/bluetooth/IBluetoothA2dp$Stub;->TRANSACTION_getConnectionState:I
-Landroid/bluetooth/IBluetoothA2dp$Stub;->TRANSACTION_getDevicesMatchingConnectionStates:I
-Landroid/bluetooth/IBluetoothA2dp$Stub;->TRANSACTION_getOptionalCodecsEnabled:I
-Landroid/bluetooth/IBluetoothA2dp$Stub;->TRANSACTION_getPriority:I
-Landroid/bluetooth/IBluetoothA2dp$Stub;->TRANSACTION_isA2dpPlaying:I
-Landroid/bluetooth/IBluetoothA2dp$Stub;->TRANSACTION_isAvrcpAbsoluteVolumeSupported:I
-Landroid/bluetooth/IBluetoothA2dp$Stub;->TRANSACTION_setActiveDevice:I
-Landroid/bluetooth/IBluetoothA2dp$Stub;->TRANSACTION_setAvrcpAbsoluteVolume:I
-Landroid/bluetooth/IBluetoothA2dp$Stub;->TRANSACTION_setCodecConfigPreference:I
-Landroid/bluetooth/IBluetoothA2dp$Stub;->TRANSACTION_setOptionalCodecsEnabled:I
-Landroid/bluetooth/IBluetoothA2dp$Stub;->TRANSACTION_setPriority:I
-Landroid/bluetooth/IBluetoothA2dp$Stub;->TRANSACTION_supportsOptionalCodecs:I
-Landroid/bluetooth/IBluetoothA2dp;
-Landroid/bluetooth/IBluetoothA2dp;->disableOptionalCodecs(Landroid/bluetooth/BluetoothDevice;)V
-Landroid/bluetooth/IBluetoothA2dp;->enableOptionalCodecs(Landroid/bluetooth/BluetoothDevice;)V
-Landroid/bluetooth/IBluetoothA2dp;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
-Landroid/bluetooth/IBluetoothA2dp;->getCodecStatus(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothCodecStatus;
-Landroid/bluetooth/IBluetoothA2dp;->getOptionalCodecsEnabled(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothA2dp;->isA2dpPlaying(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothA2dp;->isAvrcpAbsoluteVolumeSupported()Z
-Landroid/bluetooth/IBluetoothA2dp;->setActiveDevice(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothA2dp;->setAvrcpAbsoluteVolume(I)V
-Landroid/bluetooth/IBluetoothA2dp;->setCodecConfigPreference(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothCodecConfig;)V
-Landroid/bluetooth/IBluetoothA2dp;->setOptionalCodecsEnabled(Landroid/bluetooth/BluetoothDevice;I)V
-Landroid/bluetooth/IBluetoothA2dp;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothA2dp;->supportsOptionalCodecs(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothA2dpSink$Stub$Proxy;
-Landroid/bluetooth/IBluetoothA2dpSink$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothA2dpSink$Stub$Proxy;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothA2dpSink$Stub$Proxy;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothA2dpSink$Stub$Proxy;->getAudioConfig(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothAudioConfig;
-Landroid/bluetooth/IBluetoothA2dpSink$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothA2dpSink$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothA2dpSink$Stub$Proxy;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothA2dpSink$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothA2dpSink$Stub$Proxy;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothA2dpSink$Stub$Proxy;->isA2dpPlaying(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothA2dpSink$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothA2dpSink$Stub$Proxy;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothA2dpSink$Stub;
-Landroid/bluetooth/IBluetoothA2dpSink$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothA2dpSink$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothA2dpSink;
-Landroid/bluetooth/IBluetoothA2dpSink$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothA2dpSink$Stub;->TRANSACTION_connect:I
-Landroid/bluetooth/IBluetoothA2dpSink$Stub;->TRANSACTION_disconnect:I
-Landroid/bluetooth/IBluetoothA2dpSink$Stub;->TRANSACTION_getAudioConfig:I
-Landroid/bluetooth/IBluetoothA2dpSink$Stub;->TRANSACTION_getConnectedDevices:I
-Landroid/bluetooth/IBluetoothA2dpSink$Stub;->TRANSACTION_getConnectionState:I
-Landroid/bluetooth/IBluetoothA2dpSink$Stub;->TRANSACTION_getDevicesMatchingConnectionStates:I
-Landroid/bluetooth/IBluetoothA2dpSink$Stub;->TRANSACTION_getPriority:I
-Landroid/bluetooth/IBluetoothA2dpSink$Stub;->TRANSACTION_isA2dpPlaying:I
-Landroid/bluetooth/IBluetoothA2dpSink$Stub;->TRANSACTION_setPriority:I
-Landroid/bluetooth/IBluetoothA2dpSink;
-Landroid/bluetooth/IBluetoothA2dpSink;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothA2dpSink;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothA2dpSink;->getAudioConfig(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothAudioConfig;
-Landroid/bluetooth/IBluetoothA2dpSink;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothA2dpSink;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothA2dpSink;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothA2dpSink;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothA2dpSink;->isA2dpPlaying(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothA2dpSink;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothAvrcpController$Stub$Proxy;
-Landroid/bluetooth/IBluetoothAvrcpController$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothAvrcpController$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothAvrcpController$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothAvrcpController$Stub$Proxy;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothAvrcpController$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothAvrcpController$Stub$Proxy;->getPlayerSettings(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothAvrcpPlayerSettings;
-Landroid/bluetooth/IBluetoothAvrcpController$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothAvrcpController$Stub$Proxy;->sendGroupNavigationCmd(Landroid/bluetooth/BluetoothDevice;II)V
-Landroid/bluetooth/IBluetoothAvrcpController$Stub$Proxy;->setPlayerApplicationSetting(Landroid/bluetooth/BluetoothAvrcpPlayerSettings;)Z
-Landroid/bluetooth/IBluetoothAvrcpController$Stub;
-Landroid/bluetooth/IBluetoothAvrcpController$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothAvrcpController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothAvrcpController;
-Landroid/bluetooth/IBluetoothAvrcpController$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothAvrcpController$Stub;->TRANSACTION_getConnectedDevices:I
-Landroid/bluetooth/IBluetoothAvrcpController$Stub;->TRANSACTION_getConnectionState:I
-Landroid/bluetooth/IBluetoothAvrcpController$Stub;->TRANSACTION_getDevicesMatchingConnectionStates:I
-Landroid/bluetooth/IBluetoothAvrcpController$Stub;->TRANSACTION_getPlayerSettings:I
-Landroid/bluetooth/IBluetoothAvrcpController$Stub;->TRANSACTION_sendGroupNavigationCmd:I
-Landroid/bluetooth/IBluetoothAvrcpController$Stub;->TRANSACTION_setPlayerApplicationSetting:I
-Landroid/bluetooth/IBluetoothAvrcpController;
-Landroid/bluetooth/IBluetoothAvrcpController;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothAvrcpController;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothAvrcpController;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothAvrcpController;->getPlayerSettings(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothAvrcpPlayerSettings;
-Landroid/bluetooth/IBluetoothAvrcpController;->sendGroupNavigationCmd(Landroid/bluetooth/BluetoothDevice;II)V
-Landroid/bluetooth/IBluetoothAvrcpController;->setPlayerApplicationSetting(Landroid/bluetooth/BluetoothAvrcpPlayerSettings;)Z
-Landroid/bluetooth/IBluetoothAvrcpTarget$Stub$Proxy;
-Landroid/bluetooth/IBluetoothAvrcpTarget$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothAvrcpTarget$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothAvrcpTarget$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothAvrcpTarget$Stub$Proxy;->sendVolumeChanged(I)V
-Landroid/bluetooth/IBluetoothAvrcpTarget$Stub;
-Landroid/bluetooth/IBluetoothAvrcpTarget$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothAvrcpTarget$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothAvrcpTarget;
-Landroid/bluetooth/IBluetoothAvrcpTarget$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothAvrcpTarget$Stub;->TRANSACTION_sendVolumeChanged:I
-Landroid/bluetooth/IBluetoothAvrcpTarget;
-Landroid/bluetooth/IBluetoothAvrcpTarget;->sendVolumeChanged(I)V
-Landroid/bluetooth/IBluetoothCallback$Stub$Proxy;
-Landroid/bluetooth/IBluetoothCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothCallback$Stub$Proxy;->onBluetoothStateChange(II)V
-Landroid/bluetooth/IBluetoothCallback$Stub;
-Landroid/bluetooth/IBluetoothCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothCallback;
-Landroid/bluetooth/IBluetoothCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothCallback$Stub;->TRANSACTION_onBluetoothStateChange:I
-Landroid/bluetooth/IBluetoothCallback;
-Landroid/bluetooth/IBluetoothCallback;->onBluetoothStateChange(II)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->addService(ILandroid/bluetooth/BluetoothGattService;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->beginReliableWrite(ILjava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->clearServices(I)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->clientConnect(ILjava/lang/String;ZIZI)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->clientDisconnect(ILjava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->clientReadPhy(ILjava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->clientSetPreferredPhy(ILjava/lang/String;III)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->configureMTU(ILjava/lang/String;I)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->connectionParameterUpdate(ILjava/lang/String;I)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->disconnectAll()V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->discoverServiceByUuid(ILjava/lang/String;Landroid/os/ParcelUuid;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->discoverServices(ILjava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->enableAdvertisingSet(IZII)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->endReliableWrite(ILjava/lang/String;Z)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->flushPendingBatchResults(I)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->getOwnAddress(I)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->leConnectionUpdate(ILjava/lang/String;IIIIII)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->numHwTrackFiltersAvailable()I
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->readCharacteristic(ILjava/lang/String;II)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->readDescriptor(ILjava/lang/String;II)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->readRemoteRssi(ILjava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->readUsingCharacteristicUuid(ILjava/lang/String;Landroid/os/ParcelUuid;III)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->refreshDevice(ILjava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->registerClient(Landroid/os/ParcelUuid;Landroid/bluetooth/IBluetoothGattCallback;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->registerForNotification(ILjava/lang/String;IZ)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->registerScanner(Landroid/bluetooth/le/IScannerCallback;Landroid/os/WorkSource;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->registerServer(Landroid/os/ParcelUuid;Landroid/bluetooth/IBluetoothGattServerCallback;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->registerSync(Landroid/bluetooth/le/ScanResult;IILandroid/bluetooth/le/IPeriodicAdvertisingCallback;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->removeService(II)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->sendNotification(ILjava/lang/String;IZ[B)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->sendResponse(ILjava/lang/String;III[B)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->serverConnect(ILjava/lang/String;ZI)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->serverDisconnect(ILjava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->serverReadPhy(ILjava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->serverSetPreferredPhy(ILjava/lang/String;III)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->setAdvertisingData(ILandroid/bluetooth/le/AdvertiseData;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->setAdvertisingParameters(ILandroid/bluetooth/le/AdvertisingSetParameters;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->setPeriodicAdvertisingData(ILandroid/bluetooth/le/AdvertiseData;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->setPeriodicAdvertisingEnable(IZ)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->setPeriodicAdvertisingParameters(ILandroid/bluetooth/le/PeriodicAdvertisingParameters;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->setScanResponseData(ILandroid/bluetooth/le/AdvertiseData;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->startAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/PeriodicAdvertisingParameters;Landroid/bluetooth/le/AdvertiseData;IILandroid/bluetooth/le/IAdvertisingSetCallback;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->startScan(ILandroid/bluetooth/le/ScanSettings;Ljava/util/List;Ljava/util/List;Ljava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->startScanForIntent(Landroid/app/PendingIntent;Landroid/bluetooth/le/ScanSettings;Ljava/util/List;Ljava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->stopAdvertisingSet(Landroid/bluetooth/le/IAdvertisingSetCallback;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->stopScan(I)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->stopScanForIntent(Landroid/app/PendingIntent;Ljava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->unregAll()V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->unregisterClient(I)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->unregisterScanner(I)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->unregisterServer(I)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->unregisterSync(Landroid/bluetooth/le/IPeriodicAdvertisingCallback;)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->writeCharacteristic(ILjava/lang/String;III[B)V
-Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;->writeDescriptor(ILjava/lang/String;II[B)V
-Landroid/bluetooth/IBluetoothGatt$Stub;
-Landroid/bluetooth/IBluetoothGatt$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothGatt$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothGatt;
-Landroid/bluetooth/IBluetoothGatt$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_addService:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_beginReliableWrite:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_clearServices:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_clientConnect:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_clientDisconnect:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_clientReadPhy:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_clientSetPreferredPhy:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_configureMTU:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_connectionParameterUpdate:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_disconnectAll:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_discoverServiceByUuid:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_discoverServices:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_enableAdvertisingSet:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_endReliableWrite:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_flushPendingBatchResults:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_getDevicesMatchingConnectionStates:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_getOwnAddress:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_leConnectionUpdate:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_numHwTrackFiltersAvailable:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_readCharacteristic:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_readDescriptor:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_readRemoteRssi:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_readUsingCharacteristicUuid:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_refreshDevice:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_registerClient:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_registerForNotification:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_registerScanner:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_registerServer:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_registerSync:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_removeService:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_sendNotification:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_sendResponse:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_serverConnect:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_serverDisconnect:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_serverReadPhy:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_serverSetPreferredPhy:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_setAdvertisingData:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_setAdvertisingParameters:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_setPeriodicAdvertisingData:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_setPeriodicAdvertisingEnable:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_setPeriodicAdvertisingParameters:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_setScanResponseData:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_startAdvertisingSet:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_startScan:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_startScanForIntent:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_stopAdvertisingSet:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_stopScan:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_stopScanForIntent:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_unregAll:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_unregisterClient:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_unregisterScanner:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_unregisterServer:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_unregisterSync:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_writeCharacteristic:I
-Landroid/bluetooth/IBluetoothGatt$Stub;->TRANSACTION_writeDescriptor:I
-Landroid/bluetooth/IBluetoothGatt;
-Landroid/bluetooth/IBluetoothGatt;->addService(ILandroid/bluetooth/BluetoothGattService;)V
-Landroid/bluetooth/IBluetoothGatt;->beginReliableWrite(ILjava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt;->clearServices(I)V
-Landroid/bluetooth/IBluetoothGatt;->clientConnect(ILjava/lang/String;ZIZI)V
-Landroid/bluetooth/IBluetoothGatt;->clientDisconnect(ILjava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt;->clientReadPhy(ILjava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt;->clientSetPreferredPhy(ILjava/lang/String;III)V
-Landroid/bluetooth/IBluetoothGatt;->configureMTU(ILjava/lang/String;I)V
-Landroid/bluetooth/IBluetoothGatt;->connectionParameterUpdate(ILjava/lang/String;I)V
-Landroid/bluetooth/IBluetoothGatt;->disconnectAll()V
-Landroid/bluetooth/IBluetoothGatt;->discoverServiceByUuid(ILjava/lang/String;Landroid/os/ParcelUuid;)V
-Landroid/bluetooth/IBluetoothGatt;->discoverServices(ILjava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt;->enableAdvertisingSet(IZII)V
-Landroid/bluetooth/IBluetoothGatt;->endReliableWrite(ILjava/lang/String;Z)V
-Landroid/bluetooth/IBluetoothGatt;->flushPendingBatchResults(I)V
-Landroid/bluetooth/IBluetoothGatt;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothGatt;->getOwnAddress(I)V
-Landroid/bluetooth/IBluetoothGatt;->leConnectionUpdate(ILjava/lang/String;IIIIII)V
-Landroid/bluetooth/IBluetoothGatt;->numHwTrackFiltersAvailable()I
-Landroid/bluetooth/IBluetoothGatt;->readCharacteristic(ILjava/lang/String;II)V
-Landroid/bluetooth/IBluetoothGatt;->readDescriptor(ILjava/lang/String;II)V
-Landroid/bluetooth/IBluetoothGatt;->readRemoteRssi(ILjava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt;->readUsingCharacteristicUuid(ILjava/lang/String;Landroid/os/ParcelUuid;III)V
-Landroid/bluetooth/IBluetoothGatt;->refreshDevice(ILjava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt;->registerForNotification(ILjava/lang/String;IZ)V
-Landroid/bluetooth/IBluetoothGatt;->registerScanner(Landroid/bluetooth/le/IScannerCallback;Landroid/os/WorkSource;)V
-Landroid/bluetooth/IBluetoothGatt;->registerServer(Landroid/os/ParcelUuid;Landroid/bluetooth/IBluetoothGattServerCallback;)V
-Landroid/bluetooth/IBluetoothGatt;->registerSync(Landroid/bluetooth/le/ScanResult;IILandroid/bluetooth/le/IPeriodicAdvertisingCallback;)V
-Landroid/bluetooth/IBluetoothGatt;->removeService(II)V
-Landroid/bluetooth/IBluetoothGatt;->sendNotification(ILjava/lang/String;IZ[B)V
-Landroid/bluetooth/IBluetoothGatt;->sendResponse(ILjava/lang/String;III[B)V
-Landroid/bluetooth/IBluetoothGatt;->serverConnect(ILjava/lang/String;ZI)V
-Landroid/bluetooth/IBluetoothGatt;->serverDisconnect(ILjava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt;->serverReadPhy(ILjava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt;->serverSetPreferredPhy(ILjava/lang/String;III)V
-Landroid/bluetooth/IBluetoothGatt;->setAdvertisingData(ILandroid/bluetooth/le/AdvertiseData;)V
-Landroid/bluetooth/IBluetoothGatt;->setAdvertisingParameters(ILandroid/bluetooth/le/AdvertisingSetParameters;)V
-Landroid/bluetooth/IBluetoothGatt;->setPeriodicAdvertisingData(ILandroid/bluetooth/le/AdvertiseData;)V
-Landroid/bluetooth/IBluetoothGatt;->setPeriodicAdvertisingEnable(IZ)V
-Landroid/bluetooth/IBluetoothGatt;->setPeriodicAdvertisingParameters(ILandroid/bluetooth/le/PeriodicAdvertisingParameters;)V
-Landroid/bluetooth/IBluetoothGatt;->setScanResponseData(ILandroid/bluetooth/le/AdvertiseData;)V
-Landroid/bluetooth/IBluetoothGatt;->startAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/PeriodicAdvertisingParameters;Landroid/bluetooth/le/AdvertiseData;IILandroid/bluetooth/le/IAdvertisingSetCallback;)V
-Landroid/bluetooth/IBluetoothGatt;->startScan(ILandroid/bluetooth/le/ScanSettings;Ljava/util/List;Ljava/util/List;Ljava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt;->startScanForIntent(Landroid/app/PendingIntent;Landroid/bluetooth/le/ScanSettings;Ljava/util/List;Ljava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt;->stopAdvertisingSet(Landroid/bluetooth/le/IAdvertisingSetCallback;)V
-Landroid/bluetooth/IBluetoothGatt;->stopScan(I)V
-Landroid/bluetooth/IBluetoothGatt;->stopScanForIntent(Landroid/app/PendingIntent;Ljava/lang/String;)V
-Landroid/bluetooth/IBluetoothGatt;->unregAll()V
-Landroid/bluetooth/IBluetoothGatt;->unregisterScanner(I)V
-Landroid/bluetooth/IBluetoothGatt;->unregisterServer(I)V
-Landroid/bluetooth/IBluetoothGatt;->unregisterSync(Landroid/bluetooth/le/IPeriodicAdvertisingCallback;)V
-Landroid/bluetooth/IBluetoothGatt;->writeCharacteristic(ILjava/lang/String;III[B)V
-Landroid/bluetooth/IBluetoothGatt;->writeDescriptor(ILjava/lang/String;II[B)V
-Landroid/bluetooth/IBluetoothGattCallback$Stub$Proxy;
-Landroid/bluetooth/IBluetoothGattCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothGattCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothGattCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothGattCallback$Stub$Proxy;->onCharacteristicRead(Ljava/lang/String;II[B)V
-Landroid/bluetooth/IBluetoothGattCallback$Stub$Proxy;->onCharacteristicWrite(Ljava/lang/String;II)V
-Landroid/bluetooth/IBluetoothGattCallback$Stub$Proxy;->onClientConnectionState(IIZLjava/lang/String;)V
-Landroid/bluetooth/IBluetoothGattCallback$Stub$Proxy;->onClientRegistered(II)V
-Landroid/bluetooth/IBluetoothGattCallback$Stub$Proxy;->onConfigureMTU(Ljava/lang/String;II)V
-Landroid/bluetooth/IBluetoothGattCallback$Stub$Proxy;->onConnectionUpdated(Ljava/lang/String;IIII)V
-Landroid/bluetooth/IBluetoothGattCallback$Stub$Proxy;->onDescriptorRead(Ljava/lang/String;II[B)V
-Landroid/bluetooth/IBluetoothGattCallback$Stub$Proxy;->onDescriptorWrite(Ljava/lang/String;II)V
-Landroid/bluetooth/IBluetoothGattCallback$Stub$Proxy;->onExecuteWrite(Ljava/lang/String;I)V
-Landroid/bluetooth/IBluetoothGattCallback$Stub$Proxy;->onNotify(Ljava/lang/String;I[B)V
-Landroid/bluetooth/IBluetoothGattCallback$Stub$Proxy;->onPhyRead(Ljava/lang/String;III)V
-Landroid/bluetooth/IBluetoothGattCallback$Stub$Proxy;->onPhyUpdate(Ljava/lang/String;III)V
-Landroid/bluetooth/IBluetoothGattCallback$Stub$Proxy;->onReadRemoteRssi(Ljava/lang/String;II)V
-Landroid/bluetooth/IBluetoothGattCallback$Stub$Proxy;->onSearchComplete(Ljava/lang/String;Ljava/util/List;I)V
-Landroid/bluetooth/IBluetoothGattCallback$Stub;
-Landroid/bluetooth/IBluetoothGattCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothGattCallback$Stub;->TRANSACTION_onCharacteristicRead:I
-Landroid/bluetooth/IBluetoothGattCallback$Stub;->TRANSACTION_onCharacteristicWrite:I
-Landroid/bluetooth/IBluetoothGattCallback$Stub;->TRANSACTION_onClientConnectionState:I
-Landroid/bluetooth/IBluetoothGattCallback$Stub;->TRANSACTION_onClientRegistered:I
-Landroid/bluetooth/IBluetoothGattCallback$Stub;->TRANSACTION_onConfigureMTU:I
-Landroid/bluetooth/IBluetoothGattCallback$Stub;->TRANSACTION_onConnectionUpdated:I
-Landroid/bluetooth/IBluetoothGattCallback$Stub;->TRANSACTION_onDescriptorRead:I
-Landroid/bluetooth/IBluetoothGattCallback$Stub;->TRANSACTION_onDescriptorWrite:I
-Landroid/bluetooth/IBluetoothGattCallback$Stub;->TRANSACTION_onExecuteWrite:I
-Landroid/bluetooth/IBluetoothGattCallback$Stub;->TRANSACTION_onNotify:I
-Landroid/bluetooth/IBluetoothGattCallback$Stub;->TRANSACTION_onPhyRead:I
-Landroid/bluetooth/IBluetoothGattCallback$Stub;->TRANSACTION_onPhyUpdate:I
-Landroid/bluetooth/IBluetoothGattCallback$Stub;->TRANSACTION_onReadRemoteRssi:I
-Landroid/bluetooth/IBluetoothGattCallback$Stub;->TRANSACTION_onSearchComplete:I
-Landroid/bluetooth/IBluetoothGattCallback;
-Landroid/bluetooth/IBluetoothGattCallback;->onCharacteristicRead(Ljava/lang/String;II[B)V
-Landroid/bluetooth/IBluetoothGattCallback;->onCharacteristicWrite(Ljava/lang/String;II)V
-Landroid/bluetooth/IBluetoothGattCallback;->onClientConnectionState(IIZLjava/lang/String;)V
-Landroid/bluetooth/IBluetoothGattCallback;->onClientRegistered(II)V
-Landroid/bluetooth/IBluetoothGattCallback;->onConfigureMTU(Ljava/lang/String;II)V
-Landroid/bluetooth/IBluetoothGattCallback;->onConnectionUpdated(Ljava/lang/String;IIII)V
-Landroid/bluetooth/IBluetoothGattCallback;->onDescriptorRead(Ljava/lang/String;II[B)V
-Landroid/bluetooth/IBluetoothGattCallback;->onDescriptorWrite(Ljava/lang/String;II)V
-Landroid/bluetooth/IBluetoothGattCallback;->onExecuteWrite(Ljava/lang/String;I)V
-Landroid/bluetooth/IBluetoothGattCallback;->onNotify(Ljava/lang/String;I[B)V
-Landroid/bluetooth/IBluetoothGattCallback;->onPhyRead(Ljava/lang/String;III)V
-Landroid/bluetooth/IBluetoothGattCallback;->onPhyUpdate(Ljava/lang/String;III)V
-Landroid/bluetooth/IBluetoothGattCallback;->onReadRemoteRssi(Ljava/lang/String;II)V
-Landroid/bluetooth/IBluetoothGattCallback;->onSearchComplete(Ljava/lang/String;Ljava/util/List;I)V
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;->onCharacteristicReadRequest(Ljava/lang/String;IIZI)V
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;->onCharacteristicWriteRequest(Ljava/lang/String;IIIZZI[B)V
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;->onConnectionUpdated(Ljava/lang/String;IIII)V
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;->onDescriptorReadRequest(Ljava/lang/String;IIZI)V
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;->onDescriptorWriteRequest(Ljava/lang/String;IIIZZI[B)V
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;->onExecuteWrite(Ljava/lang/String;IZ)V
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;->onMtuChanged(Ljava/lang/String;I)V
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;->onNotificationSent(Ljava/lang/String;I)V
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;->onPhyRead(Ljava/lang/String;III)V
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;->onPhyUpdate(Ljava/lang/String;III)V
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;->onServerConnectionState(IIZLjava/lang/String;)V
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;->onServerRegistered(II)V
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;->onServiceAdded(ILandroid/bluetooth/BluetoothGattService;)V
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub;
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothGattServerCallback;
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub;->TRANSACTION_onCharacteristicReadRequest:I
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub;->TRANSACTION_onCharacteristicWriteRequest:I
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub;->TRANSACTION_onConnectionUpdated:I
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub;->TRANSACTION_onDescriptorReadRequest:I
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub;->TRANSACTION_onDescriptorWriteRequest:I
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub;->TRANSACTION_onExecuteWrite:I
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub;->TRANSACTION_onMtuChanged:I
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub;->TRANSACTION_onNotificationSent:I
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub;->TRANSACTION_onPhyRead:I
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub;->TRANSACTION_onPhyUpdate:I
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub;->TRANSACTION_onServerConnectionState:I
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub;->TRANSACTION_onServerRegistered:I
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub;->TRANSACTION_onServiceAdded:I
-Landroid/bluetooth/IBluetoothGattServerCallback;
-Landroid/bluetooth/IBluetoothGattServerCallback;->onCharacteristicReadRequest(Ljava/lang/String;IIZI)V
-Landroid/bluetooth/IBluetoothGattServerCallback;->onCharacteristicWriteRequest(Ljava/lang/String;IIIZZI[B)V
-Landroid/bluetooth/IBluetoothGattServerCallback;->onConnectionUpdated(Ljava/lang/String;IIII)V
-Landroid/bluetooth/IBluetoothGattServerCallback;->onDescriptorReadRequest(Ljava/lang/String;IIZI)V
-Landroid/bluetooth/IBluetoothGattServerCallback;->onDescriptorWriteRequest(Ljava/lang/String;IIIZZI[B)V
-Landroid/bluetooth/IBluetoothGattServerCallback;->onExecuteWrite(Ljava/lang/String;IZ)V
-Landroid/bluetooth/IBluetoothGattServerCallback;->onMtuChanged(Ljava/lang/String;I)V
-Landroid/bluetooth/IBluetoothGattServerCallback;->onNotificationSent(Ljava/lang/String;I)V
-Landroid/bluetooth/IBluetoothGattServerCallback;->onPhyRead(Ljava/lang/String;III)V
-Landroid/bluetooth/IBluetoothGattServerCallback;->onPhyUpdate(Ljava/lang/String;III)V
-Landroid/bluetooth/IBluetoothGattServerCallback;->onServerConnectionState(IIZLjava/lang/String;)V
-Landroid/bluetooth/IBluetoothGattServerCallback;->onServerRegistered(II)V
-Landroid/bluetooth/IBluetoothGattServerCallback;->onServiceAdded(ILandroid/bluetooth/BluetoothGattService;)V
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->clccResponse(IIIIZLjava/lang/String;I)V
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->connectAudio()Z
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->disconnectAudio()Z
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->getAudioRouteAllowed()Z
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->getAudioState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->isAudioConnected(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->isAudioOn()Z
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->isInbandRingingEnabled()Z
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->phoneStateChanged(IIILjava/lang/String;I)V
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->sendVendorSpecificResultCode(Landroid/bluetooth/BluetoothDevice;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->setActiveDevice(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->setAudioRouteAllowed(Z)V
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->setForceScoAudio(Z)V
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->startScoUsingVirtualVoiceCall()Z
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->startVoiceRecognition(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->stopScoUsingVirtualVoiceCall()Z
-Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->stopVoiceRecognition(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadset$Stub;
-Landroid/bluetooth/IBluetoothHeadset$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothHeadset$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_clccResponse:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_connect:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_connectAudio:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_disconnect:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_disconnectAudio:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_getActiveDevice:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_getAudioRouteAllowed:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_getAudioState:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_getConnectedDevices:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_getConnectionState:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_getDevicesMatchingConnectionStates:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_getPriority:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_isAudioConnected:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_isAudioOn:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_isInbandRingingEnabled:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_phoneStateChanged:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_sendVendorSpecificResultCode:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_setActiveDevice:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_setAudioRouteAllowed:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_setForceScoAudio:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_setPriority:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_startScoUsingVirtualVoiceCall:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_startVoiceRecognition:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_stopScoUsingVirtualVoiceCall:I
-Landroid/bluetooth/IBluetoothHeadset$Stub;->TRANSACTION_stopVoiceRecognition:I
-Landroid/bluetooth/IBluetoothHeadset;
-Landroid/bluetooth/IBluetoothHeadset;->clccResponse(IIIIZLjava/lang/String;I)V
-Landroid/bluetooth/IBluetoothHeadset;->connectAudio()Z
-Landroid/bluetooth/IBluetoothHeadset;->disconnectAudio()Z
-Landroid/bluetooth/IBluetoothHeadset;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
-Landroid/bluetooth/IBluetoothHeadset;->getAudioRouteAllowed()Z
-Landroid/bluetooth/IBluetoothHeadset;->getAudioState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHeadset;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothHeadset;->isAudioConnected(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadset;->isAudioOn()Z
-Landroid/bluetooth/IBluetoothHeadset;->isInbandRingingEnabled()Z
-Landroid/bluetooth/IBluetoothHeadset;->phoneStateChanged(IIILjava/lang/String;I)V
-Landroid/bluetooth/IBluetoothHeadset;->sendVendorSpecificResultCode(Landroid/bluetooth/BluetoothDevice;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/bluetooth/IBluetoothHeadset;->setActiveDevice(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadset;->setAudioRouteAllowed(Z)V
-Landroid/bluetooth/IBluetoothHeadset;->setForceScoAudio(Z)V
-Landroid/bluetooth/IBluetoothHeadset;->startScoUsingVirtualVoiceCall()Z
-Landroid/bluetooth/IBluetoothHeadset;->startVoiceRecognition(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadset;->stopScoUsingVirtualVoiceCall()Z
-Landroid/bluetooth/IBluetoothHeadset;->stopVoiceRecognition(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->acceptCall(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->connectAudio(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->dial(Landroid/bluetooth/BluetoothDevice;Ljava/lang/String;)Landroid/bluetooth/BluetoothHeadsetClientCall;
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->disconnectAudio(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->enterPrivateMode(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->explicitCallTransfer(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->getAudioRouteAllowed(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->getAudioState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->getCurrentAgEvents(Landroid/bluetooth/BluetoothDevice;)Landroid/os/Bundle;
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->getCurrentAgFeatures(Landroid/bluetooth/BluetoothDevice;)Landroid/os/Bundle;
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->getCurrentCalls(Landroid/bluetooth/BluetoothDevice;)Ljava/util/List;
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->getLastVoiceTagNumber(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->holdCall(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->rejectCall(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->sendDTMF(Landroid/bluetooth/BluetoothDevice;B)Z
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->setAudioRouteAllowed(Landroid/bluetooth/BluetoothDevice;Z)V
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->startVoiceRecognition(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->stopVoiceRecognition(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub$Proxy;->terminateCall(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHeadsetClientCall;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothHeadsetClient;
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_acceptCall:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_connect:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_connectAudio:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_dial:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_disconnect:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_disconnectAudio:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_enterPrivateMode:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_explicitCallTransfer:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_getAudioRouteAllowed:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_getAudioState:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_getConnectedDevices:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_getConnectionState:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_getCurrentAgEvents:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_getCurrentAgFeatures:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_getCurrentCalls:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_getDevicesMatchingConnectionStates:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_getLastVoiceTagNumber:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_getPriority:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_holdCall:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_rejectCall:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_sendDTMF:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_setAudioRouteAllowed:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_setPriority:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_startVoiceRecognition:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_stopVoiceRecognition:I
-Landroid/bluetooth/IBluetoothHeadsetClient$Stub;->TRANSACTION_terminateCall:I
-Landroid/bluetooth/IBluetoothHeadsetClient;
-Landroid/bluetooth/IBluetoothHeadsetClient;->acceptCall(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothHeadsetClient;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient;->connectAudio(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient;->dial(Landroid/bluetooth/BluetoothDevice;Ljava/lang/String;)Landroid/bluetooth/BluetoothHeadsetClientCall;
-Landroid/bluetooth/IBluetoothHeadsetClient;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient;->disconnectAudio(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient;->enterPrivateMode(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothHeadsetClient;->explicitCallTransfer(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient;->getAudioRouteAllowed(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient;->getAudioState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHeadsetClient;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothHeadsetClient;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHeadsetClient;->getCurrentAgEvents(Landroid/bluetooth/BluetoothDevice;)Landroid/os/Bundle;
-Landroid/bluetooth/IBluetoothHeadsetClient;->getCurrentAgFeatures(Landroid/bluetooth/BluetoothDevice;)Landroid/os/Bundle;
-Landroid/bluetooth/IBluetoothHeadsetClient;->getCurrentCalls(Landroid/bluetooth/BluetoothDevice;)Ljava/util/List;
-Landroid/bluetooth/IBluetoothHeadsetClient;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothHeadsetClient;->getLastVoiceTagNumber(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHeadsetClient;->holdCall(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient;->rejectCall(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient;->sendDTMF(Landroid/bluetooth/BluetoothDevice;B)Z
-Landroid/bluetooth/IBluetoothHeadsetClient;->setAudioRouteAllowed(Landroid/bluetooth/BluetoothDevice;Z)V
-Landroid/bluetooth/IBluetoothHeadsetClient;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothHeadsetClient;->startVoiceRecognition(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient;->stopVoiceRecognition(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHeadsetClient;->terminateCall(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHeadsetClientCall;)Z
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;->answerCall()Z
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;->cdmaSetSecondCallState(Z)V
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;->cdmaSwapSecondCallState()V
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;->getNetworkOperator()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;->getSubscriberNumber()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;->hangupCall()Z
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;->listCurrentCalls()Z
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;->processChld(I)Z
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;->queryPhoneState()Z
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;->sendDtmf(I)Z
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;->updateBtHandsfreeAfterRadioTechnologyChange()V
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub;
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothHeadsetPhone;
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub;->TRANSACTION_answerCall:I
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub;->TRANSACTION_cdmaSetSecondCallState:I
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub;->TRANSACTION_cdmaSwapSecondCallState:I
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub;->TRANSACTION_getNetworkOperator:I
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub;->TRANSACTION_getSubscriberNumber:I
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub;->TRANSACTION_hangupCall:I
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub;->TRANSACTION_listCurrentCalls:I
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub;->TRANSACTION_processChld:I
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub;->TRANSACTION_queryPhoneState:I
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub;->TRANSACTION_sendDtmf:I
-Landroid/bluetooth/IBluetoothHeadsetPhone$Stub;->TRANSACTION_updateBtHandsfreeAfterRadioTechnologyChange:I
-Landroid/bluetooth/IBluetoothHeadsetPhone;
-Landroid/bluetooth/IBluetoothHeadsetPhone;->answerCall()Z
-Landroid/bluetooth/IBluetoothHeadsetPhone;->cdmaSetSecondCallState(Z)V
-Landroid/bluetooth/IBluetoothHeadsetPhone;->cdmaSwapSecondCallState()V
-Landroid/bluetooth/IBluetoothHeadsetPhone;->getNetworkOperator()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHeadsetPhone;->getSubscriberNumber()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHeadsetPhone;->hangupCall()Z
-Landroid/bluetooth/IBluetoothHeadsetPhone;->listCurrentCalls()Z
-Landroid/bluetooth/IBluetoothHeadsetPhone;->processChld(I)Z
-Landroid/bluetooth/IBluetoothHeadsetPhone;->queryPhoneState()Z
-Landroid/bluetooth/IBluetoothHeadsetPhone;->sendDtmf(I)Z
-Landroid/bluetooth/IBluetoothHeadsetPhone;->updateBtHandsfreeAfterRadioTechnologyChange()V
-Landroid/bluetooth/IBluetoothHealth$Stub$Proxy;
-Landroid/bluetooth/IBluetoothHealth$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothHealth$Stub$Proxy;->connectChannelToSink(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHealthAppConfiguration;I)Z
-Landroid/bluetooth/IBluetoothHealth$Stub$Proxy;->connectChannelToSource(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z
-Landroid/bluetooth/IBluetoothHealth$Stub$Proxy;->disconnectChannel(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHealthAppConfiguration;I)Z
-Landroid/bluetooth/IBluetoothHealth$Stub$Proxy;->getConnectedHealthDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothHealth$Stub$Proxy;->getHealthDeviceConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHealth$Stub$Proxy;->getHealthDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothHealth$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHealth$Stub$Proxy;->getMainChannelFd(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;
-Landroid/bluetooth/IBluetoothHealth$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothHealth$Stub$Proxy;->registerAppConfiguration(Landroid/bluetooth/BluetoothHealthAppConfiguration;Landroid/bluetooth/IBluetoothHealthCallback;)Z
-Landroid/bluetooth/IBluetoothHealth$Stub$Proxy;->unregisterAppConfiguration(Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z
-Landroid/bluetooth/IBluetoothHealth$Stub;
-Landroid/bluetooth/IBluetoothHealth$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothHealth$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothHealth;
-Landroid/bluetooth/IBluetoothHealth$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHealth$Stub;->TRANSACTION_connectChannelToSink:I
-Landroid/bluetooth/IBluetoothHealth$Stub;->TRANSACTION_connectChannelToSource:I
-Landroid/bluetooth/IBluetoothHealth$Stub;->TRANSACTION_disconnectChannel:I
-Landroid/bluetooth/IBluetoothHealth$Stub;->TRANSACTION_getConnectedHealthDevices:I
-Landroid/bluetooth/IBluetoothHealth$Stub;->TRANSACTION_getHealthDeviceConnectionState:I
-Landroid/bluetooth/IBluetoothHealth$Stub;->TRANSACTION_getHealthDevicesMatchingConnectionStates:I
-Landroid/bluetooth/IBluetoothHealth$Stub;->TRANSACTION_getMainChannelFd:I
-Landroid/bluetooth/IBluetoothHealth$Stub;->TRANSACTION_registerAppConfiguration:I
-Landroid/bluetooth/IBluetoothHealth$Stub;->TRANSACTION_unregisterAppConfiguration:I
-Landroid/bluetooth/IBluetoothHealth;
-Landroid/bluetooth/IBluetoothHealth;->connectChannelToSink(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHealthAppConfiguration;I)Z
-Landroid/bluetooth/IBluetoothHealth;->connectChannelToSource(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z
-Landroid/bluetooth/IBluetoothHealth;->disconnectChannel(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHealthAppConfiguration;I)Z
-Landroid/bluetooth/IBluetoothHealth;->getConnectedHealthDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothHealth;->getHealthDeviceConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHealth;->getHealthDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothHealth;->getMainChannelFd(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;
-Landroid/bluetooth/IBluetoothHealth;->registerAppConfiguration(Landroid/bluetooth/BluetoothHealthAppConfiguration;Landroid/bluetooth/IBluetoothHealthCallback;)Z
-Landroid/bluetooth/IBluetoothHealth;->unregisterAppConfiguration(Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z
-Landroid/bluetooth/IBluetoothHealthCallback$Stub$Proxy;
-Landroid/bluetooth/IBluetoothHealthCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothHealthCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHealthCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothHealthCallback$Stub$Proxy;->onHealthAppConfigurationStatusChange(Landroid/bluetooth/BluetoothHealthAppConfiguration;I)V
-Landroid/bluetooth/IBluetoothHealthCallback$Stub$Proxy;->onHealthChannelStateChange(Landroid/bluetooth/BluetoothHealthAppConfiguration;Landroid/bluetooth/BluetoothDevice;IILandroid/os/ParcelFileDescriptor;I)V
-Landroid/bluetooth/IBluetoothHealthCallback$Stub;
-Landroid/bluetooth/IBluetoothHealthCallback$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothHealthCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothHealthCallback;
-Landroid/bluetooth/IBluetoothHealthCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHealthCallback$Stub;->TRANSACTION_onHealthAppConfigurationStatusChange:I
-Landroid/bluetooth/IBluetoothHealthCallback$Stub;->TRANSACTION_onHealthChannelStateChange:I
-Landroid/bluetooth/IBluetoothHealthCallback;
-Landroid/bluetooth/IBluetoothHealthCallback;->onHealthAppConfigurationStatusChange(Landroid/bluetooth/BluetoothHealthAppConfiguration;I)V
-Landroid/bluetooth/IBluetoothHealthCallback;->onHealthChannelStateChange(Landroid/bluetooth/BluetoothHealthAppConfiguration;Landroid/bluetooth/BluetoothDevice;IILandroid/os/ParcelFileDescriptor;I)V
-Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;
-Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->adjustVolume(I)V
-Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->getActiveDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->getDeviceMode(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->getDeviceSide(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->getHiSyncId(Landroid/bluetooth/BluetoothDevice;)J
-Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->getVolume()I
-Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->setActiveDevice(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->setVolume(I)V
-Landroid/bluetooth/IBluetoothHearingAid$Stub;
-Landroid/bluetooth/IBluetoothHearingAid$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothHearingAid$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothHearingAid;
-Landroid/bluetooth/IBluetoothHearingAid$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHearingAid$Stub;->TRANSACTION_adjustVolume:I
-Landroid/bluetooth/IBluetoothHearingAid$Stub;->TRANSACTION_connect:I
-Landroid/bluetooth/IBluetoothHearingAid$Stub;->TRANSACTION_disconnect:I
-Landroid/bluetooth/IBluetoothHearingAid$Stub;->TRANSACTION_getActiveDevices:I
-Landroid/bluetooth/IBluetoothHearingAid$Stub;->TRANSACTION_getConnectedDevices:I
-Landroid/bluetooth/IBluetoothHearingAid$Stub;->TRANSACTION_getConnectionState:I
-Landroid/bluetooth/IBluetoothHearingAid$Stub;->TRANSACTION_getDeviceMode:I
-Landroid/bluetooth/IBluetoothHearingAid$Stub;->TRANSACTION_getDeviceSide:I
-Landroid/bluetooth/IBluetoothHearingAid$Stub;->TRANSACTION_getDevicesMatchingConnectionStates:I
-Landroid/bluetooth/IBluetoothHearingAid$Stub;->TRANSACTION_getHiSyncId:I
-Landroid/bluetooth/IBluetoothHearingAid$Stub;->TRANSACTION_getPriority:I
-Landroid/bluetooth/IBluetoothHearingAid$Stub;->TRANSACTION_getVolume:I
-Landroid/bluetooth/IBluetoothHearingAid$Stub;->TRANSACTION_setActiveDevice:I
-Landroid/bluetooth/IBluetoothHearingAid$Stub;->TRANSACTION_setPriority:I
-Landroid/bluetooth/IBluetoothHearingAid$Stub;->TRANSACTION_setVolume:I
-Landroid/bluetooth/IBluetoothHearingAid;
-Landroid/bluetooth/IBluetoothHearingAid;->adjustVolume(I)V
-Landroid/bluetooth/IBluetoothHearingAid;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHearingAid;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHearingAid;->getActiveDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothHearingAid;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothHearingAid;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHearingAid;->getDeviceMode(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHearingAid;->getDeviceSide(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHearingAid;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothHearingAid;->getHiSyncId(Landroid/bluetooth/BluetoothDevice;)J
-Landroid/bluetooth/IBluetoothHearingAid;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHearingAid;->getVolume()I
-Landroid/bluetooth/IBluetoothHearingAid;->HI_SYNC_ID_INVALID:I
-Landroid/bluetooth/IBluetoothHearingAid;->MODE_BINAURAL:I
-Landroid/bluetooth/IBluetoothHearingAid;->MODE_MONAURAL:I
-Landroid/bluetooth/IBluetoothHearingAid;->setActiveDevice(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHearingAid;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothHearingAid;->setVolume(I)V
-Landroid/bluetooth/IBluetoothHearingAid;->SIDE_LEFT:I
-Landroid/bluetooth/IBluetoothHearingAid;->SIDE_RIGHT:I
-Landroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;
-Landroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;->getUserAppName()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;->registerApp(Landroid/bluetooth/BluetoothHidDeviceAppSdpSettings;Landroid/bluetooth/BluetoothHidDeviceAppQosSettings;Landroid/bluetooth/BluetoothHidDeviceAppQosSettings;Landroid/bluetooth/IBluetoothHidDeviceCallback;)Z
-Landroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;->replyReport(Landroid/bluetooth/BluetoothDevice;BB[B)Z
-Landroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;->reportError(Landroid/bluetooth/BluetoothDevice;B)Z
-Landroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;->sendReport(Landroid/bluetooth/BluetoothDevice;I[B)Z
-Landroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;->unplug(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;->unregisterApp()Z
-Landroid/bluetooth/IBluetoothHidDevice$Stub;
-Landroid/bluetooth/IBluetoothHidDevice$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothHidDevice$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothHidDevice;
-Landroid/bluetooth/IBluetoothHidDevice$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHidDevice$Stub;->TRANSACTION_connect:I
-Landroid/bluetooth/IBluetoothHidDevice$Stub;->TRANSACTION_disconnect:I
-Landroid/bluetooth/IBluetoothHidDevice$Stub;->TRANSACTION_getConnectedDevices:I
-Landroid/bluetooth/IBluetoothHidDevice$Stub;->TRANSACTION_getConnectionState:I
-Landroid/bluetooth/IBluetoothHidDevice$Stub;->TRANSACTION_getDevicesMatchingConnectionStates:I
-Landroid/bluetooth/IBluetoothHidDevice$Stub;->TRANSACTION_getUserAppName:I
-Landroid/bluetooth/IBluetoothHidDevice$Stub;->TRANSACTION_registerApp:I
-Landroid/bluetooth/IBluetoothHidDevice$Stub;->TRANSACTION_replyReport:I
-Landroid/bluetooth/IBluetoothHidDevice$Stub;->TRANSACTION_reportError:I
-Landroid/bluetooth/IBluetoothHidDevice$Stub;->TRANSACTION_sendReport:I
-Landroid/bluetooth/IBluetoothHidDevice$Stub;->TRANSACTION_unplug:I
-Landroid/bluetooth/IBluetoothHidDevice$Stub;->TRANSACTION_unregisterApp:I
-Landroid/bluetooth/IBluetoothHidDevice;
-Landroid/bluetooth/IBluetoothHidDevice;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHidDevice;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHidDevice;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothHidDevice;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHidDevice;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothHidDevice;->getUserAppName()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHidDevice;->registerApp(Landroid/bluetooth/BluetoothHidDeviceAppSdpSettings;Landroid/bluetooth/BluetoothHidDeviceAppQosSettings;Landroid/bluetooth/BluetoothHidDeviceAppQosSettings;Landroid/bluetooth/IBluetoothHidDeviceCallback;)Z
-Landroid/bluetooth/IBluetoothHidDevice;->replyReport(Landroid/bluetooth/BluetoothDevice;BB[B)Z
-Landroid/bluetooth/IBluetoothHidDevice;->reportError(Landroid/bluetooth/BluetoothDevice;B)Z
-Landroid/bluetooth/IBluetoothHidDevice;->sendReport(Landroid/bluetooth/BluetoothDevice;I[B)Z
-Landroid/bluetooth/IBluetoothHidDevice;->unplug(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHidDevice;->unregisterApp()Z
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub$Proxy;
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub$Proxy;->onAppStatusChanged(Landroid/bluetooth/BluetoothDevice;Z)V
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub$Proxy;->onConnectionStateChanged(Landroid/bluetooth/BluetoothDevice;I)V
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub$Proxy;->onGetReport(Landroid/bluetooth/BluetoothDevice;BBI)V
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub$Proxy;->onInterruptData(Landroid/bluetooth/BluetoothDevice;B[B)V
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub$Proxy;->onSetProtocol(Landroid/bluetooth/BluetoothDevice;B)V
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub$Proxy;->onSetReport(Landroid/bluetooth/BluetoothDevice;BB[B)V
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub$Proxy;->onVirtualCableUnplug(Landroid/bluetooth/BluetoothDevice;)V
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub;
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothHidDeviceCallback;
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub;->TRANSACTION_onAppStatusChanged:I
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub;->TRANSACTION_onConnectionStateChanged:I
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub;->TRANSACTION_onGetReport:I
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub;->TRANSACTION_onInterruptData:I
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub;->TRANSACTION_onSetProtocol:I
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub;->TRANSACTION_onSetReport:I
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub;->TRANSACTION_onVirtualCableUnplug:I
-Landroid/bluetooth/IBluetoothHidDeviceCallback;
-Landroid/bluetooth/IBluetoothHidDeviceCallback;->onAppStatusChanged(Landroid/bluetooth/BluetoothDevice;Z)V
-Landroid/bluetooth/IBluetoothHidDeviceCallback;->onConnectionStateChanged(Landroid/bluetooth/BluetoothDevice;I)V
-Landroid/bluetooth/IBluetoothHidDeviceCallback;->onGetReport(Landroid/bluetooth/BluetoothDevice;BBI)V
-Landroid/bluetooth/IBluetoothHidDeviceCallback;->onInterruptData(Landroid/bluetooth/BluetoothDevice;B[B)V
-Landroid/bluetooth/IBluetoothHidDeviceCallback;->onSetProtocol(Landroid/bluetooth/BluetoothDevice;B)V
-Landroid/bluetooth/IBluetoothHidDeviceCallback;->onSetReport(Landroid/bluetooth/BluetoothDevice;BB[B)V
-Landroid/bluetooth/IBluetoothHidDeviceCallback;->onVirtualCableUnplug(Landroid/bluetooth/BluetoothDevice;)V
-Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;
-Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;->getIdleTime(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;->getProtocolMode(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;->getReport(Landroid/bluetooth/BluetoothDevice;BBI)Z
-Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;->sendData(Landroid/bluetooth/BluetoothDevice;Ljava/lang/String;)Z
-Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;->setIdleTime(Landroid/bluetooth/BluetoothDevice;B)Z
-Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;->setProtocolMode(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;->setReport(Landroid/bluetooth/BluetoothDevice;BLjava/lang/String;)Z
-Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;->virtualUnplug(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHidHost$Stub;
-Landroid/bluetooth/IBluetoothHidHost$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothHidHost$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothHidHost;
-Landroid/bluetooth/IBluetoothHidHost$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothHidHost$Stub;->TRANSACTION_connect:I
-Landroid/bluetooth/IBluetoothHidHost$Stub;->TRANSACTION_disconnect:I
-Landroid/bluetooth/IBluetoothHidHost$Stub;->TRANSACTION_getConnectedDevices:I
-Landroid/bluetooth/IBluetoothHidHost$Stub;->TRANSACTION_getConnectionState:I
-Landroid/bluetooth/IBluetoothHidHost$Stub;->TRANSACTION_getDevicesMatchingConnectionStates:I
-Landroid/bluetooth/IBluetoothHidHost$Stub;->TRANSACTION_getIdleTime:I
-Landroid/bluetooth/IBluetoothHidHost$Stub;->TRANSACTION_getPriority:I
-Landroid/bluetooth/IBluetoothHidHost$Stub;->TRANSACTION_getProtocolMode:I
-Landroid/bluetooth/IBluetoothHidHost$Stub;->TRANSACTION_getReport:I
-Landroid/bluetooth/IBluetoothHidHost$Stub;->TRANSACTION_sendData:I
-Landroid/bluetooth/IBluetoothHidHost$Stub;->TRANSACTION_setIdleTime:I
-Landroid/bluetooth/IBluetoothHidHost$Stub;->TRANSACTION_setPriority:I
-Landroid/bluetooth/IBluetoothHidHost$Stub;->TRANSACTION_setProtocolMode:I
-Landroid/bluetooth/IBluetoothHidHost$Stub;->TRANSACTION_setReport:I
-Landroid/bluetooth/IBluetoothHidHost$Stub;->TRANSACTION_virtualUnplug:I
-Landroid/bluetooth/IBluetoothHidHost;
-Landroid/bluetooth/IBluetoothHidHost;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHidHost;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHidHost;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothHidHost;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHidHost;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothHidHost;->getIdleTime(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHidHost;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothHidHost;->getProtocolMode(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothHidHost;->getReport(Landroid/bluetooth/BluetoothDevice;BBI)Z
-Landroid/bluetooth/IBluetoothHidHost;->sendData(Landroid/bluetooth/BluetoothDevice;Ljava/lang/String;)Z
-Landroid/bluetooth/IBluetoothHidHost;->setIdleTime(Landroid/bluetooth/BluetoothDevice;B)Z
-Landroid/bluetooth/IBluetoothHidHost;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothHidHost;->setProtocolMode(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothHidHost;->setReport(Landroid/bluetooth/BluetoothDevice;BLjava/lang/String;)Z
-Landroid/bluetooth/IBluetoothHidHost;->virtualUnplug(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothManager$Stub$Proxy;
-Landroid/bluetooth/IBluetoothManager$Stub$Proxy;->bindBluetoothProfileService(ILandroid/bluetooth/IBluetoothProfileServiceConnection;)Z
-Landroid/bluetooth/IBluetoothManager$Stub$Proxy;->disable(Ljava/lang/String;Z)Z
-Landroid/bluetooth/IBluetoothManager$Stub$Proxy;->enable(Ljava/lang/String;)Z
-Landroid/bluetooth/IBluetoothManager$Stub$Proxy;->enableNoAutoConnect(Ljava/lang/String;)Z
-Landroid/bluetooth/IBluetoothManager$Stub$Proxy;->getAddress()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothManager$Stub$Proxy;->getBluetoothGatt()Landroid/bluetooth/IBluetoothGatt;
-Landroid/bluetooth/IBluetoothManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothManager$Stub$Proxy;->getName()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothManager$Stub$Proxy;->getState()I
-Landroid/bluetooth/IBluetoothManager$Stub$Proxy;->isBleAppPresent()Z
-Landroid/bluetooth/IBluetoothManager$Stub$Proxy;->isBleScanAlwaysAvailable()Z
-Landroid/bluetooth/IBluetoothManager$Stub$Proxy;->isEnabled()Z
-Landroid/bluetooth/IBluetoothManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothManager$Stub$Proxy;->registerAdapter(Landroid/bluetooth/IBluetoothManagerCallback;)Landroid/bluetooth/IBluetooth;
-Landroid/bluetooth/IBluetoothManager$Stub$Proxy;->registerStateChangeCallback(Landroid/bluetooth/IBluetoothStateChangeCallback;)V
-Landroid/bluetooth/IBluetoothManager$Stub$Proxy;->unbindBluetoothProfileService(ILandroid/bluetooth/IBluetoothProfileServiceConnection;)V
-Landroid/bluetooth/IBluetoothManager$Stub$Proxy;->unregisterAdapter(Landroid/bluetooth/IBluetoothManagerCallback;)V
-Landroid/bluetooth/IBluetoothManager$Stub$Proxy;->unregisterStateChangeCallback(Landroid/bluetooth/IBluetoothStateChangeCallback;)V
-Landroid/bluetooth/IBluetoothManager$Stub$Proxy;->updateBleAppCount(Landroid/os/IBinder;ZLjava/lang/String;)I
-Landroid/bluetooth/IBluetoothManager$Stub;
-Landroid/bluetooth/IBluetoothManager$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothManager$Stub;->TRANSACTION_bindBluetoothProfileService:I
-Landroid/bluetooth/IBluetoothManager$Stub;->TRANSACTION_disable:I
-Landroid/bluetooth/IBluetoothManager$Stub;->TRANSACTION_enableNoAutoConnect:I
-Landroid/bluetooth/IBluetoothManager$Stub;->TRANSACTION_getAddress:I
-Landroid/bluetooth/IBluetoothManager$Stub;->TRANSACTION_getBluetoothGatt:I
-Landroid/bluetooth/IBluetoothManager$Stub;->TRANSACTION_getName:I
-Landroid/bluetooth/IBluetoothManager$Stub;->TRANSACTION_getState:I
-Landroid/bluetooth/IBluetoothManager$Stub;->TRANSACTION_isBleAppPresent:I
-Landroid/bluetooth/IBluetoothManager$Stub;->TRANSACTION_isBleScanAlwaysAvailable:I
-Landroid/bluetooth/IBluetoothManager$Stub;->TRANSACTION_isEnabled:I
-Landroid/bluetooth/IBluetoothManager$Stub;->TRANSACTION_registerAdapter:I
-Landroid/bluetooth/IBluetoothManager$Stub;->TRANSACTION_registerStateChangeCallback:I
-Landroid/bluetooth/IBluetoothManager$Stub;->TRANSACTION_unbindBluetoothProfileService:I
-Landroid/bluetooth/IBluetoothManager$Stub;->TRANSACTION_unregisterAdapter:I
-Landroid/bluetooth/IBluetoothManager$Stub;->TRANSACTION_unregisterStateChangeCallback:I
-Landroid/bluetooth/IBluetoothManager$Stub;->TRANSACTION_updateBleAppCount:I
-Landroid/bluetooth/IBluetoothManager;
-Landroid/bluetooth/IBluetoothManager;->bindBluetoothProfileService(ILandroid/bluetooth/IBluetoothProfileServiceConnection;)Z
-Landroid/bluetooth/IBluetoothManager;->disable(Ljava/lang/String;Z)Z
-Landroid/bluetooth/IBluetoothManager;->enable(Ljava/lang/String;)Z
-Landroid/bluetooth/IBluetoothManager;->enableNoAutoConnect(Ljava/lang/String;)Z
-Landroid/bluetooth/IBluetoothManager;->getAddress()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothManager;->getName()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothManager;->getState()I
-Landroid/bluetooth/IBluetoothManager;->isBleAppPresent()Z
-Landroid/bluetooth/IBluetoothManager;->isBleScanAlwaysAvailable()Z
-Landroid/bluetooth/IBluetoothManager;->isEnabled()Z
-Landroid/bluetooth/IBluetoothManager;->registerAdapter(Landroid/bluetooth/IBluetoothManagerCallback;)Landroid/bluetooth/IBluetooth;
-Landroid/bluetooth/IBluetoothManager;->unbindBluetoothProfileService(ILandroid/bluetooth/IBluetoothProfileServiceConnection;)V
-Landroid/bluetooth/IBluetoothManager;->unregisterAdapter(Landroid/bluetooth/IBluetoothManagerCallback;)V
-Landroid/bluetooth/IBluetoothManager;->updateBleAppCount(Landroid/os/IBinder;ZLjava/lang/String;)I
-Landroid/bluetooth/IBluetoothManagerCallback$Stub$Proxy;
-Landroid/bluetooth/IBluetoothManagerCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothManagerCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothManagerCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothManagerCallback$Stub$Proxy;->onBluetoothServiceDown()V
-Landroid/bluetooth/IBluetoothManagerCallback$Stub$Proxy;->onBluetoothServiceUp(Landroid/bluetooth/IBluetooth;)V
-Landroid/bluetooth/IBluetoothManagerCallback$Stub$Proxy;->onBrEdrDown()V
-Landroid/bluetooth/IBluetoothManagerCallback$Stub;
-Landroid/bluetooth/IBluetoothManagerCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothManagerCallback;
-Landroid/bluetooth/IBluetoothManagerCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothManagerCallback$Stub;->TRANSACTION_onBluetoothServiceDown:I
-Landroid/bluetooth/IBluetoothManagerCallback$Stub;->TRANSACTION_onBluetoothServiceUp:I
-Landroid/bluetooth/IBluetoothManagerCallback$Stub;->TRANSACTION_onBrEdrDown:I
-Landroid/bluetooth/IBluetoothManagerCallback;
-Landroid/bluetooth/IBluetoothManagerCallback;->onBluetoothServiceDown()V
-Landroid/bluetooth/IBluetoothManagerCallback;->onBluetoothServiceUp(Landroid/bluetooth/IBluetooth;)V
-Landroid/bluetooth/IBluetoothManagerCallback;->onBrEdrDown()V
-Landroid/bluetooth/IBluetoothMap$Stub$Proxy;
-Landroid/bluetooth/IBluetoothMap$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothMap$Stub$Proxy;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothMap$Stub$Proxy;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothMap$Stub$Proxy;->getClient()Landroid/bluetooth/BluetoothDevice;
-Landroid/bluetooth/IBluetoothMap$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothMap$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothMap$Stub$Proxy;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothMap$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothMap$Stub$Proxy;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothMap$Stub$Proxy;->getState()I
-Landroid/bluetooth/IBluetoothMap$Stub$Proxy;->isConnected(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothMap$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothMap$Stub$Proxy;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothMap$Stub;
-Landroid/bluetooth/IBluetoothMap$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothMap$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothMap;
-Landroid/bluetooth/IBluetoothMap$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothMap$Stub;->TRANSACTION_connect:I
-Landroid/bluetooth/IBluetoothMap$Stub;->TRANSACTION_disconnect:I
-Landroid/bluetooth/IBluetoothMap$Stub;->TRANSACTION_getClient:I
-Landroid/bluetooth/IBluetoothMap$Stub;->TRANSACTION_getConnectedDevices:I
-Landroid/bluetooth/IBluetoothMap$Stub;->TRANSACTION_getConnectionState:I
-Landroid/bluetooth/IBluetoothMap$Stub;->TRANSACTION_getDevicesMatchingConnectionStates:I
-Landroid/bluetooth/IBluetoothMap$Stub;->TRANSACTION_getPriority:I
-Landroid/bluetooth/IBluetoothMap$Stub;->TRANSACTION_getState:I
-Landroid/bluetooth/IBluetoothMap$Stub;->TRANSACTION_isConnected:I
-Landroid/bluetooth/IBluetoothMap$Stub;->TRANSACTION_setPriority:I
-Landroid/bluetooth/IBluetoothMap;
-Landroid/bluetooth/IBluetoothMap;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothMap;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothMap;->getClient()Landroid/bluetooth/BluetoothDevice;
-Landroid/bluetooth/IBluetoothMap;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothMap;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothMap;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothMap;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothMap;->getState()I
-Landroid/bluetooth/IBluetoothMap;->isConnected(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothMap;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothMapClient$Stub$Proxy;
-Landroid/bluetooth/IBluetoothMapClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothMapClient$Stub$Proxy;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothMapClient$Stub$Proxy;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothMapClient$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothMapClient$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothMapClient$Stub$Proxy;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothMapClient$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothMapClient$Stub$Proxy;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothMapClient$Stub$Proxy;->getUnreadMessages(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothMapClient$Stub$Proxy;->isConnected(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothMapClient$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothMapClient$Stub$Proxy;->sendMessage(Landroid/bluetooth/BluetoothDevice;[Landroid/net/Uri;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;)Z
-Landroid/bluetooth/IBluetoothMapClient$Stub$Proxy;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothMapClient$Stub;
-Landroid/bluetooth/IBluetoothMapClient$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothMapClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothMapClient;
-Landroid/bluetooth/IBluetoothMapClient$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothMapClient$Stub;->TRANSACTION_connect:I
-Landroid/bluetooth/IBluetoothMapClient$Stub;->TRANSACTION_disconnect:I
-Landroid/bluetooth/IBluetoothMapClient$Stub;->TRANSACTION_getConnectedDevices:I
-Landroid/bluetooth/IBluetoothMapClient$Stub;->TRANSACTION_getConnectionState:I
-Landroid/bluetooth/IBluetoothMapClient$Stub;->TRANSACTION_getDevicesMatchingConnectionStates:I
-Landroid/bluetooth/IBluetoothMapClient$Stub;->TRANSACTION_getPriority:I
-Landroid/bluetooth/IBluetoothMapClient$Stub;->TRANSACTION_getUnreadMessages:I
-Landroid/bluetooth/IBluetoothMapClient$Stub;->TRANSACTION_isConnected:I
-Landroid/bluetooth/IBluetoothMapClient$Stub;->TRANSACTION_sendMessage:I
-Landroid/bluetooth/IBluetoothMapClient$Stub;->TRANSACTION_setPriority:I
-Landroid/bluetooth/IBluetoothMapClient;
-Landroid/bluetooth/IBluetoothMapClient;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothMapClient;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothMapClient;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothMapClient;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothMapClient;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothMapClient;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothMapClient;->getUnreadMessages(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothMapClient;->isConnected(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothMapClient;->sendMessage(Landroid/bluetooth/BluetoothDevice;[Landroid/net/Uri;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;)Z
-Landroid/bluetooth/IBluetoothMapClient;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothPan$Stub$Proxy;
-Landroid/bluetooth/IBluetoothPan$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothPan$Stub$Proxy;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothPan$Stub$Proxy;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothPan$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothPan$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothPan$Stub$Proxy;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothPan$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothPan$Stub$Proxy;->isTetheringOn()Z
-Landroid/bluetooth/IBluetoothPan$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothPan$Stub$Proxy;->setBluetoothTethering(Z)V
-Landroid/bluetooth/IBluetoothPan$Stub;
-Landroid/bluetooth/IBluetoothPan$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothPan$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothPan;
-Landroid/bluetooth/IBluetoothPan$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothPan$Stub;->TRANSACTION_connect:I
-Landroid/bluetooth/IBluetoothPan$Stub;->TRANSACTION_disconnect:I
-Landroid/bluetooth/IBluetoothPan$Stub;->TRANSACTION_getConnectedDevices:I
-Landroid/bluetooth/IBluetoothPan$Stub;->TRANSACTION_getConnectionState:I
-Landroid/bluetooth/IBluetoothPan$Stub;->TRANSACTION_getDevicesMatchingConnectionStates:I
-Landroid/bluetooth/IBluetoothPan$Stub;->TRANSACTION_isTetheringOn:I
-Landroid/bluetooth/IBluetoothPan$Stub;->TRANSACTION_setBluetoothTethering:I
-Landroid/bluetooth/IBluetoothPan;
-Landroid/bluetooth/IBluetoothPan;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothPan;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothPan;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothPan;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothPan;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothPan;->isTetheringOn()Z
-Landroid/bluetooth/IBluetoothPan;->setBluetoothTethering(Z)V
-Landroid/bluetooth/IBluetoothPbap$Stub$Proxy;
-Landroid/bluetooth/IBluetoothPbap$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothPbap$Stub$Proxy;->disconnect(Landroid/bluetooth/BluetoothDevice;)V
-Landroid/bluetooth/IBluetoothPbap$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothPbap$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothPbap$Stub$Proxy;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothPbap$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothPbap$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothPbap$Stub;
-Landroid/bluetooth/IBluetoothPbap$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothPbap$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothPbap$Stub;->TRANSACTION_disconnect:I
-Landroid/bluetooth/IBluetoothPbap$Stub;->TRANSACTION_getConnectedDevices:I
-Landroid/bluetooth/IBluetoothPbap$Stub;->TRANSACTION_getConnectionState:I
-Landroid/bluetooth/IBluetoothPbap$Stub;->TRANSACTION_getDevicesMatchingConnectionStates:I
-Landroid/bluetooth/IBluetoothPbap;
-Landroid/bluetooth/IBluetoothPbap;->disconnect(Landroid/bluetooth/BluetoothDevice;)V
-Landroid/bluetooth/IBluetoothPbap;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothPbap;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothPbap;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothPbapClient$Stub$Proxy;
-Landroid/bluetooth/IBluetoothPbapClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothPbapClient$Stub$Proxy;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothPbapClient$Stub$Proxy;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothPbapClient$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothPbapClient$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothPbapClient$Stub$Proxy;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothPbapClient$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothPbapClient$Stub$Proxy;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothPbapClient$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothPbapClient$Stub$Proxy;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothPbapClient$Stub;
-Landroid/bluetooth/IBluetoothPbapClient$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothPbapClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothPbapClient;
-Landroid/bluetooth/IBluetoothPbapClient$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothPbapClient$Stub;->TRANSACTION_connect:I
-Landroid/bluetooth/IBluetoothPbapClient$Stub;->TRANSACTION_disconnect:I
-Landroid/bluetooth/IBluetoothPbapClient$Stub;->TRANSACTION_getConnectedDevices:I
-Landroid/bluetooth/IBluetoothPbapClient$Stub;->TRANSACTION_getConnectionState:I
-Landroid/bluetooth/IBluetoothPbapClient$Stub;->TRANSACTION_getDevicesMatchingConnectionStates:I
-Landroid/bluetooth/IBluetoothPbapClient$Stub;->TRANSACTION_getPriority:I
-Landroid/bluetooth/IBluetoothPbapClient$Stub;->TRANSACTION_setPriority:I
-Landroid/bluetooth/IBluetoothPbapClient;
-Landroid/bluetooth/IBluetoothPbapClient;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothPbapClient;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothPbapClient;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothPbapClient;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothPbapClient;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothPbapClient;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothPbapClient;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothProfileServiceConnection$Stub$Proxy;
-Landroid/bluetooth/IBluetoothProfileServiceConnection$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothProfileServiceConnection$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothProfileServiceConnection$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothProfileServiceConnection$Stub$Proxy;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothProfileServiceConnection$Stub$Proxy;->onServiceDisconnected(Landroid/content/ComponentName;)V
-Landroid/bluetooth/IBluetoothProfileServiceConnection$Stub;
-Landroid/bluetooth/IBluetoothProfileServiceConnection$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothProfileServiceConnection$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothProfileServiceConnection;
-Landroid/bluetooth/IBluetoothProfileServiceConnection$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothProfileServiceConnection$Stub;->TRANSACTION_onServiceConnected:I
-Landroid/bluetooth/IBluetoothProfileServiceConnection$Stub;->TRANSACTION_onServiceDisconnected:I
-Landroid/bluetooth/IBluetoothProfileServiceConnection;
-Landroid/bluetooth/IBluetoothProfileServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothProfileServiceConnection;->onServiceDisconnected(Landroid/content/ComponentName;)V
-Landroid/bluetooth/IBluetoothSap$Stub$Proxy;
-Landroid/bluetooth/IBluetoothSap$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothSap$Stub$Proxy;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothSap$Stub$Proxy;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothSap$Stub$Proxy;->getClient()Landroid/bluetooth/BluetoothDevice;
-Landroid/bluetooth/IBluetoothSap$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothSap$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothSap$Stub$Proxy;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothSap$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothSap$Stub$Proxy;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothSap$Stub$Proxy;->getState()I
-Landroid/bluetooth/IBluetoothSap$Stub$Proxy;->isConnected(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothSap$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothSap$Stub$Proxy;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothSap$Stub;
-Landroid/bluetooth/IBluetoothSap$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothSap$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothSap;
-Landroid/bluetooth/IBluetoothSap$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothSap$Stub;->TRANSACTION_connect:I
-Landroid/bluetooth/IBluetoothSap$Stub;->TRANSACTION_disconnect:I
-Landroid/bluetooth/IBluetoothSap$Stub;->TRANSACTION_getClient:I
-Landroid/bluetooth/IBluetoothSap$Stub;->TRANSACTION_getConnectedDevices:I
-Landroid/bluetooth/IBluetoothSap$Stub;->TRANSACTION_getConnectionState:I
-Landroid/bluetooth/IBluetoothSap$Stub;->TRANSACTION_getDevicesMatchingConnectionStates:I
-Landroid/bluetooth/IBluetoothSap$Stub;->TRANSACTION_getPriority:I
-Landroid/bluetooth/IBluetoothSap$Stub;->TRANSACTION_getState:I
-Landroid/bluetooth/IBluetoothSap$Stub;->TRANSACTION_isConnected:I
-Landroid/bluetooth/IBluetoothSap$Stub;->TRANSACTION_setPriority:I
-Landroid/bluetooth/IBluetoothSap;
-Landroid/bluetooth/IBluetoothSap;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothSap;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothSap;->getClient()Landroid/bluetooth/BluetoothDevice;
-Landroid/bluetooth/IBluetoothSap;->getConnectedDevices()Ljava/util/List;
-Landroid/bluetooth/IBluetoothSap;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothSap;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-Landroid/bluetooth/IBluetoothSap;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-Landroid/bluetooth/IBluetoothSap;->getState()I
-Landroid/bluetooth/IBluetoothSap;->isConnected(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/bluetooth/IBluetoothSap;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-Landroid/bluetooth/IBluetoothSocketManager$Stub$Proxy;
-Landroid/bluetooth/IBluetoothSocketManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothSocketManager$Stub$Proxy;->connectSocket(Landroid/bluetooth/BluetoothDevice;ILandroid/os/ParcelUuid;II)Landroid/os/ParcelFileDescriptor;
-Landroid/bluetooth/IBluetoothSocketManager$Stub$Proxy;->createSocketChannel(ILjava/lang/String;Landroid/os/ParcelUuid;II)Landroid/os/ParcelFileDescriptor;
-Landroid/bluetooth/IBluetoothSocketManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothSocketManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothSocketManager$Stub$Proxy;->requestMaximumTxDataLength(Landroid/bluetooth/BluetoothDevice;)V
-Landroid/bluetooth/IBluetoothSocketManager$Stub;
-Landroid/bluetooth/IBluetoothSocketManager$Stub;-><init>()V
-Landroid/bluetooth/IBluetoothSocketManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothSocketManager;
-Landroid/bluetooth/IBluetoothSocketManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothSocketManager$Stub;->TRANSACTION_connectSocket:I
-Landroid/bluetooth/IBluetoothSocketManager$Stub;->TRANSACTION_createSocketChannel:I
-Landroid/bluetooth/IBluetoothSocketManager$Stub;->TRANSACTION_requestMaximumTxDataLength:I
-Landroid/bluetooth/IBluetoothSocketManager;
-Landroid/bluetooth/IBluetoothSocketManager;->connectSocket(Landroid/bluetooth/BluetoothDevice;ILandroid/os/ParcelUuid;II)Landroid/os/ParcelFileDescriptor;
-Landroid/bluetooth/IBluetoothSocketManager;->createSocketChannel(ILjava/lang/String;Landroid/os/ParcelUuid;II)Landroid/os/ParcelFileDescriptor;
-Landroid/bluetooth/IBluetoothSocketManager;->requestMaximumTxDataLength(Landroid/bluetooth/BluetoothDevice;)V
-Landroid/bluetooth/IBluetoothStateChangeCallback$Stub$Proxy;
-Landroid/bluetooth/IBluetoothStateChangeCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/IBluetoothStateChangeCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/IBluetoothStateChangeCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/IBluetoothStateChangeCallback$Stub$Proxy;->onBluetoothStateChange(Z)V
-Landroid/bluetooth/IBluetoothStateChangeCallback$Stub;
-Landroid/bluetooth/IBluetoothStateChangeCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothStateChangeCallback;
-Landroid/bluetooth/IBluetoothStateChangeCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/IBluetoothStateChangeCallback$Stub;->TRANSACTION_onBluetoothStateChange:I
-Landroid/bluetooth/IBluetoothStateChangeCallback;
-Landroid/bluetooth/IBluetoothStateChangeCallback;->onBluetoothStateChange(Z)V
-Landroid/bluetooth/le/AdvertiseCallback;->ADVERTISE_SUCCESS:I
-Landroid/bluetooth/le/AdvertiseData$Builder;->mIncludeDeviceName:Z
-Landroid/bluetooth/le/AdvertiseData$Builder;->mIncludeTxPowerLevel:Z
-Landroid/bluetooth/le/AdvertiseData$Builder;->mManufacturerSpecificData:Landroid/util/SparseArray;
-Landroid/bluetooth/le/AdvertiseData$Builder;->mServiceData:Ljava/util/Map;
-Landroid/bluetooth/le/AdvertiseData$Builder;->mServiceUuids:Ljava/util/List;
-Landroid/bluetooth/le/AdvertiseData;-><init>(Ljava/util/List;Landroid/util/SparseArray;Ljava/util/Map;ZZ)V
-Landroid/bluetooth/le/AdvertiseData;->mIncludeDeviceName:Z
-Landroid/bluetooth/le/AdvertiseData;->mIncludeTxPowerLevel:Z
-Landroid/bluetooth/le/AdvertiseData;->mManufacturerSpecificData:Landroid/util/SparseArray;
-Landroid/bluetooth/le/AdvertiseData;->mServiceData:Ljava/util/Map;
-Landroid/bluetooth/le/AdvertiseData;->mServiceUuids:Ljava/util/List;
-Landroid/bluetooth/le/AdvertiseSettings$Builder;->mConnectable:Z
-Landroid/bluetooth/le/AdvertiseSettings$Builder;->mMode:I
-Landroid/bluetooth/le/AdvertiseSettings$Builder;->mTimeoutMillis:I
-Landroid/bluetooth/le/AdvertiseSettings$Builder;->mTxPowerLevel:I
-Landroid/bluetooth/le/AdvertiseSettings;-><init>(IIZI)V
-Landroid/bluetooth/le/AdvertiseSettings;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/le/AdvertiseSettings;->LIMITED_ADVERTISING_MAX_MILLIS:I
-Landroid/bluetooth/le/AdvertiseSettings;->mAdvertiseConnectable:Z
-Landroid/bluetooth/le/AdvertiseSettings;->mAdvertiseMode:I
-Landroid/bluetooth/le/AdvertiseSettings;->mAdvertiseTimeoutMillis:I
-Landroid/bluetooth/le/AdvertiseSettings;->mAdvertiseTxPowerLevel:I
-Landroid/bluetooth/le/AdvertisingSet;-><init>(ILandroid/bluetooth/IBluetoothManager;)V
-Landroid/bluetooth/le/AdvertisingSet;->getAdvertiserId()I
-Landroid/bluetooth/le/AdvertisingSet;->getOwnAddress()V
-Landroid/bluetooth/le/AdvertisingSet;->mAdvertiserId:I
-Landroid/bluetooth/le/AdvertisingSet;->mGatt:Landroid/bluetooth/IBluetoothGatt;
-Landroid/bluetooth/le/AdvertisingSet;->setAdvertiserId(I)V
-Landroid/bluetooth/le/AdvertisingSet;->TAG:Ljava/lang/String;
-Landroid/bluetooth/le/AdvertisingSetCallback;->onOwnAddressRead(Landroid/bluetooth/le/AdvertisingSet;ILjava/lang/String;)V
-Landroid/bluetooth/le/AdvertisingSetParameters$Builder;->mConnectable:Z
-Landroid/bluetooth/le/AdvertisingSetParameters$Builder;->mIncludeTxPower:Z
-Landroid/bluetooth/le/AdvertisingSetParameters$Builder;->mInterval:I
-Landroid/bluetooth/le/AdvertisingSetParameters$Builder;->mIsAnonymous:Z
-Landroid/bluetooth/le/AdvertisingSetParameters$Builder;->mIsLegacy:Z
-Landroid/bluetooth/le/AdvertisingSetParameters$Builder;->mPrimaryPhy:I
-Landroid/bluetooth/le/AdvertisingSetParameters$Builder;->mScannable:Z
-Landroid/bluetooth/le/AdvertisingSetParameters$Builder;->mSecondaryPhy:I
-Landroid/bluetooth/le/AdvertisingSetParameters$Builder;->mTxPowerLevel:I
-Landroid/bluetooth/le/AdvertisingSetParameters;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/le/AdvertisingSetParameters;-><init>(ZZZZZIIII)V
-Landroid/bluetooth/le/AdvertisingSetParameters;->LIMITED_ADVERTISING_MAX_MILLIS:I
-Landroid/bluetooth/le/AdvertisingSetParameters;->mConnectable:Z
-Landroid/bluetooth/le/AdvertisingSetParameters;->mIncludeTxPower:Z
-Landroid/bluetooth/le/AdvertisingSetParameters;->mInterval:I
-Landroid/bluetooth/le/AdvertisingSetParameters;->mIsAnonymous:Z
-Landroid/bluetooth/le/AdvertisingSetParameters;->mIsLegacy:Z
-Landroid/bluetooth/le/AdvertisingSetParameters;->mPrimaryPhy:I
-Landroid/bluetooth/le/AdvertisingSetParameters;->mScannable:Z
-Landroid/bluetooth/le/AdvertisingSetParameters;->mSecondaryPhy:I
-Landroid/bluetooth/le/AdvertisingSetParameters;->mTxPowerLevel:I
-Landroid/bluetooth/le/BluetoothLeAdvertiser;-><init>(Landroid/bluetooth/IBluetoothManager;)V
-Landroid/bluetooth/le/BluetoothLeAdvertiser;->byteLength([B)I
-Landroid/bluetooth/le/BluetoothLeAdvertiser;->cleanup()V
-Landroid/bluetooth/le/BluetoothLeAdvertiser;->FLAGS_FIELD_BYTES:I
-Landroid/bluetooth/le/BluetoothLeAdvertiser;->mAdvertisingSets:Ljava/util/Map;
-Landroid/bluetooth/le/BluetoothLeAdvertiser;->MANUFACTURER_SPECIFIC_DATA_LENGTH:I
-Landroid/bluetooth/le/BluetoothLeAdvertiser;->MAX_ADVERTISING_DATA_BYTES:I
-Landroid/bluetooth/le/BluetoothLeAdvertiser;->MAX_LEGACY_ADVERTISING_DATA_BYTES:I
-Landroid/bluetooth/le/BluetoothLeAdvertiser;->mBluetoothAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/le/BluetoothLeAdvertiser;->mBluetoothManager:Landroid/bluetooth/IBluetoothManager;
-Landroid/bluetooth/le/BluetoothLeAdvertiser;->mCallbackWrappers:Ljava/util/Map;
-Landroid/bluetooth/le/BluetoothLeAdvertiser;->mHandler:Landroid/os/Handler;
-Landroid/bluetooth/le/BluetoothLeAdvertiser;->mLegacyAdvertisers:Ljava/util/Map;
-Landroid/bluetooth/le/BluetoothLeAdvertiser;->OVERHEAD_BYTES_PER_FIELD:I
-Landroid/bluetooth/le/BluetoothLeAdvertiser;->postStartFailure(Landroid/bluetooth/le/AdvertiseCallback;I)V
-Landroid/bluetooth/le/BluetoothLeAdvertiser;->postStartSetFailure(Landroid/os/Handler;Landroid/bluetooth/le/AdvertisingSetCallback;I)V
-Landroid/bluetooth/le/BluetoothLeAdvertiser;->postStartSuccess(Landroid/bluetooth/le/AdvertiseCallback;Landroid/bluetooth/le/AdvertiseSettings;)V
-Landroid/bluetooth/le/BluetoothLeAdvertiser;->TAG:Ljava/lang/String;
-Landroid/bluetooth/le/BluetoothLeAdvertiser;->totalBytes(Landroid/bluetooth/le/AdvertiseData;Z)I
-Landroid/bluetooth/le/BluetoothLeAdvertiser;->wrap(Landroid/bluetooth/le/AdvertisingSetCallback;Landroid/os/Handler;)Landroid/bluetooth/le/IAdvertisingSetCallback;
-Landroid/bluetooth/le/BluetoothLeAdvertiser;->wrapOldCallback(Landroid/bluetooth/le/AdvertiseCallback;Landroid/bluetooth/le/AdvertiseSettings;)Landroid/bluetooth/le/AdvertisingSetCallback;
-Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;
-Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;-><init>(Landroid/bluetooth/IBluetoothGatt;Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/os/WorkSource;Landroid/bluetooth/le/ScanCallback;Ljava/util/List;)V
-Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->flushPendingBatchResults()V
-Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->mBluetoothGatt:Landroid/bluetooth/IBluetoothGatt;
-Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->mFilters:Ljava/util/List;
-Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->mResultStorages:Ljava/util/List;
-Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->mScanCallback:Landroid/bluetooth/le/ScanCallback;
-Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->mScannerId:I
-Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->mSettings:Landroid/bluetooth/le/ScanSettings;
-Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->mWorkSource:Landroid/os/WorkSource;
-Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->onBatchScanResults(Ljava/util/List;)V
-Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->onFoundOrLost(ZLandroid/bluetooth/le/ScanResult;)V
-Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->onScanManagerErrorCallback(I)V
-Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->onScannerRegistered(II)V
-Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->onScanResult(Landroid/bluetooth/le/ScanResult;)V
-Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->REGISTRATION_CALLBACK_TIMEOUT_MILLIS:I
-Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->startRegistration()V
-Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->stopLeScan()V
-Landroid/bluetooth/le/BluetoothLeScanner;-><init>(Landroid/bluetooth/IBluetoothManager;)V
-Landroid/bluetooth/le/BluetoothLeScanner;->cleanup()V
-Landroid/bluetooth/le/BluetoothLeScanner;->DBG:Z
-Landroid/bluetooth/le/BluetoothLeScanner;->isHardwareResourcesAvailableForScan(Landroid/bluetooth/le/ScanSettings;)Z
-Landroid/bluetooth/le/BluetoothLeScanner;->isSettingsAndFilterComboAllowed(Landroid/bluetooth/le/ScanSettings;Ljava/util/List;)Z
-Landroid/bluetooth/le/BluetoothLeScanner;->isSettingsConfigAllowedForScan(Landroid/bluetooth/le/ScanSettings;)Z
-Landroid/bluetooth/le/BluetoothLeScanner;->mBluetoothAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/le/BluetoothLeScanner;->mBluetoothManager:Landroid/bluetooth/IBluetoothManager;
-Landroid/bluetooth/le/BluetoothLeScanner;->mHandler:Landroid/os/Handler;
-Landroid/bluetooth/le/BluetoothLeScanner;->mLeScanClients:Ljava/util/Map;
-Landroid/bluetooth/le/BluetoothLeScanner;->postCallbackError(Landroid/bluetooth/le/ScanCallback;I)V
-Landroid/bluetooth/le/BluetoothLeScanner;->postCallbackErrorOrReturn(Landroid/bluetooth/le/ScanCallback;I)I
-Landroid/bluetooth/le/BluetoothLeScanner;->startScan(Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/os/WorkSource;Landroid/bluetooth/le/ScanCallback;Landroid/app/PendingIntent;Ljava/util/List;)I
-Landroid/bluetooth/le/BluetoothLeScanner;->TAG:Ljava/lang/String;
-Landroid/bluetooth/le/BluetoothLeScanner;->VDBG:Z
-Landroid/bluetooth/le/BluetoothLeUtils;
-Landroid/bluetooth/le/BluetoothLeUtils;-><init>()V
-Landroid/bluetooth/le/BluetoothLeUtils;->checkAdapterStateOn(Landroid/bluetooth/BluetoothAdapter;)V
-Landroid/bluetooth/le/BluetoothLeUtils;->equals(Landroid/util/SparseArray;Landroid/util/SparseArray;)Z
-Landroid/bluetooth/le/BluetoothLeUtils;->equals(Ljava/util/Map;Ljava/util/Map;)Z
-Landroid/bluetooth/le/BluetoothLeUtils;->toString(Landroid/util/SparseArray;)Ljava/lang/String;
-Landroid/bluetooth/le/BluetoothLeUtils;->toString(Ljava/util/Map;)Ljava/lang/String;
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub$Proxy;
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub$Proxy;->onAdvertisingDataSet(II)V
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub$Proxy;->onAdvertisingEnabled(IZI)V
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub$Proxy;->onAdvertisingParametersUpdated(III)V
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub$Proxy;->onAdvertisingSetStarted(III)V
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub$Proxy;->onAdvertisingSetStopped(I)V
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub$Proxy;->onOwnAddressRead(IILjava/lang/String;)V
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub$Proxy;->onPeriodicAdvertisingDataSet(II)V
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub$Proxy;->onPeriodicAdvertisingEnabled(IZI)V
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub$Proxy;->onPeriodicAdvertisingParametersUpdated(II)V
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub$Proxy;->onScanResponseDataSet(II)V
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub;
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub;-><init>()V
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/le/IAdvertisingSetCallback;
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub;->TRANSACTION_onAdvertisingDataSet:I
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub;->TRANSACTION_onAdvertisingEnabled:I
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub;->TRANSACTION_onAdvertisingParametersUpdated:I
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub;->TRANSACTION_onAdvertisingSetStarted:I
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub;->TRANSACTION_onAdvertisingSetStopped:I
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub;->TRANSACTION_onOwnAddressRead:I
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub;->TRANSACTION_onPeriodicAdvertisingDataSet:I
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub;->TRANSACTION_onPeriodicAdvertisingEnabled:I
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub;->TRANSACTION_onPeriodicAdvertisingParametersUpdated:I
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub;->TRANSACTION_onScanResponseDataSet:I
-Landroid/bluetooth/le/IAdvertisingSetCallback;
-Landroid/bluetooth/le/IAdvertisingSetCallback;->onAdvertisingDataSet(II)V
-Landroid/bluetooth/le/IAdvertisingSetCallback;->onAdvertisingEnabled(IZI)V
-Landroid/bluetooth/le/IAdvertisingSetCallback;->onAdvertisingParametersUpdated(III)V
-Landroid/bluetooth/le/IAdvertisingSetCallback;->onAdvertisingSetStarted(III)V
-Landroid/bluetooth/le/IAdvertisingSetCallback;->onAdvertisingSetStopped(I)V
-Landroid/bluetooth/le/IAdvertisingSetCallback;->onOwnAddressRead(IILjava/lang/String;)V
-Landroid/bluetooth/le/IAdvertisingSetCallback;->onPeriodicAdvertisingDataSet(II)V
-Landroid/bluetooth/le/IAdvertisingSetCallback;->onPeriodicAdvertisingEnabled(IZI)V
-Landroid/bluetooth/le/IAdvertisingSetCallback;->onPeriodicAdvertisingParametersUpdated(II)V
-Landroid/bluetooth/le/IAdvertisingSetCallback;->onScanResponseDataSet(II)V
-Landroid/bluetooth/le/IPeriodicAdvertisingCallback$Stub$Proxy;
-Landroid/bluetooth/le/IPeriodicAdvertisingCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/le/IPeriodicAdvertisingCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/le/IPeriodicAdvertisingCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/le/IPeriodicAdvertisingCallback$Stub$Proxy;->onPeriodicAdvertisingReport(Landroid/bluetooth/le/PeriodicAdvertisingReport;)V
-Landroid/bluetooth/le/IPeriodicAdvertisingCallback$Stub$Proxy;->onSyncEstablished(ILandroid/bluetooth/BluetoothDevice;IIII)V
-Landroid/bluetooth/le/IPeriodicAdvertisingCallback$Stub$Proxy;->onSyncLost(I)V
-Landroid/bluetooth/le/IPeriodicAdvertisingCallback$Stub;
-Landroid/bluetooth/le/IPeriodicAdvertisingCallback$Stub;-><init>()V
-Landroid/bluetooth/le/IPeriodicAdvertisingCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/le/IPeriodicAdvertisingCallback;
-Landroid/bluetooth/le/IPeriodicAdvertisingCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/le/IPeriodicAdvertisingCallback$Stub;->TRANSACTION_onPeriodicAdvertisingReport:I
-Landroid/bluetooth/le/IPeriodicAdvertisingCallback$Stub;->TRANSACTION_onSyncEstablished:I
-Landroid/bluetooth/le/IPeriodicAdvertisingCallback$Stub;->TRANSACTION_onSyncLost:I
-Landroid/bluetooth/le/IPeriodicAdvertisingCallback;
-Landroid/bluetooth/le/IPeriodicAdvertisingCallback;->onPeriodicAdvertisingReport(Landroid/bluetooth/le/PeriodicAdvertisingReport;)V
-Landroid/bluetooth/le/IPeriodicAdvertisingCallback;->onSyncEstablished(ILandroid/bluetooth/BluetoothDevice;IIII)V
-Landroid/bluetooth/le/IPeriodicAdvertisingCallback;->onSyncLost(I)V
-Landroid/bluetooth/le/IScannerCallback$Stub$Proxy;
-Landroid/bluetooth/le/IScannerCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/bluetooth/le/IScannerCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/bluetooth/le/IScannerCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/bluetooth/le/IScannerCallback$Stub$Proxy;->onBatchScanResults(Ljava/util/List;)V
-Landroid/bluetooth/le/IScannerCallback$Stub$Proxy;->onFoundOrLost(ZLandroid/bluetooth/le/ScanResult;)V
-Landroid/bluetooth/le/IScannerCallback$Stub$Proxy;->onScanManagerErrorCallback(I)V
-Landroid/bluetooth/le/IScannerCallback$Stub$Proxy;->onScannerRegistered(II)V
-Landroid/bluetooth/le/IScannerCallback$Stub$Proxy;->onScanResult(Landroid/bluetooth/le/ScanResult;)V
-Landroid/bluetooth/le/IScannerCallback$Stub;
-Landroid/bluetooth/le/IScannerCallback$Stub;-><init>()V
-Landroid/bluetooth/le/IScannerCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/le/IScannerCallback;
-Landroid/bluetooth/le/IScannerCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/bluetooth/le/IScannerCallback$Stub;->TRANSACTION_onBatchScanResults:I
-Landroid/bluetooth/le/IScannerCallback$Stub;->TRANSACTION_onFoundOrLost:I
-Landroid/bluetooth/le/IScannerCallback$Stub;->TRANSACTION_onScanManagerErrorCallback:I
-Landroid/bluetooth/le/IScannerCallback$Stub;->TRANSACTION_onScannerRegistered:I
-Landroid/bluetooth/le/IScannerCallback$Stub;->TRANSACTION_onScanResult:I
-Landroid/bluetooth/le/IScannerCallback;
-Landroid/bluetooth/le/IScannerCallback;->onBatchScanResults(Ljava/util/List;)V
-Landroid/bluetooth/le/IScannerCallback;->onFoundOrLost(ZLandroid/bluetooth/le/ScanResult;)V
-Landroid/bluetooth/le/IScannerCallback;->onScanManagerErrorCallback(I)V
-Landroid/bluetooth/le/IScannerCallback;->onScannerRegistered(II)V
-Landroid/bluetooth/le/IScannerCallback;->onScanResult(Landroid/bluetooth/le/ScanResult;)V
-Landroid/bluetooth/le/PeriodicAdvertisingCallback;
-Landroid/bluetooth/le/PeriodicAdvertisingCallback;-><init>()V
-Landroid/bluetooth/le/PeriodicAdvertisingCallback;->onPeriodicAdvertisingReport(Landroid/bluetooth/le/PeriodicAdvertisingReport;)V
-Landroid/bluetooth/le/PeriodicAdvertisingCallback;->onSyncEstablished(ILandroid/bluetooth/BluetoothDevice;IIII)V
-Landroid/bluetooth/le/PeriodicAdvertisingCallback;->onSyncLost(I)V
-Landroid/bluetooth/le/PeriodicAdvertisingCallback;->SYNC_NO_RESOURCES:I
-Landroid/bluetooth/le/PeriodicAdvertisingCallback;->SYNC_NO_RESPONSE:I
-Landroid/bluetooth/le/PeriodicAdvertisingCallback;->SYNC_SUCCESS:I
-Landroid/bluetooth/le/PeriodicAdvertisingManager;
-Landroid/bluetooth/le/PeriodicAdvertisingManager;-><init>(Landroid/bluetooth/IBluetoothManager;)V
-Landroid/bluetooth/le/PeriodicAdvertisingManager;->mBluetoothAdapter:Landroid/bluetooth/BluetoothAdapter;
-Landroid/bluetooth/le/PeriodicAdvertisingManager;->mBluetoothManager:Landroid/bluetooth/IBluetoothManager;
-Landroid/bluetooth/le/PeriodicAdvertisingManager;->mCallbackWrappers:Ljava/util/Map;
-Landroid/bluetooth/le/PeriodicAdvertisingManager;->registerSync(Landroid/bluetooth/le/ScanResult;IILandroid/bluetooth/le/PeriodicAdvertisingCallback;)V
-Landroid/bluetooth/le/PeriodicAdvertisingManager;->registerSync(Landroid/bluetooth/le/ScanResult;IILandroid/bluetooth/le/PeriodicAdvertisingCallback;Landroid/os/Handler;)V
-Landroid/bluetooth/le/PeriodicAdvertisingManager;->SKIP_MAX:I
-Landroid/bluetooth/le/PeriodicAdvertisingManager;->SKIP_MIN:I
-Landroid/bluetooth/le/PeriodicAdvertisingManager;->SYNC_STARTING:I
-Landroid/bluetooth/le/PeriodicAdvertisingManager;->TAG:Ljava/lang/String;
-Landroid/bluetooth/le/PeriodicAdvertisingManager;->TIMEOUT_MAX:I
-Landroid/bluetooth/le/PeriodicAdvertisingManager;->TIMEOUT_MIN:I
-Landroid/bluetooth/le/PeriodicAdvertisingManager;->unregisterSync(Landroid/bluetooth/le/PeriodicAdvertisingCallback;)V
-Landroid/bluetooth/le/PeriodicAdvertisingManager;->wrap(Landroid/bluetooth/le/PeriodicAdvertisingCallback;Landroid/os/Handler;)Landroid/bluetooth/le/IPeriodicAdvertisingCallback;
-Landroid/bluetooth/le/PeriodicAdvertisingParameters$Builder;->mIncludeTxPower:Z
-Landroid/bluetooth/le/PeriodicAdvertisingParameters$Builder;->mInterval:I
-Landroid/bluetooth/le/PeriodicAdvertisingParameters;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/le/PeriodicAdvertisingParameters;-><init>(ZI)V
-Landroid/bluetooth/le/PeriodicAdvertisingParameters;->INTERVAL_MAX:I
-Landroid/bluetooth/le/PeriodicAdvertisingParameters;->INTERVAL_MIN:I
-Landroid/bluetooth/le/PeriodicAdvertisingParameters;->mIncludeTxPower:Z
-Landroid/bluetooth/le/PeriodicAdvertisingParameters;->mInterval:I
-Landroid/bluetooth/le/PeriodicAdvertisingReport;
-Landroid/bluetooth/le/PeriodicAdvertisingReport;-><init>(IIIILandroid/bluetooth/le/ScanRecord;)V
-Landroid/bluetooth/le/PeriodicAdvertisingReport;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/le/PeriodicAdvertisingReport;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/bluetooth/le/PeriodicAdvertisingReport;->DATA_COMPLETE:I
-Landroid/bluetooth/le/PeriodicAdvertisingReport;->DATA_INCOMPLETE_TRUNCATED:I
-Landroid/bluetooth/le/PeriodicAdvertisingReport;->getData()Landroid/bluetooth/le/ScanRecord;
-Landroid/bluetooth/le/PeriodicAdvertisingReport;->getDataStatus()I
-Landroid/bluetooth/le/PeriodicAdvertisingReport;->getRssi()I
-Landroid/bluetooth/le/PeriodicAdvertisingReport;->getSyncHandle()I
-Landroid/bluetooth/le/PeriodicAdvertisingReport;->getTimestampNanos()J
-Landroid/bluetooth/le/PeriodicAdvertisingReport;->getTxPower()I
-Landroid/bluetooth/le/PeriodicAdvertisingReport;->mData:Landroid/bluetooth/le/ScanRecord;
-Landroid/bluetooth/le/PeriodicAdvertisingReport;->mDataStatus:I
-Landroid/bluetooth/le/PeriodicAdvertisingReport;->mRssi:I
-Landroid/bluetooth/le/PeriodicAdvertisingReport;->mSyncHandle:I
-Landroid/bluetooth/le/PeriodicAdvertisingReport;->mTimestampNanos:J
-Landroid/bluetooth/le/PeriodicAdvertisingReport;->mTxPower:I
-Landroid/bluetooth/le/PeriodicAdvertisingReport;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/bluetooth/le/ResultStorageDescriptor;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/le/ResultStorageDescriptor;->mLength:I
-Landroid/bluetooth/le/ResultStorageDescriptor;->mOffset:I
-Landroid/bluetooth/le/ResultStorageDescriptor;->mType:I
-Landroid/bluetooth/le/ResultStorageDescriptor;->ReadFromParcel(Landroid/os/Parcel;)V
-Landroid/bluetooth/le/ScanCallback;->NO_ERROR:I
-Landroid/bluetooth/le/ScanCallback;->SCAN_FAILED_OUT_OF_HARDWARE_RESOURCES:I
-Landroid/bluetooth/le/ScanCallback;->SCAN_FAILED_SCANNING_TOO_FREQUENTLY:I
-Landroid/bluetooth/le/ScanFilter$Builder;->mDeviceAddress:Ljava/lang/String;
-Landroid/bluetooth/le/ScanFilter$Builder;->mDeviceName:Ljava/lang/String;
-Landroid/bluetooth/le/ScanFilter$Builder;->mManufacturerData:[B
-Landroid/bluetooth/le/ScanFilter$Builder;->mManufacturerDataMask:[B
-Landroid/bluetooth/le/ScanFilter$Builder;->mManufacturerId:I
-Landroid/bluetooth/le/ScanFilter$Builder;->mServiceData:[B
-Landroid/bluetooth/le/ScanFilter$Builder;->mServiceDataMask:[B
-Landroid/bluetooth/le/ScanFilter$Builder;->mServiceDataUuid:Landroid/os/ParcelUuid;
-Landroid/bluetooth/le/ScanFilter$Builder;->mServiceUuid:Landroid/os/ParcelUuid;
-Landroid/bluetooth/le/ScanFilter$Builder;->mUuidMask:Landroid/os/ParcelUuid;
-Landroid/bluetooth/le/ScanFilter;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;[B[BI[B[B)V
-Landroid/bluetooth/le/ScanFilter;->EMPTY:Landroid/bluetooth/le/ScanFilter;
-Landroid/bluetooth/le/ScanFilter;->isAllFieldsEmpty()Z
-Landroid/bluetooth/le/ScanFilter;->matchesPartialData([B[B[B)Z
-Landroid/bluetooth/le/ScanFilter;->matchesServiceUuid(Ljava/util/UUID;Ljava/util/UUID;Ljava/util/UUID;)Z
-Landroid/bluetooth/le/ScanFilter;->matchesServiceUuids(Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;Ljava/util/List;)Z
-Landroid/bluetooth/le/ScanFilter;->mDeviceAddress:Ljava/lang/String;
-Landroid/bluetooth/le/ScanFilter;->mDeviceName:Ljava/lang/String;
-Landroid/bluetooth/le/ScanFilter;->mManufacturerData:[B
-Landroid/bluetooth/le/ScanFilter;->mManufacturerDataMask:[B
-Landroid/bluetooth/le/ScanFilter;->mManufacturerId:I
-Landroid/bluetooth/le/ScanFilter;->mServiceData:[B
-Landroid/bluetooth/le/ScanFilter;->mServiceDataMask:[B
-Landroid/bluetooth/le/ScanFilter;->mServiceDataUuid:Landroid/os/ParcelUuid;
-Landroid/bluetooth/le/ScanFilter;->mServiceUuid:Landroid/os/ParcelUuid;
-Landroid/bluetooth/le/ScanFilter;->mServiceUuidMask:Landroid/os/ParcelUuid;
-Landroid/bluetooth/le/ScanRecord;-><init>(Ljava/util/List;Landroid/util/SparseArray;Ljava/util/Map;IILjava/lang/String;[B)V
-Landroid/bluetooth/le/ScanRecord;->DATA_TYPE_FLAGS:I
-Landroid/bluetooth/le/ScanRecord;->DATA_TYPE_LOCAL_NAME_COMPLETE:I
-Landroid/bluetooth/le/ScanRecord;->DATA_TYPE_LOCAL_NAME_SHORT:I
-Landroid/bluetooth/le/ScanRecord;->DATA_TYPE_MANUFACTURER_SPECIFIC_DATA:I
-Landroid/bluetooth/le/ScanRecord;->DATA_TYPE_SERVICE_DATA_128_BIT:I
-Landroid/bluetooth/le/ScanRecord;->DATA_TYPE_SERVICE_DATA_16_BIT:I
-Landroid/bluetooth/le/ScanRecord;->DATA_TYPE_SERVICE_DATA_32_BIT:I
-Landroid/bluetooth/le/ScanRecord;->DATA_TYPE_SERVICE_UUIDS_128_BIT_COMPLETE:I
-Landroid/bluetooth/le/ScanRecord;->DATA_TYPE_SERVICE_UUIDS_128_BIT_PARTIAL:I
-Landroid/bluetooth/le/ScanRecord;->DATA_TYPE_SERVICE_UUIDS_16_BIT_COMPLETE:I
-Landroid/bluetooth/le/ScanRecord;->DATA_TYPE_SERVICE_UUIDS_16_BIT_PARTIAL:I
-Landroid/bluetooth/le/ScanRecord;->DATA_TYPE_SERVICE_UUIDS_32_BIT_COMPLETE:I
-Landroid/bluetooth/le/ScanRecord;->DATA_TYPE_SERVICE_UUIDS_32_BIT_PARTIAL:I
-Landroid/bluetooth/le/ScanRecord;->DATA_TYPE_TX_POWER_LEVEL:I
-Landroid/bluetooth/le/ScanRecord;->extractBytes([BII)[B
-Landroid/bluetooth/le/ScanRecord;->mAdvertiseFlags:I
-Landroid/bluetooth/le/ScanRecord;->mBytes:[B
-Landroid/bluetooth/le/ScanRecord;->mDeviceName:Ljava/lang/String;
-Landroid/bluetooth/le/ScanRecord;->mManufacturerSpecificData:Landroid/util/SparseArray;
-Landroid/bluetooth/le/ScanRecord;->mServiceData:Ljava/util/Map;
-Landroid/bluetooth/le/ScanRecord;->mServiceUuids:Ljava/util/List;
-Landroid/bluetooth/le/ScanRecord;->mTxPowerLevel:I
-Landroid/bluetooth/le/ScanRecord;->parseServiceUuid([BIIILjava/util/List;)I
-Landroid/bluetooth/le/ScanRecord;->TAG:Ljava/lang/String;
-Landroid/bluetooth/le/ScanResult;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/le/ScanResult;->ET_CONNECTABLE_MASK:I
-Landroid/bluetooth/le/ScanResult;->ET_LEGACY_MASK:I
-Landroid/bluetooth/le/ScanResult;->mAdvertisingSid:I
-Landroid/bluetooth/le/ScanResult;->mDevice:Landroid/bluetooth/BluetoothDevice;
-Landroid/bluetooth/le/ScanResult;->mEventType:I
-Landroid/bluetooth/le/ScanResult;->mPeriodicAdvertisingInterval:I
-Landroid/bluetooth/le/ScanResult;->mPrimaryPhy:I
-Landroid/bluetooth/le/ScanResult;->mRssi:I
-Landroid/bluetooth/le/ScanResult;->mScanRecord:Landroid/bluetooth/le/ScanRecord;
-Landroid/bluetooth/le/ScanResult;->mSecondaryPhy:I
-Landroid/bluetooth/le/ScanResult;->mTimestampNanos:J
-Landroid/bluetooth/le/ScanResult;->mTxPower:I
-Landroid/bluetooth/le/ScanResult;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/bluetooth/le/ScanSettings$Builder;->isValidCallbackType(I)Z
-Landroid/bluetooth/le/ScanSettings$Builder;->mCallbackType:I
-Landroid/bluetooth/le/ScanSettings$Builder;->mLegacy:Z
-Landroid/bluetooth/le/ScanSettings$Builder;->mMatchMode:I
-Landroid/bluetooth/le/ScanSettings$Builder;->mNumOfMatchesPerFilter:I
-Landroid/bluetooth/le/ScanSettings$Builder;->mPhy:I
-Landroid/bluetooth/le/ScanSettings$Builder;->mReportDelayMillis:J
-Landroid/bluetooth/le/ScanSettings$Builder;->mScanMode:I
-Landroid/bluetooth/le/ScanSettings$Builder;->mScanResultType:I
-Landroid/bluetooth/le/ScanSettings;-><init>(IIIJIIZI)V
-Landroid/bluetooth/le/ScanSettings;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/le/ScanSettings;->getMatchMode()I
-Landroid/bluetooth/le/ScanSettings;->getNumOfMatches()I
-Landroid/bluetooth/le/ScanSettings;->mCallbackType:I
-Landroid/bluetooth/le/ScanSettings;->mLegacy:Z
-Landroid/bluetooth/le/ScanSettings;->mMatchMode:I
-Landroid/bluetooth/le/ScanSettings;->mNumOfMatchesPerFilter:I
-Landroid/bluetooth/le/ScanSettings;->mPhy:I
-Landroid/bluetooth/le/ScanSettings;->mReportDelayMillis:J
-Landroid/bluetooth/le/ScanSettings;->mScanMode:I
-Landroid/bluetooth/le/ScanSettings;->mScanResultType:I
-Landroid/bluetooth/le/TruncatedFilter;->mFilter:Landroid/bluetooth/le/ScanFilter;
-Landroid/bluetooth/le/TruncatedFilter;->mStorageDescriptors:Ljava/util/List;
-Landroid/bluetooth/OobData;
-Landroid/bluetooth/OobData;-><init>()V
-Landroid/bluetooth/OobData;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/OobData;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/bluetooth/OobData;->getLeBluetoothDeviceAddress()[B
-Landroid/bluetooth/OobData;->getLeSecureConnectionsConfirmation()[B
-Landroid/bluetooth/OobData;->getLeSecureConnectionsRandom()[B
-Landroid/bluetooth/OobData;->getSecurityManagerTk()[B
-Landroid/bluetooth/OobData;->mLeBluetoothDeviceAddress:[B
-Landroid/bluetooth/OobData;->mLeSecureConnectionsConfirmation:[B
-Landroid/bluetooth/OobData;->mLeSecureConnectionsRandom:[B
-Landroid/bluetooth/OobData;->mSecurityManagerTk:[B
-Landroid/bluetooth/OobData;->setLeBluetoothDeviceAddress([B)V
-Landroid/bluetooth/OobData;->setLeSecureConnectionsConfirmation([B)V
-Landroid/bluetooth/OobData;->setLeSecureConnectionsRandom([B)V
-Landroid/bluetooth/OobData;->setSecurityManagerTk([B)V
-Landroid/bluetooth/SdpMasRecord$MessageType;
-Landroid/bluetooth/SdpMasRecord$MessageType;-><init>()V
-Landroid/bluetooth/SdpMasRecord$MessageType;->EMAIL:I
-Landroid/bluetooth/SdpMasRecord$MessageType;->MMS:I
-Landroid/bluetooth/SdpMasRecord$MessageType;->SMS_CDMA:I
-Landroid/bluetooth/SdpMasRecord$MessageType;->SMS_GSM:I
-Landroid/bluetooth/SdpMasRecord;
-Landroid/bluetooth/SdpMasRecord;-><init>(IIIIIILjava/lang/String;)V
-Landroid/bluetooth/SdpMasRecord;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/SdpMasRecord;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/bluetooth/SdpMasRecord;->getL2capPsm()I
-Landroid/bluetooth/SdpMasRecord;->getMasInstanceId()I
-Landroid/bluetooth/SdpMasRecord;->getProfileVersion()I
-Landroid/bluetooth/SdpMasRecord;->getRfcommCannelNumber()I
-Landroid/bluetooth/SdpMasRecord;->getServiceName()Ljava/lang/String;
-Landroid/bluetooth/SdpMasRecord;->getSupportedFeatures()I
-Landroid/bluetooth/SdpMasRecord;->getSupportedMessageTypes()I
-Landroid/bluetooth/SdpMasRecord;->mL2capPsm:I
-Landroid/bluetooth/SdpMasRecord;->mMasInstanceId:I
-Landroid/bluetooth/SdpMasRecord;->mProfileVersion:I
-Landroid/bluetooth/SdpMasRecord;->mRfcommChannelNumber:I
-Landroid/bluetooth/SdpMasRecord;->mServiceName:Ljava/lang/String;
-Landroid/bluetooth/SdpMasRecord;->msgSupported(I)Z
-Landroid/bluetooth/SdpMasRecord;->mSupportedFeatures:I
-Landroid/bluetooth/SdpMasRecord;->mSupportedMessageTypes:I
-Landroid/bluetooth/SdpMnsRecord;
-Landroid/bluetooth/SdpMnsRecord;-><init>(IIIILjava/lang/String;)V
-Landroid/bluetooth/SdpMnsRecord;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/SdpMnsRecord;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/bluetooth/SdpMnsRecord;->getL2capPsm()I
-Landroid/bluetooth/SdpMnsRecord;->getProfileVersion()I
-Landroid/bluetooth/SdpMnsRecord;->getRfcommChannelNumber()I
-Landroid/bluetooth/SdpMnsRecord;->getServiceName()Ljava/lang/String;
-Landroid/bluetooth/SdpMnsRecord;->getSupportedFeatures()I
-Landroid/bluetooth/SdpMnsRecord;->mL2capPsm:I
-Landroid/bluetooth/SdpMnsRecord;->mProfileVersion:I
-Landroid/bluetooth/SdpMnsRecord;->mRfcommChannelNumber:I
-Landroid/bluetooth/SdpMnsRecord;->mServiceName:Ljava/lang/String;
-Landroid/bluetooth/SdpMnsRecord;->mSupportedFeatures:I
-Landroid/bluetooth/SdpOppOpsRecord;
-Landroid/bluetooth/SdpOppOpsRecord;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/SdpOppOpsRecord;-><init>(Ljava/lang/String;III[B)V
-Landroid/bluetooth/SdpOppOpsRecord;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/bluetooth/SdpOppOpsRecord;->getFormatsList()[B
-Landroid/bluetooth/SdpOppOpsRecord;->getL2capPsm()I
-Landroid/bluetooth/SdpOppOpsRecord;->getProfileVersion()I
-Landroid/bluetooth/SdpOppOpsRecord;->getRfcommChannel()I
-Landroid/bluetooth/SdpOppOpsRecord;->getServiceName()Ljava/lang/String;
-Landroid/bluetooth/SdpOppOpsRecord;->mFormatsList:[B
-Landroid/bluetooth/SdpOppOpsRecord;->mL2capPsm:I
-Landroid/bluetooth/SdpOppOpsRecord;->mProfileVersion:I
-Landroid/bluetooth/SdpOppOpsRecord;->mRfcommChannel:I
-Landroid/bluetooth/SdpOppOpsRecord;->mServiceName:Ljava/lang/String;
-Landroid/bluetooth/SdpPseRecord;
-Landroid/bluetooth/SdpPseRecord;-><init>(IIIIILjava/lang/String;)V
-Landroid/bluetooth/SdpPseRecord;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/SdpPseRecord;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/bluetooth/SdpPseRecord;->getL2capPsm()I
-Landroid/bluetooth/SdpPseRecord;->getProfileVersion()I
-Landroid/bluetooth/SdpPseRecord;->getRfcommChannelNumber()I
-Landroid/bluetooth/SdpPseRecord;->getServiceName()Ljava/lang/String;
-Landroid/bluetooth/SdpPseRecord;->getSupportedFeatures()I
-Landroid/bluetooth/SdpPseRecord;->getSupportedRepositories()I
-Landroid/bluetooth/SdpPseRecord;->mL2capPsm:I
-Landroid/bluetooth/SdpPseRecord;->mProfileVersion:I
-Landroid/bluetooth/SdpPseRecord;->mRfcommChannelNumber:I
-Landroid/bluetooth/SdpPseRecord;->mServiceName:Ljava/lang/String;
-Landroid/bluetooth/SdpPseRecord;->mSupportedFeatures:I
-Landroid/bluetooth/SdpPseRecord;->mSupportedRepositories:I
-Landroid/bluetooth/SdpRecord;
-Landroid/bluetooth/SdpRecord;-><init>(I[B)V
-Landroid/bluetooth/SdpRecord;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/SdpRecord;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/bluetooth/SdpRecord;->getRawData()[B
-Landroid/bluetooth/SdpRecord;->getRawSize()I
-Landroid/bluetooth/SdpRecord;->mRawData:[B
-Landroid/bluetooth/SdpRecord;->mRawSize:I
-Landroid/bluetooth/SdpSapsRecord;
-Landroid/bluetooth/SdpSapsRecord;-><init>(IILjava/lang/String;)V
-Landroid/bluetooth/SdpSapsRecord;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/SdpSapsRecord;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/bluetooth/SdpSapsRecord;->getProfileVersion()I
-Landroid/bluetooth/SdpSapsRecord;->getRfcommCannelNumber()I
-Landroid/bluetooth/SdpSapsRecord;->getServiceName()Ljava/lang/String;
-Landroid/bluetooth/SdpSapsRecord;->mProfileVersion:I
-Landroid/bluetooth/SdpSapsRecord;->mRfcommChannelNumber:I
-Landroid/bluetooth/SdpSapsRecord;->mServiceName:Ljava/lang/String;
-Landroid/bluetooth/UidTraffic;
-Landroid/bluetooth/UidTraffic;-><init>(I)V
-Landroid/bluetooth/UidTraffic;-><init>(IJJ)V
-Landroid/bluetooth/UidTraffic;-><init>(Landroid/os/Parcel;)V
-Landroid/bluetooth/UidTraffic;->addRxBytes(J)V
-Landroid/bluetooth/UidTraffic;->addTxBytes(J)V
-Landroid/bluetooth/UidTraffic;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/bluetooth/UidTraffic;->getRxBytes()J
-Landroid/bluetooth/UidTraffic;->getTxBytes()J
-Landroid/bluetooth/UidTraffic;->getUid()I
-Landroid/bluetooth/UidTraffic;->mAppUid:I
-Landroid/bluetooth/UidTraffic;->mRxBytes:J
-Landroid/bluetooth/UidTraffic;->mTxBytes:J
-Landroid/bluetooth/UidTraffic;->setRxBytes(J)V
-Landroid/bluetooth/UidTraffic;->setTxBytes(J)V
-Landroid/companion/AssociationRequest$Builder;->mDeviceFilters:Ljava/util/ArrayList;
-Landroid/companion/AssociationRequest$Builder;->mSingleDevice:Z
-Landroid/companion/AssociationRequest;-><init>(Landroid/os/Parcel;)V
-Landroid/companion/AssociationRequest;-><init>(ZLjava/util/List;)V
-Landroid/companion/AssociationRequest;->mDeviceFilters:Ljava/util/List;
-Landroid/companion/AssociationRequest;->mSingleDevice:Z
-Landroid/companion/BluetoothDeviceFilter$Builder;->mAddress:Ljava/lang/String;
-Landroid/companion/BluetoothDeviceFilter$Builder;->mNamePattern:Ljava/util/regex/Pattern;
-Landroid/companion/BluetoothDeviceFilter$Builder;->mServiceUuid:Ljava/util/ArrayList;
-Landroid/companion/BluetoothDeviceFilter$Builder;->mServiceUuidMask:Ljava/util/ArrayList;
-Landroid/companion/BluetoothDeviceFilter;-><init>(Landroid/os/Parcel;)V
-Landroid/companion/BluetoothDeviceFilter;-><init>(Ljava/util/regex/Pattern;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
-Landroid/companion/BluetoothDeviceFilter;->getDeviceDisplayName(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;
-Landroid/companion/BluetoothDeviceFilter;->getMediumType()I
-Landroid/companion/BluetoothDeviceFilter;->getNamePattern()Ljava/util/regex/Pattern;
-Landroid/companion/BluetoothDeviceFilter;->getServiceUuidMasks()Ljava/util/List;
-Landroid/companion/BluetoothDeviceFilter;->getServiceUuids()Ljava/util/List;
-Landroid/companion/BluetoothDeviceFilter;->mAddress:Ljava/lang/String;
-Landroid/companion/BluetoothDeviceFilter;->matches(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/companion/BluetoothDeviceFilter;->mNamePattern:Ljava/util/regex/Pattern;
-Landroid/companion/BluetoothDeviceFilter;->mServiceUuidMasks:Ljava/util/List;
-Landroid/companion/BluetoothDeviceFilter;->mServiceUuids:Ljava/util/List;
-Landroid/companion/BluetoothDeviceFilter;->readUuids(Landroid/os/Parcel;)Ljava/util/List;
-Landroid/companion/BluetoothDeviceFilterUtils;
-Landroid/companion/BluetoothDeviceFilterUtils;-><init>()V
-Landroid/companion/BluetoothDeviceFilterUtils;->DEBUG:Z
-Landroid/companion/BluetoothDeviceFilterUtils;->debugLogMatchResult(ZLandroid/bluetooth/BluetoothDevice;Ljava/lang/Object;)V
-Landroid/companion/BluetoothDeviceFilterUtils;->debugLogMatchResult(ZLandroid/net/wifi/ScanResult;Ljava/lang/Object;)V
-Landroid/companion/BluetoothDeviceFilterUtils;->LOG_TAG:Ljava/lang/String;
-Landroid/companion/BluetoothDeviceFilterUtils;->matches(Landroid/bluetooth/le/ScanFilter;Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/companion/BluetoothDeviceFilterUtils;->matchesAddress(Ljava/lang/String;Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/companion/BluetoothDeviceFilterUtils;->matchesName(Ljava/util/regex/Pattern;Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/companion/BluetoothDeviceFilterUtils;->matchesName(Ljava/util/regex/Pattern;Landroid/net/wifi/ScanResult;)Z
-Landroid/companion/BluetoothDeviceFilterUtils;->matchesServiceUuid(Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/companion/BluetoothDeviceFilterUtils;->matchesServiceUuids(Ljava/util/List;Ljava/util/List;Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/companion/BluetoothDeviceFilterUtils;->patternFromString(Ljava/lang/String;)Ljava/util/regex/Pattern;
-Landroid/companion/BluetoothDeviceFilterUtils;->patternToString(Ljava/util/regex/Pattern;)Ljava/lang/String;
-Landroid/companion/BluetoothLeDeviceFilter$Builder;->checkRangeNotEmpty(I)V
-Landroid/companion/BluetoothLeDeviceFilter$Builder;->checkRenameNotSet()V
-Landroid/companion/BluetoothLeDeviceFilter$Builder;->mNamePattern:Ljava/util/regex/Pattern;
-Landroid/companion/BluetoothLeDeviceFilter$Builder;->mRawDataFilter:[B
-Landroid/companion/BluetoothLeDeviceFilter$Builder;->mRawDataFilterMask:[B
-Landroid/companion/BluetoothLeDeviceFilter$Builder;->mRenameBytesFrom:I
-Landroid/companion/BluetoothLeDeviceFilter$Builder;->mRenameBytesLength:I
-Landroid/companion/BluetoothLeDeviceFilter$Builder;->mRenameBytesReverseOrder:Z
-Landroid/companion/BluetoothLeDeviceFilter$Builder;->mRenameNameFrom:I
-Landroid/companion/BluetoothLeDeviceFilter$Builder;->mRenameNameLength:I
-Landroid/companion/BluetoothLeDeviceFilter$Builder;->mRenamePrefix:Ljava/lang/String;
-Landroid/companion/BluetoothLeDeviceFilter$Builder;->mRenameSuffix:Ljava/lang/String;
-Landroid/companion/BluetoothLeDeviceFilter$Builder;->mScanFilter:Landroid/bluetooth/le/ScanFilter;
-Landroid/companion/BluetoothLeDeviceFilter$Builder;->setRename(Ljava/lang/String;Ljava/lang/String;)Landroid/companion/BluetoothLeDeviceFilter$Builder;
-Landroid/companion/BluetoothLeDeviceFilter;-><init>(Ljava/util/regex/Pattern;Landroid/bluetooth/le/ScanFilter;[B[BLjava/lang/String;Ljava/lang/String;IIIIZ)V
-Landroid/companion/BluetoothLeDeviceFilter;->DEBUG:Z
-Landroid/companion/BluetoothLeDeviceFilter;->getDeviceDisplayName(Landroid/bluetooth/le/ScanResult;)Ljava/lang/String;
-Landroid/companion/BluetoothLeDeviceFilter;->getMediumType()I
-Landroid/companion/BluetoothLeDeviceFilter;->getNamePattern()Ljava/util/regex/Pattern;
-Landroid/companion/BluetoothLeDeviceFilter;->getRawDataFilter()[B
-Landroid/companion/BluetoothLeDeviceFilter;->getRawDataFilterMask()[B
-Landroid/companion/BluetoothLeDeviceFilter;->getRenameBytesFrom()I
-Landroid/companion/BluetoothLeDeviceFilter;->getRenameBytesLength()I
-Landroid/companion/BluetoothLeDeviceFilter;->getRenamePrefix()Ljava/lang/String;
-Landroid/companion/BluetoothLeDeviceFilter;->getRenameSuffix()Ljava/lang/String;
-Landroid/companion/BluetoothLeDeviceFilter;->isRenameBytesReverseOrder()Z
-Landroid/companion/BluetoothLeDeviceFilter;->LOG_TAG:Ljava/lang/String;
-Landroid/companion/BluetoothLeDeviceFilter;->matches(Landroid/bluetooth/BluetoothDevice;)Z
-Landroid/companion/BluetoothLeDeviceFilter;->matches(Landroid/bluetooth/le/ScanResult;)Z
-Landroid/companion/BluetoothLeDeviceFilter;->mNamePattern:Ljava/util/regex/Pattern;
-Landroid/companion/BluetoothLeDeviceFilter;->mRawDataFilter:[B
-Landroid/companion/BluetoothLeDeviceFilter;->mRawDataFilterMask:[B
-Landroid/companion/BluetoothLeDeviceFilter;->mRenameBytesFrom:I
-Landroid/companion/BluetoothLeDeviceFilter;->mRenameBytesLength:I
-Landroid/companion/BluetoothLeDeviceFilter;->mRenameBytesReverseOrder:Z
-Landroid/companion/BluetoothLeDeviceFilter;->mRenameNameFrom:I
-Landroid/companion/BluetoothLeDeviceFilter;->mRenameNameLength:I
-Landroid/companion/BluetoothLeDeviceFilter;->mRenamePrefix:Ljava/lang/String;
-Landroid/companion/BluetoothLeDeviceFilter;->mRenameSuffix:Ljava/lang/String;
-Landroid/companion/BluetoothLeDeviceFilter;->mScanFilter:Landroid/bluetooth/le/ScanFilter;
-Landroid/companion/BluetoothLeDeviceFilter;->RENAME_PREFIX_LENGTH_LIMIT:I
-Landroid/companion/CompanionDeviceManager$CallbackProxy;
-Landroid/companion/CompanionDeviceManager$CallbackProxy;-><init>(Landroid/companion/AssociationRequest;Landroid/companion/CompanionDeviceManager$Callback;Landroid/os/Handler;)V
-Landroid/companion/CompanionDeviceManager$CallbackProxy;->lockAndPost(Ljava/util/function/BiConsumer;Ljava/lang/Object;)V
-Landroid/companion/CompanionDeviceManager$CallbackProxy;->mCallback:Landroid/companion/CompanionDeviceManager$Callback;
-Landroid/companion/CompanionDeviceManager$CallbackProxy;->mHandler:Landroid/os/Handler;
-Landroid/companion/CompanionDeviceManager$CallbackProxy;->mLock:Ljava/lang/Object;
-Landroid/companion/CompanionDeviceManager$CallbackProxy;->mRequest:Landroid/companion/AssociationRequest;
-Landroid/companion/CompanionDeviceManager$CallbackProxy;->onFailure(Ljava/lang/CharSequence;)V
-Landroid/companion/CompanionDeviceManager$CallbackProxy;->onSuccess(Landroid/app/PendingIntent;)V
-Landroid/companion/CompanionDeviceManager;-><init>(Landroid/companion/ICompanionDeviceManager;Landroid/content/Context;)V
-Landroid/companion/CompanionDeviceManager;->checkFeaturePresent()Z
-Landroid/companion/CompanionDeviceManager;->COMPANION_DEVICE_DISCOVERY_PACKAGE_NAME:Ljava/lang/String;
-Landroid/companion/CompanionDeviceManager;->DEBUG:Z
-Landroid/companion/CompanionDeviceManager;->getActivity()Landroid/app/Activity;
-Landroid/companion/CompanionDeviceManager;->getCallingPackage()Ljava/lang/String;
-Landroid/companion/CompanionDeviceManager;->LOG_TAG:Ljava/lang/String;
-Landroid/companion/CompanionDeviceManager;->mContext:Landroid/content/Context;
-Landroid/companion/CompanionDeviceManager;->mService:Landroid/companion/ICompanionDeviceManager;
-Landroid/companion/DeviceFilter$MediumType;
-Landroid/companion/DeviceFilter;->getMediumType()I
-Landroid/companion/DeviceFilter;->matches(Landroid/companion/DeviceFilter;Landroid/os/Parcelable;)Z
-Landroid/companion/DeviceFilter;->MEDIUM_TYPE_BLUETOOTH:I
-Landroid/companion/DeviceFilter;->MEDIUM_TYPE_BLUETOOTH_LE:I
-Landroid/companion/DeviceFilter;->MEDIUM_TYPE_WIFI:I
-Landroid/companion/ICompanionDeviceDiscoveryService$Stub$Proxy;
-Landroid/companion/ICompanionDeviceDiscoveryService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/companion/ICompanionDeviceDiscoveryService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/companion/ICompanionDeviceDiscoveryService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/companion/ICompanionDeviceDiscoveryService$Stub$Proxy;->startDiscovery(Landroid/companion/AssociationRequest;Ljava/lang/String;Landroid/companion/IFindDeviceCallback;Landroid/companion/ICompanionDeviceDiscoveryServiceCallback;)V
-Landroid/companion/ICompanionDeviceDiscoveryService$Stub;
-Landroid/companion/ICompanionDeviceDiscoveryService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/companion/ICompanionDeviceDiscoveryService;
-Landroid/companion/ICompanionDeviceDiscoveryService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/companion/ICompanionDeviceDiscoveryService$Stub;->TRANSACTION_startDiscovery:I
-Landroid/companion/ICompanionDeviceDiscoveryService;
-Landroid/companion/ICompanionDeviceDiscoveryService;->startDiscovery(Landroid/companion/AssociationRequest;Ljava/lang/String;Landroid/companion/IFindDeviceCallback;Landroid/companion/ICompanionDeviceDiscoveryServiceCallback;)V
-Landroid/companion/ICompanionDeviceDiscoveryServiceCallback$Stub$Proxy;
-Landroid/companion/ICompanionDeviceDiscoveryServiceCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/companion/ICompanionDeviceDiscoveryServiceCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/companion/ICompanionDeviceDiscoveryServiceCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/companion/ICompanionDeviceDiscoveryServiceCallback$Stub$Proxy;->onDeviceSelected(Ljava/lang/String;ILjava/lang/String;)V
-Landroid/companion/ICompanionDeviceDiscoveryServiceCallback$Stub$Proxy;->onDeviceSelectionCancel()V
-Landroid/companion/ICompanionDeviceDiscoveryServiceCallback$Stub;
-Landroid/companion/ICompanionDeviceDiscoveryServiceCallback$Stub;-><init>()V
-Landroid/companion/ICompanionDeviceDiscoveryServiceCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/companion/ICompanionDeviceDiscoveryServiceCallback;
-Landroid/companion/ICompanionDeviceDiscoveryServiceCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/companion/ICompanionDeviceDiscoveryServiceCallback$Stub;->TRANSACTION_onDeviceSelected:I
-Landroid/companion/ICompanionDeviceDiscoveryServiceCallback$Stub;->TRANSACTION_onDeviceSelectionCancel:I
-Landroid/companion/ICompanionDeviceDiscoveryServiceCallback;
-Landroid/companion/ICompanionDeviceManager$Stub$Proxy;
-Landroid/companion/ICompanionDeviceManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/companion/ICompanionDeviceManager$Stub$Proxy;->associate(Landroid/companion/AssociationRequest;Landroid/companion/IFindDeviceCallback;Ljava/lang/String;)V
-Landroid/companion/ICompanionDeviceManager$Stub$Proxy;->disassociate(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/companion/ICompanionDeviceManager$Stub$Proxy;->getAssociations(Ljava/lang/String;I)Ljava/util/List;
-Landroid/companion/ICompanionDeviceManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/companion/ICompanionDeviceManager$Stub$Proxy;->hasNotificationAccess(Landroid/content/ComponentName;)Z
-Landroid/companion/ICompanionDeviceManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/companion/ICompanionDeviceManager$Stub$Proxy;->requestNotificationAccess(Landroid/content/ComponentName;)Landroid/app/PendingIntent;
-Landroid/companion/ICompanionDeviceManager$Stub$Proxy;->stopScan(Landroid/companion/AssociationRequest;Landroid/companion/IFindDeviceCallback;Ljava/lang/String;)V
-Landroid/companion/ICompanionDeviceManager$Stub;
-Landroid/companion/ICompanionDeviceManager$Stub;-><init>()V
-Landroid/companion/ICompanionDeviceManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/companion/ICompanionDeviceManager;
-Landroid/companion/ICompanionDeviceManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/companion/ICompanionDeviceManager$Stub;->TRANSACTION_associate:I
-Landroid/companion/ICompanionDeviceManager$Stub;->TRANSACTION_disassociate:I
-Landroid/companion/ICompanionDeviceManager$Stub;->TRANSACTION_getAssociations:I
-Landroid/companion/ICompanionDeviceManager$Stub;->TRANSACTION_hasNotificationAccess:I
-Landroid/companion/ICompanionDeviceManager$Stub;->TRANSACTION_requestNotificationAccess:I
-Landroid/companion/ICompanionDeviceManager$Stub;->TRANSACTION_stopScan:I
-Landroid/companion/ICompanionDeviceManager;
-Landroid/companion/ICompanionDeviceManager;->associate(Landroid/companion/AssociationRequest;Landroid/companion/IFindDeviceCallback;Ljava/lang/String;)V
-Landroid/companion/ICompanionDeviceManager;->disassociate(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/companion/ICompanionDeviceManager;->getAssociations(Ljava/lang/String;I)Ljava/util/List;
-Landroid/companion/ICompanionDeviceManager;->hasNotificationAccess(Landroid/content/ComponentName;)Z
-Landroid/companion/ICompanionDeviceManager;->requestNotificationAccess(Landroid/content/ComponentName;)Landroid/app/PendingIntent;
-Landroid/companion/ICompanionDeviceManager;->stopScan(Landroid/companion/AssociationRequest;Landroid/companion/IFindDeviceCallback;Ljava/lang/String;)V
-Landroid/companion/IFindDeviceCallback$Stub$Proxy;
-Landroid/companion/IFindDeviceCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/companion/IFindDeviceCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/companion/IFindDeviceCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/companion/IFindDeviceCallback$Stub$Proxy;->onFailure(Ljava/lang/CharSequence;)V
-Landroid/companion/IFindDeviceCallback$Stub$Proxy;->onSuccess(Landroid/app/PendingIntent;)V
-Landroid/companion/IFindDeviceCallback$Stub;
-Landroid/companion/IFindDeviceCallback$Stub;-><init>()V
-Landroid/companion/IFindDeviceCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/companion/IFindDeviceCallback;
-Landroid/companion/IFindDeviceCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/companion/IFindDeviceCallback$Stub;->TRANSACTION_onFailure:I
-Landroid/companion/IFindDeviceCallback$Stub;->TRANSACTION_onSuccess:I
-Landroid/companion/IFindDeviceCallback;
-Landroid/companion/IFindDeviceCallback;->onFailure(Ljava/lang/CharSequence;)V
-Landroid/companion/WifiDeviceFilter$Builder;->mNamePattern:Ljava/util/regex/Pattern;
-Landroid/companion/WifiDeviceFilter;-><init>(Landroid/os/Parcel;)V
-Landroid/companion/WifiDeviceFilter;-><init>(Ljava/util/regex/Pattern;)V
-Landroid/companion/WifiDeviceFilter;->getDeviceDisplayName(Landroid/net/wifi/ScanResult;)Ljava/lang/String;
-Landroid/companion/WifiDeviceFilter;->getMediumType()I
-Landroid/companion/WifiDeviceFilter;->getNamePattern()Ljava/util/regex/Pattern;
-Landroid/companion/WifiDeviceFilter;->matches(Landroid/net/wifi/ScanResult;)Z
-Landroid/companion/WifiDeviceFilter;->mNamePattern:Ljava/util/regex/Pattern;
-Landroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;
-Landroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;-><init>()V
-Landroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->cancelSync(Landroid/content/ISyncContext;)V
-Landroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->onUnsyncableAccount(Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
-Landroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->startSync(Landroid/content/ISyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;)V
-Landroid/content/AbstractThreadedSyncAdapter$SyncThread;
-Landroid/content/AbstractThreadedSyncAdapter$SyncThread;-><init>(Ljava/lang/String;Landroid/content/SyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;)V
-Landroid/content/AbstractThreadedSyncAdapter$SyncThread;->isCanceled()Z
-Landroid/content/AbstractThreadedSyncAdapter$SyncThread;->mAccount:Landroid/accounts/Account;
-Landroid/content/AbstractThreadedSyncAdapter$SyncThread;->mAuthority:Ljava/lang/String;
-Landroid/content/AbstractThreadedSyncAdapter$SyncThread;->mExtras:Landroid/os/Bundle;
-Landroid/content/AbstractThreadedSyncAdapter$SyncThread;->mSyncContext:Landroid/content/SyncContext;
-Landroid/content/AbstractThreadedSyncAdapter$SyncThread;->mThreadsKey:Landroid/accounts/Account;
-Landroid/content/AbstractThreadedSyncAdapter;->ENABLE_LOG:Z
-Landroid/content/AbstractThreadedSyncAdapter;->handleOnUnsyncableAccount(Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
-Landroid/content/AbstractThreadedSyncAdapter;->mAllowParallelSyncs:Z
-Landroid/content/AbstractThreadedSyncAdapter;->mAutoInitialize:Z
-Landroid/content/AbstractThreadedSyncAdapter;->mContext:Landroid/content/Context;
-Landroid/content/AbstractThreadedSyncAdapter;->mISyncAdapterImpl:Landroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;
-Landroid/content/AbstractThreadedSyncAdapter;->mNumSyncStarts:Ljava/util/concurrent/atomic/AtomicInteger;
-Landroid/content/AbstractThreadedSyncAdapter;->mSyncThreadLock:Ljava/lang/Object;
-Landroid/content/AbstractThreadedSyncAdapter;->mSyncThreads:Ljava/util/HashMap;
-Landroid/content/AbstractThreadedSyncAdapter;->TAG:Ljava/lang/String;
-Landroid/content/AbstractThreadedSyncAdapter;->toSyncKey(Landroid/accounts/Account;)Landroid/accounts/Account;
-Landroid/content/ActivityInfoProto;
-Landroid/content/ActivityInfoProto;-><init>()V
-Landroid/content/ActivityInfoProto;->SCREEN_ORIENTATION_BEHIND:I
-Landroid/content/ActivityInfoProto;->SCREEN_ORIENTATION_FULL_SENSOR:I
-Landroid/content/ActivityInfoProto;->SCREEN_ORIENTATION_FULL_USER:I
-Landroid/content/ActivityInfoProto;->SCREEN_ORIENTATION_LANDSCAPE:I
-Landroid/content/ActivityInfoProto;->SCREEN_ORIENTATION_LOCKED:I
-Landroid/content/ActivityInfoProto;->SCREEN_ORIENTATION_NOSENSOR:I
-Landroid/content/ActivityInfoProto;->SCREEN_ORIENTATION_PORTRAIT:I
-Landroid/content/ActivityInfoProto;->SCREEN_ORIENTATION_REVERSE_LANDSCAPE:I
-Landroid/content/ActivityInfoProto;->SCREEN_ORIENTATION_REVERSE_PORTRAIT:I
-Landroid/content/ActivityInfoProto;->SCREEN_ORIENTATION_SENSOR:I
-Landroid/content/ActivityInfoProto;->SCREEN_ORIENTATION_SENSOR_LANDSCAPE:I
-Landroid/content/ActivityInfoProto;->SCREEN_ORIENTATION_SENSOR_PORTRAIT:I
-Landroid/content/ActivityInfoProto;->SCREEN_ORIENTATION_UNSET:I
-Landroid/content/ActivityInfoProto;->SCREEN_ORIENTATION_UNSPECIFIED:I
-Landroid/content/ActivityInfoProto;->SCREEN_ORIENTATION_USER:I
-Landroid/content/ActivityInfoProto;->SCREEN_ORIENTATION_USER_LANDSCAPE:I
-Landroid/content/ActivityInfoProto;->SCREEN_ORIENTATION_USER_PORTRAIT:I
-Landroid/content/AsyncQueryHandler;->EVENT_ARG_DELETE:I
-Landroid/content/AsyncQueryHandler;->EVENT_ARG_INSERT:I
-Landroid/content/AsyncQueryHandler;->EVENT_ARG_QUERY:I
-Landroid/content/AsyncQueryHandler;->EVENT_ARG_UPDATE:I
-Landroid/content/AsyncQueryHandler;->localLOGV:Z
-Landroid/content/AsyncQueryHandler;->mResolver:Ljava/lang/ref/WeakReference;
-Landroid/content/AsyncQueryHandler;->mWorkerThreadHandler:Landroid/os/Handler;
-Landroid/content/AsyncQueryHandler;->sLooper:Landroid/os/Looper;
-Landroid/content/AsyncQueryHandler;->TAG:Ljava/lang/String;
-Landroid/content/AsyncTaskLoader$LoadTask;
-Landroid/content/AsyncTaskLoader$LoadTask;-><init>()V
-Landroid/content/AsyncTaskLoader$LoadTask;->doInBackground([[Ljava/lang/Void;)Ljava/lang/Object;
-Landroid/content/AsyncTaskLoader$LoadTask;->mDone:Ljava/util/concurrent/CountDownLatch;
-Landroid/content/AsyncTaskLoader$LoadTask;->onCancelled(Ljava/lang/Object;)V
-Landroid/content/AsyncTaskLoader$LoadTask;->onPostExecute(Ljava/lang/Object;)V
-Landroid/content/AsyncTaskLoader$LoadTask;->waitForLoader()V
-Landroid/content/AsyncTaskLoader$LoadTask;->waiting:Z
-Landroid/content/AsyncTaskLoader;-><init>(Landroid/content/Context;Ljava/util/concurrent/Executor;)V
-Landroid/content/AsyncTaskLoader;->DEBUG:Z
-Landroid/content/AsyncTaskLoader;->dispatchOnCancelled(Landroid/content/AsyncTaskLoader$LoadTask;Ljava/lang/Object;)V
-Landroid/content/AsyncTaskLoader;->dispatchOnLoadComplete(Landroid/content/AsyncTaskLoader$LoadTask;Ljava/lang/Object;)V
-Landroid/content/AsyncTaskLoader;->executePendingTask()V
-Landroid/content/AsyncTaskLoader;->mCancellingTask:Landroid/content/AsyncTaskLoader$LoadTask;
-Landroid/content/AsyncTaskLoader;->mHandler:Landroid/os/Handler;
-Landroid/content/AsyncTaskLoader;->mLastLoadCompleteTime:J
-Landroid/content/AsyncTaskLoader;->mTask:Landroid/content/AsyncTaskLoader$LoadTask;
-Landroid/content/AsyncTaskLoader;->mUpdateThrottle:J
-Landroid/content/AsyncTaskLoader;->TAG:Ljava/lang/String;
-Landroid/content/AuthorityEntryProto;
-Landroid/content/AuthorityEntryProto;-><init>()V
-Landroid/content/AuthorityEntryProto;->HOST:J
-Landroid/content/AuthorityEntryProto;->PORT:J
-Landroid/content/AuthorityEntryProto;->WILD:J
-Landroid/content/BroadcastReceiver$PendingResult;->checkSynchronousHint()V
-Landroid/content/BroadcastReceiver$PendingResult;->getSendingUserId()I
-Landroid/content/BroadcastReceiver$PendingResult;->sendFinished(Landroid/app/IActivityManager;)V
-Landroid/content/BroadcastReceiver$PendingResult;->setExtrasClassLoader(Ljava/lang/ClassLoader;)V
-Landroid/content/BroadcastReceiver$PendingResult;->TYPE_COMPONENT:I
-Landroid/content/BroadcastReceiver$PendingResult;->TYPE_REGISTERED:I
-Landroid/content/BroadcastReceiver$PendingResult;->TYPE_UNREGISTERED:I
-Landroid/content/BroadcastReceiver;->checkSynchronousHint()V
-Landroid/content/BroadcastReceiver;->getSendingUserId()I
-Landroid/content/BroadcastReceiver;->mDebugUnregister:Z
-Landroid/content/ClipboardManager;->mContext:Landroid/content/Context;
-Landroid/content/ClipboardManager;->mHandler:Landroid/os/Handler;
-Landroid/content/ClipboardManager;->mPrimaryClipChangedListeners:Ljava/util/ArrayList;
-Landroid/content/ClipboardManager;->mPrimaryClipChangedServiceListener:Landroid/content/IOnPrimaryClipChangedListener$Stub;
-Landroid/content/ClipboardManager;->mService:Landroid/content/IClipboard;
-Landroid/content/ClipData$Item;-><init>(Landroid/content/ClipData$Item;)V
-Landroid/content/ClipData$Item;->coerceToHtmlOrStyledText(Landroid/content/Context;Z)Ljava/lang/CharSequence;
-Landroid/content/ClipData$Item;->mHtmlText:Ljava/lang/String;
-Landroid/content/ClipData$Item;->mIntent:Landroid/content/Intent;
-Landroid/content/ClipData$Item;->mText:Ljava/lang/CharSequence;
-Landroid/content/ClipData$Item;->toShortString(Ljava/lang/StringBuilder;)V
-Landroid/content/ClipData$Item;->toShortSummaryString(Ljava/lang/StringBuilder;)V
-Landroid/content/ClipData$Item;->uriToHtml(Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/ClipData$Item;->uriToStyledText(Ljava/lang/String;)Ljava/lang/CharSequence;
-Landroid/content/ClipData$Item;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/content/ClipData;-><init>(Landroid/content/ClipDescription;Ljava/util/ArrayList;)V
-Landroid/content/ClipData;-><init>(Landroid/os/Parcel;)V
-Landroid/content/ClipData;->collectUris(Ljava/util/List;)V
-Landroid/content/ClipData;->fixUris(I)V
-Landroid/content/ClipData;->fixUrisLight(I)V
-Landroid/content/ClipData;->getMimeTypes(Landroid/content/ContentResolver;Landroid/net/Uri;)[Ljava/lang/String;
-Landroid/content/ClipData;->mClipDescription:Landroid/content/ClipDescription;
-Landroid/content/ClipData;->mIcon:Landroid/graphics/Bitmap;
-Landroid/content/ClipData;->MIMETYPES_TEXT_HTML:[Ljava/lang/String;
-Landroid/content/ClipData;->MIMETYPES_TEXT_INTENT:[Ljava/lang/String;
-Landroid/content/ClipData;->MIMETYPES_TEXT_PLAIN:[Ljava/lang/String;
-Landroid/content/ClipData;->MIMETYPES_TEXT_URILIST:[Ljava/lang/String;
-Landroid/content/ClipData;->mItems:Ljava/util/ArrayList;
-Landroid/content/ClipData;->prepareToEnterProcess()V
-Landroid/content/ClipData;->prepareToLeaveProcess(Z)V
-Landroid/content/ClipData;->prepareToLeaveProcess(ZI)V
-Landroid/content/ClipData;->setItemAt(ILandroid/content/ClipData$Item;)V
-Landroid/content/ClipData;->toShortString(Ljava/lang/StringBuilder;)V
-Landroid/content/ClipData;->toShortStringShortItems(Ljava/lang/StringBuilder;Z)V
-Landroid/content/ClipData;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/content/ClipDataProto$Icon;
-Landroid/content/ClipDataProto$Icon;-><init>()V
-Landroid/content/ClipDataProto$Icon;->HEIGHT:J
-Landroid/content/ClipDataProto$Icon;->WIDTH:J
-Landroid/content/ClipDataProto$Item;
-Landroid/content/ClipDataProto$Item;-><init>()V
-Landroid/content/ClipDataProto$Item;->HTML_TEXT:J
-Landroid/content/ClipDataProto$Item;->INTENT:J
-Landroid/content/ClipDataProto$Item;->NOTHING:J
-Landroid/content/ClipDataProto$Item;->TEXT:J
-Landroid/content/ClipDataProto$Item;->URI:J
-Landroid/content/ClipDataProto;
-Landroid/content/ClipDataProto;-><init>()V
-Landroid/content/ClipDataProto;->DESCRIPTION:J
-Landroid/content/ClipDataProto;->ICON:J
-Landroid/content/ClipDataProto;->ITEMS:J
-Landroid/content/ClipDescription;-><init>(Landroid/os/Parcel;)V
-Landroid/content/ClipDescription;->addMimeTypes([Ljava/lang/String;)V
-Landroid/content/ClipDescription;->EXTRA_TARGET_COMPONENT_NAME:Ljava/lang/String;
-Landroid/content/ClipDescription;->EXTRA_USER_SERIAL_NUMBER:Ljava/lang/String;
-Landroid/content/ClipDescription;->mExtras:Landroid/os/PersistableBundle;
-Landroid/content/ClipDescription;->mLabel:Ljava/lang/CharSequence;
-Landroid/content/ClipDescription;->mMimeTypes:Ljava/util/ArrayList;
-Landroid/content/ClipDescription;->mTimeStamp:J
-Landroid/content/ClipDescription;->setTimestamp(J)V
-Landroid/content/ClipDescription;->toShortString(Ljava/lang/StringBuilder;)Z
-Landroid/content/ClipDescription;->toShortStringTypesOnly(Ljava/lang/StringBuilder;)Z
-Landroid/content/ClipDescription;->validate()V
-Landroid/content/ClipDescription;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/content/ClipDescriptionProto;
-Landroid/content/ClipDescriptionProto;-><init>()V
-Landroid/content/ClipDescriptionProto;->EXTRAS:J
-Landroid/content/ClipDescriptionProto;->LABEL:J
-Landroid/content/ClipDescriptionProto;->MIME_TYPES:J
-Landroid/content/ClipDescriptionProto;->TIMESTAMP_MS:J
-Landroid/content/ComponentCallbacks2$TrimMemoryLevel;
-Landroid/content/ComponentName$WithComponentName;
-Landroid/content/ComponentName$WithComponentName;->getComponentName()Landroid/content/ComponentName;
-Landroid/content/ComponentName;-><init>(Ljava/lang/String;Landroid/os/Parcel;)V
-Landroid/content/ComponentName;->appendShortClassName(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/content/ComponentName;->appendShortString(Ljava/lang/StringBuilder;)V
-Landroid/content/ComponentName;->mClass:Ljava/lang/String;
-Landroid/content/ComponentName;->mPackage:Ljava/lang/String;
-Landroid/content/ComponentName;->printShortClassName(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/content/ComponentName;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/content/ComponentNameProto;
-Landroid/content/ComponentNameProto;-><init>()V
-Landroid/content/ComponentNameProto;->CLASS_NAME:J
-Landroid/content/ComponentNameProto;->PACKAGE_NAME:J
-Landroid/content/ConfigurationProto;
-Landroid/content/ConfigurationProto;-><init>()V
-Landroid/content/ConfigurationProto;->COLOR_MODE:J
-Landroid/content/ConfigurationProto;->DENSITY_DPI:J
-Landroid/content/ConfigurationProto;->FONT_SCALE:J
-Landroid/content/ConfigurationProto;->HARD_KEYBOARD_HIDDEN:J
-Landroid/content/ConfigurationProto;->KEYBOARD:J
-Landroid/content/ConfigurationProto;->KEYBOARD_HIDDEN:J
-Landroid/content/ConfigurationProto;->LOCALES:J
-Landroid/content/ConfigurationProto;->MCC:J
-Landroid/content/ConfigurationProto;->MNC:J
-Landroid/content/ConfigurationProto;->NAVIGATION:J
-Landroid/content/ConfigurationProto;->NAVIGATION_HIDDEN:J
-Landroid/content/ConfigurationProto;->ORIENTATION:J
-Landroid/content/ConfigurationProto;->SCREEN_HEIGHT_DP:J
-Landroid/content/ConfigurationProto;->SCREEN_LAYOUT:J
-Landroid/content/ConfigurationProto;->SCREEN_WIDTH_DP:J
-Landroid/content/ConfigurationProto;->SMALLEST_SCREEN_WIDTH_DP:J
-Landroid/content/ConfigurationProto;->TOUCHSCREEN:J
-Landroid/content/ConfigurationProto;->UI_MODE:J
-Landroid/content/ConfigurationProto;->WINDOW_CONFIGURATION:J
-Landroid/content/ContentInsertHandler;
-Landroid/content/ContentInsertHandler;->insert(Landroid/content/ContentResolver;Ljava/io/InputStream;)V
-Landroid/content/ContentInsertHandler;->insert(Landroid/content/ContentResolver;Ljava/lang/String;)V
-Landroid/content/ContentProvider$Transport;
-Landroid/content/ContentProvider$Transport;-><init>()V
-Landroid/content/ContentProvider$Transport;->applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
-Landroid/content/ContentProvider$Transport;->bulkInsert(Ljava/lang/String;Landroid/net/Uri;[Landroid/content/ContentValues;)I
-Landroid/content/ContentProvider$Transport;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
-Landroid/content/ContentProvider$Transport;->canonicalize(Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
-Landroid/content/ContentProvider$Transport;->createCancellationSignal()Landroid/os/ICancellationSignal;
-Landroid/content/ContentProvider$Transport;->delete(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
-Landroid/content/ContentProvider$Transport;->enforceFilePermission(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/IBinder;)V
-Landroid/content/ContentProvider$Transport;->enforceReadPermission(Ljava/lang/String;Landroid/net/Uri;Landroid/os/IBinder;)I
-Landroid/content/ContentProvider$Transport;->enforceWritePermission(Ljava/lang/String;Landroid/net/Uri;Landroid/os/IBinder;)I
-Landroid/content/ContentProvider$Transport;->getContentProvider()Landroid/content/ContentProvider;
-Landroid/content/ContentProvider$Transport;->getProviderName()Ljava/lang/String;
-Landroid/content/ContentProvider$Transport;->getStreamTypes(Landroid/net/Uri;Ljava/lang/String;)[Ljava/lang/String;
-Landroid/content/ContentProvider$Transport;->getType(Landroid/net/Uri;)Ljava/lang/String;
-Landroid/content/ContentProvider$Transport;->insert(Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
-Landroid/content/ContentProvider$Transport;->mAppOpsManager:Landroid/app/AppOpsManager;
-Landroid/content/ContentProvider$Transport;->mReadOp:I
-Landroid/content/ContentProvider$Transport;->mWriteOp:I
-Landroid/content/ContentProvider$Transport;->openAssetFile(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/content/res/AssetFileDescriptor;
-Landroid/content/ContentProvider$Transport;->openFile(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/ICancellationSignal;Landroid/os/IBinder;)Landroid/os/ParcelFileDescriptor;
-Landroid/content/ContentProvider$Transport;->openTypedAssetFile(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/content/res/AssetFileDescriptor;
-Landroid/content/ContentProvider$Transport;->query(Ljava/lang/String;Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
-Landroid/content/ContentProvider$Transport;->refresh(Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Z
-Landroid/content/ContentProvider$Transport;->uncanonicalize(Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
-Landroid/content/ContentProvider$Transport;->update(Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
-Landroid/content/ContentProvider;->attachInfo(Landroid/content/Context;Landroid/content/pm/ProviderInfo;Z)V
-Landroid/content/ContentProvider;->checkPermissionAndAppOp(Ljava/lang/String;Ljava/lang/String;Landroid/os/IBinder;)I
-Landroid/content/ContentProvider;->checkUser(IILandroid/content/Context;)Z
-Landroid/content/ContentProvider;->enforceReadPermissionInner(Landroid/net/Uri;Ljava/lang/String;Landroid/os/IBinder;)I
-Landroid/content/ContentProvider;->enforceWritePermissionInner(Landroid/net/Uri;Ljava/lang/String;Landroid/os/IBinder;)I
-Landroid/content/ContentProvider;->getAppOpsManager()Landroid/app/AppOpsManager;
-Landroid/content/ContentProvider;->getAuthorityWithoutUserId(Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/ContentProvider;->getUriWithoutUserId(Landroid/net/Uri;)Landroid/net/Uri;
-Landroid/content/ContentProvider;->getUserIdFromAuthority(Ljava/lang/String;)I
-Landroid/content/ContentProvider;->getUserIdFromAuthority(Ljava/lang/String;I)I
-Landroid/content/ContentProvider;->getUserIdFromUri(Landroid/net/Uri;)I
-Landroid/content/ContentProvider;->getUserIdFromUri(Landroid/net/Uri;I)I
-Landroid/content/ContentProvider;->matchesOurAuthorities(Ljava/lang/String;)Z
-Landroid/content/ContentProvider;->maybeGetUriWithoutUserId(Landroid/net/Uri;)Landroid/net/Uri;
-Landroid/content/ContentProvider;->mCallingPackage:Ljava/lang/ThreadLocal;
-Landroid/content/ContentProvider;->mExported:Z
-Landroid/content/ContentProvider;->mMyUid:I
-Landroid/content/ContentProvider;->mNoPerms:Z
-Landroid/content/ContentProvider;->mSingleUser:Z
-Landroid/content/ContentProvider;->mTransport:Landroid/content/ContentProvider$Transport;
-Landroid/content/ContentProvider;->rejectInsert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
-Landroid/content/ContentProvider;->setAuthorities(Ljava/lang/String;)V
-Landroid/content/ContentProvider;->setCallingPackage(Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/ContentProvider;->TAG:Ljava/lang/String;
-Landroid/content/ContentProvider;->uriHasUserId(Landroid/net/Uri;)Z
-Landroid/content/ContentProvider;->validateIncomingUri(Landroid/net/Uri;)V
-Landroid/content/ContentProviderClient$CursorWrapperInner;
-Landroid/content/ContentProviderClient$CursorWrapperInner;-><init>(Landroid/database/Cursor;)V
-Landroid/content/ContentProviderClient$CursorWrapperInner;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/content/ContentProviderClient$NotRespondingRunnable;
-Landroid/content/ContentProviderClient$NotRespondingRunnable;-><init>()V
-Landroid/content/ContentProviderClient;-><init>(Landroid/content/ContentResolver;Landroid/content/IContentProvider;Z)V
-Landroid/content/ContentProviderClient;->afterRemote()V
-Landroid/content/ContentProviderClient;->beforeRemote()V
-Landroid/content/ContentProviderClient;->closeInternal()Z
-Landroid/content/ContentProviderClient;->mAnrRunnable:Landroid/content/ContentProviderClient$NotRespondingRunnable;
-Landroid/content/ContentProviderClient;->mAnrTimeout:J
-Landroid/content/ContentProviderClient;->mClosed:Ljava/util/concurrent/atomic/AtomicBoolean;
-Landroid/content/ContentProviderClient;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/content/ContentProviderClient;->mContentResolver:Landroid/content/ContentResolver;
-Landroid/content/ContentProviderClient;->mStable:Z
-Landroid/content/ContentProviderClient;->releaseQuietly(Landroid/content/ContentProviderClient;)V
-Landroid/content/ContentProviderClient;->sAnrHandler:Landroid/os/Handler;
-Landroid/content/ContentProviderClient;->setDetectNotResponding(J)V
-Landroid/content/ContentProviderClient;->TAG:Ljava/lang/String;
-Landroid/content/ContentProviderNative;
-Landroid/content/ContentProviderNative;-><init>()V
-Landroid/content/ContentProviderNative;->getProviderName()Ljava/lang/String;
-Landroid/content/ContentProviderOperation$Builder;-><init>(ILandroid/net/Uri;)V
-Landroid/content/ContentProviderOperation$Builder;->mExpectedCount:Ljava/lang/Integer;
-Landroid/content/ContentProviderOperation$Builder;->mSelection:Ljava/lang/String;
-Landroid/content/ContentProviderOperation$Builder;->mSelectionArgs:[Ljava/lang/String;
-Landroid/content/ContentProviderOperation$Builder;->mSelectionArgsBackReferences:Ljava/util/Map;
-Landroid/content/ContentProviderOperation$Builder;->mType:I
-Landroid/content/ContentProviderOperation$Builder;->mUri:Landroid/net/Uri;
-Landroid/content/ContentProviderOperation$Builder;->mValues:Landroid/content/ContentValues;
-Landroid/content/ContentProviderOperation$Builder;->mValuesBackReferences:Landroid/content/ContentValues;
-Landroid/content/ContentProviderOperation$Builder;->mYieldAllowed:Z
-Landroid/content/ContentProviderOperation;-><init>(Landroid/content/ContentProviderOperation$Builder;)V
-Landroid/content/ContentProviderOperation;-><init>(Landroid/content/ContentProviderOperation;Z)V
-Landroid/content/ContentProviderOperation;-><init>(Landroid/os/Parcel;)V
-Landroid/content/ContentProviderOperation;->backRefToValue([Landroid/content/ContentProviderResult;ILjava/lang/Integer;)J
-Landroid/content/ContentProviderOperation;->getWithoutUserIdInUri()Landroid/content/ContentProviderOperation;
-Landroid/content/ContentProviderOperation;->mExpectedCount:Ljava/lang/Integer;
-Landroid/content/ContentProviderOperation;->mSelectionArgs:[Ljava/lang/String;
-Landroid/content/ContentProviderOperation;->mSelectionArgsBackReferences:Ljava/util/Map;
-Landroid/content/ContentProviderOperation;->mValues:Landroid/content/ContentValues;
-Landroid/content/ContentProviderOperation;->mValuesBackReferences:Landroid/content/ContentValues;
-Landroid/content/ContentProviderOperation;->mYieldAllowed:Z
-Landroid/content/ContentProviderOperation;->TAG:Ljava/lang/String;
-Landroid/content/ContentProviderOperation;->TYPE_ASSERT:I
-Landroid/content/ContentProviderResult;-><init>(Landroid/content/ContentProviderResult;I)V
-Landroid/content/ContentQueryMap;->mColumnNames:[Ljava/lang/String;
-Landroid/content/ContentQueryMap;->mContentObserver:Landroid/database/ContentObserver;
-Landroid/content/ContentQueryMap;->mCursor:Landroid/database/Cursor;
-Landroid/content/ContentQueryMap;->mDirty:Z
-Landroid/content/ContentQueryMap;->mHandlerForUpdateNotifications:Landroid/os/Handler;
-Landroid/content/ContentQueryMap;->mKeepUpdated:Z
-Landroid/content/ContentQueryMap;->mKeyColumn:I
-Landroid/content/ContentQueryMap;->mValues:Ljava/util/Map;
-Landroid/content/ContentQueryMap;->readCursorIntoCache(Landroid/database/Cursor;)V
-Landroid/content/ContentResolver$CursorWrapperInner;
-Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/database/Cursor;Landroid/content/IContentProvider;)V
-Landroid/content/ContentResolver$CursorWrapperInner;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/content/ContentResolver$CursorWrapperInner;->mContentProvider:Landroid/content/IContentProvider;
-Landroid/content/ContentResolver$CursorWrapperInner;->mProviderReleased:Ljava/util/concurrent/atomic/AtomicBoolean;
-Landroid/content/ContentResolver$NotifyFlags;
-Landroid/content/ContentResolver$OpenResourceIdResult;
-Landroid/content/ContentResolver$OpenResourceIdResult;-><init>()V
-Landroid/content/ContentResolver$ParcelFileDescriptorInner;
-Landroid/content/ContentResolver$ParcelFileDescriptorInner;-><init>(Landroid/os/ParcelFileDescriptor;Landroid/content/IContentProvider;)V
-Landroid/content/ContentResolver$ParcelFileDescriptorInner;->mContentProvider:Landroid/content/IContentProvider;
-Landroid/content/ContentResolver$ParcelFileDescriptorInner;->mProviderReleased:Ljava/util/concurrent/atomic/AtomicBoolean;
-Landroid/content/ContentResolver$ParcelFileDescriptorInner;->releaseResources()V
-Landroid/content/ContentResolver$QueryCollator;
-Landroid/content/ContentResolver$SortDirection;
-Landroid/content/ContentResolver$SyncExemption;
-Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
-Landroid/content/ContentResolver;->ACTION_SYNC_CONN_STATUS_CHANGED:Landroid/content/Intent;
-Landroid/content/ContentResolver;->appNotRespondingViaProvider(Landroid/content/IContentProvider;)V
-Landroid/content/ContentResolver;->cancelSyncAsUser(Landroid/accounts/Account;Ljava/lang/String;I)V
-Landroid/content/ContentResolver;->CONTENT_SERVICE_NAME:Ljava/lang/String;
-Landroid/content/ContentResolver;->createSqlQueryBundle(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;
-Landroid/content/ContentResolver;->createSqlSortClause(Landroid/os/Bundle;)Ljava/lang/String;
-Landroid/content/ContentResolver;->ENABLE_CONTENT_SAMPLE:Z
-Landroid/content/ContentResolver;->getCache(Landroid/net/Uri;)Landroid/os/Bundle;
-Landroid/content/ContentResolver;->getCurrentSyncsAsUser(I)Ljava/util/List;
-Landroid/content/ContentResolver;->getIsSyncableAsUser(Landroid/accounts/Account;Ljava/lang/String;I)I
-Landroid/content/ContentResolver;->getMasterSyncAutomaticallyAsUser(I)Z
-Landroid/content/ContentResolver;->getSyncAdapterTypesAsUser(I)[Landroid/content/SyncAdapterType;
-Landroid/content/ContentResolver;->getSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;I)Z
-Landroid/content/ContentResolver;->getTargetSdkVersion()I
-Landroid/content/ContentResolver;->getTypeDrawable(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
-Landroid/content/ContentResolver;->getUserId()I
-Landroid/content/ContentResolver;->invalidPeriodicExtras(Landroid/os/Bundle;)Z
-Landroid/content/ContentResolver;->isSyncPendingAsUser(Landroid/accounts/Account;Ljava/lang/String;I)Z
-Landroid/content/ContentResolver;->maybeLogQueryToEventLog(JLandroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/content/ContentResolver;->maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/content/ContentResolver;->mRandom:Ljava/util/Random;
-Landroid/content/ContentResolver;->mTargetSdkVersion:I
-Landroid/content/ContentResolver;->notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;II)V
-Landroid/content/ContentResolver;->notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;ZI)V
-Landroid/content/ContentResolver;->putCache(Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/content/ContentResolver;->requestSyncAsUser(Landroid/accounts/Account;Ljava/lang/String;ILandroid/os/Bundle;)V
-Landroid/content/ContentResolver;->resolveUserId(Landroid/net/Uri;)I
-Landroid/content/ContentResolver;->samplePercentForDuration(J)I
-Landroid/content/ContentResolver;->setMasterSyncAutomaticallyAsUser(ZI)V
-Landroid/content/ContentResolver;->setSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;ZI)V
-Landroid/content/ContentResolver;->SLOW_THRESHOLD_MILLIS:I
-Landroid/content/ContentResolver;->syncErrorStringToInt(Ljava/lang/String;)I
-Landroid/content/ContentResolver;->syncErrorToString(I)Ljava/lang/String;
-Landroid/content/ContentResolver;->SYNC_ERROR_AUTHENTICATION:I
-Landroid/content/ContentResolver;->SYNC_ERROR_CONFLICT:I
-Landroid/content/ContentResolver;->SYNC_ERROR_INTERNAL:I
-Landroid/content/ContentResolver;->SYNC_ERROR_IO:I
-Landroid/content/ContentResolver;->SYNC_ERROR_NAMES:[Ljava/lang/String;
-Landroid/content/ContentResolver;->SYNC_ERROR_PARSE:I
-Landroid/content/ContentResolver;->SYNC_ERROR_TOO_MANY_DELETIONS:I
-Landroid/content/ContentResolver;->SYNC_ERROR_TOO_MANY_RETRIES:I
-Landroid/content/ContentResolver;->SYNC_EXEMPTION_NONE:I
-Landroid/content/ContentResolver;->SYNC_EXEMPTION_PROMOTE_BUCKET:I
-Landroid/content/ContentResolver;->SYNC_EXEMPTION_PROMOTE_BUCKET_WITH_TEMP:I
-Landroid/content/ContentResolver;->SYNC_EXTRAS_DISALLOW_METERED:Ljava/lang/String;
-Landroid/content/ContentResolver;->SYNC_EXTRAS_EXPECTED_DOWNLOAD:Ljava/lang/String;
-Landroid/content/ContentResolver;->SYNC_EXTRAS_EXPECTED_UPLOAD:Ljava/lang/String;
-Landroid/content/ContentResolver;->SYNC_EXTRAS_PRIORITY:Ljava/lang/String;
-Landroid/content/ContentResolver;->SYNC_OBSERVER_TYPE_ALL:I
-Landroid/content/ContentResolver;->SYNC_VIRTUAL_EXTRAS_EXEMPTION_FLAG:Ljava/lang/String;
-Landroid/content/ContentResolver;->TAG:Ljava/lang/String;
-Landroid/content/ContentValues;->isEmpty()Z
-Landroid/content/Context$BindServiceFlags;
-Landroid/content/Context$CreatePackageOptions;
-Landroid/content/Context$DatabaseMode;
-Landroid/content/Context$FileMode;
-Landroid/content/Context$PreferencesMode;
-Landroid/content/Context$RegisterReceiverFlags;
-Landroid/content/Context$ServiceName;
-Landroid/content/Context;->assertRuntimeOverlayThemable()V
-Landroid/content/Context;->AUTOFILL_MANAGER_SERVICE:Ljava/lang/String;
-Landroid/content/Context;->BIND_ALLOW_INSTANT:I
-Landroid/content/Context;->BIND_ALLOW_WHITELIST_MANAGEMENT:I
-Landroid/content/Context;->BIND_FOREGROUND_SERVICE:I
-Landroid/content/Context;->BIND_FOREGROUND_SERVICE_WHILE_AWAKE:I
-Landroid/content/Context;->BIND_IMPORTANT_BACKGROUND:I
-Landroid/content/Context;->BIND_NOT_VISIBLE:I
-Landroid/content/Context;->BIND_SHOWING_UI:I
-Landroid/content/Context;->BIND_TREAT_LIKE_ACTIVITY:I
-Landroid/content/Context;->BIND_VISIBLE:I
-Landroid/content/Context;->canLoadUnsafeResources()Z
-Landroid/content/Context;->checkUriPermission(Landroid/net/Uri;IIILandroid/os/IBinder;)I
-Landroid/content/Context;->CONTEXT_CREDENTIAL_PROTECTED_STORAGE:I
-Landroid/content/Context;->CONTEXT_DEVICE_PROTECTED_STORAGE:I
-Landroid/content/Context;->CONTEXT_REGISTER_PACKAGE:I
-Landroid/content/Context;->DEVICE_IDENTIFIERS_SERVICE:Ljava/lang/String;
-Landroid/content/Context;->DEVICE_IDLE_CONTROLLER:Ljava/lang/String;
-Landroid/content/Context;->GATEKEEPER_SERVICE:Ljava/lang/String;
-Landroid/content/Context;->getActivityToken()Landroid/os/IBinder;
-Landroid/content/Context;->getAutofillClient()Landroid/view/autofill/AutofillManager$AutofillClient;
-Landroid/content/Context;->getDisplayAdjustments(I)Landroid/view/DisplayAdjustments;
-Landroid/content/Context;->getIApplicationThread()Landroid/app/IApplicationThread;
-Landroid/content/Context;->getMainThreadHandler()Landroid/os/Handler;
-Landroid/content/Context;->getNextAutofillId()I
-Landroid/content/Context;->getServiceDispatcher(Landroid/content/ServiceConnection;Landroid/os/Handler;I)Landroid/app/IServiceConnection;
-Landroid/content/Context;->INCIDENT_SERVICE:Ljava/lang/String;
-Landroid/content/Context;->isAutofillCompatibilityEnabled()Z
-Landroid/content/Context;->LOWPAN_SERVICE:Ljava/lang/String;
-Landroid/content/Context;->NETWORKMANAGEMENT_SERVICE:Ljava/lang/String;
-Landroid/content/Context;->NETWORK_POLICY_SERVICE:Ljava/lang/String;
-Landroid/content/Context;->NETWORK_WATCHLIST_SERVICE:Ljava/lang/String;
-Landroid/content/Context;->OVERLAY_SERVICE:Ljava/lang/String;
-Landroid/content/Context;->RADIO_SERVICE:Ljava/lang/String;
-Landroid/content/Context;->RECOVERY_SERVICE:Ljava/lang/String;
-Landroid/content/Context;->reloadSharedPreferences()V
-Landroid/content/Context;->sendBroadcastAsUserMultiplePermissions(Landroid/content/Intent;Landroid/os/UserHandle;[Ljava/lang/String;)V
-Landroid/content/Context;->sendBroadcastMultiplePermissions(Landroid/content/Intent;[Ljava/lang/String;)V
-Landroid/content/Context;->sendStickyBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Landroid/os/Bundle;)V
-Landroid/content/Context;->SERIAL_SERVICE:Ljava/lang/String;
-Landroid/content/Context;->setAutofillClient(Landroid/view/autofill/AutofillManager$AutofillClient;)V
-Landroid/content/Context;->SIP_SERVICE:Ljava/lang/String;
-Landroid/content/Context;->sLastAutofillId:I
-Landroid/content/Context;->SLICE_SERVICE:Ljava/lang/String;
-Landroid/content/Context;->SOUND_TRIGGER_SERVICE:Ljava/lang/String;
-Landroid/content/Context;->startActivitiesAsUser([Landroid/content/Intent;Landroid/os/Bundle;Landroid/os/UserHandle;)I
-Landroid/content/Context;->startForegroundServiceAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)Landroid/content/ComponentName;
-Landroid/content/Context;->STATS_COMPANION_SERVICE:Ljava/lang/String;
-Landroid/content/Context;->stopServiceAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)Z
-Landroid/content/Context;->TIME_ZONE_RULES_MANAGER_SERVICE:Ljava/lang/String;
-Landroid/content/Context;->TRUST_SERVICE:Ljava/lang/String;
-Landroid/content/Context;->updateDisplay(I)V
-Landroid/content/Context;->UPDATE_LOCK_SERVICE:Ljava/lang/String;
-Landroid/content/Context;->VOICE_INTERACTION_MANAGER_SERVICE:Ljava/lang/String;
-Landroid/content/ContextWrapper;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/Handler;Landroid/os/UserHandle;)Z
-Landroid/content/ContextWrapper;->canLoadUnsafeResources()Z
-Landroid/content/ContextWrapper;->canStartActivityForResult()Z
-Landroid/content/ContextWrapper;->checkPermission(Ljava/lang/String;IILandroid/os/IBinder;)I
-Landroid/content/ContextWrapper;->checkUriPermission(Landroid/net/Uri;IIILandroid/os/IBinder;)I
-Landroid/content/ContextWrapper;->getActivityToken()Landroid/os/IBinder;
-Landroid/content/ContextWrapper;->getAutofillClient()Landroid/view/autofill/AutofillManager$AutofillClient;
-Landroid/content/ContextWrapper;->getDisplayAdjustments(I)Landroid/view/DisplayAdjustments;
-Landroid/content/ContextWrapper;->getIApplicationThread()Landroid/app/IApplicationThread;
-Landroid/content/ContextWrapper;->getMainThreadHandler()Landroid/os/Handler;
-Landroid/content/ContextWrapper;->getNextAutofillId()I
-Landroid/content/ContextWrapper;->getServiceDispatcher(Landroid/content/ServiceConnection;Landroid/os/Handler;I)Landroid/app/IServiceConnection;
-Landroid/content/ContextWrapper;->isAutofillCompatibilityEnabled()Z
-Landroid/content/ContextWrapper;->reloadSharedPreferences()V
-Landroid/content/ContextWrapper;->sendBroadcast(Landroid/content/Intent;Ljava/lang/String;I)V
-Landroid/content/ContextWrapper;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;I)V
-Landroid/content/ContextWrapper;->sendBroadcastAsUserMultiplePermissions(Landroid/content/Intent;Landroid/os/UserHandle;[Ljava/lang/String;)V
-Landroid/content/ContextWrapper;->sendBroadcastMultiplePermissions(Landroid/content/Intent;[Ljava/lang/String;)V
-Landroid/content/ContextWrapper;->sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;ILandroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V
-Landroid/content/ContextWrapper;->sendOrderedBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;ILandroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V
-Landroid/content/ContextWrapper;->sendOrderedBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;ILandroid/os/Bundle;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V
-Landroid/content/ContextWrapper;->sendStickyBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Landroid/os/Bundle;)V
-Landroid/content/ContextWrapper;->setAutofillClient(Landroid/view/autofill/AutofillManager$AutofillClient;)V
-Landroid/content/ContextWrapper;->startActivitiesAsUser([Landroid/content/Intent;Landroid/os/Bundle;Landroid/os/UserHandle;)I
-Landroid/content/ContextWrapper;->startActivityAsUser(Landroid/content/Intent;Landroid/os/Bundle;Landroid/os/UserHandle;)V
-Landroid/content/ContextWrapper;->startActivityForResult(Ljava/lang/String;Landroid/content/Intent;ILandroid/os/Bundle;)V
-Landroid/content/ContextWrapper;->stopServiceAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)Z
-Landroid/content/ContextWrapper;->updateDisplay(I)V
-Landroid/content/CursorEntityIterator;
-Landroid/content/CursorEntityIterator;->getEntityAndIncrementCursor(Landroid/database/Cursor;)Landroid/content/Entity;
-Landroid/content/CursorEntityIterator;->mCursor:Landroid/database/Cursor;
-Landroid/content/CursorEntityIterator;->mIsClosed:Z
-Landroid/content/CursorLoader;->mCursor:Landroid/database/Cursor;
-Landroid/content/CursorLoader;->mProjection:[Ljava/lang/String;
-Landroid/content/CursorLoader;->mSelection:Ljava/lang/String;
-Landroid/content/CursorLoader;->mSelectionArgs:[Ljava/lang/String;
-Landroid/content/CursorLoader;->mSortOrder:Ljava/lang/String;
-Landroid/content/CursorLoader;->mUri:Landroid/net/Uri;
-Landroid/content/DefaultDataHandler;
-Landroid/content/DefaultDataHandler;-><init>()V
-Landroid/content/DefaultDataHandler;->ARG:Ljava/lang/String;
-Landroid/content/DefaultDataHandler;->COL:Ljava/lang/String;
-Landroid/content/DefaultDataHandler;->DEL:Ljava/lang/String;
-Landroid/content/DefaultDataHandler;->insert(Landroid/content/ContentResolver;Ljava/io/InputStream;)V
-Landroid/content/DefaultDataHandler;->insert(Landroid/content/ContentResolver;Ljava/lang/String;)V
-Landroid/content/DefaultDataHandler;->insertRow()Landroid/net/Uri;
-Landroid/content/DefaultDataHandler;->mContentResolver:Landroid/content/ContentResolver;
-Landroid/content/DefaultDataHandler;->mUris:Ljava/util/Stack;
-Landroid/content/DefaultDataHandler;->mValues:Landroid/content/ContentValues;
-Landroid/content/DefaultDataHandler;->parseRow(Lorg/xml/sax/Attributes;)V
-Landroid/content/DefaultDataHandler;->POSTFIX:Ljava/lang/String;
-Landroid/content/DefaultDataHandler;->ROW:Ljava/lang/String;
-Landroid/content/DefaultDataHandler;->SELECT:Ljava/lang/String;
-Landroid/content/DefaultDataHandler;->URI_STR:Ljava/lang/String;
-Landroid/content/DeviceConfigurationProto;
-Landroid/content/DeviceConfigurationProto;-><init>()V
-Landroid/content/DeviceConfigurationProto;->CPU_ARCHITECTURES:J
-Landroid/content/DeviceConfigurationProto;->FEATURES:J
-Landroid/content/DeviceConfigurationProto;->HAS_SECURE_SCREEN_LOCK:J
-Landroid/content/DeviceConfigurationProto;->LOW_RAM:J
-Landroid/content/DeviceConfigurationProto;->MAX_CORES:J
-Landroid/content/DeviceConfigurationProto;->OPENGL_EXTENSIONS:J
-Landroid/content/DeviceConfigurationProto;->OPENGL_VERSION:J
-Landroid/content/DeviceConfigurationProto;->SHARED_LIBRARIES:J
-Landroid/content/DeviceConfigurationProto;->STABLE_DENSITY_DPI:J
-Landroid/content/DeviceConfigurationProto;->STABLE_SCREEN_HEIGHT_PX:J
-Landroid/content/DeviceConfigurationProto;->STABLE_SCREEN_WIDTH_PX:J
-Landroid/content/DeviceConfigurationProto;->TOTAL_RAM:J
-Landroid/content/EventLogTags;
-Landroid/content/EventLogTags;-><init>()V
-Landroid/content/EventLogTags;->BINDER_SAMPLE:I
-Landroid/content/EventLogTags;->CONTENT_QUERY_SAMPLE:I
-Landroid/content/EventLogTags;->CONTENT_UPDATE_SAMPLE:I
-Landroid/content/EventLogTags;->writeBinderSample(Ljava/lang/String;IILjava/lang/String;I)V
-Landroid/content/EventLogTags;->writeContentQuerySample(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;I)V
-Landroid/content/EventLogTags;->writeContentUpdateSample(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;I)V
-Landroid/content/GlobalConfigurationProto;
-Landroid/content/GlobalConfigurationProto;-><init>()V
-Landroid/content/GlobalConfigurationProto;->DEVICE:J
-Landroid/content/GlobalConfigurationProto;->RESOURCES:J
-Landroid/content/IClipboard$Stub$Proxy;
-Landroid/content/IClipboard$Stub$Proxy;->addPrimaryClipChangedListener(Landroid/content/IOnPrimaryClipChangedListener;Ljava/lang/String;)V
-Landroid/content/IClipboard$Stub$Proxy;->clearPrimaryClip(Ljava/lang/String;)V
-Landroid/content/IClipboard$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/IClipboard$Stub$Proxy;->getPrimaryClip(Ljava/lang/String;)Landroid/content/ClipData;
-Landroid/content/IClipboard$Stub$Proxy;->getPrimaryClipDescription(Ljava/lang/String;)Landroid/content/ClipDescription;
-Landroid/content/IClipboard$Stub$Proxy;->hasClipboardText(Ljava/lang/String;)Z
-Landroid/content/IClipboard$Stub$Proxy;->hasPrimaryClip(Ljava/lang/String;)Z
-Landroid/content/IClipboard$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/IClipboard$Stub$Proxy;->removePrimaryClipChangedListener(Landroid/content/IOnPrimaryClipChangedListener;)V
-Landroid/content/IClipboard$Stub$Proxy;->setPrimaryClip(Landroid/content/ClipData;Ljava/lang/String;)V
-Landroid/content/IClipboard$Stub;
-Landroid/content/IClipboard$Stub;-><init>()V
-Landroid/content/IClipboard$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/IClipboard$Stub;->TRANSACTION_addPrimaryClipChangedListener:I
-Landroid/content/IClipboard$Stub;->TRANSACTION_clearPrimaryClip:I
-Landroid/content/IClipboard$Stub;->TRANSACTION_getPrimaryClip:I
-Landroid/content/IClipboard$Stub;->TRANSACTION_getPrimaryClipDescription:I
-Landroid/content/IClipboard$Stub;->TRANSACTION_hasClipboardText:I
-Landroid/content/IClipboard$Stub;->TRANSACTION_hasPrimaryClip:I
-Landroid/content/IClipboard$Stub;->TRANSACTION_removePrimaryClipChangedListener:I
-Landroid/content/IClipboard$Stub;->TRANSACTION_setPrimaryClip:I
-Landroid/content/IClipboard;
-Landroid/content/IClipboard;->addPrimaryClipChangedListener(Landroid/content/IOnPrimaryClipChangedListener;Ljava/lang/String;)V
-Landroid/content/IClipboard;->clearPrimaryClip(Ljava/lang/String;)V
-Landroid/content/IClipboard;->getPrimaryClip(Ljava/lang/String;)Landroid/content/ClipData;
-Landroid/content/IClipboard;->getPrimaryClipDescription(Ljava/lang/String;)Landroid/content/ClipDescription;
-Landroid/content/IClipboard;->hasClipboardText(Ljava/lang/String;)Z
-Landroid/content/IClipboard;->hasPrimaryClip(Ljava/lang/String;)Z
-Landroid/content/IClipboard;->removePrimaryClipChangedListener(Landroid/content/IOnPrimaryClipChangedListener;)V
-Landroid/content/IClipboard;->setPrimaryClip(Landroid/content/ClipData;Ljava/lang/String;)V
-Landroid/content/IContentProvider;
-Landroid/content/IContentProvider;->applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
-Landroid/content/IContentProvider;->APPLY_BATCH_TRANSACTION:I
-Landroid/content/IContentProvider;->BULK_INSERT_TRANSACTION:I
-Landroid/content/IContentProvider;->CALL_TRANSACTION:I
-Landroid/content/IContentProvider;->canonicalize(Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
-Landroid/content/IContentProvider;->CANONICALIZE_TRANSACTION:I
-Landroid/content/IContentProvider;->createCancellationSignal()Landroid/os/ICancellationSignal;
-Landroid/content/IContentProvider;->CREATE_CANCELATION_SIGNAL_TRANSACTION:I
-Landroid/content/IContentProvider;->DELETE_TRANSACTION:I
-Landroid/content/IContentProvider;->getStreamTypes(Landroid/net/Uri;Ljava/lang/String;)[Ljava/lang/String;
-Landroid/content/IContentProvider;->getType(Landroid/net/Uri;)Ljava/lang/String;
-Landroid/content/IContentProvider;->GET_STREAM_TYPES_TRANSACTION:I
-Landroid/content/IContentProvider;->GET_TYPE_TRANSACTION:I
-Landroid/content/IContentProvider;->INSERT_TRANSACTION:I
-Landroid/content/IContentProvider;->openAssetFile(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/content/res/AssetFileDescriptor;
-Landroid/content/IContentProvider;->openFile(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/ICancellationSignal;Landroid/os/IBinder;)Landroid/os/ParcelFileDescriptor;
-Landroid/content/IContentProvider;->openTypedAssetFile(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/content/res/AssetFileDescriptor;
-Landroid/content/IContentProvider;->OPEN_ASSET_FILE_TRANSACTION:I
-Landroid/content/IContentProvider;->OPEN_FILE_TRANSACTION:I
-Landroid/content/IContentProvider;->OPEN_TYPED_ASSET_FILE_TRANSACTION:I
-Landroid/content/IContentProvider;->query(Ljava/lang/String;Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
-Landroid/content/IContentProvider;->refresh(Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Z
-Landroid/content/IContentProvider;->REFRESH_TRANSACTION:I
-Landroid/content/IContentProvider;->uncanonicalize(Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
-Landroid/content/IContentProvider;->UNCANONICALIZE_TRANSACTION:I
-Landroid/content/IContentProvider;->UPDATE_TRANSACTION:I
-Landroid/content/IContentService$Stub$Proxy;
-Landroid/content/IContentService$Stub$Proxy;->addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V
-Landroid/content/IContentService$Stub$Proxy;->addStatusChangeListener(ILandroid/content/ISyncStatusObserver;)V
-Landroid/content/IContentService$Stub$Proxy;->cancelRequest(Landroid/content/SyncRequest;)V
-Landroid/content/IContentService$Stub$Proxy;->cancelSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)V
-Landroid/content/IContentService$Stub$Proxy;->cancelSyncAsUser(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;I)V
-Landroid/content/IContentService$Stub$Proxy;->getCache(Ljava/lang/String;Landroid/net/Uri;I)Landroid/os/Bundle;
-Landroid/content/IContentService$Stub$Proxy;->getCurrentSyncs()Ljava/util/List;
-Landroid/content/IContentService$Stub$Proxy;->getCurrentSyncsAsUser(I)Ljava/util/List;
-Landroid/content/IContentService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/IContentService$Stub$Proxy;->getIsSyncable(Landroid/accounts/Account;Ljava/lang/String;)I
-Landroid/content/IContentService$Stub$Proxy;->getIsSyncableAsUser(Landroid/accounts/Account;Ljava/lang/String;I)I
-Landroid/content/IContentService$Stub$Proxy;->getMasterSyncAutomatically()Z
-Landroid/content/IContentService$Stub$Proxy;->getMasterSyncAutomaticallyAsUser(I)Z
-Landroid/content/IContentService$Stub$Proxy;->getPeriodicSyncs(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Ljava/util/List;
-Landroid/content/IContentService$Stub$Proxy;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;I)[Ljava/lang/String;
-Landroid/content/IContentService$Stub$Proxy;->getSyncAdapterTypes()[Landroid/content/SyncAdapterType;
-Landroid/content/IContentService$Stub$Proxy;->getSyncAdapterTypesAsUser(I)[Landroid/content/SyncAdapterType;
-Landroid/content/IContentService$Stub$Proxy;->getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z
-Landroid/content/IContentService$Stub$Proxy;->getSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;I)Z
-Landroid/content/IContentService$Stub$Proxy;->getSyncStatus(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Landroid/content/SyncStatusInfo;
-Landroid/content/IContentService$Stub$Proxy;->getSyncStatusAsUser(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;I)Landroid/content/SyncStatusInfo;
-Landroid/content/IContentService$Stub$Proxy;->isSyncActive(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Z
-Landroid/content/IContentService$Stub$Proxy;->isSyncPending(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Z
-Landroid/content/IContentService$Stub$Proxy;->isSyncPendingAsUser(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;I)Z
-Landroid/content/IContentService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/IContentService$Stub$Proxy;->notifyChange(Landroid/net/Uri;Landroid/database/IContentObserver;ZIII)V
-Landroid/content/IContentService$Stub$Proxy;->putCache(Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;I)V
-Landroid/content/IContentService$Stub$Proxy;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/IContentObserver;II)V
-Landroid/content/IContentService$Stub$Proxy;->removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/content/IContentService$Stub$Proxy;->removeStatusChangeListener(Landroid/content/ISyncStatusObserver;)V
-Landroid/content/IContentService$Stub$Proxy;->requestSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/content/IContentService$Stub$Proxy;->resetTodayStats()V
-Landroid/content/IContentService$Stub$Proxy;->setIsSyncable(Landroid/accounts/Account;Ljava/lang/String;I)V
-Landroid/content/IContentService$Stub$Proxy;->setMasterSyncAutomatically(Z)V
-Landroid/content/IContentService$Stub$Proxy;->setMasterSyncAutomaticallyAsUser(ZI)V
-Landroid/content/IContentService$Stub$Proxy;->setSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;Z)V
-Landroid/content/IContentService$Stub$Proxy;->setSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;ZI)V
-Landroid/content/IContentService$Stub$Proxy;->sync(Landroid/content/SyncRequest;)V
-Landroid/content/IContentService$Stub$Proxy;->syncAsUser(Landroid/content/SyncRequest;I)V
-Landroid/content/IContentService$Stub$Proxy;->unregisterContentObserver(Landroid/database/IContentObserver;)V
-Landroid/content/IContentService$Stub;
-Landroid/content/IContentService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/IContentService$Stub;->TRANSACTION_addPeriodicSync:I
-Landroid/content/IContentService$Stub;->TRANSACTION_addStatusChangeListener:I
-Landroid/content/IContentService$Stub;->TRANSACTION_cancelRequest:I
-Landroid/content/IContentService$Stub;->TRANSACTION_cancelSync:I
-Landroid/content/IContentService$Stub;->TRANSACTION_cancelSyncAsUser:I
-Landroid/content/IContentService$Stub;->TRANSACTION_getCache:I
-Landroid/content/IContentService$Stub;->TRANSACTION_getCurrentSyncs:I
-Landroid/content/IContentService$Stub;->TRANSACTION_getCurrentSyncsAsUser:I
-Landroid/content/IContentService$Stub;->TRANSACTION_getIsSyncable:I
-Landroid/content/IContentService$Stub;->TRANSACTION_getIsSyncableAsUser:I
-Landroid/content/IContentService$Stub;->TRANSACTION_getMasterSyncAutomatically:I
-Landroid/content/IContentService$Stub;->TRANSACTION_getMasterSyncAutomaticallyAsUser:I
-Landroid/content/IContentService$Stub;->TRANSACTION_getPeriodicSyncs:I
-Landroid/content/IContentService$Stub;->TRANSACTION_getSyncAdapterPackagesForAuthorityAsUser:I
-Landroid/content/IContentService$Stub;->TRANSACTION_getSyncAdapterTypes:I
-Landroid/content/IContentService$Stub;->TRANSACTION_getSyncAdapterTypesAsUser:I
-Landroid/content/IContentService$Stub;->TRANSACTION_getSyncAutomatically:I
-Landroid/content/IContentService$Stub;->TRANSACTION_getSyncAutomaticallyAsUser:I
-Landroid/content/IContentService$Stub;->TRANSACTION_getSyncStatus:I
-Landroid/content/IContentService$Stub;->TRANSACTION_getSyncStatusAsUser:I
-Landroid/content/IContentService$Stub;->TRANSACTION_isSyncActive:I
-Landroid/content/IContentService$Stub;->TRANSACTION_isSyncPending:I
-Landroid/content/IContentService$Stub;->TRANSACTION_isSyncPendingAsUser:I
-Landroid/content/IContentService$Stub;->TRANSACTION_notifyChange:I
-Landroid/content/IContentService$Stub;->TRANSACTION_putCache:I
-Landroid/content/IContentService$Stub;->TRANSACTION_registerContentObserver:I
-Landroid/content/IContentService$Stub;->TRANSACTION_removePeriodicSync:I
-Landroid/content/IContentService$Stub;->TRANSACTION_removeStatusChangeListener:I
-Landroid/content/IContentService$Stub;->TRANSACTION_requestSync:I
-Landroid/content/IContentService$Stub;->TRANSACTION_resetTodayStats:I
-Landroid/content/IContentService$Stub;->TRANSACTION_setIsSyncable:I
-Landroid/content/IContentService$Stub;->TRANSACTION_setMasterSyncAutomatically:I
-Landroid/content/IContentService$Stub;->TRANSACTION_setMasterSyncAutomaticallyAsUser:I
-Landroid/content/IContentService$Stub;->TRANSACTION_setSyncAutomatically:I
-Landroid/content/IContentService$Stub;->TRANSACTION_setSyncAutomaticallyAsUser:I
-Landroid/content/IContentService$Stub;->TRANSACTION_sync:I
-Landroid/content/IContentService$Stub;->TRANSACTION_syncAsUser:I
-Landroid/content/IContentService$Stub;->TRANSACTION_unregisterContentObserver:I
-Landroid/content/IContentService;
-Landroid/content/IContentService;->addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V
-Landroid/content/IContentService;->addStatusChangeListener(ILandroid/content/ISyncStatusObserver;)V
-Landroid/content/IContentService;->cancelRequest(Landroid/content/SyncRequest;)V
-Landroid/content/IContentService;->cancelSyncAsUser(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;I)V
-Landroid/content/IContentService;->getCache(Ljava/lang/String;Landroid/net/Uri;I)Landroid/os/Bundle;
-Landroid/content/IContentService;->getCurrentSyncs()Ljava/util/List;
-Landroid/content/IContentService;->getCurrentSyncsAsUser(I)Ljava/util/List;
-Landroid/content/IContentService;->getIsSyncableAsUser(Landroid/accounts/Account;Ljava/lang/String;I)I
-Landroid/content/IContentService;->getMasterSyncAutomaticallyAsUser(I)Z
-Landroid/content/IContentService;->getPeriodicSyncs(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Ljava/util/List;
-Landroid/content/IContentService;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;I)[Ljava/lang/String;
-Landroid/content/IContentService;->getSyncAdapterTypesAsUser(I)[Landroid/content/SyncAdapterType;
-Landroid/content/IContentService;->getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z
-Landroid/content/IContentService;->getSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;I)Z
-Landroid/content/IContentService;->getSyncStatus(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Landroid/content/SyncStatusInfo;
-Landroid/content/IContentService;->getSyncStatusAsUser(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;I)Landroid/content/SyncStatusInfo;
-Landroid/content/IContentService;->isSyncPending(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Z
-Landroid/content/IContentService;->isSyncPendingAsUser(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;I)Z
-Landroid/content/IContentService;->notifyChange(Landroid/net/Uri;Landroid/database/IContentObserver;ZIII)V
-Landroid/content/IContentService;->putCache(Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;I)V
-Landroid/content/IContentService;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/IContentObserver;II)V
-Landroid/content/IContentService;->removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/content/IContentService;->removeStatusChangeListener(Landroid/content/ISyncStatusObserver;)V
-Landroid/content/IContentService;->requestSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/content/IContentService;->resetTodayStats()V
-Landroid/content/IContentService;->setIsSyncable(Landroid/accounts/Account;Ljava/lang/String;I)V
-Landroid/content/IContentService;->setMasterSyncAutomaticallyAsUser(ZI)V
-Landroid/content/IContentService;->setSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;Z)V
-Landroid/content/IContentService;->setSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;ZI)V
-Landroid/content/IContentService;->sync(Landroid/content/SyncRequest;)V
-Landroid/content/IContentService;->syncAsUser(Landroid/content/SyncRequest;I)V
-Landroid/content/IContentService;->unregisterContentObserver(Landroid/database/IContentObserver;)V
-Landroid/content/IIntentReceiver$Stub$Proxy;
-Landroid/content/IIntentReceiver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/IIntentReceiver$Stub$Proxy;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
-Landroid/content/IIntentReceiver$Stub;
-Landroid/content/IIntentReceiver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/IIntentReceiver$Stub;->TRANSACTION_performReceive:I
-Landroid/content/IIntentReceiver;
-Landroid/content/IIntentSender$Stub$Proxy;
-Landroid/content/IIntentSender$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/content/IIntentSender$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/IIntentSender$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/IIntentSender$Stub$Proxy;->send(ILandroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/content/IIntentSender$Stub;
-Landroid/content/IIntentSender$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/IIntentSender$Stub;->TRANSACTION_send:I
-Landroid/content/IIntentSender;
-Landroid/content/IIntentSender;->send(ILandroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/content/Intent$AccessUriMode;
-Landroid/content/Intent$CommandOptionHandler;
-Landroid/content/Intent$CommandOptionHandler;->handleOption(Ljava/lang/String;Landroid/os/ShellCommand;)Z
-Landroid/content/Intent$CopyMode;
-Landroid/content/Intent$FillInFlags;
-Landroid/content/Intent$FilterComparison;->mHashCode:I
-Landroid/content/Intent$FilterComparison;->mIntent:Landroid/content/Intent;
-Landroid/content/Intent$Flags;
-Landroid/content/Intent$GrantUriMode;
-Landroid/content/Intent$MutableFlags;
-Landroid/content/Intent$UriFlags;
-Landroid/content/Intent;-><init>(Landroid/content/Intent;I)V
-Landroid/content/Intent;-><init>(Landroid/os/Parcel;)V
-Landroid/content/Intent;->ACTION_ADVANCED_SETTINGS_CHANGED:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_CLEAR_DNS_CACHE:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_DEVICE_LOCKED_CHANGED:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_DEVICE_STORAGE_FULL:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_DEVICE_STORAGE_NOT_FULL:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_DISMISS_KEYBOARD_SHORTCUTS:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_DOCK_ACTIVE:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_DOCK_IDLE:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_DYNAMIC_SENSOR_CHANGED:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_IDLE_MAINTENANCE_END:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_IDLE_MAINTENANCE_START:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_MEDIA_RESOURCE_GRANTED:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_MEDIA_UNSHARED:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_OVERLAY_CHANGED:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_PREFERRED_ACTIVITY_CHANGED:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_REMOTE_INTENT:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_REQUEST_SHUTDOWN:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_SETTING_RESTORED:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_SHOW_BRIGHTNESS_DIALOG:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_SHOW_KEYBOARD_SHORTCUTS:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_THERMAL_EVENT:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_USER_ADDED:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_USER_INFO_CHANGED:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_USER_STARTED:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_USER_STARTING:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_USER_STOPPED:Ljava/lang/String;
-Landroid/content/Intent;->ACTION_USER_STOPPING:Ljava/lang/String;
-Landroid/content/Intent;->ATTR_ACTION:Ljava/lang/String;
-Landroid/content/Intent;->ATTR_CATEGORY:Ljava/lang/String;
-Landroid/content/Intent;->ATTR_COMPONENT:Ljava/lang/String;
-Landroid/content/Intent;->ATTR_DATA:Ljava/lang/String;
-Landroid/content/Intent;->ATTR_FLAGS:Ljava/lang/String;
-Landroid/content/Intent;->ATTR_TYPE:Ljava/lang/String;
-Landroid/content/Intent;->canStripForHistory()Z
-Landroid/content/Intent;->CATEGORY_CAR_LAUNCHER:Ljava/lang/String;
-Landroid/content/Intent;->CATEGORY_HOME_MAIN:Ljava/lang/String;
-Landroid/content/Intent;->CATEGORY_LAUNCHER_APP:Ljava/lang/String;
-Landroid/content/Intent;->CATEGORY_SETUP_WIZARD:Ljava/lang/String;
-Landroid/content/Intent;->COPY_MODE_ALL:I
-Landroid/content/Intent;->COPY_MODE_FILTER:I
-Landroid/content/Intent;->COPY_MODE_HISTORY:I
-Landroid/content/Intent;->dockStateToString(I)Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_AUTO_LAUNCH_SINGLE_CHOICE:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_CLIENT_INTENT:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_CLIENT_LABEL:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_EPHEMERAL_FAILURE:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_EPHEMERAL_HOSTNAME:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_EPHEMERAL_SUCCESS:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_EPHEMERAL_TOKEN:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_FORCE_MASTER_CLEAR:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_INSTALL_RESULT:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_KEY_CONFIRM:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_LAUNCHER_EXTRAS:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_MEDIA_RESOURCE_TYPE:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_MEDIA_RESOURCE_TYPE_AUDIO_CODEC:I
-Landroid/content/Intent;->EXTRA_MEDIA_RESOURCE_TYPE_VIDEO_CODEC:I
-Landroid/content/Intent;->EXTRA_REMOVED_FOR_ALL_USERS:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_SETTING_NAME:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_SETTING_NEW_VALUE:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_SETTING_PREVIOUS_VALUE:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_SETTING_RESTORED_FROM_SDK_INT:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_SIM_ACTIVATION_RESPONSE:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_TASK_ID:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_THERMAL_STATE:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_THERMAL_STATE_EXCEEDED:I
-Landroid/content/Intent;->EXTRA_THERMAL_STATE_NORMAL:I
-Landroid/content/Intent;->EXTRA_THERMAL_STATE_WARNING:I
-Landroid/content/Intent;->EXTRA_TIME_PREF_24_HOUR_FORMAT:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_TIME_PREF_VALUE_USE_12_HOUR:I
-Landroid/content/Intent;->EXTRA_TIME_PREF_VALUE_USE_24_HOUR:I
-Landroid/content/Intent;->EXTRA_TIME_PREF_VALUE_USE_LOCALE_DEFAULT:I
-Landroid/content/Intent;->EXTRA_UNINSTALL_ALL_USERS:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_USER_HANDLE:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_USER_ID:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_USER_REQUESTED_SHUTDOWN:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_VERSION_CODE:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_WIPE_ESIMS:Ljava/lang/String;
-Landroid/content/Intent;->EXTRA_WIPE_EXTERNAL_STORAGE:Ljava/lang/String;
-Landroid/content/Intent;->fixUris(I)V
-Landroid/content/Intent;->FLAG_DEBUG_TRIAGED_MISSING:I
-Landroid/content/Intent;->FLAG_IGNORE_EPHEMERAL:I
-Landroid/content/Intent;->FLAG_RECEIVER_BOOT_UPGRADE:I
-Landroid/content/Intent;->FLAG_RECEIVER_EXCLUDE_BACKGROUND:I
-Landroid/content/Intent;->FLAG_RECEIVER_FROM_SHELL:I
-Landroid/content/Intent;->FLAG_RECEIVER_INCLUDE_BACKGROUND:I
-Landroid/content/Intent;->getContentUserHint()I
-Landroid/content/Intent;->getIntentOld(Ljava/lang/String;I)Landroid/content/Intent;
-Landroid/content/Intent;->getLaunchToken()Ljava/lang/String;
-Landroid/content/Intent;->hasWebURI()Z
-Landroid/content/Intent;->IMMUTABLE_FLAGS:I
-Landroid/content/Intent;->isAccessUriMode(I)Z
-Landroid/content/Intent;->isDocument()Z
-Landroid/content/Intent;->isWebIntent()Z
-Landroid/content/Intent;->mAction:Ljava/lang/String;
-Landroid/content/Intent;->makeClipItem(Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;I)Landroid/content/ClipData$Item;
-Landroid/content/Intent;->maybeStripForHistory()Landroid/content/Intent;
-Landroid/content/Intent;->mCategories:Landroid/util/ArraySet;
-Landroid/content/Intent;->mClipData:Landroid/content/ClipData;
-Landroid/content/Intent;->mComponent:Landroid/content/ComponentName;
-Landroid/content/Intent;->mContentUserHint:I
-Landroid/content/Intent;->mData:Landroid/net/Uri;
-Landroid/content/Intent;->METADATA_SETUP_VERSION:Ljava/lang/String;
-Landroid/content/Intent;->mFlags:I
-Landroid/content/Intent;->migrateExtraStreamToClipData()Z
-Landroid/content/Intent;->mLaunchToken:Ljava/lang/String;
-Landroid/content/Intent;->mPackage:Ljava/lang/String;
-Landroid/content/Intent;->mSelector:Landroid/content/Intent;
-Landroid/content/Intent;->mSourceBounds:Landroid/graphics/Rect;
-Landroid/content/Intent;->mType:Ljava/lang/String;
-Landroid/content/Intent;->prepareToEnterProcess()V
-Landroid/content/Intent;->prepareToLeaveProcess(Z)V
-Landroid/content/Intent;->prepareToLeaveUser(I)V
-Landroid/content/Intent;->removeUnsafeExtras()V
-Landroid/content/Intent;->restoreFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/content/Intent;
-Landroid/content/Intent;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-Landroid/content/Intent;->setDefusable(Z)V
-Landroid/content/Intent;->setLaunchToken(Ljava/lang/String;)V
-Landroid/content/Intent;->TAG_CATEGORIES:Ljava/lang/String;
-Landroid/content/Intent;->TAG_EXTRA:Ljava/lang/String;
-Landroid/content/Intent;->toInsecureStringWithClip()Ljava/lang/String;
-Landroid/content/Intent;->toShortString(Ljava/lang/StringBuilder;ZZZZ)V
-Landroid/content/Intent;->toShortString(ZZZZ)Ljava/lang/String;
-Landroid/content/Intent;->toUriFragment(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/content/Intent;->toUriInner(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/content/Intent;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/content/Intent;->writeToProto(Landroid/util/proto/ProtoOutputStream;JZZZZ)V
-Landroid/content/IntentFilter$AuthorityEntry;-><init>(Landroid/os/Parcel;)V
-Landroid/content/IntentFilter$AuthorityEntry;->match(Landroid/content/IntentFilter$AuthorityEntry;)Z
-Landroid/content/IntentFilter$AuthorityEntry;->mHost:Ljava/lang/String;
-Landroid/content/IntentFilter$AuthorityEntry;->mOrigHost:Ljava/lang/String;
-Landroid/content/IntentFilter$AuthorityEntry;->mPort:I
-Landroid/content/IntentFilter$AuthorityEntry;->mWild:Z
-Landroid/content/IntentFilter$AuthorityEntry;->writeToParcel(Landroid/os/Parcel;)V
-Landroid/content/IntentFilter$AuthorityEntry;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/content/IntentFilter$InstantAppVisibility;
-Landroid/content/IntentFilter;-><init>(Landroid/os/Parcel;)V
-Landroid/content/IntentFilter;->ACTION_STR:Ljava/lang/String;
-Landroid/content/IntentFilter;->addDataAuthority(Landroid/content/IntentFilter$AuthorityEntry;)V
-Landroid/content/IntentFilter;->addDataPath(Landroid/os/PatternMatcher;)V
-Landroid/content/IntentFilter;->addDataSchemeSpecificPart(Landroid/os/PatternMatcher;)V
-Landroid/content/IntentFilter;->addStringToSet([Ljava/lang/String;Ljava/lang/String;[II)[Ljava/lang/String;
-Landroid/content/IntentFilter;->AGLOB_STR:Ljava/lang/String;
-Landroid/content/IntentFilter;->AUTH_STR:Ljava/lang/String;
-Landroid/content/IntentFilter;->AUTO_VERIFY_STR:Ljava/lang/String;
-Landroid/content/IntentFilter;->CAT_STR:Ljava/lang/String;
-Landroid/content/IntentFilter;->debugCheck()Z
-Landroid/content/IntentFilter;->findMimeType(Ljava/lang/String;)Z
-Landroid/content/IntentFilter;->findStringInSet([Ljava/lang/String;Ljava/lang/String;[II)I
-Landroid/content/IntentFilter;->getAutoVerify()Z
-Landroid/content/IntentFilter;->getHosts()[Ljava/lang/String;
-Landroid/content/IntentFilter;->getHostsList()Ljava/util/ArrayList;
-Landroid/content/IntentFilter;->getVisibilityToInstantApp()I
-Landroid/content/IntentFilter;->handleAllWebDataURI()Z
-Landroid/content/IntentFilter;->handlesWebUris(Z)Z
-Landroid/content/IntentFilter;->HOST_STR:Ljava/lang/String;
-Landroid/content/IntentFilter;->isExplicitlyVisibleToInstantApp()Z
-Landroid/content/IntentFilter;->isImplicitlyVisibleToInstantApp()Z
-Landroid/content/IntentFilter;->isVisibleToInstantApp()Z
-Landroid/content/IntentFilter;->LITERAL_STR:Ljava/lang/String;
-Landroid/content/IntentFilter;->mCategories:Ljava/util/ArrayList;
-Landroid/content/IntentFilter;->mDataAuthorities:Ljava/util/ArrayList;
-Landroid/content/IntentFilter;->mDataPaths:Ljava/util/ArrayList;
-Landroid/content/IntentFilter;->mDataSchemes:Ljava/util/ArrayList;
-Landroid/content/IntentFilter;->mDataSchemeSpecificParts:Ljava/util/ArrayList;
-Landroid/content/IntentFilter;->mDataTypes:Ljava/util/ArrayList;
-Landroid/content/IntentFilter;->mHasPartialTypes:Z
-Landroid/content/IntentFilter;->mInstantAppVisibility:I
-Landroid/content/IntentFilter;->mPriority:I
-Landroid/content/IntentFilter;->mVerifyState:I
-Landroid/content/IntentFilter;->NAME_STR:Ljava/lang/String;
-Landroid/content/IntentFilter;->needsVerification()Z
-Landroid/content/IntentFilter;->PATH_STR:Ljava/lang/String;
-Landroid/content/IntentFilter;->PORT_STR:Ljava/lang/String;
-Landroid/content/IntentFilter;->PREFIX_STR:Ljava/lang/String;
-Landroid/content/IntentFilter;->removeStringFromSet([Ljava/lang/String;Ljava/lang/String;[II)[Ljava/lang/String;
-Landroid/content/IntentFilter;->SCHEME_HTTP:Ljava/lang/String;
-Landroid/content/IntentFilter;->SCHEME_HTTPS:Ljava/lang/String;
-Landroid/content/IntentFilter;->SCHEME_STR:Ljava/lang/String;
-Landroid/content/IntentFilter;->setVerified(Z)V
-Landroid/content/IntentFilter;->setVisibilityToInstantApp(I)V
-Landroid/content/IntentFilter;->SGLOB_STR:Ljava/lang/String;
-Landroid/content/IntentFilter;->SSP_STR:Ljava/lang/String;
-Landroid/content/IntentFilter;->STATE_NEED_VERIFY:I
-Landroid/content/IntentFilter;->STATE_NEED_VERIFY_CHECKED:I
-Landroid/content/IntentFilter;->STATE_VERIFIED:I
-Landroid/content/IntentFilter;->STATE_VERIFY_AUTO:I
-Landroid/content/IntentFilter;->TYPE_STR:Ljava/lang/String;
-Landroid/content/IntentFilter;->VISIBILITY_EXPLICIT:I
-Landroid/content/IntentFilter;->VISIBILITY_IMPLICIT:I
-Landroid/content/IntentFilter;->VISIBILITY_NONE:I
-Landroid/content/IntentFilter;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/content/IntentFilterProto;
-Landroid/content/IntentFilterProto;-><init>()V
-Landroid/content/IntentFilterProto;->ACTIONS:J
-Landroid/content/IntentFilterProto;->CATEGORIES:J
-Landroid/content/IntentFilterProto;->DATA_AUTHORITIES:J
-Landroid/content/IntentFilterProto;->DATA_PATHS:J
-Landroid/content/IntentFilterProto;->DATA_SCHEMES:J
-Landroid/content/IntentFilterProto;->DATA_SCHEME_SPECS:J
-Landroid/content/IntentFilterProto;->DATA_TYPES:J
-Landroid/content/IntentFilterProto;->GET_AUTO_VERIFY:J
-Landroid/content/IntentFilterProto;->HAS_PARTIAL_TYPES:J
-Landroid/content/IntentFilterProto;->PRIORITY:J
-Landroid/content/IntentProto;
-Landroid/content/IntentProto;-><init>()V
-Landroid/content/IntentProto;->ACTION:J
-Landroid/content/IntentProto;->CATEGORIES:J
-Landroid/content/IntentProto;->CLIP_DATA:J
-Landroid/content/IntentProto;->COMPONENT:J
-Landroid/content/IntentProto;->CONTENT_USER_HINT:J
-Landroid/content/IntentProto;->DATA:J
-Landroid/content/IntentProto;->DOCK_STATE_CAR:I
-Landroid/content/IntentProto;->DOCK_STATE_DESK:I
-Landroid/content/IntentProto;->DOCK_STATE_HE_DESK:I
-Landroid/content/IntentProto;->DOCK_STATE_LE_DESK:I
-Landroid/content/IntentProto;->DOCK_STATE_UNDOCKED:I
-Landroid/content/IntentProto;->EXTRAS:J
-Landroid/content/IntentProto;->FLAG:J
-Landroid/content/IntentProto;->PACKAGE:J
-Landroid/content/IntentProto;->SELECTOR:J
-Landroid/content/IntentProto;->SOURCE_BOUNDS:J
-Landroid/content/IntentProto;->TYPE:J
-Landroid/content/IntentSender$FinishedDispatcher;
-Landroid/content/IntentSender$FinishedDispatcher;-><init>(Landroid/content/IntentSender;Landroid/content/IntentSender$OnFinished;Landroid/os/Handler;)V
-Landroid/content/IntentSender$FinishedDispatcher;->mHandler:Landroid/os/Handler;
-Landroid/content/IntentSender$FinishedDispatcher;->mIntent:Landroid/content/Intent;
-Landroid/content/IntentSender$FinishedDispatcher;->mIntentSender:Landroid/content/IntentSender;
-Landroid/content/IntentSender$FinishedDispatcher;->mResultCode:I
-Landroid/content/IntentSender$FinishedDispatcher;->mResultData:Ljava/lang/String;
-Landroid/content/IntentSender$FinishedDispatcher;->mResultExtras:Landroid/os/Bundle;
-Landroid/content/IntentSender$FinishedDispatcher;->mWho:Landroid/content/IntentSender$OnFinished;
-Landroid/content/IntentSender$FinishedDispatcher;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
-Landroid/content/IntentSender;-><init>(Landroid/content/IIntentSender;Landroid/os/IBinder;)V
-Landroid/content/IntentSender;-><init>(Landroid/os/IBinder;)V
-Landroid/content/IntentSender;->getWhitelistToken()Landroid/os/IBinder;
-Landroid/content/IntentSender;->mWhitelistToken:Landroid/os/IBinder;
-Landroid/content/IOnPrimaryClipChangedListener$Stub$Proxy;
-Landroid/content/IOnPrimaryClipChangedListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/content/IOnPrimaryClipChangedListener$Stub$Proxy;->dispatchPrimaryClipChanged()V
-Landroid/content/IOnPrimaryClipChangedListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/IOnPrimaryClipChangedListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/IOnPrimaryClipChangedListener$Stub;
-Landroid/content/IOnPrimaryClipChangedListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/IOnPrimaryClipChangedListener$Stub;->TRANSACTION_dispatchPrimaryClipChanged:I
-Landroid/content/IOnPrimaryClipChangedListener;
-Landroid/content/IOnPrimaryClipChangedListener;->dispatchPrimaryClipChanged()V
-Landroid/content/IRestrictionsManager$Stub$Proxy;
-Landroid/content/IRestrictionsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/content/IRestrictionsManager$Stub$Proxy;->createLocalApprovalIntent()Landroid/content/Intent;
-Landroid/content/IRestrictionsManager$Stub$Proxy;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
-Landroid/content/IRestrictionsManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/IRestrictionsManager$Stub$Proxy;->hasRestrictionsProvider()Z
-Landroid/content/IRestrictionsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/IRestrictionsManager$Stub$Proxy;->notifyPermissionResponse(Ljava/lang/String;Landroid/os/PersistableBundle;)V
-Landroid/content/IRestrictionsManager$Stub$Proxy;->requestPermission(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/PersistableBundle;)V
-Landroid/content/IRestrictionsManager$Stub;
-Landroid/content/IRestrictionsManager$Stub;-><init>()V
-Landroid/content/IRestrictionsManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/IRestrictionsManager$Stub;->TRANSACTION_createLocalApprovalIntent:I
-Landroid/content/IRestrictionsManager$Stub;->TRANSACTION_getApplicationRestrictions:I
-Landroid/content/IRestrictionsManager$Stub;->TRANSACTION_hasRestrictionsProvider:I
-Landroid/content/IRestrictionsManager$Stub;->TRANSACTION_notifyPermissionResponse:I
-Landroid/content/IRestrictionsManager$Stub;->TRANSACTION_requestPermission:I
-Landroid/content/IRestrictionsManager;
-Landroid/content/IRestrictionsManager;->createLocalApprovalIntent()Landroid/content/Intent;
-Landroid/content/IRestrictionsManager;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
-Landroid/content/IRestrictionsManager;->hasRestrictionsProvider()Z
-Landroid/content/IRestrictionsManager;->notifyPermissionResponse(Ljava/lang/String;Landroid/os/PersistableBundle;)V
-Landroid/content/IRestrictionsManager;->requestPermission(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/PersistableBundle;)V
-Landroid/content/ISyncAdapter$Stub$Proxy;
-Landroid/content/ISyncAdapter$Stub$Proxy;->cancelSync(Landroid/content/ISyncContext;)V
-Landroid/content/ISyncAdapter$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/ISyncAdapter$Stub$Proxy;->onUnsyncableAccount(Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
-Landroid/content/ISyncAdapter$Stub$Proxy;->startSync(Landroid/content/ISyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;)V
-Landroid/content/ISyncAdapter$Stub;
-Landroid/content/ISyncAdapter$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/ISyncAdapter$Stub;->TRANSACTION_cancelSync:I
-Landroid/content/ISyncAdapter$Stub;->TRANSACTION_onUnsyncableAccount:I
-Landroid/content/ISyncAdapter$Stub;->TRANSACTION_startSync:I
-Landroid/content/ISyncAdapter;
-Landroid/content/ISyncAdapterUnsyncableAccountCallback$Stub$Proxy;
-Landroid/content/ISyncAdapterUnsyncableAccountCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/content/ISyncAdapterUnsyncableAccountCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/ISyncAdapterUnsyncableAccountCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/ISyncAdapterUnsyncableAccountCallback$Stub$Proxy;->onUnsyncableAccountDone(Z)V
-Landroid/content/ISyncAdapterUnsyncableAccountCallback$Stub;
-Landroid/content/ISyncAdapterUnsyncableAccountCallback$Stub;-><init>()V
-Landroid/content/ISyncAdapterUnsyncableAccountCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/ISyncAdapterUnsyncableAccountCallback;
-Landroid/content/ISyncAdapterUnsyncableAccountCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/ISyncAdapterUnsyncableAccountCallback$Stub;->TRANSACTION_onUnsyncableAccountDone:I
-Landroid/content/ISyncAdapterUnsyncableAccountCallback;
-Landroid/content/ISyncAdapterUnsyncableAccountCallback;->onUnsyncableAccountDone(Z)V
-Landroid/content/ISyncContext$Stub$Proxy;
-Landroid/content/ISyncContext$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/ISyncContext$Stub$Proxy;->onFinished(Landroid/content/SyncResult;)V
-Landroid/content/ISyncContext$Stub$Proxy;->sendHeartbeat()V
-Landroid/content/ISyncContext$Stub;
-Landroid/content/ISyncContext$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/ISyncContext$Stub;->TRANSACTION_onFinished:I
-Landroid/content/ISyncContext$Stub;->TRANSACTION_sendHeartbeat:I
-Landroid/content/ISyncContext;
-Landroid/content/ISyncContext;->onFinished(Landroid/content/SyncResult;)V
-Landroid/content/ISyncContext;->sendHeartbeat()V
-Landroid/content/ISyncServiceAdapter$Stub$Proxy;
-Landroid/content/ISyncServiceAdapter$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/content/ISyncServiceAdapter$Stub$Proxy;->cancelSync(Landroid/content/ISyncContext;)V
-Landroid/content/ISyncServiceAdapter$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/ISyncServiceAdapter$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/ISyncServiceAdapter$Stub$Proxy;->startSync(Landroid/content/ISyncContext;Landroid/os/Bundle;)V
-Landroid/content/ISyncServiceAdapter$Stub;
-Landroid/content/ISyncServiceAdapter$Stub;-><init>()V
-Landroid/content/ISyncServiceAdapter$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/ISyncServiceAdapter$Stub;->TRANSACTION_cancelSync:I
-Landroid/content/ISyncServiceAdapter$Stub;->TRANSACTION_startSync:I
-Landroid/content/ISyncServiceAdapter;
-Landroid/content/ISyncStatusObserver$Stub$Proxy;
-Landroid/content/ISyncStatusObserver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/ISyncStatusObserver$Stub$Proxy;->onStatusChanged(I)V
-Landroid/content/ISyncStatusObserver$Stub;
-Landroid/content/ISyncStatusObserver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/ISyncStatusObserver$Stub;->TRANSACTION_onStatusChanged:I
-Landroid/content/ISyncStatusObserver;
-Landroid/content/Loader;->mAbandoned:Z
-Landroid/content/Loader;->mContentChanged:Z
-Landroid/content/Loader;->mContext:Landroid/content/Context;
-Landroid/content/Loader;->mId:I
-Landroid/content/Loader;->mListener:Landroid/content/Loader$OnLoadCompleteListener;
-Landroid/content/Loader;->mOnLoadCanceledListener:Landroid/content/Loader$OnLoadCanceledListener;
-Landroid/content/Loader;->mProcessingChange:Z
-Landroid/content/Loader;->mReset:Z
-Landroid/content/Loader;->mStarted:Z
-Landroid/content/LocaleProto;
-Landroid/content/LocaleProto;-><init>()V
-Landroid/content/LocaleProto;->COUNTRY:J
-Landroid/content/LocaleProto;->LANGUAGE:J
-Landroid/content/LocaleProto;->VARIANT:J
-Landroid/content/om/IOverlayManager$Stub$Proxy;
-Landroid/content/om/IOverlayManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/content/om/IOverlayManager$Stub$Proxy;->getAllOverlays(I)Ljava/util/Map;
-Landroid/content/om/IOverlayManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/om/IOverlayManager$Stub$Proxy;->getOverlayInfo(Ljava/lang/String;I)Landroid/content/om/OverlayInfo;
-Landroid/content/om/IOverlayManager$Stub$Proxy;->getOverlayInfosForTarget(Ljava/lang/String;I)Ljava/util/List;
-Landroid/content/om/IOverlayManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/om/IOverlayManager$Stub$Proxy;->setEnabled(Ljava/lang/String;ZI)Z
-Landroid/content/om/IOverlayManager$Stub$Proxy;->setEnabledExclusive(Ljava/lang/String;ZI)Z
-Landroid/content/om/IOverlayManager$Stub$Proxy;->setEnabledExclusiveInCategory(Ljava/lang/String;I)Z
-Landroid/content/om/IOverlayManager$Stub$Proxy;->setHighestPriority(Ljava/lang/String;I)Z
-Landroid/content/om/IOverlayManager$Stub$Proxy;->setLowestPriority(Ljava/lang/String;I)Z
-Landroid/content/om/IOverlayManager$Stub$Proxy;->setPriority(Ljava/lang/String;Ljava/lang/String;I)Z
-Landroid/content/om/IOverlayManager$Stub;
-Landroid/content/om/IOverlayManager$Stub;-><init>()V
-Landroid/content/om/IOverlayManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/om/IOverlayManager$Stub;->TRANSACTION_getAllOverlays:I
-Landroid/content/om/IOverlayManager$Stub;->TRANSACTION_getOverlayInfo:I
-Landroid/content/om/IOverlayManager$Stub;->TRANSACTION_getOverlayInfosForTarget:I
-Landroid/content/om/IOverlayManager$Stub;->TRANSACTION_setEnabled:I
-Landroid/content/om/IOverlayManager$Stub;->TRANSACTION_setEnabledExclusive:I
-Landroid/content/om/IOverlayManager$Stub;->TRANSACTION_setEnabledExclusiveInCategory:I
-Landroid/content/om/IOverlayManager$Stub;->TRANSACTION_setHighestPriority:I
-Landroid/content/om/IOverlayManager$Stub;->TRANSACTION_setLowestPriority:I
-Landroid/content/om/IOverlayManager$Stub;->TRANSACTION_setPriority:I
-Landroid/content/om/IOverlayManager;
-Landroid/content/om/IOverlayManager;->getOverlayInfosForTarget(Ljava/lang/String;I)Ljava/util/List;
-Landroid/content/om/IOverlayManager;->setEnabled(Ljava/lang/String;ZI)Z
-Landroid/content/om/IOverlayManager;->setEnabledExclusive(Ljava/lang/String;ZI)Z
-Landroid/content/om/IOverlayManager;->setEnabledExclusiveInCategory(Ljava/lang/String;I)Z
-Landroid/content/om/IOverlayManager;->setHighestPriority(Ljava/lang/String;I)Z
-Landroid/content/om/IOverlayManager;->setLowestPriority(Ljava/lang/String;I)Z
-Landroid/content/om/IOverlayManager;->setPriority(Ljava/lang/String;Ljava/lang/String;I)Z
-Landroid/content/om/OverlayInfo$State;
-Landroid/content/om/OverlayInfo;
-Landroid/content/om/OverlayInfo;-><init>(Landroid/content/om/OverlayInfo;I)V
-Landroid/content/om/OverlayInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/om/OverlayInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIZ)V
-Landroid/content/om/OverlayInfo;->baseCodePath:Ljava/lang/String;
-Landroid/content/om/OverlayInfo;->category:Ljava/lang/String;
-Landroid/content/om/OverlayInfo;->CATEGORY_THEME:Ljava/lang/String;
-Landroid/content/om/OverlayInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/content/om/OverlayInfo;->ensureValidState()V
-Landroid/content/om/OverlayInfo;->isStatic:Z
-Landroid/content/om/OverlayInfo;->priority:I
-Landroid/content/om/OverlayInfo;->stateToString(I)Ljava/lang/String;
-Landroid/content/om/OverlayInfo;->STATE_DISABLED:I
-Landroid/content/om/OverlayInfo;->STATE_ENABLED:I
-Landroid/content/om/OverlayInfo;->STATE_ENABLED_STATIC:I
-Landroid/content/om/OverlayInfo;->STATE_MISSING_TARGET:I
-Landroid/content/om/OverlayInfo;->STATE_NO_IDMAP:I
-Landroid/content/om/OverlayInfo;->STATE_OVERLAY_UPGRADING:I
-Landroid/content/om/OverlayInfo;->STATE_TARGET_UPGRADING:I
-Landroid/content/om/OverlayInfo;->STATE_UNKNOWN:I
-Landroid/content/om/OverlayInfo;->userId:I
-Landroid/content/OperationApplicationException;->mNumSuccessfulYieldPoints:I
-Landroid/content/PeriodicSync;-><init>(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;JJ)V
-Landroid/content/PeriodicSync;-><init>(Landroid/content/PeriodicSync;)V
-Landroid/content/PeriodicSync;-><init>(Landroid/os/Parcel;)V
-Landroid/content/PeriodicSync;->flexTime:J
-Landroid/content/PeriodicSync;->syncExtrasEquals(Landroid/os/Bundle;Landroid/os/Bundle;)Z
-Landroid/content/PermissionChecker$PermissionResult;
-Landroid/content/PermissionChecker;
-Landroid/content/PermissionChecker;-><init>()V
-Landroid/content/PermissionChecker;->checkCallingOrSelfPermission(Landroid/content/Context;Ljava/lang/String;)I
-Landroid/content/PermissionChecker;->checkCallingPermission(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)I
-Landroid/content/PermissionChecker;->checkPermission(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;)I
-Landroid/content/PermissionChecker;->checkSelfPermission(Landroid/content/Context;Ljava/lang/String;)I
-Landroid/content/PermissionChecker;->PERMISSION_DENIED:I
-Landroid/content/PermissionChecker;->PERMISSION_DENIED_APP_OP:I
-Landroid/content/PermissionChecker;->PERMISSION_GRANTED:I
-Landroid/content/pm/ActivityInfo$ColorMode;
-Landroid/content/pm/ActivityInfo$Config;
-Landroid/content/pm/ActivityInfo$ScreenOrientation;
-Landroid/content/pm/ActivityInfo$WindowLayout;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/ActivityInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/ActivityInfo;->activityInfoConfigNativeToJava(I)I
-Landroid/content/pm/ActivityInfo;->colorModeToString(I)Ljava/lang/String;
-Landroid/content/pm/ActivityInfo;->CONFIG_ASSETS_PATHS:I
-Landroid/content/pm/ActivityInfo;->CONFIG_NATIVE_BITS:[I
-Landroid/content/pm/ActivityInfo;->CONFIG_WINDOW_CONFIGURATION:I
-Landroid/content/pm/ActivityInfo;->dump(Landroid/util/Printer;Ljava/lang/String;I)V
-Landroid/content/pm/ActivityInfo;->FLAG_ALWAYS_FOCUSABLE:I
-Landroid/content/pm/ActivityInfo;->FLAG_IMPLICITLY_VISIBLE_TO_INSTANT_APP:I
-Landroid/content/pm/ActivityInfo;->FLAG_SHOW_WHEN_LOCKED:I
-Landroid/content/pm/ActivityInfo;->FLAG_SUPPORTS_PICTURE_IN_PICTURE:I
-Landroid/content/pm/ActivityInfo;->FLAG_SYSTEM_USER_ONLY:I
-Landroid/content/pm/ActivityInfo;->FLAG_TURN_SCREEN_ON:I
-Landroid/content/pm/ActivityInfo;->FLAG_VISIBLE_TO_INSTANT_APP:I
-Landroid/content/pm/ActivityInfo;->getRealConfigChanged()I
-Landroid/content/pm/ActivityInfo;->isFixedOrientation()Z
-Landroid/content/pm/ActivityInfo;->isFixedOrientationLandscape()Z
-Landroid/content/pm/ActivityInfo;->isFixedOrientationLandscape(I)Z
-Landroid/content/pm/ActivityInfo;->isFixedOrientationPortrait()Z
-Landroid/content/pm/ActivityInfo;->isFixedOrientationPortrait(I)Z
-Landroid/content/pm/ActivityInfo;->isPreserveOrientationMode(I)Z
-Landroid/content/pm/ActivityInfo;->launchToken:Ljava/lang/String;
-Landroid/content/pm/ActivityInfo;->lockTaskLaunchMode:I
-Landroid/content/pm/ActivityInfo;->lockTaskLaunchModeToString(I)Ljava/lang/String;
-Landroid/content/pm/ActivityInfo;->LOCK_TASK_LAUNCH_MODE_ALWAYS:I
-Landroid/content/pm/ActivityInfo;->LOCK_TASK_LAUNCH_MODE_DEFAULT:I
-Landroid/content/pm/ActivityInfo;->LOCK_TASK_LAUNCH_MODE_IF_WHITELISTED:I
-Landroid/content/pm/ActivityInfo;->LOCK_TASK_LAUNCH_MODE_NEVER:I
-Landroid/content/pm/ActivityInfo;->maxAspectRatio:F
-Landroid/content/pm/ActivityInfo;->persistableModeToString()Ljava/lang/String;
-Landroid/content/pm/ActivityInfo;->requestedVrComponent:Ljava/lang/String;
-Landroid/content/pm/ActivityInfo;->resizeModeToString(I)Ljava/lang/String;
-Landroid/content/pm/ActivityInfo;->RESIZE_MODE_FORCE_RESIZABLE_LANDSCAPE_ONLY:I
-Landroid/content/pm/ActivityInfo;->RESIZE_MODE_FORCE_RESIZABLE_PORTRAIT_ONLY:I
-Landroid/content/pm/ActivityInfo;->RESIZE_MODE_FORCE_RESIZABLE_PRESERVE_ORIENTATION:I
-Landroid/content/pm/ActivityInfo;->RESIZE_MODE_FORCE_RESIZEABLE:I
-Landroid/content/pm/ActivityInfo;->RESIZE_MODE_RESIZEABLE_AND_PIPABLE_DEPRECATED:I
-Landroid/content/pm/ActivityInfo;->RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION:I
-Landroid/content/pm/ActivityInfo;->RESIZE_MODE_UNRESIZEABLE:I
-Landroid/content/pm/ActivityInfo;->rotationAnimation:I
-Landroid/content/pm/ActivityInfo;->screenOrientationToString(I)Ljava/lang/String;
-Landroid/content/pm/ActivityInfo;->SCREEN_ORIENTATION_UNSET:I
-Landroid/content/pm/ApplicationInfo$ApplicationInfoPrivateFlags;
-Landroid/content/pm/ApplicationInfo$Category;
-Landroid/content/pm/ApplicationInfo$HiddenApiEnforcementPolicy;
-Landroid/content/pm/ApplicationInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/ApplicationInfo;->classLoaderName:Ljava/lang/String;
-Landroid/content/pm/ApplicationInfo;->compileSdkVersion:I
-Landroid/content/pm/ApplicationInfo;->compileSdkVersionCodename:Ljava/lang/String;
-Landroid/content/pm/ApplicationInfo;->dump(Landroid/util/Printer;Ljava/lang/String;I)V
-Landroid/content/pm/ApplicationInfo;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
-Landroid/content/pm/ApplicationInfo;->getBaseCodePath()Ljava/lang/String;
-Landroid/content/pm/ApplicationInfo;->getHiddenApiEnforcementPolicy()I
-Landroid/content/pm/ApplicationInfo;->getResourcePath()Ljava/lang/String;
-Landroid/content/pm/ApplicationInfo;->getSplitCodePaths()[Ljava/lang/String;
-Landroid/content/pm/ApplicationInfo;->getSplitResourcePaths()[Ljava/lang/String;
-Landroid/content/pm/ApplicationInfo;->hasCode()Z
-Landroid/content/pm/ApplicationInfo;->HIDDEN_API_ENFORCEMENT_BLACK:I
-Landroid/content/pm/ApplicationInfo;->HIDDEN_API_ENFORCEMENT_DARK_GREY_AND_BLACK:I
-Landroid/content/pm/ApplicationInfo;->HIDDEN_API_ENFORCEMENT_DEFAULT:I
-Landroid/content/pm/ApplicationInfo;->HIDDEN_API_ENFORCEMENT_JUST_WARN:I
-Landroid/content/pm/ApplicationInfo;->HIDDEN_API_ENFORCEMENT_MAX:I
-Landroid/content/pm/ApplicationInfo;->HIDDEN_API_ENFORCEMENT_NONE:I
-Landroid/content/pm/ApplicationInfo;->initForUser(I)V
-Landroid/content/pm/ApplicationInfo;->isAllowedToUseHiddenApis()Z
-Landroid/content/pm/ApplicationInfo;->isDefaultToDeviceProtectedStorage()Z
-Landroid/content/pm/ApplicationInfo;->isDirectBootAware()Z
-Landroid/content/pm/ApplicationInfo;->isEncryptionAware()Z
-Landroid/content/pm/ApplicationInfo;->isExternal()Z
-Landroid/content/pm/ApplicationInfo;->isExternalAsec()Z
-Landroid/content/pm/ApplicationInfo;->isInternal()Z
-Landroid/content/pm/ApplicationInfo;->isOem()Z
-Landroid/content/pm/ApplicationInfo;->isPackageWhitelistedForHiddenApis()Z
-Landroid/content/pm/ApplicationInfo;->isPartiallyDirectBootAware()Z
-Landroid/content/pm/ApplicationInfo;->isProduct()Z
-Landroid/content/pm/ApplicationInfo;->isRequiredForSystemUser()Z
-Landroid/content/pm/ApplicationInfo;->isSignedWithPlatformKey()Z
-Landroid/content/pm/ApplicationInfo;->isStaticSharedLibrary()Z
-Landroid/content/pm/ApplicationInfo;->isUpdatedSystemApp()Z
-Landroid/content/pm/ApplicationInfo;->isValidHiddenApiEnforcementPolicy(I)Z
-Landroid/content/pm/ApplicationInfo;->isVendor()Z
-Landroid/content/pm/ApplicationInfo;->loadDefaultIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
-Landroid/content/pm/ApplicationInfo;->longVersionCode:J
-Landroid/content/pm/ApplicationInfo;->maxAspectRatio:F
-Landroid/content/pm/ApplicationInfo;->maybeUpdateHiddenApiEnforcementPolicy(II)V
-Landroid/content/pm/ApplicationInfo;->METADATA_PRELOADED_FONTS:Ljava/lang/String;
-Landroid/content/pm/ApplicationInfo;->mHiddenApiPolicy:I
-Landroid/content/pm/ApplicationInfo;->nativeLibraryRootRequiresIsa:Z
-Landroid/content/pm/ApplicationInfo;->networkSecurityConfigRes:I
-Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE:I
-Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION:I
-Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_UNRESIZEABLE:I
-Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_BACKUP_IN_FOREGROUND:I
-Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_CANT_SAVE_STATE:I
-Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_DEFAULT_TO_DEVICE_PROTECTED_STORAGE:I
-Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_DIRECT_BOOT_AWARE:I
-Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_FORWARD_LOCK:I
-Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_HAS_DOMAIN_URLS:I
-Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_HIDDEN:I
-Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_INSTANT:I
-Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_ISOLATED_SPLIT_LOADING:I
-Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_OEM:I
-Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_PARTIALLY_DIRECT_BOOT_AWARE:I
-Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_PRODUCT:I
-Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_REQUIRED_FOR_SYSTEM_USER:I
-Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_SIGNED_WITH_PLATFORM_KEY:I
-Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_STATIC_SHARED_LIBRARY:I
-Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_VENDOR:I
-Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_VIRTUAL_PRELOAD:I
-Landroid/content/pm/ApplicationInfo;->requestsIsolatedSplitLoading()Z
-Landroid/content/pm/ApplicationInfo;->seInfo:Ljava/lang/String;
-Landroid/content/pm/ApplicationInfo;->seInfoUser:Ljava/lang/String;
-Landroid/content/pm/ApplicationInfo;->setBaseCodePath(Ljava/lang/String;)V
-Landroid/content/pm/ApplicationInfo;->setBaseResourcePath(Ljava/lang/String;)V
-Landroid/content/pm/ApplicationInfo;->setCodePath(Ljava/lang/String;)V
-Landroid/content/pm/ApplicationInfo;->setHiddenApiEnforcementPolicy(I)V
-Landroid/content/pm/ApplicationInfo;->setResourcePath(Ljava/lang/String;)V
-Landroid/content/pm/ApplicationInfo;->setSplitCodePaths([Ljava/lang/String;)V
-Landroid/content/pm/ApplicationInfo;->setSplitResourcePaths([Ljava/lang/String;)V
-Landroid/content/pm/ApplicationInfo;->setVersionCode(J)V
-Landroid/content/pm/ApplicationInfo;->splitClassLoaderNames:[Ljava/lang/String;
-Landroid/content/pm/ApplicationInfo;->splitDependencies:Landroid/util/SparseArray;
-Landroid/content/pm/ApplicationInfo;->usesCompatibilityMode()Z
-Landroid/content/pm/ApplicationInfo;->writeToProto(Landroid/util/proto/ProtoOutputStream;JI)V
-Landroid/content/pm/ApplicationInfoProto$Detail;
-Landroid/content/pm/ApplicationInfoProto$Detail;-><init>()V
-Landroid/content/pm/ApplicationInfoProto$Detail;->CATEGORY:J
-Landroid/content/pm/ApplicationInfoProto$Detail;->CLASS_NAME:J
-Landroid/content/pm/ApplicationInfoProto$Detail;->COMPATIBLE_WIDTH_LIMIT_DP:J
-Landroid/content/pm/ApplicationInfoProto$Detail;->CONTENT:J
-Landroid/content/pm/ApplicationInfoProto$Detail;->CREDENTIAL_PROTECTED_DATA_DIR:J
-Landroid/content/pm/ApplicationInfoProto$Detail;->DESCRIPTION_RES:J
-Landroid/content/pm/ApplicationInfoProto$Detail;->DEVICE_PROTECTED_DATA_DIR:J
-Landroid/content/pm/ApplicationInfoProto$Detail;->IS_FULL_BACKUP:J
-Landroid/content/pm/ApplicationInfoProto$Detail;->LARGEST_WIDTH_LIMIT_DP:J
-Landroid/content/pm/ApplicationInfoProto$Detail;->MANAGE_SPACE_ACTIVITY_NAME:J
-Landroid/content/pm/ApplicationInfoProto$Detail;->NETWORK_SECURITY_CONFIG_RES:J
-Landroid/content/pm/ApplicationInfoProto$Detail;->REQUIRES_SMALLEST_WIDTH_DP:J
-Landroid/content/pm/ApplicationInfoProto$Detail;->SEINFO:J
-Landroid/content/pm/ApplicationInfoProto$Detail;->SEINFO_USER:J
-Landroid/content/pm/ApplicationInfoProto$Detail;->SHARED_LIBRARY_FILES:J
-Landroid/content/pm/ApplicationInfoProto$Detail;->SUPPORTS_RTL:J
-Landroid/content/pm/ApplicationInfoProto$Detail;->TASK_AFFINITY:J
-Landroid/content/pm/ApplicationInfoProto$Detail;->UI_OPTIONS:J
-Landroid/content/pm/ApplicationInfoProto$Version;
-Landroid/content/pm/ApplicationInfoProto$Version;-><init>()V
-Landroid/content/pm/ApplicationInfoProto$Version;->ENABLED:J
-Landroid/content/pm/ApplicationInfoProto$Version;->MIN_SDK_VERSION:J
-Landroid/content/pm/ApplicationInfoProto$Version;->TARGET_SANDBOX_VERSION:J
-Landroid/content/pm/ApplicationInfoProto$Version;->TARGET_SDK_VERSION:J
-Landroid/content/pm/ApplicationInfoProto$Version;->VERSION_CODE:J
-Landroid/content/pm/ApplicationInfoProto;
-Landroid/content/pm/ApplicationInfoProto;-><init>()V
-Landroid/content/pm/ApplicationInfoProto;->CLASS_LOADER_NAME:J
-Landroid/content/pm/ApplicationInfoProto;->DATA_DIR:J
-Landroid/content/pm/ApplicationInfoProto;->DETAIL:J
-Landroid/content/pm/ApplicationInfoProto;->FLAGS:J
-Landroid/content/pm/ApplicationInfoProto;->PACKAGE:J
-Landroid/content/pm/ApplicationInfoProto;->PERMISSION:J
-Landroid/content/pm/ApplicationInfoProto;->PRIVATE_FLAGS:J
-Landroid/content/pm/ApplicationInfoProto;->PROCESS_NAME:J
-Landroid/content/pm/ApplicationInfoProto;->PUBLIC_SOURCE_DIR:J
-Landroid/content/pm/ApplicationInfoProto;->RESOURCE_DIRS:J
-Landroid/content/pm/ApplicationInfoProto;->SOURCE_DIR:J
-Landroid/content/pm/ApplicationInfoProto;->SPLIT_CLASS_LOADER_NAMES:J
-Landroid/content/pm/ApplicationInfoProto;->SPLIT_PUBLIC_SOURCE_DIRS:J
-Landroid/content/pm/ApplicationInfoProto;->SPLIT_SOURCE_DIRS:J
-Landroid/content/pm/ApplicationInfoProto;->THEME:J
-Landroid/content/pm/ApplicationInfoProto;->UID:J
-Landroid/content/pm/ApplicationInfoProto;->VERSION:J
-Landroid/content/pm/AppsQueryHelper;
-Landroid/content/pm/AppsQueryHelper;-><init>()V
-Landroid/content/pm/AppsQueryHelper;-><init>(Landroid/content/pm/IPackageManager;)V
-Landroid/content/pm/AppsQueryHelper;->getAllApps(I)Ljava/util/List;
-Landroid/content/pm/AppsQueryHelper;->getPackagesHoldingPermission(Ljava/lang/String;I)Ljava/util/List;
-Landroid/content/pm/AppsQueryHelper;->GET_APPS_WITH_INTERACT_ACROSS_USERS_PERM:I
-Landroid/content/pm/AppsQueryHelper;->GET_IMES:I
-Landroid/content/pm/AppsQueryHelper;->GET_NON_LAUNCHABLE_APPS:I
-Landroid/content/pm/AppsQueryHelper;->GET_REQUIRED_FOR_SYSTEM_USER:I
-Landroid/content/pm/AppsQueryHelper;->mAllApps:Ljava/util/List;
-Landroid/content/pm/AppsQueryHelper;->mPackageManager:Landroid/content/pm/IPackageManager;
-Landroid/content/pm/AppsQueryHelper;->queryApps(IZLandroid/os/UserHandle;)Ljava/util/List;
-Landroid/content/pm/AppsQueryHelper;->queryIntentActivitiesAsUser(Landroid/content/Intent;I)Ljava/util/List;
-Landroid/content/pm/AppsQueryHelper;->queryIntentServicesAsUser(Landroid/content/Intent;I)Ljava/util/List;
-Landroid/content/pm/AuxiliaryResolveInfo$AuxiliaryFilter;
-Landroid/content/pm/AuxiliaryResolveInfo$AuxiliaryFilter;-><init>(Landroid/content/IntentFilter;Landroid/content/pm/InstantAppResolveInfo;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/content/pm/AuxiliaryResolveInfo$AuxiliaryFilter;-><init>(Landroid/content/pm/InstantAppResolveInfo;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/content/pm/AuxiliaryResolveInfo$AuxiliaryFilter;-><init>(Ljava/lang/String;JLjava/lang/String;)V
-Landroid/content/pm/AuxiliaryResolveInfo$AuxiliaryFilter;->extras:Landroid/os/Bundle;
-Landroid/content/pm/AuxiliaryResolveInfo$AuxiliaryFilter;->packageName:Ljava/lang/String;
-Landroid/content/pm/AuxiliaryResolveInfo$AuxiliaryFilter;->resolveInfo:Landroid/content/pm/InstantAppResolveInfo;
-Landroid/content/pm/AuxiliaryResolveInfo$AuxiliaryFilter;->splitName:Ljava/lang/String;
-Landroid/content/pm/AuxiliaryResolveInfo$AuxiliaryFilter;->versionCode:J
-Landroid/content/pm/AuxiliaryResolveInfo;
-Landroid/content/pm/AuxiliaryResolveInfo;-><init>(Landroid/content/ComponentName;Landroid/content/Intent;Ljava/util/List;)V
-Landroid/content/pm/AuxiliaryResolveInfo;-><init>(Landroid/content/ComponentName;Ljava/lang/String;JLjava/lang/String;)V
-Landroid/content/pm/AuxiliaryResolveInfo;-><init>(Ljava/lang/String;ZLandroid/content/Intent;Ljava/util/List;)V
-Landroid/content/pm/AuxiliaryResolveInfo;->failureIntent:Landroid/content/Intent;
-Landroid/content/pm/AuxiliaryResolveInfo;->filters:Ljava/util/List;
-Landroid/content/pm/AuxiliaryResolveInfo;->installFailureActivity:Landroid/content/ComponentName;
-Landroid/content/pm/AuxiliaryResolveInfo;->needsPhaseTwo:Z
-Landroid/content/pm/AuxiliaryResolveInfo;->token:Ljava/lang/String;
-Landroid/content/pm/BaseParceledListSlice;
-Landroid/content/pm/BaseParceledListSlice;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V
-Landroid/content/pm/BaseParceledListSlice;-><init>(Ljava/util/List;)V
-Landroid/content/pm/BaseParceledListSlice;->DEBUG:Z
-Landroid/content/pm/BaseParceledListSlice;->MAX_IPC_SIZE:I
-Landroid/content/pm/BaseParceledListSlice;->mInlineCountLimit:I
-Landroid/content/pm/BaseParceledListSlice;->mList:Ljava/util/List;
-Landroid/content/pm/BaseParceledListSlice;->readCreator(Landroid/os/Parcelable$Creator;Landroid/os/Parcel;Ljava/lang/ClassLoader;)Ljava/lang/Object;
-Landroid/content/pm/BaseParceledListSlice;->readParcelableCreator(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Landroid/os/Parcelable$Creator;
-Landroid/content/pm/BaseParceledListSlice;->setInlineCountLimit(I)V
-Landroid/content/pm/BaseParceledListSlice;->TAG:Ljava/lang/String;
-Landroid/content/pm/BaseParceledListSlice;->verifySameType(Ljava/lang/Class;Ljava/lang/Class;)V
-Landroid/content/pm/BaseParceledListSlice;->writeElement(Ljava/lang/Object;Landroid/os/Parcel;I)V
-Landroid/content/pm/ChangedPackages;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/ChangedPackages;->mPackageNames:Ljava/util/List;
-Landroid/content/pm/ChangedPackages;->mSequenceNumber:I
-Landroid/content/pm/ComponentInfo;->dumpBack(Landroid/util/Printer;Ljava/lang/String;I)V
-Landroid/content/pm/ComponentInfo;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
-Landroid/content/pm/ComponentInfo;->loadDefaultBanner(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
-Landroid/content/pm/ComponentInfo;->loadDefaultIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
-Landroid/content/pm/ComponentInfo;->loadDefaultLogo(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
-Landroid/content/pm/ComponentInfo;->loadUnsafeLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
-Landroid/content/pm/ConfigurationInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/CrossProfileApps;-><init>(Landroid/content/Context;Landroid/content/pm/ICrossProfileApps;)V
-Landroid/content/pm/CrossProfileApps;->mContext:Landroid/content/Context;
-Landroid/content/pm/CrossProfileApps;->mResources:Landroid/content/res/Resources;
-Landroid/content/pm/CrossProfileApps;->mService:Landroid/content/pm/ICrossProfileApps;
-Landroid/content/pm/CrossProfileApps;->mUserManager:Landroid/os/UserManager;
-Landroid/content/pm/CrossProfileApps;->verifyCanAccessUser(Landroid/os/UserHandle;)V
-Landroid/content/pm/dex/ArtManager$ProfileType;
-Landroid/content/pm/dex/ArtManager$SnapshotRuntimeProfileCallbackDelegate;
-Landroid/content/pm/dex/ArtManager$SnapshotRuntimeProfileCallbackDelegate;-><init>(Landroid/content/pm/dex/ArtManager$SnapshotRuntimeProfileCallback;Ljava/util/concurrent/Executor;)V
-Landroid/content/pm/dex/ArtManager$SnapshotRuntimeProfileCallbackDelegate;->mCallback:Landroid/content/pm/dex/ArtManager$SnapshotRuntimeProfileCallback;
-Landroid/content/pm/dex/ArtManager$SnapshotRuntimeProfileCallbackDelegate;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/content/pm/dex/ArtManager$SnapshotRuntimeProfileCallbackDelegate;->onError(I)V
-Landroid/content/pm/dex/ArtManager$SnapshotRuntimeProfileCallbackDelegate;->onSuccess(Landroid/os/ParcelFileDescriptor;)V
-Landroid/content/pm/dex/ArtManager;-><init>(Landroid/content/Context;Landroid/content/pm/dex/IArtManager;)V
-Landroid/content/pm/dex/ArtManager;->getCurrentProfilePath(Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String;
-Landroid/content/pm/dex/ArtManager;->getProfileName(Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/pm/dex/ArtManager;->getProfileSnapshotFileForName(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
-Landroid/content/pm/dex/ArtManager;->mArtManager:Landroid/content/pm/dex/IArtManager;
-Landroid/content/pm/dex/ArtManager;->mContext:Landroid/content/Context;
-Landroid/content/pm/dex/ArtManager;->TAG:Ljava/lang/String;
-Landroid/content/pm/dex/ArtManagerInternal;
-Landroid/content/pm/dex/ArtManagerInternal;-><init>()V
-Landroid/content/pm/dex/ArtManagerInternal;->getPackageOptimizationInfo(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;)Landroid/content/pm/dex/PackageOptimizationInfo;
-Landroid/content/pm/dex/DexMetadataHelper;
-Landroid/content/pm/dex/DexMetadataHelper;-><init>()V
-Landroid/content/pm/dex/DexMetadataHelper;->buildDexMetadataPathForApk(Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/pm/dex/DexMetadataHelper;->buildDexMetadataPathForFile(Ljava/io/File;)Ljava/lang/String;
-Landroid/content/pm/dex/DexMetadataHelper;->buildPackageApkToDexMetadataMap(Ljava/util/List;)Ljava/util/Map;
-Landroid/content/pm/dex/DexMetadataHelper;->DEX_METADATA_FILE_EXTENSION:Ljava/lang/String;
-Landroid/content/pm/dex/DexMetadataHelper;->findDexMetadataForFile(Ljava/io/File;)Ljava/io/File;
-Landroid/content/pm/dex/DexMetadataHelper;->getPackageDexMetadata(Landroid/content/pm/PackageParser$Package;)Ljava/util/Map;
-Landroid/content/pm/dex/DexMetadataHelper;->getPackageDexMetadata(Landroid/content/pm/PackageParser$PackageLite;)Ljava/util/Map;
-Landroid/content/pm/dex/DexMetadataHelper;->getPackageDexMetadataSize(Landroid/content/pm/PackageParser$PackageLite;)J
-Landroid/content/pm/dex/DexMetadataHelper;->isDexMetadataFile(Ljava/io/File;)Z
-Landroid/content/pm/dex/DexMetadataHelper;->isDexMetadataPath(Ljava/lang/String;)Z
-Landroid/content/pm/dex/DexMetadataHelper;->validateDexMetadataFile(Ljava/lang/String;)V
-Landroid/content/pm/dex/DexMetadataHelper;->validateDexPaths([Ljava/lang/String;)V
-Landroid/content/pm/dex/DexMetadataHelper;->validatePackageDexMetadata(Landroid/content/pm/PackageParser$Package;)V
-Landroid/content/pm/dex/IArtManager$Stub$Proxy;
-Landroid/content/pm/dex/IArtManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/content/pm/dex/IArtManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/dex/IArtManager$Stub$Proxy;->isRuntimeProfilingEnabled(ILjava/lang/String;)Z
-Landroid/content/pm/dex/IArtManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/pm/dex/IArtManager$Stub$Proxy;->snapshotRuntimeProfile(ILjava/lang/String;Ljava/lang/String;Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;Ljava/lang/String;)V
-Landroid/content/pm/dex/IArtManager$Stub;
-Landroid/content/pm/dex/IArtManager$Stub;-><init>()V
-Landroid/content/pm/dex/IArtManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/dex/IArtManager;
-Landroid/content/pm/dex/IArtManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/dex/IArtManager$Stub;->TRANSACTION_isRuntimeProfilingEnabled:I
-Landroid/content/pm/dex/IArtManager$Stub;->TRANSACTION_snapshotRuntimeProfile:I
-Landroid/content/pm/dex/IArtManager;
-Landroid/content/pm/dex/IArtManager;->isRuntimeProfilingEnabled(ILjava/lang/String;)Z
-Landroid/content/pm/dex/IArtManager;->snapshotRuntimeProfile(ILjava/lang/String;Ljava/lang/String;Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;Ljava/lang/String;)V
-Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub$Proxy;
-Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub$Proxy;->onError(I)V
-Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub$Proxy;->onSuccess(Landroid/os/ParcelFileDescriptor;)V
-Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub;
-Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub;-><init>()V
-Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;
-Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub;->TRANSACTION_onError:I
-Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub;->TRANSACTION_onSuccess:I
-Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;
-Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;->onError(I)V
-Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;->onSuccess(Landroid/os/ParcelFileDescriptor;)V
-Landroid/content/pm/dex/PackageOptimizationInfo;
-Landroid/content/pm/dex/PackageOptimizationInfo;-><init>(II)V
-Landroid/content/pm/dex/PackageOptimizationInfo;->createWithNoInfo()Landroid/content/pm/dex/PackageOptimizationInfo;
-Landroid/content/pm/dex/PackageOptimizationInfo;->getCompilationFilter()I
-Landroid/content/pm/dex/PackageOptimizationInfo;->getCompilationReason()I
-Landroid/content/pm/dex/PackageOptimizationInfo;->mCompilationFilter:I
-Landroid/content/pm/dex/PackageOptimizationInfo;->mCompilationReason:I
-Landroid/content/pm/FallbackCategoryProvider;
-Landroid/content/pm/FallbackCategoryProvider;-><init>()V
-Landroid/content/pm/FallbackCategoryProvider;->getFallbackCategory(Ljava/lang/String;)I
-Landroid/content/pm/FallbackCategoryProvider;->loadFallbacks()V
-Landroid/content/pm/FallbackCategoryProvider;->sFallbacks:Landroid/util/ArrayMap;
-Landroid/content/pm/FallbackCategoryProvider;->TAG:Ljava/lang/String;
-Landroid/content/pm/FeatureInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/FeatureInfo;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/content/pm/FeatureInfoProto;
-Landroid/content/pm/FeatureInfoProto;-><init>()V
-Landroid/content/pm/FeatureInfoProto;->FLAGS:J
-Landroid/content/pm/FeatureInfoProto;->GLES_VERSION:J
-Landroid/content/pm/FeatureInfoProto;->NAME:J
-Landroid/content/pm/FeatureInfoProto;->VERSION:J
-Landroid/content/pm/ICrossProfileApps$Stub$Proxy;
-Landroid/content/pm/ICrossProfileApps$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/content/pm/ICrossProfileApps$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/ICrossProfileApps$Stub$Proxy;->getTargetUserProfiles(Ljava/lang/String;)Ljava/util/List;
-Landroid/content/pm/ICrossProfileApps$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/pm/ICrossProfileApps$Stub$Proxy;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)V
-Landroid/content/pm/ICrossProfileApps$Stub;
-Landroid/content/pm/ICrossProfileApps$Stub;-><init>()V
-Landroid/content/pm/ICrossProfileApps$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/ICrossProfileApps;
-Landroid/content/pm/ICrossProfileApps$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/ICrossProfileApps$Stub;->TRANSACTION_getTargetUserProfiles:I
-Landroid/content/pm/ICrossProfileApps$Stub;->TRANSACTION_startActivityAsUser:I
-Landroid/content/pm/ICrossProfileApps;
-Landroid/content/pm/ICrossProfileApps;->getTargetUserProfiles(Ljava/lang/String;)Ljava/util/List;
-Landroid/content/pm/ICrossProfileApps;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)V
-Landroid/content/pm/IDexModuleRegisterCallback$Stub$Proxy;
-Landroid/content/pm/IDexModuleRegisterCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/content/pm/IDexModuleRegisterCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/IDexModuleRegisterCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/pm/IDexModuleRegisterCallback$Stub$Proxy;->onDexModuleRegistered(Ljava/lang/String;ZLjava/lang/String;)V
-Landroid/content/pm/IDexModuleRegisterCallback$Stub;
-Landroid/content/pm/IDexModuleRegisterCallback$Stub;-><init>()V
-Landroid/content/pm/IDexModuleRegisterCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IDexModuleRegisterCallback;
-Landroid/content/pm/IDexModuleRegisterCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/IDexModuleRegisterCallback$Stub;->TRANSACTION_onDexModuleRegistered:I
-Landroid/content/pm/IDexModuleRegisterCallback;
-Landroid/content/pm/IDexModuleRegisterCallback;->onDexModuleRegistered(Ljava/lang/String;ZLjava/lang/String;)V
-Landroid/content/pm/ILauncherApps$Stub$Proxy;
-Landroid/content/pm/ILauncherApps$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/content/pm/ILauncherApps$Stub$Proxy;->addOnAppsChangedListener(Ljava/lang/String;Landroid/content/pm/IOnAppsChangedListener;)V
-Landroid/content/pm/ILauncherApps$Stub$Proxy;->getApplicationInfo(Ljava/lang/String;Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/pm/ApplicationInfo;
-Landroid/content/pm/ILauncherApps$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/ILauncherApps$Stub$Proxy;->getLauncherActivities(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/ILauncherApps$Stub$Proxy;->getShortcutConfigActivities(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/ILauncherApps$Stub$Proxy;->getShortcutConfigActivityIntent(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)Landroid/content/IntentSender;
-Landroid/content/pm/ILauncherApps$Stub$Proxy;->getShortcutIconFd(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Landroid/os/ParcelFileDescriptor;
-Landroid/content/pm/ILauncherApps$Stub$Proxy;->getShortcutIconResId(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)I
-Landroid/content/pm/ILauncherApps$Stub$Proxy;->getShortcuts(Ljava/lang/String;JLjava/lang/String;Ljava/util/List;Landroid/content/ComponentName;ILandroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/ILauncherApps$Stub$Proxy;->getSuspendedPackageLauncherExtras(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/os/Bundle;
-Landroid/content/pm/ILauncherApps$Stub$Proxy;->hasShortcutHostPermission(Ljava/lang/String;)Z
-Landroid/content/pm/ILauncherApps$Stub$Proxy;->isActivityEnabled(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)Z
-Landroid/content/pm/ILauncherApps$Stub$Proxy;->isPackageEnabled(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Z
-Landroid/content/pm/ILauncherApps$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/pm/ILauncherApps$Stub$Proxy;->pinShortcuts(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Landroid/os/UserHandle;)V
-Landroid/content/pm/ILauncherApps$Stub$Proxy;->removeOnAppsChangedListener(Landroid/content/pm/IOnAppsChangedListener;)V
-Landroid/content/pm/ILauncherApps$Stub$Proxy;->resolveActivity(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)Landroid/content/pm/ActivityInfo;
-Landroid/content/pm/ILauncherApps$Stub$Proxy;->showAppDetailsAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/ComponentName;Landroid/graphics/Rect;Landroid/os/Bundle;Landroid/os/UserHandle;)V
-Landroid/content/pm/ILauncherApps$Stub$Proxy;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/ComponentName;Landroid/graphics/Rect;Landroid/os/Bundle;Landroid/os/UserHandle;)V
-Landroid/content/pm/ILauncherApps$Stub$Proxy;->startShortcut(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/graphics/Rect;Landroid/os/Bundle;I)Z
-Landroid/content/pm/ILauncherApps$Stub;
-Landroid/content/pm/ILauncherApps$Stub;-><init>()V
-Landroid/content/pm/ILauncherApps$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/ILauncherApps;
-Landroid/content/pm/ILauncherApps$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/ILauncherApps$Stub;->TRANSACTION_addOnAppsChangedListener:I
-Landroid/content/pm/ILauncherApps$Stub;->TRANSACTION_getApplicationInfo:I
-Landroid/content/pm/ILauncherApps$Stub;->TRANSACTION_getLauncherActivities:I
-Landroid/content/pm/ILauncherApps$Stub;->TRANSACTION_getShortcutConfigActivities:I
-Landroid/content/pm/ILauncherApps$Stub;->TRANSACTION_getShortcutConfigActivityIntent:I
-Landroid/content/pm/ILauncherApps$Stub;->TRANSACTION_getShortcutIconFd:I
-Landroid/content/pm/ILauncherApps$Stub;->TRANSACTION_getShortcutIconResId:I
-Landroid/content/pm/ILauncherApps$Stub;->TRANSACTION_getShortcuts:I
-Landroid/content/pm/ILauncherApps$Stub;->TRANSACTION_getSuspendedPackageLauncherExtras:I
-Landroid/content/pm/ILauncherApps$Stub;->TRANSACTION_hasShortcutHostPermission:I
-Landroid/content/pm/ILauncherApps$Stub;->TRANSACTION_isActivityEnabled:I
-Landroid/content/pm/ILauncherApps$Stub;->TRANSACTION_isPackageEnabled:I
-Landroid/content/pm/ILauncherApps$Stub;->TRANSACTION_pinShortcuts:I
-Landroid/content/pm/ILauncherApps$Stub;->TRANSACTION_removeOnAppsChangedListener:I
-Landroid/content/pm/ILauncherApps$Stub;->TRANSACTION_resolveActivity:I
-Landroid/content/pm/ILauncherApps$Stub;->TRANSACTION_showAppDetailsAsUser:I
-Landroid/content/pm/ILauncherApps$Stub;->TRANSACTION_startActivityAsUser:I
-Landroid/content/pm/ILauncherApps$Stub;->TRANSACTION_startShortcut:I
-Landroid/content/pm/ILauncherApps;
-Landroid/content/pm/ILauncherApps;->addOnAppsChangedListener(Ljava/lang/String;Landroid/content/pm/IOnAppsChangedListener;)V
-Landroid/content/pm/ILauncherApps;->getApplicationInfo(Ljava/lang/String;Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/pm/ApplicationInfo;
-Landroid/content/pm/ILauncherApps;->getLauncherActivities(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/ILauncherApps;->getShortcutConfigActivities(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/ILauncherApps;->getShortcutConfigActivityIntent(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)Landroid/content/IntentSender;
-Landroid/content/pm/ILauncherApps;->getShortcutIconFd(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Landroid/os/ParcelFileDescriptor;
-Landroid/content/pm/ILauncherApps;->getShortcutIconResId(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)I
-Landroid/content/pm/ILauncherApps;->getShortcuts(Ljava/lang/String;JLjava/lang/String;Ljava/util/List;Landroid/content/ComponentName;ILandroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/ILauncherApps;->getSuspendedPackageLauncherExtras(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/os/Bundle;
-Landroid/content/pm/ILauncherApps;->hasShortcutHostPermission(Ljava/lang/String;)Z
-Landroid/content/pm/ILauncherApps;->isActivityEnabled(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)Z
-Landroid/content/pm/ILauncherApps;->isPackageEnabled(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Z
-Landroid/content/pm/ILauncherApps;->pinShortcuts(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Landroid/os/UserHandle;)V
-Landroid/content/pm/ILauncherApps;->removeOnAppsChangedListener(Landroid/content/pm/IOnAppsChangedListener;)V
-Landroid/content/pm/ILauncherApps;->resolveActivity(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)Landroid/content/pm/ActivityInfo;
-Landroid/content/pm/ILauncherApps;->showAppDetailsAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/ComponentName;Landroid/graphics/Rect;Landroid/os/Bundle;Landroid/os/UserHandle;)V
-Landroid/content/pm/ILauncherApps;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/ComponentName;Landroid/graphics/Rect;Landroid/os/Bundle;Landroid/os/UserHandle;)V
-Landroid/content/pm/ILauncherApps;->startShortcut(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/graphics/Rect;Landroid/os/Bundle;I)Z
-Landroid/content/pm/InstantAppInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/InstantAppInfo;->mApplicationInfo:Landroid/content/pm/ApplicationInfo;
-Landroid/content/pm/InstantAppInfo;->mGrantedPermissions:[Ljava/lang/String;
-Landroid/content/pm/InstantAppInfo;->mLabelText:Ljava/lang/CharSequence;
-Landroid/content/pm/InstantAppInfo;->mPackageName:Ljava/lang/String;
-Landroid/content/pm/InstantAppInfo;->mRequestedPermissions:[Ljava/lang/String;
-Landroid/content/pm/InstantAppIntentFilter;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/InstantAppIntentFilter;->mFilters:Ljava/util/List;
-Landroid/content/pm/InstantAppIntentFilter;->mSplitName:Ljava/lang/String;
-Landroid/content/pm/InstantAppRequest;
-Landroid/content/pm/InstantAppRequest;-><init>(Landroid/content/pm/AuxiliaryResolveInfo;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;ILandroid/os/Bundle;Z)V
-Landroid/content/pm/InstantAppRequest;->callingPackage:Ljava/lang/String;
-Landroid/content/pm/InstantAppRequest;->digest:Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;
-Landroid/content/pm/InstantAppRequest;->origIntent:Landroid/content/Intent;
-Landroid/content/pm/InstantAppRequest;->resolvedType:Ljava/lang/String;
-Landroid/content/pm/InstantAppRequest;->resolveForStart:Z
-Landroid/content/pm/InstantAppRequest;->responseObj:Landroid/content/pm/AuxiliaryResolveInfo;
-Landroid/content/pm/InstantAppRequest;->userId:I
-Landroid/content/pm/InstantAppRequest;->verificationBundle:Landroid/os/Bundle;
-Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;-><init>(Ljava/lang/String;I)V
-Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;-><init>([[B[I)V
-Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;->DIGEST_MASK:I
-Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;->generateDigest(Ljava/lang/String;I)[[B
-Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;->getDigestPrefixSecure()[I
-Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;->mDigestBytes:[[B
-Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;->mDigestPrefix:[I
-Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;->mDigestPrefixSecure:[I
-Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;->sRandom:Ljava/util/Random;
-Landroid/content/pm/InstantAppResolveInfo;-><init>(Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;Ljava/lang/String;Ljava/util/List;JLandroid/os/Bundle;Z)V
-Landroid/content/pm/InstantAppResolveInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/InstantAppResolveInfo;->EMPTY_DIGEST:[B
-Landroid/content/pm/InstantAppResolveInfo;->mDigest:Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;
-Landroid/content/pm/InstantAppResolveInfo;->mExtras:Landroid/os/Bundle;
-Landroid/content/pm/InstantAppResolveInfo;->mFilters:Ljava/util/List;
-Landroid/content/pm/InstantAppResolveInfo;->mPackageName:Ljava/lang/String;
-Landroid/content/pm/InstantAppResolveInfo;->mShouldLetInstallerDecide:Z
-Landroid/content/pm/InstantAppResolveInfo;->mVersionCode:J
-Landroid/content/pm/InstantAppResolveInfo;->SHA_ALGORITHM:Ljava/lang/String;
-Landroid/content/pm/InstrumentationInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/InstrumentationInfo;->copyTo(Landroid/content/pm/ApplicationInfo;)V
-Landroid/content/pm/InstrumentationInfo;->credentialProtectedDataDir:Ljava/lang/String;
-Landroid/content/pm/InstrumentationInfo;->deviceProtectedDataDir:Ljava/lang/String;
-Landroid/content/pm/InstrumentationInfo;->nativeLibraryDir:Ljava/lang/String;
-Landroid/content/pm/InstrumentationInfo;->primaryCpuAbi:Ljava/lang/String;
-Landroid/content/pm/InstrumentationInfo;->secondaryCpuAbi:Ljava/lang/String;
-Landroid/content/pm/InstrumentationInfo;->secondaryNativeLibraryDir:Ljava/lang/String;
-Landroid/content/pm/InstrumentationInfo;->splitDependencies:Landroid/util/SparseArray;
-Landroid/content/pm/IntentFilterVerificationInfo;-><init>()V
-Landroid/content/pm/IntentFilterVerificationInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/IntentFilterVerificationInfo;-><init>(Ljava/lang/String;Landroid/util/ArraySet;)V
-Landroid/content/pm/IntentFilterVerificationInfo;-><init>(Lorg/xmlpull/v1/XmlPullParser;)V
-Landroid/content/pm/IntentFilterVerificationInfo;->ATTR_DOMAIN_NAME:Ljava/lang/String;
-Landroid/content/pm/IntentFilterVerificationInfo;->ATTR_PACKAGE_NAME:Ljava/lang/String;
-Landroid/content/pm/IntentFilterVerificationInfo;->ATTR_STATUS:Ljava/lang/String;
-Landroid/content/pm/IntentFilterVerificationInfo;->getDomainsString()Ljava/lang/String;
-Landroid/content/pm/IntentFilterVerificationInfo;->getIntFromXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
-Landroid/content/pm/IntentFilterVerificationInfo;->getStatusString()Ljava/lang/String;
-Landroid/content/pm/IntentFilterVerificationInfo;->getStatusStringFromValue(J)Ljava/lang/String;
-Landroid/content/pm/IntentFilterVerificationInfo;->getStringFromXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/pm/IntentFilterVerificationInfo;->mDomains:Landroid/util/ArraySet;
-Landroid/content/pm/IntentFilterVerificationInfo;->mMainStatus:I
-Landroid/content/pm/IntentFilterVerificationInfo;->mPackageName:Ljava/lang/String;
-Landroid/content/pm/IntentFilterVerificationInfo;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/content/pm/IntentFilterVerificationInfo;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
-Landroid/content/pm/IntentFilterVerificationInfo;->setDomains(Landroid/util/ArraySet;)V
-Landroid/content/pm/IntentFilterVerificationInfo;->setStatus(I)V
-Landroid/content/pm/IntentFilterVerificationInfo;->TAG:Ljava/lang/String;
-Landroid/content/pm/IntentFilterVerificationInfo;->TAG_DOMAIN:Ljava/lang/String;
-Landroid/content/pm/IntentFilterVerificationInfo;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-Landroid/content/pm/IOnAppsChangedListener$Stub$Proxy;
-Landroid/content/pm/IOnAppsChangedListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/content/pm/IOnAppsChangedListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/IOnAppsChangedListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/pm/IOnAppsChangedListener$Stub$Proxy;->onPackageAdded(Landroid/os/UserHandle;Ljava/lang/String;)V
-Landroid/content/pm/IOnAppsChangedListener$Stub$Proxy;->onPackageChanged(Landroid/os/UserHandle;Ljava/lang/String;)V
-Landroid/content/pm/IOnAppsChangedListener$Stub$Proxy;->onPackageRemoved(Landroid/os/UserHandle;Ljava/lang/String;)V
-Landroid/content/pm/IOnAppsChangedListener$Stub$Proxy;->onPackagesAvailable(Landroid/os/UserHandle;[Ljava/lang/String;Z)V
-Landroid/content/pm/IOnAppsChangedListener$Stub$Proxy;->onPackagesSuspended(Landroid/os/UserHandle;[Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/content/pm/IOnAppsChangedListener$Stub$Proxy;->onPackagesUnavailable(Landroid/os/UserHandle;[Ljava/lang/String;Z)V
-Landroid/content/pm/IOnAppsChangedListener$Stub$Proxy;->onPackagesUnsuspended(Landroid/os/UserHandle;[Ljava/lang/String;)V
-Landroid/content/pm/IOnAppsChangedListener$Stub$Proxy;->onShortcutChanged(Landroid/os/UserHandle;Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
-Landroid/content/pm/IOnAppsChangedListener$Stub;
-Landroid/content/pm/IOnAppsChangedListener$Stub;-><init>()V
-Landroid/content/pm/IOnAppsChangedListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IOnAppsChangedListener;
-Landroid/content/pm/IOnAppsChangedListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/IOnAppsChangedListener$Stub;->TRANSACTION_onPackageAdded:I
-Landroid/content/pm/IOnAppsChangedListener$Stub;->TRANSACTION_onPackageChanged:I
-Landroid/content/pm/IOnAppsChangedListener$Stub;->TRANSACTION_onPackageRemoved:I
-Landroid/content/pm/IOnAppsChangedListener$Stub;->TRANSACTION_onPackagesAvailable:I
-Landroid/content/pm/IOnAppsChangedListener$Stub;->TRANSACTION_onPackagesSuspended:I
-Landroid/content/pm/IOnAppsChangedListener$Stub;->TRANSACTION_onPackagesUnavailable:I
-Landroid/content/pm/IOnAppsChangedListener$Stub;->TRANSACTION_onPackagesUnsuspended:I
-Landroid/content/pm/IOnAppsChangedListener$Stub;->TRANSACTION_onShortcutChanged:I
-Landroid/content/pm/IOnAppsChangedListener;
-Landroid/content/pm/IOnAppsChangedListener;->onPackageAdded(Landroid/os/UserHandle;Ljava/lang/String;)V
-Landroid/content/pm/IOnAppsChangedListener;->onPackageChanged(Landroid/os/UserHandle;Ljava/lang/String;)V
-Landroid/content/pm/IOnAppsChangedListener;->onPackageRemoved(Landroid/os/UserHandle;Ljava/lang/String;)V
-Landroid/content/pm/IOnAppsChangedListener;->onPackagesAvailable(Landroid/os/UserHandle;[Ljava/lang/String;Z)V
-Landroid/content/pm/IOnAppsChangedListener;->onPackagesSuspended(Landroid/os/UserHandle;[Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/content/pm/IOnAppsChangedListener;->onPackagesUnavailable(Landroid/os/UserHandle;[Ljava/lang/String;Z)V
-Landroid/content/pm/IOnAppsChangedListener;->onPackagesUnsuspended(Landroid/os/UserHandle;[Ljava/lang/String;)V
-Landroid/content/pm/IOnAppsChangedListener;->onShortcutChanged(Landroid/os/UserHandle;Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
-Landroid/content/pm/IOnPermissionsChangeListener$Stub$Proxy;
-Landroid/content/pm/IOnPermissionsChangeListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/content/pm/IOnPermissionsChangeListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/IOnPermissionsChangeListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/pm/IOnPermissionsChangeListener$Stub$Proxy;->onPermissionsChanged(I)V
-Landroid/content/pm/IOnPermissionsChangeListener$Stub;
-Landroid/content/pm/IOnPermissionsChangeListener$Stub;-><init>()V
-Landroid/content/pm/IOnPermissionsChangeListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IOnPermissionsChangeListener;
-Landroid/content/pm/IOnPermissionsChangeListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/IOnPermissionsChangeListener$Stub;->TRANSACTION_onPermissionsChanged:I
-Landroid/content/pm/IOnPermissionsChangeListener;
-Landroid/content/pm/IOnPermissionsChangeListener;->onPermissionsChanged(I)V
-Landroid/content/pm/IOtaDexopt$Stub$Proxy;
-Landroid/content/pm/IOtaDexopt$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/content/pm/IOtaDexopt$Stub$Proxy;->cleanup()V
-Landroid/content/pm/IOtaDexopt$Stub$Proxy;->dexoptNextPackage()V
-Landroid/content/pm/IOtaDexopt$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/IOtaDexopt$Stub$Proxy;->getProgress()F
-Landroid/content/pm/IOtaDexopt$Stub$Proxy;->isDone()Z
-Landroid/content/pm/IOtaDexopt$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/pm/IOtaDexopt$Stub$Proxy;->nextDexoptCommand()Ljava/lang/String;
-Landroid/content/pm/IOtaDexopt$Stub$Proxy;->prepare()V
-Landroid/content/pm/IOtaDexopt$Stub;
-Landroid/content/pm/IOtaDexopt$Stub;-><init>()V
-Landroid/content/pm/IOtaDexopt$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IOtaDexopt;
-Landroid/content/pm/IOtaDexopt$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/IOtaDexopt$Stub;->TRANSACTION_cleanup:I
-Landroid/content/pm/IOtaDexopt$Stub;->TRANSACTION_dexoptNextPackage:I
-Landroid/content/pm/IOtaDexopt$Stub;->TRANSACTION_getProgress:I
-Landroid/content/pm/IOtaDexopt$Stub;->TRANSACTION_isDone:I
-Landroid/content/pm/IOtaDexopt$Stub;->TRANSACTION_nextDexoptCommand:I
-Landroid/content/pm/IOtaDexopt$Stub;->TRANSACTION_prepare:I
-Landroid/content/pm/IOtaDexopt;
-Landroid/content/pm/IOtaDexopt;->cleanup()V
-Landroid/content/pm/IOtaDexopt;->dexoptNextPackage()V
-Landroid/content/pm/IOtaDexopt;->getProgress()F
-Landroid/content/pm/IOtaDexopt;->isDone()Z
-Landroid/content/pm/IOtaDexopt;->nextDexoptCommand()Ljava/lang/String;
-Landroid/content/pm/IOtaDexopt;->prepare()V
-Landroid/content/pm/IPackageDataObserver$Stub$Proxy;
-Landroid/content/pm/IPackageDataObserver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/IPackageDataObserver$Stub$Proxy;->onRemoveCompleted(Ljava/lang/String;Z)V
-Landroid/content/pm/IPackageDataObserver$Stub;
-Landroid/content/pm/IPackageDataObserver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/IPackageDataObserver$Stub;->TRANSACTION_onRemoveCompleted:I
-Landroid/content/pm/IPackageDataObserver;
-Landroid/content/pm/IPackageDeleteObserver$Stub$Proxy;
-Landroid/content/pm/IPackageDeleteObserver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/IPackageDeleteObserver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/pm/IPackageDeleteObserver$Stub$Proxy;->packageDeleted(Ljava/lang/String;I)V
-Landroid/content/pm/IPackageDeleteObserver$Stub;
-Landroid/content/pm/IPackageDeleteObserver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/IPackageDeleteObserver$Stub;->TRANSACTION_packageDeleted:I
-Landroid/content/pm/IPackageDeleteObserver2$Stub$Proxy;
-Landroid/content/pm/IPackageDeleteObserver2$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/IPackageDeleteObserver2$Stub$Proxy;->onPackageDeleted(Ljava/lang/String;ILjava/lang/String;)V
-Landroid/content/pm/IPackageDeleteObserver2$Stub$Proxy;->onUserActionRequired(Landroid/content/Intent;)V
-Landroid/content/pm/IPackageDeleteObserver2$Stub;
-Landroid/content/pm/IPackageDeleteObserver2$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/IPackageDeleteObserver2$Stub;->TRANSACTION_onPackageDeleted:I
-Landroid/content/pm/IPackageDeleteObserver2$Stub;->TRANSACTION_onUserActionRequired:I
-Landroid/content/pm/IPackageDeleteObserver2;
-Landroid/content/pm/IPackageDeleteObserver2;->onUserActionRequired(Landroid/content/Intent;)V
-Landroid/content/pm/IPackageDeleteObserver;
-Landroid/content/pm/IPackageInstaller$Stub$Proxy;
-Landroid/content/pm/IPackageInstaller$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/content/pm/IPackageInstaller$Stub$Proxy;->abandonSession(I)V
-Landroid/content/pm/IPackageInstaller$Stub$Proxy;->createSession(Landroid/content/pm/PackageInstaller$SessionParams;Ljava/lang/String;I)I
-Landroid/content/pm/IPackageInstaller$Stub$Proxy;->getAllSessions(I)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageInstaller$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/IPackageInstaller$Stub$Proxy;->getMySessions(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageInstaller$Stub$Proxy;->getSessionInfo(I)Landroid/content/pm/PackageInstaller$SessionInfo;
-Landroid/content/pm/IPackageInstaller$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/pm/IPackageInstaller$Stub$Proxy;->openSession(I)Landroid/content/pm/IPackageInstallerSession;
-Landroid/content/pm/IPackageInstaller$Stub$Proxy;->registerCallback(Landroid/content/pm/IPackageInstallerCallback;I)V
-Landroid/content/pm/IPackageInstaller$Stub$Proxy;->setPermissionsResult(IZ)V
-Landroid/content/pm/IPackageInstaller$Stub$Proxy;->uninstall(Landroid/content/pm/VersionedPackage;Ljava/lang/String;ILandroid/content/IntentSender;I)V
-Landroid/content/pm/IPackageInstaller$Stub$Proxy;->unregisterCallback(Landroid/content/pm/IPackageInstallerCallback;)V
-Landroid/content/pm/IPackageInstaller$Stub$Proxy;->updateSessionAppIcon(ILandroid/graphics/Bitmap;)V
-Landroid/content/pm/IPackageInstaller$Stub$Proxy;->updateSessionAppLabel(ILjava/lang/String;)V
-Landroid/content/pm/IPackageInstaller$Stub;
-Landroid/content/pm/IPackageInstaller$Stub;-><init>()V
-Landroid/content/pm/IPackageInstaller$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageInstaller;
-Landroid/content/pm/IPackageInstaller$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/IPackageInstaller$Stub;->TRANSACTION_abandonSession:I
-Landroid/content/pm/IPackageInstaller$Stub;->TRANSACTION_createSession:I
-Landroid/content/pm/IPackageInstaller$Stub;->TRANSACTION_getAllSessions:I
-Landroid/content/pm/IPackageInstaller$Stub;->TRANSACTION_getMySessions:I
-Landroid/content/pm/IPackageInstaller$Stub;->TRANSACTION_getSessionInfo:I
-Landroid/content/pm/IPackageInstaller$Stub;->TRANSACTION_openSession:I
-Landroid/content/pm/IPackageInstaller$Stub;->TRANSACTION_registerCallback:I
-Landroid/content/pm/IPackageInstaller$Stub;->TRANSACTION_setPermissionsResult:I
-Landroid/content/pm/IPackageInstaller$Stub;->TRANSACTION_uninstall:I
-Landroid/content/pm/IPackageInstaller$Stub;->TRANSACTION_unregisterCallback:I
-Landroid/content/pm/IPackageInstaller$Stub;->TRANSACTION_updateSessionAppIcon:I
-Landroid/content/pm/IPackageInstaller$Stub;->TRANSACTION_updateSessionAppLabel:I
-Landroid/content/pm/IPackageInstaller;
-Landroid/content/pm/IPackageInstaller;->abandonSession(I)V
-Landroid/content/pm/IPackageInstaller;->createSession(Landroid/content/pm/PackageInstaller$SessionParams;Ljava/lang/String;I)I
-Landroid/content/pm/IPackageInstaller;->getAllSessions(I)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageInstaller;->getMySessions(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageInstaller;->getSessionInfo(I)Landroid/content/pm/PackageInstaller$SessionInfo;
-Landroid/content/pm/IPackageInstaller;->openSession(I)Landroid/content/pm/IPackageInstallerSession;
-Landroid/content/pm/IPackageInstaller;->registerCallback(Landroid/content/pm/IPackageInstallerCallback;I)V
-Landroid/content/pm/IPackageInstaller;->setPermissionsResult(IZ)V
-Landroid/content/pm/IPackageInstaller;->unregisterCallback(Landroid/content/pm/IPackageInstallerCallback;)V
-Landroid/content/pm/IPackageInstaller;->updateSessionAppIcon(ILandroid/graphics/Bitmap;)V
-Landroid/content/pm/IPackageInstaller;->updateSessionAppLabel(ILjava/lang/String;)V
-Landroid/content/pm/IPackageInstallerCallback$Stub$Proxy;
-Landroid/content/pm/IPackageInstallerCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/IPackageInstallerCallback$Stub$Proxy;->onSessionActiveChanged(IZ)V
-Landroid/content/pm/IPackageInstallerCallback$Stub$Proxy;->onSessionBadgingChanged(I)V
-Landroid/content/pm/IPackageInstallerCallback$Stub$Proxy;->onSessionCreated(I)V
-Landroid/content/pm/IPackageInstallerCallback$Stub$Proxy;->onSessionFinished(IZ)V
-Landroid/content/pm/IPackageInstallerCallback$Stub$Proxy;->onSessionProgressChanged(IF)V
-Landroid/content/pm/IPackageInstallerCallback$Stub;
-Landroid/content/pm/IPackageInstallerCallback$Stub;-><init>()V
-Landroid/content/pm/IPackageInstallerCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/IPackageInstallerCallback$Stub;->TRANSACTION_onSessionActiveChanged:I
-Landroid/content/pm/IPackageInstallerCallback$Stub;->TRANSACTION_onSessionBadgingChanged:I
-Landroid/content/pm/IPackageInstallerCallback$Stub;->TRANSACTION_onSessionCreated:I
-Landroid/content/pm/IPackageInstallerCallback$Stub;->TRANSACTION_onSessionFinished:I
-Landroid/content/pm/IPackageInstallerCallback$Stub;->TRANSACTION_onSessionProgressChanged:I
-Landroid/content/pm/IPackageInstallerCallback;
-Landroid/content/pm/IPackageInstallerSession$Stub$Proxy;
-Landroid/content/pm/IPackageInstallerSession$Stub$Proxy;->abandon()V
-Landroid/content/pm/IPackageInstallerSession$Stub$Proxy;->addClientProgress(F)V
-Landroid/content/pm/IPackageInstallerSession$Stub$Proxy;->close()V
-Landroid/content/pm/IPackageInstallerSession$Stub$Proxy;->commit(Landroid/content/IntentSender;Z)V
-Landroid/content/pm/IPackageInstallerSession$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/IPackageInstallerSession$Stub$Proxy;->getNames()[Ljava/lang/String;
-Landroid/content/pm/IPackageInstallerSession$Stub$Proxy;->openRead(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-Landroid/content/pm/IPackageInstallerSession$Stub$Proxy;->openWrite(Ljava/lang/String;JJ)Landroid/os/ParcelFileDescriptor;
-Landroid/content/pm/IPackageInstallerSession$Stub$Proxy;->removeSplit(Ljava/lang/String;)V
-Landroid/content/pm/IPackageInstallerSession$Stub$Proxy;->setClientProgress(F)V
-Landroid/content/pm/IPackageInstallerSession$Stub$Proxy;->transfer(Ljava/lang/String;)V
-Landroid/content/pm/IPackageInstallerSession$Stub$Proxy;->write(Ljava/lang/String;JJLandroid/os/ParcelFileDescriptor;)V
-Landroid/content/pm/IPackageInstallerSession$Stub;
-Landroid/content/pm/IPackageInstallerSession$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/IPackageInstallerSession$Stub;->TRANSACTION_abandon:I
-Landroid/content/pm/IPackageInstallerSession$Stub;->TRANSACTION_addClientProgress:I
-Landroid/content/pm/IPackageInstallerSession$Stub;->TRANSACTION_close:I
-Landroid/content/pm/IPackageInstallerSession$Stub;->TRANSACTION_commit:I
-Landroid/content/pm/IPackageInstallerSession$Stub;->TRANSACTION_getNames:I
-Landroid/content/pm/IPackageInstallerSession$Stub;->TRANSACTION_openRead:I
-Landroid/content/pm/IPackageInstallerSession$Stub;->TRANSACTION_openWrite:I
-Landroid/content/pm/IPackageInstallerSession$Stub;->TRANSACTION_removeSplit:I
-Landroid/content/pm/IPackageInstallerSession$Stub;->TRANSACTION_setClientProgress:I
-Landroid/content/pm/IPackageInstallerSession$Stub;->TRANSACTION_transfer:I
-Landroid/content/pm/IPackageInstallerSession$Stub;->TRANSACTION_write:I
-Landroid/content/pm/IPackageInstallerSession;
-Landroid/content/pm/IPackageInstallerSession;->abandon()V
-Landroid/content/pm/IPackageInstallerSession;->addClientProgress(F)V
-Landroid/content/pm/IPackageInstallerSession;->close()V
-Landroid/content/pm/IPackageInstallerSession;->commit(Landroid/content/IntentSender;Z)V
-Landroid/content/pm/IPackageInstallerSession;->getNames()[Ljava/lang/String;
-Landroid/content/pm/IPackageInstallerSession;->openRead(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-Landroid/content/pm/IPackageInstallerSession;->openWrite(Ljava/lang/String;JJ)Landroid/os/ParcelFileDescriptor;
-Landroid/content/pm/IPackageInstallerSession;->removeSplit(Ljava/lang/String;)V
-Landroid/content/pm/IPackageInstallerSession;->setClientProgress(F)V
-Landroid/content/pm/IPackageInstallerSession;->transfer(Ljava/lang/String;)V
-Landroid/content/pm/IPackageInstallerSession;->write(Ljava/lang/String;JJLandroid/os/ParcelFileDescriptor;)V
-Landroid/content/pm/IPackageInstallObserver2$Stub$Proxy;
-Landroid/content/pm/IPackageInstallObserver2$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/IPackageInstallObserver2$Stub$Proxy;->onPackageInstalled(Ljava/lang/String;ILjava/lang/String;Landroid/os/Bundle;)V
-Landroid/content/pm/IPackageInstallObserver2$Stub$Proxy;->onUserActionRequired(Landroid/content/Intent;)V
-Landroid/content/pm/IPackageInstallObserver2$Stub;
-Landroid/content/pm/IPackageInstallObserver2$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/IPackageInstallObserver2$Stub;->TRANSACTION_onPackageInstalled:I
-Landroid/content/pm/IPackageInstallObserver2$Stub;->TRANSACTION_onUserActionRequired:I
-Landroid/content/pm/IPackageInstallObserver2;
-Landroid/content/pm/IPackageManager$Stub$Proxy;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->activitySupportsIntent(Landroid/content/ComponentName;Landroid/content/Intent;Ljava/lang/String;)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->addCrossProfileIntentFilter(Landroid/content/IntentFilter;Ljava/lang/String;III)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->addOnPermissionsChangeListener(Landroid/content/pm/IOnPermissionsChangeListener;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->addPermission(Landroid/content/pm/PermissionInfo;)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->addPermissionAsync(Landroid/content/pm/PermissionInfo;)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->addPersistentPreferredActivity(Landroid/content/IntentFilter;Landroid/content/ComponentName;I)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->addPreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->canForwardTo(Landroid/content/Intent;Ljava/lang/String;II)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->canonicalToCurrentPackageNames([Ljava/lang/String;)[Ljava/lang/String;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->canRequestPackageInstalls(Ljava/lang/String;I)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->checkPackageStartable(Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->checkPermission(Ljava/lang/String;Ljava/lang/String;I)I
-Landroid/content/pm/IPackageManager$Stub$Proxy;->checkSignatures(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/content/pm/IPackageManager$Stub$Proxy;->checkUidSignatures(II)I
-Landroid/content/pm/IPackageManager$Stub$Proxy;->clearApplicationProfileData(Ljava/lang/String;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->clearApplicationUserData(Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;I)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->clearCrossProfileIntentFilters(ILjava/lang/String;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->clearPackagePersistentPreferredActivities(Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->clearPackagePreferredActivities(Ljava/lang/String;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->currentToCanonicalPackageNames([Ljava/lang/String;)[Ljava/lang/String;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->deleteApplicationCacheFiles(Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->deleteApplicationCacheFilesAsUser(Ljava/lang/String;ILandroid/content/pm/IPackageDataObserver;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->deletePackageAsUser(Ljava/lang/String;ILandroid/content/pm/IPackageDeleteObserver;II)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->deletePackageVersioned(Landroid/content/pm/VersionedPackage;Landroid/content/pm/IPackageDeleteObserver2;II)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->deletePreloadsFileCache()V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->dumpProfiles(Ljava/lang/String;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->enterSafeMode()V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->extendVerificationTimeout(IIJ)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->findPersistentPreferredActivity(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->finishPackageInstall(IZ)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->flushPackageRestrictionsAsUser(I)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->forceDexOpt(Ljava/lang/String;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->freeStorage(Ljava/lang/String;JILandroid/content/IntentSender;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->freeStorageAndNotify(Ljava/lang/String;JILandroid/content/pm/IPackageDataObserver;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getActivityInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getAllIntentFilters(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getAllPackages()Ljava/util/List;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getAllPermissionGroups(I)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getApplicationEnabledSetting(Ljava/lang/String;I)I
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getApplicationHiddenSettingAsUser(Ljava/lang/String;I)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getApplicationInfo(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getArtManager()Landroid/content/pm/dex/IArtManager;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getBlockUninstallForUser(Ljava/lang/String;I)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getChangedPackages(II)Landroid/content/pm/ChangedPackages;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getComponentEnabledSetting(Landroid/content/ComponentName;I)I
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getDefaultAppsBackup(I)[B
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getDefaultBrowserPackageName(I)Ljava/lang/String;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getFlagsForUid(I)I
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getHarmfulAppWarning(Ljava/lang/String;I)Ljava/lang/CharSequence;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getHomeActivities(Ljava/util/List;)Landroid/content/ComponentName;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getInstalledApplications(II)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getInstallReason(Ljava/lang/String;I)I
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getInstantAppAndroidId(Ljava/lang/String;I)Ljava/lang/String;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getInstantAppCookie(Ljava/lang/String;I)[B
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getInstantAppIcon(Ljava/lang/String;I)Landroid/graphics/Bitmap;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getInstantAppInstallerComponent()Landroid/content/ComponentName;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getInstantAppResolverComponent()Landroid/content/ComponentName;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getInstantAppResolverSettingsComponent()Landroid/content/ComponentName;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getInstantApps(I)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getInstrumentationInfo(Landroid/content/ComponentName;I)Landroid/content/pm/InstrumentationInfo;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getIntentFilterVerificationBackup(I)[B
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getIntentFilterVerifications(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getIntentVerificationStatus(Ljava/lang/String;I)I
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getKeySetByAlias(Ljava/lang/String;Ljava/lang/String;)Landroid/content/pm/KeySet;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getMoveStatus(I)I
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getNameForUid(I)Ljava/lang/String;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getNamesForUids([I)[Ljava/lang/String;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getPackageGids(Ljava/lang/String;II)[I
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getPackageInfoVersioned(Landroid/content/pm/VersionedPackage;II)Landroid/content/pm/PackageInfo;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getPackageInstaller()Landroid/content/pm/IPackageInstaller;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getPackagesHoldingPermissions([Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getPackageSizeInfo(Ljava/lang/String;ILandroid/content/pm/IPackageStatsObserver;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getPackageUid(Ljava/lang/String;II)I
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getPermissionControllerPackageName()Ljava/lang/String;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;I)I
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getPermissionGrantBackup(I)[B
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getPermissionGroupInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionGroupInfo;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getPersistentApplications(I)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getPreferredActivities(Ljava/util/List;Ljava/util/List;Ljava/lang/String;)I
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getPreferredActivityBackup(I)[B
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getPrivateFlagsForUid(I)I
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getProviderInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ProviderInfo;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getReceiverInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getServiceInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ServiceInfo;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getServicesSystemSharedLibraryPackageName()Ljava/lang/String;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getSharedLibraries(Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getSharedSystemSharedLibraryPackageName()Ljava/lang/String;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getSigningKeySet(Ljava/lang/String;)Landroid/content/pm/KeySet;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getSuspendedPackageAppExtras(Ljava/lang/String;I)Landroid/os/PersistableBundle;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getSystemAvailableFeatures()Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getSystemTextClassifierPackageName()Ljava/lang/String;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getUidForSharedUser(Ljava/lang/String;)I
-Landroid/content/pm/IPackageManager$Stub$Proxy;->getVerifierDeviceIdentity()Landroid/content/pm/VerifierDeviceIdentity;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->grantDefaultPermissionsToActiveLuiApp(Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->grantDefaultPermissionsToEnabledCarrierApps([Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->grantDefaultPermissionsToEnabledImsServices([Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->grantDefaultPermissionsToEnabledTelephonyDataServices([Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->hasSigningCertificate(Ljava/lang/String;[BI)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->hasSystemFeature(Ljava/lang/String;I)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->hasSystemUidErrors()Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->hasUidSigningCertificate(I[BI)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->installExistingPackageAsUser(Ljava/lang/String;III)I
-Landroid/content/pm/IPackageManager$Stub$Proxy;->isFirstBoot()Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->isInstantApp(Ljava/lang/String;I)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->isOnlyCoreApps()Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->isPackageAvailable(Ljava/lang/String;I)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->isPackageDeviceAdminOnAnyUser(Ljava/lang/String;)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->isPackageSignedByKeySet(Ljava/lang/String;Landroid/content/pm/KeySet;)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->isPackageSignedByKeySetExactly(Ljava/lang/String;Landroid/content/pm/KeySet;)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->isPackageStateProtected(Ljava/lang/String;I)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->isPermissionEnforced(Ljava/lang/String;)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->isPermissionRevokedByPolicy(Ljava/lang/String;Ljava/lang/String;I)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->isProtectedBroadcast(Ljava/lang/String;)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->isSafeMode()Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->isStorageLow()Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->isUidPrivileged(I)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->isUpgrade()Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->logAppProcessStartIfNeeded(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->movePackage(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/content/pm/IPackageManager$Stub$Proxy;->movePrimaryStorage(Ljava/lang/String;)I
-Landroid/content/pm/IPackageManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->nextPackageToClean(Landroid/content/pm/PackageCleanItem;)Landroid/content/pm/PackageCleanItem;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->notifyDexLoad(Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/lang/String;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->notifyPackageUse(Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->performDexOptMode(Ljava/lang/String;ZLjava/lang/String;ZZLjava/lang/String;)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->performDexOptSecondary(Ljava/lang/String;Ljava/lang/String;Z)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->performFstrimIfNeeded()V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->queryContentProviders(Ljava/lang/String;IILjava/lang/String;)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->queryInstrumentation(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentActivityOptions(Landroid/content/ComponentName;[Landroid/content/Intent;[Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentContentProviders(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentServices(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->queryPermissionsByGroup(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->querySyncProviders(Ljava/util/List;Ljava/util/List;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->reconcileSecondaryDexFiles(Ljava/lang/String;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->registerDexModule(Ljava/lang/String;Ljava/lang/String;ZLandroid/content/pm/IDexModuleRegisterCallback;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->registerMoveCallback(Landroid/content/pm/IPackageMoveObserver;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->removeOnPermissionsChangeListener(Landroid/content/pm/IOnPermissionsChangeListener;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->removePermission(Ljava/lang/String;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->replacePreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->resetApplicationPreferences(I)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->resetRuntimePermissions()V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->resolveService(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->restoreDefaultApps([BI)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->restoreIntentFilterVerification([BI)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->restorePermissionGrants([BI)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->restorePreferredActivities([BI)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->revokeDefaultPermissionsFromDisabledTelephonyDataServices([Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->revokeDefaultPermissionsFromLuiApps([Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->runBackgroundDexoptJob(Ljava/util/List;)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->setApplicationCategoryHint(Ljava/lang/String;ILjava/lang/String;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->setApplicationEnabledSetting(Ljava/lang/String;IIILjava/lang/String;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->setApplicationHiddenSettingAsUser(Ljava/lang/String;ZI)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->setBlockUninstallForUser(Ljava/lang/String;ZI)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->setComponentEnabledSetting(Landroid/content/ComponentName;III)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->setDefaultBrowserPackageName(Ljava/lang/String;I)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->setHarmfulAppWarning(Ljava/lang/String;Ljava/lang/CharSequence;I)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->setHomeActivity(Landroid/content/ComponentName;I)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->setInstallerPackageName(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->setInstallLocation(I)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->setInstantAppCookie(Ljava/lang/String;[BI)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->setLastChosenActivity(Landroid/content/Intent;Ljava/lang/String;ILandroid/content/IntentFilter;ILandroid/content/ComponentName;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->setPackagesSuspendedAsUser([Ljava/lang/String;ZLandroid/os/PersistableBundle;Landroid/os/PersistableBundle;Ljava/lang/String;Ljava/lang/String;I)[Ljava/lang/String;
-Landroid/content/pm/IPackageManager$Stub$Proxy;->setPackageStoppedState(Ljava/lang/String;ZI)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->setPermissionEnforced(Ljava/lang/String;Z)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->setRequiredForSystemUser(Ljava/lang/String;Z)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->setUpdateAvailable(Ljava/lang/String;Z)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->shouldShowRequestPermissionRationale(Ljava/lang/String;Ljava/lang/String;I)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->systemReady()V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->unregisterMoveCallback(Landroid/content/pm/IPackageMoveObserver;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->updateIntentVerificationStatus(Ljava/lang/String;II)Z
-Landroid/content/pm/IPackageManager$Stub$Proxy;->updatePackagesIfNeeded()V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;III)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->updatePermissionFlagsForAllApps(III)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->verifyIntentFilter(IILjava/util/List;)V
-Landroid/content/pm/IPackageManager$Stub$Proxy;->verifyPendingInstall(II)V
-Landroid/content/pm/IPackageManager$Stub;
-Landroid/content/pm/IPackageManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_activitySupportsIntent:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_addCrossProfileIntentFilter:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_addOnPermissionsChangeListener:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_addPermission:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_addPermissionAsync:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_addPersistentPreferredActivity:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_addPreferredActivity:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_canForwardTo:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_canonicalToCurrentPackageNames:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_canRequestPackageInstalls:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_checkPackageStartable:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_checkPermission:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_checkSignatures:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_checkUidPermission:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_checkUidSignatures:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_clearApplicationProfileData:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_clearApplicationUserData:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_clearCrossProfileIntentFilters:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_clearPackagePersistentPreferredActivities:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_clearPackagePreferredActivities:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_currentToCanonicalPackageNames:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_deleteApplicationCacheFiles:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_deleteApplicationCacheFilesAsUser:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_deletePackageAsUser:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_deletePackageVersioned:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_deletePreloadsFileCache:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_dumpProfiles:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_enterSafeMode:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_extendVerificationTimeout:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_findPersistentPreferredActivity:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_finishPackageInstall:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_flushPackageRestrictionsAsUser:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_forceDexOpt:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_freeStorage:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_freeStorageAndNotify:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getActivityInfo:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getAllIntentFilters:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getAllPackages:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getAllPermissionGroups:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getApplicationEnabledSetting:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getApplicationHiddenSettingAsUser:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getAppOpPermissionPackages:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getArtManager:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getBlockUninstallForUser:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getChangedPackages:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getComponentEnabledSetting:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getDefaultAppsBackup:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getDefaultBrowserPackageName:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getFlagsForUid:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getHarmfulAppWarning:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getHomeActivities:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getInstalledApplications:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getInstalledPackages:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getInstallerPackageName:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getInstallLocation:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getInstallReason:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getInstantAppAndroidId:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getInstantAppCookie:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getInstantAppIcon:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getInstantAppInstallerComponent:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getInstantAppResolverComponent:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getInstantAppResolverSettingsComponent:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getInstantApps:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getInstrumentationInfo:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getIntentFilterVerificationBackup:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getIntentFilterVerifications:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getIntentVerificationStatus:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getKeySetByAlias:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getLastChosenActivity:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getMoveStatus:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getNameForUid:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getNamesForUids:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getPackageGids:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getPackageInfo:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getPackageInfoVersioned:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getPackageInstaller:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getPackagesForUid:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getPackagesHoldingPermissions:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getPackageSizeInfo:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getPackageUid:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getPermissionControllerPackageName:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getPermissionFlags:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getPermissionGrantBackup:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getPermissionGroupInfo:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getPermissionInfo:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getPersistentApplications:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getPreferredActivities:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getPreferredActivityBackup:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getPrivateFlagsForUid:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getProviderInfo:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getReceiverInfo:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getServiceInfo:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getServicesSystemSharedLibraryPackageName:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getSharedLibraries:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getSharedSystemSharedLibraryPackageName:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getSigningKeySet:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getSuspendedPackageAppExtras:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getSystemAvailableFeatures:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getSystemSharedLibraryNames:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getSystemTextClassifierPackageName:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getUidForSharedUser:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_getVerifierDeviceIdentity:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_grantDefaultPermissionsToActiveLuiApp:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_grantDefaultPermissionsToEnabledCarrierApps:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_grantDefaultPermissionsToEnabledImsServices:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_grantDefaultPermissionsToEnabledTelephonyDataServices:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_grantRuntimePermission:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_hasSigningCertificate:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_hasSystemFeature:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_hasSystemUidErrors:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_hasUidSigningCertificate:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_installExistingPackageAsUser:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_isFirstBoot:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_isInstantApp:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_isOnlyCoreApps:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_isPackageAvailable:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_isPackageDeviceAdminOnAnyUser:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_isPackageSignedByKeySet:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_isPackageSignedByKeySetExactly:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_isPackageStateProtected:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_isPackageSuspendedForUser:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_isPermissionEnforced:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_isPermissionRevokedByPolicy:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_isProtectedBroadcast:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_isSafeMode:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_isStorageLow:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_isUidPrivileged:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_isUpgrade:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_logAppProcessStartIfNeeded:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_movePackage:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_movePrimaryStorage:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_nextPackageToClean:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_notifyDexLoad:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_notifyPackageUse:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_performDexOptMode:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_performDexOptSecondary:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_performFstrimIfNeeded:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_queryContentProviders:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_queryInstrumentation:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_queryIntentActivities:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_queryIntentActivityOptions:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_queryIntentContentProviders:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_queryIntentReceivers:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_queryIntentServices:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_queryPermissionsByGroup:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_querySyncProviders:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_reconcileSecondaryDexFiles:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_registerDexModule:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_registerMoveCallback:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_removeOnPermissionsChangeListener:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_removePermission:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_replacePreferredActivity:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_resetApplicationPreferences:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_resetRuntimePermissions:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_resolveContentProvider:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_resolveIntent:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_resolveService:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_restoreDefaultApps:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_restoreIntentFilterVerification:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_restorePermissionGrants:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_restorePreferredActivities:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_revokeDefaultPermissionsFromDisabledTelephonyDataServices:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_revokeDefaultPermissionsFromLuiApps:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_revokeRuntimePermission:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_runBackgroundDexoptJob:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_setApplicationCategoryHint:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_setApplicationEnabledSetting:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_setApplicationHiddenSettingAsUser:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_setBlockUninstallForUser:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_setComponentEnabledSetting:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_setDefaultBrowserPackageName:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_setHarmfulAppWarning:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_setHomeActivity:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_setInstallerPackageName:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_setInstallLocation:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_setInstantAppCookie:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_setLastChosenActivity:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_setPackagesSuspendedAsUser:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_setPackageStoppedState:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_setPermissionEnforced:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_setRequiredForSystemUser:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_setUpdateAvailable:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_shouldShowRequestPermissionRationale:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_systemReady:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_unregisterMoveCallback:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_updateIntentVerificationStatus:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_updatePackagesIfNeeded:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_updatePermissionFlags:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_updatePermissionFlagsForAllApps:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_verifyIntentFilter:I
-Landroid/content/pm/IPackageManager$Stub;->TRANSACTION_verifyPendingInstall:I
-Landroid/content/pm/IPackageManager;
-Landroid/content/pm/IPackageManager;->activitySupportsIntent(Landroid/content/ComponentName;Landroid/content/Intent;Ljava/lang/String;)Z
-Landroid/content/pm/IPackageManager;->addCrossProfileIntentFilter(Landroid/content/IntentFilter;Ljava/lang/String;III)V
-Landroid/content/pm/IPackageManager;->addOnPermissionsChangeListener(Landroid/content/pm/IOnPermissionsChangeListener;)V
-Landroid/content/pm/IPackageManager;->addPersistentPreferredActivity(Landroid/content/IntentFilter;Landroid/content/ComponentName;I)V
-Landroid/content/pm/IPackageManager;->addPreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V
-Landroid/content/pm/IPackageManager;->canForwardTo(Landroid/content/Intent;Ljava/lang/String;II)Z
-Landroid/content/pm/IPackageManager;->canRequestPackageInstalls(Ljava/lang/String;I)Z
-Landroid/content/pm/IPackageManager;->checkPackageStartable(Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager;->clearApplicationProfileData(Ljava/lang/String;)V
-Landroid/content/pm/IPackageManager;->clearApplicationUserData(Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;I)V
-Landroid/content/pm/IPackageManager;->clearCrossProfileIntentFilters(ILjava/lang/String;)V
-Landroid/content/pm/IPackageManager;->clearPackagePersistentPreferredActivities(Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager;->deleteApplicationCacheFilesAsUser(Ljava/lang/String;ILandroid/content/pm/IPackageDataObserver;)V
-Landroid/content/pm/IPackageManager;->deletePackageAsUser(Ljava/lang/String;ILandroid/content/pm/IPackageDeleteObserver;II)V
-Landroid/content/pm/IPackageManager;->deletePackageVersioned(Landroid/content/pm/VersionedPackage;Landroid/content/pm/IPackageDeleteObserver2;II)V
-Landroid/content/pm/IPackageManager;->deletePreloadsFileCache()V
-Landroid/content/pm/IPackageManager;->dumpProfiles(Ljava/lang/String;)V
-Landroid/content/pm/IPackageManager;->extendVerificationTimeout(IIJ)V
-Landroid/content/pm/IPackageManager;->findPersistentPreferredActivity(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;
-Landroid/content/pm/IPackageManager;->finishPackageInstall(IZ)V
-Landroid/content/pm/IPackageManager;->flushPackageRestrictionsAsUser(I)V
-Landroid/content/pm/IPackageManager;->forceDexOpt(Ljava/lang/String;)V
-Landroid/content/pm/IPackageManager;->freeStorage(Ljava/lang/String;JILandroid/content/IntentSender;)V
-Landroid/content/pm/IPackageManager;->freeStorageAndNotify(Ljava/lang/String;JILandroid/content/pm/IPackageDataObserver;)V
-Landroid/content/pm/IPackageManager;->getAllIntentFilters(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager;->getAllPackages()Ljava/util/List;
-Landroid/content/pm/IPackageManager;->getAllPermissionGroups(I)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager;->getApplicationHiddenSettingAsUser(Ljava/lang/String;I)Z
-Landroid/content/pm/IPackageManager;->getArtManager()Landroid/content/pm/dex/IArtManager;
-Landroid/content/pm/IPackageManager;->getChangedPackages(II)Landroid/content/pm/ChangedPackages;
-Landroid/content/pm/IPackageManager;->getDefaultAppsBackup(I)[B
-Landroid/content/pm/IPackageManager;->getDefaultBrowserPackageName(I)Ljava/lang/String;
-Landroid/content/pm/IPackageManager;->getHarmfulAppWarning(Ljava/lang/String;I)Ljava/lang/CharSequence;
-Landroid/content/pm/IPackageManager;->getInstallReason(Ljava/lang/String;I)I
-Landroid/content/pm/IPackageManager;->getInstantAppAndroidId(Ljava/lang/String;I)Ljava/lang/String;
-Landroid/content/pm/IPackageManager;->getInstantAppCookie(Ljava/lang/String;I)[B
-Landroid/content/pm/IPackageManager;->getInstantAppIcon(Ljava/lang/String;I)Landroid/graphics/Bitmap;
-Landroid/content/pm/IPackageManager;->getInstantAppInstallerComponent()Landroid/content/ComponentName;
-Landroid/content/pm/IPackageManager;->getInstantAppResolverComponent()Landroid/content/ComponentName;
-Landroid/content/pm/IPackageManager;->getInstantAppResolverSettingsComponent()Landroid/content/ComponentName;
-Landroid/content/pm/IPackageManager;->getInstantApps(I)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager;->getIntentFilterVerificationBackup(I)[B
-Landroid/content/pm/IPackageManager;->getIntentFilterVerifications(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager;->getIntentVerificationStatus(Ljava/lang/String;I)I
-Landroid/content/pm/IPackageManager;->getKeySetByAlias(Ljava/lang/String;Ljava/lang/String;)Landroid/content/pm/KeySet;
-Landroid/content/pm/IPackageManager;->getMoveStatus(I)I
-Landroid/content/pm/IPackageManager;->getNamesForUids([I)[Ljava/lang/String;
-Landroid/content/pm/IPackageManager;->getPackageGids(Ljava/lang/String;II)[I
-Landroid/content/pm/IPackageManager;->getPackageInfoVersioned(Landroid/content/pm/VersionedPackage;II)Landroid/content/pm/PackageInfo;
-Landroid/content/pm/IPackageManager;->getPackagesHoldingPermissions([Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager;->getPackageSizeInfo(Ljava/lang/String;ILandroid/content/pm/IPackageStatsObserver;)V
-Landroid/content/pm/IPackageManager;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;I)I
-Landroid/content/pm/IPackageManager;->getPermissionGrantBackup(I)[B
-Landroid/content/pm/IPackageManager;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
-Landroid/content/pm/IPackageManager;->getPersistentApplications(I)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager;->getPreferredActivityBackup(I)[B
-Landroid/content/pm/IPackageManager;->getPrivateFlagsForUid(I)I
-Landroid/content/pm/IPackageManager;->getSharedLibraries(Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager;->getSigningKeySet(Ljava/lang/String;)Landroid/content/pm/KeySet;
-Landroid/content/pm/IPackageManager;->getSuspendedPackageAppExtras(Ljava/lang/String;I)Landroid/os/PersistableBundle;
-Landroid/content/pm/IPackageManager;->getSystemAvailableFeatures()Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager;->getSystemTextClassifierPackageName()Ljava/lang/String;
-Landroid/content/pm/IPackageManager;->getVerifierDeviceIdentity()Landroid/content/pm/VerifierDeviceIdentity;
-Landroid/content/pm/IPackageManager;->grantDefaultPermissionsToActiveLuiApp(Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager;->grantDefaultPermissionsToEnabledCarrierApps([Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager;->grantDefaultPermissionsToEnabledImsServices([Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager;->grantDefaultPermissionsToEnabledTelephonyDataServices([Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager;->hasSigningCertificate(Ljava/lang/String;[BI)Z
-Landroid/content/pm/IPackageManager;->hasSystemFeature(Ljava/lang/String;I)Z
-Landroid/content/pm/IPackageManager;->hasUidSigningCertificate(I[BI)Z
-Landroid/content/pm/IPackageManager;->installExistingPackageAsUser(Ljava/lang/String;III)I
-Landroid/content/pm/IPackageManager;->isFirstBoot()Z
-Landroid/content/pm/IPackageManager;->isInstantApp(Ljava/lang/String;I)Z
-Landroid/content/pm/IPackageManager;->isOnlyCoreApps()Z
-Landroid/content/pm/IPackageManager;->isPackageDeviceAdminOnAnyUser(Ljava/lang/String;)Z
-Landroid/content/pm/IPackageManager;->isPackageSignedByKeySet(Ljava/lang/String;Landroid/content/pm/KeySet;)Z
-Landroid/content/pm/IPackageManager;->isPackageSignedByKeySetExactly(Ljava/lang/String;Landroid/content/pm/KeySet;)Z
-Landroid/content/pm/IPackageManager;->isPackageStateProtected(Ljava/lang/String;I)Z
-Landroid/content/pm/IPackageManager;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
-Landroid/content/pm/IPackageManager;->isPermissionEnforced(Ljava/lang/String;)Z
-Landroid/content/pm/IPackageManager;->isPermissionRevokedByPolicy(Ljava/lang/String;Ljava/lang/String;I)Z
-Landroid/content/pm/IPackageManager;->isUpgrade()Z
-Landroid/content/pm/IPackageManager;->logAppProcessStartIfNeeded(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager;->movePackage(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/content/pm/IPackageManager;->movePrimaryStorage(Ljava/lang/String;)I
-Landroid/content/pm/IPackageManager;->nextPackageToClean(Landroid/content/pm/PackageCleanItem;)Landroid/content/pm/PackageCleanItem;
-Landroid/content/pm/IPackageManager;->notifyDexLoad(Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/lang/String;)V
-Landroid/content/pm/IPackageManager;->notifyPackageUse(Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager;->performDexOptMode(Ljava/lang/String;ZLjava/lang/String;ZZLjava/lang/String;)Z
-Landroid/content/pm/IPackageManager;->performDexOptSecondary(Ljava/lang/String;Ljava/lang/String;Z)Z
-Landroid/content/pm/IPackageManager;->performFstrimIfNeeded()V
-Landroid/content/pm/IPackageManager;->queryContentProviders(Ljava/lang/String;IILjava/lang/String;)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager;->queryIntentActivityOptions(Landroid/content/ComponentName;[Landroid/content/Intent;[Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager;->queryIntentContentProviders(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager;->queryIntentServices(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager;->queryPermissionsByGroup(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IPackageManager;->reconcileSecondaryDexFiles(Ljava/lang/String;)V
-Landroid/content/pm/IPackageManager;->registerDexModule(Ljava/lang/String;Ljava/lang/String;ZLandroid/content/pm/IDexModuleRegisterCallback;)V
-Landroid/content/pm/IPackageManager;->registerMoveCallback(Landroid/content/pm/IPackageMoveObserver;)V
-Landroid/content/pm/IPackageManager;->removeOnPermissionsChangeListener(Landroid/content/pm/IOnPermissionsChangeListener;)V
-Landroid/content/pm/IPackageManager;->resetApplicationPreferences(I)V
-Landroid/content/pm/IPackageManager;->resetRuntimePermissions()V
-Landroid/content/pm/IPackageManager;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
-Landroid/content/pm/IPackageManager;->resolveService(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
-Landroid/content/pm/IPackageManager;->restoreDefaultApps([BI)V
-Landroid/content/pm/IPackageManager;->restoreIntentFilterVerification([BI)V
-Landroid/content/pm/IPackageManager;->restorePermissionGrants([BI)V
-Landroid/content/pm/IPackageManager;->restorePreferredActivities([BI)V
-Landroid/content/pm/IPackageManager;->revokeDefaultPermissionsFromDisabledTelephonyDataServices([Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager;->revokeDefaultPermissionsFromLuiApps([Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/content/pm/IPackageManager;->runBackgroundDexoptJob(Ljava/util/List;)Z
-Landroid/content/pm/IPackageManager;->setApplicationCategoryHint(Ljava/lang/String;ILjava/lang/String;)V
-Landroid/content/pm/IPackageManager;->setBlockUninstallForUser(Ljava/lang/String;ZI)Z
-Landroid/content/pm/IPackageManager;->setDefaultBrowserPackageName(Ljava/lang/String;I)Z
-Landroid/content/pm/IPackageManager;->setHarmfulAppWarning(Ljava/lang/String;Ljava/lang/CharSequence;I)V
-Landroid/content/pm/IPackageManager;->setHomeActivity(Landroid/content/ComponentName;I)V
-Landroid/content/pm/IPackageManager;->setInstallLocation(I)Z
-Landroid/content/pm/IPackageManager;->setInstantAppCookie(Ljava/lang/String;[BI)Z
-Landroid/content/pm/IPackageManager;->setPackagesSuspendedAsUser([Ljava/lang/String;ZLandroid/os/PersistableBundle;Landroid/os/PersistableBundle;Ljava/lang/String;Ljava/lang/String;I)[Ljava/lang/String;
-Landroid/content/pm/IPackageManager;->setPermissionEnforced(Ljava/lang/String;Z)V
-Landroid/content/pm/IPackageManager;->setRequiredForSystemUser(Ljava/lang/String;Z)Z
-Landroid/content/pm/IPackageManager;->setUpdateAvailable(Ljava/lang/String;Z)V
-Landroid/content/pm/IPackageManager;->shouldShowRequestPermissionRationale(Ljava/lang/String;Ljava/lang/String;I)Z
-Landroid/content/pm/IPackageManager;->unregisterMoveCallback(Landroid/content/pm/IPackageMoveObserver;)V
-Landroid/content/pm/IPackageManager;->updateIntentVerificationStatus(Ljava/lang/String;II)Z
-Landroid/content/pm/IPackageManager;->updatePackagesIfNeeded()V
-Landroid/content/pm/IPackageManager;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;III)V
-Landroid/content/pm/IPackageManager;->updatePermissionFlagsForAllApps(III)V
-Landroid/content/pm/IPackageManager;->verifyIntentFilter(IILjava/util/List;)V
-Landroid/content/pm/IPackageManager;->verifyPendingInstall(II)V
-Landroid/content/pm/IPackageManagerNative$Stub$Proxy;
-Landroid/content/pm/IPackageManagerNative$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/content/pm/IPackageManagerNative$Stub$Proxy;->getInstallerForPackage(Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/pm/IPackageManagerNative$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/IPackageManagerNative$Stub$Proxy;->getNamesForUids([I)[Ljava/lang/String;
-Landroid/content/pm/IPackageManagerNative$Stub$Proxy;->getVersionCodeForPackage(Ljava/lang/String;)J
-Landroid/content/pm/IPackageManagerNative$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/pm/IPackageManagerNative$Stub;
-Landroid/content/pm/IPackageManagerNative$Stub;-><init>()V
-Landroid/content/pm/IPackageManagerNative$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManagerNative;
-Landroid/content/pm/IPackageManagerNative$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/IPackageManagerNative$Stub;->TRANSACTION_getInstallerForPackage:I
-Landroid/content/pm/IPackageManagerNative$Stub;->TRANSACTION_getNamesForUids:I
-Landroid/content/pm/IPackageManagerNative$Stub;->TRANSACTION_getVersionCodeForPackage:I
-Landroid/content/pm/IPackageManagerNative;
-Landroid/content/pm/IPackageManagerNative;->getInstallerForPackage(Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/pm/IPackageManagerNative;->getNamesForUids([I)[Ljava/lang/String;
-Landroid/content/pm/IPackageManagerNative;->getVersionCodeForPackage(Ljava/lang/String;)J
-Landroid/content/pm/IPackageMoveObserver$Stub$Proxy;
-Landroid/content/pm/IPackageMoveObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/content/pm/IPackageMoveObserver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/IPackageMoveObserver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/pm/IPackageMoveObserver$Stub$Proxy;->onCreated(ILandroid/os/Bundle;)V
-Landroid/content/pm/IPackageMoveObserver$Stub$Proxy;->onStatusChanged(IIJ)V
-Landroid/content/pm/IPackageMoveObserver$Stub;
-Landroid/content/pm/IPackageMoveObserver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/IPackageMoveObserver$Stub;->TRANSACTION_onCreated:I
-Landroid/content/pm/IPackageMoveObserver$Stub;->TRANSACTION_onStatusChanged:I
-Landroid/content/pm/IPackageMoveObserver;
-Landroid/content/pm/IPackageMoveObserver;->onCreated(ILandroid/os/Bundle;)V
-Landroid/content/pm/IPackageMoveObserver;->onStatusChanged(IIJ)V
-Landroid/content/pm/IPackageStatsObserver$Stub$Proxy;
-Landroid/content/pm/IPackageStatsObserver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/IPackageStatsObserver$Stub$Proxy;->onGetStatsCompleted(Landroid/content/pm/PackageStats;Z)V
-Landroid/content/pm/IPackageStatsObserver$Stub;
-Landroid/content/pm/IPackageStatsObserver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/IPackageStatsObserver$Stub;->TRANSACTION_onGetStatsCompleted:I
-Landroid/content/pm/IPackageStatsObserver;
-Landroid/content/pm/IPinItemRequest$Stub$Proxy;
-Landroid/content/pm/IPinItemRequest$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/content/pm/IPinItemRequest$Stub$Proxy;->accept(Landroid/os/Bundle;)Z
-Landroid/content/pm/IPinItemRequest$Stub$Proxy;->getAppWidgetProviderInfo()Landroid/appwidget/AppWidgetProviderInfo;
-Landroid/content/pm/IPinItemRequest$Stub$Proxy;->getExtras()Landroid/os/Bundle;
-Landroid/content/pm/IPinItemRequest$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/IPinItemRequest$Stub$Proxy;->getShortcutInfo()Landroid/content/pm/ShortcutInfo;
-Landroid/content/pm/IPinItemRequest$Stub$Proxy;->isValid()Z
-Landroid/content/pm/IPinItemRequest$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/pm/IPinItemRequest$Stub;
-Landroid/content/pm/IPinItemRequest$Stub;-><init>()V
-Landroid/content/pm/IPinItemRequest$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPinItemRequest;
-Landroid/content/pm/IPinItemRequest$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/IPinItemRequest$Stub;->TRANSACTION_accept:I
-Landroid/content/pm/IPinItemRequest$Stub;->TRANSACTION_getAppWidgetProviderInfo:I
-Landroid/content/pm/IPinItemRequest$Stub;->TRANSACTION_getExtras:I
-Landroid/content/pm/IPinItemRequest$Stub;->TRANSACTION_getShortcutInfo:I
-Landroid/content/pm/IPinItemRequest$Stub;->TRANSACTION_isValid:I
-Landroid/content/pm/IPinItemRequest;
-Landroid/content/pm/IPinItemRequest;->accept(Landroid/os/Bundle;)Z
-Landroid/content/pm/IPinItemRequest;->getAppWidgetProviderInfo()Landroid/appwidget/AppWidgetProviderInfo;
-Landroid/content/pm/IPinItemRequest;->getExtras()Landroid/os/Bundle;
-Landroid/content/pm/IPinItemRequest;->getShortcutInfo()Landroid/content/pm/ShortcutInfo;
-Landroid/content/pm/IPinItemRequest;->isValid()Z
-Landroid/content/pm/IShortcutService$Stub$Proxy;
-Landroid/content/pm/IShortcutService$Stub$Proxy;->addDynamicShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
-Landroid/content/pm/IShortcutService$Stub$Proxy;->applyRestore([BI)V
-Landroid/content/pm/IShortcutService$Stub$Proxy;->createShortcutResultIntent(Ljava/lang/String;Landroid/content/pm/ShortcutInfo;I)Landroid/content/Intent;
-Landroid/content/pm/IShortcutService$Stub$Proxy;->disableShortcuts(Ljava/lang/String;Ljava/util/List;Ljava/lang/CharSequence;II)V
-Landroid/content/pm/IShortcutService$Stub$Proxy;->enableShortcuts(Ljava/lang/String;Ljava/util/List;I)V
-Landroid/content/pm/IShortcutService$Stub$Proxy;->getBackupPayload(I)[B
-Landroid/content/pm/IShortcutService$Stub$Proxy;->getDynamicShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IShortcutService$Stub$Proxy;->getIconMaxDimensions(Ljava/lang/String;I)I
-Landroid/content/pm/IShortcutService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/IShortcutService$Stub$Proxy;->getManifestShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IShortcutService$Stub$Proxy;->getMaxShortcutCountPerActivity(Ljava/lang/String;I)I
-Landroid/content/pm/IShortcutService$Stub$Proxy;->getPinnedShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IShortcutService$Stub$Proxy;->getRateLimitResetTime(Ljava/lang/String;I)J
-Landroid/content/pm/IShortcutService$Stub$Proxy;->getRemainingCallCount(Ljava/lang/String;I)I
-Landroid/content/pm/IShortcutService$Stub$Proxy;->isRequestPinItemSupported(II)Z
-Landroid/content/pm/IShortcutService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/pm/IShortcutService$Stub$Proxy;->onApplicationActive(Ljava/lang/String;I)V
-Landroid/content/pm/IShortcutService$Stub$Proxy;->removeAllDynamicShortcuts(Ljava/lang/String;I)V
-Landroid/content/pm/IShortcutService$Stub$Proxy;->removeDynamicShortcuts(Ljava/lang/String;Ljava/util/List;I)V
-Landroid/content/pm/IShortcutService$Stub$Proxy;->reportShortcutUsed(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/content/pm/IShortcutService$Stub$Proxy;->requestPinShortcut(Ljava/lang/String;Landroid/content/pm/ShortcutInfo;Landroid/content/IntentSender;I)Z
-Landroid/content/pm/IShortcutService$Stub$Proxy;->resetThrottling()V
-Landroid/content/pm/IShortcutService$Stub$Proxy;->setDynamicShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
-Landroid/content/pm/IShortcutService$Stub$Proxy;->updateShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
-Landroid/content/pm/IShortcutService$Stub;
-Landroid/content/pm/IShortcutService$Stub;-><init>()V
-Landroid/content/pm/IShortcutService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_addDynamicShortcuts:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_applyRestore:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_createShortcutResultIntent:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_disableShortcuts:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_enableShortcuts:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_getBackupPayload:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_getDynamicShortcuts:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_getIconMaxDimensions:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_getManifestShortcuts:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_getMaxShortcutCountPerActivity:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_getPinnedShortcuts:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_getRateLimitResetTime:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_getRemainingCallCount:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_isRequestPinItemSupported:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_onApplicationActive:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_removeAllDynamicShortcuts:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_removeDynamicShortcuts:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_reportShortcutUsed:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_requestPinShortcut:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_resetThrottling:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_setDynamicShortcuts:I
-Landroid/content/pm/IShortcutService$Stub;->TRANSACTION_updateShortcuts:I
-Landroid/content/pm/IShortcutService;
-Landroid/content/pm/IShortcutService;->addDynamicShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
-Landroid/content/pm/IShortcutService;->applyRestore([BI)V
-Landroid/content/pm/IShortcutService;->createShortcutResultIntent(Ljava/lang/String;Landroid/content/pm/ShortcutInfo;I)Landroid/content/Intent;
-Landroid/content/pm/IShortcutService;->disableShortcuts(Ljava/lang/String;Ljava/util/List;Ljava/lang/CharSequence;II)V
-Landroid/content/pm/IShortcutService;->enableShortcuts(Ljava/lang/String;Ljava/util/List;I)V
-Landroid/content/pm/IShortcutService;->getBackupPayload(I)[B
-Landroid/content/pm/IShortcutService;->getDynamicShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IShortcutService;->getIconMaxDimensions(Ljava/lang/String;I)I
-Landroid/content/pm/IShortcutService;->getManifestShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IShortcutService;->getMaxShortcutCountPerActivity(Ljava/lang/String;I)I
-Landroid/content/pm/IShortcutService;->getPinnedShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/IShortcutService;->getRateLimitResetTime(Ljava/lang/String;I)J
-Landroid/content/pm/IShortcutService;->getRemainingCallCount(Ljava/lang/String;I)I
-Landroid/content/pm/IShortcutService;->isRequestPinItemSupported(II)Z
-Landroid/content/pm/IShortcutService;->onApplicationActive(Ljava/lang/String;I)V
-Landroid/content/pm/IShortcutService;->removeAllDynamicShortcuts(Ljava/lang/String;I)V
-Landroid/content/pm/IShortcutService;->removeDynamicShortcuts(Ljava/lang/String;Ljava/util/List;I)V
-Landroid/content/pm/IShortcutService;->reportShortcutUsed(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/content/pm/IShortcutService;->requestPinShortcut(Ljava/lang/String;Landroid/content/pm/ShortcutInfo;Landroid/content/IntentSender;I)Z
-Landroid/content/pm/IShortcutService;->resetThrottling()V
-Landroid/content/pm/IShortcutService;->setDynamicShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
-Landroid/content/pm/IShortcutService;->updateShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
-Landroid/content/pm/KeySet;
-Landroid/content/pm/KeySet;-><init>(Landroid/os/IBinder;)V
-Landroid/content/pm/KeySet;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/content/pm/KeySet;->getToken()Landroid/os/IBinder;
-Landroid/content/pm/KeySet;->readFromParcel(Landroid/os/Parcel;)Landroid/content/pm/KeySet;
-Landroid/content/pm/KeySet;->token:Landroid/os/IBinder;
-Landroid/content/pm/LabeledIntent;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/LabeledIntent;->mIcon:I
-Landroid/content/pm/LabeledIntent;->mLabelRes:I
-Landroid/content/pm/LabeledIntent;->mNonLocalizedLabel:Ljava/lang/CharSequence;
-Landroid/content/pm/LabeledIntent;->mSourcePackage:Ljava/lang/String;
-Landroid/content/pm/LauncherActivityInfo;-><init>(Landroid/content/Context;)V
-Landroid/content/pm/LauncherActivityInfo;-><init>(Landroid/content/Context;Landroid/content/pm/ActivityInfo;Landroid/os/UserHandle;)V
-Landroid/content/pm/LauncherActivityInfo;->getApplicationFlags()I
-Landroid/content/pm/LauncherActivityInfo;->mComponentName:Landroid/content/ComponentName;
-Landroid/content/pm/LauncherActivityInfo;->mPm:Landroid/content/pm/PackageManager;
-Landroid/content/pm/LauncherActivityInfo;->mUser:Landroid/os/UserHandle;
-Landroid/content/pm/LauncherActivityInfo;->TAG:Ljava/lang/String;
-Landroid/content/pm/LauncherApps$CallbackMessageHandler$CallbackInfo;
-Landroid/content/pm/LauncherApps$CallbackMessageHandler$CallbackInfo;-><init>()V
-Landroid/content/pm/LauncherApps$CallbackMessageHandler$CallbackInfo;->launcherExtras:Landroid/os/Bundle;
-Landroid/content/pm/LauncherApps$CallbackMessageHandler$CallbackInfo;->packageName:Ljava/lang/String;
-Landroid/content/pm/LauncherApps$CallbackMessageHandler$CallbackInfo;->packageNames:[Ljava/lang/String;
-Landroid/content/pm/LauncherApps$CallbackMessageHandler$CallbackInfo;->replacing:Z
-Landroid/content/pm/LauncherApps$CallbackMessageHandler$CallbackInfo;->shortcuts:Ljava/util/List;
-Landroid/content/pm/LauncherApps$CallbackMessageHandler$CallbackInfo;->user:Landroid/os/UserHandle;
-Landroid/content/pm/LauncherApps$CallbackMessageHandler;
-Landroid/content/pm/LauncherApps$CallbackMessageHandler;-><init>(Landroid/os/Looper;Landroid/content/pm/LauncherApps$Callback;)V
-Landroid/content/pm/LauncherApps$CallbackMessageHandler;->mCallback:Landroid/content/pm/LauncherApps$Callback;
-Landroid/content/pm/LauncherApps$CallbackMessageHandler;->MSG_ADDED:I
-Landroid/content/pm/LauncherApps$CallbackMessageHandler;->MSG_AVAILABLE:I
-Landroid/content/pm/LauncherApps$CallbackMessageHandler;->MSG_CHANGED:I
-Landroid/content/pm/LauncherApps$CallbackMessageHandler;->MSG_REMOVED:I
-Landroid/content/pm/LauncherApps$CallbackMessageHandler;->MSG_SHORTCUT_CHANGED:I
-Landroid/content/pm/LauncherApps$CallbackMessageHandler;->MSG_SUSPENDED:I
-Landroid/content/pm/LauncherApps$CallbackMessageHandler;->MSG_UNAVAILABLE:I
-Landroid/content/pm/LauncherApps$CallbackMessageHandler;->MSG_UNSUSPENDED:I
-Landroid/content/pm/LauncherApps$CallbackMessageHandler;->postOnPackageAdded(Ljava/lang/String;Landroid/os/UserHandle;)V
-Landroid/content/pm/LauncherApps$CallbackMessageHandler;->postOnPackageChanged(Ljava/lang/String;Landroid/os/UserHandle;)V
-Landroid/content/pm/LauncherApps$CallbackMessageHandler;->postOnPackageRemoved(Ljava/lang/String;Landroid/os/UserHandle;)V
-Landroid/content/pm/LauncherApps$CallbackMessageHandler;->postOnPackagesAvailable([Ljava/lang/String;Landroid/os/UserHandle;Z)V
-Landroid/content/pm/LauncherApps$CallbackMessageHandler;->postOnPackagesSuspended([Ljava/lang/String;Landroid/os/Bundle;Landroid/os/UserHandle;)V
-Landroid/content/pm/LauncherApps$CallbackMessageHandler;->postOnPackagesUnavailable([Ljava/lang/String;Landroid/os/UserHandle;Z)V
-Landroid/content/pm/LauncherApps$CallbackMessageHandler;->postOnPackagesUnsuspended([Ljava/lang/String;Landroid/os/UserHandle;)V
-Landroid/content/pm/LauncherApps$CallbackMessageHandler;->postOnShortcutChanged(Ljava/lang/String;Landroid/os/UserHandle;Ljava/util/List;)V
-Landroid/content/pm/LauncherApps$PinItemRequest$RequestType;
-Landroid/content/pm/LauncherApps$PinItemRequest;-><init>(Landroid/content/pm/IPinItemRequest;I)V
-Landroid/content/pm/LauncherApps$PinItemRequest;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/LauncherApps$PinItemRequest;->mInner:Landroid/content/pm/IPinItemRequest;
-Landroid/content/pm/LauncherApps$PinItemRequest;->mRequestType:I
-Landroid/content/pm/LauncherApps$ShortcutQuery$QueryFlags;
-Landroid/content/pm/LauncherApps$ShortcutQuery;->FLAG_GET_ALL_KINDS:I
-Landroid/content/pm/LauncherApps$ShortcutQuery;->FLAG_GET_DYNAMIC:I
-Landroid/content/pm/LauncherApps$ShortcutQuery;->FLAG_GET_MANIFEST:I
-Landroid/content/pm/LauncherApps$ShortcutQuery;->FLAG_GET_PINNED:I
-Landroid/content/pm/LauncherApps$ShortcutQuery;->FLAG_MATCH_ALL_KINDS:I
-Landroid/content/pm/LauncherApps$ShortcutQuery;->FLAG_MATCH_ALL_KINDS_WITH_ALL_PINNED:I
-Landroid/content/pm/LauncherApps$ShortcutQuery;->mActivity:Landroid/content/ComponentName;
-Landroid/content/pm/LauncherApps$ShortcutQuery;->mChangedSince:J
-Landroid/content/pm/LauncherApps$ShortcutQuery;->mPackage:Ljava/lang/String;
-Landroid/content/pm/LauncherApps$ShortcutQuery;->mQueryFlags:I
-Landroid/content/pm/LauncherApps$ShortcutQuery;->mShortcutIds:Ljava/util/List;
-Landroid/content/pm/LauncherApps;-><init>(Landroid/content/Context;Landroid/content/pm/ILauncherApps;)V
-Landroid/content/pm/LauncherApps;->addCallbackLocked(Landroid/content/pm/LauncherApps$Callback;Landroid/os/Handler;)V
-Landroid/content/pm/LauncherApps;->convertToActivityList(Landroid/content/pm/ParceledListSlice;Landroid/os/UserHandle;)Ljava/util/List;
-Landroid/content/pm/LauncherApps;->DEBUG:Z
-Landroid/content/pm/LauncherApps;->findCallbackLocked(Landroid/content/pm/LauncherApps$Callback;)I
-Landroid/content/pm/LauncherApps;->getShortcutIconFd(Landroid/content/pm/ShortcutInfo;)Landroid/os/ParcelFileDescriptor;
-Landroid/content/pm/LauncherApps;->getShortcutIconFd(Ljava/lang/String;Ljava/lang/String;I)Landroid/os/ParcelFileDescriptor;
-Landroid/content/pm/LauncherApps;->getShortcutIconFd(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/os/ParcelFileDescriptor;
-Landroid/content/pm/LauncherApps;->getShortcutIconResId(Landroid/content/pm/ShortcutInfo;)I
-Landroid/content/pm/LauncherApps;->getShortcutIconResId(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)I
-Landroid/content/pm/LauncherApps;->getShortcutInfo(Ljava/lang/String;Ljava/util/List;Landroid/os/UserHandle;)Ljava/util/List;
-Landroid/content/pm/LauncherApps;->loadDrawableResourceFromPackage(Ljava/lang/String;ILandroid/os/UserHandle;I)Landroid/graphics/drawable/Drawable;
-Landroid/content/pm/LauncherApps;->logErrorForInvalidProfileAccess(Landroid/os/UserHandle;)V
-Landroid/content/pm/LauncherApps;->mAppsChangedListener:Landroid/content/pm/IOnAppsChangedListener$Stub;
-Landroid/content/pm/LauncherApps;->maybeUpdateDisabledMessage(Ljava/util/List;)Ljava/util/List;
-Landroid/content/pm/LauncherApps;->mCallbacks:Ljava/util/List;
-Landroid/content/pm/LauncherApps;->mContext:Landroid/content/Context;
-Landroid/content/pm/LauncherApps;->mUserManager:Landroid/os/UserManager;
-Landroid/content/pm/LauncherApps;->removeCallbackLocked(Landroid/content/pm/LauncherApps$Callback;)V
-Landroid/content/pm/LauncherApps;->TAG:Ljava/lang/String;
-Landroid/content/pm/LimitedLengthInputStream;
-Landroid/content/pm/LimitedLengthInputStream;-><init>(Ljava/io/InputStream;JJ)V
-Landroid/content/pm/LimitedLengthInputStream;->mEnd:J
-Landroid/content/pm/LimitedLengthInputStream;->mOffset:J
-Landroid/content/pm/MacAuthenticatedInputStream;
-Landroid/content/pm/MacAuthenticatedInputStream;-><init>(Ljava/io/InputStream;Ljavax/crypto/Mac;)V
-Landroid/content/pm/MacAuthenticatedInputStream;->isTagEqual([B)Z
-Landroid/content/pm/MacAuthenticatedInputStream;->mMac:Ljavax/crypto/Mac;
-Landroid/content/pm/PackageBackwardCompatibility$AndroidTestRunnerSplitUpdater;
-Landroid/content/pm/PackageBackwardCompatibility$AndroidTestRunnerSplitUpdater;-><init>()V
-Landroid/content/pm/PackageBackwardCompatibility$AndroidTestRunnerSplitUpdater;->updatePackage(Landroid/content/pm/PackageParser$Package;)V
-Landroid/content/pm/PackageBackwardCompatibility$RemoveUnnecessaryAndroidTestBaseLibrary;
-Landroid/content/pm/PackageBackwardCompatibility$RemoveUnnecessaryAndroidTestBaseLibrary;-><init>()V
-Landroid/content/pm/PackageBackwardCompatibility$RemoveUnnecessaryAndroidTestBaseLibrary;->updatePackage(Landroid/content/pm/PackageParser$Package;)V
-Landroid/content/pm/PackageBackwardCompatibility$RemoveUnnecessaryOrgApacheHttpLegacyLibrary;
-Landroid/content/pm/PackageBackwardCompatibility$RemoveUnnecessaryOrgApacheHttpLegacyLibrary;-><init>()V
-Landroid/content/pm/PackageBackwardCompatibility$RemoveUnnecessaryOrgApacheHttpLegacyLibrary;->updatePackage(Landroid/content/pm/PackageParser$Package;)V
-Landroid/content/pm/PackageBackwardCompatibility;
-Landroid/content/pm/PackageBackwardCompatibility;-><init>(ZZ[Landroid/content/pm/PackageSharedLibraryUpdater;)V
-Landroid/content/pm/PackageBackwardCompatibility;->addOptionalUpdater(Ljava/util/List;Ljava/lang/String;Ljava/util/function/Supplier;)Z
-Landroid/content/pm/PackageBackwardCompatibility;->bootClassPathContainsATB()Z
-Landroid/content/pm/PackageBackwardCompatibility;->bootClassPathContainsOAHL()Z
-Landroid/content/pm/PackageBackwardCompatibility;->getInstance()Landroid/content/pm/PackageSharedLibraryUpdater;
-Landroid/content/pm/PackageBackwardCompatibility;->INSTANCE:Landroid/content/pm/PackageBackwardCompatibility;
-Landroid/content/pm/PackageBackwardCompatibility;->mBootClassPathContainsATB:Z
-Landroid/content/pm/PackageBackwardCompatibility;->mBootClassPathContainsOAHL:Z
-Landroid/content/pm/PackageBackwardCompatibility;->modifySharedLibraries(Landroid/content/pm/PackageParser$Package;)V
-Landroid/content/pm/PackageBackwardCompatibility;->mPackageUpdaters:[Landroid/content/pm/PackageSharedLibraryUpdater;
-Landroid/content/pm/PackageBackwardCompatibility;->TAG:Ljava/lang/String;
-Landroid/content/pm/PackageBackwardCompatibility;->updatePackage(Landroid/content/pm/PackageParser$Package;)V
-Landroid/content/pm/PackageCleanItem;
-Landroid/content/pm/PackageCleanItem;-><init>(ILjava/lang/String;Z)V
-Landroid/content/pm/PackageCleanItem;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PackageCleanItem;->andCode:Z
-Landroid/content/pm/PackageCleanItem;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/content/pm/PackageCleanItem;->packageName:Ljava/lang/String;
-Landroid/content/pm/PackageCleanItem;->userId:I
-Landroid/content/pm/PackageInfo;->compileSdkVersion:I
-Landroid/content/pm/PackageInfo;->compileSdkVersionCodename:Ljava/lang/String;
-Landroid/content/pm/PackageInfo;->composeLongVersionCode(II)J
-Landroid/content/pm/PackageInfo;->isOverlayPackage()Z
-Landroid/content/pm/PackageInfo;->isStaticOverlayPackage()Z
-Landroid/content/pm/PackageInfo;->isStub:Z
-Landroid/content/pm/PackageInfo;->mOverlayIsStatic:Z
-Landroid/content/pm/PackageInfo;->overlayCategory:Ljava/lang/String;
-Landroid/content/pm/PackageInfo;->overlayPriority:I
-Landroid/content/pm/PackageInfo;->propagateApplicationInfo(Landroid/content/pm/ApplicationInfo;[Landroid/content/pm/ComponentInfo;)V
-Landroid/content/pm/PackageInfo;->requiredAccountType:Ljava/lang/String;
-Landroid/content/pm/PackageInfo;->requiredForAllUsers:Z
-Landroid/content/pm/PackageInfo;->restrictedAccountType:Ljava/lang/String;
-Landroid/content/pm/PackageInfo;->versionCodeMajor:I
-Landroid/content/pm/PackageInfoLite;
-Landroid/content/pm/PackageInfoLite;-><init>()V
-Landroid/content/pm/PackageInfoLite;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PackageInfoLite;->baseRevisionCode:I
-Landroid/content/pm/PackageInfoLite;->getLongVersionCode()J
-Landroid/content/pm/PackageInfoLite;->installLocation:I
-Landroid/content/pm/PackageInfoLite;->multiArch:Z
-Landroid/content/pm/PackageInfoLite;->packageName:Ljava/lang/String;
-Landroid/content/pm/PackageInfoLite;->recommendedInstallLocation:I
-Landroid/content/pm/PackageInfoLite;->splitNames:[Ljava/lang/String;
-Landroid/content/pm/PackageInfoLite;->splitRevisionCodes:[I
-Landroid/content/pm/PackageInfoLite;->verifiers:[Landroid/content/pm/VerifierInfo;
-Landroid/content/pm/PackageInfoLite;->versionCode:I
-Landroid/content/pm/PackageInfoLite;->versionCodeMajor:I
-Landroid/content/pm/PackageInstaller$Session;-><init>(Landroid/content/pm/IPackageInstallerSession;)V
-Landroid/content/pm/PackageInstaller$Session;->mSession:Landroid/content/pm/IPackageInstallerSession;
-Landroid/content/pm/PackageInstaller$Session;->setProgress(F)V
-Landroid/content/pm/PackageInstaller$Session;->write(Ljava/lang/String;JJLandroid/os/ParcelFileDescriptor;)V
-Landroid/content/pm/PackageInstaller$SessionCallbackDelegate;
-Landroid/content/pm/PackageInstaller$SessionCallbackDelegate;-><init>(Landroid/content/pm/PackageInstaller$SessionCallback;Landroid/os/Looper;)V
-Landroid/content/pm/PackageInstaller$SessionCallbackDelegate;->mCallback:Landroid/content/pm/PackageInstaller$SessionCallback;
-Landroid/content/pm/PackageInstaller$SessionCallbackDelegate;->mHandler:Landroid/os/Handler;
-Landroid/content/pm/PackageInstaller$SessionCallbackDelegate;->MSG_SESSION_ACTIVE_CHANGED:I
-Landroid/content/pm/PackageInstaller$SessionCallbackDelegate;->MSG_SESSION_BADGING_CHANGED:I
-Landroid/content/pm/PackageInstaller$SessionCallbackDelegate;->MSG_SESSION_CREATED:I
-Landroid/content/pm/PackageInstaller$SessionCallbackDelegate;->MSG_SESSION_FINISHED:I
-Landroid/content/pm/PackageInstaller$SessionCallbackDelegate;->MSG_SESSION_PROGRESS_CHANGED:I
-Landroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionActiveChanged(IZ)V
-Landroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionBadgingChanged(I)V
-Landroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionCreated(I)V
-Landroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionFinished(IZ)V
-Landroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionProgressChanged(IF)V
-Landroid/content/pm/PackageInstaller$SessionInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PackageInstaller$SessionInfo;->getDetailsIntent()Landroid/content/Intent;
-Landroid/content/pm/PackageInstaller$SessionInfo;->grantedRuntimePermissions:[Ljava/lang/String;
-Landroid/content/pm/PackageInstaller$SessionInfo;->installFlags:I
-Landroid/content/pm/PackageInstaller$SessionInfo;->installLocation:I
-Landroid/content/pm/PackageInstaller$SessionInfo;->installReason:I
-Landroid/content/pm/PackageInstaller$SessionInfo;->isOpen()Z
-Landroid/content/pm/PackageInstaller$SessionInfo;->originatingUid:I
-Landroid/content/pm/PackageInstaller$SessionInfo;->originatingUri:Landroid/net/Uri;
-Landroid/content/pm/PackageInstaller$SessionInfo;->referrerUri:Landroid/net/Uri;
-Landroid/content/pm/PackageInstaller$SessionParams;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PackageInstaller$SessionParams;->abiOverride:Ljava/lang/String;
-Landroid/content/pm/PackageInstaller$SessionParams;->appIconLastModified:J
-Landroid/content/pm/PackageInstaller$SessionParams;->areHiddenOptionsSet()Z
-Landroid/content/pm/PackageInstaller$SessionParams;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-Landroid/content/pm/PackageInstaller$SessionParams;->grantedRuntimePermissions:[Ljava/lang/String;
-Landroid/content/pm/PackageInstaller$SessionParams;->installerPackageName:Ljava/lang/String;
-Landroid/content/pm/PackageInstaller$SessionParams;->installLocation:I
-Landroid/content/pm/PackageInstaller$SessionParams;->installReason:I
-Landroid/content/pm/PackageInstaller$SessionParams;->MODE_INVALID:I
-Landroid/content/pm/PackageInstaller$SessionParams;->originatingUri:Landroid/net/Uri;
-Landroid/content/pm/PackageInstaller$SessionParams;->referrerUri:Landroid/net/Uri;
-Landroid/content/pm/PackageInstaller$SessionParams;->setInstallerPackageName(Ljava/lang/String;)V
-Landroid/content/pm/PackageInstaller$SessionParams;->setInstallFlagsExternal()V
-Landroid/content/pm/PackageInstaller$SessionParams;->setInstallFlagsForcePermissionPrompt()V
-Landroid/content/pm/PackageInstaller$SessionParams;->setInstallFlagsInternal()V
-Landroid/content/pm/PackageInstaller$SessionParams;->UID_UNKNOWN:I
-Landroid/content/pm/PackageInstaller$SessionParams;->volumeUuid:Ljava/lang/String;
-Landroid/content/pm/PackageInstaller;-><init>(Landroid/content/pm/IPackageInstaller;Ljava/lang/String;I)V
-Landroid/content/pm/PackageInstaller;->ACTION_CONFIRM_PERMISSIONS:Ljava/lang/String;
-Landroid/content/pm/PackageInstaller;->addSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;)V
-Landroid/content/pm/PackageInstaller;->addSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;Landroid/os/Handler;)V
-Landroid/content/pm/PackageInstaller;->ENABLE_REVOCABLE_FD:Z
-Landroid/content/pm/PackageInstaller;->EXTRA_CALLBACK:Ljava/lang/String;
-Landroid/content/pm/PackageInstaller;->EXTRA_LEGACY_BUNDLE:Ljava/lang/String;
-Landroid/content/pm/PackageInstaller;->EXTRA_LEGACY_STATUS:Ljava/lang/String;
-Landroid/content/pm/PackageInstaller;->EXTRA_PACKAGE_NAMES:Ljava/lang/String;
-Landroid/content/pm/PackageInstaller;->mDelegates:Ljava/util/ArrayList;
-Landroid/content/pm/PackageInstaller;->mInstaller:Landroid/content/pm/IPackageInstaller;
-Landroid/content/pm/PackageInstaller;->mInstallerPackageName:Ljava/lang/String;
-Landroid/content/pm/PackageInstaller;->mUserId:I
-Landroid/content/pm/PackageInstaller;->removeSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;)V
-Landroid/content/pm/PackageInstaller;->TAG:Ljava/lang/String;
-Landroid/content/pm/PackageInstaller;->uninstall(Landroid/content/pm/VersionedPackage;ILandroid/content/IntentSender;)V
-Landroid/content/pm/PackageInstaller;->uninstall(Ljava/lang/String;ILandroid/content/IntentSender;)V
-Landroid/content/pm/PackageItemInfo$DisplayNameComparator;->mPM:Landroid/content/pm/PackageManager;
-Landroid/content/pm/PackageItemInfo$DisplayNameComparator;->sCollator:Ljava/text/Collator;
-Landroid/content/pm/PackageItemInfo$SafeLabelFlags;
-Landroid/content/pm/PackageItemInfo$StringWithRemovedChars;
-Landroid/content/pm/PackageItemInfo$StringWithRemovedChars;-><init>(Ljava/lang/String;)V
-Landroid/content/pm/PackageItemInfo$StringWithRemovedChars;->codePointAt(I)I
-Landroid/content/pm/PackageItemInfo$StringWithRemovedChars;->isRemoved(I)Z
-Landroid/content/pm/PackageItemInfo$StringWithRemovedChars;->length()I
-Landroid/content/pm/PackageItemInfo$StringWithRemovedChars;->mOriginal:Ljava/lang/String;
-Landroid/content/pm/PackageItemInfo$StringWithRemovedChars;->mRemovedChars:Ljava/util/BitSet;
-Landroid/content/pm/PackageItemInfo$StringWithRemovedChars;->removeAllCharAfter(I)V
-Landroid/content/pm/PackageItemInfo$StringWithRemovedChars;->removeAllCharBefore(I)V
-Landroid/content/pm/PackageItemInfo$StringWithRemovedChars;->removeRange(II)V
-Landroid/content/pm/PackageItemInfo;->DUMP_FLAG_ALL:I
-Landroid/content/pm/PackageItemInfo;->DUMP_FLAG_APPLICATION:I
-Landroid/content/pm/PackageItemInfo;->DUMP_FLAG_DETAILS:I
-Landroid/content/pm/PackageItemInfo;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
-Landroid/content/pm/PackageItemInfo;->isNewline(I)Z
-Landroid/content/pm/PackageItemInfo;->isWhiteSpace(I)Z
-Landroid/content/pm/PackageItemInfo;->LINE_FEED_CODE_POINT:I
-Landroid/content/pm/PackageItemInfo;->loadDefaultBanner(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
-Landroid/content/pm/PackageItemInfo;->loadDefaultIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
-Landroid/content/pm/PackageItemInfo;->loadDefaultLogo(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
-Landroid/content/pm/PackageItemInfo;->loadSafeLabel(Landroid/content/pm/PackageManager;FI)Ljava/lang/CharSequence;
-Landroid/content/pm/PackageItemInfo;->loadUnsafeLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
-Landroid/content/pm/PackageItemInfo;->MAX_LABEL_SIZE_PX:F
-Landroid/content/pm/PackageItemInfo;->MAX_SAFE_LABEL_LENGTH:I
-Landroid/content/pm/PackageItemInfo;->NBSP_CODE_POINT:I
-Landroid/content/pm/PackageItemInfo;->SAFE_LABEL_FLAG_FIRST_LINE:I
-Landroid/content/pm/PackageItemInfo;->SAFE_LABEL_FLAG_SINGLE_LINE:I
-Landroid/content/pm/PackageItemInfo;->SAFE_LABEL_FLAG_TRIM:I
-Landroid/content/pm/PackageItemInfo;->sForceSafeLabels:Z
-Landroid/content/pm/PackageItemInfo;->showUserIcon:I
-Landroid/content/pm/PackageItemInfo;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/content/pm/PackageItemInfoProto;
-Landroid/content/pm/PackageItemInfoProto;-><init>()V
-Landroid/content/pm/PackageItemInfoProto;->BANNER:J
-Landroid/content/pm/PackageItemInfoProto;->ICON:J
-Landroid/content/pm/PackageItemInfoProto;->LABEL_RES:J
-Landroid/content/pm/PackageItemInfoProto;->NAME:J
-Landroid/content/pm/PackageItemInfoProto;->NON_LOCALIZED_LABEL:J
-Landroid/content/pm/PackageItemInfoProto;->PACKAGE_NAME:J
-Landroid/content/pm/PackageList;
-Landroid/content/pm/PackageList;-><init>(Ljava/util/List;Landroid/content/pm/PackageManagerInternal$PackageListObserver;)V
-Landroid/content/pm/PackageList;->getPackageNames()Ljava/util/List;
-Landroid/content/pm/PackageList;->mPackageNames:Ljava/util/List;
-Landroid/content/pm/PackageList;->mWrappedObserver:Landroid/content/pm/PackageManagerInternal$PackageListObserver;
-Landroid/content/pm/PackageList;->onPackageAdded(Ljava/lang/String;)V
-Landroid/content/pm/PackageList;->onPackageRemoved(Ljava/lang/String;)V
-Landroid/content/pm/PackageManager$ApplicationInfoFlags;
-Landroid/content/pm/PackageManager$CertificateInputType;
-Landroid/content/pm/PackageManager$ComponentInfoFlags;
-Landroid/content/pm/PackageManager$DeleteFlags;
-Landroid/content/pm/PackageManager$EnabledFlags;
-Landroid/content/pm/PackageManager$EnabledState;
-Landroid/content/pm/PackageManager$InstallFlags;
-Landroid/content/pm/PackageManager$InstallReason;
-Landroid/content/pm/PackageManager$InstrumentationInfoFlags;
-Landroid/content/pm/PackageManager$LegacyPackageDeleteObserver;
-Landroid/content/pm/PackageManager$LegacyPackageDeleteObserver;-><init>(Landroid/content/pm/IPackageDeleteObserver;)V
-Landroid/content/pm/PackageManager$LegacyPackageDeleteObserver;->mLegacy:Landroid/content/pm/IPackageDeleteObserver;
-Landroid/content/pm/PackageManager$LegacyPackageDeleteObserver;->onPackageDeleted(Ljava/lang/String;ILjava/lang/String;)V
-Landroid/content/pm/PackageManager$MoveCallback;
-Landroid/content/pm/PackageManager$MoveCallback;-><init>()V
-Landroid/content/pm/PackageManager$MoveCallback;->onCreated(ILandroid/os/Bundle;)V
-Landroid/content/pm/PackageManager$MoveCallback;->onStatusChanged(IIJ)V
-Landroid/content/pm/PackageManager$PackageInfoFlags;
-Landroid/content/pm/PackageManager$PermissionGroupInfoFlags;
-Landroid/content/pm/PackageManager$PermissionInfoFlags;
-Landroid/content/pm/PackageManager$PermissionResult;
-Landroid/content/pm/PackageManager$ResolveInfoFlags;
-Landroid/content/pm/PackageManager$SignatureResult;
-Landroid/content/pm/PackageManager;->ACTION_CLEAN_EXTERNAL_STORAGE:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->APPLY_DEFAULT_TO_DEVICE_PROTECTED_STORAGE:Z
-Landroid/content/pm/PackageManager;->deleteStatusToPublicStatus(I)I
-Landroid/content/pm/PackageManager;->deleteStatusToString(ILjava/lang/String;)Ljava/lang/String;
-Landroid/content/pm/PackageManager;->DELETE_ALL_USERS:I
-Landroid/content/pm/PackageManager;->DELETE_CHATTY:I
-Landroid/content/pm/PackageManager;->DELETE_DONT_KILL_APP:I
-Landroid/content/pm/PackageManager;->DELETE_FAILED_ABORTED:I
-Landroid/content/pm/PackageManager;->DELETE_FAILED_DEVICE_POLICY_MANAGER:I
-Landroid/content/pm/PackageManager;->DELETE_FAILED_INTERNAL_ERROR:I
-Landroid/content/pm/PackageManager;->DELETE_FAILED_OWNER_BLOCKED:I
-Landroid/content/pm/PackageManager;->DELETE_FAILED_USED_SHARED_LIBRARY:I
-Landroid/content/pm/PackageManager;->DELETE_FAILED_USER_RESTRICTED:I
-Landroid/content/pm/PackageManager;->DELETE_KEEP_DATA:I
-Landroid/content/pm/PackageManager;->DELETE_SUCCEEDED:I
-Landroid/content/pm/PackageManager;->DELETE_SYSTEM_APP:I
-Landroid/content/pm/PackageManager;->EXTRA_FAILURE_EXISTING_PACKAGE:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->EXTRA_FAILURE_EXISTING_PERMISSION:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->EXTRA_INTENT_FILTER_VERIFICATION_HOSTS:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->EXTRA_INTENT_FILTER_VERIFICATION_ID:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->EXTRA_INTENT_FILTER_VERIFICATION_PACKAGE_NAME:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->EXTRA_INTENT_FILTER_VERIFICATION_URI_SCHEME:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->EXTRA_MOVE_ID:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->EXTRA_VERIFICATION_INSTALLER_PACKAGE:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->EXTRA_VERIFICATION_INSTALLER_UID:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->EXTRA_VERIFICATION_INSTALL_FLAGS:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->EXTRA_VERIFICATION_LONG_VERSION_CODE:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->EXTRA_VERIFICATION_PACKAGE_NAME:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->EXTRA_VERIFICATION_URI:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->EXTRA_VERIFICATION_VERSION_CODE:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->FEATURE_ASSIST_GESTURE:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->FEATURE_CTS:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->FEATURE_DEVICE_ID_ATTESTATION:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->FEATURE_HDMI_CEC:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->FEATURE_LOWPAN:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->FEATURE_MANAGED_PROFILES:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->FEATURE_NFC_ANY:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->FEATURE_NFC_HCE:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->FEATURE_VOICE_RECOGNIZERS:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->getCarLaunchIntentForPackage(Ljava/lang/String;)Landroid/content/Intent;
-Landroid/content/pm/PackageManager;->getInstantAppAndroidId(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/lang/String;
-Landroid/content/pm/PackageManager;->getInstantAppCookieMaxSize()I
-Landroid/content/pm/PackageManager;->getPrimaryStorageCandidateVolumes()Ljava/util/List;
-Landroid/content/pm/PackageManager;->getPrimaryStorageCurrentVolume()Landroid/os/storage/VolumeInfo;
-Landroid/content/pm/PackageManager;->getSharedLibrariesAsUser(II)Ljava/util/List;
-Landroid/content/pm/PackageManager;->getSystemTextClassifierPackageName()Ljava/lang/String;
-Landroid/content/pm/PackageManager;->getUserId()I
-Landroid/content/pm/PackageManager;->getVerifierDeviceIdentity()Landroid/content/pm/VerifierDeviceIdentity;
-Landroid/content/pm/PackageManager;->installStatusToPublicStatus(I)I
-Landroid/content/pm/PackageManager;->INSTALL_ALLOCATE_AGGRESSIVE:I
-Landroid/content/pm/PackageManager;->INSTALL_ALLOW_DOWNGRADE:I
-Landroid/content/pm/PackageManager;->INSTALL_ALLOW_TEST:I
-Landroid/content/pm/PackageManager;->INSTALL_ALL_USERS:I
-Landroid/content/pm/PackageManager;->INSTALL_DONT_KILL_APP:I
-Landroid/content/pm/PackageManager;->INSTALL_EXTERNAL:I
-Landroid/content/pm/PackageManager;->INSTALL_FAILED_ABORTED:I
-Landroid/content/pm/PackageManager;->INSTALL_FAILED_BAD_DEX_METADATA:I
-Landroid/content/pm/PackageManager;->INSTALL_FAILED_DUPLICATE_PERMISSION:I
-Landroid/content/pm/PackageManager;->INSTALL_FAILED_INSTANT_APP_INVALID:I
-Landroid/content/pm/PackageManager;->INSTALL_FAILED_NO_MATCHING_ABIS:I
-Landroid/content/pm/PackageManager;->INSTALL_FAILED_UID_CHANGED:I
-Landroid/content/pm/PackageManager;->INSTALL_FAILED_USER_RESTRICTED:I
-Landroid/content/pm/PackageManager;->INSTALL_FAILED_VERSION_DOWNGRADE:I
-Landroid/content/pm/PackageManager;->INSTALL_FORCE_PERMISSION_PROMPT:I
-Landroid/content/pm/PackageManager;->INSTALL_FORCE_SDK:I
-Landroid/content/pm/PackageManager;->INSTALL_FORCE_VOLUME_UUID:I
-Landroid/content/pm/PackageManager;->INSTALL_FORWARD_LOCK:I
-Landroid/content/pm/PackageManager;->INSTALL_FROM_ADB:I
-Landroid/content/pm/PackageManager;->INSTALL_FULL_APP:I
-Landroid/content/pm/PackageManager;->INSTALL_GRANT_RUNTIME_PERMISSIONS:I
-Landroid/content/pm/PackageManager;->INSTALL_INSTANT_APP:I
-Landroid/content/pm/PackageManager;->INSTALL_INTERNAL:I
-Landroid/content/pm/PackageManager;->INSTALL_VIRTUAL_PRELOAD:I
-Landroid/content/pm/PackageManager;->isMoveStatusFinished(I)Z
-Landroid/content/pm/PackageManager;->isPackageStateProtected(Ljava/lang/String;I)Z
-Landroid/content/pm/PackageManager;->MATCH_DEBUG_TRIAGED_MISSING:I
-Landroid/content/pm/PackageManager;->MATCH_EXPLICITLY_VISIBLE_ONLY:I
-Landroid/content/pm/PackageManager;->MATCH_STATIC_SHARED_LIBRARIES:I
-Landroid/content/pm/PackageManager;->MATCH_VISIBLE_TO_INSTANT_APP_ONLY:I
-Landroid/content/pm/PackageManager;->movePrimaryStorage(Landroid/os/storage/VolumeInfo;)I
-Landroid/content/pm/PackageManager;->MOVE_FAILED_3RD_PARTY_NOT_ALLOWED_ON_INTERNAL:I
-Landroid/content/pm/PackageManager;->MOVE_FAILED_DEVICE_ADMIN:I
-Landroid/content/pm/PackageManager;->MOVE_FAILED_DOESNT_EXIST:I
-Landroid/content/pm/PackageManager;->MOVE_FAILED_FORWARD_LOCKED:I
-Landroid/content/pm/PackageManager;->MOVE_FAILED_INSUFFICIENT_STORAGE:I
-Landroid/content/pm/PackageManager;->MOVE_FAILED_INTERNAL_ERROR:I
-Landroid/content/pm/PackageManager;->MOVE_FAILED_INVALID_LOCATION:I
-Landroid/content/pm/PackageManager;->MOVE_FAILED_LOCKED_USER:I
-Landroid/content/pm/PackageManager;->MOVE_FAILED_OPERATION_PENDING:I
-Landroid/content/pm/PackageManager;->MOVE_FAILED_SYSTEM_PACKAGE:I
-Landroid/content/pm/PackageManager;->MOVE_SUCCEEDED:I
-Landroid/content/pm/PackageManager;->NOTIFY_PACKAGE_USE_ACTIVITY:I
-Landroid/content/pm/PackageManager;->NOTIFY_PACKAGE_USE_BACKUP:I
-Landroid/content/pm/PackageManager;->NOTIFY_PACKAGE_USE_BROADCAST_RECEIVER:I
-Landroid/content/pm/PackageManager;->NOTIFY_PACKAGE_USE_CONTENT_PROVIDER:I
-Landroid/content/pm/PackageManager;->NOTIFY_PACKAGE_USE_CROSS_PACKAGE:I
-Landroid/content/pm/PackageManager;->NOTIFY_PACKAGE_USE_FOREGROUND_SERVICE:I
-Landroid/content/pm/PackageManager;->NOTIFY_PACKAGE_USE_INSTRUMENTATION:I
-Landroid/content/pm/PackageManager;->NOTIFY_PACKAGE_USE_REASONS_COUNT:I
-Landroid/content/pm/PackageManager;->NOTIFY_PACKAGE_USE_SERVICE:I
-Landroid/content/pm/PackageManager;->ONLY_IF_NO_MATCH_FOUND:I
-Landroid/content/pm/PackageManager;->permissionFlagToString(I)Ljava/lang/String;
-Landroid/content/pm/PackageManager;->queryContentProviders(Ljava/lang/String;IILjava/lang/String;)Ljava/util/List;
-Landroid/content/pm/PackageManager;->resolveServiceAsUser(Landroid/content/Intent;II)Landroid/content/pm/ResolveInfo;
-Landroid/content/pm/PackageManager;->SKIP_CURRENT_PROFILE:I
-Landroid/content/pm/PackageManager;->SYSTEM_SHARED_LIBRARY_SERVICES:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->SYSTEM_SHARED_LIBRARY_SHARED:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->TAG:Ljava/lang/String;
-Landroid/content/pm/PackageManager;->VERIFICATION_ALLOW_WITHOUT_SUFFICIENT:I
-Landroid/content/pm/PackageManagerInternal$ExternalSourcesPolicy;
-Landroid/content/pm/PackageManagerInternal$ExternalSourcesPolicy;->getPackageTrustedToInstallApps(Ljava/lang/String;I)I
-Landroid/content/pm/PackageManagerInternal$ExternalSourcesPolicy;->USER_BLOCKED:I
-Landroid/content/pm/PackageManagerInternal$ExternalSourcesPolicy;->USER_DEFAULT:I
-Landroid/content/pm/PackageManagerInternal$ExternalSourcesPolicy;->USER_TRUSTED:I
-Landroid/content/pm/PackageManagerInternal$KnownPackage;
-Landroid/content/pm/PackageManagerInternal$PackageListObserver;
-Landroid/content/pm/PackageManagerInternal$PackageListObserver;->onPackageAdded(Ljava/lang/String;)V
-Landroid/content/pm/PackageManagerInternal$PackageListObserver;->onPackageRemoved(Ljava/lang/String;)V
-Landroid/content/pm/PackageManagerInternal$PackagesProvider;
-Landroid/content/pm/PackageManagerInternal$PackagesProvider;->getPackages(I)[Ljava/lang/String;
-Landroid/content/pm/PackageManagerInternal$SyncAdapterPackagesProvider;
-Landroid/content/pm/PackageManagerInternal$SyncAdapterPackagesProvider;->getPackages(Ljava/lang/String;I)[Ljava/lang/String;
-Landroid/content/pm/PackageManagerInternal;
-Landroid/content/pm/PackageManagerInternal;-><init>()V
-Landroid/content/pm/PackageManagerInternal;->addIsolatedUid(II)V
-Landroid/content/pm/PackageManagerInternal;->canAccessComponent(ILandroid/content/ComponentName;I)Z
-Landroid/content/pm/PackageManagerInternal;->canAccessInstantApps(II)Z
-Landroid/content/pm/PackageManagerInternal;->filterAppAccess(Landroid/content/pm/PackageParser$Package;II)Z
-Landroid/content/pm/PackageManagerInternal;->getActivityInfo(Landroid/content/ComponentName;III)Landroid/content/pm/ActivityInfo;
-Landroid/content/pm/PackageManagerInternal;->getApplicationInfo(Ljava/lang/String;III)Landroid/content/pm/ApplicationInfo;
-Landroid/content/pm/PackageManagerInternal;->getDefaultHomeActivity(I)Landroid/content/ComponentName;
-Landroid/content/pm/PackageManagerInternal;->getDisabledPackage(Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
-Landroid/content/pm/PackageManagerInternal;->getHomeActivitiesAsUser(Ljava/util/List;I)Landroid/content/ComponentName;
-Landroid/content/pm/PackageManagerInternal;->getInstantAppPackageName(I)Ljava/lang/String;
-Landroid/content/pm/PackageManagerInternal;->getKnownPackageName(II)Ljava/lang/String;
-Landroid/content/pm/PackageManagerInternal;->getNameForUid(I)Ljava/lang/String;
-Landroid/content/pm/PackageManagerInternal;->getOverlayPackages(I)Ljava/util/List;
-Landroid/content/pm/PackageManagerInternal;->getPackage(Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
-Landroid/content/pm/PackageManagerInternal;->getPackageInfo(Ljava/lang/String;III)Landroid/content/pm/PackageInfo;
-Landroid/content/pm/PackageManagerInternal;->getPackageList()Landroid/content/pm/PackageList;
-Landroid/content/pm/PackageManagerInternal;->getPackageList(Landroid/content/pm/PackageManagerInternal$PackageListObserver;)Landroid/content/pm/PackageList;
-Landroid/content/pm/PackageManagerInternal;->getPackageTargetSdkVersion(Ljava/lang/String;)I
-Landroid/content/pm/PackageManagerInternal;->getPackageUid(Ljava/lang/String;II)I
-Landroid/content/pm/PackageManagerInternal;->getPermissionFlagsTEMP(Ljava/lang/String;Ljava/lang/String;I)I
-Landroid/content/pm/PackageManagerInternal;->getSetupWizardPackageName()Ljava/lang/String;
-Landroid/content/pm/PackageManagerInternal;->getSuspendedDialogMessage(Ljava/lang/String;I)Ljava/lang/String;
-Landroid/content/pm/PackageManagerInternal;->getSuspendedPackageLauncherExtras(Ljava/lang/String;I)Landroid/os/Bundle;
-Landroid/content/pm/PackageManagerInternal;->getSuspendingPackage(Ljava/lang/String;I)Ljava/lang/String;
-Landroid/content/pm/PackageManagerInternal;->getTargetPackageNames(I)Ljava/util/List;
-Landroid/content/pm/PackageManagerInternal;->getUidTargetSdkVersion(I)I
-Landroid/content/pm/PackageManagerInternal;->grantDefaultPermissionsToDefaultDialerApp(Ljava/lang/String;I)V
-Landroid/content/pm/PackageManagerInternal;->grantDefaultPermissionsToDefaultSimCallManager(Ljava/lang/String;I)V
-Landroid/content/pm/PackageManagerInternal;->grantDefaultPermissionsToDefaultSmsApp(Ljava/lang/String;I)V
-Landroid/content/pm/PackageManagerInternal;->grantDefaultPermissionsToDefaultUseOpenWifiApp(Ljava/lang/String;I)V
-Landroid/content/pm/PackageManagerInternal;->grantEphemeralAccess(ILandroid/content/Intent;II)V
-Landroid/content/pm/PackageManagerInternal;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;IZ)V
-Landroid/content/pm/PackageManagerInternal;->hasInstantApplicationMetadata(Ljava/lang/String;I)Z
-Landroid/content/pm/PackageManagerInternal;->hasSignatureCapability(III)Z
-Landroid/content/pm/PackageManagerInternal;->isDataRestoreSafe(Landroid/content/pm/Signature;Ljava/lang/String;)Z
-Landroid/content/pm/PackageManagerInternal;->isDataRestoreSafe([BLjava/lang/String;)Z
-Landroid/content/pm/PackageManagerInternal;->isInstantApp(Ljava/lang/String;I)Z
-Landroid/content/pm/PackageManagerInternal;->isInstantAppInstallerComponent(Landroid/content/ComponentName;)Z
-Landroid/content/pm/PackageManagerInternal;->isLegacySystemApp(Landroid/content/pm/PackageParser$Package;)Z
-Landroid/content/pm/PackageManagerInternal;->isPackageDataProtected(ILjava/lang/String;)Z
-Landroid/content/pm/PackageManagerInternal;->isPackageEphemeral(ILjava/lang/String;)Z
-Landroid/content/pm/PackageManagerInternal;->isPackagePersistent(Ljava/lang/String;)Z
-Landroid/content/pm/PackageManagerInternal;->isPackageStateProtected(Ljava/lang/String;I)Z
-Landroid/content/pm/PackageManagerInternal;->isPackageSuspended(Ljava/lang/String;I)Z
-Landroid/content/pm/PackageManagerInternal;->isPermissionsReviewRequired(Ljava/lang/String;I)Z
-Landroid/content/pm/PackageManagerInternal;->isResolveActivityComponent(Landroid/content/pm/ComponentInfo;)Z
-Landroid/content/pm/PackageManagerInternal;->notifyPackageUse(Ljava/lang/String;I)V
-Landroid/content/pm/PackageManagerInternal;->PACKAGE_BROWSER:I
-Landroid/content/pm/PackageManagerInternal;->PACKAGE_INSTALLER:I
-Landroid/content/pm/PackageManagerInternal;->PACKAGE_SETUP_WIZARD:I
-Landroid/content/pm/PackageManagerInternal;->PACKAGE_SYSTEM:I
-Landroid/content/pm/PackageManagerInternal;->PACKAGE_SYSTEM_TEXT_CLASSIFIER:I
-Landroid/content/pm/PackageManagerInternal;->PACKAGE_VERIFIER:I
-Landroid/content/pm/PackageManagerInternal;->pruneInstantApps()V
-Landroid/content/pm/PackageManagerInternal;->queryIntentActivities(Landroid/content/Intent;III)Ljava/util/List;
-Landroid/content/pm/PackageManagerInternal;->queryIntentServices(Landroid/content/Intent;III)Ljava/util/List;
-Landroid/content/pm/PackageManagerInternal;->removeIsolatedUid(I)V
-Landroid/content/pm/PackageManagerInternal;->removePackageListObserver(Landroid/content/pm/PackageManagerInternal$PackageListObserver;)V
-Landroid/content/pm/PackageManagerInternal;->requestInstantAppResolutionPhaseTwo(Landroid/content/pm/AuxiliaryResolveInfo;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;I)V
-Landroid/content/pm/PackageManagerInternal;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
-Landroid/content/pm/PackageManagerInternal;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;IIZI)Landroid/content/pm/ResolveInfo;
-Landroid/content/pm/PackageManagerInternal;->resolveService(Landroid/content/Intent;Ljava/lang/String;III)Landroid/content/pm/ResolveInfo;
-Landroid/content/pm/PackageManagerInternal;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;IZ)V
-Landroid/content/pm/PackageManagerInternal;->setDeviceAndProfileOwnerPackages(ILjava/lang/String;Landroid/util/SparseArray;)V
-Landroid/content/pm/PackageManagerInternal;->setDialerAppPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-Landroid/content/pm/PackageManagerInternal;->setEnabledOverlayPackages(ILjava/lang/String;Ljava/util/List;)Z
-Landroid/content/pm/PackageManagerInternal;->setExternalSourcesPolicy(Landroid/content/pm/PackageManagerInternal$ExternalSourcesPolicy;)V
-Landroid/content/pm/PackageManagerInternal;->setKeepUninstalledPackages(Ljava/util/List;)V
-Landroid/content/pm/PackageManagerInternal;->setLocationPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-Landroid/content/pm/PackageManagerInternal;->setSimCallManagerPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-Landroid/content/pm/PackageManagerInternal;->setSmsAppPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-Landroid/content/pm/PackageManagerInternal;->setSyncAdapterPackagesprovider(Landroid/content/pm/PackageManagerInternal$SyncAdapterPackagesProvider;)V
-Landroid/content/pm/PackageManagerInternal;->setUseOpenWifiAppPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-Landroid/content/pm/PackageManagerInternal;->setVoiceInteractionPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-Landroid/content/pm/PackageManagerInternal;->updatePermissionFlagsTEMP(Ljava/lang/String;Ljava/lang/String;III)V
-Landroid/content/pm/PackageManagerInternal;->wasPackageEverLaunched(Ljava/lang/String;I)Z
-Landroid/content/pm/PackageParser$Activity;
-Landroid/content/pm/PackageParser$Activity;-><init>(Landroid/content/pm/PackageParser$ParseComponentArgs;Landroid/content/pm/ActivityInfo;)V
-Landroid/content/pm/PackageParser$Activity;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PackageParser$Activity;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/content/pm/PackageParser$Activity;->hasMaxAspectRatio()Z
-Landroid/content/pm/PackageParser$Activity;->mHasMaxAspectRatio:Z
-Landroid/content/pm/PackageParser$Activity;->setMaxAspectRatio(F)V
-Landroid/content/pm/PackageParser$Activity;->setPackageName(Ljava/lang/String;)V
-Landroid/content/pm/PackageParser$ActivityIntentInfo;
-Landroid/content/pm/PackageParser$ActivityIntentInfo;-><init>(Landroid/content/pm/PackageParser$Activity;)V
-Landroid/content/pm/PackageParser$ActivityIntentInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PackageParser$ApkLite;
-Landroid/content/pm/PackageParser$ApkLite;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;IIIILjava/util/List;Landroid/content/pm/PackageParser$SigningDetails;ZZZZZZ)V
-Landroid/content/pm/PackageParser$ApkLite;->codePath:Ljava/lang/String;
-Landroid/content/pm/PackageParser$ApkLite;->configForSplit:Ljava/lang/String;
-Landroid/content/pm/PackageParser$ApkLite;->coreApp:Z
-Landroid/content/pm/PackageParser$ApkLite;->debuggable:Z
-Landroid/content/pm/PackageParser$ApkLite;->extractNativeLibs:Z
-Landroid/content/pm/PackageParser$ApkLite;->getLongVersionCode()J
-Landroid/content/pm/PackageParser$ApkLite;->installLocation:I
-Landroid/content/pm/PackageParser$ApkLite;->isFeatureSplit:Z
-Landroid/content/pm/PackageParser$ApkLite;->isolatedSplits:Z
-Landroid/content/pm/PackageParser$ApkLite;->multiArch:Z
-Landroid/content/pm/PackageParser$ApkLite;->packageName:Ljava/lang/String;
-Landroid/content/pm/PackageParser$ApkLite;->revisionCode:I
-Landroid/content/pm/PackageParser$ApkLite;->signingDetails:Landroid/content/pm/PackageParser$SigningDetails;
-Landroid/content/pm/PackageParser$ApkLite;->splitName:Ljava/lang/String;
-Landroid/content/pm/PackageParser$ApkLite;->use32bitAbi:Z
-Landroid/content/pm/PackageParser$ApkLite;->usesSplitName:Ljava/lang/String;
-Landroid/content/pm/PackageParser$ApkLite;->verifiers:[Landroid/content/pm/VerifierInfo;
-Landroid/content/pm/PackageParser$ApkLite;->versionCode:I
-Landroid/content/pm/PackageParser$ApkLite;->versionCodeMajor:I
-Landroid/content/pm/PackageParser$CachedComponentArgs;
-Landroid/content/pm/PackageParser$CachedComponentArgs;-><init>()V
-Landroid/content/pm/PackageParser$CachedComponentArgs;->mActivityAliasArgs:Landroid/content/pm/PackageParser$ParseComponentArgs;
-Landroid/content/pm/PackageParser$CachedComponentArgs;->mActivityArgs:Landroid/content/pm/PackageParser$ParseComponentArgs;
-Landroid/content/pm/PackageParser$CachedComponentArgs;->mProviderArgs:Landroid/content/pm/PackageParser$ParseComponentArgs;
-Landroid/content/pm/PackageParser$CachedComponentArgs;->mServiceArgs:Landroid/content/pm/PackageParser$ParseComponentArgs;
-Landroid/content/pm/PackageParser$Callback;
-Landroid/content/pm/PackageParser$Callback;->getOverlayApks(Ljava/lang/String;)[Ljava/lang/String;
-Landroid/content/pm/PackageParser$Callback;->getOverlayPaths(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-Landroid/content/pm/PackageParser$Callback;->hasFeature(Ljava/lang/String;)Z
-Landroid/content/pm/PackageParser$CallbackImpl;
-Landroid/content/pm/PackageParser$CallbackImpl;-><init>(Landroid/content/pm/PackageManager;)V
-Landroid/content/pm/PackageParser$CallbackImpl;->getOverlayApks(Ljava/lang/String;)[Ljava/lang/String;
-Landroid/content/pm/PackageParser$CallbackImpl;->getOverlayPaths(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-Landroid/content/pm/PackageParser$CallbackImpl;->hasFeature(Ljava/lang/String;)Z
-Landroid/content/pm/PackageParser$CallbackImpl;->mPm:Landroid/content/pm/PackageManager;
-Landroid/content/pm/PackageParser$Component;
-Landroid/content/pm/PackageParser$Component;-><init>(Landroid/content/pm/PackageParser$Component;)V
-Landroid/content/pm/PackageParser$Component;-><init>(Landroid/content/pm/PackageParser$Package;)V
-Landroid/content/pm/PackageParser$Component;-><init>(Landroid/content/pm/PackageParser$ParseComponentArgs;Landroid/content/pm/ComponentInfo;)V
-Landroid/content/pm/PackageParser$Component;-><init>(Landroid/content/pm/PackageParser$ParsePackageItemArgs;Landroid/content/pm/PackageItemInfo;)V
-Landroid/content/pm/PackageParser$Component;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PackageParser$Component;->appendComponentShortName(Ljava/lang/StringBuilder;)V
-Landroid/content/pm/PackageParser$Component;->componentName:Landroid/content/ComponentName;
-Landroid/content/pm/PackageParser$Component;->componentShortName:Ljava/lang/String;
-Landroid/content/pm/PackageParser$Component;->createIntentsList(Landroid/os/Parcel;)Ljava/util/ArrayList;
-Landroid/content/pm/PackageParser$Component;->order:I
-Landroid/content/pm/PackageParser$Component;->printComponentShortName(Ljava/io/PrintWriter;)V
-Landroid/content/pm/PackageParser$Component;->setPackageName(Ljava/lang/String;)V
-Landroid/content/pm/PackageParser$Component;->writeIntentsList(Ljava/util/ArrayList;Landroid/os/Parcel;I)V
-Landroid/content/pm/PackageParser$Component;->writeToParcel(Landroid/os/Parcel;I)V
-Landroid/content/pm/PackageParser$Instrumentation;
-Landroid/content/pm/PackageParser$Instrumentation;-><init>(Landroid/content/pm/PackageParser$ParsePackageItemArgs;Landroid/content/pm/InstrumentationInfo;)V
-Landroid/content/pm/PackageParser$Instrumentation;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PackageParser$Instrumentation;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/content/pm/PackageParser$Instrumentation;->setPackageName(Ljava/lang/String;)V
-Landroid/content/pm/PackageParser$IntentInfo;
-Landroid/content/pm/PackageParser$IntentInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PackageParser$IntentInfo;->preferred:I
-Landroid/content/pm/PackageParser$IntentInfo;->writeIntentInfoToParcel(Landroid/os/Parcel;I)V
-Landroid/content/pm/PackageParser$NewPermissionInfo;
-Landroid/content/pm/PackageParser$NewPermissionInfo;-><init>(Ljava/lang/String;II)V
-Landroid/content/pm/PackageParser$NewPermissionInfo;->fileVersion:I
-Landroid/content/pm/PackageParser$Package;
-Landroid/content/pm/PackageParser$Package;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PackageParser$Package;->baseCodePath:Ljava/lang/String;
-Landroid/content/pm/PackageParser$Package;->baseHardwareAccelerated:Z
-Landroid/content/pm/PackageParser$Package;->baseRevisionCode:I
-Landroid/content/pm/PackageParser$Package;->canHaveOatDir()Z
-Landroid/content/pm/PackageParser$Package;->childPackages:Ljava/util/ArrayList;
-Landroid/content/pm/PackageParser$Package;->codePath:Ljava/lang/String;
-Landroid/content/pm/PackageParser$Package;->coreApp:Z
-Landroid/content/pm/PackageParser$Package;->cpuAbiOverride:Ljava/lang/String;
-Landroid/content/pm/PackageParser$Package;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/content/pm/PackageParser$Package;->featureGroups:Ljava/util/ArrayList;
-Landroid/content/pm/PackageParser$Package;->fixupOwner(Ljava/util/List;)V
-Landroid/content/pm/PackageParser$Package;->getAllCodePaths()Ljava/util/List;
-Landroid/content/pm/PackageParser$Package;->getAllCodePathsExcludingResourceOnly()Ljava/util/List;
-Landroid/content/pm/PackageParser$Package;->getChildPackageNames()Ljava/util/List;
-Landroid/content/pm/PackageParser$Package;->getLatestForegroundPackageUseTimeInMills()J
-Landroid/content/pm/PackageParser$Package;->getLatestPackageUseTimeInMills()J
-Landroid/content/pm/PackageParser$Package;->getLongVersionCode()J
-Landroid/content/pm/PackageParser$Package;->hasChildPackage(Ljava/lang/String;)Z
-Landroid/content/pm/PackageParser$Package;->hasComponentClassName(Ljava/lang/String;)Z
-Landroid/content/pm/PackageParser$Package;->internStringArrayList(Ljava/util/List;)V
-Landroid/content/pm/PackageParser$Package;->isExternal()Z
-Landroid/content/pm/PackageParser$Package;->isForwardLocked()Z
-Landroid/content/pm/PackageParser$Package;->isLibrary()Z
-Landroid/content/pm/PackageParser$Package;->isMatch(I)Z
-Landroid/content/pm/PackageParser$Package;->isOem()Z
-Landroid/content/pm/PackageParser$Package;->isPrivileged()Z
-Landroid/content/pm/PackageParser$Package;->isProduct()Z
-Landroid/content/pm/PackageParser$Package;->isStub:Z
-Landroid/content/pm/PackageParser$Package;->isSystem()Z
-Landroid/content/pm/PackageParser$Package;->isUpdatedSystemApp()Z
-Landroid/content/pm/PackageParser$Package;->isVendor()Z
-Landroid/content/pm/PackageParser$Package;->libraryNames:Ljava/util/ArrayList;
-Landroid/content/pm/PackageParser$Package;->mAdoptPermissions:Ljava/util/ArrayList;
-Landroid/content/pm/PackageParser$Package;->manifestPackageName:Ljava/lang/String;
-Landroid/content/pm/PackageParser$Package;->mCompileSdkVersion:I
-Landroid/content/pm/PackageParser$Package;->mCompileSdkVersionCodename:Ljava/lang/String;
-Landroid/content/pm/PackageParser$Package;->mLastPackageUsageTimeInMills:[J
-Landroid/content/pm/PackageParser$Package;->mOriginalPackages:Ljava/util/ArrayList;
-Landroid/content/pm/PackageParser$Package;->mOverlayCategory:Ljava/lang/String;
-Landroid/content/pm/PackageParser$Package;->mOverlayIsStatic:Z
-Landroid/content/pm/PackageParser$Package;->mOverlayPriority:I
-Landroid/content/pm/PackageParser$Package;->mOverlayTarget:Ljava/lang/String;
-Landroid/content/pm/PackageParser$Package;->mRealPackage:Ljava/lang/String;
-Landroid/content/pm/PackageParser$Package;->mRequiredAccountType:Ljava/lang/String;
-Landroid/content/pm/PackageParser$Package;->mRequiredForAllUsers:Z
-Landroid/content/pm/PackageParser$Package;->mRestrictedAccountType:Ljava/lang/String;
-Landroid/content/pm/PackageParser$Package;->mVersionCodeMajor:I
-Landroid/content/pm/PackageParser$Package;->parentPackage:Landroid/content/pm/PackageParser$Package;
-Landroid/content/pm/PackageParser$Package;->preferredActivityFilters:Ljava/util/ArrayList;
-Landroid/content/pm/PackageParser$Package;->readKeySetMapping(Landroid/os/Parcel;)Landroid/util/ArrayMap;
-Landroid/content/pm/PackageParser$Package;->restrictUpdateHash:[B
-Landroid/content/pm/PackageParser$Package;->setApplicationInfoBaseCodePath(Ljava/lang/String;)V
-Landroid/content/pm/PackageParser$Package;->setApplicationInfoBaseResourcePath(Ljava/lang/String;)V
-Landroid/content/pm/PackageParser$Package;->setApplicationInfoCodePath(Ljava/lang/String;)V
-Landroid/content/pm/PackageParser$Package;->setApplicationInfoFlags(II)V
-Landroid/content/pm/PackageParser$Package;->setApplicationInfoResourcePath(Ljava/lang/String;)V
-Landroid/content/pm/PackageParser$Package;->setApplicationInfoSplitCodePaths([Ljava/lang/String;)V
-Landroid/content/pm/PackageParser$Package;->setApplicationInfoSplitResourcePaths([Ljava/lang/String;)V
-Landroid/content/pm/PackageParser$Package;->setApplicationVolumeUuid(Ljava/lang/String;)V
-Landroid/content/pm/PackageParser$Package;->setBaseCodePath(Ljava/lang/String;)V
-Landroid/content/pm/PackageParser$Package;->setCodePath(Ljava/lang/String;)V
-Landroid/content/pm/PackageParser$Package;->setSigningDetails(Landroid/content/pm/PackageParser$SigningDetails;)V
-Landroid/content/pm/PackageParser$Package;->setSplitCodePaths([Ljava/lang/String;)V
-Landroid/content/pm/PackageParser$Package;->setUse32bitAbi(Z)V
-Landroid/content/pm/PackageParser$Package;->setVolumeUuid(Ljava/lang/String;)V
-Landroid/content/pm/PackageParser$Package;->splitCodePaths:[Ljava/lang/String;
-Landroid/content/pm/PackageParser$Package;->splitFlags:[I
-Landroid/content/pm/PackageParser$Package;->splitNames:[Ljava/lang/String;
-Landroid/content/pm/PackageParser$Package;->splitPrivateFlags:[I
-Landroid/content/pm/PackageParser$Package;->splitRevisionCodes:[I
-Landroid/content/pm/PackageParser$Package;->staticSharedLibName:Ljava/lang/String;
-Landroid/content/pm/PackageParser$Package;->staticSharedLibVersion:J
-Landroid/content/pm/PackageParser$Package;->use32bitAbi:Z
-Landroid/content/pm/PackageParser$Package;->usesStaticLibraries:Ljava/util/ArrayList;
-Landroid/content/pm/PackageParser$Package;->usesStaticLibrariesCertDigests:[[Ljava/lang/String;
-Landroid/content/pm/PackageParser$Package;->usesStaticLibrariesVersions:[J
-Landroid/content/pm/PackageParser$Package;->visibleToInstantApps:Z
-Landroid/content/pm/PackageParser$Package;->volumeUuid:Ljava/lang/String;
-Landroid/content/pm/PackageParser$Package;->writeKeySetMapping(Landroid/os/Parcel;Landroid/util/ArrayMap;)V
-Landroid/content/pm/PackageParser$PackageLite;
-Landroid/content/pm/PackageParser$PackageLite;-><init>(Ljava/lang/String;Landroid/content/pm/PackageParser$ApkLite;[Ljava/lang/String;[Z[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[I)V
-Landroid/content/pm/PackageParser$PackageLite;->baseCodePath:Ljava/lang/String;
-Landroid/content/pm/PackageParser$PackageLite;->baseRevisionCode:I
-Landroid/content/pm/PackageParser$PackageLite;->codePath:Ljava/lang/String;
-Landroid/content/pm/PackageParser$PackageLite;->configForSplit:[Ljava/lang/String;
-Landroid/content/pm/PackageParser$PackageLite;->coreApp:Z
-Landroid/content/pm/PackageParser$PackageLite;->debuggable:Z
-Landroid/content/pm/PackageParser$PackageLite;->extractNativeLibs:Z
-Landroid/content/pm/PackageParser$PackageLite;->getAllCodePaths()Ljava/util/List;
-Landroid/content/pm/PackageParser$PackageLite;->isFeatureSplits:[Z
-Landroid/content/pm/PackageParser$PackageLite;->isolatedSplits:Z
-Landroid/content/pm/PackageParser$PackageLite;->multiArch:Z
-Landroid/content/pm/PackageParser$PackageLite;->splitCodePaths:[Ljava/lang/String;
-Landroid/content/pm/PackageParser$PackageLite;->splitNames:[Ljava/lang/String;
-Landroid/content/pm/PackageParser$PackageLite;->splitRevisionCodes:[I
-Landroid/content/pm/PackageParser$PackageLite;->use32bitAbi:Z
-Landroid/content/pm/PackageParser$PackageLite;->usesSplitNames:[Ljava/lang/String;
-Landroid/content/pm/PackageParser$PackageLite;->verifiers:[Landroid/content/pm/VerifierInfo;
-Landroid/content/pm/PackageParser$PackageLite;->versionCode:I
-Landroid/content/pm/PackageParser$PackageLite;->versionCodeMajor:I
-Landroid/content/pm/PackageParser$PackageParserException;
-Landroid/content/pm/PackageParser$PackageParserException;-><init>(ILjava/lang/String;)V
-Landroid/content/pm/PackageParser$PackageParserException;-><init>(ILjava/lang/String;Ljava/lang/Throwable;)V
-Landroid/content/pm/PackageParser$PackageParserException;->error:I
-Landroid/content/pm/PackageParser$ParseComponentArgs;
-Landroid/content/pm/PackageParser$ParseComponentArgs;-><init>(Landroid/content/pm/PackageParser$Package;[Ljava/lang/String;IIIIII[Ljava/lang/String;III)V
-Landroid/content/pm/PackageParser$ParseComponentArgs;->descriptionRes:I
-Landroid/content/pm/PackageParser$ParseComponentArgs;->enabledRes:I
-Landroid/content/pm/PackageParser$ParseComponentArgs;->flags:I
-Landroid/content/pm/PackageParser$ParseComponentArgs;->processRes:I
-Landroid/content/pm/PackageParser$ParseComponentArgs;->sepProcesses:[Ljava/lang/String;
-Landroid/content/pm/PackageParser$ParseFlags;
-Landroid/content/pm/PackageParser$ParsePackageItemArgs;
-Landroid/content/pm/PackageParser$ParsePackageItemArgs;-><init>(Landroid/content/pm/PackageParser$Package;[Ljava/lang/String;IIIIII)V
-Landroid/content/pm/PackageParser$ParsePackageItemArgs;->bannerRes:I
-Landroid/content/pm/PackageParser$ParsePackageItemArgs;->iconRes:I
-Landroid/content/pm/PackageParser$ParsePackageItemArgs;->labelRes:I
-Landroid/content/pm/PackageParser$ParsePackageItemArgs;->logoRes:I
-Landroid/content/pm/PackageParser$ParsePackageItemArgs;->nameRes:I
-Landroid/content/pm/PackageParser$ParsePackageItemArgs;->outError:[Ljava/lang/String;
-Landroid/content/pm/PackageParser$ParsePackageItemArgs;->owner:Landroid/content/pm/PackageParser$Package;
-Landroid/content/pm/PackageParser$ParsePackageItemArgs;->roundIconRes:I
-Landroid/content/pm/PackageParser$ParsePackageItemArgs;->sa:Landroid/content/res/TypedArray;
-Landroid/content/pm/PackageParser$ParsePackageItemArgs;->tag:Ljava/lang/String;
-Landroid/content/pm/PackageParser$Permission;
-Landroid/content/pm/PackageParser$Permission;-><init>(Landroid/content/pm/PackageParser$Package;)V
-Landroid/content/pm/PackageParser$Permission;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PackageParser$Permission;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/content/pm/PackageParser$Permission;->isAppOp()Z
-Landroid/content/pm/PackageParser$Permission;->setPackageName(Ljava/lang/String;)V
-Landroid/content/pm/PackageParser$PermissionGroup;
-Landroid/content/pm/PackageParser$PermissionGroup;-><init>(Landroid/content/pm/PackageParser$Package;)V
-Landroid/content/pm/PackageParser$PermissionGroup;-><init>(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PermissionGroupInfo;)V
-Landroid/content/pm/PackageParser$PermissionGroup;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PackageParser$PermissionGroup;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/content/pm/PackageParser$PermissionGroup;->setPackageName(Ljava/lang/String;)V
-Landroid/content/pm/PackageParser$Provider;
-Landroid/content/pm/PackageParser$Provider;-><init>(Landroid/content/pm/PackageParser$ParseComponentArgs;Landroid/content/pm/ProviderInfo;)V
-Landroid/content/pm/PackageParser$Provider;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PackageParser$Provider;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/content/pm/PackageParser$Provider;->setPackageName(Ljava/lang/String;)V
-Landroid/content/pm/PackageParser$ProviderIntentInfo;
-Landroid/content/pm/PackageParser$ProviderIntentInfo;-><init>(Landroid/content/pm/PackageParser$Provider;)V
-Landroid/content/pm/PackageParser$ProviderIntentInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PackageParser$Service;
-Landroid/content/pm/PackageParser$Service;-><init>(Landroid/content/pm/PackageParser$ParseComponentArgs;Landroid/content/pm/ServiceInfo;)V
-Landroid/content/pm/PackageParser$Service;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PackageParser$Service;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/content/pm/PackageParser$Service;->setPackageName(Ljava/lang/String;)V
-Landroid/content/pm/PackageParser$ServiceIntentInfo;
-Landroid/content/pm/PackageParser$ServiceIntentInfo;-><init>(Landroid/content/pm/PackageParser$Service;)V
-Landroid/content/pm/PackageParser$ServiceIntentInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PackageParser$SigningDetails$Builder;
-Landroid/content/pm/PackageParser$SigningDetails$Builder;->checkInvariants()V
-Landroid/content/pm/PackageParser$SigningDetails$Builder;->mPastSigningCertificates:[Landroid/content/pm/Signature;
-Landroid/content/pm/PackageParser$SigningDetails$Builder;->mPastSigningCertificatesFlags:[I
-Landroid/content/pm/PackageParser$SigningDetails$Builder;->mSignatures:[Landroid/content/pm/Signature;
-Landroid/content/pm/PackageParser$SigningDetails$Builder;->mSignatureSchemeVersion:I
-Landroid/content/pm/PackageParser$SigningDetails$CertCapabilities;
-Landroid/content/pm/PackageParser$SigningDetails$CertCapabilities;->AUTH:I
-Landroid/content/pm/PackageParser$SigningDetails$CertCapabilities;->INSTALLED_DATA:I
-Landroid/content/pm/PackageParser$SigningDetails$CertCapabilities;->PERMISSION:I
-Landroid/content/pm/PackageParser$SigningDetails$CertCapabilities;->ROLLBACK:I
-Landroid/content/pm/PackageParser$SigningDetails$CertCapabilities;->SHARED_USER_ID:I
-Landroid/content/pm/PackageParser$SigningDetails$SignatureSchemeVersion;
-Landroid/content/pm/PackageParser$SigningDetails$SignatureSchemeVersion;->JAR:I
-Landroid/content/pm/PackageParser$SigningDetails$SignatureSchemeVersion;->SIGNING_BLOCK_V2:I
-Landroid/content/pm/PackageParser$SigningDetails$SignatureSchemeVersion;->SIGNING_BLOCK_V3:I
-Landroid/content/pm/PackageParser$SigningDetails$SignatureSchemeVersion;->UNKNOWN:I
-Landroid/content/pm/PackageParser$SigningDetails;
-Landroid/content/pm/PackageParser$SigningDetails;-><init>(Landroid/content/pm/PackageParser$SigningDetails;)V
-Landroid/content/pm/PackageParser$SigningDetails;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PackageParser$SigningDetails;-><init>([Landroid/content/pm/Signature;I)V
-Landroid/content/pm/PackageParser$SigningDetails;-><init>([Landroid/content/pm/Signature;ILandroid/util/ArraySet;[Landroid/content/pm/Signature;[I)V
-Landroid/content/pm/PackageParser$SigningDetails;-><init>([Landroid/content/pm/Signature;I[Landroid/content/pm/Signature;[I)V
-Landroid/content/pm/PackageParser$SigningDetails;->checkCapability(Landroid/content/pm/PackageParser$SigningDetails;I)Z
-Landroid/content/pm/PackageParser$SigningDetails;->checkCapability(Ljava/lang/String;I)Z
-Landroid/content/pm/PackageParser$SigningDetails;->checkCapabilityRecover(Landroid/content/pm/PackageParser$SigningDetails;I)Z
-Landroid/content/pm/PackageParser$SigningDetails;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/content/pm/PackageParser$SigningDetails;->hasAncestor(Landroid/content/pm/PackageParser$SigningDetails;)Z
-Landroid/content/pm/PackageParser$SigningDetails;->hasAncestorOrSelf(Landroid/content/pm/PackageParser$SigningDetails;)Z
-Landroid/content/pm/PackageParser$SigningDetails;->hasCertificate(Landroid/content/pm/Signature;)Z
-Landroid/content/pm/PackageParser$SigningDetails;->hasCertificate(Landroid/content/pm/Signature;I)Z
-Landroid/content/pm/PackageParser$SigningDetails;->hasCertificate([B)Z
-Landroid/content/pm/PackageParser$SigningDetails;->hasCertificateInternal(Landroid/content/pm/Signature;I)Z
-Landroid/content/pm/PackageParser$SigningDetails;->hasPastSigningCertificates()Z
-Landroid/content/pm/PackageParser$SigningDetails;->hasSha256Certificate([B)Z
-Landroid/content/pm/PackageParser$SigningDetails;->hasSha256Certificate([BI)Z
-Landroid/content/pm/PackageParser$SigningDetails;->hasSha256CertificateInternal([BI)Z
-Landroid/content/pm/PackageParser$SigningDetails;->hasSignatures()Z
-Landroid/content/pm/PackageParser$SigningDetails;->pastSigningCertificates:[Landroid/content/pm/Signature;
-Landroid/content/pm/PackageParser$SigningDetails;->pastSigningCertificatesFlags:[I
-Landroid/content/pm/PackageParser$SigningDetails;->PAST_CERT_EXISTS:I
-Landroid/content/pm/PackageParser$SigningDetails;->publicKeys:Landroid/util/ArraySet;
-Landroid/content/pm/PackageParser$SigningDetails;->signatureSchemeVersion:I
-Landroid/content/pm/PackageParser$SigningDetails;->signaturesMatchExactly(Landroid/content/pm/PackageParser$SigningDetails;)Z
-Landroid/content/pm/PackageParser$SigningDetails;->UNKNOWN:Landroid/content/pm/PackageParser$SigningDetails;
-Landroid/content/pm/PackageParser$SplitNameComparator;
-Landroid/content/pm/PackageParser$SplitNameComparator;-><init>()V
-Landroid/content/pm/PackageParser$SplitNameComparator;->compare(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/content/pm/PackageParser$SplitPermissionInfo;
-Landroid/content/pm/PackageParser$SplitPermissionInfo;-><init>(Ljava/lang/String;[Ljava/lang/String;I)V
-Landroid/content/pm/PackageParser$SplitPermissionInfo;->newPerms:[Ljava/lang/String;
-Landroid/content/pm/PackageParser$SplitPermissionInfo;->rootPerm:Ljava/lang/String;
-Landroid/content/pm/PackageParser$SplitPermissionInfo;->targetSdk:I
-Landroid/content/pm/PackageParser;
-Landroid/content/pm/PackageParser;->adjustPackageToBeUnresizeableAndUnpipable(Landroid/content/pm/PackageParser$Package;)V
-Landroid/content/pm/PackageParser;->ANDROID_MANIFEST_FILENAME:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->ANDROID_RESOURCES:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->APK_FILE_EXTENSION:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->buildClassName(Ljava/lang/String;Ljava/lang/CharSequence;[Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/pm/PackageParser;->buildCompoundName(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/pm/PackageParser;->buildProcessName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/CharSequence;I[Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/pm/PackageParser;->buildTaskAffinityName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/CharSequence;[Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/pm/PackageParser;->cacheResult(Ljava/io/File;ILandroid/content/pm/PackageParser$Package;)V
-Landroid/content/pm/PackageParser;->checkOverlayRequiredSystemProperty(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/content/pm/PackageParser;->checkUseInstalledOrHidden(ILandroid/content/pm/PackageUserState;Landroid/content/pm/ApplicationInfo;)Z
-Landroid/content/pm/PackageParser;->CHILD_PACKAGE_TAGS:Ljava/util/Set;
-Landroid/content/pm/PackageParser;->collectCertificatesInternal(Landroid/content/pm/PackageParser$Package;Z)V
-Landroid/content/pm/PackageParser;->computeMinSdkVersion(ILjava/lang/String;I[Ljava/lang/String;[Ljava/lang/String;)I
-Landroid/content/pm/PackageParser;->computeTargetSdkVersion(ILjava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Z)I
-Landroid/content/pm/PackageParser;->copyNeeded(ILandroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageUserState;Landroid/os/Bundle;I)Z
-Landroid/content/pm/PackageParser;->DEBUG_BACKUP:Z
-Landroid/content/pm/PackageParser;->DEBUG_JAR:Z
-Landroid/content/pm/PackageParser;->DEBUG_PARSER:Z
-Landroid/content/pm/PackageParser;->DEFAULT_PRE_O_MAX_ASPECT_RATIO:F
-Landroid/content/pm/PackageParser;->fromCacheEntry([B)Landroid/content/pm/PackageParser$Package;
-Landroid/content/pm/PackageParser;->fromCacheEntryStatic([B)Landroid/content/pm/PackageParser$Package;
-Landroid/content/pm/PackageParser;->generateActivityInfo(Landroid/content/pm/ActivityInfo;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ActivityInfo;
-Landroid/content/pm/PackageParser;->generateApplicationInfo(Landroid/content/pm/ApplicationInfo;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ApplicationInfo;
-Landroid/content/pm/PackageParser;->getActivityConfigChanges(II)I
-Landroid/content/pm/PackageParser;->getCachedResult(Ljava/io/File;I)Landroid/content/pm/PackageParser$Package;
-Landroid/content/pm/PackageParser;->getCacheKey(Ljava/io/File;I)Ljava/lang/String;
-Landroid/content/pm/PackageParser;->hasDomainURLs(Landroid/content/pm/PackageParser$Package;)Z
-Landroid/content/pm/PackageParser;->isApkFile(Ljava/io/File;)Z
-Landroid/content/pm/PackageParser;->isApkPath(Ljava/lang/String;)Z
-Landroid/content/pm/PackageParser;->isAvailable(Landroid/content/pm/PackageUserState;)Z
-Landroid/content/pm/PackageParser;->isCacheUpToDate(Ljava/io/File;Ljava/io/File;)Z
-Landroid/content/pm/PackageParser;->isImplicitlyExposedIntent(Landroid/content/pm/PackageParser$IntentInfo;)Z
-Landroid/content/pm/PackageParser;->LOG_PARSE_TIMINGS:Z
-Landroid/content/pm/PackageParser;->LOG_PARSE_TIMINGS_THRESHOLD_MS:I
-Landroid/content/pm/PackageParser;->LOG_UNSAFE_BROADCASTS:Z
-Landroid/content/pm/PackageParser;->mArchiveSourcePath:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->mCacheDir:Ljava/io/File;
-Landroid/content/pm/PackageParser;->METADATA_MAX_ASPECT_RATIO:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->mMetrics:Landroid/util/DisplayMetrics;
-Landroid/content/pm/PackageParser;->MNT_EXPAND:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->mOnlyCoreApps:Z
-Landroid/content/pm/PackageParser;->mParseError:I
-Landroid/content/pm/PackageParser;->mParseInstrumentationArgs:Landroid/content/pm/PackageParser$ParsePackageItemArgs;
-Landroid/content/pm/PackageParser;->mSeparateProcesses:[Ljava/lang/String;
-Landroid/content/pm/PackageParser;->MULTI_PACKAGE_APK_ENABLED:Z
-Landroid/content/pm/PackageParser;->newConfiguredAssetManager()Landroid/content/res/AssetManager;
-Landroid/content/pm/PackageParser;->parseActivity(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;Landroid/content/pm/PackageParser$CachedComponentArgs;ZZ)Landroid/content/pm/PackageParser$Activity;
-Landroid/content/pm/PackageParser;->parseActivityAlias(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;Landroid/content/pm/PackageParser$CachedComponentArgs;)Landroid/content/pm/PackageParser$Activity;
-Landroid/content/pm/PackageParser;->parseAdditionalCertificates(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)[Ljava/lang/String;
-Landroid/content/pm/PackageParser;->parseAllMetaData(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;Ljava/lang/String;Landroid/content/pm/PackageParser$Component;[Ljava/lang/String;)Z
-Landroid/content/pm/PackageParser;->parseApkLite(Ljava/io/File;I)Landroid/content/pm/PackageParser$ApkLite;
-Landroid/content/pm/PackageParser;->parseApkLite(Ljava/io/FileDescriptor;Ljava/lang/String;I)Landroid/content/pm/PackageParser$ApkLite;
-Landroid/content/pm/PackageParser;->parseApkLite(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/pm/PackageParser$SigningDetails;)Landroid/content/pm/PackageParser$ApkLite;
-Landroid/content/pm/PackageParser;->parseApkLiteInner(Ljava/io/File;Ljava/io/FileDescriptor;Ljava/lang/String;I)Landroid/content/pm/PackageParser$ApkLite;
-Landroid/content/pm/PackageParser;->parseBaseApk(Ljava/io/File;Landroid/content/res/AssetManager;I)Landroid/content/pm/PackageParser$Package;
-Landroid/content/pm/PackageParser;->parseBaseApkChild(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;)Z
-Landroid/content/pm/PackageParser;->parseBaseApkCommon(Landroid/content/pm/PackageParser$Package;Ljava/util/Set;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
-Landroid/content/pm/PackageParser;->parseClusterPackage(Ljava/io/File;I)Landroid/content/pm/PackageParser$Package;
-Landroid/content/pm/PackageParser;->parseClusterPackageLite(Ljava/io/File;I)Landroid/content/pm/PackageParser$PackageLite;
-Landroid/content/pm/PackageParser;->parseInstrumentation(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Landroid/content/pm/PackageParser$Instrumentation;
-Landroid/content/pm/PackageParser;->parseIntent(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;ZZLandroid/content/pm/PackageParser$IntentInfo;[Ljava/lang/String;)Z
-Landroid/content/pm/PackageParser;->parseKeySets(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Z
-Landroid/content/pm/PackageParser;->parseLayout(Landroid/content/res/Resources;Landroid/util/AttributeSet;Landroid/content/pm/PackageParser$Activity;)V
-Landroid/content/pm/PackageParser;->parseMetaData(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;Landroid/os/Bundle;[Ljava/lang/String;)Landroid/os/Bundle;
-Landroid/content/pm/PackageParser;->parseMonolithicPackageLite(Ljava/io/File;I)Landroid/content/pm/PackageParser$PackageLite;
-Landroid/content/pm/PackageParser;->parsePackageItemInfo(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageItemInfo;[Ljava/lang/String;Ljava/lang/String;Landroid/content/res/TypedArray;ZIIIIII)Z
-Landroid/content/pm/PackageParser;->parsePackageSplitNames(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/util/Pair;
-Landroid/content/pm/PackageParser;->parsePermission(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Z
-Landroid/content/pm/PackageParser;->parsePermissionGroup(Landroid/content/pm/PackageParser$Package;ILandroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Z
-Landroid/content/pm/PackageParser;->parsePermissionTree(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Z
-Landroid/content/pm/PackageParser;->parseProvider(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;Landroid/content/pm/PackageParser$CachedComponentArgs;)Landroid/content/pm/PackageParser$Provider;
-Landroid/content/pm/PackageParser;->parseProviderTags(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;ZLandroid/content/pm/PackageParser$Provider;[Ljava/lang/String;)Z
-Landroid/content/pm/PackageParser;->parsePublicKey(Ljava/lang/String;)Ljava/security/PublicKey;
-Landroid/content/pm/PackageParser;->parseService(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;Landroid/content/pm/PackageParser$CachedComponentArgs;)Landroid/content/pm/PackageParser$Service;
-Landroid/content/pm/PackageParser;->parseSplitApk(Landroid/content/pm/PackageParser$Package;ILandroid/content/res/AssetManager;I)V
-Landroid/content/pm/PackageParser;->parseSplitApk(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;II[Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
-Landroid/content/pm/PackageParser;->parseSplitApplication(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;II[Ljava/lang/String;)Z
-Landroid/content/pm/PackageParser;->parseUsesFeature(Landroid/content/res/Resources;Landroid/util/AttributeSet;)Landroid/content/pm/FeatureInfo;
-Landroid/content/pm/PackageParser;->parseUsesPermission(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Z
-Landroid/content/pm/PackageParser;->parseUsesStaticLibrary(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Z
-Landroid/content/pm/PackageParser;->parseVerifier(Landroid/util/AttributeSet;)Landroid/content/pm/VerifierInfo;
-Landroid/content/pm/PackageParser;->PARSE_CHATTY:I
-Landroid/content/pm/PackageParser;->PARSE_COLLECT_CERTIFICATES:I
-Landroid/content/pm/PackageParser;->PARSE_DEFAULT_INSTALL_LOCATION:I
-Landroid/content/pm/PackageParser;->PARSE_DEFAULT_TARGET_SANDBOX:I
-Landroid/content/pm/PackageParser;->PARSE_ENFORCE_CODE:I
-Landroid/content/pm/PackageParser;->PARSE_EXTERNAL_STORAGE:I
-Landroid/content/pm/PackageParser;->PARSE_FORCE_SDK:I
-Landroid/content/pm/PackageParser;->PARSE_FORWARD_LOCK:I
-Landroid/content/pm/PackageParser;->PARSE_IGNORE_PROCESSES:I
-Landroid/content/pm/PackageParser;->PARSE_IS_SYSTEM_DIR:I
-Landroid/content/pm/PackageParser;->PARSE_MUST_BE_APK:I
-Landroid/content/pm/PackageParser;->PROPERTY_CHILD_PACKAGES_ENABLED:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->RECREATE_ON_CONFIG_CHANGES_MASK:I
-Landroid/content/pm/PackageParser;->RIGID_PARSER:Z
-Landroid/content/pm/PackageParser;->SAFE_BROADCASTS:Ljava/util/Set;
-Landroid/content/pm/PackageParser;->sCachedPackageReadCount:Ljava/util/concurrent/atomic/AtomicInteger;
-Landroid/content/pm/PackageParser;->sCompatibilityModeEnabled:Z
-Landroid/content/pm/PackageParser;->SDK_CODENAMES:[Ljava/lang/String;
-Landroid/content/pm/PackageParser;->SDK_VERSION:I
-Landroid/content/pm/PackageParser;->setActivityResizeMode(Landroid/content/pm/ActivityInfo;Landroid/content/res/TypedArray;Landroid/content/pm/PackageParser$Package;)V
-Landroid/content/pm/PackageParser;->setCacheDir(Ljava/io/File;)V
-Landroid/content/pm/PackageParser;->setCallback(Landroid/content/pm/PackageParser$Callback;)V
-Landroid/content/pm/PackageParser;->setDisplayMetrics(Landroid/util/DisplayMetrics;)V
-Landroid/content/pm/PackageParser;->setMaxAspectRatio(Landroid/content/pm/PackageParser$Package;)V
-Landroid/content/pm/PackageParser;->setOnlyCoreApps(Z)V
-Landroid/content/pm/PackageParser;->SPLIT_PERMISSIONS:[Landroid/content/pm/PackageParser$SplitPermissionInfo;
-Landroid/content/pm/PackageParser;->sSplitNameComparator:Ljava/util/Comparator;
-Landroid/content/pm/PackageParser;->TAG:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_ADOPT_PERMISSIONS:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_APPLICATION:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_COMPATIBLE_SCREENS:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_EAT_COMMENT:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_FEATURE_GROUP:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_INSTRUMENTATION:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_KEY_SETS:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_MANIFEST:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_ORIGINAL_PACKAGE:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_OVERLAY:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_PACKAGE:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_PACKAGE_VERIFIER:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_PERMISSION:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_PERMISSION_GROUP:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_PERMISSION_TREE:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_PROTECTED_BROADCAST:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_RESTRICT_UPDATE:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_SUPPORTS_INPUT:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_SUPPORT_SCREENS:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_USES_CONFIGURATION:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_USES_FEATURE:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_USES_GL_TEXTURE:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_USES_PERMISSION:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_USES_PERMISSION_SDK_23:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_USES_PERMISSION_SDK_M:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_USES_SDK:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->TAG_USES_SPLIT:Ljava/lang/String;
-Landroid/content/pm/PackageParser;->toCacheEntry(Landroid/content/pm/PackageParser$Package;)[B
-Landroid/content/pm/PackageParser;->toCacheEntryStatic(Landroid/content/pm/PackageParser$Package;)[B
-Landroid/content/pm/PackageParser;->toSigningKeys([Landroid/content/pm/Signature;)Landroid/util/ArraySet;
-Landroid/content/pm/PackageParser;->updateApplicationInfo(Landroid/content/pm/ApplicationInfo;ILandroid/content/pm/PackageUserState;)V
-Landroid/content/pm/PackageParser;->validateName(Ljava/lang/String;ZZ)Ljava/lang/String;
-Landroid/content/pm/PackageParserCacheHelper$ReadHelper;
-Landroid/content/pm/PackageParserCacheHelper$ReadHelper;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PackageParserCacheHelper$ReadHelper;->mParcel:Landroid/os/Parcel;
-Landroid/content/pm/PackageParserCacheHelper$ReadHelper;->mStrings:Ljava/util/ArrayList;
-Landroid/content/pm/PackageParserCacheHelper$ReadHelper;->readString(Landroid/os/Parcel;)Ljava/lang/String;
-Landroid/content/pm/PackageParserCacheHelper$ReadHelper;->startAndInstall()V
-Landroid/content/pm/PackageParserCacheHelper$WriteHelper;
-Landroid/content/pm/PackageParserCacheHelper$WriteHelper;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PackageParserCacheHelper$WriteHelper;->finishAndUninstall()V
-Landroid/content/pm/PackageParserCacheHelper$WriteHelper;->mIndexes:Ljava/util/HashMap;
-Landroid/content/pm/PackageParserCacheHelper$WriteHelper;->mParcel:Landroid/os/Parcel;
-Landroid/content/pm/PackageParserCacheHelper$WriteHelper;->mStartPos:I
-Landroid/content/pm/PackageParserCacheHelper$WriteHelper;->mStrings:Ljava/util/ArrayList;
-Landroid/content/pm/PackageParserCacheHelper$WriteHelper;->writeString(Landroid/os/Parcel;Ljava/lang/String;)V
-Landroid/content/pm/PackageParserCacheHelper;
-Landroid/content/pm/PackageParserCacheHelper;-><init>()V
-Landroid/content/pm/PackageParserCacheHelper;->DEBUG:Z
-Landroid/content/pm/PackageParserCacheHelper;->TAG:Ljava/lang/String;
-Landroid/content/pm/PackageSharedLibraryUpdater;
-Landroid/content/pm/PackageSharedLibraryUpdater;-><init>()V
-Landroid/content/pm/PackageSharedLibraryUpdater;->apkTargetsApiLevelLessThanOrEqualToOMR1(Landroid/content/pm/PackageParser$Package;)Z
-Landroid/content/pm/PackageSharedLibraryUpdater;->isLibraryPresent(Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/lang/String;)Z
-Landroid/content/pm/PackageSharedLibraryUpdater;->prefix(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList;
-Landroid/content/pm/PackageSharedLibraryUpdater;->prefixImplicitDependency(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/content/pm/PackageSharedLibraryUpdater;->prefixRequiredLibrary(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)V
-Landroid/content/pm/PackageSharedLibraryUpdater;->removeLibrary(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)V
-Landroid/content/pm/PackageSharedLibraryUpdater;->updatePackage(Landroid/content/pm/PackageParser$Package;)V
-Landroid/content/pm/PackageStats;-><init>(Ljava/lang/String;I)V
-Landroid/content/pm/PackageUserState;
-Landroid/content/pm/PackageUserState;-><init>(Landroid/content/pm/PackageUserState;)V
-Landroid/content/pm/PackageUserState;->appLinkGeneration:I
-Landroid/content/pm/PackageUserState;->categoryHint:I
-Landroid/content/pm/PackageUserState;->ceDataInode:J
-Landroid/content/pm/PackageUserState;->dialogMessage:Ljava/lang/String;
-Landroid/content/pm/PackageUserState;->disabledComponents:Landroid/util/ArraySet;
-Landroid/content/pm/PackageUserState;->domainVerificationStatus:I
-Landroid/content/pm/PackageUserState;->enabled:I
-Landroid/content/pm/PackageUserState;->enabledComponents:Landroid/util/ArraySet;
-Landroid/content/pm/PackageUserState;->harmfulAppWarning:Ljava/lang/String;
-Landroid/content/pm/PackageUserState;->hidden:Z
-Landroid/content/pm/PackageUserState;->installed:Z
-Landroid/content/pm/PackageUserState;->installReason:I
-Landroid/content/pm/PackageUserState;->instantApp:Z
-Landroid/content/pm/PackageUserState;->isAvailable(I)Z
-Landroid/content/pm/PackageUserState;->isEnabled(Landroid/content/pm/ComponentInfo;I)Z
-Landroid/content/pm/PackageUserState;->isMatch(Landroid/content/pm/ComponentInfo;I)Z
-Landroid/content/pm/PackageUserState;->lastDisableAppCaller:Ljava/lang/String;
-Landroid/content/pm/PackageUserState;->notLaunched:Z
-Landroid/content/pm/PackageUserState;->overlayPaths:[Ljava/lang/String;
-Landroid/content/pm/PackageUserState;->stopped:Z
-Landroid/content/pm/PackageUserState;->suspended:Z
-Landroid/content/pm/PackageUserState;->suspendedAppExtras:Landroid/os/PersistableBundle;
-Landroid/content/pm/PackageUserState;->suspendedLauncherExtras:Landroid/os/PersistableBundle;
-Landroid/content/pm/PackageUserState;->suspendingPackage:Ljava/lang/String;
-Landroid/content/pm/PackageUserState;->virtualPreload:Z
-Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/ParceledListSlice;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V
-Landroid/content/pm/ParceledListSlice;->emptyList()Landroid/content/pm/ParceledListSlice;
-Landroid/content/pm/ParceledListSlice;->readParcelableCreator(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Landroid/os/Parcelable$Creator;
-Landroid/content/pm/ParceledListSlice;->writeElement(Landroid/os/Parcelable;Landroid/os/Parcel;I)V
-Landroid/content/pm/PathPermission;->mReadPermission:Ljava/lang/String;
-Landroid/content/pm/PathPermission;->mWritePermission:Ljava/lang/String;
-Landroid/content/pm/permission/IRuntimePermissionPresenter$Stub$Proxy;
-Landroid/content/pm/permission/IRuntimePermissionPresenter$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/content/pm/permission/IRuntimePermissionPresenter$Stub$Proxy;->getAppPermissions(Ljava/lang/String;Landroid/os/RemoteCallback;)V
-Landroid/content/pm/permission/IRuntimePermissionPresenter$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/content/pm/permission/IRuntimePermissionPresenter$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/content/pm/permission/IRuntimePermissionPresenter$Stub$Proxy;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/content/pm/permission/IRuntimePermissionPresenter$Stub;
-Landroid/content/pm/permission/IRuntimePermissionPresenter$Stub;-><init>()V
-Landroid/content/pm/permission/IRuntimePermissionPresenter$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/permission/IRuntimePermissionPresenter;
-Landroid/content/pm/permission/IRuntimePermissionPresenter$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/content/pm/permission/IRuntimePermissionPresenter$Stub;->TRANSACTION_getAppPermissions:I
-Landroid/content/pm/permission/IRuntimePermissionPresenter$Stub;->TRANSACTION_revokeRuntimePermission:I
-Landroid/content/pm/permission/IRuntimePermissionPresenter;
-Landroid/content/pm/permission/IRuntimePermissionPresenter;->getAppPermissions(Ljava/lang/String;Landroid/os/RemoteCallback;)V
-Landroid/content/pm/permission/IRuntimePermissionPresenter;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/content/pm/permission/RuntimePermissionPresentationInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/permission/RuntimePermissionPresentationInfo;->FLAG_GRANTED:I
-Landroid/content/pm/permission/RuntimePermissionPresentationInfo;->FLAG_STANDARD:I
-Landroid/content/pm/permission/RuntimePermissionPresentationInfo;->mFlags:I
-Landroid/content/pm/permission/RuntimePermissionPresentationInfo;->mLabel:Ljava/lang/CharSequence;
-Landroid/content/pm/permission/RuntimePermissionPresenter$OnResultCallback;
-Landroid/content/pm/permission/RuntimePermissionPresenter$OnResultCallback;-><init>()V
-Landroid/content/pm/permission/RuntimePermissionPresenter$OnResultCallback;->onGetAppPermissions(Ljava/util/List;)V
-Landroid/content/pm/permission/RuntimePermissionPresenter$RemoteService;
-Landroid/content/pm/permission/RuntimePermissionPresenter$RemoteService;-><init>(Landroid/content/Context;)V
-Landroid/content/pm/permission/RuntimePermissionPresenter$RemoteService;->mBound:Z
-Landroid/content/pm/permission/RuntimePermissionPresenter$RemoteService;->mContext:Landroid/content/Context;
-Landroid/content/pm/permission/RuntimePermissionPresenter$RemoteService;->mLock:Ljava/lang/Object;
-Landroid/content/pm/permission/RuntimePermissionPresenter$RemoteService;->mPendingWork:Ljava/util/List;
-Landroid/content/pm/permission/RuntimePermissionPresenter$RemoteService;->mRemoteInstance:Landroid/content/pm/permission/IRuntimePermissionPresenter;
-Landroid/content/pm/permission/RuntimePermissionPresenter$RemoteService;->MSG_GET_APPS_USING_PERMISSIONS:I
-Landroid/content/pm/permission/RuntimePermissionPresenter$RemoteService;->MSG_GET_APP_PERMISSIONS:I
-Landroid/content/pm/permission/RuntimePermissionPresenter$RemoteService;->MSG_REVOKE_APP_PERMISSIONS:I
-Landroid/content/pm/permission/RuntimePermissionPresenter$RemoteService;->MSG_UNBIND:I
-Landroid/content/pm/permission/RuntimePermissionPresenter$RemoteService;->processMessage(Landroid/os/Message;)V
-Landroid/content/pm/permission/RuntimePermissionPresenter$RemoteService;->scheduleNextMessageIfNeededLocked()V
-Landroid/content/pm/permission/RuntimePermissionPresenter$RemoteService;->scheduleUnbind()V
-Landroid/content/pm/permission/RuntimePermissionPresenter$RemoteService;->UNBIND_TIMEOUT_MILLIS:J
-Landroid/content/pm/permission/RuntimePermissionPresenter;
-Landroid/content/pm/permission/RuntimePermissionPresenter;-><init>(Landroid/content/Context;)V
-Landroid/content/pm/permission/RuntimePermissionPresenter;->getAppPermissions(Ljava/lang/String;Landroid/content/pm/permission/RuntimePermissionPresenter$OnResultCallback;Landroid/os/Handler;)V
-Landroid/content/pm/permission/RuntimePermissionPresenter;->getInstance(Landroid/content/Context;)Landroid/content/pm/permission/RuntimePermissionPresenter;
-Landroid/content/pm/permission/RuntimePermissionPresenter;->KEY_RESULT:Ljava/lang/String;
-Landroid/content/pm/permission/RuntimePermissionPresenter;->mRemoteService:Landroid/content/pm/permission/RuntimePermissionPresenter$RemoteService;
-Landroid/content/pm/permission/RuntimePermissionPresenter;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/content/pm/permission/RuntimePermissionPresenter;->sInstance:Landroid/content/pm/permission/RuntimePermissionPresenter;
-Landroid/content/pm/permission/RuntimePermissionPresenter;->sLock:Ljava/lang/Object;
-Landroid/content/pm/permission/RuntimePermissionPresenter;->TAG:Ljava/lang/String;
-Landroid/content/pm/PermissionGroupInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PermissionInfo$Protection;
-Landroid/content/pm/PermissionInfo$ProtectionFlags;
-Landroid/content/pm/PermissionInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/PermissionInfo;->calculateFootprint()I
-Landroid/content/pm/PermissionInfo;->fixProtectionLevel(I)I
-Landroid/content/pm/PermissionInfo;->isAppOp()Z
-Landroid/content/pm/ProviderInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/ProviderInfo;->dump(Landroid/util/Printer;Ljava/lang/String;I)V
-Landroid/content/pm/ProviderInfo;->FLAG_VISIBLE_TO_INSTANT_APP:I
-Landroid/content/pm/RegisteredServicesCache$ServiceInfo;
-Landroid/content/pm/RegisteredServicesCache$ServiceInfo;-><init>(Ljava/lang/Object;Landroid/content/pm/ComponentInfo;Landroid/content/ComponentName;)V
-Landroid/content/pm/RegisteredServicesCache$ServiceInfo;->componentInfo:Landroid/content/pm/ComponentInfo;
-Landroid/content/pm/RegisteredServicesCache$UserServices;
-Landroid/content/pm/RegisteredServicesCache$UserServices;-><init>()V
-Landroid/content/pm/RegisteredServicesCache$UserServices;->mBindInstantServiceAllowed:Z
-Landroid/content/pm/RegisteredServicesCache$UserServices;->mPersistentServicesFileDidNotExist:Z
-Landroid/content/pm/RegisteredServicesCache$UserServices;->persistentServices:Ljava/util/Map;
-Landroid/content/pm/RegisteredServicesCache$UserServices;->services:Ljava/util/Map;
-Landroid/content/pm/RegisteredServicesCache;
-Landroid/content/pm/RegisteredServicesCache;->containsType(Ljava/util/ArrayList;Ljava/lang/Object;)Z
-Landroid/content/pm/RegisteredServicesCache;->containsTypeAndUid(Ljava/util/ArrayList;Ljava/lang/Object;I)Z
-Landroid/content/pm/RegisteredServicesCache;->containsUid([II)Z
-Landroid/content/pm/RegisteredServicesCache;->createFileForUser(I)Landroid/util/AtomicFile;
-Landroid/content/pm/RegisteredServicesCache;->DEBUG:Z
-Landroid/content/pm/RegisteredServicesCache;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;I)V
-Landroid/content/pm/RegisteredServicesCache;->findOrCreateUserLocked(I)Landroid/content/pm/RegisteredServicesCache$UserServices;
-Landroid/content/pm/RegisteredServicesCache;->findOrCreateUserLocked(IZ)Landroid/content/pm/RegisteredServicesCache$UserServices;
-Landroid/content/pm/RegisteredServicesCache;->generateServicesMap([II)V
-Landroid/content/pm/RegisteredServicesCache;->getAllServices(I)Ljava/util/Collection;
-Landroid/content/pm/RegisteredServicesCache;->getBindInstantServiceAllowed(I)Z
-Landroid/content/pm/RegisteredServicesCache;->getDataDirectory()Ljava/io/File;
-Landroid/content/pm/RegisteredServicesCache;->getListener()Landroid/content/pm/RegisteredServicesCacheListener;
-Landroid/content/pm/RegisteredServicesCache;->getPersistentServices(I)Ljava/util/Map;
-Landroid/content/pm/RegisteredServicesCache;->getServiceInfo(Ljava/lang/Object;I)Landroid/content/pm/RegisteredServicesCache$ServiceInfo;
-Landroid/content/pm/RegisteredServicesCache;->getUser(I)Landroid/content/pm/UserInfo;
-Landroid/content/pm/RegisteredServicesCache;->getUsers()Ljava/util/List;
-Landroid/content/pm/RegisteredServicesCache;->getUserSystemDirectory(I)Ljava/io/File;
-Landroid/content/pm/RegisteredServicesCache;->handlePackageEvent(Landroid/content/Intent;I)V
-Landroid/content/pm/RegisteredServicesCache;->inSystemImage(I)Z
-Landroid/content/pm/RegisteredServicesCache;->invalidateCache(I)V
-Landroid/content/pm/RegisteredServicesCache;->mAttributesName:Ljava/lang/String;
-Landroid/content/pm/RegisteredServicesCache;->mContext:Landroid/content/Context;
-Landroid/content/pm/RegisteredServicesCache;->mExternalReceiver:Landroid/content/BroadcastReceiver;
-Landroid/content/pm/RegisteredServicesCache;->mHandler:Landroid/os/Handler;
-Landroid/content/pm/RegisteredServicesCache;->migrateIfNecessaryLocked()V
-Landroid/content/pm/RegisteredServicesCache;->mInterfaceName:Ljava/lang/String;
-Landroid/content/pm/RegisteredServicesCache;->mListener:Landroid/content/pm/RegisteredServicesCacheListener;
-Landroid/content/pm/RegisteredServicesCache;->mMetaDataName:Ljava/lang/String;
-Landroid/content/pm/RegisteredServicesCache;->mPackageReceiver:Landroid/content/BroadcastReceiver;
-Landroid/content/pm/RegisteredServicesCache;->mSerializerAndParser:Landroid/content/pm/XmlSerializerAndParser;
-Landroid/content/pm/RegisteredServicesCache;->mServicesLock:Ljava/lang/Object;
-Landroid/content/pm/RegisteredServicesCache;->mUserRemovedReceiver:Landroid/content/BroadcastReceiver;
-Landroid/content/pm/RegisteredServicesCache;->mUserServices:Landroid/util/SparseArray;
-Landroid/content/pm/RegisteredServicesCache;->notifyListener(Ljava/lang/Object;IZ)V
-Landroid/content/pm/RegisteredServicesCache;->onServicesChangedLocked(I)V
-Landroid/content/pm/RegisteredServicesCache;->onUserRemoved(I)V
-Landroid/content/pm/RegisteredServicesCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
-Landroid/content/pm/RegisteredServicesCache;->parseServiceInfo(Landroid/content/pm/ResolveInfo;)Landroid/content/pm/RegisteredServicesCache$ServiceInfo;
-Landroid/content/pm/RegisteredServicesCache;->queryIntentServices(I)Ljava/util/List;
-Landroid/content/pm/RegisteredServicesCache;->readPersistentServicesLocked(Ljava/io/InputStream;)V
-Landroid/content/pm/RegisteredServicesCache;->REGISTERED_SERVICES_DIR:Ljava/lang/String;
-Landroid/content/pm/RegisteredServicesCache;->setBindInstantServiceAllowed(IZ)V
-Landroid/content/pm/RegisteredServicesCache;->setListener(Landroid/content/pm/RegisteredServicesCacheListener;Landroid/os/Handler;)V
-Landroid/content/pm/RegisteredServicesCache;->TAG:Ljava/lang/String;
-Landroid/content/pm/RegisteredServicesCache;->updateServices(I)V
-Landroid/content/pm/RegisteredServicesCache;->writePersistentServicesLocked(Landroid/content/pm/RegisteredServicesCache$UserServices;I)V
-Landroid/content/pm/RegisteredServicesCacheListener;
-Landroid/content/pm/RegisteredServicesCacheListener;->onServiceChanged(Ljava/lang/Object;IZ)V
-Landroid/content/pm/ResolveInfo$DisplayNameComparator;->mCollator:Ljava/text/Collator;
-Landroid/content/pm/ResolveInfo$DisplayNameComparator;->mPM:Landroid/content/pm/PackageManager;
-Landroid/content/pm/ResolveInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/ResolveInfo;->auxiliaryInfo:Landroid/content/pm/AuxiliaryResolveInfo;
-Landroid/content/pm/ResolveInfo;->dump(Landroid/util/Printer;Ljava/lang/String;I)V
-Landroid/content/pm/ResolveInfo;->getIconResourceInternal()I
-Landroid/content/pm/ResolveInfo;->iconResourceId:I
-Landroid/content/pm/ResolveInfo;->noResourceId:Z
-Landroid/content/pm/ResolveInfo;->resolveIconResId()I
-Landroid/content/pm/ResolveInfo;->resolveLabelResId()I
-Landroid/content/pm/ResolveInfo;->TAG:Ljava/lang/String;
-Landroid/content/pm/SELinuxUtil;
-Landroid/content/pm/SELinuxUtil;-><init>()V
-Landroid/content/pm/SELinuxUtil;->assignSeinfoUser(Landroid/content/pm/PackageUserState;)Ljava/lang/String;
-Landroid/content/pm/SELinuxUtil;->COMPLETE_STR:Ljava/lang/String;
-Landroid/content/pm/SELinuxUtil;->INSTANT_APP_STR:Ljava/lang/String;
-Landroid/content/pm/ServiceInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/ServiceInfo;->dump(Landroid/util/Printer;Ljava/lang/String;I)V
-Landroid/content/pm/ServiceInfo;->FLAG_VISIBLE_TO_INSTANT_APP:I
-Landroid/content/pm/SharedLibraryInfo$Type;
-Landroid/content/pm/SharedLibraryInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/SharedLibraryInfo;-><init>(Ljava/lang/String;JILandroid/content/pm/VersionedPackage;Ljava/util/List;)V
-Landroid/content/pm/SharedLibraryInfo;->mDeclaringPackage:Landroid/content/pm/VersionedPackage;
-Landroid/content/pm/SharedLibraryInfo;->mDependentPackages:Ljava/util/List;
-Landroid/content/pm/SharedLibraryInfo;->mName:Ljava/lang/String;
-Landroid/content/pm/SharedLibraryInfo;->mType:I
-Landroid/content/pm/SharedLibraryInfo;->mVersion:J
-Landroid/content/pm/SharedLibraryInfo;->typeToString(I)Ljava/lang/String;
-Landroid/content/pm/SharedLibraryNames;
-Landroid/content/pm/SharedLibraryNames;-><init>()V
-Landroid/content/pm/SharedLibraryNames;->ANDROID_TEST_BASE:Ljava/lang/String;
-Landroid/content/pm/SharedLibraryNames;->ANDROID_TEST_MOCK:Ljava/lang/String;
-Landroid/content/pm/SharedLibraryNames;->ANDROID_TEST_RUNNER:Ljava/lang/String;
-Landroid/content/pm/SharedLibraryNames;->ORG_APACHE_HTTP_LEGACY:Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo$Builder;-><init>(Landroid/content/Context;)V
-Landroid/content/pm/ShortcutInfo$Builder;->mActivity:Landroid/content/ComponentName;
-Landroid/content/pm/ShortcutInfo$Builder;->mCategories:Ljava/util/Set;
-Landroid/content/pm/ShortcutInfo$Builder;->mContext:Landroid/content/Context;
-Landroid/content/pm/ShortcutInfo$Builder;->mDisabledMessage:Ljava/lang/CharSequence;
-Landroid/content/pm/ShortcutInfo$Builder;->mDisabledMessageResId:I
-Landroid/content/pm/ShortcutInfo$Builder;->mExtras:Landroid/os/PersistableBundle;
-Landroid/content/pm/ShortcutInfo$Builder;->mIcon:Landroid/graphics/drawable/Icon;
-Landroid/content/pm/ShortcutInfo$Builder;->mId:Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo$Builder;->mIntents:[Landroid/content/Intent;
-Landroid/content/pm/ShortcutInfo$Builder;->mRank:I
-Landroid/content/pm/ShortcutInfo$Builder;->mText:Ljava/lang/CharSequence;
-Landroid/content/pm/ShortcutInfo$Builder;->mTextResId:I
-Landroid/content/pm/ShortcutInfo$Builder;->mTitle:Ljava/lang/CharSequence;
-Landroid/content/pm/ShortcutInfo$Builder;->mTitleResId:I
-Landroid/content/pm/ShortcutInfo$Builder;->setDisabledMessageResId(I)Landroid/content/pm/ShortcutInfo$Builder;
-Landroid/content/pm/ShortcutInfo$Builder;->setId(Ljava/lang/String;)Landroid/content/pm/ShortcutInfo$Builder;
-Landroid/content/pm/ShortcutInfo$Builder;->setLongLabelResId(I)Landroid/content/pm/ShortcutInfo$Builder;
-Landroid/content/pm/ShortcutInfo$Builder;->setShortLabelResId(I)Landroid/content/pm/ShortcutInfo$Builder;
-Landroid/content/pm/ShortcutInfo$Builder;->setText(Ljava/lang/CharSequence;)Landroid/content/pm/ShortcutInfo$Builder;
-Landroid/content/pm/ShortcutInfo$Builder;->setTextResId(I)Landroid/content/pm/ShortcutInfo$Builder;
-Landroid/content/pm/ShortcutInfo$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/content/pm/ShortcutInfo$Builder;
-Landroid/content/pm/ShortcutInfo$Builder;->setTitleResId(I)Landroid/content/pm/ShortcutInfo$Builder;
-Landroid/content/pm/ShortcutInfo$CloneFlags;
-Landroid/content/pm/ShortcutInfo$DisabledReason;
-Landroid/content/pm/ShortcutInfo$ShortcutFlags;
-Landroid/content/pm/ShortcutInfo;-><init>(ILjava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;ILjava/lang/String;Ljava/lang/CharSequence;ILjava/lang/String;Ljava/lang/CharSequence;ILjava/lang/String;Ljava/util/Set;[Landroid/content/Intent;ILandroid/os/PersistableBundle;JIILjava/lang/String;Ljava/lang/String;I)V
-Landroid/content/pm/ShortcutInfo;-><init>(Landroid/content/pm/ShortcutInfo$Builder;)V
-Landroid/content/pm/ShortcutInfo;-><init>(Landroid/content/pm/ShortcutInfo;I)V
-Landroid/content/pm/ShortcutInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/ShortcutInfo;->addFlags(I)V
-Landroid/content/pm/ShortcutInfo;->addIndentOrComma(Ljava/lang/StringBuilder;Ljava/lang/String;)V
-Landroid/content/pm/ShortcutInfo;->ANDROID_PACKAGE_NAME:Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->clearFlags(I)V
-Landroid/content/pm/ShortcutInfo;->clearIcon()V
-Landroid/content/pm/ShortcutInfo;->clearIconPendingSave()V
-Landroid/content/pm/ShortcutInfo;->clearImplicitRankAndRankChangedFlag()V
-Landroid/content/pm/ShortcutInfo;->clone(I)Landroid/content/pm/ShortcutInfo;
-Landroid/content/pm/ShortcutInfo;->cloneCategories(Ljava/util/Set;)Landroid/util/ArraySet;
-Landroid/content/pm/ShortcutInfo;->cloneIntents([Landroid/content/Intent;)[Landroid/content/Intent;
-Landroid/content/pm/ShortcutInfo;->clonePersistableBundle([Landroid/os/PersistableBundle;)[Landroid/os/PersistableBundle;
-Landroid/content/pm/ShortcutInfo;->CLONE_REMOVE_FOR_CREATOR:I
-Landroid/content/pm/ShortcutInfo;->CLONE_REMOVE_FOR_LAUNCHER:I
-Landroid/content/pm/ShortcutInfo;->CLONE_REMOVE_FOR_LAUNCHER_APPROVAL:I
-Landroid/content/pm/ShortcutInfo;->CLONE_REMOVE_ICON:I
-Landroid/content/pm/ShortcutInfo;->CLONE_REMOVE_INTENT:I
-Landroid/content/pm/ShortcutInfo;->CLONE_REMOVE_NON_KEY_INFO:I
-Landroid/content/pm/ShortcutInfo;->CLONE_REMOVE_RES_NAMES:I
-Landroid/content/pm/ShortcutInfo;->copyNonNullFieldsFrom(Landroid/content/pm/ShortcutInfo;)V
-Landroid/content/pm/ShortcutInfo;->DISABLED_REASON_RESTORE_ISSUE_START:I
-Landroid/content/pm/ShortcutInfo;->enforceMandatoryFields(Z)V
-Landroid/content/pm/ShortcutInfo;->ensureUpdatableWith(Landroid/content/pm/ShortcutInfo;Z)V
-Landroid/content/pm/ShortcutInfo;->fixUpIntentExtras()V
-Landroid/content/pm/ShortcutInfo;->FLAG_ADAPTIVE_BITMAP:I
-Landroid/content/pm/ShortcutInfo;->FLAG_DISABLED:I
-Landroid/content/pm/ShortcutInfo;->FLAG_DYNAMIC:I
-Landroid/content/pm/ShortcutInfo;->FLAG_HAS_ICON_FILE:I
-Landroid/content/pm/ShortcutInfo;->FLAG_HAS_ICON_RES:I
-Landroid/content/pm/ShortcutInfo;->FLAG_ICON_FILE_PENDING_SAVE:I
-Landroid/content/pm/ShortcutInfo;->FLAG_IMMUTABLE:I
-Landroid/content/pm/ShortcutInfo;->FLAG_KEY_FIELDS_ONLY:I
-Landroid/content/pm/ShortcutInfo;->FLAG_MANIFEST:I
-Landroid/content/pm/ShortcutInfo;->FLAG_PINNED:I
-Landroid/content/pm/ShortcutInfo;->FLAG_RETURNED_BY_SERVICE:I
-Landroid/content/pm/ShortcutInfo;->FLAG_SHADOW:I
-Landroid/content/pm/ShortcutInfo;->FLAG_STRINGS_RESOLVED:I
-Landroid/content/pm/ShortcutInfo;->getBitmapPath()Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->getDisabledMessageResName()Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->getDisabledMessageResourceId()I
-Landroid/content/pm/ShortcutInfo;->getDisabledReasonDebugString(I)Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->getDisabledReasonForRestoreIssue(Landroid/content/Context;I)Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->getFlags()I
-Landroid/content/pm/ShortcutInfo;->getIconResName()Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->getIconResourceId()I
-Landroid/content/pm/ShortcutInfo;->getImplicitRank()I
-Landroid/content/pm/ShortcutInfo;->getIntentPersistableExtrases()[Landroid/os/PersistableBundle;
-Landroid/content/pm/ShortcutInfo;->getIntentsNoExtras()[Landroid/content/Intent;
-Landroid/content/pm/ShortcutInfo;->getInvalidIconException()Ljava/lang/IllegalArgumentException;
-Landroid/content/pm/ShortcutInfo;->getLongLabelResourceId()I
-Landroid/content/pm/ShortcutInfo;->getResourceEntryName(Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->getResourcePackageName(Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->getResourceString(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;
-Landroid/content/pm/ShortcutInfo;->getResourceTypeAndEntryName(Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->getResourceTypeName(Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->getShortLabelResourceId()I
-Landroid/content/pm/ShortcutInfo;->getText()Ljava/lang/CharSequence;
-Landroid/content/pm/ShortcutInfo;->getTextResId()I
-Landroid/content/pm/ShortcutInfo;->getTextResName()Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->getTitle()Ljava/lang/CharSequence;
-Landroid/content/pm/ShortcutInfo;->getTitleResId()I
-Landroid/content/pm/ShortcutInfo;->getTitleResName()Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->getUserId()I
-Landroid/content/pm/ShortcutInfo;->hasAdaptiveBitmap()Z
-Landroid/content/pm/ShortcutInfo;->hasAnyResources()Z
-Landroid/content/pm/ShortcutInfo;->hasFlags(I)Z
-Landroid/content/pm/ShortcutInfo;->hasIconFile()Z
-Landroid/content/pm/ShortcutInfo;->hasIconResource()Z
-Landroid/content/pm/ShortcutInfo;->hasRank()Z
-Landroid/content/pm/ShortcutInfo;->hasStringResources()Z
-Landroid/content/pm/ShortcutInfo;->hasStringResourcesResolved()Z
-Landroid/content/pm/ShortcutInfo;->IMPLICIT_RANK_MASK:I
-Landroid/content/pm/ShortcutInfo;->isAlive()Z
-Landroid/content/pm/ShortcutInfo;->isDisabledForRestoreIssue(I)Z
-Landroid/content/pm/ShortcutInfo;->isDynamicVisible()Z
-Landroid/content/pm/ShortcutInfo;->isFloating()Z
-Landroid/content/pm/ShortcutInfo;->isIconPendingSave()Z
-Landroid/content/pm/ShortcutInfo;->isManifestShortcut()Z
-Landroid/content/pm/ShortcutInfo;->isManifestVisible()Z
-Landroid/content/pm/ShortcutInfo;->isOriginallyFromManifest()Z
-Landroid/content/pm/ShortcutInfo;->isPinnedVisible()Z
-Landroid/content/pm/ShortcutInfo;->isRankChanged()Z
-Landroid/content/pm/ShortcutInfo;->isReturnedByServer()Z
-Landroid/content/pm/ShortcutInfo;->lookupAndFillInResourceIds(Landroid/content/res/Resources;)V
-Landroid/content/pm/ShortcutInfo;->lookupAndFillInResourceNames(Landroid/content/res/Resources;)V
-Landroid/content/pm/ShortcutInfo;->lookUpResourceId(Landroid/content/res/Resources;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-Landroid/content/pm/ShortcutInfo;->lookUpResourceName(Landroid/content/res/Resources;IZLjava/lang/String;)Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->mActivity:Landroid/content/ComponentName;
-Landroid/content/pm/ShortcutInfo;->mBitmapPath:Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->mCategories:Landroid/util/ArraySet;
-Landroid/content/pm/ShortcutInfo;->mDisabledMessage:Ljava/lang/CharSequence;
-Landroid/content/pm/ShortcutInfo;->mDisabledMessageResId:I
-Landroid/content/pm/ShortcutInfo;->mDisabledMessageResName:Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->mDisabledReason:I
-Landroid/content/pm/ShortcutInfo;->mExtras:Landroid/os/PersistableBundle;
-Landroid/content/pm/ShortcutInfo;->mFlags:I
-Landroid/content/pm/ShortcutInfo;->mIcon:Landroid/graphics/drawable/Icon;
-Landroid/content/pm/ShortcutInfo;->mIconResId:I
-Landroid/content/pm/ShortcutInfo;->mIconResName:Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->mId:Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->mImplicitRank:I
-Landroid/content/pm/ShortcutInfo;->mIntentPersistableExtrases:[Landroid/os/PersistableBundle;
-Landroid/content/pm/ShortcutInfo;->mIntents:[Landroid/content/Intent;
-Landroid/content/pm/ShortcutInfo;->mLastChangedTimestamp:J
-Landroid/content/pm/ShortcutInfo;->mPackageName:Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->mRank:I
-Landroid/content/pm/ShortcutInfo;->mText:Ljava/lang/CharSequence;
-Landroid/content/pm/ShortcutInfo;->mTextResId:I
-Landroid/content/pm/ShortcutInfo;->mTextResName:Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->mTitle:Ljava/lang/CharSequence;
-Landroid/content/pm/ShortcutInfo;->mTitleResId:I
-Landroid/content/pm/ShortcutInfo;->mTitleResName:Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->mUserId:I
-Landroid/content/pm/ShortcutInfo;->RANK_CHANGED_BIT:I
-Landroid/content/pm/ShortcutInfo;->RANK_NOT_SET:I
-Landroid/content/pm/ShortcutInfo;->replaceFlags(I)V
-Landroid/content/pm/ShortcutInfo;->resolveResourceStrings(Landroid/content/res/Resources;)V
-Landroid/content/pm/ShortcutInfo;->RES_TYPE_STRING:Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->setActivity(Landroid/content/ComponentName;)V
-Landroid/content/pm/ShortcutInfo;->setBitmapPath(Ljava/lang/String;)V
-Landroid/content/pm/ShortcutInfo;->setCategories(Ljava/util/Set;)V
-Landroid/content/pm/ShortcutInfo;->setDisabledMessage(Ljava/lang/String;)V
-Landroid/content/pm/ShortcutInfo;->setDisabledMessageResId(I)V
-Landroid/content/pm/ShortcutInfo;->setDisabledMessageResName(Ljava/lang/String;)V
-Landroid/content/pm/ShortcutInfo;->setDisabledReason(I)V
-Landroid/content/pm/ShortcutInfo;->setIconPendingSave()V
-Landroid/content/pm/ShortcutInfo;->setIconResName(Ljava/lang/String;)V
-Landroid/content/pm/ShortcutInfo;->setIconResourceId(I)V
-Landroid/content/pm/ShortcutInfo;->setImplicitRank(I)V
-Landroid/content/pm/ShortcutInfo;->setIntentExtras(Landroid/content/Intent;Landroid/os/PersistableBundle;)Landroid/content/Intent;
-Landroid/content/pm/ShortcutInfo;->setIntents([Landroid/content/Intent;)V
-Landroid/content/pm/ShortcutInfo;->setRank(I)V
-Landroid/content/pm/ShortcutInfo;->setRankChanged()V
-Landroid/content/pm/ShortcutInfo;->setReturnedByServer()V
-Landroid/content/pm/ShortcutInfo;->setTextResName(Ljava/lang/String;)V
-Landroid/content/pm/ShortcutInfo;->setTimestamp(J)V
-Landroid/content/pm/ShortcutInfo;->setTitleResName(Ljava/lang/String;)V
-Landroid/content/pm/ShortcutInfo;->TAG:Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->toDumpString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->toInsecureString()Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->toStringInner(ZZLjava/lang/String;)Ljava/lang/String;
-Landroid/content/pm/ShortcutInfo;->updateTimestamp()V
-Landroid/content/pm/ShortcutInfo;->usesQuota()Z
-Landroid/content/pm/ShortcutInfo;->validateIcon(Landroid/graphics/drawable/Icon;)Landroid/graphics/drawable/Icon;
-Landroid/content/pm/ShortcutInfo;->VERSION_CODE_UNKNOWN:I
-Landroid/content/pm/ShortcutManager;-><init>(Landroid/content/Context;Landroid/content/pm/IShortcutService;)V
-Landroid/content/pm/ShortcutManager;->disableShortcuts(Ljava/util/List;I)V
-Landroid/content/pm/ShortcutManager;->disableShortcuts(Ljava/util/List;Ljava/lang/String;)V
-Landroid/content/pm/ShortcutManager;->getMaxShortcutCountForActivity()I
-Landroid/content/pm/ShortcutManager;->getRateLimitResetTime()J
-Landroid/content/pm/ShortcutManager;->getRemainingCallCount()I
-Landroid/content/pm/ShortcutManager;->injectMyUserId()I
-Landroid/content/pm/ShortcutManager;->mContext:Landroid/content/Context;
-Landroid/content/pm/ShortcutManager;->onApplicationActive(Ljava/lang/String;I)V
-Landroid/content/pm/ShortcutManager;->TAG:Ljava/lang/String;
-Landroid/content/pm/ShortcutServiceInternal$ShortcutChangeListener;
-Landroid/content/pm/ShortcutServiceInternal$ShortcutChangeListener;->onShortcutChanged(Ljava/lang/String;I)V
-Landroid/content/pm/ShortcutServiceInternal;
-Landroid/content/pm/ShortcutServiceInternal;-><init>()V
-Landroid/content/pm/ShortcutServiceInternal;->addListener(Landroid/content/pm/ShortcutServiceInternal$ShortcutChangeListener;)V
-Landroid/content/pm/ShortcutServiceInternal;->createShortcutIntents(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;III)[Landroid/content/Intent;
-Landroid/content/pm/ShortcutServiceInternal;->getShortcutIconFd(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Landroid/os/ParcelFileDescriptor;
-Landroid/content/pm/ShortcutServiceInternal;->getShortcutIconResId(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)I
-Landroid/content/pm/ShortcutServiceInternal;->getShortcuts(ILjava/lang/String;JLjava/lang/String;Ljava/util/List;Landroid/content/ComponentName;IIII)Ljava/util/List;
-Landroid/content/pm/ShortcutServiceInternal;->hasShortcutHostPermission(ILjava/lang/String;II)Z
-Landroid/content/pm/ShortcutServiceInternal;->isForegroundDefaultLauncher(Ljava/lang/String;I)Z
-Landroid/content/pm/ShortcutServiceInternal;->isPinnedByCaller(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Z
-Landroid/content/pm/ShortcutServiceInternal;->isRequestPinItemSupported(II)Z
-Landroid/content/pm/ShortcutServiceInternal;->pinShortcuts(ILjava/lang/String;Ljava/lang/String;Ljava/util/List;I)V
-Landroid/content/pm/ShortcutServiceInternal;->requestPinAppWidget(Ljava/lang/String;Landroid/appwidget/AppWidgetProviderInfo;Landroid/os/Bundle;Landroid/content/IntentSender;I)Z
-Landroid/content/pm/ShortcutServiceInternal;->setShortcutHostPackage(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/content/pm/Signature;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/Signature;-><init>([Ljava/security/cert/Certificate;)V
-Landroid/content/pm/Signature;->areEffectiveMatch(Landroid/content/pm/Signature;Landroid/content/pm/Signature;)Z
-Landroid/content/pm/Signature;->areEffectiveMatch([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)Z
-Landroid/content/pm/Signature;->areExactMatch([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)Z
-Landroid/content/pm/Signature;->bounce(Ljava/security/cert/CertificateFactory;Landroid/content/pm/Signature;)Landroid/content/pm/Signature;
-Landroid/content/pm/Signature;->getChainSignatures()[Landroid/content/pm/Signature;
-Landroid/content/pm/Signature;->mCertificateChain:[Ljava/security/cert/Certificate;
-Landroid/content/pm/Signature;->mHashCode:I
-Landroid/content/pm/Signature;->mHaveHashCode:Z
-Landroid/content/pm/Signature;->mSignature:[B
-Landroid/content/pm/Signature;->mStringRef:Ljava/lang/ref/SoftReference;
-Landroid/content/pm/Signature;->parseHexDigit(I)I
-Landroid/content/pm/SigningInfo;-><init>(Landroid/content/pm/PackageParser$SigningDetails;)V
-Landroid/content/pm/SigningInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/SigningInfo;->mSigningDetails:Landroid/content/pm/PackageParser$SigningDetails;
-Landroid/content/pm/StringParceledListSlice;
-Landroid/content/pm/StringParceledListSlice;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V
-Landroid/content/pm/StringParceledListSlice;-><init>(Ljava/util/List;)V
-Landroid/content/pm/StringParceledListSlice;->CREATOR:Landroid/os/Parcelable$ClassLoaderCreator;
-Landroid/content/pm/StringParceledListSlice;->emptyList()Landroid/content/pm/StringParceledListSlice;
-Landroid/content/pm/StringParceledListSlice;->readParcelableCreator(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Landroid/os/Parcelable$Creator;
-Landroid/content/pm/StringParceledListSlice;->writeElement(Ljava/lang/String;Landroid/os/Parcel;I)V
-Landroid/content/pm/StringParceledListSlice;->writeParcelableCreator(Ljava/lang/String;Landroid/os/Parcel;)V
-Landroid/content/pm/UserInfo;
-Landroid/content/pm/UserInfo;-><init>()V
-Landroid/content/pm/UserInfo;-><init>(Landroid/content/pm/UserInfo;)V
-Landroid/content/pm/UserInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/UserInfo;->canHaveProfile()Z
-Landroid/content/pm/UserInfo;->FLAG_ADMIN:I
-Landroid/content/pm/UserInfo;->FLAG_DEMO:I
-Landroid/content/pm/UserInfo;->FLAG_DISABLED:I
-Landroid/content/pm/UserInfo;->FLAG_EPHEMERAL:I
-Landroid/content/pm/UserInfo;->FLAG_GUEST:I
-Landroid/content/pm/UserInfo;->FLAG_INITIALIZED:I
-Landroid/content/pm/UserInfo;->FLAG_MANAGED_PROFILE:I
-Landroid/content/pm/UserInfo;->FLAG_MASK_USER_TYPE:I
-Landroid/content/pm/UserInfo;->FLAG_QUIET_MODE:I
-Landroid/content/pm/UserInfo;->FLAG_RESTRICTED:I
-Landroid/content/pm/UserInfo;->isDemo()Z
-Landroid/content/pm/UserInfo;->isEphemeral()Z
-Landroid/content/pm/UserInfo;->isInitialized()Z
-Landroid/content/pm/UserInfo;->isQuietModeEnabled()Z
-Landroid/content/pm/UserInfo;->isSystemOnly()Z
-Landroid/content/pm/UserInfo;->isSystemOnly(I)Z
-Landroid/content/pm/UserInfo;->lastLoggedInFingerprint:Ljava/lang/String;
-Landroid/content/pm/UserInfo;->NO_PROFILE_GROUP_ID:I
-Landroid/content/pm/UserInfo;->profileBadge:I
-Landroid/content/pm/UserInfo;->restrictedProfileParentId:I
-Landroid/content/pm/UserInfo;->supportsSwitchTo()Z
-Landroid/content/pm/UserInfo;->supportsSwitchToByUser()Z
-Landroid/content/pm/VerificationParams;
-Landroid/content/pm/VerificationParams;-><init>(Landroid/net/Uri;Landroid/net/Uri;Landroid/net/Uri;I)V
-Landroid/content/pm/VerificationParams;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/VerificationParams;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/content/pm/VerificationParams;->getInstallerUid()I
-Landroid/content/pm/VerificationParams;->getOriginatingUid()I
-Landroid/content/pm/VerificationParams;->getOriginatingURI()Landroid/net/Uri;
-Landroid/content/pm/VerificationParams;->getReferrer()Landroid/net/Uri;
-Landroid/content/pm/VerificationParams;->getVerificationURI()Landroid/net/Uri;
-Landroid/content/pm/VerificationParams;->mInstallerUid:I
-Landroid/content/pm/VerificationParams;->mOriginatingUid:I
-Landroid/content/pm/VerificationParams;->mOriginatingURI:Landroid/net/Uri;
-Landroid/content/pm/VerificationParams;->mReferrer:Landroid/net/Uri;
-Landroid/content/pm/VerificationParams;->mVerificationURI:Landroid/net/Uri;
-Landroid/content/pm/VerificationParams;->NO_UID:I
-Landroid/content/pm/VerificationParams;->setInstallerUid(I)V
-Landroid/content/pm/VerificationParams;->TO_STRING_PREFIX:Ljava/lang/String;
-Landroid/content/pm/VerifierDeviceIdentity;
-Landroid/content/pm/VerifierDeviceIdentity;-><init>(J)V
-Landroid/content/pm/VerifierDeviceIdentity;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/VerifierDeviceIdentity;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/content/pm/VerifierDeviceIdentity;->decodeBase32([B)J
-Landroid/content/pm/VerifierDeviceIdentity;->ENCODE:[C
-Landroid/content/pm/VerifierDeviceIdentity;->encodeBase32(J)Ljava/lang/String;
-Landroid/content/pm/VerifierDeviceIdentity;->generate()Landroid/content/pm/VerifierDeviceIdentity;
-Landroid/content/pm/VerifierDeviceIdentity;->generate(Ljava/util/Random;)Landroid/content/pm/VerifierDeviceIdentity;
-Landroid/content/pm/VerifierDeviceIdentity;->GROUP_SIZE:I
-Landroid/content/pm/VerifierDeviceIdentity;->LONG_SIZE:I
-Landroid/content/pm/VerifierDeviceIdentity;->mIdentity:J
-Landroid/content/pm/VerifierDeviceIdentity;->mIdentityString:Ljava/lang/String;
-Landroid/content/pm/VerifierDeviceIdentity;->parse(Ljava/lang/String;)Landroid/content/pm/VerifierDeviceIdentity;
-Landroid/content/pm/VerifierDeviceIdentity;->SEPARATOR:C
-Landroid/content/pm/VerifierInfo;
-Landroid/content/pm/VerifierInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/VerifierInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/content/pm/VerifierInfo;->packageName:Ljava/lang/String;
-Landroid/content/pm/VerifierInfo;->publicKey:Ljava/security/PublicKey;
-Landroid/content/pm/VersionedPackage$VersionCode;
-Landroid/content/pm/VersionedPackage;-><init>(Landroid/os/Parcel;)V
-Landroid/content/pm/VersionedPackage;->mPackageName:Ljava/lang/String;
-Landroid/content/pm/VersionedPackage;->mVersionCode:J
-Landroid/content/pm/XmlSerializerAndParser;
-Landroid/content/QuickViewConstants;-><init>()V
-Landroid/content/res/ApkAssets;
-Landroid/content/res/ApkAssets;-><init>(Ljava/io/FileDescriptor;Ljava/lang/String;ZZ)V
-Landroid/content/res/ApkAssets;-><init>(Ljava/lang/String;ZZZ)V
-Landroid/content/res/ApkAssets;->getStringFromPool(I)Ljava/lang/CharSequence;
-Landroid/content/res/ApkAssets;->isUpToDate()Z
-Landroid/content/res/ApkAssets;->loadFromFd(Ljava/io/FileDescriptor;Ljava/lang/String;ZZ)Landroid/content/res/ApkAssets;
-Landroid/content/res/ApkAssets;->loadFromPath(Ljava/lang/String;)Landroid/content/res/ApkAssets;
-Landroid/content/res/ApkAssets;->loadFromPath(Ljava/lang/String;Z)Landroid/content/res/ApkAssets;
-Landroid/content/res/ApkAssets;->loadFromPath(Ljava/lang/String;ZZ)Landroid/content/res/ApkAssets;
-Landroid/content/res/ApkAssets;->loadOverlayFromPath(Ljava/lang/String;Z)Landroid/content/res/ApkAssets;
-Landroid/content/res/ApkAssets;->mNativePtr:J
-Landroid/content/res/ApkAssets;->mStringBlock:Landroid/content/res/StringBlock;
-Landroid/content/res/ApkAssets;->nativeDestroy(J)V
-Landroid/content/res/ApkAssets;->nativeGetAssetPath(J)Ljava/lang/String;
-Landroid/content/res/ApkAssets;->nativeGetStringBlock(J)J
-Landroid/content/res/ApkAssets;->nativeIsUpToDate(J)Z
-Landroid/content/res/ApkAssets;->nativeLoad(Ljava/lang/String;ZZZ)J
-Landroid/content/res/ApkAssets;->nativeLoadFromFd(Ljava/io/FileDescriptor;Ljava/lang/String;ZZ)J
-Landroid/content/res/ApkAssets;->nativeOpenXml(JLjava/lang/String;)J
-Landroid/content/res/ApkAssets;->openXml(Ljava/lang/String;)Landroid/content/res/XmlResourceParser;
-Landroid/content/res/AssetFileDescriptor$AutoCloseInputStream;->mRemaining:J
-Landroid/content/res/AssetFileDescriptor$AutoCloseOutputStream;->mRemaining:J
-Landroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/Parcel;)V
-Landroid/content/res/AssetFileDescriptor;->mExtras:Landroid/os/Bundle;
-Landroid/content/res/AssetManager$AssetInputStream;-><init>(J)V
-Landroid/content/res/AssetManager$AssetInputStream;->ensureOpen()V
-Landroid/content/res/AssetManager$AssetInputStream;->mAssetNativePtr:J
-Landroid/content/res/AssetManager$AssetInputStream;->mLength:J
-Landroid/content/res/AssetManager$AssetInputStream;->mMarkPos:J
-Landroid/content/res/AssetManager$Builder;
-Landroid/content/res/AssetManager$Builder;-><init>()V
-Landroid/content/res/AssetManager$Builder;->addApkAssets(Landroid/content/res/ApkAssets;)Landroid/content/res/AssetManager$Builder;
-Landroid/content/res/AssetManager$Builder;->build()Landroid/content/res/AssetManager;
-Landroid/content/res/AssetManager$Builder;->mUserApkAssets:Ljava/util/ArrayList;
-Landroid/content/res/AssetManager;-><init>(Z)V
-Landroid/content/res/AssetManager;->addAssetPathInternal(Ljava/lang/String;ZZ)I
-Landroid/content/res/AssetManager;->applyStyleToTheme(JIZ)V
-Landroid/content/res/AssetManager;->createSystemAssetsInZygoteLocked()V
-Landroid/content/res/AssetManager;->DEBUG_REFS:Z
-Landroid/content/res/AssetManager;->decRefsLocked(J)V
-Landroid/content/res/AssetManager;->dumpTheme(JILjava/lang/String;Ljava/lang/String;)V
-Landroid/content/res/AssetManager;->ensureOpenLocked()V
-Landroid/content/res/AssetManager;->ensureValidLocked()V
-Landroid/content/res/AssetManager;->findCookieForPath(Ljava/lang/String;)I
-Landroid/content/res/AssetManager;->FRAMEWORK_APK_PATH:Ljava/lang/String;
-Landroid/content/res/AssetManager;->getAssetAllocations()Ljava/lang/String;
-Landroid/content/res/AssetManager;->getNonSystemLocales()[Ljava/lang/String;
-Landroid/content/res/AssetManager;->getPooledStringForCookie(II)Ljava/lang/CharSequence;
-Landroid/content/res/AssetManager;->getResourceArray(I[I)I
-Landroid/content/res/AssetManager;->getResourceArraySize(I)I
-Landroid/content/res/AssetManager;->getResourceIntArray(I)[I
-Landroid/content/res/AssetManager;->getResourceStringArray(I)[Ljava/lang/String;
-Landroid/content/res/AssetManager;->getResourceTextArray(I)[Ljava/lang/CharSequence;
-Landroid/content/res/AssetManager;->getSizeConfigurations()[Landroid/content/res/Configuration;
-Landroid/content/res/AssetManager;->getStyleAttributes(I)[I
-Landroid/content/res/AssetManager;->getThemeValue(JILandroid/util/TypedValue;Z)Z
-Landroid/content/res/AssetManager;->incRefsLocked(J)V
-Landroid/content/res/AssetManager;->invalidateCachesLocked(I)V
-Landroid/content/res/AssetManager;->loadStaticRuntimeOverlays(Ljava/util/ArrayList;)V
-Landroid/content/res/AssetManager;->mApkAssets:[Landroid/content/res/ApkAssets;
-Landroid/content/res/AssetManager;->mNumRefs:I
-Landroid/content/res/AssetManager;->mOffsets:[J
-Landroid/content/res/AssetManager;->mOpen:Z
-Landroid/content/res/AssetManager;->mRefStacks:Ljava/util/HashMap;
-Landroid/content/res/AssetManager;->mValue:Landroid/util/TypedValue;
-Landroid/content/res/AssetManager;->nativeApplyStyle(JJIIJ[IJJ)V
-Landroid/content/res/AssetManager;->nativeAssetDestroy(J)V
-Landroid/content/res/AssetManager;->nativeAssetGetLength(J)J
-Landroid/content/res/AssetManager;->nativeAssetGetRemainingLength(J)J
-Landroid/content/res/AssetManager;->nativeAssetRead(J[BII)I
-Landroid/content/res/AssetManager;->nativeAssetReadChar(J)I
-Landroid/content/res/AssetManager;->nativeAssetSeek(JJI)J
-Landroid/content/res/AssetManager;->nativeCreate()J
-Landroid/content/res/AssetManager;->nativeDestroy(J)V
-Landroid/content/res/AssetManager;->nativeGetAssignedPackageIdentifiers(J)Landroid/util/SparseArray;
-Landroid/content/res/AssetManager;->nativeGetLocales(JZ)[Ljava/lang/String;
-Landroid/content/res/AssetManager;->nativeGetResourceArray(JI[I)I
-Landroid/content/res/AssetManager;->nativeGetResourceArraySize(JI)I
-Landroid/content/res/AssetManager;->nativeGetResourceBagValue(JIILandroid/util/TypedValue;)I
-Landroid/content/res/AssetManager;->nativeGetResourceEntryName(JI)Ljava/lang/String;
-Landroid/content/res/AssetManager;->nativeGetResourceIdentifier(JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-Landroid/content/res/AssetManager;->nativeGetResourceIntArray(JI)[I
-Landroid/content/res/AssetManager;->nativeGetResourceName(JI)Ljava/lang/String;
-Landroid/content/res/AssetManager;->nativeGetResourcePackageName(JI)Ljava/lang/String;
-Landroid/content/res/AssetManager;->nativeGetResourceStringArray(JI)[Ljava/lang/String;
-Landroid/content/res/AssetManager;->nativeGetResourceStringArrayInfo(JI)[I
-Landroid/content/res/AssetManager;->nativeGetResourceTypeName(JI)Ljava/lang/String;
-Landroid/content/res/AssetManager;->nativeGetResourceValue(JISLandroid/util/TypedValue;Z)I
-Landroid/content/res/AssetManager;->nativeGetSizeConfigurations(J)[Landroid/content/res/Configuration;
-Landroid/content/res/AssetManager;->nativeGetStyleAttributes(JI)[I
-Landroid/content/res/AssetManager;->nativeList(JLjava/lang/String;)[Ljava/lang/String;
-Landroid/content/res/AssetManager;->nativeOpenAsset(JLjava/lang/String;I)J
-Landroid/content/res/AssetManager;->nativeOpenAssetFd(JLjava/lang/String;[J)Landroid/os/ParcelFileDescriptor;
-Landroid/content/res/AssetManager;->nativeOpenNonAsset(JILjava/lang/String;I)J
-Landroid/content/res/AssetManager;->nativeOpenNonAssetFd(JILjava/lang/String;[J)Landroid/os/ParcelFileDescriptor;
-Landroid/content/res/AssetManager;->nativeOpenXmlAsset(JILjava/lang/String;)J
-Landroid/content/res/AssetManager;->nativeResolveAttrs(JJII[I[I[I[I)Z
-Landroid/content/res/AssetManager;->nativeRetrieveAttributes(JJ[I[I[I)Z
-Landroid/content/res/AssetManager;->nativeSetApkAssets(J[Landroid/content/res/ApkAssets;Z)V
-Landroid/content/res/AssetManager;->nativeSetConfiguration(JIILjava/lang/String;IIIIIIIIIIIIIII)V
-Landroid/content/res/AssetManager;->nativeThemeApplyStyle(JJIZ)V
-Landroid/content/res/AssetManager;->nativeThemeClear(J)V
-Landroid/content/res/AssetManager;->nativeThemeCopy(JJ)V
-Landroid/content/res/AssetManager;->nativeThemeCreate(J)J
-Landroid/content/res/AssetManager;->nativeThemeDestroy(J)V
-Landroid/content/res/AssetManager;->nativeThemeDump(JJILjava/lang/String;Ljava/lang/String;)V
-Landroid/content/res/AssetManager;->nativeThemeGetAttributeValue(JJILandroid/util/TypedValue;Z)I
-Landroid/content/res/AssetManager;->nativeThemeGetChangingConfigurations(J)I
-Landroid/content/res/AssetManager;->nativeVerifySystemIdmaps()V
-Landroid/content/res/AssetManager;->openXmlBlockAsset(ILjava/lang/String;)Landroid/content/res/XmlBlock;
-Landroid/content/res/AssetManager;->openXmlBlockAsset(Ljava/lang/String;)Landroid/content/res/XmlBlock;
-Landroid/content/res/AssetManager;->releaseTheme(J)V
-Landroid/content/res/AssetManager;->sEmptyApkAssets:[Landroid/content/res/ApkAssets;
-Landroid/content/res/AssetManager;->setApkAssets([Landroid/content/res/ApkAssets;Z)V
-Landroid/content/res/AssetManager;->sSync:Ljava/lang/Object;
-Landroid/content/res/AssetManager;->sSystemApkAssets:[Landroid/content/res/ApkAssets;
-Landroid/content/res/AssetManager;->sSystemApkAssetsSet:Landroid/util/ArraySet;
-Landroid/content/res/AssetManager;->TAG:Ljava/lang/String;
-Landroid/content/res/AssetManager;->xmlBlockGone(I)V
-Landroid/content/res/ColorStateList$ColorStateListFactory;
-Landroid/content/res/ColorStateList$ColorStateListFactory;->getChangingConfigurations()I
-Landroid/content/res/ColorStateList$ColorStateListFactory;->mSrc:Landroid/content/res/ColorStateList;
-Landroid/content/res/ColorStateList$ColorStateListFactory;->newInstance()Landroid/content/res/ColorStateList;
-Landroid/content/res/ColorStateList$ColorStateListFactory;->newInstance(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList;
-Landroid/content/res/ColorStateList;-><init>(Landroid/content/res/ColorStateList;)V
-Landroid/content/res/ColorStateList;->applyTheme(Landroid/content/res/Resources$Theme;)V
-Landroid/content/res/ColorStateList;->createFromXmlInner(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList;
-Landroid/content/res/ColorStateList;->DEFAULT_COLOR:I
-Landroid/content/res/ColorStateList;->EMPTY:[[I
-Landroid/content/res/ColorStateList;->getConstantState()Landroid/content/res/ConstantState;
-Landroid/content/res/ColorStateList;->hasFocusStateSpecified()Z
-Landroid/content/res/ColorStateList;->hasState(I)Z
-Landroid/content/res/ColorStateList;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-Landroid/content/res/ColorStateList;->mChangingConfigurations:I
-Landroid/content/res/ColorStateList;->mIsOpaque:Z
-Landroid/content/res/ColorStateList;->modulateColorAlpha(IF)I
-Landroid/content/res/ColorStateList;->mThemeAttrs:[[I
-Landroid/content/res/ColorStateList;->sCache:Landroid/util/SparseArray;
-Landroid/content/res/ColorStateList;->TAG:Ljava/lang/String;
-Landroid/content/res/CompatibilityInfo$Translator;
-Landroid/content/res/CompatibilityInfo$Translator;-><init>()V
-Landroid/content/res/CompatibilityInfo$Translator;-><init>(FF)V
-Landroid/content/res/CompatibilityInfo$Translator;->getTranslatedTouchableArea(Landroid/graphics/Region;)Landroid/graphics/Region;
-Landroid/content/res/CompatibilityInfo$Translator;->getTranslatedVisibleInsets(Landroid/graphics/Rect;)Landroid/graphics/Rect;
-Landroid/content/res/CompatibilityInfo$Translator;->mContentInsetsBuffer:Landroid/graphics/Rect;
-Landroid/content/res/CompatibilityInfo$Translator;->mTouchableAreaBuffer:Landroid/graphics/Region;
-Landroid/content/res/CompatibilityInfo$Translator;->mVisibleInsetsBuffer:Landroid/graphics/Rect;
-Landroid/content/res/CompatibilityInfo$Translator;->translateLayoutParamsInAppWindowToScreen(Landroid/view/WindowManager$LayoutParams;)V
-Landroid/content/res/CompatibilityInfo$Translator;->translatePointInScreenToAppWindow(Landroid/graphics/PointF;)V
-Landroid/content/res/CompatibilityInfo;
-Landroid/content/res/CompatibilityInfo;-><init>(IIFF)V
-Landroid/content/res/CompatibilityInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/res/CompatibilityInfo;->alwaysSupportsScreen()Z
-Landroid/content/res/CompatibilityInfo;->ALWAYS_NEEDS_COMPAT:I
-Landroid/content/res/CompatibilityInfo;->applicationDensity:I
-Landroid/content/res/CompatibilityInfo;->applicationInvertedScale:F
-Landroid/content/res/CompatibilityInfo;->applyToConfiguration(ILandroid/content/res/Configuration;)V
-Landroid/content/res/CompatibilityInfo;->applyToDisplayMetrics(Landroid/util/DisplayMetrics;)V
-Landroid/content/res/CompatibilityInfo;->DEFAULT_NORMAL_SHORT_DIMENSION:I
-Landroid/content/res/CompatibilityInfo;->MAXIMUM_ASPECT_RATIO:F
-Landroid/content/res/CompatibilityInfo;->mCompatibilityFlags:I
-Landroid/content/res/CompatibilityInfo;->needsCompatResources()Z
-Landroid/content/res/CompatibilityInfo;->NEEDS_COMPAT_RES:I
-Landroid/content/res/CompatibilityInfo;->NEEDS_SCREEN_COMPAT:I
-Landroid/content/res/CompatibilityInfo;->neverSupportsScreen()Z
-Landroid/content/res/CompatibilityInfo;->NEVER_NEEDS_COMPAT:I
-Landroid/content/res/CompatibilityInfo;->SCALING_REQUIRED:I
-Landroid/content/res/CompatResources;
-Landroid/content/res/CompatResources;-><init>(Ljava/lang/ClassLoader;)V
-Landroid/content/res/CompatResources;->getTheme()Landroid/content/res/Resources$Theme;
-Landroid/content/res/CompatResources;->mContext:Ljava/lang/ref/WeakReference;
-Landroid/content/res/CompatResources;->setContext(Landroid/content/Context;)V
-Landroid/content/res/ComplexColor;
-Landroid/content/res/ComplexColor;-><init>()V
-Landroid/content/res/ComplexColor;->canApplyTheme()Z
-Landroid/content/res/ComplexColor;->getChangingConfigurations()I
-Landroid/content/res/ComplexColor;->getConstantState()Landroid/content/res/ConstantState;
-Landroid/content/res/ComplexColor;->getDefaultColor()I
-Landroid/content/res/ComplexColor;->isStateful()Z
-Landroid/content/res/ComplexColor;->mChangingConfigurations:I
-Landroid/content/res/ComplexColor;->obtainForTheme(Landroid/content/res/Resources$Theme;)Landroid/content/res/ComplexColor;
-Landroid/content/res/ComplexColor;->setBaseChangingConfigurations(I)V
-Landroid/content/res/Configuration$NativeConfig;
-Landroid/content/res/Configuration;-><init>(Landroid/os/Parcel;)V
-Landroid/content/res/Configuration;->assetsSeq:I
-Landroid/content/res/Configuration;->ASSETS_SEQ_UNDEFINED:I
-Landroid/content/res/Configuration;->clearLocales()V
-Landroid/content/res/Configuration;->compatScreenHeightDp:I
-Landroid/content/res/Configuration;->compatScreenWidthDp:I
-Landroid/content/res/Configuration;->compatSmallestScreenWidthDp:I
-Landroid/content/res/Configuration;->configurationDiffToString(I)Ljava/lang/String;
-Landroid/content/res/Configuration;->DENSITY_DPI_ANY:I
-Landroid/content/res/Configuration;->DENSITY_DPI_NONE:I
-Landroid/content/res/Configuration;->diff(Landroid/content/res/Configuration;ZZ)I
-Landroid/content/res/Configuration;->diffPublicOnly(Landroid/content/res/Configuration;)I
-Landroid/content/res/Configuration;->EMPTY:Landroid/content/res/Configuration;
-Landroid/content/res/Configuration;->fixUpLocaleList()V
-Landroid/content/res/Configuration;->getScreenLayoutNoDirection(I)I
-Landroid/content/res/Configuration;->isOtherSeqNewer(Landroid/content/res/Configuration;)Z
-Landroid/content/res/Configuration;->KEYBOARDHIDDEN_SOFT:I
-Landroid/content/res/Configuration;->localesToResourceQualifier(Landroid/os/LocaleList;)Ljava/lang/String;
-Landroid/content/res/Configuration;->mLocaleList:Landroid/os/LocaleList;
-Landroid/content/res/Configuration;->NATIVE_CONFIG_COLOR_MODE:I
-Landroid/content/res/Configuration;->NATIVE_CONFIG_DENSITY:I
-Landroid/content/res/Configuration;->NATIVE_CONFIG_KEYBOARD:I
-Landroid/content/res/Configuration;->NATIVE_CONFIG_KEYBOARD_HIDDEN:I
-Landroid/content/res/Configuration;->NATIVE_CONFIG_LAYOUTDIR:I
-Landroid/content/res/Configuration;->NATIVE_CONFIG_LOCALE:I
-Landroid/content/res/Configuration;->NATIVE_CONFIG_MCC:I
-Landroid/content/res/Configuration;->NATIVE_CONFIG_MNC:I
-Landroid/content/res/Configuration;->NATIVE_CONFIG_NAVIGATION:I
-Landroid/content/res/Configuration;->NATIVE_CONFIG_ORIENTATION:I
-Landroid/content/res/Configuration;->NATIVE_CONFIG_SCREEN_LAYOUT:I
-Landroid/content/res/Configuration;->NATIVE_CONFIG_SCREEN_SIZE:I
-Landroid/content/res/Configuration;->NATIVE_CONFIG_SMALLEST_SCREEN_SIZE:I
-Landroid/content/res/Configuration;->NATIVE_CONFIG_TOUCHSCREEN:I
-Landroid/content/res/Configuration;->NATIVE_CONFIG_UI_MODE:I
-Landroid/content/res/Configuration;->NATIVE_CONFIG_VERSION:I
-Landroid/content/res/Configuration;->readXmlAttrs(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Configuration;)V
-Landroid/content/res/Configuration;->reduceScreenLayout(III)I
-Landroid/content/res/Configuration;->resetScreenLayout(I)I
-Landroid/content/res/Configuration;->resourceQualifierString(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;)Ljava/lang/String;
-Landroid/content/res/Configuration;->SCREENLAYOUT_COMPAT_NEEDED:I
-Landroid/content/res/Configuration;->SCREENLAYOUT_ROUND_SHIFT:I
-Landroid/content/res/Configuration;->uiModeToString(I)Ljava/lang/String;
-Landroid/content/res/Configuration;->unset()V
-Landroid/content/res/Configuration;->writeResConfigToProto(Landroid/util/proto/ProtoOutputStream;JLandroid/util/DisplayMetrics;)V
-Landroid/content/res/Configuration;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/content/res/Configuration;->writeXmlAttrs(Lorg/xmlpull/v1/XmlSerializer;Landroid/content/res/Configuration;)V
-Landroid/content/res/Configuration;->XML_ATTR_APP_BOUNDS:Ljava/lang/String;
-Landroid/content/res/Configuration;->XML_ATTR_COLOR_MODE:Ljava/lang/String;
-Landroid/content/res/Configuration;->XML_ATTR_DENSITY:Ljava/lang/String;
-Landroid/content/res/Configuration;->XML_ATTR_FONT_SCALE:Ljava/lang/String;
-Landroid/content/res/Configuration;->XML_ATTR_HARD_KEYBOARD_HIDDEN:Ljava/lang/String;
-Landroid/content/res/Configuration;->XML_ATTR_KEYBOARD:Ljava/lang/String;
-Landroid/content/res/Configuration;->XML_ATTR_KEYBOARD_HIDDEN:Ljava/lang/String;
-Landroid/content/res/Configuration;->XML_ATTR_LOCALES:Ljava/lang/String;
-Landroid/content/res/Configuration;->XML_ATTR_MCC:Ljava/lang/String;
-Landroid/content/res/Configuration;->XML_ATTR_MNC:Ljava/lang/String;
-Landroid/content/res/Configuration;->XML_ATTR_NAVIGATION:Ljava/lang/String;
-Landroid/content/res/Configuration;->XML_ATTR_NAVIGATION_HIDDEN:Ljava/lang/String;
-Landroid/content/res/Configuration;->XML_ATTR_ORIENTATION:Ljava/lang/String;
-Landroid/content/res/Configuration;->XML_ATTR_ROTATION:Ljava/lang/String;
-Landroid/content/res/Configuration;->XML_ATTR_SCREEN_HEIGHT:Ljava/lang/String;
-Landroid/content/res/Configuration;->XML_ATTR_SCREEN_LAYOUT:Ljava/lang/String;
-Landroid/content/res/Configuration;->XML_ATTR_SCREEN_WIDTH:Ljava/lang/String;
-Landroid/content/res/Configuration;->XML_ATTR_SMALLEST_WIDTH:Ljava/lang/String;
-Landroid/content/res/Configuration;->XML_ATTR_TOUCHSCREEN:Ljava/lang/String;
-Landroid/content/res/Configuration;->XML_ATTR_UI_MODE:Ljava/lang/String;
-Landroid/content/res/ConfigurationBoundResourceCache;
-Landroid/content/res/ConfigurationBoundResourceCache;->getInstance(JLandroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Ljava/lang/Object;
-Landroid/content/res/ConfigurationBoundResourceCache;->shouldInvalidateEntry(Landroid/content/res/ConstantState;I)Z
-Landroid/content/res/ConstantState;
-Landroid/content/res/ConstantState;-><init>()V
-Landroid/content/res/ConstantState;->getChangingConfigurations()I
-Landroid/content/res/ConstantState;->newInstance()Ljava/lang/Object;
-Landroid/content/res/ConstantState;->newInstance(Landroid/content/res/Resources;)Ljava/lang/Object;
-Landroid/content/res/ConstantState;->newInstance(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Ljava/lang/Object;
-Landroid/content/res/DrawableCache;
-Landroid/content/res/DrawableCache;->shouldInvalidateEntry(Landroid/graphics/drawable/Drawable$ConstantState;I)Z
-Landroid/content/res/FontResourcesParser$FamilyResourceEntry;
-Landroid/content/res/FontResourcesParser$FontFamilyFilesResourceEntry;
-Landroid/content/res/FontResourcesParser$FontFamilyFilesResourceEntry;-><init>([Landroid/content/res/FontResourcesParser$FontFileResourceEntry;)V
-Landroid/content/res/FontResourcesParser$FontFamilyFilesResourceEntry;->getEntries()[Landroid/content/res/FontResourcesParser$FontFileResourceEntry;
-Landroid/content/res/FontResourcesParser$FontFamilyFilesResourceEntry;->mEntries:[Landroid/content/res/FontResourcesParser$FontFileResourceEntry;
-Landroid/content/res/FontResourcesParser$FontFileResourceEntry;
-Landroid/content/res/FontResourcesParser$FontFileResourceEntry;-><init>(Ljava/lang/String;IILjava/lang/String;I)V
-Landroid/content/res/FontResourcesParser$FontFileResourceEntry;->getFileName()Ljava/lang/String;
-Landroid/content/res/FontResourcesParser$FontFileResourceEntry;->getItalic()I
-Landroid/content/res/FontResourcesParser$FontFileResourceEntry;->getTtcIndex()I
-Landroid/content/res/FontResourcesParser$FontFileResourceEntry;->getVariationSettings()Ljava/lang/String;
-Landroid/content/res/FontResourcesParser$FontFileResourceEntry;->getWeight()I
-Landroid/content/res/FontResourcesParser$FontFileResourceEntry;->mFileName:Ljava/lang/String;
-Landroid/content/res/FontResourcesParser$FontFileResourceEntry;->mItalic:I
-Landroid/content/res/FontResourcesParser$FontFileResourceEntry;->mResourceId:I
-Landroid/content/res/FontResourcesParser$FontFileResourceEntry;->mTtcIndex:I
-Landroid/content/res/FontResourcesParser$FontFileResourceEntry;->mVariationSettings:Ljava/lang/String;
-Landroid/content/res/FontResourcesParser$FontFileResourceEntry;->mWeight:I
-Landroid/content/res/FontResourcesParser$ProviderResourceEntry;
-Landroid/content/res/FontResourcesParser$ProviderResourceEntry;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
-Landroid/content/res/FontResourcesParser$ProviderResourceEntry;->getAuthority()Ljava/lang/String;
-Landroid/content/res/FontResourcesParser$ProviderResourceEntry;->getCerts()Ljava/util/List;
-Landroid/content/res/FontResourcesParser$ProviderResourceEntry;->getPackage()Ljava/lang/String;
-Landroid/content/res/FontResourcesParser$ProviderResourceEntry;->getQuery()Ljava/lang/String;
-Landroid/content/res/FontResourcesParser$ProviderResourceEntry;->mCerts:Ljava/util/List;
-Landroid/content/res/FontResourcesParser$ProviderResourceEntry;->mProviderAuthority:Ljava/lang/String;
-Landroid/content/res/FontResourcesParser$ProviderResourceEntry;->mProviderPackage:Ljava/lang/String;
-Landroid/content/res/FontResourcesParser$ProviderResourceEntry;->mQuery:Ljava/lang/String;
-Landroid/content/res/FontResourcesParser;
-Landroid/content/res/FontResourcesParser;-><init>()V
-Landroid/content/res/FontResourcesParser;->parse(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FamilyResourceEntry;
-Landroid/content/res/FontResourcesParser;->readFamilies(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FamilyResourceEntry;
-Landroid/content/res/FontResourcesParser;->readFamily(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FamilyResourceEntry;
-Landroid/content/res/FontResourcesParser;->readFont(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FontFileResourceEntry;
-Landroid/content/res/FontResourcesParser;->skip(Lorg/xmlpull/v1/XmlPullParser;)V
-Landroid/content/res/FontResourcesParser;->TAG:Ljava/lang/String;
-Landroid/content/res/GradientColor$GradientColorFactory;
-Landroid/content/res/GradientColor$GradientColorFactory;-><init>(Landroid/content/res/GradientColor;)V
-Landroid/content/res/GradientColor$GradientColorFactory;->getChangingConfigurations()I
-Landroid/content/res/GradientColor$GradientColorFactory;->mSrc:Landroid/content/res/GradientColor;
-Landroid/content/res/GradientColor$GradientColorFactory;->newInstance()Landroid/content/res/GradientColor;
-Landroid/content/res/GradientColor$GradientColorFactory;->newInstance(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Landroid/content/res/GradientColor;
-Landroid/content/res/GradientColor$GradientTileMode;
-Landroid/content/res/GradientColor;
-Landroid/content/res/GradientColor;-><init>()V
-Landroid/content/res/GradientColor;-><init>(Landroid/content/res/GradientColor;)V
-Landroid/content/res/GradientColor;->applyItemsAttrsTheme(Landroid/content/res/Resources$Theme;)V
-Landroid/content/res/GradientColor;->applyRootAttrsTheme(Landroid/content/res/Resources$Theme;)V
-Landroid/content/res/GradientColor;->applyTheme(Landroid/content/res/Resources$Theme;)V
-Landroid/content/res/GradientColor;->canApplyTheme()Z
-Landroid/content/res/GradientColor;->createFromXml(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;Landroid/content/res/Resources$Theme;)Landroid/content/res/GradientColor;
-Landroid/content/res/GradientColor;->createFromXmlInner(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)Landroid/content/res/GradientColor;
-Landroid/content/res/GradientColor;->DBG_GRADIENT:Z
-Landroid/content/res/GradientColor;->getChangingConfigurations()I
-Landroid/content/res/GradientColor;->getConstantState()Landroid/content/res/ConstantState;
-Landroid/content/res/GradientColor;->getDefaultColor()I
-Landroid/content/res/GradientColor;->getShader()Landroid/graphics/Shader;
-Landroid/content/res/GradientColor;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-Landroid/content/res/GradientColor;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-Landroid/content/res/GradientColor;->mCenterColor:I
-Landroid/content/res/GradientColor;->mCenterX:F
-Landroid/content/res/GradientColor;->mCenterY:F
-Landroid/content/res/GradientColor;->mChangingConfigurations:I
-Landroid/content/res/GradientColor;->mDefaultColor:I
-Landroid/content/res/GradientColor;->mEndColor:I
-Landroid/content/res/GradientColor;->mEndX:F
-Landroid/content/res/GradientColor;->mEndY:F
-Landroid/content/res/GradientColor;->mFactory:Landroid/content/res/GradientColor$GradientColorFactory;
-Landroid/content/res/GradientColor;->mGradientRadius:F
-Landroid/content/res/GradientColor;->mGradientType:I
-Landroid/content/res/GradientColor;->mHasCenterColor:Z
-Landroid/content/res/GradientColor;->mItemColors:[I
-Landroid/content/res/GradientColor;->mItemOffsets:[F
-Landroid/content/res/GradientColor;->mItemsThemeAttrs:[[I
-Landroid/content/res/GradientColor;->mShader:Landroid/graphics/Shader;
-Landroid/content/res/GradientColor;->mStartColor:I
-Landroid/content/res/GradientColor;->mStartX:F
-Landroid/content/res/GradientColor;->mStartY:F
-Landroid/content/res/GradientColor;->mThemeAttrs:[I
-Landroid/content/res/GradientColor;->mTileMode:I
-Landroid/content/res/GradientColor;->obtainForTheme(Landroid/content/res/Resources$Theme;)Landroid/content/res/GradientColor;
-Landroid/content/res/GradientColor;->onColorsChange()V
-Landroid/content/res/GradientColor;->parseTileMode(I)Landroid/graphics/Shader$TileMode;
-Landroid/content/res/GradientColor;->TAG:Ljava/lang/String;
-Landroid/content/res/GradientColor;->TILE_MODE_CLAMP:I
-Landroid/content/res/GradientColor;->TILE_MODE_MIRROR:I
-Landroid/content/res/GradientColor;->TILE_MODE_REPEAT:I
-Landroid/content/res/GradientColor;->updateRootElementState(Landroid/content/res/TypedArray;)V
-Landroid/content/res/GradientColor;->validateXmlContent()V
-Landroid/content/res/ObbInfo;-><init>()V
-Landroid/content/res/ObbInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/content/res/ObbScanner;-><init>()V
-Landroid/content/res/ObbScanner;->getObbInfo_native(Ljava/lang/String;Landroid/content/res/ObbInfo;)V
-Landroid/content/res/ResourceId;
-Landroid/content/res/ResourceId;-><init>()V
-Landroid/content/res/ResourceId;->ID_NULL:I
-Landroid/content/res/ResourceId;->isValid(I)Z
-Landroid/content/res/Resources$Theme;-><init>()V
-Landroid/content/res/Resources$Theme;->encode(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/content/res/Resources$Theme;->getAllAttributes()[I
-Landroid/content/res/Resources$Theme;->getAppliedStyleResId()I
-Landroid/content/res/Resources$Theme;->getKey()Landroid/content/res/Resources$ThemeKey;
-Landroid/content/res/Resources$Theme;->getNativeTheme()J
-Landroid/content/res/Resources$Theme;->getResourceNameFromHexString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/res/Resources$Theme;->getTheme()[Ljava/lang/String;
-Landroid/content/res/Resources$Theme;->rebase()V
-Landroid/content/res/Resources$Theme;->setImpl(Landroid/content/res/ResourcesImpl$ThemeImpl;)V
-Landroid/content/res/Resources$ThemeKey;
-Landroid/content/res/Resources$ThemeKey;-><init>()V
-Landroid/content/res/Resources$ThemeKey;->append(IZ)V
-Landroid/content/res/Resources$ThemeKey;->mCount:I
-Landroid/content/res/Resources$ThemeKey;->mForce:[Z
-Landroid/content/res/Resources$ThemeKey;->mHashCode:I
-Landroid/content/res/Resources$ThemeKey;->mResId:[I
-Landroid/content/res/Resources$ThemeKey;->setTo(Landroid/content/res/Resources$ThemeKey;)V
-Landroid/content/res/Resources;->calcConfigChanges(Landroid/content/res/Configuration;)I
-Landroid/content/res/Resources;->getAnimatorCache()Landroid/content/res/ConfigurationBoundResourceCache;
-Landroid/content/res/Resources;->getClassLoader()Ljava/lang/ClassLoader;
-Landroid/content/res/Resources;->getFont(Landroid/util/TypedValue;I)Landroid/graphics/Typeface;
-Landroid/content/res/Resources;->getSizeConfigurations()[Landroid/content/res/Configuration;
-Landroid/content/res/Resources;->getStateListAnimatorCache()Landroid/content/res/ConfigurationBoundResourceCache;
-Landroid/content/res/Resources;->loadColorStateList(Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList;
-Landroid/content/res/Resources;->loadComplexColor(Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ComplexColor;
-Landroid/content/res/Resources;->MIN_THEME_REFS_FLUSH_SIZE:I
-Landroid/content/res/Resources;->mThemeRefs:Ljava/util/ArrayList;
-Landroid/content/res/Resources;->mThemeRefsNextFlushSize:I
-Landroid/content/res/Resources;->mTmpValueLock:Ljava/lang/Object;
-Landroid/content/res/Resources;->obtainAttributes(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
-Landroid/content/res/Resources;->obtainTempTypedValue()Landroid/util/TypedValue;
-Landroid/content/res/Resources;->preloadFonts(I)V
-Landroid/content/res/Resources;->releaseTempTypedValue(Landroid/util/TypedValue;)V
-Landroid/content/res/Resources;->resourceHasPackage(I)Z
-Landroid/content/res/Resources;->selectSystemTheme(IIIIII)I
-Landroid/content/res/Resources;->sSync:Ljava/lang/Object;
-Landroid/content/res/Resources;->startPreloading()V
-Landroid/content/res/Resources;->TAG:Ljava/lang/String;
-Landroid/content/res/Resources;->updateConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;)V
-Landroid/content/res/ResourcesImpl$LookupStack;
-Landroid/content/res/ResourcesImpl$LookupStack;-><init>()V
-Landroid/content/res/ResourcesImpl$LookupStack;->contains(I)Z
-Landroid/content/res/ResourcesImpl$LookupStack;->mIds:[I
-Landroid/content/res/ResourcesImpl$LookupStack;->mSize:I
-Landroid/content/res/ResourcesImpl$LookupStack;->pop()V
-Landroid/content/res/ResourcesImpl$LookupStack;->push(I)V
-Landroid/content/res/ResourcesImpl$ThemeImpl;
-Landroid/content/res/ResourcesImpl$ThemeImpl;-><init>()V
-Landroid/content/res/ResourcesImpl$ThemeImpl;->applyStyle(IZ)V
-Landroid/content/res/ResourcesImpl$ThemeImpl;->dump(ILjava/lang/String;Ljava/lang/String;)V
-Landroid/content/res/ResourcesImpl$ThemeImpl;->getAllAttributes()[I
-Landroid/content/res/ResourcesImpl$ThemeImpl;->getAppliedStyleResId()I
-Landroid/content/res/ResourcesImpl$ThemeImpl;->getChangingConfigurations()I
-Landroid/content/res/ResourcesImpl$ThemeImpl;->getKey()Landroid/content/res/Resources$ThemeKey;
-Landroid/content/res/ResourcesImpl$ThemeImpl;->getNativeTheme()J
-Landroid/content/res/ResourcesImpl$ThemeImpl;->getTheme()[Ljava/lang/String;
-Landroid/content/res/ResourcesImpl$ThemeImpl;->mAssets:Landroid/content/res/AssetManager;
-Landroid/content/res/ResourcesImpl$ThemeImpl;->mKey:Landroid/content/res/Resources$ThemeKey;
-Landroid/content/res/ResourcesImpl$ThemeImpl;->mTheme:J
-Landroid/content/res/ResourcesImpl$ThemeImpl;->mThemeResId:I
-Landroid/content/res/ResourcesImpl$ThemeImpl;->obtainStyledAttributes(Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
-Landroid/content/res/ResourcesImpl$ThemeImpl;->rebase()V
-Landroid/content/res/ResourcesImpl$ThemeImpl;->resolveAttribute(ILandroid/util/TypedValue;Z)Z
-Landroid/content/res/ResourcesImpl$ThemeImpl;->resolveAttributes(Landroid/content/res/Resources$Theme;[I[I)Landroid/content/res/TypedArray;
-Landroid/content/res/ResourcesImpl$ThemeImpl;->setTo(Landroid/content/res/ResourcesImpl$ThemeImpl;)V
-Landroid/content/res/ResourcesImpl;
-Landroid/content/res/ResourcesImpl;->adjustLanguageTag(Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/res/ResourcesImpl;->attrForQuantityCode(Ljava/lang/String;)I
-Landroid/content/res/ResourcesImpl;->cacheDrawable(Landroid/util/TypedValue;ZLandroid/content/res/DrawableCache;Landroid/content/res/Resources$Theme;ZJLandroid/graphics/drawable/Drawable;)V
-Landroid/content/res/ResourcesImpl;->calcConfigChanges(Landroid/content/res/Configuration;)I
-Landroid/content/res/ResourcesImpl;->DEBUG_CONFIG:Z
-Landroid/content/res/ResourcesImpl;->DEBUG_LOAD:Z
-Landroid/content/res/ResourcesImpl;->decodeImageDrawable(Landroid/content/res/AssetManager$AssetInputStream;Landroid/content/res/Resources;Landroid/util/TypedValue;)Landroid/graphics/drawable/Drawable;
-Landroid/content/res/ResourcesImpl;->finishPreloading()V
-Landroid/content/res/ResourcesImpl;->flushLayoutCache()V
-Landroid/content/res/ResourcesImpl;->getAnimatorCache()Landroid/content/res/ConfigurationBoundResourceCache;
-Landroid/content/res/ResourcesImpl;->getColorStateListFromInt(Landroid/util/TypedValue;J)Landroid/content/res/ColorStateList;
-Landroid/content/res/ResourcesImpl;->getCompatibilityInfo()Landroid/content/res/CompatibilityInfo;
-Landroid/content/res/ResourcesImpl;->getConfiguration()Landroid/content/res/Configuration;
-Landroid/content/res/ResourcesImpl;->getDisplayAdjustments()Landroid/view/DisplayAdjustments;
-Landroid/content/res/ResourcesImpl;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-Landroid/content/res/ResourcesImpl;->getPluralRule()Landroid/icu/text/PluralRules;
-Landroid/content/res/ResourcesImpl;->getPreloadedDrawables()Landroid/util/LongSparseArray;
-Landroid/content/res/ResourcesImpl;->getQuantityText(II)Ljava/lang/CharSequence;
-Landroid/content/res/ResourcesImpl;->getResourceEntryName(I)Ljava/lang/String;
-Landroid/content/res/ResourcesImpl;->getResourceName(I)Ljava/lang/String;
-Landroid/content/res/ResourcesImpl;->getResourcePackageName(I)Ljava/lang/String;
-Landroid/content/res/ResourcesImpl;->getResourceTypeName(I)Ljava/lang/String;
-Landroid/content/res/ResourcesImpl;->getSizeConfigurations()[Landroid/content/res/Configuration;
-Landroid/content/res/ResourcesImpl;->getStateListAnimatorCache()Landroid/content/res/ConfigurationBoundResourceCache;
-Landroid/content/res/ResourcesImpl;->getValue(Ljava/lang/String;Landroid/util/TypedValue;Z)V
-Landroid/content/res/ResourcesImpl;->getValueForDensity(IILandroid/util/TypedValue;Z)V
-Landroid/content/res/ResourcesImpl;->ID_OTHER:I
-Landroid/content/res/ResourcesImpl;->loadColorStateList(Landroid/content/res/Resources;Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList;
-Landroid/content/res/ResourcesImpl;->loadComplexColor(Landroid/content/res/Resources;Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ComplexColor;
-Landroid/content/res/ResourcesImpl;->loadComplexColorForCookie(Landroid/content/res/Resources;Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ComplexColor;
-Landroid/content/res/ResourcesImpl;->loadComplexColorFromName(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/TypedValue;I)Landroid/content/res/ComplexColor;
-Landroid/content/res/ResourcesImpl;->loadDrawable(Landroid/content/res/Resources;Landroid/util/TypedValue;IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
-Landroid/content/res/ResourcesImpl;->loadDrawableForCookie(Landroid/content/res/Resources;Landroid/util/TypedValue;II)Landroid/graphics/drawable/Drawable;
-Landroid/content/res/ResourcesImpl;->loadFont(Landroid/content/res/Resources;Landroid/util/TypedValue;I)Landroid/graphics/Typeface;
-Landroid/content/res/ResourcesImpl;->loadXmlResourceParser(Ljava/lang/String;IILjava/lang/String;)Landroid/content/res/XmlResourceParser;
-Landroid/content/res/ResourcesImpl;->mCachedXmlBlockCookies:[I
-Landroid/content/res/ResourcesImpl;->mCachedXmlBlockFiles:[Ljava/lang/String;
-Landroid/content/res/ResourcesImpl;->mCachedXmlBlocks:[Landroid/content/res/XmlBlock;
-Landroid/content/res/ResourcesImpl;->mComplexColorCache:Landroid/content/res/ConfigurationBoundResourceCache;
-Landroid/content/res/ResourcesImpl;->mDisplayAdjustments:Landroid/view/DisplayAdjustments;
-Landroid/content/res/ResourcesImpl;->mLastCachedXmlBlockIndex:I
-Landroid/content/res/ResourcesImpl;->mLookupStack:Ljava/lang/ThreadLocal;
-Landroid/content/res/ResourcesImpl;->mMetrics:Landroid/util/DisplayMetrics;
-Landroid/content/res/ResourcesImpl;->mPluralRule:Landroid/icu/text/PluralRules;
-Landroid/content/res/ResourcesImpl;->mPreloadTracingPreloadStartTime:J
-Landroid/content/res/ResourcesImpl;->mPreloadTracingStartBitmapCount:J
-Landroid/content/res/ResourcesImpl;->mPreloadTracingStartBitmapSize:J
-Landroid/content/res/ResourcesImpl;->mTmpConfig:Landroid/content/res/Configuration;
-Landroid/content/res/ResourcesImpl;->newThemeImpl()Landroid/content/res/ResourcesImpl$ThemeImpl;
-Landroid/content/res/ResourcesImpl;->newThemeImpl(Landroid/content/res/Resources$ThemeKey;)Landroid/content/res/ResourcesImpl$ThemeImpl;
-Landroid/content/res/ResourcesImpl;->openRawResource(ILandroid/util/TypedValue;)Ljava/io/InputStream;
-Landroid/content/res/ResourcesImpl;->openRawResourceFd(ILandroid/util/TypedValue;)Landroid/content/res/AssetFileDescriptor;
-Landroid/content/res/ResourcesImpl;->sPreloaded:Z
-Landroid/content/res/ResourcesImpl;->sPreloadTracingNumLoadedDrawables:I
-Landroid/content/res/ResourcesImpl;->sSync:Ljava/lang/Object;
-Landroid/content/res/ResourcesImpl;->startPreloading()V
-Landroid/content/res/ResourcesImpl;->TAG:Ljava/lang/String;
-Landroid/content/res/ResourcesImpl;->TAG_PRELOAD:Ljava/lang/String;
-Landroid/content/res/ResourcesImpl;->TRACE_FOR_DETAILED_PRELOAD:Z
-Landroid/content/res/ResourcesImpl;->updateConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;)V
-Landroid/content/res/ResourcesImpl;->verifyPreloadConfig(IIILjava/lang/String;)Z
-Landroid/content/res/ResourcesImpl;->XML_BLOCK_CACHE_SIZE:I
-Landroid/content/res/ResourcesKey;
-Landroid/content/res/ResourcesKey;->anyStartsWith([Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/content/res/ResourcesKey;->hasOverrideConfiguration()Z
-Landroid/content/res/ResourcesKey;->isPathReferenced(Ljava/lang/String;)Z
-Landroid/content/res/ResourcesKey;->mCompatInfo:Landroid/content/res/CompatibilityInfo;
-Landroid/content/res/ResourcesKey;->mDisplayId:I
-Landroid/content/res/ResourcesKey;->mHash:I
-Landroid/content/res/ResourcesKey;->mLibDirs:[Ljava/lang/String;
-Landroid/content/res/ResourcesKey;->mOverlayDirs:[Ljava/lang/String;
-Landroid/content/res/ResourcesKey;->mOverrideConfiguration:Landroid/content/res/Configuration;
-Landroid/content/res/StringBlock$Height;
-Landroid/content/res/StringBlock$Height;-><init>(I)V
-Landroid/content/res/StringBlock$Height;->mSize:I
-Landroid/content/res/StringBlock$Height;->sProportion:F
-Landroid/content/res/StringBlock$StyleIDs;
-Landroid/content/res/StringBlock$StyleIDs;-><init>()V
-Landroid/content/res/StringBlock$StyleIDs;->bigId:I
-Landroid/content/res/StringBlock$StyleIDs;->boldId:I
-Landroid/content/res/StringBlock$StyleIDs;->italicId:I
-Landroid/content/res/StringBlock$StyleIDs;->listItemId:I
-Landroid/content/res/StringBlock$StyleIDs;->marqueeId:I
-Landroid/content/res/StringBlock$StyleIDs;->smallId:I
-Landroid/content/res/StringBlock$StyleIDs;->strikeId:I
-Landroid/content/res/StringBlock$StyleIDs;->subId:I
-Landroid/content/res/StringBlock$StyleIDs;->supId:I
-Landroid/content/res/StringBlock$StyleIDs;->ttId:I
-Landroid/content/res/StringBlock$StyleIDs;->underlineId:I
-Landroid/content/res/StringBlock;
-Landroid/content/res/StringBlock;-><init>([BIIZ)V
-Landroid/content/res/StringBlock;-><init>([BZ)V
-Landroid/content/res/StringBlock;->addParagraphSpan(Landroid/text/Spannable;Ljava/lang/Object;II)V
-Landroid/content/res/StringBlock;->applyStyles(Ljava/lang/String;[ILandroid/content/res/StringBlock$StyleIDs;)Ljava/lang/CharSequence;
-Landroid/content/res/StringBlock;->getColor(Ljava/lang/String;Z)Landroid/text/style/CharacterStyle;
-Landroid/content/res/StringBlock;->localLOGV:Z
-Landroid/content/res/StringBlock;->mNative:J
-Landroid/content/res/StringBlock;->mOwnsNative:Z
-Landroid/content/res/StringBlock;->mSparseStrings:Landroid/util/SparseArray;
-Landroid/content/res/StringBlock;->mStrings:[Ljava/lang/CharSequence;
-Landroid/content/res/StringBlock;->mStyleIDs:Landroid/content/res/StringBlock$StyleIDs;
-Landroid/content/res/StringBlock;->mUseSparse:Z
-Landroid/content/res/StringBlock;->nativeCreate([BII)J
-Landroid/content/res/StringBlock;->nativeDestroy(J)V
-Landroid/content/res/StringBlock;->nativeGetSize(J)I
-Landroid/content/res/StringBlock;->nativeGetString(JI)Ljava/lang/String;
-Landroid/content/res/StringBlock;->nativeGetStyle(JI)[I
-Landroid/content/res/StringBlock;->subtag(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/content/res/StringBlock;->TAG:Ljava/lang/String;
-Landroid/content/res/ThemedResourceCache;
-Landroid/content/res/ThemedResourceCache;-><init>()V
-Landroid/content/res/ThemedResourceCache;->get(JLandroid/content/res/Resources$Theme;)Ljava/lang/Object;
-Landroid/content/res/ThemedResourceCache;->getThemedLocked(Landroid/content/res/Resources$Theme;Z)Landroid/util/LongSparseArray;
-Landroid/content/res/ThemedResourceCache;->getUnthemedLocked(Z)Landroid/util/LongSparseArray;
-Landroid/content/res/ThemedResourceCache;->mNullThemedEntries:Landroid/util/LongSparseArray;
-Landroid/content/res/ThemedResourceCache;->mUnthemedEntries:Landroid/util/LongSparseArray;
-Landroid/content/res/ThemedResourceCache;->prune(I)Z
-Landroid/content/res/ThemedResourceCache;->pruneEntriesLocked(Landroid/util/LongSparseArray;I)Z
-Landroid/content/res/ThemedResourceCache;->pruneEntryLocked(Ljava/lang/Object;I)Z
-Landroid/content/res/ThemedResourceCache;->put(JLandroid/content/res/Resources$Theme;Ljava/lang/Object;)V
-Landroid/content/res/ThemedResourceCache;->put(JLandroid/content/res/Resources$Theme;Ljava/lang/Object;Z)V
-Landroid/content/res/ThemedResourceCache;->shouldInvalidateEntry(Ljava/lang/Object;I)Z
-Landroid/content/res/TypedArray;-><init>(Landroid/content/res/Resources;)V
-Landroid/content/res/TypedArray;->getComplexColor(I)Landroid/content/res/ComplexColor;
-Landroid/content/res/TypedArray;->getDrawableForDensity(II)Landroid/graphics/drawable/Drawable;
-Landroid/content/res/TypedArray;->getThemeAttributeId(II)I
-Landroid/content/res/TypedArray;->loadStringValueAt(I)Ljava/lang/CharSequence;
-Landroid/content/res/TypedArray;->mDataAddress:J
-Landroid/content/res/TypedArray;->mIndicesAddress:J
-Landroid/content/res/TypedArray;->obtain(Landroid/content/res/Resources;I)Landroid/content/res/TypedArray;
-Landroid/content/res/TypedArray;->resize(I)V
-Landroid/content/res/TypedArray;->STYLE_ASSET_COOKIE:I
-Landroid/content/res/TypedArray;->STYLE_CHANGING_CONFIGURATIONS:I
-Landroid/content/res/TypedArray;->STYLE_DATA:I
-Landroid/content/res/TypedArray;->STYLE_DENSITY:I
-Landroid/content/res/TypedArray;->STYLE_NUM_ENTRIES:I
-Landroid/content/res/TypedArray;->STYLE_RESOURCE_ID:I
-Landroid/content/res/TypedArray;->STYLE_TYPE:I
-Landroid/content/res/XmlBlock$Parser;
-Landroid/content/res/XmlBlock$Parser;-><init>(JLandroid/content/res/XmlBlock;)V
-Landroid/content/res/XmlBlock$Parser;->getPooledString(I)Ljava/lang/CharSequence;
-Landroid/content/res/XmlBlock$Parser;->mDecNextDepth:Z
-Landroid/content/res/XmlBlock$Parser;->mDepth:I
-Landroid/content/res/XmlBlock$Parser;->mEventType:I
-Landroid/content/res/XmlBlock$Parser;->mStarted:Z
-Landroid/content/res/XmlBlock;
-Landroid/content/res/XmlBlock;-><init>(Landroid/content/res/AssetManager;J)V
-Landroid/content/res/XmlBlock;-><init>([BII)V
-Landroid/content/res/XmlBlock;->DEBUG:Z
-Landroid/content/res/XmlBlock;->decOpenCountLocked()V
-Landroid/content/res/XmlBlock;->mAssets:Landroid/content/res/AssetManager;
-Landroid/content/res/XmlBlock;->mNative:J
-Landroid/content/res/XmlBlock;->mOpen:Z
-Landroid/content/res/XmlBlock;->mOpenCount:I
-Landroid/content/res/XmlBlock;->mStrings:Landroid/content/res/StringBlock;
-Landroid/content/res/XmlBlock;->nativeCreate([BII)J
-Landroid/content/res/XmlBlock;->nativeCreateParseState(J)J
-Landroid/content/res/XmlBlock;->nativeDestroy(J)V
-Landroid/content/res/XmlBlock;->nativeDestroyParseState(J)V
-Landroid/content/res/XmlBlock;->nativeGetAttributeCount(J)I
-Landroid/content/res/XmlBlock;->nativeGetAttributeData(JI)I
-Landroid/content/res/XmlBlock;->nativeGetAttributeDataType(JI)I
-Landroid/content/res/XmlBlock;->nativeGetAttributeIndex(JLjava/lang/String;Ljava/lang/String;)I
-Landroid/content/res/XmlBlock;->nativeGetAttributeName(JI)I
-Landroid/content/res/XmlBlock;->nativeGetAttributeNamespace(JI)I
-Landroid/content/res/XmlBlock;->nativeGetAttributeResource(JI)I
-Landroid/content/res/XmlBlock;->nativeGetAttributeStringValue(JI)I
-Landroid/content/res/XmlBlock;->nativeGetClassAttribute(J)I
-Landroid/content/res/XmlBlock;->nativeGetIdAttribute(J)I
-Landroid/content/res/XmlBlock;->nativeGetLineNumber(J)I
-Landroid/content/res/XmlBlock;->nativeGetName(J)I
-Landroid/content/res/XmlBlock;->nativeGetNamespace(J)I
-Landroid/content/res/XmlBlock;->nativeGetStringBlock(J)J
-Landroid/content/res/XmlBlock;->nativeGetStyleAttribute(J)I
-Landroid/content/res/XmlBlock;->nativeGetText(J)I
-Landroid/content/res/XmlBlock;->nativeNext(J)I
-Landroid/content/ResourcesConfigurationProto;
-Landroid/content/ResourcesConfigurationProto;-><init>()V
-Landroid/content/ResourcesConfigurationProto;->CONFIGURATION:J
-Landroid/content/ResourcesConfigurationProto;->SCREEN_HEIGHT_PX:J
-Landroid/content/ResourcesConfigurationProto;->SCREEN_WIDTH_PX:J
-Landroid/content/ResourcesConfigurationProto;->SDK_VERSION:J
-Landroid/content/RestrictionEntry;-><init>(Ljava/lang/String;[Landroid/content/RestrictionEntry;Z)V
-Landroid/content/RestrictionEntry;->mChoiceEntries:[Ljava/lang/String;
-Landroid/content/RestrictionEntry;->mChoiceValues:[Ljava/lang/String;
-Landroid/content/RestrictionEntry;->mCurrentValue:Ljava/lang/String;
-Landroid/content/RestrictionEntry;->mCurrentValues:[Ljava/lang/String;
-Landroid/content/RestrictionEntry;->mDescription:Ljava/lang/String;
-Landroid/content/RestrictionEntry;->mKey:Ljava/lang/String;
-Landroid/content/RestrictionEntry;->mRestrictions:[Landroid/content/RestrictionEntry;
-Landroid/content/RestrictionEntry;->mTitle:Ljava/lang/String;
-Landroid/content/RestrictionEntry;->mType:I
-Landroid/content/RestrictionEntry;->TYPE_CHOICE_LEVEL:I
-Landroid/content/RestrictionsManager;-><init>(Landroid/content/Context;Landroid/content/IRestrictionsManager;)V
-Landroid/content/RestrictionsManager;->addRestrictionToBundle(Landroid/os/Bundle;Landroid/content/RestrictionEntry;)Landroid/os/Bundle;
-Landroid/content/RestrictionsManager;->loadManifestRestrictions(Ljava/lang/String;Landroid/content/res/XmlResourceParser;)Ljava/util/List;
-Landroid/content/RestrictionsManager;->loadRestriction(Landroid/content/Context;Landroid/content/res/TypedArray;Landroid/content/res/XmlResourceParser;)Landroid/content/RestrictionEntry;
-Landroid/content/RestrictionsManager;->loadRestrictionElement(Landroid/content/Context;Landroid/content/res/XmlResourceParser;)Landroid/content/RestrictionEntry;
-Landroid/content/RestrictionsManager;->mContext:Landroid/content/Context;
-Landroid/content/RestrictionsManager;->TAG:Ljava/lang/String;
-Landroid/content/RestrictionsManager;->TAG_RESTRICTION:Ljava/lang/String;
-Landroid/content/SearchRecentSuggestionsProvider$DatabaseHelper;
-Landroid/content/SearchRecentSuggestionsProvider$DatabaseHelper;-><init>(Landroid/content/Context;I)V
-Landroid/content/SearchRecentSuggestionsProvider$DatabaseHelper;->mNewVersion:I
-Landroid/content/SearchRecentSuggestionsProvider;->DATABASE_VERSION:I
-Landroid/content/SearchRecentSuggestionsProvider;->mAuthority:Ljava/lang/String;
-Landroid/content/SearchRecentSuggestionsProvider;->mMode:I
-Landroid/content/SearchRecentSuggestionsProvider;->mOpenHelper:Landroid/database/sqlite/SQLiteOpenHelper;
-Landroid/content/SearchRecentSuggestionsProvider;->mSuggestionsUri:Landroid/net/Uri;
-Landroid/content/SearchRecentSuggestionsProvider;->mSuggestSuggestionClause:Ljava/lang/String;
-Landroid/content/SearchRecentSuggestionsProvider;->mTwoLineDisplay:Z
-Landroid/content/SearchRecentSuggestionsProvider;->mUriMatcher:Landroid/content/UriMatcher;
-Landroid/content/SearchRecentSuggestionsProvider;->NULL_COLUMN:Ljava/lang/String;
-Landroid/content/SearchRecentSuggestionsProvider;->ORDER_BY:Ljava/lang/String;
-Landroid/content/SearchRecentSuggestionsProvider;->sDatabaseName:Ljava/lang/String;
-Landroid/content/SearchRecentSuggestionsProvider;->sSuggestions:Ljava/lang/String;
-Landroid/content/SearchRecentSuggestionsProvider;->TAG:Ljava/lang/String;
-Landroid/content/SearchRecentSuggestionsProvider;->URI_MATCH_SUGGEST:I
-Landroid/content/SyncActivityTooManyDeletes;
-Landroid/content/SyncActivityTooManyDeletes;-><init>()V
-Landroid/content/SyncActivityTooManyDeletes;->mAccount:Landroid/accounts/Account;
-Landroid/content/SyncActivityTooManyDeletes;->mAuthority:Ljava/lang/String;
-Landroid/content/SyncActivityTooManyDeletes;->mNumDeletes:J
-Landroid/content/SyncActivityTooManyDeletes;->mProvider:Ljava/lang/String;
-Landroid/content/SyncActivityTooManyDeletes;->startSyncReallyDelete()V
-Landroid/content/SyncActivityTooManyDeletes;->startSyncUndoDeletes()V
-Landroid/content/SyncAdaptersCache$MySerializer;
-Landroid/content/SyncAdaptersCache$MySerializer;-><init>()V
-Landroid/content/SyncAdaptersCache$MySerializer;->createFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/content/SyncAdapterType;
-Landroid/content/SyncAdaptersCache$MySerializer;->writeAsXml(Landroid/content/SyncAdapterType;Lorg/xmlpull/v1/XmlSerializer;)V
-Landroid/content/SyncAdaptersCache;
-Landroid/content/SyncAdaptersCache;->ATTRIBUTES_NAME:Ljava/lang/String;
-Landroid/content/SyncAdaptersCache;->getSyncAdapterPackagesForAuthority(Ljava/lang/String;I)[Ljava/lang/String;
-Landroid/content/SyncAdaptersCache;->mAuthorityToSyncAdapters:Landroid/util/SparseArray;
-Landroid/content/SyncAdaptersCache;->onServicesChangedLocked(I)V
-Landroid/content/SyncAdaptersCache;->onUserRemoved(I)V
-Landroid/content/SyncAdaptersCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/content/SyncAdapterType;
-Landroid/content/SyncAdaptersCache;->SERVICE_INTERFACE:Ljava/lang/String;
-Landroid/content/SyncAdaptersCache;->SERVICE_META_DATA:Ljava/lang/String;
-Landroid/content/SyncAdaptersCache;->sSerializer:Landroid/content/SyncAdaptersCache$MySerializer;
-Landroid/content/SyncAdaptersCache;->TAG:Ljava/lang/String;
-Landroid/content/SyncAdapterType;-><init>(Ljava/lang/String;Ljava/lang/String;ZZZZLjava/lang/String;Ljava/lang/String;)V
-Landroid/content/SyncAdapterType;->getPackageName()Ljava/lang/String;
-Landroid/content/SyncAdapterType;->packageName:Ljava/lang/String;
-Landroid/content/SyncContext;->HEARTBEAT_SEND_INTERVAL_IN_MS:J
-Landroid/content/SyncContext;->mLastHeartbeatSendTime:J
-Landroid/content/SyncContext;->mSyncContext:Landroid/content/ISyncContext;
-Landroid/content/SyncContext;->updateHeartbeat()V
-Landroid/content/SyncInfo;-><init>(Landroid/content/SyncInfo;)V
-Landroid/content/SyncInfo;->createAccountRedacted(ILjava/lang/String;J)Landroid/content/SyncInfo;
-Landroid/content/SyncInfo;->REDACTED_ACCOUNT:Landroid/accounts/Account;
-Landroid/content/SyncRequest$Builder;->mAccount:Landroid/accounts/Account;
-Landroid/content/SyncRequest$Builder;->mAuthority:Ljava/lang/String;
-Landroid/content/SyncRequest$Builder;->mCustomExtras:Landroid/os/Bundle;
-Landroid/content/SyncRequest$Builder;->mDisallowMetered:Z
-Landroid/content/SyncRequest$Builder;->mExpedited:Z
-Landroid/content/SyncRequest$Builder;->mIgnoreBackoff:Z
-Landroid/content/SyncRequest$Builder;->mIgnoreSettings:Z
-Landroid/content/SyncRequest$Builder;->mIsManual:Z
-Landroid/content/SyncRequest$Builder;->mNoRetry:Z
-Landroid/content/SyncRequest$Builder;->mRequiresCharging:Z
-Landroid/content/SyncRequest$Builder;->mSyncConfigExtras:Landroid/os/Bundle;
-Landroid/content/SyncRequest$Builder;->mSyncFlexTimeSecs:J
-Landroid/content/SyncRequest$Builder;->mSyncRunTimeSecs:J
-Landroid/content/SyncRequest$Builder;->mSyncTarget:I
-Landroid/content/SyncRequest$Builder;->mSyncType:I
-Landroid/content/SyncRequest$Builder;->setupInterval(JJ)V
-Landroid/content/SyncRequest$Builder;->SYNC_TARGET_ADAPTER:I
-Landroid/content/SyncRequest$Builder;->SYNC_TARGET_UNKNOWN:I
-Landroid/content/SyncRequest$Builder;->SYNC_TYPE_ONCE:I
-Landroid/content/SyncRequest$Builder;->SYNC_TYPE_PERIODIC:I
-Landroid/content/SyncRequest$Builder;->SYNC_TYPE_UNKNOWN:I
-Landroid/content/SyncRequest;-><init>(Landroid/content/SyncRequest$Builder;)V
-Landroid/content/SyncRequest;-><init>(Landroid/os/Parcel;)V
-Landroid/content/SyncRequest;->getAccount()Landroid/accounts/Account;
-Landroid/content/SyncRequest;->getBundle()Landroid/os/Bundle;
-Landroid/content/SyncRequest;->getProvider()Ljava/lang/String;
-Landroid/content/SyncRequest;->getSyncFlexTime()J
-Landroid/content/SyncRequest;->getSyncRunTime()J
-Landroid/content/SyncRequest;->isExpedited()Z
-Landroid/content/SyncRequest;->isPeriodic()Z
-Landroid/content/SyncRequest;->mDisallowMetered:Z
-Landroid/content/SyncRequest;->mIsAuthority:Z
-Landroid/content/SyncRequest;->mIsExpedited:Z
-Landroid/content/SyncRequest;->mSyncFlexTimeSecs:J
-Landroid/content/SyncRequest;->TAG:Ljava/lang/String;
-Landroid/content/SyncResult;-><init>(Landroid/os/Parcel;)V
-Landroid/content/SyncResult;-><init>(Z)V
-Landroid/content/SyncStatusInfo$Stats;
-Landroid/content/SyncStatusInfo$Stats;-><init>()V
-Landroid/content/SyncStatusInfo$Stats;->clear()V
-Landroid/content/SyncStatusInfo$Stats;->copyTo(Landroid/content/SyncStatusInfo$Stats;)V
-Landroid/content/SyncStatusInfo$Stats;->numCancels:I
-Landroid/content/SyncStatusInfo$Stats;->numFailures:I
-Landroid/content/SyncStatusInfo$Stats;->numSourceFeed:I
-Landroid/content/SyncStatusInfo$Stats;->numSourceLocal:I
-Landroid/content/SyncStatusInfo$Stats;->numSourceOther:I
-Landroid/content/SyncStatusInfo$Stats;->numSourcePeriodic:I
-Landroid/content/SyncStatusInfo$Stats;->numSourcePoll:I
-Landroid/content/SyncStatusInfo$Stats;->numSourceUser:I
-Landroid/content/SyncStatusInfo$Stats;->numSyncs:I
-Landroid/content/SyncStatusInfo$Stats;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/content/SyncStatusInfo$Stats;->totalElapsedTime:J
-Landroid/content/SyncStatusInfo$Stats;->writeToParcel(Landroid/os/Parcel;)V
-Landroid/content/SyncStatusInfo;
-Landroid/content/SyncStatusInfo;-><init>(Landroid/content/SyncStatusInfo;)V
-Landroid/content/SyncStatusInfo;->addEvent(Ljava/lang/String;)V
-Landroid/content/SyncStatusInfo;->areSameDates(JJ)Z
-Landroid/content/SyncStatusInfo;->copy([J[J)V
-Landroid/content/SyncStatusInfo;->getEvent(I)Ljava/lang/String;
-Landroid/content/SyncStatusInfo;->getEventCount()I
-Landroid/content/SyncStatusInfo;->getEventTime(I)J
-Landroid/content/SyncStatusInfo;->lastTodayResetTime:J
-Landroid/content/SyncStatusInfo;->MAX_EVENT_COUNT:I
-Landroid/content/SyncStatusInfo;->maybeResetTodayStats(ZZ)V
-Landroid/content/SyncStatusInfo;->mLastEvents:Ljava/util/ArrayList;
-Landroid/content/SyncStatusInfo;->mLastEventTimes:Ljava/util/ArrayList;
-Landroid/content/SyncStatusInfo;->perSourceLastFailureTimes:[J
-Landroid/content/SyncStatusInfo;->perSourceLastSuccessTimes:[J
-Landroid/content/SyncStatusInfo;->setLastFailure(IJLjava/lang/String;)V
-Landroid/content/SyncStatusInfo;->setLastSuccess(IJ)V
-Landroid/content/SyncStatusInfo;->SOURCE_COUNT:I
-Landroid/content/SyncStatusInfo;->TAG:Ljava/lang/String;
-Landroid/content/SyncStatusInfo;->todayStats:Landroid/content/SyncStatusInfo$Stats;
-Landroid/content/SyncStatusInfo;->totalStats:Landroid/content/SyncStatusInfo$Stats;
-Landroid/content/SyncStatusInfo;->VERSION:I
-Landroid/content/SyncStatusInfo;->yesterdayStats:Landroid/content/SyncStatusInfo$Stats;
-Landroid/content/UndoManager$UndoState;
-Landroid/content/UndoManager$UndoState;-><init>(Landroid/content/UndoManager;I)V
-Landroid/content/UndoManager$UndoState;-><init>(Landroid/content/UndoManager;Landroid/os/Parcel;Ljava/lang/ClassLoader;)V
-Landroid/content/UndoManager$UndoState;->addOperation(Landroid/content/UndoOperation;)V
-Landroid/content/UndoManager$UndoState;->canMerge()Z
-Landroid/content/UndoManager$UndoState;->commit()V
-Landroid/content/UndoManager$UndoState;->countOperations()I
-Landroid/content/UndoManager$UndoState;->destroy()V
-Landroid/content/UndoManager$UndoState;->getCommitId()I
-Landroid/content/UndoManager$UndoState;->getLabel()Ljava/lang/CharSequence;
-Landroid/content/UndoManager$UndoState;->getLastOperation(Ljava/lang/Class;Landroid/content/UndoOwner;)Landroid/content/UndoOperation;
-Landroid/content/UndoManager$UndoState;->hasData()Z
-Landroid/content/UndoManager$UndoState;->hasMultipleOwners()Z
-Landroid/content/UndoManager$UndoState;->hasOperation(Landroid/content/UndoOwner;)Z
-Landroid/content/UndoManager$UndoState;->makeExecuted()V
-Landroid/content/UndoManager$UndoState;->matchOwner(Landroid/content/UndoOwner;)Z
-Landroid/content/UndoManager$UndoState;->mCanMerge:Z
-Landroid/content/UndoManager$UndoState;->mCommitId:I
-Landroid/content/UndoManager$UndoState;->mExecuted:Z
-Landroid/content/UndoManager$UndoState;->mLabel:Ljava/lang/CharSequence;
-Landroid/content/UndoManager$UndoState;->mManager:Landroid/content/UndoManager;
-Landroid/content/UndoManager$UndoState;->mOperations:Ljava/util/ArrayList;
-Landroid/content/UndoManager$UndoState;->mRecent:Ljava/util/ArrayList;
-Landroid/content/UndoManager$UndoState;->redo()V
-Landroid/content/UndoManager$UndoState;->setCanMerge(Z)Z
-Landroid/content/UndoManager$UndoState;->setLabel(Ljava/lang/CharSequence;)V
-Landroid/content/UndoManager$UndoState;->undo()V
-Landroid/content/UndoManager$UndoState;->updateLabel(Ljava/lang/CharSequence;)V
-Landroid/content/UndoManager$UndoState;->writeToParcel(Landroid/os/Parcel;)V
-Landroid/content/UndoManager;
-Landroid/content/UndoManager;->createWorkingState()V
-Landroid/content/UndoManager;->findNextState(Ljava/util/ArrayList;[Landroid/content/UndoOwner;I)I
-Landroid/content/UndoManager;->findPrevState(Ljava/util/ArrayList;[Landroid/content/UndoOwner;I)I
-Landroid/content/UndoManager;->getHistorySize()I
-Landroid/content/UndoManager;->getLastOperation(I)Landroid/content/UndoOperation;
-Landroid/content/UndoManager;->getLastOperation(Landroid/content/UndoOwner;I)Landroid/content/UndoOperation;
-Landroid/content/UndoManager;->getRedoLabel([Landroid/content/UndoOwner;)Ljava/lang/CharSequence;
-Landroid/content/UndoManager;->getTopRedo([Landroid/content/UndoOwner;)Landroid/content/UndoManager$UndoState;
-Landroid/content/UndoManager;->getTopUndo([Landroid/content/UndoOwner;)Landroid/content/UndoManager$UndoState;
-Landroid/content/UndoManager;->getUndoLabel([Landroid/content/UndoOwner;)Ljava/lang/CharSequence;
-Landroid/content/UndoManager;->getUpdateNestingLevel()I
-Landroid/content/UndoManager;->hasOperation(Landroid/content/UndoOwner;)Z
-Landroid/content/UndoManager;->isInUpdate()Z
-Landroid/content/UndoManager;->matchOwners(Landroid/content/UndoManager$UndoState;[Landroid/content/UndoOwner;)Z
-Landroid/content/UndoManager;->mCommitId:I
-Landroid/content/UndoManager;->MERGE_MODE_ANY:I
-Landroid/content/UndoManager;->MERGE_MODE_NONE:I
-Landroid/content/UndoManager;->MERGE_MODE_UNIQUE:I
-Landroid/content/UndoManager;->mHistorySize:I
-Landroid/content/UndoManager;->mInUndo:Z
-Landroid/content/UndoManager;->mMerged:Z
-Landroid/content/UndoManager;->mNextSavedIdx:I
-Landroid/content/UndoManager;->mOwners:Landroid/util/ArrayMap;
-Landroid/content/UndoManager;->mRedos:Ljava/util/ArrayList;
-Landroid/content/UndoManager;->mStateOwners:[Landroid/content/UndoOwner;
-Landroid/content/UndoManager;->mStateSeq:I
-Landroid/content/UndoManager;->mUndos:Ljava/util/ArrayList;
-Landroid/content/UndoManager;->mUpdateCount:I
-Landroid/content/UndoManager;->mWorking:Landroid/content/UndoManager$UndoState;
-Landroid/content/UndoManager;->pushWorkingState()V
-Landroid/content/UndoManager;->removeOwner(Landroid/content/UndoOwner;)V
-Landroid/content/UndoManager;->restoreOwner(Landroid/os/Parcel;)Landroid/content/UndoOwner;
-Landroid/content/UndoManager;->saveOwner(Landroid/content/UndoOwner;Landroid/os/Parcel;)V
-Landroid/content/UndoManager;->setHistorySize(I)V
-Landroid/content/UndoManager;->suggestUndoLabel(Ljava/lang/CharSequence;)V
-Landroid/content/UndoManager;->uncommitState(ILandroid/content/UndoOwner;)Z
-Landroid/content/UndoOperation;
-Landroid/content/UndoOperation;->allowMerge()Z
-Landroid/content/UndoOperation;->commit()V
-Landroid/content/UndoOperation;->getOwner()Landroid/content/UndoOwner;
-Landroid/content/UndoOperation;->getOwnerData()Ljava/lang/Object;
-Landroid/content/UndoOperation;->hasData()Z
-Landroid/content/UndoOperation;->matchOwner(Landroid/content/UndoOwner;)Z
-Landroid/content/UndoOperation;->mOwner:Landroid/content/UndoOwner;
-Landroid/content/UndoOperation;->redo()V
-Landroid/content/UndoOperation;->undo()V
-Landroid/content/UndoOwner;
-Landroid/content/UndoOwner;-><init>(Ljava/lang/String;Landroid/content/UndoManager;)V
-Landroid/content/UndoOwner;->getData()Ljava/lang/Object;
-Landroid/content/UndoOwner;->getTag()Ljava/lang/String;
-Landroid/content/UndoOwner;->mData:Ljava/lang/Object;
-Landroid/content/UndoOwner;->mManager:Landroid/content/UndoManager;
-Landroid/content/UndoOwner;->mOpCount:I
-Landroid/content/UndoOwner;->mSavedIdx:I
-Landroid/content/UndoOwner;->mStateSeq:I
-Landroid/content/UndoOwner;->mTag:Ljava/lang/String;
-Landroid/content/UriMatcher;-><init>()V
-Landroid/content/UriMatcher;->EXACT:I
-Landroid/content/UriMatcher;->mCode:I
-Landroid/content/UriMatcher;->mWhich:I
-Landroid/content/UriMatcher;->NUMBER:I
-Landroid/content/UriMatcher;->TEXT:I
-Landroid/content/UriPermission;-><init>(Landroid/net/Uri;IJ)V
-Landroid/content/UriPermission;-><init>(Landroid/os/Parcel;)V
-Landroid/content/UriPermission;->mModeFlags:I
-Landroid/content/UriPermission;->mPersistedTime:J
-Landroid/content/UriPermission;->mUri:Landroid/net/Uri;
-Landroid/database/AbstractCursor$SelfContentObserver;->mCursor:Ljava/lang/ref/WeakReference;
-Landroid/database/AbstractCursor;->mContentObservable:Landroid/database/ContentObservable;
-Landroid/database/AbstractCursor;->mDataSetObservable:Landroid/database/DataSetObservable;
-Landroid/database/AbstractCursor;->mSelfObserver:Landroid/database/ContentObserver;
-Landroid/database/AbstractCursor;->mSelfObserverLock:Ljava/lang/Object;
-Landroid/database/AbstractCursor;->mSelfObserverRegistered:Z
-Landroid/database/AbstractCursor;->onDeactivateOrClose()V
-Landroid/database/AbstractCursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;I)V
-Landroid/database/AbstractCursor;->TAG:Ljava/lang/String;
-Landroid/database/BulkCursorDescriptor;
-Landroid/database/BulkCursorDescriptor;-><init>()V
-Landroid/database/BulkCursorDescriptor;->columnNames:[Ljava/lang/String;
-Landroid/database/BulkCursorDescriptor;->count:I
-Landroid/database/BulkCursorDescriptor;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/database/BulkCursorDescriptor;->cursor:Landroid/database/IBulkCursor;
-Landroid/database/BulkCursorDescriptor;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/database/BulkCursorDescriptor;->wantsAllOnMoveCalls:Z
-Landroid/database/BulkCursorDescriptor;->window:Landroid/database/CursorWindow;
-Landroid/database/BulkCursorNative;
-Landroid/database/BulkCursorNative;-><init>()V
-Landroid/database/BulkCursorNative;->asInterface(Landroid/os/IBinder;)Landroid/database/IBulkCursor;
-Landroid/database/BulkCursorToCursorAdaptor;
-Landroid/database/BulkCursorToCursorAdaptor;-><init>()V
-Landroid/database/BulkCursorToCursorAdaptor;->getObserver()Landroid/database/IContentObserver;
-Landroid/database/BulkCursorToCursorAdaptor;->initialize(Landroid/database/BulkCursorDescriptor;)V
-Landroid/database/BulkCursorToCursorAdaptor;->mBulkCursor:Landroid/database/IBulkCursor;
-Landroid/database/BulkCursorToCursorAdaptor;->mColumns:[Ljava/lang/String;
-Landroid/database/BulkCursorToCursorAdaptor;->mCount:I
-Landroid/database/BulkCursorToCursorAdaptor;->mObserverBridge:Landroid/database/AbstractCursor$SelfContentObserver;
-Landroid/database/BulkCursorToCursorAdaptor;->mWantsAllOnMoveCalls:Z
-Landroid/database/BulkCursorToCursorAdaptor;->TAG:Ljava/lang/String;
-Landroid/database/BulkCursorToCursorAdaptor;->throwIfCursorIsClosed()V
-Landroid/database/ContentObserver$NotificationRunnable;
-Landroid/database/ContentObserver$NotificationRunnable;-><init>(ZLandroid/net/Uri;I)V
-Landroid/database/ContentObserver$NotificationRunnable;->mSelfChange:Z
-Landroid/database/ContentObserver$NotificationRunnable;->mUri:Landroid/net/Uri;
-Landroid/database/ContentObserver$NotificationRunnable;->mUserId:I
-Landroid/database/ContentObserver$Transport;
-Landroid/database/ContentObserver$Transport;-><init>(Landroid/database/ContentObserver;)V
-Landroid/database/ContentObserver$Transport;->mContentObserver:Landroid/database/ContentObserver;
-Landroid/database/ContentObserver$Transport;->onChange(ZLandroid/net/Uri;I)V
-Landroid/database/ContentObserver$Transport;->releaseContentObserver()V
-Landroid/database/ContentObserver;->dispatchChange(ZLandroid/net/Uri;I)V
-Landroid/database/ContentObserver;->getContentObserver()Landroid/database/IContentObserver;
-Landroid/database/ContentObserver;->mHandler:Landroid/os/Handler;
-Landroid/database/ContentObserver;->mLock:Ljava/lang/Object;
-Landroid/database/ContentObserver;->mTransport:Landroid/database/ContentObserver$Transport;
-Landroid/database/ContentObserver;->onChange(ZLandroid/net/Uri;I)V
-Landroid/database/CursorJoiner$Result;-><init>()V
-Landroid/database/CursorJoiner;->buildColumnIndiciesArray(Landroid/database/Cursor;[Ljava/lang/String;)[I
-Landroid/database/CursorJoiner;->compareStrings([[Ljava/lang/String;)I
-Landroid/database/CursorJoiner;->incrementCursors()V
-Landroid/database/CursorJoiner;->mColumnsLeft:[I
-Landroid/database/CursorJoiner;->mColumnsRight:[I
-Landroid/database/CursorJoiner;->mCompareResult:Landroid/database/CursorJoiner$Result;
-Landroid/database/CursorJoiner;->mCompareResultIsValid:Z
-Landroid/database/CursorJoiner;->mCursorLeft:Landroid/database/Cursor;
-Landroid/database/CursorJoiner;->mCursorRight:Landroid/database/Cursor;
-Landroid/database/CursorJoiner;->mValues:[Ljava/lang/String;
-Landroid/database/CursorJoiner;->populateValues([Ljava/lang/String;Landroid/database/Cursor;[II)V
-Landroid/database/CursorToBulkCursorAdaptor$ContentObserverProxy;
-Landroid/database/CursorToBulkCursorAdaptor$ContentObserverProxy;-><init>(Landroid/database/IContentObserver;Landroid/os/IBinder$DeathRecipient;)V
-Landroid/database/CursorToBulkCursorAdaptor$ContentObserverProxy;->mRemote:Landroid/database/IContentObserver;
-Landroid/database/CursorToBulkCursorAdaptor$ContentObserverProxy;->unlinkToDeath(Landroid/os/IBinder$DeathRecipient;)Z
-Landroid/database/CursorToBulkCursorAdaptor;
-Landroid/database/CursorToBulkCursorAdaptor;-><init>(Landroid/database/Cursor;Landroid/database/IContentObserver;Ljava/lang/String;)V
-Landroid/database/CursorToBulkCursorAdaptor;->close()V
-Landroid/database/CursorToBulkCursorAdaptor;->closeFilledWindowLocked()V
-Landroid/database/CursorToBulkCursorAdaptor;->createAndRegisterObserverProxyLocked(Landroid/database/IContentObserver;)V
-Landroid/database/CursorToBulkCursorAdaptor;->deactivate()V
-Landroid/database/CursorToBulkCursorAdaptor;->disposeLocked()V
-Landroid/database/CursorToBulkCursorAdaptor;->getBulkCursorDescriptor()Landroid/database/BulkCursorDescriptor;
-Landroid/database/CursorToBulkCursorAdaptor;->getExtras()Landroid/os/Bundle;
-Landroid/database/CursorToBulkCursorAdaptor;->getWindow(I)Landroid/database/CursorWindow;
-Landroid/database/CursorToBulkCursorAdaptor;->mCursor:Landroid/database/CrossProcessCursor;
-Landroid/database/CursorToBulkCursorAdaptor;->mFilledWindow:Landroid/database/CursorWindow;
-Landroid/database/CursorToBulkCursorAdaptor;->mLock:Ljava/lang/Object;
-Landroid/database/CursorToBulkCursorAdaptor;->mObserver:Landroid/database/CursorToBulkCursorAdaptor$ContentObserverProxy;
-Landroid/database/CursorToBulkCursorAdaptor;->mProviderName:Ljava/lang/String;
-Landroid/database/CursorToBulkCursorAdaptor;->onMove(I)V
-Landroid/database/CursorToBulkCursorAdaptor;->requery(Landroid/database/IContentObserver;)I
-Landroid/database/CursorToBulkCursorAdaptor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
-Landroid/database/CursorToBulkCursorAdaptor;->TAG:Ljava/lang/String;
-Landroid/database/CursorToBulkCursorAdaptor;->throwIfCursorIsClosed()V
-Landroid/database/CursorToBulkCursorAdaptor;->unregisterObserverProxyLocked()V
-Landroid/database/CursorWindow;-><init>(Landroid/os/Parcel;)V
-Landroid/database/CursorWindow;->dispose()V
-Landroid/database/CursorWindow;->getCursorWindowSize()I
-Landroid/database/CursorWindow;->getName()Ljava/lang/String;
-Landroid/database/CursorWindow;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/database/CursorWindow;->mName:Ljava/lang/String;
-Landroid/database/CursorWindow;->mStartPos:I
-Landroid/database/CursorWindow;->nativeAllocRow(J)Z
-Landroid/database/CursorWindow;->nativeClear(J)V
-Landroid/database/CursorWindow;->nativeCopyStringToBuffer(JIILandroid/database/CharArrayBuffer;)V
-Landroid/database/CursorWindow;->nativeCreate(Ljava/lang/String;I)J
-Landroid/database/CursorWindow;->nativeCreateFromParcel(Landroid/os/Parcel;)J
-Landroid/database/CursorWindow;->nativeDispose(J)V
-Landroid/database/CursorWindow;->nativeFreeLastRow(J)V
-Landroid/database/CursorWindow;->nativeGetBlob(JII)[B
-Landroid/database/CursorWindow;->nativeGetDouble(JII)D
-Landroid/database/CursorWindow;->nativeGetLong(JII)J
-Landroid/database/CursorWindow;->nativeGetName(J)Ljava/lang/String;
-Landroid/database/CursorWindow;->nativeGetNumRows(J)I
-Landroid/database/CursorWindow;->nativeGetString(JII)Ljava/lang/String;
-Landroid/database/CursorWindow;->nativeGetType(JII)I
-Landroid/database/CursorWindow;->nativePutBlob(J[BII)Z
-Landroid/database/CursorWindow;->nativePutDouble(JDII)Z
-Landroid/database/CursorWindow;->nativePutLong(JJII)Z
-Landroid/database/CursorWindow;->nativePutNull(JII)Z
-Landroid/database/CursorWindow;->nativePutString(JLjava/lang/String;II)Z
-Landroid/database/CursorWindow;->nativeSetNumColumns(JI)Z
-Landroid/database/CursorWindow;->nativeWriteToParcel(JLandroid/os/Parcel;)V
-Landroid/database/CursorWindow;->recordClosingOfWindow(J)V
-Landroid/database/CursorWindow;->recordNewWindow(IJ)V
-Landroid/database/CursorWindow;->STATS_TAG:Ljava/lang/String;
-Landroid/database/CursorWindowAllocationException;
-Landroid/database/CursorWindowAllocationException;-><init>(Ljava/lang/String;)V
-Landroid/database/DatabaseUtils$InsertHelper;->buildSQL()V
-Landroid/database/DatabaseUtils$InsertHelper;->getStatement(Z)Landroid/database/sqlite/SQLiteStatement;
-Landroid/database/DatabaseUtils$InsertHelper;->insertInternal(Landroid/content/ContentValues;Z)J
-Landroid/database/DatabaseUtils$InsertHelper;->mColumns:Ljava/util/HashMap;
-Landroid/database/DatabaseUtils$InsertHelper;->mDb:Landroid/database/sqlite/SQLiteDatabase;
-Landroid/database/DatabaseUtils$InsertHelper;->mInsertSQL:Ljava/lang/String;
-Landroid/database/DatabaseUtils$InsertHelper;->mInsertStatement:Landroid/database/sqlite/SQLiteStatement;
-Landroid/database/DatabaseUtils$InsertHelper;->mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
-Landroid/database/DatabaseUtils$InsertHelper;->mReplaceStatement:Landroid/database/sqlite/SQLiteStatement;
-Landroid/database/DatabaseUtils$InsertHelper;->mTableName:Ljava/lang/String;
-Landroid/database/DatabaseUtils$InsertHelper;->TABLE_INFO_PRAGMA_COLUMNNAME_INDEX:I
-Landroid/database/DatabaseUtils$InsertHelper;->TABLE_INFO_PRAGMA_DEFAULT_INDEX:I
-Landroid/database/DatabaseUtils;->cursorFillWindow(Landroid/database/Cursor;ILandroid/database/CursorWindow;)V
-Landroid/database/DatabaseUtils;->DEBUG:Z
-Landroid/database/DatabaseUtils;->DIGITS:[C
-Landroid/database/DatabaseUtils;->encodeHex([B)[C
-Landroid/database/DatabaseUtils;->findRowIdColumnIndex([Ljava/lang/String;)I
-Landroid/database/DatabaseUtils;->getCollationKeyInBytes(Ljava/lang/String;)[B
-Landroid/database/DatabaseUtils;->getKeyLen([B)I
-Landroid/database/DatabaseUtils;->mColl:Ljava/text/Collator;
-Landroid/database/DatabaseUtils;->queryIsEmpty(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Z
-Landroid/database/DatabaseUtils;->readExceptionFromParcel(Landroid/os/Parcel;Ljava/lang/String;I)V
-Landroid/database/DatabaseUtils;->TAG:Ljava/lang/String;
-Landroid/database/DefaultDatabaseErrorHandler;->deleteDatabaseFile(Ljava/lang/String;)V
-Landroid/database/DefaultDatabaseErrorHandler;->TAG:Ljava/lang/String;
-Landroid/database/IBulkCursor;
-Landroid/database/IBulkCursor;->close()V
-Landroid/database/IBulkCursor;->CLOSE_TRANSACTION:I
-Landroid/database/IBulkCursor;->deactivate()V
-Landroid/database/IBulkCursor;->DEACTIVATE_TRANSACTION:I
-Landroid/database/IBulkCursor;->descriptor:Ljava/lang/String;
-Landroid/database/IBulkCursor;->getExtras()Landroid/os/Bundle;
-Landroid/database/IBulkCursor;->getWindow(I)Landroid/database/CursorWindow;
-Landroid/database/IBulkCursor;->GET_CURSOR_WINDOW_TRANSACTION:I
-Landroid/database/IBulkCursor;->GET_EXTRAS_TRANSACTION:I
-Landroid/database/IBulkCursor;->onMove(I)V
-Landroid/database/IBulkCursor;->ON_MOVE_TRANSACTION:I
-Landroid/database/IBulkCursor;->requery(Landroid/database/IContentObserver;)I
-Landroid/database/IBulkCursor;->REQUERY_TRANSACTION:I
-Landroid/database/IBulkCursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
-Landroid/database/IBulkCursor;->RESPOND_TRANSACTION:I
-Landroid/database/IContentObserver$Stub$Proxy;
-Landroid/database/IContentObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/database/IContentObserver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/database/IContentObserver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/database/IContentObserver$Stub$Proxy;->onChange(ZLandroid/net/Uri;I)V
-Landroid/database/IContentObserver$Stub;
-Landroid/database/IContentObserver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/database/IContentObserver$Stub;->TRANSACTION_onChange:I
-Landroid/database/IContentObserver;
-Landroid/database/MatrixCursor$RowBuilder;-><init>(I)V
-Landroid/database/MatrixCursor$RowBuilder;->endIndex:I
-Landroid/database/MatrixCursor$RowBuilder;->index:I
-Landroid/database/MatrixCursor$RowBuilder;->row:I
-Landroid/database/MatrixCursor;->addRow(Ljava/util/ArrayList;I)V
-Landroid/database/MatrixCursor;->columnCount:I
-Landroid/database/MatrixCursor;->columnNames:[Ljava/lang/String;
-Landroid/database/MatrixCursor;->ensureCapacity(I)V
-Landroid/database/MergeCursor;->mCursor:Landroid/database/Cursor;
-Landroid/database/MergeCursor;->mCursors:[Landroid/database/Cursor;
-Landroid/database/MergeCursor;->mObserver:Landroid/database/DataSetObserver;
-Landroid/database/sqlite/DatabaseObjectNotClosedException;
-Landroid/database/sqlite/DatabaseObjectNotClosedException;->s:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteCompatibilityWalFlags;
-Landroid/database/sqlite/SQLiteCompatibilityWalFlags;-><init>()V
-Landroid/database/sqlite/SQLiteCompatibilityWalFlags;->areFlagsSet()Z
-Landroid/database/sqlite/SQLiteCompatibilityWalFlags;->getWALSyncMode()Ljava/lang/String;
-Landroid/database/sqlite/SQLiteCompatibilityWalFlags;->init(Ljava/lang/String;)V
-Landroid/database/sqlite/SQLiteCompatibilityWalFlags;->initIfNeeded()V
-Landroid/database/sqlite/SQLiteCompatibilityWalFlags;->isCompatibilityWalSupported()Z
-Landroid/database/sqlite/SQLiteCompatibilityWalFlags;->reset()V
-Landroid/database/sqlite/SQLiteCompatibilityWalFlags;->sCallingGlobalSettings:Z
-Landroid/database/sqlite/SQLiteCompatibilityWalFlags;->sCompatibilityWalSupported:Z
-Landroid/database/sqlite/SQLiteCompatibilityWalFlags;->sFlagsSet:Z
-Landroid/database/sqlite/SQLiteCompatibilityWalFlags;->sInitialized:Z
-Landroid/database/sqlite/SQLiteCompatibilityWalFlags;->sWALSyncMode:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteCompatibilityWalFlags;->TAG:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteConnection$Operation;
-Landroid/database/sqlite/SQLiteConnection$Operation;-><init>()V
-Landroid/database/sqlite/SQLiteConnection$Operation;->describe(Ljava/lang/StringBuilder;Z)V
-Landroid/database/sqlite/SQLiteConnection$Operation;->getStatus()Ljava/lang/String;
-Landroid/database/sqlite/SQLiteConnection$Operation;->getTraceMethodName()Ljava/lang/String;
-Landroid/database/sqlite/SQLiteConnection$Operation;->MAX_TRACE_METHOD_NAME_LEN:I
-Landroid/database/sqlite/SQLiteConnection$Operation;->mBindArgs:Ljava/util/ArrayList;
-Landroid/database/sqlite/SQLiteConnection$Operation;->mCookie:I
-Landroid/database/sqlite/SQLiteConnection$Operation;->mEndTime:J
-Landroid/database/sqlite/SQLiteConnection$Operation;->mException:Ljava/lang/Exception;
-Landroid/database/sqlite/SQLiteConnection$Operation;->mFinished:Z
-Landroid/database/sqlite/SQLiteConnection$Operation;->mKind:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteConnection$Operation;->mSql:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteConnection$Operation;->mStartTime:J
-Landroid/database/sqlite/SQLiteConnection$Operation;->mStartWallTime:J
-Landroid/database/sqlite/SQLiteConnection$OperationLog;
-Landroid/database/sqlite/SQLiteConnection$OperationLog;-><init>(Landroid/database/sqlite/SQLiteConnectionPool;)V
-Landroid/database/sqlite/SQLiteConnection$OperationLog;->beginOperation(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)I
-Landroid/database/sqlite/SQLiteConnection$OperationLog;->COOKIE_GENERATION_SHIFT:I
-Landroid/database/sqlite/SQLiteConnection$OperationLog;->COOKIE_INDEX_MASK:I
-Landroid/database/sqlite/SQLiteConnection$OperationLog;->describeCurrentOperation()Ljava/lang/String;
-Landroid/database/sqlite/SQLiteConnection$OperationLog;->dump(Landroid/util/Printer;Z)V
-Landroid/database/sqlite/SQLiteConnection$OperationLog;->endOperation(I)V
-Landroid/database/sqlite/SQLiteConnection$OperationLog;->endOperationDeferLog(I)Z
-Landroid/database/sqlite/SQLiteConnection$OperationLog;->endOperationDeferLogLocked(I)Z
-Landroid/database/sqlite/SQLiteConnection$OperationLog;->failOperation(ILjava/lang/Exception;)V
-Landroid/database/sqlite/SQLiteConnection$OperationLog;->getOperationLocked(I)Landroid/database/sqlite/SQLiteConnection$Operation;
-Landroid/database/sqlite/SQLiteConnection$OperationLog;->logOperation(ILjava/lang/String;)V
-Landroid/database/sqlite/SQLiteConnection$OperationLog;->logOperationLocked(ILjava/lang/String;)V
-Landroid/database/sqlite/SQLiteConnection$OperationLog;->MAX_RECENT_OPERATIONS:I
-Landroid/database/sqlite/SQLiteConnection$OperationLog;->mGeneration:I
-Landroid/database/sqlite/SQLiteConnection$OperationLog;->mIndex:I
-Landroid/database/sqlite/SQLiteConnection$OperationLog;->mOperations:[Landroid/database/sqlite/SQLiteConnection$Operation;
-Landroid/database/sqlite/SQLiteConnection$OperationLog;->mPool:Landroid/database/sqlite/SQLiteConnectionPool;
-Landroid/database/sqlite/SQLiteConnection$OperationLog;->newOperationCookieLocked(I)I
-Landroid/database/sqlite/SQLiteConnection$PreparedStatement;
-Landroid/database/sqlite/SQLiteConnection$PreparedStatement;-><init>()V
-Landroid/database/sqlite/SQLiteConnection$PreparedStatement;->mInCache:Z
-Landroid/database/sqlite/SQLiteConnection$PreparedStatement;->mInUse:Z
-Landroid/database/sqlite/SQLiteConnection$PreparedStatement;->mNumParameters:I
-Landroid/database/sqlite/SQLiteConnection$PreparedStatement;->mPoolNext:Landroid/database/sqlite/SQLiteConnection$PreparedStatement;
-Landroid/database/sqlite/SQLiteConnection$PreparedStatement;->mReadOnly:Z
-Landroid/database/sqlite/SQLiteConnection$PreparedStatement;->mSql:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteConnection$PreparedStatement;->mStatementPtr:J
-Landroid/database/sqlite/SQLiteConnection$PreparedStatement;->mType:I
-Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache;
-Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache;-><init>(I)V
-Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache;->dump(Landroid/util/Printer;)V
-Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache;->entryRemoved(ZLjava/lang/String;Landroid/database/sqlite/SQLiteConnection$PreparedStatement;Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V
-Landroid/database/sqlite/SQLiteConnection;
-Landroid/database/sqlite/SQLiteConnection;-><init>(Landroid/database/sqlite/SQLiteConnectionPool;Landroid/database/sqlite/SQLiteDatabaseConfiguration;IZ)V
-Landroid/database/sqlite/SQLiteConnection;->acquirePreparedStatement(Ljava/lang/String;)Landroid/database/sqlite/SQLiteConnection$PreparedStatement;
-Landroid/database/sqlite/SQLiteConnection;->applyBlockGuardPolicy(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V
-Landroid/database/sqlite/SQLiteConnection;->attachCancellationSignal(Landroid/os/CancellationSignal;)V
-Landroid/database/sqlite/SQLiteConnection;->bindArguments(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;[Ljava/lang/Object;)V
-Landroid/database/sqlite/SQLiteConnection;->canonicalizeSyncMode(Ljava/lang/String;)Ljava/lang/String;
-Landroid/database/sqlite/SQLiteConnection;->close()V
-Landroid/database/sqlite/SQLiteConnection;->collectDbStats(Ljava/util/ArrayList;)V
-Landroid/database/sqlite/SQLiteConnection;->collectDbStatsUnsafe(Ljava/util/ArrayList;)V
-Landroid/database/sqlite/SQLiteConnection;->DEBUG:Z
-Landroid/database/sqlite/SQLiteConnection;->describeCurrentOperationUnsafe()Ljava/lang/String;
-Landroid/database/sqlite/SQLiteConnection;->detachCancellationSignal(Landroid/os/CancellationSignal;)V
-Landroid/database/sqlite/SQLiteConnection;->dispose(Z)V
-Landroid/database/sqlite/SQLiteConnection;->dump(Landroid/util/Printer;Z)V
-Landroid/database/sqlite/SQLiteConnection;->dumpUnsafe(Landroid/util/Printer;Z)V
-Landroid/database/sqlite/SQLiteConnection;->EMPTY_BYTE_ARRAY:[B
-Landroid/database/sqlite/SQLiteConnection;->EMPTY_STRING_ARRAY:[Ljava/lang/String;
-Landroid/database/sqlite/SQLiteConnection;->execute(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V
-Landroid/database/sqlite/SQLiteConnection;->executeForBlobFileDescriptor(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;
-Landroid/database/sqlite/SQLiteConnection;->executeForChangedRowCount(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)I
-Landroid/database/sqlite/SQLiteConnection;->executeForCursorWindow(Ljava/lang/String;[Ljava/lang/Object;Landroid/database/CursorWindow;IIZLandroid/os/CancellationSignal;)I
-Landroid/database/sqlite/SQLiteConnection;->executeForLastInsertedRowId(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)J
-Landroid/database/sqlite/SQLiteConnection;->executeForLong(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)J
-Landroid/database/sqlite/SQLiteConnection;->executeForString(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)Ljava/lang/String;
-Landroid/database/sqlite/SQLiteConnection;->finalizePreparedStatement(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V
-Landroid/database/sqlite/SQLiteConnection;->getConnectionId()I
-Landroid/database/sqlite/SQLiteConnection;->getMainDbStatsUnsafe(IJJ)Landroid/database/sqlite/SQLiteDebug$DbStats;
-Landroid/database/sqlite/SQLiteConnection;->isCacheable(I)Z
-Landroid/database/sqlite/SQLiteConnection;->isPreparedStatementInCache(Ljava/lang/String;)Z
-Landroid/database/sqlite/SQLiteConnection;->isPrimaryConnection()Z
-Landroid/database/sqlite/SQLiteConnection;->mCancellationSignalAttachCount:I
-Landroid/database/sqlite/SQLiteConnection;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/database/sqlite/SQLiteConnection;->mConfiguration:Landroid/database/sqlite/SQLiteDatabaseConfiguration;
-Landroid/database/sqlite/SQLiteConnection;->mConnectionId:I
-Landroid/database/sqlite/SQLiteConnection;->mConnectionPtr:J
-Landroid/database/sqlite/SQLiteConnection;->mIsPrimaryConnection:Z
-Landroid/database/sqlite/SQLiteConnection;->mIsReadOnlyConnection:Z
-Landroid/database/sqlite/SQLiteConnection;->mOnlyAllowReadOnlyOperations:Z
-Landroid/database/sqlite/SQLiteConnection;->mPool:Landroid/database/sqlite/SQLiteConnectionPool;
-Landroid/database/sqlite/SQLiteConnection;->mPreparedStatementCache:Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache;
-Landroid/database/sqlite/SQLiteConnection;->mPreparedStatementPool:Landroid/database/sqlite/SQLiteConnection$PreparedStatement;
-Landroid/database/sqlite/SQLiteConnection;->mRecentOperations:Landroid/database/sqlite/SQLiteConnection$OperationLog;
-Landroid/database/sqlite/SQLiteConnection;->nativeBindBlob(JJI[B)V
-Landroid/database/sqlite/SQLiteConnection;->nativeBindDouble(JJID)V
-Landroid/database/sqlite/SQLiteConnection;->nativeBindLong(JJIJ)V
-Landroid/database/sqlite/SQLiteConnection;->nativeBindNull(JJI)V
-Landroid/database/sqlite/SQLiteConnection;->nativeBindString(JJILjava/lang/String;)V
-Landroid/database/sqlite/SQLiteConnection;->nativeCancel(J)V
-Landroid/database/sqlite/SQLiteConnection;->nativeClose(J)V
-Landroid/database/sqlite/SQLiteConnection;->nativeExecute(JJ)V
-Landroid/database/sqlite/SQLiteConnection;->nativeExecuteForBlobFileDescriptor(JJ)I
-Landroid/database/sqlite/SQLiteConnection;->nativeExecuteForChangedRowCount(JJ)I
-Landroid/database/sqlite/SQLiteConnection;->nativeExecuteForCursorWindow(JJJIIZ)J
-Landroid/database/sqlite/SQLiteConnection;->nativeExecuteForLastInsertedRowId(JJ)J
-Landroid/database/sqlite/SQLiteConnection;->nativeExecuteForLong(JJ)J
-Landroid/database/sqlite/SQLiteConnection;->nativeExecuteForString(JJ)Ljava/lang/String;
-Landroid/database/sqlite/SQLiteConnection;->nativeFinalizeStatement(JJ)V
-Landroid/database/sqlite/SQLiteConnection;->nativeGetColumnCount(JJ)I
-Landroid/database/sqlite/SQLiteConnection;->nativeGetColumnName(JJI)Ljava/lang/String;
-Landroid/database/sqlite/SQLiteConnection;->nativeGetDbLookaside(J)I
-Landroid/database/sqlite/SQLiteConnection;->nativeGetParameterCount(JJ)I
-Landroid/database/sqlite/SQLiteConnection;->nativeIsReadOnly(JJ)Z
-Landroid/database/sqlite/SQLiteConnection;->nativeOpen(Ljava/lang/String;ILjava/lang/String;ZZII)J
-Landroid/database/sqlite/SQLiteConnection;->nativePrepareStatement(JLjava/lang/String;)J
-Landroid/database/sqlite/SQLiteConnection;->nativeRegisterCustomFunction(JLandroid/database/sqlite/SQLiteCustomFunction;)V
-Landroid/database/sqlite/SQLiteConnection;->nativeRegisterLocalizedCollators(JLjava/lang/String;)V
-Landroid/database/sqlite/SQLiteConnection;->nativeResetCancel(JZ)V
-Landroid/database/sqlite/SQLiteConnection;->nativeResetStatementAndClearBindings(JJ)V
-Landroid/database/sqlite/SQLiteConnection;->obtainPreparedStatement(Ljava/lang/String;JIIZ)Landroid/database/sqlite/SQLiteConnection$PreparedStatement;
-Landroid/database/sqlite/SQLiteConnection;->open()V
-Landroid/database/sqlite/SQLiteConnection;->open(Landroid/database/sqlite/SQLiteConnectionPool;Landroid/database/sqlite/SQLiteDatabaseConfiguration;IZ)Landroid/database/sqlite/SQLiteConnection;
-Landroid/database/sqlite/SQLiteConnection;->prepare(Ljava/lang/String;Landroid/database/sqlite/SQLiteStatementInfo;)V
-Landroid/database/sqlite/SQLiteConnection;->reconfigure(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V
-Landroid/database/sqlite/SQLiteConnection;->recyclePreparedStatement(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V
-Landroid/database/sqlite/SQLiteConnection;->releasePreparedStatement(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V
-Landroid/database/sqlite/SQLiteConnection;->setAutoCheckpointInterval()V
-Landroid/database/sqlite/SQLiteConnection;->setForeignKeyModeFromConfiguration()V
-Landroid/database/sqlite/SQLiteConnection;->setJournalMode(Ljava/lang/String;)V
-Landroid/database/sqlite/SQLiteConnection;->setJournalSizeLimit()V
-Landroid/database/sqlite/SQLiteConnection;->setLocaleFromConfiguration()V
-Landroid/database/sqlite/SQLiteConnection;->setOnlyAllowReadOnlyOperations(Z)V
-Landroid/database/sqlite/SQLiteConnection;->setPageSize()V
-Landroid/database/sqlite/SQLiteConnection;->setSyncMode(Ljava/lang/String;)V
-Landroid/database/sqlite/SQLiteConnection;->setWalModeFromConfiguration()V
-Landroid/database/sqlite/SQLiteConnection;->TAG:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteConnection;->throwIfStatementForbidden(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V
-Landroid/database/sqlite/SQLiteConnection;->trimSqlForDisplay(Ljava/lang/String;)Ljava/lang/String;
-Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;
-Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;-><init>()V
-Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;->DISCARD:Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;
-Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;->NORMAL:Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;
-Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;->RECONFIGURE:Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;
-Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;->valueOf(Ljava/lang/String;)Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;
-Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;->values()[Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;
-Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;
-Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;-><init>()V
-Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;->mAssignedConnection:Landroid/database/sqlite/SQLiteConnection;
-Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;->mConnectionFlags:I
-Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;->mException:Ljava/lang/RuntimeException;
-Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;->mNext:Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;
-Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;->mNonce:I
-Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;->mPriority:I
-Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;->mSql:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;->mStartTime:J
-Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;->mThread:Ljava/lang/Thread;
-Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;->mWantPrimaryConnection:Z
-Landroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;
-Landroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;-><init>(Landroid/os/Looper;J)V
-Landroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->connectionAcquired(Landroid/database/sqlite/SQLiteConnection;)V
-Landroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->connectionClosed(Landroid/database/sqlite/SQLiteConnection;)V
-Landroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->connectionReleased(Landroid/database/sqlite/SQLiteConnection;)V
-Landroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->mTimeout:J
-Landroid/database/sqlite/SQLiteConnectionPool;
-Landroid/database/sqlite/SQLiteConnectionPool;-><init>(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V
-Landroid/database/sqlite/SQLiteConnectionPool;->acquireConnection(Ljava/lang/String;ILandroid/os/CancellationSignal;)Landroid/database/sqlite/SQLiteConnection;
-Landroid/database/sqlite/SQLiteConnectionPool;->cancelConnectionWaiterLocked(Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;)V
-Landroid/database/sqlite/SQLiteConnectionPool;->closeAvailableConnectionLocked(I)Z
-Landroid/database/sqlite/SQLiteConnectionPool;->closeAvailableConnectionsAndLogExceptionsLocked()V
-Landroid/database/sqlite/SQLiteConnectionPool;->closeAvailableNonPrimaryConnectionsAndLogExceptions()V
-Landroid/database/sqlite/SQLiteConnectionPool;->closeAvailableNonPrimaryConnectionsAndLogExceptionsLocked()V
-Landroid/database/sqlite/SQLiteConnectionPool;->closeConnectionAndLogExceptionsLocked(Landroid/database/sqlite/SQLiteConnection;)V
-Landroid/database/sqlite/SQLiteConnectionPool;->closeExcessConnectionsAndLogExceptionsLocked()V
-Landroid/database/sqlite/SQLiteConnectionPool;->collectDbStats(Ljava/util/ArrayList;)V
-Landroid/database/sqlite/SQLiteConnectionPool;->CONNECTION_FLAG_INTERACTIVE:I
-Landroid/database/sqlite/SQLiteConnectionPool;->CONNECTION_FLAG_PRIMARY_CONNECTION_AFFINITY:I
-Landroid/database/sqlite/SQLiteConnectionPool;->CONNECTION_FLAG_READ_ONLY:I
-Landroid/database/sqlite/SQLiteConnectionPool;->CONNECTION_POOL_BUSY_MILLIS:J
-Landroid/database/sqlite/SQLiteConnectionPool;->disableIdleConnectionHandler()V
-Landroid/database/sqlite/SQLiteConnectionPool;->discardAcquiredConnectionsLocked()V
-Landroid/database/sqlite/SQLiteConnectionPool;->dispose(Z)V
-Landroid/database/sqlite/SQLiteConnectionPool;->dump(Landroid/util/Printer;Z)V
-Landroid/database/sqlite/SQLiteConnectionPool;->finishAcquireConnectionLocked(Landroid/database/sqlite/SQLiteConnection;I)V
-Landroid/database/sqlite/SQLiteConnectionPool;->getPriority(I)I
-Landroid/database/sqlite/SQLiteConnectionPool;->isSessionBlockingImportantConnectionWaitersLocked(ZI)Z
-Landroid/database/sqlite/SQLiteConnectionPool;->logConnectionPoolBusyLocked(JI)V
-Landroid/database/sqlite/SQLiteConnectionPool;->mAcquiredConnections:Ljava/util/WeakHashMap;
-Landroid/database/sqlite/SQLiteConnectionPool;->markAcquiredConnectionsLocked(Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;)V
-Landroid/database/sqlite/SQLiteConnectionPool;->mAvailableNonPrimaryConnections:Ljava/util/ArrayList;
-Landroid/database/sqlite/SQLiteConnectionPool;->mAvailablePrimaryConnection:Landroid/database/sqlite/SQLiteConnection;
-Landroid/database/sqlite/SQLiteConnectionPool;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/database/sqlite/SQLiteConnectionPool;->mConfiguration:Landroid/database/sqlite/SQLiteDatabaseConfiguration;
-Landroid/database/sqlite/SQLiteConnectionPool;->mConnectionLeaked:Ljava/util/concurrent/atomic/AtomicBoolean;
-Landroid/database/sqlite/SQLiteConnectionPool;->mConnectionWaiterPool:Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;
-Landroid/database/sqlite/SQLiteConnectionPool;->mConnectionWaiterQueue:Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;
-Landroid/database/sqlite/SQLiteConnectionPool;->mIdleConnectionHandler:Landroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;
-Landroid/database/sqlite/SQLiteConnectionPool;->mIsOpen:Z
-Landroid/database/sqlite/SQLiteConnectionPool;->mLock:Ljava/lang/Object;
-Landroid/database/sqlite/SQLiteConnectionPool;->mMaxConnectionPoolSize:I
-Landroid/database/sqlite/SQLiteConnectionPool;->mNextConnectionId:I
-Landroid/database/sqlite/SQLiteConnectionPool;->mTotalExecutionTimeCounter:Ljava/util/concurrent/atomic/AtomicLong;
-Landroid/database/sqlite/SQLiteConnectionPool;->obtainConnectionWaiterLocked(Ljava/lang/Thread;JIZLjava/lang/String;I)Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;
-Landroid/database/sqlite/SQLiteConnectionPool;->onConnectionLeaked()V
-Landroid/database/sqlite/SQLiteConnectionPool;->onStatementExecuted(J)V
-Landroid/database/sqlite/SQLiteConnectionPool;->open()V
-Landroid/database/sqlite/SQLiteConnectionPool;->open(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)Landroid/database/sqlite/SQLiteConnectionPool;
-Landroid/database/sqlite/SQLiteConnectionPool;->openConnectionLocked(Landroid/database/sqlite/SQLiteDatabaseConfiguration;Z)Landroid/database/sqlite/SQLiteConnection;
-Landroid/database/sqlite/SQLiteConnectionPool;->reconfigure(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V
-Landroid/database/sqlite/SQLiteConnectionPool;->reconfigureAllConnectionsLocked()V
-Landroid/database/sqlite/SQLiteConnectionPool;->recycleConnectionLocked(Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;)Z
-Landroid/database/sqlite/SQLiteConnectionPool;->recycleConnectionWaiterLocked(Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;)V
-Landroid/database/sqlite/SQLiteConnectionPool;->releaseConnection(Landroid/database/sqlite/SQLiteConnection;)V
-Landroid/database/sqlite/SQLiteConnectionPool;->setMaxConnectionPoolSizeLocked()V
-Landroid/database/sqlite/SQLiteConnectionPool;->setupIdleConnectionHandler(Landroid/os/Looper;J)V
-Landroid/database/sqlite/SQLiteConnectionPool;->shouldYieldConnection(Landroid/database/sqlite/SQLiteConnection;I)Z
-Landroid/database/sqlite/SQLiteConnectionPool;->TAG:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteConnectionPool;->throwIfClosedLocked()V
-Landroid/database/sqlite/SQLiteConnectionPool;->tryAcquireNonPrimaryConnectionLocked(Ljava/lang/String;I)Landroid/database/sqlite/SQLiteConnection;
-Landroid/database/sqlite/SQLiteConnectionPool;->tryAcquirePrimaryConnectionLocked(I)Landroid/database/sqlite/SQLiteConnection;
-Landroid/database/sqlite/SQLiteConnectionPool;->waitForConnection(Ljava/lang/String;ILandroid/os/CancellationSignal;)Landroid/database/sqlite/SQLiteConnection;
-Landroid/database/sqlite/SQLiteConnectionPool;->wakeConnectionWaitersLocked()V
-Landroid/database/sqlite/SQLiteCursor;->mColumnNameMap:Ljava/util/Map;
-Landroid/database/sqlite/SQLiteCursor;->mColumns:[Ljava/lang/String;
-Landroid/database/sqlite/SQLiteCursor;->mCount:I
-Landroid/database/sqlite/SQLiteCursor;->mCursorWindowCapacity:I
-Landroid/database/sqlite/SQLiteCursor;->mDriver:Landroid/database/sqlite/SQLiteCursorDriver;
-Landroid/database/sqlite/SQLiteCursor;->mFillWindowForwardOnly:Z
-Landroid/database/sqlite/SQLiteCursor;->mStackTrace:Ljava/lang/Throwable;
-Landroid/database/sqlite/SQLiteCursor;->NO_COUNT:I
-Landroid/database/sqlite/SQLiteCursor;->TAG:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteCustomFunction;
-Landroid/database/sqlite/SQLiteCustomFunction;-><init>(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CustomFunction;)V
-Landroid/database/sqlite/SQLiteCustomFunction;->callback:Landroid/database/sqlite/SQLiteDatabase$CustomFunction;
-Landroid/database/sqlite/SQLiteDatabase$CustomFunction;
-Landroid/database/sqlite/SQLiteDatabase$CustomFunction;->callback([Ljava/lang/String;)V
-Landroid/database/sqlite/SQLiteDatabase$DatabaseOpenFlags;
-Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->isWriteAheadLoggingEnabled()Z
-Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->mCursorFactory:Landroid/database/sqlite/SQLiteDatabase$CursorFactory;
-Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->mErrorHandler:Landroid/database/DatabaseErrorHandler;
-Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->mIdleConnectionTimeout:J
-Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->mJournalMode:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->mLookasideSlotCount:I
-Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->mLookasideSlotSize:I
-Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->mOpenFlags:I
-Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->mSyncMode:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->setWriteAheadLoggingEnabled(Z)V
-Landroid/database/sqlite/SQLiteDatabase$OpenParams;-><init>(ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;IIJLjava/lang/String;Ljava/lang/String;)V
-Landroid/database/sqlite/SQLiteDatabase$OpenParams;->mCursorFactory:Landroid/database/sqlite/SQLiteDatabase$CursorFactory;
-Landroid/database/sqlite/SQLiteDatabase$OpenParams;->mErrorHandler:Landroid/database/DatabaseErrorHandler;
-Landroid/database/sqlite/SQLiteDatabase$OpenParams;->mIdleConnectionTimeout:J
-Landroid/database/sqlite/SQLiteDatabase$OpenParams;->mJournalMode:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteDatabase$OpenParams;->mLookasideSlotCount:I
-Landroid/database/sqlite/SQLiteDatabase$OpenParams;->mLookasideSlotSize:I
-Landroid/database/sqlite/SQLiteDatabase$OpenParams;->mOpenFlags:I
-Landroid/database/sqlite/SQLiteDatabase$OpenParams;->mSyncMode:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteDatabase$OpenParams;->toBuilder()Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
-Landroid/database/sqlite/SQLiteDatabase;-><init>(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;IIJLjava/lang/String;Ljava/lang/String;)V
-Landroid/database/sqlite/SQLiteDatabase;->addCustomFunction(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CustomFunction;)V
-Landroid/database/sqlite/SQLiteDatabase;->createSession()Landroid/database/sqlite/SQLiteSession;
-Landroid/database/sqlite/SQLiteDatabase;->DEBUG_CLOSE_IDLE_CONNECTIONS:Z
-Landroid/database/sqlite/SQLiteDatabase;->DISABLE_COMPATIBILITY_WAL:I
-Landroid/database/sqlite/SQLiteDatabase;->dispose(Z)V
-Landroid/database/sqlite/SQLiteDatabase;->dump(Landroid/util/Printer;Z)V
-Landroid/database/sqlite/SQLiteDatabase;->dumpAll(Landroid/util/Printer;Z)V
-Landroid/database/sqlite/SQLiteDatabase;->EVENT_DB_CORRUPT:I
-Landroid/database/sqlite/SQLiteDatabase;->executeSql(Ljava/lang/String;[Ljava/lang/Object;)I
-Landroid/database/sqlite/SQLiteDatabase;->getDbStats()Ljava/util/ArrayList;
-Landroid/database/sqlite/SQLiteDatabase;->getLabel()Ljava/lang/String;
-Landroid/database/sqlite/SQLiteDatabase;->getThreadDefaultConnectionFlags(Z)I
-Landroid/database/sqlite/SQLiteDatabase;->isInMemoryDatabase()Z
-Landroid/database/sqlite/SQLiteDatabase;->isMainThread()Z
-Landroid/database/sqlite/SQLiteDatabase;->isReadOnlyLocked()Z
-Landroid/database/sqlite/SQLiteDatabase;->mCloseGuardLocked:Ldalvik/system/CloseGuard;
-Landroid/database/sqlite/SQLiteDatabase;->mCursorFactory:Landroid/database/sqlite/SQLiteDatabase$CursorFactory;
-Landroid/database/sqlite/SQLiteDatabase;->mErrorHandler:Landroid/database/DatabaseErrorHandler;
-Landroid/database/sqlite/SQLiteDatabase;->mHasAttachedDbsLocked:Z
-Landroid/database/sqlite/SQLiteDatabase;->mLock:Ljava/lang/Object;
-Landroid/database/sqlite/SQLiteDatabase;->onCorruption()V
-Landroid/database/sqlite/SQLiteDatabase;->open()V
-Landroid/database/sqlite/SQLiteDatabase;->openInner()V
-Landroid/database/sqlite/SQLiteDatabase;->OPEN_READ_MASK:I
-Landroid/database/sqlite/SQLiteDatabase;->sActiveDatabases:Ljava/util/WeakHashMap;
-Landroid/database/sqlite/SQLiteDatabase;->TAG:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteDatabase;->throwIfNotOpenLocked()V
-Landroid/database/sqlite/SQLiteDatabase;->yieldIfContendedHelper(ZJ)Z
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;-><init>(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;-><init>(Ljava/lang/String;I)V
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;->customFunctions:Ljava/util/ArrayList;
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;->EMAIL_IN_DB_PATTERN:Ljava/util/regex/Pattern;
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;->foreignKeyConstraintsEnabled:Z
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;->idleConnectionTimeoutMs:J
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;->isInMemoryDb()Z
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;->isLookasideConfigSet()Z
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;->journalMode:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;->label:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;->locale:Ljava/util/Locale;
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;->lookasideSlotCount:I
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;->lookasideSlotSize:I
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;->MEMORY_DB_PATH:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;->openFlags:I
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;->path:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;->stripPathForLogs(Ljava/lang/String;)Ljava/lang/String;
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;->syncMode:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;->updateParametersFrom(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V
-Landroid/database/sqlite/SQLiteDatabaseConfiguration;->useCompatibilityWal()Z
-Landroid/database/sqlite/SQLiteDebug$DbStats;
-Landroid/database/sqlite/SQLiteDebug$DbStats;-><init>(Ljava/lang/String;JJIIII)V
-Landroid/database/sqlite/SQLiteDebug$DbStats;->cache:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteDebug$DbStats;->dbName:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteDebug$DbStats;->dbSize:J
-Landroid/database/sqlite/SQLiteDebug$DbStats;->lookaside:I
-Landroid/database/sqlite/SQLiteDebug$DbStats;->pageSize:J
-Landroid/database/sqlite/SQLiteDebug$PagerStats;
-Landroid/database/sqlite/SQLiteDebug$PagerStats;-><init>()V
-Landroid/database/sqlite/SQLiteDebug$PagerStats;->dbStats:Ljava/util/ArrayList;
-Landroid/database/sqlite/SQLiteDebug;
-Landroid/database/sqlite/SQLiteDebug;-><init>()V
-Landroid/database/sqlite/SQLiteDebug;->DEBUG_LOG_SLOW_QUERIES:Z
-Landroid/database/sqlite/SQLiteDebug;->DEBUG_SQL_LOG:Z
-Landroid/database/sqlite/SQLiteDebug;->DEBUG_SQL_STATEMENTS:Z
-Landroid/database/sqlite/SQLiteDebug;->DEBUG_SQL_TIME:Z
-Landroid/database/sqlite/SQLiteDebug;->dump(Landroid/util/Printer;[Ljava/lang/String;)V
-Landroid/database/sqlite/SQLiteDebug;->getDatabaseInfo()Landroid/database/sqlite/SQLiteDebug$PagerStats;
-Landroid/database/sqlite/SQLiteDebug;->nativeGetPagerStats(Landroid/database/sqlite/SQLiteDebug$PagerStats;)V
-Landroid/database/sqlite/SQLiteDebug;->shouldLogSlowQuery(J)Z
-Landroid/database/sqlite/SQLiteDirectCursorDriver;->mCancellationSignal:Landroid/os/CancellationSignal;
-Landroid/database/sqlite/SQLiteDirectCursorDriver;->mDatabase:Landroid/database/sqlite/SQLiteDatabase;
-Landroid/database/sqlite/SQLiteDirectCursorDriver;->mEditTable:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteDirectCursorDriver;->mQuery:Landroid/database/sqlite/SQLiteQuery;
-Landroid/database/sqlite/SQLiteDirectCursorDriver;->mSql:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteGlobal;-><init>()V
-Landroid/database/sqlite/SQLiteGlobal;->nativeReleaseMemory()I
-Landroid/database/sqlite/SQLiteGlobal;->sDefaultPageSize:I
-Landroid/database/sqlite/SQLiteGlobal;->sLock:Ljava/lang/Object;
-Landroid/database/sqlite/SQLiteGlobal;->TAG:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteOpenHelper;-><init>(Landroid/content/Context;Ljava/lang/String;IILandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;)V
-Landroid/database/sqlite/SQLiteOpenHelper;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;IILandroid/database/DatabaseErrorHandler;)V
-Landroid/database/sqlite/SQLiteOpenHelper;->getDatabaseLocked(Z)Landroid/database/sqlite/SQLiteDatabase;
-Landroid/database/sqlite/SQLiteOpenHelper;->mContext:Landroid/content/Context;
-Landroid/database/sqlite/SQLiteOpenHelper;->mDatabase:Landroid/database/sqlite/SQLiteDatabase;
-Landroid/database/sqlite/SQLiteOpenHelper;->mIsInitializing:Z
-Landroid/database/sqlite/SQLiteOpenHelper;->mMinimumSupportedVersion:I
-Landroid/database/sqlite/SQLiteOpenHelper;->mNewVersion:I
-Landroid/database/sqlite/SQLiteOpenHelper;->mOpenParamsBuilder:Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
-Landroid/database/sqlite/SQLiteOpenHelper;->onBeforeDelete(Landroid/database/sqlite/SQLiteDatabase;)V
-Landroid/database/sqlite/SQLiteOpenHelper;->setFilePermissionsForDb(Ljava/lang/String;)V
-Landroid/database/sqlite/SQLiteOpenHelper;->setOpenParamsBuilder(Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;)V
-Landroid/database/sqlite/SQLiteOpenHelper;->TAG:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteProgram;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V
-Landroid/database/sqlite/SQLiteProgram;->bind(ILjava/lang/Object;)V
-Landroid/database/sqlite/SQLiteProgram;->EMPTY_STRING_ARRAY:[Ljava/lang/String;
-Landroid/database/sqlite/SQLiteProgram;->getBindArgs()[Ljava/lang/Object;
-Landroid/database/sqlite/SQLiteProgram;->getColumnNames()[Ljava/lang/String;
-Landroid/database/sqlite/SQLiteProgram;->getConnectionFlags()I
-Landroid/database/sqlite/SQLiteProgram;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
-Landroid/database/sqlite/SQLiteProgram;->getSession()Landroid/database/sqlite/SQLiteSession;
-Landroid/database/sqlite/SQLiteProgram;->getSql()Ljava/lang/String;
-Landroid/database/sqlite/SQLiteProgram;->mColumnNames:[Ljava/lang/String;
-Landroid/database/sqlite/SQLiteProgram;->mDatabase:Landroid/database/sqlite/SQLiteDatabase;
-Landroid/database/sqlite/SQLiteProgram;->mNumParameters:I
-Landroid/database/sqlite/SQLiteProgram;->mReadOnly:Z
-Landroid/database/sqlite/SQLiteProgram;->onCorruption()V
-Landroid/database/sqlite/SQLiteQuery;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Landroid/os/CancellationSignal;)V
-Landroid/database/sqlite/SQLiteQuery;->fillWindow(Landroid/database/CursorWindow;IIZ)I
-Landroid/database/sqlite/SQLiteQuery;->mCancellationSignal:Landroid/os/CancellationSignal;
-Landroid/database/sqlite/SQLiteQuery;->TAG:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteQueryBuilder;->appendClause(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/database/sqlite/SQLiteQueryBuilder;->mFactory:Landroid/database/sqlite/SQLiteDatabase$CursorFactory;
-Landroid/database/sqlite/SQLiteQueryBuilder;->mProjectionMap:Ljava/util/Map;
-Landroid/database/sqlite/SQLiteQueryBuilder;->mStrict:Z
-Landroid/database/sqlite/SQLiteQueryBuilder;->sLimitPattern:Ljava/util/regex/Pattern;
-Landroid/database/sqlite/SQLiteQueryBuilder;->TAG:Ljava/lang/String;
-Landroid/database/sqlite/SQLiteSession$Transaction;
-Landroid/database/sqlite/SQLiteSession$Transaction;-><init>()V
-Landroid/database/sqlite/SQLiteSession$Transaction;->mChildFailed:Z
-Landroid/database/sqlite/SQLiteSession$Transaction;->mListener:Landroid/database/sqlite/SQLiteTransactionListener;
-Landroid/database/sqlite/SQLiteSession$Transaction;->mMarkedSuccessful:Z
-Landroid/database/sqlite/SQLiteSession$Transaction;->mMode:I
-Landroid/database/sqlite/SQLiteSession$Transaction;->mParent:Landroid/database/sqlite/SQLiteSession$Transaction;
-Landroid/database/sqlite/SQLiteSession;
-Landroid/database/sqlite/SQLiteSession;-><init>(Landroid/database/sqlite/SQLiteConnectionPool;)V
-Landroid/database/sqlite/SQLiteSession;->acquireConnection(Ljava/lang/String;ILandroid/os/CancellationSignal;)V
-Landroid/database/sqlite/SQLiteSession;->beginTransactionUnchecked(ILandroid/database/sqlite/SQLiteTransactionListener;ILandroid/os/CancellationSignal;)V
-Landroid/database/sqlite/SQLiteSession;->endTransaction(Landroid/os/CancellationSignal;)V
-Landroid/database/sqlite/SQLiteSession;->endTransactionUnchecked(Landroid/os/CancellationSignal;Z)V
-Landroid/database/sqlite/SQLiteSession;->execute(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)V
-Landroid/database/sqlite/SQLiteSession;->executeForBlobFileDescriptor(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;
-Landroid/database/sqlite/SQLiteSession;->executeForChangedRowCount(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)I
-Landroid/database/sqlite/SQLiteSession;->executeForCursorWindow(Ljava/lang/String;[Ljava/lang/Object;Landroid/database/CursorWindow;IIZILandroid/os/CancellationSignal;)I
-Landroid/database/sqlite/SQLiteSession;->executeForLastInsertedRowId(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)J
-Landroid/database/sqlite/SQLiteSession;->executeForLong(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)J
-Landroid/database/sqlite/SQLiteSession;->executeForString(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Ljava/lang/String;
-Landroid/database/sqlite/SQLiteSession;->executeSpecial(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Z
-Landroid/database/sqlite/SQLiteSession;->hasConnection()Z
-Landroid/database/sqlite/SQLiteSession;->hasNestedTransaction()Z
-Landroid/database/sqlite/SQLiteSession;->hasTransaction()Z
-Landroid/database/sqlite/SQLiteSession;->mConnection:Landroid/database/sqlite/SQLiteConnection;
-Landroid/database/sqlite/SQLiteSession;->mConnectionFlags:I
-Landroid/database/sqlite/SQLiteSession;->mConnectionPool:Landroid/database/sqlite/SQLiteConnectionPool;
-Landroid/database/sqlite/SQLiteSession;->mConnectionUseCount:I
-Landroid/database/sqlite/SQLiteSession;->mTransactionPool:Landroid/database/sqlite/SQLiteSession$Transaction;
-Landroid/database/sqlite/SQLiteSession;->mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
-Landroid/database/sqlite/SQLiteSession;->obtainTransaction(ILandroid/database/sqlite/SQLiteTransactionListener;)Landroid/database/sqlite/SQLiteSession$Transaction;
-Landroid/database/sqlite/SQLiteSession;->prepare(Ljava/lang/String;ILandroid/os/CancellationSignal;Landroid/database/sqlite/SQLiteStatementInfo;)V
-Landroid/database/sqlite/SQLiteSession;->recycleTransaction(Landroid/database/sqlite/SQLiteSession$Transaction;)V
-Landroid/database/sqlite/SQLiteSession;->releaseConnection()V
-Landroid/database/sqlite/SQLiteSession;->setTransactionSuccessful()V
-Landroid/database/sqlite/SQLiteSession;->throwIfNestedTransaction()V
-Landroid/database/sqlite/SQLiteSession;->throwIfNoTransaction()V
-Landroid/database/sqlite/SQLiteSession;->throwIfTransactionMarkedSuccessful()V
-Landroid/database/sqlite/SQLiteSession;->TRANSACTION_MODE_DEFERRED:I
-Landroid/database/sqlite/SQLiteSession;->TRANSACTION_MODE_EXCLUSIVE:I
-Landroid/database/sqlite/SQLiteSession;->TRANSACTION_MODE_IMMEDIATE:I
-Landroid/database/sqlite/SQLiteSession;->yieldTransaction(JZLandroid/os/CancellationSignal;)Z
-Landroid/database/sqlite/SQLiteSession;->yieldTransactionUnchecked(JLandroid/os/CancellationSignal;)Z
-Landroid/database/sqlite/SQLiteStatementInfo;
-Landroid/database/sqlite/SQLiteStatementInfo;-><init>()V
-Landroid/database/sqlite/SQLiteStatementInfo;->columnNames:[Ljava/lang/String;
-Landroid/database/sqlite/SQLiteStatementInfo;->numParameters:I
-Landroid/database/sqlite/SQLiteStatementInfo;->readOnly:Z
-Landroid/database/sqlite/SqliteWrapper;
-Landroid/database/sqlite/SqliteWrapper;-><init>()V
-Landroid/database/sqlite/SqliteWrapper;->isLowMemory(Landroid/database/sqlite/SQLiteException;)Z
-Landroid/database/sqlite/SqliteWrapper;->requery(Landroid/content/Context;Landroid/database/Cursor;)Z
-Landroid/database/sqlite/SqliteWrapper;->SQLITE_EXCEPTION_DETAIL_MESSAGE:Ljava/lang/String;
-Landroid/database/sqlite/SqliteWrapper;->TAG:Ljava/lang/String;
-Landroid/ddm/DdmHandleAppName;
-Landroid/ddm/DdmHandleAppName;-><init>()V
-Landroid/ddm/DdmHandleAppName;->CHUNK_APNM:I
-Landroid/ddm/DdmHandleAppName;->mAppName:Ljava/lang/String;
-Landroid/ddm/DdmHandleAppName;->mInstance:Landroid/ddm/DdmHandleAppName;
-Landroid/ddm/DdmHandleAppName;->register()V
-Landroid/ddm/DdmHandleAppName;->sendAPNM(Ljava/lang/String;I)V
-Landroid/ddm/DdmHandleExit;
-Landroid/ddm/DdmHandleExit;-><init>()V
-Landroid/ddm/DdmHandleExit;->CHUNK_EXIT:I
-Landroid/ddm/DdmHandleExit;->mInstance:Landroid/ddm/DdmHandleExit;
-Landroid/ddm/DdmHandleExit;->register()V
-Landroid/ddm/DdmHandleHeap;
-Landroid/ddm/DdmHandleHeap;-><init>()V
-Landroid/ddm/DdmHandleHeap;->CHUNK_HPDS:I
-Landroid/ddm/DdmHandleHeap;->CHUNK_HPDU:I
-Landroid/ddm/DdmHandleHeap;->CHUNK_HPGC:I
-Landroid/ddm/DdmHandleHeap;->CHUNK_HPIF:I
-Landroid/ddm/DdmHandleHeap;->CHUNK_HPSG:I
-Landroid/ddm/DdmHandleHeap;->CHUNK_NHSG:I
-Landroid/ddm/DdmHandleHeap;->CHUNK_REAE:I
-Landroid/ddm/DdmHandleHeap;->CHUNK_REAL:I
-Landroid/ddm/DdmHandleHeap;->CHUNK_REAQ:I
-Landroid/ddm/DdmHandleHeap;->handleHPDS(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleHeap;->handleHPDU(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleHeap;->handleHPGC(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleHeap;->handleHPIF(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleHeap;->handleHPSGNHSG(Lorg/apache/harmony/dalvik/ddmc/Chunk;Z)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleHeap;->handleREAE(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleHeap;->handleREAL(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleHeap;->handleREAQ(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleHeap;->mInstance:Landroid/ddm/DdmHandleHeap;
-Landroid/ddm/DdmHandleHeap;->register()V
-Landroid/ddm/DdmHandleHello;
-Landroid/ddm/DdmHandleHello;-><init>()V
-Landroid/ddm/DdmHandleHello;->CHUNK_FEAT:I
-Landroid/ddm/DdmHandleHello;->CHUNK_HELO:I
-Landroid/ddm/DdmHandleHello;->CHUNK_WAIT:I
-Landroid/ddm/DdmHandleHello;->FRAMEWORK_FEATURES:[Ljava/lang/String;
-Landroid/ddm/DdmHandleHello;->handleFEAT(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleHello;->handleHELO(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleHello;->mInstance:Landroid/ddm/DdmHandleHello;
-Landroid/ddm/DdmHandleHello;->register()V
-Landroid/ddm/DdmHandleHello;->sendWAIT(I)V
-Landroid/ddm/DdmHandleNativeHeap;
-Landroid/ddm/DdmHandleNativeHeap;-><init>()V
-Landroid/ddm/DdmHandleNativeHeap;->CHUNK_NHGT:I
-Landroid/ddm/DdmHandleNativeHeap;->getLeakInfo()[B
-Landroid/ddm/DdmHandleNativeHeap;->handleNHGT(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleNativeHeap;->mInstance:Landroid/ddm/DdmHandleNativeHeap;
-Landroid/ddm/DdmHandleNativeHeap;->register()V
-Landroid/ddm/DdmHandleProfiling;
-Landroid/ddm/DdmHandleProfiling;-><init>()V
-Landroid/ddm/DdmHandleProfiling;->CHUNK_MPRE:I
-Landroid/ddm/DdmHandleProfiling;->CHUNK_MPRQ:I
-Landroid/ddm/DdmHandleProfiling;->CHUNK_MPRS:I
-Landroid/ddm/DdmHandleProfiling;->CHUNK_MPSE:I
-Landroid/ddm/DdmHandleProfiling;->CHUNK_MPSS:I
-Landroid/ddm/DdmHandleProfiling;->CHUNK_SPSE:I
-Landroid/ddm/DdmHandleProfiling;->CHUNK_SPSS:I
-Landroid/ddm/DdmHandleProfiling;->DEBUG:Z
-Landroid/ddm/DdmHandleProfiling;->handleMPRE(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleProfiling;->handleMPRQ(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleProfiling;->handleMPRS(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleProfiling;->handleMPSEOrSPSE(Lorg/apache/harmony/dalvik/ddmc/Chunk;Ljava/lang/String;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleProfiling;->handleMPSS(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleProfiling;->handleSPSS(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleProfiling;->mInstance:Landroid/ddm/DdmHandleProfiling;
-Landroid/ddm/DdmHandleProfiling;->register()V
-Landroid/ddm/DdmHandleThread;
-Landroid/ddm/DdmHandleThread;-><init>()V
-Landroid/ddm/DdmHandleThread;->CHUNK_STKL:I
-Landroid/ddm/DdmHandleThread;->CHUNK_THCR:I
-Landroid/ddm/DdmHandleThread;->CHUNK_THDE:I
-Landroid/ddm/DdmHandleThread;->CHUNK_THEN:I
-Landroid/ddm/DdmHandleThread;->CHUNK_THST:I
-Landroid/ddm/DdmHandleThread;->createStackChunk([Ljava/lang/StackTraceElement;I)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleThread;->handleSTKL(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleThread;->handleTHEN(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleThread;->handleTHST(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleThread;->mInstance:Landroid/ddm/DdmHandleThread;
-Landroid/ddm/DdmHandleThread;->register()V
-Landroid/ddm/DdmHandleViewDebug;
-Landroid/ddm/DdmHandleViewDebug;-><init>()V
-Landroid/ddm/DdmHandleViewDebug;->captureLayers(Landroid/view/View;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleViewDebug;->captureView(Landroid/view/View;Landroid/view/View;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleViewDebug;->CHUNK_VULW:I
-Landroid/ddm/DdmHandleViewDebug;->CHUNK_VUOP:I
-Landroid/ddm/DdmHandleViewDebug;->CHUNK_VURT:I
-Landroid/ddm/DdmHandleViewDebug;->dumpDisplayLists(Landroid/view/View;Landroid/view/View;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleViewDebug;->dumpHierarchy(Landroid/view/View;Ljava/nio/ByteBuffer;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleViewDebug;->dumpTheme(Landroid/view/View;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleViewDebug;->ERR_EXCEPTION:I
-Landroid/ddm/DdmHandleViewDebug;->ERR_INVALID_OP:I
-Landroid/ddm/DdmHandleViewDebug;->ERR_INVALID_PARAM:I
-Landroid/ddm/DdmHandleViewDebug;->getRootView(Ljava/nio/ByteBuffer;)Landroid/view/View;
-Landroid/ddm/DdmHandleViewDebug;->getTargetView(Landroid/view/View;Ljava/nio/ByteBuffer;)Landroid/view/View;
-Landroid/ddm/DdmHandleViewDebug;->invokeViewMethod(Landroid/view/View;Landroid/view/View;Ljava/nio/ByteBuffer;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleViewDebug;->listWindows()Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleViewDebug;->profileView(Landroid/view/View;Landroid/view/View;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleViewDebug;->register()V
-Landroid/ddm/DdmHandleViewDebug;->setLayoutParameter(Landroid/view/View;Landroid/view/View;Ljava/nio/ByteBuffer;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-Landroid/ddm/DdmHandleViewDebug;->sInstance:Landroid/ddm/DdmHandleViewDebug;
-Landroid/ddm/DdmHandleViewDebug;->TAG:Ljava/lang/String;
-Landroid/ddm/DdmHandleViewDebug;->VUOP_CAPTURE_VIEW:I
-Landroid/ddm/DdmHandleViewDebug;->VUOP_DUMP_DISPLAYLIST:I
-Landroid/ddm/DdmHandleViewDebug;->VUOP_INVOKE_VIEW_METHOD:I
-Landroid/ddm/DdmHandleViewDebug;->VUOP_PROFILE_VIEW:I
-Landroid/ddm/DdmHandleViewDebug;->VUOP_SET_LAYOUT_PARAMETER:I
-Landroid/ddm/DdmHandleViewDebug;->VURT_CAPTURE_LAYERS:I
-Landroid/ddm/DdmHandleViewDebug;->VURT_DUMP_HIERARCHY:I
-Landroid/ddm/DdmHandleViewDebug;->VURT_DUMP_THEME:I
-Landroid/ddm/DdmRegister;
-Landroid/ddm/DdmRegister;-><init>()V
-Landroid/ddm/DdmRegister;->registerHandlers()V
-Landroid/drm/DrmConvertedStatus;->isValidStatusCode(I)Z
-Landroid/drm/DrmErrorEvent;->checkTypeValidity(I)V
-Landroid/drm/DrmEvent;->mAttributes:Ljava/util/HashMap;
-Landroid/drm/DrmEvent;->mMessage:Ljava/lang/String;
-Landroid/drm/DrmEvent;->mType:I
-Landroid/drm/DrmEvent;->mUniqueId:I
-Landroid/drm/DrmInfo;->isValid()Z
-Landroid/drm/DrmInfo;->mAttributes:Ljava/util/HashMap;
-Landroid/drm/DrmInfo;->mData:[B
-Landroid/drm/DrmInfo;->mInfoType:I
-Landroid/drm/DrmInfo;->mMimeType:Ljava/lang/String;
-Landroid/drm/DrmInfoEvent;->checkTypeValidity(I)V
-Landroid/drm/DrmInfoRequest;->isValid()Z
-Landroid/drm/DrmInfoRequest;->isValidType(I)Z
-Landroid/drm/DrmInfoRequest;->mInfoType:I
-Landroid/drm/DrmInfoRequest;->mMimeType:Ljava/lang/String;
-Landroid/drm/DrmInfoRequest;->mRequestInformation:Ljava/util/HashMap;
-Landroid/drm/DrmInfoStatus;->isValidStatusCode(I)Z
-Landroid/drm/DrmManagerClient$EventHandler;
-Landroid/drm/DrmManagerClient$EventHandler;-><init>(Landroid/os/Looper;)V
-Landroid/drm/DrmManagerClient$InfoHandler;
-Landroid/drm/DrmManagerClient$InfoHandler;-><init>(Landroid/os/Looper;)V
-Landroid/drm/DrmManagerClient$InfoHandler;->INFO_EVENT_TYPE:I
-Landroid/drm/DrmManagerClient;->ACTION_PROCESS_DRM_INFO:I
-Landroid/drm/DrmManagerClient;->ACTION_REMOVE_ALL_RIGHTS:I
-Landroid/drm/DrmManagerClient;->convertUriToPath(Landroid/net/Uri;)Ljava/lang/String;
-Landroid/drm/DrmManagerClient;->createEventThreads()V
-Landroid/drm/DrmManagerClient;->createListeners()V
-Landroid/drm/DrmManagerClient;->getErrorType(I)I
-Landroid/drm/DrmManagerClient;->getEventType(I)I
-Landroid/drm/DrmManagerClient;->installDrmEngine(Ljava/lang/String;)V
-Landroid/drm/DrmManagerClient;->INVALID_SESSION:I
-Landroid/drm/DrmManagerClient;->mClosed:Ljava/util/concurrent/atomic/AtomicBoolean;
-Landroid/drm/DrmManagerClient;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/drm/DrmManagerClient;->mContext:Landroid/content/Context;
-Landroid/drm/DrmManagerClient;->mEventHandler:Landroid/drm/DrmManagerClient$EventHandler;
-Landroid/drm/DrmManagerClient;->mEventThread:Landroid/os/HandlerThread;
-Landroid/drm/DrmManagerClient;->mInfoHandler:Landroid/drm/DrmManagerClient$InfoHandler;
-Landroid/drm/DrmManagerClient;->mInfoThread:Landroid/os/HandlerThread;
-Landroid/drm/DrmManagerClient;->mNativeContext:J
-Landroid/drm/DrmManagerClient;->mOnErrorListener:Landroid/drm/DrmManagerClient$OnErrorListener;
-Landroid/drm/DrmManagerClient;->mOnEventListener:Landroid/drm/DrmManagerClient$OnEventListener;
-Landroid/drm/DrmManagerClient;->mOnInfoListener:Landroid/drm/DrmManagerClient$OnInfoListener;
-Landroid/drm/DrmManagerClient;->mUniqueId:I
-Landroid/drm/DrmManagerClient;->notify(Ljava/lang/Object;IILjava/lang/String;)V
-Landroid/drm/DrmManagerClient;->TAG:Ljava/lang/String;
-Landroid/drm/DrmManagerClient;->_acquireDrmInfo(ILandroid/drm/DrmInfoRequest;)Landroid/drm/DrmInfo;
-Landroid/drm/DrmManagerClient;->_canHandle(ILjava/lang/String;Ljava/lang/String;)Z
-Landroid/drm/DrmManagerClient;->_checkRightsStatus(ILjava/lang/String;I)I
-Landroid/drm/DrmManagerClient;->_closeConvertSession(II)Landroid/drm/DrmConvertedStatus;
-Landroid/drm/DrmManagerClient;->_convertData(II[B)Landroid/drm/DrmConvertedStatus;
-Landroid/drm/DrmManagerClient;->_getAllSupportInfo(I)[Landroid/drm/DrmSupportInfo;
-Landroid/drm/DrmManagerClient;->_getConstraints(ILjava/lang/String;I)Landroid/content/ContentValues;
-Landroid/drm/DrmManagerClient;->_getDrmObjectType(ILjava/lang/String;Ljava/lang/String;)I
-Landroid/drm/DrmManagerClient;->_getMetadata(ILjava/lang/String;)Landroid/content/ContentValues;
-Landroid/drm/DrmManagerClient;->_getOriginalMimeType(ILjava/lang/String;Ljava/io/FileDescriptor;)Ljava/lang/String;
-Landroid/drm/DrmManagerClient;->_initialize()I
-Landroid/drm/DrmManagerClient;->_installDrmEngine(ILjava/lang/String;)V
-Landroid/drm/DrmManagerClient;->_openConvertSession(ILjava/lang/String;)I
-Landroid/drm/DrmManagerClient;->_processDrmInfo(ILandroid/drm/DrmInfo;)Landroid/drm/DrmInfoStatus;
-Landroid/drm/DrmManagerClient;->_release(I)V
-Landroid/drm/DrmManagerClient;->_removeAllRights(I)I
-Landroid/drm/DrmManagerClient;->_removeRights(ILjava/lang/String;)I
-Landroid/drm/DrmManagerClient;->_saveRights(ILandroid/drm/DrmRights;Ljava/lang/String;Ljava/lang/String;)I
-Landroid/drm/DrmManagerClient;->_setListeners(ILjava/lang/Object;)V
-Landroid/drm/DrmOutputStream;
-Landroid/drm/DrmOutputStream;-><init>(Landroid/drm/DrmManagerClient;Landroid/os/ParcelFileDescriptor;Ljava/lang/String;)V
-Landroid/drm/DrmOutputStream;->finish()V
-Landroid/drm/DrmOutputStream;->mClient:Landroid/drm/DrmManagerClient;
-Landroid/drm/DrmOutputStream;->mFd:Ljava/io/FileDescriptor;
-Landroid/drm/DrmOutputStream;->mPfd:Landroid/os/ParcelFileDescriptor;
-Landroid/drm/DrmOutputStream;->mSessionId:I
-Landroid/drm/DrmOutputStream;->TAG:Ljava/lang/String;
-Landroid/drm/DrmRights;->instantiate(Ljava/io/File;Ljava/lang/String;)V
-Landroid/drm/DrmRights;->isValid()Z
-Landroid/drm/DrmRights;->mAccountId:Ljava/lang/String;
-Landroid/drm/DrmRights;->mData:[B
-Landroid/drm/DrmRights;->mMimeType:Ljava/lang/String;
-Landroid/drm/DrmRights;->mSubscriptionId:Ljava/lang/String;
-Landroid/drm/DrmStore$Action;->isValid(I)Z
-Landroid/drm/DrmStore$Playback;->isValid(I)Z
-Landroid/drm/DrmSupportInfo;->isSupportedFileSuffix(Ljava/lang/String;)Z
-Landroid/drm/DrmSupportInfo;->isSupportedMimeType(Ljava/lang/String;)Z
-Landroid/drm/DrmSupportInfo;->mDescription:Ljava/lang/String;
-Landroid/drm/DrmSupportInfo;->mFileSuffixList:Ljava/util/ArrayList;
-Landroid/drm/DrmSupportInfo;->mMimeTypeList:Ljava/util/ArrayList;
-Landroid/drm/DrmUtils$ExtendedMetadataParser;-><init>([B)V
-Landroid/drm/DrmUtils$ExtendedMetadataParser;->mMap:Ljava/util/HashMap;
-Landroid/drm/DrmUtils$ExtendedMetadataParser;->readByte([BI)I
-Landroid/drm/DrmUtils$ExtendedMetadataParser;->readMultipleBytes([BII)Ljava/lang/String;
-Landroid/drm/DrmUtils;->quietlyDispose(Ljava/io/Closeable;)V
-Landroid/drm/DrmUtils;->readBytes(Ljava/io/File;)[B
-Landroid/drm/DrmUtils;->readBytes(Ljava/lang/String;)[B
-Landroid/drm/DrmUtils;->removeFile(Ljava/lang/String;)V
-Landroid/drm/DrmUtils;->writeToFile(Ljava/lang/String;[B)V
-Landroid/drm/ProcessedData;-><init>([BLjava/lang/String;)V
-Landroid/drm/ProcessedData;-><init>([BLjava/lang/String;Ljava/lang/String;)V
-Landroid/drm/ProcessedData;->mAccountId:Ljava/lang/String;
-Landroid/drm/ProcessedData;->mData:[B
-Landroid/drm/ProcessedData;->mSubscriptionId:Ljava/lang/String;
-Landroid/filterfw/core/AsyncRunner$AsyncRunnerTask;
-Landroid/filterfw/core/AsyncRunner$AsyncRunnerTask;-><init>()V
-Landroid/filterfw/core/AsyncRunner$AsyncRunnerTask;->doInBackground([[Landroid/filterfw/core/SyncRunner;)Landroid/filterfw/core/AsyncRunner$RunnerResult;
-Landroid/filterfw/core/AsyncRunner$AsyncRunnerTask;->onCancelled(Landroid/filterfw/core/AsyncRunner$RunnerResult;)V
-Landroid/filterfw/core/AsyncRunner$AsyncRunnerTask;->onPostExecute(Landroid/filterfw/core/AsyncRunner$RunnerResult;)V
-Landroid/filterfw/core/AsyncRunner$AsyncRunnerTask;->TAG:Ljava/lang/String;
-Landroid/filterfw/core/AsyncRunner$RunnerResult;
-Landroid/filterfw/core/AsyncRunner$RunnerResult;-><init>()V
-Landroid/filterfw/core/AsyncRunner$RunnerResult;->exception:Ljava/lang/Exception;
-Landroid/filterfw/core/AsyncRunner$RunnerResult;->status:I
-Landroid/filterfw/core/AsyncRunner;
-Landroid/filterfw/core/AsyncRunner;-><init>(Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/AsyncRunner;-><init>(Landroid/filterfw/core/FilterContext;Ljava/lang/Class;)V
-Landroid/filterfw/core/AsyncRunner;->close()V
-Landroid/filterfw/core/AsyncRunner;->getError()Ljava/lang/Exception;
-Landroid/filterfw/core/AsyncRunner;->getGraph()Landroid/filterfw/core/FilterGraph;
-Landroid/filterfw/core/AsyncRunner;->isProcessing:Z
-Landroid/filterfw/core/AsyncRunner;->isRunning()Z
-Landroid/filterfw/core/AsyncRunner;->mDoneListener:Landroid/filterfw/core/GraphRunner$OnRunnerDoneListener;
-Landroid/filterfw/core/AsyncRunner;->mException:Ljava/lang/Exception;
-Landroid/filterfw/core/AsyncRunner;->mLogVerbose:Z
-Landroid/filterfw/core/AsyncRunner;->mRunner:Landroid/filterfw/core/SyncRunner;
-Landroid/filterfw/core/AsyncRunner;->mRunTask:Landroid/filterfw/core/AsyncRunner$AsyncRunnerTask;
-Landroid/filterfw/core/AsyncRunner;->mSchedulerClass:Ljava/lang/Class;
-Landroid/filterfw/core/AsyncRunner;->run()V
-Landroid/filterfw/core/AsyncRunner;->setDoneCallback(Landroid/filterfw/core/GraphRunner$OnRunnerDoneListener;)V
-Landroid/filterfw/core/AsyncRunner;->setException(Ljava/lang/Exception;)V
-Landroid/filterfw/core/AsyncRunner;->setGraph(Landroid/filterfw/core/FilterGraph;)V
-Landroid/filterfw/core/AsyncRunner;->setRunning(Z)V
-Landroid/filterfw/core/AsyncRunner;->stop()V
-Landroid/filterfw/core/AsyncRunner;->TAG:Ljava/lang/String;
-Landroid/filterfw/core/CachedFrameManager;
-Landroid/filterfw/core/CachedFrameManager;-><init>()V
-Landroid/filterfw/core/CachedFrameManager;->clearCache()V
-Landroid/filterfw/core/CachedFrameManager;->dropOldestFrame()V
-Landroid/filterfw/core/CachedFrameManager;->findAvailableFrame(Landroid/filterfw/core/FrameFormat;IJ)Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/CachedFrameManager;->mAvailableFrames:Ljava/util/SortedMap;
-Landroid/filterfw/core/CachedFrameManager;->mStorageCapacity:I
-Landroid/filterfw/core/CachedFrameManager;->mStorageSize:I
-Landroid/filterfw/core/CachedFrameManager;->mTimeStamp:I
-Landroid/filterfw/core/CachedFrameManager;->newBoundFrame(Landroid/filterfw/core/FrameFormat;IJ)Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/CachedFrameManager;->newFrame(Landroid/filterfw/core/FrameFormat;)Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/CachedFrameManager;->releaseFrame(Landroid/filterfw/core/Frame;)Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/CachedFrameManager;->retainFrame(Landroid/filterfw/core/Frame;)Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/CachedFrameManager;->storeFrame(Landroid/filterfw/core/Frame;)Z
-Landroid/filterfw/core/CachedFrameManager;->tearDown()V
-Landroid/filterfw/core/FieldPort;
-Landroid/filterfw/core/FieldPort;-><init>(Landroid/filterfw/core/Filter;Ljava/lang/String;Ljava/lang/reflect/Field;Z)V
-Landroid/filterfw/core/FieldPort;->acceptsFrame()Z
-Landroid/filterfw/core/FieldPort;->clear()V
-Landroid/filterfw/core/FieldPort;->getTarget()Ljava/lang/Object;
-Landroid/filterfw/core/FieldPort;->hasFrame()Z
-Landroid/filterfw/core/FieldPort;->mField:Ljava/lang/reflect/Field;
-Landroid/filterfw/core/FieldPort;->mHasFrame:Z
-Landroid/filterfw/core/FieldPort;->mValue:Ljava/lang/Object;
-Landroid/filterfw/core/FieldPort;->mValueWaiting:Z
-Landroid/filterfw/core/FieldPort;->pullFrame()Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/FieldPort;->pushFrame(Landroid/filterfw/core/Frame;)V
-Landroid/filterfw/core/FieldPort;->setFieldFrame(Landroid/filterfw/core/Frame;Z)V
-Landroid/filterfw/core/FieldPort;->setFrame(Landroid/filterfw/core/Frame;)V
-Landroid/filterfw/core/FieldPort;->transfer(Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/Filter;
-Landroid/filterfw/core/Filter;->addAndSetFinalPorts(Landroid/filterfw/core/KeyValueMap;)V
-Landroid/filterfw/core/Filter;->addAnnotatedPorts()V
-Landroid/filterfw/core/Filter;->addFieldGenerator(Landroid/filterfw/core/GenerateFieldPort;Ljava/lang/reflect/Field;)V
-Landroid/filterfw/core/Filter;->addFieldPort(Ljava/lang/String;Ljava/lang/reflect/Field;ZZ)V
-Landroid/filterfw/core/Filter;->addInputPort(Ljava/lang/String;)V
-Landroid/filterfw/core/Filter;->addMaskedInputPort(Ljava/lang/String;Landroid/filterfw/core/FrameFormat;)V
-Landroid/filterfw/core/Filter;->addOutputBasedOnInput(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/filterfw/core/Filter;->addOutputPort(Ljava/lang/String;Landroid/filterfw/core/FrameFormat;)V
-Landroid/filterfw/core/Filter;->addProgramGenerator(Landroid/filterfw/core/GenerateProgramPort;Ljava/lang/reflect/Field;)V
-Landroid/filterfw/core/Filter;->addProgramPort(Ljava/lang/String;Ljava/lang/String;Ljava/lang/reflect/Field;Ljava/lang/Class;Z)V
-Landroid/filterfw/core/Filter;->canProcess()Z
-Landroid/filterfw/core/Filter;->clearInputs()V
-Landroid/filterfw/core/Filter;->clearOutputs()V
-Landroid/filterfw/core/Filter;->close(Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/Filter;->closeOutputPort(Ljava/lang/String;)V
-Landroid/filterfw/core/Filter;->closePorts()V
-Landroid/filterfw/core/Filter;->delayNextProcess(I)V
-Landroid/filterfw/core/Filter;->fieldPortValueUpdated(Ljava/lang/String;Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/Filter;->filterMustClose()Z
-Landroid/filterfw/core/Filter;->getFilterClassName()Ljava/lang/String;
-Landroid/filterfw/core/Filter;->getInputFormat(Ljava/lang/String;)Landroid/filterfw/core/FrameFormat;
-Landroid/filterfw/core/Filter;->getInputPort(Ljava/lang/String;)Landroid/filterfw/core/InputPort;
-Landroid/filterfw/core/Filter;->getInputPorts()Ljava/util/Collection;
-Landroid/filterfw/core/Filter;->getName()Ljava/lang/String;
-Landroid/filterfw/core/Filter;->getNumberOfConnectedInputs()I
-Landroid/filterfw/core/Filter;->getNumberOfConnectedOutputs()I
-Landroid/filterfw/core/Filter;->getNumberOfInputs()I
-Landroid/filterfw/core/Filter;->getNumberOfOutputs()I
-Landroid/filterfw/core/Filter;->getOutputFormat(Ljava/lang/String;Landroid/filterfw/core/FrameFormat;)Landroid/filterfw/core/FrameFormat;
-Landroid/filterfw/core/Filter;->getOutputPort(Ljava/lang/String;)Landroid/filterfw/core/OutputPort;
-Landroid/filterfw/core/Filter;->getOutputPorts()Ljava/util/Collection;
-Landroid/filterfw/core/Filter;->getSleepDelay()I
-Landroid/filterfw/core/Filter;->getStatus()I
-Landroid/filterfw/core/Filter;->init()V
-Landroid/filterfw/core/Filter;->initFinalPorts(Landroid/filterfw/core/KeyValueMap;)V
-Landroid/filterfw/core/Filter;->initProgramInputs(Landroid/filterfw/core/Program;Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/Filter;->initRemainingPorts(Landroid/filterfw/core/KeyValueMap;)V
-Landroid/filterfw/core/Filter;->initWithAssignmentList([[Ljava/lang/Object;)V
-Landroid/filterfw/core/Filter;->initWithAssignmentString(Ljava/lang/String;)V
-Landroid/filterfw/core/Filter;->initWithValueMap(Landroid/filterfw/core/KeyValueMap;)V
-Landroid/filterfw/core/Filter;->inputConditionsMet()Z
-Landroid/filterfw/core/Filter;->isOpen()Z
-Landroid/filterfw/core/Filter;->mCurrentTimestamp:J
-Landroid/filterfw/core/Filter;->mFramesToRelease:Ljava/util/HashSet;
-Landroid/filterfw/core/Filter;->mFramesToSet:Ljava/util/HashMap;
-Landroid/filterfw/core/Filter;->mInputCount:I
-Landroid/filterfw/core/Filter;->mInputPorts:Ljava/util/HashMap;
-Landroid/filterfw/core/Filter;->mIsOpen:Z
-Landroid/filterfw/core/Filter;->mLogVerbose:Z
-Landroid/filterfw/core/Filter;->mName:Ljava/lang/String;
-Landroid/filterfw/core/Filter;->mOutputCount:I
-Landroid/filterfw/core/Filter;->mOutputPorts:Ljava/util/HashMap;
-Landroid/filterfw/core/Filter;->mSleepDelay:I
-Landroid/filterfw/core/Filter;->mStatus:I
-Landroid/filterfw/core/Filter;->notifyFieldPortValueUpdated(Ljava/lang/String;Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/Filter;->open(Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/Filter;->openOutputs()V
-Landroid/filterfw/core/Filter;->outputConditionsMet()Z
-Landroid/filterfw/core/Filter;->parametersUpdated(Ljava/util/Set;)V
-Landroid/filterfw/core/Filter;->performClose(Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/Filter;->performOpen(Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/Filter;->performProcess(Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/Filter;->performTearDown(Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/Filter;->prepare(Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/Filter;->process(Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/Filter;->pullInput(Ljava/lang/String;)Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/Filter;->pushInputFrame(Ljava/lang/String;Landroid/filterfw/core/Frame;)V
-Landroid/filterfw/core/Filter;->pushInputValue(Ljava/lang/String;Ljava/lang/Object;)V
-Landroid/filterfw/core/Filter;->pushOutput(Ljava/lang/String;Landroid/filterfw/core/Frame;)V
-Landroid/filterfw/core/Filter;->releasePulledFrames(Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/Filter;->setImmediateInputValue(Ljava/lang/String;Ljava/lang/Object;)V
-Landroid/filterfw/core/Filter;->setInitialInputValues(Landroid/filterfw/core/KeyValueMap;)V
-Landroid/filterfw/core/Filter;->setInputFrame(Ljava/lang/String;Landroid/filterfw/core/Frame;)V
-Landroid/filterfw/core/Filter;->setupPorts()V
-Landroid/filterfw/core/Filter;->setWaitsOnInputPort(Ljava/lang/String;Z)V
-Landroid/filterfw/core/Filter;->setWaitsOnOutputPort(Ljava/lang/String;Z)V
-Landroid/filterfw/core/Filter;->STATUS_ERROR:I
-Landroid/filterfw/core/Filter;->STATUS_FINISHED:I
-Landroid/filterfw/core/Filter;->STATUS_PREINIT:I
-Landroid/filterfw/core/Filter;->STATUS_PREPARED:I
-Landroid/filterfw/core/Filter;->STATUS_PROCESSING:I
-Landroid/filterfw/core/Filter;->STATUS_RELEASED:I
-Landroid/filterfw/core/Filter;->STATUS_SLEEPING:I
-Landroid/filterfw/core/Filter;->STATUS_UNPREPARED:I
-Landroid/filterfw/core/Filter;->TAG:Ljava/lang/String;
-Landroid/filterfw/core/Filter;->tearDown(Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/Filter;->transferInputFrames(Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/Filter;->transferInputPortFrame(Ljava/lang/String;Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/Filter;->unsetStatus(I)V
-Landroid/filterfw/core/Filter;->wrapInputValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/FilterContext$OnFrameReceivedListener;
-Landroid/filterfw/core/FilterContext$OnFrameReceivedListener;->onFrameReceived(Landroid/filterfw/core/Filter;Landroid/filterfw/core/Frame;Ljava/lang/Object;)V
-Landroid/filterfw/core/FilterContext;
-Landroid/filterfw/core/FilterContext;-><init>()V
-Landroid/filterfw/core/FilterContext;->addGraph(Landroid/filterfw/core/FilterGraph;)V
-Landroid/filterfw/core/FilterContext;->fetchFrame(Ljava/lang/String;)Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/FilterContext;->initGLEnvironment(Landroid/filterfw/core/GLEnvironment;)V
-Landroid/filterfw/core/FilterContext;->mFrameManager:Landroid/filterfw/core/FrameManager;
-Landroid/filterfw/core/FilterContext;->mGLEnvironment:Landroid/filterfw/core/GLEnvironment;
-Landroid/filterfw/core/FilterContext;->mGraphs:Ljava/util/Set;
-Landroid/filterfw/core/FilterContext;->mStoredFrames:Ljava/util/HashMap;
-Landroid/filterfw/core/FilterContext;->removeFrame(Ljava/lang/String;)V
-Landroid/filterfw/core/FilterContext;->setFrameManager(Landroid/filterfw/core/FrameManager;)V
-Landroid/filterfw/core/FilterContext;->storeFrame(Ljava/lang/String;Landroid/filterfw/core/Frame;)V
-Landroid/filterfw/core/FilterContext;->tearDown()V
-Landroid/filterfw/core/FilterFactory;
-Landroid/filterfw/core/FilterFactory;-><init>()V
-Landroid/filterfw/core/FilterFactory;->addFilterLibrary(Ljava/lang/String;)V
-Landroid/filterfw/core/FilterFactory;->addPackage(Ljava/lang/String;)V
-Landroid/filterfw/core/FilterFactory;->createFilterByClass(Ljava/lang/Class;Ljava/lang/String;)Landroid/filterfw/core/Filter;
-Landroid/filterfw/core/FilterFactory;->createFilterByClassName(Ljava/lang/String;Ljava/lang/String;)Landroid/filterfw/core/Filter;
-Landroid/filterfw/core/FilterFactory;->mClassLoaderGuard:Ljava/lang/Object;
-Landroid/filterfw/core/FilterFactory;->mCurrentClassLoader:Ljava/lang/ClassLoader;
-Landroid/filterfw/core/FilterFactory;->mLibraries:Ljava/util/HashSet;
-Landroid/filterfw/core/FilterFactory;->mLogVerbose:Z
-Landroid/filterfw/core/FilterFactory;->mPackages:Ljava/util/HashSet;
-Landroid/filterfw/core/FilterFactory;->mSharedFactory:Landroid/filterfw/core/FilterFactory;
-Landroid/filterfw/core/FilterFactory;->sharedFactory()Landroid/filterfw/core/FilterFactory;
-Landroid/filterfw/core/FilterFactory;->TAG:Ljava/lang/String;
-Landroid/filterfw/core/FilterFunction$FrameHolderPort;
-Landroid/filterfw/core/FilterFunction$FrameHolderPort;-><init>()V
-Landroid/filterfw/core/FilterFunction;
-Landroid/filterfw/core/FilterFunction;-><init>(Landroid/filterfw/core/FilterContext;Landroid/filterfw/core/Filter;)V
-Landroid/filterfw/core/FilterFunction;->close()V
-Landroid/filterfw/core/FilterFunction;->connectFilterOutputs()V
-Landroid/filterfw/core/FilterFunction;->execute(Landroid/filterfw/core/KeyValueMap;)Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/FilterFunction;->executeWithArgList([[Ljava/lang/Object;)Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/FilterFunction;->getContext()Landroid/filterfw/core/FilterContext;
-Landroid/filterfw/core/FilterFunction;->getFilter()Landroid/filterfw/core/Filter;
-Landroid/filterfw/core/FilterFunction;->mFilter:Landroid/filterfw/core/Filter;
-Landroid/filterfw/core/FilterFunction;->mFilterContext:Landroid/filterfw/core/FilterContext;
-Landroid/filterfw/core/FilterFunction;->mFilterIsSetup:Z
-Landroid/filterfw/core/FilterFunction;->mResultHolders:[Landroid/filterfw/core/FilterFunction$FrameHolderPort;
-Landroid/filterfw/core/FilterFunction;->setInputFrame(Ljava/lang/String;Landroid/filterfw/core/Frame;)V
-Landroid/filterfw/core/FilterFunction;->setInputValue(Ljava/lang/String;Ljava/lang/Object;)V
-Landroid/filterfw/core/FilterFunction;->tearDown()V
-Landroid/filterfw/core/FilterGraph;
-Landroid/filterfw/core/FilterGraph;-><init>()V
-Landroid/filterfw/core/FilterGraph;->addFilter(Landroid/filterfw/core/Filter;)Z
-Landroid/filterfw/core/FilterGraph;->AUTOBRANCH_OFF:I
-Landroid/filterfw/core/FilterGraph;->AUTOBRANCH_SYNCED:I
-Landroid/filterfw/core/FilterGraph;->AUTOBRANCH_UNSYNCED:I
-Landroid/filterfw/core/FilterGraph;->beginProcessing()V
-Landroid/filterfw/core/FilterGraph;->checkConnections()V
-Landroid/filterfw/core/FilterGraph;->closeFilters(Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/FilterGraph;->connect(Landroid/filterfw/core/Filter;Ljava/lang/String;Landroid/filterfw/core/Filter;Ljava/lang/String;)V
-Landroid/filterfw/core/FilterGraph;->connect(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/filterfw/core/FilterGraph;->connectPorts()V
-Landroid/filterfw/core/FilterGraph;->containsFilter(Landroid/filterfw/core/Filter;)Z
-Landroid/filterfw/core/FilterGraph;->discardUnconnectedOutputs()V
-Landroid/filterfw/core/FilterGraph;->flushFrames()V
-Landroid/filterfw/core/FilterGraph;->getFilters()Ljava/util/Set;
-Landroid/filterfw/core/FilterGraph;->getSourceFilters()Ljava/util/HashSet;
-Landroid/filterfw/core/FilterGraph;->isReady()Z
-Landroid/filterfw/core/FilterGraph;->mAutoBranchMode:I
-Landroid/filterfw/core/FilterGraph;->mDiscardUnconnectedOutputs:Z
-Landroid/filterfw/core/FilterGraph;->mFilters:Ljava/util/HashSet;
-Landroid/filterfw/core/FilterGraph;->mIsReady:Z
-Landroid/filterfw/core/FilterGraph;->mLogVerbose:Z
-Landroid/filterfw/core/FilterGraph;->mNameMap:Ljava/util/HashMap;
-Landroid/filterfw/core/FilterGraph;->mPreconnections:Ljava/util/HashMap;
-Landroid/filterfw/core/FilterGraph;->mTypeCheckMode:I
-Landroid/filterfw/core/FilterGraph;->preconnect(Landroid/filterfw/core/OutputPort;Landroid/filterfw/core/InputPort;)V
-Landroid/filterfw/core/FilterGraph;->readyForProcessing(Landroid/filterfw/core/Filter;Ljava/util/Set;)Z
-Landroid/filterfw/core/FilterGraph;->removeFilter(Landroid/filterfw/core/Filter;)V
-Landroid/filterfw/core/FilterGraph;->runTypeCheck()V
-Landroid/filterfw/core/FilterGraph;->runTypeCheckOn(Landroid/filterfw/core/Filter;)V
-Landroid/filterfw/core/FilterGraph;->setAutoBranchMode(I)V
-Landroid/filterfw/core/FilterGraph;->setDiscardUnconnectedOutputs(Z)V
-Landroid/filterfw/core/FilterGraph;->setTypeCheckMode(I)V
-Landroid/filterfw/core/FilterGraph;->setupFilters()V
-Landroid/filterfw/core/FilterGraph;->TAG:Ljava/lang/String;
-Landroid/filterfw/core/FilterGraph;->TYPECHECK_DYNAMIC:I
-Landroid/filterfw/core/FilterGraph;->TYPECHECK_OFF:I
-Landroid/filterfw/core/FilterGraph;->TYPECHECK_STRICT:I
-Landroid/filterfw/core/FilterGraph;->updateOutputs(Landroid/filterfw/core/Filter;)V
-Landroid/filterfw/core/FilterPort;
-Landroid/filterfw/core/FilterPort;-><init>(Landroid/filterfw/core/Filter;Ljava/lang/String;)V
-Landroid/filterfw/core/FilterPort;->assertPortIsOpen()V
-Landroid/filterfw/core/FilterPort;->checkFrameManager(Landroid/filterfw/core/Frame;Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/FilterPort;->checkFrameType(Landroid/filterfw/core/Frame;Z)V
-Landroid/filterfw/core/FilterPort;->clear()V
-Landroid/filterfw/core/FilterPort;->close()V
-Landroid/filterfw/core/FilterPort;->filterMustClose()Z
-Landroid/filterfw/core/FilterPort;->getFilter()Landroid/filterfw/core/Filter;
-Landroid/filterfw/core/FilterPort;->getName()Ljava/lang/String;
-Landroid/filterfw/core/FilterPort;->getPortFormat()Landroid/filterfw/core/FrameFormat;
-Landroid/filterfw/core/FilterPort;->hasFrame()Z
-Landroid/filterfw/core/FilterPort;->isAttached()Z
-Landroid/filterfw/core/FilterPort;->isBlocking()Z
-Landroid/filterfw/core/FilterPort;->isOpen()Z
-Landroid/filterfw/core/FilterPort;->isReady()Z
-Landroid/filterfw/core/FilterPort;->mChecksType:Z
-Landroid/filterfw/core/FilterPort;->mFilter:Landroid/filterfw/core/Filter;
-Landroid/filterfw/core/FilterPort;->mIsBlocking:Z
-Landroid/filterfw/core/FilterPort;->mIsOpen:Z
-Landroid/filterfw/core/FilterPort;->mLogVerbose:Z
-Landroid/filterfw/core/FilterPort;->mName:Ljava/lang/String;
-Landroid/filterfw/core/FilterPort;->mPortFormat:Landroid/filterfw/core/FrameFormat;
-Landroid/filterfw/core/FilterPort;->open()V
-Landroid/filterfw/core/FilterPort;->pullFrame()Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/FilterPort;->pushFrame(Landroid/filterfw/core/Frame;)V
-Landroid/filterfw/core/FilterPort;->setBlocking(Z)V
-Landroid/filterfw/core/FilterPort;->setChecksType(Z)V
-Landroid/filterfw/core/FilterPort;->setFrame(Landroid/filterfw/core/Frame;)V
-Landroid/filterfw/core/FilterPort;->setPortFormat(Landroid/filterfw/core/FrameFormat;)V
-Landroid/filterfw/core/FilterPort;->TAG:Ljava/lang/String;
-Landroid/filterfw/core/FilterSurfaceView;
-Landroid/filterfw/core/FilterSurfaceView;-><init>(Landroid/content/Context;)V
-Landroid/filterfw/core/FilterSurfaceView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/filterfw/core/FilterSurfaceView;->bindToListener(Landroid/view/SurfaceHolder$Callback;Landroid/filterfw/core/GLEnvironment;)V
-Landroid/filterfw/core/FilterSurfaceView;->getGLEnv()Landroid/filterfw/core/GLEnvironment;
-Landroid/filterfw/core/FilterSurfaceView;->getSurfaceId()I
-Landroid/filterfw/core/FilterSurfaceView;->mFormat:I
-Landroid/filterfw/core/FilterSurfaceView;->mGLEnv:Landroid/filterfw/core/GLEnvironment;
-Landroid/filterfw/core/FilterSurfaceView;->mHeight:I
-Landroid/filterfw/core/FilterSurfaceView;->mListener:Landroid/view/SurfaceHolder$Callback;
-Landroid/filterfw/core/FilterSurfaceView;->mState:I
-Landroid/filterfw/core/FilterSurfaceView;->mSurfaceId:I
-Landroid/filterfw/core/FilterSurfaceView;->mWidth:I
-Landroid/filterfw/core/FilterSurfaceView;->registerSurface()V
-Landroid/filterfw/core/FilterSurfaceView;->STATE_ALLOCATED:I
-Landroid/filterfw/core/FilterSurfaceView;->STATE_CREATED:I
-Landroid/filterfw/core/FilterSurfaceView;->STATE_INITIALIZED:I
-Landroid/filterfw/core/FilterSurfaceView;->unbind()V
-Landroid/filterfw/core/FilterSurfaceView;->unregisterSurface()V
-Landroid/filterfw/core/FinalPort;
-Landroid/filterfw/core/FinalPort;-><init>(Landroid/filterfw/core/Filter;Ljava/lang/String;Ljava/lang/reflect/Field;Z)V
-Landroid/filterfw/core/FinalPort;->setFieldFrame(Landroid/filterfw/core/Frame;Z)V
-Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/Frame;-><init>(Landroid/filterfw/core/FrameFormat;Landroid/filterfw/core/FrameManager;)V
-Landroid/filterfw/core/Frame;-><init>(Landroid/filterfw/core/FrameFormat;Landroid/filterfw/core/FrameManager;IJ)V
-Landroid/filterfw/core/Frame;->assertFrameMutable()V
-Landroid/filterfw/core/Frame;->convertBitmapToRGBA(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
-Landroid/filterfw/core/Frame;->decRefCount()I
-Landroid/filterfw/core/Frame;->getBindingId()J
-Landroid/filterfw/core/Frame;->getBindingType()I
-Landroid/filterfw/core/Frame;->getCapacity()I
-Landroid/filterfw/core/Frame;->getData()Ljava/nio/ByteBuffer;
-Landroid/filterfw/core/Frame;->getFloats()[F
-Landroid/filterfw/core/Frame;->getFrameManager()Landroid/filterfw/core/FrameManager;
-Landroid/filterfw/core/Frame;->getInts()[I
-Landroid/filterfw/core/Frame;->getObjectValue()Ljava/lang/Object;
-Landroid/filterfw/core/Frame;->getRefCount()I
-Landroid/filterfw/core/Frame;->hasNativeAllocation()Z
-Landroid/filterfw/core/Frame;->incRefCount()I
-Landroid/filterfw/core/Frame;->isReadOnly()Z
-Landroid/filterfw/core/Frame;->isReusable()Z
-Landroid/filterfw/core/Frame;->markReadOnly()V
-Landroid/filterfw/core/Frame;->mBindingId:J
-Landroid/filterfw/core/Frame;->mBindingType:I
-Landroid/filterfw/core/Frame;->mFormat:Landroid/filterfw/core/FrameFormat;
-Landroid/filterfw/core/Frame;->mFrameManager:Landroid/filterfw/core/FrameManager;
-Landroid/filterfw/core/Frame;->mReadOnly:Z
-Landroid/filterfw/core/Frame;->mRefCount:I
-Landroid/filterfw/core/Frame;->mReusable:Z
-Landroid/filterfw/core/Frame;->mTimestamp:J
-Landroid/filterfw/core/Frame;->NO_BINDING:I
-Landroid/filterfw/core/Frame;->onFrameFetch()V
-Landroid/filterfw/core/Frame;->onFrameStore()V
-Landroid/filterfw/core/Frame;->releaseNativeAllocation()V
-Landroid/filterfw/core/Frame;->requestResize([I)Z
-Landroid/filterfw/core/Frame;->reset(Landroid/filterfw/core/FrameFormat;)V
-Landroid/filterfw/core/Frame;->retain()Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/Frame;->setBitmap(Landroid/graphics/Bitmap;)V
-Landroid/filterfw/core/Frame;->setData(Ljava/nio/ByteBuffer;)V
-Landroid/filterfw/core/Frame;->setData(Ljava/nio/ByteBuffer;II)V
-Landroid/filterfw/core/Frame;->setData([BII)V
-Landroid/filterfw/core/Frame;->setDataFromFrame(Landroid/filterfw/core/Frame;)V
-Landroid/filterfw/core/Frame;->setFloats([F)V
-Landroid/filterfw/core/Frame;->setFormat(Landroid/filterfw/core/FrameFormat;)V
-Landroid/filterfw/core/Frame;->setGenericObjectValue(Ljava/lang/Object;)V
-Landroid/filterfw/core/Frame;->setObjectValue(Ljava/lang/Object;)V
-Landroid/filterfw/core/Frame;->setReusable(Z)V
-Landroid/filterfw/core/Frame;->TIMESTAMP_NOT_SET:J
-Landroid/filterfw/core/Frame;->TIMESTAMP_UNKNOWN:J
-Landroid/filterfw/core/FrameFormat;
-Landroid/filterfw/core/FrameFormat;-><init>()V
-Landroid/filterfw/core/FrameFormat;-><init>(II)V
-Landroid/filterfw/core/FrameFormat;->baseTypeToString(I)Ljava/lang/String;
-Landroid/filterfw/core/FrameFormat;->bytesPerSampleOf(I)I
-Landroid/filterfw/core/FrameFormat;->BYTES_PER_SAMPLE_UNSPECIFIED:I
-Landroid/filterfw/core/FrameFormat;->calcSize([I)I
-Landroid/filterfw/core/FrameFormat;->dimensionsToString([I)Ljava/lang/String;
-Landroid/filterfw/core/FrameFormat;->getBaseType()I
-Landroid/filterfw/core/FrameFormat;->getBytesPerSample()I
-Landroid/filterfw/core/FrameFormat;->getDepth()I
-Landroid/filterfw/core/FrameFormat;->getDimension(I)I
-Landroid/filterfw/core/FrameFormat;->getDimensionCount()I
-Landroid/filterfw/core/FrameFormat;->getDimensions()[I
-Landroid/filterfw/core/FrameFormat;->getLength()I
-Landroid/filterfw/core/FrameFormat;->getMetaValue(Ljava/lang/String;)Ljava/lang/Object;
-Landroid/filterfw/core/FrameFormat;->getNumberOfDimensions()I
-Landroid/filterfw/core/FrameFormat;->getObjectClass()Ljava/lang/Class;
-Landroid/filterfw/core/FrameFormat;->getSize()I
-Landroid/filterfw/core/FrameFormat;->getValuesPerSample()I
-Landroid/filterfw/core/FrameFormat;->hasMetaKey(Ljava/lang/String;)Z
-Landroid/filterfw/core/FrameFormat;->hasMetaKey(Ljava/lang/String;Ljava/lang/Class;)Z
-Landroid/filterfw/core/FrameFormat;->initDefaults()V
-Landroid/filterfw/core/FrameFormat;->isBinaryDataType()Z
-Landroid/filterfw/core/FrameFormat;->isCompatibleWith(Landroid/filterfw/core/FrameFormat;)Z
-Landroid/filterfw/core/FrameFormat;->isReplaceableBy(Landroid/filterfw/core/FrameFormat;)Z
-Landroid/filterfw/core/FrameFormat;->mayBeCompatibleWith(Landroid/filterfw/core/FrameFormat;)Z
-Landroid/filterfw/core/FrameFormat;->mBaseType:I
-Landroid/filterfw/core/FrameFormat;->mBytesPerSample:I
-Landroid/filterfw/core/FrameFormat;->mDimensions:[I
-Landroid/filterfw/core/FrameFormat;->metaDataToString(Landroid/filterfw/core/KeyValueMap;)Ljava/lang/String;
-Landroid/filterfw/core/FrameFormat;->mMetaData:Landroid/filterfw/core/KeyValueMap;
-Landroid/filterfw/core/FrameFormat;->mObjectClass:Ljava/lang/Class;
-Landroid/filterfw/core/FrameFormat;->mSize:I
-Landroid/filterfw/core/FrameFormat;->mTarget:I
-Landroid/filterfw/core/FrameFormat;->readTargetString(Ljava/lang/String;)I
-Landroid/filterfw/core/FrameFormat;->SIZE_UNKNOWN:I
-Landroid/filterfw/core/FrameFormat;->SIZE_UNSPECIFIED:I
-Landroid/filterfw/core/FrameFormat;->targetToString(I)Ljava/lang/String;
-Landroid/filterfw/core/FrameFormat;->TARGET_GPU:I
-Landroid/filterfw/core/FrameFormat;->TARGET_NATIVE:I
-Landroid/filterfw/core/FrameFormat;->TARGET_RS:I
-Landroid/filterfw/core/FrameFormat;->TARGET_SIMPLE:I
-Landroid/filterfw/core/FrameFormat;->TARGET_UNSPECIFIED:I
-Landroid/filterfw/core/FrameFormat;->TARGET_VERTEXBUFFER:I
-Landroid/filterfw/core/FrameFormat;->TYPE_BIT:I
-Landroid/filterfw/core/FrameFormat;->TYPE_BYTE:I
-Landroid/filterfw/core/FrameFormat;->TYPE_DOUBLE:I
-Landroid/filterfw/core/FrameFormat;->TYPE_FLOAT:I
-Landroid/filterfw/core/FrameFormat;->TYPE_INT16:I
-Landroid/filterfw/core/FrameFormat;->TYPE_INT32:I
-Landroid/filterfw/core/FrameFormat;->TYPE_OBJECT:I
-Landroid/filterfw/core/FrameFormat;->TYPE_POINTER:I
-Landroid/filterfw/core/FrameFormat;->TYPE_UNSPECIFIED:I
-Landroid/filterfw/core/FrameFormat;->unspecified()Landroid/filterfw/core/FrameFormat;
-Landroid/filterfw/core/FrameManager;
-Landroid/filterfw/core/FrameManager;-><init>()V
-Landroid/filterfw/core/FrameManager;->duplicateFrameToTarget(Landroid/filterfw/core/Frame;I)Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/FrameManager;->getContext()Landroid/filterfw/core/FilterContext;
-Landroid/filterfw/core/FrameManager;->getGLEnvironment()Landroid/filterfw/core/GLEnvironment;
-Landroid/filterfw/core/FrameManager;->mContext:Landroid/filterfw/core/FilterContext;
-Landroid/filterfw/core/FrameManager;->releaseFrame(Landroid/filterfw/core/Frame;)Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/FrameManager;->retainFrame(Landroid/filterfw/core/Frame;)Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/FrameManager;->setContext(Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/FrameManager;->tearDown()V
-Landroid/filterfw/core/GenerateFieldPort;
-Landroid/filterfw/core/GenerateFinalPort;
-Landroid/filterfw/core/GenerateProgramPort;
-Landroid/filterfw/core/GenerateProgramPorts;
-Landroid/filterfw/core/GLEnvironment;
-Landroid/filterfw/core/GLEnvironment;-><init>()V
-Landroid/filterfw/core/GLEnvironment;-><init>(Landroid/filterfw/core/NativeAllocatorTag;)V
-Landroid/filterfw/core/GLEnvironment;->glEnvId:I
-Landroid/filterfw/core/GLEnvironment;->initWithCurrentContext()V
-Landroid/filterfw/core/GLEnvironment;->initWithNewContext()V
-Landroid/filterfw/core/GLEnvironment;->isAnyContextActive()Z
-Landroid/filterfw/core/GLEnvironment;->isContextActive()Z
-Landroid/filterfw/core/GLEnvironment;->mManageContext:Z
-Landroid/filterfw/core/GLEnvironment;->nativeActivate()Z
-Landroid/filterfw/core/GLEnvironment;->nativeActivateSurfaceId(I)Z
-Landroid/filterfw/core/GLEnvironment;->nativeAddSurface(Landroid/view/Surface;)I
-Landroid/filterfw/core/GLEnvironment;->nativeAddSurfaceFromMediaRecorder(Landroid/media/MediaRecorder;)I
-Landroid/filterfw/core/GLEnvironment;->nativeAddSurfaceWidthHeight(Landroid/view/Surface;II)I
-Landroid/filterfw/core/GLEnvironment;->nativeAllocate()Z
-Landroid/filterfw/core/GLEnvironment;->nativeDeactivate()Z
-Landroid/filterfw/core/GLEnvironment;->nativeDeallocate()Z
-Landroid/filterfw/core/GLEnvironment;->nativeDisconnectSurfaceMediaSource(Landroid/media/MediaRecorder;)Z
-Landroid/filterfw/core/GLEnvironment;->nativeInitWithCurrentContext()Z
-Landroid/filterfw/core/GLEnvironment;->nativeInitWithNewContext()Z
-Landroid/filterfw/core/GLEnvironment;->nativeIsActive()Z
-Landroid/filterfw/core/GLEnvironment;->nativeIsAnyContextActive()Z
-Landroid/filterfw/core/GLEnvironment;->nativeIsContextActive()Z
-Landroid/filterfw/core/GLEnvironment;->nativeRemoveSurfaceId(I)Z
-Landroid/filterfw/core/GLEnvironment;->nativeSetSurfaceTimestamp(J)Z
-Landroid/filterfw/core/GLEnvironment;->nativeSwapBuffers()Z
-Landroid/filterfw/core/GLEnvironment;->registerSurface(Landroid/view/Surface;)I
-Landroid/filterfw/core/GLEnvironment;->registerSurfaceTexture(Landroid/graphics/SurfaceTexture;II)I
-Landroid/filterfw/core/GLEnvironment;->tearDown()V
-Landroid/filterfw/core/GLFrame;
-Landroid/filterfw/core/GLFrame;-><init>(Landroid/filterfw/core/FrameFormat;Landroid/filterfw/core/FrameManager;)V
-Landroid/filterfw/core/GLFrame;-><init>(Landroid/filterfw/core/FrameFormat;Landroid/filterfw/core/FrameManager;IJ)V
-Landroid/filterfw/core/GLFrame;->assertGLEnvValid()V
-Landroid/filterfw/core/GLFrame;->EXISTING_FBO_BINDING:I
-Landroid/filterfw/core/GLFrame;->EXISTING_TEXTURE_BINDING:I
-Landroid/filterfw/core/GLFrame;->EXTERNAL_TEXTURE:I
-Landroid/filterfw/core/GLFrame;->flushGPU(Ljava/lang/String;)V
-Landroid/filterfw/core/GLFrame;->focus()V
-Landroid/filterfw/core/GLFrame;->generateNativeMipMap()Z
-Landroid/filterfw/core/GLFrame;->getBitmap()Landroid/graphics/Bitmap;
-Landroid/filterfw/core/GLFrame;->getData()Ljava/nio/ByteBuffer;
-Landroid/filterfw/core/GLFrame;->getFboId()I
-Landroid/filterfw/core/GLFrame;->getFloats()[F
-Landroid/filterfw/core/GLFrame;->getGLEnvironment()Landroid/filterfw/core/GLEnvironment;
-Landroid/filterfw/core/GLFrame;->getInts()[I
-Landroid/filterfw/core/GLFrame;->getNativeBitmap(Landroid/graphics/Bitmap;)Z
-Landroid/filterfw/core/GLFrame;->getNativeData()[B
-Landroid/filterfw/core/GLFrame;->getNativeFboId()I
-Landroid/filterfw/core/GLFrame;->getNativeFloats()[F
-Landroid/filterfw/core/GLFrame;->getNativeInts()[I
-Landroid/filterfw/core/GLFrame;->getNativeTextureId()I
-Landroid/filterfw/core/GLFrame;->getObjectValue()Ljava/lang/Object;
-Landroid/filterfw/core/GLFrame;->glFrameId:I
-Landroid/filterfw/core/GLFrame;->hasNativeAllocation()Z
-Landroid/filterfw/core/GLFrame;->init(Landroid/filterfw/core/GLEnvironment;)V
-Landroid/filterfw/core/GLFrame;->initNew(Z)V
-Landroid/filterfw/core/GLFrame;->initWithFbo(I)V
-Landroid/filterfw/core/GLFrame;->initWithTexture(I)V
-Landroid/filterfw/core/GLFrame;->mGLEnvironment:Landroid/filterfw/core/GLEnvironment;
-Landroid/filterfw/core/GLFrame;->mOwnsTexture:Z
-Landroid/filterfw/core/GLFrame;->nativeAllocate(Landroid/filterfw/core/GLEnvironment;II)Z
-Landroid/filterfw/core/GLFrame;->nativeAllocateExternal(Landroid/filterfw/core/GLEnvironment;)Z
-Landroid/filterfw/core/GLFrame;->nativeAllocateWithFbo(Landroid/filterfw/core/GLEnvironment;III)Z
-Landroid/filterfw/core/GLFrame;->nativeAllocateWithTexture(Landroid/filterfw/core/GLEnvironment;III)Z
-Landroid/filterfw/core/GLFrame;->nativeCopyFromGL(Landroid/filterfw/core/GLFrame;)Z
-Landroid/filterfw/core/GLFrame;->nativeCopyFromNative(Landroid/filterfw/core/NativeFrame;)Z
-Landroid/filterfw/core/GLFrame;->nativeDeallocate()Z
-Landroid/filterfw/core/GLFrame;->nativeDetachTexFromFbo()Z
-Landroid/filterfw/core/GLFrame;->nativeFocus()Z
-Landroid/filterfw/core/GLFrame;->nativeReattachTexToFbo()Z
-Landroid/filterfw/core/GLFrame;->nativeResetParams()Z
-Landroid/filterfw/core/GLFrame;->NEW_FBO_BINDING:I
-Landroid/filterfw/core/GLFrame;->NEW_TEXTURE_BINDING:I
-Landroid/filterfw/core/GLFrame;->onFrameFetch()V
-Landroid/filterfw/core/GLFrame;->onFrameStore()V
-Landroid/filterfw/core/GLFrame;->releaseNativeAllocation()V
-Landroid/filterfw/core/GLFrame;->reset(Landroid/filterfw/core/FrameFormat;)V
-Landroid/filterfw/core/GLFrame;->setData(Ljava/nio/ByteBuffer;II)V
-Landroid/filterfw/core/GLFrame;->setDataFromFrame(Landroid/filterfw/core/Frame;)V
-Landroid/filterfw/core/GLFrame;->setFloats([F)V
-Landroid/filterfw/core/GLFrame;->setInts([I)V
-Landroid/filterfw/core/GLFrame;->setNativeBitmap(Landroid/graphics/Bitmap;I)Z
-Landroid/filterfw/core/GLFrame;->setNativeData([BII)Z
-Landroid/filterfw/core/GLFrame;->setNativeFloats([F)Z
-Landroid/filterfw/core/GLFrame;->setNativeInts([I)Z
-Landroid/filterfw/core/GLFrame;->setNativeTextureParam(II)Z
-Landroid/filterfw/core/GLFrame;->setNativeViewport(IIII)Z
-Landroid/filterfw/core/GLFrame;->setViewport(IIII)V
-Landroid/filterfw/core/GLFrame;->setViewport(Landroid/graphics/Rect;)V
-Landroid/filterfw/core/GraphRunner$OnRunnerDoneListener;
-Landroid/filterfw/core/GraphRunner$OnRunnerDoneListener;->onRunnerDone(I)V
-Landroid/filterfw/core/GraphRunner;
-Landroid/filterfw/core/GraphRunner;-><init>(Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/GraphRunner;->activateGlContext()Z
-Landroid/filterfw/core/GraphRunner;->close()V
-Landroid/filterfw/core/GraphRunner;->deactivateGlContext()V
-Landroid/filterfw/core/GraphRunner;->getContext()Landroid/filterfw/core/FilterContext;
-Landroid/filterfw/core/GraphRunner;->isRunning()Z
-Landroid/filterfw/core/GraphRunner;->mFilterContext:Landroid/filterfw/core/FilterContext;
-Landroid/filterfw/core/GraphRunner;->RESULT_BLOCKED:I
-Landroid/filterfw/core/GraphRunner;->RESULT_ERROR:I
-Landroid/filterfw/core/GraphRunner;->RESULT_FINISHED:I
-Landroid/filterfw/core/GraphRunner;->RESULT_RUNNING:I
-Landroid/filterfw/core/GraphRunner;->RESULT_SLEEPING:I
-Landroid/filterfw/core/GraphRunner;->RESULT_STOPPED:I
-Landroid/filterfw/core/GraphRunner;->RESULT_UNKNOWN:I
-Landroid/filterfw/core/InputPort;
-Landroid/filterfw/core/InputPort;-><init>(Landroid/filterfw/core/Filter;Ljava/lang/String;)V
-Landroid/filterfw/core/InputPort;->acceptsFrame()Z
-Landroid/filterfw/core/InputPort;->close()V
-Landroid/filterfw/core/InputPort;->filterMustClose()Z
-Landroid/filterfw/core/InputPort;->getSourceFilter()Landroid/filterfw/core/Filter;
-Landroid/filterfw/core/InputPort;->getSourceFormat()Landroid/filterfw/core/FrameFormat;
-Landroid/filterfw/core/InputPort;->getSourcePort()Landroid/filterfw/core/OutputPort;
-Landroid/filterfw/core/InputPort;->getTarget()Ljava/lang/Object;
-Landroid/filterfw/core/InputPort;->isConnected()Z
-Landroid/filterfw/core/InputPort;->isReady()Z
-Landroid/filterfw/core/InputPort;->mSourcePort:Landroid/filterfw/core/OutputPort;
-Landroid/filterfw/core/InputPort;->open()V
-Landroid/filterfw/core/InputPort;->setSourcePort(Landroid/filterfw/core/OutputPort;)V
-Landroid/filterfw/core/InputPort;->transfer(Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/KeyValueMap;
-Landroid/filterfw/core/KeyValueMap;-><init>()V
-Landroid/filterfw/core/KeyValueMap;->fromKeyValues([[Ljava/lang/Object;)Landroid/filterfw/core/KeyValueMap;
-Landroid/filterfw/core/KeyValueMap;->getFloat(Ljava/lang/String;)F
-Landroid/filterfw/core/KeyValueMap;->getInt(Ljava/lang/String;)I
-Landroid/filterfw/core/KeyValueMap;->getString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/filterfw/core/KeyValueMap;->setKeyValues([[Ljava/lang/Object;)V
-Landroid/filterfw/core/MutableFrameFormat;
-Landroid/filterfw/core/MutableFrameFormat;-><init>()V
-Landroid/filterfw/core/MutableFrameFormat;->setBaseType(I)V
-Landroid/filterfw/core/MutableFrameFormat;->setDimensionCount(I)V
-Landroid/filterfw/core/MutableFrameFormat;->setDimensions(I)V
-Landroid/filterfw/core/MutableFrameFormat;->setDimensions(III)V
-Landroid/filterfw/core/MutableFrameFormat;->setDimensions([I)V
-Landroid/filterfw/core/MutableFrameFormat;->setMetaValue(Ljava/lang/String;Ljava/lang/Object;)V
-Landroid/filterfw/core/MutableFrameFormat;->setObjectClass(Ljava/lang/Class;)V
-Landroid/filterfw/core/MutableFrameFormat;->setTarget(I)V
-Landroid/filterfw/core/NativeAllocatorTag;
-Landroid/filterfw/core/NativeAllocatorTag;-><init>()V
-Landroid/filterfw/core/NativeBuffer;
-Landroid/filterfw/core/NativeBuffer;-><init>()V
-Landroid/filterfw/core/NativeBuffer;-><init>(I)V
-Landroid/filterfw/core/NativeBuffer;->allocate(I)Z
-Landroid/filterfw/core/NativeBuffer;->assertReadable()V
-Landroid/filterfw/core/NativeBuffer;->assertWritable()V
-Landroid/filterfw/core/NativeBuffer;->attachToFrame(Landroid/filterfw/core/Frame;)V
-Landroid/filterfw/core/NativeBuffer;->count()I
-Landroid/filterfw/core/NativeBuffer;->deallocate(Z)Z
-Landroid/filterfw/core/NativeBuffer;->getElementSize()I
-Landroid/filterfw/core/NativeBuffer;->isReadOnly()Z
-Landroid/filterfw/core/NativeBuffer;->mAttachedFrame:Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/NativeBuffer;->mDataPointer:J
-Landroid/filterfw/core/NativeBuffer;->mOwnsData:Z
-Landroid/filterfw/core/NativeBuffer;->mRefCount:I
-Landroid/filterfw/core/NativeBuffer;->mSize:I
-Landroid/filterfw/core/NativeBuffer;->mutableCopy()Landroid/filterfw/core/NativeBuffer;
-Landroid/filterfw/core/NativeBuffer;->nativeCopyTo(Landroid/filterfw/core/NativeBuffer;)Z
-Landroid/filterfw/core/NativeBuffer;->release()Landroid/filterfw/core/NativeBuffer;
-Landroid/filterfw/core/NativeBuffer;->retain()Landroid/filterfw/core/NativeBuffer;
-Landroid/filterfw/core/NativeBuffer;->size()I
-Landroid/filterfw/core/NativeFrame;
-Landroid/filterfw/core/NativeFrame;-><init>(Landroid/filterfw/core/FrameFormat;Landroid/filterfw/core/FrameManager;)V
-Landroid/filterfw/core/NativeFrame;->getBitmap()Landroid/graphics/Bitmap;
-Landroid/filterfw/core/NativeFrame;->getCapacity()I
-Landroid/filterfw/core/NativeFrame;->getData()Ljava/nio/ByteBuffer;
-Landroid/filterfw/core/NativeFrame;->getFloats()[F
-Landroid/filterfw/core/NativeFrame;->getInts()[I
-Landroid/filterfw/core/NativeFrame;->getNativeBitmap(Landroid/graphics/Bitmap;II)Z
-Landroid/filterfw/core/NativeFrame;->getNativeBuffer(Landroid/filterfw/core/NativeBuffer;)Z
-Landroid/filterfw/core/NativeFrame;->getNativeCapacity()I
-Landroid/filterfw/core/NativeFrame;->getNativeData(I)[B
-Landroid/filterfw/core/NativeFrame;->getNativeFloats(I)[F
-Landroid/filterfw/core/NativeFrame;->getNativeInts(I)[I
-Landroid/filterfw/core/NativeFrame;->getObjectValue()Ljava/lang/Object;
-Landroid/filterfw/core/NativeFrame;->hasNativeAllocation()Z
-Landroid/filterfw/core/NativeFrame;->nativeAllocate(I)Z
-Landroid/filterfw/core/NativeFrame;->nativeCopyFromGL(Landroid/filterfw/core/GLFrame;)Z
-Landroid/filterfw/core/NativeFrame;->nativeCopyFromNative(Landroid/filterfw/core/NativeFrame;)Z
-Landroid/filterfw/core/NativeFrame;->nativeDeallocate()Z
-Landroid/filterfw/core/NativeFrame;->nativeFloatSize()I
-Landroid/filterfw/core/NativeFrame;->nativeFrameId:I
-Landroid/filterfw/core/NativeFrame;->nativeIntSize()I
-Landroid/filterfw/core/NativeFrame;->releaseNativeAllocation()V
-Landroid/filterfw/core/NativeFrame;->setBitmap(Landroid/graphics/Bitmap;)V
-Landroid/filterfw/core/NativeFrame;->setData(Ljava/nio/ByteBuffer;II)V
-Landroid/filterfw/core/NativeFrame;->setDataFromFrame(Landroid/filterfw/core/Frame;)V
-Landroid/filterfw/core/NativeFrame;->setFloats([F)V
-Landroid/filterfw/core/NativeFrame;->setInts([I)V
-Landroid/filterfw/core/NativeFrame;->setNativeBitmap(Landroid/graphics/Bitmap;II)Z
-Landroid/filterfw/core/NativeFrame;->setNativeData([BII)Z
-Landroid/filterfw/core/NativeFrame;->setNativeFloats([F)Z
-Landroid/filterfw/core/NativeFrame;->setNativeInts([I)Z
-Landroid/filterfw/core/NativeProgram;
-Landroid/filterfw/core/NativeProgram;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/filterfw/core/NativeProgram;->allocate()Z
-Landroid/filterfw/core/NativeProgram;->bindGetValueFunction(Ljava/lang/String;)Z
-Landroid/filterfw/core/NativeProgram;->bindInitFunction(Ljava/lang/String;)Z
-Landroid/filterfw/core/NativeProgram;->bindProcessFunction(Ljava/lang/String;)Z
-Landroid/filterfw/core/NativeProgram;->bindResetFunction(Ljava/lang/String;)Z
-Landroid/filterfw/core/NativeProgram;->bindSetValueFunction(Ljava/lang/String;)Z
-Landroid/filterfw/core/NativeProgram;->bindTeardownFunction(Ljava/lang/String;)Z
-Landroid/filterfw/core/NativeProgram;->callNativeGetValue(Ljava/lang/String;)Ljava/lang/String;
-Landroid/filterfw/core/NativeProgram;->callNativeInit()Z
-Landroid/filterfw/core/NativeProgram;->callNativeProcess([Landroid/filterfw/core/NativeFrame;Landroid/filterfw/core/NativeFrame;)Z
-Landroid/filterfw/core/NativeProgram;->callNativeReset()Z
-Landroid/filterfw/core/NativeProgram;->callNativeSetValue(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/filterfw/core/NativeProgram;->callNativeTeardown()Z
-Landroid/filterfw/core/NativeProgram;->deallocate()Z
-Landroid/filterfw/core/NativeProgram;->getHostValue(Ljava/lang/String;)Ljava/lang/Object;
-Landroid/filterfw/core/NativeProgram;->mHasGetValueFunction:Z
-Landroid/filterfw/core/NativeProgram;->mHasInitFunction:Z
-Landroid/filterfw/core/NativeProgram;->mHasResetFunction:Z
-Landroid/filterfw/core/NativeProgram;->mHasSetValueFunction:Z
-Landroid/filterfw/core/NativeProgram;->mHasTeardownFunction:Z
-Landroid/filterfw/core/NativeProgram;->mTornDown:Z
-Landroid/filterfw/core/NativeProgram;->nativeInit()Z
-Landroid/filterfw/core/NativeProgram;->nativeProgramId:I
-Landroid/filterfw/core/NativeProgram;->openNativeLibrary(Ljava/lang/String;)Z
-Landroid/filterfw/core/NativeProgram;->process([Landroid/filterfw/core/Frame;Landroid/filterfw/core/Frame;)V
-Landroid/filterfw/core/NativeProgram;->reset()V
-Landroid/filterfw/core/NativeProgram;->setHostValue(Ljava/lang/String;Ljava/lang/Object;)V
-Landroid/filterfw/core/NativeProgram;->tearDown()V
-Landroid/filterfw/core/OneShotScheduler;
-Landroid/filterfw/core/OneShotScheduler;-><init>(Landroid/filterfw/core/FilterGraph;)V
-Landroid/filterfw/core/OneShotScheduler;->mLogVerbose:Z
-Landroid/filterfw/core/OneShotScheduler;->reset()V
-Landroid/filterfw/core/OneShotScheduler;->scheduled:Ljava/util/HashMap;
-Landroid/filterfw/core/OneShotScheduler;->scheduleNextNode()Landroid/filterfw/core/Filter;
-Landroid/filterfw/core/OneShotScheduler;->TAG:Ljava/lang/String;
-Landroid/filterfw/core/OutputPort;
-Landroid/filterfw/core/OutputPort;-><init>(Landroid/filterfw/core/Filter;Ljava/lang/String;)V
-Landroid/filterfw/core/OutputPort;->clear()V
-Landroid/filterfw/core/OutputPort;->close()V
-Landroid/filterfw/core/OutputPort;->connectTo(Landroid/filterfw/core/InputPort;)V
-Landroid/filterfw/core/OutputPort;->filterMustClose()Z
-Landroid/filterfw/core/OutputPort;->getBasePort()Landroid/filterfw/core/InputPort;
-Landroid/filterfw/core/OutputPort;->getTargetFilter()Landroid/filterfw/core/Filter;
-Landroid/filterfw/core/OutputPort;->getTargetPort()Landroid/filterfw/core/InputPort;
-Landroid/filterfw/core/OutputPort;->hasFrame()Z
-Landroid/filterfw/core/OutputPort;->isConnected()Z
-Landroid/filterfw/core/OutputPort;->isReady()Z
-Landroid/filterfw/core/OutputPort;->mBasePort:Landroid/filterfw/core/InputPort;
-Landroid/filterfw/core/OutputPort;->mTargetPort:Landroid/filterfw/core/InputPort;
-Landroid/filterfw/core/OutputPort;->open()V
-Landroid/filterfw/core/OutputPort;->pullFrame()Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/OutputPort;->pushFrame(Landroid/filterfw/core/Frame;)V
-Landroid/filterfw/core/OutputPort;->setBasePort(Landroid/filterfw/core/InputPort;)V
-Landroid/filterfw/core/OutputPort;->setFrame(Landroid/filterfw/core/Frame;)V
-Landroid/filterfw/core/Program;
-Landroid/filterfw/core/Program;-><init>()V
-Landroid/filterfw/core/Program;->getHostValue(Ljava/lang/String;)Ljava/lang/Object;
-Landroid/filterfw/core/Program;->reset()V
-Landroid/filterfw/core/ProgramPort;
-Landroid/filterfw/core/ProgramPort;-><init>(Landroid/filterfw/core/Filter;Ljava/lang/String;Ljava/lang/String;Ljava/lang/reflect/Field;Z)V
-Landroid/filterfw/core/ProgramPort;->mVarName:Ljava/lang/String;
-Landroid/filterfw/core/ProgramPort;->transfer(Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/ProgramVariable;
-Landroid/filterfw/core/ProgramVariable;-><init>(Landroid/filterfw/core/Program;Ljava/lang/String;)V
-Landroid/filterfw/core/ProgramVariable;->getProgram()Landroid/filterfw/core/Program;
-Landroid/filterfw/core/ProgramVariable;->getValue()Ljava/lang/Object;
-Landroid/filterfw/core/ProgramVariable;->getVariableName()Ljava/lang/String;
-Landroid/filterfw/core/ProgramVariable;->mProgram:Landroid/filterfw/core/Program;
-Landroid/filterfw/core/ProgramVariable;->mVarName:Ljava/lang/String;
-Landroid/filterfw/core/ProgramVariable;->setValue(Ljava/lang/Object;)V
-Landroid/filterfw/core/ProtocolException;
-Landroid/filterfw/core/ProtocolException;-><init>()V
-Landroid/filterfw/core/ProtocolException;-><init>(Ljava/lang/String;)V
-Landroid/filterfw/core/RandomScheduler;
-Landroid/filterfw/core/RandomScheduler;-><init>(Landroid/filterfw/core/FilterGraph;)V
-Landroid/filterfw/core/RandomScheduler;->mRand:Ljava/util/Random;
-Landroid/filterfw/core/RandomScheduler;->reset()V
-Landroid/filterfw/core/RandomScheduler;->scheduleNextNode()Landroid/filterfw/core/Filter;
-Landroid/filterfw/core/RoundRobinScheduler;
-Landroid/filterfw/core/RoundRobinScheduler;-><init>(Landroid/filterfw/core/FilterGraph;)V
-Landroid/filterfw/core/RoundRobinScheduler;->mLastPos:I
-Landroid/filterfw/core/RoundRobinScheduler;->reset()V
-Landroid/filterfw/core/RoundRobinScheduler;->scheduleNextNode()Landroid/filterfw/core/Filter;
-Landroid/filterfw/core/Scheduler;
-Landroid/filterfw/core/Scheduler;-><init>(Landroid/filterfw/core/FilterGraph;)V
-Landroid/filterfw/core/Scheduler;->finished()Z
-Landroid/filterfw/core/Scheduler;->getGraph()Landroid/filterfw/core/FilterGraph;
-Landroid/filterfw/core/Scheduler;->mGraph:Landroid/filterfw/core/FilterGraph;
-Landroid/filterfw/core/Scheduler;->reset()V
-Landroid/filterfw/core/Scheduler;->scheduleNextNode()Landroid/filterfw/core/Filter;
-Landroid/filterfw/core/SerializedFrame$DirectByteInputStream;
-Landroid/filterfw/core/SerializedFrame$DirectByteInputStream;-><init>([BI)V
-Landroid/filterfw/core/SerializedFrame$DirectByteInputStream;->mBuffer:[B
-Landroid/filterfw/core/SerializedFrame$DirectByteInputStream;->mPos:I
-Landroid/filterfw/core/SerializedFrame$DirectByteInputStream;->mSize:I
-Landroid/filterfw/core/SerializedFrame$DirectByteOutputStream;
-Landroid/filterfw/core/SerializedFrame$DirectByteOutputStream;-><init>(I)V
-Landroid/filterfw/core/SerializedFrame$DirectByteOutputStream;->ensureFit(I)V
-Landroid/filterfw/core/SerializedFrame$DirectByteOutputStream;->getByteArray()[B
-Landroid/filterfw/core/SerializedFrame$DirectByteOutputStream;->getInputStream()Landroid/filterfw/core/SerializedFrame$DirectByteInputStream;
-Landroid/filterfw/core/SerializedFrame$DirectByteOutputStream;->getSize()I
-Landroid/filterfw/core/SerializedFrame$DirectByteOutputStream;->markHeaderEnd()V
-Landroid/filterfw/core/SerializedFrame$DirectByteOutputStream;->mBuffer:[B
-Landroid/filterfw/core/SerializedFrame$DirectByteOutputStream;->mDataOffset:I
-Landroid/filterfw/core/SerializedFrame$DirectByteOutputStream;->mOffset:I
-Landroid/filterfw/core/SerializedFrame$DirectByteOutputStream;->reset()V
-Landroid/filterfw/core/SerializedFrame;
-Landroid/filterfw/core/SerializedFrame;-><init>(Landroid/filterfw/core/FrameFormat;Landroid/filterfw/core/FrameManager;)V
-Landroid/filterfw/core/SerializedFrame;->deserializeObjectValue()Ljava/lang/Object;
-Landroid/filterfw/core/SerializedFrame;->getBitmap()Landroid/graphics/Bitmap;
-Landroid/filterfw/core/SerializedFrame;->getData()Ljava/nio/ByteBuffer;
-Landroid/filterfw/core/SerializedFrame;->getFloats()[F
-Landroid/filterfw/core/SerializedFrame;->getInts()[I
-Landroid/filterfw/core/SerializedFrame;->getObjectValue()Ljava/lang/Object;
-Landroid/filterfw/core/SerializedFrame;->hasNativeAllocation()Z
-Landroid/filterfw/core/SerializedFrame;->INITIAL_CAPACITY:I
-Landroid/filterfw/core/SerializedFrame;->mByteOutputStream:Landroid/filterfw/core/SerializedFrame$DirectByteOutputStream;
-Landroid/filterfw/core/SerializedFrame;->mObjectOut:Ljava/io/ObjectOutputStream;
-Landroid/filterfw/core/SerializedFrame;->releaseNativeAllocation()V
-Landroid/filterfw/core/SerializedFrame;->serializeObjectValue(Ljava/lang/Object;)V
-Landroid/filterfw/core/SerializedFrame;->setBitmap(Landroid/graphics/Bitmap;)V
-Landroid/filterfw/core/SerializedFrame;->setData(Ljava/nio/ByteBuffer;II)V
-Landroid/filterfw/core/SerializedFrame;->setFloats([F)V
-Landroid/filterfw/core/SerializedFrame;->setGenericObjectValue(Ljava/lang/Object;)V
-Landroid/filterfw/core/SerializedFrame;->setInts([I)V
-Landroid/filterfw/core/SerializedFrame;->wrapObject(Ljava/lang/Object;Landroid/filterfw/core/FrameManager;)Landroid/filterfw/core/SerializedFrame;
-Landroid/filterfw/core/ShaderProgram;
-Landroid/filterfw/core/ShaderProgram;-><init>()V
-Landroid/filterfw/core/ShaderProgram;-><init>(Landroid/filterfw/core/FilterContext;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/filterfw/core/ShaderProgram;-><init>(Landroid/filterfw/core/NativeAllocatorTag;)V
-Landroid/filterfw/core/ShaderProgram;->allocate(Landroid/filterfw/core/GLEnvironment;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/filterfw/core/ShaderProgram;->beginDrawing()V
-Landroid/filterfw/core/ShaderProgram;->beginShaderDrawing()Z
-Landroid/filterfw/core/ShaderProgram;->compileAndLink()Z
-Landroid/filterfw/core/ShaderProgram;->deallocate()Z
-Landroid/filterfw/core/ShaderProgram;->getGLEnvironment()Landroid/filterfw/core/GLEnvironment;
-Landroid/filterfw/core/ShaderProgram;->getGLEnvironment(Landroid/filterfw/core/FilterContext;)Landroid/filterfw/core/GLEnvironment;
-Landroid/filterfw/core/ShaderProgram;->getHostValue(Ljava/lang/String;)Ljava/lang/Object;
-Landroid/filterfw/core/ShaderProgram;->getUniformValue(Ljava/lang/String;)Ljava/lang/Object;
-Landroid/filterfw/core/ShaderProgram;->mGLEnvironment:Landroid/filterfw/core/GLEnvironment;
-Landroid/filterfw/core/ShaderProgram;->mMaxTileSize:I
-Landroid/filterfw/core/ShaderProgram;->mTimer:Landroid/filterfw/core/StopWatchMap;
-Landroid/filterfw/core/ShaderProgram;->nativeCreateIdentity(Landroid/filterfw/core/GLEnvironment;)Landroid/filterfw/core/ShaderProgram;
-Landroid/filterfw/core/ShaderProgram;->setAttributeValues(Ljava/lang/String;Landroid/filterfw/core/VertexFrame;IIIIZ)V
-Landroid/filterfw/core/ShaderProgram;->setAttributeValues(Ljava/lang/String;[FI)V
-Landroid/filterfw/core/ShaderProgram;->setBlendEnabled(Z)V
-Landroid/filterfw/core/ShaderProgram;->setBlendFunc(II)V
-Landroid/filterfw/core/ShaderProgram;->setClearColor(FFF)V
-Landroid/filterfw/core/ShaderProgram;->setClearsOutput(Z)V
-Landroid/filterfw/core/ShaderProgram;->setDrawMode(I)V
-Landroid/filterfw/core/ShaderProgram;->setShaderAttributeValues(Ljava/lang/String;[FI)Z
-Landroid/filterfw/core/ShaderProgram;->setShaderAttributeVertexFrame(Ljava/lang/String;Landroid/filterfw/core/VertexFrame;IIIIZ)Z
-Landroid/filterfw/core/ShaderProgram;->setShaderBlendEnabled(Z)Z
-Landroid/filterfw/core/ShaderProgram;->setShaderBlendFunc(II)Z
-Landroid/filterfw/core/ShaderProgram;->setShaderClearColor(FFF)Z
-Landroid/filterfw/core/ShaderProgram;->setShaderClearsOutput(Z)Z
-Landroid/filterfw/core/ShaderProgram;->setShaderDrawMode(I)Z
-Landroid/filterfw/core/ShaderProgram;->setShaderTileCounts(II)Z
-Landroid/filterfw/core/ShaderProgram;->setShaderVertexCount(I)Z
-Landroid/filterfw/core/ShaderProgram;->setSourceRegion(FFFFFFFF)Z
-Landroid/filterfw/core/ShaderProgram;->setTargetRect(FFFF)V
-Landroid/filterfw/core/ShaderProgram;->setTargetRegion(FFFFFFFF)Z
-Landroid/filterfw/core/ShaderProgram;->setTargetRegion(Landroid/filterfw/geometry/Quad;)V
-Landroid/filterfw/core/ShaderProgram;->setTimer()V
-Landroid/filterfw/core/ShaderProgram;->setUniformValue(Ljava/lang/String;Ljava/lang/Object;)Z
-Landroid/filterfw/core/ShaderProgram;->setVertexCount(I)V
-Landroid/filterfw/core/ShaderProgram;->shaderProcess([Landroid/filterfw/core/GLFrame;Landroid/filterfw/core/GLFrame;)Z
-Landroid/filterfw/core/ShaderProgram;->shaderProgramId:I
-Landroid/filterfw/core/SimpleFrame;
-Landroid/filterfw/core/SimpleFrame;-><init>(Landroid/filterfw/core/FrameFormat;Landroid/filterfw/core/FrameManager;)V
-Landroid/filterfw/core/SimpleFrame;->getBitmap()Landroid/graphics/Bitmap;
-Landroid/filterfw/core/SimpleFrame;->getData()Ljava/nio/ByteBuffer;
-Landroid/filterfw/core/SimpleFrame;->getFloats()[F
-Landroid/filterfw/core/SimpleFrame;->getInts()[I
-Landroid/filterfw/core/SimpleFrame;->getObjectValue()Ljava/lang/Object;
-Landroid/filterfw/core/SimpleFrame;->hasNativeAllocation()Z
-Landroid/filterfw/core/SimpleFrame;->initWithFormat(Landroid/filterfw/core/FrameFormat;)V
-Landroid/filterfw/core/SimpleFrame;->mObject:Ljava/lang/Object;
-Landroid/filterfw/core/SimpleFrame;->releaseNativeAllocation()V
-Landroid/filterfw/core/SimpleFrame;->setBitmap(Landroid/graphics/Bitmap;)V
-Landroid/filterfw/core/SimpleFrame;->setData(Ljava/nio/ByteBuffer;II)V
-Landroid/filterfw/core/SimpleFrame;->setFloats([F)V
-Landroid/filterfw/core/SimpleFrame;->setFormatObjectClass(Ljava/lang/Class;)V
-Landroid/filterfw/core/SimpleFrame;->setGenericObjectValue(Ljava/lang/Object;)V
-Landroid/filterfw/core/SimpleFrame;->setInts([I)V
-Landroid/filterfw/core/SimpleFrame;->wrapObject(Ljava/lang/Object;Landroid/filterfw/core/FrameManager;)Landroid/filterfw/core/SimpleFrame;
-Landroid/filterfw/core/SimpleFrameManager;
-Landroid/filterfw/core/SimpleFrameManager;-><init>()V
-Landroid/filterfw/core/SimpleFrameManager;->createNewFrame(Landroid/filterfw/core/FrameFormat;)Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/SimpleFrameManager;->newBoundFrame(Landroid/filterfw/core/FrameFormat;IJ)Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/SimpleFrameManager;->newFrame(Landroid/filterfw/core/FrameFormat;)Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/SimpleFrameManager;->releaseFrame(Landroid/filterfw/core/Frame;)Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/SimpleFrameManager;->retainFrame(Landroid/filterfw/core/Frame;)Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/SimpleScheduler;
-Landroid/filterfw/core/SimpleScheduler;-><init>(Landroid/filterfw/core/FilterGraph;)V
-Landroid/filterfw/core/SimpleScheduler;->reset()V
-Landroid/filterfw/core/SimpleScheduler;->scheduleNextNode()Landroid/filterfw/core/Filter;
-Landroid/filterfw/core/StopWatch;
-Landroid/filterfw/core/StopWatch;-><init>(Ljava/lang/String;)V
-Landroid/filterfw/core/StopWatch;->mName:Ljava/lang/String;
-Landroid/filterfw/core/StopWatch;->mNumCalls:I
-Landroid/filterfw/core/StopWatch;->mStartTime:J
-Landroid/filterfw/core/StopWatch;->mTotalTime:J
-Landroid/filterfw/core/StopWatch;->start()V
-Landroid/filterfw/core/StopWatch;->stop()V
-Landroid/filterfw/core/StopWatch;->STOP_WATCH_LOGGING_PERIOD:I
-Landroid/filterfw/core/StopWatch;->TAG:Ljava/lang/String;
-Landroid/filterfw/core/StopWatchMap;
-Landroid/filterfw/core/StopWatchMap;-><init>()V
-Landroid/filterfw/core/StopWatchMap;->LOG_MFF_RUNNING_TIMES:Z
-Landroid/filterfw/core/StopWatchMap;->mStopWatches:Ljava/util/HashMap;
-Landroid/filterfw/core/StopWatchMap;->start(Ljava/lang/String;)V
-Landroid/filterfw/core/StopWatchMap;->stop(Ljava/lang/String;)V
-Landroid/filterfw/core/StreamPort;
-Landroid/filterfw/core/StreamPort;-><init>(Landroid/filterfw/core/Filter;Ljava/lang/String;)V
-Landroid/filterfw/core/StreamPort;->assignFrame(Landroid/filterfw/core/Frame;Z)V
-Landroid/filterfw/core/StreamPort;->clear()V
-Landroid/filterfw/core/StreamPort;->hasFrame()Z
-Landroid/filterfw/core/StreamPort;->mFrame:Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/StreamPort;->mPersistent:Z
-Landroid/filterfw/core/StreamPort;->pullFrame()Landroid/filterfw/core/Frame;
-Landroid/filterfw/core/StreamPort;->pushFrame(Landroid/filterfw/core/Frame;)V
-Landroid/filterfw/core/StreamPort;->setFrame(Landroid/filterfw/core/Frame;)V
-Landroid/filterfw/core/StreamPort;->transfer(Landroid/filterfw/core/FilterContext;)V
-Landroid/filterfw/core/SyncRunner;
-Landroid/filterfw/core/SyncRunner;-><init>(Landroid/filterfw/core/FilterContext;Landroid/filterfw/core/FilterGraph;Ljava/lang/Class;)V
-Landroid/filterfw/core/SyncRunner;->assertReadyToStep()V
-Landroid/filterfw/core/SyncRunner;->beginProcessing()V
-Landroid/filterfw/core/SyncRunner;->close()V
-Landroid/filterfw/core/SyncRunner;->determinePostRunState()I
-Landroid/filterfw/core/SyncRunner;->getError()Ljava/lang/Exception;
-Landroid/filterfw/core/SyncRunner;->getGraph()Landroid/filterfw/core/FilterGraph;
-Landroid/filterfw/core/SyncRunner;->isRunning()Z
-Landroid/filterfw/core/SyncRunner;->mDoneListener:Landroid/filterfw/core/GraphRunner$OnRunnerDoneListener;
-Landroid/filterfw/core/SyncRunner;->mLogVerbose:Z
-Landroid/filterfw/core/SyncRunner;->mScheduler:Landroid/filterfw/core/Scheduler;
-Landroid/filterfw/core/SyncRunner;->mTimer:Landroid/filterfw/core/StopWatchMap;
-Landroid/filterfw/core/SyncRunner;->mWakeCondition:Landroid/os/ConditionVariable;
-Landroid/filterfw/core/SyncRunner;->mWakeExecutor:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
-Landroid/filterfw/core/SyncRunner;->performStep()Z
-Landroid/filterfw/core/SyncRunner;->processFilterNode(Landroid/filterfw/core/Filter;)V
-Landroid/filterfw/core/SyncRunner;->run()V
-Landroid/filterfw/core/SyncRunner;->scheduleFilterWake(Landroid/filterfw/core/Filter;I)V
-Landroid/filterfw/core/SyncRunner;->setDoneCallback(Landroid/filterfw/core/GraphRunner$OnRunnerDoneListener;)V
-Landroid/filterfw/core/SyncRunner;->step()I
-Landroid/filterfw/core/SyncRunner;->stop()V
-Landroid/filterfw/core/SyncRunner;->TAG:Ljava/lang/String;
-Landroid/filterfw/core/SyncRunner;->waitUntilWake()V
-Landroid/filterfw/core/VertexFrame;
-Landroid/filterfw/core/VertexFrame;-><init>(Landroid/filterfw/core/FrameFormat;Landroid/filterfw/core/FrameManager;)V
-Landroid/filterfw/core/VertexFrame;->getBitmap()Landroid/graphics/Bitmap;
-Landroid/filterfw/core/VertexFrame;->getData()Ljava/nio/ByteBuffer;
-Landroid/filterfw/core/VertexFrame;->getFloats()[F
-Landroid/filterfw/core/VertexFrame;->getInts()[I
-Landroid/filterfw/core/VertexFrame;->getNativeVboId()I
-Landroid/filterfw/core/VertexFrame;->getObjectValue()Ljava/lang/Object;
-Landroid/filterfw/core/VertexFrame;->getVboId()I
-Landroid/filterfw/core/VertexFrame;->hasNativeAllocation()Z
-Landroid/filterfw/core/VertexFrame;->nativeAllocate(I)Z
-Landroid/filterfw/core/VertexFrame;->nativeDeallocate()Z
-Landroid/filterfw/core/VertexFrame;->releaseNativeAllocation()V
-Landroid/filterfw/core/VertexFrame;->setBitmap(Landroid/graphics/Bitmap;)V
-Landroid/filterfw/core/VertexFrame;->setData(Ljava/nio/ByteBuffer;II)V
-Landroid/filterfw/core/VertexFrame;->setDataFromFrame(Landroid/filterfw/core/Frame;)V
-Landroid/filterfw/core/VertexFrame;->setFloats([F)V
-Landroid/filterfw/core/VertexFrame;->setInts([I)V
-Landroid/filterfw/core/VertexFrame;->setNativeData([BII)Z
-Landroid/filterfw/core/VertexFrame;->setNativeFloats([F)Z
-Landroid/filterfw/core/VertexFrame;->setNativeInts([I)Z
-Landroid/filterfw/core/VertexFrame;->vertexFrameId:I
-Landroid/filterfw/FilterFunctionEnvironment;
-Landroid/filterfw/FilterFunctionEnvironment;-><init>()V
-Landroid/filterfw/FilterFunctionEnvironment;-><init>(Landroid/filterfw/core/FrameManager;)V
-Landroid/filterfw/FilterFunctionEnvironment;->createFunction(Ljava/lang/Class;[[Ljava/lang/Object;)Landroid/filterfw/core/FilterFunction;
-Landroid/filterfw/format/ImageFormat;
-Landroid/filterfw/format/ImageFormat;-><init>()V
-Landroid/filterfw/format/ImageFormat;->bytesPerSampleForColorspace(I)I
-Landroid/filterfw/format/ImageFormat;->COLORSPACE_GRAY:I
-Landroid/filterfw/format/ImageFormat;->COLORSPACE_KEY:Ljava/lang/String;
-Landroid/filterfw/format/ImageFormat;->COLORSPACE_RGB:I
-Landroid/filterfw/format/ImageFormat;->COLORSPACE_RGBA:I
-Landroid/filterfw/format/ImageFormat;->COLORSPACE_YUV:I
-Landroid/filterfw/format/ImageFormat;->create(IIIII)Landroid/filterfw/core/MutableFrameFormat;
-Landroid/filterfw/format/ObjectFormat;
-Landroid/filterfw/format/ObjectFormat;-><init>()V
-Landroid/filterfw/format/ObjectFormat;->bytesPerSampleForClass(Ljava/lang/Class;I)I
-Landroid/filterfw/format/ObjectFormat;->fromClass(Ljava/lang/Class;I)Landroid/filterfw/core/MutableFrameFormat;
-Landroid/filterfw/format/ObjectFormat;->fromClass(Ljava/lang/Class;II)Landroid/filterfw/core/MutableFrameFormat;
-Landroid/filterfw/format/ObjectFormat;->fromObject(Ljava/lang/Object;I)Landroid/filterfw/core/MutableFrameFormat;
-Landroid/filterfw/format/ObjectFormat;->fromObject(Ljava/lang/Object;II)Landroid/filterfw/core/MutableFrameFormat;
-Landroid/filterfw/format/ObjectFormat;->getBoxedClass(Ljava/lang/Class;)Ljava/lang/Class;
-Landroid/filterfw/format/PrimitiveFormat;
-Landroid/filterfw/format/PrimitiveFormat;-><init>()V
-Landroid/filterfw/format/PrimitiveFormat;->createByteFormat(I)Landroid/filterfw/core/MutableFrameFormat;
-Landroid/filterfw/format/PrimitiveFormat;->createByteFormat(II)Landroid/filterfw/core/MutableFrameFormat;
-Landroid/filterfw/format/PrimitiveFormat;->createDoubleFormat(I)Landroid/filterfw/core/MutableFrameFormat;
-Landroid/filterfw/format/PrimitiveFormat;->createDoubleFormat(II)Landroid/filterfw/core/MutableFrameFormat;
-Landroid/filterfw/format/PrimitiveFormat;->createFloatFormat(I)Landroid/filterfw/core/MutableFrameFormat;
-Landroid/filterfw/format/PrimitiveFormat;->createFloatFormat(II)Landroid/filterfw/core/MutableFrameFormat;
-Landroid/filterfw/format/PrimitiveFormat;->createFormat(II)Landroid/filterfw/core/MutableFrameFormat;
-Landroid/filterfw/format/PrimitiveFormat;->createFormat(III)Landroid/filterfw/core/MutableFrameFormat;
-Landroid/filterfw/format/PrimitiveFormat;->createInt16Format(I)Landroid/filterfw/core/MutableFrameFormat;
-Landroid/filterfw/format/PrimitiveFormat;->createInt16Format(II)Landroid/filterfw/core/MutableFrameFormat;
-Landroid/filterfw/format/PrimitiveFormat;->createInt32Format(I)Landroid/filterfw/core/MutableFrameFormat;
-Landroid/filterfw/format/PrimitiveFormat;->createInt32Format(II)Landroid/filterfw/core/MutableFrameFormat;
-Landroid/filterfw/geometry/Point;
-Landroid/filterfw/geometry/Point;->distanceTo(Landroid/filterfw/geometry/Point;)F
-Landroid/filterfw/geometry/Point;->IsInUnitRange()Z
-Landroid/filterfw/geometry/Point;->length()F
-Landroid/filterfw/geometry/Point;->minus(FF)Landroid/filterfw/geometry/Point;
-Landroid/filterfw/geometry/Point;->minus(Landroid/filterfw/geometry/Point;)Landroid/filterfw/geometry/Point;
-Landroid/filterfw/geometry/Point;->mult(FF)Landroid/filterfw/geometry/Point;
-Landroid/filterfw/geometry/Point;->normalize()Landroid/filterfw/geometry/Point;
-Landroid/filterfw/geometry/Point;->plus(FF)Landroid/filterfw/geometry/Point;
-Landroid/filterfw/geometry/Point;->plus(Landroid/filterfw/geometry/Point;)Landroid/filterfw/geometry/Point;
-Landroid/filterfw/geometry/Point;->rotated(F)Landroid/filterfw/geometry/Point;
-Landroid/filterfw/geometry/Point;->rotated90(I)Landroid/filterfw/geometry/Point;
-Landroid/filterfw/geometry/Point;->rotatedAround(Landroid/filterfw/geometry/Point;F)Landroid/filterfw/geometry/Point;
-Landroid/filterfw/geometry/Point;->scaledTo(F)Landroid/filterfw/geometry/Point;
-Landroid/filterfw/geometry/Point;->set(FF)V
-Landroid/filterfw/geometry/Point;->times(F)Landroid/filterfw/geometry/Point;
-Landroid/filterfw/geometry/Quad;
-Landroid/filterfw/geometry/Quad;->boundingBox()Landroid/filterfw/geometry/Rectangle;
-Landroid/filterfw/geometry/Quad;->getBoundingHeight()F
-Landroid/filterfw/geometry/Quad;->getBoundingWidth()F
-Landroid/filterfw/geometry/Quad;->IsInUnitRange()Z
-Landroid/filterfw/geometry/Quad;->scaled(F)Landroid/filterfw/geometry/Quad;
-Landroid/filterfw/geometry/Quad;->scaled(FF)Landroid/filterfw/geometry/Quad;
-Landroid/filterfw/geometry/Quad;->translated(FF)Landroid/filterfw/geometry/Quad;
-Landroid/filterfw/geometry/Quad;->translated(Landroid/filterfw/geometry/Point;)Landroid/filterfw/geometry/Quad;
-Landroid/filterfw/geometry/Rectangle;
-Landroid/filterfw/geometry/Rectangle;-><init>()V
-Landroid/filterfw/geometry/Rectangle;-><init>(FFFF)V
-Landroid/filterfw/geometry/Rectangle;-><init>(Landroid/filterfw/geometry/Point;Landroid/filterfw/geometry/Point;)V
-Landroid/filterfw/geometry/Rectangle;-><init>(Landroid/filterfw/geometry/Point;Landroid/filterfw/geometry/Point;Landroid/filterfw/geometry/Point;Landroid/filterfw/geometry/Point;)V
-Landroid/filterfw/geometry/Rectangle;->center()Landroid/filterfw/geometry/Point;
-Landroid/filterfw/geometry/Rectangle;->fromCenterVerticalAxis(Landroid/filterfw/geometry/Point;Landroid/filterfw/geometry/Point;Landroid/filterfw/geometry/Point;)Landroid/filterfw/geometry/Rectangle;
-Landroid/filterfw/geometry/Rectangle;->fromRotatedRect(Landroid/filterfw/geometry/Point;Landroid/filterfw/geometry/Point;F)Landroid/filterfw/geometry/Rectangle;
-Landroid/filterfw/geometry/Rectangle;->getHeight()F
-Landroid/filterfw/geometry/Rectangle;->getWidth()F
-Landroid/filterfw/geometry/Rectangle;->scaled(F)Landroid/filterfw/geometry/Rectangle;
-Landroid/filterfw/geometry/Rectangle;->scaled(FF)Landroid/filterfw/geometry/Rectangle;
-Landroid/filterfw/GraphEnvironment$GraphHandle;
-Landroid/filterfw/GraphEnvironment$GraphHandle;-><init>(Landroid/filterfw/core/FilterGraph;)V
-Landroid/filterfw/GraphEnvironment$GraphHandle;->getAsyncRunner(Landroid/filterfw/core/FilterContext;)Landroid/filterfw/core/AsyncRunner;
-Landroid/filterfw/GraphEnvironment$GraphHandle;->getGraph()Landroid/filterfw/core/FilterGraph;
-Landroid/filterfw/GraphEnvironment$GraphHandle;->getSyncRunner(Landroid/filterfw/core/FilterContext;)Landroid/filterfw/core/GraphRunner;
-Landroid/filterfw/GraphEnvironment$GraphHandle;->mAsyncRunner:Landroid/filterfw/core/AsyncRunner;
-Landroid/filterfw/GraphEnvironment$GraphHandle;->mGraph:Landroid/filterfw/core/FilterGraph;
-Landroid/filterfw/GraphEnvironment$GraphHandle;->mSyncRunner:Landroid/filterfw/core/SyncRunner;
-Landroid/filterfw/GraphEnvironment;
-Landroid/filterfw/GraphEnvironment;-><init>(Landroid/filterfw/core/FrameManager;Landroid/filterfw/io/GraphReader;)V
-Landroid/filterfw/GraphEnvironment;->addGraph(Landroid/filterfw/core/FilterGraph;)I
-Landroid/filterfw/GraphEnvironment;->addReferences([[Ljava/lang/Object;)V
-Landroid/filterfw/GraphEnvironment;->getGraph(I)Landroid/filterfw/core/FilterGraph;
-Landroid/filterfw/GraphEnvironment;->getGraphReader()Landroid/filterfw/io/GraphReader;
-Landroid/filterfw/GraphEnvironment;->mGraphReader:Landroid/filterfw/io/GraphReader;
-Landroid/filterfw/GraphEnvironment;->mGraphs:Ljava/util/ArrayList;
-Landroid/filterfw/GraphEnvironment;->MODE_ASYNCHRONOUS:I
-Landroid/filterfw/GraphEnvironment;->MODE_SYNCHRONOUS:I
-Landroid/filterfw/MffEnvironment;
-Landroid/filterfw/MffEnvironment;-><init>(Landroid/filterfw/core/FrameManager;)V
-Landroid/filterfw/MffEnvironment;->activateGLEnvironment()V
-Landroid/filterfw/MffEnvironment;->createGLEnvironment()V
-Landroid/filterfw/MffEnvironment;->deactivateGLEnvironment()V
-Landroid/filterfw/MffEnvironment;->getContext()Landroid/filterfw/core/FilterContext;
-Landroid/filterfw/MffEnvironment;->mContext:Landroid/filterfw/core/FilterContext;
-Landroid/filterfw/MffEnvironment;->setGLEnvironment(Landroid/filterfw/core/GLEnvironment;)V
-Landroid/gesture/Gesture;->BITMAP_RENDERING_ANTIALIAS:Z
-Landroid/gesture/Gesture;->BITMAP_RENDERING_DITHER:Z
-Landroid/gesture/Gesture;->BITMAP_RENDERING_WIDTH:I
-Landroid/gesture/Gesture;->deserialize(Ljava/io/DataInputStream;)Landroid/gesture/Gesture;
-Landroid/gesture/Gesture;->GESTURE_ID_BASE:J
-Landroid/gesture/Gesture;->mBoundingBox:Landroid/graphics/RectF;
-Landroid/gesture/Gesture;->mGestureID:J
-Landroid/gesture/Gesture;->mStrokes:Ljava/util/ArrayList;
-Landroid/gesture/Gesture;->serialize(Ljava/io/DataOutputStream;)V
-Landroid/gesture/Gesture;->setID(J)V
-Landroid/gesture/Gesture;->sGestureCount:Ljava/util/concurrent/atomic/AtomicInteger;
-Landroid/gesture/GestureLibraries$FileGestureLibrary;
-Landroid/gesture/GestureLibraries$FileGestureLibrary;-><init>(Ljava/io/File;)V
-Landroid/gesture/GestureLibraries$FileGestureLibrary;->mPath:Ljava/io/File;
-Landroid/gesture/GestureLibraries$ResourceGestureLibrary;
-Landroid/gesture/GestureLibraries$ResourceGestureLibrary;-><init>(Landroid/content/Context;I)V
-Landroid/gesture/GestureLibraries$ResourceGestureLibrary;->mContext:Ljava/lang/ref/WeakReference;
-Landroid/gesture/GestureLibraries$ResourceGestureLibrary;->mResourceId:I
-Landroid/gesture/GestureLibraries;-><init>()V
-Landroid/gesture/GestureLibrary;->getLearner()Landroid/gesture/Learner;
-Landroid/gesture/GestureOverlayView$FadeOutRunnable;
-Landroid/gesture/GestureOverlayView$FadeOutRunnable;-><init>()V
-Landroid/gesture/GestureOverlayView$FadeOutRunnable;->fireActionPerformed:Z
-Landroid/gesture/GestureOverlayView$FadeOutRunnable;->resetMultipleStrokes:Z
-Landroid/gesture/GestureOverlayView;->cancelGesture(Landroid/view/MotionEvent;)V
-Landroid/gesture/GestureOverlayView;->clear(ZZZ)V
-Landroid/gesture/GestureOverlayView;->DITHER_FLAG:Z
-Landroid/gesture/GestureOverlayView;->FADE_ANIMATION_RATE:I
-Landroid/gesture/GestureOverlayView;->fireOnGesturePerformed()V
-Landroid/gesture/GestureOverlayView;->GESTURE_RENDERING_ANTIALIAS:Z
-Landroid/gesture/GestureOverlayView;->getGesturePaint()Landroid/graphics/Paint;
-Landroid/gesture/GestureOverlayView;->init()V
-Landroid/gesture/GestureOverlayView;->mCertainGestureColor:I
-Landroid/gesture/GestureOverlayView;->mCurrentColor:I
-Landroid/gesture/GestureOverlayView;->mCurrentGesture:Landroid/gesture/Gesture;
-Landroid/gesture/GestureOverlayView;->mCurveEndX:F
-Landroid/gesture/GestureOverlayView;->mCurveEndY:F
-Landroid/gesture/GestureOverlayView;->mFadeDuration:J
-Landroid/gesture/GestureOverlayView;->mFadeEnabled:Z
-Landroid/gesture/GestureOverlayView;->mFadeOffset:J
-Landroid/gesture/GestureOverlayView;->mFadingAlpha:F
-Landroid/gesture/GestureOverlayView;->mFadingHasStarted:Z
-Landroid/gesture/GestureOverlayView;->mFadingOut:Landroid/gesture/GestureOverlayView$FadeOutRunnable;
-Landroid/gesture/GestureOverlayView;->mFadingStart:J
-Landroid/gesture/GestureOverlayView;->mGesturePaint:Landroid/graphics/Paint;
-Landroid/gesture/GestureOverlayView;->mGestureStrokeAngleThreshold:F
-Landroid/gesture/GestureOverlayView;->mGestureStrokeLengthThreshold:F
-Landroid/gesture/GestureOverlayView;->mGestureStrokeSquarenessTreshold:F
-Landroid/gesture/GestureOverlayView;->mGestureStrokeType:I
-Landroid/gesture/GestureOverlayView;->mGestureStrokeWidth:F
-Landroid/gesture/GestureOverlayView;->mGestureVisible:Z
-Landroid/gesture/GestureOverlayView;->mHandleGestureActions:Z
-Landroid/gesture/GestureOverlayView;->mInterceptEvents:Z
-Landroid/gesture/GestureOverlayView;->mInterpolator:Landroid/view/animation/AccelerateDecelerateInterpolator;
-Landroid/gesture/GestureOverlayView;->mInvalidateExtraBorder:I
-Landroid/gesture/GestureOverlayView;->mInvalidRect:Landroid/graphics/Rect;
-Landroid/gesture/GestureOverlayView;->mIsFadingOut:Z
-Landroid/gesture/GestureOverlayView;->mIsGesturing:Z
-Landroid/gesture/GestureOverlayView;->mIsListeningForGestures:Z
-Landroid/gesture/GestureOverlayView;->mOnGestureListeners:Ljava/util/ArrayList;
-Landroid/gesture/GestureOverlayView;->mOnGesturePerformedListeners:Ljava/util/ArrayList;
-Landroid/gesture/GestureOverlayView;->mOnGesturingListeners:Ljava/util/ArrayList;
-Landroid/gesture/GestureOverlayView;->mOrientation:I
-Landroid/gesture/GestureOverlayView;->mPath:Landroid/graphics/Path;
-Landroid/gesture/GestureOverlayView;->mPreviousWasGesturing:Z
-Landroid/gesture/GestureOverlayView;->mResetGesture:Z
-Landroid/gesture/GestureOverlayView;->mStrokeBuffer:Ljava/util/ArrayList;
-Landroid/gesture/GestureOverlayView;->mTotalLength:F
-Landroid/gesture/GestureOverlayView;->mUncertainGestureColor:I
-Landroid/gesture/GestureOverlayView;->mX:F
-Landroid/gesture/GestureOverlayView;->mY:F
-Landroid/gesture/GestureOverlayView;->processEvent(Landroid/view/MotionEvent;)Z
-Landroid/gesture/GestureOverlayView;->setCurrentColor(I)V
-Landroid/gesture/GestureOverlayView;->setPaintAlpha(I)V
-Landroid/gesture/GestureOverlayView;->touchDown(Landroid/view/MotionEvent;)V
-Landroid/gesture/GestureOverlayView;->touchMove(Landroid/view/MotionEvent;)Landroid/graphics/Rect;
-Landroid/gesture/GestureOverlayView;->touchUp(Landroid/view/MotionEvent;Z)V
-Landroid/gesture/GesturePoint;->deserialize(Ljava/io/DataInputStream;)Landroid/gesture/GesturePoint;
-Landroid/gesture/GestureStore;->FILE_FORMAT_VERSION:S
-Landroid/gesture/GestureStore;->getLearner()Landroid/gesture/Learner;
-Landroid/gesture/GestureStore;->mChanged:Z
-Landroid/gesture/GestureStore;->mClassifier:Landroid/gesture/Learner;
-Landroid/gesture/GestureStore;->mNamedGestures:Ljava/util/HashMap;
-Landroid/gesture/GestureStore;->mOrientationStyle:I
-Landroid/gesture/GestureStore;->mSequenceType:I
-Landroid/gesture/GestureStore;->ORIENTATION_SENSITIVE_4:I
-Landroid/gesture/GestureStore;->ORIENTATION_SENSITIVE_8:I
-Landroid/gesture/GestureStore;->PROFILE_LOADING_SAVING:Z
-Landroid/gesture/GestureStore;->readFormatV1(Ljava/io/DataInputStream;)V
-Landroid/gesture/GestureStroke;-><init>(Landroid/graphics/RectF;F[F[J)V
-Landroid/gesture/GestureStroke;->deserialize(Ljava/io/DataInputStream;)Landroid/gesture/GestureStroke;
-Landroid/gesture/GestureStroke;->draw(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
-Landroid/gesture/GestureStroke;->makePath()V
-Landroid/gesture/GestureStroke;->mCachedPath:Landroid/graphics/Path;
-Landroid/gesture/GestureStroke;->serialize(Ljava/io/DataOutputStream;)V
-Landroid/gesture/GestureStroke;->timestamps:[J
-Landroid/gesture/GestureStroke;->TOUCH_TOLERANCE:F
-Landroid/gesture/GestureUtils;-><init>()V
-Landroid/gesture/GestureUtils;->closeStream(Ljava/io/Closeable;)V
-Landroid/gesture/GestureUtils;->computeCentroid([F)[F
-Landroid/gesture/GestureUtils;->computeCoVariance([F)[[F
-Landroid/gesture/GestureUtils;->computeOrientation([[F)[F
-Landroid/gesture/GestureUtils;->computeOrientedBoundingBox([F[F)Landroid/gesture/OrientedBoundingBox;
-Landroid/gesture/GestureUtils;->computeStraightness([F)F
-Landroid/gesture/GestureUtils;->computeStraightness([FF)F
-Landroid/gesture/GestureUtils;->computeTotalLength([F)F
-Landroid/gesture/GestureUtils;->cosineDistance([F[F)F
-Landroid/gesture/GestureUtils;->minimumCosineDistance([F[FI)F
-Landroid/gesture/GestureUtils;->NONUNIFORM_SCALE:F
-Landroid/gesture/GestureUtils;->plot(FF[FI)V
-Landroid/gesture/GestureUtils;->rotate([FF)[F
-Landroid/gesture/GestureUtils;->scale([FFF)[F
-Landroid/gesture/GestureUtils;->SCALING_THRESHOLD:F
-Landroid/gesture/GestureUtils;->squaredEuclideanDistance([F[F)F
-Landroid/gesture/GestureUtils;->translate([FFF)[F
-Landroid/gesture/Instance;
-Landroid/gesture/Instance;-><init>(J[FLjava/lang/String;)V
-Landroid/gesture/Instance;->createInstance(IILandroid/gesture/Gesture;Ljava/lang/String;)Landroid/gesture/Instance;
-Landroid/gesture/Instance;->id:J
-Landroid/gesture/Instance;->label:Ljava/lang/String;
-Landroid/gesture/Instance;->normalize()V
-Landroid/gesture/Instance;->ORIENTATIONS:[F
-Landroid/gesture/Instance;->PATCH_SAMPLE_SIZE:I
-Landroid/gesture/Instance;->SEQUENCE_SAMPLE_SIZE:I
-Landroid/gesture/Instance;->spatialSampler(Landroid/gesture/Gesture;)[F
-Landroid/gesture/Instance;->temporalSampler(ILandroid/gesture/Gesture;)[F
-Landroid/gesture/Instance;->vector:[F
-Landroid/gesture/Learner;
-Landroid/gesture/Learner;-><init>()V
-Landroid/gesture/Learner;->addInstance(Landroid/gesture/Instance;)V
-Landroid/gesture/Learner;->classify(II[F)Ljava/util/ArrayList;
-Landroid/gesture/Learner;->getInstances()Ljava/util/ArrayList;
-Landroid/gesture/Learner;->mInstances:Ljava/util/ArrayList;
-Landroid/gesture/Learner;->removeInstance(J)V
-Landroid/gesture/Learner;->removeInstances(Ljava/lang/String;)V
-Landroid/gesture/OrientedBoundingBox;-><init>(FFFFF)V
-Landroid/gesture/OrientedBoundingBox;->toPath()Landroid/graphics/Path;
-Landroid/gesture/Prediction;-><init>(Ljava/lang/String;D)V
-Landroid/graphics/AvoidXfermode$Mode;-><init>(I)V
-Landroid/graphics/AvoidXfermode$Mode;->nativeInt:I
-Landroid/graphics/BaseCanvas;
-Landroid/graphics/BaseCanvas;-><init>()V
-Landroid/graphics/BaseCanvas;->checkRange(III)V
-Landroid/graphics/BaseCanvas;->drawArc(FFFFFFZLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawARGB(IIII)V
-Landroid/graphics/BaseCanvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Matrix;Landroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/RectF;Landroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawBitmap([IIIFFIIZLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawBitmap([IIIIIIIZLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawBitmapMesh(Landroid/graphics/Bitmap;II[FI[IILandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawCircle(FFFLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawColor(I)V
-Landroid/graphics/BaseCanvas;->drawColor(ILandroid/graphics/PorterDuff$Mode;)V
-Landroid/graphics/BaseCanvas;->drawLine(FFFFLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawLines([FIILandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawLines([FLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawOval(FFFFLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawOval(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawPaint(Landroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/RectF;Landroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawPoint(FFLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawPoints([FIILandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawPoints([FLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawPosText(Ljava/lang/String;[FLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawPosText([CII[FLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawRect(FFFFLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawRect(Landroid/graphics/Rect;Landroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawRGB(III)V
-Landroid/graphics/BaseCanvas;->drawRoundRect(FFFFFFLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawText(Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawText(Ljava/lang/String;IIFFLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawText([CIIFFLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawTextOnPath(Ljava/lang/String;Landroid/graphics/Path;FFLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawTextOnPath([CIILandroid/graphics/Path;FFLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawTextRun(Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawTextRun([CIIIIFFZLandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->drawVertices(Landroid/graphics/Canvas$VertexMode;I[FI[FI[II[SIILandroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->isHardwareAccelerated()Z
-Landroid/graphics/BaseCanvas;->isHwBitmapsInSwModeEnabled()Z
-Landroid/graphics/BaseCanvas;->mAllowHwBitmapsInSwMode:Z
-Landroid/graphics/BaseCanvas;->mDensity:I
-Landroid/graphics/BaseCanvas;->mScreenDensity:I
-Landroid/graphics/BaseCanvas;->nDrawArc(JFFFFFFZJ)V
-Landroid/graphics/BaseCanvas;->nDrawBitmap(JLandroid/graphics/Bitmap;FFFFFFFFJII)V
-Landroid/graphics/BaseCanvas;->nDrawBitmap(JLandroid/graphics/Bitmap;FFJIII)V
-Landroid/graphics/BaseCanvas;->nDrawBitmap(J[IIIFFIIZJ)V
-Landroid/graphics/BaseCanvas;->nDrawBitmapMatrix(JLandroid/graphics/Bitmap;JJ)V
-Landroid/graphics/BaseCanvas;->nDrawBitmapMesh(JLandroid/graphics/Bitmap;II[FI[IIJ)V
-Landroid/graphics/BaseCanvas;->nDrawCircle(JFFFJ)V
-Landroid/graphics/BaseCanvas;->nDrawColor(JII)V
-Landroid/graphics/BaseCanvas;->nDrawLine(JFFFFJ)V
-Landroid/graphics/BaseCanvas;->nDrawLines(J[FIIJ)V
-Landroid/graphics/BaseCanvas;->nDrawNinePatch(JJJFFFFJII)V
-Landroid/graphics/BaseCanvas;->nDrawOval(JFFFFJ)V
-Landroid/graphics/BaseCanvas;->nDrawPaint(JJ)V
-Landroid/graphics/BaseCanvas;->nDrawPath(JJJ)V
-Landroid/graphics/BaseCanvas;->nDrawPoint(JFFJ)V
-Landroid/graphics/BaseCanvas;->nDrawPoints(J[FIIJ)V
-Landroid/graphics/BaseCanvas;->nDrawRect(JFFFFJ)V
-Landroid/graphics/BaseCanvas;->nDrawRegion(JJJ)V
-Landroid/graphics/BaseCanvas;->nDrawRoundRect(JFFFFFFJ)V
-Landroid/graphics/BaseCanvas;->nDrawText(JLjava/lang/String;IIFFIJ)V
-Landroid/graphics/BaseCanvas;->nDrawText(J[CIIFFIJ)V
-Landroid/graphics/BaseCanvas;->nDrawTextOnPath(JLjava/lang/String;JFFIJ)V
-Landroid/graphics/BaseCanvas;->nDrawTextOnPath(J[CIIJFFIJ)V
-Landroid/graphics/BaseCanvas;->nDrawTextRun(JLjava/lang/String;IIIIFFZJ)V
-Landroid/graphics/BaseCanvas;->nDrawTextRun(J[CIIIIFFZJJ)V
-Landroid/graphics/BaseCanvas;->nDrawVertices(JII[FI[FI[II[SIIJ)V
-Landroid/graphics/BaseCanvas;->onHwBitmapInSwMode()V
-Landroid/graphics/BaseCanvas;->setHwBitmapsInSwModeEnabled(Z)V
-Landroid/graphics/BaseCanvas;->throwIfCannotDraw(Landroid/graphics/Bitmap;)V
-Landroid/graphics/BaseCanvas;->throwIfHasHwBitmapInSwMode(Landroid/graphics/Paint;)V
-Landroid/graphics/BaseCanvas;->throwIfHasHwBitmapInSwMode(Landroid/graphics/Shader;)V
-Landroid/graphics/BaseCanvas;->throwIfHwBitmapInSwMode(Landroid/graphics/Bitmap;)V
-Landroid/graphics/Bitmap$CompressFormat;-><init>(I)V
-Landroid/graphics/Bitmap$CompressFormat;->nativeInt:I
-Landroid/graphics/Bitmap$Config;-><init>(I)V
-Landroid/graphics/Bitmap$Config;->sConfigs:[Landroid/graphics/Bitmap$Config;
-Landroid/graphics/Bitmap;->checkHardware(Ljava/lang/String;)V
-Landroid/graphics/Bitmap;->checkPixelAccess(II)V
-Landroid/graphics/Bitmap;->checkPixelsAccess(IIIIII[I)V
-Landroid/graphics/Bitmap;->checkRecycled(Ljava/lang/String;)V
-Landroid/graphics/Bitmap;->checkWidthHeight(II)V
-Landroid/graphics/Bitmap;->checkXYSign(II)V
-Landroid/graphics/Bitmap;->getNativeInstance()J
-Landroid/graphics/Bitmap;->getNinePatchInsets()Landroid/graphics/NinePatch$InsetStruct;
-Landroid/graphics/Bitmap;->getOpticalInsets(Landroid/graphics/Rect;)V
-Landroid/graphics/Bitmap;->makeImmutable()V
-Landroid/graphics/Bitmap;->mColorSpace:Landroid/graphics/ColorSpace;
-Landroid/graphics/Bitmap;->mDensity:I
-Landroid/graphics/Bitmap;->mRecycled:Z
-Landroid/graphics/Bitmap;->mRequestPremultiplied:Z
-Landroid/graphics/Bitmap;->nativeCompress(JIILjava/io/OutputStream;[B)Z
-Landroid/graphics/Bitmap;->nativeConfig(J)I
-Landroid/graphics/Bitmap;->nativeCopy(JIZ)Landroid/graphics/Bitmap;
-Landroid/graphics/Bitmap;->nativeCopyAshmem(J)Landroid/graphics/Bitmap;
-Landroid/graphics/Bitmap;->nativeCopyAshmemConfig(JI)Landroid/graphics/Bitmap;
-Landroid/graphics/Bitmap;->nativeCopyColorSpace(JJ)V
-Landroid/graphics/Bitmap;->nativeCopyPixelsFromBuffer(JLjava/nio/Buffer;)V
-Landroid/graphics/Bitmap;->nativeCopyPixelsToBuffer(JLjava/nio/Buffer;)V
-Landroid/graphics/Bitmap;->nativeCopyPreserveInternalConfig(J)Landroid/graphics/Bitmap;
-Landroid/graphics/Bitmap;->nativeCreate([IIIIIIZ[FLandroid/graphics/ColorSpace$Rgb$TransferParameters;)Landroid/graphics/Bitmap;
-Landroid/graphics/Bitmap;->nativeCreateFromParcel(Landroid/os/Parcel;)Landroid/graphics/Bitmap;
-Landroid/graphics/Bitmap;->nativeCreateGraphicBufferHandle(J)Landroid/graphics/GraphicBuffer;
-Landroid/graphics/Bitmap;->nativeCreateHardwareBitmap(Landroid/graphics/GraphicBuffer;)Landroid/graphics/Bitmap;
-Landroid/graphics/Bitmap;->nativeErase(JI)V
-Landroid/graphics/Bitmap;->nativeExtractAlpha(JJ[I)Landroid/graphics/Bitmap;
-Landroid/graphics/Bitmap;->nativeGenerationId(J)I
-Landroid/graphics/Bitmap;->nativeGetAllocationByteCount(J)I
-Landroid/graphics/Bitmap;->nativeGetColorSpace(J[F[F)Z
-Landroid/graphics/Bitmap;->nativeGetNativeFinalizer()J
-Landroid/graphics/Bitmap;->nativeGetPixel(JII)I
-Landroid/graphics/Bitmap;->nativeGetPixels(J[IIIIIII)V
-Landroid/graphics/Bitmap;->nativeHasAlpha(J)Z
-Landroid/graphics/Bitmap;->nativeHasMipMap(J)Z
-Landroid/graphics/Bitmap;->nativeIsPremultiplied(J)Z
-Landroid/graphics/Bitmap;->nativeIsSRGB(J)Z
-Landroid/graphics/Bitmap;->nativeIsSRGBLinear(J)Z
-Landroid/graphics/Bitmap;->nativePrepareToDraw(J)V
-Landroid/graphics/Bitmap;->nativeRecycle(J)Z
-Landroid/graphics/Bitmap;->nativeRowBytes(J)I
-Landroid/graphics/Bitmap;->nativeSameAs(JJ)Z
-Landroid/graphics/Bitmap;->nativeSetHasAlpha(JZZ)V
-Landroid/graphics/Bitmap;->nativeSetHasMipMap(JZ)V
-Landroid/graphics/Bitmap;->nativeSetPixel(JIII)V
-Landroid/graphics/Bitmap;->nativeSetPixels(J[IIIIIII)V
-Landroid/graphics/Bitmap;->nativeSetPremultiplied(JZ)V
-Landroid/graphics/Bitmap;->nativeWriteToParcel(JZILandroid/os/Parcel;)Z
-Landroid/graphics/Bitmap;->NATIVE_ALLOCATION_SIZE:J
-Landroid/graphics/Bitmap;->noteHardwareBitmapSlowCall()V
-Landroid/graphics/Bitmap;->sDefaultDensity:I
-Landroid/graphics/Bitmap;->sPreloadTracingNumInstantiatedBitmaps:I
-Landroid/graphics/Bitmap;->sPreloadTracingTotalBitmapsSize:J
-Landroid/graphics/Bitmap;->TAG:Ljava/lang/String;
-Landroid/graphics/Bitmap;->WORKING_COMPRESS_STORAGE:I
-Landroid/graphics/BitmapFactory$Options;->validate(Landroid/graphics/BitmapFactory$Options;)V
-Landroid/graphics/BitmapFactory;->decodeStreamInternal(Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
-Landroid/graphics/BitmapFactory;->DECODE_BUFFER_SIZE:I
-Landroid/graphics/BitmapFactory;->nativeIsSeekable(Ljava/io/FileDescriptor;)Z
-Landroid/graphics/BitmapFactory;->setDensityFromOptions(Landroid/graphics/Bitmap;Landroid/graphics/BitmapFactory$Options;)V
-Landroid/graphics/BitmapRegionDecoder;->checkRecycled(Ljava/lang/String;)V
-Landroid/graphics/BitmapRegionDecoder;->mNativeBitmapRegionDecoder:J
-Landroid/graphics/BitmapRegionDecoder;->mNativeLock:Ljava/lang/Object;
-Landroid/graphics/BitmapRegionDecoder;->mRecycled:Z
-Landroid/graphics/BitmapRegionDecoder;->nativeClean(J)V
-Landroid/graphics/BitmapRegionDecoder;->nativeDecodeRegion(JIIIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
-Landroid/graphics/BitmapRegionDecoder;->nativeGetHeight(J)I
-Landroid/graphics/BitmapRegionDecoder;->nativeGetWidth(J)I
-Landroid/graphics/BitmapRegionDecoder;->nativeNewInstance(JZ)Landroid/graphics/BitmapRegionDecoder;
-Landroid/graphics/BitmapRegionDecoder;->nativeNewInstance(Ljava/io/FileDescriptor;Z)Landroid/graphics/BitmapRegionDecoder;
-Landroid/graphics/BitmapRegionDecoder;->nativeNewInstance(Ljava/io/InputStream;[BZ)Landroid/graphics/BitmapRegionDecoder;
-Landroid/graphics/BitmapShader;-><init>(Landroid/graphics/Bitmap;II)V
-Landroid/graphics/BitmapShader;->copy()Landroid/graphics/Shader;
-Landroid/graphics/BitmapShader;->createNativeInstance(J)J
-Landroid/graphics/BitmapShader;->nativeCreate(JLandroid/graphics/Bitmap;II)J
-Landroid/graphics/BlurMaskFilter$Blur;-><init>(I)V
-Landroid/graphics/BlurMaskFilter$Blur;->native_int:I
-Landroid/graphics/BlurMaskFilter;->nativeConstructor(FI)J
-Landroid/graphics/Camera;->mMatrix:Landroid/graphics/Matrix;
-Landroid/graphics/Camera;->nativeApplyToCanvas(J)V
-Landroid/graphics/Camera;->nativeConstructor()V
-Landroid/graphics/Camera;->nativeDestructor()V
-Landroid/graphics/Camera;->nativeGetMatrix(J)V
-Landroid/graphics/Canvas$EdgeType;-><init>(I)V
-Landroid/graphics/Canvas$EdgeType;->nativeInt:I
-Landroid/graphics/Canvas$NoImagePreloadHolder;
-Landroid/graphics/Canvas$NoImagePreloadHolder;-><init>()V
-Landroid/graphics/Canvas$NoImagePreloadHolder;->sRegistry:Llibcore/util/NativeAllocationRegistry;
-Landroid/graphics/Canvas$Saveflags;
-Landroid/graphics/Canvas$VertexMode;-><init>(I)V
-Landroid/graphics/Canvas$VertexMode;->nativeInt:I
-Landroid/graphics/Canvas;->checkValidClipOp(Landroid/graphics/Region$Op;)V
-Landroid/graphics/Canvas;->checkValidSaveFlags(I)V
-Landroid/graphics/Canvas;->clipRectUnion(Landroid/graphics/Rect;)Z
-Landroid/graphics/Canvas;->drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
-Landroid/graphics/Canvas;->drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/RectF;Landroid/graphics/Paint;)V
-Landroid/graphics/Canvas;->insertInorderBarrier()V
-Landroid/graphics/Canvas;->insertReorderBarrier()V
-Landroid/graphics/Canvas;->isRecordingFor(Ljava/lang/Object;)Z
-Landroid/graphics/Canvas;->MAXMIMUM_BITMAP_SIZE:I
-Landroid/graphics/Canvas;->mDrawFilter:Landroid/graphics/DrawFilter;
-Landroid/graphics/Canvas;->mFinalizer:Ljava/lang/Runnable;
-Landroid/graphics/Canvas;->NATIVE_ALLOCATION_SIZE:J
-Landroid/graphics/Canvas;->nClipPath(JJI)Z
-Landroid/graphics/Canvas;->nClipRect(JFFFFI)Z
-Landroid/graphics/Canvas;->nConcat(JJ)V
-Landroid/graphics/Canvas;->nFreeCaches()V
-Landroid/graphics/Canvas;->nFreeTextLayoutCaches()V
-Landroid/graphics/Canvas;->nGetClipBounds(JLandroid/graphics/Rect;)Z
-Landroid/graphics/Canvas;->nGetHeight(J)I
-Landroid/graphics/Canvas;->nGetMatrix(JJ)V
-Landroid/graphics/Canvas;->nGetNativeFinalizer()J
-Landroid/graphics/Canvas;->nGetSaveCount(J)I
-Landroid/graphics/Canvas;->nGetWidth(J)I
-Landroid/graphics/Canvas;->nInitRaster(Landroid/graphics/Bitmap;)J
-Landroid/graphics/Canvas;->nIsOpaque(J)Z
-Landroid/graphics/Canvas;->nQuickReject(JFFFF)Z
-Landroid/graphics/Canvas;->nQuickReject(JJ)Z
-Landroid/graphics/Canvas;->nRestore(J)Z
-Landroid/graphics/Canvas;->nRestoreToCount(JI)V
-Landroid/graphics/Canvas;->nRotate(JF)V
-Landroid/graphics/Canvas;->nSave(JI)I
-Landroid/graphics/Canvas;->nSaveLayer(JFFFFJI)I
-Landroid/graphics/Canvas;->nSaveLayerAlpha(JFFFFII)I
-Landroid/graphics/Canvas;->nScale(JFF)V
-Landroid/graphics/Canvas;->nSetBitmap(JLandroid/graphics/Bitmap;)V
-Landroid/graphics/Canvas;->nSetCompatibilityVersion(I)V
-Landroid/graphics/Canvas;->nSetDrawFilter(JJ)V
-Landroid/graphics/Canvas;->nSetMatrix(JJ)V
-Landroid/graphics/Canvas;->nSkew(JFF)V
-Landroid/graphics/Canvas;->nTranslate(JFF)V
-Landroid/graphics/Canvas;->saveUnclippedLayer(IIII)I
-Landroid/graphics/Canvas;->sCompatibilityRestore:Z
-Landroid/graphics/Canvas;->sCompatibilitySetBitmap:Z
-Landroid/graphics/Canvas;->sCompatiblityVersion:I
-Landroid/graphics/Canvas;->setCompatibilityVersion(I)V
-Landroid/graphics/CanvasProperty;
-Landroid/graphics/CanvasProperty;-><init>(J)V
-Landroid/graphics/CanvasProperty;->getNativeContainer()J
-Landroid/graphics/CanvasProperty;->mProperty:Lcom/android/internal/util/VirtualRefBasePtr;
-Landroid/graphics/CanvasProperty;->nCreateFloat(F)J
-Landroid/graphics/CanvasProperty;->nCreatePaint(J)J
-Landroid/graphics/Color;-><init>(FFFF)V
-Landroid/graphics/Color;-><init>(FFFFLandroid/graphics/ColorSpace;)V
-Landroid/graphics/Color;-><init>([FLandroid/graphics/ColorSpace;)V
-Landroid/graphics/Color;->getHtmlColor(Ljava/lang/String;)I
-Landroid/graphics/Color;->mColorSpace:Landroid/graphics/ColorSpace;
-Landroid/graphics/Color;->mComponents:[F
-Landroid/graphics/Color;->nativeHSVToColor(I[F)I
-Landroid/graphics/Color;->nativeRGBToHSV(III[F)V
-Landroid/graphics/Color;->saturate(F)F
-Landroid/graphics/Color;->sColorNameMap:Ljava/util/HashMap;
-Landroid/graphics/ColorFilter$NoImagePreloadHolder;
-Landroid/graphics/ColorFilter$NoImagePreloadHolder;-><init>()V
-Landroid/graphics/ColorFilter$NoImagePreloadHolder;->sRegistry:Llibcore/util/NativeAllocationRegistry;
-Landroid/graphics/ColorFilter;->createNativeInstance()J
-Landroid/graphics/ColorFilter;->discardNativeInstance()V
-Landroid/graphics/ColorFilter;->getNativeInstance()J
-Landroid/graphics/ColorFilter;->mCleaner:Ljava/lang/Runnable;
-Landroid/graphics/ColorFilter;->mNativeInstance:J
-Landroid/graphics/ColorFilter;->nativeGetFinalizer()J
-Landroid/graphics/ColorMatrix;->mArray:[F
-Landroid/graphics/ColorMatrixColorFilter;->createNativeInstance()J
-Landroid/graphics/ColorMatrixColorFilter;->nativeColorMatrixFilter([F)J
-Landroid/graphics/ColorSpace$Adaptation;-><init>([F)V
-Landroid/graphics/ColorSpace$Adaptation;->mTransform:[F
-Landroid/graphics/ColorSpace$Connector$Rgb;
-Landroid/graphics/ColorSpace$Connector$Rgb;-><init>(Landroid/graphics/ColorSpace$Rgb;Landroid/graphics/ColorSpace$Rgb;Landroid/graphics/ColorSpace$RenderIntent;)V
-Landroid/graphics/ColorSpace$Connector$Rgb;->computeTransform(Landroid/graphics/ColorSpace$Rgb;Landroid/graphics/ColorSpace$Rgb;Landroid/graphics/ColorSpace$RenderIntent;)[F
-Landroid/graphics/ColorSpace$Connector$Rgb;->mDestination:Landroid/graphics/ColorSpace$Rgb;
-Landroid/graphics/ColorSpace$Connector$Rgb;->mSource:Landroid/graphics/ColorSpace$Rgb;
-Landroid/graphics/ColorSpace$Connector$Rgb;->mTransform:[F
-Landroid/graphics/ColorSpace$Connector;-><init>(Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace$RenderIntent;)V
-Landroid/graphics/ColorSpace$Connector;-><init>(Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace$RenderIntent;[F)V
-Landroid/graphics/ColorSpace$Connector;->computeTransform(Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace$RenderIntent;)[F
-Landroid/graphics/ColorSpace$Connector;->identity(Landroid/graphics/ColorSpace;)Landroid/graphics/ColorSpace$Connector;
-Landroid/graphics/ColorSpace$Connector;->mDestination:Landroid/graphics/ColorSpace;
-Landroid/graphics/ColorSpace$Connector;->mIntent:Landroid/graphics/ColorSpace$RenderIntent;
-Landroid/graphics/ColorSpace$Connector;->mSource:Landroid/graphics/ColorSpace;
-Landroid/graphics/ColorSpace$Connector;->mTransform:[F
-Landroid/graphics/ColorSpace$Connector;->mTransformDestination:Landroid/graphics/ColorSpace;
-Landroid/graphics/ColorSpace$Connector;->mTransformSource:Landroid/graphics/ColorSpace;
-Landroid/graphics/ColorSpace$Lab;
-Landroid/graphics/ColorSpace$Lab;-><init>(Ljava/lang/String;I)V
-Landroid/graphics/ColorSpace$Lab;->A:F
-Landroid/graphics/ColorSpace$Lab;->B:F
-Landroid/graphics/ColorSpace$Lab;->C:F
-Landroid/graphics/ColorSpace$Lab;->clamp(FFF)F
-Landroid/graphics/ColorSpace$Lab;->D:F
-Landroid/graphics/ColorSpace$Model;-><init>(I)V
-Landroid/graphics/ColorSpace$Model;->mComponentCount:I
-Landroid/graphics/ColorSpace$Named;-><init>()V
-Landroid/graphics/ColorSpace$Renderer$Point;
-Landroid/graphics/ColorSpace$Renderer$Point;-><init>(Landroid/graphics/ColorSpace;[FI)V
-Landroid/graphics/ColorSpace$Renderer$Point;->mColor:I
-Landroid/graphics/ColorSpace$Renderer$Point;->mColorSpace:Landroid/graphics/ColorSpace;
-Landroid/graphics/ColorSpace$Renderer$Point;->mRgb:[F
-Landroid/graphics/ColorSpace$Renderer;
-Landroid/graphics/ColorSpace$Renderer;-><init>()V
-Landroid/graphics/ColorSpace$Renderer;->add(Landroid/graphics/ColorSpace;FFFI)Landroid/graphics/ColorSpace$Renderer;
-Landroid/graphics/ColorSpace$Renderer;->add(Landroid/graphics/ColorSpace;I)Landroid/graphics/ColorSpace$Renderer;
-Landroid/graphics/ColorSpace$Renderer;->CHROMATICITY_RESOLUTION:I
-Landroid/graphics/ColorSpace$Renderer;->clip(Z)Landroid/graphics/ColorSpace$Renderer;
-Landroid/graphics/ColorSpace$Renderer;->computeChromaticityMesh([F[I)V
-Landroid/graphics/ColorSpace$Renderer;->computeColor([FFFFLandroid/graphics/ColorSpace;)I
-Landroid/graphics/ColorSpace$Renderer;->drawBox(Landroid/graphics/Canvas;IILandroid/graphics/Paint;Landroid/graphics/Path;)V
-Landroid/graphics/ColorSpace$Renderer;->drawGamuts(Landroid/graphics/Canvas;IILandroid/graphics/Paint;Landroid/graphics/Path;[F[F)V
-Landroid/graphics/ColorSpace$Renderer;->drawLocus(Landroid/graphics/Canvas;IILandroid/graphics/Paint;Landroid/graphics/Path;[F)V
-Landroid/graphics/ColorSpace$Renderer;->drawPoints(Landroid/graphics/Canvas;IILandroid/graphics/Paint;)V
-Landroid/graphics/ColorSpace$Renderer;->getPrimaries(Landroid/graphics/ColorSpace$Rgb;[FZ)V
-Landroid/graphics/ColorSpace$Renderer;->mClip:Z
-Landroid/graphics/ColorSpace$Renderer;->mColorSpaces:Ljava/util/List;
-Landroid/graphics/ColorSpace$Renderer;->mPoints:Ljava/util/List;
-Landroid/graphics/ColorSpace$Renderer;->mShowWhitePoint:Z
-Landroid/graphics/ColorSpace$Renderer;->mSize:I
-Landroid/graphics/ColorSpace$Renderer;->mUcs:Z
-Landroid/graphics/ColorSpace$Renderer;->NATIVE_SIZE:I
-Landroid/graphics/ColorSpace$Renderer;->ONE_THIRD:D
-Landroid/graphics/ColorSpace$Renderer;->render()Landroid/graphics/Bitmap;
-Landroid/graphics/ColorSpace$Renderer;->setTransform(Landroid/graphics/Canvas;II[F)V
-Landroid/graphics/ColorSpace$Renderer;->setUcsTransform(Landroid/graphics/Canvas;I)V
-Landroid/graphics/ColorSpace$Renderer;->showWhitePoint(Z)Landroid/graphics/ColorSpace$Renderer;
-Landroid/graphics/ColorSpace$Renderer;->size(I)Landroid/graphics/ColorSpace$Renderer;
-Landroid/graphics/ColorSpace$Renderer;->SPECTRUM_LOCUS_X:[F
-Landroid/graphics/ColorSpace$Renderer;->SPECTRUM_LOCUS_Y:[F
-Landroid/graphics/ColorSpace$Renderer;->sqr(D)D
-Landroid/graphics/ColorSpace$Renderer;->UCS_SCALE:F
-Landroid/graphics/ColorSpace$Renderer;->uniformChromaticityScale(Z)Landroid/graphics/ColorSpace$Renderer;
-Landroid/graphics/ColorSpace$RenderIntent;-><init>()V
-Landroid/graphics/ColorSpace$Rgb;-><init>(Landroid/graphics/ColorSpace$Rgb;[F[F)V
-Landroid/graphics/ColorSpace$Rgb;-><init>(Ljava/lang/String;[F[FDFFI)V
-Landroid/graphics/ColorSpace$Rgb;-><init>(Ljava/lang/String;[F[FLandroid/graphics/ColorSpace$Rgb$TransferParameters;I)V
-Landroid/graphics/ColorSpace$Rgb;-><init>(Ljava/lang/String;[F[FLjava/util/function/DoubleUnaryOperator;Ljava/util/function/DoubleUnaryOperator;FFI)V
-Landroid/graphics/ColorSpace$Rgb;->area([F)F
-Landroid/graphics/ColorSpace$Rgb;->clamp(D)D
-Landroid/graphics/ColorSpace$Rgb;->computePrimaries([F)[F
-Landroid/graphics/ColorSpace$Rgb;->computeWhitePoint([F)[F
-Landroid/graphics/ColorSpace$Rgb;->computeXYZMatrix([F[F)[F
-Landroid/graphics/ColorSpace$Rgb;->contains([F[F)Z
-Landroid/graphics/ColorSpace$Rgb;->cross(FFFF)F
-Landroid/graphics/ColorSpace$Rgb;->isSrgb([F[FLjava/util/function/DoubleUnaryOperator;Ljava/util/function/DoubleUnaryOperator;FFI)Z
-Landroid/graphics/ColorSpace$Rgb;->isWideGamut([FFF)Z
-Landroid/graphics/ColorSpace$Rgb;->mClampedEotf:Ljava/util/function/DoubleUnaryOperator;
-Landroid/graphics/ColorSpace$Rgb;->mClampedOetf:Ljava/util/function/DoubleUnaryOperator;
-Landroid/graphics/ColorSpace$Rgb;->mEotf:Ljava/util/function/DoubleUnaryOperator;
-Landroid/graphics/ColorSpace$Rgb;->mInverseTransform:[F
-Landroid/graphics/ColorSpace$Rgb;->mIsSrgb:Z
-Landroid/graphics/ColorSpace$Rgb;->mIsWideGamut:Z
-Landroid/graphics/ColorSpace$Rgb;->mMax:F
-Landroid/graphics/ColorSpace$Rgb;->mMin:F
-Landroid/graphics/ColorSpace$Rgb;->mOetf:Ljava/util/function/DoubleUnaryOperator;
-Landroid/graphics/ColorSpace$Rgb;->mPrimaries:[F
-Landroid/graphics/ColorSpace$Rgb;->mTransferParameters:Landroid/graphics/ColorSpace$Rgb$TransferParameters;
-Landroid/graphics/ColorSpace$Rgb;->mTransform:[F
-Landroid/graphics/ColorSpace$Rgb;->mWhitePoint:[F
-Landroid/graphics/ColorSpace$Rgb;->xyPrimaries([F)[F
-Landroid/graphics/ColorSpace$Rgb;->xyWhitePoint([F)[F
-Landroid/graphics/ColorSpace$Xyz;
-Landroid/graphics/ColorSpace$Xyz;-><init>(Ljava/lang/String;I)V
-Landroid/graphics/ColorSpace$Xyz;->clamp(F)F
-Landroid/graphics/ColorSpace;-><init>(Ljava/lang/String;Landroid/graphics/ColorSpace$Model;I)V
-Landroid/graphics/ColorSpace;->absRcpResponse(DDDDDD)D
-Landroid/graphics/ColorSpace;->absResponse(DDDDDD)D
-Landroid/graphics/ColorSpace;->chromaticAdaptation([F[F[F)[F
-Landroid/graphics/ColorSpace;->compare(Landroid/graphics/ColorSpace$Rgb$TransferParameters;Landroid/graphics/ColorSpace$Rgb$TransferParameters;)Z
-Landroid/graphics/ColorSpace;->compare([F[F)Z
-Landroid/graphics/ColorSpace;->createRenderer()Landroid/graphics/ColorSpace$Renderer;
-Landroid/graphics/ColorSpace;->get(I)Landroid/graphics/ColorSpace;
-Landroid/graphics/ColorSpace;->ILLUMINANT_D50_XYZ:[F
-Landroid/graphics/ColorSpace;->inverse3x3([F)[F
-Landroid/graphics/ColorSpace;->mId:I
-Landroid/graphics/ColorSpace;->mModel:Landroid/graphics/ColorSpace$Model;
-Landroid/graphics/ColorSpace;->mName:Ljava/lang/String;
-Landroid/graphics/ColorSpace;->mul3x3([F[F)[F
-Landroid/graphics/ColorSpace;->mul3x3Diag([F[F)[F
-Landroid/graphics/ColorSpace;->mul3x3Float3([F[F)[F
-Landroid/graphics/ColorSpace;->NTSC_1953_PRIMARIES:[F
-Landroid/graphics/ColorSpace;->rcpResponse(DDDDDD)D
-Landroid/graphics/ColorSpace;->rcpResponse(DDDDDDDD)D
-Landroid/graphics/ColorSpace;->response(DDDDDD)D
-Landroid/graphics/ColorSpace;->response(DDDDDDDD)D
-Landroid/graphics/ColorSpace;->sNamedColorSpaces:[Landroid/graphics/ColorSpace;
-Landroid/graphics/ColorSpace;->SRGB_PRIMARIES:[F
-Landroid/graphics/ColorSpace;->xyYToUv([F)V
-Landroid/graphics/ColorSpace;->xyYToXyz([F)[F
-Landroid/graphics/ComposePathEffect;->nativeCreate(JJ)J
-Landroid/graphics/ComposeShader;-><init>(Landroid/graphics/Shader;Landroid/graphics/Shader;I)V
-Landroid/graphics/ComposeShader;->copy()Landroid/graphics/Shader;
-Landroid/graphics/ComposeShader;->createNativeInstance(J)J
-Landroid/graphics/ComposeShader;->mNativeInstanceShaderA:J
-Landroid/graphics/ComposeShader;->mNativeInstanceShaderB:J
-Landroid/graphics/ComposeShader;->mPorterDuffMode:I
-Landroid/graphics/ComposeShader;->mShaderA:Landroid/graphics/Shader;
-Landroid/graphics/ComposeShader;->mShaderB:Landroid/graphics/Shader;
-Landroid/graphics/ComposeShader;->nativeCreate(JJJI)J
-Landroid/graphics/ComposeShader;->verifyNativeInstance()V
-Landroid/graphics/CornerPathEffect;->nativeCreate(F)J
-Landroid/graphics/DashPathEffect;->nativeCreate([FF)J
-Landroid/graphics/DiscretePathEffect;->nativeCreate(FF)J
-Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;
-Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;-><init>(I)V
-Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;-><init>(Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;Landroid/graphics/drawable/AdaptiveIconDrawable;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;->canApplyTheme()Z
-Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;->mDensity:I
-Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;->mDrawable:Landroid/graphics/drawable/Drawable;
-Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;->mThemeAttrs:[I
-Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;->setDensity(I)V
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;-><init>(Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;Landroid/graphics/drawable/AdaptiveIconDrawable;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->canConstantState()Z
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->getOpacity()I
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->hasFocusStateSpecified()Z
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->invalidateCache()V
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->isStateful()Z
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->mAutoMirrored:Z
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->mChangingConfigurations:I
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->mCheckedOpacity:Z
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->mCheckedStateful:Z
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->mChildren:[Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->mChildrenChangingConfigurations:I
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->mDensity:I
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->mIsStateful:Z
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->mOpacity:I
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->mOpacityOverride:I
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->mSrcDensityOverride:I
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->mThemeAttrs:[I
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->N_CHILDREN:I
-Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->setDensity(I)V
-Landroid/graphics/drawable/AdaptiveIconDrawable;-><init>()V
-Landroid/graphics/drawable/AdaptiveIconDrawable;-><init>(Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/AdaptiveIconDrawable;->addLayer(ILandroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;)V
-Landroid/graphics/drawable/AdaptiveIconDrawable;->BACKGROUND_ID:I
-Landroid/graphics/drawable/AdaptiveIconDrawable;->clearMutated()V
-Landroid/graphics/drawable/AdaptiveIconDrawable;->createChildDrawable(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;
-Landroid/graphics/drawable/AdaptiveIconDrawable;->createConstantState(Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;Landroid/content/res/Resources;)Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;
-Landroid/graphics/drawable/AdaptiveIconDrawable;->DEFAULT_VIEW_PORT_SCALE:F
-Landroid/graphics/drawable/AdaptiveIconDrawable;->EXTRA_INSET_PERCENTAGE:F
-Landroid/graphics/drawable/AdaptiveIconDrawable;->FOREGROUND_ID:I
-Landroid/graphics/drawable/AdaptiveIconDrawable;->getExtraInsetPercentage()F
-Landroid/graphics/drawable/AdaptiveIconDrawable;->getMaxIntrinsicHeight()I
-Landroid/graphics/drawable/AdaptiveIconDrawable;->getMaxIntrinsicWidth()I
-Landroid/graphics/drawable/AdaptiveIconDrawable;->inflateLayers(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/AdaptiveIconDrawable;->isProjected()Z
-Landroid/graphics/drawable/AdaptiveIconDrawable;->mCanvas:Landroid/graphics/Canvas;
-Landroid/graphics/drawable/AdaptiveIconDrawable;->mChildRequestedInvalidation:Z
-Landroid/graphics/drawable/AdaptiveIconDrawable;->mHotspotBounds:Landroid/graphics/Rect;
-Landroid/graphics/drawable/AdaptiveIconDrawable;->mLayersBitmap:Landroid/graphics/Bitmap;
-Landroid/graphics/drawable/AdaptiveIconDrawable;->mLayersShader:Landroid/graphics/Shader;
-Landroid/graphics/drawable/AdaptiveIconDrawable;->mLayerState:Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;
-Landroid/graphics/drawable/AdaptiveIconDrawable;->mMask:Landroid/graphics/Path;
-Landroid/graphics/drawable/AdaptiveIconDrawable;->mMaskBitmap:Landroid/graphics/Bitmap;
-Landroid/graphics/drawable/AdaptiveIconDrawable;->mMaskMatrix:Landroid/graphics/Matrix;
-Landroid/graphics/drawable/AdaptiveIconDrawable;->mMutated:Z
-Landroid/graphics/drawable/AdaptiveIconDrawable;->mPaint:Landroid/graphics/Paint;
-Landroid/graphics/drawable/AdaptiveIconDrawable;->mSuspendChildInvalidation:Z
-Landroid/graphics/drawable/AdaptiveIconDrawable;->mTmpOutRect:Landroid/graphics/Rect;
-Landroid/graphics/drawable/AdaptiveIconDrawable;->mTransparentRegion:Landroid/graphics/Region;
-Landroid/graphics/drawable/AdaptiveIconDrawable;->resumeChildInvalidation()V
-Landroid/graphics/drawable/AdaptiveIconDrawable;->SAFEZONE_SCALE:F
-Landroid/graphics/drawable/AdaptiveIconDrawable;->sMask:Landroid/graphics/Path;
-Landroid/graphics/drawable/AdaptiveIconDrawable;->suspendChildInvalidation()V
-Landroid/graphics/drawable/AdaptiveIconDrawable;->updateLayerBounds(Landroid/graphics/Rect;)V
-Landroid/graphics/drawable/AdaptiveIconDrawable;->updateLayerBoundsInternal(Landroid/graphics/Rect;)V
-Landroid/graphics/drawable/AdaptiveIconDrawable;->updateLayerFromTypedArray(Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/AdaptiveIconDrawable;->updateMaskBoundsInternal(Landroid/graphics/Rect;)V
-Landroid/graphics/drawable/AnimatedImageDrawable$State;
-Landroid/graphics/drawable/AnimatedImageDrawable$State;-><init>(JLjava/io/InputStream;Landroid/content/res/AssetFileDescriptor;)V
-Landroid/graphics/drawable/AnimatedImageDrawable$State;->mAssetFd:Landroid/content/res/AssetFileDescriptor;
-Landroid/graphics/drawable/AnimatedImageDrawable$State;->mAutoMirrored:Z
-Landroid/graphics/drawable/AnimatedImageDrawable$State;->mInputStream:Ljava/io/InputStream;
-Landroid/graphics/drawable/AnimatedImageDrawable$State;->mNativePtr:J
-Landroid/graphics/drawable/AnimatedImageDrawable$State;->mRepeatCount:I
-Landroid/graphics/drawable/AnimatedImageDrawable$State;->mThemeAttrs:[I
-Landroid/graphics/drawable/AnimatedImageDrawable;-><init>(JLandroid/graphics/ImageDecoder;IIIILandroid/graphics/Rect;Ljava/io/InputStream;Landroid/content/res/AssetFileDescriptor;)V
-Landroid/graphics/drawable/AnimatedImageDrawable;->FINISHED:I
-Landroid/graphics/drawable/AnimatedImageDrawable;->getHandler()Landroid/os/Handler;
-Landroid/graphics/drawable/AnimatedImageDrawable;->mAnimationCallbacks:Ljava/util/ArrayList;
-Landroid/graphics/drawable/AnimatedImageDrawable;->mColorFilter:Landroid/graphics/ColorFilter;
-Landroid/graphics/drawable/AnimatedImageDrawable;->mHandler:Landroid/os/Handler;
-Landroid/graphics/drawable/AnimatedImageDrawable;->mIntrinsicHeight:I
-Landroid/graphics/drawable/AnimatedImageDrawable;->mIntrinsicWidth:I
-Landroid/graphics/drawable/AnimatedImageDrawable;->mRunnable:Ljava/lang/Runnable;
-Landroid/graphics/drawable/AnimatedImageDrawable;->mStarting:Z
-Landroid/graphics/drawable/AnimatedImageDrawable;->mState:Landroid/graphics/drawable/AnimatedImageDrawable$State;
-Landroid/graphics/drawable/AnimatedImageDrawable;->nCreate(JLandroid/graphics/ImageDecoder;IILandroid/graphics/Rect;)J
-Landroid/graphics/drawable/AnimatedImageDrawable;->nDraw(JJ)J
-Landroid/graphics/drawable/AnimatedImageDrawable;->nGetAlpha(J)I
-Landroid/graphics/drawable/AnimatedImageDrawable;->nGetNativeFinalizer()J
-Landroid/graphics/drawable/AnimatedImageDrawable;->nGetRepeatCount(J)I
-Landroid/graphics/drawable/AnimatedImageDrawable;->nIsRunning(J)Z
-Landroid/graphics/drawable/AnimatedImageDrawable;->nNativeByteSize(J)J
-Landroid/graphics/drawable/AnimatedImageDrawable;->nSetAlpha(JI)V
-Landroid/graphics/drawable/AnimatedImageDrawable;->nSetColorFilter(JJ)V
-Landroid/graphics/drawable/AnimatedImageDrawable;->nSetMirrored(JZ)V
-Landroid/graphics/drawable/AnimatedImageDrawable;->nSetOnAnimationEndListener(JLandroid/graphics/drawable/AnimatedImageDrawable;)V
-Landroid/graphics/drawable/AnimatedImageDrawable;->nSetRepeatCount(JI)V
-Landroid/graphics/drawable/AnimatedImageDrawable;->nStart(J)Z
-Landroid/graphics/drawable/AnimatedImageDrawable;->nStop(J)Z
-Landroid/graphics/drawable/AnimatedImageDrawable;->postOnAnimationEnd()V
-Landroid/graphics/drawable/AnimatedImageDrawable;->postOnAnimationStart()V
-Landroid/graphics/drawable/AnimatedImageDrawable;->REPEAT_UNDEFINED:I
-Landroid/graphics/drawable/AnimatedImageDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;I)V
-Landroid/graphics/drawable/AnimatedRotateDrawable$AnimatedRotateState;
-Landroid/graphics/drawable/AnimatedRotateDrawable$AnimatedRotateState;-><init>(Landroid/graphics/drawable/AnimatedRotateDrawable$AnimatedRotateState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/AnimatedRotateDrawable$AnimatedRotateState;->mFrameDuration:I
-Landroid/graphics/drawable/AnimatedRotateDrawable$AnimatedRotateState;->mFramesCount:I
-Landroid/graphics/drawable/AnimatedRotateDrawable$AnimatedRotateState;->mPivotX:F
-Landroid/graphics/drawable/AnimatedRotateDrawable$AnimatedRotateState;->mPivotXRel:Z
-Landroid/graphics/drawable/AnimatedRotateDrawable$AnimatedRotateState;->mPivotY:F
-Landroid/graphics/drawable/AnimatedRotateDrawable$AnimatedRotateState;->mPivotYRel:Z
-Landroid/graphics/drawable/AnimatedRotateDrawable$AnimatedRotateState;->mThemeAttrs:[I
-Landroid/graphics/drawable/AnimatedRotateDrawable;
-Landroid/graphics/drawable/AnimatedRotateDrawable;-><init>()V
-Landroid/graphics/drawable/AnimatedRotateDrawable;-><init>(Landroid/graphics/drawable/AnimatedRotateDrawable$AnimatedRotateState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/AnimatedRotateDrawable;->mCurrentDegrees:F
-Landroid/graphics/drawable/AnimatedRotateDrawable;->mIncrement:F
-Landroid/graphics/drawable/AnimatedRotateDrawable;->mNextFrame:Ljava/lang/Runnable;
-Landroid/graphics/drawable/AnimatedRotateDrawable;->mRunning:Z
-Landroid/graphics/drawable/AnimatedRotateDrawable;->mState:Landroid/graphics/drawable/AnimatedRotateDrawable$AnimatedRotateState;
-Landroid/graphics/drawable/AnimatedRotateDrawable;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;
-Landroid/graphics/drawable/AnimatedRotateDrawable;->nextFrame()V
-Landroid/graphics/drawable/AnimatedRotateDrawable;->updateLocalState()V
-Landroid/graphics/drawable/AnimatedRotateDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/AnimatedRotateDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatableTransition;
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatableTransition;-><init>(Landroid/graphics/drawable/Animatable;)V
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatableTransition;->mA:Landroid/graphics/drawable/Animatable;
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatableTransition;->start()V
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatableTransition;->stop()V
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;-><init>(Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;Landroid/graphics/drawable/AnimatedStateListDrawable;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->addStateSet([ILandroid/graphics/drawable/Drawable;I)I
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->addTransition(IILandroid/graphics/drawable/Drawable;Z)I
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->generateTransitionKey(II)J
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->getKeyframeIdAt(I)I
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->indexOfKeyframe([I)I
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->indexOfTransition(II)I
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->isTransitionReversed(II)Z
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->mAnimThemeAttrs:[I
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->mutate()V
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->REVERSED_BIT:J
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->REVERSIBLE_FLAG_BIT:J
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->transitionHasReversibleFlag(II)Z
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;-><init>(Landroid/graphics/drawable/AnimatedVectorDrawable;ZZ)V
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;->canReverse()Z
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;->mAvd:Landroid/graphics/drawable/AnimatedVectorDrawable;
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;->mHasReversibleFlag:Z
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;->mReversed:Z
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;->reverse()V
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;->start()V
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;->stop()V
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimationDrawableTransition;
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimationDrawableTransition;-><init>(Landroid/graphics/drawable/AnimationDrawable;ZZ)V
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimationDrawableTransition;->canReverse()Z
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimationDrawableTransition;->mAnim:Landroid/animation/ObjectAnimator;
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimationDrawableTransition;->mHasReversibleFlag:Z
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimationDrawableTransition;->reverse()V
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimationDrawableTransition;->start()V
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimationDrawableTransition;->stop()V
-Landroid/graphics/drawable/AnimatedStateListDrawable$FrameInterpolator;
-Landroid/graphics/drawable/AnimatedStateListDrawable$FrameInterpolator;-><init>(Landroid/graphics/drawable/AnimationDrawable;Z)V
-Landroid/graphics/drawable/AnimatedStateListDrawable$FrameInterpolator;->getTotalDuration()I
-Landroid/graphics/drawable/AnimatedStateListDrawable$FrameInterpolator;->mFrames:I
-Landroid/graphics/drawable/AnimatedStateListDrawable$FrameInterpolator;->mFrameTimes:[I
-Landroid/graphics/drawable/AnimatedStateListDrawable$FrameInterpolator;->mTotalDuration:I
-Landroid/graphics/drawable/AnimatedStateListDrawable$FrameInterpolator;->updateFrames(Landroid/graphics/drawable/AnimationDrawable;Z)I
-Landroid/graphics/drawable/AnimatedStateListDrawable$Transition;
-Landroid/graphics/drawable/AnimatedStateListDrawable$Transition;-><init>()V
-Landroid/graphics/drawable/AnimatedStateListDrawable$Transition;->canReverse()Z
-Landroid/graphics/drawable/AnimatedStateListDrawable$Transition;->reverse()V
-Landroid/graphics/drawable/AnimatedStateListDrawable$Transition;->start()V
-Landroid/graphics/drawable/AnimatedStateListDrawable$Transition;->stop()V
-Landroid/graphics/drawable/AnimatedStateListDrawable;-><init>(Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/AnimatedStateListDrawable;->clearMutated()V
-Landroid/graphics/drawable/AnimatedStateListDrawable;->cloneConstantState()Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;
-Landroid/graphics/drawable/AnimatedStateListDrawable;->ELEMENT_ITEM:Ljava/lang/String;
-Landroid/graphics/drawable/AnimatedStateListDrawable;->ELEMENT_TRANSITION:Ljava/lang/String;
-Landroid/graphics/drawable/AnimatedStateListDrawable;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/AnimatedStateListDrawable;->init()V
-Landroid/graphics/drawable/AnimatedStateListDrawable;->LOGTAG:Ljava/lang/String;
-Landroid/graphics/drawable/AnimatedStateListDrawable;->mMutated:Z
-Landroid/graphics/drawable/AnimatedStateListDrawable;->mTransition:Landroid/graphics/drawable/AnimatedStateListDrawable$Transition;
-Landroid/graphics/drawable/AnimatedStateListDrawable;->mTransitionFromIndex:I
-Landroid/graphics/drawable/AnimatedStateListDrawable;->mTransitionToIndex:I
-Landroid/graphics/drawable/AnimatedStateListDrawable;->parseItem(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)I
-Landroid/graphics/drawable/AnimatedStateListDrawable;->parseTransition(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)I
-Landroid/graphics/drawable/AnimatedStateListDrawable;->selectTransition(I)Z
-Landroid/graphics/drawable/AnimatedStateListDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState$PendingAnimator;
-Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState$PendingAnimator;-><init>(IFLjava/lang/String;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState$PendingAnimator;->animResId:I
-Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState$PendingAnimator;->newInstance(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Landroid/animation/Animator;
-Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState$PendingAnimator;->pathErrorScale:F
-Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState$PendingAnimator;->target:Ljava/lang/String;
-Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;
-Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;-><init>(Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;Landroid/graphics/drawable/Drawable$Callback;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->addPendingAnimator(IFLjava/lang/String;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->addTargetAnimator(Ljava/lang/String;Landroid/animation/Animator;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->inflatePendingAnimators(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->mAnimators:Ljava/util/ArrayList;
-Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->mChangingConfigurations:I
-Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->mPendingAnims:Ljava/util/ArrayList;
-Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->mShouldIgnoreInvalidAnim:Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->mTargetNameMap:Landroid/util/ArrayMap;
-Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->mVectorDrawable:Landroid/graphics/drawable/VectorDrawable;
-Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->prepareLocalAnimator(I)Landroid/animation/Animator;
-Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->prepareLocalAnimators(Landroid/animation/AnimatorSet;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->canReverse()Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->end()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->init(Landroid/animation/AnimatorSet;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->isInfinite()Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->isRunning()Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->isStarted()Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->onDraw(Landroid/graphics/Canvas;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->pause()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->removeListener(Landroid/animation/Animator$AnimatorListener;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->reset()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->resume()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->reverse()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->setListener(Landroid/animation/Animator$AnimatorListener;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->start()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;-><init>(Landroid/graphics/drawable/AnimatedVectorDrawable;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->addPendingAction(I)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->canReverse()Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createFloatDataPoints(Landroid/animation/PropertyValuesHolder$PropertyValues$DataSource;J)[F
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createIntDataPoints(Landroid/animation/PropertyValuesHolder$PropertyValues$DataSource;J)[I
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createNativeChildAnimator(JJLandroid/animation/ObjectAnimator;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createRTAnimator(Landroid/animation/ObjectAnimator;J)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createRTAnimatorForFullPath(Landroid/animation/ObjectAnimator;Landroid/graphics/drawable/VectorDrawable$VFullPath;J)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createRTAnimatorForGroup([Landroid/animation/PropertyValuesHolder;Landroid/animation/ObjectAnimator;Landroid/graphics/drawable/VectorDrawable$VGroup;J)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createRTAnimatorForPath(Landroid/animation/ObjectAnimator;Landroid/graphics/drawable/VectorDrawable$VPath;J)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createRTAnimatorForRootGroup([Landroid/animation/PropertyValuesHolder;Landroid/animation/ObjectAnimator;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;J)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->end()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->endAnimation()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->END_ANIMATION:I
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->getAnimatorNativePtr()J
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->getFrameCount(J)I
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->handlePendingAction(I)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->init(Landroid/animation/AnimatorSet;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->invalidateOwningView()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->isInfinite()Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->isRunning()Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->isStarted()Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->MAX_SAMPLE_POINTS:I
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->mContainsSequentialAnimators:Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->mDrawable:Landroid/graphics/drawable/AnimatedVectorDrawable;
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->mInitialized:Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->mIsInfinite:Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->mIsReversible:Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->mLastListenerId:I
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->mLastSeenTarget:Ljava/lang/ref/WeakReference;
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->mListener:Landroid/animation/Animator$AnimatorListener;
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->mPendingAnimationActions:Landroid/util/IntArray;
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->mSetPtr:J
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->mSetRefBasePtr:Lcom/android/internal/util/VirtualRefBasePtr;
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->mStartDelays:Landroid/util/LongArray;
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->mStarted:Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->mTmpValues:Landroid/animation/PropertyValuesHolder$PropertyValues;
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->onAnimationEnd(I)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->onDraw(Landroid/graphics/Canvas;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->parseAnimatorSet(Landroid/animation/AnimatorSet;J)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->pause()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->recordLastSeenTarget(Landroid/view/DisplayListCanvas;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->removeListener(Landroid/animation/Animator$AnimatorListener;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->reset()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->resetAnimation()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->RESET_ANIMATION:I
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->resume()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->reverse()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->reverseAnimation()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->REVERSE_ANIMATION:I
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->setListener(Landroid/animation/Animator$AnimatorListener;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->start()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->startAnimation()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->START_ANIMATION:I
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->transferPendingActions(Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->useLastSeenTarget()Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->useTarget(Landroid/view/RenderNode;)Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;-><init>(Landroid/graphics/drawable/AnimatedVectorDrawable;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->canReverse()Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->end()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->init(Landroid/animation/AnimatorSet;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->invalidateOwningView()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->isInfinite()Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->isRunning()Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->isStarted()Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->mDrawable:Landroid/graphics/drawable/Drawable;
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->mIsInfinite:Z
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->mListenerArray:Ljava/util/ArrayList;
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->mSet:Landroid/animation/AnimatorSet;
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->onDraw(Landroid/graphics/Canvas;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->pause()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->removeListener(Landroid/animation/Animator$AnimatorListener;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->reset()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->resume()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->reverse()V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->setListener(Landroid/animation/Animator$AnimatorListener;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->start()V
-Landroid/graphics/drawable/AnimatedVectorDrawable;-><init>(Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/AnimatedVectorDrawable;->ANIMATED_VECTOR:Ljava/lang/String;
-Landroid/graphics/drawable/AnimatedVectorDrawable;->canReverse()Z
-Landroid/graphics/drawable/AnimatedVectorDrawable;->clearMutated()V
-Landroid/graphics/drawable/AnimatedVectorDrawable;->containsSameValueType(Landroid/animation/PropertyValuesHolder;Landroid/util/Property;)Z
-Landroid/graphics/drawable/AnimatedVectorDrawable;->DBG_ANIMATION_VECTOR_DRAWABLE:Z
-Landroid/graphics/drawable/AnimatedVectorDrawable;->ensureAnimatorSet()V
-Landroid/graphics/drawable/AnimatedVectorDrawable;->fallbackOntoUI()V
-Landroid/graphics/drawable/AnimatedVectorDrawable;->LOGTAG:Ljava/lang/String;
-Landroid/graphics/drawable/AnimatedVectorDrawable;->mAnimationCallbacks:Ljava/util/ArrayList;
-Landroid/graphics/drawable/AnimatedVectorDrawable;->mAnimatorListener:Landroid/animation/Animator$AnimatorListener;
-Landroid/graphics/drawable/AnimatedVectorDrawable;->mAnimatorSetFromXml:Landroid/animation/AnimatorSet;
-Landroid/graphics/drawable/AnimatedVectorDrawable;->mCallback:Landroid/graphics/drawable/Drawable$Callback;
-Landroid/graphics/drawable/AnimatedVectorDrawable;->mMutated:Z
-Landroid/graphics/drawable/AnimatedVectorDrawable;->mRes:Landroid/content/res/Resources;
-Landroid/graphics/drawable/AnimatedVectorDrawable;->nAddAnimator(JJJJJII)V
-Landroid/graphics/drawable/AnimatedVectorDrawable;->nCreateAnimatorSet()J
-Landroid/graphics/drawable/AnimatedVectorDrawable;->nCreateGroupPropertyHolder(JIFF)J
-Landroid/graphics/drawable/AnimatedVectorDrawable;->nCreatePathColorPropertyHolder(JIII)J
-Landroid/graphics/drawable/AnimatedVectorDrawable;->nCreatePathDataPropertyHolder(JJJ)J
-Landroid/graphics/drawable/AnimatedVectorDrawable;->nCreatePathPropertyHolder(JIFF)J
-Landroid/graphics/drawable/AnimatedVectorDrawable;->nCreateRootAlphaPropertyHolder(JFF)J
-Landroid/graphics/drawable/AnimatedVectorDrawable;->nEnd(J)V
-Landroid/graphics/drawable/AnimatedVectorDrawable;->nReset(J)V
-Landroid/graphics/drawable/AnimatedVectorDrawable;->nReverse(JLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;I)V
-Landroid/graphics/drawable/AnimatedVectorDrawable;->nSetPropertyHolderData(J[FI)V
-Landroid/graphics/drawable/AnimatedVectorDrawable;->nSetPropertyHolderData(J[II)V
-Landroid/graphics/drawable/AnimatedVectorDrawable;->nSetVectorDrawableTarget(JJ)V
-Landroid/graphics/drawable/AnimatedVectorDrawable;->nStart(JLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;I)V
-Landroid/graphics/drawable/AnimatedVectorDrawable;->removeAnimatorSetListener()V
-Landroid/graphics/drawable/AnimatedVectorDrawable;->reverse()V
-Landroid/graphics/drawable/AnimatedVectorDrawable;->shouldIgnoreInvalidAnimation()Z
-Landroid/graphics/drawable/AnimatedVectorDrawable;->TARGET:Ljava/lang/String;
-Landroid/graphics/drawable/AnimatedVectorDrawable;->updateAnimatorProperty(Landroid/animation/Animator;Ljava/lang/String;Landroid/graphics/drawable/VectorDrawable;Z)V
-Landroid/graphics/drawable/AnimationDrawable$AnimationState;
-Landroid/graphics/drawable/AnimationDrawable$AnimationState;-><init>(Landroid/graphics/drawable/AnimationDrawable$AnimationState;Landroid/graphics/drawable/AnimationDrawable;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/AnimationDrawable$AnimationState;->addFrame(Landroid/graphics/drawable/Drawable;I)V
-Landroid/graphics/drawable/AnimationDrawable$AnimationState;->mDurations:[I
-Landroid/graphics/drawable/AnimationDrawable$AnimationState;->mOneShot:Z
-Landroid/graphics/drawable/AnimationDrawable$AnimationState;->mutate()V
-Landroid/graphics/drawable/AnimationDrawable;-><init>(Landroid/graphics/drawable/AnimationDrawable$AnimationState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/AnimationDrawable;->clearMutated()V
-Landroid/graphics/drawable/AnimationDrawable;->cloneConstantState()Landroid/graphics/drawable/AnimationDrawable$AnimationState;
-Landroid/graphics/drawable/AnimationDrawable;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/AnimationDrawable;->mAnimating:Z
-Landroid/graphics/drawable/AnimationDrawable;->mAnimationState:Landroid/graphics/drawable/AnimationDrawable$AnimationState;
-Landroid/graphics/drawable/AnimationDrawable;->mMutated:Z
-Landroid/graphics/drawable/AnimationDrawable;->mRunning:Z
-Landroid/graphics/drawable/AnimationDrawable;->nextFrame(Z)V
-Landroid/graphics/drawable/AnimationDrawable;->setFrame(IZZ)V
-Landroid/graphics/drawable/AnimationDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/BitmapDrawable$BitmapState;
-Landroid/graphics/drawable/BitmapDrawable$BitmapState;-><init>(Landroid/graphics/Bitmap;)V
-Landroid/graphics/drawable/BitmapDrawable$BitmapState;-><init>(Landroid/graphics/drawable/BitmapDrawable$BitmapState;)V
-Landroid/graphics/drawable/BitmapDrawable$BitmapState;->mAutoMirrored:Z
-Landroid/graphics/drawable/BitmapDrawable$BitmapState;->mBaseAlpha:F
-Landroid/graphics/drawable/BitmapDrawable$BitmapState;->mBitmap:Landroid/graphics/Bitmap;
-Landroid/graphics/drawable/BitmapDrawable$BitmapState;->mChangingConfigurations:I
-Landroid/graphics/drawable/BitmapDrawable$BitmapState;->mGravity:I
-Landroid/graphics/drawable/BitmapDrawable$BitmapState;->mPaint:Landroid/graphics/Paint;
-Landroid/graphics/drawable/BitmapDrawable$BitmapState;->mRebuildShader:Z
-Landroid/graphics/drawable/BitmapDrawable$BitmapState;->mSrcDensityOverride:I
-Landroid/graphics/drawable/BitmapDrawable$BitmapState;->mTargetDensity:I
-Landroid/graphics/drawable/BitmapDrawable$BitmapState;->mThemeAttrs:[I
-Landroid/graphics/drawable/BitmapDrawable$BitmapState;->mTileModeX:Landroid/graphics/Shader$TileMode;
-Landroid/graphics/drawable/BitmapDrawable$BitmapState;->mTileModeY:Landroid/graphics/Shader$TileMode;
-Landroid/graphics/drawable/BitmapDrawable$BitmapState;->mTint:Landroid/content/res/ColorStateList;
-Landroid/graphics/drawable/BitmapDrawable$BitmapState;->mTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/graphics/drawable/BitmapDrawable;-><init>(Landroid/graphics/drawable/BitmapDrawable$BitmapState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/BitmapDrawable;->clearMutated()V
-Landroid/graphics/drawable/BitmapDrawable;->computeBitmapSize()V
-Landroid/graphics/drawable/BitmapDrawable;->DEFAULT_PAINT_FLAGS:I
-Landroid/graphics/drawable/BitmapDrawable;->getOrCreateMirrorMatrix()Landroid/graphics/Matrix;
-Landroid/graphics/drawable/BitmapDrawable;->init(Landroid/graphics/drawable/BitmapDrawable$BitmapState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/BitmapDrawable;->mBitmapHeight:I
-Landroid/graphics/drawable/BitmapDrawable;->mBitmapWidth:I
-Landroid/graphics/drawable/BitmapDrawable;->mDstRect:Landroid/graphics/Rect;
-Landroid/graphics/drawable/BitmapDrawable;->mDstRectAndInsetsDirty:Z
-Landroid/graphics/drawable/BitmapDrawable;->mMirrorMatrix:Landroid/graphics/Matrix;
-Landroid/graphics/drawable/BitmapDrawable;->mMutated:Z
-Landroid/graphics/drawable/BitmapDrawable;->mOpticalInsets:Landroid/graphics/Insets;
-Landroid/graphics/drawable/BitmapDrawable;->mTintFilter:Landroid/graphics/PorterDuffColorFilter;
-Landroid/graphics/drawable/BitmapDrawable;->needMirroring()Z
-Landroid/graphics/drawable/BitmapDrawable;->parseTileMode(I)Landroid/graphics/Shader$TileMode;
-Landroid/graphics/drawable/BitmapDrawable;->setXfermode(Landroid/graphics/Xfermode;)V
-Landroid/graphics/drawable/BitmapDrawable;->TILE_MODE_CLAMP:I
-Landroid/graphics/drawable/BitmapDrawable;->TILE_MODE_DISABLED:I
-Landroid/graphics/drawable/BitmapDrawable;->TILE_MODE_MIRROR:I
-Landroid/graphics/drawable/BitmapDrawable;->TILE_MODE_REPEAT:I
-Landroid/graphics/drawable/BitmapDrawable;->TILE_MODE_UNDEFINED:I
-Landroid/graphics/drawable/BitmapDrawable;->updateDstRectAndInsetsIfDirty()V
-Landroid/graphics/drawable/BitmapDrawable;->updateLocalState(Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/BitmapDrawable;->updateShaderMatrix(Landroid/graphics/Bitmap;Landroid/graphics/Paint;Landroid/graphics/Shader;Z)V
-Landroid/graphics/drawable/BitmapDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;I)V
-Landroid/graphics/drawable/BitmapDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/ClipDrawable$ClipState;
-Landroid/graphics/drawable/ClipDrawable$ClipState;-><init>(Landroid/graphics/drawable/ClipDrawable$ClipState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/ClipDrawable$ClipState;->mGravity:I
-Landroid/graphics/drawable/ClipDrawable$ClipState;->mOrientation:I
-Landroid/graphics/drawable/ClipDrawable$ClipState;->mThemeAttrs:[I
-Landroid/graphics/drawable/ClipDrawable;-><init>()V
-Landroid/graphics/drawable/ClipDrawable;-><init>(Landroid/graphics/drawable/ClipDrawable$ClipState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/ClipDrawable;->MAX_LEVEL:I
-Landroid/graphics/drawable/ClipDrawable;->mTmpRect:Landroid/graphics/Rect;
-Landroid/graphics/drawable/ClipDrawable;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;
-Landroid/graphics/drawable/ClipDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/ClipDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/ColorDrawable$ColorState;
-Landroid/graphics/drawable/ColorDrawable$ColorState;-><init>()V
-Landroid/graphics/drawable/ColorDrawable$ColorState;-><init>(Landroid/graphics/drawable/ColorDrawable$ColorState;)V
-Landroid/graphics/drawable/ColorDrawable$ColorState;->mBaseColor:I
-Landroid/graphics/drawable/ColorDrawable$ColorState;->mChangingConfigurations:I
-Landroid/graphics/drawable/ColorDrawable$ColorState;->mThemeAttrs:[I
-Landroid/graphics/drawable/ColorDrawable$ColorState;->mTint:Landroid/content/res/ColorStateList;
-Landroid/graphics/drawable/ColorDrawable$ColorState;->mTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/graphics/drawable/ColorDrawable;-><init>(Landroid/graphics/drawable/ColorDrawable$ColorState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/ColorDrawable;->clearMutated()V
-Landroid/graphics/drawable/ColorDrawable;->mColorState:Landroid/graphics/drawable/ColorDrawable$ColorState;
-Landroid/graphics/drawable/ColorDrawable;->mMutated:Z
-Landroid/graphics/drawable/ColorDrawable;->mTintFilter:Landroid/graphics/PorterDuffColorFilter;
-Landroid/graphics/drawable/ColorDrawable;->setXfermode(Landroid/graphics/Xfermode;)V
-Landroid/graphics/drawable/ColorDrawable;->updateLocalState(Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/ColorDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/Drawable;->clearMutated()V
-Landroid/graphics/drawable/Drawable;->createFromXmlForDensity(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
-Landroid/graphics/drawable/Drawable;->createFromXmlInnerForDensity(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
-Landroid/graphics/drawable/Drawable;->DEFAULT_TINT_MODE:Landroid/graphics/PorterDuff$Mode;
-Landroid/graphics/drawable/Drawable;->drawableFromBitmap(Landroid/content/res/Resources;Landroid/graphics/Bitmap;[BLandroid/graphics/Rect;Landroid/graphics/Rect;Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
-Landroid/graphics/drawable/Drawable;->getBitmapDrawable(Landroid/content/res/Resources;Landroid/util/TypedValue;Ljava/io/InputStream;)Landroid/graphics/drawable/Drawable;
-Landroid/graphics/drawable/Drawable;->mBounds:Landroid/graphics/Rect;
-Landroid/graphics/drawable/Drawable;->mChangingConfigurations:I
-Landroid/graphics/drawable/Drawable;->mLayoutDirection:I
-Landroid/graphics/drawable/Drawable;->mLevel:I
-Landroid/graphics/drawable/Drawable;->mStateSet:[I
-Landroid/graphics/drawable/Drawable;->mVisible:Z
-Landroid/graphics/drawable/Drawable;->obtainAttributes(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
-Landroid/graphics/drawable/Drawable;->resolveDensity(Landroid/content/res/Resources;I)I
-Landroid/graphics/drawable/Drawable;->rethrowAsRuntimeException(Ljava/lang/Exception;)V
-Landroid/graphics/drawable/Drawable;->scaleFromDensity(FII)F
-Landroid/graphics/drawable/Drawable;->scaleFromDensity(IIIZ)I
-Landroid/graphics/drawable/Drawable;->setSrcDensityOverride(I)V
-Landroid/graphics/drawable/Drawable;->setXfermode(Landroid/graphics/Xfermode;)V
-Landroid/graphics/drawable/Drawable;->ZERO_BOUNDS_RECT:Landroid/graphics/Rect;
-Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;
-Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;-><init>()V
-Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->mCallback:Landroid/graphics/drawable/Drawable$Callback;
-Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->unwrap()Landroid/graphics/drawable/Drawable$Callback;
-Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->wrap(Landroid/graphics/drawable/Drawable$Callback;)Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->applyTheme(Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->clearMutated()V
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->createAllFutures()V
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getCapacity()I
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->invalidateCache()V
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mAutoMirrored:Z
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mCanConstantState:Z
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mChangingConfigurations:I
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mCheckedConstantSize:Z
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mCheckedConstantState:Z
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mCheckedOpacity:Z
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mCheckedPadding:Z
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mCheckedStateful:Z
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mChildrenChangingConfigurations:I
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mColorFilter:Landroid/graphics/ColorFilter;
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mConstantHeight:I
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mConstantMinimumHeight:I
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mConstantMinimumWidth:I
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mConstantSize:Z
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mConstantWidth:I
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mDensity:I
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mDither:Z
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mDrawableFutures:Landroid/util/SparseArray;
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mEnterFadeDuration:I
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mExitFadeDuration:I
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mHasTintList:Z
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mHasTintMode:Z
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mLayoutDirection:I
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mMutated:Z
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mNumChildren:I
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mOpacity:I
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mOwner:Landroid/graphics/drawable/DrawableContainer;
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mSourceRes:Landroid/content/res/Resources;
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mStateful:Z
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mTintList:Landroid/content/res/ColorStateList;
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mutate()V
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mVariablePadding:Z
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->prepareDrawable(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->setLayoutDirection(II)Z
-Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->updateDensity(Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/DrawableContainer;->animate(Z)V
-Landroid/graphics/drawable/DrawableContainer;->clearMutated()V
-Landroid/graphics/drawable/DrawableContainer;->cloneConstantState()Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;
-Landroid/graphics/drawable/DrawableContainer;->DEBUG:Z
-Landroid/graphics/drawable/DrawableContainer;->DEFAULT_DITHER:Z
-Landroid/graphics/drawable/DrawableContainer;->getCurrentIndex()I
-Landroid/graphics/drawable/DrawableContainer;->initializeDrawableForDisplay(Landroid/graphics/drawable/Drawable;)V
-Landroid/graphics/drawable/DrawableContainer;->mAlpha:I
-Landroid/graphics/drawable/DrawableContainer;->mAnimationRunnable:Ljava/lang/Runnable;
-Landroid/graphics/drawable/DrawableContainer;->mBlockInvalidateCallback:Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;
-Landroid/graphics/drawable/DrawableContainer;->mCurIndex:I
-Landroid/graphics/drawable/DrawableContainer;->mCurrDrawable:Landroid/graphics/drawable/Drawable;
-Landroid/graphics/drawable/DrawableContainer;->mEnterAnimationEnd:J
-Landroid/graphics/drawable/DrawableContainer;->mExitAnimationEnd:J
-Landroid/graphics/drawable/DrawableContainer;->mHasAlpha:Z
-Landroid/graphics/drawable/DrawableContainer;->mHotspotBounds:Landroid/graphics/Rect;
-Landroid/graphics/drawable/DrawableContainer;->mLastIndex:I
-Landroid/graphics/drawable/DrawableContainer;->mMutated:Z
-Landroid/graphics/drawable/DrawableContainer;->needsMirroring()Z
-Landroid/graphics/drawable/DrawableContainer;->setCurrentIndex(I)V
-Landroid/graphics/drawable/DrawableContainer;->TAG:Ljava/lang/String;
-Landroid/graphics/drawable/DrawableContainer;->updateDensity(Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/DrawableInflater;
-Landroid/graphics/drawable/DrawableInflater;-><init>(Landroid/content/res/Resources;Ljava/lang/ClassLoader;)V
-Landroid/graphics/drawable/DrawableInflater;->CONSTRUCTOR_MAP:Ljava/util/HashMap;
-Landroid/graphics/drawable/DrawableInflater;->inflateFromClass(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
-Landroid/graphics/drawable/DrawableInflater;->inflateFromTag(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
-Landroid/graphics/drawable/DrawableInflater;->inflateFromXml(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
-Landroid/graphics/drawable/DrawableInflater;->inflateFromXmlForDensity(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
-Landroid/graphics/drawable/DrawableInflater;->loadDrawable(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable;
-Landroid/graphics/drawable/DrawableInflater;->loadDrawable(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;I)Landroid/graphics/drawable/Drawable;
-Landroid/graphics/drawable/DrawableInflater;->mRes:Landroid/content/res/Resources;
-Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;
-Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;-><init>(Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;->canConstantState()Z
-Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;->mChangingConfigurations:I
-Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;->mDensity:I
-Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;->mDrawableState:Landroid/graphics/drawable/Drawable$ConstantState;
-Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;->mSrcDensityOverride:I
-Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;->mThemeAttrs:[I
-Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;->onDensityChanged(II)V
-Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;->setDensity(I)V
-Landroid/graphics/drawable/DrawableWrapper;-><init>(Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/DrawableWrapper;->clearMutated()V
-Landroid/graphics/drawable/DrawableWrapper;->inflateChildDrawable(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/DrawableWrapper;->mDrawable:Landroid/graphics/drawable/Drawable;
-Landroid/graphics/drawable/DrawableWrapper;->mMutated:Z
-Landroid/graphics/drawable/DrawableWrapper;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;
-Landroid/graphics/drawable/DrawableWrapper;->updateLocalState(Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/DrawableWrapper;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/GradientDrawable$GradientState;
-Landroid/graphics/drawable/GradientDrawable$GradientState;-><init>(Landroid/graphics/drawable/GradientDrawable$GradientState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/GradientDrawable$GradientState;-><init>(Landroid/graphics/drawable/GradientDrawable$Orientation;[I)V
-Landroid/graphics/drawable/GradientDrawable$GradientState;->applyDensityScaling(II)V
-Landroid/graphics/drawable/GradientDrawable$GradientState;->computeOpacity()V
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mAttrCorners:[I
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mAttrGradient:[I
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mAttrPadding:[I
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mAttrSize:[I
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mAttrSolid:[I
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mAttrStroke:[I
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mCenterX:F
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mCenterY:F
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mChangingConfigurations:I
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mDensity:I
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mDither:Z
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mGradientRadius:F
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mGradientRadiusType:I
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mOpaqueOverBounds:Z
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mOpaqueOverShape:Z
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mOpticalInsets:Landroid/graphics/Insets;
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mStrokeColors:Landroid/content/res/ColorStateList;
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mTempColors:[I
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mTempPositions:[F
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mThemeAttrs:[I
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mTint:Landroid/content/res/ColorStateList;
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mUseLevel:Z
-Landroid/graphics/drawable/GradientDrawable$GradientState;->mUseLevelForShape:Z
-Landroid/graphics/drawable/GradientDrawable$GradientState;->setCornerRadii([F)V
-Landroid/graphics/drawable/GradientDrawable$GradientState;->setCornerRadius(F)V
-Landroid/graphics/drawable/GradientDrawable$GradientState;->setDensity(I)V
-Landroid/graphics/drawable/GradientDrawable$GradientState;->setGradientCenter(FF)V
-Landroid/graphics/drawable/GradientDrawable$GradientState;->setGradientColors([I)V
-Landroid/graphics/drawable/GradientDrawable$GradientState;->setGradientRadius(FI)V
-Landroid/graphics/drawable/GradientDrawable$GradientState;->setGradientType(I)V
-Landroid/graphics/drawable/GradientDrawable$GradientState;->setShape(I)V
-Landroid/graphics/drawable/GradientDrawable$GradientState;->setSize(II)V
-Landroid/graphics/drawable/GradientDrawable$GradientState;->setSolidColors(Landroid/content/res/ColorStateList;)V
-Landroid/graphics/drawable/GradientDrawable$GradientState;->setStroke(ILandroid/content/res/ColorStateList;FF)V
-Landroid/graphics/drawable/GradientDrawable$GradientType;
-Landroid/graphics/drawable/GradientDrawable$Orientation;-><init>()V
-Landroid/graphics/drawable/GradientDrawable$RadiusType;
-Landroid/graphics/drawable/GradientDrawable$Shape;
-Landroid/graphics/drawable/GradientDrawable;-><init>(Landroid/graphics/drawable/GradientDrawable$GradientState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/GradientDrawable;->applyThemeChildElements(Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/GradientDrawable;->buildPathIfDirty()V
-Landroid/graphics/drawable/GradientDrawable;->buildRing(Landroid/graphics/drawable/GradientDrawable$GradientState;)Landroid/graphics/Path;
-Landroid/graphics/drawable/GradientDrawable;->clearMutated()V
-Landroid/graphics/drawable/GradientDrawable;->DEFAULT_INNER_RADIUS_RATIO:F
-Landroid/graphics/drawable/GradientDrawable;->DEFAULT_THICKNESS_RATIO:F
-Landroid/graphics/drawable/GradientDrawable;->ensureValidRect()Z
-Landroid/graphics/drawable/GradientDrawable;->getFloatOrFraction(Landroid/content/res/TypedArray;IF)F
-Landroid/graphics/drawable/GradientDrawable;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/GradientDrawable;->isOpaque(I)Z
-Landroid/graphics/drawable/GradientDrawable;->isOpaqueForState()Z
-Landroid/graphics/drawable/GradientDrawable;->mAlpha:I
-Landroid/graphics/drawable/GradientDrawable;->mColorFilter:Landroid/graphics/ColorFilter;
-Landroid/graphics/drawable/GradientDrawable;->mGradientIsDirty:Z
-Landroid/graphics/drawable/GradientDrawable;->mGradientRadius:F
-Landroid/graphics/drawable/GradientDrawable;->mLayerPaint:Landroid/graphics/Paint;
-Landroid/graphics/drawable/GradientDrawable;->mMutated:Z
-Landroid/graphics/drawable/GradientDrawable;->modulateAlpha(I)I
-Landroid/graphics/drawable/GradientDrawable;->mPath:Landroid/graphics/Path;
-Landroid/graphics/drawable/GradientDrawable;->mPathIsDirty:Z
-Landroid/graphics/drawable/GradientDrawable;->mRect:Landroid/graphics/RectF;
-Landroid/graphics/drawable/GradientDrawable;->mRingPath:Landroid/graphics/Path;
-Landroid/graphics/drawable/GradientDrawable;->mTintFilter:Landroid/graphics/PorterDuffColorFilter;
-Landroid/graphics/drawable/GradientDrawable;->RADIUS_TYPE_FRACTION:I
-Landroid/graphics/drawable/GradientDrawable;->RADIUS_TYPE_FRACTION_PARENT:I
-Landroid/graphics/drawable/GradientDrawable;->RADIUS_TYPE_PIXELS:I
-Landroid/graphics/drawable/GradientDrawable;->setAntiAlias(Z)V
-Landroid/graphics/drawable/GradientDrawable;->setStrokeInternal(IIFF)V
-Landroid/graphics/drawable/GradientDrawable;->setXfermode(Landroid/graphics/Xfermode;)V
-Landroid/graphics/drawable/GradientDrawable;->updateDrawableCorners(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/GradientDrawable;->updateGradientDrawableGradient(Landroid/content/res/Resources;Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/GradientDrawable;->updateGradientDrawablePadding(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/GradientDrawable;->updateGradientDrawableSize(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/GradientDrawable;->updateGradientDrawableSolid(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/GradientDrawable;->updateGradientDrawableStroke(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/GradientDrawable;->updateLocalState(Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/GradientDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/Icon$IconType;
-Landroid/graphics/drawable/Icon$LoadDrawableTask;
-Landroid/graphics/drawable/Icon$LoadDrawableTask;-><init>(Landroid/content/Context;Landroid/os/Handler;Landroid/graphics/drawable/Icon$OnDrawableLoadedListener;)V
-Landroid/graphics/drawable/Icon$LoadDrawableTask;-><init>(Landroid/content/Context;Landroid/os/Message;)V
-Landroid/graphics/drawable/Icon$LoadDrawableTask;->mContext:Landroid/content/Context;
-Landroid/graphics/drawable/Icon$LoadDrawableTask;->mMessage:Landroid/os/Message;
-Landroid/graphics/drawable/Icon$LoadDrawableTask;->runAsync()V
-Landroid/graphics/drawable/Icon;-><init>(I)V
-Landroid/graphics/drawable/Icon;-><init>(Landroid/os/Parcel;)V
-Landroid/graphics/drawable/Icon;->convertToAshmem()V
-Landroid/graphics/drawable/Icon;->createFromStream(Ljava/io/InputStream;)Landroid/graphics/drawable/Icon;
-Landroid/graphics/drawable/Icon;->DEFAULT_TINT_MODE:Landroid/graphics/PorterDuff$Mode;
-Landroid/graphics/drawable/Icon;->getUriString()Ljava/lang/String;
-Landroid/graphics/drawable/Icon;->loadDrawableAsUser(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable;
-Landroid/graphics/drawable/Icon;->loadDrawableInner(Landroid/content/Context;)Landroid/graphics/drawable/Drawable;
-Landroid/graphics/drawable/Icon;->mInt1:I
-Landroid/graphics/drawable/Icon;->mInt2:I
-Landroid/graphics/drawable/Icon;->MIN_ASHMEM_ICON_SIZE:I
-Landroid/graphics/drawable/Icon;->mObj1:Ljava/lang/Object;
-Landroid/graphics/drawable/Icon;->mTintList:Landroid/content/res/ColorStateList;
-Landroid/graphics/drawable/Icon;->mTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/graphics/drawable/Icon;->sameAs(Landroid/graphics/drawable/Icon;)Z
-Landroid/graphics/drawable/Icon;->scaleDownIfNecessary(II)V
-Landroid/graphics/drawable/Icon;->scaleDownIfNecessary(Landroid/graphics/Bitmap;II)Landroid/graphics/Bitmap;
-Landroid/graphics/drawable/Icon;->setBitmap(Landroid/graphics/Bitmap;)V
-Landroid/graphics/drawable/Icon;->TAG:Ljava/lang/String;
-Landroid/graphics/drawable/Icon;->typeToString(I)Ljava/lang/String;
-Landroid/graphics/drawable/Icon;->VERSION_STREAM_SERIALIZER:I
-Landroid/graphics/drawable/Icon;->writeToStream(Ljava/io/OutputStream;)V
-Landroid/graphics/drawable/InsetDrawable$InsetState;
-Landroid/graphics/drawable/InsetDrawable$InsetState;-><init>(Landroid/graphics/drawable/InsetDrawable$InsetState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/InsetDrawable$InsetState;->applyDensityScaling(II)V
-Landroid/graphics/drawable/InsetDrawable$InsetState;->mInsetBottom:Landroid/graphics/drawable/InsetDrawable$InsetValue;
-Landroid/graphics/drawable/InsetDrawable$InsetState;->mInsetLeft:Landroid/graphics/drawable/InsetDrawable$InsetValue;
-Landroid/graphics/drawable/InsetDrawable$InsetState;->mInsetRight:Landroid/graphics/drawable/InsetDrawable$InsetValue;
-Landroid/graphics/drawable/InsetDrawable$InsetState;->mInsetTop:Landroid/graphics/drawable/InsetDrawable$InsetValue;
-Landroid/graphics/drawable/InsetDrawable$InsetState;->mThemeAttrs:[I
-Landroid/graphics/drawable/InsetDrawable$InsetState;->onDensityChanged(II)V
-Landroid/graphics/drawable/InsetDrawable$InsetValue;
-Landroid/graphics/drawable/InsetDrawable$InsetValue;-><init>()V
-Landroid/graphics/drawable/InsetDrawable$InsetValue;-><init>(FI)V
-Landroid/graphics/drawable/InsetDrawable$InsetValue;->getDimension(I)I
-Landroid/graphics/drawable/InsetDrawable$InsetValue;->mDimension:I
-Landroid/graphics/drawable/InsetDrawable$InsetValue;->mFraction:F
-Landroid/graphics/drawable/InsetDrawable$InsetValue;->scaleFromDensity(II)V
-Landroid/graphics/drawable/InsetDrawable;-><init>()V
-Landroid/graphics/drawable/InsetDrawable;-><init>(Landroid/graphics/drawable/InsetDrawable$InsetState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/InsetDrawable;->getInset(Landroid/content/res/TypedArray;ILandroid/graphics/drawable/InsetDrawable$InsetValue;)Landroid/graphics/drawable/InsetDrawable$InsetValue;
-Landroid/graphics/drawable/InsetDrawable;->getInsets(Landroid/graphics/Rect;)V
-Landroid/graphics/drawable/InsetDrawable;->mTmpInsetRect:Landroid/graphics/Rect;
-Landroid/graphics/drawable/InsetDrawable;->mTmpRect:Landroid/graphics/Rect;
-Landroid/graphics/drawable/InsetDrawable;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;
-Landroid/graphics/drawable/InsetDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/InsetDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/LayerDrawable$ChildDrawable;
-Landroid/graphics/drawable/LayerDrawable$ChildDrawable;-><init>(I)V
-Landroid/graphics/drawable/LayerDrawable$ChildDrawable;-><init>(Landroid/graphics/drawable/LayerDrawable$ChildDrawable;Landroid/graphics/drawable/LayerDrawable;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/LayerDrawable$ChildDrawable;->applyDensityScaling(II)V
-Landroid/graphics/drawable/LayerDrawable$ChildDrawable;->canApplyTheme()Z
-Landroid/graphics/drawable/LayerDrawable$ChildDrawable;->mDensity:I
-Landroid/graphics/drawable/LayerDrawable$ChildDrawable;->mGravity:I
-Landroid/graphics/drawable/LayerDrawable$ChildDrawable;->mHeight:I
-Landroid/graphics/drawable/LayerDrawable$ChildDrawable;->mId:I
-Landroid/graphics/drawable/LayerDrawable$ChildDrawable;->mInsetB:I
-Landroid/graphics/drawable/LayerDrawable$ChildDrawable;->mInsetE:I
-Landroid/graphics/drawable/LayerDrawable$ChildDrawable;->mInsetL:I
-Landroid/graphics/drawable/LayerDrawable$ChildDrawable;->mInsetR:I
-Landroid/graphics/drawable/LayerDrawable$ChildDrawable;->mInsetS:I
-Landroid/graphics/drawable/LayerDrawable$ChildDrawable;->mInsetT:I
-Landroid/graphics/drawable/LayerDrawable$ChildDrawable;->mThemeAttrs:[I
-Landroid/graphics/drawable/LayerDrawable$ChildDrawable;->mWidth:I
-Landroid/graphics/drawable/LayerDrawable$ChildDrawable;->setDensity(I)V
-Landroid/graphics/drawable/LayerDrawable$LayerState;
-Landroid/graphics/drawable/LayerDrawable$LayerState;-><init>(Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/graphics/drawable/LayerDrawable;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/LayerDrawable$LayerState;->applyDensityScaling(II)V
-Landroid/graphics/drawable/LayerDrawable$LayerState;->canConstantState()Z
-Landroid/graphics/drawable/LayerDrawable$LayerState;->getOpacity()I
-Landroid/graphics/drawable/LayerDrawable$LayerState;->hasFocusStateSpecified()Z
-Landroid/graphics/drawable/LayerDrawable$LayerState;->invalidateCache()V
-Landroid/graphics/drawable/LayerDrawable$LayerState;->isStateful()Z
-Landroid/graphics/drawable/LayerDrawable$LayerState;->mAutoMirrored:Z
-Landroid/graphics/drawable/LayerDrawable$LayerState;->mChangingConfigurations:I
-Landroid/graphics/drawable/LayerDrawable$LayerState;->mCheckedOpacity:Z
-Landroid/graphics/drawable/LayerDrawable$LayerState;->mCheckedStateful:Z
-Landroid/graphics/drawable/LayerDrawable$LayerState;->mChildrenChangingConfigurations:I
-Landroid/graphics/drawable/LayerDrawable$LayerState;->mDensity:I
-Landroid/graphics/drawable/LayerDrawable$LayerState;->mIsStateful:Z
-Landroid/graphics/drawable/LayerDrawable$LayerState;->mNumChildren:I
-Landroid/graphics/drawable/LayerDrawable$LayerState;->mOpacity:I
-Landroid/graphics/drawable/LayerDrawable$LayerState;->mOpacityOverride:I
-Landroid/graphics/drawable/LayerDrawable$LayerState;->mPaddingBottom:I
-Landroid/graphics/drawable/LayerDrawable$LayerState;->mPaddingEnd:I
-Landroid/graphics/drawable/LayerDrawable$LayerState;->mPaddingLeft:I
-Landroid/graphics/drawable/LayerDrawable$LayerState;->mPaddingMode:I
-Landroid/graphics/drawable/LayerDrawable$LayerState;->mPaddingRight:I
-Landroid/graphics/drawable/LayerDrawable$LayerState;->mPaddingStart:I
-Landroid/graphics/drawable/LayerDrawable$LayerState;->mPaddingTop:I
-Landroid/graphics/drawable/LayerDrawable$LayerState;->mThemeAttrs:[I
-Landroid/graphics/drawable/LayerDrawable$LayerState;->onDensityChanged(II)V
-Landroid/graphics/drawable/LayerDrawable$LayerState;->setDensity(I)V
-Landroid/graphics/drawable/LayerDrawable;-><init>()V
-Landroid/graphics/drawable/LayerDrawable;-><init>(Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/LayerDrawable;-><init>([Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/LayerDrawable$LayerState;)V
-Landroid/graphics/drawable/LayerDrawable;->addLayer(Landroid/graphics/drawable/Drawable;[IIIIII)Landroid/graphics/drawable/LayerDrawable$ChildDrawable;
-Landroid/graphics/drawable/LayerDrawable;->clearMutated()V
-Landroid/graphics/drawable/LayerDrawable;->computeNestedPadding(Landroid/graphics/Rect;)V
-Landroid/graphics/drawable/LayerDrawable;->computeStackedPadding(Landroid/graphics/Rect;)V
-Landroid/graphics/drawable/LayerDrawable;->createConstantState(Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/content/res/Resources;)Landroid/graphics/drawable/LayerDrawable$LayerState;
-Landroid/graphics/drawable/LayerDrawable;->createLayer(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/LayerDrawable$ChildDrawable;
-Landroid/graphics/drawable/LayerDrawable;->getFirstNonNullDrawable()Landroid/graphics/drawable/Drawable;
-Landroid/graphics/drawable/LayerDrawable;->inflateLayers(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/LayerDrawable;->isProjected()Z
-Landroid/graphics/drawable/LayerDrawable;->LOG_TAG:Ljava/lang/String;
-Landroid/graphics/drawable/LayerDrawable;->mChildRequestedInvalidation:Z
-Landroid/graphics/drawable/LayerDrawable;->mHotspotBounds:Landroid/graphics/Rect;
-Landroid/graphics/drawable/LayerDrawable;->mMutated:Z
-Landroid/graphics/drawable/LayerDrawable;->mPaddingB:[I
-Landroid/graphics/drawable/LayerDrawable;->mPaddingL:[I
-Landroid/graphics/drawable/LayerDrawable;->mPaddingR:[I
-Landroid/graphics/drawable/LayerDrawable;->mPaddingT:[I
-Landroid/graphics/drawable/LayerDrawable;->mSuspendChildInvalidation:Z
-Landroid/graphics/drawable/LayerDrawable;->mTmpContainer:Landroid/graphics/Rect;
-Landroid/graphics/drawable/LayerDrawable;->mTmpOutRect:Landroid/graphics/Rect;
-Landroid/graphics/drawable/LayerDrawable;->mTmpRect:Landroid/graphics/Rect;
-Landroid/graphics/drawable/LayerDrawable;->refreshChildPadding(ILandroid/graphics/drawable/LayerDrawable$ChildDrawable;)Z
-Landroid/graphics/drawable/LayerDrawable;->refreshPadding()V
-Landroid/graphics/drawable/LayerDrawable;->resolveGravity(IIIII)I
-Landroid/graphics/drawable/LayerDrawable;->resumeChildInvalidation()V
-Landroid/graphics/drawable/LayerDrawable;->setLayerInsetInternal(IIIIIII)V
-Landroid/graphics/drawable/LayerDrawable;->suspendChildInvalidation()V
-Landroid/graphics/drawable/LayerDrawable;->updateLayerBounds(Landroid/graphics/Rect;)V
-Landroid/graphics/drawable/LayerDrawable;->updateLayerBoundsInternal(Landroid/graphics/Rect;)V
-Landroid/graphics/drawable/LayerDrawable;->updateLayerFromTypedArray(Landroid/graphics/drawable/LayerDrawable$ChildDrawable;Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/LayerDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/LevelListDrawable$LevelListState;
-Landroid/graphics/drawable/LevelListDrawable$LevelListState;-><init>(Landroid/graphics/drawable/LevelListDrawable$LevelListState;Landroid/graphics/drawable/LevelListDrawable;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/LevelListDrawable$LevelListState;->addLevel(IILandroid/graphics/drawable/Drawable;)V
-Landroid/graphics/drawable/LevelListDrawable$LevelListState;->indexOfLevel(I)I
-Landroid/graphics/drawable/LevelListDrawable$LevelListState;->mHighs:[I
-Landroid/graphics/drawable/LevelListDrawable$LevelListState;->mLows:[I
-Landroid/graphics/drawable/LevelListDrawable$LevelListState;->mutate()V
-Landroid/graphics/drawable/LevelListDrawable;-><init>(Landroid/graphics/drawable/LevelListDrawable$LevelListState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/LevelListDrawable;->clearMutated()V
-Landroid/graphics/drawable/LevelListDrawable;->cloneConstantState()Landroid/graphics/drawable/LevelListDrawable$LevelListState;
-Landroid/graphics/drawable/LevelListDrawable;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/LevelListDrawable;->mLevelListState:Landroid/graphics/drawable/LevelListDrawable$LevelListState;
-Landroid/graphics/drawable/LevelListDrawable;->mMutated:Z
-Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;
-Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;-><init>()V
-Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;-><init>(Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;)V
-Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;-><init>(Landroid/graphics/NinePatch;Landroid/graphics/Rect;)V
-Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;-><init>(Landroid/graphics/NinePatch;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;-><init>(Landroid/graphics/NinePatch;Landroid/graphics/Rect;Landroid/graphics/Rect;ZZ)V
-Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;->mAutoMirrored:Z
-Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;->mBaseAlpha:F
-Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;->mChangingConfigurations:I
-Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;->mDither:Z
-Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;->mOpticalInsets:Landroid/graphics/Insets;
-Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;->mPadding:Landroid/graphics/Rect;
-Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;->mThemeAttrs:[I
-Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;->mTint:Landroid/content/res/ColorStateList;
-Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;->mTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/graphics/drawable/NinePatchDrawable;-><init>()V
-Landroid/graphics/drawable/NinePatchDrawable;-><init>(Landroid/content/res/Resources;Landroid/graphics/Bitmap;[BLandroid/graphics/Rect;Landroid/graphics/Rect;Ljava/lang/String;)V
-Landroid/graphics/drawable/NinePatchDrawable;-><init>(Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/NinePatchDrawable;->clearMutated()V
-Landroid/graphics/drawable/NinePatchDrawable;->computeBitmapSize()V
-Landroid/graphics/drawable/NinePatchDrawable;->DEFAULT_DITHER:Z
-Landroid/graphics/drawable/NinePatchDrawable;->mBitmapHeight:I
-Landroid/graphics/drawable/NinePatchDrawable;->mBitmapWidth:I
-Landroid/graphics/drawable/NinePatchDrawable;->mMutated:Z
-Landroid/graphics/drawable/NinePatchDrawable;->mOpticalInsets:Landroid/graphics/Insets;
-Landroid/graphics/drawable/NinePatchDrawable;->mOutlineInsets:Landroid/graphics/Rect;
-Landroid/graphics/drawable/NinePatchDrawable;->mOutlineRadius:F
-Landroid/graphics/drawable/NinePatchDrawable;->mPadding:Landroid/graphics/Rect;
-Landroid/graphics/drawable/NinePatchDrawable;->mPaint:Landroid/graphics/Paint;
-Landroid/graphics/drawable/NinePatchDrawable;->mTargetDensity:I
-Landroid/graphics/drawable/NinePatchDrawable;->mTempRect:Landroid/graphics/Rect;
-Landroid/graphics/drawable/NinePatchDrawable;->mTintFilter:Landroid/graphics/PorterDuffColorFilter;
-Landroid/graphics/drawable/NinePatchDrawable;->needsMirroring()Z
-Landroid/graphics/drawable/NinePatchDrawable;->updateLocalState(Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/NinePatchDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/PictureDrawable;->mPicture:Landroid/graphics/Picture;
-Landroid/graphics/drawable/RippleBackground$BackgroundProperty;
-Landroid/graphics/drawable/RippleBackground$BackgroundProperty;-><init>(Ljava/lang/String;)V
-Landroid/graphics/drawable/RippleBackground;
-Landroid/graphics/drawable/RippleBackground;-><init>(Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/Rect;Z)V
-Landroid/graphics/drawable/RippleBackground;->draw(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
-Landroid/graphics/drawable/RippleBackground;->isVisible()Z
-Landroid/graphics/drawable/RippleBackground;->jumpToFinal()V
-Landroid/graphics/drawable/RippleBackground;->LINEAR_INTERPOLATOR:Landroid/animation/TimeInterpolator;
-Landroid/graphics/drawable/RippleBackground;->mAnimator:Landroid/animation/ObjectAnimator;
-Landroid/graphics/drawable/RippleBackground;->mFocused:Z
-Landroid/graphics/drawable/RippleBackground;->mHovered:Z
-Landroid/graphics/drawable/RippleBackground;->mIsBounded:Z
-Landroid/graphics/drawable/RippleBackground;->mOpacity:F
-Landroid/graphics/drawable/RippleBackground;->onStateChanged()V
-Landroid/graphics/drawable/RippleBackground;->OPACITY:Landroid/graphics/drawable/RippleBackground$BackgroundProperty;
-Landroid/graphics/drawable/RippleBackground;->OPACITY_DURATION:I
-Landroid/graphics/drawable/RippleBackground;->setState(ZZZ)V
-Landroid/graphics/drawable/RippleComponent;
-Landroid/graphics/drawable/RippleComponent;-><init>(Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/Rect;)V
-Landroid/graphics/drawable/RippleComponent;->getBounds(Landroid/graphics/Rect;)V
-Landroid/graphics/drawable/RippleComponent;->getTargetRadius(Landroid/graphics/Rect;)F
-Landroid/graphics/drawable/RippleComponent;->invalidateSelf()V
-Landroid/graphics/drawable/RippleComponent;->mBounds:Landroid/graphics/Rect;
-Landroid/graphics/drawable/RippleComponent;->mDensityScale:F
-Landroid/graphics/drawable/RippleComponent;->mHasMaxRadius:Z
-Landroid/graphics/drawable/RippleComponent;->mOwner:Landroid/graphics/drawable/RippleDrawable;
-Landroid/graphics/drawable/RippleComponent;->mTargetRadius:F
-Landroid/graphics/drawable/RippleComponent;->onBoundsChange()V
-Landroid/graphics/drawable/RippleComponent;->onHotspotBoundsChanged()V
-Landroid/graphics/drawable/RippleComponent;->onTargetRadiusChanged(F)V
-Landroid/graphics/drawable/RippleComponent;->setup(FI)V
-Landroid/graphics/drawable/RippleDrawable$RippleState;
-Landroid/graphics/drawable/RippleDrawable$RippleState;-><init>(Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/graphics/drawable/RippleDrawable;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/RippleDrawable$RippleState;->applyDensityScaling(II)V
-Landroid/graphics/drawable/RippleDrawable$RippleState;->mMaxRadius:I
-Landroid/graphics/drawable/RippleDrawable$RippleState;->mTouchThemeAttrs:[I
-Landroid/graphics/drawable/RippleDrawable$RippleState;->onDensityChanged(II)V
-Landroid/graphics/drawable/RippleDrawable;-><init>()V
-Landroid/graphics/drawable/RippleDrawable;-><init>(Landroid/graphics/drawable/RippleDrawable$RippleState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/RippleDrawable;->cancelExitingRipples()V
-Landroid/graphics/drawable/RippleDrawable;->clearHotspots()V
-Landroid/graphics/drawable/RippleDrawable;->createConstantState(Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/content/res/Resources;)Landroid/graphics/drawable/RippleDrawable$RippleState;
-Landroid/graphics/drawable/RippleDrawable;->drawBackgroundAndRipples(Landroid/graphics/Canvas;)V
-Landroid/graphics/drawable/RippleDrawable;->drawContent(Landroid/graphics/Canvas;)V
-Landroid/graphics/drawable/RippleDrawable;->drawMask(Landroid/graphics/Canvas;)V
-Landroid/graphics/drawable/RippleDrawable;->getMaskType()I
-Landroid/graphics/drawable/RippleDrawable;->invalidateSelf(Z)V
-Landroid/graphics/drawable/RippleDrawable;->isBounded()Z
-Landroid/graphics/drawable/RippleDrawable;->isProjected()Z
-Landroid/graphics/drawable/RippleDrawable;->MASK_CONTENT:I
-Landroid/graphics/drawable/RippleDrawable;->MASK_EXPLICIT:I
-Landroid/graphics/drawable/RippleDrawable;->MASK_NONE:I
-Landroid/graphics/drawable/RippleDrawable;->MASK_UNKNOWN:I
-Landroid/graphics/drawable/RippleDrawable;->MAX_RIPPLES:I
-Landroid/graphics/drawable/RippleDrawable;->mBackground:Landroid/graphics/drawable/RippleBackground;
-Landroid/graphics/drawable/RippleDrawable;->mDirtyBounds:Landroid/graphics/Rect;
-Landroid/graphics/drawable/RippleDrawable;->mDrawingBounds:Landroid/graphics/Rect;
-Landroid/graphics/drawable/RippleDrawable;->mExitingRipples:[Landroid/graphics/drawable/RippleForeground;
-Landroid/graphics/drawable/RippleDrawable;->mExitingRipplesCount:I
-Landroid/graphics/drawable/RippleDrawable;->mForceSoftware:Z
-Landroid/graphics/drawable/RippleDrawable;->mHasPending:Z
-Landroid/graphics/drawable/RippleDrawable;->mHasValidMask:Z
-Landroid/graphics/drawable/RippleDrawable;->mHotspotBounds:Landroid/graphics/Rect;
-Landroid/graphics/drawable/RippleDrawable;->mMask:Landroid/graphics/drawable/Drawable;
-Landroid/graphics/drawable/RippleDrawable;->mMaskBuffer:Landroid/graphics/Bitmap;
-Landroid/graphics/drawable/RippleDrawable;->mMaskCanvas:Landroid/graphics/Canvas;
-Landroid/graphics/drawable/RippleDrawable;->mMaskColorFilter:Landroid/graphics/PorterDuffColorFilter;
-Landroid/graphics/drawable/RippleDrawable;->mMaskMatrix:Landroid/graphics/Matrix;
-Landroid/graphics/drawable/RippleDrawable;->mMaskShader:Landroid/graphics/BitmapShader;
-Landroid/graphics/drawable/RippleDrawable;->mOverrideBounds:Z
-Landroid/graphics/drawable/RippleDrawable;->mPendingX:F
-Landroid/graphics/drawable/RippleDrawable;->mPendingY:F
-Landroid/graphics/drawable/RippleDrawable;->mRipple:Landroid/graphics/drawable/RippleForeground;
-Landroid/graphics/drawable/RippleDrawable;->mRippleActive:Z
-Landroid/graphics/drawable/RippleDrawable;->mRipplePaint:Landroid/graphics/Paint;
-Landroid/graphics/drawable/RippleDrawable;->mTempRect:Landroid/graphics/Rect;
-Landroid/graphics/drawable/RippleDrawable;->onHotspotBoundsChanged()V
-Landroid/graphics/drawable/RippleDrawable;->pruneRipples()V
-Landroid/graphics/drawable/RippleDrawable;->setBackgroundActive(ZZZ)V
-Landroid/graphics/drawable/RippleDrawable;->setRippleActive(Z)V
-Landroid/graphics/drawable/RippleDrawable;->tryRippleEnter()V
-Landroid/graphics/drawable/RippleDrawable;->tryRippleExit()V
-Landroid/graphics/drawable/RippleDrawable;->updateLocalState()V
-Landroid/graphics/drawable/RippleDrawable;->updateMaskShaderIfNeeded()V
-Landroid/graphics/drawable/RippleDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/RippleDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/RippleForeground;
-Landroid/graphics/drawable/RippleForeground;-><init>(Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/Rect;FFZ)V
-Landroid/graphics/drawable/RippleForeground;->clampStartingPosition()V
-Landroid/graphics/drawable/RippleForeground;->clearHwProps()V
-Landroid/graphics/drawable/RippleForeground;->computeFadeOutDelay()J
-Landroid/graphics/drawable/RippleForeground;->DECELERATE_INTERPOLATOR:Landroid/animation/TimeInterpolator;
-Landroid/graphics/drawable/RippleForeground;->draw(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
-Landroid/graphics/drawable/RippleForeground;->drawHardware(Landroid/view/DisplayListCanvas;Landroid/graphics/Paint;)V
-Landroid/graphics/drawable/RippleForeground;->drawSoftware(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
-Landroid/graphics/drawable/RippleForeground;->end()V
-Landroid/graphics/drawable/RippleForeground;->enter()V
-Landroid/graphics/drawable/RippleForeground;->exit()V
-Landroid/graphics/drawable/RippleForeground;->getBounds(Landroid/graphics/Rect;)V
-Landroid/graphics/drawable/RippleForeground;->getCurrentRadius()F
-Landroid/graphics/drawable/RippleForeground;->getCurrentX()F
-Landroid/graphics/drawable/RippleForeground;->getCurrentY()F
-Landroid/graphics/drawable/RippleForeground;->hasFinishedExit()Z
-Landroid/graphics/drawable/RippleForeground;->LINEAR_INTERPOLATOR:Landroid/animation/TimeInterpolator;
-Landroid/graphics/drawable/RippleForeground;->mAnimationListener:Landroid/animation/AnimatorListenerAdapter;
-Landroid/graphics/drawable/RippleForeground;->mClampedStartingX:F
-Landroid/graphics/drawable/RippleForeground;->mClampedStartingY:F
-Landroid/graphics/drawable/RippleForeground;->mEnterStartedAtMillis:J
-Landroid/graphics/drawable/RippleForeground;->mForceSoftware:Z
-Landroid/graphics/drawable/RippleForeground;->mHasFinishedExit:Z
-Landroid/graphics/drawable/RippleForeground;->mOpacity:F
-Landroid/graphics/drawable/RippleForeground;->move(FF)V
-Landroid/graphics/drawable/RippleForeground;->mPendingHwAnimators:Ljava/util/ArrayList;
-Landroid/graphics/drawable/RippleForeground;->mPropPaint:Landroid/graphics/CanvasProperty;
-Landroid/graphics/drawable/RippleForeground;->mPropRadius:Landroid/graphics/CanvasProperty;
-Landroid/graphics/drawable/RippleForeground;->mPropX:Landroid/graphics/CanvasProperty;
-Landroid/graphics/drawable/RippleForeground;->mPropY:Landroid/graphics/CanvasProperty;
-Landroid/graphics/drawable/RippleForeground;->mRunningHwAnimators:Ljava/util/ArrayList;
-Landroid/graphics/drawable/RippleForeground;->mRunningSwAnimators:Ljava/util/ArrayList;
-Landroid/graphics/drawable/RippleForeground;->mStartingX:F
-Landroid/graphics/drawable/RippleForeground;->mStartingY:F
-Landroid/graphics/drawable/RippleForeground;->mStartRadius:F
-Landroid/graphics/drawable/RippleForeground;->mTargetX:F
-Landroid/graphics/drawable/RippleForeground;->mTargetY:F
-Landroid/graphics/drawable/RippleForeground;->mTweenRadius:F
-Landroid/graphics/drawable/RippleForeground;->mTweenX:F
-Landroid/graphics/drawable/RippleForeground;->mTweenY:F
-Landroid/graphics/drawable/RippleForeground;->mUsingProperties:Z
-Landroid/graphics/drawable/RippleForeground;->onAnimationPropertyChanged()V
-Landroid/graphics/drawable/RippleForeground;->onTargetRadiusChanged(F)V
-Landroid/graphics/drawable/RippleForeground;->OPACITY:Landroid/util/FloatProperty;
-Landroid/graphics/drawable/RippleForeground;->OPACITY_ENTER_DURATION:I
-Landroid/graphics/drawable/RippleForeground;->OPACITY_EXIT_DURATION:I
-Landroid/graphics/drawable/RippleForeground;->OPACITY_HOLD_DURATION:I
-Landroid/graphics/drawable/RippleForeground;->pruneHwFinished()V
-Landroid/graphics/drawable/RippleForeground;->pruneSwFinished()V
-Landroid/graphics/drawable/RippleForeground;->RIPPLE_ENTER_DURATION:I
-Landroid/graphics/drawable/RippleForeground;->RIPPLE_ORIGIN_DURATION:I
-Landroid/graphics/drawable/RippleForeground;->startHardwareEnter()V
-Landroid/graphics/drawable/RippleForeground;->startHardwareExit()V
-Landroid/graphics/drawable/RippleForeground;->startPending(Landroid/view/DisplayListCanvas;)V
-Landroid/graphics/drawable/RippleForeground;->startSoftwareEnter()V
-Landroid/graphics/drawable/RippleForeground;->startSoftwareExit()V
-Landroid/graphics/drawable/RippleForeground;->switchToUiThreadAnimation()V
-Landroid/graphics/drawable/RippleForeground;->TWEEN_ORIGIN:Landroid/util/FloatProperty;
-Landroid/graphics/drawable/RippleForeground;->TWEEN_RADIUS:Landroid/util/FloatProperty;
-Landroid/graphics/drawable/RotateDrawable$RotateState;
-Landroid/graphics/drawable/RotateDrawable$RotateState;-><init>(Landroid/graphics/drawable/RotateDrawable$RotateState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/RotateDrawable$RotateState;->mCurrentDegrees:F
-Landroid/graphics/drawable/RotateDrawable$RotateState;->mFromDegrees:F
-Landroid/graphics/drawable/RotateDrawable$RotateState;->mPivotX:F
-Landroid/graphics/drawable/RotateDrawable$RotateState;->mPivotXRel:Z
-Landroid/graphics/drawable/RotateDrawable$RotateState;->mPivotY:F
-Landroid/graphics/drawable/RotateDrawable$RotateState;->mPivotYRel:Z
-Landroid/graphics/drawable/RotateDrawable$RotateState;->mThemeAttrs:[I
-Landroid/graphics/drawable/RotateDrawable$RotateState;->mToDegrees:F
-Landroid/graphics/drawable/RotateDrawable;-><init>(Landroid/graphics/drawable/RotateDrawable$RotateState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/RotateDrawable;->MAX_LEVEL:I
-Landroid/graphics/drawable/RotateDrawable;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;
-Landroid/graphics/drawable/RotateDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/RotateDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/ScaleDrawable$ScaleState;
-Landroid/graphics/drawable/ScaleDrawable$ScaleState;-><init>(Landroid/graphics/drawable/ScaleDrawable$ScaleState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/ScaleDrawable$ScaleState;->DO_NOT_SCALE:F
-Landroid/graphics/drawable/ScaleDrawable$ScaleState;->mGravity:I
-Landroid/graphics/drawable/ScaleDrawable$ScaleState;->mInitialLevel:I
-Landroid/graphics/drawable/ScaleDrawable$ScaleState;->mScaleHeight:F
-Landroid/graphics/drawable/ScaleDrawable$ScaleState;->mScaleWidth:F
-Landroid/graphics/drawable/ScaleDrawable$ScaleState;->mThemeAttrs:[I
-Landroid/graphics/drawable/ScaleDrawable$ScaleState;->mUseIntrinsicSizeAsMin:Z
-Landroid/graphics/drawable/ScaleDrawable;-><init>()V
-Landroid/graphics/drawable/ScaleDrawable;-><init>(Landroid/graphics/drawable/ScaleDrawable$ScaleState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/ScaleDrawable;->getPercent(Landroid/content/res/TypedArray;IF)F
-Landroid/graphics/drawable/ScaleDrawable;->MAX_LEVEL:I
-Landroid/graphics/drawable/ScaleDrawable;->mTmpRect:Landroid/graphics/Rect;
-Landroid/graphics/drawable/ScaleDrawable;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;
-Landroid/graphics/drawable/ScaleDrawable;->updateLocalState()V
-Landroid/graphics/drawable/ScaleDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/ScaleDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/ShapeDrawable$ShapeState;
-Landroid/graphics/drawable/ShapeDrawable$ShapeState;-><init>()V
-Landroid/graphics/drawable/ShapeDrawable$ShapeState;-><init>(Landroid/graphics/drawable/ShapeDrawable$ShapeState;)V
-Landroid/graphics/drawable/ShapeDrawable$ShapeState;->mAlpha:I
-Landroid/graphics/drawable/ShapeDrawable$ShapeState;->mChangingConfigurations:I
-Landroid/graphics/drawable/ShapeDrawable$ShapeState;->mIntrinsicHeight:I
-Landroid/graphics/drawable/ShapeDrawable$ShapeState;->mIntrinsicWidth:I
-Landroid/graphics/drawable/ShapeDrawable$ShapeState;->mPadding:Landroid/graphics/Rect;
-Landroid/graphics/drawable/ShapeDrawable$ShapeState;->mPaint:Landroid/graphics/Paint;
-Landroid/graphics/drawable/ShapeDrawable$ShapeState;->mShaderFactory:Landroid/graphics/drawable/ShapeDrawable$ShaderFactory;
-Landroid/graphics/drawable/ShapeDrawable$ShapeState;->mShape:Landroid/graphics/drawable/shapes/Shape;
-Landroid/graphics/drawable/ShapeDrawable$ShapeState;->mThemeAttrs:[I
-Landroid/graphics/drawable/ShapeDrawable$ShapeState;->mTint:Landroid/content/res/ColorStateList;
-Landroid/graphics/drawable/ShapeDrawable$ShapeState;->mTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/graphics/drawable/ShapeDrawable;-><init>(Landroid/graphics/drawable/ShapeDrawable$ShapeState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/ShapeDrawable;->clearMutated()V
-Landroid/graphics/drawable/ShapeDrawable;->mMutated:Z
-Landroid/graphics/drawable/ShapeDrawable;->modulateAlpha(II)I
-Landroid/graphics/drawable/ShapeDrawable;->mShapeState:Landroid/graphics/drawable/ShapeDrawable$ShapeState;
-Landroid/graphics/drawable/ShapeDrawable;->mTintFilter:Landroid/graphics/PorterDuffColorFilter;
-Landroid/graphics/drawable/ShapeDrawable;->updateLocalState()V
-Landroid/graphics/drawable/ShapeDrawable;->updateShape()V
-Landroid/graphics/drawable/ShapeDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/shapes/ArcShape;->mStartAngle:F
-Landroid/graphics/drawable/shapes/ArcShape;->mSweepAngle:F
-Landroid/graphics/drawable/shapes/PathShape;->mPath:Landroid/graphics/Path;
-Landroid/graphics/drawable/shapes/PathShape;->mScaleX:F
-Landroid/graphics/drawable/shapes/PathShape;->mScaleY:F
-Landroid/graphics/drawable/shapes/PathShape;->mStdHeight:F
-Landroid/graphics/drawable/shapes/PathShape;->mStdWidth:F
-Landroid/graphics/drawable/shapes/RectShape;->mRect:Landroid/graphics/RectF;
-Landroid/graphics/drawable/shapes/RoundRectShape;->mInnerRadii:[F
-Landroid/graphics/drawable/shapes/RoundRectShape;->mInnerRect:Landroid/graphics/RectF;
-Landroid/graphics/drawable/shapes/RoundRectShape;->mInset:Landroid/graphics/RectF;
-Landroid/graphics/drawable/shapes/RoundRectShape;->mOuterRadii:[F
-Landroid/graphics/drawable/shapes/RoundRectShape;->mPath:Landroid/graphics/Path;
-Landroid/graphics/drawable/shapes/Shape;->mHeight:F
-Landroid/graphics/drawable/shapes/Shape;->mWidth:F
-Landroid/graphics/drawable/StateListDrawable$StateListState;
-Landroid/graphics/drawable/StateListDrawable$StateListState;-><init>(Landroid/graphics/drawable/StateListDrawable$StateListState;Landroid/graphics/drawable/StateListDrawable;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/StateListDrawable$StateListState;->hasFocusStateSpecified()Z
-Landroid/graphics/drawable/StateListDrawable$StateListState;->indexOfStateSet([I)I
-Landroid/graphics/drawable/StateListDrawable$StateListState;->mStateSets:[[I
-Landroid/graphics/drawable/StateListDrawable$StateListState;->mThemeAttrs:[I
-Landroid/graphics/drawable/StateListDrawable$StateListState;->mutate()V
-Landroid/graphics/drawable/StateListDrawable;-><init>(Landroid/graphics/drawable/StateListDrawable$StateListState;)V
-Landroid/graphics/drawable/StateListDrawable;-><init>(Landroid/graphics/drawable/StateListDrawable$StateListState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/StateListDrawable;->clearMutated()V
-Landroid/graphics/drawable/StateListDrawable;->cloneConstantState()Landroid/graphics/drawable/StateListDrawable$StateListState;
-Landroid/graphics/drawable/StateListDrawable;->DEBUG:Z
-Landroid/graphics/drawable/StateListDrawable;->getStateListState()Landroid/graphics/drawable/StateListDrawable$StateListState;
-Landroid/graphics/drawable/StateListDrawable;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/StateListDrawable;->mMutated:Z
-Landroid/graphics/drawable/StateListDrawable;->TAG:Ljava/lang/String;
-Landroid/graphics/drawable/TransitionDrawable$TransitionState;
-Landroid/graphics/drawable/TransitionDrawable$TransitionState;-><init>(Landroid/graphics/drawable/TransitionDrawable$TransitionState;Landroid/graphics/drawable/TransitionDrawable;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/TransitionDrawable;-><init>()V
-Landroid/graphics/drawable/TransitionDrawable;-><init>(Landroid/graphics/drawable/TransitionDrawable$TransitionState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/TransitionDrawable;-><init>(Landroid/graphics/drawable/TransitionDrawable$TransitionState;[Landroid/graphics/drawable/Drawable;)V
-Landroid/graphics/drawable/TransitionDrawable;->createConstantState(Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/content/res/Resources;)Landroid/graphics/drawable/LayerDrawable$LayerState;
-Landroid/graphics/drawable/TransitionDrawable;->mDuration:I
-Landroid/graphics/drawable/TransitionDrawable;->mFrom:I
-Landroid/graphics/drawable/TransitionDrawable;->mOriginalDuration:I
-Landroid/graphics/drawable/TransitionDrawable;->mReverse:Z
-Landroid/graphics/drawable/TransitionDrawable;->mStartTimeMillis:J
-Landroid/graphics/drawable/TransitionDrawable;->mTransitionState:I
-Landroid/graphics/drawable/TransitionDrawable;->showSecondLayer()V
-Landroid/graphics/drawable/TransitionDrawable;->TRANSITION_NONE:I
-Landroid/graphics/drawable/TransitionDrawable;->TRANSITION_RUNNING:I
-Landroid/graphics/drawable/TransitionDrawable;->TRANSITION_STARTING:I
-Landroid/graphics/drawable/VectorDrawable$VClipPath;
-Landroid/graphics/drawable/VectorDrawable$VClipPath;-><init>()V
-Landroid/graphics/drawable/VectorDrawable$VClipPath;-><init>(Landroid/graphics/drawable/VectorDrawable$VClipPath;)V
-Landroid/graphics/drawable/VectorDrawable$VClipPath;->applyTheme(Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/VectorDrawable$VClipPath;->canApplyTheme()Z
-Landroid/graphics/drawable/VectorDrawable$VClipPath;->getNativePtr()J
-Landroid/graphics/drawable/VectorDrawable$VClipPath;->getNativeSize()I
-Landroid/graphics/drawable/VectorDrawable$VClipPath;->hasFocusStateSpecified()Z
-Landroid/graphics/drawable/VectorDrawable$VClipPath;->inflate(Landroid/content/res/Resources;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/VectorDrawable$VClipPath;->isStateful()Z
-Landroid/graphics/drawable/VectorDrawable$VClipPath;->mNativePtr:J
-Landroid/graphics/drawable/VectorDrawable$VClipPath;->NATIVE_ALLOCATION_SIZE:I
-Landroid/graphics/drawable/VectorDrawable$VClipPath;->onStateChange([I)Z
-Landroid/graphics/drawable/VectorDrawable$VClipPath;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;-><init>(Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;)V
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->ALPHA:Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->applyDensityScaling(II)V
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->applyTheme(Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->canReuseCache()Z
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->createNativeTree(Landroid/graphics/drawable/VectorDrawable$VGroup;)V
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->createNativeTreeFromCopy(Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VGroup;)V
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->getAlpha()F
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->getNativeRenderer()J
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->getProperty(Ljava/lang/String;)Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->hasFocusStateSpecified()Z
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->isStateful()Z
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mAllocationOfAllNodes:I
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mAutoMirrored:Z
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mBaseHeight:I
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mBaseWidth:I
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mCachedAutoMirrored:Z
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mCacheDirty:Z
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mCachedThemeAttrs:[I
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mCachedTint:Landroid/content/res/ColorStateList;
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mCachedTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mChangingConfigurations:I
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mDensity:I
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mLastHWCachePixelCount:I
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mLastSWCachePixelCount:I
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mNativeTree:Lcom/android/internal/util/VirtualRefBasePtr;
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mOpticalInsets:Landroid/graphics/Insets;
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mRootGroup:Landroid/graphics/drawable/VectorDrawable$VGroup;
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mRootName:Ljava/lang/String;
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mThemeAttrs:[I
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mTint:Landroid/content/res/ColorStateList;
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mVGTargetsMap:Landroid/util/ArrayMap;
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mViewportHeight:F
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->mViewportWidth:F
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->NATIVE_ALLOCATION_SIZE:I
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->onStateChange([I)Z
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->onTreeConstructionFinished()V
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->setAlpha(F)Z
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->setDensity(I)Z
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->setViewportSize(FF)V
-Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;->updateCacheStates()V
-Landroid/graphics/drawable/VectorDrawable$VFullPath;
-Landroid/graphics/drawable/VectorDrawable$VFullPath;-><init>()V
-Landroid/graphics/drawable/VectorDrawable$VFullPath;-><init>(Landroid/graphics/drawable/VectorDrawable$VFullPath;)V
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->applyTheme(Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->canApplyTheme()Z
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->canComplexColorApplyTheme(Landroid/content/res/ComplexColor;)Z
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->FILL_ALPHA:Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->FILL_ALPHA_INDEX:I
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->FILL_COLOR:Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->FILL_COLOR_INDEX:I
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->FILL_TYPE_INDEX:I
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->getFillAlpha()F
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->getFillColor()I
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->getNativePtr()J
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->getNativeSize()I
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->getProperty(Ljava/lang/String;)Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->getPropertyIndex(Ljava/lang/String;)I
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->getStrokeAlpha()F
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->getStrokeColor()I
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->getStrokeWidth()F
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->getTrimPathEnd()F
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->getTrimPathOffset()F
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->getTrimPathStart()F
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->hasFocusStateSpecified()Z
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->inflate(Landroid/content/res/Resources;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->isStateful()Z
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->mFillColors:Landroid/content/res/ComplexColor;
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->mNativePtr:J
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->mPropertyData:[B
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->mStrokeColors:Landroid/content/res/ComplexColor;
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->mThemeAttrs:[I
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->NATIVE_ALLOCATION_SIZE:I
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->onStateChange([I)Z
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->setFillAlpha(F)V
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->setFillColor(I)V
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->setStrokeAlpha(F)V
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->setStrokeColor(I)V
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->setStrokeWidth(F)V
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->setTrimPathEnd(F)V
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->setTrimPathOffset(F)V
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->setTrimPathStart(F)V
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->sPropertyIndexMap:Ljava/util/HashMap;
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->sPropertyMap:Ljava/util/HashMap;
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->STROKE_ALPHA:Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->STROKE_ALPHA_INDEX:I
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->STROKE_COLOR:Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->STROKE_COLOR_INDEX:I
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->STROKE_LINE_CAP_INDEX:I
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->STROKE_LINE_JOIN_INDEX:I
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->STROKE_MITER_LIMIT_INDEX:I
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->STROKE_WIDTH:Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->STROKE_WIDTH_INDEX:I
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->TOTAL_PROPERTY_COUNT:I
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->TRIM_PATH_END:Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->TRIM_PATH_END_INDEX:I
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->TRIM_PATH_OFFSET:Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->TRIM_PATH_OFFSET_INDEX:I
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->TRIM_PATH_START:Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->TRIM_PATH_START_INDEX:I
-Landroid/graphics/drawable/VectorDrawable$VFullPath;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/VectorDrawable$VGroup;
-Landroid/graphics/drawable/VectorDrawable$VGroup;-><init>()V
-Landroid/graphics/drawable/VectorDrawable$VGroup;-><init>(Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/util/ArrayMap;)V
-Landroid/graphics/drawable/VectorDrawable$VGroup;->addChild(Landroid/graphics/drawable/VectorDrawable$VObject;)V
-Landroid/graphics/drawable/VectorDrawable$VGroup;->applyTheme(Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/VectorDrawable$VGroup;->canApplyTheme()Z
-Landroid/graphics/drawable/VectorDrawable$VGroup;->getGroupName()Ljava/lang/String;
-Landroid/graphics/drawable/VectorDrawable$VGroup;->getNativePtr()J
-Landroid/graphics/drawable/VectorDrawable$VGroup;->getNativeSize()I
-Landroid/graphics/drawable/VectorDrawable$VGroup;->getPivotX()F
-Landroid/graphics/drawable/VectorDrawable$VGroup;->getPivotY()F
-Landroid/graphics/drawable/VectorDrawable$VGroup;->getProperty(Ljava/lang/String;)Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VGroup;->getPropertyIndex(Ljava/lang/String;)I
-Landroid/graphics/drawable/VectorDrawable$VGroup;->getRotation()F
-Landroid/graphics/drawable/VectorDrawable$VGroup;->getScaleX()F
-Landroid/graphics/drawable/VectorDrawable$VGroup;->getScaleY()F
-Landroid/graphics/drawable/VectorDrawable$VGroup;->getTranslateX()F
-Landroid/graphics/drawable/VectorDrawable$VGroup;->getTranslateY()F
-Landroid/graphics/drawable/VectorDrawable$VGroup;->hasFocusStateSpecified()Z
-Landroid/graphics/drawable/VectorDrawable$VGroup;->inflate(Landroid/content/res/Resources;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/VectorDrawable$VGroup;->isStateful()Z
-Landroid/graphics/drawable/VectorDrawable$VGroup;->mChangingConfigurations:I
-Landroid/graphics/drawable/VectorDrawable$VGroup;->mChildren:Ljava/util/ArrayList;
-Landroid/graphics/drawable/VectorDrawable$VGroup;->mGroupName:Ljava/lang/String;
-Landroid/graphics/drawable/VectorDrawable$VGroup;->mIsStateful:Z
-Landroid/graphics/drawable/VectorDrawable$VGroup;->mNativePtr:J
-Landroid/graphics/drawable/VectorDrawable$VGroup;->mThemeAttrs:[I
-Landroid/graphics/drawable/VectorDrawable$VGroup;->mTransform:[F
-Landroid/graphics/drawable/VectorDrawable$VGroup;->NATIVE_ALLOCATION_SIZE:I
-Landroid/graphics/drawable/VectorDrawable$VGroup;->onStateChange([I)Z
-Landroid/graphics/drawable/VectorDrawable$VGroup;->PIVOT_X:Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VGroup;->PIVOT_X_INDEX:I
-Landroid/graphics/drawable/VectorDrawable$VGroup;->PIVOT_Y:Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VGroup;->PIVOT_Y_INDEX:I
-Landroid/graphics/drawable/VectorDrawable$VGroup;->ROTATION:Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VGroup;->ROTATION_INDEX:I
-Landroid/graphics/drawable/VectorDrawable$VGroup;->SCALE_X:Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VGroup;->SCALE_X_INDEX:I
-Landroid/graphics/drawable/VectorDrawable$VGroup;->SCALE_Y:Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VGroup;->SCALE_Y_INDEX:I
-Landroid/graphics/drawable/VectorDrawable$VGroup;->setScaleX(F)V
-Landroid/graphics/drawable/VectorDrawable$VGroup;->setScaleY(F)V
-Landroid/graphics/drawable/VectorDrawable$VGroup;->setTree(Lcom/android/internal/util/VirtualRefBasePtr;)V
-Landroid/graphics/drawable/VectorDrawable$VGroup;->sPropertyIndexMap:Ljava/util/HashMap;
-Landroid/graphics/drawable/VectorDrawable$VGroup;->sPropertyMap:Ljava/util/HashMap;
-Landroid/graphics/drawable/VectorDrawable$VGroup;->TRANSFORM_PROPERTY_COUNT:I
-Landroid/graphics/drawable/VectorDrawable$VGroup;->TRANSLATE_X:Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VGroup;->TRANSLATE_X_INDEX:I
-Landroid/graphics/drawable/VectorDrawable$VGroup;->TRANSLATE_Y:Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VGroup;->TRANSLATE_Y_INDEX:I
-Landroid/graphics/drawable/VectorDrawable$VGroup;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-Landroid/graphics/drawable/VectorDrawable$VObject;
-Landroid/graphics/drawable/VectorDrawable$VObject;-><init>()V
-Landroid/graphics/drawable/VectorDrawable$VObject;->applyTheme(Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/VectorDrawable$VObject;->canApplyTheme()Z
-Landroid/graphics/drawable/VectorDrawable$VObject;->getNativePtr()J
-Landroid/graphics/drawable/VectorDrawable$VObject;->getNativeSize()I
-Landroid/graphics/drawable/VectorDrawable$VObject;->getProperty(Ljava/lang/String;)Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VObject;->hasFocusStateSpecified()Z
-Landroid/graphics/drawable/VectorDrawable$VObject;->inflate(Landroid/content/res/Resources;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/VectorDrawable$VObject;->isStateful()Z
-Landroid/graphics/drawable/VectorDrawable$VObject;->isTreeValid()Z
-Landroid/graphics/drawable/VectorDrawable$VObject;->mTreePtr:Lcom/android/internal/util/VirtualRefBasePtr;
-Landroid/graphics/drawable/VectorDrawable$VObject;->onStateChange([I)Z
-Landroid/graphics/drawable/VectorDrawable$VObject;->setTree(Lcom/android/internal/util/VirtualRefBasePtr;)V
-Landroid/graphics/drawable/VectorDrawable$VPath;
-Landroid/graphics/drawable/VectorDrawable$VPath;-><init>()V
-Landroid/graphics/drawable/VectorDrawable$VPath;-><init>(Landroid/graphics/drawable/VectorDrawable$VPath;)V
-Landroid/graphics/drawable/VectorDrawable$VPath;->getPathData()Landroid/util/PathParser$PathData;
-Landroid/graphics/drawable/VectorDrawable$VPath;->getPathName()Ljava/lang/String;
-Landroid/graphics/drawable/VectorDrawable$VPath;->getProperty(Ljava/lang/String;)Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VPath;->mChangingConfigurations:I
-Landroid/graphics/drawable/VectorDrawable$VPath;->mPathData:Landroid/util/PathParser$PathData;
-Landroid/graphics/drawable/VectorDrawable$VPath;->mPathName:Ljava/lang/String;
-Landroid/graphics/drawable/VectorDrawable$VPath;->PATH_DATA:Landroid/util/Property;
-Landroid/graphics/drawable/VectorDrawable$VPath;->setPathData(Landroid/util/PathParser$PathData;)V
-Landroid/graphics/drawable/VectorDrawable;-><init>(Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/VectorDrawable;->clearMutated()V
-Landroid/graphics/drawable/VectorDrawable;->computeVectorSize()V
-Landroid/graphics/drawable/VectorDrawable;->create(Landroid/content/res/Resources;I)Landroid/graphics/drawable/VectorDrawable;
-Landroid/graphics/drawable/VectorDrawable;->getNativeTree()J
-Landroid/graphics/drawable/VectorDrawable;->getPixelSize()F
-Landroid/graphics/drawable/VectorDrawable;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-Landroid/graphics/drawable/VectorDrawable;->LOGTAG:Ljava/lang/String;
-Landroid/graphics/drawable/VectorDrawable;->mColorFilter:Landroid/graphics/ColorFilter;
-Landroid/graphics/drawable/VectorDrawable;->mDpiScaledDirty:Z
-Landroid/graphics/drawable/VectorDrawable;->mDpiScaledHeight:I
-Landroid/graphics/drawable/VectorDrawable;->mDpiScaledInsets:Landroid/graphics/Insets;
-Landroid/graphics/drawable/VectorDrawable;->mDpiScaledWidth:I
-Landroid/graphics/drawable/VectorDrawable;->mMutated:Z
-Landroid/graphics/drawable/VectorDrawable;->mTargetDensity:I
-Landroid/graphics/drawable/VectorDrawable;->mTmpBounds:Landroid/graphics/Rect;
-Landroid/graphics/drawable/VectorDrawable;->mVectorState:Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;
-Landroid/graphics/drawable/VectorDrawable;->nAddChild(JJ)V
-Landroid/graphics/drawable/VectorDrawable;->nCreateClipPath()J
-Landroid/graphics/drawable/VectorDrawable;->nCreateClipPath(J)J
-Landroid/graphics/drawable/VectorDrawable;->nCreateFullPath()J
-Landroid/graphics/drawable/VectorDrawable;->nCreateFullPath(J)J
-Landroid/graphics/drawable/VectorDrawable;->nCreateGroup()J
-Landroid/graphics/drawable/VectorDrawable;->nCreateGroup(J)J
-Landroid/graphics/drawable/VectorDrawable;->nCreateTree(J)J
-Landroid/graphics/drawable/VectorDrawable;->nCreateTreeFromCopy(JJ)J
-Landroid/graphics/drawable/VectorDrawable;->nDraw(JJJLandroid/graphics/Rect;ZZ)I
-Landroid/graphics/drawable/VectorDrawable;->needMirroring()Z
-Landroid/graphics/drawable/VectorDrawable;->nGetFillAlpha(J)F
-Landroid/graphics/drawable/VectorDrawable;->nGetFillColor(J)I
-Landroid/graphics/drawable/VectorDrawable;->nGetFullPathProperties(J[BI)Z
-Landroid/graphics/drawable/VectorDrawable;->nGetGroupProperties(J[FI)Z
-Landroid/graphics/drawable/VectorDrawable;->nGetPivotX(J)F
-Landroid/graphics/drawable/VectorDrawable;->nGetPivotY(J)F
-Landroid/graphics/drawable/VectorDrawable;->nGetRootAlpha(J)F
-Landroid/graphics/drawable/VectorDrawable;->nGetRotation(J)F
-Landroid/graphics/drawable/VectorDrawable;->nGetScaleX(J)F
-Landroid/graphics/drawable/VectorDrawable;->nGetScaleY(J)F
-Landroid/graphics/drawable/VectorDrawable;->nGetStrokeAlpha(J)F
-Landroid/graphics/drawable/VectorDrawable;->nGetStrokeColor(J)I
-Landroid/graphics/drawable/VectorDrawable;->nGetStrokeWidth(J)F
-Landroid/graphics/drawable/VectorDrawable;->nGetTranslateX(J)F
-Landroid/graphics/drawable/VectorDrawable;->nGetTranslateY(J)F
-Landroid/graphics/drawable/VectorDrawable;->nGetTrimPathEnd(J)F
-Landroid/graphics/drawable/VectorDrawable;->nGetTrimPathOffset(J)F
-Landroid/graphics/drawable/VectorDrawable;->nGetTrimPathStart(J)F
-Landroid/graphics/drawable/VectorDrawable;->nSetAllowCaching(JZ)V
-Landroid/graphics/drawable/VectorDrawable;->nSetAntiAlias(JZ)V
-Landroid/graphics/drawable/VectorDrawable;->nSetFillAlpha(JF)V
-Landroid/graphics/drawable/VectorDrawable;->nSetFillColor(JI)V
-Landroid/graphics/drawable/VectorDrawable;->nSetName(JLjava/lang/String;)V
-Landroid/graphics/drawable/VectorDrawable;->nSetPathData(JJ)V
-Landroid/graphics/drawable/VectorDrawable;->nSetPathString(JLjava/lang/String;I)V
-Landroid/graphics/drawable/VectorDrawable;->nSetPivotX(JF)V
-Landroid/graphics/drawable/VectorDrawable;->nSetPivotY(JF)V
-Landroid/graphics/drawable/VectorDrawable;->nSetRendererViewportSize(JFF)V
-Landroid/graphics/drawable/VectorDrawable;->nSetRootAlpha(JF)Z
-Landroid/graphics/drawable/VectorDrawable;->nSetRotation(JF)V
-Landroid/graphics/drawable/VectorDrawable;->nSetScaleX(JF)V
-Landroid/graphics/drawable/VectorDrawable;->nSetScaleY(JF)V
-Landroid/graphics/drawable/VectorDrawable;->nSetStrokeAlpha(JF)V
-Landroid/graphics/drawable/VectorDrawable;->nSetStrokeColor(JI)V
-Landroid/graphics/drawable/VectorDrawable;->nSetStrokeWidth(JF)V
-Landroid/graphics/drawable/VectorDrawable;->nSetTranslateX(JF)V
-Landroid/graphics/drawable/VectorDrawable;->nSetTranslateY(JF)V
-Landroid/graphics/drawable/VectorDrawable;->nSetTrimPathEnd(JF)V
-Landroid/graphics/drawable/VectorDrawable;->nSetTrimPathOffset(JF)V
-Landroid/graphics/drawable/VectorDrawable;->nSetTrimPathStart(JF)V
-Landroid/graphics/drawable/VectorDrawable;->nUpdateFullPathFillGradient(JJ)V
-Landroid/graphics/drawable/VectorDrawable;->nUpdateFullPathProperties(JFIFIFFFFFIII)V
-Landroid/graphics/drawable/VectorDrawable;->nUpdateFullPathStrokeGradient(JJ)V
-Landroid/graphics/drawable/VectorDrawable;->nUpdateGroupProperties(JFFFFFFF)V
-Landroid/graphics/drawable/VectorDrawable;->setAntiAlias(Z)V
-Landroid/graphics/drawable/VectorDrawable;->SHAPE_CLIP_PATH:Ljava/lang/String;
-Landroid/graphics/drawable/VectorDrawable;->SHAPE_GROUP:Ljava/lang/String;
-Landroid/graphics/drawable/VectorDrawable;->SHAPE_PATH:Ljava/lang/String;
-Landroid/graphics/drawable/VectorDrawable;->SHAPE_VECTOR:Ljava/lang/String;
-Landroid/graphics/drawable/VectorDrawable;->updateLocalState(Landroid/content/res/Resources;)V
-Landroid/graphics/drawable/VectorDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-Landroid/graphics/DrawFilter;->mNativeInt:J
-Landroid/graphics/DrawFilter;->nativeDestructor(J)V
-Landroid/graphics/EmbossMaskFilter;->nativeConstructor([FFFF)J
-Landroid/graphics/FontFamily;
-Landroid/graphics/FontFamily;->addFont(Ljava/lang/String;I[Landroid/graphics/fonts/FontVariationAxis;II)Z
-Landroid/graphics/FontFamily;->mBuilderPtr:J
-Landroid/graphics/FontFamily;->mNativeBuilderCleaner:Ljava/lang/Runnable;
-Landroid/graphics/FontFamily;->nAddAxisValue(JIF)V
-Landroid/graphics/FontFamily;->nAddFont(JLjava/nio/ByteBuffer;I)Z
-Landroid/graphics/FontFamily;->nAddFont(JLjava/nio/ByteBuffer;III)Z
-Landroid/graphics/FontFamily;->nAddFontFromAssetManager(JLandroid/content/res/AssetManager;Ljava/lang/String;IZIII)Z
-Landroid/graphics/FontFamily;->nAddFontWeightStyle(JLjava/nio/ByteBuffer;III)Z
-Landroid/graphics/FontFamily;->nCreateFamily(J)J
-Landroid/graphics/FontFamily;->nGetBuilderReleaseFunc()J
-Landroid/graphics/FontFamily;->nGetFamilyReleaseFunc()J
-Landroid/graphics/FontFamily;->nInitBuilder(Ljava/lang/String;I)J
-Landroid/graphics/FontFamily;->sBuilderRegistry:Llibcore/util/NativeAllocationRegistry;
-Landroid/graphics/FontFamily;->sFamilyRegistry:Llibcore/util/NativeAllocationRegistry;
-Landroid/graphics/FontFamily;->TAG:Ljava/lang/String;
-Landroid/graphics/FontListParser;
-Landroid/graphics/FontListParser;-><init>()V
-Landroid/graphics/FontListParser;->FILENAME_WHITESPACE_PATTERN:Ljava/util/regex/Pattern;
-Landroid/graphics/FontListParser;->readAlias(Lorg/xmlpull/v1/XmlPullParser;)Landroid/text/FontConfig$Alias;
-Landroid/graphics/FontListParser;->readAxis(Lorg/xmlpull/v1/XmlPullParser;)Landroid/graphics/fonts/FontVariationAxis;
-Landroid/graphics/FontListParser;->readFamilies(Lorg/xmlpull/v1/XmlPullParser;)Landroid/text/FontConfig;
-Landroid/graphics/FontListParser;->readFamily(Lorg/xmlpull/v1/XmlPullParser;)Landroid/text/FontConfig$Family;
-Landroid/graphics/FontListParser;->readFont(Lorg/xmlpull/v1/XmlPullParser;)Landroid/text/FontConfig$Font;
-Landroid/graphics/FontListParser;->skip(Lorg/xmlpull/v1/XmlPullParser;)V
-Landroid/graphics/fonts/FontVariationAxis;->getOpenTypeTagValue()I
-Landroid/graphics/fonts/FontVariationAxis;->isValidTag(Ljava/lang/String;)Z
-Landroid/graphics/fonts/FontVariationAxis;->isValidValueFormat(Ljava/lang/String;)Z
-Landroid/graphics/fonts/FontVariationAxis;->makeTag(Ljava/lang/String;)I
-Landroid/graphics/fonts/FontVariationAxis;->mTagString:Ljava/lang/String;
-Landroid/graphics/fonts/FontVariationAxis;->STYLE_VALUE_PATTERN:Ljava/util/regex/Pattern;
-Landroid/graphics/fonts/FontVariationAxis;->TAG_PATTERN:Ljava/util/regex/Pattern;
-Landroid/graphics/GraphicBuffer;
-Landroid/graphics/GraphicBuffer;->create(IIII)Landroid/graphics/GraphicBuffer;
-Landroid/graphics/GraphicBuffer;->destroy()V
-Landroid/graphics/GraphicBuffer;->getFormat()I
-Landroid/graphics/GraphicBuffer;->getHeight()I
-Landroid/graphics/GraphicBuffer;->getUsage()I
-Landroid/graphics/GraphicBuffer;->getWidth()I
-Landroid/graphics/GraphicBuffer;->isDestroyed()Z
-Landroid/graphics/GraphicBuffer;->lockCanvas()Landroid/graphics/Canvas;
-Landroid/graphics/GraphicBuffer;->lockCanvas(Landroid/graphics/Rect;)Landroid/graphics/Canvas;
-Landroid/graphics/GraphicBuffer;->mCanvas:Landroid/graphics/Canvas;
-Landroid/graphics/GraphicBuffer;->mDestroyed:Z
-Landroid/graphics/GraphicBuffer;->mFormat:I
-Landroid/graphics/GraphicBuffer;->mHeight:I
-Landroid/graphics/GraphicBuffer;->mSaveCount:I
-Landroid/graphics/GraphicBuffer;->mUsage:I
-Landroid/graphics/GraphicBuffer;->mWidth:I
-Landroid/graphics/GraphicBuffer;->nCreateGraphicBuffer(IIII)J
-Landroid/graphics/GraphicBuffer;->nDestroyGraphicBuffer(J)V
-Landroid/graphics/GraphicBuffer;->nLockCanvas(JLandroid/graphics/Canvas;Landroid/graphics/Rect;)Z
-Landroid/graphics/GraphicBuffer;->nReadGraphicBufferFromParcel(Landroid/os/Parcel;)J
-Landroid/graphics/GraphicBuffer;->nUnlockCanvasAndPost(JLandroid/graphics/Canvas;)Z
-Landroid/graphics/GraphicBuffer;->nWrapGraphicBuffer(J)J
-Landroid/graphics/GraphicBuffer;->nWriteGraphicBufferToParcel(JLandroid/os/Parcel;)V
-Landroid/graphics/GraphicBuffer;->unlockCanvasAndPost(Landroid/graphics/Canvas;)V
-Landroid/graphics/GraphicBuffer;->USAGE_HW_2D:I
-Landroid/graphics/GraphicBuffer;->USAGE_HW_COMPOSER:I
-Landroid/graphics/GraphicBuffer;->USAGE_HW_MASK:I
-Landroid/graphics/GraphicBuffer;->USAGE_HW_RENDER:I
-Landroid/graphics/GraphicBuffer;->USAGE_HW_TEXTURE:I
-Landroid/graphics/GraphicBuffer;->USAGE_HW_VIDEO_ENCODER:I
-Landroid/graphics/GraphicBuffer;->USAGE_PROTECTED:I
-Landroid/graphics/GraphicBuffer;->USAGE_SOFTWARE_MASK:I
-Landroid/graphics/GraphicBuffer;->USAGE_SW_READ_MASK:I
-Landroid/graphics/GraphicBuffer;->USAGE_SW_READ_NEVER:I
-Landroid/graphics/GraphicBuffer;->USAGE_SW_READ_OFTEN:I
-Landroid/graphics/GraphicBuffer;->USAGE_SW_READ_RARELY:I
-Landroid/graphics/GraphicBuffer;->USAGE_SW_WRITE_MASK:I
-Landroid/graphics/GraphicBuffer;->USAGE_SW_WRITE_NEVER:I
-Landroid/graphics/GraphicBuffer;->USAGE_SW_WRITE_OFTEN:I
-Landroid/graphics/GraphicBuffer;->USAGE_SW_WRITE_RARELY:I
-Landroid/graphics/ImageDecoder$Allocator;
-Landroid/graphics/ImageDecoder$AssetInputStreamSource;
-Landroid/graphics/ImageDecoder$AssetInputStreamSource;-><init>(Landroid/content/res/AssetManager$AssetInputStream;Landroid/content/res/Resources;Landroid/util/TypedValue;)V
-Landroid/graphics/ImageDecoder$AssetInputStreamSource;->createImageDecoder()Landroid/graphics/ImageDecoder;
-Landroid/graphics/ImageDecoder$AssetInputStreamSource;->getDensity()I
-Landroid/graphics/ImageDecoder$AssetInputStreamSource;->getResources()Landroid/content/res/Resources;
-Landroid/graphics/ImageDecoder$AssetInputStreamSource;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
-Landroid/graphics/ImageDecoder$AssetInputStreamSource;->mDensity:I
-Landroid/graphics/ImageDecoder$AssetInputStreamSource;->mResources:Landroid/content/res/Resources;
-Landroid/graphics/ImageDecoder$AssetSource;
-Landroid/graphics/ImageDecoder$AssetSource;-><init>(Landroid/content/res/AssetManager;Ljava/lang/String;)V
-Landroid/graphics/ImageDecoder$AssetSource;->createImageDecoder()Landroid/graphics/ImageDecoder;
-Landroid/graphics/ImageDecoder$AssetSource;->mAssets:Landroid/content/res/AssetManager;
-Landroid/graphics/ImageDecoder$AssetSource;->mFileName:Ljava/lang/String;
-Landroid/graphics/ImageDecoder$ByteArraySource;
-Landroid/graphics/ImageDecoder$ByteArraySource;-><init>([BII)V
-Landroid/graphics/ImageDecoder$ByteArraySource;->createImageDecoder()Landroid/graphics/ImageDecoder;
-Landroid/graphics/ImageDecoder$ByteArraySource;->mData:[B
-Landroid/graphics/ImageDecoder$ByteArraySource;->mLength:I
-Landroid/graphics/ImageDecoder$ByteArraySource;->mOffset:I
-Landroid/graphics/ImageDecoder$ByteBufferSource;
-Landroid/graphics/ImageDecoder$ByteBufferSource;-><init>(Ljava/nio/ByteBuffer;)V
-Landroid/graphics/ImageDecoder$ByteBufferSource;->createImageDecoder()Landroid/graphics/ImageDecoder;
-Landroid/graphics/ImageDecoder$ByteBufferSource;->mBuffer:Ljava/nio/ByteBuffer;
-Landroid/graphics/ImageDecoder$ContentResolverSource;
-Landroid/graphics/ImageDecoder$ContentResolverSource;-><init>(Landroid/content/ContentResolver;Landroid/net/Uri;Landroid/content/res/Resources;)V
-Landroid/graphics/ImageDecoder$ContentResolverSource;->createImageDecoder()Landroid/graphics/ImageDecoder;
-Landroid/graphics/ImageDecoder$ContentResolverSource;->getResources()Landroid/content/res/Resources;
-Landroid/graphics/ImageDecoder$ContentResolverSource;->mResolver:Landroid/content/ContentResolver;
-Landroid/graphics/ImageDecoder$ContentResolverSource;->mResources:Landroid/content/res/Resources;
-Landroid/graphics/ImageDecoder$ContentResolverSource;->mUri:Landroid/net/Uri;
-Landroid/graphics/ImageDecoder$DecodeException$Error;
-Landroid/graphics/ImageDecoder$DecodeException;-><init>(ILjava/lang/String;Ljava/lang/Throwable;Landroid/graphics/ImageDecoder$Source;)V
-Landroid/graphics/ImageDecoder$DecodeException;-><init>(ILjava/lang/Throwable;Landroid/graphics/ImageDecoder$Source;)V
-Landroid/graphics/ImageDecoder$DecodeException;->errorMessage(ILjava/lang/Throwable;)Ljava/lang/String;
-Landroid/graphics/ImageDecoder$DecodeException;->mError:I
-Landroid/graphics/ImageDecoder$DecodeException;->mSource:Landroid/graphics/ImageDecoder$Source;
-Landroid/graphics/ImageDecoder$FileSource;
-Landroid/graphics/ImageDecoder$FileSource;-><init>(Ljava/io/File;)V
-Landroid/graphics/ImageDecoder$FileSource;->createImageDecoder()Landroid/graphics/ImageDecoder;
-Landroid/graphics/ImageDecoder$FileSource;->mFile:Ljava/io/File;
-Landroid/graphics/ImageDecoder$ImageInfo;-><init>(Landroid/graphics/ImageDecoder;)V
-Landroid/graphics/ImageDecoder$ImageInfo;->mDecoder:Landroid/graphics/ImageDecoder;
-Landroid/graphics/ImageDecoder$ImageInfo;->mSize:Landroid/util/Size;
-Landroid/graphics/ImageDecoder$InputStreamSource;
-Landroid/graphics/ImageDecoder$InputStreamSource;-><init>(Landroid/content/res/Resources;Ljava/io/InputStream;I)V
-Landroid/graphics/ImageDecoder$InputStreamSource;->createImageDecoder()Landroid/graphics/ImageDecoder;
-Landroid/graphics/ImageDecoder$InputStreamSource;->getDensity()I
-Landroid/graphics/ImageDecoder$InputStreamSource;->getResources()Landroid/content/res/Resources;
-Landroid/graphics/ImageDecoder$InputStreamSource;->mInputDensity:I
-Landroid/graphics/ImageDecoder$InputStreamSource;->mInputStream:Ljava/io/InputStream;
-Landroid/graphics/ImageDecoder$InputStreamSource;->mResources:Landroid/content/res/Resources;
-Landroid/graphics/ImageDecoder$MemoryPolicy;
-Landroid/graphics/ImageDecoder$ResourceSource;
-Landroid/graphics/ImageDecoder$ResourceSource;-><init>(Landroid/content/res/Resources;I)V
-Landroid/graphics/ImageDecoder$ResourceSource;->createImageDecoder()Landroid/graphics/ImageDecoder;
-Landroid/graphics/ImageDecoder$ResourceSource;->getDensity()I
-Landroid/graphics/ImageDecoder$ResourceSource;->getResources()Landroid/content/res/Resources;
-Landroid/graphics/ImageDecoder$ResourceSource;->mLock:Ljava/lang/Object;
-Landroid/graphics/ImageDecoder$ResourceSource;->mResDensity:I
-Landroid/graphics/ImageDecoder$ResourceSource;->mResId:I
-Landroid/graphics/ImageDecoder$ResourceSource;->mResources:Landroid/content/res/Resources;
-Landroid/graphics/ImageDecoder$Source;-><init>()V
-Landroid/graphics/ImageDecoder$Source;->computeDstDensity()I
-Landroid/graphics/ImageDecoder$Source;->createImageDecoder()Landroid/graphics/ImageDecoder;
-Landroid/graphics/ImageDecoder$Source;->getDensity()I
-Landroid/graphics/ImageDecoder$Source;->getResources()Landroid/content/res/Resources;
-Landroid/graphics/ImageDecoder;-><init>(JIIZZ)V
-Landroid/graphics/ImageDecoder;->callHeaderDecoded(Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;Landroid/graphics/ImageDecoder$Source;)V
-Landroid/graphics/ImageDecoder;->checkState()V
-Landroid/graphics/ImageDecoder;->checkSubset(IILandroid/graphics/Rect;)V
-Landroid/graphics/ImageDecoder;->computeDensity(Landroid/graphics/ImageDecoder$Source;)I
-Landroid/graphics/ImageDecoder;->createFromAsset(Landroid/content/res/AssetManager$AssetInputStream;Landroid/graphics/ImageDecoder$Source;)Landroid/graphics/ImageDecoder;
-Landroid/graphics/ImageDecoder;->createFromFile(Ljava/io/File;Landroid/graphics/ImageDecoder$Source;)Landroid/graphics/ImageDecoder;
-Landroid/graphics/ImageDecoder;->createFromStream(Ljava/io/InputStream;ZLandroid/graphics/ImageDecoder$Source;)Landroid/graphics/ImageDecoder;
-Landroid/graphics/ImageDecoder;->createSource(Landroid/content/ContentResolver;Landroid/net/Uri;Landroid/content/res/Resources;)Landroid/graphics/ImageDecoder$Source;
-Landroid/graphics/ImageDecoder;->createSource(Landroid/content/res/Resources;Ljava/io/InputStream;)Landroid/graphics/ImageDecoder$Source;
-Landroid/graphics/ImageDecoder;->createSource([B)Landroid/graphics/ImageDecoder$Source;
-Landroid/graphics/ImageDecoder;->createSource([BII)Landroid/graphics/ImageDecoder$Source;
-Landroid/graphics/ImageDecoder;->decodeBitmapImpl(Landroid/graphics/ImageDecoder$Source;Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;)Landroid/graphics/Bitmap;
-Landroid/graphics/ImageDecoder;->decodeBitmapInternal()Landroid/graphics/Bitmap;
-Landroid/graphics/ImageDecoder;->decodeDrawableImpl(Landroid/graphics/ImageDecoder$Source;Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;)Landroid/graphics/drawable/Drawable;
-Landroid/graphics/ImageDecoder;->getColorSpace()Landroid/graphics/ColorSpace;
-Landroid/graphics/ImageDecoder;->getMimeType()Ljava/lang/String;
-Landroid/graphics/ImageDecoder;->getSampledSize(I)Landroid/util/Size;
-Landroid/graphics/ImageDecoder;->getTargetDimension(III)I
-Landroid/graphics/ImageDecoder;->mAllocator:I
-Landroid/graphics/ImageDecoder;->mAnimated:Z
-Landroid/graphics/ImageDecoder;->mAssetFd:Landroid/content/res/AssetFileDescriptor;
-Landroid/graphics/ImageDecoder;->mClosed:Ljava/util/concurrent/atomic/AtomicBoolean;
-Landroid/graphics/ImageDecoder;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/graphics/ImageDecoder;->mConserveMemory:Z
-Landroid/graphics/ImageDecoder;->mCropRect:Landroid/graphics/Rect;
-Landroid/graphics/ImageDecoder;->mDecodeAsAlphaMask:Z
-Landroid/graphics/ImageDecoder;->mDesiredColorSpace:Landroid/graphics/ColorSpace;
-Landroid/graphics/ImageDecoder;->mDesiredHeight:I
-Landroid/graphics/ImageDecoder;->mDesiredWidth:I
-Landroid/graphics/ImageDecoder;->mHeight:I
-Landroid/graphics/ImageDecoder;->mInputStream:Ljava/io/InputStream;
-Landroid/graphics/ImageDecoder;->mIsNinePatch:Z
-Landroid/graphics/ImageDecoder;->mMutable:Z
-Landroid/graphics/ImageDecoder;->mNativePtr:J
-Landroid/graphics/ImageDecoder;->mOnPartialImageListener:Landroid/graphics/ImageDecoder$OnPartialImageListener;
-Landroid/graphics/ImageDecoder;->mOutPaddingRect:Landroid/graphics/Rect;
-Landroid/graphics/ImageDecoder;->mOwnsInputStream:Z
-Landroid/graphics/ImageDecoder;->mPostProcessor:Landroid/graphics/PostProcessor;
-Landroid/graphics/ImageDecoder;->mSource:Landroid/graphics/ImageDecoder$Source;
-Landroid/graphics/ImageDecoder;->mTempStorage:[B
-Landroid/graphics/ImageDecoder;->mUnpremultipliedRequired:Z
-Landroid/graphics/ImageDecoder;->mWidth:I
-Landroid/graphics/ImageDecoder;->nClose(J)V
-Landroid/graphics/ImageDecoder;->nCreate(JLandroid/graphics/ImageDecoder$Source;)Landroid/graphics/ImageDecoder;
-Landroid/graphics/ImageDecoder;->nCreate(Ljava/io/FileDescriptor;Landroid/graphics/ImageDecoder$Source;)Landroid/graphics/ImageDecoder;
-Landroid/graphics/ImageDecoder;->nCreate(Ljava/io/InputStream;[BLandroid/graphics/ImageDecoder$Source;)Landroid/graphics/ImageDecoder;
-Landroid/graphics/ImageDecoder;->nCreate(Ljava/nio/ByteBuffer;IILandroid/graphics/ImageDecoder$Source;)Landroid/graphics/ImageDecoder;
-Landroid/graphics/ImageDecoder;->nCreate([BIILandroid/graphics/ImageDecoder$Source;)Landroid/graphics/ImageDecoder;
-Landroid/graphics/ImageDecoder;->nDecodeBitmap(JLandroid/graphics/ImageDecoder;ZIILandroid/graphics/Rect;ZIZZZLandroid/graphics/ColorSpace;)Landroid/graphics/Bitmap;
-Landroid/graphics/ImageDecoder;->nGetColorSpace(J)Landroid/graphics/ColorSpace;
-Landroid/graphics/ImageDecoder;->nGetMimeType(J)Ljava/lang/String;
-Landroid/graphics/ImageDecoder;->nGetPadding(JLandroid/graphics/Rect;)V
-Landroid/graphics/ImageDecoder;->nGetSampledSize(JI)Landroid/util/Size;
-Landroid/graphics/ImageDecoder;->onPartialImage(ILjava/lang/Throwable;)V
-Landroid/graphics/ImageDecoder;->requestedResize()Z
-Landroid/graphics/ImageDecoder;->sApiLevel:I
-Landroid/graphics/ImageDecoder;->setOutPaddingRect(Landroid/graphics/Rect;)V
-Landroid/graphics/ImageFormat;->isPublicFormat(I)Z
-Landroid/graphics/ImageFormat;->RAW_DEPTH:I
-Landroid/graphics/ImageFormat;->Y16:I
-Landroid/graphics/Insets;
-Landroid/graphics/Insets;-><init>(IIII)V
-Landroid/graphics/Interpolator$Result;-><init>()V
-Landroid/graphics/Interpolator;->mFrameCount:I
-Landroid/graphics/Interpolator;->mValueCount:I
-Landroid/graphics/Interpolator;->nativeConstructor(II)J
-Landroid/graphics/Interpolator;->nativeDestructor(J)V
-Landroid/graphics/Interpolator;->nativeReset(JII)V
-Landroid/graphics/Interpolator;->nativeSetKeyFrame(JII[F[F)V
-Landroid/graphics/Interpolator;->nativeSetRepeatMirror(JFZ)V
-Landroid/graphics/Interpolator;->nativeTimeToValues(JI[F)I
-Landroid/graphics/Interpolator;->native_instance:J
-Landroid/graphics/LargeBitmap;
-Landroid/graphics/LargeBitmap;-><init>(J)V
-Landroid/graphics/LargeBitmap;->checkRecycled(Ljava/lang/String;)V
-Landroid/graphics/LargeBitmap;->decodeRegion(Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
-Landroid/graphics/LargeBitmap;->getHeight()I
-Landroid/graphics/LargeBitmap;->getWidth()I
-Landroid/graphics/LargeBitmap;->isRecycled()Z
-Landroid/graphics/LargeBitmap;->mNativeLargeBitmap:J
-Landroid/graphics/LargeBitmap;->mRecycled:Z
-Landroid/graphics/LargeBitmap;->nativeClean(J)V
-Landroid/graphics/LargeBitmap;->nativeDecodeRegion(JIIIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
-Landroid/graphics/LargeBitmap;->nativeGetHeight(J)I
-Landroid/graphics/LargeBitmap;->nativeGetWidth(J)I
-Landroid/graphics/LargeBitmap;->recycle()V
-Landroid/graphics/LeakyTypefaceStorage;
-Landroid/graphics/LeakyTypefaceStorage;-><init>()V
-Landroid/graphics/LeakyTypefaceStorage;->readTypefaceFromParcel(Landroid/os/Parcel;)Landroid/graphics/Typeface;
-Landroid/graphics/LeakyTypefaceStorage;->sLock:Ljava/lang/Object;
-Landroid/graphics/LeakyTypefaceStorage;->sStorage:Ljava/util/ArrayList;
-Landroid/graphics/LeakyTypefaceStorage;->sTypefaceMap:Landroid/util/ArrayMap;
-Landroid/graphics/LeakyTypefaceStorage;->writeTypefaceToParcel(Landroid/graphics/Typeface;Landroid/os/Parcel;)V
-Landroid/graphics/LightingColorFilter;->createNativeInstance()J
-Landroid/graphics/LightingColorFilter;->mAdd:I
-Landroid/graphics/LightingColorFilter;->mMul:I
-Landroid/graphics/LightingColorFilter;->native_CreateLightingFilter(II)J
-Landroid/graphics/LinearGradient;->copy()Landroid/graphics/Shader;
-Landroid/graphics/LinearGradient;->createNativeInstance(J)J
-Landroid/graphics/LinearGradient;->mType:I
-Landroid/graphics/LinearGradient;->nativeCreate1(JFFFF[I[FI)J
-Landroid/graphics/LinearGradient;->nativeCreate2(JFFFFIII)J
-Landroid/graphics/LinearGradient;->TYPE_COLORS_AND_POSITIONS:I
-Landroid/graphics/LinearGradient;->TYPE_COLOR_START_AND_COLOR_END:I
-Landroid/graphics/MaskFilter;->nativeDestructor(J)V
-Landroid/graphics/MaskFilter;->native_instance:J
-Landroid/graphics/Matrix$NoImagePreloadHolder;
-Landroid/graphics/Matrix$NoImagePreloadHolder;-><init>()V
-Landroid/graphics/Matrix$NoImagePreloadHolder;->sRegistry:Llibcore/util/NativeAllocationRegistry;
-Landroid/graphics/Matrix$ScaleToFit;-><init>(I)V
-Landroid/graphics/Matrix$ScaleToFit;->nativeInt:I
-Landroid/graphics/Matrix;->checkPointArrays([FI[FII)V
-Landroid/graphics/Matrix;->NATIVE_ALLOCATION_SIZE:J
-Landroid/graphics/Matrix;->nCreate(J)J
-Landroid/graphics/Matrix;->nEquals(JJ)Z
-Landroid/graphics/Matrix;->nGetNativeFinalizer()J
-Landroid/graphics/Matrix;->nGetValues(J[F)V
-Landroid/graphics/Matrix;->ni()J
-Landroid/graphics/Matrix;->nInvert(JJ)Z
-Landroid/graphics/Matrix;->nIsAffine(J)Z
-Landroid/graphics/Matrix;->nIsIdentity(J)Z
-Landroid/graphics/Matrix;->nMapPoints(J[FI[FIIZ)V
-Landroid/graphics/Matrix;->nMapRadius(JF)F
-Landroid/graphics/Matrix;->nMapRect(JLandroid/graphics/RectF;Landroid/graphics/RectF;)Z
-Landroid/graphics/Matrix;->nPostConcat(JJ)V
-Landroid/graphics/Matrix;->nPostRotate(JF)V
-Landroid/graphics/Matrix;->nPostRotate(JFFF)V
-Landroid/graphics/Matrix;->nPostScale(JFF)V
-Landroid/graphics/Matrix;->nPostScale(JFFFF)V
-Landroid/graphics/Matrix;->nPostSkew(JFF)V
-Landroid/graphics/Matrix;->nPostSkew(JFFFF)V
-Landroid/graphics/Matrix;->nPostTranslate(JFF)V
-Landroid/graphics/Matrix;->nPreConcat(JJ)V
-Landroid/graphics/Matrix;->nPreRotate(JF)V
-Landroid/graphics/Matrix;->nPreRotate(JFFF)V
-Landroid/graphics/Matrix;->nPreScale(JFF)V
-Landroid/graphics/Matrix;->nPreScale(JFFFF)V
-Landroid/graphics/Matrix;->nPreSkew(JFF)V
-Landroid/graphics/Matrix;->nPreSkew(JFFFF)V
-Landroid/graphics/Matrix;->nPreTranslate(JFF)V
-Landroid/graphics/Matrix;->nRectStaysRect(J)Z
-Landroid/graphics/Matrix;->nReset(J)V
-Landroid/graphics/Matrix;->nSet(JJ)V
-Landroid/graphics/Matrix;->nSetConcat(JJJ)V
-Landroid/graphics/Matrix;->nSetPolyToPoly(J[FI[FII)Z
-Landroid/graphics/Matrix;->nSetRectToRect(JLandroid/graphics/RectF;Landroid/graphics/RectF;I)Z
-Landroid/graphics/Matrix;->nSetRotate(JF)V
-Landroid/graphics/Matrix;->nSetRotate(JFFF)V
-Landroid/graphics/Matrix;->nSetScale(JFF)V
-Landroid/graphics/Matrix;->nSetScale(JFFFF)V
-Landroid/graphics/Matrix;->nSetSinCos(JFF)V
-Landroid/graphics/Matrix;->nSetSinCos(JFFFF)V
-Landroid/graphics/Matrix;->nSetSkew(JFF)V
-Landroid/graphics/Matrix;->nSetSkew(JFFFF)V
-Landroid/graphics/Matrix;->nSetTranslate(JFF)V
-Landroid/graphics/Matrix;->nSetValues(J[F)V
-Landroid/graphics/Matrix;->printShortString(Ljava/io/PrintWriter;)V
-Landroid/graphics/Matrix;->toShortString(Ljava/lang/StringBuilder;)V
-Landroid/graphics/Movie;->decodeTempStream(Ljava/io/InputStream;)Landroid/graphics/Movie;
-Landroid/graphics/Movie;->nativeDecodeAsset(J)Landroid/graphics/Movie;
-Landroid/graphics/Movie;->nativeDecodeStream(Ljava/io/InputStream;)Landroid/graphics/Movie;
-Landroid/graphics/Movie;->nativeDestructor(J)V
-Landroid/graphics/Movie;->nDraw(JFFJ)V
-Landroid/graphics/NinePatch$InsetStruct;
-Landroid/graphics/NinePatch$InsetStruct;->opticalRect:Landroid/graphics/Rect;
-Landroid/graphics/NinePatch$InsetStruct;->outlineAlpha:F
-Landroid/graphics/NinePatch$InsetStruct;->outlineRadius:F
-Landroid/graphics/NinePatch$InsetStruct;->outlineRect:Landroid/graphics/Rect;
-Landroid/graphics/NinePatch$InsetStruct;->scaleInsets(IIIIF)Landroid/graphics/Rect;
-Landroid/graphics/NinePatch;-><init>(Landroid/graphics/NinePatch;)V
-Landroid/graphics/NinePatch;->mPaint:Landroid/graphics/Paint;
-Landroid/graphics/NinePatch;->mSrcName:Ljava/lang/String;
-Landroid/graphics/NinePatch;->nativeFinalize(J)V
-Landroid/graphics/NinePatch;->nativeGetTransparentRegion(Landroid/graphics/Bitmap;JLandroid/graphics/Rect;)J
-Landroid/graphics/NinePatch;->validateNinePatchChunk([B)J
-Landroid/graphics/Outline$Mode;
-Landroid/graphics/Outline;->mAlpha:F
-Landroid/graphics/Outline;->mMode:I
-Landroid/graphics/Outline;->MODE_CONVEX_PATH:I
-Landroid/graphics/Outline;->MODE_EMPTY:I
-Landroid/graphics/Outline;->MODE_ROUND_RECT:I
-Landroid/graphics/Outline;->mPath:Landroid/graphics/Path;
-Landroid/graphics/Outline;->mRadius:F
-Landroid/graphics/Outline;->RADIUS_UNDEFINED:F
-Landroid/graphics/Paint$Align;-><init>(I)V
-Landroid/graphics/Paint$Align;->nativeInt:I
-Landroid/graphics/Paint$Cap;-><init>(I)V
-Landroid/graphics/Paint$Cap;->nativeInt:I
-Landroid/graphics/Paint$Join;-><init>(I)V
-Landroid/graphics/Paint$Join;->nativeInt:I
-Landroid/graphics/Paint$NoImagePreloadHolder;
-Landroid/graphics/Paint$NoImagePreloadHolder;-><init>()V
-Landroid/graphics/Paint$NoImagePreloadHolder;->sRegistry:Llibcore/util/NativeAllocationRegistry;
-Landroid/graphics/Paint$Style;-><init>(I)V
-Landroid/graphics/Paint$Style;->nativeInt:I
-Landroid/graphics/Paint;->AUTO_HINTING_TEXT_FLAG:I
-Landroid/graphics/Paint;->BIDI_DEFAULT_LTR:I
-Landroid/graphics/Paint;->BIDI_DEFAULT_RTL:I
-Landroid/graphics/Paint;->BIDI_FLAG_MASK:I
-Landroid/graphics/Paint;->BIDI_FORCE_LTR:I
-Landroid/graphics/Paint;->BIDI_FORCE_RTL:I
-Landroid/graphics/Paint;->BIDI_LTR:I
-Landroid/graphics/Paint;->BIDI_MAX_FLAG_VALUE:I
-Landroid/graphics/Paint;->BIDI_RTL:I
-Landroid/graphics/Paint;->CURSOR_AFTER:I
-Landroid/graphics/Paint;->CURSOR_AT:I
-Landroid/graphics/Paint;->CURSOR_AT_OR_AFTER:I
-Landroid/graphics/Paint;->CURSOR_AT_OR_BEFORE:I
-Landroid/graphics/Paint;->CURSOR_BEFORE:I
-Landroid/graphics/Paint;->CURSOR_OPT_MAX_VALUE:I
-Landroid/graphics/Paint;->DIRECTION_LTR:I
-Landroid/graphics/Paint;->DIRECTION_RTL:I
-Landroid/graphics/Paint;->getBidiFlags()I
-Landroid/graphics/Paint;->getHyphenEdit()I
-Landroid/graphics/Paint;->getStrikeThruPosition()F
-Landroid/graphics/Paint;->getStrikeThruThickness()F
-Landroid/graphics/Paint;->getTextBounds(Ljava/lang/CharSequence;IILandroid/graphics/Rect;)V
-Landroid/graphics/Paint;->getTextRunAdvances(Ljava/lang/CharSequence;IIIIZ[FI)F
-Landroid/graphics/Paint;->getTextRunAdvances(Ljava/lang/String;IIIIZ[FI)F
-Landroid/graphics/Paint;->getTextRunCursor(Ljava/lang/CharSequence;IIIII)I
-Landroid/graphics/Paint;->getTextRunCursor(Ljava/lang/String;IIIII)I
-Landroid/graphics/Paint;->getUnderlinePosition()F
-Landroid/graphics/Paint;->getUnderlineThickness()F
-Landroid/graphics/Paint;->getWordSpacing()F
-Landroid/graphics/Paint;->hasEqualAttributes(Landroid/graphics/Paint;)Z
-Landroid/graphics/Paint;->hasShadowLayer()Z
-Landroid/graphics/Paint;->HIDDEN_DEFAULT_PAINT_FLAGS:I
-Landroid/graphics/Paint;->HYPHENEDIT_MASK_END_OF_LINE:I
-Landroid/graphics/Paint;->HYPHENEDIT_MASK_START_OF_LINE:I
-Landroid/graphics/Paint;->LCD_RENDER_TEXT_FLAG:I
-Landroid/graphics/Paint;->mBidiFlags:I
-Landroid/graphics/Paint;->mColorFilter:Landroid/graphics/ColorFilter;
-Landroid/graphics/Paint;->mCompatScaling:F
-Landroid/graphics/Paint;->mFontFeatureSettings:Ljava/lang/String;
-Landroid/graphics/Paint;->mFontVariationSettings:Ljava/lang/String;
-Landroid/graphics/Paint;->mHasCompatScaling:Z
-Landroid/graphics/Paint;->mInvCompatScaling:F
-Landroid/graphics/Paint;->mLocales:Landroid/os/LocaleList;
-Landroid/graphics/Paint;->mMaskFilter:Landroid/graphics/MaskFilter;
-Landroid/graphics/Paint;->mNativeColorFilter:J
-Landroid/graphics/Paint;->mNativeShader:J
-Landroid/graphics/Paint;->mPathEffect:Landroid/graphics/PathEffect;
-Landroid/graphics/Paint;->mShader:Landroid/graphics/Shader;
-Landroid/graphics/Paint;->mShadowLayerColor:I
-Landroid/graphics/Paint;->mShadowLayerDx:F
-Landroid/graphics/Paint;->mShadowLayerDy:F
-Landroid/graphics/Paint;->mShadowLayerRadius:F
-Landroid/graphics/Paint;->mXfermode:Landroid/graphics/Xfermode;
-Landroid/graphics/Paint;->nAscent(J)F
-Landroid/graphics/Paint;->NATIVE_PAINT_SIZE:J
-Landroid/graphics/Paint;->nBreakText(JLjava/lang/String;ZFI[F)I
-Landroid/graphics/Paint;->nBreakText(J[CIIFI[F)I
-Landroid/graphics/Paint;->nDescent(J)F
-Landroid/graphics/Paint;->nEqualsForTextMeasurement(JJ)Z
-Landroid/graphics/Paint;->nGetAlpha(J)I
-Landroid/graphics/Paint;->nGetCharArrayBounds(J[CIIILandroid/graphics/Rect;)V
-Landroid/graphics/Paint;->nGetColor(J)I
-Landroid/graphics/Paint;->nGetFillPath(JJJ)Z
-Landroid/graphics/Paint;->nGetFlags(J)I
-Landroid/graphics/Paint;->nGetFontMetrics(JLandroid/graphics/Paint$FontMetrics;)F
-Landroid/graphics/Paint;->nGetFontMetricsInt(JLandroid/graphics/Paint$FontMetricsInt;)I
-Landroid/graphics/Paint;->nGetHinting(J)I
-Landroid/graphics/Paint;->nGetHyphenEdit(J)I
-Landroid/graphics/Paint;->nGetLetterSpacing(J)F
-Landroid/graphics/Paint;->nGetNativeFinalizer()J
-Landroid/graphics/Paint;->nGetOffsetForAdvance(J[CIIIIZF)I
-Landroid/graphics/Paint;->nGetRunAdvance(J[CIIIIZI)F
-Landroid/graphics/Paint;->nGetStrikeThruPosition(J)F
-Landroid/graphics/Paint;->nGetStrikeThruThickness(J)F
-Landroid/graphics/Paint;->nGetStringBounds(JLjava/lang/String;IIILandroid/graphics/Rect;)V
-Landroid/graphics/Paint;->nGetStrokeCap(J)I
-Landroid/graphics/Paint;->nGetStrokeJoin(J)I
-Landroid/graphics/Paint;->nGetStrokeMiter(J)F
-Landroid/graphics/Paint;->nGetStrokeWidth(J)F
-Landroid/graphics/Paint;->nGetStyle(J)I
-Landroid/graphics/Paint;->nGetTextAdvances(JLjava/lang/String;IIIII[FI)F
-Landroid/graphics/Paint;->nGetTextAdvances(J[CIIIII[FI)F
-Landroid/graphics/Paint;->nGetTextAlign(J)I
-Landroid/graphics/Paint;->nGetTextPath(JILjava/lang/String;IIFFJ)V
-Landroid/graphics/Paint;->nGetTextPath(JI[CIIFFJ)V
-Landroid/graphics/Paint;->nGetTextRunCursor(JLjava/lang/String;IIIII)I
-Landroid/graphics/Paint;->nGetTextRunCursor(J[CIIIII)I
-Landroid/graphics/Paint;->nGetTextScaleX(J)F
-Landroid/graphics/Paint;->nGetTextSize(J)F
-Landroid/graphics/Paint;->nGetTextSkewX(J)F
-Landroid/graphics/Paint;->nGetUnderlinePosition(J)F
-Landroid/graphics/Paint;->nGetUnderlineThickness(J)F
-Landroid/graphics/Paint;->nGetWordSpacing(J)F
-Landroid/graphics/Paint;->nHasGlyph(JILjava/lang/String;)Z
-Landroid/graphics/Paint;->nHasShadowLayer(J)Z
-Landroid/graphics/Paint;->nInit()J
-Landroid/graphics/Paint;->nInitWithPaint(J)J
-Landroid/graphics/Paint;->nIsElegantTextHeight(J)Z
-Landroid/graphics/Paint;->nReset(J)V
-Landroid/graphics/Paint;->nSet(JJ)V
-Landroid/graphics/Paint;->nSetAlpha(JI)V
-Landroid/graphics/Paint;->nSetAntiAlias(JZ)V
-Landroid/graphics/Paint;->nSetColor(JI)V
-Landroid/graphics/Paint;->nSetColorFilter(JJ)J
-Landroid/graphics/Paint;->nSetDither(JZ)V
-Landroid/graphics/Paint;->nSetElegantTextHeight(JZ)V
-Landroid/graphics/Paint;->nSetFakeBoldText(JZ)V
-Landroid/graphics/Paint;->nSetFilterBitmap(JZ)V
-Landroid/graphics/Paint;->nSetFlags(JI)V
-Landroid/graphics/Paint;->nSetFontFeatureSettings(JLjava/lang/String;)V
-Landroid/graphics/Paint;->nSetHinting(JI)V
-Landroid/graphics/Paint;->nSetHyphenEdit(JI)V
-Landroid/graphics/Paint;->nSetLetterSpacing(JF)V
-Landroid/graphics/Paint;->nSetLinearText(JZ)V
-Landroid/graphics/Paint;->nSetMaskFilter(JJ)J
-Landroid/graphics/Paint;->nSetPathEffect(JJ)J
-Landroid/graphics/Paint;->nSetShader(JJ)J
-Landroid/graphics/Paint;->nSetShadowLayer(JFFFI)V
-Landroid/graphics/Paint;->nSetStrikeThruText(JZ)V
-Landroid/graphics/Paint;->nSetStrokeCap(JI)V
-Landroid/graphics/Paint;->nSetStrokeJoin(JI)V
-Landroid/graphics/Paint;->nSetStrokeMiter(JF)V
-Landroid/graphics/Paint;->nSetStrokeWidth(JF)V
-Landroid/graphics/Paint;->nSetStyle(JI)V
-Landroid/graphics/Paint;->nSetSubpixelText(JZ)V
-Landroid/graphics/Paint;->nSetTextAlign(JI)V
-Landroid/graphics/Paint;->nSetTextLocales(JLjava/lang/String;)I
-Landroid/graphics/Paint;->nSetTextLocalesByMinikinLocaleListId(JI)V
-Landroid/graphics/Paint;->nSetTextScaleX(JF)V
-Landroid/graphics/Paint;->nSetTextSize(JF)V
-Landroid/graphics/Paint;->nSetTextSkewX(JF)V
-Landroid/graphics/Paint;->nSetTypeface(JJ)V
-Landroid/graphics/Paint;->nSetUnderlineText(JZ)V
-Landroid/graphics/Paint;->nSetWordSpacing(JF)V
-Landroid/graphics/Paint;->nSetXfermode(JI)V
-Landroid/graphics/Paint;->sAlignArray:[Landroid/graphics/Paint$Align;
-Landroid/graphics/Paint;->sCacheLock:Ljava/lang/Object;
-Landroid/graphics/Paint;->sCapArray:[Landroid/graphics/Paint$Cap;
-Landroid/graphics/Paint;->setBidiFlags(I)V
-Landroid/graphics/Paint;->setClassVariablesFrom(Landroid/graphics/Paint;)V
-Landroid/graphics/Paint;->setWordSpacing(F)V
-Landroid/graphics/Paint;->sJoinArray:[Landroid/graphics/Paint$Join;
-Landroid/graphics/Paint;->sMinikinLocaleListIdCache:Ljava/util/HashMap;
-Landroid/graphics/Paint;->sStyleArray:[Landroid/graphics/Paint$Style;
-Landroid/graphics/Paint;->syncTextLocalesWithMinikin()V
-Landroid/graphics/Paint;->VERTICAL_TEXT_FLAG:I
-Landroid/graphics/PaintFlagsDrawFilter;->nativeConstructor(II)J
-Landroid/graphics/Path$Direction;-><init>(I)V
-Landroid/graphics/Path$Direction;->nativeInt:I
-Landroid/graphics/Path$FillType;-><init>(I)V
-Landroid/graphics/Path$FillType;->nativeInt:I
-Landroid/graphics/Path$Op;-><init>()V
-Landroid/graphics/Path;->detectSimplePath(FFFFLandroid/graphics/Path$Direction;)V
-Landroid/graphics/Path;->mLastDirection:Landroid/graphics/Path$Direction;
-Landroid/graphics/Path;->mNativePath:J
-Landroid/graphics/Path;->mutateNI()J
-Landroid/graphics/Path;->nAddArc(JFFFFFF)V
-Landroid/graphics/Path;->nAddCircle(JFFFI)V
-Landroid/graphics/Path;->nAddOval(JFFFFI)V
-Landroid/graphics/Path;->nAddPath(JJ)V
-Landroid/graphics/Path;->nAddPath(JJFF)V
-Landroid/graphics/Path;->nAddPath(JJJ)V
-Landroid/graphics/Path;->nAddRect(JFFFFI)V
-Landroid/graphics/Path;->nAddRoundRect(JFFFFFFI)V
-Landroid/graphics/Path;->nAddRoundRect(JFFFF[FI)V
-Landroid/graphics/Path;->nApproximate(JF)[F
-Landroid/graphics/Path;->nArcTo(JFFFFFFZ)V
-Landroid/graphics/Path;->nClose(J)V
-Landroid/graphics/Path;->nComputeBounds(JLandroid/graphics/RectF;)V
-Landroid/graphics/Path;->nCubicTo(JFFFFFF)V
-Landroid/graphics/Path;->nGetFillType(J)I
-Landroid/graphics/Path;->nGetFinalizer()J
-Landroid/graphics/Path;->nIncReserve(JI)V
-Landroid/graphics/Path;->nInit()J
-Landroid/graphics/Path;->nInit(J)J
-Landroid/graphics/Path;->nIsConvex(J)Z
-Landroid/graphics/Path;->nIsEmpty(J)Z
-Landroid/graphics/Path;->nIsRect(JLandroid/graphics/RectF;)Z
-Landroid/graphics/Path;->nLineTo(JFF)V
-Landroid/graphics/Path;->nMoveTo(JFF)V
-Landroid/graphics/Path;->nOffset(JFF)V
-Landroid/graphics/Path;->nOp(JJIJ)Z
-Landroid/graphics/Path;->nQuadTo(JFFFF)V
-Landroid/graphics/Path;->nRCubicTo(JFFFFFF)V
-Landroid/graphics/Path;->nReset(J)V
-Landroid/graphics/Path;->nRewind(J)V
-Landroid/graphics/Path;->nRLineTo(JFF)V
-Landroid/graphics/Path;->nRMoveTo(JFF)V
-Landroid/graphics/Path;->nRQuadTo(JFFFF)V
-Landroid/graphics/Path;->nSet(JJ)V
-Landroid/graphics/Path;->nSetFillType(JI)V
-Landroid/graphics/Path;->nSetLastPoint(JFF)V
-Landroid/graphics/Path;->nTransform(JJ)V
-Landroid/graphics/Path;->nTransform(JJJ)V
-Landroid/graphics/Path;->readOnlyNI()J
-Landroid/graphics/Path;->sFillTypeArray:[Landroid/graphics/Path$FillType;
-Landroid/graphics/Path;->sRegistry:Llibcore/util/NativeAllocationRegistry;
-Landroid/graphics/PathDashPathEffect$Style;-><init>(I)V
-Landroid/graphics/PathDashPathEffect$Style;->native_style:I
-Landroid/graphics/PathDashPathEffect;->nativeCreate(JFFI)J
-Landroid/graphics/PathEffect;->nativeDestructor(J)V
-Landroid/graphics/PathEffect;->native_instance:J
-Landroid/graphics/PathMeasure;->mPath:Landroid/graphics/Path;
-Landroid/graphics/PathMeasure;->native_create(JZ)J
-Landroid/graphics/PathMeasure;->native_destroy(J)V
-Landroid/graphics/PathMeasure;->native_getLength(J)F
-Landroid/graphics/PathMeasure;->native_getMatrix(JFJI)Z
-Landroid/graphics/PathMeasure;->native_getPosTan(JF[F[F)Z
-Landroid/graphics/PathMeasure;->native_getSegment(JFFJZ)Z
-Landroid/graphics/PathMeasure;->native_instance:J
-Landroid/graphics/PathMeasure;->native_isClosed(J)Z
-Landroid/graphics/PathMeasure;->native_nextContour(J)Z
-Landroid/graphics/PathMeasure;->native_setPath(JJZ)V
-Landroid/graphics/pdf/PdfDocument$Page;-><init>(Landroid/graphics/Canvas;Landroid/graphics/pdf/PdfDocument$PageInfo;)V
-Landroid/graphics/pdf/PdfDocument$Page;->finish()V
-Landroid/graphics/pdf/PdfDocument$Page;->isFinished()Z
-Landroid/graphics/pdf/PdfDocument$Page;->mCanvas:Landroid/graphics/Canvas;
-Landroid/graphics/pdf/PdfDocument$Page;->mPageInfo:Landroid/graphics/pdf/PdfDocument$PageInfo;
-Landroid/graphics/pdf/PdfDocument$PageInfo$Builder;->mPageInfo:Landroid/graphics/pdf/PdfDocument$PageInfo;
-Landroid/graphics/pdf/PdfDocument$PageInfo;-><init>()V
-Landroid/graphics/pdf/PdfDocument$PageInfo;->mContentRect:Landroid/graphics/Rect;
-Landroid/graphics/pdf/PdfDocument$PageInfo;->mPageHeight:I
-Landroid/graphics/pdf/PdfDocument$PageInfo;->mPageNumber:I
-Landroid/graphics/pdf/PdfDocument$PageInfo;->mPageWidth:I
-Landroid/graphics/pdf/PdfDocument$PdfCanvas;
-Landroid/graphics/pdf/PdfDocument$PdfCanvas;-><init>(J)V
-Landroid/graphics/pdf/PdfDocument;->dispose()V
-Landroid/graphics/pdf/PdfDocument;->mChunk:[B
-Landroid/graphics/pdf/PdfDocument;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/graphics/pdf/PdfDocument;->mCurrentPage:Landroid/graphics/pdf/PdfDocument$Page;
-Landroid/graphics/pdf/PdfDocument;->mNativeDocument:J
-Landroid/graphics/pdf/PdfDocument;->mPages:Ljava/util/List;
-Landroid/graphics/pdf/PdfDocument;->nativeClose(J)V
-Landroid/graphics/pdf/PdfDocument;->nativeCreateDocument()J
-Landroid/graphics/pdf/PdfDocument;->nativeFinishPage(J)V
-Landroid/graphics/pdf/PdfDocument;->nativeStartPage(JIIIIII)J
-Landroid/graphics/pdf/PdfDocument;->nativeWriteTo(JLjava/io/OutputStream;[B)V
-Landroid/graphics/pdf/PdfDocument;->throwIfClosed()V
-Landroid/graphics/pdf/PdfDocument;->throwIfCurrentPageNotFinished()V
-Landroid/graphics/pdf/PdfEditor;
-Landroid/graphics/pdf/PdfEditor;-><init>(Landroid/os/ParcelFileDescriptor;)V
-Landroid/graphics/pdf/PdfEditor;->close()V
-Landroid/graphics/pdf/PdfEditor;->doClose()V
-Landroid/graphics/pdf/PdfEditor;->getPageCount()I
-Landroid/graphics/pdf/PdfEditor;->getPageCropBox(ILandroid/graphics/Rect;)Z
-Landroid/graphics/pdf/PdfEditor;->getPageMediaBox(ILandroid/graphics/Rect;)Z
-Landroid/graphics/pdf/PdfEditor;->getPageSize(ILandroid/graphics/Point;)V
-Landroid/graphics/pdf/PdfEditor;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/graphics/pdf/PdfEditor;->mInput:Landroid/os/ParcelFileDescriptor;
-Landroid/graphics/pdf/PdfEditor;->mNativeDocument:J
-Landroid/graphics/pdf/PdfEditor;->mPageCount:I
-Landroid/graphics/pdf/PdfEditor;->nativeClose(J)V
-Landroid/graphics/pdf/PdfEditor;->nativeGetPageCount(J)I
-Landroid/graphics/pdf/PdfEditor;->nativeGetPageCropBox(JILandroid/graphics/Rect;)Z
-Landroid/graphics/pdf/PdfEditor;->nativeGetPageMediaBox(JILandroid/graphics/Rect;)Z
-Landroid/graphics/pdf/PdfEditor;->nativeGetPageSize(JILandroid/graphics/Point;)V
-Landroid/graphics/pdf/PdfEditor;->nativeOpen(IJ)J
-Landroid/graphics/pdf/PdfEditor;->nativeRemovePage(JI)I
-Landroid/graphics/pdf/PdfEditor;->nativeScaleForPrinting(J)Z
-Landroid/graphics/pdf/PdfEditor;->nativeSetPageCropBox(JILandroid/graphics/Rect;)V
-Landroid/graphics/pdf/PdfEditor;->nativeSetPageMediaBox(JILandroid/graphics/Rect;)V
-Landroid/graphics/pdf/PdfEditor;->nativeSetTransformAndClip(JIJIIII)V
-Landroid/graphics/pdf/PdfEditor;->nativeWrite(JI)V
-Landroid/graphics/pdf/PdfEditor;->removePage(I)V
-Landroid/graphics/pdf/PdfEditor;->setPageCropBox(ILandroid/graphics/Rect;)V
-Landroid/graphics/pdf/PdfEditor;->setPageMediaBox(ILandroid/graphics/Rect;)V
-Landroid/graphics/pdf/PdfEditor;->setTransformAndClip(ILandroid/graphics/Matrix;Landroid/graphics/Rect;)V
-Landroid/graphics/pdf/PdfEditor;->shouldScaleForPrinting()Z
-Landroid/graphics/pdf/PdfEditor;->throwIfClosed()V
-Landroid/graphics/pdf/PdfEditor;->throwIfCropBoxNull(Landroid/graphics/Rect;)V
-Landroid/graphics/pdf/PdfEditor;->throwIfMediaBoxNull(Landroid/graphics/Rect;)V
-Landroid/graphics/pdf/PdfEditor;->throwIfNotNullAndNotAfine(Landroid/graphics/Matrix;)V
-Landroid/graphics/pdf/PdfEditor;->throwIfOutCropBoxNull(Landroid/graphics/Rect;)V
-Landroid/graphics/pdf/PdfEditor;->throwIfOutMediaBoxNull(Landroid/graphics/Rect;)V
-Landroid/graphics/pdf/PdfEditor;->throwIfOutSizeNull(Landroid/graphics/Point;)V
-Landroid/graphics/pdf/PdfEditor;->throwIfPageNotInDocument(I)V
-Landroid/graphics/pdf/PdfEditor;->write(Landroid/os/ParcelFileDescriptor;)V
-Landroid/graphics/pdf/PdfRenderer$Page;-><init>(I)V
-Landroid/graphics/pdf/PdfRenderer$Page;->doClose()V
-Landroid/graphics/pdf/PdfRenderer$Page;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/graphics/pdf/PdfRenderer$Page;->mHeight:I
-Landroid/graphics/pdf/PdfRenderer$Page;->mIndex:I
-Landroid/graphics/pdf/PdfRenderer$Page;->mNativePage:J
-Landroid/graphics/pdf/PdfRenderer$Page;->mWidth:I
-Landroid/graphics/pdf/PdfRenderer$Page;->throwIfClosed()V
-Landroid/graphics/pdf/PdfRenderer$RenderMode;
-Landroid/graphics/pdf/PdfRenderer;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/graphics/pdf/PdfRenderer;->mInput:Landroid/os/ParcelFileDescriptor;
-Landroid/graphics/pdf/PdfRenderer;->mNativeDocument:J
-Landroid/graphics/pdf/PdfRenderer;->mPageCount:I
-Landroid/graphics/pdf/PdfRenderer;->mTempPoint:Landroid/graphics/Point;
-Landroid/graphics/pdf/PdfRenderer;->nativeClose(J)V
-Landroid/graphics/pdf/PdfRenderer;->nativeClosePage(J)V
-Landroid/graphics/pdf/PdfRenderer;->nativeCreate(IJ)J
-Landroid/graphics/pdf/PdfRenderer;->nativeGetPageCount(J)I
-Landroid/graphics/pdf/PdfRenderer;->nativeOpenPageAndGetSize(JILandroid/graphics/Point;)J
-Landroid/graphics/pdf/PdfRenderer;->nativeRenderPage(JJLandroid/graphics/Bitmap;IIIIJI)V
-Landroid/graphics/pdf/PdfRenderer;->nativeScaleForPrinting(J)Z
-Landroid/graphics/pdf/PdfRenderer;->sPdfiumLock:Ljava/lang/Object;
-Landroid/graphics/pdf/PdfRenderer;->throwIfClosed()V
-Landroid/graphics/pdf/PdfRenderer;->throwIfPageNotInDocument(I)V
-Landroid/graphics/pdf/PdfRenderer;->throwIfPageOpened()V
-Landroid/graphics/Picture$PictureCanvas;
-Landroid/graphics/Picture$PictureCanvas;-><init>(Landroid/graphics/Picture;J)V
-Landroid/graphics/Picture$PictureCanvas;->mHoldsHwBitmap:Z
-Landroid/graphics/Picture$PictureCanvas;->mPicture:Landroid/graphics/Picture;
-Landroid/graphics/Picture$PictureCanvas;->onHwBitmapInSwMode()V
-Landroid/graphics/Picture;-><init>(J)V
-Landroid/graphics/Picture;->mRecordingCanvas:Landroid/graphics/Picture$PictureCanvas;
-Landroid/graphics/Picture;->mRequiresHwAcceleration:Z
-Landroid/graphics/Picture;->nativeBeginRecording(JII)J
-Landroid/graphics/Picture;->nativeConstructor(J)J
-Landroid/graphics/Picture;->nativeCreateFromStream(Ljava/io/InputStream;[B)J
-Landroid/graphics/Picture;->nativeDestructor(J)V
-Landroid/graphics/Picture;->nativeDraw(JJ)V
-Landroid/graphics/Picture;->nativeEndRecording(J)V
-Landroid/graphics/Picture;->nativeGetHeight(J)I
-Landroid/graphics/Picture;->nativeGetWidth(J)I
-Landroid/graphics/Picture;->nativeWriteToStream(JLjava/io/OutputStream;[B)Z
-Landroid/graphics/Picture;->WORKING_STREAM_STORAGE:I
-Landroid/graphics/PixelFormat$Format;
-Landroid/graphics/PixelFormat$Opacity;
-Landroid/graphics/PixelFormat;->formatToString(I)Ljava/lang/String;
-Landroid/graphics/PixelFormat;->isPublicFormat(I)Z
-Landroid/graphics/PixelFormatProto;
-Landroid/graphics/PixelFormatProto;-><init>()V
-Landroid/graphics/PixelFormatProto;->OPAQUE:I
-Landroid/graphics/PixelFormatProto;->RGBA_1010102:I
-Landroid/graphics/PixelFormatProto;->RGBA_8888:I
-Landroid/graphics/PixelFormatProto;->RGBA_F16:I
-Landroid/graphics/PixelFormatProto;->RGBX_8888:I
-Landroid/graphics/PixelFormatProto;->RGB_565:I
-Landroid/graphics/PixelFormatProto;->RGB_888:I
-Landroid/graphics/PixelFormatProto;->TRANSLUCENT:I
-Landroid/graphics/PixelFormatProto;->TRANSPARENT:I
-Landroid/graphics/PixelFormatProto;->UNKNOWN:I
-Landroid/graphics/Point;->printShortString(Ljava/io/PrintWriter;)V
-Landroid/graphics/Point;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/graphics/PointProto;
-Landroid/graphics/PointProto;-><init>()V
-Landroid/graphics/PointProto;->X:J
-Landroid/graphics/PointProto;->Y:J
-Landroid/graphics/PorterDuff$Mode;-><init>(I)V
-Landroid/graphics/PorterDuff;->intToMode(I)Landroid/graphics/PorterDuff$Mode;
-Landroid/graphics/PorterDuff;->modeToInt(Landroid/graphics/PorterDuff$Mode;)I
-Landroid/graphics/PorterDuffColorFilter;->createNativeInstance()J
-Landroid/graphics/PorterDuffColorFilter;->mColor:I
-Landroid/graphics/PorterDuffColorFilter;->mMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/graphics/PorterDuffColorFilter;->native_CreatePorterDuffFilter(II)J
-Landroid/graphics/RadialGradient;->copy()Landroid/graphics/Shader;
-Landroid/graphics/RadialGradient;->createNativeInstance(J)J
-Landroid/graphics/RadialGradient;->mType:I
-Landroid/graphics/RadialGradient;->nativeCreate1(JFFF[I[FI)J
-Landroid/graphics/RadialGradient;->nativeCreate2(JFFFIII)J
-Landroid/graphics/RadialGradient;->TYPE_COLORS_AND_POSITIONS:I
-Landroid/graphics/RadialGradient;->TYPE_COLOR_CENTER_AND_COLOR_EDGE:I
-Landroid/graphics/Rect$UnflattenHelper;
-Landroid/graphics/Rect$UnflattenHelper;-><init>()V
-Landroid/graphics/Rect$UnflattenHelper;->FLATTENED_PATTERN:Ljava/util/regex/Pattern;
-Landroid/graphics/Rect$UnflattenHelper;->getMatcher(Ljava/lang/String;)Ljava/util/regex/Matcher;
-Landroid/graphics/Rect;->copyOrNull(Landroid/graphics/Rect;)Landroid/graphics/Rect;
-Landroid/graphics/Rect;->inset(IIII)V
-Landroid/graphics/Rect;->inset(Landroid/graphics/Rect;)V
-Landroid/graphics/Rect;->intersectUnchecked(Landroid/graphics/Rect;)V
-Landroid/graphics/Rect;->toShortString(Ljava/lang/StringBuilder;)Ljava/lang/String;
-Landroid/graphics/Rect;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/graphics/RectF;->printShortString(Ljava/io/PrintWriter;)V
-Landroid/graphics/RectF;->scale(F)V
-Landroid/graphics/RectF;->toShortString(Ljava/lang/StringBuilder;)Ljava/lang/String;
-Landroid/graphics/RectProto;
-Landroid/graphics/RectProto;-><init>()V
-Landroid/graphics/RectProto;->BOTTOM:J
-Landroid/graphics/RectProto;->LEFT:J
-Landroid/graphics/RectProto;->RIGHT:J
-Landroid/graphics/RectProto;->TOP:J
-Landroid/graphics/Region$Op;-><init>(I)V
-Landroid/graphics/Region;-><init>(J)V
-Landroid/graphics/Region;->MAX_POOL_SIZE:I
-Landroid/graphics/Region;->nativeConstructor()J
-Landroid/graphics/Region;->nativeCreateFromParcel(Landroid/os/Parcel;)J
-Landroid/graphics/Region;->nativeDestructor(J)V
-Landroid/graphics/Region;->nativeEquals(JJ)Z
-Landroid/graphics/Region;->nativeGetBoundaryPath(JJ)Z
-Landroid/graphics/Region;->nativeGetBounds(JLandroid/graphics/Rect;)Z
-Landroid/graphics/Region;->nativeOp(JIIIII)Z
-Landroid/graphics/Region;->nativeOp(JJJI)Z
-Landroid/graphics/Region;->nativeOp(JLandroid/graphics/Rect;JI)Z
-Landroid/graphics/Region;->nativeSetPath(JJJ)Z
-Landroid/graphics/Region;->nativeSetRect(JIIII)Z
-Landroid/graphics/Region;->nativeSetRegion(JJ)V
-Landroid/graphics/Region;->nativeToString(J)Ljava/lang/String;
-Landroid/graphics/Region;->nativeWriteToParcel(JLandroid/os/Parcel;)Z
-Landroid/graphics/Region;->ni()J
-Landroid/graphics/Region;->obtain()Landroid/graphics/Region;
-Landroid/graphics/Region;->obtain(Landroid/graphics/Region;)Landroid/graphics/Region;
-Landroid/graphics/Region;->scale(FLandroid/graphics/Region;)V
-Landroid/graphics/Region;->sPool:Landroid/util/Pools$SynchronizedPool;
-Landroid/graphics/RegionIterator;->mNativeIter:J
-Landroid/graphics/RegionIterator;->nativeConstructor(J)J
-Landroid/graphics/RegionIterator;->nativeDestructor(J)V
-Landroid/graphics/RegionIterator;->nativeNext(JLandroid/graphics/Rect;)Z
-Landroid/graphics/Shader$NoImagePreloadHolder;
-Landroid/graphics/Shader$NoImagePreloadHolder;-><init>()V
-Landroid/graphics/Shader$NoImagePreloadHolder;->sRegistry:Llibcore/util/NativeAllocationRegistry;
-Landroid/graphics/Shader$TileMode;-><init>(I)V
-Landroid/graphics/Shader;->copy()Landroid/graphics/Shader;
-Landroid/graphics/Shader;->copyLocalMatrix(Landroid/graphics/Shader;)V
-Landroid/graphics/Shader;->createNativeInstance(J)J
-Landroid/graphics/Shader;->discardNativeInstance()V
-Landroid/graphics/Shader;->getNativeInstance()J
-Landroid/graphics/Shader;->mCleaner:Ljava/lang/Runnable;
-Landroid/graphics/Shader;->mLocalMatrix:Landroid/graphics/Matrix;
-Landroid/graphics/Shader;->mNativeInstance:J
-Landroid/graphics/Shader;->nativeGetFinalizer()J
-Landroid/graphics/Shader;->verifyNativeInstance()V
-Landroid/graphics/SumPathEffect;->nativeCreate(JJ)J
-Landroid/graphics/SurfaceTexture;->isSingleBuffered()Z
-Landroid/graphics/SurfaceTexture;->mCreatorLooper:Landroid/os/Looper;
-Landroid/graphics/SurfaceTexture;->mIsSingleBuffered:Z
-Landroid/graphics/SurfaceTexture;->nativeAttachToGLContext(I)I
-Landroid/graphics/SurfaceTexture;->nativeFinalize()V
-Landroid/graphics/SurfaceTexture;->nativeGetTimestamp()J
-Landroid/graphics/SurfaceTexture;->nativeGetTransformMatrix([F)V
-Landroid/graphics/SurfaceTexture;->nativeInit(ZIZLjava/lang/ref/WeakReference;)V
-Landroid/graphics/SurfaceTexture;->nativeIsReleased()Z
-Landroid/graphics/SurfaceTexture;->nativeRelease()V
-Landroid/graphics/SurfaceTexture;->nativeReleaseTexImage()V
-Landroid/graphics/SurfaceTexture;->nativeSetDefaultBufferSize(II)V
-Landroid/graphics/SurfaceTexture;->nativeUpdateTexImage()V
-Landroid/graphics/SweepGradient;->copy()Landroid/graphics/Shader;
-Landroid/graphics/SweepGradient;->createNativeInstance(J)J
-Landroid/graphics/SweepGradient;->mType:I
-Landroid/graphics/SweepGradient;->nativeCreate1(JFF[I[F)J
-Landroid/graphics/SweepGradient;->nativeCreate2(JFFII)J
-Landroid/graphics/SweepGradient;->TYPE_COLORS_AND_POSITIONS:I
-Landroid/graphics/SweepGradient;->TYPE_COLOR_START_AND_COLOR_END:I
-Landroid/graphics/TableMaskFilter;
-Landroid/graphics/TableMaskFilter;-><init>(J)V
-Landroid/graphics/TableMaskFilter;-><init>([B)V
-Landroid/graphics/TableMaskFilter;->CreateGammaTable(F)Landroid/graphics/TableMaskFilter;
-Landroid/graphics/TableMaskFilter;->nativeNewClip(II)J
-Landroid/graphics/TableMaskFilter;->nativeNewGamma(F)J
-Landroid/graphics/TableMaskFilter;->nativeNewTable([B)J
-Landroid/graphics/TemporaryBuffer;
-Landroid/graphics/TemporaryBuffer;-><init>()V
-Landroid/graphics/TemporaryBuffer;->sTemp:[C
-Landroid/graphics/Typeface$Builder;-><init>([Landroid/provider/FontsContract$FontInfo;Ljava/util/Map;)V
-Landroid/graphics/Typeface$Builder;->BOLD_WEIGHT:I
-Landroid/graphics/Typeface$Builder;->createAssetUid(Landroid/content/res/AssetManager;Ljava/lang/String;I[Landroid/graphics/fonts/FontVariationAxis;IILjava/lang/String;)Ljava/lang/String;
-Landroid/graphics/Typeface$Builder;->mAssetManager:Landroid/content/res/AssetManager;
-Landroid/graphics/Typeface$Builder;->mAxes:[Landroid/graphics/fonts/FontVariationAxis;
-Landroid/graphics/Typeface$Builder;->mFallbackFamilyName:Ljava/lang/String;
-Landroid/graphics/Typeface$Builder;->mFd:Ljava/io/FileDescriptor;
-Landroid/graphics/Typeface$Builder;->mFontBuffers:Ljava/util/Map;
-Landroid/graphics/Typeface$Builder;->mFonts:[Landroid/provider/FontsContract$FontInfo;
-Landroid/graphics/Typeface$Builder;->mItalic:I
-Landroid/graphics/Typeface$Builder;->mPath:Ljava/lang/String;
-Landroid/graphics/Typeface$Builder;->mTtcIndex:I
-Landroid/graphics/Typeface$Builder;->mWeight:I
-Landroid/graphics/Typeface$Builder;->NORMAL_WEIGHT:I
-Landroid/graphics/Typeface$Builder;->resolveFallbackTypeface()Landroid/graphics/Typeface;
-Landroid/graphics/Typeface$Style;
-Landroid/graphics/Typeface;->buildSystemFallback(Ljava/lang/String;Ljava/lang/String;Landroid/util/ArrayMap;Landroid/util/ArrayMap;)V
-Landroid/graphics/Typeface;->createFontFamily(Ljava/lang/String;Ljava/util/List;[Ljava/lang/String;ILjava/util/Map;Ljava/lang/String;)Landroid/graphics/FontFamily;
-Landroid/graphics/Typeface;->createFromResources(Landroid/content/res/AssetManager;Ljava/lang/String;I)Landroid/graphics/Typeface;
-Landroid/graphics/Typeface;->createFromResources(Landroid/content/res/FontResourcesParser$FamilyResourceEntry;Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/graphics/Typeface;
-Landroid/graphics/Typeface;->createFromTypefaceWithVariation(Landroid/graphics/Typeface;Ljava/util/List;)Landroid/graphics/Typeface;
-Landroid/graphics/Typeface;->createProviderUid(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/graphics/Typeface;->createWeightStyle(Landroid/graphics/Typeface;IZ)Landroid/graphics/Typeface;
-Landroid/graphics/Typeface;->DEFAULT_FAMILY:Ljava/lang/String;
-Landroid/graphics/Typeface;->EMPTY_AXES:[I
-Landroid/graphics/Typeface;->findFromCache(Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/graphics/Typeface;
-Landroid/graphics/Typeface;->isSupportedAxes(I)Z
-Landroid/graphics/Typeface;->MAX_WEIGHT:I
-Landroid/graphics/Typeface;->mmap(Ljava/lang/String;)Ljava/nio/ByteBuffer;
-Landroid/graphics/Typeface;->mSupportedAxes:[I
-Landroid/graphics/Typeface;->mWeight:I
-Landroid/graphics/Typeface;->nativeCreateFromTypeface(JI)J
-Landroid/graphics/Typeface;->nativeCreateFromTypefaceWithExactStyle(JIZ)J
-Landroid/graphics/Typeface;->nativeCreateFromTypefaceWithVariation(JLjava/util/List;)J
-Landroid/graphics/Typeface;->nativeGetReleaseFunc()J
-Landroid/graphics/Typeface;->nativeGetStyle(J)I
-Landroid/graphics/Typeface;->nativeGetSupportedAxes(J)[I
-Landroid/graphics/Typeface;->nativeGetWeight(J)I
-Landroid/graphics/Typeface;->nativeSetDefault(J)V
-Landroid/graphics/Typeface;->pushFamilyToFallback(Landroid/text/FontConfig$Family;Landroid/util/ArrayMap;Ljava/util/Map;Ljava/lang/String;)V
-Landroid/graphics/Typeface;->RESOLVE_BY_FONT_TABLE:I
-Landroid/graphics/Typeface;->sDefaultTypeface:Landroid/graphics/Typeface;
-Landroid/graphics/Typeface;->sDynamicCacheLock:Ljava/lang/Object;
-Landroid/graphics/Typeface;->sDynamicTypefaceCache:Landroid/util/LruCache;
-Landroid/graphics/Typeface;->sRegistry:Llibcore/util/NativeAllocationRegistry;
-Landroid/graphics/Typeface;->sStyledCacheLock:Ljava/lang/Object;
-Landroid/graphics/Typeface;->sStyledTypefaceCache:Landroid/util/LongSparseArray;
-Landroid/graphics/Typeface;->STYLE_ITALIC:I
-Landroid/graphics/Typeface;->STYLE_MASK:I
-Landroid/graphics/Typeface;->STYLE_NORMAL:I
-Landroid/graphics/Typeface;->sWeightCacheLock:Ljava/lang/Object;
-Landroid/graphics/Typeface;->sWeightTypefaceCache:Landroid/util/LongSparseArray;
-Landroid/graphics/Typeface;->TAG:Ljava/lang/String;
-Landroid/graphics/Xfermode;->DEFAULT:I
-Landroid/graphics/YuvImage;->adjustRectangle(Landroid/graphics/Rect;)V
-Landroid/graphics/YuvImage;->calculateOffsets(II)[I
-Landroid/graphics/YuvImage;->calculateStrides(II)[I
-Landroid/graphics/YuvImage;->mData:[B
-Landroid/graphics/YuvImage;->mFormat:I
-Landroid/graphics/YuvImage;->mHeight:I
-Landroid/graphics/YuvImage;->mStrides:[I
-Landroid/graphics/YuvImage;->mWidth:I
-Landroid/graphics/YuvImage;->nativeCompressToJpeg([BIII[I[IILjava/io/OutputStream;[B)Z
-Landroid/graphics/YuvImage;->WORKING_COMPRESS_STORAGE:I
-Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;
-Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;-><init>()V
-Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;->onAuthenticationAcquired(I)V
-Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;->onAuthenticationError(ILjava/lang/CharSequence;)V
-Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;->onAuthenticationFailed()V
-Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;->onAuthenticationHelp(ILjava/lang/CharSequence;)V
-Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;->onAuthenticationSucceeded(Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationResult;)V
-Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationResult;
-Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationResult;-><init>()V
-Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationResult;-><init>(Landroid/hardware/biometrics/CryptoObject;Landroid/hardware/biometrics/BiometricAuthenticator$BiometricIdentifier;I)V
-Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationResult;->getCryptoObject()Landroid/hardware/biometrics/CryptoObject;
-Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationResult;->getId()Landroid/hardware/biometrics/BiometricAuthenticator$BiometricIdentifier;
-Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationResult;->getUserId()I
-Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationResult;->mCryptoObject:Landroid/hardware/biometrics/CryptoObject;
-Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationResult;->mIdentifier:Landroid/hardware/biometrics/BiometricAuthenticator$BiometricIdentifier;
-Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationResult;->mUserId:I
-Landroid/hardware/biometrics/BiometricAuthenticator$BiometricIdentifier;
-Landroid/hardware/biometrics/BiometricAuthenticator$BiometricIdentifier;-><init>()V
-Landroid/hardware/biometrics/BiometricAuthenticator;
-Landroid/hardware/biometrics/BiometricAuthenticator;->authenticate(Landroid/hardware/biometrics/CryptoObject;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;)V
-Landroid/hardware/biometrics/BiometricAuthenticator;->authenticate(Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;)V
-Landroid/hardware/biometrics/BiometricConstants;
-Landroid/hardware/biometrics/BiometricConstants;->BIOMETRICT_ACQUIRED_VENDOR_BASE:I
-Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ACQUIRED_VENDOR:I
-Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_UNABLE_TO_REMOVE:I
-Landroid/hardware/biometrics/BiometricFingerprintConstants;
-Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ACQUIRED_VENDOR:I
-Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ACQUIRED_VENDOR_BASE:I
-Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_UNABLE_TO_REMOVE:I
-Landroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;->onAuthenticationAcquired(I)V
-Landroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;->onAuthenticationSucceeded(Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationResult;)V
-Landroid/hardware/biometrics/BiometricPrompt$AuthenticationResult;-><init>(Landroid/hardware/biometrics/BiometricPrompt$CryptoObject;Landroid/hardware/biometrics/BiometricAuthenticator$BiometricIdentifier;I)V
-Landroid/hardware/biometrics/BiometricPrompt$Builder;->mBundle:Landroid/os/Bundle;
-Landroid/hardware/biometrics/BiometricPrompt$Builder;->mContext:Landroid/content/Context;
-Landroid/hardware/biometrics/BiometricPrompt$Builder;->mNegativeButtonInfo:Landroid/hardware/biometrics/BiometricPrompt$ButtonInfo;
-Landroid/hardware/biometrics/BiometricPrompt$Builder;->mPositiveButtonInfo:Landroid/hardware/biometrics/BiometricPrompt$ButtonInfo;
-Landroid/hardware/biometrics/BiometricPrompt$Builder;->setPositiveButton(Ljava/lang/CharSequence;Ljava/util/concurrent/Executor;Landroid/content/DialogInterface$OnClickListener;)Landroid/hardware/biometrics/BiometricPrompt$Builder;
-Landroid/hardware/biometrics/BiometricPrompt$ButtonInfo;
-Landroid/hardware/biometrics/BiometricPrompt$ButtonInfo;-><init>(Ljava/util/concurrent/Executor;Landroid/content/DialogInterface$OnClickListener;)V
-Landroid/hardware/biometrics/BiometricPrompt$ButtonInfo;->executor:Ljava/util/concurrent/Executor;
-Landroid/hardware/biometrics/BiometricPrompt$ButtonInfo;->listener:Landroid/content/DialogInterface$OnClickListener;
-Landroid/hardware/biometrics/BiometricPrompt;-><init>(Landroid/content/Context;Landroid/os/Bundle;Landroid/hardware/biometrics/BiometricPrompt$ButtonInfo;Landroid/hardware/biometrics/BiometricPrompt$ButtonInfo;)V
-Landroid/hardware/biometrics/BiometricPrompt;->authenticate(Landroid/hardware/biometrics/CryptoObject;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;)V
-Landroid/hardware/biometrics/BiometricPrompt;->authenticate(Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;)V
-Landroid/hardware/biometrics/BiometricPrompt;->DISMISSED_REASON_NEGATIVE:I
-Landroid/hardware/biometrics/BiometricPrompt;->DISMISSED_REASON_POSITIVE:I
-Landroid/hardware/biometrics/BiometricPrompt;->DISMISSED_REASON_USER_CANCEL:I
-Landroid/hardware/biometrics/BiometricPrompt;->handlePreAuthenticationErrors(Landroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;Ljava/util/concurrent/Executor;)Z
-Landroid/hardware/biometrics/BiometricPrompt;->HIDE_DIALOG_DELAY:I
-Landroid/hardware/biometrics/BiometricPrompt;->KEY_DESCRIPTION:Ljava/lang/String;
-Landroid/hardware/biometrics/BiometricPrompt;->KEY_NEGATIVE_TEXT:Ljava/lang/String;
-Landroid/hardware/biometrics/BiometricPrompt;->KEY_POSITIVE_TEXT:Ljava/lang/String;
-Landroid/hardware/biometrics/BiometricPrompt;->KEY_SUBTITLE:Ljava/lang/String;
-Landroid/hardware/biometrics/BiometricPrompt;->KEY_TITLE:Ljava/lang/String;
-Landroid/hardware/biometrics/BiometricPrompt;->mBundle:Landroid/os/Bundle;
-Landroid/hardware/biometrics/BiometricPrompt;->mDialogReceiver:Landroid/hardware/biometrics/IBiometricPromptReceiver;
-Landroid/hardware/biometrics/BiometricPrompt;->mFingerprintManager:Landroid/hardware/fingerprint/FingerprintManager;
-Landroid/hardware/biometrics/BiometricPrompt;->mNegativeButtonInfo:Landroid/hardware/biometrics/BiometricPrompt$ButtonInfo;
-Landroid/hardware/biometrics/BiometricPrompt;->mPackageManager:Landroid/content/pm/PackageManager;
-Landroid/hardware/biometrics/BiometricPrompt;->mPositiveButtonInfo:Landroid/hardware/biometrics/BiometricPrompt$ButtonInfo;
-Landroid/hardware/biometrics/BiometricPrompt;->sendError(ILandroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;Ljava/util/concurrent/Executor;)V
-Landroid/hardware/biometrics/CryptoObject;
-Landroid/hardware/biometrics/CryptoObject;-><init>(Ljava/security/Signature;)V
-Landroid/hardware/biometrics/CryptoObject;-><init>(Ljavax/crypto/Cipher;)V
-Landroid/hardware/biometrics/CryptoObject;-><init>(Ljavax/crypto/Mac;)V
-Landroid/hardware/biometrics/CryptoObject;->getCipher()Ljavax/crypto/Cipher;
-Landroid/hardware/biometrics/CryptoObject;->getMac()Ljavax/crypto/Mac;
-Landroid/hardware/biometrics/CryptoObject;->getOpId()J
-Landroid/hardware/biometrics/CryptoObject;->getSignature()Ljava/security/Signature;
-Landroid/hardware/biometrics/CryptoObject;->mCrypto:Ljava/lang/Object;
-Landroid/hardware/biometrics/IBiometricPromptReceiver$Stub$Proxy;
-Landroid/hardware/biometrics/IBiometricPromptReceiver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/biometrics/IBiometricPromptReceiver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/biometrics/IBiometricPromptReceiver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/biometrics/IBiometricPromptReceiver$Stub$Proxy;->onDialogDismissed(I)V
-Landroid/hardware/biometrics/IBiometricPromptReceiver$Stub;
-Landroid/hardware/biometrics/IBiometricPromptReceiver$Stub;-><init>()V
-Landroid/hardware/biometrics/IBiometricPromptReceiver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/biometrics/IBiometricPromptReceiver;
-Landroid/hardware/biometrics/IBiometricPromptReceiver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/biometrics/IBiometricPromptReceiver$Stub;->TRANSACTION_onDialogDismissed:I
-Landroid/hardware/biometrics/IBiometricPromptReceiver;
-Landroid/hardware/biometrics/IBiometricPromptReceiver;->onDialogDismissed(I)V
-Landroid/hardware/Camera$EventHandler;
-Landroid/hardware/Camera$EventHandler;-><init>(Landroid/hardware/Camera;Landroid/os/Looper;)V
-Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
-Landroid/hardware/Camera$IAppOpsCallbackWrapper;
-Landroid/hardware/Camera$IAppOpsCallbackWrapper;-><init>(Landroid/hardware/Camera;)V
-Landroid/hardware/Camera$IAppOpsCallbackWrapper;->mWeakCamera:Ljava/lang/ref/WeakReference;
-Landroid/hardware/Camera$IAppOpsCallbackWrapper;->opChanged(IILjava/lang/String;)V
-Landroid/hardware/Camera$Parameters;-><init>()V
-Landroid/hardware/Camera$Parameters;->cameraFormatForPixelFormat(I)Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->FALSE:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->getFloat(Ljava/lang/String;F)F
-Landroid/hardware/Camera$Parameters;->getInt(Ljava/lang/String;I)I
-Landroid/hardware/Camera$Parameters;->getOuter()Landroid/hardware/Camera;
-Landroid/hardware/Camera$Parameters;->KEY_ANTIBANDING:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_AUTO_EXPOSURE_LOCK:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_AUTO_EXPOSURE_LOCK_SUPPORTED:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_AUTO_WHITEBALANCE_LOCK:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_AUTO_WHITEBALANCE_LOCK_SUPPORTED:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_EFFECT:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_EXPOSURE_COMPENSATION:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_EXPOSURE_COMPENSATION_STEP:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_FLASH_MODE:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_FOCAL_LENGTH:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_FOCUS_AREAS:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_FOCUS_DISTANCES:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_FOCUS_MODE:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_GPS_ALTITUDE:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_GPS_LATITUDE:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_GPS_LONGITUDE:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_GPS_PROCESSING_METHOD:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_GPS_TIMESTAMP:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_HORIZONTAL_VIEW_ANGLE:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_JPEG_QUALITY:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_JPEG_THUMBNAIL_HEIGHT:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_JPEG_THUMBNAIL_QUALITY:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_JPEG_THUMBNAIL_SIZE:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_JPEG_THUMBNAIL_WIDTH:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_MAX_EXPOSURE_COMPENSATION:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_MAX_NUM_DETECTED_FACES_HW:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_MAX_NUM_DETECTED_FACES_SW:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_MAX_NUM_FOCUS_AREAS:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_MAX_NUM_METERING_AREAS:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_MAX_ZOOM:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_METERING_AREAS:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_MIN_EXPOSURE_COMPENSATION:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_PICTURE_FORMAT:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_PICTURE_SIZE:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_PREFERRED_PREVIEW_SIZE_FOR_VIDEO:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_PREVIEW_FORMAT:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_PREVIEW_FPS_RANGE:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_PREVIEW_FRAME_RATE:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_PREVIEW_SIZE:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_RECORDING_HINT:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_ROTATION:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_SCENE_MODE:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_SMOOTH_ZOOM_SUPPORTED:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_VERTICAL_VIEW_ANGLE:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_VIDEO_SIZE:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_VIDEO_SNAPSHOT_SUPPORTED:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_VIDEO_STABILIZATION:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_VIDEO_STABILIZATION_SUPPORTED:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_WHITE_BALANCE:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_ZOOM:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_ZOOM_RATIOS:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->KEY_ZOOM_SUPPORTED:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->mMap:Ljava/util/LinkedHashMap;
-Landroid/hardware/Camera$Parameters;->pixelFormatForCameraFormat(Ljava/lang/String;)I
-Landroid/hardware/Camera$Parameters;->PIXEL_FORMAT_BAYER_RGGB:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->PIXEL_FORMAT_JPEG:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->PIXEL_FORMAT_RGB565:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->PIXEL_FORMAT_YUV420P:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->PIXEL_FORMAT_YUV420SP:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->PIXEL_FORMAT_YUV422I:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->PIXEL_FORMAT_YUV422SP:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->put(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/hardware/Camera$Parameters;->same(Landroid/hardware/Camera$Parameters;)Z
-Landroid/hardware/Camera$Parameters;->same(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/hardware/Camera$Parameters;->set(Ljava/lang/String;Ljava/util/List;)V
-Landroid/hardware/Camera$Parameters;->split(Ljava/lang/String;)Ljava/util/ArrayList;
-Landroid/hardware/Camera$Parameters;->splitFloat(Ljava/lang/String;[F)V
-Landroid/hardware/Camera$Parameters;->splitInt(Ljava/lang/String;)Ljava/util/ArrayList;
-Landroid/hardware/Camera$Parameters;->splitInt(Ljava/lang/String;[I)V
-Landroid/hardware/Camera$Parameters;->splitRange(Ljava/lang/String;)Ljava/util/ArrayList;
-Landroid/hardware/Camera$Parameters;->splitSize(Ljava/lang/String;)Ljava/util/ArrayList;
-Landroid/hardware/Camera$Parameters;->strToSize(Ljava/lang/String;)Landroid/hardware/Camera$Size;
-Landroid/hardware/Camera$Parameters;->SUPPORTED_VALUES_SUFFIX:Ljava/lang/String;
-Landroid/hardware/Camera$Parameters;->TRUE:Ljava/lang/String;
-Landroid/hardware/camera2/CameraAccessException$AccessError;
-Landroid/hardware/camera2/CameraAccessException;->CAMERA_DEPRECATED_HAL:I
-Landroid/hardware/camera2/CameraAccessException;->getCombinedMessage(ILjava/lang/String;)Ljava/lang/String;
-Landroid/hardware/camera2/CameraAccessException;->getDefaultMessage(I)Ljava/lang/String;
-Landroid/hardware/camera2/CameraAccessException;->getProblemString(I)Ljava/lang/String;
-Landroid/hardware/camera2/CameraAccessException;->mReason:I
-Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;->NO_FRAMES_CAPTURED:I
-Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;->onCapturePartial(Landroid/hardware/camera2/CameraCaptureSession;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CaptureResult;)V
-Landroid/hardware/camera2/CameraCaptureSession;->prepare(ILandroid/view/Surface;)V
-Landroid/hardware/camera2/CameraCaptureSession;->SESSION_ID_NONE:I
-Landroid/hardware/camera2/CameraCaptureSession;->tearDown(Landroid/view/Surface;)V
-Landroid/hardware/camera2/CameraCharacteristics$Key;-><init>(Landroid/hardware/camera2/impl/CameraMetadataNative$Key;)V
-Landroid/hardware/camera2/CameraCharacteristics$Key;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)V
-Landroid/hardware/camera2/CameraCharacteristics$Key;->getVendorId()J
-Landroid/hardware/camera2/CameraCharacteristics$Key;->mKey:Landroid/hardware/camera2/impl/CameraMetadataNative$Key;
-Landroid/hardware/camera2/CameraCharacteristics;-><init>(Landroid/hardware/camera2/impl/CameraMetadataNative;)V
-Landroid/hardware/camera2/CameraCharacteristics;->getAvailableKeyList(Ljava/lang/Class;Ljava/lang/Class;[I)Ljava/util/List;
-Landroid/hardware/camera2/CameraCharacteristics;->getKeyClass()Ljava/lang/Class;
-Landroid/hardware/camera2/CameraCharacteristics;->getNativeCopy()Landroid/hardware/camera2/impl/CameraMetadataNative;
-Landroid/hardware/camera2/CameraCharacteristics;->getProtected(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
-Landroid/hardware/camera2/CameraCharacteristics;->mAvailablePhysicalRequestKeys:Ljava/util/List;
-Landroid/hardware/camera2/CameraCharacteristics;->mAvailableRequestKeys:Ljava/util/List;
-Landroid/hardware/camera2/CameraCharacteristics;->mAvailableResultKeys:Ljava/util/List;
-Landroid/hardware/camera2/CameraCharacteristics;->mAvailableSessionKeys:Ljava/util/List;
-Landroid/hardware/camera2/CameraCharacteristics;->mKeys:Ljava/util/List;
-Landroid/hardware/camera2/CameraDevice$RequestTemplate;
-Landroid/hardware/camera2/CameraDevice$SessionOperatingMode;
-Landroid/hardware/camera2/CameraDevice$StateCallback$ErrorCode;
-Landroid/hardware/camera2/CameraDevice;-><init>()V
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;-><init>()V
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->CAMERA_SERVICE_BINDER_NAME:Ljava/lang/String;
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->CAMERA_SERVICE_RECONNECT_DELAY_MS:I
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->connectCameraServiceLocked()V
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->DEBUG:Z
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->gCameraManager:Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->get()Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->getCameraIdList()[Ljava/lang/String;
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->getCameraService()Landroid/hardware/ICameraService;
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->handleRecoverableSetupErrors(Landroid/os/ServiceSpecificException;)V
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->isAvailable(I)Z
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->mCallbackMap:Landroid/util/ArrayMap;
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->mCameraService:Landroid/hardware/ICameraService;
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->mDeviceStatus:Landroid/util/ArrayMap;
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->mLock:Ljava/lang/Object;
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->mScheduler:Ljava/util/concurrent/ScheduledExecutorService;
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->mTorchCallbackMap:Landroid/util/ArrayMap;
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->mTorchClientBinder:Landroid/os/Binder;
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->mTorchStatus:Landroid/util/ArrayMap;
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onStatusChanged(ILjava/lang/String;)V
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onStatusChangedLocked(ILjava/lang/String;)V
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onTorchStatusChanged(ILjava/lang/String;)V
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onTorchStatusChangedLocked(ILjava/lang/String;)V
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->postSingleTorchUpdate(Landroid/hardware/camera2/CameraManager$TorchCallback;Ljava/util/concurrent/Executor;Ljava/lang/String;I)V
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->postSingleUpdate(Landroid/hardware/camera2/CameraManager$AvailabilityCallback;Ljava/util/concurrent/Executor;Ljava/lang/String;I)V
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->registerAvailabilityCallback(Landroid/hardware/camera2/CameraManager$AvailabilityCallback;Ljava/util/concurrent/Executor;)V
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->registerTorchCallback(Landroid/hardware/camera2/CameraManager$TorchCallback;Ljava/util/concurrent/Executor;)V
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->sCameraServiceDisabled:Z
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->scheduleCameraServiceReconnectionLocked()V
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->setTorchMode(Ljava/lang/String;Z)V
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->TAG:Ljava/lang/String;
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->unregisterAvailabilityCallback(Landroid/hardware/camera2/CameraManager$AvailabilityCallback;)V
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->unregisterTorchCallback(Landroid/hardware/camera2/CameraManager$TorchCallback;)V
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->updateCallbackLocked(Landroid/hardware/camera2/CameraManager$AvailabilityCallback;Ljava/util/concurrent/Executor;)V
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->updateTorchCallbackLocked(Landroid/hardware/camera2/CameraManager$TorchCallback;Ljava/util/concurrent/Executor;)V
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->validStatus(I)Z
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;->validTorchStatus(I)Z
-Landroid/hardware/camera2/CameraManager;-><init>(Landroid/content/Context;)V
-Landroid/hardware/camera2/CameraManager;->API_VERSION_1:I
-Landroid/hardware/camera2/CameraManager;->API_VERSION_2:I
-Landroid/hardware/camera2/CameraManager;->CAMERA_TYPE_ALL:I
-Landroid/hardware/camera2/CameraManager;->CAMERA_TYPE_BACKWARD_COMPATIBLE:I
-Landroid/hardware/camera2/CameraManager;->DEBUG:Z
-Landroid/hardware/camera2/CameraManager;->mContext:Landroid/content/Context;
-Landroid/hardware/camera2/CameraManager;->mDeviceIdList:Ljava/util/ArrayList;
-Landroid/hardware/camera2/CameraManager;->mLock:Ljava/lang/Object;
-Landroid/hardware/camera2/CameraManager;->openCameraDeviceUserAsync(Ljava/lang/String;Landroid/hardware/camera2/CameraDevice$StateCallback;Ljava/util/concurrent/Executor;I)Landroid/hardware/camera2/CameraDevice;
-Landroid/hardware/camera2/CameraManager;->openCameraForUid(Ljava/lang/String;Landroid/hardware/camera2/CameraDevice$StateCallback;Ljava/util/concurrent/Executor;I)V
-Landroid/hardware/camera2/CameraManager;->supportsCamera2ApiLocked(Ljava/lang/String;)Z
-Landroid/hardware/camera2/CameraManager;->supportsCameraApiLocked(Ljava/lang/String;I)Z
-Landroid/hardware/camera2/CameraManager;->TAG:Ljava/lang/String;
-Landroid/hardware/camera2/CameraManager;->throwAsPublicException(Ljava/lang/Throwable;)V
-Landroid/hardware/camera2/CameraManager;->USE_CALLING_UID:I
-Landroid/hardware/camera2/CameraMetadata;-><init>()V
-Landroid/hardware/camera2/CameraMetadata;->CONTROL_SCENE_MODE_DEVICE_CUSTOM_END:I
-Landroid/hardware/camera2/CameraMetadata;->CONTROL_SCENE_MODE_DEVICE_CUSTOM_START:I
-Landroid/hardware/camera2/CameraMetadata;->CONTROL_SCENE_MODE_FACE_PRIORITY_LOW_LIGHT:I
-Landroid/hardware/camera2/CameraMetadata;->DEBUG:Z
-Landroid/hardware/camera2/CameraMetadata;->getKeyClass()Ljava/lang/Class;
-Landroid/hardware/camera2/CameraMetadata;->getKeys(Ljava/lang/Class;Ljava/lang/Class;Landroid/hardware/camera2/CameraMetadata;[I)Ljava/util/ArrayList;
-Landroid/hardware/camera2/CameraMetadata;->getProtected(Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/hardware/camera2/CameraMetadata;->LED_AVAILABLE_LEDS_TRANSMIT:I
-Landroid/hardware/camera2/CameraMetadata;->mNativeInstance:Landroid/hardware/camera2/impl/CameraMetadataNative;
-Landroid/hardware/camera2/CameraMetadata;->setNativeInstance(Landroid/hardware/camera2/impl/CameraMetadataNative;)V
-Landroid/hardware/camera2/CameraMetadata;->shouldKeyBeAdded(Ljava/lang/Object;Ljava/lang/reflect/Field;[I)Z
-Landroid/hardware/camera2/CameraMetadata;->SYNC_FRAME_NUMBER_CONVERGING:I
-Landroid/hardware/camera2/CameraMetadata;->SYNC_FRAME_NUMBER_UNKNOWN:I
-Landroid/hardware/camera2/CameraMetadata;->TAG:Ljava/lang/String;
-Landroid/hardware/camera2/CaptureFailure$FailureReason;
-Landroid/hardware/camera2/CaptureFailure;-><init>(Landroid/hardware/camera2/CaptureRequest;IZIJ)V
-Landroid/hardware/camera2/CaptureFailure;->mDropped:Z
-Landroid/hardware/camera2/CaptureFailure;->mFrameNumber:J
-Landroid/hardware/camera2/CaptureFailure;->mReason:I
-Landroid/hardware/camera2/CaptureFailure;->mRequest:Landroid/hardware/camera2/CaptureRequest;
-Landroid/hardware/camera2/CaptureFailure;->mSequenceId:I
-Landroid/hardware/camera2/CaptureRequest$Builder;-><init>(Landroid/hardware/camera2/impl/CameraMetadataNative;ZILjava/lang/String;Ljava/util/Set;)V
-Landroid/hardware/camera2/CaptureRequest$Builder;->isEmpty()Z
-Landroid/hardware/camera2/CaptureRequest$Builder;->mRequest:Landroid/hardware/camera2/CaptureRequest;
-Landroid/hardware/camera2/CaptureRequest$Key;-><init>(Landroid/hardware/camera2/impl/CameraMetadataNative$Key;)V
-Landroid/hardware/camera2/CaptureRequest$Key;->getVendorId()J
-Landroid/hardware/camera2/CaptureRequest$Key;->mKey:Landroid/hardware/camera2/impl/CameraMetadataNative$Key;
-Landroid/hardware/camera2/CaptureRequest;-><init>()V
-Landroid/hardware/camera2/CaptureRequest;-><init>(Landroid/hardware/camera2/CaptureRequest;)V
-Landroid/hardware/camera2/CaptureRequest;-><init>(Landroid/hardware/camera2/impl/CameraMetadataNative;ZILjava/lang/String;Ljava/util/Set;)V
-Landroid/hardware/camera2/CaptureRequest;->containsTarget(Landroid/view/Surface;)Z
-Landroid/hardware/camera2/CaptureRequest;->convertSurfaceToStreamId(Landroid/util/SparseArray;)V
-Landroid/hardware/camera2/CaptureRequest;->equals(Landroid/hardware/camera2/CaptureRequest;)Z
-Landroid/hardware/camera2/CaptureRequest;->getKeyClass()Ljava/lang/Class;
-Landroid/hardware/camera2/CaptureRequest;->getLogicalCameraId()Ljava/lang/String;
-Landroid/hardware/camera2/CaptureRequest;->getNativeCopy()Landroid/hardware/camera2/impl/CameraMetadataNative;
-Landroid/hardware/camera2/CaptureRequest;->getProtected(Landroid/hardware/camera2/CaptureRequest$Key;)Ljava/lang/Object;
-Landroid/hardware/camera2/CaptureRequest;->getReprocessableSessionId()I
-Landroid/hardware/camera2/CaptureRequest;->isPartOfCRequestList()Z
-Landroid/hardware/camera2/CaptureRequest;->mEmptySurfaceSet:Landroid/util/ArraySet;
-Landroid/hardware/camera2/CaptureRequest;->mIsPartOfCHSRequestList:Z
-Landroid/hardware/camera2/CaptureRequest;->mIsReprocess:Z
-Landroid/hardware/camera2/CaptureRequest;->mLogicalCameraId:Ljava/lang/String;
-Landroid/hardware/camera2/CaptureRequest;->mPhysicalCameraSettings:Ljava/util/HashMap;
-Landroid/hardware/camera2/CaptureRequest;->mReprocessableSessionId:I
-Landroid/hardware/camera2/CaptureRequest;->mStreamIdxArray:[I
-Landroid/hardware/camera2/CaptureRequest;->mSurfaceConverted:Z
-Landroid/hardware/camera2/CaptureRequest;->mSurfaceIdxArray:[I
-Landroid/hardware/camera2/CaptureRequest;->mSurfaceSet:Landroid/util/ArraySet;
-Landroid/hardware/camera2/CaptureRequest;->mSurfacesLock:Ljava/lang/Object;
-Landroid/hardware/camera2/CaptureRequest;->mUserTag:Ljava/lang/Object;
-Landroid/hardware/camera2/CaptureRequest;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/hardware/camera2/CaptureRequest;->recoverStreamIdToSurface()V
-Landroid/hardware/camera2/CaptureRequest;->TAG:Ljava/lang/String;
-Landroid/hardware/camera2/CaptureResult$Key;-><init>(Landroid/hardware/camera2/impl/CameraMetadataNative$Key;)V
-Landroid/hardware/camera2/CaptureResult$Key;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)V
-Landroid/hardware/camera2/CaptureResult$Key;->getVendorId()J
-Landroid/hardware/camera2/CaptureResult$Key;->mKey:Landroid/hardware/camera2/impl/CameraMetadataNative$Key;
-Landroid/hardware/camera2/CaptureResult;-><init>(Landroid/hardware/camera2/impl/CameraMetadataNative;I)V
-Landroid/hardware/camera2/CaptureResult;-><init>(Landroid/hardware/camera2/impl/CameraMetadataNative;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/impl/CaptureResultExtras;)V
-Landroid/hardware/camera2/CaptureResult;->dumpToLog()V
-Landroid/hardware/camera2/CaptureResult;->getKeyClass()Ljava/lang/Class;
-Landroid/hardware/camera2/CaptureResult;->getNativeCopy()Landroid/hardware/camera2/impl/CameraMetadataNative;
-Landroid/hardware/camera2/CaptureResult;->getProtected(Landroid/hardware/camera2/CaptureResult$Key;)Ljava/lang/Object;
-Landroid/hardware/camera2/CaptureResult;->mFrameNumber:J
-Landroid/hardware/camera2/CaptureResult;->mRequest:Landroid/hardware/camera2/CaptureRequest;
-Landroid/hardware/camera2/CaptureResult;->mSequenceId:I
-Landroid/hardware/camera2/CaptureResult;->TAG:Ljava/lang/String;
-Landroid/hardware/camera2/CaptureResult;->VERBOSE:Z
-Landroid/hardware/camera2/DngCreator;->BYTES_PER_RGB_PIX:I
-Landroid/hardware/camera2/DngCreator;->colorToRgb(II[B)V
-Landroid/hardware/camera2/DngCreator;->convertToRGB(Landroid/graphics/Bitmap;)Ljava/nio/ByteBuffer;
-Landroid/hardware/camera2/DngCreator;->convertToRGB(Landroid/media/Image;)Ljava/nio/ByteBuffer;
-Landroid/hardware/camera2/DngCreator;->DEFAULT_PIXEL_STRIDE:I
-Landroid/hardware/camera2/DngCreator;->GPS_DATE_FORMAT_STR:Ljava/lang/String;
-Landroid/hardware/camera2/DngCreator;->GPS_LAT_REF_NORTH:Ljava/lang/String;
-Landroid/hardware/camera2/DngCreator;->GPS_LAT_REF_SOUTH:Ljava/lang/String;
-Landroid/hardware/camera2/DngCreator;->GPS_LONG_REF_EAST:Ljava/lang/String;
-Landroid/hardware/camera2/DngCreator;->GPS_LONG_REF_WEST:Ljava/lang/String;
-Landroid/hardware/camera2/DngCreator;->mGPSTimeStampCalendar:Ljava/util/Calendar;
-Landroid/hardware/camera2/DngCreator;->mNativeContext:J
-Landroid/hardware/camera2/DngCreator;->nativeClassInit()V
-Landroid/hardware/camera2/DngCreator;->nativeDestroy()V
-Landroid/hardware/camera2/DngCreator;->nativeInit(Landroid/hardware/camera2/impl/CameraMetadataNative;Landroid/hardware/camera2/impl/CameraMetadataNative;Ljava/lang/String;)V
-Landroid/hardware/camera2/DngCreator;->nativeSetDescription(Ljava/lang/String;)V
-Landroid/hardware/camera2/DngCreator;->nativeSetGpsTags([ILjava/lang/String;[ILjava/lang/String;Ljava/lang/String;[I)V
-Landroid/hardware/camera2/DngCreator;->nativeSetOrientation(I)V
-Landroid/hardware/camera2/DngCreator;->nativeSetThumbnail(Ljava/nio/ByteBuffer;II)V
-Landroid/hardware/camera2/DngCreator;->nativeWriteImage(Ljava/io/OutputStream;IILjava/nio/ByteBuffer;IIJZ)V
-Landroid/hardware/camera2/DngCreator;->nativeWriteInputStream(Ljava/io/OutputStream;Ljava/io/InputStream;IIJ)V
-Landroid/hardware/camera2/DngCreator;->sExifGPSDateStamp:Ljava/text/DateFormat;
-Landroid/hardware/camera2/DngCreator;->TAG:Ljava/lang/String;
-Landroid/hardware/camera2/DngCreator;->TAG_ORIENTATION_UNKNOWN:I
-Landroid/hardware/camera2/DngCreator;->TIFF_DATETIME_FORMAT:Ljava/lang/String;
-Landroid/hardware/camera2/DngCreator;->toExifLatLong(D)[I
-Landroid/hardware/camera2/DngCreator;->writeByteBuffer(IILjava/nio/ByteBuffer;Ljava/io/OutputStream;IIJ)V
-Landroid/hardware/camera2/DngCreator;->yuvToRgb([BI[B)V
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub$Proxy;
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub$Proxy;->onCaptureStarted(Landroid/hardware/camera2/impl/CaptureResultExtras;J)V
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub$Proxy;->onDeviceError(ILandroid/hardware/camera2/impl/CaptureResultExtras;)V
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub$Proxy;->onDeviceIdle()V
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub$Proxy;->onPrepared(I)V
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub$Proxy;->onRepeatingRequestError(JI)V
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub$Proxy;->onRequestQueueEmpty()V
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub$Proxy;->onResultReceived(Landroid/hardware/camera2/impl/CameraMetadataNative;Landroid/hardware/camera2/impl/CaptureResultExtras;[Landroid/hardware/camera2/impl/PhysicalCaptureResultInfo;)V
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub;
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub;-><init>()V
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/camera2/ICameraDeviceCallbacks;
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub;->TRANSACTION_onCaptureStarted:I
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub;->TRANSACTION_onDeviceError:I
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub;->TRANSACTION_onDeviceIdle:I
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub;->TRANSACTION_onPrepared:I
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub;->TRANSACTION_onRepeatingRequestError:I
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub;->TRANSACTION_onRequestQueueEmpty:I
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub;->TRANSACTION_onResultReceived:I
-Landroid/hardware/camera2/ICameraDeviceCallbacks;
-Landroid/hardware/camera2/ICameraDeviceCallbacks;->ERROR_CAMERA_BUFFER:I
-Landroid/hardware/camera2/ICameraDeviceCallbacks;->ERROR_CAMERA_DEVICE:I
-Landroid/hardware/camera2/ICameraDeviceCallbacks;->ERROR_CAMERA_DISABLED:I
-Landroid/hardware/camera2/ICameraDeviceCallbacks;->ERROR_CAMERA_DISCONNECTED:I
-Landroid/hardware/camera2/ICameraDeviceCallbacks;->ERROR_CAMERA_INVALID_ERROR:I
-Landroid/hardware/camera2/ICameraDeviceCallbacks;->ERROR_CAMERA_REQUEST:I
-Landroid/hardware/camera2/ICameraDeviceCallbacks;->ERROR_CAMERA_RESULT:I
-Landroid/hardware/camera2/ICameraDeviceCallbacks;->ERROR_CAMERA_SERVICE:I
-Landroid/hardware/camera2/ICameraDeviceCallbacks;->onCaptureStarted(Landroid/hardware/camera2/impl/CaptureResultExtras;J)V
-Landroid/hardware/camera2/ICameraDeviceCallbacks;->onDeviceError(ILandroid/hardware/camera2/impl/CaptureResultExtras;)V
-Landroid/hardware/camera2/ICameraDeviceCallbacks;->onDeviceIdle()V
-Landroid/hardware/camera2/ICameraDeviceCallbacks;->onPrepared(I)V
-Landroid/hardware/camera2/ICameraDeviceCallbacks;->onRepeatingRequestError(JI)V
-Landroid/hardware/camera2/ICameraDeviceCallbacks;->onRequestQueueEmpty()V
-Landroid/hardware/camera2/ICameraDeviceCallbacks;->onResultReceived(Landroid/hardware/camera2/impl/CameraMetadataNative;Landroid/hardware/camera2/impl/CaptureResultExtras;[Landroid/hardware/camera2/impl/PhysicalCaptureResultInfo;)V
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->beginConfigure()V
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->cancelRequest(I)J
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->createDefaultRequest(I)Landroid/hardware/camera2/impl/CameraMetadataNative;
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->createInputStream(III)I
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->createStream(Landroid/hardware/camera2/params/OutputConfiguration;)I
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->deleteStream(I)V
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->disconnect()V
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->endConfigure(ILandroid/hardware/camera2/impl/CameraMetadataNative;)V
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->finalizeOutputConfigurations(ILandroid/hardware/camera2/params/OutputConfiguration;)V
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->flush()J
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->getCameraInfo()Landroid/hardware/camera2/impl/CameraMetadataNative;
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->getInputSurface()Landroid/view/Surface;
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->prepare(I)V
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->prepare2(II)V
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->submitRequest(Landroid/hardware/camera2/CaptureRequest;Z)Landroid/hardware/camera2/utils/SubmitInfo;
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->submitRequestList([Landroid/hardware/camera2/CaptureRequest;Z)Landroid/hardware/camera2/utils/SubmitInfo;
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->tearDown(I)V
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->updateOutputConfiguration(ILandroid/hardware/camera2/params/OutputConfiguration;)V
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->waitUntilIdle()V
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;-><init>()V
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/camera2/ICameraDeviceUser;
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->TRANSACTION_beginConfigure:I
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->TRANSACTION_cancelRequest:I
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->TRANSACTION_createDefaultRequest:I
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->TRANSACTION_createInputStream:I
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->TRANSACTION_createStream:I
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->TRANSACTION_deleteStream:I
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->TRANSACTION_disconnect:I
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->TRANSACTION_endConfigure:I
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->TRANSACTION_finalizeOutputConfigurations:I
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->TRANSACTION_flush:I
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->TRANSACTION_getCameraInfo:I
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->TRANSACTION_getInputSurface:I
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->TRANSACTION_prepare2:I
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->TRANSACTION_prepare:I
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->TRANSACTION_submitRequest:I
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->TRANSACTION_submitRequestList:I
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->TRANSACTION_tearDown:I
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->TRANSACTION_updateOutputConfiguration:I
-Landroid/hardware/camera2/ICameraDeviceUser$Stub;->TRANSACTION_waitUntilIdle:I
-Landroid/hardware/camera2/ICameraDeviceUser;
-Landroid/hardware/camera2/ICameraDeviceUser;->beginConfigure()V
-Landroid/hardware/camera2/ICameraDeviceUser;->cancelRequest(I)J
-Landroid/hardware/camera2/ICameraDeviceUser;->CONSTRAINED_HIGH_SPEED_MODE:I
-Landroid/hardware/camera2/ICameraDeviceUser;->createDefaultRequest(I)Landroid/hardware/camera2/impl/CameraMetadataNative;
-Landroid/hardware/camera2/ICameraDeviceUser;->createInputStream(III)I
-Landroid/hardware/camera2/ICameraDeviceUser;->createStream(Landroid/hardware/camera2/params/OutputConfiguration;)I
-Landroid/hardware/camera2/ICameraDeviceUser;->deleteStream(I)V
-Landroid/hardware/camera2/ICameraDeviceUser;->disconnect()V
-Landroid/hardware/camera2/ICameraDeviceUser;->endConfigure(ILandroid/hardware/camera2/impl/CameraMetadataNative;)V
-Landroid/hardware/camera2/ICameraDeviceUser;->finalizeOutputConfigurations(ILandroid/hardware/camera2/params/OutputConfiguration;)V
-Landroid/hardware/camera2/ICameraDeviceUser;->flush()J
-Landroid/hardware/camera2/ICameraDeviceUser;->getCameraInfo()Landroid/hardware/camera2/impl/CameraMetadataNative;
-Landroid/hardware/camera2/ICameraDeviceUser;->getInputSurface()Landroid/view/Surface;
-Landroid/hardware/camera2/ICameraDeviceUser;->NORMAL_MODE:I
-Landroid/hardware/camera2/ICameraDeviceUser;->NO_IN_FLIGHT_REPEATING_FRAMES:I
-Landroid/hardware/camera2/ICameraDeviceUser;->prepare(I)V
-Landroid/hardware/camera2/ICameraDeviceUser;->prepare2(II)V
-Landroid/hardware/camera2/ICameraDeviceUser;->submitRequest(Landroid/hardware/camera2/CaptureRequest;Z)Landroid/hardware/camera2/utils/SubmitInfo;
-Landroid/hardware/camera2/ICameraDeviceUser;->submitRequestList([Landroid/hardware/camera2/CaptureRequest;Z)Landroid/hardware/camera2/utils/SubmitInfo;
-Landroid/hardware/camera2/ICameraDeviceUser;->tearDown(I)V
-Landroid/hardware/camera2/ICameraDeviceUser;->TEMPLATE_MANUAL:I
-Landroid/hardware/camera2/ICameraDeviceUser;->TEMPLATE_PREVIEW:I
-Landroid/hardware/camera2/ICameraDeviceUser;->TEMPLATE_RECORD:I
-Landroid/hardware/camera2/ICameraDeviceUser;->TEMPLATE_STILL_CAPTURE:I
-Landroid/hardware/camera2/ICameraDeviceUser;->TEMPLATE_VIDEO_SNAPSHOT:I
-Landroid/hardware/camera2/ICameraDeviceUser;->TEMPLATE_ZERO_SHUTTER_LAG:I
-Landroid/hardware/camera2/ICameraDeviceUser;->updateOutputConfiguration(ILandroid/hardware/camera2/params/OutputConfiguration;)V
-Landroid/hardware/camera2/ICameraDeviceUser;->VENDOR_MODE_START:I
-Landroid/hardware/camera2/ICameraDeviceUser;->waitUntilIdle()V
-Landroid/hardware/camera2/impl/CallbackProxies$SessionStateCallbackProxy;
-Landroid/hardware/camera2/impl/CallbackProxies$SessionStateCallbackProxy;-><init>(Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;)V
-Landroid/hardware/camera2/impl/CallbackProxies$SessionStateCallbackProxy;->mCallback:Landroid/hardware/camera2/CameraCaptureSession$StateCallback;
-Landroid/hardware/camera2/impl/CallbackProxies$SessionStateCallbackProxy;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/hardware/camera2/impl/CallbackProxies;
-Landroid/hardware/camera2/impl/CallbackProxies;-><init>()V
-Landroid/hardware/camera2/impl/CameraCaptureSessionCore;
-Landroid/hardware/camera2/impl/CameraCaptureSessionCore;->getDeviceStateCallback()Landroid/hardware/camera2/impl/CameraDeviceImpl$StateCallbackKK;
-Landroid/hardware/camera2/impl/CameraCaptureSessionCore;->isAborting()Z
-Landroid/hardware/camera2/impl/CameraCaptureSessionCore;->replaceSessionClose()V
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl$AbortDrainListener;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl$AbortDrainListener;-><init>()V
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl$AbortDrainListener;->onDrained()V
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl$IdleDrainListener;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl$IdleDrainListener;-><init>()V
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl$IdleDrainListener;->onDrained()V
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl$SequenceDrainListener;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl$SequenceDrainListener;-><init>()V
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl$SequenceDrainListener;->onDrained()V
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;-><init>(ILandroid/view/Surface;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/impl/CameraDeviceImpl;Ljava/util/concurrent/Executor;Z)V
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->addPendingSequence(I)I
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->checkCaptureRequest(Landroid/hardware/camera2/CaptureRequest;)V
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->checkCaptureRequests(Ljava/util/List;)V
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->checkNotClosed()V
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->checkRepeatingRequest(Landroid/hardware/camera2/CaptureRequest;)V
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->checkRepeatingRequests(Ljava/util/List;)V
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->createCaptureCallbackProxy(Landroid/os/Handler;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;)Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->createCaptureCallbackProxyWithExecutor(Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;)Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->createUserStateCallbackProxy(Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;)Landroid/hardware/camera2/CameraCaptureSession$StateCallback;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->DEBUG:Z
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->finishPendingSequence(I)V
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->getDeviceStateCallback()Landroid/hardware/camera2/impl/CameraDeviceImpl$StateCallbackKK;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->isAborting()Z
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->mAbortDrainer:Landroid/hardware/camera2/utils/TaskSingleDrainer;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->mAborting:Z
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->mClosed:Z
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->mConfigureSuccess:Z
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->mDeviceExecutor:Ljava/util/concurrent/Executor;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->mDeviceImpl:Landroid/hardware/camera2/impl/CameraDeviceImpl;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->mId:I
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->mIdleDrainer:Landroid/hardware/camera2/utils/TaskSingleDrainer;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->mIdString:Ljava/lang/String;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->mInput:Landroid/view/Surface;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->mSequenceDrainer:Landroid/hardware/camera2/utils/TaskDrainer;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->mSkipUnconfigure:Z
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->mStateCallback:Landroid/hardware/camera2/CameraCaptureSession$StateCallback;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->mStateExecutor:Ljava/util/concurrent/Executor;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->prepare(ILandroid/view/Surface;)V
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->replaceSessionClose()V
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->TAG:Ljava/lang/String;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;->tearDown(Landroid/view/Surface;)V
-Landroid/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl$WrapperCallback;
-Landroid/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl$WrapperCallback;-><init>(Landroid/hardware/camera2/CameraCaptureSession$StateCallback;)V
-Landroid/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl$WrapperCallback;->mCallback:Landroid/hardware/camera2/CameraCaptureSession$StateCallback;
-Landroid/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl;
-Landroid/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl;-><init>(ILandroid/hardware/camera2/CameraCaptureSession$StateCallback;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/impl/CameraDeviceImpl;Ljava/util/concurrent/Executor;ZLandroid/hardware/camera2/CameraCharacteristics;)V
-Landroid/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl;->getDeviceStateCallback()Landroid/hardware/camera2/impl/CameraDeviceImpl$StateCallbackKK;
-Landroid/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl;->isAborting()Z
-Landroid/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl;->isConstrainedHighSpeedRequestList(Ljava/util/List;)Z
-Landroid/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl;->mCharacteristics:Landroid/hardware/camera2/CameraCharacteristics;
-Landroid/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl;->mSessionImpl:Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;
-Landroid/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl;->prepare(ILandroid/view/Surface;)V
-Landroid/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl;->replaceSessionClose()V
-Landroid/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl;->tearDown(Landroid/view/Surface;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;-><init>()V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;->notifyError(I)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;->onCaptureErrorLocked(ILandroid/hardware/camera2/impl/CaptureResultExtras;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;->onCaptureStarted(Landroid/hardware/camera2/impl/CaptureResultExtras;J)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;->onDeviceError(ILandroid/hardware/camera2/impl/CaptureResultExtras;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;->onDeviceIdle()V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;->onPrepared(I)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;->onRepeatingRequestError(JI)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;->onRequestQueueEmpty()V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;->onResultReceived(Landroid/hardware/camera2/impl/CameraMetadataNative;Landroid/hardware/camera2/impl/CaptureResultExtras;[Landroid/hardware/camera2/impl/PhysicalCaptureResultInfo;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;->scheduleNotifyError(I)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraHandlerExecutor;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraHandlerExecutor;-><init>(Landroid/os/Handler;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraHandlerExecutor;->mHandler:Landroid/os/Handler;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;->NO_FRAMES_CAPTURED:I
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;->onCaptureBufferLost(Landroid/hardware/camera2/CameraDevice;Landroid/hardware/camera2/CaptureRequest;Landroid/view/Surface;J)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;->onCaptureCompleted(Landroid/hardware/camera2/CameraDevice;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/TotalCaptureResult;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;->onCaptureFailed(Landroid/hardware/camera2/CameraDevice;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CaptureFailure;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;->onCapturePartial(Landroid/hardware/camera2/CameraDevice;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CaptureResult;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;->onCaptureProgressed(Landroid/hardware/camera2/CameraDevice;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CaptureResult;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;->onCaptureSequenceAborted(Landroid/hardware/camera2/CameraDevice;I)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;->onCaptureSequenceCompleted(Landroid/hardware/camera2/CameraDevice;IJ)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;->onCaptureStarted(Landroid/hardware/camera2/CameraDevice;Landroid/hardware/camera2/CaptureRequest;JJ)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;-><init>(Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/List;Ljava/util/concurrent/Executor;ZI)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;->getCallback()Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;->getExecutor()Ljava/util/concurrent/Executor;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;->getRequest()Landroid/hardware/camera2/CaptureRequest;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;->getRequest(I)Landroid/hardware/camera2/CaptureRequest;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;->getRequestCount()I
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;->getSessionId()I
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;->hasBatchedOutputs()Z
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;->isRepeating()Z
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;->mCallback:Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;->mHasBatchedOutputs:Z
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;->mRepeating:Z
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;->mRequestList:Ljava/util/List;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;->mSessionId:I
-Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;-><init>()V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->getCompletedFrameNumber()J
-Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->getCompletedReprocessFrameNumber()J
-Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->mCompletedFrameNumber:J
-Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->mCompletedReprocessFrameNumber:J
-Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->mFutureErrorMap:Ljava/util/TreeMap;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->mPartialResults:Ljava/util/HashMap;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->mSkippedRegularFrameNumbers:Ljava/util/LinkedList;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->mSkippedReprocessFrameNumbers:Ljava/util/LinkedList;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->popPartialResults(J)Ljava/util/List;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->update()V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->updateCompletedFrameNumber(J)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->updateCompletedReprocessFrameNumber(J)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->updateTracker(JLandroid/hardware/camera2/CaptureResult;ZZ)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->updateTracker(JZZ)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$RequestLastFrameNumbersHolder;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$RequestLastFrameNumbersHolder;-><init>(IJ)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$RequestLastFrameNumbersHolder;-><init>(Ljava/util/List;Landroid/hardware/camera2/utils/SubmitInfo;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$RequestLastFrameNumbersHolder;->getLastFrameNumber()J
-Landroid/hardware/camera2/impl/CameraDeviceImpl$RequestLastFrameNumbersHolder;->getLastRegularFrameNumber()J
-Landroid/hardware/camera2/impl/CameraDeviceImpl$RequestLastFrameNumbersHolder;->getLastReprocessFrameNumber()J
-Landroid/hardware/camera2/impl/CameraDeviceImpl$RequestLastFrameNumbersHolder;->getRequestId()I
-Landroid/hardware/camera2/impl/CameraDeviceImpl$RequestLastFrameNumbersHolder;->mLastRegularFrameNumber:J
-Landroid/hardware/camera2/impl/CameraDeviceImpl$RequestLastFrameNumbersHolder;->mLastReprocessFrameNumber:J
-Landroid/hardware/camera2/impl/CameraDeviceImpl$RequestLastFrameNumbersHolder;->mRequestId:I
-Landroid/hardware/camera2/impl/CameraDeviceImpl$StateCallbackKK;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$StateCallbackKK;-><init>()V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$StateCallbackKK;->onActive(Landroid/hardware/camera2/CameraDevice;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$StateCallbackKK;->onBusy(Landroid/hardware/camera2/CameraDevice;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$StateCallbackKK;->onIdle(Landroid/hardware/camera2/CameraDevice;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$StateCallbackKK;->onRequestQueueEmpty()V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$StateCallbackKK;->onSurfacePrepared(Landroid/view/Surface;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl$StateCallbackKK;->onUnconfigured(Landroid/hardware/camera2/CameraDevice;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;-><init>(Ljava/lang/String;Landroid/hardware/camera2/CameraDevice$StateCallback;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraCharacteristics;I)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->capture(Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/concurrent/Executor;)I
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->captureBurst(Ljava/util/List;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/concurrent/Executor;)I
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->checkAndFireSequenceComplete()V
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->checkAndWrapHandler(Landroid/os/Handler;)Ljava/util/concurrent/Executor;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->checkEarlyTriggerSequenceComplete(IJ)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->checkExecutor(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->checkExecutor(Ljava/util/concurrent/Executor;Ljava/lang/Object;)Ljava/util/concurrent/Executor;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->checkHandler(Landroid/os/Handler;)Landroid/os/Handler;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->checkHandler(Landroid/os/Handler;Ljava/lang/Object;)Landroid/os/Handler;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->checkIfCameraClosedOrInError()V
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->checkInputConfiguration(Landroid/hardware/camera2/params/InputConfiguration;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->configureOutputs(Ljava/util/List;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->configureStreamsChecked(Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List;ILandroid/hardware/camera2/CaptureRequest;)Z
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->createCaptureSessionInternal(Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Ljava/util/concurrent/Executor;ILandroid/hardware/camera2/CaptureRequest;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->DEBUG:Z
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->finalizeOutputConfigs(Ljava/util/List;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->flush()V
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->getCallbacks()Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->getCharacteristics()Landroid/hardware/camera2/CameraCharacteristics;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->isClosed()Z
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mAppTargetSdkVersion:I
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mCallbacks:Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mCallOnActive:Ljava/lang/Runnable;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mCallOnBusy:Ljava/lang/Runnable;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mCallOnClosed:Ljava/lang/Runnable;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mCallOnDisconnected:Ljava/lang/Runnable;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mCallOnIdle:Ljava/lang/Runnable;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mCallOnOpened:Ljava/lang/Runnable;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mCallOnUnconfigured:Ljava/lang/Runnable;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mCameraId:Ljava/lang/String;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mCaptureCallbackMap:Landroid/util/SparseArray;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mCharacteristics:Landroid/hardware/camera2/CameraCharacteristics;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mClosing:Ljava/util/concurrent/atomic/AtomicBoolean;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mConfiguredInput:Ljava/util/AbstractMap$SimpleEntry;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mConfiguredOutputs:Landroid/util/SparseArray;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mCurrentSession:Landroid/hardware/camera2/impl/CameraCaptureSessionCore;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mDeviceCallback:Landroid/hardware/camera2/CameraDevice$StateCallback;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mDeviceExecutor:Ljava/util/concurrent/Executor;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mFrameNumberTracker:Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mIdle:Z
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mInError:Z
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mInterfaceLock:Ljava/lang/Object;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mNextSessionId:I
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mRemoteDevice:Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mRepeatingRequestId:I
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mRequestLastFrameNumbersList:Ljava/util/List;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mSessionStateCallback:Landroid/hardware/camera2/impl/CameraDeviceImpl$StateCallbackKK;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->mTotalPartialCount:I
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->NANO_PER_SECOND:J
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->overrideEnableZsl(Landroid/hardware/camera2/impl/CameraMetadataNative;Z)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->prepare(ILandroid/view/Surface;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->prepare(Landroid/view/Surface;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->REQUEST_ID_NONE:I
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->setRemoteDevice(Landroid/hardware/camera2/ICameraDeviceUser;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->setRemoteFailure(Landroid/os/ServiceSpecificException;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->setRepeatingBurst(Ljava/util/List;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/concurrent/Executor;)I
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->setRepeatingRequest(Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/concurrent/Executor;)I
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->setSessionListener(Landroid/hardware/camera2/impl/CameraDeviceImpl$StateCallbackKK;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->stopRepeating()V
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->submitCaptureRequest(Ljava/util/List;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/concurrent/Executor;Z)I
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->TAG:Ljava/lang/String;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->tearDown(Landroid/view/Surface;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->updateOutputConfiguration(Landroid/hardware/camera2/params/OutputConfiguration;)V
-Landroid/hardware/camera2/impl/CameraDeviceImpl;->waitUntilIdle()V
-Landroid/hardware/camera2/impl/CameraMetadataNative$Key;
-Landroid/hardware/camera2/impl/CameraMetadataNative$Key;-><init>(Ljava/lang/String;Landroid/hardware/camera2/utils/TypeReference;)V
-Landroid/hardware/camera2/impl/CameraMetadataNative$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;)V
-Landroid/hardware/camera2/impl/CameraMetadataNative$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;J)V
-Landroid/hardware/camera2/impl/CameraMetadataNative$Key;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)V
-Landroid/hardware/camera2/impl/CameraMetadataNative$Key;->getName()Ljava/lang/String;
-Landroid/hardware/camera2/impl/CameraMetadataNative$Key;->getType()Ljava/lang/Class;
-Landroid/hardware/camera2/impl/CameraMetadataNative$Key;->getTypeReference()Landroid/hardware/camera2/utils/TypeReference;
-Landroid/hardware/camera2/impl/CameraMetadataNative$Key;->getVendorId()J
-Landroid/hardware/camera2/impl/CameraMetadataNative$Key;->mFallbackName:Ljava/lang/String;
-Landroid/hardware/camera2/impl/CameraMetadataNative$Key;->mHash:I
-Landroid/hardware/camera2/impl/CameraMetadataNative$Key;->mHasTag:Z
-Landroid/hardware/camera2/impl/CameraMetadataNative$Key;->mName:Ljava/lang/String;
-Landroid/hardware/camera2/impl/CameraMetadataNative$Key;->mTag:I
-Landroid/hardware/camera2/impl/CameraMetadataNative$Key;->mType:Ljava/lang/Class;
-Landroid/hardware/camera2/impl/CameraMetadataNative$Key;->mTypeReference:Landroid/hardware/camera2/utils/TypeReference;
-Landroid/hardware/camera2/impl/CameraMetadataNative$Key;->mVendorId:J
-Landroid/hardware/camera2/impl/CameraMetadataNative;
-Landroid/hardware/camera2/impl/CameraMetadataNative;-><init>()V
-Landroid/hardware/camera2/impl/CameraMetadataNative;-><init>(Landroid/hardware/camera2/impl/CameraMetadataNative;)V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->areValuesAllNull([[Ljava/lang/Object;)Z
-Landroid/hardware/camera2/impl/CameraMetadataNative;->CELLID_PROCESS:Ljava/lang/String;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->close()V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->DEBUG:Z
-Landroid/hardware/camera2/impl/CameraMetadataNative;->dumpToLog()V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->FACE_LANDMARK_SIZE:I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->get(Landroid/hardware/camera2/CaptureRequest$Key;)Ljava/lang/Object;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->get(Landroid/hardware/camera2/CaptureResult$Key;)Ljava/lang/Object;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->get(Landroid/hardware/camera2/impl/CameraMetadataNative$Key;)Ljava/lang/Object;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->getAllVendorKeys(Ljava/lang/Class;)Ljava/util/ArrayList;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->getAvailableFormats()[I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->getBase(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->getBase(Landroid/hardware/camera2/CaptureRequest$Key;)Ljava/lang/Object;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->getBase(Landroid/hardware/camera2/CaptureResult$Key;)Ljava/lang/Object;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->getBase(Landroid/hardware/camera2/impl/CameraMetadataNative$Key;)Ljava/lang/Object;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->getEntryCount()I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->getFaceRectangles()[Landroid/graphics/Rect;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->getFaces()[Landroid/hardware/camera2/params/Face;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->getGpsLocation()Landroid/location/Location;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->getLensShadingMap()Landroid/hardware/camera2/params/LensShadingMap;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->getMarshalerForKey(Landroid/hardware/camera2/impl/CameraMetadataNative$Key;I)Landroid/hardware/camera2/marshal/Marshaler;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->getMaxNumOutputs(Landroid/hardware/camera2/impl/CameraMetadataNative$Key;)Ljava/lang/Integer;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->getMaxRegions(Landroid/hardware/camera2/impl/CameraMetadataNative$Key;)Ljava/lang/Integer;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->getNativeType(IJ)I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->getOisSamples()[Landroid/hardware/camera2/params/OisSample;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->getStreamConfigurationMap()Landroid/hardware/camera2/params/StreamConfigurationMap;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->getTag(Ljava/lang/String;)I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->getTag(Ljava/lang/String;J)I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->getTonemapCurve()Landroid/hardware/camera2/params/TonemapCurve;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->GPS_PROCESS:Ljava/lang/String;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->isEmpty()Z
-Landroid/hardware/camera2/impl/CameraMetadataNative;->move(Landroid/hardware/camera2/impl/CameraMetadataNative;)Landroid/hardware/camera2/impl/CameraMetadataNative;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->nativeAllocate()J
-Landroid/hardware/camera2/impl/CameraMetadataNative;->nativeAllocateCopy(Landroid/hardware/camera2/impl/CameraMetadataNative;)J
-Landroid/hardware/camera2/impl/CameraMetadataNative;->nativeClose()V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->nativeDump()V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->nativeGetAllVendorKeys(Ljava/lang/Class;)Ljava/util/ArrayList;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->nativeGetEntryCount()I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->nativeGetTagFromKey(Ljava/lang/String;J)I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->nativeGetTypeFromTag(IJ)I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->nativeIsEmpty()Z
-Landroid/hardware/camera2/impl/CameraMetadataNative;->nativeReadFromParcel(Landroid/os/Parcel;)V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->nativeSetupGlobalVendorTagDescriptor()I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->nativeSwap(Landroid/hardware/camera2/impl/CameraMetadataNative;)V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->nativeWriteToParcel(Landroid/os/Parcel;)V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->nativeWriteValues(I[B)V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->NATIVE_JPEG_FORMAT:I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->NUM_TYPES:I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->readValues(I)[B
-Landroid/hardware/camera2/impl/CameraMetadataNative;->registerAllMarshalers()V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->set(Landroid/hardware/camera2/CameraCharacteristics$Key;Ljava/lang/Object;)V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->set(Landroid/hardware/camera2/CaptureResult$Key;Ljava/lang/Object;)V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->set(Landroid/hardware/camera2/impl/CameraMetadataNative$Key;Ljava/lang/Object;)V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->setAvailableFormats([I)Z
-Landroid/hardware/camera2/impl/CameraMetadataNative;->setBase(Landroid/hardware/camera2/CameraCharacteristics$Key;Ljava/lang/Object;)V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->setBase(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->setBase(Landroid/hardware/camera2/CaptureResult$Key;Ljava/lang/Object;)V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->setBase(Landroid/hardware/camera2/impl/CameraMetadataNative$Key;Ljava/lang/Object;)V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->setFaceRectangles([Landroid/graphics/Rect;)Z
-Landroid/hardware/camera2/impl/CameraMetadataNative;->setFaces([Landroid/hardware/camera2/params/Face;)Z
-Landroid/hardware/camera2/impl/CameraMetadataNative;->setGpsLocation(Landroid/location/Location;)Z
-Landroid/hardware/camera2/impl/CameraMetadataNative;->setTonemapCurve(Landroid/hardware/camera2/params/TonemapCurve;)Z
-Landroid/hardware/camera2/impl/CameraMetadataNative;->setupGlobalVendorTagDescriptor()V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->sGetCommandMap:Ljava/util/HashMap;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->sSetCommandMap:Ljava/util/HashMap;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->swap(Landroid/hardware/camera2/impl/CameraMetadataNative;)V
-Landroid/hardware/camera2/impl/CameraMetadataNative;->TAG:Ljava/lang/String;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->translateLocationProviderToProcess(Ljava/lang/String;)Ljava/lang/String;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->translateProcessToLocationProvider(Ljava/lang/String;)Ljava/lang/String;
-Landroid/hardware/camera2/impl/CameraMetadataNative;->TYPE_BYTE:I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->TYPE_DOUBLE:I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->TYPE_FLOAT:I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->TYPE_INT32:I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->TYPE_INT64:I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->TYPE_RATIONAL:I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->writeValues(I[B)V
-Landroid/hardware/camera2/impl/CaptureResultExtras;
-Landroid/hardware/camera2/impl/CaptureResultExtras;-><init>(IIIIJII)V
-Landroid/hardware/camera2/impl/CaptureResultExtras;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/camera2/impl/CaptureResultExtras;->afTriggerId:I
-Landroid/hardware/camera2/impl/CaptureResultExtras;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/camera2/impl/CaptureResultExtras;->errorStreamId:I
-Landroid/hardware/camera2/impl/CaptureResultExtras;->frameNumber:J
-Landroid/hardware/camera2/impl/CaptureResultExtras;->getAfTriggerId()I
-Landroid/hardware/camera2/impl/CaptureResultExtras;->getErrorStreamId()I
-Landroid/hardware/camera2/impl/CaptureResultExtras;->getFrameNumber()J
-Landroid/hardware/camera2/impl/CaptureResultExtras;->getPartialResultCount()I
-Landroid/hardware/camera2/impl/CaptureResultExtras;->getPrecaptureTriggerId()I
-Landroid/hardware/camera2/impl/CaptureResultExtras;->getRequestId()I
-Landroid/hardware/camera2/impl/CaptureResultExtras;->getSubsequenceId()I
-Landroid/hardware/camera2/impl/CaptureResultExtras;->partialResultCount:I
-Landroid/hardware/camera2/impl/CaptureResultExtras;->precaptureTriggerId:I
-Landroid/hardware/camera2/impl/CaptureResultExtras;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/hardware/camera2/impl/CaptureResultExtras;->requestId:I
-Landroid/hardware/camera2/impl/CaptureResultExtras;->subsequenceId:I
-Landroid/hardware/camera2/impl/GetCommand;
-Landroid/hardware/camera2/impl/GetCommand;->getValue(Landroid/hardware/camera2/impl/CameraMetadataNative;Landroid/hardware/camera2/impl/CameraMetadataNative$Key;)Ljava/lang/Object;
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;-><init>(Landroid/hardware/camera2/ICameraDeviceUser;)V
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->beginConfigure()V
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->cancelRequest(I)J
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->createDefaultRequest(I)Landroid/hardware/camera2/impl/CameraMetadataNative;
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->createInputStream(III)I
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->createStream(Landroid/hardware/camera2/params/OutputConfiguration;)I
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->deleteStream(I)V
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->disconnect()V
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->endConfigure(ILandroid/hardware/camera2/impl/CameraMetadataNative;)V
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->finalizeOutputConfigurations(ILandroid/hardware/camera2/params/OutputConfiguration;)V
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->flush()J
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->getCameraInfo()Landroid/hardware/camera2/impl/CameraMetadataNative;
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->getInputSurface()Landroid/view/Surface;
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->mRemoteDevice:Landroid/hardware/camera2/ICameraDeviceUser;
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->prepare(I)V
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->prepare2(II)V
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->submitRequest(Landroid/hardware/camera2/CaptureRequest;Z)Landroid/hardware/camera2/utils/SubmitInfo;
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->submitRequestList([Landroid/hardware/camera2/CaptureRequest;Z)Landroid/hardware/camera2/utils/SubmitInfo;
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->tearDown(I)V
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->unlinkToDeath(Landroid/os/IBinder$DeathRecipient;I)V
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->updateOutputConfiguration(ILandroid/hardware/camera2/params/OutputConfiguration;)V
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->waitUntilIdle()V
-Landroid/hardware/camera2/impl/PhysicalCaptureResultInfo;
-Landroid/hardware/camera2/impl/PhysicalCaptureResultInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/camera2/impl/PhysicalCaptureResultInfo;-><init>(Ljava/lang/String;Landroid/hardware/camera2/impl/CameraMetadataNative;)V
-Landroid/hardware/camera2/impl/PhysicalCaptureResultInfo;->cameraId:Ljava/lang/String;
-Landroid/hardware/camera2/impl/PhysicalCaptureResultInfo;->cameraMetadata:Landroid/hardware/camera2/impl/CameraMetadataNative;
-Landroid/hardware/camera2/impl/PhysicalCaptureResultInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/camera2/impl/PhysicalCaptureResultInfo;->getCameraId()Ljava/lang/String;
-Landroid/hardware/camera2/impl/PhysicalCaptureResultInfo;->getCameraMetadata()Landroid/hardware/camera2/impl/CameraMetadataNative;
-Landroid/hardware/camera2/impl/PhysicalCaptureResultInfo;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/hardware/camera2/impl/PublicKey;
-Landroid/hardware/camera2/impl/SetCommand;
-Landroid/hardware/camera2/impl/SetCommand;->setValue(Landroid/hardware/camera2/impl/CameraMetadataNative;Ljava/lang/Object;)V
-Landroid/hardware/camera2/impl/SyntheticKey;
-Landroid/hardware/camera2/params/BlackLevelPattern;-><init>([I)V
-Landroid/hardware/camera2/params/BlackLevelPattern;->mCfaOffsets:[I
-Landroid/hardware/camera2/params/ColorSpaceTransform;->COLUMNS:I
-Landroid/hardware/camera2/params/ColorSpaceTransform;->COUNT:I
-Landroid/hardware/camera2/params/ColorSpaceTransform;->COUNT_INT:I
-Landroid/hardware/camera2/params/ColorSpaceTransform;->mElements:[I
-Landroid/hardware/camera2/params/ColorSpaceTransform;->OFFSET_DENOMINATOR:I
-Landroid/hardware/camera2/params/ColorSpaceTransform;->OFFSET_NUMERATOR:I
-Landroid/hardware/camera2/params/ColorSpaceTransform;->RATIONAL_SIZE:I
-Landroid/hardware/camera2/params/ColorSpaceTransform;->ROWS:I
-Landroid/hardware/camera2/params/ColorSpaceTransform;->toShortString()Ljava/lang/String;
-Landroid/hardware/camera2/params/Face;-><init>(Landroid/graphics/Rect;I)V
-Landroid/hardware/camera2/params/Face;-><init>(Landroid/graphics/Rect;IILandroid/graphics/Point;Landroid/graphics/Point;Landroid/graphics/Point;)V
-Landroid/hardware/camera2/params/Face;->checkNotNull(Ljava/lang/String;Ljava/lang/Object;)V
-Landroid/hardware/camera2/params/Face;->checkNull(Ljava/lang/String;Ljava/lang/Object;)V
-Landroid/hardware/camera2/params/Face;->mBounds:Landroid/graphics/Rect;
-Landroid/hardware/camera2/params/Face;->mId:I
-Landroid/hardware/camera2/params/Face;->mLeftEye:Landroid/graphics/Point;
-Landroid/hardware/camera2/params/Face;->mMouth:Landroid/graphics/Point;
-Landroid/hardware/camera2/params/Face;->mRightEye:Landroid/graphics/Point;
-Landroid/hardware/camera2/params/Face;->mScore:I
-Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;
-Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;-><init>(IIIII)V
-Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;->getBatchSizeMax()I
-Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;->getFpsMax()I
-Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;->getFpsMin()I
-Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;->getFpsRange()Landroid/util/Range;
-Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;->getHeight()I
-Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;->getSize()Landroid/util/Size;
-Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;->getWidth()I
-Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;->HIGH_SPEED_MAX_MINIMAL_FPS:I
-Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;->mBatchSizeMax:I
-Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;->mFpsMax:I
-Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;->mFpsMin:I
-Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;->mFpsRange:Landroid/util/Range;
-Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;->mHeight:I
-Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;->mSize:Landroid/util/Size;
-Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;->mWidth:I
-Landroid/hardware/camera2/params/InputConfiguration;->mFormat:I
-Landroid/hardware/camera2/params/InputConfiguration;->mHeight:I
-Landroid/hardware/camera2/params/InputConfiguration;->mWidth:I
-Landroid/hardware/camera2/params/LensShadingMap;-><init>([FII)V
-Landroid/hardware/camera2/params/LensShadingMap;->mColumns:I
-Landroid/hardware/camera2/params/LensShadingMap;->mElements:[F
-Landroid/hardware/camera2/params/LensShadingMap;->mRows:I
-Landroid/hardware/camera2/params/MeteringRectangle;->mHeight:I
-Landroid/hardware/camera2/params/MeteringRectangle;->mWeight:I
-Landroid/hardware/camera2/params/MeteringRectangle;->mWidth:I
-Landroid/hardware/camera2/params/MeteringRectangle;->mX:I
-Landroid/hardware/camera2/params/MeteringRectangle;->mY:I
-Landroid/hardware/camera2/params/OisSample;->mTimestampNs:J
-Landroid/hardware/camera2/params/OisSample;->mXShift:F
-Landroid/hardware/camera2/params/OisSample;->mYShift:F
-Landroid/hardware/camera2/params/OutputConfiguration;-><init>(Landroid/hardware/camera2/params/OutputConfiguration;)V
-Landroid/hardware/camera2/params/OutputConfiguration;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/camera2/params/OutputConfiguration;->isDeferredConfiguration()Z
-Landroid/hardware/camera2/params/OutputConfiguration;->isForPhysicalCamera()Z
-Landroid/hardware/camera2/params/OutputConfiguration;->MAX_SURFACES_COUNT:I
-Landroid/hardware/camera2/params/OutputConfiguration;->mConfiguredDataspace:I
-Landroid/hardware/camera2/params/OutputConfiguration;->mConfiguredFormat:I
-Landroid/hardware/camera2/params/OutputConfiguration;->mConfiguredGenerationId:I
-Landroid/hardware/camera2/params/OutputConfiguration;->mConfiguredSize:Landroid/util/Size;
-Landroid/hardware/camera2/params/OutputConfiguration;->mIsDeferredConfig:Z
-Landroid/hardware/camera2/params/OutputConfiguration;->mIsShared:Z
-Landroid/hardware/camera2/params/OutputConfiguration;->mPhysicalCameraId:Ljava/lang/String;
-Landroid/hardware/camera2/params/OutputConfiguration;->mRotation:I
-Landroid/hardware/camera2/params/OutputConfiguration;->mSurfaceGroupId:I
-Landroid/hardware/camera2/params/OutputConfiguration;->mSurfaces:Ljava/util/ArrayList;
-Landroid/hardware/camera2/params/OutputConfiguration;->mSurfaceType:I
-Landroid/hardware/camera2/params/OutputConfiguration;->SURFACE_TYPE_SURFACE_TEXTURE:I
-Landroid/hardware/camera2/params/OutputConfiguration;->SURFACE_TYPE_SURFACE_VIEW:I
-Landroid/hardware/camera2/params/OutputConfiguration;->SURFACE_TYPE_UNKNOWN:I
-Landroid/hardware/camera2/params/OutputConfiguration;->TAG:Ljava/lang/String;
-Landroid/hardware/camera2/params/ReprocessFormatsMap;
-Landroid/hardware/camera2/params/ReprocessFormatsMap;-><init>([I)V
-Landroid/hardware/camera2/params/ReprocessFormatsMap;->getInputs()[I
-Landroid/hardware/camera2/params/ReprocessFormatsMap;->getOutputs(I)[I
-Landroid/hardware/camera2/params/ReprocessFormatsMap;->mEntry:[I
-Landroid/hardware/camera2/params/ReprocessFormatsMap;->mInputCount:I
-Landroid/hardware/camera2/params/RggbChannelVector;->mBlue:F
-Landroid/hardware/camera2/params/RggbChannelVector;->mGreenEven:F
-Landroid/hardware/camera2/params/RggbChannelVector;->mGreenOdd:F
-Landroid/hardware/camera2/params/RggbChannelVector;->mRed:F
-Landroid/hardware/camera2/params/RggbChannelVector;->toShortString()Ljava/lang/String;
-Landroid/hardware/camera2/params/SessionConfiguration$SessionMode;
-Landroid/hardware/camera2/params/SessionConfiguration;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/hardware/camera2/params/SessionConfiguration;->mInputConfig:Landroid/hardware/camera2/params/InputConfiguration;
-Landroid/hardware/camera2/params/SessionConfiguration;->mOutputConfigurations:Ljava/util/List;
-Landroid/hardware/camera2/params/SessionConfiguration;->mSessionParameters:Landroid/hardware/camera2/CaptureRequest;
-Landroid/hardware/camera2/params/SessionConfiguration;->mSessionType:I
-Landroid/hardware/camera2/params/SessionConfiguration;->mStateCallback:Landroid/hardware/camera2/CameraCaptureSession$StateCallback;
-Landroid/hardware/camera2/params/SessionConfiguration;->SESSION_VENDOR_START:I
-Landroid/hardware/camera2/params/StreamConfiguration;
-Landroid/hardware/camera2/params/StreamConfiguration;-><init>(IIIZ)V
-Landroid/hardware/camera2/params/StreamConfiguration;->getFormat()I
-Landroid/hardware/camera2/params/StreamConfiguration;->getHeight()I
-Landroid/hardware/camera2/params/StreamConfiguration;->getSize()Landroid/util/Size;
-Landroid/hardware/camera2/params/StreamConfiguration;->getWidth()I
-Landroid/hardware/camera2/params/StreamConfiguration;->isInput()Z
-Landroid/hardware/camera2/params/StreamConfiguration;->isOutput()Z
-Landroid/hardware/camera2/params/StreamConfiguration;->mFormat:I
-Landroid/hardware/camera2/params/StreamConfiguration;->mHeight:I
-Landroid/hardware/camera2/params/StreamConfiguration;->mInput:Z
-Landroid/hardware/camera2/params/StreamConfiguration;->mWidth:I
-Landroid/hardware/camera2/params/StreamConfigurationDuration;
-Landroid/hardware/camera2/params/StreamConfigurationDuration;-><init>(IIIJ)V
-Landroid/hardware/camera2/params/StreamConfigurationDuration;->getDuration()J
-Landroid/hardware/camera2/params/StreamConfigurationDuration;->getFormat()I
-Landroid/hardware/camera2/params/StreamConfigurationDuration;->getHeight()I
-Landroid/hardware/camera2/params/StreamConfigurationDuration;->getSize()Landroid/util/Size;
-Landroid/hardware/camera2/params/StreamConfigurationDuration;->getWidth()I
-Landroid/hardware/camera2/params/StreamConfigurationDuration;->mDurationNs:J
-Landroid/hardware/camera2/params/StreamConfigurationDuration;->mFormat:I
-Landroid/hardware/camera2/params/StreamConfigurationDuration;->mHeight:I
-Landroid/hardware/camera2/params/StreamConfigurationDuration;->mWidth:I
-Landroid/hardware/camera2/params/StreamConfigurationMap;-><init>([Landroid/hardware/camera2/params/StreamConfiguration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/StreamConfiguration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;Landroid/hardware/camera2/params/ReprocessFormatsMap;Z)V
-Landroid/hardware/camera2/params/StreamConfigurationMap;->appendHighResOutputsString(Ljava/lang/StringBuilder;)V
-Landroid/hardware/camera2/params/StreamConfigurationMap;->appendHighSpeedVideoConfigurationsString(Ljava/lang/StringBuilder;)V
-Landroid/hardware/camera2/params/StreamConfigurationMap;->appendInputsString(Ljava/lang/StringBuilder;)V
-Landroid/hardware/camera2/params/StreamConfigurationMap;->appendOutputsString(Ljava/lang/StringBuilder;)V
-Landroid/hardware/camera2/params/StreamConfigurationMap;->appendValidOutputFormatsForInputString(Ljava/lang/StringBuilder;)V
-Landroid/hardware/camera2/params/StreamConfigurationMap;->arrayContains([Ljava/lang/Object;Ljava/lang/Object;)Z
-Landroid/hardware/camera2/params/StreamConfigurationMap;->checkArgumentFormat(I)I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->checkArgumentFormatInternal(I)I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->checkArgumentFormatSupported(IZ)I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->depthFormatToPublic(I)I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->DURATION_20FPS_NS:J
-Landroid/hardware/camera2/params/StreamConfigurationMap;->DURATION_MIN_FRAME:I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->DURATION_STALL:I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->formatToString(I)Ljava/lang/String;
-Landroid/hardware/camera2/params/StreamConfigurationMap;->getDurations(II)[Landroid/hardware/camera2/params/StreamConfigurationDuration;
-Landroid/hardware/camera2/params/StreamConfigurationMap;->getFormatsMap(Z)Landroid/util/SparseIntArray;
-Landroid/hardware/camera2/params/StreamConfigurationMap;->getInternalFormatDuration(IILandroid/util/Size;I)J
-Landroid/hardware/camera2/params/StreamConfigurationMap;->getInternalFormatSizes(IIZZ)[Landroid/util/Size;
-Landroid/hardware/camera2/params/StreamConfigurationMap;->getPublicFormatCount(Z)I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->getPublicFormats(Z)[I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->getPublicFormatSizes(IZZ)[Landroid/util/Size;
-Landroid/hardware/camera2/params/StreamConfigurationMap;->HAL_DATASPACE_DEPTH:I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->HAL_DATASPACE_RANGE_SHIFT:I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->HAL_DATASPACE_STANDARD_SHIFT:I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->HAL_DATASPACE_TRANSFER_SHIFT:I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->HAL_DATASPACE_UNKNOWN:I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->HAL_DATASPACE_V0_JFIF:I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->HAL_PIXEL_FORMAT_BLOB:I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED:I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->HAL_PIXEL_FORMAT_RAW10:I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->HAL_PIXEL_FORMAT_RAW12:I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->HAL_PIXEL_FORMAT_RAW16:I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->HAL_PIXEL_FORMAT_RAW_OPAQUE:I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->HAL_PIXEL_FORMAT_Y16:I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->HAL_PIXEL_FORMAT_YCbCr_420_888:I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->imageFormatToDataspace(I)I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->imageFormatToInternal(I)I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->imageFormatToInternal([I)[I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->imageFormatToPublic(I)I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->imageFormatToPublic([I)[I
-Landroid/hardware/camera2/params/StreamConfigurationMap;->isSupportedInternalConfiguration(IILandroid/util/Size;)Z
-Landroid/hardware/camera2/params/StreamConfigurationMap;->mAllOutputFormats:Landroid/util/SparseIntArray;
-Landroid/hardware/camera2/params/StreamConfigurationMap;->mConfigurations:[Landroid/hardware/camera2/params/StreamConfiguration;
-Landroid/hardware/camera2/params/StreamConfigurationMap;->mDepthConfigurations:[Landroid/hardware/camera2/params/StreamConfiguration;
-Landroid/hardware/camera2/params/StreamConfigurationMap;->mDepthMinFrameDurations:[Landroid/hardware/camera2/params/StreamConfigurationDuration;
-Landroid/hardware/camera2/params/StreamConfigurationMap;->mDepthOutputFormats:Landroid/util/SparseIntArray;
-Landroid/hardware/camera2/params/StreamConfigurationMap;->mDepthStallDurations:[Landroid/hardware/camera2/params/StreamConfigurationDuration;
-Landroid/hardware/camera2/params/StreamConfigurationMap;->mHighResOutputFormats:Landroid/util/SparseIntArray;
-Landroid/hardware/camera2/params/StreamConfigurationMap;->mHighSpeedVideoConfigurations:[Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;
-Landroid/hardware/camera2/params/StreamConfigurationMap;->mHighSpeedVideoFpsRangeMap:Ljava/util/HashMap;
-Landroid/hardware/camera2/params/StreamConfigurationMap;->mHighSpeedVideoSizeMap:Ljava/util/HashMap;
-Landroid/hardware/camera2/params/StreamConfigurationMap;->mInputFormats:Landroid/util/SparseIntArray;
-Landroid/hardware/camera2/params/StreamConfigurationMap;->mInputOutputFormatsMap:Landroid/hardware/camera2/params/ReprocessFormatsMap;
-Landroid/hardware/camera2/params/StreamConfigurationMap;->mListHighResolution:Z
-Landroid/hardware/camera2/params/StreamConfigurationMap;->mMinFrameDurations:[Landroid/hardware/camera2/params/StreamConfigurationDuration;
-Landroid/hardware/camera2/params/StreamConfigurationMap;->mOutputFormats:Landroid/util/SparseIntArray;
-Landroid/hardware/camera2/params/StreamConfigurationMap;->mStallDurations:[Landroid/hardware/camera2/params/StreamConfigurationDuration;
-Landroid/hardware/camera2/params/StreamConfigurationMap;->TAG:Ljava/lang/String;
-Landroid/hardware/camera2/params/TonemapCurve;->checkArgumentArrayLengthDivisibleBy([FILjava/lang/String;)V
-Landroid/hardware/camera2/params/TonemapCurve;->checkArgumentArrayLengthNoLessThan([FILjava/lang/String;)V
-Landroid/hardware/camera2/params/TonemapCurve;->checkArgumentColorChannel(I)I
-Landroid/hardware/camera2/params/TonemapCurve;->curveToString(I)Ljava/lang/String;
-Landroid/hardware/camera2/params/TonemapCurve;->getCurve(I)[F
-Landroid/hardware/camera2/params/TonemapCurve;->mBlue:[F
-Landroid/hardware/camera2/params/TonemapCurve;->mGreen:[F
-Landroid/hardware/camera2/params/TonemapCurve;->mHashCalculated:Z
-Landroid/hardware/camera2/params/TonemapCurve;->mHashCode:I
-Landroid/hardware/camera2/params/TonemapCurve;->MIN_CURVE_LENGTH:I
-Landroid/hardware/camera2/params/TonemapCurve;->mRed:[F
-Landroid/hardware/camera2/params/TonemapCurve;->OFFSET_POINT_IN:I
-Landroid/hardware/camera2/params/TonemapCurve;->OFFSET_POINT_OUT:I
-Landroid/hardware/camera2/params/TonemapCurve;->TONEMAP_MIN_CURVE_POINTS:I
-Landroid/hardware/camera2/params/VendorTagDescriptor;
-Landroid/hardware/camera2/params/VendorTagDescriptor;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/camera2/params/VendorTagDescriptor;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/camera2/params/VendorTagDescriptor;->TAG:Ljava/lang/String;
-Landroid/hardware/camera2/params/VendorTagDescriptorCache;
-Landroid/hardware/camera2/params/VendorTagDescriptorCache;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/camera2/params/VendorTagDescriptorCache;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/camera2/params/VendorTagDescriptorCache;->TAG:Ljava/lang/String;
-Landroid/hardware/camera2/TotalCaptureResult;-><init>(Landroid/hardware/camera2/impl/CameraMetadataNative;I)V
-Landroid/hardware/camera2/TotalCaptureResult;-><init>(Landroid/hardware/camera2/impl/CameraMetadataNative;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/impl/CaptureResultExtras;Ljava/util/List;I[Landroid/hardware/camera2/impl/PhysicalCaptureResultInfo;)V
-Landroid/hardware/camera2/TotalCaptureResult;->getSessionId()I
-Landroid/hardware/camera2/TotalCaptureResult;->mPartialResults:Ljava/util/List;
-Landroid/hardware/camera2/TotalCaptureResult;->mPhysicalCaptureResults:Ljava/util/HashMap;
-Landroid/hardware/camera2/TotalCaptureResult;->mSessionId:I
-Landroid/hardware/camera2/utils/ArrayUtils;
-Landroid/hardware/camera2/utils/ArrayUtils;-><init>()V
-Landroid/hardware/camera2/utils/ArrayUtils;->contains([II)Z
-Landroid/hardware/camera2/utils/ArrayUtils;->contains([Ljava/lang/Object;Ljava/lang/Object;)Z
-Landroid/hardware/camera2/utils/ArrayUtils;->convertStringListToIntArray(Ljava/util/List;[Ljava/lang/String;[I)[I
-Landroid/hardware/camera2/utils/ArrayUtils;->convertStringListToIntList(Ljava/util/List;[Ljava/lang/String;[I)Ljava/util/List;
-Landroid/hardware/camera2/utils/ArrayUtils;->DEBUG:Z
-Landroid/hardware/camera2/utils/ArrayUtils;->getArrayIndex([II)I
-Landroid/hardware/camera2/utils/ArrayUtils;->getArrayIndex([Ljava/lang/Object;Ljava/lang/Object;)I
-Landroid/hardware/camera2/utils/ArrayUtils;->TAG:Ljava/lang/String;
-Landroid/hardware/camera2/utils/ArrayUtils;->toIntArray(Ljava/util/List;)[I
-Landroid/hardware/camera2/utils/CloseableLock$ScopedLock;
-Landroid/hardware/camera2/utils/CloseableLock$ScopedLock;-><init>()V
-Landroid/hardware/camera2/utils/CloseableLock;
-Landroid/hardware/camera2/utils/CloseableLock;-><init>()V
-Landroid/hardware/camera2/utils/CloseableLock;-><init>(Ljava/lang/String;)V
-Landroid/hardware/camera2/utils/CloseableLock;->acquireExclusiveLock()Landroid/hardware/camera2/utils/CloseableLock$ScopedLock;
-Landroid/hardware/camera2/utils/CloseableLock;->acquireLock()Landroid/hardware/camera2/utils/CloseableLock$ScopedLock;
-Landroid/hardware/camera2/utils/CloseableLock;->log(Ljava/lang/String;)V
-Landroid/hardware/camera2/utils/CloseableLock;->mClosed:Z
-Landroid/hardware/camera2/utils/CloseableLock;->mCondition:Ljava/util/concurrent/locks/Condition;
-Landroid/hardware/camera2/utils/CloseableLock;->mExclusive:Z
-Landroid/hardware/camera2/utils/CloseableLock;->mLock:Ljava/util/concurrent/locks/ReentrantLock;
-Landroid/hardware/camera2/utils/CloseableLock;->mLockCount:Ljava/lang/ThreadLocal;
-Landroid/hardware/camera2/utils/CloseableLock;->mName:Ljava/lang/String;
-Landroid/hardware/camera2/utils/CloseableLock;->mSharedLocks:I
-Landroid/hardware/camera2/utils/CloseableLock;->releaseLock()V
-Landroid/hardware/camera2/utils/CloseableLock;->TAG:Ljava/lang/String;
-Landroid/hardware/camera2/utils/CloseableLock;->VERBOSE:Z
-Landroid/hardware/camera2/utils/HashCodeHelpers;
-Landroid/hardware/camera2/utils/HashCodeHelpers;-><init>()V
-Landroid/hardware/camera2/utils/HashCodeHelpers;->hashCode([[F)I
-Landroid/hardware/camera2/utils/HashCodeHelpers;->hashCode([[I)I
-Landroid/hardware/camera2/utils/HashCodeHelpers;->hashCodeGeneric([[Ljava/lang/Object;)I
-Landroid/hardware/camera2/utils/ListUtils;
-Landroid/hardware/camera2/utils/ListUtils;-><init>()V
-Landroid/hardware/camera2/utils/ListUtils;->listContains(Ljava/util/List;Ljava/lang/Object;)Z
-Landroid/hardware/camera2/utils/ListUtils;->listElementsEqualTo(Ljava/util/List;Ljava/lang/Object;)Z
-Landroid/hardware/camera2/utils/ListUtils;->listSelectFirstFrom(Ljava/util/List;[Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/hardware/camera2/utils/ListUtils;->listToString(Ljava/util/List;)Ljava/lang/String;
-Landroid/hardware/camera2/utils/LongParcelable;
-Landroid/hardware/camera2/utils/LongParcelable;-><init>()V
-Landroid/hardware/camera2/utils/LongParcelable;-><init>(J)V
-Landroid/hardware/camera2/utils/LongParcelable;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/camera2/utils/LongParcelable;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/camera2/utils/LongParcelable;->getNumber()J
-Landroid/hardware/camera2/utils/LongParcelable;->number:J
-Landroid/hardware/camera2/utils/LongParcelable;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/hardware/camera2/utils/LongParcelable;->setNumber(J)V
-Landroid/hardware/camera2/utils/ParamsUtils;
-Landroid/hardware/camera2/utils/ParamsUtils;-><init>()V
-Landroid/hardware/camera2/utils/ParamsUtils;->convertRectF(Landroid/graphics/Rect;Landroid/graphics/RectF;)V
-Landroid/hardware/camera2/utils/ParamsUtils;->createRational(F)Landroid/util/Rational;
-Landroid/hardware/camera2/utils/ParamsUtils;->createRect(Landroid/graphics/RectF;)Landroid/graphics/Rect;
-Landroid/hardware/camera2/utils/ParamsUtils;->createRect(Landroid/util/Size;)Landroid/graphics/Rect;
-Landroid/hardware/camera2/utils/ParamsUtils;->createSize(Landroid/graphics/Rect;)Landroid/util/Size;
-Landroid/hardware/camera2/utils/ParamsUtils;->getOrDefault(Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/hardware/camera2/utils/ParamsUtils;->mapRect(Landroid/graphics/Matrix;Landroid/graphics/Rect;)Landroid/graphics/Rect;
-Landroid/hardware/camera2/utils/ParamsUtils;->RATIONAL_DENOMINATOR:I
-Landroid/hardware/camera2/utils/SizeAreaComparator;
-Landroid/hardware/camera2/utils/SizeAreaComparator;-><init>()V
-Landroid/hardware/camera2/utils/SizeAreaComparator;->compare(Landroid/util/Size;Landroid/util/Size;)I
-Landroid/hardware/camera2/utils/SizeAreaComparator;->findLargestByArea(Ljava/util/List;)Landroid/util/Size;
-Landroid/hardware/camera2/utils/SubmitInfo;
-Landroid/hardware/camera2/utils/SubmitInfo;-><init>()V
-Landroid/hardware/camera2/utils/SubmitInfo;-><init>(IJ)V
-Landroid/hardware/camera2/utils/SubmitInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/camera2/utils/SubmitInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/camera2/utils/SubmitInfo;->getLastFrameNumber()J
-Landroid/hardware/camera2/utils/SubmitInfo;->getRequestId()I
-Landroid/hardware/camera2/utils/SubmitInfo;->mLastFrameNumber:J
-Landroid/hardware/camera2/utils/SubmitInfo;->mRequestId:I
-Landroid/hardware/camera2/utils/SubmitInfo;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/hardware/camera2/utils/SurfaceUtils;
-Landroid/hardware/camera2/utils/SurfaceUtils;-><init>()V
-Landroid/hardware/camera2/utils/SurfaceUtils;->checkConstrainedHighSpeedSurfaces(Ljava/util/Collection;Landroid/util/Range;Landroid/hardware/camera2/params/StreamConfigurationMap;)V
-Landroid/hardware/camera2/utils/SurfaceUtils;->checkHighSpeedSurfaceFormat(Landroid/view/Surface;)V
-Landroid/hardware/camera2/utils/SurfaceUtils;->getSurfaceDataspace(Landroid/view/Surface;)I
-Landroid/hardware/camera2/utils/SurfaceUtils;->getSurfaceFormat(Landroid/view/Surface;)I
-Landroid/hardware/camera2/utils/SurfaceUtils;->getSurfaceId(Landroid/view/Surface;)J
-Landroid/hardware/camera2/utils/SurfaceUtils;->isFlexibleConsumer(Landroid/view/Surface;)Z
-Landroid/hardware/camera2/utils/SurfaceUtils;->isSurfaceForHwVideoEncoder(Landroid/view/Surface;)Z
-Landroid/hardware/camera2/utils/SurfaceUtils;->isSurfaceForPreview(Landroid/view/Surface;)Z
-Landroid/hardware/camera2/utils/TaskDrainer$DrainListener;
-Landroid/hardware/camera2/utils/TaskDrainer$DrainListener;->onDrained()V
-Landroid/hardware/camera2/utils/TaskDrainer;
-Landroid/hardware/camera2/utils/TaskDrainer;-><init>(Ljava/util/concurrent/Executor;Landroid/hardware/camera2/utils/TaskDrainer$DrainListener;)V
-Landroid/hardware/camera2/utils/TaskDrainer;-><init>(Ljava/util/concurrent/Executor;Landroid/hardware/camera2/utils/TaskDrainer$DrainListener;Ljava/lang/String;)V
-Landroid/hardware/camera2/utils/TaskDrainer;->beginDrain()V
-Landroid/hardware/camera2/utils/TaskDrainer;->checkIfDrainFinished()V
-Landroid/hardware/camera2/utils/TaskDrainer;->DEBUG:Z
-Landroid/hardware/camera2/utils/TaskDrainer;->mDrainFinished:Z
-Landroid/hardware/camera2/utils/TaskDrainer;->mDraining:Z
-Landroid/hardware/camera2/utils/TaskDrainer;->mEarlyFinishedTaskSet:Ljava/util/Set;
-Landroid/hardware/camera2/utils/TaskDrainer;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/hardware/camera2/utils/TaskDrainer;->mListener:Landroid/hardware/camera2/utils/TaskDrainer$DrainListener;
-Landroid/hardware/camera2/utils/TaskDrainer;->mLock:Ljava/lang/Object;
-Landroid/hardware/camera2/utils/TaskDrainer;->mName:Ljava/lang/String;
-Landroid/hardware/camera2/utils/TaskDrainer;->mTaskSet:Ljava/util/Set;
-Landroid/hardware/camera2/utils/TaskDrainer;->postDrained()V
-Landroid/hardware/camera2/utils/TaskDrainer;->TAG:Ljava/lang/String;
-Landroid/hardware/camera2/utils/TaskDrainer;->taskFinished(Ljava/lang/Object;)V
-Landroid/hardware/camera2/utils/TaskDrainer;->taskStarted(Ljava/lang/Object;)V
-Landroid/hardware/camera2/utils/TaskSingleDrainer;
-Landroid/hardware/camera2/utils/TaskSingleDrainer;-><init>(Ljava/util/concurrent/Executor;Landroid/hardware/camera2/utils/TaskDrainer$DrainListener;)V
-Landroid/hardware/camera2/utils/TaskSingleDrainer;-><init>(Ljava/util/concurrent/Executor;Landroid/hardware/camera2/utils/TaskDrainer$DrainListener;Ljava/lang/String;)V
-Landroid/hardware/camera2/utils/TaskSingleDrainer;->beginDrain()V
-Landroid/hardware/camera2/utils/TaskSingleDrainer;->mSingleTask:Ljava/lang/Object;
-Landroid/hardware/camera2/utils/TaskSingleDrainer;->mTaskDrainer:Landroid/hardware/camera2/utils/TaskDrainer;
-Landroid/hardware/camera2/utils/TaskSingleDrainer;->taskFinished()V
-Landroid/hardware/camera2/utils/TaskSingleDrainer;->taskStarted()V
-Landroid/hardware/camera2/utils/TypeReference$SpecializedBaseTypeReference;
-Landroid/hardware/camera2/utils/TypeReference$SpecializedBaseTypeReference;-><init>(Ljava/lang/reflect/Type;)V
-Landroid/hardware/camera2/utils/TypeReference$SpecializedTypeReference;
-Landroid/hardware/camera2/utils/TypeReference$SpecializedTypeReference;-><init>(Ljava/lang/Class;)V
-Landroid/hardware/camera2/utils/TypeReference;
-Landroid/hardware/camera2/utils/TypeReference;-><init>(Ljava/lang/reflect/Type;)V
-Landroid/hardware/camera2/utils/TypeReference;->containsTypeVariable(Ljava/lang/reflect/Type;)Z
-Landroid/hardware/camera2/utils/TypeReference;->containsTypeVariable([Ljava/lang/reflect/Type;)Z
-Landroid/hardware/camera2/utils/TypeReference;->createSpecializedTypeReference(Ljava/lang/Class;)Landroid/hardware/camera2/utils/TypeReference;
-Landroid/hardware/camera2/utils/TypeReference;->getArrayClass(Ljava/lang/Class;)Ljava/lang/Class;
-Landroid/hardware/camera2/utils/TypeReference;->getComponentType()Landroid/hardware/camera2/utils/TypeReference;
-Landroid/hardware/camera2/utils/TypeReference;->getComponentType(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
-Landroid/hardware/camera2/utils/TypeReference;->getRawType()Ljava/lang/Class;
-Landroid/hardware/camera2/utils/TypeReference;->getRawType(Ljava/lang/reflect/Type;)Ljava/lang/Class;
-Landroid/hardware/camera2/utils/TypeReference;->getRawType([Ljava/lang/reflect/Type;)Ljava/lang/Class;
-Landroid/hardware/camera2/utils/TypeReference;->getType()Ljava/lang/reflect/Type;
-Landroid/hardware/camera2/utils/TypeReference;->mHash:I
-Landroid/hardware/camera2/utils/TypeReference;->mType:Ljava/lang/reflect/Type;
-Landroid/hardware/camera2/utils/TypeReference;->toString(Ljava/lang/reflect/Type;Ljava/lang/StringBuilder;)V
-Landroid/hardware/camera2/utils/TypeReference;->toString([Ljava/lang/reflect/Type;Ljava/lang/StringBuilder;)V
-Landroid/hardware/camera2/utils/UncheckedThrow;
-Landroid/hardware/camera2/utils/UncheckedThrow;-><init>()V
-Landroid/hardware/camera2/utils/UncheckedThrow;->throwAnyException(Ljava/lang/Exception;)V
-Landroid/hardware/camera2/utils/UncheckedThrow;->throwAnyException(Ljava/lang/Throwable;)V
-Landroid/hardware/camera2/utils/UncheckedThrow;->throwAnyImpl(Ljava/lang/Throwable;)V
-Landroid/hardware/Camera;-><init>()V
-Landroid/hardware/Camera;-><init>(I)V
-Landroid/hardware/Camera;-><init>(II)V
-Landroid/hardware/Camera;->cameraInitNormal(I)I
-Landroid/hardware/Camera;->cameraInitUnspecified(I)I
-Landroid/hardware/Camera;->cameraInitVersion(II)I
-Landroid/hardware/Camera;->CAMERA_ERROR_DISABLED:I
-Landroid/hardware/Camera;->CAMERA_FACE_DETECTION_HW:I
-Landroid/hardware/Camera;->CAMERA_FACE_DETECTION_SW:I
-Landroid/hardware/Camera;->CAMERA_HAL_API_VERSION_NORMAL_CONNECT:I
-Landroid/hardware/Camera;->CAMERA_HAL_API_VERSION_UNSPECIFIED:I
-Landroid/hardware/Camera;->CAMERA_MSG_COMPRESSED_IMAGE:I
-Landroid/hardware/Camera;->CAMERA_MSG_ERROR:I
-Landroid/hardware/Camera;->CAMERA_MSG_FOCUS:I
-Landroid/hardware/Camera;->CAMERA_MSG_FOCUS_MOVE:I
-Landroid/hardware/Camera;->CAMERA_MSG_POSTVIEW_FRAME:I
-Landroid/hardware/Camera;->CAMERA_MSG_PREVIEW_FRAME:I
-Landroid/hardware/Camera;->CAMERA_MSG_PREVIEW_METADATA:I
-Landroid/hardware/Camera;->CAMERA_MSG_RAW_IMAGE:I
-Landroid/hardware/Camera;->CAMERA_MSG_RAW_IMAGE_NOTIFY:I
-Landroid/hardware/Camera;->CAMERA_MSG_SHUTTER:I
-Landroid/hardware/Camera;->CAMERA_MSG_VIDEO_FRAME:I
-Landroid/hardware/Camera;->CAMERA_MSG_ZOOM:I
-Landroid/hardware/Camera;->checkInitErrors(I)Z
-Landroid/hardware/Camera;->createPreviewAllocation(Landroid/renderscript/RenderScript;I)Landroid/renderscript/Allocation;
-Landroid/hardware/Camera;->disableShutterSound()Z
-Landroid/hardware/Camera;->enableFocusMoveCallback(I)V
-Landroid/hardware/Camera;->getParametersCopy(Landroid/hardware/Camera$Parameters;)Landroid/hardware/Camera$Parameters;
-Landroid/hardware/Camera;->initAppOps()V
-Landroid/hardware/Camera;->mAppOps:Lcom/android/internal/app/IAppOpsService;
-Landroid/hardware/Camera;->mAppOpsCallback:Lcom/android/internal/app/IAppOpsCallback;
-Landroid/hardware/Camera;->mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
-Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
-Landroid/hardware/Camera;->mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
-Landroid/hardware/Camera;->mDetailedErrorCallback:Landroid/hardware/Camera$ErrorCallback;
-Landroid/hardware/Camera;->mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
-Landroid/hardware/Camera;->mEventHandler:Landroid/hardware/Camera$EventHandler;
-Landroid/hardware/Camera;->mFaceDetectionRunning:Z
-Landroid/hardware/Camera;->mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
-Landroid/hardware/Camera;->mHasAppOpsPlayAudio:Z
-Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
-Landroid/hardware/Camera;->mOneShot:Z
-Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
-Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
-Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
-Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
-Landroid/hardware/Camera;->mShutterSoundEnabledFromApp:Z
-Landroid/hardware/Camera;->mShutterSoundLock:Ljava/lang/Object;
-Landroid/hardware/Camera;->mUsingPreviewAllocation:Z
-Landroid/hardware/Camera;->mWithBuffer:Z
-Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
-Landroid/hardware/Camera;->native_autoFocus()V
-Landroid/hardware/Camera;->native_cancelAutoFocus()V
-Landroid/hardware/Camera;->native_release()V
-Landroid/hardware/Camera;->native_takePicture(I)V
-Landroid/hardware/Camera;->NO_ERROR:I
-Landroid/hardware/Camera;->openUninitialized()Landroid/hardware/Camera;
-Landroid/hardware/Camera;->releaseAppOps()V
-Landroid/hardware/Camera;->setDetailedErrorCallback(Landroid/hardware/Camera$ErrorCallback;)V
-Landroid/hardware/Camera;->setHasPreviewCallback(ZZ)V
-Landroid/hardware/Camera;->setPreviewCallbackAllocation(Landroid/renderscript/Allocation;)V
-Landroid/hardware/Camera;->setPreviewCallbackSurface(Landroid/view/Surface;)V
-Landroid/hardware/Camera;->TAG:Ljava/lang/String;
-Landroid/hardware/Camera;->updateAppOpsPlayAudio()V
-Landroid/hardware/Camera;->_addCallbackBuffer([BI)V
-Landroid/hardware/Camera;->_enableShutterSound(Z)Z
-Landroid/hardware/Camera;->_getCameraInfo(ILandroid/hardware/Camera$CameraInfo;)V
-Landroid/hardware/Camera;->_startFaceDetection(I)V
-Landroid/hardware/Camera;->_stopFaceDetection()V
-Landroid/hardware/Camera;->_stopPreview()V
-Landroid/hardware/CameraInfo;
-Landroid/hardware/CameraInfo;-><init>()V
-Landroid/hardware/CameraInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/CameraInfo;->info:Landroid/hardware/Camera$CameraInfo;
-Landroid/hardware/CameraInfo;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/hardware/CameraStatus;
-Landroid/hardware/CameraStatus;-><init>()V
-Landroid/hardware/CameraStatus;->cameraId:Ljava/lang/String;
-Landroid/hardware/CameraStatus;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/CameraStatus;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/hardware/CameraStatus;->status:I
-Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange;->mMaxFrequency:I
-Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange;->mMinFrequency:I
-Landroid/hardware/ConsumerIrManager;-><init>(Landroid/content/Context;)V
-Landroid/hardware/ConsumerIrManager;->mPackageName:Ljava/lang/String;
-Landroid/hardware/ConsumerIrManager;->mService:Landroid/hardware/IConsumerIrService;
-Landroid/hardware/ConsumerIrManager;->TAG:Ljava/lang/String;
-Landroid/hardware/display/AmbientBrightnessDayStats;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/display/AmbientBrightnessDayStats;-><init>(Ljava/time/LocalDate;[F)V
-Landroid/hardware/display/AmbientBrightnessDayStats;-><init>(Ljava/time/LocalDate;[F[F)V
-Landroid/hardware/display/AmbientBrightnessDayStats;->checkSorted([F)V
-Landroid/hardware/display/AmbientBrightnessDayStats;->getBucketIndex(F)I
-Landroid/hardware/display/AmbientBrightnessDayStats;->log(FF)V
-Landroid/hardware/display/AmbientBrightnessDayStats;->mBucketBoundaries:[F
-Landroid/hardware/display/AmbientBrightnessDayStats;->mLocalDate:Ljava/time/LocalDate;
-Landroid/hardware/display/AmbientBrightnessDayStats;->mStats:[F
-Landroid/hardware/display/BrightnessChangeEvent$Builder;
-Landroid/hardware/display/BrightnessChangeEvent$Builder;-><init>()V
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->build()Landroid/hardware/display/BrightnessChangeEvent;
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->mBatteryLevel:F
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->mBrightness:F
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->mColorTemperature:I
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->mIsDefaultBrightnessConfig:Z
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->mIsUserSetBrightness:Z
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->mLastBrightness:F
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->mLuxTimestamps:[J
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->mLuxValues:[F
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->mNightMode:Z
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->mPackageName:Ljava/lang/String;
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->mPowerBrightnessFactor:F
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->mTimeStamp:J
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->mUserId:I
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->setBatteryLevel(F)Landroid/hardware/display/BrightnessChangeEvent$Builder;
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->setBrightness(F)Landroid/hardware/display/BrightnessChangeEvent$Builder;
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->setColorTemperature(I)Landroid/hardware/display/BrightnessChangeEvent$Builder;
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->setIsDefaultBrightnessConfig(Z)Landroid/hardware/display/BrightnessChangeEvent$Builder;
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->setLastBrightness(F)Landroid/hardware/display/BrightnessChangeEvent$Builder;
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->setLuxTimestamps([J)Landroid/hardware/display/BrightnessChangeEvent$Builder;
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->setLuxValues([F)Landroid/hardware/display/BrightnessChangeEvent$Builder;
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->setNightMode(Z)Landroid/hardware/display/BrightnessChangeEvent$Builder;
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->setPackageName(Ljava/lang/String;)Landroid/hardware/display/BrightnessChangeEvent$Builder;
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->setPowerBrightnessFactor(F)Landroid/hardware/display/BrightnessChangeEvent$Builder;
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->setTimeStamp(J)Landroid/hardware/display/BrightnessChangeEvent$Builder;
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->setUserBrightnessPoint(Z)Landroid/hardware/display/BrightnessChangeEvent$Builder;
-Landroid/hardware/display/BrightnessChangeEvent$Builder;->setUserId(I)Landroid/hardware/display/BrightnessChangeEvent$Builder;
-Landroid/hardware/display/BrightnessChangeEvent;-><init>(FJLjava/lang/String;I[F[JFFZIFZZ)V
-Landroid/hardware/display/BrightnessChangeEvent;-><init>(Landroid/hardware/display/BrightnessChangeEvent;Z)V
-Landroid/hardware/display/BrightnessChangeEvent;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/display/BrightnessChangeEvent;->userId:I
-Landroid/hardware/display/BrightnessConfiguration$Builder;-><init>()V
-Landroid/hardware/display/BrightnessConfiguration$Builder;->checkMonotonic([FZLjava/lang/String;)V
-Landroid/hardware/display/BrightnessConfiguration$Builder;->mCurveLux:[F
-Landroid/hardware/display/BrightnessConfiguration$Builder;->mCurveNits:[F
-Landroid/hardware/display/BrightnessConfiguration$Builder;->mDescription:Ljava/lang/String;
-Landroid/hardware/display/BrightnessConfiguration$Builder;->setCurve([F[F)Landroid/hardware/display/BrightnessConfiguration$Builder;
-Landroid/hardware/display/BrightnessConfiguration;-><init>([F[FLjava/lang/String;)V
-Landroid/hardware/display/BrightnessConfiguration;->getDescription()Ljava/lang/String;
-Landroid/hardware/display/BrightnessConfiguration;->mDescription:Ljava/lang/String;
-Landroid/hardware/display/BrightnessConfiguration;->mLux:[F
-Landroid/hardware/display/BrightnessConfiguration;->mNits:[F
-Landroid/hardware/display/Curve;
-Landroid/hardware/display/Curve;-><init>([F[F)V
-Landroid/hardware/display/Curve;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/display/Curve;->getX()[F
-Landroid/hardware/display/Curve;->getY()[F
-Landroid/hardware/display/Curve;->mX:[F
-Landroid/hardware/display/Curve;->mY:[F
-Landroid/hardware/display/DisplayManager;-><init>(Landroid/content/Context;)V
-Landroid/hardware/display/DisplayManager;->addAllDisplaysLocked(Ljava/util/ArrayList;[I)V
-Landroid/hardware/display/DisplayManager;->addPresentationDisplaysLocked(Ljava/util/ArrayList;[II)V
-Landroid/hardware/display/DisplayManager;->createVirtualDisplay(Landroid/media/projection/MediaProjection;Ljava/lang/String;IIILandroid/view/Surface;ILandroid/hardware/display/VirtualDisplay$Callback;Landroid/os/Handler;Ljava/lang/String;)Landroid/hardware/display/VirtualDisplay;
-Landroid/hardware/display/DisplayManager;->DEBUG:Z
-Landroid/hardware/display/DisplayManager;->getBrightnessConfigurationForUser(I)Landroid/hardware/display/BrightnessConfiguration;
-Landroid/hardware/display/DisplayManager;->getOrCreateDisplayLocked(IZ)Landroid/view/Display;
-Landroid/hardware/display/DisplayManager;->mContext:Landroid/content/Context;
-Landroid/hardware/display/DisplayManager;->mDisplays:Landroid/util/SparseArray;
-Landroid/hardware/display/DisplayManager;->mGlobal:Landroid/hardware/display/DisplayManagerGlobal;
-Landroid/hardware/display/DisplayManager;->mLock:Ljava/lang/Object;
-Landroid/hardware/display/DisplayManager;->mTempDisplays:Ljava/util/ArrayList;
-Landroid/hardware/display/DisplayManager;->setBrightnessConfigurationForUser(Landroid/hardware/display/BrightnessConfiguration;ILjava/lang/String;)V
-Landroid/hardware/display/DisplayManager;->setTemporaryAutoBrightnessAdjustment(F)V
-Landroid/hardware/display/DisplayManager;->setTemporaryBrightness(I)V
-Landroid/hardware/display/DisplayManager;->TAG:Ljava/lang/String;
-Landroid/hardware/display/DisplayManager;->VIRTUAL_DISPLAY_FLAG_CAN_SHOW_WITH_INSECURE_KEYGUARD:I
-Landroid/hardware/display/DisplayManager;->VIRTUAL_DISPLAY_FLAG_DESTROY_CONTENT_ON_REMOVAL:I
-Landroid/hardware/display/DisplayManager;->VIRTUAL_DISPLAY_FLAG_ROTATES_WITH_CONTENT:I
-Landroid/hardware/display/DisplayManager;->VIRTUAL_DISPLAY_FLAG_SUPPORTS_TOUCH:I
-Landroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;
-Landroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;-><init>(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V
-Landroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->clearEvents()V
-Landroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->mListener:Landroid/hardware/display/DisplayManager$DisplayListener;
-Landroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->sendDisplayEvent(II)V
-Landroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;
-Landroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;-><init>()V
-Landroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;->onDisplayEvent(II)V
-Landroid/hardware/display/DisplayManagerGlobal$VirtualDisplayCallback;
-Landroid/hardware/display/DisplayManagerGlobal$VirtualDisplayCallback;-><init>(Landroid/hardware/display/VirtualDisplay$Callback;Landroid/os/Handler;)V
-Landroid/hardware/display/DisplayManagerGlobal$VirtualDisplayCallback;->mDelegate:Landroid/hardware/display/DisplayManagerGlobal$VirtualDisplayCallbackDelegate;
-Landroid/hardware/display/DisplayManagerGlobal$VirtualDisplayCallback;->onPaused()V
-Landroid/hardware/display/DisplayManagerGlobal$VirtualDisplayCallback;->onResumed()V
-Landroid/hardware/display/DisplayManagerGlobal$VirtualDisplayCallback;->onStopped()V
-Landroid/hardware/display/DisplayManagerGlobal$VirtualDisplayCallbackDelegate;
-Landroid/hardware/display/DisplayManagerGlobal$VirtualDisplayCallbackDelegate;-><init>(Landroid/hardware/display/VirtualDisplay$Callback;Landroid/os/Handler;)V
-Landroid/hardware/display/DisplayManagerGlobal$VirtualDisplayCallbackDelegate;->mCallback:Landroid/hardware/display/VirtualDisplay$Callback;
-Landroid/hardware/display/DisplayManagerGlobal$VirtualDisplayCallbackDelegate;->MSG_DISPLAY_PAUSED:I
-Landroid/hardware/display/DisplayManagerGlobal$VirtualDisplayCallbackDelegate;->MSG_DISPLAY_RESUMED:I
-Landroid/hardware/display/DisplayManagerGlobal$VirtualDisplayCallbackDelegate;->MSG_DISPLAY_STOPPED:I
-Landroid/hardware/display/DisplayManagerGlobal;
-Landroid/hardware/display/DisplayManagerGlobal;-><init>(Landroid/hardware/display/IDisplayManager;)V
-Landroid/hardware/display/DisplayManagerGlobal;->connectWifiDisplay(Ljava/lang/String;)V
-Landroid/hardware/display/DisplayManagerGlobal;->createVirtualDisplay(Landroid/content/Context;Landroid/media/projection/MediaProjection;Ljava/lang/String;IIILandroid/view/Surface;ILandroid/hardware/display/VirtualDisplay$Callback;Landroid/os/Handler;Ljava/lang/String;)Landroid/hardware/display/VirtualDisplay;
-Landroid/hardware/display/DisplayManagerGlobal;->DEBUG:Z
-Landroid/hardware/display/DisplayManagerGlobal;->EVENT_DISPLAY_ADDED:I
-Landroid/hardware/display/DisplayManagerGlobal;->EVENT_DISPLAY_CHANGED:I
-Landroid/hardware/display/DisplayManagerGlobal;->EVENT_DISPLAY_REMOVED:I
-Landroid/hardware/display/DisplayManagerGlobal;->findDisplayListenerLocked(Landroid/hardware/display/DisplayManager$DisplayListener;)I
-Landroid/hardware/display/DisplayManagerGlobal;->forgetWifiDisplay(Ljava/lang/String;)V
-Landroid/hardware/display/DisplayManagerGlobal;->getAmbientBrightnessStats()Ljava/util/List;
-Landroid/hardware/display/DisplayManagerGlobal;->getBrightnessConfigurationForUser(I)Landroid/hardware/display/BrightnessConfiguration;
-Landroid/hardware/display/DisplayManagerGlobal;->getBrightnessEvents(Ljava/lang/String;)Ljava/util/List;
-Landroid/hardware/display/DisplayManagerGlobal;->getCompatibleDisplay(ILandroid/content/res/Resources;)Landroid/view/Display;
-Landroid/hardware/display/DisplayManagerGlobal;->getCompatibleDisplay(ILandroid/view/DisplayAdjustments;)Landroid/view/Display;
-Landroid/hardware/display/DisplayManagerGlobal;->getDefaultBrightnessConfiguration()Landroid/hardware/display/BrightnessConfiguration;
-Landroid/hardware/display/DisplayManagerGlobal;->getMinimumBrightnessCurve()Landroid/util/Pair;
-Landroid/hardware/display/DisplayManagerGlobal;->getStableDisplaySize()Landroid/graphics/Point;
-Landroid/hardware/display/DisplayManagerGlobal;->handleDisplayEvent(II)V
-Landroid/hardware/display/DisplayManagerGlobal;->mCallback:Landroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;
-Landroid/hardware/display/DisplayManagerGlobal;->mDisplayIdCache:[I
-Landroid/hardware/display/DisplayManagerGlobal;->mDisplayInfoCache:Landroid/util/SparseArray;
-Landroid/hardware/display/DisplayManagerGlobal;->mDisplayListeners:Ljava/util/ArrayList;
-Landroid/hardware/display/DisplayManagerGlobal;->mLock:Ljava/lang/Object;
-Landroid/hardware/display/DisplayManagerGlobal;->mWifiDisplayScanNestCount:I
-Landroid/hardware/display/DisplayManagerGlobal;->pauseWifiDisplay()V
-Landroid/hardware/display/DisplayManagerGlobal;->registerCallbackIfNeededLocked()V
-Landroid/hardware/display/DisplayManagerGlobal;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V
-Landroid/hardware/display/DisplayManagerGlobal;->releaseVirtualDisplay(Landroid/hardware/display/IVirtualDisplayCallback;)V
-Landroid/hardware/display/DisplayManagerGlobal;->renameWifiDisplay(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/hardware/display/DisplayManagerGlobal;->requestColorMode(II)V
-Landroid/hardware/display/DisplayManagerGlobal;->resizeVirtualDisplay(Landroid/hardware/display/IVirtualDisplayCallback;III)V
-Landroid/hardware/display/DisplayManagerGlobal;->resumeWifiDisplay()V
-Landroid/hardware/display/DisplayManagerGlobal;->setBrightnessConfigurationForUser(Landroid/hardware/display/BrightnessConfiguration;ILjava/lang/String;)V
-Landroid/hardware/display/DisplayManagerGlobal;->setSaturationLevel(F)V
-Landroid/hardware/display/DisplayManagerGlobal;->setTemporaryAutoBrightnessAdjustment(F)V
-Landroid/hardware/display/DisplayManagerGlobal;->setTemporaryBrightness(I)V
-Landroid/hardware/display/DisplayManagerGlobal;->setVirtualDisplaySurface(Landroid/hardware/display/IVirtualDisplayCallback;Landroid/view/Surface;)V
-Landroid/hardware/display/DisplayManagerGlobal;->startWifiDisplayScan()V
-Landroid/hardware/display/DisplayManagerGlobal;->stopWifiDisplayScan()V
-Landroid/hardware/display/DisplayManagerGlobal;->TAG:Ljava/lang/String;
-Landroid/hardware/display/DisplayManagerGlobal;->unregisterDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;)V
-Landroid/hardware/display/DisplayManagerGlobal;->USE_CACHE:Z
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;->acquireSuspendBlocker()V
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;->onDisplayStateChange(I)V
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;->onProximityNegative()V
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;->onProximityPositive()V
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;->onStateChanged()V
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;->releaseSuspendBlocker()V
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;-><init>()V
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;-><init>(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;)V
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->blockScreenOn:Z
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->boostScreenBrightness:Z
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->copyFrom(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;)V
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->dozeScreenBrightness:I
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->dozeScreenState:I
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->equals(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;)Z
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->floatEquals(FF)Z
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->isBrightOrDim()Z
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->isVr()Z
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->lowPowerMode:Z
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->policy:I
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->policyToString(I)Ljava/lang/String;
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->POLICY_BRIGHT:I
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->POLICY_DIM:I
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->POLICY_DOZE:I
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->POLICY_OFF:I
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->POLICY_VR:I
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->screenAutoBrightnessAdjustmentOverride:F
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->screenBrightnessOverride:I
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->screenLowPowerBrightnessFactor:F
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->useAutoBrightness:Z
-Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->useProximitySensor:Z
-Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;
-Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;->onDisplayTransaction()V
-Landroid/hardware/display/DisplayManagerInternal;
-Landroid/hardware/display/DisplayManagerInternal;-><init>()V
-Landroid/hardware/display/DisplayManagerInternal;->getDisplayInfo(I)Landroid/view/DisplayInfo;
-Landroid/hardware/display/DisplayManagerInternal;->getNonOverrideDisplayInfo(ILandroid/view/DisplayInfo;)V
-Landroid/hardware/display/DisplayManagerInternal;->initPowerManagement(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;Landroid/os/Handler;Landroid/hardware/SensorManager;)V
-Landroid/hardware/display/DisplayManagerInternal;->isProximitySensorAvailable()Z
-Landroid/hardware/display/DisplayManagerInternal;->isUidPresentOnDisplay(II)Z
-Landroid/hardware/display/DisplayManagerInternal;->onOverlayChanged()V
-Landroid/hardware/display/DisplayManagerInternal;->performTraversal(Landroid/view/SurfaceControl$Transaction;)V
-Landroid/hardware/display/DisplayManagerInternal;->persistBrightnessTrackerState()V
-Landroid/hardware/display/DisplayManagerInternal;->registerDisplayTransactionListener(Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;)V
-Landroid/hardware/display/DisplayManagerInternal;->requestPowerState(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;Z)Z
-Landroid/hardware/display/DisplayManagerInternal;->setDisplayAccessUIDs(Landroid/util/SparseArray;)V
-Landroid/hardware/display/DisplayManagerInternal;->setDisplayInfoOverrideFromWindowManager(ILandroid/view/DisplayInfo;)V
-Landroid/hardware/display/DisplayManagerInternal;->setDisplayOffsets(III)V
-Landroid/hardware/display/DisplayManagerInternal;->setDisplayProperties(IZFIZ)V
-Landroid/hardware/display/DisplayManagerInternal;->unregisterDisplayTransactionListener(Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;)V
-Landroid/hardware/display/DisplayViewport;
-Landroid/hardware/display/DisplayViewport;-><init>()V
-Landroid/hardware/display/DisplayViewport;->copyFrom(Landroid/hardware/display/DisplayViewport;)V
-Landroid/hardware/display/DisplayViewport;->deviceHeight:I
-Landroid/hardware/display/DisplayViewport;->deviceWidth:I
-Landroid/hardware/display/DisplayViewport;->displayId:I
-Landroid/hardware/display/DisplayViewport;->logicalFrame:Landroid/graphics/Rect;
-Landroid/hardware/display/DisplayViewport;->makeCopy()Landroid/hardware/display/DisplayViewport;
-Landroid/hardware/display/DisplayViewport;->orientation:I
-Landroid/hardware/display/DisplayViewport;->physicalFrame:Landroid/graphics/Rect;
-Landroid/hardware/display/DisplayViewport;->uniqueId:Ljava/lang/String;
-Landroid/hardware/display/DisplayViewport;->valid:Z
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->connectWifiDisplay(Ljava/lang/String;)V
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->createVirtualDisplay(Landroid/hardware/display/IVirtualDisplayCallback;Landroid/media/projection/IMediaProjection;Ljava/lang/String;Ljava/lang/String;IIILandroid/view/Surface;ILjava/lang/String;)I
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->disconnectWifiDisplay()V
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->forgetWifiDisplay(Ljava/lang/String;)V
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->getAmbientBrightnessStats()Landroid/content/pm/ParceledListSlice;
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->getBrightnessConfigurationForUser(I)Landroid/hardware/display/BrightnessConfiguration;
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->getBrightnessEvents(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->getDefaultBrightnessConfiguration()Landroid/hardware/display/BrightnessConfiguration;
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->getDisplayIds()[I
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->getDisplayInfo(I)Landroid/view/DisplayInfo;
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->getMinimumBrightnessCurve()Landroid/hardware/display/Curve;
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->getStableDisplaySize()Landroid/graphics/Point;
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->pauseWifiDisplay()V
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->registerCallback(Landroid/hardware/display/IDisplayManagerCallback;)V
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->releaseVirtualDisplay(Landroid/hardware/display/IVirtualDisplayCallback;)V
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->renameWifiDisplay(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->requestColorMode(II)V
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->resizeVirtualDisplay(Landroid/hardware/display/IVirtualDisplayCallback;III)V
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->resumeWifiDisplay()V
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->setBrightnessConfigurationForUser(Landroid/hardware/display/BrightnessConfiguration;ILjava/lang/String;)V
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->setSaturationLevel(F)V
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->setTemporaryAutoBrightnessAdjustment(F)V
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->setTemporaryBrightness(I)V
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->setVirtualDisplaySurface(Landroid/hardware/display/IVirtualDisplayCallback;Landroid/view/Surface;)V
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->startWifiDisplayScan()V
-Landroid/hardware/display/IDisplayManager$Stub$Proxy;->stopWifiDisplayScan()V
-Landroid/hardware/display/IDisplayManager$Stub;
-Landroid/hardware/display/IDisplayManager$Stub;-><init>()V
-Landroid/hardware/display/IDisplayManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_connectWifiDisplay:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_createVirtualDisplay:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_disconnectWifiDisplay:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_forgetWifiDisplay:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_getAmbientBrightnessStats:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_getBrightnessConfigurationForUser:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_getBrightnessEvents:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_getDefaultBrightnessConfiguration:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_getDisplayIds:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_getDisplayInfo:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_getMinimumBrightnessCurve:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_getStableDisplaySize:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_getWifiDisplayStatus:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_pauseWifiDisplay:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_registerCallback:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_releaseVirtualDisplay:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_renameWifiDisplay:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_requestColorMode:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_resizeVirtualDisplay:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_resumeWifiDisplay:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_setBrightnessConfigurationForUser:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_setSaturationLevel:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_setTemporaryAutoBrightnessAdjustment:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_setTemporaryBrightness:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_setVirtualDisplaySurface:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_startWifiDisplayScan:I
-Landroid/hardware/display/IDisplayManager$Stub;->TRANSACTION_stopWifiDisplayScan:I
-Landroid/hardware/display/IDisplayManager;
-Landroid/hardware/display/IDisplayManager;->connectWifiDisplay(Ljava/lang/String;)V
-Landroid/hardware/display/IDisplayManager;->createVirtualDisplay(Landroid/hardware/display/IVirtualDisplayCallback;Landroid/media/projection/IMediaProjection;Ljava/lang/String;Ljava/lang/String;IIILandroid/view/Surface;ILjava/lang/String;)I
-Landroid/hardware/display/IDisplayManager;->disconnectWifiDisplay()V
-Landroid/hardware/display/IDisplayManager;->forgetWifiDisplay(Ljava/lang/String;)V
-Landroid/hardware/display/IDisplayManager;->getAmbientBrightnessStats()Landroid/content/pm/ParceledListSlice;
-Landroid/hardware/display/IDisplayManager;->getBrightnessConfigurationForUser(I)Landroid/hardware/display/BrightnessConfiguration;
-Landroid/hardware/display/IDisplayManager;->getBrightnessEvents(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-Landroid/hardware/display/IDisplayManager;->getDefaultBrightnessConfiguration()Landroid/hardware/display/BrightnessConfiguration;
-Landroid/hardware/display/IDisplayManager;->getDisplayIds()[I
-Landroid/hardware/display/IDisplayManager;->getMinimumBrightnessCurve()Landroid/hardware/display/Curve;
-Landroid/hardware/display/IDisplayManager;->getStableDisplaySize()Landroid/graphics/Point;
-Landroid/hardware/display/IDisplayManager;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
-Landroid/hardware/display/IDisplayManager;->pauseWifiDisplay()V
-Landroid/hardware/display/IDisplayManager;->registerCallback(Landroid/hardware/display/IDisplayManagerCallback;)V
-Landroid/hardware/display/IDisplayManager;->releaseVirtualDisplay(Landroid/hardware/display/IVirtualDisplayCallback;)V
-Landroid/hardware/display/IDisplayManager;->renameWifiDisplay(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/hardware/display/IDisplayManager;->requestColorMode(II)V
-Landroid/hardware/display/IDisplayManager;->resizeVirtualDisplay(Landroid/hardware/display/IVirtualDisplayCallback;III)V
-Landroid/hardware/display/IDisplayManager;->resumeWifiDisplay()V
-Landroid/hardware/display/IDisplayManager;->setBrightnessConfigurationForUser(Landroid/hardware/display/BrightnessConfiguration;ILjava/lang/String;)V
-Landroid/hardware/display/IDisplayManager;->setSaturationLevel(F)V
-Landroid/hardware/display/IDisplayManager;->setTemporaryAutoBrightnessAdjustment(F)V
-Landroid/hardware/display/IDisplayManager;->setTemporaryBrightness(I)V
-Landroid/hardware/display/IDisplayManager;->setVirtualDisplaySurface(Landroid/hardware/display/IVirtualDisplayCallback;Landroid/view/Surface;)V
-Landroid/hardware/display/IDisplayManager;->startWifiDisplayScan()V
-Landroid/hardware/display/IDisplayManager;->stopWifiDisplayScan()V
-Landroid/hardware/display/IDisplayManagerCallback$Stub$Proxy;
-Landroid/hardware/display/IDisplayManagerCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/display/IDisplayManagerCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/display/IDisplayManagerCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/display/IDisplayManagerCallback$Stub$Proxy;->onDisplayEvent(II)V
-Landroid/hardware/display/IDisplayManagerCallback$Stub;
-Landroid/hardware/display/IDisplayManagerCallback$Stub;-><init>()V
-Landroid/hardware/display/IDisplayManagerCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/display/IDisplayManagerCallback;
-Landroid/hardware/display/IDisplayManagerCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/display/IDisplayManagerCallback$Stub;->TRANSACTION_onDisplayEvent:I
-Landroid/hardware/display/IDisplayManagerCallback;
-Landroid/hardware/display/IDisplayManagerCallback;->onDisplayEvent(II)V
-Landroid/hardware/display/IVirtualDisplayCallback$Stub$Proxy;
-Landroid/hardware/display/IVirtualDisplayCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/display/IVirtualDisplayCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/display/IVirtualDisplayCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/display/IVirtualDisplayCallback$Stub$Proxy;->onPaused()V
-Landroid/hardware/display/IVirtualDisplayCallback$Stub$Proxy;->onResumed()V
-Landroid/hardware/display/IVirtualDisplayCallback$Stub$Proxy;->onStopped()V
-Landroid/hardware/display/IVirtualDisplayCallback$Stub;
-Landroid/hardware/display/IVirtualDisplayCallback$Stub;-><init>()V
-Landroid/hardware/display/IVirtualDisplayCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/display/IVirtualDisplayCallback;
-Landroid/hardware/display/IVirtualDisplayCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/display/IVirtualDisplayCallback$Stub;->TRANSACTION_onPaused:I
-Landroid/hardware/display/IVirtualDisplayCallback$Stub;->TRANSACTION_onResumed:I
-Landroid/hardware/display/IVirtualDisplayCallback$Stub;->TRANSACTION_onStopped:I
-Landroid/hardware/display/IVirtualDisplayCallback;
-Landroid/hardware/display/IVirtualDisplayCallback;->onPaused()V
-Landroid/hardware/display/IVirtualDisplayCallback;->onResumed()V
-Landroid/hardware/display/IVirtualDisplayCallback;->onStopped()V
-Landroid/hardware/display/VirtualDisplay;-><init>(Landroid/hardware/display/DisplayManagerGlobal;Landroid/view/Display;Landroid/hardware/display/IVirtualDisplayCallback;Landroid/view/Surface;)V
-Landroid/hardware/display/VirtualDisplay;->mDisplay:Landroid/view/Display;
-Landroid/hardware/display/VirtualDisplay;->mGlobal:Landroid/hardware/display/DisplayManagerGlobal;
-Landroid/hardware/display/VirtualDisplay;->mSurface:Landroid/view/Surface;
-Landroid/hardware/display/VirtualDisplay;->mToken:Landroid/hardware/display/IVirtualDisplayCallback;
-Landroid/hardware/display/WifiDisplay;
-Landroid/hardware/display/WifiDisplay;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZZ)V
-Landroid/hardware/display/WifiDisplay;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/display/WifiDisplay;->EMPTY_ARRAY:[Landroid/hardware/display/WifiDisplay;
-Landroid/hardware/display/WifiDisplay;->getFriendlyDisplayName()Ljava/lang/String;
-Landroid/hardware/display/WifiDisplay;->hasSameAddress(Landroid/hardware/display/WifiDisplay;)Z
-Landroid/hardware/display/WifiDisplay;->mCanConnect:Z
-Landroid/hardware/display/WifiDisplay;->mDeviceAddress:Ljava/lang/String;
-Landroid/hardware/display/WifiDisplay;->mDeviceAlias:Ljava/lang/String;
-Landroid/hardware/display/WifiDisplay;->mDeviceName:Ljava/lang/String;
-Landroid/hardware/display/WifiDisplay;->mIsAvailable:Z
-Landroid/hardware/display/WifiDisplay;->mIsRemembered:Z
-Landroid/hardware/display/WifiDisplaySessionInfo;
-Landroid/hardware/display/WifiDisplaySessionInfo;-><init>()V
-Landroid/hardware/display/WifiDisplaySessionInfo;-><init>(ZILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/hardware/display/WifiDisplaySessionInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/display/WifiDisplaySessionInfo;->getGroupId()Ljava/lang/String;
-Landroid/hardware/display/WifiDisplaySessionInfo;->getIP()Ljava/lang/String;
-Landroid/hardware/display/WifiDisplaySessionInfo;->getPassphrase()Ljava/lang/String;
-Landroid/hardware/display/WifiDisplaySessionInfo;->getSessionId()I
-Landroid/hardware/display/WifiDisplaySessionInfo;->isClient()Z
-Landroid/hardware/display/WifiDisplaySessionInfo;->mClient:Z
-Landroid/hardware/display/WifiDisplaySessionInfo;->mGroupId:Ljava/lang/String;
-Landroid/hardware/display/WifiDisplaySessionInfo;->mIP:Ljava/lang/String;
-Landroid/hardware/display/WifiDisplaySessionInfo;->mPassphrase:Ljava/lang/String;
-Landroid/hardware/display/WifiDisplaySessionInfo;->mSessionId:I
-Landroid/hardware/display/WifiDisplayStatus;
-Landroid/hardware/display/WifiDisplayStatus;-><init>()V
-Landroid/hardware/display/WifiDisplayStatus;-><init>(IIILandroid/hardware/display/WifiDisplay;[Landroid/hardware/display/WifiDisplay;Landroid/hardware/display/WifiDisplaySessionInfo;)V
-Landroid/hardware/display/WifiDisplayStatus;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/display/WifiDisplayStatus;->FEATURE_STATE_DISABLED:I
-Landroid/hardware/display/WifiDisplayStatus;->FEATURE_STATE_OFF:I
-Landroid/hardware/display/WifiDisplayStatus;->FEATURE_STATE_UNAVAILABLE:I
-Landroid/hardware/display/WifiDisplayStatus;->getSessionInfo()Landroid/hardware/display/WifiDisplaySessionInfo;
-Landroid/hardware/display/WifiDisplayStatus;->mActiveDisplayState:I
-Landroid/hardware/display/WifiDisplayStatus;->mFeatureState:I
-Landroid/hardware/display/WifiDisplayStatus;->mScanState:I
-Landroid/hardware/display/WifiDisplayStatus;->mSessionInfo:Landroid/hardware/display/WifiDisplaySessionInfo;
-Landroid/hardware/display/WifiDisplayStatus;->SCAN_STATE_SCANNING:I
-Landroid/hardware/fingerprint/Fingerprint;
-Landroid/hardware/fingerprint/Fingerprint;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/fingerprint/Fingerprint;-><init>(Ljava/lang/CharSequence;IIJ)V
-Landroid/hardware/fingerprint/Fingerprint;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/fingerprint/Fingerprint;->getDeviceId()J
-Landroid/hardware/fingerprint/Fingerprint;->getGroupId()I
-Landroid/hardware/fingerprint/Fingerprint;->mDeviceId:J
-Landroid/hardware/fingerprint/Fingerprint;->mFingerId:I
-Landroid/hardware/fingerprint/Fingerprint;->mGroupId:I
-Landroid/hardware/fingerprint/Fingerprint;->mName:Ljava/lang/CharSequence;
-Landroid/hardware/fingerprint/FingerprintManager$AuthenticationCallback;->onAuthenticationAcquired(I)V
-Landroid/hardware/fingerprint/FingerprintManager$AuthenticationCallback;->onAuthenticationSucceeded(Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationResult;)V
-Landroid/hardware/fingerprint/FingerprintManager$AuthenticationResult;-><init>(Landroid/hardware/fingerprint/FingerprintManager$CryptoObject;Landroid/hardware/fingerprint/Fingerprint;I)V
-Landroid/hardware/fingerprint/FingerprintManager$AuthenticationResult;->getUserId()I
-Landroid/hardware/fingerprint/FingerprintManager$AuthenticationResult;->mCryptoObject:Landroid/hardware/fingerprint/FingerprintManager$CryptoObject;
-Landroid/hardware/fingerprint/FingerprintManager$AuthenticationResult;->mFingerprint:Landroid/hardware/fingerprint/Fingerprint;
-Landroid/hardware/fingerprint/FingerprintManager$AuthenticationResult;->mUserId:I
-Landroid/hardware/fingerprint/FingerprintManager$EnrollmentCallback;
-Landroid/hardware/fingerprint/FingerprintManager$EnrollmentCallback;-><init>()V
-Landroid/hardware/fingerprint/FingerprintManager$EnrollmentCallback;->onEnrollmentError(ILjava/lang/CharSequence;)V
-Landroid/hardware/fingerprint/FingerprintManager$EnrollmentCallback;->onEnrollmentHelp(ILjava/lang/CharSequence;)V
-Landroid/hardware/fingerprint/FingerprintManager$EnrollmentCallback;->onEnrollmentProgress(I)V
-Landroid/hardware/fingerprint/FingerprintManager$EnumerateCallback;
-Landroid/hardware/fingerprint/FingerprintManager$EnumerateCallback;-><init>()V
-Landroid/hardware/fingerprint/FingerprintManager$EnumerateCallback;->onEnumerate(Landroid/hardware/fingerprint/Fingerprint;)V
-Landroid/hardware/fingerprint/FingerprintManager$EnumerateCallback;->onEnumerateError(ILjava/lang/CharSequence;)V
-Landroid/hardware/fingerprint/FingerprintManager$LockoutResetCallback;
-Landroid/hardware/fingerprint/FingerprintManager$LockoutResetCallback;-><init>()V
-Landroid/hardware/fingerprint/FingerprintManager$LockoutResetCallback;->onLockoutReset()V
-Landroid/hardware/fingerprint/FingerprintManager$MyHandler;
-Landroid/hardware/fingerprint/FingerprintManager$MyHandler;-><init>(Landroid/content/Context;)V
-Landroid/hardware/fingerprint/FingerprintManager$MyHandler;-><init>(Landroid/os/Looper;)V
-Landroid/hardware/fingerprint/FingerprintManager$MyHandler;->sendEnrollResult(Landroid/hardware/fingerprint/Fingerprint;I)V
-Landroid/hardware/fingerprint/FingerprintManager$MyHandler;->sendEnumeratedResult(JII)V
-Landroid/hardware/fingerprint/FingerprintManager$MyHandler;->sendRemovedResult(Landroid/hardware/fingerprint/Fingerprint;I)V
-Landroid/hardware/fingerprint/FingerprintManager$OnAuthenticationCancelListener;
-Landroid/hardware/fingerprint/FingerprintManager$OnAuthenticationCancelListener;-><init>(Landroid/hardware/biometrics/CryptoObject;)V
-Landroid/hardware/fingerprint/FingerprintManager$OnAuthenticationCancelListener;->mCrypto:Landroid/hardware/biometrics/CryptoObject;
-Landroid/hardware/fingerprint/FingerprintManager$OnEnrollCancelListener;
-Landroid/hardware/fingerprint/FingerprintManager$OnEnrollCancelListener;-><init>()V
-Landroid/hardware/fingerprint/FingerprintManager$RemovalCallback;
-Landroid/hardware/fingerprint/FingerprintManager$RemovalCallback;-><init>()V
-Landroid/hardware/fingerprint/FingerprintManager$RemovalCallback;->onRemovalError(Landroid/hardware/fingerprint/Fingerprint;ILjava/lang/CharSequence;)V
-Landroid/hardware/fingerprint/FingerprintManager$RemovalCallback;->onRemovalSucceeded(Landroid/hardware/fingerprint/Fingerprint;I)V
-Landroid/hardware/fingerprint/FingerprintManager;-><init>(Landroid/content/Context;Landroid/hardware/fingerprint/IFingerprintService;)V
-Landroid/hardware/fingerprint/FingerprintManager;->addLockoutResetCallback(Landroid/hardware/fingerprint/FingerprintManager$LockoutResetCallback;)V
-Landroid/hardware/fingerprint/FingerprintManager;->authenticate(ILandroid/hardware/biometrics/CryptoObject;Landroid/os/CancellationSignal;Landroid/os/Bundle;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/IBiometricPromptReceiver;Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;)V
-Landroid/hardware/fingerprint/FingerprintManager;->authenticate(Landroid/hardware/biometrics/CryptoObject;Landroid/os/CancellationSignal;Landroid/os/Bundle;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/IBiometricPromptReceiver;Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;)V
-Landroid/hardware/fingerprint/FingerprintManager;->authenticate(Landroid/hardware/fingerprint/FingerprintManager$CryptoObject;Landroid/os/CancellationSignal;ILandroid/hardware/fingerprint/FingerprintManager$AuthenticationCallback;Landroid/os/Handler;I)V
-Landroid/hardware/fingerprint/FingerprintManager;->authenticate(Landroid/os/CancellationSignal;Landroid/os/Bundle;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/IBiometricPromptReceiver;Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;)V
-Landroid/hardware/fingerprint/FingerprintManager;->cancelAuthentication(Landroid/hardware/biometrics/CryptoObject;)V
-Landroid/hardware/fingerprint/FingerprintManager;->cancelEnrollment()V
-Landroid/hardware/fingerprint/FingerprintManager;->DEBUG:Z
-Landroid/hardware/fingerprint/FingerprintManager;->enroll([BLandroid/os/CancellationSignal;IILandroid/hardware/fingerprint/FingerprintManager$EnrollmentCallback;)V
-Landroid/hardware/fingerprint/FingerprintManager;->enumerate(ILandroid/hardware/fingerprint/FingerprintManager$EnumerateCallback;)V
-Landroid/hardware/fingerprint/FingerprintManager;->getAcquiredString(II)Ljava/lang/String;
-Landroid/hardware/fingerprint/FingerprintManager;->getCurrentUserId()I
-Landroid/hardware/fingerprint/FingerprintManager;->getErrorString(II)Ljava/lang/String;
-Landroid/hardware/fingerprint/FingerprintManager;->hasEnrolledFingerprints(I)Z
-Landroid/hardware/fingerprint/FingerprintManager;->mAuthenticationCallback:Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;
-Landroid/hardware/fingerprint/FingerprintManager;->mContext:Landroid/content/Context;
-Landroid/hardware/fingerprint/FingerprintManager;->mCryptoObject:Landroid/hardware/biometrics/CryptoObject;
-Landroid/hardware/fingerprint/FingerprintManager;->mEnrollmentCallback:Landroid/hardware/fingerprint/FingerprintManager$EnrollmentCallback;
-Landroid/hardware/fingerprint/FingerprintManager;->mEnumerateCallback:Landroid/hardware/fingerprint/FingerprintManager$EnumerateCallback;
-Landroid/hardware/fingerprint/FingerprintManager;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/hardware/fingerprint/FingerprintManager;->mHandler:Landroid/os/Handler;
-Landroid/hardware/fingerprint/FingerprintManager;->mRemovalCallback:Landroid/hardware/fingerprint/FingerprintManager$RemovalCallback;
-Landroid/hardware/fingerprint/FingerprintManager;->mRemovalFingerprint:Landroid/hardware/fingerprint/Fingerprint;
-Landroid/hardware/fingerprint/FingerprintManager;->mService:Landroid/hardware/fingerprint/IFingerprintService;
-Landroid/hardware/fingerprint/FingerprintManager;->mServiceReceiver:Landroid/hardware/fingerprint/IFingerprintServiceReceiver;
-Landroid/hardware/fingerprint/FingerprintManager;->MSG_ACQUIRED:I
-Landroid/hardware/fingerprint/FingerprintManager;->MSG_AUTHENTICATION_FAILED:I
-Landroid/hardware/fingerprint/FingerprintManager;->MSG_AUTHENTICATION_SUCCEEDED:I
-Landroid/hardware/fingerprint/FingerprintManager;->MSG_ENROLL_RESULT:I
-Landroid/hardware/fingerprint/FingerprintManager;->MSG_ENUMERATED:I
-Landroid/hardware/fingerprint/FingerprintManager;->MSG_ERROR:I
-Landroid/hardware/fingerprint/FingerprintManager;->MSG_REMOVED:I
-Landroid/hardware/fingerprint/FingerprintManager;->mToken:Landroid/os/IBinder;
-Landroid/hardware/fingerprint/FingerprintManager;->postEnroll()I
-Landroid/hardware/fingerprint/FingerprintManager;->preEnroll()J
-Landroid/hardware/fingerprint/FingerprintManager;->remove(Landroid/hardware/fingerprint/Fingerprint;ILandroid/hardware/fingerprint/FingerprintManager$RemovalCallback;)V
-Landroid/hardware/fingerprint/FingerprintManager;->rename(IILjava/lang/String;)V
-Landroid/hardware/fingerprint/FingerprintManager;->resetTimeout([B)V
-Landroid/hardware/fingerprint/FingerprintManager;->sendAcquiredResult(JII)V
-Landroid/hardware/fingerprint/FingerprintManager;->sendAuthenticatedFailed()V
-Landroid/hardware/fingerprint/FingerprintManager;->sendAuthenticatedSucceeded(Landroid/hardware/fingerprint/Fingerprint;I)V
-Landroid/hardware/fingerprint/FingerprintManager;->sendErrorResult(JII)V
-Landroid/hardware/fingerprint/FingerprintManager;->setActiveUser(I)V
-Landroid/hardware/fingerprint/FingerprintManager;->TAG:Ljava/lang/String;
-Landroid/hardware/fingerprint/FingerprintManager;->useHandler(Landroid/os/Handler;)V
-Landroid/hardware/fingerprint/IFingerprintClientActiveCallback$Stub$Proxy;
-Landroid/hardware/fingerprint/IFingerprintClientActiveCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/fingerprint/IFingerprintClientActiveCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/fingerprint/IFingerprintClientActiveCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/fingerprint/IFingerprintClientActiveCallback$Stub$Proxy;->onClientActiveChanged(Z)V
-Landroid/hardware/fingerprint/IFingerprintClientActiveCallback$Stub;
-Landroid/hardware/fingerprint/IFingerprintClientActiveCallback$Stub;-><init>()V
-Landroid/hardware/fingerprint/IFingerprintClientActiveCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/fingerprint/IFingerprintClientActiveCallback;
-Landroid/hardware/fingerprint/IFingerprintClientActiveCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/fingerprint/IFingerprintClientActiveCallback$Stub;->TRANSACTION_onClientActiveChanged:I
-Landroid/hardware/fingerprint/IFingerprintClientActiveCallback;
-Landroid/hardware/fingerprint/IFingerprintClientActiveCallback;->onClientActiveChanged(Z)V
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->addClientActiveCallback(Landroid/hardware/fingerprint/IFingerprintClientActiveCallback;)V
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->addLockoutResetCallback(Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback;)V
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->authenticate(Landroid/os/IBinder;JILandroid/hardware/fingerprint/IFingerprintServiceReceiver;ILjava/lang/String;Landroid/os/Bundle;Landroid/hardware/biometrics/IBiometricPromptReceiver;)V
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->cancelAuthentication(Landroid/os/IBinder;Ljava/lang/String;)V
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->cancelEnrollment(Landroid/os/IBinder;)V
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->enroll(Landroid/os/IBinder;[BILandroid/hardware/fingerprint/IFingerprintServiceReceiver;ILjava/lang/String;)V
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->enumerate(Landroid/os/IBinder;ILandroid/hardware/fingerprint/IFingerprintServiceReceiver;)V
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->getAuthenticatorId(Ljava/lang/String;)J
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->getEnrolledFingerprints(ILjava/lang/String;)Ljava/util/List;
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->hasEnrolledFingerprints(ILjava/lang/String;)Z
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->isClientActive()Z
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->isHardwareDetected(JLjava/lang/String;)Z
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->postEnroll(Landroid/os/IBinder;)I
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->preEnroll(Landroid/os/IBinder;)J
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->remove(Landroid/os/IBinder;IIILandroid/hardware/fingerprint/IFingerprintServiceReceiver;)V
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->removeClientActiveCallback(Landroid/hardware/fingerprint/IFingerprintClientActiveCallback;)V
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->rename(IILjava/lang/String;)V
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->resetTimeout([B)V
-Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->setActiveUser(I)V
-Landroid/hardware/fingerprint/IFingerprintService$Stub;
-Landroid/hardware/fingerprint/IFingerprintService$Stub;-><init>()V
-Landroid/hardware/fingerprint/IFingerprintService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/fingerprint/IFingerprintService$Stub;->TRANSACTION_addClientActiveCallback:I
-Landroid/hardware/fingerprint/IFingerprintService$Stub;->TRANSACTION_addLockoutResetCallback:I
-Landroid/hardware/fingerprint/IFingerprintService$Stub;->TRANSACTION_authenticate:I
-Landroid/hardware/fingerprint/IFingerprintService$Stub;->TRANSACTION_cancelAuthentication:I
-Landroid/hardware/fingerprint/IFingerprintService$Stub;->TRANSACTION_cancelEnrollment:I
-Landroid/hardware/fingerprint/IFingerprintService$Stub;->TRANSACTION_enroll:I
-Landroid/hardware/fingerprint/IFingerprintService$Stub;->TRANSACTION_enumerate:I
-Landroid/hardware/fingerprint/IFingerprintService$Stub;->TRANSACTION_getAuthenticatorId:I
-Landroid/hardware/fingerprint/IFingerprintService$Stub;->TRANSACTION_getEnrolledFingerprints:I
-Landroid/hardware/fingerprint/IFingerprintService$Stub;->TRANSACTION_hasEnrolledFingerprints:I
-Landroid/hardware/fingerprint/IFingerprintService$Stub;->TRANSACTION_isClientActive:I
-Landroid/hardware/fingerprint/IFingerprintService$Stub;->TRANSACTION_isHardwareDetected:I
-Landroid/hardware/fingerprint/IFingerprintService$Stub;->TRANSACTION_postEnroll:I
-Landroid/hardware/fingerprint/IFingerprintService$Stub;->TRANSACTION_preEnroll:I
-Landroid/hardware/fingerprint/IFingerprintService$Stub;->TRANSACTION_remove:I
-Landroid/hardware/fingerprint/IFingerprintService$Stub;->TRANSACTION_removeClientActiveCallback:I
-Landroid/hardware/fingerprint/IFingerprintService$Stub;->TRANSACTION_rename:I
-Landroid/hardware/fingerprint/IFingerprintService$Stub;->TRANSACTION_resetTimeout:I
-Landroid/hardware/fingerprint/IFingerprintService$Stub;->TRANSACTION_setActiveUser:I
-Landroid/hardware/fingerprint/IFingerprintService;
-Landroid/hardware/fingerprint/IFingerprintService;->addClientActiveCallback(Landroid/hardware/fingerprint/IFingerprintClientActiveCallback;)V
-Landroid/hardware/fingerprint/IFingerprintService;->addLockoutResetCallback(Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback;)V
-Landroid/hardware/fingerprint/IFingerprintService;->authenticate(Landroid/os/IBinder;JILandroid/hardware/fingerprint/IFingerprintServiceReceiver;ILjava/lang/String;Landroid/os/Bundle;Landroid/hardware/biometrics/IBiometricPromptReceiver;)V
-Landroid/hardware/fingerprint/IFingerprintService;->cancelAuthentication(Landroid/os/IBinder;Ljava/lang/String;)V
-Landroid/hardware/fingerprint/IFingerprintService;->cancelEnrollment(Landroid/os/IBinder;)V
-Landroid/hardware/fingerprint/IFingerprintService;->enroll(Landroid/os/IBinder;[BILandroid/hardware/fingerprint/IFingerprintServiceReceiver;ILjava/lang/String;)V
-Landroid/hardware/fingerprint/IFingerprintService;->enumerate(Landroid/os/IBinder;ILandroid/hardware/fingerprint/IFingerprintServiceReceiver;)V
-Landroid/hardware/fingerprint/IFingerprintService;->getAuthenticatorId(Ljava/lang/String;)J
-Landroid/hardware/fingerprint/IFingerprintService;->getEnrolledFingerprints(ILjava/lang/String;)Ljava/util/List;
-Landroid/hardware/fingerprint/IFingerprintService;->hasEnrolledFingerprints(ILjava/lang/String;)Z
-Landroid/hardware/fingerprint/IFingerprintService;->isClientActive()Z
-Landroid/hardware/fingerprint/IFingerprintService;->isHardwareDetected(JLjava/lang/String;)Z
-Landroid/hardware/fingerprint/IFingerprintService;->postEnroll(Landroid/os/IBinder;)I
-Landroid/hardware/fingerprint/IFingerprintService;->preEnroll(Landroid/os/IBinder;)J
-Landroid/hardware/fingerprint/IFingerprintService;->remove(Landroid/os/IBinder;IIILandroid/hardware/fingerprint/IFingerprintServiceReceiver;)V
-Landroid/hardware/fingerprint/IFingerprintService;->removeClientActiveCallback(Landroid/hardware/fingerprint/IFingerprintClientActiveCallback;)V
-Landroid/hardware/fingerprint/IFingerprintService;->rename(IILjava/lang/String;)V
-Landroid/hardware/fingerprint/IFingerprintService;->resetTimeout([B)V
-Landroid/hardware/fingerprint/IFingerprintService;->setActiveUser(I)V
-Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback$Stub$Proxy;
-Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback$Stub$Proxy;->onLockoutReset(JLandroid/os/IRemoteCallback;)V
-Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback$Stub;
-Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback$Stub;-><init>()V
-Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback;
-Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback$Stub;->TRANSACTION_onLockoutReset:I
-Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback;
-Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback;->onLockoutReset(JLandroid/os/IRemoteCallback;)V
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;->onAcquired(JII)V
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;->onAuthenticationFailed(J)V
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;->onAuthenticationSucceeded(JLandroid/hardware/fingerprint/Fingerprint;I)V
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;->onEnrollResult(JIII)V
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;->onEnumerated(JIII)V
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;->onError(JII)V
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;->onRemoved(JIII)V
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub;
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub;-><init>()V
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/fingerprint/IFingerprintServiceReceiver;
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub;->TRANSACTION_onAcquired:I
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub;->TRANSACTION_onAuthenticationFailed:I
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub;->TRANSACTION_onAuthenticationSucceeded:I
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub;->TRANSACTION_onEnrollResult:I
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub;->TRANSACTION_onEnumerated:I
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub;->TRANSACTION_onError:I
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub;->TRANSACTION_onRemoved:I
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver;
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver;->onAcquired(JII)V
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver;->onAuthenticationFailed(J)V
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver;->onAuthenticationSucceeded(JLandroid/hardware/fingerprint/Fingerprint;I)V
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver;->onEnrollResult(JIII)V
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver;->onEnumerated(JIII)V
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver;->onError(JII)V
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver;->onRemoved(JIII)V
-Landroid/hardware/GeomagneticField$LegendreTable;
-Landroid/hardware/GeomagneticField$LegendreTable;-><init>(IF)V
-Landroid/hardware/GeomagneticField$LegendreTable;->mP:[[F
-Landroid/hardware/GeomagneticField$LegendreTable;->mPDeriv:[[F
-Landroid/hardware/GeomagneticField;->BASE_TIME:J
-Landroid/hardware/GeomagneticField;->computeGeocentricCoordinates(FFF)V
-Landroid/hardware/GeomagneticField;->computeSchmidtQuasiNormFactors(I)[[F
-Landroid/hardware/GeomagneticField;->DELTA_G:[[F
-Landroid/hardware/GeomagneticField;->DELTA_H:[[F
-Landroid/hardware/GeomagneticField;->EARTH_REFERENCE_RADIUS_KM:F
-Landroid/hardware/GeomagneticField;->EARTH_SEMI_MAJOR_AXIS_KM:F
-Landroid/hardware/GeomagneticField;->EARTH_SEMI_MINOR_AXIS_KM:F
-Landroid/hardware/GeomagneticField;->G_COEFF:[[F
-Landroid/hardware/GeomagneticField;->H_COEFF:[[F
-Landroid/hardware/GeomagneticField;->mGcLatitudeRad:F
-Landroid/hardware/GeomagneticField;->mGcLongitudeRad:F
-Landroid/hardware/GeomagneticField;->mGcRadiusKm:F
-Landroid/hardware/GeomagneticField;->mX:F
-Landroid/hardware/GeomagneticField;->mY:F
-Landroid/hardware/GeomagneticField;->mZ:F
-Landroid/hardware/GeomagneticField;->SCHMIDT_QUASI_NORM_FACTORS:[[F
-Landroid/hardware/HardwareBuffer$Format;
-Landroid/hardware/HardwareBuffer$Usage;
-Landroid/hardware/HardwareBuffer;->isSupportedFormat(I)Z
-Landroid/hardware/HardwareBuffer;->mCleaner:Ljava/lang/Runnable;
-Landroid/hardware/HardwareBuffer;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/hardware/HardwareBuffer;->NATIVE_HARDWARE_BUFFER_SIZE:J
-Landroid/hardware/HardwareBuffer;->nCreateHardwareBuffer(IIIIJ)J
-Landroid/hardware/HardwareBuffer;->nGetFormat(J)I
-Landroid/hardware/HardwareBuffer;->nGetHeight(J)I
-Landroid/hardware/HardwareBuffer;->nGetLayers(J)I
-Landroid/hardware/HardwareBuffer;->nGetNativeFinalizer()J
-Landroid/hardware/HardwareBuffer;->nGetUsage(J)J
-Landroid/hardware/HardwareBuffer;->nGetWidth(J)I
-Landroid/hardware/HardwareBuffer;->nReadHardwareBufferFromParcel(Landroid/os/Parcel;)J
-Landroid/hardware/HardwareBuffer;->nWriteHardwareBufferToParcel(JLandroid/os/Parcel;)V
-Landroid/hardware/hdmi/HdmiClient;-><init>(Landroid/hardware/hdmi/IHdmiControlService;)V
-Landroid/hardware/hdmi/HdmiClient;->getDeviceType()I
-Landroid/hardware/hdmi/HdmiClient;->getListenerWrapper(Landroid/hardware/hdmi/HdmiControlManager$VendorCommandListener;)Landroid/hardware/hdmi/IHdmiVendorCommandListener;
-Landroid/hardware/hdmi/HdmiClient;->mIHdmiVendorCommandListener:Landroid/hardware/hdmi/IHdmiVendorCommandListener;
-Landroid/hardware/hdmi/HdmiClient;->mService:Landroid/hardware/hdmi/IHdmiControlService;
-Landroid/hardware/hdmi/HdmiClient;->TAG:Ljava/lang/String;
-Landroid/hardware/hdmi/HdmiControlManager;-><init>(Landroid/hardware/hdmi/IHdmiControlService;)V
-Landroid/hardware/hdmi/HdmiControlManager;->getHotplugEventListenerWrapper(Landroid/hardware/hdmi/HdmiControlManager$HotplugEventListener;)Landroid/hardware/hdmi/IHdmiHotplugEventListener;
-Landroid/hardware/hdmi/HdmiControlManager;->hasDeviceType([II)Z
-Landroid/hardware/hdmi/HdmiControlManager;->mHasPlaybackDevice:Z
-Landroid/hardware/hdmi/HdmiControlManager;->mHasTvDevice:Z
-Landroid/hardware/hdmi/HdmiControlManager;->mHotplugEventListeners:Landroid/util/ArrayMap;
-Landroid/hardware/hdmi/HdmiControlManager;->mService:Landroid/hardware/hdmi/IHdmiControlService;
-Landroid/hardware/hdmi/HdmiControlManager;->TAG:Ljava/lang/String;
-Landroid/hardware/hdmi/HdmiDeviceInfo;-><init>(II)V
-Landroid/hardware/hdmi/HdmiDeviceInfo;-><init>(IIII)V
-Landroid/hardware/hdmi/HdmiDeviceInfo;-><init>(IIIIILjava/lang/String;)V
-Landroid/hardware/hdmi/HdmiDeviceInfo;-><init>(IIIIILjava/lang/String;I)V
-Landroid/hardware/hdmi/HdmiDeviceInfo;->DEVICE_PURE_CEC_SWITCH:I
-Landroid/hardware/hdmi/HdmiDeviceInfo;->DEVICE_VIDEO_PROCESSOR:I
-Landroid/hardware/hdmi/HdmiDeviceInfo;->HDMI_DEVICE_TYPE_CEC:I
-Landroid/hardware/hdmi/HdmiDeviceInfo;->HDMI_DEVICE_TYPE_HARDWARE:I
-Landroid/hardware/hdmi/HdmiDeviceInfo;->HDMI_DEVICE_TYPE_INACTIVE:I
-Landroid/hardware/hdmi/HdmiDeviceInfo;->HDMI_DEVICE_TYPE_MHL:I
-Landroid/hardware/hdmi/HdmiDeviceInfo;->ID_OFFSET_CEC:I
-Landroid/hardware/hdmi/HdmiDeviceInfo;->ID_OFFSET_HARDWARE:I
-Landroid/hardware/hdmi/HdmiDeviceInfo;->ID_OFFSET_MHL:I
-Landroid/hardware/hdmi/HdmiDeviceInfo;->mAdopterId:I
-Landroid/hardware/hdmi/HdmiDeviceInfo;->mDeviceId:I
-Landroid/hardware/hdmi/HdmiDeviceInfo;->mDevicePowerStatus:I
-Landroid/hardware/hdmi/HdmiDeviceInfo;->mDeviceType:I
-Landroid/hardware/hdmi/HdmiDeviceInfo;->mDisplayName:Ljava/lang/String;
-Landroid/hardware/hdmi/HdmiDeviceInfo;->mHdmiDeviceType:I
-Landroid/hardware/hdmi/HdmiDeviceInfo;->mId:I
-Landroid/hardware/hdmi/HdmiDeviceInfo;->mLogicalAddress:I
-Landroid/hardware/hdmi/HdmiDeviceInfo;->mPhysicalAddress:I
-Landroid/hardware/hdmi/HdmiDeviceInfo;->mPortId:I
-Landroid/hardware/hdmi/HdmiDeviceInfo;->mVendorId:I
-Landroid/hardware/hdmi/HdmiHotplugEvent;-><init>(IZ)V
-Landroid/hardware/hdmi/HdmiHotplugEvent;->mConnected:Z
-Landroid/hardware/hdmi/HdmiHotplugEvent;->mPort:I
-Landroid/hardware/hdmi/HdmiPlaybackClient;-><init>(Landroid/hardware/hdmi/IHdmiControlService;)V
-Landroid/hardware/hdmi/HdmiPlaybackClient;->ADDR_TV:I
-Landroid/hardware/hdmi/HdmiPlaybackClient;->getCallbackWrapper(Landroid/hardware/hdmi/HdmiPlaybackClient$DisplayStatusCallback;)Landroid/hardware/hdmi/IHdmiControlCallback;
-Landroid/hardware/hdmi/HdmiPlaybackClient;->getCallbackWrapper(Landroid/hardware/hdmi/HdmiPlaybackClient$OneTouchPlayCallback;)Landroid/hardware/hdmi/IHdmiControlCallback;
-Landroid/hardware/hdmi/HdmiPlaybackClient;->TAG:Ljava/lang/String;
-Landroid/hardware/hdmi/HdmiPortInfo;->mAddress:I
-Landroid/hardware/hdmi/HdmiPortInfo;->mArcSupported:Z
-Landroid/hardware/hdmi/HdmiPortInfo;->mCecSupported:Z
-Landroid/hardware/hdmi/HdmiPortInfo;->mId:I
-Landroid/hardware/hdmi/HdmiPortInfo;->mMhlSupported:Z
-Landroid/hardware/hdmi/HdmiPortInfo;->mType:I
-Landroid/hardware/hdmi/HdmiRecordListener$TimerStatusData;-><init>()V
-Landroid/hardware/hdmi/HdmiRecordListener$TimerStatusData;->bcdByteToInt(B)I
-Landroid/hardware/hdmi/HdmiRecordListener$TimerStatusData;->mDurationHour:I
-Landroid/hardware/hdmi/HdmiRecordListener$TimerStatusData;->mDurationMinute:I
-Landroid/hardware/hdmi/HdmiRecordListener$TimerStatusData;->mExtraError:I
-Landroid/hardware/hdmi/HdmiRecordListener$TimerStatusData;->mMediaInfo:I
-Landroid/hardware/hdmi/HdmiRecordListener$TimerStatusData;->mNotProgrammedError:I
-Landroid/hardware/hdmi/HdmiRecordListener$TimerStatusData;->mOverlapped:Z
-Landroid/hardware/hdmi/HdmiRecordListener$TimerStatusData;->mProgrammed:Z
-Landroid/hardware/hdmi/HdmiRecordListener$TimerStatusData;->mProgrammedInfo:I
-Landroid/hardware/hdmi/HdmiRecordListener$TimerStatusData;->parseFrom(I)Landroid/hardware/hdmi/HdmiRecordListener$TimerStatusData;
-Landroid/hardware/hdmi/HdmiRecordSources$AnalogueServiceSource;-><init>(III)V
-Landroid/hardware/hdmi/HdmiRecordSources$AnalogueServiceSource;->extraParamToByteArray([BI)I
-Landroid/hardware/hdmi/HdmiRecordSources$AnalogueServiceSource;->EXTRA_DATA_SIZE:I
-Landroid/hardware/hdmi/HdmiRecordSources$AnalogueServiceSource;->mBroadcastSystem:I
-Landroid/hardware/hdmi/HdmiRecordSources$AnalogueServiceSource;->mBroadcastType:I
-Landroid/hardware/hdmi/HdmiRecordSources$AnalogueServiceSource;->mFrequency:I
-Landroid/hardware/hdmi/HdmiRecordSources$AribData;
-Landroid/hardware/hdmi/HdmiRecordSources$AribData;-><init>(III)V
-Landroid/hardware/hdmi/HdmiRecordSources$AribData;->mOriginalNetworkId:I
-Landroid/hardware/hdmi/HdmiRecordSources$AribData;->mServiceId:I
-Landroid/hardware/hdmi/HdmiRecordSources$AribData;->mTransportStreamId:I
-Landroid/hardware/hdmi/HdmiRecordSources$AribData;->toByteArray([BI)I
-Landroid/hardware/hdmi/HdmiRecordSources$AtscData;
-Landroid/hardware/hdmi/HdmiRecordSources$AtscData;-><init>(II)V
-Landroid/hardware/hdmi/HdmiRecordSources$AtscData;->mProgramNumber:I
-Landroid/hardware/hdmi/HdmiRecordSources$AtscData;->mTransportStreamId:I
-Landroid/hardware/hdmi/HdmiRecordSources$AtscData;->toByteArray([BI)I
-Landroid/hardware/hdmi/HdmiRecordSources$ChannelIdentifier;
-Landroid/hardware/hdmi/HdmiRecordSources$ChannelIdentifier;-><init>(III)V
-Landroid/hardware/hdmi/HdmiRecordSources$ChannelIdentifier;->mChannelNumberFormat:I
-Landroid/hardware/hdmi/HdmiRecordSources$ChannelIdentifier;->mMajorChannelNumber:I
-Landroid/hardware/hdmi/HdmiRecordSources$ChannelIdentifier;->mMinorChannelNumber:I
-Landroid/hardware/hdmi/HdmiRecordSources$ChannelIdentifier;->toByteArray([BI)I
-Landroid/hardware/hdmi/HdmiRecordSources$DigitalChannelData;
-Landroid/hardware/hdmi/HdmiRecordSources$DigitalChannelData;-><init>(Landroid/hardware/hdmi/HdmiRecordSources$ChannelIdentifier;)V
-Landroid/hardware/hdmi/HdmiRecordSources$DigitalChannelData;->mChannelIdentifier:Landroid/hardware/hdmi/HdmiRecordSources$ChannelIdentifier;
-Landroid/hardware/hdmi/HdmiRecordSources$DigitalChannelData;->ofOneNumber(I)Landroid/hardware/hdmi/HdmiRecordSources$DigitalChannelData;
-Landroid/hardware/hdmi/HdmiRecordSources$DigitalChannelData;->ofTwoNumbers(II)Landroid/hardware/hdmi/HdmiRecordSources$DigitalChannelData;
-Landroid/hardware/hdmi/HdmiRecordSources$DigitalChannelData;->toByteArray([BI)I
-Landroid/hardware/hdmi/HdmiRecordSources$DigitalServiceIdentification;
-Landroid/hardware/hdmi/HdmiRecordSources$DigitalServiceIdentification;->toByteArray([BI)I
-Landroid/hardware/hdmi/HdmiRecordSources$DigitalServiceSource;-><init>(IILandroid/hardware/hdmi/HdmiRecordSources$DigitalServiceIdentification;)V
-Landroid/hardware/hdmi/HdmiRecordSources$DigitalServiceSource;->DIGITAL_SERVICE_IDENTIFIED_BY_CHANNEL:I
-Landroid/hardware/hdmi/HdmiRecordSources$DigitalServiceSource;->DIGITAL_SERVICE_IDENTIFIED_BY_DIGITAL_ID:I
-Landroid/hardware/hdmi/HdmiRecordSources$DigitalServiceSource;->extraParamToByteArray([BI)I
-Landroid/hardware/hdmi/HdmiRecordSources$DigitalServiceSource;->EXTRA_DATA_SIZE:I
-Landroid/hardware/hdmi/HdmiRecordSources$DigitalServiceSource;->mBroadcastSystem:I
-Landroid/hardware/hdmi/HdmiRecordSources$DigitalServiceSource;->mIdentification:Landroid/hardware/hdmi/HdmiRecordSources$DigitalServiceIdentification;
-Landroid/hardware/hdmi/HdmiRecordSources$DigitalServiceSource;->mIdentificationMethod:I
-Landroid/hardware/hdmi/HdmiRecordSources$DvbData;
-Landroid/hardware/hdmi/HdmiRecordSources$DvbData;-><init>(III)V
-Landroid/hardware/hdmi/HdmiRecordSources$DvbData;->mOriginalNetworkId:I
-Landroid/hardware/hdmi/HdmiRecordSources$DvbData;->mServiceId:I
-Landroid/hardware/hdmi/HdmiRecordSources$DvbData;->mTransportStreamId:I
-Landroid/hardware/hdmi/HdmiRecordSources$DvbData;->toByteArray([BI)I
-Landroid/hardware/hdmi/HdmiRecordSources$ExternalPhysicalAddress;-><init>(I)V
-Landroid/hardware/hdmi/HdmiRecordSources$ExternalPhysicalAddress;->extraParamToByteArray([BI)I
-Landroid/hardware/hdmi/HdmiRecordSources$ExternalPhysicalAddress;->EXTRA_DATA_SIZE:I
-Landroid/hardware/hdmi/HdmiRecordSources$ExternalPhysicalAddress;->mPhysicalAddress:I
-Landroid/hardware/hdmi/HdmiRecordSources$ExternalPlugData;-><init>(I)V
-Landroid/hardware/hdmi/HdmiRecordSources$ExternalPlugData;->extraParamToByteArray([BI)I
-Landroid/hardware/hdmi/HdmiRecordSources$ExternalPlugData;->EXTRA_DATA_SIZE:I
-Landroid/hardware/hdmi/HdmiRecordSources$ExternalPlugData;->mPlugNumber:I
-Landroid/hardware/hdmi/HdmiRecordSources$OwnSource;-><init>()V
-Landroid/hardware/hdmi/HdmiRecordSources$OwnSource;->extraParamToByteArray([BI)I
-Landroid/hardware/hdmi/HdmiRecordSources$OwnSource;->EXTRA_DATA_SIZE:I
-Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;-><init>(II)V
-Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;->extraParamToByteArray([BI)I
-Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;->getDataSize(Z)I
-Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;->mExtraDataSize:I
-Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;->mSourceType:I
-Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;->toByteArray(Z[BI)I
-Landroid/hardware/hdmi/HdmiRecordSources;-><init>()V
-Landroid/hardware/hdmi/HdmiRecordSources;->ANALOGUE_BROADCAST_TYPE_CABLE:I
-Landroid/hardware/hdmi/HdmiRecordSources;->ANALOGUE_BROADCAST_TYPE_SATELLITE:I
-Landroid/hardware/hdmi/HdmiRecordSources;->ANALOGUE_BROADCAST_TYPE_TERRESTRIAL:I
-Landroid/hardware/hdmi/HdmiRecordSources;->BROADCAST_SYSTEM_NTSC_M:I
-Landroid/hardware/hdmi/HdmiRecordSources;->BROADCAST_SYSTEM_PAL_BG:I
-Landroid/hardware/hdmi/HdmiRecordSources;->BROADCAST_SYSTEM_PAL_DK:I
-Landroid/hardware/hdmi/HdmiRecordSources;->BROADCAST_SYSTEM_PAL_I:I
-Landroid/hardware/hdmi/HdmiRecordSources;->BROADCAST_SYSTEM_PAL_M:I
-Landroid/hardware/hdmi/HdmiRecordSources;->BROADCAST_SYSTEM_PAL_OTHER_SYSTEM:I
-Landroid/hardware/hdmi/HdmiRecordSources;->BROADCAST_SYSTEM_SECAM_BG:I
-Landroid/hardware/hdmi/HdmiRecordSources;->BROADCAST_SYSTEM_SECAM_DK:I
-Landroid/hardware/hdmi/HdmiRecordSources;->BROADCAST_SYSTEM_SECAM_L:I
-Landroid/hardware/hdmi/HdmiRecordSources;->BROADCAST_SYSTEM_SECAM_LP:I
-Landroid/hardware/hdmi/HdmiRecordSources;->CHANNEL_NUMBER_FORMAT_1_PART:I
-Landroid/hardware/hdmi/HdmiRecordSources;->CHANNEL_NUMBER_FORMAT_2_PART:I
-Landroid/hardware/hdmi/HdmiRecordSources;->DIGITAL_BROADCAST_TYPE_ARIB:I
-Landroid/hardware/hdmi/HdmiRecordSources;->DIGITAL_BROADCAST_TYPE_ARIB_BS:I
-Landroid/hardware/hdmi/HdmiRecordSources;->DIGITAL_BROADCAST_TYPE_ARIB_CS:I
-Landroid/hardware/hdmi/HdmiRecordSources;->DIGITAL_BROADCAST_TYPE_ARIB_T:I
-Landroid/hardware/hdmi/HdmiRecordSources;->DIGITAL_BROADCAST_TYPE_ATSC:I
-Landroid/hardware/hdmi/HdmiRecordSources;->DIGITAL_BROADCAST_TYPE_ATSC_CABLE:I
-Landroid/hardware/hdmi/HdmiRecordSources;->DIGITAL_BROADCAST_TYPE_ATSC_SATELLITE:I
-Landroid/hardware/hdmi/HdmiRecordSources;->DIGITAL_BROADCAST_TYPE_ATSC_TERRESTRIAL:I
-Landroid/hardware/hdmi/HdmiRecordSources;->DIGITAL_BROADCAST_TYPE_DVB:I
-Landroid/hardware/hdmi/HdmiRecordSources;->DIGITAL_BROADCAST_TYPE_DVB_C:I
-Landroid/hardware/hdmi/HdmiRecordSources;->DIGITAL_BROADCAST_TYPE_DVB_S2:I
-Landroid/hardware/hdmi/HdmiRecordSources;->DIGITAL_BROADCAST_TYPE_DVB_S:I
-Landroid/hardware/hdmi/HdmiRecordSources;->DIGITAL_BROADCAST_TYPE_DVB_T:I
-Landroid/hardware/hdmi/HdmiRecordSources;->ofAnalogue(III)Landroid/hardware/hdmi/HdmiRecordSources$AnalogueServiceSource;
-Landroid/hardware/hdmi/HdmiRecordSources;->ofArib(ILandroid/hardware/hdmi/HdmiRecordSources$AribData;)Landroid/hardware/hdmi/HdmiRecordSources$DigitalServiceSource;
-Landroid/hardware/hdmi/HdmiRecordSources;->ofAtsc(ILandroid/hardware/hdmi/HdmiRecordSources$AtscData;)Landroid/hardware/hdmi/HdmiRecordSources$DigitalServiceSource;
-Landroid/hardware/hdmi/HdmiRecordSources;->ofDigitalChannelId(ILandroid/hardware/hdmi/HdmiRecordSources$DigitalChannelData;)Landroid/hardware/hdmi/HdmiRecordSources$DigitalServiceSource;
-Landroid/hardware/hdmi/HdmiRecordSources;->ofDvb(ILandroid/hardware/hdmi/HdmiRecordSources$DvbData;)Landroid/hardware/hdmi/HdmiRecordSources$DigitalServiceSource;
-Landroid/hardware/hdmi/HdmiRecordSources;->ofExternalPhysicalAddress(I)Landroid/hardware/hdmi/HdmiRecordSources$ExternalPhysicalAddress;
-Landroid/hardware/hdmi/HdmiRecordSources;->ofExternalPlug(I)Landroid/hardware/hdmi/HdmiRecordSources$ExternalPlugData;
-Landroid/hardware/hdmi/HdmiRecordSources;->RECORD_SOURCE_TYPE_ANALOGUE_SERVICE:I
-Landroid/hardware/hdmi/HdmiRecordSources;->RECORD_SOURCE_TYPE_DIGITAL_SERVICE:I
-Landroid/hardware/hdmi/HdmiRecordSources;->RECORD_SOURCE_TYPE_EXTERNAL_PHYSICAL_ADDRESS:I
-Landroid/hardware/hdmi/HdmiRecordSources;->RECORD_SOURCE_TYPE_EXTERNAL_PLUG:I
-Landroid/hardware/hdmi/HdmiRecordSources;->RECORD_SOURCE_TYPE_OWN_SOURCE:I
-Landroid/hardware/hdmi/HdmiRecordSources;->shortToByteArray(S[BI)I
-Landroid/hardware/hdmi/HdmiRecordSources;->TAG:Ljava/lang/String;
-Landroid/hardware/hdmi/HdmiRecordSources;->threeFieldsToSixBytes(III[BI)I
-Landroid/hardware/hdmi/HdmiTimerRecordSources$Duration;-><init>(II)V
-Landroid/hardware/hdmi/HdmiTimerRecordSources$ExternalSourceDecorator;
-Landroid/hardware/hdmi/HdmiTimerRecordSources$ExternalSourceDecorator;-><init>(Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;I)V
-Landroid/hardware/hdmi/HdmiTimerRecordSources$ExternalSourceDecorator;->extraParamToByteArray([BI)I
-Landroid/hardware/hdmi/HdmiTimerRecordSources$ExternalSourceDecorator;->mExternalSourceSpecifier:I
-Landroid/hardware/hdmi/HdmiTimerRecordSources$ExternalSourceDecorator;->mRecordSource:Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;
-Landroid/hardware/hdmi/HdmiTimerRecordSources$Time;-><init>(II)V
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;-><init>(IILandroid/hardware/hdmi/HdmiTimerRecordSources$Time;Landroid/hardware/hdmi/HdmiTimerRecordSources$Duration;I)V
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;->BASIC_INFO_SIZE:I
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;->DAY_OF_MONTH_SIZE:I
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;->DURATION_SIZE:I
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;->getDataSize()I
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;->mDayOfMonth:I
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;->mDuration:Landroid/hardware/hdmi/HdmiTimerRecordSources$Duration;
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;->mMonthOfYear:I
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;->MONTH_OF_YEAR_SIZE:I
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;->mRecordingSequence:I
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;->mStartTime:Landroid/hardware/hdmi/HdmiTimerRecordSources$Time;
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;->RECORDING_SEQUENCE_SIZE:I
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;->START_TIME_SIZE:I
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;->toByteArray([BI)I
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerRecordSource;-><init>(Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;)V
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerRecordSource;->getDataSize()I
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerRecordSource;->mRecordSource:Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerRecordSource;->mTimerInfo:Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerRecordSource;->toByteArray([BI)I
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimeUnit;
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimeUnit;-><init>(II)V
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimeUnit;->mHour:I
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimeUnit;->mMinute:I
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimeUnit;->toBcdByte(I)B
-Landroid/hardware/hdmi/HdmiTimerRecordSources$TimeUnit;->toByteArray([BI)I
-Landroid/hardware/hdmi/HdmiTimerRecordSources;-><init>()V
-Landroid/hardware/hdmi/HdmiTimerRecordSources;->checkDurationValue(II)V
-Landroid/hardware/hdmi/HdmiTimerRecordSources;->checkTimerRecordSourceInputs(Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;)V
-Landroid/hardware/hdmi/HdmiTimerRecordSources;->checkTimeValue(II)V
-Landroid/hardware/hdmi/HdmiTimerRecordSources;->EXTERNAL_SOURCE_SPECIFIER_EXTERNAL_PHYSICAL_ADDRESS:I
-Landroid/hardware/hdmi/HdmiTimerRecordSources;->EXTERNAL_SOURCE_SPECIFIER_EXTERNAL_PLUG:I
-Landroid/hardware/hdmi/HdmiTimerRecordSources;->RECORDING_SEQUENCE_REPEAT_MASK:I
-Landroid/hardware/hdmi/HdmiTimerRecordSources;->TAG:Ljava/lang/String;
-Landroid/hardware/hdmi/HdmiTvClient;-><init>(Landroid/hardware/hdmi/IHdmiControlService;)V
-Landroid/hardware/hdmi/HdmiTvClient;->checkTimerRecordingSourceType(I)V
-Landroid/hardware/hdmi/HdmiTvClient;->create(Landroid/hardware/hdmi/IHdmiControlService;)Landroid/hardware/hdmi/HdmiTvClient;
-Landroid/hardware/hdmi/HdmiTvClient;->getCallbackWrapper(Landroid/hardware/hdmi/HdmiTvClient$SelectCallback;)Landroid/hardware/hdmi/IHdmiControlCallback;
-Landroid/hardware/hdmi/HdmiTvClient;->getListenerWrapper(Landroid/hardware/hdmi/HdmiRecordListener;)Landroid/hardware/hdmi/IHdmiRecordListener;
-Landroid/hardware/hdmi/HdmiTvClient;->getListenerWrapper(Landroid/hardware/hdmi/HdmiTvClient$HdmiMhlVendorCommandListener;)Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener;
-Landroid/hardware/hdmi/HdmiTvClient;->getListenerWrapper(Landroid/hardware/hdmi/HdmiTvClient$InputChangeListener;)Landroid/hardware/hdmi/IHdmiInputChangeListener;
-Landroid/hardware/hdmi/HdmiTvClient;->TAG:Ljava/lang/String;
-Landroid/hardware/hdmi/IHdmiControlCallback$Stub$Proxy;
-Landroid/hardware/hdmi/IHdmiControlCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/hdmi/IHdmiControlCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/hdmi/IHdmiControlCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/hdmi/IHdmiControlCallback$Stub$Proxy;->onComplete(I)V
-Landroid/hardware/hdmi/IHdmiControlCallback$Stub;
-Landroid/hardware/hdmi/IHdmiControlCallback$Stub;-><init>()V
-Landroid/hardware/hdmi/IHdmiControlCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/hdmi/IHdmiControlCallback;
-Landroid/hardware/hdmi/IHdmiControlCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/hdmi/IHdmiControlCallback$Stub;->TRANSACTION_onComplete:I
-Landroid/hardware/hdmi/IHdmiControlCallback;
-Landroid/hardware/hdmi/IHdmiControlCallback;->onComplete(I)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->addDeviceEventListener(Landroid/hardware/hdmi/IHdmiDeviceEventListener;)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->addHdmiMhlVendorCommandListener(Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener;)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->addHotplugEventListener(Landroid/hardware/hdmi/IHdmiHotplugEventListener;)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->addSystemAudioModeChangeListener(Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener;)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->addVendorCommandListener(Landroid/hardware/hdmi/IHdmiVendorCommandListener;I)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->canChangeSystemAudioMode()Z
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->clearTimerRecording(II[B)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->deviceSelect(ILandroid/hardware/hdmi/IHdmiControlCallback;)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->getActiveSource()Landroid/hardware/hdmi/HdmiDeviceInfo;
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->getDeviceList()Ljava/util/List;
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->getInputDevices()Ljava/util/List;
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->getPortInfo()Ljava/util/List;
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->getSupportedTypes()[I
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->getSystemAudioMode()Z
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->oneTouchPlay(Landroid/hardware/hdmi/IHdmiControlCallback;)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->portSelect(ILandroid/hardware/hdmi/IHdmiControlCallback;)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->queryDisplayStatus(Landroid/hardware/hdmi/IHdmiControlCallback;)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->removeHotplugEventListener(Landroid/hardware/hdmi/IHdmiHotplugEventListener;)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->removeSystemAudioModeChangeListener(Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener;)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->sendKeyEvent(IIZ)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->sendMhlVendorCommand(III[B)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->sendStandby(II)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->sendVendorCommand(II[BZ)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->setArcMode(Z)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->setHdmiRecordListener(Landroid/hardware/hdmi/IHdmiRecordListener;)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->setInputChangeListener(Landroid/hardware/hdmi/IHdmiInputChangeListener;)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->setProhibitMode(Z)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->setStandbyMode(Z)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->setSystemAudioMode(ZLandroid/hardware/hdmi/IHdmiControlCallback;)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->setSystemAudioMute(Z)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->setSystemAudioVolume(III)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->startOneTouchRecord(I[B)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->startTimerRecording(II[B)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub$Proxy;->stopOneTouchRecord(I)V
-Landroid/hardware/hdmi/IHdmiControlService$Stub;
-Landroid/hardware/hdmi/IHdmiControlService$Stub;-><init>()V
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/hdmi/IHdmiControlService;
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_addDeviceEventListener:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_addHdmiMhlVendorCommandListener:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_addHotplugEventListener:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_addSystemAudioModeChangeListener:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_addVendorCommandListener:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_canChangeSystemAudioMode:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_clearTimerRecording:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_deviceSelect:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_getActiveSource:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_getDeviceList:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_getInputDevices:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_getPortInfo:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_getSupportedTypes:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_getSystemAudioMode:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_oneTouchPlay:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_portSelect:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_queryDisplayStatus:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_removeHotplugEventListener:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_removeSystemAudioModeChangeListener:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_sendKeyEvent:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_sendMhlVendorCommand:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_sendStandby:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_sendVendorCommand:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_setArcMode:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_setHdmiRecordListener:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_setInputChangeListener:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_setProhibitMode:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_setStandbyMode:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_setSystemAudioMode:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_setSystemAudioMute:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_setSystemAudioVolume:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_startOneTouchRecord:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_startTimerRecording:I
-Landroid/hardware/hdmi/IHdmiControlService$Stub;->TRANSACTION_stopOneTouchRecord:I
-Landroid/hardware/hdmi/IHdmiControlService;
-Landroid/hardware/hdmi/IHdmiControlService;->addDeviceEventListener(Landroid/hardware/hdmi/IHdmiDeviceEventListener;)V
-Landroid/hardware/hdmi/IHdmiControlService;->addHdmiMhlVendorCommandListener(Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener;)V
-Landroid/hardware/hdmi/IHdmiControlService;->addHotplugEventListener(Landroid/hardware/hdmi/IHdmiHotplugEventListener;)V
-Landroid/hardware/hdmi/IHdmiControlService;->addSystemAudioModeChangeListener(Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener;)V
-Landroid/hardware/hdmi/IHdmiControlService;->addVendorCommandListener(Landroid/hardware/hdmi/IHdmiVendorCommandListener;I)V
-Landroid/hardware/hdmi/IHdmiControlService;->canChangeSystemAudioMode()Z
-Landroid/hardware/hdmi/IHdmiControlService;->clearTimerRecording(II[B)V
-Landroid/hardware/hdmi/IHdmiControlService;->deviceSelect(ILandroid/hardware/hdmi/IHdmiControlCallback;)V
-Landroid/hardware/hdmi/IHdmiControlService;->getActiveSource()Landroid/hardware/hdmi/HdmiDeviceInfo;
-Landroid/hardware/hdmi/IHdmiControlService;->getDeviceList()Ljava/util/List;
-Landroid/hardware/hdmi/IHdmiControlService;->getInputDevices()Ljava/util/List;
-Landroid/hardware/hdmi/IHdmiControlService;->getPortInfo()Ljava/util/List;
-Landroid/hardware/hdmi/IHdmiControlService;->getSupportedTypes()[I
-Landroid/hardware/hdmi/IHdmiControlService;->getSystemAudioMode()Z
-Landroid/hardware/hdmi/IHdmiControlService;->oneTouchPlay(Landroid/hardware/hdmi/IHdmiControlCallback;)V
-Landroid/hardware/hdmi/IHdmiControlService;->portSelect(ILandroid/hardware/hdmi/IHdmiControlCallback;)V
-Landroid/hardware/hdmi/IHdmiControlService;->queryDisplayStatus(Landroid/hardware/hdmi/IHdmiControlCallback;)V
-Landroid/hardware/hdmi/IHdmiControlService;->removeHotplugEventListener(Landroid/hardware/hdmi/IHdmiHotplugEventListener;)V
-Landroid/hardware/hdmi/IHdmiControlService;->removeSystemAudioModeChangeListener(Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener;)V
-Landroid/hardware/hdmi/IHdmiControlService;->sendKeyEvent(IIZ)V
-Landroid/hardware/hdmi/IHdmiControlService;->sendMhlVendorCommand(III[B)V
-Landroid/hardware/hdmi/IHdmiControlService;->sendStandby(II)V
-Landroid/hardware/hdmi/IHdmiControlService;->sendVendorCommand(II[BZ)V
-Landroid/hardware/hdmi/IHdmiControlService;->setArcMode(Z)V
-Landroid/hardware/hdmi/IHdmiControlService;->setHdmiRecordListener(Landroid/hardware/hdmi/IHdmiRecordListener;)V
-Landroid/hardware/hdmi/IHdmiControlService;->setInputChangeListener(Landroid/hardware/hdmi/IHdmiInputChangeListener;)V
-Landroid/hardware/hdmi/IHdmiControlService;->setProhibitMode(Z)V
-Landroid/hardware/hdmi/IHdmiControlService;->setStandbyMode(Z)V
-Landroid/hardware/hdmi/IHdmiControlService;->setSystemAudioMode(ZLandroid/hardware/hdmi/IHdmiControlCallback;)V
-Landroid/hardware/hdmi/IHdmiControlService;->setSystemAudioMute(Z)V
-Landroid/hardware/hdmi/IHdmiControlService;->setSystemAudioVolume(III)V
-Landroid/hardware/hdmi/IHdmiControlService;->startOneTouchRecord(I[B)V
-Landroid/hardware/hdmi/IHdmiControlService;->startTimerRecording(II[B)V
-Landroid/hardware/hdmi/IHdmiControlService;->stopOneTouchRecord(I)V
-Landroid/hardware/hdmi/IHdmiDeviceEventListener$Stub$Proxy;
-Landroid/hardware/hdmi/IHdmiDeviceEventListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/hdmi/IHdmiDeviceEventListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/hdmi/IHdmiDeviceEventListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/hdmi/IHdmiDeviceEventListener$Stub$Proxy;->onStatusChanged(Landroid/hardware/hdmi/HdmiDeviceInfo;I)V
-Landroid/hardware/hdmi/IHdmiDeviceEventListener$Stub;
-Landroid/hardware/hdmi/IHdmiDeviceEventListener$Stub;-><init>()V
-Landroid/hardware/hdmi/IHdmiDeviceEventListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/hdmi/IHdmiDeviceEventListener;
-Landroid/hardware/hdmi/IHdmiDeviceEventListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/hdmi/IHdmiDeviceEventListener$Stub;->TRANSACTION_onStatusChanged:I
-Landroid/hardware/hdmi/IHdmiDeviceEventListener;
-Landroid/hardware/hdmi/IHdmiDeviceEventListener;->onStatusChanged(Landroid/hardware/hdmi/HdmiDeviceInfo;I)V
-Landroid/hardware/hdmi/IHdmiHotplugEventListener$Stub$Proxy;
-Landroid/hardware/hdmi/IHdmiHotplugEventListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/hdmi/IHdmiHotplugEventListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/hdmi/IHdmiHotplugEventListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/hdmi/IHdmiHotplugEventListener$Stub$Proxy;->onReceived(Landroid/hardware/hdmi/HdmiHotplugEvent;)V
-Landroid/hardware/hdmi/IHdmiHotplugEventListener$Stub;
-Landroid/hardware/hdmi/IHdmiHotplugEventListener$Stub;-><init>()V
-Landroid/hardware/hdmi/IHdmiHotplugEventListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/hdmi/IHdmiHotplugEventListener;
-Landroid/hardware/hdmi/IHdmiHotplugEventListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/hdmi/IHdmiHotplugEventListener$Stub;->TRANSACTION_onReceived:I
-Landroid/hardware/hdmi/IHdmiHotplugEventListener;
-Landroid/hardware/hdmi/IHdmiHotplugEventListener;->onReceived(Landroid/hardware/hdmi/HdmiHotplugEvent;)V
-Landroid/hardware/hdmi/IHdmiInputChangeListener$Stub$Proxy;
-Landroid/hardware/hdmi/IHdmiInputChangeListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/hdmi/IHdmiInputChangeListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/hdmi/IHdmiInputChangeListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/hdmi/IHdmiInputChangeListener$Stub$Proxy;->onChanged(Landroid/hardware/hdmi/HdmiDeviceInfo;)V
-Landroid/hardware/hdmi/IHdmiInputChangeListener$Stub;
-Landroid/hardware/hdmi/IHdmiInputChangeListener$Stub;-><init>()V
-Landroid/hardware/hdmi/IHdmiInputChangeListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/hdmi/IHdmiInputChangeListener;
-Landroid/hardware/hdmi/IHdmiInputChangeListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/hdmi/IHdmiInputChangeListener$Stub;->TRANSACTION_onChanged:I
-Landroid/hardware/hdmi/IHdmiInputChangeListener;
-Landroid/hardware/hdmi/IHdmiInputChangeListener;->onChanged(Landroid/hardware/hdmi/HdmiDeviceInfo;)V
-Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener$Stub$Proxy;
-Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener$Stub$Proxy;->onReceived(III[B)V
-Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener$Stub;
-Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener$Stub;-><init>()V
-Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener;
-Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener$Stub;->TRANSACTION_onReceived:I
-Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener;
-Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener;->onReceived(III[B)V
-Landroid/hardware/hdmi/IHdmiRecordListener$Stub$Proxy;
-Landroid/hardware/hdmi/IHdmiRecordListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/hdmi/IHdmiRecordListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/hdmi/IHdmiRecordListener$Stub$Proxy;->getOneTouchRecordSource(I)[B
-Landroid/hardware/hdmi/IHdmiRecordListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/hdmi/IHdmiRecordListener$Stub$Proxy;->onClearTimerRecordingResult(II)V
-Landroid/hardware/hdmi/IHdmiRecordListener$Stub$Proxy;->onOneTouchRecordResult(II)V
-Landroid/hardware/hdmi/IHdmiRecordListener$Stub$Proxy;->onTimerRecordingResult(II)V
-Landroid/hardware/hdmi/IHdmiRecordListener$Stub;
-Landroid/hardware/hdmi/IHdmiRecordListener$Stub;-><init>()V
-Landroid/hardware/hdmi/IHdmiRecordListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/hdmi/IHdmiRecordListener;
-Landroid/hardware/hdmi/IHdmiRecordListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/hdmi/IHdmiRecordListener$Stub;->TRANSACTION_getOneTouchRecordSource:I
-Landroid/hardware/hdmi/IHdmiRecordListener$Stub;->TRANSACTION_onClearTimerRecordingResult:I
-Landroid/hardware/hdmi/IHdmiRecordListener$Stub;->TRANSACTION_onOneTouchRecordResult:I
-Landroid/hardware/hdmi/IHdmiRecordListener$Stub;->TRANSACTION_onTimerRecordingResult:I
-Landroid/hardware/hdmi/IHdmiRecordListener;
-Landroid/hardware/hdmi/IHdmiRecordListener;->getOneTouchRecordSource(I)[B
-Landroid/hardware/hdmi/IHdmiRecordListener;->onClearTimerRecordingResult(II)V
-Landroid/hardware/hdmi/IHdmiRecordListener;->onOneTouchRecordResult(II)V
-Landroid/hardware/hdmi/IHdmiRecordListener;->onTimerRecordingResult(II)V
-Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener$Stub$Proxy;
-Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener$Stub$Proxy;->onStatusChanged(Z)V
-Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener$Stub;
-Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener$Stub;-><init>()V
-Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener;
-Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener$Stub;->TRANSACTION_onStatusChanged:I
-Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener;
-Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener;->onStatusChanged(Z)V
-Landroid/hardware/hdmi/IHdmiVendorCommandListener$Stub$Proxy;
-Landroid/hardware/hdmi/IHdmiVendorCommandListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/hdmi/IHdmiVendorCommandListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/hdmi/IHdmiVendorCommandListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/hdmi/IHdmiVendorCommandListener$Stub$Proxy;->onControlStateChanged(ZI)V
-Landroid/hardware/hdmi/IHdmiVendorCommandListener$Stub$Proxy;->onReceived(II[BZ)V
-Landroid/hardware/hdmi/IHdmiVendorCommandListener$Stub;
-Landroid/hardware/hdmi/IHdmiVendorCommandListener$Stub;-><init>()V
-Landroid/hardware/hdmi/IHdmiVendorCommandListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/hdmi/IHdmiVendorCommandListener;
-Landroid/hardware/hdmi/IHdmiVendorCommandListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/hdmi/IHdmiVendorCommandListener$Stub;->TRANSACTION_onControlStateChanged:I
-Landroid/hardware/hdmi/IHdmiVendorCommandListener$Stub;->TRANSACTION_onReceived:I
-Landroid/hardware/hdmi/IHdmiVendorCommandListener;
-Landroid/hardware/hdmi/IHdmiVendorCommandListener;->onControlStateChanged(ZI)V
-Landroid/hardware/hdmi/IHdmiVendorCommandListener;->onReceived(II[BZ)V
-Landroid/hardware/ICamera$Stub$Proxy;
-Landroid/hardware/ICamera$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/ICamera$Stub$Proxy;->disconnect()V
-Landroid/hardware/ICamera$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/ICamera$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/ICamera$Stub;
-Landroid/hardware/ICamera$Stub;-><init>()V
-Landroid/hardware/ICamera$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/ICamera;
-Landroid/hardware/ICamera$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/ICamera$Stub;->TRANSACTION_disconnect:I
-Landroid/hardware/ICamera;
-Landroid/hardware/ICamera;->disconnect()V
-Landroid/hardware/ICameraClient$Stub$Proxy;
-Landroid/hardware/ICameraClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/ICameraClient$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/ICameraClient$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/ICameraClient$Stub;
-Landroid/hardware/ICameraClient$Stub;-><init>()V
-Landroid/hardware/ICameraClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/ICameraClient;
-Landroid/hardware/ICameraClient$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/ICameraClient;
-Landroid/hardware/ICameraService$Stub$Proxy;
-Landroid/hardware/ICameraService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/ICameraService$Stub$Proxy;->addListener(Landroid/hardware/ICameraServiceListener;)[Landroid/hardware/CameraStatus;
-Landroid/hardware/ICameraService$Stub$Proxy;->connect(Landroid/hardware/ICameraClient;ILjava/lang/String;II)Landroid/hardware/ICamera;
-Landroid/hardware/ICameraService$Stub$Proxy;->connectDevice(Landroid/hardware/camera2/ICameraDeviceCallbacks;Ljava/lang/String;Ljava/lang/String;I)Landroid/hardware/camera2/ICameraDeviceUser;
-Landroid/hardware/ICameraService$Stub$Proxy;->connectLegacy(Landroid/hardware/ICameraClient;IILjava/lang/String;I)Landroid/hardware/ICamera;
-Landroid/hardware/ICameraService$Stub$Proxy;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/impl/CameraMetadataNative;
-Landroid/hardware/ICameraService$Stub$Proxy;->getCameraInfo(I)Landroid/hardware/CameraInfo;
-Landroid/hardware/ICameraService$Stub$Proxy;->getCameraVendorTagCache()Landroid/hardware/camera2/params/VendorTagDescriptorCache;
-Landroid/hardware/ICameraService$Stub$Proxy;->getCameraVendorTagDescriptor()Landroid/hardware/camera2/params/VendorTagDescriptor;
-Landroid/hardware/ICameraService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/ICameraService$Stub$Proxy;->getLegacyParameters(I)Ljava/lang/String;
-Landroid/hardware/ICameraService$Stub$Proxy;->getNumberOfCameras(I)I
-Landroid/hardware/ICameraService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/ICameraService$Stub$Proxy;->notifySystemEvent(I[I)V
-Landroid/hardware/ICameraService$Stub$Proxy;->removeListener(Landroid/hardware/ICameraServiceListener;)V
-Landroid/hardware/ICameraService$Stub$Proxy;->setTorchMode(Ljava/lang/String;ZLandroid/os/IBinder;)V
-Landroid/hardware/ICameraService$Stub$Proxy;->supportsCameraApi(Ljava/lang/String;I)Z
-Landroid/hardware/ICameraService$Stub;
-Landroid/hardware/ICameraService$Stub;-><init>()V
-Landroid/hardware/ICameraService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/ICameraService$Stub;->TRANSACTION_addListener:I
-Landroid/hardware/ICameraService$Stub;->TRANSACTION_connect:I
-Landroid/hardware/ICameraService$Stub;->TRANSACTION_connectDevice:I
-Landroid/hardware/ICameraService$Stub;->TRANSACTION_connectLegacy:I
-Landroid/hardware/ICameraService$Stub;->TRANSACTION_getCameraCharacteristics:I
-Landroid/hardware/ICameraService$Stub;->TRANSACTION_getCameraInfo:I
-Landroid/hardware/ICameraService$Stub;->TRANSACTION_getCameraVendorTagCache:I
-Landroid/hardware/ICameraService$Stub;->TRANSACTION_getCameraVendorTagDescriptor:I
-Landroid/hardware/ICameraService$Stub;->TRANSACTION_getLegacyParameters:I
-Landroid/hardware/ICameraService$Stub;->TRANSACTION_getNumberOfCameras:I
-Landroid/hardware/ICameraService$Stub;->TRANSACTION_notifySystemEvent:I
-Landroid/hardware/ICameraService$Stub;->TRANSACTION_removeListener:I
-Landroid/hardware/ICameraService$Stub;->TRANSACTION_setTorchMode:I
-Landroid/hardware/ICameraService$Stub;->TRANSACTION_supportsCameraApi:I
-Landroid/hardware/ICameraService;
-Landroid/hardware/ICameraService;->addListener(Landroid/hardware/ICameraServiceListener;)[Landroid/hardware/CameraStatus;
-Landroid/hardware/ICameraService;->API_VERSION_1:I
-Landroid/hardware/ICameraService;->API_VERSION_2:I
-Landroid/hardware/ICameraService;->CAMERA_HAL_API_VERSION_UNSPECIFIED:I
-Landroid/hardware/ICameraService;->CAMERA_TYPE_ALL:I
-Landroid/hardware/ICameraService;->CAMERA_TYPE_BACKWARD_COMPATIBLE:I
-Landroid/hardware/ICameraService;->connect(Landroid/hardware/ICameraClient;ILjava/lang/String;II)Landroid/hardware/ICamera;
-Landroid/hardware/ICameraService;->connectDevice(Landroid/hardware/camera2/ICameraDeviceCallbacks;Ljava/lang/String;Ljava/lang/String;I)Landroid/hardware/camera2/ICameraDeviceUser;
-Landroid/hardware/ICameraService;->connectLegacy(Landroid/hardware/ICameraClient;IILjava/lang/String;I)Landroid/hardware/ICamera;
-Landroid/hardware/ICameraService;->ERROR_ALREADY_EXISTS:I
-Landroid/hardware/ICameraService;->ERROR_CAMERA_IN_USE:I
-Landroid/hardware/ICameraService;->ERROR_DEPRECATED_HAL:I
-Landroid/hardware/ICameraService;->ERROR_DISABLED:I
-Landroid/hardware/ICameraService;->ERROR_DISCONNECTED:I
-Landroid/hardware/ICameraService;->ERROR_ILLEGAL_ARGUMENT:I
-Landroid/hardware/ICameraService;->ERROR_INVALID_OPERATION:I
-Landroid/hardware/ICameraService;->ERROR_MAX_CAMERAS_IN_USE:I
-Landroid/hardware/ICameraService;->ERROR_PERMISSION_DENIED:I
-Landroid/hardware/ICameraService;->ERROR_TIMED_OUT:I
-Landroid/hardware/ICameraService;->EVENT_NONE:I
-Landroid/hardware/ICameraService;->EVENT_USER_SWITCHED:I
-Landroid/hardware/ICameraService;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/impl/CameraMetadataNative;
-Landroid/hardware/ICameraService;->getCameraInfo(I)Landroid/hardware/CameraInfo;
-Landroid/hardware/ICameraService;->getCameraVendorTagCache()Landroid/hardware/camera2/params/VendorTagDescriptorCache;
-Landroid/hardware/ICameraService;->getCameraVendorTagDescriptor()Landroid/hardware/camera2/params/VendorTagDescriptor;
-Landroid/hardware/ICameraService;->getLegacyParameters(I)Ljava/lang/String;
-Landroid/hardware/ICameraService;->getNumberOfCameras(I)I
-Landroid/hardware/ICameraService;->notifySystemEvent(I[I)V
-Landroid/hardware/ICameraService;->removeListener(Landroid/hardware/ICameraServiceListener;)V
-Landroid/hardware/ICameraService;->setTorchMode(Ljava/lang/String;ZLandroid/os/IBinder;)V
-Landroid/hardware/ICameraService;->supportsCameraApi(Ljava/lang/String;I)Z
-Landroid/hardware/ICameraService;->USE_CALLING_PID:I
-Landroid/hardware/ICameraService;->USE_CALLING_UID:I
-Landroid/hardware/ICameraServiceListener$Stub$Proxy;
-Landroid/hardware/ICameraServiceListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/ICameraServiceListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/ICameraServiceListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/ICameraServiceListener$Stub$Proxy;->onStatusChanged(ILjava/lang/String;)V
-Landroid/hardware/ICameraServiceListener$Stub$Proxy;->onTorchStatusChanged(ILjava/lang/String;)V
-Landroid/hardware/ICameraServiceListener$Stub;
-Landroid/hardware/ICameraServiceListener$Stub;-><init>()V
-Landroid/hardware/ICameraServiceListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/ICameraServiceListener;
-Landroid/hardware/ICameraServiceListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/ICameraServiceListener$Stub;->TRANSACTION_onStatusChanged:I
-Landroid/hardware/ICameraServiceListener$Stub;->TRANSACTION_onTorchStatusChanged:I
-Landroid/hardware/ICameraServiceListener;
-Landroid/hardware/ICameraServiceListener;->onStatusChanged(ILjava/lang/String;)V
-Landroid/hardware/ICameraServiceListener;->onTorchStatusChanged(ILjava/lang/String;)V
-Landroid/hardware/ICameraServiceListener;->STATUS_ENUMERATING:I
-Landroid/hardware/ICameraServiceListener;->STATUS_NOT_AVAILABLE:I
-Landroid/hardware/ICameraServiceListener;->STATUS_NOT_PRESENT:I
-Landroid/hardware/ICameraServiceListener;->STATUS_PRESENT:I
-Landroid/hardware/ICameraServiceListener;->STATUS_UNKNOWN:I
-Landroid/hardware/ICameraServiceListener;->TORCH_STATUS_AVAILABLE_OFF:I
-Landroid/hardware/ICameraServiceListener;->TORCH_STATUS_AVAILABLE_ON:I
-Landroid/hardware/ICameraServiceListener;->TORCH_STATUS_NOT_AVAILABLE:I
-Landroid/hardware/ICameraServiceListener;->TORCH_STATUS_UNKNOWN:I
-Landroid/hardware/ICameraServiceProxy$Stub$Proxy;
-Landroid/hardware/ICameraServiceProxy$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/ICameraServiceProxy$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/ICameraServiceProxy$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/ICameraServiceProxy$Stub$Proxy;->notifyCameraState(Ljava/lang/String;IILjava/lang/String;I)V
-Landroid/hardware/ICameraServiceProxy$Stub$Proxy;->pingForUserUpdate()V
-Landroid/hardware/ICameraServiceProxy$Stub;
-Landroid/hardware/ICameraServiceProxy$Stub;-><init>()V
-Landroid/hardware/ICameraServiceProxy$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/ICameraServiceProxy;
-Landroid/hardware/ICameraServiceProxy$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/ICameraServiceProxy$Stub;->TRANSACTION_notifyCameraState:I
-Landroid/hardware/ICameraServiceProxy$Stub;->TRANSACTION_pingForUserUpdate:I
-Landroid/hardware/ICameraServiceProxy;
-Landroid/hardware/ICameraServiceProxy;->CAMERA_API_LEVEL_1:I
-Landroid/hardware/ICameraServiceProxy;->CAMERA_API_LEVEL_2:I
-Landroid/hardware/ICameraServiceProxy;->CAMERA_FACING_BACK:I
-Landroid/hardware/ICameraServiceProxy;->CAMERA_FACING_EXTERNAL:I
-Landroid/hardware/ICameraServiceProxy;->CAMERA_FACING_FRONT:I
-Landroid/hardware/ICameraServiceProxy;->CAMERA_STATE_ACTIVE:I
-Landroid/hardware/ICameraServiceProxy;->CAMERA_STATE_CLOSED:I
-Landroid/hardware/ICameraServiceProxy;->CAMERA_STATE_IDLE:I
-Landroid/hardware/ICameraServiceProxy;->CAMERA_STATE_OPEN:I
-Landroid/hardware/ICameraServiceProxy;->notifyCameraState(Ljava/lang/String;IILjava/lang/String;I)V
-Landroid/hardware/ICameraServiceProxy;->pingForUserUpdate()V
-Landroid/hardware/IConsumerIrService$Stub$Proxy;
-Landroid/hardware/IConsumerIrService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/IConsumerIrService$Stub$Proxy;->getCarrierFrequencies()[I
-Landroid/hardware/IConsumerIrService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/IConsumerIrService$Stub$Proxy;->hasIrEmitter()Z
-Landroid/hardware/IConsumerIrService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/IConsumerIrService$Stub$Proxy;->transmit(Ljava/lang/String;I[I)V
-Landroid/hardware/IConsumerIrService$Stub;
-Landroid/hardware/IConsumerIrService$Stub;-><init>()V
-Landroid/hardware/IConsumerIrService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/IConsumerIrService;
-Landroid/hardware/IConsumerIrService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/IConsumerIrService$Stub;->TRANSACTION_getCarrierFrequencies:I
-Landroid/hardware/IConsumerIrService$Stub;->TRANSACTION_hasIrEmitter:I
-Landroid/hardware/IConsumerIrService$Stub;->TRANSACTION_transmit:I
-Landroid/hardware/IConsumerIrService;
-Landroid/hardware/IConsumerIrService;->getCarrierFrequencies()[I
-Landroid/hardware/IConsumerIrService;->hasIrEmitter()Z
-Landroid/hardware/IConsumerIrService;->transmit(Ljava/lang/String;I[I)V
-Landroid/hardware/input/IInputDevicesChangedListener$Stub$Proxy;
-Landroid/hardware/input/IInputDevicesChangedListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/input/IInputDevicesChangedListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/input/IInputDevicesChangedListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/input/IInputDevicesChangedListener$Stub$Proxy;->onInputDevicesChanged([I)V
-Landroid/hardware/input/IInputDevicesChangedListener$Stub;
-Landroid/hardware/input/IInputDevicesChangedListener$Stub;-><init>()V
-Landroid/hardware/input/IInputDevicesChangedListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/input/IInputDevicesChangedListener;
-Landroid/hardware/input/IInputDevicesChangedListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/input/IInputDevicesChangedListener$Stub;->TRANSACTION_onInputDevicesChanged:I
-Landroid/hardware/input/IInputDevicesChangedListener;
-Landroid/hardware/input/IInputDevicesChangedListener;->onInputDevicesChanged([I)V
-Landroid/hardware/input/IInputManager$Stub$Proxy;
-Landroid/hardware/input/IInputManager$Stub$Proxy;->addKeyboardLayoutForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;Ljava/lang/String;)V
-Landroid/hardware/input/IInputManager$Stub$Proxy;->cancelVibrate(ILandroid/os/IBinder;)V
-Landroid/hardware/input/IInputManager$Stub$Proxy;->createInputForwarder(I)Landroid/app/IInputForwarder;
-Landroid/hardware/input/IInputManager$Stub$Proxy;->disableInputDevice(I)V
-Landroid/hardware/input/IInputManager$Stub$Proxy;->enableInputDevice(I)V
-Landroid/hardware/input/IInputManager$Stub$Proxy;->getCurrentKeyboardLayoutForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;)Ljava/lang/String;
-Landroid/hardware/input/IInputManager$Stub$Proxy;->getEnabledKeyboardLayoutsForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;)[Ljava/lang/String;
-Landroid/hardware/input/IInputManager$Stub$Proxy;->getInputDevice(I)Landroid/view/InputDevice;
-Landroid/hardware/input/IInputManager$Stub$Proxy;->getInputDeviceIds()[I
-Landroid/hardware/input/IInputManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/input/IInputManager$Stub$Proxy;->getKeyboardLayout(Ljava/lang/String;)Landroid/hardware/input/KeyboardLayout;
-Landroid/hardware/input/IInputManager$Stub$Proxy;->getKeyboardLayouts()[Landroid/hardware/input/KeyboardLayout;
-Landroid/hardware/input/IInputManager$Stub$Proxy;->getKeyboardLayoutsForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;)[Landroid/hardware/input/KeyboardLayout;
-Landroid/hardware/input/IInputManager$Stub$Proxy;->getTouchCalibrationForInputDevice(Ljava/lang/String;I)Landroid/hardware/input/TouchCalibration;
-Landroid/hardware/input/IInputManager$Stub$Proxy;->hasKeys(II[I[Z)Z
-Landroid/hardware/input/IInputManager$Stub$Proxy;->injectInputEvent(Landroid/view/InputEvent;I)Z
-Landroid/hardware/input/IInputManager$Stub$Proxy;->isInputDeviceEnabled(I)Z
-Landroid/hardware/input/IInputManager$Stub$Proxy;->isInTabletMode()I
-Landroid/hardware/input/IInputManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/input/IInputManager$Stub$Proxy;->registerInputDevicesChangedListener(Landroid/hardware/input/IInputDevicesChangedListener;)V
-Landroid/hardware/input/IInputManager$Stub$Proxy;->registerTabletModeChangedListener(Landroid/hardware/input/ITabletModeChangedListener;)V
-Landroid/hardware/input/IInputManager$Stub$Proxy;->removeKeyboardLayoutForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;Ljava/lang/String;)V
-Landroid/hardware/input/IInputManager$Stub$Proxy;->requestPointerCapture(Landroid/os/IBinder;Z)V
-Landroid/hardware/input/IInputManager$Stub$Proxy;->setCurrentKeyboardLayoutForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;Ljava/lang/String;)V
-Landroid/hardware/input/IInputManager$Stub$Proxy;->setCustomPointerIcon(Landroid/view/PointerIcon;)V
-Landroid/hardware/input/IInputManager$Stub$Proxy;->setPointerIconType(I)V
-Landroid/hardware/input/IInputManager$Stub$Proxy;->setTouchCalibrationForInputDevice(Ljava/lang/String;ILandroid/hardware/input/TouchCalibration;)V
-Landroid/hardware/input/IInputManager$Stub$Proxy;->tryPointerSpeed(I)V
-Landroid/hardware/input/IInputManager$Stub$Proxy;->vibrate(I[JILandroid/os/IBinder;)V
-Landroid/hardware/input/IInputManager$Stub;
-Landroid/hardware/input/IInputManager$Stub;-><init>()V
-Landroid/hardware/input/IInputManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_addKeyboardLayoutForInputDevice:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_cancelVibrate:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_createInputForwarder:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_disableInputDevice:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_enableInputDevice:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_getCurrentKeyboardLayoutForInputDevice:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_getEnabledKeyboardLayoutsForInputDevice:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_getInputDevice:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_getInputDeviceIds:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_getKeyboardLayout:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_getKeyboardLayouts:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_getKeyboardLayoutsForInputDevice:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_getTouchCalibrationForInputDevice:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_hasKeys:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_isInputDeviceEnabled:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_isInTabletMode:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_registerInputDevicesChangedListener:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_registerTabletModeChangedListener:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_removeKeyboardLayoutForInputDevice:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_requestPointerCapture:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_setCurrentKeyboardLayoutForInputDevice:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_setCustomPointerIcon:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_setPointerIconType:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_setTouchCalibrationForInputDevice:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_tryPointerSpeed:I
-Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_vibrate:I
-Landroid/hardware/input/IInputManager;
-Landroid/hardware/input/IInputManager;->addKeyboardLayoutForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;Ljava/lang/String;)V
-Landroid/hardware/input/IInputManager;->cancelVibrate(ILandroid/os/IBinder;)V
-Landroid/hardware/input/IInputManager;->createInputForwarder(I)Landroid/app/IInputForwarder;
-Landroid/hardware/input/IInputManager;->disableInputDevice(I)V
-Landroid/hardware/input/IInputManager;->enableInputDevice(I)V
-Landroid/hardware/input/IInputManager;->getCurrentKeyboardLayoutForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;)Ljava/lang/String;
-Landroid/hardware/input/IInputManager;->getEnabledKeyboardLayoutsForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;)[Ljava/lang/String;
-Landroid/hardware/input/IInputManager;->getInputDevice(I)Landroid/view/InputDevice;
-Landroid/hardware/input/IInputManager;->getInputDeviceIds()[I
-Landroid/hardware/input/IInputManager;->getKeyboardLayout(Ljava/lang/String;)Landroid/hardware/input/KeyboardLayout;
-Landroid/hardware/input/IInputManager;->getKeyboardLayouts()[Landroid/hardware/input/KeyboardLayout;
-Landroid/hardware/input/IInputManager;->getKeyboardLayoutsForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;)[Landroid/hardware/input/KeyboardLayout;
-Landroid/hardware/input/IInputManager;->getTouchCalibrationForInputDevice(Ljava/lang/String;I)Landroid/hardware/input/TouchCalibration;
-Landroid/hardware/input/IInputManager;->hasKeys(II[I[Z)Z
-Landroid/hardware/input/IInputManager;->isInputDeviceEnabled(I)Z
-Landroid/hardware/input/IInputManager;->isInTabletMode()I
-Landroid/hardware/input/IInputManager;->registerInputDevicesChangedListener(Landroid/hardware/input/IInputDevicesChangedListener;)V
-Landroid/hardware/input/IInputManager;->registerTabletModeChangedListener(Landroid/hardware/input/ITabletModeChangedListener;)V
-Landroid/hardware/input/IInputManager;->removeKeyboardLayoutForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;Ljava/lang/String;)V
-Landroid/hardware/input/IInputManager;->requestPointerCapture(Landroid/os/IBinder;Z)V
-Landroid/hardware/input/IInputManager;->setCurrentKeyboardLayoutForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;Ljava/lang/String;)V
-Landroid/hardware/input/IInputManager;->setCustomPointerIcon(Landroid/view/PointerIcon;)V
-Landroid/hardware/input/IInputManager;->setPointerIconType(I)V
-Landroid/hardware/input/IInputManager;->setTouchCalibrationForInputDevice(Ljava/lang/String;ILandroid/hardware/input/TouchCalibration;)V
-Landroid/hardware/input/IInputManager;->tryPointerSpeed(I)V
-Landroid/hardware/input/IInputManager;->vibrate(I[JILandroid/os/IBinder;)V
-Landroid/hardware/input/InputDeviceIdentifier;
-Landroid/hardware/input/InputDeviceIdentifier;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/input/InputDeviceIdentifier;-><init>(Ljava/lang/String;II)V
-Landroid/hardware/input/InputDeviceIdentifier;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/input/InputDeviceIdentifier;->getDescriptor()Ljava/lang/String;
-Landroid/hardware/input/InputDeviceIdentifier;->getProductId()I
-Landroid/hardware/input/InputDeviceIdentifier;->getVendorId()I
-Landroid/hardware/input/InputDeviceIdentifier;->mDescriptor:Ljava/lang/String;
-Landroid/hardware/input/InputDeviceIdentifier;->mProductId:I
-Landroid/hardware/input/InputDeviceIdentifier;->mVendorId:I
-Landroid/hardware/input/InputManager$InputDeviceListenerDelegate;
-Landroid/hardware/input/InputManager$InputDeviceListenerDelegate;-><init>(Landroid/hardware/input/InputManager$InputDeviceListener;Landroid/os/Handler;)V
-Landroid/hardware/input/InputManager$InputDeviceListenerDelegate;->mListener:Landroid/hardware/input/InputManager$InputDeviceListener;
-Landroid/hardware/input/InputManager$InputDevicesChangedListener;
-Landroid/hardware/input/InputManager$InputDevicesChangedListener;-><init>()V
-Landroid/hardware/input/InputManager$InputDevicesChangedListener;->onInputDevicesChanged([I)V
-Landroid/hardware/input/InputManager$InputDeviceVibrator;
-Landroid/hardware/input/InputManager$InputDeviceVibrator;-><init>(I)V
-Landroid/hardware/input/InputManager$InputDeviceVibrator;->mDeviceId:I
-Landroid/hardware/input/InputManager$InputDeviceVibrator;->mToken:Landroid/os/Binder;
-Landroid/hardware/input/InputManager$InputDeviceVibrator;->vibrate(ILjava/lang/String;Landroid/os/VibrationEffect;Landroid/media/AudioAttributes;)V
-Landroid/hardware/input/InputManager$OnTabletModeChangedListener;
-Landroid/hardware/input/InputManager$OnTabletModeChangedListener;->onTabletModeChanged(JZ)V
-Landroid/hardware/input/InputManager$OnTabletModeChangedListenerDelegate;
-Landroid/hardware/input/InputManager$OnTabletModeChangedListenerDelegate;-><init>(Landroid/hardware/input/InputManager$OnTabletModeChangedListener;Landroid/os/Handler;)V
-Landroid/hardware/input/InputManager$OnTabletModeChangedListenerDelegate;->mListener:Landroid/hardware/input/InputManager$OnTabletModeChangedListener;
-Landroid/hardware/input/InputManager$OnTabletModeChangedListenerDelegate;->MSG_TABLET_MODE_CHANGED:I
-Landroid/hardware/input/InputManager$OnTabletModeChangedListenerDelegate;->sendTabletModeChanged(JZ)V
-Landroid/hardware/input/InputManager$SwitchState;
-Landroid/hardware/input/InputManager$TabletModeChangedListener;
-Landroid/hardware/input/InputManager$TabletModeChangedListener;-><init>()V
-Landroid/hardware/input/InputManager$TabletModeChangedListener;->onTabletModeChanged(JZ)V
-Landroid/hardware/input/InputManager;-><init>(Landroid/hardware/input/IInputManager;)V
-Landroid/hardware/input/InputManager;->addKeyboardLayoutForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;Ljava/lang/String;)V
-Landroid/hardware/input/InputManager;->containsDeviceId([II)Z
-Landroid/hardware/input/InputManager;->DEBUG:Z
-Landroid/hardware/input/InputManager;->DEFAULT_POINTER_SPEED:I
-Landroid/hardware/input/InputManager;->deviceHasKeys(I[I)[Z
-Landroid/hardware/input/InputManager;->deviceHasKeys([I)[Z
-Landroid/hardware/input/InputManager;->disableInputDevice(I)V
-Landroid/hardware/input/InputManager;->enableInputDevice(I)V
-Landroid/hardware/input/InputManager;->findInputDeviceListenerLocked(Landroid/hardware/input/InputManager$InputDeviceListener;)I
-Landroid/hardware/input/InputManager;->findOnTabletModeChangedListenerLocked(Landroid/hardware/input/InputManager$OnTabletModeChangedListener;)I
-Landroid/hardware/input/InputManager;->getCurrentKeyboardLayoutForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;)Ljava/lang/String;
-Landroid/hardware/input/InputManager;->getEnabledKeyboardLayoutsForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;)[Ljava/lang/String;
-Landroid/hardware/input/InputManager;->getInputDeviceByDescriptor(Ljava/lang/String;)Landroid/view/InputDevice;
-Landroid/hardware/input/InputManager;->getInputDeviceVibrator(I)Landroid/os/Vibrator;
-Landroid/hardware/input/InputManager;->getKeyboardLayout(Ljava/lang/String;)Landroid/hardware/input/KeyboardLayout;
-Landroid/hardware/input/InputManager;->getKeyboardLayouts()[Landroid/hardware/input/KeyboardLayout;
-Landroid/hardware/input/InputManager;->getKeyboardLayoutsForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;)[Landroid/hardware/input/KeyboardLayout;
-Landroid/hardware/input/InputManager;->getPointerSpeed(Landroid/content/Context;)I
-Landroid/hardware/input/InputManager;->getTouchCalibration(Ljava/lang/String;I)Landroid/hardware/input/TouchCalibration;
-Landroid/hardware/input/InputManager;->initializeTabletModeListenerLocked()V
-Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_ASYNC:I
-Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_RESULT:I
-Landroid/hardware/input/InputManager;->isInputDeviceEnabled(I)Z
-Landroid/hardware/input/InputManager;->isInTabletMode()I
-Landroid/hardware/input/InputManager;->MAX_POINTER_SPEED:I
-Landroid/hardware/input/InputManager;->mInputDeviceListeners:Ljava/util/ArrayList;
-Landroid/hardware/input/InputManager;->mInputDevices:Landroid/util/SparseArray;
-Landroid/hardware/input/InputManager;->mInputDevicesChangedListener:Landroid/hardware/input/InputManager$InputDevicesChangedListener;
-Landroid/hardware/input/InputManager;->mInputDevicesLock:Ljava/lang/Object;
-Landroid/hardware/input/InputManager;->MIN_POINTER_SPEED:I
-Landroid/hardware/input/InputManager;->mOnTabletModeChangedListeners:Ljava/util/List;
-Landroid/hardware/input/InputManager;->MSG_DEVICE_ADDED:I
-Landroid/hardware/input/InputManager;->MSG_DEVICE_CHANGED:I
-Landroid/hardware/input/InputManager;->MSG_DEVICE_REMOVED:I
-Landroid/hardware/input/InputManager;->mTabletModeChangedListener:Landroid/hardware/input/InputManager$TabletModeChangedListener;
-Landroid/hardware/input/InputManager;->mTabletModeLock:Ljava/lang/Object;
-Landroid/hardware/input/InputManager;->onInputDevicesChanged([I)V
-Landroid/hardware/input/InputManager;->onTabletModeChanged(JZ)V
-Landroid/hardware/input/InputManager;->populateInputDevicesLocked()V
-Landroid/hardware/input/InputManager;->registerOnTabletModeChangedListener(Landroid/hardware/input/InputManager$OnTabletModeChangedListener;Landroid/os/Handler;)V
-Landroid/hardware/input/InputManager;->removeKeyboardLayoutForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;Ljava/lang/String;)V
-Landroid/hardware/input/InputManager;->requestPointerCapture(Landroid/os/IBinder;Z)V
-Landroid/hardware/input/InputManager;->sendMessageToInputDeviceListenersLocked(II)V
-Landroid/hardware/input/InputManager;->setCurrentKeyboardLayoutForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;Ljava/lang/String;)V
-Landroid/hardware/input/InputManager;->setCustomPointerIcon(Landroid/view/PointerIcon;)V
-Landroid/hardware/input/InputManager;->setPointerSpeed(Landroid/content/Context;I)V
-Landroid/hardware/input/InputManager;->setTouchCalibration(Ljava/lang/String;ILandroid/hardware/input/TouchCalibration;)V
-Landroid/hardware/input/InputManager;->sInstance:Landroid/hardware/input/InputManager;
-Landroid/hardware/input/InputManager;->SWITCH_STATE_OFF:I
-Landroid/hardware/input/InputManager;->SWITCH_STATE_ON:I
-Landroid/hardware/input/InputManager;->SWITCH_STATE_UNKNOWN:I
-Landroid/hardware/input/InputManager;->TAG:Ljava/lang/String;
-Landroid/hardware/input/InputManager;->tryPointerSpeed(I)V
-Landroid/hardware/input/InputManager;->unregisterOnTabletModeChangedListener(Landroid/hardware/input/InputManager$OnTabletModeChangedListener;)V
-Landroid/hardware/input/InputManagerInternal;
-Landroid/hardware/input/InputManagerInternal;-><init>()V
-Landroid/hardware/input/InputManagerInternal;->injectInputEvent(Landroid/view/InputEvent;II)Z
-Landroid/hardware/input/InputManagerInternal;->setDisplayViewports(Landroid/hardware/display/DisplayViewport;Landroid/hardware/display/DisplayViewport;Ljava/util/List;)V
-Landroid/hardware/input/InputManagerInternal;->setInteractive(Z)V
-Landroid/hardware/input/InputManagerInternal;->setPulseGestureEnabled(Z)V
-Landroid/hardware/input/InputManagerInternal;->toggleCapsLock(I)V
-Landroid/hardware/input/ITabletModeChangedListener$Stub$Proxy;
-Landroid/hardware/input/ITabletModeChangedListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/input/ITabletModeChangedListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/input/ITabletModeChangedListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/input/ITabletModeChangedListener$Stub$Proxy;->onTabletModeChanged(JZ)V
-Landroid/hardware/input/ITabletModeChangedListener$Stub;
-Landroid/hardware/input/ITabletModeChangedListener$Stub;-><init>()V
-Landroid/hardware/input/ITabletModeChangedListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/input/ITabletModeChangedListener;
-Landroid/hardware/input/ITabletModeChangedListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/input/ITabletModeChangedListener$Stub;->TRANSACTION_onTabletModeChanged:I
-Landroid/hardware/input/ITabletModeChangedListener;
-Landroid/hardware/input/ITabletModeChangedListener;->onTabletModeChanged(JZ)V
-Landroid/hardware/input/KeyboardLayout;
-Landroid/hardware/input/KeyboardLayout;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/input/KeyboardLayout;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/os/LocaleList;II)V
-Landroid/hardware/input/KeyboardLayout;->compareTo(Landroid/hardware/input/KeyboardLayout;)I
-Landroid/hardware/input/KeyboardLayout;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/input/KeyboardLayout;->getCollection()Ljava/lang/String;
-Landroid/hardware/input/KeyboardLayout;->getDescriptor()Ljava/lang/String;
-Landroid/hardware/input/KeyboardLayout;->getLabel()Ljava/lang/String;
-Landroid/hardware/input/KeyboardLayout;->getLocales()Landroid/os/LocaleList;
-Landroid/hardware/input/KeyboardLayout;->getProductId()I
-Landroid/hardware/input/KeyboardLayout;->getVendorId()I
-Landroid/hardware/input/KeyboardLayout;->mCollection:Ljava/lang/String;
-Landroid/hardware/input/KeyboardLayout;->mDescriptor:Ljava/lang/String;
-Landroid/hardware/input/KeyboardLayout;->mLabel:Ljava/lang/String;
-Landroid/hardware/input/KeyboardLayout;->mLocales:Landroid/os/LocaleList;
-Landroid/hardware/input/KeyboardLayout;->mPriority:I
-Landroid/hardware/input/KeyboardLayout;->mProductId:I
-Landroid/hardware/input/KeyboardLayout;->mVendorId:I
-Landroid/hardware/input/TouchCalibration;
-Landroid/hardware/input/TouchCalibration;-><init>()V
-Landroid/hardware/input/TouchCalibration;-><init>(FFFFFF)V
-Landroid/hardware/input/TouchCalibration;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/input/TouchCalibration;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/input/TouchCalibration;->getAffineTransform()[F
-Landroid/hardware/input/TouchCalibration;->IDENTITY:Landroid/hardware/input/TouchCalibration;
-Landroid/hardware/input/TouchCalibration;->mXOffset:F
-Landroid/hardware/input/TouchCalibration;->mXScale:F
-Landroid/hardware/input/TouchCalibration;->mXYMix:F
-Landroid/hardware/input/TouchCalibration;->mYOffset:F
-Landroid/hardware/input/TouchCalibration;->mYScale:F
-Landroid/hardware/input/TouchCalibration;->mYXMix:F
-Landroid/hardware/ISerialManager$Stub$Proxy;
-Landroid/hardware/ISerialManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/ISerialManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/ISerialManager$Stub$Proxy;->getSerialPorts()[Ljava/lang/String;
-Landroid/hardware/ISerialManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/ISerialManager$Stub$Proxy;->openSerialPort(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-Landroid/hardware/ISerialManager$Stub;
-Landroid/hardware/ISerialManager$Stub;-><init>()V
-Landroid/hardware/ISerialManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/ISerialManager;
-Landroid/hardware/ISerialManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/ISerialManager$Stub;->TRANSACTION_getSerialPorts:I
-Landroid/hardware/ISerialManager$Stub;->TRANSACTION_openSerialPort:I
-Landroid/hardware/ISerialManager;
-Landroid/hardware/ISerialManager;->getSerialPorts()[Ljava/lang/String;
-Landroid/hardware/ISerialManager;->openSerialPort(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-Landroid/hardware/LegacySensorManager$LegacyListener;
-Landroid/hardware/LegacySensorManager$LegacyListener;-><init>(Landroid/hardware/SensorListener;)V
-Landroid/hardware/LegacySensorManager$LegacyListener;->getLegacySensorType(I)I
-Landroid/hardware/LegacySensorManager$LegacyListener;->hasOrientationSensor(I)Z
-Landroid/hardware/LegacySensorManager$LegacyListener;->hasSensors()Z
-Landroid/hardware/LegacySensorManager$LegacyListener;->mapSensorDataToWindow(I[FI)V
-Landroid/hardware/LegacySensorManager$LegacyListener;->mSensors:I
-Landroid/hardware/LegacySensorManager$LegacyListener;->mTarget:Landroid/hardware/SensorListener;
-Landroid/hardware/LegacySensorManager$LegacyListener;->mValues:[F
-Landroid/hardware/LegacySensorManager$LegacyListener;->mYawfilter:Landroid/hardware/LegacySensorManager$LmsFilter;
-Landroid/hardware/LegacySensorManager$LegacyListener;->registerSensor(I)Z
-Landroid/hardware/LegacySensorManager$LegacyListener;->unregisterSensor(I)Z
-Landroid/hardware/LegacySensorManager$LmsFilter;
-Landroid/hardware/LegacySensorManager$LmsFilter;-><init>()V
-Landroid/hardware/LegacySensorManager$LmsFilter;->COUNT:I
-Landroid/hardware/LegacySensorManager$LmsFilter;->filter(JF)F
-Landroid/hardware/LegacySensorManager$LmsFilter;->mIndex:I
-Landroid/hardware/LegacySensorManager$LmsFilter;->mT:[J
-Landroid/hardware/LegacySensorManager$LmsFilter;->mV:[F
-Landroid/hardware/LegacySensorManager$LmsFilter;->PREDICTION_RATIO:F
-Landroid/hardware/LegacySensorManager$LmsFilter;->PREDICTION_TIME:F
-Landroid/hardware/LegacySensorManager$LmsFilter;->SENSORS_RATE_MS:I
-Landroid/hardware/LegacySensorManager;
-Landroid/hardware/LegacySensorManager;-><init>(Landroid/hardware/SensorManager;)V
-Landroid/hardware/LegacySensorManager;->getRotation()I
-Landroid/hardware/LegacySensorManager;->getSensors()I
-Landroid/hardware/LegacySensorManager;->mLegacyListenersMap:Ljava/util/HashMap;
-Landroid/hardware/LegacySensorManager;->mSensorManager:Landroid/hardware/SensorManager;
-Landroid/hardware/LegacySensorManager;->onRotationChanged(I)V
-Landroid/hardware/LegacySensorManager;->registerLegacyListener(IILandroid/hardware/SensorListener;II)Z
-Landroid/hardware/LegacySensorManager;->registerListener(Landroid/hardware/SensorListener;II)Z
-Landroid/hardware/LegacySensorManager;->sInitialized:Z
-Landroid/hardware/LegacySensorManager;->sRotation:I
-Landroid/hardware/LegacySensorManager;->sWindowManager:Landroid/view/IWindowManager;
-Landroid/hardware/LegacySensorManager;->unregisterLegacyListener(IILandroid/hardware/SensorListener;I)V
-Landroid/hardware/LegacySensorManager;->unregisterListener(Landroid/hardware/SensorListener;I)V
-Landroid/hardware/location/ActivityChangedEvent;
-Landroid/hardware/location/ActivityChangedEvent;-><init>([Landroid/hardware/location/ActivityRecognitionEvent;)V
-Landroid/hardware/location/ActivityChangedEvent;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/location/ActivityChangedEvent;->getActivityRecognitionEvents()Ljava/lang/Iterable;
-Landroid/hardware/location/ActivityChangedEvent;->mActivityRecognitionEvents:Ljava/util/List;
-Landroid/hardware/location/ActivityRecognitionEvent;
-Landroid/hardware/location/ActivityRecognitionEvent;-><init>(Ljava/lang/String;IJ)V
-Landroid/hardware/location/ActivityRecognitionEvent;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/location/ActivityRecognitionEvent;->getActivity()Ljava/lang/String;
-Landroid/hardware/location/ActivityRecognitionEvent;->getEventType()I
-Landroid/hardware/location/ActivityRecognitionEvent;->getTimestampNs()J
-Landroid/hardware/location/ActivityRecognitionEvent;->mActivity:Ljava/lang/String;
-Landroid/hardware/location/ActivityRecognitionEvent;->mEventType:I
-Landroid/hardware/location/ActivityRecognitionEvent;->mTimestampNs:J
-Landroid/hardware/location/ActivityRecognitionHardware$Event;
-Landroid/hardware/location/ActivityRecognitionHardware$Event;-><init>()V
-Landroid/hardware/location/ActivityRecognitionHardware$Event;->activity:I
-Landroid/hardware/location/ActivityRecognitionHardware$Event;->timestamp:J
-Landroid/hardware/location/ActivityRecognitionHardware$Event;->type:I
-Landroid/hardware/location/ActivityRecognitionHardware$SinkList;
-Landroid/hardware/location/ActivityRecognitionHardware$SinkList;-><init>()V
-Landroid/hardware/location/ActivityRecognitionHardware$SinkList;->disableActivityEventIfEnabled(II)V
-Landroid/hardware/location/ActivityRecognitionHardware$SinkList;->onCallbackDied(Landroid/hardware/location/IActivityRecognitionHardwareSink;)V
-Landroid/hardware/location/ActivityRecognitionHardware;
-Landroid/hardware/location/ActivityRecognitionHardware;-><init>(Landroid/content/Context;)V
-Landroid/hardware/location/ActivityRecognitionHardware;->checkPermissions()V
-Landroid/hardware/location/ActivityRecognitionHardware;->DEBUG:Z
-Landroid/hardware/location/ActivityRecognitionHardware;->disableActivityEvent(Ljava/lang/String;I)Z
-Landroid/hardware/location/ActivityRecognitionHardware;->enableActivityEvent(Ljava/lang/String;IJ)Z
-Landroid/hardware/location/ActivityRecognitionHardware;->ENFORCE_HW_PERMISSION_MESSAGE:Ljava/lang/String;
-Landroid/hardware/location/ActivityRecognitionHardware;->EVENT_TYPE_COUNT:I
-Landroid/hardware/location/ActivityRecognitionHardware;->EVENT_TYPE_DISABLED:I
-Landroid/hardware/location/ActivityRecognitionHardware;->EVENT_TYPE_ENABLED:I
-Landroid/hardware/location/ActivityRecognitionHardware;->fetchSupportedActivities()[Ljava/lang/String;
-Landroid/hardware/location/ActivityRecognitionHardware;->flush()Z
-Landroid/hardware/location/ActivityRecognitionHardware;->getActivityName(I)Ljava/lang/String;
-Landroid/hardware/location/ActivityRecognitionHardware;->getActivityType(Ljava/lang/String;)I
-Landroid/hardware/location/ActivityRecognitionHardware;->getInstance(Landroid/content/Context;)Landroid/hardware/location/ActivityRecognitionHardware;
-Landroid/hardware/location/ActivityRecognitionHardware;->getSupportedActivities()[Ljava/lang/String;
-Landroid/hardware/location/ActivityRecognitionHardware;->HARDWARE_PERMISSION:Ljava/lang/String;
-Landroid/hardware/location/ActivityRecognitionHardware;->INVALID_ACTIVITY_TYPE:I
-Landroid/hardware/location/ActivityRecognitionHardware;->isActivitySupported(Ljava/lang/String;)Z
-Landroid/hardware/location/ActivityRecognitionHardware;->isSupported()Z
-Landroid/hardware/location/ActivityRecognitionHardware;->mContext:Landroid/content/Context;
-Landroid/hardware/location/ActivityRecognitionHardware;->mSinks:Landroid/hardware/location/ActivityRecognitionHardware$SinkList;
-Landroid/hardware/location/ActivityRecognitionHardware;->mSupportedActivities:[Ljava/lang/String;
-Landroid/hardware/location/ActivityRecognitionHardware;->mSupportedActivitiesCount:I
-Landroid/hardware/location/ActivityRecognitionHardware;->mSupportedActivitiesEnabledEvents:[[I
-Landroid/hardware/location/ActivityRecognitionHardware;->nativeClassInit()V
-Landroid/hardware/location/ActivityRecognitionHardware;->nativeDisableActivityEvent(II)I
-Landroid/hardware/location/ActivityRecognitionHardware;->nativeEnableActivityEvent(IIJ)I
-Landroid/hardware/location/ActivityRecognitionHardware;->nativeFlush()I
-Landroid/hardware/location/ActivityRecognitionHardware;->nativeGetSupportedActivities()[Ljava/lang/String;
-Landroid/hardware/location/ActivityRecognitionHardware;->nativeInitialize()V
-Landroid/hardware/location/ActivityRecognitionHardware;->nativeIsSupported()Z
-Landroid/hardware/location/ActivityRecognitionHardware;->nativeRelease()V
-Landroid/hardware/location/ActivityRecognitionHardware;->NATIVE_SUCCESS_RESULT:I
-Landroid/hardware/location/ActivityRecognitionHardware;->onActivityChanged([Landroid/hardware/location/ActivityRecognitionHardware$Event;)V
-Landroid/hardware/location/ActivityRecognitionHardware;->registerSink(Landroid/hardware/location/IActivityRecognitionHardwareSink;)Z
-Landroid/hardware/location/ActivityRecognitionHardware;->sSingletonInstance:Landroid/hardware/location/ActivityRecognitionHardware;
-Landroid/hardware/location/ActivityRecognitionHardware;->sSingletonInstanceLock:Ljava/lang/Object;
-Landroid/hardware/location/ActivityRecognitionHardware;->TAG:Ljava/lang/String;
-Landroid/hardware/location/ActivityRecognitionHardware;->unregisterSink(Landroid/hardware/location/IActivityRecognitionHardwareSink;)Z
-Landroid/hardware/location/ContextHubClient;-><init>(Landroid/hardware/location/ContextHubInfo;)V
-Landroid/hardware/location/ContextHubClient;->mAttachedHub:Landroid/hardware/location/ContextHubInfo;
-Landroid/hardware/location/ContextHubClient;->mClientProxy:Landroid/hardware/location/IContextHubClient;
-Landroid/hardware/location/ContextHubClient;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/hardware/location/ContextHubClient;->mIsClosed:Ljava/util/concurrent/atomic/AtomicBoolean;
-Landroid/hardware/location/ContextHubClient;->setClientProxy(Landroid/hardware/location/IContextHubClient;)V
-Landroid/hardware/location/ContextHubInfo;-><init>(Landroid/hardware/contexthub/V1_0/ContextHub;)V
-Landroid/hardware/location/ContextHubInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/location/ContextHubInfo;->mChreApiMajorVersion:B
-Landroid/hardware/location/ContextHubInfo;->mChreApiMinorVersion:B
-Landroid/hardware/location/ContextHubInfo;->mChrePatchVersion:S
-Landroid/hardware/location/ContextHubInfo;->mChrePlatformId:J
-Landroid/hardware/location/ContextHubInfo;->mId:I
-Landroid/hardware/location/ContextHubInfo;->mMaxPacketLengthBytes:I
-Landroid/hardware/location/ContextHubInfo;->mMemoryRegions:[Landroid/hardware/location/MemoryRegion;
-Landroid/hardware/location/ContextHubInfo;->mName:Ljava/lang/String;
-Landroid/hardware/location/ContextHubInfo;->mPeakMips:F
-Landroid/hardware/location/ContextHubInfo;->mPeakPowerDrawMw:F
-Landroid/hardware/location/ContextHubInfo;->mPlatformVersion:I
-Landroid/hardware/location/ContextHubInfo;->mSleepPowerDrawMw:F
-Landroid/hardware/location/ContextHubInfo;->mStoppedPowerDrawMw:F
-Landroid/hardware/location/ContextHubInfo;->mSupportedSensors:[I
-Landroid/hardware/location/ContextHubInfo;->mToolchain:Ljava/lang/String;
-Landroid/hardware/location/ContextHubInfo;->mToolchainVersion:I
-Landroid/hardware/location/ContextHubInfo;->mVendor:Ljava/lang/String;
-Landroid/hardware/location/ContextHubManager$ICallback;
-Landroid/hardware/location/ContextHubManager$ICallback;->onMessageReceipt(IILandroid/hardware/location/ContextHubMessage;)V
-Landroid/hardware/location/ContextHubManager;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
-Landroid/hardware/location/ContextHubManager;->createClientCallback(Landroid/hardware/location/ContextHubClient;Landroid/hardware/location/ContextHubClientCallback;Ljava/util/concurrent/Executor;)Landroid/hardware/location/IContextHubClientCallback;
-Landroid/hardware/location/ContextHubManager;->createQueryCallback(Landroid/hardware/location/ContextHubTransaction;)Landroid/hardware/location/IContextHubTransactionCallback;
-Landroid/hardware/location/ContextHubManager;->createTransactionCallback(Landroid/hardware/location/ContextHubTransaction;)Landroid/hardware/location/IContextHubTransactionCallback;
-Landroid/hardware/location/ContextHubManager;->mCallback:Landroid/hardware/location/ContextHubManager$Callback;
-Landroid/hardware/location/ContextHubManager;->mCallbackHandler:Landroid/os/Handler;
-Landroid/hardware/location/ContextHubManager;->mClientCallback:Landroid/hardware/location/IContextHubCallback$Stub;
-Landroid/hardware/location/ContextHubManager;->mLocalCallback:Landroid/hardware/location/ContextHubManager$ICallback;
-Landroid/hardware/location/ContextHubManager;->mMainLooper:Landroid/os/Looper;
-Landroid/hardware/location/ContextHubManager;->mService:Landroid/hardware/location/IContextHubService;
-Landroid/hardware/location/ContextHubManager;->registerCallback(Landroid/hardware/location/ContextHubManager$ICallback;)I
-Landroid/hardware/location/ContextHubManager;->TAG:Ljava/lang/String;
-Landroid/hardware/location/ContextHubManager;->unregisterCallback(Landroid/hardware/location/ContextHubManager$ICallback;)I
-Landroid/hardware/location/ContextHubMessage;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/location/ContextHubMessage;->DEBUG_LOG_NUM_BYTES:I
-Landroid/hardware/location/ContextHubMessage;->mData:[B
-Landroid/hardware/location/ContextHubMessage;->mType:I
-Landroid/hardware/location/ContextHubMessage;->mVersion:I
-Landroid/hardware/location/ContextHubTransaction$Response;-><init>(ILjava/lang/Object;)V
-Landroid/hardware/location/ContextHubTransaction$Response;->mContents:Ljava/lang/Object;
-Landroid/hardware/location/ContextHubTransaction$Response;->mResult:I
-Landroid/hardware/location/ContextHubTransaction$Result;
-Landroid/hardware/location/ContextHubTransaction$Type;
-Landroid/hardware/location/ContextHubTransaction;-><init>(I)V
-Landroid/hardware/location/ContextHubTransaction;->mDoneSignal:Ljava/util/concurrent/CountDownLatch;
-Landroid/hardware/location/ContextHubTransaction;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/hardware/location/ContextHubTransaction;->mIsResponseSet:Z
-Landroid/hardware/location/ContextHubTransaction;->mListener:Landroid/hardware/location/ContextHubTransaction$OnCompleteListener;
-Landroid/hardware/location/ContextHubTransaction;->mResponse:Landroid/hardware/location/ContextHubTransaction$Response;
-Landroid/hardware/location/ContextHubTransaction;->mTransactionType:I
-Landroid/hardware/location/ContextHubTransaction;->setResponse(Landroid/hardware/location/ContextHubTransaction$Response;)V
-Landroid/hardware/location/ContextHubTransaction;->TAG:Ljava/lang/String;
-Landroid/hardware/location/GeofenceHardware$GeofenceHardwareCallbackWrapper;
-Landroid/hardware/location/GeofenceHardware$GeofenceHardwareCallbackWrapper;-><init>(Landroid/hardware/location/GeofenceHardwareCallback;)V
-Landroid/hardware/location/GeofenceHardware$GeofenceHardwareCallbackWrapper;->mCallback:Ljava/lang/ref/WeakReference;
-Landroid/hardware/location/GeofenceHardware$GeofenceHardwareCallbackWrapper;->onGeofenceAdd(II)V
-Landroid/hardware/location/GeofenceHardware$GeofenceHardwareCallbackWrapper;->onGeofencePause(II)V
-Landroid/hardware/location/GeofenceHardware$GeofenceHardwareCallbackWrapper;->onGeofenceRemove(II)V
-Landroid/hardware/location/GeofenceHardware$GeofenceHardwareCallbackWrapper;->onGeofenceResume(II)V
-Landroid/hardware/location/GeofenceHardware$GeofenceHardwareCallbackWrapper;->onGeofenceTransition(IILandroid/location/Location;JI)V
-Landroid/hardware/location/GeofenceHardware$GeofenceHardwareMonitorCallbackWrapper;
-Landroid/hardware/location/GeofenceHardware$GeofenceHardwareMonitorCallbackWrapper;-><init>(Landroid/hardware/location/GeofenceHardwareMonitorCallback;)V
-Landroid/hardware/location/GeofenceHardware$GeofenceHardwareMonitorCallbackWrapper;->mCallback:Ljava/lang/ref/WeakReference;
-Landroid/hardware/location/GeofenceHardware$GeofenceHardwareMonitorCallbackWrapper;->onMonitoringSystemChange(Landroid/hardware/location/GeofenceHardwareMonitorEvent;)V
-Landroid/hardware/location/GeofenceHardware;->getCallbackWrapper(Landroid/hardware/location/GeofenceHardwareCallback;)Landroid/hardware/location/GeofenceHardware$GeofenceHardwareCallbackWrapper;
-Landroid/hardware/location/GeofenceHardware;->getMonitorCallbackWrapper(Landroid/hardware/location/GeofenceHardwareMonitorCallback;)Landroid/hardware/location/GeofenceHardware$GeofenceHardwareMonitorCallbackWrapper;
-Landroid/hardware/location/GeofenceHardware;->mCallbacks:Ljava/util/HashMap;
-Landroid/hardware/location/GeofenceHardware;->mMonitorCallbacks:Ljava/util/HashMap;
-Landroid/hardware/location/GeofenceHardware;->mService:Landroid/hardware/location/IGeofenceHardware;
-Landroid/hardware/location/GeofenceHardware;->NUM_MONITORS:I
-Landroid/hardware/location/GeofenceHardware;->removeCallback(Landroid/hardware/location/GeofenceHardwareCallback;)V
-Landroid/hardware/location/GeofenceHardware;->removeMonitorCallback(Landroid/hardware/location/GeofenceHardwareMonitorCallback;)V
-Landroid/hardware/location/GeofenceHardwareImpl$GeofenceTransition;
-Landroid/hardware/location/GeofenceHardwareImpl$GeofenceTransition;-><init>(IIJLandroid/location/Location;II)V
-Landroid/hardware/location/GeofenceHardwareImpl$GeofenceTransition;->mGeofenceId:I
-Landroid/hardware/location/GeofenceHardwareImpl$GeofenceTransition;->mLocation:Landroid/location/Location;
-Landroid/hardware/location/GeofenceHardwareImpl$GeofenceTransition;->mMonitoringType:I
-Landroid/hardware/location/GeofenceHardwareImpl$GeofenceTransition;->mSourcesUsed:I
-Landroid/hardware/location/GeofenceHardwareImpl$GeofenceTransition;->mTimestamp:J
-Landroid/hardware/location/GeofenceHardwareImpl$GeofenceTransition;->mTransition:I
-Landroid/hardware/location/GeofenceHardwareImpl$Reaper;
-Landroid/hardware/location/GeofenceHardwareImpl$Reaper;-><init>(Landroid/hardware/location/IGeofenceHardwareCallback;I)V
-Landroid/hardware/location/GeofenceHardwareImpl$Reaper;-><init>(Landroid/hardware/location/IGeofenceHardwareMonitorCallback;I)V
-Landroid/hardware/location/GeofenceHardwareImpl$Reaper;->binderEquals(Landroid/os/IInterface;Landroid/os/IInterface;)Z
-Landroid/hardware/location/GeofenceHardwareImpl$Reaper;->callbackEquals(Landroid/hardware/location/IGeofenceHardwareCallback;)Z
-Landroid/hardware/location/GeofenceHardwareImpl$Reaper;->mCallback:Landroid/hardware/location/IGeofenceHardwareCallback;
-Landroid/hardware/location/GeofenceHardwareImpl$Reaper;->mMonitorCallback:Landroid/hardware/location/IGeofenceHardwareMonitorCallback;
-Landroid/hardware/location/GeofenceHardwareImpl$Reaper;->mMonitoringType:I
-Landroid/hardware/location/GeofenceHardwareImpl$Reaper;->unlinkToDeath()Z
-Landroid/hardware/location/GeofenceHardwareImpl;
-Landroid/hardware/location/GeofenceHardwareImpl;-><init>(Landroid/content/Context;)V
-Landroid/hardware/location/GeofenceHardwareImpl;->acquireWakeLock()V
-Landroid/hardware/location/GeofenceHardwareImpl;->addCircularFence(ILandroid/hardware/location/GeofenceHardwareRequestParcelable;Landroid/hardware/location/IGeofenceHardwareCallback;)Z
-Landroid/hardware/location/GeofenceHardwareImpl;->ADD_GEOFENCE_CALLBACK:I
-Landroid/hardware/location/GeofenceHardwareImpl;->CALLBACK_ADD:I
-Landroid/hardware/location/GeofenceHardwareImpl;->CALLBACK_REMOVE:I
-Landroid/hardware/location/GeofenceHardwareImpl;->CAPABILITY_GNSS:I
-Landroid/hardware/location/GeofenceHardwareImpl;->DEBUG:Z
-Landroid/hardware/location/GeofenceHardwareImpl;->FIRST_VERSION_WITH_CAPABILITIES:I
-Landroid/hardware/location/GeofenceHardwareImpl;->GEOFENCE_CALLBACK_BINDER_DIED:I
-Landroid/hardware/location/GeofenceHardwareImpl;->GEOFENCE_STATUS:I
-Landroid/hardware/location/GeofenceHardwareImpl;->GEOFENCE_TRANSITION_CALLBACK:I
-Landroid/hardware/location/GeofenceHardwareImpl;->getAllowedResolutionLevel(II)I
-Landroid/hardware/location/GeofenceHardwareImpl;->getCapabilitiesForMonitoringType(I)I
-Landroid/hardware/location/GeofenceHardwareImpl;->getInstance(Landroid/content/Context;)Landroid/hardware/location/GeofenceHardwareImpl;
-Landroid/hardware/location/GeofenceHardwareImpl;->getMonitoringResolutionLevel(I)I
-Landroid/hardware/location/GeofenceHardwareImpl;->getMonitoringTypes()[I
-Landroid/hardware/location/GeofenceHardwareImpl;->getStatusOfMonitoringType(I)I
-Landroid/hardware/location/GeofenceHardwareImpl;->LOCATION_HAS_ACCURACY:I
-Landroid/hardware/location/GeofenceHardwareImpl;->LOCATION_HAS_ALTITUDE:I
-Landroid/hardware/location/GeofenceHardwareImpl;->LOCATION_HAS_BEARING:I
-Landroid/hardware/location/GeofenceHardwareImpl;->LOCATION_HAS_LAT_LONG:I
-Landroid/hardware/location/GeofenceHardwareImpl;->LOCATION_HAS_SPEED:I
-Landroid/hardware/location/GeofenceHardwareImpl;->LOCATION_INVALID:I
-Landroid/hardware/location/GeofenceHardwareImpl;->mCallbacks:[Ljava/util/ArrayList;
-Landroid/hardware/location/GeofenceHardwareImpl;->mCallbacksHandler:Landroid/os/Handler;
-Landroid/hardware/location/GeofenceHardwareImpl;->mCapabilities:I
-Landroid/hardware/location/GeofenceHardwareImpl;->mContext:Landroid/content/Context;
-Landroid/hardware/location/GeofenceHardwareImpl;->mFusedService:Landroid/location/IFusedGeofenceHardware;
-Landroid/hardware/location/GeofenceHardwareImpl;->mGeofenceHandler:Landroid/os/Handler;
-Landroid/hardware/location/GeofenceHardwareImpl;->mGeofences:Landroid/util/SparseArray;
-Landroid/hardware/location/GeofenceHardwareImpl;->mGpsService:Landroid/location/IGpsGeofenceHardware;
-Landroid/hardware/location/GeofenceHardwareImpl;->MONITOR_CALLBACK_BINDER_DIED:I
-Landroid/hardware/location/GeofenceHardwareImpl;->mReaperHandler:Landroid/os/Handler;
-Landroid/hardware/location/GeofenceHardwareImpl;->mReapers:Ljava/util/ArrayList;
-Landroid/hardware/location/GeofenceHardwareImpl;->mSupportedMonitorTypes:[I
-Landroid/hardware/location/GeofenceHardwareImpl;->mVersion:I
-Landroid/hardware/location/GeofenceHardwareImpl;->mWakeLock:Landroid/os/PowerManager$WakeLock;
-Landroid/hardware/location/GeofenceHardwareImpl;->onCapabilities(I)V
-Landroid/hardware/location/GeofenceHardwareImpl;->pauseGeofence(II)Z
-Landroid/hardware/location/GeofenceHardwareImpl;->PAUSE_GEOFENCE_CALLBACK:I
-Landroid/hardware/location/GeofenceHardwareImpl;->REAPER_GEOFENCE_ADDED:I
-Landroid/hardware/location/GeofenceHardwareImpl;->REAPER_MONITOR_CALLBACK_ADDED:I
-Landroid/hardware/location/GeofenceHardwareImpl;->REAPER_REMOVED:I
-Landroid/hardware/location/GeofenceHardwareImpl;->registerForMonitorStateChangeCallback(ILandroid/hardware/location/IGeofenceHardwareMonitorCallback;)Z
-Landroid/hardware/location/GeofenceHardwareImpl;->releaseWakeLock()V
-Landroid/hardware/location/GeofenceHardwareImpl;->removeGeofence(II)Z
-Landroid/hardware/location/GeofenceHardwareImpl;->REMOVE_GEOFENCE_CALLBACK:I
-Landroid/hardware/location/GeofenceHardwareImpl;->reportGeofenceAddStatus(II)V
-Landroid/hardware/location/GeofenceHardwareImpl;->reportGeofenceMonitorStatus(IILandroid/location/Location;I)V
-Landroid/hardware/location/GeofenceHardwareImpl;->reportGeofenceOperationStatus(III)V
-Landroid/hardware/location/GeofenceHardwareImpl;->reportGeofencePauseStatus(II)V
-Landroid/hardware/location/GeofenceHardwareImpl;->reportGeofenceRemoveStatus(II)V
-Landroid/hardware/location/GeofenceHardwareImpl;->reportGeofenceResumeStatus(II)V
-Landroid/hardware/location/GeofenceHardwareImpl;->reportGeofenceTransition(ILandroid/location/Location;IJII)V
-Landroid/hardware/location/GeofenceHardwareImpl;->RESOLUTION_LEVEL_COARSE:I
-Landroid/hardware/location/GeofenceHardwareImpl;->RESOLUTION_LEVEL_FINE:I
-Landroid/hardware/location/GeofenceHardwareImpl;->RESOLUTION_LEVEL_NONE:I
-Landroid/hardware/location/GeofenceHardwareImpl;->resumeGeofence(III)Z
-Landroid/hardware/location/GeofenceHardwareImpl;->RESUME_GEOFENCE_CALLBACK:I
-Landroid/hardware/location/GeofenceHardwareImpl;->setFusedGeofenceHardware(Landroid/location/IFusedGeofenceHardware;)V
-Landroid/hardware/location/GeofenceHardwareImpl;->setGpsHardwareGeofence(Landroid/location/IGpsGeofenceHardware;)V
-Landroid/hardware/location/GeofenceHardwareImpl;->setMonitorAvailability(II)V
-Landroid/hardware/location/GeofenceHardwareImpl;->setVersion(I)V
-Landroid/hardware/location/GeofenceHardwareImpl;->sInstance:Landroid/hardware/location/GeofenceHardwareImpl;
-Landroid/hardware/location/GeofenceHardwareImpl;->TAG:Ljava/lang/String;
-Landroid/hardware/location/GeofenceHardwareImpl;->unregisterForMonitorStateChangeCallback(ILandroid/hardware/location/IGeofenceHardwareMonitorCallback;)Z
-Landroid/hardware/location/GeofenceHardwareImpl;->updateFusedHardwareAvailability()V
-Landroid/hardware/location/GeofenceHardwareImpl;->updateGpsHardwareAvailability()V
-Landroid/hardware/location/GeofenceHardwareMonitorEvent;->mLocation:Landroid/location/Location;
-Landroid/hardware/location/GeofenceHardwareMonitorEvent;->mMonitoringStatus:I
-Landroid/hardware/location/GeofenceHardwareMonitorEvent;->mMonitoringType:I
-Landroid/hardware/location/GeofenceHardwareMonitorEvent;->mSourceTechnologies:I
-Landroid/hardware/location/GeofenceHardwareRequest;->GEOFENCE_TYPE_CIRCLE:I
-Landroid/hardware/location/GeofenceHardwareRequest;->getType()I
-Landroid/hardware/location/GeofenceHardwareRequest;->mLastTransition:I
-Landroid/hardware/location/GeofenceHardwareRequest;->mLatitude:D
-Landroid/hardware/location/GeofenceHardwareRequest;->mLongitude:D
-Landroid/hardware/location/GeofenceHardwareRequest;->mMonitorTransitions:I
-Landroid/hardware/location/GeofenceHardwareRequest;->mNotificationResponsiveness:I
-Landroid/hardware/location/GeofenceHardwareRequest;->mRadius:D
-Landroid/hardware/location/GeofenceHardwareRequest;->mSourceTechnologies:I
-Landroid/hardware/location/GeofenceHardwareRequest;->mType:I
-Landroid/hardware/location/GeofenceHardwareRequest;->mUnknownTimer:I
-Landroid/hardware/location/GeofenceHardwareRequest;->setCircularGeofence(DDD)V
-Landroid/hardware/location/GeofenceHardwareRequestParcelable;
-Landroid/hardware/location/GeofenceHardwareRequestParcelable;-><init>(ILandroid/hardware/location/GeofenceHardwareRequest;)V
-Landroid/hardware/location/GeofenceHardwareRequestParcelable;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/location/GeofenceHardwareRequestParcelable;->getId()I
-Landroid/hardware/location/GeofenceHardwareRequestParcelable;->getLastTransition()I
-Landroid/hardware/location/GeofenceHardwareRequestParcelable;->getLatitude()D
-Landroid/hardware/location/GeofenceHardwareRequestParcelable;->getLongitude()D
-Landroid/hardware/location/GeofenceHardwareRequestParcelable;->getMonitorTransitions()I
-Landroid/hardware/location/GeofenceHardwareRequestParcelable;->getNotificationResponsiveness()I
-Landroid/hardware/location/GeofenceHardwareRequestParcelable;->getRadius()D
-Landroid/hardware/location/GeofenceHardwareRequestParcelable;->getSourceTechnologies()I
-Landroid/hardware/location/GeofenceHardwareRequestParcelable;->getType()I
-Landroid/hardware/location/GeofenceHardwareRequestParcelable;->getUnknownTimer()I
-Landroid/hardware/location/GeofenceHardwareRequestParcelable;->mId:I
-Landroid/hardware/location/GeofenceHardwareRequestParcelable;->mRequest:Landroid/hardware/location/GeofenceHardwareRequest;
-Landroid/hardware/location/GeofenceHardwareService;
-Landroid/hardware/location/GeofenceHardwareService;-><init>()V
-Landroid/hardware/location/GeofenceHardwareService;->checkPermission(III)V
-Landroid/hardware/location/GeofenceHardwareService;->mBinder:Landroid/os/IBinder;
-Landroid/hardware/location/GeofenceHardwareService;->mContext:Landroid/content/Context;
-Landroid/hardware/location/GeofenceHardwareService;->mGeofenceHardwareImpl:Landroid/hardware/location/GeofenceHardwareImpl;
-Landroid/hardware/location/IActivityRecognitionHardware$Stub$Proxy;
-Landroid/hardware/location/IActivityRecognitionHardware$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/location/IActivityRecognitionHardware$Stub$Proxy;->disableActivityEvent(Ljava/lang/String;I)Z
-Landroid/hardware/location/IActivityRecognitionHardware$Stub$Proxy;->enableActivityEvent(Ljava/lang/String;IJ)Z
-Landroid/hardware/location/IActivityRecognitionHardware$Stub$Proxy;->flush()Z
-Landroid/hardware/location/IActivityRecognitionHardware$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/location/IActivityRecognitionHardware$Stub$Proxy;->getSupportedActivities()[Ljava/lang/String;
-Landroid/hardware/location/IActivityRecognitionHardware$Stub$Proxy;->isActivitySupported(Ljava/lang/String;)Z
-Landroid/hardware/location/IActivityRecognitionHardware$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/location/IActivityRecognitionHardware$Stub$Proxy;->registerSink(Landroid/hardware/location/IActivityRecognitionHardwareSink;)Z
-Landroid/hardware/location/IActivityRecognitionHardware$Stub$Proxy;->unregisterSink(Landroid/hardware/location/IActivityRecognitionHardwareSink;)Z
-Landroid/hardware/location/IActivityRecognitionHardware$Stub;
-Landroid/hardware/location/IActivityRecognitionHardware$Stub;-><init>()V
-Landroid/hardware/location/IActivityRecognitionHardware$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IActivityRecognitionHardware;
-Landroid/hardware/location/IActivityRecognitionHardware$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/location/IActivityRecognitionHardware$Stub;->TRANSACTION_disableActivityEvent:I
-Landroid/hardware/location/IActivityRecognitionHardware$Stub;->TRANSACTION_enableActivityEvent:I
-Landroid/hardware/location/IActivityRecognitionHardware$Stub;->TRANSACTION_flush:I
-Landroid/hardware/location/IActivityRecognitionHardware$Stub;->TRANSACTION_getSupportedActivities:I
-Landroid/hardware/location/IActivityRecognitionHardware$Stub;->TRANSACTION_isActivitySupported:I
-Landroid/hardware/location/IActivityRecognitionHardware$Stub;->TRANSACTION_registerSink:I
-Landroid/hardware/location/IActivityRecognitionHardware$Stub;->TRANSACTION_unregisterSink:I
-Landroid/hardware/location/IActivityRecognitionHardware;
-Landroid/hardware/location/IActivityRecognitionHardware;->disableActivityEvent(Ljava/lang/String;I)Z
-Landroid/hardware/location/IActivityRecognitionHardware;->enableActivityEvent(Ljava/lang/String;IJ)Z
-Landroid/hardware/location/IActivityRecognitionHardware;->flush()Z
-Landroid/hardware/location/IActivityRecognitionHardware;->getSupportedActivities()[Ljava/lang/String;
-Landroid/hardware/location/IActivityRecognitionHardware;->isActivitySupported(Ljava/lang/String;)Z
-Landroid/hardware/location/IActivityRecognitionHardware;->registerSink(Landroid/hardware/location/IActivityRecognitionHardwareSink;)Z
-Landroid/hardware/location/IActivityRecognitionHardware;->unregisterSink(Landroid/hardware/location/IActivityRecognitionHardwareSink;)Z
-Landroid/hardware/location/IActivityRecognitionHardwareClient$Stub$Proxy;
-Landroid/hardware/location/IActivityRecognitionHardwareClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/location/IActivityRecognitionHardwareClient$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/location/IActivityRecognitionHardwareClient$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/location/IActivityRecognitionHardwareClient$Stub$Proxy;->onAvailabilityChanged(ZLandroid/hardware/location/IActivityRecognitionHardware;)V
-Landroid/hardware/location/IActivityRecognitionHardwareClient$Stub;
-Landroid/hardware/location/IActivityRecognitionHardwareClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IActivityRecognitionHardwareClient;
-Landroid/hardware/location/IActivityRecognitionHardwareClient$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/location/IActivityRecognitionHardwareClient$Stub;->TRANSACTION_onAvailabilityChanged:I
-Landroid/hardware/location/IActivityRecognitionHardwareClient;
-Landroid/hardware/location/IActivityRecognitionHardwareSink$Stub$Proxy;
-Landroid/hardware/location/IActivityRecognitionHardwareSink$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/location/IActivityRecognitionHardwareSink$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/location/IActivityRecognitionHardwareSink$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/location/IActivityRecognitionHardwareSink$Stub$Proxy;->onActivityChanged(Landroid/hardware/location/ActivityChangedEvent;)V
-Landroid/hardware/location/IActivityRecognitionHardwareSink$Stub;
-Landroid/hardware/location/IActivityRecognitionHardwareSink$Stub;-><init>()V
-Landroid/hardware/location/IActivityRecognitionHardwareSink$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IActivityRecognitionHardwareSink;
-Landroid/hardware/location/IActivityRecognitionHardwareSink$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/location/IActivityRecognitionHardwareSink$Stub;->TRANSACTION_onActivityChanged:I
-Landroid/hardware/location/IActivityRecognitionHardwareSink;
-Landroid/hardware/location/IActivityRecognitionHardwareSink;->onActivityChanged(Landroid/hardware/location/ActivityChangedEvent;)V
-Landroid/hardware/location/IActivityRecognitionHardwareWatcher$Stub$Proxy;
-Landroid/hardware/location/IActivityRecognitionHardwareWatcher$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/location/IActivityRecognitionHardwareWatcher$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/location/IActivityRecognitionHardwareWatcher$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/location/IActivityRecognitionHardwareWatcher$Stub$Proxy;->onInstanceChanged(Landroid/hardware/location/IActivityRecognitionHardware;)V
-Landroid/hardware/location/IActivityRecognitionHardwareWatcher$Stub;
-Landroid/hardware/location/IActivityRecognitionHardwareWatcher$Stub;-><init>()V
-Landroid/hardware/location/IActivityRecognitionHardwareWatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IActivityRecognitionHardwareWatcher;
-Landroid/hardware/location/IActivityRecognitionHardwareWatcher$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/location/IActivityRecognitionHardwareWatcher$Stub;->TRANSACTION_onInstanceChanged:I
-Landroid/hardware/location/IActivityRecognitionHardwareWatcher;
-Landroid/hardware/location/IActivityRecognitionHardwareWatcher;->onInstanceChanged(Landroid/hardware/location/IActivityRecognitionHardware;)V
-Landroid/hardware/location/IContextHubCallback$Stub$Proxy;
-Landroid/hardware/location/IContextHubCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/location/IContextHubCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/location/IContextHubCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/location/IContextHubCallback$Stub$Proxy;->onMessageReceipt(IILandroid/hardware/location/ContextHubMessage;)V
-Landroid/hardware/location/IContextHubCallback$Stub;
-Landroid/hardware/location/IContextHubCallback$Stub;-><init>()V
-Landroid/hardware/location/IContextHubCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IContextHubCallback;
-Landroid/hardware/location/IContextHubCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/location/IContextHubCallback$Stub;->TRANSACTION_onMessageReceipt:I
-Landroid/hardware/location/IContextHubCallback;
-Landroid/hardware/location/IContextHubCallback;->onMessageReceipt(IILandroid/hardware/location/ContextHubMessage;)V
-Landroid/hardware/location/IContextHubClient$Stub$Proxy;
-Landroid/hardware/location/IContextHubClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/location/IContextHubClient$Stub$Proxy;->close()V
-Landroid/hardware/location/IContextHubClient$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/location/IContextHubClient$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/location/IContextHubClient$Stub$Proxy;->sendMessageToNanoApp(Landroid/hardware/location/NanoAppMessage;)I
-Landroid/hardware/location/IContextHubClient$Stub;
-Landroid/hardware/location/IContextHubClient$Stub;-><init>()V
-Landroid/hardware/location/IContextHubClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IContextHubClient;
-Landroid/hardware/location/IContextHubClient$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/location/IContextHubClient$Stub;->TRANSACTION_close:I
-Landroid/hardware/location/IContextHubClient$Stub;->TRANSACTION_sendMessageToNanoApp:I
-Landroid/hardware/location/IContextHubClient;
-Landroid/hardware/location/IContextHubClient;->close()V
-Landroid/hardware/location/IContextHubClient;->sendMessageToNanoApp(Landroid/hardware/location/NanoAppMessage;)I
-Landroid/hardware/location/IContextHubClientCallback$Stub$Proxy;
-Landroid/hardware/location/IContextHubClientCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/location/IContextHubClientCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/location/IContextHubClientCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/location/IContextHubClientCallback$Stub$Proxy;->onHubReset()V
-Landroid/hardware/location/IContextHubClientCallback$Stub$Proxy;->onMessageFromNanoApp(Landroid/hardware/location/NanoAppMessage;)V
-Landroid/hardware/location/IContextHubClientCallback$Stub$Proxy;->onNanoAppAborted(JI)V
-Landroid/hardware/location/IContextHubClientCallback$Stub$Proxy;->onNanoAppDisabled(J)V
-Landroid/hardware/location/IContextHubClientCallback$Stub$Proxy;->onNanoAppEnabled(J)V
-Landroid/hardware/location/IContextHubClientCallback$Stub$Proxy;->onNanoAppLoaded(J)V
-Landroid/hardware/location/IContextHubClientCallback$Stub$Proxy;->onNanoAppUnloaded(J)V
-Landroid/hardware/location/IContextHubClientCallback$Stub;
-Landroid/hardware/location/IContextHubClientCallback$Stub;-><init>()V
-Landroid/hardware/location/IContextHubClientCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IContextHubClientCallback;
-Landroid/hardware/location/IContextHubClientCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/location/IContextHubClientCallback$Stub;->TRANSACTION_onHubReset:I
-Landroid/hardware/location/IContextHubClientCallback$Stub;->TRANSACTION_onMessageFromNanoApp:I
-Landroid/hardware/location/IContextHubClientCallback$Stub;->TRANSACTION_onNanoAppAborted:I
-Landroid/hardware/location/IContextHubClientCallback$Stub;->TRANSACTION_onNanoAppDisabled:I
-Landroid/hardware/location/IContextHubClientCallback$Stub;->TRANSACTION_onNanoAppEnabled:I
-Landroid/hardware/location/IContextHubClientCallback$Stub;->TRANSACTION_onNanoAppLoaded:I
-Landroid/hardware/location/IContextHubClientCallback$Stub;->TRANSACTION_onNanoAppUnloaded:I
-Landroid/hardware/location/IContextHubClientCallback;
-Landroid/hardware/location/IContextHubClientCallback;->onHubReset()V
-Landroid/hardware/location/IContextHubClientCallback;->onMessageFromNanoApp(Landroid/hardware/location/NanoAppMessage;)V
-Landroid/hardware/location/IContextHubClientCallback;->onNanoAppAborted(JI)V
-Landroid/hardware/location/IContextHubClientCallback;->onNanoAppDisabled(J)V
-Landroid/hardware/location/IContextHubClientCallback;->onNanoAppEnabled(J)V
-Landroid/hardware/location/IContextHubClientCallback;->onNanoAppLoaded(J)V
-Landroid/hardware/location/IContextHubClientCallback;->onNanoAppUnloaded(J)V
-Landroid/hardware/location/IContextHubService$Stub$Proxy;
-Landroid/hardware/location/IContextHubService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/location/IContextHubService$Stub$Proxy;->createClient(Landroid/hardware/location/IContextHubClientCallback;I)Landroid/hardware/location/IContextHubClient;
-Landroid/hardware/location/IContextHubService$Stub$Proxy;->disableNanoApp(ILandroid/hardware/location/IContextHubTransactionCallback;J)V
-Landroid/hardware/location/IContextHubService$Stub$Proxy;->enableNanoApp(ILandroid/hardware/location/IContextHubTransactionCallback;J)V
-Landroid/hardware/location/IContextHubService$Stub$Proxy;->findNanoAppOnHub(ILandroid/hardware/location/NanoAppFilter;)[I
-Landroid/hardware/location/IContextHubService$Stub$Proxy;->getContextHubHandles()[I
-Landroid/hardware/location/IContextHubService$Stub$Proxy;->getContextHubInfo(I)Landroid/hardware/location/ContextHubInfo;
-Landroid/hardware/location/IContextHubService$Stub$Proxy;->getContextHubs()Ljava/util/List;
-Landroid/hardware/location/IContextHubService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/location/IContextHubService$Stub$Proxy;->getNanoAppInstanceInfo(I)Landroid/hardware/location/NanoAppInstanceInfo;
-Landroid/hardware/location/IContextHubService$Stub$Proxy;->loadNanoApp(ILandroid/hardware/location/NanoApp;)I
-Landroid/hardware/location/IContextHubService$Stub$Proxy;->loadNanoAppOnHub(ILandroid/hardware/location/IContextHubTransactionCallback;Landroid/hardware/location/NanoAppBinary;)V
-Landroid/hardware/location/IContextHubService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/location/IContextHubService$Stub$Proxy;->queryNanoApps(ILandroid/hardware/location/IContextHubTransactionCallback;)V
-Landroid/hardware/location/IContextHubService$Stub$Proxy;->registerCallback(Landroid/hardware/location/IContextHubCallback;)I
-Landroid/hardware/location/IContextHubService$Stub$Proxy;->sendMessage(IILandroid/hardware/location/ContextHubMessage;)I
-Landroid/hardware/location/IContextHubService$Stub$Proxy;->unloadNanoApp(I)I
-Landroid/hardware/location/IContextHubService$Stub$Proxy;->unloadNanoAppFromHub(ILandroid/hardware/location/IContextHubTransactionCallback;J)V
-Landroid/hardware/location/IContextHubService$Stub;
-Landroid/hardware/location/IContextHubService$Stub;-><init>()V
-Landroid/hardware/location/IContextHubService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/location/IContextHubService$Stub;->TRANSACTION_createClient:I
-Landroid/hardware/location/IContextHubService$Stub;->TRANSACTION_disableNanoApp:I
-Landroid/hardware/location/IContextHubService$Stub;->TRANSACTION_enableNanoApp:I
-Landroid/hardware/location/IContextHubService$Stub;->TRANSACTION_findNanoAppOnHub:I
-Landroid/hardware/location/IContextHubService$Stub;->TRANSACTION_getContextHubHandles:I
-Landroid/hardware/location/IContextHubService$Stub;->TRANSACTION_getContextHubInfo:I
-Landroid/hardware/location/IContextHubService$Stub;->TRANSACTION_getContextHubs:I
-Landroid/hardware/location/IContextHubService$Stub;->TRANSACTION_getNanoAppInstanceInfo:I
-Landroid/hardware/location/IContextHubService$Stub;->TRANSACTION_loadNanoApp:I
-Landroid/hardware/location/IContextHubService$Stub;->TRANSACTION_loadNanoAppOnHub:I
-Landroid/hardware/location/IContextHubService$Stub;->TRANSACTION_queryNanoApps:I
-Landroid/hardware/location/IContextHubService$Stub;->TRANSACTION_registerCallback:I
-Landroid/hardware/location/IContextHubService$Stub;->TRANSACTION_sendMessage:I
-Landroid/hardware/location/IContextHubService$Stub;->TRANSACTION_unloadNanoApp:I
-Landroid/hardware/location/IContextHubService$Stub;->TRANSACTION_unloadNanoAppFromHub:I
-Landroid/hardware/location/IContextHubService;
-Landroid/hardware/location/IContextHubService;->createClient(Landroid/hardware/location/IContextHubClientCallback;I)Landroid/hardware/location/IContextHubClient;
-Landroid/hardware/location/IContextHubService;->disableNanoApp(ILandroid/hardware/location/IContextHubTransactionCallback;J)V
-Landroid/hardware/location/IContextHubService;->enableNanoApp(ILandroid/hardware/location/IContextHubTransactionCallback;J)V
-Landroid/hardware/location/IContextHubService;->findNanoAppOnHub(ILandroid/hardware/location/NanoAppFilter;)[I
-Landroid/hardware/location/IContextHubService;->getContextHubHandles()[I
-Landroid/hardware/location/IContextHubService;->getContextHubInfo(I)Landroid/hardware/location/ContextHubInfo;
-Landroid/hardware/location/IContextHubService;->getContextHubs()Ljava/util/List;
-Landroid/hardware/location/IContextHubService;->getNanoAppInstanceInfo(I)Landroid/hardware/location/NanoAppInstanceInfo;
-Landroid/hardware/location/IContextHubService;->loadNanoApp(ILandroid/hardware/location/NanoApp;)I
-Landroid/hardware/location/IContextHubService;->loadNanoAppOnHub(ILandroid/hardware/location/IContextHubTransactionCallback;Landroid/hardware/location/NanoAppBinary;)V
-Landroid/hardware/location/IContextHubService;->queryNanoApps(ILandroid/hardware/location/IContextHubTransactionCallback;)V
-Landroid/hardware/location/IContextHubService;->registerCallback(Landroid/hardware/location/IContextHubCallback;)I
-Landroid/hardware/location/IContextHubService;->sendMessage(IILandroid/hardware/location/ContextHubMessage;)I
-Landroid/hardware/location/IContextHubService;->unloadNanoApp(I)I
-Landroid/hardware/location/IContextHubService;->unloadNanoAppFromHub(ILandroid/hardware/location/IContextHubTransactionCallback;J)V
-Landroid/hardware/location/IContextHubTransactionCallback$Stub$Proxy;
-Landroid/hardware/location/IContextHubTransactionCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/location/IContextHubTransactionCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/location/IContextHubTransactionCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/location/IContextHubTransactionCallback$Stub$Proxy;->onQueryResponse(ILjava/util/List;)V
-Landroid/hardware/location/IContextHubTransactionCallback$Stub$Proxy;->onTransactionComplete(I)V
-Landroid/hardware/location/IContextHubTransactionCallback$Stub;
-Landroid/hardware/location/IContextHubTransactionCallback$Stub;-><init>()V
-Landroid/hardware/location/IContextHubTransactionCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IContextHubTransactionCallback;
-Landroid/hardware/location/IContextHubTransactionCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/location/IContextHubTransactionCallback$Stub;->TRANSACTION_onQueryResponse:I
-Landroid/hardware/location/IContextHubTransactionCallback$Stub;->TRANSACTION_onTransactionComplete:I
-Landroid/hardware/location/IContextHubTransactionCallback;
-Landroid/hardware/location/IContextHubTransactionCallback;->onQueryResponse(ILjava/util/List;)V
-Landroid/hardware/location/IContextHubTransactionCallback;->onTransactionComplete(I)V
-Landroid/hardware/location/IGeofenceHardware$Stub$Proxy;
-Landroid/hardware/location/IGeofenceHardware$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/location/IGeofenceHardware$Stub$Proxy;->addCircularFence(ILandroid/hardware/location/GeofenceHardwareRequestParcelable;Landroid/hardware/location/IGeofenceHardwareCallback;)Z
-Landroid/hardware/location/IGeofenceHardware$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/location/IGeofenceHardware$Stub$Proxy;->getMonitoringTypes()[I
-Landroid/hardware/location/IGeofenceHardware$Stub$Proxy;->getStatusOfMonitoringType(I)I
-Landroid/hardware/location/IGeofenceHardware$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/location/IGeofenceHardware$Stub$Proxy;->pauseGeofence(II)Z
-Landroid/hardware/location/IGeofenceHardware$Stub$Proxy;->registerForMonitorStateChangeCallback(ILandroid/hardware/location/IGeofenceHardwareMonitorCallback;)Z
-Landroid/hardware/location/IGeofenceHardware$Stub$Proxy;->removeGeofence(II)Z
-Landroid/hardware/location/IGeofenceHardware$Stub$Proxy;->resumeGeofence(III)Z
-Landroid/hardware/location/IGeofenceHardware$Stub$Proxy;->setFusedGeofenceHardware(Landroid/location/IFusedGeofenceHardware;)V
-Landroid/hardware/location/IGeofenceHardware$Stub$Proxy;->setGpsGeofenceHardware(Landroid/location/IGpsGeofenceHardware;)V
-Landroid/hardware/location/IGeofenceHardware$Stub$Proxy;->unregisterForMonitorStateChangeCallback(ILandroid/hardware/location/IGeofenceHardwareMonitorCallback;)Z
-Landroid/hardware/location/IGeofenceHardware$Stub;
-Landroid/hardware/location/IGeofenceHardware$Stub;-><init>()V
-Landroid/hardware/location/IGeofenceHardware$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IGeofenceHardware;
-Landroid/hardware/location/IGeofenceHardware$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/location/IGeofenceHardware$Stub;->TRANSACTION_addCircularFence:I
-Landroid/hardware/location/IGeofenceHardware$Stub;->TRANSACTION_getMonitoringTypes:I
-Landroid/hardware/location/IGeofenceHardware$Stub;->TRANSACTION_getStatusOfMonitoringType:I
-Landroid/hardware/location/IGeofenceHardware$Stub;->TRANSACTION_pauseGeofence:I
-Landroid/hardware/location/IGeofenceHardware$Stub;->TRANSACTION_registerForMonitorStateChangeCallback:I
-Landroid/hardware/location/IGeofenceHardware$Stub;->TRANSACTION_removeGeofence:I
-Landroid/hardware/location/IGeofenceHardware$Stub;->TRANSACTION_resumeGeofence:I
-Landroid/hardware/location/IGeofenceHardware$Stub;->TRANSACTION_setFusedGeofenceHardware:I
-Landroid/hardware/location/IGeofenceHardware$Stub;->TRANSACTION_setGpsGeofenceHardware:I
-Landroid/hardware/location/IGeofenceHardware$Stub;->TRANSACTION_unregisterForMonitorStateChangeCallback:I
-Landroid/hardware/location/IGeofenceHardware;
-Landroid/hardware/location/IGeofenceHardware;->addCircularFence(ILandroid/hardware/location/GeofenceHardwareRequestParcelable;Landroid/hardware/location/IGeofenceHardwareCallback;)Z
-Landroid/hardware/location/IGeofenceHardware;->getMonitoringTypes()[I
-Landroid/hardware/location/IGeofenceHardware;->getStatusOfMonitoringType(I)I
-Landroid/hardware/location/IGeofenceHardware;->pauseGeofence(II)Z
-Landroid/hardware/location/IGeofenceHardware;->registerForMonitorStateChangeCallback(ILandroid/hardware/location/IGeofenceHardwareMonitorCallback;)Z
-Landroid/hardware/location/IGeofenceHardware;->removeGeofence(II)Z
-Landroid/hardware/location/IGeofenceHardware;->resumeGeofence(III)Z
-Landroid/hardware/location/IGeofenceHardware;->setFusedGeofenceHardware(Landroid/location/IFusedGeofenceHardware;)V
-Landroid/hardware/location/IGeofenceHardware;->setGpsGeofenceHardware(Landroid/location/IGpsGeofenceHardware;)V
-Landroid/hardware/location/IGeofenceHardware;->unregisterForMonitorStateChangeCallback(ILandroid/hardware/location/IGeofenceHardwareMonitorCallback;)Z
-Landroid/hardware/location/IGeofenceHardwareCallback$Stub$Proxy;
-Landroid/hardware/location/IGeofenceHardwareCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/location/IGeofenceHardwareCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/location/IGeofenceHardwareCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/location/IGeofenceHardwareCallback$Stub$Proxy;->onGeofenceAdd(II)V
-Landroid/hardware/location/IGeofenceHardwareCallback$Stub$Proxy;->onGeofencePause(II)V
-Landroid/hardware/location/IGeofenceHardwareCallback$Stub$Proxy;->onGeofenceRemove(II)V
-Landroid/hardware/location/IGeofenceHardwareCallback$Stub$Proxy;->onGeofenceResume(II)V
-Landroid/hardware/location/IGeofenceHardwareCallback$Stub$Proxy;->onGeofenceTransition(IILandroid/location/Location;JI)V
-Landroid/hardware/location/IGeofenceHardwareCallback$Stub;
-Landroid/hardware/location/IGeofenceHardwareCallback$Stub;-><init>()V
-Landroid/hardware/location/IGeofenceHardwareCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IGeofenceHardwareCallback;
-Landroid/hardware/location/IGeofenceHardwareCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/location/IGeofenceHardwareCallback$Stub;->TRANSACTION_onGeofenceAdd:I
-Landroid/hardware/location/IGeofenceHardwareCallback$Stub;->TRANSACTION_onGeofencePause:I
-Landroid/hardware/location/IGeofenceHardwareCallback$Stub;->TRANSACTION_onGeofenceRemove:I
-Landroid/hardware/location/IGeofenceHardwareCallback$Stub;->TRANSACTION_onGeofenceResume:I
-Landroid/hardware/location/IGeofenceHardwareCallback$Stub;->TRANSACTION_onGeofenceTransition:I
-Landroid/hardware/location/IGeofenceHardwareCallback;
-Landroid/hardware/location/IGeofenceHardwareCallback;->onGeofenceAdd(II)V
-Landroid/hardware/location/IGeofenceHardwareCallback;->onGeofencePause(II)V
-Landroid/hardware/location/IGeofenceHardwareCallback;->onGeofenceRemove(II)V
-Landroid/hardware/location/IGeofenceHardwareCallback;->onGeofenceResume(II)V
-Landroid/hardware/location/IGeofenceHardwareCallback;->onGeofenceTransition(IILandroid/location/Location;JI)V
-Landroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub$Proxy;
-Landroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub$Proxy;->onMonitoringSystemChange(Landroid/hardware/location/GeofenceHardwareMonitorEvent;)V
-Landroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub;
-Landroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub;-><init>()V
-Landroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IGeofenceHardwareMonitorCallback;
-Landroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub;->TRANSACTION_onMonitoringSystemChange:I
-Landroid/hardware/location/IGeofenceHardwareMonitorCallback;
-Landroid/hardware/location/IGeofenceHardwareMonitorCallback;->onMonitoringSystemChange(Landroid/hardware/location/GeofenceHardwareMonitorEvent;)V
-Landroid/hardware/location/MemoryRegion;->mIsExecutable:Z
-Landroid/hardware/location/MemoryRegion;->mIsReadable:Z
-Landroid/hardware/location/MemoryRegion;->mIsWritable:Z
-Landroid/hardware/location/MemoryRegion;->mSizeBytes:I
-Landroid/hardware/location/MemoryRegion;->mSizeBytesFree:I
-Landroid/hardware/location/NanoApp;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/location/NanoApp;->mAppBinary:[B
-Landroid/hardware/location/NanoApp;->mAppId:J
-Landroid/hardware/location/NanoApp;->mAppIdSet:Z
-Landroid/hardware/location/NanoApp;->mAppVersion:I
-Landroid/hardware/location/NanoApp;->mName:Ljava/lang/String;
-Landroid/hardware/location/NanoApp;->mNeededExecMemBytes:I
-Landroid/hardware/location/NanoApp;->mNeededReadMemBytes:I
-Landroid/hardware/location/NanoApp;->mNeededSensors:[I
-Landroid/hardware/location/NanoApp;->mNeededWriteMemBytes:I
-Landroid/hardware/location/NanoApp;->mOutputEvents:[I
-Landroid/hardware/location/NanoApp;->mPublisher:Ljava/lang/String;
-Landroid/hardware/location/NanoApp;->TAG:Ljava/lang/String;
-Landroid/hardware/location/NanoApp;->UNKNOWN:Ljava/lang/String;
-Landroid/hardware/location/NanoAppBinary;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/location/NanoAppBinary;->EXPECTED_HEADER_VERSION:I
-Landroid/hardware/location/NanoAppBinary;->EXPECTED_MAGIC_VALUE:I
-Landroid/hardware/location/NanoAppBinary;->HEADER_ORDER:Ljava/nio/ByteOrder;
-Landroid/hardware/location/NanoAppBinary;->HEADER_SIZE_BYTES:I
-Landroid/hardware/location/NanoAppBinary;->mFlags:I
-Landroid/hardware/location/NanoAppBinary;->mHasValidHeader:Z
-Landroid/hardware/location/NanoAppBinary;->mHeaderVersion:I
-Landroid/hardware/location/NanoAppBinary;->mHwHubType:J
-Landroid/hardware/location/NanoAppBinary;->mMagic:I
-Landroid/hardware/location/NanoAppBinary;->mNanoAppBinary:[B
-Landroid/hardware/location/NanoAppBinary;->mNanoAppId:J
-Landroid/hardware/location/NanoAppBinary;->mNanoAppVersion:I
-Landroid/hardware/location/NanoAppBinary;->mTargetChreApiMajorVersion:B
-Landroid/hardware/location/NanoAppBinary;->mTargetChreApiMinorVersion:B
-Landroid/hardware/location/NanoAppBinary;->NANOAPP_ENCRYPTED_FLAG_BIT:I
-Landroid/hardware/location/NanoAppBinary;->NANOAPP_SIGNED_FLAG_BIT:I
-Landroid/hardware/location/NanoAppBinary;->parseBinaryHeader()V
-Landroid/hardware/location/NanoAppBinary;->TAG:Ljava/lang/String;
-Landroid/hardware/location/NanoAppFilter;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/location/NanoAppFilter;->mAppId:J
-Landroid/hardware/location/NanoAppFilter;->mAppIdVendorMask:J
-Landroid/hardware/location/NanoAppFilter;->mAppVersion:I
-Landroid/hardware/location/NanoAppFilter;->mContextHubId:I
-Landroid/hardware/location/NanoAppFilter;->mVersionRestrictionMask:I
-Landroid/hardware/location/NanoAppFilter;->TAG:Ljava/lang/String;
-Landroid/hardware/location/NanoAppFilter;->versionsMatch(III)Z
-Landroid/hardware/location/NanoAppInstanceInfo;-><init>(IJII)V
-Landroid/hardware/location/NanoAppInstanceInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/location/NanoAppInstanceInfo;->mAppId:J
-Landroid/hardware/location/NanoAppInstanceInfo;->mAppVersion:I
-Landroid/hardware/location/NanoAppInstanceInfo;->mContexthubId:I
-Landroid/hardware/location/NanoAppInstanceInfo;->mHandle:I
-Landroid/hardware/location/NanoAppInstanceInfo;->mName:Ljava/lang/String;
-Landroid/hardware/location/NanoAppInstanceInfo;->mNeededExecMemBytes:I
-Landroid/hardware/location/NanoAppInstanceInfo;->mNeededReadMemBytes:I
-Landroid/hardware/location/NanoAppInstanceInfo;->mNeededSensors:[I
-Landroid/hardware/location/NanoAppInstanceInfo;->mNeededWriteMemBytes:I
-Landroid/hardware/location/NanoAppInstanceInfo;->mOutputEvents:[I
-Landroid/hardware/location/NanoAppInstanceInfo;->mPublisher:Ljava/lang/String;
-Landroid/hardware/location/NanoAppMessage;-><init>(JI[BZ)V
-Landroid/hardware/location/NanoAppMessage;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/location/NanoAppMessage;->DEBUG_LOG_NUM_BYTES:I
-Landroid/hardware/location/NanoAppMessage;->mIsBroadcasted:Z
-Landroid/hardware/location/NanoAppMessage;->mMessageBody:[B
-Landroid/hardware/location/NanoAppMessage;->mMessageType:I
-Landroid/hardware/location/NanoAppMessage;->mNanoAppId:J
-Landroid/hardware/location/NanoAppState;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/location/NanoAppState;->mIsEnabled:Z
-Landroid/hardware/location/NanoAppState;->mNanoAppId:J
-Landroid/hardware/location/NanoAppState;->mNanoAppVersion:I
-Landroid/hardware/radio/Announcement$Type;
-Landroid/hardware/radio/Announcement;-><init>(Landroid/hardware/radio/ProgramSelector;ILjava/util/Map;)V
-Landroid/hardware/radio/Announcement;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/radio/Announcement;->mSelector:Landroid/hardware/radio/ProgramSelector;
-Landroid/hardware/radio/Announcement;->mType:I
-Landroid/hardware/radio/Announcement;->mVendorInfo:Ljava/util/Map;
-Landroid/hardware/radio/IAnnouncementListener$Stub$Proxy;
-Landroid/hardware/radio/IAnnouncementListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/radio/IAnnouncementListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/radio/IAnnouncementListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/radio/IAnnouncementListener$Stub$Proxy;->onListUpdated(Ljava/util/List;)V
-Landroid/hardware/radio/IAnnouncementListener$Stub;
-Landroid/hardware/radio/IAnnouncementListener$Stub;-><init>()V
-Landroid/hardware/radio/IAnnouncementListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/radio/IAnnouncementListener;
-Landroid/hardware/radio/IAnnouncementListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/radio/IAnnouncementListener$Stub;->TRANSACTION_onListUpdated:I
-Landroid/hardware/radio/IAnnouncementListener;
-Landroid/hardware/radio/IAnnouncementListener;->onListUpdated(Ljava/util/List;)V
-Landroid/hardware/radio/ICloseHandle$Stub$Proxy;
-Landroid/hardware/radio/ICloseHandle$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/radio/ICloseHandle$Stub$Proxy;->close()V
-Landroid/hardware/radio/ICloseHandle$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/radio/ICloseHandle$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/radio/ICloseHandle$Stub;
-Landroid/hardware/radio/ICloseHandle$Stub;-><init>()V
-Landroid/hardware/radio/ICloseHandle$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/radio/ICloseHandle;
-Landroid/hardware/radio/ICloseHandle$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/radio/ICloseHandle$Stub;->TRANSACTION_close:I
-Landroid/hardware/radio/ICloseHandle;
-Landroid/hardware/radio/ICloseHandle;->close()V
-Landroid/hardware/radio/IRadioService$Stub$Proxy;
-Landroid/hardware/radio/IRadioService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/radio/IRadioService$Stub$Proxy;->addAnnouncementListener([ILandroid/hardware/radio/IAnnouncementListener;)Landroid/hardware/radio/ICloseHandle;
-Landroid/hardware/radio/IRadioService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/radio/IRadioService$Stub$Proxy;->listModules()Ljava/util/List;
-Landroid/hardware/radio/IRadioService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/radio/IRadioService$Stub$Proxy;->openTuner(ILandroid/hardware/radio/RadioManager$BandConfig;ZLandroid/hardware/radio/ITunerCallback;)Landroid/hardware/radio/ITuner;
-Landroid/hardware/radio/IRadioService$Stub;
-Landroid/hardware/radio/IRadioService$Stub;-><init>()V
-Landroid/hardware/radio/IRadioService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/radio/IRadioService;
-Landroid/hardware/radio/IRadioService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/radio/IRadioService$Stub;->TRANSACTION_addAnnouncementListener:I
-Landroid/hardware/radio/IRadioService$Stub;->TRANSACTION_listModules:I
-Landroid/hardware/radio/IRadioService$Stub;->TRANSACTION_openTuner:I
-Landroid/hardware/radio/IRadioService;
-Landroid/hardware/radio/IRadioService;->addAnnouncementListener([ILandroid/hardware/radio/IAnnouncementListener;)Landroid/hardware/radio/ICloseHandle;
-Landroid/hardware/radio/IRadioService;->listModules()Ljava/util/List;
-Landroid/hardware/radio/IRadioService;->openTuner(ILandroid/hardware/radio/RadioManager$BandConfig;ZLandroid/hardware/radio/ITunerCallback;)Landroid/hardware/radio/ITuner;
-Landroid/hardware/radio/ITuner$Stub$Proxy;
-Landroid/hardware/radio/ITuner$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/radio/ITuner$Stub$Proxy;->cancel()V
-Landroid/hardware/radio/ITuner$Stub$Proxy;->cancelAnnouncement()V
-Landroid/hardware/radio/ITuner$Stub$Proxy;->close()V
-Landroid/hardware/radio/ITuner$Stub$Proxy;->getConfiguration()Landroid/hardware/radio/RadioManager$BandConfig;
-Landroid/hardware/radio/ITuner$Stub$Proxy;->getImage(I)Landroid/graphics/Bitmap;
-Landroid/hardware/radio/ITuner$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/radio/ITuner$Stub$Proxy;->getParameters(Ljava/util/List;)Ljava/util/Map;
-Landroid/hardware/radio/ITuner$Stub$Proxy;->isClosed()Z
-Landroid/hardware/radio/ITuner$Stub$Proxy;->isConfigFlagSet(I)Z
-Landroid/hardware/radio/ITuner$Stub$Proxy;->isConfigFlagSupported(I)Z
-Landroid/hardware/radio/ITuner$Stub$Proxy;->isMuted()Z
-Landroid/hardware/radio/ITuner$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/radio/ITuner$Stub$Proxy;->scan(ZZ)V
-Landroid/hardware/radio/ITuner$Stub$Proxy;->setConfigFlag(IZ)V
-Landroid/hardware/radio/ITuner$Stub$Proxy;->setConfiguration(Landroid/hardware/radio/RadioManager$BandConfig;)V
-Landroid/hardware/radio/ITuner$Stub$Proxy;->setMuted(Z)V
-Landroid/hardware/radio/ITuner$Stub$Proxy;->setParameters(Ljava/util/Map;)Ljava/util/Map;
-Landroid/hardware/radio/ITuner$Stub$Proxy;->startBackgroundScan()Z
-Landroid/hardware/radio/ITuner$Stub$Proxy;->startProgramListUpdates(Landroid/hardware/radio/ProgramList$Filter;)V
-Landroid/hardware/radio/ITuner$Stub$Proxy;->step(ZZ)V
-Landroid/hardware/radio/ITuner$Stub$Proxy;->stopProgramListUpdates()V
-Landroid/hardware/radio/ITuner$Stub$Proxy;->tune(Landroid/hardware/radio/ProgramSelector;)V
-Landroid/hardware/radio/ITuner$Stub;
-Landroid/hardware/radio/ITuner$Stub;-><init>()V
-Landroid/hardware/radio/ITuner$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/radio/ITuner;
-Landroid/hardware/radio/ITuner$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/radio/ITuner$Stub;->TRANSACTION_cancel:I
-Landroid/hardware/radio/ITuner$Stub;->TRANSACTION_cancelAnnouncement:I
-Landroid/hardware/radio/ITuner$Stub;->TRANSACTION_close:I
-Landroid/hardware/radio/ITuner$Stub;->TRANSACTION_getConfiguration:I
-Landroid/hardware/radio/ITuner$Stub;->TRANSACTION_getImage:I
-Landroid/hardware/radio/ITuner$Stub;->TRANSACTION_getParameters:I
-Landroid/hardware/radio/ITuner$Stub;->TRANSACTION_isClosed:I
-Landroid/hardware/radio/ITuner$Stub;->TRANSACTION_isConfigFlagSet:I
-Landroid/hardware/radio/ITuner$Stub;->TRANSACTION_isConfigFlagSupported:I
-Landroid/hardware/radio/ITuner$Stub;->TRANSACTION_isMuted:I
-Landroid/hardware/radio/ITuner$Stub;->TRANSACTION_scan:I
-Landroid/hardware/radio/ITuner$Stub;->TRANSACTION_setConfigFlag:I
-Landroid/hardware/radio/ITuner$Stub;->TRANSACTION_setConfiguration:I
-Landroid/hardware/radio/ITuner$Stub;->TRANSACTION_setMuted:I
-Landroid/hardware/radio/ITuner$Stub;->TRANSACTION_setParameters:I
-Landroid/hardware/radio/ITuner$Stub;->TRANSACTION_startBackgroundScan:I
-Landroid/hardware/radio/ITuner$Stub;->TRANSACTION_startProgramListUpdates:I
-Landroid/hardware/radio/ITuner$Stub;->TRANSACTION_step:I
-Landroid/hardware/radio/ITuner$Stub;->TRANSACTION_stopProgramListUpdates:I
-Landroid/hardware/radio/ITuner$Stub;->TRANSACTION_tune:I
-Landroid/hardware/radio/ITuner;
-Landroid/hardware/radio/ITuner;->cancel()V
-Landroid/hardware/radio/ITuner;->cancelAnnouncement()V
-Landroid/hardware/radio/ITuner;->close()V
-Landroid/hardware/radio/ITuner;->getConfiguration()Landroid/hardware/radio/RadioManager$BandConfig;
-Landroid/hardware/radio/ITuner;->getImage(I)Landroid/graphics/Bitmap;
-Landroid/hardware/radio/ITuner;->getParameters(Ljava/util/List;)Ljava/util/Map;
-Landroid/hardware/radio/ITuner;->isClosed()Z
-Landroid/hardware/radio/ITuner;->isConfigFlagSet(I)Z
-Landroid/hardware/radio/ITuner;->isConfigFlagSupported(I)Z
-Landroid/hardware/radio/ITuner;->isMuted()Z
-Landroid/hardware/radio/ITuner;->scan(ZZ)V
-Landroid/hardware/radio/ITuner;->setConfigFlag(IZ)V
-Landroid/hardware/radio/ITuner;->setConfiguration(Landroid/hardware/radio/RadioManager$BandConfig;)V
-Landroid/hardware/radio/ITuner;->setMuted(Z)V
-Landroid/hardware/radio/ITuner;->setParameters(Ljava/util/Map;)Ljava/util/Map;
-Landroid/hardware/radio/ITuner;->startBackgroundScan()Z
-Landroid/hardware/radio/ITuner;->startProgramListUpdates(Landroid/hardware/radio/ProgramList$Filter;)V
-Landroid/hardware/radio/ITuner;->step(ZZ)V
-Landroid/hardware/radio/ITuner;->stopProgramListUpdates()V
-Landroid/hardware/radio/ITuner;->tune(Landroid/hardware/radio/ProgramSelector;)V
-Landroid/hardware/radio/ITunerCallback$Stub$Proxy;
-Landroid/hardware/radio/ITunerCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/radio/ITunerCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/radio/ITunerCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/radio/ITunerCallback$Stub$Proxy;->onAntennaState(Z)V
-Landroid/hardware/radio/ITunerCallback$Stub$Proxy;->onBackgroundScanAvailabilityChange(Z)V
-Landroid/hardware/radio/ITunerCallback$Stub$Proxy;->onBackgroundScanComplete()V
-Landroid/hardware/radio/ITunerCallback$Stub$Proxy;->onConfigurationChanged(Landroid/hardware/radio/RadioManager$BandConfig;)V
-Landroid/hardware/radio/ITunerCallback$Stub$Proxy;->onCurrentProgramInfoChanged(Landroid/hardware/radio/RadioManager$ProgramInfo;)V
-Landroid/hardware/radio/ITunerCallback$Stub$Proxy;->onEmergencyAnnouncement(Z)V
-Landroid/hardware/radio/ITunerCallback$Stub$Proxy;->onError(I)V
-Landroid/hardware/radio/ITunerCallback$Stub$Proxy;->onParametersUpdated(Ljava/util/Map;)V
-Landroid/hardware/radio/ITunerCallback$Stub$Proxy;->onProgramListChanged()V
-Landroid/hardware/radio/ITunerCallback$Stub$Proxy;->onProgramListUpdated(Landroid/hardware/radio/ProgramList$Chunk;)V
-Landroid/hardware/radio/ITunerCallback$Stub$Proxy;->onTrafficAnnouncement(Z)V
-Landroid/hardware/radio/ITunerCallback$Stub$Proxy;->onTuneFailed(ILandroid/hardware/radio/ProgramSelector;)V
-Landroid/hardware/radio/ITunerCallback$Stub;
-Landroid/hardware/radio/ITunerCallback$Stub;-><init>()V
-Landroid/hardware/radio/ITunerCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/radio/ITunerCallback;
-Landroid/hardware/radio/ITunerCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/radio/ITunerCallback$Stub;->TRANSACTION_onAntennaState:I
-Landroid/hardware/radio/ITunerCallback$Stub;->TRANSACTION_onBackgroundScanAvailabilityChange:I
-Landroid/hardware/radio/ITunerCallback$Stub;->TRANSACTION_onBackgroundScanComplete:I
-Landroid/hardware/radio/ITunerCallback$Stub;->TRANSACTION_onConfigurationChanged:I
-Landroid/hardware/radio/ITunerCallback$Stub;->TRANSACTION_onCurrentProgramInfoChanged:I
-Landroid/hardware/radio/ITunerCallback$Stub;->TRANSACTION_onEmergencyAnnouncement:I
-Landroid/hardware/radio/ITunerCallback$Stub;->TRANSACTION_onError:I
-Landroid/hardware/radio/ITunerCallback$Stub;->TRANSACTION_onParametersUpdated:I
-Landroid/hardware/radio/ITunerCallback$Stub;->TRANSACTION_onProgramListChanged:I
-Landroid/hardware/radio/ITunerCallback$Stub;->TRANSACTION_onProgramListUpdated:I
-Landroid/hardware/radio/ITunerCallback$Stub;->TRANSACTION_onTrafficAnnouncement:I
-Landroid/hardware/radio/ITunerCallback$Stub;->TRANSACTION_onTuneFailed:I
-Landroid/hardware/radio/ITunerCallback;
-Landroid/hardware/radio/ITunerCallback;->onAntennaState(Z)V
-Landroid/hardware/radio/ITunerCallback;->onBackgroundScanAvailabilityChange(Z)V
-Landroid/hardware/radio/ITunerCallback;->onBackgroundScanComplete()V
-Landroid/hardware/radio/ITunerCallback;->onConfigurationChanged(Landroid/hardware/radio/RadioManager$BandConfig;)V
-Landroid/hardware/radio/ITunerCallback;->onCurrentProgramInfoChanged(Landroid/hardware/radio/RadioManager$ProgramInfo;)V
-Landroid/hardware/radio/ITunerCallback;->onEmergencyAnnouncement(Z)V
-Landroid/hardware/radio/ITunerCallback;->onError(I)V
-Landroid/hardware/radio/ITunerCallback;->onParametersUpdated(Ljava/util/Map;)V
-Landroid/hardware/radio/ITunerCallback;->onProgramListChanged()V
-Landroid/hardware/radio/ITunerCallback;->onProgramListUpdated(Landroid/hardware/radio/ProgramList$Chunk;)V
-Landroid/hardware/radio/ITunerCallback;->onTrafficAnnouncement(Z)V
-Landroid/hardware/radio/ITunerCallback;->onTuneFailed(ILandroid/hardware/radio/ProgramSelector;)V
-Landroid/hardware/radio/ProgramList$Chunk;
-Landroid/hardware/radio/ProgramList$Chunk;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/radio/ProgramList$Chunk;-><init>(ZZLjava/util/Set;Ljava/util/Set;)V
-Landroid/hardware/radio/ProgramList$Chunk;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/radio/ProgramList$Chunk;->getModified()Ljava/util/Set;
-Landroid/hardware/radio/ProgramList$Chunk;->getRemoved()Ljava/util/Set;
-Landroid/hardware/radio/ProgramList$Chunk;->isComplete()Z
-Landroid/hardware/radio/ProgramList$Chunk;->isPurge()Z
-Landroid/hardware/radio/ProgramList$Chunk;->mComplete:Z
-Landroid/hardware/radio/ProgramList$Chunk;->mModified:Ljava/util/Set;
-Landroid/hardware/radio/ProgramList$Chunk;->mPurge:Z
-Landroid/hardware/radio/ProgramList$Chunk;->mRemoved:Ljava/util/Set;
-Landroid/hardware/radio/ProgramList$Filter;-><init>()V
-Landroid/hardware/radio/ProgramList$Filter;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/radio/ProgramList$Filter;-><init>(Ljava/util/Map;)V
-Landroid/hardware/radio/ProgramList$Filter;->getVendorFilter()Ljava/util/Map;
-Landroid/hardware/radio/ProgramList$Filter;->mExcludeModifications:Z
-Landroid/hardware/radio/ProgramList$Filter;->mIdentifiers:Ljava/util/Set;
-Landroid/hardware/radio/ProgramList$Filter;->mIdentifierTypes:Ljava/util/Set;
-Landroid/hardware/radio/ProgramList$Filter;->mIncludeCategories:Z
-Landroid/hardware/radio/ProgramList$Filter;->mVendorFilter:Ljava/util/Map;
-Landroid/hardware/radio/ProgramList$OnCloseListener;
-Landroid/hardware/radio/ProgramList$OnCloseListener;->onClose()V
-Landroid/hardware/radio/ProgramList;-><init>()V
-Landroid/hardware/radio/ProgramList;->apply(Landroid/hardware/radio/ProgramList$Chunk;)V
-Landroid/hardware/radio/ProgramList;->mIsClosed:Z
-Landroid/hardware/radio/ProgramList;->mIsComplete:Z
-Landroid/hardware/radio/ProgramList;->mListCallbacks:Ljava/util/List;
-Landroid/hardware/radio/ProgramList;->mLock:Ljava/lang/Object;
-Landroid/hardware/radio/ProgramList;->mOnCloseListener:Landroid/hardware/radio/ProgramList$OnCloseListener;
-Landroid/hardware/radio/ProgramList;->mOnCompleteListeners:Ljava/util/List;
-Landroid/hardware/radio/ProgramList;->mPrograms:Ljava/util/Map;
-Landroid/hardware/radio/ProgramList;->putLocked(Landroid/hardware/radio/RadioManager$ProgramInfo;)V
-Landroid/hardware/radio/ProgramList;->removeLocked(Landroid/hardware/radio/ProgramSelector$Identifier;)V
-Landroid/hardware/radio/ProgramList;->setOnCloseListener(Landroid/hardware/radio/ProgramList$OnCloseListener;)V
-Landroid/hardware/radio/ProgramSelector$Identifier;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/radio/ProgramSelector$Identifier;->mType:I
-Landroid/hardware/radio/ProgramSelector$Identifier;->mValue:J
-Landroid/hardware/radio/ProgramSelector;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/radio/ProgramSelector;->isValidAmFmFrequency(ZI)Z
-Landroid/hardware/radio/ProgramSelector;->mPrimaryId:Landroid/hardware/radio/ProgramSelector$Identifier;
-Landroid/hardware/radio/ProgramSelector;->mProgramType:I
-Landroid/hardware/radio/ProgramSelector;->mSecondaryIds:[Landroid/hardware/radio/ProgramSelector$Identifier;
-Landroid/hardware/radio/ProgramSelector;->mVendorIds:[J
-Landroid/hardware/radio/RadioManager$AmBandConfig$Builder;->mDescriptor:Landroid/hardware/radio/RadioManager$BandDescriptor;
-Landroid/hardware/radio/RadioManager$AmBandConfig$Builder;->mStereo:Z
-Landroid/hardware/radio/RadioManager$AmBandConfig;-><init>(IIIIIZ)V
-Landroid/hardware/radio/RadioManager$AmBandConfig;-><init>(Landroid/hardware/radio/RadioManager$AmBandDescriptor;)V
-Landroid/hardware/radio/RadioManager$AmBandConfig;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/radio/RadioManager$AmBandConfig;->mStereo:Z
-Landroid/hardware/radio/RadioManager$AmBandDescriptor;-><init>(IIIIIZ)V
-Landroid/hardware/radio/RadioManager$AmBandDescriptor;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/radio/RadioManager$AmBandDescriptor;->mStereo:Z
-Landroid/hardware/radio/RadioManager$BandConfig;-><init>(IIIII)V
-Landroid/hardware/radio/RadioManager$BandConfig;-><init>(Landroid/hardware/radio/RadioManager$BandDescriptor;)V
-Landroid/hardware/radio/RadioManager$BandConfig;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/radio/RadioManager$BandConfig;->getDescriptor()Landroid/hardware/radio/RadioManager$BandDescriptor;
-Landroid/hardware/radio/RadioManager$BandConfig;->mDescriptor:Landroid/hardware/radio/RadioManager$BandDescriptor;
-Landroid/hardware/radio/RadioManager$BandDescriptor;-><init>(IIIII)V
-Landroid/hardware/radio/RadioManager$BandDescriptor;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/radio/RadioManager$BandDescriptor;->lookupTypeFromParcel(Landroid/os/Parcel;)I
-Landroid/hardware/radio/RadioManager$BandDescriptor;->mLowerLimit:I
-Landroid/hardware/radio/RadioManager$BandDescriptor;->mRegion:I
-Landroid/hardware/radio/RadioManager$BandDescriptor;->mSpacing:I
-Landroid/hardware/radio/RadioManager$BandDescriptor;->mType:I
-Landroid/hardware/radio/RadioManager$BandDescriptor;->mUpperLimit:I
-Landroid/hardware/radio/RadioManager$ConfigFlag;
-Landroid/hardware/radio/RadioManager$FmBandConfig$Builder;->mAf:Z
-Landroid/hardware/radio/RadioManager$FmBandConfig$Builder;->mDescriptor:Landroid/hardware/radio/RadioManager$BandDescriptor;
-Landroid/hardware/radio/RadioManager$FmBandConfig$Builder;->mEa:Z
-Landroid/hardware/radio/RadioManager$FmBandConfig$Builder;->mRds:Z
-Landroid/hardware/radio/RadioManager$FmBandConfig$Builder;->mStereo:Z
-Landroid/hardware/radio/RadioManager$FmBandConfig$Builder;->mTa:Z
-Landroid/hardware/radio/RadioManager$FmBandConfig;-><init>(IIIIIZZZZZ)V
-Landroid/hardware/radio/RadioManager$FmBandConfig;-><init>(Landroid/hardware/radio/RadioManager$FmBandDescriptor;)V
-Landroid/hardware/radio/RadioManager$FmBandConfig;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/radio/RadioManager$FmBandConfig;->mAf:Z
-Landroid/hardware/radio/RadioManager$FmBandConfig;->mEa:Z
-Landroid/hardware/radio/RadioManager$FmBandConfig;->mRds:Z
-Landroid/hardware/radio/RadioManager$FmBandConfig;->mStereo:Z
-Landroid/hardware/radio/RadioManager$FmBandConfig;->mTa:Z
-Landroid/hardware/radio/RadioManager$FmBandDescriptor;-><init>(IIIIIZZZZZ)V
-Landroid/hardware/radio/RadioManager$FmBandDescriptor;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/radio/RadioManager$FmBandDescriptor;->mAf:Z
-Landroid/hardware/radio/RadioManager$FmBandDescriptor;->mEa:Z
-Landroid/hardware/radio/RadioManager$FmBandDescriptor;->mRds:Z
-Landroid/hardware/radio/RadioManager$FmBandDescriptor;->mStereo:Z
-Landroid/hardware/radio/RadioManager$FmBandDescriptor;->mTa:Z
-Landroid/hardware/radio/RadioManager$ModuleProperties;-><init>(ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIZZ[Landroid/hardware/radio/RadioManager$BandDescriptor;Z[I[ILjava/util/Map;Ljava/util/Map;)V
-Landroid/hardware/radio/RadioManager$ModuleProperties;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/radio/RadioManager$ModuleProperties;->arrayToSet([I)Ljava/util/Set;
-Landroid/hardware/radio/RadioManager$ModuleProperties;->mBands:[Landroid/hardware/radio/RadioManager$BandDescriptor;
-Landroid/hardware/radio/RadioManager$ModuleProperties;->mClassId:I
-Landroid/hardware/radio/RadioManager$ModuleProperties;->mDabFrequencyTable:Ljava/util/Map;
-Landroid/hardware/radio/RadioManager$ModuleProperties;->mId:I
-Landroid/hardware/radio/RadioManager$ModuleProperties;->mImplementor:Ljava/lang/String;
-Landroid/hardware/radio/RadioManager$ModuleProperties;->mIsBgScanSupported:Z
-Landroid/hardware/radio/RadioManager$ModuleProperties;->mIsCaptureSupported:Z
-Landroid/hardware/radio/RadioManager$ModuleProperties;->mIsInitializationRequired:Z
-Landroid/hardware/radio/RadioManager$ModuleProperties;->mNumAudioSources:I
-Landroid/hardware/radio/RadioManager$ModuleProperties;->mNumTuners:I
-Landroid/hardware/radio/RadioManager$ModuleProperties;->mProduct:Ljava/lang/String;
-Landroid/hardware/radio/RadioManager$ModuleProperties;->mSerial:Ljava/lang/String;
-Landroid/hardware/radio/RadioManager$ModuleProperties;->mServiceName:Ljava/lang/String;
-Landroid/hardware/radio/RadioManager$ModuleProperties;->mSupportedIdentifierTypes:Ljava/util/Set;
-Landroid/hardware/radio/RadioManager$ModuleProperties;->mSupportedProgramTypes:Ljava/util/Set;
-Landroid/hardware/radio/RadioManager$ModuleProperties;->mVendorInfo:Ljava/util/Map;
-Landroid/hardware/radio/RadioManager$ModuleProperties;->mVersion:Ljava/lang/String;
-Landroid/hardware/radio/RadioManager$ModuleProperties;->setToArray(Ljava/util/Set;)[I
-Landroid/hardware/radio/RadioManager$ProgramInfo;-><init>(Landroid/hardware/radio/ProgramSelector;Landroid/hardware/radio/ProgramSelector$Identifier;Landroid/hardware/radio/ProgramSelector$Identifier;Ljava/util/Collection;IILandroid/hardware/radio/RadioMetadata;Ljava/util/Map;)V
-Landroid/hardware/radio/RadioManager$ProgramInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/radio/RadioManager$ProgramInfo;->FLAG_LIVE:I
-Landroid/hardware/radio/RadioManager$ProgramInfo;->FLAG_MUTED:I
-Landroid/hardware/radio/RadioManager$ProgramInfo;->FLAG_STEREO:I
-Landroid/hardware/radio/RadioManager$ProgramInfo;->FLAG_TRAFFIC_ANNOUNCEMENT:I
-Landroid/hardware/radio/RadioManager$ProgramInfo;->FLAG_TRAFFIC_PROGRAM:I
-Landroid/hardware/radio/RadioManager$ProgramInfo;->FLAG_TUNED:I
-Landroid/hardware/radio/RadioManager$ProgramInfo;->mInfoFlags:I
-Landroid/hardware/radio/RadioManager$ProgramInfo;->mLogicallyTunedTo:Landroid/hardware/radio/ProgramSelector$Identifier;
-Landroid/hardware/radio/RadioManager$ProgramInfo;->mMetadata:Landroid/hardware/radio/RadioMetadata;
-Landroid/hardware/radio/RadioManager$ProgramInfo;->mPhysicallyTunedTo:Landroid/hardware/radio/ProgramSelector$Identifier;
-Landroid/hardware/radio/RadioManager$ProgramInfo;->mRelatedContent:Ljava/util/Collection;
-Landroid/hardware/radio/RadioManager$ProgramInfo;->mSelector:Landroid/hardware/radio/ProgramSelector;
-Landroid/hardware/radio/RadioManager$ProgramInfo;->mSignalQuality:I
-Landroid/hardware/radio/RadioManager$ProgramInfo;->mVendorInfo:Ljava/util/Map;
-Landroid/hardware/radio/RadioManager;-><init>(Landroid/content/Context;)V
-Landroid/hardware/radio/RadioManager;->mAnnouncementListeners:Ljava/util/Map;
-Landroid/hardware/radio/RadioManager;->mContext:Landroid/content/Context;
-Landroid/hardware/radio/RadioManager;->mService:Landroid/hardware/radio/IRadioService;
-Landroid/hardware/radio/RadioManager;->nativeListModules(Ljava/util/List;)I
-Landroid/hardware/radio/RadioManager;->TAG:Ljava/lang/String;
-Landroid/hardware/radio/RadioMetadata$Builder;-><init>(Landroid/hardware/radio/RadioMetadata;I)V
-Landroid/hardware/radio/RadioMetadata$Builder;->mBundle:Landroid/os/Bundle;
-Landroid/hardware/radio/RadioMetadata$Builder;->scaleBitmap(Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
-Landroid/hardware/radio/RadioMetadata$Clock;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/radio/RadioMetadata$Clock;->mTimezoneOffsetMinutes:I
-Landroid/hardware/radio/RadioMetadata$Clock;->mUtcEpochSeconds:J
-Landroid/hardware/radio/RadioMetadata;-><init>()V
-Landroid/hardware/radio/RadioMetadata;-><init>(Landroid/os/Bundle;)V
-Landroid/hardware/radio/RadioMetadata;-><init>(Landroid/os/Parcel;)V
-Landroid/hardware/radio/RadioMetadata;->getBitmapId(Ljava/lang/String;)I
-Landroid/hardware/radio/RadioMetadata;->getKeyFromNativeKey(I)Ljava/lang/String;
-Landroid/hardware/radio/RadioMetadata;->mBundle:Landroid/os/Bundle;
-Landroid/hardware/radio/RadioMetadata;->METADATA_KEYS_TYPE:Landroid/util/ArrayMap;
-Landroid/hardware/radio/RadioMetadata;->METADATA_TYPE_BITMAP:I
-Landroid/hardware/radio/RadioMetadata;->METADATA_TYPE_CLOCK:I
-Landroid/hardware/radio/RadioMetadata;->METADATA_TYPE_INT:I
-Landroid/hardware/radio/RadioMetadata;->METADATA_TYPE_INVALID:I
-Landroid/hardware/radio/RadioMetadata;->METADATA_TYPE_TEXT:I
-Landroid/hardware/radio/RadioMetadata;->NATIVE_KEY_ALBUM:I
-Landroid/hardware/radio/RadioMetadata;->NATIVE_KEY_ART:I
-Landroid/hardware/radio/RadioMetadata;->NATIVE_KEY_ARTIST:I
-Landroid/hardware/radio/RadioMetadata;->NATIVE_KEY_CLOCK:I
-Landroid/hardware/radio/RadioMetadata;->NATIVE_KEY_GENRE:I
-Landroid/hardware/radio/RadioMetadata;->NATIVE_KEY_ICON:I
-Landroid/hardware/radio/RadioMetadata;->NATIVE_KEY_INVALID:I
-Landroid/hardware/radio/RadioMetadata;->NATIVE_KEY_MAPPING:Landroid/util/SparseArray;
-Landroid/hardware/radio/RadioMetadata;->NATIVE_KEY_RBDS_PTY:I
-Landroid/hardware/radio/RadioMetadata;->NATIVE_KEY_RDS_PI:I
-Landroid/hardware/radio/RadioMetadata;->NATIVE_KEY_RDS_PS:I
-Landroid/hardware/radio/RadioMetadata;->NATIVE_KEY_RDS_PTY:I
-Landroid/hardware/radio/RadioMetadata;->NATIVE_KEY_RDS_RT:I
-Landroid/hardware/radio/RadioMetadata;->NATIVE_KEY_TITLE:I
-Landroid/hardware/radio/RadioMetadata;->putBitmapFromNative(I[B)I
-Landroid/hardware/radio/RadioMetadata;->putClockFromNative(IJI)I
-Landroid/hardware/radio/RadioMetadata;->putInt(Landroid/os/Bundle;Ljava/lang/String;I)V
-Landroid/hardware/radio/RadioMetadata;->putIntFromNative(II)I
-Landroid/hardware/radio/RadioMetadata;->putStringFromNative(ILjava/lang/String;)I
-Landroid/hardware/radio/RadioMetadata;->TAG:Ljava/lang/String;
-Landroid/hardware/radio/RadioTuner;->getMetadataImage(I)Landroid/graphics/Bitmap;
-Landroid/hardware/Sensor;-><init>()V
-Landroid/hardware/Sensor;->ADDITIONAL_INFO_MASK:I
-Landroid/hardware/Sensor;->ADDITIONAL_INFO_SHIFT:I
-Landroid/hardware/Sensor;->DATA_INJECTION_MASK:I
-Landroid/hardware/Sensor;->DATA_INJECTION_SHIFT:I
-Landroid/hardware/Sensor;->DIRECT_CHANNEL_MASK:I
-Landroid/hardware/Sensor;->DIRECT_CHANNEL_SHIFT:I
-Landroid/hardware/Sensor;->DIRECT_REPORT_MASK:I
-Landroid/hardware/Sensor;->DIRECT_REPORT_SHIFT:I
-Landroid/hardware/Sensor;->DYNAMIC_SENSOR_MASK:I
-Landroid/hardware/Sensor;->DYNAMIC_SENSOR_SHIFT:I
-Landroid/hardware/Sensor;->getMaxLengthValuesArray(Landroid/hardware/Sensor;I)I
-Landroid/hardware/Sensor;->getRequiredPermission()Ljava/lang/String;
-Landroid/hardware/Sensor;->mFifoMaxEventCount:I
-Landroid/hardware/Sensor;->mFifoReservedEventCount:I
-Landroid/hardware/Sensor;->mHandle:I
-Landroid/hardware/Sensor;->mId:I
-Landroid/hardware/Sensor;->mMaxDelay:I
-Landroid/hardware/Sensor;->mMaxRange:F
-Landroid/hardware/Sensor;->mMinDelay:I
-Landroid/hardware/Sensor;->mName:Ljava/lang/String;
-Landroid/hardware/Sensor;->mPower:F
-Landroid/hardware/Sensor;->mRequiredPermission:Ljava/lang/String;
-Landroid/hardware/Sensor;->mResolution:F
-Landroid/hardware/Sensor;->mStringType:Ljava/lang/String;
-Landroid/hardware/Sensor;->mType:I
-Landroid/hardware/Sensor;->mVendor:Ljava/lang/String;
-Landroid/hardware/Sensor;->mVersion:I
-Landroid/hardware/Sensor;->REPORTING_MODE_MASK:I
-Landroid/hardware/Sensor;->REPORTING_MODE_SHIFT:I
-Landroid/hardware/Sensor;->SENSOR_FLAG_WAKE_UP_SENSOR:I
-Landroid/hardware/Sensor;->SENSOR_STRING_TYPE_TILT_DETECTOR:Ljava/lang/String;
-Landroid/hardware/Sensor;->setRange(FF)V
-Landroid/hardware/Sensor;->setType(I)Z
-Landroid/hardware/Sensor;->setUuid(JJ)V
-Landroid/hardware/Sensor;->sSensorReportingModes:[I
-Landroid/hardware/Sensor;->STRING_TYPE_DEVICE_ORIENTATION:Ljava/lang/String;
-Landroid/hardware/Sensor;->STRING_TYPE_GLANCE_GESTURE:Ljava/lang/String;
-Landroid/hardware/Sensor;->STRING_TYPE_PICK_UP_GESTURE:Ljava/lang/String;
-Landroid/hardware/Sensor;->STRING_TYPE_WAKE_GESTURE:Ljava/lang/String;
-Landroid/hardware/Sensor;->TYPE_GLANCE_GESTURE:I
-Landroid/hardware/Sensor;->TYPE_TILT_DETECTOR:I
-Landroid/hardware/Sensor;->TYPE_WAKE_GESTURE:I
-Landroid/hardware/SensorAdditionalInfo$AdditionalInfoType;
-Landroid/hardware/SensorAdditionalInfo;-><init>(Landroid/hardware/Sensor;II[I[F)V
-Landroid/hardware/SensorAdditionalInfo;->createCustomInfo(Landroid/hardware/Sensor;I[F)Landroid/hardware/SensorAdditionalInfo;
-Landroid/hardware/SensorAdditionalInfo;->createLocalGeomagneticField(FFF)Landroid/hardware/SensorAdditionalInfo;
-Landroid/hardware/SensorAdditionalInfo;->TYPE_CUSTOM_INFO:I
-Landroid/hardware/SensorAdditionalInfo;->TYPE_DEBUG_INFO:I
-Landroid/hardware/SensorAdditionalInfo;->TYPE_DOCK_STATE:I
-Landroid/hardware/SensorAdditionalInfo;->TYPE_HIGH_PERFORMANCE_MODE:I
-Landroid/hardware/SensorAdditionalInfo;->TYPE_LOCAL_GEOMAGNETIC_FIELD:I
-Landroid/hardware/SensorAdditionalInfo;->TYPE_LOCAL_GRAVITY:I
-Landroid/hardware/SensorAdditionalInfo;->TYPE_MAGNETIC_FIELD_CALIBRATION:I
-Landroid/hardware/SensorDirectChannel$MemoryType;
-Landroid/hardware/SensorDirectChannel$RateLevel;
-Landroid/hardware/SensorDirectChannel;-><init>(Landroid/hardware/SensorManager;IIJ)V
-Landroid/hardware/SensorDirectChannel;->encodeData(Landroid/os/MemoryFile;)[J
-Landroid/hardware/SensorDirectChannel;->getNativeHandle()I
-Landroid/hardware/SensorDirectChannel;->mClosed:Ljava/util/concurrent/atomic/AtomicBoolean;
-Landroid/hardware/SensorDirectChannel;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/hardware/SensorDirectChannel;->mManager:Landroid/hardware/SensorManager;
-Landroid/hardware/SensorDirectChannel;->mNativeHandle:I
-Landroid/hardware/SensorDirectChannel;->mSize:J
-Landroid/hardware/SensorDirectChannel;->mType:I
-Landroid/hardware/SensorManager;->cancelTriggerSensorImpl(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;Z)Z
-Landroid/hardware/SensorManager;->configureDirectChannelImpl(Landroid/hardware/SensorDirectChannel;Landroid/hardware/Sensor;I)I
-Landroid/hardware/SensorManager;->createDirectChannelImpl(Landroid/os/MemoryFile;Landroid/hardware/HardwareBuffer;)Landroid/hardware/SensorDirectChannel;
-Landroid/hardware/SensorManager;->destroyDirectChannel(Landroid/hardware/SensorDirectChannel;)V
-Landroid/hardware/SensorManager;->destroyDirectChannelImpl(Landroid/hardware/SensorDirectChannel;)V
-Landroid/hardware/SensorManager;->flushImpl(Landroid/hardware/SensorEventListener;)Z
-Landroid/hardware/SensorManager;->getDelay(I)I
-Landroid/hardware/SensorManager;->getFullDynamicSensorList()Ljava/util/List;
-Landroid/hardware/SensorManager;->getFullSensorList()Ljava/util/List;
-Landroid/hardware/SensorManager;->getLegacySensorManager()Landroid/hardware/LegacySensorManager;
-Landroid/hardware/SensorManager;->initDataInjectionImpl(Z)Z
-Landroid/hardware/SensorManager;->injectSensorDataImpl(Landroid/hardware/Sensor;[FIJ)Z
-Landroid/hardware/SensorManager;->mLegacySensorManager:Landroid/hardware/LegacySensorManager;
-Landroid/hardware/SensorManager;->mSensorListByType:Landroid/util/SparseArray;
-Landroid/hardware/SensorManager;->registerDynamicSensorCallbackImpl(Landroid/hardware/SensorManager$DynamicSensorCallback;Landroid/os/Handler;)V
-Landroid/hardware/SensorManager;->registerListenerImpl(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;ILandroid/os/Handler;II)Z
-Landroid/hardware/SensorManager;->remapCoordinateSystemImpl([FII[F)Z
-Landroid/hardware/SensorManager;->requestTriggerSensorImpl(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z
-Landroid/hardware/SensorManager;->setOperationParameter(Landroid/hardware/SensorAdditionalInfo;)Z
-Landroid/hardware/SensorManager;->setOperationParameterImpl(Landroid/hardware/SensorAdditionalInfo;)Z
-Landroid/hardware/SensorManager;->sTempMatrix:[F
-Landroid/hardware/SensorManager;->TAG:Ljava/lang/String;
-Landroid/hardware/SensorManager;->unregisterDynamicSensorCallbackImpl(Landroid/hardware/SensorManager$DynamicSensorCallback;)V
-Landroid/hardware/SensorManager;->unregisterListenerImpl(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)V
-Landroid/hardware/SerialManager;
-Landroid/hardware/SerialManager;-><init>(Landroid/content/Context;Landroid/hardware/ISerialManager;)V
-Landroid/hardware/SerialManager;->mContext:Landroid/content/Context;
-Landroid/hardware/SerialManager;->mService:Landroid/hardware/ISerialManager;
-Landroid/hardware/SerialManager;->TAG:Ljava/lang/String;
-Landroid/hardware/SerialPort;
-Landroid/hardware/SerialPort;-><init>(Ljava/lang/String;)V
-Landroid/hardware/SerialPort;->getName()Ljava/lang/String;
-Landroid/hardware/SerialPort;->mFileDescriptor:Landroid/os/ParcelFileDescriptor;
-Landroid/hardware/SerialPort;->mName:Ljava/lang/String;
-Landroid/hardware/SerialPort;->native_close()V
-Landroid/hardware/SerialPort;->native_open(Ljava/io/FileDescriptor;I)V
-Landroid/hardware/SerialPort;->native_read_array([BI)I
-Landroid/hardware/SerialPort;->native_read_direct(Ljava/nio/ByteBuffer;I)I
-Landroid/hardware/SerialPort;->native_send_break()V
-Landroid/hardware/SerialPort;->native_write_array([BI)V
-Landroid/hardware/SerialPort;->native_write_direct(Ljava/nio/ByteBuffer;I)V
-Landroid/hardware/SerialPort;->open(Landroid/os/ParcelFileDescriptor;I)V
-Landroid/hardware/SerialPort;->read(Ljava/nio/ByteBuffer;)I
-Landroid/hardware/SerialPort;->sendBreak()V
-Landroid/hardware/SerialPort;->TAG:Ljava/lang/String;
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;->onError(I)V
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;->onGenericSoundTriggerDetected(Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;)V
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;->onKeyphraseDetected(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;)V
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;->onRecognitionPaused()V
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;->onRecognitionResumed()V
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub;
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub;-><init>()V
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/soundtrigger/IRecognitionStatusCallback;
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub;->TRANSACTION_onError:I
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub;->TRANSACTION_onGenericSoundTriggerDetected:I
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub;->TRANSACTION_onKeyphraseDetected:I
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub;->TRANSACTION_onRecognitionPaused:I
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub;->TRANSACTION_onRecognitionResumed:I
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback;
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback;->onError(I)V
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback;->onGenericSoundTriggerDetected(Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;)V
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback;->onKeyphraseDetected(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;)V
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback;->onRecognitionPaused()V
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback;->onRecognitionResumed()V
-Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;
-Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;-><init>(Landroid/content/pm/PackageManager;)V
-Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;->ACTION_MANAGE_VOICE_KEYPHRASES:Ljava/lang/String;
-Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;->EXTRA_VOICE_KEYPHRASE_ACTION:Ljava/lang/String;
-Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;->EXTRA_VOICE_KEYPHRASE_HINT_TEXT:Ljava/lang/String;
-Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;->EXTRA_VOICE_KEYPHRASE_LOCALE:Ljava/lang/String;
-Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;->getKeyphraseFromTypedArray(Landroid/content/res/TypedArray;Ljava/lang/String;Ljava/util/List;)Landroid/hardware/soundtrigger/KeyphraseMetadata;
-Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;->getKeyphraseMetadata(Ljava/lang/String;Ljava/util/Locale;)Landroid/hardware/soundtrigger/KeyphraseMetadata;
-Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;->getKeyphraseMetadataFromApplicationInfo(Landroid/content/pm/PackageManager;Landroid/content/pm/ApplicationInfo;Ljava/util/List;)Landroid/hardware/soundtrigger/KeyphraseMetadata;
-Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;->getManageKeyphraseIntent(ILjava/lang/String;Ljava/util/Locale;)Landroid/content/Intent;
-Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;->getParseError()Ljava/lang/String;
-Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;->listKeyphraseMetadata()[Landroid/hardware/soundtrigger/KeyphraseMetadata;
-Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;->mKeyphrasePackageMap:Ljava/util/Map;
-Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;->mKeyphrases:[Landroid/hardware/soundtrigger/KeyphraseMetadata;
-Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;->mParseError:Ljava/lang/String;
-Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;->TAG:Ljava/lang/String;
-Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;->VOICE_KEYPHRASE_META_DATA:Ljava/lang/String;
-Landroid/hardware/soundtrigger/KeyphraseMetadata;
-Landroid/hardware/soundtrigger/KeyphraseMetadata;-><init>(ILjava/lang/String;Landroid/util/ArraySet;I)V
-Landroid/hardware/soundtrigger/KeyphraseMetadata;->id:I
-Landroid/hardware/soundtrigger/KeyphraseMetadata;->keyphrase:Ljava/lang/String;
-Landroid/hardware/soundtrigger/KeyphraseMetadata;->recognitionModeFlags:I
-Landroid/hardware/soundtrigger/KeyphraseMetadata;->supportedLocales:Landroid/util/ArraySet;
-Landroid/hardware/soundtrigger/KeyphraseMetadata;->supportsLocale(Ljava/util/Locale;)Z
-Landroid/hardware/soundtrigger/KeyphraseMetadata;->supportsPhrase(Ljava/lang/String;)Z
-Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;
-Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;->fromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;
-Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;
-Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;->fromParcelForGeneric(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;
-Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;
-Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;->fromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;
-Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;
-Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->fromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;
-Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;
-Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;->fromParcelForKeyphrase(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;
-Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;
-Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;->fromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;
-Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;
-Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;->fromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;
-Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;
-Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->description:Ljava/lang/String;
-Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->fromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;
-Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->implementor:Ljava/lang/String;
-Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->maxBufferMs:I
-Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->maxKeyphrases:I
-Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->maxUsers:I
-Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->powerConsumptionMw:I
-Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->recognitionModes:I
-Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->returnsTriggerInEvent:Z
-Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->supportsCaptureTransition:Z
-Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->supportsConcurrentCapture:Z
-Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->version:I
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;->allowMultipleTriggers:Z
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;->fromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->captureDelayMs:I
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->captureFormat:Landroid/media/AudioFormat;
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->capturePreambleMs:I
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->describeContents()I
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->fromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->triggerInData:Z
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->writeToParcel(Landroid/os/Parcel;I)V
-Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;
-Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;-><init>(Ljava/util/UUID;Ljava/util/UUID;I[B)V
-Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;->type:I
-Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;->TYPE_GENERIC_SOUND:I
-Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;->TYPE_KEYPHRASE:I
-Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;->TYPE_UNKNOWN:I
-Landroid/hardware/soundtrigger/SoundTrigger$SoundModelEvent;
-Landroid/hardware/soundtrigger/SoundTrigger$SoundModelEvent;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/soundtrigger/SoundTrigger$SoundModelEvent;->data:[B
-Landroid/hardware/soundtrigger/SoundTrigger$SoundModelEvent;->fromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$SoundModelEvent;
-Landroid/hardware/soundtrigger/SoundTrigger$SoundModelEvent;->soundModelHandle:I
-Landroid/hardware/soundtrigger/SoundTrigger$SoundModelEvent;->status:I
-Landroid/hardware/soundtrigger/SoundTrigger$StatusListener;
-Landroid/hardware/soundtrigger/SoundTrigger$StatusListener;->onRecognition(Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;)V
-Landroid/hardware/soundtrigger/SoundTrigger$StatusListener;->onServiceDied()V
-Landroid/hardware/soundtrigger/SoundTrigger$StatusListener;->onServiceStateChange(I)V
-Landroid/hardware/soundtrigger/SoundTrigger$StatusListener;->onSoundModelUpdate(Landroid/hardware/soundtrigger/SoundTrigger$SoundModelEvent;)V
-Landroid/hardware/soundtrigger/SoundTrigger;-><init>()V
-Landroid/hardware/soundtrigger/SoundTrigger;->RECOGNITION_MODE_USER_AUTHENTICATION:I
-Landroid/hardware/soundtrigger/SoundTrigger;->RECOGNITION_MODE_USER_IDENTIFICATION:I
-Landroid/hardware/soundtrigger/SoundTrigger;->RECOGNITION_MODE_VOICE_TRIGGER:I
-Landroid/hardware/soundtrigger/SoundTrigger;->RECOGNITION_STATUS_ABORT:I
-Landroid/hardware/soundtrigger/SoundTrigger;->RECOGNITION_STATUS_FAILURE:I
-Landroid/hardware/soundtrigger/SoundTrigger;->RECOGNITION_STATUS_SUCCESS:I
-Landroid/hardware/soundtrigger/SoundTrigger;->SERVICE_STATE_DISABLED:I
-Landroid/hardware/soundtrigger/SoundTrigger;->SERVICE_STATE_ENABLED:I
-Landroid/hardware/soundtrigger/SoundTrigger;->SOUNDMODEL_STATUS_UPDATED:I
-Landroid/hardware/soundtrigger/SoundTrigger;->STATUS_BAD_VALUE:I
-Landroid/hardware/soundtrigger/SoundTrigger;->STATUS_DEAD_OBJECT:I
-Landroid/hardware/soundtrigger/SoundTrigger;->STATUS_ERROR:I
-Landroid/hardware/soundtrigger/SoundTrigger;->STATUS_INVALID_OPERATION:I
-Landroid/hardware/soundtrigger/SoundTrigger;->STATUS_NO_INIT:I
-Landroid/hardware/soundtrigger/SoundTrigger;->STATUS_PERMISSION_DENIED:I
-Landroid/hardware/soundtrigger/SoundTriggerModule$NativeEventHandlerDelegate;
-Landroid/hardware/soundtrigger/SoundTriggerModule$NativeEventHandlerDelegate;-><init>(Landroid/hardware/soundtrigger/SoundTrigger$StatusListener;Landroid/os/Handler;)V
-Landroid/hardware/soundtrigger/SoundTriggerModule$NativeEventHandlerDelegate;->handler()Landroid/os/Handler;
-Landroid/hardware/soundtrigger/SoundTriggerModule$NativeEventHandlerDelegate;->mHandler:Landroid/os/Handler;
-Landroid/hardware/soundtrigger/SoundTriggerModule;
-Landroid/hardware/soundtrigger/SoundTriggerModule;-><init>(ILandroid/hardware/soundtrigger/SoundTrigger$StatusListener;Landroid/os/Handler;)V
-Landroid/hardware/soundtrigger/SoundTriggerModule;->EVENT_RECOGNITION:I
-Landroid/hardware/soundtrigger/SoundTriggerModule;->EVENT_SERVICE_DIED:I
-Landroid/hardware/soundtrigger/SoundTriggerModule;->EVENT_SERVICE_STATE_CHANGE:I
-Landroid/hardware/soundtrigger/SoundTriggerModule;->EVENT_SOUNDMODEL:I
-Landroid/hardware/soundtrigger/SoundTriggerModule;->mEventHandlerDelegate:Landroid/hardware/soundtrigger/SoundTriggerModule$NativeEventHandlerDelegate;
-Landroid/hardware/soundtrigger/SoundTriggerModule;->native_finalize()V
-Landroid/hardware/soundtrigger/SoundTriggerModule;->native_setup(Ljava/lang/Object;)V
-Landroid/hardware/SystemSensorManager$BaseEventQueue;
-Landroid/hardware/SystemSensorManager$BaseEventQueue;-><init>(Landroid/os/Looper;Landroid/hardware/SystemSensorManager;ILjava/lang/String;)V
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->addSensor(Landroid/hardware/Sensor;II)Z
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->addSensorEvent(Landroid/hardware/Sensor;)V
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->disableSensor(Landroid/hardware/Sensor;)I
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->dispose()V
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->dispose(Z)V
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->enableSensor(Landroid/hardware/Sensor;II)I
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->flush()I
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->hasSensors()Z
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->injectSensorDataBase(I[FIJ)I
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->mActiveSensors:Landroid/util/SparseBooleanArray;
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->mManager:Landroid/hardware/SystemSensorManager;
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->mNativeSensorEventQueue:J
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->mSensorAccuracies:Landroid/util/SparseIntArray;
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->nativeDestroySensorEventQueue(J)V
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->nativeDisableSensor(JI)I
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->nativeEnableSensor(JIII)I
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->nativeFlushSensor(J)I
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->nativeInitBaseEventQueue(JLjava/lang/ref/WeakReference;Landroid/os/MessageQueue;Ljava/lang/String;ILjava/lang/String;)J
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->nativeInjectSensorData(JI[FIJ)I
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->OPERATING_MODE_DATA_INJECTION:I
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->OPERATING_MODE_NORMAL:I
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->removeAllSensors()Z
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->removeSensor(Landroid/hardware/Sensor;Z)Z
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->removeSensorEvent(Landroid/hardware/Sensor;)V
-Landroid/hardware/SystemSensorManager$InjectEventQueue;
-Landroid/hardware/SystemSensorManager$InjectEventQueue;-><init>(Landroid/os/Looper;Landroid/hardware/SystemSensorManager;Ljava/lang/String;)V
-Landroid/hardware/SystemSensorManager$InjectEventQueue;->addSensorEvent(Landroid/hardware/Sensor;)V
-Landroid/hardware/SystemSensorManager$InjectEventQueue;->dispatchFlushCompleteEvent(I)V
-Landroid/hardware/SystemSensorManager$InjectEventQueue;->dispatchSensorEvent(I[FIJ)V
-Landroid/hardware/SystemSensorManager$InjectEventQueue;->injectSensorData(I[FIJ)I
-Landroid/hardware/SystemSensorManager$InjectEventQueue;->removeSensorEvent(Landroid/hardware/Sensor;)V
-Landroid/hardware/SystemSensorManager$SensorEventQueue;
-Landroid/hardware/SystemSensorManager$SensorEventQueue;-><init>(Landroid/hardware/SensorEventListener;Landroid/os/Looper;Landroid/hardware/SystemSensorManager;Ljava/lang/String;)V
-Landroid/hardware/SystemSensorManager$SensorEventQueue;->addSensorEvent(Landroid/hardware/Sensor;)V
-Landroid/hardware/SystemSensorManager$SensorEventQueue;->dispatchAdditionalInfoEvent(III[F[I)V
-Landroid/hardware/SystemSensorManager$SensorEventQueue;->dispatchFlushCompleteEvent(I)V
-Landroid/hardware/SystemSensorManager$SensorEventQueue;->dispatchSensorEvent(I[FIJ)V
-Landroid/hardware/SystemSensorManager$SensorEventQueue;->mListener:Landroid/hardware/SensorEventListener;
-Landroid/hardware/SystemSensorManager$SensorEventQueue;->mSensorsEvents:Landroid/util/SparseArray;
-Landroid/hardware/SystemSensorManager$SensorEventQueue;->removeSensorEvent(Landroid/hardware/Sensor;)V
-Landroid/hardware/SystemSensorManager$TriggerEventQueue;
-Landroid/hardware/SystemSensorManager$TriggerEventQueue;-><init>(Landroid/hardware/TriggerEventListener;Landroid/os/Looper;Landroid/hardware/SystemSensorManager;Ljava/lang/String;)V
-Landroid/hardware/SystemSensorManager$TriggerEventQueue;->addSensorEvent(Landroid/hardware/Sensor;)V
-Landroid/hardware/SystemSensorManager$TriggerEventQueue;->dispatchFlushCompleteEvent(I)V
-Landroid/hardware/SystemSensorManager$TriggerEventQueue;->dispatchSensorEvent(I[FIJ)V
-Landroid/hardware/SystemSensorManager$TriggerEventQueue;->mListener:Landroid/hardware/TriggerEventListener;
-Landroid/hardware/SystemSensorManager$TriggerEventQueue;->mTriggerEvents:Landroid/util/SparseArray;
-Landroid/hardware/SystemSensorManager$TriggerEventQueue;->removeSensorEvent(Landroid/hardware/Sensor;)V
-Landroid/hardware/SystemSensorManager;
-Landroid/hardware/SystemSensorManager;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
-Landroid/hardware/SystemSensorManager;->cancelTriggerSensorImpl(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;Z)Z
-Landroid/hardware/SystemSensorManager;->cleanupSensorConnection(Landroid/hardware/Sensor;)V
-Landroid/hardware/SystemSensorManager;->configureDirectChannelImpl(Landroid/hardware/SensorDirectChannel;Landroid/hardware/Sensor;I)I
-Landroid/hardware/SystemSensorManager;->createDirectChannelImpl(Landroid/os/MemoryFile;Landroid/hardware/HardwareBuffer;)Landroid/hardware/SensorDirectChannel;
-Landroid/hardware/SystemSensorManager;->DEBUG_DYNAMIC_SENSOR:Z
-Landroid/hardware/SystemSensorManager;->destroyDirectChannelImpl(Landroid/hardware/SensorDirectChannel;)V
-Landroid/hardware/SystemSensorManager;->diffSortedSensorList(Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;)Z
-Landroid/hardware/SystemSensorManager;->flushImpl(Landroid/hardware/SensorEventListener;)Z
-Landroid/hardware/SystemSensorManager;->getFullDynamicSensorList()Ljava/util/List;
-Landroid/hardware/SystemSensorManager;->getFullSensorList()Ljava/util/List;
-Landroid/hardware/SystemSensorManager;->initDataInjectionImpl(Z)Z
-Landroid/hardware/SystemSensorManager;->injectSensorDataImpl(Landroid/hardware/Sensor;[FIJ)Z
-Landroid/hardware/SystemSensorManager;->MAX_LISTENER_COUNT:I
-Landroid/hardware/SystemSensorManager;->mContext:Landroid/content/Context;
-Landroid/hardware/SystemSensorManager;->mDynamicSensorBroadcastReceiver:Landroid/content/BroadcastReceiver;
-Landroid/hardware/SystemSensorManager;->mDynamicSensorCallbacks:Ljava/util/HashMap;
-Landroid/hardware/SystemSensorManager;->mDynamicSensorListDirty:Z
-Landroid/hardware/SystemSensorManager;->mFullDynamicSensorsList:Ljava/util/List;
-Landroid/hardware/SystemSensorManager;->mFullSensorsList:Ljava/util/ArrayList;
-Landroid/hardware/SystemSensorManager;->mHandleToSensor:Ljava/util/HashMap;
-Landroid/hardware/SystemSensorManager;->MIN_DIRECT_CHANNEL_BUFFER_SIZE:I
-Landroid/hardware/SystemSensorManager;->mMainLooper:Landroid/os/Looper;
-Landroid/hardware/SystemSensorManager;->mNativeInstance:J
-Landroid/hardware/SystemSensorManager;->mSensorListeners:Ljava/util/HashMap;
-Landroid/hardware/SystemSensorManager;->mTargetSdkLevel:I
-Landroid/hardware/SystemSensorManager;->mTriggerListeners:Ljava/util/HashMap;
-Landroid/hardware/SystemSensorManager;->nativeClassInit()V
-Landroid/hardware/SystemSensorManager;->nativeConfigDirectChannel(JIII)I
-Landroid/hardware/SystemSensorManager;->nativeCreate(Ljava/lang/String;)J
-Landroid/hardware/SystemSensorManager;->nativeCreateDirectChannel(JJIILandroid/hardware/HardwareBuffer;)I
-Landroid/hardware/SystemSensorManager;->nativeDestroyDirectChannel(JI)V
-Landroid/hardware/SystemSensorManager;->nativeGetDynamicSensors(JLjava/util/List;)V
-Landroid/hardware/SystemSensorManager;->nativeGetSensorAtIndex(JLandroid/hardware/Sensor;I)Z
-Landroid/hardware/SystemSensorManager;->nativeIsDataInjectionEnabled(J)Z
-Landroid/hardware/SystemSensorManager;->nativeSetOperationParameter(JII[F[I)I
-Landroid/hardware/SystemSensorManager;->registerDynamicSensorCallbackImpl(Landroid/hardware/SensorManager$DynamicSensorCallback;Landroid/os/Handler;)V
-Landroid/hardware/SystemSensorManager;->registerListenerImpl(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;ILandroid/os/Handler;II)Z
-Landroid/hardware/SystemSensorManager;->requestTriggerSensorImpl(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z
-Landroid/hardware/SystemSensorManager;->setOperationParameterImpl(Landroid/hardware/SensorAdditionalInfo;)Z
-Landroid/hardware/SystemSensorManager;->setupDynamicSensorBroadcastReceiver()V
-Landroid/hardware/SystemSensorManager;->sInjectEventQueue:Landroid/hardware/SystemSensorManager$InjectEventQueue;
-Landroid/hardware/SystemSensorManager;->sLock:Ljava/lang/Object;
-Landroid/hardware/SystemSensorManager;->sNativeClassInited:Z
-Landroid/hardware/SystemSensorManager;->teardownDynamicSensorBroadcastReceiver()V
-Landroid/hardware/SystemSensorManager;->unregisterDynamicSensorCallbackImpl(Landroid/hardware/SensorManager$DynamicSensorCallback;)V
-Landroid/hardware/SystemSensorManager;->unregisterListenerImpl(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)V
-Landroid/hardware/SystemSensorManager;->updateDynamicSensorList()V
-Landroid/hardware/TriggerEvent;-><init>(I)V
-Landroid/hardware/usb/AccessoryFilter;
-Landroid/hardware/usb/AccessoryFilter;-><init>(Landroid/hardware/usb/UsbAccessory;)V
-Landroid/hardware/usb/AccessoryFilter;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/hardware/usb/AccessoryFilter;->contains(Landroid/hardware/usb/AccessoryFilter;)Z
-Landroid/hardware/usb/AccessoryFilter;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;Ljava/lang/String;J)V
-Landroid/hardware/usb/AccessoryFilter;->matches(Landroid/hardware/usb/UsbAccessory;)Z
-Landroid/hardware/usb/AccessoryFilter;->mManufacturer:Ljava/lang/String;
-Landroid/hardware/usb/AccessoryFilter;->mModel:Ljava/lang/String;
-Landroid/hardware/usb/AccessoryFilter;->mVersion:Ljava/lang/String;
-Landroid/hardware/usb/AccessoryFilter;->read(Lorg/xmlpull/v1/XmlPullParser;)Landroid/hardware/usb/AccessoryFilter;
-Landroid/hardware/usb/AccessoryFilter;->write(Lorg/xmlpull/v1/XmlSerializer;)V
-Landroid/hardware/usb/DeviceFilter;
-Landroid/hardware/usb/DeviceFilter;-><init>(IIIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/hardware/usb/DeviceFilter;-><init>(Landroid/hardware/usb/UsbDevice;)V
-Landroid/hardware/usb/DeviceFilter;->contains(Landroid/hardware/usb/DeviceFilter;)Z
-Landroid/hardware/usb/DeviceFilter;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;Ljava/lang/String;J)V
-Landroid/hardware/usb/DeviceFilter;->matches(III)Z
-Landroid/hardware/usb/DeviceFilter;->matches(Landroid/hardware/usb/UsbDevice;)Z
-Landroid/hardware/usb/DeviceFilter;->mClass:I
-Landroid/hardware/usb/DeviceFilter;->mManufacturerName:Ljava/lang/String;
-Landroid/hardware/usb/DeviceFilter;->mProductId:I
-Landroid/hardware/usb/DeviceFilter;->mProductName:Ljava/lang/String;
-Landroid/hardware/usb/DeviceFilter;->mProtocol:I
-Landroid/hardware/usb/DeviceFilter;->mSerialNumber:Ljava/lang/String;
-Landroid/hardware/usb/DeviceFilter;->mSubclass:I
-Landroid/hardware/usb/DeviceFilter;->mVendorId:I
-Landroid/hardware/usb/DeviceFilter;->read(Lorg/xmlpull/v1/XmlPullParser;)Landroid/hardware/usb/DeviceFilter;
-Landroid/hardware/usb/DeviceFilter;->TAG:Ljava/lang/String;
-Landroid/hardware/usb/DeviceFilter;->write(Lorg/xmlpull/v1/XmlSerializer;)V
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->allowUsbDebugging(ZLjava/lang/String;)V
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->clearDefaults(Ljava/lang/String;I)V
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->clearUsbDebuggingKeys()V
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->denyUsbDebugging()V
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->getControlFd(J)Landroid/os/ParcelFileDescriptor;
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->getCurrentAccessory()Landroid/hardware/usb/UsbAccessory;
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->getCurrentFunctions()J
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->getDeviceList(Landroid/os/Bundle;)V
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->getPorts()[Landroid/hardware/usb/UsbPort;
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->getPortStatus(Ljava/lang/String;)Landroid/hardware/usb/UsbPortStatus;
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->getScreenUnlockedFunctions()J
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->grantAccessoryPermission(Landroid/hardware/usb/UsbAccessory;I)V
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->grantDevicePermission(Landroid/hardware/usb/UsbDevice;I)V
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->hasAccessoryPermission(Landroid/hardware/usb/UsbAccessory;)Z
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->hasDefaults(Ljava/lang/String;I)Z
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->hasDevicePermission(Landroid/hardware/usb/UsbDevice;Ljava/lang/String;)Z
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->isFunctionEnabled(Ljava/lang/String;)Z
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->openAccessory(Landroid/hardware/usb/UsbAccessory;)Landroid/os/ParcelFileDescriptor;
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->openDevice(Ljava/lang/String;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->requestAccessoryPermission(Landroid/hardware/usb/UsbAccessory;Ljava/lang/String;Landroid/app/PendingIntent;)V
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->requestDevicePermission(Landroid/hardware/usb/UsbDevice;Ljava/lang/String;Landroid/app/PendingIntent;)V
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->setAccessoryPackage(Landroid/hardware/usb/UsbAccessory;Ljava/lang/String;I)V
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->setCurrentFunction(Ljava/lang/String;Z)V
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->setCurrentFunctions(J)V
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->setDevicePackage(Landroid/hardware/usb/UsbDevice;Ljava/lang/String;I)V
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->setPortRoles(Ljava/lang/String;II)V
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->setScreenUnlockedFunctions(J)V
-Landroid/hardware/usb/IUsbManager$Stub$Proxy;->setUsbDeviceConnectionHandler(Landroid/content/ComponentName;)V
-Landroid/hardware/usb/IUsbManager$Stub;
-Landroid/hardware/usb/IUsbManager$Stub;-><init>()V
-Landroid/hardware/usb/IUsbManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_allowUsbDebugging:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_clearDefaults:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_clearUsbDebuggingKeys:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_denyUsbDebugging:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_getControlFd:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_getCurrentAccessory:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_getCurrentFunctions:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_getDeviceList:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_getPorts:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_getPortStatus:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_getScreenUnlockedFunctions:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_grantAccessoryPermission:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_grantDevicePermission:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_hasAccessoryPermission:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_hasDefaults:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_hasDevicePermission:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_isFunctionEnabled:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_openAccessory:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_openDevice:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_requestAccessoryPermission:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_requestDevicePermission:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_setAccessoryPackage:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_setCurrentFunction:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_setCurrentFunctions:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_setDevicePackage:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_setPortRoles:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_setScreenUnlockedFunctions:I
-Landroid/hardware/usb/IUsbManager$Stub;->TRANSACTION_setUsbDeviceConnectionHandler:I
-Landroid/hardware/usb/IUsbManager;
-Landroid/hardware/usb/IUsbManager;->allowUsbDebugging(ZLjava/lang/String;)V
-Landroid/hardware/usb/IUsbManager;->clearDefaults(Ljava/lang/String;I)V
-Landroid/hardware/usb/IUsbManager;->clearUsbDebuggingKeys()V
-Landroid/hardware/usb/IUsbManager;->denyUsbDebugging()V
-Landroid/hardware/usb/IUsbManager;->getControlFd(J)Landroid/os/ParcelFileDescriptor;
-Landroid/hardware/usb/IUsbManager;->getCurrentAccessory()Landroid/hardware/usb/UsbAccessory;
-Landroid/hardware/usb/IUsbManager;->getCurrentFunctions()J
-Landroid/hardware/usb/IUsbManager;->getDeviceList(Landroid/os/Bundle;)V
-Landroid/hardware/usb/IUsbManager;->getPorts()[Landroid/hardware/usb/UsbPort;
-Landroid/hardware/usb/IUsbManager;->getPortStatus(Ljava/lang/String;)Landroid/hardware/usb/UsbPortStatus;
-Landroid/hardware/usb/IUsbManager;->getScreenUnlockedFunctions()J
-Landroid/hardware/usb/IUsbManager;->grantAccessoryPermission(Landroid/hardware/usb/UsbAccessory;I)V
-Landroid/hardware/usb/IUsbManager;->grantDevicePermission(Landroid/hardware/usb/UsbDevice;I)V
-Landroid/hardware/usb/IUsbManager;->hasAccessoryPermission(Landroid/hardware/usb/UsbAccessory;)Z
-Landroid/hardware/usb/IUsbManager;->hasDefaults(Ljava/lang/String;I)Z
-Landroid/hardware/usb/IUsbManager;->hasDevicePermission(Landroid/hardware/usb/UsbDevice;Ljava/lang/String;)Z
-Landroid/hardware/usb/IUsbManager;->isFunctionEnabled(Ljava/lang/String;)Z
-Landroid/hardware/usb/IUsbManager;->openAccessory(Landroid/hardware/usb/UsbAccessory;)Landroid/os/ParcelFileDescriptor;
-Landroid/hardware/usb/IUsbManager;->openDevice(Ljava/lang/String;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-Landroid/hardware/usb/IUsbManager;->requestAccessoryPermission(Landroid/hardware/usb/UsbAccessory;Ljava/lang/String;Landroid/app/PendingIntent;)V
-Landroid/hardware/usb/IUsbManager;->requestDevicePermission(Landroid/hardware/usb/UsbDevice;Ljava/lang/String;Landroid/app/PendingIntent;)V
-Landroid/hardware/usb/IUsbManager;->setAccessoryPackage(Landroid/hardware/usb/UsbAccessory;Ljava/lang/String;I)V
-Landroid/hardware/usb/IUsbManager;->setCurrentFunction(Ljava/lang/String;Z)V
-Landroid/hardware/usb/IUsbManager;->setCurrentFunctions(J)V
-Landroid/hardware/usb/IUsbManager;->setDevicePackage(Landroid/hardware/usb/UsbDevice;Ljava/lang/String;I)V
-Landroid/hardware/usb/IUsbManager;->setPortRoles(Ljava/lang/String;II)V
-Landroid/hardware/usb/IUsbManager;->setScreenUnlockedFunctions(J)V
-Landroid/hardware/usb/IUsbManager;->setUsbDeviceConnectionHandler(Landroid/content/ComponentName;)V
-Landroid/hardware/usb/UsbAccessory;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/hardware/usb/UsbAccessory;-><init>([Ljava/lang/String;)V
-Landroid/hardware/usb/UsbAccessory;->compare(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/hardware/usb/UsbAccessory;->DESCRIPTION_STRING:I
-Landroid/hardware/usb/UsbAccessory;->MANUFACTURER_STRING:I
-Landroid/hardware/usb/UsbAccessory;->mDescription:Ljava/lang/String;
-Landroid/hardware/usb/UsbAccessory;->mManufacturer:Ljava/lang/String;
-Landroid/hardware/usb/UsbAccessory;->mModel:Ljava/lang/String;
-Landroid/hardware/usb/UsbAccessory;->MODEL_STRING:I
-Landroid/hardware/usb/UsbAccessory;->mSerial:Ljava/lang/String;
-Landroid/hardware/usb/UsbAccessory;->mUri:Ljava/lang/String;
-Landroid/hardware/usb/UsbAccessory;->mVersion:Ljava/lang/String;
-Landroid/hardware/usb/UsbAccessory;->SERIAL_STRING:I
-Landroid/hardware/usb/UsbAccessory;->TAG:Ljava/lang/String;
-Landroid/hardware/usb/UsbAccessory;->URI_STRING:I
-Landroid/hardware/usb/UsbAccessory;->VERSION_STRING:I
-Landroid/hardware/usb/UsbConfiguration;-><init>(ILjava/lang/String;II)V
-Landroid/hardware/usb/UsbConfiguration;->ATTR_REMOTE_WAKEUP:I
-Landroid/hardware/usb/UsbConfiguration;->ATTR_SELF_POWERED:I
-Landroid/hardware/usb/UsbConfiguration;->getAttributes()I
-Landroid/hardware/usb/UsbConfiguration;->mAttributes:I
-Landroid/hardware/usb/UsbConfiguration;->mId:I
-Landroid/hardware/usb/UsbConfiguration;->mInterfaces:[Landroid/os/Parcelable;
-Landroid/hardware/usb/UsbConfiguration;->mMaxPower:I
-Landroid/hardware/usb/UsbConfiguration;->mName:Ljava/lang/String;
-Landroid/hardware/usb/UsbConfiguration;->setInterfaces([Landroid/os/Parcelable;)V
-Landroid/hardware/usb/UsbDevice;-><init>(Ljava/lang/String;IIIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/hardware/usb/UsbDevice;->DEBUG:Z
-Landroid/hardware/usb/UsbDevice;->getInterfaceList()[Landroid/hardware/usb/UsbInterface;
-Landroid/hardware/usb/UsbDevice;->mClass:I
-Landroid/hardware/usb/UsbDevice;->mConfigurations:[Landroid/os/Parcelable;
-Landroid/hardware/usb/UsbDevice;->mManufacturerName:Ljava/lang/String;
-Landroid/hardware/usb/UsbDevice;->mName:Ljava/lang/String;
-Landroid/hardware/usb/UsbDevice;->mProductId:I
-Landroid/hardware/usb/UsbDevice;->mProductName:Ljava/lang/String;
-Landroid/hardware/usb/UsbDevice;->mProtocol:I
-Landroid/hardware/usb/UsbDevice;->mSerialNumber:Ljava/lang/String;
-Landroid/hardware/usb/UsbDevice;->mSubclass:I
-Landroid/hardware/usb/UsbDevice;->mVendorId:I
-Landroid/hardware/usb/UsbDevice;->mVersion:Ljava/lang/String;
-Landroid/hardware/usb/UsbDevice;->native_get_device_id(Ljava/lang/String;)I
-Landroid/hardware/usb/UsbDevice;->native_get_device_name(I)Ljava/lang/String;
-Landroid/hardware/usb/UsbDevice;->setConfigurations([Landroid/os/Parcelable;)V
-Landroid/hardware/usb/UsbDevice;->TAG:Ljava/lang/String;
-Landroid/hardware/usb/UsbDeviceConnection;-><init>(Landroid/hardware/usb/UsbDevice;)V
-Landroid/hardware/usb/UsbDeviceConnection;->checkBounds([BII)V
-Landroid/hardware/usb/UsbDeviceConnection;->getContext()Landroid/content/Context;
-Landroid/hardware/usb/UsbDeviceConnection;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/hardware/usb/UsbDeviceConnection;->mContext:Landroid/content/Context;
-Landroid/hardware/usb/UsbDeviceConnection;->mDevice:Landroid/hardware/usb/UsbDevice;
-Landroid/hardware/usb/UsbDeviceConnection;->native_bulk_request(I[BIII)I
-Landroid/hardware/usb/UsbDeviceConnection;->native_claim_interface(IZ)Z
-Landroid/hardware/usb/UsbDeviceConnection;->native_close()V
-Landroid/hardware/usb/UsbDeviceConnection;->native_control_request(IIII[BIII)I
-Landroid/hardware/usb/UsbDeviceConnection;->native_get_desc()[B
-Landroid/hardware/usb/UsbDeviceConnection;->native_get_fd()I
-Landroid/hardware/usb/UsbDeviceConnection;->native_get_serial()Ljava/lang/String;
-Landroid/hardware/usb/UsbDeviceConnection;->native_open(Ljava/lang/String;Ljava/io/FileDescriptor;)Z
-Landroid/hardware/usb/UsbDeviceConnection;->native_release_interface(I)Z
-Landroid/hardware/usb/UsbDeviceConnection;->native_request_wait(J)Landroid/hardware/usb/UsbRequest;
-Landroid/hardware/usb/UsbDeviceConnection;->native_reset_device()Z
-Landroid/hardware/usb/UsbDeviceConnection;->native_set_configuration(I)Z
-Landroid/hardware/usb/UsbDeviceConnection;->native_set_interface(II)Z
-Landroid/hardware/usb/UsbDeviceConnection;->open(Ljava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/content/Context;)Z
-Landroid/hardware/usb/UsbDeviceConnection;->TAG:Ljava/lang/String;
-Landroid/hardware/usb/UsbEndpoint;-><init>(IIII)V
-Landroid/hardware/usb/UsbEndpoint;->mAddress:I
-Landroid/hardware/usb/UsbEndpoint;->mAttributes:I
-Landroid/hardware/usb/UsbEndpoint;->mInterval:I
-Landroid/hardware/usb/UsbEndpoint;->mMaxPacketSize:I
-Landroid/hardware/usb/UsbInterface;-><init>(IILjava/lang/String;III)V
-Landroid/hardware/usb/UsbInterface;->mAlternateSetting:I
-Landroid/hardware/usb/UsbInterface;->mClass:I
-Landroid/hardware/usb/UsbInterface;->mEndpoints:[Landroid/os/Parcelable;
-Landroid/hardware/usb/UsbInterface;->mId:I
-Landroid/hardware/usb/UsbInterface;->mName:Ljava/lang/String;
-Landroid/hardware/usb/UsbInterface;->mProtocol:I
-Landroid/hardware/usb/UsbInterface;->mSubclass:I
-Landroid/hardware/usb/UsbInterface;->setEndpoints([Landroid/os/Parcelable;)V
-Landroid/hardware/usb/UsbManager;->ACTION_USB_PORT_CHANGED:Ljava/lang/String;
-Landroid/hardware/usb/UsbManager;->areSettableFunctions(J)Z
-Landroid/hardware/usb/UsbManager;->EXTRA_PORT:Ljava/lang/String;
-Landroid/hardware/usb/UsbManager;->EXTRA_PORT_STATUS:Ljava/lang/String;
-Landroid/hardware/usb/UsbManager;->FUNCTION_ACCESSORY:J
-Landroid/hardware/usb/UsbManager;->FUNCTION_ADB:J
-Landroid/hardware/usb/UsbManager;->FUNCTION_AUDIO_SOURCE:J
-Landroid/hardware/usb/UsbManager;->FUNCTION_MIDI:J
-Landroid/hardware/usb/UsbManager;->FUNCTION_MTP:J
-Landroid/hardware/usb/UsbManager;->FUNCTION_NAME_TO_CODE:Ljava/util/Map;
-Landroid/hardware/usb/UsbManager;->FUNCTION_NONE:J
-Landroid/hardware/usb/UsbManager;->FUNCTION_PTP:J
-Landroid/hardware/usb/UsbManager;->FUNCTION_RNDIS:J
-Landroid/hardware/usb/UsbManager;->getControlFd(J)Landroid/os/ParcelFileDescriptor;
-Landroid/hardware/usb/UsbManager;->getCurrentFunctions()J
-Landroid/hardware/usb/UsbManager;->getScreenUnlockedFunctions()J
-Landroid/hardware/usb/UsbManager;->grantPermission(Landroid/hardware/usb/UsbDevice;)V
-Landroid/hardware/usb/UsbManager;->grantPermission(Landroid/hardware/usb/UsbDevice;I)V
-Landroid/hardware/usb/UsbManager;->mContext:Landroid/content/Context;
-Landroid/hardware/usb/UsbManager;->mService:Landroid/hardware/usb/IUsbManager;
-Landroid/hardware/usb/UsbManager;->setCurrentFunctions(J)V
-Landroid/hardware/usb/UsbManager;->setScreenUnlockedFunctions(J)V
-Landroid/hardware/usb/UsbManager;->SETTABLE_FUNCTIONS:J
-Landroid/hardware/usb/UsbManager;->setUsbDeviceConnectionHandler(Landroid/content/ComponentName;)V
-Landroid/hardware/usb/UsbManager;->TAG:Ljava/lang/String;
-Landroid/hardware/usb/UsbManager;->usbFunctionsFromString(Ljava/lang/String;)J
-Landroid/hardware/usb/UsbManager;->usbFunctionsToString(J)Ljava/lang/String;
-Landroid/hardware/usb/UsbManager;->USB_CONFIGURED:Ljava/lang/String;
-Landroid/hardware/usb/UsbManager;->USB_FUNCTION_ACCESSORY:Ljava/lang/String;
-Landroid/hardware/usb/UsbManager;->USB_FUNCTION_ADB:Ljava/lang/String;
-Landroid/hardware/usb/UsbManager;->USB_FUNCTION_AUDIO_SOURCE:Ljava/lang/String;
-Landroid/hardware/usb/UsbManager;->USB_FUNCTION_MIDI:Ljava/lang/String;
-Landroid/hardware/usb/UsbManager;->USB_FUNCTION_MTP:Ljava/lang/String;
-Landroid/hardware/usb/UsbManager;->USB_FUNCTION_PTP:Ljava/lang/String;
-Landroid/hardware/usb/UsbManager;->USB_FUNCTION_RNDIS:Ljava/lang/String;
-Landroid/hardware/usb/UsbManager;->USB_HOST_CONNECTED:Ljava/lang/String;
-Landroid/hardware/usb/UsbPort;
-Landroid/hardware/usb/UsbPort;-><init>(Ljava/lang/String;I)V
-Landroid/hardware/usb/UsbPort;->checkDataRole(I)V
-Landroid/hardware/usb/UsbPort;->checkMode(I)V
-Landroid/hardware/usb/UsbPort;->checkPowerRole(I)V
-Landroid/hardware/usb/UsbPort;->checkRoles(II)V
-Landroid/hardware/usb/UsbPort;->combineRolesAsBit(II)I
-Landroid/hardware/usb/UsbPort;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/usb/UsbPort;->dataRoleToString(I)Ljava/lang/String;
-Landroid/hardware/usb/UsbPort;->DATA_ROLE_DEVICE:I
-Landroid/hardware/usb/UsbPort;->DATA_ROLE_HOST:I
-Landroid/hardware/usb/UsbPort;->DATA_ROLE_NONE:I
-Landroid/hardware/usb/UsbPort;->getId()Ljava/lang/String;
-Landroid/hardware/usb/UsbPort;->getSupportedModes()I
-Landroid/hardware/usb/UsbPort;->isModeSupported(I)Z
-Landroid/hardware/usb/UsbPort;->mId:Ljava/lang/String;
-Landroid/hardware/usb/UsbPort;->modeToString(I)Ljava/lang/String;
-Landroid/hardware/usb/UsbPort;->MODE_AUDIO_ACCESSORY:I
-Landroid/hardware/usb/UsbPort;->MODE_DEBUG_ACCESSORY:I
-Landroid/hardware/usb/UsbPort;->MODE_DFP:I
-Landroid/hardware/usb/UsbPort;->MODE_DUAL:I
-Landroid/hardware/usb/UsbPort;->MODE_NONE:I
-Landroid/hardware/usb/UsbPort;->MODE_UFP:I
-Landroid/hardware/usb/UsbPort;->mSupportedModes:I
-Landroid/hardware/usb/UsbPort;->NUM_DATA_ROLES:I
-Landroid/hardware/usb/UsbPort;->powerRoleToString(I)Ljava/lang/String;
-Landroid/hardware/usb/UsbPort;->POWER_ROLE_NONE:I
-Landroid/hardware/usb/UsbPort;->POWER_ROLE_OFFSET:I
-Landroid/hardware/usb/UsbPort;->POWER_ROLE_SINK:I
-Landroid/hardware/usb/UsbPort;->POWER_ROLE_SOURCE:I
-Landroid/hardware/usb/UsbPort;->roleCombinationsToString(I)Ljava/lang/String;
-Landroid/hardware/usb/UsbPortStatus;
-Landroid/hardware/usb/UsbPortStatus;-><init>(IIII)V
-Landroid/hardware/usb/UsbPortStatus;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/hardware/usb/UsbPortStatus;->mCurrentDataRole:I
-Landroid/hardware/usb/UsbPortStatus;->mCurrentMode:I
-Landroid/hardware/usb/UsbPortStatus;->mCurrentPowerRole:I
-Landroid/hardware/usb/UsbPortStatus;->mSupportedRoleCombinations:I
-Landroid/hardware/usb/UsbRequest;->dequeue(Z)V
-Landroid/hardware/usb/UsbRequest;->MAX_USBFS_BUFFER_SIZE:I
-Landroid/hardware/usb/UsbRequest;->mClientData:Ljava/lang/Object;
-Landroid/hardware/usb/UsbRequest;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/hardware/usb/UsbRequest;->mConnection:Landroid/hardware/usb/UsbDeviceConnection;
-Landroid/hardware/usb/UsbRequest;->mEndpoint:Landroid/hardware/usb/UsbEndpoint;
-Landroid/hardware/usb/UsbRequest;->mIsUsingNewQueue:Z
-Landroid/hardware/usb/UsbRequest;->mLock:Ljava/lang/Object;
-Landroid/hardware/usb/UsbRequest;->mTempBuffer:Ljava/nio/ByteBuffer;
-Landroid/hardware/usb/UsbRequest;->native_cancel()Z
-Landroid/hardware/usb/UsbRequest;->native_close()V
-Landroid/hardware/usb/UsbRequest;->native_dequeue_array([BIZ)I
-Landroid/hardware/usb/UsbRequest;->native_dequeue_direct()I
-Landroid/hardware/usb/UsbRequest;->native_init(Landroid/hardware/usb/UsbDeviceConnection;IIII)Z
-Landroid/hardware/usb/UsbRequest;->native_queue(Ljava/nio/ByteBuffer;II)Z
-Landroid/hardware/usb/UsbRequest;->native_queue_array([BIZ)Z
-Landroid/hardware/usb/UsbRequest;->native_queue_direct(Ljava/nio/ByteBuffer;IZ)Z
-Landroid/hardware/usb/UsbRequest;->TAG:Ljava/lang/String;
-Landroid/icu/impl/BMPSet;->bmpBlockBits:[I
-Landroid/icu/impl/BMPSet;->containsSlow(III)Z
-Landroid/icu/impl/BMPSet;->findCodePoint(III)I
-Landroid/icu/impl/BMPSet;->initBits()V
-Landroid/icu/impl/BMPSet;->latin1Contains:[Z
-Landroid/icu/impl/BMPSet;->list4kStarts:[I
-Landroid/icu/impl/BMPSet;->list:[I
-Landroid/icu/impl/BMPSet;->listLength:I
-Landroid/icu/impl/BMPSet;->set32x64Bits([III)V
-Landroid/icu/impl/BMPSet;->table7FF:[I
-Landroid/icu/impl/CacheValue$NullValue;
-Landroid/icu/impl/CacheValue$NullValue;-><init>()V
-Landroid/icu/impl/CacheValue$SoftValue;
-Landroid/icu/impl/CacheValue$SoftValue;-><init>(Ljava/lang/Object;)V
-Landroid/icu/impl/CacheValue$SoftValue;->ref:Ljava/lang/ref/Reference;
-Landroid/icu/impl/CacheValue$Strength;-><init>()V
-Landroid/icu/impl/CacheValue$StrongValue;
-Landroid/icu/impl/CacheValue$StrongValue;-><init>(Ljava/lang/Object;)V
-Landroid/icu/impl/CacheValue$StrongValue;->value:Ljava/lang/Object;
-Landroid/icu/impl/CacheValue;->NULL_VALUE:Landroid/icu/impl/CacheValue;
-Landroid/icu/impl/CacheValue;->strength:Landroid/icu/impl/CacheValue$Strength;
-Landroid/icu/impl/CalendarAstronomer$AngleFunc;
-Landroid/icu/impl/CalendarAstronomer$AngleFunc;->eval()D
-Landroid/icu/impl/CalendarAstronomer$CoordFunc;
-Landroid/icu/impl/CalendarAstronomer$CoordFunc;->eval()Landroid/icu/impl/CalendarAstronomer$Equatorial;
-Landroid/icu/impl/CalendarAstronomer$MoonAge;
-Landroid/icu/impl/CalendarAstronomer$MoonAge;-><init>(D)V
-Landroid/icu/impl/CalendarAstronomer$MoonAge;->value:D
-Landroid/icu/impl/CalendarAstronomer$SolarLongitude;
-Landroid/icu/impl/CalendarAstronomer$SolarLongitude;-><init>(D)V
-Landroid/icu/impl/CalendarAstronomer$SolarLongitude;->value:D
-Landroid/icu/impl/CalendarAstronomer;->clearCache()V
-Landroid/icu/impl/CalendarAstronomer;->DEG_RAD:D
-Landroid/icu/impl/CalendarAstronomer;->eclipObliquity:D
-Landroid/icu/impl/CalendarAstronomer;->eclipticObliquity()D
-Landroid/icu/impl/CalendarAstronomer;->EPOCH_2000_MS:J
-Landroid/icu/impl/CalendarAstronomer;->fGmtOffset:J
-Landroid/icu/impl/CalendarAstronomer;->fLatitude:D
-Landroid/icu/impl/CalendarAstronomer;->fLongitude:D
-Landroid/icu/impl/CalendarAstronomer;->getSiderealOffset()D
-Landroid/icu/impl/CalendarAstronomer;->getSunLongitude(D)[D
-Landroid/icu/impl/CalendarAstronomer;->INVALID:D
-Landroid/icu/impl/CalendarAstronomer;->JD_EPOCH:D
-Landroid/icu/impl/CalendarAstronomer;->julianCentury:D
-Landroid/icu/impl/CalendarAstronomer;->julianDay:D
-Landroid/icu/impl/CalendarAstronomer;->lstToUT(D)J
-Landroid/icu/impl/CalendarAstronomer;->meanAnomalySun:D
-Landroid/icu/impl/CalendarAstronomer;->moonA:D
-Landroid/icu/impl/CalendarAstronomer;->moonE:D
-Landroid/icu/impl/CalendarAstronomer;->moonEclipLong:D
-Landroid/icu/impl/CalendarAstronomer;->moonI:D
-Landroid/icu/impl/CalendarAstronomer;->moonL0:D
-Landroid/icu/impl/CalendarAstronomer;->moonLongitude:D
-Landroid/icu/impl/CalendarAstronomer;->moonN0:D
-Landroid/icu/impl/CalendarAstronomer;->moonP0:D
-Landroid/icu/impl/CalendarAstronomer;->moonPi:D
-Landroid/icu/impl/CalendarAstronomer;->moonPosition:Landroid/icu/impl/CalendarAstronomer$Equatorial;
-Landroid/icu/impl/CalendarAstronomer;->moonT0:D
-Landroid/icu/impl/CalendarAstronomer;->norm2PI(D)D
-Landroid/icu/impl/CalendarAstronomer;->normalize(DD)D
-Landroid/icu/impl/CalendarAstronomer;->normPI(D)D
-Landroid/icu/impl/CalendarAstronomer;->PI2:D
-Landroid/icu/impl/CalendarAstronomer;->PI:D
-Landroid/icu/impl/CalendarAstronomer;->radToDms(D)Ljava/lang/String;
-Landroid/icu/impl/CalendarAstronomer;->radToHms(D)Ljava/lang/String;
-Landroid/icu/impl/CalendarAstronomer;->RAD_DEG:D
-Landroid/icu/impl/CalendarAstronomer;->RAD_HOUR:D
-Landroid/icu/impl/CalendarAstronomer;->riseOrSet(Landroid/icu/impl/CalendarAstronomer$CoordFunc;ZDDJ)J
-Landroid/icu/impl/CalendarAstronomer;->siderealT0:D
-Landroid/icu/impl/CalendarAstronomer;->siderealTime:D
-Landroid/icu/impl/CalendarAstronomer;->sunLongitude:D
-Landroid/icu/impl/CalendarAstronomer;->SUN_E:D
-Landroid/icu/impl/CalendarAstronomer;->SUN_ETA_G:D
-Landroid/icu/impl/CalendarAstronomer;->SUN_OMEGA_G:D
-Landroid/icu/impl/CalendarAstronomer;->time:J
-Landroid/icu/impl/CalendarAstronomer;->timeOfAngle(Landroid/icu/impl/CalendarAstronomer$AngleFunc;DDJZ)J
-Landroid/icu/impl/CalendarAstronomer;->trueAnomaly(DD)D
-Landroid/icu/impl/CalendarCache;->arraySize:I
-Landroid/icu/impl/CalendarCache;->findIndex(J)I
-Landroid/icu/impl/CalendarCache;->hash(J)I
-Landroid/icu/impl/CalendarCache;->hash2(J)I
-Landroid/icu/impl/CalendarCache;->keys:[J
-Landroid/icu/impl/CalendarCache;->makeArrays(I)V
-Landroid/icu/impl/CalendarCache;->pIndex:I
-Landroid/icu/impl/CalendarCache;->primes:[I
-Landroid/icu/impl/CalendarCache;->rehash()V
-Landroid/icu/impl/CalendarCache;->size:I
-Landroid/icu/impl/CalendarCache;->threshold:I
-Landroid/icu/impl/CalendarCache;->values:[J
-Landroid/icu/impl/CharTrie;->m_data_:[C
-Landroid/icu/impl/CharTrie;->m_initialValue_:C
-Landroid/icu/impl/CurrencyData$CurrencySpacingInfo$SpacingPattern;-><init>()V
-Landroid/icu/impl/CurrencyData$CurrencySpacingInfo$SpacingPattern;-><init>(I)V
-Landroid/icu/impl/CurrencyData$CurrencySpacingInfo$SpacingType;-><init>()V
-Landroid/icu/impl/CurrencyData$CurrencySpacingInfo;->DEFAULT_CTX_MATCH:Ljava/lang/String;
-Landroid/icu/impl/CurrencyData$CurrencySpacingInfo;->DEFAULT_CUR_MATCH:Ljava/lang/String;
-Landroid/icu/impl/CurrencyData$CurrencySpacingInfo;->DEFAULT_INSERT:Ljava/lang/String;
-Landroid/icu/impl/CurrencyData$CurrencySpacingInfo;->symbols:[[Ljava/lang/String;
-Landroid/icu/impl/CurrencyData$DefaultInfo;-><init>(Z)V
-Landroid/icu/impl/CurrencyData$DefaultInfo;->fallback:Z
-Landroid/icu/impl/CurrencyData$DefaultInfo;->FALLBACK_INSTANCE:Landroid/icu/impl/CurrencyData$CurrencyDisplayInfo;
-Landroid/icu/impl/CurrencyData$DefaultInfo;->NO_FALLBACK_INSTANCE:Landroid/icu/impl/CurrencyData$CurrencyDisplayInfo;
-Landroid/icu/impl/DayPeriodRules$CutoffType;
-Landroid/icu/impl/DayPeriodRules$CutoffType;-><init>()V
-Landroid/icu/impl/DayPeriodRules$CutoffType;->AFTER:Landroid/icu/impl/DayPeriodRules$CutoffType;
-Landroid/icu/impl/DayPeriodRules$CutoffType;->AT:Landroid/icu/impl/DayPeriodRules$CutoffType;
-Landroid/icu/impl/DayPeriodRules$CutoffType;->BEFORE:Landroid/icu/impl/DayPeriodRules$CutoffType;
-Landroid/icu/impl/DayPeriodRules$CutoffType;->FROM:Landroid/icu/impl/DayPeriodRules$CutoffType;
-Landroid/icu/impl/DayPeriodRules$CutoffType;->fromStringOrNull(Ljava/lang/CharSequence;)Landroid/icu/impl/DayPeriodRules$CutoffType;
-Landroid/icu/impl/DayPeriodRules$CutoffType;->valueOf(Ljava/lang/String;)Landroid/icu/impl/DayPeriodRules$CutoffType;
-Landroid/icu/impl/DayPeriodRules$CutoffType;->values()[Landroid/icu/impl/DayPeriodRules$CutoffType;
-Landroid/icu/impl/DayPeriodRules$DayPeriod;-><init>()V
-Landroid/icu/impl/DayPeriodRules$DayPeriod;->fromStringOrNull(Ljava/lang/CharSequence;)Landroid/icu/impl/DayPeriodRules$DayPeriod;
-Landroid/icu/impl/DayPeriodRules$DayPeriodRulesCountSink;
-Landroid/icu/impl/DayPeriodRules$DayPeriodRulesCountSink;-><init>(Landroid/icu/impl/DayPeriodRules$DayPeriodRulesData;)V
-Landroid/icu/impl/DayPeriodRules$DayPeriodRulesCountSink;->data:Landroid/icu/impl/DayPeriodRules$DayPeriodRulesData;
-Landroid/icu/impl/DayPeriodRules$DayPeriodRulesData;
-Landroid/icu/impl/DayPeriodRules$DayPeriodRulesData;-><init>()V
-Landroid/icu/impl/DayPeriodRules$DayPeriodRulesData;->localesToRuleSetNumMap:Ljava/util/Map;
-Landroid/icu/impl/DayPeriodRules$DayPeriodRulesData;->maxRuleSetNum:I
-Landroid/icu/impl/DayPeriodRules$DayPeriodRulesData;->rules:[Landroid/icu/impl/DayPeriodRules;
-Landroid/icu/impl/DayPeriodRules$DayPeriodRulesDataSink;
-Landroid/icu/impl/DayPeriodRules$DayPeriodRulesDataSink;-><init>(Landroid/icu/impl/DayPeriodRules$DayPeriodRulesData;)V
-Landroid/icu/impl/DayPeriodRules$DayPeriodRulesDataSink;->addCutoff(Landroid/icu/impl/DayPeriodRules$CutoffType;Ljava/lang/String;)V
-Landroid/icu/impl/DayPeriodRules$DayPeriodRulesDataSink;->cutoffs:[I
-Landroid/icu/impl/DayPeriodRules$DayPeriodRulesDataSink;->cutoffType:Landroid/icu/impl/DayPeriodRules$CutoffType;
-Landroid/icu/impl/DayPeriodRules$DayPeriodRulesDataSink;->data:Landroid/icu/impl/DayPeriodRules$DayPeriodRulesData;
-Landroid/icu/impl/DayPeriodRules$DayPeriodRulesDataSink;->parseHour(Ljava/lang/String;)I
-Landroid/icu/impl/DayPeriodRules$DayPeriodRulesDataSink;->period:Landroid/icu/impl/DayPeriodRules$DayPeriod;
-Landroid/icu/impl/DayPeriodRules$DayPeriodRulesDataSink;->processRules(Landroid/icu/impl/UResource$Table;Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-Landroid/icu/impl/DayPeriodRules$DayPeriodRulesDataSink;->ruleSetNum:I
-Landroid/icu/impl/DayPeriodRules$DayPeriodRulesDataSink;->setDayPeriodForHoursFromCutoffs()V
-Landroid/icu/impl/DayPeriodRules;-><init>()V
-Landroid/icu/impl/DayPeriodRules;->add(IILandroid/icu/impl/DayPeriodRules$DayPeriod;)V
-Landroid/icu/impl/DayPeriodRules;->DATA:Landroid/icu/impl/DayPeriodRules$DayPeriodRulesData;
-Landroid/icu/impl/DayPeriodRules;->dayPeriodForHour:[Landroid/icu/impl/DayPeriodRules$DayPeriod;
-Landroid/icu/impl/DayPeriodRules;->getEndHourForDayPeriod(Landroid/icu/impl/DayPeriodRules$DayPeriod;)I
-Landroid/icu/impl/DayPeriodRules;->getStartHourForDayPeriod(Landroid/icu/impl/DayPeriodRules$DayPeriod;)I
-Landroid/icu/impl/DayPeriodRules;->hasMidnight:Z
-Landroid/icu/impl/DayPeriodRules;->hasNoon:Z
-Landroid/icu/impl/DayPeriodRules;->loadData()Landroid/icu/impl/DayPeriodRules$DayPeriodRulesData;
-Landroid/icu/impl/DayPeriodRules;->parseSetNum(Ljava/lang/String;)I
-Landroid/icu/impl/ICUBinary$DataFile;
-Landroid/icu/impl/ICUBinary$DataFile;-><init>(Ljava/lang/String;)V
-Landroid/icu/impl/ICUBinary$DataFile;->addBaseNamesInFolder(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
-Landroid/icu/impl/ICUBinary$DataFile;->getData(Ljava/lang/String;)Ljava/nio/ByteBuffer;
-Landroid/icu/impl/ICUBinary$DataFile;->itemPath:Ljava/lang/String;
-Landroid/icu/impl/ICUBinary$DatPackageReader$IsAcceptable;
-Landroid/icu/impl/ICUBinary$DatPackageReader$IsAcceptable;-><init>()V
-Landroid/icu/impl/ICUBinary$DatPackageReader;
-Landroid/icu/impl/ICUBinary$DatPackageReader;-><init>()V
-Landroid/icu/impl/ICUBinary$DatPackageReader;->addBaseName(Ljava/nio/ByteBuffer;ILjava/lang/String;Ljava/lang/String;Ljava/lang/StringBuilder;Ljava/util/Set;)Z
-Landroid/icu/impl/ICUBinary$DatPackageReader;->addBaseNamesInFolder(Ljava/nio/ByteBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
-Landroid/icu/impl/ICUBinary$DatPackageReader;->binarySearch(Ljava/nio/ByteBuffer;Ljava/lang/CharSequence;)I
-Landroid/icu/impl/ICUBinary$DatPackageReader;->DATA_FORMAT:I
-Landroid/icu/impl/ICUBinary$DatPackageReader;->getData(Ljava/nio/ByteBuffer;Ljava/lang/CharSequence;)Ljava/nio/ByteBuffer;
-Landroid/icu/impl/ICUBinary$DatPackageReader;->getDataOffset(Ljava/nio/ByteBuffer;I)I
-Landroid/icu/impl/ICUBinary$DatPackageReader;->getNameOffset(Ljava/nio/ByteBuffer;I)I
-Landroid/icu/impl/ICUBinary$DatPackageReader;->IS_ACCEPTABLE:Landroid/icu/impl/ICUBinary$DatPackageReader$IsAcceptable;
-Landroid/icu/impl/ICUBinary$DatPackageReader;->startsWithPackageName(Ljava/nio/ByteBuffer;I)Z
-Landroid/icu/impl/ICUBinary$DatPackageReader;->validate(Ljava/nio/ByteBuffer;)Z
-Landroid/icu/impl/ICUBinary$PackageDataFile;
-Landroid/icu/impl/ICUBinary$PackageDataFile;-><init>(Ljava/lang/String;Ljava/nio/ByteBuffer;)V
-Landroid/icu/impl/ICUBinary$PackageDataFile;->addBaseNamesInFolder(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
-Landroid/icu/impl/ICUBinary$PackageDataFile;->getData(Ljava/lang/String;)Ljava/nio/ByteBuffer;
-Landroid/icu/impl/ICUBinary$PackageDataFile;->pkgBytes:Ljava/nio/ByteBuffer;
-Landroid/icu/impl/ICUBinary$SingleDataFile;
-Landroid/icu/impl/ICUBinary$SingleDataFile;-><init>(Ljava/lang/String;Ljava/io/File;)V
-Landroid/icu/impl/ICUBinary$SingleDataFile;->addBaseNamesInFolder(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
-Landroid/icu/impl/ICUBinary$SingleDataFile;->getData(Ljava/lang/String;)Ljava/nio/ByteBuffer;
-Landroid/icu/impl/ICUBinary$SingleDataFile;->path:Ljava/io/File;
-Landroid/icu/impl/ICUBinary;->addDataFilesFromFolder(Ljava/io/File;Ljava/lang/StringBuilder;Ljava/util/List;)V
-Landroid/icu/impl/ICUBinary;->addDataFilesFromPath(Ljava/lang/String;Ljava/util/List;)V
-Landroid/icu/impl/ICUBinary;->CHAR_SET_:B
-Landroid/icu/impl/ICUBinary;->CHAR_SIZE_:B
-Landroid/icu/impl/ICUBinary;->compareKeys(Ljava/lang/CharSequence;Ljava/nio/ByteBuffer;I)I
-Landroid/icu/impl/ICUBinary;->compareKeys(Ljava/lang/CharSequence;[BI)I
-Landroid/icu/impl/ICUBinary;->getData(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;Z)Ljava/nio/ByteBuffer;
-Landroid/icu/impl/ICUBinary;->getDataFromFile(Ljava/lang/String;)Ljava/nio/ByteBuffer;
-Landroid/icu/impl/ICUBinary;->HEADER_AUTHENTICATION_FAILED_:Ljava/lang/String;
-Landroid/icu/impl/ICUBinary;->icuDataFiles:Ljava/util/List;
-Landroid/icu/impl/ICUBinary;->MAGIC1:B
-Landroid/icu/impl/ICUBinary;->MAGIC2:B
-Landroid/icu/impl/ICUBinary;->MAGIC_NUMBER_AUTHENTICATION_FAILED_:Ljava/lang/String;
-Landroid/icu/impl/ICUBinary;->mapFile(Ljava/io/File;)Ljava/nio/ByteBuffer;
-Landroid/icu/impl/ICUResourceBundle$AvailEntry;
-Landroid/icu/impl/ICUResourceBundle$AvailEntry;-><init>(Ljava/lang/String;Ljava/lang/ClassLoader;)V
-Landroid/icu/impl/ICUResourceBundle$AvailEntry;->fullNameSet:Ljava/util/Set;
-Landroid/icu/impl/ICUResourceBundle$AvailEntry;->getFullLocaleNameSet()Ljava/util/Set;
-Landroid/icu/impl/ICUResourceBundle$AvailEntry;->getLocaleList()[Ljava/util/Locale;
-Landroid/icu/impl/ICUResourceBundle$AvailEntry;->getLocaleNameSet()Ljava/util/Set;
-Landroid/icu/impl/ICUResourceBundle$AvailEntry;->getULocaleList()[Landroid/icu/util/ULocale;
-Landroid/icu/impl/ICUResourceBundle$AvailEntry;->loader:Ljava/lang/ClassLoader;
-Landroid/icu/impl/ICUResourceBundle$AvailEntry;->locales:[Ljava/util/Locale;
-Landroid/icu/impl/ICUResourceBundle$AvailEntry;->nameSet:Ljava/util/Set;
-Landroid/icu/impl/ICUResourceBundle$AvailEntry;->prefix:Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundle$AvailEntry;->ulocales:[Landroid/icu/util/ULocale;
-Landroid/icu/impl/ICUResourceBundle$Loader;
-Landroid/icu/impl/ICUResourceBundle$Loader;-><init>()V
-Landroid/icu/impl/ICUResourceBundle$Loader;->load()Landroid/icu/impl/ICUResourceBundle;
-Landroid/icu/impl/ICUResourceBundle$OpenType;-><init>()V
-Landroid/icu/impl/ICUResourceBundle$WholeBundle;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Landroid/icu/impl/ICUResourceBundleReader;)V
-Landroid/icu/impl/ICUResourceBundle$WholeBundle;->baseName:Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundle$WholeBundle;->loader:Ljava/lang/ClassLoader;
-Landroid/icu/impl/ICUResourceBundle$WholeBundle;->localeID:Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundle$WholeBundle;->reader:Landroid/icu/impl/ICUResourceBundleReader;
-Landroid/icu/impl/ICUResourceBundle$WholeBundle;->topLevelKeys:Ljava/util/Set;
-Landroid/icu/impl/ICUResourceBundle$WholeBundle;->ulocale:Landroid/icu/util/ULocale;
-Landroid/icu/impl/ICUResourceBundle;->addBundleBaseNamesFromClassLoader(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/Set;)V
-Landroid/icu/impl/ICUResourceBundle;->addLocaleIDsFromIndexBundle(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/Set;)V
-Landroid/icu/impl/ICUResourceBundle;->addLocaleIDsFromListFile(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/Set;)V
-Landroid/icu/impl/ICUResourceBundle;->BUNDLE_CACHE:Landroid/icu/impl/CacheBase;
-Landroid/icu/impl/ICUResourceBundle;->container:Landroid/icu/impl/ICUResourceBundle;
-Landroid/icu/impl/ICUResourceBundle;->countPathKeys(Ljava/lang/String;)I
-Landroid/icu/impl/ICUResourceBundle;->createFullLocaleNameSet(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/util/Set;
-Landroid/icu/impl/ICUResourceBundle;->createLocaleNameSet(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/util/Set;
-Landroid/icu/impl/ICUResourceBundle;->createULocaleList(Ljava/lang/String;Ljava/lang/ClassLoader;)[Landroid/icu/util/ULocale;
-Landroid/icu/impl/ICUResourceBundle;->DEBUG:Z
-Landroid/icu/impl/ICUResourceBundle;->DEFAULT_TAG:Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundle;->findResourceWithFallback(Ljava/lang/String;Landroid/icu/util/UResourceBundle;Landroid/icu/util/UResourceBundle;)Landroid/icu/impl/ICUResourceBundle;
-Landroid/icu/impl/ICUResourceBundle;->findResourceWithFallback([Ljava/lang/String;ILandroid/icu/impl/ICUResourceBundle;Landroid/icu/util/UResourceBundle;)Landroid/icu/impl/ICUResourceBundle;
-Landroid/icu/impl/ICUResourceBundle;->findStringWithFallback(Ljava/lang/String;Landroid/icu/util/UResourceBundle;Landroid/icu/util/UResourceBundle;)Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundle;->FULL_LOCALE_NAMES_LIST:Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundle;->get(Ljava/lang/String;Ljava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/impl/ICUResourceBundle;
-Landroid/icu/impl/ICUResourceBundle;->getAllItemsWithFallback(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/ICUResourceBundleReader$ReaderValue;Landroid/icu/impl/UResource$Sink;)V
-Landroid/icu/impl/ICUResourceBundle;->getAvailEntry(Ljava/lang/String;Ljava/lang/ClassLoader;)Landroid/icu/impl/ICUResourceBundle$AvailEntry;
-Landroid/icu/impl/ICUResourceBundle;->getBundle(Landroid/icu/impl/ICUResourceBundleReader;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Landroid/icu/impl/ICUResourceBundle;
-Landroid/icu/impl/ICUResourceBundle;->getNoFallback()Z
-Landroid/icu/impl/ICUResourceBundle;->getResDepth()I
-Landroid/icu/impl/ICUResourceBundle;->getResPathKeys(Ljava/lang/String;I[Ljava/lang/String;I)V
-Landroid/icu/impl/ICUResourceBundle;->getResPathKeys([Ljava/lang/String;I)V
-Landroid/icu/impl/ICUResourceBundle;->GET_AVAILABLE_CACHE:Landroid/icu/impl/CacheBase;
-Landroid/icu/impl/ICUResourceBundle;->HYPHEN:C
-Landroid/icu/impl/ICUResourceBundle;->ICUDATA:Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundle;->ICU_RESOURCE_INDEX:Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundle;->instantiateBundle(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Landroid/icu/impl/ICUResourceBundle$OpenType;)Landroid/icu/impl/ICUResourceBundle;
-Landroid/icu/impl/ICUResourceBundle;->LOCALE:Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundle;->localeIDStartsWithLangSubtag(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/icu/impl/ICUResourceBundle;->RES_PATH_SEP_CHAR:C
-Landroid/icu/impl/ICUResourceBundle;->RES_PATH_SEP_STR:Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundle;->wholeBundle:Landroid/icu/impl/ICUResourceBundle$WholeBundle;
-Landroid/icu/impl/ICUResourceBundleReader$Array16;
-Landroid/icu/impl/ICUResourceBundleReader$Array16;-><init>(Landroid/icu/impl/ICUResourceBundleReader;I)V
-Landroid/icu/impl/ICUResourceBundleReader$Array16;->getContainerResource(Landroid/icu/impl/ICUResourceBundleReader;I)I
-Landroid/icu/impl/ICUResourceBundleReader$Array32;
-Landroid/icu/impl/ICUResourceBundleReader$Array32;-><init>(Landroid/icu/impl/ICUResourceBundleReader;I)V
-Landroid/icu/impl/ICUResourceBundleReader$Array32;->getContainerResource(Landroid/icu/impl/ICUResourceBundleReader;I)I
-Landroid/icu/impl/ICUResourceBundleReader$Array;
-Landroid/icu/impl/ICUResourceBundleReader$Array;-><init>()V
-Landroid/icu/impl/ICUResourceBundleReader$Container;
-Landroid/icu/impl/ICUResourceBundleReader$Container;-><init>()V
-Landroid/icu/impl/ICUResourceBundleReader$Container;->getContainer16Resource(Landroid/icu/impl/ICUResourceBundleReader;I)I
-Landroid/icu/impl/ICUResourceBundleReader$Container;->getContainer32Resource(Landroid/icu/impl/ICUResourceBundleReader;I)I
-Landroid/icu/impl/ICUResourceBundleReader$Container;->getContainerResource(Landroid/icu/impl/ICUResourceBundleReader;I)I
-Landroid/icu/impl/ICUResourceBundleReader$Container;->getResource(Landroid/icu/impl/ICUResourceBundleReader;Ljava/lang/String;)I
-Landroid/icu/impl/ICUResourceBundleReader$Container;->getSize()I
-Landroid/icu/impl/ICUResourceBundleReader$Container;->itemsOffset:I
-Landroid/icu/impl/ICUResourceBundleReader$Container;->size:I
-Landroid/icu/impl/ICUResourceBundleReader$IsAcceptable;
-Landroid/icu/impl/ICUResourceBundleReader$IsAcceptable;-><init>()V
-Landroid/icu/impl/ICUResourceBundleReader$ReaderCache;
-Landroid/icu/impl/ICUResourceBundleReader$ReaderCache;-><init>()V
-Landroid/icu/impl/ICUResourceBundleReader$ReaderCache;->createInstance(Landroid/icu/impl/ICUResourceBundleReader$ReaderCacheKey;Ljava/lang/ClassLoader;)Landroid/icu/impl/ICUResourceBundleReader;
-Landroid/icu/impl/ICUResourceBundleReader$ReaderCache;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/icu/impl/ICUResourceBundleReader$ReaderCacheKey;
-Landroid/icu/impl/ICUResourceBundleReader$ReaderCacheKey;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/impl/ICUResourceBundleReader$ReaderCacheKey;->baseName:Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundleReader$ReaderCacheKey;->localeID:Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundleReader$ReaderValue;
-Landroid/icu/impl/ICUResourceBundleReader$ReaderValue;-><init>()V
-Landroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getStringArray(Landroid/icu/impl/ICUResourceBundleReader$Array;)[Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundleReader$ReaderValue;->reader:Landroid/icu/impl/ICUResourceBundleReader;
-Landroid/icu/impl/ICUResourceBundleReader$ReaderValue;->res:I
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;-><init>(II)V
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->get(I)Ljava/lang/Object;
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->keys:[I
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->levelBitsList:I
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->mask:I
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->putIfAbsent(ILjava/lang/Object;I)Ljava/lang/Object;
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->shift:I
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->values:[Ljava/lang/Object;
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;-><init>(I)V
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;->findSimple(I)I
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;->get(I)Ljava/lang/Object;
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;->keys:[I
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;->length:I
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;->levelBitsList:I
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;->makeKey(I)I
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;->maxOffsetBits:I
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;->NEXT_BITS:I
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;->putIfAbsent(ILjava/lang/Object;I)Ljava/lang/Object;
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;->putIfCleared([Ljava/lang/Object;ILjava/lang/Object;I)Ljava/lang/Object;
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;->rootLevel:Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;->ROOT_BITS:I
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;->SIMPLE_LENGTH:I
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;->storeDirectly(I)Z
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;->values:[Ljava/lang/Object;
-Landroid/icu/impl/ICUResourceBundleReader$Table1632;
-Landroid/icu/impl/ICUResourceBundleReader$Table1632;-><init>(Landroid/icu/impl/ICUResourceBundleReader;I)V
-Landroid/icu/impl/ICUResourceBundleReader$Table1632;->getContainerResource(Landroid/icu/impl/ICUResourceBundleReader;I)I
-Landroid/icu/impl/ICUResourceBundleReader$Table16;
-Landroid/icu/impl/ICUResourceBundleReader$Table16;-><init>(Landroid/icu/impl/ICUResourceBundleReader;I)V
-Landroid/icu/impl/ICUResourceBundleReader$Table16;->getContainerResource(Landroid/icu/impl/ICUResourceBundleReader;I)I
-Landroid/icu/impl/ICUResourceBundleReader$Table32;
-Landroid/icu/impl/ICUResourceBundleReader$Table32;-><init>(Landroid/icu/impl/ICUResourceBundleReader;I)V
-Landroid/icu/impl/ICUResourceBundleReader$Table32;->getContainerResource(Landroid/icu/impl/ICUResourceBundleReader;I)I
-Landroid/icu/impl/ICUResourceBundleReader$Table;
-Landroid/icu/impl/ICUResourceBundleReader$Table;-><init>()V
-Landroid/icu/impl/ICUResourceBundleReader$Table;->findTableItem(Landroid/icu/impl/ICUResourceBundleReader;Ljava/lang/CharSequence;)I
-Landroid/icu/impl/ICUResourceBundleReader$Table;->getKey(Landroid/icu/impl/ICUResourceBundleReader;I)Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundleReader$Table;->getResource(Landroid/icu/impl/ICUResourceBundleReader;Ljava/lang/String;)I
-Landroid/icu/impl/ICUResourceBundleReader$Table;->key32Offsets:[I
-Landroid/icu/impl/ICUResourceBundleReader$Table;->keyOffsets:[C
-Landroid/icu/impl/ICUResourceBundleReader$Table;->URESDATA_ITEM_NOT_FOUND:I
-Landroid/icu/impl/ICUResourceBundleReader;-><init>()V
-Landroid/icu/impl/ICUResourceBundleReader;-><init>(Ljava/nio/ByteBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V
-Landroid/icu/impl/ICUResourceBundleReader;->b16BitUnits:Ljava/nio/CharBuffer;
-Landroid/icu/impl/ICUResourceBundleReader;->bytes:Ljava/nio/ByteBuffer;
-Landroid/icu/impl/ICUResourceBundleReader;->CACHE:Landroid/icu/impl/ICUResourceBundleReader$ReaderCache;
-Landroid/icu/impl/ICUResourceBundleReader;->compareKeys(Ljava/lang/CharSequence;C)I
-Landroid/icu/impl/ICUResourceBundleReader;->compareKeys32(Ljava/lang/CharSequence;I)I
-Landroid/icu/impl/ICUResourceBundleReader;->dataVersion:I
-Landroid/icu/impl/ICUResourceBundleReader;->DATA_FORMAT:I
-Landroid/icu/impl/ICUResourceBundleReader;->DEBUG:Z
-Landroid/icu/impl/ICUResourceBundleReader;->emptyByteBuffer:Ljava/nio/ByteBuffer;
-Landroid/icu/impl/ICUResourceBundleReader;->emptyBytes:[B
-Landroid/icu/impl/ICUResourceBundleReader;->emptyChars:[C
-Landroid/icu/impl/ICUResourceBundleReader;->emptyInts:[I
-Landroid/icu/impl/ICUResourceBundleReader;->emptyString:Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundleReader;->EMPTY_16_BIT_UNITS:Ljava/nio/CharBuffer;
-Landroid/icu/impl/ICUResourceBundleReader;->EMPTY_ARRAY:Landroid/icu/impl/ICUResourceBundleReader$Array;
-Landroid/icu/impl/ICUResourceBundleReader;->EMPTY_TABLE:Landroid/icu/impl/ICUResourceBundleReader$Table;
-Landroid/icu/impl/ICUResourceBundleReader;->getAlias(I)Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundleReader;->getArray(I)Landroid/icu/impl/ICUResourceBundleReader$Array;
-Landroid/icu/impl/ICUResourceBundleReader;->getBinary(I)Ljava/nio/ByteBuffer;
-Landroid/icu/impl/ICUResourceBundleReader;->getBinary(I[B)[B
-Landroid/icu/impl/ICUResourceBundleReader;->getChars(II)[C
-Landroid/icu/impl/ICUResourceBundleReader;->getIndexesInt(I)I
-Landroid/icu/impl/ICUResourceBundleReader;->getInt(I)I
-Landroid/icu/impl/ICUResourceBundleReader;->getInts(II)[I
-Landroid/icu/impl/ICUResourceBundleReader;->getIntVector(I)[I
-Landroid/icu/impl/ICUResourceBundleReader;->getKey16String(I)Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundleReader;->getKey32String(I)Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundleReader;->getNoFallback()Z
-Landroid/icu/impl/ICUResourceBundleReader;->getReader(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Landroid/icu/impl/ICUResourceBundleReader;
-Landroid/icu/impl/ICUResourceBundleReader;->getResourceByteOffset(I)I
-Landroid/icu/impl/ICUResourceBundleReader;->getRootResource()I
-Landroid/icu/impl/ICUResourceBundleReader;->getString(I)Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundleReader;->getStringV2(I)Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundleReader;->getTable(I)Landroid/icu/impl/ICUResourceBundleReader$Table;
-Landroid/icu/impl/ICUResourceBundleReader;->getTable16KeyOffsets(I)[C
-Landroid/icu/impl/ICUResourceBundleReader;->getTable32KeyOffsets(I)[I
-Landroid/icu/impl/ICUResourceBundleReader;->getTableKeyOffsets(I)[C
-Landroid/icu/impl/ICUResourceBundleReader;->getUsesPoolBundle()Z
-Landroid/icu/impl/ICUResourceBundleReader;->getVersion()Landroid/icu/util/VersionInfo;
-Landroid/icu/impl/ICUResourceBundleReader;->ICU_RESOURCE_SUFFIX:Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundleReader;->init(Ljava/nio/ByteBuffer;)V
-Landroid/icu/impl/ICUResourceBundleReader;->isNoInheritanceMarker(I)Z
-Landroid/icu/impl/ICUResourceBundleReader;->isPoolBundle:Z
-Landroid/icu/impl/ICUResourceBundleReader;->isStringV2NoInheritanceMarker(I)Z
-Landroid/icu/impl/ICUResourceBundleReader;->IS_ACCEPTABLE:Landroid/icu/impl/ICUResourceBundleReader$IsAcceptable;
-Landroid/icu/impl/ICUResourceBundleReader;->keyBytes:[B
-Landroid/icu/impl/ICUResourceBundleReader;->LARGE_SIZE:I
-Landroid/icu/impl/ICUResourceBundleReader;->localKeyLimit:I
-Landroid/icu/impl/ICUResourceBundleReader;->makeKeyStringFromBytes([BI)Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundleReader;->makeStringFromBytes(II)Ljava/lang/String;
-Landroid/icu/impl/ICUResourceBundleReader;->noFallback:Z
-Landroid/icu/impl/ICUResourceBundleReader;->NULL_READER:Landroid/icu/impl/ICUResourceBundleReader;
-Landroid/icu/impl/ICUResourceBundleReader;->poolBundleReader:Landroid/icu/impl/ICUResourceBundleReader;
-Landroid/icu/impl/ICUResourceBundleReader;->poolCheckSum:I
-Landroid/icu/impl/ICUResourceBundleReader;->poolStringIndex16Limit:I
-Landroid/icu/impl/ICUResourceBundleReader;->poolStringIndexLimit:I
-Landroid/icu/impl/ICUResourceBundleReader;->PUBLIC_TYPES:[I
-Landroid/icu/impl/ICUResourceBundleReader;->resourceCache:Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;
-Landroid/icu/impl/ICUResourceBundleReader;->RES_GET_INT(I)I
-Landroid/icu/impl/ICUResourceBundleReader;->RES_GET_OFFSET(I)I
-Landroid/icu/impl/ICUResourceBundleReader;->RES_GET_TYPE(I)I
-Landroid/icu/impl/ICUResourceBundleReader;->RES_GET_UINT(I)I
-Landroid/icu/impl/ICUResourceBundleReader;->rootRes:I
-Landroid/icu/impl/ICUResourceBundleReader;->setKeyFromKey16(ILandroid/icu/impl/UResource$Key;)V
-Landroid/icu/impl/ICUResourceBundleReader;->setKeyFromKey32(ILandroid/icu/impl/UResource$Key;)V
-Landroid/icu/impl/ICUResourceBundleReader;->URES_ATT_IS_POOL_BUNDLE:I
-Landroid/icu/impl/ICUResourceBundleReader;->URES_ATT_NO_FALLBACK:I
-Landroid/icu/impl/ICUResourceBundleReader;->URES_ATT_USES_POOL_BUNDLE:I
-Landroid/icu/impl/ICUResourceBundleReader;->URES_INDEX_16BIT_TOP:I
-Landroid/icu/impl/ICUResourceBundleReader;->URES_INDEX_ATTRIBUTES:I
-Landroid/icu/impl/ICUResourceBundleReader;->URES_INDEX_BUNDLE_TOP:I
-Landroid/icu/impl/ICUResourceBundleReader;->URES_INDEX_KEYS_TOP:I
-Landroid/icu/impl/ICUResourceBundleReader;->URES_INDEX_LENGTH:I
-Landroid/icu/impl/ICUResourceBundleReader;->URES_INDEX_MAX_TABLE_LENGTH:I
-Landroid/icu/impl/ICUResourceBundleReader;->URES_INDEX_POOL_CHECKSUM:I
-Landroid/icu/impl/ICUResourceBundleReader;->URES_IS_ARRAY(I)Z
-Landroid/icu/impl/ICUResourceBundleReader;->URES_IS_TABLE(I)Z
-Landroid/icu/impl/ICUResourceBundleReader;->usesPoolBundle:Z
-Landroid/icu/impl/locale/AsciiUtil$CaseInsensitiveKey;->_hash:I
-Landroid/icu/impl/locale/AsciiUtil$CaseInsensitiveKey;->_key:Ljava/lang/String;
-Landroid/icu/impl/locale/BaseLocale$Cache;
-Landroid/icu/impl/locale/BaseLocale$Cache;-><init>()V
-Landroid/icu/impl/locale/BaseLocale$Cache;->createObject(Landroid/icu/impl/locale/BaseLocale$Key;)Landroid/icu/impl/locale/BaseLocale;
-Landroid/icu/impl/locale/BaseLocale$Cache;->createObject(Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/icu/impl/locale/BaseLocale$Cache;->normalizeKey(Landroid/icu/impl/locale/BaseLocale$Key;)Landroid/icu/impl/locale/BaseLocale$Key;
-Landroid/icu/impl/locale/BaseLocale$Cache;->normalizeKey(Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/icu/impl/locale/BaseLocale$Key;
-Landroid/icu/impl/locale/BaseLocale$Key;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/impl/locale/BaseLocale$Key;->compareTo(Landroid/icu/impl/locale/BaseLocale$Key;)I
-Landroid/icu/impl/locale/BaseLocale$Key;->compareTo(Ljava/lang/Object;)I
-Landroid/icu/impl/locale/BaseLocale$Key;->normalize(Landroid/icu/impl/locale/BaseLocale$Key;)Landroid/icu/impl/locale/BaseLocale$Key;
-Landroid/icu/impl/locale/BaseLocale$Key;->_hash:I
-Landroid/icu/impl/locale/BaseLocale$Key;->_lang:Ljava/lang/String;
-Landroid/icu/impl/locale/BaseLocale$Key;->_regn:Ljava/lang/String;
-Landroid/icu/impl/locale/BaseLocale$Key;->_scrt:Ljava/lang/String;
-Landroid/icu/impl/locale/BaseLocale$Key;->_vart:Ljava/lang/String;
-Landroid/icu/impl/locale/BaseLocale;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/impl/locale/BaseLocale;->CACHE:Landroid/icu/impl/locale/BaseLocale$Cache;
-Landroid/icu/impl/locale/BaseLocale;->JDKIMPL:Z
-Landroid/icu/impl/locale/BaseLocale;->_hash:I
-Landroid/icu/impl/locale/BaseLocale;->_language:Ljava/lang/String;
-Landroid/icu/impl/locale/BaseLocale;->_region:Ljava/lang/String;
-Landroid/icu/impl/locale/BaseLocale;->_script:Ljava/lang/String;
-Landroid/icu/impl/locale/BaseLocale;->_variant:Ljava/lang/String;
-Landroid/icu/impl/locale/Extension;-><init>(CLjava/lang/String;)V
-Landroid/icu/impl/locale/Extension;->_key:C
-Landroid/icu/impl/locale/InternalLocaleBuilder$CaseInsensitiveChar;
-Landroid/icu/impl/locale/InternalLocaleBuilder$CaseInsensitiveChar;-><init>(C)V
-Landroid/icu/impl/locale/InternalLocaleBuilder$CaseInsensitiveChar;->value()C
-Landroid/icu/impl/locale/InternalLocaleBuilder$CaseInsensitiveChar;->_c:C
-Landroid/icu/impl/locale/InternalLocaleBuilder$CaseInsensitiveString;
-Landroid/icu/impl/locale/InternalLocaleBuilder$CaseInsensitiveString;-><init>(Ljava/lang/String;)V
-Landroid/icu/impl/locale/InternalLocaleBuilder$CaseInsensitiveString;->value()Ljava/lang/String;
-Landroid/icu/impl/locale/InternalLocaleBuilder$CaseInsensitiveString;->_s:Ljava/lang/String;
-Landroid/icu/impl/locale/InternalLocaleBuilder;->checkVariants(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/icu/impl/locale/InternalLocaleBuilder;->JDKIMPL:Z
-Landroid/icu/impl/locale/InternalLocaleBuilder;->PRIVUSE_KEY:Landroid/icu/impl/locale/InternalLocaleBuilder$CaseInsensitiveChar;
-Landroid/icu/impl/locale/InternalLocaleBuilder;->removePrivateuseVariant(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/impl/locale/InternalLocaleBuilder;->setExtensions(Ljava/util/List;Ljava/lang/String;)Landroid/icu/impl/locale/InternalLocaleBuilder;
-Landroid/icu/impl/locale/InternalLocaleBuilder;->setUnicodeLocaleExtension(Ljava/lang/String;)V
-Landroid/icu/impl/locale/InternalLocaleBuilder;->_extensions:Ljava/util/HashMap;
-Landroid/icu/impl/locale/InternalLocaleBuilder;->_language:Ljava/lang/String;
-Landroid/icu/impl/locale/InternalLocaleBuilder;->_region:Ljava/lang/String;
-Landroid/icu/impl/locale/InternalLocaleBuilder;->_script:Ljava/lang/String;
-Landroid/icu/impl/locale/InternalLocaleBuilder;->_uattributes:Ljava/util/HashSet;
-Landroid/icu/impl/locale/InternalLocaleBuilder;->_ukeywords:Ljava/util/HashMap;
-Landroid/icu/impl/locale/InternalLocaleBuilder;->_variant:Ljava/lang/String;
-Landroid/icu/impl/locale/LanguageTag;-><init>()V
-Landroid/icu/impl/locale/LanguageTag;->GRANDFATHERED:Ljava/util/Map;
-Landroid/icu/impl/locale/LanguageTag;->JDKIMPL:Z
-Landroid/icu/impl/locale/LanguageTag;->parseExtensions(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
-Landroid/icu/impl/locale/LanguageTag;->parseExtlangs(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
-Landroid/icu/impl/locale/LanguageTag;->parseLanguage(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
-Landroid/icu/impl/locale/LanguageTag;->parsePrivateuse(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
-Landroid/icu/impl/locale/LanguageTag;->parseRegion(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
-Landroid/icu/impl/locale/LanguageTag;->parseScript(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
-Landroid/icu/impl/locale/LanguageTag;->parseVariants(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
-Landroid/icu/impl/locale/LanguageTag;->_extensions:Ljava/util/List;
-Landroid/icu/impl/locale/LanguageTag;->_extlangs:Ljava/util/List;
-Landroid/icu/impl/locale/LanguageTag;->_language:Ljava/lang/String;
-Landroid/icu/impl/locale/LanguageTag;->_privateuse:Ljava/lang/String;
-Landroid/icu/impl/locale/LanguageTag;->_region:Ljava/lang/String;
-Landroid/icu/impl/locale/LanguageTag;->_script:Ljava/lang/String;
-Landroid/icu/impl/locale/LanguageTag;->_variants:Ljava/util/List;
-Landroid/icu/impl/locale/LocaleExtensions;-><init>()V
-Landroid/icu/impl/locale/LocaleExtensions;-><init>(Ljava/util/Map;Ljava/util/Set;Ljava/util/Map;)V
-Landroid/icu/impl/locale/LocaleExtensions;->EMPTY_MAP:Ljava/util/SortedMap;
-Landroid/icu/impl/locale/LocaleExtensions;->toID(Ljava/util/SortedMap;)Ljava/lang/String;
-Landroid/icu/impl/locale/LocaleExtensions;->_id:Ljava/lang/String;
-Landroid/icu/impl/locale/LocaleExtensions;->_map:Ljava/util/SortedMap;
-Landroid/icu/impl/locale/LocaleObjectCache$CacheEntry;
-Landroid/icu/impl/locale/LocaleObjectCache$CacheEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
-Landroid/icu/impl/locale/LocaleObjectCache$CacheEntry;->getKey()Ljava/lang/Object;
-Landroid/icu/impl/locale/LocaleObjectCache$CacheEntry;->_key:Ljava/lang/Object;
-Landroid/icu/impl/locale/LocaleObjectCache;->cleanStaleEntries()V
-Landroid/icu/impl/locale/LocaleObjectCache;->_map:Ljava/util/concurrent/ConcurrentHashMap;
-Landroid/icu/impl/locale/LocaleObjectCache;->_queue:Ljava/lang/ref/ReferenceQueue;
-Landroid/icu/impl/locale/LocaleSyntaxException;->_index:I
-Landroid/icu/impl/locale/ParseStatus;->_errorIndex:I
-Landroid/icu/impl/locale/ParseStatus;->_errorMsg:Ljava/lang/String;
-Landroid/icu/impl/locale/ParseStatus;->_parseLength:I
-Landroid/icu/impl/locale/StringTokenIterator;->nextDelimiter(I)I
-Landroid/icu/impl/locale/StringTokenIterator;->_dlms:Ljava/lang/String;
-Landroid/icu/impl/locale/StringTokenIterator;->_done:Z
-Landroid/icu/impl/locale/StringTokenIterator;->_end:I
-Landroid/icu/impl/locale/StringTokenIterator;->_start:I
-Landroid/icu/impl/locale/StringTokenIterator;->_text:Ljava/lang/String;
-Landroid/icu/impl/locale/StringTokenIterator;->_token:Ljava/lang/String;
-Landroid/icu/impl/locale/XCldrStub$HashMultimap;-><init>()V
-Landroid/icu/impl/locale/XCldrStub$Joiner;-><init>(Ljava/lang/String;)V
-Landroid/icu/impl/locale/XCldrStub$Joiner;->separator:Ljava/lang/String;
-Landroid/icu/impl/locale/XCldrStub$LinkedHashMultimap;-><init>()V
-Landroid/icu/impl/locale/XCldrStub$Multimap;-><init>(Ljava/util/Map;Ljava/lang/Class;)V
-Landroid/icu/impl/locale/XCldrStub$Multimap;->createSetIfMissing(Ljava/lang/Object;)Ljava/util/Set;
-Landroid/icu/impl/locale/XCldrStub$Multimap;->getInstance()Ljava/util/Set;
-Landroid/icu/impl/locale/XCldrStub$Multimap;->map:Ljava/util/Map;
-Landroid/icu/impl/locale/XCldrStub$Multimap;->setClass:Ljava/lang/Class;
-Landroid/icu/impl/locale/XCldrStub$MultimapIterator;
-Landroid/icu/impl/locale/XCldrStub$MultimapIterator;-><init>(Ljava/util/Map;)V
-Landroid/icu/impl/locale/XCldrStub$MultimapIterator;->entry:Landroid/icu/impl/locale/XCldrStub$ReusableEntry;
-Landroid/icu/impl/locale/XCldrStub$MultimapIterator;->it1:Ljava/util/Iterator;
-Landroid/icu/impl/locale/XCldrStub$MultimapIterator;->it2:Ljava/util/Iterator;
-Landroid/icu/impl/locale/XCldrStub$ReusableEntry;
-Landroid/icu/impl/locale/XCldrStub$ReusableEntry;-><init>()V
-Landroid/icu/impl/locale/XCldrStub$ReusableEntry;->key:Ljava/lang/Object;
-Landroid/icu/impl/locale/XCldrStub$ReusableEntry;->value:Ljava/lang/Object;
-Landroid/icu/impl/locale/XCldrStub$Splitter;->pattern:Ljava/util/regex/Pattern;
-Landroid/icu/impl/locale/XCldrStub$Splitter;->trimResults:Z
-Landroid/icu/impl/locale/XCldrStub$TreeMultimap;-><init>()V
-Landroid/icu/impl/locale/XLikelySubtags$Aliases;->toAliases:Landroid/icu/impl/locale/XCldrStub$Multimap;
-Landroid/icu/impl/locale/XLikelySubtags$Aliases;->toCanonical:Ljava/util/Map;
-Landroid/icu/impl/locale/XLikelySubtags$LSR;->from(Ljava/lang/String;)Landroid/icu/impl/locale/XLikelySubtags$LSR;
-Landroid/icu/impl/locale/XLikelySubtags$Maker;
-Landroid/icu/impl/locale/XLikelySubtags$Maker;-><init>()V
-Landroid/icu/impl/locale/XLikelySubtags$Maker;->getSubtable(Ljava/util/Map;Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/icu/impl/locale/XLikelySubtags$Maker;->HASHMAP:Landroid/icu/impl/locale/XLikelySubtags$Maker;
-Landroid/icu/impl/locale/XLikelySubtags$Maker;->make()Ljava/lang/Object;
-Landroid/icu/impl/locale/XLikelySubtags$Maker;->TREEMAP:Landroid/icu/impl/locale/XLikelySubtags$Maker;
-Landroid/icu/impl/locale/XLikelySubtags;->DEFAULT:Landroid/icu/impl/locale/XLikelySubtags;
-Landroid/icu/impl/locale/XLikelySubtags;->getDefaultRawData()Ljava/util/Map;
-Landroid/icu/impl/locale/XLikelySubtags;->init(Ljava/util/Map;Z)Ljava/util/Map;
-Landroid/icu/impl/locale/XLikelySubtags;->langTable:Ljava/util/Map;
-Landroid/icu/impl/locale/XLikelySubtags;->minimizeSubtags(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/icu/util/ULocale$Minimize;)Landroid/icu/impl/locale/XLikelySubtags$LSR;
-Landroid/icu/impl/locale/XLikelySubtags;->set(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/icu/impl/locale/XLikelySubtags$LSR;)V
-Landroid/icu/impl/locale/XLikelySubtags;->set(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
-Landroid/icu/impl/locale/XLikelySubtags;->show(Ljava/util/Map;Ljava/lang/String;Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
-Landroid/icu/impl/locale/XLocaleDistance$AddSub;
-Landroid/icu/impl/locale/XLocaleDistance$AddSub;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/icu/impl/locale/XLocaleDistance$StringDistanceTable;)V
-Landroid/icu/impl/locale/XLocaleDistance$AddSub;->desiredSub:Ljava/lang/String;
-Landroid/icu/impl/locale/XLocaleDistance$AddSub;->r:Landroid/icu/impl/locale/XLocaleDistance$CopyIfEmpty;
-Landroid/icu/impl/locale/XLocaleDistance$AddSub;->supportedSub:Ljava/lang/String;
-Landroid/icu/impl/locale/XLocaleDistance$AddSub;->test(Landroid/icu/impl/locale/XLocaleDistance$DistanceNode;)Z
-Landroid/icu/impl/locale/XLocaleDistance$AddSub;->test(Ljava/lang/Object;)Z
-Landroid/icu/impl/locale/XLocaleDistance$CompactAndImmutablizer;
-Landroid/icu/impl/locale/XLocaleDistance$CompactAndImmutablizer;-><init>()V
-Landroid/icu/impl/locale/XLocaleDistance$CompactAndImmutablizer;->compact(Landroid/icu/impl/locale/XLocaleDistance$DistanceNode;)Landroid/icu/impl/locale/XLocaleDistance$DistanceNode;
-Landroid/icu/impl/locale/XLocaleDistance$CompactAndImmutablizer;->compact(Landroid/icu/impl/locale/XLocaleDistance$StringDistanceTable;)Landroid/icu/impl/locale/XLocaleDistance$StringDistanceTable;
-Landroid/icu/impl/locale/XLocaleDistance$CompactAndImmutablizer;->compact(Ljava/util/Map;I)Ljava/util/Map;
-Landroid/icu/impl/locale/XLocaleDistance$CopyIfEmpty;
-Landroid/icu/impl/locale/XLocaleDistance$CopyIfEmpty;-><init>(Landroid/icu/impl/locale/XLocaleDistance$StringDistanceTable;)V
-Landroid/icu/impl/locale/XLocaleDistance$CopyIfEmpty;->test(Landroid/icu/impl/locale/XLocaleDistance$DistanceNode;)Z
-Landroid/icu/impl/locale/XLocaleDistance$CopyIfEmpty;->test(Ljava/lang/Object;)Z
-Landroid/icu/impl/locale/XLocaleDistance$CopyIfEmpty;->toCopy:Landroid/icu/impl/locale/XLocaleDistance$StringDistanceTable;
-Landroid/icu/impl/locale/XLocaleDistance$DistanceNode;->distance:I
-Landroid/icu/impl/locale/XLocaleDistance$DistanceOption;-><init>()V
-Landroid/icu/impl/locale/XLocaleDistance$DistanceTable;->getCloser(I)Ljava/util/Set;
-Landroid/icu/impl/locale/XLocaleDistance$DistanceTable;->getDistance(Ljava/lang/String;Ljava/lang/String;Landroid/icu/util/Output;Z)I
-Landroid/icu/impl/locale/XLocaleDistance$DistanceTable;->toString(Z)Ljava/lang/String;
-Landroid/icu/impl/locale/XLocaleDistance$IdMakerFull;
-Landroid/icu/impl/locale/XLocaleDistance$IdMakerFull;-><init>()V
-Landroid/icu/impl/locale/XLocaleDistance$IdMakerFull;-><init>(Ljava/lang/String;)V
-Landroid/icu/impl/locale/XLocaleDistance$IdMakerFull;-><init>(Ljava/lang/String;Ljava/lang/Object;)V
-Landroid/icu/impl/locale/XLocaleDistance$IdMakerFull;->add(Ljava/lang/Object;)Ljava/lang/Integer;
-Landroid/icu/impl/locale/XLocaleDistance$IdMakerFull;->fromId(I)Ljava/lang/Object;
-Landroid/icu/impl/locale/XLocaleDistance$IdMakerFull;->getOldAndAdd(Ljava/lang/Object;)Ljava/lang/Integer;
-Landroid/icu/impl/locale/XLocaleDistance$IdMakerFull;->intern(Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/icu/impl/locale/XLocaleDistance$IdMakerFull;->intToObject:Ljava/util/List;
-Landroid/icu/impl/locale/XLocaleDistance$IdMakerFull;->name:Ljava/lang/String;
-Landroid/icu/impl/locale/XLocaleDistance$IdMakerFull;->objectToInt:Ljava/util/Map;
-Landroid/icu/impl/locale/XLocaleDistance$IdMakerFull;->size()I
-Landroid/icu/impl/locale/XLocaleDistance$IdMakerFull;->toId(Ljava/lang/Object;)Ljava/lang/Integer;
-Landroid/icu/impl/locale/XLocaleDistance$IdMakerFull;->toId(Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/icu/impl/locale/XLocaleDistance$IdMapper;
-Landroid/icu/impl/locale/XLocaleDistance$IdMapper;->toId(Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/icu/impl/locale/XLocaleDistance$RegionMapper$Builder;
-Landroid/icu/impl/locale/XLocaleDistance$RegionMapper$Builder;-><init>()V
-Landroid/icu/impl/locale/XLocaleDistance$RegionMapper$Builder;->add(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/impl/locale/XLocaleDistance$RegionMapper$Builder;->addParadigms([[Ljava/lang/String;)Landroid/icu/impl/locale/XLocaleDistance$RegionMapper$Builder;
-Landroid/icu/impl/locale/XLocaleDistance$RegionMapper$Builder;->build()Landroid/icu/impl/locale/XLocaleDistance$RegionMapper;
-Landroid/icu/impl/locale/XLocaleDistance$RegionMapper$Builder;->paradigms:Ljava/util/Set;
-Landroid/icu/impl/locale/XLocaleDistance$RegionMapper$Builder;->regionSet:Landroid/icu/impl/locale/XLocaleDistance$RegionSet;
-Landroid/icu/impl/locale/XLocaleDistance$RegionMapper$Builder;->regionToRawPartition:Landroid/icu/impl/locale/XCldrStub$Multimap;
-Landroid/icu/impl/locale/XLocaleDistance$RegionMapper;
-Landroid/icu/impl/locale/XLocaleDistance$RegionMapper;-><init>(Landroid/icu/impl/locale/XCldrStub$Multimap;Ljava/util/Map;Landroid/icu/impl/locale/XCldrStub$Multimap;Ljava/util/Set;)V
-Landroid/icu/impl/locale/XLocaleDistance$RegionMapper;->getIdsFromVariable(Ljava/lang/String;)Ljava/util/Collection;
-Landroid/icu/impl/locale/XLocaleDistance$RegionMapper;->macroToPartitions:Landroid/icu/impl/locale/XCldrStub$Multimap;
-Landroid/icu/impl/locale/XLocaleDistance$RegionMapper;->paradigms:Ljava/util/Set;
-Landroid/icu/impl/locale/XLocaleDistance$RegionMapper;->regions()Ljava/util/Set;
-Landroid/icu/impl/locale/XLocaleDistance$RegionMapper;->regionToPartition:Ljava/util/Map;
-Landroid/icu/impl/locale/XLocaleDistance$RegionMapper;->toId(Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/icu/impl/locale/XLocaleDistance$RegionMapper;->toId(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/impl/locale/XLocaleDistance$RegionMapper;->variables()Ljava/util/Set;
-Landroid/icu/impl/locale/XLocaleDistance$RegionMapper;->variableToPartition:Landroid/icu/impl/locale/XCldrStub$Multimap;
-Landroid/icu/impl/locale/XLocaleDistance$RegionSet$Operation;
-Landroid/icu/impl/locale/XLocaleDistance$RegionSet$Operation;-><init>()V
-Landroid/icu/impl/locale/XLocaleDistance$RegionSet$Operation;->add:Landroid/icu/impl/locale/XLocaleDistance$RegionSet$Operation;
-Landroid/icu/impl/locale/XLocaleDistance$RegionSet$Operation;->remove:Landroid/icu/impl/locale/XLocaleDistance$RegionSet$Operation;
-Landroid/icu/impl/locale/XLocaleDistance$RegionSet$Operation;->valueOf(Ljava/lang/String;)Landroid/icu/impl/locale/XLocaleDistance$RegionSet$Operation;
-Landroid/icu/impl/locale/XLocaleDistance$RegionSet$Operation;->values()[Landroid/icu/impl/locale/XLocaleDistance$RegionSet$Operation;
-Landroid/icu/impl/locale/XLocaleDistance$RegionSet;
-Landroid/icu/impl/locale/XLocaleDistance$RegionSet;-><init>()V
-Landroid/icu/impl/locale/XLocaleDistance$RegionSet;->add(Ljava/lang/String;II)V
-Landroid/icu/impl/locale/XLocaleDistance$RegionSet;->changeSet(Landroid/icu/impl/locale/XLocaleDistance$RegionSet$Operation;Ljava/lang/String;)V
-Landroid/icu/impl/locale/XLocaleDistance$RegionSet;->inverse()Ljava/util/Set;
-Landroid/icu/impl/locale/XLocaleDistance$RegionSet;->operation:Landroid/icu/impl/locale/XLocaleDistance$RegionSet$Operation;
-Landroid/icu/impl/locale/XLocaleDistance$RegionSet;->parseSet(Ljava/lang/String;)Ljava/util/Set;
-Landroid/icu/impl/locale/XLocaleDistance$RegionSet;->tempRegions:Ljava/util/Set;
-Landroid/icu/impl/locale/XLocaleDistance$StringDistanceNode;
-Landroid/icu/impl/locale/XLocaleDistance$StringDistanceNode;-><init>(I)V
-Landroid/icu/impl/locale/XLocaleDistance$StringDistanceNode;-><init>(ILandroid/icu/impl/locale/XLocaleDistance$DistanceTable;)V
-Landroid/icu/impl/locale/XLocaleDistance$StringDistanceNode;->addSubtables(Ljava/lang/String;Ljava/lang/String;Landroid/icu/impl/locale/XLocaleDistance$CopyIfEmpty;)V
-Landroid/icu/impl/locale/XLocaleDistance$StringDistanceNode;->copyTables(Landroid/icu/impl/locale/XLocaleDistance$StringDistanceTable;)V
-Landroid/icu/impl/locale/XLocaleDistance$StringDistanceNode;->distanceTable:Landroid/icu/impl/locale/XLocaleDistance$DistanceTable;
-Landroid/icu/impl/locale/XLocaleDistance$StringDistanceTable;-><init>()V
-Landroid/icu/impl/locale/XLocaleDistance$StringDistanceTable;-><init>(Ljava/util/Map;)V
-Landroid/icu/impl/locale/XLocaleDistance$StringDistanceTable;->addSubtable(Ljava/lang/String;Ljava/lang/String;I)Landroid/icu/impl/locale/XLocaleDistance$DistanceNode;
-Landroid/icu/impl/locale/XLocaleDistance$StringDistanceTable;->getNode(Ljava/lang/String;Ljava/lang/String;)Landroid/icu/impl/locale/XLocaleDistance$DistanceNode;
-Landroid/icu/impl/locale/XLocaleDistance$StringDistanceTable;->subtables:Ljava/util/Map;
-Landroid/icu/impl/locale/XLocaleDistance;->ALL_FINAL_REGIONS:Ljava/util/Set;
-Landroid/icu/impl/locale/XLocaleDistance;->CONTAINER_TO_CONTAINED:Landroid/icu/impl/locale/XCldrStub$Multimap;
-Landroid/icu/impl/locale/XLocaleDistance;->CONTAINER_TO_CONTAINED_FINAL:Landroid/icu/impl/locale/XCldrStub$Multimap;
-Landroid/icu/impl/locale/XLocaleDistance;->DEFAULT:Landroid/icu/impl/locale/XLocaleDistance;
-Landroid/icu/impl/locale/XLocaleDistance;->defaultLanguageDistance:I
-Landroid/icu/impl/locale/XLocaleDistance;->defaultRegionDistance:I
-Landroid/icu/impl/locale/XLocaleDistance;->defaultScriptDistance:I
-Landroid/icu/impl/locale/XLocaleDistance;->english:Landroid/icu/text/LocaleDisplayNames;
-Landroid/icu/impl/locale/XLocaleDistance;->fill(Ljava/lang/String;Landroid/icu/impl/locale/XCldrStub$TreeMultimap;Landroid/icu/impl/locale/XCldrStub$Multimap;)Ljava/util/Set;
-Landroid/icu/impl/locale/XLocaleDistance;->fixAny(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/impl/locale/XLocaleDistance;->fixedName(Ljava/util/List;)Ljava/lang/String;
-Landroid/icu/impl/locale/XLocaleDistance;->getContainingMacrosFor(Ljava/util/Collection;Ljava/util/Set;)Ljava/util/Set;
-Landroid/icu/impl/locale/XLocaleDistance;->languageDesired2Supported:Landroid/icu/impl/locale/XLocaleDistance$DistanceTable;
-Landroid/icu/impl/locale/XLocaleDistance;->newMap()Ljava/util/Map;
-Landroid/icu/impl/locale/XLocaleDistance;->printMatchXml(Ljava/util/List;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Boolean;)V
-Landroid/icu/impl/locale/XLocaleDistance;->PRINT_OVERRIDES:Z
-Landroid/icu/impl/locale/XLocaleDistance;->regionMapper:Landroid/icu/impl/locale/XLocaleDistance$RegionMapper;
-Landroid/icu/impl/locale/XLocaleDistance;->xGetContainment()Landroid/icu/impl/locale/XCldrStub$Multimap;
-Landroid/icu/impl/locale/XLocaleDistance;->xGetLanguageMatcherData()Ljava/util/List;
-Landroid/icu/impl/locale/XLocaleDistance;->xGetMatchVariables()Ljava/util/Map;
-Landroid/icu/impl/locale/XLocaleDistance;->xGetParadigmLocales()Ljava/util/Set;
-Landroid/icu/impl/locale/XLocaleMatcher$Builder;->defaultLanguage:Landroid/icu/util/ULocale;
-Landroid/icu/impl/locale/XLocaleMatcher$Builder;->demotionPerAdditionalDesiredLocale:I
-Landroid/icu/impl/locale/XLocaleMatcher$Builder;->distanceOption:Landroid/icu/impl/locale/XLocaleDistance$DistanceOption;
-Landroid/icu/impl/locale/XLocaleMatcher$Builder;->localeDistance:Landroid/icu/impl/locale/XLocaleDistance;
-Landroid/icu/impl/locale/XLocaleMatcher$Builder;->supportedLanguagesList:Ljava/util/Set;
-Landroid/icu/impl/locale/XLocaleMatcher$Builder;->thresholdDistance:I
-Landroid/icu/impl/locale/XLocaleMatcher;-><init>(Landroid/icu/impl/locale/XLocaleMatcher$Builder;)V
-Landroid/icu/impl/locale/XLocaleMatcher;->asSet(Landroid/icu/util/LocalePriorityList;)Ljava/util/Set;
-Landroid/icu/impl/locale/XLocaleMatcher;->defaultLanguage:Landroid/icu/util/ULocale;
-Landroid/icu/impl/locale/XLocaleMatcher;->demotionPerAdditionalDesiredLocale:I
-Landroid/icu/impl/locale/XLocaleMatcher;->distanceOption:Landroid/icu/impl/locale/XLocaleDistance$DistanceOption;
-Landroid/icu/impl/locale/XLocaleMatcher;->exactSupportedLocales:Ljava/util/Set;
-Landroid/icu/impl/locale/XLocaleMatcher;->extractLsrMap(Ljava/util/Set;Ljava/util/Set;)Landroid/icu/impl/locale/XCldrStub$Multimap;
-Landroid/icu/impl/locale/XLocaleMatcher;->extractLsrSet(Ljava/util/Set;)Ljava/util/Set;
-Landroid/icu/impl/locale/XLocaleMatcher;->localeDistance:Landroid/icu/impl/locale/XLocaleDistance;
-Landroid/icu/impl/locale/XLocaleMatcher;->supportedLanguages:Ljava/util/Map;
-Landroid/icu/impl/locale/XLocaleMatcher;->thresholdDistance:I
-Landroid/icu/impl/locale/XLocaleMatcher;->UND:Landroid/icu/impl/locale/XLikelySubtags$LSR;
-Landroid/icu/impl/locale/XLocaleMatcher;->UND_LOCALE:Landroid/icu/util/ULocale;
-Landroid/icu/impl/Normalizer2Impl$IsAcceptable;
-Landroid/icu/impl/Normalizer2Impl$IsAcceptable;-><init>()V
-Landroid/icu/impl/Normalizer2Impl$ReorderingBuffer;->app:Ljava/lang/Appendable;
-Landroid/icu/impl/Normalizer2Impl$ReorderingBuffer;->appIsStringBuilder:Z
-Landroid/icu/impl/Normalizer2Impl$ReorderingBuffer;->codePointLimit:I
-Landroid/icu/impl/Normalizer2Impl$ReorderingBuffer;->codePointStart:I
-Landroid/icu/impl/Normalizer2Impl$ReorderingBuffer;->impl:Landroid/icu/impl/Normalizer2Impl;
-Landroid/icu/impl/Normalizer2Impl$ReorderingBuffer;->insert(II)V
-Landroid/icu/impl/Normalizer2Impl$ReorderingBuffer;->lastCC:I
-Landroid/icu/impl/Normalizer2Impl$ReorderingBuffer;->previousCC()I
-Landroid/icu/impl/Normalizer2Impl$ReorderingBuffer;->reorderStart:I
-Landroid/icu/impl/Normalizer2Impl$ReorderingBuffer;->setIterator()V
-Landroid/icu/impl/Normalizer2Impl$ReorderingBuffer;->skipPrevious()V
-Landroid/icu/impl/Normalizer2Impl$ReorderingBuffer;->str:Ljava/lang/StringBuilder;
-Landroid/icu/impl/Normalizer2Impl;->addComposites(ILandroid/icu/text/UnicodeSet;)V
-Landroid/icu/impl/Normalizer2Impl;->addToStartSet(Landroid/icu/impl/Trie2Writable;II)V
-Landroid/icu/impl/Normalizer2Impl;->canonIterData:Landroid/icu/impl/Trie2_32;
-Landroid/icu/impl/Normalizer2Impl;->canonStartSets:Ljava/util/ArrayList;
-Landroid/icu/impl/Normalizer2Impl;->CANON_HAS_COMPOSITIONS:I
-Landroid/icu/impl/Normalizer2Impl;->CANON_HAS_SET:I
-Landroid/icu/impl/Normalizer2Impl;->CANON_NOT_SEGMENT_STARTER:I
-Landroid/icu/impl/Normalizer2Impl;->CANON_VALUE_MASK:I
-Landroid/icu/impl/Normalizer2Impl;->centerNoNoDelta:I
-Landroid/icu/impl/Normalizer2Impl;->combine(Ljava/lang/String;II)I
-Landroid/icu/impl/Normalizer2Impl;->dataVersion:Landroid/icu/util/VersionInfo;
-Landroid/icu/impl/Normalizer2Impl;->DATA_FORMAT:I
-Landroid/icu/impl/Normalizer2Impl;->decompose(IILandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;)V
-Landroid/icu/impl/Normalizer2Impl;->decomposeShort(Ljava/lang/CharSequence;IIZZLandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;)I
-Landroid/icu/impl/Normalizer2Impl;->enumLcccRange(IIILandroid/icu/text/UnicodeSet;)V
-Landroid/icu/impl/Normalizer2Impl;->enumNorm16PropertyStartsRange(IIILandroid/icu/text/UnicodeSet;)V
-Landroid/icu/impl/Normalizer2Impl;->extraData:Ljava/lang/String;
-Landroid/icu/impl/Normalizer2Impl;->findNextCompBoundary(Ljava/lang/CharSequence;IIZ)I
-Landroid/icu/impl/Normalizer2Impl;->findNextFCDBoundary(Ljava/lang/CharSequence;II)I
-Landroid/icu/impl/Normalizer2Impl;->findPreviousCompBoundary(Ljava/lang/CharSequence;IZ)I
-Landroid/icu/impl/Normalizer2Impl;->findPreviousFCDBoundary(Ljava/lang/CharSequence;I)I
-Landroid/icu/impl/Normalizer2Impl;->getCCFromNoNo(I)I
-Landroid/icu/impl/Normalizer2Impl;->getCompositionsList(I)I
-Landroid/icu/impl/Normalizer2Impl;->getCompositionsListForComposite(I)I
-Landroid/icu/impl/Normalizer2Impl;->getCompositionsListForDecompYes(I)I
-Landroid/icu/impl/Normalizer2Impl;->getCompositionsListForMaybe(I)I
-Landroid/icu/impl/Normalizer2Impl;->getPreviousTrailCC(Ljava/lang/CharSequence;II)I
-Landroid/icu/impl/Normalizer2Impl;->getTrailCCFromCompYesAndZeroCC(I)I
-Landroid/icu/impl/Normalizer2Impl;->hangulLVT()I
-Landroid/icu/impl/Normalizer2Impl;->hasCompBoundaryAfter(Ljava/lang/CharSequence;IIZ)Z
-Landroid/icu/impl/Normalizer2Impl;->hasCompBoundaryBefore(II)Z
-Landroid/icu/impl/Normalizer2Impl;->hasCompBoundaryBefore(Ljava/lang/CharSequence;II)Z
-Landroid/icu/impl/Normalizer2Impl;->isCompYesAndZeroCC(I)Z
-Landroid/icu/impl/Normalizer2Impl;->isDecompNoAlgorithmic(I)Z
-Landroid/icu/impl/Normalizer2Impl;->isDecompYesAndZeroCC(I)Z
-Landroid/icu/impl/Normalizer2Impl;->isHangulLV(I)Z
-Landroid/icu/impl/Normalizer2Impl;->isHangulLVT(I)Z
-Landroid/icu/impl/Normalizer2Impl;->isInert(I)Z
-Landroid/icu/impl/Normalizer2Impl;->isJamoL(I)Z
-Landroid/icu/impl/Normalizer2Impl;->isJamoVT(I)Z
-Landroid/icu/impl/Normalizer2Impl;->isMaybe(I)Z
-Landroid/icu/impl/Normalizer2Impl;->isMaybeOrNonZeroCC(I)Z
-Landroid/icu/impl/Normalizer2Impl;->isMostDecompYesAndZeroCC(I)Z
-Landroid/icu/impl/Normalizer2Impl;->isTrailCC01ForCompBoundaryAfter(I)Z
-Landroid/icu/impl/Normalizer2Impl;->IS_ACCEPTABLE:Landroid/icu/impl/Normalizer2Impl$IsAcceptable;
-Landroid/icu/impl/Normalizer2Impl;->limitNoNo:I
-Landroid/icu/impl/Normalizer2Impl;->mapAlgorithmic(II)I
-Landroid/icu/impl/Normalizer2Impl;->maybeYesCompositions:Ljava/lang/String;
-Landroid/icu/impl/Normalizer2Impl;->minCompNoMaybeCP:I
-Landroid/icu/impl/Normalizer2Impl;->minDecompNoCP:I
-Landroid/icu/impl/Normalizer2Impl;->minLcccCP:I
-Landroid/icu/impl/Normalizer2Impl;->minMaybeYes:I
-Landroid/icu/impl/Normalizer2Impl;->minNoNo:I
-Landroid/icu/impl/Normalizer2Impl;->minNoNoCompBoundaryBefore:I
-Landroid/icu/impl/Normalizer2Impl;->minNoNoCompNoMaybeCC:I
-Landroid/icu/impl/Normalizer2Impl;->minNoNoEmpty:I
-Landroid/icu/impl/Normalizer2Impl;->minYesNo:I
-Landroid/icu/impl/Normalizer2Impl;->minYesNoMappingsOnly:I
-Landroid/icu/impl/Normalizer2Impl;->norm16HasCompBoundaryAfter(IZ)Z
-Landroid/icu/impl/Normalizer2Impl;->norm16HasCompBoundaryBefore(I)Z
-Landroid/icu/impl/Normalizer2Impl;->normTrie:Landroid/icu/impl/Trie2_16;
-Landroid/icu/impl/Normalizer2Impl;->recompose(Landroid/icu/impl/Normalizer2Impl$ReorderingBuffer;IZ)V
-Landroid/icu/impl/Normalizer2Impl;->segmentStarterMapper:Landroid/icu/impl/Trie2$ValueMapper;
-Landroid/icu/impl/Normalizer2Impl;->smallFCD:[B
-Landroid/icu/impl/number/AffixUtils;->getCodePoint(J)I
-Landroid/icu/impl/number/AffixUtils;->getOffset(J)I
-Landroid/icu/impl/number/AffixUtils;->getState(J)I
-Landroid/icu/impl/number/AffixUtils;->getType(J)I
-Landroid/icu/impl/number/AffixUtils;->makeTag(IIII)J
-Landroid/icu/impl/number/AffixUtils;->STATE_AFTER_QUOTE:I
-Landroid/icu/impl/number/AffixUtils;->STATE_BASE:I
-Landroid/icu/impl/number/AffixUtils;->STATE_FIFTH_CURR:I
-Landroid/icu/impl/number/AffixUtils;->STATE_FIRST_CURR:I
-Landroid/icu/impl/number/AffixUtils;->STATE_FIRST_QUOTE:I
-Landroid/icu/impl/number/AffixUtils;->STATE_FOURTH_CURR:I
-Landroid/icu/impl/number/AffixUtils;->STATE_INSIDE_QUOTE:I
-Landroid/icu/impl/number/AffixUtils;->STATE_OVERFLOW_CURR:I
-Landroid/icu/impl/number/AffixUtils;->STATE_SECOND_CURR:I
-Landroid/icu/impl/number/AffixUtils;->STATE_THIRD_CURR:I
-Landroid/icu/impl/number/AffixUtils;->TYPE_CODEPOINT:I
-Landroid/icu/impl/number/CompactData$CompactDataSink;
-Landroid/icu/impl/number/CompactData$CompactDataSink;-><init>(Landroid/icu/impl/number/CompactData;)V
-Landroid/icu/impl/number/CompactData$CompactDataSink;->data:Landroid/icu/impl/number/CompactData;
-Landroid/icu/impl/number/CompactData$CompactType;-><init>()V
-Landroid/icu/impl/number/CompactData;->COMPACT_MAX_DIGITS:I
-Landroid/icu/impl/number/CompactData;->countZeros(Ljava/lang/String;)I
-Landroid/icu/impl/number/CompactData;->getIndex(ILandroid/icu/impl/StandardPlural;)I
-Landroid/icu/impl/number/CompactData;->getResourceBundleKey(Ljava/lang/String;Landroid/icu/text/CompactDecimalFormat$CompactStyle;Landroid/icu/impl/number/CompactData$CompactType;Ljava/lang/StringBuilder;)V
-Landroid/icu/impl/number/CompactData;->isEmpty:Z
-Landroid/icu/impl/number/CompactData;->largestMagnitude:B
-Landroid/icu/impl/number/CompactData;->multipliers:[B
-Landroid/icu/impl/number/CompactData;->patterns:[Ljava/lang/String;
-Landroid/icu/impl/number/CompactData;->USE_FALLBACK:Ljava/lang/String;
-Landroid/icu/impl/number/ConstantMultiFieldModifier;->strong:Z
-Landroid/icu/impl/number/DecimalFormatProperties;->compactCustomData:Ljava/util/Map;
-Landroid/icu/impl/number/DecimalFormatProperties;->compactStyle:Landroid/icu/text/CompactDecimalFormat$CompactStyle;
-Landroid/icu/impl/number/DecimalFormatProperties;->currency:Landroid/icu/util/Currency;
-Landroid/icu/impl/number/DecimalFormatProperties;->currencyPluralInfo:Landroid/icu/text/CurrencyPluralInfo;
-Landroid/icu/impl/number/DecimalFormatProperties;->currencyUsage:Landroid/icu/util/Currency$CurrencyUsage;
-Landroid/icu/impl/number/DecimalFormatProperties;->decimalPatternMatchRequired:Z
-Landroid/icu/impl/number/DecimalFormatProperties;->decimalSeparatorAlwaysShown:Z
-Landroid/icu/impl/number/DecimalFormatProperties;->DEFAULT:Landroid/icu/impl/number/DecimalFormatProperties;
-Landroid/icu/impl/number/DecimalFormatProperties;->exponentSignAlwaysShown:Z
-Landroid/icu/impl/number/DecimalFormatProperties;->formatWidth:I
-Landroid/icu/impl/number/DecimalFormatProperties;->groupingSize:I
-Landroid/icu/impl/number/DecimalFormatProperties;->magnitudeMultiplier:I
-Landroid/icu/impl/number/DecimalFormatProperties;->mathContext:Ljava/math/MathContext;
-Landroid/icu/impl/number/DecimalFormatProperties;->maximumFractionDigits:I
-Landroid/icu/impl/number/DecimalFormatProperties;->maximumIntegerDigits:I
-Landroid/icu/impl/number/DecimalFormatProperties;->maximumSignificantDigits:I
-Landroid/icu/impl/number/DecimalFormatProperties;->minimumExponentDigits:I
-Landroid/icu/impl/number/DecimalFormatProperties;->minimumFractionDigits:I
-Landroid/icu/impl/number/DecimalFormatProperties;->minimumGroupingDigits:I
-Landroid/icu/impl/number/DecimalFormatProperties;->minimumIntegerDigits:I
-Landroid/icu/impl/number/DecimalFormatProperties;->minimumSignificantDigits:I
-Landroid/icu/impl/number/DecimalFormatProperties;->multiplier:Ljava/math/BigDecimal;
-Landroid/icu/impl/number/DecimalFormatProperties;->negativePrefix:Ljava/lang/String;
-Landroid/icu/impl/number/DecimalFormatProperties;->negativePrefixPattern:Ljava/lang/String;
-Landroid/icu/impl/number/DecimalFormatProperties;->negativeSuffix:Ljava/lang/String;
-Landroid/icu/impl/number/DecimalFormatProperties;->negativeSuffixPattern:Ljava/lang/String;
-Landroid/icu/impl/number/DecimalFormatProperties;->padPosition:Landroid/icu/impl/number/Padder$PadPosition;
-Landroid/icu/impl/number/DecimalFormatProperties;->padString:Ljava/lang/String;
-Landroid/icu/impl/number/DecimalFormatProperties;->parseCaseSensitive:Z
-Landroid/icu/impl/number/DecimalFormatProperties;->parseGroupingMode:Landroid/icu/impl/number/Parse$GroupingMode;
-Landroid/icu/impl/number/DecimalFormatProperties;->parseIntegerOnly:Z
-Landroid/icu/impl/number/DecimalFormatProperties;->parseMode:Landroid/icu/impl/number/Parse$ParseMode;
-Landroid/icu/impl/number/DecimalFormatProperties;->parseNoExponent:Z
-Landroid/icu/impl/number/DecimalFormatProperties;->parseToBigDecimal:Z
-Landroid/icu/impl/number/DecimalFormatProperties;->pluralRules:Landroid/icu/text/PluralRules;
-Landroid/icu/impl/number/DecimalFormatProperties;->positivePrefix:Ljava/lang/String;
-Landroid/icu/impl/number/DecimalFormatProperties;->positivePrefixPattern:Ljava/lang/String;
-Landroid/icu/impl/number/DecimalFormatProperties;->positiveSuffix:Ljava/lang/String;
-Landroid/icu/impl/number/DecimalFormatProperties;->positiveSuffixPattern:Ljava/lang/String;
-Landroid/icu/impl/number/DecimalFormatProperties;->readObjectImpl(Ljava/io/ObjectInputStream;)V
-Landroid/icu/impl/number/DecimalFormatProperties;->roundingIncrement:Ljava/math/BigDecimal;
-Landroid/icu/impl/number/DecimalFormatProperties;->roundingMode:Ljava/math/RoundingMode;
-Landroid/icu/impl/number/DecimalFormatProperties;->secondaryGroupingSize:I
-Landroid/icu/impl/number/DecimalFormatProperties;->signAlwaysShown:Z
-Landroid/icu/impl/number/DecimalFormatProperties;->writeObjectImpl(Ljava/io/ObjectOutputStream;)V
-Landroid/icu/impl/number/DecimalFormatProperties;->_clear()Landroid/icu/impl/number/DecimalFormatProperties;
-Landroid/icu/impl/number/DecimalFormatProperties;->_copyFrom(Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/impl/number/DecimalFormatProperties;
-Landroid/icu/impl/number/DecimalFormatProperties;->_equals(Landroid/icu/impl/number/DecimalFormatProperties;)Z
-Landroid/icu/impl/number/DecimalFormatProperties;->_equalsHelper(II)Z
-Landroid/icu/impl/number/DecimalFormatProperties;->_equalsHelper(Ljava/lang/Object;Ljava/lang/Object;)Z
-Landroid/icu/impl/number/DecimalFormatProperties;->_equalsHelper(ZZ)Z
-Landroid/icu/impl/number/DecimalFormatProperties;->_hashCode()I
-Landroid/icu/impl/number/DecimalFormatProperties;->_hashCodeHelper(I)I
-Landroid/icu/impl/number/DecimalFormatProperties;->_hashCodeHelper(Ljava/lang/Object;)I
-Landroid/icu/impl/number/DecimalFormatProperties;->_hashCodeHelper(Z)I
-Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;->convertToAccurateDouble()V
-Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;->DOUBLE_MULTIPLIERS:[D
-Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;->fractionCount()I
-Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;->fractionCountWithoutTrailingZeros()I
-Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;->safeSubtract(II)I
-Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;->SECTION_LOWER_EDGE:I
-Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;->SECTION_UPPER_EDGE:I
-Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;->_setToBigDecimal(Ljava/math/BigDecimal;)V
-Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;->_setToBigInteger(Ljava/math/BigInteger;)V
-Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;->_setToDoubleFast(D)V
-Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;->_setToInt(I)V
-Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;->_setToLong(J)V
-Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD;->bcdBytes:[B
-Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD;->bcdLong:J
-Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD;->ensureCapacity()V
-Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD;->ensureCapacity(I)V
-Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD;->switchStorage()V
-Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD;->usingBytes:Z
-Landroid/icu/impl/number/MicroProps;->exhausted:Z
-Landroid/icu/impl/number/MicroProps;->immutable:Z
-Landroid/icu/impl/number/MultiplierImpl;-><init>(Landroid/icu/impl/number/MultiplierImpl;Landroid/icu/impl/number/MicroPropsGenerator;)V
-Landroid/icu/impl/number/MultiplierImpl;->bigDecimalMultiplier:Ljava/math/BigDecimal;
-Landroid/icu/impl/number/MultiplierImpl;->magnitudeMultiplier:I
-Landroid/icu/impl/number/MultiplierImpl;->parent:Landroid/icu/impl/number/MicroPropsGenerator;
-Landroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;-><init>(Landroid/icu/impl/number/ParameterizedModifier;Landroid/icu/text/PluralRules;Landroid/icu/impl/number/MicroPropsGenerator;)V
-Landroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;->parent:Landroid/icu/impl/number/MicroPropsGenerator;
-Landroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;->pm:Landroid/icu/impl/number/ParameterizedModifier;
-Landroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;->rules:Landroid/icu/text/PluralRules;
-Landroid/icu/impl/number/MutablePatternModifier;->createConstantModifier(Landroid/icu/impl/number/NumberStringBuilder;Landroid/icu/impl/number/NumberStringBuilder;)Landroid/icu/impl/number/ConstantMultiFieldModifier;
-Landroid/icu/impl/number/MutablePatternModifier;->currency:Landroid/icu/util/Currency;
-Landroid/icu/impl/number/MutablePatternModifier;->enterCharSequenceMode(Z)V
-Landroid/icu/impl/number/MutablePatternModifier;->exitCharSequenceMode()V
-Landroid/icu/impl/number/MutablePatternModifier;->flags:I
-Landroid/icu/impl/number/MutablePatternModifier;->inCharSequenceMode:Z
-Landroid/icu/impl/number/MutablePatternModifier;->insertPrefix(Landroid/icu/impl/number/NumberStringBuilder;I)I
-Landroid/icu/impl/number/MutablePatternModifier;->insertSuffix(Landroid/icu/impl/number/NumberStringBuilder;I)I
-Landroid/icu/impl/number/MutablePatternModifier;->isNegative:Z
-Landroid/icu/impl/number/MutablePatternModifier;->isStrong:Z
-Landroid/icu/impl/number/MutablePatternModifier;->length:I
-Landroid/icu/impl/number/MutablePatternModifier;->parent:Landroid/icu/impl/number/MicroPropsGenerator;
-Landroid/icu/impl/number/MutablePatternModifier;->patternInfo:Landroid/icu/impl/number/AffixPatternProvider;
-Landroid/icu/impl/number/MutablePatternModifier;->perMilleReplacesPercent:Z
-Landroid/icu/impl/number/MutablePatternModifier;->plural:Landroid/icu/impl/StandardPlural;
-Landroid/icu/impl/number/MutablePatternModifier;->plusReplacesMinusSign:Z
-Landroid/icu/impl/number/MutablePatternModifier;->prependSign:Z
-Landroid/icu/impl/number/MutablePatternModifier;->rules:Landroid/icu/text/PluralRules;
-Landroid/icu/impl/number/MutablePatternModifier;->signDisplay:Landroid/icu/number/NumberFormatter$SignDisplay;
-Landroid/icu/impl/number/MutablePatternModifier;->symbols:Landroid/icu/text/DecimalFormatSymbols;
-Landroid/icu/impl/number/MutablePatternModifier;->unitWidth:Landroid/icu/number/NumberFormatter$UnitWidth;
-Landroid/icu/impl/number/NumberStringBuilder;->chars:[C
-Landroid/icu/impl/number/NumberStringBuilder;->fields:[Landroid/icu/text/NumberFormat$Field;
-Landroid/icu/impl/number/NumberStringBuilder;->fieldToDebugChar:Ljava/util/Map;
-Landroid/icu/impl/number/NumberStringBuilder;->getCapacity()I
-Landroid/icu/impl/number/NumberStringBuilder;->length:I
-Landroid/icu/impl/number/NumberStringBuilder;->prepareForInsert(II)I
-Landroid/icu/impl/number/NumberStringBuilder;->prepareForInsertHelper(II)I
-Landroid/icu/impl/number/NumberStringBuilder;->zero:I
-Landroid/icu/impl/number/Padder$PadPosition;-><init>()V
-Landroid/icu/impl/number/Padder;->addPaddingHelper(Ljava/lang/String;ILandroid/icu/impl/number/NumberStringBuilder;I)I
-Landroid/icu/impl/number/Padder;->paddingString:Ljava/lang/String;
-Landroid/icu/impl/number/Padder;->position:Landroid/icu/impl/number/Padder$PadPosition;
-Landroid/icu/impl/number/Padder;->targetWidth:I
-Landroid/icu/impl/number/ParameterizedModifier;->frozen:Z
-Landroid/icu/impl/number/ParameterizedModifier;->getModIndex(ZLandroid/icu/impl/StandardPlural;)I
-Landroid/icu/impl/number/ParameterizedModifier;->mods:[Landroid/icu/impl/number/Modifier;
-Landroid/icu/impl/number/ParameterizedModifier;->negative:Landroid/icu/impl/number/Modifier;
-Landroid/icu/impl/number/ParameterizedModifier;->positive:Landroid/icu/impl/number/Modifier;
-Landroid/icu/impl/number/Parse$AffixHolder;
-Landroid/icu/impl/number/Parse$AffixHolder;-><init>(Ljava/lang/String;Ljava/lang/String;ZZ)V
-Landroid/icu/impl/number/Parse$AffixHolder;->addToState(Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/DecimalFormatProperties;)V
-Landroid/icu/impl/number/Parse$AffixHolder;->EMPTY_NEGATIVE:Landroid/icu/impl/number/Parse$AffixHolder;
-Landroid/icu/impl/number/Parse$AffixHolder;->EMPTY_POSITIVE:Landroid/icu/impl/number/Parse$AffixHolder;
-Landroid/icu/impl/number/Parse$AffixHolder;->fromPropertiesNegativePattern(Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/impl/number/Parse$AffixHolder;
-Landroid/icu/impl/number/Parse$AffixHolder;->fromPropertiesNegativeString(Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/impl/number/Parse$AffixHolder;
-Landroid/icu/impl/number/Parse$AffixHolder;->fromPropertiesPositivePattern(Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/impl/number/Parse$AffixHolder;
-Landroid/icu/impl/number/Parse$AffixHolder;->fromPropertiesPositiveString(Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/impl/number/Parse$AffixHolder;
-Landroid/icu/impl/number/Parse$AffixHolder;->getInstance(Ljava/lang/String;Ljava/lang/String;ZZ)Landroid/icu/impl/number/Parse$AffixHolder;
-Landroid/icu/impl/number/Parse$AffixHolder;->negative:Z
-Landroid/icu/impl/number/Parse$AffixHolder;->p:Ljava/lang/String;
-Landroid/icu/impl/number/Parse$AffixHolder;->s:Ljava/lang/String;
-Landroid/icu/impl/number/Parse$AffixHolder;->strings:Z
-Landroid/icu/impl/number/Parse$CurrencyAffixPatterns;
-Landroid/icu/impl/number/Parse$CurrencyAffixPatterns;-><init>(Landroid/icu/util/ULocale;)V
-Landroid/icu/impl/number/Parse$CurrencyAffixPatterns;->addPattern(Ljava/lang/String;)V
-Landroid/icu/impl/number/Parse$CurrencyAffixPatterns;->addToState(Landroid/icu/util/ULocale;Landroid/icu/impl/number/Parse$ParserState;)V
-Landroid/icu/impl/number/Parse$CurrencyAffixPatterns;->currencyAffixPatterns:Ljava/util/concurrent/ConcurrentHashMap;
-Landroid/icu/impl/number/Parse$CurrencyAffixPatterns;->set:Ljava/util/Set;
-Landroid/icu/impl/number/Parse$CurrencyAffixPatterns;->threadLocalProperties:Ljava/lang/ThreadLocal;
-Landroid/icu/impl/number/Parse$DigitType;
-Landroid/icu/impl/number/Parse$DigitType;-><init>()V
-Landroid/icu/impl/number/Parse$DigitType;->EXPONENT:Landroid/icu/impl/number/Parse$DigitType;
-Landroid/icu/impl/number/Parse$DigitType;->FRACTION:Landroid/icu/impl/number/Parse$DigitType;
-Landroid/icu/impl/number/Parse$DigitType;->INTEGER:Landroid/icu/impl/number/Parse$DigitType;
-Landroid/icu/impl/number/Parse$DigitType;->valueOf(Ljava/lang/String;)Landroid/icu/impl/number/Parse$DigitType;
-Landroid/icu/impl/number/Parse$DigitType;->values()[Landroid/icu/impl/number/Parse$DigitType;
-Landroid/icu/impl/number/Parse$GroupingMode;-><init>()V
-Landroid/icu/impl/number/Parse$ParseMode;-><init>()V
-Landroid/icu/impl/number/Parse$ParserState;
-Landroid/icu/impl/number/Parse$ParserState;-><init>()V
-Landroid/icu/impl/number/Parse$ParserState;->affixHolders:Ljava/util/Set;
-Landroid/icu/impl/number/Parse$ParserState;->caseSensitive:Z
-Landroid/icu/impl/number/Parse$ParserState;->clear()Landroid/icu/impl/number/Parse$ParserState;
-Landroid/icu/impl/number/Parse$ParserState;->decimalCp1:I
-Landroid/icu/impl/number/Parse$ParserState;->decimalCp2:I
-Landroid/icu/impl/number/Parse$ParserState;->decimalType1:Landroid/icu/impl/number/Parse$SeparatorType;
-Landroid/icu/impl/number/Parse$ParserState;->decimalType2:Landroid/icu/impl/number/Parse$SeparatorType;
-Landroid/icu/impl/number/Parse$ParserState;->digitTrie:Landroid/icu/impl/TextTrieMap;
-Landroid/icu/impl/number/Parse$ParserState;->getItem(I)Landroid/icu/impl/number/Parse$StateItem;
-Landroid/icu/impl/number/Parse$ParserState;->getNext()Landroid/icu/impl/number/Parse$StateItem;
-Landroid/icu/impl/number/Parse$ParserState;->groupingCp1:I
-Landroid/icu/impl/number/Parse$ParserState;->groupingCp2:I
-Landroid/icu/impl/number/Parse$ParserState;->groupingMode:Landroid/icu/impl/number/Parse$GroupingMode;
-Landroid/icu/impl/number/Parse$ParserState;->groupingType1:Landroid/icu/impl/number/Parse$SeparatorType;
-Landroid/icu/impl/number/Parse$ParserState;->groupingType2:Landroid/icu/impl/number/Parse$SeparatorType;
-Landroid/icu/impl/number/Parse$ParserState;->items:[Landroid/icu/impl/number/Parse$StateItem;
-Landroid/icu/impl/number/Parse$ParserState;->lastInsertedIndex()I
-Landroid/icu/impl/number/Parse$ParserState;->length:I
-Landroid/icu/impl/number/Parse$ParserState;->mode:Landroid/icu/impl/number/Parse$ParseMode;
-Landroid/icu/impl/number/Parse$ParserState;->parseCurrency:Z
-Landroid/icu/impl/number/Parse$ParserState;->prevItems:[Landroid/icu/impl/number/Parse$StateItem;
-Landroid/icu/impl/number/Parse$ParserState;->prevLength:I
-Landroid/icu/impl/number/Parse$ParserState;->properties:Landroid/icu/impl/number/DecimalFormatProperties;
-Landroid/icu/impl/number/Parse$ParserState;->swap()V
-Landroid/icu/impl/number/Parse$ParserState;->swapBack()V
-Landroid/icu/impl/number/Parse$ParserState;->symbols:Landroid/icu/text/DecimalFormatSymbols;
-Landroid/icu/impl/number/Parse$SeparatorType;
-Landroid/icu/impl/number/Parse$SeparatorType;-><init>()V
-Landroid/icu/impl/number/Parse$SeparatorType;->COMMA_LIKE:Landroid/icu/impl/number/Parse$SeparatorType;
-Landroid/icu/impl/number/Parse$SeparatorType;->fromCp(ILandroid/icu/impl/number/Parse$ParseMode;)Landroid/icu/impl/number/Parse$SeparatorType;
-Landroid/icu/impl/number/Parse$SeparatorType;->OTHER_GROUPING:Landroid/icu/impl/number/Parse$SeparatorType;
-Landroid/icu/impl/number/Parse$SeparatorType;->PERIOD_LIKE:Landroid/icu/impl/number/Parse$SeparatorType;
-Landroid/icu/impl/number/Parse$SeparatorType;->UNKNOWN:Landroid/icu/impl/number/Parse$SeparatorType;
-Landroid/icu/impl/number/Parse$SeparatorType;->valueOf(Ljava/lang/String;)Landroid/icu/impl/number/Parse$SeparatorType;
-Landroid/icu/impl/number/Parse$SeparatorType;->values()[Landroid/icu/impl/number/Parse$SeparatorType;
-Landroid/icu/impl/number/Parse$StateItem;
-Landroid/icu/impl/number/Parse$StateItem;-><init>(C)V
-Landroid/icu/impl/number/Parse$StateItem;->affix:Landroid/icu/impl/number/Parse$AffixHolder;
-Landroid/icu/impl/number/Parse$StateItem;->appendDigit(BLandroid/icu/impl/number/Parse$DigitType;)V
-Landroid/icu/impl/number/Parse$StateItem;->clear()Landroid/icu/impl/number/Parse$StateItem;
-Landroid/icu/impl/number/Parse$StateItem;->copyFrom(Landroid/icu/impl/number/Parse$StateItem;Landroid/icu/impl/number/Parse$StateName;I)Landroid/icu/impl/number/Parse$StateItem;
-Landroid/icu/impl/number/Parse$StateItem;->currentAffixPattern:Ljava/lang/CharSequence;
-Landroid/icu/impl/number/Parse$StateItem;->currentCurrencyTrieState:Landroid/icu/impl/TextTrieMap$ParseState;
-Landroid/icu/impl/number/Parse$StateItem;->currentDigitTrieState:Landroid/icu/impl/TextTrieMap$ParseState;
-Landroid/icu/impl/number/Parse$StateItem;->currentDigitType:Landroid/icu/impl/number/Parse$DigitType;
-Landroid/icu/impl/number/Parse$StateItem;->currentOffset:I
-Landroid/icu/impl/number/Parse$StateItem;->currentStepwiseParserTag:J
-Landroid/icu/impl/number/Parse$StateItem;->currentString:Ljava/lang/CharSequence;
-Landroid/icu/impl/number/Parse$StateItem;->currentTrailing:Z
-Landroid/icu/impl/number/Parse$StateItem;->exponent:I
-Landroid/icu/impl/number/Parse$StateItem;->fq:Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD;
-Landroid/icu/impl/number/Parse$StateItem;->groupingCp:I
-Landroid/icu/impl/number/Parse$StateItem;->groupingWidths:J
-Landroid/icu/impl/number/Parse$StateItem;->hasNumber()Z
-Landroid/icu/impl/number/Parse$StateItem;->id:C
-Landroid/icu/impl/number/Parse$StateItem;->isoCode:Ljava/lang/String;
-Landroid/icu/impl/number/Parse$StateItem;->name:Landroid/icu/impl/number/Parse$StateName;
-Landroid/icu/impl/number/Parse$StateItem;->numDigits:I
-Landroid/icu/impl/number/Parse$StateItem;->path:Ljava/lang/String;
-Landroid/icu/impl/number/Parse$StateItem;->returnTo1:Landroid/icu/impl/number/Parse$StateName;
-Landroid/icu/impl/number/Parse$StateItem;->returnTo2:Landroid/icu/impl/number/Parse$StateName;
-Landroid/icu/impl/number/Parse$StateItem;->sawCurrency:Z
-Landroid/icu/impl/number/Parse$StateItem;->sawDecimalPoint:Z
-Landroid/icu/impl/number/Parse$StateItem;->sawExponentDigit:Z
-Landroid/icu/impl/number/Parse$StateItem;->sawInfinity:Z
-Landroid/icu/impl/number/Parse$StateItem;->sawNaN:Z
-Landroid/icu/impl/number/Parse$StateItem;->sawNegative:Z
-Landroid/icu/impl/number/Parse$StateItem;->sawNegativeExponent:Z
-Landroid/icu/impl/number/Parse$StateItem;->sawPrefix:Z
-Landroid/icu/impl/number/Parse$StateItem;->sawSuffix:Z
-Landroid/icu/impl/number/Parse$StateItem;->score:I
-Landroid/icu/impl/number/Parse$StateItem;->toCurrencyAmount(Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/util/CurrencyAmount;
-Landroid/icu/impl/number/Parse$StateItem;->toNumber(Landroid/icu/impl/number/DecimalFormatProperties;)Ljava/lang/Number;
-Landroid/icu/impl/number/Parse$StateItem;->trailingCount:I
-Landroid/icu/impl/number/Parse$StateItem;->trailingZeros:I
-Landroid/icu/impl/number/Parse$StateName;
-Landroid/icu/impl/number/Parse$StateName;-><init>()V
-Landroid/icu/impl/number/Parse$StateName;->AFTER_EXPONENT_DIGIT:Landroid/icu/impl/number/Parse$StateName;
-Landroid/icu/impl/number/Parse$StateName;->AFTER_EXPONENT_SEPARATOR:Landroid/icu/impl/number/Parse$StateName;
-Landroid/icu/impl/number/Parse$StateName;->AFTER_FRACTION_DIGIT:Landroid/icu/impl/number/Parse$StateName;
-Landroid/icu/impl/number/Parse$StateName;->AFTER_INTEGER_DIGIT:Landroid/icu/impl/number/Parse$StateName;
-Landroid/icu/impl/number/Parse$StateName;->AFTER_PREFIX:Landroid/icu/impl/number/Parse$StateName;
-Landroid/icu/impl/number/Parse$StateName;->AFTER_SUFFIX:Landroid/icu/impl/number/Parse$StateName;
-Landroid/icu/impl/number/Parse$StateName;->BEFORE_PREFIX:Landroid/icu/impl/number/Parse$StateName;
-Landroid/icu/impl/number/Parse$StateName;->BEFORE_SUFFIX:Landroid/icu/impl/number/Parse$StateName;
-Landroid/icu/impl/number/Parse$StateName;->BEFORE_SUFFIX_SEEN_EXPONENT:Landroid/icu/impl/number/Parse$StateName;
-Landroid/icu/impl/number/Parse$StateName;->INSIDE_AFFIX_PATTERN:Landroid/icu/impl/number/Parse$StateName;
-Landroid/icu/impl/number/Parse$StateName;->INSIDE_CURRENCY:Landroid/icu/impl/number/Parse$StateName;
-Landroid/icu/impl/number/Parse$StateName;->INSIDE_DIGIT:Landroid/icu/impl/number/Parse$StateName;
-Landroid/icu/impl/number/Parse$StateName;->INSIDE_STRING:Landroid/icu/impl/number/Parse$StateName;
-Landroid/icu/impl/number/Parse$StateName;->valueOf(Ljava/lang/String;)Landroid/icu/impl/number/Parse$StateName;
-Landroid/icu/impl/number/Parse$StateName;->values()[Landroid/icu/impl/number/Parse$StateName;
-Landroid/icu/impl/number/Parse;->acceptAffixHolder(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;Landroid/icu/impl/number/Parse$AffixHolder;Z)V
-Landroid/icu/impl/number/Parse;->acceptAffixPattern(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;Ljava/lang/CharSequence;J)J
-Landroid/icu/impl/number/Parse;->acceptAffixPatternHelper(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;Ljava/lang/CharSequence;J)J
-Landroid/icu/impl/number/Parse;->acceptAffixPatternNonIgnorable(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;Ljava/lang/CharSequence;IJJ)J
-Landroid/icu/impl/number/Parse;->acceptAffixPatternOffset(ILandroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;)J
-Landroid/icu/impl/number/Parse;->acceptBidi(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;)V
-Landroid/icu/impl/number/Parse;->acceptCurrency(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;)V
-Landroid/icu/impl/number/Parse;->acceptCurrency(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;)J
-Landroid/icu/impl/number/Parse;->acceptCurrencyHelper(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;Landroid/icu/impl/TextTrieMap$ParseState;)J
-Landroid/icu/impl/number/Parse;->acceptCurrencyOffset(ILandroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;)V
-Landroid/icu/impl/number/Parse;->acceptDecimalPoint(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;)V
-Landroid/icu/impl/number/Parse;->acceptDigitHelper(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;Landroid/icu/impl/number/Parse$DigitType;)V
-Landroid/icu/impl/number/Parse;->acceptDigitTrie(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;Landroid/icu/impl/number/Parse$DigitType;)J
-Landroid/icu/impl/number/Parse;->acceptDigitTrieHelper(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;Landroid/icu/impl/number/Parse$DigitType;Landroid/icu/impl/TextTrieMap$ParseState;)J
-Landroid/icu/impl/number/Parse;->acceptDigitTrieOffset(ILandroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;)V
-Landroid/icu/impl/number/Parse;->acceptExponentDigit(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;)V
-Landroid/icu/impl/number/Parse;->acceptExponentSeparator(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;)V
-Landroid/icu/impl/number/Parse;->acceptFractionDigit(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;)V
-Landroid/icu/impl/number/Parse;->acceptGrouping(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;)V
-Landroid/icu/impl/number/Parse;->acceptInfinity(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;)V
-Landroid/icu/impl/number/Parse;->acceptIntegerDigit(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;)V
-Landroid/icu/impl/number/Parse;->acceptMinusOrPlusSign(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;Z)V
-Landroid/icu/impl/number/Parse;->acceptMinusSign(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;Z)J
-Landroid/icu/impl/number/Parse;->acceptNan(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;)V
-Landroid/icu/impl/number/Parse;->acceptPadding(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;)V
-Landroid/icu/impl/number/Parse;->acceptPlusSign(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;Z)J
-Landroid/icu/impl/number/Parse;->acceptPrefix(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;)V
-Landroid/icu/impl/number/Parse;->acceptString(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;Ljava/lang/CharSequence;IZ)J
-Landroid/icu/impl/number/Parse;->acceptStringHelper(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;Ljava/lang/CharSequence;IZ)J
-Landroid/icu/impl/number/Parse;->acceptStringNonIgnorable(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;Ljava/lang/CharSequence;ZIJJ)J
-Landroid/icu/impl/number/Parse;->acceptStringOffset(ILandroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;)J
-Landroid/icu/impl/number/Parse;->acceptStringOrAffixPatternWithIgnorables(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;Ljava/lang/CharSequence;JZZ)J
-Landroid/icu/impl/number/Parse;->acceptSuffix(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;)V
-Landroid/icu/impl/number/Parse;->acceptWhitespace(ILandroid/icu/impl/number/Parse$StateName;Landroid/icu/impl/number/Parse$ParserState;Landroid/icu/impl/number/Parse$StateItem;)V
-Landroid/icu/impl/number/Parse;->codePointEquals(IILandroid/icu/impl/number/Parse$ParserState;)Z
-Landroid/icu/impl/number/Parse;->isIgnorable(ILandroid/icu/impl/number/Parse$ParserState;)Z
-Landroid/icu/impl/number/Parse;->makeDigitTrie([Ljava/lang/String;)Landroid/icu/impl/TextTrieMap;
-Landroid/icu/impl/number/Parse;->MAX_LONG_AS_BIG_DECIMAL:Ljava/math/BigDecimal;
-Landroid/icu/impl/number/Parse;->MIN_LONG_AS_BIG_DECIMAL:Ljava/math/BigDecimal;
-Landroid/icu/impl/number/Parse;->recordDigit(Landroid/icu/impl/number/Parse$StateItem;BLandroid/icu/impl/number/Parse$DigitType;)V
-Landroid/icu/impl/number/Parse;->UNISET_BIDI:Landroid/icu/text/UnicodeSet;
-Landroid/icu/impl/number/Parse;->UNISET_COMMA_LIKE:Landroid/icu/text/UnicodeSet;
-Landroid/icu/impl/number/Parse;->UNISET_OTHER_GROUPING_SEPARATORS:Landroid/icu/text/UnicodeSet;
-Landroid/icu/impl/number/Parse;->UNISET_PERIOD_LIKE:Landroid/icu/text/UnicodeSet;
-Landroid/icu/impl/number/Parse;->UNISET_STRICT_COMMA_LIKE:Landroid/icu/text/UnicodeSet;
-Landroid/icu/impl/number/Parse;->UNISET_STRICT_PERIOD_LIKE:Landroid/icu/text/UnicodeSet;
-Landroid/icu/impl/number/Parse;->UNISET_WHITESPACE:Landroid/icu/text/UnicodeSet;
-Landroid/icu/impl/number/Parse;->_parse(Ljava/lang/CharSequence;Ljava/text/ParsePosition;ZLandroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/text/DecimalFormatSymbols;)Landroid/icu/impl/number/Parse$StateItem;
-Landroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;-><init>(Ljava/lang/String;)V
-Landroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;->getEndpoints(I)J
-Landroid/icu/impl/number/PatternStringParser$ParserState;
-Landroid/icu/impl/number/PatternStringParser$ParserState;-><init>(Ljava/lang/String;)V
-Landroid/icu/impl/number/PatternStringParser$ParserState;->next()I
-Landroid/icu/impl/number/PatternStringParser$ParserState;->offset:I
-Landroid/icu/impl/number/PatternStringParser$ParserState;->pattern:Ljava/lang/String;
-Landroid/icu/impl/number/PatternStringParser$ParserState;->peek()I
-Landroid/icu/impl/number/PatternStringParser$ParserState;->toParseException(Ljava/lang/String;)Ljava/lang/IllegalArgumentException;
-Landroid/icu/impl/number/PatternStringParser;->consumeAffix(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)J
-Landroid/icu/impl/number/PatternStringParser;->consumeExponent(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V
-Landroid/icu/impl/number/PatternStringParser;->consumeFormat(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V
-Landroid/icu/impl/number/PatternStringParser;->consumeFractionFormat(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V
-Landroid/icu/impl/number/PatternStringParser;->consumeIntegerFormat(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V
-Landroid/icu/impl/number/PatternStringParser;->consumeLiteral(Landroid/icu/impl/number/PatternStringParser$ParserState;)V
-Landroid/icu/impl/number/PatternStringParser;->consumePadding(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;Landroid/icu/impl/number/Padder$PadPosition;)V
-Landroid/icu/impl/number/PatternStringParser;->consumePattern(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;)V
-Landroid/icu/impl/number/PatternStringParser;->consumeSubpattern(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V
-Landroid/icu/impl/number/PatternStringParser;->parseToExistingPropertiesImpl(Ljava/lang/String;Landroid/icu/impl/number/DecimalFormatProperties;I)V
-Landroid/icu/impl/number/PatternStringParser;->patternInfoToProperties(Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;I)V
-Landroid/icu/impl/PatternTokenizer;->AFTER_QUOTE:I
-Landroid/icu/impl/PatternTokenizer;->appendEscaped(Ljava/lang/StringBuffer;I)V
-Landroid/icu/impl/PatternTokenizer;->escapeCharacters:Landroid/icu/text/UnicodeSet;
-Landroid/icu/impl/PatternTokenizer;->extraQuotingCharacters:Landroid/icu/text/UnicodeSet;
-Landroid/icu/impl/PatternTokenizer;->HEX:I
-Landroid/icu/impl/PatternTokenizer;->ignorableCharacters:Landroid/icu/text/UnicodeSet;
-Landroid/icu/impl/PatternTokenizer;->IN_QUOTE:I
-Landroid/icu/impl/PatternTokenizer;->limit:I
-Landroid/icu/impl/PatternTokenizer;->needingQuoteCharacters:Landroid/icu/text/UnicodeSet;
-Landroid/icu/impl/PatternTokenizer;->NONE:I
-Landroid/icu/impl/PatternTokenizer;->NORMAL_QUOTE:I
-Landroid/icu/impl/PatternTokenizer;->NO_QUOTE:I
-Landroid/icu/impl/PatternTokenizer;->pattern:Ljava/lang/String;
-Landroid/icu/impl/PatternTokenizer;->SLASH_START:I
-Landroid/icu/impl/PatternTokenizer;->start:I
-Landroid/icu/impl/PatternTokenizer;->START_QUOTE:I
-Landroid/icu/impl/PatternTokenizer;->syntaxCharacters:Landroid/icu/text/UnicodeSet;
-Landroid/icu/impl/PatternTokenizer;->usingQuote:Z
-Landroid/icu/impl/PatternTokenizer;->usingSlash:Z
-Landroid/icu/impl/PluralRulesLoader;-><init>()V
-Landroid/icu/impl/PluralRulesLoader;->checkBuildRulesIdMaps()V
-Landroid/icu/impl/PluralRulesLoader;->getLocaleIdToRulesIdMap(Landroid/icu/text/PluralRules$PluralType;)Ljava/util/Map;
-Landroid/icu/impl/PluralRulesLoader;->getRulesIdToEquivalentULocaleMap()Ljava/util/Map;
-Landroid/icu/impl/PluralRulesLoader;->localeIdToCardinalRulesId:Ljava/util/Map;
-Landroid/icu/impl/PluralRulesLoader;->localeIdToOrdinalRulesId:Ljava/util/Map;
-Landroid/icu/impl/PluralRulesLoader;->localeIdToPluralRanges:Ljava/util/Map;
-Landroid/icu/impl/PluralRulesLoader;->rulesIdToEquivalentULocale:Ljava/util/Map;
-Landroid/icu/impl/PluralRulesLoader;->rulesIdToRules:Ljava/util/Map;
-Landroid/icu/impl/PluralRulesLoader;->UNKNOWN_RANGE:Landroid/icu/text/PluralRanges;
-Landroid/icu/impl/Relation$SimpleEntry;
-Landroid/icu/impl/Relation$SimpleEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
-Landroid/icu/impl/Relation$SimpleEntry;-><init>(Ljava/util/Map$Entry;)V
-Landroid/icu/impl/Relation$SimpleEntry;->key:Ljava/lang/Object;
-Landroid/icu/impl/Relation$SimpleEntry;->value:Ljava/lang/Object;
-Landroid/icu/impl/Relation;->data:Ljava/util/Map;
-Landroid/icu/impl/Relation;->frozen:Z
-Landroid/icu/impl/Relation;->newSet()Ljava/util/Set;
-Landroid/icu/impl/Relation;->setComparatorParam:[Ljava/lang/Object;
-Landroid/icu/impl/Relation;->setCreator:Ljava/lang/reflect/Constructor;
-Landroid/icu/impl/RuleCharacterIterator;->buf:[C
-Landroid/icu/impl/RuleCharacterIterator;->bufPos:I
-Landroid/icu/impl/RuleCharacterIterator;->isEscaped:Z
-Landroid/icu/impl/RuleCharacterIterator;->pos:Ljava/text/ParsePosition;
-Landroid/icu/impl/RuleCharacterIterator;->sym:Landroid/icu/text/SymbolTable;
-Landroid/icu/impl/RuleCharacterIterator;->text:Ljava/lang/String;
-Landroid/icu/impl/RuleCharacterIterator;->_advance(I)V
-Landroid/icu/impl/RuleCharacterIterator;->_current()I
-Landroid/icu/impl/SimpleCache;->cacheRef:Ljava/lang/ref/Reference;
-Landroid/icu/impl/SimpleCache;->capacity:I
-Landroid/icu/impl/SimpleCache;->DEFAULT_CAPACITY:I
-Landroid/icu/impl/SimpleCache;->type:I
-Landroid/icu/impl/SoftCache;->map:Ljava/util/concurrent/ConcurrentHashMap;
-Landroid/icu/impl/StandardPlural;-><init>(Ljava/lang/String;)V
-Landroid/icu/impl/StandardPlural;->keyword:Ljava/lang/String;
-Landroid/icu/impl/TextTrieMap$CharIterator;-><init>(Ljava/lang/CharSequence;IZ)V
-Landroid/icu/impl/TextTrieMap$CharIterator;->_ignoreCase:Z
-Landroid/icu/impl/TextTrieMap$CharIterator;->_nextIdx:I
-Landroid/icu/impl/TextTrieMap$CharIterator;->_remainingChar:Ljava/lang/Character;
-Landroid/icu/impl/TextTrieMap$CharIterator;->_startIdx:I
-Landroid/icu/impl/TextTrieMap$CharIterator;->_text:Ljava/lang/CharSequence;
-Landroid/icu/impl/TextTrieMap$LongestMatchHandler;
-Landroid/icu/impl/TextTrieMap$LongestMatchHandler;-><init>()V
-Landroid/icu/impl/TextTrieMap$LongestMatchHandler;->getMatches()Ljava/util/Iterator;
-Landroid/icu/impl/TextTrieMap$LongestMatchHandler;->getMatchLength()I
-Landroid/icu/impl/TextTrieMap$LongestMatchHandler;->length:I
-Landroid/icu/impl/TextTrieMap$LongestMatchHandler;->matches:Ljava/util/Iterator;
-Landroid/icu/impl/TextTrieMap$Node$StepResult;
-Landroid/icu/impl/TextTrieMap$Node$StepResult;-><init>()V
-Landroid/icu/impl/TextTrieMap$Node$StepResult;->node:Landroid/icu/impl/TextTrieMap$Node;
-Landroid/icu/impl/TextTrieMap$Node$StepResult;->offset:I
-Landroid/icu/impl/TextTrieMap$Node;
-Landroid/icu/impl/TextTrieMap$Node;-><init>()V
-Landroid/icu/impl/TextTrieMap$Node;-><init>([CLjava/util/List;Ljava/util/List;)V
-Landroid/icu/impl/TextTrieMap$Node;->add(Landroid/icu/impl/TextTrieMap$CharIterator;Ljava/lang/Object;)V
-Landroid/icu/impl/TextTrieMap$Node;->add([CILjava/lang/Object;)V
-Landroid/icu/impl/TextTrieMap$Node;->addValue(Ljava/util/List;Ljava/lang/Object;)Ljava/util/List;
-Landroid/icu/impl/TextTrieMap$Node;->charCount()I
-Landroid/icu/impl/TextTrieMap$Node;->findMatch(Landroid/icu/impl/TextTrieMap$CharIterator;)Landroid/icu/impl/TextTrieMap$Node;
-Landroid/icu/impl/TextTrieMap$Node;->hasChildFor(C)Z
-Landroid/icu/impl/TextTrieMap$Node;->lenMatches([CI)I
-Landroid/icu/impl/TextTrieMap$Node;->matchFollowing(Landroid/icu/impl/TextTrieMap$CharIterator;)Z
-Landroid/icu/impl/TextTrieMap$Node;->split(I)V
-Landroid/icu/impl/TextTrieMap$Node;->takeStep(CILandroid/icu/impl/TextTrieMap$Node$StepResult;)V
-Landroid/icu/impl/TextTrieMap$Node;->values()Ljava/util/Iterator;
-Landroid/icu/impl/TextTrieMap$Node;->_children:Ljava/util/List;
-Landroid/icu/impl/TextTrieMap$Node;->_text:[C
-Landroid/icu/impl/TextTrieMap$Node;->_values:Ljava/util/List;
-Landroid/icu/impl/TextTrieMap$ParseState;-><init>(Landroid/icu/impl/TextTrieMap$Node;)V
-Landroid/icu/impl/TextTrieMap$ParseState;->node:Landroid/icu/impl/TextTrieMap$Node;
-Landroid/icu/impl/TextTrieMap$ParseState;->offset:I
-Landroid/icu/impl/TextTrieMap$ParseState;->result:Landroid/icu/impl/TextTrieMap$Node$StepResult;
-Landroid/icu/impl/TextTrieMap;->find(Landroid/icu/impl/TextTrieMap$Node;Landroid/icu/impl/TextTrieMap$CharIterator;Landroid/icu/impl/TextTrieMap$ResultHandler;)V
-Landroid/icu/impl/TextTrieMap;->subArray([CI)[C
-Landroid/icu/impl/TextTrieMap;->subArray([CII)[C
-Landroid/icu/impl/TextTrieMap;->toCharArray(Ljava/lang/CharSequence;)[C
-Landroid/icu/impl/TextTrieMap;->_ignoreCase:Z
-Landroid/icu/impl/TextTrieMap;->_root:Landroid/icu/impl/TextTrieMap$Node;
-Landroid/icu/impl/TimeZoneGenericNames$Cache;
-Landroid/icu/impl/TimeZoneGenericNames$Cache;-><init>()V
-Landroid/icu/impl/TimeZoneGenericNames$Cache;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/icu/impl/TimeZoneGenericNames$Cache;->createInstance(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/impl/TimeZoneGenericNames;
-Landroid/icu/impl/TimeZoneGenericNames$GenericMatchInfo;-><init>(Landroid/icu/impl/TimeZoneGenericNames$GenericNameType;Ljava/lang/String;I)V
-Landroid/icu/impl/TimeZoneGenericNames$GenericMatchInfo;-><init>(Landroid/icu/impl/TimeZoneGenericNames$GenericNameType;Ljava/lang/String;ILandroid/icu/text/TimeZoneFormat$TimeType;)V
-Landroid/icu/impl/TimeZoneGenericNames$GenericMatchInfo;->matchLength:I
-Landroid/icu/impl/TimeZoneGenericNames$GenericMatchInfo;->nameType:Landroid/icu/impl/TimeZoneGenericNames$GenericNameType;
-Landroid/icu/impl/TimeZoneGenericNames$GenericMatchInfo;->timeType:Landroid/icu/text/TimeZoneFormat$TimeType;
-Landroid/icu/impl/TimeZoneGenericNames$GenericMatchInfo;->tzID:Ljava/lang/String;
-Landroid/icu/impl/TimeZoneGenericNames$GenericNameSearchHandler;
-Landroid/icu/impl/TimeZoneGenericNames$GenericNameSearchHandler;-><init>(Ljava/util/EnumSet;)V
-Landroid/icu/impl/TimeZoneGenericNames$GenericNameSearchHandler;->getMatches()Ljava/util/Collection;
-Landroid/icu/impl/TimeZoneGenericNames$GenericNameSearchHandler;->getMaxMatchLen()I
-Landroid/icu/impl/TimeZoneGenericNames$GenericNameSearchHandler;->handlePrefixMatch(ILjava/util/Iterator;)Z
-Landroid/icu/impl/TimeZoneGenericNames$GenericNameSearchHandler;->resetResults()V
-Landroid/icu/impl/TimeZoneGenericNames$GenericNameSearchHandler;->_matches:Ljava/util/Collection;
-Landroid/icu/impl/TimeZoneGenericNames$GenericNameSearchHandler;->_maxMatchLen:I
-Landroid/icu/impl/TimeZoneGenericNames$GenericNameSearchHandler;->_types:Ljava/util/EnumSet;
-Landroid/icu/impl/TimeZoneGenericNames$GenericNameType;-><init>([[Ljava/lang/String;)V
-Landroid/icu/impl/TimeZoneGenericNames$GenericNameType;->_fallbackTypeOf:[Ljava/lang/String;
-Landroid/icu/impl/TimeZoneGenericNames$NameInfo;
-Landroid/icu/impl/TimeZoneGenericNames$NameInfo;-><init>(Ljava/lang/String;Landroid/icu/impl/TimeZoneGenericNames$GenericNameType;)V
-Landroid/icu/impl/TimeZoneGenericNames$NameInfo;->type:Landroid/icu/impl/TimeZoneGenericNames$GenericNameType;
-Landroid/icu/impl/TimeZoneGenericNames$NameInfo;->tzID:Ljava/lang/String;
-Landroid/icu/impl/TimeZoneGenericNames$Pattern;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/impl/TimeZoneGenericNames$Pattern;->defaultValue()Ljava/lang/String;
-Landroid/icu/impl/TimeZoneGenericNames$Pattern;->key()Ljava/lang/String;
-Landroid/icu/impl/TimeZoneGenericNames$Pattern;->_defaultVal:Ljava/lang/String;
-Landroid/icu/impl/TimeZoneGenericNames$Pattern;->_key:Ljava/lang/String;
-Landroid/icu/impl/TimeZoneGenericNames;-><init>(Landroid/icu/util/ULocale;)V
-Landroid/icu/impl/TimeZoneGenericNames;->createGenericMatchInfo(Landroid/icu/text/TimeZoneNames$MatchInfo;)Landroid/icu/impl/TimeZoneGenericNames$GenericMatchInfo;
-Landroid/icu/impl/TimeZoneGenericNames;->DST_CHECK_RANGE:J
-Landroid/icu/impl/TimeZoneGenericNames;->findLocal(Ljava/lang/String;ILjava/util/EnumSet;)Ljava/util/Collection;
-Landroid/icu/impl/TimeZoneGenericNames;->findTimeZoneNames(Ljava/lang/String;ILjava/util/EnumSet;)Ljava/util/Collection;
-Landroid/icu/impl/TimeZoneGenericNames;->formatGenericNonLocationName(Landroid/icu/util/TimeZone;Landroid/icu/impl/TimeZoneGenericNames$GenericNameType;J)Ljava/lang/String;
-Landroid/icu/impl/TimeZoneGenericNames;->formatPattern(Landroid/icu/impl/TimeZoneGenericNames$Pattern;[[Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/impl/TimeZoneGenericNames;->GENERIC_NAMES_CACHE:Landroid/icu/impl/TimeZoneGenericNames$Cache;
-Landroid/icu/impl/TimeZoneGenericNames;->GENERIC_NON_LOCATION_TYPES:[Landroid/icu/text/TimeZoneNames$NameType;
-Landroid/icu/impl/TimeZoneGenericNames;->getLocaleDisplayNames()Landroid/icu/text/LocaleDisplayNames;
-Landroid/icu/impl/TimeZoneGenericNames;->getPartialLocationName(Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Ljava/lang/String;
-Landroid/icu/impl/TimeZoneGenericNames;->getTargetRegion()Ljava/lang/String;
-Landroid/icu/impl/TimeZoneGenericNames;->init()V
-Landroid/icu/impl/TimeZoneGenericNames;->loadStrings(Ljava/lang/String;)V
-Landroid/icu/impl/TimeZoneGenericNames;->_frozen:Z
-Landroid/icu/impl/TimeZoneGenericNames;->_genericLocationNamesMap:Ljava/util/concurrent/ConcurrentHashMap;
-Landroid/icu/impl/TimeZoneGenericNames;->_genericPartialLocationNamesMap:Ljava/util/concurrent/ConcurrentHashMap;
-Landroid/icu/impl/TimeZoneGenericNames;->_gnamesTrie:Landroid/icu/impl/TextTrieMap;
-Landroid/icu/impl/TimeZoneGenericNames;->_gnamesTrieFullyLoaded:Z
-Landroid/icu/impl/TimeZoneGenericNames;->_locale:Landroid/icu/util/ULocale;
-Landroid/icu/impl/TimeZoneGenericNames;->_localeDisplayNamesRef:Ljava/lang/ref/WeakReference;
-Landroid/icu/impl/TimeZoneGenericNames;->_patternFormatters:[Ljava/text/MessageFormat;
-Landroid/icu/impl/TimeZoneGenericNames;->_region:Ljava/lang/String;
-Landroid/icu/impl/TimeZoneGenericNames;->_tznames:Landroid/icu/text/TimeZoneNames;
-Landroid/icu/impl/Trie$DefaultGetFoldingOffset;
-Landroid/icu/impl/Trie$DefaultGetFoldingOffset;-><init>()V
-Landroid/icu/impl/Trie2$CharSequenceIterator;-><init>(Ljava/lang/CharSequence;I)V
-Landroid/icu/impl/Trie2$CharSequenceIterator;->fResults:Landroid/icu/impl/Trie2$CharSequenceValues;
-Landroid/icu/impl/Trie2$CharSequenceIterator;->index:I
-Landroid/icu/impl/Trie2$CharSequenceIterator;->text:Ljava/lang/CharSequence;
-Landroid/icu/impl/Trie2$CharSequenceIterator;->textLength:I
-Landroid/icu/impl/Trie2$Trie2Iterator;
-Landroid/icu/impl/Trie2$Trie2Iterator;-><init>(CLandroid/icu/impl/Trie2$ValueMapper;)V
-Landroid/icu/impl/Trie2$Trie2Iterator;-><init>(Landroid/icu/impl/Trie2$ValueMapper;)V
-Landroid/icu/impl/Trie2$Trie2Iterator;->doingCodePoints:Z
-Landroid/icu/impl/Trie2$Trie2Iterator;->doLeadSurrogates:Z
-Landroid/icu/impl/Trie2$Trie2Iterator;->limitCP:I
-Landroid/icu/impl/Trie2$Trie2Iterator;->mapper:Landroid/icu/impl/Trie2$ValueMapper;
-Landroid/icu/impl/Trie2$Trie2Iterator;->nextStart:I
-Landroid/icu/impl/Trie2$Trie2Iterator;->rangeEndLS(C)I
-Landroid/icu/impl/Trie2$Trie2Iterator;->returnValue:Landroid/icu/impl/Trie2$Range;
-Landroid/icu/impl/Trie2$UTrie2Header;
-Landroid/icu/impl/Trie2$UTrie2Header;-><init>()V
-Landroid/icu/impl/Trie2$UTrie2Header;->dataNullOffset:I
-Landroid/icu/impl/Trie2$UTrie2Header;->index2NullOffset:I
-Landroid/icu/impl/Trie2$UTrie2Header;->indexLength:I
-Landroid/icu/impl/Trie2$UTrie2Header;->options:I
-Landroid/icu/impl/Trie2$UTrie2Header;->shiftedDataLength:I
-Landroid/icu/impl/Trie2$UTrie2Header;->shiftedHighStart:I
-Landroid/icu/impl/Trie2$UTrie2Header;->signature:I
-Landroid/icu/impl/Trie2$ValueWidth;
-Landroid/icu/impl/Trie2$ValueWidth;-><init>()V
-Landroid/icu/impl/Trie2$ValueWidth;->BITS_16:Landroid/icu/impl/Trie2$ValueWidth;
-Landroid/icu/impl/Trie2$ValueWidth;->BITS_32:Landroid/icu/impl/Trie2$ValueWidth;
-Landroid/icu/impl/Trie2$ValueWidth;->valueOf(Ljava/lang/String;)Landroid/icu/impl/Trie2$ValueWidth;
-Landroid/icu/impl/Trie2$ValueWidth;->values()[Landroid/icu/impl/Trie2$ValueWidth;
-Landroid/icu/impl/Trie2;->data16:I
-Landroid/icu/impl/Trie2;->data32:[I
-Landroid/icu/impl/Trie2;->dataLength:I
-Landroid/icu/impl/Trie2;->dataNullOffset:I
-Landroid/icu/impl/Trie2;->defaultValueMapper:Landroid/icu/impl/Trie2$ValueMapper;
-Landroid/icu/impl/Trie2;->errorValue:I
-Landroid/icu/impl/Trie2;->fHash:I
-Landroid/icu/impl/Trie2;->hashByte(II)I
-Landroid/icu/impl/Trie2;->hashInt(II)I
-Landroid/icu/impl/Trie2;->hashUChar32(II)I
-Landroid/icu/impl/Trie2;->header:Landroid/icu/impl/Trie2$UTrie2Header;
-Landroid/icu/impl/Trie2;->highStart:I
-Landroid/icu/impl/Trie2;->highValueIndex:I
-Landroid/icu/impl/Trie2;->index2NullOffset:I
-Landroid/icu/impl/Trie2;->index:[C
-Landroid/icu/impl/Trie2;->indexLength:I
-Landroid/icu/impl/Trie2;->initHash()I
-Landroid/icu/impl/Trie2;->initialValue:I
-Landroid/icu/impl/Trie2;->rangeEnd(III)I
-Landroid/icu/impl/Trie2;->UNEWTRIE2_INDEX_1_LENGTH:I
-Landroid/icu/impl/Trie2;->UNEWTRIE2_INDEX_GAP_LENGTH:I
-Landroid/icu/impl/Trie2;->UNEWTRIE2_INDEX_GAP_OFFSET:I
-Landroid/icu/impl/Trie2;->UNEWTRIE2_MAX_DATA_LENGTH:I
-Landroid/icu/impl/Trie2;->UNEWTRIE2_MAX_INDEX_2_LENGTH:I
-Landroid/icu/impl/Trie2;->UTRIE2_BAD_UTF8_DATA_OFFSET:I
-Landroid/icu/impl/Trie2;->UTRIE2_CP_PER_INDEX_1_ENTRY:I
-Landroid/icu/impl/Trie2;->UTRIE2_DATA_BLOCK_LENGTH:I
-Landroid/icu/impl/Trie2;->UTRIE2_DATA_GRANULARITY:I
-Landroid/icu/impl/Trie2;->UTRIE2_DATA_MASK:I
-Landroid/icu/impl/Trie2;->UTRIE2_DATA_START_OFFSET:I
-Landroid/icu/impl/Trie2;->UTRIE2_INDEX_1_OFFSET:I
-Landroid/icu/impl/Trie2;->UTRIE2_INDEX_2_BLOCK_LENGTH:I
-Landroid/icu/impl/Trie2;->UTRIE2_INDEX_2_BMP_LENGTH:I
-Landroid/icu/impl/Trie2;->UTRIE2_INDEX_2_MASK:I
-Landroid/icu/impl/Trie2;->UTRIE2_INDEX_2_OFFSET:I
-Landroid/icu/impl/Trie2;->UTRIE2_INDEX_SHIFT:I
-Landroid/icu/impl/Trie2;->UTRIE2_LSCP_INDEX_2_LENGTH:I
-Landroid/icu/impl/Trie2;->UTRIE2_LSCP_INDEX_2_OFFSET:I
-Landroid/icu/impl/Trie2;->UTRIE2_MAX_INDEX_1_LENGTH:I
-Landroid/icu/impl/Trie2;->UTRIE2_OMITTED_BMP_INDEX_1_LENGTH:I
-Landroid/icu/impl/Trie2;->UTRIE2_OPTIONS_VALUE_BITS_MASK:I
-Landroid/icu/impl/Trie2;->UTRIE2_SHIFT_1:I
-Landroid/icu/impl/Trie2;->UTRIE2_SHIFT_1_2:I
-Landroid/icu/impl/Trie2;->UTRIE2_SHIFT_2:I
-Landroid/icu/impl/Trie2;->UTRIE2_UTF8_2B_INDEX_2_LENGTH:I
-Landroid/icu/impl/Trie2;->UTRIE2_UTF8_2B_INDEX_2_OFFSET:I
-Landroid/icu/impl/Trie2Writable;->allocDataBlock(I)I
-Landroid/icu/impl/Trie2Writable;->allocIndex2Block()I
-Landroid/icu/impl/Trie2Writable;->compactData()V
-Landroid/icu/impl/Trie2Writable;->compactIndex2()V
-Landroid/icu/impl/Trie2Writable;->compactTrie()V
-Landroid/icu/impl/Trie2Writable;->data:[I
-Landroid/icu/impl/Trie2Writable;->dataCapacity:I
-Landroid/icu/impl/Trie2Writable;->equal_int([IIII)Z
-Landroid/icu/impl/Trie2Writable;->fillBlock(IIIIIZ)V
-Landroid/icu/impl/Trie2Writable;->findHighStart(I)I
-Landroid/icu/impl/Trie2Writable;->findSameDataBlock(III)I
-Landroid/icu/impl/Trie2Writable;->findSameIndex2Block(II)I
-Landroid/icu/impl/Trie2Writable;->firstFreeBlock:I
-Landroid/icu/impl/Trie2Writable;->freeze(Landroid/icu/impl/Trie2;Landroid/icu/impl/Trie2$ValueWidth;)V
-Landroid/icu/impl/Trie2Writable;->get(IZ)I
-Landroid/icu/impl/Trie2Writable;->getDataBlock(IZ)I
-Landroid/icu/impl/Trie2Writable;->getIndex2Block(IZ)I
-Landroid/icu/impl/Trie2Writable;->index1:[I
-Landroid/icu/impl/Trie2Writable;->index2:[I
-Landroid/icu/impl/Trie2Writable;->index2Length:I
-Landroid/icu/impl/Trie2Writable;->index2NullOffset:I
-Landroid/icu/impl/Trie2Writable;->init(II)V
-Landroid/icu/impl/Trie2Writable;->isCompacted:Z
-Landroid/icu/impl/Trie2Writable;->isInNullBlock(IZ)Z
-Landroid/icu/impl/Trie2Writable;->isWritableBlock(I)Z
-Landroid/icu/impl/Trie2Writable;->map:[I
-Landroid/icu/impl/Trie2Writable;->releaseDataBlock(I)V
-Landroid/icu/impl/Trie2Writable;->set(IZI)Landroid/icu/impl/Trie2Writable;
-Landroid/icu/impl/Trie2Writable;->setIndex2Entry(II)V
-Landroid/icu/impl/Trie2Writable;->uncompact()V
-Landroid/icu/impl/Trie2Writable;->UNEWTRIE2_DATA_0800_OFFSET:I
-Landroid/icu/impl/Trie2Writable;->UNEWTRIE2_DATA_NULL_OFFSET:I
-Landroid/icu/impl/Trie2Writable;->UNEWTRIE2_DATA_START_OFFSET:I
-Landroid/icu/impl/Trie2Writable;->UNEWTRIE2_INDEX_2_NULL_OFFSET:I
-Landroid/icu/impl/Trie2Writable;->UNEWTRIE2_INDEX_2_START_OFFSET:I
-Landroid/icu/impl/Trie2Writable;->UNEWTRIE2_INITIAL_DATA_LENGTH:I
-Landroid/icu/impl/Trie2Writable;->UNEWTRIE2_MEDIUM_DATA_LENGTH:I
-Landroid/icu/impl/Trie2Writable;->UTRIE2_DEBUG:Z
-Landroid/icu/impl/Trie2Writable;->UTRIE2_MAX_DATA_LENGTH:I
-Landroid/icu/impl/Trie2Writable;->UTRIE2_MAX_INDEX_LENGTH:I
-Landroid/icu/impl/Trie2Writable;->writeBlock(II)V
-Landroid/icu/impl/Trie2_16;-><init>()V
-Landroid/icu/impl/Trie2_16;->rangeEnd(III)I
-Landroid/icu/impl/Trie2_32;-><init>()V
-Landroid/icu/impl/Trie2_32;->rangeEnd(III)I
-Landroid/icu/impl/Trie;->checkHeader(I)Z
-Landroid/icu/impl/Trie;->HEADER_OPTIONS_SHIFT_MASK_:I
-Landroid/icu/impl/Trie;->m_isLatin1Linear_:Z
-Landroid/icu/impl/Trie;->m_options_:I
-Landroid/icu/impl/UBiDiProps$IsAcceptable;
-Landroid/icu/impl/UBiDiProps$IsAcceptable;-><init>()V
-Landroid/icu/impl/UBiDiProps;-><init>()V
-Landroid/icu/impl/UBiDiProps;->BIDI_CONTROL_SHIFT:I
-Landroid/icu/impl/UBiDiProps;->BPT_MASK:I
-Landroid/icu/impl/UBiDiProps;->BPT_SHIFT:I
-Landroid/icu/impl/UBiDiProps;->CLASS_MASK:I
-Landroid/icu/impl/UBiDiProps;->DATA_FILE_NAME:Ljava/lang/String;
-Landroid/icu/impl/UBiDiProps;->DATA_NAME:Ljava/lang/String;
-Landroid/icu/impl/UBiDiProps;->DATA_TYPE:Ljava/lang/String;
-Landroid/icu/impl/UBiDiProps;->ESC_MIRROR_DELTA:I
-Landroid/icu/impl/UBiDiProps;->FMT:I
-Landroid/icu/impl/UBiDiProps;->getClassFromProps(I)I
-Landroid/icu/impl/UBiDiProps;->getFlagFromProps(II)Z
-Landroid/icu/impl/UBiDiProps;->getMirror(II)I
-Landroid/icu/impl/UBiDiProps;->getMirrorCodePoint(I)I
-Landroid/icu/impl/UBiDiProps;->getMirrorDeltaFromProps(I)I
-Landroid/icu/impl/UBiDiProps;->getMirrorIndex(I)I
-Landroid/icu/impl/UBiDiProps;->indexes:[I
-Landroid/icu/impl/UBiDiProps;->IS_MIRRORED_SHIFT:I
-Landroid/icu/impl/UBiDiProps;->IX_JG_LIMIT2:I
-Landroid/icu/impl/UBiDiProps;->IX_JG_LIMIT:I
-Landroid/icu/impl/UBiDiProps;->IX_JG_START2:I
-Landroid/icu/impl/UBiDiProps;->IX_JG_START:I
-Landroid/icu/impl/UBiDiProps;->IX_MAX_VALUES:I
-Landroid/icu/impl/UBiDiProps;->IX_MIRROR_LENGTH:I
-Landroid/icu/impl/UBiDiProps;->IX_TOP:I
-Landroid/icu/impl/UBiDiProps;->IX_TRIE_SIZE:I
-Landroid/icu/impl/UBiDiProps;->jgArray2:[B
-Landroid/icu/impl/UBiDiProps;->jgArray:[B
-Landroid/icu/impl/UBiDiProps;->JOIN_CONTROL_SHIFT:I
-Landroid/icu/impl/UBiDiProps;->JT_MASK:I
-Landroid/icu/impl/UBiDiProps;->JT_SHIFT:I
-Landroid/icu/impl/UBiDiProps;->MAX_JG_MASK:I
-Landroid/icu/impl/UBiDiProps;->MAX_JG_SHIFT:I
-Landroid/icu/impl/UBiDiProps;->mirrors:[I
-Landroid/icu/impl/UBiDiProps;->MIRROR_DELTA_SHIFT:I
-Landroid/icu/impl/UBiDiProps;->MIRROR_INDEX_SHIFT:I
-Landroid/icu/impl/UBiDiProps;->readData(Ljava/nio/ByteBuffer;)V
-Landroid/icu/impl/UBiDiProps;->trie:Landroid/icu/impl/Trie2_16;
-Landroid/icu/impl/UnicodeSetStringSpan$OffsetList;
-Landroid/icu/impl/UnicodeSetStringSpan$OffsetList;-><init>()V
-Landroid/icu/impl/UnicodeSetStringSpan$OffsetList;->addOffset(I)V
-Landroid/icu/impl/UnicodeSetStringSpan$OffsetList;->addOffsetAndCount(II)V
-Landroid/icu/impl/UnicodeSetStringSpan$OffsetList;->clear()V
-Landroid/icu/impl/UnicodeSetStringSpan$OffsetList;->containsOffset(I)Z
-Landroid/icu/impl/UnicodeSetStringSpan$OffsetList;->hasCountAtOffset(II)Z
-Landroid/icu/impl/UnicodeSetStringSpan$OffsetList;->isEmpty()Z
-Landroid/icu/impl/UnicodeSetStringSpan$OffsetList;->length:I
-Landroid/icu/impl/UnicodeSetStringSpan$OffsetList;->list:[I
-Landroid/icu/impl/UnicodeSetStringSpan$OffsetList;->popMinimum(Landroid/icu/util/OutputInt;)I
-Landroid/icu/impl/UnicodeSetStringSpan$OffsetList;->setMaxLength(I)V
-Landroid/icu/impl/UnicodeSetStringSpan$OffsetList;->shift(I)V
-Landroid/icu/impl/UnicodeSetStringSpan$OffsetList;->start:I
-Landroid/icu/impl/UnicodeSetStringSpan;->addToSpanNotSet(I)V
-Landroid/icu/impl/UnicodeSetStringSpan;->all:Z
-Landroid/icu/impl/UnicodeSetStringSpan;->ALL_CP_CONTAINED:S
-Landroid/icu/impl/UnicodeSetStringSpan;->LONG_SPAN:S
-Landroid/icu/impl/UnicodeSetStringSpan;->makeSpanLengthByte(I)S
-Landroid/icu/impl/UnicodeSetStringSpan;->matches16(Ljava/lang/CharSequence;ILjava/lang/String;I)Z
-Landroid/icu/impl/UnicodeSetStringSpan;->matches16CPB(Ljava/lang/CharSequence;IILjava/lang/String;I)Z
-Landroid/icu/impl/UnicodeSetStringSpan;->maxLength16:I
-Landroid/icu/impl/UnicodeSetStringSpan;->offsets:Landroid/icu/impl/UnicodeSetStringSpan$OffsetList;
-Landroid/icu/impl/UnicodeSetStringSpan;->someRelevant:Z
-Landroid/icu/impl/UnicodeSetStringSpan;->spanContainedAndCount(Ljava/lang/CharSequence;ILandroid/icu/util/OutputInt;)I
-Landroid/icu/impl/UnicodeSetStringSpan;->spanLengths:[S
-Landroid/icu/impl/UnicodeSetStringSpan;->spanNot(Ljava/lang/CharSequence;ILandroid/icu/util/OutputInt;)I
-Landroid/icu/impl/UnicodeSetStringSpan;->spanNotBack(Ljava/lang/CharSequence;I)I
-Landroid/icu/impl/UnicodeSetStringSpan;->spanNotSet:Landroid/icu/text/UnicodeSet;
-Landroid/icu/impl/UnicodeSetStringSpan;->spanOne(Landroid/icu/text/UnicodeSet;Ljava/lang/CharSequence;II)I
-Landroid/icu/impl/UnicodeSetStringSpan;->spanOneBack(Landroid/icu/text/UnicodeSet;Ljava/lang/CharSequence;I)I
-Landroid/icu/impl/UnicodeSetStringSpan;->spanSet:Landroid/icu/text/UnicodeSet;
-Landroid/icu/impl/UnicodeSetStringSpan;->spanWithStrings(Ljava/lang/CharSequence;IILandroid/icu/text/UnicodeSet$SpanCondition;)I
-Landroid/icu/impl/UnicodeSetStringSpan;->strings:Ljava/util/ArrayList;
-Landroid/icu/impl/UResource$Key;-><init>([BII)V
-Landroid/icu/impl/UResource$Key;->bytes:[B
-Landroid/icu/impl/UResource$Key;->internalSubString(II)Ljava/lang/String;
-Landroid/icu/impl/UResource$Key;->length:I
-Landroid/icu/impl/UResource$Key;->offset:I
-Landroid/icu/impl/UResource$Key;->regionMatches(ILjava/lang/CharSequence;I)Z
-Landroid/icu/impl/UResource$Key;->regionMatches([BII)Z
-Landroid/icu/impl/UResource$Key;->s:Ljava/lang/String;
-Landroid/icu/lang/CharSequences;
-Landroid/icu/lang/CharSequences;-><init>()V
-Landroid/icu/lang/CharSequences;->codePointLength(Ljava/lang/CharSequence;)I
-Landroid/icu/lang/CharSequences;->codePoints(Ljava/lang/CharSequence;)[I
-Landroid/icu/lang/CharSequences;->compare(ILjava/lang/CharSequence;)I
-Landroid/icu/lang/CharSequences;->compare(Ljava/lang/CharSequence;I)I
-Landroid/icu/lang/CharSequences;->compare(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I
-Landroid/icu/lang/CharSequences;->equals(ILjava/lang/CharSequence;)Z
-Landroid/icu/lang/CharSequences;->equals(Ljava/lang/CharSequence;I)Z
-Landroid/icu/lang/CharSequences;->equals(Ljava/lang/Object;Ljava/lang/Object;)Z
-Landroid/icu/lang/CharSequences;->equalsChars(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
-Landroid/icu/lang/CharSequences;->getSingleCodePoint(Ljava/lang/CharSequence;)I
-Landroid/icu/lang/CharSequences;->indexOf(Ljava/lang/CharSequence;I)I
-Landroid/icu/lang/CharSequences;->matchAfter(Ljava/lang/CharSequence;Ljava/lang/CharSequence;II)I
-Landroid/icu/lang/CharSequences;->onCharacterBoundary(Ljava/lang/CharSequence;I)Z
-Landroid/icu/lang/UCharacter$BidiPairedBracketType;->COUNT:I
-Landroid/icu/lang/UCharacter$DecompositionType;->COUNT:I
-Landroid/icu/lang/UCharacter$DummyValueIterator;
-Landroid/icu/lang/UCharacter$DummyValueIterator;-><init>()V
-Landroid/icu/lang/UCharacter$EastAsianWidth;->COUNT:I
-Landroid/icu/lang/UCharacter$GraphemeClusterBreak;->COUNT:I
-Landroid/icu/lang/UCharacter$HangulSyllableType;->COUNT:I
-Landroid/icu/lang/UCharacter$JoiningGroup;->COUNT:I
-Landroid/icu/lang/UCharacter$JoiningType;->COUNT:I
-Landroid/icu/lang/UCharacter$LineBreak;->COUNT:I
-Landroid/icu/lang/UCharacter$NumericType;->COUNT:I
-Landroid/icu/lang/UCharacter$SentenceBreak;->COUNT:I
-Landroid/icu/lang/UCharacter$UCharacterTypeIterator$MaskType;
-Landroid/icu/lang/UCharacter$UCharacterTypeIterator$MaskType;-><init>()V
-Landroid/icu/lang/UCharacter$UCharacterTypeIterator;
-Landroid/icu/lang/UCharacter$UCharacterTypeIterator;-><init>()V
-Landroid/icu/lang/UCharacter$UCharacterTypeIterator;->MASK_TYPE:Landroid/icu/lang/UCharacter$UCharacterTypeIterator$MaskType;
-Landroid/icu/lang/UCharacter$UCharacterTypeIterator;->range:Landroid/icu/impl/Trie2$Range;
-Landroid/icu/lang/UCharacter$UCharacterTypeIterator;->trieIterator:Ljava/util/Iterator;
-Landroid/icu/lang/UCharacter$UnicodeBlock;-><init>(Ljava/lang/String;I)V
-Landroid/icu/lang/UCharacter$UnicodeBlock;->BLOCKS_:[Landroid/icu/lang/UCharacter$UnicodeBlock;
-Landroid/icu/lang/UCharacter$UnicodeBlock;->COUNT:I
-Landroid/icu/lang/UCharacter$UnicodeBlock;->mref:Ljava/lang/ref/SoftReference;
-Landroid/icu/lang/UCharacter$UnicodeBlock;->m_id_:I
-Landroid/icu/lang/UCharacter$UnicodeBlock;->trimBlockName(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/lang/UCharacter$WordBreak;->COUNT:I
-Landroid/icu/lang/UCharacter;-><init>()V
-Landroid/icu/lang/UCharacter;->APPLICATION_PROGRAM_COMMAND_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_COMPLEX_EIGHT_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_COMPLEX_FIVE_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_COMPLEX_FOUR_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_COMPLEX_HUNDRED_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_COMPLEX_NINE_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_COMPLEX_ONE_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_COMPLEX_SEVEN_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_COMPLEX_SIX_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_COMPLEX_TEN_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_COMPLEX_THOUSAND_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_COMPLEX_THREE_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_COMPLEX_TWO_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_COMPLEX_ZERO_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_EIGHTH_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_FIFTH_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_FIRST_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_FOURTH_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_HUNDRED_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_HUNDRED_MILLION_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_NINETH_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_SECOND_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_SEVENTH_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_SIXTH_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_TEN_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_TEN_THOUSAND_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_THIRD_:I
-Landroid/icu/lang/UCharacter;->CJK_IDEOGRAPH_THOUSAND_:I
-Landroid/icu/lang/UCharacter;->DELETE_:I
-Landroid/icu/lang/UCharacter;->FIGURE_SPACE_:I
-Landroid/icu/lang/UCharacter;->getCaseLocale(Landroid/icu/util/ULocale;)I
-Landroid/icu/lang/UCharacter;->getCaseLocale(Ljava/util/Locale;)I
-Landroid/icu/lang/UCharacter;->getCharFromName1_0(Ljava/lang/String;)I
-Landroid/icu/lang/UCharacter;->getDefaultCaseLocale()I
-Landroid/icu/lang/UCharacter;->getISOComment(I)Ljava/lang/String;
-Landroid/icu/lang/UCharacter;->getName1_0(I)Ljava/lang/String;
-Landroid/icu/lang/UCharacter;->getName1_0Iterator()Landroid/icu/util/ValueIterator;
-Landroid/icu/lang/UCharacter;->getPropertyValueEnumNoThrow(ILjava/lang/CharSequence;)I
-Landroid/icu/lang/UCharacter;->getStringPropertyValue(III)Ljava/lang/String;
-Landroid/icu/lang/UCharacter;->IDEOGRAPHIC_NUMBER_ZERO_:I
-Landroid/icu/lang/UCharacter;->isJavaLetter(I)Z
-Landroid/icu/lang/UCharacter;->isJavaLetterOrDigit(I)Z
-Landroid/icu/lang/UCharacter;->isSpace(I)Z
-Landroid/icu/lang/UCharacter;->LAST_CHAR_MASK_:I
-Landroid/icu/lang/UCharacter;->NARROW_NO_BREAK_SPACE_:I
-Landroid/icu/lang/UCharacter;->NO_BREAK_SPACE_:I
-Landroid/icu/lang/UCharacter;->toTitleFirst(Landroid/icu/util/ULocale;Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/lang/UCharacter;->TO_TITLE_WHOLE_STRING_NO_LOWERCASE:Landroid/icu/text/CaseMap$Title;
-Landroid/icu/lang/UCharacter;->UNIT_SEPARATOR_:I
-Landroid/icu/lang/UCharacterCategory;-><init>()V
-Landroid/icu/lang/UCharacterDirection;-><init>()V
-Landroid/icu/lang/UCharacterEnums$ECharacterCategory;->CHAR_CATEGORY_COUNT:B
-Landroid/icu/lang/UCharacterEnums$ECharacterDirection;->CHAR_DIRECTION_COUNT:I
-Landroid/icu/lang/UCharacterEnums;-><init>()V
-Landroid/icu/lang/UProperty$NameChoice;->COUNT:I
-Landroid/icu/lang/UProperty;->BINARY_LIMIT:I
-Landroid/icu/lang/UProperty;->DOUBLE_LIMIT:I
-Landroid/icu/lang/UProperty;->INT_LIMIT:I
-Landroid/icu/lang/UProperty;->ISO_COMMENT:I
-Landroid/icu/lang/UProperty;->MASK_LIMIT:I
-Landroid/icu/lang/UProperty;->OTHER_PROPERTY_LIMIT:I
-Landroid/icu/lang/UProperty;->STRING_LIMIT:I
-Landroid/icu/lang/UProperty;->UNDEFINED:I
-Landroid/icu/lang/UProperty;->UNICODE_1_NAME:I
-Landroid/icu/lang/UScript$ScriptMetadata;
-Landroid/icu/lang/UScript$ScriptMetadata;-><init>()V
-Landroid/icu/lang/UScript$ScriptMetadata;->CASED:I
-Landroid/icu/lang/UScript$ScriptMetadata;->EXCLUSION:I
-Landroid/icu/lang/UScript$ScriptMetadata;->getScriptProps(I)I
-Landroid/icu/lang/UScript$ScriptMetadata;->LB_LETTERS:I
-Landroid/icu/lang/UScript$ScriptMetadata;->LIMITED_USE:I
-Landroid/icu/lang/UScript$ScriptMetadata;->RECOMMENDED:I
-Landroid/icu/lang/UScript$ScriptMetadata;->RTL:I
-Landroid/icu/lang/UScript$ScriptMetadata;->SCRIPT_PROPS:[I
-Landroid/icu/lang/UScript$ScriptMetadata;->UNKNOWN:I
-Landroid/icu/lang/UScript$ScriptUsage;-><init>()V
-Landroid/icu/lang/UScript;-><init>()V
-Landroid/icu/lang/UScript;->CODE_LIMIT:I
-Landroid/icu/lang/UScript;->DUPLOYAN_SHORTAND:I
-Landroid/icu/lang/UScript;->findCodeFromLocale(Landroid/icu/util/ULocale;)[I
-Landroid/icu/lang/UScript;->getCodesFromLocale(Landroid/icu/util/ULocale;)[I
-Landroid/icu/lang/UScript;->usageValues:[Landroid/icu/lang/UScript$ScriptUsage;
-Landroid/icu/lang/UScriptRun$ParenStackEntry;
-Landroid/icu/lang/UScriptRun$ParenStackEntry;-><init>(II)V
-Landroid/icu/lang/UScriptRun$ParenStackEntry;->pairIndex:I
-Landroid/icu/lang/UScriptRun$ParenStackEntry;->scriptCode:I
-Landroid/icu/lang/UScriptRun;
-Landroid/icu/lang/UScriptRun;-><init>()V
-Landroid/icu/lang/UScriptRun;-><init>(Ljava/lang/String;)V
-Landroid/icu/lang/UScriptRun;-><init>(Ljava/lang/String;II)V
-Landroid/icu/lang/UScriptRun;-><init>([C)V
-Landroid/icu/lang/UScriptRun;-><init>([CII)V
-Landroid/icu/lang/UScriptRun;->dec(I)I
-Landroid/icu/lang/UScriptRun;->dec(II)I
-Landroid/icu/lang/UScriptRun;->emptyCharArray:[C
-Landroid/icu/lang/UScriptRun;->fixup(I)V
-Landroid/icu/lang/UScriptRun;->fixupCount:I
-Landroid/icu/lang/UScriptRun;->getPairIndex(I)I
-Landroid/icu/lang/UScriptRun;->getScriptCode()I
-Landroid/icu/lang/UScriptRun;->getScriptLimit()I
-Landroid/icu/lang/UScriptRun;->getScriptStart()I
-Landroid/icu/lang/UScriptRun;->highBit(I)B
-Landroid/icu/lang/UScriptRun;->inc(I)I
-Landroid/icu/lang/UScriptRun;->inc(II)I
-Landroid/icu/lang/UScriptRun;->limitInc(I)I
-Landroid/icu/lang/UScriptRun;->mod(I)I
-Landroid/icu/lang/UScriptRun;->next()Z
-Landroid/icu/lang/UScriptRun;->pairedCharExtra:I
-Landroid/icu/lang/UScriptRun;->pairedCharPower:I
-Landroid/icu/lang/UScriptRun;->pairedChars:[I
-Landroid/icu/lang/UScriptRun;->parenSP:I
-Landroid/icu/lang/UScriptRun;->parenStack:[Landroid/icu/lang/UScriptRun$ParenStackEntry;
-Landroid/icu/lang/UScriptRun;->PAREN_STACK_DEPTH:I
-Landroid/icu/lang/UScriptRun;->pop()V
-Landroid/icu/lang/UScriptRun;->push(II)V
-Landroid/icu/lang/UScriptRun;->pushCount:I
-Landroid/icu/lang/UScriptRun;->reset()V
-Landroid/icu/lang/UScriptRun;->reset(II)V
-Landroid/icu/lang/UScriptRun;->reset(Ljava/lang/String;)V
-Landroid/icu/lang/UScriptRun;->reset(Ljava/lang/String;II)V
-Landroid/icu/lang/UScriptRun;->reset([C)V
-Landroid/icu/lang/UScriptRun;->reset([CII)V
-Landroid/icu/lang/UScriptRun;->sameScript(II)Z
-Landroid/icu/lang/UScriptRun;->scriptCode:I
-Landroid/icu/lang/UScriptRun;->scriptLimit:I
-Landroid/icu/lang/UScriptRun;->scriptStart:I
-Landroid/icu/lang/UScriptRun;->stackIsEmpty()Z
-Landroid/icu/lang/UScriptRun;->stackIsNotEmpty()Z
-Landroid/icu/lang/UScriptRun;->syncFixup()V
-Landroid/icu/lang/UScriptRun;->text:[C
-Landroid/icu/lang/UScriptRun;->textIndex:I
-Landroid/icu/lang/UScriptRun;->textLimit:I
-Landroid/icu/lang/UScriptRun;->textStart:I
-Landroid/icu/lang/UScriptRun;->top()Landroid/icu/lang/UScriptRun$ParenStackEntry;
-Landroid/icu/math/BigDecimal;-><init>()V
-Landroid/icu/math/BigDecimal;->allzero([BI)Z
-Landroid/icu/math/BigDecimal;->bad([C)V
-Landroid/icu/math/BigDecimal;->badarg(Ljava/lang/String;ILjava/lang/String;)V
-Landroid/icu/math/BigDecimal;->byteaddsub([BI[BIIZ)[B
-Landroid/icu/math/BigDecimal;->bytecar:[B
-Landroid/icu/math/BigDecimal;->bytedig:[B
-Landroid/icu/math/BigDecimal;->checkdigits(Landroid/icu/math/BigDecimal;I)V
-Landroid/icu/math/BigDecimal;->clone(Landroid/icu/math/BigDecimal;)Landroid/icu/math/BigDecimal;
-Landroid/icu/math/BigDecimal;->diginit()[B
-Landroid/icu/math/BigDecimal;->dodivide(CLandroid/icu/math/BigDecimal;Landroid/icu/math/MathContext;I)Landroid/icu/math/BigDecimal;
-Landroid/icu/math/BigDecimal;->exp:I
-Landroid/icu/math/BigDecimal;->extend([BI)[B
-Landroid/icu/math/BigDecimal;->finish(Landroid/icu/math/MathContext;Z)Landroid/icu/math/BigDecimal;
-Landroid/icu/math/BigDecimal;->form:B
-Landroid/icu/math/BigDecimal;->ind:B
-Landroid/icu/math/BigDecimal;->intcheck(II)I
-Landroid/icu/math/BigDecimal;->isneg:B
-Landroid/icu/math/BigDecimal;->ispos:B
-Landroid/icu/math/BigDecimal;->iszero:B
-Landroid/icu/math/BigDecimal;->layout()[C
-Landroid/icu/math/BigDecimal;->mant:[B
-Landroid/icu/math/BigDecimal;->MaxArg:I
-Landroid/icu/math/BigDecimal;->MaxExp:I
-Landroid/icu/math/BigDecimal;->MinArg:I
-Landroid/icu/math/BigDecimal;->MinExp:I
-Landroid/icu/math/BigDecimal;->plainMC:Landroid/icu/math/MathContext;
-Landroid/icu/math/BigDecimal;->round(II)Landroid/icu/math/BigDecimal;
-Landroid/icu/math/BigDecimal;->round(Landroid/icu/math/MathContext;)Landroid/icu/math/BigDecimal;
-Landroid/icu/math/MathContext;->DEFAULT_DIGITS:I
-Landroid/icu/math/MathContext;->DEFAULT_FORM:I
-Landroid/icu/math/MathContext;->DEFAULT_LOSTDIGITS:Z
-Landroid/icu/math/MathContext;->DEFAULT_ROUNDINGMODE:I
-Landroid/icu/math/MathContext;->digits:I
-Landroid/icu/math/MathContext;->form:I
-Landroid/icu/math/MathContext;->isValidRound(I)Z
-Landroid/icu/math/MathContext;->lostDigits:Z
-Landroid/icu/math/MathContext;->MAX_DIGITS:I
-Landroid/icu/math/MathContext;->MIN_DIGITS:I
-Landroid/icu/math/MathContext;->roundingMode:I
-Landroid/icu/math/MathContext;->ROUNDS:[I
-Landroid/icu/math/MathContext;->ROUNDWORDS:[Ljava/lang/String;
-Landroid/icu/text/AlphabeticIndex$Bucket$LabelType;-><init>()V
-Landroid/icu/text/AlphabeticIndex$Bucket;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/icu/text/AlphabeticIndex$Bucket$LabelType;)V
-Landroid/icu/text/AlphabeticIndex$Bucket;->displayBucket:Landroid/icu/text/AlphabeticIndex$Bucket;
-Landroid/icu/text/AlphabeticIndex$Bucket;->displayIndex:I
-Landroid/icu/text/AlphabeticIndex$Bucket;->label:Ljava/lang/String;
-Landroid/icu/text/AlphabeticIndex$Bucket;->labelType:Landroid/icu/text/AlphabeticIndex$Bucket$LabelType;
-Landroid/icu/text/AlphabeticIndex$Bucket;->lowerBoundary:Ljava/lang/String;
-Landroid/icu/text/AlphabeticIndex$Bucket;->records:Ljava/util/List;
-Landroid/icu/text/AlphabeticIndex$BucketList;
-Landroid/icu/text/AlphabeticIndex$BucketList;-><init>(Ljava/util/ArrayList;Ljava/util/ArrayList;)V
-Landroid/icu/text/AlphabeticIndex$BucketList;->bucketList:Ljava/util/ArrayList;
-Landroid/icu/text/AlphabeticIndex$BucketList;->fullIterator()Ljava/util/Iterator;
-Landroid/icu/text/AlphabeticIndex$BucketList;->getBucketCount()I
-Landroid/icu/text/AlphabeticIndex$BucketList;->getBucketIndex(Ljava/lang/CharSequence;Landroid/icu/text/Collator;)I
-Landroid/icu/text/AlphabeticIndex$BucketList;->immutableVisibleList:Ljava/util/List;
-Landroid/icu/text/AlphabeticIndex$ImmutableIndex;-><init>(Landroid/icu/text/AlphabeticIndex$BucketList;Landroid/icu/text/Collator;)V
-Landroid/icu/text/AlphabeticIndex$ImmutableIndex;->buckets:Landroid/icu/text/AlphabeticIndex$BucketList;
-Landroid/icu/text/AlphabeticIndex$ImmutableIndex;->collatorPrimaryOnly:Landroid/icu/text/Collator;
-Landroid/icu/text/AlphabeticIndex$Record;-><init>(Ljava/lang/CharSequence;Ljava/lang/Object;)V
-Landroid/icu/text/AlphabeticIndex$Record;->data:Ljava/lang/Object;
-Landroid/icu/text/AlphabeticIndex$Record;->name:Ljava/lang/CharSequence;
-Landroid/icu/text/AlphabeticIndex;-><init>(Landroid/icu/util/ULocale;Landroid/icu/text/RuleBasedCollator;)V
-Landroid/icu/text/AlphabeticIndex;->addChineseIndexCharacters()Z
-Landroid/icu/text/AlphabeticIndex;->addIndexExemplars(Landroid/icu/util/ULocale;)V
-Landroid/icu/text/AlphabeticIndex;->BASE:Ljava/lang/String;
-Landroid/icu/text/AlphabeticIndex;->binaryCmp:Ljava/util/Comparator;
-Landroid/icu/text/AlphabeticIndex;->buckets:Landroid/icu/text/AlphabeticIndex$BucketList;
-Landroid/icu/text/AlphabeticIndex;->CGJ:C
-Landroid/icu/text/AlphabeticIndex;->collatorExternal:Landroid/icu/text/RuleBasedCollator;
-Landroid/icu/text/AlphabeticIndex;->collatorOriginal:Landroid/icu/text/RuleBasedCollator;
-Landroid/icu/text/AlphabeticIndex;->collatorPrimaryOnly:Landroid/icu/text/RuleBasedCollator;
-Landroid/icu/text/AlphabeticIndex;->createBucketList()Landroid/icu/text/AlphabeticIndex$BucketList;
-Landroid/icu/text/AlphabeticIndex;->firstCharsInScripts:Ljava/util/List;
-Landroid/icu/text/AlphabeticIndex;->fixLabel(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/AlphabeticIndex;->GC_CN_MASK:I
-Landroid/icu/text/AlphabeticIndex;->GC_LL_MASK:I
-Landroid/icu/text/AlphabeticIndex;->GC_LM_MASK:I
-Landroid/icu/text/AlphabeticIndex;->GC_LO_MASK:I
-Landroid/icu/text/AlphabeticIndex;->GC_LT_MASK:I
-Landroid/icu/text/AlphabeticIndex;->GC_LU_MASK:I
-Landroid/icu/text/AlphabeticIndex;->GC_L_MASK:I
-Landroid/icu/text/AlphabeticIndex;->getFirstCharactersInScripts()Ljava/util/List;
-Landroid/icu/text/AlphabeticIndex;->hasMultiplePrimaryWeights(Landroid/icu/text/RuleBasedCollator;JLjava/lang/String;)Z
-Landroid/icu/text/AlphabeticIndex;->inflowLabel:Ljava/lang/String;
-Landroid/icu/text/AlphabeticIndex;->initBuckets()V
-Landroid/icu/text/AlphabeticIndex;->initialLabels:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/AlphabeticIndex;->initLabels()Ljava/util/List;
-Landroid/icu/text/AlphabeticIndex;->inputList:Ljava/util/List;
-Landroid/icu/text/AlphabeticIndex;->isOneLabelBetterThanOther(Landroid/icu/text/Normalizer2;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/icu/text/AlphabeticIndex;->maxLabelCount:I
-Landroid/icu/text/AlphabeticIndex;->overflowLabel:Ljava/lang/String;
-Landroid/icu/text/AlphabeticIndex;->recordComparator:Ljava/util/Comparator;
-Landroid/icu/text/AlphabeticIndex;->separated(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/AlphabeticIndex;->underflowLabel:Ljava/lang/String;
-Landroid/icu/text/ArabicShaping;
-Landroid/icu/text/ArabicShaping;->ALEFTYPE:I
-Landroid/icu/text/ArabicShaping;->araLink:[I
-Landroid/icu/text/ArabicShaping;->calculateSize([CII)I
-Landroid/icu/text/ArabicShaping;->changeLamAlef(C)C
-Landroid/icu/text/ArabicShaping;->convertFEto06:[I
-Landroid/icu/text/ArabicShaping;->convertNormalizedLamAlef:[C
-Landroid/icu/text/ArabicShaping;->countSpacesLeft([CII)I
-Landroid/icu/text/ArabicShaping;->countSpacesRight([CII)I
-Landroid/icu/text/ArabicShaping;->countSpaceSub([CIC)I
-Landroid/icu/text/ArabicShaping;->deshapeNormalize([CII)I
-Landroid/icu/text/ArabicShaping;->deShapeUnicode([CIII)I
-Landroid/icu/text/ArabicShaping;->DESHAPE_MODE:I
-Landroid/icu/text/ArabicShaping;->DIGITS_AN2EN:I
-Landroid/icu/text/ArabicShaping;->DIGITS_EN2AN:I
-Landroid/icu/text/ArabicShaping;->DIGITS_EN2AN_INIT_AL:I
-Landroid/icu/text/ArabicShaping;->DIGITS_EN2AN_INIT_LR:I
-Landroid/icu/text/ArabicShaping;->DIGITS_MASK:I
-Landroid/icu/text/ArabicShaping;->DIGITS_NOOP:I
-Landroid/icu/text/ArabicShaping;->DIGIT_TYPE_AN:I
-Landroid/icu/text/ArabicShaping;->DIGIT_TYPE_AN_EXTENDED:I
-Landroid/icu/text/ArabicShaping;->DIGIT_TYPE_MASK:I
-Landroid/icu/text/ArabicShaping;->expandCompositChar([CIIII)I
-Landroid/icu/text/ArabicShaping;->expandCompositCharAtBegin([CIII)Z
-Landroid/icu/text/ArabicShaping;->expandCompositCharAtEnd([CIII)Z
-Landroid/icu/text/ArabicShaping;->expandCompositCharAtNear([CIIIII)Z
-Landroid/icu/text/ArabicShaping;->flipArray([CIII)I
-Landroid/icu/text/ArabicShaping;->getLink(C)I
-Landroid/icu/text/ArabicShaping;->HAMZA06_CHAR:C
-Landroid/icu/text/ArabicShaping;->HAMZAFE_CHAR:C
-Landroid/icu/text/ArabicShaping;->handleGeneratedSpaces([CII)I
-Landroid/icu/text/ArabicShaping;->handleTashkeelWithTatweel([CI)I
-Landroid/icu/text/ArabicShaping;->internalShape([CII[CII)I
-Landroid/icu/text/ArabicShaping;->invertBuffer([CII)V
-Landroid/icu/text/ArabicShaping;->IRRELEVANT:I
-Landroid/icu/text/ArabicShaping;->irrelevantPos:[I
-Landroid/icu/text/ArabicShaping;->isAlefChar(C)Z
-Landroid/icu/text/ArabicShaping;->isIsolatedTashkeelChar(C)I
-Landroid/icu/text/ArabicShaping;->isLamAlefChar(C)Z
-Landroid/icu/text/ArabicShaping;->isLogical:Z
-Landroid/icu/text/ArabicShaping;->isNormalizedLamAlefChar(C)Z
-Landroid/icu/text/ArabicShaping;->isSeenFamilyChar(C)I
-Landroid/icu/text/ArabicShaping;->isTashkeelChar(C)Z
-Landroid/icu/text/ArabicShaping;->isTashkeelCharFE(C)Z
-Landroid/icu/text/ArabicShaping;->isTashkeelOnTatweelChar(C)I
-Landroid/icu/text/ArabicShaping;->LAMALEF_AUTO:I
-Landroid/icu/text/ArabicShaping;->LAMALEF_BEGIN:I
-Landroid/icu/text/ArabicShaping;->LAMALEF_END:I
-Landroid/icu/text/ArabicShaping;->LAMALEF_MASK:I
-Landroid/icu/text/ArabicShaping;->LAMALEF_NEAR:I
-Landroid/icu/text/ArabicShaping;->LAMALEF_RESIZE:I
-Landroid/icu/text/ArabicShaping;->LAMALEF_SPACE_SUB:C
-Landroid/icu/text/ArabicShaping;->LAMTYPE:I
-Landroid/icu/text/ArabicShaping;->LAM_CHAR:C
-Landroid/icu/text/ArabicShaping;->LENGTH_FIXED_SPACES_AT_BEGINNING:I
-Landroid/icu/text/ArabicShaping;->LENGTH_FIXED_SPACES_AT_END:I
-Landroid/icu/text/ArabicShaping;->LENGTH_FIXED_SPACES_NEAR:I
-Landroid/icu/text/ArabicShaping;->LENGTH_GROW_SHRINK:I
-Landroid/icu/text/ArabicShaping;->LENGTH_MASK:I
-Landroid/icu/text/ArabicShaping;->LETTERS_MASK:I
-Landroid/icu/text/ArabicShaping;->LETTERS_NOOP:I
-Landroid/icu/text/ArabicShaping;->LETTERS_SHAPE:I
-Landroid/icu/text/ArabicShaping;->LETTERS_SHAPE_TASHKEEL_ISOLATED:I
-Landroid/icu/text/ArabicShaping;->LETTERS_UNSHAPE:I
-Landroid/icu/text/ArabicShaping;->LINKL:I
-Landroid/icu/text/ArabicShaping;->LINKR:I
-Landroid/icu/text/ArabicShaping;->LINK_MASK:I
-Landroid/icu/text/ArabicShaping;->NEW_TAIL_CHAR:C
-Landroid/icu/text/ArabicShaping;->normalize([CII)I
-Landroid/icu/text/ArabicShaping;->OLD_TAIL_CHAR:C
-Landroid/icu/text/ArabicShaping;->options:I
-Landroid/icu/text/ArabicShaping;->presLink:[I
-Landroid/icu/text/ArabicShaping;->SEEN_MASK:I
-Landroid/icu/text/ArabicShaping;->SEEN_TWOCELL_NEAR:I
-Landroid/icu/text/ArabicShaping;->SHADDA06_CHAR:C
-Landroid/icu/text/ArabicShaping;->SHADDA_CHAR:C
-Landroid/icu/text/ArabicShaping;->SHADDA_TATWEEL_CHAR:C
-Landroid/icu/text/ArabicShaping;->shape([CII)V
-Landroid/icu/text/ArabicShaping;->shape([CII[CII)I
-Landroid/icu/text/ArabicShaping;->shapeTable:[[[I
-Landroid/icu/text/ArabicShaping;->shapeToArabicDigitsWithContext([CIICZ)V
-Landroid/icu/text/ArabicShaping;->shapeUnicode([CIIII)I
-Landroid/icu/text/ArabicShaping;->SHAPE_MODE:I
-Landroid/icu/text/ArabicShaping;->SHAPE_TAIL_NEW_UNICODE:I
-Landroid/icu/text/ArabicShaping;->SHAPE_TAIL_TYPE_MASK:I
-Landroid/icu/text/ArabicShaping;->shiftArray([CIIC)V
-Landroid/icu/text/ArabicShaping;->spacesRelativeToTextBeginEnd:Z
-Landroid/icu/text/ArabicShaping;->SPACES_RELATIVE_TO_TEXT_BEGIN_END:I
-Landroid/icu/text/ArabicShaping;->SPACES_RELATIVE_TO_TEXT_MASK:I
-Landroid/icu/text/ArabicShaping;->SPACE_CHAR:C
-Landroid/icu/text/ArabicShaping;->specialChar(C)I
-Landroid/icu/text/ArabicShaping;->tailChar:C
-Landroid/icu/text/ArabicShaping;->tailFamilyIsolatedFinal:[I
-Landroid/icu/text/ArabicShaping;->tashkeelMedial:[I
-Landroid/icu/text/ArabicShaping;->TASHKEEL_BEGIN:I
-Landroid/icu/text/ArabicShaping;->TASHKEEL_END:I
-Landroid/icu/text/ArabicShaping;->TASHKEEL_MASK:I
-Landroid/icu/text/ArabicShaping;->TASHKEEL_REPLACE_BY_TATWEEL:I
-Landroid/icu/text/ArabicShaping;->TASHKEEL_RESIZE:I
-Landroid/icu/text/ArabicShaping;->TASHKEEL_SPACE_SUB:C
-Landroid/icu/text/ArabicShaping;->TATWEEL_CHAR:C
-Landroid/icu/text/ArabicShaping;->TEXT_DIRECTION_LOGICAL:I
-Landroid/icu/text/ArabicShaping;->TEXT_DIRECTION_MASK:I
-Landroid/icu/text/ArabicShaping;->TEXT_DIRECTION_VISUAL_LTR:I
-Landroid/icu/text/ArabicShaping;->TEXT_DIRECTION_VISUAL_RTL:I
-Landroid/icu/text/ArabicShaping;->yehHamzaToYeh:[C
-Landroid/icu/text/ArabicShaping;->YEHHAMZA_MASK:I
-Landroid/icu/text/ArabicShaping;->YEHHAMZA_TWOCELL_NEAR:I
-Landroid/icu/text/ArabicShaping;->YEH_HAMZAFE_CHAR:C
-Landroid/icu/text/ArabicShaping;->YEH_HAMZA_CHAR:C
-Landroid/icu/text/ArabicShapingException;
-Landroid/icu/text/ArabicShapingException;-><init>(Ljava/lang/String;)V
-Landroid/icu/text/Bidi$BracketData;
-Landroid/icu/text/Bidi$BracketData;-><init>()V
-Landroid/icu/text/Bidi$BracketData;->isNumbersSpecial:Z
-Landroid/icu/text/Bidi$BracketData;->isoRunLast:I
-Landroid/icu/text/Bidi$BracketData;->isoRuns:[Landroid/icu/text/Bidi$IsoRun;
-Landroid/icu/text/Bidi$BracketData;->openings:[Landroid/icu/text/Bidi$Opening;
-Landroid/icu/text/Bidi$ImpTabPair;
-Landroid/icu/text/Bidi$ImpTabPair;-><init>([[B[[B[S[S)V
-Landroid/icu/text/Bidi$ImpTabPair;->impact:[[S
-Landroid/icu/text/Bidi$ImpTabPair;->imptab:[[[B
-Landroid/icu/text/Bidi$InsertPoints;
-Landroid/icu/text/Bidi$InsertPoints;-><init>()V
-Landroid/icu/text/Bidi$InsertPoints;->confirmed:I
-Landroid/icu/text/Bidi$InsertPoints;->points:[Landroid/icu/text/Bidi$Point;
-Landroid/icu/text/Bidi$InsertPoints;->size:I
-Landroid/icu/text/Bidi$Isolate;
-Landroid/icu/text/Bidi$Isolate;-><init>()V
-Landroid/icu/text/Bidi$Isolate;->start1:I
-Landroid/icu/text/Bidi$Isolate;->startON:I
-Landroid/icu/text/Bidi$Isolate;->state:S
-Landroid/icu/text/Bidi$Isolate;->stateImp:S
-Landroid/icu/text/Bidi$IsoRun;
-Landroid/icu/text/Bidi$IsoRun;-><init>()V
-Landroid/icu/text/Bidi$IsoRun;->contextDir:B
-Landroid/icu/text/Bidi$IsoRun;->contextPos:I
-Landroid/icu/text/Bidi$IsoRun;->lastBase:B
-Landroid/icu/text/Bidi$IsoRun;->lastStrong:B
-Landroid/icu/text/Bidi$IsoRun;->level:B
-Landroid/icu/text/Bidi$IsoRun;->limit:S
-Landroid/icu/text/Bidi$IsoRun;->start:S
-Landroid/icu/text/Bidi$LevState;
-Landroid/icu/text/Bidi$LevState;-><init>()V
-Landroid/icu/text/Bidi$LevState;->impAct:[S
-Landroid/icu/text/Bidi$LevState;->impTab:[[B
-Landroid/icu/text/Bidi$LevState;->lastStrongRTL:I
-Landroid/icu/text/Bidi$LevState;->runLevel:B
-Landroid/icu/text/Bidi$LevState;->runStart:I
-Landroid/icu/text/Bidi$LevState;->startL2EN:I
-Landroid/icu/text/Bidi$LevState;->startON:I
-Landroid/icu/text/Bidi$LevState;->state:S
-Landroid/icu/text/Bidi$Opening;
-Landroid/icu/text/Bidi$Opening;-><init>()V
-Landroid/icu/text/Bidi$Opening;->contextDir:B
-Landroid/icu/text/Bidi$Opening;->contextPos:I
-Landroid/icu/text/Bidi$Opening;->flags:S
-Landroid/icu/text/Bidi$Opening;->match:I
-Landroid/icu/text/Bidi$Opening;->position:I
-Landroid/icu/text/Bidi$Point;
-Landroid/icu/text/Bidi$Point;-><init>()V
-Landroid/icu/text/Bidi$Point;->flag:I
-Landroid/icu/text/Bidi$Point;->pos:I
-Landroid/icu/text/Bidi;
-Landroid/icu/text/Bidi;-><init>()V
-Landroid/icu/text/Bidi;-><init>(II)V
-Landroid/icu/text/Bidi;-><init>(Ljava/lang/String;I)V
-Landroid/icu/text/Bidi;-><init>(Ljava/text/AttributedCharacterIterator;)V
-Landroid/icu/text/Bidi;-><init>([CI[BIII)V
-Landroid/icu/text/Bidi;->addPoint(II)V
-Landroid/icu/text/Bidi;->adjustWSLevels()V
-Landroid/icu/text/Bidi;->AL:B
-Landroid/icu/text/Bidi;->AN:B
-Landroid/icu/text/Bidi;->B:B
-Landroid/icu/text/Bidi;->baseIsLeftToRight()Z
-Landroid/icu/text/Bidi;->bdp:Landroid/icu/impl/UBiDiProps;
-Landroid/icu/text/Bidi;->Bidi_Abs(I)I
-Landroid/icu/text/Bidi;->Bidi_Min(II)I
-Landroid/icu/text/Bidi;->BN:B
-Landroid/icu/text/Bidi;->bracketAddOpening(Landroid/icu/text/Bidi$BracketData;CI)V
-Landroid/icu/text/Bidi;->bracketInit(Landroid/icu/text/Bidi$BracketData;)V
-Landroid/icu/text/Bidi;->bracketProcessB(Landroid/icu/text/Bidi$BracketData;B)V
-Landroid/icu/text/Bidi;->bracketProcessBoundary(Landroid/icu/text/Bidi$BracketData;IBB)V
-Landroid/icu/text/Bidi;->bracketProcessChar(Landroid/icu/text/Bidi$BracketData;I)V
-Landroid/icu/text/Bidi;->bracketProcessClosing(Landroid/icu/text/Bidi$BracketData;II)B
-Landroid/icu/text/Bidi;->bracketProcessLRI_RLI(Landroid/icu/text/Bidi$BracketData;B)V
-Landroid/icu/text/Bidi;->bracketProcessPDI(Landroid/icu/text/Bidi$BracketData;)V
-Landroid/icu/text/Bidi;->checkExplicitLevels()B
-Landroid/icu/text/Bidi;->checkParaCount()V
-Landroid/icu/text/Bidi;->CLASS_DEFAULT:I
-Landroid/icu/text/Bidi;->controlCount:I
-Landroid/icu/text/Bidi;->countParagraphs()I
-Landroid/icu/text/Bidi;->countRuns()I
-Landroid/icu/text/Bidi;->CR:C
-Landroid/icu/text/Bidi;->createLineBidi(II)Landroid/icu/text/Bidi;
-Landroid/icu/text/Bidi;->CS:B
-Landroid/icu/text/Bidi;->customClassifier:Landroid/icu/text/BidiClassifier;
-Landroid/icu/text/Bidi;->defaultParaLevel:B
-Landroid/icu/text/Bidi;->direction:B
-Landroid/icu/text/Bidi;->directionFromFlags()B
-Landroid/icu/text/Bidi;->DIRECTION_DEFAULT_LEFT_TO_RIGHT:I
-Landroid/icu/text/Bidi;->DIRECTION_DEFAULT_RIGHT_TO_LEFT:I
-Landroid/icu/text/Bidi;->DIRECTION_LEFT_TO_RIGHT:I
-Landroid/icu/text/Bidi;->DIRECTION_RIGHT_TO_LEFT:I
-Landroid/icu/text/Bidi;->DirFromStrong(B)B
-Landroid/icu/text/Bidi;->DirPropFlag(B)I
-Landroid/icu/text/Bidi;->DirPropFlagE(B)I
-Landroid/icu/text/Bidi;->DirPropFlagE:[I
-Landroid/icu/text/Bidi;->DirPropFlagLR(B)I
-Landroid/icu/text/Bidi;->DirPropFlagLR:[I
-Landroid/icu/text/Bidi;->DirPropFlagMultiRuns:I
-Landroid/icu/text/Bidi;->DirPropFlagO(B)I
-Landroid/icu/text/Bidi;->DirPropFlagO:[I
-Landroid/icu/text/Bidi;->dirProps:[B
-Landroid/icu/text/Bidi;->dirPropsMemory:[B
-Landroid/icu/text/Bidi;->DO_MIRRORING:S
-Landroid/icu/text/Bidi;->EN:B
-Landroid/icu/text/Bidi;->ENL:B
-Landroid/icu/text/Bidi;->ENR:B
-Landroid/icu/text/Bidi;->epilogue:Ljava/lang/String;
-Landroid/icu/text/Bidi;->ES:B
-Landroid/icu/text/Bidi;->ET:B
-Landroid/icu/text/Bidi;->FIRSTALLOC:I
-Landroid/icu/text/Bidi;->firstL_R_AL()B
-Landroid/icu/text/Bidi;->firstL_R_AL_EN_AN()B
-Landroid/icu/text/Bidi;->fixN0c(Landroid/icu/text/Bidi$BracketData;IIB)V
-Landroid/icu/text/Bidi;->flags:I
-Landroid/icu/text/Bidi;->FOUND_L:B
-Landroid/icu/text/Bidi;->FOUND_R:B
-Landroid/icu/text/Bidi;->FSI:B
-Landroid/icu/text/Bidi;->GetAction(B)S
-Landroid/icu/text/Bidi;->GetActionProps(S)S
-Landroid/icu/text/Bidi;->getBaseDirection(Ljava/lang/CharSequence;)B
-Landroid/icu/text/Bidi;->getBaseLevel()I
-Landroid/icu/text/Bidi;->getCustomClassifier()Landroid/icu/text/BidiClassifier;
-Landroid/icu/text/Bidi;->getCustomizedClass(I)I
-Landroid/icu/text/Bidi;->getDirection()B
-Landroid/icu/text/Bidi;->getDirProps()V
-Landroid/icu/text/Bidi;->getDirPropsMemory(I)V
-Landroid/icu/text/Bidi;->getDirPropsMemory(ZI)V
-Landroid/icu/text/Bidi;->getInitialDirPropsMemory(I)V
-Landroid/icu/text/Bidi;->getInitialLevelsMemory(I)V
-Landroid/icu/text/Bidi;->getInitialRunsMemory(I)V
-Landroid/icu/text/Bidi;->getLength()I
-Landroid/icu/text/Bidi;->getLevelAt(I)B
-Landroid/icu/text/Bidi;->getLevels()[B
-Landroid/icu/text/Bidi;->getLevelsMemory(I)V
-Landroid/icu/text/Bidi;->getLevelsMemory(ZI)V
-Landroid/icu/text/Bidi;->getLogicalIndex(I)I
-Landroid/icu/text/Bidi;->getLogicalMap()[I
-Landroid/icu/text/Bidi;->getLogicalRun(I)Landroid/icu/text/BidiRun;
-Landroid/icu/text/Bidi;->getLogicalToVisualRunsMap()V
-Landroid/icu/text/Bidi;->GetLRFromLevel(B)B
-Landroid/icu/text/Bidi;->getMemory(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Class;ZI)Ljava/lang/Object;
-Landroid/icu/text/Bidi;->getParagraph(I)Landroid/icu/text/BidiRun;
-Landroid/icu/text/Bidi;->getParagraphByIndex(I)Landroid/icu/text/BidiRun;
-Landroid/icu/text/Bidi;->getParagraphIndex(I)I
-Landroid/icu/text/Bidi;->getParaLevel()B
-Landroid/icu/text/Bidi;->GetParaLevelAt(I)B
-Landroid/icu/text/Bidi;->getProcessedLength()I
-Landroid/icu/text/Bidi;->getReorderingMode()I
-Landroid/icu/text/Bidi;->getReorderingOptions()I
-Landroid/icu/text/Bidi;->getResultLength()I
-Landroid/icu/text/Bidi;->getRunCount()I
-Landroid/icu/text/Bidi;->getRunLevel(I)I
-Landroid/icu/text/Bidi;->getRunLimit(I)I
-Landroid/icu/text/Bidi;->getRunsMemory(I)V
-Landroid/icu/text/Bidi;->getRunsMemory(ZI)V
-Landroid/icu/text/Bidi;->getRunStart(I)I
-Landroid/icu/text/Bidi;->GetState(B)S
-Landroid/icu/text/Bidi;->GetStateProps(S)S
-Landroid/icu/text/Bidi;->getText()[C
-Landroid/icu/text/Bidi;->getTextAsString()Ljava/lang/String;
-Landroid/icu/text/Bidi;->getVisualIndex(I)I
-Landroid/icu/text/Bidi;->getVisualMap()[I
-Landroid/icu/text/Bidi;->getVisualRun(I)Landroid/icu/text/BidiRun;
-Landroid/icu/text/Bidi;->groupProp:[S
-Landroid/icu/text/Bidi;->impAct0:[S
-Landroid/icu/text/Bidi;->impAct1:[S
-Landroid/icu/text/Bidi;->impAct2:[S
-Landroid/icu/text/Bidi;->impAct3:[S
-Landroid/icu/text/Bidi;->IMPTABLEVELS_COLUMNS:I
-Landroid/icu/text/Bidi;->IMPTABLEVELS_RES:I
-Landroid/icu/text/Bidi;->impTabL_DEFAULT:[[B
-Landroid/icu/text/Bidi;->impTabL_GROUP_NUMBERS_WITH_R:[[B
-Landroid/icu/text/Bidi;->impTabL_INVERSE_FOR_NUMBERS_SPECIAL_WITH_MARKS:[[B
-Landroid/icu/text/Bidi;->impTabL_INVERSE_LIKE_DIRECT_WITH_MARKS:[[B
-Landroid/icu/text/Bidi;->impTabL_INVERSE_NUMBERS_AS_L:[[B
-Landroid/icu/text/Bidi;->impTabL_NUMBERS_SPECIAL:[[B
-Landroid/icu/text/Bidi;->impTabPair:Landroid/icu/text/Bidi$ImpTabPair;
-Landroid/icu/text/Bidi;->impTabProps:[[S
-Landroid/icu/text/Bidi;->IMPTABPROPS_COLUMNS:I
-Landroid/icu/text/Bidi;->IMPTABPROPS_RES:I
-Landroid/icu/text/Bidi;->impTabR_DEFAULT:[[B
-Landroid/icu/text/Bidi;->impTabR_GROUP_NUMBERS_WITH_R:[[B
-Landroid/icu/text/Bidi;->impTabR_INVERSE_LIKE_DIRECT:[[B
-Landroid/icu/text/Bidi;->impTabR_INVERSE_LIKE_DIRECT_WITH_MARKS:[[B
-Landroid/icu/text/Bidi;->impTabR_INVERSE_NUMBERS_AS_L:[[B
-Landroid/icu/text/Bidi;->impTab_DEFAULT:Landroid/icu/text/Bidi$ImpTabPair;
-Landroid/icu/text/Bidi;->impTab_GROUP_NUMBERS_WITH_R:Landroid/icu/text/Bidi$ImpTabPair;
-Landroid/icu/text/Bidi;->impTab_INVERSE_FOR_NUMBERS_SPECIAL:Landroid/icu/text/Bidi$ImpTabPair;
-Landroid/icu/text/Bidi;->impTab_INVERSE_FOR_NUMBERS_SPECIAL_WITH_MARKS:Landroid/icu/text/Bidi$ImpTabPair;
-Landroid/icu/text/Bidi;->impTab_INVERSE_LIKE_DIRECT:Landroid/icu/text/Bidi$ImpTabPair;
-Landroid/icu/text/Bidi;->impTab_INVERSE_LIKE_DIRECT_WITH_MARKS:Landroid/icu/text/Bidi$ImpTabPair;
-Landroid/icu/text/Bidi;->impTab_INVERSE_NUMBERS_AS_L:Landroid/icu/text/Bidi$ImpTabPair;
-Landroid/icu/text/Bidi;->impTab_NUMBERS_SPECIAL:Landroid/icu/text/Bidi$ImpTabPair;
-Landroid/icu/text/Bidi;->insertPoints:Landroid/icu/text/Bidi$InsertPoints;
-Landroid/icu/text/Bidi;->INSERT_LRM_FOR_NUMERIC:S
-Landroid/icu/text/Bidi;->invertMap([I)[I
-Landroid/icu/text/Bidi;->IsBidiControlChar(I)Z
-Landroid/icu/text/Bidi;->IsDefaultLevel(B)Z
-Landroid/icu/text/Bidi;->isGoodLogicalToVisualRunsMap:Z
-Landroid/icu/text/Bidi;->isInverse()Z
-Landroid/icu/text/Bidi;->isInverse:Z
-Landroid/icu/text/Bidi;->isLeftToRight()Z
-Landroid/icu/text/Bidi;->isMixed()Z
-Landroid/icu/text/Bidi;->ISOLATE:I
-Landroid/icu/text/Bidi;->isolateCount:I
-Landroid/icu/text/Bidi;->isolates:[Landroid/icu/text/Bidi$Isolate;
-Landroid/icu/text/Bidi;->isOrderParagraphsLTR()Z
-Landroid/icu/text/Bidi;->isRightToLeft()Z
-Landroid/icu/text/Bidi;->KEEP_BASE_COMBINING:S
-Landroid/icu/text/Bidi;->L:B
-Landroid/icu/text/Bidi;->lastArabicPos:I
-Landroid/icu/text/Bidi;->lastL_R_AL()B
-Landroid/icu/text/Bidi;->length:I
-Landroid/icu/text/Bidi;->levels:[B
-Landroid/icu/text/Bidi;->levelsMemory:[B
-Landroid/icu/text/Bidi;->LEVEL_DEFAULT_LTR:B
-Landroid/icu/text/Bidi;->LEVEL_DEFAULT_RTL:B
-Landroid/icu/text/Bidi;->LEVEL_OVERRIDE:B
-Landroid/icu/text/Bidi;->LF:C
-Landroid/icu/text/Bidi;->logicalToVisualRunsMap:[I
-Landroid/icu/text/Bidi;->LOOKING_FOR_PDI:I
-Landroid/icu/text/Bidi;->LRE:B
-Landroid/icu/text/Bidi;->LRI:B
-Landroid/icu/text/Bidi;->LRM_AFTER:I
-Landroid/icu/text/Bidi;->LRM_BEFORE:I
-Landroid/icu/text/Bidi;->LRO:B
-Landroid/icu/text/Bidi;->LTR:B
-Landroid/icu/text/Bidi;->MAP_NOWHERE:I
-Landroid/icu/text/Bidi;->MASK_BN_EXPLICIT:I
-Landroid/icu/text/Bidi;->MASK_B_S:I
-Landroid/icu/text/Bidi;->MASK_EMBEDDING:I
-Landroid/icu/text/Bidi;->MASK_EXPLICIT:I
-Landroid/icu/text/Bidi;->MASK_ISO:I
-Landroid/icu/text/Bidi;->MASK_LTR:I
-Landroid/icu/text/Bidi;->MASK_POSSIBLE_N:I
-Landroid/icu/text/Bidi;->MASK_RTL:I
-Landroid/icu/text/Bidi;->MASK_R_AL:I
-Landroid/icu/text/Bidi;->MASK_STRONG_EN_AN:I
-Landroid/icu/text/Bidi;->MASK_WS:I
-Landroid/icu/text/Bidi;->MAX_EXPLICIT_LEVEL:B
-Landroid/icu/text/Bidi;->mayAllocateRuns:Z
-Landroid/icu/text/Bidi;->mayAllocateText:Z
-Landroid/icu/text/Bidi;->MIXED:B
-Landroid/icu/text/Bidi;->NEUTRAL:B
-Landroid/icu/text/Bidi;->NoOverride(B)B
-Landroid/icu/text/Bidi;->NOT_SEEKING_STRONG:I
-Landroid/icu/text/Bidi;->NSM:B
-Landroid/icu/text/Bidi;->ON:B
-Landroid/icu/text/Bidi;->OPTION_DEFAULT:I
-Landroid/icu/text/Bidi;->OPTION_INSERT_MARKS:I
-Landroid/icu/text/Bidi;->OPTION_REMOVE_CONTROLS:I
-Landroid/icu/text/Bidi;->OPTION_STREAMING:I
-Landroid/icu/text/Bidi;->orderParagraphsLTR(Z)V
-Landroid/icu/text/Bidi;->orderParagraphsLTR:Z
-Landroid/icu/text/Bidi;->originalLength:I
-Landroid/icu/text/Bidi;->OUTPUT_REVERSE:S
-Landroid/icu/text/Bidi;->paraBidi:Landroid/icu/text/Bidi;
-Landroid/icu/text/Bidi;->paraCount:I
-Landroid/icu/text/Bidi;->paraLevel:B
-Landroid/icu/text/Bidi;->paras_level:[B
-Landroid/icu/text/Bidi;->paras_limit:[I
-Landroid/icu/text/Bidi;->PDF:B
-Landroid/icu/text/Bidi;->PDI:B
-Landroid/icu/text/Bidi;->processPropertySeq(Landroid/icu/text/Bidi$LevState;SII)V
-Landroid/icu/text/Bidi;->prologue:Ljava/lang/String;
-Landroid/icu/text/Bidi;->R:B
-Landroid/icu/text/Bidi;->REMOVE_BIDI_CONTROLS:S
-Landroid/icu/text/Bidi;->reorderingMode:I
-Landroid/icu/text/Bidi;->reorderingOptions:I
-Landroid/icu/text/Bidi;->reorderLogical([B)[I
-Landroid/icu/text/Bidi;->reorderVisual([B)[I
-Landroid/icu/text/Bidi;->reorderVisually([BI[Ljava/lang/Object;II)V
-Landroid/icu/text/Bidi;->REORDER_COUNT:S
-Landroid/icu/text/Bidi;->REORDER_DEFAULT:S
-Landroid/icu/text/Bidi;->REORDER_GROUP_NUMBERS_WITH_R:S
-Landroid/icu/text/Bidi;->REORDER_INVERSE_FOR_NUMBERS_SPECIAL:S
-Landroid/icu/text/Bidi;->REORDER_INVERSE_LIKE_DIRECT:S
-Landroid/icu/text/Bidi;->REORDER_INVERSE_NUMBERS_AS_L:S
-Landroid/icu/text/Bidi;->REORDER_LAST_LOGICAL_TO_VISUAL:S
-Landroid/icu/text/Bidi;->REORDER_NUMBERS_SPECIAL:S
-Landroid/icu/text/Bidi;->REORDER_RUNS_ONLY:S
-Landroid/icu/text/Bidi;->requiresBidi([CII)Z
-Landroid/icu/text/Bidi;->resolveExplicitLevels()B
-Landroid/icu/text/Bidi;->resolveImplicitLevels(IISS)V
-Landroid/icu/text/Bidi;->resultLength:I
-Landroid/icu/text/Bidi;->RLE:B
-Landroid/icu/text/Bidi;->RLI:B
-Landroid/icu/text/Bidi;->RLM_AFTER:I
-Landroid/icu/text/Bidi;->RLM_BEFORE:I
-Landroid/icu/text/Bidi;->RLO:B
-Landroid/icu/text/Bidi;->RTL:B
-Landroid/icu/text/Bidi;->runCount:I
-Landroid/icu/text/Bidi;->runs:[Landroid/icu/text/BidiRun;
-Landroid/icu/text/Bidi;->runsMemory:[Landroid/icu/text/BidiRun;
-Landroid/icu/text/Bidi;->S:B
-Landroid/icu/text/Bidi;->SEEKING_STRONG_FOR_FSI:I
-Landroid/icu/text/Bidi;->SEEKING_STRONG_FOR_PARA:I
-Landroid/icu/text/Bidi;->setContext(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/text/Bidi;->setCustomClassifier(Landroid/icu/text/BidiClassifier;)V
-Landroid/icu/text/Bidi;->setInverse(Z)V
-Landroid/icu/text/Bidi;->setLevelsOutsideIsolates(IIB)V
-Landroid/icu/text/Bidi;->setLine(II)Landroid/icu/text/Bidi;
-Landroid/icu/text/Bidi;->setPara(Ljava/lang/String;B[B)V
-Landroid/icu/text/Bidi;->setPara(Ljava/text/AttributedCharacterIterator;)V
-Landroid/icu/text/Bidi;->setPara([CB[B)V
-Landroid/icu/text/Bidi;->setParaRunsOnly([CB)V
-Landroid/icu/text/Bidi;->setParaSuccess()V
-Landroid/icu/text/Bidi;->setReorderingMode(I)V
-Landroid/icu/text/Bidi;->setReorderingOptions(I)V
-Landroid/icu/text/Bidi;->simpleRuns:[Landroid/icu/text/BidiRun;
-Landroid/icu/text/Bidi;->SIMPLE_OPENINGS_COUNT:I
-Landroid/icu/text/Bidi;->SIMPLE_PARAS_COUNT:I
-Landroid/icu/text/Bidi;->testDirPropFlagAt(II)Z
-Landroid/icu/text/Bidi;->text:[C
-Landroid/icu/text/Bidi;->trailingWSStart:I
-Landroid/icu/text/Bidi;->verifyRange(III)V
-Landroid/icu/text/Bidi;->verifyValidPara()V
-Landroid/icu/text/Bidi;->verifyValidParaOrLine()V
-Landroid/icu/text/Bidi;->writeReordered(I)Ljava/lang/String;
-Landroid/icu/text/Bidi;->writeReverse(Ljava/lang/String;I)Ljava/lang/String;
-Landroid/icu/text/Bidi;->WS:B
-Landroid/icu/text/Bidi;->_AN:S
-Landroid/icu/text/Bidi;->_B:S
-Landroid/icu/text/Bidi;->_EN:S
-Landroid/icu/text/Bidi;->_L:S
-Landroid/icu/text/Bidi;->_ON:S
-Landroid/icu/text/Bidi;->_R:S
-Landroid/icu/text/Bidi;->_S:S
-Landroid/icu/text/BidiClassifier;
-Landroid/icu/text/BidiClassifier;-><init>(Ljava/lang/Object;)V
-Landroid/icu/text/BidiClassifier;->classify(I)I
-Landroid/icu/text/BidiClassifier;->context:Ljava/lang/Object;
-Landroid/icu/text/BidiClassifier;->getContext()Ljava/lang/Object;
-Landroid/icu/text/BidiClassifier;->setContext(Ljava/lang/Object;)V
-Landroid/icu/text/BidiRun;
-Landroid/icu/text/BidiRun;-><init>()V
-Landroid/icu/text/BidiRun;-><init>(IIB)V
-Landroid/icu/text/BidiRun;->copyFrom(Landroid/icu/text/BidiRun;)V
-Landroid/icu/text/BidiRun;->getDirection()B
-Landroid/icu/text/BidiRun;->getEmbeddingLevel()B
-Landroid/icu/text/BidiRun;->getLength()I
-Landroid/icu/text/BidiRun;->getLimit()I
-Landroid/icu/text/BidiRun;->getStart()I
-Landroid/icu/text/BidiRun;->insertRemove:I
-Landroid/icu/text/BidiRun;->isEvenRun()Z
-Landroid/icu/text/BidiRun;->isOddRun()Z
-Landroid/icu/text/BidiRun;->level:B
-Landroid/icu/text/BidiRun;->limit:I
-Landroid/icu/text/BidiRun;->start:I
-Landroid/icu/text/BidiTransform$Mirroring;
-Landroid/icu/text/BidiTransform$Mirroring;-><init>()V
-Landroid/icu/text/BidiTransform$Mirroring;->OFF:Landroid/icu/text/BidiTransform$Mirroring;
-Landroid/icu/text/BidiTransform$Mirroring;->ON:Landroid/icu/text/BidiTransform$Mirroring;
-Landroid/icu/text/BidiTransform$Mirroring;->valueOf(Ljava/lang/String;)Landroid/icu/text/BidiTransform$Mirroring;
-Landroid/icu/text/BidiTransform$Mirroring;->values()[Landroid/icu/text/BidiTransform$Mirroring;
-Landroid/icu/text/BidiTransform$Order;
-Landroid/icu/text/BidiTransform$Order;-><init>()V
-Landroid/icu/text/BidiTransform$Order;->LOGICAL:Landroid/icu/text/BidiTransform$Order;
-Landroid/icu/text/BidiTransform$Order;->valueOf(Ljava/lang/String;)Landroid/icu/text/BidiTransform$Order;
-Landroid/icu/text/BidiTransform$Order;->values()[Landroid/icu/text/BidiTransform$Order;
-Landroid/icu/text/BidiTransform$Order;->VISUAL:Landroid/icu/text/BidiTransform$Order;
-Landroid/icu/text/BidiTransform$ReorderingScheme;
-Landroid/icu/text/BidiTransform$ReorderingScheme;-><init>()V
-Landroid/icu/text/BidiTransform$ReorderingScheme;->doTransform(Landroid/icu/text/BidiTransform;)V
-Landroid/icu/text/BidiTransform$ReorderingScheme;->LOG_LTR_TO_LOG_LTR:Landroid/icu/text/BidiTransform$ReorderingScheme;
-Landroid/icu/text/BidiTransform$ReorderingScheme;->LOG_LTR_TO_LOG_RTL:Landroid/icu/text/BidiTransform$ReorderingScheme;
-Landroid/icu/text/BidiTransform$ReorderingScheme;->LOG_LTR_TO_VIS_LTR:Landroid/icu/text/BidiTransform$ReorderingScheme;
-Landroid/icu/text/BidiTransform$ReorderingScheme;->LOG_LTR_TO_VIS_RTL:Landroid/icu/text/BidiTransform$ReorderingScheme;
-Landroid/icu/text/BidiTransform$ReorderingScheme;->LOG_RTL_TO_LOG_LTR:Landroid/icu/text/BidiTransform$ReorderingScheme;
-Landroid/icu/text/BidiTransform$ReorderingScheme;->LOG_RTL_TO_LOG_RTL:Landroid/icu/text/BidiTransform$ReorderingScheme;
-Landroid/icu/text/BidiTransform$ReorderingScheme;->LOG_RTL_TO_VIS_LTR:Landroid/icu/text/BidiTransform$ReorderingScheme;
-Landroid/icu/text/BidiTransform$ReorderingScheme;->LOG_RTL_TO_VIS_RTL:Landroid/icu/text/BidiTransform$ReorderingScheme;
-Landroid/icu/text/BidiTransform$ReorderingScheme;->matches(BLandroid/icu/text/BidiTransform$Order;BLandroid/icu/text/BidiTransform$Order;)Z
-Landroid/icu/text/BidiTransform$ReorderingScheme;->valueOf(Ljava/lang/String;)Landroid/icu/text/BidiTransform$ReorderingScheme;
-Landroid/icu/text/BidiTransform$ReorderingScheme;->values()[Landroid/icu/text/BidiTransform$ReorderingScheme;
-Landroid/icu/text/BidiTransform$ReorderingScheme;->VIS_LTR_TO_LOG_LTR:Landroid/icu/text/BidiTransform$ReorderingScheme;
-Landroid/icu/text/BidiTransform$ReorderingScheme;->VIS_LTR_TO_LOG_RTL:Landroid/icu/text/BidiTransform$ReorderingScheme;
-Landroid/icu/text/BidiTransform$ReorderingScheme;->VIS_LTR_TO_VIS_LTR:Landroid/icu/text/BidiTransform$ReorderingScheme;
-Landroid/icu/text/BidiTransform$ReorderingScheme;->VIS_LTR_TO_VIS_RTL:Landroid/icu/text/BidiTransform$ReorderingScheme;
-Landroid/icu/text/BidiTransform$ReorderingScheme;->VIS_RTL_TO_LOG_LTR:Landroid/icu/text/BidiTransform$ReorderingScheme;
-Landroid/icu/text/BidiTransform$ReorderingScheme;->VIS_RTL_TO_LOG_RTL:Landroid/icu/text/BidiTransform$ReorderingScheme;
-Landroid/icu/text/BidiTransform$ReorderingScheme;->VIS_RTL_TO_VIS_LTR:Landroid/icu/text/BidiTransform$ReorderingScheme;
-Landroid/icu/text/BidiTransform$ReorderingScheme;->VIS_RTL_TO_VIS_RTL:Landroid/icu/text/BidiTransform$ReorderingScheme;
-Landroid/icu/text/BidiTransform;
-Landroid/icu/text/BidiTransform;-><init>()V
-Landroid/icu/text/BidiTransform;->bidi:Landroid/icu/text/Bidi;
-Landroid/icu/text/BidiTransform;->findMatchingScheme(BLandroid/icu/text/BidiTransform$Order;BLandroid/icu/text/BidiTransform$Order;)Landroid/icu/text/BidiTransform$ReorderingScheme;
-Landroid/icu/text/BidiTransform;->IsLogical(Landroid/icu/text/BidiTransform$Order;)Z
-Landroid/icu/text/BidiTransform;->IsLTR(B)Z
-Landroid/icu/text/BidiTransform;->IsRTL(B)Z
-Landroid/icu/text/BidiTransform;->IsVisual(Landroid/icu/text/BidiTransform$Order;)Z
-Landroid/icu/text/BidiTransform;->mirror()V
-Landroid/icu/text/BidiTransform;->reorder()V
-Landroid/icu/text/BidiTransform;->reorderingOptions:I
-Landroid/icu/text/BidiTransform;->resolve(BI)V
-Landroid/icu/text/BidiTransform;->resolveBaseDirection([B)V
-Landroid/icu/text/BidiTransform;->reverse()V
-Landroid/icu/text/BidiTransform;->shapeArabic(I)V
-Landroid/icu/text/BidiTransform;->shapeArabic(II)V
-Landroid/icu/text/BidiTransform;->shapingOptions:I
-Landroid/icu/text/BidiTransform;->text:Ljava/lang/String;
-Landroid/icu/text/BidiTransform;->transform(Ljava/lang/CharSequence;BLandroid/icu/text/BidiTransform$Order;BLandroid/icu/text/BidiTransform$Order;Landroid/icu/text/BidiTransform$Mirroring;I)Ljava/lang/String;
-Landroid/icu/text/BreakIterator$BreakIteratorCache;
-Landroid/icu/text/BreakIterator$BreakIteratorCache;-><init>(Landroid/icu/util/ULocale;Landroid/icu/text/BreakIterator;)V
-Landroid/icu/text/BreakIterator$BreakIteratorCache;->createBreakInstance()Landroid/icu/text/BreakIterator;
-Landroid/icu/text/BreakIterator$BreakIteratorCache;->getLocale()Landroid/icu/util/ULocale;
-Landroid/icu/text/BreakIterator$BreakIteratorCache;->iter:Landroid/icu/text/BreakIterator;
-Landroid/icu/text/BreakIterator$BreakIteratorCache;->where:Landroid/icu/util/ULocale;
-Landroid/icu/text/BreakIterator$BreakIteratorServiceShim;
-Landroid/icu/text/BreakIterator$BreakIteratorServiceShim;-><init>()V
-Landroid/icu/text/BreakIterator$BreakIteratorServiceShim;->createBreakIterator(Landroid/icu/util/ULocale;I)Landroid/icu/text/BreakIterator;
-Landroid/icu/text/BreakIterator$BreakIteratorServiceShim;->getAvailableLocales()[Ljava/util/Locale;
-Landroid/icu/text/BreakIterator$BreakIteratorServiceShim;->getAvailableULocales()[Landroid/icu/util/ULocale;
-Landroid/icu/text/BreakIterator$BreakIteratorServiceShim;->registerInstance(Landroid/icu/text/BreakIterator;Landroid/icu/util/ULocale;I)Ljava/lang/Object;
-Landroid/icu/text/BreakIterator$BreakIteratorServiceShim;->unregister(Ljava/lang/Object;)Z
-Landroid/icu/text/BreakIterator;->actualLocale:Landroid/icu/util/ULocale;
-Landroid/icu/text/BreakIterator;->DEBUG:Z
-Landroid/icu/text/BreakIterator;->getAvailableULocales()[Landroid/icu/util/ULocale;
-Landroid/icu/text/BreakIterator;->getBreakInstance(Landroid/icu/util/ULocale;I)Landroid/icu/text/BreakIterator;
-Landroid/icu/text/BreakIterator;->getLocale(Landroid/icu/util/ULocale$Type;)Landroid/icu/util/ULocale;
-Landroid/icu/text/BreakIterator;->getShim()Landroid/icu/text/BreakIterator$BreakIteratorServiceShim;
-Landroid/icu/text/BreakIterator;->iterCache:[Landroid/icu/impl/CacheValue;
-Landroid/icu/text/BreakIterator;->KIND_COUNT:I
-Landroid/icu/text/BreakIterator;->registerInstance(Landroid/icu/text/BreakIterator;Landroid/icu/util/ULocale;I)Ljava/lang/Object;
-Landroid/icu/text/BreakIterator;->registerInstance(Landroid/icu/text/BreakIterator;Ljava/util/Locale;I)Ljava/lang/Object;
-Landroid/icu/text/BreakIterator;->setLocale(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)V
-Landroid/icu/text/BreakIterator;->setText(Ljava/lang/CharSequence;)V
-Landroid/icu/text/BreakIterator;->shim:Landroid/icu/text/BreakIterator$BreakIteratorServiceShim;
-Landroid/icu/text/BreakIterator;->unregister(Ljava/lang/Object;)Z
-Landroid/icu/text/BreakIterator;->validLocale:Landroid/icu/util/ULocale;
-Landroid/icu/text/CanonicalIterator;
-Landroid/icu/text/CanonicalIterator;-><init>(Ljava/lang/String;)V
-Landroid/icu/text/CanonicalIterator;->buffer:Ljava/lang/StringBuilder;
-Landroid/icu/text/CanonicalIterator;->current:[I
-Landroid/icu/text/CanonicalIterator;->done:Z
-Landroid/icu/text/CanonicalIterator;->extract(ILjava/lang/String;ILjava/lang/StringBuffer;)Ljava/util/Set;
-Landroid/icu/text/CanonicalIterator;->getEquivalents(Ljava/lang/String;)[Ljava/lang/String;
-Landroid/icu/text/CanonicalIterator;->getEquivalents2(Ljava/lang/String;)Ljava/util/Set;
-Landroid/icu/text/CanonicalIterator;->getSource()Ljava/lang/String;
-Landroid/icu/text/CanonicalIterator;->next()Ljava/lang/String;
-Landroid/icu/text/CanonicalIterator;->nfcImpl:Landroid/icu/impl/Normalizer2Impl;
-Landroid/icu/text/CanonicalIterator;->nfd:Landroid/icu/text/Normalizer2;
-Landroid/icu/text/CanonicalIterator;->permute(Ljava/lang/String;ZLjava/util/Set;)V
-Landroid/icu/text/CanonicalIterator;->pieces:[[Ljava/lang/String;
-Landroid/icu/text/CanonicalIterator;->PROGRESS:Z
-Landroid/icu/text/CanonicalIterator;->reset()V
-Landroid/icu/text/CanonicalIterator;->setSource(Ljava/lang/String;)V
-Landroid/icu/text/CanonicalIterator;->SET_WITH_NULL_STRING:Ljava/util/Set;
-Landroid/icu/text/CanonicalIterator;->SKIP_ZEROS:Z
-Landroid/icu/text/CanonicalIterator;->source:Ljava/lang/String;
-Landroid/icu/text/CaseMap$Fold;
-Landroid/icu/text/CaseMap$Fold;-><init>(I)V
-Landroid/icu/text/CaseMap$Fold;->apply(Ljava/lang/CharSequence;)Ljava/lang/String;
-Landroid/icu/text/CaseMap$Fold;->apply(Ljava/lang/CharSequence;Ljava/lang/Appendable;Landroid/icu/text/Edits;)Ljava/lang/Appendable;
-Landroid/icu/text/CaseMap$Fold;->DEFAULT:Landroid/icu/text/CaseMap$Fold;
-Landroid/icu/text/CaseMap$Fold;->omitUnchangedText()Landroid/icu/text/CaseMap$Fold;
-Landroid/icu/text/CaseMap$Fold;->OMIT_UNCHANGED:Landroid/icu/text/CaseMap$Fold;
-Landroid/icu/text/CaseMap$Fold;->turkic()Landroid/icu/text/CaseMap$Fold;
-Landroid/icu/text/CaseMap$Fold;->TURKIC:Landroid/icu/text/CaseMap$Fold;
-Landroid/icu/text/CaseMap$Fold;->TURKIC_OMIT_UNCHANGED:Landroid/icu/text/CaseMap$Fold;
-Landroid/icu/text/CaseMap$Lower;
-Landroid/icu/text/CaseMap$Lower;-><init>(I)V
-Landroid/icu/text/CaseMap$Lower;->apply(Ljava/util/Locale;Ljava/lang/CharSequence;)Ljava/lang/String;
-Landroid/icu/text/CaseMap$Lower;->apply(Ljava/util/Locale;Ljava/lang/CharSequence;Ljava/lang/Appendable;Landroid/icu/text/Edits;)Ljava/lang/Appendable;
-Landroid/icu/text/CaseMap$Lower;->DEFAULT:Landroid/icu/text/CaseMap$Lower;
-Landroid/icu/text/CaseMap$Lower;->omitUnchangedText()Landroid/icu/text/CaseMap$Lower;
-Landroid/icu/text/CaseMap$Lower;->OMIT_UNCHANGED:Landroid/icu/text/CaseMap$Lower;
-Landroid/icu/text/CaseMap$Title;
-Landroid/icu/text/CaseMap$Title;-><init>(I)V
-Landroid/icu/text/CaseMap$Title;->adjustToCased()Landroid/icu/text/CaseMap$Title;
-Landroid/icu/text/CaseMap$Title;->apply(Ljava/util/Locale;Landroid/icu/text/BreakIterator;Ljava/lang/CharSequence;)Ljava/lang/String;
-Landroid/icu/text/CaseMap$Title;->apply(Ljava/util/Locale;Landroid/icu/text/BreakIterator;Ljava/lang/CharSequence;Ljava/lang/Appendable;Landroid/icu/text/Edits;)Ljava/lang/Appendable;
-Landroid/icu/text/CaseMap$Title;->DEFAULT:Landroid/icu/text/CaseMap$Title;
-Landroid/icu/text/CaseMap$Title;->noBreakAdjustment()Landroid/icu/text/CaseMap$Title;
-Landroid/icu/text/CaseMap$Title;->noLowercase()Landroid/icu/text/CaseMap$Title;
-Landroid/icu/text/CaseMap$Title;->omitUnchangedText()Landroid/icu/text/CaseMap$Title;
-Landroid/icu/text/CaseMap$Title;->OMIT_UNCHANGED:Landroid/icu/text/CaseMap$Title;
-Landroid/icu/text/CaseMap$Title;->sentences()Landroid/icu/text/CaseMap$Title;
-Landroid/icu/text/CaseMap$Title;->wholeString()Landroid/icu/text/CaseMap$Title;
-Landroid/icu/text/CaseMap$Upper;
-Landroid/icu/text/CaseMap$Upper;-><init>(I)V
-Landroid/icu/text/CaseMap$Upper;->apply(Ljava/util/Locale;Ljava/lang/CharSequence;)Ljava/lang/String;
-Landroid/icu/text/CaseMap$Upper;->apply(Ljava/util/Locale;Ljava/lang/CharSequence;Ljava/lang/Appendable;Landroid/icu/text/Edits;)Ljava/lang/Appendable;
-Landroid/icu/text/CaseMap$Upper;->DEFAULT:Landroid/icu/text/CaseMap$Upper;
-Landroid/icu/text/CaseMap$Upper;->omitUnchangedText()Landroid/icu/text/CaseMap$Upper;
-Landroid/icu/text/CaseMap$Upper;->OMIT_UNCHANGED:Landroid/icu/text/CaseMap$Upper;
-Landroid/icu/text/CaseMap;
-Landroid/icu/text/CaseMap;-><init>(I)V
-Landroid/icu/text/CaseMap;->fold()Landroid/icu/text/CaseMap$Fold;
-Landroid/icu/text/CaseMap;->getCaseLocale(Ljava/util/Locale;)I
-Landroid/icu/text/CaseMap;->internalOptions:I
-Landroid/icu/text/CaseMap;->omitUnchangedText()Landroid/icu/text/CaseMap;
-Landroid/icu/text/CaseMap;->toLower()Landroid/icu/text/CaseMap$Lower;
-Landroid/icu/text/CaseMap;->toTitle()Landroid/icu/text/CaseMap$Title;
-Landroid/icu/text/CaseMap;->toUpper()Landroid/icu/text/CaseMap$Upper;
-Landroid/icu/text/CharsetDetector$CSRecognizerInfo;
-Landroid/icu/text/CharsetDetector$CSRecognizerInfo;-><init>(Landroid/icu/text/CharsetRecognizer;Z)V
-Landroid/icu/text/CharsetDetector$CSRecognizerInfo;->isDefaultEnabled:Z
-Landroid/icu/text/CharsetDetector$CSRecognizerInfo;->recognizer:Landroid/icu/text/CharsetRecognizer;
-Landroid/icu/text/CharsetDetector;
-Landroid/icu/text/CharsetDetector;-><init>()V
-Landroid/icu/text/CharsetDetector;->ALL_CS_RECOGNIZERS:Ljava/util/List;
-Landroid/icu/text/CharsetDetector;->detect()Landroid/icu/text/CharsetMatch;
-Landroid/icu/text/CharsetDetector;->detectAll()[Landroid/icu/text/CharsetMatch;
-Landroid/icu/text/CharsetDetector;->enableInputFilter(Z)Z
-Landroid/icu/text/CharsetDetector;->fByteStats:[S
-Landroid/icu/text/CharsetDetector;->fC1Bytes:Z
-Landroid/icu/text/CharsetDetector;->fDeclaredEncoding:Ljava/lang/String;
-Landroid/icu/text/CharsetDetector;->fEnabledRecognizers:[Z
-Landroid/icu/text/CharsetDetector;->fInputBytes:[B
-Landroid/icu/text/CharsetDetector;->fInputLen:I
-Landroid/icu/text/CharsetDetector;->fInputStream:Ljava/io/InputStream;
-Landroid/icu/text/CharsetDetector;->fRawInput:[B
-Landroid/icu/text/CharsetDetector;->fRawLength:I
-Landroid/icu/text/CharsetDetector;->fStripTags:Z
-Landroid/icu/text/CharsetDetector;->getAllDetectableCharsets()[Ljava/lang/String;
-Landroid/icu/text/CharsetDetector;->getDetectableCharsets()[Ljava/lang/String;
-Landroid/icu/text/CharsetDetector;->getReader(Ljava/io/InputStream;Ljava/lang/String;)Ljava/io/Reader;
-Landroid/icu/text/CharsetDetector;->getString([BLjava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/CharsetDetector;->inputFilterEnabled()Z
-Landroid/icu/text/CharsetDetector;->kBufSize:I
-Landroid/icu/text/CharsetDetector;->MungeInput()V
-Landroid/icu/text/CharsetDetector;->setDeclaredEncoding(Ljava/lang/String;)Landroid/icu/text/CharsetDetector;
-Landroid/icu/text/CharsetDetector;->setDetectableCharset(Ljava/lang/String;Z)Landroid/icu/text/CharsetDetector;
-Landroid/icu/text/CharsetDetector;->setText(Ljava/io/InputStream;)Landroid/icu/text/CharsetDetector;
-Landroid/icu/text/CharsetDetector;->setText([B)Landroid/icu/text/CharsetDetector;
-Landroid/icu/text/CharsetMatch;
-Landroid/icu/text/CharsetMatch;-><init>(Landroid/icu/text/CharsetDetector;Landroid/icu/text/CharsetRecognizer;I)V
-Landroid/icu/text/CharsetMatch;-><init>(Landroid/icu/text/CharsetDetector;Landroid/icu/text/CharsetRecognizer;ILjava/lang/String;Ljava/lang/String;)V
-Landroid/icu/text/CharsetMatch;->compareTo(Landroid/icu/text/CharsetMatch;)I
-Landroid/icu/text/CharsetMatch;->fCharsetName:Ljava/lang/String;
-Landroid/icu/text/CharsetMatch;->fConfidence:I
-Landroid/icu/text/CharsetMatch;->fInputStream:Ljava/io/InputStream;
-Landroid/icu/text/CharsetMatch;->fLang:Ljava/lang/String;
-Landroid/icu/text/CharsetMatch;->fRawInput:[B
-Landroid/icu/text/CharsetMatch;->fRawLength:I
-Landroid/icu/text/CharsetMatch;->getConfidence()I
-Landroid/icu/text/CharsetMatch;->getLanguage()Ljava/lang/String;
-Landroid/icu/text/CharsetMatch;->getName()Ljava/lang/String;
-Landroid/icu/text/CharsetMatch;->getReader()Ljava/io/Reader;
-Landroid/icu/text/CharsetMatch;->getString()Ljava/lang/String;
-Landroid/icu/text/CharsetMatch;->getString(I)Ljava/lang/String;
-Landroid/icu/text/CharsetRecognizer;
-Landroid/icu/text/CharsetRecognizer;-><init>()V
-Landroid/icu/text/CharsetRecognizer;->getLanguage()Ljava/lang/String;
-Landroid/icu/text/CharsetRecognizer;->getName()Ljava/lang/String;
-Landroid/icu/text/CharsetRecognizer;->match(Landroid/icu/text/CharsetDetector;)Landroid/icu/text/CharsetMatch;
-Landroid/icu/text/ChineseDateFormat$Field;
-Landroid/icu/text/ChineseDateFormat$Field;-><init>(Ljava/lang/String;I)V
-Landroid/icu/text/ChineseDateFormat$Field;->IS_LEAP_MONTH:Landroid/icu/text/ChineseDateFormat$Field;
-Landroid/icu/text/ChineseDateFormat$Field;->ofCalendarField(I)Landroid/icu/text/DateFormat$Field;
-Landroid/icu/text/ChineseDateFormat;
-Landroid/icu/text/ChineseDateFormat;-><init>(Ljava/lang/String;Landroid/icu/util/ULocale;)V
-Landroid/icu/text/ChineseDateFormat;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/icu/util/ULocale;)V
-Landroid/icu/text/ChineseDateFormat;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
-Landroid/icu/text/ChineseDateFormat;->subFormat(Ljava/lang/StringBuffer;CIIILandroid/icu/text/DisplayContext;Ljava/text/FieldPosition;Landroid/icu/util/Calendar;)V
-Landroid/icu/text/ChineseDateFormatSymbols;
-Landroid/icu/text/ChineseDateFormatSymbols;-><init>()V
-Landroid/icu/text/ChineseDateFormatSymbols;-><init>(Landroid/icu/util/Calendar;Landroid/icu/util/ULocale;)V
-Landroid/icu/text/ChineseDateFormatSymbols;-><init>(Landroid/icu/util/Calendar;Ljava/util/Locale;)V
-Landroid/icu/text/ChineseDateFormatSymbols;-><init>(Landroid/icu/util/ULocale;)V
-Landroid/icu/text/ChineseDateFormatSymbols;-><init>(Ljava/util/Locale;)V
-Landroid/icu/text/ChineseDateFormatSymbols;->getLeapMonth(I)Ljava/lang/String;
-Landroid/icu/text/ChineseDateFormatSymbols;->initializeData(Landroid/icu/text/DateFormatSymbols;)V
-Landroid/icu/text/ChineseDateFormatSymbols;->initializeData(Landroid/icu/util/ULocale;Landroid/icu/impl/ICUResourceBundle;Ljava/lang/String;)V
-Landroid/icu/text/ChineseDateFormatSymbols;->initializeIsLeapMonth()V
-Landroid/icu/text/ChineseDateFormatSymbols;->isLeapMonth:[Ljava/lang/String;
-Landroid/icu/text/CollationElementIterator$MaxExpSink;
-Landroid/icu/text/CollationElementIterator$MaxExpSink;-><init>(Ljava/util/Map;)V
-Landroid/icu/text/CollationElementIterator$MaxExpSink;->maxExpansions:Ljava/util/Map;
-Landroid/icu/text/CollationElementIterator;-><init>(Landroid/icu/text/RuleBasedCollator;)V
-Landroid/icu/text/CollationElementIterator;-><init>(Landroid/icu/text/UCharacterIterator;Landroid/icu/text/RuleBasedCollator;)V
-Landroid/icu/text/CollationElementIterator;-><init>(Ljava/lang/String;Landroid/icu/text/RuleBasedCollator;)V
-Landroid/icu/text/CollationElementIterator;-><init>(Ljava/text/CharacterIterator;Landroid/icu/text/RuleBasedCollator;)V
-Landroid/icu/text/CollationElementIterator;->ceNeedsTwoParts(J)Z
-Landroid/icu/text/CollationElementIterator;->computeMaxExpansions(Landroid/icu/impl/coll/CollationData;)Ljava/util/Map;
-Landroid/icu/text/CollationElementIterator;->dir_:B
-Landroid/icu/text/CollationElementIterator;->getFirstHalf(JI)I
-Landroid/icu/text/CollationElementIterator;->getMaxExpansion(Ljava/util/Map;I)I
-Landroid/icu/text/CollationElementIterator;->getRuleBasedCollator()Landroid/icu/text/RuleBasedCollator;
-Landroid/icu/text/CollationElementIterator;->getSecondHalf(JI)I
-Landroid/icu/text/CollationElementIterator;->iter_:Landroid/icu/impl/coll/CollationIterator;
-Landroid/icu/text/CollationElementIterator;->normalizeDir()B
-Landroid/icu/text/CollationElementIterator;->offsets_:Landroid/icu/impl/coll/UVector32;
-Landroid/icu/text/CollationElementIterator;->otherHalf_:I
-Landroid/icu/text/CollationElementIterator;->rbc_:Landroid/icu/text/RuleBasedCollator;
-Landroid/icu/text/CollationElementIterator;->string_:Ljava/lang/String;
-Landroid/icu/text/CollationKey$BoundMode;-><init>()V
-Landroid/icu/text/CollationKey$BoundMode;->COUNT:I
-Landroid/icu/text/CollationKey;-><init>(Ljava/lang/String;Landroid/icu/text/RawCollationKey;)V
-Landroid/icu/text/CollationKey;-><init>(Ljava/lang/String;[BI)V
-Landroid/icu/text/CollationKey;->getLength()I
-Landroid/icu/text/CollationKey;->MERGE_SEPERATOR_:I
-Landroid/icu/text/CollationKey;->m_hashCode_:I
-Landroid/icu/text/CollationKey;->m_key_:[B
-Landroid/icu/text/CollationKey;->m_length_:I
-Landroid/icu/text/CollationKey;->m_source_:Ljava/lang/String;
-Landroid/icu/text/Collator$ASCII;
-Landroid/icu/text/Collator$ASCII;-><init>()V
-Landroid/icu/text/Collator$ASCII;->equalIgnoreCase(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
-Landroid/icu/text/Collator$CollatorFactory;
-Landroid/icu/text/Collator$CollatorFactory;-><init>()V
-Landroid/icu/text/Collator$CollatorFactory;->createCollator(Landroid/icu/util/ULocale;)Landroid/icu/text/Collator;
-Landroid/icu/text/Collator$CollatorFactory;->createCollator(Ljava/util/Locale;)Landroid/icu/text/Collator;
-Landroid/icu/text/Collator$CollatorFactory;->getDisplayName(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)Ljava/lang/String;
-Landroid/icu/text/Collator$CollatorFactory;->getDisplayName(Ljava/util/Locale;Ljava/util/Locale;)Ljava/lang/String;
-Landroid/icu/text/Collator$CollatorFactory;->getSupportedLocaleIDs()Ljava/util/Set;
-Landroid/icu/text/Collator$CollatorFactory;->visible()Z
-Landroid/icu/text/Collator$KeywordsSink;
-Landroid/icu/text/Collator$KeywordsSink;-><init>()V
-Landroid/icu/text/Collator$KeywordsSink;->hasDefault:Z
-Landroid/icu/text/Collator$KeywordsSink;->values:Ljava/util/LinkedList;
-Landroid/icu/text/Collator$ReorderCodes;->LIMIT:I
-Landroid/icu/text/Collator$ServiceShim;
-Landroid/icu/text/Collator$ServiceShim;-><init>()V
-Landroid/icu/text/Collator$ServiceShim;->getAvailableLocales()[Ljava/util/Locale;
-Landroid/icu/text/Collator$ServiceShim;->getAvailableULocales()[Landroid/icu/util/ULocale;
-Landroid/icu/text/Collator$ServiceShim;->getDisplayName(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)Ljava/lang/String;
-Landroid/icu/text/Collator$ServiceShim;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/Collator;
-Landroid/icu/text/Collator$ServiceShim;->registerFactory(Landroid/icu/text/Collator$CollatorFactory;)Ljava/lang/Object;
-Landroid/icu/text/Collator$ServiceShim;->registerInstance(Landroid/icu/text/Collator;Landroid/icu/util/ULocale;)Ljava/lang/Object;
-Landroid/icu/text/Collator$ServiceShim;->unregister(Ljava/lang/Object;)Z
-Landroid/icu/text/Collator;->BASE:Ljava/lang/String;
-Landroid/icu/text/Collator;->checkNotFrozen()V
-Landroid/icu/text/Collator;->DEBUG:Z
-Landroid/icu/text/Collator;->doCompare(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I
-Landroid/icu/text/Collator;->getIntValue(Ljava/lang/String;Ljava/lang/String;[[Ljava/lang/String;)I
-Landroid/icu/text/Collator;->getLocale(Landroid/icu/util/ULocale$Type;)Landroid/icu/util/ULocale;
-Landroid/icu/text/Collator;->getRawCollationKey(Ljava/lang/String;Landroid/icu/text/RawCollationKey;)Landroid/icu/text/RawCollationKey;
-Landroid/icu/text/Collator;->getReorderCode(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/icu/text/Collator;->getShim()Landroid/icu/text/Collator$ServiceShim;
-Landroid/icu/text/Collator;->getYesOrNo(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/icu/text/Collator;->KEYWORDS:[Ljava/lang/String;
-Landroid/icu/text/Collator;->registerFactory(Landroid/icu/text/Collator$CollatorFactory;)Ljava/lang/Object;
-Landroid/icu/text/Collator;->registerInstance(Landroid/icu/text/Collator;Landroid/icu/util/ULocale;)Ljava/lang/Object;
-Landroid/icu/text/Collator;->RESOURCE:Ljava/lang/String;
-Landroid/icu/text/Collator;->setAttributesFromKeywords(Landroid/icu/util/ULocale;Landroid/icu/text/Collator;Landroid/icu/text/RuleBasedCollator;)V
-Landroid/icu/text/Collator;->setLocale(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)V
-Landroid/icu/text/Collator;->setStrength2(I)Landroid/icu/text/Collator;
-Landroid/icu/text/Collator;->setVariableTop(I)V
-Landroid/icu/text/Collator;->setVariableTop(Ljava/lang/String;)I
-Landroid/icu/text/Collator;->shim:Landroid/icu/text/Collator$ServiceShim;
-Landroid/icu/text/Collator;->unregister(Ljava/lang/Object;)Z
-Landroid/icu/text/CompactDecimalFormat$CompactStyle;-><init>()V
-Landroid/icu/text/CompactDecimalFormat;-><init>(Landroid/icu/util/ULocale;Landroid/icu/text/CompactDecimalFormat$CompactStyle;)V
-Landroid/icu/text/ComposedCharIter;
-Landroid/icu/text/ComposedCharIter;-><init>()V
-Landroid/icu/text/ComposedCharIter;-><init>(ZI)V
-Landroid/icu/text/ComposedCharIter;->curChar:I
-Landroid/icu/text/ComposedCharIter;->decompBuf:Ljava/lang/String;
-Landroid/icu/text/ComposedCharIter;->decomposition()Ljava/lang/String;
-Landroid/icu/text/ComposedCharIter;->DONE:C
-Landroid/icu/text/ComposedCharIter;->findNextChar()V
-Landroid/icu/text/ComposedCharIter;->hasNext()Z
-Landroid/icu/text/ComposedCharIter;->n2impl:Landroid/icu/impl/Normalizer2Impl;
-Landroid/icu/text/ComposedCharIter;->next()C
-Landroid/icu/text/ComposedCharIter;->nextChar:I
-Landroid/icu/text/CurrencyDisplayNames;
-Landroid/icu/text/CurrencyDisplayNames;-><init>()V
-Landroid/icu/text/CurrencyDisplayNames;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/CurrencyDisplayNames;
-Landroid/icu/text/CurrencyDisplayNames;->getInstance(Landroid/icu/util/ULocale;Z)Landroid/icu/text/CurrencyDisplayNames;
-Landroid/icu/text/CurrencyDisplayNames;->getInstance(Ljava/util/Locale;)Landroid/icu/text/CurrencyDisplayNames;
-Landroid/icu/text/CurrencyDisplayNames;->getInstance(Ljava/util/Locale;Z)Landroid/icu/text/CurrencyDisplayNames;
-Landroid/icu/text/CurrencyDisplayNames;->getName(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/CurrencyDisplayNames;->getPluralName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/CurrencyDisplayNames;->getSymbol(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/CurrencyDisplayNames;->getULocale()Landroid/icu/util/ULocale;
-Landroid/icu/text/CurrencyDisplayNames;->hasData()Z
-Landroid/icu/text/CurrencyDisplayNames;->nameMap()Ljava/util/Map;
-Landroid/icu/text/CurrencyDisplayNames;->symbolMap()Ljava/util/Map;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyDigits;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyDigits;-><init>(II)V
-Landroid/icu/text/CurrencyMetaInfo$CurrencyDigits;->fractionDigits:I
-Landroid/icu/text/CurrencyMetaInfo$CurrencyDigits;->roundingIncrement:I
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;-><init>(Ljava/lang/String;Ljava/lang/String;JJZ)V
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->all()Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->ALL:Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->currency:Ljava/lang/String;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->equals(Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;)Z
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->equals(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->from:J
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->now()Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->onCurrency(Ljava/lang/String;)Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->onDate(J)Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->onDate(Ljava/util/Date;)Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->onDateRange(JJ)Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->onDateRange(Ljava/util/Date;Ljava/util/Date;)Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->onRegion(Ljava/lang/String;)Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->onTender()Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->region:Ljava/lang/String;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->tenderOnly:Z
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->to:J
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->withCurrency(Ljava/lang/String;)Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->withDate(J)Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->withDate(Ljava/util/Date;)Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->withDateRange(JJ)Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->withDateRange(Ljava/util/Date;Ljava/util/Date;)Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->withRegion(Ljava/lang/String;)Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->withTender()Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyInfo;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyInfo;-><init>(Ljava/lang/String;Ljava/lang/String;JJI)V
-Landroid/icu/text/CurrencyMetaInfo$CurrencyInfo;-><init>(Ljava/lang/String;Ljava/lang/String;JJIZ)V
-Landroid/icu/text/CurrencyMetaInfo$CurrencyInfo;->code:Ljava/lang/String;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyInfo;->from:J
-Landroid/icu/text/CurrencyMetaInfo$CurrencyInfo;->isTender()Z
-Landroid/icu/text/CurrencyMetaInfo$CurrencyInfo;->priority:I
-Landroid/icu/text/CurrencyMetaInfo$CurrencyInfo;->region:Ljava/lang/String;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyInfo;->tender:Z
-Landroid/icu/text/CurrencyMetaInfo$CurrencyInfo;->to:J
-Landroid/icu/text/CurrencyMetaInfo;
-Landroid/icu/text/CurrencyMetaInfo;-><init>()V
-Landroid/icu/text/CurrencyMetaInfo;->currencies(Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;)Ljava/util/List;
-Landroid/icu/text/CurrencyMetaInfo;->currencyDigits(Ljava/lang/String;)Landroid/icu/text/CurrencyMetaInfo$CurrencyDigits;
-Landroid/icu/text/CurrencyMetaInfo;->currencyDigits(Ljava/lang/String;Landroid/icu/util/Currency$CurrencyUsage;)Landroid/icu/text/CurrencyMetaInfo$CurrencyDigits;
-Landroid/icu/text/CurrencyMetaInfo;->currencyInfo(Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;)Ljava/util/List;
-Landroid/icu/text/CurrencyMetaInfo;->dateString(J)Ljava/lang/String;
-Landroid/icu/text/CurrencyMetaInfo;->debugString(Ljava/lang/Object;)Ljava/lang/String;
-Landroid/icu/text/CurrencyMetaInfo;->defaultDigits:Landroid/icu/text/CurrencyMetaInfo$CurrencyDigits;
-Landroid/icu/text/CurrencyMetaInfo;->getInstance()Landroid/icu/text/CurrencyMetaInfo;
-Landroid/icu/text/CurrencyMetaInfo;->getInstance(Z)Landroid/icu/text/CurrencyMetaInfo;
-Landroid/icu/text/CurrencyMetaInfo;->hasData()Z
-Landroid/icu/text/CurrencyMetaInfo;->hasData:Z
-Landroid/icu/text/CurrencyMetaInfo;->impl:Landroid/icu/text/CurrencyMetaInfo;
-Landroid/icu/text/CurrencyMetaInfo;->regions(Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;)Ljava/util/List;
-Landroid/icu/text/CurrencyPluralInfo;->defaultCurrencyPluralPattern:Ljava/lang/String;
-Landroid/icu/text/CurrencyPluralInfo;->defaultCurrencyPluralPatternChar:[C
-Landroid/icu/text/CurrencyPluralInfo;->initialize(Landroid/icu/util/ULocale;)V
-Landroid/icu/text/CurrencyPluralInfo;->pluralCountToCurrencyUnitPattern:Ljava/util/Map;
-Landroid/icu/text/CurrencyPluralInfo;->pluralPatternIterator()Ljava/util/Iterator;
-Landroid/icu/text/CurrencyPluralInfo;->pluralRules:Landroid/icu/text/PluralRules;
-Landroid/icu/text/CurrencyPluralInfo;->select(D)Ljava/lang/String;
-Landroid/icu/text/CurrencyPluralInfo;->select(Landroid/icu/text/PluralRules$FixedDecimal;)Ljava/lang/String;
-Landroid/icu/text/CurrencyPluralInfo;->setupCurrencyPluralPattern(Landroid/icu/util/ULocale;)V
-Landroid/icu/text/CurrencyPluralInfo;->tripleCurrencySign:[C
-Landroid/icu/text/CurrencyPluralInfo;->tripleCurrencyStr:Ljava/lang/String;
-Landroid/icu/text/CurrencyPluralInfo;->ulocale:Landroid/icu/util/ULocale;
-Landroid/icu/text/DateFormat$BooleanAttribute;-><init>()V
-Landroid/icu/text/DateFormat$BooleanAttribute;->PARSE_PARTIAL_MATCH:Landroid/icu/text/DateFormat$BooleanAttribute;
-Landroid/icu/text/DateFormat$Field;->calendarField:I
-Landroid/icu/text/DateFormat$Field;->CAL_FIELDS:[Landroid/icu/text/DateFormat$Field;
-Landroid/icu/text/DateFormat$Field;->CAL_FIELD_COUNT:I
-Landroid/icu/text/DateFormat$Field;->FIELD_NAME_MAP:Ljava/util/Map;
-Landroid/icu/text/DateFormat$Field;->RELATED_YEAR:Landroid/icu/text/DateFormat$Field;
-Landroid/icu/text/DateFormat$Field;->TIME_SEPARATOR:Landroid/icu/text/DateFormat$Field;
-Landroid/icu/text/DateFormat;->ABBR_STANDALONE_MONTH:Ljava/lang/String;
-Landroid/icu/text/DateFormat;->booleanAttributes:Ljava/util/EnumSet;
-Landroid/icu/text/DateFormat;->capitalizationSetting:Landroid/icu/text/DisplayContext;
-Landroid/icu/text/DateFormat;->currentSerialVersion:I
-Landroid/icu/text/DateFormat;->DATE_SKELETONS:Ljava/util/List;
-Landroid/icu/text/DateFormat;->FIELD_COUNT:I
-Landroid/icu/text/DateFormat;->fixNumberFormatForDates(Landroid/icu/text/NumberFormat;)V
-Landroid/icu/text/DateFormat;->get(IILandroid/icu/util/ULocale;Landroid/icu/util/Calendar;)Landroid/icu/text/DateFormat;
-Landroid/icu/text/DateFormat;->getAvailableULocales()[Landroid/icu/util/ULocale;
-Landroid/icu/text/DateFormat;->getInstance(Landroid/icu/util/Calendar;Landroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
-Landroid/icu/text/DateFormat;->HOUR_GENERIC_TZ:Ljava/lang/String;
-Landroid/icu/text/DateFormat;->HOUR_MINUTE_GENERIC_TZ:Ljava/lang/String;
-Landroid/icu/text/DateFormat;->HOUR_MINUTE_TZ:Ljava/lang/String;
-Landroid/icu/text/DateFormat;->HOUR_TZ:Ljava/lang/String;
-Landroid/icu/text/DateFormat;->RELATED_YEAR:I
-Landroid/icu/text/DateFormat;->serialVersionOnStream:I
-Landroid/icu/text/DateFormat;->STANDALONE_MONTH:Ljava/lang/String;
-Landroid/icu/text/DateFormat;->TIME_SEPARATOR:I
-Landroid/icu/text/DateFormat;->TIME_SKELETONS:Ljava/util/List;
-Landroid/icu/text/DateFormat;->ZONE_SKELETONS:Ljava/util/List;
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink$AliasType;
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink$AliasType;-><init>()V
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink$AliasType;->DIFFERENT_CALENDAR:Landroid/icu/text/DateFormatSymbols$CalendarDataSink$AliasType;
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink$AliasType;->GREGORIAN:Landroid/icu/text/DateFormatSymbols$CalendarDataSink$AliasType;
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink$AliasType;->NONE:Landroid/icu/text/DateFormatSymbols$CalendarDataSink$AliasType;
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink$AliasType;->SAME_CALENDAR:Landroid/icu/text/DateFormatSymbols$CalendarDataSink$AliasType;
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink$AliasType;->valueOf(Ljava/lang/String;)Landroid/icu/text/DateFormatSymbols$CalendarDataSink$AliasType;
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink$AliasType;->values()[Landroid/icu/text/DateFormatSymbols$CalendarDataSink$AliasType;
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink;
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink;-><init>()V
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink;->aliasPathPairs:Ljava/util/List;
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink;->aliasRelativePath:Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink;->arrays:Ljava/util/Map;
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink;->CALENDAR_ALIAS_PREFIX:Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink;->currentCalendarType:Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink;->maps:Ljava/util/Map;
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink;->nextCalendarType:Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink;->preEnumerate(Ljava/lang/String;)V
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink;->processAliasFromValue(Ljava/lang/String;Landroid/icu/impl/UResource$Value;)Landroid/icu/text/DateFormatSymbols$CalendarDataSink$AliasType;
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink;->processResource(Ljava/lang/String;Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink;->resourcesToVisit:Ljava/util/Set;
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink;->visitAllResources()V
-Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;
-Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;-><init>()V
-Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;->DAY_FORMAT:Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;
-Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;->DAY_NARROW:Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;
-Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;->DAY_STANDALONE:Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;
-Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;->ERA_ABBREV:Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;
-Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;->ERA_NARROW:Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;
-Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;->ERA_WIDE:Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;
-Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;->METAZONE_LONG:Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;
-Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;->METAZONE_SHORT:Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;
-Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;->MONTH_FORMAT:Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;
-Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;->MONTH_NARROW:Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;
-Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;->MONTH_STANDALONE:Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;
-Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;->OTHER:Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;
-Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;->valueOf(Ljava/lang/String;)Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;
-Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;->values()[Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;
-Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;->ZONE_LONG:Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;
-Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;->ZONE_SHORT:Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;
-Landroid/icu/text/DateFormatSymbols;-><init>(Landroid/icu/util/ULocale;Landroid/icu/impl/ICUResourceBundle;Ljava/lang/String;)V
-Landroid/icu/text/DateFormatSymbols;-><init>(Landroid/icu/util/ULocale;Ljava/lang/String;)V
-Landroid/icu/text/DateFormatSymbols;->abbreviatedDayPeriods:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->actualLocale:Landroid/icu/util/ULocale;
-Landroid/icu/text/DateFormatSymbols;->ALTERNATE_TIME_SEPARATOR:Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->ampms:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->ampmsNarrow:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->arrayOfArrayEquals([[Ljava/lang/Object;[[Ljava/lang/Object;)Z
-Landroid/icu/text/DateFormatSymbols;->CALENDAR_CLASSES:[[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->capitalization:Ljava/util/Map;
-Landroid/icu/text/DateFormatSymbols;->contextUsageTypeMap:Ljava/util/Map;
-Landroid/icu/text/DateFormatSymbols;->DAY_PERIOD_KEYS:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->DEFAULT_TIME_SEPARATOR:Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->DFSCACHE:Landroid/icu/impl/CacheBase;
-Landroid/icu/text/DateFormatSymbols;->DT_CONTEXT_COUNT:I
-Landroid/icu/text/DateFormatSymbols;->DT_LEAP_MONTH_PATTERN_FORMAT_ABBREV:I
-Landroid/icu/text/DateFormatSymbols;->DT_LEAP_MONTH_PATTERN_FORMAT_NARROW:I
-Landroid/icu/text/DateFormatSymbols;->DT_LEAP_MONTH_PATTERN_FORMAT_WIDE:I
-Landroid/icu/text/DateFormatSymbols;->DT_LEAP_MONTH_PATTERN_NUMERIC:I
-Landroid/icu/text/DateFormatSymbols;->DT_LEAP_MONTH_PATTERN_STANDALONE_ABBREV:I
-Landroid/icu/text/DateFormatSymbols;->DT_LEAP_MONTH_PATTERN_STANDALONE_NARROW:I
-Landroid/icu/text/DateFormatSymbols;->DT_LEAP_MONTH_PATTERN_STANDALONE_WIDE:I
-Landroid/icu/text/DateFormatSymbols;->DT_MONTH_PATTERN_COUNT:I
-Landroid/icu/text/DateFormatSymbols;->DT_WIDTH_COUNT:I
-Landroid/icu/text/DateFormatSymbols;->duplicate([Ljava/lang/String;)[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->duplicate([[Ljava/lang/String;)[[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->eraNames:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->eras:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->getAvailableULocales()[Landroid/icu/util/ULocale;
-Landroid/icu/text/DateFormatSymbols;->getDateFormatBundle(Landroid/icu/util/Calendar;Landroid/icu/util/ULocale;)Ljava/util/ResourceBundle;
-Landroid/icu/text/DateFormatSymbols;->getDateFormatBundle(Landroid/icu/util/Calendar;Ljava/util/Locale;)Ljava/util/ResourceBundle;
-Landroid/icu/text/DateFormatSymbols;->getDateFormatBundle(Ljava/lang/Class;Landroid/icu/util/ULocale;)Ljava/util/ResourceBundle;
-Landroid/icu/text/DateFormatSymbols;->getDateFormatBundle(Ljava/lang/Class;Ljava/util/Locale;)Ljava/util/ResourceBundle;
-Landroid/icu/text/DateFormatSymbols;->getLeapMonthPattern(II)Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->getNarrowEras()[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->getTimeSeparatorString()Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->initializeData(Landroid/icu/text/DateFormatSymbols;)V
-Landroid/icu/text/DateFormatSymbols;->initializeData(Landroid/icu/util/ULocale;Landroid/icu/impl/ICUResourceBundle;Ljava/lang/String;)V
-Landroid/icu/text/DateFormatSymbols;->leapMonthPatterns:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->LEAP_MONTH_PATTERNS_PATHS:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->loadDayPeriodStrings(Ljava/util/Map;)[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->localPatternChars:Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->millisPerHour:I
-Landroid/icu/text/DateFormatSymbols;->months:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->narrowDayPeriods:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->narrowEras:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->narrowMonths:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->narrowWeekdays:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->NUMERIC:I
-Landroid/icu/text/DateFormatSymbols;->patternChars:Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->quarters:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->requestedLocale:Landroid/icu/util/ULocale;
-Landroid/icu/text/DateFormatSymbols;->setLeapMonthPattern(Ljava/lang/String;II)V
-Landroid/icu/text/DateFormatSymbols;->setLocale(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)V
-Landroid/icu/text/DateFormatSymbols;->setTimeSeparatorString(Ljava/lang/String;)V
-Landroid/icu/text/DateFormatSymbols;->shorterWeekdays:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->shortMonths:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->shortQuarters:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->shortWeekdays:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->shortYearNames:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->shortZodiacNames:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->standaloneAbbreviatedDayPeriods:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->standaloneMonths:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->standaloneNarrowDayPeriods:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->standaloneNarrowMonths:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->standaloneNarrowWeekdays:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->standaloneQuarters:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->standaloneShorterWeekdays:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->standaloneShortMonths:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->standaloneShortQuarters:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->standaloneShortWeekdays:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->standaloneWeekdays:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->standaloneWideDayPeriods:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->timeSeparator:Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->validLocale:Landroid/icu/util/ULocale;
-Landroid/icu/text/DateFormatSymbols;->weekdays:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->wideDayPeriods:[Ljava/lang/String;
-Landroid/icu/text/DateFormatSymbols;->zoneStrings:[[Ljava/lang/String;
-Landroid/icu/text/DateIntervalFormat$BestMatchInfo;
-Landroid/icu/text/DateIntervalFormat$BestMatchInfo;-><init>(Ljava/lang/String;I)V
-Landroid/icu/text/DateIntervalFormat$BestMatchInfo;->bestMatchDistanceInfo:I
-Landroid/icu/text/DateIntervalFormat$BestMatchInfo;->bestMatchSkeleton:Ljava/lang/String;
-Landroid/icu/text/DateIntervalFormat$SkeletonAndItsBestMatch;
-Landroid/icu/text/DateIntervalFormat$SkeletonAndItsBestMatch;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/text/DateIntervalFormat$SkeletonAndItsBestMatch;->bestMatchSkeleton:Ljava/lang/String;
-Landroid/icu/text/DateIntervalFormat$SkeletonAndItsBestMatch;->skeleton:Ljava/lang/String;
-Landroid/icu/text/DateIntervalFormat;-><init>(Ljava/lang/String;Landroid/icu/text/DateIntervalInfo;Landroid/icu/text/SimpleDateFormat;)V
-Landroid/icu/text/DateIntervalFormat;-><init>(Ljava/lang/String;Landroid/icu/util/ULocale;Landroid/icu/text/SimpleDateFormat;)V
-Landroid/icu/text/DateIntervalFormat;->adjustFieldWidth(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
-Landroid/icu/text/DateIntervalFormat;->adjustPosition(Ljava/lang/String;Ljava/lang/String;Ljava/text/FieldPosition;Ljava/lang/String;Ljava/text/FieldPosition;Ljava/text/FieldPosition;)V
-Landroid/icu/text/DateIntervalFormat;->concatSingleDate2TimeInterval(Ljava/lang/String;Ljava/lang/String;ILjava/util/Map;)V
-Landroid/icu/text/DateIntervalFormat;->fallbackFormat(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;ZLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
-Landroid/icu/text/DateIntervalFormat;->fallbackFormat(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;ZLjava/lang/StringBuffer;Ljava/text/FieldPosition;Ljava/lang/String;)Ljava/lang/StringBuffer;
-Landroid/icu/text/DateIntervalFormat;->fDateFormat:Landroid/icu/text/SimpleDateFormat;
-Landroid/icu/text/DateIntervalFormat;->fDatePattern:Ljava/lang/String;
-Landroid/icu/text/DateIntervalFormat;->fDateTimeFormat:Ljava/lang/String;
-Landroid/icu/text/DateIntervalFormat;->fFromCalendar:Landroid/icu/util/Calendar;
-Landroid/icu/text/DateIntervalFormat;->fieldExistsInSkeleton(ILjava/lang/String;)Z
-Landroid/icu/text/DateIntervalFormat;->fInfo:Landroid/icu/text/DateIntervalInfo;
-Landroid/icu/text/DateIntervalFormat;->fIntervalPatterns:Ljava/util/Map;
-Landroid/icu/text/DateIntervalFormat;->fSkeleton:Ljava/lang/String;
-Landroid/icu/text/DateIntervalFormat;->fTimePattern:Ljava/lang/String;
-Landroid/icu/text/DateIntervalFormat;->fToCalendar:Landroid/icu/util/Calendar;
-Landroid/icu/text/DateIntervalFormat;->genFallbackPattern(ILjava/lang/String;Ljava/util/Map;Landroid/icu/text/DateTimePatternGenerator;)V
-Landroid/icu/text/DateIntervalFormat;->genIntervalPattern(ILjava/lang/String;Ljava/lang/String;ILjava/util/Map;)Landroid/icu/text/DateIntervalFormat$SkeletonAndItsBestMatch;
-Landroid/icu/text/DateIntervalFormat;->genSeparateDateTimePtn(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Landroid/icu/text/DateTimePatternGenerator;)Z
-Landroid/icu/text/DateIntervalFormat;->getConcatenationPattern(Landroid/icu/util/ULocale;)Ljava/lang/String;
-Landroid/icu/text/DateIntervalFormat;->getDateTimeSkeleton(Ljava/lang/String;Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;)V
-Landroid/icu/text/DateIntervalFormat;->getPatterns(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;Landroid/icu/util/Output;)Ljava/lang/String;
-Landroid/icu/text/DateIntervalFormat;->getRawPatterns()Ljava/util/Map;
-Landroid/icu/text/DateIntervalFormat;->initializeIntervalPattern(Ljava/lang/String;Landroid/icu/util/ULocale;)Ljava/util/Map;
-Landroid/icu/text/DateIntervalFormat;->initializePattern(Landroid/icu/impl/ICUCache;)V
-Landroid/icu/text/DateIntervalFormat;->isDateIntervalInfoDefault:Z
-Landroid/icu/text/DateIntervalFormat;->LOCAL_PATTERN_CACHE:Landroid/icu/impl/ICUCache;
-Landroid/icu/text/DateIntervalInfo$DateIntervalSink;
-Landroid/icu/text/DateIntervalInfo$DateIntervalSink;-><init>(Landroid/icu/text/DateIntervalInfo;)V
-Landroid/icu/text/DateIntervalInfo$DateIntervalSink;->ACCEPTED_PATTERN_LETTERS:Ljava/lang/String;
-Landroid/icu/text/DateIntervalInfo$DateIntervalSink;->dateIntervalInfo:Landroid/icu/text/DateIntervalInfo;
-Landroid/icu/text/DateIntervalInfo$DateIntervalSink;->DATE_INTERVAL_PATH_PREFIX:Ljava/lang/String;
-Landroid/icu/text/DateIntervalInfo$DateIntervalSink;->DATE_INTERVAL_PATH_SUFFIX:Ljava/lang/String;
-Landroid/icu/text/DateIntervalInfo$DateIntervalSink;->getAndResetNextCalendarType()Ljava/lang/String;
-Landroid/icu/text/DateIntervalInfo$DateIntervalSink;->getCalendarTypeFromPath(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/DateIntervalInfo$DateIntervalSink;->nextCalendarType:Ljava/lang/String;
-Landroid/icu/text/DateIntervalInfo$DateIntervalSink;->processSkeletonTable(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-Landroid/icu/text/DateIntervalInfo$DateIntervalSink;->setIntervalPatternIfAbsent(Ljava/lang/String;Ljava/lang/String;Landroid/icu/impl/UResource$Value;)V
-Landroid/icu/text/DateIntervalInfo$DateIntervalSink;->validateAndProcessPatternLetter(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-Landroid/icu/text/DateIntervalInfo$PatternInfo;->currentSerialVersion:I
-Landroid/icu/text/DateIntervalInfo$PatternInfo;->fFirstDateInPtnIsLaterDate:Z
-Landroid/icu/text/DateIntervalInfo$PatternInfo;->fIntervalPatternFirstPart:Ljava/lang/String;
-Landroid/icu/text/DateIntervalInfo$PatternInfo;->fIntervalPatternSecondPart:Ljava/lang/String;
-Landroid/icu/text/DateIntervalInfo;-><init>()V
-Landroid/icu/text/DateIntervalInfo;->CALENDAR_FIELD_TO_PATTERN_LETTER:[Ljava/lang/String;
-Landroid/icu/text/DateIntervalInfo;->CALENDAR_KEY:Ljava/lang/String;
-Landroid/icu/text/DateIntervalInfo;->cloneIntervalPatterns(Ljava/util/Map;)Ljava/util/Map;
-Landroid/icu/text/DateIntervalInfo;->cloneUnfrozenDII()Ljava/lang/Object;
-Landroid/icu/text/DateIntervalInfo;->currentSerialVersion:I
-Landroid/icu/text/DateIntervalInfo;->DIICACHE:Landroid/icu/impl/ICUCache;
-Landroid/icu/text/DateIntervalInfo;->EARLIEST_FIRST_PREFIX:Ljava/lang/String;
-Landroid/icu/text/DateIntervalInfo;->FALLBACK_STRING:Ljava/lang/String;
-Landroid/icu/text/DateIntervalInfo;->fFallbackIntervalPattern:Ljava/lang/String;
-Landroid/icu/text/DateIntervalInfo;->fFirstDateInPtnIsLaterDate:Z
-Landroid/icu/text/DateIntervalInfo;->fIntervalPatterns:Ljava/util/Map;
-Landroid/icu/text/DateIntervalInfo;->fIntervalPatternsReadOnly:Z
-Landroid/icu/text/DateIntervalInfo;->frozen:Z
-Landroid/icu/text/DateIntervalInfo;->genPatternInfo(Ljava/lang/String;Z)Landroid/icu/text/DateIntervalInfo$PatternInfo;
-Landroid/icu/text/DateIntervalInfo;->getBestSkeleton(Ljava/lang/String;)Landroid/icu/text/DateIntervalFormat$BestMatchInfo;
-Landroid/icu/text/DateIntervalInfo;->getPatterns()Ljava/util/Map;
-Landroid/icu/text/DateIntervalInfo;->getRawPatterns()Ljava/util/Map;
-Landroid/icu/text/DateIntervalInfo;->initializeData(Landroid/icu/util/ULocale;)V
-Landroid/icu/text/DateIntervalInfo;->initializeFromReadOnlyPatterns(Landroid/icu/text/DateIntervalInfo;)V
-Landroid/icu/text/DateIntervalInfo;->INTERVAL_FORMATS_KEY:Ljava/lang/String;
-Landroid/icu/text/DateIntervalInfo;->LATEST_FIRST_PREFIX:Ljava/lang/String;
-Landroid/icu/text/DateIntervalInfo;->MINIMUM_SUPPORTED_CALENDAR_FIELD:I
-Landroid/icu/text/DateIntervalInfo;->parseSkeleton(Ljava/lang/String;[I)V
-Landroid/icu/text/DateIntervalInfo;->setIntervalPattern(Ljava/lang/String;Ljava/lang/String;Landroid/icu/text/DateIntervalInfo$PatternInfo;)V
-Landroid/icu/text/DateIntervalInfo;->setIntervalPatternInternally(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/icu/text/DateIntervalInfo$PatternInfo;
-Landroid/icu/text/DateIntervalInfo;->setup(Landroid/icu/util/ULocale;)V
-Landroid/icu/text/DateIntervalInfo;->splitPatternInto2Part(Ljava/lang/String;)I
-Landroid/icu/text/DateIntervalInfo;->stringNumeric(IIC)Z
-Landroid/icu/text/DateTimePatternGenerator$AppendItemFormatsSink;
-Landroid/icu/text/DateTimePatternGenerator$AppendItemFormatsSink;-><init>()V
-Landroid/icu/text/DateTimePatternGenerator$AppendItemNamesSink;
-Landroid/icu/text/DateTimePatternGenerator$AppendItemNamesSink;-><init>()V
-Landroid/icu/text/DateTimePatternGenerator$AvailableFormatsSink;
-Landroid/icu/text/DateTimePatternGenerator$AvailableFormatsSink;-><init>(Landroid/icu/text/DateTimePatternGenerator$PatternInfo;)V
-Landroid/icu/text/DateTimePatternGenerator$AvailableFormatsSink;->returnInfo:Landroid/icu/text/DateTimePatternGenerator$PatternInfo;
-Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;
-Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;-><init>()V
-Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->addedDefaultDayPeriod:Z
-Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->baseOriginal:Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;
-Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->compareTo(Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;)I
-Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->extractFrom(Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;I)V
-Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->fieldIsNumeric(I)Z
-Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->getBasePattern()Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->getDistance(Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;ILandroid/icu/text/DateTimePatternGenerator$DistanceInfo;)I
-Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->getFieldMask()I
-Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->original:Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;
-Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->set(Ljava/lang/String;Landroid/icu/text/DateTimePatternGenerator$FormatParser;Z)Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;
-Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->toCanonicalString()Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->type:[I
-Landroid/icu/text/DateTimePatternGenerator$DayPeriodAllowedHoursSink;
-Landroid/icu/text/DateTimePatternGenerator$DayPeriodAllowedHoursSink;-><init>(Ljava/util/HashMap;)V
-Landroid/icu/text/DateTimePatternGenerator$DayPeriodAllowedHoursSink;->tempMap:Ljava/util/HashMap;
-Landroid/icu/text/DateTimePatternGenerator$DistanceInfo;
-Landroid/icu/text/DateTimePatternGenerator$DistanceInfo;->addExtra(I)V
-Landroid/icu/text/DateTimePatternGenerator$DistanceInfo;->addMissing(I)V
-Landroid/icu/text/DateTimePatternGenerator$DistanceInfo;->clear()V
-Landroid/icu/text/DateTimePatternGenerator$DistanceInfo;->extraFieldMask:I
-Landroid/icu/text/DateTimePatternGenerator$DistanceInfo;->missingFieldMask:I
-Landroid/icu/text/DateTimePatternGenerator$DistanceInfo;->setTo(Landroid/icu/text/DateTimePatternGenerator$DistanceInfo;)V
-Landroid/icu/text/DateTimePatternGenerator$DTPGflags;
-Landroid/icu/text/DateTimePatternGenerator$DTPGflags;-><init>()V
-Landroid/icu/text/DateTimePatternGenerator$DTPGflags;->FIX_FRACTIONAL_SECONDS:Landroid/icu/text/DateTimePatternGenerator$DTPGflags;
-Landroid/icu/text/DateTimePatternGenerator$DTPGflags;->SKELETON_USES_CAP_J:Landroid/icu/text/DateTimePatternGenerator$DTPGflags;
-Landroid/icu/text/DateTimePatternGenerator$DTPGflags;->valueOf(Ljava/lang/String;)Landroid/icu/text/DateTimePatternGenerator$DTPGflags;
-Landroid/icu/text/DateTimePatternGenerator$DTPGflags;->values()[Landroid/icu/text/DateTimePatternGenerator$DTPGflags;
-Landroid/icu/text/DateTimePatternGenerator$FormatParser;
-Landroid/icu/text/DateTimePatternGenerator$FormatParser;-><init>()V
-Landroid/icu/text/DateTimePatternGenerator$FormatParser;->addVariable(Ljava/lang/StringBuffer;Z)V
-Landroid/icu/text/DateTimePatternGenerator$FormatParser;->getItems()Ljava/util/List;
-Landroid/icu/text/DateTimePatternGenerator$FormatParser;->hasDateAndTimeFields()Z
-Landroid/icu/text/DateTimePatternGenerator$FormatParser;->items:Ljava/util/List;
-Landroid/icu/text/DateTimePatternGenerator$FormatParser;->quoteLiteral(Ljava/lang/String;)Ljava/lang/Object;
-Landroid/icu/text/DateTimePatternGenerator$FormatParser;->QUOTING_CHARS:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/DateTimePatternGenerator$FormatParser;->set(Ljava/lang/String;)Landroid/icu/text/DateTimePatternGenerator$FormatParser;
-Landroid/icu/text/DateTimePatternGenerator$FormatParser;->set(Ljava/lang/String;Z)Landroid/icu/text/DateTimePatternGenerator$FormatParser;
-Landroid/icu/text/DateTimePatternGenerator$FormatParser;->SYNTAX_CHARS:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/DateTimePatternGenerator$FormatParser;->tokenizer:Landroid/icu/impl/PatternTokenizer;
-Landroid/icu/text/DateTimePatternGenerator$FormatParser;->toString(II)Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator$PatternWithMatcher;
-Landroid/icu/text/DateTimePatternGenerator$PatternWithMatcher;-><init>(Ljava/lang/String;Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;)V
-Landroid/icu/text/DateTimePatternGenerator$PatternWithMatcher;->matcherWithSkeleton:Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;
-Landroid/icu/text/DateTimePatternGenerator$PatternWithMatcher;->pattern:Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator$PatternWithSkeletonFlag;
-Landroid/icu/text/DateTimePatternGenerator$PatternWithSkeletonFlag;-><init>(Ljava/lang/String;Z)V
-Landroid/icu/text/DateTimePatternGenerator$PatternWithSkeletonFlag;->pattern:Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator$PatternWithSkeletonFlag;->skeletonWasSpecified:Z
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;-><init>()V
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;->appendFieldTo(ILjava/lang/StringBuilder;)Ljava/lang/StringBuilder;
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;->appendFieldTo(ILjava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;->appendTo(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;->appendTo(Ljava/lang/StringBuilder;ZZ)Ljava/lang/StringBuilder;
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;->chars:[B
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;->clear()V
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;->clearField(I)V
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;->compareTo(Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;)I
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;->copyFieldFrom(Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;I)V
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;->DEFAULT_CHAR:B
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;->DEFAULT_LENGTH:B
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;->getFieldChar(I)C
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;->getFieldLength(I)I
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;->isFieldEmpty(I)Z
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;->lengths:[B
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;->populate(ICI)V
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;->populate(ILjava/lang/String;)V
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;->toCanonicalString()Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;->toCanonicalString(Z)Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;->toString(Z)Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator$VariableField;
-Landroid/icu/text/DateTimePatternGenerator$VariableField;-><init>(Ljava/lang/String;)V
-Landroid/icu/text/DateTimePatternGenerator$VariableField;-><init>(Ljava/lang/String;Z)V
-Landroid/icu/text/DateTimePatternGenerator$VariableField;->canonicalIndex:I
-Landroid/icu/text/DateTimePatternGenerator$VariableField;->getCanonicalCode(I)Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator$VariableField;->getCanonicalIndex()I
-Landroid/icu/text/DateTimePatternGenerator$VariableField;->getType()I
-Landroid/icu/text/DateTimePatternGenerator$VariableField;->isNumeric()Z
-Landroid/icu/text/DateTimePatternGenerator$VariableField;->string:Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->addCanonicalItems()V
-Landroid/icu/text/DateTimePatternGenerator;->addCLDRData(Landroid/icu/text/DateTimePatternGenerator$PatternInfo;Landroid/icu/util/ULocale;)V
-Landroid/icu/text/DateTimePatternGenerator;->addICUPatterns(Landroid/icu/text/DateTimePatternGenerator$PatternInfo;Landroid/icu/util/ULocale;)V
-Landroid/icu/text/DateTimePatternGenerator;->addPatternWithSkeleton(Ljava/lang/String;Ljava/lang/String;ZLandroid/icu/text/DateTimePatternGenerator$PatternInfo;)Landroid/icu/text/DateTimePatternGenerator;
-Landroid/icu/text/DateTimePatternGenerator;->adjustFieldTypes(Landroid/icu/text/DateTimePatternGenerator$PatternWithMatcher;Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;Ljava/util/EnumSet;I)Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->allowedHourFormats:[Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->appendItemFormats:[Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->appendItemNames:[Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->basePattern_pattern:Ljava/util/TreeMap;
-Landroid/icu/text/DateTimePatternGenerator;->CANONICAL_ITEMS:[Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->CANONICAL_SET:Ljava/util/Set;
-Landroid/icu/text/DateTimePatternGenerator;->checkFrozen()V
-Landroid/icu/text/DateTimePatternGenerator;->cldrAvailableFormatKeys:Ljava/util/Set;
-Landroid/icu/text/DateTimePatternGenerator;->CLDR_FIELD_APPEND:[Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->CLDR_FIELD_NAME:[Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->consumeShortTimePattern(Ljava/lang/String;Landroid/icu/text/DateTimePatternGenerator$PatternInfo;)V
-Landroid/icu/text/DateTimePatternGenerator;->current:Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;
-Landroid/icu/text/DateTimePatternGenerator;->dateTimeFormat:Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->DATE_MASK:I
-Landroid/icu/text/DateTimePatternGenerator;->DEBUG:Z
-Landroid/icu/text/DateTimePatternGenerator;->decimal:Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->defaultHourFormatChar:C
-Landroid/icu/text/DateTimePatternGenerator;->DELTA:I
-Landroid/icu/text/DateTimePatternGenerator;->DTPNG_CACHE:Landroid/icu/impl/ICUCache;
-Landroid/icu/text/DateTimePatternGenerator;->EXTRA_FIELD:I
-Landroid/icu/text/DateTimePatternGenerator;->FIELD_NAME:[Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->fillInMissing()V
-Landroid/icu/text/DateTimePatternGenerator;->fp:Landroid/icu/text/DateTimePatternGenerator$FormatParser;
-Landroid/icu/text/DateTimePatternGenerator;->FRACTIONAL_MASK:I
-Landroid/icu/text/DateTimePatternGenerator;->frozen:Z
-Landroid/icu/text/DateTimePatternGenerator;->getAllowedHourFormats(Landroid/icu/util/ULocale;)V
-Landroid/icu/text/DateTimePatternGenerator;->getAppendFormat(I)Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->getAppendFormatNumber(Landroid/icu/impl/UResource$Key;)I
-Landroid/icu/text/DateTimePatternGenerator;->getAppendFormatNumber(Ljava/lang/String;)I
-Landroid/icu/text/DateTimePatternGenerator;->getAppendName(I)Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->getBestAppending(Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;ILandroid/icu/text/DateTimePatternGenerator$DistanceInfo;Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;Ljava/util/EnumSet;I)Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->getBestPattern(Ljava/lang/String;Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;I)Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->getBestRaw(Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;ILandroid/icu/text/DateTimePatternGenerator$DistanceInfo;Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;)Landroid/icu/text/DateTimePatternGenerator$PatternWithMatcher;
-Landroid/icu/text/DateTimePatternGenerator;->getCalendarTypeToUse(Landroid/icu/util/ULocale;)Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->getCanonicalChar(IC)C
-Landroid/icu/text/DateTimePatternGenerator;->getCanonicalIndex(Ljava/lang/String;Z)I
-Landroid/icu/text/DateTimePatternGenerator;->getCanonicalSkeletonAllowingDuplicates(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->getCLDRFieldNumber(Landroid/icu/impl/UResource$Key;)I
-Landroid/icu/text/DateTimePatternGenerator;->getDefaultHourFormatChar()C
-Landroid/icu/text/DateTimePatternGenerator;->getFields(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->getFilteredPattern(Landroid/icu/text/DateTimePatternGenerator$FormatParser;Ljava/util/BitSet;)Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->getFrozenInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/DateTimePatternGenerator;
-Landroid/icu/text/DateTimePatternGenerator;->getName(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->getRedundants(Ljava/util/Collection;)Ljava/util/Collection;
-Landroid/icu/text/DateTimePatternGenerator;->getSet(Ljava/lang/String;)Ljava/util/TreeSet;
-Landroid/icu/text/DateTimePatternGenerator;->getSkeletonAllowingDuplicates(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->getTopBitNumber(I)I
-Landroid/icu/text/DateTimePatternGenerator;->hackTimes(Landroid/icu/text/DateTimePatternGenerator$PatternInfo;Ljava/lang/String;)V
-Landroid/icu/text/DateTimePatternGenerator;->initData(Landroid/icu/util/ULocale;)V
-Landroid/icu/text/DateTimePatternGenerator;->isAvailableFormatSet(Ljava/lang/String;)Z
-Landroid/icu/text/DateTimePatternGenerator;->isSingleField(Ljava/lang/String;)Z
-Landroid/icu/text/DateTimePatternGenerator;->LAST_RESORT_ALLOWED_HOUR_FORMAT:[Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->LOCALE_TO_ALLOWED_HOUR:Ljava/util/Map;
-Landroid/icu/text/DateTimePatternGenerator;->LONG:I
-Landroid/icu/text/DateTimePatternGenerator;->mapSkeletonMetacharacters(Ljava/lang/String;Ljava/util/EnumSet;)Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->MATCH_MINUTE_FIELD_LENGTH:I
-Landroid/icu/text/DateTimePatternGenerator;->MATCH_SECOND_FIELD_LENGTH:I
-Landroid/icu/text/DateTimePatternGenerator;->MISSING_FIELD:I
-Landroid/icu/text/DateTimePatternGenerator;->NARROW:I
-Landroid/icu/text/DateTimePatternGenerator;->NONE:I
-Landroid/icu/text/DateTimePatternGenerator;->NUMERIC:I
-Landroid/icu/text/DateTimePatternGenerator;->SECOND_AND_FRACTIONAL_MASK:I
-Landroid/icu/text/DateTimePatternGenerator;->setAvailableFormat(Ljava/lang/String;)V
-Landroid/icu/text/DateTimePatternGenerator;->setDateTimeFromCalendar(Landroid/icu/util/ULocale;)V
-Landroid/icu/text/DateTimePatternGenerator;->setDecimalSymbols(Landroid/icu/util/ULocale;)V
-Landroid/icu/text/DateTimePatternGenerator;->setDefaultHourFormatChar(C)V
-Landroid/icu/text/DateTimePatternGenerator;->SHORT:I
-Landroid/icu/text/DateTimePatternGenerator;->SHORTER:I
-Landroid/icu/text/DateTimePatternGenerator;->showMask(I)Ljava/lang/String;
-Landroid/icu/text/DateTimePatternGenerator;->skeleton2pattern:Ljava/util/TreeMap;
-Landroid/icu/text/DateTimePatternGenerator;->skeletonsAreSimilar(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/icu/text/DateTimePatternGenerator;->TIME_MASK:I
-Landroid/icu/text/DateTimePatternGenerator;->types:[[I
-Landroid/icu/text/DateTimePatternGenerator;->TYPE_LIMIT:I
-Landroid/icu/text/DateTimePatternGenerator;->_distanceInfo:Landroid/icu/text/DateTimePatternGenerator$DistanceInfo;
-Landroid/icu/text/DecimalFormat$PropertySetter;
-Landroid/icu/text/DecimalFormat$PropertySetter;->set(Landroid/icu/impl/number/DecimalFormatProperties;)V
-Landroid/icu/text/DecimalFormat;-><init>(Ljava/lang/String;Landroid/icu/text/DecimalFormatSymbols;I)V
-Landroid/icu/text/DecimalFormat;->exportedProperties:Landroid/icu/impl/number/DecimalFormatProperties;
-Landroid/icu/text/DecimalFormat;->formatter:Landroid/icu/number/LocalizedNumberFormatter;
-Landroid/icu/text/DecimalFormat;->getDefaultSymbols()Landroid/icu/text/DecimalFormatSymbols;
-Landroid/icu/text/DecimalFormat;->getFixedDecimal(D)Landroid/icu/text/PluralRules$IFixedDecimal;
-Landroid/icu/text/DecimalFormat;->getMinimumGroupingDigits()I
-Landroid/icu/text/DecimalFormat;->getParseCaseSensitive()Z
-Landroid/icu/text/DecimalFormat;->getParseNoExponent()Z
-Landroid/icu/text/DecimalFormat;->getSignAlwaysShown()Z
-Landroid/icu/text/DecimalFormat;->icuMathContextForm:I
-Landroid/icu/text/DecimalFormat;->properties:Landroid/icu/impl/number/DecimalFormatProperties;
-Landroid/icu/text/DecimalFormat;->refreshFormatter()V
-Landroid/icu/text/DecimalFormat;->safeConvertBigDecimal(Ljava/math/BigDecimal;)Ljava/lang/Number;
-Landroid/icu/text/DecimalFormat;->serialVersionOnStream:I
-Landroid/icu/text/DecimalFormat;->setMinimumGroupingDigits(I)V
-Landroid/icu/text/DecimalFormat;->setParseCaseSensitive(Z)V
-Landroid/icu/text/DecimalFormat;->setParseNoExponent(Z)V
-Landroid/icu/text/DecimalFormat;->setProperties(Landroid/icu/text/DecimalFormat$PropertySetter;)V
-Landroid/icu/text/DecimalFormat;->setPropertiesFromPattern(Ljava/lang/String;I)V
-Landroid/icu/text/DecimalFormat;->setSignAlwaysShown(Z)V
-Landroid/icu/text/DecimalFormat;->symbols:Landroid/icu/text/DecimalFormatSymbols;
-Landroid/icu/text/DecimalFormat;->threadLocalProperties:Ljava/lang/ThreadLocal;
-Landroid/icu/text/DecimalFormat;->toNumberFormatter()Landroid/icu/number/LocalizedNumberFormatter;
-Landroid/icu/text/DecimalFormat;->useCurrency(Landroid/icu/impl/number/DecimalFormatProperties;)Z
-Landroid/icu/text/DecimalFormatSymbols$CacheData;
-Landroid/icu/text/DecimalFormatSymbols$CacheData;-><init>(Landroid/icu/util/ULocale;[Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/icu/text/DecimalFormatSymbols$CacheData;->digits:[Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols$CacheData;->numberElements:[Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols$CacheData;->validLocale:Landroid/icu/util/ULocale;
-Landroid/icu/text/DecimalFormatSymbols$DecFmtDataSink;
-Landroid/icu/text/DecimalFormatSymbols$DecFmtDataSink;-><init>([Ljava/lang/String;)V
-Landroid/icu/text/DecimalFormatSymbols$DecFmtDataSink;->numberElements:[Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;-><init>(Landroid/icu/util/ULocale;Landroid/icu/text/NumberingSystem;)V
-Landroid/icu/text/DecimalFormatSymbols;-><init>(Ljava/util/Locale;Landroid/icu/text/NumberingSystem;)V
-Landroid/icu/text/DecimalFormatSymbols;->actualLocale:Landroid/icu/util/ULocale;
-Landroid/icu/text/DecimalFormatSymbols;->cachedLocaleData:Landroid/icu/impl/CacheBase;
-Landroid/icu/text/DecimalFormatSymbols;->codePointZero:I
-Landroid/icu/text/DecimalFormatSymbols;->currency:Landroid/icu/util/Currency;
-Landroid/icu/text/DecimalFormatSymbols;->currencyPattern:Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->currencySpcAfterSym:[Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->currencySpcBeforeSym:[Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->currencySymbol:Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->currentSerialVersion:I
-Landroid/icu/text/DecimalFormatSymbols;->decimalSeparator:C
-Landroid/icu/text/DecimalFormatSymbols;->decimalSeparatorString:Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->DEF_DECIMAL_SEPARATOR:C
-Landroid/icu/text/DecimalFormatSymbols;->DEF_DIGIT_CHARS_ARRAY:[C
-Landroid/icu/text/DecimalFormatSymbols;->DEF_DIGIT_STRINGS_ARRAY:[Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->DEF_GROUPING_SEPARATOR:C
-Landroid/icu/text/DecimalFormatSymbols;->DEF_MINUS_SIGN:C
-Landroid/icu/text/DecimalFormatSymbols;->DEF_PERCENT:C
-Landroid/icu/text/DecimalFormatSymbols;->DEF_PERMILL:C
-Landroid/icu/text/DecimalFormatSymbols;->DEF_PLUS_SIGN:C
-Landroid/icu/text/DecimalFormatSymbols;->digit:C
-Landroid/icu/text/DecimalFormatSymbols;->digits:[C
-Landroid/icu/text/DecimalFormatSymbols;->digitStrings:[Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->exponential:C
-Landroid/icu/text/DecimalFormatSymbols;->exponentMultiplicationSign:Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->exponentSeparator:Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->forNumberingSystem(Landroid/icu/util/ULocale;Landroid/icu/text/NumberingSystem;)Landroid/icu/text/DecimalFormatSymbols;
-Landroid/icu/text/DecimalFormatSymbols;->forNumberingSystem(Ljava/util/Locale;Landroid/icu/text/NumberingSystem;)Landroid/icu/text/DecimalFormatSymbols;
-Landroid/icu/text/DecimalFormatSymbols;->getAvailableULocales()[Landroid/icu/util/ULocale;
-Landroid/icu/text/DecimalFormatSymbols;->getCodePointZero()I
-Landroid/icu/text/DecimalFormatSymbols;->getCurrencyPattern()Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->getDigitStringsLocal()[Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->groupingSeparator:C
-Landroid/icu/text/DecimalFormatSymbols;->groupingSeparatorString:Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->infinity:Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->initialize(Landroid/icu/util/ULocale;Landroid/icu/text/NumberingSystem;)V
-Landroid/icu/text/DecimalFormatSymbols;->initSpacingInfo(Landroid/icu/impl/CurrencyData$CurrencySpacingInfo;)V
-Landroid/icu/text/DecimalFormatSymbols;->intlCurrencySymbol:Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->LATIN_NUMBERING_SYSTEM:Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->loadData(Landroid/icu/util/ULocale;)Landroid/icu/text/DecimalFormatSymbols$CacheData;
-Landroid/icu/text/DecimalFormatSymbols;->minusSign:C
-Landroid/icu/text/DecimalFormatSymbols;->minusString:Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->monetaryGroupingSeparator:C
-Landroid/icu/text/DecimalFormatSymbols;->monetaryGroupingSeparatorString:Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->monetarySeparator:C
-Landroid/icu/text/DecimalFormatSymbols;->monetarySeparatorString:Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->NaN:Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->NUMBER_ELEMENTS:Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->padEscape:C
-Landroid/icu/text/DecimalFormatSymbols;->patternSeparator:C
-Landroid/icu/text/DecimalFormatSymbols;->percent:C
-Landroid/icu/text/DecimalFormatSymbols;->percentString:Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->perMill:C
-Landroid/icu/text/DecimalFormatSymbols;->perMillString:Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->plusSign:C
-Landroid/icu/text/DecimalFormatSymbols;->plusString:Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->requestedLocale:Ljava/util/Locale;
-Landroid/icu/text/DecimalFormatSymbols;->serialVersionOnStream:I
-Landroid/icu/text/DecimalFormatSymbols;->setLocale(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)V
-Landroid/icu/text/DecimalFormatSymbols;->sigDigit:C
-Landroid/icu/text/DecimalFormatSymbols;->SYMBOLS:Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->SYMBOL_DEFAULTS:[Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->SYMBOL_KEYS:[Ljava/lang/String;
-Landroid/icu/text/DecimalFormatSymbols;->ulocale:Landroid/icu/util/ULocale;
-Landroid/icu/text/DecimalFormatSymbols;->validLocale:Landroid/icu/util/ULocale;
-Landroid/icu/text/DecimalFormatSymbols;->zeroDigit:C
-Landroid/icu/text/DecimalFormat_ICU58_Android$AffixForCurrency;
-Landroid/icu/text/DecimalFormat_ICU58_Android$AffixForCurrency;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/icu/text/DecimalFormat_ICU58_Android$AffixForCurrency;->getNegPrefix()Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android$AffixForCurrency;->getNegSuffix()Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android$AffixForCurrency;->getPatternType()I
-Landroid/icu/text/DecimalFormat_ICU58_Android$AffixForCurrency;->getPosPrefix()Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android$AffixForCurrency;->getPosSuffix()Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android$AffixForCurrency;->negPrefixPatternForCurrency:Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android$AffixForCurrency;->negSuffixPatternForCurrency:Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android$AffixForCurrency;->patternType:I
-Landroid/icu/text/DecimalFormat_ICU58_Android$AffixForCurrency;->posPrefixPatternForCurrency:Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android$AffixForCurrency;->posSuffixPatternForCurrency:Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android$Unit;
-Landroid/icu/text/DecimalFormat_ICU58_Android$Unit;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android$Unit;->prefix:Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android$Unit;->suffix:Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android$Unit;->writePrefix(Ljava/lang/StringBuffer;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android$Unit;->writeSuffix(Ljava/lang/StringBuffer;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;
-Landroid/icu/text/DecimalFormat_ICU58_Android;-><init>()V
-Landroid/icu/text/DecimalFormat_ICU58_Android;-><init>(Ljava/lang/String;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;-><init>(Ljava/lang/String;Landroid/icu/text/DecimalFormatSymbols;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;-><init>(Ljava/lang/String;Landroid/icu/text/DecimalFormatSymbols;I)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;-><init>(Ljava/lang/String;Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/text/CurrencyPluralInfo;I)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->actualRoundingIncrement:Ljava/math/BigDecimal;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->actualRoundingIncrementICU:Landroid/icu/math/BigDecimal;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->addAttribute(Landroid/icu/text/NumberFormat$Field;II)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->addPadding(Ljava/lang/StringBuffer;Ljava/text/FieldPosition;II)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->adjustNumberAsInFormatting(D)D
-Landroid/icu/text/DecimalFormat_ICU58_Android;->affixPatternsForCurrency:Ljava/util/Set;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->appendAffix(Ljava/lang/StringBuffer;ZZLjava/text/FieldPosition;Z)I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->appendAffixPattern(Ljava/lang/StringBuffer;ZZZ)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->applyLocalizedPattern(Ljava/lang/String;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->applyPattern(Ljava/lang/String;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->applyPattern(Ljava/lang/String;Z)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->applyPatternWithoutExpandAffix(Ljava/lang/String;Z)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->areSignificantDigitsUsed()Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->attributes:Ljava/util/ArrayList;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->commaEquivalents:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->compareAffix(Ljava/lang/String;IZZLjava/lang/String;ZI[Landroid/icu/util/Currency;)I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->compareComplexAffix(Ljava/lang/String;Ljava/lang/String;II[Landroid/icu/util/Currency;)I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->compareSimpleAffix(Ljava/lang/String;Ljava/lang/String;I)I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->create(Ljava/lang/String;Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/text/CurrencyPluralInfo;I)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->createFromPatternAndSymbols(Ljava/lang/String;Landroid/icu/text/DecimalFormatSymbols;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->currencyChoice:Ljava/text/ChoiceFormat;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->currencyPluralInfo:Landroid/icu/text/CurrencyPluralInfo;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->currencySignCount:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->currencyUsage:Landroid/icu/util/Currency$CurrencyUsage;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->CURRENCY_SIGN:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->CURRENCY_SIGN_COUNT_IN_ISO_FORMAT:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->CURRENCY_SIGN_COUNT_IN_PLURAL_FORMAT:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->CURRENCY_SIGN_COUNT_IN_SYMBOL_FORMAT:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->CURRENCY_SIGN_COUNT_ZERO:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->currentSerialVersion:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->decimalSeparatorAlwaysShown:Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->defaultGroupingSeparators:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->digitList:Landroid/icu/text/DigitList_Android;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->dotEquivalents:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->DOUBLE_FRACTION_DIGITS:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->DOUBLE_INTEGER_DIGITS:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->epsilon:D
-Landroid/icu/text/DecimalFormat_ICU58_Android;->equals(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->equalWithSignCompatibility(II)Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->expandAffix(Ljava/lang/String;Ljava/lang/String;Ljava/lang/StringBuffer;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->expandAffixAdjustWidth(Ljava/lang/String;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->expandAffixes(Ljava/lang/String;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->exponentSignAlwaysShown:Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->format(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;Z)Ljava/lang/StringBuffer;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->format(JLjava/lang/StringBuffer;Ljava/text/FieldPosition;Z)Ljava/lang/StringBuffer;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->format(Ljava/math/BigDecimal;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;Z)Ljava/lang/StringBuffer;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->format(Ljava/math/BigInteger;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;Z)Ljava/lang/StringBuffer;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->formatAffix2Attribute(ZLandroid/icu/text/NumberFormat$Field;Ljava/lang/StringBuffer;II)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->formatPattern:Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->formatToCharacterIterator(Ljava/lang/Object;Landroid/icu/text/DecimalFormat_ICU58_Android$Unit;)Ljava/text/AttributedCharacterIterator;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->formatWidth:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getCurrencyPluralInfo()Landroid/icu/text/CurrencyPluralInfo;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getCurrencyUsage()Landroid/icu/util/Currency$CurrencyUsage;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getDecimalFormatSymbols()Landroid/icu/text/DecimalFormatSymbols;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getEffectiveCurrency()Landroid/icu/util/Currency;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getEquivalentDecimals(Ljava/lang/String;Z)Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getFixedDecimal(D)Landroid/icu/text/PluralRules$FixedDecimal;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getFixedDecimal(DLandroid/icu/text/DigitList_Android;)Landroid/icu/text/PluralRules$FixedDecimal;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getFormatWidth()I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getGroupingSize()I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getMathContext()Ljava/math/MathContext;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getMathContextICU()Landroid/icu/math/MathContext;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getMaximumSignificantDigits()I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getMinimumExponentDigits()B
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getMinimumSignificantDigits()I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getMultiplier()I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getNegativePrefix()Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getNegativeSuffix()Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getPadCharacter()C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getPadPosition()I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getParseMaxDigits()I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getPositivePrefix()Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getPositiveSuffix()Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getRoundingIncrement()Ljava/math/BigDecimal;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->getSecondaryGroupingSize()I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->groupingSize2:B
-Landroid/icu/text/DecimalFormat_ICU58_Android;->groupingSize:B
-Landroid/icu/text/DecimalFormat_ICU58_Android;->isBidiMark(I)Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->isDecimalPatternMatchRequired()Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->isDecimalSeparatorAlwaysShown()Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->isExponentSignAlwaysShown()Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->isGroupingPosition(I)Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->isNegative(D)Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->isNumberNegative(D)Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->isParseBigDecimal()Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->isReadyForParsing:Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->isScientificNotation()Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->match(Ljava/lang/String;II)I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->match(Ljava/lang/String;ILjava/lang/String;)I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->matchesDigit(Ljava/lang/String;I[I)I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->mathContext:Landroid/icu/math/MathContext;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->maxSignificantDigits:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->MAX_INTEGER_DIGITS:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->MAX_SCIENTIFIC_INTEGER_DIGITS:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->minExponentDigits:B
-Landroid/icu/text/DecimalFormat_ICU58_Android;->minSignificantDigits:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->minusSigns:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->multiplier:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->multiply(D)D
-Landroid/icu/text/DecimalFormat_ICU58_Android;->negativePrefix:Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->negativeSuffix:Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->negPrefixPattern:Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->negSuffixPattern:Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->NULL_UNIT:Landroid/icu/text/DecimalFormat_ICU58_Android$Unit;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->pad:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->padPosition:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PAD_AFTER_PREFIX:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PAD_AFTER_SUFFIX:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PAD_BEFORE_PREFIX:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PAD_BEFORE_SUFFIX:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->parse(Ljava/lang/String;Ljava/text/ParsePosition;[Landroid/icu/util/Currency;)Ljava/lang/Object;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->parseBigDecimal:Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->parseForCurrency(Ljava/lang/String;Ljava/text/ParsePosition;[Landroid/icu/util/Currency;[Z)Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->parseRequireDecimalPoint:Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PARSE_MAX_EXPONENT:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->patternError(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_DECIMAL_SEPARATOR:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_DIGIT:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_EIGHT_DIGIT:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_EXPONENT:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_FIVE_DIGIT:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_FOUR_DIGIT:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_GROUPING_SEPARATOR:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_MINUS_SIGN:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_NINE_DIGIT:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_ONE_DIGIT:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_PAD_ESCAPE:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_PERCENT:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_PER_MILLE:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_PLUS_SIGN:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_SEPARATOR:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_SEVEN_DIGIT:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_SIGNIFICANT_DIGIT:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_SIX_DIGIT:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_THREE_DIGIT:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_TWO_DIGIT:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->PATTERN_ZERO_DIGIT:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->plusSigns:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->positivePrefix:Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->positiveSuffix:Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->posPrefixPattern:Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->posSuffixPattern:Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->precision(Z)I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->QUOTE:C
-Landroid/icu/text/DecimalFormat_ICU58_Android;->resetActualRounding()V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->round(D)D
-Landroid/icu/text/DecimalFormat_ICU58_Android;->round(DDDIZ)D
-Landroid/icu/text/DecimalFormat_ICU58_Android;->roundingDouble:D
-Landroid/icu/text/DecimalFormat_ICU58_Android;->roundingDoubleReciprocal:D
-Landroid/icu/text/DecimalFormat_ICU58_Android;->roundingIncrement:Ljava/math/BigDecimal;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->roundingIncrementEpsilon:D
-Landroid/icu/text/DecimalFormat_ICU58_Android;->roundingIncrementICU:Landroid/icu/math/BigDecimal;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->roundingMode:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->serialVersionOnStream:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setCurrencyForSymbols()V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setCurrencyPluralInfo(Landroid/icu/text/CurrencyPluralInfo;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setCurrencyUsage(Landroid/icu/util/Currency$CurrencyUsage;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setDecimalFormatSymbols(Landroid/icu/text/DecimalFormatSymbols;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setDecimalPatternMatchRequired(Z)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setDecimalSeparatorAlwaysShown(Z)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setExponentSignAlwaysShown(Z)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setFormatWidth(I)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setGroupingSize(I)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setInternalRoundingIncrement(Landroid/icu/math/BigDecimal;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setMathContext(Ljava/math/MathContext;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setMathContextICU(Landroid/icu/math/MathContext;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setMaximumSignificantDigits(I)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setMinimumExponentDigits(B)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setMinimumSignificantDigits(I)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setMultiplier(I)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setNegativePrefix(Ljava/lang/String;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setNegativeSuffix(Ljava/lang/String;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setPadCharacter(C)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setPadPosition(I)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setParseBigDecimal(Z)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setParseMaxDigits(I)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setPositivePrefix(Ljava/lang/String;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setPositiveSuffix(Ljava/lang/String;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setRoundingDouble(D)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setRoundingIncrement(D)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setRoundingIncrement(Landroid/icu/math/BigDecimal;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setRoundingIncrement(Ljava/math/BigDecimal;)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setScientificNotation(Z)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setSecondaryGroupingSize(I)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setSignificantDigitsUsed(Z)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->setupCurrencyAffixForAllPatterns()V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->skipBidiMarks(Ljava/lang/String;I)I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->skipExtendedSeparatorParsing:Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->skipPadding(Ljava/lang/String;I)I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->skipPatternWhiteSpace(Ljava/lang/String;I)I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->skipUWhiteSpace(Ljava/lang/String;I)I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->STATUS_INFINITE:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->STATUS_LENGTH:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->STATUS_POSITIVE:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->STATUS_UNDERFLOW:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->strictCommaEquivalents:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->strictDefaultGroupingSeparators:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->strictDotEquivalents:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->style:I
-Landroid/icu/text/DecimalFormat_ICU58_Android;->subformat(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;ZZZ)Ljava/lang/StringBuffer;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->subformat(ILjava/lang/StringBuffer;Ljava/text/FieldPosition;ZZZ)Ljava/lang/StringBuffer;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->subformat(Ljava/lang/String;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;ZZZ)Ljava/lang/StringBuffer;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->subformat(Ljava/lang/StringBuffer;Ljava/text/FieldPosition;ZZZ)Ljava/lang/StringBuffer;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->subformatExponential(Ljava/lang/StringBuffer;Ljava/text/FieldPosition;Z)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->subformatFixed(Ljava/lang/StringBuffer;Ljava/text/FieldPosition;ZZ)V
-Landroid/icu/text/DecimalFormat_ICU58_Android;->subparse(Ljava/lang/String;Ljava/text/ParsePosition;Landroid/icu/text/DigitList_Android;[Z[Landroid/icu/util/Currency;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZI)Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->symbols:Landroid/icu/text/DecimalFormatSymbols;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->toDigitList(D)Landroid/icu/text/DigitList_Android;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->toLocalizedPattern()Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->toPattern()Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->toPattern(Z)Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->trimMarksFromAffix(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->unquote(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/DecimalFormat_ICU58_Android;->useExponentialNotation:Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->useSignificantDigits:Z
-Landroid/icu/text/DecimalFormat_ICU58_Android;->_setMaximumFractionDigits(I)V
-Landroid/icu/text/DictionaryBreakEngine$DequeI;
-Landroid/icu/text/DictionaryBreakEngine$DequeI;-><init>()V
-Landroid/icu/text/DictionaryBreakEngine$DequeI;->contains(I)Z
-Landroid/icu/text/DictionaryBreakEngine$DequeI;->data:[I
-Landroid/icu/text/DictionaryBreakEngine$DequeI;->elementAt(I)I
-Landroid/icu/text/DictionaryBreakEngine$DequeI;->firstIdx:I
-Landroid/icu/text/DictionaryBreakEngine$DequeI;->grow()V
-Landroid/icu/text/DictionaryBreakEngine$DequeI;->isEmpty()Z
-Landroid/icu/text/DictionaryBreakEngine$DequeI;->lastIdx:I
-Landroid/icu/text/DictionaryBreakEngine$DequeI;->offer(I)V
-Landroid/icu/text/DictionaryBreakEngine$DequeI;->peek()I
-Landroid/icu/text/DictionaryBreakEngine$DequeI;->peekLast()I
-Landroid/icu/text/DictionaryBreakEngine$DequeI;->pollLast()I
-Landroid/icu/text/DictionaryBreakEngine$DequeI;->pop()I
-Landroid/icu/text/DictionaryBreakEngine$DequeI;->push(I)V
-Landroid/icu/text/DictionaryBreakEngine$DequeI;->removeAllElements()V
-Landroid/icu/text/DictionaryBreakEngine$DequeI;->size()I
-Landroid/icu/text/DictionaryBreakEngine$PossibleWord;
-Landroid/icu/text/DictionaryBreakEngine$PossibleWord;-><init>()V
-Landroid/icu/text/DictionaryBreakEngine$PossibleWord;->acceptMarked(Ljava/text/CharacterIterator;)I
-Landroid/icu/text/DictionaryBreakEngine$PossibleWord;->backUp(Ljava/text/CharacterIterator;)Z
-Landroid/icu/text/DictionaryBreakEngine$PossibleWord;->candidates(Ljava/text/CharacterIterator;Landroid/icu/text/DictionaryMatcher;I)I
-Landroid/icu/text/DictionaryBreakEngine$PossibleWord;->count:[I
-Landroid/icu/text/DictionaryBreakEngine$PossibleWord;->current:I
-Landroid/icu/text/DictionaryBreakEngine$PossibleWord;->lengths:[I
-Landroid/icu/text/DictionaryBreakEngine$PossibleWord;->longestPrefix()I
-Landroid/icu/text/DictionaryBreakEngine$PossibleWord;->mark:I
-Landroid/icu/text/DictionaryBreakEngine$PossibleWord;->markCurrent()V
-Landroid/icu/text/DictionaryBreakEngine$PossibleWord;->offset:I
-Landroid/icu/text/DictionaryBreakEngine$PossibleWord;->POSSIBLE_WORD_LIST_MAX:I
-Landroid/icu/text/DictionaryBreakEngine$PossibleWord;->prefix:I
-Landroid/icu/text/DictionaryBreakEngine;
-Landroid/icu/text/DictionaryBreakEngine;-><init>([[Ljava/lang/Integer;)V
-Landroid/icu/text/DictionaryBreakEngine;->divideUpDictionaryRange(Ljava/text/CharacterIterator;IILandroid/icu/text/DictionaryBreakEngine$DequeI;)I
-Landroid/icu/text/DictionaryBreakEngine;->findBreaks(Ljava/text/CharacterIterator;IIILandroid/icu/text/DictionaryBreakEngine$DequeI;)I
-Landroid/icu/text/DictionaryBreakEngine;->fSet:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/DictionaryBreakEngine;->fTypes:Ljava/util/BitSet;
-Landroid/icu/text/DictionaryBreakEngine;->handles(II)Z
-Landroid/icu/text/DictionaryBreakEngine;->setCharacters(Landroid/icu/text/UnicodeSet;)V
-Landroid/icu/text/DictionaryMatcher;
-Landroid/icu/text/DictionaryMatcher;-><init>()V
-Landroid/icu/text/DictionaryMatcher;->getType()I
-Landroid/icu/text/DictionaryMatcher;->matches(Ljava/text/CharacterIterator;I[I[II)I
-Landroid/icu/text/DictionaryMatcher;->matches(Ljava/text/CharacterIterator;I[I[II[I)I
-Landroid/icu/text/DigitList_Android;
-Landroid/icu/text/DigitList_Android;-><init>()V
-Landroid/icu/text/DigitList_Android;->append(I)V
-Landroid/icu/text/DigitList_Android;->count:I
-Landroid/icu/text/DigitList_Android;->DBL_DIG:I
-Landroid/icu/text/DigitList_Android;->decimalAt:I
-Landroid/icu/text/DigitList_Android;->didRound:Z
-Landroid/icu/text/DigitList_Android;->digits:[B
-Landroid/icu/text/DigitList_Android;->ensureCapacity(II)V
-Landroid/icu/text/DigitList_Android;->getBigDecimalICU(Z)Landroid/icu/math/BigDecimal;
-Landroid/icu/text/DigitList_Android;->getBigInteger(Z)Ljava/math/BigInteger;
-Landroid/icu/text/DigitList_Android;->getDigitValue(I)B
-Landroid/icu/text/DigitList_Android;->getDouble()D
-Landroid/icu/text/DigitList_Android;->getLong()J
-Landroid/icu/text/DigitList_Android;->getStringRep(Z)Ljava/lang/String;
-Landroid/icu/text/DigitList_Android;->isIntegral()Z
-Landroid/icu/text/DigitList_Android;->isLongMIN_VALUE()Z
-Landroid/icu/text/DigitList_Android;->isZero()Z
-Landroid/icu/text/DigitList_Android;->LONG_MIN_REP:[B
-Landroid/icu/text/DigitList_Android;->MAX_LONG_DIGITS:I
-Landroid/icu/text/DigitList_Android;->round(I)V
-Landroid/icu/text/DigitList_Android;->set(DIZ)V
-Landroid/icu/text/DigitList_Android;->set(J)V
-Landroid/icu/text/DigitList_Android;->set(JI)V
-Landroid/icu/text/DigitList_Android;->set(Landroid/icu/math/BigDecimal;IZ)V
-Landroid/icu/text/DigitList_Android;->set(Ljava/lang/String;I)V
-Landroid/icu/text/DigitList_Android;->set(Ljava/math/BigDecimal;IZ)V
-Landroid/icu/text/DigitList_Android;->set(Ljava/math/BigInteger;I)V
-Landroid/icu/text/DigitList_Android;->setBigDecimalDigits(Ljava/lang/String;IZ)V
-Landroid/icu/text/DigitList_Android;->shouldRoundUp(I)Z
-Landroid/icu/text/DigitList_Android;->wasRounded()Z
-Landroid/icu/text/DisplayContext$Type;-><init>()V
-Landroid/icu/text/DisplayContext;-><init>(Landroid/icu/text/DisplayContext$Type;I)V
-Landroid/icu/text/DisplayContext;->type:Landroid/icu/text/DisplayContext$Type;
-Landroid/icu/text/DisplayContext;->value:I
-Landroid/icu/text/DurationFormat;
-Landroid/icu/text/DurationFormat;-><init>()V
-Landroid/icu/text/DurationFormat;-><init>(Landroid/icu/util/ULocale;)V
-Landroid/icu/text/DurationFormat;->formatDurationFrom(JJ)Ljava/lang/String;
-Landroid/icu/text/DurationFormat;->formatDurationFromNow(J)Ljava/lang/String;
-Landroid/icu/text/DurationFormat;->formatDurationFromNowTo(Ljava/util/Date;)Ljava/lang/String;
-Landroid/icu/text/DurationFormat;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/DurationFormat;
-Landroid/icu/text/Edits$Iterator;
-Landroid/icu/text/Edits$Iterator;-><init>([CIZZ)V
-Landroid/icu/text/Edits$Iterator;->array:[C
-Landroid/icu/text/Edits$Iterator;->changed:Z
-Landroid/icu/text/Edits$Iterator;->coarse:Z
-Landroid/icu/text/Edits$Iterator;->destinationIndex()I
-Landroid/icu/text/Edits$Iterator;->destinationIndexFromSourceIndex(I)I
-Landroid/icu/text/Edits$Iterator;->destIndex:I
-Landroid/icu/text/Edits$Iterator;->dir:I
-Landroid/icu/text/Edits$Iterator;->findDestinationIndex(I)Z
-Landroid/icu/text/Edits$Iterator;->findIndex(IZ)I
-Landroid/icu/text/Edits$Iterator;->findSourceIndex(I)Z
-Landroid/icu/text/Edits$Iterator;->hasChange()Z
-Landroid/icu/text/Edits$Iterator;->index:I
-Landroid/icu/text/Edits$Iterator;->length:I
-Landroid/icu/text/Edits$Iterator;->newLength()I
-Landroid/icu/text/Edits$Iterator;->newLength_:I
-Landroid/icu/text/Edits$Iterator;->next()Z
-Landroid/icu/text/Edits$Iterator;->next(Z)Z
-Landroid/icu/text/Edits$Iterator;->noNext()Z
-Landroid/icu/text/Edits$Iterator;->oldLength()I
-Landroid/icu/text/Edits$Iterator;->oldLength_:I
-Landroid/icu/text/Edits$Iterator;->onlyChanges_:Z
-Landroid/icu/text/Edits$Iterator;->previous()Z
-Landroid/icu/text/Edits$Iterator;->readLength(I)I
-Landroid/icu/text/Edits$Iterator;->remaining:I
-Landroid/icu/text/Edits$Iterator;->replacementIndex()I
-Landroid/icu/text/Edits$Iterator;->replIndex:I
-Landroid/icu/text/Edits$Iterator;->sourceIndex()I
-Landroid/icu/text/Edits$Iterator;->sourceIndexFromDestinationIndex(I)I
-Landroid/icu/text/Edits$Iterator;->srcIndex:I
-Landroid/icu/text/Edits$Iterator;->updateNextIndexes()V
-Landroid/icu/text/Edits$Iterator;->updatePreviousIndexes()V
-Landroid/icu/text/Edits;
-Landroid/icu/text/Edits;-><init>()V
-Landroid/icu/text/Edits;->addReplace(II)V
-Landroid/icu/text/Edits;->addUnchanged(I)V
-Landroid/icu/text/Edits;->append(I)V
-Landroid/icu/text/Edits;->array:[C
-Landroid/icu/text/Edits;->delta:I
-Landroid/icu/text/Edits;->getCoarseChangesIterator()Landroid/icu/text/Edits$Iterator;
-Landroid/icu/text/Edits;->getCoarseIterator()Landroid/icu/text/Edits$Iterator;
-Landroid/icu/text/Edits;->getFineChangesIterator()Landroid/icu/text/Edits$Iterator;
-Landroid/icu/text/Edits;->getFineIterator()Landroid/icu/text/Edits$Iterator;
-Landroid/icu/text/Edits;->growArray()Z
-Landroid/icu/text/Edits;->hasChanges()Z
-Landroid/icu/text/Edits;->lastUnit()I
-Landroid/icu/text/Edits;->length:I
-Landroid/icu/text/Edits;->lengthDelta()I
-Landroid/icu/text/Edits;->LENGTH_IN_1TRAIL:I
-Landroid/icu/text/Edits;->LENGTH_IN_2TRAIL:I
-Landroid/icu/text/Edits;->MAX_SHORT_CHANGE:I
-Landroid/icu/text/Edits;->MAX_SHORT_CHANGE_NEW_LENGTH:I
-Landroid/icu/text/Edits;->MAX_SHORT_CHANGE_OLD_LENGTH:I
-Landroid/icu/text/Edits;->MAX_UNCHANGED:I
-Landroid/icu/text/Edits;->MAX_UNCHANGED_LENGTH:I
-Landroid/icu/text/Edits;->mergeAndAppend(Landroid/icu/text/Edits;Landroid/icu/text/Edits;)Landroid/icu/text/Edits;
-Landroid/icu/text/Edits;->numberOfChanges()I
-Landroid/icu/text/Edits;->numChanges:I
-Landroid/icu/text/Edits;->reset()V
-Landroid/icu/text/Edits;->setLastUnit(I)V
-Landroid/icu/text/Edits;->SHORT_CHANGE_NUM_MASK:I
-Landroid/icu/text/Edits;->STACK_CAPACITY:I
-Landroid/icu/text/FilteredBreakIteratorBuilder;
-Landroid/icu/text/FilteredBreakIteratorBuilder;-><init>()V
-Landroid/icu/text/FilteredBreakIteratorBuilder;->getEmptyInstance()Landroid/icu/text/FilteredBreakIteratorBuilder;
-Landroid/icu/text/FilteredBreakIteratorBuilder;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/FilteredBreakIteratorBuilder;
-Landroid/icu/text/FilteredBreakIteratorBuilder;->getInstance(Ljava/util/Locale;)Landroid/icu/text/FilteredBreakIteratorBuilder;
-Landroid/icu/text/FilteredBreakIteratorBuilder;->suppressBreakAfter(Ljava/lang/CharSequence;)Z
-Landroid/icu/text/FilteredBreakIteratorBuilder;->unsuppressBreakAfter(Ljava/lang/CharSequence;)Z
-Landroid/icu/text/FilteredBreakIteratorBuilder;->wrapIteratorWithFilter(Landroid/icu/text/BreakIterator;)Landroid/icu/text/BreakIterator;
-Landroid/icu/text/FilteredNormalizer2;
-Landroid/icu/text/FilteredNormalizer2;-><init>(Landroid/icu/text/Normalizer2;Landroid/icu/text/UnicodeSet;)V
-Landroid/icu/text/FilteredNormalizer2;->norm2:Landroid/icu/text/Normalizer2;
-Landroid/icu/text/FilteredNormalizer2;->normalize(Ljava/lang/CharSequence;Ljava/lang/Appendable;Landroid/icu/text/UnicodeSet$SpanCondition;)Ljava/lang/Appendable;
-Landroid/icu/text/FilteredNormalizer2;->normalizeSecondAndAppend(Ljava/lang/StringBuilder;Ljava/lang/CharSequence;Z)Ljava/lang/StringBuilder;
-Landroid/icu/text/FilteredNormalizer2;->set:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/IDNA$Error;-><init>()V
-Landroid/icu/text/IDNA$Info;->errors:Ljava/util/EnumSet;
-Landroid/icu/text/IDNA$Info;->isBiDi:Z
-Landroid/icu/text/IDNA$Info;->isOkBiDi:Z
-Landroid/icu/text/IDNA$Info;->isTransDiff:Z
-Landroid/icu/text/IDNA$Info;->labelErrors:Ljava/util/EnumSet;
-Landroid/icu/text/IDNA$Info;->reset()V
-Landroid/icu/text/IDNA;-><init>()V
-Landroid/icu/text/IDNA;->addError(Landroid/icu/text/IDNA$Info;Landroid/icu/text/IDNA$Error;)V
-Landroid/icu/text/IDNA;->addLabelError(Landroid/icu/text/IDNA$Info;Landroid/icu/text/IDNA$Error;)V
-Landroid/icu/text/IDNA;->ALLOW_UNASSIGNED:I
-Landroid/icu/text/IDNA;->compare(Landroid/icu/text/UCharacterIterator;Landroid/icu/text/UCharacterIterator;I)I
-Landroid/icu/text/IDNA;->compare(Ljava/lang/String;Ljava/lang/String;I)I
-Landroid/icu/text/IDNA;->compare(Ljava/lang/StringBuffer;Ljava/lang/StringBuffer;I)I
-Landroid/icu/text/IDNA;->convertIDNToASCII(Landroid/icu/text/UCharacterIterator;I)Ljava/lang/StringBuffer;
-Landroid/icu/text/IDNA;->convertIDNToASCII(Ljava/lang/String;I)Ljava/lang/StringBuffer;
-Landroid/icu/text/IDNA;->convertIDNToASCII(Ljava/lang/StringBuffer;I)Ljava/lang/StringBuffer;
-Landroid/icu/text/IDNA;->convertIDNToUnicode(Landroid/icu/text/UCharacterIterator;I)Ljava/lang/StringBuffer;
-Landroid/icu/text/IDNA;->convertIDNToUnicode(Ljava/lang/String;I)Ljava/lang/StringBuffer;
-Landroid/icu/text/IDNA;->convertIDNToUnicode(Ljava/lang/StringBuffer;I)Ljava/lang/StringBuffer;
-Landroid/icu/text/IDNA;->convertToASCII(Landroid/icu/text/UCharacterIterator;I)Ljava/lang/StringBuffer;
-Landroid/icu/text/IDNA;->convertToASCII(Ljava/lang/String;I)Ljava/lang/StringBuffer;
-Landroid/icu/text/IDNA;->convertToASCII(Ljava/lang/StringBuffer;I)Ljava/lang/StringBuffer;
-Landroid/icu/text/IDNA;->convertToUnicode(Landroid/icu/text/UCharacterIterator;I)Ljava/lang/StringBuffer;
-Landroid/icu/text/IDNA;->convertToUnicode(Ljava/lang/String;I)Ljava/lang/StringBuffer;
-Landroid/icu/text/IDNA;->convertToUnicode(Ljava/lang/StringBuffer;I)Ljava/lang/StringBuffer;
-Landroid/icu/text/IDNA;->hasCertainErrors(Landroid/icu/text/IDNA$Info;Ljava/util/EnumSet;)Z
-Landroid/icu/text/IDNA;->hasCertainLabelErrors(Landroid/icu/text/IDNA$Info;Ljava/util/EnumSet;)Z
-Landroid/icu/text/IDNA;->isBiDi(Landroid/icu/text/IDNA$Info;)Z
-Landroid/icu/text/IDNA;->isOkBiDi(Landroid/icu/text/IDNA$Info;)Z
-Landroid/icu/text/IDNA;->promoteAndResetLabelErrors(Landroid/icu/text/IDNA$Info;)V
-Landroid/icu/text/IDNA;->resetInfo(Landroid/icu/text/IDNA$Info;)V
-Landroid/icu/text/IDNA;->setBiDi(Landroid/icu/text/IDNA$Info;)V
-Landroid/icu/text/IDNA;->setNotOkBiDi(Landroid/icu/text/IDNA$Info;)V
-Landroid/icu/text/IDNA;->setTransitionalDifferent(Landroid/icu/text/IDNA$Info;)V
-Landroid/icu/text/LanguageBreakEngine;
-Landroid/icu/text/LanguageBreakEngine;->findBreaks(Ljava/text/CharacterIterator;IIILandroid/icu/text/DictionaryBreakEngine$DequeI;)I
-Landroid/icu/text/LanguageBreakEngine;->handles(II)Z
-Landroid/icu/text/ListFormatter$Cache;
-Landroid/icu/text/ListFormatter$Cache;-><init>()V
-Landroid/icu/text/ListFormatter$Cache;->cache:Landroid/icu/impl/ICUCache;
-Landroid/icu/text/ListFormatter$Cache;->get(Landroid/icu/util/ULocale;Ljava/lang/String;)Landroid/icu/text/ListFormatter;
-Landroid/icu/text/ListFormatter$Cache;->load(Landroid/icu/util/ULocale;Ljava/lang/String;)Landroid/icu/text/ListFormatter;
-Landroid/icu/text/ListFormatter$FormattedListBuilder;
-Landroid/icu/text/ListFormatter$FormattedListBuilder;-><init>(Ljava/lang/Object;Z)V
-Landroid/icu/text/ListFormatter$FormattedListBuilder;->append(Ljava/lang/String;Ljava/lang/Object;Z)Landroid/icu/text/ListFormatter$FormattedListBuilder;
-Landroid/icu/text/ListFormatter$FormattedListBuilder;->current:Ljava/lang/StringBuilder;
-Landroid/icu/text/ListFormatter$FormattedListBuilder;->getOffset()I
-Landroid/icu/text/ListFormatter$FormattedListBuilder;->offset:I
-Landroid/icu/text/ListFormatter$FormattedListBuilder;->offsetRecorded()Z
-Landroid/icu/text/ListFormatter$Style;
-Landroid/icu/text/ListFormatter$Style;-><init>(Ljava/lang/String;)V
-Landroid/icu/text/ListFormatter$Style;->DURATION:Landroid/icu/text/ListFormatter$Style;
-Landroid/icu/text/ListFormatter$Style;->DURATION_NARROW:Landroid/icu/text/ListFormatter$Style;
-Landroid/icu/text/ListFormatter$Style;->DURATION_SHORT:Landroid/icu/text/ListFormatter$Style;
-Landroid/icu/text/ListFormatter$Style;->getName()Ljava/lang/String;
-Landroid/icu/text/ListFormatter$Style;->name:Ljava/lang/String;
-Landroid/icu/text/ListFormatter$Style;->STANDARD:Landroid/icu/text/ListFormatter$Style;
-Landroid/icu/text/ListFormatter$Style;->valueOf(Ljava/lang/String;)Landroid/icu/text/ListFormatter$Style;
-Landroid/icu/text/ListFormatter$Style;->values()[Landroid/icu/text/ListFormatter$Style;
-Landroid/icu/text/ListFormatter;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/text/ListFormatter;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/icu/util/ULocale;)V
-Landroid/icu/text/ListFormatter;->cache:Landroid/icu/text/ListFormatter$Cache;
-Landroid/icu/text/ListFormatter;->compilePattern(Ljava/lang/String;Ljava/lang/StringBuilder;)Ljava/lang/String;
-Landroid/icu/text/ListFormatter;->end:Ljava/lang/String;
-Landroid/icu/text/ListFormatter;->format(Ljava/util/Collection;I)Landroid/icu/text/ListFormatter$FormattedListBuilder;
-Landroid/icu/text/ListFormatter;->getInstance(Landroid/icu/util/ULocale;Landroid/icu/text/ListFormatter$Style;)Landroid/icu/text/ListFormatter;
-Landroid/icu/text/ListFormatter;->getLocale()Landroid/icu/util/ULocale;
-Landroid/icu/text/ListFormatter;->locale:Landroid/icu/util/ULocale;
-Landroid/icu/text/ListFormatter;->middle:Ljava/lang/String;
-Landroid/icu/text/ListFormatter;->start:Ljava/lang/String;
-Landroid/icu/text/ListFormatter;->two:Ljava/lang/String;
-Landroid/icu/text/LocaleDisplayNames$DialectHandling;-><init>()V
-Landroid/icu/text/LocaleDisplayNames$LastResortLocaleDisplayNames;
-Landroid/icu/text/LocaleDisplayNames$LastResortLocaleDisplayNames;-><init>(Landroid/icu/util/ULocale;Landroid/icu/text/LocaleDisplayNames$DialectHandling;)V
-Landroid/icu/text/LocaleDisplayNames$LastResortLocaleDisplayNames;-><init>(Landroid/icu/util/ULocale;[[Landroid/icu/text/DisplayContext;)V
-Landroid/icu/text/LocaleDisplayNames$LastResortLocaleDisplayNames;->contexts:[Landroid/icu/text/DisplayContext;
-Landroid/icu/text/LocaleDisplayNames$LastResortLocaleDisplayNames;->locale:Landroid/icu/util/ULocale;
-Landroid/icu/text/LocaleDisplayNames$UiListItem$UiListItemComparator;
-Landroid/icu/text/LocaleDisplayNames$UiListItem$UiListItemComparator;-><init>(Ljava/util/Comparator;Z)V
-Landroid/icu/text/LocaleDisplayNames$UiListItem$UiListItemComparator;->collator:Ljava/util/Comparator;
-Landroid/icu/text/LocaleDisplayNames$UiListItem$UiListItemComparator;->compare(Landroid/icu/text/LocaleDisplayNames$UiListItem;Landroid/icu/text/LocaleDisplayNames$UiListItem;)I
-Landroid/icu/text/LocaleDisplayNames$UiListItem$UiListItemComparator;->useSelf:Z
-Landroid/icu/text/LocaleDisplayNames;-><init>()V
-Landroid/icu/text/LocaleDisplayNames;->FACTORY_DIALECTHANDLING:Ljava/lang/reflect/Method;
-Landroid/icu/text/LocaleDisplayNames;->FACTORY_DISPLAYCONTEXT:Ljava/lang/reflect/Method;
-Landroid/icu/text/LocaleDisplayNames;->scriptDisplayNameInContext(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/MeasureFormat$FormatWidth;-><init>(Landroid/icu/text/ListFormatter$Style;I)V
-Landroid/icu/text/MeasureFormat$FormatWidth;->currencyStyle:I
-Landroid/icu/text/MeasureFormat$FormatWidth;->getCurrencyStyle()I
-Landroid/icu/text/MeasureFormat$FormatWidth;->getListFormatterStyle()Landroid/icu/text/ListFormatter$Style;
-Landroid/icu/text/MeasureFormat$FormatWidth;->INDEX_COUNT:I
-Landroid/icu/text/MeasureFormat$FormatWidth;->listFormatterStyle:Landroid/icu/text/ListFormatter$Style;
-Landroid/icu/text/MeasureFormat$ImmutableNumberFormat;
-Landroid/icu/text/MeasureFormat$ImmutableNumberFormat;-><init>(Landroid/icu/text/NumberFormat;)V
-Landroid/icu/text/MeasureFormat$ImmutableNumberFormat;->format(Landroid/icu/util/CurrencyAmount;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
-Landroid/icu/text/MeasureFormat$ImmutableNumberFormat;->format(Ljava/lang/Number;)Ljava/lang/String;
-Landroid/icu/text/MeasureFormat$ImmutableNumberFormat;->format(Ljava/lang/Number;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
-Landroid/icu/text/MeasureFormat$ImmutableNumberFormat;->get()Landroid/icu/text/NumberFormat;
-Landroid/icu/text/MeasureFormat$ImmutableNumberFormat;->getPrefix(Z)Ljava/lang/String;
-Landroid/icu/text/MeasureFormat$ImmutableNumberFormat;->getSuffix(Z)Ljava/lang/String;
-Landroid/icu/text/MeasureFormat$ImmutableNumberFormat;->nf:Landroid/icu/text/NumberFormat;
-Landroid/icu/text/MeasureFormat$MeasureFormatData;
-Landroid/icu/text/MeasureFormat$MeasureFormatData;-><init>()V
-Landroid/icu/text/MeasureFormat$MeasureFormatData;->hasPerFormatter(Landroid/icu/text/MeasureFormat$FormatWidth;)Z
-Landroid/icu/text/MeasureFormat$MeasureFormatData;->PATTERN_COUNT:I
-Landroid/icu/text/MeasureFormat$MeasureFormatData;->PER_UNIT_INDEX:I
-Landroid/icu/text/MeasureFormat$MeasureFormatData;->styleToPerPattern:Ljava/util/EnumMap;
-Landroid/icu/text/MeasureFormat$MeasureFormatData;->unitToStyleToDnam:Ljava/util/Map;
-Landroid/icu/text/MeasureFormat$MeasureFormatData;->unitToStyleToPatterns:Ljava/util/Map;
-Landroid/icu/text/MeasureFormat$MeasureFormatData;->widthFallback:[Landroid/icu/text/MeasureFormat$FormatWidth;
-Landroid/icu/text/MeasureFormat$MeasureProxy;
-Landroid/icu/text/MeasureFormat$MeasureProxy;-><init>()V
-Landroid/icu/text/MeasureFormat$MeasureProxy;-><init>(Landroid/icu/util/ULocale;Landroid/icu/text/MeasureFormat$FormatWidth;Landroid/icu/text/NumberFormat;I)V
-Landroid/icu/text/MeasureFormat$MeasureProxy;->createTimeUnitFormat()Landroid/icu/text/TimeUnitFormat;
-Landroid/icu/text/MeasureFormat$MeasureProxy;->formatWidth:Landroid/icu/text/MeasureFormat$FormatWidth;
-Landroid/icu/text/MeasureFormat$MeasureProxy;->keyValues:Ljava/util/HashMap;
-Landroid/icu/text/MeasureFormat$MeasureProxy;->locale:Landroid/icu/util/ULocale;
-Landroid/icu/text/MeasureFormat$MeasureProxy;->numberFormat:Landroid/icu/text/NumberFormat;
-Landroid/icu/text/MeasureFormat$MeasureProxy;->subClass:I
-Landroid/icu/text/MeasureFormat$NumericFormatters;
-Landroid/icu/text/MeasureFormat$NumericFormatters;-><init>(Landroid/icu/text/DateFormat;Landroid/icu/text/DateFormat;Landroid/icu/text/DateFormat;)V
-Landroid/icu/text/MeasureFormat$NumericFormatters;->getHourMinute()Landroid/icu/text/DateFormat;
-Landroid/icu/text/MeasureFormat$NumericFormatters;->getHourMinuteSecond()Landroid/icu/text/DateFormat;
-Landroid/icu/text/MeasureFormat$NumericFormatters;->getMinuteSecond()Landroid/icu/text/DateFormat;
-Landroid/icu/text/MeasureFormat$NumericFormatters;->hourMinute:Landroid/icu/text/DateFormat;
-Landroid/icu/text/MeasureFormat$NumericFormatters;->hourMinuteSecond:Landroid/icu/text/DateFormat;
-Landroid/icu/text/MeasureFormat$NumericFormatters;->minuteSecond:Landroid/icu/text/DateFormat;
-Landroid/icu/text/MeasureFormat$PatternData;
-Landroid/icu/text/MeasureFormat$PatternData;-><init>(Ljava/lang/String;)V
-Landroid/icu/text/MeasureFormat$PatternData;->prefix:Ljava/lang/String;
-Landroid/icu/text/MeasureFormat$PatternData;->suffix:Ljava/lang/String;
-Landroid/icu/text/MeasureFormat$UnitDataSink;
-Landroid/icu/text/MeasureFormat$UnitDataSink;-><init>(Landroid/icu/text/MeasureFormat$MeasureFormatData;)V
-Landroid/icu/text/MeasureFormat$UnitDataSink;->cacheData:Landroid/icu/text/MeasureFormat$MeasureFormatData;
-Landroid/icu/text/MeasureFormat$UnitDataSink;->consumeAlias(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-Landroid/icu/text/MeasureFormat$UnitDataSink;->consumeCompoundPattern(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-Landroid/icu/text/MeasureFormat$UnitDataSink;->consumePattern(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-Landroid/icu/text/MeasureFormat$UnitDataSink;->consumeSubtypeTable(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-Landroid/icu/text/MeasureFormat$UnitDataSink;->consumeTable(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-Landroid/icu/text/MeasureFormat$UnitDataSink;->consumeUnitTypesTable(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-Landroid/icu/text/MeasureFormat$UnitDataSink;->patterns:[Ljava/lang/String;
-Landroid/icu/text/MeasureFormat$UnitDataSink;->sb:Ljava/lang/StringBuilder;
-Landroid/icu/text/MeasureFormat$UnitDataSink;->setDnamIfAbsent(Landroid/icu/impl/UResource$Value;)V
-Landroid/icu/text/MeasureFormat$UnitDataSink;->setFormatterIfAbsent(ILandroid/icu/impl/UResource$Value;I)V
-Landroid/icu/text/MeasureFormat$UnitDataSink;->type:Ljava/lang/String;
-Landroid/icu/text/MeasureFormat$UnitDataSink;->unit:Landroid/icu/util/MeasureUnit;
-Landroid/icu/text/MeasureFormat$UnitDataSink;->width:Landroid/icu/text/MeasureFormat$FormatWidth;
-Landroid/icu/text/MeasureFormat$UnitDataSink;->widthFromAlias(Landroid/icu/impl/UResource$Value;)Landroid/icu/text/MeasureFormat$FormatWidth;
-Landroid/icu/text/MeasureFormat$UnitDataSink;->widthFromKey(Landroid/icu/impl/UResource$Key;)Landroid/icu/text/MeasureFormat$FormatWidth;
-Landroid/icu/text/MeasureFormat;-><init>()V
-Landroid/icu/text/MeasureFormat;-><init>(Landroid/icu/util/ULocale;Landroid/icu/text/MeasureFormat$MeasureFormatData;Landroid/icu/text/MeasureFormat$FormatWidth;Landroid/icu/text/MeasureFormat$ImmutableNumberFormat;Landroid/icu/text/PluralRules;Landroid/icu/text/MeasureFormat$NumericFormatters;Landroid/icu/text/MeasureFormat$ImmutableNumberFormat;Landroid/icu/text/MeasureFormat$ImmutableNumberFormat;)V
-Landroid/icu/text/MeasureFormat;->appendReplacingCurrency(Ljava/lang/String;Landroid/icu/util/Currency;Landroid/icu/impl/StandardPlural;Ljava/lang/StringBuilder;)V
-Landroid/icu/text/MeasureFormat;->cache:Landroid/icu/text/MeasureFormat$MeasureFormatData;
-Landroid/icu/text/MeasureFormat;->currencyFormat:Landroid/icu/text/MeasureFormat$ImmutableNumberFormat;
-Landroid/icu/text/MeasureFormat;->CURRENCY_FORMAT:I
-Landroid/icu/text/MeasureFormat;->formatMeasure(Landroid/icu/util/Measure;Landroid/icu/text/MeasureFormat$ImmutableNumberFormat;)Ljava/lang/String;
-Landroid/icu/text/MeasureFormat;->formatMeasure(Landroid/icu/util/Measure;Landroid/icu/text/MeasureFormat$ImmutableNumberFormat;Ljava/lang/StringBuilder;Ljava/text/FieldPosition;)Ljava/lang/StringBuilder;
-Landroid/icu/text/MeasureFormat;->formatMeasureRange(Landroid/icu/util/Measure;Landroid/icu/util/Measure;)Ljava/lang/String;
-Landroid/icu/text/MeasureFormat;->formatMeasuresSlowTrack(Landroid/icu/text/ListFormatter;Ljava/lang/StringBuilder;Ljava/text/FieldPosition;[[Landroid/icu/util/Measure;)Ljava/lang/StringBuilder;
-Landroid/icu/text/MeasureFormat;->formatNumeric(Ljava/util/Date;Landroid/icu/text/DateFormat;Landroid/icu/text/DateFormat$Field;Ljava/lang/Number;Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
-Landroid/icu/text/MeasureFormat;->formatNumeric([Ljava/lang/Number;Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
-Landroid/icu/text/MeasureFormat;->formatWidth:Landroid/icu/text/MeasureFormat$FormatWidth;
-Landroid/icu/text/MeasureFormat;->fromFormatWidthOrdinal(I)Landroid/icu/text/MeasureFormat$FormatWidth;
-Landroid/icu/text/MeasureFormat;->getFormatter(Landroid/icu/util/MeasureUnit;Landroid/icu/text/MeasureFormat$FormatWidth;I)Ljava/lang/String;
-Landroid/icu/text/MeasureFormat;->getFormatterOrNull(Landroid/icu/util/MeasureUnit;Landroid/icu/text/MeasureFormat$FormatWidth;I)Ljava/lang/String;
-Landroid/icu/text/MeasureFormat;->getPerFormatter(Landroid/icu/text/MeasureFormat$FormatWidth;)Ljava/lang/String;
-Landroid/icu/text/MeasureFormat;->getPluralFormatter(Landroid/icu/util/MeasureUnit;Landroid/icu/text/MeasureFormat$FormatWidth;I)Ljava/lang/String;
-Landroid/icu/text/MeasureFormat;->getRangeFormat(Landroid/icu/util/ULocale;Landroid/icu/text/MeasureFormat$FormatWidth;)Ljava/lang/String;
-Landroid/icu/text/MeasureFormat;->getRegularWidth(Landroid/icu/text/MeasureFormat$FormatWidth;)Landroid/icu/text/MeasureFormat$FormatWidth;
-Landroid/icu/text/MeasureFormat;->hmsTo012:Ljava/util/Map;
-Landroid/icu/text/MeasureFormat;->integerFormat:Landroid/icu/text/MeasureFormat$ImmutableNumberFormat;
-Landroid/icu/text/MeasureFormat;->loadLocaleData(Landroid/icu/util/ULocale;)Landroid/icu/text/MeasureFormat$MeasureFormatData;
-Landroid/icu/text/MeasureFormat;->loadNumericDurationFormat(Landroid/icu/impl/ICUResourceBundle;Ljava/lang/String;)Landroid/icu/text/DateFormat;
-Landroid/icu/text/MeasureFormat;->loadNumericFormatters(Landroid/icu/util/ULocale;)Landroid/icu/text/MeasureFormat$NumericFormatters;
-Landroid/icu/text/MeasureFormat;->localeIdToRangeFormat:Ljava/util/Map;
-Landroid/icu/text/MeasureFormat;->localeMeasureFormatData:Landroid/icu/impl/SimpleCache;
-Landroid/icu/text/MeasureFormat;->localeToNumericDurationFormatters:Landroid/icu/impl/SimpleCache;
-Landroid/icu/text/MeasureFormat;->MEASURE_FORMAT:I
-Landroid/icu/text/MeasureFormat;->numberFormat:Landroid/icu/text/MeasureFormat$ImmutableNumberFormat;
-Landroid/icu/text/MeasureFormat;->numericFormatters:Landroid/icu/text/MeasureFormat$NumericFormatters;
-Landroid/icu/text/MeasureFormat;->rules:Landroid/icu/text/PluralRules;
-Landroid/icu/text/MeasureFormat;->TIME_UNIT_FORMAT:I
-Landroid/icu/text/MeasureFormat;->toCurrencyProxy()Ljava/lang/Object;
-Landroid/icu/text/MeasureFormat;->toHMS([Landroid/icu/util/Measure;)[Ljava/lang/Number;
-Landroid/icu/text/MeasureFormat;->toTimeUnitProxy()Ljava/lang/Object;
-Landroid/icu/text/MeasureFormat;->withLocale(Landroid/icu/util/ULocale;)Landroid/icu/text/MeasureFormat;
-Landroid/icu/text/MeasureFormat;->withNumberFormat(Landroid/icu/text/NumberFormat;)Landroid/icu/text/MeasureFormat;
-Landroid/icu/text/MeasureFormat;->withPerUnitAndAppend(Ljava/lang/CharSequence;Landroid/icu/util/MeasureUnit;Ljava/lang/StringBuilder;)I
-Landroid/icu/text/MessageFormat$AppendableWrapper;
-Landroid/icu/text/MessageFormat$AppendableWrapper;-><init>(Ljava/lang/StringBuffer;)V
-Landroid/icu/text/MessageFormat$AppendableWrapper;-><init>(Ljava/lang/StringBuilder;)V
-Landroid/icu/text/MessageFormat$AppendableWrapper;->app:Ljava/lang/Appendable;
-Landroid/icu/text/MessageFormat$AppendableWrapper;->append(Ljava/lang/Appendable;Ljava/text/CharacterIterator;)I
-Landroid/icu/text/MessageFormat$AppendableWrapper;->append(Ljava/lang/CharSequence;)V
-Landroid/icu/text/MessageFormat$AppendableWrapper;->append(Ljava/lang/CharSequence;II)V
-Landroid/icu/text/MessageFormat$AppendableWrapper;->append(Ljava/text/CharacterIterator;)V
-Landroid/icu/text/MessageFormat$AppendableWrapper;->attributes:Ljava/util/List;
-Landroid/icu/text/MessageFormat$AppendableWrapper;->formatAndAppend(Ljava/text/Format;Ljava/lang/Object;)V
-Landroid/icu/text/MessageFormat$AppendableWrapper;->formatAndAppend(Ljava/text/Format;Ljava/lang/Object;Ljava/lang/String;)V
-Landroid/icu/text/MessageFormat$AppendableWrapper;->length:I
-Landroid/icu/text/MessageFormat$AppendableWrapper;->useAttributes()V
-Landroid/icu/text/MessageFormat$AttributeAndPosition;
-Landroid/icu/text/MessageFormat$AttributeAndPosition;-><init>(Ljava/lang/Object;II)V
-Landroid/icu/text/MessageFormat$AttributeAndPosition;-><init>(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
-Landroid/icu/text/MessageFormat$AttributeAndPosition;->init(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
-Landroid/icu/text/MessageFormat$AttributeAndPosition;->key:Ljava/text/AttributedCharacterIterator$Attribute;
-Landroid/icu/text/MessageFormat$AttributeAndPosition;->limit:I
-Landroid/icu/text/MessageFormat$AttributeAndPosition;->start:I
-Landroid/icu/text/MessageFormat$AttributeAndPosition;->value:Ljava/lang/Object;
-Landroid/icu/text/MessageFormat$PluralSelectorContext;
-Landroid/icu/text/MessageFormat$PluralSelectorContext;-><init>(ILjava/lang/String;Ljava/lang/Number;D)V
-Landroid/icu/text/MessageFormat$PluralSelectorContext;->argName:Ljava/lang/String;
-Landroid/icu/text/MessageFormat$PluralSelectorContext;->formatter:Ljava/text/Format;
-Landroid/icu/text/MessageFormat$PluralSelectorContext;->forReplaceNumber:Z
-Landroid/icu/text/MessageFormat$PluralSelectorContext;->number:Ljava/lang/Number;
-Landroid/icu/text/MessageFormat$PluralSelectorContext;->numberArgIndex:I
-Landroid/icu/text/MessageFormat$PluralSelectorContext;->numberString:Ljava/lang/String;
-Landroid/icu/text/MessageFormat$PluralSelectorContext;->offset:D
-Landroid/icu/text/MessageFormat$PluralSelectorContext;->startIndex:I
-Landroid/icu/text/MessageFormat$PluralSelectorProvider;
-Landroid/icu/text/MessageFormat$PluralSelectorProvider;-><init>(Landroid/icu/text/MessageFormat;Landroid/icu/text/PluralRules$PluralType;)V
-Landroid/icu/text/MessageFormat$PluralSelectorProvider;->msgFormat:Landroid/icu/text/MessageFormat;
-Landroid/icu/text/MessageFormat$PluralSelectorProvider;->rules:Landroid/icu/text/PluralRules;
-Landroid/icu/text/MessageFormat$PluralSelectorProvider;->select(Ljava/lang/Object;D)Ljava/lang/String;
-Landroid/icu/text/MessageFormat$PluralSelectorProvider;->type:Landroid/icu/text/PluralRules$PluralType;
-Landroid/icu/text/MessageFormat;->argNameMatches(ILjava/lang/String;I)Z
-Landroid/icu/text/MessageFormat;->cachedFormatters:Ljava/util/Map;
-Landroid/icu/text/MessageFormat;->cacheExplicitFormats()V
-Landroid/icu/text/MessageFormat;->createAppropriateFormat(Ljava/lang/String;Ljava/lang/String;)Ljava/text/Format;
-Landroid/icu/text/MessageFormat;->CURLY_BRACE_LEFT:C
-Landroid/icu/text/MessageFormat;->CURLY_BRACE_RIGHT:C
-Landroid/icu/text/MessageFormat;->customFormatArgStarts:Ljava/util/Set;
-Landroid/icu/text/MessageFormat;->dateModifierList:[Ljava/lang/String;
-Landroid/icu/text/MessageFormat;->DATE_MODIFIER_EMPTY:I
-Landroid/icu/text/MessageFormat;->DATE_MODIFIER_FULL:I
-Landroid/icu/text/MessageFormat;->DATE_MODIFIER_LONG:I
-Landroid/icu/text/MessageFormat;->DATE_MODIFIER_MEDIUM:I
-Landroid/icu/text/MessageFormat;->DATE_MODIFIER_SHORT:I
-Landroid/icu/text/MessageFormat;->findChoiceSubMessage(Landroid/icu/text/MessagePattern;ID)I
-Landroid/icu/text/MessageFormat;->findFirstPluralNumberArg(ILjava/lang/String;)I
-Landroid/icu/text/MessageFormat;->findKeyword(Ljava/lang/String;[Ljava/lang/String;)I
-Landroid/icu/text/MessageFormat;->findOtherSubMessage(I)I
-Landroid/icu/text/MessageFormat;->format(ILandroid/icu/text/MessageFormat$PluralSelectorContext;[Ljava/lang/Object;Ljava/util/Map;Landroid/icu/text/MessageFormat$AppendableWrapper;Ljava/text/FieldPosition;)V
-Landroid/icu/text/MessageFormat;->format(Ljava/lang/Object;Landroid/icu/text/MessageFormat$AppendableWrapper;Ljava/text/FieldPosition;)V
-Landroid/icu/text/MessageFormat;->format([Ljava/lang/Object;Ljava/util/Map;Landroid/icu/text/MessageFormat$AppendableWrapper;Ljava/text/FieldPosition;)V
-Landroid/icu/text/MessageFormat;->formatComplexSubMessage(ILandroid/icu/text/MessageFormat$PluralSelectorContext;[Ljava/lang/Object;Ljava/util/Map;Landroid/icu/text/MessageFormat$AppendableWrapper;)V
-Landroid/icu/text/MessageFormat;->getArgName(I)Ljava/lang/String;
-Landroid/icu/text/MessageFormat;->getLiteralStringUntilNextArgument(I)Ljava/lang/String;
-Landroid/icu/text/MessageFormat;->getStockDateFormatter()Landroid/icu/text/DateFormat;
-Landroid/icu/text/MessageFormat;->getStockNumberFormatter()Landroid/icu/text/NumberFormat;
-Landroid/icu/text/MessageFormat;->matchStringUntilLimitPart(Landroid/icu/text/MessagePattern;IILjava/lang/String;I)I
-Landroid/icu/text/MessageFormat;->modifierList:[Ljava/lang/String;
-Landroid/icu/text/MessageFormat;->MODIFIER_CURRENCY:I
-Landroid/icu/text/MessageFormat;->MODIFIER_EMPTY:I
-Landroid/icu/text/MessageFormat;->MODIFIER_INTEGER:I
-Landroid/icu/text/MessageFormat;->MODIFIER_PERCENT:I
-Landroid/icu/text/MessageFormat;->msgPattern:Landroid/icu/text/MessagePattern;
-Landroid/icu/text/MessageFormat;->nextTopLevelArgStart(I)I
-Landroid/icu/text/MessageFormat;->ordinalProvider:Landroid/icu/text/MessageFormat$PluralSelectorProvider;
-Landroid/icu/text/MessageFormat;->parse(ILjava/lang/String;Ljava/text/ParsePosition;[Ljava/lang/Object;Ljava/util/Map;)V
-Landroid/icu/text/MessageFormat;->parseChoiceArgument(Landroid/icu/text/MessagePattern;ILjava/lang/String;Ljava/text/ParsePosition;)D
-Landroid/icu/text/MessageFormat;->pluralProvider:Landroid/icu/text/MessageFormat$PluralSelectorProvider;
-Landroid/icu/text/MessageFormat;->resetPattern()V
-Landroid/icu/text/MessageFormat;->rootLocale:Ljava/util/Locale;
-Landroid/icu/text/MessageFormat;->setArgStartFormat(ILjava/text/Format;)V
-Landroid/icu/text/MessageFormat;->setCustomArgStartFormat(ILjava/text/Format;)V
-Landroid/icu/text/MessageFormat;->SINGLE_QUOTE:C
-Landroid/icu/text/MessageFormat;->STATE_INITIAL:I
-Landroid/icu/text/MessageFormat;->STATE_IN_QUOTE:I
-Landroid/icu/text/MessageFormat;->STATE_MSG_ELEMENT:I
-Landroid/icu/text/MessageFormat;->STATE_SINGLE_QUOTE:I
-Landroid/icu/text/MessageFormat;->stockDateFormatter:Landroid/icu/text/DateFormat;
-Landroid/icu/text/MessageFormat;->stockNumberFormatter:Landroid/icu/text/NumberFormat;
-Landroid/icu/text/MessageFormat;->typeList:[Ljava/lang/String;
-Landroid/icu/text/MessageFormat;->TYPE_DATE:I
-Landroid/icu/text/MessageFormat;->TYPE_DURATION:I
-Landroid/icu/text/MessageFormat;->TYPE_NUMBER:I
-Landroid/icu/text/MessageFormat;->TYPE_ORDINAL:I
-Landroid/icu/text/MessageFormat;->TYPE_SPELLOUT:I
-Landroid/icu/text/MessageFormat;->TYPE_TIME:I
-Landroid/icu/text/MessageFormat;->ulocale:Landroid/icu/util/ULocale;
-Landroid/icu/text/MessageFormat;->updateMetaData(Landroid/icu/text/MessageFormat$AppendableWrapper;ILjava/text/FieldPosition;Ljava/lang/Object;)Ljava/text/FieldPosition;
-Landroid/icu/text/MessagePattern$ApostropheMode;-><init>()V
-Landroid/icu/text/MessagePattern$ArgType;-><init>()V
-Landroid/icu/text/MessagePattern$Part$Type;-><init>()V
-Landroid/icu/text/MessagePattern$Part;-><init>(Landroid/icu/text/MessagePattern$Part$Type;III)V
-Landroid/icu/text/MessagePattern$Part;->index:I
-Landroid/icu/text/MessagePattern$Part;->length:C
-Landroid/icu/text/MessagePattern$Part;->limitPartIndex:I
-Landroid/icu/text/MessagePattern$Part;->MAX_LENGTH:I
-Landroid/icu/text/MessagePattern$Part;->MAX_VALUE:I
-Landroid/icu/text/MessagePattern$Part;->type:Landroid/icu/text/MessagePattern$Part$Type;
-Landroid/icu/text/MessagePattern$Part;->value:S
-Landroid/icu/text/MessagePattern;->addArgDoublePart(DII)V
-Landroid/icu/text/MessagePattern;->addLimitPart(ILandroid/icu/text/MessagePattern$Part$Type;III)V
-Landroid/icu/text/MessagePattern;->addPart(Landroid/icu/text/MessagePattern$Part$Type;III)V
-Landroid/icu/text/MessagePattern;->aposMode:Landroid/icu/text/MessagePattern$ApostropheMode;
-Landroid/icu/text/MessagePattern;->appendReducedApostrophes(Ljava/lang/String;IILjava/lang/StringBuilder;)V
-Landroid/icu/text/MessagePattern;->argTypes:[Landroid/icu/text/MessagePattern$ArgType;
-Landroid/icu/text/MessagePattern;->defaultAposMode:Landroid/icu/text/MessagePattern$ApostropheMode;
-Landroid/icu/text/MessagePattern;->frozen:Z
-Landroid/icu/text/MessagePattern;->hasArgNames:Z
-Landroid/icu/text/MessagePattern;->hasArgNumbers:Z
-Landroid/icu/text/MessagePattern;->inMessageFormatPattern(I)Z
-Landroid/icu/text/MessagePattern;->inTopLevelChoiceMessage(ILandroid/icu/text/MessagePattern$ArgType;)Z
-Landroid/icu/text/MessagePattern;->isArgTypeChar(I)Z
-Landroid/icu/text/MessagePattern;->isChoice(I)Z
-Landroid/icu/text/MessagePattern;->isOrdinal(I)Z
-Landroid/icu/text/MessagePattern;->isPlural(I)Z
-Landroid/icu/text/MessagePattern;->isSelect(I)Z
-Landroid/icu/text/MessagePattern;->jdkAposMode()Z
-Landroid/icu/text/MessagePattern;->MAX_PREFIX_LENGTH:I
-Landroid/icu/text/MessagePattern;->msg:Ljava/lang/String;
-Landroid/icu/text/MessagePattern;->needsAutoQuoting:Z
-Landroid/icu/text/MessagePattern;->numericValues:Ljava/util/ArrayList;
-Landroid/icu/text/MessagePattern;->parseArg(III)I
-Landroid/icu/text/MessagePattern;->parseArgNumber(II)I
-Landroid/icu/text/MessagePattern;->parseArgNumber(Ljava/lang/CharSequence;II)I
-Landroid/icu/text/MessagePattern;->parseChoiceStyle(II)I
-Landroid/icu/text/MessagePattern;->parseDouble(IIZ)V
-Landroid/icu/text/MessagePattern;->parseMessage(IIILandroid/icu/text/MessagePattern$ArgType;)I
-Landroid/icu/text/MessagePattern;->parsePluralOrSelectStyle(Landroid/icu/text/MessagePattern$ArgType;II)I
-Landroid/icu/text/MessagePattern;->parseSimpleStyle(I)I
-Landroid/icu/text/MessagePattern;->parts:Ljava/util/ArrayList;
-Landroid/icu/text/MessagePattern;->postParse()V
-Landroid/icu/text/MessagePattern;->prefix()Ljava/lang/String;
-Landroid/icu/text/MessagePattern;->prefix(I)Ljava/lang/String;
-Landroid/icu/text/MessagePattern;->prefix(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/MessagePattern;->prefix(Ljava/lang/String;I)Ljava/lang/String;
-Landroid/icu/text/MessagePattern;->preParse(Ljava/lang/String;)V
-Landroid/icu/text/MessagePattern;->skipDouble(I)I
-Landroid/icu/text/MessagePattern;->skipIdentifier(I)I
-Landroid/icu/text/MessagePattern;->skipWhiteSpace(I)I
-Landroid/icu/text/MessagePatternUtil$ArgNode;
-Landroid/icu/text/MessagePatternUtil$ArgNode;-><init>()V
-Landroid/icu/text/MessagePatternUtil$ArgNode;->argType:Landroid/icu/text/MessagePattern$ArgType;
-Landroid/icu/text/MessagePatternUtil$ArgNode;->complexStyle:Landroid/icu/text/MessagePatternUtil$ComplexArgStyleNode;
-Landroid/icu/text/MessagePatternUtil$ArgNode;->createArgNode()Landroid/icu/text/MessagePatternUtil$ArgNode;
-Landroid/icu/text/MessagePatternUtil$ArgNode;->getArgType()Landroid/icu/text/MessagePattern$ArgType;
-Landroid/icu/text/MessagePatternUtil$ArgNode;->getComplexStyle()Landroid/icu/text/MessagePatternUtil$ComplexArgStyleNode;
-Landroid/icu/text/MessagePatternUtil$ArgNode;->getName()Ljava/lang/String;
-Landroid/icu/text/MessagePatternUtil$ArgNode;->getNumber()I
-Landroid/icu/text/MessagePatternUtil$ArgNode;->getSimpleStyle()Ljava/lang/String;
-Landroid/icu/text/MessagePatternUtil$ArgNode;->getTypeName()Ljava/lang/String;
-Landroid/icu/text/MessagePatternUtil$ArgNode;->name:Ljava/lang/String;
-Landroid/icu/text/MessagePatternUtil$ArgNode;->number:I
-Landroid/icu/text/MessagePatternUtil$ArgNode;->style:Ljava/lang/String;
-Landroid/icu/text/MessagePatternUtil$ArgNode;->typeName:Ljava/lang/String;
-Landroid/icu/text/MessagePatternUtil$ComplexArgStyleNode;
-Landroid/icu/text/MessagePatternUtil$ComplexArgStyleNode;-><init>(Landroid/icu/text/MessagePattern$ArgType;)V
-Landroid/icu/text/MessagePatternUtil$ComplexArgStyleNode;->addVariant(Landroid/icu/text/MessagePatternUtil$VariantNode;)V
-Landroid/icu/text/MessagePatternUtil$ComplexArgStyleNode;->argType:Landroid/icu/text/MessagePattern$ArgType;
-Landroid/icu/text/MessagePatternUtil$ComplexArgStyleNode;->explicitOffset:Z
-Landroid/icu/text/MessagePatternUtil$ComplexArgStyleNode;->freeze()Landroid/icu/text/MessagePatternUtil$ComplexArgStyleNode;
-Landroid/icu/text/MessagePatternUtil$ComplexArgStyleNode;->getArgType()Landroid/icu/text/MessagePattern$ArgType;
-Landroid/icu/text/MessagePatternUtil$ComplexArgStyleNode;->getOffset()D
-Landroid/icu/text/MessagePatternUtil$ComplexArgStyleNode;->getVariants()Ljava/util/List;
-Landroid/icu/text/MessagePatternUtil$ComplexArgStyleNode;->getVariantsByType(Ljava/util/List;Ljava/util/List;)Landroid/icu/text/MessagePatternUtil$VariantNode;
-Landroid/icu/text/MessagePatternUtil$ComplexArgStyleNode;->hasExplicitOffset()Z
-Landroid/icu/text/MessagePatternUtil$ComplexArgStyleNode;->list:Ljava/util/List;
-Landroid/icu/text/MessagePatternUtil$ComplexArgStyleNode;->offset:D
-Landroid/icu/text/MessagePatternUtil$MessageContentsNode$Type;
-Landroid/icu/text/MessagePatternUtil$MessageContentsNode$Type;-><init>()V
-Landroid/icu/text/MessagePatternUtil$MessageContentsNode$Type;->ARG:Landroid/icu/text/MessagePatternUtil$MessageContentsNode$Type;
-Landroid/icu/text/MessagePatternUtil$MessageContentsNode$Type;->REPLACE_NUMBER:Landroid/icu/text/MessagePatternUtil$MessageContentsNode$Type;
-Landroid/icu/text/MessagePatternUtil$MessageContentsNode$Type;->TEXT:Landroid/icu/text/MessagePatternUtil$MessageContentsNode$Type;
-Landroid/icu/text/MessagePatternUtil$MessageContentsNode$Type;->valueOf(Ljava/lang/String;)Landroid/icu/text/MessagePatternUtil$MessageContentsNode$Type;
-Landroid/icu/text/MessagePatternUtil$MessageContentsNode$Type;->values()[Landroid/icu/text/MessagePatternUtil$MessageContentsNode$Type;
-Landroid/icu/text/MessagePatternUtil$MessageContentsNode;
-Landroid/icu/text/MessagePatternUtil$MessageContentsNode;-><init>(Landroid/icu/text/MessagePatternUtil$MessageContentsNode$Type;)V
-Landroid/icu/text/MessagePatternUtil$MessageContentsNode;->createReplaceNumberNode()Landroid/icu/text/MessagePatternUtil$MessageContentsNode;
-Landroid/icu/text/MessagePatternUtil$MessageContentsNode;->getType()Landroid/icu/text/MessagePatternUtil$MessageContentsNode$Type;
-Landroid/icu/text/MessagePatternUtil$MessageContentsNode;->type:Landroid/icu/text/MessagePatternUtil$MessageContentsNode$Type;
-Landroid/icu/text/MessagePatternUtil$MessageNode;
-Landroid/icu/text/MessagePatternUtil$MessageNode;-><init>()V
-Landroid/icu/text/MessagePatternUtil$MessageNode;->addContentsNode(Landroid/icu/text/MessagePatternUtil$MessageContentsNode;)V
-Landroid/icu/text/MessagePatternUtil$MessageNode;->freeze()Landroid/icu/text/MessagePatternUtil$MessageNode;
-Landroid/icu/text/MessagePatternUtil$MessageNode;->getContents()Ljava/util/List;
-Landroid/icu/text/MessagePatternUtil$MessageNode;->list:Ljava/util/List;
-Landroid/icu/text/MessagePatternUtil$Node;
-Landroid/icu/text/MessagePatternUtil$Node;-><init>()V
-Landroid/icu/text/MessagePatternUtil$TextNode;
-Landroid/icu/text/MessagePatternUtil$TextNode;-><init>(Ljava/lang/String;)V
-Landroid/icu/text/MessagePatternUtil$TextNode;->getText()Ljava/lang/String;
-Landroid/icu/text/MessagePatternUtil$TextNode;->text:Ljava/lang/String;
-Landroid/icu/text/MessagePatternUtil$VariantNode;
-Landroid/icu/text/MessagePatternUtil$VariantNode;-><init>()V
-Landroid/icu/text/MessagePatternUtil$VariantNode;->getMessage()Landroid/icu/text/MessagePatternUtil$MessageNode;
-Landroid/icu/text/MessagePatternUtil$VariantNode;->getSelector()Ljava/lang/String;
-Landroid/icu/text/MessagePatternUtil$VariantNode;->getSelectorValue()D
-Landroid/icu/text/MessagePatternUtil$VariantNode;->isSelectorNumeric()Z
-Landroid/icu/text/MessagePatternUtil$VariantNode;->msgNode:Landroid/icu/text/MessagePatternUtil$MessageNode;
-Landroid/icu/text/MessagePatternUtil$VariantNode;->numericValue:D
-Landroid/icu/text/MessagePatternUtil$VariantNode;->selector:Ljava/lang/String;
-Landroid/icu/text/MessagePatternUtil;
-Landroid/icu/text/MessagePatternUtil;-><init>()V
-Landroid/icu/text/MessagePatternUtil;->buildArgNode(Landroid/icu/text/MessagePattern;II)Landroid/icu/text/MessagePatternUtil$ArgNode;
-Landroid/icu/text/MessagePatternUtil;->buildChoiceStyleNode(Landroid/icu/text/MessagePattern;II)Landroid/icu/text/MessagePatternUtil$ComplexArgStyleNode;
-Landroid/icu/text/MessagePatternUtil;->buildMessageNode(Landroid/icu/text/MessagePattern;)Landroid/icu/text/MessagePatternUtil$MessageNode;
-Landroid/icu/text/MessagePatternUtil;->buildMessageNode(Landroid/icu/text/MessagePattern;II)Landroid/icu/text/MessagePatternUtil$MessageNode;
-Landroid/icu/text/MessagePatternUtil;->buildMessageNode(Ljava/lang/String;)Landroid/icu/text/MessagePatternUtil$MessageNode;
-Landroid/icu/text/MessagePatternUtil;->buildPluralStyleNode(Landroid/icu/text/MessagePattern;IILandroid/icu/text/MessagePattern$ArgType;)Landroid/icu/text/MessagePatternUtil$ComplexArgStyleNode;
-Landroid/icu/text/MessagePatternUtil;->buildSelectStyleNode(Landroid/icu/text/MessagePattern;II)Landroid/icu/text/MessagePatternUtil$ComplexArgStyleNode;
-Landroid/icu/text/NFRule;
-Landroid/icu/text/NFRule;-><init>(Landroid/icu/text/RuleBasedNumberFormat;Ljava/lang/String;)V
-Landroid/icu/text/NFRule;->allIgnorable(Ljava/lang/String;)Z
-Landroid/icu/text/NFRule;->baseValue:J
-Landroid/icu/text/NFRule;->decimalPoint:C
-Landroid/icu/text/NFRule;->doFormat(DLjava/lang/StringBuilder;II)V
-Landroid/icu/text/NFRule;->doFormat(JLjava/lang/StringBuilder;II)V
-Landroid/icu/text/NFRule;->doParse(Ljava/lang/String;Ljava/text/ParsePosition;ZD)Ljava/lang/Number;
-Landroid/icu/text/NFRule;->expectedExponent()S
-Landroid/icu/text/NFRule;->exponent:S
-Landroid/icu/text/NFRule;->extractSubstitution(Landroid/icu/text/NFRuleSet;Landroid/icu/text/NFRule;)Landroid/icu/text/NFSubstitution;
-Landroid/icu/text/NFRule;->extractSubstitutions(Landroid/icu/text/NFRuleSet;Ljava/lang/String;Landroid/icu/text/NFRule;)V
-Landroid/icu/text/NFRule;->findText(Ljava/lang/String;Ljava/lang/String;Landroid/icu/text/PluralFormat;I)[I
-Landroid/icu/text/NFRule;->formatter:Landroid/icu/text/RuleBasedNumberFormat;
-Landroid/icu/text/NFRule;->getBaseValue()J
-Landroid/icu/text/NFRule;->getDecimalPoint()C
-Landroid/icu/text/NFRule;->getDivisor()J
-Landroid/icu/text/NFRule;->IMPROPER_FRACTION_RULE:I
-Landroid/icu/text/NFRule;->indexOfAnyRulePrefix(Ljava/lang/String;)I
-Landroid/icu/text/NFRule;->INFINITY_RULE:I
-Landroid/icu/text/NFRule;->makeRules(Ljava/lang/String;Landroid/icu/text/NFRuleSet;Landroid/icu/text/NFRule;Landroid/icu/text/RuleBasedNumberFormat;Ljava/util/List;)V
-Landroid/icu/text/NFRule;->MASTER_RULE:I
-Landroid/icu/text/NFRule;->matchToDelimiter(Ljava/lang/String;IDLjava/lang/String;Landroid/icu/text/PluralFormat;Ljava/text/ParsePosition;Landroid/icu/text/NFSubstitution;D)Ljava/lang/Number;
-Landroid/icu/text/NFRule;->NAN_RULE:I
-Landroid/icu/text/NFRule;->NEGATIVE_NUMBER_RULE:I
-Landroid/icu/text/NFRule;->parseRuleDescriptor(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/NFRule;->power(JS)J
-Landroid/icu/text/NFRule;->prefixLength(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/icu/text/NFRule;->PROPER_FRACTION_RULE:I
-Landroid/icu/text/NFRule;->radix:I
-Landroid/icu/text/NFRule;->rulePatternFormat:Landroid/icu/text/PluralFormat;
-Landroid/icu/text/NFRule;->ruleText:Ljava/lang/String;
-Landroid/icu/text/NFRule;->RULE_PREFIXES:[Ljava/lang/String;
-Landroid/icu/text/NFRule;->setBaseValue(J)V
-Landroid/icu/text/NFRule;->setDecimalFormatSymbols(Landroid/icu/text/DecimalFormatSymbols;)V
-Landroid/icu/text/NFRule;->shouldRollBack(J)Z
-Landroid/icu/text/NFRule;->stripPrefix(Ljava/lang/String;Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/String;
-Landroid/icu/text/NFRule;->sub1:Landroid/icu/text/NFSubstitution;
-Landroid/icu/text/NFRule;->sub2:Landroid/icu/text/NFSubstitution;
-Landroid/icu/text/NFRule;->ZERO:Ljava/lang/Long;
-Landroid/icu/text/NFRuleSet;
-Landroid/icu/text/NFRuleSet;-><init>(Landroid/icu/text/RuleBasedNumberFormat;[Ljava/lang/String;I)V
-Landroid/icu/text/NFRuleSet;->findFractionRuleSetRule(D)Landroid/icu/text/NFRule;
-Landroid/icu/text/NFRuleSet;->findNormalRule(J)Landroid/icu/text/NFRule;
-Landroid/icu/text/NFRuleSet;->findRule(D)Landroid/icu/text/NFRule;
-Landroid/icu/text/NFRuleSet;->format(DLjava/lang/StringBuilder;II)V
-Landroid/icu/text/NFRuleSet;->format(JLjava/lang/StringBuilder;II)V
-Landroid/icu/text/NFRuleSet;->fractionRules:Ljava/util/LinkedList;
-Landroid/icu/text/NFRuleSet;->getName()Ljava/lang/String;
-Landroid/icu/text/NFRuleSet;->IMPROPER_FRACTION_RULE_INDEX:I
-Landroid/icu/text/NFRuleSet;->INFINITY_RULE_INDEX:I
-Landroid/icu/text/NFRuleSet;->isFractionRuleSet:Z
-Landroid/icu/text/NFRuleSet;->isFractionSet()Z
-Landroid/icu/text/NFRuleSet;->isParseable()Z
-Landroid/icu/text/NFRuleSet;->isParseable:Z
-Landroid/icu/text/NFRuleSet;->isPublic()Z
-Landroid/icu/text/NFRuleSet;->lcm(JJ)J
-Landroid/icu/text/NFRuleSet;->makeIntoFractionRuleSet()V
-Landroid/icu/text/NFRuleSet;->MASTER_RULE_INDEX:I
-Landroid/icu/text/NFRuleSet;->name:Ljava/lang/String;
-Landroid/icu/text/NFRuleSet;->NAN_RULE_INDEX:I
-Landroid/icu/text/NFRuleSet;->NEGATIVE_RULE_INDEX:I
-Landroid/icu/text/NFRuleSet;->nonNumericalRules:[Landroid/icu/text/NFRule;
-Landroid/icu/text/NFRuleSet;->owner:Landroid/icu/text/RuleBasedNumberFormat;
-Landroid/icu/text/NFRuleSet;->parse(Ljava/lang/String;Ljava/text/ParsePosition;D)Ljava/lang/Number;
-Landroid/icu/text/NFRuleSet;->parseRules(Ljava/lang/String;)V
-Landroid/icu/text/NFRuleSet;->PROPER_FRACTION_RULE_INDEX:I
-Landroid/icu/text/NFRuleSet;->RECURSION_LIMIT:I
-Landroid/icu/text/NFRuleSet;->rules:[Landroid/icu/text/NFRule;
-Landroid/icu/text/NFRuleSet;->setBestFractionRule(ILandroid/icu/text/NFRule;Z)V
-Landroid/icu/text/NFRuleSet;->setDecimalFormatSymbols(Landroid/icu/text/DecimalFormatSymbols;)V
-Landroid/icu/text/NFRuleSet;->setNonNumericalRule(Landroid/icu/text/NFRule;)V
-Landroid/icu/text/NFSubstitution;
-Landroid/icu/text/NFSubstitution;-><init>(ILandroid/icu/text/NFRuleSet;Ljava/lang/String;)V
-Landroid/icu/text/NFSubstitution;->calcUpperBound(D)D
-Landroid/icu/text/NFSubstitution;->composeRuleValue(DD)D
-Landroid/icu/text/NFSubstitution;->doParse(Ljava/lang/String;Ljava/text/ParsePosition;DDZ)Ljava/lang/Number;
-Landroid/icu/text/NFSubstitution;->doSubstitution(DLjava/lang/StringBuilder;II)V
-Landroid/icu/text/NFSubstitution;->doSubstitution(JLjava/lang/StringBuilder;II)V
-Landroid/icu/text/NFSubstitution;->getPos()I
-Landroid/icu/text/NFSubstitution;->isModulusSubstitution()Z
-Landroid/icu/text/NFSubstitution;->makeSubstitution(ILandroid/icu/text/NFRule;Landroid/icu/text/NFRule;Landroid/icu/text/NFRuleSet;Landroid/icu/text/RuleBasedNumberFormat;Ljava/lang/String;)Landroid/icu/text/NFSubstitution;
-Landroid/icu/text/NFSubstitution;->MAX_INT64_IN_DOUBLE:J
-Landroid/icu/text/NFSubstitution;->numberFormat:Landroid/icu/text/DecimalFormat;
-Landroid/icu/text/NFSubstitution;->pos:I
-Landroid/icu/text/NFSubstitution;->ruleSet:Landroid/icu/text/NFRuleSet;
-Landroid/icu/text/NFSubstitution;->setDecimalFormatSymbols(Landroid/icu/text/DecimalFormatSymbols;)V
-Landroid/icu/text/NFSubstitution;->setDivisor(IS)V
-Landroid/icu/text/NFSubstitution;->tokenChar()C
-Landroid/icu/text/NFSubstitution;->transformNumber(D)D
-Landroid/icu/text/NFSubstitution;->transformNumber(J)J
-Landroid/icu/text/Normalizer$CharsAppendable;
-Landroid/icu/text/Normalizer$CharsAppendable;-><init>([CII)V
-Landroid/icu/text/Normalizer$CharsAppendable;->chars:[C
-Landroid/icu/text/Normalizer$CharsAppendable;->length()I
-Landroid/icu/text/Normalizer$CharsAppendable;->limit:I
-Landroid/icu/text/Normalizer$CharsAppendable;->offset:I
-Landroid/icu/text/Normalizer$CharsAppendable;->start:I
-Landroid/icu/text/Normalizer$CmpEquivLevel;
-Landroid/icu/text/Normalizer$CmpEquivLevel;-><init>()V
-Landroid/icu/text/Normalizer$CmpEquivLevel;->cs:Ljava/lang/CharSequence;
-Landroid/icu/text/Normalizer$CmpEquivLevel;->s:I
-Landroid/icu/text/Normalizer$FCD32ModeImpl;
-Landroid/icu/text/Normalizer$FCD32ModeImpl;-><init>()V
-Landroid/icu/text/Normalizer$FCD32ModeImpl;->INSTANCE:Landroid/icu/text/Normalizer$ModeImpl;
-Landroid/icu/text/Normalizer$FCDMode;
-Landroid/icu/text/Normalizer$FCDMode;-><init>()V
-Landroid/icu/text/Normalizer$FCDMode;->getNormalizer2(I)Landroid/icu/text/Normalizer2;
-Landroid/icu/text/Normalizer$FCDModeImpl;
-Landroid/icu/text/Normalizer$FCDModeImpl;-><init>()V
-Landroid/icu/text/Normalizer$FCDModeImpl;->INSTANCE:Landroid/icu/text/Normalizer$ModeImpl;
-Landroid/icu/text/Normalizer$Mode;
-Landroid/icu/text/Normalizer$Mode;-><init>()V
-Landroid/icu/text/Normalizer$Mode;->getNormalizer2(I)Landroid/icu/text/Normalizer2;
-Landroid/icu/text/Normalizer$ModeImpl;
-Landroid/icu/text/Normalizer$ModeImpl;-><init>(Landroid/icu/text/Normalizer2;)V
-Landroid/icu/text/Normalizer$ModeImpl;->normalizer2:Landroid/icu/text/Normalizer2;
-Landroid/icu/text/Normalizer$NFC32ModeImpl;
-Landroid/icu/text/Normalizer$NFC32ModeImpl;-><init>()V
-Landroid/icu/text/Normalizer$NFC32ModeImpl;->INSTANCE:Landroid/icu/text/Normalizer$ModeImpl;
-Landroid/icu/text/Normalizer$NFCMode;
-Landroid/icu/text/Normalizer$NFCMode;-><init>()V
-Landroid/icu/text/Normalizer$NFCMode;->getNormalizer2(I)Landroid/icu/text/Normalizer2;
-Landroid/icu/text/Normalizer$NFCModeImpl;
-Landroid/icu/text/Normalizer$NFCModeImpl;-><init>()V
-Landroid/icu/text/Normalizer$NFCModeImpl;->INSTANCE:Landroid/icu/text/Normalizer$ModeImpl;
-Landroid/icu/text/Normalizer$NFD32ModeImpl;
-Landroid/icu/text/Normalizer$NFD32ModeImpl;-><init>()V
-Landroid/icu/text/Normalizer$NFD32ModeImpl;->INSTANCE:Landroid/icu/text/Normalizer$ModeImpl;
-Landroid/icu/text/Normalizer$NFDMode;
-Landroid/icu/text/Normalizer$NFDMode;-><init>()V
-Landroid/icu/text/Normalizer$NFDMode;->getNormalizer2(I)Landroid/icu/text/Normalizer2;
-Landroid/icu/text/Normalizer$NFDModeImpl;
-Landroid/icu/text/Normalizer$NFDModeImpl;-><init>()V
-Landroid/icu/text/Normalizer$NFDModeImpl;->INSTANCE:Landroid/icu/text/Normalizer$ModeImpl;
-Landroid/icu/text/Normalizer$NFKC32ModeImpl;
-Landroid/icu/text/Normalizer$NFKC32ModeImpl;-><init>()V
-Landroid/icu/text/Normalizer$NFKC32ModeImpl;->INSTANCE:Landroid/icu/text/Normalizer$ModeImpl;
-Landroid/icu/text/Normalizer$NFKCMode;
-Landroid/icu/text/Normalizer$NFKCMode;-><init>()V
-Landroid/icu/text/Normalizer$NFKCMode;->getNormalizer2(I)Landroid/icu/text/Normalizer2;
-Landroid/icu/text/Normalizer$NFKCModeImpl;
-Landroid/icu/text/Normalizer$NFKCModeImpl;-><init>()V
-Landroid/icu/text/Normalizer$NFKCModeImpl;->INSTANCE:Landroid/icu/text/Normalizer$ModeImpl;
-Landroid/icu/text/Normalizer$NFKD32ModeImpl;
-Landroid/icu/text/Normalizer$NFKD32ModeImpl;-><init>()V
-Landroid/icu/text/Normalizer$NFKD32ModeImpl;->INSTANCE:Landroid/icu/text/Normalizer$ModeImpl;
-Landroid/icu/text/Normalizer$NFKDMode;
-Landroid/icu/text/Normalizer$NFKDMode;-><init>()V
-Landroid/icu/text/Normalizer$NFKDMode;->getNormalizer2(I)Landroid/icu/text/Normalizer2;
-Landroid/icu/text/Normalizer$NFKDModeImpl;
-Landroid/icu/text/Normalizer$NFKDModeImpl;-><init>()V
-Landroid/icu/text/Normalizer$NFKDModeImpl;->INSTANCE:Landroid/icu/text/Normalizer$ModeImpl;
-Landroid/icu/text/Normalizer$NONEMode;
-Landroid/icu/text/Normalizer$NONEMode;-><init>()V
-Landroid/icu/text/Normalizer$NONEMode;->getNormalizer2(I)Landroid/icu/text/Normalizer2;
-Landroid/icu/text/Normalizer$QuickCheckResult;-><init>(I)V
-Landroid/icu/text/Normalizer$Unicode32;
-Landroid/icu/text/Normalizer$Unicode32;-><init>()V
-Landroid/icu/text/Normalizer$Unicode32;->INSTANCE:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/Normalizer2$Mode;-><init>()V
-Landroid/icu/text/Normalizer2;-><init>()V
-Landroid/icu/text/Normalizer;-><init>(Landroid/icu/text/UCharacterIterator;Landroid/icu/text/Normalizer$Mode;I)V
-Landroid/icu/text/Normalizer;-><init>(Ljava/lang/String;Landroid/icu/text/Normalizer$Mode;I)V
-Landroid/icu/text/Normalizer;-><init>(Ljava/text/CharacterIterator;Landroid/icu/text/Normalizer$Mode;I)V
-Landroid/icu/text/Normalizer;->buffer:Ljava/lang/StringBuilder;
-Landroid/icu/text/Normalizer;->bufferPos:I
-Landroid/icu/text/Normalizer;->clearBuffer()V
-Landroid/icu/text/Normalizer;->cmpEquivFold(Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)I
-Landroid/icu/text/Normalizer;->COMPARE_EQUIV:I
-Landroid/icu/text/Normalizer;->COMPARE_NORM_OPTIONS_SHIFT:I
-Landroid/icu/text/Normalizer;->compose(Ljava/lang/String;Z)Ljava/lang/String;
-Landroid/icu/text/Normalizer;->compose(Ljava/lang/String;ZI)Ljava/lang/String;
-Landroid/icu/text/Normalizer;->compose([CII[CIIZI)I
-Landroid/icu/text/Normalizer;->compose([C[CZI)I
-Landroid/icu/text/Normalizer;->COMPOSE:Landroid/icu/text/Normalizer$Mode;
-Landroid/icu/text/Normalizer;->COMPOSE_COMPAT:Landroid/icu/text/Normalizer$Mode;
-Landroid/icu/text/Normalizer;->concatenate(Ljava/lang/String;Ljava/lang/String;Landroid/icu/text/Normalizer$Mode;I)Ljava/lang/String;
-Landroid/icu/text/Normalizer;->concatenate([CII[CII[CIILandroid/icu/text/Normalizer$Mode;I)I
-Landroid/icu/text/Normalizer;->concatenate([C[CLandroid/icu/text/Normalizer$Mode;I)Ljava/lang/String;
-Landroid/icu/text/Normalizer;->createCmpEquivLevelStack()[Landroid/icu/text/Normalizer$CmpEquivLevel;
-Landroid/icu/text/Normalizer;->current()I
-Landroid/icu/text/Normalizer;->currentIndex:I
-Landroid/icu/text/Normalizer;->DECOMP:Landroid/icu/text/Normalizer$Mode;
-Landroid/icu/text/Normalizer;->decompose(Ljava/lang/String;Z)Ljava/lang/String;
-Landroid/icu/text/Normalizer;->decompose(Ljava/lang/String;ZI)Ljava/lang/String;
-Landroid/icu/text/Normalizer;->decompose([CII[CIIZI)I
-Landroid/icu/text/Normalizer;->decompose([C[CZI)I
-Landroid/icu/text/Normalizer;->DECOMP_COMPAT:Landroid/icu/text/Normalizer$Mode;
-Landroid/icu/text/Normalizer;->DEFAULT:Landroid/icu/text/Normalizer$Mode;
-Landroid/icu/text/Normalizer;->DONE:I
-Landroid/icu/text/Normalizer;->endIndex()I
-Landroid/icu/text/Normalizer;->FCD:Landroid/icu/text/Normalizer$Mode;
-Landroid/icu/text/Normalizer;->first()I
-Landroid/icu/text/Normalizer;->getBeginIndex()I
-Landroid/icu/text/Normalizer;->getComposeNormalizer2(ZI)Landroid/icu/text/Normalizer2;
-Landroid/icu/text/Normalizer;->getDecomposeNormalizer2(ZI)Landroid/icu/text/Normalizer2;
-Landroid/icu/text/Normalizer;->getEndIndex()I
-Landroid/icu/text/Normalizer;->getFC_NFKC_Closure(I)Ljava/lang/String;
-Landroid/icu/text/Normalizer;->getFC_NFKC_Closure(I[C)I
-Landroid/icu/text/Normalizer;->getIndex()I
-Landroid/icu/text/Normalizer;->getLength()I
-Landroid/icu/text/Normalizer;->getMode()Landroid/icu/text/Normalizer$Mode;
-Landroid/icu/text/Normalizer;->getOption(I)I
-Landroid/icu/text/Normalizer;->getText()Ljava/lang/String;
-Landroid/icu/text/Normalizer;->getText([C)I
-Landroid/icu/text/Normalizer;->IGNORE_HANGUL:I
-Landroid/icu/text/Normalizer;->internalCompare(Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)I
-Landroid/icu/text/Normalizer;->isNormalized(ILandroid/icu/text/Normalizer$Mode;I)Z
-Landroid/icu/text/Normalizer;->isNormalized(Ljava/lang/String;Landroid/icu/text/Normalizer$Mode;I)Z
-Landroid/icu/text/Normalizer;->isNormalized([CIILandroid/icu/text/Normalizer$Mode;I)Z
-Landroid/icu/text/Normalizer;->last()I
-Landroid/icu/text/Normalizer;->mode:Landroid/icu/text/Normalizer$Mode;
-Landroid/icu/text/Normalizer;->next()I
-Landroid/icu/text/Normalizer;->nextIndex:I
-Landroid/icu/text/Normalizer;->nextNormalize()Z
-Landroid/icu/text/Normalizer;->NFC:Landroid/icu/text/Normalizer$Mode;
-Landroid/icu/text/Normalizer;->NFD:Landroid/icu/text/Normalizer$Mode;
-Landroid/icu/text/Normalizer;->NFKC:Landroid/icu/text/Normalizer$Mode;
-Landroid/icu/text/Normalizer;->NFKD:Landroid/icu/text/Normalizer$Mode;
-Landroid/icu/text/Normalizer;->NONE:Landroid/icu/text/Normalizer$Mode;
-Landroid/icu/text/Normalizer;->norm2:Landroid/icu/text/Normalizer2;
-Landroid/icu/text/Normalizer;->normalize(ILandroid/icu/text/Normalizer$Mode;)Ljava/lang/String;
-Landroid/icu/text/Normalizer;->normalize(ILandroid/icu/text/Normalizer$Mode;I)Ljava/lang/String;
-Landroid/icu/text/Normalizer;->normalize(Ljava/lang/String;Landroid/icu/text/Normalizer$Mode;)Ljava/lang/String;
-Landroid/icu/text/Normalizer;->normalize(Ljava/lang/String;Landroid/icu/text/Normalizer$Mode;I)Ljava/lang/String;
-Landroid/icu/text/Normalizer;->normalize([CII[CIILandroid/icu/text/Normalizer$Mode;I)I
-Landroid/icu/text/Normalizer;->normalize([C[CLandroid/icu/text/Normalizer$Mode;I)I
-Landroid/icu/text/Normalizer;->NO_OP:Landroid/icu/text/Normalizer$Mode;
-Landroid/icu/text/Normalizer;->options:I
-Landroid/icu/text/Normalizer;->previous()I
-Landroid/icu/text/Normalizer;->previousNormalize()Z
-Landroid/icu/text/Normalizer;->quickCheck(Ljava/lang/String;Landroid/icu/text/Normalizer$Mode;)Landroid/icu/text/Normalizer$QuickCheckResult;
-Landroid/icu/text/Normalizer;->quickCheck(Ljava/lang/String;Landroid/icu/text/Normalizer$Mode;I)Landroid/icu/text/Normalizer$QuickCheckResult;
-Landroid/icu/text/Normalizer;->quickCheck([CIILandroid/icu/text/Normalizer$Mode;I)Landroid/icu/text/Normalizer$QuickCheckResult;
-Landroid/icu/text/Normalizer;->quickCheck([CLandroid/icu/text/Normalizer$Mode;I)Landroid/icu/text/Normalizer$QuickCheckResult;
-Landroid/icu/text/Normalizer;->reset()V
-Landroid/icu/text/Normalizer;->setIndex(I)I
-Landroid/icu/text/Normalizer;->setIndexOnly(I)V
-Landroid/icu/text/Normalizer;->setMode(Landroid/icu/text/Normalizer$Mode;)V
-Landroid/icu/text/Normalizer;->setOption(IZ)V
-Landroid/icu/text/Normalizer;->setText(Landroid/icu/text/UCharacterIterator;)V
-Landroid/icu/text/Normalizer;->setText(Ljava/lang/String;)V
-Landroid/icu/text/Normalizer;->setText(Ljava/lang/StringBuffer;)V
-Landroid/icu/text/Normalizer;->setText(Ljava/text/CharacterIterator;)V
-Landroid/icu/text/Normalizer;->setText([C)V
-Landroid/icu/text/Normalizer;->startIndex()I
-Landroid/icu/text/Normalizer;->text:Landroid/icu/text/UCharacterIterator;
-Landroid/icu/text/Normalizer;->UNICODE_3_2:I
-Landroid/icu/text/NumberFormat$NumberFormatFactory;
-Landroid/icu/text/NumberFormat$NumberFormatFactory;-><init>()V
-Landroid/icu/text/NumberFormat$NumberFormatFactory;->createFormat(Landroid/icu/util/ULocale;I)Landroid/icu/text/NumberFormat;
-Landroid/icu/text/NumberFormat$NumberFormatFactory;->createFormat(Ljava/util/Locale;I)Landroid/icu/text/NumberFormat;
-Landroid/icu/text/NumberFormat$NumberFormatFactory;->FORMAT_CURRENCY:I
-Landroid/icu/text/NumberFormat$NumberFormatFactory;->FORMAT_INTEGER:I
-Landroid/icu/text/NumberFormat$NumberFormatFactory;->FORMAT_NUMBER:I
-Landroid/icu/text/NumberFormat$NumberFormatFactory;->FORMAT_PERCENT:I
-Landroid/icu/text/NumberFormat$NumberFormatFactory;->FORMAT_SCIENTIFIC:I
-Landroid/icu/text/NumberFormat$NumberFormatFactory;->getSupportedLocaleNames()Ljava/util/Set;
-Landroid/icu/text/NumberFormat$NumberFormatFactory;->visible()Z
-Landroid/icu/text/NumberFormat$NumberFormatShim;
-Landroid/icu/text/NumberFormat$NumberFormatShim;-><init>()V
-Landroid/icu/text/NumberFormat$NumberFormatShim;->createInstance(Landroid/icu/util/ULocale;I)Landroid/icu/text/NumberFormat;
-Landroid/icu/text/NumberFormat$NumberFormatShim;->getAvailableLocales()[Ljava/util/Locale;
-Landroid/icu/text/NumberFormat$NumberFormatShim;->getAvailableULocales()[Landroid/icu/util/ULocale;
-Landroid/icu/text/NumberFormat$NumberFormatShim;->registerFactory(Landroid/icu/text/NumberFormat$NumberFormatFactory;)Ljava/lang/Object;
-Landroid/icu/text/NumberFormat$NumberFormatShim;->unregister(Ljava/lang/Object;)Z
-Landroid/icu/text/NumberFormat$SimpleNumberFormatFactory;
-Landroid/icu/text/NumberFormat$SimpleNumberFormatFactory;-><init>(Landroid/icu/util/ULocale;)V
-Landroid/icu/text/NumberFormat$SimpleNumberFormatFactory;-><init>(Landroid/icu/util/ULocale;Z)V
-Landroid/icu/text/NumberFormat$SimpleNumberFormatFactory;-><init>(Ljava/util/Locale;)V
-Landroid/icu/text/NumberFormat$SimpleNumberFormatFactory;-><init>(Ljava/util/Locale;Z)V
-Landroid/icu/text/NumberFormat$SimpleNumberFormatFactory;->getSupportedLocaleNames()Ljava/util/Set;
-Landroid/icu/text/NumberFormat$SimpleNumberFormatFactory;->localeNames:Ljava/util/Set;
-Landroid/icu/text/NumberFormat$SimpleNumberFormatFactory;->visible()Z
-Landroid/icu/text/NumberFormat$SimpleNumberFormatFactory;->visible:Z
-Landroid/icu/text/NumberFormat;->capitalizationSetting:Landroid/icu/text/DisplayContext;
-Landroid/icu/text/NumberFormat;->createInstance(Landroid/icu/util/ULocale;I)Landroid/icu/text/NumberFormat;
-Landroid/icu/text/NumberFormat;->currency:Landroid/icu/util/Currency;
-Landroid/icu/text/NumberFormat;->currentSerialVersion:I
-Landroid/icu/text/NumberFormat;->doubleCurrencySign:[C
-Landroid/icu/text/NumberFormat;->doubleCurrencyStr:Ljava/lang/String;
-Landroid/icu/text/NumberFormat;->getAvailableULocales()[Landroid/icu/util/ULocale;
-Landroid/icu/text/NumberFormat;->getEffectiveCurrency()Landroid/icu/util/Currency;
-Landroid/icu/text/NumberFormat;->getPattern(Ljava/util/Locale;I)Ljava/lang/String;
-Landroid/icu/text/NumberFormat;->getPatternForStyle(Landroid/icu/util/ULocale;I)Ljava/lang/String;
-Landroid/icu/text/NumberFormat;->getPatternForStyleAndNumberingSystem(Landroid/icu/util/ULocale;Ljava/lang/String;I)Ljava/lang/String;
-Landroid/icu/text/NumberFormat;->getShim()Landroid/icu/text/NumberFormat$NumberFormatShim;
-Landroid/icu/text/NumberFormat;->groupingUsed:Z
-Landroid/icu/text/NumberFormat;->maxFractionDigits:B
-Landroid/icu/text/NumberFormat;->maximumFractionDigits:I
-Landroid/icu/text/NumberFormat;->maximumIntegerDigits:I
-Landroid/icu/text/NumberFormat;->maxIntegerDigits:B
-Landroid/icu/text/NumberFormat;->minFractionDigits:B
-Landroid/icu/text/NumberFormat;->minimumFractionDigits:I
-Landroid/icu/text/NumberFormat;->minimumIntegerDigits:I
-Landroid/icu/text/NumberFormat;->minIntegerDigits:B
-Landroid/icu/text/NumberFormat;->parseIntegerOnly:Z
-Landroid/icu/text/NumberFormat;->parseStrict:Z
-Landroid/icu/text/NumberFormat;->registerFactory(Landroid/icu/text/NumberFormat$NumberFormatFactory;)Ljava/lang/Object;
-Landroid/icu/text/NumberFormat;->serialVersionOnStream:I
-Landroid/icu/text/NumberFormat;->shim:Landroid/icu/text/NumberFormat$NumberFormatShim;
-Landroid/icu/text/NumberFormat;->unregister(Ljava/lang/Object;)Z
-Landroid/icu/text/NumberingSystem$LocaleLookupData;
-Landroid/icu/text/NumberingSystem$LocaleLookupData;-><init>(Landroid/icu/util/ULocale;Ljava/lang/String;)V
-Landroid/icu/text/NumberingSystem$LocaleLookupData;->locale:Landroid/icu/util/ULocale;
-Landroid/icu/text/NumberingSystem$LocaleLookupData;->numbersKeyword:Ljava/lang/String;
-Landroid/icu/text/NumberingSystem;->algorithmic:Z
-Landroid/icu/text/NumberingSystem;->cachedLocaleData:Landroid/icu/impl/CacheBase;
-Landroid/icu/text/NumberingSystem;->cachedStringData:Landroid/icu/impl/CacheBase;
-Landroid/icu/text/NumberingSystem;->desc:Ljava/lang/String;
-Landroid/icu/text/NumberingSystem;->getInstance(Ljava/lang/String;IZLjava/lang/String;)Landroid/icu/text/NumberingSystem;
-Landroid/icu/text/NumberingSystem;->LATIN:Landroid/icu/text/NumberingSystem;
-Landroid/icu/text/NumberingSystem;->lookupInstanceByLocale(Landroid/icu/text/NumberingSystem$LocaleLookupData;)Landroid/icu/text/NumberingSystem;
-Landroid/icu/text/NumberingSystem;->lookupInstanceByName(Ljava/lang/String;)Landroid/icu/text/NumberingSystem;
-Landroid/icu/text/NumberingSystem;->name:Ljava/lang/String;
-Landroid/icu/text/NumberingSystem;->OTHER_NS_KEYWORDS:[Ljava/lang/String;
-Landroid/icu/text/NumberingSystem;->radix:I
-Landroid/icu/text/PluralFormat$PluralSelector;
-Landroid/icu/text/PluralFormat$PluralSelector;->select(Ljava/lang/Object;D)Ljava/lang/String;
-Landroid/icu/text/PluralFormat$PluralSelectorAdapter;
-Landroid/icu/text/PluralFormat$PluralSelectorAdapter;-><init>()V
-Landroid/icu/text/PluralFormat$PluralSelectorAdapter;->select(Ljava/lang/Object;D)Ljava/lang/String;
-Landroid/icu/text/PluralFormat;-><init>(Landroid/icu/util/ULocale;Landroid/icu/text/PluralRules$PluralType;Ljava/lang/String;Landroid/icu/text/NumberFormat;)V
-Landroid/icu/text/PluralFormat;->findSubMessage(Landroid/icu/text/MessagePattern;ILandroid/icu/text/PluralFormat$PluralSelector;Ljava/lang/Object;D)I
-Landroid/icu/text/PluralFormat;->format(Ljava/lang/Number;D)Ljava/lang/String;
-Landroid/icu/text/PluralFormat;->init(Landroid/icu/text/PluralRules;Landroid/icu/text/PluralRules$PluralType;Landroid/icu/util/ULocale;Landroid/icu/text/NumberFormat;)V
-Landroid/icu/text/PluralFormat;->msgPattern:Landroid/icu/text/MessagePattern;
-Landroid/icu/text/PluralFormat;->numberFormat:Landroid/icu/text/NumberFormat;
-Landroid/icu/text/PluralFormat;->offset:D
-Landroid/icu/text/PluralFormat;->parsedValues:Ljava/util/Map;
-Landroid/icu/text/PluralFormat;->parseType(Ljava/lang/String;Landroid/icu/text/RbnfLenientScanner;Ljava/text/FieldPosition;)Ljava/lang/String;
-Landroid/icu/text/PluralFormat;->pattern:Ljava/lang/String;
-Landroid/icu/text/PluralFormat;->pluralRules:Landroid/icu/text/PluralRules;
-Landroid/icu/text/PluralFormat;->pluralRulesWrapper:Landroid/icu/text/PluralFormat$PluralSelectorAdapter;
-Landroid/icu/text/PluralFormat;->resetPattern()V
-Landroid/icu/text/PluralFormat;->setLocale(Landroid/icu/util/ULocale;)V
-Landroid/icu/text/PluralFormat;->ulocale:Landroid/icu/util/ULocale;
-Landroid/icu/text/PluralRanges$Matrix;
-Landroid/icu/text/PluralRanges$Matrix;-><init>()V
-Landroid/icu/text/PluralRanges$Matrix;->compareTo(Landroid/icu/text/PluralRanges$Matrix;)I
-Landroid/icu/text/PluralRanges$Matrix;->data:[B
-Landroid/icu/text/PluralRanges$Matrix;->endSame(Landroid/icu/impl/StandardPlural;)Landroid/icu/impl/StandardPlural;
-Landroid/icu/text/PluralRanges$Matrix;->get(Landroid/icu/impl/StandardPlural;Landroid/icu/impl/StandardPlural;)Landroid/icu/impl/StandardPlural;
-Landroid/icu/text/PluralRanges$Matrix;->set(Landroid/icu/impl/StandardPlural;Landroid/icu/impl/StandardPlural;Landroid/icu/impl/StandardPlural;)V
-Landroid/icu/text/PluralRanges$Matrix;->setIfNew(Landroid/icu/impl/StandardPlural;Landroid/icu/impl/StandardPlural;Landroid/icu/impl/StandardPlural;)V
-Landroid/icu/text/PluralRanges$Matrix;->startSame(Landroid/icu/impl/StandardPlural;Ljava/util/EnumSet;Landroid/icu/util/Output;)Landroid/icu/impl/StandardPlural;
-Landroid/icu/text/PluralRanges;
-Landroid/icu/text/PluralRanges;-><init>()V
-Landroid/icu/text/PluralRanges;->add(Landroid/icu/impl/StandardPlural;Landroid/icu/impl/StandardPlural;Landroid/icu/impl/StandardPlural;)V
-Landroid/icu/text/PluralRanges;->compareTo(Landroid/icu/text/PluralRanges;)I
-Landroid/icu/text/PluralRanges;->explicit:[Z
-Landroid/icu/text/PluralRanges;->get(Landroid/icu/impl/StandardPlural;Landroid/icu/impl/StandardPlural;)Landroid/icu/impl/StandardPlural;
-Landroid/icu/text/PluralRanges;->isExplicit(Landroid/icu/impl/StandardPlural;Landroid/icu/impl/StandardPlural;)Z
-Landroid/icu/text/PluralRanges;->isExplicitlySet(Landroid/icu/impl/StandardPlural;)Z
-Landroid/icu/text/PluralRanges;->isFrozen:Z
-Landroid/icu/text/PluralRanges;->matrix:Landroid/icu/text/PluralRanges$Matrix;
-Landroid/icu/text/PluralRules$AndConstraint;
-Landroid/icu/text/PluralRules$AndConstraint;-><init>(Landroid/icu/text/PluralRules$Constraint;Landroid/icu/text/PluralRules$Constraint;)V
-Landroid/icu/text/PluralRules$AndConstraint;->isFulfilled(Landroid/icu/text/PluralRules$IFixedDecimal;)Z
-Landroid/icu/text/PluralRules$AndConstraint;->isLimited(Landroid/icu/text/PluralRules$SampleType;)Z
-Landroid/icu/text/PluralRules$BinaryConstraint;
-Landroid/icu/text/PluralRules$BinaryConstraint;-><init>(Landroid/icu/text/PluralRules$Constraint;Landroid/icu/text/PluralRules$Constraint;)V
-Landroid/icu/text/PluralRules$BinaryConstraint;->a:Landroid/icu/text/PluralRules$Constraint;
-Landroid/icu/text/PluralRules$BinaryConstraint;->b:Landroid/icu/text/PluralRules$Constraint;
-Landroid/icu/text/PluralRules$Constraint;
-Landroid/icu/text/PluralRules$Constraint;->isFulfilled(Landroid/icu/text/PluralRules$IFixedDecimal;)Z
-Landroid/icu/text/PluralRules$Constraint;->isLimited(Landroid/icu/text/PluralRules$SampleType;)Z
-Landroid/icu/text/PluralRules$Factory;
-Landroid/icu/text/PluralRules$Factory;-><init>()V
-Landroid/icu/text/PluralRules$Factory;->forLocale(Landroid/icu/util/ULocale;)Landroid/icu/text/PluralRules;
-Landroid/icu/text/PluralRules$Factory;->forLocale(Landroid/icu/util/ULocale;Landroid/icu/text/PluralRules$PluralType;)Landroid/icu/text/PluralRules;
-Landroid/icu/text/PluralRules$Factory;->getAvailableULocales()[Landroid/icu/util/ULocale;
-Landroid/icu/text/PluralRules$Factory;->getDefaultFactory()Landroid/icu/impl/PluralRulesLoader;
-Landroid/icu/text/PluralRules$Factory;->getFunctionalEquivalent(Landroid/icu/util/ULocale;[Z)Landroid/icu/util/ULocale;
-Landroid/icu/text/PluralRules$Factory;->hasOverride(Landroid/icu/util/ULocale;)Z
-Landroid/icu/text/PluralRules$FixedDecimal;
-Landroid/icu/text/PluralRules$FixedDecimal;-><init>(D)V
-Landroid/icu/text/PluralRules$FixedDecimal;-><init>(DI)V
-Landroid/icu/text/PluralRules$FixedDecimal;-><init>(DIJ)V
-Landroid/icu/text/PluralRules$FixedDecimal;-><init>(J)V
-Landroid/icu/text/PluralRules$FixedDecimal;-><init>(Ljava/lang/String;)V
-Landroid/icu/text/PluralRules$FixedDecimal;->baseFactor:I
-Landroid/icu/text/PluralRules$FixedDecimal;->compareTo(Landroid/icu/text/PluralRules$FixedDecimal;)I
-Landroid/icu/text/PluralRules$FixedDecimal;->decimalDigits:J
-Landroid/icu/text/PluralRules$FixedDecimal;->decimalDigitsWithoutTrailingZeros:J
-Landroid/icu/text/PluralRules$FixedDecimal;->decimals(D)I
-Landroid/icu/text/PluralRules$FixedDecimal;->getBaseFactor()I
-Landroid/icu/text/PluralRules$FixedDecimal;->getDecimalDigits()J
-Landroid/icu/text/PluralRules$FixedDecimal;->getDecimalDigitsWithoutTrailingZeros()J
-Landroid/icu/text/PluralRules$FixedDecimal;->getFractionalDigits(DI)I
-Landroid/icu/text/PluralRules$FixedDecimal;->getIntegerValue()J
-Landroid/icu/text/PluralRules$FixedDecimal;->getOperand(Ljava/lang/String;)Landroid/icu/text/PluralRules$Operand;
-Landroid/icu/text/PluralRules$FixedDecimal;->getPluralOperand(Landroid/icu/text/PluralRules$Operand;)D
-Landroid/icu/text/PluralRules$FixedDecimal;->getShiftedValue()J
-Landroid/icu/text/PluralRules$FixedDecimal;->getSource()D
-Landroid/icu/text/PluralRules$FixedDecimal;->getVisibleDecimalDigitCount()I
-Landroid/icu/text/PluralRules$FixedDecimal;->getVisibleDecimalDigitCountWithoutTrailingZeros()I
-Landroid/icu/text/PluralRules$FixedDecimal;->getVisibleFractionCount(Ljava/lang/String;)I
-Landroid/icu/text/PluralRules$FixedDecimal;->hasIntegerValue()Z
-Landroid/icu/text/PluralRules$FixedDecimal;->hasIntegerValue:Z
-Landroid/icu/text/PluralRules$FixedDecimal;->integerValue:J
-Landroid/icu/text/PluralRules$FixedDecimal;->isHasIntegerValue()Z
-Landroid/icu/text/PluralRules$FixedDecimal;->isInfinite()Z
-Landroid/icu/text/PluralRules$FixedDecimal;->isNaN()Z
-Landroid/icu/text/PluralRules$FixedDecimal;->isNegative()Z
-Landroid/icu/text/PluralRules$FixedDecimal;->isNegative:Z
-Landroid/icu/text/PluralRules$FixedDecimal;->MAX:J
-Landroid/icu/text/PluralRules$FixedDecimal;->MAX_INTEGER_PART:J
-Landroid/icu/text/PluralRules$FixedDecimal;->source:D
-Landroid/icu/text/PluralRules$FixedDecimal;->visibleDecimalDigitCount:I
-Landroid/icu/text/PluralRules$FixedDecimal;->visibleDecimalDigitCountWithoutTrailingZeros:I
-Landroid/icu/text/PluralRules$FixedDecimalRange;
-Landroid/icu/text/PluralRules$FixedDecimalRange;-><init>(Landroid/icu/text/PluralRules$FixedDecimal;Landroid/icu/text/PluralRules$FixedDecimal;)V
-Landroid/icu/text/PluralRules$FixedDecimalRange;->end:Landroid/icu/text/PluralRules$FixedDecimal;
-Landroid/icu/text/PluralRules$FixedDecimalRange;->start:Landroid/icu/text/PluralRules$FixedDecimal;
-Landroid/icu/text/PluralRules$FixedDecimalSamples;
-Landroid/icu/text/PluralRules$FixedDecimalSamples;-><init>(Landroid/icu/text/PluralRules$SampleType;Ljava/util/Set;Z)V
-Landroid/icu/text/PluralRules$FixedDecimalSamples;->addSamples(Ljava/util/Set;)Ljava/util/Set;
-Landroid/icu/text/PluralRules$FixedDecimalSamples;->bounded:Z
-Landroid/icu/text/PluralRules$FixedDecimalSamples;->checkDecimal(Landroid/icu/text/PluralRules$SampleType;Landroid/icu/text/PluralRules$FixedDecimal;)V
-Landroid/icu/text/PluralRules$FixedDecimalSamples;->getSamples()Ljava/util/Set;
-Landroid/icu/text/PluralRules$FixedDecimalSamples;->getStartEndSamples(Ljava/util/Set;)V
-Landroid/icu/text/PluralRules$FixedDecimalSamples;->parse(Ljava/lang/String;)Landroid/icu/text/PluralRules$FixedDecimalSamples;
-Landroid/icu/text/PluralRules$FixedDecimalSamples;->samples:Ljava/util/Set;
-Landroid/icu/text/PluralRules$FixedDecimalSamples;->sampleType:Landroid/icu/text/PluralRules$SampleType;
-Landroid/icu/text/PluralRules$IFixedDecimal;
-Landroid/icu/text/PluralRules$IFixedDecimal;->getPluralOperand(Landroid/icu/text/PluralRules$Operand;)D
-Landroid/icu/text/PluralRules$IFixedDecimal;->isInfinite()Z
-Landroid/icu/text/PluralRules$IFixedDecimal;->isNaN()Z
-Landroid/icu/text/PluralRules$KeywordStatus;
-Landroid/icu/text/PluralRules$KeywordStatus;-><init>()V
-Landroid/icu/text/PluralRules$KeywordStatus;->BOUNDED:Landroid/icu/text/PluralRules$KeywordStatus;
-Landroid/icu/text/PluralRules$KeywordStatus;->INVALID:Landroid/icu/text/PluralRules$KeywordStatus;
-Landroid/icu/text/PluralRules$KeywordStatus;->SUPPRESSED:Landroid/icu/text/PluralRules$KeywordStatus;
-Landroid/icu/text/PluralRules$KeywordStatus;->UNBOUNDED:Landroid/icu/text/PluralRules$KeywordStatus;
-Landroid/icu/text/PluralRules$KeywordStatus;->UNIQUE:Landroid/icu/text/PluralRules$KeywordStatus;
-Landroid/icu/text/PluralRules$KeywordStatus;->valueOf(Ljava/lang/String;)Landroid/icu/text/PluralRules$KeywordStatus;
-Landroid/icu/text/PluralRules$KeywordStatus;->values()[Landroid/icu/text/PluralRules$KeywordStatus;
-Landroid/icu/text/PluralRules$Operand;
-Landroid/icu/text/PluralRules$Operand;-><init>()V
-Landroid/icu/text/PluralRules$Operand;->f:Landroid/icu/text/PluralRules$Operand;
-Landroid/icu/text/PluralRules$Operand;->i:Landroid/icu/text/PluralRules$Operand;
-Landroid/icu/text/PluralRules$Operand;->j:Landroid/icu/text/PluralRules$Operand;
-Landroid/icu/text/PluralRules$Operand;->n:Landroid/icu/text/PluralRules$Operand;
-Landroid/icu/text/PluralRules$Operand;->t:Landroid/icu/text/PluralRules$Operand;
-Landroid/icu/text/PluralRules$Operand;->v:Landroid/icu/text/PluralRules$Operand;
-Landroid/icu/text/PluralRules$Operand;->valueOf(Ljava/lang/String;)Landroid/icu/text/PluralRules$Operand;
-Landroid/icu/text/PluralRules$Operand;->values()[Landroid/icu/text/PluralRules$Operand;
-Landroid/icu/text/PluralRules$Operand;->w:Landroid/icu/text/PluralRules$Operand;
-Landroid/icu/text/PluralRules$OrConstraint;
-Landroid/icu/text/PluralRules$OrConstraint;-><init>(Landroid/icu/text/PluralRules$Constraint;Landroid/icu/text/PluralRules$Constraint;)V
-Landroid/icu/text/PluralRules$OrConstraint;->isFulfilled(Landroid/icu/text/PluralRules$IFixedDecimal;)Z
-Landroid/icu/text/PluralRules$OrConstraint;->isLimited(Landroid/icu/text/PluralRules$SampleType;)Z
-Landroid/icu/text/PluralRules$PluralType;-><init>()V
-Landroid/icu/text/PluralRules$RangeConstraint;
-Landroid/icu/text/PluralRules$RangeConstraint;-><init>(IZLandroid/icu/text/PluralRules$Operand;ZDD[J)V
-Landroid/icu/text/PluralRules$RangeConstraint;->inRange:Z
-Landroid/icu/text/PluralRules$RangeConstraint;->integersOnly:Z
-Landroid/icu/text/PluralRules$RangeConstraint;->isFulfilled(Landroid/icu/text/PluralRules$IFixedDecimal;)Z
-Landroid/icu/text/PluralRules$RangeConstraint;->isLimited(Landroid/icu/text/PluralRules$SampleType;)Z
-Landroid/icu/text/PluralRules$RangeConstraint;->lowerBound:D
-Landroid/icu/text/PluralRules$RangeConstraint;->mod:I
-Landroid/icu/text/PluralRules$RangeConstraint;->operand:Landroid/icu/text/PluralRules$Operand;
-Landroid/icu/text/PluralRules$RangeConstraint;->range_list:[J
-Landroid/icu/text/PluralRules$RangeConstraint;->upperBound:D
-Landroid/icu/text/PluralRules$Rule;
-Landroid/icu/text/PluralRules$Rule;-><init>(Ljava/lang/String;Landroid/icu/text/PluralRules$Constraint;Landroid/icu/text/PluralRules$FixedDecimalSamples;Landroid/icu/text/PluralRules$FixedDecimalSamples;)V
-Landroid/icu/text/PluralRules$Rule;->and(Landroid/icu/text/PluralRules$Constraint;)Landroid/icu/text/PluralRules$Rule;
-Landroid/icu/text/PluralRules$Rule;->appliesTo(Landroid/icu/text/PluralRules$IFixedDecimal;)Z
-Landroid/icu/text/PluralRules$Rule;->constraint:Landroid/icu/text/PluralRules$Constraint;
-Landroid/icu/text/PluralRules$Rule;->decimalSamples:Landroid/icu/text/PluralRules$FixedDecimalSamples;
-Landroid/icu/text/PluralRules$Rule;->getConstraint()Ljava/lang/String;
-Landroid/icu/text/PluralRules$Rule;->getKeyword()Ljava/lang/String;
-Landroid/icu/text/PluralRules$Rule;->integerSamples:Landroid/icu/text/PluralRules$FixedDecimalSamples;
-Landroid/icu/text/PluralRules$Rule;->isLimited(Landroid/icu/text/PluralRules$SampleType;)Z
-Landroid/icu/text/PluralRules$Rule;->keyword:Ljava/lang/String;
-Landroid/icu/text/PluralRules$Rule;->or(Landroid/icu/text/PluralRules$Constraint;)Landroid/icu/text/PluralRules$Rule;
-Landroid/icu/text/PluralRules$RuleList;
-Landroid/icu/text/PluralRules$RuleList;-><init>()V
-Landroid/icu/text/PluralRules$RuleList;->addRule(Landroid/icu/text/PluralRules$Rule;)Landroid/icu/text/PluralRules$RuleList;
-Landroid/icu/text/PluralRules$RuleList;->computeLimited(Ljava/lang/String;Landroid/icu/text/PluralRules$SampleType;)Z
-Landroid/icu/text/PluralRules$RuleList;->finish()Landroid/icu/text/PluralRules$RuleList;
-Landroid/icu/text/PluralRules$RuleList;->getDecimalSamples(Ljava/lang/String;Landroid/icu/text/PluralRules$SampleType;)Landroid/icu/text/PluralRules$FixedDecimalSamples;
-Landroid/icu/text/PluralRules$RuleList;->getKeywords()Ljava/util/Set;
-Landroid/icu/text/PluralRules$RuleList;->getRules(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/PluralRules$RuleList;->hasExplicitBoundingInfo:Z
-Landroid/icu/text/PluralRules$RuleList;->isLimited(Ljava/lang/String;Landroid/icu/text/PluralRules$SampleType;)Z
-Landroid/icu/text/PluralRules$RuleList;->rules:Ljava/util/List;
-Landroid/icu/text/PluralRules$RuleList;->select(Landroid/icu/text/PluralRules$IFixedDecimal;)Ljava/lang/String;
-Landroid/icu/text/PluralRules$RuleList;->select(Landroid/icu/text/PluralRules$IFixedDecimal;Ljava/lang/String;)Z
-Landroid/icu/text/PluralRules$RuleList;->selectRule(Landroid/icu/text/PluralRules$IFixedDecimal;)Landroid/icu/text/PluralRules$Rule;
-Landroid/icu/text/PluralRules$SampleType;
-Landroid/icu/text/PluralRules$SampleType;-><init>()V
-Landroid/icu/text/PluralRules$SampleType;->DECIMAL:Landroid/icu/text/PluralRules$SampleType;
-Landroid/icu/text/PluralRules$SampleType;->INTEGER:Landroid/icu/text/PluralRules$SampleType;
-Landroid/icu/text/PluralRules$SampleType;->valueOf(Ljava/lang/String;)Landroid/icu/text/PluralRules$SampleType;
-Landroid/icu/text/PluralRules$SampleType;->values()[Landroid/icu/text/PluralRules$SampleType;
-Landroid/icu/text/PluralRules$SimpleTokenizer;
-Landroid/icu/text/PluralRules$SimpleTokenizer;-><init>()V
-Landroid/icu/text/PluralRules$SimpleTokenizer;->BREAK_AND_IGNORE:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/PluralRules$SimpleTokenizer;->BREAK_AND_KEEP:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/PluralRules$SimpleTokenizer;->split(Ljava/lang/String;)[Ljava/lang/String;
-Landroid/icu/text/PluralRules;-><init>(Landroid/icu/text/PluralRules$RuleList;)V
-Landroid/icu/text/PluralRules;->addConditional(Ljava/util/Set;Ljava/util/Set;D)Z
-Landroid/icu/text/PluralRules;->addRange(Ljava/lang/StringBuilder;DDZ)V
-Landroid/icu/text/PluralRules;->addSample(Ljava/lang/String;Ljava/lang/Number;ILjava/util/Set;)Z
-Landroid/icu/text/PluralRules;->ALLOWED_ID:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/PluralRules;->AND_SEPARATED:Ljava/util/regex/Pattern;
-Landroid/icu/text/PluralRules;->AT_SEPARATED:Ljava/util/regex/Pattern;
-Landroid/icu/text/PluralRules;->CATEGORY_SEPARATOR:Ljava/lang/String;
-Landroid/icu/text/PluralRules;->COMMA_SEPARATED:Ljava/util/regex/Pattern;
-Landroid/icu/text/PluralRules;->compareTo(Landroid/icu/text/PluralRules;)I
-Landroid/icu/text/PluralRules;->computeLimited(Ljava/lang/String;Landroid/icu/text/PluralRules$SampleType;)Z
-Landroid/icu/text/PluralRules;->DEFAULT_RULE:Landroid/icu/text/PluralRules$Rule;
-Landroid/icu/text/PluralRules;->DOTDOT_SEPARATED:Ljava/util/regex/Pattern;
-Landroid/icu/text/PluralRules;->format(D)Ljava/lang/String;
-Landroid/icu/text/PluralRules;->getAllKeywordValues(Ljava/lang/String;Landroid/icu/text/PluralRules$SampleType;)Ljava/util/Collection;
-Landroid/icu/text/PluralRules;->getAvailableULocales()[Landroid/icu/util/ULocale;
-Landroid/icu/text/PluralRules;->getDecimalSamples(Ljava/lang/String;Landroid/icu/text/PluralRules$SampleType;)Landroid/icu/text/PluralRules$FixedDecimalSamples;
-Landroid/icu/text/PluralRules;->getFunctionalEquivalent(Landroid/icu/util/ULocale;[Z)Landroid/icu/util/ULocale;
-Landroid/icu/text/PluralRules;->getKeywordStatus(Ljava/lang/String;ILjava/util/Set;Landroid/icu/util/Output;)Landroid/icu/text/PluralRules$KeywordStatus;
-Landroid/icu/text/PluralRules;->getKeywordStatus(Ljava/lang/String;ILjava/util/Set;Landroid/icu/util/Output;Landroid/icu/text/PluralRules$SampleType;)Landroid/icu/text/PluralRules$KeywordStatus;
-Landroid/icu/text/PluralRules;->getRules(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/PluralRules;->getSamples(Ljava/lang/String;Landroid/icu/text/PluralRules$SampleType;)Ljava/util/Collection;
-Landroid/icu/text/PluralRules;->isLimited(Ljava/lang/String;)Ljava/lang/Boolean;
-Landroid/icu/text/PluralRules;->isLimited(Ljava/lang/String;Landroid/icu/text/PluralRules$SampleType;)Z
-Landroid/icu/text/PluralRules;->isValidKeyword(Ljava/lang/String;)Z
-Landroid/icu/text/PluralRules;->keywords:Ljava/util/Set;
-Landroid/icu/text/PluralRules;->KEYWORD_RULE_SEPARATOR:Ljava/lang/String;
-Landroid/icu/text/PluralRules;->matches(Landroid/icu/text/PluralRules$FixedDecimal;Ljava/lang/String;)Z
-Landroid/icu/text/PluralRules;->nextToken([Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/PluralRules;->NO_CONSTRAINT:Landroid/icu/text/PluralRules$Constraint;
-Landroid/icu/text/PluralRules;->OR_SEPARATED:Ljava/util/regex/Pattern;
-Landroid/icu/text/PluralRules;->parseConstraint(Ljava/lang/String;)Landroid/icu/text/PluralRules$Constraint;
-Landroid/icu/text/PluralRules;->parseRule(Ljava/lang/String;)Landroid/icu/text/PluralRules$Rule;
-Landroid/icu/text/PluralRules;->parseRuleChain(Ljava/lang/String;)Landroid/icu/text/PluralRules$RuleList;
-Landroid/icu/text/PluralRules;->rules:Landroid/icu/text/PluralRules$RuleList;
-Landroid/icu/text/PluralRules;->select(DIJ)Ljava/lang/String;
-Landroid/icu/text/PluralRules;->select(Landroid/icu/text/PluralRules$IFixedDecimal;)Ljava/lang/String;
-Landroid/icu/text/PluralRules;->SEMI_SEPARATED:Ljava/util/regex/Pattern;
-Landroid/icu/text/PluralRules;->TILDE_SEPARATED:Ljava/util/regex/Pattern;
-Landroid/icu/text/PluralRules;->unexpected(Ljava/lang/String;Ljava/lang/String;)Ljava/text/ParseException;
-Landroid/icu/text/PluralSamples;
-Landroid/icu/text/PluralSamples;-><init>(Landroid/icu/text/PluralRules;)V
-Landroid/icu/text/PluralSamples;->addIfNotPresent(DLjava/util/Set;Ljava/util/Map;)Z
-Landroid/icu/text/PluralSamples;->addRelation(Ljava/util/Map;Ljava/lang/String;Landroid/icu/text/PluralRules$FixedDecimal;)V
-Landroid/icu/text/PluralSamples;->addSimpleSamples(Landroid/icu/text/PluralRules;ILjava/util/Map;ID)I
-Landroid/icu/text/PluralSamples;->fractions(Ljava/util/Set;)Ljava/util/Set;
-Landroid/icu/text/PluralSamples;->getAllKeywordValues(Ljava/lang/String;)Ljava/util/Collection;
-Landroid/icu/text/PluralSamples;->getDifferentCategory(Ljava/util/List;Ljava/lang/String;)Ljava/lang/Integer;
-Landroid/icu/text/PluralSamples;->getFractionSamples()Ljava/util/Set;
-Landroid/icu/text/PluralSamples;->getKeyFractionSamplesMap()Ljava/util/Map;
-Landroid/icu/text/PluralSamples;->getKeySamplesMap()Ljava/util/Map;
-Landroid/icu/text/PluralSamples;->getStatus(Ljava/lang/String;ILjava/util/Set;Landroid/icu/util/Output;)Landroid/icu/text/PluralRules$KeywordStatus;
-Landroid/icu/text/PluralSamples;->LIMIT_FRACTION_SAMPLES:I
-Landroid/icu/text/PluralSamples;->pluralRules:Landroid/icu/text/PluralRules;
-Landroid/icu/text/PluralSamples;->TENS:[I
-Landroid/icu/text/PluralSamples;->_fractionSamples:Ljava/util/Set;
-Landroid/icu/text/PluralSamples;->_keyFractionSamplesMap:Ljava/util/Map;
-Landroid/icu/text/PluralSamples;->_keyLimitedMap:Ljava/util/Map;
-Landroid/icu/text/PluralSamples;->_keySamplesMap:Ljava/util/Map;
-Landroid/icu/text/RawCollationKey;
-Landroid/icu/text/RawCollationKey;-><init>()V
-Landroid/icu/text/RawCollationKey;-><init>(I)V
-Landroid/icu/text/RawCollationKey;-><init>([B)V
-Landroid/icu/text/RawCollationKey;-><init>([BI)V
-Landroid/icu/text/RawCollationKey;->compareTo(Landroid/icu/text/RawCollationKey;)I
-Landroid/icu/text/RBBIDataWrapper$IsAcceptable;
-Landroid/icu/text/RBBIDataWrapper$IsAcceptable;-><init>()V
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;-><init>()V
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;->fCatCount:I
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;->fFormatVersion:[B
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;->fFTable:I
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;->fFTableLen:I
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;->fLength:I
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;->fMagic:I
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;->fRTable:I
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;->fRTableLen:I
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;->fRuleSource:I
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;->fRuleSourceLen:I
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;->fSFTable:I
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;->fSFTableLen:I
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;->fSRTable:I
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;->fSRTableLen:I
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;->fStatusTable:I
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;->fStatusTableLen:I
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;->fTrie:I
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;->fTrieLen:I
-Landroid/icu/text/RBBIDataWrapper;
-Landroid/icu/text/RBBIDataWrapper;-><init>()V
-Landroid/icu/text/RBBIDataWrapper;->ACCEPTING:I
-Landroid/icu/text/RBBIDataWrapper;->DATA_FORMAT:I
-Landroid/icu/text/RBBIDataWrapper;->DH_CATCOUNT:I
-Landroid/icu/text/RBBIDataWrapper;->DH_FORMATVERSION:I
-Landroid/icu/text/RBBIDataWrapper;->DH_FTABLE:I
-Landroid/icu/text/RBBIDataWrapper;->DH_FTABLELEN:I
-Landroid/icu/text/RBBIDataWrapper;->DH_LENGTH:I
-Landroid/icu/text/RBBIDataWrapper;->DH_MAGIC:I
-Landroid/icu/text/RBBIDataWrapper;->DH_RTABLE:I
-Landroid/icu/text/RBBIDataWrapper;->DH_RTABLELEN:I
-Landroid/icu/text/RBBIDataWrapper;->DH_RULESOURCE:I
-Landroid/icu/text/RBBIDataWrapper;->DH_RULESOURCELEN:I
-Landroid/icu/text/RBBIDataWrapper;->DH_SFTABLE:I
-Landroid/icu/text/RBBIDataWrapper;->DH_SFTABLELEN:I
-Landroid/icu/text/RBBIDataWrapper;->DH_SIZE:I
-Landroid/icu/text/RBBIDataWrapper;->DH_SRTABLE:I
-Landroid/icu/text/RBBIDataWrapper;->DH_SRTABLELEN:I
-Landroid/icu/text/RBBIDataWrapper;->DH_STATUSTABLE:I
-Landroid/icu/text/RBBIDataWrapper;->DH_STATUSTABLELEN:I
-Landroid/icu/text/RBBIDataWrapper;->DH_TRIE:I
-Landroid/icu/text/RBBIDataWrapper;->DH_TRIELEN:I
-Landroid/icu/text/RBBIDataWrapper;->dump(Ljava/io/PrintStream;)V
-Landroid/icu/text/RBBIDataWrapper;->dumpCharCategories(Ljava/io/PrintStream;)V
-Landroid/icu/text/RBBIDataWrapper;->dumpRow(Ljava/io/PrintStream;[SI)V
-Landroid/icu/text/RBBIDataWrapper;->dumpTable(Ljava/io/PrintStream;[S)V
-Landroid/icu/text/RBBIDataWrapper;->fFTable:[S
-Landroid/icu/text/RBBIDataWrapper;->fHeader:Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;
-Landroid/icu/text/RBBIDataWrapper;->FLAGS:I
-Landroid/icu/text/RBBIDataWrapper;->FORMAT_VERSION:I
-Landroid/icu/text/RBBIDataWrapper;->fRTable:[S
-Landroid/icu/text/RBBIDataWrapper;->fRuleSource:Ljava/lang/String;
-Landroid/icu/text/RBBIDataWrapper;->fSFTable:[S
-Landroid/icu/text/RBBIDataWrapper;->fSRTable:[S
-Landroid/icu/text/RBBIDataWrapper;->fStatusTable:[I
-Landroid/icu/text/RBBIDataWrapper;->fTrie:Landroid/icu/impl/Trie2;
-Landroid/icu/text/RBBIDataWrapper;->get(Ljava/nio/ByteBuffer;)Landroid/icu/text/RBBIDataWrapper;
-Landroid/icu/text/RBBIDataWrapper;->getRowIndex(I)I
-Landroid/icu/text/RBBIDataWrapper;->getStateTableFlags([S)I
-Landroid/icu/text/RBBIDataWrapper;->getStateTableNumStates([S)I
-Landroid/icu/text/RBBIDataWrapper;->intToHexString(II)Ljava/lang/String;
-Landroid/icu/text/RBBIDataWrapper;->intToString(II)Ljava/lang/String;
-Landroid/icu/text/RBBIDataWrapper;->isBigEndian:Z
-Landroid/icu/text/RBBIDataWrapper;->IS_ACCEPTABLE:Landroid/icu/text/RBBIDataWrapper$IsAcceptable;
-Landroid/icu/text/RBBIDataWrapper;->LOOKAHEAD:I
-Landroid/icu/text/RBBIDataWrapper;->NEXTSTATES:I
-Landroid/icu/text/RBBIDataWrapper;->NUMSTATES:I
-Landroid/icu/text/RBBIDataWrapper;->RBBI_BOF_REQUIRED:I
-Landroid/icu/text/RBBIDataWrapper;->RBBI_LOOKAHEAD_HARD_BREAK:I
-Landroid/icu/text/RBBIDataWrapper;->RESERVED:I
-Landroid/icu/text/RBBIDataWrapper;->ROWLEN:I
-Landroid/icu/text/RBBIDataWrapper;->ROW_DATA:I
-Landroid/icu/text/RBBIDataWrapper;->TAGIDX:I
-Landroid/icu/text/RbnfLenientScanner;
-Landroid/icu/text/RbnfLenientScanner;->allIgnorable(Ljava/lang/String;)Z
-Landroid/icu/text/RbnfLenientScanner;->findText(Ljava/lang/String;Ljava/lang/String;I)[I
-Landroid/icu/text/RbnfLenientScanner;->prefixLength(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/icu/text/RbnfLenientScannerProvider;
-Landroid/icu/text/RbnfLenientScannerProvider;->get(Landroid/icu/util/ULocale;Ljava/lang/String;)Landroid/icu/text/RbnfLenientScanner;
-Landroid/icu/text/RBNFPostProcessor;
-Landroid/icu/text/RBNFPostProcessor;->init(Landroid/icu/text/RuleBasedNumberFormat;Ljava/lang/String;)V
-Landroid/icu/text/RBNFPostProcessor;->process(Ljava/lang/StringBuilder;Landroid/icu/text/NFRuleSet;)V
-Landroid/icu/text/RelativeDateTimeFormatter$AbsoluteUnit;-><init>()V
-Landroid/icu/text/RelativeDateTimeFormatter$AbsoluteUnit;->QUARTER:Landroid/icu/text/RelativeDateTimeFormatter$AbsoluteUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$Cache;
-Landroid/icu/text/RelativeDateTimeFormatter$Cache;-><init>()V
-Landroid/icu/text/RelativeDateTimeFormatter$Cache;->cache:Landroid/icu/impl/CacheBase;
-Landroid/icu/text/RelativeDateTimeFormatter$Cache;->get(Landroid/icu/util/ULocale;)Landroid/icu/text/RelativeDateTimeFormatter$RelativeDateTimeFormatterData;
-Landroid/icu/text/RelativeDateTimeFormatter$Direction;-><init>()V
-Landroid/icu/text/RelativeDateTimeFormatter$Loader;
-Landroid/icu/text/RelativeDateTimeFormatter$Loader;-><init>(Landroid/icu/util/ULocale;)V
-Landroid/icu/text/RelativeDateTimeFormatter$Loader;->getDateTimePattern(Landroid/icu/impl/ICUResourceBundle;)Ljava/lang/String;
-Landroid/icu/text/RelativeDateTimeFormatter$Loader;->load()Landroid/icu/text/RelativeDateTimeFormatter$RelativeDateTimeFormatterData;
-Landroid/icu/text/RelativeDateTimeFormatter$Loader;->ulocale:Landroid/icu/util/ULocale;
-Landroid/icu/text/RelativeDateTimeFormatter$RelativeDateTimeFormatterData;
-Landroid/icu/text/RelativeDateTimeFormatter$RelativeDateTimeFormatterData;-><init>(Ljava/util/EnumMap;Ljava/util/EnumMap;Ljava/lang/String;)V
-Landroid/icu/text/RelativeDateTimeFormatter$RelativeDateTimeFormatterData;->dateTimePattern:Ljava/lang/String;
-Landroid/icu/text/RelativeDateTimeFormatter$RelativeDateTimeFormatterData;->qualitativeUnitMap:Ljava/util/EnumMap;
-Landroid/icu/text/RelativeDateTimeFormatter$RelativeDateTimeFormatterData;->relUnitPatternMap:Ljava/util/EnumMap;
-Landroid/icu/text/RelativeDateTimeFormatter$RelativeDateTimeUnit;-><init>()V
-Landroid/icu/text/RelativeDateTimeFormatter$RelativeUnit;-><init>()V
-Landroid/icu/text/RelativeDateTimeFormatter$RelativeUnit;->QUARTERS:Landroid/icu/text/RelativeDateTimeFormatter$RelativeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;-><init>(Landroid/icu/text/RelativeDateTimeFormatter$RelativeUnit;Landroid/icu/text/RelativeDateTimeFormatter$AbsoluteUnit;)V
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;->absUnit:Landroid/icu/text/RelativeDateTimeFormatter$AbsoluteUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;->DAY:Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;->FRIDAY:Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;->HOUR:Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;->MINUTE:Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;->MONDAY:Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;->MONTH:Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;->orNullFromString(Ljava/lang/CharSequence;)Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;->QUARTER:Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;->relUnit:Landroid/icu/text/RelativeDateTimeFormatter$RelativeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;->SATURDAY:Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;->SECOND:Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;->SUNDAY:Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;->THURSDAY:Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;->TUESDAY:Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;->valueOf(Ljava/lang/String;)Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;->values()[Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;->WEDNESDAY:Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;->WEEK:Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;->YEAR:Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;-><init>()V
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->consumeTableRelative(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->consumeTableRelativeTime(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->consumeTimeDetail(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->consumeTimeUnit(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->handleAlias(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->handlePlainDirection(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->pastFutureIndex:I
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->qualitativeUnitMap:Ljava/util/EnumMap;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->sb:Ljava/lang/StringBuilder;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->style:Landroid/icu/text/RelativeDateTimeFormatter$Style;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->styleFromAlias(Landroid/icu/impl/UResource$Value;)Landroid/icu/text/RelativeDateTimeFormatter$Style;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->styleFromKey(Landroid/icu/impl/UResource$Key;)Landroid/icu/text/RelativeDateTimeFormatter$Style;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->styleRelUnitPatterns:Ljava/util/EnumMap;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->styleSuffixLength(Landroid/icu/text/RelativeDateTimeFormatter$Style;)I
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->unit:Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink$DateTimeUnit;
-Landroid/icu/text/RelativeDateTimeFormatter$Style;-><init>()V
-Landroid/icu/text/RelativeDateTimeFormatter$Style;->INDEX_COUNT:I
-Landroid/icu/text/RelativeDateTimeFormatter;-><init>(Ljava/util/EnumMap;Ljava/util/EnumMap;Ljava/lang/String;Landroid/icu/text/PluralRules;Landroid/icu/text/NumberFormat;Landroid/icu/text/RelativeDateTimeFormatter$Style;Landroid/icu/text/DisplayContext;Landroid/icu/text/BreakIterator;Landroid/icu/util/ULocale;)V
-Landroid/icu/text/RelativeDateTimeFormatter;->adjustForContext(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/RelativeDateTimeFormatter;->breakIterator:Landroid/icu/text/BreakIterator;
-Landroid/icu/text/RelativeDateTimeFormatter;->cache:Landroid/icu/text/RelativeDateTimeFormatter$Cache;
-Landroid/icu/text/RelativeDateTimeFormatter;->capitalizationContext:Landroid/icu/text/DisplayContext;
-Landroid/icu/text/RelativeDateTimeFormatter;->combinedDateAndTime:Ljava/lang/String;
-Landroid/icu/text/RelativeDateTimeFormatter;->dateFormatSymbols:Landroid/icu/text/DateFormatSymbols;
-Landroid/icu/text/RelativeDateTimeFormatter;->fallbackCache:[Landroid/icu/text/RelativeDateTimeFormatter$Style;
-Landroid/icu/text/RelativeDateTimeFormatter;->getAbsoluteUnitString(Landroid/icu/text/RelativeDateTimeFormatter$Style;Landroid/icu/text/RelativeDateTimeFormatter$AbsoluteUnit;Landroid/icu/text/RelativeDateTimeFormatter$Direction;)Ljava/lang/String;
-Landroid/icu/text/RelativeDateTimeFormatter;->getRelativeUnitPattern(Landroid/icu/text/RelativeDateTimeFormatter$Style;Landroid/icu/text/RelativeDateTimeFormatter$RelativeUnit;ILandroid/icu/impl/StandardPlural;)Ljava/lang/String;
-Landroid/icu/text/RelativeDateTimeFormatter;->getRelativeUnitPluralPattern(Landroid/icu/text/RelativeDateTimeFormatter$Style;Landroid/icu/text/RelativeDateTimeFormatter$RelativeUnit;ILandroid/icu/impl/StandardPlural;)Ljava/lang/String;
-Landroid/icu/text/RelativeDateTimeFormatter;->keyToDirection(Landroid/icu/impl/UResource$Key;)Landroid/icu/text/RelativeDateTimeFormatter$Direction;
-Landroid/icu/text/RelativeDateTimeFormatter;->locale:Landroid/icu/util/ULocale;
-Landroid/icu/text/RelativeDateTimeFormatter;->numberFormat:Landroid/icu/text/NumberFormat;
-Landroid/icu/text/RelativeDateTimeFormatter;->patternMap:Ljava/util/EnumMap;
-Landroid/icu/text/RelativeDateTimeFormatter;->pluralRules:Landroid/icu/text/PluralRules;
-Landroid/icu/text/RelativeDateTimeFormatter;->qualitativeUnitMap:Ljava/util/EnumMap;
-Landroid/icu/text/RelativeDateTimeFormatter;->style:Landroid/icu/text/RelativeDateTimeFormatter$Style;
-Landroid/icu/text/RelativeDateTimeFormatter;->styleToDateFormatSymbolsWidth:[I
-Landroid/icu/text/ReplaceableString;
-Landroid/icu/text/ReplaceableString;-><init>()V
-Landroid/icu/text/ReplaceableString;-><init>(Ljava/lang/String;)V
-Landroid/icu/text/ReplaceableString;-><init>(Ljava/lang/StringBuffer;)V
-Landroid/icu/text/ReplaceableString;->buf:Ljava/lang/StringBuffer;
-Landroid/icu/text/ReplaceableString;->substring(II)Ljava/lang/String;
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;-><init>()V
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;-><init>(Landroid/icu/text/RuleBasedBreakIterator$BreakCache;)V
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->addFollowing(IIZ)V
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->addPreceding(IIZ)Z
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->CACHE_SIZE:I
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->current()I
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->dumpCache()V
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->fBoundaries:[I
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->fBufIdx:I
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->fEndBufIdx:I
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->following(I)V
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->fSideBuffer:Landroid/icu/text/DictionaryBreakEngine$DequeI;
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->fStartBufIdx:I
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->fStatuses:[S
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->fTextIdx:I
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->modChunkSize(I)I
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->next()V
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->populateFollowing()Z
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->populateNear(I)Z
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->populatePreceding()Z
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->preceding(I)V
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->previous()V
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->reset()V
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->reset(II)V
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->RetainCachePosition:Z
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->seek(I)Z
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;->UpdateCachePosition:Z
-Landroid/icu/text/RuleBasedBreakIterator$DictionaryCache;
-Landroid/icu/text/RuleBasedBreakIterator$DictionaryCache;-><init>()V
-Landroid/icu/text/RuleBasedBreakIterator$DictionaryCache;-><init>(Landroid/icu/text/RuleBasedBreakIterator$DictionaryCache;)V
-Landroid/icu/text/RuleBasedBreakIterator$DictionaryCache;->fBoundary:I
-Landroid/icu/text/RuleBasedBreakIterator$DictionaryCache;->fBreaks:Landroid/icu/text/DictionaryBreakEngine$DequeI;
-Landroid/icu/text/RuleBasedBreakIterator$DictionaryCache;->fFirstRuleStatusIndex:I
-Landroid/icu/text/RuleBasedBreakIterator$DictionaryCache;->fLimit:I
-Landroid/icu/text/RuleBasedBreakIterator$DictionaryCache;->following(I)Z
-Landroid/icu/text/RuleBasedBreakIterator$DictionaryCache;->fOtherRuleStatusIndex:I
-Landroid/icu/text/RuleBasedBreakIterator$DictionaryCache;->fPositionInCache:I
-Landroid/icu/text/RuleBasedBreakIterator$DictionaryCache;->fStart:I
-Landroid/icu/text/RuleBasedBreakIterator$DictionaryCache;->fStatusIndex:I
-Landroid/icu/text/RuleBasedBreakIterator$DictionaryCache;->populateDictionary(IIII)V
-Landroid/icu/text/RuleBasedBreakIterator$DictionaryCache;->preceding(I)Z
-Landroid/icu/text/RuleBasedBreakIterator$DictionaryCache;->reset()V
-Landroid/icu/text/RuleBasedBreakIterator$LookAheadResults;
-Landroid/icu/text/RuleBasedBreakIterator$LookAheadResults;-><init>()V
-Landroid/icu/text/RuleBasedBreakIterator$LookAheadResults;->fKeys:[I
-Landroid/icu/text/RuleBasedBreakIterator$LookAheadResults;->fPositions:[I
-Landroid/icu/text/RuleBasedBreakIterator$LookAheadResults;->fUsedSlotLimit:I
-Landroid/icu/text/RuleBasedBreakIterator$LookAheadResults;->getPosition(I)I
-Landroid/icu/text/RuleBasedBreakIterator$LookAheadResults;->reset()V
-Landroid/icu/text/RuleBasedBreakIterator$LookAheadResults;->setPosition(II)V
-Landroid/icu/text/RuleBasedBreakIterator;
-Landroid/icu/text/RuleBasedBreakIterator;-><init>()V
-Landroid/icu/text/RuleBasedBreakIterator;-><init>(Ljava/lang/String;)V
-Landroid/icu/text/RuleBasedBreakIterator;->checkOffset(ILjava/text/CharacterIterator;)V
-Landroid/icu/text/RuleBasedBreakIterator;->CISetIndex32(Ljava/text/CharacterIterator;I)I
-Landroid/icu/text/RuleBasedBreakIterator;->compileRules(Ljava/lang/String;Ljava/io/OutputStream;)V
-Landroid/icu/text/RuleBasedBreakIterator;->dump(Ljava/io/PrintStream;)V
-Landroid/icu/text/RuleBasedBreakIterator;->fBreakCache:Landroid/icu/text/RuleBasedBreakIterator$BreakCache;
-Landroid/icu/text/RuleBasedBreakIterator;->fBreakEngines:Ljava/util/List;
-Landroid/icu/text/RuleBasedBreakIterator;->fBreakType:I
-Landroid/icu/text/RuleBasedBreakIterator;->fDebugEnv:Ljava/lang/String;
-Landroid/icu/text/RuleBasedBreakIterator;->fDictionaryCache:Landroid/icu/text/RuleBasedBreakIterator$DictionaryCache;
-Landroid/icu/text/RuleBasedBreakIterator;->fDictionaryCharCount:I
-Landroid/icu/text/RuleBasedBreakIterator;->fDone:Z
-Landroid/icu/text/RuleBasedBreakIterator;->fLookAheadMatches:Landroid/icu/text/RuleBasedBreakIterator$LookAheadResults;
-Landroid/icu/text/RuleBasedBreakIterator;->fPosition:I
-Landroid/icu/text/RuleBasedBreakIterator;->fRData:Landroid/icu/text/RBBIDataWrapper;
-Landroid/icu/text/RuleBasedBreakIterator;->fRuleStatusIndex:I
-Landroid/icu/text/RuleBasedBreakIterator;->fText:Ljava/text/CharacterIterator;
-Landroid/icu/text/RuleBasedBreakIterator;->gAllBreakEngines:Ljava/util/List;
-Landroid/icu/text/RuleBasedBreakIterator;->getBreakType()I
-Landroid/icu/text/RuleBasedBreakIterator;->getInstanceFromCompiledRules(Ljava/io/InputStream;)Landroid/icu/text/RuleBasedBreakIterator;
-Landroid/icu/text/RuleBasedBreakIterator;->getInstanceFromCompiledRules(Ljava/nio/ByteBuffer;)Landroid/icu/text/RuleBasedBreakIterator;
-Landroid/icu/text/RuleBasedBreakIterator;->getLanguageBreakEngine(I)Landroid/icu/text/LanguageBreakEngine;
-Landroid/icu/text/RuleBasedBreakIterator;->gUnhandledBreakEngine:Landroid/icu/text/UnhandledBreakEngine;
-Landroid/icu/text/RuleBasedBreakIterator;->handleNext()I
-Landroid/icu/text/RuleBasedBreakIterator;->handlePrevious(I)I
-Landroid/icu/text/RuleBasedBreakIterator;->kMaxLookaheads:I
-Landroid/icu/text/RuleBasedBreakIterator;->RBBI_DEBUG_ARG:Ljava/lang/String;
-Landroid/icu/text/RuleBasedBreakIterator;->RBBI_END:I
-Landroid/icu/text/RuleBasedBreakIterator;->RBBI_RUN:I
-Landroid/icu/text/RuleBasedBreakIterator;->RBBI_START:I
-Landroid/icu/text/RuleBasedBreakIterator;->setBreakType(I)V
-Landroid/icu/text/RuleBasedBreakIterator;->START_STATE:I
-Landroid/icu/text/RuleBasedBreakIterator;->STOP_STATE:I
-Landroid/icu/text/RuleBasedBreakIterator;->TRACE:Z
-Landroid/icu/text/RuleBasedCollator$CollationBuffer;
-Landroid/icu/text/RuleBasedCollator$CollationBuffer;-><init>(Landroid/icu/impl/coll/CollationData;)V
-Landroid/icu/text/RuleBasedCollator$CollationBuffer;->leftFCDUTF16Iter:Landroid/icu/impl/coll/FCDUTF16CollationIterator;
-Landroid/icu/text/RuleBasedCollator$CollationBuffer;->leftFCDUTF16NFDIter:Landroid/icu/text/RuleBasedCollator$FCDUTF16NFDIterator;
-Landroid/icu/text/RuleBasedCollator$CollationBuffer;->leftUTF16CollIter:Landroid/icu/impl/coll/UTF16CollationIterator;
-Landroid/icu/text/RuleBasedCollator$CollationBuffer;->leftUTF16NFDIter:Landroid/icu/text/RuleBasedCollator$UTF16NFDIterator;
-Landroid/icu/text/RuleBasedCollator$CollationBuffer;->rawCollationKey:Landroid/icu/text/RawCollationKey;
-Landroid/icu/text/RuleBasedCollator$CollationBuffer;->rightFCDUTF16Iter:Landroid/icu/impl/coll/FCDUTF16CollationIterator;
-Landroid/icu/text/RuleBasedCollator$CollationBuffer;->rightFCDUTF16NFDIter:Landroid/icu/text/RuleBasedCollator$FCDUTF16NFDIterator;
-Landroid/icu/text/RuleBasedCollator$CollationBuffer;->rightUTF16CollIter:Landroid/icu/impl/coll/UTF16CollationIterator;
-Landroid/icu/text/RuleBasedCollator$CollationBuffer;->rightUTF16NFDIter:Landroid/icu/text/RuleBasedCollator$UTF16NFDIterator;
-Landroid/icu/text/RuleBasedCollator$CollationKeyByteSink;
-Landroid/icu/text/RuleBasedCollator$CollationKeyByteSink;-><init>(Landroid/icu/text/RawCollationKey;)V
-Landroid/icu/text/RuleBasedCollator$CollationKeyByteSink;->key_:Landroid/icu/text/RawCollationKey;
-Landroid/icu/text/RuleBasedCollator$FCDUTF16NFDIterator;
-Landroid/icu/text/RuleBasedCollator$FCDUTF16NFDIterator;-><init>()V
-Landroid/icu/text/RuleBasedCollator$FCDUTF16NFDIterator;->setText(Landroid/icu/impl/Normalizer2Impl;Ljava/lang/CharSequence;I)V
-Landroid/icu/text/RuleBasedCollator$FCDUTF16NFDIterator;->str:Ljava/lang/StringBuilder;
-Landroid/icu/text/RuleBasedCollator$NFDIterator;
-Landroid/icu/text/RuleBasedCollator$NFDIterator;-><init>()V
-Landroid/icu/text/RuleBasedCollator$NFDIterator;->decomp:Ljava/lang/String;
-Landroid/icu/text/RuleBasedCollator$NFDIterator;->index:I
-Landroid/icu/text/RuleBasedCollator$NFDIterator;->nextCodePoint()I
-Landroid/icu/text/RuleBasedCollator$NFDIterator;->nextDecomposedCodePoint(Landroid/icu/impl/Normalizer2Impl;I)I
-Landroid/icu/text/RuleBasedCollator$NFDIterator;->nextRawCodePoint()I
-Landroid/icu/text/RuleBasedCollator$NFDIterator;->reset()V
-Landroid/icu/text/RuleBasedCollator$UTF16NFDIterator;
-Landroid/icu/text/RuleBasedCollator$UTF16NFDIterator;-><init>()V
-Landroid/icu/text/RuleBasedCollator$UTF16NFDIterator;->nextRawCodePoint()I
-Landroid/icu/text/RuleBasedCollator$UTF16NFDIterator;->pos:I
-Landroid/icu/text/RuleBasedCollator$UTF16NFDIterator;->s:Ljava/lang/CharSequence;
-Landroid/icu/text/RuleBasedCollator$UTF16NFDIterator;->setText(Ljava/lang/CharSequence;I)V
-Landroid/icu/text/RuleBasedCollator;-><init>(Landroid/icu/impl/coll/CollationTailoring;Landroid/icu/util/ULocale;)V
-Landroid/icu/text/RuleBasedCollator;->actualLocaleIsSameAsValid:Z
-Landroid/icu/text/RuleBasedCollator;->adoptTailoring(Landroid/icu/impl/coll/CollationTailoring;)V
-Landroid/icu/text/RuleBasedCollator;->checkNotFrozen()V
-Landroid/icu/text/RuleBasedCollator;->collationBuffer:Landroid/icu/text/RuleBasedCollator$CollationBuffer;
-Landroid/icu/text/RuleBasedCollator;->compareNFDIter(Landroid/icu/impl/Normalizer2Impl;Landroid/icu/text/RuleBasedCollator$NFDIterator;Landroid/icu/text/RuleBasedCollator$NFDIterator;)I
-Landroid/icu/text/RuleBasedCollator;->data:Landroid/icu/impl/coll/CollationData;
-Landroid/icu/text/RuleBasedCollator;->doCompare(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I
-Landroid/icu/text/RuleBasedCollator;->frozenLock:Ljava/util/concurrent/locks/Lock;
-Landroid/icu/text/RuleBasedCollator;->getCollationBuffer()Landroid/icu/text/RuleBasedCollator$CollationBuffer;
-Landroid/icu/text/RuleBasedCollator;->getCollationKey(Ljava/lang/String;Landroid/icu/text/RuleBasedCollator$CollationBuffer;)Landroid/icu/text/CollationKey;
-Landroid/icu/text/RuleBasedCollator;->getDefaultSettings()Landroid/icu/impl/coll/CollationSettings;
-Landroid/icu/text/RuleBasedCollator;->getOwnedSettings()Landroid/icu/impl/coll/CollationSettings;
-Landroid/icu/text/RuleBasedCollator;->getRawCollationKey(Ljava/lang/CharSequence;Landroid/icu/text/RawCollationKey;Landroid/icu/text/RuleBasedCollator$CollationBuffer;)Landroid/icu/text/RawCollationKey;
-Landroid/icu/text/RuleBasedCollator;->getRawCollationKey(Ljava/lang/String;Landroid/icu/text/RawCollationKey;)Landroid/icu/text/RawCollationKey;
-Landroid/icu/text/RuleBasedCollator;->initMaxExpansions()V
-Landroid/icu/text/RuleBasedCollator;->internalAddContractions(ILandroid/icu/text/UnicodeSet;)V
-Landroid/icu/text/RuleBasedCollator;->internalBuildTailoring(Ljava/lang/String;)V
-Landroid/icu/text/RuleBasedCollator;->internalGetCEs(Ljava/lang/CharSequence;)[J
-Landroid/icu/text/RuleBasedCollator;->internalSetVariableTop(J)V
-Landroid/icu/text/RuleBasedCollator;->isHiraganaQuaternary()Z
-Landroid/icu/text/RuleBasedCollator;->isUnsafe(I)Z
-Landroid/icu/text/RuleBasedCollator;->releaseCollationBuffer(Landroid/icu/text/RuleBasedCollator$CollationBuffer;)V
-Landroid/icu/text/RuleBasedCollator;->setFastLatinOptions(Landroid/icu/impl/coll/CollationSettings;)V
-Landroid/icu/text/RuleBasedCollator;->setHiraganaQuaternary(Z)V
-Landroid/icu/text/RuleBasedCollator;->setHiraganaQuaternaryDefault()V
-Landroid/icu/text/RuleBasedCollator;->setLocale(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)V
-Landroid/icu/text/RuleBasedCollator;->settings:Landroid/icu/impl/coll/SharedObject$Reference;
-Landroid/icu/text/RuleBasedCollator;->setVariableTop(I)V
-Landroid/icu/text/RuleBasedCollator;->setVariableTop(Ljava/lang/String;)I
-Landroid/icu/text/RuleBasedCollator;->simpleKeyLengthEstimate(Ljava/lang/CharSequence;)I
-Landroid/icu/text/RuleBasedCollator;->tailoring:Landroid/icu/impl/coll/CollationTailoring;
-Landroid/icu/text/RuleBasedCollator;->validLocale:Landroid/icu/util/ULocale;
-Landroid/icu/text/RuleBasedCollator;->writeIdenticalLevel(Ljava/lang/CharSequence;Landroid/icu/text/RuleBasedCollator$CollationKeyByteSink;)V
-Landroid/icu/text/RuleBasedCollator;->writeSortKey(Ljava/lang/CharSequence;Landroid/icu/text/RuleBasedCollator$CollationKeyByteSink;Landroid/icu/text/RuleBasedCollator$CollationBuffer;)V
-Landroid/icu/text/RuleBasedNumberFormat;
-Landroid/icu/text/RuleBasedNumberFormat;-><init>(I)V
-Landroid/icu/text/RuleBasedNumberFormat;-><init>(Landroid/icu/util/ULocale;I)V
-Landroid/icu/text/RuleBasedNumberFormat;-><init>(Ljava/lang/String;)V
-Landroid/icu/text/RuleBasedNumberFormat;-><init>(Ljava/lang/String;Landroid/icu/util/ULocale;)V
-Landroid/icu/text/RuleBasedNumberFormat;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
-Landroid/icu/text/RuleBasedNumberFormat;-><init>(Ljava/lang/String;[[Ljava/lang/String;)V
-Landroid/icu/text/RuleBasedNumberFormat;-><init>(Ljava/lang/String;[[Ljava/lang/String;Landroid/icu/util/ULocale;)V
-Landroid/icu/text/RuleBasedNumberFormat;-><init>(Ljava/util/Locale;I)V
-Landroid/icu/text/RuleBasedNumberFormat;->adjustForContext(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/RuleBasedNumberFormat;->capitalizationBrkIter:Landroid/icu/text/BreakIterator;
-Landroid/icu/text/RuleBasedNumberFormat;->capitalizationForListOrMenu:Z
-Landroid/icu/text/RuleBasedNumberFormat;->capitalizationForStandAlone:Z
-Landroid/icu/text/RuleBasedNumberFormat;->capitalizationInfoIsSet:Z
-Landroid/icu/text/RuleBasedNumberFormat;->createPluralFormat(Landroid/icu/text/PluralRules$PluralType;Ljava/lang/String;)Landroid/icu/text/PluralFormat;
-Landroid/icu/text/RuleBasedNumberFormat;->DEBUG:Z
-Landroid/icu/text/RuleBasedNumberFormat;->decimalFormat:Landroid/icu/text/DecimalFormat;
-Landroid/icu/text/RuleBasedNumberFormat;->decimalFormatSymbols:Landroid/icu/text/DecimalFormatSymbols;
-Landroid/icu/text/RuleBasedNumberFormat;->defaultInfinityRule:Landroid/icu/text/NFRule;
-Landroid/icu/text/RuleBasedNumberFormat;->defaultNaNRule:Landroid/icu/text/NFRule;
-Landroid/icu/text/RuleBasedNumberFormat;->defaultRuleSet:Landroid/icu/text/NFRuleSet;
-Landroid/icu/text/RuleBasedNumberFormat;->DURATION:I
-Landroid/icu/text/RuleBasedNumberFormat;->extractSpecial(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/RuleBasedNumberFormat;->findRuleSet(Ljava/lang/String;)Landroid/icu/text/NFRuleSet;
-Landroid/icu/text/RuleBasedNumberFormat;->format(DLandroid/icu/text/NFRuleSet;)Ljava/lang/String;
-Landroid/icu/text/RuleBasedNumberFormat;->format(DLjava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/RuleBasedNumberFormat;->format(JLandroid/icu/text/NFRuleSet;)Ljava/lang/String;
-Landroid/icu/text/RuleBasedNumberFormat;->format(JLjava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/RuleBasedNumberFormat;->getDecimalFormat()Landroid/icu/text/DecimalFormat;
-Landroid/icu/text/RuleBasedNumberFormat;->getDecimalFormatSymbols()Landroid/icu/text/DecimalFormatSymbols;
-Landroid/icu/text/RuleBasedNumberFormat;->getDefaultInfinityRule()Landroid/icu/text/NFRule;
-Landroid/icu/text/RuleBasedNumberFormat;->getDefaultNaNRule()Landroid/icu/text/NFRule;
-Landroid/icu/text/RuleBasedNumberFormat;->getDefaultRuleSet()Landroid/icu/text/NFRuleSet;
-Landroid/icu/text/RuleBasedNumberFormat;->getDefaultRuleSetName()Ljava/lang/String;
-Landroid/icu/text/RuleBasedNumberFormat;->getLenientScanner()Landroid/icu/text/RbnfLenientScanner;
-Landroid/icu/text/RuleBasedNumberFormat;->getLenientScannerProvider()Landroid/icu/text/RbnfLenientScannerProvider;
-Landroid/icu/text/RuleBasedNumberFormat;->getNameListForLocale(Landroid/icu/util/ULocale;)[Ljava/lang/String;
-Landroid/icu/text/RuleBasedNumberFormat;->getRuleSetDisplayName(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/RuleBasedNumberFormat;->getRuleSetDisplayName(Ljava/lang/String;Landroid/icu/util/ULocale;)Ljava/lang/String;
-Landroid/icu/text/RuleBasedNumberFormat;->getRuleSetDisplayNameLocales()[Landroid/icu/util/ULocale;
-Landroid/icu/text/RuleBasedNumberFormat;->getRuleSetDisplayNames()[Ljava/lang/String;
-Landroid/icu/text/RuleBasedNumberFormat;->getRuleSetDisplayNames(Landroid/icu/util/ULocale;)[Ljava/lang/String;
-Landroid/icu/text/RuleBasedNumberFormat;->getRuleSetNames()[Ljava/lang/String;
-Landroid/icu/text/RuleBasedNumberFormat;->init(Ljava/lang/String;[[Ljava/lang/String;)V
-Landroid/icu/text/RuleBasedNumberFormat;->initCapitalizationContextInfo(Landroid/icu/util/ULocale;)V
-Landroid/icu/text/RuleBasedNumberFormat;->initLocalizations([[Ljava/lang/String;)V
-Landroid/icu/text/RuleBasedNumberFormat;->lenientParse:Z
-Landroid/icu/text/RuleBasedNumberFormat;->lenientParseEnabled()Z
-Landroid/icu/text/RuleBasedNumberFormat;->lenientParseRules:Ljava/lang/String;
-Landroid/icu/text/RuleBasedNumberFormat;->locale:Landroid/icu/util/ULocale;
-Landroid/icu/text/RuleBasedNumberFormat;->locnames:[Ljava/lang/String;
-Landroid/icu/text/RuleBasedNumberFormat;->lookedForScanner:Z
-Landroid/icu/text/RuleBasedNumberFormat;->MAX_VALUE:Landroid/icu/math/BigDecimal;
-Landroid/icu/text/RuleBasedNumberFormat;->MIN_VALUE:Landroid/icu/math/BigDecimal;
-Landroid/icu/text/RuleBasedNumberFormat;->NUMBERING_SYSTEM:I
-Landroid/icu/text/RuleBasedNumberFormat;->ORDINAL:I
-Landroid/icu/text/RuleBasedNumberFormat;->postProcess(Ljava/lang/StringBuilder;Landroid/icu/text/NFRuleSet;)V
-Landroid/icu/text/RuleBasedNumberFormat;->postProcessor:Landroid/icu/text/RBNFPostProcessor;
-Landroid/icu/text/RuleBasedNumberFormat;->postProcessRules:Ljava/lang/String;
-Landroid/icu/text/RuleBasedNumberFormat;->publicRuleSetNames:[Ljava/lang/String;
-Landroid/icu/text/RuleBasedNumberFormat;->roundingMode:I
-Landroid/icu/text/RuleBasedNumberFormat;->rulenames:[Ljava/lang/String;
-Landroid/icu/text/RuleBasedNumberFormat;->ruleSetDisplayNames:Ljava/util/Map;
-Landroid/icu/text/RuleBasedNumberFormat;->ruleSets:[Landroid/icu/text/NFRuleSet;
-Landroid/icu/text/RuleBasedNumberFormat;->ruleSetsMap:Ljava/util/Map;
-Landroid/icu/text/RuleBasedNumberFormat;->scannerProvider:Landroid/icu/text/RbnfLenientScannerProvider;
-Landroid/icu/text/RuleBasedNumberFormat;->setDecimalFormatSymbols(Landroid/icu/text/DecimalFormatSymbols;)V
-Landroid/icu/text/RuleBasedNumberFormat;->setDefaultRuleSet(Ljava/lang/String;)V
-Landroid/icu/text/RuleBasedNumberFormat;->setLenientParseMode(Z)V
-Landroid/icu/text/RuleBasedNumberFormat;->setLenientScannerProvider(Landroid/icu/text/RbnfLenientScannerProvider;)V
-Landroid/icu/text/RuleBasedNumberFormat;->SPELLOUT:I
-Landroid/icu/text/RuleBasedNumberFormat;->stripWhitespace(Ljava/lang/String;)Ljava/lang/StringBuilder;
-Landroid/icu/text/RuleBasedTransliterator$Data;
-Landroid/icu/text/RuleBasedTransliterator$Data;-><init>()V
-Landroid/icu/text/RuleBasedTransliterator$Data;->lookupMatcher(I)Landroid/icu/text/UnicodeMatcher;
-Landroid/icu/text/RuleBasedTransliterator$Data;->lookupReplacer(I)Landroid/icu/text/UnicodeReplacer;
-Landroid/icu/text/RuleBasedTransliterator$Data;->ruleSet:Landroid/icu/text/TransliterationRuleSet;
-Landroid/icu/text/RuleBasedTransliterator$Data;->variableNames:Ljava/util/Map;
-Landroid/icu/text/RuleBasedTransliterator$Data;->variables:[Ljava/lang/Object;
-Landroid/icu/text/RuleBasedTransliterator$Data;->variablesBase:C
-Landroid/icu/text/RuleBasedTransliterator;
-Landroid/icu/text/RuleBasedTransliterator;-><init>(Ljava/lang/String;Landroid/icu/text/RuleBasedTransliterator$Data;Landroid/icu/text/UnicodeFilter;)V
-Landroid/icu/text/RuleBasedTransliterator;->addSourceTargetSet(Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet;)V
-Landroid/icu/text/RuleBasedTransliterator;->data:Landroid/icu/text/RuleBasedTransliterator$Data;
-Landroid/icu/text/RuleBasedTransliterator;->handleTransliterate(Landroid/icu/text/Replaceable;Landroid/icu/text/Transliterator$Position;Z)V
-Landroid/icu/text/RuleBasedTransliterator;->safeClone()Landroid/icu/text/Transliterator;
-Landroid/icu/text/RuleBasedTransliterator;->toRules(Z)Ljava/lang/String;
-Landroid/icu/text/ScientificNumberFormatter$MarkupStyle;
-Landroid/icu/text/ScientificNumberFormatter$MarkupStyle;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/text/ScientificNumberFormatter$MarkupStyle;->beginMarkup:Ljava/lang/String;
-Landroid/icu/text/ScientificNumberFormatter$MarkupStyle;->endMarkup:Ljava/lang/String;
-Landroid/icu/text/ScientificNumberFormatter$MarkupStyle;->format(Ljava/text/AttributedCharacterIterator;Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/ScientificNumberFormatter$Style;
-Landroid/icu/text/ScientificNumberFormatter$Style;-><init>()V
-Landroid/icu/text/ScientificNumberFormatter$Style;->append(Ljava/text/AttributedCharacterIterator;IILjava/lang/StringBuilder;)V
-Landroid/icu/text/ScientificNumberFormatter$Style;->format(Ljava/text/AttributedCharacterIterator;Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/ScientificNumberFormatter$SuperscriptStyle;
-Landroid/icu/text/ScientificNumberFormatter$SuperscriptStyle;-><init>()V
-Landroid/icu/text/ScientificNumberFormatter$SuperscriptStyle;->char32AtAndAdvance(Ljava/text/AttributedCharacterIterator;)I
-Landroid/icu/text/ScientificNumberFormatter$SuperscriptStyle;->copyAsSuperscript(Ljava/text/AttributedCharacterIterator;IILjava/lang/StringBuilder;)V
-Landroid/icu/text/ScientificNumberFormatter$SuperscriptStyle;->format(Ljava/text/AttributedCharacterIterator;Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/ScientificNumberFormatter$SuperscriptStyle;->SUPERSCRIPT_DIGITS:[C
-Landroid/icu/text/ScientificNumberFormatter$SuperscriptStyle;->SUPERSCRIPT_MINUS_SIGN:C
-Landroid/icu/text/ScientificNumberFormatter$SuperscriptStyle;->SUPERSCRIPT_PLUS_SIGN:C
-Landroid/icu/text/ScientificNumberFormatter;-><init>(Landroid/icu/text/DecimalFormat;Ljava/lang/String;Landroid/icu/text/ScientificNumberFormatter$Style;)V
-Landroid/icu/text/ScientificNumberFormatter;->fmt:Landroid/icu/text/DecimalFormat;
-Landroid/icu/text/ScientificNumberFormatter;->getInstance(Landroid/icu/text/DecimalFormat;Landroid/icu/text/ScientificNumberFormatter$Style;)Landroid/icu/text/ScientificNumberFormatter;
-Landroid/icu/text/ScientificNumberFormatter;->getInstanceForLocale(Landroid/icu/util/ULocale;Landroid/icu/text/ScientificNumberFormatter$Style;)Landroid/icu/text/ScientificNumberFormatter;
-Landroid/icu/text/ScientificNumberFormatter;->getPreExponent(Landroid/icu/text/DecimalFormatSymbols;)Ljava/lang/String;
-Landroid/icu/text/ScientificNumberFormatter;->preExponent:Ljava/lang/String;
-Landroid/icu/text/ScientificNumberFormatter;->style:Landroid/icu/text/ScientificNumberFormatter$Style;
-Landroid/icu/text/ScientificNumberFormatter;->SUPER_SCRIPT:Landroid/icu/text/ScientificNumberFormatter$Style;
-Landroid/icu/text/SCSU;
-Landroid/icu/text/SCSU;->ARMENIANINDEX:I
-Landroid/icu/text/SCSU;->COMPRESSIONOFFSET:I
-Landroid/icu/text/SCSU;->GREEKINDEX:I
-Landroid/icu/text/SCSU;->HALFWIDTHKATAKANAINDEX:I
-Landroid/icu/text/SCSU;->HIRAGANAINDEX:I
-Landroid/icu/text/SCSU;->INVALIDCHAR:I
-Landroid/icu/text/SCSU;->INVALIDWINDOW:I
-Landroid/icu/text/SCSU;->IPAEXTENSIONINDEX:I
-Landroid/icu/text/SCSU;->KATAKANAINDEX:I
-Landroid/icu/text/SCSU;->LATININDEX:I
-Landroid/icu/text/SCSU;->MAXINDEX:I
-Landroid/icu/text/SCSU;->NUMSTATICWINDOWS:I
-Landroid/icu/text/SCSU;->NUMWINDOWS:I
-Landroid/icu/text/SCSU;->RESERVEDINDEX:I
-Landroid/icu/text/SCSU;->SCHANGE0:I
-Landroid/icu/text/SCSU;->SCHANGE1:I
-Landroid/icu/text/SCSU;->SCHANGE2:I
-Landroid/icu/text/SCSU;->SCHANGE3:I
-Landroid/icu/text/SCSU;->SCHANGE4:I
-Landroid/icu/text/SCSU;->SCHANGE5:I
-Landroid/icu/text/SCSU;->SCHANGE6:I
-Landroid/icu/text/SCSU;->SCHANGE7:I
-Landroid/icu/text/SCSU;->SCHANGEU:I
-Landroid/icu/text/SCSU;->SDEFINE0:I
-Landroid/icu/text/SCSU;->SDEFINE1:I
-Landroid/icu/text/SCSU;->SDEFINE2:I
-Landroid/icu/text/SCSU;->SDEFINE3:I
-Landroid/icu/text/SCSU;->SDEFINE4:I
-Landroid/icu/text/SCSU;->SDEFINE5:I
-Landroid/icu/text/SCSU;->SDEFINE6:I
-Landroid/icu/text/SCSU;->SDEFINE7:I
-Landroid/icu/text/SCSU;->SDEFINEX:I
-Landroid/icu/text/SCSU;->SINGLEBYTEMODE:I
-Landroid/icu/text/SCSU;->sOffsets:[I
-Landroid/icu/text/SCSU;->sOffsetTable:[I
-Landroid/icu/text/SCSU;->SQUOTE0:I
-Landroid/icu/text/SCSU;->SQUOTE1:I
-Landroid/icu/text/SCSU;->SQUOTE2:I
-Landroid/icu/text/SCSU;->SQUOTE3:I
-Landroid/icu/text/SCSU;->SQUOTE4:I
-Landroid/icu/text/SCSU;->SQUOTE5:I
-Landroid/icu/text/SCSU;->SQUOTE6:I
-Landroid/icu/text/SCSU;->SQUOTE7:I
-Landroid/icu/text/SCSU;->SQUOTEU:I
-Landroid/icu/text/SCSU;->SRESERVED:I
-Landroid/icu/text/SCSU;->UCHANGE0:I
-Landroid/icu/text/SCSU;->UCHANGE1:I
-Landroid/icu/text/SCSU;->UCHANGE2:I
-Landroid/icu/text/SCSU;->UCHANGE3:I
-Landroid/icu/text/SCSU;->UCHANGE4:I
-Landroid/icu/text/SCSU;->UCHANGE5:I
-Landroid/icu/text/SCSU;->UCHANGE6:I
-Landroid/icu/text/SCSU;->UCHANGE7:I
-Landroid/icu/text/SCSU;->UDEFINE0:I
-Landroid/icu/text/SCSU;->UDEFINE1:I
-Landroid/icu/text/SCSU;->UDEFINE2:I
-Landroid/icu/text/SCSU;->UDEFINE3:I
-Landroid/icu/text/SCSU;->UDEFINE4:I
-Landroid/icu/text/SCSU;->UDEFINE5:I
-Landroid/icu/text/SCSU;->UDEFINE6:I
-Landroid/icu/text/SCSU;->UDEFINE7:I
-Landroid/icu/text/SCSU;->UDEFINEX:I
-Landroid/icu/text/SCSU;->UNICODEMODE:I
-Landroid/icu/text/SCSU;->UQUOTEU:I
-Landroid/icu/text/SCSU;->URESERVED:I
-Landroid/icu/text/SearchIterator$ElementComparisonType;-><init>()V
-Landroid/icu/text/SearchIterator$Search;
-Landroid/icu/text/SearchIterator$Search;-><init>()V
-Landroid/icu/text/SearchIterator$Search;->beginIndex()I
-Landroid/icu/text/SearchIterator$Search;->breakIter()Landroid/icu/text/BreakIterator;
-Landroid/icu/text/SearchIterator$Search;->elementComparisonType_:Landroid/icu/text/SearchIterator$ElementComparisonType;
-Landroid/icu/text/SearchIterator$Search;->endIndex()I
-Landroid/icu/text/SearchIterator$Search;->internalBreakIter_:Landroid/icu/text/BreakIterator;
-Landroid/icu/text/SearchIterator$Search;->isCanonicalMatch_:Z
-Landroid/icu/text/SearchIterator$Search;->isForwardSearching_:Z
-Landroid/icu/text/SearchIterator$Search;->isOverlap_:Z
-Landroid/icu/text/SearchIterator$Search;->matchedIndex_:I
-Landroid/icu/text/SearchIterator$Search;->matchedLength()I
-Landroid/icu/text/SearchIterator$Search;->reset_:Z
-Landroid/icu/text/SearchIterator$Search;->setBreakIter(Landroid/icu/text/BreakIterator;)V
-Landroid/icu/text/SearchIterator$Search;->setMatchedLength(I)V
-Landroid/icu/text/SearchIterator$Search;->setTarget(Ljava/text/CharacterIterator;)V
-Landroid/icu/text/SearchIterator$Search;->text()Ljava/text/CharacterIterator;
-Landroid/icu/text/SearchIterator;->search_:Landroid/icu/text/SearchIterator$Search;
-Landroid/icu/text/SearchIterator;->setMatchNotFound()V
-Landroid/icu/text/SelectFormat;->findSubMessage(Landroid/icu/text/MessagePattern;ILjava/lang/String;)I
-Landroid/icu/text/SelectFormat;->msgPattern:Landroid/icu/text/MessagePattern;
-Landroid/icu/text/SelectFormat;->pattern:Ljava/lang/String;
-Landroid/icu/text/SelectFormat;->reset()V
-Landroid/icu/text/SimpleDateFormat$ContextValue;
-Landroid/icu/text/SimpleDateFormat$ContextValue;-><init>()V
-Landroid/icu/text/SimpleDateFormat$ContextValue;->CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE:Landroid/icu/text/SimpleDateFormat$ContextValue;
-Landroid/icu/text/SimpleDateFormat$ContextValue;->CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE:Landroid/icu/text/SimpleDateFormat$ContextValue;
-Landroid/icu/text/SimpleDateFormat$ContextValue;->CAPITALIZATION_FOR_STANDALONE:Landroid/icu/text/SimpleDateFormat$ContextValue;
-Landroid/icu/text/SimpleDateFormat$ContextValue;->CAPITALIZATION_FOR_UI_LIST_OR_MENU:Landroid/icu/text/SimpleDateFormat$ContextValue;
-Landroid/icu/text/SimpleDateFormat$ContextValue;->UNKNOWN:Landroid/icu/text/SimpleDateFormat$ContextValue;
-Landroid/icu/text/SimpleDateFormat$ContextValue;->valueOf(Ljava/lang/String;)Landroid/icu/text/SimpleDateFormat$ContextValue;
-Landroid/icu/text/SimpleDateFormat$ContextValue;->values()[Landroid/icu/text/SimpleDateFormat$ContextValue;
-Landroid/icu/text/SimpleDateFormat$PatternItem;
-Landroid/icu/text/SimpleDateFormat$PatternItem;-><init>(CI)V
-Landroid/icu/text/SimpleDateFormat$PatternItem;->isNumeric:Z
-Landroid/icu/text/SimpleDateFormat$PatternItem;->length:I
-Landroid/icu/text/SimpleDateFormat$PatternItem;->type:C
-Landroid/icu/text/SimpleDateFormat;-><init>(Ljava/lang/String;Landroid/icu/text/DateFormatSymbols;Landroid/icu/util/Calendar;Landroid/icu/text/NumberFormat;Landroid/icu/util/ULocale;ZLjava/lang/String;)V
-Landroid/icu/text/SimpleDateFormat;-><init>(Ljava/lang/String;Landroid/icu/text/DateFormatSymbols;Landroid/icu/util/Calendar;Landroid/icu/util/ULocale;ZLjava/lang/String;)V
-Landroid/icu/text/SimpleDateFormat;-><init>(Ljava/lang/String;Landroid/icu/text/DateFormatSymbols;Landroid/icu/util/ULocale;)V
-Landroid/icu/text/SimpleDateFormat;->allowNumericFallback(I)Z
-Landroid/icu/text/SimpleDateFormat;->cachedDefaultLocale:Landroid/icu/util/ULocale;
-Landroid/icu/text/SimpleDateFormat;->cachedDefaultPattern:Ljava/lang/String;
-Landroid/icu/text/SimpleDateFormat;->CALENDAR_FIELD_TO_LEVEL:[I
-Landroid/icu/text/SimpleDateFormat;->capitalizationBrkIter:Landroid/icu/text/BreakIterator;
-Landroid/icu/text/SimpleDateFormat;->countDigits(Ljava/lang/String;II)I
-Landroid/icu/text/SimpleDateFormat;->currentSerialVersion:I
-Landroid/icu/text/SimpleDateFormat;->DATE_PATTERN_TYPE:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/SimpleDateFormat;->decDigits:[C
-Landroid/icu/text/SimpleDateFormat;->decimalBuf:[C
-Landroid/icu/text/SimpleDateFormat;->DECIMAL_BUF_SIZE:I
-Landroid/icu/text/SimpleDateFormat;->defaultCenturyBase:J
-Landroid/icu/text/SimpleDateFormat;->defaultCenturyStart:Ljava/util/Date;
-Landroid/icu/text/SimpleDateFormat;->defaultCenturyStartYear:I
-Landroid/icu/text/SimpleDateFormat;->DelayedHebrewMonthCheck:Z
-Landroid/icu/text/SimpleDateFormat;->diffCalFieldValue(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;[Ljava/lang/Object;I)Z
-Landroid/icu/text/SimpleDateFormat;->FALLBACKPATTERN:Ljava/lang/String;
-Landroid/icu/text/SimpleDateFormat;->fastZeroPaddingNumber(Ljava/lang/StringBuffer;III)V
-Landroid/icu/text/SimpleDateFormat;->format(Landroid/icu/util/Calendar;Landroid/icu/text/DisplayContext;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;Ljava/util/List;)Ljava/lang/StringBuffer;
-Landroid/icu/text/SimpleDateFormat;->formatData:Landroid/icu/text/DateFormatSymbols;
-Landroid/icu/text/SimpleDateFormat;->getDefaultCenturyStart()Ljava/util/Date;
-Landroid/icu/text/SimpleDateFormat;->getDefaultCenturyStartYear()I
-Landroid/icu/text/SimpleDateFormat;->getDefaultPattern()Ljava/lang/String;
-Landroid/icu/text/SimpleDateFormat;->getIndexFromChar(C)I
-Landroid/icu/text/SimpleDateFormat;->getInstance(Landroid/icu/util/Calendar$FormatConfiguration;)Landroid/icu/text/SimpleDateFormat;
-Landroid/icu/text/SimpleDateFormat;->getLevelFromChar(C)I
-Landroid/icu/text/SimpleDateFormat;->getLocale()Landroid/icu/util/ULocale;
-Landroid/icu/text/SimpleDateFormat;->getPatternItems()[Ljava/lang/Object;
-Landroid/icu/text/SimpleDateFormat;->hasMinute:Z
-Landroid/icu/text/SimpleDateFormat;->hasSecond:Z
-Landroid/icu/text/SimpleDateFormat;->HEBREW_CAL_CUR_MILLENIUM_END_YEAR:I
-Landroid/icu/text/SimpleDateFormat;->HEBREW_CAL_CUR_MILLENIUM_START_YEAR:I
-Landroid/icu/text/SimpleDateFormat;->initialize()V
-Landroid/icu/text/SimpleDateFormat;->initializeDefaultCenturyStart(J)V
-Landroid/icu/text/SimpleDateFormat;->initializeTimeZoneFormat(Z)V
-Landroid/icu/text/SimpleDateFormat;->initLocalZeroPaddingNumberFormat()V
-Landroid/icu/text/SimpleDateFormat;->initNumberFormatters(Landroid/icu/util/ULocale;)V
-Landroid/icu/text/SimpleDateFormat;->intervalFormatByAlgorithm(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
-Landroid/icu/text/SimpleDateFormat;->isFieldUnitIgnored(I)Z
-Landroid/icu/text/SimpleDateFormat;->isFieldUnitIgnored(Ljava/lang/String;I)Z
-Landroid/icu/text/SimpleDateFormat;->isNumeric(CI)Z
-Landroid/icu/text/SimpleDateFormat;->ISOSpecialEra:I
-Landroid/icu/text/SimpleDateFormat;->isSyntaxChar(C)Z
-Landroid/icu/text/SimpleDateFormat;->locale:Landroid/icu/util/ULocale;
-Landroid/icu/text/SimpleDateFormat;->lowerLevel([Ljava/lang/Object;II)Z
-Landroid/icu/text/SimpleDateFormat;->matchDayPeriodString(Ljava/lang/String;I[Ljava/lang/String;ILandroid/icu/util/Output;)I
-Landroid/icu/text/SimpleDateFormat;->matchLiteral(Ljava/lang/String;I[Ljava/lang/Object;I[Z)I
-Landroid/icu/text/SimpleDateFormat;->matchString(Ljava/lang/String;II[Ljava/lang/String;Ljava/lang/String;Landroid/icu/util/Calendar;)I
-Landroid/icu/text/SimpleDateFormat;->millisPerHour:I
-Landroid/icu/text/SimpleDateFormat;->numberFormatters:Ljava/util/HashMap;
-Landroid/icu/text/SimpleDateFormat;->NUMERIC_FORMAT_CHARS2:Ljava/lang/String;
-Landroid/icu/text/SimpleDateFormat;->NUMERIC_FORMAT_CHARS:Ljava/lang/String;
-Landroid/icu/text/SimpleDateFormat;->override:Ljava/lang/String;
-Landroid/icu/text/SimpleDateFormat;->overrideMap:Ljava/util/HashMap;
-Landroid/icu/text/SimpleDateFormat;->parseAmbiguousDatesAsAfter(Ljava/util/Date;)V
-Landroid/icu/text/SimpleDateFormat;->PARSED_PATTERN_CACHE:Landroid/icu/impl/ICUCache;
-Landroid/icu/text/SimpleDateFormat;->parseInt(Ljava/lang/String;ILjava/text/ParsePosition;ZLandroid/icu/text/NumberFormat;)Ljava/lang/Number;
-Landroid/icu/text/SimpleDateFormat;->parseInt(Ljava/lang/String;Ljava/text/ParsePosition;ZLandroid/icu/text/NumberFormat;)Ljava/lang/Number;
-Landroid/icu/text/SimpleDateFormat;->parsePattern()V
-Landroid/icu/text/SimpleDateFormat;->pattern:Ljava/lang/String;
-Landroid/icu/text/SimpleDateFormat;->patternItems:[Ljava/lang/Object;
-Landroid/icu/text/SimpleDateFormat;->PATTERN_CHAR_IS_SYNTAX:[Z
-Landroid/icu/text/SimpleDateFormat;->PATTERN_CHAR_TO_INDEX:[I
-Landroid/icu/text/SimpleDateFormat;->PATTERN_CHAR_TO_LEVEL:[I
-Landroid/icu/text/SimpleDateFormat;->PATTERN_INDEX_TO_CALENDAR_FIELD:[I
-Landroid/icu/text/SimpleDateFormat;->PATTERN_INDEX_TO_DATE_FORMAT_ATTRIBUTE:[Landroid/icu/text/DateFormat$Field;
-Landroid/icu/text/SimpleDateFormat;->PATTERN_INDEX_TO_DATE_FORMAT_FIELD:[I
-Landroid/icu/text/SimpleDateFormat;->processOverrideString(Landroid/icu/util/ULocale;Ljava/lang/String;)V
-Landroid/icu/text/SimpleDateFormat;->regionMatchesWithOptionalDot(Ljava/lang/String;ILjava/lang/String;I)I
-Landroid/icu/text/SimpleDateFormat;->safeAppend([Ljava/lang/String;ILjava/lang/StringBuffer;)V
-Landroid/icu/text/SimpleDateFormat;->safeAppendWithMonthPattern([Ljava/lang/String;ILjava/lang/StringBuffer;Ljava/lang/String;)V
-Landroid/icu/text/SimpleDateFormat;->serialVersionOnStream:I
-Landroid/icu/text/SimpleDateFormat;->subFormat(CIIILandroid/icu/text/DisplayContext;Ljava/text/FieldPosition;Landroid/icu/util/Calendar;)Ljava/lang/String;
-Landroid/icu/text/SimpleDateFormat;->subFormat(Ljava/lang/StringBuffer;CIIILandroid/icu/text/DisplayContext;Ljava/text/FieldPosition;Landroid/icu/util/Calendar;)V
-Landroid/icu/text/SimpleDateFormat;->subParse(Ljava/lang/String;ICIZZ[ZLandroid/icu/util/Calendar;Landroid/icu/text/MessageFormat;Landroid/icu/util/Output;)I
-Landroid/icu/text/SimpleDateFormat;->subParse(Ljava/lang/String;ICIZZ[ZLandroid/icu/util/Calendar;Landroid/icu/text/MessageFormat;Landroid/icu/util/Output;Landroid/icu/util/Output;)I
-Landroid/icu/text/SimpleDateFormat;->SUPPRESS_NEGATIVE_PREFIX:Ljava/lang/String;
-Landroid/icu/text/SimpleDateFormat;->translatePattern(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/SimpleDateFormat;->tzFormat()Landroid/icu/text/TimeZoneFormat;
-Landroid/icu/text/SimpleDateFormat;->tzFormat:Landroid/icu/text/TimeZoneFormat;
-Landroid/icu/text/SimpleDateFormat;->useFastFormat:Z
-Landroid/icu/text/SimpleDateFormat;->useLocalZeroPaddingNumberFormat:Z
-Landroid/icu/text/SimpleDateFormat;->zeroPaddingNumber(Landroid/icu/text/NumberFormat;Ljava/lang/StringBuffer;III)V
-Landroid/icu/text/SimpleFormatter;
-Landroid/icu/text/SimpleFormatter;-><init>(Ljava/lang/String;)V
-Landroid/icu/text/SimpleFormatter;->compile(Ljava/lang/CharSequence;)Landroid/icu/text/SimpleFormatter;
-Landroid/icu/text/SimpleFormatter;->compiledPattern:Ljava/lang/String;
-Landroid/icu/text/SimpleFormatter;->compileMinMaxArguments(Ljava/lang/CharSequence;II)Landroid/icu/text/SimpleFormatter;
-Landroid/icu/text/SimpleFormatter;->format([[Ljava/lang/CharSequence;)Ljava/lang/String;
-Landroid/icu/text/SimpleFormatter;->formatAndAppend(Ljava/lang/StringBuilder;[I[[Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
-Landroid/icu/text/SimpleFormatter;->formatAndReplace(Ljava/lang/StringBuilder;[I[[Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
-Landroid/icu/text/SimpleFormatter;->getArgumentLimit()I
-Landroid/icu/text/SimpleFormatter;->getTextWithNoArguments()Ljava/lang/String;
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUString;
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUString;-><init>(Ljava/lang/String;)V
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUString;->fCharOrStrTableIndex:I
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUString;->fStr:Ljava/lang/String;
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUStringComparator;
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUStringComparator;-><init>()V
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUStringComparator;->compare(Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUString;Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUString;)I
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUStringComparator;->INSTANCE:Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUStringComparator;
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUStringPool;
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUStringPool;-><init>()V
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUStringPool;->addString(Ljava/lang/String;)Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUString;
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUStringPool;->fHash:Ljava/util/Hashtable;
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUStringPool;->fVec:Ljava/util/Vector;
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUStringPool;->getByIndex(I)Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUString;
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUStringPool;->size()I
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUStringPool;->sort()V
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder;
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder;-><init>()V
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder;->build(Ljava/io/Reader;Landroid/icu/text/SpoofChecker$SpoofData;)V
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder;->buildConfusableData(Ljava/io/Reader;Landroid/icu/text/SpoofChecker$SpoofData;)V
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder;->fKeySet:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder;->fKeyVec:Ljava/util/ArrayList;
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder;->fLineNum:I
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder;->fParseHexNum:Ljava/util/regex/Pattern;
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder;->fParseLine:Ljava/util/regex/Pattern;
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder;->fStringTable:Ljava/lang/StringBuffer;
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder;->fTable:Ljava/util/Hashtable;
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder;->fValueVec:Ljava/util/ArrayList;
-Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder;->stringPool:Landroid/icu/text/SpoofChecker$Builder$ConfusabledataBuilder$SPUStringPool;
-Landroid/icu/text/SpoofChecker$Builder;
-Landroid/icu/text/SpoofChecker$Builder;-><init>()V
-Landroid/icu/text/SpoofChecker$Builder;-><init>(Landroid/icu/text/SpoofChecker;)V
-Landroid/icu/text/SpoofChecker$Builder;->addScriptChars(Landroid/icu/util/ULocale;Landroid/icu/text/UnicodeSet;)V
-Landroid/icu/text/SpoofChecker$Builder;->build()Landroid/icu/text/SpoofChecker;
-Landroid/icu/text/SpoofChecker$Builder;->fAllowedCharsSet:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/SpoofChecker$Builder;->fAllowedLocales:Ljava/util/Set;
-Landroid/icu/text/SpoofChecker$Builder;->fChecks:I
-Landroid/icu/text/SpoofChecker$Builder;->fRestrictionLevel:Landroid/icu/text/SpoofChecker$RestrictionLevel;
-Landroid/icu/text/SpoofChecker$Builder;->fSpoofData:Landroid/icu/text/SpoofChecker$SpoofData;
-Landroid/icu/text/SpoofChecker$Builder;->setAllowedChars(Landroid/icu/text/UnicodeSet;)Landroid/icu/text/SpoofChecker$Builder;
-Landroid/icu/text/SpoofChecker$Builder;->setAllowedJavaLocales(Ljava/util/Set;)Landroid/icu/text/SpoofChecker$Builder;
-Landroid/icu/text/SpoofChecker$Builder;->setAllowedLocales(Ljava/util/Set;)Landroid/icu/text/SpoofChecker$Builder;
-Landroid/icu/text/SpoofChecker$Builder;->setChecks(I)Landroid/icu/text/SpoofChecker$Builder;
-Landroid/icu/text/SpoofChecker$Builder;->setData(Ljava/io/Reader;)Landroid/icu/text/SpoofChecker$Builder;
-Landroid/icu/text/SpoofChecker$Builder;->setData(Ljava/io/Reader;Ljava/io/Reader;)Landroid/icu/text/SpoofChecker$Builder;
-Landroid/icu/text/SpoofChecker$Builder;->setRestrictionLevel(Landroid/icu/text/SpoofChecker$RestrictionLevel;)Landroid/icu/text/SpoofChecker$Builder;
-Landroid/icu/text/SpoofChecker$CheckResult;
-Landroid/icu/text/SpoofChecker$CheckResult;-><init>()V
-Landroid/icu/text/SpoofChecker$CheckResult;->checks:I
-Landroid/icu/text/SpoofChecker$CheckResult;->numerics:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/SpoofChecker$CheckResult;->position:I
-Landroid/icu/text/SpoofChecker$CheckResult;->restrictionLevel:Landroid/icu/text/SpoofChecker$RestrictionLevel;
-Landroid/icu/text/SpoofChecker$ConfusableDataUtils;
-Landroid/icu/text/SpoofChecker$ConfusableDataUtils;-><init>()V
-Landroid/icu/text/SpoofChecker$ConfusableDataUtils;->codePointAndLengthToKey(II)I
-Landroid/icu/text/SpoofChecker$ConfusableDataUtils;->FORMAT_VERSION:I
-Landroid/icu/text/SpoofChecker$ConfusableDataUtils;->keyToCodePoint(I)I
-Landroid/icu/text/SpoofChecker$ConfusableDataUtils;->keyToLength(I)I
-Landroid/icu/text/SpoofChecker$RestrictionLevel;
-Landroid/icu/text/SpoofChecker$RestrictionLevel;-><init>()V
-Landroid/icu/text/SpoofChecker$RestrictionLevel;->ASCII:Landroid/icu/text/SpoofChecker$RestrictionLevel;
-Landroid/icu/text/SpoofChecker$RestrictionLevel;->HIGHLY_RESTRICTIVE:Landroid/icu/text/SpoofChecker$RestrictionLevel;
-Landroid/icu/text/SpoofChecker$RestrictionLevel;->MINIMALLY_RESTRICTIVE:Landroid/icu/text/SpoofChecker$RestrictionLevel;
-Landroid/icu/text/SpoofChecker$RestrictionLevel;->MODERATELY_RESTRICTIVE:Landroid/icu/text/SpoofChecker$RestrictionLevel;
-Landroid/icu/text/SpoofChecker$RestrictionLevel;->SINGLE_SCRIPT_RESTRICTIVE:Landroid/icu/text/SpoofChecker$RestrictionLevel;
-Landroid/icu/text/SpoofChecker$RestrictionLevel;->UNRESTRICTIVE:Landroid/icu/text/SpoofChecker$RestrictionLevel;
-Landroid/icu/text/SpoofChecker$RestrictionLevel;->valueOf(Ljava/lang/String;)Landroid/icu/text/SpoofChecker$RestrictionLevel;
-Landroid/icu/text/SpoofChecker$RestrictionLevel;->values()[Landroid/icu/text/SpoofChecker$RestrictionLevel;
-Landroid/icu/text/SpoofChecker$ScriptSet;
-Landroid/icu/text/SpoofChecker$ScriptSet;->appendStringTo(Ljava/lang/StringBuilder;)V
-Landroid/icu/text/SpoofChecker$SpoofData$DefaultData;
-Landroid/icu/text/SpoofChecker$SpoofData$DefaultData;-><init>()V
-Landroid/icu/text/SpoofChecker$SpoofData$DefaultData;->EXCEPTION:Ljava/io/IOException;
-Landroid/icu/text/SpoofChecker$SpoofData$DefaultData;->INSTANCE:Landroid/icu/text/SpoofChecker$SpoofData;
-Landroid/icu/text/SpoofChecker$SpoofData$IsAcceptable;
-Landroid/icu/text/SpoofChecker$SpoofData$IsAcceptable;-><init>()V
-Landroid/icu/text/SpoofChecker$SpoofData;
-Landroid/icu/text/SpoofChecker$SpoofData;-><init>()V
-Landroid/icu/text/SpoofChecker$SpoofData;-><init>(Ljava/nio/ByteBuffer;)V
-Landroid/icu/text/SpoofChecker$SpoofData;->appendValueTo(ILjava/lang/StringBuilder;)V
-Landroid/icu/text/SpoofChecker$SpoofData;->codePointAt(I)I
-Landroid/icu/text/SpoofChecker$SpoofData;->confusableLookup(ILjava/lang/StringBuilder;)V
-Landroid/icu/text/SpoofChecker$SpoofData;->DATA_FORMAT:I
-Landroid/icu/text/SpoofChecker$SpoofData;->fCFUKeys:[I
-Landroid/icu/text/SpoofChecker$SpoofData;->fCFUStrings:Ljava/lang/String;
-Landroid/icu/text/SpoofChecker$SpoofData;->fCFUValues:[S
-Landroid/icu/text/SpoofChecker$SpoofData;->getDefault()Landroid/icu/text/SpoofChecker$SpoofData;
-Landroid/icu/text/SpoofChecker$SpoofData;->IS_ACCEPTABLE:Landroid/icu/text/SpoofChecker$SpoofData$IsAcceptable;
-Landroid/icu/text/SpoofChecker$SpoofData;->length()I
-Landroid/icu/text/SpoofChecker$SpoofData;->readData(Ljava/nio/ByteBuffer;)V
-Landroid/icu/text/SpoofChecker;
-Landroid/icu/text/SpoofChecker;-><init>()V
-Landroid/icu/text/SpoofChecker;->ALL_CHECKS:I
-Landroid/icu/text/SpoofChecker;->ANY_CASE:I
-Landroid/icu/text/SpoofChecker;->areConfusable(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/icu/text/SpoofChecker;->ASCII:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/SpoofChecker;->CHAR_LIMIT:I
-Landroid/icu/text/SpoofChecker;->CONFUSABLE:I
-Landroid/icu/text/SpoofChecker;->failsChecks(Ljava/lang/String;)Z
-Landroid/icu/text/SpoofChecker;->failsChecks(Ljava/lang/String;Landroid/icu/text/SpoofChecker$CheckResult;)Z
-Landroid/icu/text/SpoofChecker;->fAllowedCharsSet:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/SpoofChecker;->fAllowedLocales:Ljava/util/Set;
-Landroid/icu/text/SpoofChecker;->fChecks:I
-Landroid/icu/text/SpoofChecker;->fRestrictionLevel:Landroid/icu/text/SpoofChecker$RestrictionLevel;
-Landroid/icu/text/SpoofChecker;->fSpoofData:Landroid/icu/text/SpoofChecker$SpoofData;
-Landroid/icu/text/SpoofChecker;->getAllowedChars()Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/SpoofChecker;->getAllowedJavaLocales()Ljava/util/Set;
-Landroid/icu/text/SpoofChecker;->getAllowedLocales()Ljava/util/Set;
-Landroid/icu/text/SpoofChecker;->getAugmentedScriptSet(ILandroid/icu/text/SpoofChecker$ScriptSet;)V
-Landroid/icu/text/SpoofChecker;->getChecks()I
-Landroid/icu/text/SpoofChecker;->getNumerics(Ljava/lang/String;Landroid/icu/text/UnicodeSet;)V
-Landroid/icu/text/SpoofChecker;->getResolvedScriptSet(Ljava/lang/CharSequence;Landroid/icu/text/SpoofChecker$ScriptSet;)V
-Landroid/icu/text/SpoofChecker;->getResolvedScriptSetWithout(Ljava/lang/CharSequence;ILandroid/icu/text/SpoofChecker$ScriptSet;)V
-Landroid/icu/text/SpoofChecker;->getRestrictionLevel()Landroid/icu/text/SpoofChecker$RestrictionLevel;
-Landroid/icu/text/SpoofChecker;->getRestrictionLevel(Ljava/lang/String;)Landroid/icu/text/SpoofChecker$RestrictionLevel;
-Landroid/icu/text/SpoofChecker;->getSkeleton(ILjava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/SpoofChecker;->getSkeleton(Ljava/lang/CharSequence;)Ljava/lang/String;
-Landroid/icu/text/SpoofChecker;->INCLUSION:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/SpoofChecker;->INVISIBLE:I
-Landroid/icu/text/SpoofChecker;->MIXED_NUMBERS:I
-Landroid/icu/text/SpoofChecker;->MIXED_SCRIPT_CONFUSABLE:I
-Landroid/icu/text/SpoofChecker;->nfdNormalizer:Landroid/icu/text/Normalizer2;
-Landroid/icu/text/SpoofChecker;->RECOMMENDED:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/SpoofChecker;->RESTRICTION_LEVEL:I
-Landroid/icu/text/SpoofChecker;->SINGLE_SCRIPT:I
-Landroid/icu/text/SpoofChecker;->SINGLE_SCRIPT_CONFUSABLE:I
-Landroid/icu/text/SpoofChecker;->WHOLE_SCRIPT_CONFUSABLE:I
-Landroid/icu/text/StringCharacterIterator;
-Landroid/icu/text/StringCharacterIterator;-><init>(Ljava/lang/String;)V
-Landroid/icu/text/StringCharacterIterator;-><init>(Ljava/lang/String;I)V
-Landroid/icu/text/StringCharacterIterator;-><init>(Ljava/lang/String;III)V
-Landroid/icu/text/StringCharacterIterator;->begin:I
-Landroid/icu/text/StringCharacterIterator;->end:I
-Landroid/icu/text/StringCharacterIterator;->pos:I
-Landroid/icu/text/StringCharacterIterator;->setText(Ljava/lang/String;)V
-Landroid/icu/text/StringCharacterIterator;->text:Ljava/lang/String;
-Landroid/icu/text/StringMatcher;
-Landroid/icu/text/StringMatcher;-><init>(Ljava/lang/String;IIILandroid/icu/text/RuleBasedTransliterator$Data;)V
-Landroid/icu/text/StringMatcher;-><init>(Ljava/lang/String;ILandroid/icu/text/RuleBasedTransliterator$Data;)V
-Landroid/icu/text/StringMatcher;->addReplacementSetTo(Landroid/icu/text/UnicodeSet;)V
-Landroid/icu/text/StringMatcher;->data:Landroid/icu/text/RuleBasedTransliterator$Data;
-Landroid/icu/text/StringMatcher;->matchLimit:I
-Landroid/icu/text/StringMatcher;->matchStart:I
-Landroid/icu/text/StringMatcher;->pattern:Ljava/lang/String;
-Landroid/icu/text/StringMatcher;->replace(Landroid/icu/text/Replaceable;II[I)I
-Landroid/icu/text/StringMatcher;->resetMatch()V
-Landroid/icu/text/StringMatcher;->segmentNumber:I
-Landroid/icu/text/StringMatcher;->toReplacerPattern(Z)Ljava/lang/String;
-Landroid/icu/text/StringPrep$Values;
-Landroid/icu/text/StringPrep$Values;-><init>()V
-Landroid/icu/text/StringPrep$Values;->isIndex:Z
-Landroid/icu/text/StringPrep$Values;->reset()V
-Landroid/icu/text/StringPrep$Values;->type:I
-Landroid/icu/text/StringPrep$Values;->value:I
-Landroid/icu/text/StringPrep;
-Landroid/icu/text/StringPrep;-><init>(Ljava/io/InputStream;)V
-Landroid/icu/text/StringPrep;-><init>(Ljava/nio/ByteBuffer;)V
-Landroid/icu/text/StringPrep;->ALLOW_UNASSIGNED:I
-Landroid/icu/text/StringPrep;->bdp:Landroid/icu/impl/UBiDiProps;
-Landroid/icu/text/StringPrep;->CACHE:[Ljava/lang/ref/WeakReference;
-Landroid/icu/text/StringPrep;->checkBiDi:Z
-Landroid/icu/text/StringPrep;->CHECK_BIDI_ON:I
-Landroid/icu/text/StringPrep;->DEFAULT:I
-Landroid/icu/text/StringPrep;->DELETE:I
-Landroid/icu/text/StringPrep;->doNFKC:Z
-Landroid/icu/text/StringPrep;->FOUR_UCHARS_MAPPING_INDEX_START:I
-Landroid/icu/text/StringPrep;->getCodePointValue(I)C
-Landroid/icu/text/StringPrep;->getInstance(I)Landroid/icu/text/StringPrep;
-Landroid/icu/text/StringPrep;->getValues(CLandroid/icu/text/StringPrep$Values;)V
-Landroid/icu/text/StringPrep;->getVersionInfo(I)Landroid/icu/util/VersionInfo;
-Landroid/icu/text/StringPrep;->getVersionInfo([B)Landroid/icu/util/VersionInfo;
-Landroid/icu/text/StringPrep;->indexes:[I
-Landroid/icu/text/StringPrep;->INDEX_MAPPING_DATA_SIZE:I
-Landroid/icu/text/StringPrep;->INDEX_TOP:I
-Landroid/icu/text/StringPrep;->map(Landroid/icu/text/UCharacterIterator;I)Ljava/lang/StringBuffer;
-Landroid/icu/text/StringPrep;->MAP:I
-Landroid/icu/text/StringPrep;->mappingData:[C
-Landroid/icu/text/StringPrep;->MAX_INDEX_VALUE:I
-Landroid/icu/text/StringPrep;->MAX_PROFILE:I
-Landroid/icu/text/StringPrep;->NORMALIZATION_ON:I
-Landroid/icu/text/StringPrep;->normalize(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
-Landroid/icu/text/StringPrep;->normCorrVer:Landroid/icu/util/VersionInfo;
-Landroid/icu/text/StringPrep;->NORM_CORRECTNS_LAST_UNI_VERSION:I
-Landroid/icu/text/StringPrep;->ONE_UCHAR_MAPPING_INDEX_START:I
-Landroid/icu/text/StringPrep;->OPTIONS:I
-Landroid/icu/text/StringPrep;->prepare(Landroid/icu/text/UCharacterIterator;I)Ljava/lang/StringBuffer;
-Landroid/icu/text/StringPrep;->prepare(Ljava/lang/String;I)Ljava/lang/String;
-Landroid/icu/text/StringPrep;->PROFILE_NAMES:[Ljava/lang/String;
-Landroid/icu/text/StringPrep;->PROHIBITED:I
-Landroid/icu/text/StringPrep;->RFC3491_NAMEPREP:I
-Landroid/icu/text/StringPrep;->RFC3530_NFS4_CIS_PREP:I
-Landroid/icu/text/StringPrep;->RFC3530_NFS4_CS_PREP:I
-Landroid/icu/text/StringPrep;->RFC3530_NFS4_CS_PREP_CI:I
-Landroid/icu/text/StringPrep;->RFC3530_NFS4_MIXED_PREP_PREFIX:I
-Landroid/icu/text/StringPrep;->RFC3530_NFS4_MIXED_PREP_SUFFIX:I
-Landroid/icu/text/StringPrep;->RFC3722_ISCSI:I
-Landroid/icu/text/StringPrep;->RFC3920_NODEPREP:I
-Landroid/icu/text/StringPrep;->RFC3920_RESOURCEPREP:I
-Landroid/icu/text/StringPrep;->RFC4011_MIB:I
-Landroid/icu/text/StringPrep;->RFC4013_SASLPREP:I
-Landroid/icu/text/StringPrep;->RFC4505_TRACE:I
-Landroid/icu/text/StringPrep;->RFC4518_LDAP:I
-Landroid/icu/text/StringPrep;->RFC4518_LDAP_CI:I
-Landroid/icu/text/StringPrep;->sprepTrie:Landroid/icu/impl/CharTrie;
-Landroid/icu/text/StringPrep;->sprepUniVer:Landroid/icu/util/VersionInfo;
-Landroid/icu/text/StringPrep;->THREE_UCHARS_MAPPING_INDEX_START:I
-Landroid/icu/text/StringPrep;->TWO_UCHARS_MAPPING_INDEX_START:I
-Landroid/icu/text/StringPrep;->TYPE_LIMIT:I
-Landroid/icu/text/StringPrep;->TYPE_THRESHOLD:I
-Landroid/icu/text/StringPrep;->UNASSIGNED:I
-Landroid/icu/text/StringPrepParseException;->error:I
-Landroid/icu/text/StringPrepParseException;->line:I
-Landroid/icu/text/StringPrepParseException;->PARSE_CONTEXT_LEN:I
-Landroid/icu/text/StringPrepParseException;->postContext:Ljava/lang/StringBuffer;
-Landroid/icu/text/StringPrepParseException;->preContext:Ljava/lang/StringBuffer;
-Landroid/icu/text/StringPrepParseException;->setContext(Ljava/lang/String;I)V
-Landroid/icu/text/StringPrepParseException;->setPostContext(Ljava/lang/String;I)V
-Landroid/icu/text/StringPrepParseException;->setPostContext([CI)V
-Landroid/icu/text/StringPrepParseException;->setPreContext(Ljava/lang/String;I)V
-Landroid/icu/text/StringPrepParseException;->setPreContext([CI)V
-Landroid/icu/text/StringSearch$CEBuffer;
-Landroid/icu/text/StringSearch$CEBuffer;-><init>(Landroid/icu/text/StringSearch;)V
-Landroid/icu/text/StringSearch$CEBuffer;->bufSize_:I
-Landroid/icu/text/StringSearch$CEBuffer;->buf_:[Landroid/icu/text/StringSearch$CEI;
-Landroid/icu/text/StringSearch$CEBuffer;->CEBUFFER_EXTRA:I
-Landroid/icu/text/StringSearch$CEBuffer;->firstIx_:I
-Landroid/icu/text/StringSearch$CEBuffer;->get(I)Landroid/icu/text/StringSearch$CEI;
-Landroid/icu/text/StringSearch$CEBuffer;->getPrevious(I)Landroid/icu/text/StringSearch$CEI;
-Landroid/icu/text/StringSearch$CEBuffer;->limitIx_:I
-Landroid/icu/text/StringSearch$CEBuffer;->MAX_TARGET_IGNORABLES_PER_PAT_JAMO_L:I
-Landroid/icu/text/StringSearch$CEBuffer;->MAX_TARGET_IGNORABLES_PER_PAT_OTHER:I
-Landroid/icu/text/StringSearch$CEBuffer;->MIGHT_BE_JAMO_L(C)Z
-Landroid/icu/text/StringSearch$CEBuffer;->strSearch_:Landroid/icu/text/StringSearch;
-Landroid/icu/text/StringSearch$CEI;
-Landroid/icu/text/StringSearch$CEI;-><init>()V
-Landroid/icu/text/StringSearch$CEI;->ce_:J
-Landroid/icu/text/StringSearch$CEI;->highIndex_:I
-Landroid/icu/text/StringSearch$CEI;->lowIndex_:I
-Landroid/icu/text/StringSearch$CollationPCE$PCEBuffer;
-Landroid/icu/text/StringSearch$CollationPCE$PCEBuffer;-><init>()V
-Landroid/icu/text/StringSearch$CollationPCE$PCEBuffer;->bufferIndex_:I
-Landroid/icu/text/StringSearch$CollationPCE$PCEBuffer;->buffer_:[Landroid/icu/text/StringSearch$CollationPCE$PCEI;
-Landroid/icu/text/StringSearch$CollationPCE$PCEBuffer;->empty()Z
-Landroid/icu/text/StringSearch$CollationPCE$PCEBuffer;->get()Landroid/icu/text/StringSearch$CollationPCE$PCEI;
-Landroid/icu/text/StringSearch$CollationPCE$PCEBuffer;->put(JII)V
-Landroid/icu/text/StringSearch$CollationPCE$PCEBuffer;->reset()V
-Landroid/icu/text/StringSearch$CollationPCE$PCEI;
-Landroid/icu/text/StringSearch$CollationPCE$PCEI;-><init>()V
-Landroid/icu/text/StringSearch$CollationPCE$PCEI;->ce_:J
-Landroid/icu/text/StringSearch$CollationPCE$PCEI;->high_:I
-Landroid/icu/text/StringSearch$CollationPCE$PCEI;->low_:I
-Landroid/icu/text/StringSearch$CollationPCE$Range;
-Landroid/icu/text/StringSearch$CollationPCE$Range;-><init>()V
-Landroid/icu/text/StringSearch$CollationPCE$Range;->ixHigh_:I
-Landroid/icu/text/StringSearch$CollationPCE$Range;->ixLow_:I
-Landroid/icu/text/StringSearch$CollationPCE$RCEBuffer;
-Landroid/icu/text/StringSearch$CollationPCE$RCEBuffer;-><init>()V
-Landroid/icu/text/StringSearch$CollationPCE$RCEBuffer;->bufferIndex_:I
-Landroid/icu/text/StringSearch$CollationPCE$RCEBuffer;->buffer_:[Landroid/icu/text/StringSearch$CollationPCE$RCEI;
-Landroid/icu/text/StringSearch$CollationPCE$RCEBuffer;->empty()Z
-Landroid/icu/text/StringSearch$CollationPCE$RCEBuffer;->get()Landroid/icu/text/StringSearch$CollationPCE$RCEI;
-Landroid/icu/text/StringSearch$CollationPCE$RCEBuffer;->put(III)V
-Landroid/icu/text/StringSearch$CollationPCE$RCEI;
-Landroid/icu/text/StringSearch$CollationPCE$RCEI;-><init>()V
-Landroid/icu/text/StringSearch$CollationPCE$RCEI;->ce_:I
-Landroid/icu/text/StringSearch$CollationPCE$RCEI;->high_:I
-Landroid/icu/text/StringSearch$CollationPCE$RCEI;->low_:I
-Landroid/icu/text/StringSearch$CollationPCE;
-Landroid/icu/text/StringSearch$CollationPCE;-><init>(Landroid/icu/text/CollationElementIterator;)V
-Landroid/icu/text/StringSearch$CollationPCE;->BUFFER_GROW:I
-Landroid/icu/text/StringSearch$CollationPCE;->cei_:Landroid/icu/text/CollationElementIterator;
-Landroid/icu/text/StringSearch$CollationPCE;->CONTINUATION_MARKER:I
-Landroid/icu/text/StringSearch$CollationPCE;->DEFAULT_BUFFER_SIZE:I
-Landroid/icu/text/StringSearch$CollationPCE;->init(Landroid/icu/text/CollationElementIterator;)V
-Landroid/icu/text/StringSearch$CollationPCE;->init(Landroid/icu/text/RuleBasedCollator;)V
-Landroid/icu/text/StringSearch$CollationPCE;->isContinuation(I)Z
-Landroid/icu/text/StringSearch$CollationPCE;->isShifted_:Z
-Landroid/icu/text/StringSearch$CollationPCE;->nextProcessed(Landroid/icu/text/StringSearch$CollationPCE$Range;)J
-Landroid/icu/text/StringSearch$CollationPCE;->pceBuffer_:Landroid/icu/text/StringSearch$CollationPCE$PCEBuffer;
-Landroid/icu/text/StringSearch$CollationPCE;->previousProcessed(Landroid/icu/text/StringSearch$CollationPCE$Range;)J
-Landroid/icu/text/StringSearch$CollationPCE;->PRIMARYORDERMASK:I
-Landroid/icu/text/StringSearch$CollationPCE;->processCE(I)J
-Landroid/icu/text/StringSearch$CollationPCE;->PROCESSED_NULLORDER:J
-Landroid/icu/text/StringSearch$CollationPCE;->strength_:I
-Landroid/icu/text/StringSearch$CollationPCE;->toShift_:Z
-Landroid/icu/text/StringSearch$CollationPCE;->variableTop_:I
-Landroid/icu/text/StringSearch$Match;
-Landroid/icu/text/StringSearch$Match;-><init>()V
-Landroid/icu/text/StringSearch$Match;->limit_:I
-Landroid/icu/text/StringSearch$Match;->start_:I
-Landroid/icu/text/StringSearch$Pattern;
-Landroid/icu/text/StringSearch$Pattern;-><init>(Ljava/lang/String;)V
-Landroid/icu/text/StringSearch$Pattern;->CELength_:I
-Landroid/icu/text/StringSearch$Pattern;->CE_:[I
-Landroid/icu/text/StringSearch$Pattern;->PCELength_:I
-Landroid/icu/text/StringSearch$Pattern;->PCE_:[J
-Landroid/icu/text/StringSearch$Pattern;->text_:Ljava/lang/String;
-Landroid/icu/text/StringSearch;->addToIntArray([IIII)[I
-Landroid/icu/text/StringSearch;->addToLongArray([JIIJI)[J
-Landroid/icu/text/StringSearch;->ceMask_:I
-Landroid/icu/text/StringSearch;->CE_LEVEL2_BASE:I
-Landroid/icu/text/StringSearch;->CE_LEVEL3_BASE:I
-Landroid/icu/text/StringSearch;->CE_MATCH:I
-Landroid/icu/text/StringSearch;->CE_NO_MATCH:I
-Landroid/icu/text/StringSearch;->CE_SKIP_PATN:I
-Landroid/icu/text/StringSearch;->CE_SKIP_TARG:I
-Landroid/icu/text/StringSearch;->checkIdentical(II)Z
-Landroid/icu/text/StringSearch;->codePointAt(Ljava/text/CharacterIterator;I)I
-Landroid/icu/text/StringSearch;->codePointBefore(Ljava/text/CharacterIterator;I)I
-Landroid/icu/text/StringSearch;->collator_:Landroid/icu/text/RuleBasedCollator;
-Landroid/icu/text/StringSearch;->compareCE64s(JJLandroid/icu/text/SearchIterator$ElementComparisonType;)I
-Landroid/icu/text/StringSearch;->getCE(I)I
-Landroid/icu/text/StringSearch;->getMask(I)I
-Landroid/icu/text/StringSearch;->getString(Ljava/text/CharacterIterator;II)Ljava/lang/String;
-Landroid/icu/text/StringSearch;->handleNextCanonical()Z
-Landroid/icu/text/StringSearch;->handleNextCommonImpl()Z
-Landroid/icu/text/StringSearch;->handleNextExact()Z
-Landroid/icu/text/StringSearch;->handlePreviousCanonical()Z
-Landroid/icu/text/StringSearch;->handlePreviousCommonImpl()Z
-Landroid/icu/text/StringSearch;->handlePreviousExact()Z
-Landroid/icu/text/StringSearch;->initialize()V
-Landroid/icu/text/StringSearch;->initializePattern()I
-Landroid/icu/text/StringSearch;->initializePatternCETable()I
-Landroid/icu/text/StringSearch;->initializePatternPCETable()I
-Landroid/icu/text/StringSearch;->INITIAL_ARRAY_SIZE_:I
-Landroid/icu/text/StringSearch;->initTextProcessedIter()Z
-Landroid/icu/text/StringSearch;->isBreakBoundary(I)Z
-Landroid/icu/text/StringSearch;->isOutOfBounds(III)Z
-Landroid/icu/text/StringSearch;->nextBoundaryAfter(I)I
-Landroid/icu/text/StringSearch;->nfd_:Landroid/icu/text/Normalizer2;
-Landroid/icu/text/StringSearch;->pattern_:Landroid/icu/text/StringSearch$Pattern;
-Landroid/icu/text/StringSearch;->PRIMARYORDERMASK:I
-Landroid/icu/text/StringSearch;->search(ILandroid/icu/text/StringSearch$Match;)Z
-Landroid/icu/text/StringSearch;->searchBackwards(ILandroid/icu/text/StringSearch$Match;)Z
-Landroid/icu/text/StringSearch;->SECONDARYORDERMASK:I
-Landroid/icu/text/StringSearch;->setMatchNotFound()V
-Landroid/icu/text/StringSearch;->strength_:I
-Landroid/icu/text/StringSearch;->TERTIARYORDERMASK:I
-Landroid/icu/text/StringSearch;->textIter_:Landroid/icu/text/CollationElementIterator;
-Landroid/icu/text/StringSearch;->textProcessedIter_:Landroid/icu/text/StringSearch$CollationPCE;
-Landroid/icu/text/StringSearch;->toShift_:Z
-Landroid/icu/text/StringSearch;->utilIter_:Landroid/icu/text/CollationElementIterator;
-Landroid/icu/text/StringSearch;->variableTop_:I
-Landroid/icu/text/StringTransform;
-Landroid/icu/text/StringTransform;->transform(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/TimeUnitFormat$TimeUnitFormatSetupSink;
-Landroid/icu/text/TimeUnitFormat$TimeUnitFormatSetupSink;-><init>(Ljava/util/Map;ILjava/util/Set;Landroid/icu/util/ULocale;)V
-Landroid/icu/text/TimeUnitFormat$TimeUnitFormatSetupSink;->beenHere:Z
-Landroid/icu/text/TimeUnitFormat$TimeUnitFormatSetupSink;->locale:Landroid/icu/util/ULocale;
-Landroid/icu/text/TimeUnitFormat$TimeUnitFormatSetupSink;->pluralKeywords:Ljava/util/Set;
-Landroid/icu/text/TimeUnitFormat$TimeUnitFormatSetupSink;->style:I
-Landroid/icu/text/TimeUnitFormat$TimeUnitFormatSetupSink;->timeUnitToCountToPatterns:Ljava/util/Map;
-Landroid/icu/text/TimeUnitFormat;
-Landroid/icu/text/TimeUnitFormat;-><init>()V
-Landroid/icu/text/TimeUnitFormat;-><init>(Landroid/icu/util/ULocale;)V
-Landroid/icu/text/TimeUnitFormat;-><init>(Landroid/icu/util/ULocale;I)V
-Landroid/icu/text/TimeUnitFormat;-><init>(Landroid/icu/util/ULocale;ILandroid/icu/text/NumberFormat;)V
-Landroid/icu/text/TimeUnitFormat;-><init>(Ljava/util/Locale;)V
-Landroid/icu/text/TimeUnitFormat;-><init>(Ljava/util/Locale;I)V
-Landroid/icu/text/TimeUnitFormat;->ABBREVIATED_NAME:I
-Landroid/icu/text/TimeUnitFormat;->DEFAULT_PATTERN_FOR_DAY:Ljava/lang/String;
-Landroid/icu/text/TimeUnitFormat;->DEFAULT_PATTERN_FOR_HOUR:Ljava/lang/String;
-Landroid/icu/text/TimeUnitFormat;->DEFAULT_PATTERN_FOR_MINUTE:Ljava/lang/String;
-Landroid/icu/text/TimeUnitFormat;->DEFAULT_PATTERN_FOR_MONTH:Ljava/lang/String;
-Landroid/icu/text/TimeUnitFormat;->DEFAULT_PATTERN_FOR_SECOND:Ljava/lang/String;
-Landroid/icu/text/TimeUnitFormat;->DEFAULT_PATTERN_FOR_WEEK:Ljava/lang/String;
-Landroid/icu/text/TimeUnitFormat;->DEFAULT_PATTERN_FOR_YEAR:Ljava/lang/String;
-Landroid/icu/text/TimeUnitFormat;->format:Landroid/icu/text/NumberFormat;
-Landroid/icu/text/TimeUnitFormat;->FULL_NAME:I
-Landroid/icu/text/TimeUnitFormat;->isReady:Z
-Landroid/icu/text/TimeUnitFormat;->locale:Landroid/icu/util/ULocale;
-Landroid/icu/text/TimeUnitFormat;->mf:Landroid/icu/text/MeasureFormat;
-Landroid/icu/text/TimeUnitFormat;->pluralRules:Landroid/icu/text/PluralRules;
-Landroid/icu/text/TimeUnitFormat;->searchInTree(Ljava/lang/String;ILandroid/icu/util/TimeUnit;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
-Landroid/icu/text/TimeUnitFormat;->setLocale(Landroid/icu/util/ULocale;)Landroid/icu/text/TimeUnitFormat;
-Landroid/icu/text/TimeUnitFormat;->setLocale(Ljava/util/Locale;)Landroid/icu/text/TimeUnitFormat;
-Landroid/icu/text/TimeUnitFormat;->setNumberFormat(Landroid/icu/text/NumberFormat;)Landroid/icu/text/TimeUnitFormat;
-Landroid/icu/text/TimeUnitFormat;->setup()V
-Landroid/icu/text/TimeUnitFormat;->setup(Ljava/lang/String;Ljava/util/Map;ILjava/util/Set;)V
-Landroid/icu/text/TimeUnitFormat;->style:I
-Landroid/icu/text/TimeUnitFormat;->timeUnitToCountToPatterns:Ljava/util/Map;
-Landroid/icu/text/TimeUnitFormat;->TOTAL_STYLES:I
-Landroid/icu/text/TimeZoneFormat$GMTOffsetField;
-Landroid/icu/text/TimeZoneFormat$GMTOffsetField;-><init>(CI)V
-Landroid/icu/text/TimeZoneFormat$GMTOffsetField;->getType()C
-Landroid/icu/text/TimeZoneFormat$GMTOffsetField;->getWidth()I
-Landroid/icu/text/TimeZoneFormat$GMTOffsetField;->isValid(CI)Z
-Landroid/icu/text/TimeZoneFormat$GMTOffsetField;->_type:C
-Landroid/icu/text/TimeZoneFormat$GMTOffsetField;->_width:I
-Landroid/icu/text/TimeZoneFormat$GMTOffsetPatternType;-><init>(Ljava/lang/String;Ljava/lang/String;Z)V
-Landroid/icu/text/TimeZoneFormat$GMTOffsetPatternType;->defaultPattern()Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat$GMTOffsetPatternType;->isPositive()Z
-Landroid/icu/text/TimeZoneFormat$GMTOffsetPatternType;->required()Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat$GMTOffsetPatternType;->_defaultPattern:Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat$GMTOffsetPatternType;->_isPositive:Z
-Landroid/icu/text/TimeZoneFormat$GMTOffsetPatternType;->_required:Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat$OffsetFields;
-Landroid/icu/text/TimeZoneFormat$OffsetFields;-><init>()V
-Landroid/icu/text/TimeZoneFormat$OffsetFields;->H:Landroid/icu/text/TimeZoneFormat$OffsetFields;
-Landroid/icu/text/TimeZoneFormat$OffsetFields;->HM:Landroid/icu/text/TimeZoneFormat$OffsetFields;
-Landroid/icu/text/TimeZoneFormat$OffsetFields;->HMS:Landroid/icu/text/TimeZoneFormat$OffsetFields;
-Landroid/icu/text/TimeZoneFormat$OffsetFields;->valueOf(Ljava/lang/String;)Landroid/icu/text/TimeZoneFormat$OffsetFields;
-Landroid/icu/text/TimeZoneFormat$OffsetFields;->values()[Landroid/icu/text/TimeZoneFormat$OffsetFields;
-Landroid/icu/text/TimeZoneFormat$ParseOption;-><init>()V
-Landroid/icu/text/TimeZoneFormat$Style;-><init>(I)V
-Landroid/icu/text/TimeZoneFormat$Style;->flag:I
-Landroid/icu/text/TimeZoneFormat$TimeType;-><init>()V
-Landroid/icu/text/TimeZoneFormat$TimeZoneFormatCache;
-Landroid/icu/text/TimeZoneFormat$TimeZoneFormatCache;-><init>()V
-Landroid/icu/text/TimeZoneFormat$TimeZoneFormatCache;->createInstance(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)Landroid/icu/text/TimeZoneFormat;
-Landroid/icu/text/TimeZoneFormat;->ALL_GENERIC_NAME_TYPES:Ljava/util/EnumSet;
-Landroid/icu/text/TimeZoneFormat;->ALL_SIMPLE_NAME_TYPES:Ljava/util/EnumSet;
-Landroid/icu/text/TimeZoneFormat;->ALT_GMT_STRINGS:[Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->appendOffsetDigits(Ljava/lang/StringBuilder;II)V
-Landroid/icu/text/TimeZoneFormat;->ASCII_DIGITS:Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->checkAbuttingHoursAndMinutes()V
-Landroid/icu/text/TimeZoneFormat;->DEFAULT_GMT_DIGITS:[Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->DEFAULT_GMT_OFFSET_SEP:C
-Landroid/icu/text/TimeZoneFormat;->DEFAULT_GMT_PATTERN:Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->DEFAULT_GMT_ZERO:Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->expandOffsetPattern(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->formatExemplarLocation(Landroid/icu/util/TimeZone;)Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->formatOffsetISO8601(IZZZZ)Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->formatOffsetLocalizedGMT(IZ)Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->formatSpecific(Landroid/icu/util/TimeZone;Landroid/icu/text/TimeZoneNames$NameType;Landroid/icu/text/TimeZoneNames$NameType;JLandroid/icu/util/Output;)Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->getTargetRegion()Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->getTimeType(Landroid/icu/text/TimeZoneNames$NameType;)Landroid/icu/text/TimeZoneFormat$TimeType;
-Landroid/icu/text/TimeZoneFormat;->getTimeZoneForOffset(I)Landroid/icu/util/TimeZone;
-Landroid/icu/text/TimeZoneFormat;->getTimeZoneGenericNames()Landroid/icu/impl/TimeZoneGenericNames;
-Landroid/icu/text/TimeZoneFormat;->getTimeZoneID(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->getTZDBTimeZoneNames()Landroid/icu/text/TimeZoneNames;
-Landroid/icu/text/TimeZoneFormat;->initGMTOffsetPatterns([Ljava/lang/String;)V
-Landroid/icu/text/TimeZoneFormat;->initGMTPattern(Ljava/lang/String;)V
-Landroid/icu/text/TimeZoneFormat;->ISO8601_UTC:Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->ISO_LOCAL_STYLE_FLAG:I
-Landroid/icu/text/TimeZoneFormat;->ISO_Z_STYLE_FLAG:I
-Landroid/icu/text/TimeZoneFormat;->MAX_OFFSET:I
-Landroid/icu/text/TimeZoneFormat;->MAX_OFFSET_HOUR:I
-Landroid/icu/text/TimeZoneFormat;->MAX_OFFSET_MINUTE:I
-Landroid/icu/text/TimeZoneFormat;->MAX_OFFSET_SECOND:I
-Landroid/icu/text/TimeZoneFormat;->MILLIS_PER_HOUR:I
-Landroid/icu/text/TimeZoneFormat;->MILLIS_PER_MINUTE:I
-Landroid/icu/text/TimeZoneFormat;->MILLIS_PER_SECOND:I
-Landroid/icu/text/TimeZoneFormat;->parseAbuttingAsciiOffsetFields(Ljava/lang/String;Ljava/text/ParsePosition;Landroid/icu/text/TimeZoneFormat$OffsetFields;Landroid/icu/text/TimeZoneFormat$OffsetFields;Z)I
-Landroid/icu/text/TimeZoneFormat;->parseAbuttingOffsetFields(Ljava/lang/String;I[I)I
-Landroid/icu/text/TimeZoneFormat;->parseAsciiOffsetFields(Ljava/lang/String;Ljava/text/ParsePosition;CLandroid/icu/text/TimeZoneFormat$OffsetFields;Landroid/icu/text/TimeZoneFormat$OffsetFields;)I
-Landroid/icu/text/TimeZoneFormat;->parseDefaultOffsetFields(Ljava/lang/String;IC[I)I
-Landroid/icu/text/TimeZoneFormat;->parseExemplarLocation(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->parseOffsetDefaultLocalizedGMT(Ljava/lang/String;I[I)I
-Landroid/icu/text/TimeZoneFormat;->parseOffsetFields(Ljava/lang/String;IZ[I)I
-Landroid/icu/text/TimeZoneFormat;->parseOffsetFieldsWithPattern(Ljava/lang/String;I[Ljava/lang/Object;Z[I)I
-Landroid/icu/text/TimeZoneFormat;->parseOffsetFieldWithLocalizedDigits(Ljava/lang/String;IIIII[I)I
-Landroid/icu/text/TimeZoneFormat;->parseOffsetISO8601(Ljava/lang/String;Ljava/text/ParsePosition;ZLandroid/icu/util/Output;)I
-Landroid/icu/text/TimeZoneFormat;->parseOffsetLocalizedGMT(Ljava/lang/String;Ljava/text/ParsePosition;ZLandroid/icu/util/Output;)I
-Landroid/icu/text/TimeZoneFormat;->parseOffsetLocalizedGMTPattern(Ljava/lang/String;IZ[I)I
-Landroid/icu/text/TimeZoneFormat;->parseOffsetPattern(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/Object;
-Landroid/icu/text/TimeZoneFormat;->parseShortZoneID(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->parseSingleLocalizedDigit(Ljava/lang/String;I[I)I
-Landroid/icu/text/TimeZoneFormat;->parseZoneID(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->PARSE_GMT_OFFSET_TYPES:[Landroid/icu/text/TimeZoneFormat$GMTOffsetPatternType;
-Landroid/icu/text/TimeZoneFormat;->SHORT_ZONE_ID_TRIE:Landroid/icu/impl/TextTrieMap;
-Landroid/icu/text/TimeZoneFormat;->toCodePoints(Ljava/lang/String;)[Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->truncateOffsetPattern(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->TZID_GMT:Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->UNKNOWN_LOCATION:Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->UNKNOWN_OFFSET:I
-Landroid/icu/text/TimeZoneFormat;->UNKNOWN_SHORT_ZONE_ID:Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->UNKNOWN_ZONE_ID:Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->unquote(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->ZONE_ID_TRIE:Landroid/icu/impl/TextTrieMap;
-Landroid/icu/text/TimeZoneFormat;->_abuttingOffsetHoursAndMinutes:Z
-Landroid/icu/text/TimeZoneFormat;->_frozen:Z
-Landroid/icu/text/TimeZoneFormat;->_gmtOffsetDigits:[Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->_gmtOffsetPatternItems:[[Ljava/lang/Object;
-Landroid/icu/text/TimeZoneFormat;->_gmtOffsetPatterns:[Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->_gmtPattern:Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->_gmtPatternPrefix:Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->_gmtPatternSuffix:Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->_gmtZeroFormat:Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->_gnames:Landroid/icu/impl/TimeZoneGenericNames;
-Landroid/icu/text/TimeZoneFormat;->_locale:Landroid/icu/util/ULocale;
-Landroid/icu/text/TimeZoneFormat;->_parseAllStyles:Z
-Landroid/icu/text/TimeZoneFormat;->_parseTZDBNames:Z
-Landroid/icu/text/TimeZoneFormat;->_region:Ljava/lang/String;
-Landroid/icu/text/TimeZoneFormat;->_tzdbNames:Landroid/icu/text/TimeZoneNames;
-Landroid/icu/text/TimeZoneFormat;->_tzfCache:Landroid/icu/text/TimeZoneFormat$TimeZoneFormatCache;
-Landroid/icu/text/TimeZoneFormat;->_tznames:Landroid/icu/text/TimeZoneNames;
-Landroid/icu/text/TimeZoneNames$Cache;
-Landroid/icu/text/TimeZoneNames$Cache;-><init>()V
-Landroid/icu/text/TimeZoneNames$Cache;->createInstance(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/TimeZoneNames;
-Landroid/icu/text/TimeZoneNames$DefaultTimeZoneNames$FactoryImpl;
-Landroid/icu/text/TimeZoneNames$DefaultTimeZoneNames$FactoryImpl;->getTimeZoneNames(Landroid/icu/util/ULocale;)Landroid/icu/text/TimeZoneNames;
-Landroid/icu/text/TimeZoneNames$DefaultTimeZoneNames;
-Landroid/icu/text/TimeZoneNames$DefaultTimeZoneNames;-><init>()V
-Landroid/icu/text/TimeZoneNames$DefaultTimeZoneNames;->find(Ljava/lang/CharSequence;ILjava/util/EnumSet;)Ljava/util/Collection;
-Landroid/icu/text/TimeZoneNames$DefaultTimeZoneNames;->INSTANCE:Landroid/icu/text/TimeZoneNames$DefaultTimeZoneNames;
-Landroid/icu/text/TimeZoneNames$Factory;
-Landroid/icu/text/TimeZoneNames$Factory;-><init>()V
-Landroid/icu/text/TimeZoneNames$Factory;->getTimeZoneNames(Landroid/icu/util/ULocale;)Landroid/icu/text/TimeZoneNames;
-Landroid/icu/text/TimeZoneNames$MatchInfo;
-Landroid/icu/text/TimeZoneNames$MatchInfo;-><init>(Landroid/icu/text/TimeZoneNames$NameType;Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/icu/text/TimeZoneNames$MatchInfo;->matchLength()I
-Landroid/icu/text/TimeZoneNames$MatchInfo;->mzID()Ljava/lang/String;
-Landroid/icu/text/TimeZoneNames$MatchInfo;->nameType()Landroid/icu/text/TimeZoneNames$NameType;
-Landroid/icu/text/TimeZoneNames$MatchInfo;->tzID()Ljava/lang/String;
-Landroid/icu/text/TimeZoneNames$MatchInfo;->_matchLength:I
-Landroid/icu/text/TimeZoneNames$MatchInfo;->_mzID:Ljava/lang/String;
-Landroid/icu/text/TimeZoneNames$MatchInfo;->_nameType:Landroid/icu/text/TimeZoneNames$NameType;
-Landroid/icu/text/TimeZoneNames$MatchInfo;->_tzID:Ljava/lang/String;
-Landroid/icu/text/TimeZoneNames$NameType;-><init>()V
-Landroid/icu/text/TimeZoneNames;-><init>()V
-Landroid/icu/text/TimeZoneNames;->DEFAULT_FACTORY_CLASS:Ljava/lang/String;
-Landroid/icu/text/TimeZoneNames;->FACTORY_NAME_PROP:Ljava/lang/String;
-Landroid/icu/text/TimeZoneNames;->find(Ljava/lang/CharSequence;ILjava/util/EnumSet;)Ljava/util/Collection;
-Landroid/icu/text/TimeZoneNames;->getDisplayNames(Ljava/lang/String;[Landroid/icu/text/TimeZoneNames$NameType;J[Ljava/lang/String;I)V
-Landroid/icu/text/TimeZoneNames;->loadAllDisplayNames()V
-Landroid/icu/text/TimeZoneNames;->TZNAMES_CACHE:Landroid/icu/text/TimeZoneNames$Cache;
-Landroid/icu/text/TimeZoneNames;->TZNAMES_FACTORY:Landroid/icu/text/TimeZoneNames$Factory;
-Landroid/icu/text/Transform;
-Landroid/icu/text/Transform;->transform(Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/icu/text/TransliterationRule;
-Landroid/icu/text/TransliterationRule;-><init>(Ljava/lang/String;IILjava/lang/String;II[Landroid/icu/text/UnicodeMatcher;ZZLandroid/icu/text/RuleBasedTransliterator$Data;)V
-Landroid/icu/text/TransliterationRule;->addSourceTargetSet(Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet;)V
-Landroid/icu/text/TransliterationRule;->ANCHOR_END:I
-Landroid/icu/text/TransliterationRule;->ANCHOR_START:I
-Landroid/icu/text/TransliterationRule;->anteContext:Landroid/icu/text/StringMatcher;
-Landroid/icu/text/TransliterationRule;->anteContextLength:I
-Landroid/icu/text/TransliterationRule;->data:Landroid/icu/text/RuleBasedTransliterator$Data;
-Landroid/icu/text/TransliterationRule;->flags:B
-Landroid/icu/text/TransliterationRule;->getAnteContextLength()I
-Landroid/icu/text/TransliterationRule;->getIndexValue()I
-Landroid/icu/text/TransliterationRule;->key:Landroid/icu/text/StringMatcher;
-Landroid/icu/text/TransliterationRule;->keyLength:I
-Landroid/icu/text/TransliterationRule;->masks(Landroid/icu/text/TransliterationRule;)Z
-Landroid/icu/text/TransliterationRule;->matchAndReplace(Landroid/icu/text/Replaceable;Landroid/icu/text/Transliterator$Position;Z)I
-Landroid/icu/text/TransliterationRule;->matchesIndexValue(I)Z
-Landroid/icu/text/TransliterationRule;->output:Landroid/icu/text/UnicodeReplacer;
-Landroid/icu/text/TransliterationRule;->pattern:Ljava/lang/String;
-Landroid/icu/text/TransliterationRule;->posAfter(Landroid/icu/text/Replaceable;I)I
-Landroid/icu/text/TransliterationRule;->posBefore(Landroid/icu/text/Replaceable;I)I
-Landroid/icu/text/TransliterationRule;->postContext:Landroid/icu/text/StringMatcher;
-Landroid/icu/text/TransliterationRule;->segments:[Landroid/icu/text/UnicodeMatcher;
-Landroid/icu/text/TransliterationRule;->toRule(Z)Ljava/lang/String;
-Landroid/icu/text/TransliterationRuleSet;
-Landroid/icu/text/TransliterationRuleSet;-><init>()V
-Landroid/icu/text/TransliterationRuleSet;->addRule(Landroid/icu/text/TransliterationRule;)V
-Landroid/icu/text/TransliterationRuleSet;->addSourceTargetSet(Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet;)V
-Landroid/icu/text/TransliterationRuleSet;->freeze()V
-Landroid/icu/text/TransliterationRuleSet;->getMaximumContextLength()I
-Landroid/icu/text/TransliterationRuleSet;->index:[I
-Landroid/icu/text/TransliterationRuleSet;->maxContextLength:I
-Landroid/icu/text/TransliterationRuleSet;->rules:[Landroid/icu/text/TransliterationRule;
-Landroid/icu/text/TransliterationRuleSet;->ruleVector:Ljava/util/List;
-Landroid/icu/text/TransliterationRuleSet;->toRules(Z)Ljava/lang/String;
-Landroid/icu/text/TransliterationRuleSet;->transliterate(Landroid/icu/text/Replaceable;Landroid/icu/text/Transliterator$Position;Z)Z
-Landroid/icu/text/Transliterator$Factory;
-Landroid/icu/text/Transliterator$Factory;->getInstance(Ljava/lang/String;)Landroid/icu/text/Transliterator;
-Landroid/icu/text/Transliterator$Position;
-Landroid/icu/text/Transliterator$Position;-><init>()V
-Landroid/icu/text/Transliterator$Position;-><init>(III)V
-Landroid/icu/text/Transliterator$Position;-><init>(IIII)V
-Landroid/icu/text/Transliterator$Position;-><init>(Landroid/icu/text/Transliterator$Position;)V
-Landroid/icu/text/Transliterator$Position;->contextLimit:I
-Landroid/icu/text/Transliterator$Position;->contextStart:I
-Landroid/icu/text/Transliterator$Position;->limit:I
-Landroid/icu/text/Transliterator$Position;->set(Landroid/icu/text/Transliterator$Position;)V
-Landroid/icu/text/Transliterator$Position;->start:I
-Landroid/icu/text/Transliterator$Position;->validate(I)V
-Landroid/icu/text/Transliterator;
-Landroid/icu/text/Transliterator;-><init>(Ljava/lang/String;Landroid/icu/text/UnicodeFilter;)V
-Landroid/icu/text/Transliterator;->addSourceTargetSet(Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet;)V
-Landroid/icu/text/Transliterator;->baseToRules(Z)Ljava/lang/String;
-Landroid/icu/text/Transliterator;->DEBUG:Z
-Landroid/icu/text/Transliterator;->displayNameCache:Ljava/util/Map;
-Landroid/icu/text/Transliterator;->filter:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/Transliterator;->filteredTransliterate(Landroid/icu/text/Replaceable;Landroid/icu/text/Transliterator$Position;Z)V
-Landroid/icu/text/Transliterator;->filteredTransliterate(Landroid/icu/text/Replaceable;Landroid/icu/text/Transliterator$Position;ZZ)V
-Landroid/icu/text/Transliterator;->finishTransliteration(Landroid/icu/text/Replaceable;Landroid/icu/text/Transliterator$Position;)V
-Landroid/icu/text/Transliterator;->FORWARD:I
-Landroid/icu/text/Transliterator;->getAvailableIDs()Ljava/util/Enumeration;
-Landroid/icu/text/Transliterator;->getAvailableSources()Ljava/util/Enumeration;
-Landroid/icu/text/Transliterator;->getAvailableTargets(Ljava/lang/String;)Ljava/util/Enumeration;
-Landroid/icu/text/Transliterator;->getAvailableVariants(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Enumeration;
-Landroid/icu/text/Transliterator;->getBasicInstance(Ljava/lang/String;Ljava/lang/String;)Landroid/icu/text/Transliterator;
-Landroid/icu/text/Transliterator;->getDisplayName(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/Transliterator;->getDisplayName(Ljava/lang/String;Landroid/icu/util/ULocale;)Ljava/lang/String;
-Landroid/icu/text/Transliterator;->getDisplayName(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
-Landroid/icu/text/Transliterator;->getElements()[Landroid/icu/text/Transliterator;
-Landroid/icu/text/Transliterator;->getFilter()Landroid/icu/text/UnicodeFilter;
-Landroid/icu/text/Transliterator;->getFilterAsUnicodeSet(Landroid/icu/text/UnicodeSet;)Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/Transliterator;->getID()Ljava/lang/String;
-Landroid/icu/text/Transliterator;->getInverse()Landroid/icu/text/Transliterator;
-Landroid/icu/text/Transliterator;->getMaximumContextLength()I
-Landroid/icu/text/Transliterator;->getSourceSet()Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/Transliterator;->getTargetSet()Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/Transliterator;->handleGetSourceSet()Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/Transliterator;->handleTransliterate(Landroid/icu/text/Replaceable;Landroid/icu/text/Transliterator$Position;Z)V
-Landroid/icu/text/Transliterator;->ID:Ljava/lang/String;
-Landroid/icu/text/Transliterator;->ID_DELIM:C
-Landroid/icu/text/Transliterator;->ID_SEP:C
-Landroid/icu/text/Transliterator;->maximumContextLength:I
-Landroid/icu/text/Transliterator;->RB_DISPLAY_NAME_PATTERN:Ljava/lang/String;
-Landroid/icu/text/Transliterator;->RB_DISPLAY_NAME_PREFIX:Ljava/lang/String;
-Landroid/icu/text/Transliterator;->RB_RULE_BASED_IDS:Ljava/lang/String;
-Landroid/icu/text/Transliterator;->RB_SCRIPT_DISPLAY_NAME_PREFIX:Ljava/lang/String;
-Landroid/icu/text/Transliterator;->registerAlias(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/text/Transliterator;->registerAny()V
-Landroid/icu/text/Transliterator;->registerClass(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;)V
-Landroid/icu/text/Transliterator;->registerFactory(Ljava/lang/String;Landroid/icu/text/Transliterator$Factory;)V
-Landroid/icu/text/Transliterator;->registerInstance(Landroid/icu/text/Transliterator;)V
-Landroid/icu/text/Transliterator;->registerInstance(Landroid/icu/text/Transliterator;Z)V
-Landroid/icu/text/Transliterator;->registerSpecialInverse(Ljava/lang/String;Ljava/lang/String;Z)V
-Landroid/icu/text/Transliterator;->registry:Landroid/icu/text/TransliteratorRegistry;
-Landroid/icu/text/Transliterator;->REVERSE:I
-Landroid/icu/text/Transliterator;->ROOT:Ljava/lang/String;
-Landroid/icu/text/Transliterator;->setFilter(Landroid/icu/text/UnicodeFilter;)V
-Landroid/icu/text/Transliterator;->setID(Ljava/lang/String;)V
-Landroid/icu/text/Transliterator;->setMaximumContextLength(I)V
-Landroid/icu/text/Transliterator;->toRules(Z)Ljava/lang/String;
-Landroid/icu/text/Transliterator;->transform(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/Transliterator;->transliterate(Landroid/icu/text/Replaceable;)V
-Landroid/icu/text/Transliterator;->transliterate(Landroid/icu/text/Replaceable;II)I
-Landroid/icu/text/Transliterator;->transliterate(Landroid/icu/text/Replaceable;Landroid/icu/text/Transliterator$Position;)V
-Landroid/icu/text/Transliterator;->transliterate(Landroid/icu/text/Replaceable;Landroid/icu/text/Transliterator$Position;I)V
-Landroid/icu/text/Transliterator;->unregister(Ljava/lang/String;)V
-Landroid/icu/text/Transliterator;->VARIANT_SEP:C
-Landroid/icu/text/TransliteratorRegistry$AliasEntry;
-Landroid/icu/text/TransliteratorRegistry$AliasEntry;-><init>(Ljava/lang/String;)V
-Landroid/icu/text/TransliteratorRegistry$AliasEntry;->alias:Ljava/lang/String;
-Landroid/icu/text/TransliteratorRegistry$CompoundRBTEntry;
-Landroid/icu/text/TransliteratorRegistry$CompoundRBTEntry;-><init>(Ljava/lang/String;Ljava/util/List;Ljava/util/List;Landroid/icu/text/UnicodeSet;)V
-Landroid/icu/text/TransliteratorRegistry$CompoundRBTEntry;->compoundFilter:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/TransliteratorRegistry$CompoundRBTEntry;->dataVector:Ljava/util/List;
-Landroid/icu/text/TransliteratorRegistry$CompoundRBTEntry;->getInstance()Landroid/icu/text/Transliterator;
-Landroid/icu/text/TransliteratorRegistry$CompoundRBTEntry;->ID:Ljava/lang/String;
-Landroid/icu/text/TransliteratorRegistry$CompoundRBTEntry;->idBlockVector:Ljava/util/List;
-Landroid/icu/text/TransliteratorRegistry$IDEnumeration;
-Landroid/icu/text/TransliteratorRegistry$IDEnumeration;-><init>(Ljava/util/Enumeration;)V
-Landroid/icu/text/TransliteratorRegistry$IDEnumeration;->en:Ljava/util/Enumeration;
-Landroid/icu/text/TransliteratorRegistry$LocaleEntry;
-Landroid/icu/text/TransliteratorRegistry$LocaleEntry;-><init>(Ljava/lang/String;I)V
-Landroid/icu/text/TransliteratorRegistry$LocaleEntry;->direction:I
-Landroid/icu/text/TransliteratorRegistry$LocaleEntry;->rule:Ljava/lang/String;
-Landroid/icu/text/TransliteratorRegistry$ResourceEntry;
-Landroid/icu/text/TransliteratorRegistry$ResourceEntry;-><init>(Ljava/lang/String;I)V
-Landroid/icu/text/TransliteratorRegistry$ResourceEntry;->direction:I
-Landroid/icu/text/TransliteratorRegistry$ResourceEntry;->resource:Ljava/lang/String;
-Landroid/icu/text/TransliteratorRegistry$Spec;
-Landroid/icu/text/TransliteratorRegistry$Spec;-><init>(Ljava/lang/String;)V
-Landroid/icu/text/TransliteratorRegistry$Spec;->get()Ljava/lang/String;
-Landroid/icu/text/TransliteratorRegistry$Spec;->getBundle()Ljava/util/ResourceBundle;
-Landroid/icu/text/TransliteratorRegistry$Spec;->getTop()Ljava/lang/String;
-Landroid/icu/text/TransliteratorRegistry$Spec;->hasFallback()Z
-Landroid/icu/text/TransliteratorRegistry$Spec;->isLocale()Z
-Landroid/icu/text/TransliteratorRegistry$Spec;->isNextLocale:Z
-Landroid/icu/text/TransliteratorRegistry$Spec;->isSpecLocale:Z
-Landroid/icu/text/TransliteratorRegistry$Spec;->next()Ljava/lang/String;
-Landroid/icu/text/TransliteratorRegistry$Spec;->nextSpec:Ljava/lang/String;
-Landroid/icu/text/TransliteratorRegistry$Spec;->res:Landroid/icu/impl/ICUResourceBundle;
-Landroid/icu/text/TransliteratorRegistry$Spec;->reset()V
-Landroid/icu/text/TransliteratorRegistry$Spec;->scriptName:Ljava/lang/String;
-Landroid/icu/text/TransliteratorRegistry$Spec;->setupNext()V
-Landroid/icu/text/TransliteratorRegistry$Spec;->spec:Ljava/lang/String;
-Landroid/icu/text/TransliteratorRegistry$Spec;->top:Ljava/lang/String;
-Landroid/icu/text/TransliteratorRegistry;
-Landroid/icu/text/TransliteratorRegistry;-><init>()V
-Landroid/icu/text/TransliteratorRegistry;->ANY:Ljava/lang/String;
-Landroid/icu/text/TransliteratorRegistry;->availableIDs:Ljava/util/List;
-Landroid/icu/text/TransliteratorRegistry;->DEBUG:Z
-Landroid/icu/text/TransliteratorRegistry;->find(Ljava/lang/String;)[Ljava/lang/Object;
-Landroid/icu/text/TransliteratorRegistry;->find(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/Object;
-Landroid/icu/text/TransliteratorRegistry;->findInBundle(Landroid/icu/text/TransliteratorRegistry$Spec;Landroid/icu/text/TransliteratorRegistry$Spec;Ljava/lang/String;I)[Ljava/lang/Object;
-Landroid/icu/text/TransliteratorRegistry;->findInDynamicStore(Landroid/icu/text/TransliteratorRegistry$Spec;Landroid/icu/text/TransliteratorRegistry$Spec;Ljava/lang/String;)[Ljava/lang/Object;
-Landroid/icu/text/TransliteratorRegistry;->findInStaticStore(Landroid/icu/text/TransliteratorRegistry$Spec;Landroid/icu/text/TransliteratorRegistry$Spec;Ljava/lang/String;)[Ljava/lang/Object;
-Landroid/icu/text/TransliteratorRegistry;->get(Ljava/lang/String;Ljava/lang/StringBuffer;)Landroid/icu/text/Transliterator;
-Landroid/icu/text/TransliteratorRegistry;->getAvailableIDs()Ljava/util/Enumeration;
-Landroid/icu/text/TransliteratorRegistry;->getAvailableSources()Ljava/util/Enumeration;
-Landroid/icu/text/TransliteratorRegistry;->getAvailableTargets(Ljava/lang/String;)Ljava/util/Enumeration;
-Landroid/icu/text/TransliteratorRegistry;->getAvailableVariants(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Enumeration;
-Landroid/icu/text/TransliteratorRegistry;->instantiateEntry(Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/StringBuffer;)Landroid/icu/text/Transliterator;
-Landroid/icu/text/TransliteratorRegistry;->LOCALE_SEP:C
-Landroid/icu/text/TransliteratorRegistry;->NO_VARIANT:Ljava/lang/String;
-Landroid/icu/text/TransliteratorRegistry;->put(Ljava/lang/String;Landroid/icu/text/Transliterator$Factory;Z)V
-Landroid/icu/text/TransliteratorRegistry;->put(Ljava/lang/String;Landroid/icu/text/Transliterator;Z)V
-Landroid/icu/text/TransliteratorRegistry;->put(Ljava/lang/String;Ljava/lang/Class;Z)V
-Landroid/icu/text/TransliteratorRegistry;->put(Ljava/lang/String;Ljava/lang/String;IZ)V
-Landroid/icu/text/TransliteratorRegistry;->put(Ljava/lang/String;Ljava/lang/String;Z)V
-Landroid/icu/text/TransliteratorRegistry;->registerEntry(Ljava/lang/String;Ljava/lang/Object;Z)V
-Landroid/icu/text/TransliteratorRegistry;->registerEntry(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Z)V
-Landroid/icu/text/TransliteratorRegistry;->registerEntry(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Z)V
-Landroid/icu/text/TransliteratorRegistry;->registerSTV(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/text/TransliteratorRegistry;->registry:Ljava/util/Map;
-Landroid/icu/text/TransliteratorRegistry;->remove(Ljava/lang/String;)V
-Landroid/icu/text/TransliteratorRegistry;->removeSTV(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/text/TransliteratorRegistry;->specDAG:Ljava/util/Map;
-Landroid/icu/text/UFieldPosition;
-Landroid/icu/text/UFieldPosition;-><init>()V
-Landroid/icu/text/UFieldPosition;-><init>(I)V
-Landroid/icu/text/UFieldPosition;-><init>(Ljava/text/Format$Field;)V
-Landroid/icu/text/UFieldPosition;-><init>(Ljava/text/Format$Field;I)V
-Landroid/icu/text/UFieldPosition;->countVisibleFractionDigits:I
-Landroid/icu/text/UFieldPosition;->fractionDigits:J
-Landroid/icu/text/UFieldPosition;->getCountVisibleFractionDigits()I
-Landroid/icu/text/UFieldPosition;->getFractionDigits()J
-Landroid/icu/text/UFieldPosition;->setFractionDigits(IJ)V
-Landroid/icu/text/UFormat;->actualLocale:Landroid/icu/util/ULocale;
-Landroid/icu/text/UFormat;->setLocale(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)V
-Landroid/icu/text/UFormat;->validLocale:Landroid/icu/util/ULocale;
-Landroid/icu/text/UForwardCharacterIterator;
-Landroid/icu/text/UForwardCharacterIterator;->next()I
-Landroid/icu/text/UForwardCharacterIterator;->nextCodePoint()I
-Landroid/icu/text/UnhandledBreakEngine;
-Landroid/icu/text/UnhandledBreakEngine;-><init>()V
-Landroid/icu/text/UnhandledBreakEngine;->fHandled:Ljava/util/concurrent/atomic/AtomicReferenceArray;
-Landroid/icu/text/UnhandledBreakEngine;->findBreaks(Ljava/text/CharacterIterator;IIILandroid/icu/text/DictionaryBreakEngine$DequeI;)I
-Landroid/icu/text/UnhandledBreakEngine;->handleChar(II)V
-Landroid/icu/text/UnhandledBreakEngine;->handles(II)Z
-Landroid/icu/text/UnicodeCompressor;
-Landroid/icu/text/UnicodeCompressor;-><init>()V
-Landroid/icu/text/UnicodeCompressor;->compress(Ljava/lang/String;)[B
-Landroid/icu/text/UnicodeCompressor;->compress([CII)[B
-Landroid/icu/text/UnicodeCompressor;->compress([CII[I[BII)I
-Landroid/icu/text/UnicodeCompressor;->fCurrentWindow:I
-Landroid/icu/text/UnicodeCompressor;->findDynamicWindow(I)I
-Landroid/icu/text/UnicodeCompressor;->fIndexCount:[I
-Landroid/icu/text/UnicodeCompressor;->findStaticWindow(I)I
-Landroid/icu/text/UnicodeCompressor;->fMode:I
-Landroid/icu/text/UnicodeCompressor;->fOffsets:[I
-Landroid/icu/text/UnicodeCompressor;->fTimeStamp:I
-Landroid/icu/text/UnicodeCompressor;->fTimeStamps:[I
-Landroid/icu/text/UnicodeCompressor;->getLRDefinedWindow()I
-Landroid/icu/text/UnicodeCompressor;->inDynamicWindow(II)Z
-Landroid/icu/text/UnicodeCompressor;->inStaticWindow(II)Z
-Landroid/icu/text/UnicodeCompressor;->isCompressible(I)Z
-Landroid/icu/text/UnicodeCompressor;->makeIndex(I)I
-Landroid/icu/text/UnicodeCompressor;->reset()V
-Landroid/icu/text/UnicodeCompressor;->sSingleTagTable:[Z
-Landroid/icu/text/UnicodeCompressor;->sUnicodeTagTable:[Z
-Landroid/icu/text/UnicodeDecompressor;
-Landroid/icu/text/UnicodeDecompressor;-><init>()V
-Landroid/icu/text/UnicodeDecompressor;->BUFSIZE:I
-Landroid/icu/text/UnicodeDecompressor;->decompress([B)Ljava/lang/String;
-Landroid/icu/text/UnicodeDecompressor;->decompress([BII)[C
-Landroid/icu/text/UnicodeDecompressor;->decompress([BII[I[CII)I
-Landroid/icu/text/UnicodeDecompressor;->fBuffer:[B
-Landroid/icu/text/UnicodeDecompressor;->fBufferLength:I
-Landroid/icu/text/UnicodeDecompressor;->fCurrentWindow:I
-Landroid/icu/text/UnicodeDecompressor;->fMode:I
-Landroid/icu/text/UnicodeDecompressor;->fOffsets:[I
-Landroid/icu/text/UnicodeDecompressor;->reset()V
-Landroid/icu/text/UnicodeFilter;-><init>()V
-Landroid/icu/text/UnicodeReplacer;
-Landroid/icu/text/UnicodeReplacer;->addReplacementSetTo(Landroid/icu/text/UnicodeSet;)V
-Landroid/icu/text/UnicodeReplacer;->replace(Landroid/icu/text/Replaceable;II[I)I
-Landroid/icu/text/UnicodeReplacer;->toReplacerPattern(Z)Ljava/lang/String;
-Landroid/icu/text/UnicodeSet$ComparisonStyle;-><init>()V
-Landroid/icu/text/UnicodeSet$EntryRange;-><init>()V
-Landroid/icu/text/UnicodeSet$EntryRangeIterable;
-Landroid/icu/text/UnicodeSet$EntryRangeIterable;-><init>()V
-Landroid/icu/text/UnicodeSet$EntryRangeIterator;
-Landroid/icu/text/UnicodeSet$EntryRangeIterator;-><init>()V
-Landroid/icu/text/UnicodeSet$EntryRangeIterator;->pos:I
-Landroid/icu/text/UnicodeSet$EntryRangeIterator;->result:Landroid/icu/text/UnicodeSet$EntryRange;
-Landroid/icu/text/UnicodeSet$Filter;
-Landroid/icu/text/UnicodeSet$Filter;->contains(I)Z
-Landroid/icu/text/UnicodeSet$GeneralCategoryMaskFilter;
-Landroid/icu/text/UnicodeSet$GeneralCategoryMaskFilter;-><init>(I)V
-Landroid/icu/text/UnicodeSet$GeneralCategoryMaskFilter;->contains(I)Z
-Landroid/icu/text/UnicodeSet$GeneralCategoryMaskFilter;->mask:I
-Landroid/icu/text/UnicodeSet$IntPropertyFilter;
-Landroid/icu/text/UnicodeSet$IntPropertyFilter;-><init>(II)V
-Landroid/icu/text/UnicodeSet$IntPropertyFilter;->contains(I)Z
-Landroid/icu/text/UnicodeSet$IntPropertyFilter;->prop:I
-Landroid/icu/text/UnicodeSet$IntPropertyFilter;->value:I
-Landroid/icu/text/UnicodeSet$NumericValueFilter;
-Landroid/icu/text/UnicodeSet$NumericValueFilter;-><init>(D)V
-Landroid/icu/text/UnicodeSet$NumericValueFilter;->contains(I)Z
-Landroid/icu/text/UnicodeSet$NumericValueFilter;->value:D
-Landroid/icu/text/UnicodeSet$ScriptExtensionsFilter;
-Landroid/icu/text/UnicodeSet$ScriptExtensionsFilter;-><init>(I)V
-Landroid/icu/text/UnicodeSet$ScriptExtensionsFilter;->contains(I)Z
-Landroid/icu/text/UnicodeSet$ScriptExtensionsFilter;->script:I
-Landroid/icu/text/UnicodeSet$SpanCondition;-><init>()V
-Landroid/icu/text/UnicodeSet$UnicodeSetIterator2;
-Landroid/icu/text/UnicodeSet$UnicodeSetIterator2;-><init>(Landroid/icu/text/UnicodeSet;)V
-Landroid/icu/text/UnicodeSet$UnicodeSetIterator2;->buffer:[C
-Landroid/icu/text/UnicodeSet$UnicodeSetIterator2;->current:I
-Landroid/icu/text/UnicodeSet$UnicodeSetIterator2;->item:I
-Landroid/icu/text/UnicodeSet$UnicodeSetIterator2;->len:I
-Landroid/icu/text/UnicodeSet$UnicodeSetIterator2;->limit:I
-Landroid/icu/text/UnicodeSet$UnicodeSetIterator2;->sourceList:[I
-Landroid/icu/text/UnicodeSet$UnicodeSetIterator2;->sourceStrings:Ljava/util/TreeSet;
-Landroid/icu/text/UnicodeSet$UnicodeSetIterator2;->stringIterator:Ljava/util/Iterator;
-Landroid/icu/text/UnicodeSet$VersionFilter;
-Landroid/icu/text/UnicodeSet$VersionFilter;-><init>(Landroid/icu/util/VersionInfo;)V
-Landroid/icu/text/UnicodeSet$VersionFilter;->contains(I)Z
-Landroid/icu/text/UnicodeSet$VersionFilter;->version:Landroid/icu/util/VersionInfo;
-Landroid/icu/text/UnicodeSet$XSymbolTable;
-Landroid/icu/text/UnicodeSet$XSymbolTable;-><init>()V
-Landroid/icu/text/UnicodeSet$XSymbolTable;->applyPropertyAlias(Ljava/lang/String;Ljava/lang/String;Landroid/icu/text/UnicodeSet;)Z
-Landroid/icu/text/UnicodeSet;->add([III)Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/UnicodeSet;->addAllTo(Ljava/lang/Iterable;Ljava/util/Collection;)Ljava/util/Collection;
-Landroid/icu/text/UnicodeSet;->addAllTo(Ljava/lang/Iterable;[Ljava/lang/Object;)[Ljava/lang/Object;
-Landroid/icu/text/UnicodeSet;->addAllTo([Ljava/lang/String;)[Ljava/lang/String;
-Landroid/icu/text/UnicodeSet;->addBridges(Landroid/icu/text/UnicodeSet;)Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/UnicodeSet;->addCaseMapping(Landroid/icu/text/UnicodeSet;ILjava/lang/StringBuilder;)V
-Landroid/icu/text/UnicodeSet;->add_unchecked(I)Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/UnicodeSet;->add_unchecked(II)Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/UnicodeSet;->ANY_ID:Ljava/lang/String;
-Landroid/icu/text/UnicodeSet;->append(Ljava/lang/Appendable;Ljava/lang/CharSequence;)V
-Landroid/icu/text/UnicodeSet;->appendCodePoint(Ljava/lang/Appendable;I)V
-Landroid/icu/text/UnicodeSet;->appendNewPattern(Ljava/lang/Appendable;ZZ)Ljava/lang/Appendable;
-Landroid/icu/text/UnicodeSet;->applyFilter(Landroid/icu/text/UnicodeSet$Filter;I)Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/UnicodeSet;->applyPattern(Landroid/icu/impl/RuleCharacterIterator;Landroid/icu/text/SymbolTable;Ljava/lang/Appendable;I)V
-Landroid/icu/text/UnicodeSet;->applyPattern(Ljava/lang/String;Ljava/text/ParsePosition;Landroid/icu/text/SymbolTable;I)Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/UnicodeSet;->applyPropertyPattern(Landroid/icu/impl/RuleCharacterIterator;Ljava/lang/Appendable;Landroid/icu/text/SymbolTable;)V
-Landroid/icu/text/UnicodeSet;->applyPropertyPattern(Ljava/lang/String;Ljava/text/ParsePosition;Landroid/icu/text/SymbolTable;)Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/UnicodeSet;->ASCII_ID:Ljava/lang/String;
-Landroid/icu/text/UnicodeSet;->ASSIGNED:Ljava/lang/String;
-Landroid/icu/text/UnicodeSet;->bmpSet:Landroid/icu/impl/BMPSet;
-Landroid/icu/text/UnicodeSet;->buffer:[I
-Landroid/icu/text/UnicodeSet;->checkFrozen()V
-Landroid/icu/text/UnicodeSet;->compare(ILjava/lang/CharSequence;)I
-Landroid/icu/text/UnicodeSet;->compare(Ljava/lang/CharSequence;I)I
-Landroid/icu/text/UnicodeSet;->compare(Ljava/lang/Iterable;Ljava/lang/Iterable;)I
-Landroid/icu/text/UnicodeSet;->compare(Ljava/util/Collection;Ljava/util/Collection;Landroid/icu/text/UnicodeSet$ComparisonStyle;)I
-Landroid/icu/text/UnicodeSet;->compare(Ljava/util/Iterator;Ljava/util/Iterator;)I
-Landroid/icu/text/UnicodeSet;->containsAll(Ljava/lang/String;I)Z
-Landroid/icu/text/UnicodeSet;->ensureBufferCapacity(I)V
-Landroid/icu/text/UnicodeSet;->ensureCapacity(I)V
-Landroid/icu/text/UnicodeSet;->findCodePoint(I)I
-Landroid/icu/text/UnicodeSet;->findIn(Ljava/lang/CharSequence;IZ)I
-Landroid/icu/text/UnicodeSet;->findLastIn(Ljava/lang/CharSequence;IZ)I
-Landroid/icu/text/UnicodeSet;->getDefaultXSymbolTable()Landroid/icu/text/UnicodeSet$XSymbolTable;
-Landroid/icu/text/UnicodeSet;->getInclusions(I)Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/UnicodeSet;->getRegexEquivalent()Ljava/lang/String;
-Landroid/icu/text/UnicodeSet;->getSingleCodePoint(Ljava/lang/CharSequence;)I
-Landroid/icu/text/UnicodeSet;->getSingleCP(Ljava/lang/CharSequence;)I
-Landroid/icu/text/UnicodeSet;->GROW_EXTRA:I
-Landroid/icu/text/UnicodeSet;->HIGH:I
-Landroid/icu/text/UnicodeSet;->INCLUSIONS:[Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/UnicodeSet;->LAST0_START:I
-Landroid/icu/text/UnicodeSet;->LAST1_RANGE:I
-Landroid/icu/text/UnicodeSet;->LAST2_SET:I
-Landroid/icu/text/UnicodeSet;->len:I
-Landroid/icu/text/UnicodeSet;->list:[I
-Landroid/icu/text/UnicodeSet;->LOW:I
-Landroid/icu/text/UnicodeSet;->matchesAt(Ljava/lang/CharSequence;I)I
-Landroid/icu/text/UnicodeSet;->matchesAt(Ljava/lang/CharSequence;ILjava/lang/CharSequence;)I
-Landroid/icu/text/UnicodeSet;->matchRest(Landroid/icu/text/Replaceable;IILjava/lang/String;)I
-Landroid/icu/text/UnicodeSet;->max(II)I
-Landroid/icu/text/UnicodeSet;->MODE0_NONE:I
-Landroid/icu/text/UnicodeSet;->MODE1_INBRACKET:I
-Landroid/icu/text/UnicodeSet;->MODE2_OUTBRACKET:I
-Landroid/icu/text/UnicodeSet;->mungeCharName(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/UnicodeSet;->NO_VERSION:Landroid/icu/util/VersionInfo;
-Landroid/icu/text/UnicodeSet;->pat:Ljava/lang/String;
-Landroid/icu/text/UnicodeSet;->range(II)[I
-Landroid/icu/text/UnicodeSet;->rangeList:[I
-Landroid/icu/text/UnicodeSet;->resemblesPattern(Ljava/lang/String;I)Z
-Landroid/icu/text/UnicodeSet;->resemblesPropertyPattern(Landroid/icu/impl/RuleCharacterIterator;I)Z
-Landroid/icu/text/UnicodeSet;->resemblesPropertyPattern(Ljava/lang/String;I)Z
-Landroid/icu/text/UnicodeSet;->retain([III)Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/UnicodeSet;->setDefaultXSymbolTable(Landroid/icu/text/UnicodeSet$XSymbolTable;)V
-Landroid/icu/text/UnicodeSet;->SETMODE0_NONE:I
-Landroid/icu/text/UnicodeSet;->SETMODE1_UNICODESET:I
-Landroid/icu/text/UnicodeSet;->SETMODE2_PROPERTYPAT:I
-Landroid/icu/text/UnicodeSet;->SETMODE3_PREPARSED:I
-Landroid/icu/text/UnicodeSet;->spanAndCount(Ljava/lang/CharSequence;ILandroid/icu/text/UnicodeSet$SpanCondition;Landroid/icu/util/OutputInt;)I
-Landroid/icu/text/UnicodeSet;->spanCodePointsAndCount(Ljava/lang/CharSequence;ILandroid/icu/text/UnicodeSet$SpanCondition;Landroid/icu/util/OutputInt;)I
-Landroid/icu/text/UnicodeSet;->START_EXTRA:I
-Landroid/icu/text/UnicodeSet;->strings:Ljava/util/TreeSet;
-Landroid/icu/text/UnicodeSet;->stringSpan:Landroid/icu/impl/UnicodeSetStringSpan;
-Landroid/icu/text/UnicodeSet;->stripFrom(Ljava/lang/CharSequence;Z)Ljava/lang/String;
-Landroid/icu/text/UnicodeSet;->syntaxError(Landroid/icu/impl/RuleCharacterIterator;Ljava/lang/String;)V
-Landroid/icu/text/UnicodeSet;->toArray(Landroid/icu/text/UnicodeSet;)[Ljava/lang/String;
-Landroid/icu/text/UnicodeSet;->xor([III)Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/UnicodeSet;->XSYMBOL_TABLE:Landroid/icu/text/UnicodeSet$XSymbolTable;
-Landroid/icu/text/UnicodeSet;->_appendToPat(Ljava/lang/Appendable;IZ)Ljava/lang/Appendable;
-Landroid/icu/text/UnicodeSet;->_appendToPat(Ljava/lang/Appendable;Ljava/lang/String;Z)Ljava/lang/Appendable;
-Landroid/icu/text/UnicodeSet;->_toPattern(Ljava/lang/Appendable;Z)Ljava/lang/Appendable;
-Landroid/icu/text/UnicodeSetIterator;->endElement:I
-Landroid/icu/text/UnicodeSetIterator;->endRange:I
-Landroid/icu/text/UnicodeSetIterator;->getSet()Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/UnicodeSetIterator;->loadRange(I)V
-Landroid/icu/text/UnicodeSetIterator;->nextElement:I
-Landroid/icu/text/UnicodeSetIterator;->range:I
-Landroid/icu/text/UnicodeSetIterator;->set:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/UnicodeSetIterator;->stringIterator:Ljava/util/Iterator;
-Landroid/icu/text/UnicodeSetSpanner$CountMethod;-><init>()V
-Landroid/icu/text/UnicodeSetSpanner$TrimOption;-><init>()V
-Landroid/icu/text/UnicodeSetSpanner;->unicodeSet:Landroid/icu/text/UnicodeSet;
-Landroid/icu/text/UTF16$StringComparator;
-Landroid/icu/text/UTF16$StringComparator;-><init>()V
-Landroid/icu/text/UTF16$StringComparator;-><init>(ZZI)V
-Landroid/icu/text/UTF16$StringComparator;->CODE_POINT_COMPARE_SURROGATE_OFFSET_:I
-Landroid/icu/text/UTF16$StringComparator;->compare(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/icu/text/UTF16$StringComparator;->compareCaseInsensitive(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/icu/text/UTF16$StringComparator;->compareCaseSensitive(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/icu/text/UTF16$StringComparator;->FOLD_CASE_DEFAULT:I
-Landroid/icu/text/UTF16$StringComparator;->FOLD_CASE_EXCLUDE_SPECIAL_I:I
-Landroid/icu/text/UTF16$StringComparator;->getCodePointCompare()Z
-Landroid/icu/text/UTF16$StringComparator;->getIgnoreCase()Z
-Landroid/icu/text/UTF16$StringComparator;->getIgnoreCaseOption()I
-Landroid/icu/text/UTF16$StringComparator;->m_codePointCompare_:I
-Landroid/icu/text/UTF16$StringComparator;->m_foldCase_:I
-Landroid/icu/text/UTF16$StringComparator;->m_ignoreCase_:Z
-Landroid/icu/text/UTF16$StringComparator;->setCodePointCompare(Z)V
-Landroid/icu/text/UTF16$StringComparator;->setIgnoreCase(ZI)V
-Landroid/icu/text/UTF16;
-Landroid/icu/text/UTF16;-><init>()V
-Landroid/icu/text/UTF16;->append(Ljava/lang/StringBuffer;I)Ljava/lang/StringBuffer;
-Landroid/icu/text/UTF16;->append([CII)I
-Landroid/icu/text/UTF16;->appendCodePoint(Ljava/lang/StringBuffer;I)Ljava/lang/StringBuffer;
-Landroid/icu/text/UTF16;->bounds(Ljava/lang/String;I)I
-Landroid/icu/text/UTF16;->bounds(Ljava/lang/StringBuffer;I)I
-Landroid/icu/text/UTF16;->bounds([CIII)I
-Landroid/icu/text/UTF16;->charAt(Landroid/icu/text/Replaceable;I)I
-Landroid/icu/text/UTF16;->charAt(Ljava/lang/CharSequence;I)I
-Landroid/icu/text/UTF16;->charAt(Ljava/lang/String;I)I
-Landroid/icu/text/UTF16;->charAt(Ljava/lang/StringBuffer;I)I
-Landroid/icu/text/UTF16;->charAt([CIII)I
-Landroid/icu/text/UTF16;->CODEPOINT_MAX_VALUE:I
-Landroid/icu/text/UTF16;->CODEPOINT_MIN_VALUE:I
-Landroid/icu/text/UTF16;->compareCodePoint(ILjava/lang/CharSequence;)I
-Landroid/icu/text/UTF16;->countCodePoint(Ljava/lang/String;)I
-Landroid/icu/text/UTF16;->countCodePoint(Ljava/lang/StringBuffer;)I
-Landroid/icu/text/UTF16;->countCodePoint([CII)I
-Landroid/icu/text/UTF16;->delete(Ljava/lang/StringBuffer;I)Ljava/lang/StringBuffer;
-Landroid/icu/text/UTF16;->delete([CII)I
-Landroid/icu/text/UTF16;->findCodePointOffset(Ljava/lang/String;I)I
-Landroid/icu/text/UTF16;->findCodePointOffset(Ljava/lang/StringBuffer;I)I
-Landroid/icu/text/UTF16;->findCodePointOffset([CIII)I
-Landroid/icu/text/UTF16;->findOffsetFromCodePoint(Ljava/lang/String;I)I
-Landroid/icu/text/UTF16;->findOffsetFromCodePoint(Ljava/lang/StringBuffer;I)I
-Landroid/icu/text/UTF16;->findOffsetFromCodePoint([CIII)I
-Landroid/icu/text/UTF16;->getCharCount(I)I
-Landroid/icu/text/UTF16;->getLeadSurrogate(I)C
-Landroid/icu/text/UTF16;->getSingleCodePoint(Ljava/lang/CharSequence;)I
-Landroid/icu/text/UTF16;->getTrailSurrogate(I)C
-Landroid/icu/text/UTF16;->hasMoreCodePointsThan(Ljava/lang/String;I)Z
-Landroid/icu/text/UTF16;->hasMoreCodePointsThan(Ljava/lang/StringBuffer;I)Z
-Landroid/icu/text/UTF16;->hasMoreCodePointsThan([CIII)Z
-Landroid/icu/text/UTF16;->indexOf(Ljava/lang/String;I)I
-Landroid/icu/text/UTF16;->indexOf(Ljava/lang/String;II)I
-Landroid/icu/text/UTF16;->indexOf(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/icu/text/UTF16;->indexOf(Ljava/lang/String;Ljava/lang/String;I)I
-Landroid/icu/text/UTF16;->insert(Ljava/lang/StringBuffer;II)Ljava/lang/StringBuffer;
-Landroid/icu/text/UTF16;->insert([CIII)I
-Landroid/icu/text/UTF16;->isLeadSurrogate(C)Z
-Landroid/icu/text/UTF16;->isSurrogate(C)Z
-Landroid/icu/text/UTF16;->isTrailSurrogate(C)Z
-Landroid/icu/text/UTF16;->lastIndexOf(Ljava/lang/String;I)I
-Landroid/icu/text/UTF16;->lastIndexOf(Ljava/lang/String;II)I
-Landroid/icu/text/UTF16;->lastIndexOf(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/icu/text/UTF16;->lastIndexOf(Ljava/lang/String;Ljava/lang/String;I)I
-Landroid/icu/text/UTF16;->LEAD_SURROGATE_BITMASK:I
-Landroid/icu/text/UTF16;->LEAD_SURROGATE_BITS:I
-Landroid/icu/text/UTF16;->LEAD_SURROGATE_BOUNDARY:I
-Landroid/icu/text/UTF16;->LEAD_SURROGATE_MAX_VALUE:I
-Landroid/icu/text/UTF16;->LEAD_SURROGATE_MIN_VALUE:I
-Landroid/icu/text/UTF16;->LEAD_SURROGATE_OFFSET_:I
-Landroid/icu/text/UTF16;->LEAD_SURROGATE_SHIFT_:I
-Landroid/icu/text/UTF16;->moveCodePointOffset(Ljava/lang/String;II)I
-Landroid/icu/text/UTF16;->moveCodePointOffset(Ljava/lang/StringBuffer;II)I
-Landroid/icu/text/UTF16;->moveCodePointOffset([CIIII)I
-Landroid/icu/text/UTF16;->newString([III)Ljava/lang/String;
-Landroid/icu/text/UTF16;->replace(Ljava/lang/String;II)Ljava/lang/String;
-Landroid/icu/text/UTF16;->replace(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/text/UTF16;->reverse(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
-Landroid/icu/text/UTF16;->setCharAt(Ljava/lang/StringBuffer;II)V
-Landroid/icu/text/UTF16;->setCharAt([CIII)I
-Landroid/icu/text/UTF16;->SINGLE_CHAR_BOUNDARY:I
-Landroid/icu/text/UTF16;->SUPPLEMENTARY_MIN_VALUE:I
-Landroid/icu/text/UTF16;->SURROGATE_BITMASK:I
-Landroid/icu/text/UTF16;->SURROGATE_BITS:I
-Landroid/icu/text/UTF16;->SURROGATE_MAX_VALUE:I
-Landroid/icu/text/UTF16;->SURROGATE_MIN_VALUE:I
-Landroid/icu/text/UTF16;->toString(I)Ljava/lang/String;
-Landroid/icu/text/UTF16;->TRAIL_SURROGATE_BITMASK:I
-Landroid/icu/text/UTF16;->TRAIL_SURROGATE_BITS:I
-Landroid/icu/text/UTF16;->TRAIL_SURROGATE_BOUNDARY:I
-Landroid/icu/text/UTF16;->TRAIL_SURROGATE_MASK_:I
-Landroid/icu/text/UTF16;->TRAIL_SURROGATE_MAX_VALUE:I
-Landroid/icu/text/UTF16;->TRAIL_SURROGATE_MIN_VALUE:I
-Landroid/icu/text/UTF16;->valueOf(I)Ljava/lang/String;
-Landroid/icu/text/UTF16;->valueOf(Ljava/lang/String;I)Ljava/lang/String;
-Landroid/icu/text/UTF16;->valueOf(Ljava/lang/StringBuffer;I)Ljava/lang/String;
-Landroid/icu/text/UTF16;->valueOf([CIII)Ljava/lang/String;
-Landroid/icu/text/UTF16;->_charAt(Ljava/lang/CharSequence;IC)I
-Landroid/icu/text/UTF16;->_charAt(Ljava/lang/String;IC)I
-Landroid/icu/util/AnnualTimeZoneRule;
-Landroid/icu/util/AnnualTimeZoneRule;-><init>(Ljava/lang/String;IILandroid/icu/util/DateTimeRule;II)V
-Landroid/icu/util/AnnualTimeZoneRule;->dateTimeRule:Landroid/icu/util/DateTimeRule;
-Landroid/icu/util/AnnualTimeZoneRule;->endYear:I
-Landroid/icu/util/AnnualTimeZoneRule;->getEndYear()I
-Landroid/icu/util/AnnualTimeZoneRule;->getFinalStart(II)Ljava/util/Date;
-Landroid/icu/util/AnnualTimeZoneRule;->getFirstStart(II)Ljava/util/Date;
-Landroid/icu/util/AnnualTimeZoneRule;->getNextStart(JIIZ)Ljava/util/Date;
-Landroid/icu/util/AnnualTimeZoneRule;->getPreviousStart(JIIZ)Ljava/util/Date;
-Landroid/icu/util/AnnualTimeZoneRule;->getRule()Landroid/icu/util/DateTimeRule;
-Landroid/icu/util/AnnualTimeZoneRule;->getStartInYear(III)Ljava/util/Date;
-Landroid/icu/util/AnnualTimeZoneRule;->getStartYear()I
-Landroid/icu/util/AnnualTimeZoneRule;->isEquivalentTo(Landroid/icu/util/TimeZoneRule;)Z
-Landroid/icu/util/AnnualTimeZoneRule;->isTransitionRule()Z
-Landroid/icu/util/AnnualTimeZoneRule;->MAX_YEAR:I
-Landroid/icu/util/AnnualTimeZoneRule;->startYear:I
-Landroid/icu/util/BasicTimeZone;
-Landroid/icu/util/BasicTimeZone;-><init>()V
-Landroid/icu/util/BasicTimeZone;-><init>(Ljava/lang/String;)V
-Landroid/icu/util/BasicTimeZone;->FORMER_LATTER_MASK:I
-Landroid/icu/util/BasicTimeZone;->getNextTransition(JZ)Landroid/icu/util/TimeZoneTransition;
-Landroid/icu/util/BasicTimeZone;->getOffsetFromLocal(JII[I)V
-Landroid/icu/util/BasicTimeZone;->getPreviousTransition(JZ)Landroid/icu/util/TimeZoneTransition;
-Landroid/icu/util/BasicTimeZone;->getSimpleTimeZoneRulesNear(J)[Landroid/icu/util/TimeZoneRule;
-Landroid/icu/util/BasicTimeZone;->getTimeZoneRules()[Landroid/icu/util/TimeZoneRule;
-Landroid/icu/util/BasicTimeZone;->getTimeZoneRules(J)[Landroid/icu/util/TimeZoneRule;
-Landroid/icu/util/BasicTimeZone;->hasEquivalentTransitions(Landroid/icu/util/TimeZone;JJ)Z
-Landroid/icu/util/BasicTimeZone;->hasEquivalentTransitions(Landroid/icu/util/TimeZone;JJZ)Z
-Landroid/icu/util/BasicTimeZone;->LOCAL_DST:I
-Landroid/icu/util/BasicTimeZone;->LOCAL_FORMER:I
-Landroid/icu/util/BasicTimeZone;->LOCAL_LATTER:I
-Landroid/icu/util/BasicTimeZone;->LOCAL_STD:I
-Landroid/icu/util/BasicTimeZone;->MILLIS_PER_YEAR:J
-Landroid/icu/util/BasicTimeZone;->STD_DST_MASK:I
-Landroid/icu/util/BuddhistCalendar;->BUDDHIST_ERA_START:I
-Landroid/icu/util/BuddhistCalendar;->GREGORIAN_EPOCH:I
-Landroid/icu/util/ByteArrayWrapper;
-Landroid/icu/util/ByteArrayWrapper;-><init>()V
-Landroid/icu/util/ByteArrayWrapper;-><init>(Ljava/nio/ByteBuffer;)V
-Landroid/icu/util/ByteArrayWrapper;-><init>([BI)V
-Landroid/icu/util/ByteArrayWrapper;->append([BII)Landroid/icu/util/ByteArrayWrapper;
-Landroid/icu/util/ByteArrayWrapper;->bytes:[B
-Landroid/icu/util/ByteArrayWrapper;->compareTo(Landroid/icu/util/ByteArrayWrapper;)I
-Landroid/icu/util/ByteArrayWrapper;->copyBytes([BI[BII)V
-Landroid/icu/util/ByteArrayWrapper;->ensureCapacity(I)Landroid/icu/util/ByteArrayWrapper;
-Landroid/icu/util/ByteArrayWrapper;->releaseBytes()[B
-Landroid/icu/util/ByteArrayWrapper;->set([BII)Landroid/icu/util/ByteArrayWrapper;
-Landroid/icu/util/ByteArrayWrapper;->size:I
-Landroid/icu/util/BytesTrie$Entry;
-Landroid/icu/util/BytesTrie$Entry;-><init>(I)V
-Landroid/icu/util/BytesTrie$Entry;->append(B)V
-Landroid/icu/util/BytesTrie$Entry;->append([BII)V
-Landroid/icu/util/BytesTrie$Entry;->byteAt(I)B
-Landroid/icu/util/BytesTrie$Entry;->bytes:[B
-Landroid/icu/util/BytesTrie$Entry;->bytesAsByteBuffer()Ljava/nio/ByteBuffer;
-Landroid/icu/util/BytesTrie$Entry;->bytesLength()I
-Landroid/icu/util/BytesTrie$Entry;->copyBytesTo([BI)V
-Landroid/icu/util/BytesTrie$Entry;->ensureCapacity(I)V
-Landroid/icu/util/BytesTrie$Entry;->length:I
-Landroid/icu/util/BytesTrie$Entry;->truncateString(I)V
-Landroid/icu/util/BytesTrie$Entry;->value:I
-Landroid/icu/util/BytesTrie$Iterator;
-Landroid/icu/util/BytesTrie$Iterator;-><init>([BIII)V
-Landroid/icu/util/BytesTrie$Iterator;->branchNext(II)I
-Landroid/icu/util/BytesTrie$Iterator;->bytes_:[B
-Landroid/icu/util/BytesTrie$Iterator;->entry_:Landroid/icu/util/BytesTrie$Entry;
-Landroid/icu/util/BytesTrie$Iterator;->initialPos_:I
-Landroid/icu/util/BytesTrie$Iterator;->initialRemainingMatchLength_:I
-Landroid/icu/util/BytesTrie$Iterator;->maxLength_:I
-Landroid/icu/util/BytesTrie$Iterator;->pos_:I
-Landroid/icu/util/BytesTrie$Iterator;->remainingMatchLength_:I
-Landroid/icu/util/BytesTrie$Iterator;->reset()Landroid/icu/util/BytesTrie$Iterator;
-Landroid/icu/util/BytesTrie$Iterator;->stack_:Ljava/util/ArrayList;
-Landroid/icu/util/BytesTrie$Iterator;->truncateAndStop()Landroid/icu/util/BytesTrie$Entry;
-Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/BytesTrie$Result;-><init>()V
-Landroid/icu/util/BytesTrie$Result;->FINAL_VALUE:Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/BytesTrie$Result;->hasNext()Z
-Landroid/icu/util/BytesTrie$Result;->hasValue()Z
-Landroid/icu/util/BytesTrie$Result;->INTERMEDIATE_VALUE:Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/BytesTrie$Result;->matches()Z
-Landroid/icu/util/BytesTrie$Result;->NO_MATCH:Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/BytesTrie$Result;->NO_VALUE:Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/BytesTrie$Result;->valueOf(Ljava/lang/String;)Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/BytesTrie$Result;->values()[Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/BytesTrie$State;
-Landroid/icu/util/BytesTrie$State;-><init>()V
-Landroid/icu/util/BytesTrie$State;->bytes:[B
-Landroid/icu/util/BytesTrie$State;->pos:I
-Landroid/icu/util/BytesTrie$State;->remainingMatchLength:I
-Landroid/icu/util/BytesTrie$State;->root:I
-Landroid/icu/util/BytesTrie;
-Landroid/icu/util/BytesTrie;-><init>([BI)V
-Landroid/icu/util/BytesTrie;->append(Ljava/lang/Appendable;I)V
-Landroid/icu/util/BytesTrie;->branchNext(III)Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/BytesTrie;->bytes_:[B
-Landroid/icu/util/BytesTrie;->current()Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/BytesTrie;->findUniqueValue([BIJ)J
-Landroid/icu/util/BytesTrie;->findUniqueValueFromBranch([BIIJ)J
-Landroid/icu/util/BytesTrie;->first(I)Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/BytesTrie;->getNextBranchBytes([BIILjava/lang/Appendable;)V
-Landroid/icu/util/BytesTrie;->getNextBytes(Ljava/lang/Appendable;)I
-Landroid/icu/util/BytesTrie;->getUniqueValue()J
-Landroid/icu/util/BytesTrie;->getValue()I
-Landroid/icu/util/BytesTrie;->iterator(I)Landroid/icu/util/BytesTrie$Iterator;
-Landroid/icu/util/BytesTrie;->iterator([BII)Landroid/icu/util/BytesTrie$Iterator;
-Landroid/icu/util/BytesTrie;->jumpByDelta([BI)I
-Landroid/icu/util/BytesTrie;->kFiveByteDeltaLead:I
-Landroid/icu/util/BytesTrie;->kFiveByteValueLead:I
-Landroid/icu/util/BytesTrie;->kFourByteDeltaLead:I
-Landroid/icu/util/BytesTrie;->kFourByteValueLead:I
-Landroid/icu/util/BytesTrie;->kMaxBranchLinearSubNodeLength:I
-Landroid/icu/util/BytesTrie;->kMaxLinearMatchLength:I
-Landroid/icu/util/BytesTrie;->kMaxOneByteDelta:I
-Landroid/icu/util/BytesTrie;->kMaxOneByteValue:I
-Landroid/icu/util/BytesTrie;->kMaxThreeByteDelta:I
-Landroid/icu/util/BytesTrie;->kMaxThreeByteValue:I
-Landroid/icu/util/BytesTrie;->kMaxTwoByteDelta:I
-Landroid/icu/util/BytesTrie;->kMaxTwoByteValue:I
-Landroid/icu/util/BytesTrie;->kMinLinearMatch:I
-Landroid/icu/util/BytesTrie;->kMinOneByteValueLead:I
-Landroid/icu/util/BytesTrie;->kMinThreeByteDeltaLead:I
-Landroid/icu/util/BytesTrie;->kMinThreeByteValueLead:I
-Landroid/icu/util/BytesTrie;->kMinTwoByteDeltaLead:I
-Landroid/icu/util/BytesTrie;->kMinTwoByteValueLead:I
-Landroid/icu/util/BytesTrie;->kMinValueLead:I
-Landroid/icu/util/BytesTrie;->kValueIsFinal:I
-Landroid/icu/util/BytesTrie;->next(I)Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/BytesTrie;->next([BII)Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/BytesTrie;->nextImpl(II)Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/BytesTrie;->pos_:I
-Landroid/icu/util/BytesTrie;->readValue([BII)I
-Landroid/icu/util/BytesTrie;->remainingMatchLength_:I
-Landroid/icu/util/BytesTrie;->reset()Landroid/icu/util/BytesTrie;
-Landroid/icu/util/BytesTrie;->resetToState(Landroid/icu/util/BytesTrie$State;)Landroid/icu/util/BytesTrie;
-Landroid/icu/util/BytesTrie;->root_:I
-Landroid/icu/util/BytesTrie;->saveState(Landroid/icu/util/BytesTrie$State;)Landroid/icu/util/BytesTrie;
-Landroid/icu/util/BytesTrie;->skipDelta([BI)I
-Landroid/icu/util/BytesTrie;->skipValue(II)I
-Landroid/icu/util/BytesTrie;->skipValue([BI)I
-Landroid/icu/util/BytesTrie;->stop()V
-Landroid/icu/util/BytesTrie;->valueResults_:[Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/BytesTrieBuilder$BytesAsCharSequence;
-Landroid/icu/util/BytesTrieBuilder$BytesAsCharSequence;-><init>([BI)V
-Landroid/icu/util/BytesTrieBuilder$BytesAsCharSequence;->len:I
-Landroid/icu/util/BytesTrieBuilder$BytesAsCharSequence;->s:[B
-Landroid/icu/util/BytesTrieBuilder;
-Landroid/icu/util/BytesTrieBuilder;-><init>()V
-Landroid/icu/util/BytesTrieBuilder;->add([BII)Landroid/icu/util/BytesTrieBuilder;
-Landroid/icu/util/BytesTrieBuilder;->build(Landroid/icu/util/StringTrieBuilder$Option;)Landroid/icu/util/BytesTrie;
-Landroid/icu/util/BytesTrieBuilder;->buildByteBuffer(Landroid/icu/util/StringTrieBuilder$Option;)Ljava/nio/ByteBuffer;
-Landroid/icu/util/BytesTrieBuilder;->buildBytes(Landroid/icu/util/StringTrieBuilder$Option;)V
-Landroid/icu/util/BytesTrieBuilder;->bytes:[B
-Landroid/icu/util/BytesTrieBuilder;->bytesLength:I
-Landroid/icu/util/BytesTrieBuilder;->clear()Landroid/icu/util/BytesTrieBuilder;
-Landroid/icu/util/BytesTrieBuilder;->ensureCapacity(I)V
-Landroid/icu/util/BytesTrieBuilder;->getMaxBranchLinearSubNodeLength()I
-Landroid/icu/util/BytesTrieBuilder;->getMaxLinearMatchLength()I
-Landroid/icu/util/BytesTrieBuilder;->getMinLinearMatch()I
-Landroid/icu/util/BytesTrieBuilder;->intBytes:[B
-Landroid/icu/util/BytesTrieBuilder;->matchNodesCanHaveValues()Z
-Landroid/icu/util/BytesTrieBuilder;->write(I)I
-Landroid/icu/util/BytesTrieBuilder;->write(II)I
-Landroid/icu/util/BytesTrieBuilder;->write([BI)I
-Landroid/icu/util/BytesTrieBuilder;->writeDeltaTo(I)I
-Landroid/icu/util/BytesTrieBuilder;->writeValueAndFinal(IZ)I
-Landroid/icu/util/BytesTrieBuilder;->writeValueAndType(ZII)I
-Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;-><init>(Ljava/lang/String;)V
-Landroid/icu/util/Calendar$CalType;->BUDDHIST:Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;->CHINESE:Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;->COPTIC:Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;->DANGI:Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;->ETHIOPIC:Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;->ETHIOPIC_AMETE_ALEM:Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;->GREGORIAN:Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;->HEBREW:Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;->id:Ljava/lang/String;
-Landroid/icu/util/Calendar$CalType;->INDIAN:Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;->ISLAMIC:Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;->ISLAMIC_CIVIL:Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;->ISLAMIC_RGSA:Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;->ISLAMIC_TBLA:Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;->ISLAMIC_UMALQURA:Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;->ISO8601:Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;->JAPANESE:Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;->PERSIAN:Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;->ROC:Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;->UNKNOWN:Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;->valueOf(Ljava/lang/String;)Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$CalType;->values()[Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar$FormatConfiguration;
-Landroid/icu/util/Calendar$FormatConfiguration;-><init>()V
-Landroid/icu/util/Calendar$FormatConfiguration;->cal:Landroid/icu/util/Calendar;
-Landroid/icu/util/Calendar$FormatConfiguration;->formatData:Landroid/icu/text/DateFormatSymbols;
-Landroid/icu/util/Calendar$FormatConfiguration;->getCalendar()Landroid/icu/util/Calendar;
-Landroid/icu/util/Calendar$FormatConfiguration;->getDateFormatSymbols()Landroid/icu/text/DateFormatSymbols;
-Landroid/icu/util/Calendar$FormatConfiguration;->getLocale()Landroid/icu/util/ULocale;
-Landroid/icu/util/Calendar$FormatConfiguration;->getOverrideString()Ljava/lang/String;
-Landroid/icu/util/Calendar$FormatConfiguration;->getPatternString()Ljava/lang/String;
-Landroid/icu/util/Calendar$FormatConfiguration;->loc:Landroid/icu/util/ULocale;
-Landroid/icu/util/Calendar$FormatConfiguration;->override:Ljava/lang/String;
-Landroid/icu/util/Calendar$FormatConfiguration;->pattern:Ljava/lang/String;
-Landroid/icu/util/Calendar$PatternData;
-Landroid/icu/util/Calendar$PatternData;-><init>([Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/icu/util/Calendar$PatternData;->getDateTimePattern(I)Ljava/lang/String;
-Landroid/icu/util/Calendar$PatternData;->make(Landroid/icu/util/Calendar;Landroid/icu/util/ULocale;)Landroid/icu/util/Calendar$PatternData;
-Landroid/icu/util/Calendar$PatternData;->make(Landroid/icu/util/ULocale;Ljava/lang/String;)Landroid/icu/util/Calendar$PatternData;
-Landroid/icu/util/Calendar$PatternData;->overrides:[Ljava/lang/String;
-Landroid/icu/util/Calendar$PatternData;->patterns:[Ljava/lang/String;
-Landroid/icu/util/Calendar$WeekDataCache;
-Landroid/icu/util/Calendar$WeekDataCache;-><init>()V
-Landroid/icu/util/Calendar$WeekDataCache;->createInstance(Ljava/lang/String;Ljava/lang/String;)Landroid/icu/util/Calendar$WeekData;
-Landroid/icu/util/Calendar;->actualLocale:Landroid/icu/util/ULocale;
-Landroid/icu/util/Calendar;->areAllFieldsSet:Z
-Landroid/icu/util/Calendar;->areFieldsSet:Z
-Landroid/icu/util/Calendar;->areFieldsVirtuallySet:Z
-Landroid/icu/util/Calendar;->compare(Ljava/lang/Object;)J
-Landroid/icu/util/Calendar;->computeGregorianAndDOWFields(I)V
-Landroid/icu/util/Calendar;->computeMillisInDayLong()J
-Landroid/icu/util/Calendar;->computeWeekFields()V
-Landroid/icu/util/Calendar;->computeZoneOffset(JJ)I
-Landroid/icu/util/Calendar;->createInstance(Landroid/icu/util/ULocale;)Landroid/icu/util/Calendar;
-Landroid/icu/util/Calendar;->DATE_PRECEDENCE:[[[I
-Landroid/icu/util/Calendar;->DEFAULT_PATTERNS:[Ljava/lang/String;
-Landroid/icu/util/Calendar;->DOW_PRECEDENCE:[[[I
-Landroid/icu/util/Calendar;->expandOverride(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/util/Calendar;->fields:[I
-Landroid/icu/util/Calendar;->FIELD_DIFF_MAX_INT:I
-Landroid/icu/util/Calendar;->FIELD_NAME:[Ljava/lang/String;
-Landroid/icu/util/Calendar;->findPreviousZoneTransitionTime(Landroid/icu/util/TimeZone;IJJ)Ljava/lang/Long;
-Landroid/icu/util/Calendar;->FIND_ZONE_TRANSITION_TIME_UNITS:[I
-Landroid/icu/util/Calendar;->firstDayOfWeek:I
-Landroid/icu/util/Calendar;->firstIslamicStartYearFromGrego(I)I
-Landroid/icu/util/Calendar;->formatHelper(Landroid/icu/util/Calendar;Landroid/icu/util/ULocale;II)Landroid/icu/text/DateFormat;
-Landroid/icu/util/Calendar;->getActualHelper(III)I
-Landroid/icu/util/Calendar;->getAvailableULocales()[Landroid/icu/util/ULocale;
-Landroid/icu/util/Calendar;->getCalendarTypeForLocale(Landroid/icu/util/ULocale;)Landroid/icu/util/Calendar$CalType;
-Landroid/icu/util/Calendar;->getDateTimeFormatString(Landroid/icu/util/ULocale;Ljava/lang/String;II)Ljava/lang/String;
-Landroid/icu/util/Calendar;->getDateTimePattern(Landroid/icu/util/Calendar;Landroid/icu/util/ULocale;I)Ljava/lang/String;
-Landroid/icu/util/Calendar;->getDayOfWeekType(I)I
-Landroid/icu/util/Calendar;->getDefaultDayInMonth(II)I
-Landroid/icu/util/Calendar;->getDefaultMonthInYear(I)I
-Landroid/icu/util/Calendar;->getImmediatePreviousZoneTransition(J)Ljava/lang/Long;
-Landroid/icu/util/Calendar;->getInstanceInternal(Landroid/icu/util/TimeZone;Landroid/icu/util/ULocale;)Landroid/icu/util/Calendar;
-Landroid/icu/util/Calendar;->getPatternData(Landroid/icu/util/ULocale;Ljava/lang/String;)Landroid/icu/util/Calendar$PatternData;
-Landroid/icu/util/Calendar;->getPreviousZoneTransitionTime(Landroid/icu/util/TimeZone;JJ)Ljava/lang/Long;
-Landroid/icu/util/Calendar;->getRegionForCalendar(Landroid/icu/util/ULocale;)Ljava/lang/String;
-Landroid/icu/util/Calendar;->getRelatedYear()I
-Landroid/icu/util/Calendar;->getWeekDataForRegionInternal(Ljava/lang/String;)Landroid/icu/util/Calendar$WeekData;
-Landroid/icu/util/Calendar;->getWeekendTransition(I)I
-Landroid/icu/util/Calendar;->gregorianDayOfMonth:I
-Landroid/icu/util/Calendar;->gregorianDayOfYear:I
-Landroid/icu/util/Calendar;->gregorianMonth:I
-Landroid/icu/util/Calendar;->gregorianYear:I
-Landroid/icu/util/Calendar;->GREGORIAN_MONTH_COUNT:[[I
-Landroid/icu/util/Calendar;->gregoYearFromIslamicStart(I)I
-Landroid/icu/util/Calendar;->handleGetDateFormat(Ljava/lang/String;Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
-Landroid/icu/util/Calendar;->haveDefaultCentury()Z
-Landroid/icu/util/Calendar;->initInternal()V
-Landroid/icu/util/Calendar;->internalSetMask:I
-Landroid/icu/util/Calendar;->isTimeSet:Z
-Landroid/icu/util/Calendar;->lenient:Z
-Landroid/icu/util/Calendar;->LIMITS:[[I
-Landroid/icu/util/Calendar;->MAX_HOURS:I
-Landroid/icu/util/Calendar;->mergeOverrideStrings(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/util/Calendar;->minimalDaysInFirstWeek:I
-Landroid/icu/util/Calendar;->nextStamp:I
-Landroid/icu/util/Calendar;->PATTERN_CACHE:Landroid/icu/impl/ICUCache;
-Landroid/icu/util/Calendar;->QUOTE:C
-Landroid/icu/util/Calendar;->recalculateStamp()V
-Landroid/icu/util/Calendar;->repeatedWallTime:I
-Landroid/icu/util/Calendar;->setCalendarLocale(Landroid/icu/util/ULocale;)V
-Landroid/icu/util/Calendar;->setLocale(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)V
-Landroid/icu/util/Calendar;->setRelatedYear(I)V
-Landroid/icu/util/Calendar;->setWeekData(Ljava/lang/String;)V
-Landroid/icu/util/Calendar;->skippedWallTime:I
-Landroid/icu/util/Calendar;->stamp:[I
-Landroid/icu/util/Calendar;->STAMP_MAX:I
-Landroid/icu/util/Calendar;->time:J
-Landroid/icu/util/Calendar;->updateTime()V
-Landroid/icu/util/Calendar;->validLocale:Landroid/icu/util/ULocale;
-Landroid/icu/util/Calendar;->WEEKDAY:I
-Landroid/icu/util/Calendar;->WEEKEND:I
-Landroid/icu/util/Calendar;->weekendCease:I
-Landroid/icu/util/Calendar;->weekendCeaseMillis:I
-Landroid/icu/util/Calendar;->weekendOnset:I
-Landroid/icu/util/Calendar;->weekendOnsetMillis:I
-Landroid/icu/util/Calendar;->WEEKEND_CEASE:I
-Landroid/icu/util/Calendar;->WEEKEND_ONSET:I
-Landroid/icu/util/Calendar;->WEEK_DATA_CACHE:Landroid/icu/util/Calendar$WeekDataCache;
-Landroid/icu/util/Calendar;->zone:Landroid/icu/util/TimeZone;
-Landroid/icu/util/CaseInsensitiveString;
-Landroid/icu/util/CaseInsensitiveString;-><init>(Ljava/lang/String;)V
-Landroid/icu/util/CaseInsensitiveString;->foldCase(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/util/CaseInsensitiveString;->folded:Ljava/lang/String;
-Landroid/icu/util/CaseInsensitiveString;->getFolded()V
-Landroid/icu/util/CaseInsensitiveString;->getString()Ljava/lang/String;
-Landroid/icu/util/CaseInsensitiveString;->hash:I
-Landroid/icu/util/CaseInsensitiveString;->string:Ljava/lang/String;
-Landroid/icu/util/CECalendar;
-Landroid/icu/util/CECalendar;-><init>()V
-Landroid/icu/util/CECalendar;-><init>(III)V
-Landroid/icu/util/CECalendar;-><init>(IIIIII)V
-Landroid/icu/util/CECalendar;-><init>(Landroid/icu/util/TimeZone;)V
-Landroid/icu/util/CECalendar;-><init>(Landroid/icu/util/TimeZone;Landroid/icu/util/ULocale;)V
-Landroid/icu/util/CECalendar;-><init>(Landroid/icu/util/TimeZone;Ljava/util/Locale;)V
-Landroid/icu/util/CECalendar;-><init>(Landroid/icu/util/ULocale;)V
-Landroid/icu/util/CECalendar;-><init>(Ljava/util/Date;)V
-Landroid/icu/util/CECalendar;-><init>(Ljava/util/Locale;)V
-Landroid/icu/util/CECalendar;->ceToJD(JIII)I
-Landroid/icu/util/CECalendar;->getJDEpochOffset()I
-Landroid/icu/util/CECalendar;->jdToCE(II[I)V
-Landroid/icu/util/CECalendar;->LIMITS:[[I
-Landroid/icu/util/CharsTrie$Entry;
-Landroid/icu/util/CharsTrie$Entry;-><init>()V
-Landroid/icu/util/CharsTrie$Entry;->chars:Ljava/lang/CharSequence;
-Landroid/icu/util/CharsTrie$Entry;->value:I
-Landroid/icu/util/CharsTrie$Iterator;
-Landroid/icu/util/CharsTrie$Iterator;-><init>(Ljava/lang/CharSequence;III)V
-Landroid/icu/util/CharsTrie$Iterator;->branchNext(II)I
-Landroid/icu/util/CharsTrie$Iterator;->chars_:Ljava/lang/CharSequence;
-Landroid/icu/util/CharsTrie$Iterator;->entry_:Landroid/icu/util/CharsTrie$Entry;
-Landroid/icu/util/CharsTrie$Iterator;->initialPos_:I
-Landroid/icu/util/CharsTrie$Iterator;->initialRemainingMatchLength_:I
-Landroid/icu/util/CharsTrie$Iterator;->maxLength_:I
-Landroid/icu/util/CharsTrie$Iterator;->pos_:I
-Landroid/icu/util/CharsTrie$Iterator;->remainingMatchLength_:I
-Landroid/icu/util/CharsTrie$Iterator;->reset()Landroid/icu/util/CharsTrie$Iterator;
-Landroid/icu/util/CharsTrie$Iterator;->skipValue_:Z
-Landroid/icu/util/CharsTrie$Iterator;->stack_:Ljava/util/ArrayList;
-Landroid/icu/util/CharsTrie$Iterator;->str_:Ljava/lang/StringBuilder;
-Landroid/icu/util/CharsTrie$Iterator;->truncateAndStop()Landroid/icu/util/CharsTrie$Entry;
-Landroid/icu/util/CharsTrie$State;
-Landroid/icu/util/CharsTrie$State;-><init>()V
-Landroid/icu/util/CharsTrie$State;->chars:Ljava/lang/CharSequence;
-Landroid/icu/util/CharsTrie$State;->pos:I
-Landroid/icu/util/CharsTrie$State;->remainingMatchLength:I
-Landroid/icu/util/CharsTrie$State;->root:I
-Landroid/icu/util/CharsTrie;
-Landroid/icu/util/CharsTrie;-><init>(Ljava/lang/CharSequence;I)V
-Landroid/icu/util/CharsTrie;->append(Ljava/lang/Appendable;I)V
-Landroid/icu/util/CharsTrie;->branchNext(III)Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/CharsTrie;->chars_:Ljava/lang/CharSequence;
-Landroid/icu/util/CharsTrie;->current()Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/CharsTrie;->findUniqueValue(Ljava/lang/CharSequence;IJ)J
-Landroid/icu/util/CharsTrie;->findUniqueValueFromBranch(Ljava/lang/CharSequence;IIJ)J
-Landroid/icu/util/CharsTrie;->first(I)Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/CharsTrie;->firstForCodePoint(I)Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/CharsTrie;->getNextBranchChars(Ljava/lang/CharSequence;IILjava/lang/Appendable;)V
-Landroid/icu/util/CharsTrie;->getNextChars(Ljava/lang/Appendable;)I
-Landroid/icu/util/CharsTrie;->getUniqueValue()J
-Landroid/icu/util/CharsTrie;->getValue()I
-Landroid/icu/util/CharsTrie;->iterator(I)Landroid/icu/util/CharsTrie$Iterator;
-Landroid/icu/util/CharsTrie;->iterator(Ljava/lang/CharSequence;II)Landroid/icu/util/CharsTrie$Iterator;
-Landroid/icu/util/CharsTrie;->jumpByDelta(Ljava/lang/CharSequence;I)I
-Landroid/icu/util/CharsTrie;->kMaxBranchLinearSubNodeLength:I
-Landroid/icu/util/CharsTrie;->kMaxLinearMatchLength:I
-Landroid/icu/util/CharsTrie;->kMaxOneUnitDelta:I
-Landroid/icu/util/CharsTrie;->kMaxOneUnitNodeValue:I
-Landroid/icu/util/CharsTrie;->kMaxOneUnitValue:I
-Landroid/icu/util/CharsTrie;->kMaxTwoUnitDelta:I
-Landroid/icu/util/CharsTrie;->kMaxTwoUnitNodeValue:I
-Landroid/icu/util/CharsTrie;->kMaxTwoUnitValue:I
-Landroid/icu/util/CharsTrie;->kMinLinearMatch:I
-Landroid/icu/util/CharsTrie;->kMinTwoUnitDeltaLead:I
-Landroid/icu/util/CharsTrie;->kMinTwoUnitNodeValueLead:I
-Landroid/icu/util/CharsTrie;->kMinTwoUnitValueLead:I
-Landroid/icu/util/CharsTrie;->kMinValueLead:I
-Landroid/icu/util/CharsTrie;->kNodeTypeMask:I
-Landroid/icu/util/CharsTrie;->kThreeUnitDeltaLead:I
-Landroid/icu/util/CharsTrie;->kThreeUnitNodeValueLead:I
-Landroid/icu/util/CharsTrie;->kThreeUnitValueLead:I
-Landroid/icu/util/CharsTrie;->kValueIsFinal:I
-Landroid/icu/util/CharsTrie;->next(I)Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/CharsTrie;->next(Ljava/lang/CharSequence;II)Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/CharsTrie;->nextForCodePoint(I)Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/CharsTrie;->nextImpl(II)Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/CharsTrie;->pos_:I
-Landroid/icu/util/CharsTrie;->readNodeValue(Ljava/lang/CharSequence;II)I
-Landroid/icu/util/CharsTrie;->readValue(Ljava/lang/CharSequence;II)I
-Landroid/icu/util/CharsTrie;->remainingMatchLength_:I
-Landroid/icu/util/CharsTrie;->reset()Landroid/icu/util/CharsTrie;
-Landroid/icu/util/CharsTrie;->resetToState(Landroid/icu/util/CharsTrie$State;)Landroid/icu/util/CharsTrie;
-Landroid/icu/util/CharsTrie;->root_:I
-Landroid/icu/util/CharsTrie;->saveState(Landroid/icu/util/CharsTrie$State;)Landroid/icu/util/CharsTrie;
-Landroid/icu/util/CharsTrie;->skipDelta(Ljava/lang/CharSequence;I)I
-Landroid/icu/util/CharsTrie;->skipNodeValue(II)I
-Landroid/icu/util/CharsTrie;->skipValue(II)I
-Landroid/icu/util/CharsTrie;->skipValue(Ljava/lang/CharSequence;I)I
-Landroid/icu/util/CharsTrie;->stop()V
-Landroid/icu/util/CharsTrie;->valueResults_:[Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/CharsTrieBuilder;
-Landroid/icu/util/CharsTrieBuilder;-><init>()V
-Landroid/icu/util/CharsTrieBuilder;->add(Ljava/lang/CharSequence;I)Landroid/icu/util/CharsTrieBuilder;
-Landroid/icu/util/CharsTrieBuilder;->build(Landroid/icu/util/StringTrieBuilder$Option;)Landroid/icu/util/CharsTrie;
-Landroid/icu/util/CharsTrieBuilder;->buildChars(Landroid/icu/util/StringTrieBuilder$Option;)V
-Landroid/icu/util/CharsTrieBuilder;->buildCharSequence(Landroid/icu/util/StringTrieBuilder$Option;)Ljava/lang/CharSequence;
-Landroid/icu/util/CharsTrieBuilder;->chars:[C
-Landroid/icu/util/CharsTrieBuilder;->charsLength:I
-Landroid/icu/util/CharsTrieBuilder;->clear()Landroid/icu/util/CharsTrieBuilder;
-Landroid/icu/util/CharsTrieBuilder;->ensureCapacity(I)V
-Landroid/icu/util/CharsTrieBuilder;->getMaxBranchLinearSubNodeLength()I
-Landroid/icu/util/CharsTrieBuilder;->getMaxLinearMatchLength()I
-Landroid/icu/util/CharsTrieBuilder;->getMinLinearMatch()I
-Landroid/icu/util/CharsTrieBuilder;->intUnits:[C
-Landroid/icu/util/CharsTrieBuilder;->matchNodesCanHaveValues()Z
-Landroid/icu/util/CharsTrieBuilder;->write(I)I
-Landroid/icu/util/CharsTrieBuilder;->write(II)I
-Landroid/icu/util/CharsTrieBuilder;->write([CI)I
-Landroid/icu/util/CharsTrieBuilder;->writeDeltaTo(I)I
-Landroid/icu/util/CharsTrieBuilder;->writeValueAndFinal(IZ)I
-Landroid/icu/util/CharsTrieBuilder;->writeValueAndType(ZII)I
-Landroid/icu/util/ChineseCalendar;-><init>(Landroid/icu/util/TimeZone;Landroid/icu/util/ULocale;ILandroid/icu/util/TimeZone;)V
-Landroid/icu/util/ChineseCalendar;->astro:Landroid/icu/impl/CalendarAstronomer;
-Landroid/icu/util/ChineseCalendar;->CHINA_ZONE:Landroid/icu/util/TimeZone;
-Landroid/icu/util/ChineseCalendar;->CHINESE_DATE_PRECEDENCE:[[[I
-Landroid/icu/util/ChineseCalendar;->CHINESE_EPOCH_YEAR:I
-Landroid/icu/util/ChineseCalendar;->computeChineseFields(IIIZ)V
-Landroid/icu/util/ChineseCalendar;->daysToMillis(I)J
-Landroid/icu/util/ChineseCalendar;->epochYear:I
-Landroid/icu/util/ChineseCalendar;->hasNoMajorSolarTerm(I)Z
-Landroid/icu/util/ChineseCalendar;->haveDefaultCentury()Z
-Landroid/icu/util/ChineseCalendar;->isLeapMonthBetween(II)Z
-Landroid/icu/util/ChineseCalendar;->isLeapYear:Z
-Landroid/icu/util/ChineseCalendar;->LIMITS:[[I
-Landroid/icu/util/ChineseCalendar;->majorSolarTerm(I)I
-Landroid/icu/util/ChineseCalendar;->millisToDays(J)I
-Landroid/icu/util/ChineseCalendar;->newMoonNear(IZ)I
-Landroid/icu/util/ChineseCalendar;->newYear(I)I
-Landroid/icu/util/ChineseCalendar;->newYearCache:Landroid/icu/impl/CalendarCache;
-Landroid/icu/util/ChineseCalendar;->offsetMonth(III)V
-Landroid/icu/util/ChineseCalendar;->synodicMonthsBetween(II)I
-Landroid/icu/util/ChineseCalendar;->SYNODIC_GAP:I
-Landroid/icu/util/ChineseCalendar;->winterSolstice(I)I
-Landroid/icu/util/ChineseCalendar;->winterSolsticeCache:Landroid/icu/impl/CalendarCache;
-Landroid/icu/util/ChineseCalendar;->zoneAstro:Landroid/icu/util/TimeZone;
-Landroid/icu/util/CompactByteArray;
-Landroid/icu/util/CompactByteArray;-><init>()V
-Landroid/icu/util/CompactByteArray;-><init>(B)V
-Landroid/icu/util/CompactByteArray;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/util/CompactByteArray;-><init>([C[B)V
-Landroid/icu/util/CompactByteArray;->arrayRegionMatches([BI[BII)Z
-Landroid/icu/util/CompactByteArray;->BLOCKCOUNT:I
-Landroid/icu/util/CompactByteArray;->BLOCKMASK:I
-Landroid/icu/util/CompactByteArray;->BLOCKSHIFT:I
-Landroid/icu/util/CompactByteArray;->blockTouched(I)Z
-Landroid/icu/util/CompactByteArray;->compact()V
-Landroid/icu/util/CompactByteArray;->compact(Z)V
-Landroid/icu/util/CompactByteArray;->defaultValue:B
-Landroid/icu/util/CompactByteArray;->elementAt(C)B
-Landroid/icu/util/CompactByteArray;->expand()V
-Landroid/icu/util/CompactByteArray;->getIndexArray()[C
-Landroid/icu/util/CompactByteArray;->getValueArray()[B
-Landroid/icu/util/CompactByteArray;->hashes:[I
-Landroid/icu/util/CompactByteArray;->INDEXCOUNT:I
-Landroid/icu/util/CompactByteArray;->INDEXSHIFT:I
-Landroid/icu/util/CompactByteArray;->indices:[C
-Landroid/icu/util/CompactByteArray;->isCompact:Z
-Landroid/icu/util/CompactByteArray;->setElementAt(CB)V
-Landroid/icu/util/CompactByteArray;->setElementAt(CCB)V
-Landroid/icu/util/CompactByteArray;->touchBlock(II)V
-Landroid/icu/util/CompactByteArray;->UNICODECOUNT:I
-Landroid/icu/util/CompactByteArray;->values:[B
-Landroid/icu/util/CompactCharArray;
-Landroid/icu/util/CompactCharArray;-><init>()V
-Landroid/icu/util/CompactCharArray;-><init>(C)V
-Landroid/icu/util/CompactCharArray;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/util/CompactCharArray;-><init>([C[C)V
-Landroid/icu/util/CompactCharArray;->arrayRegionMatches([CI[CII)Z
-Landroid/icu/util/CompactCharArray;->BLOCKCOUNT:I
-Landroid/icu/util/CompactCharArray;->BLOCKMASK:I
-Landroid/icu/util/CompactCharArray;->BLOCKSHIFT:I
-Landroid/icu/util/CompactCharArray;->blockTouched(I)Z
-Landroid/icu/util/CompactCharArray;->compact()V
-Landroid/icu/util/CompactCharArray;->compact(Z)V
-Landroid/icu/util/CompactCharArray;->defaultValue:C
-Landroid/icu/util/CompactCharArray;->elementAt(C)C
-Landroid/icu/util/CompactCharArray;->expand()V
-Landroid/icu/util/CompactCharArray;->FindOverlappingPosition(I[CI)I
-Landroid/icu/util/CompactCharArray;->getIndexArray()[C
-Landroid/icu/util/CompactCharArray;->getValueArray()[C
-Landroid/icu/util/CompactCharArray;->hashes:[I
-Landroid/icu/util/CompactCharArray;->INDEXCOUNT:I
-Landroid/icu/util/CompactCharArray;->INDEXSHIFT:I
-Landroid/icu/util/CompactCharArray;->indices:[C
-Landroid/icu/util/CompactCharArray;->isCompact:Z
-Landroid/icu/util/CompactCharArray;->setElementAt(CC)V
-Landroid/icu/util/CompactCharArray;->setElementAt(CCC)V
-Landroid/icu/util/CompactCharArray;->touchBlock(II)V
-Landroid/icu/util/CompactCharArray;->UNICODECOUNT:I
-Landroid/icu/util/CompactCharArray;->values:[C
-Landroid/icu/util/CopticCalendar;->BCE:I
-Landroid/icu/util/CopticCalendar;->CE:I
-Landroid/icu/util/CopticCalendar;->copticToJD(JII)I
-Landroid/icu/util/CopticCalendar;->getJDEpochOffset()I
-Landroid/icu/util/CopticCalendar;->JD_EPOCH_OFFSET:I
-Landroid/icu/util/Currency$CurrencyNameResultHandler;
-Landroid/icu/util/Currency$CurrencyNameResultHandler;-><init>()V
-Landroid/icu/util/Currency$CurrencyNameResultHandler;->bestCurrencyISOCode:Ljava/lang/String;
-Landroid/icu/util/Currency$CurrencyNameResultHandler;->bestMatchLength:I
-Landroid/icu/util/Currency$CurrencyNameResultHandler;->getBestCurrencyISOCode()Ljava/lang/String;
-Landroid/icu/util/Currency$CurrencyNameResultHandler;->getBestMatchLength()I
-Landroid/icu/util/Currency$CurrencyNameResultHandler;->handlePrefixMatch(ILjava/util/Iterator;)Z
-Landroid/icu/util/Currency$CurrencyStringInfo;
-Landroid/icu/util/Currency$CurrencyStringInfo;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/util/Currency$CurrencyStringInfo;->currencyString:Ljava/lang/String;
-Landroid/icu/util/Currency$CurrencyStringInfo;->getCurrencyString()Ljava/lang/String;
-Landroid/icu/util/Currency$CurrencyStringInfo;->getISOCode()Ljava/lang/String;
-Landroid/icu/util/Currency$CurrencyStringInfo;->isoCode:Ljava/lang/String;
-Landroid/icu/util/Currency$CurrencyUsage;-><init>()V
-Landroid/icu/util/Currency$EquivalenceRelation;
-Landroid/icu/util/Currency$EquivalenceRelation;-><init>()V
-Landroid/icu/util/Currency$EquivalenceRelation;->add([[Ljava/lang/Object;)Landroid/icu/util/Currency$EquivalenceRelation;
-Landroid/icu/util/Currency$EquivalenceRelation;->data:Ljava/util/Map;
-Landroid/icu/util/Currency$EquivalenceRelation;->get(Ljava/lang/Object;)Ljava/util/Set;
-Landroid/icu/util/Currency$ServiceShim;
-Landroid/icu/util/Currency$ServiceShim;-><init>()V
-Landroid/icu/util/Currency$ServiceShim;->createInstance(Landroid/icu/util/ULocale;)Landroid/icu/util/Currency;
-Landroid/icu/util/Currency$ServiceShim;->getAvailableLocales()[Ljava/util/Locale;
-Landroid/icu/util/Currency$ServiceShim;->getAvailableULocales()[Landroid/icu/util/ULocale;
-Landroid/icu/util/Currency$ServiceShim;->registerInstance(Landroid/icu/util/Currency;Landroid/icu/util/ULocale;)Ljava/lang/Object;
-Landroid/icu/util/Currency$ServiceShim;->unregister(Ljava/lang/Object;)Z
-Landroid/icu/util/Currency;->ALL_CODES_AS_SET:Ljava/lang/ref/SoftReference;
-Landroid/icu/util/Currency;->ALL_TENDER_CODES:Ljava/lang/ref/SoftReference;
-Landroid/icu/util/Currency;->createCurrency(Landroid/icu/util/ULocale;)Landroid/icu/util/Currency;
-Landroid/icu/util/Currency;->CURRENCY_NAME_CACHE:Landroid/icu/impl/ICUCache;
-Landroid/icu/util/Currency;->DEBUG:Z
-Landroid/icu/util/Currency;->EMPTY_STRING_ARRAY:[Ljava/lang/String;
-Landroid/icu/util/Currency;->EQUIVALENT_CURRENCY_SYMBOLS:Landroid/icu/util/Currency$EquivalenceRelation;
-Landroid/icu/util/Currency;->EUR_STR:Ljava/lang/String;
-Landroid/icu/util/Currency;->fromJavaCurrency(Ljava/util/Currency;)Landroid/icu/util/Currency;
-Landroid/icu/util/Currency;->getAllCurrenciesAsSet()Ljava/util/Set;
-Landroid/icu/util/Currency;->getAllTenderCurrencies()Ljava/util/List;
-Landroid/icu/util/Currency;->getCurrencyTrieVec(Landroid/icu/util/ULocale;)Ljava/util/List;
-Landroid/icu/util/Currency;->getShim()Landroid/icu/util/Currency$ServiceShim;
-Landroid/icu/util/Currency;->getTenderCurrencies(Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;)Ljava/util/List;
-Landroid/icu/util/Currency;->isAlpha3Code(Ljava/lang/String;)Z
-Landroid/icu/util/Currency;->isoCode:Ljava/lang/String;
-Landroid/icu/util/Currency;->loadCurrency(Ljava/lang/String;)Landroid/icu/util/Currency;
-Landroid/icu/util/Currency;->NARROW_SYMBOL_NAME:I
-Landroid/icu/util/Currency;->openParseState(Landroid/icu/util/ULocale;II)Landroid/icu/impl/TextTrieMap$ParseState;
-Landroid/icu/util/Currency;->parse(Landroid/icu/util/ULocale;Ljava/lang/String;ILjava/text/ParsePosition;)Ljava/lang/String;
-Landroid/icu/util/Currency;->POW10:[I
-Landroid/icu/util/Currency;->regionCurrencyCache:Landroid/icu/impl/CacheBase;
-Landroid/icu/util/Currency;->registerInstance(Landroid/icu/util/Currency;Landroid/icu/util/ULocale;)Ljava/lang/Object;
-Landroid/icu/util/Currency;->setupCurrencyTrieVec(Landroid/icu/util/ULocale;Ljava/util/List;)V
-Landroid/icu/util/Currency;->shim:Landroid/icu/util/Currency$ServiceShim;
-Landroid/icu/util/Currency;->toJavaCurrency()Ljava/util/Currency;
-Landroid/icu/util/Currency;->UND:Landroid/icu/util/ULocale;
-Landroid/icu/util/Currency;->unregister(Ljava/lang/Object;)Z
-Landroid/icu/util/CurrencyAmount;-><init>(DLjava/util/Currency;)V
-Landroid/icu/util/CurrencyAmount;-><init>(Ljava/lang/Number;Ljava/util/Currency;)V
-Landroid/icu/util/DangiCalendar;
-Landroid/icu/util/DangiCalendar;-><init>()V
-Landroid/icu/util/DangiCalendar;-><init>(Landroid/icu/util/TimeZone;Landroid/icu/util/ULocale;)V
-Landroid/icu/util/DangiCalendar;-><init>(Ljava/util/Date;)V
-Landroid/icu/util/DangiCalendar;->DANGI_EPOCH_YEAR:I
-Landroid/icu/util/DangiCalendar;->KOREA_ZONE:Landroid/icu/util/TimeZone;
-Landroid/icu/util/DateInterval;->fromDate:J
-Landroid/icu/util/DateInterval;->toDate:J
-Landroid/icu/util/DateRule;
-Landroid/icu/util/DateRule;->firstAfter(Ljava/util/Date;)Ljava/util/Date;
-Landroid/icu/util/DateRule;->firstBetween(Ljava/util/Date;Ljava/util/Date;)Ljava/util/Date;
-Landroid/icu/util/DateRule;->isBetween(Ljava/util/Date;Ljava/util/Date;)Z
-Landroid/icu/util/DateRule;->isOn(Ljava/util/Date;)Z
-Landroid/icu/util/DateTimeRule;
-Landroid/icu/util/DateTimeRule;-><init>(IIII)V
-Landroid/icu/util/DateTimeRule;-><init>(IIIII)V
-Landroid/icu/util/DateTimeRule;-><init>(IIIZII)V
-Landroid/icu/util/DateTimeRule;->dateRuleType:I
-Landroid/icu/util/DateTimeRule;->dayOfMonth:I
-Landroid/icu/util/DateTimeRule;->dayOfWeek:I
-Landroid/icu/util/DateTimeRule;->DOM:I
-Landroid/icu/util/DateTimeRule;->DOW:I
-Landroid/icu/util/DateTimeRule;->DOWSTR:[Ljava/lang/String;
-Landroid/icu/util/DateTimeRule;->DOW_GEQ_DOM:I
-Landroid/icu/util/DateTimeRule;->DOW_LEQ_DOM:I
-Landroid/icu/util/DateTimeRule;->getDateRuleType()I
-Landroid/icu/util/DateTimeRule;->getRuleDayOfMonth()I
-Landroid/icu/util/DateTimeRule;->getRuleDayOfWeek()I
-Landroid/icu/util/DateTimeRule;->getRuleMillisInDay()I
-Landroid/icu/util/DateTimeRule;->getRuleMonth()I
-Landroid/icu/util/DateTimeRule;->getRuleWeekInMonth()I
-Landroid/icu/util/DateTimeRule;->getTimeRuleType()I
-Landroid/icu/util/DateTimeRule;->millisInDay:I
-Landroid/icu/util/DateTimeRule;->MONSTR:[Ljava/lang/String;
-Landroid/icu/util/DateTimeRule;->month:I
-Landroid/icu/util/DateTimeRule;->STANDARD_TIME:I
-Landroid/icu/util/DateTimeRule;->timeRuleType:I
-Landroid/icu/util/DateTimeRule;->UTC_TIME:I
-Landroid/icu/util/DateTimeRule;->WALL_TIME:I
-Landroid/icu/util/DateTimeRule;->weekInMonth:I
-Landroid/icu/util/EasterHoliday;
-Landroid/icu/util/EasterHoliday;-><init>(ILjava/lang/String;)V
-Landroid/icu/util/EasterHoliday;-><init>(IZLjava/lang/String;)V
-Landroid/icu/util/EasterHoliday;-><init>(Ljava/lang/String;)V
-Landroid/icu/util/EasterHoliday;->ASCENSION:Landroid/icu/util/EasterHoliday;
-Landroid/icu/util/EasterHoliday;->ASH_WEDNESDAY:Landroid/icu/util/EasterHoliday;
-Landroid/icu/util/EasterHoliday;->CORPUS_CHRISTI:Landroid/icu/util/EasterHoliday;
-Landroid/icu/util/EasterHoliday;->EASTER_MONDAY:Landroid/icu/util/EasterHoliday;
-Landroid/icu/util/EasterHoliday;->EASTER_SUNDAY:Landroid/icu/util/EasterHoliday;
-Landroid/icu/util/EasterHoliday;->GOOD_FRIDAY:Landroid/icu/util/EasterHoliday;
-Landroid/icu/util/EasterHoliday;->MAUNDY_THURSDAY:Landroid/icu/util/EasterHoliday;
-Landroid/icu/util/EasterHoliday;->PALM_SUNDAY:Landroid/icu/util/EasterHoliday;
-Landroid/icu/util/EasterHoliday;->PENTECOST:Landroid/icu/util/EasterHoliday;
-Landroid/icu/util/EasterHoliday;->SHROVE_TUESDAY:Landroid/icu/util/EasterHoliday;
-Landroid/icu/util/EasterHoliday;->WHIT_MONDAY:Landroid/icu/util/EasterHoliday;
-Landroid/icu/util/EasterHoliday;->WHIT_SUNDAY:Landroid/icu/util/EasterHoliday;
-Landroid/icu/util/EthiopicCalendar;->AMETE_ALEM:I
-Landroid/icu/util/EthiopicCalendar;->AMETE_ALEM_ERA:I
-Landroid/icu/util/EthiopicCalendar;->AMETE_MIHRET:I
-Landroid/icu/util/EthiopicCalendar;->AMETE_MIHRET_DELTA:I
-Landroid/icu/util/EthiopicCalendar;->AMETE_MIHRET_ERA:I
-Landroid/icu/util/EthiopicCalendar;->eraType:I
-Landroid/icu/util/EthiopicCalendar;->EthiopicToJD(JII)I
-Landroid/icu/util/EthiopicCalendar;->getJDEpochOffset()I
-Landroid/icu/util/EthiopicCalendar;->JD_EPOCH_OFFSET_AMETE_MIHRET:I
-Landroid/icu/util/EthiopicCalendar;->setCalcTypeForLocale(Landroid/icu/util/ULocale;)V
-Landroid/icu/util/GenderInfo$Cache;
-Landroid/icu/util/GenderInfo$Cache;-><init>()V
-Landroid/icu/util/GenderInfo$Cache;->cache:Landroid/icu/impl/ICUCache;
-Landroid/icu/util/GenderInfo$Cache;->get(Landroid/icu/util/ULocale;)Landroid/icu/util/GenderInfo;
-Landroid/icu/util/GenderInfo$Cache;->load(Landroid/icu/util/ULocale;)Landroid/icu/util/GenderInfo;
-Landroid/icu/util/GenderInfo$Gender;
-Landroid/icu/util/GenderInfo$Gender;-><init>()V
-Landroid/icu/util/GenderInfo$Gender;->FEMALE:Landroid/icu/util/GenderInfo$Gender;
-Landroid/icu/util/GenderInfo$Gender;->MALE:Landroid/icu/util/GenderInfo$Gender;
-Landroid/icu/util/GenderInfo$Gender;->OTHER:Landroid/icu/util/GenderInfo$Gender;
-Landroid/icu/util/GenderInfo$Gender;->valueOf(Ljava/lang/String;)Landroid/icu/util/GenderInfo$Gender;
-Landroid/icu/util/GenderInfo$Gender;->values()[Landroid/icu/util/GenderInfo$Gender;
-Landroid/icu/util/GenderInfo$ListGenderStyle;
-Landroid/icu/util/GenderInfo$ListGenderStyle;-><init>()V
-Landroid/icu/util/GenderInfo$ListGenderStyle;->fromName(Ljava/lang/String;)Landroid/icu/util/GenderInfo$ListGenderStyle;
-Landroid/icu/util/GenderInfo$ListGenderStyle;->fromNameMap:Ljava/util/Map;
-Landroid/icu/util/GenderInfo$ListGenderStyle;->MALE_TAINTS:Landroid/icu/util/GenderInfo$ListGenderStyle;
-Landroid/icu/util/GenderInfo$ListGenderStyle;->MIXED_NEUTRAL:Landroid/icu/util/GenderInfo$ListGenderStyle;
-Landroid/icu/util/GenderInfo$ListGenderStyle;->NEUTRAL:Landroid/icu/util/GenderInfo$ListGenderStyle;
-Landroid/icu/util/GenderInfo$ListGenderStyle;->valueOf(Ljava/lang/String;)Landroid/icu/util/GenderInfo$ListGenderStyle;
-Landroid/icu/util/GenderInfo$ListGenderStyle;->values()[Landroid/icu/util/GenderInfo$ListGenderStyle;
-Landroid/icu/util/GenderInfo;
-Landroid/icu/util/GenderInfo;-><init>(Landroid/icu/util/GenderInfo$ListGenderStyle;)V
-Landroid/icu/util/GenderInfo;->genderInfoCache:Landroid/icu/util/GenderInfo$Cache;
-Landroid/icu/util/GenderInfo;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/util/GenderInfo;
-Landroid/icu/util/GenderInfo;->getInstance(Ljava/util/Locale;)Landroid/icu/util/GenderInfo;
-Landroid/icu/util/GenderInfo;->getListGender(Ljava/util/List;)Landroid/icu/util/GenderInfo$Gender;
-Landroid/icu/util/GenderInfo;->getListGender([[Landroid/icu/util/GenderInfo$Gender;)Landroid/icu/util/GenderInfo$Gender;
-Landroid/icu/util/GenderInfo;->neutral:Landroid/icu/util/GenderInfo;
-Landroid/icu/util/GenderInfo;->style:Landroid/icu/util/GenderInfo$ListGenderStyle;
-Landroid/icu/util/GlobalizationPreferences;
-Landroid/icu/util/GlobalizationPreferences;-><init>()V
-Landroid/icu/util/GlobalizationPreferences;->available_locales:Ljava/util/HashMap;
-Landroid/icu/util/GlobalizationPreferences;->BI_CHARACTER:I
-Landroid/icu/util/GlobalizationPreferences;->BI_LIMIT:I
-Landroid/icu/util/GlobalizationPreferences;->BI_LINE:I
-Landroid/icu/util/GlobalizationPreferences;->BI_SENTENCE:I
-Landroid/icu/util/GlobalizationPreferences;->BI_TITLE:I
-Landroid/icu/util/GlobalizationPreferences;->BI_WORD:I
-Landroid/icu/util/GlobalizationPreferences;->breakIterators:[Landroid/icu/text/BreakIterator;
-Landroid/icu/util/GlobalizationPreferences;->calendar:Landroid/icu/util/Calendar;
-Landroid/icu/util/GlobalizationPreferences;->collator:Landroid/icu/text/Collator;
-Landroid/icu/util/GlobalizationPreferences;->currency:Landroid/icu/util/Currency;
-Landroid/icu/util/GlobalizationPreferences;->dateFormats:[[Landroid/icu/text/DateFormat;
-Landroid/icu/util/GlobalizationPreferences;->DF_FULL:I
-Landroid/icu/util/GlobalizationPreferences;->DF_LIMIT:I
-Landroid/icu/util/GlobalizationPreferences;->DF_LONG:I
-Landroid/icu/util/GlobalizationPreferences;->DF_MEDIUM:I
-Landroid/icu/util/GlobalizationPreferences;->DF_NONE:I
-Landroid/icu/util/GlobalizationPreferences;->DF_SHORT:I
-Landroid/icu/util/GlobalizationPreferences;->frozen:Z
-Landroid/icu/util/GlobalizationPreferences;->getAvailableLocale(I)Landroid/icu/util/ULocale;
-Landroid/icu/util/GlobalizationPreferences;->getBreakIterator(I)Landroid/icu/text/BreakIterator;
-Landroid/icu/util/GlobalizationPreferences;->getCalendar()Landroid/icu/util/Calendar;
-Landroid/icu/util/GlobalizationPreferences;->getCollator()Landroid/icu/text/Collator;
-Landroid/icu/util/GlobalizationPreferences;->getCurrency()Landroid/icu/util/Currency;
-Landroid/icu/util/GlobalizationPreferences;->getDateFormat(II)Landroid/icu/text/DateFormat;
-Landroid/icu/util/GlobalizationPreferences;->getDisplayName(Ljava/lang/String;I)Ljava/lang/String;
-Landroid/icu/util/GlobalizationPreferences;->getLocale(I)Landroid/icu/util/ULocale;
-Landroid/icu/util/GlobalizationPreferences;->getLocales()Ljava/util/List;
-Landroid/icu/util/GlobalizationPreferences;->getNumberFormat(I)Landroid/icu/text/NumberFormat;
-Landroid/icu/util/GlobalizationPreferences;->getResourceBundle(Ljava/lang/String;)Ljava/util/ResourceBundle;
-Landroid/icu/util/GlobalizationPreferences;->getResourceBundle(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/util/ResourceBundle;
-Landroid/icu/util/GlobalizationPreferences;->getTerritory()Ljava/lang/String;
-Landroid/icu/util/GlobalizationPreferences;->getTimeZone()Landroid/icu/util/TimeZone;
-Landroid/icu/util/GlobalizationPreferences;->guessBreakIterator(I)Landroid/icu/text/BreakIterator;
-Landroid/icu/util/GlobalizationPreferences;->guessCalendar()Landroid/icu/util/Calendar;
-Landroid/icu/util/GlobalizationPreferences;->guessCollator()Landroid/icu/text/Collator;
-Landroid/icu/util/GlobalizationPreferences;->guessCurrency()Landroid/icu/util/Currency;
-Landroid/icu/util/GlobalizationPreferences;->guessDateFormat(II)Landroid/icu/text/DateFormat;
-Landroid/icu/util/GlobalizationPreferences;->guessLocales()Ljava/util/List;
-Landroid/icu/util/GlobalizationPreferences;->guessNumberFormat(I)Landroid/icu/text/NumberFormat;
-Landroid/icu/util/GlobalizationPreferences;->guessTerritory()Ljava/lang/String;
-Landroid/icu/util/GlobalizationPreferences;->guessTimeZone()Landroid/icu/util/TimeZone;
-Landroid/icu/util/GlobalizationPreferences;->ID_CURRENCY:I
-Landroid/icu/util/GlobalizationPreferences;->ID_CURRENCY_SYMBOL:I
-Landroid/icu/util/GlobalizationPreferences;->ID_KEYWORD:I
-Landroid/icu/util/GlobalizationPreferences;->ID_KEYWORD_VALUE:I
-Landroid/icu/util/GlobalizationPreferences;->ID_LANGUAGE:I
-Landroid/icu/util/GlobalizationPreferences;->ID_LOCALE:I
-Landroid/icu/util/GlobalizationPreferences;->ID_SCRIPT:I
-Landroid/icu/util/GlobalizationPreferences;->ID_TERRITORY:I
-Landroid/icu/util/GlobalizationPreferences;->ID_TIMEZONE:I
-Landroid/icu/util/GlobalizationPreferences;->ID_VARIANT:I
-Landroid/icu/util/GlobalizationPreferences;->implicitLocales:Ljava/util/List;
-Landroid/icu/util/GlobalizationPreferences;->isAvailableLocale(Landroid/icu/util/ULocale;I)Z
-Landroid/icu/util/GlobalizationPreferences;->language_territory_hack:[[Ljava/lang/String;
-Landroid/icu/util/GlobalizationPreferences;->language_territory_hack_map:Ljava/util/Map;
-Landroid/icu/util/GlobalizationPreferences;->locales:Ljava/util/List;
-Landroid/icu/util/GlobalizationPreferences;->NF_CURRENCY:I
-Landroid/icu/util/GlobalizationPreferences;->NF_INTEGER:I
-Landroid/icu/util/GlobalizationPreferences;->NF_LIMIT:I
-Landroid/icu/util/GlobalizationPreferences;->NF_NUMBER:I
-Landroid/icu/util/GlobalizationPreferences;->NF_PERCENT:I
-Landroid/icu/util/GlobalizationPreferences;->NF_SCIENTIFIC:I
-Landroid/icu/util/GlobalizationPreferences;->numberFormats:[Landroid/icu/text/NumberFormat;
-Landroid/icu/util/GlobalizationPreferences;->processLocales(Ljava/util/List;)Ljava/util/List;
-Landroid/icu/util/GlobalizationPreferences;->reset()Landroid/icu/util/GlobalizationPreferences;
-Landroid/icu/util/GlobalizationPreferences;->setBreakIterator(ILandroid/icu/text/BreakIterator;)Landroid/icu/util/GlobalizationPreferences;
-Landroid/icu/util/GlobalizationPreferences;->setCalendar(Landroid/icu/util/Calendar;)Landroid/icu/util/GlobalizationPreferences;
-Landroid/icu/util/GlobalizationPreferences;->setCollator(Landroid/icu/text/Collator;)Landroid/icu/util/GlobalizationPreferences;
-Landroid/icu/util/GlobalizationPreferences;->setCurrency(Landroid/icu/util/Currency;)Landroid/icu/util/GlobalizationPreferences;
-Landroid/icu/util/GlobalizationPreferences;->setDateFormat(IILandroid/icu/text/DateFormat;)Landroid/icu/util/GlobalizationPreferences;
-Landroid/icu/util/GlobalizationPreferences;->setLocale(Landroid/icu/util/ULocale;)Landroid/icu/util/GlobalizationPreferences;
-Landroid/icu/util/GlobalizationPreferences;->setLocales(Ljava/lang/String;)Landroid/icu/util/GlobalizationPreferences;
-Landroid/icu/util/GlobalizationPreferences;->setLocales(Ljava/util/List;)Landroid/icu/util/GlobalizationPreferences;
-Landroid/icu/util/GlobalizationPreferences;->setLocales([Landroid/icu/util/ULocale;)Landroid/icu/util/GlobalizationPreferences;
-Landroid/icu/util/GlobalizationPreferences;->setNumberFormat(ILandroid/icu/text/NumberFormat;)Landroid/icu/util/GlobalizationPreferences;
-Landroid/icu/util/GlobalizationPreferences;->setTerritory(Ljava/lang/String;)Landroid/icu/util/GlobalizationPreferences;
-Landroid/icu/util/GlobalizationPreferences;->setTimeZone(Landroid/icu/util/TimeZone;)Landroid/icu/util/GlobalizationPreferences;
-Landroid/icu/util/GlobalizationPreferences;->territory:Ljava/lang/String;
-Landroid/icu/util/GlobalizationPreferences;->territory_tzid_hack:[[Ljava/lang/String;
-Landroid/icu/util/GlobalizationPreferences;->territory_tzid_hack_map:Ljava/util/Map;
-Landroid/icu/util/GlobalizationPreferences;->timezone:Landroid/icu/util/TimeZone;
-Landroid/icu/util/GlobalizationPreferences;->TYPE_BREAKITERATOR:I
-Landroid/icu/util/GlobalizationPreferences;->TYPE_CALENDAR:I
-Landroid/icu/util/GlobalizationPreferences;->TYPE_COLLATOR:I
-Landroid/icu/util/GlobalizationPreferences;->TYPE_DATEFORMAT:I
-Landroid/icu/util/GlobalizationPreferences;->TYPE_GENERIC:I
-Landroid/icu/util/GlobalizationPreferences;->TYPE_LIMIT:I
-Landroid/icu/util/GlobalizationPreferences;->TYPE_NUMBERFORMAT:I
-Landroid/icu/util/GregorianCalendar;->cutoverJulianDay:I
-Landroid/icu/util/GregorianCalendar;->EPOCH_YEAR:I
-Landroid/icu/util/GregorianCalendar;->gregorianCutover:J
-Landroid/icu/util/GregorianCalendar;->gregorianCutoverYear:I
-Landroid/icu/util/GregorianCalendar;->inDaylightTime()Z
-Landroid/icu/util/GregorianCalendar;->LIMITS:[[I
-Landroid/icu/util/GregorianCalendar;->MONTH_COUNT:[[I
-Landroid/icu/util/HebrewCalendar;->BAHARAD:J
-Landroid/icu/util/HebrewCalendar;->cache:Landroid/icu/impl/CalendarCache;
-Landroid/icu/util/HebrewCalendar;->DAY_PARTS:J
-Landroid/icu/util/HebrewCalendar;->HOUR_PARTS:J
-Landroid/icu/util/HebrewCalendar;->isLeapYear(I)Z
-Landroid/icu/util/HebrewCalendar;->LEAP_MONTH_START:[[I
-Landroid/icu/util/HebrewCalendar;->LIMITS:[[I
-Landroid/icu/util/HebrewCalendar;->monthsInYear(I)I
-Landroid/icu/util/HebrewCalendar;->MONTH_DAYS:I
-Landroid/icu/util/HebrewCalendar;->MONTH_FRACT:J
-Landroid/icu/util/HebrewCalendar;->MONTH_LENGTH:[[I
-Landroid/icu/util/HebrewCalendar;->MONTH_PARTS:J
-Landroid/icu/util/HebrewCalendar;->MONTH_START:[[I
-Landroid/icu/util/HebrewCalendar;->startOfYear(I)J
-Landroid/icu/util/HebrewCalendar;->yearType(I)I
-Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;-><init>(IIILjava/lang/String;)V
-Landroid/icu/util/HebrewHoliday;-><init>(IILjava/lang/String;)V
-Landroid/icu/util/HebrewHoliday;->ESTHER:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->gCalendar:Landroid/icu/util/HebrewCalendar;
-Landroid/icu/util/HebrewHoliday;->GEDALIAH:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->HANUKKAH:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->HOSHANAH_RABBAH:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->LAG_BOMER:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->PASSOVER:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->PESACH_SHEINI:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->PURIM:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->ROSH_HASHANAH:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->SELIHOT:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->SHAVUOT:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->SHEMINI_ATZERET:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->SHUSHAN_PURIM:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->SIMCHAT_TORAH:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->SUKKOT:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->TAMMUZ_17:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->TEVET_10:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->TISHA_BAV:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->TU_BSHEVAT:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->YOM_HAATZMAUT:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->YOM_HASHOAH:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->YOM_HAZIKARON:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->YOM_KIPPUR:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/HebrewHoliday;->YOM_YERUSHALAYIM:Landroid/icu/util/HebrewHoliday;
-Landroid/icu/util/Holiday;
-Landroid/icu/util/Holiday;-><init>(Ljava/lang/String;Landroid/icu/util/DateRule;)V
-Landroid/icu/util/Holiday;->firstAfter(Ljava/util/Date;)Ljava/util/Date;
-Landroid/icu/util/Holiday;->firstBetween(Ljava/util/Date;Ljava/util/Date;)Ljava/util/Date;
-Landroid/icu/util/Holiday;->getDisplayName()Ljava/lang/String;
-Landroid/icu/util/Holiday;->getDisplayName(Landroid/icu/util/ULocale;)Ljava/lang/String;
-Landroid/icu/util/Holiday;->getDisplayName(Ljava/util/Locale;)Ljava/lang/String;
-Landroid/icu/util/Holiday;->getHolidays()[Landroid/icu/util/Holiday;
-Landroid/icu/util/Holiday;->getHolidays(Landroid/icu/util/ULocale;)[Landroid/icu/util/Holiday;
-Landroid/icu/util/Holiday;->getHolidays(Ljava/util/Locale;)[Landroid/icu/util/Holiday;
-Landroid/icu/util/Holiday;->getRule()Landroid/icu/util/DateRule;
-Landroid/icu/util/Holiday;->isBetween(Ljava/util/Date;Ljava/util/Date;)Z
-Landroid/icu/util/Holiday;->isOn(Ljava/util/Date;)Z
-Landroid/icu/util/Holiday;->name:Ljava/lang/String;
-Landroid/icu/util/Holiday;->noHolidays:[Landroid/icu/util/Holiday;
-Landroid/icu/util/Holiday;->rule:Landroid/icu/util/DateRule;
-Landroid/icu/util/Holiday;->setRule(Landroid/icu/util/DateRule;)V
-Landroid/icu/util/ICUCloneNotSupportedException;
-Landroid/icu/util/ICUCloneNotSupportedException;-><init>()V
-Landroid/icu/util/ICUCloneNotSupportedException;-><init>(Ljava/lang/String;)V
-Landroid/icu/util/ICUCloneNotSupportedException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-Landroid/icu/util/ICUCloneNotSupportedException;-><init>(Ljava/lang/Throwable;)V
-Landroid/icu/util/ICUException;
-Landroid/icu/util/ICUException;-><init>()V
-Landroid/icu/util/ICUException;-><init>(Ljava/lang/String;)V
-Landroid/icu/util/ICUException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-Landroid/icu/util/ICUException;-><init>(Ljava/lang/Throwable;)V
-Landroid/icu/util/IllformedLocaleException;->_errIdx:I
-Landroid/icu/util/IndianCalendar;->gregorianToJD(III)D
-Landroid/icu/util/IndianCalendar;->IndianToJD(III)D
-Landroid/icu/util/IndianCalendar;->INDIAN_ERA_START:I
-Landroid/icu/util/IndianCalendar;->INDIAN_YEAR_START:I
-Landroid/icu/util/IndianCalendar;->isGregorianLeap(I)Z
-Landroid/icu/util/IndianCalendar;->jdToGregorian(D)[I
-Landroid/icu/util/IndianCalendar;->LIMITS:[[I
-Landroid/icu/util/InitialTimeZoneRule;
-Landroid/icu/util/InitialTimeZoneRule;-><init>(Ljava/lang/String;II)V
-Landroid/icu/util/InitialTimeZoneRule;->getFinalStart(II)Ljava/util/Date;
-Landroid/icu/util/InitialTimeZoneRule;->getFirstStart(II)Ljava/util/Date;
-Landroid/icu/util/InitialTimeZoneRule;->getNextStart(JIIZ)Ljava/util/Date;
-Landroid/icu/util/InitialTimeZoneRule;->getPreviousStart(JIIZ)Ljava/util/Date;
-Landroid/icu/util/InitialTimeZoneRule;->isEquivalentTo(Landroid/icu/util/TimeZoneRule;)Z
-Landroid/icu/util/InitialTimeZoneRule;->isTransitionRule()Z
-Landroid/icu/util/IslamicCalendar$CalculationType;-><init>(Ljava/lang/String;)V
-Landroid/icu/util/IslamicCalendar$CalculationType;->bcpType()Ljava/lang/String;
-Landroid/icu/util/IslamicCalendar$CalculationType;->bcpType:Ljava/lang/String;
-Landroid/icu/util/IslamicCalendar;->astro:Landroid/icu/impl/CalendarAstronomer;
-Landroid/icu/util/IslamicCalendar;->ASTRONOMICAL_EPOC:J
-Landroid/icu/util/IslamicCalendar;->cache:Landroid/icu/impl/CalendarCache;
-Landroid/icu/util/IslamicCalendar;->civil:Z
-Landroid/icu/util/IslamicCalendar;->civilLeapYear(I)Z
-Landroid/icu/util/IslamicCalendar;->CIVIL_EPOC:J
-Landroid/icu/util/IslamicCalendar;->cType:Landroid/icu/util/IslamicCalendar$CalculationType;
-Landroid/icu/util/IslamicCalendar;->HIJRA_MILLIS:J
-Landroid/icu/util/IslamicCalendar;->isCivil()Z
-Landroid/icu/util/IslamicCalendar;->LIMITS:[[I
-Landroid/icu/util/IslamicCalendar;->monthStart(II)J
-Landroid/icu/util/IslamicCalendar;->moonAge(J)D
-Landroid/icu/util/IslamicCalendar;->setCalcTypeForLocale(Landroid/icu/util/ULocale;)V
-Landroid/icu/util/IslamicCalendar;->setCivil(Z)V
-Landroid/icu/util/IslamicCalendar;->trueMonthStart(J)J
-Landroid/icu/util/IslamicCalendar;->UMALQURA_MONTHLENGTH:[I
-Landroid/icu/util/IslamicCalendar;->UMALQURA_YEAR_END:I
-Landroid/icu/util/IslamicCalendar;->UMALQURA_YEAR_START:I
-Landroid/icu/util/IslamicCalendar;->UMALQURA_YEAR_START_ESTIMATE_FIX:[B
-Landroid/icu/util/IslamicCalendar;->yearStart(I)J
-Landroid/icu/util/JapaneseCalendar;->ERAS:[I
-Landroid/icu/util/JapaneseCalendar;->getDefaultDayInMonth(II)I
-Landroid/icu/util/JapaneseCalendar;->getDefaultMonthInYear(I)I
-Landroid/icu/util/JapaneseCalendar;->GREGORIAN_EPOCH:I
-Landroid/icu/util/JapaneseCalendar;->haveDefaultCentury()Z
-Landroid/icu/util/LocaleData$MeasurementSystem;-><init>()V
-Landroid/icu/util/LocaleData$PaperSize;-><init>(II)V
-Landroid/icu/util/LocaleData$PaperSize;->height:I
-Landroid/icu/util/LocaleData$PaperSize;->width:I
-Landroid/icu/util/LocaleData;-><init>()V
-Landroid/icu/util/LocaleData;->bundle:Landroid/icu/impl/ICUResourceBundle;
-Landroid/icu/util/LocaleData;->DELIMITER_COUNT:I
-Landroid/icu/util/LocaleData;->DELIMITER_TYPES:[Ljava/lang/String;
-Landroid/icu/util/LocaleData;->ES_AUXILIARY:I
-Landroid/icu/util/LocaleData;->ES_COUNT:I
-Landroid/icu/util/LocaleData;->ES_CURRENCY:I
-Landroid/icu/util/LocaleData;->ES_INDEX:I
-Landroid/icu/util/LocaleData;->ES_PUNCTUATION:I
-Landroid/icu/util/LocaleData;->ES_STANDARD:I
-Landroid/icu/util/LocaleData;->gCLDRVersion:Landroid/icu/util/VersionInfo;
-Landroid/icu/util/LocaleData;->getExemplarSet(II)Landroid/icu/text/UnicodeSet;
-Landroid/icu/util/LocaleData;->getExemplarSet(Landroid/icu/util/ULocale;I)Landroid/icu/text/UnicodeSet;
-Landroid/icu/util/LocaleData;->getExemplarSet(Landroid/icu/util/ULocale;II)Landroid/icu/text/UnicodeSet;
-Landroid/icu/util/LocaleData;->getLocaleDisplayPattern()Ljava/lang/String;
-Landroid/icu/util/LocaleData;->getLocaleSeparator()Ljava/lang/String;
-Landroid/icu/util/LocaleData;->langBundle:Landroid/icu/impl/ICUResourceBundle;
-Landroid/icu/util/LocaleData;->LOCALE_DISPLAY_PATTERN:Ljava/lang/String;
-Landroid/icu/util/LocaleData;->measurementTypeBundleForLocale(Landroid/icu/util/ULocale;Ljava/lang/String;)Landroid/icu/util/UResourceBundle;
-Landroid/icu/util/LocaleData;->MEASUREMENT_SYSTEM:Ljava/lang/String;
-Landroid/icu/util/LocaleData;->noSubstitute:Z
-Landroid/icu/util/LocaleData;->PAPER_SIZE:Ljava/lang/String;
-Landroid/icu/util/LocaleData;->PATTERN:Ljava/lang/String;
-Landroid/icu/util/LocaleData;->SEPARATOR:Ljava/lang/String;
-Landroid/icu/util/LocaleMatcher$LanguageMatcherData;
-Landroid/icu/util/LocaleMatcher$LanguageMatcherData;-><init>()V
-Landroid/icu/util/LocaleMatcher$LanguageMatcherData;->addDistance(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Landroid/icu/util/LocaleMatcher$LanguageMatcherData;
-Landroid/icu/util/LocaleMatcher$LanguageMatcherData;->addDistance(Ljava/lang/String;Ljava/lang/String;IZ)Landroid/icu/util/LocaleMatcher$LanguageMatcherData;
-Landroid/icu/util/LocaleMatcher$LanguageMatcherData;->addDistance(Ljava/lang/String;Ljava/lang/String;IZLjava/lang/String;)Landroid/icu/util/LocaleMatcher$LanguageMatcherData;
-Landroid/icu/util/LocaleMatcher$LanguageMatcherData;->frozen:Z
-Landroid/icu/util/LocaleMatcher$LanguageMatcherData;->languageScores:Landroid/icu/util/LocaleMatcher$ScoreData;
-Landroid/icu/util/LocaleMatcher$LanguageMatcherData;->match(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)D
-Landroid/icu/util/LocaleMatcher$LanguageMatcherData;->matchingLanguages()Landroid/icu/impl/Relation;
-Landroid/icu/util/LocaleMatcher$LanguageMatcherData;->matchingLanguages:Landroid/icu/impl/Relation;
-Landroid/icu/util/LocaleMatcher$LanguageMatcherData;->regionScores:Landroid/icu/util/LocaleMatcher$ScoreData;
-Landroid/icu/util/LocaleMatcher$LanguageMatcherData;->scriptScores:Landroid/icu/util/LocaleMatcher$ScoreData;
-Landroid/icu/util/LocaleMatcher$Level;
-Landroid/icu/util/LocaleMatcher$Level;-><init>(D)V
-Landroid/icu/util/LocaleMatcher$Level;->language:Landroid/icu/util/LocaleMatcher$Level;
-Landroid/icu/util/LocaleMatcher$Level;->region:Landroid/icu/util/LocaleMatcher$Level;
-Landroid/icu/util/LocaleMatcher$Level;->script:Landroid/icu/util/LocaleMatcher$Level;
-Landroid/icu/util/LocaleMatcher$Level;->valueOf(Ljava/lang/String;)Landroid/icu/util/LocaleMatcher$Level;
-Landroid/icu/util/LocaleMatcher$Level;->values()[Landroid/icu/util/LocaleMatcher$Level;
-Landroid/icu/util/LocaleMatcher$Level;->worst:D
-Landroid/icu/util/LocaleMatcher$LocalePatternMatcher;
-Landroid/icu/util/LocaleMatcher$LocalePatternMatcher;-><init>(Ljava/lang/String;)V
-Landroid/icu/util/LocaleMatcher$LocalePatternMatcher;->getLanguage()Ljava/lang/String;
-Landroid/icu/util/LocaleMatcher$LocalePatternMatcher;->getLevel()Landroid/icu/util/LocaleMatcher$Level;
-Landroid/icu/util/LocaleMatcher$LocalePatternMatcher;->getRegion()Ljava/lang/String;
-Landroid/icu/util/LocaleMatcher$LocalePatternMatcher;->getScript()Ljava/lang/String;
-Landroid/icu/util/LocaleMatcher$LocalePatternMatcher;->lang:Ljava/lang/String;
-Landroid/icu/util/LocaleMatcher$LocalePatternMatcher;->level:Landroid/icu/util/LocaleMatcher$Level;
-Landroid/icu/util/LocaleMatcher$LocalePatternMatcher;->matches(Landroid/icu/util/ULocale;)Z
-Landroid/icu/util/LocaleMatcher$LocalePatternMatcher;->pattern:Ljava/util/regex/Pattern;
-Landroid/icu/util/LocaleMatcher$LocalePatternMatcher;->region:Ljava/lang/String;
-Landroid/icu/util/LocaleMatcher$LocalePatternMatcher;->script:Ljava/lang/String;
-Landroid/icu/util/LocaleMatcher$OutputDouble;
-Landroid/icu/util/LocaleMatcher$OutputDouble;-><init>()V
-Landroid/icu/util/LocaleMatcher$OutputDouble;->value:D
-Landroid/icu/util/LocaleMatcher$ScoreData;
-Landroid/icu/util/LocaleMatcher$ScoreData;-><init>(Landroid/icu/util/LocaleMatcher$Level;)V
-Landroid/icu/util/LocaleMatcher$ScoreData;->addDataToScores(Ljava/lang/String;Ljava/lang/String;Landroid/icu/impl/Row$R3;)V
-Landroid/icu/util/LocaleMatcher$ScoreData;->frozen:Z
-Landroid/icu/util/LocaleMatcher$ScoreData;->getMatchingLanguages()Landroid/icu/impl/Relation;
-Landroid/icu/util/LocaleMatcher$ScoreData;->getRawScore(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)D
-Landroid/icu/util/LocaleMatcher$ScoreData;->getScore(Landroid/icu/util/ULocale;Ljava/lang/String;Ljava/lang/String;Landroid/icu/util/ULocale;Ljava/lang/String;Ljava/lang/String;)D
-Landroid/icu/util/LocaleMatcher$ScoreData;->level:Landroid/icu/util/LocaleMatcher$Level;
-Landroid/icu/util/LocaleMatcher$ScoreData;->maxUnequal_changeD_sameS:D
-Landroid/icu/util/LocaleMatcher$ScoreData;->maxUnequal_changeEqual:D
-Landroid/icu/util/LocaleMatcher$ScoreData;->scores:Ljava/util/LinkedHashSet;
-Landroid/icu/util/LocaleMatcher;
-Landroid/icu/util/LocaleMatcher;-><init>(Landroid/icu/util/LocalePriorityList;)V
-Landroid/icu/util/LocaleMatcher;-><init>(Landroid/icu/util/LocalePriorityList;Landroid/icu/util/LocaleMatcher$LanguageMatcherData;)V
-Landroid/icu/util/LocaleMatcher;-><init>(Landroid/icu/util/LocalePriorityList;Landroid/icu/util/LocaleMatcher$LanguageMatcherData;D)V
-Landroid/icu/util/LocaleMatcher;-><init>(Ljava/lang/String;)V
-Landroid/icu/util/LocaleMatcher;->add(Landroid/icu/util/ULocale;Ljava/lang/Double;)V
-Landroid/icu/util/LocaleMatcher;->addFiltered(Ljava/lang/String;Landroid/icu/impl/Row$R3;)V
-Landroid/icu/util/LocaleMatcher;->addLikelySubtags(Landroid/icu/util/ULocale;)Landroid/icu/util/ULocale;
-Landroid/icu/util/LocaleMatcher;->canonicalize(Landroid/icu/util/ULocale;)Landroid/icu/util/ULocale;
-Landroid/icu/util/LocaleMatcher;->canonicalMap:Ljava/util/HashMap;
-Landroid/icu/util/LocaleMatcher;->DEBUG:Z
-Landroid/icu/util/LocaleMatcher;->defaultLanguage:Landroid/icu/util/ULocale;
-Landroid/icu/util/LocaleMatcher;->defaultWritten:Landroid/icu/util/LocaleMatcher$LanguageMatcherData;
-Landroid/icu/util/LocaleMatcher;->DEFAULT_THRESHOLD:D
-Landroid/icu/util/LocaleMatcher;->desiredLanguageToPossibleLocalesToMaxLocaleToData:Ljava/util/Map;
-Landroid/icu/util/LocaleMatcher;->distance(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)I
-Landroid/icu/util/LocaleMatcher;->getBestMatch(Landroid/icu/util/LocalePriorityList;)Landroid/icu/util/ULocale;
-Landroid/icu/util/LocaleMatcher;->getBestMatch(Landroid/icu/util/ULocale;)Landroid/icu/util/ULocale;
-Landroid/icu/util/LocaleMatcher;->getBestMatch(Ljava/lang/String;)Landroid/icu/util/ULocale;
-Landroid/icu/util/LocaleMatcher;->getBestMatch(Ljava/util/LinkedHashSet;Landroid/icu/util/Output;)Landroid/icu/util/ULocale;
-Landroid/icu/util/LocaleMatcher;->getBestMatch([[Landroid/icu/util/ULocale;)Landroid/icu/util/ULocale;
-Landroid/icu/util/LocaleMatcher;->getBestMatchInternal(Landroid/icu/util/ULocale;Landroid/icu/util/LocaleMatcher$OutputDouble;)Landroid/icu/util/ULocale;
-Landroid/icu/util/LocaleMatcher;->getICUSupplementalData()Landroid/icu/impl/ICUResourceBundle;
-Landroid/icu/util/LocaleMatcher;->getLocaleMatcher()Landroid/icu/impl/locale/XLocaleMatcher;
-Landroid/icu/util/LocaleMatcher;->languagePriorityList:Landroid/icu/util/LocalePriorityList;
-Landroid/icu/util/LocaleMatcher;->localeToMaxLocaleAndWeight:Ljava/util/Set;
-Landroid/icu/util/LocaleMatcher;->match(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)D
-Landroid/icu/util/LocaleMatcher;->match(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)D
-Landroid/icu/util/LocaleMatcher;->matcherData:Landroid/icu/util/LocaleMatcher$LanguageMatcherData;
-Landroid/icu/util/LocaleMatcher;->processMapping()V
-Landroid/icu/util/LocaleMatcher;->setDefaultLanguage(Landroid/icu/util/ULocale;)Landroid/icu/util/LocaleMatcher;
-Landroid/icu/util/LocaleMatcher;->setFavorScript(Z)Landroid/icu/util/LocaleMatcher;
-Landroid/icu/util/LocaleMatcher;->threshold:D
-Landroid/icu/util/LocaleMatcher;->UNKNOWN_LOCALE:Landroid/icu/util/ULocale;
-Landroid/icu/util/LocaleMatcher;->xDefaultLanguage:Landroid/icu/util/ULocale;
-Landroid/icu/util/LocaleMatcher;->xFavorScript:Z
-Landroid/icu/util/LocaleMatcher;->xLocaleMatcher:Landroid/icu/impl/locale/XLocaleMatcher;
-Landroid/icu/util/LocalePriorityList$Builder;
-Landroid/icu/util/LocalePriorityList$Builder;-><init>()V
-Landroid/icu/util/LocalePriorityList$Builder;->add(Landroid/icu/util/LocalePriorityList;)Landroid/icu/util/LocalePriorityList$Builder;
-Landroid/icu/util/LocalePriorityList$Builder;->add(Landroid/icu/util/ULocale;)Landroid/icu/util/LocalePriorityList$Builder;
-Landroid/icu/util/LocalePriorityList$Builder;->add(Landroid/icu/util/ULocale;D)Landroid/icu/util/LocalePriorityList$Builder;
-Landroid/icu/util/LocalePriorityList$Builder;->add(Ljava/lang/String;)Landroid/icu/util/LocalePriorityList$Builder;
-Landroid/icu/util/LocalePriorityList$Builder;->add([[Landroid/icu/util/ULocale;)Landroid/icu/util/LocalePriorityList$Builder;
-Landroid/icu/util/LocalePriorityList$Builder;->build()Landroid/icu/util/LocalePriorityList;
-Landroid/icu/util/LocalePriorityList$Builder;->build(Z)Landroid/icu/util/LocalePriorityList;
-Landroid/icu/util/LocalePriorityList$Builder;->languageToWeight:Ljava/util/Map;
-Landroid/icu/util/LocalePriorityList;
-Landroid/icu/util/LocalePriorityList;-><init>(Ljava/util/Map;)V
-Landroid/icu/util/LocalePriorityList;->add(Landroid/icu/util/LocalePriorityList;)Landroid/icu/util/LocalePriorityList$Builder;
-Landroid/icu/util/LocalePriorityList;->add(Landroid/icu/util/ULocale;D)Landroid/icu/util/LocalePriorityList$Builder;
-Landroid/icu/util/LocalePriorityList;->add(Ljava/lang/String;)Landroid/icu/util/LocalePriorityList$Builder;
-Landroid/icu/util/LocalePriorityList;->add([[Landroid/icu/util/ULocale;)Landroid/icu/util/LocalePriorityList$Builder;
-Landroid/icu/util/LocalePriorityList;->D0:D
-Landroid/icu/util/LocalePriorityList;->D1:Ljava/lang/Double;
-Landroid/icu/util/LocalePriorityList;->getWeight(Landroid/icu/util/ULocale;)Ljava/lang/Double;
-Landroid/icu/util/LocalePriorityList;->languagesAndWeights:Ljava/util/Map;
-Landroid/icu/util/LocalePriorityList;->languageSplitter:Ljava/util/regex/Pattern;
-Landroid/icu/util/LocalePriorityList;->myDescendingDouble:Ljava/util/Comparator;
-Landroid/icu/util/LocalePriorityList;->weightSplitter:Ljava/util/regex/Pattern;
-Landroid/icu/util/Measure;->number:Ljava/lang/Number;
-Landroid/icu/util/Measure;->numbersEqual(Ljava/lang/Number;Ljava/lang/Number;)Z
-Landroid/icu/util/Measure;->unit:Landroid/icu/util/MeasureUnit;
-Landroid/icu/util/MeasureUnit$CurrencyNumericCodeSink;
-Landroid/icu/util/MeasureUnit$CurrencyNumericCodeSink;-><init>()V
-Landroid/icu/util/MeasureUnit$Factory;
-Landroid/icu/util/MeasureUnit$Factory;->create(Ljava/lang/String;Ljava/lang/String;)Landroid/icu/util/MeasureUnit;
-Landroid/icu/util/MeasureUnit$MeasureUnitProxy;
-Landroid/icu/util/MeasureUnit$MeasureUnitProxy;-><init>()V
-Landroid/icu/util/MeasureUnit$MeasureUnitProxy;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/util/MeasureUnit$MeasureUnitProxy;->subType:Ljava/lang/String;
-Landroid/icu/util/MeasureUnit$MeasureUnitProxy;->type:Ljava/lang/String;
-Landroid/icu/util/MeasureUnit$MeasureUnitSink;
-Landroid/icu/util/MeasureUnit$MeasureUnitSink;-><init>()V
-Landroid/icu/util/MeasureUnit;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/util/MeasureUnit;->addUnit(Ljava/lang/String;Ljava/lang/String;Landroid/icu/util/MeasureUnit$Factory;)Landroid/icu/util/MeasureUnit;
-Landroid/icu/util/MeasureUnit;->ASCII:Landroid/icu/text/UnicodeSet;
-Landroid/icu/util/MeasureUnit;->ASCII_HYPHEN_DIGITS:Landroid/icu/text/UnicodeSet;
-Landroid/icu/util/MeasureUnit;->cache:Ljava/util/Map;
-Landroid/icu/util/MeasureUnit;->cacheIsPopulated:Z
-Landroid/icu/util/MeasureUnit;->CURRENCY_FACTORY:Landroid/icu/util/MeasureUnit$Factory;
-Landroid/icu/util/MeasureUnit;->internalGetInstance(Ljava/lang/String;Ljava/lang/String;)Landroid/icu/util/MeasureUnit;
-Landroid/icu/util/MeasureUnit;->NOUNIT_FACTORY:Landroid/icu/util/MeasureUnit$Factory;
-Landroid/icu/util/MeasureUnit;->POINT:Landroid/icu/util/MeasureUnit;
-Landroid/icu/util/MeasureUnit;->populateCache()V
-Landroid/icu/util/MeasureUnit;->resolveUnitPerUnit(Landroid/icu/util/MeasureUnit;Landroid/icu/util/MeasureUnit;)Landroid/icu/util/MeasureUnit;
-Landroid/icu/util/MeasureUnit;->subType:Ljava/lang/String;
-Landroid/icu/util/MeasureUnit;->TIMEUNIT_FACTORY:Landroid/icu/util/MeasureUnit$Factory;
-Landroid/icu/util/MeasureUnit;->type:Ljava/lang/String;
-Landroid/icu/util/MeasureUnit;->unitPerUnitToSingleUnit:Ljava/util/HashMap;
-Landroid/icu/util/MeasureUnit;->UNIT_FACTORY:Landroid/icu/util/MeasureUnit$Factory;
-Landroid/icu/util/NoUnit;
-Landroid/icu/util/NoUnit;-><init>(Ljava/lang/String;)V
-Landroid/icu/util/NoUnit;->BASE:Landroid/icu/util/NoUnit;
-Landroid/icu/util/NoUnit;->PERCENT:Landroid/icu/util/NoUnit;
-Landroid/icu/util/NoUnit;->PERMILLE:Landroid/icu/util/NoUnit;
-Landroid/icu/util/OutputInt;
-Landroid/icu/util/OutputInt;-><init>()V
-Landroid/icu/util/OutputInt;-><init>(I)V
-Landroid/icu/util/OutputInt;->value:I
-Landroid/icu/util/PersianCalendar;
-Landroid/icu/util/PersianCalendar;-><init>()V
-Landroid/icu/util/PersianCalendar;-><init>(III)V
-Landroid/icu/util/PersianCalendar;-><init>(IIIIII)V
-Landroid/icu/util/PersianCalendar;-><init>(Landroid/icu/util/TimeZone;)V
-Landroid/icu/util/PersianCalendar;-><init>(Landroid/icu/util/TimeZone;Landroid/icu/util/ULocale;)V
-Landroid/icu/util/PersianCalendar;-><init>(Landroid/icu/util/TimeZone;Ljava/util/Locale;)V
-Landroid/icu/util/PersianCalendar;-><init>(Landroid/icu/util/ULocale;)V
-Landroid/icu/util/PersianCalendar;-><init>(Ljava/util/Date;)V
-Landroid/icu/util/PersianCalendar;->isLeapYear(I)Z
-Landroid/icu/util/PersianCalendar;->LIMITS:[[I
-Landroid/icu/util/PersianCalendar;->MONTH_COUNT:[[I
-Landroid/icu/util/PersianCalendar;->PERSIAN_EPOCH:I
-Landroid/icu/util/Range;
-Landroid/icu/util/Range;-><init>(Ljava/util/Date;Landroid/icu/util/DateRule;)V
-Landroid/icu/util/Range;->rule:Landroid/icu/util/DateRule;
-Landroid/icu/util/Range;->start:Ljava/util/Date;
-Landroid/icu/util/RangeDateRule;
-Landroid/icu/util/RangeDateRule;-><init>()V
-Landroid/icu/util/RangeDateRule;->add(Landroid/icu/util/DateRule;)V
-Landroid/icu/util/RangeDateRule;->add(Ljava/util/Date;Landroid/icu/util/DateRule;)V
-Landroid/icu/util/RangeDateRule;->firstAfter(Ljava/util/Date;)Ljava/util/Date;
-Landroid/icu/util/RangeDateRule;->firstBetween(Ljava/util/Date;Ljava/util/Date;)Ljava/util/Date;
-Landroid/icu/util/RangeDateRule;->isBetween(Ljava/util/Date;Ljava/util/Date;)Z
-Landroid/icu/util/RangeDateRule;->isOn(Ljava/util/Date;)Z
-Landroid/icu/util/RangeDateRule;->rangeAt(I)Landroid/icu/util/Range;
-Landroid/icu/util/RangeDateRule;->ranges:Ljava/util/List;
-Landroid/icu/util/RangeDateRule;->startIndex(Ljava/util/Date;)I
-Landroid/icu/util/Region$RegionType;
-Landroid/icu/util/Region$RegionType;-><init>()V
-Landroid/icu/util/Region$RegionType;->CONTINENT:Landroid/icu/util/Region$RegionType;
-Landroid/icu/util/Region$RegionType;->DEPRECATED:Landroid/icu/util/Region$RegionType;
-Landroid/icu/util/Region$RegionType;->GROUPING:Landroid/icu/util/Region$RegionType;
-Landroid/icu/util/Region$RegionType;->SUBCONTINENT:Landroid/icu/util/Region$RegionType;
-Landroid/icu/util/Region$RegionType;->TERRITORY:Landroid/icu/util/Region$RegionType;
-Landroid/icu/util/Region$RegionType;->UNKNOWN:Landroid/icu/util/Region$RegionType;
-Landroid/icu/util/Region$RegionType;->valueOf(Ljava/lang/String;)Landroid/icu/util/Region$RegionType;
-Landroid/icu/util/Region$RegionType;->values()[Landroid/icu/util/Region$RegionType;
-Landroid/icu/util/Region$RegionType;->WORLD:Landroid/icu/util/Region$RegionType;
-Landroid/icu/util/Region;
-Landroid/icu/util/Region;-><init>()V
-Landroid/icu/util/Region;->availableRegions:Ljava/util/ArrayList;
-Landroid/icu/util/Region;->code:I
-Landroid/icu/util/Region;->compareTo(Landroid/icu/util/Region;)I
-Landroid/icu/util/Region;->containedRegions:Ljava/util/Set;
-Landroid/icu/util/Region;->containingRegion:Landroid/icu/util/Region;
-Landroid/icu/util/Region;->contains(Landroid/icu/util/Region;)Z
-Landroid/icu/util/Region;->getAvailable(Landroid/icu/util/Region$RegionType;)Ljava/util/Set;
-Landroid/icu/util/Region;->getContainedRegions()Ljava/util/Set;
-Landroid/icu/util/Region;->getContainedRegions(Landroid/icu/util/Region$RegionType;)Ljava/util/Set;
-Landroid/icu/util/Region;->getContainingRegion()Landroid/icu/util/Region;
-Landroid/icu/util/Region;->getContainingRegion(Landroid/icu/util/Region$RegionType;)Landroid/icu/util/Region;
-Landroid/icu/util/Region;->getInstance(I)Landroid/icu/util/Region;
-Landroid/icu/util/Region;->getInstance(Ljava/lang/String;)Landroid/icu/util/Region;
-Landroid/icu/util/Region;->getNumericCode()I
-Landroid/icu/util/Region;->getPreferredValues()Ljava/util/List;
-Landroid/icu/util/Region;->getType()Landroid/icu/util/Region$RegionType;
-Landroid/icu/util/Region;->id:Ljava/lang/String;
-Landroid/icu/util/Region;->loadRegionData()V
-Landroid/icu/util/Region;->numericCodeMap:Ljava/util/Map;
-Landroid/icu/util/Region;->OUTLYING_OCEANIA_REGION_ID:Ljava/lang/String;
-Landroid/icu/util/Region;->preferredValues:Ljava/util/List;
-Landroid/icu/util/Region;->regionAliases:Ljava/util/Map;
-Landroid/icu/util/Region;->regionDataIsLoaded:Z
-Landroid/icu/util/Region;->regionIDMap:Ljava/util/Map;
-Landroid/icu/util/Region;->regions:Ljava/util/ArrayList;
-Landroid/icu/util/Region;->type:Landroid/icu/util/Region$RegionType;
-Landroid/icu/util/Region;->UNKNOWN_REGION_ID:Ljava/lang/String;
-Landroid/icu/util/Region;->WORLD_ID:Ljava/lang/String;
-Landroid/icu/util/RuleBasedTimeZone;
-Landroid/icu/util/RuleBasedTimeZone;-><init>(Ljava/lang/String;Landroid/icu/util/InitialTimeZoneRule;)V
-Landroid/icu/util/RuleBasedTimeZone;->addTransitionRule(Landroid/icu/util/TimeZoneRule;)V
-Landroid/icu/util/RuleBasedTimeZone;->complete()V
-Landroid/icu/util/RuleBasedTimeZone;->finalRules:[Landroid/icu/util/AnnualTimeZoneRule;
-Landroid/icu/util/RuleBasedTimeZone;->findRuleInFinal(JZII)Landroid/icu/util/TimeZoneRule;
-Landroid/icu/util/RuleBasedTimeZone;->getLocalDelta(IIIIII)I
-Landroid/icu/util/RuleBasedTimeZone;->getNextTransition(JZ)Landroid/icu/util/TimeZoneTransition;
-Landroid/icu/util/RuleBasedTimeZone;->getOffset(JZII[I)V
-Landroid/icu/util/RuleBasedTimeZone;->getOffsetFromLocal(JII[I)V
-Landroid/icu/util/RuleBasedTimeZone;->getPreviousTransition(JZ)Landroid/icu/util/TimeZoneTransition;
-Landroid/icu/util/RuleBasedTimeZone;->getTimeZoneRules()[Landroid/icu/util/TimeZoneRule;
-Landroid/icu/util/RuleBasedTimeZone;->getTransitionTime(Landroid/icu/util/TimeZoneTransition;ZII)J
-Landroid/icu/util/RuleBasedTimeZone;->historicRules:Ljava/util/List;
-Landroid/icu/util/RuleBasedTimeZone;->historicTransitions:Ljava/util/List;
-Landroid/icu/util/RuleBasedTimeZone;->initialRule:Landroid/icu/util/InitialTimeZoneRule;
-Landroid/icu/util/RuleBasedTimeZone;->isFrozen:Z
-Landroid/icu/util/RuleBasedTimeZone;->upToDate:Z
-Landroid/icu/util/SimpleDateRule;
-Landroid/icu/util/SimpleDateRule;-><init>(II)V
-Landroid/icu/util/SimpleDateRule;-><init>(IIIZ)V
-Landroid/icu/util/SimpleDateRule;-><init>(IILandroid/icu/util/Calendar;)V
-Landroid/icu/util/SimpleDateRule;->calendar:Landroid/icu/util/Calendar;
-Landroid/icu/util/SimpleDateRule;->computeInYear(ILandroid/icu/util/Calendar;)Ljava/util/Date;
-Landroid/icu/util/SimpleDateRule;->dayOfMonth:I
-Landroid/icu/util/SimpleDateRule;->dayOfWeek:I
-Landroid/icu/util/SimpleDateRule;->doFirstBetween(Ljava/util/Date;Ljava/util/Date;)Ljava/util/Date;
-Landroid/icu/util/SimpleDateRule;->firstAfter(Ljava/util/Date;)Ljava/util/Date;
-Landroid/icu/util/SimpleDateRule;->firstBetween(Ljava/util/Date;Ljava/util/Date;)Ljava/util/Date;
-Landroid/icu/util/SimpleDateRule;->isBetween(Ljava/util/Date;Ljava/util/Date;)Z
-Landroid/icu/util/SimpleDateRule;->isOn(Ljava/util/Date;)Z
-Landroid/icu/util/SimpleDateRule;->month:I
-Landroid/icu/util/SimpleHoliday;
-Landroid/icu/util/SimpleHoliday;-><init>(IIILjava/lang/String;)V
-Landroid/icu/util/SimpleHoliday;-><init>(IIILjava/lang/String;I)V
-Landroid/icu/util/SimpleHoliday;-><init>(IIILjava/lang/String;II)V
-Landroid/icu/util/SimpleHoliday;-><init>(IILjava/lang/String;)V
-Landroid/icu/util/SimpleHoliday;-><init>(IILjava/lang/String;I)V
-Landroid/icu/util/SimpleHoliday;-><init>(IILjava/lang/String;II)V
-Landroid/icu/util/SimpleHoliday;->ALL_SAINTS_DAY:Landroid/icu/util/SimpleHoliday;
-Landroid/icu/util/SimpleHoliday;->ALL_SOULS_DAY:Landroid/icu/util/SimpleHoliday;
-Landroid/icu/util/SimpleHoliday;->ASSUMPTION:Landroid/icu/util/SimpleHoliday;
-Landroid/icu/util/SimpleHoliday;->BOXING_DAY:Landroid/icu/util/SimpleHoliday;
-Landroid/icu/util/SimpleHoliday;->CHRISTMAS:Landroid/icu/util/SimpleHoliday;
-Landroid/icu/util/SimpleHoliday;->CHRISTMAS_EVE:Landroid/icu/util/SimpleHoliday;
-Landroid/icu/util/SimpleHoliday;->EPIPHANY:Landroid/icu/util/SimpleHoliday;
-Landroid/icu/util/SimpleHoliday;->IMMACULATE_CONCEPTION:Landroid/icu/util/SimpleHoliday;
-Landroid/icu/util/SimpleHoliday;->MAY_DAY:Landroid/icu/util/SimpleHoliday;
-Landroid/icu/util/SimpleHoliday;->NEW_YEARS_DAY:Landroid/icu/util/SimpleHoliday;
-Landroid/icu/util/SimpleHoliday;->NEW_YEARS_EVE:Landroid/icu/util/SimpleHoliday;
-Landroid/icu/util/SimpleHoliday;->rangeRule(IILandroid/icu/util/DateRule;)Landroid/icu/util/DateRule;
-Landroid/icu/util/SimpleHoliday;->ST_STEPHENS_DAY:Landroid/icu/util/SimpleHoliday;
-Landroid/icu/util/SimpleTimeZone;
-Landroid/icu/util/SimpleTimeZone;-><init>(ILjava/lang/String;)V
-Landroid/icu/util/SimpleTimeZone;-><init>(ILjava/lang/String;IIIIIIII)V
-Landroid/icu/util/SimpleTimeZone;-><init>(ILjava/lang/String;IIIIIIIII)V
-Landroid/icu/util/SimpleTimeZone;-><init>(ILjava/lang/String;IIIIIIIIIII)V
-Landroid/icu/util/SimpleTimeZone;->compareToRule(IIIIIIIIIIII)I
-Landroid/icu/util/SimpleTimeZone;->construct(IIIIIIIIIIII)V
-Landroid/icu/util/SimpleTimeZone;->decodeEndRule()V
-Landroid/icu/util/SimpleTimeZone;->decodeRules()V
-Landroid/icu/util/SimpleTimeZone;->decodeStartRule()V
-Landroid/icu/util/SimpleTimeZone;->DOM_MODE:I
-Landroid/icu/util/SimpleTimeZone;->DOW_GE_DOM_MODE:I
-Landroid/icu/util/SimpleTimeZone;->DOW_IN_MONTH_MODE:I
-Landroid/icu/util/SimpleTimeZone;->DOW_LE_DOM_MODE:I
-Landroid/icu/util/SimpleTimeZone;->dst:I
-Landroid/icu/util/SimpleTimeZone;->dstRule:Landroid/icu/util/AnnualTimeZoneRule;
-Landroid/icu/util/SimpleTimeZone;->endDay:I
-Landroid/icu/util/SimpleTimeZone;->endDayOfWeek:I
-Landroid/icu/util/SimpleTimeZone;->endMode:I
-Landroid/icu/util/SimpleTimeZone;->endMonth:I
-Landroid/icu/util/SimpleTimeZone;->endTime:I
-Landroid/icu/util/SimpleTimeZone;->endTimeMode:I
-Landroid/icu/util/SimpleTimeZone;->firstTransition:Landroid/icu/util/TimeZoneTransition;
-Landroid/icu/util/SimpleTimeZone;->getNextTransition(JZ)Landroid/icu/util/TimeZoneTransition;
-Landroid/icu/util/SimpleTimeZone;->getOffset(IIIIIII)I
-Landroid/icu/util/SimpleTimeZone;->getOffset(IIIIIIII)I
-Landroid/icu/util/SimpleTimeZone;->getOffsetFromLocal(JII[I)V
-Landroid/icu/util/SimpleTimeZone;->getPreviousTransition(JZ)Landroid/icu/util/TimeZoneTransition;
-Landroid/icu/util/SimpleTimeZone;->getSTZInfo()Landroid/icu/util/STZInfo;
-Landroid/icu/util/SimpleTimeZone;->getTimeZoneRules()[Landroid/icu/util/TimeZoneRule;
-Landroid/icu/util/SimpleTimeZone;->idEquals(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/icu/util/SimpleTimeZone;->initialRule:Landroid/icu/util/InitialTimeZoneRule;
-Landroid/icu/util/SimpleTimeZone;->initTransitionRules()V
-Landroid/icu/util/SimpleTimeZone;->isFrozen:Z
-Landroid/icu/util/SimpleTimeZone;->raw:I
-Landroid/icu/util/SimpleTimeZone;->setDSTSavings(I)V
-Landroid/icu/util/SimpleTimeZone;->setEndRule(III)V
-Landroid/icu/util/SimpleTimeZone;->setEndRule(IIII)V
-Landroid/icu/util/SimpleTimeZone;->setEndRule(IIIII)V
-Landroid/icu/util/SimpleTimeZone;->setEndRule(IIIIIZ)V
-Landroid/icu/util/SimpleTimeZone;->setEndRule(IIIIZ)V
-Landroid/icu/util/SimpleTimeZone;->setStartRule(III)V
-Landroid/icu/util/SimpleTimeZone;->setStartRule(IIII)V
-Landroid/icu/util/SimpleTimeZone;->setStartRule(IIIII)V
-Landroid/icu/util/SimpleTimeZone;->setStartRule(IIIIZ)V
-Landroid/icu/util/SimpleTimeZone;->setStartYear(I)V
-Landroid/icu/util/SimpleTimeZone;->STANDARD_TIME:I
-Landroid/icu/util/SimpleTimeZone;->startDay:I
-Landroid/icu/util/SimpleTimeZone;->startDayOfWeek:I
-Landroid/icu/util/SimpleTimeZone;->startMode:I
-Landroid/icu/util/SimpleTimeZone;->startMonth:I
-Landroid/icu/util/SimpleTimeZone;->startTime:I
-Landroid/icu/util/SimpleTimeZone;->startTimeMode:I
-Landroid/icu/util/SimpleTimeZone;->startYear:I
-Landroid/icu/util/SimpleTimeZone;->staticMonthLength:[B
-Landroid/icu/util/SimpleTimeZone;->stdRule:Landroid/icu/util/AnnualTimeZoneRule;
-Landroid/icu/util/SimpleTimeZone;->transitionRulesInitialized:Z
-Landroid/icu/util/SimpleTimeZone;->useDaylight:Z
-Landroid/icu/util/SimpleTimeZone;->UTC_TIME:I
-Landroid/icu/util/SimpleTimeZone;->WALL_TIME:I
-Landroid/icu/util/SimpleTimeZone;->xinfo:Landroid/icu/util/STZInfo;
-Landroid/icu/util/StringTokenizer;
-Landroid/icu/util/StringTokenizer;-><init>(Ljava/lang/String;)V
-Landroid/icu/util/StringTokenizer;-><init>(Ljava/lang/String;Landroid/icu/text/UnicodeSet;)V
-Landroid/icu/util/StringTokenizer;-><init>(Ljava/lang/String;Landroid/icu/text/UnicodeSet;Z)V
-Landroid/icu/util/StringTokenizer;-><init>(Ljava/lang/String;Landroid/icu/text/UnicodeSet;ZZ)V
-Landroid/icu/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;Z)V
-Landroid/icu/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;ZZ)V
-Landroid/icu/util/StringTokenizer;->checkDelimiters()V
-Landroid/icu/util/StringTokenizer;->countTokens()I
-Landroid/icu/util/StringTokenizer;->DEFAULT_DELIMITERS_:Landroid/icu/text/UnicodeSet;
-Landroid/icu/util/StringTokenizer;->delims:[Z
-Landroid/icu/util/StringTokenizer;->EMPTY_DELIMITER_:Landroid/icu/text/UnicodeSet;
-Landroid/icu/util/StringTokenizer;->getNextDelimiter(I)I
-Landroid/icu/util/StringTokenizer;->getNextNonDelimiter(I)I
-Landroid/icu/util/StringTokenizer;->hasMoreTokens()Z
-Landroid/icu/util/StringTokenizer;->m_coalesceDelimiters_:Z
-Landroid/icu/util/StringTokenizer;->m_delimiters_:Landroid/icu/text/UnicodeSet;
-Landroid/icu/util/StringTokenizer;->m_length_:I
-Landroid/icu/util/StringTokenizer;->m_nextOffset_:I
-Landroid/icu/util/StringTokenizer;->m_returnDelimiters_:Z
-Landroid/icu/util/StringTokenizer;->m_source_:Ljava/lang/String;
-Landroid/icu/util/StringTokenizer;->m_tokenLimit_:[I
-Landroid/icu/util/StringTokenizer;->m_tokenOffset_:I
-Landroid/icu/util/StringTokenizer;->m_tokenSize_:I
-Landroid/icu/util/StringTokenizer;->m_tokenStart_:[I
-Landroid/icu/util/StringTokenizer;->nextToken()Ljava/lang/String;
-Landroid/icu/util/StringTokenizer;->nextToken(Landroid/icu/text/UnicodeSet;)Ljava/lang/String;
-Landroid/icu/util/StringTokenizer;->nextToken(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/util/StringTokenizer;->TOKEN_SIZE_:I
-Landroid/icu/util/StringTrieBuilder$BranchHeadNode;
-Landroid/icu/util/StringTrieBuilder$BranchHeadNode;-><init>(ILandroid/icu/util/StringTrieBuilder$Node;)V
-Landroid/icu/util/StringTrieBuilder$BranchHeadNode;->length:I
-Landroid/icu/util/StringTrieBuilder$BranchHeadNode;->markRightEdgesFirst(I)I
-Landroid/icu/util/StringTrieBuilder$BranchHeadNode;->next:Landroid/icu/util/StringTrieBuilder$Node;
-Landroid/icu/util/StringTrieBuilder$BranchHeadNode;->write(Landroid/icu/util/StringTrieBuilder;)V
-Landroid/icu/util/StringTrieBuilder$BranchNode;
-Landroid/icu/util/StringTrieBuilder$BranchNode;-><init>()V
-Landroid/icu/util/StringTrieBuilder$BranchNode;->firstEdgeNumber:I
-Landroid/icu/util/StringTrieBuilder$BranchNode;->hash:I
-Landroid/icu/util/StringTrieBuilder$DynamicBranchNode;
-Landroid/icu/util/StringTrieBuilder$DynamicBranchNode;-><init>()V
-Landroid/icu/util/StringTrieBuilder$DynamicBranchNode;->add(CLandroid/icu/util/StringTrieBuilder$Node;)V
-Landroid/icu/util/StringTrieBuilder$DynamicBranchNode;->add(Landroid/icu/util/StringTrieBuilder;Ljava/lang/CharSequence;II)Landroid/icu/util/StringTrieBuilder$Node;
-Landroid/icu/util/StringTrieBuilder$DynamicBranchNode;->chars:Ljava/lang/StringBuilder;
-Landroid/icu/util/StringTrieBuilder$DynamicBranchNode;->equal:Ljava/util/ArrayList;
-Landroid/icu/util/StringTrieBuilder$DynamicBranchNode;->find(C)I
-Landroid/icu/util/StringTrieBuilder$DynamicBranchNode;->register(Landroid/icu/util/StringTrieBuilder;)Landroid/icu/util/StringTrieBuilder$Node;
-Landroid/icu/util/StringTrieBuilder$DynamicBranchNode;->register(Landroid/icu/util/StringTrieBuilder;II)Landroid/icu/util/StringTrieBuilder$Node;
-Landroid/icu/util/StringTrieBuilder$IntermediateValueNode;
-Landroid/icu/util/StringTrieBuilder$IntermediateValueNode;-><init>(ILandroid/icu/util/StringTrieBuilder$Node;)V
-Landroid/icu/util/StringTrieBuilder$IntermediateValueNode;->markRightEdgesFirst(I)I
-Landroid/icu/util/StringTrieBuilder$IntermediateValueNode;->next:Landroid/icu/util/StringTrieBuilder$Node;
-Landroid/icu/util/StringTrieBuilder$IntermediateValueNode;->write(Landroid/icu/util/StringTrieBuilder;)V
-Landroid/icu/util/StringTrieBuilder$LinearMatchNode;
-Landroid/icu/util/StringTrieBuilder$LinearMatchNode;-><init>(Ljava/lang/CharSequence;IILandroid/icu/util/StringTrieBuilder$Node;)V
-Landroid/icu/util/StringTrieBuilder$LinearMatchNode;->add(Landroid/icu/util/StringTrieBuilder;Ljava/lang/CharSequence;II)Landroid/icu/util/StringTrieBuilder$Node;
-Landroid/icu/util/StringTrieBuilder$LinearMatchNode;->hash:I
-Landroid/icu/util/StringTrieBuilder$LinearMatchNode;->length:I
-Landroid/icu/util/StringTrieBuilder$LinearMatchNode;->markRightEdgesFirst(I)I
-Landroid/icu/util/StringTrieBuilder$LinearMatchNode;->next:Landroid/icu/util/StringTrieBuilder$Node;
-Landroid/icu/util/StringTrieBuilder$LinearMatchNode;->register(Landroid/icu/util/StringTrieBuilder;)Landroid/icu/util/StringTrieBuilder$Node;
-Landroid/icu/util/StringTrieBuilder$LinearMatchNode;->setHashCode()V
-Landroid/icu/util/StringTrieBuilder$LinearMatchNode;->stringOffset:I
-Landroid/icu/util/StringTrieBuilder$LinearMatchNode;->strings:Ljava/lang/CharSequence;
-Landroid/icu/util/StringTrieBuilder$LinearMatchNode;->write(Landroid/icu/util/StringTrieBuilder;)V
-Landroid/icu/util/StringTrieBuilder$ListBranchNode;
-Landroid/icu/util/StringTrieBuilder$ListBranchNode;-><init>(I)V
-Landroid/icu/util/StringTrieBuilder$ListBranchNode;->add(II)V
-Landroid/icu/util/StringTrieBuilder$ListBranchNode;->add(ILandroid/icu/util/StringTrieBuilder$Node;)V
-Landroid/icu/util/StringTrieBuilder$ListBranchNode;->equal:[Landroid/icu/util/StringTrieBuilder$Node;
-Landroid/icu/util/StringTrieBuilder$ListBranchNode;->length:I
-Landroid/icu/util/StringTrieBuilder$ListBranchNode;->markRightEdgesFirst(I)I
-Landroid/icu/util/StringTrieBuilder$ListBranchNode;->units:[C
-Landroid/icu/util/StringTrieBuilder$ListBranchNode;->values:[I
-Landroid/icu/util/StringTrieBuilder$ListBranchNode;->write(Landroid/icu/util/StringTrieBuilder;)V
-Landroid/icu/util/StringTrieBuilder$Node;
-Landroid/icu/util/StringTrieBuilder$Node;-><init>()V
-Landroid/icu/util/StringTrieBuilder$Node;->add(Landroid/icu/util/StringTrieBuilder;Ljava/lang/CharSequence;II)Landroid/icu/util/StringTrieBuilder$Node;
-Landroid/icu/util/StringTrieBuilder$Node;->getOffset()I
-Landroid/icu/util/StringTrieBuilder$Node;->markRightEdgesFirst(I)I
-Landroid/icu/util/StringTrieBuilder$Node;->offset:I
-Landroid/icu/util/StringTrieBuilder$Node;->register(Landroid/icu/util/StringTrieBuilder;)Landroid/icu/util/StringTrieBuilder$Node;
-Landroid/icu/util/StringTrieBuilder$Node;->write(Landroid/icu/util/StringTrieBuilder;)V
-Landroid/icu/util/StringTrieBuilder$Node;->writeUnlessInsideRightEdge(IILandroid/icu/util/StringTrieBuilder;)V
-Landroid/icu/util/StringTrieBuilder$Option;
-Landroid/icu/util/StringTrieBuilder$Option;-><init>()V
-Landroid/icu/util/StringTrieBuilder$Option;->FAST:Landroid/icu/util/StringTrieBuilder$Option;
-Landroid/icu/util/StringTrieBuilder$Option;->SMALL:Landroid/icu/util/StringTrieBuilder$Option;
-Landroid/icu/util/StringTrieBuilder$Option;->valueOf(Ljava/lang/String;)Landroid/icu/util/StringTrieBuilder$Option;
-Landroid/icu/util/StringTrieBuilder$Option;->values()[Landroid/icu/util/StringTrieBuilder$Option;
-Landroid/icu/util/StringTrieBuilder$SplitBranchNode;
-Landroid/icu/util/StringTrieBuilder$SplitBranchNode;-><init>(CLandroid/icu/util/StringTrieBuilder$Node;Landroid/icu/util/StringTrieBuilder$Node;)V
-Landroid/icu/util/StringTrieBuilder$SplitBranchNode;->greaterOrEqual:Landroid/icu/util/StringTrieBuilder$Node;
-Landroid/icu/util/StringTrieBuilder$SplitBranchNode;->lessThan:Landroid/icu/util/StringTrieBuilder$Node;
-Landroid/icu/util/StringTrieBuilder$SplitBranchNode;->markRightEdgesFirst(I)I
-Landroid/icu/util/StringTrieBuilder$SplitBranchNode;->unit:C
-Landroid/icu/util/StringTrieBuilder$SplitBranchNode;->write(Landroid/icu/util/StringTrieBuilder;)V
-Landroid/icu/util/StringTrieBuilder$State;
-Landroid/icu/util/StringTrieBuilder$State;-><init>()V
-Landroid/icu/util/StringTrieBuilder$State;->ADDING:Landroid/icu/util/StringTrieBuilder$State;
-Landroid/icu/util/StringTrieBuilder$State;->BUILDING_FAST:Landroid/icu/util/StringTrieBuilder$State;
-Landroid/icu/util/StringTrieBuilder$State;->BUILDING_SMALL:Landroid/icu/util/StringTrieBuilder$State;
-Landroid/icu/util/StringTrieBuilder$State;->BUILT:Landroid/icu/util/StringTrieBuilder$State;
-Landroid/icu/util/StringTrieBuilder$State;->valueOf(Ljava/lang/String;)Landroid/icu/util/StringTrieBuilder$State;
-Landroid/icu/util/StringTrieBuilder$State;->values()[Landroid/icu/util/StringTrieBuilder$State;
-Landroid/icu/util/StringTrieBuilder$ValueNode;
-Landroid/icu/util/StringTrieBuilder$ValueNode;-><init>()V
-Landroid/icu/util/StringTrieBuilder$ValueNode;-><init>(I)V
-Landroid/icu/util/StringTrieBuilder$ValueNode;->add(Landroid/icu/util/StringTrieBuilder;Ljava/lang/CharSequence;II)Landroid/icu/util/StringTrieBuilder$Node;
-Landroid/icu/util/StringTrieBuilder$ValueNode;->hasValue:Z
-Landroid/icu/util/StringTrieBuilder$ValueNode;->setFinalValue(I)V
-Landroid/icu/util/StringTrieBuilder$ValueNode;->setValue(I)V
-Landroid/icu/util/StringTrieBuilder$ValueNode;->value:I
-Landroid/icu/util/StringTrieBuilder$ValueNode;->write(Landroid/icu/util/StringTrieBuilder;)V
-Landroid/icu/util/StringTrieBuilder;
-Landroid/icu/util/StringTrieBuilder;-><init>()V
-Landroid/icu/util/StringTrieBuilder;->addImpl(Ljava/lang/CharSequence;I)V
-Landroid/icu/util/StringTrieBuilder;->buildImpl(Landroid/icu/util/StringTrieBuilder$Option;)V
-Landroid/icu/util/StringTrieBuilder;->clearImpl()V
-Landroid/icu/util/StringTrieBuilder;->createSuffixNode(Ljava/lang/CharSequence;II)Landroid/icu/util/StringTrieBuilder$ValueNode;
-Landroid/icu/util/StringTrieBuilder;->getMaxBranchLinearSubNodeLength()I
-Landroid/icu/util/StringTrieBuilder;->getMaxLinearMatchLength()I
-Landroid/icu/util/StringTrieBuilder;->getMinLinearMatch()I
-Landroid/icu/util/StringTrieBuilder;->lookupFinalValueNode:Landroid/icu/util/StringTrieBuilder$ValueNode;
-Landroid/icu/util/StringTrieBuilder;->matchNodesCanHaveValues()Z
-Landroid/icu/util/StringTrieBuilder;->nodes:Ljava/util/HashMap;
-Landroid/icu/util/StringTrieBuilder;->registerFinalValue(I)Landroid/icu/util/StringTrieBuilder$ValueNode;
-Landroid/icu/util/StringTrieBuilder;->registerNode(Landroid/icu/util/StringTrieBuilder$Node;)Landroid/icu/util/StringTrieBuilder$Node;
-Landroid/icu/util/StringTrieBuilder;->root:Landroid/icu/util/StringTrieBuilder$Node;
-Landroid/icu/util/StringTrieBuilder;->state:Landroid/icu/util/StringTrieBuilder$State;
-Landroid/icu/util/StringTrieBuilder;->strings:Ljava/lang/StringBuilder;
-Landroid/icu/util/StringTrieBuilder;->write(I)I
-Landroid/icu/util/StringTrieBuilder;->write(II)I
-Landroid/icu/util/StringTrieBuilder;->writeDeltaTo(I)I
-Landroid/icu/util/StringTrieBuilder;->writeValueAndFinal(IZ)I
-Landroid/icu/util/StringTrieBuilder;->writeValueAndType(ZII)I
-Landroid/icu/util/STZInfo;
-Landroid/icu/util/STZInfo;-><init>()V
-Landroid/icu/util/STZInfo;->applyTo(Landroid/icu/util/SimpleTimeZone;)V
-Landroid/icu/util/STZInfo;->ea:Z
-Landroid/icu/util/STZInfo;->edm:I
-Landroid/icu/util/STZInfo;->edw:I
-Landroid/icu/util/STZInfo;->edwm:I
-Landroid/icu/util/STZInfo;->em:I
-Landroid/icu/util/STZInfo;->et:I
-Landroid/icu/util/STZInfo;->sa:Z
-Landroid/icu/util/STZInfo;->sdm:I
-Landroid/icu/util/STZInfo;->sdw:I
-Landroid/icu/util/STZInfo;->sdwm:I
-Landroid/icu/util/STZInfo;->setEnd(IIIIIZ)V
-Landroid/icu/util/STZInfo;->setStart(IIIIIZ)V
-Landroid/icu/util/STZInfo;->sm:I
-Landroid/icu/util/STZInfo;->st:I
-Landroid/icu/util/STZInfo;->sy:I
-Landroid/icu/util/TaiwanCalendar;->GREGORIAN_EPOCH:I
-Landroid/icu/util/TaiwanCalendar;->Taiwan_ERA_START:I
-Landroid/icu/util/TimeArrayTimeZoneRule;
-Landroid/icu/util/TimeArrayTimeZoneRule;-><init>(Ljava/lang/String;II[JI)V
-Landroid/icu/util/TimeArrayTimeZoneRule;->getFinalStart(II)Ljava/util/Date;
-Landroid/icu/util/TimeArrayTimeZoneRule;->getFirstStart(II)Ljava/util/Date;
-Landroid/icu/util/TimeArrayTimeZoneRule;->getNextStart(JIIZ)Ljava/util/Date;
-Landroid/icu/util/TimeArrayTimeZoneRule;->getPreviousStart(JIIZ)Ljava/util/Date;
-Landroid/icu/util/TimeArrayTimeZoneRule;->getStartTimes()[J
-Landroid/icu/util/TimeArrayTimeZoneRule;->getTimeType()I
-Landroid/icu/util/TimeArrayTimeZoneRule;->getUTC(JII)J
-Landroid/icu/util/TimeArrayTimeZoneRule;->isEquivalentTo(Landroid/icu/util/TimeZoneRule;)Z
-Landroid/icu/util/TimeArrayTimeZoneRule;->isTransitionRule()Z
-Landroid/icu/util/TimeArrayTimeZoneRule;->startTimes:[J
-Landroid/icu/util/TimeArrayTimeZoneRule;->timeType:I
-Landroid/icu/util/TimeUnit;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/icu/util/TimeUnit;->index:I
-Landroid/icu/util/TimeUnitAmount;
-Landroid/icu/util/TimeUnitAmount;-><init>(DLandroid/icu/util/TimeUnit;)V
-Landroid/icu/util/TimeUnitAmount;-><init>(Ljava/lang/Number;Landroid/icu/util/TimeUnit;)V
-Landroid/icu/util/TimeUnitAmount;->getTimeUnit()Landroid/icu/util/TimeUnit;
-Landroid/icu/util/TimeZone$ConstantZone;
-Landroid/icu/util/TimeZone$ConstantZone;-><init>(ILjava/lang/String;)V
-Landroid/icu/util/TimeZone$ConstantZone;->isFrozen:Z
-Landroid/icu/util/TimeZone$ConstantZone;->rawOffset:I
-Landroid/icu/util/TimeZone$SystemTimeZoneType;-><init>()V
-Landroid/icu/util/TimeZone;-><init>(Ljava/lang/String;)V
-Landroid/icu/util/TimeZone;->defaultZone:Landroid/icu/util/TimeZone;
-Landroid/icu/util/TimeZone;->getDefaultTimeZoneType()I
-Landroid/icu/util/TimeZone;->getFrozenICUTimeZone(Ljava/lang/String;Z)Landroid/icu/util/BasicTimeZone;
-Landroid/icu/util/TimeZone;->getTimeZone(Ljava/lang/String;IZ)Landroid/icu/util/TimeZone;
-Landroid/icu/util/TimeZone;->GMT_ZONE_ID:Ljava/lang/String;
-Landroid/icu/util/TimeZone;->ID:Ljava/lang/String;
-Landroid/icu/util/TimeZone;->LOGGER:Ljava/util/logging/Logger;
-Landroid/icu/util/TimeZone;->setDefault(Landroid/icu/util/TimeZone;)V
-Landroid/icu/util/TimeZone;->setDefaultTimeZoneType(I)V
-Landroid/icu/util/TimeZone;->setICUDefault(Landroid/icu/util/TimeZone;)V
-Landroid/icu/util/TimeZone;->TZIMPL_CONFIG_ICU:Ljava/lang/String;
-Landroid/icu/util/TimeZone;->TZIMPL_CONFIG_JDK:Ljava/lang/String;
-Landroid/icu/util/TimeZone;->TZIMPL_CONFIG_KEY:Ljava/lang/String;
-Landroid/icu/util/TimeZone;->TZ_IMPL:I
-Landroid/icu/util/TimeZone;->_getDisplayName(IZLandroid/icu/util/ULocale;)Ljava/lang/String;
-Landroid/icu/util/TimeZoneRule;
-Landroid/icu/util/TimeZoneRule;-><init>(Ljava/lang/String;II)V
-Landroid/icu/util/TimeZoneRule;->dstSavings:I
-Landroid/icu/util/TimeZoneRule;->getDSTSavings()I
-Landroid/icu/util/TimeZoneRule;->getFinalStart(II)Ljava/util/Date;
-Landroid/icu/util/TimeZoneRule;->getFirstStart(II)Ljava/util/Date;
-Landroid/icu/util/TimeZoneRule;->getName()Ljava/lang/String;
-Landroid/icu/util/TimeZoneRule;->getNextStart(JIIZ)Ljava/util/Date;
-Landroid/icu/util/TimeZoneRule;->getPreviousStart(JIIZ)Ljava/util/Date;
-Landroid/icu/util/TimeZoneRule;->getRawOffset()I
-Landroid/icu/util/TimeZoneRule;->isEquivalentTo(Landroid/icu/util/TimeZoneRule;)Z
-Landroid/icu/util/TimeZoneRule;->isTransitionRule()Z
-Landroid/icu/util/TimeZoneRule;->name:Ljava/lang/String;
-Landroid/icu/util/TimeZoneRule;->rawOffset:I
-Landroid/icu/util/TimeZoneTransition;
-Landroid/icu/util/TimeZoneTransition;-><init>(JLandroid/icu/util/TimeZoneRule;Landroid/icu/util/TimeZoneRule;)V
-Landroid/icu/util/TimeZoneTransition;->from:Landroid/icu/util/TimeZoneRule;
-Landroid/icu/util/TimeZoneTransition;->getFrom()Landroid/icu/util/TimeZoneRule;
-Landroid/icu/util/TimeZoneTransition;->getTime()J
-Landroid/icu/util/TimeZoneTransition;->getTo()Landroid/icu/util/TimeZoneRule;
-Landroid/icu/util/TimeZoneTransition;->time:J
-Landroid/icu/util/TimeZoneTransition;->to:Landroid/icu/util/TimeZoneRule;
-Landroid/icu/util/ULocale$Builder;->_locbld:Landroid/icu/impl/locale/InternalLocaleBuilder;
-Landroid/icu/util/ULocale$Category;-><init>()V
-Landroid/icu/util/ULocale$JDKLocaleHelper;
-Landroid/icu/util/ULocale$JDKLocaleHelper;-><init>()V
-Landroid/icu/util/ULocale$JDKLocaleHelper;->eDISPLAY:Ljava/lang/Object;
-Landroid/icu/util/ULocale$JDKLocaleHelper;->eFORMAT:Ljava/lang/Object;
-Landroid/icu/util/ULocale$JDKLocaleHelper;->getDefault(Landroid/icu/util/ULocale$Category;)Ljava/util/Locale;
-Landroid/icu/util/ULocale$JDKLocaleHelper;->getSystemProperty(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/util/ULocale$JDKLocaleHelper;->hasLocaleCategories()Z
-Landroid/icu/util/ULocale$JDKLocaleHelper;->hasLocaleCategories:Z
-Landroid/icu/util/ULocale$JDKLocaleHelper;->hasScriptsAndUnicodeExtensions:Z
-Landroid/icu/util/ULocale$JDKLocaleHelper;->isOriginalDefaultLocale(Ljava/util/Locale;)Z
-Landroid/icu/util/ULocale$JDKLocaleHelper;->JAVA6_MAPDATA:[[Ljava/lang/String;
-Landroid/icu/util/ULocale$JDKLocaleHelper;->mForLanguageTag:Ljava/lang/reflect/Method;
-Landroid/icu/util/ULocale$JDKLocaleHelper;->mGetDefault:Ljava/lang/reflect/Method;
-Landroid/icu/util/ULocale$JDKLocaleHelper;->mGetExtension:Ljava/lang/reflect/Method;
-Landroid/icu/util/ULocale$JDKLocaleHelper;->mGetExtensionKeys:Ljava/lang/reflect/Method;
-Landroid/icu/util/ULocale$JDKLocaleHelper;->mGetScript:Ljava/lang/reflect/Method;
-Landroid/icu/util/ULocale$JDKLocaleHelper;->mGetUnicodeLocaleAttributes:Ljava/lang/reflect/Method;
-Landroid/icu/util/ULocale$JDKLocaleHelper;->mGetUnicodeLocaleKeys:Ljava/lang/reflect/Method;
-Landroid/icu/util/ULocale$JDKLocaleHelper;->mGetUnicodeLocaleType:Ljava/lang/reflect/Method;
-Landroid/icu/util/ULocale$JDKLocaleHelper;->mSetDefault:Ljava/lang/reflect/Method;
-Landroid/icu/util/ULocale$JDKLocaleHelper;->setDefault(Landroid/icu/util/ULocale$Category;Ljava/util/Locale;)V
-Landroid/icu/util/ULocale$JDKLocaleHelper;->toLocale(Landroid/icu/util/ULocale;)Ljava/util/Locale;
-Landroid/icu/util/ULocale$JDKLocaleHelper;->toLocale6(Landroid/icu/util/ULocale;)Ljava/util/Locale;
-Landroid/icu/util/ULocale$JDKLocaleHelper;->toLocale7(Landroid/icu/util/ULocale;)Ljava/util/Locale;
-Landroid/icu/util/ULocale$JDKLocaleHelper;->toULocale(Ljava/util/Locale;)Landroid/icu/util/ULocale;
-Landroid/icu/util/ULocale$JDKLocaleHelper;->toULocale6(Ljava/util/Locale;)Landroid/icu/util/ULocale;
-Landroid/icu/util/ULocale$JDKLocaleHelper;->toULocale7(Ljava/util/Locale;)Landroid/icu/util/ULocale;
-Landroid/icu/util/ULocale$Minimize;
-Landroid/icu/util/ULocale$Minimize;-><init>()V
-Landroid/icu/util/ULocale$Minimize;->FAVOR_REGION:Landroid/icu/util/ULocale$Minimize;
-Landroid/icu/util/ULocale$Minimize;->FAVOR_SCRIPT:Landroid/icu/util/ULocale$Minimize;
-Landroid/icu/util/ULocale$Minimize;->valueOf(Ljava/lang/String;)Landroid/icu/util/ULocale$Minimize;
-Landroid/icu/util/ULocale$Minimize;->values()[Landroid/icu/util/ULocale$Minimize;
-Landroid/icu/util/ULocale$Type;
-Landroid/icu/util/ULocale$Type;-><init>()V
-Landroid/icu/util/ULocale;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
-Landroid/icu/util/ULocale;-><init>(Ljava/util/Locale;)V
-Landroid/icu/util/ULocale;->ACTUAL_LOCALE:Landroid/icu/util/ULocale$Type;
-Landroid/icu/util/ULocale;->appendTag(Ljava/lang/String;Ljava/lang/StringBuilder;)V
-Landroid/icu/util/ULocale;->base()Landroid/icu/impl/locale/BaseLocale;
-Landroid/icu/util/ULocale;->baseLocale:Landroid/icu/impl/locale/BaseLocale;
-Landroid/icu/util/ULocale;->CACHE:Landroid/icu/impl/SoftCache;
-Landroid/icu/util/ULocale;->CANONICALIZE_MAP:[[Ljava/lang/String;
-Landroid/icu/util/ULocale;->createLikelySubtagsString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/util/ULocale;->createTagString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/util/ULocale;->createTagString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/util/ULocale;->defaultCategoryLocales:[Ljava/util/Locale;
-Landroid/icu/util/ULocale;->defaultCategoryULocales:[Landroid/icu/util/ULocale;
-Landroid/icu/util/ULocale;->defaultLocale:Ljava/util/Locale;
-Landroid/icu/util/ULocale;->defaultULocale:Landroid/icu/util/ULocale;
-Landroid/icu/util/ULocale;->EMPTY_LOCALE:Ljava/util/Locale;
-Landroid/icu/util/ULocale;->EMPTY_STRING:Ljava/lang/String;
-Landroid/icu/util/ULocale;->extensions()Landroid/icu/impl/locale/LocaleExtensions;
-Landroid/icu/util/ULocale;->extensions:Landroid/icu/impl/locale/LocaleExtensions;
-Landroid/icu/util/ULocale;->getDisplayCountryInternal(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)Ljava/lang/String;
-Landroid/icu/util/ULocale;->getDisplayKeywordInternal(Ljava/lang/String;Landroid/icu/util/ULocale;)Ljava/lang/String;
-Landroid/icu/util/ULocale;->getDisplayKeywordValueInternal(Landroid/icu/util/ULocale;Ljava/lang/String;Landroid/icu/util/ULocale;)Ljava/lang/String;
-Landroid/icu/util/ULocale;->getDisplayLanguageInternal(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;Z)Ljava/lang/String;
-Landroid/icu/util/ULocale;->getDisplayNameInternal(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)Ljava/lang/String;
-Landroid/icu/util/ULocale;->getDisplayNameWithDialectInternal(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)Ljava/lang/String;
-Landroid/icu/util/ULocale;->getDisplayScriptInContext()Ljava/lang/String;
-Landroid/icu/util/ULocale;->getDisplayScriptInContext(Landroid/icu/util/ULocale;)Ljava/lang/String;
-Landroid/icu/util/ULocale;->getDisplayScriptInContext(Ljava/lang/String;Landroid/icu/util/ULocale;)Ljava/lang/String;
-Landroid/icu/util/ULocale;->getDisplayScriptInContext(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/util/ULocale;->getDisplayScriptInContextInternal(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)Ljava/lang/String;
-Landroid/icu/util/ULocale;->getDisplayScriptInternal(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)Ljava/lang/String;
-Landroid/icu/util/ULocale;->getDisplayVariantInternal(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)Ljava/lang/String;
-Landroid/icu/util/ULocale;->getFallbackString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/util/ULocale;->getInstance(Landroid/icu/impl/locale/BaseLocale;Landroid/icu/impl/locale/LocaleExtensions;)Landroid/icu/util/ULocale;
-Landroid/icu/util/ULocale;->getRegionForSupplementalData(Landroid/icu/util/ULocale;Z)Ljava/lang/String;
-Landroid/icu/util/ULocale;->getShortestSubtagLength(Ljava/lang/String;)I
-Landroid/icu/util/ULocale;->isEmptyString(Ljava/lang/String;)Z
-Landroid/icu/util/ULocale;->LANG_DIR_STRING:Ljava/lang/String;
-Landroid/icu/util/ULocale;->locale:Ljava/util/Locale;
-Landroid/icu/util/ULocale;->localeID:Ljava/lang/String;
-Landroid/icu/util/ULocale;->LOCALE_ATTRIBUTE_KEY:Ljava/lang/String;
-Landroid/icu/util/ULocale;->lookupLikelySubtags(Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/util/ULocale;->lscvToID(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/icu/util/ULocale;->minimizeSubtags(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale$Minimize;)Landroid/icu/util/ULocale;
-Landroid/icu/util/ULocale;->nameCache:Landroid/icu/impl/CacheBase;
-Landroid/icu/util/ULocale;->parseAcceptLanguage(Ljava/lang/String;Z)[Landroid/icu/util/ULocale;
-Landroid/icu/util/ULocale;->parseTagString(Ljava/lang/String;[Ljava/lang/String;)I
-Landroid/icu/util/ULocale;->setDefault(Landroid/icu/util/ULocale$Category;Landroid/icu/util/ULocale;)V
-Landroid/icu/util/ULocale;->setDefault(Landroid/icu/util/ULocale;)V
-Landroid/icu/util/ULocale;->UNDEFINED_LANGUAGE:Ljava/lang/String;
-Landroid/icu/util/ULocale;->UNDEFINED_REGION:Ljava/lang/String;
-Landroid/icu/util/ULocale;->UNDEFINED_SCRIPT:Ljava/lang/String;
-Landroid/icu/util/ULocale;->UNDERSCORE:C
-Landroid/icu/util/ULocale;->VALID_LOCALE:Landroid/icu/util/ULocale$Type;
-Landroid/icu/util/ULocale;->variantsToKeywords:[[Ljava/lang/String;
-Landroid/icu/util/UniversalTimeScale$TimeScaleData;
-Landroid/icu/util/UniversalTimeScale$TimeScaleData;-><init>(JJJJJJ)V
-Landroid/icu/util/UniversalTimeScale$TimeScaleData;->epochOffset:J
-Landroid/icu/util/UniversalTimeScale$TimeScaleData;->epochOffsetM1:J
-Landroid/icu/util/UniversalTimeScale$TimeScaleData;->epochOffsetP1:J
-Landroid/icu/util/UniversalTimeScale$TimeScaleData;->fromMax:J
-Landroid/icu/util/UniversalTimeScale$TimeScaleData;->fromMin:J
-Landroid/icu/util/UniversalTimeScale$TimeScaleData;->maxRound:J
-Landroid/icu/util/UniversalTimeScale$TimeScaleData;->minRound:J
-Landroid/icu/util/UniversalTimeScale$TimeScaleData;->toMax:J
-Landroid/icu/util/UniversalTimeScale$TimeScaleData;->toMin:J
-Landroid/icu/util/UniversalTimeScale$TimeScaleData;->units:J
-Landroid/icu/util/UniversalTimeScale$TimeScaleData;->unitsRound:J
-Landroid/icu/util/UniversalTimeScale;-><init>()V
-Landroid/icu/util/UniversalTimeScale;->days:J
-Landroid/icu/util/UniversalTimeScale;->EPOCH_OFFSET_MINUS_1_VALUE:I
-Landroid/icu/util/UniversalTimeScale;->fromRangeCheck(JI)Landroid/icu/util/UniversalTimeScale$TimeScaleData;
-Landroid/icu/util/UniversalTimeScale;->getTimeScaleData(I)Landroid/icu/util/UniversalTimeScale$TimeScaleData;
-Landroid/icu/util/UniversalTimeScale;->hours:J
-Landroid/icu/util/UniversalTimeScale;->MAX_ROUND_VALUE:I
-Landroid/icu/util/UniversalTimeScale;->MAX_SCALE_VALUE:I
-Landroid/icu/util/UniversalTimeScale;->microseconds:J
-Landroid/icu/util/UniversalTimeScale;->milliseconds:J
-Landroid/icu/util/UniversalTimeScale;->minutes:J
-Landroid/icu/util/UniversalTimeScale;->MIN_ROUND_VALUE:I
-Landroid/icu/util/UniversalTimeScale;->seconds:J
-Landroid/icu/util/UniversalTimeScale;->ticks:J
-Landroid/icu/util/UniversalTimeScale;->timeScaleTable:[Landroid/icu/util/UniversalTimeScale$TimeScaleData;
-Landroid/icu/util/UniversalTimeScale;->toBigDecimalTrunc(Landroid/icu/math/BigDecimal;I)Landroid/icu/math/BigDecimal;
-Landroid/icu/util/UniversalTimeScale;->toRangeCheck(JI)Landroid/icu/util/UniversalTimeScale$TimeScaleData;
-Landroid/icu/util/UniversalTimeScale;->UNITS_ROUND_VALUE:I
-Landroid/icu/util/UResourceBundle$RootType;
-Landroid/icu/util/UResourceBundle$RootType;-><init>()V
-Landroid/icu/util/UResourceBundle$RootType;->ICU:Landroid/icu/util/UResourceBundle$RootType;
-Landroid/icu/util/UResourceBundle$RootType;->JAVA:Landroid/icu/util/UResourceBundle$RootType;
-Landroid/icu/util/UResourceBundle$RootType;->MISSING:Landroid/icu/util/UResourceBundle$RootType;
-Landroid/icu/util/UResourceBundle$RootType;->valueOf(Ljava/lang/String;)Landroid/icu/util/UResourceBundle$RootType;
-Landroid/icu/util/UResourceBundle$RootType;->values()[Landroid/icu/util/UResourceBundle$RootType;
-Landroid/icu/util/UResourceBundle;
-Landroid/icu/util/UResourceBundle;-><init>()V
-Landroid/icu/util/UResourceBundle;->ARRAY:I
-Landroid/icu/util/UResourceBundle;->BINARY:I
-Landroid/icu/util/UResourceBundle;->findTopLevel(I)Landroid/icu/util/UResourceBundle;
-Landroid/icu/util/UResourceBundle;->findTopLevel(Ljava/lang/String;)Landroid/icu/util/UResourceBundle;
-Landroid/icu/util/UResourceBundle;->get(I)Landroid/icu/util/UResourceBundle;
-Landroid/icu/util/UResourceBundle;->get(Ljava/lang/String;)Landroid/icu/util/UResourceBundle;
-Landroid/icu/util/UResourceBundle;->getBaseName()Ljava/lang/String;
-Landroid/icu/util/UResourceBundle;->getBinary()Ljava/nio/ByteBuffer;
-Landroid/icu/util/UResourceBundle;->getBinary([B)[B
-Landroid/icu/util/UResourceBundle;->getBundleInstance(Landroid/icu/util/ULocale;)Landroid/icu/util/UResourceBundle;
-Landroid/icu/util/UResourceBundle;->getBundleInstance(Ljava/lang/String;)Landroid/icu/util/UResourceBundle;
-Landroid/icu/util/UResourceBundle;->getBundleInstance(Ljava/lang/String;Landroid/icu/util/ULocale;Ljava/lang/ClassLoader;)Landroid/icu/util/UResourceBundle;
-Landroid/icu/util/UResourceBundle;->getBundleInstance(Ljava/lang/String;Ljava/lang/String;)Landroid/icu/util/UResourceBundle;
-Landroid/icu/util/UResourceBundle;->getBundleInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Landroid/icu/util/UResourceBundle;
-Landroid/icu/util/UResourceBundle;->getBundleInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Z)Landroid/icu/util/UResourceBundle;
-Landroid/icu/util/UResourceBundle;->getBundleInstance(Ljava/lang/String;Ljava/util/Locale;)Landroid/icu/util/UResourceBundle;
-Landroid/icu/util/UResourceBundle;->getBundleInstance(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)Landroid/icu/util/UResourceBundle;
-Landroid/icu/util/UResourceBundle;->getInt()I
-Landroid/icu/util/UResourceBundle;->getIntVector()[I
-Landroid/icu/util/UResourceBundle;->getIterator()Landroid/icu/util/UResourceBundleIterator;
-Landroid/icu/util/UResourceBundle;->getLocaleID()Ljava/lang/String;
-Landroid/icu/util/UResourceBundle;->getParent()Landroid/icu/util/UResourceBundle;
-Landroid/icu/util/UResourceBundle;->getRootType(Ljava/lang/String;Ljava/lang/ClassLoader;)Landroid/icu/util/UResourceBundle$RootType;
-Landroid/icu/util/UResourceBundle;->getSize()I
-Landroid/icu/util/UResourceBundle;->getString(I)Ljava/lang/String;
-Landroid/icu/util/UResourceBundle;->getStringArray()[Ljava/lang/String;
-Landroid/icu/util/UResourceBundle;->getUInt()I
-Landroid/icu/util/UResourceBundle;->getULocale()Landroid/icu/util/ULocale;
-Landroid/icu/util/UResourceBundle;->getVersion()Landroid/icu/util/VersionInfo;
-Landroid/icu/util/UResourceBundle;->handleGet(ILjava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle;
-Landroid/icu/util/UResourceBundle;->handleGet(Ljava/lang/String;Ljava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle;
-Landroid/icu/util/UResourceBundle;->handleGetKeys()Ljava/util/Enumeration;
-Landroid/icu/util/UResourceBundle;->handleGetObjectImpl(Ljava/lang/String;Landroid/icu/util/UResourceBundle;)Ljava/lang/Object;
-Landroid/icu/util/UResourceBundle;->handleGetStringArray()[Ljava/lang/String;
-Landroid/icu/util/UResourceBundle;->instantiateBundle(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Z)Landroid/icu/util/UResourceBundle;
-Landroid/icu/util/UResourceBundle;->INT:I
-Landroid/icu/util/UResourceBundle;->INT_VECTOR:I
-Landroid/icu/util/UResourceBundle;->isTopLevelResource()Z
-Landroid/icu/util/UResourceBundle;->NONE:I
-Landroid/icu/util/UResourceBundle;->resolveObject(Ljava/lang/String;Landroid/icu/util/UResourceBundle;)Ljava/lang/Object;
-Landroid/icu/util/UResourceBundle;->ROOT_CACHE:Ljava/util/Map;
-Landroid/icu/util/UResourceBundle;->setRootType(Ljava/lang/String;Landroid/icu/util/UResourceBundle$RootType;)V
-Landroid/icu/util/UResourceBundle;->STRING:I
-Landroid/icu/util/UResourceBundle;->TABLE:I
-Landroid/icu/util/UResourceBundleIterator;
-Landroid/icu/util/UResourceBundleIterator;-><init>(Landroid/icu/util/UResourceBundle;)V
-Landroid/icu/util/UResourceBundleIterator;->bundle:Landroid/icu/util/UResourceBundle;
-Landroid/icu/util/UResourceBundleIterator;->index:I
-Landroid/icu/util/UResourceBundleIterator;->nextString()Ljava/lang/String;
-Landroid/icu/util/UResourceBundleIterator;->reset()V
-Landroid/icu/util/UResourceBundleIterator;->size:I
-Landroid/icu/util/UResourceTypeMismatchException;
-Landroid/icu/util/UResourceTypeMismatchException;-><init>(Ljava/lang/String;)V
-Landroid/icu/util/VersionInfo;-><init>(I)V
-Landroid/icu/util/VersionInfo;->getInt(IIII)I
-Landroid/icu/util/VersionInfo;->getTZDataVersion()Ljava/lang/String;
-Landroid/icu/util/VersionInfo;->getVersionString(II)Ljava/lang/String;
-Landroid/icu/util/VersionInfo;->ICU_DATA_VERSION:Landroid/icu/util/VersionInfo;
-Landroid/icu/util/VersionInfo;->ICU_DATA_VERSION_PATH:Ljava/lang/String;
-Landroid/icu/util/VersionInfo;->INVALID_VERSION_NUMBER_:Ljava/lang/String;
-Landroid/icu/util/VersionInfo;->javaVersion()Landroid/icu/util/VersionInfo;
-Landroid/icu/util/VersionInfo;->javaVersion:Landroid/icu/util/VersionInfo;
-Landroid/icu/util/VersionInfo;->LAST_BYTE_MASK_:I
-Landroid/icu/util/VersionInfo;->main([Ljava/lang/String;)V
-Landroid/icu/util/VersionInfo;->MAP_:Ljava/util/concurrent/ConcurrentHashMap;
-Landroid/icu/util/VersionInfo;->m_version_:I
-Landroid/icu/util/VersionInfo;->TZDATA_VERSION:Ljava/lang/String;
-Landroid/icu/util/VersionInfo;->UCOL_TAILORINGS_VERSION:Landroid/icu/util/VersionInfo;
-Landroid/icu/util/VersionInfo;->UNICODE_VERSION:Landroid/icu/util/VersionInfo;
-Landroid/icu/util/VTimeZone;
-Landroid/icu/util/VTimeZone;-><init>()V
-Landroid/icu/util/VTimeZone;-><init>(Ljava/lang/String;)V
-Landroid/icu/util/VTimeZone;->appendUNTIL(Ljava/io/Writer;Ljava/lang/String;)V
-Landroid/icu/util/VTimeZone;->beginRRULE(Ljava/io/Writer;I)V
-Landroid/icu/util/VTimeZone;->beginZoneProps(Ljava/io/Writer;ZLjava/lang/String;IIJ)V
-Landroid/icu/util/VTimeZone;->COLON:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->COMMA:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->create(Ljava/io/Reader;)Landroid/icu/util/VTimeZone;
-Landroid/icu/util/VTimeZone;->create(Ljava/lang/String;)Landroid/icu/util/VTimeZone;
-Landroid/icu/util/VTimeZone;->createRuleByRDATE(Ljava/lang/String;IIJLjava/util/List;I)Landroid/icu/util/TimeZoneRule;
-Landroid/icu/util/VTimeZone;->createRuleByRRULE(Ljava/lang/String;IIJLjava/util/List;I)Landroid/icu/util/TimeZoneRule;
-Landroid/icu/util/VTimeZone;->DEF_DSTSAVINGS:I
-Landroid/icu/util/VTimeZone;->DEF_TZSTARTTIME:J
-Landroid/icu/util/VTimeZone;->endZoneProps(Ljava/io/Writer;Z)V
-Landroid/icu/util/VTimeZone;->EQUALS_SIGN:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ERR:I
-Landroid/icu/util/VTimeZone;->getDateTimeString(J)Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->getDefaultTZName(Ljava/lang/String;Z)Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->getLastModified()Ljava/util/Date;
-Landroid/icu/util/VTimeZone;->getNextTransition(JZ)Landroid/icu/util/TimeZoneTransition;
-Landroid/icu/util/VTimeZone;->getOffsetFromLocal(JII[I)V
-Landroid/icu/util/VTimeZone;->getPreviousTransition(JZ)Landroid/icu/util/TimeZoneTransition;
-Landroid/icu/util/VTimeZone;->getTimeZoneRules()[Landroid/icu/util/TimeZoneRule;
-Landroid/icu/util/VTimeZone;->getTimeZoneRules(J)[Landroid/icu/util/TimeZoneRule;
-Landroid/icu/util/VTimeZone;->getTZURL()Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->getUTCDateTimeString(J)Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->hasEquivalentTransitions(Landroid/icu/util/TimeZone;JJ)Z
-Landroid/icu/util/VTimeZone;->ICAL_BEGIN:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_BEGIN_VTIMEZONE:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_BYDAY:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_BYMONTH:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_BYMONTHDAY:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_DAYLIGHT:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_DOW_NAMES:[Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_DTSTART:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_END:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_END_VTIMEZONE:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_FREQ:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_LASTMOD:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_RDATE:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_RRULE:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_STANDARD:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_TZID:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_TZNAME:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_TZOFFSETFROM:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_TZOFFSETTO:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_TZURL:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_UNTIL:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_VTIMEZONE:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICAL_YEARLY:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICU_TZINFO_PROP:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->ICU_TZVERSION:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->INI:I
-Landroid/icu/util/VTimeZone;->isEquivalentDateRule(IIILandroid/icu/util/DateTimeRule;)Z
-Landroid/icu/util/VTimeZone;->isFrozen:Z
-Landroid/icu/util/VTimeZone;->lastmod:Ljava/util/Date;
-Landroid/icu/util/VTimeZone;->load(Ljava/io/Reader;)Z
-Landroid/icu/util/VTimeZone;->MAX_TIME:J
-Landroid/icu/util/VTimeZone;->millisToOffset(I)Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->MIN_TIME:J
-Landroid/icu/util/VTimeZone;->MONTHLENGTH:[I
-Landroid/icu/util/VTimeZone;->NEWLINE:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->numToString(II)Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->offsetStrToMillis(Ljava/lang/String;)I
-Landroid/icu/util/VTimeZone;->olsonzid:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->parse()Z
-Landroid/icu/util/VTimeZone;->parseDateTimeString(Ljava/lang/String;I)J
-Landroid/icu/util/VTimeZone;->parseRRULE(Ljava/lang/String;[J)[I
-Landroid/icu/util/VTimeZone;->SEMICOLON:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->setLastModified(Ljava/util/Date;)V
-Landroid/icu/util/VTimeZone;->setTZURL(Ljava/lang/String;)V
-Landroid/icu/util/VTimeZone;->toWallTimeRule(Landroid/icu/util/DateTimeRule;II)Landroid/icu/util/DateTimeRule;
-Landroid/icu/util/VTimeZone;->tz:Landroid/icu/util/BasicTimeZone;
-Landroid/icu/util/VTimeZone;->TZI:I
-Landroid/icu/util/VTimeZone;->tzurl:Ljava/lang/String;
-Landroid/icu/util/VTimeZone;->VTZ:I
-Landroid/icu/util/VTimeZone;->vtzlines:Ljava/util/List;
-Landroid/icu/util/VTimeZone;->write(Ljava/io/Writer;)V
-Landroid/icu/util/VTimeZone;->write(Ljava/io/Writer;J)V
-Landroid/icu/util/VTimeZone;->writeFinalRule(Ljava/io/Writer;ZLandroid/icu/util/AnnualTimeZoneRule;IIJ)V
-Landroid/icu/util/VTimeZone;->writeFooter(Ljava/io/Writer;)V
-Landroid/icu/util/VTimeZone;->writeHeader(Ljava/io/Writer;)V
-Landroid/icu/util/VTimeZone;->writeSimple(Ljava/io/Writer;J)V
-Landroid/icu/util/VTimeZone;->writeZone(Ljava/io/Writer;Landroid/icu/util/BasicTimeZone;[Ljava/lang/String;)V
-Landroid/icu/util/VTimeZone;->writeZonePropsByDOM(Ljava/io/Writer;ZLjava/lang/String;IIIIJJ)V
-Landroid/icu/util/VTimeZone;->writeZonePropsByDOW(Ljava/io/Writer;ZLjava/lang/String;IIIIIJJ)V
-Landroid/icu/util/VTimeZone;->writeZonePropsByDOW_GEQ_DOM(Ljava/io/Writer;ZLjava/lang/String;IIIIIJJ)V
-Landroid/icu/util/VTimeZone;->writeZonePropsByDOW_GEQ_DOM_sub(Ljava/io/Writer;IIIIJI)V
-Landroid/icu/util/VTimeZone;->writeZonePropsByDOW_LEQ_DOM(Ljava/io/Writer;ZLjava/lang/String;IIIIIJJ)V
-Landroid/icu/util/VTimeZone;->writeZonePropsByTime(Ljava/io/Writer;ZLjava/lang/String;IIJZ)V
-Landroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodSessionImpl;->mEnabled:Z
-Landroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodSessionImpl;->mRevoked:Z
-Landroid/inputmethodservice/AbstractInputMethodService;->exposeContent(Landroid/view/inputmethod/InputContentInfo;Landroid/view/inputmethod/InputConnection;)V
-Landroid/inputmethodservice/AbstractInputMethodService;->mDispatcherState:Landroid/view/KeyEvent$DispatcherState;
-Landroid/inputmethodservice/AbstractInputMethodService;->mInputMethod:Landroid/view/inputmethod/InputMethod;
-Landroid/inputmethodservice/CompactExtractEditLayout;
-Landroid/inputmethodservice/CompactExtractEditLayout;-><init>(Landroid/content/Context;)V
-Landroid/inputmethodservice/CompactExtractEditLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/inputmethodservice/CompactExtractEditLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/inputmethodservice/CompactExtractEditLayout;->applyFractionInt(II)I
-Landroid/inputmethodservice/CompactExtractEditLayout;->applyProportionalLayout(II)V
-Landroid/inputmethodservice/CompactExtractEditLayout;->mInputExtractAccessories:Landroid/view/View;
-Landroid/inputmethodservice/CompactExtractEditLayout;->mInputExtractAction:Landroid/view/View;
-Landroid/inputmethodservice/CompactExtractEditLayout;->mInputExtractEditText:Landroid/view/View;
-Landroid/inputmethodservice/CompactExtractEditLayout;->mPerformLayoutChanges:Z
-Landroid/inputmethodservice/CompactExtractEditLayout;->setLayoutHeight(Landroid/view/View;I)V
-Landroid/inputmethodservice/CompactExtractEditLayout;->setLayoutMarginBottom(Landroid/view/View;I)V
-Landroid/inputmethodservice/ExtractEditLayout;
-Landroid/inputmethodservice/ExtractEditLayout;-><init>(Landroid/content/Context;)V
-Landroid/inputmethodservice/ExtractEditLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/inputmethodservice/ExtractEditLayout;->mExtractActionButton:Landroid/widget/Button;
-Landroid/inputmethodservice/ExtractEditText;->deleteText_internal(II)V
-Landroid/inputmethodservice/ExtractEditText;->isInExtractedMode()Z
-Landroid/inputmethodservice/ExtractEditText;->mIME:Landroid/inputmethodservice/InputMethodService;
-Landroid/inputmethodservice/ExtractEditText;->mSettingExtractedText:I
-Landroid/inputmethodservice/ExtractEditText;->replaceText_internal(IILjava/lang/CharSequence;)V
-Landroid/inputmethodservice/ExtractEditText;->setCursorPosition_internal(II)V
-Landroid/inputmethodservice/ExtractEditText;->setIME(Landroid/inputmethodservice/InputMethodService;)V
-Landroid/inputmethodservice/ExtractEditText;->setSpan_internal(Ljava/lang/Object;III)V
-Landroid/inputmethodservice/ExtractEditText;->viewClicked(Landroid/view/inputmethod/InputMethodManager;)V
-Landroid/inputmethodservice/InputMethodService$BackDispositionMode;
-Landroid/inputmethodservice/InputMethodService$InputMethodImpl;->dispatchStartInputWithToken(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;ZLandroid/os/IBinder;)V
-Landroid/inputmethodservice/InputMethodService$SettingsObserver$ShowImeWithHardKeyboardType;
-Landroid/inputmethodservice/InputMethodService$SettingsObserver$ShowImeWithHardKeyboardType;->FALSE:I
-Landroid/inputmethodservice/InputMethodService$SettingsObserver$ShowImeWithHardKeyboardType;->TRUE:I
-Landroid/inputmethodservice/InputMethodService$SettingsObserver$ShowImeWithHardKeyboardType;->UNKNOWN:I
-Landroid/inputmethodservice/InputMethodService$SettingsObserver;
-Landroid/inputmethodservice/InputMethodService$SettingsObserver;-><init>(Landroid/inputmethodservice/InputMethodService;)V
-Landroid/inputmethodservice/InputMethodService$SettingsObserver;->createAndRegister(Landroid/inputmethodservice/InputMethodService;)Landroid/inputmethodservice/InputMethodService$SettingsObserver;
-Landroid/inputmethodservice/InputMethodService$SettingsObserver;->mService:Landroid/inputmethodservice/InputMethodService;
-Landroid/inputmethodservice/InputMethodService$SettingsObserver;->mShowImeWithHardKeyboard:I
-Landroid/inputmethodservice/InputMethodService$SettingsObserver;->unregister()V
-Landroid/inputmethodservice/InputMethodService;->BACK_DISPOSITION_MAX:I
-Landroid/inputmethodservice/InputMethodService;->BACK_DISPOSITION_MIN:I
-Landroid/inputmethodservice/InputMethodService;->clearInsetOfPreviousIme()V
-Landroid/inputmethodservice/InputMethodService;->DEBUG:Z
-Landroid/inputmethodservice/InputMethodService;->dispatchOnShowInputRequested(IZ)Z
-Landroid/inputmethodservice/InputMethodService;->doFinishInput()V
-Landroid/inputmethodservice/InputMethodService;->doHideWindow()V
-Landroid/inputmethodservice/InputMethodService;->doMovementKey(ILandroid/view/KeyEvent;I)Z
-Landroid/inputmethodservice/InputMethodService;->doStartInput(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;Z)V
-Landroid/inputmethodservice/InputMethodService;->exposeContent(Landroid/view/inputmethod/InputContentInfo;Landroid/view/inputmethod/InputConnection;)V
-Landroid/inputmethodservice/InputMethodService;->finishViews()V
-Landroid/inputmethodservice/InputMethodService;->getExtractEditTextIfVisible()Landroid/inputmethodservice/ExtractEditText;
-Landroid/inputmethodservice/InputMethodService;->getIconForImeAction(I)I
-Landroid/inputmethodservice/InputMethodService;->handleBack(Z)Z
-Landroid/inputmethodservice/InputMethodService;->IME_ACTIVE:I
-Landroid/inputmethodservice/InputMethodService;->IME_VISIBLE:I
-Landroid/inputmethodservice/InputMethodService;->initialize()V
-Landroid/inputmethodservice/InputMethodService;->initViews()V
-Landroid/inputmethodservice/InputMethodService;->mActionClickListener:Landroid/view/View$OnClickListener;
-Landroid/inputmethodservice/InputMethodService;->mapToImeWindowStatus(Z)I
-Landroid/inputmethodservice/InputMethodService;->mBackDisposition:I
-Landroid/inputmethodservice/InputMethodService;->mCandidatesFrame:Landroid/widget/FrameLayout;
-Landroid/inputmethodservice/InputMethodService;->mCandidatesViewStarted:Z
-Landroid/inputmethodservice/InputMethodService;->mCandidatesVisibility:I
-Landroid/inputmethodservice/InputMethodService;->mCurCompletions:[Landroid/view/inputmethod/CompletionInfo;
-Landroid/inputmethodservice/InputMethodService;->mExtractAccessories:Landroid/view/ViewGroup;
-Landroid/inputmethodservice/InputMethodService;->mExtractAction:Landroid/view/View;
-Landroid/inputmethodservice/InputMethodService;->mExtractedText:Landroid/view/inputmethod/ExtractedText;
-Landroid/inputmethodservice/InputMethodService;->mExtractedToken:I
-Landroid/inputmethodservice/InputMethodService;->mExtractFrame:Landroid/widget/FrameLayout;
-Landroid/inputmethodservice/InputMethodService;->mExtractViewHidden:Z
-Landroid/inputmethodservice/InputMethodService;->mFullscreenApplied:Z
-Landroid/inputmethodservice/InputMethodService;->mFullscreenArea:Landroid/view/ViewGroup;
-Landroid/inputmethodservice/InputMethodService;->mImm:Landroid/view/inputmethod/InputMethodManager;
-Landroid/inputmethodservice/InputMethodService;->mInflater:Landroid/view/LayoutInflater;
-Landroid/inputmethodservice/InputMethodService;->mInitialized:Z
-Landroid/inputmethodservice/InputMethodService;->mInputBinding:Landroid/view/inputmethod/InputBinding;
-Landroid/inputmethodservice/InputMethodService;->mInputConnection:Landroid/view/inputmethod/InputConnection;
-Landroid/inputmethodservice/InputMethodService;->mInputEditorInfo:Landroid/view/inputmethod/EditorInfo;
-Landroid/inputmethodservice/InputMethodService;->mInputFrame:Landroid/widget/FrameLayout;
-Landroid/inputmethodservice/InputMethodService;->mInputStarted:Z
-Landroid/inputmethodservice/InputMethodService;->mInputView:Landroid/view/View;
-Landroid/inputmethodservice/InputMethodService;->mInputViewStarted:Z
-Landroid/inputmethodservice/InputMethodService;->mInsetsComputer:Landroid/view/ViewTreeObserver$OnComputeInternalInsetsListener;
-Landroid/inputmethodservice/InputMethodService;->mInShowWindow:Z
-Landroid/inputmethodservice/InputMethodService;->mIsFullscreen:Z
-Landroid/inputmethodservice/InputMethodService;->mIsInputViewShown:Z
-Landroid/inputmethodservice/InputMethodService;->mLastShowInputRequested:Z
-Landroid/inputmethodservice/InputMethodService;->MOVEMENT_DOWN:I
-Landroid/inputmethodservice/InputMethodService;->MOVEMENT_UP:I
-Landroid/inputmethodservice/InputMethodService;->mShouldClearInsetOfPreviousIme:Z
-Landroid/inputmethodservice/InputMethodService;->mShowInputFlags:I
-Landroid/inputmethodservice/InputMethodService;->mShowInputRequested:Z
-Landroid/inputmethodservice/InputMethodService;->mStartedInputConnection:Landroid/view/inputmethod/InputConnection;
-Landroid/inputmethodservice/InputMethodService;->mStartInputToken:Landroid/os/IBinder;
-Landroid/inputmethodservice/InputMethodService;->mStatusIcon:I
-Landroid/inputmethodservice/InputMethodService;->mThemeAttrs:Landroid/content/res/TypedArray;
-Landroid/inputmethodservice/InputMethodService;->mTmpLocation:[I
-Landroid/inputmethodservice/InputMethodService;->mToken:Landroid/os/IBinder;
-Landroid/inputmethodservice/InputMethodService;->mWindow:Landroid/inputmethodservice/SoftInputWindow;
-Landroid/inputmethodservice/InputMethodService;->mWindowAdded:Z
-Landroid/inputmethodservice/InputMethodService;->mWindowCreated:Z
-Landroid/inputmethodservice/InputMethodService;->mWindowVisible:Z
-Landroid/inputmethodservice/InputMethodService;->mWindowWasVisible:Z
-Landroid/inputmethodservice/InputMethodService;->onToggleSoftInput(II)V
-Landroid/inputmethodservice/InputMethodService;->reportExtractedMovement(II)V
-Landroid/inputmethodservice/InputMethodService;->resetStateForNewConfiguration()V
-Landroid/inputmethodservice/InputMethodService;->showWindowInner(Z)V
-Landroid/inputmethodservice/InputMethodService;->startExtractingText(Z)V
-Landroid/inputmethodservice/InputMethodService;->TAG:Ljava/lang/String;
-Landroid/inputmethodservice/InputMethodService;->updateCandidatesVisibility(Z)V
-Landroid/inputmethodservice/InputMethodService;->updateExtractFrameVisibility()V
-Landroid/inputmethodservice/Keyboard$Key;->keyboard:Landroid/inputmethodservice/Keyboard;
-Landroid/inputmethodservice/Keyboard$Key;->KEY_STATE_NORMAL:[I
-Landroid/inputmethodservice/Keyboard$Key;->KEY_STATE_NORMAL_OFF:[I
-Landroid/inputmethodservice/Keyboard$Key;->KEY_STATE_NORMAL_ON:[I
-Landroid/inputmethodservice/Keyboard$Key;->KEY_STATE_PRESSED:[I
-Landroid/inputmethodservice/Keyboard$Key;->KEY_STATE_PRESSED_OFF:[I
-Landroid/inputmethodservice/Keyboard$Key;->KEY_STATE_PRESSED_ON:[I
-Landroid/inputmethodservice/Keyboard$Key;->parseCSV(Ljava/lang/String;)[I
-Landroid/inputmethodservice/Keyboard$Row;->mKeys:Ljava/util/ArrayList;
-Landroid/inputmethodservice/Keyboard$Row;->parent:Landroid/inputmethodservice/Keyboard;
-Landroid/inputmethodservice/Keyboard;->computeNearestNeighbors()V
-Landroid/inputmethodservice/Keyboard;->getDimensionOrFraction(Landroid/content/res/TypedArray;III)I
-Landroid/inputmethodservice/Keyboard;->getShiftKeyIndices()[I
-Landroid/inputmethodservice/Keyboard;->GRID_HEIGHT:I
-Landroid/inputmethodservice/Keyboard;->GRID_SIZE:I
-Landroid/inputmethodservice/Keyboard;->GRID_WIDTH:I
-Landroid/inputmethodservice/Keyboard;->loadKeyboard(Landroid/content/Context;Landroid/content/res/XmlResourceParser;)V
-Landroid/inputmethodservice/Keyboard;->mCellHeight:I
-Landroid/inputmethodservice/Keyboard;->mCellWidth:I
-Landroid/inputmethodservice/Keyboard;->mDefaultHeight:I
-Landroid/inputmethodservice/Keyboard;->mDefaultHorizontalGap:I
-Landroid/inputmethodservice/Keyboard;->mDefaultVerticalGap:I
-Landroid/inputmethodservice/Keyboard;->mDefaultWidth:I
-Landroid/inputmethodservice/Keyboard;->mDisplayHeight:I
-Landroid/inputmethodservice/Keyboard;->mDisplayWidth:I
-Landroid/inputmethodservice/Keyboard;->mGridNeighbors:[[I
-Landroid/inputmethodservice/Keyboard;->mKeyboardMode:I
-Landroid/inputmethodservice/Keyboard;->mKeyHeight:I
-Landroid/inputmethodservice/Keyboard;->mKeys:Ljava/util/List;
-Landroid/inputmethodservice/Keyboard;->mKeyWidth:I
-Landroid/inputmethodservice/Keyboard;->mLabel:Ljava/lang/CharSequence;
-Landroid/inputmethodservice/Keyboard;->mProximityThreshold:I
-Landroid/inputmethodservice/Keyboard;->mShifted:Z
-Landroid/inputmethodservice/Keyboard;->mShiftKeyIndices:[I
-Landroid/inputmethodservice/Keyboard;->mShiftKeys:[Landroid/inputmethodservice/Keyboard$Key;
-Landroid/inputmethodservice/Keyboard;->parseKeyboardAttributes(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)V
-Landroid/inputmethodservice/Keyboard;->rows:Ljava/util/ArrayList;
-Landroid/inputmethodservice/Keyboard;->SEARCH_DISTANCE:F
-Landroid/inputmethodservice/Keyboard;->skipToEndOfRow(Landroid/content/res/XmlResourceParser;)V
-Landroid/inputmethodservice/Keyboard;->TAG:Ljava/lang/String;
-Landroid/inputmethodservice/Keyboard;->TAG_KEY:Ljava/lang/String;
-Landroid/inputmethodservice/Keyboard;->TAG_KEYBOARD:Ljava/lang/String;
-Landroid/inputmethodservice/Keyboard;->TAG_ROW:Ljava/lang/String;
-Landroid/inputmethodservice/KeyboardView$SwipeTracker;
-Landroid/inputmethodservice/KeyboardView$SwipeTracker;-><init>()V
-Landroid/inputmethodservice/KeyboardView$SwipeTracker;->addMovement(Landroid/view/MotionEvent;)V
-Landroid/inputmethodservice/KeyboardView$SwipeTracker;->addPoint(FFJ)V
-Landroid/inputmethodservice/KeyboardView$SwipeTracker;->clear()V
-Landroid/inputmethodservice/KeyboardView$SwipeTracker;->computeCurrentVelocity(I)V
-Landroid/inputmethodservice/KeyboardView$SwipeTracker;->computeCurrentVelocity(IF)V
-Landroid/inputmethodservice/KeyboardView$SwipeTracker;->getXVelocity()F
-Landroid/inputmethodservice/KeyboardView$SwipeTracker;->getYVelocity()F
-Landroid/inputmethodservice/KeyboardView$SwipeTracker;->LONGEST_PAST_TIME:I
-Landroid/inputmethodservice/KeyboardView$SwipeTracker;->mPastTime:[J
-Landroid/inputmethodservice/KeyboardView$SwipeTracker;->mPastX:[F
-Landroid/inputmethodservice/KeyboardView$SwipeTracker;->mPastY:[F
-Landroid/inputmethodservice/KeyboardView$SwipeTracker;->mXVelocity:F
-Landroid/inputmethodservice/KeyboardView$SwipeTracker;->mYVelocity:F
-Landroid/inputmethodservice/KeyboardView$SwipeTracker;->NUM_PAST:I
-Landroid/inputmethodservice/KeyboardView;->adjustCase(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-Landroid/inputmethodservice/KeyboardView;->checkMultiTap(JI)V
-Landroid/inputmethodservice/KeyboardView;->computeProximityThreshold(Landroid/inputmethodservice/Keyboard;)V
-Landroid/inputmethodservice/KeyboardView;->DEBOUNCE_TIME:I
-Landroid/inputmethodservice/KeyboardView;->DEBUG:Z
-Landroid/inputmethodservice/KeyboardView;->DELAY_AFTER_PREVIEW:I
-Landroid/inputmethodservice/KeyboardView;->DELAY_BEFORE_PREVIEW:I
-Landroid/inputmethodservice/KeyboardView;->detectAndSendKey(IIIJ)V
-Landroid/inputmethodservice/KeyboardView;->dismissPopupKeyboard()V
-Landroid/inputmethodservice/KeyboardView;->getKeyIndices(II[I)I
-Landroid/inputmethodservice/KeyboardView;->getPreviewText(Landroid/inputmethodservice/Keyboard$Key;)Ljava/lang/CharSequence;
-Landroid/inputmethodservice/KeyboardView;->initGestureDetector()V
-Landroid/inputmethodservice/KeyboardView;->KEY_DELETE:[I
-Landroid/inputmethodservice/KeyboardView;->LONGPRESS_TIMEOUT:I
-Landroid/inputmethodservice/KeyboardView;->LONG_PRESSABLE_STATE_SET:[I
-Landroid/inputmethodservice/KeyboardView;->mAbortKey:Z
-Landroid/inputmethodservice/KeyboardView;->mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
-Landroid/inputmethodservice/KeyboardView;->mAudioManager:Landroid/media/AudioManager;
-Landroid/inputmethodservice/KeyboardView;->MAX_NEARBY_KEYS:I
-Landroid/inputmethodservice/KeyboardView;->mBackgroundDimAmount:F
-Landroid/inputmethodservice/KeyboardView;->mBuffer:Landroid/graphics/Bitmap;
-Landroid/inputmethodservice/KeyboardView;->mCanvas:Landroid/graphics/Canvas;
-Landroid/inputmethodservice/KeyboardView;->mClipRegion:Landroid/graphics/Rect;
-Landroid/inputmethodservice/KeyboardView;->mCoordinates:[I
-Landroid/inputmethodservice/KeyboardView;->mCurrentKey:I
-Landroid/inputmethodservice/KeyboardView;->mCurrentKeyIndex:I
-Landroid/inputmethodservice/KeyboardView;->mCurrentKeyTime:J
-Landroid/inputmethodservice/KeyboardView;->mDirtyRect:Landroid/graphics/Rect;
-Landroid/inputmethodservice/KeyboardView;->mDisambiguateSwipe:Z
-Landroid/inputmethodservice/KeyboardView;->mDistances:[I
-Landroid/inputmethodservice/KeyboardView;->mDownKey:I
-Landroid/inputmethodservice/KeyboardView;->mDownTime:J
-Landroid/inputmethodservice/KeyboardView;->mDrawPending:Z
-Landroid/inputmethodservice/KeyboardView;->mGestureDetector:Landroid/view/GestureDetector;
-Landroid/inputmethodservice/KeyboardView;->mHandler:Landroid/os/Handler;
-Landroid/inputmethodservice/KeyboardView;->mHeadsetRequiredToHearPasswordsAnnounced:Z
-Landroid/inputmethodservice/KeyboardView;->mInMultiTap:Z
-Landroid/inputmethodservice/KeyboardView;->mInvalidatedKey:Landroid/inputmethodservice/Keyboard$Key;
-Landroid/inputmethodservice/KeyboardView;->mKeyboard:Landroid/inputmethodservice/Keyboard;
-Landroid/inputmethodservice/KeyboardView;->mKeyboardActionListener:Landroid/inputmethodservice/KeyboardView$OnKeyboardActionListener;
-Landroid/inputmethodservice/KeyboardView;->mKeyboardChanged:Z
-Landroid/inputmethodservice/KeyboardView;->mKeyIndices:[I
-Landroid/inputmethodservice/KeyboardView;->mKeys:[Landroid/inputmethodservice/Keyboard$Key;
-Landroid/inputmethodservice/KeyboardView;->mKeyTextColor:I
-Landroid/inputmethodservice/KeyboardView;->mKeyTextSize:I
-Landroid/inputmethodservice/KeyboardView;->mLastCodeX:I
-Landroid/inputmethodservice/KeyboardView;->mLastCodeY:I
-Landroid/inputmethodservice/KeyboardView;->mLastKey:I
-Landroid/inputmethodservice/KeyboardView;->mLastKeyTime:J
-Landroid/inputmethodservice/KeyboardView;->mLastMoveTime:J
-Landroid/inputmethodservice/KeyboardView;->mLastSentIndex:I
-Landroid/inputmethodservice/KeyboardView;->mLastTapTime:J
-Landroid/inputmethodservice/KeyboardView;->mLastX:I
-Landroid/inputmethodservice/KeyboardView;->mLastY:I
-Landroid/inputmethodservice/KeyboardView;->mMiniKeyboard:Landroid/inputmethodservice/KeyboardView;
-Landroid/inputmethodservice/KeyboardView;->mMiniKeyboardCache:Ljava/util/Map;
-Landroid/inputmethodservice/KeyboardView;->mMiniKeyboardContainer:Landroid/view/View;
-Landroid/inputmethodservice/KeyboardView;->mMiniKeyboardOffsetX:I
-Landroid/inputmethodservice/KeyboardView;->mMiniKeyboardOffsetY:I
-Landroid/inputmethodservice/KeyboardView;->mMiniKeyboardOnScreen:Z
-Landroid/inputmethodservice/KeyboardView;->mOldPointerCount:I
-Landroid/inputmethodservice/KeyboardView;->mOldPointerX:F
-Landroid/inputmethodservice/KeyboardView;->mOldPointerY:F
-Landroid/inputmethodservice/KeyboardView;->mPadding:Landroid/graphics/Rect;
-Landroid/inputmethodservice/KeyboardView;->mPaint:Landroid/graphics/Paint;
-Landroid/inputmethodservice/KeyboardView;->mPopupKeyboard:Landroid/widget/PopupWindow;
-Landroid/inputmethodservice/KeyboardView;->mPopupLayout:I
-Landroid/inputmethodservice/KeyboardView;->mPopupParent:Landroid/view/View;
-Landroid/inputmethodservice/KeyboardView;->mPopupPreviewX:I
-Landroid/inputmethodservice/KeyboardView;->mPopupPreviewY:I
-Landroid/inputmethodservice/KeyboardView;->mPopupX:I
-Landroid/inputmethodservice/KeyboardView;->mPopupY:I
-Landroid/inputmethodservice/KeyboardView;->mPossiblePoly:Z
-Landroid/inputmethodservice/KeyboardView;->mPreviewCentered:Z
-Landroid/inputmethodservice/KeyboardView;->mPreviewHeight:I
-Landroid/inputmethodservice/KeyboardView;->mPreviewLabel:Ljava/lang/StringBuilder;
-Landroid/inputmethodservice/KeyboardView;->mPreviewOffset:I
-Landroid/inputmethodservice/KeyboardView;->mPreviewPopup:Landroid/widget/PopupWindow;
-Landroid/inputmethodservice/KeyboardView;->mPreviewTextSizeLarge:I
-Landroid/inputmethodservice/KeyboardView;->mProximityCorrectOn:Z
-Landroid/inputmethodservice/KeyboardView;->mProximityThreshold:I
-Landroid/inputmethodservice/KeyboardView;->mRepeatKeyIndex:I
-Landroid/inputmethodservice/KeyboardView;->MSG_LONGPRESS:I
-Landroid/inputmethodservice/KeyboardView;->MSG_REMOVE_PREVIEW:I
-Landroid/inputmethodservice/KeyboardView;->MSG_REPEAT:I
-Landroid/inputmethodservice/KeyboardView;->MSG_SHOW_PREVIEW:I
-Landroid/inputmethodservice/KeyboardView;->mShadowColor:I
-Landroid/inputmethodservice/KeyboardView;->mShadowRadius:F
-Landroid/inputmethodservice/KeyboardView;->mShowPreview:Z
-Landroid/inputmethodservice/KeyboardView;->mShowTouchPoints:Z
-Landroid/inputmethodservice/KeyboardView;->mStartX:I
-Landroid/inputmethodservice/KeyboardView;->mStartY:I
-Landroid/inputmethodservice/KeyboardView;->mSwipeThreshold:I
-Landroid/inputmethodservice/KeyboardView;->mSwipeTracker:Landroid/inputmethodservice/KeyboardView$SwipeTracker;
-Landroid/inputmethodservice/KeyboardView;->mTapCount:I
-Landroid/inputmethodservice/KeyboardView;->MULTITAP_INTERVAL:I
-Landroid/inputmethodservice/KeyboardView;->mVerticalCorrection:I
-Landroid/inputmethodservice/KeyboardView;->NOT_A_KEY:I
-Landroid/inputmethodservice/KeyboardView;->onBufferDraw()V
-Landroid/inputmethodservice/KeyboardView;->onModifiedTouchEvent(Landroid/view/MotionEvent;Z)Z
-Landroid/inputmethodservice/KeyboardView;->removeMessages()V
-Landroid/inputmethodservice/KeyboardView;->REPEAT_INTERVAL:I
-Landroid/inputmethodservice/KeyboardView;->REPEAT_START_DELAY:I
-Landroid/inputmethodservice/KeyboardView;->resetMultiTap()V
-Landroid/inputmethodservice/KeyboardView;->sendAccessibilityEventForUnicodeCharacter(II)V
-Landroid/inputmethodservice/KeyboardView;->showPreview(I)V
-Landroid/inputmethodservice/SoftInputWindow$Callback;
-Landroid/inputmethodservice/SoftInputWindow$Callback;->onBackPressed()V
-Landroid/inputmethodservice/SoftInputWindow;
-Landroid/inputmethodservice/SoftInputWindow;-><init>(Landroid/content/Context;Ljava/lang/String;ILandroid/inputmethodservice/SoftInputWindow$Callback;Landroid/view/KeyEvent$Callback;Landroid/view/KeyEvent$DispatcherState;IIZ)V
-Landroid/inputmethodservice/SoftInputWindow;->getGravity()I
-Landroid/inputmethodservice/SoftInputWindow;->initDockWindow()V
-Landroid/inputmethodservice/SoftInputWindow;->mBounds:Landroid/graphics/Rect;
-Landroid/inputmethodservice/SoftInputWindow;->mCallback:Landroid/inputmethodservice/SoftInputWindow$Callback;
-Landroid/inputmethodservice/SoftInputWindow;->mDispatcherState:Landroid/view/KeyEvent$DispatcherState;
-Landroid/inputmethodservice/SoftInputWindow;->mGravity:I
-Landroid/inputmethodservice/SoftInputWindow;->mKeyEventCallback:Landroid/view/KeyEvent$Callback;
-Landroid/inputmethodservice/SoftInputWindow;->mName:Ljava/lang/String;
-Landroid/inputmethodservice/SoftInputWindow;->mTakesFocus:Z
-Landroid/inputmethodservice/SoftInputWindow;->mWindowType:I
-Landroid/inputmethodservice/SoftInputWindow;->setGravity(I)V
-Landroid/inputmethodservice/SoftInputWindow;->setToken(Landroid/os/IBinder;)V
-Landroid/inputmethodservice/SoftInputWindow;->updateWidthHeight(Landroid/view/WindowManager$LayoutParams;)V
-Landroid/location/Address;->mAddressLines:Ljava/util/HashMap;
-Landroid/location/Address;->mAdminArea:Ljava/lang/String;
-Landroid/location/Address;->mCountryCode:Ljava/lang/String;
-Landroid/location/Address;->mCountryName:Ljava/lang/String;
-Landroid/location/Address;->mExtras:Landroid/os/Bundle;
-Landroid/location/Address;->mFeatureName:Ljava/lang/String;
-Landroid/location/Address;->mHasLatitude:Z
-Landroid/location/Address;->mHasLongitude:Z
-Landroid/location/Address;->mLatitude:D
-Landroid/location/Address;->mLocale:Ljava/util/Locale;
-Landroid/location/Address;->mLocality:Ljava/lang/String;
-Landroid/location/Address;->mLongitude:D
-Landroid/location/Address;->mMaxAddressLineIndex:I
-Landroid/location/Address;->mPhone:Ljava/lang/String;
-Landroid/location/Address;->mPostalCode:Ljava/lang/String;
-Landroid/location/Address;->mPremises:Ljava/lang/String;
-Landroid/location/Address;->mSubAdminArea:Ljava/lang/String;
-Landroid/location/Address;->mSubLocality:Ljava/lang/String;
-Landroid/location/Address;->mSubThoroughfare:Ljava/lang/String;
-Landroid/location/Address;->mThoroughfare:Ljava/lang/String;
-Landroid/location/Address;->mUrl:Ljava/lang/String;
-Landroid/location/BatchedLocationCallbackTransport$CallbackTransport;
-Landroid/location/BatchedLocationCallbackTransport$CallbackTransport;-><init>()V
-Landroid/location/BatchedLocationCallbackTransport$CallbackTransport;->onLocationBatch(Ljava/util/List;)V
-Landroid/location/BatchedLocationCallbackTransport;
-Landroid/location/BatchedLocationCallbackTransport;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
-Landroid/location/BatchedLocationCallbackTransport;->mCallbackTransport:Landroid/location/IBatchedLocationCallback;
-Landroid/location/BatchedLocationCallbackTransport;->mLocationManager:Landroid/location/ILocationManager;
-Landroid/location/BatchedLocationCallbackTransport;->registerWithServer()Z
-Landroid/location/BatchedLocationCallbackTransport;->unregisterFromServer()V
-Landroid/location/Country;
-Landroid/location/Country;-><init>(Landroid/location/Country;)V
-Landroid/location/Country;-><init>(Ljava/lang/String;IJ)V
-Landroid/location/Country;->COUNTRY_SOURCE_LOCALE:I
-Landroid/location/Country;->COUNTRY_SOURCE_LOCATION:I
-Landroid/location/Country;->COUNTRY_SOURCE_NETWORK:I
-Landroid/location/Country;->COUNTRY_SOURCE_SIM:I
-Landroid/location/Country;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/location/Country;->equalsIgnoreSource(Landroid/location/Country;)Z
-Landroid/location/Country;->getTimestamp()J
-Landroid/location/Country;->mCountryIso:Ljava/lang/String;
-Landroid/location/Country;->mHashCode:I
-Landroid/location/Country;->mSource:I
-Landroid/location/Country;->mTimestamp:J
-Landroid/location/CountryDetector$ListenerTransport;
-Landroid/location/CountryDetector$ListenerTransport;-><init>(Landroid/location/CountryListener;Landroid/os/Looper;)V
-Landroid/location/CountryDetector$ListenerTransport;->mHandler:Landroid/os/Handler;
-Landroid/location/CountryDetector$ListenerTransport;->mListener:Landroid/location/CountryListener;
-Landroid/location/CountryDetector$ListenerTransport;->onCountryDetected(Landroid/location/Country;)V
-Landroid/location/CountryDetector;
-Landroid/location/CountryDetector;->mListeners:Ljava/util/HashMap;
-Landroid/location/CountryDetector;->mService:Landroid/location/ICountryDetector;
-Landroid/location/CountryDetector;->TAG:Ljava/lang/String;
-Landroid/location/CountryListener;
-Landroid/location/Criteria;->accuracyToString(I)Ljava/lang/String;
-Landroid/location/Criteria;->mAltitudeRequired:Z
-Landroid/location/Criteria;->mBearingAccuracy:I
-Landroid/location/Criteria;->mBearingRequired:Z
-Landroid/location/Criteria;->mCostAllowed:Z
-Landroid/location/Criteria;->mHorizontalAccuracy:I
-Landroid/location/Criteria;->mPowerRequirement:I
-Landroid/location/Criteria;->mSpeedAccuracy:I
-Landroid/location/Criteria;->mSpeedRequired:Z
-Landroid/location/Criteria;->mVerticalAccuracy:I
-Landroid/location/Criteria;->powerToString(I)Ljava/lang/String;
-Landroid/location/FusedBatchOptions$BatchFlags;
-Landroid/location/FusedBatchOptions$BatchFlags;-><init>()V
-Landroid/location/FusedBatchOptions$BatchFlags;->CALLBACK_ON_LOCATION_FIX:I
-Landroid/location/FusedBatchOptions$BatchFlags;->WAKEUP_ON_FIFO_FULL:I
-Landroid/location/FusedBatchOptions$SourceTechnologies;
-Landroid/location/FusedBatchOptions$SourceTechnologies;-><init>()V
-Landroid/location/FusedBatchOptions$SourceTechnologies;->BLUETOOTH:I
-Landroid/location/FusedBatchOptions$SourceTechnologies;->CELL:I
-Landroid/location/FusedBatchOptions$SourceTechnologies;->GNSS:I
-Landroid/location/FusedBatchOptions$SourceTechnologies;->SENSORS:I
-Landroid/location/FusedBatchOptions$SourceTechnologies;->WIFI:I
-Landroid/location/FusedBatchOptions;
-Landroid/location/FusedBatchOptions;-><init>()V
-Landroid/location/FusedBatchOptions;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/location/FusedBatchOptions;->getFlags()I
-Landroid/location/FusedBatchOptions;->getMaxPowerAllocationInMW()D
-Landroid/location/FusedBatchOptions;->getPeriodInNS()J
-Landroid/location/FusedBatchOptions;->getSmallestDisplacementMeters()F
-Landroid/location/FusedBatchOptions;->getSourcesToUse()I
-Landroid/location/FusedBatchOptions;->isFlagSet(I)Z
-Landroid/location/FusedBatchOptions;->isSourceToUseSet(I)Z
-Landroid/location/FusedBatchOptions;->mFlags:I
-Landroid/location/FusedBatchOptions;->mMaxPowerAllocationInMW:D
-Landroid/location/FusedBatchOptions;->mPeriodInNS:J
-Landroid/location/FusedBatchOptions;->mSmallestDisplacementMeters:F
-Landroid/location/FusedBatchOptions;->mSourcesToUse:I
-Landroid/location/FusedBatchOptions;->resetFlag(I)V
-Landroid/location/FusedBatchOptions;->resetSourceToUse(I)V
-Landroid/location/FusedBatchOptions;->setFlag(I)V
-Landroid/location/FusedBatchOptions;->setMaxPowerAllocationInMW(D)V
-Landroid/location/FusedBatchOptions;->setPeriodInNS(J)V
-Landroid/location/FusedBatchOptions;->setSmallestDisplacementMeters(F)V
-Landroid/location/FusedBatchOptions;->setSourceToUse(I)V
-Landroid/location/Geocoder;->mParams:Landroid/location/GeocoderParams;
-Landroid/location/Geocoder;->mService:Landroid/location/ILocationManager;
-Landroid/location/Geocoder;->TAG:Ljava/lang/String;
-Landroid/location/GeocoderParams;
-Landroid/location/GeocoderParams;-><init>()V
-Landroid/location/GeocoderParams;-><init>(Landroid/content/Context;Ljava/util/Locale;)V
-Landroid/location/GeocoderParams;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/location/GeocoderParams;->mLocale:Ljava/util/Locale;
-Landroid/location/GeocoderParams;->mPackageName:Ljava/lang/String;
-Landroid/location/Geofence;
-Landroid/location/Geofence;-><init>(DDF)V
-Landroid/location/Geofence;->checkLatLong(DD)V
-Landroid/location/Geofence;->checkRadius(F)V
-Landroid/location/Geofence;->checkType(I)V
-Landroid/location/Geofence;->createCircle(DDF)Landroid/location/Geofence;
-Landroid/location/Geofence;->getLatitude()D
-Landroid/location/Geofence;->getLongitude()D
-Landroid/location/Geofence;->getRadius()F
-Landroid/location/Geofence;->getType()I
-Landroid/location/Geofence;->mLatitude:D
-Landroid/location/Geofence;->mLongitude:D
-Landroid/location/Geofence;->mRadius:F
-Landroid/location/Geofence;->mType:I
-Landroid/location/Geofence;->typeToString(I)Ljava/lang/String;
-Landroid/location/Geofence;->TYPE_HORIZONTAL_CIRCLE:I
-Landroid/location/GnssClock;->HAS_BIAS:I
-Landroid/location/GnssClock;->HAS_BIAS_UNCERTAINTY:I
-Landroid/location/GnssClock;->HAS_DRIFT:I
-Landroid/location/GnssClock;->HAS_DRIFT_UNCERTAINTY:I
-Landroid/location/GnssClock;->HAS_FULL_BIAS:I
-Landroid/location/GnssClock;->HAS_LEAP_SECOND:I
-Landroid/location/GnssClock;->HAS_NO_FLAGS:I
-Landroid/location/GnssClock;->HAS_TIME_UNCERTAINTY:I
-Landroid/location/GnssClock;->initialize()V
-Landroid/location/GnssClock;->isFlagSet(I)Z
-Landroid/location/GnssClock;->mBiasNanos:D
-Landroid/location/GnssClock;->mBiasUncertaintyNanos:D
-Landroid/location/GnssClock;->mDriftNanosPerSecond:D
-Landroid/location/GnssClock;->mDriftUncertaintyNanosPerSecond:D
-Landroid/location/GnssClock;->mFlags:I
-Landroid/location/GnssClock;->mFullBiasNanos:J
-Landroid/location/GnssClock;->mHardwareClockDiscontinuityCount:I
-Landroid/location/GnssClock;->mLeapSecond:I
-Landroid/location/GnssClock;->mTimeNanos:J
-Landroid/location/GnssClock;->mTimeUncertaintyNanos:D
-Landroid/location/GnssClock;->resetFlag(I)V
-Landroid/location/GnssClock;->setFlag(I)V
-Landroid/location/GnssMeasurement$AdrState;
-Landroid/location/GnssMeasurement$MultipathIndicator;
-Landroid/location/GnssMeasurement$State;
-Landroid/location/GnssMeasurement;->getAccumulatedDeltaRangeStateString()Ljava/lang/String;
-Landroid/location/GnssMeasurement;->getMultipathIndicatorString()Ljava/lang/String;
-Landroid/location/GnssMeasurement;->getStateString()Ljava/lang/String;
-Landroid/location/GnssMeasurement;->HAS_AUTOMATIC_GAIN_CONTROL:I
-Landroid/location/GnssMeasurement;->HAS_CARRIER_CYCLES:I
-Landroid/location/GnssMeasurement;->HAS_CARRIER_FREQUENCY:I
-Landroid/location/GnssMeasurement;->HAS_CARRIER_PHASE:I
-Landroid/location/GnssMeasurement;->HAS_CARRIER_PHASE_UNCERTAINTY:I
-Landroid/location/GnssMeasurement;->HAS_NO_FLAGS:I
-Landroid/location/GnssMeasurement;->HAS_SNR:I
-Landroid/location/GnssMeasurement;->initialize()V
-Landroid/location/GnssMeasurement;->isFlagSet(I)Z
-Landroid/location/GnssMeasurement;->mAccumulatedDeltaRangeMeters:D
-Landroid/location/GnssMeasurement;->mAccumulatedDeltaRangeState:I
-Landroid/location/GnssMeasurement;->mAccumulatedDeltaRangeUncertaintyMeters:D
-Landroid/location/GnssMeasurement;->mAutomaticGainControlLevelInDb:D
-Landroid/location/GnssMeasurement;->mCarrierCycles:J
-Landroid/location/GnssMeasurement;->mCarrierFrequencyHz:F
-Landroid/location/GnssMeasurement;->mCarrierPhase:D
-Landroid/location/GnssMeasurement;->mCarrierPhaseUncertainty:D
-Landroid/location/GnssMeasurement;->mCn0DbHz:D
-Landroid/location/GnssMeasurement;->mConstellationType:I
-Landroid/location/GnssMeasurement;->mFlags:I
-Landroid/location/GnssMeasurement;->mMultipathIndicator:I
-Landroid/location/GnssMeasurement;->mPseudorangeRateMetersPerSecond:D
-Landroid/location/GnssMeasurement;->mPseudorangeRateUncertaintyMetersPerSecond:D
-Landroid/location/GnssMeasurement;->mReceivedSvTimeNanos:J
-Landroid/location/GnssMeasurement;->mReceivedSvTimeUncertaintyNanos:J
-Landroid/location/GnssMeasurement;->mSnrInDb:D
-Landroid/location/GnssMeasurement;->mState:I
-Landroid/location/GnssMeasurement;->mSvid:I
-Landroid/location/GnssMeasurement;->mTimeOffsetNanos:D
-Landroid/location/GnssMeasurement;->resetFlag(I)V
-Landroid/location/GnssMeasurement;->setFlag(I)V
-Landroid/location/GnssMeasurement;->STATE_ALL:I
-Landroid/location/GnssMeasurementCallbackTransport$ListenerTransport;
-Landroid/location/GnssMeasurementCallbackTransport$ListenerTransport;-><init>()V
-Landroid/location/GnssMeasurementCallbackTransport$ListenerTransport;->onGnssMeasurementsReceived(Landroid/location/GnssMeasurementsEvent;)V
-Landroid/location/GnssMeasurementCallbackTransport$ListenerTransport;->onStatusChanged(I)V
-Landroid/location/GnssMeasurementCallbackTransport;
-Landroid/location/GnssMeasurementCallbackTransport;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
-Landroid/location/GnssMeasurementCallbackTransport;->mListenerTransport:Landroid/location/IGnssMeasurementsListener;
-Landroid/location/GnssMeasurementCallbackTransport;->mLocationManager:Landroid/location/ILocationManager;
-Landroid/location/GnssMeasurementCallbackTransport;->registerWithServer()Z
-Landroid/location/GnssMeasurementCallbackTransport;->unregisterFromServer()V
-Landroid/location/GnssMeasurementsEvent$Callback$GnssMeasurementsStatus;
-Landroid/location/GnssMeasurementsEvent;->mClock:Landroid/location/GnssClock;
-Landroid/location/GnssMeasurementsEvent;->mReadOnlyMeasurements:Ljava/util/Collection;
-Landroid/location/GnssNavigationMessage$Callback$GnssNavigationMessageStatus;
-Landroid/location/GnssNavigationMessage$GnssNavigationMessageType;
-Landroid/location/GnssNavigationMessage;->EMPTY_ARRAY:[B
-Landroid/location/GnssNavigationMessage;->getStatusString()Ljava/lang/String;
-Landroid/location/GnssNavigationMessage;->getTypeString()Ljava/lang/String;
-Landroid/location/GnssNavigationMessage;->initialize()V
-Landroid/location/GnssNavigationMessage;->mData:[B
-Landroid/location/GnssNavigationMessage;->mMessageId:I
-Landroid/location/GnssNavigationMessage;->mStatus:I
-Landroid/location/GnssNavigationMessage;->mSubmessageId:I
-Landroid/location/GnssNavigationMessage;->mSvid:I
-Landroid/location/GnssNavigationMessage;->mType:I
-Landroid/location/GnssNavigationMessageCallbackTransport$ListenerTransport;
-Landroid/location/GnssNavigationMessageCallbackTransport$ListenerTransport;-><init>()V
-Landroid/location/GnssNavigationMessageCallbackTransport$ListenerTransport;->onGnssNavigationMessageReceived(Landroid/location/GnssNavigationMessage;)V
-Landroid/location/GnssNavigationMessageCallbackTransport$ListenerTransport;->onStatusChanged(I)V
-Landroid/location/GnssNavigationMessageCallbackTransport;
-Landroid/location/GnssNavigationMessageCallbackTransport;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
-Landroid/location/GnssNavigationMessageCallbackTransport;->mListenerTransport:Landroid/location/IGnssNavigationMessageListener;
-Landroid/location/GnssNavigationMessageCallbackTransport;->mLocationManager:Landroid/location/ILocationManager;
-Landroid/location/GnssNavigationMessageCallbackTransport;->registerWithServer()Z
-Landroid/location/GnssNavigationMessageCallbackTransport;->unregisterFromServer()V
-Landroid/location/GnssStatus$ConstellationType;
-Landroid/location/GnssStatus;-><init>(I[I[F[F[F[F)V
-Landroid/location/GnssStatus;->CONSTELLATION_TYPE_MASK:I
-Landroid/location/GnssStatus;->CONSTELLATION_TYPE_SHIFT_WIDTH:I
-Landroid/location/GnssStatus;->GNSS_SV_FLAGS_HAS_ALMANAC_DATA:I
-Landroid/location/GnssStatus;->GNSS_SV_FLAGS_HAS_CARRIER_FREQUENCY:I
-Landroid/location/GnssStatus;->GNSS_SV_FLAGS_HAS_EPHEMERIS_DATA:I
-Landroid/location/GnssStatus;->GNSS_SV_FLAGS_NONE:I
-Landroid/location/GnssStatus;->GNSS_SV_FLAGS_USED_IN_FIX:I
-Landroid/location/GnssStatus;->mAzimuths:[F
-Landroid/location/GnssStatus;->mCarrierFrequencies:[F
-Landroid/location/GnssStatus;->mCn0DbHz:[F
-Landroid/location/GnssStatus;->mElevations:[F
-Landroid/location/GnssStatus;->mSvCount:I
-Landroid/location/GnssStatus;->mSvidWithFlags:[I
-Landroid/location/GnssStatus;->SVID_SHIFT_WIDTH:I
-Landroid/location/GpsClock;-><init>()V
-Landroid/location/GpsClock;->getTypeString()Ljava/lang/String;
-Landroid/location/GpsClock;->HAS_BIAS:S
-Landroid/location/GpsClock;->HAS_BIAS_UNCERTAINTY:S
-Landroid/location/GpsClock;->HAS_DRIFT:S
-Landroid/location/GpsClock;->HAS_DRIFT_UNCERTAINTY:S
-Landroid/location/GpsClock;->HAS_FULL_BIAS:S
-Landroid/location/GpsClock;->HAS_LEAP_SECOND:S
-Landroid/location/GpsClock;->HAS_NO_FLAGS:S
-Landroid/location/GpsClock;->HAS_TIME_UNCERTAINTY:S
-Landroid/location/GpsClock;->initialize()V
-Landroid/location/GpsClock;->isFlagSet(S)Z
-Landroid/location/GpsClock;->mBiasInNs:D
-Landroid/location/GpsClock;->mBiasUncertaintyInNs:D
-Landroid/location/GpsClock;->mDriftInNsPerSec:D
-Landroid/location/GpsClock;->mDriftUncertaintyInNsPerSec:D
-Landroid/location/GpsClock;->mFlags:S
-Landroid/location/GpsClock;->mFullBiasInNs:J
-Landroid/location/GpsClock;->mLeapSecond:S
-Landroid/location/GpsClock;->mTimeInNs:J
-Landroid/location/GpsClock;->mTimeUncertaintyInNs:D
-Landroid/location/GpsClock;->mType:B
-Landroid/location/GpsClock;->resetFlag(S)V
-Landroid/location/GpsClock;->setFlag(S)V
-Landroid/location/GpsMeasurement;-><init>()V
-Landroid/location/GpsMeasurement;->ADR_ALL:S
-Landroid/location/GpsMeasurement;->getAccumulatedDeltaRangeStateString()Ljava/lang/String;
-Landroid/location/GpsMeasurement;->getLossOfLockString()Ljava/lang/String;
-Landroid/location/GpsMeasurement;->getMultipathIndicatorString()Ljava/lang/String;
-Landroid/location/GpsMeasurement;->getStateString()Ljava/lang/String;
-Landroid/location/GpsMeasurement;->GPS_MEASUREMENT_HAS_UNCORRECTED_PSEUDORANGE_RATE:I
-Landroid/location/GpsMeasurement;->HAS_AZIMUTH:I
-Landroid/location/GpsMeasurement;->HAS_AZIMUTH_UNCERTAINTY:I
-Landroid/location/GpsMeasurement;->HAS_BIT_NUMBER:I
-Landroid/location/GpsMeasurement;->HAS_CARRIER_CYCLES:I
-Landroid/location/GpsMeasurement;->HAS_CARRIER_FREQUENCY:I
-Landroid/location/GpsMeasurement;->HAS_CARRIER_PHASE:I
-Landroid/location/GpsMeasurement;->HAS_CARRIER_PHASE_UNCERTAINTY:I
-Landroid/location/GpsMeasurement;->HAS_CODE_PHASE:I
-Landroid/location/GpsMeasurement;->HAS_CODE_PHASE_UNCERTAINTY:I
-Landroid/location/GpsMeasurement;->HAS_DOPPLER_SHIFT:I
-Landroid/location/GpsMeasurement;->HAS_DOPPLER_SHIFT_UNCERTAINTY:I
-Landroid/location/GpsMeasurement;->HAS_ELEVATION:I
-Landroid/location/GpsMeasurement;->HAS_ELEVATION_UNCERTAINTY:I
-Landroid/location/GpsMeasurement;->HAS_NO_FLAGS:I
-Landroid/location/GpsMeasurement;->HAS_PSEUDORANGE:I
-Landroid/location/GpsMeasurement;->HAS_PSEUDORANGE_UNCERTAINTY:I
-Landroid/location/GpsMeasurement;->HAS_SNR:I
-Landroid/location/GpsMeasurement;->HAS_TIME_FROM_LAST_BIT:I
-Landroid/location/GpsMeasurement;->HAS_USED_IN_FIX:I
-Landroid/location/GpsMeasurement;->initialize()V
-Landroid/location/GpsMeasurement;->isFlagSet(I)Z
-Landroid/location/GpsMeasurement;->mAccumulatedDeltaRangeInMeters:D
-Landroid/location/GpsMeasurement;->mAccumulatedDeltaRangeState:S
-Landroid/location/GpsMeasurement;->mAccumulatedDeltaRangeUncertaintyInMeters:D
-Landroid/location/GpsMeasurement;->mAzimuthInDeg:D
-Landroid/location/GpsMeasurement;->mAzimuthUncertaintyInDeg:D
-Landroid/location/GpsMeasurement;->mBitNumber:I
-Landroid/location/GpsMeasurement;->mCarrierCycles:J
-Landroid/location/GpsMeasurement;->mCarrierFrequencyInHz:F
-Landroid/location/GpsMeasurement;->mCarrierPhase:D
-Landroid/location/GpsMeasurement;->mCarrierPhaseUncertainty:D
-Landroid/location/GpsMeasurement;->mCn0InDbHz:D
-Landroid/location/GpsMeasurement;->mCodePhaseInChips:D
-Landroid/location/GpsMeasurement;->mCodePhaseUncertaintyInChips:D
-Landroid/location/GpsMeasurement;->mDopplerShiftInHz:D
-Landroid/location/GpsMeasurement;->mDopplerShiftUncertaintyInHz:D
-Landroid/location/GpsMeasurement;->mElevationInDeg:D
-Landroid/location/GpsMeasurement;->mElevationUncertaintyInDeg:D
-Landroid/location/GpsMeasurement;->mFlags:I
-Landroid/location/GpsMeasurement;->mLossOfLock:B
-Landroid/location/GpsMeasurement;->mMultipathIndicator:B
-Landroid/location/GpsMeasurement;->mPrn:B
-Landroid/location/GpsMeasurement;->mPseudorangeInMeters:D
-Landroid/location/GpsMeasurement;->mPseudorangeRateInMetersPerSec:D
-Landroid/location/GpsMeasurement;->mPseudorangeRateUncertaintyInMetersPerSec:D
-Landroid/location/GpsMeasurement;->mPseudorangeUncertaintyInMeters:D
-Landroid/location/GpsMeasurement;->mReceivedGpsTowInNs:J
-Landroid/location/GpsMeasurement;->mReceivedGpsTowUncertaintyInNs:J
-Landroid/location/GpsMeasurement;->mSnrInDb:D
-Landroid/location/GpsMeasurement;->mState:S
-Landroid/location/GpsMeasurement;->mTimeFromLastBitInMs:S
-Landroid/location/GpsMeasurement;->mTimeOffsetInNs:D
-Landroid/location/GpsMeasurement;->mUsedInFix:Z
-Landroid/location/GpsMeasurement;->resetFlag(I)V
-Landroid/location/GpsMeasurement;->setFlag(I)V
-Landroid/location/GpsMeasurement;->STATE_ALL:S
-Landroid/location/GpsMeasurementsEvent;->mClock:Landroid/location/GpsClock;
-Landroid/location/GpsMeasurementsEvent;->mReadOnlyMeasurements:Ljava/util/Collection;
-Landroid/location/GpsNavigationMessage;-><init>()V
-Landroid/location/GpsNavigationMessage;->EMPTY_ARRAY:[B
-Landroid/location/GpsNavigationMessage;->getStatusString()Ljava/lang/String;
-Landroid/location/GpsNavigationMessage;->getTypeString()Ljava/lang/String;
-Landroid/location/GpsNavigationMessage;->initialize()V
-Landroid/location/GpsNavigationMessage;->mData:[B
-Landroid/location/GpsNavigationMessage;->mMessageId:S
-Landroid/location/GpsNavigationMessage;->mPrn:B
-Landroid/location/GpsNavigationMessage;->mStatus:S
-Landroid/location/GpsNavigationMessage;->mSubmessageId:S
-Landroid/location/GpsNavigationMessage;->mType:B
-Landroid/location/GpsNavigationMessageEvent;->mNavigationMessage:Landroid/location/GpsNavigationMessage;
-Landroid/location/GpsSatellite;-><init>(I)V
-Landroid/location/GpsSatellite;->mAzimuth:F
-Landroid/location/GpsSatellite;->mElevation:F
-Landroid/location/GpsSatellite;->mHasAlmanac:Z
-Landroid/location/GpsSatellite;->mHasEphemeris:Z
-Landroid/location/GpsSatellite;->mPrn:I
-Landroid/location/GpsSatellite;->mSnr:F
-Landroid/location/GpsSatellite;->mUsedInFix:Z
-Landroid/location/GpsSatellite;->mValid:Z
-Landroid/location/GpsSatellite;->setStatus(Landroid/location/GpsSatellite;)V
-Landroid/location/GpsStatus$SatelliteIterator;
-Landroid/location/GpsStatus$SatelliteIterator;-><init>()V
-Landroid/location/GpsStatus$SatelliteIterator;->mIndex:I
-Landroid/location/GpsStatus$SatelliteIterator;->mSatellitesCount:I
-Landroid/location/GpsStatus;-><init>()V
-Landroid/location/GpsStatus;->BEIDOU_SVID_OFFSET:I
-Landroid/location/GpsStatus;->clearSatellites()V
-Landroid/location/GpsStatus;->GLONASS_SVID_OFFSET:I
-Landroid/location/GpsStatus;->mSatelliteList:Ljava/lang/Iterable;
-Landroid/location/GpsStatus;->mSatellites:Landroid/util/SparseArray;
-Landroid/location/GpsStatus;->mTimeToFirstFix:I
-Landroid/location/GpsStatus;->NUM_SATELLITES:I
-Landroid/location/GpsStatus;->SBAS_SVID_OFFSET:I
-Landroid/location/GpsStatus;->setStatus(I[I[F[F[F)V
-Landroid/location/GpsStatus;->setStatus(Landroid/location/GnssStatus;I)V
-Landroid/location/IBatchedLocationCallback$Stub$Proxy;
-Landroid/location/IBatchedLocationCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/location/IBatchedLocationCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/location/IBatchedLocationCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/location/IBatchedLocationCallback$Stub$Proxy;->onLocationBatch(Ljava/util/List;)V
-Landroid/location/IBatchedLocationCallback$Stub;
-Landroid/location/IBatchedLocationCallback$Stub;-><init>()V
-Landroid/location/IBatchedLocationCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/IBatchedLocationCallback;
-Landroid/location/IBatchedLocationCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/location/IBatchedLocationCallback$Stub;->TRANSACTION_onLocationBatch:I
-Landroid/location/IBatchedLocationCallback;
-Landroid/location/IBatchedLocationCallback;->onLocationBatch(Ljava/util/List;)V
-Landroid/location/ICountryDetector$Stub$Proxy;
-Landroid/location/ICountryDetector$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/location/ICountryDetector$Stub$Proxy;->addCountryListener(Landroid/location/ICountryListener;)V
-Landroid/location/ICountryDetector$Stub$Proxy;->detectCountry()Landroid/location/Country;
-Landroid/location/ICountryDetector$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/location/ICountryDetector$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/location/ICountryDetector$Stub$Proxy;->removeCountryListener(Landroid/location/ICountryListener;)V
-Landroid/location/ICountryDetector$Stub;
-Landroid/location/ICountryDetector$Stub;-><init>()V
-Landroid/location/ICountryDetector$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/location/ICountryDetector$Stub;->TRANSACTION_addCountryListener:I
-Landroid/location/ICountryDetector$Stub;->TRANSACTION_detectCountry:I
-Landroid/location/ICountryDetector$Stub;->TRANSACTION_removeCountryListener:I
-Landroid/location/ICountryDetector;
-Landroid/location/ICountryDetector;->addCountryListener(Landroid/location/ICountryListener;)V
-Landroid/location/ICountryDetector;->detectCountry()Landroid/location/Country;
-Landroid/location/ICountryDetector;->removeCountryListener(Landroid/location/ICountryListener;)V
-Landroid/location/ICountryListener$Stub$Proxy;
-Landroid/location/ICountryListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/location/ICountryListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/location/ICountryListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/location/ICountryListener$Stub$Proxy;->onCountryDetected(Landroid/location/Country;)V
-Landroid/location/ICountryListener$Stub;
-Landroid/location/ICountryListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ICountryListener;
-Landroid/location/ICountryListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/location/ICountryListener$Stub;->TRANSACTION_onCountryDetected:I
-Landroid/location/ICountryListener;
-Landroid/location/ICountryListener;->onCountryDetected(Landroid/location/Country;)V
-Landroid/location/IFusedGeofenceHardware$Stub$Proxy;
-Landroid/location/IFusedGeofenceHardware$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/location/IFusedGeofenceHardware$Stub$Proxy;->addGeofences([Landroid/hardware/location/GeofenceHardwareRequestParcelable;)V
-Landroid/location/IFusedGeofenceHardware$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/location/IFusedGeofenceHardware$Stub$Proxy;->isSupported()Z
-Landroid/location/IFusedGeofenceHardware$Stub$Proxy;->modifyGeofenceOptions(IIIIII)V
-Landroid/location/IFusedGeofenceHardware$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/location/IFusedGeofenceHardware$Stub$Proxy;->pauseMonitoringGeofence(I)V
-Landroid/location/IFusedGeofenceHardware$Stub$Proxy;->removeGeofences([I)V
-Landroid/location/IFusedGeofenceHardware$Stub$Proxy;->resumeMonitoringGeofence(II)V
-Landroid/location/IFusedGeofenceHardware$Stub;
-Landroid/location/IFusedGeofenceHardware$Stub;-><init>()V
-Landroid/location/IFusedGeofenceHardware$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/IFusedGeofenceHardware;
-Landroid/location/IFusedGeofenceHardware$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/location/IFusedGeofenceHardware$Stub;->TRANSACTION_addGeofences:I
-Landroid/location/IFusedGeofenceHardware$Stub;->TRANSACTION_isSupported:I
-Landroid/location/IFusedGeofenceHardware$Stub;->TRANSACTION_modifyGeofenceOptions:I
-Landroid/location/IFusedGeofenceHardware$Stub;->TRANSACTION_pauseMonitoringGeofence:I
-Landroid/location/IFusedGeofenceHardware$Stub;->TRANSACTION_removeGeofences:I
-Landroid/location/IFusedGeofenceHardware$Stub;->TRANSACTION_resumeMonitoringGeofence:I
-Landroid/location/IFusedGeofenceHardware;
-Landroid/location/IFusedGeofenceHardware;->addGeofences([Landroid/hardware/location/GeofenceHardwareRequestParcelable;)V
-Landroid/location/IFusedGeofenceHardware;->isSupported()Z
-Landroid/location/IFusedGeofenceHardware;->modifyGeofenceOptions(IIIIII)V
-Landroid/location/IFusedGeofenceHardware;->pauseMonitoringGeofence(I)V
-Landroid/location/IFusedGeofenceHardware;->removeGeofences([I)V
-Landroid/location/IFusedGeofenceHardware;->resumeMonitoringGeofence(II)V
-Landroid/location/IGeocodeProvider$Stub$Proxy;
-Landroid/location/IGeocodeProvider$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/location/IGeocodeProvider$Stub$Proxy;->getFromLocation(DDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String;
-Landroid/location/IGeocodeProvider$Stub$Proxy;->getFromLocationName(Ljava/lang/String;DDDDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String;
-Landroid/location/IGeocodeProvider$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/location/IGeocodeProvider$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/location/IGeocodeProvider$Stub;
-Landroid/location/IGeocodeProvider$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/location/IGeocodeProvider$Stub;->TRANSACTION_getFromLocation:I
-Landroid/location/IGeocodeProvider$Stub;->TRANSACTION_getFromLocationName:I
-Landroid/location/IGeocodeProvider;
-Landroid/location/IGeofenceProvider$Stub$Proxy;
-Landroid/location/IGeofenceProvider$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/location/IGeofenceProvider$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/location/IGeofenceProvider$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/location/IGeofenceProvider$Stub$Proxy;->setGeofenceHardware(Landroid/hardware/location/IGeofenceHardware;)V
-Landroid/location/IGeofenceProvider$Stub;
-Landroid/location/IGeofenceProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/IGeofenceProvider;
-Landroid/location/IGeofenceProvider$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/location/IGeofenceProvider$Stub;->TRANSACTION_setGeofenceHardware:I
-Landroid/location/IGeofenceProvider;
-Landroid/location/IGnssMeasurementsListener$Stub$Proxy;
-Landroid/location/IGnssMeasurementsListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/location/IGnssMeasurementsListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/location/IGnssMeasurementsListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/location/IGnssMeasurementsListener$Stub$Proxy;->onGnssMeasurementsReceived(Landroid/location/GnssMeasurementsEvent;)V
-Landroid/location/IGnssMeasurementsListener$Stub$Proxy;->onStatusChanged(I)V
-Landroid/location/IGnssMeasurementsListener$Stub;
-Landroid/location/IGnssMeasurementsListener$Stub;-><init>()V
-Landroid/location/IGnssMeasurementsListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/IGnssMeasurementsListener;
-Landroid/location/IGnssMeasurementsListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/location/IGnssMeasurementsListener$Stub;->TRANSACTION_onGnssMeasurementsReceived:I
-Landroid/location/IGnssMeasurementsListener$Stub;->TRANSACTION_onStatusChanged:I
-Landroid/location/IGnssMeasurementsListener;
-Landroid/location/IGnssMeasurementsListener;->onGnssMeasurementsReceived(Landroid/location/GnssMeasurementsEvent;)V
-Landroid/location/IGnssMeasurementsListener;->onStatusChanged(I)V
-Landroid/location/IGnssNavigationMessageListener$Stub$Proxy;
-Landroid/location/IGnssNavigationMessageListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/location/IGnssNavigationMessageListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/location/IGnssNavigationMessageListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/location/IGnssNavigationMessageListener$Stub$Proxy;->onGnssNavigationMessageReceived(Landroid/location/GnssNavigationMessage;)V
-Landroid/location/IGnssNavigationMessageListener$Stub$Proxy;->onStatusChanged(I)V
-Landroid/location/IGnssNavigationMessageListener$Stub;
-Landroid/location/IGnssNavigationMessageListener$Stub;-><init>()V
-Landroid/location/IGnssNavigationMessageListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/IGnssNavigationMessageListener;
-Landroid/location/IGnssNavigationMessageListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/location/IGnssNavigationMessageListener$Stub;->TRANSACTION_onGnssNavigationMessageReceived:I
-Landroid/location/IGnssNavigationMessageListener$Stub;->TRANSACTION_onStatusChanged:I
-Landroid/location/IGnssNavigationMessageListener;
-Landroid/location/IGnssNavigationMessageListener;->onGnssNavigationMessageReceived(Landroid/location/GnssNavigationMessage;)V
-Landroid/location/IGnssNavigationMessageListener;->onStatusChanged(I)V
-Landroid/location/IGnssStatusListener$Stub$Proxy;
-Landroid/location/IGnssStatusListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/location/IGnssStatusListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/location/IGnssStatusListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/location/IGnssStatusListener$Stub$Proxy;->onFirstFix(I)V
-Landroid/location/IGnssStatusListener$Stub$Proxy;->onGnssStarted()V
-Landroid/location/IGnssStatusListener$Stub$Proxy;->onGnssStopped()V
-Landroid/location/IGnssStatusListener$Stub$Proxy;->onNmeaReceived(JLjava/lang/String;)V
-Landroid/location/IGnssStatusListener$Stub$Proxy;->onSvStatusChanged(I[I[F[F[F[F)V
-Landroid/location/IGnssStatusListener$Stub;
-Landroid/location/IGnssStatusListener$Stub;-><init>()V
-Landroid/location/IGnssStatusListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/IGnssStatusListener;
-Landroid/location/IGnssStatusListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/location/IGnssStatusListener$Stub;->TRANSACTION_onFirstFix:I
-Landroid/location/IGnssStatusListener$Stub;->TRANSACTION_onGnssStarted:I
-Landroid/location/IGnssStatusListener$Stub;->TRANSACTION_onGnssStopped:I
-Landroid/location/IGnssStatusListener$Stub;->TRANSACTION_onNmeaReceived:I
-Landroid/location/IGnssStatusListener$Stub;->TRANSACTION_onSvStatusChanged:I
-Landroid/location/IGnssStatusListener;
-Landroid/location/IGnssStatusListener;->onFirstFix(I)V
-Landroid/location/IGnssStatusListener;->onGnssStarted()V
-Landroid/location/IGnssStatusListener;->onGnssStopped()V
-Landroid/location/IGnssStatusListener;->onNmeaReceived(JLjava/lang/String;)V
-Landroid/location/IGnssStatusListener;->onSvStatusChanged(I[I[F[F[F[F)V
-Landroid/location/IGnssStatusProvider$Stub$Proxy;
-Landroid/location/IGnssStatusProvider$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/location/IGnssStatusProvider$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/location/IGnssStatusProvider$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/location/IGnssStatusProvider$Stub$Proxy;->registerGnssStatusCallback(Landroid/location/IGnssStatusListener;)V
-Landroid/location/IGnssStatusProvider$Stub$Proxy;->unregisterGnssStatusCallback(Landroid/location/IGnssStatusListener;)V
-Landroid/location/IGnssStatusProvider$Stub;
-Landroid/location/IGnssStatusProvider$Stub;-><init>()V
-Landroid/location/IGnssStatusProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/IGnssStatusProvider;
-Landroid/location/IGnssStatusProvider$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/location/IGnssStatusProvider$Stub;->TRANSACTION_registerGnssStatusCallback:I
-Landroid/location/IGnssStatusProvider$Stub;->TRANSACTION_unregisterGnssStatusCallback:I
-Landroid/location/IGnssStatusProvider;
-Landroid/location/IGnssStatusProvider;->registerGnssStatusCallback(Landroid/location/IGnssStatusListener;)V
-Landroid/location/IGnssStatusProvider;->unregisterGnssStatusCallback(Landroid/location/IGnssStatusListener;)V
-Landroid/location/IGpsGeofenceHardware$Stub$Proxy;
-Landroid/location/IGpsGeofenceHardware$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/location/IGpsGeofenceHardware$Stub$Proxy;->addCircularHardwareGeofence(IDDDIIII)Z
-Landroid/location/IGpsGeofenceHardware$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/location/IGpsGeofenceHardware$Stub$Proxy;->isHardwareGeofenceSupported()Z
-Landroid/location/IGpsGeofenceHardware$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/location/IGpsGeofenceHardware$Stub$Proxy;->pauseHardwareGeofence(I)Z
-Landroid/location/IGpsGeofenceHardware$Stub$Proxy;->removeHardwareGeofence(I)Z
-Landroid/location/IGpsGeofenceHardware$Stub$Proxy;->resumeHardwareGeofence(II)Z
-Landroid/location/IGpsGeofenceHardware$Stub;
-Landroid/location/IGpsGeofenceHardware$Stub;-><init>()V
-Landroid/location/IGpsGeofenceHardware$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/IGpsGeofenceHardware;
-Landroid/location/IGpsGeofenceHardware$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/location/IGpsGeofenceHardware$Stub;->TRANSACTION_addCircularHardwareGeofence:I
-Landroid/location/IGpsGeofenceHardware$Stub;->TRANSACTION_isHardwareGeofenceSupported:I
-Landroid/location/IGpsGeofenceHardware$Stub;->TRANSACTION_pauseHardwareGeofence:I
-Landroid/location/IGpsGeofenceHardware$Stub;->TRANSACTION_removeHardwareGeofence:I
-Landroid/location/IGpsGeofenceHardware$Stub;->TRANSACTION_resumeHardwareGeofence:I
-Landroid/location/IGpsGeofenceHardware;
-Landroid/location/IGpsGeofenceHardware;->addCircularHardwareGeofence(IDDDIIII)Z
-Landroid/location/IGpsGeofenceHardware;->isHardwareGeofenceSupported()Z
-Landroid/location/IGpsGeofenceHardware;->pauseHardwareGeofence(I)Z
-Landroid/location/IGpsGeofenceHardware;->removeHardwareGeofence(I)Z
-Landroid/location/IGpsGeofenceHardware;->resumeHardwareGeofence(II)Z
-Landroid/location/ILocationListener$Stub$Proxy;
-Landroid/location/ILocationListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/location/ILocationListener$Stub$Proxy;->onLocationChanged(Landroid/location/Location;)V
-Landroid/location/ILocationListener$Stub$Proxy;->onProviderDisabled(Ljava/lang/String;)V
-Landroid/location/ILocationListener$Stub$Proxy;->onProviderEnabled(Ljava/lang/String;)V
-Landroid/location/ILocationListener$Stub$Proxy;->onStatusChanged(Ljava/lang/String;ILandroid/os/Bundle;)V
-Landroid/location/ILocationListener$Stub;
-Landroid/location/ILocationListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/location/ILocationListener$Stub;->TRANSACTION_onLocationChanged:I
-Landroid/location/ILocationListener$Stub;->TRANSACTION_onProviderDisabled:I
-Landroid/location/ILocationListener$Stub;->TRANSACTION_onProviderEnabled:I
-Landroid/location/ILocationListener$Stub;->TRANSACTION_onStatusChanged:I
-Landroid/location/ILocationListener;
-Landroid/location/ILocationManager$Stub$Proxy;
-Landroid/location/ILocationManager$Stub$Proxy;->addGnssBatchingCallback(Landroid/location/IBatchedLocationCallback;Ljava/lang/String;)Z
-Landroid/location/ILocationManager$Stub$Proxy;->addGnssMeasurementsListener(Landroid/location/IGnssMeasurementsListener;Ljava/lang/String;)Z
-Landroid/location/ILocationManager$Stub$Proxy;->addGnssNavigationMessageListener(Landroid/location/IGnssNavigationMessageListener;Ljava/lang/String;)Z
-Landroid/location/ILocationManager$Stub$Proxy;->addTestProvider(Ljava/lang/String;Lcom/android/internal/location/ProviderProperties;Ljava/lang/String;)V
-Landroid/location/ILocationManager$Stub$Proxy;->clearTestProviderEnabled(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/location/ILocationManager$Stub$Proxy;->clearTestProviderLocation(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/location/ILocationManager$Stub$Proxy;->clearTestProviderStatus(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/location/ILocationManager$Stub$Proxy;->flushGnssBatch(Ljava/lang/String;)V
-Landroid/location/ILocationManager$Stub$Proxy;->geocoderIsPresent()Z
-Landroid/location/ILocationManager$Stub$Proxy;->getAllProviders()Ljava/util/List;
-Landroid/location/ILocationManager$Stub$Proxy;->getBackgroundThrottlingWhitelist()[Ljava/lang/String;
-Landroid/location/ILocationManager$Stub$Proxy;->getBestProvider(Landroid/location/Criteria;Z)Ljava/lang/String;
-Landroid/location/ILocationManager$Stub$Proxy;->getFromLocation(DDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String;
-Landroid/location/ILocationManager$Stub$Proxy;->getFromLocationName(Ljava/lang/String;DDDDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String;
-Landroid/location/ILocationManager$Stub$Proxy;->getGnssBatchSize(Ljava/lang/String;)I
-Landroid/location/ILocationManager$Stub$Proxy;->getGnssHardwareModelName()Ljava/lang/String;
-Landroid/location/ILocationManager$Stub$Proxy;->getGnssYearOfHardware()I
-Landroid/location/ILocationManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/location/ILocationManager$Stub$Proxy;->getLastLocation(Landroid/location/LocationRequest;Ljava/lang/String;)Landroid/location/Location;
-Landroid/location/ILocationManager$Stub$Proxy;->getNetworkProviderPackage()Ljava/lang/String;
-Landroid/location/ILocationManager$Stub$Proxy;->getProviderProperties(Ljava/lang/String;)Lcom/android/internal/location/ProviderProperties;
-Landroid/location/ILocationManager$Stub$Proxy;->getProviders(Landroid/location/Criteria;Z)Ljava/util/List;
-Landroid/location/ILocationManager$Stub$Proxy;->injectLocation(Landroid/location/Location;)Z
-Landroid/location/ILocationManager$Stub$Proxy;->isLocationEnabledForUser(I)Z
-Landroid/location/ILocationManager$Stub$Proxy;->isProviderEnabledForUser(Ljava/lang/String;I)Z
-Landroid/location/ILocationManager$Stub$Proxy;->locationCallbackFinished(Landroid/location/ILocationListener;)V
-Landroid/location/ILocationManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/location/ILocationManager$Stub$Proxy;->providerMeetsCriteria(Ljava/lang/String;Landroid/location/Criteria;)Z
-Landroid/location/ILocationManager$Stub$Proxy;->registerGnssStatusCallback(Landroid/location/IGnssStatusListener;Ljava/lang/String;)Z
-Landroid/location/ILocationManager$Stub$Proxy;->removeGeofence(Landroid/location/Geofence;Landroid/app/PendingIntent;Ljava/lang/String;)V
-Landroid/location/ILocationManager$Stub$Proxy;->removeGnssBatchingCallback()V
-Landroid/location/ILocationManager$Stub$Proxy;->removeGnssMeasurementsListener(Landroid/location/IGnssMeasurementsListener;)V
-Landroid/location/ILocationManager$Stub$Proxy;->removeGnssNavigationMessageListener(Landroid/location/IGnssNavigationMessageListener;)V
-Landroid/location/ILocationManager$Stub$Proxy;->removeTestProvider(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/location/ILocationManager$Stub$Proxy;->removeUpdates(Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;)V
-Landroid/location/ILocationManager$Stub$Proxy;->reportLocation(Landroid/location/Location;Z)V
-Landroid/location/ILocationManager$Stub$Proxy;->reportLocationBatch(Ljava/util/List;)V
-Landroid/location/ILocationManager$Stub$Proxy;->requestGeofence(Landroid/location/LocationRequest;Landroid/location/Geofence;Landroid/app/PendingIntent;Ljava/lang/String;)V
-Landroid/location/ILocationManager$Stub$Proxy;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;)V
-Landroid/location/ILocationManager$Stub$Proxy;->sendExtraCommand(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Z
-Landroid/location/ILocationManager$Stub$Proxy;->sendNiResponse(II)Z
-Landroid/location/ILocationManager$Stub$Proxy;->setLocationEnabledForUser(ZI)V
-Landroid/location/ILocationManager$Stub$Proxy;->setProviderEnabledForUser(Ljava/lang/String;ZI)Z
-Landroid/location/ILocationManager$Stub$Proxy;->setTestProviderEnabled(Ljava/lang/String;ZLjava/lang/String;)V
-Landroid/location/ILocationManager$Stub$Proxy;->setTestProviderLocation(Ljava/lang/String;Landroid/location/Location;Ljava/lang/String;)V
-Landroid/location/ILocationManager$Stub$Proxy;->setTestProviderStatus(Ljava/lang/String;ILandroid/os/Bundle;JLjava/lang/String;)V
-Landroid/location/ILocationManager$Stub$Proxy;->startGnssBatch(JZLjava/lang/String;)Z
-Landroid/location/ILocationManager$Stub$Proxy;->stopGnssBatch()Z
-Landroid/location/ILocationManager$Stub$Proxy;->unregisterGnssStatusCallback(Landroid/location/IGnssStatusListener;)V
-Landroid/location/ILocationManager$Stub;
-Landroid/location/ILocationManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/location/ILocationManager$Stub;->TRANSACTION_addGnssBatchingCallback:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_addGnssMeasurementsListener:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_addGnssNavigationMessageListener:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_addTestProvider:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_clearTestProviderEnabled:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_clearTestProviderLocation:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_clearTestProviderStatus:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_flushGnssBatch:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_geocoderIsPresent:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_getBackgroundThrottlingWhitelist:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_getBestProvider:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_getFromLocation:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_getFromLocationName:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_getGnssBatchSize:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_getGnssHardwareModelName:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_getGnssYearOfHardware:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_getLastLocation:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_getNetworkProviderPackage:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_getProviderProperties:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_getProviders:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_injectLocation:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_isLocationEnabledForUser:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_isProviderEnabledForUser:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_locationCallbackFinished:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_providerMeetsCriteria:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_registerGnssStatusCallback:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_removeGeofence:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_removeGnssBatchingCallback:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_removeGnssMeasurementsListener:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_removeGnssNavigationMessageListener:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_removeTestProvider:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_removeUpdates:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_reportLocation:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_reportLocationBatch:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_requestGeofence:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_requestLocationUpdates:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_sendExtraCommand:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_sendNiResponse:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_setLocationEnabledForUser:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_setProviderEnabledForUser:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_setTestProviderEnabled:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_setTestProviderLocation:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_setTestProviderStatus:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_startGnssBatch:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_stopGnssBatch:I
-Landroid/location/ILocationManager$Stub;->TRANSACTION_unregisterGnssStatusCallback:I
-Landroid/location/ILocationManager;
-Landroid/location/ILocationManager;->addGnssBatchingCallback(Landroid/location/IBatchedLocationCallback;Ljava/lang/String;)Z
-Landroid/location/ILocationManager;->addGnssMeasurementsListener(Landroid/location/IGnssMeasurementsListener;Ljava/lang/String;)Z
-Landroid/location/ILocationManager;->addGnssNavigationMessageListener(Landroid/location/IGnssNavigationMessageListener;Ljava/lang/String;)Z
-Landroid/location/ILocationManager;->addTestProvider(Ljava/lang/String;Lcom/android/internal/location/ProviderProperties;Ljava/lang/String;)V
-Landroid/location/ILocationManager;->clearTestProviderEnabled(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/location/ILocationManager;->clearTestProviderLocation(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/location/ILocationManager;->clearTestProviderStatus(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/location/ILocationManager;->flushGnssBatch(Ljava/lang/String;)V
-Landroid/location/ILocationManager;->geocoderIsPresent()Z
-Landroid/location/ILocationManager;->getBackgroundThrottlingWhitelist()[Ljava/lang/String;
-Landroid/location/ILocationManager;->getBestProvider(Landroid/location/Criteria;Z)Ljava/lang/String;
-Landroid/location/ILocationManager;->getFromLocation(DDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String;
-Landroid/location/ILocationManager;->getFromLocationName(Ljava/lang/String;DDDDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String;
-Landroid/location/ILocationManager;->getGnssBatchSize(Ljava/lang/String;)I
-Landroid/location/ILocationManager;->getGnssHardwareModelName()Ljava/lang/String;
-Landroid/location/ILocationManager;->getGnssYearOfHardware()I
-Landroid/location/ILocationManager;->getLastLocation(Landroid/location/LocationRequest;Ljava/lang/String;)Landroid/location/Location;
-Landroid/location/ILocationManager;->getProviderProperties(Ljava/lang/String;)Lcom/android/internal/location/ProviderProperties;
-Landroid/location/ILocationManager;->getProviders(Landroid/location/Criteria;Z)Ljava/util/List;
-Landroid/location/ILocationManager;->injectLocation(Landroid/location/Location;)Z
-Landroid/location/ILocationManager;->isLocationEnabledForUser(I)Z
-Landroid/location/ILocationManager;->isProviderEnabledForUser(Ljava/lang/String;I)Z
-Landroid/location/ILocationManager;->locationCallbackFinished(Landroid/location/ILocationListener;)V
-Landroid/location/ILocationManager;->providerMeetsCriteria(Ljava/lang/String;Landroid/location/Criteria;)Z
-Landroid/location/ILocationManager;->registerGnssStatusCallback(Landroid/location/IGnssStatusListener;Ljava/lang/String;)Z
-Landroid/location/ILocationManager;->removeGeofence(Landroid/location/Geofence;Landroid/app/PendingIntent;Ljava/lang/String;)V
-Landroid/location/ILocationManager;->removeGnssBatchingCallback()V
-Landroid/location/ILocationManager;->removeGnssMeasurementsListener(Landroid/location/IGnssMeasurementsListener;)V
-Landroid/location/ILocationManager;->removeGnssNavigationMessageListener(Landroid/location/IGnssNavigationMessageListener;)V
-Landroid/location/ILocationManager;->removeTestProvider(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/location/ILocationManager;->removeUpdates(Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;)V
-Landroid/location/ILocationManager;->reportLocationBatch(Ljava/util/List;)V
-Landroid/location/ILocationManager;->requestGeofence(Landroid/location/LocationRequest;Landroid/location/Geofence;Landroid/app/PendingIntent;Ljava/lang/String;)V
-Landroid/location/ILocationManager;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;)V
-Landroid/location/ILocationManager;->sendExtraCommand(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Z
-Landroid/location/ILocationManager;->sendNiResponse(II)Z
-Landroid/location/ILocationManager;->setLocationEnabledForUser(ZI)V
-Landroid/location/ILocationManager;->setProviderEnabledForUser(Ljava/lang/String;ZI)Z
-Landroid/location/ILocationManager;->setTestProviderEnabled(Ljava/lang/String;ZLjava/lang/String;)V
-Landroid/location/ILocationManager;->setTestProviderLocation(Ljava/lang/String;Landroid/location/Location;Ljava/lang/String;)V
-Landroid/location/ILocationManager;->setTestProviderStatus(Ljava/lang/String;ILandroid/os/Bundle;JLjava/lang/String;)V
-Landroid/location/ILocationManager;->startGnssBatch(JZLjava/lang/String;)Z
-Landroid/location/ILocationManager;->stopGnssBatch()Z
-Landroid/location/ILocationManager;->unregisterGnssStatusCallback(Landroid/location/IGnssStatusListener;)V
-Landroid/location/INetInitiatedListener$Stub$Proxy;
-Landroid/location/INetInitiatedListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/location/INetInitiatedListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/location/INetInitiatedListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/location/INetInitiatedListener$Stub$Proxy;->sendNiResponse(II)Z
-Landroid/location/INetInitiatedListener$Stub;
-Landroid/location/INetInitiatedListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/INetInitiatedListener;
-Landroid/location/INetInitiatedListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/location/INetInitiatedListener$Stub;->TRANSACTION_sendNiResponse:I
-Landroid/location/INetInitiatedListener;
-Landroid/location/LocalListenerHelper$ListenerOperation;
-Landroid/location/LocalListenerHelper$ListenerOperation;->execute(Ljava/lang/Object;)V
-Landroid/location/LocalListenerHelper;
-Landroid/location/LocalListenerHelper;-><init>(Landroid/content/Context;Ljava/lang/String;)V
-Landroid/location/LocalListenerHelper;->add(Ljava/lang/Object;Landroid/os/Handler;)Z
-Landroid/location/LocalListenerHelper;->executeOperation(Landroid/location/LocalListenerHelper$ListenerOperation;Ljava/lang/Object;)V
-Landroid/location/LocalListenerHelper;->foreach(Landroid/location/LocalListenerHelper$ListenerOperation;)V
-Landroid/location/LocalListenerHelper;->getContext()Landroid/content/Context;
-Landroid/location/LocalListenerHelper;->mContext:Landroid/content/Context;
-Landroid/location/LocalListenerHelper;->mListeners:Ljava/util/HashMap;
-Landroid/location/LocalListenerHelper;->mTag:Ljava/lang/String;
-Landroid/location/LocalListenerHelper;->registerWithServer()Z
-Landroid/location/LocalListenerHelper;->remove(Ljava/lang/Object;)V
-Landroid/location/LocalListenerHelper;->unregisterFromServer()V
-Landroid/location/Location$BearingDistanceCache;
-Landroid/location/Location$BearingDistanceCache;-><init>()V
-Landroid/location/Location$BearingDistanceCache;->mDistance:F
-Landroid/location/Location$BearingDistanceCache;->mFinalBearing:F
-Landroid/location/Location$BearingDistanceCache;->mInitialBearing:F
-Landroid/location/Location$BearingDistanceCache;->mLat1:D
-Landroid/location/Location$BearingDistanceCache;->mLat2:D
-Landroid/location/Location$BearingDistanceCache;->mLon1:D
-Landroid/location/Location$BearingDistanceCache;->mLon2:D
-Landroid/location/Location;->computeDistanceAndBearing(DDDDLandroid/location/Location$BearingDistanceCache;)V
-Landroid/location/Location;->EXTRA_COARSE_LOCATION:Ljava/lang/String;
-Landroid/location/Location;->EXTRA_NO_GPS_LOCATION:Ljava/lang/String;
-Landroid/location/Location;->getExtraLocation(Ljava/lang/String;)Landroid/location/Location;
-Landroid/location/Location;->HAS_ALTITUDE_MASK:I
-Landroid/location/Location;->HAS_BEARING_ACCURACY_MASK:I
-Landroid/location/Location;->HAS_BEARING_MASK:I
-Landroid/location/Location;->HAS_HORIZONTAL_ACCURACY_MASK:I
-Landroid/location/Location;->HAS_MOCK_PROVIDER_MASK:I
-Landroid/location/Location;->HAS_SPEED_ACCURACY_MASK:I
-Landroid/location/Location;->HAS_SPEED_MASK:I
-Landroid/location/Location;->HAS_VERTICAL_ACCURACY_MASK:I
-Landroid/location/Location;->mAltitude:D
-Landroid/location/Location;->mBearing:F
-Landroid/location/Location;->mBearingAccuracyDegrees:F
-Landroid/location/Location;->mExtras:Landroid/os/Bundle;
-Landroid/location/Location;->mFieldsMask:B
-Landroid/location/Location;->mHorizontalAccuracyMeters:F
-Landroid/location/Location;->mLatitude:D
-Landroid/location/Location;->mLongitude:D
-Landroid/location/Location;->mSpeed:F
-Landroid/location/Location;->mSpeedAccuracyMetersPerSecond:F
-Landroid/location/Location;->mTime:J
-Landroid/location/Location;->mVerticalAccuracyMeters:F
-Landroid/location/Location;->sBearingDistanceCache:Ljava/lang/ThreadLocal;
-Landroid/location/LocationManager$GnssStatusListenerTransport$GnssHandler;
-Landroid/location/LocationManager$GnssStatusListenerTransport$GnssHandler;-><init>(Landroid/os/Handler;)V
-Landroid/location/LocationManager$GnssStatusListenerTransport$Nmea;
-Landroid/location/LocationManager$GnssStatusListenerTransport$Nmea;-><init>(JLjava/lang/String;)V
-Landroid/location/LocationManager$GnssStatusListenerTransport$Nmea;->mNmea:Ljava/lang/String;
-Landroid/location/LocationManager$GnssStatusListenerTransport$Nmea;->mTimestamp:J
-Landroid/location/LocationManager$GnssStatusListenerTransport;
-Landroid/location/LocationManager$GnssStatusListenerTransport;-><init>(Landroid/location/GnssStatus$Callback;)V
-Landroid/location/LocationManager$GnssStatusListenerTransport;-><init>(Landroid/location/GnssStatus$Callback;Landroid/os/Handler;)V
-Landroid/location/LocationManager$GnssStatusListenerTransport;-><init>(Landroid/location/GpsStatus$Listener;)V
-Landroid/location/LocationManager$GnssStatusListenerTransport;-><init>(Landroid/location/GpsStatus$Listener;Landroid/os/Handler;)V
-Landroid/location/LocationManager$GnssStatusListenerTransport;-><init>(Landroid/location/GpsStatus$NmeaListener;)V
-Landroid/location/LocationManager$GnssStatusListenerTransport;-><init>(Landroid/location/GpsStatus$NmeaListener;Landroid/os/Handler;)V
-Landroid/location/LocationManager$GnssStatusListenerTransport;-><init>(Landroid/location/OnNmeaMessageListener;)V
-Landroid/location/LocationManager$GnssStatusListenerTransport;-><init>(Landroid/location/OnNmeaMessageListener;Landroid/os/Handler;)V
-Landroid/location/LocationManager$GnssStatusListenerTransport;->mGnssCallback:Landroid/location/GnssStatus$Callback;
-Landroid/location/LocationManager$GnssStatusListenerTransport;->mGnssHandler:Landroid/os/Handler;
-Landroid/location/LocationManager$GnssStatusListenerTransport;->mGnssNmeaListener:Landroid/location/OnNmeaMessageListener;
-Landroid/location/LocationManager$GnssStatusListenerTransport;->mGpsListener:Landroid/location/GpsStatus$Listener;
-Landroid/location/LocationManager$GnssStatusListenerTransport;->mGpsNmeaListener:Landroid/location/GpsStatus$NmeaListener;
-Landroid/location/LocationManager$GnssStatusListenerTransport;->mNmeaBuffer:Ljava/util/ArrayList;
-Landroid/location/LocationManager$GnssStatusListenerTransport;->NMEA_RECEIVED:I
-Landroid/location/LocationManager$GnssStatusListenerTransport;->onFirstFix(I)V
-Landroid/location/LocationManager$GnssStatusListenerTransport;->onGnssStarted()V
-Landroid/location/LocationManager$GnssStatusListenerTransport;->onGnssStopped()V
-Landroid/location/LocationManager$GnssStatusListenerTransport;->onNmeaReceived(JLjava/lang/String;)V
-Landroid/location/LocationManager$GnssStatusListenerTransport;->onSvStatusChanged(I[I[F[F[F[F)V
-Landroid/location/LocationManager$ListenerTransport;
-Landroid/location/LocationManager$ListenerTransport;-><init>(Landroid/location/LocationListener;Landroid/os/Looper;)V
-Landroid/location/LocationManager$ListenerTransport;->mListener:Landroid/location/LocationListener;
-Landroid/location/LocationManager$ListenerTransport;->mListenerHandler:Landroid/os/Handler;
-Landroid/location/LocationManager$ListenerTransport;->onLocationChanged(Landroid/location/Location;)V
-Landroid/location/LocationManager$ListenerTransport;->onProviderDisabled(Ljava/lang/String;)V
-Landroid/location/LocationManager$ListenerTransport;->onProviderEnabled(Ljava/lang/String;)V
-Landroid/location/LocationManager$ListenerTransport;->onStatusChanged(Ljava/lang/String;ILandroid/os/Bundle;)V
-Landroid/location/LocationManager$ListenerTransport;->TYPE_LOCATION_CHANGED:I
-Landroid/location/LocationManager$ListenerTransport;->TYPE_PROVIDER_DISABLED:I
-Landroid/location/LocationManager$ListenerTransport;->TYPE_PROVIDER_ENABLED:I
-Landroid/location/LocationManager$ListenerTransport;->TYPE_STATUS_CHANGED:I
-Landroid/location/LocationManager$ListenerTransport;->_handleMessage(Landroid/os/Message;)V
-Landroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
-Landroid/location/LocationManager;->addGeofence(Landroid/location/LocationRequest;Landroid/location/Geofence;Landroid/app/PendingIntent;)V
-Landroid/location/LocationManager;->checkCriteria(Landroid/location/Criteria;)V
-Landroid/location/LocationManager;->checkGeofence(Landroid/location/Geofence;)V
-Landroid/location/LocationManager;->checkListener(Landroid/location/LocationListener;)V
-Landroid/location/LocationManager;->checkPendingIntent(Landroid/app/PendingIntent;)V
-Landroid/location/LocationManager;->checkProvider(Ljava/lang/String;)V
-Landroid/location/LocationManager;->createProvider(Ljava/lang/String;Lcom/android/internal/location/ProviderProperties;)Landroid/location/LocationProvider;
-Landroid/location/LocationManager;->EXTRA_GPS_ENABLED:Ljava/lang/String;
-Landroid/location/LocationManager;->FUSED_PROVIDER:Ljava/lang/String;
-Landroid/location/LocationManager;->getLastLocation()Landroid/location/Location;
-Landroid/location/LocationManager;->GPS_ENABLED_CHANGE_ACTION:Ljava/lang/String;
-Landroid/location/LocationManager;->GPS_FIX_CHANGE_ACTION:Ljava/lang/String;
-Landroid/location/LocationManager;->HIGH_POWER_REQUEST_CHANGE_ACTION:Ljava/lang/String;
-Landroid/location/LocationManager;->injectLocation(Landroid/location/Location;)Z
-Landroid/location/LocationManager;->mBatchedLocationCallbackTransport:Landroid/location/BatchedLocationCallbackTransport;
-Landroid/location/LocationManager;->mContext:Landroid/content/Context;
-Landroid/location/LocationManager;->METADATA_SETTINGS_FOOTER_STRING:Ljava/lang/String;
-Landroid/location/LocationManager;->mGnssMeasurementCallbackTransport:Landroid/location/GnssMeasurementCallbackTransport;
-Landroid/location/LocationManager;->mGnssNavigationMessageCallbackTransport:Landroid/location/GnssNavigationMessageCallbackTransport;
-Landroid/location/LocationManager;->mGnssNmeaListeners:Ljava/util/HashMap;
-Landroid/location/LocationManager;->mGnssStatus:Landroid/location/GnssStatus;
-Landroid/location/LocationManager;->mGnssStatusListeners:Ljava/util/HashMap;
-Landroid/location/LocationManager;->mGpsNmeaListeners:Ljava/util/HashMap;
-Landroid/location/LocationManager;->mGpsStatusListeners:Ljava/util/HashMap;
-Landroid/location/LocationManager;->mListeners:Ljava/util/HashMap;
-Landroid/location/LocationManager;->MODE_CHANGING_ACTION:Ljava/lang/String;
-Landroid/location/LocationManager;->mTimeToFirstFix:I
-Landroid/location/LocationManager;->removeAllGeofences(Landroid/app/PendingIntent;)V
-Landroid/location/LocationManager;->removeGeofence(Landroid/location/Geofence;Landroid/app/PendingIntent;)V
-Landroid/location/LocationManager;->SETTINGS_FOOTER_DISPLAYED_ACTION:Ljava/lang/String;
-Landroid/location/LocationManager;->SETTINGS_FOOTER_REMOVED_ACTION:Ljava/lang/String;
-Landroid/location/LocationManager;->TAG:Ljava/lang/String;
-Landroid/location/LocationManager;->wrapListener(Landroid/location/LocationListener;Landroid/os/Looper;)Landroid/location/LocationManager$ListenerTransport;
-Landroid/location/LocationProvider;-><init>(Ljava/lang/String;Lcom/android/internal/location/ProviderProperties;)V
-Landroid/location/LocationProvider;->BAD_CHARS_REGEX:Ljava/lang/String;
-Landroid/location/LocationProvider;->mName:Ljava/lang/String;
-Landroid/location/LocationProvider;->mProperties:Lcom/android/internal/location/ProviderProperties;
-Landroid/location/LocationProvider;->propertiesMeetCriteria(Ljava/lang/String;Lcom/android/internal/location/ProviderProperties;Landroid/location/Criteria;)Z
-Landroid/location/LocationRequest;-><init>()V
-Landroid/location/LocationRequest;-><init>(Landroid/location/LocationRequest;)V
-Landroid/location/LocationRequest;->decrementNumUpdates()V
-Landroid/location/LocationRequest;->FASTEST_INTERVAL_FACTOR:D
-Landroid/location/LocationRequest;->mLowPowerMode:Z
-Landroid/location/LocationRequest;->qualityToString(I)Ljava/lang/String;
-Landroid/location/SettingInjectorService;->ENABLED_KEY:Ljava/lang/String;
-Landroid/location/SettingInjectorService;->MESSENGER_KEY:Ljava/lang/String;
-Landroid/location/SettingInjectorService;->mName:Ljava/lang/String;
-Landroid/location/SettingInjectorService;->onHandleIntent(Landroid/content/Intent;)V
-Landroid/location/SettingInjectorService;->sendStatus(Landroid/content/Intent;Z)V
-Landroid/location/SettingInjectorService;->TAG:Ljava/lang/String;
-Landroid/Manifest$permission;->ACCESS_CONTENT_PROVIDERS_EXTERNALLY:Ljava/lang/String;
-Landroid/Manifest$permission;->ACCESS_IMS_CALL_SERVICE:Ljava/lang/String;
-Landroid/Manifest$permission;->ACCESS_INPUT_FLINGER:Ljava/lang/String;
-Landroid/Manifest$permission;->ACCESS_INSTANT_APPS:Ljava/lang/String;
-Landroid/Manifest$permission;->ACCESS_KEYGUARD_SECURE_STORAGE:Ljava/lang/String;
-Landroid/Manifest$permission;->ACCESS_LOWPAN_STATE:Ljava/lang/String;
-Landroid/Manifest$permission;->ACCESS_PDB_STATE:Ljava/lang/String;
-Landroid/Manifest$permission;->ACCESS_UCE_OPTIONS_SERVICE:Ljava/lang/String;
-Landroid/Manifest$permission;->ACCESS_UCE_PRESENCE_SERVICE:Ljava/lang/String;
-Landroid/Manifest$permission;->ACCESS_VOICE_INTERACTION_SERVICE:Ljava/lang/String;
-Landroid/Manifest$permission;->ACCESS_VR_MANAGER:Ljava/lang/String;
-Landroid/Manifest$permission;->ACCESS_VR_STATE:Ljava/lang/String;
-Landroid/Manifest$permission;->ACCESS_WIMAX_STATE:Ljava/lang/String;
-Landroid/Manifest$permission;->ASEC_ACCESS:Ljava/lang/String;
-Landroid/Manifest$permission;->ASEC_CREATE:Ljava/lang/String;
-Landroid/Manifest$permission;->ASEC_DESTROY:Ljava/lang/String;
-Landroid/Manifest$permission;->ASEC_MOUNT_UNMOUNT:Ljava/lang/String;
-Landroid/Manifest$permission;->ASEC_RENAME:Ljava/lang/String;
-Landroid/Manifest$permission;->AUTHENTICATE_ACCOUNTS:Ljava/lang/String;
-Landroid/Manifest$permission;->BIND_AUTOFILL:Ljava/lang/String;
-Landroid/Manifest$permission;->BIND_AUTOFILL_FIELD_CLASSIFICATION_SERVICE:Ljava/lang/String;
-Landroid/Manifest$permission;->BIND_CACHE_QUOTA_SERVICE:Ljava/lang/String;
-Landroid/Manifest$permission;->BIND_COMPANION_DEVICE_MANAGER_SERVICE:Ljava/lang/String;
-Landroid/Manifest$permission;->BIND_INTENT_FILTER_VERIFIER:Ljava/lang/String;
-Landroid/Manifest$permission;->BIND_JOB_SERVICE:Ljava/lang/String;
-Landroid/Manifest$permission;->BIND_PACKAGE_VERIFIER:Ljava/lang/String;
-Landroid/Manifest$permission;->BIND_PRINT_SPOOLER_SERVICE:Ljava/lang/String;
-Landroid/Manifest$permission;->BIND_REMOTE_DISPLAY:Ljava/lang/String;
-Landroid/Manifest$permission;->BIND_ROUTE_PROVIDER:Ljava/lang/String;
-Landroid/Manifest$permission;->BLUETOOTH_MAP:Ljava/lang/String;
-Landroid/Manifest$permission;->BLUETOOTH_STACK:Ljava/lang/String;
-Landroid/Manifest$permission;->C2D_MESSAGE:Ljava/lang/String;
-Landroid/Manifest$permission;->CACHE_CONTENT:Ljava/lang/String;
-Landroid/Manifest$permission;->CAMERA_SEND_SYSTEM_EVENTS:Ljava/lang/String;
-Landroid/Manifest$permission;->CARRIER_FILTER_SMS:Ljava/lang/String;
-Landroid/Manifest$permission;->CHANGE_ACCESSIBILITY_VOLUME:Ljava/lang/String;
-Landroid/Manifest$permission;->CHANGE_BACKGROUND_DATA_SETTING:Ljava/lang/String;
-Landroid/Manifest$permission;->CHANGE_HDMI_CEC_ACTIVE_SOURCE:Ljava/lang/String;
-Landroid/Manifest$permission;->CHANGE_LOWPAN_STATE:Ljava/lang/String;
-Landroid/Manifest$permission;->CHANGE_OVERLAY_PACKAGES:Ljava/lang/String;
-Landroid/Manifest$permission;->CHANGE_WIMAX_STATE:Ljava/lang/String;
-Landroid/Manifest$permission;->CLEAR_APP_GRANTED_URI_PERMISSIONS:Ljava/lang/String;
-Landroid/Manifest$permission;->CONFIGURE_DISPLAY_COLOR_MODE:Ljava/lang/String;
-Landroid/Manifest$permission;->CONFIGURE_WIFI_DISPLAY:Ljava/lang/String;
-Landroid/Manifest$permission;->CONFIRM_FULL_BACKUP:Ljava/lang/String;
-Landroid/Manifest$permission;->CONTROL_DISPLAY_BRIGHTNESS:Ljava/lang/String;
-Landroid/Manifest$permission;->CONTROL_KEYGUARD:Ljava/lang/String;
-Landroid/Manifest$permission;->CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS:Ljava/lang/String;
-Landroid/Manifest$permission;->CONTROL_WIFI_DISPLAY:Ljava/lang/String;
-Landroid/Manifest$permission;->COPY_PROTECTED_DATA:Ljava/lang/String;
-Landroid/Manifest$permission;->CREATE_USERS:Ljava/lang/String;
-Landroid/Manifest$permission;->DISABLE_HIDDEN_API_CHECKS:Ljava/lang/String;
-Landroid/Manifest$permission;->DISABLE_INPUT_DEVICE:Ljava/lang/String;
-Landroid/Manifest$permission;->DISPATCH_NFC_MESSAGE:Ljava/lang/String;
-Landroid/Manifest$permission;->DVB_DEVICE:Ljava/lang/String;
-Landroid/Manifest$permission;->FILTER_EVENTS:Ljava/lang/String;
-Landroid/Manifest$permission;->FLASHLIGHT:Ljava/lang/String;
-Landroid/Manifest$permission;->FORCE_PERSISTABLE_URI_PERMISSIONS:Ljava/lang/String;
-Landroid/Manifest$permission;->FRAME_STATS:Ljava/lang/String;
-Landroid/Manifest$permission;->FREEZE_SCREEN:Ljava/lang/String;
-Landroid/Manifest$permission;->GET_APP_GRANTED_URI_PERMISSIONS:Ljava/lang/String;
-Landroid/Manifest$permission;->GET_DETAILED_TASKS:Ljava/lang/String;
-Landroid/Manifest$permission;->GET_INTENT_SENDER_INTENT:Ljava/lang/String;
-Landroid/Manifest$permission;->GET_PASSWORD:Ljava/lang/String;
-Landroid/Manifest$permission;->GLOBAL_SEARCH_CONTROL:Ljava/lang/String;
-Landroid/Manifest$permission;->INTERNAL_DELETE_CACHE_FILES:Ljava/lang/String;
-Landroid/Manifest$permission;->LAUNCH_TRUST_AGENT_SETTINGS:Ljava/lang/String;
-Landroid/Manifest$permission;->MANAGE_ACCOUNTS:Ljava/lang/String;
-Landroid/Manifest$permission;->MANAGE_APP_OPS_MODES:Ljava/lang/String;
-Landroid/Manifest$permission;->MANAGE_AUDIO_POLICY:Ljava/lang/String;
-Landroid/Manifest$permission;->MANAGE_BIND_INSTANT_SERVICE:Ljava/lang/String;
-Landroid/Manifest$permission;->MANAGE_BLUETOOTH_WHEN_PERMISSION_REVIEW_REQUIRED:Ljava/lang/String;
-Landroid/Manifest$permission;->MANAGE_CAMERA:Ljava/lang/String;
-Landroid/Manifest$permission;->MANAGE_FINGERPRINT:Ljava/lang/String;
-Landroid/Manifest$permission;->MANAGE_LOWPAN_INTERFACES:Ljava/lang/String;
-Landroid/Manifest$permission;->MANAGE_MEDIA_PROJECTION:Ljava/lang/String;
-Landroid/Manifest$permission;->MANAGE_NETWORK_POLICY:Ljava/lang/String;
-Landroid/Manifest$permission;->MANAGE_NOTIFICATIONS:Ljava/lang/String;
-Landroid/Manifest$permission;->MANAGE_PROFILE_AND_DEVICE_OWNERS:Ljava/lang/String;
-Landroid/Manifest$permission;->MANAGE_SCOPED_ACCESS_DIRECTORY_PERMISSIONS:Ljava/lang/String;
-Landroid/Manifest$permission;->MANAGE_SENSORS:Ljava/lang/String;
-Landroid/Manifest$permission;->MANAGE_SLICE_PERMISSIONS:Ljava/lang/String;
-Landroid/Manifest$permission;->MANAGE_VOICE_KEYPHRASES:Ljava/lang/String;
-Landroid/Manifest$permission;->MANAGE_WIFI_WHEN_PERMISSION_REVIEW_REQUIRED:Ljava/lang/String;
-Landroid/Manifest$permission;->MODIFY_ACCESSIBILITY_DATA:Ljava/lang/String;
-Landroid/Manifest$permission;->MODIFY_THEME_OVERLAY:Ljava/lang/String;
-Landroid/Manifest$permission;->NETWORK_BYPASS_PRIVATE_DNS:Ljava/lang/String;
-Landroid/Manifest$permission;->NETWORK_SETTINGS:Ljava/lang/String;
-Landroid/Manifest$permission;->NETWORK_SETUP_WIZARD:Ljava/lang/String;
-Landroid/Manifest$permission;->NETWORK_STACK:Ljava/lang/String;
-Landroid/Manifest$permission;->NET_ADMIN:Ljava/lang/String;
-Landroid/Manifest$permission;->NET_TUNNELING:Ljava/lang/String;
-Landroid/Manifest$permission;->NFC_HANDOVER_STATUS:Ljava/lang/String;
-Landroid/Manifest$permission;->NOTIFY_PENDING_SYSTEM_UPDATE:Ljava/lang/String;
-Landroid/Manifest$permission;->OBSERVE_GRANT_REVOKE_PERMISSIONS:Ljava/lang/String;
-Landroid/Manifest$permission;->OEM_UNLOCK_STATE:Ljava/lang/String;
-Landroid/Manifest$permission;->OPEN_APPLICATION_DETAILS_OPEN_BY_DEFAULT_PAGE:Ljava/lang/String;
-Landroid/Manifest$permission;->PACKET_KEEPALIVE_OFFLOAD:Ljava/lang/String;
-Landroid/Manifest$permission;->QUERY_DO_NOT_ASK_CREDENTIALS_ON_BOOT:Ljava/lang/String;
-Landroid/Manifest$permission;->READ_BLOCKED_NUMBERS:Ljava/lang/String;
-Landroid/Manifest$permission;->READ_CELL_BROADCASTS:Ljava/lang/String;
-Landroid/Manifest$permission;->READ_HISTORY_BOOKMARKS:Ljava/lang/String;
-Landroid/Manifest$permission;->READ_LOWPAN_CREDENTIAL:Ljava/lang/String;
-Landroid/Manifest$permission;->READ_PRECISE_PHONE_STATE:Ljava/lang/String;
-Landroid/Manifest$permission;->READ_PROFILE:Ljava/lang/String;
-Landroid/Manifest$permission;->READ_SOCIAL_STREAM:Ljava/lang/String;
-Landroid/Manifest$permission;->READ_USER_DICTIONARY:Ljava/lang/String;
-Landroid/Manifest$permission;->RECEIVE_BLUETOOTH_MAP:Ljava/lang/String;
-Landroid/Manifest$permission;->RECEIVE_MEDIA_RESOURCE_USAGE:Ljava/lang/String;
-Landroid/Manifest$permission;->RECEIVE_STK_COMMANDS:Ljava/lang/String;
-Landroid/Manifest$permission;->REGISTER_WINDOW_MANAGER_LISTENERS:Ljava/lang/String;
-Landroid/Manifest$permission;->REMOTE_AUDIO_PLAYBACK:Ljava/lang/String;
-Landroid/Manifest$permission;->REMOVE_TASKS:Ljava/lang/String;
-Landroid/Manifest$permission;->REQUEST_NETWORK_SCORES:Ljava/lang/String;
-Landroid/Manifest$permission;->RESET_FINGERPRINT_LOCKOUT:Ljava/lang/String;
-Landroid/Manifest$permission;->RESET_SHORTCUT_MANAGER_THROTTLING:Ljava/lang/String;
-Landroid/Manifest$permission;->RETRIEVE_WINDOW_TOKEN:Ljava/lang/String;
-Landroid/Manifest$permission;->RUN_IN_BACKGROUND:Ljava/lang/String;
-Landroid/Manifest$permission;->SEND_EMBMS_INTENTS:Ljava/lang/String;
-Landroid/Manifest$permission;->SET_DISPLAY_OFFSET:Ljava/lang/String;
-Landroid/Manifest$permission;->SET_INPUT_CALIBRATION:Ljava/lang/String;
-Landroid/Manifest$permission;->SET_KEYBOARD_LAYOUT:Ljava/lang/String;
-Landroid/Manifest$permission;->START_ANY_ACTIVITY:Ljava/lang/String;
-Landroid/Manifest$permission;->START_TASKS_FROM_RECENTS:Ljava/lang/String;
-Landroid/Manifest$permission;->STATSCOMPANION:Ljava/lang/String;
-Landroid/Manifest$permission;->STATUS_BAR_SERVICE:Ljava/lang/String;
-Landroid/Manifest$permission;->STORAGE_INTERNAL:Ljava/lang/String;
-Landroid/Manifest$permission;->SUBSCRIBED_FEEDS_READ:Ljava/lang/String;
-Landroid/Manifest$permission;->SUBSCRIBED_FEEDS_WRITE:Ljava/lang/String;
-Landroid/Manifest$permission;->TABLET_MODE:Ljava/lang/String;
-Landroid/Manifest$permission;->TEMPORARY_ENABLE_ACCESSIBILITY:Ljava/lang/String;
-Landroid/Manifest$permission;->TEST_BLACKLISTED_PASSWORD:Ljava/lang/String;
-Landroid/Manifest$permission;->TRIGGER_TIME_ZONE_RULES_CHECK:Ljava/lang/String;
-Landroid/Manifest$permission;->TRUST_LISTENER:Ljava/lang/String;
-Landroid/Manifest$permission;->UPDATE_CONFIG:Ljava/lang/String;
-Landroid/Manifest$permission;->UPDATE_LOCK_TASK_PACKAGES:Ljava/lang/String;
-Landroid/Manifest$permission;->USE_COLORIZED_NOTIFICATIONS:Ljava/lang/String;
-Landroid/Manifest$permission;->USE_CREDENTIALS:Ljava/lang/String;
-Landroid/Manifest$permission;->USE_DATA_IN_BACKGROUND:Ljava/lang/String;
-Landroid/Manifest$permission;->VIEW_INSTANT_APPS:Ljava/lang/String;
-Landroid/Manifest$permission;->WATCH_APPOPS:Ljava/lang/String;
-Landroid/Manifest$permission;->WRITE_BLOCKED_NUMBERS:Ljava/lang/String;
-Landroid/Manifest$permission;->WRITE_HISTORY_BOOKMARKS:Ljava/lang/String;
-Landroid/Manifest$permission;->WRITE_PROFILE:Ljava/lang/String;
-Landroid/Manifest$permission;->WRITE_SMS:Ljava/lang/String;
-Landroid/Manifest$permission;->WRITE_SOCIAL_STREAM:Ljava/lang/String;
-Landroid/Manifest$permission;->WRITE_USER_DICTIONARY:Ljava/lang/String;
-Landroid/media/AmrInputStream;
-Landroid/media/AmrInputStream;->mBuf:[B
-Landroid/media/AmrInputStream;->mBufIn:I
-Landroid/media/AmrInputStream;->mBufOut:I
-Landroid/media/AmrInputStream;->mCodec:Landroid/media/MediaCodec;
-Landroid/media/AmrInputStream;->mInfo:Landroid/media/MediaCodec$BufferInfo;
-Landroid/media/AmrInputStream;->mInputStream:Ljava/io/InputStream;
-Landroid/media/AmrInputStream;->mOneByte:[B
-Landroid/media/AmrInputStream;->mSawInputEOS:Z
-Landroid/media/AmrInputStream;->mSawOutputEOS:Z
-Landroid/media/AmrInputStream;->SAMPLES_PER_FRAME:I
-Landroid/media/AmrInputStream;->TAG:Ljava/lang/String;
-Landroid/media/AsyncPlayer$Command;
-Landroid/media/AsyncPlayer$Command;-><init>()V
-Landroid/media/AsyncPlayer$Command;->attributes:Landroid/media/AudioAttributes;
-Landroid/media/AsyncPlayer$Command;->code:I
-Landroid/media/AsyncPlayer$Command;->context:Landroid/content/Context;
-Landroid/media/AsyncPlayer$Command;->looping:Z
-Landroid/media/AsyncPlayer$Command;->requestTime:J
-Landroid/media/AsyncPlayer$Command;->uri:Landroid/net/Uri;
-Landroid/media/AsyncPlayer$Thread;
-Landroid/media/AsyncPlayer$Thread;-><init>()V
-Landroid/media/AsyncPlayer;->acquireWakeLock()V
-Landroid/media/AsyncPlayer;->enqueueLocked(Landroid/media/AsyncPlayer$Command;)V
-Landroid/media/AsyncPlayer;->mCmdQueue:Ljava/util/LinkedList;
-Landroid/media/AsyncPlayer;->mDebug:Z
-Landroid/media/AsyncPlayer;->mPlayer:Landroid/media/MediaPlayer;
-Landroid/media/AsyncPlayer;->mState:I
-Landroid/media/AsyncPlayer;->mTag:Ljava/lang/String;
-Landroid/media/AsyncPlayer;->mThread:Landroid/media/AsyncPlayer$Thread;
-Landroid/media/AsyncPlayer;->mWakeLock:Landroid/os/PowerManager$WakeLock;
-Landroid/media/AsyncPlayer;->PLAY:I
-Landroid/media/AsyncPlayer;->releaseWakeLock()V
-Landroid/media/AsyncPlayer;->startSound(Landroid/media/AsyncPlayer$Command;)V
-Landroid/media/AsyncPlayer;->STOP:I
-Landroid/media/AudioAttributes$AttributeContentType;
-Landroid/media/AudioAttributes$AttributeUsage;
-Landroid/media/AudioAttributes$Builder;->mBundle:Landroid/os/Bundle;
-Landroid/media/AudioAttributes$Builder;->mContentType:I
-Landroid/media/AudioAttributes$Builder;->mFlags:I
-Landroid/media/AudioAttributes$Builder;->mSource:I
-Landroid/media/AudioAttributes$Builder;->mTags:Ljava/util/HashSet;
-Landroid/media/AudioAttributes$Builder;->mUsage:I
-Landroid/media/AudioAttributes$Builder;->replaceFlags(I)Landroid/media/AudioAttributes$Builder;
-Landroid/media/Audioattributes;
-Landroid/media/AudioAttributes;-><init>()V
-Landroid/media/Audioattributes;-><init>()V
-Landroid/media/AudioAttributes;-><init>(Landroid/os/Parcel;)V
-Landroid/media/Audioattributes;->ALARM:I
-Landroid/media/AudioAttributes;->ALL_PARCEL_FLAGS:I
-Landroid/media/Audioattributes;->ASSISTANCE_ACCESSIBILITY:I
-Landroid/media/Audioattributes;->ASSISTANCE_NAVIGATION_GUIDANCE:I
-Landroid/media/Audioattributes;->ASSISTANCE_SONIFICATION:I
-Landroid/media/Audioattributes;->ASSISTANT:I
-Landroid/media/AudioAttributes;->ATTR_PARCEL_IS_NULL_BUNDLE:I
-Landroid/media/AudioAttributes;->ATTR_PARCEL_IS_VALID_BUNDLE:I
-Landroid/media/AudioAttributes;->contentTypeToString()Ljava/lang/String;
-Landroid/media/Audioattributes;->CONTENT_TYPE_UNKNOWN:I
-Landroid/media/AudioAttributes;->FLAG_ALL:I
-Landroid/media/AudioAttributes;->FLAG_ALL_PUBLIC:I
-Landroid/media/AudioAttributes;->FLAG_DEEP_BUFFER:I
-Landroid/media/AudioAttributes;->FLAG_SCO:I
-Landroid/media/AudioAttributes;->FLAG_SECURE:I
-Landroid/media/AudioAttributes;->FLATTEN_TAGS:I
-Landroid/media/Audioattributes;->GAME:I
-Landroid/media/AudioAttributes;->getTags()Ljava/util/Set;
-Landroid/media/AudioAttributes;->mBundle:Landroid/os/Bundle;
-Landroid/media/Audioattributes;->MEDIA:I
-Landroid/media/Audioattributes;->MOVIE:I
-Landroid/media/AudioAttributes;->mTags:Ljava/util/HashSet;
-Landroid/media/Audioattributes;->MUSIC:I
-Landroid/media/Audioattributes;->NOTIFICATION:I
-Landroid/media/Audioattributes;->NOTIFICATION_COMMUNICATION_DELAYED:I
-Landroid/media/Audioattributes;->NOTIFICATION_COMMUNICATION_INSTANT:I
-Landroid/media/Audioattributes;->NOTIFICATION_COMMUNICATION_REQUEST:I
-Landroid/media/Audioattributes;->NOTIFICATION_EVENT:I
-Landroid/media/Audioattributes;->NOTIFICATION_RINGTONE:I
-Landroid/media/AudioAttributes;->SDK_USAGES:[I
-Landroid/media/Audioattributes;->SONIFICATION:I
-Landroid/media/Audioattributes;->SPEECH:I
-Landroid/media/AudioAttributes;->SUPPRESSIBLE_ALARM:I
-Landroid/media/AudioAttributes;->SUPPRESSIBLE_CALL:I
-Landroid/media/AudioAttributes;->SUPPRESSIBLE_MEDIA:I
-Landroid/media/AudioAttributes;->SUPPRESSIBLE_NEVER:I
-Landroid/media/AudioAttributes;->SUPPRESSIBLE_NOTIFICATION:I
-Landroid/media/AudioAttributes;->SUPPRESSIBLE_SYSTEM:I
-Landroid/media/AudioAttributes;->SUPPRESSIBLE_USAGES:Landroid/util/SparseIntArray;
-Landroid/media/AudioAttributes;->TAG:Ljava/lang/String;
-Landroid/media/AudioAttributes;->toVolumeStreamType(ZLandroid/media/AudioAttributes;)I
-Landroid/media/AudioAttributes;->usageForStreamType(I)I
-Landroid/media/AudioAttributes;->usageToString()Ljava/lang/String;
-Landroid/media/AudioAttributes;->usageToString(I)Ljava/lang/String;
-Landroid/media/Audioattributes;->USAGE_UNKNOWN:I
-Landroid/media/AudioAttributes;->USAGE_VIRTUAL_SOURCE:I
-Landroid/media/Audioattributes;->VIRTUAL_SOURCE:I
-Landroid/media/Audioattributes;->VOICE_COMMUNICATION:I
-Landroid/media/Audioattributes;->VOICE_COMMUNICATION_SIGNALLING:I
-Landroid/media/AudioAttributes;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/media/AudioAttributesProto;
-Landroid/media/AudioAttributesProto;-><init>()V
-Landroid/media/AudioAttributesProto;->CONTENT_TYPE:J
-Landroid/media/AudioAttributesProto;->FLAGS:J
-Landroid/media/AudioAttributesProto;->TAGS:J
-Landroid/media/AudioAttributesProto;->USAGE:J
-Landroid/media/AudioDeviceInfo$AudioDeviceTypeOut;
-Landroid/media/AudioDeviceInfo;-><init>(Landroid/media/AudioDevicePort;)V
-Landroid/media/AudioDeviceInfo;->convertDeviceTypeToInternalDevice(I)I
-Landroid/media/AudioDeviceInfo;->convertInternalDeviceToDeviceType(I)I
-Landroid/media/AudioDeviceInfo;->EXT_TO_INT_DEVICE_MAPPING:Landroid/util/SparseIntArray;
-Landroid/media/AudioDeviceInfo;->getPort()Landroid/media/AudioDevicePort;
-Landroid/media/AudioDeviceInfo;->INT_TO_EXT_DEVICE_MAPPING:Landroid/util/SparseIntArray;
-Landroid/media/AudioDeviceInfo;->isValidAudioDeviceTypeOut(I)Z
-Landroid/media/AudioDeviceInfo;->mPort:Landroid/media/AudioDevicePort;
-Landroid/media/AudioDevicePort;
-Landroid/media/AudioDevicePort;->address()Ljava/lang/String;
-Landroid/media/AudioDevicePort;->buildConfig(IIILandroid/media/AudioGainConfig;)Landroid/media/AudioDevicePortConfig;
-Landroid/media/AudioDevicePort;->mAddress:Ljava/lang/String;
-Landroid/media/AudioDevicePort;->mType:I
-Landroid/media/AudioDevicePortConfig;
-Landroid/media/AudioDevicePortConfig;-><init>(Landroid/media/AudioDevicePortConfig;)V
-Landroid/media/AudioDevicePortConfig;->port()Landroid/media/AudioDevicePort;
-Landroid/media/AudioFocusInfo;-><init>(Landroid/media/AudioAttributes;ILjava/lang/String;Ljava/lang/String;IIII)V
-Landroid/media/AudioFocusInfo;->clearLossReceived()V
-Landroid/media/AudioFocusInfo;->getGen()J
-Landroid/media/AudioFocusInfo;->getSdkTarget()I
-Landroid/media/AudioFocusInfo;->mAttributes:Landroid/media/AudioAttributes;
-Landroid/media/AudioFocusInfo;->mClientId:Ljava/lang/String;
-Landroid/media/AudioFocusInfo;->mClientUid:I
-Landroid/media/AudioFocusInfo;->mFlags:I
-Landroid/media/AudioFocusInfo;->mGainRequest:I
-Landroid/media/AudioFocusInfo;->mGenCount:J
-Landroid/media/AudioFocusInfo;->mLossReceived:I
-Landroid/media/AudioFocusInfo;->mPackageName:Ljava/lang/String;
-Landroid/media/AudioFocusInfo;->mSdkTarget:I
-Landroid/media/AudioFocusInfo;->setGen(J)V
-Landroid/media/AudioFocusRequest$Builder;->mA11yForceDucking:Z
-Landroid/media/AudioFocusRequest$Builder;->mAttr:Landroid/media/AudioAttributes;
-Landroid/media/AudioFocusRequest$Builder;->mDelayedFocus:Z
-Landroid/media/AudioFocusRequest$Builder;->mFocusGain:I
-Landroid/media/AudioFocusRequest$Builder;->mFocusListener:Landroid/media/AudioManager$OnAudioFocusChangeListener;
-Landroid/media/AudioFocusRequest$Builder;->mFocusLocked:Z
-Landroid/media/AudioFocusRequest$Builder;->mListenerHandler:Landroid/os/Handler;
-Landroid/media/AudioFocusRequest$Builder;->mPausesOnDuck:Z
-Landroid/media/AudioFocusRequest$Builder;->setOnAudioFocusChangeListenerInt(Landroid/media/AudioManager$OnAudioFocusChangeListener;Landroid/os/Handler;)Landroid/media/AudioFocusRequest$Builder;
-Landroid/media/AudioFocusRequest;-><init>(Landroid/media/AudioManager$OnAudioFocusChangeListener;Landroid/os/Handler;Landroid/media/AudioAttributes;II)V
-Landroid/media/AudioFocusRequest;->FOCUS_DEFAULT_ATTR:Landroid/media/AudioAttributes;
-Landroid/media/AudioFocusRequest;->getFlags()I
-Landroid/media/AudioFocusRequest;->getOnAudioFocusChangeListenerHandler()Landroid/os/Handler;
-Landroid/media/AudioFocusRequest;->isValidFocusGain(I)Z
-Landroid/media/AudioFocusRequest;->KEY_ACCESSIBILITY_FORCE_FOCUS_DUCKING:Ljava/lang/String;
-Landroid/media/AudioFocusRequest;->mAttr:Landroid/media/AudioAttributes;
-Landroid/media/AudioFocusRequest;->mFlags:I
-Landroid/media/AudioFocusRequest;->mFocusGain:I
-Landroid/media/AudioFocusRequest;->mFocusListener:Landroid/media/AudioManager$OnAudioFocusChangeListener;
-Landroid/media/AudioFocusRequest;->mListenerHandler:Landroid/os/Handler;
-Landroid/media/AudioFormat$Builder;->mChannelIndexMask:I
-Landroid/media/AudioFormat$Builder;->mChannelMask:I
-Landroid/media/AudioFormat$Builder;->mEncoding:I
-Landroid/media/AudioFormat$Builder;->mPropertySetMask:I
-Landroid/media/AudioFormat$Builder;->mSampleRate:I
-Landroid/media/AudioFormat$Encoding;
-Landroid/media/AudioFormat$SurroundSoundEncoding;
-Landroid/media/AudioFormat;-><init>(I)V
-Landroid/media/AudioFormat;-><init>(Landroid/os/Parcel;)V
-Landroid/media/AudioFormat;->AUDIO_FORMAT_HAS_PROPERTY_CHANNEL_INDEX_MASK:I
-Landroid/media/AudioFormat;->AUDIO_FORMAT_HAS_PROPERTY_CHANNEL_MASK:I
-Landroid/media/AudioFormat;->AUDIO_FORMAT_HAS_PROPERTY_ENCODING:I
-Landroid/media/AudioFormat;->AUDIO_FORMAT_HAS_PROPERTY_NONE:I
-Landroid/media/AudioFormat;->AUDIO_FORMAT_HAS_PROPERTY_SAMPLE_RATE:I
-Landroid/media/AudioFormat;->CHANNEL_IN_FRONT_BACK:I
-Landroid/media/AudioFormat;->CHANNEL_OUT_5POINT1_SIDE:I
-Landroid/media/AudioFormat;->CHANNEL_OUT_QUAD_SIDE:I
-Landroid/media/AudioFormat;->CHANNEL_OUT_TOP_BACK_CENTER:I
-Landroid/media/AudioFormat;->CHANNEL_OUT_TOP_BACK_LEFT:I
-Landroid/media/AudioFormat;->CHANNEL_OUT_TOP_BACK_RIGHT:I
-Landroid/media/AudioFormat;->CHANNEL_OUT_TOP_CENTER:I
-Landroid/media/AudioFormat;->CHANNEL_OUT_TOP_FRONT_CENTER:I
-Landroid/media/AudioFormat;->CHANNEL_OUT_TOP_FRONT_LEFT:I
-Landroid/media/AudioFormat;->CHANNEL_OUT_TOP_FRONT_RIGHT:I
-Landroid/media/AudioFormat;->convertChannelOutMaskToNativeMask(I)I
-Landroid/media/AudioFormat;->convertNativeChannelMaskToOutMask(I)I
-Landroid/media/AudioFormat;->filterPublicFormats([I)[I
-Landroid/media/AudioFormat;->getPropertySetMask()I
-Landroid/media/AudioFormat;->inChannelMaskFromOutChannelMask(I)I
-Landroid/media/AudioFormat;->isEncodingLinearFrames(I)Z
-Landroid/media/AudioFormat;->isPublicEncoding(I)Z
-Landroid/media/AudioFormat;->isValidEncoding(I)Z
-Landroid/media/AudioFormat;->mChannelIndexMask:I
-Landroid/media/AudioFormat;->mPropertySetMask:I
-Landroid/media/AudioFormat;->SAMPLE_RATE_HZ_MAX:I
-Landroid/media/AudioFormat;->SAMPLE_RATE_HZ_MIN:I
-Landroid/media/AudioFormat;->SURROUND_SOUND_ENCODING:[I
-Landroid/media/AudioFormat;->toDisplayName(I)Ljava/lang/String;
-Landroid/media/AudioFormat;->toLogFriendlyEncoding(I)Ljava/lang/String;
-Landroid/media/AudioFormat;->toLogFriendlyString()Ljava/lang/String;
-Landroid/media/audiofx/AcousticEchoCanceler;-><init>(I)V
-Landroid/media/audiofx/AcousticEchoCanceler;->TAG:Ljava/lang/String;
-Landroid/media/audiofx/AudioEffect$NativeEventHandler;
-Landroid/media/audiofx/AudioEffect$NativeEventHandler;-><init>(Landroid/media/audiofx/AudioEffect;Landroid/os/Looper;)V
-Landroid/media/audiofx/AudioEffect$NativeEventHandler;->mAudioEffect:Landroid/media/audiofx/AudioEffect;
-Landroid/media/audiofx/AudioEffect;->byteArrayToFloat([B)F
-Landroid/media/audiofx/AudioEffect;->byteArrayToFloat([BI)F
-Landroid/media/audiofx/AudioEffect;->byteArrayToInt([BI)I
-Landroid/media/audiofx/AudioEffect;->byteArrayToShort([BI)S
-Landroid/media/audiofx/AudioEffect;->checkStatus(I)V
-Landroid/media/audiofx/AudioEffect;->concatArrays([[[B)[B
-Landroid/media/audiofx/AudioEffect;->createNativeEventHandler()V
-Landroid/media/audiofx/AudioEffect;->EFFECT_PRE_PROCESSING:Ljava/lang/String;
-Landroid/media/audiofx/AudioEffect;->floatToByteArray(F)[B
-Landroid/media/audiofx/AudioEffect;->mControlChangeStatusListener:Landroid/media/audiofx/AudioEffect$OnControlStatusChangeListener;
-Landroid/media/audiofx/AudioEffect;->mDescriptor:Landroid/media/audiofx/AudioEffect$Descriptor;
-Landroid/media/audiofx/AudioEffect;->mEnableStatusChangeListener:Landroid/media/audiofx/AudioEffect$OnEnableStatusChangeListener;
-Landroid/media/audiofx/AudioEffect;->mId:I
-Landroid/media/audiofx/AudioEffect;->mJniData:J
-Landroid/media/audiofx/AudioEffect;->mListenerLock:Ljava/lang/Object;
-Landroid/media/audiofx/AudioEffect;->mNativeAudioEffect:J
-Landroid/media/audiofx/AudioEffect;->mNativeEventHandler:Landroid/media/audiofx/AudioEffect$NativeEventHandler;
-Landroid/media/audiofx/AudioEffect;->mParameterChangeListener:Landroid/media/audiofx/AudioEffect$OnParameterChangeListener;
-Landroid/media/audiofx/AudioEffect;->mState:I
-Landroid/media/audiofx/AudioEffect;->mStateLock:Ljava/lang/Object;
-Landroid/media/audiofx/AudioEffect;->native_command(II[BI[B)I
-Landroid/media/audiofx/AudioEffect;->NATIVE_EVENT_CONTROL_STATUS:I
-Landroid/media/audiofx/AudioEffect;->NATIVE_EVENT_ENABLED_STATUS:I
-Landroid/media/audiofx/AudioEffect;->NATIVE_EVENT_PARAMETER_CHANGED:I
-Landroid/media/audiofx/AudioEffect;->native_finalize()V
-Landroid/media/audiofx/AudioEffect;->native_getEnabled()Z
-Landroid/media/audiofx/AudioEffect;->native_getParameter(I[BI[B)I
-Landroid/media/audiofx/AudioEffect;->native_hasControl()Z
-Landroid/media/audiofx/AudioEffect;->native_init()V
-Landroid/media/audiofx/AudioEffect;->native_query_effects()[Ljava/lang/Object;
-Landroid/media/audiofx/AudioEffect;->native_query_pre_processing(I)[Ljava/lang/Object;
-Landroid/media/audiofx/AudioEffect;->native_release()V
-Landroid/media/audiofx/AudioEffect;->native_setEnabled(Z)I
-Landroid/media/audiofx/AudioEffect;->native_setParameter(I[BI[B)I
-Landroid/media/audiofx/AudioEffect;->native_setup(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;II[I[Ljava/lang/Object;Ljava/lang/String;)I
-Landroid/media/audiofx/AudioEffect;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
-Landroid/media/audiofx/AudioEffect;->queryPreProcessings(I)[Landroid/media/audiofx/AudioEffect$Descriptor;
-Landroid/media/audiofx/AudioEffect;->STATE_INITIALIZED:I
-Landroid/media/audiofx/AudioEffect;->STATE_UNINITIALIZED:I
-Landroid/media/audiofx/AudioEffect;->TAG:Ljava/lang/String;
-Landroid/media/audiofx/AutomaticGainControl;-><init>(I)V
-Landroid/media/audiofx/AutomaticGainControl;->TAG:Ljava/lang/String;
-Landroid/media/audiofx/BassBoost$BaseParameterListener;
-Landroid/media/audiofx/BassBoost$BaseParameterListener;-><init>()V
-Landroid/media/audiofx/BassBoost;->mBaseParamListener:Landroid/media/audiofx/BassBoost$BaseParameterListener;
-Landroid/media/audiofx/BassBoost;->mParamListener:Landroid/media/audiofx/BassBoost$OnParameterChangeListener;
-Landroid/media/audiofx/BassBoost;->mParamListenerLock:Ljava/lang/Object;
-Landroid/media/audiofx/BassBoost;->mStrengthSupported:Z
-Landroid/media/audiofx/BassBoost;->TAG:Ljava/lang/String;
-Landroid/media/audiofx/DynamicsProcessing$BandBase;->mCutoffFrequency:F
-Landroid/media/audiofx/DynamicsProcessing$BandBase;->mEnabled:Z
-Landroid/media/audiofx/DynamicsProcessing$BandStage;->mBandCount:I
-Landroid/media/audiofx/DynamicsProcessing$BaseParameterListener;
-Landroid/media/audiofx/DynamicsProcessing$BaseParameterListener;-><init>()V
-Landroid/media/audiofx/DynamicsProcessing$Channel;->mInputGain:F
-Landroid/media/audiofx/DynamicsProcessing$Channel;->mLimiter:Landroid/media/audiofx/DynamicsProcessing$Limiter;
-Landroid/media/audiofx/DynamicsProcessing$Channel;->mMbc:Landroid/media/audiofx/DynamicsProcessing$Mbc;
-Landroid/media/audiofx/DynamicsProcessing$Channel;->mPostEq:Landroid/media/audiofx/DynamicsProcessing$Eq;
-Landroid/media/audiofx/DynamicsProcessing$Channel;->mPreEq:Landroid/media/audiofx/DynamicsProcessing$Eq;
-Landroid/media/audiofx/DynamicsProcessing$Config$Builder;->checkChannel(I)V
-Landroid/media/audiofx/DynamicsProcessing$Config$Builder;->mChannel:[Landroid/media/audiofx/DynamicsProcessing$Channel;
-Landroid/media/audiofx/DynamicsProcessing$Config$Builder;->mChannelCount:I
-Landroid/media/audiofx/DynamicsProcessing$Config$Builder;->mLimiterInUse:Z
-Landroid/media/audiofx/DynamicsProcessing$Config$Builder;->mMbcBandCount:I
-Landroid/media/audiofx/DynamicsProcessing$Config$Builder;->mMbcInUse:Z
-Landroid/media/audiofx/DynamicsProcessing$Config$Builder;->mPostEqBandCount:I
-Landroid/media/audiofx/DynamicsProcessing$Config$Builder;->mPostEqInUse:Z
-Landroid/media/audiofx/DynamicsProcessing$Config$Builder;->mPreEqBandCount:I
-Landroid/media/audiofx/DynamicsProcessing$Config$Builder;->mPreEqInUse:Z
-Landroid/media/audiofx/DynamicsProcessing$Config$Builder;->mPreferredFrameDuration:F
-Landroid/media/audiofx/DynamicsProcessing$Config$Builder;->mVariant:I
-Landroid/media/audiofx/DynamicsProcessing$Config;-><init>(IFIZIZIZIZ[Landroid/media/audiofx/DynamicsProcessing$Channel;)V
-Landroid/media/audiofx/DynamicsProcessing$Config;-><init>(ILandroid/media/audiofx/DynamicsProcessing$Config;)V
-Landroid/media/audiofx/DynamicsProcessing$Config;-><init>(Landroid/media/audiofx/DynamicsProcessing$Config;)V
-Landroid/media/audiofx/DynamicsProcessing$Config;->checkChannel(I)V
-Landroid/media/audiofx/DynamicsProcessing$Config;->mChannel:[Landroid/media/audiofx/DynamicsProcessing$Channel;
-Landroid/media/audiofx/DynamicsProcessing$Config;->mChannelCount:I
-Landroid/media/audiofx/DynamicsProcessing$Config;->mLimiterInUse:Z
-Landroid/media/audiofx/DynamicsProcessing$Config;->mMbcBandCount:I
-Landroid/media/audiofx/DynamicsProcessing$Config;->mMbcInUse:Z
-Landroid/media/audiofx/DynamicsProcessing$Config;->mPostEqBandCount:I
-Landroid/media/audiofx/DynamicsProcessing$Config;->mPostEqInUse:Z
-Landroid/media/audiofx/DynamicsProcessing$Config;->mPreEqBandCount:I
-Landroid/media/audiofx/DynamicsProcessing$Config;->mPreEqInUse:Z
-Landroid/media/audiofx/DynamicsProcessing$Config;->mPreferredFrameDuration:F
-Landroid/media/audiofx/DynamicsProcessing$Config;->mVariant:I
-Landroid/media/audiofx/DynamicsProcessing$Eq;->checkBand(I)V
-Landroid/media/audiofx/DynamicsProcessing$Eq;->mBands:[Landroid/media/audiofx/DynamicsProcessing$EqBand;
-Landroid/media/audiofx/DynamicsProcessing$EqBand;->mGain:F
-Landroid/media/audiofx/DynamicsProcessing$Limiter;->mAttackTime:F
-Landroid/media/audiofx/DynamicsProcessing$Limiter;->mLinkGroup:I
-Landroid/media/audiofx/DynamicsProcessing$Limiter;->mPostGain:F
-Landroid/media/audiofx/DynamicsProcessing$Limiter;->mRatio:F
-Landroid/media/audiofx/DynamicsProcessing$Limiter;->mReleaseTime:F
-Landroid/media/audiofx/DynamicsProcessing$Limiter;->mThreshold:F
-Landroid/media/audiofx/DynamicsProcessing$Mbc;->checkBand(I)V
-Landroid/media/audiofx/DynamicsProcessing$Mbc;->mBands:[Landroid/media/audiofx/DynamicsProcessing$MbcBand;
-Landroid/media/audiofx/DynamicsProcessing$MbcBand;->mAttackTime:F
-Landroid/media/audiofx/DynamicsProcessing$MbcBand;->mExpanderRatio:F
-Landroid/media/audiofx/DynamicsProcessing$MbcBand;->mKneeWidth:F
-Landroid/media/audiofx/DynamicsProcessing$MbcBand;->mNoiseGateThreshold:F
-Landroid/media/audiofx/DynamicsProcessing$MbcBand;->mPostGain:F
-Landroid/media/audiofx/DynamicsProcessing$MbcBand;->mPreGain:F
-Landroid/media/audiofx/DynamicsProcessing$MbcBand;->mRatio:F
-Landroid/media/audiofx/DynamicsProcessing$MbcBand;->mReleaseTime:F
-Landroid/media/audiofx/DynamicsProcessing$MbcBand;->mThreshold:F
-Landroid/media/audiofx/DynamicsProcessing$OnParameterChangeListener;
-Landroid/media/audiofx/DynamicsProcessing$OnParameterChangeListener;->onParameterChange(Landroid/media/audiofx/DynamicsProcessing;II)V
-Landroid/media/audiofx/DynamicsProcessing$Settings;
-Landroid/media/audiofx/DynamicsProcessing$Settings;-><init>()V
-Landroid/media/audiofx/DynamicsProcessing$Settings;-><init>(Ljava/lang/String;)V
-Landroid/media/audiofx/DynamicsProcessing$Settings;->channelCount:I
-Landroid/media/audiofx/DynamicsProcessing$Settings;->inputGain:[F
-Landroid/media/audiofx/DynamicsProcessing$Stage;->mEnabled:Z
-Landroid/media/audiofx/DynamicsProcessing$Stage;->mInUse:Z
-Landroid/media/audiofx/DynamicsProcessing;-><init>(II)V
-Landroid/media/audiofx/DynamicsProcessing;->byteArrayToNumberArray([B[Ljava/lang/Number;)V
-Landroid/media/audiofx/DynamicsProcessing;->CHANNEL_COUNT_MAX:I
-Landroid/media/audiofx/DynamicsProcessing;->CHANNEL_DEFAULT_INPUT_GAIN:F
-Landroid/media/audiofx/DynamicsProcessing;->CONFIG_DEFAULT_MBC_BANDS:I
-Landroid/media/audiofx/DynamicsProcessing;->CONFIG_DEFAULT_POSTEQ_BANDS:I
-Landroid/media/audiofx/DynamicsProcessing;->CONFIG_DEFAULT_PREEQ_BANDS:I
-Landroid/media/audiofx/DynamicsProcessing;->CONFIG_DEFAULT_USE_LIMITER:Z
-Landroid/media/audiofx/DynamicsProcessing;->CONFIG_DEFAULT_USE_MBC:Z
-Landroid/media/audiofx/DynamicsProcessing;->CONFIG_DEFAULT_USE_POSTEQ:Z
-Landroid/media/audiofx/DynamicsProcessing;->CONFIG_DEFAULT_USE_PREEQ:Z
-Landroid/media/audiofx/DynamicsProcessing;->CONFIG_DEFAULT_VARIANT:I
-Landroid/media/audiofx/DynamicsProcessing;->CONFIG_PREFERRED_FRAME_DURATION_MS:F
-Landroid/media/audiofx/DynamicsProcessing;->DEFAULT_MAX_FREQUENCY:F
-Landroid/media/audiofx/DynamicsProcessing;->DEFAULT_MIN_FREQUENCY:F
-Landroid/media/audiofx/DynamicsProcessing;->EQ_DEFAULT_GAIN:F
-Landroid/media/audiofx/DynamicsProcessing;->getOneInt(I)I
-Landroid/media/audiofx/DynamicsProcessing;->getProperties()Landroid/media/audiofx/DynamicsProcessing$Settings;
-Landroid/media/audiofx/DynamicsProcessing;->getTwoFloat(II)F
-Landroid/media/audiofx/DynamicsProcessing;->LIMITER_DEFAULT_ATTACK_TIME:F
-Landroid/media/audiofx/DynamicsProcessing;->LIMITER_DEFAULT_ENABLED:Z
-Landroid/media/audiofx/DynamicsProcessing;->LIMITER_DEFAULT_LINK_GROUP:I
-Landroid/media/audiofx/DynamicsProcessing;->LIMITER_DEFAULT_POST_GAIN:F
-Landroid/media/audiofx/DynamicsProcessing;->LIMITER_DEFAULT_RATIO:F
-Landroid/media/audiofx/DynamicsProcessing;->LIMITER_DEFAULT_RELEASE_TIME:F
-Landroid/media/audiofx/DynamicsProcessing;->LIMITER_DEFAULT_THRESHOLD:F
-Landroid/media/audiofx/DynamicsProcessing;->mBaseParamListener:Landroid/media/audiofx/DynamicsProcessing$BaseParameterListener;
-Landroid/media/audiofx/DynamicsProcessing;->MBC_DEFAULT_ATTACK_TIME:F
-Landroid/media/audiofx/DynamicsProcessing;->MBC_DEFAULT_ENABLED:Z
-Landroid/media/audiofx/DynamicsProcessing;->MBC_DEFAULT_EXPANDER_RATIO:F
-Landroid/media/audiofx/DynamicsProcessing;->MBC_DEFAULT_KNEE_WIDTH:F
-Landroid/media/audiofx/DynamicsProcessing;->MBC_DEFAULT_NOISE_GATE_THRESHOLD:F
-Landroid/media/audiofx/DynamicsProcessing;->MBC_DEFAULT_POST_GAIN:F
-Landroid/media/audiofx/DynamicsProcessing;->MBC_DEFAULT_PRE_GAIN:F
-Landroid/media/audiofx/DynamicsProcessing;->MBC_DEFAULT_RATIO:F
-Landroid/media/audiofx/DynamicsProcessing;->MBC_DEFAULT_RELEASE_TIME:F
-Landroid/media/audiofx/DynamicsProcessing;->MBC_DEFAULT_THRESHOLD:F
-Landroid/media/audiofx/DynamicsProcessing;->mChannelCount:I
-Landroid/media/audiofx/DynamicsProcessing;->mMaxFreqLog:F
-Landroid/media/audiofx/DynamicsProcessing;->mMinFreqLog:F
-Landroid/media/audiofx/DynamicsProcessing;->mParamListener:Landroid/media/audiofx/DynamicsProcessing$OnParameterChangeListener;
-Landroid/media/audiofx/DynamicsProcessing;->mParamListenerLock:Ljava/lang/Object;
-Landroid/media/audiofx/DynamicsProcessing;->numberArrayToByteArray([Ljava/lang/Number;)[B
-Landroid/media/audiofx/DynamicsProcessing;->PARAM_ENGINE_ARCHITECTURE:I
-Landroid/media/audiofx/DynamicsProcessing;->PARAM_GET_CHANNEL_COUNT:I
-Landroid/media/audiofx/DynamicsProcessing;->PARAM_INPUT_GAIN:I
-Landroid/media/audiofx/DynamicsProcessing;->PARAM_LIMITER:I
-Landroid/media/audiofx/DynamicsProcessing;->PARAM_MBC:I
-Landroid/media/audiofx/DynamicsProcessing;->PARAM_MBC_BAND:I
-Landroid/media/audiofx/DynamicsProcessing;->PARAM_POST_EQ:I
-Landroid/media/audiofx/DynamicsProcessing;->PARAM_POST_EQ_BAND:I
-Landroid/media/audiofx/DynamicsProcessing;->PARAM_PRE_EQ:I
-Landroid/media/audiofx/DynamicsProcessing;->PARAM_PRE_EQ_BAND:I
-Landroid/media/audiofx/DynamicsProcessing;->POSTEQ_DEFAULT_ENABLED:Z
-Landroid/media/audiofx/DynamicsProcessing;->PREEQ_DEFAULT_ENABLED:Z
-Landroid/media/audiofx/DynamicsProcessing;->queryEngineByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Channel;
-Landroid/media/audiofx/DynamicsProcessing;->queryEngineEqBandByChannelIndex(III)Landroid/media/audiofx/DynamicsProcessing$EqBand;
-Landroid/media/audiofx/DynamicsProcessing;->queryEngineEqByChannelIndex(II)Landroid/media/audiofx/DynamicsProcessing$Eq;
-Landroid/media/audiofx/DynamicsProcessing;->queryEngineLimiterByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Limiter;
-Landroid/media/audiofx/DynamicsProcessing;->queryEngineMbcBandByChannelIndex(II)Landroid/media/audiofx/DynamicsProcessing$MbcBand;
-Landroid/media/audiofx/DynamicsProcessing;->queryEngineMbcByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Mbc;
-Landroid/media/audiofx/DynamicsProcessing;->setEngineArchitecture(IFZIZIZIZ)V
-Landroid/media/audiofx/DynamicsProcessing;->setNumberArray([Ljava/lang/Number;[Ljava/lang/Number;)V
-Landroid/media/audiofx/DynamicsProcessing;->setParameterListener(Landroid/media/audiofx/DynamicsProcessing$OnParameterChangeListener;)V
-Landroid/media/audiofx/DynamicsProcessing;->setProperties(Landroid/media/audiofx/DynamicsProcessing$Settings;)V
-Landroid/media/audiofx/DynamicsProcessing;->setTwoFloat(IIF)V
-Landroid/media/audiofx/DynamicsProcessing;->TAG:Ljava/lang/String;
-Landroid/media/audiofx/DynamicsProcessing;->updateEffectArchitecture()V
-Landroid/media/audiofx/DynamicsProcessing;->updateEngineChannelByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Channel;)V
-Landroid/media/audiofx/DynamicsProcessing;->updateEngineEqBandByChannelIndex(IIILandroid/media/audiofx/DynamicsProcessing$EqBand;)V
-Landroid/media/audiofx/DynamicsProcessing;->updateEngineEqByChannelIndex(IILandroid/media/audiofx/DynamicsProcessing$Eq;)V
-Landroid/media/audiofx/DynamicsProcessing;->updateEngineLimiterByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Limiter;)V
-Landroid/media/audiofx/DynamicsProcessing;->updateEngineMbcBandByChannelIndex(IILandroid/media/audiofx/DynamicsProcessing$MbcBand;)V
-Landroid/media/audiofx/DynamicsProcessing;->updateEngineMbcByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Mbc;)V
-Landroid/media/audiofx/EnvironmentalReverb$BaseParameterListener;
-Landroid/media/audiofx/EnvironmentalReverb$BaseParameterListener;-><init>()V
-Landroid/media/audiofx/EnvironmentalReverb;->mBaseParamListener:Landroid/media/audiofx/EnvironmentalReverb$BaseParameterListener;
-Landroid/media/audiofx/EnvironmentalReverb;->mParamListener:Landroid/media/audiofx/EnvironmentalReverb$OnParameterChangeListener;
-Landroid/media/audiofx/EnvironmentalReverb;->mParamListenerLock:Ljava/lang/Object;
-Landroid/media/audiofx/EnvironmentalReverb;->PARAM_PROPERTIES:I
-Landroid/media/audiofx/EnvironmentalReverb;->PROPERTY_SIZE:I
-Landroid/media/audiofx/EnvironmentalReverb;->TAG:Ljava/lang/String;
-Landroid/media/audiofx/Equalizer$BaseParameterListener;
-Landroid/media/audiofx/Equalizer$BaseParameterListener;-><init>()V
-Landroid/media/audiofx/Equalizer;->mBaseParamListener:Landroid/media/audiofx/Equalizer$BaseParameterListener;
-Landroid/media/audiofx/Equalizer;->mNumBands:S
-Landroid/media/audiofx/Equalizer;->mNumPresets:I
-Landroid/media/audiofx/Equalizer;->mParamListener:Landroid/media/audiofx/Equalizer$OnParameterChangeListener;
-Landroid/media/audiofx/Equalizer;->mParamListenerLock:Ljava/lang/Object;
-Landroid/media/audiofx/Equalizer;->mPresetNames:[Ljava/lang/String;
-Landroid/media/audiofx/Equalizer;->PARAM_PROPERTIES:I
-Landroid/media/audiofx/Equalizer;->TAG:Ljava/lang/String;
-Landroid/media/audiofx/LoudnessEnhancer$BaseParameterListener;
-Landroid/media/audiofx/LoudnessEnhancer$BaseParameterListener;-><init>()V
-Landroid/media/audiofx/LoudnessEnhancer$OnParameterChangeListener;
-Landroid/media/audiofx/LoudnessEnhancer$OnParameterChangeListener;->onParameterChange(Landroid/media/audiofx/LoudnessEnhancer;II)V
-Landroid/media/audiofx/LoudnessEnhancer$Settings;
-Landroid/media/audiofx/LoudnessEnhancer$Settings;-><init>()V
-Landroid/media/audiofx/LoudnessEnhancer$Settings;-><init>(Ljava/lang/String;)V
-Landroid/media/audiofx/LoudnessEnhancer$Settings;->targetGainmB:I
-Landroid/media/audiofx/LoudnessEnhancer;-><init>(II)V
-Landroid/media/audiofx/LoudnessEnhancer;->getProperties()Landroid/media/audiofx/LoudnessEnhancer$Settings;
-Landroid/media/audiofx/LoudnessEnhancer;->mBaseParamListener:Landroid/media/audiofx/LoudnessEnhancer$BaseParameterListener;
-Landroid/media/audiofx/LoudnessEnhancer;->mParamListener:Landroid/media/audiofx/LoudnessEnhancer$OnParameterChangeListener;
-Landroid/media/audiofx/LoudnessEnhancer;->mParamListenerLock:Ljava/lang/Object;
-Landroid/media/audiofx/LoudnessEnhancer;->setParameterListener(Landroid/media/audiofx/LoudnessEnhancer$OnParameterChangeListener;)V
-Landroid/media/audiofx/LoudnessEnhancer;->setProperties(Landroid/media/audiofx/LoudnessEnhancer$Settings;)V
-Landroid/media/audiofx/LoudnessEnhancer;->TAG:Ljava/lang/String;
-Landroid/media/audiofx/NoiseSuppressor;-><init>(I)V
-Landroid/media/audiofx/NoiseSuppressor;->TAG:Ljava/lang/String;
-Landroid/media/audiofx/PresetReverb$BaseParameterListener;
-Landroid/media/audiofx/PresetReverb$BaseParameterListener;-><init>()V
-Landroid/media/audiofx/PresetReverb;->mBaseParamListener:Landroid/media/audiofx/PresetReverb$BaseParameterListener;
-Landroid/media/audiofx/PresetReverb;->mParamListener:Landroid/media/audiofx/PresetReverb$OnParameterChangeListener;
-Landroid/media/audiofx/PresetReverb;->mParamListenerLock:Ljava/lang/Object;
-Landroid/media/audiofx/PresetReverb;->TAG:Ljava/lang/String;
-Landroid/media/audiofx/Virtualizer$BaseParameterListener;
-Landroid/media/audiofx/Virtualizer$BaseParameterListener;-><init>()V
-Landroid/media/audiofx/Virtualizer$ForceVirtualizationMode;
-Landroid/media/audiofx/Virtualizer$VirtualizationMode;
-Landroid/media/audiofx/Virtualizer;->DEBUG:Z
-Landroid/media/audiofx/Virtualizer;->deviceToMode(I)I
-Landroid/media/audiofx/Virtualizer;->getAnglesInt(II[I)Z
-Landroid/media/audiofx/Virtualizer;->getDeviceForModeForce(I)I
-Landroid/media/audiofx/Virtualizer;->getDeviceForModeQuery(I)I
-Landroid/media/audiofx/Virtualizer;->mBaseParamListener:Landroid/media/audiofx/Virtualizer$BaseParameterListener;
-Landroid/media/audiofx/Virtualizer;->mParamListener:Landroid/media/audiofx/Virtualizer$OnParameterChangeListener;
-Landroid/media/audiofx/Virtualizer;->mParamListenerLock:Ljava/lang/Object;
-Landroid/media/audiofx/Virtualizer;->mStrengthSupported:Z
-Landroid/media/audiofx/Virtualizer;->PARAM_FORCE_VIRTUALIZATION_MODE:I
-Landroid/media/audiofx/Virtualizer;->PARAM_VIRTUALIZATION_MODE:I
-Landroid/media/audiofx/Virtualizer;->PARAM_VIRTUAL_SPEAKER_ANGLES:I
-Landroid/media/audiofx/Virtualizer;->TAG:Ljava/lang/String;
-Landroid/media/audiofx/Visualizer$NativeEventHandler;
-Landroid/media/audiofx/Visualizer$NativeEventHandler;-><init>(Landroid/media/audiofx/Visualizer;Landroid/os/Looper;)V
-Landroid/media/audiofx/Visualizer$NativeEventHandler;->handleCaptureMessage(Landroid/os/Message;)V
-Landroid/media/audiofx/Visualizer$NativeEventHandler;->handleServerDiedMessage(Landroid/os/Message;)V
-Landroid/media/audiofx/Visualizer$NativeEventHandler;->mVisualizer:Landroid/media/audiofx/Visualizer;
-Landroid/media/audiofx/Visualizer$OnServerDiedListener;
-Landroid/media/audiofx/Visualizer$OnServerDiedListener;->onServerDied()V
-Landroid/media/audiofx/Visualizer;->mCaptureListener:Landroid/media/audiofx/Visualizer$OnDataCaptureListener;
-Landroid/media/audiofx/Visualizer;->mJniData:J
-Landroid/media/audiofx/Visualizer;->mListenerLock:Ljava/lang/Object;
-Landroid/media/audiofx/Visualizer;->mNativeEventHandler:Landroid/media/audiofx/Visualizer$NativeEventHandler;
-Landroid/media/audiofx/Visualizer;->mNativeVisualizer:J
-Landroid/media/audiofx/Visualizer;->mServerDiedListener:Landroid/media/audiofx/Visualizer$OnServerDiedListener;
-Landroid/media/audiofx/Visualizer;->mState:I
-Landroid/media/audiofx/Visualizer;->mStateLock:Ljava/lang/Object;
-Landroid/media/audiofx/Visualizer;->NATIVE_EVENT_FFT_CAPTURE:I
-Landroid/media/audiofx/Visualizer;->NATIVE_EVENT_PCM_CAPTURE:I
-Landroid/media/audiofx/Visualizer;->NATIVE_EVENT_SERVER_DIED:I
-Landroid/media/audiofx/Visualizer;->native_finalize()V
-Landroid/media/audiofx/Visualizer;->native_getCaptureSize()I
-Landroid/media/audiofx/Visualizer;->native_getEnabled()Z
-Landroid/media/audiofx/Visualizer;->native_getFft([B)I
-Landroid/media/audiofx/Visualizer;->native_getMeasurementMode()I
-Landroid/media/audiofx/Visualizer;->native_getPeakRms(Landroid/media/audiofx/Visualizer$MeasurementPeakRms;)I
-Landroid/media/audiofx/Visualizer;->native_getSamplingRate()I
-Landroid/media/audiofx/Visualizer;->native_getScalingMode()I
-Landroid/media/audiofx/Visualizer;->native_getWaveForm([B)I
-Landroid/media/audiofx/Visualizer;->native_init()V
-Landroid/media/audiofx/Visualizer;->native_release()V
-Landroid/media/audiofx/Visualizer;->native_setCaptureSize(I)I
-Landroid/media/audiofx/Visualizer;->native_setEnabled(Z)I
-Landroid/media/audiofx/Visualizer;->native_setMeasurementMode(I)I
-Landroid/media/audiofx/Visualizer;->native_setPeriodicCapture(IZZ)I
-Landroid/media/audiofx/Visualizer;->native_setScalingMode(I)I
-Landroid/media/audiofx/Visualizer;->native_setup(Ljava/lang/Object;I[ILjava/lang/String;)I
-Landroid/media/audiofx/Visualizer;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
-Landroid/media/audiofx/Visualizer;->setServerDiedListener(Landroid/media/audiofx/Visualizer$OnServerDiedListener;)I
-Landroid/media/audiofx/Visualizer;->TAG:Ljava/lang/String;
-Landroid/media/AudioGain;
-Landroid/media/AudioGain;->buildConfig(II[II)Landroid/media/AudioGainConfig;
-Landroid/media/AudioGain;->channelMask()I
-Landroid/media/AudioGain;->defaultValue()I
-Landroid/media/AudioGain;->maxValue()I
-Landroid/media/AudioGain;->mChannelMask:I
-Landroid/media/AudioGain;->mDefaultValue:I
-Landroid/media/AudioGain;->mIndex:I
-Landroid/media/AudioGain;->minValue()I
-Landroid/media/AudioGain;->mMaxValue:I
-Landroid/media/AudioGain;->mMinValue:I
-Landroid/media/AudioGain;->mMode:I
-Landroid/media/AudioGain;->mode()I
-Landroid/media/AudioGain;->MODE_CHANNELS:I
-Landroid/media/AudioGain;->MODE_JOINT:I
-Landroid/media/AudioGain;->MODE_RAMP:I
-Landroid/media/AudioGain;->mRampDurationMaxMs:I
-Landroid/media/AudioGain;->mRampDurationMinMs:I
-Landroid/media/AudioGain;->mStepValue:I
-Landroid/media/AudioGain;->rampDurationMaxMs()I
-Landroid/media/AudioGain;->rampDurationMinMs()I
-Landroid/media/AudioGain;->stepValue()I
-Landroid/media/AudioGainConfig;
-Landroid/media/AudioGainConfig;->channelMask()I
-Landroid/media/AudioGainConfig;->index()I
-Landroid/media/AudioGainConfig;->mGain:Landroid/media/AudioGain;
-Landroid/media/AudioGainConfig;->mode()I
-Landroid/media/AudioGainConfig;->rampDurationMs()I
-Landroid/media/AudioGainConfig;->values()[I
-Landroid/media/AudioHandle;
-Landroid/media/AudioHandle;->id()I
-Landroid/media/AudioManager$AudioPlaybackCallbackInfo;
-Landroid/media/AudioManager$AudioPlaybackCallbackInfo;-><init>(Landroid/media/AudioManager$AudioPlaybackCallback;Landroid/os/Handler;)V
-Landroid/media/AudioManager$AudioPlaybackCallbackInfo;->mCb:Landroid/media/AudioManager$AudioPlaybackCallback;
-Landroid/media/AudioManager$AudioPlaybackCallbackInfo;->mHandler:Landroid/os/Handler;
-Landroid/media/AudioManager$AudioRecordingCallbackInfo;
-Landroid/media/AudioManager$AudioRecordingCallbackInfo;-><init>(Landroid/media/AudioManager$AudioRecordingCallback;Landroid/os/Handler;)V
-Landroid/media/AudioManager$AudioRecordingCallbackInfo;->mCb:Landroid/media/AudioManager$AudioRecordingCallback;
-Landroid/media/AudioManager$AudioRecordingCallbackInfo;->mHandler:Landroid/os/Handler;
-Landroid/media/AudioManager$BlockingFocusResultReceiver;
-Landroid/media/AudioManager$BlockingFocusResultReceiver;-><init>(Ljava/lang/String;)V
-Landroid/media/AudioManager$BlockingFocusResultReceiver;->mFocusClientId:Ljava/lang/String;
-Landroid/media/AudioManager$BlockingFocusResultReceiver;->mFocusRequestResult:I
-Landroid/media/AudioManager$BlockingFocusResultReceiver;->mLock:Landroid/media/AudioManager$SafeWaitObject;
-Landroid/media/AudioManager$BlockingFocusResultReceiver;->mResultReceived:Z
-Landroid/media/AudioManager$BlockingFocusResultReceiver;->notifyResult(I)V
-Landroid/media/AudioManager$BlockingFocusResultReceiver;->receivedResult()Z
-Landroid/media/AudioManager$BlockingFocusResultReceiver;->requestResult()I
-Landroid/media/AudioManager$BlockingFocusResultReceiver;->waitForResult(J)V
-Landroid/media/AudioManager$FocusRequestInfo;
-Landroid/media/AudioManager$FocusRequestInfo;-><init>(Landroid/media/AudioFocusRequest;Landroid/os/Handler;)V
-Landroid/media/AudioManager$FocusRequestInfo;->mHandler:Landroid/os/Handler;
-Landroid/media/AudioManager$FocusRequestInfo;->mRequest:Landroid/media/AudioFocusRequest;
-Landroid/media/AudioManager$FocusRequestResult;
-Landroid/media/AudioManager$NativeEventHandlerDelegate;
-Landroid/media/AudioManager$NativeEventHandlerDelegate;-><init>(Landroid/media/AudioDeviceCallback;Landroid/os/Handler;)V
-Landroid/media/AudioManager$NativeEventHandlerDelegate;->getHandler()Landroid/os/Handler;
-Landroid/media/AudioManager$NativeEventHandlerDelegate;->mHandler:Landroid/os/Handler;
-Landroid/media/AudioManager$OnAmPortUpdateListener;
-Landroid/media/AudioManager$OnAmPortUpdateListener;-><init>()V
-Landroid/media/AudioManager$OnAmPortUpdateListener;->onAudioPatchListUpdate([Landroid/media/AudioPatch;)V
-Landroid/media/AudioManager$OnAmPortUpdateListener;->onAudioPortListUpdate([Landroid/media/AudioPort;)V
-Landroid/media/AudioManager$OnAmPortUpdateListener;->onServiceDied()V
-Landroid/media/AudioManager$OnAmPortUpdateListener;->TAG:Ljava/lang/String;
-Landroid/media/AudioManager$OnAudioPortUpdateListener;
-Landroid/media/AudioManager$OnAudioPortUpdateListener;->onAudioPatchListUpdate([Landroid/media/AudioPatch;)V
-Landroid/media/AudioManager$OnAudioPortUpdateListener;->onAudioPortListUpdate([Landroid/media/AudioPort;)V
-Landroid/media/AudioManager$OnAudioPortUpdateListener;->onServiceDied()V
-Landroid/media/AudioManager$PlaybackConfigChangeCallbackData;
-Landroid/media/AudioManager$PlaybackConfigChangeCallbackData;-><init>(Landroid/media/AudioManager$AudioPlaybackCallback;Ljava/util/List;)V
-Landroid/media/AudioManager$PlaybackConfigChangeCallbackData;->mCb:Landroid/media/AudioManager$AudioPlaybackCallback;
-Landroid/media/AudioManager$PlaybackConfigChangeCallbackData;->mConfigs:Ljava/util/List;
-Landroid/media/AudioManager$PublicStreamTypes;
-Landroid/media/AudioManager$RecordConfigChangeCallbackData;
-Landroid/media/AudioManager$RecordConfigChangeCallbackData;-><init>(Landroid/media/AudioManager$AudioRecordingCallback;Ljava/util/List;)V
-Landroid/media/AudioManager$RecordConfigChangeCallbackData;->mCb:Landroid/media/AudioManager$AudioRecordingCallback;
-Landroid/media/AudioManager$RecordConfigChangeCallbackData;->mConfigs:Ljava/util/List;
-Landroid/media/AudioManager$SafeWaitObject;
-Landroid/media/AudioManager$SafeWaitObject;-><init>()V
-Landroid/media/AudioManager$SafeWaitObject;->mQuit:Z
-Landroid/media/AudioManager$SafeWaitObject;->safeNotify()V
-Landroid/media/AudioManager$SafeWaitObject;->safeWait(J)V
-Landroid/media/AudioManager$ServiceEventHandlerDelegate;
-Landroid/media/AudioManager$ServiceEventHandlerDelegate;-><init>(Landroid/os/Handler;)V
-Landroid/media/AudioManager$ServiceEventHandlerDelegate;->getHandler()Landroid/os/Handler;
-Landroid/media/AudioManager$ServiceEventHandlerDelegate;->mHandler:Landroid/os/Handler;
-Landroid/media/AudioManager$VolumeAdjustment;
-Landroid/media/AudioManager;->addMicrophonesFromAudioDeviceInfo(Ljava/util/ArrayList;Ljava/util/HashSet;)V
-Landroid/media/AudioManager;->adjustToString(I)Ljava/lang/String;
-Landroid/media/AudioManager;->AUDIOFOCUS_FLAGS_APPS:I
-Landroid/media/AudioManager;->AUDIOFOCUS_FLAGS_SYSTEM:I
-Landroid/media/AudioManager;->AUDIOFOCUS_REQUEST_WAITING_FOR_EXT_POLICY:I
-Landroid/media/AudioManager;->AUDIOPORT_GENERATION_INIT:I
-Landroid/media/AudioManager;->avrcpSupportsAbsoluteVolume(Ljava/lang/String;Z)V
-Landroid/media/AudioManager;->broadcastDeviceListChange_sync(Landroid/os/Handler;)V
-Landroid/media/AudioManager;->calcListDeltas(Ljava/util/ArrayList;Ljava/util/ArrayList;I)[Landroid/media/AudioDeviceInfo;
-Landroid/media/AudioManager;->checkFlags(Landroid/media/AudioDevicePort;I)Z
-Landroid/media/AudioManager;->checkTypes(Landroid/media/AudioDevicePort;)Z
-Landroid/media/AudioManager;->DEBUG:Z
-Landroid/media/AudioManager;->DEVICE_IN_ANLG_DOCK_HEADSET:I
-Landroid/media/AudioManager;->DEVICE_IN_BACK_MIC:I
-Landroid/media/AudioManager;->DEVICE_IN_BLUETOOTH_SCO_HEADSET:I
-Landroid/media/AudioManager;->DEVICE_IN_BUILTIN_MIC:I
-Landroid/media/AudioManager;->DEVICE_IN_DGTL_DOCK_HEADSET:I
-Landroid/media/AudioManager;->DEVICE_IN_FM_TUNER:I
-Landroid/media/AudioManager;->DEVICE_IN_HDMI:I
-Landroid/media/AudioManager;->DEVICE_IN_LINE:I
-Landroid/media/AudioManager;->DEVICE_IN_LOOPBACK:I
-Landroid/media/AudioManager;->DEVICE_IN_SPDIF:I
-Landroid/media/AudioManager;->DEVICE_IN_TELEPHONY_RX:I
-Landroid/media/AudioManager;->DEVICE_IN_TV_TUNER:I
-Landroid/media/AudioManager;->DEVICE_IN_USB_ACCESSORY:I
-Landroid/media/AudioManager;->DEVICE_IN_USB_DEVICE:I
-Landroid/media/AudioManager;->DEVICE_IN_WIRED_HEADSET:I
-Landroid/media/AudioManager;->DEVICE_NONE:I
-Landroid/media/AudioManager;->DEVICE_OUT_AUX_DIGITAL:I
-Landroid/media/AudioManager;->DEVICE_OUT_BLUETOOTH_SCO:I
-Landroid/media/AudioManager;->DEVICE_OUT_BLUETOOTH_SCO_CARKIT:I
-Landroid/media/AudioManager;->DEVICE_OUT_DEFAULT:I
-Landroid/media/AudioManager;->DEVICE_OUT_FM:I
-Landroid/media/AudioManager;->DEVICE_OUT_HDMI_ARC:I
-Landroid/media/AudioManager;->DEVICE_OUT_LINE:I
-Landroid/media/AudioManager;->DEVICE_OUT_REMOTE_SUBMIX:I
-Landroid/media/AudioManager;->DEVICE_OUT_SPDIF:I
-Landroid/media/AudioManager;->DEVICE_OUT_TELEPHONY_TX:I
-Landroid/media/AudioManager;->DEVICE_OUT_USB_ACCESSORY:I
-Landroid/media/AudioManager;->DEVICE_OUT_USB_DEVICE:I
-Landroid/media/AudioManager;->DEVICE_OUT_USB_HEADSET:I
-Landroid/media/AudioManager;->disableSafeMediaVolume()V
-Landroid/media/AudioManager;->ERROR_BAD_VALUE:I
-Landroid/media/AudioManager;->ERROR_INVALID_OPERATION:I
-Landroid/media/AudioManager;->ERROR_NO_INIT:I
-Landroid/media/AudioManager;->ERROR_PERMISSION_DENIED:I
-Landroid/media/AudioManager;->EXTRA_MASTER_VOLUME_MUTED:Ljava/lang/String;
-Landroid/media/AudioManager;->EXTRA_PREV_VOLUME_STREAM_DEVICES:Ljava/lang/String;
-Landroid/media/AudioManager;->EXTRA_PREV_VOLUME_STREAM_VALUE:Ljava/lang/String;
-Landroid/media/AudioManager;->EXTRA_STREAM_VOLUME_MUTED:Ljava/lang/String;
-Landroid/media/AudioManager;->EXTRA_VOLUME_STREAM_DEVICES:Ljava/lang/String;
-Landroid/media/AudioManager;->EXTRA_VOLUME_STREAM_TYPE_ALIAS:Ljava/lang/String;
-Landroid/media/AudioManager;->EXT_FOCUS_POLICY_TIMEOUT_MS:I
-Landroid/media/AudioManager;->filterDevicePorts(Ljava/util/ArrayList;Ljava/util/ArrayList;)V
-Landroid/media/AudioManager;->findFocusRequestInfo(Ljava/lang/String;)Landroid/media/AudioManager$FocusRequestInfo;
-Landroid/media/AudioManager;->flagsToString(I)Ljava/lang/String;
-Landroid/media/AudioManager;->FLAG_ACTIVE_MEDIA_ONLY:I
-Landroid/media/AudioManager;->FLAG_BLUETOOTH_ABS_VOLUME:I
-Landroid/media/AudioManager;->FLAG_FIXED_VOLUME:I
-Landroid/media/AudioManager;->FLAG_FROM_KEY:I
-Landroid/media/AudioManager;->FLAG_HDMI_SYSTEM_AUDIO_VOLUME:I
-Landroid/media/AudioManager;->FLAG_NAMES:[Ljava/lang/String;
-Landroid/media/AudioManager;->FLAG_SHOW_SILENT_HINT:I
-Landroid/media/AudioManager;->FLAG_SHOW_UI_WARNINGS:I
-Landroid/media/AudioManager;->FLAG_SHOW_VIBRATE_HINT:I
-Landroid/media/AudioManager;->FOCUS_CLIENT_ID_STRING:Ljava/lang/String;
-Landroid/media/AudioManager;->getContext()Landroid/content/Context;
-Landroid/media/AudioManager;->getDevicesStatic(I)[Landroid/media/AudioDeviceInfo;
-Landroid/media/AudioManager;->getFocusRampTimeMs(ILandroid/media/AudioAttributes;)I
-Landroid/media/AudioManager;->getIdForAudioFocusListener(Landroid/media/AudioManager$OnAudioFocusChangeListener;)Ljava/lang/String;
-Landroid/media/AudioManager;->getReportedSurroundFormats()Ljava/util/Map;
-Landroid/media/AudioManager;->getRingtonePlayer()Landroid/media/IRingtonePlayer;
-Landroid/media/AudioManager;->getStreamMinVolumeInt(I)I
-Landroid/media/AudioManager;->getSurroundFormats()Ljava/util/Map;
-Landroid/media/AudioManager;->getUiSoundsStreamType()I
-Landroid/media/AudioManager;->handleBluetoothA2dpDeviceConfigChange(Landroid/bluetooth/BluetoothDevice;)V
-Landroid/media/AudioManager;->hasPlaybackCallback_sync(Landroid/media/AudioManager$AudioPlaybackCallback;)Z
-Landroid/media/AudioManager;->hasRecordCallback_sync(Landroid/media/AudioManager$AudioRecordingCallback;)Z
-Landroid/media/AudioManager;->infoListFromPortList(Ljava/util/ArrayList;I)[Landroid/media/AudioDeviceInfo;
-Landroid/media/AudioManager;->INTERNAL_RINGER_MODE_CHANGED_ACTION:Ljava/lang/String;
-Landroid/media/AudioManager;->isAudioFocusExclusive()Z
-Landroid/media/AudioManager;->isInputDevice(I)Z
-Landroid/media/AudioManager;->isOffloadedPlaybackSupported(Landroid/media/AudioFormat;)Z
-Landroid/media/AudioManager;->isOutputDevice(I)Z
-Landroid/media/AudioManager;->isPublicStreamType(I)Z
-Landroid/media/AudioManager;->isStreamAffectedByMute(I)Z
-Landroid/media/AudioManager;->isStreamAffectedByRingerMode(I)Z
-Landroid/media/AudioManager;->listAudioDevicePorts(Ljava/util/ArrayList;)I
-Landroid/media/AudioManager;->listPreviousAudioDevicePorts(Ljava/util/ArrayList;)I
-Landroid/media/AudioManager;->listPreviousAudioPorts(Ljava/util/ArrayList;)I
-Landroid/media/AudioManager;->mApplicationContext:Landroid/content/Context;
-Landroid/media/AudioManager;->MASTER_MUTE_CHANGED_ACTION:Ljava/lang/String;
-Landroid/media/AudioManager;->mAudioFocusDispatcher:Landroid/media/IAudioFocusDispatcher;
-Landroid/media/AudioManager;->mAudioServerStateCb:Landroid/media/AudioManager$AudioServerStateCallback;
-Landroid/media/AudioManager;->mAudioServerStateCbLock:Ljava/lang/Object;
-Landroid/media/AudioManager;->mAudioServerStateDispatcher:Landroid/media/IAudioServerStateDispatcher;
-Landroid/media/AudioManager;->mAudioServerStateExec:Ljava/util/concurrent/Executor;
-Landroid/media/AudioManager;->mDeviceCallbacks:Landroid/util/ArrayMap;
-Landroid/media/AudioManager;->mFocusRequestsAwaitingResult:Ljava/util/HashMap;
-Landroid/media/AudioManager;->mFocusRequestsLock:Ljava/lang/Object;
-Landroid/media/AudioManager;->mICallBack:Landroid/os/IBinder;
-Landroid/media/AudioManager;->microphoneInfoFromAudioDeviceInfo(Landroid/media/AudioDeviceInfo;)Landroid/media/MicrophoneInfo;
-Landroid/media/AudioManager;->mOriginalContext:Landroid/content/Context;
-Landroid/media/AudioManager;->mPlaybackCallbackList:Ljava/util/List;
-Landroid/media/AudioManager;->mPlaybackCallbackLock:Ljava/lang/Object;
-Landroid/media/AudioManager;->mPlayCb:Landroid/media/IPlaybackConfigDispatcher;
-Landroid/media/AudioManager;->mPortListener:Landroid/media/AudioManager$OnAmPortUpdateListener;
-Landroid/media/AudioManager;->mPreviousPorts:Ljava/util/ArrayList;
-Landroid/media/AudioManager;->mRecCb:Landroid/media/IRecordingConfigDispatcher;
-Landroid/media/AudioManager;->mRecordCallbackList:Ljava/util/List;
-Landroid/media/AudioManager;->mRecordCallbackLock:Ljava/lang/Object;
-Landroid/media/AudioManager;->mServiceEventHandlerDelegate:Landroid/media/AudioManager$ServiceEventHandlerDelegate;
-Landroid/media/AudioManager;->MSG_DEVICES_CALLBACK_REGISTERED:I
-Landroid/media/AudioManager;->MSG_DEVICES_DEVICES_ADDED:I
-Landroid/media/AudioManager;->MSG_DEVICES_DEVICES_REMOVED:I
-Landroid/media/AudioManager;->MSSG_FOCUS_CHANGE:I
-Landroid/media/AudioManager;->MSSG_PLAYBACK_CONFIG_CHANGE:I
-Landroid/media/AudioManager;->MSSG_RECORDING_CONFIG_CHANGE:I
-Landroid/media/AudioManager;->mUseFixedVolume:Z
-Landroid/media/AudioManager;->mUseVolumeKeySounds:Z
-Landroid/media/AudioManager;->mVolumeKeyUpTime:J
-Landroid/media/AudioManager;->notifyVolumeControllerVisible(Landroid/media/IVolumeController;Z)V
-Landroid/media/AudioManager;->playSoundEffect(II)V
-Landroid/media/AudioManager;->preDispatchKeyEvent(Landroid/view/KeyEvent;I)V
-Landroid/media/AudioManager;->querySoundEffectsEnabled(I)Z
-Landroid/media/AudioManager;->RECORD_CONFIG_EVENT_START:I
-Landroid/media/AudioManager;->RECORD_CONFIG_EVENT_STOP:I
-Landroid/media/AudioManager;->registerAudioFocusRequest(Landroid/media/AudioFocusRequest;)V
-Landroid/media/AudioManager;->registerMediaButtonIntent(Landroid/app/PendingIntent;Landroid/content/ComponentName;)V
-Landroid/media/AudioManager;->removePlaybackCallback_sync(Landroid/media/AudioManager$AudioPlaybackCallback;)Z
-Landroid/media/AudioManager;->removeRecordCallback_sync(Landroid/media/AudioManager$AudioRecordingCallback;)Z
-Landroid/media/AudioManager;->resetAudioPortGeneration()I
-Landroid/media/AudioManager;->RINGER_MODE_MAX:I
-Landroid/media/AudioManager;->sAudioPatchesCached:Ljava/util/ArrayList;
-Landroid/media/AudioManager;->sAudioPortEventHandler:Landroid/media/AudioPortEventHandler;
-Landroid/media/AudioManager;->sAudioPortGeneration:Ljava/lang/Integer;
-Landroid/media/AudioManager;->sAudioPortsCached:Ljava/util/ArrayList;
-Landroid/media/AudioManager;->setAudioPortGain(Landroid/media/AudioPort;Landroid/media/AudioGainConfig;)I
-Landroid/media/AudioManager;->setBluetoothA2dpDeviceConnectionState(Landroid/bluetooth/BluetoothDevice;II)I
-Landroid/media/AudioManager;->setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(Landroid/bluetooth/BluetoothDevice;IIZI)I
-Landroid/media/AudioManager;->setContext(Landroid/content/Context;)V
-Landroid/media/AudioManager;->setHdmiSystemAudioSupported(Z)I
-Landroid/media/AudioManager;->setHearingAidDeviceConnectionState(Landroid/bluetooth/BluetoothDevice;I)V
-Landroid/media/AudioManager;->setParameter(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/media/AudioManager;->setPortIdForMicrophones(Ljava/util/ArrayList;)V
-Landroid/media/AudioManager;->setSurroundFormatEnabled(IZ)Z
-Landroid/media/AudioManager;->setVolumeController(Landroid/media/IVolumeController;)V
-Landroid/media/AudioManager;->setVolumePolicy(Landroid/media/VolumePolicy;)V
-Landroid/media/AudioManager;->sPreviousAudioPortsCached:Ljava/util/ArrayList;
-Landroid/media/AudioManager;->sService:Landroid/media/IAudioService;
-Landroid/media/AudioManager;->STREAM_DEVICES_CHANGED_ACTION:Ljava/lang/String;
-Landroid/media/AudioManager;->STREAM_MUTE_CHANGED_ACTION:Ljava/lang/String;
-Landroid/media/AudioManager;->SUCCESS:I
-Landroid/media/AudioManager;->TAG:Ljava/lang/String;
-Landroid/media/AudioManager;->unregisterAudioFocusRequest(Landroid/media/AudioManager$OnAudioFocusChangeListener;)V
-Landroid/media/AudioManager;->unregisterMediaButtonIntent(Landroid/app/PendingIntent;)V
-Landroid/media/AudioManager;->updateAudioPortCache(Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;)I
-Landroid/media/AudioManager;->updatePortConfig(Landroid/media/AudioPortConfig;Ljava/util/ArrayList;)Landroid/media/AudioPortConfig;
-Landroid/media/AudioManager;->VOLUME_MIN_DB:F
-Landroid/media/AudioManagerInternal$RingerModeDelegate;
-Landroid/media/AudioManagerInternal$RingerModeDelegate;->canVolumeDownEnterSilent()Z
-Landroid/media/AudioManagerInternal$RingerModeDelegate;->getRingerModeAffectedStreams(I)I
-Landroid/media/AudioManagerInternal$RingerModeDelegate;->onSetRingerModeExternal(IILjava/lang/String;ILandroid/media/VolumePolicy;)I
-Landroid/media/AudioManagerInternal$RingerModeDelegate;->onSetRingerModeInternal(IILjava/lang/String;ILandroid/media/VolumePolicy;)I
-Landroid/media/AudioManagerInternal;
-Landroid/media/AudioManagerInternal;-><init>()V
-Landroid/media/AudioManagerInternal;->adjustStreamVolumeForUid(IIILjava/lang/String;I)V
-Landroid/media/AudioManagerInternal;->adjustSuggestedStreamVolumeForUid(IIILjava/lang/String;I)V
-Landroid/media/AudioManagerInternal;->getRingerModeInternal()I
-Landroid/media/AudioManagerInternal;->setAccessibilityServiceUids(Landroid/util/IntArray;)V
-Landroid/media/AudioManagerInternal;->setRingerModeDelegate(Landroid/media/AudioManagerInternal$RingerModeDelegate;)V
-Landroid/media/AudioManagerInternal;->setRingerModeInternal(ILjava/lang/String;)V
-Landroid/media/AudioManagerInternal;->setStreamVolumeForUid(IIILjava/lang/String;I)V
-Landroid/media/AudioManagerInternal;->silenceRingerModeInternal(Ljava/lang/String;)V
-Landroid/media/AudioManagerInternal;->updateRingerModeAffectedStreamsInternal()V
-Landroid/media/AudioMixPort;
-Landroid/media/AudioMixPort;->buildConfig(IIILandroid/media/AudioGainConfig;)Landroid/media/AudioMixPortConfig;
-Landroid/media/AudioMixPort;->mIoHandle:I
-Landroid/media/AudioMixPortConfig;
-Landroid/media/AudioMixPortConfig;->port()Landroid/media/AudioMixPort;
-Landroid/media/AudioPatch;
-Landroid/media/AudioPatch;->id()I
-Landroid/media/AudioPatch;->mSinks:[Landroid/media/AudioPortConfig;
-Landroid/media/AudioPatch;->mSources:[Landroid/media/AudioPortConfig;
-Landroid/media/AudioPlaybackConfiguration$IPlayerShell;
-Landroid/media/AudioPlaybackConfiguration$IPlayerShell;-><init>(Landroid/media/AudioPlaybackConfiguration;Landroid/media/IPlayer;)V
-Landroid/media/AudioPlaybackConfiguration$IPlayerShell;->getIPlayer()Landroid/media/IPlayer;
-Landroid/media/AudioPlaybackConfiguration$IPlayerShell;->mIPlayer:Landroid/media/IPlayer;
-Landroid/media/AudioPlaybackConfiguration$IPlayerShell;->mMonitor:Landroid/media/AudioPlaybackConfiguration;
-Landroid/media/AudioPlaybackConfiguration$IPlayerShell;->monitorDeath()V
-Landroid/media/AudioPlaybackConfiguration$IPlayerShell;->release()V
-Landroid/media/AudioPlaybackConfiguration$PlayerDeathMonitor;
-Landroid/media/AudioPlaybackConfiguration$PlayerDeathMonitor;->playerDeath(I)V
-Landroid/media/AudioPlaybackConfiguration$PlayerState;
-Landroid/media/AudioPlaybackConfiguration$PlayerType;
-Landroid/media/AudioPlaybackConfiguration;-><init>(I)V
-Landroid/media/AudioPlaybackConfiguration;-><init>(Landroid/media/PlayerBase$PlayerIdCard;III)V
-Landroid/media/AudioPlaybackConfiguration;-><init>(Landroid/os/Parcel;)V
-Landroid/media/AudioPlaybackConfiguration;->anonymizedCopy(Landroid/media/AudioPlaybackConfiguration;)Landroid/media/AudioPlaybackConfiguration;
-Landroid/media/AudioPlaybackConfiguration;->DEBUG:Z
-Landroid/media/AudioPlaybackConfiguration;->dump(Ljava/io/PrintWriter;)V
-Landroid/media/AudioPlaybackConfiguration;->getIPlayer()Landroid/media/IPlayer;
-Landroid/media/AudioPlaybackConfiguration;->handleAudioAttributesEvent(Landroid/media/AudioAttributes;)Z
-Landroid/media/AudioPlaybackConfiguration;->handleStateEvent(I)Z
-Landroid/media/AudioPlaybackConfiguration;->init()V
-Landroid/media/AudioPlaybackConfiguration;->isActive()Z
-Landroid/media/AudioPlaybackConfiguration;->mClientPid:I
-Landroid/media/AudioPlaybackConfiguration;->mClientUid:I
-Landroid/media/AudioPlaybackConfiguration;->mIPlayerShell:Landroid/media/AudioPlaybackConfiguration$IPlayerShell;
-Landroid/media/AudioPlaybackConfiguration;->mPlayerAttr:Landroid/media/AudioAttributes;
-Landroid/media/AudioPlaybackConfiguration;->mPlayerIId:I
-Landroid/media/AudioPlaybackConfiguration;->mPlayerState:I
-Landroid/media/AudioPlaybackConfiguration;->mPlayerType:I
-Landroid/media/AudioPlaybackConfiguration;->playerDied()V
-Landroid/media/AudioPlaybackConfiguration;->PLAYER_PIID_INVALID:I
-Landroid/media/AudioPlaybackConfiguration;->PLAYER_PIID_UNASSIGNED:I
-Landroid/media/AudioPlaybackConfiguration;->PLAYER_TYPE_AAUDIO:I
-Landroid/media/AudioPlaybackConfiguration;->PLAYER_TYPE_EXTERNAL_PROXY:I
-Landroid/media/AudioPlaybackConfiguration;->PLAYER_TYPE_HW_SOURCE:I
-Landroid/media/AudioPlaybackConfiguration;->PLAYER_UPID_INVALID:I
-Landroid/media/AudioPlaybackConfiguration;->sPlayerDeathMonitor:Landroid/media/AudioPlaybackConfiguration$PlayerDeathMonitor;
-Landroid/media/AudioPlaybackConfiguration;->TAG:Ljava/lang/String;
-Landroid/media/AudioPlaybackConfiguration;->toLogFriendlyPlayerState(I)Ljava/lang/String;
-Landroid/media/AudioPlaybackConfiguration;->toLogFriendlyPlayerType(I)Ljava/lang/String;
-Landroid/media/AudioPlaybackConfiguration;->toLogFriendlyString(Landroid/media/AudioPlaybackConfiguration;)Ljava/lang/String;
-Landroid/media/audiopolicy/AudioMix$Builder;-><init>()V
-Landroid/media/audiopolicy/AudioMix$Builder;->mCallbackFlags:I
-Landroid/media/audiopolicy/AudioMix$Builder;->mDeviceAddress:Ljava/lang/String;
-Landroid/media/audiopolicy/AudioMix$Builder;->mDeviceSystemType:I
-Landroid/media/audiopolicy/AudioMix$Builder;->mFormat:Landroid/media/AudioFormat;
-Landroid/media/audiopolicy/AudioMix$Builder;->mRouteFlags:I
-Landroid/media/audiopolicy/AudioMix$Builder;->mRule:Landroid/media/audiopolicy/AudioMixingRule;
-Landroid/media/audiopolicy/AudioMix$Builder;->setCallbackFlags(I)Landroid/media/audiopolicy/AudioMix$Builder;
-Landroid/media/audiopolicy/AudioMix$Builder;->setDevice(ILjava/lang/String;)Landroid/media/audiopolicy/AudioMix$Builder;
-Landroid/media/audiopolicy/AudioMix$Builder;->setMixingRule(Landroid/media/audiopolicy/AudioMixingRule;)Landroid/media/audiopolicy/AudioMix$Builder;
-Landroid/media/audiopolicy/AudioMix$RouteFlags;
-Landroid/media/audiopolicy/AudioMix;-><init>(Landroid/media/audiopolicy/AudioMixingRule;Landroid/media/AudioFormat;IIILjava/lang/String;)V
-Landroid/media/audiopolicy/AudioMix;->CALLBACK_FLAGS_ALL:I
-Landroid/media/audiopolicy/AudioMix;->CALLBACK_FLAG_NOTIFY_ACTIVITY:I
-Landroid/media/audiopolicy/AudioMix;->getFormat()Landroid/media/AudioFormat;
-Landroid/media/audiopolicy/AudioMix;->getMixType()I
-Landroid/media/audiopolicy/AudioMix;->getRegistration()Ljava/lang/String;
-Landroid/media/audiopolicy/AudioMix;->getRouteFlags()I
-Landroid/media/audiopolicy/AudioMix;->getRule()Landroid/media/audiopolicy/AudioMixingRule;
-Landroid/media/audiopolicy/AudioMix;->isAffectingUsage(I)Z
-Landroid/media/audiopolicy/AudioMix;->MIX_TYPE_INVALID:I
-Landroid/media/audiopolicy/AudioMix;->MIX_TYPE_PLAYERS:I
-Landroid/media/audiopolicy/AudioMix;->MIX_TYPE_RECORDERS:I
-Landroid/media/audiopolicy/AudioMix;->mMixState:I
-Landroid/media/audiopolicy/AudioMix;->ROUTE_FLAG_SUPPORTED:I
-Landroid/media/audiopolicy/AudioMix;->setRegistration(Ljava/lang/String;)V
-Landroid/media/audiopolicy/AudioMixingRule$AudioMixMatchCriterion;
-Landroid/media/audiopolicy/AudioMixingRule$AudioMixMatchCriterion;-><init>(Landroid/media/AudioAttributes;I)V
-Landroid/media/audiopolicy/AudioMixingRule$AudioMixMatchCriterion;-><init>(Ljava/lang/Integer;I)V
-Landroid/media/audiopolicy/AudioMixingRule$AudioMixMatchCriterion;->writeToParcel(Landroid/os/Parcel;)V
-Landroid/media/audiopolicy/AudioMixingRule$Builder;->addRuleFromParcel(Landroid/os/Parcel;)Landroid/media/audiopolicy/AudioMixingRule$Builder;
-Landroid/media/audiopolicy/AudioMixingRule$Builder;->addRuleInternal(Landroid/media/AudioAttributes;Ljava/lang/Integer;I)Landroid/media/audiopolicy/AudioMixingRule$Builder;
-Landroid/media/audiopolicy/AudioMixingRule$Builder;->checkAddRuleObjInternal(ILjava/lang/Object;)Landroid/media/audiopolicy/AudioMixingRule$Builder;
-Landroid/media/audiopolicy/AudioMixingRule$Builder;->mCriteria:Ljava/util/ArrayList;
-Landroid/media/audiopolicy/AudioMixingRule$Builder;->mTargetMixType:I
-Landroid/media/audiopolicy/AudioMixingRule;-><init>(ILjava/util/ArrayList;)V
-Landroid/media/audiopolicy/AudioMixingRule;->areCriteriaEquivalent(Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
-Landroid/media/audiopolicy/AudioMixingRule;->getCriteria()Ljava/util/ArrayList;
-Landroid/media/audiopolicy/AudioMixingRule;->getTargetMixType()I
-Landroid/media/audiopolicy/AudioMixingRule;->isAffectingUsage(I)Z
-Landroid/media/audiopolicy/AudioMixingRule;->isAudioAttributeRule(I)Z
-Landroid/media/audiopolicy/AudioMixingRule;->isPlayerRule(I)Z
-Landroid/media/audiopolicy/AudioMixingRule;->isValidAttributesSystemApiRule(I)Z
-Landroid/media/audiopolicy/AudioMixingRule;->isValidRule(I)Z
-Landroid/media/audiopolicy/AudioMixingRule;->isValidSystemApiRule(I)Z
-Landroid/media/audiopolicy/AudioMixingRule;->mTargetMixType:I
-Landroid/media/audiopolicy/AudioMixingRule;->RULE_EXCLUDE_ATTRIBUTE_CAPTURE_PRESET:I
-Landroid/media/audiopolicy/AudioMixingRule;->RULE_EXCLUDE_ATTRIBUTE_USAGE:I
-Landroid/media/audiopolicy/AudioMixingRule;->RULE_EXCLUDE_UID:I
-Landroid/media/audiopolicy/AudioMixingRule;->RULE_EXCLUSION_MASK:I
-Landroid/media/audiopolicy/AudioPolicy$AudioPolicyVolumeCallback;-><init>()V
-Landroid/media/audiopolicy/AudioPolicy$Builder;->mContext:Landroid/content/Context;
-Landroid/media/audiopolicy/AudioPolicy$Builder;->mFocusListener:Landroid/media/audiopolicy/AudioPolicy$AudioPolicyFocusListener;
-Landroid/media/audiopolicy/AudioPolicy$Builder;->mIsFocusPolicy:Z
-Landroid/media/audiopolicy/AudioPolicy$Builder;->mLooper:Landroid/os/Looper;
-Landroid/media/audiopolicy/AudioPolicy$Builder;->mMixes:Ljava/util/ArrayList;
-Landroid/media/audiopolicy/AudioPolicy$Builder;->mStatusListener:Landroid/media/audiopolicy/AudioPolicy$AudioPolicyStatusListener;
-Landroid/media/audiopolicy/AudioPolicy$Builder;->mVolCb:Landroid/media/audiopolicy/AudioPolicy$AudioPolicyVolumeCallback;
-Landroid/media/audiopolicy/AudioPolicy$EventHandler;
-Landroid/media/audiopolicy/AudioPolicy$EventHandler;-><init>(Landroid/media/audiopolicy/AudioPolicy;Landroid/os/Looper;)V
-Landroid/media/audiopolicy/AudioPolicy$PolicyStatus;
-Landroid/media/audiopolicy/AudioPolicy;-><init>(Landroid/media/audiopolicy/AudioPolicyConfig;Landroid/content/Context;Landroid/os/Looper;Landroid/media/audiopolicy/AudioPolicy$AudioPolicyFocusListener;Landroid/media/audiopolicy/AudioPolicy$AudioPolicyStatusListener;ZLandroid/media/audiopolicy/AudioPolicy$AudioPolicyVolumeCallback;)V
-Landroid/media/audiopolicy/AudioPolicy;->addressForTag(Landroid/media/audiopolicy/AudioMix;)Ljava/lang/String;
-Landroid/media/audiopolicy/AudioPolicy;->cb()Landroid/media/audiopolicy/IAudioPolicyCallback;
-Landroid/media/audiopolicy/AudioPolicy;->checkMixReadyToUse(Landroid/media/audiopolicy/AudioMix;Z)V
-Landroid/media/audiopolicy/AudioPolicy;->DEBUG:Z
-Landroid/media/audiopolicy/AudioPolicy;->getConfig()Landroid/media/audiopolicy/AudioPolicyConfig;
-Landroid/media/audiopolicy/AudioPolicy;->getService()Landroid/media/IAudioService;
-Landroid/media/audiopolicy/AudioPolicy;->hasFocusListener()Z
-Landroid/media/audiopolicy/AudioPolicy;->isFocusPolicy()Z
-Landroid/media/audiopolicy/AudioPolicy;->isVolumeController()Z
-Landroid/media/audiopolicy/AudioPolicy;->mConfig:Landroid/media/audiopolicy/AudioPolicyConfig;
-Landroid/media/audiopolicy/AudioPolicy;->mContext:Landroid/content/Context;
-Landroid/media/audiopolicy/AudioPolicy;->mEventHandler:Landroid/media/audiopolicy/AudioPolicy$EventHandler;
-Landroid/media/audiopolicy/AudioPolicy;->mFocusListener:Landroid/media/audiopolicy/AudioPolicy$AudioPolicyFocusListener;
-Landroid/media/audiopolicy/AudioPolicy;->mIsFocusPolicy:Z
-Landroid/media/audiopolicy/AudioPolicy;->mLock:Ljava/lang/Object;
-Landroid/media/audiopolicy/AudioPolicy;->mPolicyCb:Landroid/media/audiopolicy/IAudioPolicyCallback;
-Landroid/media/audiopolicy/AudioPolicy;->mRegistrationId:Ljava/lang/String;
-Landroid/media/audiopolicy/AudioPolicy;->MSG_FOCUS_ABANDON:I
-Landroid/media/audiopolicy/AudioPolicy;->MSG_FOCUS_GRANT:I
-Landroid/media/audiopolicy/AudioPolicy;->MSG_FOCUS_LOSS:I
-Landroid/media/audiopolicy/AudioPolicy;->MSG_FOCUS_REQUEST:I
-Landroid/media/audiopolicy/AudioPolicy;->MSG_MIX_STATE_UPDATE:I
-Landroid/media/audiopolicy/AudioPolicy;->MSG_POLICY_STATUS_CHANGE:I
-Landroid/media/audiopolicy/AudioPolicy;->MSG_VOL_ADJUST:I
-Landroid/media/audiopolicy/AudioPolicy;->mStatus:I
-Landroid/media/audiopolicy/AudioPolicy;->mStatusListener:Landroid/media/audiopolicy/AudioPolicy$AudioPolicyStatusListener;
-Landroid/media/audiopolicy/AudioPolicy;->mVolCb:Landroid/media/audiopolicy/AudioPolicy$AudioPolicyVolumeCallback;
-Landroid/media/audiopolicy/AudioPolicy;->onPolicyStatusChange()V
-Landroid/media/audiopolicy/AudioPolicy;->policyReadyToUse()Z
-Landroid/media/audiopolicy/AudioPolicy;->sendMsg(I)V
-Landroid/media/audiopolicy/AudioPolicy;->sendMsg(ILjava/lang/Object;I)V
-Landroid/media/audiopolicy/AudioPolicy;->sService:Landroid/media/IAudioService;
-Landroid/media/audiopolicy/AudioPolicy;->TAG:Ljava/lang/String;
-Landroid/media/audiopolicy/AudioPolicyConfig;
-Landroid/media/audiopolicy/AudioPolicyConfig;-><init>(Landroid/media/audiopolicy/AudioPolicyConfig;)V
-Landroid/media/audiopolicy/AudioPolicyConfig;-><init>(Landroid/os/Parcel;)V
-Landroid/media/audiopolicy/AudioPolicyConfig;-><init>(Ljava/util/ArrayList;)V
-Landroid/media/audiopolicy/AudioPolicyConfig;->add(Ljava/util/ArrayList;)V
-Landroid/media/audiopolicy/AudioPolicyConfig;->addMix(Landroid/media/audiopolicy/AudioMix;)V
-Landroid/media/audiopolicy/AudioPolicyConfig;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/media/audiopolicy/AudioPolicyConfig;->getMixes()Ljava/util/ArrayList;
-Landroid/media/audiopolicy/AudioPolicyConfig;->getRegistration()Ljava/lang/String;
-Landroid/media/audiopolicy/AudioPolicyConfig;->mDuckingPolicy:I
-Landroid/media/audiopolicy/AudioPolicyConfig;->mixTypeId(I)Ljava/lang/String;
-Landroid/media/audiopolicy/AudioPolicyConfig;->mMixCounter:I
-Landroid/media/audiopolicy/AudioPolicyConfig;->mMixes:Ljava/util/ArrayList;
-Landroid/media/audiopolicy/AudioPolicyConfig;->mRegistrationId:Ljava/lang/String;
-Landroid/media/audiopolicy/AudioPolicyConfig;->remove(Ljava/util/ArrayList;)V
-Landroid/media/audiopolicy/AudioPolicyConfig;->setMixRegistration(Landroid/media/audiopolicy/AudioMix;)V
-Landroid/media/audiopolicy/AudioPolicyConfig;->setRegistration(Ljava/lang/String;)V
-Landroid/media/audiopolicy/AudioPolicyConfig;->TAG:Ljava/lang/String;
-Landroid/media/audiopolicy/AudioPolicyConfig;->toLogFriendlyString()Ljava/lang/String;
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub$Proxy;
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub$Proxy;->notifyAudioFocusAbandon(Landroid/media/AudioFocusInfo;)V
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub$Proxy;->notifyAudioFocusGrant(Landroid/media/AudioFocusInfo;I)V
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub$Proxy;->notifyAudioFocusLoss(Landroid/media/AudioFocusInfo;Z)V
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub$Proxy;->notifyAudioFocusRequest(Landroid/media/AudioFocusInfo;I)V
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub$Proxy;->notifyMixStateUpdate(Ljava/lang/String;I)V
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub$Proxy;->notifyVolumeAdjust(I)V
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub;
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub;-><init>()V
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/audiopolicy/IAudioPolicyCallback;
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub;->TRANSACTION_notifyAudioFocusAbandon:I
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub;->TRANSACTION_notifyAudioFocusGrant:I
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub;->TRANSACTION_notifyAudioFocusLoss:I
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub;->TRANSACTION_notifyAudioFocusRequest:I
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub;->TRANSACTION_notifyMixStateUpdate:I
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub;->TRANSACTION_notifyVolumeAdjust:I
-Landroid/media/audiopolicy/IAudioPolicyCallback;
-Landroid/media/audiopolicy/IAudioPolicyCallback;->notifyAudioFocusAbandon(Landroid/media/AudioFocusInfo;)V
-Landroid/media/audiopolicy/IAudioPolicyCallback;->notifyAudioFocusGrant(Landroid/media/AudioFocusInfo;I)V
-Landroid/media/audiopolicy/IAudioPolicyCallback;->notifyAudioFocusLoss(Landroid/media/AudioFocusInfo;Z)V
-Landroid/media/audiopolicy/IAudioPolicyCallback;->notifyAudioFocusRequest(Landroid/media/AudioFocusInfo;I)V
-Landroid/media/audiopolicy/IAudioPolicyCallback;->notifyMixStateUpdate(Ljava/lang/String;I)V
-Landroid/media/audiopolicy/IAudioPolicyCallback;->notifyVolumeAdjust(I)V
-Landroid/media/AudioPort;
-Landroid/media/AudioPort;->activeConfig()Landroid/media/AudioPortConfig;
-Landroid/media/AudioPort;->buildConfig(IIILandroid/media/AudioGainConfig;)Landroid/media/AudioPortConfig;
-Landroid/media/AudioPort;->channelIndexMasks()[I
-Landroid/media/AudioPort;->channelMasks()[I
-Landroid/media/AudioPort;->formats()[I
-Landroid/media/AudioPort;->gain(I)Landroid/media/AudioGain;
-Landroid/media/AudioPort;->gains()[Landroid/media/AudioGain;
-Landroid/media/AudioPort;->handle()Landroid/media/AudioHandle;
-Landroid/media/AudioPort;->mChannelIndexMasks:[I
-Landroid/media/AudioPort;->mChannelMasks:[I
-Landroid/media/AudioPort;->mFormats:[I
-Landroid/media/AudioPort;->mName:Ljava/lang/String;
-Landroid/media/AudioPort;->mSamplingRates:[I
-Landroid/media/AudioPort;->name()Ljava/lang/String;
-Landroid/media/AudioPort;->ROLE_NONE:I
-Landroid/media/AudioPort;->ROLE_SINK:I
-Landroid/media/AudioPort;->ROLE_SOURCE:I
-Landroid/media/AudioPort;->samplingRates()[I
-Landroid/media/AudioPort;->TAG:Ljava/lang/String;
-Landroid/media/AudioPort;->TYPE_DEVICE:I
-Landroid/media/AudioPort;->TYPE_NONE:I
-Landroid/media/AudioPort;->TYPE_SESSION:I
-Landroid/media/AudioPort;->TYPE_SUBMIX:I
-Landroid/media/AudioPortConfig;
-Landroid/media/AudioPortConfig;->channelMask()I
-Landroid/media/AudioPortConfig;->CHANNEL_MASK:I
-Landroid/media/AudioPortConfig;->format()I
-Landroid/media/AudioPortConfig;->FORMAT:I
-Landroid/media/AudioPortConfig;->gain()Landroid/media/AudioGainConfig;
-Landroid/media/AudioPortConfig;->GAIN:I
-Landroid/media/AudioPortConfig;->SAMPLE_RATE:I
-Landroid/media/AudioPortConfig;->samplingRate()I
-Landroid/media/AudioPortEventHandler;
-Landroid/media/AudioPortEventHandler;-><init>()V
-Landroid/media/AudioPortEventHandler;->AUDIOPORT_EVENT_NEW_LISTENER:I
-Landroid/media/AudioPortEventHandler;->AUDIOPORT_EVENT_PATCH_LIST_UPDATED:I
-Landroid/media/AudioPortEventHandler;->AUDIOPORT_EVENT_PORT_LIST_UPDATED:I
-Landroid/media/AudioPortEventHandler;->AUDIOPORT_EVENT_SERVICE_DIED:I
-Landroid/media/AudioPortEventHandler;->handler()Landroid/os/Handler;
-Landroid/media/AudioPortEventHandler;->init()V
-Landroid/media/AudioPortEventHandler;->mHandler:Landroid/os/Handler;
-Landroid/media/AudioPortEventHandler;->mHandlerThread:Landroid/os/HandlerThread;
-Landroid/media/AudioPortEventHandler;->mListeners:Ljava/util/ArrayList;
-Landroid/media/AudioPortEventHandler;->native_finalize()V
-Landroid/media/AudioPortEventHandler;->native_setup(Ljava/lang/Object;)V
-Landroid/media/AudioPortEventHandler;->registerListener(Landroid/media/AudioManager$OnAudioPortUpdateListener;)V
-Landroid/media/AudioPortEventHandler;->RESCHEDULE_MESSAGE_DELAY_MS:J
-Landroid/media/AudioPortEventHandler;->TAG:Ljava/lang/String;
-Landroid/media/AudioPortEventHandler;->unregisterListener(Landroid/media/AudioManager$OnAudioPortUpdateListener;)V
-Landroid/media/AudioPresentation$MasteringIndicationType;
-Landroid/media/AudioPresentation;->mAudioDescriptionAvailable:Z
-Landroid/media/AudioPresentation;->mDialogueEnhancementAvailable:Z
-Landroid/media/AudioPresentation;->mLabels:Ljava/util/Map;
-Landroid/media/AudioPresentation;->mLanguage:Ljava/lang/String;
-Landroid/media/AudioPresentation;->mMasteringIndication:I
-Landroid/media/AudioPresentation;->mPresentationId:I
-Landroid/media/AudioPresentation;->mProgramId:I
-Landroid/media/AudioPresentation;->mSpokenSubtitlesAvailable:Z
-Landroid/media/AudioRecord$Builder;->mAttributes:Landroid/media/AudioAttributes;
-Landroid/media/AudioRecord$Builder;->mBufferSizeInBytes:I
-Landroid/media/AudioRecord$Builder;->mFormat:Landroid/media/AudioFormat;
-Landroid/media/AudioRecord$Builder;->mSessionId:I
-Landroid/media/AudioRecord$MetricsConstants;-><init>()V
-Landroid/media/AudioRecord$NativeEventHandler;
-Landroid/media/AudioRecord$NativeEventHandler;-><init>(Landroid/media/AudioRecord;Landroid/os/Looper;)V
-Landroid/media/AudioRecord$NativeEventHandler;->mAudioRecord:Landroid/media/AudioRecord;
-Landroid/media/AudioRecord$ReadMode;
-Landroid/media/AudioRecord;-><init>(J)V
-Landroid/media/AudioRecord;->audioBuffSizeCheck(I)V
-Landroid/media/AudioRecord;->audioParamCheck(III)V
-Landroid/media/AudioRecord;->AUDIORECORD_ERROR_SETUP_INVALIDCHANNELMASK:I
-Landroid/media/AudioRecord;->AUDIORECORD_ERROR_SETUP_INVALIDFORMAT:I
-Landroid/media/AudioRecord;->AUDIORECORD_ERROR_SETUP_INVALIDSOURCE:I
-Landroid/media/AudioRecord;->AUDIORECORD_ERROR_SETUP_NATIVEINITFAILED:I
-Landroid/media/AudioRecord;->AUDIORECORD_ERROR_SETUP_ZEROFRAMECOUNT:I
-Landroid/media/AudioRecord;->broadcastRoutingChange()V
-Landroid/media/AudioRecord;->deferred_connect(J)V
-Landroid/media/AudioRecord;->getChannelMaskFromLegacyConfig(IZ)I
-Landroid/media/AudioRecord;->handleFullVolumeRec(Z)V
-Landroid/media/AudioRecord;->logd(Ljava/lang/String;)V
-Landroid/media/AudioRecord;->loge(Ljava/lang/String;)V
-Landroid/media/AudioRecord;->mAudioFormat:I
-Landroid/media/AudioRecord;->mChannelCount:I
-Landroid/media/AudioRecord;->mChannelIndexMask:I
-Landroid/media/AudioRecord;->mChannelMask:I
-Landroid/media/AudioRecord;->mEventHandler:Landroid/media/AudioRecord$NativeEventHandler;
-Landroid/media/AudioRecord;->mICallBack:Landroid/os/IBinder;
-Landroid/media/AudioRecord;->mIsSubmixFullVolume:Z
-Landroid/media/AudioRecord;->mNativeBufferSizeInBytes:I
-Landroid/media/AudioRecord;->mPositionListener:Landroid/media/AudioRecord$OnRecordPositionUpdateListener;
-Landroid/media/AudioRecord;->mPositionListenerLock:Ljava/lang/Object;
-Landroid/media/AudioRecord;->mPreferredDevice:Landroid/media/AudioDeviceInfo;
-Landroid/media/AudioRecord;->mRecordingState:I
-Landroid/media/AudioRecord;->mRecordingStateLock:Ljava/lang/Object;
-Landroid/media/AudioRecord;->mRecordSource:I
-Landroid/media/AudioRecord;->mRoutingChangeListeners:Landroid/util/ArrayMap;
-Landroid/media/AudioRecord;->mSampleRate:I
-Landroid/media/AudioRecord;->mSessionId:I
-Landroid/media/AudioRecord;->mState:I
-Landroid/media/AudioRecord;->native_disableDeviceCallback()V
-Landroid/media/AudioRecord;->native_enableDeviceCallback()V
-Landroid/media/AudioRecord;->NATIVE_EVENT_MARKER:I
-Landroid/media/AudioRecord;->NATIVE_EVENT_NEW_POS:I
-Landroid/media/AudioRecord;->native_finalize()V
-Landroid/media/AudioRecord;->native_getMetrics()Landroid/os/PersistableBundle;
-Landroid/media/AudioRecord;->native_getRoutedDeviceId()I
-Landroid/media/AudioRecord;->native_get_active_microphones(Ljava/util/ArrayList;)I
-Landroid/media/AudioRecord;->native_get_buffer_size_in_frames()I
-Landroid/media/AudioRecord;->native_get_marker_pos()I
-Landroid/media/AudioRecord;->native_get_min_buff_size(III)I
-Landroid/media/AudioRecord;->native_get_pos_update_period()I
-Landroid/media/AudioRecord;->native_get_timestamp(Landroid/media/AudioTimestamp;I)I
-Landroid/media/AudioRecord;->native_read_in_byte_array([BIIZ)I
-Landroid/media/AudioRecord;->native_read_in_direct_buffer(Ljava/lang/Object;IZ)I
-Landroid/media/AudioRecord;->native_read_in_float_array([FIIZ)I
-Landroid/media/AudioRecord;->native_read_in_short_array([SIIZ)I
-Landroid/media/AudioRecord;->native_setInputDevice(I)Z
-Landroid/media/AudioRecord;->native_set_marker_pos(I)I
-Landroid/media/AudioRecord;->native_set_pos_update_period(I)I
-Landroid/media/AudioRecord;->native_start(II)I
-Landroid/media/AudioRecord;->native_stop()V
-Landroid/media/AudioRecord;->SUBMIX_FIXED_VOLUME:Ljava/lang/String;
-Landroid/media/AudioRecord;->TAG:Ljava/lang/String;
-Landroid/media/AudioRecord;->testDisableNativeRoutingCallbacksLocked()V
-Landroid/media/AudioRecord;->testEnableNativeRoutingCallbacksLocked()V
-Landroid/media/AudioRecordingConfiguration$AudioSource;
-Landroid/media/AudioRecordingConfiguration;-><init>(IIILandroid/media/AudioFormat;Landroid/media/AudioFormat;ILjava/lang/String;)V
-Landroid/media/AudioRecordingConfiguration;-><init>(Landroid/os/Parcel;)V
-Landroid/media/AudioRecordingConfiguration;->anonymizedCopy(Landroid/media/AudioRecordingConfiguration;)Landroid/media/AudioRecordingConfiguration;
-Landroid/media/AudioRecordingConfiguration;->dump(Ljava/io/PrintWriter;)V
-Landroid/media/AudioRecordingConfiguration;->mClientFormat:Landroid/media/AudioFormat;
-Landroid/media/AudioRecordingConfiguration;->mClientPackageName:Ljava/lang/String;
-Landroid/media/AudioRecordingConfiguration;->mClientSource:I
-Landroid/media/AudioRecordingConfiguration;->mClientUid:I
-Landroid/media/AudioRecordingConfiguration;->mDeviceFormat:Landroid/media/AudioFormat;
-Landroid/media/AudioRecordingConfiguration;->mPatchHandle:I
-Landroid/media/AudioRecordingConfiguration;->mSessionId:I
-Landroid/media/AudioRecordingConfiguration;->TAG:Ljava/lang/String;
-Landroid/media/AudioRecordingConfiguration;->toLogFriendlyString(Landroid/media/AudioRecordingConfiguration;)Ljava/lang/String;
-Landroid/media/AudioRoutesInfo;
-Landroid/media/AudioRoutesInfo;-><init>()V
-Landroid/media/AudioRoutesInfo;-><init>(Landroid/media/AudioRoutesInfo;)V
-Landroid/media/AudioRoutesInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/media/AudioRoutesInfo;->bluetoothName:Ljava/lang/CharSequence;
-Landroid/media/AudioRoutesInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/media/AudioRoutesInfo;->mainType:I
-Landroid/media/AudioRoutesInfo;->MAIN_DOCK_SPEAKERS:I
-Landroid/media/AudioRoutesInfo;->MAIN_HDMI:I
-Landroid/media/AudioRoutesInfo;->MAIN_HEADPHONES:I
-Landroid/media/AudioRoutesInfo;->MAIN_HEADSET:I
-Landroid/media/AudioRoutesInfo;->MAIN_SPEAKER:I
-Landroid/media/AudioRoutesInfo;->MAIN_USB:I
-Landroid/media/AudioRoutesInfo;->typeToString(I)Ljava/lang/String;
-Landroid/media/AudioSystem$AudioRecordingCallback;
-Landroid/media/AudioSystem$AudioRecordingCallback;->onRecordingConfigurationChanged(IIII[ILjava/lang/String;)V
-Landroid/media/AudioSystem$DynamicPolicyCallback;
-Landroid/media/AudioSystem$DynamicPolicyCallback;->onDynamicPolicyMixStateUpdate(Ljava/lang/String;I)V
-Landroid/media/AudioSystem$ErrorCallback;
-Landroid/media/AudioSystem$ErrorCallback;->onError(I)V
-Landroid/media/AudioSystem;
-Landroid/media/AudioSystem;-><init>()V
-Landroid/media/AudioSystem;->AUDIO_HW_SYNC_INVALID:I
-Landroid/media/AudioSystem;->AUDIO_SESSION_ALLOCATE:I
-Landroid/media/AudioSystem;->AUDIO_STATUS_ERROR:I
-Landroid/media/AudioSystem;->AUDIO_STATUS_OK:I
-Landroid/media/AudioSystem;->AUDIO_STATUS_SERVER_DIED:I
-Landroid/media/AudioSystem;->BAD_VALUE:I
-Landroid/media/AudioSystem;->createAudioPatch([Landroid/media/AudioPatch;[Landroid/media/AudioPortConfig;[Landroid/media/AudioPortConfig;)I
-Landroid/media/AudioSystem;->DEAD_OBJECT:I
-Landroid/media/AudioSystem;->DEFAULT_MUTE_STREAMS_AFFECTED:I
-Landroid/media/AudioSystem;->DEFAULT_STREAM_VOLUME:[I
-Landroid/media/AudioSystem;->deviceStateToString(I)Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_ALL_HDMI_SYSTEM_AUDIO_AND_SPEAKER:I
-Landroid/media/AudioSystem;->DEVICE_BIT_DEFAULT:I
-Landroid/media/AudioSystem;->DEVICE_BIT_IN:I
-Landroid/media/AudioSystem;->DEVICE_IN_ALL:I
-Landroid/media/AudioSystem;->DEVICE_IN_ALL_SCO:I
-Landroid/media/AudioSystem;->DEVICE_IN_ALL_USB:I
-Landroid/media/AudioSystem;->DEVICE_IN_AMBIENT_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_ANLG_DOCK_HEADSET_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_AUX_DIGITAL_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_BACK_MIC_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_BLUETOOTH_A2DP_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_BLUETOOTH_SCO_HEADSET_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_BUILTIN_MIC_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_BUS:I
-Landroid/media/AudioSystem;->DEVICE_IN_BUS_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_COMMUNICATION_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_DGTL_DOCK_HEADSET_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_FM_TUNER:I
-Landroid/media/AudioSystem;->DEVICE_IN_FM_TUNER_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_HDMI:I
-Landroid/media/AudioSystem;->DEVICE_IN_IP:I
-Landroid/media/AudioSystem;->DEVICE_IN_IP_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_LINE:I
-Landroid/media/AudioSystem;->DEVICE_IN_LINE_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_LOOPBACK:I
-Landroid/media/AudioSystem;->DEVICE_IN_LOOPBACK_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_PROXY:I
-Landroid/media/AudioSystem;->DEVICE_IN_PROXY_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_REMOTE_SUBMIX_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_SPDIF:I
-Landroid/media/AudioSystem;->DEVICE_IN_SPDIF_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_TELEPHONY_RX:I
-Landroid/media/AudioSystem;->DEVICE_IN_TELEPHONY_RX_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_TV_TUNER:I
-Landroid/media/AudioSystem;->DEVICE_IN_TV_TUNER_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_USB_ACCESSORY_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_USB_DEVICE_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_USB_HEADSET:I
-Landroid/media/AudioSystem;->DEVICE_IN_USB_HEADSET_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_IN_WIRED_HEADSET_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_NONE:I
-Landroid/media/AudioSystem;->DEVICE_OUT_ALL:I
-Landroid/media/AudioSystem;->DEVICE_OUT_ALL_A2DP:I
-Landroid/media/AudioSystem;->DEVICE_OUT_ALL_HDMI_SYSTEM_AUDIO:I
-Landroid/media/AudioSystem;->DEVICE_OUT_ALL_SCO:I
-Landroid/media/AudioSystem;->DEVICE_OUT_ANLG_DOCK_HEADSET_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_AUX_DIGITAL_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_AUX_LINE:I
-Landroid/media/AudioSystem;->DEVICE_OUT_AUX_LINE_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_BLUETOOTH_A2DP_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_BLUETOOTH_SCO_CARKIT_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_BLUETOOTH_SCO_HEADSET_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_BLUETOOTH_SCO_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_BUS:I
-Landroid/media/AudioSystem;->DEVICE_OUT_BUS_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_DEFAULT:I
-Landroid/media/AudioSystem;->DEVICE_OUT_DGTL_DOCK_HEADSET_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_EARPIECE_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_FM_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_HDMI:I
-Landroid/media/AudioSystem;->DEVICE_OUT_HDMI_ARC:I
-Landroid/media/AudioSystem;->DEVICE_OUT_HDMI_ARC_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_HDMI_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_HEARING_AID:I
-Landroid/media/AudioSystem;->DEVICE_OUT_HEARING_AID_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_IP:I
-Landroid/media/AudioSystem;->DEVICE_OUT_IP_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_LINE:I
-Landroid/media/AudioSystem;->DEVICE_OUT_LINE_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_PROXY:I
-Landroid/media/AudioSystem;->DEVICE_OUT_PROXY_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_REMOTE_SUBMIX_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_SPDIF:I
-Landroid/media/AudioSystem;->DEVICE_OUT_SPDIF_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_SPEAKER_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_SPEAKER_SAFE:I
-Landroid/media/AudioSystem;->DEVICE_OUT_SPEAKER_SAFE_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_TELEPHONY_TX_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_USB_ACCESSORY_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_USB_DEVICE_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_USB_HEADSET:I
-Landroid/media/AudioSystem;->DEVICE_OUT_USB_HEADSET_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_WIRED_HEADPHONE_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DEVICE_OUT_WIRED_HEADSET_NAME:Ljava/lang/String;
-Landroid/media/AudioSystem;->DYNAMIC_POLICY_EVENT_MIX_STATE_UPDATE:I
-Landroid/media/AudioSystem;->ERROR:I
-Landroid/media/AudioSystem;->forceUseConfigToString(I)Ljava/lang/String;
-Landroid/media/AudioSystem;->forceUseUsageToString(I)Ljava/lang/String;
-Landroid/media/AudioSystem;->FORCE_BT_A2DP:I
-Landroid/media/AudioSystem;->FORCE_BT_SCO:I
-Landroid/media/AudioSystem;->FORCE_DEFAULT:I
-Landroid/media/AudioSystem;->FORCE_ENCODED_SURROUND_ALWAYS:I
-Landroid/media/AudioSystem;->FORCE_ENCODED_SURROUND_MANUAL:I
-Landroid/media/AudioSystem;->FORCE_ENCODED_SURROUND_NEVER:I
-Landroid/media/AudioSystem;->FORCE_HDMI_SYSTEM_AUDIO_ENFORCED:I
-Landroid/media/AudioSystem;->FORCE_HEADPHONES:I
-Landroid/media/AudioSystem;->FORCE_NO_BT_A2DP:I
-Landroid/media/AudioSystem;->FORCE_SPEAKER:I
-Landroid/media/AudioSystem;->FORCE_SYSTEM_ENFORCED:I
-Landroid/media/AudioSystem;->FORCE_WIRED_ACCESSORY:I
-Landroid/media/AudioSystem;->FOR_COMMUNICATION:I
-Landroid/media/AudioSystem;->FOR_DOCK:I
-Landroid/media/AudioSystem;->FOR_ENCODED_SURROUND:I
-Landroid/media/AudioSystem;->FOR_HDMI_SYSTEM_AUDIO:I
-Landroid/media/AudioSystem;->FOR_MEDIA:I
-Landroid/media/AudioSystem;->FOR_RECORD:I
-Landroid/media/AudioSystem;->FOR_SYSTEM:I
-Landroid/media/AudioSystem;->FOR_VIBRATE_RINGING:I
-Landroid/media/AudioSystem;->getAudioHwSyncForSession(I)I
-Landroid/media/AudioSystem;->getDefaultStreamVolume(I)I
-Landroid/media/AudioSystem;->getInputDeviceName(I)Ljava/lang/String;
-Landroid/media/AudioSystem;->getMasterMono()Z
-Landroid/media/AudioSystem;->getMasterVolume()F
-Landroid/media/AudioSystem;->getMicrophones(Ljava/util/ArrayList;)I
-Landroid/media/AudioSystem;->getPlatformType(Landroid/content/Context;)I
-Landroid/media/AudioSystem;->getStreamVolumeDB(III)F
-Landroid/media/AudioSystem;->getStreamVolumeIndex(II)I
-Landroid/media/AudioSystem;->getSurroundFormats(Ljava/util/Map;Z)I
-Landroid/media/AudioSystem;->getValueForVibrateSetting(III)I
-Landroid/media/AudioSystem;->handleDeviceConfigChange(ILjava/lang/String;Ljava/lang/String;)I
-Landroid/media/AudioSystem;->INVALID_OPERATION:I
-Landroid/media/AudioSystem;->IN_VOICE_COMM_FOCUS_ID:Ljava/lang/String;
-Landroid/media/AudioSystem;->isOffloadSupported(Landroid/media/AudioFormat;)Z
-Landroid/media/AudioSystem;->isSingleVolume(Landroid/content/Context;)Z
-Landroid/media/AudioSystem;->isStreamActiveRemotely(II)Z
-Landroid/media/AudioSystem;->listAudioPatches(Ljava/util/ArrayList;[I)I
-Landroid/media/AudioSystem;->listAudioPorts(Ljava/util/ArrayList;[I)I
-Landroid/media/AudioSystem;->mErrorCallback:Landroid/media/AudioSystem$ErrorCallback;
-Landroid/media/AudioSystem;->modeToString(I)Ljava/lang/String;
-Landroid/media/AudioSystem;->MODE_CURRENT:I
-Landroid/media/AudioSystem;->MODE_INVALID:I
-Landroid/media/AudioSystem;->MODE_IN_CALL:I
-Landroid/media/AudioSystem;->MODE_IN_COMMUNICATION:I
-Landroid/media/AudioSystem;->MODE_NORMAL:I
-Landroid/media/AudioSystem;->MODE_RINGTONE:I
-Landroid/media/AudioSystem;->NATIVE_EVENT_ROUTING_CHANGE:I
-Landroid/media/AudioSystem;->native_is_offload_supported(IIII)Z
-Landroid/media/AudioSystem;->native_register_dynamic_policy_callback()V
-Landroid/media/AudioSystem;->native_register_recording_callback()V
-Landroid/media/AudioSystem;->newAudioPlayerId()I
-Landroid/media/AudioSystem;->newAudioSessionId()I
-Landroid/media/AudioSystem;->NO_INIT:I
-Landroid/media/AudioSystem;->NUM_DEVICE_STATES:I
-Landroid/media/AudioSystem;->NUM_FORCE_CONFIG:I
-Landroid/media/AudioSystem;->NUM_FORCE_USE:I
-Landroid/media/AudioSystem;->NUM_MODES:I
-Landroid/media/AudioSystem;->NUM_STREAMS:I
-Landroid/media/AudioSystem;->NUM_STREAM_TYPES:I
-Landroid/media/AudioSystem;->PERMISSION_DENIED:I
-Landroid/media/AudioSystem;->PHONE_STATE_INCALL:I
-Landroid/media/AudioSystem;->PHONE_STATE_OFFCALL:I
-Landroid/media/AudioSystem;->PHONE_STATE_RINGING:I
-Landroid/media/AudioSystem;->PLATFORM_DEFAULT:I
-Landroid/media/AudioSystem;->PLATFORM_TELEVISION:I
-Landroid/media/AudioSystem;->PLATFORM_VOICE:I
-Landroid/media/AudioSystem;->PLAY_SOUND_DELAY:I
-Landroid/media/AudioSystem;->registerPolicyMixes(Ljava/util/ArrayList;Z)I
-Landroid/media/AudioSystem;->releaseAudioPatch(Landroid/media/AudioPatch;)I
-Landroid/media/AudioSystem;->ROUTE_ALL:I
-Landroid/media/AudioSystem;->ROUTE_BLUETOOTH:I
-Landroid/media/AudioSystem;->ROUTE_BLUETOOTH_A2DP:I
-Landroid/media/AudioSystem;->ROUTE_BLUETOOTH_SCO:I
-Landroid/media/AudioSystem;->ROUTE_EARPIECE:I
-Landroid/media/AudioSystem;->ROUTE_HEADSET:I
-Landroid/media/AudioSystem;->ROUTE_SPEAKER:I
-Landroid/media/AudioSystem;->sDynPolicyCallback:Landroid/media/AudioSystem$DynamicPolicyCallback;
-Landroid/media/AudioSystem;->setAudioPortConfig(Landroid/media/AudioPortConfig;)I
-Landroid/media/AudioSystem;->setDynamicPolicyCallback(Landroid/media/AudioSystem$DynamicPolicyCallback;)V
-Landroid/media/AudioSystem;->setLowRamDevice(ZJ)I
-Landroid/media/AudioSystem;->setMasterMono(Z)I
-Landroid/media/AudioSystem;->setMasterVolume(F)I
-Landroid/media/AudioSystem;->setRecordingCallback(Landroid/media/AudioSystem$AudioRecordingCallback;)V
-Landroid/media/AudioSystem;->setSurroundFormatEnabled(IZ)I
-Landroid/media/AudioSystem;->sRecordingCallback:Landroid/media/AudioSystem$AudioRecordingCallback;
-Landroid/media/AudioSystem;->streamToString(I)Ljava/lang/String;
-Landroid/media/AudioSystem;->STREAM_ACCESSIBILITY:I
-Landroid/media/AudioSystem;->STREAM_ALARM:I
-Landroid/media/AudioSystem;->STREAM_BLUETOOTH_SCO:I
-Landroid/media/AudioSystem;->STREAM_DEFAULT:I
-Landroid/media/AudioSystem;->STREAM_DTMF:I
-Landroid/media/AudioSystem;->STREAM_MUSIC:I
-Landroid/media/AudioSystem;->STREAM_NAMES:[Ljava/lang/String;
-Landroid/media/AudioSystem;->STREAM_NOTIFICATION:I
-Landroid/media/AudioSystem;->STREAM_RING:I
-Landroid/media/AudioSystem;->STREAM_SYSTEM:I
-Landroid/media/AudioSystem;->STREAM_TTS:I
-Landroid/media/AudioSystem;->STREAM_VOICE_CALL:I
-Landroid/media/AudioSystem;->SUCCESS:I
-Landroid/media/AudioSystem;->SYNC_EVENT_NONE:I
-Landroid/media/AudioSystem;->SYNC_EVENT_PRESENTATION_COMPLETE:I
-Landroid/media/AudioSystem;->systemReady()I
-Landroid/media/AudioSystem;->TAG:Ljava/lang/String;
-Landroid/media/AudioSystem;->WOULD_BLOCK:I
-Landroid/media/AudioTimestamp$Timebase;
-Landroid/media/AudioTrack$Builder;->mAttributes:Landroid/media/AudioAttributes;
-Landroid/media/AudioTrack$Builder;->mBufferSizeInBytes:I
-Landroid/media/AudioTrack$Builder;->mFormat:Landroid/media/AudioFormat;
-Landroid/media/AudioTrack$Builder;->mMode:I
-Landroid/media/AudioTrack$Builder;->mOffload:Z
-Landroid/media/AudioTrack$Builder;->mPerformanceMode:I
-Landroid/media/AudioTrack$Builder;->mSessionId:I
-Landroid/media/AudioTrack$Builder;->setOffloadedPlayback(Z)Landroid/media/AudioTrack$Builder;
-Landroid/media/AudioTrack$MetricsConstants;-><init>()V
-Landroid/media/AudioTrack$NativePositionEventHandlerDelegate;
-Landroid/media/AudioTrack$NativePositionEventHandlerDelegate;-><init>(Landroid/media/AudioTrack;Landroid/media/AudioTrack$OnPlaybackPositionUpdateListener;Landroid/os/Handler;)V
-Landroid/media/AudioTrack$NativePositionEventHandlerDelegate;->getHandler()Landroid/os/Handler;
-Landroid/media/AudioTrack$NativePositionEventHandlerDelegate;->mHandler:Landroid/os/Handler;
-Landroid/media/AudioTrack$PerformanceMode;
-Landroid/media/AudioTrack$StreamEventCallback;
-Landroid/media/AudioTrack$StreamEventCallback;-><init>()V
-Landroid/media/AudioTrack$StreamEventCallback;->onStreamDataRequest(Landroid/media/AudioTrack;)V
-Landroid/media/AudioTrack$StreamEventCallback;->onStreamPresentationEnd(Landroid/media/AudioTrack;)V
-Landroid/media/AudioTrack$StreamEventCallback;->onTearDown(Landroid/media/AudioTrack;)V
-Landroid/media/AudioTrack$TransferMode;
-Landroid/media/AudioTrack$WriteMode;
-Landroid/media/AudioTrack;-><init>(J)V
-Landroid/media/AudioTrack;-><init>(Landroid/media/AudioAttributes;Landroid/media/AudioFormat;IIIZ)V
-Landroid/media/AudioTrack;->audioBuffSizeCheck(I)V
-Landroid/media/AudioTrack;->audioParamCheck(IIIII)V
-Landroid/media/AudioTrack;->AUDIO_OUTPUT_FLAG_DEEP_BUFFER:I
-Landroid/media/AudioTrack;->AUDIO_OUTPUT_FLAG_FAST:I
-Landroid/media/AudioTrack;->broadcastRoutingChange()V
-Landroid/media/AudioTrack;->CHANNEL_COUNT_MAX:I
-Landroid/media/AudioTrack;->clampGainOrLevel(F)F
-Landroid/media/AudioTrack;->ERROR_NATIVESETUP_AUDIOSYSTEM:I
-Landroid/media/AudioTrack;->ERROR_NATIVESETUP_INVALIDCHANNELMASK:I
-Landroid/media/AudioTrack;->ERROR_NATIVESETUP_INVALIDFORMAT:I
-Landroid/media/AudioTrack;->ERROR_NATIVESETUP_INVALIDSTREAMTYPE:I
-Landroid/media/AudioTrack;->ERROR_NATIVESETUP_NATIVEINITFAILED:I
-Landroid/media/AudioTrack;->ERROR_WOULD_BLOCK:I
-Landroid/media/AudioTrack;->GAIN_MAX:F
-Landroid/media/AudioTrack;->GAIN_MIN:F
-Landroid/media/AudioTrack;->getTimestampWithStatus(Landroid/media/AudioTimestamp;)I
-Landroid/media/AudioTrack;->HEADER_V2_SIZE_BYTES:F
-Landroid/media/AudioTrack;->isMultichannelConfigSupported(I)Z
-Landroid/media/AudioTrack;->logd(Ljava/lang/String;)V
-Landroid/media/AudioTrack;->loge(Ljava/lang/String;)V
-Landroid/media/AudioTrack;->mAudioFormat:I
-Landroid/media/AudioTrack;->mAvSyncBytesRemaining:I
-Landroid/media/AudioTrack;->mAvSyncHeader:Ljava/nio/ByteBuffer;
-Landroid/media/AudioTrack;->mChannelConfiguration:I
-Landroid/media/AudioTrack;->mChannelCount:I
-Landroid/media/AudioTrack;->mChannelIndexMask:I
-Landroid/media/AudioTrack;->mChannelMask:I
-Landroid/media/AudioTrack;->mDataLoadMode:I
-Landroid/media/AudioTrack;->mEventHandlerDelegate:Landroid/media/AudioTrack$NativePositionEventHandlerDelegate;
-Landroid/media/AudioTrack;->mInitializationLooper:Landroid/os/Looper;
-Landroid/media/AudioTrack;->mNativeBufferSizeInBytes:I
-Landroid/media/AudioTrack;->mNativeBufferSizeInFrames:I
-Landroid/media/AudioTrack;->mOffset:I
-Landroid/media/AudioTrack;->mPlayState:I
-Landroid/media/AudioTrack;->mPlayStateLock:Ljava/lang/Object;
-Landroid/media/AudioTrack;->mPreferredDevice:Landroid/media/AudioDeviceInfo;
-Landroid/media/AudioTrack;->mRoutingChangeListeners:Landroid/util/ArrayMap;
-Landroid/media/AudioTrack;->mSampleRate:I
-Landroid/media/AudioTrack;->mSessionId:I
-Landroid/media/AudioTrack;->mState:I
-Landroid/media/AudioTrack;->mStreamEventCb:Landroid/media/AudioTrack$StreamEventCallback;
-Landroid/media/AudioTrack;->mStreamEventCbLock:Ljava/lang/Object;
-Landroid/media/AudioTrack;->mStreamEventExec:Ljava/util/concurrent/Executor;
-Landroid/media/AudioTrack;->native_applyVolumeShaper(Landroid/media/VolumeShaper$Configuration;Landroid/media/VolumeShaper$Operation;)I
-Landroid/media/AudioTrack;->native_attachAuxEffect(I)I
-Landroid/media/AudioTrack;->native_disableDeviceCallback()V
-Landroid/media/AudioTrack;->native_enableDeviceCallback()V
-Landroid/media/AudioTrack;->NATIVE_EVENT_MARKER:I
-Landroid/media/AudioTrack;->NATIVE_EVENT_MORE_DATA:I
-Landroid/media/AudioTrack;->NATIVE_EVENT_NEW_IAUDIOTRACK:I
-Landroid/media/AudioTrack;->NATIVE_EVENT_NEW_POS:I
-Landroid/media/AudioTrack;->NATIVE_EVENT_STREAM_END:I
-Landroid/media/AudioTrack;->native_finalize()V
-Landroid/media/AudioTrack;->native_flush()V
-Landroid/media/AudioTrack;->native_getMetrics()Landroid/os/PersistableBundle;
-Landroid/media/AudioTrack;->native_getRoutedDeviceId()I
-Landroid/media/AudioTrack;->native_getVolumeShaperState(I)Landroid/media/VolumeShaper$State;
-Landroid/media/AudioTrack;->native_get_buffer_capacity_frames()I
-Landroid/media/AudioTrack;->native_get_buffer_size_frames()I
-Landroid/media/AudioTrack;->native_get_FCC_8()I
-Landroid/media/AudioTrack;->native_get_flags()I
-Landroid/media/AudioTrack;->native_get_latency()I
-Landroid/media/AudioTrack;->native_get_marker_pos()I
-Landroid/media/AudioTrack;->native_get_min_buff_size(III)I
-Landroid/media/AudioTrack;->native_get_output_sample_rate(I)I
-Landroid/media/AudioTrack;->native_get_playback_params()Landroid/media/PlaybackParams;
-Landroid/media/AudioTrack;->native_get_playback_rate()I
-Landroid/media/AudioTrack;->native_get_position()I
-Landroid/media/AudioTrack;->native_get_pos_update_period()I
-Landroid/media/AudioTrack;->native_get_timestamp([J)I
-Landroid/media/AudioTrack;->native_get_underrun_count()I
-Landroid/media/AudioTrack;->native_pause()V
-Landroid/media/AudioTrack;->native_reload_static()I
-Landroid/media/AudioTrack;->native_setAuxEffectSendLevel(F)I
-Landroid/media/AudioTrack;->native_setOutputDevice(I)Z
-Landroid/media/AudioTrack;->native_setPresentation(II)I
-Landroid/media/AudioTrack;->native_setup(Ljava/lang/Object;Ljava/lang/Object;[IIIIII[IJZ)I
-Landroid/media/AudioTrack;->native_setVolume(FF)V
-Landroid/media/AudioTrack;->native_set_buffer_size_frames(I)I
-Landroid/media/AudioTrack;->native_set_loop(III)I
-Landroid/media/AudioTrack;->native_set_marker_pos(I)I
-Landroid/media/AudioTrack;->native_set_playback_params(Landroid/media/PlaybackParams;)V
-Landroid/media/AudioTrack;->native_set_playback_rate(I)I
-Landroid/media/AudioTrack;->native_set_position(I)I
-Landroid/media/AudioTrack;->native_set_pos_update_period(I)I
-Landroid/media/AudioTrack;->native_start()V
-Landroid/media/AudioTrack;->native_stop()V
-Landroid/media/AudioTrack;->native_write_byte([BIIIZ)I
-Landroid/media/AudioTrack;->native_write_float([FIIIZ)I
-Landroid/media/AudioTrack;->native_write_native_bytes(Ljava/lang/Object;IIIZ)I
-Landroid/media/AudioTrack;->native_write_short([SIIIZ)I
-Landroid/media/AudioTrack;->playerApplyVolumeShaper(Landroid/media/VolumeShaper$Configuration;Landroid/media/VolumeShaper$Operation;)I
-Landroid/media/AudioTrack;->playerGetVolumeShaperState(I)Landroid/media/VolumeShaper$State;
-Landroid/media/AudioTrack;->playerPause()V
-Landroid/media/AudioTrack;->playerSetAuxEffectSendLevel(ZF)I
-Landroid/media/AudioTrack;->playerSetVolume(ZFF)V
-Landroid/media/AudioTrack;->playerStart()V
-Landroid/media/AudioTrack;->playerStop()V
-Landroid/media/AudioTrack;->removeStreamEventCallback()V
-Landroid/media/AudioTrack;->setStreamEventCallback(Ljava/util/concurrent/Executor;Landroid/media/AudioTrack$StreamEventCallback;)V
-Landroid/media/AudioTrack;->shouldEnablePowerSaving(Landroid/media/AudioAttributes;Landroid/media/AudioFormat;II)Z
-Landroid/media/AudioTrack;->startImpl()V
-Landroid/media/AudioTrack;->SUPPORTED_OUT_CHANNELS:I
-Landroid/media/AudioTrack;->TAG:Ljava/lang/String;
-Landroid/media/AudioTrack;->testDisableNativeRoutingCallbacksLocked()V
-Landroid/media/AudioTrack;->testEnableNativeRoutingCallbacksLocked()V
-Landroid/media/browse/MediaBrowser$MediaItem$Flags;
-Landroid/media/browse/MediaBrowser$MediaItem;-><init>(Landroid/os/Parcel;)V
-Landroid/media/browse/MediaBrowser$MediaItem;->mDescription:Landroid/media/MediaDescription;
-Landroid/media/browse/MediaBrowser$MediaItem;->mFlags:I
-Landroid/media/browse/MediaBrowser$MediaServiceConnection;
-Landroid/media/browse/MediaBrowser$MediaServiceConnection;-><init>()V
-Landroid/media/browse/MediaBrowser$MediaServiceConnection;->isCurrent(Ljava/lang/String;)Z
-Landroid/media/browse/MediaBrowser$MediaServiceConnection;->postOrRun(Ljava/lang/Runnable;)V
-Landroid/media/browse/MediaBrowser$ServiceCallbacks;
-Landroid/media/browse/MediaBrowser$ServiceCallbacks;-><init>(Landroid/media/browse/MediaBrowser;)V
-Landroid/media/browse/MediaBrowser$ServiceCallbacks;->mMediaBrowser:Ljava/lang/ref/WeakReference;
-Landroid/media/browse/MediaBrowser$ServiceCallbacks;->onConnect(Ljava/lang/String;Landroid/media/session/MediaSession$Token;Landroid/os/Bundle;)V
-Landroid/media/browse/MediaBrowser$ServiceCallbacks;->onConnectFailed()V
-Landroid/media/browse/MediaBrowser$ServiceCallbacks;->onLoadChildren(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
-Landroid/media/browse/MediaBrowser$ServiceCallbacks;->onLoadChildrenWithOptions(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;Landroid/os/Bundle;)V
-Landroid/media/browse/MediaBrowser$Subscription;
-Landroid/media/browse/MediaBrowser$Subscription;-><init>()V
-Landroid/media/browse/MediaBrowser$Subscription;->getCallback(Landroid/content/Context;Landroid/os/Bundle;)Landroid/media/browse/MediaBrowser$SubscriptionCallback;
-Landroid/media/browse/MediaBrowser$Subscription;->getCallbacks()Ljava/util/List;
-Landroid/media/browse/MediaBrowser$Subscription;->getOptionsList()Ljava/util/List;
-Landroid/media/browse/MediaBrowser$Subscription;->isEmpty()Z
-Landroid/media/browse/MediaBrowser$Subscription;->mCallbacks:Ljava/util/List;
-Landroid/media/browse/MediaBrowser$Subscription;->mOptionsList:Ljava/util/List;
-Landroid/media/browse/MediaBrowser$Subscription;->putCallback(Landroid/content/Context;Landroid/os/Bundle;Landroid/media/browse/MediaBrowser$SubscriptionCallback;)V
-Landroid/media/browse/MediaBrowser$SubscriptionCallback;->mToken:Landroid/os/Binder;
-Landroid/media/browse/MediaBrowser;->CONNECT_STATE_CONNECTED:I
-Landroid/media/browse/MediaBrowser;->CONNECT_STATE_CONNECTING:I
-Landroid/media/browse/MediaBrowser;->CONNECT_STATE_DISCONNECTED:I
-Landroid/media/browse/MediaBrowser;->CONNECT_STATE_DISCONNECTING:I
-Landroid/media/browse/MediaBrowser;->CONNECT_STATE_SUSPENDED:I
-Landroid/media/browse/MediaBrowser;->DBG:Z
-Landroid/media/browse/MediaBrowser;->dump()V
-Landroid/media/browse/MediaBrowser;->forceCloseConnection()V
-Landroid/media/browse/MediaBrowser;->getNewServiceCallbacks()Landroid/media/browse/MediaBrowser$ServiceCallbacks;
-Landroid/media/browse/MediaBrowser;->getStateLabel(I)Ljava/lang/String;
-Landroid/media/browse/MediaBrowser;->isCurrent(Landroid/service/media/IMediaBrowserServiceCallbacks;Ljava/lang/String;)Z
-Landroid/media/browse/MediaBrowser;->mCallback:Landroid/media/browse/MediaBrowser$ConnectionCallback;
-Landroid/media/browse/MediaBrowser;->mContext:Landroid/content/Context;
-Landroid/media/browse/MediaBrowser;->mExtras:Landroid/os/Bundle;
-Landroid/media/browse/MediaBrowser;->mHandler:Landroid/os/Handler;
-Landroid/media/browse/MediaBrowser;->mMediaSessionToken:Landroid/media/session/MediaSession$Token;
-Landroid/media/browse/MediaBrowser;->mRootHints:Landroid/os/Bundle;
-Landroid/media/browse/MediaBrowser;->mRootId:Ljava/lang/String;
-Landroid/media/browse/MediaBrowser;->mServiceBinder:Landroid/service/media/IMediaBrowserService;
-Landroid/media/browse/MediaBrowser;->mServiceCallbacks:Landroid/service/media/IMediaBrowserServiceCallbacks;
-Landroid/media/browse/MediaBrowser;->mServiceComponent:Landroid/content/ComponentName;
-Landroid/media/browse/MediaBrowser;->mServiceConnection:Landroid/media/browse/MediaBrowser$MediaServiceConnection;
-Landroid/media/browse/MediaBrowser;->mState:I
-Landroid/media/browse/MediaBrowser;->mSubscriptions:Landroid/util/ArrayMap;
-Landroid/media/browse/MediaBrowser;->onConnectionFailed(Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/media/browse/MediaBrowser;->onLoadChildren(Landroid/service/media/IMediaBrowserServiceCallbacks;Ljava/lang/String;Landroid/content/pm/ParceledListSlice;Landroid/os/Bundle;)V
-Landroid/media/browse/MediaBrowser;->onServiceConnected(Landroid/service/media/IMediaBrowserServiceCallbacks;Ljava/lang/String;Landroid/media/session/MediaSession$Token;Landroid/os/Bundle;)V
-Landroid/media/browse/MediaBrowser;->subscribeInternal(Ljava/lang/String;Landroid/os/Bundle;Landroid/media/browse/MediaBrowser$SubscriptionCallback;)V
-Landroid/media/browse/MediaBrowser;->TAG:Ljava/lang/String;
-Landroid/media/browse/MediaBrowser;->unsubscribeInternal(Ljava/lang/String;Landroid/media/browse/MediaBrowser$SubscriptionCallback;)V
-Landroid/media/browse/MediaBrowserUtils;
-Landroid/media/browse/MediaBrowserUtils;-><init>()V
-Landroid/media/browse/MediaBrowserUtils;->areSameOptions(Landroid/os/Bundle;Landroid/os/Bundle;)Z
-Landroid/media/browse/MediaBrowserUtils;->hasDuplicatedItems(Landroid/os/Bundle;Landroid/os/Bundle;)Z
-Landroid/media/BufferingParams$Builder;->mInitialMarkMs:I
-Landroid/media/BufferingParams$Builder;->mResumePlaybackMarkMs:I
-Landroid/media/BufferingParams;-><init>()V
-Landroid/media/BufferingParams;-><init>(Landroid/os/Parcel;)V
-Landroid/media/BufferingParams;->BUFFERING_NO_MARK:I
-Landroid/media/BufferingParams;->mInitialMarkMs:I
-Landroid/media/BufferingParams;->mResumePlaybackMarkMs:I
-Landroid/media/CamcorderProfile;-><init>(IIIIIIIIIIII)V
-Landroid/media/CamcorderProfile;->native_has_camcorder_profile(II)Z
-Landroid/media/CamcorderProfile;->QUALITY_HIGH_SPEED_LIST_END:I
-Landroid/media/CamcorderProfile;->QUALITY_HIGH_SPEED_LIST_START:I
-Landroid/media/CamcorderProfile;->QUALITY_LIST_END:I
-Landroid/media/CamcorderProfile;->QUALITY_LIST_START:I
-Landroid/media/CamcorderProfile;->QUALITY_TIME_LAPSE_LIST_END:I
-Landroid/media/CamcorderProfile;->QUALITY_TIME_LAPSE_LIST_START:I
-Landroid/media/CameraProfile;->getImageEncodingQualityLevels(I)[I
-Landroid/media/CameraProfile;->native_get_image_encoding_quality_level(II)I
-Landroid/media/CameraProfile;->native_get_num_image_encoding_quality_levels(I)I
-Landroid/media/CameraProfile;->native_init()V
-Landroid/media/CameraProfile;->sCache:Ljava/util/HashMap;
-Landroid/media/Cea608CCParser$CCData;
-Landroid/media/Cea608CCParser$CCData;-><init>(BBB)V
-Landroid/media/Cea608CCParser$CCData;->ctrlCodeToString(I)Ljava/lang/String;
-Landroid/media/Cea608CCParser$CCData;->fromByteArray([B)[Landroid/media/Cea608CCParser$CCData;
-Landroid/media/Cea608CCParser$CCData;->getBasicChar(B)C
-Landroid/media/Cea608CCParser$CCData;->getBasicChars()Ljava/lang/String;
-Landroid/media/Cea608CCParser$CCData;->getCtrlCode()I
-Landroid/media/Cea608CCParser$CCData;->getDisplayText()Ljava/lang/String;
-Landroid/media/Cea608CCParser$CCData;->getExtendedChar()Ljava/lang/String;
-Landroid/media/Cea608CCParser$CCData;->getMidRow()Landroid/media/Cea608CCParser$StyleCode;
-Landroid/media/Cea608CCParser$CCData;->getPAC()Landroid/media/Cea608CCParser$PAC;
-Landroid/media/Cea608CCParser$CCData;->getSpecialChar()Ljava/lang/String;
-Landroid/media/Cea608CCParser$CCData;->getTabOffset()I
-Landroid/media/Cea608CCParser$CCData;->isBasicChar()Z
-Landroid/media/Cea608CCParser$CCData;->isDisplayableChar()Z
-Landroid/media/Cea608CCParser$CCData;->isExtendedChar()Z
-Landroid/media/Cea608CCParser$CCData;->isSpecialChar()Z
-Landroid/media/Cea608CCParser$CCData;->mCtrlCodeMap:[Ljava/lang/String;
-Landroid/media/Cea608CCParser$CCData;->mData1:B
-Landroid/media/Cea608CCParser$CCData;->mData2:B
-Landroid/media/Cea608CCParser$CCData;->mProtugueseCharMap:[Ljava/lang/String;
-Landroid/media/Cea608CCParser$CCData;->mSpanishCharMap:[Ljava/lang/String;
-Landroid/media/Cea608CCParser$CCData;->mSpecialCharMap:[Ljava/lang/String;
-Landroid/media/Cea608CCParser$CCData;->mType:B
-Landroid/media/Cea608CCParser$CCLineBuilder;
-Landroid/media/Cea608CCParser$CCLineBuilder;-><init>(Ljava/lang/String;)V
-Landroid/media/Cea608CCParser$CCLineBuilder;->applyStyleSpan(Landroid/text/SpannableStringBuilder;Landroid/media/Cea608CCParser$StyleCode;II)V
-Landroid/media/Cea608CCParser$CCLineBuilder;->charAt(I)C
-Landroid/media/Cea608CCParser$CCLineBuilder;->getStyledText(Landroid/view/accessibility/CaptioningManager$CaptionStyle;)Landroid/text/SpannableStringBuilder;
-Landroid/media/Cea608CCParser$CCLineBuilder;->length()I
-Landroid/media/Cea608CCParser$CCLineBuilder;->mDisplayChars:Ljava/lang/StringBuilder;
-Landroid/media/Cea608CCParser$CCLineBuilder;->mMidRowStyles:[Landroid/media/Cea608CCParser$StyleCode;
-Landroid/media/Cea608CCParser$CCLineBuilder;->mPACStyles:[Landroid/media/Cea608CCParser$StyleCode;
-Landroid/media/Cea608CCParser$CCLineBuilder;->setCharAt(IC)V
-Landroid/media/Cea608CCParser$CCLineBuilder;->setMidRowAt(ILandroid/media/Cea608CCParser$StyleCode;)V
-Landroid/media/Cea608CCParser$CCLineBuilder;->setPACAt(ILandroid/media/Cea608CCParser$PAC;)V
-Landroid/media/Cea608CCParser$CCMemory;
-Landroid/media/Cea608CCParser$CCMemory;-><init>()V
-Landroid/media/Cea608CCParser$CCMemory;->bs()V
-Landroid/media/Cea608CCParser$CCMemory;->clamp(III)I
-Landroid/media/Cea608CCParser$CCMemory;->cr()V
-Landroid/media/Cea608CCParser$CCMemory;->der()V
-Landroid/media/Cea608CCParser$CCMemory;->erase()V
-Landroid/media/Cea608CCParser$CCMemory;->getLineBuffer(I)Landroid/media/Cea608CCParser$CCLineBuilder;
-Landroid/media/Cea608CCParser$CCMemory;->getStyledText(Landroid/view/accessibility/CaptioningManager$CaptionStyle;)[Landroid/text/SpannableStringBuilder;
-Landroid/media/Cea608CCParser$CCMemory;->mBlankLine:Ljava/lang/String;
-Landroid/media/Cea608CCParser$CCMemory;->mCol:I
-Landroid/media/Cea608CCParser$CCMemory;->mLines:[Landroid/media/Cea608CCParser$CCLineBuilder;
-Landroid/media/Cea608CCParser$CCMemory;->moveBaselineTo(II)V
-Landroid/media/Cea608CCParser$CCMemory;->moveCursorByCol(I)V
-Landroid/media/Cea608CCParser$CCMemory;->moveCursorTo(II)V
-Landroid/media/Cea608CCParser$CCMemory;->moveCursorToRow(I)V
-Landroid/media/Cea608CCParser$CCMemory;->mRow:I
-Landroid/media/Cea608CCParser$CCMemory;->rollUp(I)V
-Landroid/media/Cea608CCParser$CCMemory;->tab(I)V
-Landroid/media/Cea608CCParser$CCMemory;->writeMidRowCode(Landroid/media/Cea608CCParser$StyleCode;)V
-Landroid/media/Cea608CCParser$CCMemory;->writePAC(Landroid/media/Cea608CCParser$PAC;)V
-Landroid/media/Cea608CCParser$CCMemory;->writeText(Ljava/lang/String;)V
-Landroid/media/Cea608CCParser$DisplayListener;
-Landroid/media/Cea608CCParser$DisplayListener;->getCaptionStyle()Landroid/view/accessibility/CaptioningManager$CaptionStyle;
-Landroid/media/Cea608CCParser$DisplayListener;->onDisplayChanged([Landroid/text/SpannableStringBuilder;)V
-Landroid/media/Cea608CCParser$MutableBackgroundColorSpan;
-Landroid/media/Cea608CCParser$MutableBackgroundColorSpan;-><init>(I)V
-Landroid/media/Cea608CCParser$MutableBackgroundColorSpan;->getBackgroundColor()I
-Landroid/media/Cea608CCParser$MutableBackgroundColorSpan;->mColor:I
-Landroid/media/Cea608CCParser$MutableBackgroundColorSpan;->setBackgroundColor(I)V
-Landroid/media/Cea608CCParser$PAC;
-Landroid/media/Cea608CCParser$PAC;-><init>(IIII)V
-Landroid/media/Cea608CCParser$PAC;->fromBytes(BB)Landroid/media/Cea608CCParser$PAC;
-Landroid/media/Cea608CCParser$PAC;->getCol()I
-Landroid/media/Cea608CCParser$PAC;->getRow()I
-Landroid/media/Cea608CCParser$PAC;->isIndentPAC()Z
-Landroid/media/Cea608CCParser$PAC;->mCol:I
-Landroid/media/Cea608CCParser$PAC;->mRow:I
-Landroid/media/Cea608CCParser$StyleCode;
-Landroid/media/Cea608CCParser$StyleCode;-><init>(II)V
-Landroid/media/Cea608CCParser$StyleCode;->COLOR_BLUE:I
-Landroid/media/Cea608CCParser$StyleCode;->COLOR_CYAN:I
-Landroid/media/Cea608CCParser$StyleCode;->COLOR_GREEN:I
-Landroid/media/Cea608CCParser$StyleCode;->COLOR_INVALID:I
-Landroid/media/Cea608CCParser$StyleCode;->COLOR_MAGENTA:I
-Landroid/media/Cea608CCParser$StyleCode;->COLOR_RED:I
-Landroid/media/Cea608CCParser$StyleCode;->COLOR_WHITE:I
-Landroid/media/Cea608CCParser$StyleCode;->COLOR_YELLOW:I
-Landroid/media/Cea608CCParser$StyleCode;->fromByte(B)Landroid/media/Cea608CCParser$StyleCode;
-Landroid/media/Cea608CCParser$StyleCode;->getColor()I
-Landroid/media/Cea608CCParser$StyleCode;->isItalics()Z
-Landroid/media/Cea608CCParser$StyleCode;->isUnderline()Z
-Landroid/media/Cea608CCParser$StyleCode;->mColor:I
-Landroid/media/Cea608CCParser$StyleCode;->mColorMap:[Ljava/lang/String;
-Landroid/media/Cea608CCParser$StyleCode;->mStyle:I
-Landroid/media/Cea608CCParser$StyleCode;->STYLE_ITALICS:I
-Landroid/media/Cea608CCParser$StyleCode;->STYLE_UNDERLINE:I
-Landroid/media/Cea608CCParser;
-Landroid/media/Cea608CCParser;-><init>(Landroid/media/Cea608CCParser$DisplayListener;)V
-Landroid/media/Cea608CCParser;->AOF:I
-Landroid/media/Cea608CCParser;->AON:I
-Landroid/media/Cea608CCParser;->BS:I
-Landroid/media/Cea608CCParser;->CR:I
-Landroid/media/Cea608CCParser;->DEBUG:Z
-Landroid/media/Cea608CCParser;->DER:I
-Landroid/media/Cea608CCParser;->EDM:I
-Landroid/media/Cea608CCParser;->ENM:I
-Landroid/media/Cea608CCParser;->EOC:I
-Landroid/media/Cea608CCParser;->FON:I
-Landroid/media/Cea608CCParser;->getMemory()Landroid/media/Cea608CCParser$CCMemory;
-Landroid/media/Cea608CCParser;->handleCtrlCode(Landroid/media/Cea608CCParser$CCData;)Z
-Landroid/media/Cea608CCParser;->handleDisplayableChars(Landroid/media/Cea608CCParser$CCData;)Z
-Landroid/media/Cea608CCParser;->handleMidRowCode(Landroid/media/Cea608CCParser$CCData;)Z
-Landroid/media/Cea608CCParser;->handlePACCode(Landroid/media/Cea608CCParser$CCData;)Z
-Landroid/media/Cea608CCParser;->handleTabOffsets(Landroid/media/Cea608CCParser$CCData;)Z
-Landroid/media/Cea608CCParser;->INVALID:I
-Landroid/media/Cea608CCParser;->MAX_COLS:I
-Landroid/media/Cea608CCParser;->MAX_ROWS:I
-Landroid/media/Cea608CCParser;->mDisplay:Landroid/media/Cea608CCParser$CCMemory;
-Landroid/media/Cea608CCParser;->mListener:Landroid/media/Cea608CCParser$DisplayListener;
-Landroid/media/Cea608CCParser;->mMode:I
-Landroid/media/Cea608CCParser;->mNonDisplay:Landroid/media/Cea608CCParser$CCMemory;
-Landroid/media/Cea608CCParser;->MODE_PAINT_ON:I
-Landroid/media/Cea608CCParser;->MODE_POP_ON:I
-Landroid/media/Cea608CCParser;->MODE_ROLL_UP:I
-Landroid/media/Cea608CCParser;->MODE_TEXT:I
-Landroid/media/Cea608CCParser;->MODE_UNKNOWN:I
-Landroid/media/Cea608CCParser;->mPrevCtrlCode:I
-Landroid/media/Cea608CCParser;->mRollUpSize:I
-Landroid/media/Cea608CCParser;->mTextMem:Landroid/media/Cea608CCParser$CCMemory;
-Landroid/media/Cea608CCParser;->parse([B)V
-Landroid/media/Cea608CCParser;->RCL:I
-Landroid/media/Cea608CCParser;->RDC:I
-Landroid/media/Cea608CCParser;->RTD:I
-Landroid/media/Cea608CCParser;->RU2:I
-Landroid/media/Cea608CCParser;->RU3:I
-Landroid/media/Cea608CCParser;->RU4:I
-Landroid/media/Cea608CCParser;->swapMemory()V
-Landroid/media/Cea608CCParser;->TAG:Ljava/lang/String;
-Landroid/media/Cea608CCParser;->TR:I
-Landroid/media/Cea608CCParser;->TS:C
-Landroid/media/Cea608CCParser;->updateDisplay()V
-Landroid/media/Cea608CCWidget$CCLayout;
-Landroid/media/Cea608CCWidget$CCLayout;-><init>(Landroid/content/Context;)V
-Landroid/media/Cea608CCWidget$CCLayout;->MAX_ROWS:I
-Landroid/media/Cea608CCWidget$CCLayout;->mLineBoxes:[Landroid/media/Cea608CCWidget$CCLineBox;
-Landroid/media/Cea608CCWidget$CCLayout;->SAFE_AREA_RATIO:F
-Landroid/media/Cea608CCWidget$CCLayout;->setCaptionStyle(Landroid/view/accessibility/CaptioningManager$CaptionStyle;)V
-Landroid/media/Cea608CCWidget$CCLayout;->setFontScale(F)V
-Landroid/media/Cea608CCWidget$CCLayout;->update([Landroid/text/SpannableStringBuilder;)V
-Landroid/media/Cea608CCWidget$CCLineBox;
-Landroid/media/Cea608CCWidget$CCLineBox;-><init>(Landroid/content/Context;)V
-Landroid/media/Cea608CCWidget$CCLineBox;->drawEdgeOutline(Landroid/graphics/Canvas;)V
-Landroid/media/Cea608CCWidget$CCLineBox;->drawEdgeRaisedOrDepressed(Landroid/graphics/Canvas;)V
-Landroid/media/Cea608CCWidget$CCLineBox;->EDGE_OUTLINE_RATIO:F
-Landroid/media/Cea608CCWidget$CCLineBox;->EDGE_SHADOW_RATIO:F
-Landroid/media/Cea608CCWidget$CCLineBox;->FONT_PADDING_RATIO:F
-Landroid/media/Cea608CCWidget$CCLineBox;->mBgColor:I
-Landroid/media/Cea608CCWidget$CCLineBox;->mEdgeColor:I
-Landroid/media/Cea608CCWidget$CCLineBox;->mEdgeType:I
-Landroid/media/Cea608CCWidget$CCLineBox;->mOutlineWidth:F
-Landroid/media/Cea608CCWidget$CCLineBox;->mShadowOffset:F
-Landroid/media/Cea608CCWidget$CCLineBox;->mShadowRadius:F
-Landroid/media/Cea608CCWidget$CCLineBox;->mTextColor:I
-Landroid/media/Cea608CCWidget$CCLineBox;->setBackgroundSpans(I)V
-Landroid/media/Cea608CCWidget$CCLineBox;->setCaptionStyle(Landroid/view/accessibility/CaptioningManager$CaptionStyle;)V
-Landroid/media/Cea608CCWidget;
-Landroid/media/Cea608CCWidget;-><init>(Landroid/content/Context;)V
-Landroid/media/Cea608CCWidget;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/media/Cea608CCWidget;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/media/Cea608CCWidget;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/media/Cea608CCWidget;->createCaptionLayout(Landroid/content/Context;)Landroid/media/ClosedCaptionWidget$ClosedCaptionLayout;
-Landroid/media/Cea608CCWidget;->getCaptionStyle()Landroid/view/accessibility/CaptioningManager$CaptionStyle;
-Landroid/media/Cea608CCWidget;->mDummyText:Ljava/lang/String;
-Landroid/media/Cea608CCWidget;->mTextBounds:Landroid/graphics/Rect;
-Landroid/media/Cea608CCWidget;->onDisplayChanged([Landroid/text/SpannableStringBuilder;)V
-Landroid/media/Cea708CaptionRenderer;
-Landroid/media/Cea708CaptionRenderer;-><init>(Landroid/content/Context;)V
-Landroid/media/Cea708CaptionRenderer;->createTrack(Landroid/media/MediaFormat;)Landroid/media/SubtitleTrack;
-Landroid/media/Cea708CaptionRenderer;->mCCWidget:Landroid/media/Cea708CCWidget;
-Landroid/media/Cea708CaptionRenderer;->mContext:Landroid/content/Context;
-Landroid/media/Cea708CaptionRenderer;->supports(Landroid/media/MediaFormat;)Z
-Landroid/media/Cea708CCParser$CaptionColor;
-Landroid/media/Cea708CCParser$CaptionColor;-><init>(IIII)V
-Landroid/media/Cea708CCParser$CaptionColor;->blue:I
-Landroid/media/Cea708CCParser$CaptionColor;->COLOR_MAP:[I
-Landroid/media/Cea708CCParser$CaptionColor;->getArgbValue()I
-Landroid/media/Cea708CCParser$CaptionColor;->green:I
-Landroid/media/Cea708CCParser$CaptionColor;->opacity:I
-Landroid/media/Cea708CCParser$CaptionColor;->OPACITY_FLASH:I
-Landroid/media/Cea708CCParser$CaptionColor;->OPACITY_MAP:[I
-Landroid/media/Cea708CCParser$CaptionColor;->OPACITY_SOLID:I
-Landroid/media/Cea708CCParser$CaptionColor;->OPACITY_TRANSLUCENT:I
-Landroid/media/Cea708CCParser$CaptionColor;->OPACITY_TRANSPARENT:I
-Landroid/media/Cea708CCParser$CaptionColor;->red:I
-Landroid/media/Cea708CCParser$CaptionEvent;
-Landroid/media/Cea708CCParser$CaptionEvent;-><init>(ILjava/lang/Object;)V
-Landroid/media/Cea708CCParser$CaptionEvent;->obj:Ljava/lang/Object;
-Landroid/media/Cea708CCParser$CaptionEvent;->type:I
-Landroid/media/Cea708CCParser$CaptionPenAttr;
-Landroid/media/Cea708CCParser$CaptionPenAttr;-><init>(IIIIIZZ)V
-Landroid/media/Cea708CCParser$CaptionPenAttr;->edgeType:I
-Landroid/media/Cea708CCParser$CaptionPenAttr;->fontTag:I
-Landroid/media/Cea708CCParser$CaptionPenAttr;->italic:Z
-Landroid/media/Cea708CCParser$CaptionPenAttr;->OFFSET_NORMAL:I
-Landroid/media/Cea708CCParser$CaptionPenAttr;->OFFSET_SUBSCRIPT:I
-Landroid/media/Cea708CCParser$CaptionPenAttr;->OFFSET_SUPERSCRIPT:I
-Landroid/media/Cea708CCParser$CaptionPenAttr;->penOffset:I
-Landroid/media/Cea708CCParser$CaptionPenAttr;->penSize:I
-Landroid/media/Cea708CCParser$CaptionPenAttr;->PEN_SIZE_LARGE:I
-Landroid/media/Cea708CCParser$CaptionPenAttr;->PEN_SIZE_SMALL:I
-Landroid/media/Cea708CCParser$CaptionPenAttr;->PEN_SIZE_STANDARD:I
-Landroid/media/Cea708CCParser$CaptionPenAttr;->textTag:I
-Landroid/media/Cea708CCParser$CaptionPenAttr;->underline:Z
-Landroid/media/Cea708CCParser$CaptionPenColor;
-Landroid/media/Cea708CCParser$CaptionPenColor;-><init>(Landroid/media/Cea708CCParser$CaptionColor;Landroid/media/Cea708CCParser$CaptionColor;Landroid/media/Cea708CCParser$CaptionColor;)V
-Landroid/media/Cea708CCParser$CaptionPenColor;->backgroundColor:Landroid/media/Cea708CCParser$CaptionColor;
-Landroid/media/Cea708CCParser$CaptionPenColor;->edgeColor:Landroid/media/Cea708CCParser$CaptionColor;
-Landroid/media/Cea708CCParser$CaptionPenColor;->foregroundColor:Landroid/media/Cea708CCParser$CaptionColor;
-Landroid/media/Cea708CCParser$CaptionPenLocation;
-Landroid/media/Cea708CCParser$CaptionPenLocation;-><init>(II)V
-Landroid/media/Cea708CCParser$CaptionPenLocation;->column:I
-Landroid/media/Cea708CCParser$CaptionPenLocation;->row:I
-Landroid/media/Cea708CCParser$CaptionWindow;
-Landroid/media/Cea708CCParser$CaptionWindow;-><init>(IZZZIZIIIIIII)V
-Landroid/media/Cea708CCParser$CaptionWindow;->anchorHorizontal:I
-Landroid/media/Cea708CCParser$CaptionWindow;->anchorId:I
-Landroid/media/Cea708CCParser$CaptionWindow;->anchorVertical:I
-Landroid/media/Cea708CCParser$CaptionWindow;->columnCount:I
-Landroid/media/Cea708CCParser$CaptionWindow;->columnLock:Z
-Landroid/media/Cea708CCParser$CaptionWindow;->id:I
-Landroid/media/Cea708CCParser$CaptionWindow;->penStyle:I
-Landroid/media/Cea708CCParser$CaptionWindow;->priority:I
-Landroid/media/Cea708CCParser$CaptionWindow;->relativePositioning:Z
-Landroid/media/Cea708CCParser$CaptionWindow;->rowCount:I
-Landroid/media/Cea708CCParser$CaptionWindow;->rowLock:Z
-Landroid/media/Cea708CCParser$CaptionWindow;->visible:Z
-Landroid/media/Cea708CCParser$CaptionWindow;->windowStyle:I
-Landroid/media/Cea708CCParser$CaptionWindowAttr;
-Landroid/media/Cea708CCParser$CaptionWindowAttr;-><init>(Landroid/media/Cea708CCParser$CaptionColor;Landroid/media/Cea708CCParser$CaptionColor;IZIIIIII)V
-Landroid/media/Cea708CCParser$CaptionWindowAttr;->borderColor:Landroid/media/Cea708CCParser$CaptionColor;
-Landroid/media/Cea708CCParser$CaptionWindowAttr;->borderType:I
-Landroid/media/Cea708CCParser$CaptionWindowAttr;->displayEffect:I
-Landroid/media/Cea708CCParser$CaptionWindowAttr;->effectDirection:I
-Landroid/media/Cea708CCParser$CaptionWindowAttr;->effectSpeed:I
-Landroid/media/Cea708CCParser$CaptionWindowAttr;->fillColor:Landroid/media/Cea708CCParser$CaptionColor;
-Landroid/media/Cea708CCParser$CaptionWindowAttr;->justify:I
-Landroid/media/Cea708CCParser$CaptionWindowAttr;->printDirection:I
-Landroid/media/Cea708CCParser$CaptionWindowAttr;->scrollDirection:I
-Landroid/media/Cea708CCParser$CaptionWindowAttr;->wordWrap:Z
-Landroid/media/Cea708CCParser$Const;
-Landroid/media/Cea708CCParser$Const;-><init>()V
-Landroid/media/Cea708CCParser$Const;->CODE_C0_BS:I
-Landroid/media/Cea708CCParser$Const;->CODE_C0_CR:I
-Landroid/media/Cea708CCParser$Const;->CODE_C0_ETX:I
-Landroid/media/Cea708CCParser$Const;->CODE_C0_EXT1:I
-Landroid/media/Cea708CCParser$Const;->CODE_C0_FF:I
-Landroid/media/Cea708CCParser$Const;->CODE_C0_HCR:I
-Landroid/media/Cea708CCParser$Const;->CODE_C0_NUL:I
-Landroid/media/Cea708CCParser$Const;->CODE_C0_P16:I
-Landroid/media/Cea708CCParser$Const;->CODE_C0_RANGE_END:I
-Landroid/media/Cea708CCParser$Const;->CODE_C0_RANGE_START:I
-Landroid/media/Cea708CCParser$Const;->CODE_C0_SKIP1_RANGE_END:I
-Landroid/media/Cea708CCParser$Const;->CODE_C0_SKIP1_RANGE_START:I
-Landroid/media/Cea708CCParser$Const;->CODE_C0_SKIP2_RANGE_END:I
-Landroid/media/Cea708CCParser$Const;->CODE_C0_SKIP2_RANGE_START:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_CLW:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_CW0:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_CW1:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_CW2:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_CW3:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_CW4:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_CW5:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_CW6:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_CW7:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_DF0:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_DF1:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_DF2:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_DF3:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_DF4:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_DF5:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_DF6:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_DF7:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_DLC:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_DLW:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_DLY:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_DSW:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_HDW:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_RANGE_END:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_RANGE_START:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_RST:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_SPA:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_SPC:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_SPL:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_SWA:I
-Landroid/media/Cea708CCParser$Const;->CODE_C1_TGW:I
-Landroid/media/Cea708CCParser$Const;->CODE_C2_RANGE_END:I
-Landroid/media/Cea708CCParser$Const;->CODE_C2_RANGE_START:I
-Landroid/media/Cea708CCParser$Const;->CODE_C2_SKIP0_RANGE_END:I
-Landroid/media/Cea708CCParser$Const;->CODE_C2_SKIP0_RANGE_START:I
-Landroid/media/Cea708CCParser$Const;->CODE_C2_SKIP1_RANGE_END:I
-Landroid/media/Cea708CCParser$Const;->CODE_C2_SKIP1_RANGE_START:I
-Landroid/media/Cea708CCParser$Const;->CODE_C2_SKIP2_RANGE_END:I
-Landroid/media/Cea708CCParser$Const;->CODE_C2_SKIP2_RANGE_START:I
-Landroid/media/Cea708CCParser$Const;->CODE_C2_SKIP3_RANGE_END:I
-Landroid/media/Cea708CCParser$Const;->CODE_C2_SKIP3_RANGE_START:I
-Landroid/media/Cea708CCParser$Const;->CODE_C3_RANGE_END:I
-Landroid/media/Cea708CCParser$Const;->CODE_C3_RANGE_START:I
-Landroid/media/Cea708CCParser$Const;->CODE_C3_SKIP4_RANGE_END:I
-Landroid/media/Cea708CCParser$Const;->CODE_C3_SKIP4_RANGE_START:I
-Landroid/media/Cea708CCParser$Const;->CODE_C3_SKIP5_RANGE_END:I
-Landroid/media/Cea708CCParser$Const;->CODE_C3_SKIP5_RANGE_START:I
-Landroid/media/Cea708CCParser$Const;->CODE_G0_MUSICNOTE:I
-Landroid/media/Cea708CCParser$Const;->CODE_G0_RANGE_END:I
-Landroid/media/Cea708CCParser$Const;->CODE_G0_RANGE_START:I
-Landroid/media/Cea708CCParser$Const;->CODE_G1_RANGE_END:I
-Landroid/media/Cea708CCParser$Const;->CODE_G1_RANGE_START:I
-Landroid/media/Cea708CCParser$Const;->CODE_G2_BLK:I
-Landroid/media/Cea708CCParser$Const;->CODE_G2_NBTSP:I
-Landroid/media/Cea708CCParser$Const;->CODE_G2_RANGE_END:I
-Landroid/media/Cea708CCParser$Const;->CODE_G2_RANGE_START:I
-Landroid/media/Cea708CCParser$Const;->CODE_G2_TSP:I
-Landroid/media/Cea708CCParser$Const;->CODE_G3_CC:I
-Landroid/media/Cea708CCParser$Const;->CODE_G3_RANGE_END:I
-Landroid/media/Cea708CCParser$Const;->CODE_G3_RANGE_START:I
-Landroid/media/Cea708CCParser$DisplayListener;
-Landroid/media/Cea708CCParser$DisplayListener;->emitEvent(Landroid/media/Cea708CCParser$CaptionEvent;)V
-Landroid/media/Cea708CCParser;
-Landroid/media/Cea708CCParser;-><init>(Landroid/media/Cea708CCParser$DisplayListener;)V
-Landroid/media/Cea708CCParser;->CAPTION_EMIT_TYPE_BUFFER:I
-Landroid/media/Cea708CCParser;->CAPTION_EMIT_TYPE_COMMAND_CLW:I
-Landroid/media/Cea708CCParser;->CAPTION_EMIT_TYPE_COMMAND_CWX:I
-Landroid/media/Cea708CCParser;->CAPTION_EMIT_TYPE_COMMAND_DFX:I
-Landroid/media/Cea708CCParser;->CAPTION_EMIT_TYPE_COMMAND_DLC:I
-Landroid/media/Cea708CCParser;->CAPTION_EMIT_TYPE_COMMAND_DLW:I
-Landroid/media/Cea708CCParser;->CAPTION_EMIT_TYPE_COMMAND_DLY:I
-Landroid/media/Cea708CCParser;->CAPTION_EMIT_TYPE_COMMAND_DSW:I
-Landroid/media/Cea708CCParser;->CAPTION_EMIT_TYPE_COMMAND_HDW:I
-Landroid/media/Cea708CCParser;->CAPTION_EMIT_TYPE_COMMAND_RST:I
-Landroid/media/Cea708CCParser;->CAPTION_EMIT_TYPE_COMMAND_SPA:I
-Landroid/media/Cea708CCParser;->CAPTION_EMIT_TYPE_COMMAND_SPC:I
-Landroid/media/Cea708CCParser;->CAPTION_EMIT_TYPE_COMMAND_SPL:I
-Landroid/media/Cea708CCParser;->CAPTION_EMIT_TYPE_COMMAND_SWA:I
-Landroid/media/Cea708CCParser;->CAPTION_EMIT_TYPE_COMMAND_TGW:I
-Landroid/media/Cea708CCParser;->CAPTION_EMIT_TYPE_CONTROL:I
-Landroid/media/Cea708CCParser;->DEBUG:Z
-Landroid/media/Cea708CCParser;->emitCaptionBuffer()V
-Landroid/media/Cea708CCParser;->emitCaptionEvent(Landroid/media/Cea708CCParser$CaptionEvent;)V
-Landroid/media/Cea708CCParser;->mBuffer:Ljava/lang/StringBuffer;
-Landroid/media/Cea708CCParser;->mCommand:I
-Landroid/media/Cea708CCParser;->mListener:Landroid/media/Cea708CCParser$DisplayListener;
-Landroid/media/Cea708CCParser;->MUSIC_NOTE_CHAR:Ljava/lang/String;
-Landroid/media/Cea708CCParser;->parse([B)V
-Landroid/media/Cea708CCParser;->parseC0([BI)I
-Landroid/media/Cea708CCParser;->parseC1([BI)I
-Landroid/media/Cea708CCParser;->parseC2([BI)I
-Landroid/media/Cea708CCParser;->parseC3([BI)I
-Landroid/media/Cea708CCParser;->parseExt1([BI)I
-Landroid/media/Cea708CCParser;->parseG0([BI)I
-Landroid/media/Cea708CCParser;->parseG1([BI)I
-Landroid/media/Cea708CCParser;->parseG2([BI)I
-Landroid/media/Cea708CCParser;->parseG3([BI)I
-Landroid/media/Cea708CCParser;->parseServiceBlockData([BI)I
-Landroid/media/Cea708CCParser;->TAG:Ljava/lang/String;
-Landroid/media/Cea708CCWidget$CCHandler;
-Landroid/media/Cea708CCWidget$CCHandler;-><init>(Landroid/media/Cea708CCWidget$CCLayout;)V
-Landroid/media/Cea708CCWidget$CCHandler;->CAPTION_ALL_WINDOWS_BITMAP:I
-Landroid/media/Cea708CCWidget$CCHandler;->CAPTION_CLEAR_INTERVAL_MS:J
-Landroid/media/Cea708CCWidget$CCHandler;->CAPTION_WINDOWS_MAX:I
-Landroid/media/Cea708CCWidget$CCHandler;->clearWindows(I)V
-Landroid/media/Cea708CCWidget$CCHandler;->DEBUG:Z
-Landroid/media/Cea708CCWidget$CCHandler;->defineWindow(Landroid/media/Cea708CCParser$CaptionWindow;)V
-Landroid/media/Cea708CCWidget$CCHandler;->delay(I)V
-Landroid/media/Cea708CCWidget$CCHandler;->delayCancel()V
-Landroid/media/Cea708CCWidget$CCHandler;->deleteWindows(I)V
-Landroid/media/Cea708CCWidget$CCHandler;->displayWindows(I)V
-Landroid/media/Cea708CCWidget$CCHandler;->getWindowsFromBitmap(I)Ljava/util/ArrayList;
-Landroid/media/Cea708CCWidget$CCHandler;->hideWindows(I)V
-Landroid/media/Cea708CCWidget$CCHandler;->mCaptionWindowLayouts:[Landroid/media/Cea708CCWidget$CCWindowLayout;
-Landroid/media/Cea708CCWidget$CCHandler;->mCCLayout:Landroid/media/Cea708CCWidget$CCLayout;
-Landroid/media/Cea708CCWidget$CCHandler;->mCurrentWindowLayout:Landroid/media/Cea708CCWidget$CCWindowLayout;
-Landroid/media/Cea708CCWidget$CCHandler;->mHandler:Landroid/os/Handler;
-Landroid/media/Cea708CCWidget$CCHandler;->mIsDelayed:Z
-Landroid/media/Cea708CCWidget$CCHandler;->mPendingCaptionEvents:Ljava/util/ArrayList;
-Landroid/media/Cea708CCWidget$CCHandler;->MSG_CAPTION_CLEAR:I
-Landroid/media/Cea708CCWidget$CCHandler;->MSG_DELAY_CANCEL:I
-Landroid/media/Cea708CCWidget$CCHandler;->processCaptionEvent(Landroid/media/Cea708CCParser$CaptionEvent;)V
-Landroid/media/Cea708CCWidget$CCHandler;->processPendingBuffer()V
-Landroid/media/Cea708CCWidget$CCHandler;->reset()V
-Landroid/media/Cea708CCWidget$CCHandler;->sendBufferToCurrentWindow(Ljava/lang/String;)V
-Landroid/media/Cea708CCWidget$CCHandler;->sendControlToCurrentWindow(C)V
-Landroid/media/Cea708CCWidget$CCHandler;->setCurrentWindowLayout(I)V
-Landroid/media/Cea708CCWidget$CCHandler;->setPenAttr(Landroid/media/Cea708CCParser$CaptionPenAttr;)V
-Landroid/media/Cea708CCWidget$CCHandler;->setPenColor(Landroid/media/Cea708CCParser$CaptionPenColor;)V
-Landroid/media/Cea708CCWidget$CCHandler;->setPenLocation(Landroid/media/Cea708CCParser$CaptionPenLocation;)V
-Landroid/media/Cea708CCWidget$CCHandler;->setWindowAttr(Landroid/media/Cea708CCParser$CaptionWindowAttr;)V
-Landroid/media/Cea708CCWidget$CCHandler;->TAG:Ljava/lang/String;
-Landroid/media/Cea708CCWidget$CCHandler;->TENTHS_OF_SECOND_IN_MILLIS:I
-Landroid/media/Cea708CCWidget$CCHandler;->toggleWindows(I)V
-Landroid/media/Cea708CCWidget$CCLayout;
-Landroid/media/Cea708CCWidget$CCLayout;-><init>(Landroid/content/Context;)V
-Landroid/media/Cea708CCWidget$CCLayout;->addOrUpdateViewToSafeTitleArea(Landroid/media/Cea708CCWidget$CCWindowLayout;Landroid/media/Cea708CCWidget$ScaledLayout$ScaledLayoutParams;)V
-Landroid/media/Cea708CCWidget$CCLayout;->mSafeTitleAreaLayout:Landroid/media/Cea708CCWidget$ScaledLayout;
-Landroid/media/Cea708CCWidget$CCLayout;->removeViewFromSafeTitleArea(Landroid/media/Cea708CCWidget$CCWindowLayout;)V
-Landroid/media/Cea708CCWidget$CCLayout;->SAFE_TITLE_AREA_SCALE_END_X:F
-Landroid/media/Cea708CCWidget$CCLayout;->SAFE_TITLE_AREA_SCALE_END_Y:F
-Landroid/media/Cea708CCWidget$CCLayout;->SAFE_TITLE_AREA_SCALE_START_X:F
-Landroid/media/Cea708CCWidget$CCLayout;->SAFE_TITLE_AREA_SCALE_START_Y:F
-Landroid/media/Cea708CCWidget$CCLayout;->setCaptionStyle(Landroid/view/accessibility/CaptioningManager$CaptionStyle;)V
-Landroid/media/Cea708CCWidget$CCLayout;->setFontScale(F)V
-Landroid/media/Cea708CCWidget$CCView;
-Landroid/media/Cea708CCWidget$CCView;-><init>(Landroid/content/Context;)V
-Landroid/media/Cea708CCWidget$CCView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/media/Cea708CCWidget$CCView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/media/Cea708CCWidget$CCView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/media/Cea708CCWidget$CCView;->DEFAULT_CAPTION_STYLE:Landroid/view/accessibility/CaptioningManager$CaptionStyle;
-Landroid/media/Cea708CCWidget$CCView;->setCaptionStyle(Landroid/view/accessibility/CaptioningManager$CaptionStyle;)V
-Landroid/media/Cea708CCWidget$CCWindowLayout;
-Landroid/media/Cea708CCWidget$CCWindowLayout;-><init>(Landroid/content/Context;)V
-Landroid/media/Cea708CCWidget$CCWindowLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/media/Cea708CCWidget$CCWindowLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/media/Cea708CCWidget$CCWindowLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->ANCHOR_HORIZONTAL_16_9_MAX:I
-Landroid/media/Cea708CCWidget$CCWindowLayout;->ANCHOR_HORIZONTAL_MODE_CENTER:I
-Landroid/media/Cea708CCWidget$CCWindowLayout;->ANCHOR_HORIZONTAL_MODE_LEFT:I
-Landroid/media/Cea708CCWidget$CCWindowLayout;->ANCHOR_HORIZONTAL_MODE_RIGHT:I
-Landroid/media/Cea708CCWidget$CCWindowLayout;->ANCHOR_MODE_DIVIDER:I
-Landroid/media/Cea708CCWidget$CCWindowLayout;->ANCHOR_RELATIVE_POSITIONING_MAX:I
-Landroid/media/Cea708CCWidget$CCWindowLayout;->ANCHOR_VERTICAL_MAX:I
-Landroid/media/Cea708CCWidget$CCWindowLayout;->ANCHOR_VERTICAL_MODE_BOTTOM:I
-Landroid/media/Cea708CCWidget$CCWindowLayout;->ANCHOR_VERTICAL_MODE_CENTER:I
-Landroid/media/Cea708CCWidget$CCWindowLayout;->ANCHOR_VERTICAL_MODE_TOP:I
-Landroid/media/Cea708CCWidget$CCWindowLayout;->appendText(Ljava/lang/String;)V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->clear()V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->clearText()V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->getCaptionWindowId()I
-Landroid/media/Cea708CCWidget$CCWindowLayout;->getScreenColumnCount()I
-Landroid/media/Cea708CCWidget$CCWindowLayout;->hide()V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->initWindow(Landroid/media/Cea708CCWidget$CCLayout;Landroid/media/Cea708CCParser$CaptionWindow;)V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->MAX_COLUMN_COUNT_16_9:I
-Landroid/media/Cea708CCWidget$CCWindowLayout;->mBuilder:Landroid/text/SpannableStringBuilder;
-Landroid/media/Cea708CCWidget$CCWindowLayout;->mCaptionStyle:Landroid/view/accessibility/CaptioningManager$CaptionStyle;
-Landroid/media/Cea708CCWidget$CCWindowLayout;->mCaptionWindowId:I
-Landroid/media/Cea708CCWidget$CCWindowLayout;->mCCLayout:Landroid/media/Cea708CCWidget$CCLayout;
-Landroid/media/Cea708CCWidget$CCWindowLayout;->mCCView:Landroid/media/Cea708CCWidget$CCView;
-Landroid/media/Cea708CCWidget$CCWindowLayout;->mCharacterStyles:Ljava/util/List;
-Landroid/media/Cea708CCWidget$CCWindowLayout;->mFontScale:F
-Landroid/media/Cea708CCWidget$CCWindowLayout;->mLastCaptionLayoutHeight:I
-Landroid/media/Cea708CCWidget$CCWindowLayout;->mLastCaptionLayoutWidth:I
-Landroid/media/Cea708CCWidget$CCWindowLayout;->mRow:I
-Landroid/media/Cea708CCWidget$CCWindowLayout;->mRowLimit:I
-Landroid/media/Cea708CCWidget$CCWindowLayout;->mTextSize:F
-Landroid/media/Cea708CCWidget$CCWindowLayout;->mWidestChar:Ljava/lang/String;
-Landroid/media/Cea708CCWidget$CCWindowLayout;->PROPORTION_PEN_SIZE_LARGE:F
-Landroid/media/Cea708CCWidget$CCWindowLayout;->PROPORTION_PEN_SIZE_SMALL:F
-Landroid/media/Cea708CCWidget$CCWindowLayout;->removeFromCaptionView()V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->sendBuffer(Ljava/lang/String;)V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->sendControl(C)V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->setCaptionStyle(Landroid/view/accessibility/CaptioningManager$CaptionStyle;)V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->setCaptionWindowId(I)V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->setFontScale(F)V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->setPenAttr(Landroid/media/Cea708CCParser$CaptionPenAttr;)V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->setPenColor(Landroid/media/Cea708CCParser$CaptionPenColor;)V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->setPenLocation(II)V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->setRowLimit(I)V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->setText(Ljava/lang/String;)V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->setWindowAttr(Landroid/media/Cea708CCParser$CaptionWindowAttr;)V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->show()V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->TAG:Ljava/lang/String;
-Landroid/media/Cea708CCWidget$CCWindowLayout;->updateText(Ljava/lang/String;Z)V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->updateTextSize()V
-Landroid/media/Cea708CCWidget$CCWindowLayout;->updateWidestChar()V
-Landroid/media/Cea708CCWidget$ScaledLayout$ScaledLayoutParams;
-Landroid/media/Cea708CCWidget$ScaledLayout$ScaledLayoutParams;-><init>(FFFF)V
-Landroid/media/Cea708CCWidget$ScaledLayout$ScaledLayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/media/Cea708CCWidget$ScaledLayout$ScaledLayoutParams;->scaleEndCol:F
-Landroid/media/Cea708CCWidget$ScaledLayout$ScaledLayoutParams;->scaleEndRow:F
-Landroid/media/Cea708CCWidget$ScaledLayout$ScaledLayoutParams;->scaleStartCol:F
-Landroid/media/Cea708CCWidget$ScaledLayout$ScaledLayoutParams;->scaleStartRow:F
-Landroid/media/Cea708CCWidget$ScaledLayout$ScaledLayoutParams;->SCALE_UNSPECIFIED:F
-Landroid/media/Cea708CCWidget$ScaledLayout;
-Landroid/media/Cea708CCWidget$ScaledLayout;-><init>(Landroid/content/Context;)V
-Landroid/media/Cea708CCWidget$ScaledLayout;->DEBUG:Z
-Landroid/media/Cea708CCWidget$ScaledLayout;->mRectArray:[Landroid/graphics/Rect;
-Landroid/media/Cea708CCWidget$ScaledLayout;->mRectTopLeftSorter:Ljava/util/Comparator;
-Landroid/media/Cea708CCWidget$ScaledLayout;->TAG:Ljava/lang/String;
-Landroid/media/Cea708CCWidget;
-Landroid/media/Cea708CCWidget;-><init>(Landroid/content/Context;)V
-Landroid/media/Cea708CCWidget;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/media/Cea708CCWidget;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/media/Cea708CCWidget;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/media/Cea708CCWidget;->createCaptionLayout(Landroid/content/Context;)Landroid/media/ClosedCaptionWidget$ClosedCaptionLayout;
-Landroid/media/Cea708CCWidget;->emitEvent(Landroid/media/Cea708CCParser$CaptionEvent;)V
-Landroid/media/Cea708CCWidget;->mCCHandler:Landroid/media/Cea708CCWidget$CCHandler;
-Landroid/media/ClosedCaptionRenderer;
-Landroid/media/ClosedCaptionRenderer;-><init>(Landroid/content/Context;)V
-Landroid/media/ClosedCaptionRenderer;->createTrack(Landroid/media/MediaFormat;)Landroid/media/SubtitleTrack;
-Landroid/media/ClosedCaptionRenderer;->mCCWidget:Landroid/media/Cea608CCWidget;
-Landroid/media/ClosedCaptionRenderer;->mContext:Landroid/content/Context;
-Landroid/media/ClosedCaptionRenderer;->supports(Landroid/media/MediaFormat;)Z
-Landroid/media/ClosedCaptionWidget$ClosedCaptionLayout;
-Landroid/media/ClosedCaptionWidget$ClosedCaptionLayout;->setCaptionStyle(Landroid/view/accessibility/CaptioningManager$CaptionStyle;)V
-Landroid/media/ClosedCaptionWidget$ClosedCaptionLayout;->setFontScale(F)V
-Landroid/media/ClosedCaptionWidget;
-Landroid/media/ClosedCaptionWidget;-><init>(Landroid/content/Context;)V
-Landroid/media/ClosedCaptionWidget;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/media/ClosedCaptionWidget;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/media/ClosedCaptionWidget;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/media/ClosedCaptionWidget;->createCaptionLayout(Landroid/content/Context;)Landroid/media/ClosedCaptionWidget$ClosedCaptionLayout;
-Landroid/media/ClosedCaptionWidget;->DEFAULT_CAPTION_STYLE:Landroid/view/accessibility/CaptioningManager$CaptionStyle;
-Landroid/media/ClosedCaptionWidget;->manageChangeListener()V
-Landroid/media/ClosedCaptionWidget;->mCaptioningListener:Landroid/view/accessibility/CaptioningManager$CaptioningChangeListener;
-Landroid/media/ClosedCaptionWidget;->mCaptionStyle:Landroid/view/accessibility/CaptioningManager$CaptionStyle;
-Landroid/media/ClosedCaptionWidget;->mClosedCaptionLayout:Landroid/media/ClosedCaptionWidget$ClosedCaptionLayout;
-Landroid/media/ClosedCaptionWidget;->mHasChangeListener:Z
-Landroid/media/ClosedCaptionWidget;->mListener:Landroid/media/SubtitleTrack$RenderingWidget$OnChangedListener;
-Landroid/media/ClosedCaptionWidget;->mManager:Landroid/view/accessibility/CaptioningManager;
-Landroid/media/ClosedCaptionWidget;->setOnChangedListener(Landroid/media/SubtitleTrack$RenderingWidget$OnChangedListener;)V
-Landroid/media/ClosedCaptionWidget;->setSize(II)V
-Landroid/media/ClosedCaptionWidget;->setVisible(Z)V
-Landroid/media/DataSourceDesc$Builder;
-Landroid/media/DataSourceDesc$Builder;-><init>()V
-Landroid/media/DataSourceDesc$Builder;-><init>(Landroid/media/DataSourceDesc;)V
-Landroid/media/DataSourceDesc$Builder;->build()Landroid/media/DataSourceDesc;
-Landroid/media/DataSourceDesc$Builder;->mEndPositionMs:J
-Landroid/media/DataSourceDesc$Builder;->mFD:Ljava/io/FileDescriptor;
-Landroid/media/DataSourceDesc$Builder;->mFDLength:J
-Landroid/media/DataSourceDesc$Builder;->mFDOffset:J
-Landroid/media/DataSourceDesc$Builder;->mMedia2DataSource:Landroid/media/Media2DataSource;
-Landroid/media/DataSourceDesc$Builder;->mMediaId:Ljava/lang/String;
-Landroid/media/DataSourceDesc$Builder;->mStartPositionMs:J
-Landroid/media/DataSourceDesc$Builder;->mType:I
-Landroid/media/DataSourceDesc$Builder;->mUri:Landroid/net/Uri;
-Landroid/media/DataSourceDesc$Builder;->mUriContext:Landroid/content/Context;
-Landroid/media/DataSourceDesc$Builder;->mUriCookies:Ljava/util/List;
-Landroid/media/DataSourceDesc$Builder;->mUriHeader:Ljava/util/Map;
-Landroid/media/DataSourceDesc$Builder;->resetDataSource()V
-Landroid/media/DataSourceDesc$Builder;->setDataSource(Landroid/content/Context;Landroid/net/Uri;)Landroid/media/DataSourceDesc$Builder;
-Landroid/media/DataSourceDesc$Builder;->setDataSource(Landroid/content/Context;Landroid/net/Uri;Ljava/util/Map;Ljava/util/List;)Landroid/media/DataSourceDesc$Builder;
-Landroid/media/DataSourceDesc$Builder;->setDataSource(Landroid/media/Media2DataSource;)Landroid/media/DataSourceDesc$Builder;
-Landroid/media/DataSourceDesc$Builder;->setDataSource(Ljava/io/FileDescriptor;)Landroid/media/DataSourceDesc$Builder;
-Landroid/media/DataSourceDesc$Builder;->setDataSource(Ljava/io/FileDescriptor;JJ)Landroid/media/DataSourceDesc$Builder;
-Landroid/media/DataSourceDesc$Builder;->setEndPosition(J)Landroid/media/DataSourceDesc$Builder;
-Landroid/media/DataSourceDesc$Builder;->setMediaId(Ljava/lang/String;)Landroid/media/DataSourceDesc$Builder;
-Landroid/media/DataSourceDesc$Builder;->setStartPosition(J)Landroid/media/DataSourceDesc$Builder;
-Landroid/media/DataSourceDesc;
-Landroid/media/DataSourceDesc;-><init>()V
-Landroid/media/DataSourceDesc;->getEndPosition()J
-Landroid/media/DataSourceDesc;->getFileDescriptor()Ljava/io/FileDescriptor;
-Landroid/media/DataSourceDesc;->getFileDescriptorLength()J
-Landroid/media/DataSourceDesc;->getFileDescriptorOffset()J
-Landroid/media/DataSourceDesc;->getMedia2DataSource()Landroid/media/Media2DataSource;
-Landroid/media/DataSourceDesc;->getMediaId()Ljava/lang/String;
-Landroid/media/DataSourceDesc;->getStartPosition()J
-Landroid/media/DataSourceDesc;->getType()I
-Landroid/media/DataSourceDesc;->getUri()Landroid/net/Uri;
-Landroid/media/DataSourceDesc;->getUriContext()Landroid/content/Context;
-Landroid/media/DataSourceDesc;->getUriCookies()Ljava/util/List;
-Landroid/media/DataSourceDesc;->getUriHeaders()Ljava/util/Map;
-Landroid/media/DataSourceDesc;->LONG_MAX:J
-Landroid/media/DataSourceDesc;->mEndPositionMs:J
-Landroid/media/DataSourceDesc;->mFD:Ljava/io/FileDescriptor;
-Landroid/media/DataSourceDesc;->mFDLength:J
-Landroid/media/DataSourceDesc;->mFDOffset:J
-Landroid/media/DataSourceDesc;->mMedia2DataSource:Landroid/media/Media2DataSource;
-Landroid/media/DataSourceDesc;->mMediaId:Ljava/lang/String;
-Landroid/media/DataSourceDesc;->mStartPositionMs:J
-Landroid/media/DataSourceDesc;->mType:I
-Landroid/media/DataSourceDesc;->mUri:Landroid/net/Uri;
-Landroid/media/DataSourceDesc;->mUriContext:Landroid/content/Context;
-Landroid/media/DataSourceDesc;->mUriCookies:Ljava/util/List;
-Landroid/media/DataSourceDesc;->mUriHeader:Ljava/util/Map;
-Landroid/media/DataSourceDesc;->TYPE_CALLBACK:I
-Landroid/media/DataSourceDesc;->TYPE_FD:I
-Landroid/media/DataSourceDesc;->TYPE_NONE:I
-Landroid/media/DataSourceDesc;->TYPE_URI:I
-Landroid/media/DecoderCapabilities$AudioDecoder;
-Landroid/media/DecoderCapabilities$AudioDecoder;-><init>()V
-Landroid/media/DecoderCapabilities$AudioDecoder;->valueOf(Ljava/lang/String;)Landroid/media/DecoderCapabilities$AudioDecoder;
-Landroid/media/DecoderCapabilities$AudioDecoder;->values()[Landroid/media/DecoderCapabilities$AudioDecoder;
-Landroid/media/DecoderCapabilities$VideoDecoder;
-Landroid/media/DecoderCapabilities$VideoDecoder;-><init>()V
-Landroid/media/DecoderCapabilities$VideoDecoder;->valueOf(Ljava/lang/String;)Landroid/media/DecoderCapabilities$VideoDecoder;
-Landroid/media/DecoderCapabilities$VideoDecoder;->values()[Landroid/media/DecoderCapabilities$VideoDecoder;
-Landroid/media/DecoderCapabilities;
-Landroid/media/DecoderCapabilities;-><init>()V
-Landroid/media/DecoderCapabilities;->native_get_audio_decoder_type(I)I
-Landroid/media/DecoderCapabilities;->native_get_num_audio_decoders()I
-Landroid/media/DecoderCapabilities;->native_get_num_video_decoders()I
-Landroid/media/DecoderCapabilities;->native_get_video_decoder_type(I)I
-Landroid/media/DecoderCapabilities;->native_init()V
-Landroid/media/DrmInitData$SchemeInitData;-><init>(Ljava/lang/String;[B)V
-Landroid/media/DrmInitData;-><init>()V
-Landroid/media/effect/EffectContext;-><init>()V
-Landroid/media/effect/EffectContext;->assertValidGLState()V
-Landroid/media/effect/EffectContext;->GL_STATE_ARRAYBUFFER:I
-Landroid/media/effect/EffectContext;->GL_STATE_COUNT:I
-Landroid/media/effect/EffectContext;->GL_STATE_FBO:I
-Landroid/media/effect/EffectContext;->GL_STATE_PROGRAM:I
-Landroid/media/effect/EffectContext;->initInCurrentGlContext()V
-Landroid/media/effect/EffectContext;->mFactory:Landroid/media/effect/EffectFactory;
-Landroid/media/effect/EffectContext;->mFilterContext:Landroid/filterfw/core/FilterContext;
-Landroid/media/effect/EffectContext;->mOldState:[I
-Landroid/media/effect/EffectContext;->restoreGLState()V
-Landroid/media/effect/EffectContext;->saveGLState()V
-Landroid/media/effect/EffectFactory;-><init>(Landroid/media/effect/EffectContext;)V
-Landroid/media/effect/EffectFactory;->EFFECT_IDENTITY:Ljava/lang/String;
-Landroid/media/effect/EffectFactory;->EFFECT_PACKAGES:[Ljava/lang/String;
-Landroid/media/effect/EffectFactory;->getEffectClassByName(Ljava/lang/String;)Ljava/lang/Class;
-Landroid/media/effect/EffectFactory;->instantiateEffect(Ljava/lang/Class;Ljava/lang/String;)Landroid/media/effect/Effect;
-Landroid/media/effect/EffectFactory;->mEffectContext:Landroid/media/effect/EffectContext;
-Landroid/media/effect/FilterEffect;
-Landroid/media/effect/FilterEffect;-><init>(Landroid/media/effect/EffectContext;Ljava/lang/String;)V
-Landroid/media/effect/FilterEffect;->beginGLEffect()V
-Landroid/media/effect/FilterEffect;->endGLEffect()V
-Landroid/media/effect/FilterEffect;->frameFromTexture(III)Landroid/filterfw/core/Frame;
-Landroid/media/effect/FilterEffect;->getFilterContext()Landroid/filterfw/core/FilterContext;
-Landroid/media/effect/FilterEffect;->mEffectContext:Landroid/media/effect/EffectContext;
-Landroid/media/effect/FilterEffect;->mName:Ljava/lang/String;
-Landroid/media/effect/FilterGraphEffect;
-Landroid/media/effect/FilterGraphEffect;-><init>(Landroid/media/effect/EffectContext;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)V
-Landroid/media/effect/FilterGraphEffect;->createGraph(Ljava/lang/String;)V
-Landroid/media/effect/FilterGraphEffect;->mGraph:Landroid/filterfw/core/FilterGraph;
-Landroid/media/effect/FilterGraphEffect;->mInputName:Ljava/lang/String;
-Landroid/media/effect/FilterGraphEffect;->mOutputName:Ljava/lang/String;
-Landroid/media/effect/FilterGraphEffect;->mRunner:Landroid/filterfw/core/GraphRunner;
-Landroid/media/effect/FilterGraphEffect;->mSchedulerClass:Ljava/lang/Class;
-Landroid/media/effect/FilterGraphEffect;->TAG:Ljava/lang/String;
-Landroid/media/effect/SingleFilterEffect;
-Landroid/media/effect/SingleFilterEffect;-><init>(Landroid/media/effect/EffectContext;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;[[Ljava/lang/Object;)V
-Landroid/media/effect/SingleFilterEffect;->mFunction:Landroid/filterfw/core/FilterFunction;
-Landroid/media/effect/SingleFilterEffect;->mInputName:Ljava/lang/String;
-Landroid/media/effect/SingleFilterEffect;->mOutputName:Ljava/lang/String;
-Landroid/media/effect/SizeChangeEffect;
-Landroid/media/effect/SizeChangeEffect;-><init>(Landroid/media/effect/EffectContext;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;[[Ljava/lang/Object;)V
-Landroid/media/EncoderCapabilities$AudioEncoderCap;
-Landroid/media/EncoderCapabilities$AudioEncoderCap;-><init>(IIIIIII)V
-Landroid/media/EncoderCapabilities$AudioEncoderCap;->mCodec:I
-Landroid/media/EncoderCapabilities$AudioEncoderCap;->mMaxBitRate:I
-Landroid/media/EncoderCapabilities$AudioEncoderCap;->mMaxChannels:I
-Landroid/media/EncoderCapabilities$AudioEncoderCap;->mMaxSampleRate:I
-Landroid/media/EncoderCapabilities$AudioEncoderCap;->mMinBitRate:I
-Landroid/media/EncoderCapabilities$AudioEncoderCap;->mMinChannels:I
-Landroid/media/EncoderCapabilities$AudioEncoderCap;->mMinSampleRate:I
-Landroid/media/EncoderCapabilities$VideoEncoderCap;
-Landroid/media/EncoderCapabilities$VideoEncoderCap;-><init>(IIIIIIIII)V
-Landroid/media/EncoderCapabilities$VideoEncoderCap;->mMaxBitRate:I
-Landroid/media/EncoderCapabilities$VideoEncoderCap;->mMaxFrameRate:I
-Landroid/media/EncoderCapabilities$VideoEncoderCap;->mMinBitRate:I
-Landroid/media/EncoderCapabilities$VideoEncoderCap;->mMinFrameRate:I
-Landroid/media/EncoderCapabilities;
-Landroid/media/EncoderCapabilities;-><init>()V
-Landroid/media/EncoderCapabilities;->getAudioEncoders()Ljava/util/List;
-Landroid/media/EncoderCapabilities;->getOutputFileFormats()[I
-Landroid/media/EncoderCapabilities;->native_get_audio_encoder_cap(I)Landroid/media/EncoderCapabilities$AudioEncoderCap;
-Landroid/media/EncoderCapabilities;->native_get_file_format(I)I
-Landroid/media/EncoderCapabilities;->native_get_num_audio_encoders()I
-Landroid/media/EncoderCapabilities;->native_get_num_file_formats()I
-Landroid/media/EncoderCapabilities;->native_get_num_video_encoders()I
-Landroid/media/EncoderCapabilities;->native_get_video_encoder_cap(I)Landroid/media/EncoderCapabilities$VideoEncoderCap;
-Landroid/media/EncoderCapabilities;->native_init()V
-Landroid/media/EncoderCapabilities;->TAG:Ljava/lang/String;
-Landroid/media/ExifInterface$ByteOrderedDataInputStream;
-Landroid/media/ExifInterface$ByteOrderedDataInputStream;-><init>(Ljava/io/InputStream;)V
-Landroid/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
-Landroid/media/ExifInterface$ByteOrderedDataInputStream;->BIG_ENDIAN:Ljava/nio/ByteOrder;
-Landroid/media/ExifInterface$ByteOrderedDataInputStream;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
-Landroid/media/ExifInterface$ByteOrderedDataInputStream;->mByteOrder:Ljava/nio/ByteOrder;
-Landroid/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
-Landroid/media/ExifInterface$ByteOrderedDataInputStream;->mInputStream:Ljava/io/InputStream;
-Landroid/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
-Landroid/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
-Landroid/media/ExifInterface$ByteOrderedDataInputStream;->peek()I
-Landroid/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedInt()J
-Landroid/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
-Landroid/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
-Landroid/media/ExifInterface$ByteOrderedDataOutputStream;
-Landroid/media/ExifInterface$ByteOrderedDataOutputStream;-><init>(Ljava/io/OutputStream;Ljava/nio/ByteOrder;)V
-Landroid/media/ExifInterface$ByteOrderedDataOutputStream;->mByteOrder:Ljava/nio/ByteOrder;
-Landroid/media/ExifInterface$ByteOrderedDataOutputStream;->mOutputStream:Ljava/io/OutputStream;
-Landroid/media/ExifInterface$ByteOrderedDataOutputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
-Landroid/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
-Landroid/media/ExifInterface$ByteOrderedDataOutputStream;->writeInt(I)V
-Landroid/media/ExifInterface$ByteOrderedDataOutputStream;->writeShort(S)V
-Landroid/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedInt(J)V
-Landroid/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V
-Landroid/media/ExifInterface$ExifAttribute;
-Landroid/media/ExifInterface$ExifAttribute;-><init>(II[B)V
-Landroid/media/ExifInterface$ExifAttribute;->bytes:[B
-Landroid/media/ExifInterface$ExifAttribute;->createByte(Ljava/lang/String;)Landroid/media/ExifInterface$ExifAttribute;
-Landroid/media/ExifInterface$ExifAttribute;->createDouble(DLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
-Landroid/media/ExifInterface$ExifAttribute;->createDouble([DLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
-Landroid/media/ExifInterface$ExifAttribute;->createSLong(ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
-Landroid/media/ExifInterface$ExifAttribute;->createSLong([ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
-Landroid/media/ExifInterface$ExifAttribute;->createSRational(Landroid/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
-Landroid/media/ExifInterface$ExifAttribute;->createSRational([Landroid/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
-Landroid/media/ExifInterface$ExifAttribute;->createString(Ljava/lang/String;)Landroid/media/ExifInterface$ExifAttribute;
-Landroid/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
-Landroid/media/ExifInterface$ExifAttribute;->createULong([JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
-Landroid/media/ExifInterface$ExifAttribute;->createURational(Landroid/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
-Landroid/media/ExifInterface$ExifAttribute;->createURational([Landroid/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
-Landroid/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
-Landroid/media/ExifInterface$ExifAttribute;->createUShort([ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
-Landroid/media/ExifInterface$ExifAttribute;->format:I
-Landroid/media/ExifInterface$ExifAttribute;->getDoubleValue(Ljava/nio/ByteOrder;)D
-Landroid/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
-Landroid/media/ExifInterface$ExifAttribute;->getStringValue(Ljava/nio/ByteOrder;)Ljava/lang/String;
-Landroid/media/ExifInterface$ExifAttribute;->getValue(Ljava/nio/ByteOrder;)Ljava/lang/Object;
-Landroid/media/ExifInterface$ExifAttribute;->numberOfComponents:I
-Landroid/media/ExifInterface$ExifAttribute;->size()I
-Landroid/media/ExifInterface$ExifTag;
-Landroid/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
-Landroid/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;III)V
-Landroid/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
-Landroid/media/ExifInterface$ExifTag;->number:I
-Landroid/media/ExifInterface$ExifTag;->primaryFormat:I
-Landroid/media/ExifInterface$ExifTag;->secondaryFormat:I
-Landroid/media/ExifInterface$IfdType;
-Landroid/media/ExifInterface$Rational;
-Landroid/media/ExifInterface$Rational;-><init>(JJ)V
-Landroid/media/ExifInterface$Rational;->calculate()D
-Landroid/media/ExifInterface$Rational;->denominator:J
-Landroid/media/ExifInterface$Rational;->numerator:J
-Landroid/media/ExifInterface;->addDefaultValuesForCompatibility()V
-Landroid/media/ExifInterface;->ASCII:Ljava/nio/charset/Charset;
-Landroid/media/ExifInterface;->BITS_PER_SAMPLE_GREYSCALE_1:[I
-Landroid/media/ExifInterface;->BITS_PER_SAMPLE_GREYSCALE_2:[I
-Landroid/media/ExifInterface;->BITS_PER_SAMPLE_RGB:[I
-Landroid/media/ExifInterface;->BYTE_ALIGN_II:S
-Landroid/media/ExifInterface;->BYTE_ALIGN_MM:S
-Landroid/media/ExifInterface;->containsMatch([B[B)Z
-Landroid/media/ExifInterface;->convertToLongArray(Ljava/lang/Object;)[J
-Landroid/media/ExifInterface;->DATA_DEFLATE_ZIP:I
-Landroid/media/ExifInterface;->DATA_HUFFMAN_COMPRESSED:I
-Landroid/media/ExifInterface;->DATA_JPEG:I
-Landroid/media/ExifInterface;->DATA_JPEG_COMPRESSED:I
-Landroid/media/ExifInterface;->DATA_LOSSY_JPEG:I
-Landroid/media/ExifInterface;->DATA_PACK_BITS_COMPRESSED:I
-Landroid/media/ExifInterface;->DATA_UNCOMPRESSED:I
-Landroid/media/ExifInterface;->DEBUG:Z
-Landroid/media/ExifInterface;->EXIF_ASCII_PREFIX:[B
-Landroid/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroid/media/ExifInterface$ExifTag;
-Landroid/media/ExifInterface;->EXIF_TAGS:[[Landroid/media/ExifInterface$ExifTag;
-Landroid/media/ExifInterface;->getExifAttribute(Ljava/lang/String;)Landroid/media/ExifInterface$ExifAttribute;
-Landroid/media/ExifInterface;->getHeifAttributes(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
-Landroid/media/ExifInterface;->getJpegAttributes(Landroid/media/ExifInterface$ByteOrderedDataInputStream;II)V
-Landroid/media/ExifInterface;->getMimeType(Ljava/io/BufferedInputStream;)I
-Landroid/media/ExifInterface;->getOrfAttributes(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
-Landroid/media/ExifInterface;->getRafAttributes(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
-Landroid/media/ExifInterface;->getRawAttributes(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
-Landroid/media/ExifInterface;->getRw2Attributes(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
-Landroid/media/ExifInterface;->guessDataFormat(Ljava/lang/String;)Landroid/util/Pair;
-Landroid/media/ExifInterface;->handleThumbnailFromJfif(Landroid/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V
-Landroid/media/ExifInterface;->handleThumbnailFromStrips(Landroid/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V
-Landroid/media/ExifInterface;->HEIF_BRAND_HEIC:[B
-Landroid/media/ExifInterface;->HEIF_BRAND_MIF1:[B
-Landroid/media/ExifInterface;->HEIF_TYPE_FTYP:[B
-Landroid/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B
-Landroid/media/ExifInterface;->IFD_EXIF_TAGS:[Landroid/media/ExifInterface$ExifTag;
-Landroid/media/ExifInterface;->IFD_FORMAT_BYTE:I
-Landroid/media/ExifInterface;->IFD_FORMAT_BYTES_PER_FORMAT:[I
-Landroid/media/ExifInterface;->IFD_FORMAT_DOUBLE:I
-Landroid/media/ExifInterface;->IFD_FORMAT_IFD:I
-Landroid/media/ExifInterface;->IFD_FORMAT_NAMES:[Ljava/lang/String;
-Landroid/media/ExifInterface;->IFD_FORMAT_SBYTE:I
-Landroid/media/ExifInterface;->IFD_FORMAT_SINGLE:I
-Landroid/media/ExifInterface;->IFD_FORMAT_SLONG:I
-Landroid/media/ExifInterface;->IFD_FORMAT_SRATIONAL:I
-Landroid/media/ExifInterface;->IFD_FORMAT_SSHORT:I
-Landroid/media/ExifInterface;->IFD_FORMAT_STRING:I
-Landroid/media/ExifInterface;->IFD_FORMAT_ULONG:I
-Landroid/media/ExifInterface;->IFD_FORMAT_UNDEFINED:I
-Landroid/media/ExifInterface;->IFD_FORMAT_URATIONAL:I
-Landroid/media/ExifInterface;->IFD_FORMAT_USHORT:I
-Landroid/media/ExifInterface;->IFD_GPS_TAGS:[Landroid/media/ExifInterface$ExifTag;
-Landroid/media/ExifInterface;->IFD_INTEROPERABILITY_TAGS:[Landroid/media/ExifInterface$ExifTag;
-Landroid/media/ExifInterface;->IFD_OFFSET:I
-Landroid/media/ExifInterface;->IFD_THUMBNAIL_TAGS:[Landroid/media/ExifInterface$ExifTag;
-Landroid/media/ExifInterface;->IFD_TIFF_TAGS:[Landroid/media/ExifInterface$ExifTag;
-Landroid/media/ExifInterface;->IFD_TYPE_EXIF:I
-Landroid/media/ExifInterface;->IFD_TYPE_GPS:I
-Landroid/media/ExifInterface;->IFD_TYPE_INTEROPERABILITY:I
-Landroid/media/ExifInterface;->IFD_TYPE_ORF_CAMERA_SETTINGS:I
-Landroid/media/ExifInterface;->IFD_TYPE_ORF_IMAGE_PROCESSING:I
-Landroid/media/ExifInterface;->IFD_TYPE_ORF_MAKER_NOTE:I
-Landroid/media/ExifInterface;->IFD_TYPE_PEF:I
-Landroid/media/ExifInterface;->IFD_TYPE_PREVIEW:I
-Landroid/media/ExifInterface;->IFD_TYPE_PRIMARY:I
-Landroid/media/ExifInterface;->IFD_TYPE_THUMBNAIL:I
-Landroid/media/ExifInterface;->IMAGE_TYPE_ARW:I
-Landroid/media/ExifInterface;->IMAGE_TYPE_CR2:I
-Landroid/media/ExifInterface;->IMAGE_TYPE_DNG:I
-Landroid/media/ExifInterface;->IMAGE_TYPE_HEIF:I
-Landroid/media/ExifInterface;->IMAGE_TYPE_JPEG:I
-Landroid/media/ExifInterface;->IMAGE_TYPE_NEF:I
-Landroid/media/ExifInterface;->IMAGE_TYPE_NRW:I
-Landroid/media/ExifInterface;->IMAGE_TYPE_ORF:I
-Landroid/media/ExifInterface;->IMAGE_TYPE_PEF:I
-Landroid/media/ExifInterface;->IMAGE_TYPE_RAF:I
-Landroid/media/ExifInterface;->IMAGE_TYPE_RW2:I
-Landroid/media/ExifInterface;->IMAGE_TYPE_SRW:I
-Landroid/media/ExifInterface;->IMAGE_TYPE_UNKNOWN:I
-Landroid/media/ExifInterface;->isHeifFormat([B)Z
-Landroid/media/ExifInterface;->isJpegFormat([B)Z
-Landroid/media/ExifInterface;->isOrfFormat([B)Z
-Landroid/media/ExifInterface;->isRafFormat([B)Z
-Landroid/media/ExifInterface;->isRw2Format([B)Z
-Landroid/media/ExifInterface;->isSeekableFD(Ljava/io/FileDescriptor;)Z
-Landroid/media/ExifInterface;->isSupportedDataType(Ljava/util/HashMap;)Z
-Landroid/media/ExifInterface;->isThumbnail(Ljava/util/HashMap;)Z
-Landroid/media/ExifInterface;->JPEG_INTERCHANGE_FORMAT_LENGTH_TAG:Landroid/media/ExifInterface$ExifTag;
-Landroid/media/ExifInterface;->JPEG_INTERCHANGE_FORMAT_TAG:Landroid/media/ExifInterface$ExifTag;
-Landroid/media/ExifInterface;->JPEG_SIGNATURE:[B
-Landroid/media/ExifInterface;->loadAttributes(Ljava/io/InputStream;)V
-Landroid/media/ExifInterface;->MARKER:B
-Landroid/media/ExifInterface;->MARKER_APP1:B
-Landroid/media/ExifInterface;->MARKER_COM:B
-Landroid/media/ExifInterface;->MARKER_EOI:B
-Landroid/media/ExifInterface;->MARKER_SOF0:B
-Landroid/media/ExifInterface;->MARKER_SOF10:B
-Landroid/media/ExifInterface;->MARKER_SOF11:B
-Landroid/media/ExifInterface;->MARKER_SOF13:B
-Landroid/media/ExifInterface;->MARKER_SOF14:B
-Landroid/media/ExifInterface;->MARKER_SOF15:B
-Landroid/media/ExifInterface;->MARKER_SOF1:B
-Landroid/media/ExifInterface;->MARKER_SOF2:B
-Landroid/media/ExifInterface;->MARKER_SOF3:B
-Landroid/media/ExifInterface;->MARKER_SOF5:B
-Landroid/media/ExifInterface;->MARKER_SOF6:B
-Landroid/media/ExifInterface;->MARKER_SOF7:B
-Landroid/media/ExifInterface;->MARKER_SOF9:B
-Landroid/media/ExifInterface;->MARKER_SOI:B
-Landroid/media/ExifInterface;->MARKER_SOS:B
-Landroid/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
-Landroid/media/ExifInterface;->mAttributesOffsets:Ljava/util/Set;
-Landroid/media/ExifInterface;->MAX_THUMBNAIL_SIZE:I
-Landroid/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
-Landroid/media/ExifInterface;->mExifOffset:I
-Landroid/media/ExifInterface;->mIsInputStream:Z
-Landroid/media/ExifInterface;->mIsSupportedFile:Z
-Landroid/media/ExifInterface;->mMimeType:I
-Landroid/media/ExifInterface;->mOrfMakerNoteOffset:I
-Landroid/media/ExifInterface;->mOrfThumbnailLength:I
-Landroid/media/ExifInterface;->mOrfThumbnailOffset:I
-Landroid/media/ExifInterface;->mRw2JpgFromRawOffset:I
-Landroid/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
-Landroid/media/ExifInterface;->mThumbnailBytes:[B
-Landroid/media/ExifInterface;->mThumbnailCompression:I
-Landroid/media/ExifInterface;->mThumbnailLength:I
-Landroid/media/ExifInterface;->mThumbnailOffset:I
-Landroid/media/ExifInterface;->ORF_CAMERA_SETTINGS_TAGS:[Landroid/media/ExifInterface$ExifTag;
-Landroid/media/ExifInterface;->ORF_IMAGE_PROCESSING_TAGS:[Landroid/media/ExifInterface$ExifTag;
-Landroid/media/ExifInterface;->ORF_MAKER_NOTE_HEADER_1:[B
-Landroid/media/ExifInterface;->ORF_MAKER_NOTE_HEADER_1_SIZE:I
-Landroid/media/ExifInterface;->ORF_MAKER_NOTE_HEADER_2:[B
-Landroid/media/ExifInterface;->ORF_MAKER_NOTE_HEADER_2_SIZE:I
-Landroid/media/ExifInterface;->ORF_MAKER_NOTE_TAGS:[Landroid/media/ExifInterface$ExifTag;
-Landroid/media/ExifInterface;->ORF_SIGNATURE_1:S
-Landroid/media/ExifInterface;->ORF_SIGNATURE_2:S
-Landroid/media/ExifInterface;->ORIGINAL_RESOLUTION_IMAGE:I
-Landroid/media/ExifInterface;->parseTiffHeaders(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
-Landroid/media/ExifInterface;->PEF_MAKER_NOTE_SKIP_SIZE:I
-Landroid/media/ExifInterface;->PEF_SIGNATURE:Ljava/lang/String;
-Landroid/media/ExifInterface;->PEF_TAGS:[Landroid/media/ExifInterface$ExifTag;
-Landroid/media/ExifInterface;->PHOTOMETRIC_INTERPRETATION_BLACK_IS_ZERO:I
-Landroid/media/ExifInterface;->PHOTOMETRIC_INTERPRETATION_RGB:I
-Landroid/media/ExifInterface;->PHOTOMETRIC_INTERPRETATION_WHITE_IS_ZERO:I
-Landroid/media/ExifInterface;->PHOTOMETRIC_INTERPRETATION_YCBCR:I
-Landroid/media/ExifInterface;->printAttributes()V
-Landroid/media/ExifInterface;->RAF_INFO_SIZE:I
-Landroid/media/ExifInterface;->RAF_JPEG_LENGTH_VALUE_SIZE:I
-Landroid/media/ExifInterface;->RAF_OFFSET_TO_JPEG_IMAGE_OFFSET:I
-Landroid/media/ExifInterface;->RAF_SIGNATURE:Ljava/lang/String;
-Landroid/media/ExifInterface;->readByteOrder(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)Ljava/nio/ByteOrder;
-Landroid/media/ExifInterface;->readExifSegment([BI)V
-Landroid/media/ExifInterface;->readImageFileDirectory(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
-Landroid/media/ExifInterface;->REDUCED_RESOLUTION_IMAGE:I
-Landroid/media/ExifInterface;->removeAttribute(Ljava/lang/String;)V
-Landroid/media/ExifInterface;->retrieveJpegImageSize(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
-Landroid/media/ExifInterface;->RW2_SIGNATURE:S
-Landroid/media/ExifInterface;->saveJpegAttributes(Ljava/io/InputStream;Ljava/io/OutputStream;)V
-Landroid/media/ExifInterface;->setThumbnailData(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
-Landroid/media/ExifInterface;->sExifPointerTagMap:Ljava/util/HashMap;
-Landroid/media/ExifInterface;->sExifTagMapsForReading:[Ljava/util/HashMap;
-Landroid/media/ExifInterface;->sExifTagMapsForWriting:[Ljava/util/HashMap;
-Landroid/media/ExifInterface;->sGpsTimestampPattern:Ljava/util/regex/Pattern;
-Landroid/media/ExifInterface;->SIGNATURE_CHECK_SIZE:I
-Landroid/media/ExifInterface;->sNonZeroTimePattern:Ljava/util/regex/Pattern;
-Landroid/media/ExifInterface;->sTagSetForCompatibility:Ljava/util/HashSet;
-Landroid/media/ExifInterface;->START_CODE:B
-Landroid/media/ExifInterface;->swapBasedOnImageSize(II)V
-Landroid/media/ExifInterface;->TAG:Ljava/lang/String;
-Landroid/media/ExifInterface;->TAG_EXIF_IFD_POINTER:Ljava/lang/String;
-Landroid/media/ExifInterface;->TAG_GPS_INFO_IFD_POINTER:Ljava/lang/String;
-Landroid/media/ExifInterface;->TAG_HAS_THUMBNAIL:Ljava/lang/String;
-Landroid/media/ExifInterface;->TAG_INTEROPERABILITY_IFD_POINTER:Ljava/lang/String;
-Landroid/media/ExifInterface;->TAG_ORF_CAMERA_SETTINGS_IFD_POINTER:Ljava/lang/String;
-Landroid/media/ExifInterface;->TAG_ORF_IMAGE_PROCESSING_IFD_POINTER:Ljava/lang/String;
-Landroid/media/ExifInterface;->TAG_RAF_IMAGE_SIZE:Landroid/media/ExifInterface$ExifTag;
-Landroid/media/ExifInterface;->TAG_SUB_IFD_POINTER:Ljava/lang/String;
-Landroid/media/ExifInterface;->TAG_THUMBNAIL_DATA:Ljava/lang/String;
-Landroid/media/ExifInterface;->TAG_THUMBNAIL_LENGTH:Ljava/lang/String;
-Landroid/media/ExifInterface;->TAG_THUMBNAIL_OFFSET:Ljava/lang/String;
-Landroid/media/ExifInterface;->updateAttribute(Ljava/lang/String;Landroid/media/ExifInterface$ExifAttribute;)Z
-Landroid/media/ExifInterface;->updateImageSizeValues(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
-Landroid/media/ExifInterface;->validateImages(Ljava/io/InputStream;)V
-Landroid/media/ExifInterface;->writeExifSegment(Landroid/media/ExifInterface$ByteOrderedDataOutputStream;I)I
-Landroid/media/ExternalRingtonesCursorWrapper;
-Landroid/media/ExternalRingtonesCursorWrapper;-><init>(Landroid/database/Cursor;I)V
-Landroid/media/ExternalRingtonesCursorWrapper;->mUserId:I
-Landroid/media/FaceDetector$Face;-><init>()V
-Landroid/media/FaceDetector$Face;->mConfidence:F
-Landroid/media/FaceDetector$Face;->mEyesDist:F
-Landroid/media/FaceDetector$Face;->mMidPointX:F
-Landroid/media/FaceDetector$Face;->mMidPointY:F
-Landroid/media/FaceDetector$Face;->mPoseEulerX:F
-Landroid/media/FaceDetector$Face;->mPoseEulerY:F
-Landroid/media/FaceDetector$Face;->mPoseEulerZ:F
-Landroid/media/FaceDetector;->fft_destroy()V
-Landroid/media/FaceDetector;->fft_detect(Landroid/graphics/Bitmap;)I
-Landroid/media/FaceDetector;->fft_get_face(Landroid/media/FaceDetector$Face;I)V
-Landroid/media/FaceDetector;->fft_initialize(III)I
-Landroid/media/FaceDetector;->mBWBuffer:[B
-Landroid/media/FaceDetector;->mDCR:J
-Landroid/media/FaceDetector;->mFD:J
-Landroid/media/FaceDetector;->mHeight:I
-Landroid/media/FaceDetector;->mMaxFaces:I
-Landroid/media/FaceDetector;->mSDK:J
-Landroid/media/FaceDetector;->mWidth:I
-Landroid/media/FaceDetector;->nativeClassInit()V
-Landroid/media/FaceDetector;->sInitialized:Z
-Landroid/media/IAudioFocusDispatcher$Stub$Proxy;
-Landroid/media/IAudioFocusDispatcher$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/IAudioFocusDispatcher$Stub$Proxy;->dispatchAudioFocusChange(ILjava/lang/String;)V
-Landroid/media/IAudioFocusDispatcher$Stub$Proxy;->dispatchFocusResultFromExtPolicy(ILjava/lang/String;)V
-Landroid/media/IAudioFocusDispatcher$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/IAudioFocusDispatcher$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/IAudioFocusDispatcher$Stub;
-Landroid/media/IAudioFocusDispatcher$Stub;-><init>()V
-Landroid/media/IAudioFocusDispatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IAudioFocusDispatcher;
-Landroid/media/IAudioFocusDispatcher$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/IAudioFocusDispatcher$Stub;->TRANSACTION_dispatchAudioFocusChange:I
-Landroid/media/IAudioFocusDispatcher$Stub;->TRANSACTION_dispatchFocusResultFromExtPolicy:I
-Landroid/media/IAudioFocusDispatcher;
-Landroid/media/IAudioFocusDispatcher;->dispatchFocusResultFromExtPolicy(ILjava/lang/String;)V
-Landroid/media/IAudioRoutesObserver$Stub$Proxy;
-Landroid/media/IAudioRoutesObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/IAudioRoutesObserver$Stub$Proxy;->dispatchAudioRoutesChanged(Landroid/media/AudioRoutesInfo;)V
-Landroid/media/IAudioRoutesObserver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/IAudioRoutesObserver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/IAudioRoutesObserver$Stub;
-Landroid/media/IAudioRoutesObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IAudioRoutesObserver;
-Landroid/media/IAudioRoutesObserver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/IAudioRoutesObserver$Stub;->TRANSACTION_dispatchAudioRoutesChanged:I
-Landroid/media/IAudioRoutesObserver;
-Landroid/media/IAudioRoutesObserver;->dispatchAudioRoutesChanged(Landroid/media/AudioRoutesInfo;)V
-Landroid/media/IAudioServerStateDispatcher$Stub$Proxy;
-Landroid/media/IAudioServerStateDispatcher$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/IAudioServerStateDispatcher$Stub$Proxy;->dispatchAudioServerStateChange(Z)V
-Landroid/media/IAudioServerStateDispatcher$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/IAudioServerStateDispatcher$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/IAudioServerStateDispatcher$Stub;
-Landroid/media/IAudioServerStateDispatcher$Stub;-><init>()V
-Landroid/media/IAudioServerStateDispatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IAudioServerStateDispatcher;
-Landroid/media/IAudioServerStateDispatcher$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/IAudioServerStateDispatcher$Stub;->TRANSACTION_dispatchAudioServerStateChange:I
-Landroid/media/IAudioServerStateDispatcher;
-Landroid/media/IAudioServerStateDispatcher;->dispatchAudioServerStateChange(Z)V
-Landroid/media/IAudioService$Stub$Proxy;
-Landroid/media/IAudioService$Stub$Proxy;->abandonAudioFocus(Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Landroid/media/AudioAttributes;Ljava/lang/String;)I
-Landroid/media/IAudioService$Stub$Proxy;->addMixForPolicy(Landroid/media/audiopolicy/AudioPolicyConfig;Landroid/media/audiopolicy/IAudioPolicyCallback;)I
-Landroid/media/IAudioService$Stub$Proxy;->adjustStreamVolume(IIILjava/lang/String;)V
-Landroid/media/IAudioService$Stub$Proxy;->adjustSuggestedStreamVolume(IIILjava/lang/String;Ljava/lang/String;)V
-Landroid/media/IAudioService$Stub$Proxy;->avrcpSupportsAbsoluteVolume(Ljava/lang/String;Z)V
-Landroid/media/IAudioService$Stub$Proxy;->disableRingtoneSync(I)V
-Landroid/media/IAudioService$Stub$Proxy;->disableSafeMediaVolume(Ljava/lang/String;)V
-Landroid/media/IAudioService$Stub$Proxy;->dispatchFocusChange(Landroid/media/AudioFocusInfo;ILandroid/media/audiopolicy/IAudioPolicyCallback;)I
-Landroid/media/IAudioService$Stub$Proxy;->forceRemoteSubmixFullVolume(ZLandroid/os/IBinder;)V
-Landroid/media/IAudioService$Stub$Proxy;->forceVolumeControlStream(ILandroid/os/IBinder;)V
-Landroid/media/IAudioService$Stub$Proxy;->getActivePlaybackConfigurations()Ljava/util/List;
-Landroid/media/IAudioService$Stub$Proxy;->getActiveRecordingConfigurations()Ljava/util/List;
-Landroid/media/IAudioService$Stub$Proxy;->getCurrentAudioFocus()I
-Landroid/media/IAudioService$Stub$Proxy;->getFocusRampTimeMs(ILandroid/media/AudioAttributes;)I
-Landroid/media/IAudioService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/IAudioService$Stub$Proxy;->getLastAudibleStreamVolume(I)I
-Landroid/media/IAudioService$Stub$Proxy;->getMode()I
-Landroid/media/IAudioService$Stub$Proxy;->getRingerModeExternal()I
-Landroid/media/IAudioService$Stub$Proxy;->getRingerModeInternal()I
-Landroid/media/IAudioService$Stub$Proxy;->getRingtonePlayer()Landroid/media/IRingtonePlayer;
-Landroid/media/IAudioService$Stub$Proxy;->getStreamMaxVolume(I)I
-Landroid/media/IAudioService$Stub$Proxy;->getStreamMinVolume(I)I
-Landroid/media/IAudioService$Stub$Proxy;->getStreamVolume(I)I
-Landroid/media/IAudioService$Stub$Proxy;->getUiSoundsStreamType()I
-Landroid/media/IAudioService$Stub$Proxy;->getVibrateSetting(I)I
-Landroid/media/IAudioService$Stub$Proxy;->handleBluetoothA2dpDeviceConfigChange(Landroid/bluetooth/BluetoothDevice;)V
-Landroid/media/IAudioService$Stub$Proxy;->isAudioServerRunning()Z
-Landroid/media/IAudioService$Stub$Proxy;->isBluetoothA2dpOn()Z
-Landroid/media/IAudioService$Stub$Proxy;->isBluetoothScoOn()Z
-Landroid/media/IAudioService$Stub$Proxy;->isCameraSoundForced()Z
-Landroid/media/IAudioService$Stub$Proxy;->isHdmiSystemAudioSupported()Z
-Landroid/media/IAudioService$Stub$Proxy;->isMasterMute()Z
-Landroid/media/IAudioService$Stub$Proxy;->isSpeakerphoneOn()Z
-Landroid/media/IAudioService$Stub$Proxy;->isStreamAffectedByMute(I)Z
-Landroid/media/IAudioService$Stub$Proxy;->isStreamAffectedByRingerMode(I)Z
-Landroid/media/IAudioService$Stub$Proxy;->isStreamMute(I)Z
-Landroid/media/IAudioService$Stub$Proxy;->isValidRingerMode(I)Z
-Landroid/media/IAudioService$Stub$Proxy;->loadSoundEffects()Z
-Landroid/media/IAudioService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/IAudioService$Stub$Proxy;->notifyVolumeControllerVisible(Landroid/media/IVolumeController;Z)V
-Landroid/media/IAudioService$Stub$Proxy;->playerAttributes(ILandroid/media/AudioAttributes;)V
-Landroid/media/IAudioService$Stub$Proxy;->playerEvent(II)V
-Landroid/media/IAudioService$Stub$Proxy;->playerHasOpPlayAudio(IZ)V
-Landroid/media/IAudioService$Stub$Proxy;->playSoundEffect(I)V
-Landroid/media/IAudioService$Stub$Proxy;->playSoundEffectVolume(IF)V
-Landroid/media/IAudioService$Stub$Proxy;->registerAudioPolicy(Landroid/media/audiopolicy/AudioPolicyConfig;Landroid/media/audiopolicy/IAudioPolicyCallback;ZZZ)Ljava/lang/String;
-Landroid/media/IAudioService$Stub$Proxy;->registerAudioServerStateDispatcher(Landroid/media/IAudioServerStateDispatcher;)V
-Landroid/media/IAudioService$Stub$Proxy;->registerPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;)V
-Landroid/media/IAudioService$Stub$Proxy;->registerRecordingCallback(Landroid/media/IRecordingConfigDispatcher;)V
-Landroid/media/IAudioService$Stub$Proxy;->releasePlayer(I)V
-Landroid/media/IAudioService$Stub$Proxy;->reloadAudioSettings()V
-Landroid/media/IAudioService$Stub$Proxy;->removeMixForPolicy(Landroid/media/audiopolicy/AudioPolicyConfig;Landroid/media/audiopolicy/IAudioPolicyCallback;)I
-Landroid/media/IAudioService$Stub$Proxy;->requestAudioFocus(Landroid/media/AudioAttributes;ILandroid/os/IBinder;Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Ljava/lang/String;ILandroid/media/audiopolicy/IAudioPolicyCallback;I)I
-Landroid/media/IAudioService$Stub$Proxy;->setBluetoothA2dpDeviceConnectionState(Landroid/bluetooth/BluetoothDevice;II)I
-Landroid/media/IAudioService$Stub$Proxy;->setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(Landroid/bluetooth/BluetoothDevice;IIZI)I
-Landroid/media/IAudioService$Stub$Proxy;->setBluetoothA2dpOn(Z)V
-Landroid/media/IAudioService$Stub$Proxy;->setBluetoothScoOn(Z)V
-Landroid/media/IAudioService$Stub$Proxy;->setFocusPropertiesForPolicy(ILandroid/media/audiopolicy/IAudioPolicyCallback;)I
-Landroid/media/IAudioService$Stub$Proxy;->setFocusRequestResultFromExtPolicy(Landroid/media/AudioFocusInfo;ILandroid/media/audiopolicy/IAudioPolicyCallback;)V
-Landroid/media/IAudioService$Stub$Proxy;->setHdmiSystemAudioSupported(Z)I
-Landroid/media/IAudioService$Stub$Proxy;->setHearingAidDeviceConnectionState(Landroid/bluetooth/BluetoothDevice;I)V
-Landroid/media/IAudioService$Stub$Proxy;->setMasterMute(ZILjava/lang/String;I)V
-Landroid/media/IAudioService$Stub$Proxy;->setMicrophoneMute(ZLjava/lang/String;I)V
-Landroid/media/IAudioService$Stub$Proxy;->setMode(ILandroid/os/IBinder;Ljava/lang/String;)V
-Landroid/media/IAudioService$Stub$Proxy;->setRingerModeExternal(ILjava/lang/String;)V
-Landroid/media/IAudioService$Stub$Proxy;->setRingerModeInternal(ILjava/lang/String;)V
-Landroid/media/IAudioService$Stub$Proxy;->setRingtonePlayer(Landroid/media/IRingtonePlayer;)V
-Landroid/media/IAudioService$Stub$Proxy;->setSpeakerphoneOn(Z)V
-Landroid/media/IAudioService$Stub$Proxy;->setStreamVolume(IIILjava/lang/String;)V
-Landroid/media/IAudioService$Stub$Proxy;->setVibrateSetting(II)V
-Landroid/media/IAudioService$Stub$Proxy;->setVolumeController(Landroid/media/IVolumeController;)V
-Landroid/media/IAudioService$Stub$Proxy;->setVolumePolicy(Landroid/media/VolumePolicy;)V
-Landroid/media/IAudioService$Stub$Proxy;->setWiredDeviceConnectionState(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/media/IAudioService$Stub$Proxy;->shouldVibrate(I)Z
-Landroid/media/IAudioService$Stub$Proxy;->startBluetoothSco(Landroid/os/IBinder;I)V
-Landroid/media/IAudioService$Stub$Proxy;->startBluetoothScoVirtualCall(Landroid/os/IBinder;)V
-Landroid/media/IAudioService$Stub$Proxy;->startWatchingRoutes(Landroid/media/IAudioRoutesObserver;)Landroid/media/AudioRoutesInfo;
-Landroid/media/IAudioService$Stub$Proxy;->stopBluetoothSco(Landroid/os/IBinder;)V
-Landroid/media/IAudioService$Stub$Proxy;->trackPlayer(Landroid/media/PlayerBase$PlayerIdCard;)I
-Landroid/media/IAudioService$Stub$Proxy;->unloadSoundEffects()V
-Landroid/media/IAudioService$Stub$Proxy;->unregisterAudioFocusClient(Ljava/lang/String;)V
-Landroid/media/IAudioService$Stub$Proxy;->unregisterAudioPolicyAsync(Landroid/media/audiopolicy/IAudioPolicyCallback;)V
-Landroid/media/IAudioService$Stub$Proxy;->unregisterAudioServerStateDispatcher(Landroid/media/IAudioServerStateDispatcher;)V
-Landroid/media/IAudioService$Stub$Proxy;->unregisterPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;)V
-Landroid/media/IAudioService$Stub$Proxy;->unregisterRecordingCallback(Landroid/media/IRecordingConfigDispatcher;)V
-Landroid/media/IAudioService$Stub;
-Landroid/media/IAudioService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/IAudioService$Stub;->TRANSACTION_abandonAudioFocus:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_addMixForPolicy:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_adjustStreamVolume:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_adjustSuggestedStreamVolume:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_avrcpSupportsAbsoluteVolume:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_disableRingtoneSync:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_disableSafeMediaVolume:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_dispatchFocusChange:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_forceRemoteSubmixFullVolume:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_forceVolumeControlStream:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_getActivePlaybackConfigurations:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_getActiveRecordingConfigurations:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_getCurrentAudioFocus:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_getFocusRampTimeMs:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_getLastAudibleStreamVolume:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_getMode:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_getRingerModeExternal:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_getRingerModeInternal:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_getRingtonePlayer:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_getStreamMaxVolume:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_getStreamMinVolume:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_getStreamVolume:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_getUiSoundsStreamType:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_getVibrateSetting:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_handleBluetoothA2dpDeviceConfigChange:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_isAudioServerRunning:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_isBluetoothA2dpOn:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_isBluetoothScoOn:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_isCameraSoundForced:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_isHdmiSystemAudioSupported:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_isMasterMute:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_isSpeakerphoneOn:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_isStreamAffectedByMute:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_isStreamAffectedByRingerMode:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_isStreamMute:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_isValidRingerMode:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_loadSoundEffects:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_notifyVolumeControllerVisible:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_playerAttributes:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_playerEvent:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_playerHasOpPlayAudio:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_playSoundEffect:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_playSoundEffectVolume:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_registerAudioPolicy:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_registerAudioServerStateDispatcher:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_registerPlaybackCallback:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_registerRecordingCallback:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_releasePlayer:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_reloadAudioSettings:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_removeMixForPolicy:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_requestAudioFocus:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_setBluetoothA2dpDeviceConnectionState:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_setBluetoothA2dpOn:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_setBluetoothScoOn:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_setFocusPropertiesForPolicy:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_setFocusRequestResultFromExtPolicy:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_setHdmiSystemAudioSupported:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_setHearingAidDeviceConnectionState:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_setMasterMute:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_setMicrophoneMute:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_setMode:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_setRingerModeExternal:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_setRingerModeInternal:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_setRingtonePlayer:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_setSpeakerphoneOn:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_setStreamVolume:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_setVibrateSetting:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_setVolumeController:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_setVolumePolicy:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_setWiredDeviceConnectionState:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_shouldVibrate:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_startBluetoothSco:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_startBluetoothScoVirtualCall:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_startWatchingRoutes:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_stopBluetoothSco:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_trackPlayer:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_unloadSoundEffects:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_unregisterAudioFocusClient:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_unregisterAudioPolicyAsync:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_unregisterAudioServerStateDispatcher:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_unregisterPlaybackCallback:I
-Landroid/media/IAudioService$Stub;->TRANSACTION_unregisterRecordingCallback:I
-Landroid/media/IAudioService;
-Landroid/media/IAudioService;->abandonAudioFocus(Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Landroid/media/AudioAttributes;Ljava/lang/String;)I
-Landroid/media/IAudioService;->addMixForPolicy(Landroid/media/audiopolicy/AudioPolicyConfig;Landroid/media/audiopolicy/IAudioPolicyCallback;)I
-Landroid/media/IAudioService;->adjustStreamVolume(IIILjava/lang/String;)V
-Landroid/media/IAudioService;->adjustSuggestedStreamVolume(IIILjava/lang/String;Ljava/lang/String;)V
-Landroid/media/IAudioService;->avrcpSupportsAbsoluteVolume(Ljava/lang/String;Z)V
-Landroid/media/IAudioService;->disableRingtoneSync(I)V
-Landroid/media/IAudioService;->disableSafeMediaVolume(Ljava/lang/String;)V
-Landroid/media/IAudioService;->dispatchFocusChange(Landroid/media/AudioFocusInfo;ILandroid/media/audiopolicy/IAudioPolicyCallback;)I
-Landroid/media/IAudioService;->forceRemoteSubmixFullVolume(ZLandroid/os/IBinder;)V
-Landroid/media/IAudioService;->forceVolumeControlStream(ILandroid/os/IBinder;)V
-Landroid/media/IAudioService;->getActivePlaybackConfigurations()Ljava/util/List;
-Landroid/media/IAudioService;->getActiveRecordingConfigurations()Ljava/util/List;
-Landroid/media/IAudioService;->getCurrentAudioFocus()I
-Landroid/media/IAudioService;->getFocusRampTimeMs(ILandroid/media/AudioAttributes;)I
-Landroid/media/IAudioService;->getLastAudibleStreamVolume(I)I
-Landroid/media/IAudioService;->getMode()I
-Landroid/media/IAudioService;->getRingerModeExternal()I
-Landroid/media/IAudioService;->getRingerModeInternal()I
-Landroid/media/IAudioService;->getRingtonePlayer()Landroid/media/IRingtonePlayer;
-Landroid/media/IAudioService;->getStreamMinVolume(I)I
-Landroid/media/IAudioService;->getUiSoundsStreamType()I
-Landroid/media/IAudioService;->getVibrateSetting(I)I
-Landroid/media/IAudioService;->handleBluetoothA2dpDeviceConfigChange(Landroid/bluetooth/BluetoothDevice;)V
-Landroid/media/IAudioService;->isAudioServerRunning()Z
-Landroid/media/IAudioService;->isBluetoothA2dpOn()Z
-Landroid/media/IAudioService;->isBluetoothScoOn()Z
-Landroid/media/IAudioService;->isCameraSoundForced()Z
-Landroid/media/IAudioService;->isHdmiSystemAudioSupported()Z
-Landroid/media/IAudioService;->isMasterMute()Z
-Landroid/media/IAudioService;->isSpeakerphoneOn()Z
-Landroid/media/IAudioService;->isStreamAffectedByMute(I)Z
-Landroid/media/IAudioService;->isStreamAffectedByRingerMode(I)Z
-Landroid/media/IAudioService;->isStreamMute(I)Z
-Landroid/media/IAudioService;->isValidRingerMode(I)Z
-Landroid/media/IAudioService;->loadSoundEffects()Z
-Landroid/media/IAudioService;->notifyVolumeControllerVisible(Landroid/media/IVolumeController;Z)V
-Landroid/media/IAudioService;->playerAttributes(ILandroid/media/AudioAttributes;)V
-Landroid/media/IAudioService;->playerEvent(II)V
-Landroid/media/IAudioService;->playerHasOpPlayAudio(IZ)V
-Landroid/media/IAudioService;->playSoundEffect(I)V
-Landroid/media/IAudioService;->playSoundEffectVolume(IF)V
-Landroid/media/IAudioService;->registerAudioPolicy(Landroid/media/audiopolicy/AudioPolicyConfig;Landroid/media/audiopolicy/IAudioPolicyCallback;ZZZ)Ljava/lang/String;
-Landroid/media/IAudioService;->registerAudioServerStateDispatcher(Landroid/media/IAudioServerStateDispatcher;)V
-Landroid/media/IAudioService;->registerPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;)V
-Landroid/media/IAudioService;->registerRecordingCallback(Landroid/media/IRecordingConfigDispatcher;)V
-Landroid/media/IAudioService;->releasePlayer(I)V
-Landroid/media/IAudioService;->reloadAudioSettings()V
-Landroid/media/IAudioService;->removeMixForPolicy(Landroid/media/audiopolicy/AudioPolicyConfig;Landroid/media/audiopolicy/IAudioPolicyCallback;)I
-Landroid/media/IAudioService;->requestAudioFocus(Landroid/media/AudioAttributes;ILandroid/os/IBinder;Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Ljava/lang/String;ILandroid/media/audiopolicy/IAudioPolicyCallback;I)I
-Landroid/media/IAudioService;->setBluetoothA2dpDeviceConnectionState(Landroid/bluetooth/BluetoothDevice;II)I
-Landroid/media/IAudioService;->setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(Landroid/bluetooth/BluetoothDevice;IIZI)I
-Landroid/media/IAudioService;->setBluetoothA2dpOn(Z)V
-Landroid/media/IAudioService;->setBluetoothScoOn(Z)V
-Landroid/media/IAudioService;->setFocusPropertiesForPolicy(ILandroid/media/audiopolicy/IAudioPolicyCallback;)I
-Landroid/media/IAudioService;->setFocusRequestResultFromExtPolicy(Landroid/media/AudioFocusInfo;ILandroid/media/audiopolicy/IAudioPolicyCallback;)V
-Landroid/media/IAudioService;->setHdmiSystemAudioSupported(Z)I
-Landroid/media/IAudioService;->setHearingAidDeviceConnectionState(Landroid/bluetooth/BluetoothDevice;I)V
-Landroid/media/IAudioService;->setMasterMute(ZILjava/lang/String;I)V
-Landroid/media/IAudioService;->setMicrophoneMute(ZLjava/lang/String;I)V
-Landroid/media/IAudioService;->setMode(ILandroid/os/IBinder;Ljava/lang/String;)V
-Landroid/media/IAudioService;->setRingerModeExternal(ILjava/lang/String;)V
-Landroid/media/IAudioService;->setRingerModeInternal(ILjava/lang/String;)V
-Landroid/media/IAudioService;->setRingtonePlayer(Landroid/media/IRingtonePlayer;)V
-Landroid/media/IAudioService;->setSpeakerphoneOn(Z)V
-Landroid/media/IAudioService;->setVibrateSetting(II)V
-Landroid/media/IAudioService;->setVolumeController(Landroid/media/IVolumeController;)V
-Landroid/media/IAudioService;->setVolumePolicy(Landroid/media/VolumePolicy;)V
-Landroid/media/IAudioService;->setWiredDeviceConnectionState(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/media/IAudioService;->shouldVibrate(I)Z
-Landroid/media/IAudioService;->startBluetoothSco(Landroid/os/IBinder;I)V
-Landroid/media/IAudioService;->startBluetoothScoVirtualCall(Landroid/os/IBinder;)V
-Landroid/media/IAudioService;->stopBluetoothSco(Landroid/os/IBinder;)V
-Landroid/media/IAudioService;->trackPlayer(Landroid/media/PlayerBase$PlayerIdCard;)I
-Landroid/media/IAudioService;->unloadSoundEffects()V
-Landroid/media/IAudioService;->unregisterAudioFocusClient(Ljava/lang/String;)V
-Landroid/media/IAudioService;->unregisterAudioPolicyAsync(Landroid/media/audiopolicy/IAudioPolicyCallback;)V
-Landroid/media/IAudioService;->unregisterAudioServerStateDispatcher(Landroid/media/IAudioServerStateDispatcher;)V
-Landroid/media/IAudioService;->unregisterPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;)V
-Landroid/media/IAudioService;->unregisterRecordingCallback(Landroid/media/IRecordingConfigDispatcher;)V
-Landroid/media/Image;->getNativeContext()J
-Landroid/media/Image;->getOwner()Ljava/lang/Object;
-Landroid/media/Image;->getScalingMode()I
-Landroid/media/Image;->getTransform()I
-Landroid/media/Image;->isAttachable()Z
-Landroid/media/Image;->mCropRect:Landroid/graphics/Rect;
-Landroid/media/Image;->mIsImageValid:Z
-Landroid/media/Image;->throwISEIfImageIsInvalid()V
-Landroid/media/ImageReader$ListenerHandler;
-Landroid/media/ImageReader$ListenerHandler;-><init>(Landroid/os/Looper;)V
-Landroid/media/ImageReader$SurfaceImage$SurfacePlane;
-Landroid/media/ImageReader$SurfaceImage$SurfacePlane;-><init>(IILjava/nio/ByteBuffer;)V
-Landroid/media/ImageReader$SurfaceImage$SurfacePlane;->clearBuffer()V
-Landroid/media/ImageReader$SurfaceImage$SurfacePlane;->mBuffer:Ljava/nio/ByteBuffer;
-Landroid/media/ImageReader$SurfaceImage$SurfacePlane;->mPixelStride:I
-Landroid/media/ImageReader$SurfaceImage$SurfacePlane;->mRowStride:I
-Landroid/media/ImageReader$SurfaceImage;
-Landroid/media/ImageReader$SurfaceImage;-><init>(I)V
-Landroid/media/ImageReader$SurfaceImage;->clearSurfacePlanes()V
-Landroid/media/ImageReader$SurfaceImage;->getNativeContext()J
-Landroid/media/ImageReader$SurfaceImage;->getOwner()Landroid/media/ImageReader;
-Landroid/media/ImageReader$SurfaceImage;->getReader()Landroid/media/ImageReader;
-Landroid/media/ImageReader$SurfaceImage;->getScalingMode()I
-Landroid/media/ImageReader$SurfaceImage;->getTransform()I
-Landroid/media/ImageReader$SurfaceImage;->isAttachable()Z
-Landroid/media/ImageReader$SurfaceImage;->mFormat:I
-Landroid/media/ImageReader$SurfaceImage;->mIsDetached:Ljava/util/concurrent/atomic/AtomicBoolean;
-Landroid/media/ImageReader$SurfaceImage;->mNativeBuffer:J
-Landroid/media/ImageReader$SurfaceImage;->mPlanes:[Landroid/media/ImageReader$SurfaceImage$SurfacePlane;
-Landroid/media/ImageReader$SurfaceImage;->mScalingMode:I
-Landroid/media/ImageReader$SurfaceImage;->mTimestamp:J
-Landroid/media/ImageReader$SurfaceImage;->mTransform:I
-Landroid/media/ImageReader$SurfaceImage;->nativeCreatePlanes(II)[Landroid/media/ImageReader$SurfaceImage$SurfacePlane;
-Landroid/media/ImageReader$SurfaceImage;->nativeGetFormat(I)I
-Landroid/media/ImageReader$SurfaceImage;->nativeGetHardwareBuffer()Landroid/hardware/HardwareBuffer;
-Landroid/media/ImageReader$SurfaceImage;->nativeGetHeight()I
-Landroid/media/ImageReader$SurfaceImage;->nativeGetWidth()I
-Landroid/media/ImageReader$SurfaceImage;->setDetached(Z)V
-Landroid/media/ImageReader;-><init>(IIIIJ)V
-Landroid/media/ImageReader;->acquireNextImageNoThrowISE()Landroid/media/Image;
-Landroid/media/ImageReader;->acquireNextSurfaceImage(Landroid/media/ImageReader$SurfaceImage;)I
-Landroid/media/ImageReader;->ACQUIRE_MAX_IMAGES:I
-Landroid/media/ImageReader;->ACQUIRE_NO_BUFS:I
-Landroid/media/ImageReader;->ACQUIRE_SUCCESS:I
-Landroid/media/ImageReader;->BUFFER_USAGE_UNKNOWN:J
-Landroid/media/ImageReader;->detachImage(Landroid/media/Image;)V
-Landroid/media/ImageReader;->isFormatUsageCombinationAllowed(IJ)Z
-Landroid/media/ImageReader;->isImageOwnedbyMe(Landroid/media/Image;)Z
-Landroid/media/ImageReader;->mAcquiredImages:Ljava/util/List;
-Landroid/media/ImageReader;->mCloseLock:Ljava/lang/Object;
-Landroid/media/ImageReader;->mEstimatedNativeAllocBytes:I
-Landroid/media/ImageReader;->mFormat:I
-Landroid/media/ImageReader;->mHeight:I
-Landroid/media/ImageReader;->mIsReaderValid:Z
-Landroid/media/ImageReader;->mListener:Landroid/media/ImageReader$OnImageAvailableListener;
-Landroid/media/ImageReader;->mListenerHandler:Landroid/media/ImageReader$ListenerHandler;
-Landroid/media/ImageReader;->mListenerLock:Ljava/lang/Object;
-Landroid/media/ImageReader;->mMaxImages:I
-Landroid/media/ImageReader;->mNativeContext:J
-Landroid/media/ImageReader;->mNumPlanes:I
-Landroid/media/ImageReader;->mSurface:Landroid/view/Surface;
-Landroid/media/ImageReader;->mWidth:I
-Landroid/media/ImageReader;->nativeClassInit()V
-Landroid/media/ImageReader;->nativeClose()V
-Landroid/media/ImageReader;->nativeDetachImage(Landroid/media/Image;)I
-Landroid/media/ImageReader;->nativeDiscardFreeBuffers()V
-Landroid/media/ImageReader;->nativeGetSurface()Landroid/view/Surface;
-Landroid/media/ImageReader;->nativeImageSetup(Landroid/media/Image;)I
-Landroid/media/ImageReader;->nativeInit(Ljava/lang/Object;IIIIJ)V
-Landroid/media/ImageReader;->nativeReleaseImage(Landroid/media/Image;)V
-Landroid/media/ImageReader;->newInstance(IIIIJ)Landroid/media/ImageReader;
-Landroid/media/ImageReader;->postEventFromNative(Ljava/lang/Object;)V
-Landroid/media/ImageReader;->releaseImage(Landroid/media/Image;)V
-Landroid/media/ImageWriter$ListenerHandler;
-Landroid/media/ImageWriter$ListenerHandler;-><init>(Landroid/os/Looper;)V
-Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane;
-Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane;-><init>(IILjava/nio/ByteBuffer;)V
-Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane;->clearBuffer()V
-Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane;->mBuffer:Ljava/nio/ByteBuffer;
-Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane;->mPixelStride:I
-Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane;->mRowStride:I
-Landroid/media/ImageWriter$WriterSurfaceImage;
-Landroid/media/ImageWriter$WriterSurfaceImage;-><init>(Landroid/media/ImageWriter;)V
-Landroid/media/ImageWriter$WriterSurfaceImage;->clearSurfacePlanes()V
-Landroid/media/ImageWriter$WriterSurfaceImage;->DEFAULT_TIMESTAMP:J
-Landroid/media/ImageWriter$WriterSurfaceImage;->getNativeContext()J
-Landroid/media/ImageWriter$WriterSurfaceImage;->getOwner()Landroid/media/ImageWriter;
-Landroid/media/ImageWriter$WriterSurfaceImage;->getScalingMode()I
-Landroid/media/ImageWriter$WriterSurfaceImage;->getTransform()I
-Landroid/media/ImageWriter$WriterSurfaceImage;->isAttachable()Z
-Landroid/media/ImageWriter$WriterSurfaceImage;->mFormat:I
-Landroid/media/ImageWriter$WriterSurfaceImage;->mHeight:I
-Landroid/media/ImageWriter$WriterSurfaceImage;->mNativeBuffer:J
-Landroid/media/ImageWriter$WriterSurfaceImage;->mNativeFenceFd:I
-Landroid/media/ImageWriter$WriterSurfaceImage;->mOwner:Landroid/media/ImageWriter;
-Landroid/media/ImageWriter$WriterSurfaceImage;->mPlanes:[Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane;
-Landroid/media/ImageWriter$WriterSurfaceImage;->mScalingMode:I
-Landroid/media/ImageWriter$WriterSurfaceImage;->mTimestamp:J
-Landroid/media/ImageWriter$WriterSurfaceImage;->mTransform:I
-Landroid/media/ImageWriter$WriterSurfaceImage;->mWidth:I
-Landroid/media/ImageWriter$WriterSurfaceImage;->nativeCreatePlanes(II)[Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane;
-Landroid/media/ImageWriter$WriterSurfaceImage;->nativeGetFormat()I
-Landroid/media/ImageWriter$WriterSurfaceImage;->nativeGetHardwareBuffer()Landroid/hardware/HardwareBuffer;
-Landroid/media/ImageWriter$WriterSurfaceImage;->nativeGetHeight()I
-Landroid/media/ImageWriter$WriterSurfaceImage;->nativeGetWidth()I
-Landroid/media/ImageWriter;-><init>(Landroid/view/Surface;II)V
-Landroid/media/ImageWriter;->abortImage(Landroid/media/Image;)V
-Landroid/media/ImageWriter;->attachAndQueueInputImage(Landroid/media/Image;)V
-Landroid/media/ImageWriter;->cancelImage(JLandroid/media/Image;)V
-Landroid/media/ImageWriter;->isImageOwnedByMe(Landroid/media/Image;)Z
-Landroid/media/ImageWriter;->mDequeuedImages:Ljava/util/List;
-Landroid/media/ImageWriter;->mEstimatedNativeAllocBytes:I
-Landroid/media/ImageWriter;->mListener:Landroid/media/ImageWriter$OnImageReleasedListener;
-Landroid/media/ImageWriter;->mListenerHandler:Landroid/media/ImageWriter$ListenerHandler;
-Landroid/media/ImageWriter;->mListenerLock:Ljava/lang/Object;
-Landroid/media/ImageWriter;->mMaxImages:I
-Landroid/media/ImageWriter;->mNativeContext:J
-Landroid/media/ImageWriter;->mWriterFormat:I
-Landroid/media/ImageWriter;->nativeAttachAndQueueImage(JJIJIIIIII)I
-Landroid/media/ImageWriter;->nativeClassInit()V
-Landroid/media/ImageWriter;->nativeClose(J)V
-Landroid/media/ImageWriter;->nativeDequeueInputImage(JLandroid/media/Image;)V
-Landroid/media/ImageWriter;->nativeInit(Ljava/lang/Object;Landroid/view/Surface;II)J
-Landroid/media/ImageWriter;->nativeQueueInputImage(JLandroid/media/Image;JIIIIII)V
-Landroid/media/ImageWriter;->newInstance(Landroid/view/Surface;II)Landroid/media/ImageWriter;
-Landroid/media/ImageWriter;->postEventFromNative(Ljava/lang/Object;)V
-Landroid/media/IMediaHTTPConnection$Stub$Proxy;
-Landroid/media/IMediaHTTPConnection$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/IMediaHTTPConnection$Stub$Proxy;->connect(Ljava/lang/String;Ljava/lang/String;)Landroid/os/IBinder;
-Landroid/media/IMediaHTTPConnection$Stub$Proxy;->disconnect()V
-Landroid/media/IMediaHTTPConnection$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/IMediaHTTPConnection$Stub$Proxy;->getMIMEType()Ljava/lang/String;
-Landroid/media/IMediaHTTPConnection$Stub$Proxy;->getSize()J
-Landroid/media/IMediaHTTPConnection$Stub$Proxy;->getUri()Ljava/lang/String;
-Landroid/media/IMediaHTTPConnection$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/IMediaHTTPConnection$Stub$Proxy;->readAt(JI)I
-Landroid/media/IMediaHTTPConnection$Stub;
-Landroid/media/IMediaHTTPConnection$Stub;-><init>()V
-Landroid/media/IMediaHTTPConnection$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IMediaHTTPConnection;
-Landroid/media/IMediaHTTPConnection$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/IMediaHTTPConnection$Stub;->TRANSACTION_connect:I
-Landroid/media/IMediaHTTPConnection$Stub;->TRANSACTION_disconnect:I
-Landroid/media/IMediaHTTPConnection$Stub;->TRANSACTION_getMIMEType:I
-Landroid/media/IMediaHTTPConnection$Stub;->TRANSACTION_getSize:I
-Landroid/media/IMediaHTTPConnection$Stub;->TRANSACTION_getUri:I
-Landroid/media/IMediaHTTPConnection$Stub;->TRANSACTION_readAt:I
-Landroid/media/IMediaHTTPConnection;
-Landroid/media/IMediaHTTPConnection;->connect(Ljava/lang/String;Ljava/lang/String;)Landroid/os/IBinder;
-Landroid/media/IMediaHTTPConnection;->disconnect()V
-Landroid/media/IMediaHTTPConnection;->getMIMEType()Ljava/lang/String;
-Landroid/media/IMediaHTTPConnection;->getSize()J
-Landroid/media/IMediaHTTPConnection;->getUri()Ljava/lang/String;
-Landroid/media/IMediaHTTPConnection;->readAt(JI)I
-Landroid/media/IMediaHTTPService$Stub$Proxy;
-Landroid/media/IMediaHTTPService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/IMediaHTTPService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/IMediaHTTPService$Stub$Proxy;->makeHTTPConnection()Landroid/media/IMediaHTTPConnection;
-Landroid/media/IMediaHTTPService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/IMediaHTTPService$Stub;
-Landroid/media/IMediaHTTPService$Stub;-><init>()V
-Landroid/media/IMediaHTTPService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IMediaHTTPService;
-Landroid/media/IMediaHTTPService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/IMediaHTTPService$Stub;->TRANSACTION_makeHTTPConnection:I
-Landroid/media/IMediaHTTPService;
-Landroid/media/IMediaHTTPService;->makeHTTPConnection()Landroid/media/IMediaHTTPConnection;
-Landroid/media/IMediaResourceMonitor$Stub$Proxy;
-Landroid/media/IMediaResourceMonitor$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/IMediaResourceMonitor$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/IMediaResourceMonitor$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/IMediaResourceMonitor$Stub$Proxy;->notifyResourceGranted(II)V
-Landroid/media/IMediaResourceMonitor$Stub;
-Landroid/media/IMediaResourceMonitor$Stub;-><init>()V
-Landroid/media/IMediaResourceMonitor$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IMediaResourceMonitor;
-Landroid/media/IMediaResourceMonitor$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/IMediaResourceMonitor$Stub;->TRANSACTION_notifyResourceGranted:I
-Landroid/media/IMediaResourceMonitor;
-Landroid/media/IMediaResourceMonitor;->notifyResourceGranted(II)V
-Landroid/media/IMediaRouterClient$Stub$Proxy;
-Landroid/media/IMediaRouterClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/IMediaRouterClient$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/IMediaRouterClient$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/IMediaRouterClient$Stub$Proxy;->onRestoreRoute()V
-Landroid/media/IMediaRouterClient$Stub$Proxy;->onStateChanged()V
-Landroid/media/IMediaRouterClient$Stub;
-Landroid/media/IMediaRouterClient$Stub;-><init>()V
-Landroid/media/IMediaRouterClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IMediaRouterClient;
-Landroid/media/IMediaRouterClient$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/IMediaRouterClient$Stub;->TRANSACTION_onRestoreRoute:I
-Landroid/media/IMediaRouterClient$Stub;->TRANSACTION_onStateChanged:I
-Landroid/media/IMediaRouterClient;
-Landroid/media/IMediaRouterClient;->onRestoreRoute()V
-Landroid/media/IMediaRouterClient;->onStateChanged()V
-Landroid/media/IMediaRouterService$Stub$Proxy;
-Landroid/media/IMediaRouterService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/IMediaRouterService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/IMediaRouterService$Stub$Proxy;->getState(Landroid/media/IMediaRouterClient;)Landroid/media/MediaRouterClientState;
-Landroid/media/IMediaRouterService$Stub$Proxy;->isPlaybackActive(Landroid/media/IMediaRouterClient;)Z
-Landroid/media/IMediaRouterService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/IMediaRouterService$Stub$Proxy;->registerClientAsUser(Landroid/media/IMediaRouterClient;Ljava/lang/String;I)V
-Landroid/media/IMediaRouterService$Stub$Proxy;->requestSetVolume(Landroid/media/IMediaRouterClient;Ljava/lang/String;I)V
-Landroid/media/IMediaRouterService$Stub$Proxy;->requestUpdateVolume(Landroid/media/IMediaRouterClient;Ljava/lang/String;I)V
-Landroid/media/IMediaRouterService$Stub$Proxy;->setDiscoveryRequest(Landroid/media/IMediaRouterClient;IZ)V
-Landroid/media/IMediaRouterService$Stub$Proxy;->setSelectedRoute(Landroid/media/IMediaRouterClient;Ljava/lang/String;Z)V
-Landroid/media/IMediaRouterService$Stub$Proxy;->unregisterClient(Landroid/media/IMediaRouterClient;)V
-Landroid/media/IMediaRouterService$Stub;
-Landroid/media/IMediaRouterService$Stub;-><init>()V
-Landroid/media/IMediaRouterService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/IMediaRouterService$Stub;->TRANSACTION_getState:I
-Landroid/media/IMediaRouterService$Stub;->TRANSACTION_isPlaybackActive:I
-Landroid/media/IMediaRouterService$Stub;->TRANSACTION_registerClientAsUser:I
-Landroid/media/IMediaRouterService$Stub;->TRANSACTION_requestSetVolume:I
-Landroid/media/IMediaRouterService$Stub;->TRANSACTION_requestUpdateVolume:I
-Landroid/media/IMediaRouterService$Stub;->TRANSACTION_setDiscoveryRequest:I
-Landroid/media/IMediaRouterService$Stub;->TRANSACTION_setSelectedRoute:I
-Landroid/media/IMediaRouterService$Stub;->TRANSACTION_unregisterClient:I
-Landroid/media/IMediaRouterService;
-Landroid/media/IMediaRouterService;->getState(Landroid/media/IMediaRouterClient;)Landroid/media/MediaRouterClientState;
-Landroid/media/IMediaRouterService;->isPlaybackActive(Landroid/media/IMediaRouterClient;)Z
-Landroid/media/IMediaRouterService;->registerClientAsUser(Landroid/media/IMediaRouterClient;Ljava/lang/String;I)V
-Landroid/media/IMediaRouterService;->requestSetVolume(Landroid/media/IMediaRouterClient;Ljava/lang/String;I)V
-Landroid/media/IMediaRouterService;->requestUpdateVolume(Landroid/media/IMediaRouterClient;Ljava/lang/String;I)V
-Landroid/media/IMediaRouterService;->setDiscoveryRequest(Landroid/media/IMediaRouterClient;IZ)V
-Landroid/media/IMediaRouterService;->setSelectedRoute(Landroid/media/IMediaRouterClient;Ljava/lang/String;Z)V
-Landroid/media/IMediaRouterService;->unregisterClient(Landroid/media/IMediaRouterClient;)V
-Landroid/media/IMediaScannerListener$Stub$Proxy;
-Landroid/media/IMediaScannerListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/IMediaScannerListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/IMediaScannerListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/IMediaScannerListener$Stub$Proxy;->scanCompleted(Ljava/lang/String;Landroid/net/Uri;)V
-Landroid/media/IMediaScannerListener$Stub;
-Landroid/media/IMediaScannerListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IMediaScannerListener;
-Landroid/media/IMediaScannerListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/IMediaScannerListener$Stub;->TRANSACTION_scanCompleted:I
-Landroid/media/IMediaScannerListener;
-Landroid/media/IMediaScannerListener;->scanCompleted(Ljava/lang/String;Landroid/net/Uri;)V
-Landroid/media/IMediaScannerService$Stub$Proxy;
-Landroid/media/IMediaScannerService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/IMediaScannerService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/IMediaScannerService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/IMediaScannerService$Stub$Proxy;->requestScanFile(Ljava/lang/String;Ljava/lang/String;Landroid/media/IMediaScannerListener;)V
-Landroid/media/IMediaScannerService$Stub$Proxy;->scanFile(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/media/IMediaScannerService$Stub;
-Landroid/media/IMediaScannerService$Stub;-><init>()V
-Landroid/media/IMediaScannerService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/IMediaScannerService$Stub;->TRANSACTION_requestScanFile:I
-Landroid/media/IMediaScannerService$Stub;->TRANSACTION_scanFile:I
-Landroid/media/IMediaScannerService;
-Landroid/media/IPlaybackConfigDispatcher$Stub$Proxy;
-Landroid/media/IPlaybackConfigDispatcher$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/IPlaybackConfigDispatcher$Stub$Proxy;->dispatchPlaybackConfigChange(Ljava/util/List;Z)V
-Landroid/media/IPlaybackConfigDispatcher$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/IPlaybackConfigDispatcher$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/IPlaybackConfigDispatcher$Stub;
-Landroid/media/IPlaybackConfigDispatcher$Stub;-><init>()V
-Landroid/media/IPlaybackConfigDispatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IPlaybackConfigDispatcher;
-Landroid/media/IPlaybackConfigDispatcher$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/IPlaybackConfigDispatcher$Stub;->TRANSACTION_dispatchPlaybackConfigChange:I
-Landroid/media/IPlaybackConfigDispatcher;
-Landroid/media/IPlaybackConfigDispatcher;->dispatchPlaybackConfigChange(Ljava/util/List;Z)V
-Landroid/media/IPlayer$Stub$Proxy;
-Landroid/media/IPlayer$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/IPlayer$Stub$Proxy;->applyVolumeShaper(Landroid/media/VolumeShaper$Configuration;Landroid/media/VolumeShaper$Operation;)V
-Landroid/media/IPlayer$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/IPlayer$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/IPlayer$Stub$Proxy;->pause()V
-Landroid/media/IPlayer$Stub$Proxy;->setPan(F)V
-Landroid/media/IPlayer$Stub$Proxy;->setStartDelayMs(I)V
-Landroid/media/IPlayer$Stub$Proxy;->setVolume(F)V
-Landroid/media/IPlayer$Stub$Proxy;->start()V
-Landroid/media/IPlayer$Stub$Proxy;->stop()V
-Landroid/media/IPlayer$Stub;
-Landroid/media/IPlayer$Stub;-><init>()V
-Landroid/media/IPlayer$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IPlayer;
-Landroid/media/IPlayer$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/IPlayer$Stub;->TRANSACTION_applyVolumeShaper:I
-Landroid/media/IPlayer$Stub;->TRANSACTION_pause:I
-Landroid/media/IPlayer$Stub;->TRANSACTION_setPan:I
-Landroid/media/IPlayer$Stub;->TRANSACTION_setStartDelayMs:I
-Landroid/media/IPlayer$Stub;->TRANSACTION_setVolume:I
-Landroid/media/IPlayer$Stub;->TRANSACTION_start:I
-Landroid/media/IPlayer$Stub;->TRANSACTION_stop:I
-Landroid/media/IPlayer;
-Landroid/media/IPlayer;->applyVolumeShaper(Landroid/media/VolumeShaper$Configuration;Landroid/media/VolumeShaper$Operation;)V
-Landroid/media/IPlayer;->pause()V
-Landroid/media/IPlayer;->setPan(F)V
-Landroid/media/IPlayer;->setStartDelayMs(I)V
-Landroid/media/IPlayer;->setVolume(F)V
-Landroid/media/IPlayer;->start()V
-Landroid/media/IPlayer;->stop()V
-Landroid/media/IRecordingConfigDispatcher$Stub$Proxy;
-Landroid/media/IRecordingConfigDispatcher$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/IRecordingConfigDispatcher$Stub$Proxy;->dispatchRecordingConfigChange(Ljava/util/List;)V
-Landroid/media/IRecordingConfigDispatcher$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/IRecordingConfigDispatcher$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/IRecordingConfigDispatcher$Stub;
-Landroid/media/IRecordingConfigDispatcher$Stub;-><init>()V
-Landroid/media/IRecordingConfigDispatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IRecordingConfigDispatcher;
-Landroid/media/IRecordingConfigDispatcher$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/IRecordingConfigDispatcher$Stub;->TRANSACTION_dispatchRecordingConfigChange:I
-Landroid/media/IRecordingConfigDispatcher;
-Landroid/media/IRecordingConfigDispatcher;->dispatchRecordingConfigChange(Ljava/util/List;)V
-Landroid/media/IRemoteDisplayCallback$Stub$Proxy;
-Landroid/media/IRemoteDisplayCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/IRemoteDisplayCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/IRemoteDisplayCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/IRemoteDisplayCallback$Stub$Proxy;->onStateChanged(Landroid/media/RemoteDisplayState;)V
-Landroid/media/IRemoteDisplayCallback$Stub;
-Landroid/media/IRemoteDisplayCallback$Stub;-><init>()V
-Landroid/media/IRemoteDisplayCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IRemoteDisplayCallback;
-Landroid/media/IRemoteDisplayCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/IRemoteDisplayCallback$Stub;->TRANSACTION_onStateChanged:I
-Landroid/media/IRemoteDisplayCallback;
-Landroid/media/IRemoteDisplayProvider$Stub$Proxy;
-Landroid/media/IRemoteDisplayProvider$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/IRemoteDisplayProvider$Stub$Proxy;->adjustVolume(Ljava/lang/String;I)V
-Landroid/media/IRemoteDisplayProvider$Stub$Proxy;->connect(Ljava/lang/String;)V
-Landroid/media/IRemoteDisplayProvider$Stub$Proxy;->disconnect(Ljava/lang/String;)V
-Landroid/media/IRemoteDisplayProvider$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/IRemoteDisplayProvider$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/IRemoteDisplayProvider$Stub$Proxy;->setCallback(Landroid/media/IRemoteDisplayCallback;)V
-Landroid/media/IRemoteDisplayProvider$Stub$Proxy;->setDiscoveryMode(I)V
-Landroid/media/IRemoteDisplayProvider$Stub$Proxy;->setVolume(Ljava/lang/String;I)V
-Landroid/media/IRemoteDisplayProvider$Stub;
-Landroid/media/IRemoteDisplayProvider$Stub;-><init>()V
-Landroid/media/IRemoteDisplayProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IRemoteDisplayProvider;
-Landroid/media/IRemoteDisplayProvider$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/IRemoteDisplayProvider$Stub;->TRANSACTION_adjustVolume:I
-Landroid/media/IRemoteDisplayProvider$Stub;->TRANSACTION_connect:I
-Landroid/media/IRemoteDisplayProvider$Stub;->TRANSACTION_disconnect:I
-Landroid/media/IRemoteDisplayProvider$Stub;->TRANSACTION_setCallback:I
-Landroid/media/IRemoteDisplayProvider$Stub;->TRANSACTION_setDiscoveryMode:I
-Landroid/media/IRemoteDisplayProvider$Stub;->TRANSACTION_setVolume:I
-Landroid/media/IRemoteDisplayProvider;
-Landroid/media/IRemoteDisplayProvider;->adjustVolume(Ljava/lang/String;I)V
-Landroid/media/IRemoteDisplayProvider;->connect(Ljava/lang/String;)V
-Landroid/media/IRemoteDisplayProvider;->disconnect(Ljava/lang/String;)V
-Landroid/media/IRemoteDisplayProvider;->setCallback(Landroid/media/IRemoteDisplayCallback;)V
-Landroid/media/IRemoteDisplayProvider;->setDiscoveryMode(I)V
-Landroid/media/IRemoteDisplayProvider;->setVolume(Ljava/lang/String;I)V
-Landroid/media/IRemoteVolumeController$Stub$Proxy;
-Landroid/media/IRemoteVolumeController$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/IRemoteVolumeController$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/IRemoteVolumeController$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/IRemoteVolumeController$Stub$Proxy;->remoteVolumeChanged(Landroid/media/session/ISessionController;I)V
-Landroid/media/IRemoteVolumeController$Stub$Proxy;->updateRemoteController(Landroid/media/session/ISessionController;)V
-Landroid/media/IRemoteVolumeController$Stub;
-Landroid/media/IRemoteVolumeController$Stub;-><init>()V
-Landroid/media/IRemoteVolumeController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IRemoteVolumeController;
-Landroid/media/IRemoteVolumeController$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/IRemoteVolumeController$Stub;->TRANSACTION_remoteVolumeChanged:I
-Landroid/media/IRemoteVolumeController$Stub;->TRANSACTION_updateRemoteController:I
-Landroid/media/IRemoteVolumeController;
-Landroid/media/IRemoteVolumeController;->remoteVolumeChanged(Landroid/media/session/ISessionController;I)V
-Landroid/media/IRemoteVolumeController;->updateRemoteController(Landroid/media/session/ISessionController;)V
-Landroid/media/IRemoteVolumeObserver$Stub$Proxy;
-Landroid/media/IRemoteVolumeObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/IRemoteVolumeObserver$Stub$Proxy;->dispatchRemoteVolumeUpdate(II)V
-Landroid/media/IRemoteVolumeObserver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/IRemoteVolumeObserver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/IRemoteVolumeObserver$Stub;
-Landroid/media/IRemoteVolumeObserver$Stub;-><init>()V
-Landroid/media/IRemoteVolumeObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IRemoteVolumeObserver;
-Landroid/media/IRemoteVolumeObserver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/IRemoteVolumeObserver$Stub;->TRANSACTION_dispatchRemoteVolumeUpdate:I
-Landroid/media/IRemoteVolumeObserver;
-Landroid/media/IRemoteVolumeObserver;->dispatchRemoteVolumeUpdate(II)V
-Landroid/media/IRingtonePlayer$Stub$Proxy;
-Landroid/media/IRingtonePlayer$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/IRingtonePlayer$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/IRingtonePlayer$Stub$Proxy;->getTitle(Landroid/net/Uri;)Ljava/lang/String;
-Landroid/media/IRingtonePlayer$Stub$Proxy;->isPlaying(Landroid/os/IBinder;)Z
-Landroid/media/IRingtonePlayer$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/IRingtonePlayer$Stub$Proxy;->openRingtone(Landroid/net/Uri;)Landroid/os/ParcelFileDescriptor;
-Landroid/media/IRingtonePlayer$Stub$Proxy;->play(Landroid/os/IBinder;Landroid/net/Uri;Landroid/media/AudioAttributes;FZ)V
-Landroid/media/IRingtonePlayer$Stub$Proxy;->playAsync(Landroid/net/Uri;Landroid/os/UserHandle;ZLandroid/media/AudioAttributes;)V
-Landroid/media/IRingtonePlayer$Stub$Proxy;->setPlaybackProperties(Landroid/os/IBinder;FZ)V
-Landroid/media/IRingtonePlayer$Stub$Proxy;->stop(Landroid/os/IBinder;)V
-Landroid/media/IRingtonePlayer$Stub$Proxy;->stopAsync()V
-Landroid/media/IRingtonePlayer$Stub;
-Landroid/media/IRingtonePlayer$Stub;-><init>()V
-Landroid/media/IRingtonePlayer$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IRingtonePlayer;
-Landroid/media/IRingtonePlayer$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/IRingtonePlayer$Stub;->TRANSACTION_getTitle:I
-Landroid/media/IRingtonePlayer$Stub;->TRANSACTION_isPlaying:I
-Landroid/media/IRingtonePlayer$Stub;->TRANSACTION_openRingtone:I
-Landroid/media/IRingtonePlayer$Stub;->TRANSACTION_play:I
-Landroid/media/IRingtonePlayer$Stub;->TRANSACTION_playAsync:I
-Landroid/media/IRingtonePlayer$Stub;->TRANSACTION_setPlaybackProperties:I
-Landroid/media/IRingtonePlayer$Stub;->TRANSACTION_stop:I
-Landroid/media/IRingtonePlayer$Stub;->TRANSACTION_stopAsync:I
-Landroid/media/IRingtonePlayer;
-Landroid/media/IRingtonePlayer;->getTitle(Landroid/net/Uri;)Ljava/lang/String;
-Landroid/media/IRingtonePlayer;->isPlaying(Landroid/os/IBinder;)Z
-Landroid/media/IRingtonePlayer;->openRingtone(Landroid/net/Uri;)Landroid/os/ParcelFileDescriptor;
-Landroid/media/IRingtonePlayer;->playAsync(Landroid/net/Uri;Landroid/os/UserHandle;ZLandroid/media/AudioAttributes;)V
-Landroid/media/IRingtonePlayer;->setPlaybackProperties(Landroid/os/IBinder;FZ)V
-Landroid/media/IRingtonePlayer;->stop(Landroid/os/IBinder;)V
-Landroid/media/IRingtonePlayer;->stopAsync()V
-Landroid/media/ISessionTokensListener$Stub$Proxy;
-Landroid/media/ISessionTokensListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/ISessionTokensListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/ISessionTokensListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/ISessionTokensListener$Stub$Proxy;->onSessionTokensChanged(Ljava/util/List;)V
-Landroid/media/ISessionTokensListener$Stub;
-Landroid/media/ISessionTokensListener$Stub;-><init>()V
-Landroid/media/ISessionTokensListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/ISessionTokensListener;
-Landroid/media/ISessionTokensListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/ISessionTokensListener$Stub;->TRANSACTION_onSessionTokensChanged:I
-Landroid/media/ISessionTokensListener;
-Landroid/media/ISessionTokensListener;->onSessionTokensChanged(Ljava/util/List;)V
-Landroid/media/IVolumeController$Stub$Proxy;
-Landroid/media/IVolumeController$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/IVolumeController$Stub$Proxy;->dismiss()V
-Landroid/media/IVolumeController$Stub$Proxy;->displaySafeVolumeWarning(I)V
-Landroid/media/IVolumeController$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/IVolumeController$Stub$Proxy;->masterMuteChanged(I)V
-Landroid/media/IVolumeController$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/IVolumeController$Stub$Proxy;->setA11yMode(I)V
-Landroid/media/IVolumeController$Stub$Proxy;->setLayoutDirection(I)V
-Landroid/media/IVolumeController$Stub$Proxy;->volumeChanged(II)V
-Landroid/media/IVolumeController$Stub;
-Landroid/media/IVolumeController$Stub;-><init>()V
-Landroid/media/IVolumeController$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/IVolumeController$Stub;->TRANSACTION_dismiss:I
-Landroid/media/IVolumeController$Stub;->TRANSACTION_displaySafeVolumeWarning:I
-Landroid/media/IVolumeController$Stub;->TRANSACTION_masterMuteChanged:I
-Landroid/media/IVolumeController$Stub;->TRANSACTION_setA11yMode:I
-Landroid/media/IVolumeController$Stub;->TRANSACTION_setLayoutDirection:I
-Landroid/media/IVolumeController$Stub;->TRANSACTION_volumeChanged:I
-Landroid/media/IVolumeController;
-Landroid/media/IVolumeController;->dismiss()V
-Landroid/media/IVolumeController;->displaySafeVolumeWarning(I)V
-Landroid/media/IVolumeController;->masterMuteChanged(I)V
-Landroid/media/IVolumeController;->setA11yMode(I)V
-Landroid/media/IVolumeController;->setLayoutDirection(I)V
-Landroid/media/IVolumeController;->volumeChanged(II)V
-Landroid/media/JetPlayer$NativeEventHandler;
-Landroid/media/JetPlayer$NativeEventHandler;-><init>(Landroid/media/JetPlayer;Landroid/os/Looper;)V
-Landroid/media/JetPlayer$NativeEventHandler;->mJet:Landroid/media/JetPlayer;
-Landroid/media/JetPlayer;-><init>()V
-Landroid/media/JetPlayer;->JET_EVENT:I
-Landroid/media/JetPlayer;->JET_EVENT_CHAN_MASK:I
-Landroid/media/JetPlayer;->JET_EVENT_CHAN_SHIFT:I
-Landroid/media/JetPlayer;->JET_EVENT_CTRL_MASK:I
-Landroid/media/JetPlayer;->JET_EVENT_CTRL_SHIFT:I
-Landroid/media/JetPlayer;->JET_EVENT_SEG_MASK:I
-Landroid/media/JetPlayer;->JET_EVENT_SEG_SHIFT:I
-Landroid/media/JetPlayer;->JET_EVENT_TRACK_MASK:I
-Landroid/media/JetPlayer;->JET_EVENT_TRACK_SHIFT:I
-Landroid/media/JetPlayer;->JET_EVENT_VAL_MASK:I
-Landroid/media/JetPlayer;->JET_NUMQUEUEDSEGMENT_UPDATE:I
-Landroid/media/JetPlayer;->JET_OUTPUT_CHANNEL_CONFIG:I
-Landroid/media/JetPlayer;->JET_OUTPUT_RATE:I
-Landroid/media/JetPlayer;->JET_PAUSE_UPDATE:I
-Landroid/media/JetPlayer;->JET_USERID_UPDATE:I
-Landroid/media/JetPlayer;->logd(Ljava/lang/String;)V
-Landroid/media/JetPlayer;->loge(Ljava/lang/String;)V
-Landroid/media/JetPlayer;->MAXTRACKS:I
-Landroid/media/JetPlayer;->mEventHandler:Landroid/media/JetPlayer$NativeEventHandler;
-Landroid/media/JetPlayer;->mEventListenerLock:Ljava/lang/Object;
-Landroid/media/JetPlayer;->mInitializationLooper:Landroid/os/Looper;
-Landroid/media/JetPlayer;->mJetEventListener:Landroid/media/JetPlayer$OnJetEventListener;
-Landroid/media/JetPlayer;->native_clearQueue()Z
-Landroid/media/JetPlayer;->native_closeJetFile()Z
-Landroid/media/JetPlayer;->native_finalize()V
-Landroid/media/JetPlayer;->native_loadJetFromFile(Ljava/lang/String;)Z
-Landroid/media/JetPlayer;->native_loadJetFromFileD(Ljava/io/FileDescriptor;JJ)Z
-Landroid/media/JetPlayer;->native_pauseJet()Z
-Landroid/media/JetPlayer;->native_playJet()Z
-Landroid/media/JetPlayer;->native_queueJetSegment(IIIIIB)Z
-Landroid/media/JetPlayer;->native_queueJetSegmentMuteArray(IIII[ZB)Z
-Landroid/media/JetPlayer;->native_release()V
-Landroid/media/JetPlayer;->native_setMuteArray([ZZ)Z
-Landroid/media/JetPlayer;->native_setMuteFlag(IZZ)Z
-Landroid/media/JetPlayer;->native_setMuteFlags(IZ)Z
-Landroid/media/JetPlayer;->native_setup(Ljava/lang/Object;II)Z
-Landroid/media/JetPlayer;->native_triggerClip(I)Z
-Landroid/media/JetPlayer;->singletonRef:Landroid/media/JetPlayer;
-Landroid/media/JetPlayer;->TAG:Ljava/lang/String;
-Landroid/media/Media2DataSource;
-Landroid/media/Media2DataSource;-><init>()V
-Landroid/media/Media2DataSource;->getSize()J
-Landroid/media/Media2DataSource;->readAt(J[BII)I
-Landroid/media/Media2HTTPConnection;
-Landroid/media/Media2HTTPConnection;-><init>()V
-Landroid/media/Media2HTTPConnection;->connect(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/media/Media2HTTPConnection;->CONNECT_TIMEOUT_MS:I
-Landroid/media/Media2HTTPConnection;->convertHeaderStringToMap(Ljava/lang/String;)Ljava/util/Map;
-Landroid/media/Media2HTTPConnection;->disconnect()V
-Landroid/media/Media2HTTPConnection;->filterOutInternalHeaders(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/media/Media2HTTPConnection;->getMIMEType()Ljava/lang/String;
-Landroid/media/Media2HTTPConnection;->getSize()J
-Landroid/media/Media2HTTPConnection;->getUri()Ljava/lang/String;
-Landroid/media/Media2HTTPConnection;->HTTP_TEMP_REDIRECT:I
-Landroid/media/Media2HTTPConnection;->isLocalHost(Ljava/net/URL;)Z
-Landroid/media/Media2HTTPConnection;->mAllowCrossDomainRedirect:Z
-Landroid/media/Media2HTTPConnection;->mAllowCrossProtocolRedirect:Z
-Landroid/media/Media2HTTPConnection;->MAX_REDIRECTS:I
-Landroid/media/Media2HTTPConnection;->mConnection:Ljava/net/HttpURLConnection;
-Landroid/media/Media2HTTPConnection;->mCurrentOffset:J
-Landroid/media/Media2HTTPConnection;->mHeaders:Ljava/util/Map;
-Landroid/media/Media2HTTPConnection;->mInputStream:Ljava/io/InputStream;
-Landroid/media/Media2HTTPConnection;->mTotalSize:J
-Landroid/media/Media2HTTPConnection;->mURL:Ljava/net/URL;
-Landroid/media/Media2HTTPConnection;->parseBoolean(Ljava/lang/String;)Z
-Landroid/media/Media2HTTPConnection;->readAt(J[BI)I
-Landroid/media/Media2HTTPConnection;->seekTo(J)V
-Landroid/media/Media2HTTPConnection;->TAG:Ljava/lang/String;
-Landroid/media/Media2HTTPConnection;->teardownConnection()V
-Landroid/media/Media2HTTPConnection;->VERBOSE:Z
-Landroid/media/Media2HTTPService;
-Landroid/media/Media2HTTPService;-><init>(Ljava/util/List;)V
-Landroid/media/Media2HTTPService;->createHTTPService(Ljava/lang/String;)Landroid/media/Media2HTTPService;
-Landroid/media/Media2HTTPService;->createHTTPService(Ljava/lang/String;Ljava/util/List;)Landroid/media/Media2HTTPService;
-Landroid/media/Media2HTTPService;->makeHTTPConnection()Landroid/media/Media2HTTPConnection;
-Landroid/media/Media2HTTPService;->mCookies:Ljava/util/List;
-Landroid/media/Media2HTTPService;->mCookieStoreInitialized:Ljava/lang/Boolean;
-Landroid/media/Media2HTTPService;->TAG:Ljava/lang/String;
-Landroid/media/MediaActionSound$SoundState;
-Landroid/media/MediaActionSound$SoundState;-><init>(I)V
-Landroid/media/MediaActionSound$SoundState;->id:I
-Landroid/media/MediaActionSound$SoundState;->name:I
-Landroid/media/MediaActionSound$SoundState;->state:I
-Landroid/media/MediaActionSound;->loadSound(Landroid/media/MediaActionSound$SoundState;)I
-Landroid/media/MediaActionSound;->mLoadCompleteListener:Landroid/media/SoundPool$OnLoadCompleteListener;
-Landroid/media/MediaActionSound;->mSoundPool:Landroid/media/SoundPool;
-Landroid/media/MediaActionSound;->mSounds:[Landroid/media/MediaActionSound$SoundState;
-Landroid/media/MediaActionSound;->NUM_MEDIA_SOUND_STREAMS:I
-Landroid/media/MediaActionSound;->SOUND_DIRS:[Ljava/lang/String;
-Landroid/media/MediaActionSound;->SOUND_FILES:[Ljava/lang/String;
-Landroid/media/MediaActionSound;->STATE_LOADED:I
-Landroid/media/MediaActionSound;->STATE_LOADING:I
-Landroid/media/MediaActionSound;->STATE_LOADING_PLAY_REQUESTED:I
-Landroid/media/MediaActionSound;->STATE_NOT_LOADED:I
-Landroid/media/MediaActionSound;->TAG:Ljava/lang/String;
-Landroid/media/MediaBrowser2$BrowserCallback;
-Landroid/media/MediaBrowser2$BrowserCallback;-><init>()V
-Landroid/media/MediaBrowser2$BrowserCallback;->onChildrenChanged(Landroid/media/MediaBrowser2;Ljava/lang/String;ILandroid/os/Bundle;)V
-Landroid/media/MediaBrowser2$BrowserCallback;->onGetChildrenDone(Landroid/media/MediaBrowser2;Ljava/lang/String;IILjava/util/List;Landroid/os/Bundle;)V
-Landroid/media/MediaBrowser2$BrowserCallback;->onGetItemDone(Landroid/media/MediaBrowser2;Ljava/lang/String;Landroid/media/MediaItem2;)V
-Landroid/media/MediaBrowser2$BrowserCallback;->onGetLibraryRootDone(Landroid/media/MediaBrowser2;Landroid/os/Bundle;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/MediaBrowser2$BrowserCallback;->onGetSearchResultDone(Landroid/media/MediaBrowser2;Ljava/lang/String;IILjava/util/List;Landroid/os/Bundle;)V
-Landroid/media/MediaBrowser2$BrowserCallback;->onSearchResultChanged(Landroid/media/MediaBrowser2;Ljava/lang/String;ILandroid/os/Bundle;)V
-Landroid/media/MediaBrowser2;
-Landroid/media/MediaBrowser2;-><init>(Landroid/content/Context;Landroid/media/SessionToken2;Ljava/util/concurrent/Executor;Landroid/media/MediaBrowser2$BrowserCallback;)V
-Landroid/media/MediaBrowser2;->createProvider(Landroid/content/Context;Landroid/media/SessionToken2;Ljava/util/concurrent/Executor;Landroid/media/MediaController2$ControllerCallback;)Landroid/media/update/MediaBrowser2Provider;
-Landroid/media/MediaBrowser2;->getChildren(Ljava/lang/String;IILandroid/os/Bundle;)V
-Landroid/media/MediaBrowser2;->getItem(Ljava/lang/String;)V
-Landroid/media/MediaBrowser2;->getLibraryRoot(Landroid/os/Bundle;)V
-Landroid/media/MediaBrowser2;->getSearchResult(Ljava/lang/String;IILandroid/os/Bundle;)V
-Landroid/media/MediaBrowser2;->mProvider:Landroid/media/update/MediaBrowser2Provider;
-Landroid/media/MediaBrowser2;->search(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/MediaBrowser2;->subscribe(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/MediaBrowser2;->unsubscribe(Ljava/lang/String;)V
-Landroid/media/MediaCas$EventHandler;
-Landroid/media/MediaCas$EventHandler;-><init>(Landroid/os/Looper;)V
-Landroid/media/MediaCas$EventHandler;->MSG_CAS_EVENT:I
-Landroid/media/MediaCas$OpenSessionCallback;
-Landroid/media/MediaCas$OpenSessionCallback;-><init>()V
-Landroid/media/MediaCas$OpenSessionCallback;->mSession:Landroid/media/MediaCas$Session;
-Landroid/media/MediaCas$OpenSessionCallback;->mStatus:I
-Landroid/media/MediaCas$PluginDescriptor;-><init>()V
-Landroid/media/MediaCas$PluginDescriptor;-><init>(Landroid/hardware/cas/V1_0/HidlCasPluginDescriptor;)V
-Landroid/media/MediaCas$PluginDescriptor;->mCASystemId:I
-Landroid/media/MediaCas$PluginDescriptor;->mName:Ljava/lang/String;
-Landroid/media/MediaCas$Session;-><init>(Ljava/util/ArrayList;)V
-Landroid/media/MediaCas$Session;->mSessionId:Ljava/util/ArrayList;
-Landroid/media/MediaCas;->cleanupAndRethrowIllegalState()V
-Landroid/media/MediaCas;->createFromSessionId(Ljava/util/ArrayList;)Landroid/media/MediaCas$Session;
-Landroid/media/MediaCas;->gDefault:Landroid/util/Singleton;
-Landroid/media/MediaCas;->getBinder()Landroid/os/IHwBinder;
-Landroid/media/MediaCas;->getService()Landroid/hardware/cas/V1_0/IMediaCasService;
-Landroid/media/MediaCas;->mBinder:Landroid/hardware/cas/V1_0/ICasListener$Stub;
-Landroid/media/MediaCas;->mEventHandler:Landroid/media/MediaCas$EventHandler;
-Landroid/media/MediaCas;->mHandlerThread:Landroid/os/HandlerThread;
-Landroid/media/MediaCas;->mICas:Landroid/hardware/cas/V1_0/ICas;
-Landroid/media/MediaCas;->mListener:Landroid/media/MediaCas$EventListener;
-Landroid/media/MediaCas;->TAG:Ljava/lang/String;
-Landroid/media/MediaCas;->toByteArray([B)Ljava/util/ArrayList;
-Landroid/media/MediaCas;->toByteArray([BII)Ljava/util/ArrayList;
-Landroid/media/MediaCas;->toBytes(Ljava/util/ArrayList;)[B
-Landroid/media/MediaCas;->validateInternalStates()V
-Landroid/media/MediaCasException$DeniedByServerException;-><init>(Ljava/lang/String;)V
-Landroid/media/MediaCasException$NotProvisionedException;-><init>(Ljava/lang/String;)V
-Landroid/media/MediaCasException$ResourceBusyException;-><init>(Ljava/lang/String;)V
-Landroid/media/MediaCasException$UnsupportedCasException;-><init>(Ljava/lang/String;)V
-Landroid/media/MediaCasException;-><init>(Ljava/lang/String;)V
-Landroid/media/MediaCasException;->throwExceptionIfNeeded(I)V
-Landroid/media/MediaCasStateException;-><init>(ILjava/lang/String;Ljava/lang/String;)V
-Landroid/media/MediaCasStateException;->getErrorCode()I
-Landroid/media/MediaCasStateException;->mDiagnosticInfo:Ljava/lang/String;
-Landroid/media/MediaCasStateException;->mErrorCode:I
-Landroid/media/MediaCasStateException;->throwExceptionIfNeeded(I)V
-Landroid/media/MediaCasStateException;->throwExceptionIfNeeded(ILjava/lang/String;)V
-Landroid/media/MediaCodec$BufferFlag;
-Landroid/media/MediaCodec$BufferInfo;->dup()Landroid/media/MediaCodec$BufferInfo;
-Landroid/media/MediaCodec$BufferMap$CodecBuffer;
-Landroid/media/MediaCodec$BufferMap$CodecBuffer;-><init>()V
-Landroid/media/MediaCodec$BufferMap$CodecBuffer;->free()V
-Landroid/media/MediaCodec$BufferMap$CodecBuffer;->mByteBuffer:Ljava/nio/ByteBuffer;
-Landroid/media/MediaCodec$BufferMap$CodecBuffer;->mImage:Landroid/media/Image;
-Landroid/media/MediaCodec$BufferMap$CodecBuffer;->setByteBuffer(Ljava/nio/ByteBuffer;)V
-Landroid/media/MediaCodec$BufferMap$CodecBuffer;->setImage(Landroid/media/Image;)V
-Landroid/media/MediaCodec$BufferMap;
-Landroid/media/MediaCodec$BufferMap;-><init>()V
-Landroid/media/MediaCodec$BufferMap;->clear()V
-Landroid/media/MediaCodec$BufferMap;->mMap:Ljava/util/Map;
-Landroid/media/MediaCodec$BufferMap;->put(ILandroid/media/Image;)V
-Landroid/media/MediaCodec$BufferMap;->put(ILjava/nio/ByteBuffer;)V
-Landroid/media/MediaCodec$BufferMap;->remove(I)V
-Landroid/media/MediaCodec$CodecException$ReasonCode;
-Landroid/media/MediaCodec$CodecException;->ACTION_RECOVERABLE:I
-Landroid/media/MediaCodec$CodecException;->ACTION_TRANSIENT:I
-Landroid/media/MediaCodec$CodecException;->mActionCode:I
-Landroid/media/MediaCodec$CodecException;->mDiagnosticInfo:Ljava/lang/String;
-Landroid/media/MediaCodec$CodecException;->mErrorCode:I
-Landroid/media/MediaCodec$ConfigureFlag;
-Landroid/media/MediaCodec$CryptoException$CryptoErrorCode;
-Landroid/media/MediaCodec$CryptoException;->mErrorCode:I
-Landroid/media/MediaCodec$CryptoInfo$Pattern;->mEncryptBlocks:I
-Landroid/media/MediaCodec$CryptoInfo$Pattern;->mSkipBlocks:I
-Landroid/media/MediaCodec$CryptoInfo;->pattern:Landroid/media/MediaCodec$CryptoInfo$Pattern;
-Landroid/media/MediaCodec$CryptoInfo;->setPattern(II)V
-Landroid/media/MediaCodec$CryptoInfo;->zeroPattern:Landroid/media/MediaCodec$CryptoInfo$Pattern;
-Landroid/media/MediaCodec$EventHandler;
-Landroid/media/MediaCodec$EventHandler;-><init>(Landroid/media/MediaCodec;Landroid/os/Looper;)V
-Landroid/media/MediaCodec$EventHandler;->handleCallback(Landroid/os/Message;)V
-Landroid/media/MediaCodec$EventHandler;->mCodec:Landroid/media/MediaCodec;
-Landroid/media/MediaCodec$MediaImage$MediaPlane;
-Landroid/media/MediaCodec$MediaImage$MediaPlane;-><init>(Ljava/nio/ByteBuffer;II)V
-Landroid/media/MediaCodec$MediaImage$MediaPlane;->mColInc:I
-Landroid/media/MediaCodec$MediaImage$MediaPlane;->mData:Ljava/nio/ByteBuffer;
-Landroid/media/MediaCodec$MediaImage$MediaPlane;->mRowInc:I
-Landroid/media/MediaCodec$MediaImage;
-Landroid/media/MediaCodec$MediaImage;-><init>(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;ZJIILandroid/graphics/Rect;)V
-Landroid/media/MediaCodec$MediaImage;->getScalingMode()I
-Landroid/media/MediaCodec$MediaImage;->getTransform()I
-Landroid/media/MediaCodec$MediaImage;->mBuffer:Ljava/nio/ByteBuffer;
-Landroid/media/MediaCodec$MediaImage;->mFormat:I
-Landroid/media/MediaCodec$MediaImage;->mHeight:I
-Landroid/media/MediaCodec$MediaImage;->mInfo:Ljava/nio/ByteBuffer;
-Landroid/media/MediaCodec$MediaImage;->mIsReadOnly:Z
-Landroid/media/MediaCodec$MediaImage;->mPlanes:[Landroid/media/Image$Plane;
-Landroid/media/MediaCodec$MediaImage;->mScalingMode:I
-Landroid/media/MediaCodec$MediaImage;->mTimestamp:J
-Landroid/media/MediaCodec$MediaImage;->mTransform:I
-Landroid/media/MediaCodec$MediaImage;->mWidth:I
-Landroid/media/MediaCodec$MediaImage;->mXOffset:I
-Landroid/media/MediaCodec$MediaImage;->mYOffset:I
-Landroid/media/MediaCodec$MediaImage;->TYPE_YUV:I
-Landroid/media/MediaCodec$MetricsConstants;-><init>()V
-Landroid/media/MediaCodec$OutputBufferInfo;
-Landroid/media/MediaCodec$PersistentSurface;
-Landroid/media/MediaCodec$PersistentSurface;-><init>()V
-Landroid/media/MediaCodec$PersistentSurface;->mPersistentObject:J
-Landroid/media/MediaCodec$VideoScalingMode;
-Landroid/media/MediaCodec;-><init>(Ljava/lang/String;ZZ)V
-Landroid/media/MediaCodec;->BUFFER_FLAG_MUXER_DATA:I
-Landroid/media/MediaCodec;->cacheBuffers(Z)V
-Landroid/media/MediaCodec;->CB_ERROR:I
-Landroid/media/MediaCodec;->CB_INPUT_AVAILABLE:I
-Landroid/media/MediaCodec;->CB_OUTPUT_AVAILABLE:I
-Landroid/media/MediaCodec;->CB_OUTPUT_FORMAT_CHANGE:I
-Landroid/media/MediaCodec;->configure(Landroid/media/MediaFormat;Landroid/view/Surface;Landroid/media/MediaCrypto;Landroid/os/IHwBinder;I)V
-Landroid/media/MediaCodec;->EVENT_CALLBACK:I
-Landroid/media/MediaCodec;->EVENT_FRAME_RENDERED:I
-Landroid/media/MediaCodec;->EVENT_SET_CALLBACK:I
-Landroid/media/MediaCodec;->freeAllTrackedBuffers()V
-Landroid/media/MediaCodec;->freeByteBuffer(Ljava/nio/ByteBuffer;)V
-Landroid/media/MediaCodec;->freeByteBuffers([Ljava/nio/ByteBuffer;)V
-Landroid/media/MediaCodec;->getBuffer(ZI)Ljava/nio/ByteBuffer;
-Landroid/media/MediaCodec;->getEventHandlerOn(Landroid/os/Handler;Landroid/media/MediaCodec$EventHandler;)Landroid/media/MediaCodec$EventHandler;
-Landroid/media/MediaCodec;->getFormatNative(Z)Ljava/util/Map;
-Landroid/media/MediaCodec;->getImage(ZI)Landroid/media/Image;
-Landroid/media/MediaCodec;->getOutputFormatNative(I)Ljava/util/Map;
-Landroid/media/MediaCodec;->getOwnCodecInfo()Landroid/media/MediaCodecInfo;
-Landroid/media/MediaCodec;->invalidateByteBuffer([Ljava/nio/ByteBuffer;I)V
-Landroid/media/MediaCodec;->invalidateByteBuffers([Ljava/nio/ByteBuffer;)V
-Landroid/media/MediaCodec;->mBufferLock:Ljava/lang/Object;
-Landroid/media/MediaCodec;->mCachedInputBuffers:[Ljava/nio/ByteBuffer;
-Landroid/media/MediaCodec;->mCachedOutputBuffers:[Ljava/nio/ByteBuffer;
-Landroid/media/MediaCodec;->mCallback:Landroid/media/MediaCodec$Callback;
-Landroid/media/MediaCodec;->mCallbackHandler:Landroid/media/MediaCodec$EventHandler;
-Landroid/media/MediaCodec;->mCodecInfo:Landroid/media/MediaCodecInfo;
-Landroid/media/MediaCodec;->mCodecInfoLock:Ljava/lang/Object;
-Landroid/media/MediaCodec;->mDequeuedInputBuffers:Landroid/media/MediaCodec$BufferMap;
-Landroid/media/MediaCodec;->mDequeuedOutputBuffers:Landroid/media/MediaCodec$BufferMap;
-Landroid/media/MediaCodec;->mDequeuedOutputInfos:Ljava/util/Map;
-Landroid/media/MediaCodec;->mEventHandler:Landroid/media/MediaCodec$EventHandler;
-Landroid/media/MediaCodec;->mHasSurface:Z
-Landroid/media/MediaCodec;->mListenerLock:Ljava/lang/Object;
-Landroid/media/MediaCodec;->mOnFrameRenderedHandler:Landroid/media/MediaCodec$EventHandler;
-Landroid/media/MediaCodec;->mOnFrameRenderedListener:Landroid/media/MediaCodec$OnFrameRenderedListener;
-Landroid/media/MediaCodec;->native_configure([Ljava/lang/String;[Ljava/lang/Object;Landroid/view/Surface;Landroid/media/MediaCrypto;Landroid/os/IHwBinder;I)V
-Landroid/media/MediaCodec;->native_createPersistentInputSurface()Landroid/media/MediaCodec$PersistentSurface;
-Landroid/media/MediaCodec;->native_dequeueInputBuffer(J)I
-Landroid/media/MediaCodec;->native_dequeueOutputBuffer(Landroid/media/MediaCodec$BufferInfo;J)I
-Landroid/media/MediaCodec;->native_enableOnFrameRenderedListener(Z)V
-Landroid/media/MediaCodec;->native_finalize()V
-Landroid/media/MediaCodec;->native_flush()V
-Landroid/media/MediaCodec;->native_getMetrics()Landroid/os/PersistableBundle;
-Landroid/media/MediaCodec;->native_init()V
-Landroid/media/MediaCodec;->native_queueInputBuffer(IIIJI)V
-Landroid/media/MediaCodec;->native_queueSecureInputBuffer(IILandroid/media/MediaCodec$CryptoInfo;JI)V
-Landroid/media/MediaCodec;->native_release()V
-Landroid/media/MediaCodec;->native_releasePersistentInputSurface(Landroid/view/Surface;)V
-Landroid/media/MediaCodec;->native_reset()V
-Landroid/media/MediaCodec;->native_setCallback(Landroid/media/MediaCodec$Callback;)V
-Landroid/media/MediaCodec;->native_setInputSurface(Landroid/view/Surface;)V
-Landroid/media/MediaCodec;->native_setSurface(Landroid/view/Surface;)V
-Landroid/media/MediaCodec;->native_setup(Ljava/lang/String;ZZ)V
-Landroid/media/MediaCodec;->native_start()V
-Landroid/media/MediaCodec;->native_stop()V
-Landroid/media/MediaCodec;->postEventFromNative(IIILjava/lang/Object;)V
-Landroid/media/MediaCodec;->revalidateByteBuffer([Ljava/nio/ByteBuffer;I)V
-Landroid/media/MediaCodec;->validateInputByteBuffer([Ljava/nio/ByteBuffer;I)V
-Landroid/media/MediaCodec;->validateOutputByteBuffer([Ljava/nio/ByteBuffer;ILandroid/media/MediaCodec$BufferInfo;)V
-Landroid/media/MediaCodecInfo$AudioCapabilities;-><init>()V
-Landroid/media/MediaCodecInfo$AudioCapabilities;->applyLevelLimits()V
-Landroid/media/MediaCodecInfo$AudioCapabilities;->applyLimits(ILandroid/util/Range;)V
-Landroid/media/MediaCodecInfo$AudioCapabilities;->create(Landroid/media/MediaFormat;Landroid/media/MediaCodecInfo$CodecCapabilities;)Landroid/media/MediaCodecInfo$AudioCapabilities;
-Landroid/media/MediaCodecInfo$AudioCapabilities;->createDiscreteSampleRates()V
-Landroid/media/MediaCodecInfo$AudioCapabilities;->getDefaultFormat(Landroid/media/MediaFormat;)V
-Landroid/media/MediaCodecInfo$AudioCapabilities;->init(Landroid/media/MediaFormat;Landroid/media/MediaCodecInfo$CodecCapabilities;)V
-Landroid/media/MediaCodecInfo$AudioCapabilities;->initWithPlatformLimits()V
-Landroid/media/MediaCodecInfo$AudioCapabilities;->limitSampleRates([I)V
-Landroid/media/MediaCodecInfo$AudioCapabilities;->limitSampleRates([Landroid/util/Range;)V
-Landroid/media/MediaCodecInfo$AudioCapabilities;->MAX_INPUT_CHANNEL_COUNT:I
-Landroid/media/MediaCodecInfo$AudioCapabilities;->mBitrateRange:Landroid/util/Range;
-Landroid/media/MediaCodecInfo$AudioCapabilities;->mMaxInputChannelCount:I
-Landroid/media/MediaCodecInfo$AudioCapabilities;->mParent:Landroid/media/MediaCodecInfo$CodecCapabilities;
-Landroid/media/MediaCodecInfo$AudioCapabilities;->mSampleRateRanges:[Landroid/util/Range;
-Landroid/media/MediaCodecInfo$AudioCapabilities;->mSampleRates:[I
-Landroid/media/MediaCodecInfo$AudioCapabilities;->parseFromInfo(Landroid/media/MediaFormat;)V
-Landroid/media/MediaCodecInfo$AudioCapabilities;->supports(Ljava/lang/Integer;Ljava/lang/Integer;)Z
-Landroid/media/MediaCodecInfo$AudioCapabilities;->supportsFormat(Landroid/media/MediaFormat;)Z
-Landroid/media/MediaCodecInfo$AudioCapabilities;->TAG:Ljava/lang/String;
-Landroid/media/MediaCodecInfo$CodecCapabilities;-><init>([Landroid/media/MediaCodecInfo$CodecProfileLevel;[IZILandroid/media/MediaFormat;Landroid/media/MediaFormat;)V
-Landroid/media/MediaCodecInfo$CodecCapabilities;-><init>([Landroid/media/MediaCodecInfo$CodecProfileLevel;[IZILjava/util/Map;Ljava/util/Map;)V
-Landroid/media/MediaCodecInfo$CodecCapabilities;->checkFeature(Ljava/lang/String;I)Z
-Landroid/media/MediaCodecInfo$CodecCapabilities;->decoderFeatures:[Landroid/media/MediaCodecInfo$Feature;
-Landroid/media/MediaCodecInfo$CodecCapabilities;->dup()Landroid/media/MediaCodecInfo$CodecCapabilities;
-Landroid/media/MediaCodecInfo$CodecCapabilities;->encoderFeatures:[Landroid/media/MediaCodecInfo$Feature;
-Landroid/media/MediaCodecInfo$CodecCapabilities;->getValidFeatures()[Landroid/media/MediaCodecInfo$Feature;
-Landroid/media/MediaCodecInfo$CodecCapabilities;->isAudio()Z
-Landroid/media/MediaCodecInfo$CodecCapabilities;->isEncoder()Z
-Landroid/media/MediaCodecInfo$CodecCapabilities;->isRegular()Z
-Landroid/media/MediaCodecInfo$CodecCapabilities;->isVideo()Z
-Landroid/media/MediaCodecInfo$CodecCapabilities;->mAudioCaps:Landroid/media/MediaCodecInfo$AudioCapabilities;
-Landroid/media/MediaCodecInfo$CodecCapabilities;->mCapabilitiesInfo:Landroid/media/MediaFormat;
-Landroid/media/MediaCodecInfo$CodecCapabilities;->mDefaultFormat:Landroid/media/MediaFormat;
-Landroid/media/MediaCodecInfo$CodecCapabilities;->mEncoderCaps:Landroid/media/MediaCodecInfo$EncoderCapabilities;
-Landroid/media/MediaCodecInfo$CodecCapabilities;->mError:I
-Landroid/media/MediaCodecInfo$CodecCapabilities;->mFlagsRequired:I
-Landroid/media/MediaCodecInfo$CodecCapabilities;->mFlagsSupported:I
-Landroid/media/MediaCodecInfo$CodecCapabilities;->mFlagsVerified:I
-Landroid/media/MediaCodecInfo$CodecCapabilities;->mMaxSupportedInstances:I
-Landroid/media/MediaCodecInfo$CodecCapabilities;->mMime:Ljava/lang/String;
-Landroid/media/MediaCodecInfo$CodecCapabilities;->mVideoCaps:Landroid/media/MediaCodecInfo$VideoCapabilities;
-Landroid/media/MediaCodecInfo$CodecCapabilities;->supportsBitrate(Landroid/util/Range;Landroid/media/MediaFormat;)Z
-Landroid/media/MediaCodecInfo$CodecCapabilities;->supportsProfileLevel(ILjava/lang/Integer;)Z
-Landroid/media/MediaCodecInfo$CodecCapabilities;->TAG:Ljava/lang/String;
-Landroid/media/MediaCodecInfo$CodecCapabilities;->validFeatures()[Ljava/lang/String;
-Landroid/media/MediaCodecInfo$CodecProfileLevel;->HEVCHighTierLevels:I
-Landroid/media/MediaCodecInfo$EncoderCapabilities;-><init>()V
-Landroid/media/MediaCodecInfo$EncoderCapabilities;->applyLevelLimits()V
-Landroid/media/MediaCodecInfo$EncoderCapabilities;->bitrates:[Landroid/media/MediaCodecInfo$Feature;
-Landroid/media/MediaCodecInfo$EncoderCapabilities;->create(Landroid/media/MediaFormat;Landroid/media/MediaCodecInfo$CodecCapabilities;)Landroid/media/MediaCodecInfo$EncoderCapabilities;
-Landroid/media/MediaCodecInfo$EncoderCapabilities;->getDefaultFormat(Landroid/media/MediaFormat;)V
-Landroid/media/MediaCodecInfo$EncoderCapabilities;->init(Landroid/media/MediaFormat;Landroid/media/MediaCodecInfo$CodecCapabilities;)V
-Landroid/media/MediaCodecInfo$EncoderCapabilities;->mBitControl:I
-Landroid/media/MediaCodecInfo$EncoderCapabilities;->mComplexityRange:Landroid/util/Range;
-Landroid/media/MediaCodecInfo$EncoderCapabilities;->mDefaultComplexity:Ljava/lang/Integer;
-Landroid/media/MediaCodecInfo$EncoderCapabilities;->mDefaultQuality:Ljava/lang/Integer;
-Landroid/media/MediaCodecInfo$EncoderCapabilities;->mParent:Landroid/media/MediaCodecInfo$CodecCapabilities;
-Landroid/media/MediaCodecInfo$EncoderCapabilities;->mQualityRange:Landroid/util/Range;
-Landroid/media/MediaCodecInfo$EncoderCapabilities;->mQualityScale:Ljava/lang/String;
-Landroid/media/MediaCodecInfo$EncoderCapabilities;->parseBitrateMode(Ljava/lang/String;)I
-Landroid/media/MediaCodecInfo$EncoderCapabilities;->parseFromInfo(Landroid/media/MediaFormat;)V
-Landroid/media/MediaCodecInfo$EncoderCapabilities;->supports(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)Z
-Landroid/media/MediaCodecInfo$EncoderCapabilities;->supportsFormat(Landroid/media/MediaFormat;)Z
-Landroid/media/MediaCodecInfo$Feature;
-Landroid/media/MediaCodecInfo$Feature;-><init>(Ljava/lang/String;IZ)V
-Landroid/media/MediaCodecInfo$Feature;->mDefault:Z
-Landroid/media/MediaCodecInfo$Feature;->mName:Ljava/lang/String;
-Landroid/media/MediaCodecInfo$Feature;->mValue:I
-Landroid/media/MediaCodecInfo$VideoCapabilities;-><init>()V
-Landroid/media/MediaCodecInfo$VideoCapabilities;->applyAlignment(II)V
-Landroid/media/MediaCodecInfo$VideoCapabilities;->applyBlockLimits(IILandroid/util/Range;Landroid/util/Range;Landroid/util/Range;)V
-Landroid/media/MediaCodecInfo$VideoCapabilities;->applyLevelLimits()V
-Landroid/media/MediaCodecInfo$VideoCapabilities;->applyMacroBlockLimits(IIIIIJIIII)V
-Landroid/media/MediaCodecInfo$VideoCapabilities;->applyMacroBlockLimits(IIIJIIII)V
-Landroid/media/MediaCodecInfo$VideoCapabilities;->equivalentVP9Level(Landroid/media/MediaFormat;)I
-Landroid/media/MediaCodecInfo$VideoCapabilities;->estimateFrameRatesFor(II)Landroid/util/Range;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->findClosestSize(II)Landroid/util/Size;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->getAspectRatioRange(Z)Landroid/util/Range;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->getBlockCount(II)I
-Landroid/media/MediaCodecInfo$VideoCapabilities;->getBlockCountRange()Landroid/util/Range;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->getBlockSize()Landroid/util/Size;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->getBlocksPerSecondRange()Landroid/util/Range;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->getMeasuredFrameRates(Ljava/util/Map;)Ljava/util/Map;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->getSmallerDimensionUpperLimit()I
-Landroid/media/MediaCodecInfo$VideoCapabilities;->init(Landroid/media/MediaFormat;Landroid/media/MediaCodecInfo$CodecCapabilities;)V
-Landroid/media/MediaCodecInfo$VideoCapabilities;->initWithPlatformLimits()V
-Landroid/media/MediaCodecInfo$VideoCapabilities;->mAllowMbOverride:Z
-Landroid/media/MediaCodecInfo$VideoCapabilities;->mAspectRatioRange:Landroid/util/Range;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->mBitrateRange:Landroid/util/Range;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->mBlockAspectRatioRange:Landroid/util/Range;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->mBlockCountRange:Landroid/util/Range;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->mBlockHeight:I
-Landroid/media/MediaCodecInfo$VideoCapabilities;->mBlocksPerSecondRange:Landroid/util/Range;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->mBlockWidth:I
-Landroid/media/MediaCodecInfo$VideoCapabilities;->mFrameRateRange:Landroid/util/Range;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->mHeightAlignment:I
-Landroid/media/MediaCodecInfo$VideoCapabilities;->mHeightRange:Landroid/util/Range;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->mHorizontalBlockRange:Landroid/util/Range;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->mMeasuredFrameRates:Ljava/util/Map;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->mParent:Landroid/media/MediaCodecInfo$CodecCapabilities;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->mSmallerDimensionUpperLimit:I
-Landroid/media/MediaCodecInfo$VideoCapabilities;->mVerticalBlockRange:Landroid/util/Range;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->mWidthAlignment:I
-Landroid/media/MediaCodecInfo$VideoCapabilities;->mWidthRange:Landroid/util/Range;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->parseFromInfo(Landroid/media/MediaFormat;)V
-Landroid/media/MediaCodecInfo$VideoCapabilities;->parseWidthHeightRanges(Ljava/lang/Object;)Landroid/util/Pair;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->supports(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Number;)Z
-Landroid/media/MediaCodecInfo$VideoCapabilities;->supportsFormat(Landroid/media/MediaFormat;)Z
-Landroid/media/MediaCodecInfo$VideoCapabilities;->TAG:Ljava/lang/String;
-Landroid/media/MediaCodecInfo$VideoCapabilities;->updateLimits()V
-Landroid/media/MediaCodecInfo;-><init>(Ljava/lang/String;Z[Landroid/media/MediaCodecInfo$CodecCapabilities;)V
-Landroid/media/MediaCodecInfo;->BITRATE_RANGE:Landroid/util/Range;
-Landroid/media/MediaCodecInfo;->checkPowerOfTwo(ILjava/lang/String;)I
-Landroid/media/MediaCodecInfo;->DEFAULT_MAX_SUPPORTED_INSTANCES:I
-Landroid/media/MediaCodecInfo;->ERROR_NONE_SUPPORTED:I
-Landroid/media/MediaCodecInfo;->ERROR_UNRECOGNIZED:I
-Landroid/media/MediaCodecInfo;->ERROR_UNSUPPORTED:I
-Landroid/media/MediaCodecInfo;->FRAME_RATE_RANGE:Landroid/util/Range;
-Landroid/media/MediaCodecInfo;->makeRegular()Landroid/media/MediaCodecInfo;
-Landroid/media/MediaCodecInfo;->MAX_SUPPORTED_INSTANCES_LIMIT:I
-Landroid/media/MediaCodecInfo;->mCaps:Ljava/util/Map;
-Landroid/media/MediaCodecInfo;->mIsEncoder:Z
-Landroid/media/MediaCodecInfo;->mName:Ljava/lang/String;
-Landroid/media/MediaCodecInfo;->POSITIVE_INTEGERS:Landroid/util/Range;
-Landroid/media/MediaCodecInfo;->POSITIVE_LONGS:Landroid/util/Range;
-Landroid/media/MediaCodecInfo;->POSITIVE_RATIONALS:Landroid/util/Range;
-Landroid/media/MediaCodecInfo;->SIZE_RANGE:Landroid/util/Range;
-Landroid/media/MediaCodecList;-><init>()V
-Landroid/media/MediaCodecList;->findCodecByName(Ljava/lang/String;)I
-Landroid/media/MediaCodecList;->findCodecForFormat(ZLandroid/media/MediaFormat;)Ljava/lang/String;
-Landroid/media/MediaCodecList;->getCodecCapabilities(ILjava/lang/String;)Landroid/media/MediaCodecInfo$CodecCapabilities;
-Landroid/media/MediaCodecList;->getCodecName(I)Ljava/lang/String;
-Landroid/media/MediaCodecList;->getGlobalSettings()Ljava/util/Map;
-Landroid/media/MediaCodecList;->getInfoFor(Ljava/lang/String;)Landroid/media/MediaCodecInfo;
-Landroid/media/MediaCodecList;->getNewCodecInfoAt(I)Landroid/media/MediaCodecInfo;
-Landroid/media/MediaCodecList;->getSupportedTypes(I)[Ljava/lang/String;
-Landroid/media/MediaCodecList;->initCodecList()V
-Landroid/media/MediaCodecList;->isEncoder(I)Z
-Landroid/media/MediaCodecList;->mCodecInfos:[Landroid/media/MediaCodecInfo;
-Landroid/media/MediaCodecList;->native_getCodecCount()I
-Landroid/media/MediaCodecList;->native_getGlobalSettings()Ljava/util/Map;
-Landroid/media/MediaCodecList;->native_init()V
-Landroid/media/MediaCodecList;->sAllCodecInfos:[Landroid/media/MediaCodecInfo;
-Landroid/media/MediaCodecList;->sGlobalSettings:Ljava/util/Map;
-Landroid/media/MediaCodecList;->sInitLock:Ljava/lang/Object;
-Landroid/media/MediaCodecList;->sRegularCodecInfos:[Landroid/media/MediaCodecInfo;
-Landroid/media/MediaCodecList;->TAG:Ljava/lang/String;
-Landroid/media/MediaController2$ControllerCallback;
-Landroid/media/MediaController2$ControllerCallback;-><init>()V
-Landroid/media/MediaController2$ControllerCallback;->onAllowedCommandsChanged(Landroid/media/MediaController2;Landroid/media/SessionCommandGroup2;)V
-Landroid/media/MediaController2$ControllerCallback;->onBufferingStateChanged(Landroid/media/MediaController2;Landroid/media/MediaItem2;I)V
-Landroid/media/MediaController2$ControllerCallback;->onConnected(Landroid/media/MediaController2;Landroid/media/SessionCommandGroup2;)V
-Landroid/media/MediaController2$ControllerCallback;->onCurrentMediaItemChanged(Landroid/media/MediaController2;Landroid/media/MediaItem2;)V
-Landroid/media/MediaController2$ControllerCallback;->onCustomCommand(Landroid/media/MediaController2;Landroid/media/SessionCommand2;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
-Landroid/media/MediaController2$ControllerCallback;->onCustomLayoutChanged(Landroid/media/MediaController2;Ljava/util/List;)V
-Landroid/media/MediaController2$ControllerCallback;->onDisconnected(Landroid/media/MediaController2;)V
-Landroid/media/MediaController2$ControllerCallback;->onError(Landroid/media/MediaController2;ILandroid/os/Bundle;)V
-Landroid/media/MediaController2$ControllerCallback;->onPlaybackInfoChanged(Landroid/media/MediaController2;Landroid/media/MediaController2$PlaybackInfo;)V
-Landroid/media/MediaController2$ControllerCallback;->onPlaybackSpeedChanged(Landroid/media/MediaController2;F)V
-Landroid/media/MediaController2$ControllerCallback;->onPlayerStateChanged(Landroid/media/MediaController2;I)V
-Landroid/media/MediaController2$ControllerCallback;->onPlaylistChanged(Landroid/media/MediaController2;Ljava/util/List;Landroid/media/MediaMetadata2;)V
-Landroid/media/MediaController2$ControllerCallback;->onPlaylistMetadataChanged(Landroid/media/MediaController2;Landroid/media/MediaMetadata2;)V
-Landroid/media/MediaController2$ControllerCallback;->onRepeatModeChanged(Landroid/media/MediaController2;I)V
-Landroid/media/MediaController2$ControllerCallback;->onSeekCompleted(Landroid/media/MediaController2;J)V
-Landroid/media/MediaController2$ControllerCallback;->onShuffleModeChanged(Landroid/media/MediaController2;I)V
-Landroid/media/MediaController2$PlaybackInfo;
-Landroid/media/MediaController2$PlaybackInfo;-><init>(Landroid/media/update/MediaController2Provider$PlaybackInfoProvider;)V
-Landroid/media/MediaController2$PlaybackInfo;->getAudioAttributes()Landroid/media/AudioAttributes;
-Landroid/media/MediaController2$PlaybackInfo;->getControlType()I
-Landroid/media/MediaController2$PlaybackInfo;->getCurrentVolume()I
-Landroid/media/MediaController2$PlaybackInfo;->getMaxVolume()I
-Landroid/media/MediaController2$PlaybackInfo;->getPlaybackType()I
-Landroid/media/MediaController2$PlaybackInfo;->getProvider()Landroid/media/update/MediaController2Provider$PlaybackInfoProvider;
-Landroid/media/MediaController2$PlaybackInfo;->mProvider:Landroid/media/update/MediaController2Provider$PlaybackInfoProvider;
-Landroid/media/MediaController2$PlaybackInfo;->PLAYBACK_TYPE_LOCAL:I
-Landroid/media/MediaController2$PlaybackInfo;->PLAYBACK_TYPE_REMOTE:I
-Landroid/media/MediaController2;
-Landroid/media/MediaController2;-><init>(Landroid/content/Context;Landroid/media/SessionToken2;Ljava/util/concurrent/Executor;Landroid/media/MediaController2$ControllerCallback;)V
-Landroid/media/MediaController2;->addPlaylistItem(ILandroid/media/MediaItem2;)V
-Landroid/media/MediaController2;->adjustVolume(II)V
-Landroid/media/MediaController2;->createProvider(Landroid/content/Context;Landroid/media/SessionToken2;Ljava/util/concurrent/Executor;Landroid/media/MediaController2$ControllerCallback;)Landroid/media/update/MediaController2Provider;
-Landroid/media/MediaController2;->fastForward()V
-Landroid/media/MediaController2;->getBufferedPosition()J
-Landroid/media/MediaController2;->getBufferingState()I
-Landroid/media/MediaController2;->getCurrentMediaItem()Landroid/media/MediaItem2;
-Landroid/media/MediaController2;->getCurrentPosition()J
-Landroid/media/MediaController2;->getPlaybackInfo()Landroid/media/MediaController2$PlaybackInfo;
-Landroid/media/MediaController2;->getPlaybackSpeed()F
-Landroid/media/MediaController2;->getPlayerState()I
-Landroid/media/MediaController2;->getPlaylist()Ljava/util/List;
-Landroid/media/MediaController2;->getPlaylistMetadata()Landroid/media/MediaMetadata2;
-Landroid/media/MediaController2;->getProvider()Landroid/media/update/MediaController2Provider;
-Landroid/media/MediaController2;->getRepeatMode()I
-Landroid/media/MediaController2;->getSessionActivity()Landroid/app/PendingIntent;
-Landroid/media/MediaController2;->getSessionToken()Landroid/media/SessionToken2;
-Landroid/media/MediaController2;->getShuffleMode()I
-Landroid/media/MediaController2;->isConnected()Z
-Landroid/media/MediaController2;->mProvider:Landroid/media/update/MediaController2Provider;
-Landroid/media/MediaController2;->pause()V
-Landroid/media/MediaController2;->play()V
-Landroid/media/MediaController2;->playFromMediaId(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/MediaController2;->playFromSearch(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/MediaController2;->playFromUri(Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/MediaController2;->prepare()V
-Landroid/media/MediaController2;->prepareFromMediaId(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/MediaController2;->prepareFromSearch(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/MediaController2;->prepareFromUri(Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/MediaController2;->removePlaylistItem(Landroid/media/MediaItem2;)V
-Landroid/media/MediaController2;->replacePlaylistItem(ILandroid/media/MediaItem2;)V
-Landroid/media/MediaController2;->rewind()V
-Landroid/media/MediaController2;->seekTo(J)V
-Landroid/media/MediaController2;->sendCustomCommand(Landroid/media/SessionCommand2;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
-Landroid/media/MediaController2;->setPlaybackSpeed(F)V
-Landroid/media/MediaController2;->setPlaylist(Ljava/util/List;Landroid/media/MediaMetadata2;)V
-Landroid/media/MediaController2;->setRating(Ljava/lang/String;Landroid/media/Rating2;)V
-Landroid/media/MediaController2;->setRepeatMode(I)V
-Landroid/media/MediaController2;->setShuffleMode(I)V
-Landroid/media/MediaController2;->setVolumeTo(II)V
-Landroid/media/MediaController2;->skipBackward()V
-Landroid/media/MediaController2;->skipForward()V
-Landroid/media/MediaController2;->skipToNextItem()V
-Landroid/media/MediaController2;->skipToPlaylistItem(Landroid/media/MediaItem2;)V
-Landroid/media/MediaController2;->skipToPreviousItem()V
-Landroid/media/MediaController2;->stop()V
-Landroid/media/MediaController2;->updatePlaylistMetadata(Landroid/media/MediaMetadata2;)V
-Landroid/media/MediaCrypto;->getByteArrayFromUUID(Ljava/util/UUID;)[B
-Landroid/media/MediaCrypto;->isCryptoSchemeSupportedNative([B)Z
-Landroid/media/MediaCrypto;->mNativeContext:J
-Landroid/media/MediaCrypto;->native_finalize()V
-Landroid/media/MediaCrypto;->native_init()V
-Landroid/media/MediaCrypto;->native_setup([B[B)V
-Landroid/media/MediaDescrambler;->cleanupAndRethrowIllegalState()V
-Landroid/media/MediaDescrambler;->getBinder()Landroid/os/IHwBinder;
-Landroid/media/MediaDescrambler;->mIDescrambler:Landroid/hardware/cas/V1_0/IDescramblerBase;
-Landroid/media/MediaDescrambler;->mNativeContext:J
-Landroid/media/MediaDescrambler;->native_descramble(BBI[I[ILjava/nio/ByteBuffer;IILjava/nio/ByteBuffer;II)I
-Landroid/media/MediaDescrambler;->native_init()V
-Landroid/media/MediaDescrambler;->native_release()V
-Landroid/media/MediaDescrambler;->native_setup(Landroid/os/IHwBinder;)V
-Landroid/media/MediaDescrambler;->TAG:Ljava/lang/String;
-Landroid/media/MediaDescrambler;->validateInternalStates()V
-Landroid/media/MediaDescription$Builder;->mDescription:Ljava/lang/CharSequence;
-Landroid/media/MediaDescription$Builder;->mExtras:Landroid/os/Bundle;
-Landroid/media/MediaDescription$Builder;->mIcon:Landroid/graphics/Bitmap;
-Landroid/media/MediaDescription$Builder;->mIconUri:Landroid/net/Uri;
-Landroid/media/MediaDescription$Builder;->mMediaId:Ljava/lang/String;
-Landroid/media/MediaDescription$Builder;->mMediaUri:Landroid/net/Uri;
-Landroid/media/MediaDescription$Builder;->mSubtitle:Ljava/lang/CharSequence;
-Landroid/media/MediaDescription$Builder;->mTitle:Ljava/lang/CharSequence;
-Landroid/media/MediaDescription;-><init>(Landroid/os/Parcel;)V
-Landroid/media/MediaDescription;-><init>(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/graphics/Bitmap;Landroid/net/Uri;Landroid/os/Bundle;Landroid/net/Uri;)V
-Landroid/media/MediaDescription;->mDescription:Ljava/lang/CharSequence;
-Landroid/media/MediaDescription;->mExtras:Landroid/os/Bundle;
-Landroid/media/MediaDescription;->mIcon:Landroid/graphics/Bitmap;
-Landroid/media/MediaDescription;->mIconUri:Landroid/net/Uri;
-Landroid/media/MediaDescription;->mMediaId:Ljava/lang/String;
-Landroid/media/MediaDescription;->mMediaUri:Landroid/net/Uri;
-Landroid/media/MediaDescription;->mSubtitle:Ljava/lang/CharSequence;
-Landroid/media/MediaDescription;->mTitle:Ljava/lang/CharSequence;
-Landroid/media/MediaDrm$ArrayProperty;
-Landroid/media/MediaDrm$Certificate;
-Landroid/media/MediaDrm$Certificate;-><init>()V
-Landroid/media/MediaDrm$Certificate;->mCertificateData:[B
-Landroid/media/MediaDrm$Certificate;->mWrappedKey:[B
-Landroid/media/MediaDrm$CertificateRequest;
-Landroid/media/MediaDrm$CertificateRequest;-><init>([BLjava/lang/String;)V
-Landroid/media/MediaDrm$CertificateRequest;->mData:[B
-Landroid/media/MediaDrm$CertificateRequest;->mDefaultUrl:Ljava/lang/String;
-Landroid/media/MediaDrm$CertificateType;
-Landroid/media/MediaDrm$CryptoSession;-><init>([BLjava/lang/String;Ljava/lang/String;)V
-Landroid/media/MediaDrm$CryptoSession;->mSessionId:[B
-Landroid/media/MediaDrm$DrmEvent;
-Landroid/media/MediaDrm$EventHandler;
-Landroid/media/MediaDrm$EventHandler;-><init>(Landroid/media/MediaDrm;Landroid/os/Looper;)V
-Landroid/media/MediaDrm$EventHandler;->mMediaDrm:Landroid/media/MediaDrm;
-Landroid/media/MediaDrm$KeyRequest$RequestType;
-Landroid/media/MediaDrm$KeyRequest;-><init>()V
-Landroid/media/MediaDrm$KeyRequest;->mData:[B
-Landroid/media/MediaDrm$KeyRequest;->mDefaultUrl:Ljava/lang/String;
-Landroid/media/MediaDrm$KeyRequest;->mRequestType:I
-Landroid/media/MediaDrm$KeyStatus$KeyStatusCode;
-Landroid/media/MediaDrm$KeyStatus;-><init>([BI)V
-Landroid/media/MediaDrm$KeyStatus;->mKeyId:[B
-Landroid/media/MediaDrm$KeyStatus;->mStatusCode:I
-Landroid/media/MediaDrm$KeyType;
-Landroid/media/MediaDrm$MediaDrmStateException;-><init>(ILjava/lang/String;)V
-Landroid/media/MediaDrm$MediaDrmStateException;->getErrorCode()I
-Landroid/media/MediaDrm$MediaDrmStateException;->mDiagnosticInfo:Ljava/lang/String;
-Landroid/media/MediaDrm$MediaDrmStateException;->mErrorCode:I
-Landroid/media/MediaDrm$MetricsConstants;-><init>()V
-Landroid/media/MediaDrm$ProvisionRequest;-><init>()V
-Landroid/media/MediaDrm$ProvisionRequest;->mData:[B
-Landroid/media/MediaDrm$ProvisionRequest;->mDefaultUrl:Ljava/lang/String;
-Landroid/media/MediaDrm$StringProperty;
-Landroid/media/MediaDrm;->CERTIFICATE_TYPE_NONE:I
-Landroid/media/MediaDrm;->CERTIFICATE_TYPE_X509:I
-Landroid/media/MediaDrm;->decryptNative(Landroid/media/MediaDrm;[B[B[B[B)[B
-Landroid/media/MediaDrm;->DRM_EVENT:I
-Landroid/media/MediaDrm;->encryptNative(Landroid/media/MediaDrm;[B[B[B[B)[B
-Landroid/media/MediaDrm;->EXPIRATION_UPDATE:I
-Landroid/media/MediaDrm;->getByteArrayFromUUID(Ljava/util/UUID;)[B
-Landroid/media/MediaDrm;->getMetricsNative()Landroid/os/PersistableBundle;
-Landroid/media/MediaDrm;->getProvisionRequestNative(ILjava/lang/String;)Landroid/media/MediaDrm$ProvisionRequest;
-Landroid/media/MediaDrm;->isCryptoSchemeSupportedNative([BLjava/lang/String;)Z
-Landroid/media/MediaDrm;->keyStatusListFromParcel(Landroid/os/Parcel;)Ljava/util/List;
-Landroid/media/MediaDrm;->KEY_STATUS_CHANGE:I
-Landroid/media/MediaDrm;->mClosed:Ljava/util/concurrent/atomic/AtomicBoolean;
-Landroid/media/MediaDrm;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/media/MediaDrm;->mEventHandler:Landroid/media/MediaDrm$EventHandler;
-Landroid/media/MediaDrm;->mNativeContext:J
-Landroid/media/MediaDrm;->mOnEventListener:Landroid/media/MediaDrm$OnEventListener;
-Landroid/media/MediaDrm;->mOnExpirationUpdateEventHandler:Landroid/media/MediaDrm$EventHandler;
-Landroid/media/MediaDrm;->mOnExpirationUpdateListener:Landroid/media/MediaDrm$OnExpirationUpdateListener;
-Landroid/media/MediaDrm;->mOnKeyStatusChangeEventHandler:Landroid/media/MediaDrm$EventHandler;
-Landroid/media/MediaDrm;->mOnKeyStatusChangeListener:Landroid/media/MediaDrm$OnKeyStatusChangeListener;
-Landroid/media/MediaDrm;->native_init()V
-Landroid/media/MediaDrm;->native_release()V
-Landroid/media/MediaDrm;->native_setup(Ljava/lang/Object;[BLjava/lang/String;)V
-Landroid/media/MediaDrm;->PERMISSION:Ljava/lang/String;
-Landroid/media/MediaDrm;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
-Landroid/media/MediaDrm;->provideProvisionResponseNative([B)Landroid/media/MediaDrm$Certificate;
-Landroid/media/MediaDrm;->SECURITY_LEVEL_MAX:I
-Landroid/media/MediaDrm;->setCipherAlgorithmNative(Landroid/media/MediaDrm;[BLjava/lang/String;)V
-Landroid/media/MediaDrm;->setMacAlgorithmNative(Landroid/media/MediaDrm;[BLjava/lang/String;)V
-Landroid/media/MediaDrm;->signNative(Landroid/media/MediaDrm;[B[B[B)[B
-Landroid/media/MediaDrm;->signRSANative(Landroid/media/MediaDrm;[BLjava/lang/String;[B[B)[B
-Landroid/media/MediaDrm;->TAG:Ljava/lang/String;
-Landroid/media/MediaDrm;->verifyNative(Landroid/media/MediaDrm;[B[B[B[B)Z
-Landroid/media/MediaExtractor$CasInfo;-><init>(ILandroid/media/MediaCas$Session;)V
-Landroid/media/MediaExtractor$CasInfo;->mSession:Landroid/media/MediaCas$Session;
-Landroid/media/MediaExtractor$CasInfo;->mSystemId:I
-Landroid/media/MediaExtractor$MetricsConstants;-><init>()V
-Landroid/media/MediaExtractor$SampleFlag;
-Landroid/media/MediaExtractor$SeekMode;
-Landroid/media/MediaExtractor;->getFileFormatNative()Ljava/util/Map;
-Landroid/media/MediaExtractor;->getTrackFormatNative(I)Ljava/util/Map;
-Landroid/media/MediaExtractor;->mMediaCas:Landroid/media/MediaCas;
-Landroid/media/MediaExtractor;->mNativeContext:J
-Landroid/media/MediaExtractor;->nativeSetDataSource(Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/media/MediaExtractor;->nativeSetMediaCas(Landroid/os/IHwBinder;)V
-Landroid/media/MediaExtractor;->native_finalize()V
-Landroid/media/MediaExtractor;->native_getMetrics()Landroid/os/PersistableBundle;
-Landroid/media/MediaExtractor;->native_init()V
-Landroid/media/MediaExtractor;->native_setup()V
-Landroid/media/MediaExtractor;->toByteArray([B)Ljava/util/ArrayList;
-Landroid/media/MediaFile$MediaFileType;
-Landroid/media/MediaFile$MediaFileType;-><init>(ILjava/lang/String;)V
-Landroid/media/MediaFile;
-Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;IZ)V
-Landroid/media/MediaFile;->FILE_TYPE_3GPP2:I
-Landroid/media/MediaFile;->FILE_TYPE_3GPP:I
-Landroid/media/MediaFile;->FILE_TYPE_AAC:I
-Landroid/media/MediaFile;->FILE_TYPE_AMR:I
-Landroid/media/MediaFile;->FILE_TYPE_ARW:I
-Landroid/media/MediaFile;->FILE_TYPE_ASF:I
-Landroid/media/MediaFile;->FILE_TYPE_AVI:I
-Landroid/media/MediaFile;->FILE_TYPE_AWB:I
-Landroid/media/MediaFile;->FILE_TYPE_BMP:I
-Landroid/media/MediaFile;->FILE_TYPE_CR2:I
-Landroid/media/MediaFile;->FILE_TYPE_DNG:I
-Landroid/media/MediaFile;->FILE_TYPE_FL:I
-Landroid/media/MediaFile;->FILE_TYPE_FLAC:I
-Landroid/media/MediaFile;->FILE_TYPE_GIF:I
-Landroid/media/MediaFile;->FILE_TYPE_HEIF:I
-Landroid/media/MediaFile;->FILE_TYPE_HTML:I
-Landroid/media/MediaFile;->FILE_TYPE_HTTPLIVE:I
-Landroid/media/MediaFile;->FILE_TYPE_IMY:I
-Landroid/media/MediaFile;->FILE_TYPE_JPEG:I
-Landroid/media/MediaFile;->FILE_TYPE_M3U:I
-Landroid/media/MediaFile;->FILE_TYPE_M4A:I
-Landroid/media/MediaFile;->FILE_TYPE_M4V:I
-Landroid/media/MediaFile;->FILE_TYPE_MID:I
-Landroid/media/MediaFile;->FILE_TYPE_MKA:I
-Landroid/media/MediaFile;->FILE_TYPE_MKV:I
-Landroid/media/MediaFile;->FILE_TYPE_MP2PS:I
-Landroid/media/MediaFile;->FILE_TYPE_MP2TS:I
-Landroid/media/MediaFile;->FILE_TYPE_MP3:I
-Landroid/media/MediaFile;->FILE_TYPE_MP4:I
-Landroid/media/MediaFile;->FILE_TYPE_MS_EXCEL:I
-Landroid/media/MediaFile;->FILE_TYPE_MS_POWERPOINT:I
-Landroid/media/MediaFile;->FILE_TYPE_MS_WORD:I
-Landroid/media/MediaFile;->FILE_TYPE_NEF:I
-Landroid/media/MediaFile;->FILE_TYPE_NRW:I
-Landroid/media/MediaFile;->FILE_TYPE_OGG:I
-Landroid/media/MediaFile;->FILE_TYPE_ORF:I
-Landroid/media/MediaFile;->FILE_TYPE_PDF:I
-Landroid/media/MediaFile;->FILE_TYPE_PEF:I
-Landroid/media/MediaFile;->FILE_TYPE_PLS:I
-Landroid/media/MediaFile;->FILE_TYPE_PNG:I
-Landroid/media/MediaFile;->FILE_TYPE_QT:I
-Landroid/media/MediaFile;->FILE_TYPE_RAF:I
-Landroid/media/MediaFile;->FILE_TYPE_RW2:I
-Landroid/media/MediaFile;->FILE_TYPE_SMF:I
-Landroid/media/MediaFile;->FILE_TYPE_SRW:I
-Landroid/media/MediaFile;->FILE_TYPE_TEXT:I
-Landroid/media/MediaFile;->FILE_TYPE_WAV:I
-Landroid/media/MediaFile;->FILE_TYPE_WBMP:I
-Landroid/media/MediaFile;->FILE_TYPE_WEBM:I
-Landroid/media/MediaFile;->FILE_TYPE_WEBP:I
-Landroid/media/MediaFile;->FILE_TYPE_WMA:I
-Landroid/media/MediaFile;->FILE_TYPE_WMV:I
-Landroid/media/MediaFile;->FILE_TYPE_WPL:I
-Landroid/media/MediaFile;->FILE_TYPE_XML:I
-Landroid/media/MediaFile;->FILE_TYPE_ZIP:I
-Landroid/media/MediaFile;->FIRST_DRM_FILE_TYPE:I
-Landroid/media/MediaFile;->FIRST_IMAGE_FILE_TYPE:I
-Landroid/media/MediaFile;->FIRST_MIDI_FILE_TYPE:I
-Landroid/media/MediaFile;->FIRST_PLAYLIST_FILE_TYPE:I
-Landroid/media/MediaFile;->FIRST_RAW_IMAGE_FILE_TYPE:I
-Landroid/media/MediaFile;->FIRST_VIDEO_FILE_TYPE2:I
-Landroid/media/MediaFile;->FIRST_VIDEO_FILE_TYPE:I
-Landroid/media/MediaFile;->getFormatCode(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/media/MediaFile;->getMimeTypeForFormatCode(I)Ljava/lang/String;
-Landroid/media/MediaFile;->isMimeTypeMedia(Ljava/lang/String;)Z
-Landroid/media/MediaFile;->isRawImageFileType(I)Z
-Landroid/media/MediaFile;->isWMAEnabled()Z
-Landroid/media/MediaFile;->isWMVEnabled()Z
-Landroid/media/MediaFile;->LAST_DRM_FILE_TYPE:I
-Landroid/media/MediaFile;->LAST_IMAGE_FILE_TYPE:I
-Landroid/media/MediaFile;->LAST_MIDI_FILE_TYPE:I
-Landroid/media/MediaFile;->LAST_PLAYLIST_FILE_TYPE:I
-Landroid/media/MediaFile;->LAST_RAW_IMAGE_FILE_TYPE:I
-Landroid/media/MediaFile;->LAST_VIDEO_FILE_TYPE2:I
-Landroid/media/MediaFile;->LAST_VIDEO_FILE_TYPE:I
-Landroid/media/MediaFile;->sMimeTypeMap:Ljava/util/HashMap;
-Landroid/media/MediaFormat$ColorRange;
-Landroid/media/MediaFormat$ColorStandard;
-Landroid/media/MediaFormat$ColorTransfer;
-Landroid/media/MediaFormat;-><init>(Ljava/util/Map;)V
-Landroid/media/MediaFormat;->getInteger(Ljava/lang/String;I)I
-Landroid/media/MediaFormat;->KEY_CA_SESSION_ID:Ljava/lang/String;
-Landroid/media/MediaFormat;->KEY_CA_SYSTEM_ID:Ljava/lang/String;
-Landroid/media/MediaFormat;->KEY_FEATURE_:Ljava/lang/String;
-Landroid/media/MediaFormat;->KEY_IS_TIMED_TEXT:Ljava/lang/String;
-Landroid/media/MediaFormat;->KEY_MAX_BIT_RATE:Ljava/lang/String;
-Landroid/media/MediaHTTPConnection;
-Landroid/media/MediaHTTPConnection;->CONNECT_TIMEOUT_MS:I
-Landroid/media/MediaHTTPConnection;->convertHeaderStringToMap(Ljava/lang/String;)Ljava/util/Map;
-Landroid/media/MediaHTTPConnection;->filterOutInternalHeaders(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/media/MediaHTTPConnection;->getSize()J
-Landroid/media/MediaHTTPConnection;->HTTP_TEMP_REDIRECT:I
-Landroid/media/MediaHTTPConnection;->isLocalHost(Ljava/net/URL;)Z
-Landroid/media/MediaHTTPConnection;->MAX_REDIRECTS:I
-Landroid/media/MediaHTTPConnection;->mInputStream:Ljava/io/InputStream;
-Landroid/media/MediaHTTPConnection;->mNativeContext:J
-Landroid/media/MediaHTTPConnection;->native_finalize()V
-Landroid/media/MediaHTTPConnection;->native_getIMemory()Landroid/os/IBinder;
-Landroid/media/MediaHTTPConnection;->native_init()V
-Landroid/media/MediaHTTPConnection;->native_readAt(JI)I
-Landroid/media/MediaHTTPConnection;->native_setup()V
-Landroid/media/MediaHTTPConnection;->parseBoolean(Ljava/lang/String;)Z
-Landroid/media/MediaHTTPConnection;->readAt(J[BI)I
-Landroid/media/MediaHTTPConnection;->seekTo(J)V
-Landroid/media/MediaHTTPConnection;->TAG:Ljava/lang/String;
-Landroid/media/MediaHTTPConnection;->teardownConnection()V
-Landroid/media/MediaHTTPConnection;->VERBOSE:Z
-Landroid/media/MediaHTTPService;
-Landroid/media/MediaHTTPService;-><init>(Ljava/util/List;)V
-Landroid/media/MediaHTTPService;->createHttpServiceBinderIfNecessary(Ljava/lang/String;Ljava/util/List;)Landroid/os/IBinder;
-Landroid/media/MediaHTTPService;->makeHTTPConnection()Landroid/media/IMediaHTTPConnection;
-Landroid/media/MediaHTTPService;->mCookies:Ljava/util/List;
-Landroid/media/MediaHTTPService;->mCookieStoreInitialized:Ljava/lang/Boolean;
-Landroid/media/MediaHTTPService;->TAG:Ljava/lang/String;
-Landroid/media/MediaInserter;
-Landroid/media/MediaInserter;-><init>(Landroid/content/ContentProviderClient;I)V
-Landroid/media/MediaInserter;->flush(Landroid/net/Uri;Ljava/util/List;)V
-Landroid/media/MediaInserter;->flushAllPriority()V
-Landroid/media/MediaInserter;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)V
-Landroid/media/MediaInserter;->insert(Landroid/net/Uri;Landroid/content/ContentValues;Z)V
-Landroid/media/MediaInserter;->insertwithPriority(Landroid/net/Uri;Landroid/content/ContentValues;)V
-Landroid/media/MediaInserter;->mBufferSizePerUri:I
-Landroid/media/MediaInserter;->mPriorityRowMap:Ljava/util/HashMap;
-Landroid/media/MediaInserter;->mProvider:Landroid/content/ContentProviderClient;
-Landroid/media/MediaInserter;->mRowMap:Ljava/util/HashMap;
-Landroid/media/MediaItem2$Builder;
-Landroid/media/MediaItem2$Builder;-><init>(I)V
-Landroid/media/MediaItem2$Builder;->build()Landroid/media/MediaItem2;
-Landroid/media/MediaItem2$Builder;->mProvider:Landroid/media/update/MediaItem2Provider$BuilderProvider;
-Landroid/media/MediaItem2$Builder;->setDataSourceDesc(Landroid/media/DataSourceDesc;)Landroid/media/MediaItem2$Builder;
-Landroid/media/MediaItem2$Builder;->setMediaId(Ljava/lang/String;)Landroid/media/MediaItem2$Builder;
-Landroid/media/MediaItem2$Builder;->setMetadata(Landroid/media/MediaMetadata2;)Landroid/media/MediaItem2$Builder;
-Landroid/media/MediaItem2$Flags;
-Landroid/media/MediaItem2;
-Landroid/media/MediaItem2;-><init>(Landroid/media/update/MediaItem2Provider;)V
-Landroid/media/MediaItem2;->FLAG_BROWSABLE:I
-Landroid/media/MediaItem2;->FLAG_PLAYABLE:I
-Landroid/media/MediaItem2;->fromBundle(Landroid/os/Bundle;)Landroid/media/MediaItem2;
-Landroid/media/MediaItem2;->getDataSourceDesc()Landroid/media/DataSourceDesc;
-Landroid/media/MediaItem2;->getFlags()I
-Landroid/media/MediaItem2;->getMediaId()Ljava/lang/String;
-Landroid/media/MediaItem2;->getMetadata()Landroid/media/MediaMetadata2;
-Landroid/media/MediaItem2;->getProvider()Landroid/media/update/MediaItem2Provider;
-Landroid/media/MediaItem2;->isBrowsable()Z
-Landroid/media/MediaItem2;->isPlayable()Z
-Landroid/media/MediaItem2;->mProvider:Landroid/media/update/MediaItem2Provider;
-Landroid/media/MediaItem2;->setMetadata(Landroid/media/MediaMetadata2;)V
-Landroid/media/MediaItem2;->toBundle()Landroid/os/Bundle;
-Landroid/media/MediaLibraryService2$LibraryRoot;
-Landroid/media/MediaLibraryService2$LibraryRoot;-><init>(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/MediaLibraryService2$LibraryRoot;->EXTRA_OFFLINE:Ljava/lang/String;
-Landroid/media/MediaLibraryService2$LibraryRoot;->EXTRA_RECENT:Ljava/lang/String;
-Landroid/media/MediaLibraryService2$LibraryRoot;->EXTRA_SUGGESTED:Ljava/lang/String;
-Landroid/media/MediaLibraryService2$LibraryRoot;->getExtras()Landroid/os/Bundle;
-Landroid/media/MediaLibraryService2$LibraryRoot;->getRootId()Ljava/lang/String;
-Landroid/media/MediaLibraryService2$LibraryRoot;->mProvider:Landroid/media/update/MediaLibraryService2Provider$LibraryRootProvider;
-Landroid/media/MediaLibraryService2$MediaLibrarySession$Builder;
-Landroid/media/MediaLibraryService2$MediaLibrarySession$Builder;-><init>(Landroid/media/MediaLibraryService2;Ljava/util/concurrent/Executor;Landroid/media/MediaLibraryService2$MediaLibrarySession$MediaLibrarySessionCallback;)V
-Landroid/media/MediaLibraryService2$MediaLibrarySession$Builder;->build()Landroid/media/MediaLibraryService2$MediaLibrarySession;
-Landroid/media/MediaLibraryService2$MediaLibrarySession$Builder;->setId(Ljava/lang/String;)Landroid/media/MediaLibraryService2$MediaLibrarySession$Builder;
-Landroid/media/MediaLibraryService2$MediaLibrarySession$Builder;->setPlayer(Landroid/media/MediaPlayerBase;)Landroid/media/MediaLibraryService2$MediaLibrarySession$Builder;
-Landroid/media/MediaLibraryService2$MediaLibrarySession$Builder;->setPlaylistAgent(Landroid/media/MediaPlaylistAgent;)Landroid/media/MediaLibraryService2$MediaLibrarySession$Builder;
-Landroid/media/MediaLibraryService2$MediaLibrarySession$Builder;->setSessionActivity(Landroid/app/PendingIntent;)Landroid/media/MediaLibraryService2$MediaLibrarySession$Builder;
-Landroid/media/MediaLibraryService2$MediaLibrarySession$Builder;->setSessionCallback(Ljava/util/concurrent/Executor;Landroid/media/MediaLibraryService2$MediaLibrarySession$MediaLibrarySessionCallback;)Landroid/media/MediaLibraryService2$MediaLibrarySession$Builder;
-Landroid/media/MediaLibraryService2$MediaLibrarySession$Builder;->setVolumeProvider(Landroid/media/VolumeProvider2;)Landroid/media/MediaLibraryService2$MediaLibrarySession$Builder;
-Landroid/media/MediaLibraryService2$MediaLibrarySession$MediaLibrarySessionCallback;
-Landroid/media/MediaLibraryService2$MediaLibrarySession$MediaLibrarySessionCallback;-><init>()V
-Landroid/media/MediaLibraryService2$MediaLibrarySession$MediaLibrarySessionCallback;->onGetChildren(Landroid/media/MediaLibraryService2$MediaLibrarySession;Landroid/media/MediaSession2$ControllerInfo;Ljava/lang/String;IILandroid/os/Bundle;)Ljava/util/List;
-Landroid/media/MediaLibraryService2$MediaLibrarySession$MediaLibrarySessionCallback;->onGetItem(Landroid/media/MediaLibraryService2$MediaLibrarySession;Landroid/media/MediaSession2$ControllerInfo;Ljava/lang/String;)Landroid/media/MediaItem2;
-Landroid/media/MediaLibraryService2$MediaLibrarySession$MediaLibrarySessionCallback;->onGetLibraryRoot(Landroid/media/MediaLibraryService2$MediaLibrarySession;Landroid/media/MediaSession2$ControllerInfo;Landroid/os/Bundle;)Landroid/media/MediaLibraryService2$LibraryRoot;
-Landroid/media/MediaLibraryService2$MediaLibrarySession$MediaLibrarySessionCallback;->onGetSearchResult(Landroid/media/MediaLibraryService2$MediaLibrarySession;Landroid/media/MediaSession2$ControllerInfo;Ljava/lang/String;IILandroid/os/Bundle;)Ljava/util/List;
-Landroid/media/MediaLibraryService2$MediaLibrarySession$MediaLibrarySessionCallback;->onSearch(Landroid/media/MediaLibraryService2$MediaLibrarySession;Landroid/media/MediaSession2$ControllerInfo;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/MediaLibraryService2$MediaLibrarySession$MediaLibrarySessionCallback;->onSubscribe(Landroid/media/MediaLibraryService2$MediaLibrarySession;Landroid/media/MediaSession2$ControllerInfo;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/MediaLibraryService2$MediaLibrarySession$MediaLibrarySessionCallback;->onUnsubscribe(Landroid/media/MediaLibraryService2$MediaLibrarySession;Landroid/media/MediaSession2$ControllerInfo;Ljava/lang/String;)V
-Landroid/media/MediaLibraryService2$MediaLibrarySession;
-Landroid/media/MediaLibraryService2$MediaLibrarySession;-><init>(Landroid/media/update/MediaLibraryService2Provider$MediaLibrarySessionProvider;)V
-Landroid/media/MediaLibraryService2$MediaLibrarySession;->mProvider:Landroid/media/update/MediaLibraryService2Provider$MediaLibrarySessionProvider;
-Landroid/media/MediaLibraryService2$MediaLibrarySession;->notifyChildrenChanged(Landroid/media/MediaSession2$ControllerInfo;Ljava/lang/String;ILandroid/os/Bundle;)V
-Landroid/media/MediaLibraryService2$MediaLibrarySession;->notifyChildrenChanged(Ljava/lang/String;ILandroid/os/Bundle;)V
-Landroid/media/MediaLibraryService2$MediaLibrarySession;->notifySearchResultChanged(Landroid/media/MediaSession2$ControllerInfo;Ljava/lang/String;ILandroid/os/Bundle;)V
-Landroid/media/MediaLibraryService2;
-Landroid/media/MediaLibraryService2;-><init>()V
-Landroid/media/MediaLibraryService2;->createProvider()Landroid/media/update/MediaSessionService2Provider;
-Landroid/media/MediaLibraryService2;->onCreateSession(Ljava/lang/String;)Landroid/media/MediaLibraryService2$MediaLibrarySession;
-Landroid/media/MediaLibraryService2;->SERVICE_INTERFACE:Ljava/lang/String;
-Landroid/media/MediaMetadata$BitmapKey;
-Landroid/media/MediaMetadata$Builder;-><init>(Landroid/media/MediaMetadata;I)V
-Landroid/media/MediaMetadata$Builder;->mBundle:Landroid/os/Bundle;
-Landroid/media/MediaMetadata$Builder;->scaleBitmap(Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
-Landroid/media/MediaMetadata$LongKey;
-Landroid/media/MediaMetadata$RatingKey;
-Landroid/media/MediaMetadata$TextKey;
-Landroid/media/MediaMetadata2$BitmapKey;
-Landroid/media/MediaMetadata2$Builder;
-Landroid/media/MediaMetadata2$Builder;-><init>()V
-Landroid/media/MediaMetadata2$Builder;-><init>(Landroid/media/MediaMetadata2;)V
-Landroid/media/MediaMetadata2$Builder;-><init>(Landroid/media/update/MediaMetadata2Provider$BuilderProvider;)V
-Landroid/media/MediaMetadata2$Builder;->build()Landroid/media/MediaMetadata2;
-Landroid/media/MediaMetadata2$Builder;->mProvider:Landroid/media/update/MediaMetadata2Provider$BuilderProvider;
-Landroid/media/MediaMetadata2$Builder;->putBitmap(Ljava/lang/String;Landroid/graphics/Bitmap;)Landroid/media/MediaMetadata2$Builder;
-Landroid/media/MediaMetadata2$Builder;->putFloat(Ljava/lang/String;F)Landroid/media/MediaMetadata2$Builder;
-Landroid/media/MediaMetadata2$Builder;->putLong(Ljava/lang/String;J)Landroid/media/MediaMetadata2$Builder;
-Landroid/media/MediaMetadata2$Builder;->putRating(Ljava/lang/String;Landroid/media/Rating2;)Landroid/media/MediaMetadata2$Builder;
-Landroid/media/MediaMetadata2$Builder;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/media/MediaMetadata2$Builder;
-Landroid/media/MediaMetadata2$Builder;->putText(Ljava/lang/String;Ljava/lang/CharSequence;)Landroid/media/MediaMetadata2$Builder;
-Landroid/media/MediaMetadata2$Builder;->setExtras(Landroid/os/Bundle;)Landroid/media/MediaMetadata2$Builder;
-Landroid/media/MediaMetadata2$FloatKey;
-Landroid/media/MediaMetadata2$LongKey;
-Landroid/media/MediaMetadata2$RatingKey;
-Landroid/media/MediaMetadata2$TextKey;
-Landroid/media/MediaMetadata2;
-Landroid/media/MediaMetadata2;-><init>(Landroid/media/update/MediaMetadata2Provider;)V
-Landroid/media/MediaMetadata2;->BT_FOLDER_TYPE_ALBUMS:J
-Landroid/media/MediaMetadata2;->BT_FOLDER_TYPE_ARTISTS:J
-Landroid/media/MediaMetadata2;->BT_FOLDER_TYPE_GENRES:J
-Landroid/media/MediaMetadata2;->BT_FOLDER_TYPE_MIXED:J
-Landroid/media/MediaMetadata2;->BT_FOLDER_TYPE_PLAYLISTS:J
-Landroid/media/MediaMetadata2;->BT_FOLDER_TYPE_TITLES:J
-Landroid/media/MediaMetadata2;->BT_FOLDER_TYPE_YEARS:J
-Landroid/media/MediaMetadata2;->containsKey(Ljava/lang/String;)Z
-Landroid/media/MediaMetadata2;->fromBundle(Landroid/os/Bundle;)Landroid/media/MediaMetadata2;
-Landroid/media/MediaMetadata2;->getBitmap(Ljava/lang/String;)Landroid/graphics/Bitmap;
-Landroid/media/MediaMetadata2;->getExtras()Landroid/os/Bundle;
-Landroid/media/MediaMetadata2;->getFloat(Ljava/lang/String;)F
-Landroid/media/MediaMetadata2;->getLong(Ljava/lang/String;)J
-Landroid/media/MediaMetadata2;->getMediaId()Ljava/lang/String;
-Landroid/media/MediaMetadata2;->getRating(Ljava/lang/String;)Landroid/media/Rating2;
-Landroid/media/MediaMetadata2;->getString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/media/MediaMetadata2;->getText(Ljava/lang/String;)Ljava/lang/CharSequence;
-Landroid/media/MediaMetadata2;->keySet()Ljava/util/Set;
-Landroid/media/MediaMetadata2;->METADATA_KEY_ADVERTISEMENT:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_ALBUM:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_ALBUM_ART:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_ALBUM_ARTIST:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_ALBUM_ART_URI:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_ART:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_ARTIST:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_ART_URI:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_AUTHOR:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_BT_FOLDER_TYPE:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_COMPILATION:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_COMPOSER:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_DATE:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_DISC_NUMBER:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_DISPLAY_DESCRIPTION:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_DISPLAY_ICON:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_DISPLAY_ICON_URI:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_DISPLAY_SUBTITLE:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_DISPLAY_TITLE:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_DOWNLOAD_STATUS:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_DURATION:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_EXTRAS:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_GENRE:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_MEDIA_ID:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_MEDIA_URI:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_NUM_TRACKS:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_RATING:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_TITLE:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_TRACK_NUMBER:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_USER_RATING:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_WRITER:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->METADATA_KEY_YEAR:Ljava/lang/String;
-Landroid/media/MediaMetadata2;->mProvider:Landroid/media/update/MediaMetadata2Provider;
-Landroid/media/MediaMetadata2;->size()I
-Landroid/media/MediaMetadata2;->STATUS_DOWNLOADED:J
-Landroid/media/MediaMetadata2;->STATUS_DOWNLOADING:J
-Landroid/media/MediaMetadata2;->STATUS_NOT_DOWNLOADED:J
-Landroid/media/MediaMetadata2;->toBundle()Landroid/os/Bundle;
-Landroid/media/MediaMetadata;-><init>(Landroid/os/Bundle;)V
-Landroid/media/MediaMetadata;-><init>(Landroid/os/Parcel;)V
-Landroid/media/MediaMetadata;->EDITOR_KEY_MAPPING:Landroid/util/SparseArray;
-Landroid/media/MediaMetadata;->mBundle:Landroid/os/Bundle;
-Landroid/media/MediaMetadata;->mDescription:Landroid/media/MediaDescription;
-Landroid/media/MediaMetadata;->METADATA_KEYS_TYPE:Landroid/util/ArrayMap;
-Landroid/media/MediaMetadata;->METADATA_TYPE_BITMAP:I
-Landroid/media/MediaMetadata;->METADATA_TYPE_INVALID:I
-Landroid/media/MediaMetadata;->METADATA_TYPE_LONG:I
-Landroid/media/MediaMetadata;->METADATA_TYPE_RATING:I
-Landroid/media/MediaMetadata;->METADATA_TYPE_TEXT:I
-Landroid/media/MediaMetadata;->PREFERRED_BITMAP_ORDER:[Ljava/lang/String;
-Landroid/media/MediaMetadata;->PREFERRED_DESCRIPTION_ORDER:[Ljava/lang/String;
-Landroid/media/MediaMetadata;->PREFERRED_URI_ORDER:[Ljava/lang/String;
-Landroid/media/MediaMetadata;->TAG:Ljava/lang/String;
-Landroid/media/MediaMetadataEditor;-><init>()V
-Landroid/media/MediaMetadataEditor;->KEY_EDITABLE_MASK:I
-Landroid/media/MediaMetadataEditor;->mApplied:Z
-Landroid/media/MediaMetadataEditor;->mArtworkChanged:Z
-Landroid/media/MediaMetadataEditor;->mEditableKeys:J
-Landroid/media/MediaMetadataEditor;->mEditorArtwork:Landroid/graphics/Bitmap;
-Landroid/media/MediaMetadataEditor;->mEditorMetadata:Landroid/os/Bundle;
-Landroid/media/MediaMetadataEditor;->METADATA_KEYS_TYPE:Landroid/util/SparseIntArray;
-Landroid/media/MediaMetadataEditor;->METADATA_TYPE_BITMAP:I
-Landroid/media/MediaMetadataEditor;->METADATA_TYPE_INVALID:I
-Landroid/media/MediaMetadataEditor;->METADATA_TYPE_LONG:I
-Landroid/media/MediaMetadataEditor;->METADATA_TYPE_RATING:I
-Landroid/media/MediaMetadataEditor;->METADATA_TYPE_STRING:I
-Landroid/media/MediaMetadataEditor;->mMetadataBuilder:Landroid/media/MediaMetadata$Builder;
-Landroid/media/MediaMetadataEditor;->mMetadataChanged:Z
-Landroid/media/MediaMetadataEditor;->TAG:Ljava/lang/String;
-Landroid/media/MediaMetadataRetriever$BitmapParams;->inPreferredConfig:Landroid/graphics/Bitmap$Config;
-Landroid/media/MediaMetadataRetriever$BitmapParams;->outActualConfig:Landroid/graphics/Bitmap$Config;
-Landroid/media/MediaMetadataRetriever$Option;
-Landroid/media/MediaMetadataRetriever;->EMBEDDED_PICTURE_TYPE_ANY:I
-Landroid/media/MediaMetadataRetriever;->getFramesAtIndexInternal(IILandroid/media/MediaMetadataRetriever$BitmapParams;)Ljava/util/List;
-Landroid/media/MediaMetadataRetriever;->getImageAtIndexInternal(ILandroid/media/MediaMetadataRetriever$BitmapParams;)Landroid/graphics/Bitmap;
-Landroid/media/MediaMetadataRetriever;->getThumbnailImageAtIndex(ILandroid/media/MediaMetadataRetriever$BitmapParams;II)Landroid/graphics/Bitmap;
-Landroid/media/MediaMetadataRetriever;->METADATA_KEY_EXIF_LENGTH:I
-Landroid/media/MediaMetadataRetriever;->METADATA_KEY_EXIF_OFFSET:I
-Landroid/media/MediaMetadataRetriever;->METADATA_KEY_IS_DRM:I
-Landroid/media/MediaMetadataRetriever;->METADATA_KEY_TIMED_TEXT_LANGUAGES:I
-Landroid/media/MediaMetadataRetriever;->mNativeContext:J
-Landroid/media/MediaMetadataRetriever;->_getFrameAtIndex(IILandroid/media/MediaMetadataRetriever$BitmapParams;)Ljava/util/List;
-Landroid/media/MediaMetadataRetriever;->_getFrameAtTime(JIII)Landroid/graphics/Bitmap;
-Landroid/media/MediaMetadataRetriever;->_getImageAtIndex(ILandroid/media/MediaMetadataRetriever$BitmapParams;)Landroid/graphics/Bitmap;
-Landroid/media/MediaMetadataRetriever;->_setDataSource(Landroid/media/MediaDataSource;)V
-Landroid/media/MediaMetadataRetriever;->_setDataSource(Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/media/MediaMuxer$Format;
-Landroid/media/MediaMuxer$OutputFormat;-><init>()V
-Landroid/media/MediaMuxer$OutputFormat;->MUXER_OUTPUT_FIRST:I
-Landroid/media/MediaMuxer$OutputFormat;->MUXER_OUTPUT_LAST:I
-Landroid/media/MediaMuxer;->mLastTrackIndex:I
-Landroid/media/MediaMuxer;->MUXER_STATE_INITIALIZED:I
-Landroid/media/MediaMuxer;->nativeAddTrack(J[Ljava/lang/String;[Ljava/lang/Object;)I
-Landroid/media/MediaMuxer;->nativeSetLocation(JII)V
-Landroid/media/MediaMuxer;->nativeSetOrientationHint(JI)V
-Landroid/media/MediaMuxer;->nativeStart(J)V
-Landroid/media/MediaMuxer;->nativeStop(J)V
-Landroid/media/MediaMuxer;->nativeWriteSampleData(JILjava/nio/ByteBuffer;IIJI)V
-Landroid/media/MediaMuxer;->setUpMediaMuxer(Ljava/io/FileDescriptor;I)V
-Landroid/media/MediaPlayer$DrmInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/media/MediaPlayer$DrmInfo;-><init>(Ljava/util/Map;[Ljava/util/UUID;)V
-Landroid/media/MediaPlayer$DrmInfo;->arrToHex([B)Ljava/lang/String;
-Landroid/media/MediaPlayer$DrmInfo;->bytesToUUID([B)Ljava/util/UUID;
-Landroid/media/MediaPlayer$DrmInfo;->makeCopy()Landroid/media/MediaPlayer$DrmInfo;
-Landroid/media/MediaPlayer$DrmInfo;->mapPssh:Ljava/util/Map;
-Landroid/media/MediaPlayer$DrmInfo;->parsePSSH([BI)Ljava/util/Map;
-Landroid/media/MediaPlayer$DrmInfo;->supportedSchemes:[Ljava/util/UUID;
-Landroid/media/MediaPlayer$EventHandler;
-Landroid/media/MediaPlayer$EventHandler;-><init>(Landroid/media/MediaPlayer;Landroid/os/Looper;)V
-Landroid/media/MediaPlayer$EventHandler;->mMediaPlayer:Landroid/media/MediaPlayer;
-Landroid/media/MediaPlayer$MetricsConstants;-><init>()V
-Landroid/media/MediaPlayer$OnDrmInfoHandlerDelegate;
-Landroid/media/MediaPlayer$OnDrmInfoHandlerDelegate;-><init>(Landroid/media/MediaPlayer;Landroid/media/MediaPlayer$OnDrmInfoListener;Landroid/os/Handler;)V
-Landroid/media/MediaPlayer$OnDrmInfoHandlerDelegate;->mHandler:Landroid/os/Handler;
-Landroid/media/MediaPlayer$OnDrmInfoHandlerDelegate;->mMediaPlayer:Landroid/media/MediaPlayer;
-Landroid/media/MediaPlayer$OnDrmInfoHandlerDelegate;->mOnDrmInfoListener:Landroid/media/MediaPlayer$OnDrmInfoListener;
-Landroid/media/MediaPlayer$OnDrmInfoHandlerDelegate;->notifyClient(Landroid/media/MediaPlayer$DrmInfo;)V
-Landroid/media/MediaPlayer$OnDrmPreparedHandlerDelegate;
-Landroid/media/MediaPlayer$OnDrmPreparedHandlerDelegate;-><init>(Landroid/media/MediaPlayer;Landroid/media/MediaPlayer$OnDrmPreparedListener;Landroid/os/Handler;)V
-Landroid/media/MediaPlayer$OnDrmPreparedHandlerDelegate;->mHandler:Landroid/os/Handler;
-Landroid/media/MediaPlayer$OnDrmPreparedHandlerDelegate;->mMediaPlayer:Landroid/media/MediaPlayer;
-Landroid/media/MediaPlayer$OnDrmPreparedHandlerDelegate;->mOnDrmPreparedListener:Landroid/media/MediaPlayer$OnDrmPreparedListener;
-Landroid/media/MediaPlayer$OnDrmPreparedHandlerDelegate;->notifyClient(I)V
-Landroid/media/MediaPlayer$PlaybackRateAudioMode;
-Landroid/media/MediaPlayer$PrepareDrmStatusCode;
-Landroid/media/MediaPlayer$ProvisioningThread;
-Landroid/media/MediaPlayer$ProvisioningThread;-><init>()V
-Landroid/media/MediaPlayer$ProvisioningThread;->drmLock:Ljava/lang/Object;
-Landroid/media/MediaPlayer$ProvisioningThread;->finished:Z
-Landroid/media/MediaPlayer$ProvisioningThread;->initialize(Landroid/media/MediaDrm$ProvisionRequest;Ljava/util/UUID;Landroid/media/MediaPlayer;)Landroid/media/MediaPlayer$ProvisioningThread;
-Landroid/media/MediaPlayer$ProvisioningThread;->mediaPlayer:Landroid/media/MediaPlayer;
-Landroid/media/MediaPlayer$ProvisioningThread;->onDrmPreparedHandlerDelegate:Landroid/media/MediaPlayer$OnDrmPreparedHandlerDelegate;
-Landroid/media/MediaPlayer$ProvisioningThread;->status()I
-Landroid/media/MediaPlayer$ProvisioningThread;->status:I
-Landroid/media/MediaPlayer$ProvisioningThread;->TIMEOUT_MS:I
-Landroid/media/MediaPlayer$ProvisioningThread;->urlStr:Ljava/lang/String;
-Landroid/media/MediaPlayer$ProvisioningThread;->uuid:Ljava/util/UUID;
-Landroid/media/MediaPlayer$SeekMode;
-Landroid/media/MediaPlayer$TimeProvider$EventHandler;
-Landroid/media/MediaPlayer$TimeProvider$EventHandler;-><init>(Landroid/os/Looper;)V
-Landroid/media/MediaPlayer$TimeProvider;
-Landroid/media/MediaPlayer$TimeProvider;-><init>(Landroid/media/MediaPlayer;)V
-Landroid/media/MediaPlayer$TimeProvider;->cancelNotifications(Landroid/media/MediaTimeProvider$OnMediaTimeListener;)V
-Landroid/media/MediaPlayer$TimeProvider;->close()V
-Landroid/media/MediaPlayer$TimeProvider;->DEBUG:Z
-Landroid/media/MediaPlayer$TimeProvider;->getCurrentTimeUs(ZZ)J
-Landroid/media/MediaPlayer$TimeProvider;->MAX_EARLY_CALLBACK_US:J
-Landroid/media/MediaPlayer$TimeProvider;->MAX_NS_WITHOUT_POSITION_CHECK:J
-Landroid/media/MediaPlayer$TimeProvider;->mBuffering:Z
-Landroid/media/MediaPlayer$TimeProvider;->mEventHandler:Landroid/os/Handler;
-Landroid/media/MediaPlayer$TimeProvider;->mHandlerThread:Landroid/os/HandlerThread;
-Landroid/media/MediaPlayer$TimeProvider;->mLastReportedTime:J
-Landroid/media/MediaPlayer$TimeProvider;->mLastTimeUs:J
-Landroid/media/MediaPlayer$TimeProvider;->mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
-Landroid/media/MediaPlayer$TimeProvider;->mPaused:Z
-Landroid/media/MediaPlayer$TimeProvider;->mPausing:Z
-Landroid/media/MediaPlayer$TimeProvider;->mPlayer:Landroid/media/MediaPlayer;
-Landroid/media/MediaPlayer$TimeProvider;->mRefresh:Z
-Landroid/media/MediaPlayer$TimeProvider;->mSeeking:Z
-Landroid/media/MediaPlayer$TimeProvider;->mStopped:Z
-Landroid/media/MediaPlayer$TimeProvider;->mTimes:[J
-Landroid/media/MediaPlayer$TimeProvider;->NOTIFY:I
-Landroid/media/MediaPlayer$TimeProvider;->notifyAt(JLandroid/media/MediaTimeProvider$OnMediaTimeListener;)V
-Landroid/media/MediaPlayer$TimeProvider;->notifySeek()V
-Landroid/media/MediaPlayer$TimeProvider;->notifyStop()V
-Landroid/media/MediaPlayer$TimeProvider;->notifyTimedEvent(Z)V
-Landroid/media/MediaPlayer$TimeProvider;->notifyTrackData(Landroid/util/Pair;)V
-Landroid/media/MediaPlayer$TimeProvider;->NOTIFY_SEEK:I
-Landroid/media/MediaPlayer$TimeProvider;->NOTIFY_STOP:I
-Landroid/media/MediaPlayer$TimeProvider;->NOTIFY_TIME:I
-Landroid/media/MediaPlayer$TimeProvider;->NOTIFY_TRACK_DATA:I
-Landroid/media/MediaPlayer$TimeProvider;->onBuffering(Z)V
-Landroid/media/MediaPlayer$TimeProvider;->onNewPlayer()V
-Landroid/media/MediaPlayer$TimeProvider;->onNotifyTime()V
-Landroid/media/MediaPlayer$TimeProvider;->onPaused(Z)V
-Landroid/media/MediaPlayer$TimeProvider;->onStopped()V
-Landroid/media/MediaPlayer$TimeProvider;->registerListener(Landroid/media/MediaTimeProvider$OnMediaTimeListener;)I
-Landroid/media/MediaPlayer$TimeProvider;->scheduleNotification(IJ)V
-Landroid/media/MediaPlayer$TimeProvider;->scheduleUpdate(Landroid/media/MediaTimeProvider$OnMediaTimeListener;)V
-Landroid/media/MediaPlayer$TimeProvider;->TAG:Ljava/lang/String;
-Landroid/media/MediaPlayer$TimeProvider;->TIME_ADJUSTMENT_RATE:J
-Landroid/media/MediaPlayer$TrackInfo$TrackType;
-Landroid/media/MediaPlayer$TrackInfo;-><init>(ILandroid/media/MediaFormat;)V
-Landroid/media/MediaPlayer$TrackInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/media/MediaPlayer$TrackInfo;->mFormat:Landroid/media/MediaFormat;
-Landroid/media/MediaPlayer$TrackInfo;->mTrackType:I
-Landroid/media/MediaPlayer2$CallCompleted;
-Landroid/media/MediaPlayer2$CallStatus;
-Landroid/media/MediaPlayer2$DrmEventCallback;
-Landroid/media/MediaPlayer2$DrmEventCallback;-><init>()V
-Landroid/media/MediaPlayer2$DrmEventCallback;->onDrmInfo(Landroid/media/MediaPlayer2;Landroid/media/DataSourceDesc;Landroid/media/MediaPlayer2$DrmInfo;)V
-Landroid/media/MediaPlayer2$DrmEventCallback;->onDrmPrepared(Landroid/media/MediaPlayer2;Landroid/media/DataSourceDesc;I)V
-Landroid/media/MediaPlayer2$DrmInfo;
-Landroid/media/MediaPlayer2$DrmInfo;-><init>()V
-Landroid/media/MediaPlayer2$DrmInfo;->getPssh()Ljava/util/Map;
-Landroid/media/MediaPlayer2$DrmInfo;->getSupportedSchemes()Ljava/util/List;
-Landroid/media/MediaPlayer2$MediaError;
-Landroid/media/MediaPlayer2$MediaInfo;
-Landroid/media/MediaPlayer2$MediaPlayer2EventCallback;
-Landroid/media/MediaPlayer2$MediaPlayer2EventCallback;-><init>()V
-Landroid/media/MediaPlayer2$MediaPlayer2EventCallback;->onCallCompleted(Landroid/media/MediaPlayer2;Landroid/media/DataSourceDesc;II)V
-Landroid/media/MediaPlayer2$MediaPlayer2EventCallback;->onCommandLabelReached(Landroid/media/MediaPlayer2;Ljava/lang/Object;)V
-Landroid/media/MediaPlayer2$MediaPlayer2EventCallback;->onError(Landroid/media/MediaPlayer2;Landroid/media/DataSourceDesc;II)V
-Landroid/media/MediaPlayer2$MediaPlayer2EventCallback;->onInfo(Landroid/media/MediaPlayer2;Landroid/media/DataSourceDesc;II)V
-Landroid/media/MediaPlayer2$MediaPlayer2EventCallback;->onMediaTimeChanged(Landroid/media/MediaPlayer2;Landroid/media/DataSourceDesc;Landroid/media/MediaTimestamp;)V
-Landroid/media/MediaPlayer2$MediaPlayer2EventCallback;->onTimedMetaDataAvailable(Landroid/media/MediaPlayer2;Landroid/media/DataSourceDesc;Landroid/media/TimedMetaData;)V
-Landroid/media/MediaPlayer2$MediaPlayer2EventCallback;->onTimedText(Landroid/media/MediaPlayer2;Landroid/media/DataSourceDesc;Landroid/media/TimedText;)V
-Landroid/media/MediaPlayer2$MediaPlayer2EventCallback;->onVideoSizeChanged(Landroid/media/MediaPlayer2;Landroid/media/DataSourceDesc;II)V
-Landroid/media/MediaPlayer2$MediaPlayer2State;
-Landroid/media/MediaPlayer2$MetricsConstants;
-Landroid/media/MediaPlayer2$MetricsConstants;-><init>()V
-Landroid/media/MediaPlayer2$MetricsConstants;->CODEC_AUDIO:Ljava/lang/String;
-Landroid/media/MediaPlayer2$MetricsConstants;->CODEC_VIDEO:Ljava/lang/String;
-Landroid/media/MediaPlayer2$MetricsConstants;->DURATION:Ljava/lang/String;
-Landroid/media/MediaPlayer2$MetricsConstants;->ERRORS:Ljava/lang/String;
-Landroid/media/MediaPlayer2$MetricsConstants;->ERROR_CODE:Ljava/lang/String;
-Landroid/media/MediaPlayer2$MetricsConstants;->FRAMES:Ljava/lang/String;
-Landroid/media/MediaPlayer2$MetricsConstants;->FRAMES_DROPPED:Ljava/lang/String;
-Landroid/media/MediaPlayer2$MetricsConstants;->HEIGHT:Ljava/lang/String;
-Landroid/media/MediaPlayer2$MetricsConstants;->MIME_TYPE_AUDIO:Ljava/lang/String;
-Landroid/media/MediaPlayer2$MetricsConstants;->MIME_TYPE_VIDEO:Ljava/lang/String;
-Landroid/media/MediaPlayer2$MetricsConstants;->PLAYING:Ljava/lang/String;
-Landroid/media/MediaPlayer2$MetricsConstants;->WIDTH:Ljava/lang/String;
-Landroid/media/MediaPlayer2$NoDrmSchemeException;
-Landroid/media/MediaPlayer2$NoDrmSchemeException;-><init>(Ljava/lang/String;)V
-Landroid/media/MediaPlayer2$OnDrmConfigHelper;
-Landroid/media/MediaPlayer2$OnDrmConfigHelper;->onDrmConfig(Landroid/media/MediaPlayer2;Landroid/media/DataSourceDesc;)V
-Landroid/media/MediaPlayer2$OnSubtitleDataListener;
-Landroid/media/MediaPlayer2$OnSubtitleDataListener;->onSubtitleData(Landroid/media/MediaPlayer2;Landroid/media/SubtitleData;)V
-Landroid/media/MediaPlayer2$PlaybackRateAudioMode;
-Landroid/media/MediaPlayer2$PrepareDrmStatusCode;
-Landroid/media/MediaPlayer2$ProvisioningNetworkErrorException;
-Landroid/media/MediaPlayer2$ProvisioningNetworkErrorException;-><init>(Ljava/lang/String;)V
-Landroid/media/MediaPlayer2$ProvisioningServerErrorException;
-Landroid/media/MediaPlayer2$ProvisioningServerErrorException;-><init>(Ljava/lang/String;)V
-Landroid/media/MediaPlayer2$SeekMode;
-Landroid/media/MediaPlayer2$TrackInfo;
-Landroid/media/MediaPlayer2$TrackInfo;-><init>()V
-Landroid/media/MediaPlayer2$TrackInfo;->getFormat()Landroid/media/MediaFormat;
-Landroid/media/MediaPlayer2$TrackInfo;->MEDIA_TRACK_TYPE_AUDIO:I
-Landroid/media/MediaPlayer2$TrackInfo;->MEDIA_TRACK_TYPE_METADATA:I
-Landroid/media/MediaPlayer2$TrackInfo;->MEDIA_TRACK_TYPE_SUBTITLE:I
-Landroid/media/MediaPlayer2$TrackInfo;->MEDIA_TRACK_TYPE_TIMEDTEXT:I
-Landroid/media/MediaPlayer2$TrackInfo;->MEDIA_TRACK_TYPE_UNKNOWN:I
-Landroid/media/MediaPlayer2$TrackInfo;->MEDIA_TRACK_TYPE_VIDEO:I
-Landroid/media/MediaPlayer2;
-Landroid/media/MediaPlayer2;-><init>()V
-Landroid/media/MediaPlayer2;->addSubtitleSource(Ljava/io/InputStream;Landroid/media/MediaFormat;)V
-Landroid/media/MediaPlayer2;->addTimedTextSource(Landroid/content/Context;Landroid/net/Uri;Ljava/lang/String;)V
-Landroid/media/MediaPlayer2;->addTimedTextSource(Ljava/io/FileDescriptor;JJLjava/lang/String;)V
-Landroid/media/MediaPlayer2;->addTimedTextSource(Ljava/io/FileDescriptor;Ljava/lang/String;)V
-Landroid/media/MediaPlayer2;->addTimedTextSource(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/media/MediaPlayer2;->APPLY_METADATA_FILTER:Z
-Landroid/media/MediaPlayer2;->attachAuxEffect(I)V
-Landroid/media/MediaPlayer2;->BYPASS_METADATA_FILTER:Z
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_ATTACH_AUX_EFFECT:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_DESELECT_TRACK:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_LOOP_CURRENT:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_NOTIFY_WHEN_COMMAND_LABEL_REACHED:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_PAUSE:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_PLAY:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_PREPARE:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_RELEASE_DRM:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_RESTORE_DRM_KEYS:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_SEEK_TO:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_SELECT_TRACK:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_SET_AUDIO_ATTRIBUTES:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_SET_AUDIO_SESSION_ID:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_SET_AUX_EFFECT_SEND_LEVEL:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_SET_BUFFERING_PARAMS:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_SET_DATA_SOURCE:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_SET_NEXT_DATA_SOURCE:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_SET_NEXT_DATA_SOURCES:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_SET_PLAYBACK_PARAMS:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_SET_PLAYBACK_SPEED:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_SET_PLAYER_VOLUME:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_SET_SURFACE:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_SET_SYNC_PARAMS:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_SET_VIDEO_SCALING_MODE:I
-Landroid/media/MediaPlayer2;->CALL_COMPLETED_SKIP_TO_NEXT:I
-Landroid/media/MediaPlayer2;->CALL_STATUS_BAD_VALUE:I
-Landroid/media/MediaPlayer2;->CALL_STATUS_ERROR_IO:I
-Landroid/media/MediaPlayer2;->CALL_STATUS_ERROR_UNKNOWN:I
-Landroid/media/MediaPlayer2;->CALL_STATUS_INVALID_OPERATION:I
-Landroid/media/MediaPlayer2;->CALL_STATUS_NO_DRM_SCHEME:I
-Landroid/media/MediaPlayer2;->CALL_STATUS_NO_ERROR:I
-Landroid/media/MediaPlayer2;->CALL_STATUS_PERMISSION_DENIED:I
-Landroid/media/MediaPlayer2;->clearDrmEventCallback()V
-Landroid/media/MediaPlayer2;->clearMediaPlayer2EventCallback()V
-Landroid/media/MediaPlayer2;->clearPendingCommands()V
-Landroid/media/MediaPlayer2;->create()Landroid/media/MediaPlayer2;
-Landroid/media/MediaPlayer2;->decodeMediaPlayer2Uri(Ljava/lang/String;)[Ljava/lang/String;
-Landroid/media/MediaPlayer2;->deselectTrack(I)V
-Landroid/media/MediaPlayer2;->easyPlaybackParams(FI)Landroid/media/PlaybackParams;
-Landroid/media/MediaPlayer2;->encodeMediaPlayer2Uri(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
-Landroid/media/MediaPlayer2;->getAudioAttributes()Landroid/media/AudioAttributes;
-Landroid/media/MediaPlayer2;->getAudioSessionId()I
-Landroid/media/MediaPlayer2;->getBufferedPosition()J
-Landroid/media/MediaPlayer2;->getBufferingParams()Landroid/media/BufferingParams;
-Landroid/media/MediaPlayer2;->getBufferingState()I
-Landroid/media/MediaPlayer2;->getCurrentDataSource()Landroid/media/DataSourceDesc;
-Landroid/media/MediaPlayer2;->getCurrentPosition()J
-Landroid/media/MediaPlayer2;->getDrmInfo()Landroid/media/MediaPlayer2$DrmInfo;
-Landroid/media/MediaPlayer2;->getDrmKeyRequest([B[BLjava/lang/String;ILjava/util/Map;)Landroid/media/MediaDrm$KeyRequest;
-Landroid/media/MediaPlayer2;->getDrmPropertyString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/media/MediaPlayer2;->getDuration()J
-Landroid/media/MediaPlayer2;->getMaxPlayerVolume()F
-Landroid/media/MediaPlayer2;->getMediaPlayer2State()I
-Landroid/media/MediaPlayer2;->getMediaTimeProvider()Landroid/media/MediaTimeProvider;
-Landroid/media/MediaPlayer2;->getMetadata(ZZ)Landroid/media/Metadata;
-Landroid/media/MediaPlayer2;->getMetrics()Landroid/os/PersistableBundle;
-Landroid/media/MediaPlayer2;->getPlaybackParams()Landroid/media/PlaybackParams;
-Landroid/media/MediaPlayer2;->getPlaybackSpeed()F
-Landroid/media/MediaPlayer2;->getPlayerState()I
-Landroid/media/MediaPlayer2;->getPlayerVolume()F
-Landroid/media/MediaPlayer2;->getSelectedTrack(I)I
-Landroid/media/MediaPlayer2;->getSyncParams()Landroid/media/SyncParams;
-Landroid/media/MediaPlayer2;->getTimestamp()Landroid/media/MediaTimestamp;
-Landroid/media/MediaPlayer2;->getTrackInfo()Ljava/util/List;
-Landroid/media/MediaPlayer2;->getVideoHeight()I
-Landroid/media/MediaPlayer2;->getVideoWidth()I
-Landroid/media/MediaPlayer2;->invoke(Landroid/os/Parcel;Landroid/os/Parcel;)V
-Landroid/media/MediaPlayer2;->isLooping()Z
-Landroid/media/MediaPlayer2;->isPlaying()Z
-Landroid/media/MediaPlayer2;->isReversePlaybackSupported()Z
-Landroid/media/MediaPlayer2;->loopCurrent(Z)V
-Landroid/media/MediaPlayer2;->MEDIAPLAYER2_STATE_ERROR:I
-Landroid/media/MediaPlayer2;->MEDIAPLAYER2_STATE_IDLE:I
-Landroid/media/MediaPlayer2;->MEDIAPLAYER2_STATE_PAUSED:I
-Landroid/media/MediaPlayer2;->MEDIAPLAYER2_STATE_PLAYING:I
-Landroid/media/MediaPlayer2;->MEDIAPLAYER2_STATE_PREPARED:I
-Landroid/media/MediaPlayer2;->MEDIA_ERROR_IO:I
-Landroid/media/MediaPlayer2;->MEDIA_ERROR_MALFORMED:I
-Landroid/media/MediaPlayer2;->MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK:I
-Landroid/media/MediaPlayer2;->MEDIA_ERROR_SYSTEM:I
-Landroid/media/MediaPlayer2;->MEDIA_ERROR_TIMED_OUT:I
-Landroid/media/MediaPlayer2;->MEDIA_ERROR_UNKNOWN:I
-Landroid/media/MediaPlayer2;->MEDIA_ERROR_UNSUPPORTED:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_AUDIO_NOT_PLAYING:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_AUDIO_RENDERING_START:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_BAD_INTERLEAVING:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_BUFFERING_END:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_BUFFERING_START:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_BUFFERING_UPDATE:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_EXTERNAL_METADATA_UPDATE:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_METADATA_UPDATE:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_NETWORK_BANDWIDTH:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_NOT_SEEKABLE:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_PLAYBACK_COMPLETE:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_PLAYLIST_END:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_PREPARED:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_STARTED_AS_NEXT:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_SUBTITLE_TIMED_OUT:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_TIMED_TEXT_ERROR:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_UNKNOWN:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_UNSUPPORTED_SUBTITLE:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_VIDEO_NOT_PLAYING:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_VIDEO_RENDERING_START:I
-Landroid/media/MediaPlayer2;->MEDIA_INFO_VIDEO_TRACK_LAGGING:I
-Landroid/media/MediaPlayer2;->MEDIA_MIMETYPE_TEXT_CEA_608:Ljava/lang/String;
-Landroid/media/MediaPlayer2;->MEDIA_MIMETYPE_TEXT_CEA_708:Ljava/lang/String;
-Landroid/media/MediaPlayer2;->MEDIA_MIMETYPE_TEXT_SUBRIP:Ljava/lang/String;
-Landroid/media/MediaPlayer2;->MEDIA_MIMETYPE_TEXT_VTT:Ljava/lang/String;
-Landroid/media/MediaPlayer2;->METADATA_ALL:Z
-Landroid/media/MediaPlayer2;->METADATA_UPDATE_ONLY:Z
-Landroid/media/MediaPlayer2;->newRequest()Landroid/os/Parcel;
-Landroid/media/MediaPlayer2;->notifyAt(J)V
-Landroid/media/MediaPlayer2;->notifyWhenCommandLabelReached(Ljava/lang/Object;)V
-Landroid/media/MediaPlayer2;->onSubtitleTrackSelected(Landroid/media/SubtitleTrack;)V
-Landroid/media/MediaPlayer2;->pause()V
-Landroid/media/MediaPlayer2;->play()V
-Landroid/media/MediaPlayer2;->PLAYBACK_RATE_AUDIO_MODE_DEFAULT:I
-Landroid/media/MediaPlayer2;->PLAYBACK_RATE_AUDIO_MODE_RESAMPLE:I
-Landroid/media/MediaPlayer2;->PLAYBACK_RATE_AUDIO_MODE_STRETCH:I
-Landroid/media/MediaPlayer2;->prepare()V
-Landroid/media/MediaPlayer2;->prepareDrm(Ljava/util/UUID;)V
-Landroid/media/MediaPlayer2;->PREPARE_DRM_STATUS_PREPARATION_ERROR:I
-Landroid/media/MediaPlayer2;->PREPARE_DRM_STATUS_PROVISIONING_NETWORK_ERROR:I
-Landroid/media/MediaPlayer2;->PREPARE_DRM_STATUS_PROVISIONING_SERVER_ERROR:I
-Landroid/media/MediaPlayer2;->PREPARE_DRM_STATUS_SUCCESS:I
-Landroid/media/MediaPlayer2;->provideDrmKeyResponse([B[B)[B
-Landroid/media/MediaPlayer2;->registerPlayerEventCallback(Ljava/util/concurrent/Executor;Landroid/media/MediaPlayerBase$PlayerEventCallback;)V
-Landroid/media/MediaPlayer2;->releaseDrm()V
-Landroid/media/MediaPlayer2;->reset()V
-Landroid/media/MediaPlayer2;->restoreDrmKeys([B)V
-Landroid/media/MediaPlayer2;->seekTo(J)V
-Landroid/media/MediaPlayer2;->seekTo(JI)V
-Landroid/media/MediaPlayer2;->SEEK_CLOSEST:I
-Landroid/media/MediaPlayer2;->SEEK_CLOSEST_SYNC:I
-Landroid/media/MediaPlayer2;->SEEK_NEXT_SYNC:I
-Landroid/media/MediaPlayer2;->SEEK_PREVIOUS_SYNC:I
-Landroid/media/MediaPlayer2;->selectTrack(I)V
-Landroid/media/MediaPlayer2;->setAudioAttributes(Landroid/media/AudioAttributes;)V
-Landroid/media/MediaPlayer2;->setAudioSessionId(I)V
-Landroid/media/MediaPlayer2;->setAuxEffectSendLevel(F)V
-Landroid/media/MediaPlayer2;->setBufferingParams(Landroid/media/BufferingParams;)V
-Landroid/media/MediaPlayer2;->setDataSource(Landroid/media/DataSourceDesc;)V
-Landroid/media/MediaPlayer2;->setDisplay(Landroid/view/SurfaceHolder;)V
-Landroid/media/MediaPlayer2;->setDrmEventCallback(Ljava/util/concurrent/Executor;Landroid/media/MediaPlayer2$DrmEventCallback;)V
-Landroid/media/MediaPlayer2;->setDrmPropertyString(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/media/MediaPlayer2;->setMediaPlayer2EventCallback(Ljava/util/concurrent/Executor;Landroid/media/MediaPlayer2$MediaPlayer2EventCallback;)V
-Landroid/media/MediaPlayer2;->setMetadataFilter(Ljava/util/Set;Ljava/util/Set;)I
-Landroid/media/MediaPlayer2;->setNextDataSource(Landroid/media/DataSourceDesc;)V
-Landroid/media/MediaPlayer2;->setNextDataSources(Ljava/util/List;)V
-Landroid/media/MediaPlayer2;->setOnDrmConfigHelper(Landroid/media/MediaPlayer2$OnDrmConfigHelper;)V
-Landroid/media/MediaPlayer2;->setOnSubtitleDataListener(Landroid/media/MediaPlayer2$OnSubtitleDataListener;)V
-Landroid/media/MediaPlayer2;->setPlaybackParams(Landroid/media/PlaybackParams;)V
-Landroid/media/MediaPlayer2;->setPlaybackSpeed(F)V
-Landroid/media/MediaPlayer2;->setPlayerVolume(F)V
-Landroid/media/MediaPlayer2;->setScreenOnWhilePlaying(Z)V
-Landroid/media/MediaPlayer2;->setSubtitleAnchor(Landroid/media/SubtitleController;Landroid/media/SubtitleController$Anchor;)V
-Landroid/media/MediaPlayer2;->setSurface(Landroid/view/Surface;)V
-Landroid/media/MediaPlayer2;->setSyncParams(Landroid/media/SyncParams;)V
-Landroid/media/MediaPlayer2;->setVideoScalingMode(I)V
-Landroid/media/MediaPlayer2;->setWakeMode(Landroid/content/Context;I)V
-Landroid/media/MediaPlayer2;->skipToNext()V
-Landroid/media/MediaPlayer2;->stop()V
-Landroid/media/MediaPlayer2;->unregisterPlayerEventCallback(Landroid/media/MediaPlayerBase$PlayerEventCallback;)V
-Landroid/media/MediaPlayer2;->VIDEO_SCALING_MODE_SCALE_TO_FIT:I
-Landroid/media/MediaPlayer2;->VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING:I
-Landroid/media/MediaPlayer2Impl$DrmInfoImpl;
-Landroid/media/MediaPlayer2Impl$DrmInfoImpl;-><init>(Landroid/os/Parcel;)V
-Landroid/media/MediaPlayer2Impl$DrmInfoImpl;-><init>(Ljava/util/Map;[Ljava/util/UUID;)V
-Landroid/media/MediaPlayer2Impl$DrmInfoImpl;->arrToHex([B)Ljava/lang/String;
-Landroid/media/MediaPlayer2Impl$DrmInfoImpl;->bytesToUUID([B)Ljava/util/UUID;
-Landroid/media/MediaPlayer2Impl$DrmInfoImpl;->getPssh()Ljava/util/Map;
-Landroid/media/MediaPlayer2Impl$DrmInfoImpl;->getSupportedSchemes()Ljava/util/List;
-Landroid/media/MediaPlayer2Impl$DrmInfoImpl;->makeCopy()Landroid/media/MediaPlayer2Impl$DrmInfoImpl;
-Landroid/media/MediaPlayer2Impl$DrmInfoImpl;->mapPssh:Ljava/util/Map;
-Landroid/media/MediaPlayer2Impl$DrmInfoImpl;->parsePSSH([BI)Ljava/util/Map;
-Landroid/media/MediaPlayer2Impl$DrmInfoImpl;->supportedSchemes:[Ljava/util/UUID;
-Landroid/media/MediaPlayer2Impl$EventHandler;
-Landroid/media/MediaPlayer2Impl$EventHandler;-><init>(Landroid/media/MediaPlayer2Impl;Landroid/os/Looper;)V
-Landroid/media/MediaPlayer2Impl$EventHandler;->handleMessage(Landroid/os/Message;J)V
-Landroid/media/MediaPlayer2Impl$EventHandler;->mMediaPlayer:Landroid/media/MediaPlayer2Impl;
-Landroid/media/MediaPlayer2Impl$NoDrmSchemeExceptionImpl;
-Landroid/media/MediaPlayer2Impl$NoDrmSchemeExceptionImpl;-><init>(Ljava/lang/String;)V
-Landroid/media/MediaPlayer2Impl$ProvisioningNetworkErrorExceptionImpl;
-Landroid/media/MediaPlayer2Impl$ProvisioningNetworkErrorExceptionImpl;-><init>(Ljava/lang/String;)V
-Landroid/media/MediaPlayer2Impl$ProvisioningServerErrorExceptionImpl;
-Landroid/media/MediaPlayer2Impl$ProvisioningServerErrorExceptionImpl;-><init>(Ljava/lang/String;)V
-Landroid/media/MediaPlayer2Impl$ProvisioningThread;
-Landroid/media/MediaPlayer2Impl$ProvisioningThread;-><init>()V
-Landroid/media/MediaPlayer2Impl$ProvisioningThread;->drmLock:Ljava/lang/Object;
-Landroid/media/MediaPlayer2Impl$ProvisioningThread;->finished:Z
-Landroid/media/MediaPlayer2Impl$ProvisioningThread;->initialize(Landroid/media/MediaDrm$ProvisionRequest;Ljava/util/UUID;Landroid/media/MediaPlayer2Impl;)Landroid/media/MediaPlayer2Impl$ProvisioningThread;
-Landroid/media/MediaPlayer2Impl$ProvisioningThread;->mediaPlayer:Landroid/media/MediaPlayer2Impl;
-Landroid/media/MediaPlayer2Impl$ProvisioningThread;->status()I
-Landroid/media/MediaPlayer2Impl$ProvisioningThread;->status:I
-Landroid/media/MediaPlayer2Impl$ProvisioningThread;->TIMEOUT_MS:I
-Landroid/media/MediaPlayer2Impl$ProvisioningThread;->urlStr:Ljava/lang/String;
-Landroid/media/MediaPlayer2Impl$ProvisioningThread;->uuid:Ljava/util/UUID;
-Landroid/media/MediaPlayer2Impl$StreamEventCallback;
-Landroid/media/MediaPlayer2Impl$StreamEventCallback;-><init>(JJJ)V
-Landroid/media/MediaPlayer2Impl$StreamEventCallback;->mJAudioTrackPtr:J
-Landroid/media/MediaPlayer2Impl$StreamEventCallback;->mNativeCallbackPtr:J
-Landroid/media/MediaPlayer2Impl$StreamEventCallback;->mUserDataPtr:J
-Landroid/media/MediaPlayer2Impl$StreamEventCallback;->onStreamDataRequest(Landroid/media/AudioTrack;)V
-Landroid/media/MediaPlayer2Impl$StreamEventCallback;->onStreamPresentationEnd(Landroid/media/AudioTrack;)V
-Landroid/media/MediaPlayer2Impl$StreamEventCallback;->onTearDown(Landroid/media/AudioTrack;)V
-Landroid/media/MediaPlayer2Impl$Task;
-Landroid/media/MediaPlayer2Impl$Task;-><init>(IZ)V
-Landroid/media/MediaPlayer2Impl$Task;->mDSD:Landroid/media/DataSourceDesc;
-Landroid/media/MediaPlayer2Impl$Task;->mMediaCallType:I
-Landroid/media/MediaPlayer2Impl$Task;->mNeedToWaitForEventToComplete:Z
-Landroid/media/MediaPlayer2Impl$Task;->process()V
-Landroid/media/MediaPlayer2Impl$Task;->sendCompleteNotification(I)V
-Landroid/media/MediaPlayer2Impl$TimeProvider$EventHandler;
-Landroid/media/MediaPlayer2Impl$TimeProvider$EventHandler;-><init>(Landroid/os/Looper;)V
-Landroid/media/MediaPlayer2Impl$TimeProvider;
-Landroid/media/MediaPlayer2Impl$TimeProvider;-><init>(Landroid/media/MediaPlayer2Impl;)V
-Landroid/media/MediaPlayer2Impl$TimeProvider;->cancelNotifications(Landroid/media/MediaTimeProvider$OnMediaTimeListener;)V
-Landroid/media/MediaPlayer2Impl$TimeProvider;->close()V
-Landroid/media/MediaPlayer2Impl$TimeProvider;->DEBUG:Z
-Landroid/media/MediaPlayer2Impl$TimeProvider;->getCurrentTimeUs(ZZ)J
-Landroid/media/MediaPlayer2Impl$TimeProvider;->MAX_EARLY_CALLBACK_US:J
-Landroid/media/MediaPlayer2Impl$TimeProvider;->MAX_NS_WITHOUT_POSITION_CHECK:J
-Landroid/media/MediaPlayer2Impl$TimeProvider;->mBuffering:Z
-Landroid/media/MediaPlayer2Impl$TimeProvider;->mEventHandler:Landroid/media/MediaPlayer2Impl$TimeProvider$EventHandler;
-Landroid/media/MediaPlayer2Impl$TimeProvider;->mHandlerThread:Landroid/os/HandlerThread;
-Landroid/media/MediaPlayer2Impl$TimeProvider;->mLastReportedTime:J
-Landroid/media/MediaPlayer2Impl$TimeProvider;->mLastTimeUs:J
-Landroid/media/MediaPlayer2Impl$TimeProvider;->mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
-Landroid/media/MediaPlayer2Impl$TimeProvider;->mPaused:Z
-Landroid/media/MediaPlayer2Impl$TimeProvider;->mPausing:Z
-Landroid/media/MediaPlayer2Impl$TimeProvider;->mPlayer:Landroid/media/MediaPlayer2Impl;
-Landroid/media/MediaPlayer2Impl$TimeProvider;->mRefresh:Z
-Landroid/media/MediaPlayer2Impl$TimeProvider;->mSeeking:Z
-Landroid/media/MediaPlayer2Impl$TimeProvider;->mStopped:Z
-Landroid/media/MediaPlayer2Impl$TimeProvider;->mTimes:[J
-Landroid/media/MediaPlayer2Impl$TimeProvider;->NOTIFY:I
-Landroid/media/MediaPlayer2Impl$TimeProvider;->notifyAt(JLandroid/media/MediaTimeProvider$OnMediaTimeListener;)V
-Landroid/media/MediaPlayer2Impl$TimeProvider;->notifySeek()V
-Landroid/media/MediaPlayer2Impl$TimeProvider;->notifyStop()V
-Landroid/media/MediaPlayer2Impl$TimeProvider;->notifyTimedEvent(Z)V
-Landroid/media/MediaPlayer2Impl$TimeProvider;->notifyTrackData(Landroid/util/Pair;)V
-Landroid/media/MediaPlayer2Impl$TimeProvider;->NOTIFY_SEEK:I
-Landroid/media/MediaPlayer2Impl$TimeProvider;->NOTIFY_STOP:I
-Landroid/media/MediaPlayer2Impl$TimeProvider;->NOTIFY_TIME:I
-Landroid/media/MediaPlayer2Impl$TimeProvider;->NOTIFY_TRACK_DATA:I
-Landroid/media/MediaPlayer2Impl$TimeProvider;->onBuffering(Z)V
-Landroid/media/MediaPlayer2Impl$TimeProvider;->onNewPlayer()V
-Landroid/media/MediaPlayer2Impl$TimeProvider;->onNotifyTime()V
-Landroid/media/MediaPlayer2Impl$TimeProvider;->onPaused(Z)V
-Landroid/media/MediaPlayer2Impl$TimeProvider;->onSeekComplete(Landroid/media/MediaPlayer2Impl;)V
-Landroid/media/MediaPlayer2Impl$TimeProvider;->onStopped()V
-Landroid/media/MediaPlayer2Impl$TimeProvider;->registerListener(Landroid/media/MediaTimeProvider$OnMediaTimeListener;)I
-Landroid/media/MediaPlayer2Impl$TimeProvider;->scheduleNotification(IJ)V
-Landroid/media/MediaPlayer2Impl$TimeProvider;->scheduleUpdate(Landroid/media/MediaTimeProvider$OnMediaTimeListener;)V
-Landroid/media/MediaPlayer2Impl$TimeProvider;->TAG:Ljava/lang/String;
-Landroid/media/MediaPlayer2Impl$TimeProvider;->TIME_ADJUSTMENT_RATE:J
-Landroid/media/MediaPlayer2Impl$TrackInfoImpl;
-Landroid/media/MediaPlayer2Impl$TrackInfoImpl;-><init>(ILandroid/media/MediaFormat;)V
-Landroid/media/MediaPlayer2Impl$TrackInfoImpl;-><init>(Landroid/os/Parcel;)V
-Landroid/media/MediaPlayer2Impl$TrackInfoImpl;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/media/MediaPlayer2Impl$TrackInfoImpl;->getFormat()Landroid/media/MediaFormat;
-Landroid/media/MediaPlayer2Impl$TrackInfoImpl;->getLanguage()Ljava/lang/String;
-Landroid/media/MediaPlayer2Impl$TrackInfoImpl;->getTrackType()I
-Landroid/media/MediaPlayer2Impl$TrackInfoImpl;->mFormat:Landroid/media/MediaFormat;
-Landroid/media/MediaPlayer2Impl$TrackInfoImpl;->mTrackType:I
-Landroid/media/MediaPlayer2Impl$TrackInfoImpl;->writeToParcel(Landroid/os/Parcel;I)V
-Landroid/media/MediaPlayer2Impl;
-Landroid/media/MediaPlayer2Impl;-><init>()V
-Landroid/media/MediaPlayer2Impl;->addSubtitleSource(Ljava/io/InputStream;Landroid/media/MediaFormat;)V
-Landroid/media/MediaPlayer2Impl;->addTask(Landroid/media/MediaPlayer2Impl$Task;)V
-Landroid/media/MediaPlayer2Impl;->addTimedTextSource(Landroid/content/Context;Landroid/net/Uri;Ljava/lang/String;)V
-Landroid/media/MediaPlayer2Impl;->addTimedTextSource(Ljava/io/FileDescriptor;JJLjava/lang/String;)V
-Landroid/media/MediaPlayer2Impl;->addTimedTextSource(Ljava/io/FileDescriptor;Ljava/lang/String;)V
-Landroid/media/MediaPlayer2Impl;->addTimedTextSource(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/media/MediaPlayer2Impl;->attachAuxEffect(I)V
-Landroid/media/MediaPlayer2Impl;->attemptDataSource(ZJLandroid/content/ContentResolver;Landroid/net/Uri;)Z
-Landroid/media/MediaPlayer2Impl;->availableMimeTypeForExternalSource(Ljava/lang/String;)Z
-Landroid/media/MediaPlayer2Impl;->cleanDrmObj()V
-Landroid/media/MediaPlayer2Impl;->clearDrmEventCallback()V
-Landroid/media/MediaPlayer2Impl;->clearMediaPlayer2EventCallback()V
-Landroid/media/MediaPlayer2Impl;->clearPendingCommands()V
-Landroid/media/MediaPlayer2Impl;->deselectTrack(I)V
-Landroid/media/MediaPlayer2Impl;->easyPlaybackParams(FI)Landroid/media/PlaybackParams;
-Landroid/media/MediaPlayer2Impl;->enableNativeRoutingCallbacksLocked(Z)V
-Landroid/media/MediaPlayer2Impl;->getAudioAttributes()Landroid/media/AudioAttributes;
-Landroid/media/MediaPlayer2Impl;->getAudioSessionId()I
-Landroid/media/MediaPlayer2Impl;->getAudioStreamType()I
-Landroid/media/MediaPlayer2Impl;->getBufferedPosition()J
-Landroid/media/MediaPlayer2Impl;->getBufferingParams()Landroid/media/BufferingParams;
-Landroid/media/MediaPlayer2Impl;->getBufferingState()I
-Landroid/media/MediaPlayer2Impl;->getByteArrayFromUUID(Ljava/util/UUID;)[B
-Landroid/media/MediaPlayer2Impl;->getCurrentDataSource()Landroid/media/DataSourceDesc;
-Landroid/media/MediaPlayer2Impl;->getCurrentPosition()J
-Landroid/media/MediaPlayer2Impl;->getDrmInfo()Landroid/media/MediaPlayer2$DrmInfo;
-Landroid/media/MediaPlayer2Impl;->getDrmKeyRequest([B[BLjava/lang/String;ILjava/util/Map;)Landroid/media/MediaDrm$KeyRequest;
-Landroid/media/MediaPlayer2Impl;->getDrmPropertyString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/media/MediaPlayer2Impl;->getDuration()J
-Landroid/media/MediaPlayer2Impl;->getInbandTrackInfoImpl()[Landroid/media/MediaPlayer2Impl$TrackInfoImpl;
-Landroid/media/MediaPlayer2Impl;->getMaxPlayerVolume()F
-Landroid/media/MediaPlayer2Impl;->getMediaPlayer2State()I
-Landroid/media/MediaPlayer2Impl;->getMediaTimeProvider()Landroid/media/MediaTimeProvider;
-Landroid/media/MediaPlayer2Impl;->getMetadata(ZZ)Landroid/media/Metadata;
-Landroid/media/MediaPlayer2Impl;->getMetrics()Landroid/os/PersistableBundle;
-Landroid/media/MediaPlayer2Impl;->getParameter(I)Landroid/os/Parcel;
-Landroid/media/MediaPlayer2Impl;->getPlaybackParams()Landroid/media/PlaybackParams;
-Landroid/media/MediaPlayer2Impl;->getPlaybackSpeed()F
-Landroid/media/MediaPlayer2Impl;->getPlayerState()I
-Landroid/media/MediaPlayer2Impl;->getPlayerVolume()F
-Landroid/media/MediaPlayer2Impl;->getSelectedTrack(I)I
-Landroid/media/MediaPlayer2Impl;->getSyncParams()Landroid/media/SyncParams;
-Landroid/media/MediaPlayer2Impl;->getTimestamp()Landroid/media/MediaTimestamp;
-Landroid/media/MediaPlayer2Impl;->getTrackInfo()Ljava/util/List;
-Landroid/media/MediaPlayer2Impl;->getVideoHeight()I
-Landroid/media/MediaPlayer2Impl;->getVideoWidth()I
-Landroid/media/MediaPlayer2Impl;->handleDataSource(ZJLandroid/content/Context;Landroid/net/Uri;Ljava/util/Map;Ljava/util/List;)V
-Landroid/media/MediaPlayer2Impl;->handleDataSource(ZJLandroid/media/Media2DataSource;)V
-Landroid/media/MediaPlayer2Impl;->handleDataSource(ZJLjava/io/FileDescriptor;JJ)V
-Landroid/media/MediaPlayer2Impl;->handleDataSource(ZJLjava/lang/String;Ljava/util/Map;Ljava/util/List;)V
-Landroid/media/MediaPlayer2Impl;->handleDataSource(ZJLjava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Ljava/util/List;)V
-Landroid/media/MediaPlayer2Impl;->handleDataSource(ZLandroid/media/DataSourceDesc;J)V
-Landroid/media/MediaPlayer2Impl;->HandleProvisioninig(Ljava/util/UUID;)I
-Landroid/media/MediaPlayer2Impl;->invoke(Landroid/os/Parcel;Landroid/os/Parcel;)V
-Landroid/media/MediaPlayer2Impl;->INVOKE_ID_ADD_EXTERNAL_SOURCE:I
-Landroid/media/MediaPlayer2Impl;->INVOKE_ID_ADD_EXTERNAL_SOURCE_FD:I
-Landroid/media/MediaPlayer2Impl;->INVOKE_ID_DESELECT_TRACK:I
-Landroid/media/MediaPlayer2Impl;->INVOKE_ID_GET_SELECTED_TRACK:I
-Landroid/media/MediaPlayer2Impl;->INVOKE_ID_GET_TRACK_INFO:I
-Landroid/media/MediaPlayer2Impl;->INVOKE_ID_SELECT_TRACK:I
-Landroid/media/MediaPlayer2Impl;->INVOKE_ID_SET_VIDEO_SCALE_MODE:I
-Landroid/media/MediaPlayer2Impl;->isLooping()Z
-Landroid/media/MediaPlayer2Impl;->isPlaying()Z
-Landroid/media/MediaPlayer2Impl;->isReversePlaybackSupported()Z
-Landroid/media/MediaPlayer2Impl;->isVideoScalingModeSupported(I)Z
-Landroid/media/MediaPlayer2Impl;->KEY_PARAMETER_AUDIO_ATTRIBUTES:I
-Landroid/media/MediaPlayer2Impl;->loopCurrent(Z)V
-Landroid/media/MediaPlayer2Impl;->mActiveDrmScheme:Z
-Landroid/media/MediaPlayer2Impl;->mBufferedPercentageCurrent:Ljava/util/concurrent/atomic/AtomicInteger;
-Landroid/media/MediaPlayer2Impl;->mBufferedPercentageNext:Ljava/util/concurrent/atomic/AtomicInteger;
-Landroid/media/MediaPlayer2Impl;->mCurrentDSD:Landroid/media/DataSourceDesc;
-Landroid/media/MediaPlayer2Impl;->mCurrentSrcId:J
-Landroid/media/MediaPlayer2Impl;->mCurrentTask:Landroid/media/MediaPlayer2Impl$Task;
-Landroid/media/MediaPlayer2Impl;->mDrmConfigAllowed:Z
-Landroid/media/MediaPlayer2Impl;->mDrmEventCallbackRecords:Ljava/util/ArrayList;
-Landroid/media/MediaPlayer2Impl;->mDrmEventCbLock:Ljava/lang/Object;
-Landroid/media/MediaPlayer2Impl;->mDrmInfoImpl:Landroid/media/MediaPlayer2Impl$DrmInfoImpl;
-Landroid/media/MediaPlayer2Impl;->mDrmInfoResolved:Z
-Landroid/media/MediaPlayer2Impl;->mDrmLock:Ljava/lang/Object;
-Landroid/media/MediaPlayer2Impl;->mDrmObj:Landroid/media/MediaDrm;
-Landroid/media/MediaPlayer2Impl;->mDrmProvisioningInProgress:Z
-Landroid/media/MediaPlayer2Impl;->mDrmProvisioningThread:Landroid/media/MediaPlayer2Impl$ProvisioningThread;
-Landroid/media/MediaPlayer2Impl;->mDrmSessionId:[B
-Landroid/media/MediaPlayer2Impl;->mDrmUUID:Ljava/util/UUID;
-Landroid/media/MediaPlayer2Impl;->MEDIA_AUDIO_ROUTING_CHANGED:I
-Landroid/media/MediaPlayer2Impl;->MEDIA_BUFFERING_UPDATE:I
-Landroid/media/MediaPlayer2Impl;->MEDIA_DRM_INFO:I
-Landroid/media/MediaPlayer2Impl;->MEDIA_ERROR:I
-Landroid/media/MediaPlayer2Impl;->MEDIA_INFO:I
-Landroid/media/MediaPlayer2Impl;->MEDIA_META_DATA:I
-Landroid/media/MediaPlayer2Impl;->MEDIA_NOP:I
-Landroid/media/MediaPlayer2Impl;->MEDIA_NOTIFY_TIME:I
-Landroid/media/MediaPlayer2Impl;->MEDIA_PAUSED:I
-Landroid/media/MediaPlayer2Impl;->MEDIA_PLAYBACK_COMPLETE:I
-Landroid/media/MediaPlayer2Impl;->MEDIA_PREPARED:I
-Landroid/media/MediaPlayer2Impl;->MEDIA_SEEK_COMPLETE:I
-Landroid/media/MediaPlayer2Impl;->MEDIA_SET_VIDEO_SIZE:I
-Landroid/media/MediaPlayer2Impl;->MEDIA_SKIPPED:I
-Landroid/media/MediaPlayer2Impl;->MEDIA_STARTED:I
-Landroid/media/MediaPlayer2Impl;->MEDIA_STOPPED:I
-Landroid/media/MediaPlayer2Impl;->MEDIA_SUBTITLE_DATA:I
-Landroid/media/MediaPlayer2Impl;->MEDIA_TIMED_TEXT:I
-Landroid/media/MediaPlayer2Impl;->mEventCallbackRecords:Ljava/util/ArrayList;
-Landroid/media/MediaPlayer2Impl;->mEventCbLock:Ljava/lang/Object;
-Landroid/media/MediaPlayer2Impl;->mEventHandler:Landroid/media/MediaPlayer2Impl$EventHandler;
-Landroid/media/MediaPlayer2Impl;->mGuard:Ldalvik/system/CloseGuard;
-Landroid/media/MediaPlayer2Impl;->mHandlerThread:Landroid/os/HandlerThread;
-Landroid/media/MediaPlayer2Impl;->mInbandTrackIndices:Ljava/util/BitSet;
-Landroid/media/MediaPlayer2Impl;->mIndexTrackPairs:Ljava/util/Vector;
-Landroid/media/MediaPlayer2Impl;->mListenerContext:I
-Landroid/media/MediaPlayer2Impl;->mNativeContext:J
-Landroid/media/MediaPlayer2Impl;->mNativeSurfaceTexture:J
-Landroid/media/MediaPlayer2Impl;->mNextDSDs:Ljava/util/List;
-Landroid/media/MediaPlayer2Impl;->mNextSourcePlayPending:Z
-Landroid/media/MediaPlayer2Impl;->mNextSourceState:I
-Landroid/media/MediaPlayer2Impl;->mNextSrcId:J
-Landroid/media/MediaPlayer2Impl;->mOnDrmConfigHelper:Landroid/media/MediaPlayer2$OnDrmConfigHelper;
-Landroid/media/MediaPlayer2Impl;->mOnSubtitleDataListener:Landroid/media/MediaPlayer2$OnSubtitleDataListener;
-Landroid/media/MediaPlayer2Impl;->mOpenSubtitleSources:Ljava/util/Vector;
-Landroid/media/MediaPlayer2Impl;->mPendingTasks:Ljava/util/List;
-Landroid/media/MediaPlayer2Impl;->mPreferredDevice:Landroid/media/AudioDeviceInfo;
-Landroid/media/MediaPlayer2Impl;->mPrepareDrmInProgress:Z
-Landroid/media/MediaPlayer2Impl;->mRoutingChangeListeners:Landroid/util/ArrayMap;
-Landroid/media/MediaPlayer2Impl;->mScreenOnWhilePlaying:Z
-Landroid/media/MediaPlayer2Impl;->mSelectedSubtitleTrackIndex:I
-Landroid/media/MediaPlayer2Impl;->mSrcIdGenerator:J
-Landroid/media/MediaPlayer2Impl;->mSrcLock:Ljava/lang/Object;
-Landroid/media/MediaPlayer2Impl;->mStayAwake:Z
-Landroid/media/MediaPlayer2Impl;->mStreamType:I
-Landroid/media/MediaPlayer2Impl;->mSubtitleController:Landroid/media/SubtitleController;
-Landroid/media/MediaPlayer2Impl;->mSubtitleDataListener:Landroid/media/MediaPlayer2$OnSubtitleDataListener;
-Landroid/media/MediaPlayer2Impl;->mSurfaceHolder:Landroid/view/SurfaceHolder;
-Landroid/media/MediaPlayer2Impl;->mTaskHandler:Landroid/os/Handler;
-Landroid/media/MediaPlayer2Impl;->mTaskLock:Ljava/lang/Object;
-Landroid/media/MediaPlayer2Impl;->mTimeProvider:Landroid/media/MediaPlayer2Impl$TimeProvider;
-Landroid/media/MediaPlayer2Impl;->mVolume:F
-Landroid/media/MediaPlayer2Impl;->mWakeLock:Landroid/os/PowerManager$WakeLock;
-Landroid/media/MediaPlayer2Impl;->nativeHandleDataSourceCallback(ZJLandroid/media/Media2DataSource;)V
-Landroid/media/MediaPlayer2Impl;->nativeHandleDataSourceFD(ZJLjava/io/FileDescriptor;JJ)V
-Landroid/media/MediaPlayer2Impl;->nativeHandleDataSourceUrl(ZJLandroid/media/Media2HTTPService;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/media/MediaPlayer2Impl;->nativePlayNextDataSource(J)V
-Landroid/media/MediaPlayer2Impl;->native_enableDeviceCallback(Z)V
-Landroid/media/MediaPlayer2Impl;->native_finalize()V
-Landroid/media/MediaPlayer2Impl;->native_getMediaPlayer2State()I
-Landroid/media/MediaPlayer2Impl;->native_getMetadata(ZZLandroid/os/Parcel;)Z
-Landroid/media/MediaPlayer2Impl;->native_getMetrics()Landroid/os/PersistableBundle;
-Landroid/media/MediaPlayer2Impl;->native_getRoutedDeviceId()I
-Landroid/media/MediaPlayer2Impl;->native_init()V
-Landroid/media/MediaPlayer2Impl;->native_invoke(Landroid/os/Parcel;Landroid/os/Parcel;)I
-Landroid/media/MediaPlayer2Impl;->native_setMetadataFilter(Landroid/os/Parcel;)I
-Landroid/media/MediaPlayer2Impl;->native_setOutputDevice(I)Z
-Landroid/media/MediaPlayer2Impl;->native_setup(Ljava/lang/Object;)V
-Landroid/media/MediaPlayer2Impl;->native_stream_event_onStreamDataRequest(JJJ)V
-Landroid/media/MediaPlayer2Impl;->native_stream_event_onStreamPresentationEnd(JJ)V
-Landroid/media/MediaPlayer2Impl;->native_stream_event_onTearDown(JJ)V
-Landroid/media/MediaPlayer2Impl;->newRequest()Landroid/os/Parcel;
-Landroid/media/MediaPlayer2Impl;->NEXT_SOURCE_STATE_ERROR:I
-Landroid/media/MediaPlayer2Impl;->NEXT_SOURCE_STATE_INIT:I
-Landroid/media/MediaPlayer2Impl;->NEXT_SOURCE_STATE_PREPARED:I
-Landroid/media/MediaPlayer2Impl;->NEXT_SOURCE_STATE_PREPARING:I
-Landroid/media/MediaPlayer2Impl;->notifyAt(J)V
-Landroid/media/MediaPlayer2Impl;->notifyWhenCommandLabelReached(Ljava/lang/Object;)V
-Landroid/media/MediaPlayer2Impl;->onSubtitleTrackSelected(Landroid/media/SubtitleTrack;)V
-Landroid/media/MediaPlayer2Impl;->pause()V
-Landroid/media/MediaPlayer2Impl;->play()V
-Landroid/media/MediaPlayer2Impl;->playNextDataSource_l()V
-Landroid/media/MediaPlayer2Impl;->populateInbandTracks()V
-Landroid/media/MediaPlayer2Impl;->postEventFromNative(Ljava/lang/Object;JIIILjava/lang/Object;)V
-Landroid/media/MediaPlayer2Impl;->prepare()V
-Landroid/media/MediaPlayer2Impl;->prepareDrm(Ljava/util/UUID;)V
-Landroid/media/MediaPlayer2Impl;->prepareDrm_createDrmStep(Ljava/util/UUID;)V
-Landroid/media/MediaPlayer2Impl;->prepareDrm_openSessionStep(Ljava/util/UUID;)V
-Landroid/media/MediaPlayer2Impl;->prepareNextDataSource_l()V
-Landroid/media/MediaPlayer2Impl;->processPendingTask_l()V
-Landroid/media/MediaPlayer2Impl;->provideDrmKeyResponse([B[B)[B
-Landroid/media/MediaPlayer2Impl;->registerPlayerEventCallback(Ljava/util/concurrent/Executor;Landroid/media/MediaPlayerBase$PlayerEventCallback;)V
-Landroid/media/MediaPlayer2Impl;->release()V
-Landroid/media/MediaPlayer2Impl;->releaseDrm()V
-Landroid/media/MediaPlayer2Impl;->reset()V
-Landroid/media/MediaPlayer2Impl;->resetDrmState()V
-Landroid/media/MediaPlayer2Impl;->restoreDrmKeys([B)V
-Landroid/media/MediaPlayer2Impl;->resumePrepareDrm(Ljava/util/UUID;)Z
-Landroid/media/MediaPlayer2Impl;->scanInternalSubtitleTracks()V
-Landroid/media/MediaPlayer2Impl;->seekTo(JI)V
-Landroid/media/MediaPlayer2Impl;->selectOrDeselectInbandTrack(IZ)V
-Landroid/media/MediaPlayer2Impl;->selectOrDeselectTrack(IZ)V
-Landroid/media/MediaPlayer2Impl;->selectTrack(I)V
-Landroid/media/MediaPlayer2Impl;->setAudioAttributes(Landroid/media/AudioAttributes;)V
-Landroid/media/MediaPlayer2Impl;->setAudioOutputDeviceById(Landroid/media/AudioTrack;I)Z
-Landroid/media/MediaPlayer2Impl;->setAudioSessionId(I)V
-Landroid/media/MediaPlayer2Impl;->setAuxEffectSendLevel(F)V
-Landroid/media/MediaPlayer2Impl;->setBufferingParams(Landroid/media/BufferingParams;)V
-Landroid/media/MediaPlayer2Impl;->setDataSource(Landroid/media/DataSourceDesc;)V
-Landroid/media/MediaPlayer2Impl;->setDisplay(Landroid/view/SurfaceHolder;)V
-Landroid/media/MediaPlayer2Impl;->setDrmEventCallback(Ljava/util/concurrent/Executor;Landroid/media/MediaPlayer2$DrmEventCallback;)V
-Landroid/media/MediaPlayer2Impl;->setDrmPropertyString(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/media/MediaPlayer2Impl;->setLooping(Z)V
-Landroid/media/MediaPlayer2Impl;->setMediaPlayer2EventCallback(Ljava/util/concurrent/Executor;Landroid/media/MediaPlayer2$MediaPlayer2EventCallback;)V
-Landroid/media/MediaPlayer2Impl;->setMetadataFilter(Ljava/util/Set;Ljava/util/Set;)I
-Landroid/media/MediaPlayer2Impl;->setNextDataSource(Landroid/media/DataSourceDesc;)V
-Landroid/media/MediaPlayer2Impl;->setNextDataSources(Ljava/util/List;)V
-Landroid/media/MediaPlayer2Impl;->setOnDrmConfigHelper(Landroid/media/MediaPlayer2$OnDrmConfigHelper;)V
-Landroid/media/MediaPlayer2Impl;->setOnSubtitleDataListener(Landroid/media/MediaPlayer2$OnSubtitleDataListener;)V
-Landroid/media/MediaPlayer2Impl;->setParameter(ILandroid/os/Parcel;)Z
-Landroid/media/MediaPlayer2Impl;->setPlaybackParams(Landroid/media/PlaybackParams;)V
-Landroid/media/MediaPlayer2Impl;->setPlaybackSpeed(F)V
-Landroid/media/MediaPlayer2Impl;->setPlayerVolume(F)V
-Landroid/media/MediaPlayer2Impl;->setScreenOnWhilePlaying(Z)V
-Landroid/media/MediaPlayer2Impl;->setSubtitleAnchor()V
-Landroid/media/MediaPlayer2Impl;->setSubtitleAnchor(Landroid/media/SubtitleController;Landroid/media/SubtitleController$Anchor;)V
-Landroid/media/MediaPlayer2Impl;->setSurface(Landroid/view/Surface;)V
-Landroid/media/MediaPlayer2Impl;->setSyncParams(Landroid/media/SyncParams;)V
-Landroid/media/MediaPlayer2Impl;->setVideoScalingMode(I)V
-Landroid/media/MediaPlayer2Impl;->setWakeMode(Landroid/content/Context;I)V
-Landroid/media/MediaPlayer2Impl;->skipToNext()V
-Landroid/media/MediaPlayer2Impl;->stayAwake(Z)V
-Landroid/media/MediaPlayer2Impl;->stop()V
-Landroid/media/MediaPlayer2Impl;->TAG:Ljava/lang/String;
-Landroid/media/MediaPlayer2Impl;->unregisterPlayerEventCallback(Landroid/media/MediaPlayerBase$PlayerEventCallback;)V
-Landroid/media/MediaPlayer2Impl;->updateSurfaceScreenOn()V
-Landroid/media/MediaPlayer2Impl;->_attachAuxEffect(I)V
-Landroid/media/MediaPlayer2Impl;->_getAudioStreamType()I
-Landroid/media/MediaPlayer2Impl;->_notifyAt(J)V
-Landroid/media/MediaPlayer2Impl;->_pause()V
-Landroid/media/MediaPlayer2Impl;->_prepare()V
-Landroid/media/MediaPlayer2Impl;->_prepareDrm([B[B)V
-Landroid/media/MediaPlayer2Impl;->_release()V
-Landroid/media/MediaPlayer2Impl;->_releaseDrm()V
-Landroid/media/MediaPlayer2Impl;->_reset()V
-Landroid/media/MediaPlayer2Impl;->_seekTo(JI)V
-Landroid/media/MediaPlayer2Impl;->_setAudioSessionId(I)V
-Landroid/media/MediaPlayer2Impl;->_setAuxEffectSendLevel(F)V
-Landroid/media/MediaPlayer2Impl;->_setBufferingParams(Landroid/media/BufferingParams;)V
-Landroid/media/MediaPlayer2Impl;->_setPlaybackParams(Landroid/media/PlaybackParams;)V
-Landroid/media/MediaPlayer2Impl;->_setSyncParams(Landroid/media/SyncParams;)V
-Landroid/media/MediaPlayer2Impl;->_setVideoSurface(Landroid/view/Surface;)V
-Landroid/media/MediaPlayer2Impl;->_setVolume(FF)V
-Landroid/media/MediaPlayer2Impl;->_start()V
-Landroid/media/MediaPlayer2Impl;->_stop()V
-Landroid/media/MediaPlayer;->APPLY_METADATA_FILTER:Z
-Landroid/media/MediaPlayer;->attemptDataSource(Landroid/content/ContentResolver;Landroid/net/Uri;)Z
-Landroid/media/MediaPlayer;->availableMimeTypeForExternalSource(Ljava/lang/String;)Z
-Landroid/media/MediaPlayer;->cleanDrmObj()V
-Landroid/media/MediaPlayer;->easyPlaybackParams(FI)Landroid/media/PlaybackParams;
-Landroid/media/MediaPlayer;->enableNativeRoutingCallbacksLocked(Z)V
-Landroid/media/MediaPlayer;->getAudioStreamType()I
-Landroid/media/MediaPlayer;->getByteArrayFromUUID(Ljava/util/UUID;)[B
-Landroid/media/MediaPlayer;->getInbandTrackInfo()[Landroid/media/MediaPlayer$TrackInfo;
-Landroid/media/MediaPlayer;->HandleProvisioninig(Ljava/util/UUID;)I
-Landroid/media/MediaPlayer;->IMEDIA_PLAYER:Ljava/lang/String;
-Landroid/media/MediaPlayer;->INVOKE_ID_ADD_EXTERNAL_SOURCE:I
-Landroid/media/MediaPlayer;->INVOKE_ID_ADD_EXTERNAL_SOURCE_FD:I
-Landroid/media/MediaPlayer;->INVOKE_ID_DESELECT_TRACK:I
-Landroid/media/MediaPlayer;->INVOKE_ID_GET_SELECTED_TRACK:I
-Landroid/media/MediaPlayer;->INVOKE_ID_GET_TRACK_INFO:I
-Landroid/media/MediaPlayer;->INVOKE_ID_SELECT_TRACK:I
-Landroid/media/MediaPlayer;->INVOKE_ID_SET_VIDEO_SCALE_MODE:I
-Landroid/media/MediaPlayer;->isVideoScalingModeSupported(I)Z
-Landroid/media/MediaPlayer;->KEY_PARAMETER_AUDIO_ATTRIBUTES:I
-Landroid/media/MediaPlayer;->mActiveDrmScheme:Z
-Landroid/media/MediaPlayer;->mBypassInterruptionPolicy:Z
-Landroid/media/MediaPlayer;->mDrmConfigAllowed:Z
-Landroid/media/MediaPlayer;->mDrmInfo:Landroid/media/MediaPlayer$DrmInfo;
-Landroid/media/MediaPlayer;->mDrmInfoResolved:Z
-Landroid/media/MediaPlayer;->mDrmLock:Ljava/lang/Object;
-Landroid/media/MediaPlayer;->mDrmObj:Landroid/media/MediaDrm;
-Landroid/media/MediaPlayer;->mDrmProvisioningInProgress:Z
-Landroid/media/MediaPlayer;->mDrmProvisioningThread:Landroid/media/MediaPlayer$ProvisioningThread;
-Landroid/media/MediaPlayer;->mDrmSessionId:[B
-Landroid/media/MediaPlayer;->mDrmUUID:Ljava/util/UUID;
-Landroid/media/MediaPlayer;->MEDIA_AUDIO_ROUTING_CHANGED:I
-Landroid/media/MediaPlayer;->MEDIA_BUFFERING_UPDATE:I
-Landroid/media/MediaPlayer;->MEDIA_DRM_INFO:I
-Landroid/media/MediaPlayer;->MEDIA_ERROR:I
-Landroid/media/MediaPlayer;->MEDIA_ERROR_SYSTEM:I
-Landroid/media/MediaPlayer;->MEDIA_INFO:I
-Landroid/media/MediaPlayer;->MEDIA_INFO_NETWORK_BANDWIDTH:I
-Landroid/media/MediaPlayer;->MEDIA_META_DATA:I
-Landroid/media/MediaPlayer;->MEDIA_MIMETYPE_TEXT_CEA_608:Ljava/lang/String;
-Landroid/media/MediaPlayer;->MEDIA_MIMETYPE_TEXT_CEA_708:Ljava/lang/String;
-Landroid/media/MediaPlayer;->MEDIA_MIMETYPE_TEXT_VTT:Ljava/lang/String;
-Landroid/media/MediaPlayer;->MEDIA_NOP:I
-Landroid/media/MediaPlayer;->MEDIA_NOTIFY_TIME:I
-Landroid/media/MediaPlayer;->MEDIA_PAUSED:I
-Landroid/media/MediaPlayer;->MEDIA_PLAYBACK_COMPLETE:I
-Landroid/media/MediaPlayer;->MEDIA_PREPARED:I
-Landroid/media/MediaPlayer;->MEDIA_SEEK_COMPLETE:I
-Landroid/media/MediaPlayer;->MEDIA_SET_VIDEO_SIZE:I
-Landroid/media/MediaPlayer;->MEDIA_SKIPPED:I
-Landroid/media/MediaPlayer;->MEDIA_STARTED:I
-Landroid/media/MediaPlayer;->MEDIA_STOPPED:I
-Landroid/media/MediaPlayer;->MEDIA_SUBTITLE_DATA:I
-Landroid/media/MediaPlayer;->MEDIA_TIMED_TEXT:I
-Landroid/media/MediaPlayer;->MEDIA_TIME_DISCONTINUITY:I
-Landroid/media/MediaPlayer;->METADATA_UPDATE_ONLY:Z
-Landroid/media/MediaPlayer;->mExtSubtitleDataHandler:Landroid/os/Handler;
-Landroid/media/MediaPlayer;->mExtSubtitleDataListener:Landroid/media/MediaPlayer$OnSubtitleDataListener;
-Landroid/media/MediaPlayer;->mInbandTrackIndices:Ljava/util/BitSet;
-Landroid/media/MediaPlayer;->mIndexTrackPairs:Ljava/util/Vector;
-Landroid/media/MediaPlayer;->mIntSubtitleDataListener:Landroid/media/MediaPlayer$OnSubtitleDataListener;
-Landroid/media/MediaPlayer;->mListenerContext:I
-Landroid/media/MediaPlayer;->mNativeContext:J
-Landroid/media/MediaPlayer;->mNativeSurfaceTexture:J
-Landroid/media/MediaPlayer;->mOnBufferingUpdateListener:Landroid/media/MediaPlayer$OnBufferingUpdateListener;
-Landroid/media/MediaPlayer;->mOnCompletionInternalListener:Landroid/media/MediaPlayer$OnCompletionListener;
-Landroid/media/MediaPlayer;->mOnDrmConfigHelper:Landroid/media/MediaPlayer$OnDrmConfigHelper;
-Landroid/media/MediaPlayer;->mOnDrmInfoHandlerDelegate:Landroid/media/MediaPlayer$OnDrmInfoHandlerDelegate;
-Landroid/media/MediaPlayer;->mOnDrmPreparedHandlerDelegate:Landroid/media/MediaPlayer$OnDrmPreparedHandlerDelegate;
-Landroid/media/MediaPlayer;->mOnMediaTimeDiscontinuityHandler:Landroid/os/Handler;
-Landroid/media/MediaPlayer;->mOnMediaTimeDiscontinuityListener:Landroid/media/MediaPlayer$OnMediaTimeDiscontinuityListener;
-Landroid/media/MediaPlayer;->mOnTimedMetaDataAvailableListener:Landroid/media/MediaPlayer$OnTimedMetaDataAvailableListener;
-Landroid/media/MediaPlayer;->mOnVideoSizeChangedListener:Landroid/media/MediaPlayer$OnVideoSizeChangedListener;
-Landroid/media/MediaPlayer;->mOpenSubtitleSources:Ljava/util/Vector;
-Landroid/media/MediaPlayer;->mPreferredDevice:Landroid/media/AudioDeviceInfo;
-Landroid/media/MediaPlayer;->mPrepareDrmInProgress:Z
-Landroid/media/MediaPlayer;->mRoutingChangeListeners:Landroid/util/ArrayMap;
-Landroid/media/MediaPlayer;->mScreenOnWhilePlaying:Z
-Landroid/media/MediaPlayer;->mSelectedSubtitleTrackIndex:I
-Landroid/media/MediaPlayer;->mStayAwake:Z
-Landroid/media/MediaPlayer;->mStreamType:I
-Landroid/media/MediaPlayer;->mSubtitleController:Landroid/media/SubtitleController;
-Landroid/media/MediaPlayer;->mSubtitleDataListenerDisabled:Z
-Landroid/media/MediaPlayer;->mSurfaceHolder:Landroid/view/SurfaceHolder;
-Landroid/media/MediaPlayer;->mTimeProvider:Landroid/media/MediaPlayer$TimeProvider;
-Landroid/media/MediaPlayer;->mUsage:I
-Landroid/media/MediaPlayer;->mWakeLock:Landroid/os/PowerManager$WakeLock;
-Landroid/media/MediaPlayer;->nativeSetDataSource(Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/media/MediaPlayer;->native_applyVolumeShaper(Landroid/media/VolumeShaper$Configuration;Landroid/media/VolumeShaper$Operation;)I
-Landroid/media/MediaPlayer;->native_enableDeviceCallback(Z)V
-Landroid/media/MediaPlayer;->native_finalize()V
-Landroid/media/MediaPlayer;->native_getMetadata(ZZLandroid/os/Parcel;)Z
-Landroid/media/MediaPlayer;->native_getMetrics()Landroid/os/PersistableBundle;
-Landroid/media/MediaPlayer;->native_getRoutedDeviceId()I
-Landroid/media/MediaPlayer;->native_getVolumeShaperState(I)Landroid/media/VolumeShaper$State;
-Landroid/media/MediaPlayer;->native_init()V
-Landroid/media/MediaPlayer;->native_invoke(Landroid/os/Parcel;Landroid/os/Parcel;)I
-Landroid/media/MediaPlayer;->native_pullBatteryData(Landroid/os/Parcel;)I
-Landroid/media/MediaPlayer;->native_setMetadataFilter(Landroid/os/Parcel;)I
-Landroid/media/MediaPlayer;->native_setOutputDevice(I)Z
-Landroid/media/MediaPlayer;->native_setRetransmitEndpoint(Ljava/lang/String;I)I
-Landroid/media/MediaPlayer;->native_setup(Ljava/lang/Object;)V
-Landroid/media/MediaPlayer;->notifyAt(J)V
-Landroid/media/MediaPlayer;->onSubtitleTrackSelected(Landroid/media/SubtitleTrack;)V
-Landroid/media/MediaPlayer;->PLAYBACK_RATE_AUDIO_MODE_DEFAULT:I
-Landroid/media/MediaPlayer;->PLAYBACK_RATE_AUDIO_MODE_RESAMPLE:I
-Landroid/media/MediaPlayer;->PLAYBACK_RATE_AUDIO_MODE_STRETCH:I
-Landroid/media/MediaPlayer;->playerApplyVolumeShaper(Landroid/media/VolumeShaper$Configuration;Landroid/media/VolumeShaper$Operation;)I
-Landroid/media/MediaPlayer;->playerGetVolumeShaperState(I)Landroid/media/VolumeShaper$State;
-Landroid/media/MediaPlayer;->playerPause()V
-Landroid/media/MediaPlayer;->playerSetAuxEffectSendLevel(ZF)I
-Landroid/media/MediaPlayer;->playerSetVolume(ZFF)V
-Landroid/media/MediaPlayer;->playerStart()V
-Landroid/media/MediaPlayer;->playerStop()V
-Landroid/media/MediaPlayer;->populateInbandTracks()V
-Landroid/media/MediaPlayer;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
-Landroid/media/MediaPlayer;->prepareDrm_createDrmStep(Ljava/util/UUID;)V
-Landroid/media/MediaPlayer;->prepareDrm_openSessionStep(Ljava/util/UUID;)V
-Landroid/media/MediaPlayer;->resetDrmState()V
-Landroid/media/MediaPlayer;->resumePrepareDrm(Ljava/util/UUID;)Z
-Landroid/media/MediaPlayer;->scanInternalSubtitleTracks()V
-Landroid/media/MediaPlayer;->selectOrDeselectInbandTrack(IZ)V
-Landroid/media/MediaPlayer;->selectOrDeselectTrack(IZ)V
-Landroid/media/MediaPlayer;->setMetadataFilter(Ljava/util/Set;Ljava/util/Set;)I
-Landroid/media/MediaPlayer;->setOnMediaTimeDiscontinuityListenerInt(Landroid/media/MediaPlayer$OnMediaTimeDiscontinuityListener;Landroid/os/Handler;)V
-Landroid/media/MediaPlayer;->setOnSubtitleDataListenerInt(Landroid/media/MediaPlayer$OnSubtitleDataListener;Landroid/os/Handler;)V
-Landroid/media/MediaPlayer;->setSubtitleAnchor()V
-Landroid/media/MediaPlayer;->setVolume(F)V
-Landroid/media/MediaPlayer;->startImpl()V
-Landroid/media/MediaPlayer;->stayAwake(Z)V
-Landroid/media/MediaPlayer;->TAG:Ljava/lang/String;
-Landroid/media/MediaPlayer;->updateSurfaceScreenOn()V
-Landroid/media/MediaPlayer;->_getAudioStreamType()I
-Landroid/media/MediaPlayer;->_notifyAt(J)V
-Landroid/media/MediaPlayer;->_pause()V
-Landroid/media/MediaPlayer;->_prepare()V
-Landroid/media/MediaPlayer;->_prepareDrm([B[B)V
-Landroid/media/MediaPlayer;->_release()V
-Landroid/media/MediaPlayer;->_releaseDrm()V
-Landroid/media/MediaPlayer;->_reset()V
-Landroid/media/MediaPlayer;->_seekTo(JI)V
-Landroid/media/MediaPlayer;->_setAudioStreamType(I)V
-Landroid/media/MediaPlayer;->_setAuxEffectSendLevel(F)V
-Landroid/media/MediaPlayer;->_setDataSource(Landroid/media/MediaDataSource;)V
-Landroid/media/MediaPlayer;->_setDataSource(Ljava/io/FileDescriptor;JJ)V
-Landroid/media/MediaPlayer;->_setVideoSurface(Landroid/view/Surface;)V
-Landroid/media/MediaPlayer;->_setVolume(FF)V
-Landroid/media/MediaPlayer;->_start()V
-Landroid/media/MediaPlayer;->_stop()V
-Landroid/media/MediaPlayerBase$BuffState;
-Landroid/media/MediaPlayerBase$PlayerEventCallback;
-Landroid/media/MediaPlayerBase$PlayerEventCallback;-><init>()V
-Landroid/media/MediaPlayerBase$PlayerEventCallback;->onBufferingStateChanged(Landroid/media/MediaPlayerBase;Landroid/media/DataSourceDesc;I)V
-Landroid/media/MediaPlayerBase$PlayerEventCallback;->onCurrentDataSourceChanged(Landroid/media/MediaPlayerBase;Landroid/media/DataSourceDesc;)V
-Landroid/media/MediaPlayerBase$PlayerEventCallback;->onMediaPrepared(Landroid/media/MediaPlayerBase;Landroid/media/DataSourceDesc;)V
-Landroid/media/MediaPlayerBase$PlayerEventCallback;->onPlaybackSpeedChanged(Landroid/media/MediaPlayerBase;F)V
-Landroid/media/MediaPlayerBase$PlayerEventCallback;->onPlayerStateChanged(Landroid/media/MediaPlayerBase;I)V
-Landroid/media/MediaPlayerBase$PlayerEventCallback;->onSeekCompleted(Landroid/media/MediaPlayerBase;J)V
-Landroid/media/MediaPlayerBase$PlayerState;
-Landroid/media/MediaPlayerBase;
-Landroid/media/MediaPlayerBase;-><init>()V
-Landroid/media/MediaPlayerBase;->BUFFERING_STATE_BUFFERING_AND_PLAYABLE:I
-Landroid/media/MediaPlayerBase;->BUFFERING_STATE_BUFFERING_AND_STARVED:I
-Landroid/media/MediaPlayerBase;->BUFFERING_STATE_BUFFERING_COMPLETE:I
-Landroid/media/MediaPlayerBase;->BUFFERING_STATE_UNKNOWN:I
-Landroid/media/MediaPlayerBase;->getAudioAttributes()Landroid/media/AudioAttributes;
-Landroid/media/MediaPlayerBase;->getBufferedPosition()J
-Landroid/media/MediaPlayerBase;->getBufferingState()I
-Landroid/media/MediaPlayerBase;->getCurrentDataSource()Landroid/media/DataSourceDesc;
-Landroid/media/MediaPlayerBase;->getCurrentPosition()J
-Landroid/media/MediaPlayerBase;->getDuration()J
-Landroid/media/MediaPlayerBase;->getMaxPlayerVolume()F
-Landroid/media/MediaPlayerBase;->getPlaybackSpeed()F
-Landroid/media/MediaPlayerBase;->getPlayerState()I
-Landroid/media/MediaPlayerBase;->getPlayerVolume()F
-Landroid/media/MediaPlayerBase;->isReversePlaybackSupported()Z
-Landroid/media/MediaPlayerBase;->loopCurrent(Z)V
-Landroid/media/MediaPlayerBase;->pause()V
-Landroid/media/MediaPlayerBase;->play()V
-Landroid/media/MediaPlayerBase;->PLAYER_STATE_ERROR:I
-Landroid/media/MediaPlayerBase;->PLAYER_STATE_IDLE:I
-Landroid/media/MediaPlayerBase;->PLAYER_STATE_PAUSED:I
-Landroid/media/MediaPlayerBase;->PLAYER_STATE_PLAYING:I
-Landroid/media/MediaPlayerBase;->prepare()V
-Landroid/media/MediaPlayerBase;->registerPlayerEventCallback(Ljava/util/concurrent/Executor;Landroid/media/MediaPlayerBase$PlayerEventCallback;)V
-Landroid/media/MediaPlayerBase;->reset()V
-Landroid/media/MediaPlayerBase;->seekTo(J)V
-Landroid/media/MediaPlayerBase;->setAudioAttributes(Landroid/media/AudioAttributes;)V
-Landroid/media/MediaPlayerBase;->setDataSource(Landroid/media/DataSourceDesc;)V
-Landroid/media/MediaPlayerBase;->setNextDataSource(Landroid/media/DataSourceDesc;)V
-Landroid/media/MediaPlayerBase;->setNextDataSources(Ljava/util/List;)V
-Landroid/media/MediaPlayerBase;->setPlaybackSpeed(F)V
-Landroid/media/MediaPlayerBase;->setPlayerVolume(F)V
-Landroid/media/MediaPlayerBase;->skipToNext()V
-Landroid/media/MediaPlayerBase;->UNKNOWN_TIME:J
-Landroid/media/MediaPlayerBase;->unregisterPlayerEventCallback(Landroid/media/MediaPlayerBase$PlayerEventCallback;)V
-Landroid/media/MediaPlaylistAgent$PlaylistEventCallback;
-Landroid/media/MediaPlaylistAgent$PlaylistEventCallback;-><init>()V
-Landroid/media/MediaPlaylistAgent$PlaylistEventCallback;->onPlaylistChanged(Landroid/media/MediaPlaylistAgent;Ljava/util/List;Landroid/media/MediaMetadata2;)V
-Landroid/media/MediaPlaylistAgent$PlaylistEventCallback;->onPlaylistMetadataChanged(Landroid/media/MediaPlaylistAgent;Landroid/media/MediaMetadata2;)V
-Landroid/media/MediaPlaylistAgent$PlaylistEventCallback;->onRepeatModeChanged(Landroid/media/MediaPlaylistAgent;I)V
-Landroid/media/MediaPlaylistAgent$PlaylistEventCallback;->onShuffleModeChanged(Landroid/media/MediaPlaylistAgent;I)V
-Landroid/media/MediaPlaylistAgent$RepeatMode;
-Landroid/media/MediaPlaylistAgent$ShuffleMode;
-Landroid/media/MediaPlaylistAgent;
-Landroid/media/MediaPlaylistAgent;-><init>()V
-Landroid/media/MediaPlaylistAgent;->addPlaylistItem(ILandroid/media/MediaItem2;)V
-Landroid/media/MediaPlaylistAgent;->getMediaItem(Landroid/media/DataSourceDesc;)Landroid/media/MediaItem2;
-Landroid/media/MediaPlaylistAgent;->getPlaylist()Ljava/util/List;
-Landroid/media/MediaPlaylistAgent;->getPlaylistMetadata()Landroid/media/MediaMetadata2;
-Landroid/media/MediaPlaylistAgent;->getRepeatMode()I
-Landroid/media/MediaPlaylistAgent;->getShuffleMode()I
-Landroid/media/MediaPlaylistAgent;->mProvider:Landroid/media/update/MediaPlaylistAgentProvider;
-Landroid/media/MediaPlaylistAgent;->notifyPlaylistChanged()V
-Landroid/media/MediaPlaylistAgent;->notifyPlaylistMetadataChanged()V
-Landroid/media/MediaPlaylistAgent;->notifyRepeatModeChanged()V
-Landroid/media/MediaPlaylistAgent;->notifyShuffleModeChanged()V
-Landroid/media/MediaPlaylistAgent;->registerPlaylistEventCallback(Ljava/util/concurrent/Executor;Landroid/media/MediaPlaylistAgent$PlaylistEventCallback;)V
-Landroid/media/MediaPlaylistAgent;->removePlaylistItem(Landroid/media/MediaItem2;)V
-Landroid/media/MediaPlaylistAgent;->REPEAT_MODE_ALL:I
-Landroid/media/MediaPlaylistAgent;->REPEAT_MODE_GROUP:I
-Landroid/media/MediaPlaylistAgent;->REPEAT_MODE_NONE:I
-Landroid/media/MediaPlaylistAgent;->REPEAT_MODE_ONE:I
-Landroid/media/MediaPlaylistAgent;->replacePlaylistItem(ILandroid/media/MediaItem2;)V
-Landroid/media/MediaPlaylistAgent;->setPlaylist(Ljava/util/List;Landroid/media/MediaMetadata2;)V
-Landroid/media/MediaPlaylistAgent;->setRepeatMode(I)V
-Landroid/media/MediaPlaylistAgent;->setShuffleMode(I)V
-Landroid/media/MediaPlaylistAgent;->SHUFFLE_MODE_ALL:I
-Landroid/media/MediaPlaylistAgent;->SHUFFLE_MODE_GROUP:I
-Landroid/media/MediaPlaylistAgent;->SHUFFLE_MODE_NONE:I
-Landroid/media/MediaPlaylistAgent;->skipToNextItem()V
-Landroid/media/MediaPlaylistAgent;->skipToPlaylistItem(Landroid/media/MediaItem2;)V
-Landroid/media/MediaPlaylistAgent;->skipToPreviousItem()V
-Landroid/media/MediaPlaylistAgent;->unregisterPlaylistEventCallback(Landroid/media/MediaPlaylistAgent$PlaylistEventCallback;)V
-Landroid/media/MediaPlaylistAgent;->updatePlaylistMetadata(Landroid/media/MediaMetadata2;)V
-Landroid/media/MediaRecorder$AudioEncoder;-><init>()V
-Landroid/media/MediaRecorder$AudioSource;-><init>()V
-Landroid/media/MediaRecorder$AudioSource;->AUDIO_SOURCE_INVALID:I
-Landroid/media/MediaRecorder$EventHandler;
-Landroid/media/MediaRecorder$EventHandler;-><init>(Landroid/media/MediaRecorder;Landroid/os/Looper;)V
-Landroid/media/MediaRecorder$EventHandler;->MEDIA_RECORDER_AUDIO_ROUTING_CHANGED:I
-Landroid/media/MediaRecorder$EventHandler;->MEDIA_RECORDER_EVENT_ERROR:I
-Landroid/media/MediaRecorder$EventHandler;->MEDIA_RECORDER_EVENT_INFO:I
-Landroid/media/MediaRecorder$EventHandler;->MEDIA_RECORDER_EVENT_LIST_END:I
-Landroid/media/MediaRecorder$EventHandler;->MEDIA_RECORDER_EVENT_LIST_START:I
-Landroid/media/MediaRecorder$EventHandler;->MEDIA_RECORDER_TRACK_EVENT_ERROR:I
-Landroid/media/MediaRecorder$EventHandler;->MEDIA_RECORDER_TRACK_EVENT_INFO:I
-Landroid/media/MediaRecorder$EventHandler;->MEDIA_RECORDER_TRACK_EVENT_LIST_END:I
-Landroid/media/MediaRecorder$EventHandler;->MEDIA_RECORDER_TRACK_EVENT_LIST_START:I
-Landroid/media/MediaRecorder$EventHandler;->mMediaRecorder:Landroid/media/MediaRecorder;
-Landroid/media/MediaRecorder$MetricsConstants;-><init>()V
-Landroid/media/MediaRecorder$OutputFormat;-><init>()V
-Landroid/media/MediaRecorder$OutputFormat;->AAC_ADIF:I
-Landroid/media/MediaRecorder$OutputFormat;->OUTPUT_FORMAT_RTP_AVP:I
-Landroid/media/MediaRecorder$VideoEncoder;-><init>()V
-Landroid/media/MediaRecorder$VideoSource;-><init>()V
-Landroid/media/MediaRecorder;->enableNativeRoutingCallbacksLocked(Z)V
-Landroid/media/MediaRecorder;->isSystemOnlyAudioSource(I)Z
-Landroid/media/MediaRecorder;->mChannelCount:I
-Landroid/media/MediaRecorder;->MEDIA_RECORDER_TRACK_INFO_COMPLETION_STATUS:I
-Landroid/media/MediaRecorder;->MEDIA_RECORDER_TRACK_INFO_DATA_KBYTES:I
-Landroid/media/MediaRecorder;->MEDIA_RECORDER_TRACK_INFO_DURATION_MS:I
-Landroid/media/MediaRecorder;->MEDIA_RECORDER_TRACK_INFO_ENCODED_FRAMES:I
-Landroid/media/MediaRecorder;->MEDIA_RECORDER_TRACK_INFO_INITIAL_DELAY_MS:I
-Landroid/media/MediaRecorder;->MEDIA_RECORDER_TRACK_INFO_LIST_END:I
-Landroid/media/MediaRecorder;->MEDIA_RECORDER_TRACK_INFO_LIST_START:I
-Landroid/media/MediaRecorder;->MEDIA_RECORDER_TRACK_INFO_MAX_CHUNK_DUR_MS:I
-Landroid/media/MediaRecorder;->MEDIA_RECORDER_TRACK_INFO_PROGRESS_IN_TIME:I
-Landroid/media/MediaRecorder;->MEDIA_RECORDER_TRACK_INFO_START_OFFSET_MS:I
-Landroid/media/MediaRecorder;->MEDIA_RECORDER_TRACK_INFO_TYPE:I
-Landroid/media/MediaRecorder;->MEDIA_RECORDER_TRACK_INTER_CHUNK_TIME_MS:I
-Landroid/media/MediaRecorder;->mFile:Ljava/io/File;
-Landroid/media/MediaRecorder;->mNativeContext:J
-Landroid/media/MediaRecorder;->mPreferredDevice:Landroid/media/AudioDeviceInfo;
-Landroid/media/MediaRecorder;->mRoutingChangeListeners:Landroid/util/ArrayMap;
-Landroid/media/MediaRecorder;->native_enableDeviceCallback(Z)V
-Landroid/media/MediaRecorder;->native_getActiveMicrophones(Ljava/util/ArrayList;)I
-Landroid/media/MediaRecorder;->native_getMetrics()Landroid/os/PersistableBundle;
-Landroid/media/MediaRecorder;->native_getRoutedDeviceId()I
-Landroid/media/MediaRecorder;->native_setInputDevice(I)Z
-Landroid/media/MediaRecorder;->native_setInputSurface(Landroid/view/Surface;)V
-Landroid/media/MediaRecorder;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
-Landroid/media/MediaRecorder;->setAuxiliaryOutputFile(Ljava/io/FileDescriptor;)V
-Landroid/media/MediaRecorder;->setAuxiliaryOutputFile(Ljava/lang/String;)V
-Landroid/media/MediaRecorder;->TAG:Ljava/lang/String;
-Landroid/media/MediaRecorder;->toLogFriendlyAudioSource(I)Ljava/lang/String;
-Landroid/media/MediaRecorder;->_setNextOutputFile(Ljava/io/FileDescriptor;)V
-Landroid/media/MediaRecorder;->_setOutputFile(Ljava/io/FileDescriptor;)V
-Landroid/media/MediaRouter$CallbackInfo;
-Landroid/media/MediaRouter$CallbackInfo;-><init>(Landroid/media/MediaRouter$Callback;IILandroid/media/MediaRouter;)V
-Landroid/media/MediaRouter$CallbackInfo;->cb:Landroid/media/MediaRouter$Callback;
-Landroid/media/MediaRouter$CallbackInfo;->filterRouteEvent(I)Z
-Landroid/media/MediaRouter$CallbackInfo;->filterRouteEvent(Landroid/media/MediaRouter$RouteInfo;)Z
-Landroid/media/MediaRouter$CallbackInfo;->flags:I
-Landroid/media/MediaRouter$CallbackInfo;->router:Landroid/media/MediaRouter;
-Landroid/media/MediaRouter$CallbackInfo;->type:I
-Landroid/media/MediaRouter$RouteCategory;-><init>(IIZ)V
-Landroid/media/MediaRouter$RouteCategory;-><init>(Ljava/lang/CharSequence;IZ)V
-Landroid/media/MediaRouter$RouteCategory;->getName(Landroid/content/res/Resources;)Ljava/lang/CharSequence;
-Landroid/media/MediaRouter$RouteCategory;->isSystem()Z
-Landroid/media/MediaRouter$RouteCategory;->mGroupable:Z
-Landroid/media/MediaRouter$RouteCategory;->mIsSystem:Z
-Landroid/media/MediaRouter$RouteCategory;->mName:Ljava/lang/CharSequence;
-Landroid/media/MediaRouter$RouteCategory;->mNameResId:I
-Landroid/media/MediaRouter$RouteCategory;->mTypes:I
-Landroid/media/MediaRouter$RouteGroup;-><init>(Landroid/media/MediaRouter$RouteCategory;)V
-Landroid/media/MediaRouter$RouteGroup;->getName(Landroid/content/res/Resources;)Ljava/lang/CharSequence;
-Landroid/media/MediaRouter$RouteGroup;->memberNameChanged(Landroid/media/MediaRouter$RouteInfo;Ljava/lang/CharSequence;)V
-Landroid/media/MediaRouter$RouteGroup;->memberStatusChanged(Landroid/media/MediaRouter$RouteInfo;Ljava/lang/CharSequence;)V
-Landroid/media/MediaRouter$RouteGroup;->memberVolumeChanged(Landroid/media/MediaRouter$RouteInfo;)V
-Landroid/media/MediaRouter$RouteGroup;->mRoutes:Ljava/util/ArrayList;
-Landroid/media/MediaRouter$RouteGroup;->mUpdateName:Z
-Landroid/media/MediaRouter$RouteGroup;->routeUpdated()V
-Landroid/media/MediaRouter$RouteGroup;->updateName()V
-Landroid/media/MediaRouter$RouteGroup;->updateVolume()V
-Landroid/media/MediaRouter$RouteInfo$DeviceType;
-Landroid/media/MediaRouter$RouteInfo$PlaybackType;
-Landroid/media/MediaRouter$RouteInfo$PlaybackVolume;
-Landroid/media/MediaRouter$RouteInfo;-><init>(Landroid/media/MediaRouter$RouteCategory;)V
-Landroid/media/MediaRouter$RouteInfo;->choosePresentationDisplay()Landroid/view/Display;
-Landroid/media/MediaRouter$RouteInfo;->isBluetooth()Z
-Landroid/media/MediaRouter$RouteInfo;->mCategory:Landroid/media/MediaRouter$RouteCategory;
-Landroid/media/MediaRouter$RouteInfo;->mDescription:Ljava/lang/CharSequence;
-Landroid/media/MediaRouter$RouteInfo;->mDeviceAddress:Ljava/lang/String;
-Landroid/media/MediaRouter$RouteInfo;->mDeviceType:I
-Landroid/media/MediaRouter$RouteInfo;->mEnabled:Z
-Landroid/media/MediaRouter$RouteInfo;->mGlobalRouteId:Ljava/lang/String;
-Landroid/media/MediaRouter$RouteInfo;->mGroup:Landroid/media/MediaRouter$RouteGroup;
-Landroid/media/MediaRouter$RouteInfo;->mIcon:Landroid/graphics/drawable/Drawable;
-Landroid/media/MediaRouter$RouteInfo;->mName:Ljava/lang/CharSequence;
-Landroid/media/MediaRouter$RouteInfo;->mPlaybackStream:I
-Landroid/media/MediaRouter$RouteInfo;->mPlaybackType:I
-Landroid/media/MediaRouter$RouteInfo;->mPresentationDisplay:Landroid/view/Display;
-Landroid/media/MediaRouter$RouteInfo;->mPresentationDisplayId:I
-Landroid/media/MediaRouter$RouteInfo;->mRealStatusCode:I
-Landroid/media/MediaRouter$RouteInfo;->mRemoteVolObserver:Landroid/media/IRemoteVolumeObserver$Stub;
-Landroid/media/MediaRouter$RouteInfo;->mResolvedStatusCode:I
-Landroid/media/MediaRouter$RouteInfo;->mStatus:Ljava/lang/CharSequence;
-Landroid/media/MediaRouter$RouteInfo;->mSupportedTypes:I
-Landroid/media/MediaRouter$RouteInfo;->mTag:Ljava/lang/Object;
-Landroid/media/MediaRouter$RouteInfo;->mVcb:Landroid/media/MediaRouter$VolumeCallbackInfo;
-Landroid/media/MediaRouter$RouteInfo;->mVolume:I
-Landroid/media/MediaRouter$RouteInfo;->mVolumeHandling:I
-Landroid/media/MediaRouter$RouteInfo;->mVolumeMax:I
-Landroid/media/MediaRouter$RouteInfo;->resolveStatusCode()Z
-Landroid/media/MediaRouter$RouteInfo;->routeUpdated()V
-Landroid/media/MediaRouter$RouteInfo;->setRealStatusCode(I)Z
-Landroid/media/MediaRouter$RouteInfo;->setStatusInt(Ljava/lang/CharSequence;)V
-Landroid/media/MediaRouter$RouteInfo;->STATUS_AVAILABLE:I
-Landroid/media/MediaRouter$RouteInfo;->STATUS_CONNECTED:I
-Landroid/media/MediaRouter$RouteInfo;->STATUS_IN_USE:I
-Landroid/media/MediaRouter$RouteInfo;->STATUS_NONE:I
-Landroid/media/MediaRouter$RouteInfo;->STATUS_NOT_AVAILABLE:I
-Landroid/media/MediaRouter$RouteInfo;->STATUS_SCANNING:I
-Landroid/media/MediaRouter$RouteInfo;->updatePresentationDisplay()Z
-Landroid/media/MediaRouter$Static$Client;
-Landroid/media/MediaRouter$Static$Client;-><init>()V
-Landroid/media/MediaRouter$Static$Client;->onRestoreRoute()V
-Landroid/media/MediaRouter$Static$Client;->onStateChanged()V
-Landroid/media/MediaRouter$Static;
-Landroid/media/MediaRouter$Static;-><init>(Landroid/content/Context;)V
-Landroid/media/MediaRouter$Static;->findGlobalRoute(Ljava/lang/String;)Landroid/media/MediaRouter$RouteInfo;
-Landroid/media/MediaRouter$Static;->getAllPresentationDisplays()[Landroid/view/Display;
-Landroid/media/MediaRouter$Static;->isBluetoothA2dpOn()Z
-Landroid/media/MediaRouter$Static;->isPlaybackActive()Z
-Landroid/media/MediaRouter$Static;->mActivelyScanningWifiDisplays:Z
-Landroid/media/MediaRouter$Static;->makeGlobalRoute(Landroid/media/MediaRouterClientState$RouteInfo;)Landroid/media/MediaRouter$RouteInfo;
-Landroid/media/MediaRouter$Static;->mAudioRoutesObserver:Landroid/media/IAudioRoutesObserver$Stub;
-Landroid/media/MediaRouter$Static;->mAudioService:Landroid/media/IAudioService;
-Landroid/media/MediaRouter$Static;->mBluetoothA2dpRoute:Landroid/media/MediaRouter$RouteInfo;
-Landroid/media/MediaRouter$Static;->mCallbacks:Ljava/util/concurrent/CopyOnWriteArrayList;
-Landroid/media/MediaRouter$Static;->mCanConfigureWifiDisplays:Z
-Landroid/media/MediaRouter$Static;->mCategories:Ljava/util/ArrayList;
-Landroid/media/MediaRouter$Static;->mClient:Landroid/media/IMediaRouterClient;
-Landroid/media/MediaRouter$Static;->mClientState:Landroid/media/MediaRouterClientState;
-Landroid/media/MediaRouter$Static;->mCurAudioRoutesInfo:Landroid/media/AudioRoutesInfo;
-Landroid/media/MediaRouter$Static;->mCurrentUserId:I
-Landroid/media/MediaRouter$Static;->mDefaultAudioVideo:Landroid/media/MediaRouter$RouteInfo;
-Landroid/media/MediaRouter$Static;->mDiscoverRequestActiveScan:Z
-Landroid/media/MediaRouter$Static;->mDiscoveryRequestRouteTypes:I
-Landroid/media/MediaRouter$Static;->mDisplayService:Landroid/hardware/display/DisplayManager;
-Landroid/media/MediaRouter$Static;->mHandler:Landroid/os/Handler;
-Landroid/media/MediaRouter$Static;->mMediaRouterService:Landroid/media/IMediaRouterService;
-Landroid/media/MediaRouter$Static;->mPackageName:Ljava/lang/String;
-Landroid/media/MediaRouter$Static;->mPreviousActiveWifiDisplayAddress:Ljava/lang/String;
-Landroid/media/MediaRouter$Static;->mResources:Landroid/content/res/Resources;
-Landroid/media/MediaRouter$Static;->mRoutes:Ljava/util/ArrayList;
-Landroid/media/MediaRouter$Static;->mSelectedRoute:Landroid/media/MediaRouter$RouteInfo;
-Landroid/media/MediaRouter$Static;->mSystemCategory:Landroid/media/MediaRouter$RouteCategory;
-Landroid/media/MediaRouter$Static;->publishClientDiscoveryRequest()V
-Landroid/media/MediaRouter$Static;->publishClientSelectedRoute(Z)V
-Landroid/media/MediaRouter$Static;->rebindAsUser(I)V
-Landroid/media/MediaRouter$Static;->requestSetVolume(Landroid/media/MediaRouter$RouteInfo;I)V
-Landroid/media/MediaRouter$Static;->requestUpdateVolume(Landroid/media/MediaRouter$RouteInfo;I)V
-Landroid/media/MediaRouter$Static;->setSelectedRoute(Landroid/media/MediaRouter$RouteInfo;Z)V
-Landroid/media/MediaRouter$Static;->startMonitoringRoutes(Landroid/content/Context;)V
-Landroid/media/MediaRouter$Static;->updateAudioRoutes(Landroid/media/AudioRoutesInfo;)V
-Landroid/media/MediaRouter$Static;->updateClientState()V
-Landroid/media/MediaRouter$Static;->updateDiscoveryRequest()V
-Landroid/media/MediaRouter$Static;->updateGlobalRoute(Landroid/media/MediaRouter$RouteInfo;Landroid/media/MediaRouterClientState$RouteInfo;)V
-Landroid/media/MediaRouter$Static;->updatePresentationDisplays(I)V
-Landroid/media/MediaRouter$UserRouteInfo$SessionVolumeProvider;
-Landroid/media/MediaRouter$UserRouteInfo$SessionVolumeProvider;-><init>(III)V
-Landroid/media/MediaRouter$UserRouteInfo;-><init>(Landroid/media/MediaRouter$RouteCategory;)V
-Landroid/media/MediaRouter$UserRouteInfo;->configureSessionVolume()V
-Landroid/media/MediaRouter$UserRouteInfo;->mRcc:Landroid/media/RemoteControlClient;
-Landroid/media/MediaRouter$UserRouteInfo;->mSvp:Landroid/media/MediaRouter$UserRouteInfo$SessionVolumeProvider;
-Landroid/media/MediaRouter$UserRouteInfo;->updatePlaybackInfoOnRcc()V
-Landroid/media/MediaRouter$VolumeCallbackInfo;
-Landroid/media/MediaRouter$VolumeCallbackInfo;-><init>(Landroid/media/MediaRouter$VolumeCallback;Landroid/media/MediaRouter$RouteInfo;)V
-Landroid/media/MediaRouter$VolumeCallbackInfo;->route:Landroid/media/MediaRouter$RouteInfo;
-Landroid/media/MediaRouter$VolumeCallbackInfo;->vcb:Landroid/media/MediaRouter$VolumeCallback;
-Landroid/media/MediaRouter$VolumeChangeReceiver;
-Landroid/media/MediaRouter$VolumeChangeReceiver;-><init>()V
-Landroid/media/MediaRouter$WifiDisplayStatusChangedReceiver;
-Landroid/media/MediaRouter$WifiDisplayStatusChangedReceiver;-><init>()V
-Landroid/media/MediaRouter;-><init>(Landroid/content/Context;)V
-Landroid/media/MediaRouter;->addRouteInt(Landroid/media/MediaRouter$RouteInfo;)V
-Landroid/media/MediaRouter;->addRouteStatic(Landroid/media/MediaRouter$RouteInfo;)V
-Landroid/media/MediaRouter;->AVAILABILITY_FLAG_IGNORE_DEFAULT_ROUTE:I
-Landroid/media/MediaRouter;->CALLBACK_FLAG_PASSIVE_DISCOVERY:I
-Landroid/media/MediaRouter;->CALLBACK_FLAG_REQUEST_DISCOVERY:I
-Landroid/media/MediaRouter;->DEBUG:Z
-Landroid/media/MediaRouter;->dispatchRouteAdded(Landroid/media/MediaRouter$RouteInfo;)V
-Landroid/media/MediaRouter;->dispatchRouteChanged(Landroid/media/MediaRouter$RouteInfo;)V
-Landroid/media/MediaRouter;->dispatchRouteChanged(Landroid/media/MediaRouter$RouteInfo;I)V
-Landroid/media/MediaRouter;->dispatchRouteGrouped(Landroid/media/MediaRouter$RouteInfo;Landroid/media/MediaRouter$RouteGroup;I)V
-Landroid/media/MediaRouter;->dispatchRoutePresentationDisplayChanged(Landroid/media/MediaRouter$RouteInfo;)V
-Landroid/media/MediaRouter;->dispatchRouteRemoved(Landroid/media/MediaRouter$RouteInfo;)V
-Landroid/media/MediaRouter;->dispatchRouteSelected(ILandroid/media/MediaRouter$RouteInfo;)V
-Landroid/media/MediaRouter;->dispatchRouteUngrouped(Landroid/media/MediaRouter$RouteInfo;Landroid/media/MediaRouter$RouteGroup;)V
-Landroid/media/MediaRouter;->dispatchRouteUnselected(ILandroid/media/MediaRouter$RouteInfo;)V
-Landroid/media/MediaRouter;->dispatchRouteVolumeChanged(Landroid/media/MediaRouter$RouteInfo;)V
-Landroid/media/MediaRouter;->findCallbackInfo(Landroid/media/MediaRouter$Callback;)I
-Landroid/media/MediaRouter;->findWifiDisplay([Landroid/hardware/display/WifiDisplay;Ljava/lang/String;)Landroid/hardware/display/WifiDisplay;
-Landroid/media/MediaRouter;->findWifiDisplayRoute(Landroid/hardware/display/WifiDisplay;)Landroid/media/MediaRouter$RouteInfo;
-Landroid/media/MediaRouter;->getFallbackRoute()Landroid/media/MediaRouter$RouteInfo;
-Landroid/media/MediaRouter;->getRouteAtStatic(I)Landroid/media/MediaRouter$RouteInfo;
-Landroid/media/MediaRouter;->getRouteCountStatic()I
-Landroid/media/MediaRouter;->getSystemCategory()Landroid/media/MediaRouter$RouteCategory;
-Landroid/media/MediaRouter;->getWifiDisplayStatusCode(Landroid/hardware/display/WifiDisplay;Landroid/hardware/display/WifiDisplayStatus;)I
-Landroid/media/MediaRouter;->isRouteAvailable(II)Z
-Landroid/media/MediaRouter;->isWifiDisplayEnabled(Landroid/hardware/display/WifiDisplay;Landroid/hardware/display/WifiDisplayStatus;)Z
-Landroid/media/MediaRouter;->makeWifiDisplayRoute(Landroid/hardware/display/WifiDisplay;Landroid/hardware/display/WifiDisplayStatus;)Landroid/media/MediaRouter$RouteInfo;
-Landroid/media/MediaRouter;->matchesDeviceAddress(Landroid/hardware/display/WifiDisplay;Landroid/media/MediaRouter$RouteInfo;)Z
-Landroid/media/MediaRouter;->rebindAsUser(I)V
-Landroid/media/MediaRouter;->removeRouteInt(Landroid/media/MediaRouter$RouteInfo;)V
-Landroid/media/MediaRouter;->removeRouteStatic(Landroid/media/MediaRouter$RouteInfo;)V
-Landroid/media/MediaRouter;->ROUTE_TYPE_ANY:I
-Landroid/media/MediaRouter;->ROUTE_TYPE_REMOTE_DISPLAY:I
-Landroid/media/MediaRouter;->selectDefaultRouteStatic()V
-Landroid/media/MediaRouter;->selectRouteStatic(ILandroid/media/MediaRouter$RouteInfo;Z)V
-Landroid/media/MediaRouter;->shouldShowWifiDisplay(Landroid/hardware/display/WifiDisplay;Landroid/hardware/display/WifiDisplay;)Z
-Landroid/media/MediaRouter;->sRouters:Ljava/util/HashMap;
-Landroid/media/MediaRouter;->sStatic:Landroid/media/MediaRouter$Static;
-Landroid/media/MediaRouter;->systemVolumeChanged(I)V
-Landroid/media/MediaRouter;->TAG:Ljava/lang/String;
-Landroid/media/MediaRouter;->typesToString(I)Ljava/lang/String;
-Landroid/media/MediaRouter;->updateRoute(Landroid/media/MediaRouter$RouteInfo;)V
-Landroid/media/MediaRouter;->updateWifiDisplayRoute(Landroid/media/MediaRouter$RouteInfo;Landroid/hardware/display/WifiDisplay;Landroid/hardware/display/WifiDisplayStatus;Z)V
-Landroid/media/MediaRouter;->updateWifiDisplayStatus(Landroid/hardware/display/WifiDisplayStatus;)V
-Landroid/media/MediaRouterClientState$RouteInfo;
-Landroid/media/MediaRouterClientState$RouteInfo;-><init>(Landroid/media/MediaRouterClientState$RouteInfo;)V
-Landroid/media/MediaRouterClientState$RouteInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/media/MediaRouterClientState$RouteInfo;-><init>(Ljava/lang/String;)V
-Landroid/media/MediaRouterClientState$RouteInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/media/MediaRouterClientState$RouteInfo;->description:Ljava/lang/String;
-Landroid/media/MediaRouterClientState$RouteInfo;->deviceType:I
-Landroid/media/MediaRouterClientState$RouteInfo;->enabled:Z
-Landroid/media/MediaRouterClientState$RouteInfo;->id:Ljava/lang/String;
-Landroid/media/MediaRouterClientState$RouteInfo;->name:Ljava/lang/String;
-Landroid/media/MediaRouterClientState$RouteInfo;->playbackStream:I
-Landroid/media/MediaRouterClientState$RouteInfo;->playbackType:I
-Landroid/media/MediaRouterClientState$RouteInfo;->presentationDisplayId:I
-Landroid/media/MediaRouterClientState$RouteInfo;->statusCode:I
-Landroid/media/MediaRouterClientState$RouteInfo;->supportedTypes:I
-Landroid/media/MediaRouterClientState$RouteInfo;->volume:I
-Landroid/media/MediaRouterClientState$RouteInfo;->volumeHandling:I
-Landroid/media/MediaRouterClientState$RouteInfo;->volumeMax:I
-Landroid/media/MediaRouterClientState;
-Landroid/media/MediaRouterClientState;-><init>()V
-Landroid/media/MediaRouterClientState;-><init>(Landroid/os/Parcel;)V
-Landroid/media/MediaRouterClientState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/media/MediaRouterClientState;->getRoute(Ljava/lang/String;)Landroid/media/MediaRouterClientState$RouteInfo;
-Landroid/media/MediaRouterClientState;->routes:Ljava/util/ArrayList;
-Landroid/media/MediaScanner$FileEntry;
-Landroid/media/MediaScanner$FileEntry;->mFormat:I
-Landroid/media/MediaScanner$FileEntry;->mLastModified:J
-Landroid/media/MediaScanner$FileEntry;->mPath:Ljava/lang/String;
-Landroid/media/MediaScanner$MediaBulkDeleter;
-Landroid/media/MediaScanner$MediaBulkDeleter;-><init>(Landroid/content/ContentProviderClient;Landroid/net/Uri;)V
-Landroid/media/MediaScanner$MediaBulkDeleter;->delete(J)V
-Landroid/media/MediaScanner$MediaBulkDeleter;->flush()V
-Landroid/media/MediaScanner$MediaBulkDeleter;->mBaseUri:Landroid/net/Uri;
-Landroid/media/MediaScanner$MediaBulkDeleter;->mProvider:Landroid/content/ContentProviderClient;
-Landroid/media/MediaScanner$MediaBulkDeleter;->whereArgs:Ljava/util/ArrayList;
-Landroid/media/MediaScanner$MediaBulkDeleter;->whereClause:Ljava/lang/StringBuilder;
-Landroid/media/MediaScanner$MyMediaScannerClient;
-Landroid/media/MediaScanner$MyMediaScannerClient;-><init>()V
-Landroid/media/MediaScanner$MyMediaScannerClient;->convertGenreCode(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/media/MediaScanner$MyMediaScannerClient;->doesPathHaveFilename(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/media/MediaScanner$MyMediaScannerClient;->getGenreName(Ljava/lang/String;)Ljava/lang/String;
-Landroid/media/MediaScanner$MyMediaScannerClient;->mAlbum:Ljava/lang/String;
-Landroid/media/MediaScanner$MyMediaScannerClient;->mAlbumArtist:Ljava/lang/String;
-Landroid/media/MediaScanner$MyMediaScannerClient;->mArtist:Ljava/lang/String;
-Landroid/media/MediaScanner$MyMediaScannerClient;->mCompilation:I
-Landroid/media/MediaScanner$MyMediaScannerClient;->mComposer:Ljava/lang/String;
-Landroid/media/MediaScanner$MyMediaScannerClient;->mDate:J
-Landroid/media/MediaScanner$MyMediaScannerClient;->mDateFormatter:Ljava/text/SimpleDateFormat;
-Landroid/media/MediaScanner$MyMediaScannerClient;->mDuration:I
-Landroid/media/MediaScanner$MyMediaScannerClient;->mFileSize:J
-Landroid/media/MediaScanner$MyMediaScannerClient;->mGenre:Ljava/lang/String;
-Landroid/media/MediaScanner$MyMediaScannerClient;->mHeight:I
-Landroid/media/MediaScanner$MyMediaScannerClient;->mLastModified:J
-Landroid/media/MediaScanner$MyMediaScannerClient;->mScanSuccess:Z
-Landroid/media/MediaScanner$MyMediaScannerClient;->mTitle:Ljava/lang/String;
-Landroid/media/MediaScanner$MyMediaScannerClient;->mTrack:I
-Landroid/media/MediaScanner$MyMediaScannerClient;->mWidth:I
-Landroid/media/MediaScanner$MyMediaScannerClient;->mWriter:Ljava/lang/String;
-Landroid/media/MediaScanner$MyMediaScannerClient;->mYear:I
-Landroid/media/MediaScanner$MyMediaScannerClient;->parseDate(Ljava/lang/String;)J
-Landroid/media/MediaScanner$MyMediaScannerClient;->parseSubstring(Ljava/lang/String;II)I
-Landroid/media/MediaScanner$MyMediaScannerClient;->processImageFile(Ljava/lang/String;)Z
-Landroid/media/MediaScanner$MyMediaScannerClient;->setRingtoneIfNotSet(Ljava/lang/String;Landroid/net/Uri;J)V
-Landroid/media/MediaScanner$MyMediaScannerClient;->testGenreNameConverter()V
-Landroid/media/MediaScanner$PlaylistEntry;
-Landroid/media/MediaScanner$PlaylistEntry;-><init>()V
-Landroid/media/MediaScanner$PlaylistEntry;->bestmatchid:J
-Landroid/media/MediaScanner$PlaylistEntry;->bestmatchlevel:I
-Landroid/media/MediaScanner$PlaylistEntry;->path:Ljava/lang/String;
-Landroid/media/MediaScanner$WplHandler;
-Landroid/media/MediaScanner$WplHandler;-><init>(Ljava/lang/String;Landroid/net/Uri;Landroid/database/Cursor;)V
-Landroid/media/MediaScanner$WplHandler;->getContentHandler()Lorg/xml/sax/ContentHandler;
-Landroid/media/MediaScanner$WplHandler;->handler:Lorg/xml/sax/ContentHandler;
-Landroid/media/MediaScanner$WplHandler;->playListDirectory:Ljava/lang/String;
-Landroid/media/MediaScanner;
-Landroid/media/MediaScanner;->ALARMS_DIR:Ljava/lang/String;
-Landroid/media/MediaScanner;->cachePlaylistEntry(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/media/MediaScanner;->clearMediaPathCache(ZZ)V
-Landroid/media/MediaScanner;->DATE_MODIFIED_PLAYLISTS_COLUMN_INDEX:I
-Landroid/media/MediaScanner;->DEFAULT_RINGTONE_PROPERTY_PREFIX:Ljava/lang/String;
-Landroid/media/MediaScanner;->ENABLE_BULK_INSERTS:Z
-Landroid/media/MediaScanner;->extractAlbumArt(Ljava/io/FileDescriptor;)[B
-Landroid/media/MediaScanner;->FILES_PRESCAN_DATE_MODIFIED_COLUMN_INDEX:I
-Landroid/media/MediaScanner;->FILES_PRESCAN_FORMAT_COLUMN_INDEX:I
-Landroid/media/MediaScanner;->FILES_PRESCAN_ID_COLUMN_INDEX:I
-Landroid/media/MediaScanner;->FILES_PRESCAN_PATH_COLUMN_INDEX:I
-Landroid/media/MediaScanner;->ID3_GENRES:[Ljava/lang/String;
-Landroid/media/MediaScanner;->ID_PLAYLISTS_COLUMN_INDEX:I
-Landroid/media/MediaScanner;->ID_PROJECTION:[Ljava/lang/String;
-Landroid/media/MediaScanner;->isNoMediaFile(Ljava/lang/String;)Z
-Landroid/media/MediaScanner;->isSystemSoundWithMetadata(Ljava/lang/String;)Z
-Landroid/media/MediaScanner;->LAST_INTERNAL_SCAN_FINGERPRINT:Ljava/lang/String;
-Landroid/media/MediaScanner;->matchEntries(JLjava/lang/String;)Z
-Landroid/media/MediaScanner;->matchPaths(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/media/MediaScanner;->mBitmapOptions:Landroid/graphics/BitmapFactory$Options;
-Landroid/media/MediaScanner;->mClosed:Ljava/util/concurrent/atomic/AtomicBoolean;
-Landroid/media/MediaScanner;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/media/MediaScanner;->mDefaultAlarmSet:Z
-Landroid/media/MediaScanner;->mDefaultNotificationSet:Z
-Landroid/media/MediaScanner;->mDefaultRingtoneSet:Z
-Landroid/media/MediaScanner;->mDrmManagerClient:Landroid/drm/DrmManagerClient;
-Landroid/media/MediaScanner;->mFilesUriNoNotify:Landroid/net/Uri;
-Landroid/media/MediaScanner;->mImagesUri:Landroid/net/Uri;
-Landroid/media/MediaScanner;->mMediaPaths:Ljava/util/HashMap;
-Landroid/media/MediaScanner;->mMediaProvider:Landroid/content/ContentProviderClient;
-Landroid/media/MediaScanner;->mMtpObjectHandle:I
-Landroid/media/MediaScanner;->mNativeContext:J
-Landroid/media/MediaScanner;->mNoMediaPaths:Ljava/util/HashMap;
-Landroid/media/MediaScanner;->mOriginalCount:I
-Landroid/media/MediaScanner;->mPlaylistEntries:Ljava/util/ArrayList;
-Landroid/media/MediaScanner;->mPlayLists:Ljava/util/ArrayList;
-Landroid/media/MediaScanner;->mPlaylistsUri:Landroid/net/Uri;
-Landroid/media/MediaScanner;->mProcessGenres:Z
-Landroid/media/MediaScanner;->mProcessPlaylists:Z
-Landroid/media/MediaScanner;->MUSIC_DIR:Ljava/lang/String;
-Landroid/media/MediaScanner;->mVideoUri:Landroid/net/Uri;
-Landroid/media/MediaScanner;->mVolumeName:Ljava/lang/String;
-Landroid/media/MediaScanner;->native_finalize()V
-Landroid/media/MediaScanner;->native_init()V
-Landroid/media/MediaScanner;->native_setup()V
-Landroid/media/MediaScanner;->NOTIFICATIONS_DIR:Ljava/lang/String;
-Landroid/media/MediaScanner;->PATH_PLAYLISTS_COLUMN_INDEX:I
-Landroid/media/MediaScanner;->PLAYLIST_MEMBERS_PROJECTION:[Ljava/lang/String;
-Landroid/media/MediaScanner;->PODCAST_DIR:Ljava/lang/String;
-Landroid/media/MediaScanner;->processCachedPlaylist(Landroid/database/Cursor;Landroid/content/ContentValues;Landroid/net/Uri;)V
-Landroid/media/MediaScanner;->processDirectory(Ljava/lang/String;Landroid/media/MediaScannerClient;)V
-Landroid/media/MediaScanner;->processFile(Ljava/lang/String;Ljava/lang/String;Landroid/media/MediaScannerClient;)Z
-Landroid/media/MediaScanner;->processM3uPlayList(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;Landroid/database/Cursor;)V
-Landroid/media/MediaScanner;->processPlayList(Landroid/media/MediaScanner$FileEntry;Landroid/database/Cursor;)V
-Landroid/media/MediaScanner;->processPlayLists()V
-Landroid/media/MediaScanner;->processPlsPlayList(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;Landroid/database/Cursor;)V
-Landroid/media/MediaScanner;->processWplPlayList(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;Landroid/database/Cursor;)V
-Landroid/media/MediaScanner;->PRODUCT_SOUNDS_DIR:Ljava/lang/String;
-Landroid/media/MediaScanner;->releaseResources()V
-Landroid/media/MediaScanner;->RINGTONES_DIR:Ljava/lang/String;
-Landroid/media/MediaScanner;->scanDirectories([Ljava/lang/String;)V
-Landroid/media/MediaScanner;->scanMtpFile(Ljava/lang/String;II)V
-Landroid/media/MediaScanner;->SCANNED_BUILD_PREFS_NAME:Ljava/lang/String;
-Landroid/media/MediaScanner;->setDefaultRingtoneFileNames()V
-Landroid/media/MediaScanner;->settingSetIndicatorName(Ljava/lang/String;)Ljava/lang/String;
-Landroid/media/MediaScanner;->sLastInternalScanFingerprint:Ljava/lang/String;
-Landroid/media/MediaScanner;->SYSTEM_SOUNDS_DIR:Ljava/lang/String;
-Landroid/media/MediaScanner;->TAG:Ljava/lang/String;
-Landroid/media/MediaScanner;->wasRingtoneAlreadySet(Ljava/lang/String;)Z
-Landroid/media/MediaScannerClient;
-Landroid/media/MediaScannerClient;->handleStringTag(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/media/MediaScannerClient;->scanFile(Ljava/lang/String;JJZZ)V
-Landroid/media/MediaScannerClient;->setMimeType(Ljava/lang/String;)V
-Landroid/media/MediaScannerConnection$ClientProxy;
-Landroid/media/MediaScannerConnection$ClientProxy;-><init>([Ljava/lang/String;[Ljava/lang/String;Landroid/media/MediaScannerConnection$OnScanCompletedListener;)V
-Landroid/media/MediaScannerConnection$ClientProxy;->mClient:Landroid/media/MediaScannerConnection$OnScanCompletedListener;
-Landroid/media/MediaScannerConnection$ClientProxy;->mConnection:Landroid/media/MediaScannerConnection;
-Landroid/media/MediaScannerConnection$ClientProxy;->mMimeTypes:[Ljava/lang/String;
-Landroid/media/MediaScannerConnection$ClientProxy;->mNextPath:I
-Landroid/media/MediaScannerConnection$ClientProxy;->mPaths:[Ljava/lang/String;
-Landroid/media/MediaScannerConnection$ClientProxy;->scanNextPath()V
-Landroid/media/MediaScannerConnection;->mClient:Landroid/media/MediaScannerConnection$MediaScannerConnectionClient;
-Landroid/media/MediaScannerConnection;->mConnected:Z
-Landroid/media/MediaScannerConnection;->mContext:Landroid/content/Context;
-Landroid/media/MediaScannerConnection;->mListener:Landroid/media/IMediaScannerListener$Stub;
-Landroid/media/MediaScannerConnection;->mService:Landroid/media/IMediaScannerService;
-Landroid/media/MediaScannerConnection;->TAG:Ljava/lang/String;
-Landroid/media/MediaSession2$Builder;
-Landroid/media/MediaSession2$Builder;-><init>(Landroid/content/Context;)V
-Landroid/media/MediaSession2$Builder;->build()Landroid/media/MediaSession2;
-Landroid/media/MediaSession2$Builder;->setId(Ljava/lang/String;)Landroid/media/MediaSession2$Builder;
-Landroid/media/MediaSession2$Builder;->setPlayer(Landroid/media/MediaPlayerBase;)Landroid/media/MediaSession2$Builder;
-Landroid/media/MediaSession2$Builder;->setPlaylistAgent(Landroid/media/MediaPlaylistAgent;)Landroid/media/MediaSession2$Builder;
-Landroid/media/MediaSession2$Builder;->setSessionActivity(Landroid/app/PendingIntent;)Landroid/media/MediaSession2$Builder;
-Landroid/media/MediaSession2$Builder;->setSessionCallback(Ljava/util/concurrent/Executor;Landroid/media/MediaSession2$SessionCallback;)Landroid/media/MediaSession2$Builder;
-Landroid/media/MediaSession2$Builder;->setVolumeProvider(Landroid/media/VolumeProvider2;)Landroid/media/MediaSession2$Builder;
-Landroid/media/MediaSession2$BuilderBase;
-Landroid/media/MediaSession2$BuilderBase;-><init>(Landroid/media/update/ProviderCreator;)V
-Landroid/media/MediaSession2$BuilderBase;->build()Landroid/media/MediaSession2;
-Landroid/media/MediaSession2$BuilderBase;->mProvider:Landroid/media/update/MediaSession2Provider$BuilderBaseProvider;
-Landroid/media/MediaSession2$BuilderBase;->setId(Ljava/lang/String;)Landroid/media/MediaSession2$BuilderBase;
-Landroid/media/MediaSession2$BuilderBase;->setPlayer(Landroid/media/MediaPlayerBase;)Landroid/media/MediaSession2$BuilderBase;
-Landroid/media/MediaSession2$BuilderBase;->setPlaylistAgent(Landroid/media/MediaPlaylistAgent;)Landroid/media/MediaSession2$BuilderBase;
-Landroid/media/MediaSession2$BuilderBase;->setSessionActivity(Landroid/app/PendingIntent;)Landroid/media/MediaSession2$BuilderBase;
-Landroid/media/MediaSession2$BuilderBase;->setSessionCallback(Ljava/util/concurrent/Executor;Landroid/media/MediaSession2$SessionCallback;)Landroid/media/MediaSession2$BuilderBase;
-Landroid/media/MediaSession2$BuilderBase;->setVolumeProvider(Landroid/media/VolumeProvider2;)Landroid/media/MediaSession2$BuilderBase;
-Landroid/media/MediaSession2$CommandButton$Builder;
-Landroid/media/MediaSession2$CommandButton$Builder;-><init>()V
-Landroid/media/MediaSession2$CommandButton$Builder;->build()Landroid/media/MediaSession2$CommandButton;
-Landroid/media/MediaSession2$CommandButton$Builder;->mProvider:Landroid/media/update/MediaSession2Provider$CommandButtonProvider$BuilderProvider;
-Landroid/media/MediaSession2$CommandButton$Builder;->setCommand(Landroid/media/SessionCommand2;)Landroid/media/MediaSession2$CommandButton$Builder;
-Landroid/media/MediaSession2$CommandButton$Builder;->setDisplayName(Ljava/lang/String;)Landroid/media/MediaSession2$CommandButton$Builder;
-Landroid/media/MediaSession2$CommandButton$Builder;->setEnabled(Z)Landroid/media/MediaSession2$CommandButton$Builder;
-Landroid/media/MediaSession2$CommandButton$Builder;->setExtras(Landroid/os/Bundle;)Landroid/media/MediaSession2$CommandButton$Builder;
-Landroid/media/MediaSession2$CommandButton$Builder;->setIconResId(I)Landroid/media/MediaSession2$CommandButton$Builder;
-Landroid/media/MediaSession2$CommandButton;
-Landroid/media/MediaSession2$CommandButton;-><init>(Landroid/media/update/MediaSession2Provider$CommandButtonProvider;)V
-Landroid/media/MediaSession2$CommandButton;->getCommand()Landroid/media/SessionCommand2;
-Landroid/media/MediaSession2$CommandButton;->getDisplayName()Ljava/lang/String;
-Landroid/media/MediaSession2$CommandButton;->getExtras()Landroid/os/Bundle;
-Landroid/media/MediaSession2$CommandButton;->getIconResId()I
-Landroid/media/MediaSession2$CommandButton;->getProvider()Landroid/media/update/MediaSession2Provider$CommandButtonProvider;
-Landroid/media/MediaSession2$CommandButton;->isEnabled()Z
-Landroid/media/MediaSession2$CommandButton;->mProvider:Landroid/media/update/MediaSession2Provider$CommandButtonProvider;
-Landroid/media/MediaSession2$ControllerInfo;
-Landroid/media/MediaSession2$ControllerInfo;-><init>(Landroid/content/Context;IILjava/lang/String;Landroid/os/IInterface;)V
-Landroid/media/MediaSession2$ControllerInfo;->getPackageName()Ljava/lang/String;
-Landroid/media/MediaSession2$ControllerInfo;->getProvider()Landroid/media/update/MediaSession2Provider$ControllerInfoProvider;
-Landroid/media/MediaSession2$ControllerInfo;->getUid()I
-Landroid/media/MediaSession2$ControllerInfo;->isTrusted()Z
-Landroid/media/MediaSession2$ControllerInfo;->mProvider:Landroid/media/update/MediaSession2Provider$ControllerInfoProvider;
-Landroid/media/MediaSession2$ErrorCode;
-Landroid/media/MediaSession2$OnDataSourceMissingHelper;
-Landroid/media/MediaSession2$OnDataSourceMissingHelper;->onDataSourceMissing(Landroid/media/MediaSession2;Landroid/media/MediaItem2;)Landroid/media/DataSourceDesc;
-Landroid/media/MediaSession2$SessionCallback;
-Landroid/media/MediaSession2$SessionCallback;-><init>()V
-Landroid/media/MediaSession2$SessionCallback;->onBufferingStateChanged(Landroid/media/MediaSession2;Landroid/media/MediaPlayerBase;Landroid/media/MediaItem2;I)V
-Landroid/media/MediaSession2$SessionCallback;->onCommandRequest(Landroid/media/MediaSession2;Landroid/media/MediaSession2$ControllerInfo;Landroid/media/SessionCommand2;)Z
-Landroid/media/MediaSession2$SessionCallback;->onConnect(Landroid/media/MediaSession2;Landroid/media/MediaSession2$ControllerInfo;)Landroid/media/SessionCommandGroup2;
-Landroid/media/MediaSession2$SessionCallback;->onCurrentMediaItemChanged(Landroid/media/MediaSession2;Landroid/media/MediaPlayerBase;Landroid/media/MediaItem2;)V
-Landroid/media/MediaSession2$SessionCallback;->onCustomCommand(Landroid/media/MediaSession2;Landroid/media/MediaSession2$ControllerInfo;Landroid/media/SessionCommand2;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
-Landroid/media/MediaSession2$SessionCallback;->onDisconnected(Landroid/media/MediaSession2;Landroid/media/MediaSession2$ControllerInfo;)V
-Landroid/media/MediaSession2$SessionCallback;->onFastForward(Landroid/media/MediaSession2;)V
-Landroid/media/MediaSession2$SessionCallback;->onMediaPrepared(Landroid/media/MediaSession2;Landroid/media/MediaPlayerBase;Landroid/media/MediaItem2;)V
-Landroid/media/MediaSession2$SessionCallback;->onPlaybackSpeedChanged(Landroid/media/MediaSession2;Landroid/media/MediaPlayerBase;F)V
-Landroid/media/MediaSession2$SessionCallback;->onPlayerStateChanged(Landroid/media/MediaSession2;Landroid/media/MediaPlayerBase;I)V
-Landroid/media/MediaSession2$SessionCallback;->onPlayFromMediaId(Landroid/media/MediaSession2;Landroid/media/MediaSession2$ControllerInfo;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/MediaSession2$SessionCallback;->onPlayFromSearch(Landroid/media/MediaSession2;Landroid/media/MediaSession2$ControllerInfo;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/MediaSession2$SessionCallback;->onPlayFromUri(Landroid/media/MediaSession2;Landroid/media/MediaSession2$ControllerInfo;Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/MediaSession2$SessionCallback;->onPlaylistChanged(Landroid/media/MediaSession2;Landroid/media/MediaPlaylistAgent;Ljava/util/List;Landroid/media/MediaMetadata2;)V
-Landroid/media/MediaSession2$SessionCallback;->onPlaylistMetadataChanged(Landroid/media/MediaSession2;Landroid/media/MediaPlaylistAgent;Landroid/media/MediaMetadata2;)V
-Landroid/media/MediaSession2$SessionCallback;->onPrepareFromMediaId(Landroid/media/MediaSession2;Landroid/media/MediaSession2$ControllerInfo;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/MediaSession2$SessionCallback;->onPrepareFromSearch(Landroid/media/MediaSession2;Landroid/media/MediaSession2$ControllerInfo;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/MediaSession2$SessionCallback;->onPrepareFromUri(Landroid/media/MediaSession2;Landroid/media/MediaSession2$ControllerInfo;Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/MediaSession2$SessionCallback;->onRepeatModeChanged(Landroid/media/MediaSession2;Landroid/media/MediaPlaylistAgent;I)V
-Landroid/media/MediaSession2$SessionCallback;->onRewind(Landroid/media/MediaSession2;)V
-Landroid/media/MediaSession2$SessionCallback;->onSeekCompleted(Landroid/media/MediaSession2;Landroid/media/MediaPlayerBase;J)V
-Landroid/media/MediaSession2$SessionCallback;->onSetRating(Landroid/media/MediaSession2;Landroid/media/MediaSession2$ControllerInfo;Ljava/lang/String;Landroid/media/Rating2;)V
-Landroid/media/MediaSession2$SessionCallback;->onShuffleModeChanged(Landroid/media/MediaSession2;Landroid/media/MediaPlaylistAgent;I)V
-Landroid/media/MediaSession2;
-Landroid/media/MediaSession2;-><init>(Landroid/media/update/MediaSession2Provider;)V
-Landroid/media/MediaSession2;->addPlaylistItem(ILandroid/media/MediaItem2;)V
-Landroid/media/MediaSession2;->clearOnDataSourceMissingHelper()V
-Landroid/media/MediaSession2;->ERROR_CODE_ACTION_ABORTED:I
-Landroid/media/MediaSession2;->ERROR_CODE_APP_ERROR:I
-Landroid/media/MediaSession2;->ERROR_CODE_AUTHENTICATION_EXPIRED:I
-Landroid/media/MediaSession2;->ERROR_CODE_CONCURRENT_STREAM_LIMIT:I
-Landroid/media/MediaSession2;->ERROR_CODE_CONTENT_ALREADY_PLAYING:I
-Landroid/media/MediaSession2;->ERROR_CODE_END_OF_QUEUE:I
-Landroid/media/MediaSession2;->ERROR_CODE_NOT_AVAILABLE_IN_REGION:I
-Landroid/media/MediaSession2;->ERROR_CODE_NOT_SUPPORTED:I
-Landroid/media/MediaSession2;->ERROR_CODE_PARENTAL_CONTROL_RESTRICTED:I
-Landroid/media/MediaSession2;->ERROR_CODE_PREMIUM_ACCOUNT_REQUIRED:I
-Landroid/media/MediaSession2;->ERROR_CODE_SETUP_REQUIRED:I
-Landroid/media/MediaSession2;->ERROR_CODE_SKIP_LIMIT_REACHED:I
-Landroid/media/MediaSession2;->ERROR_CODE_UNKNOWN_ERROR:I
-Landroid/media/MediaSession2;->getBufferedPosition()J
-Landroid/media/MediaSession2;->getBufferingState()I
-Landroid/media/MediaSession2;->getConnectedControllers()Ljava/util/List;
-Landroid/media/MediaSession2;->getCurrentMediaItem()Landroid/media/MediaItem2;
-Landroid/media/MediaSession2;->getCurrentPosition()J
-Landroid/media/MediaSession2;->getPlaybackSpeed()F
-Landroid/media/MediaSession2;->getPlayer()Landroid/media/MediaPlayerBase;
-Landroid/media/MediaSession2;->getPlayerState()I
-Landroid/media/MediaSession2;->getPlaylist()Ljava/util/List;
-Landroid/media/MediaSession2;->getPlaylistAgent()Landroid/media/MediaPlaylistAgent;
-Landroid/media/MediaSession2;->getPlaylistMetadata()Landroid/media/MediaMetadata2;
-Landroid/media/MediaSession2;->getProvider()Landroid/media/update/MediaSession2Provider;
-Landroid/media/MediaSession2;->getRepeatMode()I
-Landroid/media/MediaSession2;->getShuffleMode()I
-Landroid/media/MediaSession2;->getToken()Landroid/media/SessionToken2;
-Landroid/media/MediaSession2;->getVolumeProvider()Landroid/media/VolumeProvider2;
-Landroid/media/MediaSession2;->mProvider:Landroid/media/update/MediaSession2Provider;
-Landroid/media/MediaSession2;->notifyError(ILandroid/os/Bundle;)V
-Landroid/media/MediaSession2;->pause()V
-Landroid/media/MediaSession2;->play()V
-Landroid/media/MediaSession2;->prepare()V
-Landroid/media/MediaSession2;->removePlaylistItem(Landroid/media/MediaItem2;)V
-Landroid/media/MediaSession2;->replacePlaylistItem(ILandroid/media/MediaItem2;)V
-Landroid/media/MediaSession2;->seekTo(J)V
-Landroid/media/MediaSession2;->sendCustomCommand(Landroid/media/MediaSession2$ControllerInfo;Landroid/media/SessionCommand2;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
-Landroid/media/MediaSession2;->sendCustomCommand(Landroid/media/SessionCommand2;Landroid/os/Bundle;)V
-Landroid/media/MediaSession2;->setAllowedCommands(Landroid/media/MediaSession2$ControllerInfo;Landroid/media/SessionCommandGroup2;)V
-Landroid/media/MediaSession2;->setAudioFocusRequest(Landroid/media/AudioFocusRequest;)V
-Landroid/media/MediaSession2;->setCustomLayout(Landroid/media/MediaSession2$ControllerInfo;Ljava/util/List;)V
-Landroid/media/MediaSession2;->setOnDataSourceMissingHelper(Landroid/media/MediaSession2$OnDataSourceMissingHelper;)V
-Landroid/media/MediaSession2;->setPlaybackSpeed(F)V
-Landroid/media/MediaSession2;->setPlaylist(Ljava/util/List;Landroid/media/MediaMetadata2;)V
-Landroid/media/MediaSession2;->setRepeatMode(I)V
-Landroid/media/MediaSession2;->setShuffleMode(I)V
-Landroid/media/MediaSession2;->skipBackward()V
-Landroid/media/MediaSession2;->skipForward()V
-Landroid/media/MediaSession2;->skipToNextItem()V
-Landroid/media/MediaSession2;->skipToPlaylistItem(Landroid/media/MediaItem2;)V
-Landroid/media/MediaSession2;->skipToPreviousItem()V
-Landroid/media/MediaSession2;->stop()V
-Landroid/media/MediaSession2;->updatePlayer(Landroid/media/MediaPlayerBase;Landroid/media/MediaPlaylistAgent;Landroid/media/VolumeProvider2;)V
-Landroid/media/MediaSession2;->updatePlaylistMetadata(Landroid/media/MediaMetadata2;)V
-Landroid/media/MediaSessionService2$MediaNotification;
-Landroid/media/MediaSessionService2$MediaNotification;-><init>(ILandroid/app/Notification;)V
-Landroid/media/MediaSessionService2$MediaNotification;->getNotification()Landroid/app/Notification;
-Landroid/media/MediaSessionService2$MediaNotification;->getNotificationId()I
-Landroid/media/MediaSessionService2$MediaNotification;->mProvider:Landroid/media/update/MediaSessionService2Provider$MediaNotificationProvider;
-Landroid/media/MediaSessionService2;
-Landroid/media/MediaSessionService2;-><init>()V
-Landroid/media/MediaSessionService2;->createProvider()Landroid/media/update/MediaSessionService2Provider;
-Landroid/media/MediaSessionService2;->getSession()Landroid/media/MediaSession2;
-Landroid/media/MediaSessionService2;->mProvider:Landroid/media/update/MediaSessionService2Provider;
-Landroid/media/MediaSessionService2;->onCreateSession(Ljava/lang/String;)Landroid/media/MediaSession2;
-Landroid/media/MediaSessionService2;->onUpdateNotification()Landroid/media/MediaSessionService2$MediaNotification;
-Landroid/media/MediaSessionService2;->SERVICE_INTERFACE:Ljava/lang/String;
-Landroid/media/MediaSessionService2;->SERVICE_META_DATA:Ljava/lang/String;
-Landroid/media/MediaSync$AudioBuffer;
-Landroid/media/MediaSync$AudioBuffer;-><init>(Ljava/nio/ByteBuffer;IJ)V
-Landroid/media/MediaSync$AudioBuffer;->mBufferIndex:I
-Landroid/media/MediaSync$AudioBuffer;->mByteBuffer:Ljava/nio/ByteBuffer;
-Landroid/media/MediaSync$AudioBuffer;->mPresentationTimeUs:J
-Landroid/media/MediaSync;->CB_RETURN_AUDIO_BUFFER:I
-Landroid/media/MediaSync;->createAudioThread()V
-Landroid/media/MediaSync;->EVENT_CALLBACK:I
-Landroid/media/MediaSync;->EVENT_SET_CALLBACK:I
-Landroid/media/MediaSync;->mAudioBuffers:Ljava/util/List;
-Landroid/media/MediaSync;->mAudioHandler:Landroid/os/Handler;
-Landroid/media/MediaSync;->mAudioLock:Ljava/lang/Object;
-Landroid/media/MediaSync;->mAudioLooper:Landroid/os/Looper;
-Landroid/media/MediaSync;->mAudioThread:Ljava/lang/Thread;
-Landroid/media/MediaSync;->mAudioTrack:Landroid/media/AudioTrack;
-Landroid/media/MediaSync;->mCallback:Landroid/media/MediaSync$Callback;
-Landroid/media/MediaSync;->mCallbackHandler:Landroid/os/Handler;
-Landroid/media/MediaSync;->mCallbackLock:Ljava/lang/Object;
-Landroid/media/MediaSync;->mNativeContext:J
-Landroid/media/MediaSync;->mOnErrorListener:Landroid/media/MediaSync$OnErrorListener;
-Landroid/media/MediaSync;->mOnErrorListenerHandler:Landroid/os/Handler;
-Landroid/media/MediaSync;->mOnErrorListenerLock:Ljava/lang/Object;
-Landroid/media/MediaSync;->mPlaybackRate:F
-Landroid/media/MediaSync;->native_finalize()V
-Landroid/media/MediaSync;->native_flush()V
-Landroid/media/MediaSync;->native_getPlayTimeForPendingAudioFrames()J
-Landroid/media/MediaSync;->native_getTimestamp(Landroid/media/MediaTimestamp;)Z
-Landroid/media/MediaSync;->native_init()V
-Landroid/media/MediaSync;->native_release()V
-Landroid/media/MediaSync;->native_setAudioTrack(Landroid/media/AudioTrack;)V
-Landroid/media/MediaSync;->native_setPlaybackParams(Landroid/media/PlaybackParams;)F
-Landroid/media/MediaSync;->native_setSurface(Landroid/view/Surface;)V
-Landroid/media/MediaSync;->native_setSyncParams(Landroid/media/SyncParams;)F
-Landroid/media/MediaSync;->native_setup()V
-Landroid/media/MediaSync;->native_updateQueuedAudioData(IJ)V
-Landroid/media/MediaSync;->postRenderAudio(J)V
-Landroid/media/MediaSync;->postReturnByteBuffer(Landroid/media/MediaSync$AudioBuffer;)V
-Landroid/media/MediaSync;->returnAudioBuffers()V
-Landroid/media/MediaSync;->TAG:Ljava/lang/String;
-Landroid/media/MediaSyncEvent;-><init>(I)V
-Landroid/media/MediaSyncEvent;->isValidType(I)Z
-Landroid/media/MediaSyncEvent;->mAudioSession:I
-Landroid/media/MediaSyncEvent;->mType:I
-Landroid/media/MediaTimeProvider$OnMediaTimeListener;
-Landroid/media/MediaTimeProvider$OnMediaTimeListener;->onSeek(J)V
-Landroid/media/MediaTimeProvider$OnMediaTimeListener;->onStop()V
-Landroid/media/MediaTimeProvider$OnMediaTimeListener;->onTimedEvent(J)V
-Landroid/media/MediaTimeProvider;
-Landroid/media/MediaTimeProvider;->cancelNotifications(Landroid/media/MediaTimeProvider$OnMediaTimeListener;)V
-Landroid/media/MediaTimeProvider;->getCurrentTimeUs(ZZ)J
-Landroid/media/MediaTimeProvider;->notifyAt(JLandroid/media/MediaTimeProvider$OnMediaTimeListener;)V
-Landroid/media/MediaTimeProvider;->NO_TIME:J
-Landroid/media/MediaTimeProvider;->scheduleUpdate(Landroid/media/MediaTimeProvider$OnMediaTimeListener;)V
-Landroid/media/MediaTimestamp;-><init>()V
-Landroid/media/MediaTimestamp;-><init>(JJF)V
-Landroid/media/MediaTimestamp;->clockRate:F
-Landroid/media/MediaTimestamp;->mediaTimeUs:J
-Landroid/media/MediaTimestamp;->nanoTime:J
-Landroid/media/Metadata;
-Landroid/media/Metadata;->ALBUM:I
-Landroid/media/Metadata;->ALBUM_ART:I
-Landroid/media/Metadata;->ANY:I
-Landroid/media/Metadata;->ARTIST:I
-Landroid/media/Metadata;->AUDIO_BIT_RATE:I
-Landroid/media/Metadata;->AUDIO_CODEC:I
-Landroid/media/Metadata;->AUDIO_SAMPLE_RATE:I
-Landroid/media/Metadata;->AUTHOR:I
-Landroid/media/Metadata;->BIT_RATE:I
-Landroid/media/Metadata;->BOOLEAN_VAL:I
-Landroid/media/Metadata;->BYTE_ARRAY_VAL:I
-Landroid/media/Metadata;->CD_TRACK_MAX:I
-Landroid/media/Metadata;->CD_TRACK_NUM:I
-Landroid/media/Metadata;->checkMetadataId(I)Z
-Landroid/media/Metadata;->checkType(II)V
-Landroid/media/Metadata;->COMMENT:I
-Landroid/media/Metadata;->COMPOSER:I
-Landroid/media/Metadata;->COPYRIGHT:I
-Landroid/media/Metadata;->DATE:I
-Landroid/media/Metadata;->DATE_VAL:I
-Landroid/media/Metadata;->DOUBLE_VAL:I
-Landroid/media/Metadata;->DRM_CRIPPLED:I
-Landroid/media/Metadata;->DURATION:I
-Landroid/media/Metadata;->firstCustomId()I
-Landroid/media/Metadata;->FIRST_CUSTOM:I
-Landroid/media/Metadata;->GENRE:I
-Landroid/media/Metadata;->INTEGER_VAL:I
-Landroid/media/Metadata;->kInt32Size:I
-Landroid/media/Metadata;->kMetaHeaderSize:I
-Landroid/media/Metadata;->kMetaMarker:I
-Landroid/media/Metadata;->kRecordHeaderSize:I
-Landroid/media/Metadata;->lastSytemId()I
-Landroid/media/Metadata;->lastType()I
-Landroid/media/Metadata;->LAST_SYSTEM:I
-Landroid/media/Metadata;->LAST_TYPE:I
-Landroid/media/Metadata;->LONG_VAL:I
-Landroid/media/Metadata;->MATCH_ALL:Ljava/util/Set;
-Landroid/media/Metadata;->MATCH_NONE:Ljava/util/Set;
-Landroid/media/Metadata;->MIME_TYPE:I
-Landroid/media/Metadata;->mKeyToPosMap:Ljava/util/HashMap;
-Landroid/media/Metadata;->mParcel:Landroid/os/Parcel;
-Landroid/media/Metadata;->NUM_TRACKS:I
-Landroid/media/Metadata;->RATING:I
-Landroid/media/Metadata;->scanAllRecords(Landroid/os/Parcel;I)Z
-Landroid/media/Metadata;->STRING_VAL:I
-Landroid/media/Metadata;->TAG:Ljava/lang/String;
-Landroid/media/Metadata;->TITLE:I
-Landroid/media/Metadata;->VIDEO_BIT_RATE:I
-Landroid/media/Metadata;->VIDEO_CODEC:I
-Landroid/media/Metadata;->VIDEO_FRAME:I
-Landroid/media/Metadata;->VIDEO_FRAME_RATE:I
-Landroid/media/Metadata;->VIDEO_HEIGHT:I
-Landroid/media/Metadata;->VIDEO_WIDTH:I
-Landroid/media/MicrophoneInfo$Coordinate3F;-><init>(FFF)V
-Landroid/media/MicrophoneInfo$MicrophoneDirectionality;
-Landroid/media/MicrophoneInfo$MicrophoneLocation;
-Landroid/media/MicrophoneInfo;->getInternalDeviceType()I
-Landroid/media/MicrophoneInfo;->mAddress:Ljava/lang/String;
-Landroid/media/MicrophoneInfo;->mChannelMapping:Ljava/util/List;
-Landroid/media/MicrophoneInfo;->mDeviceId:Ljava/lang/String;
-Landroid/media/MicrophoneInfo;->mDirectionality:I
-Landroid/media/MicrophoneInfo;->mFrequencyResponse:Ljava/util/List;
-Landroid/media/MicrophoneInfo;->mGroup:I
-Landroid/media/MicrophoneInfo;->mIndexInTheGroup:I
-Landroid/media/MicrophoneInfo;->mLocation:I
-Landroid/media/MicrophoneInfo;->mMaxSpl:F
-Landroid/media/MicrophoneInfo;->mMinSpl:F
-Landroid/media/MicrophoneInfo;->mOrientation:Landroid/media/MicrophoneInfo$Coordinate3F;
-Landroid/media/MicrophoneInfo;->mPortId:I
-Landroid/media/MicrophoneInfo;->mPosition:Landroid/media/MicrophoneInfo$Coordinate3F;
-Landroid/media/MicrophoneInfo;->mSensitivity:F
-Landroid/media/MicrophoneInfo;->mType:I
-Landroid/media/MicrophoneInfo;->setChannelMapping(Ljava/util/List;)V
-Landroid/media/MicrophoneInfo;->setId(I)V
-Landroid/media/midi/IBluetoothMidiService$Stub$Proxy;
-Landroid/media/midi/IBluetoothMidiService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/midi/IBluetoothMidiService$Stub$Proxy;->addBluetoothDevice(Landroid/bluetooth/BluetoothDevice;)Landroid/os/IBinder;
-Landroid/media/midi/IBluetoothMidiService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/midi/IBluetoothMidiService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/midi/IBluetoothMidiService$Stub;
-Landroid/media/midi/IBluetoothMidiService$Stub;-><init>()V
-Landroid/media/midi/IBluetoothMidiService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/midi/IBluetoothMidiService;
-Landroid/media/midi/IBluetoothMidiService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/midi/IBluetoothMidiService$Stub;->TRANSACTION_addBluetoothDevice:I
-Landroid/media/midi/IBluetoothMidiService;
-Landroid/media/midi/IBluetoothMidiService;->addBluetoothDevice(Landroid/bluetooth/BluetoothDevice;)Landroid/os/IBinder;
-Landroid/media/midi/IMidiDeviceListener$Stub$Proxy;
-Landroid/media/midi/IMidiDeviceListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/midi/IMidiDeviceListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/midi/IMidiDeviceListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/midi/IMidiDeviceListener$Stub$Proxy;->onDeviceAdded(Landroid/media/midi/MidiDeviceInfo;)V
-Landroid/media/midi/IMidiDeviceListener$Stub$Proxy;->onDeviceRemoved(Landroid/media/midi/MidiDeviceInfo;)V
-Landroid/media/midi/IMidiDeviceListener$Stub$Proxy;->onDeviceStatusChanged(Landroid/media/midi/MidiDeviceStatus;)V
-Landroid/media/midi/IMidiDeviceListener$Stub;
-Landroid/media/midi/IMidiDeviceListener$Stub;-><init>()V
-Landroid/media/midi/IMidiDeviceListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/midi/IMidiDeviceListener;
-Landroid/media/midi/IMidiDeviceListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/midi/IMidiDeviceListener$Stub;->TRANSACTION_onDeviceAdded:I
-Landroid/media/midi/IMidiDeviceListener$Stub;->TRANSACTION_onDeviceRemoved:I
-Landroid/media/midi/IMidiDeviceListener$Stub;->TRANSACTION_onDeviceStatusChanged:I
-Landroid/media/midi/IMidiDeviceListener;
-Landroid/media/midi/IMidiDeviceListener;->onDeviceAdded(Landroid/media/midi/MidiDeviceInfo;)V
-Landroid/media/midi/IMidiDeviceListener;->onDeviceRemoved(Landroid/media/midi/MidiDeviceInfo;)V
-Landroid/media/midi/IMidiDeviceListener;->onDeviceStatusChanged(Landroid/media/midi/MidiDeviceStatus;)V
-Landroid/media/midi/IMidiDeviceOpenCallback$Stub$Proxy;
-Landroid/media/midi/IMidiDeviceOpenCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/midi/IMidiDeviceOpenCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/midi/IMidiDeviceOpenCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/midi/IMidiDeviceOpenCallback$Stub$Proxy;->onDeviceOpened(Landroid/media/midi/IMidiDeviceServer;Landroid/os/IBinder;)V
-Landroid/media/midi/IMidiDeviceOpenCallback$Stub;
-Landroid/media/midi/IMidiDeviceOpenCallback$Stub;-><init>()V
-Landroid/media/midi/IMidiDeviceOpenCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/midi/IMidiDeviceOpenCallback;
-Landroid/media/midi/IMidiDeviceOpenCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/midi/IMidiDeviceOpenCallback$Stub;->TRANSACTION_onDeviceOpened:I
-Landroid/media/midi/IMidiDeviceOpenCallback;
-Landroid/media/midi/IMidiDeviceOpenCallback;->onDeviceOpened(Landroid/media/midi/IMidiDeviceServer;Landroid/os/IBinder;)V
-Landroid/media/midi/IMidiDeviceServer$Stub$Proxy;
-Landroid/media/midi/IMidiDeviceServer$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/midi/IMidiDeviceServer$Stub$Proxy;->closeDevice()V
-Landroid/media/midi/IMidiDeviceServer$Stub$Proxy;->closePort(Landroid/os/IBinder;)V
-Landroid/media/midi/IMidiDeviceServer$Stub$Proxy;->connectPorts(Landroid/os/IBinder;Ljava/io/FileDescriptor;I)I
-Landroid/media/midi/IMidiDeviceServer$Stub$Proxy;->getDeviceInfo()Landroid/media/midi/MidiDeviceInfo;
-Landroid/media/midi/IMidiDeviceServer$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/midi/IMidiDeviceServer$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/midi/IMidiDeviceServer$Stub$Proxy;->openInputPort(Landroid/os/IBinder;I)Ljava/io/FileDescriptor;
-Landroid/media/midi/IMidiDeviceServer$Stub$Proxy;->openOutputPort(Landroid/os/IBinder;I)Ljava/io/FileDescriptor;
-Landroid/media/midi/IMidiDeviceServer$Stub$Proxy;->setDeviceInfo(Landroid/media/midi/MidiDeviceInfo;)V
-Landroid/media/midi/IMidiDeviceServer$Stub;
-Landroid/media/midi/IMidiDeviceServer$Stub;-><init>()V
-Landroid/media/midi/IMidiDeviceServer$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/midi/IMidiDeviceServer;
-Landroid/media/midi/IMidiDeviceServer$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/midi/IMidiDeviceServer$Stub;->TRANSACTION_closeDevice:I
-Landroid/media/midi/IMidiDeviceServer$Stub;->TRANSACTION_closePort:I
-Landroid/media/midi/IMidiDeviceServer$Stub;->TRANSACTION_connectPorts:I
-Landroid/media/midi/IMidiDeviceServer$Stub;->TRANSACTION_getDeviceInfo:I
-Landroid/media/midi/IMidiDeviceServer$Stub;->TRANSACTION_openInputPort:I
-Landroid/media/midi/IMidiDeviceServer$Stub;->TRANSACTION_openOutputPort:I
-Landroid/media/midi/IMidiDeviceServer$Stub;->TRANSACTION_setDeviceInfo:I
-Landroid/media/midi/IMidiDeviceServer;
-Landroid/media/midi/IMidiDeviceServer;->closeDevice()V
-Landroid/media/midi/IMidiDeviceServer;->closePort(Landroid/os/IBinder;)V
-Landroid/media/midi/IMidiDeviceServer;->connectPorts(Landroid/os/IBinder;Ljava/io/FileDescriptor;I)I
-Landroid/media/midi/IMidiDeviceServer;->getDeviceInfo()Landroid/media/midi/MidiDeviceInfo;
-Landroid/media/midi/IMidiDeviceServer;->openInputPort(Landroid/os/IBinder;I)Ljava/io/FileDescriptor;
-Landroid/media/midi/IMidiDeviceServer;->openOutputPort(Landroid/os/IBinder;I)Ljava/io/FileDescriptor;
-Landroid/media/midi/IMidiDeviceServer;->setDeviceInfo(Landroid/media/midi/MidiDeviceInfo;)V
-Landroid/media/midi/IMidiManager$Stub$Proxy;
-Landroid/media/midi/IMidiManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/midi/IMidiManager$Stub$Proxy;->closeDevice(Landroid/os/IBinder;Landroid/os/IBinder;)V
-Landroid/media/midi/IMidiManager$Stub$Proxy;->getDevices()[Landroid/media/midi/MidiDeviceInfo;
-Landroid/media/midi/IMidiManager$Stub$Proxy;->getDeviceStatus(Landroid/media/midi/MidiDeviceInfo;)Landroid/media/midi/MidiDeviceStatus;
-Landroid/media/midi/IMidiManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/midi/IMidiManager$Stub$Proxy;->getServiceDeviceInfo(Ljava/lang/String;Ljava/lang/String;)Landroid/media/midi/MidiDeviceInfo;
-Landroid/media/midi/IMidiManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/midi/IMidiManager$Stub$Proxy;->openBluetoothDevice(Landroid/os/IBinder;Landroid/bluetooth/BluetoothDevice;Landroid/media/midi/IMidiDeviceOpenCallback;)V
-Landroid/media/midi/IMidiManager$Stub$Proxy;->openDevice(Landroid/os/IBinder;Landroid/media/midi/MidiDeviceInfo;Landroid/media/midi/IMidiDeviceOpenCallback;)V
-Landroid/media/midi/IMidiManager$Stub$Proxy;->registerDeviceServer(Landroid/media/midi/IMidiDeviceServer;II[Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;I)Landroid/media/midi/MidiDeviceInfo;
-Landroid/media/midi/IMidiManager$Stub$Proxy;->registerListener(Landroid/os/IBinder;Landroid/media/midi/IMidiDeviceListener;)V
-Landroid/media/midi/IMidiManager$Stub$Proxy;->setDeviceStatus(Landroid/media/midi/IMidiDeviceServer;Landroid/media/midi/MidiDeviceStatus;)V
-Landroid/media/midi/IMidiManager$Stub$Proxy;->unregisterDeviceServer(Landroid/media/midi/IMidiDeviceServer;)V
-Landroid/media/midi/IMidiManager$Stub$Proxy;->unregisterListener(Landroid/os/IBinder;Landroid/media/midi/IMidiDeviceListener;)V
-Landroid/media/midi/IMidiManager$Stub;
-Landroid/media/midi/IMidiManager$Stub;-><init>()V
-Landroid/media/midi/IMidiManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/midi/IMidiManager;
-Landroid/media/midi/IMidiManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/midi/IMidiManager$Stub;->TRANSACTION_closeDevice:I
-Landroid/media/midi/IMidiManager$Stub;->TRANSACTION_getDevices:I
-Landroid/media/midi/IMidiManager$Stub;->TRANSACTION_getDeviceStatus:I
-Landroid/media/midi/IMidiManager$Stub;->TRANSACTION_getServiceDeviceInfo:I
-Landroid/media/midi/IMidiManager$Stub;->TRANSACTION_openBluetoothDevice:I
-Landroid/media/midi/IMidiManager$Stub;->TRANSACTION_openDevice:I
-Landroid/media/midi/IMidiManager$Stub;->TRANSACTION_registerDeviceServer:I
-Landroid/media/midi/IMidiManager$Stub;->TRANSACTION_registerListener:I
-Landroid/media/midi/IMidiManager$Stub;->TRANSACTION_setDeviceStatus:I
-Landroid/media/midi/IMidiManager$Stub;->TRANSACTION_unregisterDeviceServer:I
-Landroid/media/midi/IMidiManager$Stub;->TRANSACTION_unregisterListener:I
-Landroid/media/midi/IMidiManager;
-Landroid/media/midi/IMidiManager;->closeDevice(Landroid/os/IBinder;Landroid/os/IBinder;)V
-Landroid/media/midi/IMidiManager;->getDevices()[Landroid/media/midi/MidiDeviceInfo;
-Landroid/media/midi/IMidiManager;->getDeviceStatus(Landroid/media/midi/MidiDeviceInfo;)Landroid/media/midi/MidiDeviceStatus;
-Landroid/media/midi/IMidiManager;->getServiceDeviceInfo(Ljava/lang/String;Ljava/lang/String;)Landroid/media/midi/MidiDeviceInfo;
-Landroid/media/midi/IMidiManager;->openBluetoothDevice(Landroid/os/IBinder;Landroid/bluetooth/BluetoothDevice;Landroid/media/midi/IMidiDeviceOpenCallback;)V
-Landroid/media/midi/IMidiManager;->openDevice(Landroid/os/IBinder;Landroid/media/midi/MidiDeviceInfo;Landroid/media/midi/IMidiDeviceOpenCallback;)V
-Landroid/media/midi/IMidiManager;->registerDeviceServer(Landroid/media/midi/IMidiDeviceServer;II[Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;I)Landroid/media/midi/MidiDeviceInfo;
-Landroid/media/midi/IMidiManager;->registerListener(Landroid/os/IBinder;Landroid/media/midi/IMidiDeviceListener;)V
-Landroid/media/midi/IMidiManager;->setDeviceStatus(Landroid/media/midi/IMidiDeviceServer;Landroid/media/midi/MidiDeviceStatus;)V
-Landroid/media/midi/IMidiManager;->unregisterDeviceServer(Landroid/media/midi/IMidiDeviceServer;)V
-Landroid/media/midi/IMidiManager;->unregisterListener(Landroid/os/IBinder;Landroid/media/midi/IMidiDeviceListener;)V
-Landroid/media/midi/MidiDevice$MidiConnection;-><init>(Landroid/os/IBinder;Landroid/media/midi/MidiInputPort;)V
-Landroid/media/midi/MidiDevice$MidiConnection;->mGuard:Ldalvik/system/CloseGuard;
-Landroid/media/midi/MidiDevice$MidiConnection;->mInputPortDeviceServer:Landroid/media/midi/IMidiDeviceServer;
-Landroid/media/midi/MidiDevice$MidiConnection;->mInputPortToken:Landroid/os/IBinder;
-Landroid/media/midi/MidiDevice$MidiConnection;->mIsClosed:Z
-Landroid/media/midi/MidiDevice$MidiConnection;->mOutputPortToken:Landroid/os/IBinder;
-Landroid/media/midi/MidiDevice;-><init>(Landroid/media/midi/MidiDeviceInfo;Landroid/media/midi/IMidiDeviceServer;Landroid/media/midi/IMidiManager;Landroid/os/IBinder;Landroid/os/IBinder;)V
-Landroid/media/midi/MidiDevice;->mClientToken:Landroid/os/IBinder;
-Landroid/media/midi/MidiDevice;->mDeviceInfo:Landroid/media/midi/MidiDeviceInfo;
-Landroid/media/midi/MidiDevice;->mDeviceServer:Landroid/media/midi/IMidiDeviceServer;
-Landroid/media/midi/MidiDevice;->mDeviceToken:Landroid/os/IBinder;
-Landroid/media/midi/MidiDevice;->mGuard:Ldalvik/system/CloseGuard;
-Landroid/media/midi/MidiDevice;->mirrorToNative()J
-Landroid/media/midi/MidiDevice;->mIsDeviceClosed:Z
-Landroid/media/midi/MidiDevice;->mMidiManager:Landroid/media/midi/IMidiManager;
-Landroid/media/midi/MidiDevice;->mMirroredDevices:Ljava/util/HashSet;
-Landroid/media/midi/MidiDevice;->mNativeHandle:J
-Landroid/media/midi/MidiDevice;->native_mirrorToNative(Landroid/os/IBinder;I)J
-Landroid/media/midi/MidiDevice;->native_removeFromNative(J)V
-Landroid/media/midi/MidiDevice;->removeFromNative()V
-Landroid/media/midi/MidiDevice;->TAG:Ljava/lang/String;
-Landroid/media/midi/MidiDeviceInfo$PortInfo;-><init>(IILjava/lang/String;)V
-Landroid/media/midi/MidiDeviceInfo$PortInfo;->mName:Ljava/lang/String;
-Landroid/media/midi/MidiDeviceInfo$PortInfo;->mPortNumber:I
-Landroid/media/midi/MidiDeviceInfo$PortInfo;->mPortType:I
-Landroid/media/midi/MidiDeviceInfo;-><init>(IIII[Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;Z)V
-Landroid/media/midi/MidiDeviceInfo;->getBasicProperties([Ljava/lang/String;)Landroid/os/Bundle;
-Landroid/media/midi/MidiDeviceInfo;->mId:I
-Landroid/media/midi/MidiDeviceInfo;->mInputPortCount:I
-Landroid/media/midi/MidiDeviceInfo;->mInputPortNames:[Ljava/lang/String;
-Landroid/media/midi/MidiDeviceInfo;->mIsPrivate:Z
-Landroid/media/midi/MidiDeviceInfo;->mOutputPortCount:I
-Landroid/media/midi/MidiDeviceInfo;->mOutputPortNames:[Ljava/lang/String;
-Landroid/media/midi/MidiDeviceInfo;->mProperties:Landroid/os/Bundle;
-Landroid/media/midi/MidiDeviceInfo;->mType:I
-Landroid/media/midi/MidiDeviceInfo;->PROPERTY_ALSA_CARD:Ljava/lang/String;
-Landroid/media/midi/MidiDeviceInfo;->PROPERTY_ALSA_DEVICE:Ljava/lang/String;
-Landroid/media/midi/MidiDeviceInfo;->PROPERTY_SERVICE_INFO:Ljava/lang/String;
-Landroid/media/midi/MidiDeviceInfo;->TAG:Ljava/lang/String;
-Landroid/media/midi/MidiDeviceServer$Callback;
-Landroid/media/midi/MidiDeviceServer$Callback;->onClose()V
-Landroid/media/midi/MidiDeviceServer$Callback;->onDeviceStatusChanged(Landroid/media/midi/MidiDeviceServer;Landroid/media/midi/MidiDeviceStatus;)V
-Landroid/media/midi/MidiDeviceServer$InputPortClient;
-Landroid/media/midi/MidiDeviceServer$InputPortClient;-><init>(Landroid/os/IBinder;Landroid/media/midi/MidiOutputPort;)V
-Landroid/media/midi/MidiDeviceServer$InputPortClient;->close()V
-Landroid/media/midi/MidiDeviceServer$InputPortClient;->mOutputPort:Landroid/media/midi/MidiOutputPort;
-Landroid/media/midi/MidiDeviceServer$OutputPortClient;
-Landroid/media/midi/MidiDeviceServer$OutputPortClient;-><init>(Landroid/os/IBinder;Landroid/media/midi/MidiInputPort;)V
-Landroid/media/midi/MidiDeviceServer$OutputPortClient;->close()V
-Landroid/media/midi/MidiDeviceServer$OutputPortClient;->getInputPort()Landroid/media/midi/MidiInputPort;
-Landroid/media/midi/MidiDeviceServer$OutputPortClient;->mInputPort:Landroid/media/midi/MidiInputPort;
-Landroid/media/midi/MidiDeviceServer$PortClient;
-Landroid/media/midi/MidiDeviceServer$PortClient;-><init>(Landroid/os/IBinder;)V
-Landroid/media/midi/MidiDeviceServer$PortClient;->close()V
-Landroid/media/midi/MidiDeviceServer$PortClient;->getInputPort()Landroid/media/midi/MidiInputPort;
-Landroid/media/midi/MidiDeviceServer$PortClient;->mToken:Landroid/os/IBinder;
-Landroid/media/midi/MidiDeviceServer;
-Landroid/media/midi/MidiDeviceServer;-><init>(Landroid/media/midi/IMidiManager;[Landroid/media/midi/MidiReceiver;ILandroid/media/midi/MidiDeviceServer$Callback;)V
-Landroid/media/midi/MidiDeviceServer;-><init>(Landroid/media/midi/IMidiManager;[Landroid/media/midi/MidiReceiver;Landroid/media/midi/MidiDeviceInfo;Landroid/media/midi/MidiDeviceServer$Callback;)V
-Landroid/media/midi/MidiDeviceServer;->asBinder()Landroid/os/IBinder;
-Landroid/media/midi/MidiDeviceServer;->createSeqPacketSocketPair()[Ljava/io/FileDescriptor;
-Landroid/media/midi/MidiDeviceServer;->getBinderInterface()Landroid/media/midi/IMidiDeviceServer;
-Landroid/media/midi/MidiDeviceServer;->getOutputPortReceivers()[Landroid/media/midi/MidiReceiver;
-Landroid/media/midi/MidiDeviceServer;->mCallback:Landroid/media/midi/MidiDeviceServer$Callback;
-Landroid/media/midi/MidiDeviceServer;->mDeviceInfo:Landroid/media/midi/MidiDeviceInfo;
-Landroid/media/midi/MidiDeviceServer;->mGuard:Ldalvik/system/CloseGuard;
-Landroid/media/midi/MidiDeviceServer;->mInputPortClients:Ljava/util/HashMap;
-Landroid/media/midi/MidiDeviceServer;->mInputPortCount:I
-Landroid/media/midi/MidiDeviceServer;->mInputPortFailureHandler:Lcom/android/internal/midi/MidiDispatcher$MidiReceiverFailureHandler;
-Landroid/media/midi/MidiDeviceServer;->mInputPortOpen:[Z
-Landroid/media/midi/MidiDeviceServer;->mInputPortOutputPorts:[Landroid/media/midi/MidiOutputPort;
-Landroid/media/midi/MidiDeviceServer;->mInputPortReceivers:[Landroid/media/midi/MidiReceiver;
-Landroid/media/midi/MidiDeviceServer;->mInputPorts:Ljava/util/concurrent/CopyOnWriteArrayList;
-Landroid/media/midi/MidiDeviceServer;->mIsClosed:Z
-Landroid/media/midi/MidiDeviceServer;->mMidiManager:Landroid/media/midi/IMidiManager;
-Landroid/media/midi/MidiDeviceServer;->mOutputPortCount:I
-Landroid/media/midi/MidiDeviceServer;->mOutputPortDispatchers:[Lcom/android/internal/midi/MidiDispatcher;
-Landroid/media/midi/MidiDeviceServer;->mOutputPortOpenCount:[I
-Landroid/media/midi/MidiDeviceServer;->mPortClients:Ljava/util/HashMap;
-Landroid/media/midi/MidiDeviceServer;->mServer:Landroid/media/midi/IMidiDeviceServer;
-Landroid/media/midi/MidiDeviceServer;->TAG:Ljava/lang/String;
-Landroid/media/midi/MidiDeviceServer;->updateDeviceStatus()V
-Landroid/media/midi/MidiDeviceService;->mCallback:Landroid/media/midi/MidiDeviceServer$Callback;
-Landroid/media/midi/MidiDeviceService;->mDeviceInfo:Landroid/media/midi/MidiDeviceInfo;
-Landroid/media/midi/MidiDeviceService;->mMidiManager:Landroid/media/midi/IMidiManager;
-Landroid/media/midi/MidiDeviceService;->mServer:Landroid/media/midi/MidiDeviceServer;
-Landroid/media/midi/MidiDeviceService;->TAG:Ljava/lang/String;
-Landroid/media/midi/MidiDeviceStatus;-><init>(Landroid/media/midi/MidiDeviceInfo;)V
-Landroid/media/midi/MidiDeviceStatus;-><init>(Landroid/media/midi/MidiDeviceInfo;[Z[I)V
-Landroid/media/midi/MidiDeviceStatus;->mDeviceInfo:Landroid/media/midi/MidiDeviceInfo;
-Landroid/media/midi/MidiDeviceStatus;->mInputPortOpen:[Z
-Landroid/media/midi/MidiDeviceStatus;->mOutputPortOpenCount:[I
-Landroid/media/midi/MidiDeviceStatus;->TAG:Ljava/lang/String;
-Landroid/media/midi/MidiInputPort;-><init>(Landroid/media/midi/IMidiDeviceServer;Landroid/os/IBinder;Ljava/io/FileDescriptor;I)V
-Landroid/media/midi/MidiInputPort;-><init>(Ljava/io/FileDescriptor;I)V
-Landroid/media/midi/MidiInputPort;->claimFileDescriptor()Ljava/io/FileDescriptor;
-Landroid/media/midi/MidiInputPort;->getDeviceServer()Landroid/media/midi/IMidiDeviceServer;
-Landroid/media/midi/MidiInputPort;->getToken()Landroid/os/IBinder;
-Landroid/media/midi/MidiInputPort;->mBuffer:[B
-Landroid/media/midi/MidiInputPort;->mDeviceServer:Landroid/media/midi/IMidiDeviceServer;
-Landroid/media/midi/MidiInputPort;->mFileDescriptor:Ljava/io/FileDescriptor;
-Landroid/media/midi/MidiInputPort;->mGuard:Ldalvik/system/CloseGuard;
-Landroid/media/midi/MidiInputPort;->mIsClosed:Z
-Landroid/media/midi/MidiInputPort;->mOutputStream:Ljava/io/FileOutputStream;
-Landroid/media/midi/MidiInputPort;->mPortNumber:I
-Landroid/media/midi/MidiInputPort;->mToken:Landroid/os/IBinder;
-Landroid/media/midi/MidiInputPort;->TAG:Ljava/lang/String;
-Landroid/media/midi/MidiManager$DeviceListener;
-Landroid/media/midi/MidiManager$DeviceListener;-><init>(Landroid/media/midi/MidiManager$DeviceCallback;Landroid/os/Handler;)V
-Landroid/media/midi/MidiManager$DeviceListener;->mCallback:Landroid/media/midi/MidiManager$DeviceCallback;
-Landroid/media/midi/MidiManager$DeviceListener;->mHandler:Landroid/os/Handler;
-Landroid/media/midi/MidiManager$DeviceListener;->onDeviceAdded(Landroid/media/midi/MidiDeviceInfo;)V
-Landroid/media/midi/MidiManager$DeviceListener;->onDeviceRemoved(Landroid/media/midi/MidiDeviceInfo;)V
-Landroid/media/midi/MidiManager$DeviceListener;->onDeviceStatusChanged(Landroid/media/midi/MidiDeviceStatus;)V
-Landroid/media/midi/MidiManager;-><init>(Landroid/media/midi/IMidiManager;)V
-Landroid/media/midi/MidiManager;->BLUETOOTH_MIDI_SERVICE_CLASS:Ljava/lang/String;
-Landroid/media/midi/MidiManager;->BLUETOOTH_MIDI_SERVICE_INTENT:Ljava/lang/String;
-Landroid/media/midi/MidiManager;->BLUETOOTH_MIDI_SERVICE_PACKAGE:Ljava/lang/String;
-Landroid/media/midi/MidiManager;->createDeviceServer([Landroid/media/midi/MidiReceiver;I[Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;ILandroid/media/midi/MidiDeviceServer$Callback;)Landroid/media/midi/MidiDeviceServer;
-Landroid/media/midi/MidiManager;->mDeviceListeners:Ljava/util/concurrent/ConcurrentHashMap;
-Landroid/media/midi/MidiManager;->mService:Landroid/media/midi/IMidiManager;
-Landroid/media/midi/MidiManager;->mToken:Landroid/os/IBinder;
-Landroid/media/midi/MidiManager;->sendOpenDeviceResponse(Landroid/media/midi/MidiDevice;Landroid/media/midi/MidiManager$OnDeviceOpenedListener;Landroid/os/Handler;)V
-Landroid/media/midi/MidiManager;->TAG:Ljava/lang/String;
-Landroid/media/midi/MidiOutputPort;-><init>(Landroid/media/midi/IMidiDeviceServer;Landroid/os/IBinder;Ljava/io/FileDescriptor;I)V
-Landroid/media/midi/MidiOutputPort;-><init>(Ljava/io/FileDescriptor;I)V
-Landroid/media/midi/MidiOutputPort;->mDeviceServer:Landroid/media/midi/IMidiDeviceServer;
-Landroid/media/midi/MidiOutputPort;->mDispatcher:Lcom/android/internal/midi/MidiDispatcher;
-Landroid/media/midi/MidiOutputPort;->mGuard:Ldalvik/system/CloseGuard;
-Landroid/media/midi/MidiOutputPort;->mInputStream:Ljava/io/FileInputStream;
-Landroid/media/midi/MidiOutputPort;->mIsClosed:Z
-Landroid/media/midi/MidiOutputPort;->mPortNumber:I
-Landroid/media/midi/MidiOutputPort;->mThread:Ljava/lang/Thread;
-Landroid/media/midi/MidiOutputPort;->mToken:Landroid/os/IBinder;
-Landroid/media/midi/MidiOutputPort;->TAG:Ljava/lang/String;
-Landroid/media/midi/MidiReceiver;->mMaxMessageSize:I
-Landroid/media/MiniThumbFile;
-Landroid/media/MiniThumbFile;-><init>(Landroid/net/Uri;)V
-Landroid/media/MiniThumbFile;->BYTES_PER_MINTHUMB:I
-Landroid/media/MiniThumbFile;->deactivate()V
-Landroid/media/MiniThumbFile;->eraseMiniThumb(J)V
-Landroid/media/MiniThumbFile;->getMagic(J)J
-Landroid/media/MiniThumbFile;->getMiniThumbFromFile(J[B)[B
-Landroid/media/MiniThumbFile;->HEADER_SIZE:I
-Landroid/media/MiniThumbFile;->instance(Landroid/net/Uri;)Landroid/media/MiniThumbFile;
-Landroid/media/MiniThumbFile;->mBuffer:Ljava/nio/ByteBuffer;
-Landroid/media/MiniThumbFile;->mChannel:Ljava/nio/channels/FileChannel;
-Landroid/media/MiniThumbFile;->mEmptyBuffer:Ljava/nio/ByteBuffer;
-Landroid/media/MiniThumbFile;->miniThumbDataFile()Ljava/io/RandomAccessFile;
-Landroid/media/MiniThumbFile;->MINI_THUMB_DATA_FILE_VERSION:I
-Landroid/media/MiniThumbFile;->mMiniThumbFile:Ljava/io/RandomAccessFile;
-Landroid/media/MiniThumbFile;->mUri:Landroid/net/Uri;
-Landroid/media/MiniThumbFile;->randomAccessFilePath(I)Ljava/lang/String;
-Landroid/media/MiniThumbFile;->removeOldFile()V
-Landroid/media/MiniThumbFile;->saveMiniThumbToFile([BJJ)V
-Landroid/media/MiniThumbFile;->sThumbFiles:Ljava/util/Hashtable;
-Landroid/media/MiniThumbFile;->TAG:Ljava/lang/String;
-Landroid/media/NativeRoutingEventHandlerDelegate;
-Landroid/media/NativeRoutingEventHandlerDelegate;-><init>(Landroid/media/AudioRouting;Landroid/media/AudioRouting$OnRoutingChangedListener;Landroid/os/Handler;)V
-Landroid/media/NativeRoutingEventHandlerDelegate;->mAudioRouting:Landroid/media/AudioRouting;
-Landroid/media/NativeRoutingEventHandlerDelegate;->mHandler:Landroid/os/Handler;
-Landroid/media/NativeRoutingEventHandlerDelegate;->mOnRoutingChangedListener:Landroid/media/AudioRouting$OnRoutingChangedListener;
-Landroid/media/NativeRoutingEventHandlerDelegate;->notifyClient()V
-Landroid/media/PlaybackParams$AudioFallbackMode;
-Landroid/media/PlaybackParams$AudioStretchMode;
-Landroid/media/PlaybackParams;-><init>(Landroid/os/Parcel;)V
-Landroid/media/PlaybackParams;->AUDIO_STRETCH_MODE_DEFAULT:I
-Landroid/media/PlaybackParams;->AUDIO_STRETCH_MODE_VOICE:I
-Landroid/media/PlayerBase$IAppOpsCallbackWrapper;
-Landroid/media/PlayerBase$IAppOpsCallbackWrapper;-><init>(Landroid/media/PlayerBase;)V
-Landroid/media/PlayerBase$IAppOpsCallbackWrapper;->mWeakPB:Ljava/lang/ref/WeakReference;
-Landroid/media/PlayerBase$IAppOpsCallbackWrapper;->opChanged(IILjava/lang/String;)V
-Landroid/media/PlayerBase$IPlayerWrapper;
-Landroid/media/PlayerBase$IPlayerWrapper;-><init>(Landroid/media/PlayerBase;)V
-Landroid/media/PlayerBase$IPlayerWrapper;->applyVolumeShaper(Landroid/media/VolumeShaper$Configuration;Landroid/media/VolumeShaper$Operation;)V
-Landroid/media/PlayerBase$IPlayerWrapper;->mWeakPB:Ljava/lang/ref/WeakReference;
-Landroid/media/PlayerBase$IPlayerWrapper;->pause()V
-Landroid/media/PlayerBase$IPlayerWrapper;->setPan(F)V
-Landroid/media/PlayerBase$IPlayerWrapper;->setStartDelayMs(I)V
-Landroid/media/PlayerBase$IPlayerWrapper;->setVolume(F)V
-Landroid/media/PlayerBase$IPlayerWrapper;->start()V
-Landroid/media/PlayerBase$IPlayerWrapper;->stop()V
-Landroid/media/PlayerBase$PlayerIdCard;
-Landroid/media/PlayerBase$PlayerIdCard;-><init>(ILandroid/media/AudioAttributes;Landroid/media/IPlayer;)V
-Landroid/media/PlayerBase$PlayerIdCard;-><init>(Landroid/os/Parcel;)V
-Landroid/media/PlayerBase$PlayerIdCard;->AUDIO_ATTRIBUTES_DEFINED:I
-Landroid/media/PlayerBase$PlayerIdCard;->AUDIO_ATTRIBUTES_NONE:I
-Landroid/media/PlayerBase$PlayerIdCard;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/media/PlayerBase$PlayerIdCard;->mAttributes:Landroid/media/AudioAttributes;
-Landroid/media/PlayerBase$PlayerIdCard;->mIPlayer:Landroid/media/IPlayer;
-Landroid/media/PlayerBase$PlayerIdCard;->mPlayerType:I
-Landroid/media/PlayerBase;
-Landroid/media/PlayerBase;-><init>(Landroid/media/AudioAttributes;I)V
-Landroid/media/PlayerBase;->basePause()V
-Landroid/media/PlayerBase;->baseRegisterPlayer()V
-Landroid/media/PlayerBase;->baseRelease()V
-Landroid/media/PlayerBase;->baseSetAuxEffectSendLevel(F)I
-Landroid/media/PlayerBase;->baseSetPan(F)V
-Landroid/media/PlayerBase;->baseSetStartDelayMs(I)V
-Landroid/media/PlayerBase;->baseSetVolume(FF)V
-Landroid/media/PlayerBase;->baseStart()V
-Landroid/media/PlayerBase;->baseStop()V
-Landroid/media/PlayerBase;->baseUpdateAudioAttributes(Landroid/media/AudioAttributes;)V
-Landroid/media/PlayerBase;->DEBUG:Z
-Landroid/media/PlayerBase;->DEBUG_APP_OPS:Z
-Landroid/media/PlayerBase;->deprecateStreamTypeForPlayback(ILjava/lang/String;Ljava/lang/String;)V
-Landroid/media/PlayerBase;->getService()Landroid/media/IAudioService;
-Landroid/media/PlayerBase;->getStartDelayMs()I
-Landroid/media/PlayerBase;->isRestricted_sync()Z
-Landroid/media/PlayerBase;->mAppOps:Lcom/android/internal/app/IAppOpsService;
-Landroid/media/PlayerBase;->mAppOpsCallback:Lcom/android/internal/app/IAppOpsCallback;
-Landroid/media/PlayerBase;->mAttributes:Landroid/media/AudioAttributes;
-Landroid/media/PlayerBase;->mAuxEffectSendLevel:F
-Landroid/media/PlayerBase;->mHasAppOpsPlayAudio:Z
-Landroid/media/PlayerBase;->mImplType:I
-Landroid/media/PlayerBase;->mLeftVolume:F
-Landroid/media/PlayerBase;->mLock:Ljava/lang/Object;
-Landroid/media/PlayerBase;->mPanMultiplierL:F
-Landroid/media/PlayerBase;->mPanMultiplierR:F
-Landroid/media/PlayerBase;->mPlayerIId:I
-Landroid/media/PlayerBase;->mRightVolume:F
-Landroid/media/PlayerBase;->mStartDelayMs:I
-Landroid/media/PlayerBase;->mState:I
-Landroid/media/PlayerBase;->playerApplyVolumeShaper(Landroid/media/VolumeShaper$Configuration;Landroid/media/VolumeShaper$Operation;)I
-Landroid/media/PlayerBase;->playerGetVolumeShaperState(I)Landroid/media/VolumeShaper$State;
-Landroid/media/PlayerBase;->playerPause()V
-Landroid/media/PlayerBase;->playerSetAuxEffectSendLevel(ZF)I
-Landroid/media/PlayerBase;->playerSetVolume(ZFF)V
-Landroid/media/PlayerBase;->playerStart()V
-Landroid/media/PlayerBase;->playerStop()V
-Landroid/media/PlayerBase;->setStartDelayMs(I)V
-Landroid/media/PlayerBase;->sService:Landroid/media/IAudioService;
-Landroid/media/PlayerBase;->TAG:Ljava/lang/String;
-Landroid/media/PlayerBase;->updateAppOpsPlayAudio()V
-Landroid/media/PlayerBase;->updateAppOpsPlayAudio_sync(Z)V
-Landroid/media/PlayerBase;->updateState(I)V
-Landroid/media/PlayerProxy;-><init>(Landroid/media/AudioPlaybackConfiguration;)V
-Landroid/media/PlayerProxy;->applyVolumeShaper(Landroid/media/VolumeShaper$Configuration;Landroid/media/VolumeShaper$Operation;)V
-Landroid/media/PlayerProxy;->DEBUG:Z
-Landroid/media/PlayerProxy;->mConf:Landroid/media/AudioPlaybackConfiguration;
-Landroid/media/PlayerProxy;->TAG:Ljava/lang/String;
-Landroid/media/projection/IMediaProjection$Stub$Proxy;
-Landroid/media/projection/IMediaProjection$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/projection/IMediaProjection$Stub$Proxy;->applyVirtualDisplayFlags(I)I
-Landroid/media/projection/IMediaProjection$Stub$Proxy;->canProjectAudio()Z
-Landroid/media/projection/IMediaProjection$Stub$Proxy;->canProjectSecureVideo()Z
-Landroid/media/projection/IMediaProjection$Stub$Proxy;->canProjectVideo()Z
-Landroid/media/projection/IMediaProjection$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/projection/IMediaProjection$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/projection/IMediaProjection$Stub$Proxy;->registerCallback(Landroid/media/projection/IMediaProjectionCallback;)V
-Landroid/media/projection/IMediaProjection$Stub$Proxy;->start(Landroid/media/projection/IMediaProjectionCallback;)V
-Landroid/media/projection/IMediaProjection$Stub$Proxy;->stop()V
-Landroid/media/projection/IMediaProjection$Stub$Proxy;->unregisterCallback(Landroid/media/projection/IMediaProjectionCallback;)V
-Landroid/media/projection/IMediaProjection$Stub;
-Landroid/media/projection/IMediaProjection$Stub;-><init>()V
-Landroid/media/projection/IMediaProjection$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/projection/IMediaProjection;
-Landroid/media/projection/IMediaProjection$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/projection/IMediaProjection$Stub;->TRANSACTION_applyVirtualDisplayFlags:I
-Landroid/media/projection/IMediaProjection$Stub;->TRANSACTION_canProjectAudio:I
-Landroid/media/projection/IMediaProjection$Stub;->TRANSACTION_canProjectSecureVideo:I
-Landroid/media/projection/IMediaProjection$Stub;->TRANSACTION_canProjectVideo:I
-Landroid/media/projection/IMediaProjection$Stub;->TRANSACTION_registerCallback:I
-Landroid/media/projection/IMediaProjection$Stub;->TRANSACTION_start:I
-Landroid/media/projection/IMediaProjection$Stub;->TRANSACTION_stop:I
-Landroid/media/projection/IMediaProjection$Stub;->TRANSACTION_unregisterCallback:I
-Landroid/media/projection/IMediaProjection;
-Landroid/media/projection/IMediaProjection;->applyVirtualDisplayFlags(I)I
-Landroid/media/projection/IMediaProjection;->canProjectAudio()Z
-Landroid/media/projection/IMediaProjection;->canProjectSecureVideo()Z
-Landroid/media/projection/IMediaProjection;->canProjectVideo()Z
-Landroid/media/projection/IMediaProjection;->registerCallback(Landroid/media/projection/IMediaProjectionCallback;)V
-Landroid/media/projection/IMediaProjection;->start(Landroid/media/projection/IMediaProjectionCallback;)V
-Landroid/media/projection/IMediaProjection;->stop()V
-Landroid/media/projection/IMediaProjection;->unregisterCallback(Landroid/media/projection/IMediaProjectionCallback;)V
-Landroid/media/projection/IMediaProjectionCallback$Stub$Proxy;
-Landroid/media/projection/IMediaProjectionCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/projection/IMediaProjectionCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/projection/IMediaProjectionCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/projection/IMediaProjectionCallback$Stub$Proxy;->onStop()V
-Landroid/media/projection/IMediaProjectionCallback$Stub;
-Landroid/media/projection/IMediaProjectionCallback$Stub;-><init>()V
-Landroid/media/projection/IMediaProjectionCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/projection/IMediaProjectionCallback;
-Landroid/media/projection/IMediaProjectionCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/projection/IMediaProjectionCallback$Stub;->TRANSACTION_onStop:I
-Landroid/media/projection/IMediaProjectionCallback;
-Landroid/media/projection/IMediaProjectionCallback;->onStop()V
-Landroid/media/projection/IMediaProjectionManager$Stub$Proxy;
-Landroid/media/projection/IMediaProjectionManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/projection/IMediaProjectionManager$Stub$Proxy;->addCallback(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
-Landroid/media/projection/IMediaProjectionManager$Stub$Proxy;->createProjection(ILjava/lang/String;IZ)Landroid/media/projection/IMediaProjection;
-Landroid/media/projection/IMediaProjectionManager$Stub$Proxy;->getActiveProjectionInfo()Landroid/media/projection/MediaProjectionInfo;
-Landroid/media/projection/IMediaProjectionManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/projection/IMediaProjectionManager$Stub$Proxy;->hasProjectionPermission(ILjava/lang/String;)Z
-Landroid/media/projection/IMediaProjectionManager$Stub$Proxy;->isValidMediaProjection(Landroid/media/projection/IMediaProjection;)Z
-Landroid/media/projection/IMediaProjectionManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/projection/IMediaProjectionManager$Stub$Proxy;->removeCallback(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
-Landroid/media/projection/IMediaProjectionManager$Stub$Proxy;->stopActiveProjection()V
-Landroid/media/projection/IMediaProjectionManager$Stub;
-Landroid/media/projection/IMediaProjectionManager$Stub;-><init>()V
-Landroid/media/projection/IMediaProjectionManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/projection/IMediaProjectionManager;
-Landroid/media/projection/IMediaProjectionManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/projection/IMediaProjectionManager$Stub;->TRANSACTION_addCallback:I
-Landroid/media/projection/IMediaProjectionManager$Stub;->TRANSACTION_createProjection:I
-Landroid/media/projection/IMediaProjectionManager$Stub;->TRANSACTION_getActiveProjectionInfo:I
-Landroid/media/projection/IMediaProjectionManager$Stub;->TRANSACTION_hasProjectionPermission:I
-Landroid/media/projection/IMediaProjectionManager$Stub;->TRANSACTION_isValidMediaProjection:I
-Landroid/media/projection/IMediaProjectionManager$Stub;->TRANSACTION_removeCallback:I
-Landroid/media/projection/IMediaProjectionManager$Stub;->TRANSACTION_stopActiveProjection:I
-Landroid/media/projection/IMediaProjectionManager;
-Landroid/media/projection/IMediaProjectionManager;->addCallback(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
-Landroid/media/projection/IMediaProjectionManager;->createProjection(ILjava/lang/String;IZ)Landroid/media/projection/IMediaProjection;
-Landroid/media/projection/IMediaProjectionManager;->getActiveProjectionInfo()Landroid/media/projection/MediaProjectionInfo;
-Landroid/media/projection/IMediaProjectionManager;->isValidMediaProjection(Landroid/media/projection/IMediaProjection;)Z
-Landroid/media/projection/IMediaProjectionManager;->removeCallback(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
-Landroid/media/projection/IMediaProjectionManager;->stopActiveProjection()V
-Landroid/media/projection/IMediaProjectionWatcherCallback$Stub$Proxy;
-Landroid/media/projection/IMediaProjectionWatcherCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/projection/IMediaProjectionWatcherCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/projection/IMediaProjectionWatcherCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/projection/IMediaProjectionWatcherCallback$Stub$Proxy;->onStart(Landroid/media/projection/MediaProjectionInfo;)V
-Landroid/media/projection/IMediaProjectionWatcherCallback$Stub$Proxy;->onStop(Landroid/media/projection/MediaProjectionInfo;)V
-Landroid/media/projection/IMediaProjectionWatcherCallback$Stub;
-Landroid/media/projection/IMediaProjectionWatcherCallback$Stub;-><init>()V
-Landroid/media/projection/IMediaProjectionWatcherCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/projection/IMediaProjectionWatcherCallback;
-Landroid/media/projection/IMediaProjectionWatcherCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/projection/IMediaProjectionWatcherCallback$Stub;->TRANSACTION_onStart:I
-Landroid/media/projection/IMediaProjectionWatcherCallback$Stub;->TRANSACTION_onStop:I
-Landroid/media/projection/IMediaProjectionWatcherCallback;
-Landroid/media/projection/IMediaProjectionWatcherCallback;->onStart(Landroid/media/projection/MediaProjectionInfo;)V
-Landroid/media/projection/IMediaProjectionWatcherCallback;->onStop(Landroid/media/projection/MediaProjectionInfo;)V
-Landroid/media/projection/MediaProjection$CallbackRecord;
-Landroid/media/projection/MediaProjection$CallbackRecord;-><init>(Landroid/media/projection/MediaProjection$Callback;Landroid/os/Handler;)V
-Landroid/media/projection/MediaProjection$CallbackRecord;->mCallback:Landroid/media/projection/MediaProjection$Callback;
-Landroid/media/projection/MediaProjection$CallbackRecord;->mHandler:Landroid/os/Handler;
-Landroid/media/projection/MediaProjection$CallbackRecord;->onStop()V
-Landroid/media/projection/MediaProjection$MediaProjectionCallback;
-Landroid/media/projection/MediaProjection$MediaProjectionCallback;-><init>()V
-Landroid/media/projection/MediaProjection$MediaProjectionCallback;->onStop()V
-Landroid/media/projection/MediaProjection;-><init>(Landroid/content/Context;Landroid/media/projection/IMediaProjection;)V
-Landroid/media/projection/MediaProjection;->createAudioRecord(IIII)Landroid/media/AudioRecord;
-Landroid/media/projection/MediaProjection;->createVirtualDisplay(Ljava/lang/String;IIIZLandroid/view/Surface;Landroid/hardware/display/VirtualDisplay$Callback;Landroid/os/Handler;)Landroid/hardware/display/VirtualDisplay;
-Landroid/media/projection/MediaProjection;->getProjection()Landroid/media/projection/IMediaProjection;
-Landroid/media/projection/MediaProjection;->mCallbacks:Ljava/util/Map;
-Landroid/media/projection/MediaProjection;->mContext:Landroid/content/Context;
-Landroid/media/projection/MediaProjection;->mImpl:Landroid/media/projection/IMediaProjection;
-Landroid/media/projection/MediaProjection;->TAG:Ljava/lang/String;
-Landroid/media/projection/MediaProjectionInfo;
-Landroid/media/projection/MediaProjectionInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/media/projection/MediaProjectionInfo;-><init>(Ljava/lang/String;Landroid/os/UserHandle;)V
-Landroid/media/projection/MediaProjectionInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/media/projection/MediaProjectionInfo;->getPackageName()Ljava/lang/String;
-Landroid/media/projection/MediaProjectionInfo;->getUserHandle()Landroid/os/UserHandle;
-Landroid/media/projection/MediaProjectionInfo;->mPackageName:Ljava/lang/String;
-Landroid/media/projection/MediaProjectionInfo;->mUserHandle:Landroid/os/UserHandle;
-Landroid/media/projection/MediaProjectionManager$Callback;
-Landroid/media/projection/MediaProjectionManager$Callback;-><init>()V
-Landroid/media/projection/MediaProjectionManager$Callback;->onStart(Landroid/media/projection/MediaProjectionInfo;)V
-Landroid/media/projection/MediaProjectionManager$Callback;->onStop(Landroid/media/projection/MediaProjectionInfo;)V
-Landroid/media/projection/MediaProjectionManager$CallbackDelegate;
-Landroid/media/projection/MediaProjectionManager$CallbackDelegate;-><init>(Landroid/media/projection/MediaProjectionManager$Callback;Landroid/os/Handler;)V
-Landroid/media/projection/MediaProjectionManager$CallbackDelegate;->mCallback:Landroid/media/projection/MediaProjectionManager$Callback;
-Landroid/media/projection/MediaProjectionManager$CallbackDelegate;->mHandler:Landroid/os/Handler;
-Landroid/media/projection/MediaProjectionManager$CallbackDelegate;->onStart(Landroid/media/projection/MediaProjectionInfo;)V
-Landroid/media/projection/MediaProjectionManager$CallbackDelegate;->onStop(Landroid/media/projection/MediaProjectionInfo;)V
-Landroid/media/projection/MediaProjectionManager;-><init>(Landroid/content/Context;)V
-Landroid/media/projection/MediaProjectionManager;->addCallback(Landroid/media/projection/MediaProjectionManager$Callback;Landroid/os/Handler;)V
-Landroid/media/projection/MediaProjectionManager;->EXTRA_APP_TOKEN:Ljava/lang/String;
-Landroid/media/projection/MediaProjectionManager;->EXTRA_MEDIA_PROJECTION:Ljava/lang/String;
-Landroid/media/projection/MediaProjectionManager;->getActiveProjectionInfo()Landroid/media/projection/MediaProjectionInfo;
-Landroid/media/projection/MediaProjectionManager;->mCallbacks:Ljava/util/Map;
-Landroid/media/projection/MediaProjectionManager;->mContext:Landroid/content/Context;
-Landroid/media/projection/MediaProjectionManager;->mService:Landroid/media/projection/IMediaProjectionManager;
-Landroid/media/projection/MediaProjectionManager;->removeCallback(Landroid/media/projection/MediaProjectionManager$Callback;)V
-Landroid/media/projection/MediaProjectionManager;->stopActiveProjection()V
-Landroid/media/projection/MediaProjectionManager;->TAG:Ljava/lang/String;
-Landroid/media/projection/MediaProjectionManager;->TYPE_MIRRORING:I
-Landroid/media/projection/MediaProjectionManager;->TYPE_PRESENTATION:I
-Landroid/media/projection/MediaProjectionManager;->TYPE_SCREEN_CAPTURE:I
-Landroid/media/Rating$StarStyle;
-Landroid/media/Rating$Style;
-Landroid/media/Rating2$StarStyle;
-Landroid/media/Rating2$Style;
-Landroid/media/Rating2;
-Landroid/media/Rating2;-><init>(Landroid/media/update/Rating2Provider;)V
-Landroid/media/Rating2;->fromBundle(Landroid/os/Bundle;)Landroid/media/Rating2;
-Landroid/media/Rating2;->getPercentRating()F
-Landroid/media/Rating2;->getProvider()Landroid/media/update/Rating2Provider;
-Landroid/media/Rating2;->getRatingStyle()I
-Landroid/media/Rating2;->getStarRating()F
-Landroid/media/Rating2;->hasHeart()Z
-Landroid/media/Rating2;->isRated()Z
-Landroid/media/Rating2;->isThumbUp()Z
-Landroid/media/Rating2;->mProvider:Landroid/media/update/Rating2Provider;
-Landroid/media/Rating2;->newHeartRating(Z)Landroid/media/Rating2;
-Landroid/media/Rating2;->newPercentageRating(F)Landroid/media/Rating2;
-Landroid/media/Rating2;->newStarRating(IF)Landroid/media/Rating2;
-Landroid/media/Rating2;->newThumbRating(Z)Landroid/media/Rating2;
-Landroid/media/Rating2;->newUnratedRating(I)Landroid/media/Rating2;
-Landroid/media/Rating2;->RATING_3_STARS:I
-Landroid/media/Rating2;->RATING_4_STARS:I
-Landroid/media/Rating2;->RATING_5_STARS:I
-Landroid/media/Rating2;->RATING_HEART:I
-Landroid/media/Rating2;->RATING_NONE:I
-Landroid/media/Rating2;->RATING_PERCENTAGE:I
-Landroid/media/Rating2;->RATING_THUMB_UP_DOWN:I
-Landroid/media/Rating2;->toBundle()Landroid/os/Bundle;
-Landroid/media/Rating;-><init>(IF)V
-Landroid/media/Rating;->mRatingStyle:I
-Landroid/media/Rating;->mRatingValue:F
-Landroid/media/Rating;->RATING_NOT_RATED:F
-Landroid/media/Rating;->TAG:Ljava/lang/String;
-Landroid/media/RemoteControlClient$MetadataEditor;-><init>()V
-Landroid/media/RemoteControlClient$MetadataEditor;->METADATA_KEY_ARTWORK:I
-Landroid/media/RemoteControlClient;->DEBUG:Z
-Landroid/media/RemoteControlClient;->DEFAULT_PLAYBACK_VOLUME:I
-Landroid/media/RemoteControlClient;->DEFAULT_PLAYBACK_VOLUME_HANDLING:I
-Landroid/media/RemoteControlClient;->FLAGS_KEY_MEDIA_NONE:I
-Landroid/media/RemoteControlClient;->FLAG_INFORMATION_REQUEST_ALBUM_ART:I
-Landroid/media/RemoteControlClient;->FLAG_INFORMATION_REQUEST_KEY_MEDIA:I
-Landroid/media/RemoteControlClient;->FLAG_INFORMATION_REQUEST_METADATA:I
-Landroid/media/RemoteControlClient;->FLAG_INFORMATION_REQUEST_PLAYSTATE:I
-Landroid/media/RemoteControlClient;->getCheckPeriodFromSpeed(F)J
-Landroid/media/RemoteControlClient;->getRcMediaIntent()Landroid/app/PendingIntent;
-Landroid/media/RemoteControlClient;->mCacheLock:Ljava/lang/Object;
-Landroid/media/RemoteControlClient;->mCurrentClientGenId:I
-Landroid/media/RemoteControlClient;->mMediaMetadata:Landroid/media/MediaMetadata;
-Landroid/media/RemoteControlClient;->mMetadata:Landroid/os/Bundle;
-Landroid/media/RemoteControlClient;->mMetadataUpdateListener:Landroid/media/RemoteControlClient$OnMetadataUpdateListener;
-Landroid/media/RemoteControlClient;->mNeedsPositionSync:Z
-Landroid/media/RemoteControlClient;->mOriginalArtwork:Landroid/graphics/Bitmap;
-Landroid/media/RemoteControlClient;->mPlaybackPositionMs:J
-Landroid/media/RemoteControlClient;->mPlaybackSpeed:F
-Landroid/media/RemoteControlClient;->mPlaybackState:I
-Landroid/media/RemoteControlClient;->mPlaybackStateChangeTimeMs:J
-Landroid/media/RemoteControlClient;->mPositionProvider:Landroid/media/RemoteControlClient$OnGetPlaybackPositionListener;
-Landroid/media/RemoteControlClient;->mPositionUpdateListener:Landroid/media/RemoteControlClient$OnPlaybackPositionUpdateListener;
-Landroid/media/RemoteControlClient;->mRcMediaIntent:Landroid/app/PendingIntent;
-Landroid/media/RemoteControlClient;->mSession:Landroid/media/session/MediaSession;
-Landroid/media/RemoteControlClient;->mSessionPlaybackState:Landroid/media/session/PlaybackState;
-Landroid/media/RemoteControlClient;->mTransportControlFlags:I
-Landroid/media/RemoteControlClient;->mTransportListener:Landroid/media/session/MediaSession$Callback;
-Landroid/media/RemoteControlClient;->onSeekTo(IJ)V
-Landroid/media/RemoteControlClient;->onUpdateMetadata(IILjava/lang/Object;)V
-Landroid/media/RemoteControlClient;->PLAYBACKINFO_INVALID_VALUE:I
-Landroid/media/RemoteControlClient;->PLAYBACKINFO_PLAYBACK_TYPE:I
-Landroid/media/RemoteControlClient;->PLAYBACKINFO_USES_STREAM:I
-Landroid/media/RemoteControlClient;->PLAYBACKINFO_VOLUME:I
-Landroid/media/RemoteControlClient;->PLAYBACKINFO_VOLUME_HANDLING:I
-Landroid/media/RemoteControlClient;->PLAYBACKINFO_VOLUME_MAX:I
-Landroid/media/RemoteControlClient;->playbackPositionShouldMove(I)Z
-Landroid/media/RemoteControlClient;->PLAYBACK_POSITION_ALWAYS_UNKNOWN:J
-Landroid/media/RemoteControlClient;->PLAYBACK_POSITION_INVALID:J
-Landroid/media/RemoteControlClient;->PLAYBACK_SPEED_1X:F
-Landroid/media/RemoteControlClient;->PLAYBACK_TYPE_LOCAL:I
-Landroid/media/RemoteControlClient;->PLAYBACK_TYPE_MAX:I
-Landroid/media/RemoteControlClient;->PLAYBACK_TYPE_MIN:I
-Landroid/media/RemoteControlClient;->PLAYBACK_TYPE_REMOTE:I
-Landroid/media/RemoteControlClient;->PLAYBACK_VOLUME_FIXED:I
-Landroid/media/RemoteControlClient;->PLAYBACK_VOLUME_VARIABLE:I
-Landroid/media/RemoteControlClient;->PLAYSTATE_NONE:I
-Landroid/media/RemoteControlClient;->POSITION_DRIFT_MAX_MS:J
-Landroid/media/RemoteControlClient;->POSITION_REFRESH_PERIOD_MIN_MS:J
-Landroid/media/RemoteControlClient;->POSITION_REFRESH_PERIOD_PLAYING_MS:J
-Landroid/media/RemoteControlClient;->RCSE_ID_UNREGISTERED:I
-Landroid/media/RemoteControlClient;->registerWithSession(Landroid/media/session/MediaSessionLegacyHelper;)V
-Landroid/media/RemoteControlClient;->setPlaybackStateInt(IJFZ)V
-Landroid/media/RemoteControlClient;->TAG:Ljava/lang/String;
-Landroid/media/RemoteControlClient;->unregisterWithSession(Landroid/media/session/MediaSessionLegacyHelper;)V
-Landroid/media/RemoteController$EventHandler;
-Landroid/media/RemoteController$EventHandler;-><init>(Landroid/media/RemoteController;Landroid/os/Looper;)V
-Landroid/media/RemoteController$MediaControllerCallback;
-Landroid/media/RemoteController$MediaControllerCallback;-><init>()V
-Landroid/media/RemoteController$MetadataEditor;-><init>()V
-Landroid/media/RemoteController$MetadataEditor;-><init>(Landroid/os/Bundle;J)V
-Landroid/media/RemoteController$MetadataEditor;->cleanupBitmapFromBundle(I)V
-Landroid/media/RemoteController$PlaybackInfo;
-Landroid/media/RemoteController$PlaybackInfo;-><init>(IJJF)V
-Landroid/media/RemoteController$PlaybackInfo;->mCurrentPosMs:J
-Landroid/media/RemoteController$PlaybackInfo;->mSpeed:F
-Landroid/media/RemoteController$PlaybackInfo;->mState:I
-Landroid/media/RemoteController$PlaybackInfo;->mStateChangeTimeMs:J
-Landroid/media/RemoteController$TopTransportSessionListener;
-Landroid/media/RemoteController$TopTransportSessionListener;-><init>()V
-Landroid/media/RemoteController;->DEBUG:Z
-Landroid/media/RemoteController;->mArtworkHeight:I
-Landroid/media/RemoteController;->mArtworkWidth:I
-Landroid/media/RemoteController;->MAX_BITMAP_DIMENSION:I
-Landroid/media/RemoteController;->mContext:Landroid/content/Context;
-Landroid/media/RemoteController;->mEnabled:Z
-Landroid/media/RemoteController;->mEventHandler:Landroid/media/RemoteController$EventHandler;
-Landroid/media/RemoteController;->mInfoLock:Ljava/lang/Object;
-Landroid/media/RemoteController;->mIsRegistered:Z
-Landroid/media/RemoteController;->mLastPlaybackInfo:Landroid/media/RemoteController$PlaybackInfo;
-Landroid/media/RemoteController;->mMaxBitmapDimension:I
-Landroid/media/RemoteController;->mMetadataEditor:Landroid/media/RemoteController$MetadataEditor;
-Landroid/media/RemoteController;->mOnClientUpdateListener:Landroid/media/RemoteController$OnClientUpdateListener;
-Landroid/media/RemoteController;->mSessionCb:Landroid/media/session/MediaController$Callback;
-Landroid/media/RemoteController;->mSessionListener:Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;
-Landroid/media/RemoteController;->mSessionManager:Landroid/media/session/MediaSessionManager;
-Landroid/media/RemoteController;->MSG_CLIENT_CHANGE:I
-Landroid/media/RemoteController;->MSG_NEW_MEDIA_METADATA:I
-Landroid/media/RemoteController;->MSG_NEW_PLAYBACK_STATE:I
-Landroid/media/RemoteController;->onClientChange(Z)V
-Landroid/media/RemoteController;->onNewMediaMetadata(Landroid/media/MediaMetadata;)V
-Landroid/media/RemoteController;->onNewPlaybackState(Landroid/media/session/PlaybackState;)V
-Landroid/media/RemoteController;->sendMsg(Landroid/os/Handler;IIIILjava/lang/Object;I)V
-Landroid/media/RemoteController;->SENDMSG_NOOP:I
-Landroid/media/RemoteController;->SENDMSG_QUEUE:I
-Landroid/media/RemoteController;->SENDMSG_REPLACE:I
-Landroid/media/RemoteController;->startListeningToSessions()V
-Landroid/media/RemoteController;->stopListeningToSessions()V
-Landroid/media/RemoteController;->TAG:Ljava/lang/String;
-Landroid/media/RemoteController;->updateController(Landroid/media/session/MediaController;)V
-Landroid/media/RemoteDisplay$Listener;
-Landroid/media/RemoteDisplay$Listener;->onDisplayConnected(Landroid/view/Surface;IIII)V
-Landroid/media/RemoteDisplay$Listener;->onDisplayDisconnected()V
-Landroid/media/RemoteDisplay$Listener;->onDisplayError(I)V
-Landroid/media/RemoteDisplay;
-Landroid/media/RemoteDisplay;-><init>(Landroid/media/RemoteDisplay$Listener;Landroid/os/Handler;Ljava/lang/String;)V
-Landroid/media/RemoteDisplay;->DISPLAY_ERROR_CONNECTION_DROPPED:I
-Landroid/media/RemoteDisplay;->DISPLAY_ERROR_UNKOWN:I
-Landroid/media/RemoteDisplay;->DISPLAY_FLAG_SECURE:I
-Landroid/media/RemoteDisplay;->dispose(Z)V
-Landroid/media/RemoteDisplay;->listen(Ljava/lang/String;Landroid/media/RemoteDisplay$Listener;Landroid/os/Handler;Ljava/lang/String;)Landroid/media/RemoteDisplay;
-Landroid/media/RemoteDisplay;->mGuard:Ldalvik/system/CloseGuard;
-Landroid/media/RemoteDisplay;->mHandler:Landroid/os/Handler;
-Landroid/media/RemoteDisplay;->mListener:Landroid/media/RemoteDisplay$Listener;
-Landroid/media/RemoteDisplay;->mOpPackageName:Ljava/lang/String;
-Landroid/media/RemoteDisplay;->mPtr:J
-Landroid/media/RemoteDisplay;->nativeDispose(J)V
-Landroid/media/RemoteDisplay;->nativeListen(Ljava/lang/String;Ljava/lang/String;)J
-Landroid/media/RemoteDisplay;->nativePause(J)V
-Landroid/media/RemoteDisplay;->nativeResume(J)V
-Landroid/media/RemoteDisplay;->pause()V
-Landroid/media/RemoteDisplay;->resume()V
-Landroid/media/RemoteDisplay;->startListening(Ljava/lang/String;)V
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;-><init>(Landroid/media/RemoteDisplayState$RemoteDisplayInfo;)V
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;-><init>(Ljava/lang/String;)V
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;->description:Ljava/lang/String;
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;->id:Ljava/lang/String;
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;->isValid()Z
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;->name:Ljava/lang/String;
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;->PLAYBACK_VOLUME_FIXED:I
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;->PLAYBACK_VOLUME_VARIABLE:I
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;->presentationDisplayId:I
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;->status:I
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;->STATUS_AVAILABLE:I
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;->STATUS_CONNECTED:I
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;->STATUS_CONNECTING:I
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;->STATUS_IN_USE:I
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;->STATUS_NOT_AVAILABLE:I
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;->volume:I
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;->volumeHandling:I
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;->volumeMax:I
-Landroid/media/RemoteDisplayState;
-Landroid/media/RemoteDisplayState;-><init>(Landroid/os/Parcel;)V
-Landroid/media/RemoteDisplayState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/media/RemoteDisplayState;->DISCOVERY_MODE_ACTIVE:I
-Landroid/media/RemoteDisplayState;->DISCOVERY_MODE_NONE:I
-Landroid/media/RemoteDisplayState;->DISCOVERY_MODE_PASSIVE:I
-Landroid/media/RemoteDisplayState;->isValid()Z
-Landroid/media/RemoteDisplayState;->SERVICE_INTERFACE:Ljava/lang/String;
-Landroid/media/ResampleInputStream;
-Landroid/media/ResampleInputStream;-><init>(Ljava/io/InputStream;II)V
-Landroid/media/ResampleInputStream;->fir21([BI[BII)V
-Landroid/media/ResampleInputStream;->mBuf:[B
-Landroid/media/ResampleInputStream;->mBufCount:I
-Landroid/media/ResampleInputStream;->mFirLength:I
-Landroid/media/ResampleInputStream;->mInputStream:Ljava/io/InputStream;
-Landroid/media/ResampleInputStream;->mOneByte:[B
-Landroid/media/ResampleInputStream;->mRateIn:I
-Landroid/media/ResampleInputStream;->mRateOut:I
-Landroid/media/ResampleInputStream;->TAG:Ljava/lang/String;
-Landroid/media/Ringtone$MyOnCompletionListener;
-Landroid/media/Ringtone$MyOnCompletionListener;-><init>()V
-Landroid/media/Ringtone;->applyPlaybackProperties_sync()V
-Landroid/media/Ringtone;->destroyLocalPlayer()V
-Landroid/media/Ringtone;->getTitle(Landroid/content/Context;Landroid/net/Uri;ZZ)Ljava/lang/String;
-Landroid/media/Ringtone;->LOGD:Z
-Landroid/media/Ringtone;->mAllowRemote:Z
-Landroid/media/Ringtone;->mAudioAttributes:Landroid/media/AudioAttributes;
-Landroid/media/Ringtone;->mAudioManager:Landroid/media/AudioManager;
-Landroid/media/Ringtone;->mCompletionListener:Landroid/media/Ringtone$MyOnCompletionListener;
-Landroid/media/Ringtone;->mContext:Landroid/content/Context;
-Landroid/media/Ringtone;->MEDIA_COLUMNS:[Ljava/lang/String;
-Landroid/media/Ringtone;->MEDIA_SELECTION:Ljava/lang/String;
-Landroid/media/Ringtone;->mIsLooping:Z
-Landroid/media/Ringtone;->mPlaybackSettingsLock:Ljava/lang/Object;
-Landroid/media/Ringtone;->mRemotePlayer:Landroid/media/IRingtonePlayer;
-Landroid/media/Ringtone;->mRemoteToken:Landroid/os/Binder;
-Landroid/media/Ringtone;->mTitle:Ljava/lang/String;
-Landroid/media/Ringtone;->mVolume:F
-Landroid/media/Ringtone;->playFallbackRingtone()Z
-Landroid/media/Ringtone;->sActiveRingtones:Ljava/util/ArrayList;
-Landroid/media/Ringtone;->setTitle(Ljava/lang/String;)V
-Landroid/media/Ringtone;->startLocalPlayer()V
-Landroid/media/Ringtone;->TAG:Ljava/lang/String;
-Landroid/media/RingtoneManager$NewRingtoneScanner;
-Landroid/media/RingtoneManager$NewRingtoneScanner;-><init>(Ljava/io/File;)V
-Landroid/media/RingtoneManager$NewRingtoneScanner;->mFile:Ljava/io/File;
-Landroid/media/RingtoneManager$NewRingtoneScanner;->mMediaScannerConnection:Landroid/media/MediaScannerConnection;
-Landroid/media/RingtoneManager$NewRingtoneScanner;->mQueue:Ljava/util/concurrent/LinkedBlockingQueue;
-Landroid/media/RingtoneManager$NewRingtoneScanner;->take()Landroid/net/Uri;
-Landroid/media/RingtoneManager;-><init>(Landroid/app/Activity;Z)V
-Landroid/media/RingtoneManager;-><init>(Landroid/content/Context;Z)V
-Landroid/media/RingtoneManager;->addCustomExternalRingtone(Landroid/net/Uri;I)Landroid/net/Uri;
-Landroid/media/RingtoneManager;->constructBooleanTrueWhereClause(Ljava/util/List;)Ljava/lang/String;
-Landroid/media/RingtoneManager;->createPackageContextAsUser(Landroid/content/Context;I)Landroid/content/Context;
-Landroid/media/RingtoneManager;->deleteExternalRingtone(Landroid/net/Uri;)Z
-Landroid/media/RingtoneManager;->disableSyncFromParent(Landroid/content/Context;)V
-Landroid/media/RingtoneManager;->enableSyncFromParent(Landroid/content/Context;)V
-Landroid/media/RingtoneManager;->EXTRA_RINGTONE_AUDIO_ATTRIBUTES_FLAGS:Ljava/lang/String;
-Landroid/media/RingtoneManager;->getCacheForType(I)Landroid/net/Uri;
-Landroid/media/RingtoneManager;->getCacheForType(II)Landroid/net/Uri;
-Landroid/media/RingtoneManager;->getExistingRingtoneUriFromPath(Landroid/content/Context;Ljava/lang/String;)Landroid/net/Uri;
-Landroid/media/RingtoneManager;->getExternalDirectoryForType(I)Ljava/lang/String;
-Landroid/media/RingtoneManager;->getMediaRingtones()Landroid/database/Cursor;
-Landroid/media/RingtoneManager;->getParentProfileRingtones()Landroid/database/Cursor;
-Landroid/media/RingtoneManager;->getRingtonePathFromUri(Landroid/net/Uri;)Ljava/io/File;
-Landroid/media/RingtoneManager;->getSettingForType(I)Ljava/lang/String;
-Landroid/media/RingtoneManager;->getUriFromCursor(Landroid/database/Cursor;)Landroid/net/Uri;
-Landroid/media/RingtoneManager;->getValidRingtoneUriFromCursorAndClose(Landroid/content/Context;Landroid/database/Cursor;)Landroid/net/Uri;
-Landroid/media/RingtoneManager;->INTERNAL_COLUMNS:[Ljava/lang/String;
-Landroid/media/RingtoneManager;->isCustomRingtone(Landroid/net/Uri;)Z
-Landroid/media/RingtoneManager;->isExternalRingtoneUri(Landroid/net/Uri;)Z
-Landroid/media/RingtoneManager;->isInternalRingtoneUri(Landroid/net/Uri;)Z
-Landroid/media/RingtoneManager;->isRingtoneUriInStorage(Landroid/net/Uri;Landroid/net/Uri;)Z
-Landroid/media/RingtoneManager;->mActivity:Landroid/app/Activity;
-Landroid/media/RingtoneManager;->mContext:Landroid/content/Context;
-Landroid/media/RingtoneManager;->MEDIA_COLUMNS:[Ljava/lang/String;
-Landroid/media/RingtoneManager;->mFilterColumns:Ljava/util/List;
-Landroid/media/RingtoneManager;->mIncludeParentRingtones:Z
-Landroid/media/RingtoneManager;->mPreviousRingtone:Landroid/media/Ringtone;
-Landroid/media/RingtoneManager;->mStopPreviousRingtone:Z
-Landroid/media/RingtoneManager;->mType:I
-Landroid/media/RingtoneManager;->openRingtone(Landroid/content/Context;Landroid/net/Uri;)Ljava/io/InputStream;
-Landroid/media/RingtoneManager;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
-Landroid/media/RingtoneManager;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/content/Context;)Landroid/database/Cursor;
-Landroid/media/RingtoneManager;->setFilterColumnsList(I)V
-Landroid/media/RingtoneManager;->TAG:Ljava/lang/String;
-Landroid/media/session/IActiveSessionsListener$Stub$Proxy;
-Landroid/media/session/IActiveSessionsListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/session/IActiveSessionsListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/session/IActiveSessionsListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/session/IActiveSessionsListener$Stub$Proxy;->onActiveSessionsChanged(Ljava/util/List;)V
-Landroid/media/session/IActiveSessionsListener$Stub;
-Landroid/media/session/IActiveSessionsListener$Stub;-><init>()V
-Landroid/media/session/IActiveSessionsListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/session/IActiveSessionsListener;
-Landroid/media/session/IActiveSessionsListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/session/IActiveSessionsListener$Stub;->TRANSACTION_onActiveSessionsChanged:I
-Landroid/media/session/IActiveSessionsListener;
-Landroid/media/session/IActiveSessionsListener;->onActiveSessionsChanged(Ljava/util/List;)V
-Landroid/media/session/ICallback$Stub$Proxy;
-Landroid/media/session/ICallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/session/ICallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/session/ICallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/session/ICallback$Stub$Proxy;->onAddressedPlayerChangedToMediaButtonReceiver(Landroid/content/ComponentName;)V
-Landroid/media/session/ICallback$Stub$Proxy;->onAddressedPlayerChangedToMediaSession(Landroid/media/session/MediaSession$Token;)V
-Landroid/media/session/ICallback$Stub$Proxy;->onMediaKeyEventDispatchedToMediaButtonReceiver(Landroid/view/KeyEvent;Landroid/content/ComponentName;)V
-Landroid/media/session/ICallback$Stub$Proxy;->onMediaKeyEventDispatchedToMediaSession(Landroid/view/KeyEvent;Landroid/media/session/MediaSession$Token;)V
-Landroid/media/session/ICallback$Stub;
-Landroid/media/session/ICallback$Stub;-><init>()V
-Landroid/media/session/ICallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/session/ICallback;
-Landroid/media/session/ICallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/session/ICallback$Stub;->TRANSACTION_onAddressedPlayerChangedToMediaButtonReceiver:I
-Landroid/media/session/ICallback$Stub;->TRANSACTION_onAddressedPlayerChangedToMediaSession:I
-Landroid/media/session/ICallback$Stub;->TRANSACTION_onMediaKeyEventDispatchedToMediaButtonReceiver:I
-Landroid/media/session/ICallback$Stub;->TRANSACTION_onMediaKeyEventDispatchedToMediaSession:I
-Landroid/media/session/ICallback;
-Landroid/media/session/ICallback;->onAddressedPlayerChangedToMediaButtonReceiver(Landroid/content/ComponentName;)V
-Landroid/media/session/ICallback;->onAddressedPlayerChangedToMediaSession(Landroid/media/session/MediaSession$Token;)V
-Landroid/media/session/ICallback;->onMediaKeyEventDispatchedToMediaButtonReceiver(Landroid/view/KeyEvent;Landroid/content/ComponentName;)V
-Landroid/media/session/ICallback;->onMediaKeyEventDispatchedToMediaSession(Landroid/view/KeyEvent;Landroid/media/session/MediaSession$Token;)V
-Landroid/media/session/IOnMediaKeyListener$Stub$Proxy;
-Landroid/media/session/IOnMediaKeyListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/session/IOnMediaKeyListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/session/IOnMediaKeyListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/session/IOnMediaKeyListener$Stub$Proxy;->onMediaKey(Landroid/view/KeyEvent;Landroid/os/ResultReceiver;)V
-Landroid/media/session/IOnMediaKeyListener$Stub;
-Landroid/media/session/IOnMediaKeyListener$Stub;-><init>()V
-Landroid/media/session/IOnMediaKeyListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/session/IOnMediaKeyListener;
-Landroid/media/session/IOnMediaKeyListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/session/IOnMediaKeyListener$Stub;->TRANSACTION_onMediaKey:I
-Landroid/media/session/IOnMediaKeyListener;
-Landroid/media/session/IOnMediaKeyListener;->onMediaKey(Landroid/view/KeyEvent;Landroid/os/ResultReceiver;)V
-Landroid/media/session/IOnVolumeKeyLongPressListener$Stub$Proxy;
-Landroid/media/session/IOnVolumeKeyLongPressListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/session/IOnVolumeKeyLongPressListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/session/IOnVolumeKeyLongPressListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/session/IOnVolumeKeyLongPressListener$Stub$Proxy;->onVolumeKeyLongPress(Landroid/view/KeyEvent;)V
-Landroid/media/session/IOnVolumeKeyLongPressListener$Stub;
-Landroid/media/session/IOnVolumeKeyLongPressListener$Stub;-><init>()V
-Landroid/media/session/IOnVolumeKeyLongPressListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/session/IOnVolumeKeyLongPressListener;
-Landroid/media/session/IOnVolumeKeyLongPressListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/session/IOnVolumeKeyLongPressListener$Stub;->TRANSACTION_onVolumeKeyLongPress:I
-Landroid/media/session/IOnVolumeKeyLongPressListener;
-Landroid/media/session/IOnVolumeKeyLongPressListener;->onVolumeKeyLongPress(Landroid/view/KeyEvent;)V
-Landroid/media/session/ISession$Stub$Proxy;
-Landroid/media/session/ISession$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/session/ISession$Stub$Proxy;->destroy()V
-Landroid/media/session/ISession$Stub$Proxy;->getController()Landroid/media/session/ISessionController;
-Landroid/media/session/ISession$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/session/ISession$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/session/ISession$Stub$Proxy;->sendEvent(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISession$Stub$Proxy;->setActive(Z)V
-Landroid/media/session/ISession$Stub$Proxy;->setCurrentVolume(I)V
-Landroid/media/session/ISession$Stub$Proxy;->setExtras(Landroid/os/Bundle;)V
-Landroid/media/session/ISession$Stub$Proxy;->setFlags(I)V
-Landroid/media/session/ISession$Stub$Proxy;->setLaunchPendingIntent(Landroid/app/PendingIntent;)V
-Landroid/media/session/ISession$Stub$Proxy;->setMediaButtonReceiver(Landroid/app/PendingIntent;)V
-Landroid/media/session/ISession$Stub$Proxy;->setMetadata(Landroid/media/MediaMetadata;)V
-Landroid/media/session/ISession$Stub$Proxy;->setPlaybackState(Landroid/media/session/PlaybackState;)V
-Landroid/media/session/ISession$Stub$Proxy;->setPlaybackToLocal(Landroid/media/AudioAttributes;)V
-Landroid/media/session/ISession$Stub$Proxy;->setPlaybackToRemote(II)V
-Landroid/media/session/ISession$Stub$Proxy;->setQueue(Landroid/content/pm/ParceledListSlice;)V
-Landroid/media/session/ISession$Stub$Proxy;->setQueueTitle(Ljava/lang/CharSequence;)V
-Landroid/media/session/ISession$Stub$Proxy;->setRatingType(I)V
-Landroid/media/session/ISession$Stub;
-Landroid/media/session/ISession$Stub;-><init>()V
-Landroid/media/session/ISession$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/session/ISession;
-Landroid/media/session/ISession$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/session/ISession$Stub;->TRANSACTION_destroy:I
-Landroid/media/session/ISession$Stub;->TRANSACTION_getController:I
-Landroid/media/session/ISession$Stub;->TRANSACTION_sendEvent:I
-Landroid/media/session/ISession$Stub;->TRANSACTION_setActive:I
-Landroid/media/session/ISession$Stub;->TRANSACTION_setCurrentVolume:I
-Landroid/media/session/ISession$Stub;->TRANSACTION_setExtras:I
-Landroid/media/session/ISession$Stub;->TRANSACTION_setFlags:I
-Landroid/media/session/ISession$Stub;->TRANSACTION_setLaunchPendingIntent:I
-Landroid/media/session/ISession$Stub;->TRANSACTION_setMediaButtonReceiver:I
-Landroid/media/session/ISession$Stub;->TRANSACTION_setMetadata:I
-Landroid/media/session/ISession$Stub;->TRANSACTION_setPlaybackState:I
-Landroid/media/session/ISession$Stub;->TRANSACTION_setPlaybackToLocal:I
-Landroid/media/session/ISession$Stub;->TRANSACTION_setPlaybackToRemote:I
-Landroid/media/session/ISession$Stub;->TRANSACTION_setQueue:I
-Landroid/media/session/ISession$Stub;->TRANSACTION_setQueueTitle:I
-Landroid/media/session/ISession$Stub;->TRANSACTION_setRatingType:I
-Landroid/media/session/ISession;
-Landroid/media/session/ISession;->destroy()V
-Landroid/media/session/ISession;->getController()Landroid/media/session/ISessionController;
-Landroid/media/session/ISession;->sendEvent(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISession;->setActive(Z)V
-Landroid/media/session/ISession;->setCurrentVolume(I)V
-Landroid/media/session/ISession;->setExtras(Landroid/os/Bundle;)V
-Landroid/media/session/ISession;->setFlags(I)V
-Landroid/media/session/ISession;->setLaunchPendingIntent(Landroid/app/PendingIntent;)V
-Landroid/media/session/ISession;->setMediaButtonReceiver(Landroid/app/PendingIntent;)V
-Landroid/media/session/ISession;->setMetadata(Landroid/media/MediaMetadata;)V
-Landroid/media/session/ISession;->setPlaybackState(Landroid/media/session/PlaybackState;)V
-Landroid/media/session/ISession;->setPlaybackToLocal(Landroid/media/AudioAttributes;)V
-Landroid/media/session/ISession;->setPlaybackToRemote(II)V
-Landroid/media/session/ISession;->setQueue(Landroid/content/pm/ParceledListSlice;)V
-Landroid/media/session/ISession;->setQueueTitle(Ljava/lang/CharSequence;)V
-Landroid/media/session/ISession;->setRatingType(I)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;
-Landroid/media/session/ISessionCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/session/ISessionCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onAdjustVolume(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;I)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onCommand(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onCustomAction(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onFastForward(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onMediaButton(Ljava/lang/String;IILandroid/content/Intent;ILandroid/os/ResultReceiver;)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onMediaButtonFromController(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Landroid/content/Intent;)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onNext(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onPause(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onPlay(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onPlayFromMediaId(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onPlayFromSearch(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onPlayFromUri(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onPrepare(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onPrepareFromMediaId(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onPrepareFromSearch(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onPrepareFromUri(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onPrevious(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onRate(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Landroid/media/Rating;)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onRewind(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onSeekTo(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;J)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onSetVolumeTo(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;I)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onSkipToTrack(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;J)V
-Landroid/media/session/ISessionCallback$Stub$Proxy;->onStop(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionCallback$Stub;
-Landroid/media/session/ISessionCallback$Stub;-><init>()V
-Landroid/media/session/ISessionCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/session/ISessionCallback;
-Landroid/media/session/ISessionCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onAdjustVolume:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onCommand:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onCustomAction:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onFastForward:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onMediaButton:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onMediaButtonFromController:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onNext:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onPause:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onPlay:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onPlayFromMediaId:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onPlayFromSearch:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onPlayFromUri:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onPrepare:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onPrepareFromMediaId:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onPrepareFromSearch:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onPrepareFromUri:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onPrevious:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onRate:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onRewind:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onSeekTo:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onSetVolumeTo:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onSkipToTrack:I
-Landroid/media/session/ISessionCallback$Stub;->TRANSACTION_onStop:I
-Landroid/media/session/ISessionCallback;
-Landroid/media/session/ISessionCallback;->onAdjustVolume(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;I)V
-Landroid/media/session/ISessionCallback;->onCommand(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
-Landroid/media/session/ISessionCallback;->onCustomAction(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionCallback;->onFastForward(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionCallback;->onMediaButton(Ljava/lang/String;IILandroid/content/Intent;ILandroid/os/ResultReceiver;)V
-Landroid/media/session/ISessionCallback;->onMediaButtonFromController(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Landroid/content/Intent;)V
-Landroid/media/session/ISessionCallback;->onNext(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionCallback;->onPause(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionCallback;->onPlay(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionCallback;->onPlayFromMediaId(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionCallback;->onPlayFromSearch(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionCallback;->onPlayFromUri(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionCallback;->onPrepare(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionCallback;->onPrepareFromMediaId(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionCallback;->onPrepareFromSearch(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionCallback;->onPrepareFromUri(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionCallback;->onPrevious(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionCallback;->onRate(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Landroid/media/Rating;)V
-Landroid/media/session/ISessionCallback;->onRewind(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionCallback;->onSeekTo(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;J)V
-Landroid/media/session/ISessionCallback;->onSetVolumeTo(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;I)V
-Landroid/media/session/ISessionCallback;->onSkipToTrack(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;J)V
-Landroid/media/session/ISessionCallback;->onStop(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionController$Stub$Proxy;
-Landroid/media/session/ISessionController$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/session/ISessionController$Stub$Proxy;->adjustVolume(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;ZII)V
-Landroid/media/session/ISessionController$Stub$Proxy;->fastForward(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionController$Stub$Proxy;->getExtras()Landroid/os/Bundle;
-Landroid/media/session/ISessionController$Stub$Proxy;->getFlags()J
-Landroid/media/session/ISessionController$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/session/ISessionController$Stub$Proxy;->getLaunchPendingIntent()Landroid/app/PendingIntent;
-Landroid/media/session/ISessionController$Stub$Proxy;->getMetadata()Landroid/media/MediaMetadata;
-Landroid/media/session/ISessionController$Stub$Proxy;->getPackageName()Ljava/lang/String;
-Landroid/media/session/ISessionController$Stub$Proxy;->getPlaybackState()Landroid/media/session/PlaybackState;
-Landroid/media/session/ISessionController$Stub$Proxy;->getQueue()Landroid/content/pm/ParceledListSlice;
-Landroid/media/session/ISessionController$Stub$Proxy;->getQueueTitle()Ljava/lang/CharSequence;
-Landroid/media/session/ISessionController$Stub$Proxy;->getRatingType()I
-Landroid/media/session/ISessionController$Stub$Proxy;->getTag()Ljava/lang/String;
-Landroid/media/session/ISessionController$Stub$Proxy;->getVolumeAttributes()Landroid/media/session/ParcelableVolumeInfo;
-Landroid/media/session/ISessionController$Stub$Proxy;->isTransportControlEnabled()Z
-Landroid/media/session/ISessionController$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/session/ISessionController$Stub$Proxy;->next(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionController$Stub$Proxy;->pause(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionController$Stub$Proxy;->play(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionController$Stub$Proxy;->playFromMediaId(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionController$Stub$Proxy;->playFromSearch(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionController$Stub$Proxy;->playFromUri(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionController$Stub$Proxy;->prepare(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionController$Stub$Proxy;->prepareFromMediaId(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionController$Stub$Proxy;->prepareFromSearch(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionController$Stub$Proxy;->prepareFromUri(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionController$Stub$Proxy;->previous(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionController$Stub$Proxy;->rate(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Landroid/media/Rating;)V
-Landroid/media/session/ISessionController$Stub$Proxy;->registerCallbackListener(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionController$Stub$Proxy;->rewind(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionController$Stub$Proxy;->seekTo(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;J)V
-Landroid/media/session/ISessionController$Stub$Proxy;->sendCommand(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
-Landroid/media/session/ISessionController$Stub$Proxy;->sendCustomAction(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionController$Stub$Proxy;->sendMediaButton(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;ZLandroid/view/KeyEvent;)Z
-Landroid/media/session/ISessionController$Stub$Proxy;->setVolumeTo(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;II)V
-Landroid/media/session/ISessionController$Stub$Proxy;->skipToQueueItem(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;J)V
-Landroid/media/session/ISessionController$Stub$Proxy;->stop(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionController$Stub$Proxy;->unregisterCallbackListener(Landroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionController$Stub;
-Landroid/media/session/ISessionController$Stub;-><init>()V
-Landroid/media/session/ISessionController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/session/ISessionController;
-Landroid/media/session/ISessionController$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_adjustVolume:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_fastForward:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_getExtras:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_getFlags:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_getLaunchPendingIntent:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_getMetadata:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_getPackageName:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_getPlaybackState:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_getQueue:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_getQueueTitle:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_getRatingType:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_getTag:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_getVolumeAttributes:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_isTransportControlEnabled:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_next:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_pause:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_play:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_playFromMediaId:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_playFromSearch:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_playFromUri:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_prepare:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_prepareFromMediaId:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_prepareFromSearch:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_prepareFromUri:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_previous:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_rate:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_registerCallbackListener:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_rewind:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_seekTo:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_sendCommand:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_sendCustomAction:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_sendMediaButton:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_setVolumeTo:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_skipToQueueItem:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_stop:I
-Landroid/media/session/ISessionController$Stub;->TRANSACTION_unregisterCallbackListener:I
-Landroid/media/session/ISessionController;
-Landroid/media/session/ISessionController;->adjustVolume(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;ZII)V
-Landroid/media/session/ISessionController;->fastForward(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionController;->getExtras()Landroid/os/Bundle;
-Landroid/media/session/ISessionController;->getFlags()J
-Landroid/media/session/ISessionController;->getLaunchPendingIntent()Landroid/app/PendingIntent;
-Landroid/media/session/ISessionController;->getMetadata()Landroid/media/MediaMetadata;
-Landroid/media/session/ISessionController;->getPackageName()Ljava/lang/String;
-Landroid/media/session/ISessionController;->getPlaybackState()Landroid/media/session/PlaybackState;
-Landroid/media/session/ISessionController;->getQueue()Landroid/content/pm/ParceledListSlice;
-Landroid/media/session/ISessionController;->getQueueTitle()Ljava/lang/CharSequence;
-Landroid/media/session/ISessionController;->getRatingType()I
-Landroid/media/session/ISessionController;->getTag()Ljava/lang/String;
-Landroid/media/session/ISessionController;->getVolumeAttributes()Landroid/media/session/ParcelableVolumeInfo;
-Landroid/media/session/ISessionController;->isTransportControlEnabled()Z
-Landroid/media/session/ISessionController;->next(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionController;->pause(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionController;->play(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionController;->playFromMediaId(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionController;->playFromSearch(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionController;->playFromUri(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionController;->prepare(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionController;->prepareFromMediaId(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionController;->prepareFromSearch(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionController;->prepareFromUri(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionController;->previous(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionController;->rate(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Landroid/media/Rating;)V
-Landroid/media/session/ISessionController;->registerCallbackListener(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionController;->rewind(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionController;->seekTo(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;J)V
-Landroid/media/session/ISessionController;->sendCommand(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
-Landroid/media/session/ISessionController;->sendCustomAction(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionController;->sendMediaButton(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;ZLandroid/view/KeyEvent;)Z
-Landroid/media/session/ISessionController;->setVolumeTo(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;II)V
-Landroid/media/session/ISessionController;->skipToQueueItem(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;J)V
-Landroid/media/session/ISessionController;->stop(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionController;->unregisterCallbackListener(Landroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/ISessionControllerCallback$Stub$Proxy;
-Landroid/media/session/ISessionControllerCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/session/ISessionControllerCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/session/ISessionControllerCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/session/ISessionControllerCallback$Stub$Proxy;->onEvent(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionControllerCallback$Stub$Proxy;->onExtrasChanged(Landroid/os/Bundle;)V
-Landroid/media/session/ISessionControllerCallback$Stub$Proxy;->onMetadataChanged(Landroid/media/MediaMetadata;)V
-Landroid/media/session/ISessionControllerCallback$Stub$Proxy;->onPlaybackStateChanged(Landroid/media/session/PlaybackState;)V
-Landroid/media/session/ISessionControllerCallback$Stub$Proxy;->onQueueChanged(Landroid/content/pm/ParceledListSlice;)V
-Landroid/media/session/ISessionControllerCallback$Stub$Proxy;->onQueueTitleChanged(Ljava/lang/CharSequence;)V
-Landroid/media/session/ISessionControllerCallback$Stub$Proxy;->onSessionDestroyed()V
-Landroid/media/session/ISessionControllerCallback$Stub$Proxy;->onVolumeInfoChanged(Landroid/media/session/ParcelableVolumeInfo;)V
-Landroid/media/session/ISessionControllerCallback$Stub;
-Landroid/media/session/ISessionControllerCallback$Stub;-><init>()V
-Landroid/media/session/ISessionControllerCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/session/ISessionControllerCallback;
-Landroid/media/session/ISessionControllerCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/session/ISessionControllerCallback$Stub;->TRANSACTION_onEvent:I
-Landroid/media/session/ISessionControllerCallback$Stub;->TRANSACTION_onExtrasChanged:I
-Landroid/media/session/ISessionControllerCallback$Stub;->TRANSACTION_onMetadataChanged:I
-Landroid/media/session/ISessionControllerCallback$Stub;->TRANSACTION_onPlaybackStateChanged:I
-Landroid/media/session/ISessionControllerCallback$Stub;->TRANSACTION_onQueueChanged:I
-Landroid/media/session/ISessionControllerCallback$Stub;->TRANSACTION_onQueueTitleChanged:I
-Landroid/media/session/ISessionControllerCallback$Stub;->TRANSACTION_onSessionDestroyed:I
-Landroid/media/session/ISessionControllerCallback$Stub;->TRANSACTION_onVolumeInfoChanged:I
-Landroid/media/session/ISessionControllerCallback;
-Landroid/media/session/ISessionControllerCallback;->onEvent(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/ISessionControllerCallback;->onExtrasChanged(Landroid/os/Bundle;)V
-Landroid/media/session/ISessionControllerCallback;->onMetadataChanged(Landroid/media/MediaMetadata;)V
-Landroid/media/session/ISessionControllerCallback;->onPlaybackStateChanged(Landroid/media/session/PlaybackState;)V
-Landroid/media/session/ISessionControllerCallback;->onQueueChanged(Landroid/content/pm/ParceledListSlice;)V
-Landroid/media/session/ISessionControllerCallback;->onQueueTitleChanged(Ljava/lang/CharSequence;)V
-Landroid/media/session/ISessionControllerCallback;->onSessionDestroyed()V
-Landroid/media/session/ISessionControllerCallback;->onVolumeInfoChanged(Landroid/media/session/ParcelableVolumeInfo;)V
-Landroid/media/session/ISessionManager$Stub$Proxy;
-Landroid/media/session/ISessionManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/session/ISessionManager$Stub$Proxy;->addSessionsListener(Landroid/media/session/IActiveSessionsListener;Landroid/content/ComponentName;I)V
-Landroid/media/session/ISessionManager$Stub$Proxy;->addSessionTokensListener(Landroid/media/ISessionTokensListener;ILjava/lang/String;)V
-Landroid/media/session/ISessionManager$Stub$Proxy;->createSession(Ljava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;I)Landroid/media/session/ISession;
-Landroid/media/session/ISessionManager$Stub$Proxy;->createSession2(Landroid/os/Bundle;)Z
-Landroid/media/session/ISessionManager$Stub$Proxy;->destroySession2(Landroid/os/Bundle;)V
-Landroid/media/session/ISessionManager$Stub$Proxy;->dispatchAdjustVolume(Ljava/lang/String;III)V
-Landroid/media/session/ISessionManager$Stub$Proxy;->dispatchMediaKeyEvent(Ljava/lang/String;ZLandroid/view/KeyEvent;Z)V
-Landroid/media/session/ISessionManager$Stub$Proxy;->dispatchVolumeKeyEvent(Ljava/lang/String;ZLandroid/view/KeyEvent;IZ)V
-Landroid/media/session/ISessionManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/session/ISessionManager$Stub$Proxy;->getSessions(Landroid/content/ComponentName;I)Ljava/util/List;
-Landroid/media/session/ISessionManager$Stub$Proxy;->getSessionTokens(ZZLjava/lang/String;)Ljava/util/List;
-Landroid/media/session/ISessionManager$Stub$Proxy;->isGlobalPriorityActive()Z
-Landroid/media/session/ISessionManager$Stub$Proxy;->isTrusted(Ljava/lang/String;II)Z
-Landroid/media/session/ISessionManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/session/ISessionManager$Stub$Proxy;->removeSessionsListener(Landroid/media/session/IActiveSessionsListener;)V
-Landroid/media/session/ISessionManager$Stub$Proxy;->removeSessionTokensListener(Landroid/media/ISessionTokensListener;Ljava/lang/String;)V
-Landroid/media/session/ISessionManager$Stub$Proxy;->setCallback(Landroid/media/session/ICallback;)V
-Landroid/media/session/ISessionManager$Stub$Proxy;->setOnMediaKeyListener(Landroid/media/session/IOnMediaKeyListener;)V
-Landroid/media/session/ISessionManager$Stub$Proxy;->setOnVolumeKeyLongPressListener(Landroid/media/session/IOnVolumeKeyLongPressListener;)V
-Landroid/media/session/ISessionManager$Stub$Proxy;->setRemoteVolumeController(Landroid/media/IRemoteVolumeController;)V
-Landroid/media/session/ISessionManager$Stub;
-Landroid/media/session/ISessionManager$Stub;-><init>()V
-Landroid/media/session/ISessionManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/session/ISessionManager$Stub;->TRANSACTION_addSessionsListener:I
-Landroid/media/session/ISessionManager$Stub;->TRANSACTION_addSessionTokensListener:I
-Landroid/media/session/ISessionManager$Stub;->TRANSACTION_createSession2:I
-Landroid/media/session/ISessionManager$Stub;->TRANSACTION_createSession:I
-Landroid/media/session/ISessionManager$Stub;->TRANSACTION_destroySession2:I
-Landroid/media/session/ISessionManager$Stub;->TRANSACTION_dispatchAdjustVolume:I
-Landroid/media/session/ISessionManager$Stub;->TRANSACTION_dispatchMediaKeyEvent:I
-Landroid/media/session/ISessionManager$Stub;->TRANSACTION_dispatchVolumeKeyEvent:I
-Landroid/media/session/ISessionManager$Stub;->TRANSACTION_getSessions:I
-Landroid/media/session/ISessionManager$Stub;->TRANSACTION_getSessionTokens:I
-Landroid/media/session/ISessionManager$Stub;->TRANSACTION_isGlobalPriorityActive:I
-Landroid/media/session/ISessionManager$Stub;->TRANSACTION_isTrusted:I
-Landroid/media/session/ISessionManager$Stub;->TRANSACTION_removeSessionsListener:I
-Landroid/media/session/ISessionManager$Stub;->TRANSACTION_removeSessionTokensListener:I
-Landroid/media/session/ISessionManager$Stub;->TRANSACTION_setCallback:I
-Landroid/media/session/ISessionManager$Stub;->TRANSACTION_setOnMediaKeyListener:I
-Landroid/media/session/ISessionManager$Stub;->TRANSACTION_setOnVolumeKeyLongPressListener:I
-Landroid/media/session/ISessionManager$Stub;->TRANSACTION_setRemoteVolumeController:I
-Landroid/media/session/ISessionManager;
-Landroid/media/session/ISessionManager;->addSessionsListener(Landroid/media/session/IActiveSessionsListener;Landroid/content/ComponentName;I)V
-Landroid/media/session/ISessionManager;->addSessionTokensListener(Landroid/media/ISessionTokensListener;ILjava/lang/String;)V
-Landroid/media/session/ISessionManager;->createSession(Ljava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;I)Landroid/media/session/ISession;
-Landroid/media/session/ISessionManager;->createSession2(Landroid/os/Bundle;)Z
-Landroid/media/session/ISessionManager;->destroySession2(Landroid/os/Bundle;)V
-Landroid/media/session/ISessionManager;->dispatchAdjustVolume(Ljava/lang/String;III)V
-Landroid/media/session/ISessionManager;->dispatchMediaKeyEvent(Ljava/lang/String;ZLandroid/view/KeyEvent;Z)V
-Landroid/media/session/ISessionManager;->dispatchVolumeKeyEvent(Ljava/lang/String;ZLandroid/view/KeyEvent;IZ)V
-Landroid/media/session/ISessionManager;->getSessions(Landroid/content/ComponentName;I)Ljava/util/List;
-Landroid/media/session/ISessionManager;->getSessionTokens(ZZLjava/lang/String;)Ljava/util/List;
-Landroid/media/session/ISessionManager;->isGlobalPriorityActive()Z
-Landroid/media/session/ISessionManager;->isTrusted(Ljava/lang/String;II)Z
-Landroid/media/session/ISessionManager;->removeSessionsListener(Landroid/media/session/IActiveSessionsListener;)V
-Landroid/media/session/ISessionManager;->removeSessionTokensListener(Landroid/media/ISessionTokensListener;Ljava/lang/String;)V
-Landroid/media/session/ISessionManager;->setCallback(Landroid/media/session/ICallback;)V
-Landroid/media/session/ISessionManager;->setOnMediaKeyListener(Landroid/media/session/IOnMediaKeyListener;)V
-Landroid/media/session/ISessionManager;->setOnVolumeKeyLongPressListener(Landroid/media/session/IOnVolumeKeyLongPressListener;)V
-Landroid/media/session/ISessionManager;->setRemoteVolumeController(Landroid/media/IRemoteVolumeController;)V
-Landroid/media/session/MediaController$CallbackStub;
-Landroid/media/session/MediaController$CallbackStub;-><init>(Landroid/media/session/MediaController;)V
-Landroid/media/session/MediaController$CallbackStub;->mController:Ljava/lang/ref/WeakReference;
-Landroid/media/session/MediaController$CallbackStub;->onEvent(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/MediaController$CallbackStub;->onExtrasChanged(Landroid/os/Bundle;)V
-Landroid/media/session/MediaController$CallbackStub;->onMetadataChanged(Landroid/media/MediaMetadata;)V
-Landroid/media/session/MediaController$CallbackStub;->onPlaybackStateChanged(Landroid/media/session/PlaybackState;)V
-Landroid/media/session/MediaController$CallbackStub;->onQueueChanged(Landroid/content/pm/ParceledListSlice;)V
-Landroid/media/session/MediaController$CallbackStub;->onQueueTitleChanged(Ljava/lang/CharSequence;)V
-Landroid/media/session/MediaController$CallbackStub;->onSessionDestroyed()V
-Landroid/media/session/MediaController$CallbackStub;->onVolumeInfoChanged(Landroid/media/session/ParcelableVolumeInfo;)V
-Landroid/media/session/MediaController$MessageHandler;
-Landroid/media/session/MediaController$MessageHandler;-><init>(Landroid/os/Looper;Landroid/media/session/MediaController$Callback;)V
-Landroid/media/session/MediaController$MessageHandler;->mCallback:Landroid/media/session/MediaController$Callback;
-Landroid/media/session/MediaController$MessageHandler;->mRegistered:Z
-Landroid/media/session/MediaController$MessageHandler;->post(ILjava/lang/Object;Landroid/os/Bundle;)V
-Landroid/media/session/MediaController$PlaybackInfo;-><init>(ILandroid/media/AudioAttributes;III)V
-Landroid/media/session/MediaController$PlaybackInfo;->mAudioAttrs:Landroid/media/AudioAttributes;
-Landroid/media/session/MediaController$PlaybackInfo;->mCurrentVolume:I
-Landroid/media/session/MediaController$PlaybackInfo;->mMaxVolume:I
-Landroid/media/session/MediaController$PlaybackInfo;->mVolumeControl:I
-Landroid/media/session/MediaController$PlaybackInfo;->mVolumeType:I
-Landroid/media/session/MediaController$TransportControls;-><init>()V
-Landroid/media/session/MediaController$TransportControls;->TAG:Ljava/lang/String;
-Landroid/media/session/MediaController;-><init>(Landroid/content/Context;Landroid/media/session/ISessionController;)V
-Landroid/media/session/MediaController;->addCallbackLocked(Landroid/media/session/MediaController$Callback;Landroid/os/Handler;)V
-Landroid/media/session/MediaController;->dispatchMediaButtonEventAsSystemService(Landroid/view/KeyEvent;)Z
-Landroid/media/session/MediaController;->dispatchMediaButtonEventInternal(ZLandroid/view/KeyEvent;)Z
-Landroid/media/session/MediaController;->dispatchVolumeButtonEventAsSystemService(Landroid/view/KeyEvent;)V
-Landroid/media/session/MediaController;->getHandlerForCallbackLocked(Landroid/media/session/MediaController$Callback;)Landroid/media/session/MediaController$MessageHandler;
-Landroid/media/session/MediaController;->getSessionBinder()Landroid/media/session/ISessionController;
-Landroid/media/session/MediaController;->getTag()Ljava/lang/String;
-Landroid/media/session/MediaController;->mCallbacks:Ljava/util/ArrayList;
-Landroid/media/session/MediaController;->mCbRegistered:Z
-Landroid/media/session/MediaController;->mCbStub:Landroid/media/session/MediaController$CallbackStub;
-Landroid/media/session/MediaController;->mContext:Landroid/content/Context;
-Landroid/media/session/MediaController;->mLock:Ljava/lang/Object;
-Landroid/media/session/MediaController;->mPackageName:Ljava/lang/String;
-Landroid/media/session/MediaController;->mSessionBinder:Landroid/media/session/ISessionController;
-Landroid/media/session/MediaController;->MSG_DESTROYED:I
-Landroid/media/session/MediaController;->MSG_EVENT:I
-Landroid/media/session/MediaController;->MSG_UPDATE_EXTRAS:I
-Landroid/media/session/MediaController;->MSG_UPDATE_METADATA:I
-Landroid/media/session/MediaController;->MSG_UPDATE_PLAYBACK_STATE:I
-Landroid/media/session/MediaController;->MSG_UPDATE_QUEUE:I
-Landroid/media/session/MediaController;->MSG_UPDATE_QUEUE_TITLE:I
-Landroid/media/session/MediaController;->MSG_UPDATE_VOLUME:I
-Landroid/media/session/MediaController;->mTag:Ljava/lang/String;
-Landroid/media/session/MediaController;->mToken:Landroid/media/session/MediaSession$Token;
-Landroid/media/session/MediaController;->mTransportControls:Landroid/media/session/MediaController$TransportControls;
-Landroid/media/session/MediaController;->postMessage(ILjava/lang/Object;Landroid/os/Bundle;)V
-Landroid/media/session/MediaController;->removeCallbackLocked(Landroid/media/session/MediaController$Callback;)Z
-Landroid/media/session/MediaController;->TAG:Ljava/lang/String;
-Landroid/media/session/MediaSession$Callback;->handleMediaPlayPauseKeySingleTapIfPending()V
-Landroid/media/session/MediaSession$Callback;->mHandler:Landroid/media/session/MediaSession$CallbackMessageHandler;
-Landroid/media/session/MediaSession$Callback;->mMediaPlayPauseKeyPending:Z
-Landroid/media/session/MediaSession$Callback;->mSession:Landroid/media/session/MediaSession;
-Landroid/media/session/MediaSession$CallbackMessageHandler;
-Landroid/media/session/MediaSession$CallbackMessageHandler;-><init>(Landroid/os/Looper;Landroid/media/session/MediaSession$Callback;)V
-Landroid/media/session/MediaSession$CallbackMessageHandler;->mCallback:Landroid/media/session/MediaSession$Callback;
-Landroid/media/session/MediaSession$CallbackMessageHandler;->mCurrentControllerInfo:Landroid/media/session/MediaSessionManager$RemoteUserInfo;
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_ADJUST_VOLUME:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_COMMAND:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_CUSTOM_ACTION:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_FAST_FORWARD:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_MEDIA_BUTTON:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_NEXT:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_PAUSE:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_PLAY:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_PLAY_MEDIA_ID:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_PLAY_PAUSE_KEY_DOUBLE_TAP_TIMEOUT:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_PLAY_SEARCH:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_PLAY_URI:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_PREPARE:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_PREPARE_MEDIA_ID:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_PREPARE_SEARCH:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_PREPARE_URI:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_PREVIOUS:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_RATE:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_REWIND:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_SEEK_TO:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_SET_VOLUME:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_SKIP_TO_ITEM:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->MSG_STOP:I
-Landroid/media/session/MediaSession$CallbackMessageHandler;->post(Landroid/media/session/MediaSessionManager$RemoteUserInfo;ILjava/lang/Object;Landroid/os/Bundle;J)V
-Landroid/media/session/MediaSession$CallbackStub;
-Landroid/media/session/MediaSession$CallbackStub;-><init>(Landroid/media/session/MediaSession;)V
-Landroid/media/session/MediaSession$CallbackStub;->createRemoteUserInfo(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)Landroid/media/session/MediaSessionManager$RemoteUserInfo;
-Landroid/media/session/MediaSession$CallbackStub;->mMediaSession:Ljava/lang/ref/WeakReference;
-Landroid/media/session/MediaSession$CallbackStub;->onAdjustVolume(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;I)V
-Landroid/media/session/MediaSession$CallbackStub;->onCommand(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
-Landroid/media/session/MediaSession$CallbackStub;->onCustomAction(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/MediaSession$CallbackStub;->onFastForward(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/MediaSession$CallbackStub;->onMediaButton(Ljava/lang/String;IILandroid/content/Intent;ILandroid/os/ResultReceiver;)V
-Landroid/media/session/MediaSession$CallbackStub;->onMediaButtonFromController(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Landroid/content/Intent;)V
-Landroid/media/session/MediaSession$CallbackStub;->onNext(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/MediaSession$CallbackStub;->onPause(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/MediaSession$CallbackStub;->onPlay(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/MediaSession$CallbackStub;->onPlayFromMediaId(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/MediaSession$CallbackStub;->onPlayFromSearch(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/MediaSession$CallbackStub;->onPlayFromUri(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/session/MediaSession$CallbackStub;->onPrepare(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/MediaSession$CallbackStub;->onPrepareFromMediaId(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/MediaSession$CallbackStub;->onPrepareFromSearch(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/MediaSession$CallbackStub;->onPrepareFromUri(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/session/MediaSession$CallbackStub;->onPrevious(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/MediaSession$CallbackStub;->onRate(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Landroid/media/Rating;)V
-Landroid/media/session/MediaSession$CallbackStub;->onRewind(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/MediaSession$CallbackStub;->onSeekTo(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;J)V
-Landroid/media/session/MediaSession$CallbackStub;->onSetVolumeTo(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;I)V
-Landroid/media/session/MediaSession$CallbackStub;->onSkipToTrack(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;J)V
-Landroid/media/session/MediaSession$CallbackStub;->onStop(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-Landroid/media/session/MediaSession$Command;
-Landroid/media/session/MediaSession$Command;-><init>(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
-Landroid/media/session/MediaSession$Command;->command:Ljava/lang/String;
-Landroid/media/session/MediaSession$Command;->extras:Landroid/os/Bundle;
-Landroid/media/session/MediaSession$Command;->stub:Landroid/os/ResultReceiver;
-Landroid/media/session/MediaSession$QueueItem;-><init>(Landroid/os/Parcel;)V
-Landroid/media/session/MediaSession$QueueItem;->mDescription:Landroid/media/MediaDescription;
-Landroid/media/session/MediaSession$SessionFlags;
-Landroid/media/session/MediaSession$Token;-><init>(Landroid/media/session/ISessionController;)V
-Landroid/media/session/MediaSession$Token;->getBinder()Landroid/media/session/ISessionController;
-Landroid/media/session/MediaSession$Token;->mBinder:Landroid/media/session/ISessionController;
-Landroid/media/session/MediaSession;-><init>(Landroid/content/Context;Ljava/lang/String;I)V
-Landroid/media/session/MediaSession;->dispatchAdjustVolume(Landroid/media/session/MediaSessionManager$RemoteUserInfo;I)V
-Landroid/media/session/MediaSession;->dispatchCommand(Landroid/media/session/MediaSessionManager$RemoteUserInfo;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
-Landroid/media/session/MediaSession;->dispatchCustomAction(Landroid/media/session/MediaSessionManager$RemoteUserInfo;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/MediaSession;->dispatchFastForward(Landroid/media/session/MediaSessionManager$RemoteUserInfo;)V
-Landroid/media/session/MediaSession;->dispatchMediaButton(Landroid/media/session/MediaSessionManager$RemoteUserInfo;Landroid/content/Intent;)V
-Landroid/media/session/MediaSession;->dispatchMediaButtonDelayed(Landroid/media/session/MediaSessionManager$RemoteUserInfo;Landroid/content/Intent;J)V
-Landroid/media/session/MediaSession;->dispatchNext(Landroid/media/session/MediaSessionManager$RemoteUserInfo;)V
-Landroid/media/session/MediaSession;->dispatchPause(Landroid/media/session/MediaSessionManager$RemoteUserInfo;)V
-Landroid/media/session/MediaSession;->dispatchPlay(Landroid/media/session/MediaSessionManager$RemoteUserInfo;)V
-Landroid/media/session/MediaSession;->dispatchPlayFromMediaId(Landroid/media/session/MediaSessionManager$RemoteUserInfo;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/MediaSession;->dispatchPlayFromSearch(Landroid/media/session/MediaSessionManager$RemoteUserInfo;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/MediaSession;->dispatchPlayFromUri(Landroid/media/session/MediaSessionManager$RemoteUserInfo;Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/session/MediaSession;->dispatchPrepare(Landroid/media/session/MediaSessionManager$RemoteUserInfo;)V
-Landroid/media/session/MediaSession;->dispatchPrepareFromMediaId(Landroid/media/session/MediaSessionManager$RemoteUserInfo;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/MediaSession;->dispatchPrepareFromSearch(Landroid/media/session/MediaSessionManager$RemoteUserInfo;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/session/MediaSession;->dispatchPrepareFromUri(Landroid/media/session/MediaSessionManager$RemoteUserInfo;Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/session/MediaSession;->dispatchPrevious(Landroid/media/session/MediaSessionManager$RemoteUserInfo;)V
-Landroid/media/session/MediaSession;->dispatchRate(Landroid/media/session/MediaSessionManager$RemoteUserInfo;Landroid/media/Rating;)V
-Landroid/media/session/MediaSession;->dispatchRewind(Landroid/media/session/MediaSessionManager$RemoteUserInfo;)V
-Landroid/media/session/MediaSession;->dispatchSeekTo(Landroid/media/session/MediaSessionManager$RemoteUserInfo;J)V
-Landroid/media/session/MediaSession;->dispatchSetVolumeTo(Landroid/media/session/MediaSessionManager$RemoteUserInfo;I)V
-Landroid/media/session/MediaSession;->dispatchSkipToItem(Landroid/media/session/MediaSessionManager$RemoteUserInfo;J)V
-Landroid/media/session/MediaSession;->dispatchStop(Landroid/media/session/MediaSessionManager$RemoteUserInfo;)V
-Landroid/media/session/MediaSession;->FLAG_EXCLUSIVE_GLOBAL_PRIORITY:I
-Landroid/media/session/MediaSession;->INVALID_PID:I
-Landroid/media/session/MediaSession;->INVALID_UID:I
-Landroid/media/session/MediaSession;->isActiveState(I)Z
-Landroid/media/session/MediaSession;->mActive:Z
-Landroid/media/session/MediaSession;->mBinder:Landroid/media/session/ISession;
-Landroid/media/session/MediaSession;->mCbStub:Landroid/media/session/MediaSession$CallbackStub;
-Landroid/media/session/MediaSession;->mController:Landroid/media/session/MediaController;
-Landroid/media/session/MediaSession;->mLock:Ljava/lang/Object;
-Landroid/media/session/MediaSession;->mMaxBitmapSize:I
-Landroid/media/session/MediaSession;->mPlaybackState:Landroid/media/session/PlaybackState;
-Landroid/media/session/MediaSession;->mSessionToken:Landroid/media/session/MediaSession$Token;
-Landroid/media/session/MediaSession;->mVolumeProvider:Landroid/media/VolumeProvider;
-Landroid/media/session/MediaSession;->notifyRemoteVolumeChanged(Landroid/media/VolumeProvider;)V
-Landroid/media/session/MediaSession;->postToCallback(Landroid/media/session/MediaSessionManager$RemoteUserInfo;ILjava/lang/Object;Landroid/os/Bundle;)V
-Landroid/media/session/MediaSession;->postToCallbackDelayed(Landroid/media/session/MediaSessionManager$RemoteUserInfo;ILjava/lang/Object;Landroid/os/Bundle;J)V
-Landroid/media/session/MediaSession;->TAG:Ljava/lang/String;
-Landroid/media/session/MediaSessionLegacyHelper$MediaButtonListener;
-Landroid/media/session/MediaSessionLegacyHelper$MediaButtonListener;-><init>(Landroid/app/PendingIntent;Landroid/content/Context;)V
-Landroid/media/session/MediaSessionLegacyHelper$MediaButtonListener;->mContext:Landroid/content/Context;
-Landroid/media/session/MediaSessionLegacyHelper$MediaButtonListener;->mPendingIntent:Landroid/app/PendingIntent;
-Landroid/media/session/MediaSessionLegacyHelper$MediaButtonListener;->sendKeyEvent(I)V
-Landroid/media/session/MediaSessionLegacyHelper$SessionHolder$SessionCallback;
-Landroid/media/session/MediaSessionLegacyHelper$SessionHolder$SessionCallback;-><init>()V
-Landroid/media/session/MediaSessionLegacyHelper$SessionHolder;
-Landroid/media/session/MediaSessionLegacyHelper$SessionHolder;-><init>(Landroid/media/session/MediaSession;Landroid/app/PendingIntent;)V
-Landroid/media/session/MediaSessionLegacyHelper$SessionHolder;->mCb:Landroid/media/session/MediaSessionLegacyHelper$SessionHolder$SessionCallback;
-Landroid/media/session/MediaSessionLegacyHelper$SessionHolder;->mFlags:I
-Landroid/media/session/MediaSessionLegacyHelper$SessionHolder;->mMediaButtonListener:Landroid/media/session/MediaSessionLegacyHelper$MediaButtonListener;
-Landroid/media/session/MediaSessionLegacyHelper$SessionHolder;->mPi:Landroid/app/PendingIntent;
-Landroid/media/session/MediaSessionLegacyHelper$SessionHolder;->mRccListener:Landroid/media/session/MediaSession$Callback;
-Landroid/media/session/MediaSessionLegacyHelper$SessionHolder;->mSession:Landroid/media/session/MediaSession;
-Landroid/media/session/MediaSessionLegacyHelper$SessionHolder;->update()V
-Landroid/media/session/MediaSessionLegacyHelper;
-Landroid/media/session/MediaSessionLegacyHelper;-><init>(Landroid/content/Context;)V
-Landroid/media/session/MediaSessionLegacyHelper;->addMediaButtonListener(Landroid/app/PendingIntent;Landroid/content/ComponentName;Landroid/content/Context;)V
-Landroid/media/session/MediaSessionLegacyHelper;->addRccListener(Landroid/app/PendingIntent;Landroid/media/session/MediaSession$Callback;)V
-Landroid/media/session/MediaSessionLegacyHelper;->DEBUG:Z
-Landroid/media/session/MediaSessionLegacyHelper;->getHolder(Landroid/app/PendingIntent;Z)Landroid/media/session/MediaSessionLegacyHelper$SessionHolder;
-Landroid/media/session/MediaSessionLegacyHelper;->getOldMetadata(Landroid/media/MediaMetadata;II)Landroid/os/Bundle;
-Landroid/media/session/MediaSessionLegacyHelper;->getSession(Landroid/app/PendingIntent;)Landroid/media/session/MediaSession;
-Landroid/media/session/MediaSessionLegacyHelper;->isGlobalPriorityActive()Z
-Landroid/media/session/MediaSessionLegacyHelper;->mContext:Landroid/content/Context;
-Landroid/media/session/MediaSessionLegacyHelper;->mHandler:Landroid/os/Handler;
-Landroid/media/session/MediaSessionLegacyHelper;->mSessionManager:Landroid/media/session/MediaSessionManager;
-Landroid/media/session/MediaSessionLegacyHelper;->mSessions:Landroid/util/ArrayMap;
-Landroid/media/session/MediaSessionLegacyHelper;->removeMediaButtonListener(Landroid/app/PendingIntent;)V
-Landroid/media/session/MediaSessionLegacyHelper;->removeRccListener(Landroid/app/PendingIntent;)V
-Landroid/media/session/MediaSessionLegacyHelper;->scaleBitmapIfTooBig(Landroid/graphics/Bitmap;II)Landroid/graphics/Bitmap;
-Landroid/media/session/MediaSessionLegacyHelper;->sendAdjustVolumeBy(III)V
-Landroid/media/session/MediaSessionLegacyHelper;->sendKeyEvent(Landroid/app/PendingIntent;Landroid/content/Context;Landroid/content/Intent;)V
-Landroid/media/session/MediaSessionLegacyHelper;->sendMediaButtonEvent(Landroid/view/KeyEvent;Z)V
-Landroid/media/session/MediaSessionLegacyHelper;->sendVolumeKeyEvent(Landroid/view/KeyEvent;IZ)V
-Landroid/media/session/MediaSessionLegacyHelper;->sInstance:Landroid/media/session/MediaSessionLegacyHelper;
-Landroid/media/session/MediaSessionLegacyHelper;->sLock:Ljava/lang/Object;
-Landroid/media/session/MediaSessionLegacyHelper;->TAG:Ljava/lang/String;
-Landroid/media/session/MediaSessionManager$Callback;
-Landroid/media/session/MediaSessionManager$Callback;-><init>()V
-Landroid/media/session/MediaSessionManager$Callback;->onAddressedPlayerChanged(Landroid/content/ComponentName;)V
-Landroid/media/session/MediaSessionManager$Callback;->onAddressedPlayerChanged(Landroid/media/session/MediaSession$Token;)V
-Landroid/media/session/MediaSessionManager$Callback;->onMediaKeyEventDispatched(Landroid/view/KeyEvent;Landroid/content/ComponentName;)V
-Landroid/media/session/MediaSessionManager$Callback;->onMediaKeyEventDispatched(Landroid/view/KeyEvent;Landroid/media/session/MediaSession$Token;)V
-Landroid/media/session/MediaSessionManager$CallbackImpl;
-Landroid/media/session/MediaSessionManager$CallbackImpl;-><init>(Landroid/media/session/MediaSessionManager$Callback;Landroid/os/Handler;)V
-Landroid/media/session/MediaSessionManager$CallbackImpl;->mCallback:Landroid/media/session/MediaSessionManager$Callback;
-Landroid/media/session/MediaSessionManager$CallbackImpl;->mHandler:Landroid/os/Handler;
-Landroid/media/session/MediaSessionManager$CallbackImpl;->onAddressedPlayerChangedToMediaButtonReceiver(Landroid/content/ComponentName;)V
-Landroid/media/session/MediaSessionManager$CallbackImpl;->onAddressedPlayerChangedToMediaSession(Landroid/media/session/MediaSession$Token;)V
-Landroid/media/session/MediaSessionManager$CallbackImpl;->onMediaKeyEventDispatchedToMediaButtonReceiver(Landroid/view/KeyEvent;Landroid/content/ComponentName;)V
-Landroid/media/session/MediaSessionManager$CallbackImpl;->onMediaKeyEventDispatchedToMediaSession(Landroid/view/KeyEvent;Landroid/media/session/MediaSession$Token;)V
-Landroid/media/session/MediaSessionManager$OnMediaKeyListenerImpl;
-Landroid/media/session/MediaSessionManager$OnMediaKeyListenerImpl;-><init>(Landroid/media/session/MediaSessionManager$OnMediaKeyListener;Landroid/os/Handler;)V
-Landroid/media/session/MediaSessionManager$OnMediaKeyListenerImpl;->mHandler:Landroid/os/Handler;
-Landroid/media/session/MediaSessionManager$OnMediaKeyListenerImpl;->mListener:Landroid/media/session/MediaSessionManager$OnMediaKeyListener;
-Landroid/media/session/MediaSessionManager$OnMediaKeyListenerImpl;->onMediaKey(Landroid/view/KeyEvent;Landroid/os/ResultReceiver;)V
-Landroid/media/session/MediaSessionManager$OnSessionTokensChangedListener;
-Landroid/media/session/MediaSessionManager$OnSessionTokensChangedListener;->onSessionTokensChanged(Ljava/util/List;)V
-Landroid/media/session/MediaSessionManager$OnVolumeKeyLongPressListenerImpl;
-Landroid/media/session/MediaSessionManager$OnVolumeKeyLongPressListenerImpl;-><init>(Landroid/media/session/MediaSessionManager$OnVolumeKeyLongPressListener;Landroid/os/Handler;)V
-Landroid/media/session/MediaSessionManager$OnVolumeKeyLongPressListenerImpl;->mHandler:Landroid/os/Handler;
-Landroid/media/session/MediaSessionManager$OnVolumeKeyLongPressListenerImpl;->mListener:Landroid/media/session/MediaSessionManager$OnVolumeKeyLongPressListener;
-Landroid/media/session/MediaSessionManager$OnVolumeKeyLongPressListenerImpl;->onVolumeKeyLongPress(Landroid/view/KeyEvent;)V
-Landroid/media/session/MediaSessionManager$RemoteUserInfo;-><init>(Ljava/lang/String;IILandroid/os/IBinder;)V
-Landroid/media/session/MediaSessionManager$RemoteUserInfo;->mCallerBinder:Landroid/os/IBinder;
-Landroid/media/session/MediaSessionManager$RemoteUserInfo;->mPackageName:Ljava/lang/String;
-Landroid/media/session/MediaSessionManager$RemoteUserInfo;->mPid:I
-Landroid/media/session/MediaSessionManager$RemoteUserInfo;->mUid:I
-Landroid/media/session/MediaSessionManager$SessionsChangedWrapper;
-Landroid/media/session/MediaSessionManager$SessionsChangedWrapper;-><init>(Landroid/content/Context;Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;Landroid/os/Handler;)V
-Landroid/media/session/MediaSessionManager$SessionsChangedWrapper;->mContext:Landroid/content/Context;
-Landroid/media/session/MediaSessionManager$SessionsChangedWrapper;->mHandler:Landroid/os/Handler;
-Landroid/media/session/MediaSessionManager$SessionsChangedWrapper;->mListener:Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;
-Landroid/media/session/MediaSessionManager$SessionsChangedWrapper;->mStub:Landroid/media/session/IActiveSessionsListener$Stub;
-Landroid/media/session/MediaSessionManager$SessionsChangedWrapper;->release()V
-Landroid/media/session/MediaSessionManager$SessionTokensChangedWrapper;
-Landroid/media/session/MediaSessionManager$SessionTokensChangedWrapper;-><init>(Landroid/content/Context;Ljava/util/concurrent/Executor;Landroid/media/session/MediaSessionManager$OnSessionTokensChangedListener;)V
-Landroid/media/session/MediaSessionManager$SessionTokensChangedWrapper;->mContext:Landroid/content/Context;
-Landroid/media/session/MediaSessionManager$SessionTokensChangedWrapper;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/media/session/MediaSessionManager$SessionTokensChangedWrapper;->mListener:Landroid/media/session/MediaSessionManager$OnSessionTokensChangedListener;
-Landroid/media/session/MediaSessionManager$SessionTokensChangedWrapper;->mStub:Landroid/media/ISessionTokensListener$Stub;
-Landroid/media/session/MediaSessionManager$SessionTokensChangedWrapper;->release()V
-Landroid/media/session/MediaSessionManager;-><init>(Landroid/content/Context;)V
-Landroid/media/session/MediaSessionManager;->addOnActiveSessionsChangedListener(Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;Landroid/content/ComponentName;ILandroid/os/Handler;)V
-Landroid/media/session/MediaSessionManager;->addOnSessionTokensChangedListener(ILjava/util/concurrent/Executor;Landroid/media/session/MediaSessionManager$OnSessionTokensChangedListener;)V
-Landroid/media/session/MediaSessionManager;->addOnSessionTokensChangedListener(Ljava/util/concurrent/Executor;Landroid/media/session/MediaSessionManager$OnSessionTokensChangedListener;)V
-Landroid/media/session/MediaSessionManager;->createSession(Landroid/media/session/MediaSession$CallbackStub;Ljava/lang/String;I)Landroid/media/session/ISession;
-Landroid/media/session/MediaSessionManager;->createSession2(Landroid/media/SessionToken2;)Z
-Landroid/media/session/MediaSessionManager;->destroySession2(Landroid/media/SessionToken2;)V
-Landroid/media/session/MediaSessionManager;->dispatchAdjustVolume(III)V
-Landroid/media/session/MediaSessionManager;->dispatchMediaKeyEvent(Landroid/view/KeyEvent;)V
-Landroid/media/session/MediaSessionManager;->dispatchMediaKeyEvent(Landroid/view/KeyEvent;Z)V
-Landroid/media/session/MediaSessionManager;->dispatchMediaKeyEventAsSystemService(Landroid/view/KeyEvent;)V
-Landroid/media/session/MediaSessionManager;->dispatchMediaKeyEventInternal(ZLandroid/view/KeyEvent;Z)V
-Landroid/media/session/MediaSessionManager;->dispatchVolumeKeyEvent(Landroid/view/KeyEvent;IZ)V
-Landroid/media/session/MediaSessionManager;->dispatchVolumeKeyEventAsSystemService(Landroid/view/KeyEvent;I)V
-Landroid/media/session/MediaSessionManager;->dispatchVolumeKeyEventInternal(ZLandroid/view/KeyEvent;IZ)V
-Landroid/media/session/MediaSessionManager;->getActiveSessionTokens()Ljava/util/List;
-Landroid/media/session/MediaSessionManager;->getAllSessionTokens()Ljava/util/List;
-Landroid/media/session/MediaSessionManager;->getSessionServiceTokens()Ljava/util/List;
-Landroid/media/session/MediaSessionManager;->isGlobalPriorityActive()Z
-Landroid/media/session/MediaSessionManager;->mCallback:Landroid/media/session/MediaSessionManager$CallbackImpl;
-Landroid/media/session/MediaSessionManager;->mContext:Landroid/content/Context;
-Landroid/media/session/MediaSessionManager;->mListeners:Landroid/util/ArrayMap;
-Landroid/media/session/MediaSessionManager;->mLock:Ljava/lang/Object;
-Landroid/media/session/MediaSessionManager;->mOnMediaKeyListener:Landroid/media/session/MediaSessionManager$OnMediaKeyListenerImpl;
-Landroid/media/session/MediaSessionManager;->mOnVolumeKeyLongPressListener:Landroid/media/session/MediaSessionManager$OnVolumeKeyLongPressListenerImpl;
-Landroid/media/session/MediaSessionManager;->mService:Landroid/media/session/ISessionManager;
-Landroid/media/session/MediaSessionManager;->mSessionTokensListener:Landroid/util/ArrayMap;
-Landroid/media/session/MediaSessionManager;->removeOnSessionTokensChangedListener(Landroid/media/session/MediaSessionManager$OnSessionTokensChangedListener;)V
-Landroid/media/session/MediaSessionManager;->RESULT_MEDIA_KEY_HANDLED:I
-Landroid/media/session/MediaSessionManager;->RESULT_MEDIA_KEY_NOT_HANDLED:I
-Landroid/media/session/MediaSessionManager;->setCallback(Landroid/media/session/MediaSessionManager$Callback;Landroid/os/Handler;)V
-Landroid/media/session/MediaSessionManager;->setRemoteVolumeController(Landroid/media/IRemoteVolumeController;)V
-Landroid/media/session/MediaSessionManager;->TAG:Ljava/lang/String;
-Landroid/media/session/MediaSessionManager;->toTokenList(Ljava/util/List;)Ljava/util/List;
-Landroid/media/session/ParcelableVolumeInfo;
-Landroid/media/session/ParcelableVolumeInfo;-><init>(ILandroid/media/AudioAttributes;III)V
-Landroid/media/session/ParcelableVolumeInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/media/session/ParcelableVolumeInfo;->audioAttrs:Landroid/media/AudioAttributes;
-Landroid/media/session/ParcelableVolumeInfo;->controlType:I
-Landroid/media/session/ParcelableVolumeInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/media/session/ParcelableVolumeInfo;->currentVolume:I
-Landroid/media/session/ParcelableVolumeInfo;->maxVolume:I
-Landroid/media/session/ParcelableVolumeInfo;->volumeType:I
-Landroid/media/session/PlaybackState$Actions;
-Landroid/media/session/PlaybackState$Builder;->mActions:J
-Landroid/media/session/PlaybackState$Builder;->mActiveItemId:J
-Landroid/media/session/PlaybackState$Builder;->mBufferedPosition:J
-Landroid/media/session/PlaybackState$Builder;->mCustomActions:Ljava/util/List;
-Landroid/media/session/PlaybackState$Builder;->mErrorMessage:Ljava/lang/CharSequence;
-Landroid/media/session/PlaybackState$Builder;->mExtras:Landroid/os/Bundle;
-Landroid/media/session/PlaybackState$Builder;->mPosition:J
-Landroid/media/session/PlaybackState$Builder;->mSpeed:F
-Landroid/media/session/PlaybackState$Builder;->mState:I
-Landroid/media/session/PlaybackState$Builder;->mUpdateTime:J
-Landroid/media/session/PlaybackState$CustomAction$Builder;->mAction:Ljava/lang/String;
-Landroid/media/session/PlaybackState$CustomAction$Builder;->mExtras:Landroid/os/Bundle;
-Landroid/media/session/PlaybackState$CustomAction$Builder;->mIcon:I
-Landroid/media/session/PlaybackState$CustomAction$Builder;->mName:Ljava/lang/CharSequence;
-Landroid/media/session/PlaybackState$CustomAction;-><init>(Landroid/os/Parcel;)V
-Landroid/media/session/PlaybackState$CustomAction;-><init>(Ljava/lang/String;Ljava/lang/CharSequence;ILandroid/os/Bundle;)V
-Landroid/media/session/PlaybackState$CustomAction;->mAction:Ljava/lang/String;
-Landroid/media/session/PlaybackState$CustomAction;->mExtras:Landroid/os/Bundle;
-Landroid/media/session/PlaybackState$CustomAction;->mIcon:I
-Landroid/media/session/PlaybackState$CustomAction;->mName:Ljava/lang/CharSequence;
-Landroid/media/session/PlaybackState$State;
-Landroid/media/session/PlaybackState;-><init>(IJJFJJLjava/util/List;JLjava/lang/CharSequence;Landroid/os/Bundle;)V
-Landroid/media/session/PlaybackState;-><init>(Landroid/os/Parcel;)V
-Landroid/media/session/PlaybackState;->getActionForRccFlag(I)J
-Landroid/media/session/PlaybackState;->getActionsFromRccControlFlags(I)J
-Landroid/media/session/PlaybackState;->getRccControlFlagsFromActions(J)I
-Landroid/media/session/PlaybackState;->getRccFlagForAction(J)I
-Landroid/media/session/PlaybackState;->getRccStateFromState(I)I
-Landroid/media/session/PlaybackState;->getStateFromRccState(I)I
-Landroid/media/session/PlaybackState;->mActions:J
-Landroid/media/session/PlaybackState;->mActiveItemId:J
-Landroid/media/session/PlaybackState;->mBufferedPosition:J
-Landroid/media/session/PlaybackState;->mCustomActions:Ljava/util/List;
-Landroid/media/session/PlaybackState;->mErrorMessage:Ljava/lang/CharSequence;
-Landroid/media/session/PlaybackState;->mExtras:Landroid/os/Bundle;
-Landroid/media/session/PlaybackState;->mPosition:J
-Landroid/media/session/PlaybackState;->mSpeed:F
-Landroid/media/session/PlaybackState;->mState:I
-Landroid/media/session/PlaybackState;->mUpdateTime:J
-Landroid/media/session/PlaybackState;->TAG:Ljava/lang/String;
-Landroid/media/SessionCommand2;
-Landroid/media/SessionCommand2;-><init>(I)V
-Landroid/media/SessionCommand2;-><init>(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/SessionCommand2;->COMMAND_CODE_ADJUST_VOLUME:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_CUSTOM:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_LIBRARY_GET_CHILDREN:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_LIBRARY_GET_ITEM:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_LIBRARY_GET_LIBRARY_ROOT:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_LIBRARY_GET_SEARCH_RESULT:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_LIBRARY_SEARCH:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_LIBRARY_SUBSCRIBE:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_LIBRARY_UNSUBSCRIBE:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_PLAYBACK_PAUSE:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_PLAYBACK_PLAY:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_PLAYBACK_PREPARE:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_PLAYBACK_SEEK_TO:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_PLAYBACK_STOP:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_PLAYLIST_ADD_ITEM:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_PLAYLIST_GET_LIST:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_PLAYLIST_GET_LIST_METADATA:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_PLAYLIST_REMOVE_ITEM:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_PLAYLIST_REPLACE_ITEM:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_PLAYLIST_SET_LIST:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_PLAYLIST_SET_LIST_METADATA:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_PLAYLIST_SET_REPEAT_MODE:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_PLAYLIST_SET_SHUFFLE_MODE:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_PLAYLIST_SKIP_NEXT_ITEM:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_PLAYLIST_SKIP_PREV_ITEM:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_PLAYLIST_SKIP_TO_PLAYLIST_ITEM:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_SESSION_FAST_FORWARD:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_SESSION_PLAY_FROM_MEDIA_ID:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_SESSION_PLAY_FROM_SEARCH:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_SESSION_PLAY_FROM_URI:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_SESSION_PREPARE_FROM_MEDIA_ID:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_SESSION_PREPARE_FROM_SEARCH:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_SESSION_PREPARE_FROM_URI:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_SESSION_REWIND:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_SESSION_SET_RATING:I
-Landroid/media/SessionCommand2;->COMMAND_CODE_SET_VOLUME:I
-Landroid/media/SessionCommand2;->fromBundle(Landroid/os/Bundle;)Landroid/media/SessionCommand2;
-Landroid/media/SessionCommand2;->getCommandCode()I
-Landroid/media/SessionCommand2;->getCustomCommand()Ljava/lang/String;
-Landroid/media/SessionCommand2;->getExtras()Landroid/os/Bundle;
-Landroid/media/SessionCommand2;->getProvider()Landroid/media/update/MediaSession2Provider$CommandProvider;
-Landroid/media/SessionCommand2;->mProvider:Landroid/media/update/MediaSession2Provider$CommandProvider;
-Landroid/media/SessionCommand2;->toBundle()Landroid/os/Bundle;
-Landroid/media/SessionCommandGroup2;
-Landroid/media/SessionCommandGroup2;-><init>()V
-Landroid/media/SessionCommandGroup2;-><init>(Landroid/media/SessionCommandGroup2;)V
-Landroid/media/SessionCommandGroup2;-><init>(Landroid/media/update/MediaSession2Provider$CommandGroupProvider;)V
-Landroid/media/SessionCommandGroup2;->addAllPredefinedCommands()V
-Landroid/media/SessionCommandGroup2;->addCommand(I)V
-Landroid/media/SessionCommandGroup2;->addCommand(Landroid/media/SessionCommand2;)V
-Landroid/media/SessionCommandGroup2;->fromBundle(Landroid/os/Bundle;)Landroid/media/SessionCommandGroup2;
-Landroid/media/SessionCommandGroup2;->getCommands()Ljava/util/Set;
-Landroid/media/SessionCommandGroup2;->getProvider()Landroid/media/update/MediaSession2Provider$CommandGroupProvider;
-Landroid/media/SessionCommandGroup2;->hasCommand(I)Z
-Landroid/media/SessionCommandGroup2;->hasCommand(Landroid/media/SessionCommand2;)Z
-Landroid/media/SessionCommandGroup2;->mProvider:Landroid/media/update/MediaSession2Provider$CommandGroupProvider;
-Landroid/media/SessionCommandGroup2;->removeCommand(I)V
-Landroid/media/SessionCommandGroup2;->removeCommand(Landroid/media/SessionCommand2;)V
-Landroid/media/SessionCommandGroup2;->toBundle()Landroid/os/Bundle;
-Landroid/media/SessionToken2$TokenType;
-Landroid/media/SessionToken2;
-Landroid/media/SessionToken2;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/media/SessionToken2;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/media/SessionToken2;-><init>(Landroid/media/update/SessionToken2Provider;)V
-Landroid/media/SessionToken2;->fromBundle(Landroid/os/Bundle;)Landroid/media/SessionToken2;
-Landroid/media/SessionToken2;->getId()Ljava/lang/String;
-Landroid/media/SessionToken2;->getPackageName()Ljava/lang/String;
-Landroid/media/SessionToken2;->getProvider()Landroid/media/update/SessionToken2Provider;
-Landroid/media/SessionToken2;->getType()I
-Landroid/media/SessionToken2;->getUid()I
-Landroid/media/SessionToken2;->mProvider:Landroid/media/update/SessionToken2Provider;
-Landroid/media/SessionToken2;->toBundle()Landroid/os/Bundle;
-Landroid/media/SessionToken2;->TYPE_LIBRARY_SERVICE:I
-Landroid/media/SessionToken2;->TYPE_SESSION:I
-Landroid/media/SessionToken2;->TYPE_SESSION_SERVICE:I
-Landroid/media/SessionToken2;->UID_UNKNOWN:I
-Landroid/media/SoundPool$Builder;->mAudioAttributes:Landroid/media/AudioAttributes;
-Landroid/media/SoundPool$Builder;->mMaxStreams:I
-Landroid/media/SoundPool$EventHandler;
-Landroid/media/SoundPool$EventHandler;-><init>(Landroid/os/Looper;)V
-Landroid/media/SoundPool;-><init>(ILandroid/media/AudioAttributes;)V
-Landroid/media/SoundPool;->DEBUG:Z
-Landroid/media/SoundPool;->mAttributes:Landroid/media/AudioAttributes;
-Landroid/media/SoundPool;->mEventHandler:Landroid/media/SoundPool$EventHandler;
-Landroid/media/SoundPool;->mHasAppOpsPlayAudio:Z
-Landroid/media/SoundPool;->mLock:Ljava/lang/Object;
-Landroid/media/SoundPool;->mNativeContext:J
-Landroid/media/SoundPool;->mOnLoadCompleteListener:Landroid/media/SoundPool$OnLoadCompleteListener;
-Landroid/media/SoundPool;->native_release()V
-Landroid/media/SoundPool;->native_setup(Ljava/lang/Object;ILjava/lang/Object;)I
-Landroid/media/SoundPool;->playerApplyVolumeShaper(Landroid/media/VolumeShaper$Configuration;Landroid/media/VolumeShaper$Operation;)I
-Landroid/media/SoundPool;->playerGetVolumeShaperState(I)Landroid/media/VolumeShaper$State;
-Landroid/media/SoundPool;->playerPause()V
-Landroid/media/SoundPool;->playerSetAuxEffectSendLevel(ZF)I
-Landroid/media/SoundPool;->playerSetVolume(ZFF)V
-Landroid/media/SoundPool;->playerStart()V
-Landroid/media/SoundPool;->playerStop()V
-Landroid/media/SoundPool;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
-Landroid/media/SoundPool;->SAMPLE_LOADED:I
-Landroid/media/SoundPool;->setVolume(IF)V
-Landroid/media/SoundPool;->TAG:Ljava/lang/String;
-Landroid/media/SoundPool;->_load(Ljava/io/FileDescriptor;JJI)I
-Landroid/media/SoundPool;->_mute(Z)V
-Landroid/media/SoundPool;->_play(IFFIIF)I
-Landroid/media/SoundPool;->_setVolume(IFF)V
-Landroid/media/soundtrigger/ISoundTriggerDetectionService$Stub$Proxy;
-Landroid/media/soundtrigger/ISoundTriggerDetectionService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/soundtrigger/ISoundTriggerDetectionService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/soundtrigger/ISoundTriggerDetectionService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/soundtrigger/ISoundTriggerDetectionService$Stub$Proxy;->onError(Landroid/os/ParcelUuid;II)V
-Landroid/media/soundtrigger/ISoundTriggerDetectionService$Stub$Proxy;->onGenericRecognitionEvent(Landroid/os/ParcelUuid;ILandroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;)V
-Landroid/media/soundtrigger/ISoundTriggerDetectionService$Stub$Proxy;->onStopOperation(Landroid/os/ParcelUuid;I)V
-Landroid/media/soundtrigger/ISoundTriggerDetectionService$Stub$Proxy;->removeClient(Landroid/os/ParcelUuid;)V
-Landroid/media/soundtrigger/ISoundTriggerDetectionService$Stub$Proxy;->setClient(Landroid/os/ParcelUuid;Landroid/os/Bundle;Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient;)V
-Landroid/media/soundtrigger/ISoundTriggerDetectionService$Stub;
-Landroid/media/soundtrigger/ISoundTriggerDetectionService$Stub;-><init>()V
-Landroid/media/soundtrigger/ISoundTriggerDetectionService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/soundtrigger/ISoundTriggerDetectionService;
-Landroid/media/soundtrigger/ISoundTriggerDetectionService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/soundtrigger/ISoundTriggerDetectionService$Stub;->TRANSACTION_onError:I
-Landroid/media/soundtrigger/ISoundTriggerDetectionService$Stub;->TRANSACTION_onGenericRecognitionEvent:I
-Landroid/media/soundtrigger/ISoundTriggerDetectionService$Stub;->TRANSACTION_onStopOperation:I
-Landroid/media/soundtrigger/ISoundTriggerDetectionService$Stub;->TRANSACTION_removeClient:I
-Landroid/media/soundtrigger/ISoundTriggerDetectionService$Stub;->TRANSACTION_setClient:I
-Landroid/media/soundtrigger/ISoundTriggerDetectionService;
-Landroid/media/soundtrigger/ISoundTriggerDetectionService;->onError(Landroid/os/ParcelUuid;II)V
-Landroid/media/soundtrigger/ISoundTriggerDetectionService;->onGenericRecognitionEvent(Landroid/os/ParcelUuid;ILandroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;)V
-Landroid/media/soundtrigger/ISoundTriggerDetectionService;->onStopOperation(Landroid/os/ParcelUuid;I)V
-Landroid/media/soundtrigger/ISoundTriggerDetectionService;->removeClient(Landroid/os/ParcelUuid;)V
-Landroid/media/soundtrigger/ISoundTriggerDetectionService;->setClient(Landroid/os/ParcelUuid;Landroid/os/Bundle;Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient;)V
-Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient$Stub$Proxy;
-Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient$Stub$Proxy;->onOpFinished(I)V
-Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient$Stub;
-Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient$Stub;-><init>()V
-Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient;
-Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient$Stub;->TRANSACTION_onOpFinished:I
-Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient;
-Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient;->onOpFinished(I)V
-Landroid/media/soundtrigger/SoundTriggerDetectionService;->DEBUG:Z
-Landroid/media/soundtrigger/SoundTriggerDetectionService;->LOG_TAG:Ljava/lang/String;
-Landroid/media/soundtrigger/SoundTriggerDetectionService;->mClients:Landroid/util/ArrayMap;
-Landroid/media/soundtrigger/SoundTriggerDetectionService;->mHandler:Landroid/os/Handler;
-Landroid/media/soundtrigger/SoundTriggerDetectionService;->mLock:Ljava/lang/Object;
-Landroid/media/soundtrigger/SoundTriggerDetectionService;->removeClient(Ljava/util/UUID;Landroid/os/Bundle;)V
-Landroid/media/soundtrigger/SoundTriggerDetectionService;->setClient(Ljava/util/UUID;Landroid/os/Bundle;Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient;)V
-Landroid/media/soundtrigger/SoundTriggerDetector$EventPayload;-><init>(ZZLandroid/media/AudioFormat;I[B)V
-Landroid/media/soundtrigger/SoundTriggerDetector$EventPayload;->mAudioFormat:Landroid/media/AudioFormat;
-Landroid/media/soundtrigger/SoundTriggerDetector$EventPayload;->mCaptureAvailable:Z
-Landroid/media/soundtrigger/SoundTriggerDetector$EventPayload;->mCaptureSession:I
-Landroid/media/soundtrigger/SoundTriggerDetector$EventPayload;->mData:[B
-Landroid/media/soundtrigger/SoundTriggerDetector$EventPayload;->mTriggerAvailable:Z
-Landroid/media/soundtrigger/SoundTriggerDetector$MyHandler;
-Landroid/media/soundtrigger/SoundTriggerDetector$MyHandler;-><init>()V
-Landroid/media/soundtrigger/SoundTriggerDetector$MyHandler;-><init>(Landroid/os/Looper;)V
-Landroid/media/soundtrigger/SoundTriggerDetector$RecognitionCallback;
-Landroid/media/soundtrigger/SoundTriggerDetector$RecognitionCallback;-><init>()V
-Landroid/media/soundtrigger/SoundTriggerDetector$RecognitionCallback;->onError(I)V
-Landroid/media/soundtrigger/SoundTriggerDetector$RecognitionCallback;->onGenericSoundTriggerDetected(Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;)V
-Landroid/media/soundtrigger/SoundTriggerDetector$RecognitionCallback;->onKeyphraseDetected(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;)V
-Landroid/media/soundtrigger/SoundTriggerDetector$RecognitionCallback;->onRecognitionPaused()V
-Landroid/media/soundtrigger/SoundTriggerDetector$RecognitionCallback;->onRecognitionResumed()V
-Landroid/media/soundtrigger/SoundTriggerDetector$RecognitionFlags;
-Landroid/media/soundtrigger/SoundTriggerDetector;-><init>(Lcom/android/internal/app/ISoundTriggerService;Ljava/util/UUID;Landroid/media/soundtrigger/SoundTriggerDetector$Callback;Landroid/os/Handler;)V
-Landroid/media/soundtrigger/SoundTriggerDetector;->DBG:Z
-Landroid/media/soundtrigger/SoundTriggerDetector;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-Landroid/media/soundtrigger/SoundTriggerDetector;->mCallback:Landroid/media/soundtrigger/SoundTriggerDetector$Callback;
-Landroid/media/soundtrigger/SoundTriggerDetector;->mHandler:Landroid/os/Handler;
-Landroid/media/soundtrigger/SoundTriggerDetector;->mLock:Ljava/lang/Object;
-Landroid/media/soundtrigger/SoundTriggerDetector;->mRecognitionCallback:Landroid/media/soundtrigger/SoundTriggerDetector$RecognitionCallback;
-Landroid/media/soundtrigger/SoundTriggerDetector;->MSG_AVAILABILITY_CHANGED:I
-Landroid/media/soundtrigger/SoundTriggerDetector;->MSG_DETECTION_ERROR:I
-Landroid/media/soundtrigger/SoundTriggerDetector;->MSG_DETECTION_PAUSE:I
-Landroid/media/soundtrigger/SoundTriggerDetector;->MSG_DETECTION_RESUME:I
-Landroid/media/soundtrigger/SoundTriggerDetector;->MSG_SOUND_TRIGGER_DETECTED:I
-Landroid/media/soundtrigger/SoundTriggerDetector;->mSoundModelId:Ljava/util/UUID;
-Landroid/media/soundtrigger/SoundTriggerDetector;->mSoundTriggerService:Lcom/android/internal/app/ISoundTriggerService;
-Landroid/media/soundtrigger/SoundTriggerDetector;->RECOGNITION_FLAG_NONE:I
-Landroid/media/soundtrigger/SoundTriggerDetector;->TAG:Ljava/lang/String;
-Landroid/media/soundtrigger/SoundTriggerManager$Model;-><init>(Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;)V
-Landroid/media/soundtrigger/SoundTriggerManager$Model;->getGenericSoundModel()Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;
-Landroid/media/soundtrigger/SoundTriggerManager$Model;->mGenericSoundModel:Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;
-Landroid/media/soundtrigger/SoundTriggerManager;-><init>(Landroid/content/Context;Lcom/android/internal/app/ISoundTriggerService;)V
-Landroid/media/soundtrigger/SoundTriggerManager;->DBG:Z
-Landroid/media/soundtrigger/SoundTriggerManager;->EXTRA_MESSAGE_TYPE:Ljava/lang/String;
-Landroid/media/soundtrigger/SoundTriggerManager;->EXTRA_RECOGNITION_EVENT:Ljava/lang/String;
-Landroid/media/soundtrigger/SoundTriggerManager;->EXTRA_STATUS:Ljava/lang/String;
-Landroid/media/soundtrigger/SoundTriggerManager;->FLAG_MESSAGE_TYPE_RECOGNITION_ERROR:I
-Landroid/media/soundtrigger/SoundTriggerManager;->FLAG_MESSAGE_TYPE_RECOGNITION_EVENT:I
-Landroid/media/soundtrigger/SoundTriggerManager;->FLAG_MESSAGE_TYPE_RECOGNITION_PAUSED:I
-Landroid/media/soundtrigger/SoundTriggerManager;->FLAG_MESSAGE_TYPE_RECOGNITION_RESUMED:I
-Landroid/media/soundtrigger/SoundTriggerManager;->FLAG_MESSAGE_TYPE_UNKNOWN:I
-Landroid/media/soundtrigger/SoundTriggerManager;->mContext:Landroid/content/Context;
-Landroid/media/soundtrigger/SoundTriggerManager;->mReceiverInstanceMap:Ljava/util/HashMap;
-Landroid/media/soundtrigger/SoundTriggerManager;->mSoundTriggerService:Lcom/android/internal/app/ISoundTriggerService;
-Landroid/media/soundtrigger/SoundTriggerManager;->TAG:Ljava/lang/String;
-Landroid/media/SRTRenderer;
-Landroid/media/SRTRenderer;-><init>(Landroid/content/Context;)V
-Landroid/media/SRTRenderer;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
-Landroid/media/SRTRenderer;->createTrack(Landroid/media/MediaFormat;)Landroid/media/SubtitleTrack;
-Landroid/media/SRTRenderer;->mContext:Landroid/content/Context;
-Landroid/media/SRTRenderer;->mEventHandler:Landroid/os/Handler;
-Landroid/media/SRTRenderer;->mRender:Z
-Landroid/media/SRTRenderer;->mRenderingWidget:Landroid/media/WebVttRenderingWidget;
-Landroid/media/SRTRenderer;->supports(Landroid/media/MediaFormat;)Z
-Landroid/media/SubtitleController$Anchor;
-Landroid/media/SubtitleController$Anchor;->getSubtitleLooper()Landroid/os/Looper;
-Landroid/media/SubtitleController$Anchor;->setSubtitleWidget(Landroid/media/SubtitleTrack$RenderingWidget;)V
-Landroid/media/SubtitleController$Listener;
-Landroid/media/SubtitleController$Listener;->onSubtitleTrackSelected(Landroid/media/SubtitleTrack;)V
-Landroid/media/SubtitleController$Renderer;
-Landroid/media/SubtitleController$Renderer;-><init>()V
-Landroid/media/SubtitleController$Renderer;->createTrack(Landroid/media/MediaFormat;)Landroid/media/SubtitleTrack;
-Landroid/media/SubtitleController$Renderer;->supports(Landroid/media/MediaFormat;)Z
-Landroid/media/SubtitleController;
-Landroid/media/SubtitleController;->addTrack(Landroid/media/MediaFormat;)Landroid/media/SubtitleTrack;
-Landroid/media/SubtitleController;->checkAnchorLooper()V
-Landroid/media/SubtitleController;->doHide()V
-Landroid/media/SubtitleController;->doSelectDefaultTrack()V
-Landroid/media/SubtitleController;->doSelectTrack(Landroid/media/SubtitleTrack;)V
-Landroid/media/SubtitleController;->doShow()V
-Landroid/media/SubtitleController;->getDefaultTrack()Landroid/media/SubtitleTrack;
-Landroid/media/SubtitleController;->getRenderingWidget()Landroid/media/SubtitleTrack$RenderingWidget;
-Landroid/media/SubtitleController;->getSelectedTrack()Landroid/media/SubtitleTrack;
-Landroid/media/SubtitleController;->getTracks()[Landroid/media/SubtitleTrack;
-Landroid/media/SubtitleController;->hasRendererFor(Landroid/media/MediaFormat;)Z
-Landroid/media/SubtitleController;->mAnchor:Landroid/media/SubtitleController$Anchor;
-Landroid/media/SubtitleController;->mCallback:Landroid/os/Handler$Callback;
-Landroid/media/SubtitleController;->mCaptioningChangeListener:Landroid/view/accessibility/CaptioningManager$CaptioningChangeListener;
-Landroid/media/SubtitleController;->mCaptioningManager:Landroid/view/accessibility/CaptioningManager;
-Landroid/media/SubtitleController;->mListener:Landroid/media/SubtitleController$Listener;
-Landroid/media/SubtitleController;->mRenderers:Ljava/util/Vector;
-Landroid/media/SubtitleController;->mSelectedTrack:Landroid/media/SubtitleTrack;
-Landroid/media/SubtitleController;->mShowing:Z
-Landroid/media/SubtitleController;->mTimeProvider:Landroid/media/MediaTimeProvider;
-Landroid/media/SubtitleController;->mTrackIsExplicit:Z
-Landroid/media/SubtitleController;->mTracks:Ljava/util/Vector;
-Landroid/media/SubtitleController;->mVisibilityIsExplicit:Z
-Landroid/media/SubtitleController;->processOnAnchor(Landroid/os/Message;)V
-Landroid/media/SubtitleController;->selectDefaultTrack()V
-Landroid/media/SubtitleController;->selectTrack(Landroid/media/SubtitleTrack;)Z
-Landroid/media/SubtitleController;->setAnchor(Landroid/media/SubtitleController$Anchor;)V
-Landroid/media/SubtitleController;->WHAT_HIDE:I
-Landroid/media/SubtitleController;->WHAT_SELECT_DEFAULT_TRACK:I
-Landroid/media/SubtitleController;->WHAT_SELECT_TRACK:I
-Landroid/media/SubtitleController;->WHAT_SHOW:I
-Landroid/media/SubtitleData;-><init>(Landroid/os/Parcel;)V
-Landroid/media/SubtitleData;->mData:[B
-Landroid/media/SubtitleData;->mDurationUs:J
-Landroid/media/SubtitleData;->mStartTimeUs:J
-Landroid/media/SubtitleData;->mTrackIndex:I
-Landroid/media/SubtitleData;->parseParcel(Landroid/os/Parcel;)Z
-Landroid/media/SubtitleData;->TAG:Ljava/lang/String;
-Landroid/media/SubtitleTrack$Cue;
-Landroid/media/SubtitleTrack$Cue;-><init>()V
-Landroid/media/SubtitleTrack$Cue;->mEndTimeMs:J
-Landroid/media/SubtitleTrack$Cue;->mInnerTimesMs:[J
-Landroid/media/SubtitleTrack$Cue;->mNextInRun:Landroid/media/SubtitleTrack$Cue;
-Landroid/media/SubtitleTrack$Cue;->mRunID:J
-Landroid/media/SubtitleTrack$Cue;->mStartTimeMs:J
-Landroid/media/SubtitleTrack$Cue;->onTime(J)V
-Landroid/media/SubtitleTrack$CueList$EntryIterator;
-Landroid/media/SubtitleTrack$CueList$EntryIterator;-><init>(Ljava/util/SortedMap;)V
-Landroid/media/SubtitleTrack$CueList$EntryIterator;->mCurrentTimeMs:J
-Landroid/media/SubtitleTrack$CueList$EntryIterator;->mDone:Z
-Landroid/media/SubtitleTrack$CueList$EntryIterator;->mLastEntry:Landroid/util/Pair;
-Landroid/media/SubtitleTrack$CueList$EntryIterator;->mLastListIterator:Ljava/util/Iterator;
-Landroid/media/SubtitleTrack$CueList$EntryIterator;->mListIterator:Ljava/util/Iterator;
-Landroid/media/SubtitleTrack$CueList$EntryIterator;->mRemainingCues:Ljava/util/SortedMap;
-Landroid/media/SubtitleTrack$CueList$EntryIterator;->nextKey()V
-Landroid/media/SubtitleTrack$CueList;
-Landroid/media/SubtitleTrack$CueList;-><init>()V
-Landroid/media/SubtitleTrack$CueList;->add(Landroid/media/SubtitleTrack$Cue;)V
-Landroid/media/SubtitleTrack$CueList;->addEvent(Landroid/media/SubtitleTrack$Cue;J)Z
-Landroid/media/SubtitleTrack$CueList;->DEBUG:Z
-Landroid/media/SubtitleTrack$CueList;->entriesBetween(JJ)Ljava/lang/Iterable;
-Landroid/media/SubtitleTrack$CueList;->mCues:Ljava/util/SortedMap;
-Landroid/media/SubtitleTrack$CueList;->nextTimeAfter(J)J
-Landroid/media/SubtitleTrack$CueList;->remove(Landroid/media/SubtitleTrack$Cue;)V
-Landroid/media/SubtitleTrack$CueList;->removeEvent(Landroid/media/SubtitleTrack$Cue;J)V
-Landroid/media/SubtitleTrack$CueList;->TAG:Ljava/lang/String;
-Landroid/media/SubtitleTrack$RenderingWidget$OnChangedListener;
-Landroid/media/SubtitleTrack$RenderingWidget$OnChangedListener;->onChanged(Landroid/media/SubtitleTrack$RenderingWidget;)V
-Landroid/media/SubtitleTrack$RenderingWidget;
-Landroid/media/SubtitleTrack$RenderingWidget;->setVisible(Z)V
-Landroid/media/SubtitleTrack$Run;
-Landroid/media/SubtitleTrack$Run;-><init>()V
-Landroid/media/SubtitleTrack$Run;->mEndTimeMs:J
-Landroid/media/SubtitleTrack$Run;->mFirstCue:Landroid/media/SubtitleTrack$Cue;
-Landroid/media/SubtitleTrack$Run;->mNextRunAtEndTimeMs:Landroid/media/SubtitleTrack$Run;
-Landroid/media/SubtitleTrack$Run;->mPrevRunAtEndTimeMs:Landroid/media/SubtitleTrack$Run;
-Landroid/media/SubtitleTrack$Run;->mRunID:J
-Landroid/media/SubtitleTrack$Run;->mStoredEndTimeMs:J
-Landroid/media/SubtitleTrack$Run;->removeAtEndTimeMs()V
-Landroid/media/SubtitleTrack$Run;->storeByEndTimeMs(Landroid/util/LongSparseArray;)V
-Landroid/media/SubtitleTrack;
-Landroid/media/SubtitleTrack;-><init>(Landroid/media/MediaFormat;)V
-Landroid/media/SubtitleTrack;->addCue(Landroid/media/SubtitleTrack$Cue;)Z
-Landroid/media/SubtitleTrack;->clearActiveCues()V
-Landroid/media/SubtitleTrack;->DEBUG:Z
-Landroid/media/SubtitleTrack;->finishedRun(J)V
-Landroid/media/SubtitleTrack;->getFormat()Landroid/media/MediaFormat;
-Landroid/media/SubtitleTrack;->getRenderingWidget()Landroid/media/SubtitleTrack$RenderingWidget;
-Landroid/media/SubtitleTrack;->getTrackType()I
-Landroid/media/SubtitleTrack;->hide()V
-Landroid/media/SubtitleTrack;->mActiveCues:Ljava/util/Vector;
-Landroid/media/SubtitleTrack;->mCues:Landroid/media/SubtitleTrack$CueList;
-Landroid/media/SubtitleTrack;->mFormat:Landroid/media/MediaFormat;
-Landroid/media/SubtitleTrack;->mHandler:Landroid/os/Handler;
-Landroid/media/SubtitleTrack;->mLastTimeMs:J
-Landroid/media/SubtitleTrack;->mLastUpdateTimeMs:J
-Landroid/media/SubtitleTrack;->mNextScheduledTimeMs:J
-Landroid/media/SubtitleTrack;->mRunnable:Ljava/lang/Runnable;
-Landroid/media/SubtitleTrack;->mRunsByEndTime:Landroid/util/LongSparseArray;
-Landroid/media/SubtitleTrack;->mRunsByID:Landroid/util/LongSparseArray;
-Landroid/media/SubtitleTrack;->mTimeProvider:Landroid/media/MediaTimeProvider;
-Landroid/media/SubtitleTrack;->mVisible:Z
-Landroid/media/SubtitleTrack;->onData(Landroid/media/SubtitleData;)V
-Landroid/media/SubtitleTrack;->onData([BZJ)V
-Landroid/media/SubtitleTrack;->onSeek(J)V
-Landroid/media/SubtitleTrack;->onStop()V
-Landroid/media/SubtitleTrack;->onTimedEvent(J)V
-Landroid/media/SubtitleTrack;->removeRunsByEndTimeIndex(I)V
-Landroid/media/SubtitleTrack;->scheduleTimedEvents()V
-Landroid/media/SubtitleTrack;->setRunDiscardTimeMs(JJ)V
-Landroid/media/SubtitleTrack;->setTimeProvider(Landroid/media/MediaTimeProvider;)V
-Landroid/media/SubtitleTrack;->show()V
-Landroid/media/SubtitleTrack;->TAG:Ljava/lang/String;
-Landroid/media/SubtitleTrack;->takeTime(J)V
-Landroid/media/SubtitleTrack;->updateActiveCues(ZJ)V
-Landroid/media/SubtitleTrack;->updateView(Ljava/util/Vector;)V
-Landroid/media/SyncParams$AudioAdjustMode;
-Landroid/media/SyncParams$SyncSource;
-Landroid/media/SyncParams;->mAudioAdjustMode:I
-Landroid/media/SyncParams;->mFrameRate:F
-Landroid/media/SyncParams;->mSet:I
-Landroid/media/SyncParams;->mSyncSource:I
-Landroid/media/SyncParams;->mTolerance:F
-Landroid/media/SyncParams;->SET_AUDIO_ADJUST_MODE:I
-Landroid/media/SyncParams;->SET_FRAME_RATE:I
-Landroid/media/SyncParams;->SET_SYNC_SOURCE:I
-Landroid/media/SyncParams;->SET_TOLERANCE:I
-Landroid/media/TextTrackCue;
-Landroid/media/TextTrackCue;-><init>()V
-Landroid/media/TextTrackCue;->ALIGNMENT_END:I
-Landroid/media/TextTrackCue;->ALIGNMENT_LEFT:I
-Landroid/media/TextTrackCue;->ALIGNMENT_MIDDLE:I
-Landroid/media/TextTrackCue;->ALIGNMENT_RIGHT:I
-Landroid/media/TextTrackCue;->ALIGNMENT_START:I
-Landroid/media/TextTrackCue;->appendLinesToBuilder(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
-Landroid/media/TextTrackCue;->appendStringsToBuilder(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
-Landroid/media/TextTrackCue;->mAlignment:I
-Landroid/media/TextTrackCue;->mAutoLinePosition:Z
-Landroid/media/TextTrackCue;->mId:Ljava/lang/String;
-Landroid/media/TextTrackCue;->mLinePosition:Ljava/lang/Integer;
-Landroid/media/TextTrackCue;->mLines:[[Landroid/media/TextTrackCueSpan;
-Landroid/media/TextTrackCue;->mPauseOnExit:Z
-Landroid/media/TextTrackCue;->mRegion:Landroid/media/TextTrackRegion;
-Landroid/media/TextTrackCue;->mRegionId:Ljava/lang/String;
-Landroid/media/TextTrackCue;->mSize:I
-Landroid/media/TextTrackCue;->mSnapToLines:Z
-Landroid/media/TextTrackCue;->mStrings:[Ljava/lang/String;
-Landroid/media/TextTrackCue;->mTextPosition:I
-Landroid/media/TextTrackCue;->mWritingDirection:I
-Landroid/media/TextTrackCue;->onTime(J)V
-Landroid/media/TextTrackCue;->TAG:Ljava/lang/String;
-Landroid/media/TextTrackCue;->WRITING_DIRECTION_HORIZONTAL:I
-Landroid/media/TextTrackCue;->WRITING_DIRECTION_VERTICAL_LR:I
-Landroid/media/TextTrackCue;->WRITING_DIRECTION_VERTICAL_RL:I
-Landroid/media/TextTrackCueSpan;
-Landroid/media/TextTrackCueSpan;-><init>(Ljava/lang/String;J)V
-Landroid/media/TextTrackCueSpan;->mEnabled:Z
-Landroid/media/TextTrackCueSpan;->mText:Ljava/lang/String;
-Landroid/media/TextTrackCueSpan;->mTimestampMs:J
-Landroid/media/TextTrackRegion;
-Landroid/media/TextTrackRegion;-><init>()V
-Landroid/media/TextTrackRegion;->mAnchorPointX:F
-Landroid/media/TextTrackRegion;->mAnchorPointY:F
-Landroid/media/TextTrackRegion;->mId:Ljava/lang/String;
-Landroid/media/TextTrackRegion;->mLines:I
-Landroid/media/TextTrackRegion;->mScrollValue:I
-Landroid/media/TextTrackRegion;->mViewportAnchorPointX:F
-Landroid/media/TextTrackRegion;->mViewportAnchorPointY:F
-Landroid/media/TextTrackRegion;->mWidth:F
-Landroid/media/TextTrackRegion;->SCROLL_VALUE_NONE:I
-Landroid/media/TextTrackRegion;->SCROLL_VALUE_SCROLL_UP:I
-Landroid/media/ThumbnailUtils$SizedThumbnailBitmap;
-Landroid/media/ThumbnailUtils$SizedThumbnailBitmap;-><init>()V
-Landroid/media/ThumbnailUtils$SizedThumbnailBitmap;->mBitmap:Landroid/graphics/Bitmap;
-Landroid/media/ThumbnailUtils$SizedThumbnailBitmap;->mThumbnailData:[B
-Landroid/media/ThumbnailUtils$SizedThumbnailBitmap;->mThumbnailHeight:I
-Landroid/media/ThumbnailUtils$SizedThumbnailBitmap;->mThumbnailWidth:I
-Landroid/media/ThumbnailUtils;->createThumbnailFromMetadataRetriever(Ljava/lang/String;II)Landroid/graphics/Bitmap;
-Landroid/media/ThumbnailUtils;->makeBitmap(IILandroid/net/Uri;Landroid/content/ContentResolver;Landroid/os/ParcelFileDescriptor;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
-Landroid/media/ThumbnailUtils;->MAX_NUM_PIXELS_MICRO_THUMBNAIL:I
-Landroid/media/ThumbnailUtils;->MAX_NUM_PIXELS_THUMBNAIL:I
-Landroid/media/ThumbnailUtils;->OPTIONS_NONE:I
-Landroid/media/ThumbnailUtils;->OPTIONS_SCALE_UP:I
-Landroid/media/ThumbnailUtils;->TAG:Ljava/lang/String;
-Landroid/media/ThumbnailUtils;->TARGET_SIZE_MINI_THUMBNAIL:I
-Landroid/media/ThumbnailUtils;->UNCONSTRAINED:I
-Landroid/media/TimedMetaData;-><init>(Landroid/os/Parcel;)V
-Landroid/media/TimedMetaData;->createTimedMetaDataFromParcel(Landroid/os/Parcel;)Landroid/media/TimedMetaData;
-Landroid/media/TimedMetaData;->mMetaData:[B
-Landroid/media/TimedMetaData;->mTimestampUs:J
-Landroid/media/TimedMetaData;->parseParcel(Landroid/os/Parcel;)Z
-Landroid/media/TimedMetaData;->TAG:Ljava/lang/String;
-Landroid/media/TimedText$CharPos;
-Landroid/media/TimedText$CharPos;-><init>(II)V
-Landroid/media/TimedText$CharPos;->endChar:I
-Landroid/media/TimedText$CharPos;->startChar:I
-Landroid/media/TimedText$Font;
-Landroid/media/TimedText$Font;-><init>(ILjava/lang/String;)V
-Landroid/media/TimedText$Font;->ID:I
-Landroid/media/TimedText$Font;->name:Ljava/lang/String;
-Landroid/media/TimedText$HyperText;
-Landroid/media/TimedText$HyperText;-><init>(IILjava/lang/String;Ljava/lang/String;)V
-Landroid/media/TimedText$HyperText;->altString:Ljava/lang/String;
-Landroid/media/TimedText$HyperText;->endChar:I
-Landroid/media/TimedText$HyperText;->startChar:I
-Landroid/media/TimedText$HyperText;->URL:Ljava/lang/String;
-Landroid/media/TimedText$Justification;
-Landroid/media/TimedText$Justification;-><init>(II)V
-Landroid/media/TimedText$Justification;->horizontalJustification:I
-Landroid/media/TimedText$Justification;->verticalJustification:I
-Landroid/media/TimedText$Karaoke;
-Landroid/media/TimedText$Karaoke;-><init>(IIII)V
-Landroid/media/TimedText$Karaoke;->endChar:I
-Landroid/media/TimedText$Karaoke;->endTimeMs:I
-Landroid/media/TimedText$Karaoke;->startChar:I
-Landroid/media/TimedText$Karaoke;->startTimeMs:I
-Landroid/media/TimedText$Style;
-Landroid/media/TimedText$Style;-><init>(IIIZZZII)V
-Landroid/media/TimedText$Style;->colorRGBA:I
-Landroid/media/TimedText$Style;->endChar:I
-Landroid/media/TimedText$Style;->fontID:I
-Landroid/media/TimedText$Style;->fontSize:I
-Landroid/media/TimedText$Style;->isBold:Z
-Landroid/media/TimedText$Style;->isItalic:Z
-Landroid/media/TimedText$Style;->isUnderlined:Z
-Landroid/media/TimedText$Style;->startChar:I
-Landroid/media/TimedText;-><init>(Landroid/os/Parcel;)V
-Landroid/media/TimedText;->containsKey(I)Z
-Landroid/media/TimedText;->FIRST_PRIVATE_KEY:I
-Landroid/media/TimedText;->FIRST_PUBLIC_KEY:I
-Landroid/media/TimedText;->isValidKey(I)Z
-Landroid/media/TimedText;->keySet()Ljava/util/Set;
-Landroid/media/TimedText;->KEY_BACKGROUND_COLOR_RGBA:I
-Landroid/media/TimedText;->KEY_DISPLAY_FLAGS:I
-Landroid/media/TimedText;->KEY_END_CHAR:I
-Landroid/media/TimedText;->KEY_FONT_ID:I
-Landroid/media/TimedText;->KEY_FONT_SIZE:I
-Landroid/media/TimedText;->KEY_GLOBAL_SETTING:I
-Landroid/media/TimedText;->KEY_HIGHLIGHT_COLOR_RGBA:I
-Landroid/media/TimedText;->KEY_LOCAL_SETTING:I
-Landroid/media/TimedText;->KEY_SCROLL_DELAY:I
-Landroid/media/TimedText;->KEY_START_CHAR:I
-Landroid/media/TimedText;->KEY_START_TIME:I
-Landroid/media/TimedText;->KEY_STRUCT_BLINKING_TEXT_LIST:I
-Landroid/media/TimedText;->KEY_STRUCT_FONT_LIST:I
-Landroid/media/TimedText;->KEY_STRUCT_HIGHLIGHT_LIST:I
-Landroid/media/TimedText;->KEY_STRUCT_HYPER_TEXT_LIST:I
-Landroid/media/TimedText;->KEY_STRUCT_JUSTIFICATION:I
-Landroid/media/TimedText;->KEY_STRUCT_KARAOKE_LIST:I
-Landroid/media/TimedText;->KEY_STRUCT_STYLE_LIST:I
-Landroid/media/TimedText;->KEY_STRUCT_TEXT:I
-Landroid/media/TimedText;->KEY_STRUCT_TEXT_POS:I
-Landroid/media/TimedText;->KEY_STYLE_FLAGS:I
-Landroid/media/TimedText;->KEY_TEXT_COLOR_RGBA:I
-Landroid/media/TimedText;->KEY_WRAP_TEXT:I
-Landroid/media/TimedText;->LAST_PRIVATE_KEY:I
-Landroid/media/TimedText;->LAST_PUBLIC_KEY:I
-Landroid/media/TimedText;->mBackgroundColorRGBA:I
-Landroid/media/TimedText;->mBlinkingPosList:Ljava/util/List;
-Landroid/media/TimedText;->mDisplayFlags:I
-Landroid/media/TimedText;->mFontList:Ljava/util/List;
-Landroid/media/TimedText;->mHighlightColorRGBA:I
-Landroid/media/TimedText;->mHighlightPosList:Ljava/util/List;
-Landroid/media/TimedText;->mHyperTextList:Ljava/util/List;
-Landroid/media/TimedText;->mJustification:Landroid/media/TimedText$Justification;
-Landroid/media/TimedText;->mKaraokeList:Ljava/util/List;
-Landroid/media/TimedText;->mKeyObjectMap:Ljava/util/HashMap;
-Landroid/media/TimedText;->mScrollDelay:I
-Landroid/media/TimedText;->mStyleList:Ljava/util/List;
-Landroid/media/TimedText;->mTextBounds:Landroid/graphics/Rect;
-Landroid/media/TimedText;->mTextChars:Ljava/lang/String;
-Landroid/media/TimedText;->mWrapText:I
-Landroid/media/TimedText;->parseParcel(Landroid/os/Parcel;)Z
-Landroid/media/TimedText;->readBlinkingText(Landroid/os/Parcel;)V
-Landroid/media/TimedText;->readFont(Landroid/os/Parcel;)V
-Landroid/media/TimedText;->readHighlight(Landroid/os/Parcel;)V
-Landroid/media/TimedText;->readHyperText(Landroid/os/Parcel;)V
-Landroid/media/TimedText;->readKaraoke(Landroid/os/Parcel;)V
-Landroid/media/TimedText;->readStyle(Landroid/os/Parcel;)V
-Landroid/media/TimedText;->TAG:Ljava/lang/String;
-Landroid/media/ToneGenerator;->native_finalize()V
-Landroid/media/ToneGenerator;->native_setup(II)V
-Landroid/media/ToneGenerator;->TONE_UNKNOWN:I
-Landroid/media/TtmlRenderer;
-Landroid/media/TtmlRenderer;->createTrack(Landroid/media/MediaFormat;)Landroid/media/SubtitleTrack;
-Landroid/media/TtmlRenderer;->mContext:Landroid/content/Context;
-Landroid/media/TtmlRenderer;->MEDIA_MIMETYPE_TEXT_TTML:Ljava/lang/String;
-Landroid/media/TtmlRenderer;->mRenderingWidget:Landroid/media/TtmlRenderingWidget;
-Landroid/media/TtmlRenderer;->supports(Landroid/media/MediaFormat;)Z
-Landroid/media/TtmlRenderingWidget;
-Landroid/media/TtmlRenderingWidget;-><init>(Landroid/content/Context;)V
-Landroid/media/TtmlRenderingWidget;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/media/TtmlRenderingWidget;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/media/TtmlRenderingWidget;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/media/TtmlRenderingWidget;->mListener:Landroid/media/SubtitleTrack$RenderingWidget$OnChangedListener;
-Landroid/media/TtmlRenderingWidget;->mTextView:Landroid/widget/TextView;
-Landroid/media/TtmlRenderingWidget;->setActiveCues(Ljava/util/Vector;)V
-Landroid/media/TtmlRenderingWidget;->setOnChangedListener(Landroid/media/SubtitleTrack$RenderingWidget$OnChangedListener;)V
-Landroid/media/TtmlRenderingWidget;->setSize(II)V
-Landroid/media/TtmlRenderingWidget;->setVisible(Z)V
-Landroid/media/tv/DvbDeviceInfo;
-Landroid/media/tv/DvbDeviceInfo;-><init>(II)V
-Landroid/media/tv/DvbDeviceInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/media/tv/DvbDeviceInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/media/tv/DvbDeviceInfo;->getAdapterId()I
-Landroid/media/tv/DvbDeviceInfo;->getDeviceId()I
-Landroid/media/tv/DvbDeviceInfo;->mAdapterId:I
-Landroid/media/tv/DvbDeviceInfo;->mDeviceId:I
-Landroid/media/tv/DvbDeviceInfo;->TAG:Ljava/lang/String;
-Landroid/media/tv/ITvInputClient$Stub$Proxy;
-Landroid/media/tv/ITvInputClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/tv/ITvInputClient$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/tv/ITvInputClient$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/tv/ITvInputClient$Stub$Proxy;->onChannelRetuned(Landroid/net/Uri;I)V
-Landroid/media/tv/ITvInputClient$Stub$Proxy;->onContentAllowed(I)V
-Landroid/media/tv/ITvInputClient$Stub$Proxy;->onContentBlocked(Ljava/lang/String;I)V
-Landroid/media/tv/ITvInputClient$Stub$Proxy;->onError(II)V
-Landroid/media/tv/ITvInputClient$Stub$Proxy;->onLayoutSurface(IIIII)V
-Landroid/media/tv/ITvInputClient$Stub$Proxy;->onRecordingStopped(Landroid/net/Uri;I)V
-Landroid/media/tv/ITvInputClient$Stub$Proxy;->onSessionCreated(Ljava/lang/String;Landroid/os/IBinder;Landroid/view/InputChannel;I)V
-Landroid/media/tv/ITvInputClient$Stub$Proxy;->onSessionEvent(Ljava/lang/String;Landroid/os/Bundle;I)V
-Landroid/media/tv/ITvInputClient$Stub$Proxy;->onSessionReleased(I)V
-Landroid/media/tv/ITvInputClient$Stub$Proxy;->onTimeShiftCurrentPositionChanged(JI)V
-Landroid/media/tv/ITvInputClient$Stub$Proxy;->onTimeShiftStartPositionChanged(JI)V
-Landroid/media/tv/ITvInputClient$Stub$Proxy;->onTimeShiftStatusChanged(II)V
-Landroid/media/tv/ITvInputClient$Stub$Proxy;->onTracksChanged(Ljava/util/List;I)V
-Landroid/media/tv/ITvInputClient$Stub$Proxy;->onTrackSelected(ILjava/lang/String;I)V
-Landroid/media/tv/ITvInputClient$Stub$Proxy;->onTuned(ILandroid/net/Uri;)V
-Landroid/media/tv/ITvInputClient$Stub$Proxy;->onVideoAvailable(I)V
-Landroid/media/tv/ITvInputClient$Stub$Proxy;->onVideoUnavailable(II)V
-Landroid/media/tv/ITvInputClient$Stub;
-Landroid/media/tv/ITvInputClient$Stub;-><init>()V
-Landroid/media/tv/ITvInputClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/tv/ITvInputClient;
-Landroid/media/tv/ITvInputClient$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/tv/ITvInputClient$Stub;->TRANSACTION_onChannelRetuned:I
-Landroid/media/tv/ITvInputClient$Stub;->TRANSACTION_onContentAllowed:I
-Landroid/media/tv/ITvInputClient$Stub;->TRANSACTION_onContentBlocked:I
-Landroid/media/tv/ITvInputClient$Stub;->TRANSACTION_onError:I
-Landroid/media/tv/ITvInputClient$Stub;->TRANSACTION_onLayoutSurface:I
-Landroid/media/tv/ITvInputClient$Stub;->TRANSACTION_onRecordingStopped:I
-Landroid/media/tv/ITvInputClient$Stub;->TRANSACTION_onSessionCreated:I
-Landroid/media/tv/ITvInputClient$Stub;->TRANSACTION_onSessionEvent:I
-Landroid/media/tv/ITvInputClient$Stub;->TRANSACTION_onSessionReleased:I
-Landroid/media/tv/ITvInputClient$Stub;->TRANSACTION_onTimeShiftCurrentPositionChanged:I
-Landroid/media/tv/ITvInputClient$Stub;->TRANSACTION_onTimeShiftStartPositionChanged:I
-Landroid/media/tv/ITvInputClient$Stub;->TRANSACTION_onTimeShiftStatusChanged:I
-Landroid/media/tv/ITvInputClient$Stub;->TRANSACTION_onTracksChanged:I
-Landroid/media/tv/ITvInputClient$Stub;->TRANSACTION_onTrackSelected:I
-Landroid/media/tv/ITvInputClient$Stub;->TRANSACTION_onTuned:I
-Landroid/media/tv/ITvInputClient$Stub;->TRANSACTION_onVideoAvailable:I
-Landroid/media/tv/ITvInputClient$Stub;->TRANSACTION_onVideoUnavailable:I
-Landroid/media/tv/ITvInputClient;
-Landroid/media/tv/ITvInputClient;->onChannelRetuned(Landroid/net/Uri;I)V
-Landroid/media/tv/ITvInputClient;->onContentAllowed(I)V
-Landroid/media/tv/ITvInputClient;->onContentBlocked(Ljava/lang/String;I)V
-Landroid/media/tv/ITvInputClient;->onError(II)V
-Landroid/media/tv/ITvInputClient;->onLayoutSurface(IIIII)V
-Landroid/media/tv/ITvInputClient;->onRecordingStopped(Landroid/net/Uri;I)V
-Landroid/media/tv/ITvInputClient;->onSessionCreated(Ljava/lang/String;Landroid/os/IBinder;Landroid/view/InputChannel;I)V
-Landroid/media/tv/ITvInputClient;->onSessionEvent(Ljava/lang/String;Landroid/os/Bundle;I)V
-Landroid/media/tv/ITvInputClient;->onSessionReleased(I)V
-Landroid/media/tv/ITvInputClient;->onTimeShiftCurrentPositionChanged(JI)V
-Landroid/media/tv/ITvInputClient;->onTimeShiftStartPositionChanged(JI)V
-Landroid/media/tv/ITvInputClient;->onTimeShiftStatusChanged(II)V
-Landroid/media/tv/ITvInputClient;->onTracksChanged(Ljava/util/List;I)V
-Landroid/media/tv/ITvInputClient;->onTrackSelected(ILjava/lang/String;I)V
-Landroid/media/tv/ITvInputClient;->onTuned(ILandroid/net/Uri;)V
-Landroid/media/tv/ITvInputClient;->onVideoAvailable(I)V
-Landroid/media/tv/ITvInputClient;->onVideoUnavailable(II)V
-Landroid/media/tv/ITvInputHardware$Stub$Proxy;
-Landroid/media/tv/ITvInputHardware$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/tv/ITvInputHardware$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/tv/ITvInputHardware$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/tv/ITvInputHardware$Stub$Proxy;->overrideAudioSink(ILjava/lang/String;III)V
-Landroid/media/tv/ITvInputHardware$Stub$Proxy;->setStreamVolume(F)V
-Landroid/media/tv/ITvInputHardware$Stub$Proxy;->setSurface(Landroid/view/Surface;Landroid/media/tv/TvStreamConfig;)Z
-Landroid/media/tv/ITvInputHardware$Stub;
-Landroid/media/tv/ITvInputHardware$Stub;-><init>()V
-Landroid/media/tv/ITvInputHardware$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/tv/ITvInputHardware;
-Landroid/media/tv/ITvInputHardware$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/tv/ITvInputHardware$Stub;->TRANSACTION_overrideAudioSink:I
-Landroid/media/tv/ITvInputHardware$Stub;->TRANSACTION_setStreamVolume:I
-Landroid/media/tv/ITvInputHardware$Stub;->TRANSACTION_setSurface:I
-Landroid/media/tv/ITvInputHardware;
-Landroid/media/tv/ITvInputHardware;->overrideAudioSink(ILjava/lang/String;III)V
-Landroid/media/tv/ITvInputHardware;->setStreamVolume(F)V
-Landroid/media/tv/ITvInputHardware;->setSurface(Landroid/view/Surface;Landroid/media/tv/TvStreamConfig;)Z
-Landroid/media/tv/ITvInputHardwareCallback$Stub$Proxy;
-Landroid/media/tv/ITvInputHardwareCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/tv/ITvInputHardwareCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/tv/ITvInputHardwareCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/tv/ITvInputHardwareCallback$Stub$Proxy;->onReleased()V
-Landroid/media/tv/ITvInputHardwareCallback$Stub$Proxy;->onStreamConfigChanged([Landroid/media/tv/TvStreamConfig;)V
-Landroid/media/tv/ITvInputHardwareCallback$Stub;
-Landroid/media/tv/ITvInputHardwareCallback$Stub;-><init>()V
-Landroid/media/tv/ITvInputHardwareCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/tv/ITvInputHardwareCallback;
-Landroid/media/tv/ITvInputHardwareCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/tv/ITvInputHardwareCallback$Stub;->TRANSACTION_onReleased:I
-Landroid/media/tv/ITvInputHardwareCallback$Stub;->TRANSACTION_onStreamConfigChanged:I
-Landroid/media/tv/ITvInputHardwareCallback;
-Landroid/media/tv/ITvInputHardwareCallback;->onReleased()V
-Landroid/media/tv/ITvInputHardwareCallback;->onStreamConfigChanged([Landroid/media/tv/TvStreamConfig;)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;
-Landroid/media/tv/ITvInputManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->acquireTvInputHardware(ILandroid/media/tv/ITvInputHardwareCallback;Landroid/media/tv/TvInputInfo;I)Landroid/media/tv/ITvInputHardware;
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->addBlockedRating(Ljava/lang/String;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->captureFrame(Ljava/lang/String;Landroid/view/Surface;Landroid/media/tv/TvStreamConfig;I)Z
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->createOverlayView(Landroid/os/IBinder;Landroid/os/IBinder;Landroid/graphics/Rect;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->createSession(Landroid/media/tv/ITvInputClient;Ljava/lang/String;ZII)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->dispatchSurfaceChanged(Landroid/os/IBinder;IIII)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->getAvailableTvStreamConfigList(Ljava/lang/String;I)Ljava/util/List;
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->getBlockedRatings(I)Ljava/util/List;
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->getDvbDeviceList()Ljava/util/List;
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->getHardwareList()Ljava/util/List;
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->getTvContentRatingSystemList(I)Ljava/util/List;
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->getTvInputInfo(Ljava/lang/String;I)Landroid/media/tv/TvInputInfo;
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->getTvInputList(I)Ljava/util/List;
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->getTvInputState(Ljava/lang/String;I)I
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->isParentalControlsEnabled(I)Z
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->isRatingBlocked(Ljava/lang/String;I)Z
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->isSingleSessionActive(I)Z
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->openDvbDevice(Landroid/media/tv/DvbDeviceInfo;I)Landroid/os/ParcelFileDescriptor;
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->registerCallback(Landroid/media/tv/ITvInputManagerCallback;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->relayoutOverlayView(Landroid/os/IBinder;Landroid/graphics/Rect;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->releaseSession(Landroid/os/IBinder;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->releaseTvInputHardware(ILandroid/media/tv/ITvInputHardware;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->removeBlockedRating(Ljava/lang/String;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->removeOverlayView(Landroid/os/IBinder;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->requestChannelBrowsable(Landroid/net/Uri;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->selectTrack(Landroid/os/IBinder;ILjava/lang/String;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->sendAppPrivateCommand(Landroid/os/IBinder;Ljava/lang/String;Landroid/os/Bundle;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->sendTvInputNotifyIntent(Landroid/content/Intent;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->setCaptionEnabled(Landroid/os/IBinder;ZI)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->setMainSession(Landroid/os/IBinder;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->setParentalControlsEnabled(ZI)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->setSurface(Landroid/os/IBinder;Landroid/view/Surface;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->setVolume(Landroid/os/IBinder;FI)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->startRecording(Landroid/os/IBinder;Landroid/net/Uri;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->stopRecording(Landroid/os/IBinder;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->timeShiftEnablePositionTracking(Landroid/os/IBinder;ZI)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->timeShiftPause(Landroid/os/IBinder;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->timeShiftPlay(Landroid/os/IBinder;Landroid/net/Uri;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->timeShiftResume(Landroid/os/IBinder;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->timeShiftSeekTo(Landroid/os/IBinder;JI)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->timeShiftSetPlaybackParams(Landroid/os/IBinder;Landroid/media/PlaybackParams;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->tune(Landroid/os/IBinder;Landroid/net/Uri;Landroid/os/Bundle;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->unblockContent(Landroid/os/IBinder;Ljava/lang/String;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->unregisterCallback(Landroid/media/tv/ITvInputManagerCallback;I)V
-Landroid/media/tv/ITvInputManager$Stub$Proxy;->updateTvInputInfo(Landroid/media/tv/TvInputInfo;I)V
-Landroid/media/tv/ITvInputManager$Stub;
-Landroid/media/tv/ITvInputManager$Stub;-><init>()V
-Landroid/media/tv/ITvInputManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/tv/ITvInputManager;
-Landroid/media/tv/ITvInputManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_acquireTvInputHardware:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_addBlockedRating:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_captureFrame:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_createOverlayView:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_createSession:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_dispatchSurfaceChanged:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_getAvailableTvStreamConfigList:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_getBlockedRatings:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_getDvbDeviceList:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_getHardwareList:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_getTvContentRatingSystemList:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_getTvInputInfo:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_getTvInputList:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_getTvInputState:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_isParentalControlsEnabled:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_isRatingBlocked:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_isSingleSessionActive:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_openDvbDevice:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_registerCallback:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_relayoutOverlayView:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_releaseSession:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_releaseTvInputHardware:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_removeBlockedRating:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_removeOverlayView:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_requestChannelBrowsable:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_selectTrack:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_sendAppPrivateCommand:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_sendTvInputNotifyIntent:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_setCaptionEnabled:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_setMainSession:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_setParentalControlsEnabled:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_setSurface:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_setVolume:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_startRecording:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_stopRecording:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_timeShiftEnablePositionTracking:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_timeShiftPause:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_timeShiftPlay:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_timeShiftResume:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_timeShiftSeekTo:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_timeShiftSetPlaybackParams:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_tune:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_unblockContent:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_unregisterCallback:I
-Landroid/media/tv/ITvInputManager$Stub;->TRANSACTION_updateTvInputInfo:I
-Landroid/media/tv/ITvInputManager;
-Landroid/media/tv/ITvInputManager;->acquireTvInputHardware(ILandroid/media/tv/ITvInputHardwareCallback;Landroid/media/tv/TvInputInfo;I)Landroid/media/tv/ITvInputHardware;
-Landroid/media/tv/ITvInputManager;->addBlockedRating(Ljava/lang/String;I)V
-Landroid/media/tv/ITvInputManager;->captureFrame(Ljava/lang/String;Landroid/view/Surface;Landroid/media/tv/TvStreamConfig;I)Z
-Landroid/media/tv/ITvInputManager;->createOverlayView(Landroid/os/IBinder;Landroid/os/IBinder;Landroid/graphics/Rect;I)V
-Landroid/media/tv/ITvInputManager;->createSession(Landroid/media/tv/ITvInputClient;Ljava/lang/String;ZII)V
-Landroid/media/tv/ITvInputManager;->dispatchSurfaceChanged(Landroid/os/IBinder;IIII)V
-Landroid/media/tv/ITvInputManager;->getAvailableTvStreamConfigList(Ljava/lang/String;I)Ljava/util/List;
-Landroid/media/tv/ITvInputManager;->getBlockedRatings(I)Ljava/util/List;
-Landroid/media/tv/ITvInputManager;->getDvbDeviceList()Ljava/util/List;
-Landroid/media/tv/ITvInputManager;->getHardwareList()Ljava/util/List;
-Landroid/media/tv/ITvInputManager;->getTvContentRatingSystemList(I)Ljava/util/List;
-Landroid/media/tv/ITvInputManager;->getTvInputInfo(Ljava/lang/String;I)Landroid/media/tv/TvInputInfo;
-Landroid/media/tv/ITvInputManager;->getTvInputList(I)Ljava/util/List;
-Landroid/media/tv/ITvInputManager;->getTvInputState(Ljava/lang/String;I)I
-Landroid/media/tv/ITvInputManager;->isParentalControlsEnabled(I)Z
-Landroid/media/tv/ITvInputManager;->isRatingBlocked(Ljava/lang/String;I)Z
-Landroid/media/tv/ITvInputManager;->isSingleSessionActive(I)Z
-Landroid/media/tv/ITvInputManager;->openDvbDevice(Landroid/media/tv/DvbDeviceInfo;I)Landroid/os/ParcelFileDescriptor;
-Landroid/media/tv/ITvInputManager;->registerCallback(Landroid/media/tv/ITvInputManagerCallback;I)V
-Landroid/media/tv/ITvInputManager;->relayoutOverlayView(Landroid/os/IBinder;Landroid/graphics/Rect;I)V
-Landroid/media/tv/ITvInputManager;->releaseSession(Landroid/os/IBinder;I)V
-Landroid/media/tv/ITvInputManager;->releaseTvInputHardware(ILandroid/media/tv/ITvInputHardware;I)V
-Landroid/media/tv/ITvInputManager;->removeBlockedRating(Ljava/lang/String;I)V
-Landroid/media/tv/ITvInputManager;->removeOverlayView(Landroid/os/IBinder;I)V
-Landroid/media/tv/ITvInputManager;->requestChannelBrowsable(Landroid/net/Uri;I)V
-Landroid/media/tv/ITvInputManager;->selectTrack(Landroid/os/IBinder;ILjava/lang/String;I)V
-Landroid/media/tv/ITvInputManager;->sendAppPrivateCommand(Landroid/os/IBinder;Ljava/lang/String;Landroid/os/Bundle;I)V
-Landroid/media/tv/ITvInputManager;->sendTvInputNotifyIntent(Landroid/content/Intent;I)V
-Landroid/media/tv/ITvInputManager;->setCaptionEnabled(Landroid/os/IBinder;ZI)V
-Landroid/media/tv/ITvInputManager;->setMainSession(Landroid/os/IBinder;I)V
-Landroid/media/tv/ITvInputManager;->setParentalControlsEnabled(ZI)V
-Landroid/media/tv/ITvInputManager;->setSurface(Landroid/os/IBinder;Landroid/view/Surface;I)V
-Landroid/media/tv/ITvInputManager;->setVolume(Landroid/os/IBinder;FI)V
-Landroid/media/tv/ITvInputManager;->startRecording(Landroid/os/IBinder;Landroid/net/Uri;I)V
-Landroid/media/tv/ITvInputManager;->stopRecording(Landroid/os/IBinder;I)V
-Landroid/media/tv/ITvInputManager;->timeShiftEnablePositionTracking(Landroid/os/IBinder;ZI)V
-Landroid/media/tv/ITvInputManager;->timeShiftPause(Landroid/os/IBinder;I)V
-Landroid/media/tv/ITvInputManager;->timeShiftPlay(Landroid/os/IBinder;Landroid/net/Uri;I)V
-Landroid/media/tv/ITvInputManager;->timeShiftResume(Landroid/os/IBinder;I)V
-Landroid/media/tv/ITvInputManager;->timeShiftSeekTo(Landroid/os/IBinder;JI)V
-Landroid/media/tv/ITvInputManager;->timeShiftSetPlaybackParams(Landroid/os/IBinder;Landroid/media/PlaybackParams;I)V
-Landroid/media/tv/ITvInputManager;->tune(Landroid/os/IBinder;Landroid/net/Uri;Landroid/os/Bundle;I)V
-Landroid/media/tv/ITvInputManager;->unblockContent(Landroid/os/IBinder;Ljava/lang/String;I)V
-Landroid/media/tv/ITvInputManager;->unregisterCallback(Landroid/media/tv/ITvInputManagerCallback;I)V
-Landroid/media/tv/ITvInputManager;->updateTvInputInfo(Landroid/media/tv/TvInputInfo;I)V
-Landroid/media/tv/ITvInputManagerCallback$Stub$Proxy;
-Landroid/media/tv/ITvInputManagerCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/tv/ITvInputManagerCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/tv/ITvInputManagerCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/tv/ITvInputManagerCallback$Stub$Proxy;->onInputAdded(Ljava/lang/String;)V
-Landroid/media/tv/ITvInputManagerCallback$Stub$Proxy;->onInputRemoved(Ljava/lang/String;)V
-Landroid/media/tv/ITvInputManagerCallback$Stub$Proxy;->onInputStateChanged(Ljava/lang/String;I)V
-Landroid/media/tv/ITvInputManagerCallback$Stub$Proxy;->onInputUpdated(Ljava/lang/String;)V
-Landroid/media/tv/ITvInputManagerCallback$Stub$Proxy;->onTvInputInfoUpdated(Landroid/media/tv/TvInputInfo;)V
-Landroid/media/tv/ITvInputManagerCallback$Stub;
-Landroid/media/tv/ITvInputManagerCallback$Stub;-><init>()V
-Landroid/media/tv/ITvInputManagerCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/tv/ITvInputManagerCallback;
-Landroid/media/tv/ITvInputManagerCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/tv/ITvInputManagerCallback$Stub;->TRANSACTION_onInputAdded:I
-Landroid/media/tv/ITvInputManagerCallback$Stub;->TRANSACTION_onInputRemoved:I
-Landroid/media/tv/ITvInputManagerCallback$Stub;->TRANSACTION_onInputStateChanged:I
-Landroid/media/tv/ITvInputManagerCallback$Stub;->TRANSACTION_onInputUpdated:I
-Landroid/media/tv/ITvInputManagerCallback$Stub;->TRANSACTION_onTvInputInfoUpdated:I
-Landroid/media/tv/ITvInputManagerCallback;
-Landroid/media/tv/ITvInputManagerCallback;->onInputAdded(Ljava/lang/String;)V
-Landroid/media/tv/ITvInputManagerCallback;->onInputRemoved(Ljava/lang/String;)V
-Landroid/media/tv/ITvInputManagerCallback;->onInputStateChanged(Ljava/lang/String;I)V
-Landroid/media/tv/ITvInputManagerCallback;->onInputUpdated(Ljava/lang/String;)V
-Landroid/media/tv/ITvInputManagerCallback;->onTvInputInfoUpdated(Landroid/media/tv/TvInputInfo;)V
-Landroid/media/tv/ITvInputService$Stub$Proxy;
-Landroid/media/tv/ITvInputService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/tv/ITvInputService$Stub$Proxy;->createRecordingSession(Landroid/media/tv/ITvInputSessionCallback;Ljava/lang/String;)V
-Landroid/media/tv/ITvInputService$Stub$Proxy;->createSession(Landroid/view/InputChannel;Landroid/media/tv/ITvInputSessionCallback;Ljava/lang/String;)V
-Landroid/media/tv/ITvInputService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/tv/ITvInputService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/tv/ITvInputService$Stub$Proxy;->notifyHardwareAdded(Landroid/media/tv/TvInputHardwareInfo;)V
-Landroid/media/tv/ITvInputService$Stub$Proxy;->notifyHardwareRemoved(Landroid/media/tv/TvInputHardwareInfo;)V
-Landroid/media/tv/ITvInputService$Stub$Proxy;->notifyHdmiDeviceAdded(Landroid/hardware/hdmi/HdmiDeviceInfo;)V
-Landroid/media/tv/ITvInputService$Stub$Proxy;->notifyHdmiDeviceRemoved(Landroid/hardware/hdmi/HdmiDeviceInfo;)V
-Landroid/media/tv/ITvInputService$Stub$Proxy;->registerCallback(Landroid/media/tv/ITvInputServiceCallback;)V
-Landroid/media/tv/ITvInputService$Stub$Proxy;->unregisterCallback(Landroid/media/tv/ITvInputServiceCallback;)V
-Landroid/media/tv/ITvInputService$Stub;
-Landroid/media/tv/ITvInputService$Stub;-><init>()V
-Landroid/media/tv/ITvInputService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/tv/ITvInputService;
-Landroid/media/tv/ITvInputService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/tv/ITvInputService$Stub;->TRANSACTION_createRecordingSession:I
-Landroid/media/tv/ITvInputService$Stub;->TRANSACTION_createSession:I
-Landroid/media/tv/ITvInputService$Stub;->TRANSACTION_notifyHardwareAdded:I
-Landroid/media/tv/ITvInputService$Stub;->TRANSACTION_notifyHardwareRemoved:I
-Landroid/media/tv/ITvInputService$Stub;->TRANSACTION_notifyHdmiDeviceAdded:I
-Landroid/media/tv/ITvInputService$Stub;->TRANSACTION_notifyHdmiDeviceRemoved:I
-Landroid/media/tv/ITvInputService$Stub;->TRANSACTION_registerCallback:I
-Landroid/media/tv/ITvInputService$Stub;->TRANSACTION_unregisterCallback:I
-Landroid/media/tv/ITvInputService;
-Landroid/media/tv/ITvInputService;->createRecordingSession(Landroid/media/tv/ITvInputSessionCallback;Ljava/lang/String;)V
-Landroid/media/tv/ITvInputService;->createSession(Landroid/view/InputChannel;Landroid/media/tv/ITvInputSessionCallback;Ljava/lang/String;)V
-Landroid/media/tv/ITvInputService;->notifyHardwareAdded(Landroid/media/tv/TvInputHardwareInfo;)V
-Landroid/media/tv/ITvInputService;->notifyHardwareRemoved(Landroid/media/tv/TvInputHardwareInfo;)V
-Landroid/media/tv/ITvInputService;->notifyHdmiDeviceAdded(Landroid/hardware/hdmi/HdmiDeviceInfo;)V
-Landroid/media/tv/ITvInputService;->notifyHdmiDeviceRemoved(Landroid/hardware/hdmi/HdmiDeviceInfo;)V
-Landroid/media/tv/ITvInputService;->registerCallback(Landroid/media/tv/ITvInputServiceCallback;)V
-Landroid/media/tv/ITvInputService;->unregisterCallback(Landroid/media/tv/ITvInputServiceCallback;)V
-Landroid/media/tv/ITvInputServiceCallback$Stub$Proxy;
-Landroid/media/tv/ITvInputServiceCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/tv/ITvInputServiceCallback$Stub$Proxy;->addHardwareInput(ILandroid/media/tv/TvInputInfo;)V
-Landroid/media/tv/ITvInputServiceCallback$Stub$Proxy;->addHdmiInput(ILandroid/media/tv/TvInputInfo;)V
-Landroid/media/tv/ITvInputServiceCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/tv/ITvInputServiceCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/tv/ITvInputServiceCallback$Stub$Proxy;->removeHardwareInput(Ljava/lang/String;)V
-Landroid/media/tv/ITvInputServiceCallback$Stub;
-Landroid/media/tv/ITvInputServiceCallback$Stub;-><init>()V
-Landroid/media/tv/ITvInputServiceCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/tv/ITvInputServiceCallback;
-Landroid/media/tv/ITvInputServiceCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/tv/ITvInputServiceCallback$Stub;->TRANSACTION_addHardwareInput:I
-Landroid/media/tv/ITvInputServiceCallback$Stub;->TRANSACTION_addHdmiInput:I
-Landroid/media/tv/ITvInputServiceCallback$Stub;->TRANSACTION_removeHardwareInput:I
-Landroid/media/tv/ITvInputServiceCallback;
-Landroid/media/tv/ITvInputServiceCallback;->addHardwareInput(ILandroid/media/tv/TvInputInfo;)V
-Landroid/media/tv/ITvInputServiceCallback;->addHdmiInput(ILandroid/media/tv/TvInputInfo;)V
-Landroid/media/tv/ITvInputServiceCallback;->removeHardwareInput(Ljava/lang/String;)V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;
-Landroid/media/tv/ITvInputSession$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->appPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->createOverlayView(Landroid/os/IBinder;Landroid/graphics/Rect;)V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->dispatchSurfaceChanged(III)V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->relayoutOverlayView(Landroid/graphics/Rect;)V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->release()V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->removeOverlayView()V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->selectTrack(ILjava/lang/String;)V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->setCaptionEnabled(Z)V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->setMain(Z)V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->setSurface(Landroid/view/Surface;)V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->setVolume(F)V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->startRecording(Landroid/net/Uri;)V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->stopRecording()V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->timeShiftEnablePositionTracking(Z)V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->timeShiftPause()V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->timeShiftPlay(Landroid/net/Uri;)V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->timeShiftResume()V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->timeShiftSeekTo(J)V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->timeShiftSetPlaybackParams(Landroid/media/PlaybackParams;)V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->tune(Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/tv/ITvInputSession$Stub$Proxy;->unblockContent(Ljava/lang/String;)V
-Landroid/media/tv/ITvInputSession$Stub;
-Landroid/media/tv/ITvInputSession$Stub;-><init>()V
-Landroid/media/tv/ITvInputSession$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/tv/ITvInputSession;
-Landroid/media/tv/ITvInputSession$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_appPrivateCommand:I
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_createOverlayView:I
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_dispatchSurfaceChanged:I
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_relayoutOverlayView:I
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_release:I
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_removeOverlayView:I
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_selectTrack:I
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_setCaptionEnabled:I
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_setMain:I
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_setSurface:I
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_setVolume:I
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_startRecording:I
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_stopRecording:I
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_timeShiftEnablePositionTracking:I
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_timeShiftPause:I
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_timeShiftPlay:I
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_timeShiftResume:I
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_timeShiftSeekTo:I
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_timeShiftSetPlaybackParams:I
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_tune:I
-Landroid/media/tv/ITvInputSession$Stub;->TRANSACTION_unblockContent:I
-Landroid/media/tv/ITvInputSession;
-Landroid/media/tv/ITvInputSession;->appPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/tv/ITvInputSession;->createOverlayView(Landroid/os/IBinder;Landroid/graphics/Rect;)V
-Landroid/media/tv/ITvInputSession;->dispatchSurfaceChanged(III)V
-Landroid/media/tv/ITvInputSession;->relayoutOverlayView(Landroid/graphics/Rect;)V
-Landroid/media/tv/ITvInputSession;->release()V
-Landroid/media/tv/ITvInputSession;->removeOverlayView()V
-Landroid/media/tv/ITvInputSession;->selectTrack(ILjava/lang/String;)V
-Landroid/media/tv/ITvInputSession;->setCaptionEnabled(Z)V
-Landroid/media/tv/ITvInputSession;->setMain(Z)V
-Landroid/media/tv/ITvInputSession;->setSurface(Landroid/view/Surface;)V
-Landroid/media/tv/ITvInputSession;->setVolume(F)V
-Landroid/media/tv/ITvInputSession;->startRecording(Landroid/net/Uri;)V
-Landroid/media/tv/ITvInputSession;->stopRecording()V
-Landroid/media/tv/ITvInputSession;->timeShiftEnablePositionTracking(Z)V
-Landroid/media/tv/ITvInputSession;->timeShiftPause()V
-Landroid/media/tv/ITvInputSession;->timeShiftPlay(Landroid/net/Uri;)V
-Landroid/media/tv/ITvInputSession;->timeShiftResume()V
-Landroid/media/tv/ITvInputSession;->timeShiftSeekTo(J)V
-Landroid/media/tv/ITvInputSession;->timeShiftSetPlaybackParams(Landroid/media/PlaybackParams;)V
-Landroid/media/tv/ITvInputSession;->tune(Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/tv/ITvInputSession;->unblockContent(Ljava/lang/String;)V
-Landroid/media/tv/ITvInputSessionCallback$Stub$Proxy;
-Landroid/media/tv/ITvInputSessionCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/tv/ITvInputSessionCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/tv/ITvInputSessionCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/tv/ITvInputSessionCallback$Stub$Proxy;->onChannelRetuned(Landroid/net/Uri;)V
-Landroid/media/tv/ITvInputSessionCallback$Stub$Proxy;->onContentAllowed()V
-Landroid/media/tv/ITvInputSessionCallback$Stub$Proxy;->onContentBlocked(Ljava/lang/String;)V
-Landroid/media/tv/ITvInputSessionCallback$Stub$Proxy;->onError(I)V
-Landroid/media/tv/ITvInputSessionCallback$Stub$Proxy;->onLayoutSurface(IIII)V
-Landroid/media/tv/ITvInputSessionCallback$Stub$Proxy;->onRecordingStopped(Landroid/net/Uri;)V
-Landroid/media/tv/ITvInputSessionCallback$Stub$Proxy;->onSessionCreated(Landroid/media/tv/ITvInputSession;Landroid/os/IBinder;)V
-Landroid/media/tv/ITvInputSessionCallback$Stub$Proxy;->onSessionEvent(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/tv/ITvInputSessionCallback$Stub$Proxy;->onTimeShiftCurrentPositionChanged(J)V
-Landroid/media/tv/ITvInputSessionCallback$Stub$Proxy;->onTimeShiftStartPositionChanged(J)V
-Landroid/media/tv/ITvInputSessionCallback$Stub$Proxy;->onTimeShiftStatusChanged(I)V
-Landroid/media/tv/ITvInputSessionCallback$Stub$Proxy;->onTracksChanged(Ljava/util/List;)V
-Landroid/media/tv/ITvInputSessionCallback$Stub$Proxy;->onTrackSelected(ILjava/lang/String;)V
-Landroid/media/tv/ITvInputSessionCallback$Stub$Proxy;->onTuned(Landroid/net/Uri;)V
-Landroid/media/tv/ITvInputSessionCallback$Stub$Proxy;->onVideoAvailable()V
-Landroid/media/tv/ITvInputSessionCallback$Stub$Proxy;->onVideoUnavailable(I)V
-Landroid/media/tv/ITvInputSessionCallback$Stub;
-Landroid/media/tv/ITvInputSessionCallback$Stub;-><init>()V
-Landroid/media/tv/ITvInputSessionCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/tv/ITvInputSessionCallback;
-Landroid/media/tv/ITvInputSessionCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/tv/ITvInputSessionCallback$Stub;->TRANSACTION_onChannelRetuned:I
-Landroid/media/tv/ITvInputSessionCallback$Stub;->TRANSACTION_onContentAllowed:I
-Landroid/media/tv/ITvInputSessionCallback$Stub;->TRANSACTION_onContentBlocked:I
-Landroid/media/tv/ITvInputSessionCallback$Stub;->TRANSACTION_onError:I
-Landroid/media/tv/ITvInputSessionCallback$Stub;->TRANSACTION_onLayoutSurface:I
-Landroid/media/tv/ITvInputSessionCallback$Stub;->TRANSACTION_onRecordingStopped:I
-Landroid/media/tv/ITvInputSessionCallback$Stub;->TRANSACTION_onSessionCreated:I
-Landroid/media/tv/ITvInputSessionCallback$Stub;->TRANSACTION_onSessionEvent:I
-Landroid/media/tv/ITvInputSessionCallback$Stub;->TRANSACTION_onTimeShiftCurrentPositionChanged:I
-Landroid/media/tv/ITvInputSessionCallback$Stub;->TRANSACTION_onTimeShiftStartPositionChanged:I
-Landroid/media/tv/ITvInputSessionCallback$Stub;->TRANSACTION_onTimeShiftStatusChanged:I
-Landroid/media/tv/ITvInputSessionCallback$Stub;->TRANSACTION_onTracksChanged:I
-Landroid/media/tv/ITvInputSessionCallback$Stub;->TRANSACTION_onTrackSelected:I
-Landroid/media/tv/ITvInputSessionCallback$Stub;->TRANSACTION_onTuned:I
-Landroid/media/tv/ITvInputSessionCallback$Stub;->TRANSACTION_onVideoAvailable:I
-Landroid/media/tv/ITvInputSessionCallback$Stub;->TRANSACTION_onVideoUnavailable:I
-Landroid/media/tv/ITvInputSessionCallback;
-Landroid/media/tv/ITvInputSessionCallback;->onChannelRetuned(Landroid/net/Uri;)V
-Landroid/media/tv/ITvInputSessionCallback;->onContentAllowed()V
-Landroid/media/tv/ITvInputSessionCallback;->onContentBlocked(Ljava/lang/String;)V
-Landroid/media/tv/ITvInputSessionCallback;->onError(I)V
-Landroid/media/tv/ITvInputSessionCallback;->onLayoutSurface(IIII)V
-Landroid/media/tv/ITvInputSessionCallback;->onRecordingStopped(Landroid/net/Uri;)V
-Landroid/media/tv/ITvInputSessionCallback;->onSessionCreated(Landroid/media/tv/ITvInputSession;Landroid/os/IBinder;)V
-Landroid/media/tv/ITvInputSessionCallback;->onSessionEvent(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/tv/ITvInputSessionCallback;->onTimeShiftCurrentPositionChanged(J)V
-Landroid/media/tv/ITvInputSessionCallback;->onTimeShiftStartPositionChanged(J)V
-Landroid/media/tv/ITvInputSessionCallback;->onTimeShiftStatusChanged(I)V
-Landroid/media/tv/ITvInputSessionCallback;->onTracksChanged(Ljava/util/List;)V
-Landroid/media/tv/ITvInputSessionCallback;->onTrackSelected(ILjava/lang/String;)V
-Landroid/media/tv/ITvInputSessionCallback;->onTuned(Landroid/net/Uri;)V
-Landroid/media/tv/ITvInputSessionCallback;->onVideoAvailable()V
-Landroid/media/tv/ITvInputSessionCallback;->onVideoUnavailable(I)V
-Landroid/media/tv/ITvInputSessionWrapper$TvInputEventReceiver;
-Landroid/media/tv/ITvInputSessionWrapper$TvInputEventReceiver;-><init>(Landroid/view/InputChannel;Landroid/os/Looper;)V
-Landroid/media/tv/ITvInputSessionWrapper$TvInputEventReceiver;->onInputEvent(Landroid/view/InputEvent;I)V
-Landroid/media/tv/ITvInputSessionWrapper;
-Landroid/media/tv/ITvInputSessionWrapper;-><init>(Landroid/content/Context;Landroid/media/tv/TvInputService$RecordingSession;)V
-Landroid/media/tv/ITvInputSessionWrapper;-><init>(Landroid/content/Context;Landroid/media/tv/TvInputService$Session;Landroid/view/InputChannel;)V
-Landroid/media/tv/ITvInputSessionWrapper;->appPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/tv/ITvInputSessionWrapper;->createOverlayView(Landroid/os/IBinder;Landroid/graphics/Rect;)V
-Landroid/media/tv/ITvInputSessionWrapper;->dispatchSurfaceChanged(III)V
-Landroid/media/tv/ITvInputSessionWrapper;->DO_APP_PRIVATE_COMMAND:I
-Landroid/media/tv/ITvInputSessionWrapper;->DO_CREATE_OVERLAY_VIEW:I
-Landroid/media/tv/ITvInputSessionWrapper;->DO_DISPATCH_SURFACE_CHANGED:I
-Landroid/media/tv/ITvInputSessionWrapper;->DO_RELAYOUT_OVERLAY_VIEW:I
-Landroid/media/tv/ITvInputSessionWrapper;->DO_RELEASE:I
-Landroid/media/tv/ITvInputSessionWrapper;->DO_REMOVE_OVERLAY_VIEW:I
-Landroid/media/tv/ITvInputSessionWrapper;->DO_SELECT_TRACK:I
-Landroid/media/tv/ITvInputSessionWrapper;->DO_SET_CAPTION_ENABLED:I
-Landroid/media/tv/ITvInputSessionWrapper;->DO_SET_MAIN:I
-Landroid/media/tv/ITvInputSessionWrapper;->DO_SET_STREAM_VOLUME:I
-Landroid/media/tv/ITvInputSessionWrapper;->DO_SET_SURFACE:I
-Landroid/media/tv/ITvInputSessionWrapper;->DO_START_RECORDING:I
-Landroid/media/tv/ITvInputSessionWrapper;->DO_STOP_RECORDING:I
-Landroid/media/tv/ITvInputSessionWrapper;->DO_TIME_SHIFT_ENABLE_POSITION_TRACKING:I
-Landroid/media/tv/ITvInputSessionWrapper;->DO_TIME_SHIFT_PAUSE:I
-Landroid/media/tv/ITvInputSessionWrapper;->DO_TIME_SHIFT_PLAY:I
-Landroid/media/tv/ITvInputSessionWrapper;->DO_TIME_SHIFT_RESUME:I
-Landroid/media/tv/ITvInputSessionWrapper;->DO_TIME_SHIFT_SEEK_TO:I
-Landroid/media/tv/ITvInputSessionWrapper;->DO_TIME_SHIFT_SET_PLAYBACK_PARAMS:I
-Landroid/media/tv/ITvInputSessionWrapper;->DO_TUNE:I
-Landroid/media/tv/ITvInputSessionWrapper;->DO_UNBLOCK_CONTENT:I
-Landroid/media/tv/ITvInputSessionWrapper;->executeMessage(Landroid/os/Message;)V
-Landroid/media/tv/ITvInputSessionWrapper;->EXECUTE_MESSAGE_TIMEOUT_LONG_MILLIS:I
-Landroid/media/tv/ITvInputSessionWrapper;->EXECUTE_MESSAGE_TIMEOUT_SHORT_MILLIS:I
-Landroid/media/tv/ITvInputSessionWrapper;->EXECUTE_MESSAGE_TUNE_TIMEOUT_MILLIS:I
-Landroid/media/tv/ITvInputSessionWrapper;->mCaller:Lcom/android/internal/os/HandlerCaller;
-Landroid/media/tv/ITvInputSessionWrapper;->mChannel:Landroid/view/InputChannel;
-Landroid/media/tv/ITvInputSessionWrapper;->mIsRecordingSession:Z
-Landroid/media/tv/ITvInputSessionWrapper;->mReceiver:Landroid/media/tv/ITvInputSessionWrapper$TvInputEventReceiver;
-Landroid/media/tv/ITvInputSessionWrapper;->mTvInputRecordingSessionImpl:Landroid/media/tv/TvInputService$RecordingSession;
-Landroid/media/tv/ITvInputSessionWrapper;->mTvInputSessionImpl:Landroid/media/tv/TvInputService$Session;
-Landroid/media/tv/ITvInputSessionWrapper;->relayoutOverlayView(Landroid/graphics/Rect;)V
-Landroid/media/tv/ITvInputSessionWrapper;->release()V
-Landroid/media/tv/ITvInputSessionWrapper;->removeOverlayView()V
-Landroid/media/tv/ITvInputSessionWrapper;->selectTrack(ILjava/lang/String;)V
-Landroid/media/tv/ITvInputSessionWrapper;->setCaptionEnabled(Z)V
-Landroid/media/tv/ITvInputSessionWrapper;->setMain(Z)V
-Landroid/media/tv/ITvInputSessionWrapper;->setSurface(Landroid/view/Surface;)V
-Landroid/media/tv/ITvInputSessionWrapper;->setVolume(F)V
-Landroid/media/tv/ITvInputSessionWrapper;->startRecording(Landroid/net/Uri;)V
-Landroid/media/tv/ITvInputSessionWrapper;->stopRecording()V
-Landroid/media/tv/ITvInputSessionWrapper;->TAG:Ljava/lang/String;
-Landroid/media/tv/ITvInputSessionWrapper;->timeShiftEnablePositionTracking(Z)V
-Landroid/media/tv/ITvInputSessionWrapper;->timeShiftPause()V
-Landroid/media/tv/ITvInputSessionWrapper;->timeShiftPlay(Landroid/net/Uri;)V
-Landroid/media/tv/ITvInputSessionWrapper;->timeShiftResume()V
-Landroid/media/tv/ITvInputSessionWrapper;->timeShiftSeekTo(J)V
-Landroid/media/tv/ITvInputSessionWrapper;->timeShiftSetPlaybackParams(Landroid/media/PlaybackParams;)V
-Landroid/media/tv/ITvInputSessionWrapper;->tune(Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/tv/ITvInputSessionWrapper;->unblockContent(Ljava/lang/String;)V
-Landroid/media/tv/ITvRemoteProvider$Stub$Proxy;
-Landroid/media/tv/ITvRemoteProvider$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/tv/ITvRemoteProvider$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/tv/ITvRemoteProvider$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/tv/ITvRemoteProvider$Stub$Proxy;->onInputBridgeConnected(Landroid/os/IBinder;)V
-Landroid/media/tv/ITvRemoteProvider$Stub$Proxy;->setRemoteServiceInputSink(Landroid/media/tv/ITvRemoteServiceInput;)V
-Landroid/media/tv/ITvRemoteProvider$Stub;
-Landroid/media/tv/ITvRemoteProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/tv/ITvRemoteProvider;
-Landroid/media/tv/ITvRemoteProvider$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/tv/ITvRemoteProvider$Stub;->TRANSACTION_onInputBridgeConnected:I
-Landroid/media/tv/ITvRemoteProvider$Stub;->TRANSACTION_setRemoteServiceInputSink:I
-Landroid/media/tv/ITvRemoteProvider;
-Landroid/media/tv/ITvRemoteProvider;->onInputBridgeConnected(Landroid/os/IBinder;)V
-Landroid/media/tv/ITvRemoteProvider;->setRemoteServiceInputSink(Landroid/media/tv/ITvRemoteServiceInput;)V
-Landroid/media/tv/ITvRemoteServiceInput$Stub$Proxy;
-Landroid/media/tv/ITvRemoteServiceInput$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/media/tv/ITvRemoteServiceInput$Stub$Proxy;->clearInputBridge(Landroid/os/IBinder;)V
-Landroid/media/tv/ITvRemoteServiceInput$Stub$Proxy;->closeInputBridge(Landroid/os/IBinder;)V
-Landroid/media/tv/ITvRemoteServiceInput$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/media/tv/ITvRemoteServiceInput$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/media/tv/ITvRemoteServiceInput$Stub$Proxy;->openInputBridge(Landroid/os/IBinder;Ljava/lang/String;III)V
-Landroid/media/tv/ITvRemoteServiceInput$Stub$Proxy;->sendKeyDown(Landroid/os/IBinder;I)V
-Landroid/media/tv/ITvRemoteServiceInput$Stub$Proxy;->sendKeyUp(Landroid/os/IBinder;I)V
-Landroid/media/tv/ITvRemoteServiceInput$Stub$Proxy;->sendPointerDown(Landroid/os/IBinder;III)V
-Landroid/media/tv/ITvRemoteServiceInput$Stub$Proxy;->sendPointerSync(Landroid/os/IBinder;)V
-Landroid/media/tv/ITvRemoteServiceInput$Stub$Proxy;->sendPointerUp(Landroid/os/IBinder;I)V
-Landroid/media/tv/ITvRemoteServiceInput$Stub$Proxy;->sendTimestamp(Landroid/os/IBinder;J)V
-Landroid/media/tv/ITvRemoteServiceInput$Stub;
-Landroid/media/tv/ITvRemoteServiceInput$Stub;-><init>()V
-Landroid/media/tv/ITvRemoteServiceInput$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/tv/ITvRemoteServiceInput;
-Landroid/media/tv/ITvRemoteServiceInput$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/media/tv/ITvRemoteServiceInput$Stub;->TRANSACTION_clearInputBridge:I
-Landroid/media/tv/ITvRemoteServiceInput$Stub;->TRANSACTION_closeInputBridge:I
-Landroid/media/tv/ITvRemoteServiceInput$Stub;->TRANSACTION_openInputBridge:I
-Landroid/media/tv/ITvRemoteServiceInput$Stub;->TRANSACTION_sendKeyDown:I
-Landroid/media/tv/ITvRemoteServiceInput$Stub;->TRANSACTION_sendKeyUp:I
-Landroid/media/tv/ITvRemoteServiceInput$Stub;->TRANSACTION_sendPointerDown:I
-Landroid/media/tv/ITvRemoteServiceInput$Stub;->TRANSACTION_sendPointerSync:I
-Landroid/media/tv/ITvRemoteServiceInput$Stub;->TRANSACTION_sendPointerUp:I
-Landroid/media/tv/ITvRemoteServiceInput$Stub;->TRANSACTION_sendTimestamp:I
-Landroid/media/tv/ITvRemoteServiceInput;
-Landroid/media/tv/TvContentRating;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/media/tv/TvContentRating;->DELIMITER:Ljava/lang/String;
-Landroid/media/tv/TvContentRating;->mDomain:Ljava/lang/String;
-Landroid/media/tv/TvContentRating;->mHashCode:I
-Landroid/media/tv/TvContentRating;->mRating:Ljava/lang/String;
-Landroid/media/tv/TvContentRating;->mRatingSystem:Ljava/lang/String;
-Landroid/media/tv/TvContentRating;->mSubRatings:[Ljava/lang/String;
-Landroid/media/tv/TvContentRatingSystemInfo;-><init>(Landroid/net/Uri;Landroid/content/pm/ApplicationInfo;)V
-Landroid/media/tv/TvContentRatingSystemInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/media/tv/TvContentRatingSystemInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/media/tv/TvContentRatingSystemInfo;->mApplicationInfo:Landroid/content/pm/ApplicationInfo;
-Landroid/media/tv/TvContentRatingSystemInfo;->mXmlUri:Landroid/net/Uri;
-Landroid/media/tv/TvContract$Channels$Logo;-><init>()V
-Landroid/media/tv/TvContract$Channels$ServiceType;
-Landroid/media/tv/TvContract$Channels$Type;
-Landroid/media/tv/TvContract$Channels$VideoFormat;
-Landroid/media/tv/TvContract$Channels$VideoResolution;
-Landroid/media/tv/TvContract$Channels;-><init>()V
-Landroid/media/tv/TvContract$Channels;->VIDEO_FORMAT_TO_RESOLUTION_MAP:Ljava/util/Map;
-Landroid/media/tv/TvContract$PreviewProgramColumns$AspectRatio;
-Landroid/media/tv/TvContract$PreviewProgramColumns$Availability;
-Landroid/media/tv/TvContract$PreviewProgramColumns$InteractionType;
-Landroid/media/tv/TvContract$PreviewProgramColumns$Type;
-Landroid/media/tv/TvContract$PreviewProgramColumns;
-Landroid/media/tv/TvContract$PreviewPrograms;-><init>()V
-Landroid/media/tv/TvContract$ProgramColumns$ReviewRatingStyle;
-Landroid/media/tv/TvContract$ProgramColumns;
-Landroid/media/tv/TvContract$Programs$Genres$Genre;
-Landroid/media/tv/TvContract$Programs$Genres;-><init>()V
-Landroid/media/tv/TvContract$Programs$Genres;->CANONICAL_GENRES:Landroid/util/ArraySet;
-Landroid/media/tv/TvContract$Programs$Genres;->COMMA:C
-Landroid/media/tv/TvContract$Programs$Genres;->DELIMITER:Ljava/lang/String;
-Landroid/media/tv/TvContract$Programs$Genres;->DOUBLE_QUOTE:C
-Landroid/media/tv/TvContract$Programs$Genres;->EMPTY_STRING_ARRAY:[Ljava/lang/String;
-Landroid/media/tv/TvContract$Programs$Genres;->encodeToCsv(Ljava/lang/String;)Ljava/lang/String;
-Landroid/media/tv/TvContract$Programs;-><init>()V
-Landroid/media/tv/TvContract$RecordedPrograms;-><init>()V
-Landroid/media/tv/TvContract$WatchedPrograms;-><init>()V
-Landroid/media/tv/TvContract$WatchNextPrograms$WatchNextType;
-Landroid/media/tv/TvContract$WatchNextPrograms;-><init>()V
-Landroid/media/tv/TvContract;-><init>()V
-Landroid/media/tv/TvContract;->buildWatchedProgramUri(J)Landroid/net/Uri;
-Landroid/media/tv/TvContract;->isTvUri(Landroid/net/Uri;)Z
-Landroid/media/tv/TvContract;->isTwoSegmentUriStartingWith(Landroid/net/Uri;Ljava/lang/String;)Z
-Landroid/media/tv/TvContract;->PARAM_BROWSABLE_ONLY:Ljava/lang/String;
-Landroid/media/tv/TvContract;->PARAM_CANONICAL_GENRE:Ljava/lang/String;
-Landroid/media/tv/TvContract;->PARAM_CHANNEL:Ljava/lang/String;
-Landroid/media/tv/TvContract;->PARAM_END_TIME:Ljava/lang/String;
-Landroid/media/tv/TvContract;->PARAM_INPUT:Ljava/lang/String;
-Landroid/media/tv/TvContract;->PARAM_PACKAGE:Ljava/lang/String;
-Landroid/media/tv/TvContract;->PARAM_PREVIEW:Ljava/lang/String;
-Landroid/media/tv/TvContract;->PARAM_START_TIME:Ljava/lang/String;
-Landroid/media/tv/TvContract;->PATH_CHANNEL:Ljava/lang/String;
-Landroid/media/tv/TvContract;->PATH_PASSTHROUGH:Ljava/lang/String;
-Landroid/media/tv/TvContract;->PATH_PREVIEW_PROGRAM:Ljava/lang/String;
-Landroid/media/tv/TvContract;->PATH_PROGRAM:Ljava/lang/String;
-Landroid/media/tv/TvContract;->PATH_RECORDED_PROGRAM:Ljava/lang/String;
-Landroid/media/tv/TvContract;->PATH_WATCH_NEXT_PROGRAM:Ljava/lang/String;
-Landroid/media/tv/TvContract;->PERMISSION_READ_TV_LISTINGS:Ljava/lang/String;
-Landroid/media/tv/TvInputHardwareInfo$Builder;->mAudioAddress:Ljava/lang/String;
-Landroid/media/tv/TvInputHardwareInfo$Builder;->mAudioType:I
-Landroid/media/tv/TvInputHardwareInfo$Builder;->mCableConnectionStatus:Ljava/lang/Integer;
-Landroid/media/tv/TvInputHardwareInfo$Builder;->mDeviceId:Ljava/lang/Integer;
-Landroid/media/tv/TvInputHardwareInfo$Builder;->mHdmiPortId:Ljava/lang/Integer;
-Landroid/media/tv/TvInputHardwareInfo$Builder;->mType:Ljava/lang/Integer;
-Landroid/media/tv/TvInputHardwareInfo$CableConnectionStatus;
-Landroid/media/tv/TvInputHardwareInfo;-><init>()V
-Landroid/media/tv/TvInputHardwareInfo;->mAudioAddress:Ljava/lang/String;
-Landroid/media/tv/TvInputHardwareInfo;->mAudioType:I
-Landroid/media/tv/TvInputHardwareInfo;->mCableConnectionStatus:I
-Landroid/media/tv/TvInputHardwareInfo;->mDeviceId:I
-Landroid/media/tv/TvInputHardwareInfo;->mHdmiPortId:I
-Landroid/media/tv/TvInputHardwareInfo;->mType:I
-Landroid/media/tv/TvInputHardwareInfo;->TAG:Ljava/lang/String;
-Landroid/media/tv/TvInputInfo$Builder;-><init>(Landroid/content/Context;Landroid/content/pm/ResolveInfo;)V
-Landroid/media/tv/TvInputInfo$Builder;->DELIMITER_INFO_IN_ID:Ljava/lang/String;
-Landroid/media/tv/TvInputInfo$Builder;->generateInputId(Landroid/content/ComponentName;)Ljava/lang/String;
-Landroid/media/tv/TvInputInfo$Builder;->generateInputId(Landroid/content/ComponentName;Landroid/hardware/hdmi/HdmiDeviceInfo;)Ljava/lang/String;
-Landroid/media/tv/TvInputInfo$Builder;->generateInputId(Landroid/content/ComponentName;Landroid/media/tv/TvInputHardwareInfo;)Ljava/lang/String;
-Landroid/media/tv/TvInputInfo$Builder;->LENGTH_HDMI_DEVICE_ID:I
-Landroid/media/tv/TvInputInfo$Builder;->LENGTH_HDMI_PHYSICAL_ADDRESS:I
-Landroid/media/tv/TvInputInfo$Builder;->mCanRecord:Ljava/lang/Boolean;
-Landroid/media/tv/TvInputInfo$Builder;->mContext:Landroid/content/Context;
-Landroid/media/tv/TvInputInfo$Builder;->mExtras:Landroid/os/Bundle;
-Landroid/media/tv/TvInputInfo$Builder;->mHdmiDeviceInfo:Landroid/hardware/hdmi/HdmiDeviceInfo;
-Landroid/media/tv/TvInputInfo$Builder;->mIcon:Landroid/graphics/drawable/Icon;
-Landroid/media/tv/TvInputInfo$Builder;->mIconDisconnected:Landroid/graphics/drawable/Icon;
-Landroid/media/tv/TvInputInfo$Builder;->mIconStandby:Landroid/graphics/drawable/Icon;
-Landroid/media/tv/TvInputInfo$Builder;->mLabel:Ljava/lang/CharSequence;
-Landroid/media/tv/TvInputInfo$Builder;->mLabelResId:I
-Landroid/media/tv/TvInputInfo$Builder;->mParentId:Ljava/lang/String;
-Landroid/media/tv/TvInputInfo$Builder;->mResolveInfo:Landroid/content/pm/ResolveInfo;
-Landroid/media/tv/TvInputInfo$Builder;->mSetupActivity:Ljava/lang/String;
-Landroid/media/tv/TvInputInfo$Builder;->mTunerCount:Ljava/lang/Integer;
-Landroid/media/tv/TvInputInfo$Builder;->mTvInputHardwareInfo:Landroid/media/tv/TvInputHardwareInfo;
-Landroid/media/tv/TvInputInfo$Builder;->parseServiceMetadata(I)V
-Landroid/media/tv/TvInputInfo$Builder;->PREFIX_HARDWARE_DEVICE:Ljava/lang/String;
-Landroid/media/tv/TvInputInfo$Builder;->PREFIX_HDMI_DEVICE:Ljava/lang/String;
-Landroid/media/tv/TvInputInfo$Builder;->sHardwareTypeToTvInputType:Landroid/util/SparseIntArray;
-Landroid/media/tv/TvInputInfo$Builder;->XML_START_TAG_NAME:Ljava/lang/String;
-Landroid/media/tv/TvInputInfo$TvInputSettings;-><init>()V
-Landroid/media/tv/TvInputInfo$TvInputSettings;->CUSTOM_NAME_SEPARATOR:Ljava/lang/String;
-Landroid/media/tv/TvInputInfo$TvInputSettings;->ensureValidField(Ljava/lang/String;)V
-Landroid/media/tv/TvInputInfo$TvInputSettings;->getCustomLabel(Landroid/content/Context;Ljava/lang/String;I)Ljava/lang/String;
-Landroid/media/tv/TvInputInfo$TvInputSettings;->isHidden(Landroid/content/Context;Ljava/lang/String;I)Z
-Landroid/media/tv/TvInputInfo$TvInputSettings;->TV_INPUT_SEPARATOR:Ljava/lang/String;
-Landroid/media/tv/TvInputInfo$Type;
-Landroid/media/tv/TvInputInfo;-><init>(Landroid/content/pm/ResolveInfo;Ljava/lang/String;IZLjava/lang/CharSequence;ILandroid/graphics/drawable/Icon;Landroid/graphics/drawable/Icon;Landroid/graphics/drawable/Icon;Ljava/lang/String;ZILandroid/hardware/hdmi/HdmiDeviceInfo;ZLjava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/tv/TvInputInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/media/tv/TvInputInfo;->DEBUG:Z
-Landroid/media/tv/TvInputInfo;->loadServiceIcon(Landroid/content/Context;)Landroid/graphics/drawable/Drawable;
-Landroid/media/tv/TvInputInfo;->mCanRecord:Z
-Landroid/media/tv/TvInputInfo;->mExtras:Landroid/os/Bundle;
-Landroid/media/tv/TvInputInfo;->mHdmiDeviceInfo:Landroid/hardware/hdmi/HdmiDeviceInfo;
-Landroid/media/tv/TvInputInfo;->mIcon:Landroid/graphics/drawable/Icon;
-Landroid/media/tv/TvInputInfo;->mIconDisconnected:Landroid/graphics/drawable/Icon;
-Landroid/media/tv/TvInputInfo;->mIconStandby:Landroid/graphics/drawable/Icon;
-Landroid/media/tv/TvInputInfo;->mIconUri:Landroid/net/Uri;
-Landroid/media/tv/TvInputInfo;->mId:Ljava/lang/String;
-Landroid/media/tv/TvInputInfo;->mIsConnectedToHdmiSwitch:Z
-Landroid/media/tv/TvInputInfo;->mIsHardwareInput:Z
-Landroid/media/tv/TvInputInfo;->mLabel:Ljava/lang/CharSequence;
-Landroid/media/tv/TvInputInfo;->mLabelResId:I
-Landroid/media/tv/TvInputInfo;->mParentId:Ljava/lang/String;
-Landroid/media/tv/TvInputInfo;->mService:Landroid/content/pm/ResolveInfo;
-Landroid/media/tv/TvInputInfo;->mSetupActivity:Ljava/lang/String;
-Landroid/media/tv/TvInputInfo;->mTunerCount:I
-Landroid/media/tv/TvInputInfo;->mType:I
-Landroid/media/tv/TvInputInfo;->TAG:Ljava/lang/String;
-Landroid/media/tv/TvInputManager$Hardware;-><init>(Landroid/media/tv/ITvInputHardware;)V
-Landroid/media/tv/TvInputManager$Hardware;->getInterface()Landroid/media/tv/ITvInputHardware;
-Landroid/media/tv/TvInputManager$Hardware;->mInterface:Landroid/media/tv/ITvInputHardware;
-Landroid/media/tv/TvInputManager$InputState;
-Landroid/media/tv/TvInputManager$RecordingError;
-Landroid/media/tv/TvInputManager$Session$FinishedInputEventCallback;
-Landroid/media/tv/TvInputManager$Session$FinishedInputEventCallback;->onFinishedInputEvent(Ljava/lang/Object;Z)V
-Landroid/media/tv/TvInputManager$Session$InputEventHandler;
-Landroid/media/tv/TvInputManager$Session$InputEventHandler;-><init>(Landroid/os/Looper;)V
-Landroid/media/tv/TvInputManager$Session$InputEventHandler;->MSG_FLUSH_INPUT_EVENT:I
-Landroid/media/tv/TvInputManager$Session$InputEventHandler;->MSG_SEND_INPUT_EVENT:I
-Landroid/media/tv/TvInputManager$Session$InputEventHandler;->MSG_TIMEOUT_INPUT_EVENT:I
-Landroid/media/tv/TvInputManager$Session$PendingEvent;
-Landroid/media/tv/TvInputManager$Session$PendingEvent;-><init>()V
-Landroid/media/tv/TvInputManager$Session$PendingEvent;->mCallback:Landroid/media/tv/TvInputManager$Session$FinishedInputEventCallback;
-Landroid/media/tv/TvInputManager$Session$PendingEvent;->mEvent:Landroid/view/InputEvent;
-Landroid/media/tv/TvInputManager$Session$PendingEvent;->mEventHandler:Landroid/os/Handler;
-Landroid/media/tv/TvInputManager$Session$PendingEvent;->mEventToken:Ljava/lang/Object;
-Landroid/media/tv/TvInputManager$Session$PendingEvent;->mHandled:Z
-Landroid/media/tv/TvInputManager$Session$PendingEvent;->recycle()V
-Landroid/media/tv/TvInputManager$Session$TvInputEventSender;
-Landroid/media/tv/TvInputManager$Session$TvInputEventSender;-><init>(Landroid/view/InputChannel;Landroid/os/Looper;)V
-Landroid/media/tv/TvInputManager$Session$TvInputEventSender;->onInputEventFinished(IZ)V
-Landroid/media/tv/TvInputManager$Session;
-Landroid/media/tv/TvInputManager$Session;-><init>(Landroid/os/IBinder;Landroid/view/InputChannel;Landroid/media/tv/ITvInputManager;IILandroid/util/SparseArray;)V
-Landroid/media/tv/TvInputManager$Session;->containsTrack(Ljava/util/List;Ljava/lang/String;)Z
-Landroid/media/tv/TvInputManager$Session;->createOverlayView(Landroid/view/View;Landroid/graphics/Rect;)V
-Landroid/media/tv/TvInputManager$Session;->dispatchInputEvent(Landroid/view/InputEvent;Ljava/lang/Object;Landroid/media/tv/TvInputManager$Session$FinishedInputEventCallback;Landroid/os/Handler;)I
-Landroid/media/tv/TvInputManager$Session;->dispatchSurfaceChanged(III)V
-Landroid/media/tv/TvInputManager$Session;->DISPATCH_HANDLED:I
-Landroid/media/tv/TvInputManager$Session;->DISPATCH_IN_PROGRESS:I
-Landroid/media/tv/TvInputManager$Session;->DISPATCH_NOT_HANDLED:I
-Landroid/media/tv/TvInputManager$Session;->finishedInputEvent(IZZ)V
-Landroid/media/tv/TvInputManager$Session;->flushPendingEventsLocked()V
-Landroid/media/tv/TvInputManager$Session;->getSelectedTrack(I)Ljava/lang/String;
-Landroid/media/tv/TvInputManager$Session;->getToken()Landroid/os/IBinder;
-Landroid/media/tv/TvInputManager$Session;->getTracks(I)Ljava/util/List;
-Landroid/media/tv/TvInputManager$Session;->getVideoTrackToNotify()Landroid/media/tv/TvTrackInfo;
-Landroid/media/tv/TvInputManager$Session;->INPUT_SESSION_NOT_RESPONDING_TIMEOUT:J
-Landroid/media/tv/TvInputManager$Session;->invokeFinishedInputEventCallback(Landroid/media/tv/TvInputManager$Session$PendingEvent;Z)V
-Landroid/media/tv/TvInputManager$Session;->mAudioTracks:Ljava/util/List;
-Landroid/media/tv/TvInputManager$Session;->mChannel:Landroid/view/InputChannel;
-Landroid/media/tv/TvInputManager$Session;->mHandler:Landroid/media/tv/TvInputManager$Session$InputEventHandler;
-Landroid/media/tv/TvInputManager$Session;->mMetadataLock:Ljava/lang/Object;
-Landroid/media/tv/TvInputManager$Session;->mPendingEventPool:Landroid/util/Pools$Pool;
-Landroid/media/tv/TvInputManager$Session;->mPendingEvents:Landroid/util/SparseArray;
-Landroid/media/tv/TvInputManager$Session;->mSelectedAudioTrackId:Ljava/lang/String;
-Landroid/media/tv/TvInputManager$Session;->mSelectedSubtitleTrackId:Ljava/lang/String;
-Landroid/media/tv/TvInputManager$Session;->mSelectedVideoTrackId:Ljava/lang/String;
-Landroid/media/tv/TvInputManager$Session;->mSender:Landroid/media/tv/TvInputManager$Session$TvInputEventSender;
-Landroid/media/tv/TvInputManager$Session;->mSeq:I
-Landroid/media/tv/TvInputManager$Session;->mService:Landroid/media/tv/ITvInputManager;
-Landroid/media/tv/TvInputManager$Session;->mSessionCallbackRecordMap:Landroid/util/SparseArray;
-Landroid/media/tv/TvInputManager$Session;->mSubtitleTracks:Ljava/util/List;
-Landroid/media/tv/TvInputManager$Session;->mToken:Landroid/os/IBinder;
-Landroid/media/tv/TvInputManager$Session;->mUserId:I
-Landroid/media/tv/TvInputManager$Session;->mVideoHeight:I
-Landroid/media/tv/TvInputManager$Session;->mVideoTracks:Ljava/util/List;
-Landroid/media/tv/TvInputManager$Session;->mVideoWidth:I
-Landroid/media/tv/TvInputManager$Session;->obtainPendingEventLocked(Landroid/view/InputEvent;Ljava/lang/Object;Landroid/media/tv/TvInputManager$Session$FinishedInputEventCallback;Landroid/os/Handler;)Landroid/media/tv/TvInputManager$Session$PendingEvent;
-Landroid/media/tv/TvInputManager$Session;->recyclePendingEventLocked(Landroid/media/tv/TvInputManager$Session$PendingEvent;)V
-Landroid/media/tv/TvInputManager$Session;->relayoutOverlayView(Landroid/graphics/Rect;)V
-Landroid/media/tv/TvInputManager$Session;->release()V
-Landroid/media/tv/TvInputManager$Session;->releaseInternal()V
-Landroid/media/tv/TvInputManager$Session;->removeOverlayView()V
-Landroid/media/tv/TvInputManager$Session;->selectTrack(ILjava/lang/String;)V
-Landroid/media/tv/TvInputManager$Session;->sendAppPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/tv/TvInputManager$Session;->sendInputEventAndReportResultOnMainLooper(Landroid/media/tv/TvInputManager$Session$PendingEvent;)V
-Landroid/media/tv/TvInputManager$Session;->sendInputEventOnMainLooperLocked(Landroid/media/tv/TvInputManager$Session$PendingEvent;)I
-Landroid/media/tv/TvInputManager$Session;->setCaptionEnabled(Z)V
-Landroid/media/tv/TvInputManager$Session;->setMain()V
-Landroid/media/tv/TvInputManager$Session;->setStreamVolume(F)V
-Landroid/media/tv/TvInputManager$Session;->setSurface(Landroid/view/Surface;)V
-Landroid/media/tv/TvInputManager$Session;->startRecording(Landroid/net/Uri;)V
-Landroid/media/tv/TvInputManager$Session;->stopRecording()V
-Landroid/media/tv/TvInputManager$Session;->timeShiftEnablePositionTracking(Z)V
-Landroid/media/tv/TvInputManager$Session;->timeShiftPause()V
-Landroid/media/tv/TvInputManager$Session;->timeShiftPlay(Landroid/net/Uri;)V
-Landroid/media/tv/TvInputManager$Session;->timeShiftResume()V
-Landroid/media/tv/TvInputManager$Session;->timeShiftSeekTo(J)V
-Landroid/media/tv/TvInputManager$Session;->timeShiftSetPlaybackParams(Landroid/media/PlaybackParams;)V
-Landroid/media/tv/TvInputManager$Session;->tune(Landroid/net/Uri;)V
-Landroid/media/tv/TvInputManager$Session;->tune(Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/tv/TvInputManager$Session;->unblockContent(Landroid/media/tv/TvContentRating;)V
-Landroid/media/tv/TvInputManager$Session;->updateTracks(Ljava/util/List;)Z
-Landroid/media/tv/TvInputManager$Session;->updateTrackSelection(ILjava/lang/String;)Z
-Landroid/media/tv/TvInputManager$SessionCallback;
-Landroid/media/tv/TvInputManager$SessionCallback;-><init>()V
-Landroid/media/tv/TvInputManager$SessionCallback;->onChannelRetuned(Landroid/media/tv/TvInputManager$Session;Landroid/net/Uri;)V
-Landroid/media/tv/TvInputManager$SessionCallback;->onContentAllowed(Landroid/media/tv/TvInputManager$Session;)V
-Landroid/media/tv/TvInputManager$SessionCallback;->onContentBlocked(Landroid/media/tv/TvInputManager$Session;Landroid/media/tv/TvContentRating;)V
-Landroid/media/tv/TvInputManager$SessionCallback;->onError(Landroid/media/tv/TvInputManager$Session;I)V
-Landroid/media/tv/TvInputManager$SessionCallback;->onLayoutSurface(Landroid/media/tv/TvInputManager$Session;IIII)V
-Landroid/media/tv/TvInputManager$SessionCallback;->onRecordingStopped(Landroid/media/tv/TvInputManager$Session;Landroid/net/Uri;)V
-Landroid/media/tv/TvInputManager$SessionCallback;->onSessionCreated(Landroid/media/tv/TvInputManager$Session;)V
-Landroid/media/tv/TvInputManager$SessionCallback;->onSessionEvent(Landroid/media/tv/TvInputManager$Session;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/tv/TvInputManager$SessionCallback;->onSessionReleased(Landroid/media/tv/TvInputManager$Session;)V
-Landroid/media/tv/TvInputManager$SessionCallback;->onTimeShiftCurrentPositionChanged(Landroid/media/tv/TvInputManager$Session;J)V
-Landroid/media/tv/TvInputManager$SessionCallback;->onTimeShiftStartPositionChanged(Landroid/media/tv/TvInputManager$Session;J)V
-Landroid/media/tv/TvInputManager$SessionCallback;->onTimeShiftStatusChanged(Landroid/media/tv/TvInputManager$Session;I)V
-Landroid/media/tv/TvInputManager$SessionCallback;->onTracksChanged(Landroid/media/tv/TvInputManager$Session;Ljava/util/List;)V
-Landroid/media/tv/TvInputManager$SessionCallback;->onTrackSelected(Landroid/media/tv/TvInputManager$Session;ILjava/lang/String;)V
-Landroid/media/tv/TvInputManager$SessionCallback;->onTuned(Landroid/media/tv/TvInputManager$Session;Landroid/net/Uri;)V
-Landroid/media/tv/TvInputManager$SessionCallback;->onVideoAvailable(Landroid/media/tv/TvInputManager$Session;)V
-Landroid/media/tv/TvInputManager$SessionCallback;->onVideoSizeChanged(Landroid/media/tv/TvInputManager$Session;II)V
-Landroid/media/tv/TvInputManager$SessionCallback;->onVideoUnavailable(Landroid/media/tv/TvInputManager$Session;I)V
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;-><init>(Landroid/media/tv/TvInputManager$SessionCallback;Landroid/os/Handler;)V
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->mHandler:Landroid/os/Handler;
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->mSession:Landroid/media/tv/TvInputManager$Session;
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->mSessionCallback:Landroid/media/tv/TvInputManager$SessionCallback;
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->postChannelRetuned(Landroid/net/Uri;)V
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->postContentAllowed()V
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->postContentBlocked(Landroid/media/tv/TvContentRating;)V
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->postError(I)V
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->postLayoutSurface(IIII)V
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->postRecordingStopped(Landroid/net/Uri;)V
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->postSessionCreated(Landroid/media/tv/TvInputManager$Session;)V
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->postSessionEvent(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->postSessionReleased()V
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->postTimeShiftCurrentPositionChanged(J)V
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->postTimeShiftStartPositionChanged(J)V
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->postTimeShiftStatusChanged(I)V
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->postTracksChanged(Ljava/util/List;)V
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->postTrackSelected(ILjava/lang/String;)V
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->postTuned(Landroid/net/Uri;)V
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->postVideoAvailable()V
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->postVideoSizeChanged(II)V
-Landroid/media/tv/TvInputManager$SessionCallbackRecord;->postVideoUnavailable(I)V
-Landroid/media/tv/TvInputManager$TimeShiftStatus;
-Landroid/media/tv/TvInputManager$TvInputCallbackRecord;
-Landroid/media/tv/TvInputManager$TvInputCallbackRecord;-><init>(Landroid/media/tv/TvInputManager$TvInputCallback;Landroid/os/Handler;)V
-Landroid/media/tv/TvInputManager$TvInputCallbackRecord;->getCallback()Landroid/media/tv/TvInputManager$TvInputCallback;
-Landroid/media/tv/TvInputManager$TvInputCallbackRecord;->mCallback:Landroid/media/tv/TvInputManager$TvInputCallback;
-Landroid/media/tv/TvInputManager$TvInputCallbackRecord;->mHandler:Landroid/os/Handler;
-Landroid/media/tv/TvInputManager$TvInputCallbackRecord;->postInputAdded(Ljava/lang/String;)V
-Landroid/media/tv/TvInputManager$TvInputCallbackRecord;->postInputRemoved(Ljava/lang/String;)V
-Landroid/media/tv/TvInputManager$TvInputCallbackRecord;->postInputStateChanged(Ljava/lang/String;I)V
-Landroid/media/tv/TvInputManager$TvInputCallbackRecord;->postInputUpdated(Ljava/lang/String;)V
-Landroid/media/tv/TvInputManager$TvInputCallbackRecord;->postTvInputInfoUpdated(Landroid/media/tv/TvInputInfo;)V
-Landroid/media/tv/TvInputManager$VideoUnavailableReason;
-Landroid/media/tv/TvInputManager;-><init>(Landroid/media/tv/ITvInputManager;I)V
-Landroid/media/tv/TvInputManager;->createRecordingSession(Ljava/lang/String;Landroid/media/tv/TvInputManager$SessionCallback;Landroid/os/Handler;)V
-Landroid/media/tv/TvInputManager;->createSession(Ljava/lang/String;Landroid/media/tv/TvInputManager$SessionCallback;Landroid/os/Handler;)V
-Landroid/media/tv/TvInputManager;->createSessionInternal(Ljava/lang/String;ZLandroid/media/tv/TvInputManager$SessionCallback;Landroid/os/Handler;)V
-Landroid/media/tv/TvInputManager;->DVB_DEVICE_DEMUX:I
-Landroid/media/tv/TvInputManager;->DVB_DEVICE_DVR:I
-Landroid/media/tv/TvInputManager;->DVB_DEVICE_END:I
-Landroid/media/tv/TvInputManager;->DVB_DEVICE_FRONTEND:I
-Landroid/media/tv/TvInputManager;->DVB_DEVICE_START:I
-Landroid/media/tv/TvInputManager;->getDvbDeviceList()Ljava/util/List;
-Landroid/media/tv/TvInputManager;->mCallbackRecords:Ljava/util/List;
-Landroid/media/tv/TvInputManager;->mClient:Landroid/media/tv/ITvInputClient;
-Landroid/media/tv/TvInputManager;->mLock:Ljava/lang/Object;
-Landroid/media/tv/TvInputManager;->mNextSeq:I
-Landroid/media/tv/TvInputManager;->mService:Landroid/media/tv/ITvInputManager;
-Landroid/media/tv/TvInputManager;->mSessionCallbackRecordMap:Landroid/util/SparseArray;
-Landroid/media/tv/TvInputManager;->mStateMap:Ljava/util/Map;
-Landroid/media/tv/TvInputManager;->mUserId:I
-Landroid/media/tv/TvInputManager;->openDvbDevice(Landroid/media/tv/DvbDeviceInfo;I)Landroid/os/ParcelFileDescriptor;
-Landroid/media/tv/TvInputManager;->RECORDING_ERROR_END:I
-Landroid/media/tv/TvInputManager;->RECORDING_ERROR_START:I
-Landroid/media/tv/TvInputManager;->requestChannelBrowsable(Landroid/net/Uri;)V
-Landroid/media/tv/TvInputManager;->TAG:Ljava/lang/String;
-Landroid/media/tv/TvInputManager;->VIDEO_UNAVAILABLE_REASON_END:I
-Landroid/media/tv/TvInputManager;->VIDEO_UNAVAILABLE_REASON_START:I
-Landroid/media/tv/TvInputService$HardwareSession;->mHardwareSession:Landroid/media/tv/TvInputManager$Session;
-Landroid/media/tv/TvInputService$HardwareSession;->mHardwareSessionCallback:Landroid/media/tv/TvInputManager$SessionCallback;
-Landroid/media/tv/TvInputService$HardwareSession;->mProxySession:Landroid/media/tv/ITvInputSession;
-Landroid/media/tv/TvInputService$HardwareSession;->mProxySessionCallback:Landroid/media/tv/ITvInputSessionCallback;
-Landroid/media/tv/TvInputService$HardwareSession;->mServiceHandler:Landroid/os/Handler;
-Landroid/media/tv/TvInputService$HardwareSession;->release()V
-Landroid/media/tv/TvInputService$OverlayViewCleanUpTask;
-Landroid/media/tv/TvInputService$OverlayViewCleanUpTask;-><init>()V
-Landroid/media/tv/TvInputService$OverlayViewCleanUpTask;->doInBackground([[Landroid/view/View;)Ljava/lang/Void;
-Landroid/media/tv/TvInputService$RecordingSession;->appPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/tv/TvInputService$RecordingSession;->executeOrPostRunnableOnMainThread(Ljava/lang/Runnable;)V
-Landroid/media/tv/TvInputService$RecordingSession;->initialize(Landroid/media/tv/ITvInputSessionCallback;)V
-Landroid/media/tv/TvInputService$RecordingSession;->mHandler:Landroid/os/Handler;
-Landroid/media/tv/TvInputService$RecordingSession;->mLock:Ljava/lang/Object;
-Landroid/media/tv/TvInputService$RecordingSession;->mPendingActions:Ljava/util/List;
-Landroid/media/tv/TvInputService$RecordingSession;->mSessionCallback:Landroid/media/tv/ITvInputSessionCallback;
-Landroid/media/tv/TvInputService$RecordingSession;->release()V
-Landroid/media/tv/TvInputService$RecordingSession;->startRecording(Landroid/net/Uri;)V
-Landroid/media/tv/TvInputService$RecordingSession;->stopRecording()V
-Landroid/media/tv/TvInputService$RecordingSession;->tune(Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/tv/TvInputService$ServiceHandler;
-Landroid/media/tv/TvInputService$ServiceHandler;-><init>()V
-Landroid/media/tv/TvInputService$ServiceHandler;->broadcastAddHardwareInput(ILandroid/media/tv/TvInputInfo;)V
-Landroid/media/tv/TvInputService$ServiceHandler;->broadcastAddHdmiInput(ILandroid/media/tv/TvInputInfo;)V
-Landroid/media/tv/TvInputService$ServiceHandler;->broadcastRemoveHardwareInput(Ljava/lang/String;)V
-Landroid/media/tv/TvInputService$ServiceHandler;->DO_ADD_HARDWARE_INPUT:I
-Landroid/media/tv/TvInputService$ServiceHandler;->DO_ADD_HDMI_INPUT:I
-Landroid/media/tv/TvInputService$ServiceHandler;->DO_CREATE_RECORDING_SESSION:I
-Landroid/media/tv/TvInputService$ServiceHandler;->DO_CREATE_SESSION:I
-Landroid/media/tv/TvInputService$ServiceHandler;->DO_NOTIFY_SESSION_CREATED:I
-Landroid/media/tv/TvInputService$ServiceHandler;->DO_REMOVE_HARDWARE_INPUT:I
-Landroid/media/tv/TvInputService$ServiceHandler;->DO_REMOVE_HDMI_INPUT:I
-Landroid/media/tv/TvInputService$Session$TimeShiftPositionTrackingRunnable;
-Landroid/media/tv/TvInputService$Session$TimeShiftPositionTrackingRunnable;-><init>()V
-Landroid/media/tv/TvInputService$Session;->appPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/tv/TvInputService$Session;->createOverlayView(Landroid/os/IBinder;Landroid/graphics/Rect;)V
-Landroid/media/tv/TvInputService$Session;->dispatchInputEvent(Landroid/view/InputEvent;Landroid/view/InputEventReceiver;)I
-Landroid/media/tv/TvInputService$Session;->dispatchSurfaceChanged(III)V
-Landroid/media/tv/TvInputService$Session;->executeOrPostRunnableOnMainThread(Ljava/lang/Runnable;)V
-Landroid/media/tv/TvInputService$Session;->initialize(Landroid/media/tv/ITvInputSessionCallback;)V
-Landroid/media/tv/TvInputService$Session;->mContext:Landroid/content/Context;
-Landroid/media/tv/TvInputService$Session;->mCurrentPositionMs:J
-Landroid/media/tv/TvInputService$Session;->mDispatcherState:Landroid/view/KeyEvent$DispatcherState;
-Landroid/media/tv/TvInputService$Session;->mHandler:Landroid/os/Handler;
-Landroid/media/tv/TvInputService$Session;->mLock:Ljava/lang/Object;
-Landroid/media/tv/TvInputService$Session;->mOverlayView:Landroid/view/View;
-Landroid/media/tv/TvInputService$Session;->mOverlayViewCleanUpTask:Landroid/media/tv/TvInputService$OverlayViewCleanUpTask;
-Landroid/media/tv/TvInputService$Session;->mOverlayViewContainer:Landroid/widget/FrameLayout;
-Landroid/media/tv/TvInputService$Session;->mOverlayViewEnabled:Z
-Landroid/media/tv/TvInputService$Session;->mPendingActions:Ljava/util/List;
-Landroid/media/tv/TvInputService$Session;->mSessionCallback:Landroid/media/tv/ITvInputSessionCallback;
-Landroid/media/tv/TvInputService$Session;->mStartPositionMs:J
-Landroid/media/tv/TvInputService$Session;->mSurface:Landroid/view/Surface;
-Landroid/media/tv/TvInputService$Session;->mTimeShiftPositionTrackingRunnable:Landroid/media/tv/TvInputService$Session$TimeShiftPositionTrackingRunnable;
-Landroid/media/tv/TvInputService$Session;->mWindowManager:Landroid/view/WindowManager;
-Landroid/media/tv/TvInputService$Session;->mWindowParams:Landroid/view/WindowManager$LayoutParams;
-Landroid/media/tv/TvInputService$Session;->mWindowToken:Landroid/os/IBinder;
-Landroid/media/tv/TvInputService$Session;->notifyTimeShiftCurrentPositionChanged(J)V
-Landroid/media/tv/TvInputService$Session;->notifyTimeShiftStartPositionChanged(J)V
-Landroid/media/tv/TvInputService$Session;->POSITION_UPDATE_INTERVAL_MS:I
-Landroid/media/tv/TvInputService$Session;->relayoutOverlayView(Landroid/graphics/Rect;)V
-Landroid/media/tv/TvInputService$Session;->release()V
-Landroid/media/tv/TvInputService$Session;->removeOverlayView(Z)V
-Landroid/media/tv/TvInputService$Session;->scheduleOverlayViewCleanup()V
-Landroid/media/tv/TvInputService$Session;->selectTrack(ILjava/lang/String;)V
-Landroid/media/tv/TvInputService$Session;->setCaptionEnabled(Z)V
-Landroid/media/tv/TvInputService$Session;->setMain(Z)V
-Landroid/media/tv/TvInputService$Session;->setStreamVolume(F)V
-Landroid/media/tv/TvInputService$Session;->setSurface(Landroid/view/Surface;)V
-Landroid/media/tv/TvInputService$Session;->timeShiftEnablePositionTracking(Z)V
-Landroid/media/tv/TvInputService$Session;->timeShiftPause()V
-Landroid/media/tv/TvInputService$Session;->timeShiftPlay(Landroid/net/Uri;)V
-Landroid/media/tv/TvInputService$Session;->timeShiftResume()V
-Landroid/media/tv/TvInputService$Session;->timeShiftSeekTo(J)V
-Landroid/media/tv/TvInputService$Session;->timeShiftSetPlaybackParams(Landroid/media/PlaybackParams;)V
-Landroid/media/tv/TvInputService$Session;->tune(Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/tv/TvInputService$Session;->unblockContent(Ljava/lang/String;)V
-Landroid/media/tv/TvInputService;->DEBUG:Z
-Landroid/media/tv/TvInputService;->DETACH_OVERLAY_VIEW_TIMEOUT_MS:I
-Landroid/media/tv/TvInputService;->isNavigationKey(I)Z
-Landroid/media/tv/TvInputService;->isPassthroughInput(Ljava/lang/String;)Z
-Landroid/media/tv/TvInputService;->mCallbacks:Landroid/os/RemoteCallbackList;
-Landroid/media/tv/TvInputService;->mServiceHandler:Landroid/os/Handler;
-Landroid/media/tv/TvInputService;->mTvInputManager:Landroid/media/tv/TvInputManager;
-Landroid/media/tv/TvInputService;->TAG:Ljava/lang/String;
-Landroid/media/tv/TvRecordingClient$MySessionCallback;
-Landroid/media/tv/TvRecordingClient$MySessionCallback;-><init>(Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/tv/TvRecordingClient$MySessionCallback;->mChannelUri:Landroid/net/Uri;
-Landroid/media/tv/TvRecordingClient$MySessionCallback;->mConnectionParams:Landroid/os/Bundle;
-Landroid/media/tv/TvRecordingClient$MySessionCallback;->mInputId:Ljava/lang/String;
-Landroid/media/tv/TvRecordingClient$MySessionCallback;->onError(Landroid/media/tv/TvInputManager$Session;I)V
-Landroid/media/tv/TvRecordingClient$MySessionCallback;->onRecordingStopped(Landroid/media/tv/TvInputManager$Session;Landroid/net/Uri;)V
-Landroid/media/tv/TvRecordingClient$MySessionCallback;->onSessionCreated(Landroid/media/tv/TvInputManager$Session;)V
-Landroid/media/tv/TvRecordingClient$MySessionCallback;->onSessionEvent(Landroid/media/tv/TvInputManager$Session;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/tv/TvRecordingClient$MySessionCallback;->onSessionReleased(Landroid/media/tv/TvInputManager$Session;)V
-Landroid/media/tv/TvRecordingClient$MySessionCallback;->onTuned(Landroid/media/tv/TvInputManager$Session;Landroid/net/Uri;)V
-Landroid/media/tv/TvRecordingClient;->DEBUG:Z
-Landroid/media/tv/TvRecordingClient;->mCallback:Landroid/media/tv/TvRecordingClient$RecordingCallback;
-Landroid/media/tv/TvRecordingClient;->mHandler:Landroid/os/Handler;
-Landroid/media/tv/TvRecordingClient;->mIsRecordingStarted:Z
-Landroid/media/tv/TvRecordingClient;->mIsTuned:Z
-Landroid/media/tv/TvRecordingClient;->mPendingAppPrivateCommands:Ljava/util/Queue;
-Landroid/media/tv/TvRecordingClient;->mSession:Landroid/media/tv/TvInputManager$Session;
-Landroid/media/tv/TvRecordingClient;->mSessionCallback:Landroid/media/tv/TvRecordingClient$MySessionCallback;
-Landroid/media/tv/TvRecordingClient;->mTvInputManager:Landroid/media/tv/TvInputManager;
-Landroid/media/tv/TvRecordingClient;->resetInternal()V
-Landroid/media/tv/TvRecordingClient;->TAG:Ljava/lang/String;
-Landroid/media/tv/TvStreamConfig$Builder;->mGeneration:Ljava/lang/Integer;
-Landroid/media/tv/TvStreamConfig$Builder;->mMaxHeight:Ljava/lang/Integer;
-Landroid/media/tv/TvStreamConfig$Builder;->mMaxWidth:Ljava/lang/Integer;
-Landroid/media/tv/TvStreamConfig$Builder;->mStreamId:Ljava/lang/Integer;
-Landroid/media/tv/TvStreamConfig$Builder;->mType:Ljava/lang/Integer;
-Landroid/media/tv/TvStreamConfig;-><init>()V
-Landroid/media/tv/TvStreamConfig;->mGeneration:I
-Landroid/media/tv/TvStreamConfig;->mMaxHeight:I
-Landroid/media/tv/TvStreamConfig;->mMaxWidth:I
-Landroid/media/tv/TvStreamConfig;->mStreamId:I
-Landroid/media/tv/TvStreamConfig;->mType:I
-Landroid/media/tv/TvStreamConfig;->TAG:Ljava/lang/String;
-Landroid/media/tv/TvTrackInfo$Builder;->mAudioChannelCount:I
-Landroid/media/tv/TvTrackInfo$Builder;->mAudioSampleRate:I
-Landroid/media/tv/TvTrackInfo$Builder;->mDescription:Ljava/lang/CharSequence;
-Landroid/media/tv/TvTrackInfo$Builder;->mExtra:Landroid/os/Bundle;
-Landroid/media/tv/TvTrackInfo$Builder;->mId:Ljava/lang/String;
-Landroid/media/tv/TvTrackInfo$Builder;->mLanguage:Ljava/lang/String;
-Landroid/media/tv/TvTrackInfo$Builder;->mType:I
-Landroid/media/tv/TvTrackInfo$Builder;->mVideoActiveFormatDescription:B
-Landroid/media/tv/TvTrackInfo$Builder;->mVideoFrameRate:F
-Landroid/media/tv/TvTrackInfo$Builder;->mVideoHeight:I
-Landroid/media/tv/TvTrackInfo$Builder;->mVideoPixelAspectRatio:F
-Landroid/media/tv/TvTrackInfo$Builder;->mVideoWidth:I
-Landroid/media/tv/TvTrackInfo$Type;
-Landroid/media/tv/TvTrackInfo;-><init>(ILjava/lang/String;Ljava/lang/String;Ljava/lang/CharSequence;IIIIFFBLandroid/os/Bundle;)V
-Landroid/media/tv/TvTrackInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/media/tv/TvTrackInfo;->mAudioChannelCount:I
-Landroid/media/tv/TvTrackInfo;->mAudioSampleRate:I
-Landroid/media/tv/TvTrackInfo;->mDescription:Ljava/lang/CharSequence;
-Landroid/media/tv/TvTrackInfo;->mExtra:Landroid/os/Bundle;
-Landroid/media/tv/TvTrackInfo;->mId:Ljava/lang/String;
-Landroid/media/tv/TvTrackInfo;->mLanguage:Ljava/lang/String;
-Landroid/media/tv/TvTrackInfo;->mType:I
-Landroid/media/tv/TvTrackInfo;->mVideoActiveFormatDescription:B
-Landroid/media/tv/TvTrackInfo;->mVideoFrameRate:F
-Landroid/media/tv/TvTrackInfo;->mVideoHeight:I
-Landroid/media/tv/TvTrackInfo;->mVideoPixelAspectRatio:F
-Landroid/media/tv/TvTrackInfo;->mVideoWidth:I
-Landroid/media/tv/TvView$MySessionCallback;
-Landroid/media/tv/TvView$MySessionCallback;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
-Landroid/media/tv/TvView$MySessionCallback;-><init>(Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;)V
-Landroid/media/tv/TvView$MySessionCallback;->mChannelUri:Landroid/net/Uri;
-Landroid/media/tv/TvView$MySessionCallback;->mInputId:Ljava/lang/String;
-Landroid/media/tv/TvView$MySessionCallback;->mRecordedProgramUri:Landroid/net/Uri;
-Landroid/media/tv/TvView$MySessionCallback;->mTuneParams:Landroid/os/Bundle;
-Landroid/media/tv/TvView$MySessionCallback;->onChannelRetuned(Landroid/media/tv/TvInputManager$Session;Landroid/net/Uri;)V
-Landroid/media/tv/TvView$MySessionCallback;->onContentAllowed(Landroid/media/tv/TvInputManager$Session;)V
-Landroid/media/tv/TvView$MySessionCallback;->onContentBlocked(Landroid/media/tv/TvInputManager$Session;Landroid/media/tv/TvContentRating;)V
-Landroid/media/tv/TvView$MySessionCallback;->onLayoutSurface(Landroid/media/tv/TvInputManager$Session;IIII)V
-Landroid/media/tv/TvView$MySessionCallback;->onSessionCreated(Landroid/media/tv/TvInputManager$Session;)V
-Landroid/media/tv/TvView$MySessionCallback;->onSessionEvent(Landroid/media/tv/TvInputManager$Session;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/media/tv/TvView$MySessionCallback;->onSessionReleased(Landroid/media/tv/TvInputManager$Session;)V
-Landroid/media/tv/TvView$MySessionCallback;->onTimeShiftCurrentPositionChanged(Landroid/media/tv/TvInputManager$Session;J)V
-Landroid/media/tv/TvView$MySessionCallback;->onTimeShiftStartPositionChanged(Landroid/media/tv/TvInputManager$Session;J)V
-Landroid/media/tv/TvView$MySessionCallback;->onTimeShiftStatusChanged(Landroid/media/tv/TvInputManager$Session;I)V
-Landroid/media/tv/TvView$MySessionCallback;->onTracksChanged(Landroid/media/tv/TvInputManager$Session;Ljava/util/List;)V
-Landroid/media/tv/TvView$MySessionCallback;->onTrackSelected(Landroid/media/tv/TvInputManager$Session;ILjava/lang/String;)V
-Landroid/media/tv/TvView$MySessionCallback;->onVideoAvailable(Landroid/media/tv/TvInputManager$Session;)V
-Landroid/media/tv/TvView$MySessionCallback;->onVideoSizeChanged(Landroid/media/tv/TvInputManager$Session;II)V
-Landroid/media/tv/TvView$MySessionCallback;->onVideoUnavailable(Landroid/media/tv/TvInputManager$Session;I)V
-Landroid/media/tv/TvView;->checkChangeHdmiCecActiveSourcePermission()Z
-Landroid/media/tv/TvView;->createSessionOverlayView()V
-Landroid/media/tv/TvView;->DEBUG:Z
-Landroid/media/tv/TvView;->dispatchSurfaceChanged(III)V
-Landroid/media/tv/TvView;->ensurePositionTracking()V
-Landroid/media/tv/TvView;->getViewFrameOnScreen()Landroid/graphics/Rect;
-Landroid/media/tv/TvView;->mAttrs:Landroid/util/AttributeSet;
-Landroid/media/tv/TvView;->mCallback:Landroid/media/tv/TvView$TvInputCallback;
-Landroid/media/tv/TvView;->mCaptionEnabled:Ljava/lang/Boolean;
-Landroid/media/tv/TvView;->mDefStyleAttr:I
-Landroid/media/tv/TvView;->mFinishedInputEventCallback:Landroid/media/tv/TvInputManager$Session$FinishedInputEventCallback;
-Landroid/media/tv/TvView;->mHandler:Landroid/os/Handler;
-Landroid/media/tv/TvView;->mOnUnhandledInputEventListener:Landroid/media/tv/TvView$OnUnhandledInputEventListener;
-Landroid/media/tv/TvView;->mOverlayViewCreated:Z
-Landroid/media/tv/TvView;->mOverlayViewFrame:Landroid/graphics/Rect;
-Landroid/media/tv/TvView;->mPendingAppPrivateCommands:Ljava/util/Queue;
-Landroid/media/tv/TvView;->mSession:Landroid/media/tv/TvInputManager$Session;
-Landroid/media/tv/TvView;->mSessionCallback:Landroid/media/tv/TvView$MySessionCallback;
-Landroid/media/tv/TvView;->mStreamVolume:Ljava/lang/Float;
-Landroid/media/tv/TvView;->mSurface:Landroid/view/Surface;
-Landroid/media/tv/TvView;->mSurfaceChanged:Z
-Landroid/media/tv/TvView;->mSurfaceFormat:I
-Landroid/media/tv/TvView;->mSurfaceHeight:I
-Landroid/media/tv/TvView;->mSurfaceHolderCallback:Landroid/view/SurfaceHolder$Callback;
-Landroid/media/tv/TvView;->mSurfaceView:Landroid/view/SurfaceView;
-Landroid/media/tv/TvView;->mSurfaceViewBottom:I
-Landroid/media/tv/TvView;->mSurfaceViewLeft:I
-Landroid/media/tv/TvView;->mSurfaceViewRight:I
-Landroid/media/tv/TvView;->mSurfaceViewTop:I
-Landroid/media/tv/TvView;->mSurfaceWidth:I
-Landroid/media/tv/TvView;->mTimeShiftPositionCallback:Landroid/media/tv/TvView$TimeShiftPositionCallback;
-Landroid/media/tv/TvView;->mTvInputManager:Landroid/media/tv/TvInputManager;
-Landroid/media/tv/TvView;->mUseRequestedSurfaceLayout:Z
-Landroid/media/tv/TvView;->mWindowZOrder:I
-Landroid/media/tv/TvView;->NULL_TV_VIEW:Ljava/lang/ref/WeakReference;
-Landroid/media/tv/TvView;->relayoutSessionOverlayView()V
-Landroid/media/tv/TvView;->removeSessionOverlayView()V
-Landroid/media/tv/TvView;->resetInternal()V
-Landroid/media/tv/TvView;->resetSurfaceView()V
-Landroid/media/tv/TvView;->setSessionSurface(Landroid/view/Surface;)V
-Landroid/media/tv/TvView;->sMainTvView:Ljava/lang/ref/WeakReference;
-Landroid/media/tv/TvView;->sMainTvViewLock:Ljava/lang/Object;
-Landroid/media/tv/TvView;->TAG:Ljava/lang/String;
-Landroid/media/tv/TvView;->ZORDER_MEDIA:I
-Landroid/media/tv/TvView;->ZORDER_MEDIA_OVERLAY:I
-Landroid/media/tv/TvView;->ZORDER_ON_TOP:I
-Landroid/media/VolumePolicy;
-Landroid/media/VolumePolicy;-><init>(ZZZI)V
-Landroid/media/VolumePolicy;->A11Y_MODE_INDEPENDENT_A11Y_VOLUME:I
-Landroid/media/VolumePolicy;->A11Y_MODE_MEDIA_A11Y_VOLUME:I
-Landroid/media/VolumePolicy;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/media/VolumePolicy;->DEFAULT:Landroid/media/VolumePolicy;
-Landroid/media/VolumePolicy;->doNotDisturbWhenSilent:Z
-Landroid/media/VolumePolicy;->vibrateToSilentDebounce:I
-Landroid/media/VolumePolicy;->volumeDownToEnterSilent:Z
-Landroid/media/VolumePolicy;->volumeUpToExitSilent:Z
-Landroid/media/VolumeProvider$Callback;
-Landroid/media/VolumeProvider$Callback;-><init>()V
-Landroid/media/VolumeProvider$Callback;->onVolumeChanged(Landroid/media/VolumeProvider;)V
-Landroid/media/VolumeProvider$ControlType;
-Landroid/media/VolumeProvider2$ControlType;
-Landroid/media/VolumeProvider2;
-Landroid/media/VolumeProvider2;-><init>(III)V
-Landroid/media/VolumeProvider2;->getControlType()I
-Landroid/media/VolumeProvider2;->getCurrentVolume()I
-Landroid/media/VolumeProvider2;->getMaxVolume()I
-Landroid/media/VolumeProvider2;->getProvider()Landroid/media/update/VolumeProvider2Provider;
-Landroid/media/VolumeProvider2;->mProvider:Landroid/media/update/VolumeProvider2Provider;
-Landroid/media/VolumeProvider2;->onAdjustVolume(I)V
-Landroid/media/VolumeProvider2;->onSetVolumeTo(I)V
-Landroid/media/VolumeProvider2;->setCurrentVolume(I)V
-Landroid/media/VolumeProvider2;->VOLUME_CONTROL_ABSOLUTE:I
-Landroid/media/VolumeProvider2;->VOLUME_CONTROL_FIXED:I
-Landroid/media/VolumeProvider2;->VOLUME_CONTROL_RELATIVE:I
-Landroid/media/VolumeProvider;->mCallback:Landroid/media/VolumeProvider$Callback;
-Landroid/media/VolumeProvider;->mControlType:I
-Landroid/media/VolumeProvider;->mCurrentVolume:I
-Landroid/media/VolumeProvider;->mMaxVolume:I
-Landroid/media/VolumeProvider;->setCallback(Landroid/media/VolumeProvider$Callback;)V
-Landroid/media/VolumeShaper$Configuration$Builder;->mDurationMs:D
-Landroid/media/VolumeShaper$Configuration$Builder;->mId:I
-Landroid/media/VolumeShaper$Configuration$Builder;->mInterpolatorType:I
-Landroid/media/VolumeShaper$Configuration$Builder;->mOptionFlags:I
-Landroid/media/VolumeShaper$Configuration$Builder;->mTimes:[F
-Landroid/media/VolumeShaper$Configuration$Builder;->mType:I
-Landroid/media/VolumeShaper$Configuration$Builder;->mVolumes:[F
-Landroid/media/VolumeShaper$Configuration$Builder;->setId(I)Landroid/media/VolumeShaper$Configuration$Builder;
-Landroid/media/VolumeShaper$Configuration$InterpolatorType;
-Landroid/media/VolumeShaper$Configuration$OptionFlag;
-Landroid/media/VolumeShaper$Configuration$Type;
-Landroid/media/VolumeShaper$Configuration;-><init>(I)V
-Landroid/media/VolumeShaper$Configuration;->checkCurveForErrors([F[FZ)Ljava/lang/String;
-Landroid/media/VolumeShaper$Configuration;->checkCurveForErrorsAndThrowException([F[FZZ)V
-Landroid/media/VolumeShaper$Configuration;->checkValidVolumeAndThrowException(FZ)V
-Landroid/media/VolumeShaper$Configuration;->clampVolume([FZ)V
-Landroid/media/VolumeShaper$Configuration;->getAllOptionFlags()I
-Landroid/media/VolumeShaper$Configuration;->getId()I
-Landroid/media/VolumeShaper$Configuration;->getOptionFlags()I
-Landroid/media/VolumeShaper$Configuration;->getType()I
-Landroid/media/VolumeShaper$Configuration;->MAXIMUM_CURVE_POINTS:I
-Landroid/media/VolumeShaper$Configuration;->OPTION_FLAG_CLOCK_TIME:I
-Landroid/media/VolumeShaper$Configuration;->OPTION_FLAG_PUBLIC_ALL:I
-Landroid/media/VolumeShaper$Configuration;->OPTION_FLAG_VOLUME_IN_DBFS:I
-Landroid/media/VolumeShaper$Configuration;->TYPE_ID:I
-Landroid/media/VolumeShaper$Configuration;->TYPE_SCALE:I
-Landroid/media/VolumeShaper$Operation$Builder;
-Landroid/media/VolumeShaper$Operation$Builder;-><init>()V
-Landroid/media/VolumeShaper$Operation$Builder;-><init>(Landroid/media/VolumeShaper$Operation;)V
-Landroid/media/VolumeShaper$Operation$Builder;->build()Landroid/media/VolumeShaper$Operation;
-Landroid/media/VolumeShaper$Operation$Builder;->createIfNeeded()Landroid/media/VolumeShaper$Operation$Builder;
-Landroid/media/VolumeShaper$Operation$Builder;->defer()Landroid/media/VolumeShaper$Operation$Builder;
-Landroid/media/VolumeShaper$Operation$Builder;->mFlags:I
-Landroid/media/VolumeShaper$Operation$Builder;->mReplaceId:I
-Landroid/media/VolumeShaper$Operation$Builder;->mXOffset:F
-Landroid/media/VolumeShaper$Operation$Builder;->replace(IZ)Landroid/media/VolumeShaper$Operation$Builder;
-Landroid/media/VolumeShaper$Operation$Builder;->reverse()Landroid/media/VolumeShaper$Operation$Builder;
-Landroid/media/VolumeShaper$Operation$Builder;->setFlags(I)Landroid/media/VolumeShaper$Operation$Builder;
-Landroid/media/VolumeShaper$Operation$Builder;->setXOffset(F)Landroid/media/VolumeShaper$Operation$Builder;
-Landroid/media/VolumeShaper$Operation$Builder;->terminate()Landroid/media/VolumeShaper$Operation$Builder;
-Landroid/media/VolumeShaper$Operation$Flag;
-Landroid/media/VolumeShaper$Operation;->FLAG_CREATE_IF_NEEDED:I
-Landroid/media/VolumeShaper$Operation;->FLAG_DEFER:I
-Landroid/media/VolumeShaper$Operation;->FLAG_JOIN:I
-Landroid/media/VolumeShaper$Operation;->FLAG_NONE:I
-Landroid/media/VolumeShaper$Operation;->FLAG_PUBLIC_ALL:I
-Landroid/media/VolumeShaper$Operation;->FLAG_REVERSE:I
-Landroid/media/VolumeShaper$Operation;->FLAG_TERMINATE:I
-Landroid/media/VolumeShaper$State;
-Landroid/media/VolumeShaper$State;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/media/VolumeShaper$State;->getVolume()F
-Landroid/media/VolumeShaper$State;->getXOffset()F
-Landroid/media/VolumeShaper;-><init>(Landroid/media/VolumeShaper$Configuration;Landroid/media/PlayerBase;)V
-Landroid/media/VolumeShaper;->applyPlayer(Landroid/media/VolumeShaper$Configuration;Landroid/media/VolumeShaper$Operation;)I
-Landroid/media/VolumeShaper;->getId()I
-Landroid/media/VolumeShaper;->getStatePlayer(I)Landroid/media/VolumeShaper$State;
-Landroid/media/VolumeShaper;->mId:I
-Landroid/media/VolumeShaper;->mWeakPlayerBase:Ljava/lang/ref/WeakReference;
-Landroid/media/WebVttRenderer;
-Landroid/media/WebVttRenderer;->createTrack(Landroid/media/MediaFormat;)Landroid/media/SubtitleTrack;
-Landroid/media/WebVttRenderer;->mContext:Landroid/content/Context;
-Landroid/media/WebVttRenderer;->mRenderingWidget:Landroid/media/WebVttRenderingWidget;
-Landroid/media/WebVttRenderer;->supports(Landroid/media/MediaFormat;)Z
-Landroid/media/WebVttRenderingWidget$CueLayout;
-Landroid/media/WebVttRenderingWidget$CueLayout;-><init>(Landroid/content/Context;Landroid/media/TextTrackCue;Landroid/view/accessibility/CaptioningManager$CaptionStyle;F)V
-Landroid/media/WebVttRenderingWidget$CueLayout;->getCue()Landroid/media/TextTrackCue;
-Landroid/media/WebVttRenderingWidget$CueLayout;->isActive()Z
-Landroid/media/WebVttRenderingWidget$CueLayout;->mActive:Z
-Landroid/media/WebVttRenderingWidget$CueLayout;->mCaptionStyle:Landroid/view/accessibility/CaptioningManager$CaptionStyle;
-Landroid/media/WebVttRenderingWidget$CueLayout;->mCue:Landroid/media/TextTrackCue;
-Landroid/media/WebVttRenderingWidget$CueLayout;->measureForParent(II)V
-Landroid/media/WebVttRenderingWidget$CueLayout;->mFontSize:F
-Landroid/media/WebVttRenderingWidget$CueLayout;->mOrder:I
-Landroid/media/WebVttRenderingWidget$CueLayout;->prepForPrune()V
-Landroid/media/WebVttRenderingWidget$CueLayout;->setCaptionStyle(Landroid/view/accessibility/CaptioningManager$CaptionStyle;F)V
-Landroid/media/WebVttRenderingWidget$CueLayout;->setOrder(I)V
-Landroid/media/WebVttRenderingWidget$CueLayout;->update()V
-Landroid/media/WebVttRenderingWidget$RegionLayout;
-Landroid/media/WebVttRenderingWidget$RegionLayout;-><init>(Landroid/content/Context;Landroid/media/TextTrackRegion;Landroid/view/accessibility/CaptioningManager$CaptionStyle;F)V
-Landroid/media/WebVttRenderingWidget$RegionLayout;->getRegion()Landroid/media/TextTrackRegion;
-Landroid/media/WebVttRenderingWidget$RegionLayout;->mCaptionStyle:Landroid/view/accessibility/CaptioningManager$CaptionStyle;
-Landroid/media/WebVttRenderingWidget$RegionLayout;->measureForParent(II)V
-Landroid/media/WebVttRenderingWidget$RegionLayout;->mFontSize:F
-Landroid/media/WebVttRenderingWidget$RegionLayout;->mRegion:Landroid/media/TextTrackRegion;
-Landroid/media/WebVttRenderingWidget$RegionLayout;->mRegionCueBoxes:Ljava/util/ArrayList;
-Landroid/media/WebVttRenderingWidget$RegionLayout;->prepForPrune()V
-Landroid/media/WebVttRenderingWidget$RegionLayout;->prune()Z
-Landroid/media/WebVttRenderingWidget$RegionLayout;->put(Landroid/media/TextTrackCue;)V
-Landroid/media/WebVttRenderingWidget$RegionLayout;->setCaptionStyle(Landroid/view/accessibility/CaptioningManager$CaptionStyle;F)V
-Landroid/media/WebVttRenderingWidget$SpanLayout;
-Landroid/media/WebVttRenderingWidget$SpanLayout;-><init>(Landroid/content/Context;[Landroid/media/TextTrackCueSpan;)V
-Landroid/media/WebVttRenderingWidget$SpanLayout;->mBuilder:Landroid/text/SpannableStringBuilder;
-Landroid/media/WebVttRenderingWidget$SpanLayout;->mSpans:[Landroid/media/TextTrackCueSpan;
-Landroid/media/WebVttRenderingWidget$SpanLayout;->setCaptionStyle(Landroid/view/accessibility/CaptioningManager$CaptionStyle;F)V
-Landroid/media/WebVttRenderingWidget$SpanLayout;->update()V
-Landroid/media/WebVttRenderingWidget;
-Landroid/media/WebVttRenderingWidget;-><init>(Landroid/content/Context;)V
-Landroid/media/WebVttRenderingWidget;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/media/WebVttRenderingWidget;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/media/WebVttRenderingWidget;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/media/WebVttRenderingWidget;->calculateLinePosition(Landroid/media/WebVttRenderingWidget$CueLayout;)I
-Landroid/media/WebVttRenderingWidget;->DEBUG:Z
-Landroid/media/WebVttRenderingWidget;->DEBUG_CUE_BACKGROUND:I
-Landroid/media/WebVttRenderingWidget;->DEBUG_REGION_BACKGROUND:I
-Landroid/media/WebVttRenderingWidget;->DEFAULT_CAPTION_STYLE:Landroid/view/accessibility/CaptioningManager$CaptionStyle;
-Landroid/media/WebVttRenderingWidget;->layoutCue(IILandroid/media/WebVttRenderingWidget$CueLayout;)V
-Landroid/media/WebVttRenderingWidget;->layoutRegion(IILandroid/media/WebVttRenderingWidget$RegionLayout;)V
-Landroid/media/WebVttRenderingWidget;->LINE_HEIGHT_RATIO:F
-Landroid/media/WebVttRenderingWidget;->manageChangeListener()V
-Landroid/media/WebVttRenderingWidget;->mCaptioningListener:Landroid/view/accessibility/CaptioningManager$CaptioningChangeListener;
-Landroid/media/WebVttRenderingWidget;->mCaptionStyle:Landroid/view/accessibility/CaptioningManager$CaptionStyle;
-Landroid/media/WebVttRenderingWidget;->mCueBoxes:Landroid/util/ArrayMap;
-Landroid/media/WebVttRenderingWidget;->mFontSize:F
-Landroid/media/WebVttRenderingWidget;->mHasChangeListener:Z
-Landroid/media/WebVttRenderingWidget;->mListener:Landroid/media/SubtitleTrack$RenderingWidget$OnChangedListener;
-Landroid/media/WebVttRenderingWidget;->mManager:Landroid/view/accessibility/CaptioningManager;
-Landroid/media/WebVttRenderingWidget;->mRegionBoxes:Landroid/util/ArrayMap;
-Landroid/media/WebVttRenderingWidget;->prepForPrune()V
-Landroid/media/WebVttRenderingWidget;->prune()V
-Landroid/media/WebVttRenderingWidget;->resolveCueAlignment(II)I
-Landroid/media/WebVttRenderingWidget;->setActiveCues(Ljava/util/Vector;)V
-Landroid/media/WebVttRenderingWidget;->setCaptionStyle(Landroid/view/accessibility/CaptioningManager$CaptionStyle;F)V
-Landroid/media/WebVttRenderingWidget;->setOnChangedListener(Landroid/media/SubtitleTrack$RenderingWidget$OnChangedListener;)V
-Landroid/media/WebVttRenderingWidget;->setSize(II)V
-Landroid/media/WebVttRenderingWidget;->setVisible(Z)V
-Landroid/metrics/LogMaker;->clearProcessId()Landroid/metrics/LogMaker;
-Landroid/metrics/LogMaker;->clearTimestamp()Landroid/metrics/LogMaker;
-Landroid/metrics/LogMaker;->clearUid()Landroid/metrics/LogMaker;
-Landroid/metrics/LogMaker;->entries:Landroid/util/SparseArray;
-Landroid/metrics/LogMaker;->MAX_SERIALIZED_SIZE:I
-Landroid/metrics/LogMaker;->setComponentName(Landroid/content/ComponentName;)Landroid/metrics/LogMaker;
-Landroid/metrics/LogMaker;->setCounterBucket(I)Landroid/metrics/LogMaker;
-Landroid/metrics/LogMaker;->setCounterBucket(J)Landroid/metrics/LogMaker;
-Landroid/metrics/LogMaker;->setCounterName(Ljava/lang/String;)Landroid/metrics/LogMaker;
-Landroid/metrics/LogMaker;->setCounterValue(I)Landroid/metrics/LogMaker;
-Landroid/metrics/LogMaker;->setLatency(J)Landroid/metrics/LogMaker;
-Landroid/metrics/LogMaker;->setProcessId(I)Landroid/metrics/LogMaker;
-Landroid/metrics/LogMaker;->setTimestamp(J)Landroid/metrics/LogMaker;
-Landroid/metrics/LogMaker;->setUid(I)Landroid/metrics/LogMaker;
-Landroid/metrics/LogMaker;->TAG:Ljava/lang/String;
-Landroid/metrics/MetricsReader$Event;
-Landroid/metrics/MetricsReader$Event;-><init>(JIILjava/lang/Object;)V
-Landroid/metrics/MetricsReader$Event;-><init>(Landroid/util/EventLog$Event;)V
-Landroid/metrics/MetricsReader$Event;->getData()Ljava/lang/Object;
-Landroid/metrics/MetricsReader$Event;->getProcessId()I
-Landroid/metrics/MetricsReader$Event;->getTimeMillis()J
-Landroid/metrics/MetricsReader$Event;->getUid()I
-Landroid/metrics/MetricsReader$Event;->mData:Ljava/lang/Object;
-Landroid/metrics/MetricsReader$Event;->mPid:I
-Landroid/metrics/MetricsReader$Event;->mTimeMillis:J
-Landroid/metrics/MetricsReader$Event;->mUid:I
-Landroid/metrics/MetricsReader$Event;->setData(Ljava/lang/Object;)V
-Landroid/metrics/MetricsReader$LogReader;
-Landroid/metrics/MetricsReader$LogReader;-><init>()V
-Landroid/metrics/MetricsReader$LogReader;->readEvents([IJLjava/util/Collection;)V
-Landroid/metrics/MetricsReader$LogReader;->writeCheckpoint(I)V
-Landroid/metrics/MetricsReader;->LOGTAGS:[I
-Landroid/metrics/MetricsReader;->mCheckpointTag:I
-Landroid/metrics/MetricsReader;->mPendingQueue:Ljava/util/Queue;
-Landroid/metrics/MetricsReader;->mReader:Landroid/metrics/MetricsReader$LogReader;
-Landroid/metrics/MetricsReader;->mSeenQueue:Ljava/util/Queue;
-Landroid/metrics/MetricsReader;->setLogReader(Landroid/metrics/MetricsReader$LogReader;)V
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_ARTIST:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_BATTERY_LEVEL:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_BURST_INTERVAL:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_BURST_NUMBER:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_CAPTURE_DELAY:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_COMPRESSION_SETTING:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_CONTRAST:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_COPYRIGHT_INFO:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_DATETIME:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_DEVICE_FRIENDLY_NAME:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_DEVICE_ICON:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_DIGITAL_ZOOM:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_EFFECT_MODE:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_EXPOSURE_BIAS_COMPENSATION:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_EXPOSURE_INDEX:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_EXPOSURE_METERING_MODE:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_EXPOSURE_PROGRAM_MODE:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_EXPOSURE_TIME:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_FLASH_MODE:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_FOCAL_LENGTH:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_FOCUS_DISTANCE:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_FOCUS_METERING_MODE:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_FOCUS_MODE:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_FUNCTIONAL_MODE:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_F_NUMBER:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_IMAGE_SIZE:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_PERCEIVED_DEVICE_TYPE:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_PLAYBACK_CONTAINER_INDEX:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_PLAYBACK_OBJECT:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_PLAYBACK_RATE:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_RGB_GAIN:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_SESSION_INITIATOR_VERSION_INFO:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_SHARPNESS:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_STILL_CAPTURE_MODE:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_SUPPORTED_FORMATS_ORDERED:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_SYNCHRONIZATION_PARTNER:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_TIMELAPSE_INTERVAL:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_TIMELAPSE_NUMBER:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_UNDEFINED:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_UPLOAD_URL:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_VOLUME:I
-Landroid/mtp/MtpConstants;->DEVICE_PROPERTY_WHITE_BALANCE:I
-Landroid/mtp/MtpConstants;->FORMAT_HEIF:I
-Landroid/mtp/MtpConstants;->PROPERTY_ALBUM_ARTIST:I
-Landroid/mtp/MtpConstants;->PROPERTY_ALBUM_NAME:I
-Landroid/mtp/MtpConstants;->PROPERTY_ALLOWED_FOLDER_CONTENTS:I
-Landroid/mtp/MtpConstants;->PROPERTY_ARTIST:I
-Landroid/mtp/MtpConstants;->PROPERTY_ASSOCIATION_DESC:I
-Landroid/mtp/MtpConstants;->PROPERTY_ASSOCIATION_TYPE:I
-Landroid/mtp/MtpConstants;->PROPERTY_AUDIO_BITRATE:I
-Landroid/mtp/MtpConstants;->PROPERTY_AUDIO_BIT_DEPTH:I
-Landroid/mtp/MtpConstants;->PROPERTY_AUDIO_WAVE_CODEC:I
-Landroid/mtp/MtpConstants;->PROPERTY_BITRATE_TYPE:I
-Landroid/mtp/MtpConstants;->PROPERTY_BUFFER_SIZE:I
-Landroid/mtp/MtpConstants;->PROPERTY_COMPOSER:I
-Landroid/mtp/MtpConstants;->PROPERTY_COPYRIGHT_INFORMATION:I
-Landroid/mtp/MtpConstants;->PROPERTY_CORRUPT_UNPLAYABLE:I
-Landroid/mtp/MtpConstants;->PROPERTY_CREATED_BY:I
-Landroid/mtp/MtpConstants;->PROPERTY_CREDITS:I
-Landroid/mtp/MtpConstants;->PROPERTY_DATE_ADDED:I
-Landroid/mtp/MtpConstants;->PROPERTY_DATE_AUTHORED:I
-Landroid/mtp/MtpConstants;->PROPERTY_DATE_CREATED:I
-Landroid/mtp/MtpConstants;->PROPERTY_DATE_MODIFIED:I
-Landroid/mtp/MtpConstants;->PROPERTY_DESCRIPTION:I
-Landroid/mtp/MtpConstants;->PROPERTY_DISPLAY_NAME:I
-Landroid/mtp/MtpConstants;->PROPERTY_DRM_STATUS:I
-Landroid/mtp/MtpConstants;->PROPERTY_DURATION:I
-Landroid/mtp/MtpConstants;->PROPERTY_EFFECTIVE_RATING:I
-Landroid/mtp/MtpConstants;->PROPERTY_ENCODING_PROFILE:I
-Landroid/mtp/MtpConstants;->PROPERTY_ENCODING_QUALITY:I
-Landroid/mtp/MtpConstants;->PROPERTY_EXPOSURE_INDEX:I
-Landroid/mtp/MtpConstants;->PROPERTY_EXPOSURE_TIME:I
-Landroid/mtp/MtpConstants;->PROPERTY_FRAMES_PER_THOUSAND_SECONDS:I
-Landroid/mtp/MtpConstants;->PROPERTY_F_NUMBER:I
-Landroid/mtp/MtpConstants;->PROPERTY_GENRE:I
-Landroid/mtp/MtpConstants;->PROPERTY_HEIGHT:I
-Landroid/mtp/MtpConstants;->PROPERTY_HIDDEN:I
-Landroid/mtp/MtpConstants;->PROPERTY_IMAGE_BIT_DEPTH:I
-Landroid/mtp/MtpConstants;->PROPERTY_IS_COLOUR_CORRECTED:I
-Landroid/mtp/MtpConstants;->PROPERTY_IS_CROPPED:I
-Landroid/mtp/MtpConstants;->PROPERTY_KEYFRAME_DISTANCE:I
-Landroid/mtp/MtpConstants;->PROPERTY_KEYWORDS:I
-Landroid/mtp/MtpConstants;->PROPERTY_LANGUAGE_LOCALE:I
-Landroid/mtp/MtpConstants;->PROPERTY_LAST_ACCESSED:I
-Landroid/mtp/MtpConstants;->PROPERTY_LYRICS:I
-Landroid/mtp/MtpConstants;->PROPERTY_META_GENRE:I
-Landroid/mtp/MtpConstants;->PROPERTY_MOOD:I
-Landroid/mtp/MtpConstants;->PROPERTY_NAME:I
-Landroid/mtp/MtpConstants;->PROPERTY_NON_CONSUMABLE:I
-Landroid/mtp/MtpConstants;->PROPERTY_NUMBER_OF_CHANNELS:I
-Landroid/mtp/MtpConstants;->PROPERTY_OBJECT_FILE_NAME:I
-Landroid/mtp/MtpConstants;->PROPERTY_OBJECT_FORMAT:I
-Landroid/mtp/MtpConstants;->PROPERTY_OBJECT_SIZE:I
-Landroid/mtp/MtpConstants;->PROPERTY_ORIGINAL_RELEASE_DATE:I
-Landroid/mtp/MtpConstants;->PROPERTY_ORIGIN_LOCATION:I
-Landroid/mtp/MtpConstants;->PROPERTY_PARENTAL_RATING:I
-Landroid/mtp/MtpConstants;->PROPERTY_PARENT_OBJECT:I
-Landroid/mtp/MtpConstants;->PROPERTY_PERSISTENT_UID:I
-Landroid/mtp/MtpConstants;->PROPERTY_PRODUCED_BY:I
-Landroid/mtp/MtpConstants;->PROPERTY_PRODUCER_SERIAL_NUMBER:I
-Landroid/mtp/MtpConstants;->PROPERTY_PROPERTY_BAG:I
-Landroid/mtp/MtpConstants;->PROPERTY_PROTECTION_STATUS:I
-Landroid/mtp/MtpConstants;->PROPERTY_RATING:I
-Landroid/mtp/MtpConstants;->PROPERTY_REPRESENTATIVE_SAMPLE_DATA:I
-Landroid/mtp/MtpConstants;->PROPERTY_REPRESENTATIVE_SAMPLE_DURATION:I
-Landroid/mtp/MtpConstants;->PROPERTY_REPRESENTATIVE_SAMPLE_FORMAT:I
-Landroid/mtp/MtpConstants;->PROPERTY_REPRESENTATIVE_SAMPLE_HEIGHT:I
-Landroid/mtp/MtpConstants;->PROPERTY_REPRESENTATIVE_SAMPLE_SIZE:I
-Landroid/mtp/MtpConstants;->PROPERTY_REPRESENTATIVE_SAMPLE_WIDTH:I
-Landroid/mtp/MtpConstants;->PROPERTY_SAMPLE_RATE:I
-Landroid/mtp/MtpConstants;->PROPERTY_SCAN_TYPE:I
-Landroid/mtp/MtpConstants;->PROPERTY_SKIP_COUNT:I
-Landroid/mtp/MtpConstants;->PROPERTY_SOURCE:I
-Landroid/mtp/MtpConstants;->PROPERTY_STORAGE_ID:I
-Landroid/mtp/MtpConstants;->PROPERTY_SUBSCRIPTION_CONTENT_ID:I
-Landroid/mtp/MtpConstants;->PROPERTY_SUBTITLE:I
-Landroid/mtp/MtpConstants;->PROPERTY_SUB_DESCRIPTION:I
-Landroid/mtp/MtpConstants;->PROPERTY_SYNC_ID:I
-Landroid/mtp/MtpConstants;->PROPERTY_SYSTEM_OBJECT:I
-Landroid/mtp/MtpConstants;->PROPERTY_TOTAL_BITRATE:I
-Landroid/mtp/MtpConstants;->PROPERTY_TRACK:I
-Landroid/mtp/MtpConstants;->PROPERTY_URL_REFERENCE:I
-Landroid/mtp/MtpConstants;->PROPERTY_USE_COUNT:I
-Landroid/mtp/MtpConstants;->PROPERTY_VIDEO_BITRATE:I
-Landroid/mtp/MtpConstants;->PROPERTY_VIDEO_FOURCC_CODEC:I
-Landroid/mtp/MtpConstants;->PROPERTY_WIDTH:I
-Landroid/mtp/MtpConstants;->RESPONSE_ACCESS_DENIED:I
-Landroid/mtp/MtpConstants;->RESPONSE_CAPTURE_ALREADY_TERMINATED:I
-Landroid/mtp/MtpConstants;->RESPONSE_DEVICE_BUSY:I
-Landroid/mtp/MtpConstants;->RESPONSE_DEVICE_PROP_NOT_SUPPORTED:I
-Landroid/mtp/MtpConstants;->RESPONSE_GENERAL_ERROR:I
-Landroid/mtp/MtpConstants;->RESPONSE_GROUP_NOT_SUPPORTED:I
-Landroid/mtp/MtpConstants;->RESPONSE_INCOMPLETE_TRANSFER:I
-Landroid/mtp/MtpConstants;->RESPONSE_INVALID_CODE_FORMAT:I
-Landroid/mtp/MtpConstants;->RESPONSE_INVALID_DATASET:I
-Landroid/mtp/MtpConstants;->RESPONSE_INVALID_DEVICE_PROP_FORMAT:I
-Landroid/mtp/MtpConstants;->RESPONSE_INVALID_DEVICE_PROP_VALUE:I
-Landroid/mtp/MtpConstants;->RESPONSE_INVALID_OBJECT_FORMAT_CODE:I
-Landroid/mtp/MtpConstants;->RESPONSE_INVALID_OBJECT_HANDLE:I
-Landroid/mtp/MtpConstants;->RESPONSE_INVALID_OBJECT_PROP_CODE:I
-Landroid/mtp/MtpConstants;->RESPONSE_INVALID_OBJECT_PROP_FORMAT:I
-Landroid/mtp/MtpConstants;->RESPONSE_INVALID_OBJECT_PROP_VALUE:I
-Landroid/mtp/MtpConstants;->RESPONSE_INVALID_OBJECT_REFERENCE:I
-Landroid/mtp/MtpConstants;->RESPONSE_INVALID_PARAMETER:I
-Landroid/mtp/MtpConstants;->RESPONSE_INVALID_PARENT_OBJECT:I
-Landroid/mtp/MtpConstants;->RESPONSE_INVALID_STORAGE_ID:I
-Landroid/mtp/MtpConstants;->RESPONSE_INVALID_TRANSACTION_ID:I
-Landroid/mtp/MtpConstants;->RESPONSE_NO_THUMBNAIL_PRESENT:I
-Landroid/mtp/MtpConstants;->RESPONSE_NO_VALID_OBJECT_INFO:I
-Landroid/mtp/MtpConstants;->RESPONSE_OBJECT_PROP_NOT_SUPPORTED:I
-Landroid/mtp/MtpConstants;->RESPONSE_OBJECT_TOO_LARGE:I
-Landroid/mtp/MtpConstants;->RESPONSE_OBJECT_WRITE_PROTECTED:I
-Landroid/mtp/MtpConstants;->RESPONSE_OK:I
-Landroid/mtp/MtpConstants;->RESPONSE_OPERATION_NOT_SUPPORTED:I
-Landroid/mtp/MtpConstants;->RESPONSE_PARAMETER_NOT_SUPPORTED:I
-Landroid/mtp/MtpConstants;->RESPONSE_PARTIAL_DELETION:I
-Landroid/mtp/MtpConstants;->RESPONSE_SELF_TEST_FAILED:I
-Landroid/mtp/MtpConstants;->RESPONSE_SESSION_ALREADY_OPEN:I
-Landroid/mtp/MtpConstants;->RESPONSE_SESSION_NOT_OPEN:I
-Landroid/mtp/MtpConstants;->RESPONSE_SPECIFICATION_BY_DEPTH_UNSUPPORTED:I
-Landroid/mtp/MtpConstants;->RESPONSE_SPECIFICATION_BY_FORMAT_UNSUPPORTED:I
-Landroid/mtp/MtpConstants;->RESPONSE_SPECIFICATION_BY_GROUP_UNSUPPORTED:I
-Landroid/mtp/MtpConstants;->RESPONSE_SPECIFICATION_OF_DESTINATION_UNSUPPORTED:I
-Landroid/mtp/MtpConstants;->RESPONSE_STORAGE_FULL:I
-Landroid/mtp/MtpConstants;->RESPONSE_STORE_NOT_AVAILABLE:I
-Landroid/mtp/MtpConstants;->RESPONSE_STORE_READ_ONLY:I
-Landroid/mtp/MtpConstants;->RESPONSE_TRANSACTION_CANCELLED:I
-Landroid/mtp/MtpConstants;->RESPONSE_UNDEFINED:I
-Landroid/mtp/MtpConstants;->RESPONSE_UNKNOWN_VENDOR_CODE:I
-Landroid/mtp/MtpConstants;->TYPE_AINT128:I
-Landroid/mtp/MtpConstants;->TYPE_AINT16:I
-Landroid/mtp/MtpConstants;->TYPE_AINT32:I
-Landroid/mtp/MtpConstants;->TYPE_AINT64:I
-Landroid/mtp/MtpConstants;->TYPE_AINT8:I
-Landroid/mtp/MtpConstants;->TYPE_AUINT128:I
-Landroid/mtp/MtpConstants;->TYPE_AUINT16:I
-Landroid/mtp/MtpConstants;->TYPE_AUINT32:I
-Landroid/mtp/MtpConstants;->TYPE_AUINT64:I
-Landroid/mtp/MtpConstants;->TYPE_AUINT8:I
-Landroid/mtp/MtpConstants;->TYPE_INT128:I
-Landroid/mtp/MtpConstants;->TYPE_INT16:I
-Landroid/mtp/MtpConstants;->TYPE_INT32:I
-Landroid/mtp/MtpConstants;->TYPE_INT64:I
-Landroid/mtp/MtpConstants;->TYPE_INT8:I
-Landroid/mtp/MtpConstants;->TYPE_STR:I
-Landroid/mtp/MtpConstants;->TYPE_UINT128:I
-Landroid/mtp/MtpConstants;->TYPE_UINT16:I
-Landroid/mtp/MtpConstants;->TYPE_UINT32:I
-Landroid/mtp/MtpConstants;->TYPE_UINT64:I
-Landroid/mtp/MtpConstants;->TYPE_UINT8:I
-Landroid/mtp/MtpConstants;->TYPE_UNDEFINED:I
-Landroid/mtp/MtpDatabase;
-Landroid/mtp/MtpDatabase;-><init>(Landroid/content/Context;Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/mtp/MtpDatabase;->addStorage(Landroid/os/storage/StorageVolume;)V
-Landroid/mtp/MtpDatabase;->AUDIO_PROPERTIES:[I
-Landroid/mtp/MtpDatabase;->beginCopyObject(III)I
-Landroid/mtp/MtpDatabase;->beginDeleteObject(I)I
-Landroid/mtp/MtpDatabase;->beginMoveObject(III)I
-Landroid/mtp/MtpDatabase;->beginSendObject(Ljava/lang/String;III)I
-Landroid/mtp/MtpDatabase;->deleteFromMedia(Ljava/nio/file/Path;Z)V
-Landroid/mtp/MtpDatabase;->DEVICE_PROPERTIES:[I
-Landroid/mtp/MtpDatabase;->endCopyObject(IZ)V
-Landroid/mtp/MtpDatabase;->endDeleteObject(IZ)V
-Landroid/mtp/MtpDatabase;->endMoveObject(IIIIIZ)V
-Landroid/mtp/MtpDatabase;->endSendObject(IZ)V
-Landroid/mtp/MtpDatabase;->FILE_PROPERTIES:[I
-Landroid/mtp/MtpDatabase;->findInMedia(Ljava/nio/file/Path;)I
-Landroid/mtp/MtpDatabase;->getDeviceProperty(I[J[C)I
-Landroid/mtp/MtpDatabase;->getNumObjects(III)I
-Landroid/mtp/MtpDatabase;->getObjectFilePath(I[C[J)I
-Landroid/mtp/MtpDatabase;->getObjectFormat(I)I
-Landroid/mtp/MtpDatabase;->getObjectInfo(I[I[C[J)Z
-Landroid/mtp/MtpDatabase;->getObjectList(III)[I
-Landroid/mtp/MtpDatabase;->getObjectPropertyList(IIIII)Landroid/mtp/MtpPropertyList;
-Landroid/mtp/MtpDatabase;->getObjectReferences(I)[I
-Landroid/mtp/MtpDatabase;->getSupportedCaptureFormats()[I
-Landroid/mtp/MtpDatabase;->getSupportedDeviceProperties()[I
-Landroid/mtp/MtpDatabase;->getSupportedObjectProperties(I)[I
-Landroid/mtp/MtpDatabase;->getSupportedPlaybackFormats()[I
-Landroid/mtp/MtpDatabase;->ID_PROJECTION:[Ljava/lang/String;
-Landroid/mtp/MtpDatabase;->IMAGE_PROPERTIES:[I
-Landroid/mtp/MtpDatabase;->initDeviceProperties(Landroid/content/Context;)V
-Landroid/mtp/MtpDatabase;->mBatteryLevel:I
-Landroid/mtp/MtpDatabase;->mBatteryReceiver:Landroid/content/BroadcastReceiver;
-Landroid/mtp/MtpDatabase;->mBatteryScale:I
-Landroid/mtp/MtpDatabase;->mClosed:Ljava/util/concurrent/atomic/AtomicBoolean;
-Landroid/mtp/MtpDatabase;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/mtp/MtpDatabase;->mContext:Landroid/content/Context;
-Landroid/mtp/MtpDatabase;->mDeviceProperties:Landroid/content/SharedPreferences;
-Landroid/mtp/MtpDatabase;->mDeviceType:I
-Landroid/mtp/MtpDatabase;->mManager:Landroid/mtp/MtpStorageManager;
-Landroid/mtp/MtpDatabase;->mMediaProvider:Landroid/content/ContentProviderClient;
-Landroid/mtp/MtpDatabase;->mMediaScanner:Landroid/media/MediaScanner;
-Landroid/mtp/MtpDatabase;->mNativeContext:J
-Landroid/mtp/MtpDatabase;->mObjectsUri:Landroid/net/Uri;
-Landroid/mtp/MtpDatabase;->mPropertyGroupsByFormat:Ljava/util/HashMap;
-Landroid/mtp/MtpDatabase;->mPropertyGroupsByProperty:Ljava/util/HashMap;
-Landroid/mtp/MtpDatabase;->mServer:Landroid/mtp/MtpServer;
-Landroid/mtp/MtpDatabase;->mStorageMap:Ljava/util/HashMap;
-Landroid/mtp/MtpDatabase;->mVolumeName:Ljava/lang/String;
-Landroid/mtp/MtpDatabase;->native_finalize()V
-Landroid/mtp/MtpDatabase;->native_setup()V
-Landroid/mtp/MtpDatabase;->NO_MEDIA:Ljava/lang/String;
-Landroid/mtp/MtpDatabase;->PATH_PROJECTION:[Ljava/lang/String;
-Landroid/mtp/MtpDatabase;->PATH_WHERE:Ljava/lang/String;
-Landroid/mtp/MtpDatabase;->PLAYBACK_FORMATS:[I
-Landroid/mtp/MtpDatabase;->removeStorage(Landroid/os/storage/StorageVolume;)V
-Landroid/mtp/MtpDatabase;->renameFile(ILjava/lang/String;)I
-Landroid/mtp/MtpDatabase;->rescanFile(Ljava/lang/String;II)V
-Landroid/mtp/MtpDatabase;->setDeviceProperty(IJLjava/lang/String;)I
-Landroid/mtp/MtpDatabase;->setObjectProperty(IIJLjava/lang/String;)I
-Landroid/mtp/MtpDatabase;->setObjectReferences(I[I)I
-Landroid/mtp/MtpDatabase;->setServer(Landroid/mtp/MtpServer;)V
-Landroid/mtp/MtpDatabase;->TAG:Ljava/lang/String;
-Landroid/mtp/MtpDatabase;->VIDEO_PROPERTIES:[I
-Landroid/mtp/MtpDevice;->getObjectSizeLong(II)J
-Landroid/mtp/MtpDevice;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/mtp/MtpDevice;->mConnection:Landroid/hardware/usb/UsbDeviceConnection;
-Landroid/mtp/MtpDevice;->mDevice:Landroid/hardware/usb/UsbDevice;
-Landroid/mtp/MtpDevice;->mLock:Ljava/lang/Object;
-Landroid/mtp/MtpDevice;->mNativeContext:J
-Landroid/mtp/MtpDevice;->native_close()V
-Landroid/mtp/MtpDevice;->native_delete_object(I)Z
-Landroid/mtp/MtpDevice;->native_discard_event_request(I)V
-Landroid/mtp/MtpDevice;->native_get_device_info()Landroid/mtp/MtpDeviceInfo;
-Landroid/mtp/MtpDevice;->native_get_object(IJ)[B
-Landroid/mtp/MtpDevice;->native_get_object_handles(III)[I
-Landroid/mtp/MtpDevice;->native_get_object_info(I)Landroid/mtp/MtpObjectInfo;
-Landroid/mtp/MtpDevice;->native_get_object_size_long(II)J
-Landroid/mtp/MtpDevice;->native_get_parent(I)I
-Landroid/mtp/MtpDevice;->native_get_partial_object(IJJ[B)J
-Landroid/mtp/MtpDevice;->native_get_partial_object_64(IJJ[B)I
-Landroid/mtp/MtpDevice;->native_get_storage_id(I)I
-Landroid/mtp/MtpDevice;->native_get_storage_ids()[I
-Landroid/mtp/MtpDevice;->native_get_storage_info(I)Landroid/mtp/MtpStorageInfo;
-Landroid/mtp/MtpDevice;->native_get_thumbnail(I)[B
-Landroid/mtp/MtpDevice;->native_import_file(II)Z
-Landroid/mtp/MtpDevice;->native_import_file(ILjava/lang/String;)Z
-Landroid/mtp/MtpDevice;->native_open(Ljava/lang/String;I)Z
-Landroid/mtp/MtpDevice;->native_reap_event_request(I)Landroid/mtp/MtpEvent;
-Landroid/mtp/MtpDevice;->native_send_object(IJI)Z
-Landroid/mtp/MtpDevice;->native_send_object_info(Landroid/mtp/MtpObjectInfo;)Landroid/mtp/MtpObjectInfo;
-Landroid/mtp/MtpDevice;->native_submit_event_request()I
-Landroid/mtp/MtpDevice;->TAG:Ljava/lang/String;
-Landroid/mtp/MtpDeviceInfo;-><init>()V
-Landroid/mtp/MtpDeviceInfo;->isSupported([II)Z
-Landroid/mtp/MtpDeviceInfo;->mEventsSupported:[I
-Landroid/mtp/MtpDeviceInfo;->mManufacturer:Ljava/lang/String;
-Landroid/mtp/MtpDeviceInfo;->mModel:Ljava/lang/String;
-Landroid/mtp/MtpDeviceInfo;->mOperationsSupported:[I
-Landroid/mtp/MtpDeviceInfo;->mSerialNumber:Ljava/lang/String;
-Landroid/mtp/MtpDeviceInfo;->mVersion:Ljava/lang/String;
-Landroid/mtp/MtpEvent$IllegalParameterAccess;
-Landroid/mtp/MtpEvent$IllegalParameterAccess;-><init>(Ljava/lang/String;I)V
-Landroid/mtp/MtpEvent;-><init>()V
-Landroid/mtp/MtpEvent;->mEventCode:I
-Landroid/mtp/MtpEvent;->mParameter1:I
-Landroid/mtp/MtpEvent;->mParameter2:I
-Landroid/mtp/MtpEvent;->mParameter3:I
-Landroid/mtp/MtpObjectInfo$Builder;->mObjectInfo:Landroid/mtp/MtpObjectInfo;
-Landroid/mtp/MtpObjectInfo;-><init>()V
-Landroid/mtp/MtpObjectInfo;->longToUint32(JLjava/lang/String;)I
-Landroid/mtp/MtpObjectInfo;->mAssociationDesc:I
-Landroid/mtp/MtpObjectInfo;->mAssociationType:I
-Landroid/mtp/MtpObjectInfo;->mCompressedSize:I
-Landroid/mtp/MtpObjectInfo;->mDateCreated:J
-Landroid/mtp/MtpObjectInfo;->mDateModified:J
-Landroid/mtp/MtpObjectInfo;->mFormat:I
-Landroid/mtp/MtpObjectInfo;->mHandle:I
-Landroid/mtp/MtpObjectInfo;->mImagePixDepth:I
-Landroid/mtp/MtpObjectInfo;->mImagePixHeight:I
-Landroid/mtp/MtpObjectInfo;->mImagePixWidth:I
-Landroid/mtp/MtpObjectInfo;->mKeywords:Ljava/lang/String;
-Landroid/mtp/MtpObjectInfo;->mName:Ljava/lang/String;
-Landroid/mtp/MtpObjectInfo;->mParent:I
-Landroid/mtp/MtpObjectInfo;->mProtectionStatus:I
-Landroid/mtp/MtpObjectInfo;->mSequenceNumber:I
-Landroid/mtp/MtpObjectInfo;->mStorageId:I
-Landroid/mtp/MtpObjectInfo;->mThumbCompressedSize:I
-Landroid/mtp/MtpObjectInfo;->mThumbFormat:I
-Landroid/mtp/MtpObjectInfo;->mThumbPixHeight:I
-Landroid/mtp/MtpObjectInfo;->mThumbPixWidth:I
-Landroid/mtp/MtpObjectInfo;->uint32ToLong(I)J
-Landroid/mtp/MtpPropertyGroup$Property;
-Landroid/mtp/MtpPropertyGroup$Property;-><init>(III)V
-Landroid/mtp/MtpPropertyGroup$Property;->code:I
-Landroid/mtp/MtpPropertyGroup$Property;->column:I
-Landroid/mtp/MtpPropertyGroup$Property;->type:I
-Landroid/mtp/MtpPropertyGroup;
-Landroid/mtp/MtpPropertyGroup;-><init>(Landroid/content/ContentProviderClient;Ljava/lang/String;[I)V
-Landroid/mtp/MtpPropertyGroup;->createProperty(ILjava/util/ArrayList;)Landroid/mtp/MtpPropertyGroup$Property;
-Landroid/mtp/MtpPropertyGroup;->format_date_time(J)Ljava/lang/String;
-Landroid/mtp/MtpPropertyGroup;->getPropertyList(Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpPropertyList;)I
-Landroid/mtp/MtpPropertyGroup;->mColumns:[Ljava/lang/String;
-Landroid/mtp/MtpPropertyGroup;->mProperties:[Landroid/mtp/MtpPropertyGroup$Property;
-Landroid/mtp/MtpPropertyGroup;->mProvider:Landroid/content/ContentProviderClient;
-Landroid/mtp/MtpPropertyGroup;->mUri:Landroid/net/Uri;
-Landroid/mtp/MtpPropertyGroup;->mVolumeName:Ljava/lang/String;
-Landroid/mtp/MtpPropertyGroup;->PATH_WHERE:Ljava/lang/String;
-Landroid/mtp/MtpPropertyGroup;->queryAudio(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/mtp/MtpPropertyGroup;->queryGenre(Ljava/lang/String;)Ljava/lang/String;
-Landroid/mtp/MtpPropertyGroup;->TAG:Ljava/lang/String;
-Landroid/mtp/MtpPropertyList;
-Landroid/mtp/MtpPropertyList;-><init>(I)V
-Landroid/mtp/MtpPropertyList;->getCode()I
-Landroid/mtp/MtpPropertyList;->getCount()I
-Landroid/mtp/MtpPropertyList;->getDataTypes()[I
-Landroid/mtp/MtpPropertyList;->getLongValues()[J
-Landroid/mtp/MtpPropertyList;->getObjectHandles()[I
-Landroid/mtp/MtpPropertyList;->getPropertyCodes()[I
-Landroid/mtp/MtpPropertyList;->getStringValues()[Ljava/lang/String;
-Landroid/mtp/MtpPropertyList;->mCode:I
-Landroid/mtp/MtpPropertyList;->mDataTypes:Ljava/util/List;
-Landroid/mtp/MtpPropertyList;->mLongValues:Ljava/util/List;
-Landroid/mtp/MtpPropertyList;->mObjectHandles:Ljava/util/List;
-Landroid/mtp/MtpPropertyList;->mPropertyCodes:Ljava/util/List;
-Landroid/mtp/MtpPropertyList;->mStringValues:Ljava/util/List;
-Landroid/mtp/MtpServer;
-Landroid/mtp/MtpServer;-><init>(Landroid/mtp/MtpDatabase;Ljava/io/FileDescriptor;ZLjava/lang/Runnable;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/mtp/MtpServer;->addStorage(Landroid/mtp/MtpStorage;)V
-Landroid/mtp/MtpServer;->configure(Z)V
-Landroid/mtp/MtpServer;->mDatabase:Landroid/mtp/MtpDatabase;
-Landroid/mtp/MtpServer;->mNativeContext:J
-Landroid/mtp/MtpServer;->mOnTerminate:Ljava/lang/Runnable;
-Landroid/mtp/MtpServer;->native_add_storage(Landroid/mtp/MtpStorage;)V
-Landroid/mtp/MtpServer;->native_cleanup()V
-Landroid/mtp/MtpServer;->native_configure(Z)V
-Landroid/mtp/MtpServer;->native_remove_storage(I)V
-Landroid/mtp/MtpServer;->native_run()V
-Landroid/mtp/MtpServer;->native_send_device_property_changed(I)V
-Landroid/mtp/MtpServer;->native_send_object_added(I)V
-Landroid/mtp/MtpServer;->native_send_object_removed(I)V
-Landroid/mtp/MtpServer;->native_setup(Landroid/mtp/MtpDatabase;Ljava/io/FileDescriptor;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/mtp/MtpServer;->removeStorage(Landroid/mtp/MtpStorage;)V
-Landroid/mtp/MtpServer;->sendDevicePropertyChanged(I)V
-Landroid/mtp/MtpServer;->sendObjectAdded(I)V
-Landroid/mtp/MtpServer;->sendObjectRemoved(I)V
-Landroid/mtp/MtpServer;->start()V
-Landroid/mtp/MtpStorage;
-Landroid/mtp/MtpStorage;-><init>(Landroid/os/storage/StorageVolume;I)V
-Landroid/mtp/MtpStorage;->getDescription()Ljava/lang/String;
-Landroid/mtp/MtpStorage;->getMaxFileSize()J
-Landroid/mtp/MtpStorage;->isRemovable()Z
-Landroid/mtp/MtpStorage;->mDescription:Ljava/lang/String;
-Landroid/mtp/MtpStorage;->mMaxFileSize:J
-Landroid/mtp/MtpStorage;->mPath:Ljava/lang/String;
-Landroid/mtp/MtpStorage;->mRemovable:Z
-Landroid/mtp/MtpStorage;->mStorageId:I
-Landroid/mtp/MtpStorageInfo;-><init>()V
-Landroid/mtp/MtpStorageInfo;->mDescription:Ljava/lang/String;
-Landroid/mtp/MtpStorageInfo;->mFreeSpace:J
-Landroid/mtp/MtpStorageInfo;->mMaxCapacity:J
-Landroid/mtp/MtpStorageInfo;->mStorageId:I
-Landroid/mtp/MtpStorageInfo;->mVolumeIdentifier:Ljava/lang/String;
-Landroid/mtp/MtpStorageManager$MtpNotifier;
-Landroid/mtp/MtpStorageManager$MtpNotifier;-><init>()V
-Landroid/mtp/MtpStorageManager$MtpNotifier;->sendObjectAdded(I)V
-Landroid/mtp/MtpStorageManager$MtpNotifier;->sendObjectRemoved(I)V
-Landroid/mtp/MtpStorageManager$MtpObject;
-Landroid/mtp/MtpStorageManager$MtpObject;-><init>(Ljava/lang/String;ILandroid/mtp/MtpStorageManager$MtpObject;Z)V
-Landroid/mtp/MtpStorageManager$MtpObject;->addChild(Landroid/mtp/MtpStorageManager$MtpObject;)V
-Landroid/mtp/MtpStorageManager$MtpObject;->copy(Z)Landroid/mtp/MtpStorageManager$MtpObject;
-Landroid/mtp/MtpStorageManager$MtpObject;->exists()Z
-Landroid/mtp/MtpStorageManager$MtpObject;->getChild(Ljava/lang/String;)Landroid/mtp/MtpStorageManager$MtpObject;
-Landroid/mtp/MtpStorageManager$MtpObject;->getChildren()Ljava/util/Collection;
-Landroid/mtp/MtpStorageManager$MtpObject;->getFormat()I
-Landroid/mtp/MtpStorageManager$MtpObject;->getId()I
-Landroid/mtp/MtpStorageManager$MtpObject;->getModifiedTime()J
-Landroid/mtp/MtpStorageManager$MtpObject;->getName()Ljava/lang/String;
-Landroid/mtp/MtpStorageManager$MtpObject;->getObserver()Landroid/os/FileObserver;
-Landroid/mtp/MtpStorageManager$MtpObject;->getOperation()Landroid/mtp/MtpStorageManager$MtpOperation;
-Landroid/mtp/MtpStorageManager$MtpObject;->getParent()Landroid/mtp/MtpStorageManager$MtpObject;
-Landroid/mtp/MtpStorageManager$MtpObject;->getPath()Ljava/nio/file/Path;
-Landroid/mtp/MtpStorageManager$MtpObject;->getRoot()Landroid/mtp/MtpStorageManager$MtpObject;
-Landroid/mtp/MtpStorageManager$MtpObject;->getSize()J
-Landroid/mtp/MtpStorageManager$MtpObject;->getState()Landroid/mtp/MtpStorageManager$MtpObjectState;
-Landroid/mtp/MtpStorageManager$MtpObject;->getStorageId()I
-Landroid/mtp/MtpStorageManager$MtpObject;->isDir()Z
-Landroid/mtp/MtpStorageManager$MtpObject;->isRoot()Z
-Landroid/mtp/MtpStorageManager$MtpObject;->isVisited()Z
-Landroid/mtp/MtpStorageManager$MtpObject;->mChildren:Ljava/util/HashMap;
-Landroid/mtp/MtpStorageManager$MtpObject;->mId:I
-Landroid/mtp/MtpStorageManager$MtpObject;->mIsDir:Z
-Landroid/mtp/MtpStorageManager$MtpObject;->mName:Ljava/lang/String;
-Landroid/mtp/MtpStorageManager$MtpObject;->mObserver:Landroid/os/FileObserver;
-Landroid/mtp/MtpStorageManager$MtpObject;->mOp:Landroid/mtp/MtpStorageManager$MtpOperation;
-Landroid/mtp/MtpStorageManager$MtpObject;->mParent:Landroid/mtp/MtpStorageManager$MtpObject;
-Landroid/mtp/MtpStorageManager$MtpObject;->mState:Landroid/mtp/MtpStorageManager$MtpObjectState;
-Landroid/mtp/MtpStorageManager$MtpObject;->mVisited:Z
-Landroid/mtp/MtpStorageManager$MtpObject;->setDir(Z)V
-Landroid/mtp/MtpStorageManager$MtpObject;->setId(I)V
-Landroid/mtp/MtpStorageManager$MtpObject;->setName(Ljava/lang/String;)V
-Landroid/mtp/MtpStorageManager$MtpObject;->setObserver(Landroid/os/FileObserver;)V
-Landroid/mtp/MtpStorageManager$MtpObject;->setOperation(Landroid/mtp/MtpStorageManager$MtpOperation;)V
-Landroid/mtp/MtpStorageManager$MtpObject;->setParent(Landroid/mtp/MtpStorageManager$MtpObject;)V
-Landroid/mtp/MtpStorageManager$MtpObject;->setState(Landroid/mtp/MtpStorageManager$MtpObjectState;)V
-Landroid/mtp/MtpStorageManager$MtpObject;->setVisited(Z)V
-Landroid/mtp/MtpStorageManager$MtpObjectObserver;
-Landroid/mtp/MtpStorageManager$MtpObjectObserver;-><init>(Landroid/mtp/MtpStorageManager$MtpObject;)V
-Landroid/mtp/MtpStorageManager$MtpObjectObserver;->mObject:Landroid/mtp/MtpStorageManager$MtpObject;
-Landroid/mtp/MtpStorageManager$MtpObjectState;
-Landroid/mtp/MtpStorageManager$MtpObjectState;-><init>()V
-Landroid/mtp/MtpStorageManager$MtpObjectState;->FROZEN:Landroid/mtp/MtpStorageManager$MtpObjectState;
-Landroid/mtp/MtpStorageManager$MtpObjectState;->FROZEN_ADDED:Landroid/mtp/MtpStorageManager$MtpObjectState;
-Landroid/mtp/MtpStorageManager$MtpObjectState;->FROZEN_ONESHOT_ADD:Landroid/mtp/MtpStorageManager$MtpObjectState;
-Landroid/mtp/MtpStorageManager$MtpObjectState;->FROZEN_ONESHOT_DEL:Landroid/mtp/MtpStorageManager$MtpObjectState;
-Landroid/mtp/MtpStorageManager$MtpObjectState;->FROZEN_REMOVED:Landroid/mtp/MtpStorageManager$MtpObjectState;
-Landroid/mtp/MtpStorageManager$MtpObjectState;->NORMAL:Landroid/mtp/MtpStorageManager$MtpObjectState;
-Landroid/mtp/MtpStorageManager$MtpObjectState;->valueOf(Ljava/lang/String;)Landroid/mtp/MtpStorageManager$MtpObjectState;
-Landroid/mtp/MtpStorageManager$MtpObjectState;->values()[Landroid/mtp/MtpStorageManager$MtpObjectState;
-Landroid/mtp/MtpStorageManager$MtpOperation;
-Landroid/mtp/MtpStorageManager$MtpOperation;-><init>()V
-Landroid/mtp/MtpStorageManager$MtpOperation;->ADD:Landroid/mtp/MtpStorageManager$MtpOperation;
-Landroid/mtp/MtpStorageManager$MtpOperation;->COPY:Landroid/mtp/MtpStorageManager$MtpOperation;
-Landroid/mtp/MtpStorageManager$MtpOperation;->DELETE:Landroid/mtp/MtpStorageManager$MtpOperation;
-Landroid/mtp/MtpStorageManager$MtpOperation;->NONE:Landroid/mtp/MtpStorageManager$MtpOperation;
-Landroid/mtp/MtpStorageManager$MtpOperation;->RENAME:Landroid/mtp/MtpStorageManager$MtpOperation;
-Landroid/mtp/MtpStorageManager$MtpOperation;->valueOf(Ljava/lang/String;)Landroid/mtp/MtpStorageManager$MtpOperation;
-Landroid/mtp/MtpStorageManager$MtpOperation;->values()[Landroid/mtp/MtpStorageManager$MtpOperation;
-Landroid/mtp/MtpStorageManager;
-Landroid/mtp/MtpStorageManager;-><init>(Landroid/mtp/MtpStorageManager$MtpNotifier;Ljava/util/Set;)V
-Landroid/mtp/MtpStorageManager;->addMtpStorage(Landroid/os/storage/StorageVolume;)Landroid/mtp/MtpStorage;
-Landroid/mtp/MtpStorageManager;->addObjectToCache(Landroid/mtp/MtpStorageManager$MtpObject;Ljava/lang/String;Z)Landroid/mtp/MtpStorageManager$MtpObject;
-Landroid/mtp/MtpStorageManager;->beginCopyObject(Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpStorageManager$MtpObject;)I
-Landroid/mtp/MtpStorageManager;->beginMoveObject(Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpStorageManager$MtpObject;)Z
-Landroid/mtp/MtpStorageManager;->beginRemoveObject(Landroid/mtp/MtpStorageManager$MtpObject;)Z
-Landroid/mtp/MtpStorageManager;->beginRenameObject(Landroid/mtp/MtpStorageManager$MtpObject;Ljava/lang/String;)Z
-Landroid/mtp/MtpStorageManager;->beginSendObject(Landroid/mtp/MtpStorageManager$MtpObject;Ljava/lang/String;I)I
-Landroid/mtp/MtpStorageManager;->checkConsistency()Z
-Landroid/mtp/MtpStorageManager;->close()V
-Landroid/mtp/MtpStorageManager;->dump()V
-Landroid/mtp/MtpStorageManager;->endCopyObject(Landroid/mtp/MtpStorageManager$MtpObject;Z)Z
-Landroid/mtp/MtpStorageManager;->endMoveObject(Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpStorageManager$MtpObject;Ljava/lang/String;Z)Z
-Landroid/mtp/MtpStorageManager;->endRemoveObject(Landroid/mtp/MtpStorageManager$MtpObject;Z)Z
-Landroid/mtp/MtpStorageManager;->endRenameObject(Landroid/mtp/MtpStorageManager$MtpObject;Ljava/lang/String;Z)Z
-Landroid/mtp/MtpStorageManager;->endSendObject(Landroid/mtp/MtpStorageManager$MtpObject;Z)Z
-Landroid/mtp/MtpStorageManager;->flushEvents()V
-Landroid/mtp/MtpStorageManager;->generalBeginCopyObject(Landroid/mtp/MtpStorageManager$MtpObject;Z)Z
-Landroid/mtp/MtpStorageManager;->generalBeginRemoveObject(Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpStorageManager$MtpOperation;)Z
-Landroid/mtp/MtpStorageManager;->generalBeginRenameObject(Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpStorageManager$MtpObject;)Z
-Landroid/mtp/MtpStorageManager;->generalEndAddObject(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
-Landroid/mtp/MtpStorageManager;->generalEndCopyObject(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
-Landroid/mtp/MtpStorageManager;->generalEndRemoveObject(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
-Landroid/mtp/MtpStorageManager;->generalEndRenameObject(Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpStorageManager$MtpObject;Z)Z
-Landroid/mtp/MtpStorageManager;->getByPath(Ljava/lang/String;)Landroid/mtp/MtpStorageManager$MtpObject;
-Landroid/mtp/MtpStorageManager;->getChildren(Landroid/mtp/MtpStorageManager$MtpObject;)Ljava/util/Collection;
-Landroid/mtp/MtpStorageManager;->getNextObjectId()I
-Landroid/mtp/MtpStorageManager;->getNextStorageId()I
-Landroid/mtp/MtpStorageManager;->getObject(I)Landroid/mtp/MtpStorageManager$MtpObject;
-Landroid/mtp/MtpStorageManager;->getObjects(III)Ljava/util/stream/Stream;
-Landroid/mtp/MtpStorageManager;->getObjects(Landroid/mtp/MtpStorageManager$MtpObject;IZ)Ljava/util/stream/Stream;
-Landroid/mtp/MtpStorageManager;->getStorageRoot(I)Landroid/mtp/MtpStorageManager$MtpObject;
-Landroid/mtp/MtpStorageManager;->handleAddedObject(Landroid/mtp/MtpStorageManager$MtpObject;Ljava/lang/String;Z)V
-Landroid/mtp/MtpStorageManager;->handleRemovedObject(Landroid/mtp/MtpStorageManager$MtpObject;)V
-Landroid/mtp/MtpStorageManager;->IN_IGNORED:I
-Landroid/mtp/MtpStorageManager;->IN_ISDIR:I
-Landroid/mtp/MtpStorageManager;->IN_ONLYDIR:I
-Landroid/mtp/MtpStorageManager;->IN_Q_OVERFLOW:I
-Landroid/mtp/MtpStorageManager;->isSpecialSubDir(Landroid/mtp/MtpStorageManager$MtpObject;)Z
-Landroid/mtp/MtpStorageManager;->mCheckConsistency:Z
-Landroid/mtp/MtpStorageManager;->mConsistencyThread:Ljava/lang/Thread;
-Landroid/mtp/MtpStorageManager;->mMtpNotifier:Landroid/mtp/MtpStorageManager$MtpNotifier;
-Landroid/mtp/MtpStorageManager;->mNextObjectId:I
-Landroid/mtp/MtpStorageManager;->mNextStorageId:I
-Landroid/mtp/MtpStorageManager;->mObjects:Ljava/util/HashMap;
-Landroid/mtp/MtpStorageManager;->mRoots:Ljava/util/HashMap;
-Landroid/mtp/MtpStorageManager;->mSubdirectories:Ljava/util/Set;
-Landroid/mtp/MtpStorageManager;->removeMtpStorage(Landroid/mtp/MtpStorage;)V
-Landroid/mtp/MtpStorageManager;->removeObjectFromCache(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
-Landroid/mtp/MtpStorageManager;->sDebug:Z
-Landroid/mtp/MtpStorageManager;->setSubdirectories(Ljava/util/Set;)V
-Landroid/mtp/MtpStorageManager;->TAG:Ljava/lang/String;
-Landroid/net/CaptivePortal;-><init>(Landroid/os/IBinder;)V
-Landroid/net/CaptivePortal;->APP_RETURN_DISMISSED:I
-Landroid/net/CaptivePortal;->APP_RETURN_UNWANTED:I
-Landroid/net/CaptivePortal;->APP_RETURN_WANTED_AS_IS:I
-Landroid/net/CaptivePortal;->mBinder:Landroid/os/IBinder;
-Landroid/net/CaptivePortal;->useNetwork()V
-Landroid/net/ConnectivityManager$CallbackHandler;
-Landroid/net/ConnectivityManager$CallbackHandler;-><init>(Landroid/os/Handler;)V
-Landroid/net/ConnectivityManager$CallbackHandler;-><init>(Landroid/os/Looper;)V
-Landroid/net/ConnectivityManager$CallbackHandler;->DBG:Z
-Landroid/net/ConnectivityManager$CallbackHandler;->getObject(Landroid/os/Message;Ljava/lang/Class;)Ljava/lang/Object;
-Landroid/net/ConnectivityManager$CallbackHandler;->TAG:Ljava/lang/String;
-Landroid/net/ConnectivityManager$Errors;
-Landroid/net/ConnectivityManager$Errors;->TOO_MANY_REQUESTS:I
-Landroid/net/ConnectivityManager$LegacyRequest;
-Landroid/net/ConnectivityManager$LegacyRequest;-><init>()V
-Landroid/net/ConnectivityManager$LegacyRequest;->clearDnsBinding()V
-Landroid/net/ConnectivityManager$LegacyRequest;->currentNetwork:Landroid/net/Network;
-Landroid/net/ConnectivityManager$LegacyRequest;->delay:I
-Landroid/net/ConnectivityManager$LegacyRequest;->expireSequenceNumber:I
-Landroid/net/ConnectivityManager$LegacyRequest;->networkCallback:Landroid/net/ConnectivityManager$NetworkCallback;
-Landroid/net/ConnectivityManager$LegacyRequest;->networkCapabilities:Landroid/net/NetworkCapabilities;
-Landroid/net/ConnectivityManager$LegacyRequest;->networkRequest:Landroid/net/NetworkRequest;
-Landroid/net/ConnectivityManager$MultipathPreference;
-Landroid/net/ConnectivityManager$NetworkCallback;->networkRequest:Landroid/net/NetworkRequest;
-Landroid/net/ConnectivityManager$NetworkCallback;->onAvailable(Landroid/net/Network;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;)V
-Landroid/net/ConnectivityManager$NetworkCallback;->onNetworkResumed(Landroid/net/Network;)V
-Landroid/net/ConnectivityManager$NetworkCallback;->onNetworkSuspended(Landroid/net/Network;)V
-Landroid/net/ConnectivityManager$NetworkCallback;->onPreCheck(Landroid/net/Network;)V
-Landroid/net/ConnectivityManager$PacketKeepalive;
-Landroid/net/ConnectivityManager$PacketKeepalive;-><init>(Landroid/net/Network;Landroid/net/ConnectivityManager$PacketKeepaliveCallback;)V
-Landroid/net/ConnectivityManager$PacketKeepalive;->BINDER_DIED:I
-Landroid/net/ConnectivityManager$PacketKeepalive;->ERROR_HARDWARE_ERROR:I
-Landroid/net/ConnectivityManager$PacketKeepalive;->ERROR_HARDWARE_UNSUPPORTED:I
-Landroid/net/ConnectivityManager$PacketKeepalive;->ERROR_INVALID_INTERVAL:I
-Landroid/net/ConnectivityManager$PacketKeepalive;->ERROR_INVALID_IP_ADDRESS:I
-Landroid/net/ConnectivityManager$PacketKeepalive;->ERROR_INVALID_LENGTH:I
-Landroid/net/ConnectivityManager$PacketKeepalive;->ERROR_INVALID_NETWORK:I
-Landroid/net/ConnectivityManager$PacketKeepalive;->ERROR_INVALID_PORT:I
-Landroid/net/ConnectivityManager$PacketKeepalive;->mCallback:Landroid/net/ConnectivityManager$PacketKeepaliveCallback;
-Landroid/net/ConnectivityManager$PacketKeepalive;->MIN_INTERVAL:I
-Landroid/net/ConnectivityManager$PacketKeepalive;->mLooper:Landroid/os/Looper;
-Landroid/net/ConnectivityManager$PacketKeepalive;->mMessenger:Landroid/os/Messenger;
-Landroid/net/ConnectivityManager$PacketKeepalive;->mNetwork:Landroid/net/Network;
-Landroid/net/ConnectivityManager$PacketKeepalive;->mSlot:Ljava/lang/Integer;
-Landroid/net/ConnectivityManager$PacketKeepalive;->NATT_PORT:I
-Landroid/net/ConnectivityManager$PacketKeepalive;->NO_KEEPALIVE:I
-Landroid/net/ConnectivityManager$PacketKeepalive;->stopLooper()V
-Landroid/net/ConnectivityManager$PacketKeepalive;->SUCCESS:I
-Landroid/net/ConnectivityManager$PacketKeepalive;->TAG:Ljava/lang/String;
-Landroid/net/ConnectivityManager$PacketKeepaliveCallback;
-Landroid/net/ConnectivityManager$RestrictBackgroundStatus;
-Landroid/net/ConnectivityManager$TooManyRequestsException;
-Landroid/net/ConnectivityManager$TooManyRequestsException;-><init>()V
-Landroid/net/ConnectivityManager;-><init>(Landroid/content/Context;Landroid/net/IConnectivityManager;)V
-Landroid/net/ConnectivityManager;->ACTION_CAPTIVE_PORTAL_TEST_COMPLETED:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->ACTION_DATA_ACTIVITY_CHANGE:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->ACTION_PROMPT_LOST_VALIDATION:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->ACTION_PROMPT_UNVALIDATED:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->ALREADY_UNREGISTERED:Landroid/net/NetworkRequest;
-Landroid/net/ConnectivityManager;->BASE:I
-Landroid/net/ConnectivityManager;->CALLBACK_AVAILABLE:I
-Landroid/net/ConnectivityManager;->CALLBACK_CAP_CHANGED:I
-Landroid/net/ConnectivityManager;->CALLBACK_IP_CHANGED:I
-Landroid/net/ConnectivityManager;->CALLBACK_LOSING:I
-Landroid/net/ConnectivityManager;->CALLBACK_LOST:I
-Landroid/net/ConnectivityManager;->CALLBACK_PRECHECK:I
-Landroid/net/ConnectivityManager;->CALLBACK_RESUMED:I
-Landroid/net/ConnectivityManager;->CALLBACK_SUSPENDED:I
-Landroid/net/ConnectivityManager;->CALLBACK_UNAVAIL:I
-Landroid/net/ConnectivityManager;->checkCallbackNotNull(Landroid/net/ConnectivityManager$NetworkCallback;)V
-Landroid/net/ConnectivityManager;->checkLegacyRoutingApiAccess()V
-Landroid/net/ConnectivityManager;->checkMobileProvisioning(I)I
-Landroid/net/ConnectivityManager;->checkPendingIntentNotNull(Landroid/app/PendingIntent;)V
-Landroid/net/ConnectivityManager;->checkTimeout(I)V
-Landroid/net/ConnectivityManager;->CONNECTIVITY_ACTION_SUPL:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->convertServiceException(Landroid/os/ServiceSpecificException;)Ljava/lang/RuntimeException;
-Landroid/net/ConnectivityManager;->enforceChangePermission(Landroid/content/Context;)V
-Landroid/net/ConnectivityManager;->enforceTetherChangePermission(Landroid/content/Context;Ljava/lang/String;)V
-Landroid/net/ConnectivityManager;->expireRequest(Landroid/net/NetworkCapabilities;I)V
-Landroid/net/ConnectivityManager;->EXPIRE_LEGACY_REQUEST:I
-Landroid/net/ConnectivityManager;->EXTRA_ACTIVE_LOCAL_ONLY:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->EXTRA_ADD_TETHER_TYPE:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->EXTRA_CAPTIVE_PORTAL_PROBE_SPEC:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->EXTRA_CAPTIVE_PORTAL_USER_AGENT:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->EXTRA_DEVICE_TYPE:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->EXTRA_INET_CONDITION:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->EXTRA_IS_ACTIVE:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->EXTRA_IS_CAPTIVE_PORTAL:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->EXTRA_PROVISION_CALLBACK:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->EXTRA_REALTIME_NS:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->EXTRA_REM_TETHER_TYPE:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->EXTRA_RUN_PROVISION:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->EXTRA_SET_ALARM:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->factoryReset()V
-Landroid/net/ConnectivityManager;->findRequestForFeature(Landroid/net/NetworkCapabilities;)Landroid/net/NetworkRequest;
-Landroid/net/ConnectivityManager;->getActiveNetworkForUid(I)Landroid/net/Network;
-Landroid/net/ConnectivityManager;->getActiveNetworkForUid(IZ)Landroid/net/Network;
-Landroid/net/ConnectivityManager;->getActiveNetworkInfoForUid(IZ)Landroid/net/NetworkInfo;
-Landroid/net/ConnectivityManager;->getAlwaysOnVpnPackageForUser(I)Ljava/lang/String;
-Landroid/net/ConnectivityManager;->getCallbackName(I)Ljava/lang/String;
-Landroid/net/ConnectivityManager;->getDefaultHandler()Landroid/net/ConnectivityManager$CallbackHandler;
-Landroid/net/ConnectivityManager;->getGlobalProxy()Landroid/net/ProxyInfo;
-Landroid/net/ConnectivityManager;->getInstanceOrNull()Landroid/net/ConnectivityManager;
-Landroid/net/ConnectivityManager;->getMobileProvisioningUrl()Ljava/lang/String;
-Landroid/net/ConnectivityManager;->getNetworkInfoForUid(Landroid/net/Network;IZ)Landroid/net/NetworkInfo;
-Landroid/net/ConnectivityManager;->getNetworkManagementService()Landroid/os/INetworkManagementService;
-Landroid/net/ConnectivityManager;->getNetworkPolicyManager()Landroid/net/INetworkPolicyManager;
-Landroid/net/ConnectivityManager;->getProxyForNetwork(Landroid/net/Network;)Landroid/net/ProxyInfo;
-Landroid/net/ConnectivityManager;->getTetheredDhcpRanges()[Ljava/lang/String;
-Landroid/net/ConnectivityManager;->inferLegacyTypeForNetworkCapabilities(Landroid/net/NetworkCapabilities;)I
-Landroid/net/ConnectivityManager;->isAlwaysOnVpnPackageSupportedForUser(ILjava/lang/String;)Z
-Landroid/net/ConnectivityManager;->isNetworkTypeWifi(I)Z
-Landroid/net/ConnectivityManager;->legacyTypeForNetworkCapabilities(Landroid/net/NetworkCapabilities;)I
-Landroid/net/ConnectivityManager;->LISTEN:I
-Landroid/net/ConnectivityManager;->MAX_NETWORK_TYPE:I
-Landroid/net/ConnectivityManager;->MAX_RADIO_TYPE:I
-Landroid/net/ConnectivityManager;->mContext:Landroid/content/Context;
-Landroid/net/ConnectivityManager;->MIN_NETWORK_TYPE:I
-Landroid/net/ConnectivityManager;->mNetworkActivityListeners:Landroid/util/ArrayMap;
-Landroid/net/ConnectivityManager;->mNMService:Landroid/os/INetworkManagementService;
-Landroid/net/ConnectivityManager;->mNPManager:Landroid/net/INetworkPolicyManager;
-Landroid/net/ConnectivityManager;->MULTIPATH_PREFERENCE_UNMETERED:I
-Landroid/net/ConnectivityManager;->NETID_UNSET:I
-Landroid/net/ConnectivityManager;->networkCapabilitiesForType(I)Landroid/net/NetworkCapabilities;
-Landroid/net/ConnectivityManager;->PRIVATE_DNS_DEFAULT_MODE_FALLBACK:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->PRIVATE_DNS_MODE_OFF:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->PRIVATE_DNS_MODE_OPPORTUNISTIC:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->PRIVATE_DNS_MODE_PROVIDER_HOSTNAME:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->registerNetworkAgent(Landroid/os/Messenger;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/net/NetworkMisc;)I
-Landroid/net/ConnectivityManager;->renewRequestLocked(Landroid/net/ConnectivityManager$LegacyRequest;)V
-Landroid/net/ConnectivityManager;->reportInetCondition(II)V
-Landroid/net/ConnectivityManager;->REQUEST:I
-Landroid/net/ConnectivityManager;->requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;IILandroid/os/Handler;)V
-Landroid/net/ConnectivityManager;->REQUEST_ID_UNSET:I
-Landroid/net/ConnectivityManager;->sCallbackHandler:Landroid/net/ConnectivityManager$CallbackHandler;
-Landroid/net/ConnectivityManager;->sCallbacks:Ljava/util/HashMap;
-Landroid/net/ConnectivityManager;->sendExpireMsgForFeature(Landroid/net/NetworkCapabilities;II)V
-Landroid/net/ConnectivityManager;->sendRequestForNetwork(Landroid/net/NetworkCapabilities;Landroid/net/ConnectivityManager$NetworkCallback;IIILandroid/net/ConnectivityManager$CallbackHandler;)Landroid/net/NetworkRequest;
-Landroid/net/ConnectivityManager;->setAcceptUnvalidated(Landroid/net/Network;ZZ)V
-Landroid/net/ConnectivityManager;->setAlwaysOnVpnPackageForUser(ILjava/lang/String;Z)Z
-Landroid/net/ConnectivityManager;->setAvoidUnvalidated(Landroid/net/Network;)V
-Landroid/net/ConnectivityManager;->setGlobalProxy(Landroid/net/ProxyInfo;)V
-Landroid/net/ConnectivityManager;->setProvisioningNotificationVisible(ZILjava/lang/String;)V
-Landroid/net/ConnectivityManager;->sInstance:Landroid/net/ConnectivityManager;
-Landroid/net/ConnectivityManager;->sLegacyTypeToCapability:Landroid/util/SparseIntArray;
-Landroid/net/ConnectivityManager;->sLegacyTypeToTransport:Landroid/util/SparseIntArray;
-Landroid/net/ConnectivityManager;->startCaptivePortalApp(Landroid/net/Network;)V
-Landroid/net/ConnectivityManager;->TAG:Ljava/lang/String;
-Landroid/net/ConnectivityManager;->TETHERING_INVALID:I
-Landroid/net/ConnectivityManager;->TETHER_ERROR_DISABLE_NAT_ERROR:I
-Landroid/net/ConnectivityManager;->TETHER_ERROR_ENABLE_NAT_ERROR:I
-Landroid/net/ConnectivityManager;->TETHER_ERROR_IFACE_CFG_ERROR:I
-Landroid/net/ConnectivityManager;->TETHER_ERROR_MASTER_ERROR:I
-Landroid/net/ConnectivityManager;->TETHER_ERROR_NO_ERROR:I
-Landroid/net/ConnectivityManager;->TETHER_ERROR_PROVISION_FAILED:I
-Landroid/net/ConnectivityManager;->TETHER_ERROR_SERVICE_UNAVAIL:I
-Landroid/net/ConnectivityManager;->TETHER_ERROR_TETHER_IFACE_ERROR:I
-Landroid/net/ConnectivityManager;->TETHER_ERROR_UNAVAIL_IFACE:I
-Landroid/net/ConnectivityManager;->TETHER_ERROR_UNKNOWN_IFACE:I
-Landroid/net/ConnectivityManager;->TETHER_ERROR_UNSUPPORTED:I
-Landroid/net/ConnectivityManager;->TETHER_ERROR_UNTETHER_IFACE_ERROR:I
-Landroid/net/ConnectivityManager;->unsupportedStartingFrom(I)V
-Landroid/net/ConnectivityManager;->updateLockdownVpn()Z
-Landroid/net/ConnectivityMetricsEvent;
-Landroid/net/ConnectivityMetricsEvent;-><init>()V
-Landroid/net/ConnectivityMetricsEvent;-><init>(Landroid/os/Parcel;)V
-Landroid/net/ConnectivityMetricsEvent;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/ConnectivityMetricsEvent;->data:Landroid/os/Parcelable;
-Landroid/net/ConnectivityMetricsEvent;->ifname:Ljava/lang/String;
-Landroid/net/ConnectivityMetricsEvent;->netId:I
-Landroid/net/ConnectivityMetricsEvent;->timestamp:J
-Landroid/net/ConnectivityMetricsEvent;->transports:J
-Landroid/net/ConnectivityThread$Singleton;
-Landroid/net/ConnectivityThread$Singleton;-><init>()V
-Landroid/net/ConnectivityThread$Singleton;->INSTANCE:Landroid/net/ConnectivityThread;
-Landroid/net/ConnectivityThread;
-Landroid/net/ConnectivityThread;-><init>()V
-Landroid/net/ConnectivityThread;->createInstance()Landroid/net/ConnectivityThread;
-Landroid/net/ConnectivityThread;->get()Landroid/net/ConnectivityThread;
-Landroid/net/ConnectivityThread;->getInstanceLooper()Landroid/os/Looper;
-Landroid/net/Credentials;->gid:I
-Landroid/net/Credentials;->pid:I
-Landroid/net/Credentials;->uid:I
-Landroid/net/DataUsageRequest;
-Landroid/net/DataUsageRequest;-><init>(ILandroid/net/NetworkTemplate;J)V
-Landroid/net/DataUsageRequest;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/DataUsageRequest;->PARCELABLE_KEY:Ljava/lang/String;
-Landroid/net/DataUsageRequest;->requestId:I
-Landroid/net/DataUsageRequest;->REQUEST_ID_UNSET:I
-Landroid/net/DataUsageRequest;->template:Landroid/net/NetworkTemplate;
-Landroid/net/DataUsageRequest;->thresholdInBytes:J
-Landroid/net/DhcpInfo;-><init>(Landroid/net/DhcpInfo;)V
-Landroid/net/DhcpInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/DhcpInfo;->putAddress(Ljava/lang/StringBuffer;I)V
-Landroid/net/DhcpResults;
-Landroid/net/DhcpResults;->addDns(Ljava/lang/String;)Z
-Landroid/net/DhcpResults;->clear()V
-Landroid/net/DhcpResults;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/DhcpResults;->hasMeteredHint()Z
-Landroid/net/DhcpResults;->readFromParcel(Landroid/net/DhcpResults;Landroid/os/Parcel;)V
-Landroid/net/DhcpResults;->setDomains(Ljava/lang/String;)V
-Landroid/net/DhcpResults;->setGateway(Ljava/lang/String;)Z
-Landroid/net/DhcpResults;->setIpAddress(Ljava/lang/String;I)Z
-Landroid/net/DhcpResults;->setLeaseDuration(I)V
-Landroid/net/DhcpResults;->setServerAddress(Ljava/lang/String;)Z
-Landroid/net/DhcpResults;->setVendorInfo(Ljava/lang/String;)V
-Landroid/net/DhcpResults;->TAG:Ljava/lang/String;
-Landroid/net/EthernetManager$Listener;
-Landroid/net/EthernetManager;
-Landroid/net/EthernetManager;-><init>(Landroid/content/Context;Landroid/net/IEthernetManager;)V
-Landroid/net/EthernetManager;->mContext:Landroid/content/Context;
-Landroid/net/EthernetManager;->mHandler:Landroid/os/Handler;
-Landroid/net/EthernetManager;->mListeners:Ljava/util/ArrayList;
-Landroid/net/EthernetManager;->mService:Landroid/net/IEthernetManager;
-Landroid/net/EthernetManager;->mServiceListener:Landroid/net/IEthernetServiceListener$Stub;
-Landroid/net/EthernetManager;->MSG_AVAILABILITY_CHANGED:I
-Landroid/net/EthernetManager;->TAG:Ljava/lang/String;
-Landroid/net/EventLogTags;
-Landroid/net/EventLogTags;-><init>()V
-Landroid/net/EventLogTags;->NTP_FAILURE:I
-Landroid/net/EventLogTags;->NTP_SUCCESS:I
-Landroid/net/EventLogTags;->writeNtpFailure(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/EventLogTags;->writeNtpSuccess(Ljava/lang/String;JJ)V
-Landroid/net/http/HttpResponseCache;-><init>(Lcom/android/okhttp/AndroidShimResponseCache;)V
-Landroid/net/http/HttpResponseCache;->delegate:Lcom/android/okhttp/AndroidShimResponseCache;
-Landroid/net/http/HttpResponseCache;->getCache()Lcom/android/okhttp/Cache;
-Landroid/net/http/SslCertificate$DName;->mCName:Ljava/lang/String;
-Landroid/net/http/SslCertificate$DName;->mDName:Ljava/lang/String;
-Landroid/net/http/SslCertificate$DName;->mOName:Ljava/lang/String;
-Landroid/net/http/SslCertificate$DName;->mUName:Ljava/lang/String;
-Landroid/net/http/SslCertificate;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/util/Date;Ljava/util/Date;Ljava/security/cert/X509Certificate;)V
-Landroid/net/http/SslCertificate;->cloneDate(Ljava/util/Date;)Ljava/util/Date;
-Landroid/net/http/SslCertificate;->fingerprint([B)Ljava/lang/String;
-Landroid/net/http/SslCertificate;->formatCertificateDate(Landroid/content/Context;Ljava/util/Date;)Ljava/lang/String;
-Landroid/net/http/SslCertificate;->formatDate(Ljava/util/Date;)Ljava/lang/String;
-Landroid/net/http/SslCertificate;->ISO_8601_DATE_FORMAT:Ljava/lang/String;
-Landroid/net/http/SslCertificate;->ISSUED_BY:Ljava/lang/String;
-Landroid/net/http/SslCertificate;->ISSUED_TO:Ljava/lang/String;
-Landroid/net/http/SslCertificate;->mIssuedBy:Landroid/net/http/SslCertificate$DName;
-Landroid/net/http/SslCertificate;->mIssuedTo:Landroid/net/http/SslCertificate$DName;
-Landroid/net/http/SslCertificate;->mValidNotAfter:Ljava/util/Date;
-Landroid/net/http/SslCertificate;->mValidNotBefore:Ljava/util/Date;
-Landroid/net/http/SslCertificate;->parseDate(Ljava/lang/String;)Ljava/util/Date;
-Landroid/net/http/SslCertificate;->VALID_NOT_AFTER:Ljava/lang/String;
-Landroid/net/http/SslCertificate;->VALID_NOT_BEFORE:Ljava/lang/String;
-Landroid/net/http/SslCertificate;->X509_CERTIFICATE:Ljava/lang/String;
-Landroid/net/http/SslError;->SslErrorFromChromiumErrorCode(ILandroid/net/http/SslCertificate;Ljava/lang/String;)Landroid/net/http/SslError;
-Landroid/net/http/X509TrustManagerExtensions;->mCheckServerTrusted:Ljava/lang/reflect/Method;
-Landroid/net/http/X509TrustManagerExtensions;->mDelegate:Lcom/android/org/conscrypt/TrustManagerImpl;
-Landroid/net/http/X509TrustManagerExtensions;->mIsSameTrustConfiguration:Ljava/lang/reflect/Method;
-Landroid/net/http/X509TrustManagerExtensions;->mTrustManager:Ljavax/net/ssl/X509TrustManager;
-Landroid/net/ICaptivePortal$Stub$Proxy;
-Landroid/net/ICaptivePortal$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/ICaptivePortal$Stub$Proxy;->appResponse(I)V
-Landroid/net/ICaptivePortal$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/ICaptivePortal$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/ICaptivePortal$Stub;
-Landroid/net/ICaptivePortal$Stub;-><init>()V
-Landroid/net/ICaptivePortal$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/ICaptivePortal;
-Landroid/net/ICaptivePortal$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/ICaptivePortal$Stub;->TRANSACTION_appResponse:I
-Landroid/net/ICaptivePortal;
-Landroid/net/ICaptivePortal;->appResponse(I)V
-Landroid/net/IConnectivityManager$Stub$Proxy;
-Landroid/net/IConnectivityManager$Stub$Proxy;->addVpnAddress(Ljava/lang/String;I)Z
-Landroid/net/IConnectivityManager$Stub$Proxy;->checkMobileProvisioning(I)I
-Landroid/net/IConnectivityManager$Stub$Proxy;->establishVpn(Lcom/android/internal/net/VpnConfig;)Landroid/os/ParcelFileDescriptor;
-Landroid/net/IConnectivityManager$Stub$Proxy;->factoryReset()V
-Landroid/net/IConnectivityManager$Stub$Proxy;->getActiveNetwork()Landroid/net/Network;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getActiveNetworkForUid(IZ)Landroid/net/Network;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getActiveNetworkInfoForUid(IZ)Landroid/net/NetworkInfo;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getActiveNetworkQuotaInfo()Landroid/net/NetworkQuotaInfo;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getAllNetworkState()[Landroid/net/NetworkState;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getAllVpnInfo()[Lcom/android/internal/net/VpnInfo;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getAlwaysOnVpnPackage(I)Ljava/lang/String;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getCaptivePortalServerUrl()Ljava/lang/String;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getDefaultNetworkCapabilitiesForUser(I)[Landroid/net/NetworkCapabilities;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getGlobalProxy()Landroid/net/ProxyInfo;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getLastTetherError(Ljava/lang/String;)I
-Landroid/net/IConnectivityManager$Stub$Proxy;->getLegacyVpnInfo(I)Lcom/android/internal/net/LegacyVpnInfo;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getLinkProperties(Landroid/net/Network;)Landroid/net/LinkProperties;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getLinkPropertiesForType(I)Landroid/net/LinkProperties;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getMobileProvisioningUrl()Ljava/lang/String;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getMultipathPreference(Landroid/net/Network;)I
-Landroid/net/IConnectivityManager$Stub$Proxy;->getNetworkCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getNetworkForType(I)Landroid/net/Network;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getNetworkInfo(I)Landroid/net/NetworkInfo;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getNetworkInfoForUid(Landroid/net/Network;IZ)Landroid/net/NetworkInfo;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getNetworkWatchlistConfigHash()[B
-Landroid/net/IConnectivityManager$Stub$Proxy;->getProxyForNetwork(Landroid/net/Network;)Landroid/net/ProxyInfo;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getRestoreDefaultNetworkDelay(I)I
-Landroid/net/IConnectivityManager$Stub$Proxy;->getTetherableBluetoothRegexs()[Ljava/lang/String;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getTetherableWifiRegexs()[Ljava/lang/String;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getTetheredDhcpRanges()[Ljava/lang/String;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getTetheringErroredIfaces()[Ljava/lang/String;
-Landroid/net/IConnectivityManager$Stub$Proxy;->getVpnConfig(I)Lcom/android/internal/net/VpnConfig;
-Landroid/net/IConnectivityManager$Stub$Proxy;->isActiveNetworkMetered()Z
-Landroid/net/IConnectivityManager$Stub$Proxy;->isAlwaysOnVpnPackageSupported(ILjava/lang/String;)Z
-Landroid/net/IConnectivityManager$Stub$Proxy;->isNetworkSupported(I)Z
-Landroid/net/IConnectivityManager$Stub$Proxy;->isTetheringSupported(Ljava/lang/String;)Z
-Landroid/net/IConnectivityManager$Stub$Proxy;->listenForNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;Landroid/os/IBinder;)Landroid/net/NetworkRequest;
-Landroid/net/IConnectivityManager$Stub$Proxy;->pendingListenForNetwork(Landroid/net/NetworkCapabilities;Landroid/app/PendingIntent;)V
-Landroid/net/IConnectivityManager$Stub$Proxy;->pendingRequestForNetwork(Landroid/net/NetworkCapabilities;Landroid/app/PendingIntent;)Landroid/net/NetworkRequest;
-Landroid/net/IConnectivityManager$Stub$Proxy;->prepareVpn(Ljava/lang/String;Ljava/lang/String;I)Z
-Landroid/net/IConnectivityManager$Stub$Proxy;->registerNetworkAgent(Landroid/os/Messenger;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/net/NetworkMisc;)I
-Landroid/net/IConnectivityManager$Stub$Proxy;->registerNetworkFactory(Landroid/os/Messenger;Ljava/lang/String;)V
-Landroid/net/IConnectivityManager$Stub$Proxy;->releaseNetworkRequest(Landroid/net/NetworkRequest;)V
-Landroid/net/IConnectivityManager$Stub$Proxy;->releasePendingNetworkRequest(Landroid/app/PendingIntent;)V
-Landroid/net/IConnectivityManager$Stub$Proxy;->removeVpnAddress(Ljava/lang/String;I)Z
-Landroid/net/IConnectivityManager$Stub$Proxy;->reportInetCondition(II)V
-Landroid/net/IConnectivityManager$Stub$Proxy;->reportNetworkConnectivity(Landroid/net/Network;Z)V
-Landroid/net/IConnectivityManager$Stub$Proxy;->requestBandwidthUpdate(Landroid/net/Network;)Z
-Landroid/net/IConnectivityManager$Stub$Proxy;->requestNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;ILandroid/os/IBinder;I)Landroid/net/NetworkRequest;
-Landroid/net/IConnectivityManager$Stub$Proxy;->requestRouteToHostAddress(I[B)Z
-Landroid/net/IConnectivityManager$Stub$Proxy;->setAcceptUnvalidated(Landroid/net/Network;ZZ)V
-Landroid/net/IConnectivityManager$Stub$Proxy;->setAirplaneMode(Z)V
-Landroid/net/IConnectivityManager$Stub$Proxy;->setAlwaysOnVpnPackage(ILjava/lang/String;Z)Z
-Landroid/net/IConnectivityManager$Stub$Proxy;->setAvoidUnvalidated(Landroid/net/Network;)V
-Landroid/net/IConnectivityManager$Stub$Proxy;->setGlobalProxy(Landroid/net/ProxyInfo;)V
-Landroid/net/IConnectivityManager$Stub$Proxy;->setProvisioningNotificationVisible(ZILjava/lang/String;)V
-Landroid/net/IConnectivityManager$Stub$Proxy;->setUnderlyingNetworksForVpn([Landroid/net/Network;)Z
-Landroid/net/IConnectivityManager$Stub$Proxy;->setUsbTethering(ZLjava/lang/String;)I
-Landroid/net/IConnectivityManager$Stub$Proxy;->setVpnPackageAuthorization(Ljava/lang/String;IZ)V
-Landroid/net/IConnectivityManager$Stub$Proxy;->startCaptivePortalApp(Landroid/net/Network;)V
-Landroid/net/IConnectivityManager$Stub$Proxy;->startLegacyVpn(Lcom/android/internal/net/VpnProfile;)V
-Landroid/net/IConnectivityManager$Stub$Proxy;->startNattKeepalive(Landroid/net/Network;ILandroid/os/Messenger;Landroid/os/IBinder;Ljava/lang/String;ILjava/lang/String;)V
-Landroid/net/IConnectivityManager$Stub$Proxy;->startTethering(ILandroid/os/ResultReceiver;ZLjava/lang/String;)V
-Landroid/net/IConnectivityManager$Stub$Proxy;->stopKeepalive(Landroid/net/Network;I)V
-Landroid/net/IConnectivityManager$Stub$Proxy;->stopTethering(ILjava/lang/String;)V
-Landroid/net/IConnectivityManager$Stub$Proxy;->tether(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/net/IConnectivityManager$Stub$Proxy;->unregisterNetworkFactory(Landroid/os/Messenger;)V
-Landroid/net/IConnectivityManager$Stub$Proxy;->untether(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/net/IConnectivityManager$Stub$Proxy;->updateLockdownVpn()Z
-Landroid/net/IConnectivityManager$Stub;
-Landroid/net/IConnectivityManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_addVpnAddress:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_checkMobileProvisioning:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_establishVpn:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_factoryReset:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getActiveLinkProperties:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getActiveNetwork:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getActiveNetworkForUid:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getActiveNetworkInfo:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getActiveNetworkInfoForUid:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getActiveNetworkQuotaInfo:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getAllNetworkInfo:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getAllNetworks:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getAllNetworkState:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getAllVpnInfo:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getAlwaysOnVpnPackage:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getCaptivePortalServerUrl:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getDefaultNetworkCapabilitiesForUser:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getGlobalProxy:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getLastTetherError:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getLegacyVpnInfo:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getLinkProperties:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getLinkPropertiesForType:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getMobileProvisioningUrl:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getMultipathPreference:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getNetworkCapabilities:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getNetworkForType:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getNetworkInfo:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getNetworkInfoForUid:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getNetworkWatchlistConfigHash:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getProxyForNetwork:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getRestoreDefaultNetworkDelay:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getTetherableBluetoothRegexs:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getTetherableIfaces:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getTetherableUsbRegexs:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getTetherableWifiRegexs:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getTetheredDhcpRanges:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getTetheredIfaces:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getTetheringErroredIfaces:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_getVpnConfig:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_isActiveNetworkMetered:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_isAlwaysOnVpnPackageSupported:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_isNetworkSupported:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_isTetheringSupported:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_listenForNetwork:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_pendingListenForNetwork:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_pendingRequestForNetwork:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_prepareVpn:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_registerNetworkAgent:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_registerNetworkFactory:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_releaseNetworkRequest:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_releasePendingNetworkRequest:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_removeVpnAddress:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_reportInetCondition:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_reportNetworkConnectivity:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_requestBandwidthUpdate:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_requestNetwork:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_requestRouteToHostAddress:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_setAcceptUnvalidated:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_setAirplaneMode:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_setAlwaysOnVpnPackage:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_setAvoidUnvalidated:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_setGlobalProxy:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_setProvisioningNotificationVisible:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_setUnderlyingNetworksForVpn:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_setUsbTethering:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_setVpnPackageAuthorization:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_startCaptivePortalApp:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_startLegacyVpn:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_startNattKeepalive:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_startTethering:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_stopKeepalive:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_stopTethering:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_tether:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_unregisterNetworkFactory:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_untether:I
-Landroid/net/IConnectivityManager$Stub;->TRANSACTION_updateLockdownVpn:I
-Landroid/net/IConnectivityManager;
-Landroid/net/IConnectivityManager;->addVpnAddress(Ljava/lang/String;I)Z
-Landroid/net/IConnectivityManager;->checkMobileProvisioning(I)I
-Landroid/net/IConnectivityManager;->establishVpn(Lcom/android/internal/net/VpnConfig;)Landroid/os/ParcelFileDescriptor;
-Landroid/net/IConnectivityManager;->factoryReset()V
-Landroid/net/IConnectivityManager;->getActiveNetwork()Landroid/net/Network;
-Landroid/net/IConnectivityManager;->getActiveNetworkForUid(IZ)Landroid/net/Network;
-Landroid/net/IConnectivityManager;->getActiveNetworkInfoForUid(IZ)Landroid/net/NetworkInfo;
-Landroid/net/IConnectivityManager;->getActiveNetworkQuotaInfo()Landroid/net/NetworkQuotaInfo;
-Landroid/net/IConnectivityManager;->getAllNetworks()[Landroid/net/Network;
-Landroid/net/IConnectivityManager;->getAllVpnInfo()[Lcom/android/internal/net/VpnInfo;
-Landroid/net/IConnectivityManager;->getAlwaysOnVpnPackage(I)Ljava/lang/String;
-Landroid/net/IConnectivityManager;->getCaptivePortalServerUrl()Ljava/lang/String;
-Landroid/net/IConnectivityManager;->getDefaultNetworkCapabilitiesForUser(I)[Landroid/net/NetworkCapabilities;
-Landroid/net/IConnectivityManager;->getGlobalProxy()Landroid/net/ProxyInfo;
-Landroid/net/IConnectivityManager;->getLegacyVpnInfo(I)Lcom/android/internal/net/LegacyVpnInfo;
-Landroid/net/IConnectivityManager;->getLinkProperties(Landroid/net/Network;)Landroid/net/LinkProperties;
-Landroid/net/IConnectivityManager;->getLinkPropertiesForType(I)Landroid/net/LinkProperties;
-Landroid/net/IConnectivityManager;->getMobileProvisioningUrl()Ljava/lang/String;
-Landroid/net/IConnectivityManager;->getMultipathPreference(Landroid/net/Network;)I
-Landroid/net/IConnectivityManager;->getNetworkCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;
-Landroid/net/IConnectivityManager;->getNetworkForType(I)Landroid/net/Network;
-Landroid/net/IConnectivityManager;->getNetworkInfoForUid(Landroid/net/Network;IZ)Landroid/net/NetworkInfo;
-Landroid/net/IConnectivityManager;->getNetworkWatchlistConfigHash()[B
-Landroid/net/IConnectivityManager;->getProxyForNetwork(Landroid/net/Network;)Landroid/net/ProxyInfo;
-Landroid/net/IConnectivityManager;->getRestoreDefaultNetworkDelay(I)I
-Landroid/net/IConnectivityManager;->getTetherableBluetoothRegexs()[Ljava/lang/String;
-Landroid/net/IConnectivityManager;->getTetheredDhcpRanges()[Ljava/lang/String;
-Landroid/net/IConnectivityManager;->getVpnConfig(I)Lcom/android/internal/net/VpnConfig;
-Landroid/net/IConnectivityManager;->isActiveNetworkMetered()Z
-Landroid/net/IConnectivityManager;->isAlwaysOnVpnPackageSupported(ILjava/lang/String;)Z
-Landroid/net/IConnectivityManager;->isNetworkSupported(I)Z
-Landroid/net/IConnectivityManager;->isTetheringSupported(Ljava/lang/String;)Z
-Landroid/net/IConnectivityManager;->listenForNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;Landroid/os/IBinder;)Landroid/net/NetworkRequest;
-Landroid/net/IConnectivityManager;->pendingListenForNetwork(Landroid/net/NetworkCapabilities;Landroid/app/PendingIntent;)V
-Landroid/net/IConnectivityManager;->pendingRequestForNetwork(Landroid/net/NetworkCapabilities;Landroid/app/PendingIntent;)Landroid/net/NetworkRequest;
-Landroid/net/IConnectivityManager;->prepareVpn(Ljava/lang/String;Ljava/lang/String;I)Z
-Landroid/net/IConnectivityManager;->registerNetworkAgent(Landroid/os/Messenger;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/net/NetworkMisc;)I
-Landroid/net/IConnectivityManager;->registerNetworkFactory(Landroid/os/Messenger;Ljava/lang/String;)V
-Landroid/net/IConnectivityManager;->releaseNetworkRequest(Landroid/net/NetworkRequest;)V
-Landroid/net/IConnectivityManager;->releasePendingNetworkRequest(Landroid/app/PendingIntent;)V
-Landroid/net/IConnectivityManager;->removeVpnAddress(Ljava/lang/String;I)Z
-Landroid/net/IConnectivityManager;->reportNetworkConnectivity(Landroid/net/Network;Z)V
-Landroid/net/IConnectivityManager;->requestBandwidthUpdate(Landroid/net/Network;)Z
-Landroid/net/IConnectivityManager;->requestNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;ILandroid/os/IBinder;I)Landroid/net/NetworkRequest;
-Landroid/net/IConnectivityManager;->requestRouteToHostAddress(I[B)Z
-Landroid/net/IConnectivityManager;->setAcceptUnvalidated(Landroid/net/Network;ZZ)V
-Landroid/net/IConnectivityManager;->setAlwaysOnVpnPackage(ILjava/lang/String;Z)Z
-Landroid/net/IConnectivityManager;->setAvoidUnvalidated(Landroid/net/Network;)V
-Landroid/net/IConnectivityManager;->setGlobalProxy(Landroid/net/ProxyInfo;)V
-Landroid/net/IConnectivityManager;->setProvisioningNotificationVisible(ZILjava/lang/String;)V
-Landroid/net/IConnectivityManager;->setUnderlyingNetworksForVpn([Landroid/net/Network;)Z
-Landroid/net/IConnectivityManager;->setUsbTethering(ZLjava/lang/String;)I
-Landroid/net/IConnectivityManager;->setVpnPackageAuthorization(Ljava/lang/String;IZ)V
-Landroid/net/IConnectivityManager;->startCaptivePortalApp(Landroid/net/Network;)V
-Landroid/net/IConnectivityManager;->startNattKeepalive(Landroid/net/Network;ILandroid/os/Messenger;Landroid/os/IBinder;Ljava/lang/String;ILjava/lang/String;)V
-Landroid/net/IConnectivityManager;->startTethering(ILandroid/os/ResultReceiver;ZLjava/lang/String;)V
-Landroid/net/IConnectivityManager;->stopKeepalive(Landroid/net/Network;I)V
-Landroid/net/IConnectivityManager;->stopTethering(ILjava/lang/String;)V
-Landroid/net/IConnectivityManager;->tether(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/net/IConnectivityManager;->unregisterNetworkFactory(Landroid/os/Messenger;)V
-Landroid/net/IConnectivityManager;->untether(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/net/IConnectivityManager;->updateLockdownVpn()Z
-Landroid/net/IEthernetManager$Stub$Proxy;
-Landroid/net/IEthernetManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/IEthernetManager$Stub$Proxy;->addListener(Landroid/net/IEthernetServiceListener;)V
-Landroid/net/IEthernetManager$Stub$Proxy;->getAvailableInterfaces()[Ljava/lang/String;
-Landroid/net/IEthernetManager$Stub$Proxy;->getConfiguration(Ljava/lang/String;)Landroid/net/IpConfiguration;
-Landroid/net/IEthernetManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/IEthernetManager$Stub$Proxy;->isAvailable(Ljava/lang/String;)Z
-Landroid/net/IEthernetManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/IEthernetManager$Stub$Proxy;->removeListener(Landroid/net/IEthernetServiceListener;)V
-Landroid/net/IEthernetManager$Stub$Proxy;->setConfiguration(Ljava/lang/String;Landroid/net/IpConfiguration;)V
-Landroid/net/IEthernetManager$Stub;
-Landroid/net/IEthernetManager$Stub;-><init>()V
-Landroid/net/IEthernetManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/IEthernetManager;
-Landroid/net/IEthernetManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/IEthernetManager$Stub;->TRANSACTION_addListener:I
-Landroid/net/IEthernetManager$Stub;->TRANSACTION_getAvailableInterfaces:I
-Landroid/net/IEthernetManager$Stub;->TRANSACTION_getConfiguration:I
-Landroid/net/IEthernetManager$Stub;->TRANSACTION_isAvailable:I
-Landroid/net/IEthernetManager$Stub;->TRANSACTION_removeListener:I
-Landroid/net/IEthernetManager$Stub;->TRANSACTION_setConfiguration:I
-Landroid/net/IEthernetManager;
-Landroid/net/IEthernetManager;->addListener(Landroid/net/IEthernetServiceListener;)V
-Landroid/net/IEthernetManager;->getAvailableInterfaces()[Ljava/lang/String;
-Landroid/net/IEthernetManager;->getConfiguration(Ljava/lang/String;)Landroid/net/IpConfiguration;
-Landroid/net/IEthernetManager;->isAvailable(Ljava/lang/String;)Z
-Landroid/net/IEthernetManager;->removeListener(Landroid/net/IEthernetServiceListener;)V
-Landroid/net/IEthernetManager;->setConfiguration(Ljava/lang/String;Landroid/net/IpConfiguration;)V
-Landroid/net/IEthernetServiceListener$Stub$Proxy;
-Landroid/net/IEthernetServiceListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/IEthernetServiceListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/IEthernetServiceListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/IEthernetServiceListener$Stub$Proxy;->onAvailabilityChanged(Ljava/lang/String;Z)V
-Landroid/net/IEthernetServiceListener$Stub;
-Landroid/net/IEthernetServiceListener$Stub;-><init>()V
-Landroid/net/IEthernetServiceListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/IEthernetServiceListener;
-Landroid/net/IEthernetServiceListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/IEthernetServiceListener$Stub;->TRANSACTION_onAvailabilityChanged:I
-Landroid/net/IEthernetServiceListener;
-Landroid/net/IEthernetServiceListener;->onAvailabilityChanged(Ljava/lang/String;Z)V
-Landroid/net/IIpConnectivityMetrics$Stub$Proxy;
-Landroid/net/IIpConnectivityMetrics$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/IIpConnectivityMetrics$Stub$Proxy;->addNetdEventCallback(ILandroid/net/INetdEventCallback;)Z
-Landroid/net/IIpConnectivityMetrics$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/IIpConnectivityMetrics$Stub$Proxy;->logEvent(Landroid/net/ConnectivityMetricsEvent;)I
-Landroid/net/IIpConnectivityMetrics$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/IIpConnectivityMetrics$Stub$Proxy;->removeNetdEventCallback(I)Z
-Landroid/net/IIpConnectivityMetrics$Stub;
-Landroid/net/IIpConnectivityMetrics$Stub;-><init>()V
-Landroid/net/IIpConnectivityMetrics$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/IIpConnectivityMetrics;
-Landroid/net/IIpConnectivityMetrics$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/IIpConnectivityMetrics$Stub;->TRANSACTION_addNetdEventCallback:I
-Landroid/net/IIpConnectivityMetrics$Stub;->TRANSACTION_logEvent:I
-Landroid/net/IIpConnectivityMetrics$Stub;->TRANSACTION_removeNetdEventCallback:I
-Landroid/net/IIpConnectivityMetrics;
-Landroid/net/IIpConnectivityMetrics;->addNetdEventCallback(ILandroid/net/INetdEventCallback;)Z
-Landroid/net/IIpConnectivityMetrics;->logEvent(Landroid/net/ConnectivityMetricsEvent;)I
-Landroid/net/IIpConnectivityMetrics;->removeNetdEventCallback(I)Z
-Landroid/net/IIpSecService$Stub$Proxy;
-Landroid/net/IIpSecService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/IIpSecService$Stub$Proxy;->addAddressToTunnelInterface(ILandroid/net/LinkAddress;Ljava/lang/String;)V
-Landroid/net/IIpSecService$Stub$Proxy;->allocateSecurityParameterIndex(Ljava/lang/String;ILandroid/os/IBinder;)Landroid/net/IpSecSpiResponse;
-Landroid/net/IIpSecService$Stub$Proxy;->applyTransportModeTransform(Landroid/os/ParcelFileDescriptor;II)V
-Landroid/net/IIpSecService$Stub$Proxy;->applyTunnelModeTransform(IIILjava/lang/String;)V
-Landroid/net/IIpSecService$Stub$Proxy;->closeUdpEncapsulationSocket(I)V
-Landroid/net/IIpSecService$Stub$Proxy;->createTransform(Landroid/net/IpSecConfig;Landroid/os/IBinder;Ljava/lang/String;)Landroid/net/IpSecTransformResponse;
-Landroid/net/IIpSecService$Stub$Proxy;->createTunnelInterface(Ljava/lang/String;Ljava/lang/String;Landroid/net/Network;Landroid/os/IBinder;Ljava/lang/String;)Landroid/net/IpSecTunnelInterfaceResponse;
-Landroid/net/IIpSecService$Stub$Proxy;->deleteTransform(I)V
-Landroid/net/IIpSecService$Stub$Proxy;->deleteTunnelInterface(ILjava/lang/String;)V
-Landroid/net/IIpSecService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/IIpSecService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/IIpSecService$Stub$Proxy;->openUdpEncapsulationSocket(ILandroid/os/IBinder;)Landroid/net/IpSecUdpEncapResponse;
-Landroid/net/IIpSecService$Stub$Proxy;->releaseSecurityParameterIndex(I)V
-Landroid/net/IIpSecService$Stub$Proxy;->removeAddressFromTunnelInterface(ILandroid/net/LinkAddress;Ljava/lang/String;)V
-Landroid/net/IIpSecService$Stub$Proxy;->removeTransportModeTransforms(Landroid/os/ParcelFileDescriptor;)V
-Landroid/net/IIpSecService$Stub;
-Landroid/net/IIpSecService$Stub;-><init>()V
-Landroid/net/IIpSecService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/IIpSecService;
-Landroid/net/IIpSecService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/IIpSecService$Stub;->TRANSACTION_addAddressToTunnelInterface:I
-Landroid/net/IIpSecService$Stub;->TRANSACTION_allocateSecurityParameterIndex:I
-Landroid/net/IIpSecService$Stub;->TRANSACTION_applyTransportModeTransform:I
-Landroid/net/IIpSecService$Stub;->TRANSACTION_applyTunnelModeTransform:I
-Landroid/net/IIpSecService$Stub;->TRANSACTION_closeUdpEncapsulationSocket:I
-Landroid/net/IIpSecService$Stub;->TRANSACTION_createTransform:I
-Landroid/net/IIpSecService$Stub;->TRANSACTION_createTunnelInterface:I
-Landroid/net/IIpSecService$Stub;->TRANSACTION_deleteTransform:I
-Landroid/net/IIpSecService$Stub;->TRANSACTION_deleteTunnelInterface:I
-Landroid/net/IIpSecService$Stub;->TRANSACTION_openUdpEncapsulationSocket:I
-Landroid/net/IIpSecService$Stub;->TRANSACTION_releaseSecurityParameterIndex:I
-Landroid/net/IIpSecService$Stub;->TRANSACTION_removeAddressFromTunnelInterface:I
-Landroid/net/IIpSecService$Stub;->TRANSACTION_removeTransportModeTransforms:I
-Landroid/net/IIpSecService;
-Landroid/net/IIpSecService;->addAddressToTunnelInterface(ILandroid/net/LinkAddress;Ljava/lang/String;)V
-Landroid/net/IIpSecService;->allocateSecurityParameterIndex(Ljava/lang/String;ILandroid/os/IBinder;)Landroid/net/IpSecSpiResponse;
-Landroid/net/IIpSecService;->applyTransportModeTransform(Landroid/os/ParcelFileDescriptor;II)V
-Landroid/net/IIpSecService;->applyTunnelModeTransform(IIILjava/lang/String;)V
-Landroid/net/IIpSecService;->closeUdpEncapsulationSocket(I)V
-Landroid/net/IIpSecService;->createTransform(Landroid/net/IpSecConfig;Landroid/os/IBinder;Ljava/lang/String;)Landroid/net/IpSecTransformResponse;
-Landroid/net/IIpSecService;->createTunnelInterface(Ljava/lang/String;Ljava/lang/String;Landroid/net/Network;Landroid/os/IBinder;Ljava/lang/String;)Landroid/net/IpSecTunnelInterfaceResponse;
-Landroid/net/IIpSecService;->deleteTransform(I)V
-Landroid/net/IIpSecService;->deleteTunnelInterface(ILjava/lang/String;)V
-Landroid/net/IIpSecService;->openUdpEncapsulationSocket(ILandroid/os/IBinder;)Landroid/net/IpSecUdpEncapResponse;
-Landroid/net/IIpSecService;->releaseSecurityParameterIndex(I)V
-Landroid/net/IIpSecService;->removeAddressFromTunnelInterface(ILandroid/net/LinkAddress;Ljava/lang/String;)V
-Landroid/net/IIpSecService;->removeTransportModeTransforms(Landroid/os/ParcelFileDescriptor;)V
-Landroid/net/INetd$Stub$Proxy;
-Landroid/net/INetd$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/INetd$Stub$Proxy;->addVirtualTunnelInterface(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
-Landroid/net/INetd$Stub$Proxy;->bandwidthEnableDataSaver(Z)Z
-Landroid/net/INetd$Stub$Proxy;->firewallReplaceUidChain(Ljava/lang/String;Z[I)Z
-Landroid/net/INetd$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/INetd$Stub$Proxy;->getMetricsReportingLevel()I
-Landroid/net/INetd$Stub$Proxy;->getResolverInfo(I[Ljava/lang/String;[Ljava/lang/String;[I[I)V
-Landroid/net/INetd$Stub$Proxy;->interfaceAddAddress(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/net/INetd$Stub$Proxy;->interfaceDelAddress(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/net/INetd$Stub$Proxy;->ipSecAddSecurityAssociation(IILjava/lang/String;Ljava/lang/String;IIIILjava/lang/String;[BILjava/lang/String;[BILjava/lang/String;[BIIII)V
-Landroid/net/INetd$Stub$Proxy;->ipSecAddSecurityPolicy(IILjava/lang/String;Ljava/lang/String;III)V
-Landroid/net/INetd$Stub$Proxy;->ipSecAllocateSpi(ILjava/lang/String;Ljava/lang/String;I)I
-Landroid/net/INetd$Stub$Proxy;->ipSecApplyTransportModeTransform(Ljava/io/FileDescriptor;IILjava/lang/String;Ljava/lang/String;I)V
-Landroid/net/INetd$Stub$Proxy;->ipSecDeleteSecurityAssociation(ILjava/lang/String;Ljava/lang/String;III)V
-Landroid/net/INetd$Stub$Proxy;->ipSecDeleteSecurityPolicy(IILjava/lang/String;Ljava/lang/String;II)V
-Landroid/net/INetd$Stub$Proxy;->ipSecRemoveTransportModeTransform(Ljava/io/FileDescriptor;)V
-Landroid/net/INetd$Stub$Proxy;->ipSecSetEncapSocketOwner(Ljava/io/FileDescriptor;I)V
-Landroid/net/INetd$Stub$Proxy;->ipSecUpdateSecurityPolicy(IILjava/lang/String;Ljava/lang/String;III)V
-Landroid/net/INetd$Stub$Proxy;->isAlive()Z
-Landroid/net/INetd$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/INetd$Stub$Proxy;->networkAddInterface(ILjava/lang/String;)V
-Landroid/net/INetd$Stub$Proxy;->networkAddUidRanges(I[Landroid/net/UidRange;)V
-Landroid/net/INetd$Stub$Proxy;->networkCreatePhysical(ILjava/lang/String;)V
-Landroid/net/INetd$Stub$Proxy;->networkCreateVpn(IZZ)V
-Landroid/net/INetd$Stub$Proxy;->networkDestroy(I)V
-Landroid/net/INetd$Stub$Proxy;->networkRejectNonSecureVpn(Z[Landroid/net/UidRange;)V
-Landroid/net/INetd$Stub$Proxy;->networkRemoveInterface(ILjava/lang/String;)V
-Landroid/net/INetd$Stub$Proxy;->networkRemoveUidRanges(I[Landroid/net/UidRange;)V
-Landroid/net/INetd$Stub$Proxy;->removeVirtualTunnelInterface(Ljava/lang/String;)V
-Landroid/net/INetd$Stub$Proxy;->setIPv6AddrGenMode(Ljava/lang/String;I)V
-Landroid/net/INetd$Stub$Proxy;->setMetricsReportingLevel(I)V
-Landroid/net/INetd$Stub$Proxy;->setProcSysNet(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/INetd$Stub$Proxy;->setResolverConfiguration(I[Ljava/lang/String;[Ljava/lang/String;[ILjava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/net/INetd$Stub$Proxy;->socketDestroy([Landroid/net/UidRange;[I)V
-Landroid/net/INetd$Stub$Proxy;->tetherApplyDnsInterfaces()Z
-Landroid/net/INetd$Stub$Proxy;->tetherGetStats()Landroid/os/PersistableBundle;
-Landroid/net/INetd$Stub$Proxy;->trafficCheckBpfStatsEnable()Z
-Landroid/net/INetd$Stub$Proxy;->updateVirtualTunnelInterface(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
-Landroid/net/INetd$Stub$Proxy;->wakeupAddInterface(Ljava/lang/String;Ljava/lang/String;II)V
-Landroid/net/INetd$Stub$Proxy;->wakeupDelInterface(Ljava/lang/String;Ljava/lang/String;II)V
-Landroid/net/INetd$Stub;
-Landroid/net/INetd$Stub;-><init>()V
-Landroid/net/INetd$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/INetd$Stub;->TRANSACTION_addVirtualTunnelInterface:I
-Landroid/net/INetd$Stub;->TRANSACTION_bandwidthEnableDataSaver:I
-Landroid/net/INetd$Stub;->TRANSACTION_firewallReplaceUidChain:I
-Landroid/net/INetd$Stub;->TRANSACTION_getMetricsReportingLevel:I
-Landroid/net/INetd$Stub;->TRANSACTION_getResolverInfo:I
-Landroid/net/INetd$Stub;->TRANSACTION_interfaceAddAddress:I
-Landroid/net/INetd$Stub;->TRANSACTION_interfaceDelAddress:I
-Landroid/net/INetd$Stub;->TRANSACTION_ipSecAddSecurityAssociation:I
-Landroid/net/INetd$Stub;->TRANSACTION_ipSecAddSecurityPolicy:I
-Landroid/net/INetd$Stub;->TRANSACTION_ipSecAllocateSpi:I
-Landroid/net/INetd$Stub;->TRANSACTION_ipSecApplyTransportModeTransform:I
-Landroid/net/INetd$Stub;->TRANSACTION_ipSecDeleteSecurityAssociation:I
-Landroid/net/INetd$Stub;->TRANSACTION_ipSecDeleteSecurityPolicy:I
-Landroid/net/INetd$Stub;->TRANSACTION_ipSecRemoveTransportModeTransform:I
-Landroid/net/INetd$Stub;->TRANSACTION_ipSecSetEncapSocketOwner:I
-Landroid/net/INetd$Stub;->TRANSACTION_ipSecUpdateSecurityPolicy:I
-Landroid/net/INetd$Stub;->TRANSACTION_isAlive:I
-Landroid/net/INetd$Stub;->TRANSACTION_networkAddInterface:I
-Landroid/net/INetd$Stub;->TRANSACTION_networkAddUidRanges:I
-Landroid/net/INetd$Stub;->TRANSACTION_networkCreatePhysical:I
-Landroid/net/INetd$Stub;->TRANSACTION_networkCreateVpn:I
-Landroid/net/INetd$Stub;->TRANSACTION_networkDestroy:I
-Landroid/net/INetd$Stub;->TRANSACTION_networkRejectNonSecureVpn:I
-Landroid/net/INetd$Stub;->TRANSACTION_networkRemoveInterface:I
-Landroid/net/INetd$Stub;->TRANSACTION_networkRemoveUidRanges:I
-Landroid/net/INetd$Stub;->TRANSACTION_removeVirtualTunnelInterface:I
-Landroid/net/INetd$Stub;->TRANSACTION_setIPv6AddrGenMode:I
-Landroid/net/INetd$Stub;->TRANSACTION_setMetricsReportingLevel:I
-Landroid/net/INetd$Stub;->TRANSACTION_setProcSysNet:I
-Landroid/net/INetd$Stub;->TRANSACTION_setResolverConfiguration:I
-Landroid/net/INetd$Stub;->TRANSACTION_socketDestroy:I
-Landroid/net/INetd$Stub;->TRANSACTION_tetherApplyDnsInterfaces:I
-Landroid/net/INetd$Stub;->TRANSACTION_tetherGetStats:I
-Landroid/net/INetd$Stub;->TRANSACTION_trafficCheckBpfStatsEnable:I
-Landroid/net/INetd$Stub;->TRANSACTION_updateVirtualTunnelInterface:I
-Landroid/net/INetd$Stub;->TRANSACTION_wakeupAddInterface:I
-Landroid/net/INetd$Stub;->TRANSACTION_wakeupDelInterface:I
-Landroid/net/INetd;
-Landroid/net/INetd;->addVirtualTunnelInterface(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
-Landroid/net/INetd;->bandwidthEnableDataSaver(Z)Z
-Landroid/net/INetd;->CONF:I
-Landroid/net/INetd;->firewallReplaceUidChain(Ljava/lang/String;Z[I)Z
-Landroid/net/INetd;->getMetricsReportingLevel()I
-Landroid/net/INetd;->getResolverInfo(I[Ljava/lang/String;[Ljava/lang/String;[I[I)V
-Landroid/net/INetd;->interfaceDelAddress(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/net/INetd;->ipSecAddSecurityAssociation(IILjava/lang/String;Ljava/lang/String;IIIILjava/lang/String;[BILjava/lang/String;[BILjava/lang/String;[BIIII)V
-Landroid/net/INetd;->ipSecAddSecurityPolicy(IILjava/lang/String;Ljava/lang/String;III)V
-Landroid/net/INetd;->ipSecAllocateSpi(ILjava/lang/String;Ljava/lang/String;I)I
-Landroid/net/INetd;->ipSecApplyTransportModeTransform(Ljava/io/FileDescriptor;IILjava/lang/String;Ljava/lang/String;I)V
-Landroid/net/INetd;->ipSecDeleteSecurityAssociation(ILjava/lang/String;Ljava/lang/String;III)V
-Landroid/net/INetd;->ipSecDeleteSecurityPolicy(IILjava/lang/String;Ljava/lang/String;II)V
-Landroid/net/INetd;->ipSecRemoveTransportModeTransform(Ljava/io/FileDescriptor;)V
-Landroid/net/INetd;->ipSecSetEncapSocketOwner(Ljava/io/FileDescriptor;I)V
-Landroid/net/INetd;->ipSecUpdateSecurityPolicy(IILjava/lang/String;Ljava/lang/String;III)V
-Landroid/net/INetd;->IPSEC_INTERFACE_PREFIX:Ljava/lang/String;
-Landroid/net/INetd;->IPV4:I
-Landroid/net/INetd;->IPV6:I
-Landroid/net/INetd;->IPV6_ADDR_GEN_MODE_DEFAULT:I
-Landroid/net/INetd;->IPV6_ADDR_GEN_MODE_EUI64:I
-Landroid/net/INetd;->IPV6_ADDR_GEN_MODE_NONE:I
-Landroid/net/INetd;->IPV6_ADDR_GEN_MODE_RANDOM:I
-Landroid/net/INetd;->IPV6_ADDR_GEN_MODE_STABLE_PRIVACY:I
-Landroid/net/INetd;->isAlive()Z
-Landroid/net/INetd;->NEIGH:I
-Landroid/net/INetd;->networkAddInterface(ILjava/lang/String;)V
-Landroid/net/INetd;->networkAddUidRanges(I[Landroid/net/UidRange;)V
-Landroid/net/INetd;->networkCreatePhysical(ILjava/lang/String;)V
-Landroid/net/INetd;->networkCreateVpn(IZZ)V
-Landroid/net/INetd;->networkDestroy(I)V
-Landroid/net/INetd;->networkRejectNonSecureVpn(Z[Landroid/net/UidRange;)V
-Landroid/net/INetd;->networkRemoveInterface(ILjava/lang/String;)V
-Landroid/net/INetd;->networkRemoveUidRanges(I[Landroid/net/UidRange;)V
-Landroid/net/INetd;->PERMISSION_NETWORK:Ljava/lang/String;
-Landroid/net/INetd;->PERMISSION_SYSTEM:Ljava/lang/String;
-Landroid/net/INetd;->removeVirtualTunnelInterface(Ljava/lang/String;)V
-Landroid/net/INetd;->RESOLVER_PARAMS_COUNT:I
-Landroid/net/INetd;->RESOLVER_PARAMS_MAX_SAMPLES:I
-Landroid/net/INetd;->RESOLVER_PARAMS_MIN_SAMPLES:I
-Landroid/net/INetd;->RESOLVER_PARAMS_SAMPLE_VALIDITY:I
-Landroid/net/INetd;->RESOLVER_PARAMS_SUCCESS_THRESHOLD:I
-Landroid/net/INetd;->RESOLVER_STATS_COUNT:I
-Landroid/net/INetd;->RESOLVER_STATS_ERRORS:I
-Landroid/net/INetd;->RESOLVER_STATS_INTERNAL_ERRORS:I
-Landroid/net/INetd;->RESOLVER_STATS_LAST_SAMPLE_TIME:I
-Landroid/net/INetd;->RESOLVER_STATS_RTT_AVG:I
-Landroid/net/INetd;->RESOLVER_STATS_SUCCESSES:I
-Landroid/net/INetd;->RESOLVER_STATS_TIMEOUTS:I
-Landroid/net/INetd;->RESOLVER_STATS_USABLE:I
-Landroid/net/INetd;->setIPv6AddrGenMode(Ljava/lang/String;I)V
-Landroid/net/INetd;->setMetricsReportingLevel(I)V
-Landroid/net/INetd;->setProcSysNet(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/INetd;->setResolverConfiguration(I[Ljava/lang/String;[Ljava/lang/String;[ILjava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/net/INetd;->socketDestroy([Landroid/net/UidRange;[I)V
-Landroid/net/INetd;->tetherApplyDnsInterfaces()Z
-Landroid/net/INetd;->tetherGetStats()Landroid/os/PersistableBundle;
-Landroid/net/INetd;->TETHER_STATS_ARRAY_SIZE:I
-Landroid/net/INetd;->TETHER_STATS_RX_BYTES:I
-Landroid/net/INetd;->TETHER_STATS_RX_PACKETS:I
-Landroid/net/INetd;->TETHER_STATS_TX_BYTES:I
-Landroid/net/INetd;->TETHER_STATS_TX_PACKETS:I
-Landroid/net/INetd;->trafficCheckBpfStatsEnable()Z
-Landroid/net/INetd;->updateVirtualTunnelInterface(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
-Landroid/net/INetd;->wakeupAddInterface(Ljava/lang/String;Ljava/lang/String;II)V
-Landroid/net/INetd;->wakeupDelInterface(Ljava/lang/String;Ljava/lang/String;II)V
-Landroid/net/INetdEventCallback$Stub$Proxy;
-Landroid/net/INetdEventCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/INetdEventCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/INetdEventCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/INetdEventCallback$Stub$Proxy;->onConnectEvent(Ljava/lang/String;IJI)V
-Landroid/net/INetdEventCallback$Stub$Proxy;->onDnsEvent(Ljava/lang/String;[Ljava/lang/String;IJI)V
-Landroid/net/INetdEventCallback$Stub$Proxy;->onPrivateDnsValidationEvent(ILjava/lang/String;Ljava/lang/String;Z)V
-Landroid/net/INetdEventCallback$Stub;
-Landroid/net/INetdEventCallback$Stub;-><init>()V
-Landroid/net/INetdEventCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetdEventCallback;
-Landroid/net/INetdEventCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/INetdEventCallback$Stub;->TRANSACTION_onConnectEvent:I
-Landroid/net/INetdEventCallback$Stub;->TRANSACTION_onDnsEvent:I
-Landroid/net/INetdEventCallback$Stub;->TRANSACTION_onPrivateDnsValidationEvent:I
-Landroid/net/INetdEventCallback;
-Landroid/net/INetdEventCallback;->CALLBACK_CALLER_CONNECTIVITY_SERVICE:I
-Landroid/net/INetdEventCallback;->CALLBACK_CALLER_DEVICE_POLICY:I
-Landroid/net/INetdEventCallback;->CALLBACK_CALLER_NETWORK_WATCHLIST:I
-Landroid/net/INetdEventCallback;->onConnectEvent(Ljava/lang/String;IJI)V
-Landroid/net/INetdEventCallback;->onDnsEvent(Ljava/lang/String;[Ljava/lang/String;IJI)V
-Landroid/net/INetdEventCallback;->onPrivateDnsValidationEvent(ILjava/lang/String;Ljava/lang/String;Z)V
-Landroid/net/INetworkManagementEventObserver$Stub$Proxy;
-Landroid/net/INetworkManagementEventObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/INetworkManagementEventObserver$Stub$Proxy;->addressRemoved(Ljava/lang/String;Landroid/net/LinkAddress;)V
-Landroid/net/INetworkManagementEventObserver$Stub$Proxy;->addressUpdated(Ljava/lang/String;Landroid/net/LinkAddress;)V
-Landroid/net/INetworkManagementEventObserver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/INetworkManagementEventObserver$Stub$Proxy;->interfaceAdded(Ljava/lang/String;)V
-Landroid/net/INetworkManagementEventObserver$Stub$Proxy;->interfaceClassDataActivityChanged(Ljava/lang/String;ZJ)V
-Landroid/net/INetworkManagementEventObserver$Stub$Proxy;->interfaceDnsServerInfo(Ljava/lang/String;J[Ljava/lang/String;)V
-Landroid/net/INetworkManagementEventObserver$Stub$Proxy;->interfaceLinkStateChanged(Ljava/lang/String;Z)V
-Landroid/net/INetworkManagementEventObserver$Stub$Proxy;->interfaceRemoved(Ljava/lang/String;)V
-Landroid/net/INetworkManagementEventObserver$Stub$Proxy;->interfaceStatusChanged(Ljava/lang/String;Z)V
-Landroid/net/INetworkManagementEventObserver$Stub$Proxy;->limitReached(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/INetworkManagementEventObserver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/INetworkManagementEventObserver$Stub$Proxy;->routeRemoved(Landroid/net/RouteInfo;)V
-Landroid/net/INetworkManagementEventObserver$Stub$Proxy;->routeUpdated(Landroid/net/RouteInfo;)V
-Landroid/net/INetworkManagementEventObserver$Stub;
-Landroid/net/INetworkManagementEventObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkManagementEventObserver;
-Landroid/net/INetworkManagementEventObserver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/INetworkManagementEventObserver$Stub;->TRANSACTION_addressRemoved:I
-Landroid/net/INetworkManagementEventObserver$Stub;->TRANSACTION_addressUpdated:I
-Landroid/net/INetworkManagementEventObserver$Stub;->TRANSACTION_interfaceAdded:I
-Landroid/net/INetworkManagementEventObserver$Stub;->TRANSACTION_interfaceClassDataActivityChanged:I
-Landroid/net/INetworkManagementEventObserver$Stub;->TRANSACTION_interfaceDnsServerInfo:I
-Landroid/net/INetworkManagementEventObserver$Stub;->TRANSACTION_interfaceLinkStateChanged:I
-Landroid/net/INetworkManagementEventObserver$Stub;->TRANSACTION_interfaceRemoved:I
-Landroid/net/INetworkManagementEventObserver$Stub;->TRANSACTION_interfaceStatusChanged:I
-Landroid/net/INetworkManagementEventObserver$Stub;->TRANSACTION_limitReached:I
-Landroid/net/INetworkManagementEventObserver$Stub;->TRANSACTION_routeRemoved:I
-Landroid/net/INetworkManagementEventObserver$Stub;->TRANSACTION_routeUpdated:I
-Landroid/net/INetworkManagementEventObserver;
-Landroid/net/INetworkManagementEventObserver;->addressRemoved(Ljava/lang/String;Landroid/net/LinkAddress;)V
-Landroid/net/INetworkManagementEventObserver;->addressUpdated(Ljava/lang/String;Landroid/net/LinkAddress;)V
-Landroid/net/INetworkManagementEventObserver;->interfaceAdded(Ljava/lang/String;)V
-Landroid/net/INetworkManagementEventObserver;->interfaceClassDataActivityChanged(Ljava/lang/String;ZJ)V
-Landroid/net/INetworkManagementEventObserver;->interfaceDnsServerInfo(Ljava/lang/String;J[Ljava/lang/String;)V
-Landroid/net/INetworkManagementEventObserver;->interfaceLinkStateChanged(Ljava/lang/String;Z)V
-Landroid/net/INetworkManagementEventObserver;->interfaceRemoved(Ljava/lang/String;)V
-Landroid/net/INetworkManagementEventObserver;->interfaceStatusChanged(Ljava/lang/String;Z)V
-Landroid/net/INetworkManagementEventObserver;->limitReached(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/INetworkManagementEventObserver;->routeRemoved(Landroid/net/RouteInfo;)V
-Landroid/net/INetworkManagementEventObserver;->routeUpdated(Landroid/net/RouteInfo;)V
-Landroid/net/INetworkPolicyListener$Stub$Proxy;
-Landroid/net/INetworkPolicyListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/INetworkPolicyListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/INetworkPolicyListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/INetworkPolicyListener$Stub$Proxy;->onMeteredIfacesChanged([Ljava/lang/String;)V
-Landroid/net/INetworkPolicyListener$Stub$Proxy;->onRestrictBackgroundChanged(Z)V
-Landroid/net/INetworkPolicyListener$Stub$Proxy;->onSubscriptionOverride(III)V
-Landroid/net/INetworkPolicyListener$Stub$Proxy;->onUidPoliciesChanged(II)V
-Landroid/net/INetworkPolicyListener$Stub$Proxy;->onUidRulesChanged(II)V
-Landroid/net/INetworkPolicyListener$Stub;
-Landroid/net/INetworkPolicyListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkPolicyListener;
-Landroid/net/INetworkPolicyListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/INetworkPolicyListener$Stub;->TRANSACTION_onMeteredIfacesChanged:I
-Landroid/net/INetworkPolicyListener$Stub;->TRANSACTION_onRestrictBackgroundChanged:I
-Landroid/net/INetworkPolicyListener$Stub;->TRANSACTION_onSubscriptionOverride:I
-Landroid/net/INetworkPolicyListener$Stub;->TRANSACTION_onUidPoliciesChanged:I
-Landroid/net/INetworkPolicyListener$Stub;->TRANSACTION_onUidRulesChanged:I
-Landroid/net/INetworkPolicyListener;
-Landroid/net/INetworkPolicyListener;->onMeteredIfacesChanged([Ljava/lang/String;)V
-Landroid/net/INetworkPolicyListener;->onRestrictBackgroundChanged(Z)V
-Landroid/net/INetworkPolicyListener;->onSubscriptionOverride(III)V
-Landroid/net/INetworkPolicyListener;->onUidPoliciesChanged(II)V
-Landroid/net/INetworkPolicyListener;->onUidRulesChanged(II)V
-Landroid/net/INetworkPolicyManager$Stub$Proxy;
-Landroid/net/INetworkPolicyManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->addUidPolicy(II)V
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->factoryReset(Ljava/lang/String;)V
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->getNetworkPolicies(Ljava/lang/String;)[Landroid/net/NetworkPolicy;
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->getNetworkQuotaInfo(Landroid/net/NetworkState;)Landroid/net/NetworkQuotaInfo;
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->getRestrictBackground()Z
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->getRestrictBackgroundByCaller()I
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->getSubscriptionPlans(ILjava/lang/String;)[Landroid/telephony/SubscriptionPlan;
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->getSubscriptionPlansOwner(I)Ljava/lang/String;
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->getUidPolicy(I)I
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->getUidsWithPolicy(I)[I
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->isUidNetworkingBlocked(IZ)Z
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->onTetheringChanged(Ljava/lang/String;Z)V
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->registerListener(Landroid/net/INetworkPolicyListener;)V
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->removeUidPolicy(II)V
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->setDeviceIdleMode(Z)V
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->setNetworkPolicies([Landroid/net/NetworkPolicy;)V
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->setRestrictBackground(Z)V
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->setSubscriptionOverride(IIIJLjava/lang/String;)V
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->setSubscriptionPlans(I[Landroid/telephony/SubscriptionPlan;Ljava/lang/String;)V
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->setUidPolicy(II)V
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->setWifiMeteredOverride(Ljava/lang/String;I)V
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->snoozeLimit(Landroid/net/NetworkTemplate;)V
-Landroid/net/INetworkPolicyManager$Stub$Proxy;->unregisterListener(Landroid/net/INetworkPolicyListener;)V
-Landroid/net/INetworkPolicyManager$Stub;
-Landroid/net/INetworkPolicyManager$Stub;-><init>()V
-Landroid/net/INetworkPolicyManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_addUidPolicy:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_factoryReset:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_getNetworkPolicies:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_getNetworkQuotaInfo:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_getRestrictBackground:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_getRestrictBackgroundByCaller:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_getSubscriptionPlans:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_getSubscriptionPlansOwner:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_getUidPolicy:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_getUidsWithPolicy:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_isUidNetworkingBlocked:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_onTetheringChanged:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_registerListener:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_removeUidPolicy:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_setDeviceIdleMode:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_setNetworkPolicies:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_setRestrictBackground:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_setSubscriptionOverride:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_setSubscriptionPlans:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_setUidPolicy:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_setWifiMeteredOverride:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_snoozeLimit:I
-Landroid/net/INetworkPolicyManager$Stub;->TRANSACTION_unregisterListener:I
-Landroid/net/INetworkPolicyManager;
-Landroid/net/INetworkPolicyManager;->addUidPolicy(II)V
-Landroid/net/INetworkPolicyManager;->factoryReset(Ljava/lang/String;)V
-Landroid/net/INetworkPolicyManager;->getNetworkPolicies(Ljava/lang/String;)[Landroid/net/NetworkPolicy;
-Landroid/net/INetworkPolicyManager;->getRestrictBackgroundByCaller()I
-Landroid/net/INetworkPolicyManager;->getSubscriptionPlans(ILjava/lang/String;)[Landroid/telephony/SubscriptionPlan;
-Landroid/net/INetworkPolicyManager;->getSubscriptionPlansOwner(I)Ljava/lang/String;
-Landroid/net/INetworkPolicyManager;->getUidsWithPolicy(I)[I
-Landroid/net/INetworkPolicyManager;->isUidNetworkingBlocked(IZ)Z
-Landroid/net/INetworkPolicyManager;->onTetheringChanged(Ljava/lang/String;Z)V
-Landroid/net/INetworkPolicyManager;->registerListener(Landroid/net/INetworkPolicyListener;)V
-Landroid/net/INetworkPolicyManager;->removeUidPolicy(II)V
-Landroid/net/INetworkPolicyManager;->setDeviceIdleMode(Z)V
-Landroid/net/INetworkPolicyManager;->setSubscriptionOverride(IIIJLjava/lang/String;)V
-Landroid/net/INetworkPolicyManager;->setSubscriptionPlans(I[Landroid/telephony/SubscriptionPlan;Ljava/lang/String;)V
-Landroid/net/INetworkPolicyManager;->setWifiMeteredOverride(Ljava/lang/String;I)V
-Landroid/net/INetworkPolicyManager;->unregisterListener(Landroid/net/INetworkPolicyListener;)V
-Landroid/net/INetworkRecommendationProvider$Stub$Proxy;
-Landroid/net/INetworkRecommendationProvider$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/INetworkRecommendationProvider$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/INetworkRecommendationProvider$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/INetworkRecommendationProvider$Stub$Proxy;->requestScores([Landroid/net/NetworkKey;)V
-Landroid/net/INetworkRecommendationProvider$Stub;
-Landroid/net/INetworkRecommendationProvider$Stub;-><init>()V
-Landroid/net/INetworkRecommendationProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkRecommendationProvider;
-Landroid/net/INetworkRecommendationProvider$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/INetworkRecommendationProvider$Stub;->TRANSACTION_requestScores:I
-Landroid/net/INetworkRecommendationProvider;
-Landroid/net/INetworkRecommendationProvider;->requestScores([Landroid/net/NetworkKey;)V
-Landroid/net/INetworkScoreCache$Stub$Proxy;
-Landroid/net/INetworkScoreCache$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/INetworkScoreCache$Stub$Proxy;->clearScores()V
-Landroid/net/INetworkScoreCache$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/INetworkScoreCache$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/INetworkScoreCache$Stub$Proxy;->updateScores(Ljava/util/List;)V
-Landroid/net/INetworkScoreCache$Stub;
-Landroid/net/INetworkScoreCache$Stub;-><init>()V
-Landroid/net/INetworkScoreCache$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkScoreCache;
-Landroid/net/INetworkScoreCache$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/INetworkScoreCache$Stub;->TRANSACTION_clearScores:I
-Landroid/net/INetworkScoreCache$Stub;->TRANSACTION_updateScores:I
-Landroid/net/INetworkScoreCache;
-Landroid/net/INetworkScoreCache;->clearScores()V
-Landroid/net/INetworkScoreCache;->updateScores(Ljava/util/List;)V
-Landroid/net/INetworkScoreService$Stub$Proxy;
-Landroid/net/INetworkScoreService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/INetworkScoreService$Stub$Proxy;->clearScores()Z
-Landroid/net/INetworkScoreService$Stub$Proxy;->disableScoring()V
-Landroid/net/INetworkScoreService$Stub$Proxy;->getActiveScorer()Landroid/net/NetworkScorerAppData;
-Landroid/net/INetworkScoreService$Stub$Proxy;->getActiveScorerPackage()Ljava/lang/String;
-Landroid/net/INetworkScoreService$Stub$Proxy;->getAllValidScorers()Ljava/util/List;
-Landroid/net/INetworkScoreService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/INetworkScoreService$Stub$Proxy;->isCallerActiveScorer(I)Z
-Landroid/net/INetworkScoreService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/INetworkScoreService$Stub$Proxy;->registerNetworkScoreCache(ILandroid/net/INetworkScoreCache;I)V
-Landroid/net/INetworkScoreService$Stub$Proxy;->requestScores([Landroid/net/NetworkKey;)Z
-Landroid/net/INetworkScoreService$Stub$Proxy;->setActiveScorer(Ljava/lang/String;)Z
-Landroid/net/INetworkScoreService$Stub$Proxy;->unregisterNetworkScoreCache(ILandroid/net/INetworkScoreCache;)V
-Landroid/net/INetworkScoreService$Stub$Proxy;->updateScores([Landroid/net/ScoredNetwork;)Z
-Landroid/net/INetworkScoreService$Stub;
-Landroid/net/INetworkScoreService$Stub;-><init>()V
-Landroid/net/INetworkScoreService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/INetworkScoreService$Stub;->TRANSACTION_clearScores:I
-Landroid/net/INetworkScoreService$Stub;->TRANSACTION_disableScoring:I
-Landroid/net/INetworkScoreService$Stub;->TRANSACTION_getActiveScorer:I
-Landroid/net/INetworkScoreService$Stub;->TRANSACTION_getActiveScorerPackage:I
-Landroid/net/INetworkScoreService$Stub;->TRANSACTION_getAllValidScorers:I
-Landroid/net/INetworkScoreService$Stub;->TRANSACTION_isCallerActiveScorer:I
-Landroid/net/INetworkScoreService$Stub;->TRANSACTION_registerNetworkScoreCache:I
-Landroid/net/INetworkScoreService$Stub;->TRANSACTION_requestScores:I
-Landroid/net/INetworkScoreService$Stub;->TRANSACTION_setActiveScorer:I
-Landroid/net/INetworkScoreService$Stub;->TRANSACTION_unregisterNetworkScoreCache:I
-Landroid/net/INetworkScoreService$Stub;->TRANSACTION_updateScores:I
-Landroid/net/INetworkScoreService;
-Landroid/net/INetworkScoreService;->clearScores()Z
-Landroid/net/INetworkScoreService;->disableScoring()V
-Landroid/net/INetworkScoreService;->getActiveScorer()Landroid/net/NetworkScorerAppData;
-Landroid/net/INetworkScoreService;->getActiveScorerPackage()Ljava/lang/String;
-Landroid/net/INetworkScoreService;->getAllValidScorers()Ljava/util/List;
-Landroid/net/INetworkScoreService;->isCallerActiveScorer(I)Z
-Landroid/net/INetworkScoreService;->registerNetworkScoreCache(ILandroid/net/INetworkScoreCache;I)V
-Landroid/net/INetworkScoreService;->requestScores([Landroid/net/NetworkKey;)Z
-Landroid/net/INetworkScoreService;->setActiveScorer(Ljava/lang/String;)Z
-Landroid/net/INetworkScoreService;->unregisterNetworkScoreCache(ILandroid/net/INetworkScoreCache;)V
-Landroid/net/INetworkScoreService;->updateScores([Landroid/net/ScoredNetwork;)Z
-Landroid/net/INetworkStatsService$Stub$Proxy;
-Landroid/net/INetworkStatsService$Stub$Proxy;->forceUpdate()V
-Landroid/net/INetworkStatsService$Stub$Proxy;->forceUpdateIfaces([Landroid/net/Network;)V
-Landroid/net/INetworkStatsService$Stub$Proxy;->getDataLayerSnapshotForUid(I)Landroid/net/NetworkStats;
-Landroid/net/INetworkStatsService$Stub$Proxy;->getDetailedUidStats([Ljava/lang/String;)Landroid/net/NetworkStats;
-Landroid/net/INetworkStatsService$Stub$Proxy;->getIfaceStats(Ljava/lang/String;I)J
-Landroid/net/INetworkStatsService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/INetworkStatsService$Stub$Proxy;->getTotalStats(I)J
-Landroid/net/INetworkStatsService$Stub$Proxy;->getUidStats(II)J
-Landroid/net/INetworkStatsService$Stub$Proxy;->incrementOperationCount(III)V
-Landroid/net/INetworkStatsService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/INetworkStatsService$Stub$Proxy;->openSession()Landroid/net/INetworkStatsSession;
-Landroid/net/INetworkStatsService$Stub$Proxy;->openSessionForUsageStats(ILjava/lang/String;)Landroid/net/INetworkStatsSession;
-Landroid/net/INetworkStatsService$Stub$Proxy;->registerUsageCallback(Ljava/lang/String;Landroid/net/DataUsageRequest;Landroid/os/Messenger;Landroid/os/IBinder;)Landroid/net/DataUsageRequest;
-Landroid/net/INetworkStatsService$Stub$Proxy;->unregisterUsageRequest(Landroid/net/DataUsageRequest;)V
-Landroid/net/INetworkStatsService$Stub;
-Landroid/net/INetworkStatsService$Stub;-><init>()V
-Landroid/net/INetworkStatsService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/INetworkStatsService$Stub;->TRANSACTION_forceUpdate:I
-Landroid/net/INetworkStatsService$Stub;->TRANSACTION_forceUpdateIfaces:I
-Landroid/net/INetworkStatsService$Stub;->TRANSACTION_getDataLayerSnapshotForUid:I
-Landroid/net/INetworkStatsService$Stub;->TRANSACTION_getDetailedUidStats:I
-Landroid/net/INetworkStatsService$Stub;->TRANSACTION_getIfaceStats:I
-Landroid/net/INetworkStatsService$Stub;->TRANSACTION_getMobileIfaces:I
-Landroid/net/INetworkStatsService$Stub;->TRANSACTION_getTotalStats:I
-Landroid/net/INetworkStatsService$Stub;->TRANSACTION_getUidStats:I
-Landroid/net/INetworkStatsService$Stub;->TRANSACTION_incrementOperationCount:I
-Landroid/net/INetworkStatsService$Stub;->TRANSACTION_openSession:I
-Landroid/net/INetworkStatsService$Stub;->TRANSACTION_openSessionForUsageStats:I
-Landroid/net/INetworkStatsService$Stub;->TRANSACTION_registerUsageCallback:I
-Landroid/net/INetworkStatsService$Stub;->TRANSACTION_unregisterUsageRequest:I
-Landroid/net/INetworkStatsService;
-Landroid/net/INetworkStatsService;->forceUpdateIfaces([Landroid/net/Network;)V
-Landroid/net/INetworkStatsService;->getDetailedUidStats([Ljava/lang/String;)Landroid/net/NetworkStats;
-Landroid/net/INetworkStatsService;->getIfaceStats(Ljava/lang/String;I)J
-Landroid/net/INetworkStatsService;->getTotalStats(I)J
-Landroid/net/INetworkStatsService;->getUidStats(II)J
-Landroid/net/INetworkStatsService;->incrementOperationCount(III)V
-Landroid/net/INetworkStatsService;->registerUsageCallback(Ljava/lang/String;Landroid/net/DataUsageRequest;Landroid/os/Messenger;Landroid/os/IBinder;)Landroid/net/DataUsageRequest;
-Landroid/net/INetworkStatsService;->unregisterUsageRequest(Landroid/net/DataUsageRequest;)V
-Landroid/net/INetworkStatsSession$Stub$Proxy;
-Landroid/net/INetworkStatsSession$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/INetworkStatsSession$Stub$Proxy;->close()V
-Landroid/net/INetworkStatsSession$Stub$Proxy;->getDeviceSummaryForNetwork(Landroid/net/NetworkTemplate;JJ)Landroid/net/NetworkStats;
-Landroid/net/INetworkStatsSession$Stub$Proxy;->getHistoryForNetwork(Landroid/net/NetworkTemplate;I)Landroid/net/NetworkStatsHistory;
-Landroid/net/INetworkStatsSession$Stub$Proxy;->getHistoryForUid(Landroid/net/NetworkTemplate;IIII)Landroid/net/NetworkStatsHistory;
-Landroid/net/INetworkStatsSession$Stub$Proxy;->getHistoryIntervalForUid(Landroid/net/NetworkTemplate;IIIIJJ)Landroid/net/NetworkStatsHistory;
-Landroid/net/INetworkStatsSession$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/INetworkStatsSession$Stub$Proxy;->getRelevantUids()[I
-Landroid/net/INetworkStatsSession$Stub$Proxy;->getSummaryForAllUid(Landroid/net/NetworkTemplate;JJZ)Landroid/net/NetworkStats;
-Landroid/net/INetworkStatsSession$Stub$Proxy;->getSummaryForNetwork(Landroid/net/NetworkTemplate;JJ)Landroid/net/NetworkStats;
-Landroid/net/INetworkStatsSession$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/INetworkStatsSession$Stub;
-Landroid/net/INetworkStatsSession$Stub;-><init>()V
-Landroid/net/INetworkStatsSession$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkStatsSession;
-Landroid/net/INetworkStatsSession$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/INetworkStatsSession$Stub;->TRANSACTION_close:I
-Landroid/net/INetworkStatsSession$Stub;->TRANSACTION_getDeviceSummaryForNetwork:I
-Landroid/net/INetworkStatsSession$Stub;->TRANSACTION_getHistoryForNetwork:I
-Landroid/net/INetworkStatsSession$Stub;->TRANSACTION_getHistoryForUid:I
-Landroid/net/INetworkStatsSession$Stub;->TRANSACTION_getHistoryIntervalForUid:I
-Landroid/net/INetworkStatsSession$Stub;->TRANSACTION_getRelevantUids:I
-Landroid/net/INetworkStatsSession$Stub;->TRANSACTION_getSummaryForAllUid:I
-Landroid/net/INetworkStatsSession$Stub;->TRANSACTION_getSummaryForNetwork:I
-Landroid/net/INetworkStatsSession;
-Landroid/net/INetworkStatsSession;->getDeviceSummaryForNetwork(Landroid/net/NetworkTemplate;JJ)Landroid/net/NetworkStats;
-Landroid/net/INetworkStatsSession;->getHistoryIntervalForUid(Landroid/net/NetworkTemplate;IIIIJJ)Landroid/net/NetworkStatsHistory;
-Landroid/net/INetworkStatsSession;->getRelevantUids()[I
-Landroid/net/InterfaceConfiguration;
-Landroid/net/InterfaceConfiguration;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/InterfaceConfiguration;->FLAG_DOWN:Ljava/lang/String;
-Landroid/net/InterfaceConfiguration;->FLAG_UP:Ljava/lang/String;
-Landroid/net/InterfaceConfiguration;->getHardwareAddress()Ljava/lang/String;
-Landroid/net/InterfaceConfiguration;->getLinkAddress()Landroid/net/LinkAddress;
-Landroid/net/InterfaceConfiguration;->hasFlag(Ljava/lang/String;)Z
-Landroid/net/InterfaceConfiguration;->ignoreInterfaceUpDownStatus()V
-Landroid/net/InterfaceConfiguration;->isActive()Z
-Landroid/net/InterfaceConfiguration;->isUp()Z
-Landroid/net/InterfaceConfiguration;->mAddr:Landroid/net/LinkAddress;
-Landroid/net/InterfaceConfiguration;->mFlags:Ljava/util/HashSet;
-Landroid/net/InterfaceConfiguration;->mHwAddr:Ljava/lang/String;
-Landroid/net/InterfaceConfiguration;->setHardwareAddress(Ljava/lang/String;)V
-Landroid/net/InterfaceConfiguration;->validateFlag(Ljava/lang/String;)V
-Landroid/net/IpConfiguration$IpAssignment;
-Landroid/net/IpConfiguration$IpAssignment;-><init>()V
-Landroid/net/IpConfiguration$IpAssignment;->DHCP:Landroid/net/IpConfiguration$IpAssignment;
-Landroid/net/IpConfiguration$IpAssignment;->UNASSIGNED:Landroid/net/IpConfiguration$IpAssignment;
-Landroid/net/IpConfiguration$IpAssignment;->valueOf(Ljava/lang/String;)Landroid/net/IpConfiguration$IpAssignment;
-Landroid/net/IpConfiguration$IpAssignment;->values()[Landroid/net/IpConfiguration$IpAssignment;
-Landroid/net/IpConfiguration$ProxySettings;
-Landroid/net/IpConfiguration$ProxySettings;-><init>()V
-Landroid/net/IpConfiguration$ProxySettings;->PAC:Landroid/net/IpConfiguration$ProxySettings;
-Landroid/net/IpConfiguration$ProxySettings;->STATIC:Landroid/net/IpConfiguration$ProxySettings;
-Landroid/net/IpConfiguration$ProxySettings;->UNASSIGNED:Landroid/net/IpConfiguration$ProxySettings;
-Landroid/net/IpConfiguration$ProxySettings;->valueOf(Ljava/lang/String;)Landroid/net/IpConfiguration$ProxySettings;
-Landroid/net/IpConfiguration$ProxySettings;->values()[Landroid/net/IpConfiguration$ProxySettings;
-Landroid/net/IpConfiguration;
-Landroid/net/IpConfiguration;-><init>()V
-Landroid/net/IpConfiguration;-><init>(Landroid/net/IpConfiguration;)V
-Landroid/net/IpConfiguration;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/IpConfiguration;->getHttpProxy()Landroid/net/ProxyInfo;
-Landroid/net/IpConfiguration;->getIpAssignment()Landroid/net/IpConfiguration$IpAssignment;
-Landroid/net/IpConfiguration;->getProxySettings()Landroid/net/IpConfiguration$ProxySettings;
-Landroid/net/IpConfiguration;->getStaticIpConfiguration()Landroid/net/StaticIpConfiguration;
-Landroid/net/IpConfiguration;->init(Landroid/net/IpConfiguration$IpAssignment;Landroid/net/IpConfiguration$ProxySettings;Landroid/net/StaticIpConfiguration;Landroid/net/ProxyInfo;)V
-Landroid/net/IpConfiguration;->ipAssignment:Landroid/net/IpConfiguration$IpAssignment;
-Landroid/net/IpConfiguration;->proxySettings:Landroid/net/IpConfiguration$ProxySettings;
-Landroid/net/IpConfiguration;->setHttpProxy(Landroid/net/ProxyInfo;)V
-Landroid/net/IpConfiguration;->setIpAssignment(Landroid/net/IpConfiguration$IpAssignment;)V
-Landroid/net/IpConfiguration;->setProxySettings(Landroid/net/IpConfiguration$ProxySettings;)V
-Landroid/net/IpConfiguration;->setStaticIpConfiguration(Landroid/net/StaticIpConfiguration;)V
-Landroid/net/IpConfiguration;->staticIpConfiguration:Landroid/net/StaticIpConfiguration;
-Landroid/net/IpConfiguration;->TAG:Ljava/lang/String;
-Landroid/net/IpPrefix;-><init>(Ljava/lang/String;)V
-Landroid/net/IpPrefix;-><init>(Ljava/net/InetAddress;I)V
-Landroid/net/IpPrefix;-><init>([BI)V
-Landroid/net/IpPrefix;->address:[B
-Landroid/net/IpPrefix;->checkAndMaskAddressAndPrefixLength()V
-Landroid/net/IpPrefix;->containsPrefix(Landroid/net/IpPrefix;)Z
-Landroid/net/IpPrefix;->isIPv4()Z
-Landroid/net/IpPrefix;->isIPv6()Z
-Landroid/net/IpPrefix;->lengthComparator()Ljava/util/Comparator;
-Landroid/net/IpPrefix;->prefixLength:I
-Landroid/net/IpSecAlgorithm$AlgorithmName;
-Landroid/net/IpSecAlgorithm;->checkValidOrThrow(Ljava/lang/String;II)V
-Landroid/net/IpSecAlgorithm;->CRYPT_NULL:Ljava/lang/String;
-Landroid/net/IpSecAlgorithm;->equals(Landroid/net/IpSecAlgorithm;Landroid/net/IpSecAlgorithm;)Z
-Landroid/net/IpSecAlgorithm;->isAead()Z
-Landroid/net/IpSecAlgorithm;->isAuthentication()Z
-Landroid/net/IpSecAlgorithm;->isEncryption()Z
-Landroid/net/IpSecAlgorithm;->isUnsafeBuild()Z
-Landroid/net/IpSecAlgorithm;->mKey:[B
-Landroid/net/IpSecAlgorithm;->mName:Ljava/lang/String;
-Landroid/net/IpSecAlgorithm;->mTruncLenBits:I
-Landroid/net/IpSecAlgorithm;->TAG:Ljava/lang/String;
-Landroid/net/IpSecConfig;
-Landroid/net/IpSecConfig;-><init>()V
-Landroid/net/IpSecConfig;-><init>(Landroid/net/IpSecConfig;)V
-Landroid/net/IpSecConfig;-><init>(Landroid/os/Parcel;)V
-Landroid/net/IpSecConfig;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/IpSecConfig;->equals(Landroid/net/IpSecConfig;Landroid/net/IpSecConfig;)Z
-Landroid/net/IpSecConfig;->getAuthenticatedEncryption()Landroid/net/IpSecAlgorithm;
-Landroid/net/IpSecConfig;->getAuthentication()Landroid/net/IpSecAlgorithm;
-Landroid/net/IpSecConfig;->getDestinationAddress()Ljava/lang/String;
-Landroid/net/IpSecConfig;->getEncapRemotePort()I
-Landroid/net/IpSecConfig;->getEncapSocketResourceId()I
-Landroid/net/IpSecConfig;->getEncapType()I
-Landroid/net/IpSecConfig;->getEncryption()Landroid/net/IpSecAlgorithm;
-Landroid/net/IpSecConfig;->getMarkMask()I
-Landroid/net/IpSecConfig;->getMarkValue()I
-Landroid/net/IpSecConfig;->getMode()I
-Landroid/net/IpSecConfig;->getNattKeepaliveInterval()I
-Landroid/net/IpSecConfig;->getNetwork()Landroid/net/Network;
-Landroid/net/IpSecConfig;->getSourceAddress()Ljava/lang/String;
-Landroid/net/IpSecConfig;->getSpiResourceId()I
-Landroid/net/IpSecConfig;->mAuthenticatedEncryption:Landroid/net/IpSecAlgorithm;
-Landroid/net/IpSecConfig;->mAuthentication:Landroid/net/IpSecAlgorithm;
-Landroid/net/IpSecConfig;->mDestinationAddress:Ljava/lang/String;
-Landroid/net/IpSecConfig;->mEncapRemotePort:I
-Landroid/net/IpSecConfig;->mEncapSocketResourceId:I
-Landroid/net/IpSecConfig;->mEncapType:I
-Landroid/net/IpSecConfig;->mEncryption:Landroid/net/IpSecAlgorithm;
-Landroid/net/IpSecConfig;->mMarkMask:I
-Landroid/net/IpSecConfig;->mMarkValue:I
-Landroid/net/IpSecConfig;->mMode:I
-Landroid/net/IpSecConfig;->mNattKeepaliveInterval:I
-Landroid/net/IpSecConfig;->mNetwork:Landroid/net/Network;
-Landroid/net/IpSecConfig;->mSourceAddress:Ljava/lang/String;
-Landroid/net/IpSecConfig;->mSpiResourceId:I
-Landroid/net/IpSecConfig;->setAuthenticatedEncryption(Landroid/net/IpSecAlgorithm;)V
-Landroid/net/IpSecConfig;->setAuthentication(Landroid/net/IpSecAlgorithm;)V
-Landroid/net/IpSecConfig;->setDestinationAddress(Ljava/lang/String;)V
-Landroid/net/IpSecConfig;->setEncapRemotePort(I)V
-Landroid/net/IpSecConfig;->setEncapSocketResourceId(I)V
-Landroid/net/IpSecConfig;->setEncapType(I)V
-Landroid/net/IpSecConfig;->setEncryption(Landroid/net/IpSecAlgorithm;)V
-Landroid/net/IpSecConfig;->setMarkMask(I)V
-Landroid/net/IpSecConfig;->setMarkValue(I)V
-Landroid/net/IpSecConfig;->setMode(I)V
-Landroid/net/IpSecConfig;->setNattKeepaliveInterval(I)V
-Landroid/net/IpSecConfig;->setNetwork(Landroid/net/Network;)V
-Landroid/net/IpSecConfig;->setSourceAddress(Ljava/lang/String;)V
-Landroid/net/IpSecConfig;->setSpiResourceId(I)V
-Landroid/net/IpSecConfig;->TAG:Ljava/lang/String;
-Landroid/net/IpSecManager$IpSecTunnelInterface;
-Landroid/net/IpSecManager$IpSecTunnelInterface;-><init>(Landroid/content/Context;Landroid/net/IIpSecService;Ljava/net/InetAddress;Ljava/net/InetAddress;Landroid/net/Network;)V
-Landroid/net/IpSecManager$IpSecTunnelInterface;->addAddress(Ljava/net/InetAddress;I)V
-Landroid/net/IpSecManager$IpSecTunnelInterface;->getInterfaceName()Ljava/lang/String;
-Landroid/net/IpSecManager$IpSecTunnelInterface;->getResourceId()I
-Landroid/net/IpSecManager$IpSecTunnelInterface;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/net/IpSecManager$IpSecTunnelInterface;->mInterfaceName:Ljava/lang/String;
-Landroid/net/IpSecManager$IpSecTunnelInterface;->mLocalAddress:Ljava/net/InetAddress;
-Landroid/net/IpSecManager$IpSecTunnelInterface;->mOpPackageName:Ljava/lang/String;
-Landroid/net/IpSecManager$IpSecTunnelInterface;->mRemoteAddress:Ljava/net/InetAddress;
-Landroid/net/IpSecManager$IpSecTunnelInterface;->mResourceId:I
-Landroid/net/IpSecManager$IpSecTunnelInterface;->mService:Landroid/net/IIpSecService;
-Landroid/net/IpSecManager$IpSecTunnelInterface;->mUnderlyingNetwork:Landroid/net/Network;
-Landroid/net/IpSecManager$IpSecTunnelInterface;->removeAddress(Ljava/net/InetAddress;I)V
-Landroid/net/IpSecManager$PolicyDirection;
-Landroid/net/IpSecManager$ResourceUnavailableException;-><init>(Ljava/lang/String;)V
-Landroid/net/IpSecManager$SecurityParameterIndex;-><init>(Landroid/net/IIpSecService;Ljava/net/InetAddress;I)V
-Landroid/net/IpSecManager$SecurityParameterIndex;->getResourceId()I
-Landroid/net/IpSecManager$SecurityParameterIndex;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/net/IpSecManager$SecurityParameterIndex;->mDestinationAddress:Ljava/net/InetAddress;
-Landroid/net/IpSecManager$SecurityParameterIndex;->mResourceId:I
-Landroid/net/IpSecManager$SecurityParameterIndex;->mService:Landroid/net/IIpSecService;
-Landroid/net/IpSecManager$SecurityParameterIndex;->mSpi:I
-Landroid/net/IpSecManager$SpiUnavailableException;-><init>(Ljava/lang/String;I)V
-Landroid/net/IpSecManager$SpiUnavailableException;->mSpi:I
-Landroid/net/IpSecManager$Status;
-Landroid/net/IpSecManager$Status;->OK:I
-Landroid/net/IpSecManager$Status;->RESOURCE_UNAVAILABLE:I
-Landroid/net/IpSecManager$Status;->SPI_UNAVAILABLE:I
-Landroid/net/IpSecManager$UdpEncapsulationSocket;-><init>(Landroid/net/IIpSecService;I)V
-Landroid/net/IpSecManager$UdpEncapsulationSocket;->getResourceId()I
-Landroid/net/IpSecManager$UdpEncapsulationSocket;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/net/IpSecManager$UdpEncapsulationSocket;->mPfd:Landroid/os/ParcelFileDescriptor;
-Landroid/net/IpSecManager$UdpEncapsulationSocket;->mPort:I
-Landroid/net/IpSecManager$UdpEncapsulationSocket;->mResourceId:I
-Landroid/net/IpSecManager$UdpEncapsulationSocket;->mService:Landroid/net/IIpSecService;
-Landroid/net/IpSecManager;-><init>(Landroid/content/Context;Landroid/net/IIpSecService;)V
-Landroid/net/IpSecManager;->applyTunnelModeTransform(Landroid/net/IpSecManager$IpSecTunnelInterface;ILandroid/net/IpSecTransform;)V
-Landroid/net/IpSecManager;->createIpSecTunnelInterface(Ljava/net/InetAddress;Ljava/net/InetAddress;Landroid/net/Network;)Landroid/net/IpSecManager$IpSecTunnelInterface;
-Landroid/net/IpSecManager;->INVALID_RESOURCE_ID:I
-Landroid/net/IpSecManager;->maybeHandleServiceSpecificException(Landroid/os/ServiceSpecificException;)V
-Landroid/net/IpSecManager;->mContext:Landroid/content/Context;
-Landroid/net/IpSecManager;->mService:Landroid/net/IIpSecService;
-Landroid/net/IpSecManager;->removeTunnelModeTransform(Landroid/net/Network;Landroid/net/IpSecTransform;)V
-Landroid/net/IpSecManager;->rethrowCheckedExceptionFromServiceSpecificException(Landroid/os/ServiceSpecificException;)Ljava/io/IOException;
-Landroid/net/IpSecManager;->rethrowUncheckedExceptionFromServiceSpecificException(Landroid/os/ServiceSpecificException;)Ljava/lang/RuntimeException;
-Landroid/net/IpSecManager;->TAG:Ljava/lang/String;
-Landroid/net/IpSecSpiResponse;
-Landroid/net/IpSecSpiResponse;-><init>(I)V
-Landroid/net/IpSecSpiResponse;-><init>(III)V
-Landroid/net/IpSecSpiResponse;-><init>(Landroid/os/Parcel;)V
-Landroid/net/IpSecSpiResponse;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/IpSecSpiResponse;->resourceId:I
-Landroid/net/IpSecSpiResponse;->spi:I
-Landroid/net/IpSecSpiResponse;->status:I
-Landroid/net/IpSecSpiResponse;->TAG:Ljava/lang/String;
-Landroid/net/IpSecTransform$Builder;->buildTunnelModeTransform(Ljava/net/InetAddress;Landroid/net/IpSecManager$SecurityParameterIndex;)Landroid/net/IpSecTransform;
-Landroid/net/IpSecTransform$Builder;->mConfig:Landroid/net/IpSecConfig;
-Landroid/net/IpSecTransform$Builder;->mContext:Landroid/content/Context;
-Landroid/net/IpSecTransform$EncapType;
-Landroid/net/IpSecTransform$NattKeepaliveCallback;
-Landroid/net/IpSecTransform$NattKeepaliveCallback;-><init>()V
-Landroid/net/IpSecTransform$NattKeepaliveCallback;->ERROR_HARDWARE_ERROR:I
-Landroid/net/IpSecTransform$NattKeepaliveCallback;->ERROR_HARDWARE_UNSUPPORTED:I
-Landroid/net/IpSecTransform$NattKeepaliveCallback;->ERROR_INVALID_NETWORK:I
-Landroid/net/IpSecTransform$NattKeepaliveCallback;->onError(I)V
-Landroid/net/IpSecTransform$NattKeepaliveCallback;->onStarted()V
-Landroid/net/IpSecTransform$NattKeepaliveCallback;->onStopped()V
-Landroid/net/IpSecTransform;-><init>(Landroid/content/Context;Landroid/net/IpSecConfig;)V
-Landroid/net/IpSecTransform;->activate()Landroid/net/IpSecTransform;
-Landroid/net/IpSecTransform;->checkResultStatus(I)V
-Landroid/net/IpSecTransform;->ENCAP_ESPINUDP:I
-Landroid/net/IpSecTransform;->ENCAP_ESPINUDP_NON_IKE:I
-Landroid/net/IpSecTransform;->ENCAP_NONE:I
-Landroid/net/IpSecTransform;->equals(Landroid/net/IpSecTransform;Landroid/net/IpSecTransform;)Z
-Landroid/net/IpSecTransform;->getConfig()Landroid/net/IpSecConfig;
-Landroid/net/IpSecTransform;->getIpSecService()Landroid/net/IIpSecService;
-Landroid/net/IpSecTransform;->getResourceId()I
-Landroid/net/IpSecTransform;->mCallbackHandler:Landroid/os/Handler;
-Landroid/net/IpSecTransform;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/net/IpSecTransform;->mConfig:Landroid/net/IpSecConfig;
-Landroid/net/IpSecTransform;->mContext:Landroid/content/Context;
-Landroid/net/IpSecTransform;->mKeepalive:Landroid/net/ConnectivityManager$PacketKeepalive;
-Landroid/net/IpSecTransform;->mKeepaliveCallback:Landroid/net/ConnectivityManager$PacketKeepaliveCallback;
-Landroid/net/IpSecTransform;->MODE_TRANSPORT:I
-Landroid/net/IpSecTransform;->MODE_TUNNEL:I
-Landroid/net/IpSecTransform;->mResourceId:I
-Landroid/net/IpSecTransform;->mUserKeepaliveCallback:Landroid/net/IpSecTransform$NattKeepaliveCallback;
-Landroid/net/IpSecTransform;->startNattKeepalive(Landroid/net/IpSecTransform$NattKeepaliveCallback;ILandroid/os/Handler;)V
-Landroid/net/IpSecTransform;->stopNattKeepalive()V
-Landroid/net/IpSecTransform;->TAG:Ljava/lang/String;
-Landroid/net/IpSecTransformResponse;
-Landroid/net/IpSecTransformResponse;-><init>(I)V
-Landroid/net/IpSecTransformResponse;-><init>(II)V
-Landroid/net/IpSecTransformResponse;-><init>(Landroid/os/Parcel;)V
-Landroid/net/IpSecTransformResponse;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/IpSecTransformResponse;->resourceId:I
-Landroid/net/IpSecTransformResponse;->status:I
-Landroid/net/IpSecTransformResponse;->TAG:Ljava/lang/String;
-Landroid/net/IpSecTunnelInterfaceResponse;
-Landroid/net/IpSecTunnelInterfaceResponse;-><init>(I)V
-Landroid/net/IpSecTunnelInterfaceResponse;-><init>(IILjava/lang/String;)V
-Landroid/net/IpSecTunnelInterfaceResponse;-><init>(Landroid/os/Parcel;)V
-Landroid/net/IpSecTunnelInterfaceResponse;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/IpSecTunnelInterfaceResponse;->interfaceName:Ljava/lang/String;
-Landroid/net/IpSecTunnelInterfaceResponse;->resourceId:I
-Landroid/net/IpSecTunnelInterfaceResponse;->status:I
-Landroid/net/IpSecTunnelInterfaceResponse;->TAG:Ljava/lang/String;
-Landroid/net/IpSecUdpEncapResponse;
-Landroid/net/IpSecUdpEncapResponse;-><init>(I)V
-Landroid/net/IpSecUdpEncapResponse;-><init>(IIILjava/io/FileDescriptor;)V
-Landroid/net/IpSecUdpEncapResponse;-><init>(Landroid/os/Parcel;)V
-Landroid/net/IpSecUdpEncapResponse;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/IpSecUdpEncapResponse;->fileDescriptor:Landroid/os/ParcelFileDescriptor;
-Landroid/net/IpSecUdpEncapResponse;->port:I
-Landroid/net/IpSecUdpEncapResponse;->resourceId:I
-Landroid/net/IpSecUdpEncapResponse;->status:I
-Landroid/net/IpSecUdpEncapResponse;->TAG:Ljava/lang/String;
-Landroid/net/ITetheringStatsProvider$Stub$Proxy;
-Landroid/net/ITetheringStatsProvider$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/ITetheringStatsProvider$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/ITetheringStatsProvider$Stub$Proxy;->getTetherStats(I)Landroid/net/NetworkStats;
-Landroid/net/ITetheringStatsProvider$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/ITetheringStatsProvider$Stub$Proxy;->setInterfaceQuota(Ljava/lang/String;J)V
-Landroid/net/ITetheringStatsProvider$Stub;
-Landroid/net/ITetheringStatsProvider$Stub;-><init>()V
-Landroid/net/ITetheringStatsProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/ITetheringStatsProvider;
-Landroid/net/ITetheringStatsProvider$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/ITetheringStatsProvider$Stub;->TRANSACTION_getTetherStats:I
-Landroid/net/ITetheringStatsProvider$Stub;->TRANSACTION_setInterfaceQuota:I
-Landroid/net/ITetheringStatsProvider;
-Landroid/net/ITetheringStatsProvider;->getTetherStats(I)Landroid/net/NetworkStats;
-Landroid/net/ITetheringStatsProvider;->QUOTA_UNLIMITED:I
-Landroid/net/ITetheringStatsProvider;->setInterfaceQuota(Ljava/lang/String;J)V
-Landroid/net/KeepalivePacketData$InvalidPacketException;
-Landroid/net/KeepalivePacketData$InvalidPacketException;-><init>(I)V
-Landroid/net/KeepalivePacketData$InvalidPacketException;->error:I
-Landroid/net/KeepalivePacketData;
-Landroid/net/KeepalivePacketData;-><init>(Landroid/os/Parcel;)V
-Landroid/net/KeepalivePacketData;-><init>(Ljava/net/InetAddress;ILjava/net/InetAddress;I[B)V
-Landroid/net/KeepalivePacketData;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/KeepalivePacketData;->dstAddress:Ljava/net/InetAddress;
-Landroid/net/KeepalivePacketData;->dstPort:I
-Landroid/net/KeepalivePacketData;->getPacket()[B
-Landroid/net/KeepalivePacketData;->IPV4_HEADER_LENGTH:I
-Landroid/net/KeepalivePacketData;->mPacket:[B
-Landroid/net/KeepalivePacketData;->nattKeepalivePacket(Ljava/net/InetAddress;ILjava/net/InetAddress;I)Landroid/net/KeepalivePacketData;
-Landroid/net/KeepalivePacketData;->srcAddress:Ljava/net/InetAddress;
-Landroid/net/KeepalivePacketData;->srcPort:I
-Landroid/net/KeepalivePacketData;->TAG:Ljava/lang/String;
-Landroid/net/KeepalivePacketData;->UDP_HEADER_LENGTH:I
-Landroid/net/LinkAddress;-><init>(Ljava/lang/String;II)V
-Landroid/net/LinkAddress;-><init>(Ljava/net/InetAddress;III)V
-Landroid/net/LinkAddress;-><init>(Ljava/net/InterfaceAddress;)V
-Landroid/net/LinkAddress;->flags:I
-Landroid/net/LinkAddress;->init(Ljava/net/InetAddress;III)V
-Landroid/net/LinkAddress;->isGlobalPreferred()Z
-Landroid/net/LinkAddress;->isIPv4()Z
-Landroid/net/LinkAddress;->isIPv6ULA()Z
-Landroid/net/LinkAddress;->scope:I
-Landroid/net/LinkAddress;->scopeForUnicastAddress(Ljava/net/InetAddress;)I
-Landroid/net/LinkProperties$CompareResult;
-Landroid/net/LinkProperties$CompareResult;-><init>()V
-Landroid/net/LinkProperties$CompareResult;-><init>(Ljava/util/Collection;Ljava/util/Collection;)V
-Landroid/net/LinkProperties$CompareResult;->added:Ljava/util/List;
-Landroid/net/LinkProperties$CompareResult;->removed:Ljava/util/List;
-Landroid/net/LinkProperties$ProvisioningChange;
-Landroid/net/LinkProperties$ProvisioningChange;-><init>()V
-Landroid/net/LinkProperties$ProvisioningChange;->valueOf(Ljava/lang/String;)Landroid/net/LinkProperties$ProvisioningChange;
-Landroid/net/LinkProperties;->addValidatedPrivateDnsServer(Ljava/net/InetAddress;)Z
-Landroid/net/LinkProperties;->compareAddresses(Landroid/net/LinkProperties;)Landroid/net/LinkProperties$CompareResult;
-Landroid/net/LinkProperties;->compareAllInterfaceNames(Landroid/net/LinkProperties;)Landroid/net/LinkProperties$CompareResult;
-Landroid/net/LinkProperties;->compareAllRoutes(Landroid/net/LinkProperties;)Landroid/net/LinkProperties$CompareResult;
-Landroid/net/LinkProperties;->compareDnses(Landroid/net/LinkProperties;)Landroid/net/LinkProperties$CompareResult;
-Landroid/net/LinkProperties;->compareValidatedPrivateDnses(Landroid/net/LinkProperties;)Landroid/net/LinkProperties$CompareResult;
-Landroid/net/LinkProperties;->ensureDirectlyConnectedRoutes()V
-Landroid/net/LinkProperties;->findLinkAddressIndex(Landroid/net/LinkAddress;)I
-Landroid/net/LinkProperties;->getValidatedPrivateDnsServers()Ljava/util/List;
-Landroid/net/LinkProperties;->hasIPv4AddressOnInterface(Ljava/lang/String;)Z
-Landroid/net/LinkProperties;->isIdenticalMtu(Landroid/net/LinkProperties;)Z
-Landroid/net/LinkProperties;->isIdenticalPrivateDns(Landroid/net/LinkProperties;)Z
-Landroid/net/LinkProperties;->isIdenticalTcpBufferSizes(Landroid/net/LinkProperties;)Z
-Landroid/net/LinkProperties;->isIdenticalValidatedPrivateDnses(Landroid/net/LinkProperties;)Z
-Landroid/net/LinkProperties;->isIPv4Provisioned()Z
-Landroid/net/LinkProperties;->isValidMtu(IZ)Z
-Landroid/net/LinkProperties;->MAX_MTU:I
-Landroid/net/LinkProperties;->mDnses:Ljava/util/ArrayList;
-Landroid/net/LinkProperties;->mDomains:Ljava/lang/String;
-Landroid/net/LinkProperties;->mHttpProxy:Landroid/net/ProxyInfo;
-Landroid/net/LinkProperties;->MIN_MTU:I
-Landroid/net/LinkProperties;->MIN_MTU_V6:I
-Landroid/net/LinkProperties;->mLinkAddresses:Ljava/util/ArrayList;
-Landroid/net/LinkProperties;->mMtu:I
-Landroid/net/LinkProperties;->mPrivateDnsServerName:Ljava/lang/String;
-Landroid/net/LinkProperties;->mRoutes:Ljava/util/ArrayList;
-Landroid/net/LinkProperties;->mStackedLinks:Ljava/util/Hashtable;
-Landroid/net/LinkProperties;->mTcpBufferSizes:Ljava/lang/String;
-Landroid/net/LinkProperties;->mUsePrivateDns:Z
-Landroid/net/LinkProperties;->mValidatedPrivateDnses:Ljava/util/ArrayList;
-Landroid/net/LinkProperties;->removeLinkAddress(Landroid/net/LinkAddress;)Z
-Landroid/net/LinkProperties;->removeStackedLink(Ljava/lang/String;)Z
-Landroid/net/LinkProperties;->removeValidatedPrivateDnsServer(Ljava/net/InetAddress;)Z
-Landroid/net/LinkProperties;->routeWithInterface(Landroid/net/RouteInfo;)Landroid/net/RouteInfo;
-Landroid/net/LinkProperties;->setPrivateDnsServerName(Ljava/lang/String;)V
-Landroid/net/LinkProperties;->setUsePrivateDns(Z)V
-Landroid/net/LinkProperties;->setValidatedPrivateDnsServers(Ljava/util/Collection;)V
-Landroid/net/LinkQualityInfo;
-Landroid/net/LinkQualityInfo;-><init>()V
-Landroid/net/LinkQualityInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/LinkQualityInfo;->getDataSampleDuration()I
-Landroid/net/LinkQualityInfo;->getLastDataSampleTime()J
-Landroid/net/LinkQualityInfo;->getNetworkType()I
-Landroid/net/LinkQualityInfo;->getNormalizedSignalStrength()I
-Landroid/net/LinkQualityInfo;->getPacketCount()J
-Landroid/net/LinkQualityInfo;->getPacketErrorCount()J
-Landroid/net/LinkQualityInfo;->getTheoreticalLatency()I
-Landroid/net/LinkQualityInfo;->getTheoreticalRxBandwidth()I
-Landroid/net/LinkQualityInfo;->getTheoreticalTxBandwidth()I
-Landroid/net/LinkQualityInfo;->initializeFromParcel(Landroid/os/Parcel;)V
-Landroid/net/LinkQualityInfo;->mDataSampleDuration:I
-Landroid/net/LinkQualityInfo;->mLastDataSampleTime:J
-Landroid/net/LinkQualityInfo;->mNetworkType:I
-Landroid/net/LinkQualityInfo;->mNormalizedSignalStrength:I
-Landroid/net/LinkQualityInfo;->mPacketCount:J
-Landroid/net/LinkQualityInfo;->mPacketErrorCount:J
-Landroid/net/LinkQualityInfo;->mTheoreticalLatency:I
-Landroid/net/LinkQualityInfo;->mTheoreticalRxBandwidth:I
-Landroid/net/LinkQualityInfo;->mTheoreticalTxBandwidth:I
-Landroid/net/LinkQualityInfo;->NORMALIZED_MAX_SIGNAL_STRENGTH:I
-Landroid/net/LinkQualityInfo;->NORMALIZED_MIN_SIGNAL_STRENGTH:I
-Landroid/net/LinkQualityInfo;->NORMALIZED_SIGNAL_STRENGTH_RANGE:I
-Landroid/net/LinkQualityInfo;->OBJECT_TYPE_LINK_QUALITY_INFO:I
-Landroid/net/LinkQualityInfo;->OBJECT_TYPE_MOBILE_LINK_QUALITY_INFO:I
-Landroid/net/LinkQualityInfo;->OBJECT_TYPE_WIFI_LINK_QUALITY_INFO:I
-Landroid/net/LinkQualityInfo;->setNetworkType(I)V
-Landroid/net/LinkQualityInfo;->setNormalizedSignalStrength(I)V
-Landroid/net/LinkQualityInfo;->setTheoreticalLatency(I)V
-Landroid/net/LinkQualityInfo;->setTheoreticalRxBandwidth(I)V
-Landroid/net/LinkQualityInfo;->setTheoreticalTxBandwidth(I)V
-Landroid/net/LinkQualityInfo;->UNKNOWN_INT:I
-Landroid/net/LinkQualityInfo;->UNKNOWN_LONG:J
-Landroid/net/LinkQualityInfo;->writeToParcel(Landroid/os/Parcel;II)V
-Landroid/net/LocalServerSocket;->impl:Landroid/net/LocalSocketImpl;
-Landroid/net/LocalServerSocket;->LISTEN_BACKLOG:I
-Landroid/net/LocalServerSocket;->localAddress:Landroid/net/LocalSocketAddress;
-Landroid/net/LocalSocket;-><init>(Landroid/net/LocalSocketImpl;I)V
-Landroid/net/LocalSocket;->createConnectedLocalSocket(Landroid/net/LocalSocketImpl;I)Landroid/net/LocalSocket;
-Landroid/net/LocalSocket;->createConnectedLocalSocket(Ljava/io/FileDescriptor;)Landroid/net/LocalSocket;
-Landroid/net/LocalSocket;->createLocalSocketForAccept(Landroid/net/LocalSocketImpl;)Landroid/net/LocalSocket;
-Landroid/net/LocalSocket;->implCreated:Z
-Landroid/net/LocalSocket;->implCreateIfNeeded()V
-Landroid/net/LocalSocket;->isBound:Z
-Landroid/net/LocalSocket;->isConnected:Z
-Landroid/net/LocalSocket;->localAddress:Landroid/net/LocalSocketAddress;
-Landroid/net/LocalSocket;->SOCKET_UNKNOWN:I
-Landroid/net/LocalSocket;->sockType:I
-Landroid/net/LocalSocketAddress$Namespace;-><init>(I)V
-Landroid/net/LocalSocketAddress$Namespace;->getId()I
-Landroid/net/LocalSocketAddress$Namespace;->id:I
-Landroid/net/LocalSocketAddress;->name:Ljava/lang/String;
-Landroid/net/LocalSocketAddress;->namespace:Landroid/net/LocalSocketAddress$Namespace;
-Landroid/net/LocalSocketImpl$SocketInputStream;
-Landroid/net/LocalSocketImpl$SocketInputStream;-><init>()V
-Landroid/net/LocalSocketImpl$SocketOutputStream;
-Landroid/net/LocalSocketImpl$SocketOutputStream;-><init>()V
-Landroid/net/LocalSocketImpl;
-Landroid/net/LocalSocketImpl;-><init>(Ljava/io/FileDescriptor;)V
-Landroid/net/LocalSocketImpl;->accept(Landroid/net/LocalSocketImpl;)V
-Landroid/net/LocalSocketImpl;->available()I
-Landroid/net/LocalSocketImpl;->bind(Landroid/net/LocalSocketAddress;)V
-Landroid/net/LocalSocketImpl;->bindLocal(Ljava/io/FileDescriptor;Ljava/lang/String;I)V
-Landroid/net/LocalSocketImpl;->close()V
-Landroid/net/LocalSocketImpl;->connect(Landroid/net/LocalSocketAddress;I)V
-Landroid/net/LocalSocketImpl;->connectLocal(Ljava/io/FileDescriptor;Ljava/lang/String;I)V
-Landroid/net/LocalSocketImpl;->create(I)V
-Landroid/net/LocalSocketImpl;->fd:Ljava/io/FileDescriptor;
-Landroid/net/LocalSocketImpl;->fis:Landroid/net/LocalSocketImpl$SocketInputStream;
-Landroid/net/LocalSocketImpl;->fos:Landroid/net/LocalSocketImpl$SocketOutputStream;
-Landroid/net/LocalSocketImpl;->getAncillaryFileDescriptors()[Ljava/io/FileDescriptor;
-Landroid/net/LocalSocketImpl;->getFileDescriptor()Ljava/io/FileDescriptor;
-Landroid/net/LocalSocketImpl;->getInputStream()Ljava/io/InputStream;
-Landroid/net/LocalSocketImpl;->getOption(I)Ljava/lang/Object;
-Landroid/net/LocalSocketImpl;->getOutputStream()Ljava/io/OutputStream;
-Landroid/net/LocalSocketImpl;->getPeerCredentials()Landroid/net/Credentials;
-Landroid/net/LocalSocketImpl;->getPeerCredentials_native(Ljava/io/FileDescriptor;)Landroid/net/Credentials;
-Landroid/net/LocalSocketImpl;->getSockAddress()Landroid/net/LocalSocketAddress;
-Landroid/net/LocalSocketImpl;->javaSoToOsOpt(I)I
-Landroid/net/LocalSocketImpl;->listen(I)V
-Landroid/net/LocalSocketImpl;->mFdCreatedInternally:Z
-Landroid/net/LocalSocketImpl;->readba_native([BIILjava/io/FileDescriptor;)I
-Landroid/net/LocalSocketImpl;->readMonitor:Ljava/lang/Object;
-Landroid/net/LocalSocketImpl;->read_native(Ljava/io/FileDescriptor;)I
-Landroid/net/LocalSocketImpl;->sendUrgentData(I)V
-Landroid/net/LocalSocketImpl;->setFileDescriptorsForSend([Ljava/io/FileDescriptor;)V
-Landroid/net/LocalSocketImpl;->setOption(ILjava/lang/Object;)V
-Landroid/net/LocalSocketImpl;->shutdownInput()V
-Landroid/net/LocalSocketImpl;->shutdownOutput()V
-Landroid/net/LocalSocketImpl;->supportsUrgentData()Z
-Landroid/net/LocalSocketImpl;->writeba_native([BIILjava/io/FileDescriptor;)V
-Landroid/net/LocalSocketImpl;->writeMonitor:Ljava/lang/Object;
-Landroid/net/LocalSocketImpl;->write_native(ILjava/io/FileDescriptor;)V
-Landroid/net/MacAddress$MacAddressType;
-Landroid/net/MacAddress;-><init>(J)V
-Landroid/net/MacAddress;->addr([[I)[B
-Landroid/net/MacAddress;->BASE_GOOGLE_MAC:Landroid/net/MacAddress;
-Landroid/net/MacAddress;->byteAddrFromLongAddr(J)[B
-Landroid/net/MacAddress;->byteAddrFromStringAddr(Ljava/lang/String;)[B
-Landroid/net/MacAddress;->createRandomUnicastAddress()Landroid/net/MacAddress;
-Landroid/net/MacAddress;->createRandomUnicastAddress(Landroid/net/MacAddress;Ljava/util/Random;)Landroid/net/MacAddress;
-Landroid/net/MacAddress;->createRandomUnicastAddressWithGoogleBase()Landroid/net/MacAddress;
-Landroid/net/MacAddress;->ETHER_ADDR_BROADCAST:[B
-Landroid/net/MacAddress;->ETHER_ADDR_LEN:I
-Landroid/net/MacAddress;->isMacAddress([B)Z
-Landroid/net/MacAddress;->isMulticastAddress()Z
-Landroid/net/MacAddress;->LOCALLY_ASSIGNED_MASK:J
-Landroid/net/MacAddress;->longAddrFromByteAddr([B)J
-Landroid/net/MacAddress;->longAddrFromStringAddr(Ljava/lang/String;)J
-Landroid/net/MacAddress;->macAddressType([B)I
-Landroid/net/MacAddress;->mAddr:J
-Landroid/net/MacAddress;->MULTICAST_MASK:J
-Landroid/net/MacAddress;->NIC_MASK:J
-Landroid/net/MacAddress;->OUI_MASK:J
-Landroid/net/MacAddress;->stringAddrFromByteAddr([B)Ljava/lang/String;
-Landroid/net/MacAddress;->stringAddrFromLongAddr(J)Ljava/lang/String;
-Landroid/net/MacAddress;->TYPE_UNKNOWN:I
-Landroid/net/MacAddress;->VALID_LONG_MASK:J
-Landroid/net/MailTo;-><init>()V
-Landroid/net/MailTo;->BODY:Ljava/lang/String;
-Landroid/net/MailTo;->CC:Ljava/lang/String;
-Landroid/net/MailTo;->mHeaders:Ljava/util/HashMap;
-Landroid/net/MailTo;->SUBJECT:Ljava/lang/String;
-Landroid/net/MailTo;->TO:Ljava/lang/String;
-Landroid/net/MatchAllNetworkSpecifier;
-Landroid/net/MatchAllNetworkSpecifier;-><init>()V
-Landroid/net/MatchAllNetworkSpecifier;->checkNotMatchAllNetworkSpecifier(Landroid/net/NetworkSpecifier;)V
-Landroid/net/MatchAllNetworkSpecifier;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/MatchAllNetworkSpecifier;->satisfiedBy(Landroid/net/NetworkSpecifier;)Z
-Landroid/net/metrics/ApfProgramEvent$Decoder;
-Landroid/net/metrics/ApfProgramEvent$Decoder;-><init>()V
-Landroid/net/metrics/ApfProgramEvent$Decoder;->constants:Landroid/util/SparseArray;
-Landroid/net/metrics/ApfProgramEvent$Flags;
-Landroid/net/metrics/ApfProgramEvent;
-Landroid/net/metrics/ApfProgramEvent;-><init>(Landroid/os/Parcel;)V
-Landroid/net/metrics/ApfProgramEvent;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/metrics/ApfProgramEvent;->FLAG_HAS_IPV4_ADDRESS:I
-Landroid/net/metrics/ApfProgramEvent;->FLAG_MULTICAST_FILTER_ON:I
-Landroid/net/metrics/ApfProgramEvent;->namesOf(I)Ljava/lang/String;
-Landroid/net/metrics/ApfStats;
-Landroid/net/metrics/ApfStats;-><init>(Landroid/os/Parcel;)V
-Landroid/net/metrics/ApfStats;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/metrics/ConnectStats;
-Landroid/net/metrics/ConnectStats;-><init>(IJLcom/android/internal/util/TokenBucket;I)V
-Landroid/net/metrics/ConnectStats;->addEvent(IILjava/lang/String;)Z
-Landroid/net/metrics/ConnectStats;->connectBlockingCount:I
-Landroid/net/metrics/ConnectStats;->connectCount:I
-Landroid/net/metrics/ConnectStats;->countConnect(ILjava/lang/String;)V
-Landroid/net/metrics/ConnectStats;->countError(I)V
-Landroid/net/metrics/ConnectStats;->countLatency(II)V
-Landroid/net/metrics/ConnectStats;->EALREADY:I
-Landroid/net/metrics/ConnectStats;->EINPROGRESS:I
-Landroid/net/metrics/ConnectStats;->errnos:Landroid/util/SparseIntArray;
-Landroid/net/metrics/ConnectStats;->eventCount:I
-Landroid/net/metrics/ConnectStats;->ipv6ConnectCount:I
-Landroid/net/metrics/ConnectStats;->isIPv6(Ljava/lang/String;)Z
-Landroid/net/metrics/ConnectStats;->isNonBlocking(I)Z
-Landroid/net/metrics/ConnectStats;->isSuccess(I)Z
-Landroid/net/metrics/ConnectStats;->latencies:Landroid/util/IntArray;
-Landroid/net/metrics/ConnectStats;->mLatencyTb:Lcom/android/internal/util/TokenBucket;
-Landroid/net/metrics/ConnectStats;->mMaxLatencyRecords:I
-Landroid/net/metrics/ConnectStats;->netId:I
-Landroid/net/metrics/ConnectStats;->transports:J
-Landroid/net/metrics/DefaultNetworkEvent;
-Landroid/net/metrics/DefaultNetworkEvent;-><init>(J)V
-Landroid/net/metrics/DefaultNetworkEvent;->creationTimeMs:J
-Landroid/net/metrics/DefaultNetworkEvent;->durationMs:J
-Landroid/net/metrics/DefaultNetworkEvent;->finalScore:I
-Landroid/net/metrics/DefaultNetworkEvent;->initialScore:I
-Landroid/net/metrics/DefaultNetworkEvent;->ipSupport()Ljava/lang/String;
-Landroid/net/metrics/DefaultNetworkEvent;->ipv4:Z
-Landroid/net/metrics/DefaultNetworkEvent;->ipv6:Z
-Landroid/net/metrics/DefaultNetworkEvent;->netId:I
-Landroid/net/metrics/DefaultNetworkEvent;->previousTransports:I
-Landroid/net/metrics/DefaultNetworkEvent;->transports:I
-Landroid/net/metrics/DefaultNetworkEvent;->updateDuration(J)V
-Landroid/net/metrics/DefaultNetworkEvent;->validatedMs:J
-Landroid/net/metrics/DhcpClientEvent;
-Landroid/net/metrics/DhcpClientEvent;-><init>(Landroid/os/Parcel;)V
-Landroid/net/metrics/DhcpClientEvent;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/metrics/DhcpClientEvent;->durationMs:I
-Landroid/net/metrics/DhcpClientEvent;->INITIAL_BOUND:Ljava/lang/String;
-Landroid/net/metrics/DhcpClientEvent;->msg:Ljava/lang/String;
-Landroid/net/metrics/DhcpClientEvent;->RENEWING_BOUND:Ljava/lang/String;
-Landroid/net/metrics/DhcpErrorEvent$Decoder;
-Landroid/net/metrics/DhcpErrorEvent$Decoder;-><init>()V
-Landroid/net/metrics/DhcpErrorEvent$Decoder;->constants:Landroid/util/SparseArray;
-Landroid/net/metrics/DhcpErrorEvent;
-Landroid/net/metrics/DhcpErrorEvent;-><init>(Landroid/os/Parcel;)V
-Landroid/net/metrics/DhcpErrorEvent;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/metrics/DhcpErrorEvent;->DHCP_ERROR:I
-Landroid/net/metrics/DhcpErrorEvent;->errorCode:I
-Landroid/net/metrics/DhcpErrorEvent;->L2_ERROR:I
-Landroid/net/metrics/DhcpErrorEvent;->L3_ERROR:I
-Landroid/net/metrics/DhcpErrorEvent;->L4_ERROR:I
-Landroid/net/metrics/DhcpErrorEvent;->makeErrorCode(II)I
-Landroid/net/metrics/DhcpErrorEvent;->MISC_ERROR:I
-Landroid/net/metrics/DnsEvent;
-Landroid/net/metrics/DnsEvent;-><init>(IJI)V
-Landroid/net/metrics/DnsEvent;->addResult(BBI)Z
-Landroid/net/metrics/DnsEvent;->eventCount:I
-Landroid/net/metrics/DnsEvent;->eventTypes:[B
-Landroid/net/metrics/DnsEvent;->latenciesMs:[I
-Landroid/net/metrics/DnsEvent;->netId:I
-Landroid/net/metrics/DnsEvent;->resize(I)V
-Landroid/net/metrics/DnsEvent;->returnCodes:[B
-Landroid/net/metrics/DnsEvent;->SIZE_LIMIT:I
-Landroid/net/metrics/DnsEvent;->successCount:I
-Landroid/net/metrics/DnsEvent;->transports:J
-Landroid/net/metrics/IpConnectivityLog;
-Landroid/net/metrics/IpConnectivityLog;-><init>(Landroid/net/IIpConnectivityMetrics;)V
-Landroid/net/metrics/IpConnectivityLog;->checkLoggerService()Z
-Landroid/net/metrics/IpConnectivityLog;->DBG:Z
-Landroid/net/metrics/IpConnectivityLog;->log(I[ILandroid/os/Parcelable;)Z
-Landroid/net/metrics/IpConnectivityLog;->log(JLandroid/os/Parcelable;)Z
-Landroid/net/metrics/IpConnectivityLog;->log(Landroid/net/ConnectivityMetricsEvent;)Z
-Landroid/net/metrics/IpConnectivityLog;->makeEv(Landroid/os/Parcelable;)Landroid/net/ConnectivityMetricsEvent;
-Landroid/net/metrics/IpConnectivityLog;->mService:Landroid/net/IIpConnectivityMetrics;
-Landroid/net/metrics/IpConnectivityLog;->SERVICE_NAME:Ljava/lang/String;
-Landroid/net/metrics/IpConnectivityLog;->TAG:Ljava/lang/String;
-Landroid/net/metrics/IpManagerEvent$Decoder;
-Landroid/net/metrics/IpManagerEvent$Decoder;-><init>()V
-Landroid/net/metrics/IpManagerEvent$Decoder;->constants:Landroid/util/SparseArray;
-Landroid/net/metrics/IpManagerEvent$EventType;
-Landroid/net/metrics/IpManagerEvent;
-Landroid/net/metrics/IpManagerEvent;-><init>(Landroid/os/Parcel;)V
-Landroid/net/metrics/IpManagerEvent;->COMPLETE_LIFECYCLE:I
-Landroid/net/metrics/IpManagerEvent;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/metrics/IpManagerEvent;->durationMs:J
-Landroid/net/metrics/IpManagerEvent;->ERROR_INTERFACE_NOT_FOUND:I
-Landroid/net/metrics/IpManagerEvent;->ERROR_INVALID_PROVISIONING:I
-Landroid/net/metrics/IpManagerEvent;->ERROR_STARTING_IPREACHABILITYMONITOR:I
-Landroid/net/metrics/IpManagerEvent;->ERROR_STARTING_IPV4:I
-Landroid/net/metrics/IpManagerEvent;->ERROR_STARTING_IPV6:I
-Landroid/net/metrics/IpManagerEvent;->eventType:I
-Landroid/net/metrics/IpManagerEvent;->PROVISIONING_FAIL:I
-Landroid/net/metrics/IpManagerEvent;->PROVISIONING_OK:I
-Landroid/net/metrics/IpReachabilityEvent$Decoder;
-Landroid/net/metrics/IpReachabilityEvent$Decoder;-><init>()V
-Landroid/net/metrics/IpReachabilityEvent$Decoder;->constants:Landroid/util/SparseArray;
-Landroid/net/metrics/IpReachabilityEvent;
-Landroid/net/metrics/IpReachabilityEvent;-><init>(Landroid/os/Parcel;)V
-Landroid/net/metrics/IpReachabilityEvent;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/metrics/IpReachabilityEvent;->eventType:I
-Landroid/net/metrics/IpReachabilityEvent;->NUD_FAILED:I
-Landroid/net/metrics/IpReachabilityEvent;->NUD_FAILED_ORGANIC:I
-Landroid/net/metrics/IpReachabilityEvent;->PROBE:I
-Landroid/net/metrics/IpReachabilityEvent;->PROVISIONING_LOST:I
-Landroid/net/metrics/IpReachabilityEvent;->PROVISIONING_LOST_ORGANIC:I
-Landroid/net/metrics/NetworkEvent$Decoder;
-Landroid/net/metrics/NetworkEvent$Decoder;-><init>()V
-Landroid/net/metrics/NetworkEvent$Decoder;->constants:Landroid/util/SparseArray;
-Landroid/net/metrics/NetworkEvent$EventType;
-Landroid/net/metrics/NetworkEvent;
-Landroid/net/metrics/NetworkEvent;-><init>(I)V
-Landroid/net/metrics/NetworkEvent;-><init>(IJ)V
-Landroid/net/metrics/NetworkEvent;-><init>(Landroid/os/Parcel;)V
-Landroid/net/metrics/NetworkEvent;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/metrics/NetworkEvent;->durationMs:J
-Landroid/net/metrics/NetworkEvent;->eventType:I
-Landroid/net/metrics/NetworkEvent;->NETWORK_CAPTIVE_PORTAL_FOUND:I
-Landroid/net/metrics/NetworkEvent;->NETWORK_CONNECTED:I
-Landroid/net/metrics/NetworkEvent;->NETWORK_DISCONNECTED:I
-Landroid/net/metrics/NetworkEvent;->NETWORK_FIRST_VALIDATION_PORTAL_FOUND:I
-Landroid/net/metrics/NetworkEvent;->NETWORK_FIRST_VALIDATION_SUCCESS:I
-Landroid/net/metrics/NetworkEvent;->NETWORK_LINGER:I
-Landroid/net/metrics/NetworkEvent;->NETWORK_REVALIDATION_PORTAL_FOUND:I
-Landroid/net/metrics/NetworkEvent;->NETWORK_REVALIDATION_SUCCESS:I
-Landroid/net/metrics/NetworkEvent;->NETWORK_UNLINGER:I
-Landroid/net/metrics/NetworkEvent;->NETWORK_VALIDATED:I
-Landroid/net/metrics/NetworkEvent;->NETWORK_VALIDATION_FAILED:I
-Landroid/net/metrics/NetworkMetrics$Metrics;
-Landroid/net/metrics/NetworkMetrics$Metrics;-><init>()V
-Landroid/net/metrics/NetworkMetrics$Metrics;->average()D
-Landroid/net/metrics/NetworkMetrics$Metrics;->count(D)V
-Landroid/net/metrics/NetworkMetrics$Metrics;->count(DI)V
-Landroid/net/metrics/NetworkMetrics$Metrics;->count:I
-Landroid/net/metrics/NetworkMetrics$Metrics;->max:D
-Landroid/net/metrics/NetworkMetrics$Metrics;->merge(Landroid/net/metrics/NetworkMetrics$Metrics;)V
-Landroid/net/metrics/NetworkMetrics$Metrics;->sum:D
-Landroid/net/metrics/NetworkMetrics$Summary;
-Landroid/net/metrics/NetworkMetrics$Summary;-><init>(IJ)V
-Landroid/net/metrics/NetworkMetrics$Summary;->connectErrorRate:Landroid/net/metrics/NetworkMetrics$Metrics;
-Landroid/net/metrics/NetworkMetrics$Summary;->connectLatencies:Landroid/net/metrics/NetworkMetrics$Metrics;
-Landroid/net/metrics/NetworkMetrics$Summary;->dnsErrorRate:Landroid/net/metrics/NetworkMetrics$Metrics;
-Landroid/net/metrics/NetworkMetrics$Summary;->dnsLatencies:Landroid/net/metrics/NetworkMetrics$Metrics;
-Landroid/net/metrics/NetworkMetrics$Summary;->merge(Landroid/net/metrics/NetworkMetrics$Summary;)V
-Landroid/net/metrics/NetworkMetrics$Summary;->netId:I
-Landroid/net/metrics/NetworkMetrics$Summary;->roundTripTimeUs:Landroid/net/metrics/NetworkMetrics$Metrics;
-Landroid/net/metrics/NetworkMetrics$Summary;->sentAckTimeDiffenceMs:Landroid/net/metrics/NetworkMetrics$Metrics;
-Landroid/net/metrics/NetworkMetrics$Summary;->tcpLossRate:Landroid/net/metrics/NetworkMetrics$Metrics;
-Landroid/net/metrics/NetworkMetrics$Summary;->transports:J
-Landroid/net/metrics/NetworkMetrics;
-Landroid/net/metrics/NetworkMetrics;-><init>(IJLcom/android/internal/util/TokenBucket;)V
-Landroid/net/metrics/NetworkMetrics;->addConnectResult(IILjava/lang/String;)V
-Landroid/net/metrics/NetworkMetrics;->addDnsResult(III)V
-Landroid/net/metrics/NetworkMetrics;->addTcpStatsResult(IIII)V
-Landroid/net/metrics/NetworkMetrics;->connectMetrics:Landroid/net/metrics/ConnectStats;
-Landroid/net/metrics/NetworkMetrics;->CONNECT_LATENCY_MAXIMUM_RECORDS:I
-Landroid/net/metrics/NetworkMetrics;->dnsMetrics:Landroid/net/metrics/DnsEvent;
-Landroid/net/metrics/NetworkMetrics;->getPendingStats()Landroid/net/metrics/NetworkMetrics$Summary;
-Landroid/net/metrics/NetworkMetrics;->INITIAL_DNS_BATCH_SIZE:I
-Landroid/net/metrics/NetworkMetrics;->netId:I
-Landroid/net/metrics/NetworkMetrics;->pendingSummary:Landroid/net/metrics/NetworkMetrics$Summary;
-Landroid/net/metrics/NetworkMetrics;->summary:Landroid/net/metrics/NetworkMetrics$Summary;
-Landroid/net/metrics/NetworkMetrics;->transports:J
-Landroid/net/metrics/RaEvent$Builder;
-Landroid/net/metrics/RaEvent$Builder;->dnsslLifetime:J
-Landroid/net/metrics/RaEvent$Builder;->prefixPreferredLifetime:J
-Landroid/net/metrics/RaEvent$Builder;->prefixValidLifetime:J
-Landroid/net/metrics/RaEvent$Builder;->rdnssLifetime:J
-Landroid/net/metrics/RaEvent$Builder;->routeInfoLifetime:J
-Landroid/net/metrics/RaEvent$Builder;->routerLifetime:J
-Landroid/net/metrics/RaEvent$Builder;->updateLifetime(JJ)J
-Landroid/net/metrics/RaEvent;
-Landroid/net/metrics/RaEvent;-><init>(JJJJJJ)V
-Landroid/net/metrics/RaEvent;-><init>(Landroid/os/Parcel;)V
-Landroid/net/metrics/RaEvent;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/metrics/RaEvent;->dnsslLifetime:J
-Landroid/net/metrics/RaEvent;->NO_LIFETIME:J
-Landroid/net/metrics/RaEvent;->prefixPreferredLifetime:J
-Landroid/net/metrics/RaEvent;->prefixValidLifetime:J
-Landroid/net/metrics/RaEvent;->rdnssLifetime:J
-Landroid/net/metrics/RaEvent;->routeInfoLifetime:J
-Landroid/net/metrics/RaEvent;->routerLifetime:J
-Landroid/net/metrics/ValidationProbeEvent$Decoder;
-Landroid/net/metrics/ValidationProbeEvent$Decoder;-><init>()V
-Landroid/net/metrics/ValidationProbeEvent$Decoder;->constants:Landroid/util/SparseArray;
-Landroid/net/metrics/ValidationProbeEvent$ReturnCode;
-Landroid/net/metrics/ValidationProbeEvent;
-Landroid/net/metrics/ValidationProbeEvent;-><init>()V
-Landroid/net/metrics/ValidationProbeEvent;-><init>(Landroid/os/Parcel;)V
-Landroid/net/metrics/ValidationProbeEvent;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/metrics/ValidationProbeEvent;->DNS_FAILURE:I
-Landroid/net/metrics/ValidationProbeEvent;->DNS_SUCCESS:I
-Landroid/net/metrics/ValidationProbeEvent;->durationMs:J
-Landroid/net/metrics/ValidationProbeEvent;->FIRST_VALIDATION:I
-Landroid/net/metrics/ValidationProbeEvent;->getProbeName(I)Ljava/lang/String;
-Landroid/net/metrics/ValidationProbeEvent;->getValidationStage(I)Ljava/lang/String;
-Landroid/net/metrics/ValidationProbeEvent;->makeProbeType(IZ)I
-Landroid/net/metrics/ValidationProbeEvent;->probeType:I
-Landroid/net/metrics/ValidationProbeEvent;->PROBE_DNS:I
-Landroid/net/metrics/ValidationProbeEvent;->PROBE_FALLBACK:I
-Landroid/net/metrics/ValidationProbeEvent;->PROBE_HTTP:I
-Landroid/net/metrics/ValidationProbeEvent;->PROBE_HTTPS:I
-Landroid/net/metrics/ValidationProbeEvent;->PROBE_PAC:I
-Landroid/net/metrics/ValidationProbeEvent;->returnCode:I
-Landroid/net/metrics/ValidationProbeEvent;->REVALIDATION:I
-Landroid/net/metrics/WakeupEvent;
-Landroid/net/metrics/WakeupEvent;-><init>()V
-Landroid/net/metrics/WakeupEvent;->dstHwAddr:Landroid/net/MacAddress;
-Landroid/net/metrics/WakeupEvent;->dstIp:Ljava/lang/String;
-Landroid/net/metrics/WakeupEvent;->dstPort:I
-Landroid/net/metrics/WakeupEvent;->ethertype:I
-Landroid/net/metrics/WakeupEvent;->iface:Ljava/lang/String;
-Landroid/net/metrics/WakeupEvent;->ipNextHeader:I
-Landroid/net/metrics/WakeupEvent;->srcIp:Ljava/lang/String;
-Landroid/net/metrics/WakeupEvent;->srcPort:I
-Landroid/net/metrics/WakeupEvent;->timestampMs:J
-Landroid/net/metrics/WakeupEvent;->uid:I
-Landroid/net/metrics/WakeupStats;
-Landroid/net/metrics/WakeupStats;-><init>(Ljava/lang/String;)V
-Landroid/net/metrics/WakeupStats;->applicationWakeups:J
-Landroid/net/metrics/WakeupStats;->countEvent(Landroid/net/metrics/WakeupEvent;)V
-Landroid/net/metrics/WakeupStats;->creationTimeMs:J
-Landroid/net/metrics/WakeupStats;->durationSec:J
-Landroid/net/metrics/WakeupStats;->ethertypes:Landroid/util/SparseIntArray;
-Landroid/net/metrics/WakeupStats;->iface:Ljava/lang/String;
-Landroid/net/metrics/WakeupStats;->increment(Landroid/util/SparseIntArray;I)V
-Landroid/net/metrics/WakeupStats;->ipNextHeaders:Landroid/util/SparseIntArray;
-Landroid/net/metrics/WakeupStats;->l2BroadcastCount:J
-Landroid/net/metrics/WakeupStats;->l2MulticastCount:J
-Landroid/net/metrics/WakeupStats;->l2UnicastCount:J
-Landroid/net/metrics/WakeupStats;->nonApplicationWakeups:J
-Landroid/net/metrics/WakeupStats;->noUidWakeups:J
-Landroid/net/metrics/WakeupStats;->NO_UID:I
-Landroid/net/metrics/WakeupStats;->rootWakeups:J
-Landroid/net/metrics/WakeupStats;->systemWakeups:J
-Landroid/net/metrics/WakeupStats;->totalWakeups:J
-Landroid/net/metrics/WakeupStats;->updateDuration()V
-Landroid/net/MobileLinkQualityInfo;
-Landroid/net/MobileLinkQualityInfo;->createFromParcelBody(Landroid/os/Parcel;)Landroid/net/MobileLinkQualityInfo;
-Landroid/net/MobileLinkQualityInfo;->getCdmaDbm()I
-Landroid/net/MobileLinkQualityInfo;->getCdmaEcio()I
-Landroid/net/MobileLinkQualityInfo;->getEvdoDbm()I
-Landroid/net/MobileLinkQualityInfo;->getEvdoEcio()I
-Landroid/net/MobileLinkQualityInfo;->getEvdoSnr()I
-Landroid/net/MobileLinkQualityInfo;->getGsmErrorRate()I
-Landroid/net/MobileLinkQualityInfo;->getLteCqi()I
-Landroid/net/MobileLinkQualityInfo;->getLteRsrp()I
-Landroid/net/MobileLinkQualityInfo;->getLteRsrq()I
-Landroid/net/MobileLinkQualityInfo;->getLteRssnr()I
-Landroid/net/MobileLinkQualityInfo;->getLteSignalStrength()I
-Landroid/net/MobileLinkQualityInfo;->getRssi()I
-Landroid/net/MobileLinkQualityInfo;->mCdmaDbm:I
-Landroid/net/MobileLinkQualityInfo;->mCdmaEcio:I
-Landroid/net/MobileLinkQualityInfo;->mEvdoDbm:I
-Landroid/net/MobileLinkQualityInfo;->mEvdoEcio:I
-Landroid/net/MobileLinkQualityInfo;->mEvdoSnr:I
-Landroid/net/MobileLinkQualityInfo;->mGsmErrorRate:I
-Landroid/net/MobileLinkQualityInfo;->mLteCqi:I
-Landroid/net/MobileLinkQualityInfo;->mLteRsrp:I
-Landroid/net/MobileLinkQualityInfo;->mLteRsrq:I
-Landroid/net/MobileLinkQualityInfo;->mLteRssnr:I
-Landroid/net/MobileLinkQualityInfo;->mLteSignalStrength:I
-Landroid/net/MobileLinkQualityInfo;->mMobileNetworkType:I
-Landroid/net/MobileLinkQualityInfo;->mRssi:I
-Landroid/net/Network$NetworkBoundSocketFactory;
-Landroid/net/Network$NetworkBoundSocketFactory;-><init>(I)V
-Landroid/net/Network$NetworkBoundSocketFactory;->connectToHost(Ljava/lang/String;ILjava/net/SocketAddress;)Ljava/net/Socket;
-Landroid/net/Network$NetworkBoundSocketFactory;->mNetId:I
-Landroid/net/Network;-><init>(Landroid/net/Network;)V
-Landroid/net/Network;->getNetIdForResolv()I
-Landroid/net/Network;->HANDLE_MAGIC:J
-Landroid/net/Network;->HANDLE_MAGIC_SIZE:I
-Landroid/net/Network;->httpKeepAlive:Z
-Landroid/net/Network;->httpKeepAliveDurationMs:J
-Landroid/net/Network;->httpMaxConnections:I
-Landroid/net/Network;->maybeInitUrlConnectionFactory()V
-Landroid/net/Network;->mLock:Ljava/lang/Object;
-Landroid/net/Network;->mNetworkBoundSocketFactory:Landroid/net/Network$NetworkBoundSocketFactory;
-Landroid/net/Network;->mPrivateDnsBypass:Z
-Landroid/net/Network;->mUrlConnectionFactory:Lcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory;
-Landroid/net/Network;->setPrivateDnsBypass(Z)V
-Landroid/net/Network;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/net/NetworkAgent;
-Landroid/net/NetworkAgent;-><init>(Landroid/os/Looper;Landroid/content/Context;Ljava/lang/String;Landroid/net/NetworkInfo;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;I)V
-Landroid/net/NetworkAgent;-><init>(Landroid/os/Looper;Landroid/content/Context;Ljava/lang/String;Landroid/net/NetworkInfo;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;ILandroid/net/NetworkMisc;)V
-Landroid/net/NetworkAgent;->BASE:I
-Landroid/net/NetworkAgent;->BW_REFRESH_MIN_WIN_MS:J
-Landroid/net/NetworkAgent;->CMD_PREVENT_AUTOMATIC_RECONNECT:I
-Landroid/net/NetworkAgent;->CMD_REPORT_NETWORK_STATUS:I
-Landroid/net/NetworkAgent;->CMD_REQUEST_BANDWIDTH_UPDATE:I
-Landroid/net/NetworkAgent;->CMD_SAVE_ACCEPT_UNVALIDATED:I
-Landroid/net/NetworkAgent;->CMD_SET_SIGNAL_STRENGTH_THRESHOLDS:I
-Landroid/net/NetworkAgent;->CMD_START_PACKET_KEEPALIVE:I
-Landroid/net/NetworkAgent;->CMD_STOP_PACKET_KEEPALIVE:I
-Landroid/net/NetworkAgent;->CMD_SUSPECT_BAD:I
-Landroid/net/NetworkAgent;->DBG:Z
-Landroid/net/NetworkAgent;->EVENT_NETWORK_CAPABILITIES_CHANGED:I
-Landroid/net/NetworkAgent;->EVENT_NETWORK_INFO_CHANGED:I
-Landroid/net/NetworkAgent;->EVENT_NETWORK_PROPERTIES_CHANGED:I
-Landroid/net/NetworkAgent;->EVENT_NETWORK_SCORE_CHANGED:I
-Landroid/net/NetworkAgent;->EVENT_PACKET_KEEPALIVE:I
-Landroid/net/NetworkAgent;->EVENT_SET_EXPLICITLY_SELECTED:I
-Landroid/net/NetworkAgent;->explicitlySelected(Z)V
-Landroid/net/NetworkAgent;->INVALID_NETWORK:I
-Landroid/net/NetworkAgent;->log(Ljava/lang/String;)V
-Landroid/net/NetworkAgent;->LOG_TAG:Ljava/lang/String;
-Landroid/net/NetworkAgent;->mAsyncChannel:Lcom/android/internal/util/AsyncChannel;
-Landroid/net/NetworkAgent;->mContext:Landroid/content/Context;
-Landroid/net/NetworkAgent;->mLastBwRefreshTime:J
-Landroid/net/NetworkAgent;->mPollLcePending:Ljava/util/concurrent/atomic/AtomicBoolean;
-Landroid/net/NetworkAgent;->mPollLceScheduled:Z
-Landroid/net/NetworkAgent;->mPreConnectedQueue:Ljava/util/ArrayList;
-Landroid/net/NetworkAgent;->netId:I
-Landroid/net/NetworkAgent;->networkStatus(ILjava/lang/String;)V
-Landroid/net/NetworkAgent;->onPacketKeepaliveEvent(II)V
-Landroid/net/NetworkAgent;->pollLceData()V
-Landroid/net/NetworkAgent;->preventAutomaticReconnect()V
-Landroid/net/NetworkAgent;->queueOrSendMessage(III)V
-Landroid/net/NetworkAgent;->queueOrSendMessage(IIILjava/lang/Object;)V
-Landroid/net/NetworkAgent;->queueOrSendMessage(ILjava/lang/Object;)V
-Landroid/net/NetworkAgent;->queueOrSendMessage(Landroid/os/Message;)V
-Landroid/net/NetworkAgent;->REDIRECT_URL_KEY:Ljava/lang/String;
-Landroid/net/NetworkAgent;->saveAcceptUnvalidated(Z)V
-Landroid/net/NetworkAgent;->sendLinkProperties(Landroid/net/LinkProperties;)V
-Landroid/net/NetworkAgent;->sendNetworkCapabilities(Landroid/net/NetworkCapabilities;)V
-Landroid/net/NetworkAgent;->sendNetworkScore(I)V
-Landroid/net/NetworkAgent;->setSignalStrengthThresholds([I)V
-Landroid/net/NetworkAgent;->startPacketKeepalive(Landroid/os/Message;)V
-Landroid/net/NetworkAgent;->stopPacketKeepalive(Landroid/os/Message;)V
-Landroid/net/NetworkAgent;->unwanted()V
-Landroid/net/NetworkAgent;->VALID_NETWORK:I
-Landroid/net/NetworkAgent;->VDBG:Z
-Landroid/net/NetworkAgent;->WIFI_BASE_SCORE:I
-Landroid/net/NetworkBadging;-><init>()V
-Landroid/net/NetworkBadging;->getBadgedWifiSignalResource(I)I
-Landroid/net/NetworkBadging;->getWifiSignalResource(I)I
-Landroid/net/NetworkCapabilities$NameOf;
-Landroid/net/NetworkCapabilities$NameOf;->nameOf(I)Ljava/lang/String;
-Landroid/net/NetworkCapabilities$NetCapability;
-Landroid/net/NetworkCapabilities$Transport;
-Landroid/net/NetworkCapabilities;->addUnwantedCapability(I)V
-Landroid/net/NetworkCapabilities;->appendStringRepresentationOfBitMaskToStringBuilder(Ljava/lang/StringBuilder;JLandroid/net/NetworkCapabilities$NameOf;Ljava/lang/String;)V
-Landroid/net/NetworkCapabilities;->appliesToUid(I)Z
-Landroid/net/NetworkCapabilities;->appliesToUidRange(Landroid/net/UidRange;)Z
-Landroid/net/NetworkCapabilities;->capabilityNameOf(I)Ljava/lang/String;
-Landroid/net/NetworkCapabilities;->capabilityNamesOf([I)Ljava/lang/String;
-Landroid/net/NetworkCapabilities;->checkValidCapability(I)V
-Landroid/net/NetworkCapabilities;->checkValidTransportType(I)V
-Landroid/net/NetworkCapabilities;->clearAll()V
-Landroid/net/NetworkCapabilities;->combineCapabilities(Landroid/net/NetworkCapabilities;)V
-Landroid/net/NetworkCapabilities;->combineLinkBandwidths(Landroid/net/NetworkCapabilities;)V
-Landroid/net/NetworkCapabilities;->combineNetCapabilities(Landroid/net/NetworkCapabilities;)V
-Landroid/net/NetworkCapabilities;->combineSignalStrength(Landroid/net/NetworkCapabilities;)V
-Landroid/net/NetworkCapabilities;->combineSpecifiers(Landroid/net/NetworkCapabilities;)V
-Landroid/net/NetworkCapabilities;->combineSSIDs(Landroid/net/NetworkCapabilities;)V
-Landroid/net/NetworkCapabilities;->combineTransportTypes(Landroid/net/NetworkCapabilities;)V
-Landroid/net/NetworkCapabilities;->combineUids(Landroid/net/NetworkCapabilities;)V
-Landroid/net/NetworkCapabilities;->DEFAULT_CAPABILITIES:J
-Landroid/net/NetworkCapabilities;->describeFirstNonRequestableCapability()Ljava/lang/String;
-Landroid/net/NetworkCapabilities;->describeImmutableDifferences(Landroid/net/NetworkCapabilities;)Ljava/lang/String;
-Landroid/net/NetworkCapabilities;->equalRequestableCapabilities(Landroid/net/NetworkCapabilities;)Z
-Landroid/net/NetworkCapabilities;->equalsLinkBandwidths(Landroid/net/NetworkCapabilities;)Z
-Landroid/net/NetworkCapabilities;->equalsNetCapabilities(Landroid/net/NetworkCapabilities;)Z
-Landroid/net/NetworkCapabilities;->equalsNetCapabilitiesRequestable(Landroid/net/NetworkCapabilities;)Z
-Landroid/net/NetworkCapabilities;->equalsSignalStrength(Landroid/net/NetworkCapabilities;)Z
-Landroid/net/NetworkCapabilities;->equalsSpecifier(Landroid/net/NetworkCapabilities;)Z
-Landroid/net/NetworkCapabilities;->equalsSSID(Landroid/net/NetworkCapabilities;)Z
-Landroid/net/NetworkCapabilities;->equalsTransportTypes(Landroid/net/NetworkCapabilities;)Z
-Landroid/net/NetworkCapabilities;->equalsUids(Landroid/net/NetworkCapabilities;)Z
-Landroid/net/NetworkCapabilities;->FORCE_RESTRICTED_CAPABILITIES:J
-Landroid/net/NetworkCapabilities;->getSSID()Ljava/lang/String;
-Landroid/net/NetworkCapabilities;->getUids()Ljava/util/Set;
-Landroid/net/NetworkCapabilities;->getUnwantedCapabilities()[I
-Landroid/net/NetworkCapabilities;->hasUnwantedCapability(I)Z
-Landroid/net/NetworkCapabilities;->INVALID_UID:I
-Landroid/net/NetworkCapabilities;->isValidCapability(I)Z
-Landroid/net/NetworkCapabilities;->isValidTransport(I)Z
-Landroid/net/NetworkCapabilities;->LINK_BANDWIDTH_UNSPECIFIED:I
-Landroid/net/NetworkCapabilities;->maxBandwidth(II)I
-Landroid/net/NetworkCapabilities;->MAX_NET_CAPABILITY:I
-Landroid/net/NetworkCapabilities;->MAX_TRANSPORT:I
-Landroid/net/NetworkCapabilities;->maybeMarkCapabilitiesRestricted()V
-Landroid/net/NetworkCapabilities;->mEstablishingVpnAppUid:I
-Landroid/net/NetworkCapabilities;->minBandwidth(II)I
-Landroid/net/NetworkCapabilities;->MIN_NET_CAPABILITY:I
-Landroid/net/NetworkCapabilities;->MIN_TRANSPORT:I
-Landroid/net/NetworkCapabilities;->mLinkDownBandwidthKbps:I
-Landroid/net/NetworkCapabilities;->mLinkUpBandwidthKbps:I
-Landroid/net/NetworkCapabilities;->mNetworkSpecifier:Landroid/net/NetworkSpecifier;
-Landroid/net/NetworkCapabilities;->mSSID:Ljava/lang/String;
-Landroid/net/NetworkCapabilities;->mTransportTypes:J
-Landroid/net/NetworkCapabilities;->mUids:Landroid/util/ArraySet;
-Landroid/net/NetworkCapabilities;->mUnwantedNetworkCapabilities:J
-Landroid/net/NetworkCapabilities;->MUTABLE_CAPABILITIES:J
-Landroid/net/NetworkCapabilities;->NON_REQUESTABLE_CAPABILITIES:J
-Landroid/net/NetworkCapabilities;->removeTransportType(I)Landroid/net/NetworkCapabilities;
-Landroid/net/NetworkCapabilities;->RESTRICTED_CAPABILITIES:J
-Landroid/net/NetworkCapabilities;->satisfiedByImmutableNetworkCapabilities(Landroid/net/NetworkCapabilities;)Z
-Landroid/net/NetworkCapabilities;->satisfiedByLinkBandwidths(Landroid/net/NetworkCapabilities;)Z
-Landroid/net/NetworkCapabilities;->satisfiedByNetCapabilities(Landroid/net/NetworkCapabilities;Z)Z
-Landroid/net/NetworkCapabilities;->satisfiedByNetworkCapabilities(Landroid/net/NetworkCapabilities;)Z
-Landroid/net/NetworkCapabilities;->satisfiedByNetworkCapabilities(Landroid/net/NetworkCapabilities;Z)Z
-Landroid/net/NetworkCapabilities;->satisfiedBySignalStrength(Landroid/net/NetworkCapabilities;)Z
-Landroid/net/NetworkCapabilities;->satisfiedBySpecifier(Landroid/net/NetworkCapabilities;)Z
-Landroid/net/NetworkCapabilities;->satisfiedBySSID(Landroid/net/NetworkCapabilities;)Z
-Landroid/net/NetworkCapabilities;->satisfiedByTransportTypes(Landroid/net/NetworkCapabilities;)Z
-Landroid/net/NetworkCapabilities;->satisfiedByUids(Landroid/net/NetworkCapabilities;)Z
-Landroid/net/NetworkCapabilities;->set(Landroid/net/NetworkCapabilities;)V
-Landroid/net/NetworkCapabilities;->setCapabilities([I)V
-Landroid/net/NetworkCapabilities;->setCapabilities([I[I)V
-Landroid/net/NetworkCapabilities;->setCapability(IZ)Landroid/net/NetworkCapabilities;
-Landroid/net/NetworkCapabilities;->setEstablishingVpnAppUid(I)V
-Landroid/net/NetworkCapabilities;->setLinkDownstreamBandwidthKbps(I)Landroid/net/NetworkCapabilities;
-Landroid/net/NetworkCapabilities;->setLinkUpstreamBandwidthKbps(I)Landroid/net/NetworkCapabilities;
-Landroid/net/NetworkCapabilities;->setNetworkSpecifier(Landroid/net/NetworkSpecifier;)Landroid/net/NetworkCapabilities;
-Landroid/net/NetworkCapabilities;->setSingleUid(I)Landroid/net/NetworkCapabilities;
-Landroid/net/NetworkCapabilities;->setSSID(Ljava/lang/String;)Landroid/net/NetworkCapabilities;
-Landroid/net/NetworkCapabilities;->setTransportType(IZ)Landroid/net/NetworkCapabilities;
-Landroid/net/NetworkCapabilities;->setTransportTypes([I)V
-Landroid/net/NetworkCapabilities;->setUids(Ljava/util/Set;)Landroid/net/NetworkCapabilities;
-Landroid/net/NetworkCapabilities;->SIGNAL_STRENGTH_UNSPECIFIED:I
-Landroid/net/NetworkCapabilities;->TAG:Ljava/lang/String;
-Landroid/net/NetworkCapabilities;->transportNameOf(I)Ljava/lang/String;
-Landroid/net/NetworkCapabilities;->TRANSPORT_NAMES:[Ljava/lang/String;
-Landroid/net/NetworkCapabilities;->UNRESTRICTED_CAPABILITIES:J
-Landroid/net/NetworkCapabilities;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/net/NetworkCapabilitiesProto;
-Landroid/net/NetworkCapabilitiesProto;-><init>()V
-Landroid/net/NetworkCapabilitiesProto;->CAN_REPORT_SIGNAL_STRENGTH:J
-Landroid/net/NetworkCapabilitiesProto;->CAPABILITIES:J
-Landroid/net/NetworkCapabilitiesProto;->LINK_DOWN_BANDWIDTH_KBPS:J
-Landroid/net/NetworkCapabilitiesProto;->LINK_UP_BANDWIDTH_KBPS:J
-Landroid/net/NetworkCapabilitiesProto;->NETWORK_SPECIFIER:J
-Landroid/net/NetworkCapabilitiesProto;->NET_CAPABILITY_CAPTIVE_PORTAL:I
-Landroid/net/NetworkCapabilitiesProto;->NET_CAPABILITY_CBS:I
-Landroid/net/NetworkCapabilitiesProto;->NET_CAPABILITY_DUN:I
-Landroid/net/NetworkCapabilitiesProto;->NET_CAPABILITY_EIMS:I
-Landroid/net/NetworkCapabilitiesProto;->NET_CAPABILITY_FOREGROUND:I
-Landroid/net/NetworkCapabilitiesProto;->NET_CAPABILITY_FOTA:I
-Landroid/net/NetworkCapabilitiesProto;->NET_CAPABILITY_IA:I
-Landroid/net/NetworkCapabilitiesProto;->NET_CAPABILITY_IMS:I
-Landroid/net/NetworkCapabilitiesProto;->NET_CAPABILITY_INTERNET:I
-Landroid/net/NetworkCapabilitiesProto;->NET_CAPABILITY_MMS:I
-Landroid/net/NetworkCapabilitiesProto;->NET_CAPABILITY_NOT_METERED:I
-Landroid/net/NetworkCapabilitiesProto;->NET_CAPABILITY_NOT_RESTRICTED:I
-Landroid/net/NetworkCapabilitiesProto;->NET_CAPABILITY_NOT_ROAMING:I
-Landroid/net/NetworkCapabilitiesProto;->NET_CAPABILITY_NOT_VPN:I
-Landroid/net/NetworkCapabilitiesProto;->NET_CAPABILITY_RCS:I
-Landroid/net/NetworkCapabilitiesProto;->NET_CAPABILITY_SUPL:I
-Landroid/net/NetworkCapabilitiesProto;->NET_CAPABILITY_TRUSTED:I
-Landroid/net/NetworkCapabilitiesProto;->NET_CAPABILITY_VALIDATED:I
-Landroid/net/NetworkCapabilitiesProto;->NET_CAPABILITY_WIFI_P2P:I
-Landroid/net/NetworkCapabilitiesProto;->NET_CAPABILITY_XCAP:I
-Landroid/net/NetworkCapabilitiesProto;->SIGNAL_STRENGTH:J
-Landroid/net/NetworkCapabilitiesProto;->TRANSPORTS:J
-Landroid/net/NetworkCapabilitiesProto;->TRANSPORT_BLUETOOTH:I
-Landroid/net/NetworkCapabilitiesProto;->TRANSPORT_CELLULAR:I
-Landroid/net/NetworkCapabilitiesProto;->TRANSPORT_ETHERNET:I
-Landroid/net/NetworkCapabilitiesProto;->TRANSPORT_LOWPAN:I
-Landroid/net/NetworkCapabilitiesProto;->TRANSPORT_VPN:I
-Landroid/net/NetworkCapabilitiesProto;->TRANSPORT_WIFI:I
-Landroid/net/NetworkCapabilitiesProto;->TRANSPORT_WIFI_AWARE:I
-Landroid/net/NetworkConfig;
-Landroid/net/NetworkConfig;-><init>(Ljava/lang/String;)V
-Landroid/net/NetworkConfig;->dependencyMet:Z
-Landroid/net/NetworkConfig;->isDefault()Z
-Landroid/net/NetworkConfig;->name:Ljava/lang/String;
-Landroid/net/NetworkConfig;->priority:I
-Landroid/net/NetworkConfig;->radio:I
-Landroid/net/NetworkConfig;->restoreTime:I
-Landroid/net/NetworkConfig;->type:I
-Landroid/net/NetworkFactory$NetworkRequestInfo;
-Landroid/net/NetworkFactory$NetworkRequestInfo;-><init>(Landroid/net/NetworkRequest;I)V
-Landroid/net/NetworkFactory$NetworkRequestInfo;->request:Landroid/net/NetworkRequest;
-Landroid/net/NetworkFactory$NetworkRequestInfo;->requested:Z
-Landroid/net/NetworkFactory$NetworkRequestInfo;->score:I
-Landroid/net/NetworkFactory;
-Landroid/net/NetworkFactory;->acceptRequest(Landroid/net/NetworkRequest;I)Z
-Landroid/net/NetworkFactory;->addNetworkRequest(Landroid/net/NetworkRequest;I)V
-Landroid/net/NetworkFactory;->BASE:I
-Landroid/net/NetworkFactory;->CMD_CANCEL_REQUEST:I
-Landroid/net/NetworkFactory;->CMD_REQUEST_NETWORK:I
-Landroid/net/NetworkFactory;->CMD_SET_FILTER:I
-Landroid/net/NetworkFactory;->CMD_SET_SCORE:I
-Landroid/net/NetworkFactory;->DBG:Z
-Landroid/net/NetworkFactory;->evalRequest(Landroid/net/NetworkFactory$NetworkRequestInfo;)V
-Landroid/net/NetworkFactory;->evalRequests()V
-Landroid/net/NetworkFactory;->getRequestCount()I
-Landroid/net/NetworkFactory;->handleAddRequest(Landroid/net/NetworkRequest;I)V
-Landroid/net/NetworkFactory;->handleRemoveRequest(Landroid/net/NetworkRequest;)V
-Landroid/net/NetworkFactory;->handleSetFilter(Landroid/net/NetworkCapabilities;)V
-Landroid/net/NetworkFactory;->handleSetScore(I)V
-Landroid/net/NetworkFactory;->log(Ljava/lang/String;)V
-Landroid/net/NetworkFactory;->LOG_TAG:Ljava/lang/String;
-Landroid/net/NetworkFactory;->mCapabilityFilter:Landroid/net/NetworkCapabilities;
-Landroid/net/NetworkFactory;->mContext:Landroid/content/Context;
-Landroid/net/NetworkFactory;->mMessenger:Landroid/os/Messenger;
-Landroid/net/NetworkFactory;->mNetworkRequests:Landroid/util/SparseArray;
-Landroid/net/NetworkFactory;->mRefCount:I
-Landroid/net/NetworkFactory;->mScore:I
-Landroid/net/NetworkFactory;->needNetworkFor(Landroid/net/NetworkRequest;I)V
-Landroid/net/NetworkFactory;->reevaluateAllRequests()V
-Landroid/net/NetworkFactory;->register()V
-Landroid/net/NetworkFactory;->releaseNetworkFor(Landroid/net/NetworkRequest;)V
-Landroid/net/NetworkFactory;->removeNetworkRequest(Landroid/net/NetworkRequest;)V
-Landroid/net/NetworkFactory;->setCapabilityFilter(Landroid/net/NetworkCapabilities;)V
-Landroid/net/NetworkFactory;->startNetwork()V
-Landroid/net/NetworkFactory;->stopNetwork()V
-Landroid/net/NetworkFactory;->unregister()V
-Landroid/net/NetworkFactory;->VDBG:Z
-Landroid/net/NetworkIdentity;
-Landroid/net/NetworkIdentity;-><init>(IILjava/lang/String;Ljava/lang/String;ZZZ)V
-Landroid/net/NetworkIdentity;->buildNetworkIdentity(Landroid/content/Context;Landroid/net/NetworkState;Z)Landroid/net/NetworkIdentity;
-Landroid/net/NetworkIdentity;->COMBINE_SUBTYPE_ENABLED:Z
-Landroid/net/NetworkIdentity;->compareTo(Landroid/net/NetworkIdentity;)I
-Landroid/net/NetworkIdentity;->getDefaultNetwork()Z
-Landroid/net/NetworkIdentity;->getMetered()Z
-Landroid/net/NetworkIdentity;->getNetworkId()Ljava/lang/String;
-Landroid/net/NetworkIdentity;->getRoaming()Z
-Landroid/net/NetworkIdentity;->getSubscriberId()Ljava/lang/String;
-Landroid/net/NetworkIdentity;->getSubType()I
-Landroid/net/NetworkIdentity;->getType()I
-Landroid/net/NetworkIdentity;->mDefaultNetwork:Z
-Landroid/net/NetworkIdentity;->mMetered:Z
-Landroid/net/NetworkIdentity;->mNetworkId:Ljava/lang/String;
-Landroid/net/NetworkIdentity;->mRoaming:Z
-Landroid/net/NetworkIdentity;->mSubscriberId:Ljava/lang/String;
-Landroid/net/NetworkIdentity;->mSubType:I
-Landroid/net/NetworkIdentity;->mType:I
-Landroid/net/NetworkIdentity;->scrubSubscriberId(Ljava/lang/String;)Ljava/lang/String;
-Landroid/net/NetworkIdentity;->scrubSubscriberId([Ljava/lang/String;)[Ljava/lang/String;
-Landroid/net/NetworkIdentity;->SUBTYPE_COMBINED:I
-Landroid/net/NetworkIdentity;->TAG:Ljava/lang/String;
-Landroid/net/NetworkIdentity;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/net/NetworkInfo$DetailedState;-><init>()V
-Landroid/net/NetworkInfo$State;-><init>()V
-Landroid/net/NetworkInfo;->mDetailedState:Landroid/net/NetworkInfo$DetailedState;
-Landroid/net/NetworkInfo;->mExtraInfo:Ljava/lang/String;
-Landroid/net/NetworkInfo;->mIsAvailable:Z
-Landroid/net/NetworkInfo;->mIsFailover:Z
-Landroid/net/NetworkInfo;->mIsRoaming:Z
-Landroid/net/NetworkInfo;->mNetworkType:I
-Landroid/net/NetworkInfo;->mReason:Ljava/lang/String;
-Landroid/net/NetworkInfo;->mState:Landroid/net/NetworkInfo$State;
-Landroid/net/NetworkInfo;->mSubtype:I
-Landroid/net/NetworkInfo;->mSubtypeName:Ljava/lang/String;
-Landroid/net/NetworkInfo;->mTypeName:Ljava/lang/String;
-Landroid/net/NetworkInfo;->setExtraInfo(Ljava/lang/String;)V
-Landroid/net/NetworkInfo;->setType(I)V
-Landroid/net/NetworkInfo;->stateMap:Ljava/util/EnumMap;
-Landroid/net/NetworkKey;-><init>(Landroid/os/Parcel;)V
-Landroid/net/NetworkKey;->createFromScanResult(Landroid/net/wifi/ScanResult;)Landroid/net/NetworkKey;
-Landroid/net/NetworkKey;->createFromWifiInfo(Landroid/net/wifi/WifiInfo;)Landroid/net/NetworkKey;
-Landroid/net/NetworkKey;->TAG:Ljava/lang/String;
-Landroid/net/NetworkMisc;
-Landroid/net/NetworkMisc;-><init>()V
-Landroid/net/NetworkMisc;-><init>(Landroid/net/NetworkMisc;)V
-Landroid/net/NetworkMisc;->acceptUnvalidated:Z
-Landroid/net/NetworkMisc;->allowBypass:Z
-Landroid/net/NetworkMisc;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/NetworkMisc;->explicitlySelected:Z
-Landroid/net/NetworkMisc;->provisioningNotificationDisabled:Z
-Landroid/net/NetworkMisc;->subscriberId:Ljava/lang/String;
-Landroid/net/NetworkPolicy;
-Landroid/net/NetworkPolicy;-><init>(Landroid/net/NetworkTemplate;ILjava/lang/String;JJZ)V
-Landroid/net/NetworkPolicy;-><init>(Landroid/net/NetworkTemplate;Landroid/util/RecurrenceRule;JJJJJZZ)V
-Landroid/net/NetworkPolicy;-><init>(Landroid/net/NetworkTemplate;Landroid/util/RecurrenceRule;JJJJZZ)V
-Landroid/net/NetworkPolicy;-><init>(Landroid/os/Parcel;)V
-Landroid/net/NetworkPolicy;->buildRule(ILjava/time/ZoneId;)Landroid/util/RecurrenceRule;
-Landroid/net/NetworkPolicy;->cycleIterator()Ljava/util/Iterator;
-Landroid/net/NetworkPolicy;->cycleRule:Landroid/util/RecurrenceRule;
-Landroid/net/NetworkPolicy;->CYCLE_NONE:I
-Landroid/net/NetworkPolicy;->DEFAULT_MTU:J
-Landroid/net/NetworkPolicy;->getBytesForBackup()[B
-Landroid/net/NetworkPolicy;->getNetworkPolicyFromBackup(Ljava/io/DataInputStream;)Landroid/net/NetworkPolicy;
-Landroid/net/NetworkPolicy;->hasCycle()Z
-Landroid/net/NetworkPolicy;->lastLimitSnooze:J
-Landroid/net/NetworkPolicy;->lastRapidSnooze:J
-Landroid/net/NetworkPolicy;->lastWarningSnooze:J
-Landroid/net/NetworkPolicy;->LIMIT_DISABLED:J
-Landroid/net/NetworkPolicy;->SNOOZE_NEVER:J
-Landroid/net/NetworkPolicy;->VERSION_INIT:I
-Landroid/net/NetworkPolicy;->VERSION_RAPID:I
-Landroid/net/NetworkPolicy;->VERSION_RULE:I
-Landroid/net/NetworkPolicy;->WARNING_DISABLED:J
-Landroid/net/NetworkPolicyManager$Listener;
-Landroid/net/NetworkPolicyManager$Listener;-><init>()V
-Landroid/net/NetworkPolicyManager$Listener;->onMeteredIfacesChanged([Ljava/lang/String;)V
-Landroid/net/NetworkPolicyManager$Listener;->onRestrictBackgroundChanged(Z)V
-Landroid/net/NetworkPolicyManager$Listener;->onSubscriptionOverride(III)V
-Landroid/net/NetworkPolicyManager$Listener;->onUidPoliciesChanged(II)V
-Landroid/net/NetworkPolicyManager$Listener;->onUidRulesChanged(II)V
-Landroid/net/NetworkPolicyManager;
-Landroid/net/NetworkPolicyManager;-><init>(Landroid/content/Context;Landroid/net/INetworkPolicyManager;)V
-Landroid/net/NetworkPolicyManager;->addUidPolicy(II)V
-Landroid/net/NetworkPolicyManager;->ALLOW_PLATFORM_APP_POLICY:Z
-Landroid/net/NetworkPolicyManager;->cycleIterator(Landroid/net/NetworkPolicy;)Ljava/util/Iterator;
-Landroid/net/NetworkPolicyManager;->EXTRA_NETWORK_TEMPLATE:Ljava/lang/String;
-Landroid/net/NetworkPolicyManager;->factoryReset(Ljava/lang/String;)V
-Landroid/net/NetworkPolicyManager;->FIREWALL_CHAIN_DOZABLE:I
-Landroid/net/NetworkPolicyManager;->FIREWALL_CHAIN_NAME_DOZABLE:Ljava/lang/String;
-Landroid/net/NetworkPolicyManager;->FIREWALL_CHAIN_NAME_NONE:Ljava/lang/String;
-Landroid/net/NetworkPolicyManager;->FIREWALL_CHAIN_NAME_POWERSAVE:Ljava/lang/String;
-Landroid/net/NetworkPolicyManager;->FIREWALL_CHAIN_NAME_STANDBY:Ljava/lang/String;
-Landroid/net/NetworkPolicyManager;->FIREWALL_CHAIN_NONE:I
-Landroid/net/NetworkPolicyManager;->FIREWALL_CHAIN_POWERSAVE:I
-Landroid/net/NetworkPolicyManager;->FIREWALL_CHAIN_STANDBY:I
-Landroid/net/NetworkPolicyManager;->FIREWALL_RULE_ALLOW:I
-Landroid/net/NetworkPolicyManager;->FIREWALL_RULE_DEFAULT:I
-Landroid/net/NetworkPolicyManager;->FIREWALL_RULE_DENY:I
-Landroid/net/NetworkPolicyManager;->FIREWALL_TYPE_BLACKLIST:I
-Landroid/net/NetworkPolicyManager;->FIREWALL_TYPE_WHITELIST:I
-Landroid/net/NetworkPolicyManager;->FOREGROUND_THRESHOLD_STATE:I
-Landroid/net/NetworkPolicyManager;->isProcStateAllowedWhileIdleOrPowerSaveMode(I)Z
-Landroid/net/NetworkPolicyManager;->isProcStateAllowedWhileOnRestrictBackground(I)Z
-Landroid/net/NetworkPolicyManager;->isUidValidForPolicy(Landroid/content/Context;I)Z
-Landroid/net/NetworkPolicyManager;->MASK_ALL_NETWORKS:I
-Landroid/net/NetworkPolicyManager;->MASK_METERED_NETWORKS:I
-Landroid/net/NetworkPolicyManager;->mContext:Landroid/content/Context;
-Landroid/net/NetworkPolicyManager;->OVERRIDE_CONGESTED:I
-Landroid/net/NetworkPolicyManager;->OVERRIDE_UNMETERED:I
-Landroid/net/NetworkPolicyManager;->POLICY_ALLOW_METERED_BACKGROUND:I
-Landroid/net/NetworkPolicyManager;->POLICY_NONE:I
-Landroid/net/NetworkPolicyManager;->POLICY_REJECT_METERED_BACKGROUND:I
-Landroid/net/NetworkPolicyManager;->removeUidPolicy(II)V
-Landroid/net/NetworkPolicyManager;->resolveNetworkId(Landroid/net/wifi/WifiConfiguration;)Ljava/lang/String;
-Landroid/net/NetworkPolicyManager;->resolveNetworkId(Ljava/lang/String;)Ljava/lang/String;
-Landroid/net/NetworkPolicyManager;->RULE_ALLOW_ALL:I
-Landroid/net/NetworkPolicyManager;->RULE_ALLOW_METERED:I
-Landroid/net/NetworkPolicyManager;->RULE_NONE:I
-Landroid/net/NetworkPolicyManager;->RULE_REJECT_ALL:I
-Landroid/net/NetworkPolicyManager;->RULE_REJECT_METERED:I
-Landroid/net/NetworkPolicyManager;->RULE_TEMPORARY_ALLOW_METERED:I
-Landroid/net/NetworkPolicyManager;->setNetworkPolicies([Landroid/net/NetworkPolicy;)V
-Landroid/net/NetworkPolicyManager;->uidPoliciesToString(I)Ljava/lang/String;
-Landroid/net/NetworkPolicyManager;->uidRulesToString(I)Ljava/lang/String;
-Landroid/net/NetworkProto;
-Landroid/net/NetworkProto;-><init>()V
-Landroid/net/NetworkProto;->NET_ID:J
-Landroid/net/NetworkQuotaInfo;
-Landroid/net/NetworkQuotaInfo;-><init>()V
-Landroid/net/NetworkQuotaInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/net/NetworkQuotaInfo;->NO_LIMIT:J
-Landroid/net/NetworkRecommendationProvider$ServiceWrapper;
-Landroid/net/NetworkRecommendationProvider$ServiceWrapper;-><init>(Landroid/content/Context;Ljava/util/concurrent/Executor;)V
-Landroid/net/NetworkRecommendationProvider$ServiceWrapper;->enforceCallingPermission()V
-Landroid/net/NetworkRecommendationProvider$ServiceWrapper;->execute(Ljava/lang/Runnable;)V
-Landroid/net/NetworkRecommendationProvider$ServiceWrapper;->mContext:Landroid/content/Context;
-Landroid/net/NetworkRecommendationProvider$ServiceWrapper;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/net/NetworkRecommendationProvider$ServiceWrapper;->mHandler:Landroid/os/Handler;
-Landroid/net/NetworkRecommendationProvider$ServiceWrapper;->requestScores([Landroid/net/NetworkKey;)V
-Landroid/net/NetworkRecommendationProvider;->mService:Landroid/os/IBinder;
-Landroid/net/NetworkRecommendationProvider;->TAG:Ljava/lang/String;
-Landroid/net/NetworkRecommendationProvider;->VERBOSE:Z
-Landroid/net/NetworkRequest$Builder;->addUnwantedCapability(I)Landroid/net/NetworkRequest$Builder;
-Landroid/net/NetworkRequest$Builder;->mNetworkCapabilities:Landroid/net/NetworkCapabilities;
-Landroid/net/NetworkRequest$Builder;->setCapabilities(Landroid/net/NetworkCapabilities;)Landroid/net/NetworkRequest$Builder;
-Landroid/net/NetworkRequest$Builder;->setLinkDownstreamBandwidthKbps(I)Landroid/net/NetworkRequest$Builder;
-Landroid/net/NetworkRequest$Builder;->setLinkUpstreamBandwidthKbps(I)Landroid/net/NetworkRequest$Builder;
-Landroid/net/NetworkRequest$Builder;->setUids(Ljava/util/Set;)Landroid/net/NetworkRequest$Builder;
-Landroid/net/NetworkRequest$Type;
-Landroid/net/NetworkRequest$Type;-><init>()V
-Landroid/net/NetworkRequest$Type;->BACKGROUND_REQUEST:Landroid/net/NetworkRequest$Type;
-Landroid/net/NetworkRequest$Type;->LISTEN:Landroid/net/NetworkRequest$Type;
-Landroid/net/NetworkRequest$Type;->NONE:Landroid/net/NetworkRequest$Type;
-Landroid/net/NetworkRequest$Type;->REQUEST:Landroid/net/NetworkRequest$Type;
-Landroid/net/NetworkRequest$Type;->TRACK_DEFAULT:Landroid/net/NetworkRequest$Type;
-Landroid/net/NetworkRequest$Type;->valueOf(Ljava/lang/String;)Landroid/net/NetworkRequest$Type;
-Landroid/net/NetworkRequest$Type;->values()[Landroid/net/NetworkRequest$Type;
-Landroid/net/NetworkRequest;-><init>(Landroid/net/NetworkCapabilities;IILandroid/net/NetworkRequest$Type;)V
-Landroid/net/NetworkRequest;-><init>(Landroid/net/NetworkRequest;)V
-Landroid/net/NetworkRequest;->hasUnwantedCapability(I)Z
-Landroid/net/NetworkRequest;->isBackgroundRequest()Z
-Landroid/net/NetworkRequest;->isForegroundRequest()Z
-Landroid/net/NetworkRequest;->isListen()Z
-Landroid/net/NetworkRequest;->isRequest()Z
-Landroid/net/NetworkRequest;->type:Landroid/net/NetworkRequest$Type;
-Landroid/net/NetworkRequest;->typeToProtoEnum(Landroid/net/NetworkRequest$Type;)I
-Landroid/net/NetworkRequest;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/net/NetworkRequestProto;
-Landroid/net/NetworkRequestProto;-><init>()V
-Landroid/net/NetworkRequestProto;->LEGACY_TYPE:J
-Landroid/net/NetworkRequestProto;->NETWORK_CAPABILITIES:J
-Landroid/net/NetworkRequestProto;->REQUEST_ID:J
-Landroid/net/NetworkRequestProto;->TYPE:J
-Landroid/net/NetworkRequestProto;->TYPE_BACKGROUND_REQUEST:I
-Landroid/net/NetworkRequestProto;->TYPE_LISTEN:I
-Landroid/net/NetworkRequestProto;->TYPE_NONE:I
-Landroid/net/NetworkRequestProto;->TYPE_REQUEST:I
-Landroid/net/NetworkRequestProto;->TYPE_TRACK_DEFAULT:I
-Landroid/net/NetworkRequestProto;->TYPE_UNKNOWN:I
-Landroid/net/NetworkScoreManager$CacheUpdateFilter;
-Landroid/net/NetworkScoreManager$RecommendationsEnabledSetting;
-Landroid/net/NetworkScoreManager;-><init>(Landroid/content/Context;)V
-Landroid/net/NetworkScoreManager;->CACHE_FILTER_CURRENT_NETWORK:I
-Landroid/net/NetworkScoreManager;->CACHE_FILTER_NONE:I
-Landroid/net/NetworkScoreManager;->CACHE_FILTER_SCAN_RESULTS:I
-Landroid/net/NetworkScoreManager;->getActiveScorer()Landroid/net/NetworkScorerAppData;
-Landroid/net/NetworkScoreManager;->getAllValidScorers()Ljava/util/List;
-Landroid/net/NetworkScoreManager;->isCallerActiveScorer(I)Z
-Landroid/net/NetworkScoreManager;->mContext:Landroid/content/Context;
-Landroid/net/NetworkScoreManager;->mService:Landroid/net/INetworkScoreService;
-Landroid/net/NetworkScoreManager;->NETWORK_AVAILABLE_NOTIFICATION_CHANNEL_ID_META_DATA:Ljava/lang/String;
-Landroid/net/NetworkScoreManager;->RECOMMENDATIONS_ENABLED_FORCED_OFF:I
-Landroid/net/NetworkScoreManager;->RECOMMENDATIONS_ENABLED_OFF:I
-Landroid/net/NetworkScoreManager;->RECOMMENDATIONS_ENABLED_ON:I
-Landroid/net/NetworkScoreManager;->RECOMMENDATION_SERVICE_LABEL_META_DATA:Ljava/lang/String;
-Landroid/net/NetworkScoreManager;->registerNetworkScoreCache(ILandroid/net/INetworkScoreCache;)V
-Landroid/net/NetworkScoreManager;->registerNetworkScoreCache(ILandroid/net/INetworkScoreCache;I)V
-Landroid/net/NetworkScoreManager;->requestScores([Landroid/net/NetworkKey;)Z
-Landroid/net/NetworkScoreManager;->unregisterNetworkScoreCache(ILandroid/net/INetworkScoreCache;)V
-Landroid/net/NetworkScoreManager;->USE_OPEN_WIFI_PACKAGE_META_DATA:Ljava/lang/String;
-Landroid/net/NetworkScorerAppData;
-Landroid/net/NetworkScorerAppData;-><init>(ILandroid/content/ComponentName;Ljava/lang/String;Landroid/content/ComponentName;Ljava/lang/String;)V
-Landroid/net/NetworkScorerAppData;-><init>(Landroid/os/Parcel;)V
-Landroid/net/NetworkScorerAppData;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/NetworkScorerAppData;->getEnableUseOpenWifiActivity()Landroid/content/ComponentName;
-Landroid/net/NetworkScorerAppData;->getNetworkAvailableNotificationChannelId()Ljava/lang/String;
-Landroid/net/NetworkScorerAppData;->getRecommendationServiceComponent()Landroid/content/ComponentName;
-Landroid/net/NetworkScorerAppData;->getRecommendationServiceLabel()Ljava/lang/String;
-Landroid/net/NetworkScorerAppData;->getRecommendationServicePackageName()Ljava/lang/String;
-Landroid/net/NetworkScorerAppData;->mEnableUseOpenWifiActivity:Landroid/content/ComponentName;
-Landroid/net/NetworkScorerAppData;->mNetworkAvailableNotificationChannelId:Ljava/lang/String;
-Landroid/net/NetworkScorerAppData;->mRecommendationService:Landroid/content/ComponentName;
-Landroid/net/NetworkScorerAppData;->mRecommendationServiceLabel:Ljava/lang/String;
-Landroid/net/NetworkScorerAppData;->packageUid:I
-Landroid/net/NetworkSpecifier;-><init>()V
-Landroid/net/NetworkSpecifier;->assertValidFromUid(I)V
-Landroid/net/NetworkSpecifier;->satisfiedBy(Landroid/net/NetworkSpecifier;)Z
-Landroid/net/NetworkState;
-Landroid/net/NetworkState;-><init>(Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;Landroid/net/Network;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/NetworkState;->EMPTY:Landroid/net/NetworkState;
-Landroid/net/NetworkState;->linkProperties:Landroid/net/LinkProperties;
-Landroid/net/NetworkState;->networkCapabilities:Landroid/net/NetworkCapabilities;
-Landroid/net/NetworkState;->networkId:Ljava/lang/String;
-Landroid/net/NetworkState;->networkInfo:Landroid/net/NetworkInfo;
-Landroid/net/NetworkState;->SANITY_CHECK_ROAMING:Z
-Landroid/net/NetworkState;->subscriberId:Ljava/lang/String;
-Landroid/net/NetworkStats$Entry;
-Landroid/net/NetworkStats$Entry;-><init>(JJJJJ)V
-Landroid/net/NetworkStats$Entry;-><init>(Ljava/lang/String;IIIIIIJJJJJ)V
-Landroid/net/NetworkStats$Entry;-><init>(Ljava/lang/String;IIIJJJJJ)V
-Landroid/net/NetworkStats$Entry;->add(Landroid/net/NetworkStats$Entry;)V
-Landroid/net/NetworkStats$Entry;->defaultNetwork:I
-Landroid/net/NetworkStats$Entry;->isEmpty()Z
-Landroid/net/NetworkStats$Entry;->isNegative()Z
-Landroid/net/NetworkStats$Entry;->metered:I
-Landroid/net/NetworkStats$Entry;->operations:J
-Landroid/net/NetworkStats$Entry;->roaming:I
-Landroid/net/NetworkStats$NonMonotonicObserver;
-Landroid/net/NetworkStats$NonMonotonicObserver;->foundNonMonotonic(Landroid/net/NetworkStats;ILandroid/net/NetworkStats;ILjava/lang/Object;)V
-Landroid/net/NetworkStats$NonMonotonicObserver;->foundNonMonotonic(Landroid/net/NetworkStats;ILjava/lang/Object;)V
-Landroid/net/NetworkStats;
-Landroid/net/NetworkStats;->addIfaceValues(Ljava/lang/String;JJJJ)Landroid/net/NetworkStats;
-Landroid/net/NetworkStats;->addTrafficToApplications(ILjava/lang/String;Ljava/lang/String;Landroid/net/NetworkStats$Entry;Landroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats$Entry;
-Landroid/net/NetworkStats;->addValues(Landroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats;
-Landroid/net/NetworkStats;->addValues(Ljava/lang/String;IIIIIIJJJJJ)Landroid/net/NetworkStats;
-Landroid/net/NetworkStats;->addValues(Ljava/lang/String;IIIJJJJJ)Landroid/net/NetworkStats;
-Landroid/net/NetworkStats;->apply464xlatAdjustments(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Ljava/util/Map;)V
-Landroid/net/NetworkStats;->apply464xlatAdjustments(Ljava/util/Map;)V
-Landroid/net/NetworkStats;->CLATD_INTERFACE_PREFIX:Ljava/lang/String;
-Landroid/net/NetworkStats;->clear()V
-Landroid/net/NetworkStats;->combineValues(Ljava/lang/String;IIIJJJJJ)Landroid/net/NetworkStats;
-Landroid/net/NetworkStats;->combineValues(Ljava/lang/String;IIJJJJJ)Landroid/net/NetworkStats;
-Landroid/net/NetworkStats;->deductTrafficFromVpnApp(ILjava/lang/String;Landroid/net/NetworkStats$Entry;)V
-Landroid/net/NetworkStats;->defaultNetworkToString(I)Ljava/lang/String;
-Landroid/net/NetworkStats;->DEFAULT_NETWORK_ALL:I
-Landroid/net/NetworkStats;->DEFAULT_NETWORK_NO:I
-Landroid/net/NetworkStats;->DEFAULT_NETWORK_YES:I
-Landroid/net/NetworkStats;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-Landroid/net/NetworkStats;->elapsedRealtime:J
-Landroid/net/NetworkStats;->filter(I[Ljava/lang/String;I)V
-Landroid/net/NetworkStats;->findIndex(Ljava/lang/String;IIIIII)I
-Landroid/net/NetworkStats;->findIndexHinted(Ljava/lang/String;IIIIIII)I
-Landroid/net/NetworkStats;->getElapsedRealtime()J
-Landroid/net/NetworkStats;->getElapsedRealtimeAge()J
-Landroid/net/NetworkStats;->getTotal(Landroid/net/NetworkStats$Entry;Ljava/util/HashSet;)Landroid/net/NetworkStats$Entry;
-Landroid/net/NetworkStats;->getTotal(Landroid/net/NetworkStats$Entry;Ljava/util/HashSet;IZ)Landroid/net/NetworkStats$Entry;
-Landroid/net/NetworkStats;->getTotalPackets()J
-Landroid/net/NetworkStats;->getUniqueIfaces()[Ljava/lang/String;
-Landroid/net/NetworkStats;->groupedByIface()Landroid/net/NetworkStats;
-Landroid/net/NetworkStats;->groupedByUid()Landroid/net/NetworkStats;
-Landroid/net/NetworkStats;->IFACE_ALL:Ljava/lang/String;
-Landroid/net/NetworkStats;->INTERFACES_ALL:[Ljava/lang/String;
-Landroid/net/NetworkStats;->internalSize()I
-Landroid/net/NetworkStats;->IPV4V6_HEADER_DELTA:I
-Landroid/net/NetworkStats;->meteredToString(I)Ljava/lang/String;
-Landroid/net/NetworkStats;->METERED_ALL:I
-Landroid/net/NetworkStats;->METERED_NO:I
-Landroid/net/NetworkStats;->METERED_YES:I
-Landroid/net/NetworkStats;->migrateTun(ILjava/lang/String;Ljava/lang/String;)Z
-Landroid/net/NetworkStats;->roamingToString(I)Ljava/lang/String;
-Landroid/net/NetworkStats;->ROAMING_ALL:I
-Landroid/net/NetworkStats;->ROAMING_NO:I
-Landroid/net/NetworkStats;->ROAMING_YES:I
-Landroid/net/NetworkStats;->setElapsedRealtime(J)V
-Landroid/net/NetworkStats;->setMatches(II)Z
-Landroid/net/NetworkStats;->setToCheckinString(I)Ljava/lang/String;
-Landroid/net/NetworkStats;->setToString(I)Ljava/lang/String;
-Landroid/net/NetworkStats;->setValues(ILandroid/net/NetworkStats$Entry;)V
-Landroid/net/NetworkStats;->SET_ALL:I
-Landroid/net/NetworkStats;->SET_DBG_VPN_IN:I
-Landroid/net/NetworkStats;->SET_DBG_VPN_OUT:I
-Landroid/net/NetworkStats;->SET_DEBUG_START:I
-Landroid/net/NetworkStats;->SET_DEFAULT:I
-Landroid/net/NetworkStats;->SET_FOREGROUND:I
-Landroid/net/NetworkStats;->spliceOperationsFrom(Landroid/net/NetworkStats;)V
-Landroid/net/NetworkStats;->STATS_PER_IFACE:I
-Landroid/net/NetworkStats;->STATS_PER_UID:I
-Landroid/net/NetworkStats;->subtract(Landroid/net/NetworkStats;)Landroid/net/NetworkStats;
-Landroid/net/NetworkStats;->subtract(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Landroid/net/NetworkStats$NonMonotonicObserver;Ljava/lang/Object;)Landroid/net/NetworkStats;
-Landroid/net/NetworkStats;->subtract(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Landroid/net/NetworkStats$NonMonotonicObserver;Ljava/lang/Object;Landroid/net/NetworkStats;)Landroid/net/NetworkStats;
-Landroid/net/NetworkStats;->TAG:Ljava/lang/String;
-Landroid/net/NetworkStats;->tagToString(I)Ljava/lang/String;
-Landroid/net/NetworkStats;->TAG_ALL:I
-Landroid/net/NetworkStats;->TAG_NONE:I
-Landroid/net/NetworkStats;->tunAdjustmentInit(ILjava/lang/String;Ljava/lang/String;Landroid/net/NetworkStats$Entry;Landroid/net/NetworkStats$Entry;)V
-Landroid/net/NetworkStats;->tunGetPool(Landroid/net/NetworkStats$Entry;Landroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats$Entry;
-Landroid/net/NetworkStats;->tunSubtract(ILandroid/net/NetworkStats;Landroid/net/NetworkStats$Entry;)V
-Landroid/net/NetworkStats;->UID_ALL:I
-Landroid/net/NetworkStats;->withoutUids([I)Landroid/net/NetworkStats;
-Landroid/net/NetworkStatsHistory$DataStreamUtils;
-Landroid/net/NetworkStatsHistory$DataStreamUtils;-><init>()V
-Landroid/net/NetworkStatsHistory$DataStreamUtils;->readFullLongArray(Ljava/io/DataInputStream;)[J
-Landroid/net/NetworkStatsHistory$DataStreamUtils;->readVarLong(Ljava/io/DataInputStream;)J
-Landroid/net/NetworkStatsHistory$DataStreamUtils;->readVarLongArray(Ljava/io/DataInputStream;)[J
-Landroid/net/NetworkStatsHistory$DataStreamUtils;->writeVarLong(Ljava/io/DataOutputStream;J)V
-Landroid/net/NetworkStatsHistory$DataStreamUtils;->writeVarLongArray(Ljava/io/DataOutputStream;[JI)V
-Landroid/net/NetworkStatsHistory$Entry;
-Landroid/net/NetworkStatsHistory$Entry;-><init>()V
-Landroid/net/NetworkStatsHistory$Entry;->activeTime:J
-Landroid/net/NetworkStatsHistory$Entry;->operations:J
-Landroid/net/NetworkStatsHistory$Entry;->UNKNOWN:J
-Landroid/net/NetworkStatsHistory$ParcelUtils;
-Landroid/net/NetworkStatsHistory$ParcelUtils;-><init>()V
-Landroid/net/NetworkStatsHistory$ParcelUtils;->readLongArray(Landroid/os/Parcel;)[J
-Landroid/net/NetworkStatsHistory$ParcelUtils;->writeLongArray(Landroid/os/Parcel;[JI)V
-Landroid/net/NetworkStatsHistory;
-Landroid/net/NetworkStatsHistory;-><init>(JI)V
-Landroid/net/NetworkStatsHistory;-><init>(JII)V
-Landroid/net/NetworkStatsHistory;-><init>(Landroid/net/NetworkStatsHistory;J)V
-Landroid/net/NetworkStatsHistory;-><init>(Ljava/io/DataInputStream;)V
-Landroid/net/NetworkStatsHistory;->activeTime:[J
-Landroid/net/NetworkStatsHistory;->addLong([JIJ)V
-Landroid/net/NetworkStatsHistory;->bucketCount:I
-Landroid/net/NetworkStatsHistory;->bucketDuration:J
-Landroid/net/NetworkStatsHistory;->bucketStart:[J
-Landroid/net/NetworkStatsHistory;->clear()V
-Landroid/net/NetworkStatsHistory;->dump(Lcom/android/internal/util/IndentingPrintWriter;Z)V
-Landroid/net/NetworkStatsHistory;->dumpCheckin(Ljava/io/PrintWriter;)V
-Landroid/net/NetworkStatsHistory;->ensureBuckets(JJ)V
-Landroid/net/NetworkStatsHistory;->estimateResizeBuckets(J)I
-Landroid/net/NetworkStatsHistory;->FIELD_ACTIVE_TIME:I
-Landroid/net/NetworkStatsHistory;->FIELD_ALL:I
-Landroid/net/NetworkStatsHistory;->FIELD_OPERATIONS:I
-Landroid/net/NetworkStatsHistory;->FIELD_RX_BYTES:I
-Landroid/net/NetworkStatsHistory;->FIELD_RX_PACKETS:I
-Landroid/net/NetworkStatsHistory;->FIELD_TX_BYTES:I
-Landroid/net/NetworkStatsHistory;->FIELD_TX_PACKETS:I
-Landroid/net/NetworkStatsHistory;->generateRandom(JJJ)V
-Landroid/net/NetworkStatsHistory;->generateRandom(JJJJJJJLjava/util/Random;)V
-Landroid/net/NetworkStatsHistory;->getBucketDuration()J
-Landroid/net/NetworkStatsHistory;->getIndexAfter(J)I
-Landroid/net/NetworkStatsHistory;->getLong([JIJ)J
-Landroid/net/NetworkStatsHistory;->getTotalBytes()J
-Landroid/net/NetworkStatsHistory;->insertBucket(IJ)V
-Landroid/net/NetworkStatsHistory;->intersects(JJ)Z
-Landroid/net/NetworkStatsHistory;->operations:[J
-Landroid/net/NetworkStatsHistory;->randomLong(Ljava/util/Random;JJ)J
-Landroid/net/NetworkStatsHistory;->recordData(JJJJ)V
-Landroid/net/NetworkStatsHistory;->recordData(JJLandroid/net/NetworkStats$Entry;)V
-Landroid/net/NetworkStatsHistory;->recordHistory(Landroid/net/NetworkStatsHistory;JJ)V
-Landroid/net/NetworkStatsHistory;->removeBucketsBefore(J)V
-Landroid/net/NetworkStatsHistory;->rxBytes:[J
-Landroid/net/NetworkStatsHistory;->rxPackets:[J
-Landroid/net/NetworkStatsHistory;->setLong([JIJ)V
-Landroid/net/NetworkStatsHistory;->setValues(ILandroid/net/NetworkStatsHistory$Entry;)V
-Landroid/net/NetworkStatsHistory;->totalBytes:J
-Landroid/net/NetworkStatsHistory;->txBytes:[J
-Landroid/net/NetworkStatsHistory;->txPackets:[J
-Landroid/net/NetworkStatsHistory;->VERSION_ADD_ACTIVE:I
-Landroid/net/NetworkStatsHistory;->VERSION_ADD_PACKETS:I
-Landroid/net/NetworkStatsHistory;->VERSION_INIT:I
-Landroid/net/NetworkStatsHistory;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/net/NetworkStatsHistory;->writeToProto(Landroid/util/proto/ProtoOutputStream;J[JI)V
-Landroid/net/NetworkStatsHistory;->writeToStream(Ljava/io/DataOutputStream;)V
-Landroid/net/NetworkTemplate;
-Landroid/net/NetworkTemplate;-><init>(ILjava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/NetworkTemplate;-><init>(ILjava/lang/String;[Ljava/lang/String;Ljava/lang/String;III)V
-Landroid/net/NetworkTemplate;-><init>(Landroid/os/Parcel;)V
-Landroid/net/NetworkTemplate;->BACKUP_VERSION:I
-Landroid/net/NetworkTemplate;->buildTemplateBluetooth()Landroid/net/NetworkTemplate;
-Landroid/net/NetworkTemplate;->buildTemplateProxy()Landroid/net/NetworkTemplate;
-Landroid/net/NetworkTemplate;->buildTemplateWifi(Ljava/lang/String;)Landroid/net/NetworkTemplate;
-Landroid/net/NetworkTemplate;->forceAllNetworkTypes()V
-Landroid/net/NetworkTemplate;->getBytesForBackup()[B
-Landroid/net/NetworkTemplate;->getMatchRuleName(I)Ljava/lang/String;
-Landroid/net/NetworkTemplate;->getNetworkId()Ljava/lang/String;
-Landroid/net/NetworkTemplate;->getNetworkTemplateFromBackup(Ljava/io/DataInputStream;)Landroid/net/NetworkTemplate;
-Landroid/net/NetworkTemplate;->isKnownMatchRule(I)Z
-Landroid/net/NetworkTemplate;->isMatchRuleMobile()Z
-Landroid/net/NetworkTemplate;->isPersistable()Z
-Landroid/net/NetworkTemplate;->matches(Landroid/net/NetworkIdentity;)Z
-Landroid/net/NetworkTemplate;->matchesBluetooth(Landroid/net/NetworkIdentity;)Z
-Landroid/net/NetworkTemplate;->matchesDefaultNetwork(Landroid/net/NetworkIdentity;)Z
-Landroid/net/NetworkTemplate;->matchesEthernet(Landroid/net/NetworkIdentity;)Z
-Landroid/net/NetworkTemplate;->matchesMetered(Landroid/net/NetworkIdentity;)Z
-Landroid/net/NetworkTemplate;->matchesMobile(Landroid/net/NetworkIdentity;)Z
-Landroid/net/NetworkTemplate;->matchesMobileWildcard(Landroid/net/NetworkIdentity;)Z
-Landroid/net/NetworkTemplate;->matchesProxy(Landroid/net/NetworkIdentity;)Z
-Landroid/net/NetworkTemplate;->matchesRoaming(Landroid/net/NetworkIdentity;)Z
-Landroid/net/NetworkTemplate;->matchesSubscriberId(Ljava/lang/String;)Z
-Landroid/net/NetworkTemplate;->matchesWifi(Landroid/net/NetworkIdentity;)Z
-Landroid/net/NetworkTemplate;->matchesWifiWildcard(Landroid/net/NetworkIdentity;)Z
-Landroid/net/NetworkTemplate;->MATCH_BLUETOOTH:I
-Landroid/net/NetworkTemplate;->MATCH_ETHERNET:I
-Landroid/net/NetworkTemplate;->MATCH_MOBILE:I
-Landroid/net/NetworkTemplate;->MATCH_MOBILE_WILDCARD:I
-Landroid/net/NetworkTemplate;->MATCH_PROXY:I
-Landroid/net/NetworkTemplate;->MATCH_WIFI:I
-Landroid/net/NetworkTemplate;->MATCH_WIFI_WILDCARD:I
-Landroid/net/NetworkTemplate;->mDefaultNetwork:I
-Landroid/net/NetworkTemplate;->mMatchRule:I
-Landroid/net/NetworkTemplate;->mMatchSubscriberIds:[Ljava/lang/String;
-Landroid/net/NetworkTemplate;->mMetered:I
-Landroid/net/NetworkTemplate;->mNetworkId:Ljava/lang/String;
-Landroid/net/NetworkTemplate;->mRoaming:I
-Landroid/net/NetworkTemplate;->mSubscriberId:Ljava/lang/String;
-Landroid/net/NetworkTemplate;->sForceAllNetworkTypes:Z
-Landroid/net/NetworkTemplate;->TAG:Ljava/lang/String;
-Landroid/net/NetworkUtils;
-Landroid/net/NetworkUtils;-><init>()V
-Landroid/net/NetworkUtils;->addressTypeMatches(Ljava/net/InetAddress;Ljava/net/InetAddress;)Z
-Landroid/net/NetworkUtils;->bindProcessToNetwork(I)Z
-Landroid/net/NetworkUtils;->bindProcessToNetworkForHostResolution(I)Z
-Landroid/net/NetworkUtils;->bindSocketToNetwork(II)I
-Landroid/net/NetworkUtils;->deduplicatePrefixSet(Ljava/util/TreeSet;)Ljava/util/TreeSet;
-Landroid/net/NetworkUtils;->getBoundNetworkForProcess()I
-Landroid/net/NetworkUtils;->getNetworkPart(Ljava/net/InetAddress;I)Ljava/net/InetAddress;
-Landroid/net/NetworkUtils;->hexToInet6Address(Ljava/lang/String;)Ljava/net/InetAddress;
-Landroid/net/NetworkUtils;->inetAddressToInt(Ljava/net/Inet4Address;)I
-Landroid/net/NetworkUtils;->makeStrings(Ljava/util/Collection;)[Ljava/lang/String;
-Landroid/net/NetworkUtils;->maskRawAddress([BI)V
-Landroid/net/NetworkUtils;->netmaskIntToPrefixLength(I)I
-Landroid/net/NetworkUtils;->parcelInetAddress(Landroid/os/Parcel;Ljava/net/InetAddress;I)V
-Landroid/net/NetworkUtils;->parseIpAndMask(Ljava/lang/String;)Landroid/util/Pair;
-Landroid/net/NetworkUtils;->protectFromVpn(I)Z
-Landroid/net/NetworkUtils;->queryUserAccess(II)Z
-Landroid/net/NetworkUtils;->routedIPv4AddressCount(Ljava/util/TreeSet;)J
-Landroid/net/NetworkUtils;->routedIPv6AddressCount(Ljava/util/TreeSet;)Ljava/math/BigInteger;
-Landroid/net/NetworkUtils;->setupRaSocket(Ljava/io/FileDescriptor;I)V
-Landroid/net/NetworkUtils;->TAG:Ljava/lang/String;
-Landroid/net/NetworkUtils;->unparcelInetAddress(Landroid/os/Parcel;)Ljava/net/InetAddress;
-Landroid/net/NetworkWatchlistManager;
-Landroid/net/NetworkWatchlistManager;-><init>(Landroid/content/Context;)V
-Landroid/net/NetworkWatchlistManager;-><init>(Landroid/content/Context;Lcom/android/internal/net/INetworkWatchlistManager;)V
-Landroid/net/NetworkWatchlistManager;->getWatchlistConfigHash()[B
-Landroid/net/NetworkWatchlistManager;->mContext:Landroid/content/Context;
-Landroid/net/NetworkWatchlistManager;->mNetworkWatchlistManager:Lcom/android/internal/net/INetworkWatchlistManager;
-Landroid/net/NetworkWatchlistManager;->reloadWatchlist()V
-Landroid/net/NetworkWatchlistManager;->reportWatchlistIfNecessary()V
-Landroid/net/NetworkWatchlistManager;->SHARED_MEMORY_TAG:Ljava/lang/String;
-Landroid/net/NetworkWatchlistManager;->TAG:Ljava/lang/String;
-Landroid/net/nsd/DnsSdTxtRecord;
-Landroid/net/nsd/DnsSdTxtRecord;-><init>()V
-Landroid/net/nsd/DnsSdTxtRecord;-><init>(Landroid/net/nsd/DnsSdTxtRecord;)V
-Landroid/net/nsd/DnsSdTxtRecord;-><init>([B)V
-Landroid/net/nsd/DnsSdTxtRecord;->contains(Ljava/lang/String;)Z
-Landroid/net/nsd/DnsSdTxtRecord;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/nsd/DnsSdTxtRecord;->get(Ljava/lang/String;)Ljava/lang/String;
-Landroid/net/nsd/DnsSdTxtRecord;->getKey(I)Ljava/lang/String;
-Landroid/net/nsd/DnsSdTxtRecord;->getRawData()[B
-Landroid/net/nsd/DnsSdTxtRecord;->getValue(I)[B
-Landroid/net/nsd/DnsSdTxtRecord;->getValue(Ljava/lang/String;)[B
-Landroid/net/nsd/DnsSdTxtRecord;->getValueAsString(I)Ljava/lang/String;
-Landroid/net/nsd/DnsSdTxtRecord;->insert([B[BI)V
-Landroid/net/nsd/DnsSdTxtRecord;->keyCount()I
-Landroid/net/nsd/DnsSdTxtRecord;->mData:[B
-Landroid/net/nsd/DnsSdTxtRecord;->mSeperator:B
-Landroid/net/nsd/DnsSdTxtRecord;->remove(Ljava/lang/String;)I
-Landroid/net/nsd/DnsSdTxtRecord;->set(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/nsd/DnsSdTxtRecord;->size()I
-Landroid/net/nsd/INsdManager$Stub$Proxy;
-Landroid/net/nsd/INsdManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/nsd/INsdManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/nsd/INsdManager$Stub$Proxy;->getMessenger()Landroid/os/Messenger;
-Landroid/net/nsd/INsdManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/nsd/INsdManager$Stub$Proxy;->setEnabled(Z)V
-Landroid/net/nsd/INsdManager$Stub;
-Landroid/net/nsd/INsdManager$Stub;-><init>()V
-Landroid/net/nsd/INsdManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/nsd/INsdManager$Stub;->TRANSACTION_getMessenger:I
-Landroid/net/nsd/INsdManager$Stub;->TRANSACTION_setEnabled:I
-Landroid/net/nsd/INsdManager;
-Landroid/net/nsd/INsdManager;->setEnabled(Z)V
-Landroid/net/nsd/NsdManager$ServiceHandler;
-Landroid/net/nsd/NsdManager$ServiceHandler;-><init>(Landroid/os/Looper;)V
-Landroid/net/nsd/NsdManager;-><init>(Landroid/content/Context;Landroid/net/nsd/INsdManager;)V
-Landroid/net/nsd/NsdManager;->BASE:I
-Landroid/net/nsd/NsdManager;->checkListener(Ljava/lang/Object;)V
-Landroid/net/nsd/NsdManager;->checkProtocol(I)V
-Landroid/net/nsd/NsdManager;->checkServiceInfo(Landroid/net/nsd/NsdServiceInfo;)V
-Landroid/net/nsd/NsdManager;->DBG:Z
-Landroid/net/nsd/NsdManager;->DISABLE:I
-Landroid/net/nsd/NsdManager;->disconnect()V
-Landroid/net/nsd/NsdManager;->DISCOVER_SERVICES:I
-Landroid/net/nsd/NsdManager;->DISCOVER_SERVICES_FAILED:I
-Landroid/net/nsd/NsdManager;->DISCOVER_SERVICES_STARTED:I
-Landroid/net/nsd/NsdManager;->ENABLE:I
-Landroid/net/nsd/NsdManager;->EVENT_NAMES:Landroid/util/SparseArray;
-Landroid/net/nsd/NsdManager;->fatal(Ljava/lang/String;)V
-Landroid/net/nsd/NsdManager;->FIRST_LISTENER_KEY:I
-Landroid/net/nsd/NsdManager;->getListenerKey(Ljava/lang/Object;)I
-Landroid/net/nsd/NsdManager;->getMessenger()Landroid/os/Messenger;
-Landroid/net/nsd/NsdManager;->getNsdServiceInfoType(Landroid/net/nsd/NsdServiceInfo;)Ljava/lang/String;
-Landroid/net/nsd/NsdManager;->init()V
-Landroid/net/nsd/NsdManager;->mAsyncChannel:Lcom/android/internal/util/AsyncChannel;
-Landroid/net/nsd/NsdManager;->mConnected:Ljava/util/concurrent/CountDownLatch;
-Landroid/net/nsd/NsdManager;->mContext:Landroid/content/Context;
-Landroid/net/nsd/NsdManager;->mHandler:Landroid/net/nsd/NsdManager$ServiceHandler;
-Landroid/net/nsd/NsdManager;->mListenerKey:I
-Landroid/net/nsd/NsdManager;->mListenerMap:Landroid/util/SparseArray;
-Landroid/net/nsd/NsdManager;->mMapLock:Ljava/lang/Object;
-Landroid/net/nsd/NsdManager;->mService:Landroid/net/nsd/INsdManager;
-Landroid/net/nsd/NsdManager;->mServiceMap:Landroid/util/SparseArray;
-Landroid/net/nsd/NsdManager;->nameOf(I)Ljava/lang/String;
-Landroid/net/nsd/NsdManager;->NATIVE_DAEMON_EVENT:I
-Landroid/net/nsd/NsdManager;->nextListenerKey()I
-Landroid/net/nsd/NsdManager;->putListener(Ljava/lang/Object;Landroid/net/nsd/NsdServiceInfo;)I
-Landroid/net/nsd/NsdManager;->REGISTER_SERVICE:I
-Landroid/net/nsd/NsdManager;->REGISTER_SERVICE_FAILED:I
-Landroid/net/nsd/NsdManager;->REGISTER_SERVICE_SUCCEEDED:I
-Landroid/net/nsd/NsdManager;->removeListener(I)V
-Landroid/net/nsd/NsdManager;->RESOLVE_SERVICE:I
-Landroid/net/nsd/NsdManager;->RESOLVE_SERVICE_FAILED:I
-Landroid/net/nsd/NsdManager;->RESOLVE_SERVICE_SUCCEEDED:I
-Landroid/net/nsd/NsdManager;->SERVICE_FOUND:I
-Landroid/net/nsd/NsdManager;->SERVICE_LOST:I
-Landroid/net/nsd/NsdManager;->setEnabled(Z)V
-Landroid/net/nsd/NsdManager;->STOP_DISCOVERY:I
-Landroid/net/nsd/NsdManager;->STOP_DISCOVERY_FAILED:I
-Landroid/net/nsd/NsdManager;->STOP_DISCOVERY_SUCCEEDED:I
-Landroid/net/nsd/NsdManager;->TAG:Ljava/lang/String;
-Landroid/net/nsd/NsdManager;->UNREGISTER_SERVICE:I
-Landroid/net/nsd/NsdManager;->UNREGISTER_SERVICE_FAILED:I
-Landroid/net/nsd/NsdManager;->UNREGISTER_SERVICE_SUCCEEDED:I
-Landroid/net/nsd/NsdServiceInfo;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/nsd/NsdServiceInfo;->getTxtRecord()[B
-Landroid/net/nsd/NsdServiceInfo;->getTxtRecordSize()I
-Landroid/net/nsd/NsdServiceInfo;->mHost:Ljava/net/InetAddress;
-Landroid/net/nsd/NsdServiceInfo;->mPort:I
-Landroid/net/nsd/NsdServiceInfo;->mServiceName:Ljava/lang/String;
-Landroid/net/nsd/NsdServiceInfo;->mServiceType:Ljava/lang/String;
-Landroid/net/nsd/NsdServiceInfo;->mTxtRecord:Landroid/util/ArrayMap;
-Landroid/net/nsd/NsdServiceInfo;->setTxtRecords(Ljava/lang/String;)V
-Landroid/net/nsd/NsdServiceInfo;->TAG:Ljava/lang/String;
-Landroid/net/PacProxySelector;
-Landroid/net/PacProxySelector;-><init>()V
-Landroid/net/PacProxySelector;->mDefaultList:Ljava/util/List;
-Landroid/net/PacProxySelector;->mProxyService:Lcom/android/net/IProxyService;
-Landroid/net/PacProxySelector;->parseResponse(Ljava/lang/String;)Ljava/util/List;
-Landroid/net/PacProxySelector;->PROXY:Ljava/lang/String;
-Landroid/net/PacProxySelector;->proxyFromHostPort(Ljava/net/Proxy$Type;Ljava/lang/String;)Ljava/net/Proxy;
-Landroid/net/PacProxySelector;->PROXY_SERVICE:Ljava/lang/String;
-Landroid/net/PacProxySelector;->SOCKS:Ljava/lang/String;
-Landroid/net/PacProxySelector;->TAG:Ljava/lang/String;
-Landroid/net/ParseException;-><init>(Ljava/lang/String;)V
-Landroid/net/Proxy;->EXCLLIST_PATTERN:Ljava/util/regex/Pattern;
-Landroid/net/Proxy;->EXCLLIST_REGEXP:Ljava/lang/String;
-Landroid/net/Proxy;->EXCL_REGEX:Ljava/lang/String;
-Landroid/net/Proxy;->HOSTNAME_PATTERN:Ljava/util/regex/Pattern;
-Landroid/net/Proxy;->HOSTNAME_REGEXP:Ljava/lang/String;
-Landroid/net/Proxy;->isLocalHost(Ljava/lang/String;)Z
-Landroid/net/Proxy;->NAME_IP_REGEX:Ljava/lang/String;
-Landroid/net/Proxy;->PROXY_EXCLLIST_INVALID:I
-Landroid/net/Proxy;->PROXY_HOSTNAME_EMPTY:I
-Landroid/net/Proxy;->PROXY_HOSTNAME_INVALID:I
-Landroid/net/Proxy;->PROXY_PORT_EMPTY:I
-Landroid/net/Proxy;->PROXY_PORT_INVALID:I
-Landroid/net/Proxy;->PROXY_VALID:I
-Landroid/net/Proxy;->sConnectivityManager:Landroid/net/ConnectivityManager;
-Landroid/net/Proxy;->sDefaultProxySelector:Ljava/net/ProxySelector;
-Landroid/net/Proxy;->setHttpProxySystemProperty(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V
-Landroid/net/Proxy;->TAG:Ljava/lang/String;
-Landroid/net/Proxy;->validate(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-Landroid/net/ProxyInfo;-><init>(Landroid/net/ProxyInfo;)V
-Landroid/net/ProxyInfo;-><init>(Landroid/net/Uri;)V
-Landroid/net/ProxyInfo;-><init>(Landroid/net/Uri;I)V
-Landroid/net/ProxyInfo;-><init>(Ljava/lang/String;)V
-Landroid/net/ProxyInfo;-><init>(Ljava/lang/String;ILjava/lang/String;[Ljava/lang/String;)V
-Landroid/net/ProxyInfo;->getExclusionListAsString()Ljava/lang/String;
-Landroid/net/ProxyInfo;->getSocketAddress()Ljava/net/InetSocketAddress;
-Landroid/net/ProxyInfo;->isValid()Z
-Landroid/net/ProxyInfo;->LOCAL_EXCL_LIST:Ljava/lang/String;
-Landroid/net/ProxyInfo;->LOCAL_HOST:Ljava/lang/String;
-Landroid/net/ProxyInfo;->LOCAL_PORT:I
-Landroid/net/ProxyInfo;->makeProxy()Ljava/net/Proxy;
-Landroid/net/ProxyInfo;->mExclusionList:Ljava/lang/String;
-Landroid/net/ProxyInfo;->mHost:Ljava/lang/String;
-Landroid/net/ProxyInfo;->mPacFileUrl:Landroid/net/Uri;
-Landroid/net/ProxyInfo;->mParsedExclusionList:[Ljava/lang/String;
-Landroid/net/ProxyInfo;->mPort:I
-Landroid/net/ProxyInfo;->setExclusionList(Ljava/lang/String;)V
-Landroid/net/RouteInfo;-><init>(Landroid/net/IpPrefix;)V
-Landroid/net/RouteInfo;-><init>(Landroid/net/IpPrefix;I)V
-Landroid/net/RouteInfo;-><init>(Landroid/net/IpPrefix;Ljava/net/InetAddress;)V
-Landroid/net/RouteInfo;-><init>(Landroid/net/IpPrefix;Ljava/net/InetAddress;Ljava/lang/String;I)V
-Landroid/net/RouteInfo;-><init>(Landroid/net/LinkAddress;)V
-Landroid/net/RouteInfo;->getDestinationLinkAddress()Landroid/net/LinkAddress;
-Landroid/net/RouteInfo;->getType()I
-Landroid/net/RouteInfo;->isHostRoute()Z
-Landroid/net/RouteInfo;->isIPv4Default()Z
-Landroid/net/RouteInfo;->isIPv6Default()Z
-Landroid/net/RouteInfo;->makeHostRoute(Ljava/net/InetAddress;Ljava/lang/String;)Landroid/net/RouteInfo;
-Landroid/net/RouteInfo;->makeHostRoute(Ljava/net/InetAddress;Ljava/net/InetAddress;Ljava/lang/String;)Landroid/net/RouteInfo;
-Landroid/net/RouteInfo;->mDestination:Landroid/net/IpPrefix;
-Landroid/net/RouteInfo;->mHasGateway:Z
-Landroid/net/RouteInfo;->mInterface:Ljava/lang/String;
-Landroid/net/RouteInfo;->mType:I
-Landroid/net/RouteInfo;->RTN_THROW:I
-Landroid/net/RouteInfo;->RTN_UNICAST:I
-Landroid/net/RouteInfo;->RTN_UNREACHABLE:I
-Landroid/net/RssiCurve;-><init>(Landroid/os/Parcel;)V
-Landroid/net/RssiCurve;->DEFAULT_ACTIVE_NETWORK_RSSI_BOOST:I
-Landroid/net/rtp/AudioCodec;-><init>(ILjava/lang/String;Ljava/lang/String;)V
-Landroid/net/rtp/AudioCodec;->sCodecs:[Landroid/net/rtp/AudioCodec;
-Landroid/net/rtp/AudioGroup;->add(Landroid/net/rtp/AudioStream;)V
-Landroid/net/rtp/AudioGroup;->mMode:I
-Landroid/net/rtp/AudioGroup;->mNative:J
-Landroid/net/rtp/AudioGroup;->MODE_LAST:I
-Landroid/net/rtp/AudioGroup;->mStreams:Ljava/util/Map;
-Landroid/net/rtp/AudioGroup;->nativeAdd(IILjava/lang/String;ILjava/lang/String;ILjava/lang/String;)J
-Landroid/net/rtp/AudioGroup;->nativeRemove(J)V
-Landroid/net/rtp/AudioGroup;->nativeSendDtmf(I)V
-Landroid/net/rtp/AudioGroup;->nativeSetMode(I)V
-Landroid/net/rtp/AudioGroup;->remove(Landroid/net/rtp/AudioStream;)V
-Landroid/net/rtp/AudioStream;->mCodec:Landroid/net/rtp/AudioCodec;
-Landroid/net/rtp/AudioStream;->mDtmfType:I
-Landroid/net/rtp/AudioStream;->mGroup:Landroid/net/rtp/AudioGroup;
-Landroid/net/rtp/RtpStream;-><init>(Ljava/net/InetAddress;)V
-Landroid/net/rtp/RtpStream;->close()V
-Landroid/net/rtp/RtpStream;->create(Ljava/lang/String;)I
-Landroid/net/rtp/RtpStream;->getSocket()I
-Landroid/net/rtp/RtpStream;->mLocalAddress:Ljava/net/InetAddress;
-Landroid/net/rtp/RtpStream;->mLocalPort:I
-Landroid/net/rtp/RtpStream;->mMode:I
-Landroid/net/rtp/RtpStream;->MODE_LAST:I
-Landroid/net/rtp/RtpStream;->mRemoteAddress:Ljava/net/InetAddress;
-Landroid/net/rtp/RtpStream;->mRemotePort:I
-Landroid/net/rtp/RtpStream;->mSocket:I
-Landroid/net/ScoredNetwork;-><init>(Landroid/os/Parcel;)V
-Landroid/net/ScoredNetwork;->bundleEquals(Landroid/os/Bundle;Landroid/os/Bundle;)Z
-Landroid/net/ScoredNetwork;->calculateRankingScore(I)I
-Landroid/net/ScoredNetwork;->hasRankingScore()Z
-Landroid/net/sip/ISipService$Stub$Proxy;
-Landroid/net/sip/ISipService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/sip/ISipService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/sip/ISipService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/sip/ISipService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/sip/ISipService$Stub;->TRANSACTION_close:I
-Landroid/net/sip/ISipService$Stub;->TRANSACTION_createSession:I
-Landroid/net/sip/ISipService$Stub;->TRANSACTION_getListOfProfiles:I
-Landroid/net/sip/ISipService$Stub;->TRANSACTION_getPendingSession:I
-Landroid/net/sip/ISipService$Stub;->TRANSACTION_isOpened:I
-Landroid/net/sip/ISipService$Stub;->TRANSACTION_isRegistered:I
-Landroid/net/sip/ISipService$Stub;->TRANSACTION_open3:I
-Landroid/net/sip/ISipService$Stub;->TRANSACTION_open:I
-Landroid/net/sip/ISipService$Stub;->TRANSACTION_setRegistrationListener:I
-Landroid/net/sip/ISipSession$Stub$Proxy;
-Landroid/net/sip/ISipSession$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/sip/ISipSession$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/sip/ISipSession$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/sip/ISipSession$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/sip/ISipSession$Stub;->TRANSACTION_answerCall:I
-Landroid/net/sip/ISipSession$Stub;->TRANSACTION_changeCall:I
-Landroid/net/sip/ISipSession$Stub;->TRANSACTION_endCall:I
-Landroid/net/sip/ISipSession$Stub;->TRANSACTION_getCallId:I
-Landroid/net/sip/ISipSession$Stub;->TRANSACTION_getLocalIp:I
-Landroid/net/sip/ISipSession$Stub;->TRANSACTION_getLocalProfile:I
-Landroid/net/sip/ISipSession$Stub;->TRANSACTION_getPeerProfile:I
-Landroid/net/sip/ISipSession$Stub;->TRANSACTION_getState:I
-Landroid/net/sip/ISipSession$Stub;->TRANSACTION_isInCall:I
-Landroid/net/sip/ISipSession$Stub;->TRANSACTION_makeCall:I
-Landroid/net/sip/ISipSession$Stub;->TRANSACTION_register:I
-Landroid/net/sip/ISipSession$Stub;->TRANSACTION_setListener:I
-Landroid/net/sip/ISipSession$Stub;->TRANSACTION_unregister:I
-Landroid/net/sip/ISipSessionListener$Stub$Proxy;
-Landroid/net/sip/ISipSessionListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/sip/ISipSessionListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/sip/ISipSessionListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/sip/ISipSessionListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/sip/ISipSessionListener$Stub;->TRANSACTION_onCallBusy:I
-Landroid/net/sip/ISipSessionListener$Stub;->TRANSACTION_onCallChangeFailed:I
-Landroid/net/sip/ISipSessionListener$Stub;->TRANSACTION_onCallEnded:I
-Landroid/net/sip/ISipSessionListener$Stub;->TRANSACTION_onCallEstablished:I
-Landroid/net/sip/ISipSessionListener$Stub;->TRANSACTION_onCalling:I
-Landroid/net/sip/ISipSessionListener$Stub;->TRANSACTION_onCallTransferring:I
-Landroid/net/sip/ISipSessionListener$Stub;->TRANSACTION_onError:I
-Landroid/net/sip/ISipSessionListener$Stub;->TRANSACTION_onRegistering:I
-Landroid/net/sip/ISipSessionListener$Stub;->TRANSACTION_onRegistrationDone:I
-Landroid/net/sip/ISipSessionListener$Stub;->TRANSACTION_onRegistrationFailed:I
-Landroid/net/sip/ISipSessionListener$Stub;->TRANSACTION_onRegistrationTimeout:I
-Landroid/net/sip/ISipSessionListener$Stub;->TRANSACTION_onRinging:I
-Landroid/net/sip/ISipSessionListener$Stub;->TRANSACTION_onRingingBack:I
-Landroid/net/sip/SimpleSessionDescription$Fields;
-Landroid/net/sip/SimpleSessionDescription$Fields;-><init>(Ljava/lang/String;)V
-Landroid/net/sip/SimpleSessionDescription$Fields;->cut(Ljava/lang/String;C)[Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription$Fields;->find(Ljava/lang/String;C)I
-Landroid/net/sip/SimpleSessionDescription$Fields;->get(Ljava/lang/String;C)Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription$Fields;->getAddress()Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription$Fields;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription$Fields;->getAttributeNames()[Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription$Fields;->getBandwidth(Ljava/lang/String;)I
-Landroid/net/sip/SimpleSessionDescription$Fields;->getBandwidthTypes()[Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription$Fields;->getEncryptionKey()Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription$Fields;->getEncryptionMethod()Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription$Fields;->mLines:Ljava/util/ArrayList;
-Landroid/net/sip/SimpleSessionDescription$Fields;->mOrder:Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription$Fields;->parse(Ljava/lang/String;)V
-Landroid/net/sip/SimpleSessionDescription$Fields;->set(Ljava/lang/String;CLjava/lang/String;)V
-Landroid/net/sip/SimpleSessionDescription$Fields;->setAddress(Ljava/lang/String;)V
-Landroid/net/sip/SimpleSessionDescription$Fields;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/sip/SimpleSessionDescription$Fields;->setBandwidth(Ljava/lang/String;I)V
-Landroid/net/sip/SimpleSessionDescription$Fields;->setEncryption(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/sip/SimpleSessionDescription$Fields;->write(Ljava/lang/StringBuilder;)V
-Landroid/net/sip/SimpleSessionDescription$Media;
-Landroid/net/sip/SimpleSessionDescription$Media;-><init>(Ljava/lang/String;IILjava/lang/String;)V
-Landroid/net/sip/SimpleSessionDescription$Media;->getFmtp(I)Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription$Media;->getFmtp(Ljava/lang/String;)Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription$Media;->getFormats()[Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription$Media;->getPort()I
-Landroid/net/sip/SimpleSessionDescription$Media;->getPortCount()I
-Landroid/net/sip/SimpleSessionDescription$Media;->getProtocol()Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription$Media;->getRtpmap(I)Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription$Media;->getRtpPayloadTypes()[I
-Landroid/net/sip/SimpleSessionDescription$Media;->getType()Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription$Media;->mFormats:Ljava/util/ArrayList;
-Landroid/net/sip/SimpleSessionDescription$Media;->mPort:I
-Landroid/net/sip/SimpleSessionDescription$Media;->mPortCount:I
-Landroid/net/sip/SimpleSessionDescription$Media;->mProtocol:Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription$Media;->mType:Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription$Media;->removeFormat(Ljava/lang/String;)V
-Landroid/net/sip/SimpleSessionDescription$Media;->removeRtpPayload(I)V
-Landroid/net/sip/SimpleSessionDescription$Media;->setFormat(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/sip/SimpleSessionDescription$Media;->setRtpPayload(ILjava/lang/String;Ljava/lang/String;)V
-Landroid/net/sip/SimpleSessionDescription$Media;->write(Ljava/lang/StringBuilder;)V
-Landroid/net/sip/SimpleSessionDescription;
-Landroid/net/sip/SimpleSessionDescription;-><init>(JLjava/lang/String;)V
-Landroid/net/sip/SimpleSessionDescription;-><init>(Ljava/lang/String;)V
-Landroid/net/sip/SimpleSessionDescription;->encode()Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription;->getAddress()Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription;->getAttributeNames()[Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription;->getBandwidth(Ljava/lang/String;)I
-Landroid/net/sip/SimpleSessionDescription;->getBandwidthTypes()[Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription;->getEncryptionKey()Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription;->getEncryptionMethod()Ljava/lang/String;
-Landroid/net/sip/SimpleSessionDescription;->getMedia()[Landroid/net/sip/SimpleSessionDescription$Media;
-Landroid/net/sip/SimpleSessionDescription;->mFields:Landroid/net/sip/SimpleSessionDescription$Fields;
-Landroid/net/sip/SimpleSessionDescription;->mMedia:Ljava/util/ArrayList;
-Landroid/net/sip/SimpleSessionDescription;->newMedia(Ljava/lang/String;IILjava/lang/String;)Landroid/net/sip/SimpleSessionDescription$Media;
-Landroid/net/sip/SimpleSessionDescription;->setAddress(Ljava/lang/String;)V
-Landroid/net/sip/SimpleSessionDescription;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/sip/SimpleSessionDescription;->setBandwidth(Ljava/lang/String;I)V
-Landroid/net/sip/SimpleSessionDescription;->setEncryption(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/sip/SipAudioCall;->close(Z)V
-Landroid/net/sip/SipAudioCall;->createAnswer(Ljava/lang/String;)Landroid/net/sip/SimpleSessionDescription;
-Landroid/net/sip/SipAudioCall;->createContinueOffer()Landroid/net/sip/SimpleSessionDescription;
-Landroid/net/sip/SipAudioCall;->createHoldOffer()Landroid/net/sip/SimpleSessionDescription;
-Landroid/net/sip/SipAudioCall;->createListener()Landroid/net/sip/SipSession$Listener;
-Landroid/net/sip/SipAudioCall;->createOffer()Landroid/net/sip/SimpleSessionDescription;
-Landroid/net/sip/SipAudioCall;->DBG:Z
-Landroid/net/sip/SipAudioCall;->DONT_RELEASE_SOCKET:Z
-Landroid/net/sip/SipAudioCall;->getAudioGroup()Landroid/net/rtp/AudioGroup;
-Landroid/net/sip/SipAudioCall;->getAudioStream()Landroid/net/rtp/AudioStream;
-Landroid/net/sip/SipAudioCall;->getLocalIp()Ljava/lang/String;
-Landroid/net/sip/SipAudioCall;->getSipSession()Landroid/net/sip/SipSession;
-Landroid/net/sip/SipAudioCall;->grabWifiHighPerfLock()V
-Landroid/net/sip/SipAudioCall;->isSpeakerOn()Z
-Landroid/net/sip/SipAudioCall;->isWifiOn()Z
-Landroid/net/sip/SipAudioCall;->log(Ljava/lang/String;)V
-Landroid/net/sip/SipAudioCall;->loge(Ljava/lang/String;)V
-Landroid/net/sip/SipAudioCall;->loge(Ljava/lang/String;Ljava/lang/Throwable;)V
-Landroid/net/sip/SipAudioCall;->LOG_TAG:Ljava/lang/String;
-Landroid/net/sip/SipAudioCall;->mAudioGroup:Landroid/net/rtp/AudioGroup;
-Landroid/net/sip/SipAudioCall;->mAudioStream:Landroid/net/rtp/AudioStream;
-Landroid/net/sip/SipAudioCall;->mContext:Landroid/content/Context;
-Landroid/net/sip/SipAudioCall;->mErrorCode:I
-Landroid/net/sip/SipAudioCall;->mErrorMessage:Ljava/lang/String;
-Landroid/net/sip/SipAudioCall;->mHold:Z
-Landroid/net/sip/SipAudioCall;->mInCall:Z
-Landroid/net/sip/SipAudioCall;->mListener:Landroid/net/sip/SipAudioCall$Listener;
-Landroid/net/sip/SipAudioCall;->mLocalProfile:Landroid/net/sip/SipProfile;
-Landroid/net/sip/SipAudioCall;->mMuted:Z
-Landroid/net/sip/SipAudioCall;->mPeerSd:Ljava/lang/String;
-Landroid/net/sip/SipAudioCall;->mSessionId:J
-Landroid/net/sip/SipAudioCall;->mSipSession:Landroid/net/sip/SipSession;
-Landroid/net/sip/SipAudioCall;->mTransferringSession:Landroid/net/sip/SipSession;
-Landroid/net/sip/SipAudioCall;->mWifiHighPerfLock:Landroid/net/wifi/WifiManager$WifiLock;
-Landroid/net/sip/SipAudioCall;->mWm:Landroid/net/wifi/WifiManager;
-Landroid/net/sip/SipAudioCall;->onError(ILjava/lang/String;)V
-Landroid/net/sip/SipAudioCall;->releaseWifiHighPerfLock()V
-Landroid/net/sip/SipAudioCall;->RELEASE_SOCKET:Z
-Landroid/net/sip/SipAudioCall;->SESSION_TIMEOUT:I
-Landroid/net/sip/SipAudioCall;->setAudioGroup(Landroid/net/rtp/AudioGroup;)V
-Landroid/net/sip/SipAudioCall;->setAudioGroupMode()V
-Landroid/net/sip/SipAudioCall;->startAudioInternal()V
-Landroid/net/sip/SipAudioCall;->stopCall(Z)V
-Landroid/net/sip/SipAudioCall;->throwSipException(Ljava/lang/Throwable;)V
-Landroid/net/sip/SipAudioCall;->transferToNewSession()V
-Landroid/net/sip/SipAudioCall;->TRANSFER_TIMEOUT:I
-Landroid/net/sip/SipErrorCode;-><init>()V
-Landroid/net/sip/SipManager$ListenerRelay;
-Landroid/net/sip/SipManager$ListenerRelay;-><init>(Landroid/net/sip/SipRegistrationListener;Ljava/lang/String;)V
-Landroid/net/sip/SipManager$ListenerRelay;->getUri(Landroid/net/sip/ISipSession;)Ljava/lang/String;
-Landroid/net/sip/SipManager$ListenerRelay;->mListener:Landroid/net/sip/SipRegistrationListener;
-Landroid/net/sip/SipManager$ListenerRelay;->mUri:Ljava/lang/String;
-Landroid/net/sip/SipManager;-><init>(Landroid/content/Context;)V
-Landroid/net/sip/SipManager;->ACTION_SIP_ADD_PHONE:Ljava/lang/String;
-Landroid/net/sip/SipManager;->ACTION_SIP_CALL_OPTION_CHANGED:Ljava/lang/String;
-Landroid/net/sip/SipManager;->ACTION_SIP_INCOMING_CALL:Ljava/lang/String;
-Landroid/net/sip/SipManager;->ACTION_SIP_REMOVE_PHONE:Ljava/lang/String;
-Landroid/net/sip/SipManager;->ACTION_SIP_SERVICE_UP:Ljava/lang/String;
-Landroid/net/sip/SipManager;->checkSipServiceConnection()V
-Landroid/net/sip/SipManager;->createIncomingCallBroadcast(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
-Landroid/net/sip/SipManager;->createRelay(Landroid/net/sip/SipRegistrationListener;Ljava/lang/String;)Landroid/net/sip/ISipSessionListener;
-Landroid/net/sip/SipManager;->createSipService()V
-Landroid/net/sip/SipManager;->EXTRA_LOCAL_URI:Ljava/lang/String;
-Landroid/net/sip/SipManager;->getListOfProfiles()[Landroid/net/sip/SipProfile;
-Landroid/net/sip/SipManager;->mContext:Landroid/content/Context;
-Landroid/net/sip/SipManager;->mSipService:Landroid/net/sip/ISipService;
-Landroid/net/sip/SipManager;->TAG:Ljava/lang/String;
-Landroid/net/sip/SipProfile$Builder;->fix(Ljava/lang/String;)Ljava/lang/String;
-Landroid/net/sip/SipProfile$Builder;->mAddressFactory:Ljavax/sip/address/AddressFactory;
-Landroid/net/sip/SipProfile$Builder;->mDisplayName:Ljava/lang/String;
-Landroid/net/sip/SipProfile$Builder;->mProfile:Landroid/net/sip/SipProfile;
-Landroid/net/sip/SipProfile$Builder;->mProxyAddress:Ljava/lang/String;
-Landroid/net/sip/SipProfile$Builder;->mUri:Ljavax/sip/address/SipURI;
-Landroid/net/sip/SipProfile;-><init>()V
-Landroid/net/sip/SipProfile;-><init>(Landroid/os/Parcel;)V
-Landroid/net/sip/SipProfile;->DEFAULT_PORT:I
-Landroid/net/sip/SipProfile;->getCallingUid()I
-Landroid/net/sip/SipProfile;->getSipAddress()Ljavax/sip/address/Address;
-Landroid/net/sip/SipProfile;->getUri()Ljavax/sip/address/SipURI;
-Landroid/net/sip/SipProfile;->mAddress:Ljavax/sip/address/Address;
-Landroid/net/sip/SipProfile;->mAuthUserName:Ljava/lang/String;
-Landroid/net/sip/SipProfile;->mAutoRegistration:Z
-Landroid/net/sip/SipProfile;->mCallingUid:I
-Landroid/net/sip/SipProfile;->mDomain:Ljava/lang/String;
-Landroid/net/sip/SipProfile;->mPassword:Ljava/lang/String;
-Landroid/net/sip/SipProfile;->mPort:I
-Landroid/net/sip/SipProfile;->mProfileName:Ljava/lang/String;
-Landroid/net/sip/SipProfile;->mProtocol:Ljava/lang/String;
-Landroid/net/sip/SipProfile;->mProxyAddress:Ljava/lang/String;
-Landroid/net/sip/SipProfile;->mSendKeepAlive:Z
-Landroid/net/sip/SipProfile;->setCallingUid(I)V
-Landroid/net/sip/SipProfile;->TCP:Ljava/lang/String;
-Landroid/net/sip/SipProfile;->UDP:Ljava/lang/String;
-Landroid/net/sip/SipSession$Listener;->onCallTransferring(Landroid/net/sip/SipSession;Ljava/lang/String;)V
-Landroid/net/sip/SipSession$State;-><init>()V
-Landroid/net/sip/SipSession$State;->ENDING_CALL:I
-Landroid/net/sip/SipSession;-><init>(Landroid/net/sip/ISipSession;)V
-Landroid/net/sip/SipSession;-><init>(Landroid/net/sip/ISipSession;Landroid/net/sip/SipSession$Listener;)V
-Landroid/net/sip/SipSession;->createListener()Landroid/net/sip/ISipSessionListener;
-Landroid/net/sip/SipSession;->getRealSession()Landroid/net/sip/ISipSession;
-Landroid/net/sip/SipSession;->loge(Ljava/lang/String;Ljava/lang/Throwable;)V
-Landroid/net/sip/SipSession;->mListener:Landroid/net/sip/SipSession$Listener;
-Landroid/net/sip/SipSession;->mSession:Landroid/net/sip/ISipSession;
-Landroid/net/sip/SipSession;->TAG:Ljava/lang/String;
-Landroid/net/sip/SipSessionAdapter;
-Landroid/net/sip/SipSessionAdapter;-><init>()V
-Landroid/net/SntpClient$InvalidServerReplyException;
-Landroid/net/SntpClient$InvalidServerReplyException;-><init>(Ljava/lang/String;)V
-Landroid/net/SntpClient;
-Landroid/net/SntpClient;->checkValidServerReply(BBIJ)V
-Landroid/net/SntpClient;->DBG:Z
-Landroid/net/SntpClient;->mNtpTime:J
-Landroid/net/SntpClient;->mNtpTimeReference:J
-Landroid/net/SntpClient;->mRoundTripTime:J
-Landroid/net/SntpClient;->NTP_LEAP_NOSYNC:I
-Landroid/net/SntpClient;->NTP_MODE_BROADCAST:I
-Landroid/net/SntpClient;->NTP_MODE_CLIENT:I
-Landroid/net/SntpClient;->NTP_MODE_SERVER:I
-Landroid/net/SntpClient;->NTP_PACKET_SIZE:I
-Landroid/net/SntpClient;->NTP_PORT:I
-Landroid/net/SntpClient;->NTP_STRATUM_DEATH:I
-Landroid/net/SntpClient;->NTP_STRATUM_MAX:I
-Landroid/net/SntpClient;->NTP_VERSION:I
-Landroid/net/SntpClient;->OFFSET_1900_TO_1970:J
-Landroid/net/SntpClient;->ORIGINATE_TIME_OFFSET:I
-Landroid/net/SntpClient;->read32([BI)J
-Landroid/net/SntpClient;->readTimeStamp([BI)J
-Landroid/net/SntpClient;->RECEIVE_TIME_OFFSET:I
-Landroid/net/SntpClient;->REFERENCE_TIME_OFFSET:I
-Landroid/net/SntpClient;->requestTime(Ljava/lang/String;ILandroid/net/Network;)Z
-Landroid/net/SntpClient;->requestTime(Ljava/net/InetAddress;IILandroid/net/Network;)Z
-Landroid/net/SntpClient;->TAG:Ljava/lang/String;
-Landroid/net/SntpClient;->TRANSMIT_TIME_OFFSET:I
-Landroid/net/SntpClient;->writeTimeStamp([BIJ)V
-Landroid/net/SSLCertificateSocketFactory;->toLengthPrefixedList([[[B)[B
-Landroid/net/SSLSessionCache;-><init>(Ljava/lang/Object;)V
-Landroid/net/SSLSessionCache;->install(Landroid/net/SSLSessionCache;Ljavax/net/ssl/SSLContext;)V
-Landroid/net/SSLSessionCache;->TAG:Ljava/lang/String;
-Landroid/net/StaticIpConfiguration;
-Landroid/net/StaticIpConfiguration;-><init>(Landroid/net/StaticIpConfiguration;)V
-Landroid/net/StaticIpConfiguration;->clear()V
-Landroid/net/StaticIpConfiguration;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/StaticIpConfiguration;->readFromParcel(Landroid/net/StaticIpConfiguration;Landroid/os/Parcel;)V
-Landroid/net/StaticIpConfiguration;->toLinkProperties(Ljava/lang/String;)Landroid/net/LinkProperties;
-Landroid/net/StringNetworkSpecifier;
-Landroid/net/StringNetworkSpecifier;-><init>(Ljava/lang/String;)V
-Landroid/net/StringNetworkSpecifier;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/StringNetworkSpecifier;->satisfiedBy(Landroid/net/NetworkSpecifier;)Z
-Landroid/net/TrafficStats;->addIfSupported(J)J
-Landroid/net/TrafficStats;->closeQuietly(Landroid/net/INetworkStatsSession;)V
-Landroid/net/TrafficStats;->GB_IN_BYTES:J
-Landroid/net/TrafficStats;->getDataLayerSnapshotForUid(Landroid/content/Context;)Landroid/net/NetworkStats;
-Landroid/net/TrafficStats;->getRxPackets(Ljava/lang/String;)J
-Landroid/net/TrafficStats;->getTxPackets(Ljava/lang/String;)J
-Landroid/net/TrafficStats;->KB_IN_BYTES:J
-Landroid/net/TrafficStats;->LOOPBACK_IFACE:Ljava/lang/String;
-Landroid/net/TrafficStats;->MB_IN_BYTES:J
-Landroid/net/TrafficStats;->PB_IN_BYTES:J
-Landroid/net/TrafficStats;->sActiveProfilingStart:Landroid/net/NetworkStats;
-Landroid/net/TrafficStats;->sProfilingLock:Ljava/lang/Object;
-Landroid/net/TrafficStats;->sStatsService:Landroid/net/INetworkStatsService;
-Landroid/net/TrafficStats;->startDataProfiling(Landroid/content/Context;)V
-Landroid/net/TrafficStats;->stopDataProfiling(Landroid/content/Context;)Landroid/net/NetworkStats;
-Landroid/net/TrafficStats;->TAG_SYSTEM_APP:I
-Landroid/net/TrafficStats;->TAG_SYSTEM_BACKUP:I
-Landroid/net/TrafficStats;->TAG_SYSTEM_DHCP:I
-Landroid/net/TrafficStats;->TAG_SYSTEM_DOWNLOAD:I
-Landroid/net/TrafficStats;->TAG_SYSTEM_GPS:I
-Landroid/net/TrafficStats;->TAG_SYSTEM_MEDIA:I
-Landroid/net/TrafficStats;->TAG_SYSTEM_NEIGHBOR:I
-Landroid/net/TrafficStats;->TAG_SYSTEM_NTP:I
-Landroid/net/TrafficStats;->TAG_SYSTEM_PAC:I
-Landroid/net/TrafficStats;->TAG_SYSTEM_PROBE:I
-Landroid/net/TrafficStats;->TAG_SYSTEM_RESTORE:I
-Landroid/net/TrafficStats;->TB_IN_BYTES:J
-Landroid/net/TrafficStats;->TYPE_RX_BYTES:I
-Landroid/net/TrafficStats;->TYPE_RX_PACKETS:I
-Landroid/net/TrafficStats;->TYPE_TCP_RX_PACKETS:I
-Landroid/net/TrafficStats;->TYPE_TCP_TX_PACKETS:I
-Landroid/net/TrafficStats;->TYPE_TX_BYTES:I
-Landroid/net/TrafficStats;->TYPE_TX_PACKETS:I
-Landroid/net/TrafficStats;->UID_REMOVED:I
-Landroid/net/TrafficStats;->UID_TETHERING:I
-Landroid/net/UidRange;
-Landroid/net/UidRange;-><init>(II)V
-Landroid/net/UidRange;->contains(I)Z
-Landroid/net/UidRange;->containsRange(Landroid/net/UidRange;)Z
-Landroid/net/UidRange;->count()I
-Landroid/net/UidRange;->createForUser(I)Landroid/net/UidRange;
-Landroid/net/UidRange;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/UidRange;->getStartUser()I
-Landroid/net/UidRange;->start:I
-Landroid/net/UidRange;->stop:I
-Landroid/net/Uri$AbstractHierarchicalUri;
-Landroid/net/Uri$AbstractHierarchicalUri;-><init>()V
-Landroid/net/Uri$AbstractHierarchicalUri;->getUserInfoPart()Landroid/net/Uri$Part;
-Landroid/net/Uri$AbstractHierarchicalUri;->host:Ljava/lang/String;
-Landroid/net/Uri$AbstractHierarchicalUri;->parseHost()Ljava/lang/String;
-Landroid/net/Uri$AbstractHierarchicalUri;->parsePort()I
-Landroid/net/Uri$AbstractHierarchicalUri;->parseUserInfo()Ljava/lang/String;
-Landroid/net/Uri$AbstractHierarchicalUri;->port:I
-Landroid/net/Uri$AbstractHierarchicalUri;->userInfo:Landroid/net/Uri$Part;
-Landroid/net/Uri$AbstractPart$Representation;
-Landroid/net/Uri$AbstractPart$Representation;-><init>()V
-Landroid/net/Uri$AbstractPart$Representation;->BOTH:I
-Landroid/net/Uri$AbstractPart$Representation;->DECODED:I
-Landroid/net/Uri$AbstractPart$Representation;->ENCODED:I
-Landroid/net/Uri$AbstractPart;
-Landroid/net/Uri$AbstractPart;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/Uri$AbstractPart;->decoded:Ljava/lang/String;
-Landroid/net/Uri$AbstractPart;->encoded:Ljava/lang/String;
-Landroid/net/Uri$AbstractPart;->getDecoded()Ljava/lang/String;
-Landroid/net/Uri$AbstractPart;->getEncoded()Ljava/lang/String;
-Landroid/net/Uri$AbstractPart;->writeTo(Landroid/os/Parcel;)V
-Landroid/net/Uri$Builder;->authority(Landroid/net/Uri$Part;)Landroid/net/Uri$Builder;
-Landroid/net/Uri$Builder;->authority:Landroid/net/Uri$Part;
-Landroid/net/Uri$Builder;->fragment(Landroid/net/Uri$Part;)Landroid/net/Uri$Builder;
-Landroid/net/Uri$Builder;->fragment:Landroid/net/Uri$Part;
-Landroid/net/Uri$Builder;->hasSchemeOrAuthority()Z
-Landroid/net/Uri$Builder;->opaquePart(Landroid/net/Uri$Part;)Landroid/net/Uri$Builder;
-Landroid/net/Uri$Builder;->opaquePart:Landroid/net/Uri$Part;
-Landroid/net/Uri$Builder;->path(Landroid/net/Uri$PathPart;)Landroid/net/Uri$Builder;
-Landroid/net/Uri$Builder;->path:Landroid/net/Uri$PathPart;
-Landroid/net/Uri$Builder;->query(Landroid/net/Uri$Part;)Landroid/net/Uri$Builder;
-Landroid/net/Uri$Builder;->query:Landroid/net/Uri$Part;
-Landroid/net/Uri$Builder;->scheme:Ljava/lang/String;
-Landroid/net/Uri$HierarchicalUri;
-Landroid/net/Uri$HierarchicalUri;-><init>(Ljava/lang/String;Landroid/net/Uri$Part;Landroid/net/Uri$PathPart;Landroid/net/Uri$Part;Landroid/net/Uri$Part;)V
-Landroid/net/Uri$HierarchicalUri;->appendSspTo(Ljava/lang/StringBuilder;)V
-Landroid/net/Uri$HierarchicalUri;->authority:Landroid/net/Uri$Part;
-Landroid/net/Uri$HierarchicalUri;->fragment:Landroid/net/Uri$Part;
-Landroid/net/Uri$HierarchicalUri;->getSsp()Landroid/net/Uri$Part;
-Landroid/net/Uri$HierarchicalUri;->makeSchemeSpecificPart()Ljava/lang/String;
-Landroid/net/Uri$HierarchicalUri;->makeUriString()Ljava/lang/String;
-Landroid/net/Uri$HierarchicalUri;->path:Landroid/net/Uri$PathPart;
-Landroid/net/Uri$HierarchicalUri;->query:Landroid/net/Uri$Part;
-Landroid/net/Uri$HierarchicalUri;->readFrom(Landroid/os/Parcel;)Landroid/net/Uri;
-Landroid/net/Uri$HierarchicalUri;->scheme:Ljava/lang/String;
-Landroid/net/Uri$HierarchicalUri;->ssp:Landroid/net/Uri$Part;
-Landroid/net/Uri$HierarchicalUri;->TYPE_ID:I
-Landroid/net/Uri$HierarchicalUri;->uriString:Ljava/lang/String;
-Landroid/net/Uri$OpaqueUri;
-Landroid/net/Uri$OpaqueUri;-><init>(Ljava/lang/String;Landroid/net/Uri$Part;Landroid/net/Uri$Part;)V
-Landroid/net/Uri$OpaqueUri;->cachedString:Ljava/lang/String;
-Landroid/net/Uri$OpaqueUri;->fragment:Landroid/net/Uri$Part;
-Landroid/net/Uri$OpaqueUri;->readFrom(Landroid/os/Parcel;)Landroid/net/Uri;
-Landroid/net/Uri$OpaqueUri;->scheme:Ljava/lang/String;
-Landroid/net/Uri$OpaqueUri;->ssp:Landroid/net/Uri$Part;
-Landroid/net/Uri$OpaqueUri;->TYPE_ID:I
-Landroid/net/Uri$Part$EmptyPart;
-Landroid/net/Uri$Part$EmptyPart;-><init>(Ljava/lang/String;)V
-Landroid/net/Uri$Part$EmptyPart;->isEmpty()Z
-Landroid/net/Uri$Part;
-Landroid/net/Uri$Part;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/Uri$Part;->EMPTY:Landroid/net/Uri$Part;
-Landroid/net/Uri$Part;->from(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$Part;
-Landroid/net/Uri$Part;->fromDecoded(Ljava/lang/String;)Landroid/net/Uri$Part;
-Landroid/net/Uri$Part;->fromEncoded(Ljava/lang/String;)Landroid/net/Uri$Part;
-Landroid/net/Uri$Part;->getEncoded()Ljava/lang/String;
-Landroid/net/Uri$Part;->isEmpty()Z
-Landroid/net/Uri$Part;->nonNull(Landroid/net/Uri$Part;)Landroid/net/Uri$Part;
-Landroid/net/Uri$Part;->NULL:Landroid/net/Uri$Part;
-Landroid/net/Uri$Part;->readFrom(Landroid/os/Parcel;)Landroid/net/Uri$Part;
-Landroid/net/Uri$PathPart;
-Landroid/net/Uri$PathPart;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/Uri$PathPart;->appendDecodedSegment(Landroid/net/Uri$PathPart;Ljava/lang/String;)Landroid/net/Uri$PathPart;
-Landroid/net/Uri$PathPart;->appendEncodedSegment(Landroid/net/Uri$PathPart;Ljava/lang/String;)Landroid/net/Uri$PathPart;
-Landroid/net/Uri$PathPart;->EMPTY:Landroid/net/Uri$PathPart;
-Landroid/net/Uri$PathPart;->from(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$PathPart;
-Landroid/net/Uri$PathPart;->fromDecoded(Ljava/lang/String;)Landroid/net/Uri$PathPart;
-Landroid/net/Uri$PathPart;->fromEncoded(Ljava/lang/String;)Landroid/net/Uri$PathPart;
-Landroid/net/Uri$PathPart;->getEncoded()Ljava/lang/String;
-Landroid/net/Uri$PathPart;->getPathSegments()Landroid/net/Uri$PathSegments;
-Landroid/net/Uri$PathPart;->makeAbsolute(Landroid/net/Uri$PathPart;)Landroid/net/Uri$PathPart;
-Landroid/net/Uri$PathPart;->NULL:Landroid/net/Uri$PathPart;
-Landroid/net/Uri$PathPart;->pathSegments:Landroid/net/Uri$PathSegments;
-Landroid/net/Uri$PathPart;->readFrom(Landroid/os/Parcel;)Landroid/net/Uri$PathPart;
-Landroid/net/Uri$PathSegments;
-Landroid/net/Uri$PathSegments;-><init>([Ljava/lang/String;I)V
-Landroid/net/Uri$PathSegments;->EMPTY:Landroid/net/Uri$PathSegments;
-Landroid/net/Uri$PathSegments;->segments:[Ljava/lang/String;
-Landroid/net/Uri$PathSegments;->size:I
-Landroid/net/Uri$PathSegmentsBuilder;
-Landroid/net/Uri$PathSegmentsBuilder;-><init>()V
-Landroid/net/Uri$PathSegmentsBuilder;->add(Ljava/lang/String;)V
-Landroid/net/Uri$PathSegmentsBuilder;->build()Landroid/net/Uri$PathSegments;
-Landroid/net/Uri$PathSegmentsBuilder;->segments:[Ljava/lang/String;
-Landroid/net/Uri$PathSegmentsBuilder;->size:I
-Landroid/net/Uri$StringUri;
-Landroid/net/Uri$StringUri;-><init>(Ljava/lang/String;)V
-Landroid/net/Uri$StringUri;->authority:Landroid/net/Uri$Part;
-Landroid/net/Uri$StringUri;->cachedFsi:I
-Landroid/net/Uri$StringUri;->cachedSsi:I
-Landroid/net/Uri$StringUri;->findFragmentSeparator()I
-Landroid/net/Uri$StringUri;->findSchemeSeparator()I
-Landroid/net/Uri$StringUri;->fragment:Landroid/net/Uri$Part;
-Landroid/net/Uri$StringUri;->getAuthorityPart()Landroid/net/Uri$Part;
-Landroid/net/Uri$StringUri;->getFragmentPart()Landroid/net/Uri$Part;
-Landroid/net/Uri$StringUri;->getPathPart()Landroid/net/Uri$PathPart;
-Landroid/net/Uri$StringUri;->getQueryPart()Landroid/net/Uri$Part;
-Landroid/net/Uri$StringUri;->getSsp()Landroid/net/Uri$Part;
-Landroid/net/Uri$StringUri;->parseAuthority(Ljava/lang/String;I)Ljava/lang/String;
-Landroid/net/Uri$StringUri;->parseFragment()Ljava/lang/String;
-Landroid/net/Uri$StringUri;->parsePath()Ljava/lang/String;
-Landroid/net/Uri$StringUri;->parsePath(Ljava/lang/String;I)Ljava/lang/String;
-Landroid/net/Uri$StringUri;->parseQuery()Ljava/lang/String;
-Landroid/net/Uri$StringUri;->parseScheme()Ljava/lang/String;
-Landroid/net/Uri$StringUri;->parseSsp()Ljava/lang/String;
-Landroid/net/Uri$StringUri;->path:Landroid/net/Uri$PathPart;
-Landroid/net/Uri$StringUri;->query:Landroid/net/Uri$Part;
-Landroid/net/Uri$StringUri;->readFrom(Landroid/os/Parcel;)Landroid/net/Uri;
-Landroid/net/Uri$StringUri;->scheme:Ljava/lang/String;
-Landroid/net/Uri$StringUri;->ssp:Landroid/net/Uri$Part;
-Landroid/net/Uri$StringUri;->TYPE_ID:I
-Landroid/net/Uri$StringUri;->uriString:Ljava/lang/String;
-Landroid/net/Uri;->checkContentUriWithoutPermission(Ljava/lang/String;I)V
-Landroid/net/Uri;->checkFileUriExposed(Ljava/lang/String;)V
-Landroid/net/Uri;->DEFAULT_ENCODING:Ljava/lang/String;
-Landroid/net/Uri;->HEX_DIGITS:[C
-Landroid/net/Uri;->isAllowed(CLjava/lang/String;)Z
-Landroid/net/Uri;->isPathPrefixMatch(Landroid/net/Uri;)Z
-Landroid/net/Uri;->LOG:Ljava/lang/String;
-Landroid/net/Uri;->NOT_CACHED:Ljava/lang/String;
-Landroid/net/Uri;->NOT_CALCULATED:I
-Landroid/net/Uri;->NOT_FOUND:I
-Landroid/net/Uri;->NOT_HIERARCHICAL:Ljava/lang/String;
-Landroid/net/Uri;->NULL_TYPE_ID:I
-Landroid/net/UrlQuerySanitizer$IllegalCharacterValueSanitizer;->characterIsLegal(C)Z
-Landroid/net/UrlQuerySanitizer$IllegalCharacterValueSanitizer;->isWhitespace(C)Z
-Landroid/net/UrlQuerySanitizer$IllegalCharacterValueSanitizer;->JAVASCRIPT_PREFIX:Ljava/lang/String;
-Landroid/net/UrlQuerySanitizer$IllegalCharacterValueSanitizer;->mFlags:I
-Landroid/net/UrlQuerySanitizer$IllegalCharacterValueSanitizer;->MIN_SCRIPT_PREFIX_LENGTH:I
-Landroid/net/UrlQuerySanitizer$IllegalCharacterValueSanitizer;->trimWhitespace(Ljava/lang/String;)Ljava/lang/String;
-Landroid/net/UrlQuerySanitizer$IllegalCharacterValueSanitizer;->VBSCRIPT_PREFIX:Ljava/lang/String;
-Landroid/net/UrlQuerySanitizer;->mAllowUnregisteredParamaters:Z
-Landroid/net/UrlQuerySanitizer;->mEntries:Ljava/util/HashMap;
-Landroid/net/UrlQuerySanitizer;->mEntriesList:Ljava/util/ArrayList;
-Landroid/net/UrlQuerySanitizer;->mPreferFirstRepeatedParameter:Z
-Landroid/net/UrlQuerySanitizer;->mSanitizers:Ljava/util/HashMap;
-Landroid/net/UrlQuerySanitizer;->mUnregisteredParameterValueSanitizer:Landroid/net/UrlQuerySanitizer$ValueSanitizer;
-Landroid/net/UrlQuerySanitizer;->sAllButNulAndAngleBracketsLegal:Landroid/net/UrlQuerySanitizer$ValueSanitizer;
-Landroid/net/UrlQuerySanitizer;->sAllButNulLegal:Landroid/net/UrlQuerySanitizer$ValueSanitizer;
-Landroid/net/UrlQuerySanitizer;->sAllButWhitespaceLegal:Landroid/net/UrlQuerySanitizer$ValueSanitizer;
-Landroid/net/UrlQuerySanitizer;->sAllIllegal:Landroid/net/UrlQuerySanitizer$ValueSanitizer;
-Landroid/net/UrlQuerySanitizer;->sAmpAndSpaceLegal:Landroid/net/UrlQuerySanitizer$ValueSanitizer;
-Landroid/net/UrlQuerySanitizer;->sAmpLegal:Landroid/net/UrlQuerySanitizer$ValueSanitizer;
-Landroid/net/UrlQuerySanitizer;->sSpaceLegal:Landroid/net/UrlQuerySanitizer$ValueSanitizer;
-Landroid/net/UrlQuerySanitizer;->sUrlAndSpaceLegal:Landroid/net/UrlQuerySanitizer$ValueSanitizer;
-Landroid/net/UrlQuerySanitizer;->sURLLegal:Landroid/net/UrlQuerySanitizer$ValueSanitizer;
-Landroid/net/VpnService$Builder;->mConfig:Lcom/android/internal/net/VpnConfig;
-Landroid/net/VpnService$Builder;->verifyApp(Ljava/lang/String;)V
-Landroid/net/VpnService$Callback;
-Landroid/net/VpnService$Callback;-><init>()V
-Landroid/net/VpnService;->addAddress(Ljava/net/InetAddress;I)Z
-Landroid/net/VpnService;->check(Ljava/net/InetAddress;I)V
-Landroid/net/VpnService;->getService()Landroid/net/IConnectivityManager;
-Landroid/net/VpnService;->removeAddress(Ljava/net/InetAddress;I)Z
-Landroid/net/WebAddress;->MATCH_GROUP_AUTHORITY:I
-Landroid/net/WebAddress;->MATCH_GROUP_HOST:I
-Landroid/net/WebAddress;->MATCH_GROUP_PATH:I
-Landroid/net/WebAddress;->MATCH_GROUP_PORT:I
-Landroid/net/WebAddress;->MATCH_GROUP_SCHEME:I
-Landroid/net/WebAddress;->mAuthInfo:Ljava/lang/String;
-Landroid/net/WebAddress;->sAddressPattern:Ljava/util/regex/Pattern;
-Landroid/net/WebAddress;->setAuthInfo(Ljava/lang/String;)V
-Landroid/net/WebAddress;->setPort(I)V
-Landroid/net/WebAddress;->setScheme(Ljava/lang/String;)V
-Landroid/net/wifi/AnqpInformationElement;
-Landroid/net/wifi/AnqpInformationElement;-><init>(II[B)V
-Landroid/net/wifi/AnqpInformationElement;->ANQP_3GPP_NETWORK:I
-Landroid/net/wifi/AnqpInformationElement;->ANQP_CAPABILITY_LIST:I
-Landroid/net/wifi/AnqpInformationElement;->ANQP_CIVIC_LOC:I
-Landroid/net/wifi/AnqpInformationElement;->ANQP_DOM_NAME:I
-Landroid/net/wifi/AnqpInformationElement;->ANQP_EMERGENCY_ALERT:I
-Landroid/net/wifi/AnqpInformationElement;->ANQP_EMERGENCY_NAI:I
-Landroid/net/wifi/AnqpInformationElement;->ANQP_EMERGENCY_NUMBER:I
-Landroid/net/wifi/AnqpInformationElement;->ANQP_GEO_LOC:I
-Landroid/net/wifi/AnqpInformationElement;->ANQP_IP_ADDR_AVAILABILITY:I
-Landroid/net/wifi/AnqpInformationElement;->ANQP_LOC_URI:I
-Landroid/net/wifi/AnqpInformationElement;->ANQP_NAI_REALM:I
-Landroid/net/wifi/AnqpInformationElement;->ANQP_NEIGHBOR_REPORT:I
-Landroid/net/wifi/AnqpInformationElement;->ANQP_NWK_AUTH_TYPE:I
-Landroid/net/wifi/AnqpInformationElement;->ANQP_QUERY_LIST:I
-Landroid/net/wifi/AnqpInformationElement;->ANQP_ROAMING_CONSORTIUM:I
-Landroid/net/wifi/AnqpInformationElement;->ANQP_TDLS_CAP:I
-Landroid/net/wifi/AnqpInformationElement;->ANQP_VENDOR_SPEC:I
-Landroid/net/wifi/AnqpInformationElement;->ANQP_VENUE_NAME:I
-Landroid/net/wifi/AnqpInformationElement;->getElementId()I
-Landroid/net/wifi/AnqpInformationElement;->getPayload()[B
-Landroid/net/wifi/AnqpInformationElement;->getVendorId()I
-Landroid/net/wifi/AnqpInformationElement;->HOTSPOT20_VENDOR_ID:I
-Landroid/net/wifi/AnqpInformationElement;->HS_CAPABILITY_LIST:I
-Landroid/net/wifi/AnqpInformationElement;->HS_CONN_CAPABILITY:I
-Landroid/net/wifi/AnqpInformationElement;->HS_FRIENDLY_NAME:I
-Landroid/net/wifi/AnqpInformationElement;->HS_ICON_FILE:I
-Landroid/net/wifi/AnqpInformationElement;->HS_ICON_REQUEST:I
-Landroid/net/wifi/AnqpInformationElement;->HS_NAI_HOME_REALM_QUERY:I
-Landroid/net/wifi/AnqpInformationElement;->HS_OPERATING_CLASS:I
-Landroid/net/wifi/AnqpInformationElement;->HS_OSU_PROVIDERS:I
-Landroid/net/wifi/AnqpInformationElement;->HS_QUERY_LIST:I
-Landroid/net/wifi/AnqpInformationElement;->HS_WAN_METRICS:I
-Landroid/net/wifi/AnqpInformationElement;->mElementId:I
-Landroid/net/wifi/AnqpInformationElement;->mPayload:[B
-Landroid/net/wifi/AnqpInformationElement;->mVendorId:I
-Landroid/net/wifi/aware/Characteristics;-><init>(Landroid/os/Bundle;)V
-Landroid/net/wifi/aware/Characteristics;->KEY_MAX_MATCH_FILTER_LENGTH:Ljava/lang/String;
-Landroid/net/wifi/aware/Characteristics;->KEY_MAX_SERVICE_NAME_LENGTH:Ljava/lang/String;
-Landroid/net/wifi/aware/Characteristics;->KEY_MAX_SERVICE_SPECIFIC_INFO_LENGTH:Ljava/lang/String;
-Landroid/net/wifi/aware/Characteristics;->mCharacteristics:Landroid/os/Bundle;
-Landroid/net/wifi/aware/ConfigRequest$Builder;
-Landroid/net/wifi/aware/ConfigRequest$Builder;-><init>()V
-Landroid/net/wifi/aware/ConfigRequest$Builder;->build()Landroid/net/wifi/aware/ConfigRequest;
-Landroid/net/wifi/aware/ConfigRequest$Builder;->mClusterHigh:I
-Landroid/net/wifi/aware/ConfigRequest$Builder;->mClusterLow:I
-Landroid/net/wifi/aware/ConfigRequest$Builder;->mDiscoveryWindowInterval:[I
-Landroid/net/wifi/aware/ConfigRequest$Builder;->mMasterPreference:I
-Landroid/net/wifi/aware/ConfigRequest$Builder;->mSupport5gBand:Z
-Landroid/net/wifi/aware/ConfigRequest$Builder;->setClusterHigh(I)Landroid/net/wifi/aware/ConfigRequest$Builder;
-Landroid/net/wifi/aware/ConfigRequest$Builder;->setClusterLow(I)Landroid/net/wifi/aware/ConfigRequest$Builder;
-Landroid/net/wifi/aware/ConfigRequest$Builder;->setDiscoveryWindowInterval(II)Landroid/net/wifi/aware/ConfigRequest$Builder;
-Landroid/net/wifi/aware/ConfigRequest$Builder;->setMasterPreference(I)Landroid/net/wifi/aware/ConfigRequest$Builder;
-Landroid/net/wifi/aware/ConfigRequest$Builder;->setSupport5gBand(Z)Landroid/net/wifi/aware/ConfigRequest$Builder;
-Landroid/net/wifi/aware/ConfigRequest;
-Landroid/net/wifi/aware/ConfigRequest;-><init>(ZIII[I)V
-Landroid/net/wifi/aware/ConfigRequest;->CLUSTER_ID_MAX:I
-Landroid/net/wifi/aware/ConfigRequest;->CLUSTER_ID_MIN:I
-Landroid/net/wifi/aware/ConfigRequest;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/aware/ConfigRequest;->DW_DISABLE:I
-Landroid/net/wifi/aware/ConfigRequest;->DW_INTERVAL_NOT_INIT:I
-Landroid/net/wifi/aware/ConfigRequest;->mClusterHigh:I
-Landroid/net/wifi/aware/ConfigRequest;->mClusterLow:I
-Landroid/net/wifi/aware/ConfigRequest;->mDiscoveryWindowInterval:[I
-Landroid/net/wifi/aware/ConfigRequest;->mMasterPreference:I
-Landroid/net/wifi/aware/ConfigRequest;->mSupport5gBand:Z
-Landroid/net/wifi/aware/ConfigRequest;->NAN_BAND_24GHZ:I
-Landroid/net/wifi/aware/ConfigRequest;->NAN_BAND_5GHZ:I
-Landroid/net/wifi/aware/ConfigRequest;->validate()V
-Landroid/net/wifi/aware/DiscoverySession;-><init>(Landroid/net/wifi/aware/WifiAwareManager;II)V
-Landroid/net/wifi/aware/DiscoverySession;->DBG:Z
-Landroid/net/wifi/aware/DiscoverySession;->getClientId()I
-Landroid/net/wifi/aware/DiscoverySession;->getMaxSendRetryCount()I
-Landroid/net/wifi/aware/DiscoverySession;->getSessionId()I
-Landroid/net/wifi/aware/DiscoverySession;->MAX_SEND_RETRY_COUNT:I
-Landroid/net/wifi/aware/DiscoverySession;->mClientId:I
-Landroid/net/wifi/aware/DiscoverySession;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/net/wifi/aware/DiscoverySession;->mMgr:Ljava/lang/ref/WeakReference;
-Landroid/net/wifi/aware/DiscoverySession;->mSessionId:I
-Landroid/net/wifi/aware/DiscoverySession;->mTerminated:Z
-Landroid/net/wifi/aware/DiscoverySession;->sendMessage(Landroid/net/wifi/aware/PeerHandle;I[BI)V
-Landroid/net/wifi/aware/DiscoverySession;->setTerminated()V
-Landroid/net/wifi/aware/DiscoverySession;->TAG:Ljava/lang/String;
-Landroid/net/wifi/aware/DiscoverySession;->VDBG:Z
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub$Proxy;
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub$Proxy;->onMatch(I[B[B)V
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub$Proxy;->onMatchWithDistance(I[B[BI)V
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub$Proxy;->onMessageReceived(I[B)V
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub$Proxy;->onMessageSendFail(II)V
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub$Proxy;->onMessageSendSuccess(I)V
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub$Proxy;->onSessionConfigFail(I)V
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub$Proxy;->onSessionConfigSuccess()V
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub$Proxy;->onSessionStarted(I)V
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub$Proxy;->onSessionTerminated(I)V
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub;
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub;-><init>()V
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback;
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub;->TRANSACTION_onMatch:I
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub;->TRANSACTION_onMatchWithDistance:I
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub;->TRANSACTION_onMessageReceived:I
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub;->TRANSACTION_onMessageSendFail:I
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub;->TRANSACTION_onMessageSendSuccess:I
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub;->TRANSACTION_onSessionConfigFail:I
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub;->TRANSACTION_onSessionConfigSuccess:I
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub;->TRANSACTION_onSessionStarted:I
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback$Stub;->TRANSACTION_onSessionTerminated:I
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback;
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback;->onMatch(I[B[B)V
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback;->onMatchWithDistance(I[B[BI)V
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback;->onMessageReceived(I[B)V
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback;->onMessageSendFail(II)V
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback;->onMessageSendSuccess(I)V
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback;->onSessionConfigFail(I)V
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback;->onSessionConfigSuccess()V
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback;->onSessionStarted(I)V
-Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback;->onSessionTerminated(I)V
-Landroid/net/wifi/aware/IWifiAwareEventCallback$Stub$Proxy;
-Landroid/net/wifi/aware/IWifiAwareEventCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/wifi/aware/IWifiAwareEventCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/wifi/aware/IWifiAwareEventCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/wifi/aware/IWifiAwareEventCallback$Stub$Proxy;->onConnectFail(I)V
-Landroid/net/wifi/aware/IWifiAwareEventCallback$Stub$Proxy;->onConnectSuccess(I)V
-Landroid/net/wifi/aware/IWifiAwareEventCallback$Stub$Proxy;->onIdentityChanged([B)V
-Landroid/net/wifi/aware/IWifiAwareEventCallback$Stub;
-Landroid/net/wifi/aware/IWifiAwareEventCallback$Stub;-><init>()V
-Landroid/net/wifi/aware/IWifiAwareEventCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/aware/IWifiAwareEventCallback;
-Landroid/net/wifi/aware/IWifiAwareEventCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/wifi/aware/IWifiAwareEventCallback$Stub;->TRANSACTION_onConnectFail:I
-Landroid/net/wifi/aware/IWifiAwareEventCallback$Stub;->TRANSACTION_onConnectSuccess:I
-Landroid/net/wifi/aware/IWifiAwareEventCallback$Stub;->TRANSACTION_onIdentityChanged:I
-Landroid/net/wifi/aware/IWifiAwareEventCallback;
-Landroid/net/wifi/aware/IWifiAwareEventCallback;->onConnectFail(I)V
-Landroid/net/wifi/aware/IWifiAwareEventCallback;->onConnectSuccess(I)V
-Landroid/net/wifi/aware/IWifiAwareEventCallback;->onIdentityChanged([B)V
-Landroid/net/wifi/aware/IWifiAwareMacAddressProvider$Stub$Proxy;
-Landroid/net/wifi/aware/IWifiAwareMacAddressProvider$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/wifi/aware/IWifiAwareMacAddressProvider$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/wifi/aware/IWifiAwareMacAddressProvider$Stub$Proxy;->macAddress(Ljava/util/Map;)V
-Landroid/net/wifi/aware/IWifiAwareMacAddressProvider$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/wifi/aware/IWifiAwareMacAddressProvider$Stub;
-Landroid/net/wifi/aware/IWifiAwareMacAddressProvider$Stub;-><init>()V
-Landroid/net/wifi/aware/IWifiAwareMacAddressProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/aware/IWifiAwareMacAddressProvider;
-Landroid/net/wifi/aware/IWifiAwareMacAddressProvider$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/wifi/aware/IWifiAwareMacAddressProvider$Stub;->TRANSACTION_macAddress:I
-Landroid/net/wifi/aware/IWifiAwareMacAddressProvider;
-Landroid/net/wifi/aware/IWifiAwareMacAddressProvider;->macAddress(Ljava/util/Map;)V
-Landroid/net/wifi/aware/IWifiAwareManager$Stub$Proxy;
-Landroid/net/wifi/aware/IWifiAwareManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/wifi/aware/IWifiAwareManager$Stub$Proxy;->connect(Landroid/os/IBinder;Ljava/lang/String;Landroid/net/wifi/aware/IWifiAwareEventCallback;Landroid/net/wifi/aware/ConfigRequest;Z)V
-Landroid/net/wifi/aware/IWifiAwareManager$Stub$Proxy;->disconnect(ILandroid/os/IBinder;)V
-Landroid/net/wifi/aware/IWifiAwareManager$Stub$Proxy;->getCharacteristics()Landroid/net/wifi/aware/Characteristics;
-Landroid/net/wifi/aware/IWifiAwareManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/wifi/aware/IWifiAwareManager$Stub$Proxy;->isUsageEnabled()Z
-Landroid/net/wifi/aware/IWifiAwareManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/wifi/aware/IWifiAwareManager$Stub$Proxy;->publish(Ljava/lang/String;ILandroid/net/wifi/aware/PublishConfig;Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback;)V
-Landroid/net/wifi/aware/IWifiAwareManager$Stub$Proxy;->requestMacAddresses(ILjava/util/List;Landroid/net/wifi/aware/IWifiAwareMacAddressProvider;)V
-Landroid/net/wifi/aware/IWifiAwareManager$Stub$Proxy;->sendMessage(III[BII)V
-Landroid/net/wifi/aware/IWifiAwareManager$Stub$Proxy;->subscribe(Ljava/lang/String;ILandroid/net/wifi/aware/SubscribeConfig;Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback;)V
-Landroid/net/wifi/aware/IWifiAwareManager$Stub$Proxy;->terminateSession(II)V
-Landroid/net/wifi/aware/IWifiAwareManager$Stub$Proxy;->updatePublish(IILandroid/net/wifi/aware/PublishConfig;)V
-Landroid/net/wifi/aware/IWifiAwareManager$Stub$Proxy;->updateSubscribe(IILandroid/net/wifi/aware/SubscribeConfig;)V
-Landroid/net/wifi/aware/IWifiAwareManager$Stub;
-Landroid/net/wifi/aware/IWifiAwareManager$Stub;-><init>()V
-Landroid/net/wifi/aware/IWifiAwareManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/aware/IWifiAwareManager;
-Landroid/net/wifi/aware/IWifiAwareManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/wifi/aware/IWifiAwareManager$Stub;->TRANSACTION_connect:I
-Landroid/net/wifi/aware/IWifiAwareManager$Stub;->TRANSACTION_disconnect:I
-Landroid/net/wifi/aware/IWifiAwareManager$Stub;->TRANSACTION_getCharacteristics:I
-Landroid/net/wifi/aware/IWifiAwareManager$Stub;->TRANSACTION_isUsageEnabled:I
-Landroid/net/wifi/aware/IWifiAwareManager$Stub;->TRANSACTION_publish:I
-Landroid/net/wifi/aware/IWifiAwareManager$Stub;->TRANSACTION_requestMacAddresses:I
-Landroid/net/wifi/aware/IWifiAwareManager$Stub;->TRANSACTION_sendMessage:I
-Landroid/net/wifi/aware/IWifiAwareManager$Stub;->TRANSACTION_subscribe:I
-Landroid/net/wifi/aware/IWifiAwareManager$Stub;->TRANSACTION_terminateSession:I
-Landroid/net/wifi/aware/IWifiAwareManager$Stub;->TRANSACTION_updatePublish:I
-Landroid/net/wifi/aware/IWifiAwareManager$Stub;->TRANSACTION_updateSubscribe:I
-Landroid/net/wifi/aware/IWifiAwareManager;
-Landroid/net/wifi/aware/IWifiAwareManager;->connect(Landroid/os/IBinder;Ljava/lang/String;Landroid/net/wifi/aware/IWifiAwareEventCallback;Landroid/net/wifi/aware/ConfigRequest;Z)V
-Landroid/net/wifi/aware/IWifiAwareManager;->disconnect(ILandroid/os/IBinder;)V
-Landroid/net/wifi/aware/IWifiAwareManager;->getCharacteristics()Landroid/net/wifi/aware/Characteristics;
-Landroid/net/wifi/aware/IWifiAwareManager;->isUsageEnabled()Z
-Landroid/net/wifi/aware/IWifiAwareManager;->publish(Ljava/lang/String;ILandroid/net/wifi/aware/PublishConfig;Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback;)V
-Landroid/net/wifi/aware/IWifiAwareManager;->requestMacAddresses(ILjava/util/List;Landroid/net/wifi/aware/IWifiAwareMacAddressProvider;)V
-Landroid/net/wifi/aware/IWifiAwareManager;->sendMessage(III[BII)V
-Landroid/net/wifi/aware/IWifiAwareManager;->subscribe(Ljava/lang/String;ILandroid/net/wifi/aware/SubscribeConfig;Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback;)V
-Landroid/net/wifi/aware/IWifiAwareManager;->terminateSession(II)V
-Landroid/net/wifi/aware/IWifiAwareManager;->updatePublish(IILandroid/net/wifi/aware/PublishConfig;)V
-Landroid/net/wifi/aware/IWifiAwareManager;->updateSubscribe(IILandroid/net/wifi/aware/SubscribeConfig;)V
-Landroid/net/wifi/aware/PeerHandle;-><init>(I)V
-Landroid/net/wifi/aware/PeerHandle;->peerId:I
-Landroid/net/wifi/aware/PublishConfig$Builder;->mEnableRanging:Z
-Landroid/net/wifi/aware/PublishConfig$Builder;->mEnableTerminateNotification:Z
-Landroid/net/wifi/aware/PublishConfig$Builder;->mMatchFilter:[B
-Landroid/net/wifi/aware/PublishConfig$Builder;->mPublishType:I
-Landroid/net/wifi/aware/PublishConfig$Builder;->mServiceName:[B
-Landroid/net/wifi/aware/PublishConfig$Builder;->mServiceSpecificInfo:[B
-Landroid/net/wifi/aware/PublishConfig$Builder;->mTtlSec:I
-Landroid/net/wifi/aware/PublishConfig$PublishTypes;
-Landroid/net/wifi/aware/PublishConfig;-><init>([B[B[BIIZZ)V
-Landroid/net/wifi/aware/PublishConfig;->assertValid(Landroid/net/wifi/aware/Characteristics;Z)V
-Landroid/net/wifi/aware/PublishConfig;->mEnableRanging:Z
-Landroid/net/wifi/aware/PublishConfig;->mEnableTerminateNotification:Z
-Landroid/net/wifi/aware/PublishConfig;->mMatchFilter:[B
-Landroid/net/wifi/aware/PublishConfig;->mPublishType:I
-Landroid/net/wifi/aware/PublishConfig;->mServiceName:[B
-Landroid/net/wifi/aware/PublishConfig;->mServiceSpecificInfo:[B
-Landroid/net/wifi/aware/PublishConfig;->mTtlSec:I
-Landroid/net/wifi/aware/PublishDiscoverySession;-><init>(Landroid/net/wifi/aware/WifiAwareManager;II)V
-Landroid/net/wifi/aware/PublishDiscoverySession;->TAG:Ljava/lang/String;
-Landroid/net/wifi/aware/SubscribeConfig$Builder;->mEnableTerminateNotification:Z
-Landroid/net/wifi/aware/SubscribeConfig$Builder;->mMatchFilter:[B
-Landroid/net/wifi/aware/SubscribeConfig$Builder;->mMaxDistanceMm:I
-Landroid/net/wifi/aware/SubscribeConfig$Builder;->mMaxDistanceMmSet:Z
-Landroid/net/wifi/aware/SubscribeConfig$Builder;->mMinDistanceMm:I
-Landroid/net/wifi/aware/SubscribeConfig$Builder;->mMinDistanceMmSet:Z
-Landroid/net/wifi/aware/SubscribeConfig$Builder;->mServiceName:[B
-Landroid/net/wifi/aware/SubscribeConfig$Builder;->mServiceSpecificInfo:[B
-Landroid/net/wifi/aware/SubscribeConfig$Builder;->mSubscribeType:I
-Landroid/net/wifi/aware/SubscribeConfig$Builder;->mTtlSec:I
-Landroid/net/wifi/aware/SubscribeConfig$SubscribeTypes;
-Landroid/net/wifi/aware/SubscribeConfig;-><init>([B[B[BIIZZIZI)V
-Landroid/net/wifi/aware/SubscribeConfig;->assertValid(Landroid/net/wifi/aware/Characteristics;Z)V
-Landroid/net/wifi/aware/SubscribeConfig;->mEnableTerminateNotification:Z
-Landroid/net/wifi/aware/SubscribeConfig;->mMatchFilter:[B
-Landroid/net/wifi/aware/SubscribeConfig;->mMaxDistanceMm:I
-Landroid/net/wifi/aware/SubscribeConfig;->mMaxDistanceMmSet:Z
-Landroid/net/wifi/aware/SubscribeConfig;->mMinDistanceMm:I
-Landroid/net/wifi/aware/SubscribeConfig;->mMinDistanceMmSet:Z
-Landroid/net/wifi/aware/SubscribeConfig;->mServiceName:[B
-Landroid/net/wifi/aware/SubscribeConfig;->mServiceSpecificInfo:[B
-Landroid/net/wifi/aware/SubscribeConfig;->mSubscribeType:I
-Landroid/net/wifi/aware/SubscribeConfig;->mTtlSec:I
-Landroid/net/wifi/aware/SubscribeDiscoverySession;-><init>(Landroid/net/wifi/aware/WifiAwareManager;II)V
-Landroid/net/wifi/aware/SubscribeDiscoverySession;->TAG:Ljava/lang/String;
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;-><init>(II)V
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;->addHeader(II)V
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;->allocate(I)Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;->allocateAndPut(Ljava/util/List;)Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;->checkLength(I)V
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;->getActualLength()I
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;->getArray()[B
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;->mArray:[B
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;->mArrayLength:I
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;->mLengthSize:I
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;->mPosition:I
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;->mTypeSize:I
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;->putByte(IB)Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;->putByteArray(I[B)Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;->putByteArray(I[BII)Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;->putInt(II)Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;->putShort(IS)Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;->putString(ILjava/lang/String;)Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;->putZeroLengthElement(I)Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;
-Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;->wrap([B)Landroid/net/wifi/aware/TlvBufferUtils$TlvConstructor;
-Landroid/net/wifi/aware/TlvBufferUtils$TlvElement;
-Landroid/net/wifi/aware/TlvBufferUtils$TlvElement;-><init>(II[BI)V
-Landroid/net/wifi/aware/TlvBufferUtils$TlvElement;->getByte()B
-Landroid/net/wifi/aware/TlvBufferUtils$TlvElement;->getInt()I
-Landroid/net/wifi/aware/TlvBufferUtils$TlvElement;->getShort()S
-Landroid/net/wifi/aware/TlvBufferUtils$TlvElement;->getString()Ljava/lang/String;
-Landroid/net/wifi/aware/TlvBufferUtils$TlvElement;->length:I
-Landroid/net/wifi/aware/TlvBufferUtils$TlvElement;->offset:I
-Landroid/net/wifi/aware/TlvBufferUtils$TlvElement;->refArray:[B
-Landroid/net/wifi/aware/TlvBufferUtils$TlvElement;->type:I
-Landroid/net/wifi/aware/TlvBufferUtils$TlvIterable;
-Landroid/net/wifi/aware/TlvBufferUtils$TlvIterable;-><init>(II[B)V
-Landroid/net/wifi/aware/TlvBufferUtils$TlvIterable;->mArray:[B
-Landroid/net/wifi/aware/TlvBufferUtils$TlvIterable;->mArrayLength:I
-Landroid/net/wifi/aware/TlvBufferUtils$TlvIterable;->mLengthSize:I
-Landroid/net/wifi/aware/TlvBufferUtils$TlvIterable;->mTypeSize:I
-Landroid/net/wifi/aware/TlvBufferUtils$TlvIterable;->toList()Ljava/util/List;
-Landroid/net/wifi/aware/TlvBufferUtils;
-Landroid/net/wifi/aware/TlvBufferUtils;-><init>()V
-Landroid/net/wifi/aware/TlvBufferUtils;->isValid([BII)Z
-Landroid/net/wifi/aware/WifiAwareAgentNetworkSpecifier$ByteArrayWrapper;
-Landroid/net/wifi/aware/WifiAwareAgentNetworkSpecifier$ByteArrayWrapper;-><init>([B)V
-Landroid/net/wifi/aware/WifiAwareAgentNetworkSpecifier$ByteArrayWrapper;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/aware/WifiAwareAgentNetworkSpecifier$ByteArrayWrapper;->mData:[B
-Landroid/net/wifi/aware/WifiAwareAgentNetworkSpecifier;
-Landroid/net/wifi/aware/WifiAwareAgentNetworkSpecifier;-><init>()V
-Landroid/net/wifi/aware/WifiAwareAgentNetworkSpecifier;-><init>(Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;)V
-Landroid/net/wifi/aware/WifiAwareAgentNetworkSpecifier;-><init>([Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;)V
-Landroid/net/wifi/aware/WifiAwareAgentNetworkSpecifier;->assertValidFromUid(I)V
-Landroid/net/wifi/aware/WifiAwareAgentNetworkSpecifier;->convert(Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;)Landroid/net/wifi/aware/WifiAwareAgentNetworkSpecifier$ByteArrayWrapper;
-Landroid/net/wifi/aware/WifiAwareAgentNetworkSpecifier;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/aware/WifiAwareAgentNetworkSpecifier;->initialize()V
-Landroid/net/wifi/aware/WifiAwareAgentNetworkSpecifier;->isEmpty()Z
-Landroid/net/wifi/aware/WifiAwareAgentNetworkSpecifier;->mDigester:Ljava/security/MessageDigest;
-Landroid/net/wifi/aware/WifiAwareAgentNetworkSpecifier;->mNetworkSpecifiers:Ljava/util/Set;
-Landroid/net/wifi/aware/WifiAwareAgentNetworkSpecifier;->satisfiedBy(Landroid/net/NetworkSpecifier;)Z
-Landroid/net/wifi/aware/WifiAwareAgentNetworkSpecifier;->satisfiesAwareNetworkSpecifier(Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;)Z
-Landroid/net/wifi/aware/WifiAwareAgentNetworkSpecifier;->TAG:Ljava/lang/String;
-Landroid/net/wifi/aware/WifiAwareAgentNetworkSpecifier;->VDBG:Z
-Landroid/net/wifi/aware/WifiAwareManager$DataPathRole;
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;-><init>(Landroid/net/wifi/aware/WifiAwareManager;Landroid/os/Looper;ZLandroid/net/wifi/aware/DiscoverySessionCallback;I)V
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->CALLBACK_MATCH:I
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->CALLBACK_MATCH_WITH_DISTANCE:I
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->CALLBACK_MESSAGE_RECEIVED:I
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->CALLBACK_MESSAGE_SEND_FAIL:I
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->CALLBACK_MESSAGE_SEND_SUCCESS:I
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->CALLBACK_SESSION_CONFIG_FAIL:I
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->CALLBACK_SESSION_CONFIG_SUCCESS:I
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->CALLBACK_SESSION_STARTED:I
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->CALLBACK_SESSION_TERMINATED:I
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->mAwareManager:Ljava/lang/ref/WeakReference;
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->mClientId:I
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->MESSAGE_BUNDLE_KEY_MESSAGE2:Ljava/lang/String;
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->MESSAGE_BUNDLE_KEY_MESSAGE:Ljava/lang/String;
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->mHandler:Landroid/os/Handler;
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->mIsPublish:Z
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->mOriginalCallback:Landroid/net/wifi/aware/DiscoverySessionCallback;
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->mSession:Landroid/net/wifi/aware/DiscoverySession;
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->onMatch(I[B[B)V
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->onMatchCommon(II[B[BI)V
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->onMatchWithDistance(I[B[BI)V
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->onMessageReceived(I[B)V
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->onMessageSendFail(II)V
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->onMessageSendSuccess(I)V
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->onProxySessionStarted(I)V
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->onProxySessionTerminated(I)V
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->onSessionConfigFail(I)V
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->onSessionConfigSuccess()V
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->onSessionStarted(I)V
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy;->onSessionTerminated(I)V
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareEventCallbackProxy;
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareEventCallbackProxy;-><init>(Landroid/net/wifi/aware/WifiAwareManager;Landroid/os/Looper;Landroid/os/Binder;Landroid/net/wifi/aware/AttachCallback;Landroid/net/wifi/aware/IdentityChangedListener;)V
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareEventCallbackProxy;->CALLBACK_CONNECT_FAIL:I
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareEventCallbackProxy;->CALLBACK_CONNECT_SUCCESS:I
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareEventCallbackProxy;->CALLBACK_IDENTITY_CHANGED:I
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareEventCallbackProxy;->mAwareManager:Ljava/lang/ref/WeakReference;
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareEventCallbackProxy;->mBinder:Landroid/os/Binder;
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareEventCallbackProxy;->mHandler:Landroid/os/Handler;
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareEventCallbackProxy;->mLooper:Landroid/os/Looper;
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareEventCallbackProxy;->onConnectFail(I)V
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareEventCallbackProxy;->onConnectSuccess(I)V
-Landroid/net/wifi/aware/WifiAwareManager$WifiAwareEventCallbackProxy;->onIdentityChanged([B)V
-Landroid/net/wifi/aware/WifiAwareManager;-><init>(Landroid/content/Context;Landroid/net/wifi/aware/IWifiAwareManager;)V
-Landroid/net/wifi/aware/WifiAwareManager;->attach(Landroid/os/Handler;Landroid/net/wifi/aware/ConfigRequest;Landroid/net/wifi/aware/AttachCallback;Landroid/net/wifi/aware/IdentityChangedListener;)V
-Landroid/net/wifi/aware/WifiAwareManager;->createNetworkSpecifier(IIILandroid/net/wifi/aware/PeerHandle;[BLjava/lang/String;)Landroid/net/NetworkSpecifier;
-Landroid/net/wifi/aware/WifiAwareManager;->createNetworkSpecifier(II[B[BLjava/lang/String;)Landroid/net/NetworkSpecifier;
-Landroid/net/wifi/aware/WifiAwareManager;->DBG:Z
-Landroid/net/wifi/aware/WifiAwareManager;->disconnect(ILandroid/os/Binder;)V
-Landroid/net/wifi/aware/WifiAwareManager;->mContext:Landroid/content/Context;
-Landroid/net/wifi/aware/WifiAwareManager;->mLock:Ljava/lang/Object;
-Landroid/net/wifi/aware/WifiAwareManager;->mService:Landroid/net/wifi/aware/IWifiAwareManager;
-Landroid/net/wifi/aware/WifiAwareManager;->publish(ILandroid/os/Looper;Landroid/net/wifi/aware/PublishConfig;Landroid/net/wifi/aware/DiscoverySessionCallback;)V
-Landroid/net/wifi/aware/WifiAwareManager;->sendMessage(IILandroid/net/wifi/aware/PeerHandle;[BII)V
-Landroid/net/wifi/aware/WifiAwareManager;->subscribe(ILandroid/os/Looper;Landroid/net/wifi/aware/SubscribeConfig;Landroid/net/wifi/aware/DiscoverySessionCallback;)V
-Landroid/net/wifi/aware/WifiAwareManager;->TAG:Ljava/lang/String;
-Landroid/net/wifi/aware/WifiAwareManager;->terminateSession(II)V
-Landroid/net/wifi/aware/WifiAwareManager;->updatePublish(IILandroid/net/wifi/aware/PublishConfig;)V
-Landroid/net/wifi/aware/WifiAwareManager;->updateSubscribe(IILandroid/net/wifi/aware/SubscribeConfig;)V
-Landroid/net/wifi/aware/WifiAwareManager;->VDBG:Z
-Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;
-Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;-><init>(IIIII[B[BLjava/lang/String;I)V
-Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;->assertValidFromUid(I)V
-Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;->clientId:I
-Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;->isOutOfBand()Z
-Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;->NETWORK_SPECIFIER_TYPE_IB:I
-Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;->NETWORK_SPECIFIER_TYPE_IB_ANY_PEER:I
-Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;->NETWORK_SPECIFIER_TYPE_MAX_VALID:I
-Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;->NETWORK_SPECIFIER_TYPE_OOB:I
-Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;->NETWORK_SPECIFIER_TYPE_OOB_ANY_PEER:I
-Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;->passphrase:Ljava/lang/String;
-Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;->peerId:I
-Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;->peerMac:[B
-Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;->pmk:[B
-Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;->requestorUid:I
-Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;->role:I
-Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;->satisfiedBy(Landroid/net/NetworkSpecifier;)Z
-Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;->sessionId:I
-Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;->type:I
-Landroid/net/wifi/aware/WifiAwareSession;-><init>(Landroid/net/wifi/aware/WifiAwareManager;Landroid/os/Binder;I)V
-Landroid/net/wifi/aware/WifiAwareSession;->DBG:Z
-Landroid/net/wifi/aware/WifiAwareSession;->getClientId()I
-Landroid/net/wifi/aware/WifiAwareSession;->mBinder:Landroid/os/Binder;
-Landroid/net/wifi/aware/WifiAwareSession;->mClientId:I
-Landroid/net/wifi/aware/WifiAwareSession;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/net/wifi/aware/WifiAwareSession;->mMgr:Ljava/lang/ref/WeakReference;
-Landroid/net/wifi/aware/WifiAwareSession;->mTerminated:Z
-Landroid/net/wifi/aware/WifiAwareSession;->TAG:Ljava/lang/String;
-Landroid/net/wifi/aware/WifiAwareSession;->VDBG:Z
-Landroid/net/wifi/aware/WifiAwareUtils;
-Landroid/net/wifi/aware/WifiAwareUtils;-><init>()V
-Landroid/net/wifi/aware/WifiAwareUtils;->isLegacyVersion(Landroid/content/Context;I)Z
-Landroid/net/wifi/aware/WifiAwareUtils;->validatePassphrase(Ljava/lang/String;)Z
-Landroid/net/wifi/aware/WifiAwareUtils;->validatePmk([B)Z
-Landroid/net/wifi/aware/WifiAwareUtils;->validateServiceName([B)V
-Landroid/net/wifi/BatchedScanResult;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/BatchedScanResult;->TAG:Ljava/lang/String;
-Landroid/net/wifi/EAPConstants;
-Landroid/net/wifi/EAPConstants;-><init>()V
-Landroid/net/wifi/EAPConstants;->EAP_3Com:I
-Landroid/net/wifi/EAPConstants;->EAP_ActiontecWireless:I
-Landroid/net/wifi/EAPConstants;->EAP_AKA:I
-Landroid/net/wifi/EAPConstants;->EAP_AKA_PRIME:I
-Landroid/net/wifi/EAPConstants;->EAP_EKE:I
-Landroid/net/wifi/EAPConstants;->EAP_FAST:I
-Landroid/net/wifi/EAPConstants;->EAP_GPSK:I
-Landroid/net/wifi/EAPConstants;->EAP_HTTPDigest:I
-Landroid/net/wifi/EAPConstants;->EAP_IKEv2:I
-Landroid/net/wifi/EAPConstants;->EAP_KEA:I
-Landroid/net/wifi/EAPConstants;->EAP_KEA_VALIDATE:I
-Landroid/net/wifi/EAPConstants;->EAP_LEAP:I
-Landroid/net/wifi/EAPConstants;->EAP_Link:I
-Landroid/net/wifi/EAPConstants;->EAP_MD5:I
-Landroid/net/wifi/EAPConstants;->EAP_MOBAC:I
-Landroid/net/wifi/EAPConstants;->EAP_MSCHAPv2:I
-Landroid/net/wifi/EAPConstants;->EAP_OTP:I
-Landroid/net/wifi/EAPConstants;->EAP_PAX:I
-Landroid/net/wifi/EAPConstants;->EAP_PEAP:I
-Landroid/net/wifi/EAPConstants;->EAP_POTP:I
-Landroid/net/wifi/EAPConstants;->EAP_PSK:I
-Landroid/net/wifi/EAPConstants;->EAP_PWD:I
-Landroid/net/wifi/EAPConstants;->EAP_RSA:I
-Landroid/net/wifi/EAPConstants;->EAP_SAKE:I
-Landroid/net/wifi/EAPConstants;->EAP_SIM:I
-Landroid/net/wifi/EAPConstants;->EAP_SPEKE:I
-Landroid/net/wifi/EAPConstants;->EAP_TEAP:I
-Landroid/net/wifi/EAPConstants;->EAP_TLS:I
-Landroid/net/wifi/EAPConstants;->EAP_TTLS:I
-Landroid/net/wifi/EAPConstants;->EAP_ZLXEAP:I
-Landroid/net/wifi/hotspot2/ConfigParser$MimeHeader;
-Landroid/net/wifi/hotspot2/ConfigParser$MimeHeader;-><init>()V
-Landroid/net/wifi/hotspot2/ConfigParser$MimeHeader;->boundary:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/ConfigParser$MimeHeader;->contentType:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/ConfigParser$MimeHeader;->encodingType:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/ConfigParser$MimePart;
-Landroid/net/wifi/hotspot2/ConfigParser$MimePart;-><init>()V
-Landroid/net/wifi/hotspot2/ConfigParser$MimePart;->data:[B
-Landroid/net/wifi/hotspot2/ConfigParser$MimePart;->isLast:Z
-Landroid/net/wifi/hotspot2/ConfigParser$MimePart;->type:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/ConfigParser;-><init>()V
-Landroid/net/wifi/hotspot2/ConfigParser;->BOUNDARY:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/ConfigParser;->CONTENT_TRANSFER_ENCODING:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/ConfigParser;->CONTENT_TYPE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/ConfigParser;->createPasspointConfig(Ljava/util/Map;)Landroid/net/wifi/hotspot2/PasspointConfiguration;
-Landroid/net/wifi/hotspot2/ConfigParser;->ENCODING_BASE64:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/ConfigParser;->parseCACert([B)Ljava/security/cert/X509Certificate;
-Landroid/net/wifi/hotspot2/ConfigParser;->parseContentType(Ljava/lang/String;)Landroid/util/Pair;
-Landroid/net/wifi/hotspot2/ConfigParser;->parseHeaders(Ljava/io/LineNumberReader;)Landroid/net/wifi/hotspot2/ConfigParser$MimeHeader;
-Landroid/net/wifi/hotspot2/ConfigParser;->parseMimeMultipartMessage(Ljava/io/LineNumberReader;)Ljava/util/Map;
-Landroid/net/wifi/hotspot2/ConfigParser;->parseMimePart(Ljava/io/LineNumberReader;Ljava/lang/String;)Landroid/net/wifi/hotspot2/ConfigParser$MimePart;
-Landroid/net/wifi/hotspot2/ConfigParser;->parsePkcs12([B)Landroid/util/Pair;
-Landroid/net/wifi/hotspot2/ConfigParser;->readHeaders(Ljava/io/LineNumberReader;)Ljava/util/Map;
-Landroid/net/wifi/hotspot2/ConfigParser;->TAG:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/ConfigParser;->TYPE_CA_CERT:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/ConfigParser;->TYPE_MULTIPART_MIXED:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/ConfigParser;->TYPE_PASSPOINT_PROFILE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/ConfigParser;->TYPE_PKCS12:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/ConfigParser;->TYPE_WIFI_CONFIG:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/IProvisioningCallback$Stub$Proxy;
-Landroid/net/wifi/hotspot2/IProvisioningCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/wifi/hotspot2/IProvisioningCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/IProvisioningCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/wifi/hotspot2/IProvisioningCallback$Stub$Proxy;->onProvisioningFailure(I)V
-Landroid/net/wifi/hotspot2/IProvisioningCallback$Stub$Proxy;->onProvisioningStatus(I)V
-Landroid/net/wifi/hotspot2/IProvisioningCallback$Stub;
-Landroid/net/wifi/hotspot2/IProvisioningCallback$Stub;-><init>()V
-Landroid/net/wifi/hotspot2/IProvisioningCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/hotspot2/IProvisioningCallback;
-Landroid/net/wifi/hotspot2/IProvisioningCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/IProvisioningCallback$Stub;->TRANSACTION_onProvisioningFailure:I
-Landroid/net/wifi/hotspot2/IProvisioningCallback$Stub;->TRANSACTION_onProvisioningStatus:I
-Landroid/net/wifi/hotspot2/IProvisioningCallback;
-Landroid/net/wifi/hotspot2/IProvisioningCallback;->onProvisioningFailure(I)V
-Landroid/net/wifi/hotspot2/IProvisioningCallback;->onProvisioningStatus(I)V
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$InternalNode;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$InternalNode;-><init>(Ljava/lang/String;Ljava/util/List;)V
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$InternalNode;->getChildren()Ljava/util/List;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$InternalNode;->getValue()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$InternalNode;->isLeaf()Z
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$InternalNode;->mChildren:Ljava/util/List;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$LeafNode;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$LeafNode;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$LeafNode;->getChildren()Ljava/util/List;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$LeafNode;->getValue()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$LeafNode;->isLeaf()Z
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$LeafNode;->mValue:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$ParsingException;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$ParsingException;-><init>(Ljava/lang/String;)V
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;-><init>(Ljava/lang/String;)V
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;->getChildren()Ljava/util/List;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;->getName()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;->getValue()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;->isLeaf()Z
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;->mName:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;-><init>()V
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->buildPpsNode(Landroid/net/wifi/hotspot2/omadm/XMLNode;)Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->convertFromLongList(Ljava/util/List;)[J
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->getPpsNodeValue(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_AAA_SERVER_TRUST_ROOT:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_ABLE_TO_SHARE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_CERTIFICATE_TYPE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_CERT_SHA256_FINGERPRINT:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_CERT_URL:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_CHECK_AAA_SERVER_CERT_STATUS:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_COUNTRY:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_CREATION_DATE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_CREDENTIAL:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_CREDENTIAL_PRIORITY:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_DATA_LIMIT:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_DIGITAL_CERTIFICATE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_DOWNLINK_BANDWIDTH:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_EAP_METHOD:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_EAP_TYPE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_EXPIRATION_DATE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_EXTENSION:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_FQDN:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_FQDN_MATCH:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_FRIENDLY_NAME:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_HESSID:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_HOMESP:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_HOME_OI:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_HOME_OI_LIST:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_HOME_OI_REQUIRED:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_ICON_URL:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_INNER_EAP_TYPE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_INNER_METHOD:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_INNER_VENDOR_ID:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_INNER_VENDOR_TYPE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_IP_PROTOCOL:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_MACHINE_MANAGED:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_MAXIMUM_BSS_LOAD_VALUE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_MIN_BACKHAUL_THRESHOLD:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_NETWORK_ID:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_NETWORK_TYPE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_OTHER:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_OTHER_HOME_PARTNERS:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_PASSWORD:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_PER_PROVIDER_SUBSCRIPTION:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_POLICY:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_POLICY_UPDATE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_PORT_NUMBER:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_PREFERRED_ROAMING_PARTNER_LIST:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_PRIORITY:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_REALM:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_REQUIRED_PROTO_PORT_TUPLE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_RESTRICTION:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_ROAMING_CONSORTIUM_OI:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_SIM:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_SIM_IMSI:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_SOFT_TOKEN_APP:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_SP_EXCLUSION_LIST:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_SSID:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_START_DATE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_SUBSCRIPTION_PARAMETER:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_SUBSCRIPTION_UPDATE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_TIME_LIMIT:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_TRUST_ROOT:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_TYPE_OF_SUBSCRIPTION:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_UPDATE_IDENTIFIER:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_UPDATE_INTERVAL:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_UPDATE_METHOD:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_UPLINK_BANDWIDTH:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_URI:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_USAGE_LIMITS:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_USAGE_TIME_PERIOD:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_USERNAME:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_USERNAME_PASSWORD:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_VENDOR_ID:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->NODE_VENDOR_TYPE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseAAAServerTrustRootList(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Ljava/util/Map;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseCertificateCredential(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Landroid/net/wifi/hotspot2/pps/Credential$CertificateCredential;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseCredential(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Landroid/net/wifi/hotspot2/pps/Credential;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseDate(Ljava/lang/String;)J
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseEAPMethod(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;)V
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseHexString(Ljava/lang/String;)[B
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseHomeOIInstance(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Landroid/util/Pair;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseHomeOIList(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Landroid/util/Pair;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseHomeSP(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Landroid/net/wifi/hotspot2/pps/HomeSp;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseInteger(Ljava/lang/String;)I
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseLong(Ljava/lang/String;I)J
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseMinBackhaulThreshold(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;Landroid/net/wifi/hotspot2/pps/Policy;)V
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseMinBackhaulThresholdInstance(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;Landroid/net/wifi/hotspot2/pps/Policy;)V
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseNetworkIdInstance(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Landroid/util/Pair;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseNetworkIds(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Ljava/util/Map;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseOtherHomePartnerInstance(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseOtherHomePartners(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)[Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parsePolicy(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Landroid/net/wifi/hotspot2/pps/Policy;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parsePpsInstance(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Landroid/net/wifi/hotspot2/PasspointConfiguration;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parsePpsNode(Landroid/net/wifi/hotspot2/omadm/XMLNode;)Landroid/net/wifi/hotspot2/PasspointConfiguration;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parsePreferredRoamingPartner(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Landroid/net/wifi/hotspot2/pps/Policy$RoamingPartner;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parsePreferredRoamingPartnerList(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Ljava/util/List;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseProtoPortTuple(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Landroid/util/Pair;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseRequiredProtoPortTuple(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Ljava/util/Map;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseRoamingConsortiumOI(Ljava/lang/String;)[J
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseSimCredential(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Landroid/net/wifi/hotspot2/pps/Credential$SimCredential;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseSpExclusionInstance(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseSpExclusionList(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)[Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseSubscriptionParameter(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;Landroid/net/wifi/hotspot2/PasspointConfiguration;)V
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseTrustRoot(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Landroid/util/Pair;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseUpdateParameter(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Landroid/net/wifi/hotspot2/pps/UpdateParameter;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseUpdateUserCredential(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Landroid/util/Pair;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseUrn(Landroid/net/wifi/hotspot2/omadm/XMLNode;)Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseUsageLimits(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;Landroid/net/wifi/hotspot2/PasspointConfiguration;)V
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->parseUserCredential(Landroid/net/wifi/hotspot2/omadm/PpsMoParser$PPSNode;)Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->PPS_MO_URN:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->TAG:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->TAG_DDF_NAME:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->TAG_MANAGEMENT_TREE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->TAG_NODE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->TAG_NODE_NAME:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->TAG_RT_PROPERTIES:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->TAG_TYPE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->TAG_VALUE:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/PpsMoParser;->TAG_VER_DTD:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/XMLNode;
-Landroid/net/wifi/hotspot2/omadm/XMLNode;-><init>(Landroid/net/wifi/hotspot2/omadm/XMLNode;Ljava/lang/String;)V
-Landroid/net/wifi/hotspot2/omadm/XMLNode;->addChild(Landroid/net/wifi/hotspot2/omadm/XMLNode;)V
-Landroid/net/wifi/hotspot2/omadm/XMLNode;->addText(Ljava/lang/String;)V
-Landroid/net/wifi/hotspot2/omadm/XMLNode;->close()V
-Landroid/net/wifi/hotspot2/omadm/XMLNode;->getChildren()Ljava/util/List;
-Landroid/net/wifi/hotspot2/omadm/XMLNode;->getParent()Landroid/net/wifi/hotspot2/omadm/XMLNode;
-Landroid/net/wifi/hotspot2/omadm/XMLNode;->getTag()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/XMLNode;->getText()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/XMLNode;->mChildren:Ljava/util/List;
-Landroid/net/wifi/hotspot2/omadm/XMLNode;->mParent:Landroid/net/wifi/hotspot2/omadm/XMLNode;
-Landroid/net/wifi/hotspot2/omadm/XMLNode;->mTag:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/XMLNode;->mText:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/omadm/XMLNode;->mTextBuilder:Ljava/lang/StringBuilder;
-Landroid/net/wifi/hotspot2/omadm/XMLParser;
-Landroid/net/wifi/hotspot2/omadm/XMLParser;-><init>()V
-Landroid/net/wifi/hotspot2/omadm/XMLParser;->mCurrent:Landroid/net/wifi/hotspot2/omadm/XMLNode;
-Landroid/net/wifi/hotspot2/omadm/XMLParser;->mRoot:Landroid/net/wifi/hotspot2/omadm/XMLNode;
-Landroid/net/wifi/hotspot2/omadm/XMLParser;->parse(Ljava/lang/String;)Landroid/net/wifi/hotspot2/omadm/XMLNode;
-Landroid/net/wifi/hotspot2/OsuProvider;
-Landroid/net/wifi/hotspot2/OsuProvider;-><init>(Landroid/net/wifi/hotspot2/OsuProvider;)V
-Landroid/net/wifi/hotspot2/OsuProvider;-><init>(Landroid/net/wifi/WifiSsid;Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Ljava/util/List;Landroid/graphics/drawable/Icon;)V
-Landroid/net/wifi/hotspot2/OsuProvider;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/hotspot2/OsuProvider;->getFriendlyName()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/OsuProvider;->getIcon()Landroid/graphics/drawable/Icon;
-Landroid/net/wifi/hotspot2/OsuProvider;->getMethodList()Ljava/util/List;
-Landroid/net/wifi/hotspot2/OsuProvider;->getNetworkAccessIdentifier()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/OsuProvider;->getOsuSsid()Landroid/net/wifi/WifiSsid;
-Landroid/net/wifi/hotspot2/OsuProvider;->getServerUri()Landroid/net/Uri;
-Landroid/net/wifi/hotspot2/OsuProvider;->getServiceDescription()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/OsuProvider;->METHOD_OMA_DM:I
-Landroid/net/wifi/hotspot2/OsuProvider;->METHOD_SOAP_XML_SPP:I
-Landroid/net/wifi/hotspot2/OsuProvider;->mFriendlyName:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/OsuProvider;->mIcon:Landroid/graphics/drawable/Icon;
-Landroid/net/wifi/hotspot2/OsuProvider;->mMethodList:Ljava/util/List;
-Landroid/net/wifi/hotspot2/OsuProvider;->mNetworkAccessIdentifier:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/OsuProvider;->mOsuSsid:Landroid/net/wifi/WifiSsid;
-Landroid/net/wifi/hotspot2/OsuProvider;->mServerUri:Landroid/net/Uri;
-Landroid/net/wifi/hotspot2/OsuProvider;->mServiceDescription:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->CERTIFICATE_SHA256_BYTES:I
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->getCredentialPriority()I
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->getPolicy()Landroid/net/wifi/hotspot2/pps/Policy;
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->getSubscriptionCreationTimeInMillis()J
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->getSubscriptionExpirationTimeInMillis()J
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->getSubscriptionType()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->getSubscriptionUpdate()Landroid/net/wifi/hotspot2/pps/UpdateParameter;
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->getTrustRootCertList()Ljava/util/Map;
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->getUpdateIdentifier()I
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->getUsageLimitDataLimit()J
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->getUsageLimitStartTimeInMillis()J
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->getUsageLimitTimeLimitInMinutes()J
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->getUsageLimitUsageTimePeriodInMinutes()J
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->isTrustRootCertListEquals(Ljava/util/Map;Ljava/util/Map;)Z
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->MAX_URL_BYTES:I
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->mCredential:Landroid/net/wifi/hotspot2/pps/Credential;
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->mCredentialPriority:I
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->mHomeSp:Landroid/net/wifi/hotspot2/pps/HomeSp;
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->mPolicy:Landroid/net/wifi/hotspot2/pps/Policy;
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->mSubscriptionCreationTimeInMillis:J
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->mSubscriptionExpirationTimeInMillis:J
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->mSubscriptionType:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->mSubscriptionUpdate:Landroid/net/wifi/hotspot2/pps/UpdateParameter;
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->mTrustRootCertList:Ljava/util/Map;
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->mUpdateIdentifier:I
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->mUsageLimitDataLimit:J
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->mUsageLimitStartTimeInMillis:J
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->mUsageLimitTimeLimitInMinutes:J
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->mUsageLimitUsageTimePeriodInMinutes:J
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->NULL_VALUE:I
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->setCredentialPriority(I)V
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->setPolicy(Landroid/net/wifi/hotspot2/pps/Policy;)V
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->setSubscriptionCreationTimeInMillis(J)V
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->setSubscriptionExpirationTimeInMillis(J)V
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->setSubscriptionType(Ljava/lang/String;)V
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->setSubscriptionUpdate(Landroid/net/wifi/hotspot2/pps/UpdateParameter;)V
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->setTrustRootCertList(Ljava/util/Map;)V
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->setUpdateIdentifier(I)V
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->setUsageLimitDataLimit(J)V
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->setUsageLimitStartTimeInMillis(J)V
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->setUsageLimitTimeLimitInMinutes(J)V
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->setUsageLimitUsageTimePeriodInMinutes(J)V
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->TAG:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->validate()Z
-Landroid/net/wifi/hotspot2/PasspointConfiguration;->writeTrustRootCerts(Landroid/os/Parcel;Ljava/util/Map;)V
-Landroid/net/wifi/hotspot2/pps/Credential$CertificateCredential;->CERT_SHA256_FINGER_PRINT_LENGTH:I
-Landroid/net/wifi/hotspot2/pps/Credential$CertificateCredential;->CERT_TYPE_X509V3:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/Credential$CertificateCredential;->mCertSha256Fingerprint:[B
-Landroid/net/wifi/hotspot2/pps/Credential$CertificateCredential;->mCertType:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/Credential$CertificateCredential;->validate()Z
-Landroid/net/wifi/hotspot2/pps/Credential$SimCredential;->MAX_IMSI_LENGTH:I
-Landroid/net/wifi/hotspot2/pps/Credential$SimCredential;->mEapType:I
-Landroid/net/wifi/hotspot2/pps/Credential$SimCredential;->mImsi:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/Credential$SimCredential;->validate()Z
-Landroid/net/wifi/hotspot2/pps/Credential$SimCredential;->verifyImsi()Z
-Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;->AUTH_METHOD_MSCHAP:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;->AUTH_METHOD_MSCHAPV2:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;->AUTH_METHOD_PAP:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;->getAbleToShare()Z
-Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;->getMachineManaged()Z
-Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;->getSoftTokenApp()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;->mAbleToShare:Z
-Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;->MAX_PASSWORD_BYTES:I
-Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;->MAX_USERNAME_BYTES:I
-Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;->mEapType:I
-Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;->mMachineManaged:Z
-Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;->mNonEapInnerMethod:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;->mPassword:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;->mSoftTokenApp:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;->mUsername:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;->setAbleToShare(Z)V
-Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;->setMachineManaged(Z)V
-Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;->setSoftTokenApp(Ljava/lang/String;)V
-Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;->SUPPORTED_AUTH:Ljava/util/Set;
-Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;->validate()Z
-Landroid/net/wifi/hotspot2/pps/Credential;->getCheckAaaServerCertStatus()Z
-Landroid/net/wifi/hotspot2/pps/Credential;->getCreationTimeInMillis()J
-Landroid/net/wifi/hotspot2/pps/Credential;->getExpirationTimeInMillis()J
-Landroid/net/wifi/hotspot2/pps/Credential;->isPrivateKeyEquals(Ljava/security/PrivateKey;Ljava/security/PrivateKey;)Z
-Landroid/net/wifi/hotspot2/pps/Credential;->isX509CertificateEquals(Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;)Z
-Landroid/net/wifi/hotspot2/pps/Credential;->isX509CertificatesEquals([Ljava/security/cert/X509Certificate;[Ljava/security/cert/X509Certificate;)Z
-Landroid/net/wifi/hotspot2/pps/Credential;->MAX_REALM_BYTES:I
-Landroid/net/wifi/hotspot2/pps/Credential;->mCaCertificate:Ljava/security/cert/X509Certificate;
-Landroid/net/wifi/hotspot2/pps/Credential;->mCertCredential:Landroid/net/wifi/hotspot2/pps/Credential$CertificateCredential;
-Landroid/net/wifi/hotspot2/pps/Credential;->mCheckAaaServerCertStatus:Z
-Landroid/net/wifi/hotspot2/pps/Credential;->mClientCertificateChain:[Ljava/security/cert/X509Certificate;
-Landroid/net/wifi/hotspot2/pps/Credential;->mClientPrivateKey:Ljava/security/PrivateKey;
-Landroid/net/wifi/hotspot2/pps/Credential;->mCreationTimeInMillis:J
-Landroid/net/wifi/hotspot2/pps/Credential;->mExpirationTimeInMillis:J
-Landroid/net/wifi/hotspot2/pps/Credential;->mRealm:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/Credential;->mSimCredential:Landroid/net/wifi/hotspot2/pps/Credential$SimCredential;
-Landroid/net/wifi/hotspot2/pps/Credential;->mUserCredential:Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;
-Landroid/net/wifi/hotspot2/pps/Credential;->setCheckAaaServerCertStatus(Z)V
-Landroid/net/wifi/hotspot2/pps/Credential;->setCreationTimeInMillis(J)V
-Landroid/net/wifi/hotspot2/pps/Credential;->setExpirationTimeInMillis(J)V
-Landroid/net/wifi/hotspot2/pps/Credential;->TAG:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/Credential;->validate()Z
-Landroid/net/wifi/hotspot2/pps/Credential;->verifyCertCredential()Z
-Landroid/net/wifi/hotspot2/pps/Credential;->verifySha256Fingerprint([Ljava/security/cert/X509Certificate;[B)Z
-Landroid/net/wifi/hotspot2/pps/Credential;->verifySimCredential()Z
-Landroid/net/wifi/hotspot2/pps/Credential;->verifyUserCredential()Z
-Landroid/net/wifi/hotspot2/pps/HomeSp;->getHomeNetworkIds()Ljava/util/Map;
-Landroid/net/wifi/hotspot2/pps/HomeSp;->getIconUrl()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/HomeSp;->getMatchAllOis()[J
-Landroid/net/wifi/hotspot2/pps/HomeSp;->getMatchAnyOis()[J
-Landroid/net/wifi/hotspot2/pps/HomeSp;->getOtherHomePartners()[Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/HomeSp;->MAX_SSID_BYTES:I
-Landroid/net/wifi/hotspot2/pps/HomeSp;->mFqdn:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/HomeSp;->mFriendlyName:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/HomeSp;->mHomeNetworkIds:Ljava/util/Map;
-Landroid/net/wifi/hotspot2/pps/HomeSp;->mIconUrl:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/HomeSp;->mMatchAllOis:[J
-Landroid/net/wifi/hotspot2/pps/HomeSp;->mMatchAnyOis:[J
-Landroid/net/wifi/hotspot2/pps/HomeSp;->mOtherHomePartners:[Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/HomeSp;->mRoamingConsortiumOis:[J
-Landroid/net/wifi/hotspot2/pps/HomeSp;->NULL_VALUE:I
-Landroid/net/wifi/hotspot2/pps/HomeSp;->setHomeNetworkIds(Ljava/util/Map;)V
-Landroid/net/wifi/hotspot2/pps/HomeSp;->setIconUrl(Ljava/lang/String;)V
-Landroid/net/wifi/hotspot2/pps/HomeSp;->setMatchAllOis([J)V
-Landroid/net/wifi/hotspot2/pps/HomeSp;->setMatchAnyOis([J)V
-Landroid/net/wifi/hotspot2/pps/HomeSp;->setOtherHomePartners([Ljava/lang/String;)V
-Landroid/net/wifi/hotspot2/pps/HomeSp;->TAG:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/HomeSp;->validate()Z
-Landroid/net/wifi/hotspot2/pps/HomeSp;->writeHomeNetworkIds(Landroid/os/Parcel;Ljava/util/Map;)V
-Landroid/net/wifi/hotspot2/pps/Policy$RoamingPartner;
-Landroid/net/wifi/hotspot2/pps/Policy$RoamingPartner;-><init>()V
-Landroid/net/wifi/hotspot2/pps/Policy$RoamingPartner;-><init>(Landroid/net/wifi/hotspot2/pps/Policy$RoamingPartner;)V
-Landroid/net/wifi/hotspot2/pps/Policy$RoamingPartner;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/hotspot2/pps/Policy$RoamingPartner;->getCountries()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/Policy$RoamingPartner;->getFqdn()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/Policy$RoamingPartner;->getFqdnExactMatch()Z
-Landroid/net/wifi/hotspot2/pps/Policy$RoamingPartner;->getPriority()I
-Landroid/net/wifi/hotspot2/pps/Policy$RoamingPartner;->mCountries:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/Policy$RoamingPartner;->mFqdn:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/Policy$RoamingPartner;->mFqdnExactMatch:Z
-Landroid/net/wifi/hotspot2/pps/Policy$RoamingPartner;->mPriority:I
-Landroid/net/wifi/hotspot2/pps/Policy$RoamingPartner;->setCountries(Ljava/lang/String;)V
-Landroid/net/wifi/hotspot2/pps/Policy$RoamingPartner;->setFqdn(Ljava/lang/String;)V
-Landroid/net/wifi/hotspot2/pps/Policy$RoamingPartner;->setFqdnExactMatch(Z)V
-Landroid/net/wifi/hotspot2/pps/Policy$RoamingPartner;->setPriority(I)V
-Landroid/net/wifi/hotspot2/pps/Policy$RoamingPartner;->validate()Z
-Landroid/net/wifi/hotspot2/pps/Policy;
-Landroid/net/wifi/hotspot2/pps/Policy;-><init>()V
-Landroid/net/wifi/hotspot2/pps/Policy;-><init>(Landroid/net/wifi/hotspot2/pps/Policy;)V
-Landroid/net/wifi/hotspot2/pps/Policy;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/hotspot2/pps/Policy;->getExcludedSsidList()[Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/Policy;->getMaximumBssLoadValue()I
-Landroid/net/wifi/hotspot2/pps/Policy;->getMinHomeDownlinkBandwidth()J
-Landroid/net/wifi/hotspot2/pps/Policy;->getMinHomeUplinkBandwidth()J
-Landroid/net/wifi/hotspot2/pps/Policy;->getMinRoamingDownlinkBandwidth()J
-Landroid/net/wifi/hotspot2/pps/Policy;->getMinRoamingUplinkBandwidth()J
-Landroid/net/wifi/hotspot2/pps/Policy;->getPolicyUpdate()Landroid/net/wifi/hotspot2/pps/UpdateParameter;
-Landroid/net/wifi/hotspot2/pps/Policy;->getPreferredRoamingPartnerList()Ljava/util/List;
-Landroid/net/wifi/hotspot2/pps/Policy;->getRequiredProtoPortMap()Ljava/util/Map;
-Landroid/net/wifi/hotspot2/pps/Policy;->MAX_EXCLUSION_SSIDS:I
-Landroid/net/wifi/hotspot2/pps/Policy;->MAX_PORT_STRING_BYTES:I
-Landroid/net/wifi/hotspot2/pps/Policy;->MAX_SSID_BYTES:I
-Landroid/net/wifi/hotspot2/pps/Policy;->mExcludedSsidList:[Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/Policy;->mMaximumBssLoadValue:I
-Landroid/net/wifi/hotspot2/pps/Policy;->mMinHomeDownlinkBandwidth:J
-Landroid/net/wifi/hotspot2/pps/Policy;->mMinHomeUplinkBandwidth:J
-Landroid/net/wifi/hotspot2/pps/Policy;->mMinRoamingDownlinkBandwidth:J
-Landroid/net/wifi/hotspot2/pps/Policy;->mMinRoamingUplinkBandwidth:J
-Landroid/net/wifi/hotspot2/pps/Policy;->mPolicyUpdate:Landroid/net/wifi/hotspot2/pps/UpdateParameter;
-Landroid/net/wifi/hotspot2/pps/Policy;->mPreferredRoamingPartnerList:Ljava/util/List;
-Landroid/net/wifi/hotspot2/pps/Policy;->mRequiredProtoPortMap:Ljava/util/Map;
-Landroid/net/wifi/hotspot2/pps/Policy;->NULL_VALUE:I
-Landroid/net/wifi/hotspot2/pps/Policy;->setExcludedSsidList([Ljava/lang/String;)V
-Landroid/net/wifi/hotspot2/pps/Policy;->setMaximumBssLoadValue(I)V
-Landroid/net/wifi/hotspot2/pps/Policy;->setMinHomeDownlinkBandwidth(J)V
-Landroid/net/wifi/hotspot2/pps/Policy;->setMinHomeUplinkBandwidth(J)V
-Landroid/net/wifi/hotspot2/pps/Policy;->setMinRoamingDownlinkBandwidth(J)V
-Landroid/net/wifi/hotspot2/pps/Policy;->setMinRoamingUplinkBandwidth(J)V
-Landroid/net/wifi/hotspot2/pps/Policy;->setPolicyUpdate(Landroid/net/wifi/hotspot2/pps/UpdateParameter;)V
-Landroid/net/wifi/hotspot2/pps/Policy;->setPreferredRoamingPartnerList(Ljava/util/List;)V
-Landroid/net/wifi/hotspot2/pps/Policy;->setRequiredProtoPortMap(Ljava/util/Map;)V
-Landroid/net/wifi/hotspot2/pps/Policy;->TAG:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/Policy;->validate()Z
-Landroid/net/wifi/hotspot2/pps/Policy;->writeProtoPortMap(Landroid/os/Parcel;Ljava/util/Map;)V
-Landroid/net/wifi/hotspot2/pps/Policy;->writeRoamingPartnerList(Landroid/os/Parcel;ILjava/util/List;)V
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;-><init>()V
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;-><init>(Landroid/net/wifi/hotspot2/pps/UpdateParameter;)V
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->CERTIFICATE_SHA256_BYTES:I
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->getBase64EncodedPassword()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->getRestriction()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->getServerUri()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->getTrustRootCertSha256Fingerprint()[B
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->getTrustRootCertUrl()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->getUpdateIntervalInMinutes()J
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->getUpdateMethod()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->getUsername()Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->MAX_PASSWORD_BYTES:I
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->MAX_URI_BYTES:I
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->MAX_URL_BYTES:I
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->MAX_USERNAME_BYTES:I
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->mBase64EncodedPassword:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->mRestriction:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->mServerUri:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->mTrustRootCertSha256Fingerprint:[B
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->mTrustRootCertUrl:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->mUpdateIntervalInMinutes:J
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->mUpdateMethod:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->mUsername:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->setBase64EncodedPassword(Ljava/lang/String;)V
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->setRestriction(Ljava/lang/String;)V
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->setServerUri(Ljava/lang/String;)V
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->setTrustRootCertSha256Fingerprint([B)V
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->setTrustRootCertUrl(Ljava/lang/String;)V
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->setUpdateIntervalInMinutes(J)V
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->setUpdateMethod(Ljava/lang/String;)V
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->setUsername(Ljava/lang/String;)V
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->TAG:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->UPDATE_CHECK_INTERVAL_NEVER:J
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->UPDATE_METHOD_OMADM:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->UPDATE_METHOD_SSP:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->UPDATE_RESTRICTION_HOMESP:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->UPDATE_RESTRICTION_ROAMING_PARTNER:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->UPDATE_RESTRICTION_UNRESTRICTED:Ljava/lang/String;
-Landroid/net/wifi/hotspot2/pps/UpdateParameter;->validate()Z
-Landroid/net/wifi/hotspot2/ProvisioningCallback;
-Landroid/net/wifi/hotspot2/ProvisioningCallback;-><init>()V
-Landroid/net/wifi/hotspot2/ProvisioningCallback;->onProvisioningFailure(I)V
-Landroid/net/wifi/hotspot2/ProvisioningCallback;->onProvisioningStatus(I)V
-Landroid/net/wifi/hotspot2/ProvisioningCallback;->OSU_FAILURE_AP_CONNECTION:I
-Landroid/net/wifi/hotspot2/ProvisioningCallback;->OSU_FAILURE_PROVIDER_VERIFICATION:I
-Landroid/net/wifi/hotspot2/ProvisioningCallback;->OSU_FAILURE_PROVISIONING_ABORTED:I
-Landroid/net/wifi/hotspot2/ProvisioningCallback;->OSU_FAILURE_PROVISIONING_NOT_AVAILABLE:I
-Landroid/net/wifi/hotspot2/ProvisioningCallback;->OSU_FAILURE_SERVER_CONNECTION:I
-Landroid/net/wifi/hotspot2/ProvisioningCallback;->OSU_FAILURE_SERVER_URL_INVALID:I
-Landroid/net/wifi/hotspot2/ProvisioningCallback;->OSU_FAILURE_SERVER_VALIDATION:I
-Landroid/net/wifi/hotspot2/ProvisioningCallback;->OSU_STATUS_AP_CONNECTED:I
-Landroid/net/wifi/hotspot2/ProvisioningCallback;->OSU_STATUS_AP_CONNECTING:I
-Landroid/net/wifi/hotspot2/ProvisioningCallback;->OSU_STATUS_PROVIDER_VERIFIED:I
-Landroid/net/wifi/hotspot2/ProvisioningCallback;->OSU_STATUS_SERVER_CONNECTED:I
-Landroid/net/wifi/hotspot2/ProvisioningCallback;->OSU_STATUS_SERVER_VALIDATED:I
-Landroid/net/wifi/ISoftApCallback$Stub$Proxy;
-Landroid/net/wifi/ISoftApCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/wifi/ISoftApCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/wifi/ISoftApCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/wifi/ISoftApCallback$Stub$Proxy;->onNumClientsChanged(I)V
-Landroid/net/wifi/ISoftApCallback$Stub$Proxy;->onStateChanged(II)V
-Landroid/net/wifi/ISoftApCallback$Stub;
-Landroid/net/wifi/ISoftApCallback$Stub;-><init>()V
-Landroid/net/wifi/ISoftApCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/ISoftApCallback;
-Landroid/net/wifi/ISoftApCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/wifi/ISoftApCallback$Stub;->TRANSACTION_onNumClientsChanged:I
-Landroid/net/wifi/ISoftApCallback$Stub;->TRANSACTION_onStateChanged:I
-Landroid/net/wifi/ISoftApCallback;
-Landroid/net/wifi/ISoftApCallback;->onNumClientsChanged(I)V
-Landroid/net/wifi/ISoftApCallback;->onStateChanged(II)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->acquireMulticastLock(Landroid/os/IBinder;Ljava/lang/String;)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->acquireWifiLock(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/WorkSource;)Z
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->addOrUpdateNetwork(Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;)I
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->addOrUpdatePasspointConfiguration(Landroid/net/wifi/hotspot2/PasspointConfiguration;Ljava/lang/String;)Z
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->deauthenticateNetwork(JZ)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->disableEphemeralNetwork(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->disableNetwork(ILjava/lang/String;)Z
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->disconnect(Ljava/lang/String;)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->enableNetwork(IZLjava/lang/String;)Z
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->enableTdls(Ljava/lang/String;Z)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->enableTdlsWithMacAddress(Ljava/lang/String;Z)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->enableVerboseLogging(I)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->enableWifiConnectivityManager(Z)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->factoryReset(Ljava/lang/String;)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->getAllMatchingWifiConfigs(Landroid/net/wifi/ScanResult;)Ljava/util/List;
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->getConfiguredNetworks()Landroid/content/pm/ParceledListSlice;
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->getConnectionInfo(Ljava/lang/String;)Landroid/net/wifi/WifiInfo;
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->getCountryCode()Ljava/lang/String;
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->getCurrentNetwork()Landroid/net/Network;
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->getCurrentNetworkWpsNfcConfigurationToken()Ljava/lang/String;
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->getDhcpInfo()Landroid/net/DhcpInfo;
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->getMatchingOsuProviders(Landroid/net/wifi/ScanResult;)Ljava/util/List;
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->getMatchingWifiConfig(Landroid/net/wifi/ScanResult;)Landroid/net/wifi/WifiConfiguration;
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->getPasspointConfigurations()Ljava/util/List;
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->getPrivilegedConfiguredNetworks()Landroid/content/pm/ParceledListSlice;
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->getScanResults(Ljava/lang/String;)Ljava/util/List;
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->getSupportedFeatures()I
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->getVerboseLoggingLevel()I
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->getWifiApConfiguration()Landroid/net/wifi/WifiConfiguration;
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->getWifiApEnabledState()I
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->getWifiEnabledState()I
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->getWifiServiceMessenger(Ljava/lang/String;)Landroid/os/Messenger;
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->initializeMulticastFiltering()V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->isDualBandSupported()Z
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->isMulticastEnabled()Z
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->isScanAlwaysAvailable()Z
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->matchProviderWithCurrentNetwork(Ljava/lang/String;)I
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->needs5GHzToAnyApBandConversion()Z
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->queryPasspointIcon(JLjava/lang/String;)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->reassociate(Ljava/lang/String;)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->reconnect(Ljava/lang/String;)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->registerSoftApCallback(Landroid/os/IBinder;Landroid/net/wifi/ISoftApCallback;I)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->releaseMulticastLock()V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->releaseWifiLock(Landroid/os/IBinder;)Z
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->removeNetwork(ILjava/lang/String;)Z
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->removePasspointConfiguration(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->reportActivityInfo()Landroid/net/wifi/WifiActivityEnergyInfo;
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->requestActivityInfo(Landroid/os/ResultReceiver;)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->restoreBackupData([B)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->restoreSupplicantBackupData([B[B)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->retrieveBackupData()[B
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->setCountryCode(Ljava/lang/String;)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->setWifiApConfiguration(Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;)Z
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->setWifiEnabled(Ljava/lang/String;Z)Z
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->startLocalOnlyHotspot(Landroid/os/Messenger;Landroid/os/IBinder;Ljava/lang/String;)I
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->startScan(Ljava/lang/String;)Z
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->startSoftAp(Landroid/net/wifi/WifiConfiguration;)Z
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->startSubscriptionProvisioning(Landroid/net/wifi/hotspot2/OsuProvider;Landroid/net/wifi/hotspot2/IProvisioningCallback;)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->startWatchLocalOnlyHotspot(Landroid/os/Messenger;Landroid/os/IBinder;)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->stopLocalOnlyHotspot()V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->stopSoftAp()Z
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->stopWatchLocalOnlyHotspot()V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->unregisterSoftApCallback(I)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->updateInterfaceIpState(Ljava/lang/String;I)V
-Landroid/net/wifi/IWifiManager$Stub$Proxy;->updateWifiLockWorkSource(Landroid/os/IBinder;Landroid/os/WorkSource;)V
-Landroid/net/wifi/IWifiManager$Stub;
-Landroid/net/wifi/IWifiManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_acquireMulticastLock:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_acquireWifiLock:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_addOrUpdateNetwork:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_addOrUpdatePasspointConfiguration:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_deauthenticateNetwork:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_disableEphemeralNetwork:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_disableNetwork:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_disconnect:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_enableNetwork:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_enableTdls:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_enableTdlsWithMacAddress:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_enableVerboseLogging:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_enableWifiConnectivityManager:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_factoryReset:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_getAllMatchingWifiConfigs:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_getConfiguredNetworks:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_getConnectionInfo:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_getCountryCode:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_getCurrentNetwork:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_getCurrentNetworkWpsNfcConfigurationToken:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_getDhcpInfo:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_getMatchingOsuProviders:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_getMatchingWifiConfig:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_getPasspointConfigurations:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_getPrivilegedConfiguredNetworks:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_getSupportedFeatures:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_getVerboseLoggingLevel:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_getWifiApConfiguration:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_getWifiApEnabledState:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_getWifiEnabledState:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_getWifiServiceMessenger:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_initializeMulticastFiltering:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_isDualBandSupported:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_isMulticastEnabled:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_isScanAlwaysAvailable:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_matchProviderWithCurrentNetwork:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_needs5GHzToAnyApBandConversion:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_queryPasspointIcon:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_reassociate:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_reconnect:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_registerSoftApCallback:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_releaseMulticastLock:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_releaseWifiLock:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_removeNetwork:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_removePasspointConfiguration:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_reportActivityInfo:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_requestActivityInfo:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_restoreBackupData:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_restoreSupplicantBackupData:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_retrieveBackupData:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_setCountryCode:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_setWifiApConfiguration:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_setWifiEnabled:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_startLocalOnlyHotspot:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_startScan:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_startSoftAp:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_startSubscriptionProvisioning:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_startWatchLocalOnlyHotspot:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_stopLocalOnlyHotspot:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_stopSoftAp:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_stopWatchLocalOnlyHotspot:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_unregisterSoftApCallback:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_updateInterfaceIpState:I
-Landroid/net/wifi/IWifiManager$Stub;->TRANSACTION_updateWifiLockWorkSource:I
-Landroid/net/wifi/IWifiManager;
-Landroid/net/wifi/IWifiManager;->acquireMulticastLock(Landroid/os/IBinder;Ljava/lang/String;)V
-Landroid/net/wifi/IWifiManager;->acquireWifiLock(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/WorkSource;)Z
-Landroid/net/wifi/IWifiManager;->addOrUpdateNetwork(Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;)I
-Landroid/net/wifi/IWifiManager;->addOrUpdatePasspointConfiguration(Landroid/net/wifi/hotspot2/PasspointConfiguration;Ljava/lang/String;)Z
-Landroid/net/wifi/IWifiManager;->deauthenticateNetwork(JZ)V
-Landroid/net/wifi/IWifiManager;->disableEphemeralNetwork(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/wifi/IWifiManager;->disableNetwork(ILjava/lang/String;)Z
-Landroid/net/wifi/IWifiManager;->disconnect(Ljava/lang/String;)V
-Landroid/net/wifi/IWifiManager;->enableNetwork(IZLjava/lang/String;)Z
-Landroid/net/wifi/IWifiManager;->enableTdls(Ljava/lang/String;Z)V
-Landroid/net/wifi/IWifiManager;->enableTdlsWithMacAddress(Ljava/lang/String;Z)V
-Landroid/net/wifi/IWifiManager;->enableVerboseLogging(I)V
-Landroid/net/wifi/IWifiManager;->enableWifiConnectivityManager(Z)V
-Landroid/net/wifi/IWifiManager;->factoryReset(Ljava/lang/String;)V
-Landroid/net/wifi/IWifiManager;->getAllMatchingWifiConfigs(Landroid/net/wifi/ScanResult;)Ljava/util/List;
-Landroid/net/wifi/IWifiManager;->getConfiguredNetworks()Landroid/content/pm/ParceledListSlice;
-Landroid/net/wifi/IWifiManager;->getConnectionInfo(Ljava/lang/String;)Landroid/net/wifi/WifiInfo;
-Landroid/net/wifi/IWifiManager;->getCountryCode()Ljava/lang/String;
-Landroid/net/wifi/IWifiManager;->getCurrentNetworkWpsNfcConfigurationToken()Ljava/lang/String;
-Landroid/net/wifi/IWifiManager;->getDhcpInfo()Landroid/net/DhcpInfo;
-Landroid/net/wifi/IWifiManager;->getMatchingOsuProviders(Landroid/net/wifi/ScanResult;)Ljava/util/List;
-Landroid/net/wifi/IWifiManager;->getMatchingWifiConfig(Landroid/net/wifi/ScanResult;)Landroid/net/wifi/WifiConfiguration;
-Landroid/net/wifi/IWifiManager;->getPasspointConfigurations()Ljava/util/List;
-Landroid/net/wifi/IWifiManager;->getPrivilegedConfiguredNetworks()Landroid/content/pm/ParceledListSlice;
-Landroid/net/wifi/IWifiManager;->getScanResults(Ljava/lang/String;)Ljava/util/List;
-Landroid/net/wifi/IWifiManager;->getSupportedFeatures()I
-Landroid/net/wifi/IWifiManager;->getVerboseLoggingLevel()I
-Landroid/net/wifi/IWifiManager;->getWifiEnabledState()I
-Landroid/net/wifi/IWifiManager;->getWifiServiceMessenger(Ljava/lang/String;)Landroid/os/Messenger;
-Landroid/net/wifi/IWifiManager;->initializeMulticastFiltering()V
-Landroid/net/wifi/IWifiManager;->isDualBandSupported()Z
-Landroid/net/wifi/IWifiManager;->isMulticastEnabled()Z
-Landroid/net/wifi/IWifiManager;->isScanAlwaysAvailable()Z
-Landroid/net/wifi/IWifiManager;->matchProviderWithCurrentNetwork(Ljava/lang/String;)I
-Landroid/net/wifi/IWifiManager;->needs5GHzToAnyApBandConversion()Z
-Landroid/net/wifi/IWifiManager;->queryPasspointIcon(JLjava/lang/String;)V
-Landroid/net/wifi/IWifiManager;->reassociate(Ljava/lang/String;)V
-Landroid/net/wifi/IWifiManager;->reconnect(Ljava/lang/String;)V
-Landroid/net/wifi/IWifiManager;->registerSoftApCallback(Landroid/os/IBinder;Landroid/net/wifi/ISoftApCallback;I)V
-Landroid/net/wifi/IWifiManager;->releaseMulticastLock()V
-Landroid/net/wifi/IWifiManager;->releaseWifiLock(Landroid/os/IBinder;)Z
-Landroid/net/wifi/IWifiManager;->removeNetwork(ILjava/lang/String;)Z
-Landroid/net/wifi/IWifiManager;->removePasspointConfiguration(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/net/wifi/IWifiManager;->reportActivityInfo()Landroid/net/wifi/WifiActivityEnergyInfo;
-Landroid/net/wifi/IWifiManager;->requestActivityInfo(Landroid/os/ResultReceiver;)V
-Landroid/net/wifi/IWifiManager;->restoreBackupData([B)V
-Landroid/net/wifi/IWifiManager;->restoreSupplicantBackupData([B[B)V
-Landroid/net/wifi/IWifiManager;->retrieveBackupData()[B
-Landroid/net/wifi/IWifiManager;->setCountryCode(Ljava/lang/String;)V
-Landroid/net/wifi/IWifiManager;->setWifiApConfiguration(Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;)Z
-Landroid/net/wifi/IWifiManager;->setWifiEnabled(Ljava/lang/String;Z)Z
-Landroid/net/wifi/IWifiManager;->startLocalOnlyHotspot(Landroid/os/Messenger;Landroid/os/IBinder;Ljava/lang/String;)I
-Landroid/net/wifi/IWifiManager;->startScan(Ljava/lang/String;)Z
-Landroid/net/wifi/IWifiManager;->startSoftAp(Landroid/net/wifi/WifiConfiguration;)Z
-Landroid/net/wifi/IWifiManager;->startSubscriptionProvisioning(Landroid/net/wifi/hotspot2/OsuProvider;Landroid/net/wifi/hotspot2/IProvisioningCallback;)V
-Landroid/net/wifi/IWifiManager;->startWatchLocalOnlyHotspot(Landroid/os/Messenger;Landroid/os/IBinder;)V
-Landroid/net/wifi/IWifiManager;->stopLocalOnlyHotspot()V
-Landroid/net/wifi/IWifiManager;->stopSoftAp()Z
-Landroid/net/wifi/IWifiManager;->stopWatchLocalOnlyHotspot()V
-Landroid/net/wifi/IWifiManager;->unregisterSoftApCallback(I)V
-Landroid/net/wifi/IWifiManager;->updateInterfaceIpState(Ljava/lang/String;I)V
-Landroid/net/wifi/IWifiManager;->updateWifiLockWorkSource(Landroid/os/IBinder;Landroid/os/WorkSource;)V
-Landroid/net/wifi/IWifiScanner$Stub$Proxy;
-Landroid/net/wifi/IWifiScanner$Stub$Proxy;->getAvailableChannels(I)Landroid/os/Bundle;
-Landroid/net/wifi/IWifiScanner$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/wifi/IWifiScanner$Stub$Proxy;->getMessenger()Landroid/os/Messenger;
-Landroid/net/wifi/IWifiScanner$Stub;
-Landroid/net/wifi/IWifiScanner$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/wifi/IWifiScanner$Stub;->TRANSACTION_getAvailableChannels:I
-Landroid/net/wifi/IWifiScanner$Stub;->TRANSACTION_getMessenger:I
-Landroid/net/wifi/IWifiScanner;
-Landroid/net/wifi/IWifiScanner;->getAvailableChannels(I)Landroid/os/Bundle;
-Landroid/net/wifi/IWifiScanner;->getMessenger()Landroid/os/Messenger;
-Landroid/net/wifi/p2p/IWifiP2pManager$Stub$Proxy;
-Landroid/net/wifi/p2p/IWifiP2pManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/wifi/p2p/IWifiP2pManager$Stub$Proxy;->checkConfigureWifiDisplayPermission()V
-Landroid/net/wifi/p2p/IWifiP2pManager$Stub$Proxy;->close(Landroid/os/IBinder;)V
-Landroid/net/wifi/p2p/IWifiP2pManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/wifi/p2p/IWifiP2pManager$Stub$Proxy;->getMessenger(Landroid/os/IBinder;)Landroid/os/Messenger;
-Landroid/net/wifi/p2p/IWifiP2pManager$Stub$Proxy;->getP2pStateMachineMessenger()Landroid/os/Messenger;
-Landroid/net/wifi/p2p/IWifiP2pManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/wifi/p2p/IWifiP2pManager$Stub$Proxy;->setMiracastMode(I)V
-Landroid/net/wifi/p2p/IWifiP2pManager$Stub;
-Landroid/net/wifi/p2p/IWifiP2pManager$Stub;-><init>()V
-Landroid/net/wifi/p2p/IWifiP2pManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/wifi/p2p/IWifiP2pManager$Stub;->TRANSACTION_checkConfigureWifiDisplayPermission:I
-Landroid/net/wifi/p2p/IWifiP2pManager$Stub;->TRANSACTION_close:I
-Landroid/net/wifi/p2p/IWifiP2pManager$Stub;->TRANSACTION_getMessenger:I
-Landroid/net/wifi/p2p/IWifiP2pManager$Stub;->TRANSACTION_getP2pStateMachineMessenger:I
-Landroid/net/wifi/p2p/IWifiP2pManager$Stub;->TRANSACTION_setMiracastMode:I
-Landroid/net/wifi/p2p/IWifiP2pManager;
-Landroid/net/wifi/p2p/IWifiP2pManager;->checkConfigureWifiDisplayPermission()V
-Landroid/net/wifi/p2p/IWifiP2pManager;->close(Landroid/os/IBinder;)V
-Landroid/net/wifi/p2p/IWifiP2pManager;->getMessenger(Landroid/os/IBinder;)Landroid/os/Messenger;
-Landroid/net/wifi/p2p/IWifiP2pManager;->getP2pStateMachineMessenger()Landroid/os/Messenger;
-Landroid/net/wifi/p2p/IWifiP2pManager;->setMiracastMode(I)V
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceInfo;-><init>(Ljava/util/List;)V
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceInfo;->compressDnsName(Ljava/lang/String;)Ljava/lang/String;
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceInfo;->createPtrServiceQuery(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceInfo;->createTxtServiceQuery(Ljava/lang/String;Ljava/lang/String;Landroid/net/nsd/DnsSdTxtRecord;)Ljava/lang/String;
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceInfo;->DNS_TYPE_PTR:I
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceInfo;->DNS_TYPE_TXT:I
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceInfo;->sVmPacket:Ljava/util/Map;
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceInfo;->VERSION_1:I
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceRequest;-><init>()V
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceRequest;-><init>(Ljava/lang/String;)V
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceRequest;-><init>(Ljava/lang/String;II)V
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceResponse;
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceResponse;-><init>(IILandroid/net/wifi/p2p/WifiP2pDevice;[B)V
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceResponse;->getDnsQueryName()Ljava/lang/String;
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceResponse;->getDnsType()I
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceResponse;->getInstanceName()Ljava/lang/String;
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceResponse;->getTxtRecord()Ljava/util/Map;
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceResponse;->getVersion()I
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceResponse;->mDnsQueryName:Ljava/lang/String;
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceResponse;->mDnsType:I
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceResponse;->mInstanceName:Ljava/lang/String;
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceResponse;->mTxtRecord:Ljava/util/HashMap;
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceResponse;->mVersion:I
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceResponse;->newInstance(IILandroid/net/wifi/p2p/WifiP2pDevice;[B)Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceResponse;
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceResponse;->parse()Z
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceResponse;->readDnsName(Ljava/io/DataInputStream;)Ljava/lang/String;
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceResponse;->readTxtData(Ljava/io/DataInputStream;)Z
-Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceResponse;->sVmpack:Ljava/util/Map;
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceInfo;->bin2HexStr([B)Ljava/lang/String;
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceInfo;->getSupplicantQueryList()Ljava/util/List;
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceInfo;->SERVICE_TYPE_WS_DISCOVERY:I
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceRequest;-><init>(IIILjava/lang/String;)V
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceRequest;->getSupplicantQuery()Ljava/lang/String;
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceRequest;->getTransactionId()I
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceRequest;->mLength:I
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceRequest;->mProtocolType:I
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceRequest;->mQuery:Ljava/lang/String;
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceRequest;->mTransId:I
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceRequest;->setTransactionId(I)V
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceRequest;->validateQuery(Ljava/lang/String;)V
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse$Status;
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse$Status;-><init>()V
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse$Status;->BAD_REQUEST:I
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse$Status;->REQUESTED_INFORMATION_NOT_AVAILABLE:I
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse$Status;->SERVICE_PROTOCOL_NOT_AVAILABLE:I
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse$Status;->SUCCESS:I
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse$Status;->toString(I)Ljava/lang/String;
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse;
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse;-><init>(IIILandroid/net/wifi/p2p/WifiP2pDevice;[B)V
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse;->equals(Ljava/lang/Object;Ljava/lang/Object;)Z
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse;->getRawData()[B
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse;->getServiceType()I
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse;->getSrcDevice()Landroid/net/wifi/p2p/WifiP2pDevice;
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse;->getStatus()I
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse;->getTransactionId()I
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse;->hexStr2Bin(Ljava/lang/String;)[B
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse;->MAX_BUF_SIZE:I
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse;->mData:[B
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse;->mDevice:Landroid/net/wifi/p2p/WifiP2pDevice;
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse;->mServiceType:I
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse;->mStatus:I
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse;->mTransId:I
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse;->newInstance(Ljava/lang/String;[B)Ljava/util/List;
-Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse;->setSrcDevice(Landroid/net/wifi/p2p/WifiP2pDevice;)V
-Landroid/net/wifi/p2p/nsd/WifiP2pUpnpServiceInfo;-><init>(Ljava/util/List;)V
-Landroid/net/wifi/p2p/nsd/WifiP2pUpnpServiceInfo;->createSupplicantQuery(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/net/wifi/p2p/nsd/WifiP2pUpnpServiceInfo;->VERSION_1_0:I
-Landroid/net/wifi/p2p/nsd/WifiP2pUpnpServiceRequest;-><init>()V
-Landroid/net/wifi/p2p/nsd/WifiP2pUpnpServiceRequest;-><init>(Ljava/lang/String;)V
-Landroid/net/wifi/p2p/nsd/WifiP2pUpnpServiceResponse;
-Landroid/net/wifi/p2p/nsd/WifiP2pUpnpServiceResponse;-><init>(IILandroid/net/wifi/p2p/WifiP2pDevice;[B)V
-Landroid/net/wifi/p2p/nsd/WifiP2pUpnpServiceResponse;->getUniqueServiceNames()Ljava/util/List;
-Landroid/net/wifi/p2p/nsd/WifiP2pUpnpServiceResponse;->getVersion()I
-Landroid/net/wifi/p2p/nsd/WifiP2pUpnpServiceResponse;->mUniqueServiceNames:Ljava/util/List;
-Landroid/net/wifi/p2p/nsd/WifiP2pUpnpServiceResponse;->mVersion:I
-Landroid/net/wifi/p2p/nsd/WifiP2pUpnpServiceResponse;->newInstance(IILandroid/net/wifi/p2p/WifiP2pDevice;[B)Landroid/net/wifi/p2p/nsd/WifiP2pUpnpServiceResponse;
-Landroid/net/wifi/p2p/nsd/WifiP2pUpnpServiceResponse;->parse()Z
-Landroid/net/wifi/p2p/WifiP2pConfig;->invalidate()V
-Landroid/net/wifi/p2p/WifiP2pConfig;->MAX_GROUP_OWNER_INTENT:I
-Landroid/net/wifi/p2p/WifiP2pDevice;->detailedDevicePattern:Ljava/util/regex/Pattern;
-Landroid/net/wifi/p2p/WifiP2pDevice;->DEVICE_CAPAB_CLIENT_DISCOVERABILITY:I
-Landroid/net/wifi/p2p/WifiP2pDevice;->DEVICE_CAPAB_CONCURRENT_OPER:I
-Landroid/net/wifi/p2p/WifiP2pDevice;->DEVICE_CAPAB_DEVICE_LIMIT:I
-Landroid/net/wifi/p2p/WifiP2pDevice;->DEVICE_CAPAB_INFRA_MANAGED:I
-Landroid/net/wifi/p2p/WifiP2pDevice;->DEVICE_CAPAB_INVITATION_PROCEDURE:I
-Landroid/net/wifi/p2p/WifiP2pDevice;->DEVICE_CAPAB_SERVICE_DISCOVERY:I
-Landroid/net/wifi/p2p/WifiP2pDevice;->GROUP_CAPAB_CROSS_CONN:I
-Landroid/net/wifi/p2p/WifiP2pDevice;->GROUP_CAPAB_GROUP_FORMATION:I
-Landroid/net/wifi/p2p/WifiP2pDevice;->GROUP_CAPAB_GROUP_LIMIT:I
-Landroid/net/wifi/p2p/WifiP2pDevice;->GROUP_CAPAB_GROUP_OWNER:I
-Landroid/net/wifi/p2p/WifiP2pDevice;->GROUP_CAPAB_INTRA_BSS_DIST:I
-Landroid/net/wifi/p2p/WifiP2pDevice;->GROUP_CAPAB_PERSISTENT_GROUP:I
-Landroid/net/wifi/p2p/WifiP2pDevice;->GROUP_CAPAB_PERSISTENT_RECONN:I
-Landroid/net/wifi/p2p/WifiP2pDevice;->isDeviceLimit()Z
-Landroid/net/wifi/p2p/WifiP2pDevice;->isGroupLimit()Z
-Landroid/net/wifi/p2p/WifiP2pDevice;->isInvitationCapable()Z
-Landroid/net/wifi/p2p/WifiP2pDevice;->parseHex(Ljava/lang/String;)I
-Landroid/net/wifi/p2p/WifiP2pDevice;->TAG:Ljava/lang/String;
-Landroid/net/wifi/p2p/WifiP2pDevice;->threeTokenPattern:Ljava/util/regex/Pattern;
-Landroid/net/wifi/p2p/WifiP2pDevice;->twoTokenPattern:Ljava/util/regex/Pattern;
-Landroid/net/wifi/p2p/WifiP2pDevice;->updateSupplicantDetails(Landroid/net/wifi/p2p/WifiP2pDevice;)V
-Landroid/net/wifi/p2p/WifiP2pDevice;->WPS_CONFIG_DISPLAY:I
-Landroid/net/wifi/p2p/WifiP2pDevice;->WPS_CONFIG_KEYPAD:I
-Landroid/net/wifi/p2p/WifiP2pDevice;->WPS_CONFIG_PUSHBUTTON:I
-Landroid/net/wifi/p2p/WifiP2pDeviceList;-><init>(Ljava/util/ArrayList;)V
-Landroid/net/wifi/p2p/WifiP2pDeviceList;->clear()Z
-Landroid/net/wifi/p2p/WifiP2pDeviceList;->isGroupOwner(Ljava/lang/String;)Z
-Landroid/net/wifi/p2p/WifiP2pDeviceList;->mDevices:Ljava/util/HashMap;
-Landroid/net/wifi/p2p/WifiP2pDeviceList;->remove(Landroid/net/wifi/p2p/WifiP2pDevice;)Z
-Landroid/net/wifi/p2p/WifiP2pDeviceList;->remove(Landroid/net/wifi/p2p/WifiP2pDeviceList;)Z
-Landroid/net/wifi/p2p/WifiP2pDeviceList;->updateGroupCapability(Ljava/lang/String;I)V
-Landroid/net/wifi/p2p/WifiP2pDeviceList;->updateStatus(Ljava/lang/String;I)V
-Landroid/net/wifi/p2p/WifiP2pDeviceList;->updateSupplicantDetails(Landroid/net/wifi/p2p/WifiP2pDevice;)V
-Landroid/net/wifi/p2p/WifiP2pDeviceList;->validateDevice(Landroid/net/wifi/p2p/WifiP2pDevice;)V
-Landroid/net/wifi/p2p/WifiP2pDeviceList;->validateDeviceAddress(Ljava/lang/String;)V
-Landroid/net/wifi/p2p/WifiP2pGroup;->addClient(Landroid/net/wifi/p2p/WifiP2pDevice;)V
-Landroid/net/wifi/p2p/WifiP2pGroup;->addClient(Ljava/lang/String;)V
-Landroid/net/wifi/p2p/WifiP2pGroup;->contains(Landroid/net/wifi/p2p/WifiP2pDevice;)Z
-Landroid/net/wifi/p2p/WifiP2pGroup;->groupStartedPattern:Ljava/util/regex/Pattern;
-Landroid/net/wifi/p2p/WifiP2pGroup;->mClients:Ljava/util/List;
-Landroid/net/wifi/p2p/WifiP2pGroup;->mInterface:Ljava/lang/String;
-Landroid/net/wifi/p2p/WifiP2pGroup;->mIsGroupOwner:Z
-Landroid/net/wifi/p2p/WifiP2pGroup;->mNetId:I
-Landroid/net/wifi/p2p/WifiP2pGroup;->mNetworkName:Ljava/lang/String;
-Landroid/net/wifi/p2p/WifiP2pGroup;->mOwner:Landroid/net/wifi/p2p/WifiP2pDevice;
-Landroid/net/wifi/p2p/WifiP2pGroup;->mPassphrase:Ljava/lang/String;
-Landroid/net/wifi/p2p/WifiP2pGroup;->PERSISTENT_NET_ID:I
-Landroid/net/wifi/p2p/WifiP2pGroup;->removeClient(Landroid/net/wifi/p2p/WifiP2pDevice;)Z
-Landroid/net/wifi/p2p/WifiP2pGroup;->removeClient(Ljava/lang/String;)Z
-Landroid/net/wifi/p2p/WifiP2pGroup;->setNetworkName(Ljava/lang/String;)V
-Landroid/net/wifi/p2p/WifiP2pGroup;->setOwner(Landroid/net/wifi/p2p/WifiP2pDevice;)V
-Landroid/net/wifi/p2p/WifiP2pGroup;->setPassphrase(Ljava/lang/String;)V
-Landroid/net/wifi/p2p/WifiP2pGroupList$GroupDeleteListener;
-Landroid/net/wifi/p2p/WifiP2pGroupList$GroupDeleteListener;->onDeleteGroup(I)V
-Landroid/net/wifi/p2p/WifiP2pGroupList;
-Landroid/net/wifi/p2p/WifiP2pGroupList;-><init>()V
-Landroid/net/wifi/p2p/WifiP2pGroupList;->add(Landroid/net/wifi/p2p/WifiP2pGroup;)V
-Landroid/net/wifi/p2p/WifiP2pGroupList;->clear()Z
-Landroid/net/wifi/p2p/WifiP2pGroupList;->contains(I)Z
-Landroid/net/wifi/p2p/WifiP2pGroupList;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/p2p/WifiP2pGroupList;->CREDENTIAL_MAX_NUM:I
-Landroid/net/wifi/p2p/WifiP2pGroupList;->getNetworkId(Ljava/lang/String;)I
-Landroid/net/wifi/p2p/WifiP2pGroupList;->getNetworkId(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/net/wifi/p2p/WifiP2pGroupList;->getOwnerAddr(I)Ljava/lang/String;
-Landroid/net/wifi/p2p/WifiP2pGroupList;->isClearCalled:Z
-Landroid/net/wifi/p2p/WifiP2pGroupList;->mListener:Landroid/net/wifi/p2p/WifiP2pGroupList$GroupDeleteListener;
-Landroid/net/wifi/p2p/WifiP2pGroupList;->remove(I)V
-Landroid/net/wifi/p2p/WifiP2pGroupList;->remove(Ljava/lang/String;)V
-Landroid/net/wifi/p2p/WifiP2pManager$Channel$P2pHandler;
-Landroid/net/wifi/p2p/WifiP2pManager$Channel$P2pHandler;-><init>(Landroid/os/Looper;)V
-Landroid/net/wifi/p2p/WifiP2pManager$Channel;-><init>(Landroid/content/Context;Landroid/os/Looper;Landroid/net/wifi/p2p/WifiP2pManager$ChannelListener;Landroid/os/Binder;Landroid/net/wifi/p2p/WifiP2pManager;)V
-Landroid/net/wifi/p2p/WifiP2pManager$Channel;->getListener(I)Ljava/lang/Object;
-Landroid/net/wifi/p2p/WifiP2pManager$Channel;->handleDnsSdServiceResponse(Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceResponse;)V
-Landroid/net/wifi/p2p/WifiP2pManager$Channel;->handleServiceResponse(Landroid/net/wifi/p2p/nsd/WifiP2pServiceResponse;)V
-Landroid/net/wifi/p2p/WifiP2pManager$Channel;->handleUpnpServiceResponse(Landroid/net/wifi/p2p/nsd/WifiP2pUpnpServiceResponse;)V
-Landroid/net/wifi/p2p/WifiP2pManager$Channel;->INVALID_LISTENER_KEY:I
-Landroid/net/wifi/p2p/WifiP2pManager$Channel;->mBinder:Landroid/os/Binder;
-Landroid/net/wifi/p2p/WifiP2pManager$Channel;->mChannelListener:Landroid/net/wifi/p2p/WifiP2pManager$ChannelListener;
-Landroid/net/wifi/p2p/WifiP2pManager$Channel;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/net/wifi/p2p/WifiP2pManager$Channel;->mContext:Landroid/content/Context;
-Landroid/net/wifi/p2p/WifiP2pManager$Channel;->mDnsSdServRspListener:Landroid/net/wifi/p2p/WifiP2pManager$DnsSdServiceResponseListener;
-Landroid/net/wifi/p2p/WifiP2pManager$Channel;->mDnsSdTxtListener:Landroid/net/wifi/p2p/WifiP2pManager$DnsSdTxtRecordListener;
-Landroid/net/wifi/p2p/WifiP2pManager$Channel;->mHandler:Landroid/net/wifi/p2p/WifiP2pManager$Channel$P2pHandler;
-Landroid/net/wifi/p2p/WifiP2pManager$Channel;->mListenerKey:I
-Landroid/net/wifi/p2p/WifiP2pManager$Channel;->mListenerMap:Ljava/util/HashMap;
-Landroid/net/wifi/p2p/WifiP2pManager$Channel;->mListenerMapLock:Ljava/lang/Object;
-Landroid/net/wifi/p2p/WifiP2pManager$Channel;->mP2pManager:Landroid/net/wifi/p2p/WifiP2pManager;
-Landroid/net/wifi/p2p/WifiP2pManager$Channel;->mServRspListener:Landroid/net/wifi/p2p/WifiP2pManager$ServiceResponseListener;
-Landroid/net/wifi/p2p/WifiP2pManager$Channel;->mUpnpServRspListener:Landroid/net/wifi/p2p/WifiP2pManager$UpnpServiceResponseListener;
-Landroid/net/wifi/p2p/WifiP2pManager$HandoverMessageListener;
-Landroid/net/wifi/p2p/WifiP2pManager$HandoverMessageListener;->onHandoverMessageAvailable(Ljava/lang/String;)V
-Landroid/net/wifi/p2p/WifiP2pManager$PersistentGroupInfoListener;
-Landroid/net/wifi/p2p/WifiP2pManager$PersistentGroupInfoListener;->onPersistentGroupInfoAvailable(Landroid/net/wifi/p2p/WifiP2pGroupList;)V
-Landroid/net/wifi/p2p/WifiP2pManager;->ADD_LOCAL_SERVICE:I
-Landroid/net/wifi/p2p/WifiP2pManager;->ADD_LOCAL_SERVICE_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->ADD_LOCAL_SERVICE_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->ADD_SERVICE_REQUEST:I
-Landroid/net/wifi/p2p/WifiP2pManager;->ADD_SERVICE_REQUEST_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->ADD_SERVICE_REQUEST_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->BASE:I
-Landroid/net/wifi/p2p/WifiP2pManager;->CALLING_PACKAGE:Ljava/lang/String;
-Landroid/net/wifi/p2p/WifiP2pManager;->CANCEL_CONNECT:I
-Landroid/net/wifi/p2p/WifiP2pManager;->CANCEL_CONNECT_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->CANCEL_CONNECT_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->checkChannel(Landroid/net/wifi/p2p/WifiP2pManager$Channel;)V
-Landroid/net/wifi/p2p/WifiP2pManager;->checkP2pConfig(Landroid/net/wifi/p2p/WifiP2pConfig;)V
-Landroid/net/wifi/p2p/WifiP2pManager;->checkServiceInfo(Landroid/net/wifi/p2p/nsd/WifiP2pServiceInfo;)V
-Landroid/net/wifi/p2p/WifiP2pManager;->checkServiceRequest(Landroid/net/wifi/p2p/nsd/WifiP2pServiceRequest;)V
-Landroid/net/wifi/p2p/WifiP2pManager;->CLEAR_LOCAL_SERVICES:I
-Landroid/net/wifi/p2p/WifiP2pManager;->CLEAR_LOCAL_SERVICES_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->CLEAR_LOCAL_SERVICES_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->CLEAR_SERVICE_REQUESTS:I
-Landroid/net/wifi/p2p/WifiP2pManager;->CLEAR_SERVICE_REQUESTS_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->CLEAR_SERVICE_REQUESTS_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->CONNECT:I
-Landroid/net/wifi/p2p/WifiP2pManager;->CONNECT_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->CONNECT_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->CREATE_GROUP_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->CREATE_GROUP_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->DELETE_PERSISTENT_GROUP:I
-Landroid/net/wifi/p2p/WifiP2pManager;->DELETE_PERSISTENT_GROUP_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->DELETE_PERSISTENT_GROUP_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->DISCOVER_PEERS:I
-Landroid/net/wifi/p2p/WifiP2pManager;->DISCOVER_PEERS_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->DISCOVER_PEERS_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->DISCOVER_SERVICES:I
-Landroid/net/wifi/p2p/WifiP2pManager;->DISCOVER_SERVICES_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->DISCOVER_SERVICES_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->EXTRA_HANDOVER_MESSAGE:Ljava/lang/String;
-Landroid/net/wifi/p2p/WifiP2pManager;->getMessenger(Landroid/os/Binder;)Landroid/os/Messenger;
-Landroid/net/wifi/p2p/WifiP2pManager;->getNfcHandoverRequest(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$HandoverMessageListener;)V
-Landroid/net/wifi/p2p/WifiP2pManager;->getNfcHandoverSelect(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$HandoverMessageListener;)V
-Landroid/net/wifi/p2p/WifiP2pManager;->getP2pStateMachineMessenger()Landroid/os/Messenger;
-Landroid/net/wifi/p2p/WifiP2pManager;->GET_HANDOVER_REQUEST:I
-Landroid/net/wifi/p2p/WifiP2pManager;->GET_HANDOVER_SELECT:I
-Landroid/net/wifi/p2p/WifiP2pManager;->initalizeChannel(Landroid/content/Context;Landroid/os/Looper;Landroid/net/wifi/p2p/WifiP2pManager$ChannelListener;Landroid/os/Messenger;Landroid/os/Binder;)Landroid/net/wifi/p2p/WifiP2pManager$Channel;
-Landroid/net/wifi/p2p/WifiP2pManager;->initializeInternal(Landroid/content/Context;Landroid/os/Looper;Landroid/net/wifi/p2p/WifiP2pManager$ChannelListener;)Landroid/net/wifi/p2p/WifiP2pManager$Channel;
-Landroid/net/wifi/p2p/WifiP2pManager;->initiatorReportNfcHandover(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Ljava/lang/String;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V
-Landroid/net/wifi/p2p/WifiP2pManager;->INITIATOR_REPORT_NFC_HANDOVER:I
-Landroid/net/wifi/p2p/WifiP2pManager;->listen(Landroid/net/wifi/p2p/WifiP2pManager$Channel;ZLandroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V
-Landroid/net/wifi/p2p/WifiP2pManager;->MIRACAST_DISABLED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->MIRACAST_SINK:I
-Landroid/net/wifi/p2p/WifiP2pManager;->MIRACAST_SOURCE:I
-Landroid/net/wifi/p2p/WifiP2pManager;->mService:Landroid/net/wifi/p2p/IWifiP2pManager;
-Landroid/net/wifi/p2p/WifiP2pManager;->PING:I
-Landroid/net/wifi/p2p/WifiP2pManager;->REMOVE_GROUP:I
-Landroid/net/wifi/p2p/WifiP2pManager;->REMOVE_GROUP_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->REMOVE_GROUP_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->REMOVE_LOCAL_SERVICE:I
-Landroid/net/wifi/p2p/WifiP2pManager;->REMOVE_LOCAL_SERVICE_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->REMOVE_LOCAL_SERVICE_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->REMOVE_SERVICE_REQUEST:I
-Landroid/net/wifi/p2p/WifiP2pManager;->REMOVE_SERVICE_REQUEST_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->REMOVE_SERVICE_REQUEST_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->REPORT_NFC_HANDOVER_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->REPORT_NFC_HANDOVER_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->REQUEST_CONNECTION_INFO:I
-Landroid/net/wifi/p2p/WifiP2pManager;->REQUEST_GROUP_INFO:I
-Landroid/net/wifi/p2p/WifiP2pManager;->REQUEST_PEERS:I
-Landroid/net/wifi/p2p/WifiP2pManager;->REQUEST_PERSISTENT_GROUP_INFO:I
-Landroid/net/wifi/p2p/WifiP2pManager;->responderReportNfcHandover(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Ljava/lang/String;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V
-Landroid/net/wifi/p2p/WifiP2pManager;->RESPONDER_REPORT_NFC_HANDOVER:I
-Landroid/net/wifi/p2p/WifiP2pManager;->RESPONSE_CONNECTION_INFO:I
-Landroid/net/wifi/p2p/WifiP2pManager;->RESPONSE_GET_HANDOVER_MESSAGE:I
-Landroid/net/wifi/p2p/WifiP2pManager;->RESPONSE_GROUP_INFO:I
-Landroid/net/wifi/p2p/WifiP2pManager;->RESPONSE_PEERS:I
-Landroid/net/wifi/p2p/WifiP2pManager;->RESPONSE_PERSISTENT_GROUP_INFO:I
-Landroid/net/wifi/p2p/WifiP2pManager;->RESPONSE_SERVICE:I
-Landroid/net/wifi/p2p/WifiP2pManager;->SET_CHANNEL:I
-Landroid/net/wifi/p2p/WifiP2pManager;->SET_CHANNEL_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->SET_CHANNEL_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->SET_DEVICE_NAME:I
-Landroid/net/wifi/p2p/WifiP2pManager;->SET_DEVICE_NAME_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->SET_DEVICE_NAME_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->SET_WFD_INFO:I
-Landroid/net/wifi/p2p/WifiP2pManager;->SET_WFD_INFO_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->SET_WFD_INFO_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->START_LISTEN:I
-Landroid/net/wifi/p2p/WifiP2pManager;->START_LISTEN_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->START_LISTEN_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->START_WPS:I
-Landroid/net/wifi/p2p/WifiP2pManager;->START_WPS_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->START_WPS_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->STOP_DISCOVERY:I
-Landroid/net/wifi/p2p/WifiP2pManager;->STOP_DISCOVERY_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->STOP_DISCOVERY_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->STOP_LISTEN:I
-Landroid/net/wifi/p2p/WifiP2pManager;->STOP_LISTEN_FAILED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->STOP_LISTEN_SUCCEEDED:I
-Landroid/net/wifi/p2p/WifiP2pManager;->TAG:Ljava/lang/String;
-Landroid/net/wifi/p2p/WifiP2pManager;->WIFI_P2P_PERSISTENT_GROUPS_CHANGED_ACTION:Ljava/lang/String;
-Landroid/net/wifi/p2p/WifiP2pProvDiscEvent;
-Landroid/net/wifi/p2p/WifiP2pProvDiscEvent;-><init>(Ljava/lang/String;)V
-Landroid/net/wifi/p2p/WifiP2pProvDiscEvent;->ENTER_PIN:I
-Landroid/net/wifi/p2p/WifiP2pProvDiscEvent;->PBC_REQ:I
-Landroid/net/wifi/p2p/WifiP2pProvDiscEvent;->PBC_RSP:I
-Landroid/net/wifi/p2p/WifiP2pProvDiscEvent;->SHOW_PIN:I
-Landroid/net/wifi/p2p/WifiP2pProvDiscEvent;->TAG:Ljava/lang/String;
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->COUPLED_SINK_SUPPORT_AT_SINK:I
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->COUPLED_SINK_SUPPORT_AT_SOURCE:I
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->DEVICE_TYPE:I
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->getControlPort()I
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->getDeviceInfoHex()Ljava/lang/String;
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->getMaxThroughput()I
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->isCoupledSinkSupportedAtSink()Z
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->isCoupledSinkSupportedAtSource()Z
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->isSessionAvailable()Z
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->mCtrlPort:I
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->mDeviceInfo:I
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->mMaxThroughput:I
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->mWfdEnabled:Z
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->PRIMARY_SINK:I
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->SECONDARY_SINK:I
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->SESSION_AVAILABLE:I
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->SESSION_AVAILABLE_BIT1:I
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->SESSION_AVAILABLE_BIT2:I
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->setCoupledSinkSupportAtSink(Z)V
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->setCoupledSinkSupportAtSource(Z)V
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->SOURCE_OR_PRIMARY_SINK:I
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->TAG:Ljava/lang/String;
-Landroid/net/wifi/p2p/WifiP2pWfdInfo;->WFD_SOURCE:I
-Landroid/net/wifi/ParcelUtil;
-Landroid/net/wifi/ParcelUtil;-><init>()V
-Landroid/net/wifi/ParcelUtil;->readCertificate(Landroid/os/Parcel;)Ljava/security/cert/X509Certificate;
-Landroid/net/wifi/ParcelUtil;->readCertificates(Landroid/os/Parcel;)[Ljava/security/cert/X509Certificate;
-Landroid/net/wifi/ParcelUtil;->readPrivateKey(Landroid/os/Parcel;)Ljava/security/PrivateKey;
-Landroid/net/wifi/ParcelUtil;->writeCertificate(Landroid/os/Parcel;Ljava/security/cert/X509Certificate;)V
-Landroid/net/wifi/ParcelUtil;->writeCertificates(Landroid/os/Parcel;[Ljava/security/cert/X509Certificate;)V
-Landroid/net/wifi/ParcelUtil;->writePrivateKey(Landroid/os/Parcel;Ljava/security/PrivateKey;)V
-Landroid/net/wifi/PasspointManagementObjectDefinition;
-Landroid/net/wifi/PasspointManagementObjectDefinition;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/wifi/PasspointManagementObjectDefinition;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/PasspointManagementObjectDefinition;->getBaseUri()Ljava/lang/String;
-Landroid/net/wifi/PasspointManagementObjectDefinition;->getMoTree()Ljava/lang/String;
-Landroid/net/wifi/PasspointManagementObjectDefinition;->getUrn()Ljava/lang/String;
-Landroid/net/wifi/PasspointManagementObjectDefinition;->mBaseUri:Ljava/lang/String;
-Landroid/net/wifi/PasspointManagementObjectDefinition;->mMoTree:Ljava/lang/String;
-Landroid/net/wifi/PasspointManagementObjectDefinition;->mUrn:Ljava/lang/String;
-Landroid/net/wifi/RssiPacketCountInfo;
-Landroid/net/wifi/RssiPacketCountInfo;-><init>()V
-Landroid/net/wifi/RssiPacketCountInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/net/wifi/RssiPacketCountInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/RssiPacketCountInfo;->rssi:I
-Landroid/net/wifi/RssiPacketCountInfo;->rxgood:I
-Landroid/net/wifi/RssiPacketCountInfo;->txbad:I
-Landroid/net/wifi/RssiPacketCountInfo;->txgood:I
-Landroid/net/wifi/rtt/IRttCallback$Stub$Proxy;
-Landroid/net/wifi/rtt/IRttCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/wifi/rtt/IRttCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/wifi/rtt/IRttCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/wifi/rtt/IRttCallback$Stub$Proxy;->onRangingFailure(I)V
-Landroid/net/wifi/rtt/IRttCallback$Stub$Proxy;->onRangingResults(Ljava/util/List;)V
-Landroid/net/wifi/rtt/IRttCallback$Stub;
-Landroid/net/wifi/rtt/IRttCallback$Stub;-><init>()V
-Landroid/net/wifi/rtt/IRttCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/rtt/IRttCallback;
-Landroid/net/wifi/rtt/IRttCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/wifi/rtt/IRttCallback$Stub;->TRANSACTION_onRangingFailure:I
-Landroid/net/wifi/rtt/IRttCallback$Stub;->TRANSACTION_onRangingResults:I
-Landroid/net/wifi/rtt/IRttCallback;
-Landroid/net/wifi/rtt/IRttCallback;->onRangingFailure(I)V
-Landroid/net/wifi/rtt/IRttCallback;->onRangingResults(Ljava/util/List;)V
-Landroid/net/wifi/rtt/IWifiRttManager$Stub$Proxy;
-Landroid/net/wifi/rtt/IWifiRttManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/net/wifi/rtt/IWifiRttManager$Stub$Proxy;->cancelRanging(Landroid/os/WorkSource;)V
-Landroid/net/wifi/rtt/IWifiRttManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/net/wifi/rtt/IWifiRttManager$Stub$Proxy;->isAvailable()Z
-Landroid/net/wifi/rtt/IWifiRttManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/net/wifi/rtt/IWifiRttManager$Stub$Proxy;->startRanging(Landroid/os/IBinder;Ljava/lang/String;Landroid/os/WorkSource;Landroid/net/wifi/rtt/RangingRequest;Landroid/net/wifi/rtt/IRttCallback;)V
-Landroid/net/wifi/rtt/IWifiRttManager$Stub;
-Landroid/net/wifi/rtt/IWifiRttManager$Stub;-><init>()V
-Landroid/net/wifi/rtt/IWifiRttManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/rtt/IWifiRttManager;
-Landroid/net/wifi/rtt/IWifiRttManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/net/wifi/rtt/IWifiRttManager$Stub;->TRANSACTION_cancelRanging:I
-Landroid/net/wifi/rtt/IWifiRttManager$Stub;->TRANSACTION_isAvailable:I
-Landroid/net/wifi/rtt/IWifiRttManager$Stub;->TRANSACTION_startRanging:I
-Landroid/net/wifi/rtt/IWifiRttManager;
-Landroid/net/wifi/rtt/IWifiRttManager;->cancelRanging(Landroid/os/WorkSource;)V
-Landroid/net/wifi/rtt/IWifiRttManager;->isAvailable()Z
-Landroid/net/wifi/rtt/IWifiRttManager;->startRanging(Landroid/os/IBinder;Ljava/lang/String;Landroid/os/WorkSource;Landroid/net/wifi/rtt/RangingRequest;Landroid/net/wifi/rtt/IRttCallback;)V
-Landroid/net/wifi/rtt/RangingRequest$Builder;->mRttPeers:Ljava/util/List;
-Landroid/net/wifi/rtt/RangingRequest;-><init>(Ljava/util/List;)V
-Landroid/net/wifi/rtt/RangingRequest;->enforceValidity(Z)V
-Landroid/net/wifi/rtt/RangingRequest;->MAX_PEERS:I
-Landroid/net/wifi/rtt/RangingRequest;->mRttPeers:Ljava/util/List;
-Landroid/net/wifi/rtt/RangingResult$RangeResultStatus;
-Landroid/net/wifi/rtt/RangingResult;-><init>(ILandroid/net/MacAddress;IIIII[B[BJ)V
-Landroid/net/wifi/rtt/RangingResult;-><init>(ILandroid/net/wifi/aware/PeerHandle;IIIII[B[BJ)V
-Landroid/net/wifi/rtt/RangingResult;->EMPTY_BYTE_ARRAY:[B
-Landroid/net/wifi/rtt/RangingResult;->mDistanceMm:I
-Landroid/net/wifi/rtt/RangingResult;->mDistanceStdDevMm:I
-Landroid/net/wifi/rtt/RangingResult;->mLci:[B
-Landroid/net/wifi/rtt/RangingResult;->mLcr:[B
-Landroid/net/wifi/rtt/RangingResult;->mMac:Landroid/net/MacAddress;
-Landroid/net/wifi/rtt/RangingResult;->mNumAttemptedMeasurements:I
-Landroid/net/wifi/rtt/RangingResult;->mNumSuccessfulMeasurements:I
-Landroid/net/wifi/rtt/RangingResult;->mPeerHandle:Landroid/net/wifi/aware/PeerHandle;
-Landroid/net/wifi/rtt/RangingResult;->mRssi:I
-Landroid/net/wifi/rtt/RangingResult;->mStatus:I
-Landroid/net/wifi/rtt/RangingResult;->mTimestamp:J
-Landroid/net/wifi/rtt/RangingResult;->TAG:Ljava/lang/String;
-Landroid/net/wifi/rtt/RangingResultCallback$RangingOperationStatus;
-Landroid/net/wifi/rtt/ResponderConfig$ChannelWidth;
-Landroid/net/wifi/rtt/ResponderConfig$PreambleType;
-Landroid/net/wifi/rtt/ResponderConfig$ResponderType;
-Landroid/net/wifi/rtt/ResponderConfig;-><init>(Landroid/net/MacAddress;Landroid/net/wifi/aware/PeerHandle;IZIIIII)V
-Landroid/net/wifi/rtt/ResponderConfig;->AWARE_BAND_2_DISCOVERY_CHANNEL:I
-Landroid/net/wifi/rtt/ResponderConfig;->isValid(Z)Z
-Landroid/net/wifi/rtt/ResponderConfig;->TAG:Ljava/lang/String;
-Landroid/net/wifi/rtt/ResponderConfig;->translateScanResultChannelWidth(I)I
-Landroid/net/wifi/rtt/WifiRttManager;-><init>(Landroid/content/Context;Landroid/net/wifi/rtt/IWifiRttManager;)V
-Landroid/net/wifi/rtt/WifiRttManager;->mContext:Landroid/content/Context;
-Landroid/net/wifi/rtt/WifiRttManager;->mService:Landroid/net/wifi/rtt/IWifiRttManager;
-Landroid/net/wifi/rtt/WifiRttManager;->TAG:Ljava/lang/String;
-Landroid/net/wifi/rtt/WifiRttManager;->VDBG:Z
-Landroid/net/wifi/RttManager$ParcelableRttParams;-><init>([Landroid/net/wifi/RttManager$RttParams;)V
-Landroid/net/wifi/RttManager$ParcelableRttParams;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/RttManager$ParcelableRttResults;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/RttManager$RttCapabilities;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/RttManager;-><init>(Landroid/content/Context;Landroid/net/wifi/rtt/WifiRttManager;)V
-Landroid/net/wifi/RttManager;->CMD_OP_REG_BINDER:I
-Landroid/net/wifi/RttManager;->DBG:Z
-Landroid/net/wifi/RttManager;->mContext:Landroid/content/Context;
-Landroid/net/wifi/RttManager;->mNewService:Landroid/net/wifi/rtt/WifiRttManager;
-Landroid/net/wifi/RttManager;->mRttCapabilities:Landroid/net/wifi/RttManager$RttCapabilities;
-Landroid/net/wifi/RttManager;->TAG:Ljava/lang/String;
-Landroid/net/wifi/ScanResult$InformationElement;
-Landroid/net/wifi/ScanResult$InformationElement;-><init>()V
-Landroid/net/wifi/ScanResult$InformationElement;-><init>(Landroid/net/wifi/ScanResult$InformationElement;)V
-Landroid/net/wifi/ScanResult$InformationElement;->EID_HT_CAPABILITIES:I
-Landroid/net/wifi/ScanResult$InformationElement;->EID_VHT_CAPABILITIES:I
-Landroid/net/wifi/ScanResult$RadioChainInfo;
-Landroid/net/wifi/ScanResult$RadioChainInfo;-><init>()V
-Landroid/net/wifi/ScanResult$RadioChainInfo;->id:I
-Landroid/net/wifi/ScanResult$RadioChainInfo;->level:I
-Landroid/net/wifi/ScanResult;-><init>()V
-Landroid/net/wifi/ScanResult;-><init>(Landroid/net/wifi/ScanResult;)V
-Landroid/net/wifi/ScanResult;-><init>(Landroid/net/wifi/WifiSsid;Ljava/lang/String;JI[BLjava/lang/String;IIJ)V
-Landroid/net/wifi/ScanResult;-><init>(Landroid/net/wifi/WifiSsid;Ljava/lang/String;Ljava/lang/String;IIJII)V
-Landroid/net/wifi/ScanResult;-><init>(Landroid/net/wifi/WifiSsid;Ljava/lang/String;Ljava/lang/String;JILjava/lang/String;IIJIIIIIZ)V
-Landroid/net/wifi/ScanResult;-><init>(Ljava/lang/String;Ljava/lang/String;JILjava/lang/String;IIJIIIIIZ)V
-Landroid/net/wifi/ScanResult;->anqpElements:[Landroid/net/wifi/AnqpInformationElement;
-Landroid/net/wifi/ScanResult;->carrierApEapType:I
-Landroid/net/wifi/ScanResult;->carrierName:Ljava/lang/String;
-Landroid/net/wifi/ScanResult;->CIPHER_CCMP:I
-Landroid/net/wifi/ScanResult;->CIPHER_NONE:I
-Landroid/net/wifi/ScanResult;->CIPHER_NO_GROUP_ADDRESSED:I
-Landroid/net/wifi/ScanResult;->CIPHER_TKIP:I
-Landroid/net/wifi/ScanResult;->clearFlag(J)V
-Landroid/net/wifi/ScanResult;->FLAG_80211mc_RESPONDER:J
-Landroid/net/wifi/ScanResult;->FLAG_PASSPOINT_NETWORK:J
-Landroid/net/wifi/ScanResult;->is24GHz()Z
-Landroid/net/wifi/ScanResult;->is24GHz(I)Z
-Landroid/net/wifi/ScanResult;->is5GHz()Z
-Landroid/net/wifi/ScanResult;->is5GHz(I)Z
-Landroid/net/wifi/ScanResult;->isCarrierAp:Z
-Landroid/net/wifi/ScanResult;->KEY_MGMT_EAP:I
-Landroid/net/wifi/ScanResult;->KEY_MGMT_EAP_SHA256:I
-Landroid/net/wifi/ScanResult;->KEY_MGMT_FT_EAP:I
-Landroid/net/wifi/ScanResult;->KEY_MGMT_FT_PSK:I
-Landroid/net/wifi/ScanResult;->KEY_MGMT_NONE:I
-Landroid/net/wifi/ScanResult;->KEY_MGMT_OSEN:I
-Landroid/net/wifi/ScanResult;->KEY_MGMT_PSK:I
-Landroid/net/wifi/ScanResult;->KEY_MGMT_PSK_SHA256:I
-Landroid/net/wifi/ScanResult;->PROTOCOL_NONE:I
-Landroid/net/wifi/ScanResult;->PROTOCOL_OSEN:I
-Landroid/net/wifi/ScanResult;->PROTOCOL_WPA2:I
-Landroid/net/wifi/ScanResult;->PROTOCOL_WPA:I
-Landroid/net/wifi/ScanResult;->radioChainInfos:[Landroid/net/wifi/ScanResult$RadioChainInfo;
-Landroid/net/wifi/ScanResult;->setFlag(J)V
-Landroid/net/wifi/ScanResult;->UNSPECIFIED:I
-Landroid/net/wifi/SupplicantState;-><init>()V
-Landroid/net/wifi/SupplicantState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/SupplicantState;->isConnecting(Landroid/net/wifi/SupplicantState;)Z
-Landroid/net/wifi/SupplicantState;->isDriverActive(Landroid/net/wifi/SupplicantState;)Z
-Landroid/net/wifi/SupplicantState;->isHandshakeState(Landroid/net/wifi/SupplicantState;)Z
-Landroid/net/wifi/WifiActivityEnergyInfo;
-Landroid/net/wifi/WifiActivityEnergyInfo;-><init>(JIJ[JJJJJ)V
-Landroid/net/wifi/WifiActivityEnergyInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/WifiActivityEnergyInfo;->getControllerEnergyUsed()J
-Landroid/net/wifi/WifiActivityEnergyInfo;->getControllerIdleTimeMillis()J
-Landroid/net/wifi/WifiActivityEnergyInfo;->getControllerRxTimeMillis()J
-Landroid/net/wifi/WifiActivityEnergyInfo;->getControllerScanTimeMillis()J
-Landroid/net/wifi/WifiActivityEnergyInfo;->getControllerTxTimeMillis()J
-Landroid/net/wifi/WifiActivityEnergyInfo;->getControllerTxTimeMillisAtLevel(I)J
-Landroid/net/wifi/WifiActivityEnergyInfo;->getStackState()I
-Landroid/net/wifi/WifiActivityEnergyInfo;->getTimeStamp()J
-Landroid/net/wifi/WifiActivityEnergyInfo;->isValid()Z
-Landroid/net/wifi/WifiActivityEnergyInfo;->mControllerEnergyUsed:J
-Landroid/net/wifi/WifiActivityEnergyInfo;->mControllerIdleTimeMs:J
-Landroid/net/wifi/WifiActivityEnergyInfo;->mControllerRxTimeMs:J
-Landroid/net/wifi/WifiActivityEnergyInfo;->mControllerScanTimeMs:J
-Landroid/net/wifi/WifiActivityEnergyInfo;->mControllerTxTimeMs:J
-Landroid/net/wifi/WifiActivityEnergyInfo;->mControllerTxTimePerLevelMs:[J
-Landroid/net/wifi/WifiActivityEnergyInfo;->mStackState:I
-Landroid/net/wifi/WifiActivityEnergyInfo;->mTimestamp:J
-Landroid/net/wifi/WifiActivityEnergyInfo;->STACK_STATE_INVALID:I
-Landroid/net/wifi/WifiActivityEnergyInfo;->STACK_STATE_STATE_ACTIVE:I
-Landroid/net/wifi/WifiActivityEnergyInfo;->STACK_STATE_STATE_IDLE:I
-Landroid/net/wifi/WifiActivityEnergyInfo;->STACK_STATE_STATE_SCANNING:I
-Landroid/net/wifi/WifiConfiguration$AuthAlgorithm;-><init>()V
-Landroid/net/wifi/WifiConfiguration$GroupCipher;-><init>()V
-Landroid/net/wifi/WifiConfiguration$GroupCipher;->GTK_NOT_USED:I
-Landroid/net/wifi/WifiConfiguration$KeyMgmt;-><init>()V
-Landroid/net/wifi/WifiConfiguration$KeyMgmt;->FT_EAP:I
-Landroid/net/wifi/WifiConfiguration$KeyMgmt;->FT_PSK:I
-Landroid/net/wifi/WifiConfiguration$KeyMgmt;->OSEN:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;-><init>()V
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->clearDisableReasonCounter()V
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->clearDisableReasonCounter(I)V
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->CONNECT_CHOICE_EXISTS:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->CONNECT_CHOICE_NOT_EXISTS:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->copy(Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;)V
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->DISABLED_ASSOCIATION_REJECTION:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->DISABLED_AUTHENTICATION_FAILURE:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->DISABLED_AUTHENTICATION_NO_CREDENTIALS:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->DISABLED_BAD_LINK:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->DISABLED_BY_WIFI_MANAGER:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->DISABLED_BY_WRONG_PASSWORD:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->DISABLED_DHCP_FAILURE:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->DISABLED_DNS_FAILURE:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->DISABLED_DUE_TO_USER_SWITCH:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->DISABLED_NO_INTERNET_PERMANENT:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->DISABLED_NO_INTERNET_TEMPORARY:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->DISABLED_TLS_VERSION_MISMATCH:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->DISABLED_WPS_START:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getCandidate()Landroid/net/wifi/ScanResult;
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getCandidateScore()I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getConnectChoice()Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getConnectChoiceTimestamp()J
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getDisableReasonCounter(I)I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getDisableTime()J
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getHasEverConnected()Z
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getNetworkDisableReasonString()Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getNetworkDisableReasonString(I)Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getNetworkSelectionBSSID()Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getNetworkSelectionDisableReason()I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getNetworkSelectionStatus()I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getNetworkStatusString()Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getSeenInLastQualifiedNetworkSelection()Z
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->incrementDisableReasonCounter(I)V
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->INVALID_NETWORK_SELECTION_DISABLE_TIMESTAMP:J
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->isDisabledByReason(I)Z
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->isNetworkEnabled()Z
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->isNetworkPermanentlyDisabled()Z
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->isNetworkTemporaryDisabled()Z
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->isNotRecommended()Z
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->mCandidate:Landroid/net/wifi/ScanResult;
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->mCandidateScore:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->mConnectChoice:Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->mConnectChoiceTimestamp:J
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->mHasEverConnected:Z
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->mNetworkSeclectionDisableCounter:[I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->mNetworkSelectionBSSID:Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->mNetworkSelectionDisableReason:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->mNotRecommended:Z
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->mSeenInLastQualifiedNetworkSelection:Z
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->mStatus:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->mTemporarilyDisabledTimestamp:J
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->NETWORK_SELECTION_DISABLED_MAX:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->NETWORK_SELECTION_DISABLED_STARTING_INDEX:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->NETWORK_SELECTION_ENABLE:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->NETWORK_SELECTION_ENABLED:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->NETWORK_SELECTION_PERMANENTLY_DISABLED:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->NETWORK_SELECTION_STATUS_MAX:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->NETWORK_SELECTION_TEMPORARY_DISABLED:I
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->QUALITY_NETWORK_SELECTION_DISABLE_REASON:[Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->QUALITY_NETWORK_SELECTION_STATUS:[Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setCandidate(Landroid/net/wifi/ScanResult;)V
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setCandidateScore(I)V
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setConnectChoice(Ljava/lang/String;)V
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setConnectChoiceTimestamp(J)V
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setDisableReasonCounter(II)V
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setDisableTime(J)V
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setHasEverConnected(Z)V
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setNetworkSelectionBSSID(Ljava/lang/String;)V
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setNetworkSelectionDisableReason(I)V
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setNetworkSelectionStatus(I)V
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setNotRecommended(Z)V
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setSeenInLastQualifiedNetworkSelection(Z)V
-Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->writeToParcel(Landroid/os/Parcel;)V
-Landroid/net/wifi/WifiConfiguration$PairwiseCipher;-><init>()V
-Landroid/net/wifi/WifiConfiguration$Protocol;-><init>()V
-Landroid/net/wifi/WifiConfiguration$Protocol;->OSEN:I
-Landroid/net/wifi/WifiConfiguration$RecentFailure;
-Landroid/net/wifi/WifiConfiguration$RecentFailure;-><init>()V
-Landroid/net/wifi/WifiConfiguration$RecentFailure;->clear()V
-Landroid/net/wifi/WifiConfiguration$RecentFailure;->getAssociationStatus()I
-Landroid/net/wifi/WifiConfiguration$RecentFailure;->mAssociationStatus:I
-Landroid/net/wifi/WifiConfiguration$RecentFailure;->NONE:I
-Landroid/net/wifi/WifiConfiguration$RecentFailure;->setAssociationStatus(I)V
-Landroid/net/wifi/WifiConfiguration$RecentFailure;->STATUS_AP_UNABLE_TO_HANDLE_NEW_STA:I
-Landroid/net/wifi/WifiConfiguration$Status;-><init>()V
-Landroid/net/wifi/WifiConfiguration;->AP_BAND_2GHZ:I
-Landroid/net/wifi/WifiConfiguration;->AP_BAND_5GHZ:I
-Landroid/net/wifi/WifiConfiguration;->AP_BAND_ANY:I
-Landroid/net/wifi/WifiConfiguration;->BACKUP_VERSION:I
-Landroid/net/wifi/WifiConfiguration;->bssidVarName:Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->configKey()Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->configKey(Z)Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->creationTime:Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->dhcpServer:Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->didSelfAdd:Z
-Landroid/net/wifi/WifiConfiguration;->dtimInterval:I
-Landroid/net/wifi/WifiConfiguration;->ephemeral:Z
-Landroid/net/wifi/WifiConfiguration;->getBytesForBackup()[B
-Landroid/net/wifi/WifiConfiguration;->getKeyIdForCredentials(Landroid/net/wifi/WifiConfiguration;)Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->getMoTree()Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->getNetworkSelectionStatus()Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;
-Landroid/net/wifi/WifiConfiguration;->getOrCreateRandomizedMacAddress()Landroid/net/MacAddress;
-Landroid/net/wifi/WifiConfiguration;->getRandomizedMacAddress()Landroid/net/MacAddress;
-Landroid/net/wifi/WifiConfiguration;->getWifiConfigFromBackup(Ljava/io/DataInputStream;)Landroid/net/wifi/WifiConfiguration;
-Landroid/net/wifi/WifiConfiguration;->hiddenSSIDVarName:Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->HOME_NETWORK_RSSI_BOOST:I
-Landroid/net/wifi/WifiConfiguration;->INVALID_NETWORK_ID:I
-Landroid/net/wifi/WifiConfiguration;->isLegacyPasspointConfig:Z
-Landroid/net/wifi/WifiConfiguration;->isLinked(Landroid/net/wifi/WifiConfiguration;)Z
-Landroid/net/wifi/WifiConfiguration;->isMetered(Landroid/net/wifi/WifiConfiguration;Landroid/net/wifi/WifiInfo;)Z
-Landroid/net/wifi/WifiConfiguration;->isOpenNetwork()Z
-Landroid/net/wifi/WifiConfiguration;->isValidMacAddressForRandomization(Landroid/net/MacAddress;)Z
-Landroid/net/wifi/WifiConfiguration;->lastConnected:J
-Landroid/net/wifi/WifiConfiguration;->lastDisconnected:J
-Landroid/net/wifi/WifiConfiguration;->linkedConfigurations:Ljava/util/HashMap;
-Landroid/net/wifi/WifiConfiguration;->LOCAL_ONLY_NETWORK_ID:I
-Landroid/net/wifi/WifiConfiguration;->MAXIMUM_RANDOM_MAC_GENERATION_RETRY:I
-Landroid/net/wifi/WifiConfiguration;->mCachedConfigKey:Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->meteredOverride:I
-Landroid/net/wifi/WifiConfiguration;->METERED_OVERRIDE_METERED:I
-Landroid/net/wifi/WifiConfiguration;->METERED_OVERRIDE_NONE:I
-Landroid/net/wifi/WifiConfiguration;->METERED_OVERRIDE_NOT_METERED:I
-Landroid/net/wifi/WifiConfiguration;->mNetworkSelectionStatus:Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;
-Landroid/net/wifi/WifiConfiguration;->mPasspointManagementObjectTree:Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->mRandomizedMacAddress:Landroid/net/MacAddress;
-Landroid/net/wifi/WifiConfiguration;->peerWifiConfiguration:Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->pmfVarName:Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->priorityVarName:Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->pskVarName:Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->readBitSet(Landroid/os/Parcel;)Ljava/util/BitSet;
-Landroid/net/wifi/WifiConfiguration;->recentFailure:Landroid/net/wifi/WifiConfiguration$RecentFailure;
-Landroid/net/wifi/WifiConfiguration;->requirePMF:Z
-Landroid/net/wifi/WifiConfiguration;->setNetworkSelectionStatus(Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;)V
-Landroid/net/wifi/WifiConfiguration;->setPasspointManagementObjectTree(Ljava/lang/String;)V
-Landroid/net/wifi/WifiConfiguration;->setRandomizedMacAddress(Landroid/net/MacAddress;)V
-Landroid/net/wifi/WifiConfiguration;->ssidVarName:Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->TAG:Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->trimStringForKeyId(Ljava/lang/String;)Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->UNKNOWN_UID:I
-Landroid/net/wifi/WifiConfiguration;->updateIdentiferVarName:Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->updateIdentifier:Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->updateTime:Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->userApproved:I
-Landroid/net/wifi/WifiConfiguration;->userApprovedAsString(I)Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->USER_APPROVED:I
-Landroid/net/wifi/WifiConfiguration;->USER_BANNED:I
-Landroid/net/wifi/WifiConfiguration;->USER_PENDING:I
-Landroid/net/wifi/WifiConfiguration;->USER_UNSPECIFIED:I
-Landroid/net/wifi/WifiConfiguration;->wepTxKeyIdxVarName:Ljava/lang/String;
-Landroid/net/wifi/WifiConfiguration;->writeBitSet(Landroid/os/Parcel;Ljava/util/BitSet;)V
-Landroid/net/wifi/WifiEnterpriseConfig$Eap;-><init>()V
-Landroid/net/wifi/WifiEnterpriseConfig$Eap;->strings:[Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig$Phase2;-><init>()V
-Landroid/net/wifi/WifiEnterpriseConfig$Phase2;->AUTHEAP_PREFIX:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig$Phase2;->AUTH_PREFIX:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig$Phase2;->strings:[Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig$SupplicantLoader;
-Landroid/net/wifi/WifiEnterpriseConfig$SupplicantLoader;->loadValue(Ljava/lang/String;)Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig$SupplicantSaver;
-Landroid/net/wifi/WifiEnterpriseConfig$SupplicantSaver;->saveValue(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/net/wifi/WifiEnterpriseConfig;->ALTSUBJECT_MATCH_KEY:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->ANON_IDENTITY_KEY:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->CA_CERT_ALIAS_DELIMITER:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->CA_CERT_KEY:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->CA_CERT_PREFIX:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->CA_PATH_KEY:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->CLIENT_CERT_KEY:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->CLIENT_CERT_PREFIX:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->convertToQuotedString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->copyFrom(Landroid/net/wifi/WifiEnterpriseConfig;ZLjava/lang/String;)V
-Landroid/net/wifi/WifiEnterpriseConfig;->copyFromExternal(Landroid/net/wifi/WifiEnterpriseConfig;Ljava/lang/String;)V
-Landroid/net/wifi/WifiEnterpriseConfig;->decodeCaCertificateAlias(Ljava/lang/String;)Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->DOM_SUFFIX_MATCH_KEY:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->EAP_KEY:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->EMPTY_VALUE:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->encodeCaCertificateAlias(Ljava/lang/String;)Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->ENGINE_DISABLE:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->ENGINE_ENABLE:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->ENGINE_ID_KEY:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->ENGINE_ID_KEYSTORE:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->ENGINE_KEY:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->getCaCertificateAliases()[Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->getCaPath()Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->getClientPrivateKey()Ljava/security/PrivateKey;
-Landroid/net/wifi/WifiEnterpriseConfig;->getFieldValue(Ljava/lang/String;)Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->getFieldValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->getKeyId(Landroid/net/wifi/WifiEnterpriseConfig;)Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->getStringIndex([Ljava/lang/String;Ljava/lang/String;I)I
-Landroid/net/wifi/WifiEnterpriseConfig;->IDENTITY_KEY:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->isEapMethodValid()Z
-Landroid/net/wifi/WifiEnterpriseConfig;->KEYSTORES_URI:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->KEYSTORE_URI:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->loadFromSupplicant(Landroid/net/wifi/WifiEnterpriseConfig$SupplicantLoader;)V
-Landroid/net/wifi/WifiEnterpriseConfig;->mCaCerts:[Ljava/security/cert/X509Certificate;
-Landroid/net/wifi/WifiEnterpriseConfig;->mClientCertificateChain:[Ljava/security/cert/X509Certificate;
-Landroid/net/wifi/WifiEnterpriseConfig;->mClientPrivateKey:Ljava/security/PrivateKey;
-Landroid/net/wifi/WifiEnterpriseConfig;->mEapMethod:I
-Landroid/net/wifi/WifiEnterpriseConfig;->mPhase2Method:I
-Landroid/net/wifi/WifiEnterpriseConfig;->OPP_KEY_CACHING:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->PASSWORD_KEY:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->PHASE2_KEY:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->PLMN_KEY:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->PRIVATE_KEY_ID_KEY:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->REALM_KEY:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->removeDoubleQuotes(Ljava/lang/String;)Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->resetCaCertificate()V
-Landroid/net/wifi/WifiEnterpriseConfig;->resetClientKeyEntry()V
-Landroid/net/wifi/WifiEnterpriseConfig;->saveToSupplicant(Landroid/net/wifi/WifiEnterpriseConfig$SupplicantSaver;)Z
-Landroid/net/wifi/WifiEnterpriseConfig;->setCaCertificateAliases([Ljava/lang/String;)V
-Landroid/net/wifi/WifiEnterpriseConfig;->setCaPath(Ljava/lang/String;)V
-Landroid/net/wifi/WifiEnterpriseConfig;->setFieldValue(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/wifi/WifiEnterpriseConfig;->setFieldValue(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/net/wifi/WifiEnterpriseConfig;->SUBJECT_MATCH_KEY:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->SUPPLICANT_CONFIG_KEYS:[Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->TAG:Ljava/lang/String;
-Landroid/net/wifi/WifiEnterpriseConfig;->UNQUOTED_KEYS:Ljava/util/List;
-Landroid/net/wifi/WifiInfo;-><init>(Landroid/net/wifi/WifiInfo;)V
-Landroid/net/wifi/WifiInfo;->hasRealMacAddress()Z
-Landroid/net/wifi/WifiInfo;->is24GHz()Z
-Landroid/net/wifi/WifiInfo;->MAX_RSSI:I
-Landroid/net/wifi/WifiInfo;->mEphemeral:Z
-Landroid/net/wifi/WifiInfo;->mFrequency:I
-Landroid/net/wifi/WifiInfo;->MIN_RSSI:I
-Landroid/net/wifi/WifiInfo;->mLinkSpeed:I
-Landroid/net/wifi/WifiInfo;->mMeteredHint:Z
-Landroid/net/wifi/WifiInfo;->mNetworkId:I
-Landroid/net/wifi/WifiInfo;->mRssi:I
-Landroid/net/wifi/WifiInfo;->mSupplicantState:Landroid/net/wifi/SupplicantState;
-Landroid/net/wifi/WifiInfo;->reset()V
-Landroid/net/wifi/WifiInfo;->rxSuccess:J
-Landroid/net/wifi/WifiInfo;->rxSuccessRate:D
-Landroid/net/wifi/WifiInfo;->setEphemeral(Z)V
-Landroid/net/wifi/WifiInfo;->setFrequency(I)V
-Landroid/net/wifi/WifiInfo;->setInetAddress(Ljava/net/InetAddress;)V
-Landroid/net/wifi/WifiInfo;->setMeteredHint(Z)V
-Landroid/net/wifi/WifiInfo;->setSSID(Landroid/net/wifi/WifiSsid;)V
-Landroid/net/wifi/WifiInfo;->stateMap:Ljava/util/EnumMap;
-Landroid/net/wifi/WifiInfo;->TAG:Ljava/lang/String;
-Landroid/net/wifi/WifiInfo;->txBad:J
-Landroid/net/wifi/WifiInfo;->txBadRate:D
-Landroid/net/wifi/WifiInfo;->txRetries:J
-Landroid/net/wifi/WifiInfo;->txRetriesRate:D
-Landroid/net/wifi/WifiInfo;->txSuccess:J
-Landroid/net/wifi/WifiInfo;->txSuccessRate:D
-Landroid/net/wifi/WifiInfo;->valueOf(Ljava/lang/String;)Landroid/net/wifi/SupplicantState;
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotCallback;->REQUEST_REGISTERED:I
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotCallbackProxy;
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotCallbackProxy;-><init>(Landroid/net/wifi/WifiManager;Landroid/os/Looper;Landroid/net/wifi/WifiManager$LocalOnlyHotspotCallback;)V
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotCallbackProxy;->getMessenger()Landroid/os/Messenger;
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotCallbackProxy;->mHandler:Landroid/os/Handler;
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotCallbackProxy;->mLooper:Landroid/os/Looper;
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotCallbackProxy;->mMessenger:Landroid/os/Messenger;
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotCallbackProxy;->mWifiManager:Ljava/lang/ref/WeakReference;
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotCallbackProxy;->notifyFailed(I)V
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotObserver;
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotObserver;-><init>()V
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotObserver;->onRegistered(Landroid/net/wifi/WifiManager$LocalOnlyHotspotSubscription;)V
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotObserver;->onStarted(Landroid/net/wifi/WifiConfiguration;)V
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotObserver;->onStopped()V
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotObserverProxy;
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotObserverProxy;-><init>(Landroid/net/wifi/WifiManager;Landroid/os/Looper;Landroid/net/wifi/WifiManager$LocalOnlyHotspotObserver;)V
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotObserverProxy;->getMessenger()Landroid/os/Messenger;
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotObserverProxy;->mHandler:Landroid/os/Handler;
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotObserverProxy;->mLooper:Landroid/os/Looper;
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotObserverProxy;->mMessenger:Landroid/os/Messenger;
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotObserverProxy;->mWifiManager:Ljava/lang/ref/WeakReference;
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotObserverProxy;->registered()V
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotReservation;-><init>(Landroid/net/wifi/WifiConfiguration;)V
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotReservation;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotReservation;->mConfig:Landroid/net/wifi/WifiConfiguration;
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotSubscription;
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotSubscription;-><init>()V
-Landroid/net/wifi/WifiManager$LocalOnlyHotspotSubscription;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/net/wifi/WifiManager$MulticastLock;-><init>(Ljava/lang/String;)V
-Landroid/net/wifi/WifiManager$MulticastLock;->mBinder:Landroid/os/IBinder;
-Landroid/net/wifi/WifiManager$MulticastLock;->mHeld:Z
-Landroid/net/wifi/WifiManager$MulticastLock;->mRefCount:I
-Landroid/net/wifi/WifiManager$MulticastLock;->mRefCounted:Z
-Landroid/net/wifi/WifiManager$MulticastLock;->mTag:Ljava/lang/String;
-Landroid/net/wifi/WifiManager$ProvisioningCallbackProxy;
-Landroid/net/wifi/WifiManager$ProvisioningCallbackProxy;-><init>(Landroid/os/Looper;Landroid/net/wifi/hotspot2/ProvisioningCallback;)V
-Landroid/net/wifi/WifiManager$ProvisioningCallbackProxy;->mCallback:Landroid/net/wifi/hotspot2/ProvisioningCallback;
-Landroid/net/wifi/WifiManager$ProvisioningCallbackProxy;->mHandler:Landroid/os/Handler;
-Landroid/net/wifi/WifiManager$ProvisioningCallbackProxy;->onProvisioningFailure(I)V
-Landroid/net/wifi/WifiManager$ProvisioningCallbackProxy;->onProvisioningStatus(I)V
-Landroid/net/wifi/WifiManager$SapStartFailure;
-Landroid/net/wifi/WifiManager$ServiceHandler;
-Landroid/net/wifi/WifiManager$ServiceHandler;-><init>(Landroid/os/Looper;)V
-Landroid/net/wifi/WifiManager$ServiceHandler;->dispatchMessageToListeners(Landroid/os/Message;)V
-Landroid/net/wifi/WifiManager$SoftApCallback;
-Landroid/net/wifi/WifiManager$SoftApCallback;->onNumClientsChanged(I)V
-Landroid/net/wifi/WifiManager$SoftApCallback;->onStateChanged(II)V
-Landroid/net/wifi/WifiManager$SoftApCallbackProxy;
-Landroid/net/wifi/WifiManager$SoftApCallbackProxy;-><init>(Landroid/os/Looper;Landroid/net/wifi/WifiManager$SoftApCallback;)V
-Landroid/net/wifi/WifiManager$SoftApCallbackProxy;->mCallback:Landroid/net/wifi/WifiManager$SoftApCallback;
-Landroid/net/wifi/WifiManager$SoftApCallbackProxy;->mHandler:Landroid/os/Handler;
-Landroid/net/wifi/WifiManager$SoftApCallbackProxy;->onNumClientsChanged(I)V
-Landroid/net/wifi/WifiManager$SoftApCallbackProxy;->onStateChanged(II)V
-Landroid/net/wifi/WifiManager$TxPacketCountListener;
-Landroid/net/wifi/WifiManager$TxPacketCountListener;->onFailure(I)V
-Landroid/net/wifi/WifiManager$TxPacketCountListener;->onSuccess(I)V
-Landroid/net/wifi/WifiManager$WifiApState;
-Landroid/net/wifi/WifiManager$WifiLock;-><init>(ILjava/lang/String;)V
-Landroid/net/wifi/WifiManager$WifiLock;->mBinder:Landroid/os/IBinder;
-Landroid/net/wifi/WifiManager$WifiLock;->mHeld:Z
-Landroid/net/wifi/WifiManager$WifiLock;->mLockType:I
-Landroid/net/wifi/WifiManager$WifiLock;->mRefCount:I
-Landroid/net/wifi/WifiManager$WifiLock;->mRefCounted:Z
-Landroid/net/wifi/WifiManager$WifiLock;->mTag:Ljava/lang/String;
-Landroid/net/wifi/WifiManager$WifiLock;->mWorkSource:Landroid/os/WorkSource;
-Landroid/net/wifi/WifiManager;-><init>(Landroid/content/Context;Landroid/net/wifi/IWifiManager;Landroid/os/Looper;)V
-Landroid/net/wifi/WifiManager;->ACTION_PASSPOINT_DEAUTH_IMMINENT:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->ACTION_PASSPOINT_ICON:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->ACTION_PASSPOINT_OSU_PROVIDERS_LIST:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->ACTION_PASSPOINT_SUBSCRIPTION_REMEDIATION:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->ACTION_REQUEST_DISABLE:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->ACTION_REQUEST_ENABLE:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->addOrUpdateNetwork(Landroid/net/wifi/WifiConfiguration;)I
-Landroid/net/wifi/WifiManager;->BASE:I
-Landroid/net/wifi/WifiManager;->BATCHED_SCAN_RESULTS_AVAILABLE_ACTION:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->BUSY:I
-Landroid/net/wifi/WifiManager;->CANCEL_WPS:I
-Landroid/net/wifi/WifiManager;->CANCEL_WPS_FAILED:I
-Landroid/net/wifi/WifiManager;->CANCEL_WPS_SUCCEDED:I
-Landroid/net/wifi/WifiManager;->CONNECT_NETWORK:I
-Landroid/net/wifi/WifiManager;->CONNECT_NETWORK_FAILED:I
-Landroid/net/wifi/WifiManager;->CONNECT_NETWORK_SUCCEEDED:I
-Landroid/net/wifi/WifiManager;->DATA_ACTIVITY_IN:I
-Landroid/net/wifi/WifiManager;->DATA_ACTIVITY_INOUT:I
-Landroid/net/wifi/WifiManager;->DATA_ACTIVITY_NONE:I
-Landroid/net/wifi/WifiManager;->DATA_ACTIVITY_NOTIFICATION:I
-Landroid/net/wifi/WifiManager;->DATA_ACTIVITY_OUT:I
-Landroid/net/wifi/WifiManager;->deauthenticateNetwork(JZ)V
-Landroid/net/wifi/WifiManager;->DEFAULT_POOR_NETWORK_AVOIDANCE_ENABLED:Z
-Landroid/net/wifi/WifiManager;->disableEphemeralNetwork(Ljava/lang/String;)V
-Landroid/net/wifi/WifiManager;->DISABLE_NETWORK:I
-Landroid/net/wifi/WifiManager;->DISABLE_NETWORK_FAILED:I
-Landroid/net/wifi/WifiManager;->DISABLE_NETWORK_SUCCEEDED:I
-Landroid/net/wifi/WifiManager;->enableWifiConnectivityManager(Z)V
-Landroid/net/wifi/WifiManager;->ERROR:I
-Landroid/net/wifi/WifiManager;->ERROR_AUTH_FAILURE_EAP_FAILURE:I
-Landroid/net/wifi/WifiManager;->ERROR_AUTH_FAILURE_NONE:I
-Landroid/net/wifi/WifiManager;->ERROR_AUTH_FAILURE_TIMEOUT:I
-Landroid/net/wifi/WifiManager;->ERROR_AUTH_FAILURE_WRONG_PSWD:I
-Landroid/net/wifi/WifiManager;->EXTRA_ANQP_ELEMENT_DATA:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->EXTRA_BSSID_LONG:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->EXTRA_DELAY:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->EXTRA_ESS:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->EXTRA_FILENAME:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->EXTRA_ICON:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->EXTRA_LINK_PROPERTIES:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->EXTRA_NETWORK_CAPABILITIES:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->EXTRA_SCAN_AVAILABLE:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->EXTRA_SUBSCRIPTION_REMEDIATION_METHOD:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->EXTRA_SUPPLICANT_ERROR_REASON:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->EXTRA_URL:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->EXTRA_WIFI_AP_FAILURE_REASON:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->EXTRA_WIFI_AP_INTERFACE_NAME:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->EXTRA_WIFI_AP_MODE:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->factoryReset()V
-Landroid/net/wifi/WifiManager;->FORGET_NETWORK:I
-Landroid/net/wifi/WifiManager;->FORGET_NETWORK_FAILED:I
-Landroid/net/wifi/WifiManager;->FORGET_NETWORK_SUCCEEDED:I
-Landroid/net/wifi/WifiManager;->getAllMatchingWifiConfigs(Landroid/net/wifi/ScanResult;)Ljava/util/List;
-Landroid/net/wifi/WifiManager;->getChannel()Lcom/android/internal/util/AsyncChannel;
-Landroid/net/wifi/WifiManager;->getControllerActivityEnergyInfo(I)Landroid/net/wifi/WifiActivityEnergyInfo;
-Landroid/net/wifi/WifiManager;->getCurrentNetworkWpsNfcConfigurationToken()Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->getEnableAutoJoinWhenAssociated()Z
-Landroid/net/wifi/WifiManager;->getMatchingOsuProviders(Landroid/net/wifi/ScanResult;)Ljava/util/List;
-Landroid/net/wifi/WifiManager;->getSupportedFeatures()I
-Landroid/net/wifi/WifiManager;->getTxPacketCount(Landroid/net/wifi/WifiManager$TxPacketCountListener;)V
-Landroid/net/wifi/WifiManager;->HOTSPOT_FAILED:I
-Landroid/net/wifi/WifiManager;->HOTSPOT_OBSERVER_REGISTERED:I
-Landroid/net/wifi/WifiManager;->HOTSPOT_STARTED:I
-Landroid/net/wifi/WifiManager;->HOTSPOT_STOPPED:I
-Landroid/net/wifi/WifiManager;->IFACE_IP_MODE_CONFIGURATION_ERROR:I
-Landroid/net/wifi/WifiManager;->IFACE_IP_MODE_LOCAL_ONLY:I
-Landroid/net/wifi/WifiManager;->IFACE_IP_MODE_TETHERED:I
-Landroid/net/wifi/WifiManager;->IFACE_IP_MODE_UNSPECIFIED:I
-Landroid/net/wifi/WifiManager;->INVALID_ARGS:I
-Landroid/net/wifi/WifiManager;->INVALID_KEY:I
-Landroid/net/wifi/WifiManager;->IN_PROGRESS:I
-Landroid/net/wifi/WifiManager;->isAdditionalStaSupported()Z
-Landroid/net/wifi/WifiManager;->isDualModeSupported()Z
-Landroid/net/wifi/WifiManager;->isFeatureSupported(I)Z
-Landroid/net/wifi/WifiManager;->isMulticastEnabled()Z
-Landroid/net/wifi/WifiManager;->isOffChannelTdlsSupported()Z
-Landroid/net/wifi/WifiManager;->isPasspointSupported()Z
-Landroid/net/wifi/WifiManager;->isWifiAwareSupported()Z
-Landroid/net/wifi/WifiManager;->mAsyncChannel:Lcom/android/internal/util/AsyncChannel;
-Landroid/net/wifi/WifiManager;->matchProviderWithCurrentNetwork(Ljava/lang/String;)I
-Landroid/net/wifi/WifiManager;->MAX_ACTIVE_LOCKS:I
-Landroid/net/wifi/WifiManager;->mConnected:Ljava/util/concurrent/CountDownLatch;
-Landroid/net/wifi/WifiManager;->mContext:Landroid/content/Context;
-Landroid/net/wifi/WifiManager;->mListenerKey:I
-Landroid/net/wifi/WifiManager;->mListenerMap:Landroid/util/SparseArray;
-Landroid/net/wifi/WifiManager;->mListenerMapLock:Ljava/lang/Object;
-Landroid/net/wifi/WifiManager;->mLock:Ljava/lang/Object;
-Landroid/net/wifi/WifiManager;->mLOHSCallbackProxy:Landroid/net/wifi/WifiManager$LocalOnlyHotspotCallbackProxy;
-Landroid/net/wifi/WifiManager;->mLOHSObserverProxy:Landroid/net/wifi/WifiManager$LocalOnlyHotspotObserverProxy;
-Landroid/net/wifi/WifiManager;->mLooper:Landroid/os/Looper;
-Landroid/net/wifi/WifiManager;->mTargetSdkVersion:I
-Landroid/net/wifi/WifiManager;->NOT_AUTHORIZED:I
-Landroid/net/wifi/WifiManager;->putListener(Ljava/lang/Object;)I
-Landroid/net/wifi/WifiManager;->queryPasspointIcon(JLjava/lang/String;)V
-Landroid/net/wifi/WifiManager;->registerSoftApCallback(Landroid/net/wifi/WifiManager$SoftApCallback;Landroid/os/Handler;)V
-Landroid/net/wifi/WifiManager;->removeListener(I)Ljava/lang/Object;
-Landroid/net/wifi/WifiManager;->restoreBackupData([B)V
-Landroid/net/wifi/WifiManager;->restoreSupplicantBackupData([B[B)V
-Landroid/net/wifi/WifiManager;->retrieveBackupData()[B
-Landroid/net/wifi/WifiManager;->RSSI_PKTCNT_FETCH:I
-Landroid/net/wifi/WifiManager;->RSSI_PKTCNT_FETCH_FAILED:I
-Landroid/net/wifi/WifiManager;->RSSI_PKTCNT_FETCH_SUCCEEDED:I
-Landroid/net/wifi/WifiManager;->SAP_START_FAILURE_GENERAL:I
-Landroid/net/wifi/WifiManager;->SAP_START_FAILURE_NO_CHANNEL:I
-Landroid/net/wifi/WifiManager;->SAVE_NETWORK:I
-Landroid/net/wifi/WifiManager;->SAVE_NETWORK_FAILED:I
-Landroid/net/wifi/WifiManager;->SAVE_NETWORK_SUCCEEDED:I
-Landroid/net/wifi/WifiManager;->setCountryCode(Ljava/lang/String;)V
-Landroid/net/wifi/WifiManager;->setEnableAutoJoinWhenAssociated(Z)Z
-Landroid/net/wifi/WifiManager;->sServiceHandlerDispatchLock:Ljava/lang/Object;
-Landroid/net/wifi/WifiManager;->startSoftAp(Landroid/net/wifi/WifiConfiguration;)Z
-Landroid/net/wifi/WifiManager;->startSubscriptionProvisioning(Landroid/net/wifi/hotspot2/OsuProvider;Landroid/net/wifi/hotspot2/ProvisioningCallback;Landroid/os/Handler;)V
-Landroid/net/wifi/WifiManager;->START_WPS:I
-Landroid/net/wifi/WifiManager;->START_WPS_SUCCEEDED:I
-Landroid/net/wifi/WifiManager;->stopLocalOnlyHotspot()V
-Landroid/net/wifi/WifiManager;->stopSoftAp()Z
-Landroid/net/wifi/WifiManager;->TAG:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->unregisterLocalOnlyHotspotObserver()V
-Landroid/net/wifi/WifiManager;->unregisterSoftApCallback(Landroid/net/wifi/WifiManager$SoftApCallback;)V
-Landroid/net/wifi/WifiManager;->updateInterfaceIpState(Ljava/lang/String;I)V
-Landroid/net/wifi/WifiManager;->watchLocalOnlyHotspot(Landroid/net/wifi/WifiManager$LocalOnlyHotspotObserver;Landroid/os/Handler;)V
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_ADDITIONAL_STA:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_AP_STA:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_AWARE:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_BATCH_SCAN:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_CONFIG_NDO:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_CONTROL_ROAMING:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_D2AP_RTT:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_D2D_RTT:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_EPR:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_HAL_EPNO:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_IE_WHITELIST:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_INFRA:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_INFRA_5G:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_LINK_LAYER_STATS:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_LOGGER:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_MKEEP_ALIVE:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_MOBILE_HOTSPOT:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_P2P:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_PASSPOINT:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_PNO:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_RSSI_MONITOR:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_SCANNER:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_SCAN_RAND:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_TDLS:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_TDLS_OFFCHANNEL:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_TRANSMIT_POWER:I
-Landroid/net/wifi/WifiManager;->WIFI_FEATURE_TX_POWER_LIMIT:I
-Landroid/net/wifi/WifiManager;->WIFI_MODE_NO_LOCKS_HELD:I
-Landroid/net/wifi/WifiManager;->WIFI_SCAN_AVAILABLE:Ljava/lang/String;
-Landroid/net/wifi/WifiManager;->WPS_COMPLETED:I
-Landroid/net/wifi/WifiManager;->WPS_FAILED:I
-Landroid/net/wifi/WifiNetworkConnectionStatistics;->TAG:Ljava/lang/String;
-Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;
-Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;-><init>(Landroid/os/Handler;)V
-Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;->mHandler:Landroid/os/Handler;
-Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;->networkCacheUpdated(Ljava/util/List;)V
-Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;->post(Ljava/util/List;)V
-Landroid/net/wifi/WifiNetworkScoreCache;
-Landroid/net/wifi/WifiNetworkScoreCache;-><init>(Landroid/content/Context;)V
-Landroid/net/wifi/WifiNetworkScoreCache;-><init>(Landroid/content/Context;Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;)V
-Landroid/net/wifi/WifiNetworkScoreCache;-><init>(Landroid/content/Context;Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;I)V
-Landroid/net/wifi/WifiNetworkScoreCache;->buildNetworkKey(Landroid/net/NetworkKey;)Ljava/lang/String;
-Landroid/net/wifi/WifiNetworkScoreCache;->buildNetworkKey(Landroid/net/ScoredNetwork;)Ljava/lang/String;
-Landroid/net/wifi/WifiNetworkScoreCache;->buildNetworkKey(Landroid/net/wifi/ScanResult;)Ljava/lang/String;
-Landroid/net/wifi/WifiNetworkScoreCache;->clearScores()V
-Landroid/net/wifi/WifiNetworkScoreCache;->DBG:Z
-Landroid/net/wifi/WifiNetworkScoreCache;->DEFAULT_MAX_CACHE_SIZE:I
-Landroid/net/wifi/WifiNetworkScoreCache;->getMeteredHint(Landroid/net/wifi/ScanResult;)Z
-Landroid/net/wifi/WifiNetworkScoreCache;->getNetworkScore(Landroid/net/wifi/ScanResult;)I
-Landroid/net/wifi/WifiNetworkScoreCache;->getNetworkScore(Landroid/net/wifi/ScanResult;Z)I
-Landroid/net/wifi/WifiNetworkScoreCache;->getScoredNetwork(Landroid/net/NetworkKey;)Landroid/net/ScoredNetwork;
-Landroid/net/wifi/WifiNetworkScoreCache;->getScoredNetwork(Landroid/net/wifi/ScanResult;)Landroid/net/ScoredNetwork;
-Landroid/net/wifi/WifiNetworkScoreCache;->hasScoreCurve(Landroid/net/wifi/ScanResult;)Z
-Landroid/net/wifi/WifiNetworkScoreCache;->INVALID_NETWORK_SCORE:I
-Landroid/net/wifi/WifiNetworkScoreCache;->isScoredNetwork(Landroid/net/wifi/ScanResult;)Z
-Landroid/net/wifi/WifiNetworkScoreCache;->mCache:Landroid/util/LruCache;
-Landroid/net/wifi/WifiNetworkScoreCache;->mContext:Landroid/content/Context;
-Landroid/net/wifi/WifiNetworkScoreCache;->mListener:Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;
-Landroid/net/wifi/WifiNetworkScoreCache;->mLock:Ljava/lang/Object;
-Landroid/net/wifi/WifiNetworkScoreCache;->registerListener(Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;)V
-Landroid/net/wifi/WifiNetworkScoreCache;->TAG:Ljava/lang/String;
-Landroid/net/wifi/WifiNetworkScoreCache;->unregisterListener()V
-Landroid/net/wifi/WifiNetworkScoreCache;->updateScores(Ljava/util/List;)V
-Landroid/net/wifi/WifiScanner$ChannelSpec;->dwellTimeMS:I
-Landroid/net/wifi/WifiScanner$ChannelSpec;->passive:Z
-Landroid/net/wifi/WifiScanner$HotlistSettings;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/WifiScanner$OperationResult;
-Landroid/net/wifi/WifiScanner$OperationResult;-><init>(ILjava/lang/String;)V
-Landroid/net/wifi/WifiScanner$OperationResult;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/WifiScanner$OperationResult;->description:Ljava/lang/String;
-Landroid/net/wifi/WifiScanner$OperationResult;->reason:I
-Landroid/net/wifi/WifiScanner$ParcelableScanData;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/WifiScanner$ParcelableScanResults;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/WifiScanner$PnoScanListener;
-Landroid/net/wifi/WifiScanner$PnoScanListener;->onPnoNetworkFound([Landroid/net/wifi/ScanResult;)V
-Landroid/net/wifi/WifiScanner$PnoSettings$PnoNetwork;
-Landroid/net/wifi/WifiScanner$PnoSettings$PnoNetwork;-><init>(Ljava/lang/String;)V
-Landroid/net/wifi/WifiScanner$PnoSettings$PnoNetwork;->authBitField:B
-Landroid/net/wifi/WifiScanner$PnoSettings$PnoNetwork;->AUTH_CODE_EAPOL:B
-Landroid/net/wifi/WifiScanner$PnoSettings$PnoNetwork;->AUTH_CODE_OPEN:B
-Landroid/net/wifi/WifiScanner$PnoSettings$PnoNetwork;->AUTH_CODE_PSK:B
-Landroid/net/wifi/WifiScanner$PnoSettings$PnoNetwork;->flags:B
-Landroid/net/wifi/WifiScanner$PnoSettings$PnoNetwork;->FLAG_A_BAND:B
-Landroid/net/wifi/WifiScanner$PnoSettings$PnoNetwork;->FLAG_DIRECTED_SCAN:B
-Landroid/net/wifi/WifiScanner$PnoSettings$PnoNetwork;->FLAG_G_BAND:B
-Landroid/net/wifi/WifiScanner$PnoSettings$PnoNetwork;->FLAG_SAME_NETWORK:B
-Landroid/net/wifi/WifiScanner$PnoSettings$PnoNetwork;->FLAG_STRICT_MATCH:B
-Landroid/net/wifi/WifiScanner$PnoSettings$PnoNetwork;->ssid:Ljava/lang/String;
-Landroid/net/wifi/WifiScanner$PnoSettings;
-Landroid/net/wifi/WifiScanner$PnoSettings;-><init>()V
-Landroid/net/wifi/WifiScanner$PnoSettings;->band5GHzBonus:I
-Landroid/net/wifi/WifiScanner$PnoSettings;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/WifiScanner$PnoSettings;->currentConnectionBonus:I
-Landroid/net/wifi/WifiScanner$PnoSettings;->initialScoreMax:I
-Landroid/net/wifi/WifiScanner$PnoSettings;->isConnected:Z
-Landroid/net/wifi/WifiScanner$PnoSettings;->min24GHzRssi:I
-Landroid/net/wifi/WifiScanner$PnoSettings;->min5GHzRssi:I
-Landroid/net/wifi/WifiScanner$PnoSettings;->networkList:[Landroid/net/wifi/WifiScanner$PnoSettings$PnoNetwork;
-Landroid/net/wifi/WifiScanner$PnoSettings;->sameNetworkBonus:I
-Landroid/net/wifi/WifiScanner$PnoSettings;->secureBonus:I
-Landroid/net/wifi/WifiScanner$ScanData;-><init>()V
-Landroid/net/wifi/WifiScanner$ScanData;-><init>(IIIZ[Landroid/net/wifi/ScanResult;)V
-Landroid/net/wifi/WifiScanner$ScanData;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/WifiScanner$ScanData;->getBucketsScanned()I
-Landroid/net/wifi/WifiScanner$ScanData;->isAllChannelsScanned()Z
-Landroid/net/wifi/WifiScanner$ScanData;->mAllChannelsScanned:Z
-Landroid/net/wifi/WifiScanner$ScanData;->mBucketsScanned:I
-Landroid/net/wifi/WifiScanner$ScanData;->mFlags:I
-Landroid/net/wifi/WifiScanner$ScanData;->mId:I
-Landroid/net/wifi/WifiScanner$ScanData;->mResults:[Landroid/net/wifi/ScanResult;
-Landroid/net/wifi/WifiScanner$ScanSettings$HiddenNetwork;
-Landroid/net/wifi/WifiScanner$ScanSettings$HiddenNetwork;-><init>(Ljava/lang/String;)V
-Landroid/net/wifi/WifiScanner$ScanSettings$HiddenNetwork;->ssid:Ljava/lang/String;
-Landroid/net/wifi/WifiScanner$ScanSettings;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/WifiScanner$ScanSettings;->hiddenNetworks:[Landroid/net/wifi/WifiScanner$ScanSettings$HiddenNetwork;
-Landroid/net/wifi/WifiScanner$ScanSettings;->isPnoScan:Z
-Landroid/net/wifi/WifiScanner$ScanSettings;->type:I
-Landroid/net/wifi/WifiScanner$ServiceHandler;
-Landroid/net/wifi/WifiScanner$ServiceHandler;-><init>(Landroid/os/Looper;)V
-Landroid/net/wifi/WifiScanner$WifiChangeSettings;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/WifiScanner;-><init>(Landroid/content/Context;Landroid/net/wifi/IWifiScanner;Landroid/os/Looper;)V
-Landroid/net/wifi/WifiScanner;->addListener(Landroid/net/wifi/WifiScanner$ActionListener;)I
-Landroid/net/wifi/WifiScanner;->BASE:I
-Landroid/net/wifi/WifiScanner;->CMD_DEREGISTER_SCAN_LISTENER:I
-Landroid/net/wifi/WifiScanner;->CMD_FULL_SCAN_RESULT:I
-Landroid/net/wifi/WifiScanner;->CMD_GET_SCAN_RESULTS:I
-Landroid/net/wifi/WifiScanner;->CMD_GET_SINGLE_SCAN_RESULTS:I
-Landroid/net/wifi/WifiScanner;->CMD_OP_FAILED:I
-Landroid/net/wifi/WifiScanner;->CMD_OP_SUCCEEDED:I
-Landroid/net/wifi/WifiScanner;->CMD_PNO_NETWORK_FOUND:I
-Landroid/net/wifi/WifiScanner;->CMD_REGISTER_SCAN_LISTENER:I
-Landroid/net/wifi/WifiScanner;->CMD_SCAN_RESULT:I
-Landroid/net/wifi/WifiScanner;->CMD_SINGLE_SCAN_COMPLETED:I
-Landroid/net/wifi/WifiScanner;->CMD_START_BACKGROUND_SCAN:I
-Landroid/net/wifi/WifiScanner;->CMD_START_PNO_SCAN:I
-Landroid/net/wifi/WifiScanner;->CMD_START_SINGLE_SCAN:I
-Landroid/net/wifi/WifiScanner;->CMD_STOP_BACKGROUND_SCAN:I
-Landroid/net/wifi/WifiScanner;->CMD_STOP_PNO_SCAN:I
-Landroid/net/wifi/WifiScanner;->CMD_STOP_SINGLE_SCAN:I
-Landroid/net/wifi/WifiScanner;->DBG:Z
-Landroid/net/wifi/WifiScanner;->deregisterScanListener(Landroid/net/wifi/WifiScanner$ScanListener;)V
-Landroid/net/wifi/WifiScanner;->getAvailableChannels(I)Ljava/util/List;
-Landroid/net/wifi/WifiScanner;->getListener(I)Ljava/lang/Object;
-Landroid/net/wifi/WifiScanner;->getListenerKey(Ljava/lang/Object;)I
-Landroid/net/wifi/WifiScanner;->getSingleScanResults()Ljava/util/List;
-Landroid/net/wifi/WifiScanner;->GET_AVAILABLE_CHANNELS_EXTRA:Ljava/lang/String;
-Landroid/net/wifi/WifiScanner;->INVALID_KEY:I
-Landroid/net/wifi/WifiScanner;->mAsyncChannel:Lcom/android/internal/util/AsyncChannel;
-Landroid/net/wifi/WifiScanner;->mContext:Landroid/content/Context;
-Landroid/net/wifi/WifiScanner;->mInternalHandler:Landroid/os/Handler;
-Landroid/net/wifi/WifiScanner;->mListenerKey:I
-Landroid/net/wifi/WifiScanner;->mListenerMap:Landroid/util/SparseArray;
-Landroid/net/wifi/WifiScanner;->mListenerMapLock:Ljava/lang/Object;
-Landroid/net/wifi/WifiScanner;->mService:Landroid/net/wifi/IWifiScanner;
-Landroid/net/wifi/WifiScanner;->PNO_PARAMS_PNO_SETTINGS_KEY:Ljava/lang/String;
-Landroid/net/wifi/WifiScanner;->PNO_PARAMS_SCAN_SETTINGS_KEY:Ljava/lang/String;
-Landroid/net/wifi/WifiScanner;->putListener(Ljava/lang/Object;)I
-Landroid/net/wifi/WifiScanner;->registerScanListener(Landroid/net/wifi/WifiScanner$ScanListener;)V
-Landroid/net/wifi/WifiScanner;->removeListener(I)Ljava/lang/Object;
-Landroid/net/wifi/WifiScanner;->removeListener(Ljava/lang/Object;)I
-Landroid/net/wifi/WifiScanner;->SCAN_PARAMS_SCAN_SETTINGS_KEY:Ljava/lang/String;
-Landroid/net/wifi/WifiScanner;->SCAN_PARAMS_WORK_SOURCE_KEY:Ljava/lang/String;
-Landroid/net/wifi/WifiScanner;->startConnectedPnoScan(Landroid/net/wifi/WifiScanner$ScanSettings;Landroid/net/wifi/WifiScanner$PnoSettings;Landroid/net/wifi/WifiScanner$PnoScanListener;)V
-Landroid/net/wifi/WifiScanner;->startDisconnectedPnoScan(Landroid/net/wifi/WifiScanner$ScanSettings;Landroid/net/wifi/WifiScanner$PnoSettings;Landroid/net/wifi/WifiScanner$PnoScanListener;)V
-Landroid/net/wifi/WifiScanner;->startPnoScan(Landroid/net/wifi/WifiScanner$ScanSettings;Landroid/net/wifi/WifiScanner$PnoSettings;I)V
-Landroid/net/wifi/WifiScanner;->stopPnoScan(Landroid/net/wifi/WifiScanner$ScanListener;)V
-Landroid/net/wifi/WifiScanner;->TAG:Ljava/lang/String;
-Landroid/net/wifi/WifiScanner;->TYPE_HIGH_ACCURACY:I
-Landroid/net/wifi/WifiScanner;->TYPE_LOW_LATENCY:I
-Landroid/net/wifi/WifiScanner;->TYPE_LOW_POWER:I
-Landroid/net/wifi/WifiScanner;->validateChannel()V
-Landroid/net/wifi/WifiSsid;
-Landroid/net/wifi/WifiSsid;-><init>()V
-Landroid/net/wifi/WifiSsid;->convertToBytes(Ljava/lang/String;)V
-Landroid/net/wifi/WifiSsid;->createFromByteArray([B)Landroid/net/wifi/WifiSsid;
-Landroid/net/wifi/WifiSsid;->createFromHex(Ljava/lang/String;)Landroid/net/wifi/WifiSsid;
-Landroid/net/wifi/WifiSsid;->getHexString()Ljava/lang/String;
-Landroid/net/wifi/WifiSsid;->HEX_RADIX:I
-Landroid/net/wifi/WifiSsid;->isArrayAllZeroes([B)Z
-Landroid/net/wifi/WifiSsid;->isHidden()Z
-Landroid/net/wifi/WifiSsid;->TAG:Ljava/lang/String;
-Landroid/net/wifi/WifiWakeReasonAndCounts;
-Landroid/net/wifi/WifiWakeReasonAndCounts;-><init>()V
-Landroid/net/wifi/WifiWakeReasonAndCounts;->cmdEventWakeCntArray:[I
-Landroid/net/wifi/WifiWakeReasonAndCounts;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/WifiWakeReasonAndCounts;->driverFWLocalWakeCntArray:[I
-Landroid/net/wifi/WifiWakeReasonAndCounts;->icmp6:I
-Landroid/net/wifi/WifiWakeReasonAndCounts;->icmp6Na:I
-Landroid/net/wifi/WifiWakeReasonAndCounts;->icmp6Ns:I
-Landroid/net/wifi/WifiWakeReasonAndCounts;->icmp6Ra:I
-Landroid/net/wifi/WifiWakeReasonAndCounts;->icmp:I
-Landroid/net/wifi/WifiWakeReasonAndCounts;->ipv4RxMulticast:I
-Landroid/net/wifi/WifiWakeReasonAndCounts;->ipv6Multicast:I
-Landroid/net/wifi/WifiWakeReasonAndCounts;->otherRxMulticast:I
-Landroid/net/wifi/WifiWakeReasonAndCounts;->rxBroadcast:I
-Landroid/net/wifi/WifiWakeReasonAndCounts;->rxMulticast:I
-Landroid/net/wifi/WifiWakeReasonAndCounts;->rxUnicast:I
-Landroid/net/wifi/WifiWakeReasonAndCounts;->TAG:Ljava/lang/String;
-Landroid/net/wifi/WifiWakeReasonAndCounts;->totalCmdEventWake:I
-Landroid/net/wifi/WifiWakeReasonAndCounts;->totalDriverFwLocalWake:I
-Landroid/net/wifi/WifiWakeReasonAndCounts;->totalRxDataWake:I
-Landroid/net/wifi/WpsResult$Status;
-Landroid/net/wifi/WpsResult$Status;-><init>()V
-Landroid/net/wifi/WpsResult$Status;->FAILURE:Landroid/net/wifi/WpsResult$Status;
-Landroid/net/wifi/WpsResult$Status;->IN_PROGRESS:Landroid/net/wifi/WpsResult$Status;
-Landroid/net/wifi/WpsResult$Status;->SUCCESS:Landroid/net/wifi/WpsResult$Status;
-Landroid/net/wifi/WpsResult$Status;->valueOf(Ljava/lang/String;)Landroid/net/wifi/WpsResult$Status;
-Landroid/net/wifi/WpsResult$Status;->values()[Landroid/net/wifi/WpsResult$Status;
-Landroid/net/wifi/WpsResult;
-Landroid/net/wifi/WpsResult;-><init>()V
-Landroid/net/wifi/WpsResult;-><init>(Landroid/net/wifi/WpsResult$Status;)V
-Landroid/net/wifi/WpsResult;-><init>(Landroid/net/wifi/WpsResult;)V
-Landroid/net/wifi/WpsResult;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/net/wifi/WpsResult;->pin:Ljava/lang/String;
-Landroid/net/wifi/WpsResult;->status:Landroid/net/wifi/WpsResult$Status;
-Landroid/net/WifiKey;-><init>(Landroid/os/Parcel;)V
-Landroid/net/WifiKey;->BSSID_PATTERN:Ljava/util/regex/Pattern;
-Landroid/net/WifiKey;->SSID_PATTERN:Ljava/util/regex/Pattern;
-Landroid/net/WifiLinkQualityInfo;
-Landroid/net/WifiLinkQualityInfo;-><init>()V
-Landroid/net/WifiLinkQualityInfo;->createFromParcelBody(Landroid/os/Parcel;)Landroid/net/WifiLinkQualityInfo;
-Landroid/net/WifiLinkQualityInfo;->getBssid()Ljava/lang/String;
-Landroid/net/WifiLinkQualityInfo;->getRssi()I
-Landroid/net/WifiLinkQualityInfo;->getTxBad()J
-Landroid/net/WifiLinkQualityInfo;->getTxGood()J
-Landroid/net/WifiLinkQualityInfo;->getType()I
-Landroid/net/WifiLinkQualityInfo;->mBssid:Ljava/lang/String;
-Landroid/net/WifiLinkQualityInfo;->mRssi:I
-Landroid/net/WifiLinkQualityInfo;->mTxBad:J
-Landroid/net/WifiLinkQualityInfo;->mTxGood:J
-Landroid/net/WifiLinkQualityInfo;->mType:I
-Landroid/net/WifiLinkQualityInfo;->setBssid(Ljava/lang/String;)V
-Landroid/net/WifiLinkQualityInfo;->setRssi(I)V
-Landroid/net/WifiLinkQualityInfo;->setTxBad(J)V
-Landroid/net/WifiLinkQualityInfo;->setTxGood(J)V
-Landroid/net/WifiLinkQualityInfo;->setType(I)V
-Landroid/nfc/ApduList;
-Landroid/nfc/ApduList;-><init>()V
-Landroid/nfc/ApduList;-><init>(Landroid/os/Parcel;)V
-Landroid/nfc/ApduList;->add([B)V
-Landroid/nfc/ApduList;->commands:Ljava/util/ArrayList;
-Landroid/nfc/ApduList;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/nfc/ApduList;->get()Ljava/util/List;
-Landroid/nfc/BeamShareData;
-Landroid/nfc/BeamShareData;-><init>(Landroid/nfc/NdefMessage;[Landroid/net/Uri;Landroid/os/UserHandle;I)V
-Landroid/nfc/BeamShareData;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/nfc/BeamShareData;->flags:I
-Landroid/nfc/BeamShareData;->ndefMessage:Landroid/nfc/NdefMessage;
-Landroid/nfc/BeamShareData;->uris:[Landroid/net/Uri;
-Landroid/nfc/BeamShareData;->userHandle:Landroid/os/UserHandle;
-Landroid/nfc/cardemulation/AidGroup;
-Landroid/nfc/cardemulation/AidGroup;-><init>(Ljava/util/List;Ljava/lang/String;)V
-Landroid/nfc/cardemulation/AidGroup;->isValidCategory(Ljava/lang/String;)Z
-Landroid/nfc/cardemulation/AidGroup;->MAX_NUM_AIDS:I
-Landroid/nfc/cardemulation/AidGroup;->TAG:Ljava/lang/String;
-Landroid/nfc/cardemulation/ApduServiceInfo;
-Landroid/nfc/cardemulation/ApduServiceInfo;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/nfc/cardemulation/ApduServiceInfo;->getAidGroups()Ljava/util/ArrayList;
-Landroid/nfc/cardemulation/ApduServiceInfo;->getAids()Ljava/util/List;
-Landroid/nfc/cardemulation/ApduServiceInfo;->getCategoryForAid(Ljava/lang/String;)Ljava/lang/String;
-Landroid/nfc/cardemulation/ApduServiceInfo;->getComponent()Landroid/content/ComponentName;
-Landroid/nfc/cardemulation/ApduServiceInfo;->getDynamicAidGroupForCategory(Ljava/lang/String;)Landroid/nfc/cardemulation/AidGroup;
-Landroid/nfc/cardemulation/ApduServiceInfo;->getPrefixAids()Ljava/util/List;
-Landroid/nfc/cardemulation/ApduServiceInfo;->getSubsetAids()Ljava/util/List;
-Landroid/nfc/cardemulation/ApduServiceInfo;->hasCategory(Ljava/lang/String;)Z
-Landroid/nfc/cardemulation/ApduServiceInfo;->loadAppLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
-Landroid/nfc/cardemulation/ApduServiceInfo;->loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
-Landroid/nfc/cardemulation/ApduServiceInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
-Landroid/nfc/cardemulation/ApduServiceInfo;->mBannerResourceId:I
-Landroid/nfc/cardemulation/ApduServiceInfo;->mDescription:Ljava/lang/String;
-Landroid/nfc/cardemulation/ApduServiceInfo;->mOnHost:Z
-Landroid/nfc/cardemulation/ApduServiceInfo;->mRequiresDeviceUnlock:Z
-Landroid/nfc/cardemulation/ApduServiceInfo;->mSettingsActivityName:Ljava/lang/String;
-Landroid/nfc/cardemulation/ApduServiceInfo;->mUid:I
-Landroid/nfc/cardemulation/ApduServiceInfo;->removeDynamicAidGroupForCategory(Ljava/lang/String;)Z
-Landroid/nfc/cardemulation/ApduServiceInfo;->setOrReplaceDynamicAidGroup(Landroid/nfc/cardemulation/AidGroup;)V
-Landroid/nfc/cardemulation/ApduServiceInfo;->TAG:Ljava/lang/String;
-Landroid/nfc/cardemulation/CardEmulation;-><init>(Landroid/content/Context;Landroid/nfc/INfcCardEmulation;)V
-Landroid/nfc/cardemulation/CardEmulation;->getServices(Ljava/lang/String;)Ljava/util/List;
-Landroid/nfc/cardemulation/CardEmulation;->isValidAid(Ljava/lang/String;)Z
-Landroid/nfc/cardemulation/CardEmulation;->mContext:Landroid/content/Context;
-Landroid/nfc/cardemulation/CardEmulation;->recoverService()V
-Landroid/nfc/cardemulation/CardEmulation;->sCardEmus:Ljava/util/HashMap;
-Landroid/nfc/cardemulation/CardEmulation;->setDefaultForNextTap(Landroid/content/ComponentName;)Z
-Landroid/nfc/cardemulation/CardEmulation;->setDefaultServiceForCategory(Landroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/nfc/cardemulation/CardEmulation;->sIsInitialized:Z
-Landroid/nfc/cardemulation/CardEmulation;->sService:Landroid/nfc/INfcCardEmulation;
-Landroid/nfc/cardemulation/CardEmulation;->TAG:Ljava/lang/String;
-Landroid/nfc/cardemulation/HostApduService$MsgHandler;
-Landroid/nfc/cardemulation/HostApduService$MsgHandler;-><init>()V
-Landroid/nfc/cardemulation/HostApduService;->KEY_DATA:Ljava/lang/String;
-Landroid/nfc/cardemulation/HostApduService;->mMessenger:Landroid/os/Messenger;
-Landroid/nfc/cardemulation/HostApduService;->mNfcService:Landroid/os/Messenger;
-Landroid/nfc/cardemulation/HostApduService;->MSG_COMMAND_APDU:I
-Landroid/nfc/cardemulation/HostApduService;->MSG_DEACTIVATED:I
-Landroid/nfc/cardemulation/HostApduService;->MSG_RESPONSE_APDU:I
-Landroid/nfc/cardemulation/HostApduService;->MSG_UNHANDLED:I
-Landroid/nfc/cardemulation/HostApduService;->TAG:Ljava/lang/String;
-Landroid/nfc/cardemulation/HostNfcFService$MsgHandler;
-Landroid/nfc/cardemulation/HostNfcFService$MsgHandler;-><init>()V
-Landroid/nfc/cardemulation/HostNfcFService;->KEY_DATA:Ljava/lang/String;
-Landroid/nfc/cardemulation/HostNfcFService;->KEY_MESSENGER:Ljava/lang/String;
-Landroid/nfc/cardemulation/HostNfcFService;->mMessenger:Landroid/os/Messenger;
-Landroid/nfc/cardemulation/HostNfcFService;->mNfcService:Landroid/os/Messenger;
-Landroid/nfc/cardemulation/HostNfcFService;->MSG_COMMAND_PACKET:I
-Landroid/nfc/cardemulation/HostNfcFService;->MSG_DEACTIVATED:I
-Landroid/nfc/cardemulation/HostNfcFService;->MSG_RESPONSE_PACKET:I
-Landroid/nfc/cardemulation/HostNfcFService;->TAG:Ljava/lang/String;
-Landroid/nfc/cardemulation/NfcFCardEmulation;-><init>(Landroid/content/Context;Landroid/nfc/INfcFCardEmulation;)V
-Landroid/nfc/cardemulation/NfcFCardEmulation;->getMaxNumOfRegisterableSystemCodes()I
-Landroid/nfc/cardemulation/NfcFCardEmulation;->getNfcFServices()Ljava/util/List;
-Landroid/nfc/cardemulation/NfcFCardEmulation;->isValidNfcid2(Ljava/lang/String;)Z
-Landroid/nfc/cardemulation/NfcFCardEmulation;->isValidSystemCode(Ljava/lang/String;)Z
-Landroid/nfc/cardemulation/NfcFCardEmulation;->mContext:Landroid/content/Context;
-Landroid/nfc/cardemulation/NfcFCardEmulation;->recoverService()V
-Landroid/nfc/cardemulation/NfcFCardEmulation;->sCardEmus:Ljava/util/HashMap;
-Landroid/nfc/cardemulation/NfcFCardEmulation;->sIsInitialized:Z
-Landroid/nfc/cardemulation/NfcFCardEmulation;->sService:Landroid/nfc/INfcFCardEmulation;
-Landroid/nfc/cardemulation/NfcFCardEmulation;->TAG:Ljava/lang/String;
-Landroid/nfc/cardemulation/NfcFServiceInfo;
-Landroid/nfc/cardemulation/NfcFServiceInfo;-><init>(Landroid/content/pm/PackageManager;Landroid/content/pm/ResolveInfo;)V
-Landroid/nfc/cardemulation/NfcFServiceInfo;-><init>(Landroid/content/pm/ResolveInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
-Landroid/nfc/cardemulation/NfcFServiceInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/nfc/cardemulation/NfcFServiceInfo;->DEFAULT_T3T_PMM:Ljava/lang/String;
-Landroid/nfc/cardemulation/NfcFServiceInfo;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/nfc/cardemulation/NfcFServiceInfo;->getComponent()Landroid/content/ComponentName;
-Landroid/nfc/cardemulation/NfcFServiceInfo;->getDescription()Ljava/lang/String;
-Landroid/nfc/cardemulation/NfcFServiceInfo;->getNfcid2()Ljava/lang/String;
-Landroid/nfc/cardemulation/NfcFServiceInfo;->getSystemCode()Ljava/lang/String;
-Landroid/nfc/cardemulation/NfcFServiceInfo;->getT3tPmm()Ljava/lang/String;
-Landroid/nfc/cardemulation/NfcFServiceInfo;->getUid()I
-Landroid/nfc/cardemulation/NfcFServiceInfo;->loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
-Landroid/nfc/cardemulation/NfcFServiceInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
-Landroid/nfc/cardemulation/NfcFServiceInfo;->mDescription:Ljava/lang/String;
-Landroid/nfc/cardemulation/NfcFServiceInfo;->mDynamicNfcid2:Ljava/lang/String;
-Landroid/nfc/cardemulation/NfcFServiceInfo;->mDynamicSystemCode:Ljava/lang/String;
-Landroid/nfc/cardemulation/NfcFServiceInfo;->mNfcid2:Ljava/lang/String;
-Landroid/nfc/cardemulation/NfcFServiceInfo;->mService:Landroid/content/pm/ResolveInfo;
-Landroid/nfc/cardemulation/NfcFServiceInfo;->mSystemCode:Ljava/lang/String;
-Landroid/nfc/cardemulation/NfcFServiceInfo;->mT3tPmm:Ljava/lang/String;
-Landroid/nfc/cardemulation/NfcFServiceInfo;->mUid:I
-Landroid/nfc/cardemulation/NfcFServiceInfo;->setOrReplaceDynamicNfcid2(Ljava/lang/String;)V
-Landroid/nfc/cardemulation/NfcFServiceInfo;->setOrReplaceDynamicSystemCode(Ljava/lang/String;)V
-Landroid/nfc/cardemulation/NfcFServiceInfo;->TAG:Ljava/lang/String;
-Landroid/nfc/ErrorCodes;
-Landroid/nfc/ErrorCodes;-><init>()V
-Landroid/nfc/ErrorCodes;->asString(I)Ljava/lang/String;
-Landroid/nfc/ErrorCodes;->ERROR_BUFFER_TO_SMALL:I
-Landroid/nfc/ErrorCodes;->ERROR_BUSY:I
-Landroid/nfc/ErrorCodes;->ERROR_CANCELLED:I
-Landroid/nfc/ErrorCodes;->ERROR_CONNECT:I
-Landroid/nfc/ErrorCodes;->ERROR_DISCONNECT:I
-Landroid/nfc/ErrorCodes;->ERROR_INSUFFICIENT_RESOURCES:I
-Landroid/nfc/ErrorCodes;->ERROR_INVALID_PARAM:I
-Landroid/nfc/ErrorCodes;->ERROR_IO:I
-Landroid/nfc/ErrorCodes;->ERROR_NFC_ON:I
-Landroid/nfc/ErrorCodes;->ERROR_NOT_INITIALIZED:I
-Landroid/nfc/ErrorCodes;->ERROR_NOT_SUPPORTED:I
-Landroid/nfc/ErrorCodes;->ERROR_NO_SE_CONNECTED:I
-Landroid/nfc/ErrorCodes;->ERROR_READ:I
-Landroid/nfc/ErrorCodes;->ERROR_SAP_USED:I
-Landroid/nfc/ErrorCodes;->ERROR_SERVICE_NAME_USED:I
-Landroid/nfc/ErrorCodes;->ERROR_SE_ALREADY_SELECTED:I
-Landroid/nfc/ErrorCodes;->ERROR_SE_CONNECTED:I
-Landroid/nfc/ErrorCodes;->ERROR_SOCKET_CREATION:I
-Landroid/nfc/ErrorCodes;->ERROR_SOCKET_NOT_CONNECTED:I
-Landroid/nfc/ErrorCodes;->ERROR_SOCKET_OPTIONS:I
-Landroid/nfc/ErrorCodes;->ERROR_TIMEOUT:I
-Landroid/nfc/ErrorCodes;->ERROR_WRITE:I
-Landroid/nfc/ErrorCodes;->SUCCESS:I
-Landroid/nfc/IAppCallback$Stub$Proxy;
-Landroid/nfc/IAppCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/nfc/IAppCallback$Stub$Proxy;->createBeamShareData(B)Landroid/nfc/BeamShareData;
-Landroid/nfc/IAppCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/nfc/IAppCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/nfc/IAppCallback$Stub$Proxy;->onNdefPushComplete(B)V
-Landroid/nfc/IAppCallback$Stub$Proxy;->onTagDiscovered(Landroid/nfc/Tag;)V
-Landroid/nfc/IAppCallback$Stub;
-Landroid/nfc/IAppCallback$Stub;-><init>()V
-Landroid/nfc/IAppCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/nfc/IAppCallback;
-Landroid/nfc/IAppCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/nfc/IAppCallback$Stub;->TRANSACTION_createBeamShareData:I
-Landroid/nfc/IAppCallback$Stub;->TRANSACTION_onNdefPushComplete:I
-Landroid/nfc/IAppCallback$Stub;->TRANSACTION_onTagDiscovered:I
-Landroid/nfc/IAppCallback;
-Landroid/nfc/IAppCallback;->createBeamShareData(B)Landroid/nfc/BeamShareData;
-Landroid/nfc/IAppCallback;->onNdefPushComplete(B)V
-Landroid/nfc/IAppCallback;->onTagDiscovered(Landroid/nfc/Tag;)V
-Landroid/nfc/INfcAdapter$Stub$Proxy;
-Landroid/nfc/INfcAdapter$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/nfc/INfcAdapter$Stub$Proxy;->addNfcUnlockHandler(Landroid/nfc/INfcUnlockHandler;[I)V
-Landroid/nfc/INfcAdapter$Stub$Proxy;->disable(Z)Z
-Landroid/nfc/INfcAdapter$Stub$Proxy;->disableNdefPush()Z
-Landroid/nfc/INfcAdapter$Stub$Proxy;->dispatch(Landroid/nfc/Tag;)V
-Landroid/nfc/INfcAdapter$Stub$Proxy;->enable()Z
-Landroid/nfc/INfcAdapter$Stub$Proxy;->enableNdefPush()Z
-Landroid/nfc/INfcAdapter$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/nfc/INfcAdapter$Stub$Proxy;->getNfcAdapterExtrasInterface(Ljava/lang/String;)Landroid/nfc/INfcAdapterExtras;
-Landroid/nfc/INfcAdapter$Stub$Proxy;->getNfcCardEmulationInterface()Landroid/nfc/INfcCardEmulation;
-Landroid/nfc/INfcAdapter$Stub$Proxy;->getNfcDtaInterface(Ljava/lang/String;)Landroid/nfc/INfcDta;
-Landroid/nfc/INfcAdapter$Stub$Proxy;->getNfcFCardEmulationInterface()Landroid/nfc/INfcFCardEmulation;
-Landroid/nfc/INfcAdapter$Stub$Proxy;->getNfcTagInterface()Landroid/nfc/INfcTag;
-Landroid/nfc/INfcAdapter$Stub$Proxy;->getState()I
-Landroid/nfc/INfcAdapter$Stub$Proxy;->ignore(IILandroid/nfc/ITagRemovedCallback;)Z
-Landroid/nfc/INfcAdapter$Stub$Proxy;->invokeBeam()V
-Landroid/nfc/INfcAdapter$Stub$Proxy;->invokeBeamInternal(Landroid/nfc/BeamShareData;)V
-Landroid/nfc/INfcAdapter$Stub$Proxy;->isNdefPushEnabled()Z
-Landroid/nfc/INfcAdapter$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/nfc/INfcAdapter$Stub$Proxy;->pausePolling(I)V
-Landroid/nfc/INfcAdapter$Stub$Proxy;->removeNfcUnlockHandler(Landroid/nfc/INfcUnlockHandler;)V
-Landroid/nfc/INfcAdapter$Stub$Proxy;->resumePolling()V
-Landroid/nfc/INfcAdapter$Stub$Proxy;->setAppCallback(Landroid/nfc/IAppCallback;)V
-Landroid/nfc/INfcAdapter$Stub$Proxy;->setForegroundDispatch(Landroid/app/PendingIntent;[Landroid/content/IntentFilter;Landroid/nfc/TechListParcel;)V
-Landroid/nfc/INfcAdapter$Stub$Proxy;->setP2pModes(II)V
-Landroid/nfc/INfcAdapter$Stub$Proxy;->setReaderMode(Landroid/os/IBinder;Landroid/nfc/IAppCallback;ILandroid/os/Bundle;)V
-Landroid/nfc/INfcAdapter$Stub$Proxy;->verifyNfcPermission()V
-Landroid/nfc/INfcAdapter$Stub;
-Landroid/nfc/INfcAdapter$Stub;-><init>()V
-Landroid/nfc/INfcAdapter$Stub;->asInterface(Landroid/os/IBinder;)Landroid/nfc/INfcAdapter;
-Landroid/nfc/INfcAdapter$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_addNfcUnlockHandler:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_disable:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_disableNdefPush:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_dispatch:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_enableNdefPush:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_getNfcAdapterExtrasInterface:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_getNfcCardEmulationInterface:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_getNfcDtaInterface:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_getNfcFCardEmulationInterface:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_getNfcTagInterface:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_getState:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_ignore:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_invokeBeam:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_invokeBeamInternal:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_isNdefPushEnabled:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_pausePolling:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_removeNfcUnlockHandler:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_resumePolling:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_setAppCallback:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_setForegroundDispatch:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_setP2pModes:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_setReaderMode:I
-Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_verifyNfcPermission:I
-Landroid/nfc/INfcAdapter;
-Landroid/nfc/INfcAdapter;->addNfcUnlockHandler(Landroid/nfc/INfcUnlockHandler;[I)V
-Landroid/nfc/INfcAdapter;->disable(Z)Z
-Landroid/nfc/INfcAdapter;->disableNdefPush()Z
-Landroid/nfc/INfcAdapter;->dispatch(Landroid/nfc/Tag;)V
-Landroid/nfc/INfcAdapter;->enable()Z
-Landroid/nfc/INfcAdapter;->enableNdefPush()Z
-Landroid/nfc/INfcAdapter;->getNfcAdapterExtrasInterface(Ljava/lang/String;)Landroid/nfc/INfcAdapterExtras;
-Landroid/nfc/INfcAdapter;->getNfcCardEmulationInterface()Landroid/nfc/INfcCardEmulation;
-Landroid/nfc/INfcAdapter;->getNfcDtaInterface(Ljava/lang/String;)Landroid/nfc/INfcDta;
-Landroid/nfc/INfcAdapter;->getNfcFCardEmulationInterface()Landroid/nfc/INfcFCardEmulation;
-Landroid/nfc/INfcAdapter;->getNfcTagInterface()Landroid/nfc/INfcTag;
-Landroid/nfc/INfcAdapter;->getState()I
-Landroid/nfc/INfcAdapter;->ignore(IILandroid/nfc/ITagRemovedCallback;)Z
-Landroid/nfc/INfcAdapter;->invokeBeam()V
-Landroid/nfc/INfcAdapter;->invokeBeamInternal(Landroid/nfc/BeamShareData;)V
-Landroid/nfc/INfcAdapter;->isNdefPushEnabled()Z
-Landroid/nfc/INfcAdapter;->pausePolling(I)V
-Landroid/nfc/INfcAdapter;->removeNfcUnlockHandler(Landroid/nfc/INfcUnlockHandler;)V
-Landroid/nfc/INfcAdapter;->resumePolling()V
-Landroid/nfc/INfcAdapter;->setAppCallback(Landroid/nfc/IAppCallback;)V
-Landroid/nfc/INfcAdapter;->setForegroundDispatch(Landroid/app/PendingIntent;[Landroid/content/IntentFilter;Landroid/nfc/TechListParcel;)V
-Landroid/nfc/INfcAdapter;->setP2pModes(II)V
-Landroid/nfc/INfcAdapter;->setReaderMode(Landroid/os/IBinder;Landroid/nfc/IAppCallback;ILandroid/os/Bundle;)V
-Landroid/nfc/INfcAdapter;->verifyNfcPermission()V
-Landroid/nfc/INfcAdapterExtras$Stub$Proxy;
-Landroid/nfc/INfcAdapterExtras$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/nfc/INfcAdapterExtras$Stub$Proxy;->authenticate(Ljava/lang/String;[B)V
-Landroid/nfc/INfcAdapterExtras$Stub$Proxy;->close(Ljava/lang/String;Landroid/os/IBinder;)Landroid/os/Bundle;
-Landroid/nfc/INfcAdapterExtras$Stub$Proxy;->getCardEmulationRoute(Ljava/lang/String;)I
-Landroid/nfc/INfcAdapterExtras$Stub$Proxy;->getDriverName(Ljava/lang/String;)Ljava/lang/String;
-Landroid/nfc/INfcAdapterExtras$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/nfc/INfcAdapterExtras$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/nfc/INfcAdapterExtras$Stub$Proxy;->open(Ljava/lang/String;Landroid/os/IBinder;)Landroid/os/Bundle;
-Landroid/nfc/INfcAdapterExtras$Stub$Proxy;->setCardEmulationRoute(Ljava/lang/String;I)V
-Landroid/nfc/INfcAdapterExtras$Stub$Proxy;->transceive(Ljava/lang/String;[B)Landroid/os/Bundle;
-Landroid/nfc/INfcAdapterExtras$Stub;
-Landroid/nfc/INfcAdapterExtras$Stub;-><init>()V
-Landroid/nfc/INfcAdapterExtras$Stub;->asInterface(Landroid/os/IBinder;)Landroid/nfc/INfcAdapterExtras;
-Landroid/nfc/INfcAdapterExtras$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/nfc/INfcAdapterExtras$Stub;->TRANSACTION_authenticate:I
-Landroid/nfc/INfcAdapterExtras$Stub;->TRANSACTION_close:I
-Landroid/nfc/INfcAdapterExtras$Stub;->TRANSACTION_getCardEmulationRoute:I
-Landroid/nfc/INfcAdapterExtras$Stub;->TRANSACTION_getDriverName:I
-Landroid/nfc/INfcAdapterExtras$Stub;->TRANSACTION_open:I
-Landroid/nfc/INfcAdapterExtras$Stub;->TRANSACTION_setCardEmulationRoute:I
-Landroid/nfc/INfcAdapterExtras$Stub;->TRANSACTION_transceive:I
-Landroid/nfc/INfcAdapterExtras;
-Landroid/nfc/INfcCardEmulation$Stub$Proxy;
-Landroid/nfc/INfcCardEmulation$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/nfc/INfcCardEmulation$Stub$Proxy;->getAidGroupForService(ILandroid/content/ComponentName;Ljava/lang/String;)Landroid/nfc/cardemulation/AidGroup;
-Landroid/nfc/INfcCardEmulation$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/nfc/INfcCardEmulation$Stub$Proxy;->getServices(ILjava/lang/String;)Ljava/util/List;
-Landroid/nfc/INfcCardEmulation$Stub$Proxy;->isDefaultServiceForAid(ILandroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/nfc/INfcCardEmulation$Stub$Proxy;->isDefaultServiceForCategory(ILandroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/nfc/INfcCardEmulation$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/nfc/INfcCardEmulation$Stub$Proxy;->registerAidGroupForService(ILandroid/content/ComponentName;Landroid/nfc/cardemulation/AidGroup;)Z
-Landroid/nfc/INfcCardEmulation$Stub$Proxy;->removeAidGroupForService(ILandroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/nfc/INfcCardEmulation$Stub$Proxy;->setDefaultForNextTap(ILandroid/content/ComponentName;)Z
-Landroid/nfc/INfcCardEmulation$Stub$Proxy;->setDefaultServiceForCategory(ILandroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/nfc/INfcCardEmulation$Stub$Proxy;->setPreferredService(Landroid/content/ComponentName;)Z
-Landroid/nfc/INfcCardEmulation$Stub$Proxy;->supportsAidPrefixRegistration()Z
-Landroid/nfc/INfcCardEmulation$Stub$Proxy;->unsetPreferredService()Z
-Landroid/nfc/INfcCardEmulation$Stub;
-Landroid/nfc/INfcCardEmulation$Stub;-><init>()V
-Landroid/nfc/INfcCardEmulation$Stub;->asInterface(Landroid/os/IBinder;)Landroid/nfc/INfcCardEmulation;
-Landroid/nfc/INfcCardEmulation$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/nfc/INfcCardEmulation$Stub;->TRANSACTION_getAidGroupForService:I
-Landroid/nfc/INfcCardEmulation$Stub;->TRANSACTION_getServices:I
-Landroid/nfc/INfcCardEmulation$Stub;->TRANSACTION_isDefaultServiceForAid:I
-Landroid/nfc/INfcCardEmulation$Stub;->TRANSACTION_isDefaultServiceForCategory:I
-Landroid/nfc/INfcCardEmulation$Stub;->TRANSACTION_registerAidGroupForService:I
-Landroid/nfc/INfcCardEmulation$Stub;->TRANSACTION_removeAidGroupForService:I
-Landroid/nfc/INfcCardEmulation$Stub;->TRANSACTION_setDefaultForNextTap:I
-Landroid/nfc/INfcCardEmulation$Stub;->TRANSACTION_setDefaultServiceForCategory:I
-Landroid/nfc/INfcCardEmulation$Stub;->TRANSACTION_setPreferredService:I
-Landroid/nfc/INfcCardEmulation$Stub;->TRANSACTION_supportsAidPrefixRegistration:I
-Landroid/nfc/INfcCardEmulation$Stub;->TRANSACTION_unsetPreferredService:I
-Landroid/nfc/INfcCardEmulation;
-Landroid/nfc/INfcCardEmulation;->getAidGroupForService(ILandroid/content/ComponentName;Ljava/lang/String;)Landroid/nfc/cardemulation/AidGroup;
-Landroid/nfc/INfcCardEmulation;->getServices(ILjava/lang/String;)Ljava/util/List;
-Landroid/nfc/INfcCardEmulation;->isDefaultServiceForAid(ILandroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/nfc/INfcCardEmulation;->isDefaultServiceForCategory(ILandroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/nfc/INfcCardEmulation;->registerAidGroupForService(ILandroid/content/ComponentName;Landroid/nfc/cardemulation/AidGroup;)Z
-Landroid/nfc/INfcCardEmulation;->removeAidGroupForService(ILandroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/nfc/INfcCardEmulation;->setDefaultForNextTap(ILandroid/content/ComponentName;)Z
-Landroid/nfc/INfcCardEmulation;->setDefaultServiceForCategory(ILandroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/nfc/INfcCardEmulation;->setPreferredService(Landroid/content/ComponentName;)Z
-Landroid/nfc/INfcCardEmulation;->supportsAidPrefixRegistration()Z
-Landroid/nfc/INfcCardEmulation;->unsetPreferredService()Z
-Landroid/nfc/INfcDta$Stub$Proxy;
-Landroid/nfc/INfcDta$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/nfc/INfcDta$Stub$Proxy;->disableClient()V
-Landroid/nfc/INfcDta$Stub$Proxy;->disableDta()V
-Landroid/nfc/INfcDta$Stub$Proxy;->disableServer()V
-Landroid/nfc/INfcDta$Stub$Proxy;->enableClient(Ljava/lang/String;III)Z
-Landroid/nfc/INfcDta$Stub$Proxy;->enableDta()V
-Landroid/nfc/INfcDta$Stub$Proxy;->enableServer(Ljava/lang/String;IIII)Z
-Landroid/nfc/INfcDta$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/nfc/INfcDta$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/nfc/INfcDta$Stub$Proxy;->registerMessageService(Ljava/lang/String;)Z
-Landroid/nfc/INfcDta$Stub;
-Landroid/nfc/INfcDta$Stub;-><init>()V
-Landroid/nfc/INfcDta$Stub;->asInterface(Landroid/os/IBinder;)Landroid/nfc/INfcDta;
-Landroid/nfc/INfcDta$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/nfc/INfcDta$Stub;->TRANSACTION_disableClient:I
-Landroid/nfc/INfcDta$Stub;->TRANSACTION_disableDta:I
-Landroid/nfc/INfcDta$Stub;->TRANSACTION_disableServer:I
-Landroid/nfc/INfcDta$Stub;->TRANSACTION_enableClient:I
-Landroid/nfc/INfcDta$Stub;->TRANSACTION_enableDta:I
-Landroid/nfc/INfcDta$Stub;->TRANSACTION_enableServer:I
-Landroid/nfc/INfcDta$Stub;->TRANSACTION_registerMessageService:I
-Landroid/nfc/INfcDta;
-Landroid/nfc/INfcDta;->disableClient()V
-Landroid/nfc/INfcDta;->disableDta()V
-Landroid/nfc/INfcDta;->disableServer()V
-Landroid/nfc/INfcDta;->enableClient(Ljava/lang/String;III)Z
-Landroid/nfc/INfcDta;->enableDta()V
-Landroid/nfc/INfcDta;->enableServer(Ljava/lang/String;IIII)Z
-Landroid/nfc/INfcDta;->registerMessageService(Ljava/lang/String;)Z
-Landroid/nfc/INfcFCardEmulation$Stub$Proxy;
-Landroid/nfc/INfcFCardEmulation$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/nfc/INfcFCardEmulation$Stub$Proxy;->disableNfcFForegroundService()Z
-Landroid/nfc/INfcFCardEmulation$Stub$Proxy;->enableNfcFForegroundService(Landroid/content/ComponentName;)Z
-Landroid/nfc/INfcFCardEmulation$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/nfc/INfcFCardEmulation$Stub$Proxy;->getMaxNumOfRegisterableSystemCodes()I
-Landroid/nfc/INfcFCardEmulation$Stub$Proxy;->getNfcFServices(I)Ljava/util/List;
-Landroid/nfc/INfcFCardEmulation$Stub$Proxy;->getNfcid2ForService(ILandroid/content/ComponentName;)Ljava/lang/String;
-Landroid/nfc/INfcFCardEmulation$Stub$Proxy;->getSystemCodeForService(ILandroid/content/ComponentName;)Ljava/lang/String;
-Landroid/nfc/INfcFCardEmulation$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/nfc/INfcFCardEmulation$Stub$Proxy;->registerSystemCodeForService(ILandroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/nfc/INfcFCardEmulation$Stub$Proxy;->removeSystemCodeForService(ILandroid/content/ComponentName;)Z
-Landroid/nfc/INfcFCardEmulation$Stub$Proxy;->setNfcid2ForService(ILandroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/nfc/INfcFCardEmulation$Stub;
-Landroid/nfc/INfcFCardEmulation$Stub;-><init>()V
-Landroid/nfc/INfcFCardEmulation$Stub;->asInterface(Landroid/os/IBinder;)Landroid/nfc/INfcFCardEmulation;
-Landroid/nfc/INfcFCardEmulation$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/nfc/INfcFCardEmulation$Stub;->TRANSACTION_disableNfcFForegroundService:I
-Landroid/nfc/INfcFCardEmulation$Stub;->TRANSACTION_enableNfcFForegroundService:I
-Landroid/nfc/INfcFCardEmulation$Stub;->TRANSACTION_getMaxNumOfRegisterableSystemCodes:I
-Landroid/nfc/INfcFCardEmulation$Stub;->TRANSACTION_getNfcFServices:I
-Landroid/nfc/INfcFCardEmulation$Stub;->TRANSACTION_getNfcid2ForService:I
-Landroid/nfc/INfcFCardEmulation$Stub;->TRANSACTION_getSystemCodeForService:I
-Landroid/nfc/INfcFCardEmulation$Stub;->TRANSACTION_registerSystemCodeForService:I
-Landroid/nfc/INfcFCardEmulation$Stub;->TRANSACTION_removeSystemCodeForService:I
-Landroid/nfc/INfcFCardEmulation$Stub;->TRANSACTION_setNfcid2ForService:I
-Landroid/nfc/INfcFCardEmulation;
-Landroid/nfc/INfcFCardEmulation;->disableNfcFForegroundService()Z
-Landroid/nfc/INfcFCardEmulation;->enableNfcFForegroundService(Landroid/content/ComponentName;)Z
-Landroid/nfc/INfcFCardEmulation;->getMaxNumOfRegisterableSystemCodes()I
-Landroid/nfc/INfcFCardEmulation;->getNfcFServices(I)Ljava/util/List;
-Landroid/nfc/INfcFCardEmulation;->getNfcid2ForService(ILandroid/content/ComponentName;)Ljava/lang/String;
-Landroid/nfc/INfcFCardEmulation;->getSystemCodeForService(ILandroid/content/ComponentName;)Ljava/lang/String;
-Landroid/nfc/INfcFCardEmulation;->registerSystemCodeForService(ILandroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/nfc/INfcFCardEmulation;->removeSystemCodeForService(ILandroid/content/ComponentName;)Z
-Landroid/nfc/INfcFCardEmulation;->setNfcid2ForService(ILandroid/content/ComponentName;Ljava/lang/String;)Z
-Landroid/nfc/INfcTag$Stub$Proxy;
-Landroid/nfc/INfcTag$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/nfc/INfcTag$Stub$Proxy;->canMakeReadOnly(I)Z
-Landroid/nfc/INfcTag$Stub$Proxy;->connect(II)I
-Landroid/nfc/INfcTag$Stub$Proxy;->formatNdef(I[B)I
-Landroid/nfc/INfcTag$Stub$Proxy;->getExtendedLengthApdusSupported()Z
-Landroid/nfc/INfcTag$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/nfc/INfcTag$Stub$Proxy;->getMaxTransceiveLength(I)I
-Landroid/nfc/INfcTag$Stub$Proxy;->getTechList(I)[I
-Landroid/nfc/INfcTag$Stub$Proxy;->getTimeout(I)I
-Landroid/nfc/INfcTag$Stub$Proxy;->isNdef(I)Z
-Landroid/nfc/INfcTag$Stub$Proxy;->isPresent(I)Z
-Landroid/nfc/INfcTag$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/nfc/INfcTag$Stub$Proxy;->ndefIsWritable(I)Z
-Landroid/nfc/INfcTag$Stub$Proxy;->ndefMakeReadOnly(I)I
-Landroid/nfc/INfcTag$Stub$Proxy;->ndefRead(I)Landroid/nfc/NdefMessage;
-Landroid/nfc/INfcTag$Stub$Proxy;->ndefWrite(ILandroid/nfc/NdefMessage;)I
-Landroid/nfc/INfcTag$Stub$Proxy;->reconnect(I)I
-Landroid/nfc/INfcTag$Stub$Proxy;->rediscover(I)Landroid/nfc/Tag;
-Landroid/nfc/INfcTag$Stub$Proxy;->resetTimeouts()V
-Landroid/nfc/INfcTag$Stub$Proxy;->setTimeout(II)I
-Landroid/nfc/INfcTag$Stub$Proxy;->transceive(I[BZ)Landroid/nfc/TransceiveResult;
-Landroid/nfc/INfcTag$Stub;
-Landroid/nfc/INfcTag$Stub;-><init>()V
-Landroid/nfc/INfcTag$Stub;->asInterface(Landroid/os/IBinder;)Landroid/nfc/INfcTag;
-Landroid/nfc/INfcTag$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/nfc/INfcTag$Stub;->TRANSACTION_canMakeReadOnly:I
-Landroid/nfc/INfcTag$Stub;->TRANSACTION_connect:I
-Landroid/nfc/INfcTag$Stub;->TRANSACTION_formatNdef:I
-Landroid/nfc/INfcTag$Stub;->TRANSACTION_getExtendedLengthApdusSupported:I
-Landroid/nfc/INfcTag$Stub;->TRANSACTION_getMaxTransceiveLength:I
-Landroid/nfc/INfcTag$Stub;->TRANSACTION_getTechList:I
-Landroid/nfc/INfcTag$Stub;->TRANSACTION_getTimeout:I
-Landroid/nfc/INfcTag$Stub;->TRANSACTION_isNdef:I
-Landroid/nfc/INfcTag$Stub;->TRANSACTION_isPresent:I
-Landroid/nfc/INfcTag$Stub;->TRANSACTION_ndefIsWritable:I
-Landroid/nfc/INfcTag$Stub;->TRANSACTION_ndefMakeReadOnly:I
-Landroid/nfc/INfcTag$Stub;->TRANSACTION_ndefRead:I
-Landroid/nfc/INfcTag$Stub;->TRANSACTION_ndefWrite:I
-Landroid/nfc/INfcTag$Stub;->TRANSACTION_reconnect:I
-Landroid/nfc/INfcTag$Stub;->TRANSACTION_rediscover:I
-Landroid/nfc/INfcTag$Stub;->TRANSACTION_resetTimeouts:I
-Landroid/nfc/INfcTag$Stub;->TRANSACTION_setTimeout:I
-Landroid/nfc/INfcTag$Stub;->TRANSACTION_transceive:I
-Landroid/nfc/INfcTag;
-Landroid/nfc/INfcTag;->canMakeReadOnly(I)Z
-Landroid/nfc/INfcTag;->connect(II)I
-Landroid/nfc/INfcTag;->formatNdef(I[B)I
-Landroid/nfc/INfcTag;->getExtendedLengthApdusSupported()Z
-Landroid/nfc/INfcTag;->getMaxTransceiveLength(I)I
-Landroid/nfc/INfcTag;->getTechList(I)[I
-Landroid/nfc/INfcTag;->getTimeout(I)I
-Landroid/nfc/INfcTag;->isNdef(I)Z
-Landroid/nfc/INfcTag;->isPresent(I)Z
-Landroid/nfc/INfcTag;->ndefIsWritable(I)Z
-Landroid/nfc/INfcTag;->ndefMakeReadOnly(I)I
-Landroid/nfc/INfcTag;->ndefRead(I)Landroid/nfc/NdefMessage;
-Landroid/nfc/INfcTag;->ndefWrite(ILandroid/nfc/NdefMessage;)I
-Landroid/nfc/INfcTag;->reconnect(I)I
-Landroid/nfc/INfcTag;->rediscover(I)Landroid/nfc/Tag;
-Landroid/nfc/INfcTag;->resetTimeouts()V
-Landroid/nfc/INfcTag;->setTimeout(II)I
-Landroid/nfc/INfcTag;->transceive(I[BZ)Landroid/nfc/TransceiveResult;
-Landroid/nfc/INfcUnlockHandler$Stub$Proxy;
-Landroid/nfc/INfcUnlockHandler$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/nfc/INfcUnlockHandler$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/nfc/INfcUnlockHandler$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/nfc/INfcUnlockHandler$Stub$Proxy;->onUnlockAttempted(Landroid/nfc/Tag;)Z
-Landroid/nfc/INfcUnlockHandler$Stub;
-Landroid/nfc/INfcUnlockHandler$Stub;-><init>()V
-Landroid/nfc/INfcUnlockHandler$Stub;->asInterface(Landroid/os/IBinder;)Landroid/nfc/INfcUnlockHandler;
-Landroid/nfc/INfcUnlockHandler$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/nfc/INfcUnlockHandler$Stub;->TRANSACTION_onUnlockAttempted:I
-Landroid/nfc/INfcUnlockHandler;
-Landroid/nfc/INfcUnlockHandler;->onUnlockAttempted(Landroid/nfc/Tag;)Z
-Landroid/nfc/ITagRemovedCallback$Stub$Proxy;
-Landroid/nfc/ITagRemovedCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/nfc/ITagRemovedCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/nfc/ITagRemovedCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/nfc/ITagRemovedCallback$Stub$Proxy;->onTagRemoved()V
-Landroid/nfc/ITagRemovedCallback$Stub;
-Landroid/nfc/ITagRemovedCallback$Stub;-><init>()V
-Landroid/nfc/ITagRemovedCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/nfc/ITagRemovedCallback;
-Landroid/nfc/ITagRemovedCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/nfc/ITagRemovedCallback$Stub;->TRANSACTION_onTagRemoved:I
-Landroid/nfc/ITagRemovedCallback;
-Landroid/nfc/ITagRemovedCallback;->onTagRemoved()V
-Landroid/nfc/NdefMessage;->mRecords:[Landroid/nfc/NdefRecord;
-Landroid/nfc/NdefRecord;->bytesToString([B)Ljava/lang/StringBuilder;
-Landroid/nfc/NdefRecord;->EMPTY_BYTE_ARRAY:[B
-Landroid/nfc/NdefRecord;->ensureSanePayloadSize(J)V
-Landroid/nfc/NdefRecord;->FLAG_CF:B
-Landroid/nfc/NdefRecord;->FLAG_IL:B
-Landroid/nfc/NdefRecord;->FLAG_MB:B
-Landroid/nfc/NdefRecord;->FLAG_ME:B
-Landroid/nfc/NdefRecord;->FLAG_SR:B
-Landroid/nfc/NdefRecord;->getByteLength()I
-Landroid/nfc/NdefRecord;->MAX_PAYLOAD_SIZE:I
-Landroid/nfc/NdefRecord;->mPayload:[B
-Landroid/nfc/NdefRecord;->mTnf:S
-Landroid/nfc/NdefRecord;->mType:[B
-Landroid/nfc/NdefRecord;->parse(Ljava/nio/ByteBuffer;Z)[Landroid/nfc/NdefRecord;
-Landroid/nfc/NdefRecord;->parseWktUri()Landroid/net/Uri;
-Landroid/nfc/NdefRecord;->RTD_ANDROID_APP:[B
-Landroid/nfc/NdefRecord;->TNF_RESERVED:S
-Landroid/nfc/NdefRecord;->toUri(Z)Landroid/net/Uri;
-Landroid/nfc/NdefRecord;->URI_PREFIX_MAP:[Ljava/lang/String;
-Landroid/nfc/NdefRecord;->validateTnf(S[B[B[B)Ljava/lang/String;
-Landroid/nfc/NdefRecord;->writeToByteBuffer(Ljava/nio/ByteBuffer;ZZ)V
-Landroid/nfc/NfcActivityManager$NfcActivityState;
-Landroid/nfc/NfcActivityManager$NfcActivityState;-><init>(Landroid/app/Activity;)V
-Landroid/nfc/NfcActivityManager$NfcActivityState;->activity:Landroid/app/Activity;
-Landroid/nfc/NfcActivityManager$NfcActivityState;->destroy()V
-Landroid/nfc/NfcActivityManager$NfcActivityState;->flags:I
-Landroid/nfc/NfcActivityManager$NfcActivityState;->ndefMessage:Landroid/nfc/NdefMessage;
-Landroid/nfc/NfcActivityManager$NfcActivityState;->ndefMessageCallback:Landroid/nfc/NfcAdapter$CreateNdefMessageCallback;
-Landroid/nfc/NfcActivityManager$NfcActivityState;->onNdefPushCompleteCallback:Landroid/nfc/NfcAdapter$OnNdefPushCompleteCallback;
-Landroid/nfc/NfcActivityManager$NfcActivityState;->readerCallback:Landroid/nfc/NfcAdapter$ReaderCallback;
-Landroid/nfc/NfcActivityManager$NfcActivityState;->readerModeExtras:Landroid/os/Bundle;
-Landroid/nfc/NfcActivityManager$NfcActivityState;->readerModeFlags:I
-Landroid/nfc/NfcActivityManager$NfcActivityState;->resumed:Z
-Landroid/nfc/NfcActivityManager$NfcActivityState;->token:Landroid/os/Binder;
-Landroid/nfc/NfcActivityManager$NfcActivityState;->uriCallback:Landroid/nfc/NfcAdapter$CreateBeamUrisCallback;
-Landroid/nfc/NfcActivityManager$NfcActivityState;->uris:[Landroid/net/Uri;
-Landroid/nfc/NfcActivityManager$NfcApplicationState;
-Landroid/nfc/NfcActivityManager$NfcApplicationState;-><init>(Landroid/app/Application;)V
-Landroid/nfc/NfcActivityManager$NfcApplicationState;->app:Landroid/app/Application;
-Landroid/nfc/NfcActivityManager$NfcApplicationState;->refCount:I
-Landroid/nfc/NfcActivityManager$NfcApplicationState;->register()V
-Landroid/nfc/NfcActivityManager$NfcApplicationState;->unregister()V
-Landroid/nfc/NfcActivityManager;
-Landroid/nfc/NfcActivityManager;-><init>(Landroid/nfc/NfcAdapter;)V
-Landroid/nfc/NfcActivityManager;->createBeamShareData(B)Landroid/nfc/BeamShareData;
-Landroid/nfc/NfcActivityManager;->DBG:Ljava/lang/Boolean;
-Landroid/nfc/NfcActivityManager;->destroyActivityState(Landroid/app/Activity;)V
-Landroid/nfc/NfcActivityManager;->disableReaderMode(Landroid/app/Activity;)V
-Landroid/nfc/NfcActivityManager;->enableReaderMode(Landroid/app/Activity;Landroid/nfc/NfcAdapter$ReaderCallback;ILandroid/os/Bundle;)V
-Landroid/nfc/NfcActivityManager;->findActivityState(Landroid/app/Activity;)Landroid/nfc/NfcActivityManager$NfcActivityState;
-Landroid/nfc/NfcActivityManager;->findAppState(Landroid/app/Application;)Landroid/nfc/NfcActivityManager$NfcApplicationState;
-Landroid/nfc/NfcActivityManager;->findResumedActivityState()Landroid/nfc/NfcActivityManager$NfcActivityState;
-Landroid/nfc/NfcActivityManager;->getActivityState(Landroid/app/Activity;)Landroid/nfc/NfcActivityManager$NfcActivityState;
-Landroid/nfc/NfcActivityManager;->mActivities:Ljava/util/List;
-Landroid/nfc/NfcActivityManager;->mApps:Ljava/util/List;
-Landroid/nfc/NfcActivityManager;->onNdefPushComplete(B)V
-Landroid/nfc/NfcActivityManager;->onTagDiscovered(Landroid/nfc/Tag;)V
-Landroid/nfc/NfcActivityManager;->registerApplication(Landroid/app/Application;)V
-Landroid/nfc/NfcActivityManager;->requestNfcServiceCallback()V
-Landroid/nfc/NfcActivityManager;->setNdefPushContentUri(Landroid/app/Activity;[Landroid/net/Uri;)V
-Landroid/nfc/NfcActivityManager;->setNdefPushContentUriCallback(Landroid/app/Activity;Landroid/nfc/NfcAdapter$CreateBeamUrisCallback;)V
-Landroid/nfc/NfcActivityManager;->setNdefPushMessage(Landroid/app/Activity;Landroid/nfc/NdefMessage;I)V
-Landroid/nfc/NfcActivityManager;->setNdefPushMessageCallback(Landroid/app/Activity;Landroid/nfc/NfcAdapter$CreateNdefMessageCallback;I)V
-Landroid/nfc/NfcActivityManager;->setOnNdefPushCompleteCallback(Landroid/app/Activity;Landroid/nfc/NfcAdapter$OnNdefPushCompleteCallback;)V
-Landroid/nfc/NfcActivityManager;->setReaderMode(Landroid/os/Binder;ILandroid/os/Bundle;)V
-Landroid/nfc/NfcActivityManager;->TAG:Ljava/lang/String;
-Landroid/nfc/NfcActivityManager;->unregisterApplication(Landroid/app/Application;)V
-Landroid/nfc/NfcActivityManager;->verifyNfcPermission()V
-Landroid/nfc/NfcAdapter;-><init>(Landroid/content/Context;)V
-Landroid/nfc/NfcAdapter;->ACTION_HANDOVER_TRANSFER_DONE:Ljava/lang/String;
-Landroid/nfc/NfcAdapter;->ACTION_HANDOVER_TRANSFER_STARTED:Ljava/lang/String;
-Landroid/nfc/NfcAdapter;->ACTION_TAG_LEFT_FIELD:Ljava/lang/String;
-Landroid/nfc/NfcAdapter;->disableForegroundDispatchInternal(Landroid/app/Activity;Z)V
-Landroid/nfc/NfcAdapter;->dispatch(Landroid/nfc/Tag;)V
-Landroid/nfc/NfcAdapter;->enforceResumed(Landroid/app/Activity;)V
-Landroid/nfc/NfcAdapter;->EXTRA_HANDOVER_TRANSFER_STATUS:Ljava/lang/String;
-Landroid/nfc/NfcAdapter;->EXTRA_HANDOVER_TRANSFER_URI:Ljava/lang/String;
-Landroid/nfc/NfcAdapter;->getCardEmulationService()Landroid/nfc/INfcCardEmulation;
-Landroid/nfc/NfcAdapter;->getNfcDtaInterface()Landroid/nfc/INfcDta;
-Landroid/nfc/NfcAdapter;->getNfcFCardEmulationService()Landroid/nfc/INfcFCardEmulation;
-Landroid/nfc/NfcAdapter;->getSdkVersion()I
-Landroid/nfc/NfcAdapter;->getServiceInterface()Landroid/nfc/INfcAdapter;
-Landroid/nfc/NfcAdapter;->getTagService()Landroid/nfc/INfcTag;
-Landroid/nfc/NfcAdapter;->HANDOVER_TRANSFER_STATUS_FAILURE:I
-Landroid/nfc/NfcAdapter;->HANDOVER_TRANSFER_STATUS_SUCCESS:I
-Landroid/nfc/NfcAdapter;->hasNfcFeature()Z
-Landroid/nfc/NfcAdapter;->hasNfcHceFeature()Z
-Landroid/nfc/NfcAdapter;->invokeBeam(Landroid/nfc/BeamShareData;)Z
-Landroid/nfc/NfcAdapter;->mContext:Landroid/content/Context;
-Landroid/nfc/NfcAdapter;->mForegroundDispatchListener:Landroid/app/OnActivityPausedListener;
-Landroid/nfc/NfcAdapter;->mLock:Ljava/lang/Object;
-Landroid/nfc/NfcAdapter;->mNfcActivityManager:Landroid/nfc/NfcActivityManager;
-Landroid/nfc/NfcAdapter;->mNfcUnlockHandlers:Ljava/util/HashMap;
-Landroid/nfc/NfcAdapter;->mTagRemovedListener:Landroid/nfc/ITagRemovedCallback;
-Landroid/nfc/NfcAdapter;->pausePolling(I)V
-Landroid/nfc/NfcAdapter;->resumePolling()V
-Landroid/nfc/NfcAdapter;->sCardEmulationService:Landroid/nfc/INfcCardEmulation;
-Landroid/nfc/NfcAdapter;->setP2pModes(II)V
-Landroid/nfc/NfcAdapter;->sHasNfcFeature:Z
-Landroid/nfc/NfcAdapter;->sIsInitialized:Z
-Landroid/nfc/NfcAdapter;->sNfcAdapters:Ljava/util/HashMap;
-Landroid/nfc/NfcAdapter;->sNfcFCardEmulationService:Landroid/nfc/INfcFCardEmulation;
-Landroid/nfc/NfcAdapter;->sNullContextNfcAdapter:Landroid/nfc/NfcAdapter;
-Landroid/nfc/NfcAdapter;->sTagService:Landroid/nfc/INfcTag;
-Landroid/nfc/NfcAdapter;->TAG:Ljava/lang/String;
-Landroid/nfc/NfcEvent;-><init>(Landroid/nfc/NfcAdapter;B)V
-Landroid/nfc/NfcManager;->mAdapter:Landroid/nfc/NfcAdapter;
-Landroid/nfc/Tag;-><init>([B[I[Landroid/os/Bundle;ILandroid/nfc/INfcTag;)V
-Landroid/nfc/Tag;->createMockTag([B[I[Landroid/os/Bundle;)Landroid/nfc/Tag;
-Landroid/nfc/Tag;->generateTechStringList([I)[Ljava/lang/String;
-Landroid/nfc/Tag;->getConnectedTechnology()I
-Landroid/nfc/Tag;->getTechCodeList()[I
-Landroid/nfc/Tag;->getTechCodesFromStrings([Ljava/lang/String;)[I
-Landroid/nfc/Tag;->getTechExtras(I)Landroid/os/Bundle;
-Landroid/nfc/Tag;->getTechStringToCodeMap()Ljava/util/HashMap;
-Landroid/nfc/Tag;->hasTech(I)Z
-Landroid/nfc/Tag;->mConnectedTechnology:I
-Landroid/nfc/Tag;->mServiceHandle:I
-Landroid/nfc/Tag;->mTagService:Landroid/nfc/INfcTag;
-Landroid/nfc/Tag;->mTechExtras:[Landroid/os/Bundle;
-Landroid/nfc/Tag;->mTechList:[I
-Landroid/nfc/Tag;->mTechStringList:[Ljava/lang/String;
-Landroid/nfc/Tag;->readBytesWithNull(Landroid/os/Parcel;)[B
-Landroid/nfc/Tag;->rediscover()Landroid/nfc/Tag;
-Landroid/nfc/Tag;->setConnectedTechnology(I)V
-Landroid/nfc/Tag;->setTechnologyDisconnected()V
-Landroid/nfc/Tag;->writeBytesWithNull(Landroid/os/Parcel;[B)V
-Landroid/nfc/tech/BasicTagTechnology;
-Landroid/nfc/tech/BasicTagTechnology;-><init>(Landroid/nfc/Tag;I)V
-Landroid/nfc/tech/BasicTagTechnology;->checkConnected()V
-Landroid/nfc/tech/BasicTagTechnology;->getMaxTransceiveLengthInternal()I
-Landroid/nfc/tech/BasicTagTechnology;->mIsConnected:Z
-Landroid/nfc/tech/BasicTagTechnology;->mSelectedTechnology:I
-Landroid/nfc/tech/BasicTagTechnology;->mTag:Landroid/nfc/Tag;
-Landroid/nfc/tech/BasicTagTechnology;->reconnect()V
-Landroid/nfc/tech/BasicTagTechnology;->TAG:Ljava/lang/String;
-Landroid/nfc/tech/BasicTagTechnology;->transceive([BZ)[B
-Landroid/nfc/tech/IsoDep;-><init>(Landroid/nfc/Tag;)V
-Landroid/nfc/tech/IsoDep;->EXTRA_HIST_BYTES:Ljava/lang/String;
-Landroid/nfc/tech/IsoDep;->EXTRA_HI_LAYER_RESP:Ljava/lang/String;
-Landroid/nfc/tech/IsoDep;->mHiLayerResponse:[B
-Landroid/nfc/tech/IsoDep;->mHistBytes:[B
-Landroid/nfc/tech/IsoDep;->TAG:Ljava/lang/String;
-Landroid/nfc/tech/MifareClassic;-><init>(Landroid/nfc/Tag;)V
-Landroid/nfc/tech/MifareClassic;->authenticate(I[BZ)Z
-Landroid/nfc/tech/MifareClassic;->isEmulated()Z
-Landroid/nfc/tech/MifareClassic;->MAX_BLOCK_COUNT:I
-Landroid/nfc/tech/MifareClassic;->MAX_SECTOR_COUNT:I
-Landroid/nfc/tech/MifareClassic;->mIsEmulated:Z
-Landroid/nfc/tech/MifareClassic;->mSize:I
-Landroid/nfc/tech/MifareClassic;->mType:I
-Landroid/nfc/tech/MifareClassic;->TAG:Ljava/lang/String;
-Landroid/nfc/tech/MifareClassic;->validateBlock(I)V
-Landroid/nfc/tech/MifareClassic;->validateSector(I)V
-Landroid/nfc/tech/MifareClassic;->validateValueOperand(I)V
-Landroid/nfc/tech/MifareUltralight;-><init>(Landroid/nfc/Tag;)V
-Landroid/nfc/tech/MifareUltralight;->EXTRA_IS_UL_C:Ljava/lang/String;
-Landroid/nfc/tech/MifareUltralight;->MAX_PAGE_COUNT:I
-Landroid/nfc/tech/MifareUltralight;->mType:I
-Landroid/nfc/tech/MifareUltralight;->NXP_MANUFACTURER_ID:I
-Landroid/nfc/tech/MifareUltralight;->TAG:Ljava/lang/String;
-Landroid/nfc/tech/MifareUltralight;->validatePageIndex(I)V
-Landroid/nfc/tech/Ndef;-><init>(Landroid/nfc/Tag;)V
-Landroid/nfc/tech/Ndef;->EXTRA_NDEF_CARDSTATE:Ljava/lang/String;
-Landroid/nfc/tech/Ndef;->EXTRA_NDEF_MAXLENGTH:Ljava/lang/String;
-Landroid/nfc/tech/Ndef;->EXTRA_NDEF_MSG:Ljava/lang/String;
-Landroid/nfc/tech/Ndef;->EXTRA_NDEF_TYPE:Ljava/lang/String;
-Landroid/nfc/tech/Ndef;->ICODE_SLI:Ljava/lang/String;
-Landroid/nfc/tech/Ndef;->mCardState:I
-Landroid/nfc/tech/Ndef;->mMaxNdefSize:I
-Landroid/nfc/tech/Ndef;->mNdefMsg:Landroid/nfc/NdefMessage;
-Landroid/nfc/tech/Ndef;->mNdefType:I
-Landroid/nfc/tech/Ndef;->NDEF_MODE_READ_ONLY:I
-Landroid/nfc/tech/Ndef;->NDEF_MODE_READ_WRITE:I
-Landroid/nfc/tech/Ndef;->NDEF_MODE_UNKNOWN:I
-Landroid/nfc/tech/Ndef;->TAG:Ljava/lang/String;
-Landroid/nfc/tech/Ndef;->TYPE_1:I
-Landroid/nfc/tech/Ndef;->TYPE_2:I
-Landroid/nfc/tech/Ndef;->TYPE_3:I
-Landroid/nfc/tech/Ndef;->TYPE_4:I
-Landroid/nfc/tech/Ndef;->TYPE_ICODE_SLI:I
-Landroid/nfc/tech/Ndef;->TYPE_MIFARE_CLASSIC:I
-Landroid/nfc/tech/Ndef;->TYPE_OTHER:I
-Landroid/nfc/tech/Ndef;->UNKNOWN:Ljava/lang/String;
-Landroid/nfc/tech/NdefFormatable;-><init>(Landroid/nfc/Tag;)V
-Landroid/nfc/tech/NdefFormatable;->format(Landroid/nfc/NdefMessage;Z)V
-Landroid/nfc/tech/NdefFormatable;->TAG:Ljava/lang/String;
-Landroid/nfc/tech/NfcA;-><init>(Landroid/nfc/Tag;)V
-Landroid/nfc/tech/NfcA;->EXTRA_ATQA:Ljava/lang/String;
-Landroid/nfc/tech/NfcA;->EXTRA_SAK:Ljava/lang/String;
-Landroid/nfc/tech/NfcA;->mAtqa:[B
-Landroid/nfc/tech/NfcA;->mSak:S
-Landroid/nfc/tech/NfcA;->TAG:Ljava/lang/String;
-Landroid/nfc/tech/NfcB;-><init>(Landroid/nfc/Tag;)V
-Landroid/nfc/tech/NfcB;->EXTRA_APPDATA:Ljava/lang/String;
-Landroid/nfc/tech/NfcB;->EXTRA_PROTINFO:Ljava/lang/String;
-Landroid/nfc/tech/NfcB;->mAppData:[B
-Landroid/nfc/tech/NfcB;->mProtInfo:[B
-Landroid/nfc/tech/NfcBarcode;-><init>(Landroid/nfc/Tag;)V
-Landroid/nfc/tech/NfcBarcode;->EXTRA_BARCODE_TYPE:Ljava/lang/String;
-Landroid/nfc/tech/NfcBarcode;->mType:I
-Landroid/nfc/tech/NfcF;-><init>(Landroid/nfc/Tag;)V
-Landroid/nfc/tech/NfcF;->EXTRA_PMM:Ljava/lang/String;
-Landroid/nfc/tech/NfcF;->EXTRA_SC:Ljava/lang/String;
-Landroid/nfc/tech/NfcF;->mManufacturer:[B
-Landroid/nfc/tech/NfcF;->mSystemCode:[B
-Landroid/nfc/tech/NfcF;->TAG:Ljava/lang/String;
-Landroid/nfc/tech/NfcV;-><init>(Landroid/nfc/Tag;)V
-Landroid/nfc/tech/NfcV;->EXTRA_DSFID:Ljava/lang/String;
-Landroid/nfc/tech/NfcV;->EXTRA_RESP_FLAGS:Ljava/lang/String;
-Landroid/nfc/tech/NfcV;->mDsfId:B
-Landroid/nfc/tech/NfcV;->mRespFlags:B
-Landroid/nfc/tech/TagTechnology;->ISO_DEP:I
-Landroid/nfc/tech/TagTechnology;->MIFARE_CLASSIC:I
-Landroid/nfc/tech/TagTechnology;->MIFARE_ULTRALIGHT:I
-Landroid/nfc/tech/TagTechnology;->NDEF:I
-Landroid/nfc/tech/TagTechnology;->NDEF_FORMATABLE:I
-Landroid/nfc/tech/TagTechnology;->NFC_A:I
-Landroid/nfc/tech/TagTechnology;->NFC_B:I
-Landroid/nfc/tech/TagTechnology;->NFC_BARCODE:I
-Landroid/nfc/tech/TagTechnology;->NFC_F:I
-Landroid/nfc/tech/TagTechnology;->NFC_V:I
-Landroid/nfc/tech/TagTechnology;->reconnect()V
-Landroid/nfc/TechListParcel;
-Landroid/nfc/TechListParcel;-><init>([[[Ljava/lang/String;)V
-Landroid/nfc/TechListParcel;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/nfc/TechListParcel;->getTechLists()[[Ljava/lang/String;
-Landroid/nfc/TechListParcel;->mTechLists:[[Ljava/lang/String;
-Landroid/nfc/TransceiveResult;
-Landroid/nfc/TransceiveResult;-><init>(I[B)V
-Landroid/nfc/TransceiveResult;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/nfc/TransceiveResult;->getResponseOrThrow()[B
-Landroid/nfc/TransceiveResult;->mResponseData:[B
-Landroid/nfc/TransceiveResult;->mResult:I
-Landroid/nfc/TransceiveResult;->RESULT_EXCEEDED_LENGTH:I
-Landroid/nfc/TransceiveResult;->RESULT_FAILURE:I
-Landroid/nfc/TransceiveResult;->RESULT_SUCCESS:I
-Landroid/nfc/TransceiveResult;->RESULT_TAGLOST:I
-Landroid/opengl/EGL14;->eglCreatePbufferFromClientBuffer(Landroid/opengl/EGLDisplay;IJLandroid/opengl/EGLConfig;[II)Landroid/opengl/EGLSurface;
-Landroid/opengl/EGL14;->_eglCreateWindowSurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;Ljava/lang/Object;[II)Landroid/opengl/EGLSurface;
-Landroid/opengl/EGL14;->_eglCreateWindowSurfaceTexture(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;Ljava/lang/Object;[II)Landroid/opengl/EGLSurface;
-Landroid/opengl/EGL14;->_nativeClassInit()V
-Landroid/opengl/EGLConfig;-><init>(J)V
-Landroid/opengl/EGLContext;-><init>(J)V
-Landroid/opengl/EGLDisplay;-><init>(J)V
-Landroid/opengl/EGLExt;->_nativeClassInit()V
-Landroid/opengl/EGLObjectHandle;->mHandle:J
-Landroid/opengl/EGLSurface;-><init>(J)V
-Landroid/opengl/ETC1Util$ETC1Texture;->mData:Ljava/nio/ByteBuffer;
-Landroid/opengl/ETC1Util$ETC1Texture;->mHeight:I
-Landroid/opengl/ETC1Util$ETC1Texture;->mWidth:I
-Landroid/opengl/GLES10;->glColorPointerBounds(IIILjava/nio/Buffer;I)V
-Landroid/opengl/GLES10;->glNormalPointerBounds(IILjava/nio/Buffer;I)V
-Landroid/opengl/GLES10;->glTexCoordPointerBounds(IIILjava/nio/Buffer;I)V
-Landroid/opengl/GLES10;->glVertexPointerBounds(IIILjava/nio/Buffer;I)V
-Landroid/opengl/GLES10;->_colorPointer:Ljava/nio/Buffer;
-Landroid/opengl/GLES10;->_nativeClassInit()V
-Landroid/opengl/GLES10;->_normalPointer:Ljava/nio/Buffer;
-Landroid/opengl/GLES10;->_texCoordPointer:Ljava/nio/Buffer;
-Landroid/opengl/GLES10;->_vertexPointer:Ljava/nio/Buffer;
-Landroid/opengl/GLES10Ext;->_nativeClassInit()V
-Landroid/opengl/GLES11;->glPointSizePointerOESBounds(IILjava/nio/Buffer;I)V
-Landroid/opengl/GLES11;->_nativeClassInit()V
-Landroid/opengl/GLES11;->_pointSizePointerOES:Ljava/nio/Buffer;
-Landroid/opengl/GLES11Ext;->glMatrixIndexPointerOESBounds(IIILjava/nio/Buffer;I)V
-Landroid/opengl/GLES11Ext;->glWeightPointerOESBounds(IIILjava/nio/Buffer;I)V
-Landroid/opengl/GLES11Ext;->GL_BYTE:I
-Landroid/opengl/GLES11Ext;->GL_FIXED:I
-Landroid/opengl/GLES11Ext;->GL_FLOAT:I
-Landroid/opengl/GLES11Ext;->GL_SHORT:I
-Landroid/opengl/GLES11Ext;->_matrixIndexPointerOES:Ljava/nio/Buffer;
-Landroid/opengl/GLES11Ext;->_nativeClassInit()V
-Landroid/opengl/GLES20;->glGetShaderSource(IILjava/nio/IntBuffer;B)V
-Landroid/opengl/GLES20;->glVertexAttribPointerBounds(IIIZILjava/nio/Buffer;I)V
-Landroid/opengl/GLES20;->_nativeClassInit()V
-Landroid/opengl/GLES30;->glVertexAttribIPointerBounds(IIIILjava/nio/Buffer;I)V
-Landroid/opengl/GLES30;->_nativeClassInit()V
-Landroid/opengl/GLES31;-><init>()V
-Landroid/opengl/GLES31;->_nativeClassInit()V
-Landroid/opengl/GLES31Ext;-><init>()V
-Landroid/opengl/GLES31Ext;->_nativeClassInit()V
-Landroid/opengl/GLES32;-><init>()V
-Landroid/opengl/GLES32;->_nativeClassInit()V
-Landroid/opengl/GLException;->getError()I
-Landroid/opengl/GLException;->getErrorString(I)Ljava/lang/String;
-Landroid/opengl/GLException;->mError:I
-Landroid/opengl/GLSurfaceView$BaseConfigChooser;
-Landroid/opengl/GLSurfaceView$BaseConfigChooser;-><init>([I)V
-Landroid/opengl/GLSurfaceView$BaseConfigChooser;->chooseConfig(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;[Ljavax/microedition/khronos/egl/EGLConfig;)Ljavax/microedition/khronos/egl/EGLConfig;
-Landroid/opengl/GLSurfaceView$BaseConfigChooser;->filterConfigSpec([I)[I
-Landroid/opengl/GLSurfaceView$BaseConfigChooser;->mConfigSpec:[I
-Landroid/opengl/GLSurfaceView$ComponentSizeChooser;
-Landroid/opengl/GLSurfaceView$ComponentSizeChooser;-><init>(IIIIII)V
-Landroid/opengl/GLSurfaceView$ComponentSizeChooser;->chooseConfig(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;[Ljavax/microedition/khronos/egl/EGLConfig;)Ljavax/microedition/khronos/egl/EGLConfig;
-Landroid/opengl/GLSurfaceView$ComponentSizeChooser;->findConfigAttrib(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;II)I
-Landroid/opengl/GLSurfaceView$ComponentSizeChooser;->mAlphaSize:I
-Landroid/opengl/GLSurfaceView$ComponentSizeChooser;->mBlueSize:I
-Landroid/opengl/GLSurfaceView$ComponentSizeChooser;->mDepthSize:I
-Landroid/opengl/GLSurfaceView$ComponentSizeChooser;->mGreenSize:I
-Landroid/opengl/GLSurfaceView$ComponentSizeChooser;->mRedSize:I
-Landroid/opengl/GLSurfaceView$ComponentSizeChooser;->mStencilSize:I
-Landroid/opengl/GLSurfaceView$ComponentSizeChooser;->mValue:[I
-Landroid/opengl/GLSurfaceView$DefaultContextFactory;
-Landroid/opengl/GLSurfaceView$DefaultContextFactory;-><init>()V
-Landroid/opengl/GLSurfaceView$DefaultContextFactory;->EGL_CONTEXT_CLIENT_VERSION:I
-Landroid/opengl/GLSurfaceView$DefaultWindowSurfaceFactory;
-Landroid/opengl/GLSurfaceView$DefaultWindowSurfaceFactory;-><init>()V
-Landroid/opengl/GLSurfaceView$EglHelper;
-Landroid/opengl/GLSurfaceView$EglHelper;-><init>(Ljava/lang/ref/WeakReference;)V
-Landroid/opengl/GLSurfaceView$EglHelper;->createGL()Ljavax/microedition/khronos/opengles/GL;
-Landroid/opengl/GLSurfaceView$EglHelper;->createSurface()Z
-Landroid/opengl/GLSurfaceView$EglHelper;->destroySurface()V
-Landroid/opengl/GLSurfaceView$EglHelper;->destroySurfaceImp()V
-Landroid/opengl/GLSurfaceView$EglHelper;->finish()V
-Landroid/opengl/GLSurfaceView$EglHelper;->formatEglError(Ljava/lang/String;I)Ljava/lang/String;
-Landroid/opengl/GLSurfaceView$EglHelper;->logEglErrorAsWarning(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/opengl/GLSurfaceView$EglHelper;->mEgl:Ljavax/microedition/khronos/egl/EGL10;
-Landroid/opengl/GLSurfaceView$EglHelper;->mEglConfig:Ljavax/microedition/khronos/egl/EGLConfig;
-Landroid/opengl/GLSurfaceView$EglHelper;->mEglDisplay:Ljavax/microedition/khronos/egl/EGLDisplay;
-Landroid/opengl/GLSurfaceView$EglHelper;->mEglSurface:Ljavax/microedition/khronos/egl/EGLSurface;
-Landroid/opengl/GLSurfaceView$EglHelper;->mGLSurfaceViewWeakRef:Ljava/lang/ref/WeakReference;
-Landroid/opengl/GLSurfaceView$EglHelper;->start()V
-Landroid/opengl/GLSurfaceView$EglHelper;->swap()I
-Landroid/opengl/GLSurfaceView$EglHelper;->throwEglException(Ljava/lang/String;)V
-Landroid/opengl/GLSurfaceView$EglHelper;->throwEglException(Ljava/lang/String;I)V
-Landroid/opengl/GLSurfaceView$GLThread;
-Landroid/opengl/GLSurfaceView$GLThread;-><init>(Ljava/lang/ref/WeakReference;)V
-Landroid/opengl/GLSurfaceView$GLThread;->ableToDraw()Z
-Landroid/opengl/GLSurfaceView$GLThread;->getRenderMode()I
-Landroid/opengl/GLSurfaceView$GLThread;->guardedRun()V
-Landroid/opengl/GLSurfaceView$GLThread;->mEventQueue:Ljava/util/ArrayList;
-Landroid/opengl/GLSurfaceView$GLThread;->mExited:Z
-Landroid/opengl/GLSurfaceView$GLThread;->mFinishDrawingRunnable:Ljava/lang/Runnable;
-Landroid/opengl/GLSurfaceView$GLThread;->mFinishedCreatingEglSurface:Z
-Landroid/opengl/GLSurfaceView$GLThread;->mGLSurfaceViewWeakRef:Ljava/lang/ref/WeakReference;
-Landroid/opengl/GLSurfaceView$GLThread;->mHasSurface:Z
-Landroid/opengl/GLSurfaceView$GLThread;->mHaveEglContext:Z
-Landroid/opengl/GLSurfaceView$GLThread;->mHaveEglSurface:Z
-Landroid/opengl/GLSurfaceView$GLThread;->mHeight:I
-Landroid/opengl/GLSurfaceView$GLThread;->mPaused:Z
-Landroid/opengl/GLSurfaceView$GLThread;->mRenderComplete:Z
-Landroid/opengl/GLSurfaceView$GLThread;->mRenderMode:I
-Landroid/opengl/GLSurfaceView$GLThread;->mRequestPaused:Z
-Landroid/opengl/GLSurfaceView$GLThread;->mRequestRender:Z
-Landroid/opengl/GLSurfaceView$GLThread;->mShouldExit:Z
-Landroid/opengl/GLSurfaceView$GLThread;->mShouldReleaseEglContext:Z
-Landroid/opengl/GLSurfaceView$GLThread;->mSizeChanged:Z
-Landroid/opengl/GLSurfaceView$GLThread;->mSurfaceIsBad:Z
-Landroid/opengl/GLSurfaceView$GLThread;->mWaitingForSurface:Z
-Landroid/opengl/GLSurfaceView$GLThread;->mWantRenderNotification:Z
-Landroid/opengl/GLSurfaceView$GLThread;->mWidth:I
-Landroid/opengl/GLSurfaceView$GLThread;->onPause()V
-Landroid/opengl/GLSurfaceView$GLThread;->onResume()V
-Landroid/opengl/GLSurfaceView$GLThread;->onWindowResize(II)V
-Landroid/opengl/GLSurfaceView$GLThread;->queueEvent(Ljava/lang/Runnable;)V
-Landroid/opengl/GLSurfaceView$GLThread;->readyToDraw()Z
-Landroid/opengl/GLSurfaceView$GLThread;->requestExitAndWait()V
-Landroid/opengl/GLSurfaceView$GLThread;->requestReleaseEglContextLocked()V
-Landroid/opengl/GLSurfaceView$GLThread;->requestRender()V
-Landroid/opengl/GLSurfaceView$GLThread;->requestRenderAndNotify(Ljava/lang/Runnable;)V
-Landroid/opengl/GLSurfaceView$GLThread;->setRenderMode(I)V
-Landroid/opengl/GLSurfaceView$GLThread;->stopEglContextLocked()V
-Landroid/opengl/GLSurfaceView$GLThread;->stopEglSurfaceLocked()V
-Landroid/opengl/GLSurfaceView$GLThread;->surfaceCreated()V
-Landroid/opengl/GLSurfaceView$GLThread;->surfaceDestroyed()V
-Landroid/opengl/GLSurfaceView$GLThreadManager;
-Landroid/opengl/GLSurfaceView$GLThreadManager;-><init>()V
-Landroid/opengl/GLSurfaceView$GLThreadManager;->releaseEglContextLocked(Landroid/opengl/GLSurfaceView$GLThread;)V
-Landroid/opengl/GLSurfaceView$GLThreadManager;->TAG:Ljava/lang/String;
-Landroid/opengl/GLSurfaceView$GLThreadManager;->threadExiting(Landroid/opengl/GLSurfaceView$GLThread;)V
-Landroid/opengl/GLSurfaceView$LogWriter;
-Landroid/opengl/GLSurfaceView$LogWriter;-><init>()V
-Landroid/opengl/GLSurfaceView$LogWriter;->flushBuilder()V
-Landroid/opengl/GLSurfaceView$LogWriter;->mBuilder:Ljava/lang/StringBuilder;
-Landroid/opengl/GLSurfaceView$SimpleEGLConfigChooser;
-Landroid/opengl/GLSurfaceView$SimpleEGLConfigChooser;-><init>(Z)V
-Landroid/opengl/GLSurfaceView;->checkRenderThreadState()V
-Landroid/opengl/GLSurfaceView;->init()V
-Landroid/opengl/GLSurfaceView;->LOG_ATTACH_DETACH:Z
-Landroid/opengl/GLSurfaceView;->LOG_EGL:Z
-Landroid/opengl/GLSurfaceView;->LOG_PAUSE_RESUME:Z
-Landroid/opengl/GLSurfaceView;->LOG_RENDERER:Z
-Landroid/opengl/GLSurfaceView;->LOG_RENDERER_DRAW_FRAME:Z
-Landroid/opengl/GLSurfaceView;->LOG_SURFACE:Z
-Landroid/opengl/GLSurfaceView;->LOG_THREADS:Z
-Landroid/opengl/GLSurfaceView;->mDebugFlags:I
-Landroid/opengl/GLSurfaceView;->mDetached:Z
-Landroid/opengl/GLSurfaceView;->mEGLConfigChooser:Landroid/opengl/GLSurfaceView$EGLConfigChooser;
-Landroid/opengl/GLSurfaceView;->mEGLContextClientVersion:I
-Landroid/opengl/GLSurfaceView;->mEGLContextFactory:Landroid/opengl/GLSurfaceView$EGLContextFactory;
-Landroid/opengl/GLSurfaceView;->mEGLWindowSurfaceFactory:Landroid/opengl/GLSurfaceView$EGLWindowSurfaceFactory;
-Landroid/opengl/GLSurfaceView;->mGLWrapper:Landroid/opengl/GLSurfaceView$GLWrapper;
-Landroid/opengl/GLSurfaceView;->mPreserveEGLContextOnPause:Z
-Landroid/opengl/GLSurfaceView;->mThisWeakRef:Ljava/lang/ref/WeakReference;
-Landroid/opengl/GLSurfaceView;->sGLThreadManager:Landroid/opengl/GLSurfaceView$GLThreadManager;
-Landroid/opengl/GLSurfaceView;->TAG:Ljava/lang/String;
-Landroid/opengl/GLU;->sScratch:[F
-Landroid/opengl/GLUtils;-><init>()V
-Landroid/opengl/GLUtils;->native_getInternalFormat(Landroid/graphics/Bitmap;)I
-Landroid/opengl/GLUtils;->native_getType(Landroid/graphics/Bitmap;)I
-Landroid/opengl/GLUtils;->native_texImage2D(IIILandroid/graphics/Bitmap;II)I
-Landroid/opengl/GLUtils;->native_texSubImage2D(IIIILandroid/graphics/Bitmap;II)I
-Landroid/opengl/Matrix;->sTemp:[F
-Landroid/os/AsyncResult;
-Landroid/os/AsyncTask$AsyncTaskResult;
-Landroid/os/AsyncTask$AsyncTaskResult;-><init>(Landroid/os/AsyncTask;[[Ljava/lang/Object;)V
-Landroid/os/AsyncTask$AsyncTaskResult;->mData:[Ljava/lang/Object;
-Landroid/os/AsyncTask$AsyncTaskResult;->mTask:Landroid/os/AsyncTask;
-Landroid/os/AsyncTask$InternalHandler;
-Landroid/os/AsyncTask$InternalHandler;-><init>(Landroid/os/Looper;)V
-Landroid/os/AsyncTask$SerialExecutor;
-Landroid/os/AsyncTask$SerialExecutor;-><init>()V
-Landroid/os/AsyncTask$SerialExecutor;->mActive:Ljava/lang/Runnable;
-Landroid/os/AsyncTask$SerialExecutor;->mTasks:Ljava/util/ArrayDeque;
-Landroid/os/AsyncTask$SerialExecutor;->scheduleNext()V
-Landroid/os/AsyncTask$Status;-><init>()V
-Landroid/os/AsyncTask$WorkerRunnable;
-Landroid/os/AsyncTask$WorkerRunnable;-><init>()V
-Landroid/os/AsyncTask$WorkerRunnable;->mParams:[Ljava/lang/Object;
-Landroid/os/AsyncTask;-><init>(Landroid/os/Handler;)V
-Landroid/os/AsyncTask;-><init>(Landroid/os/Looper;)V
-Landroid/os/AsyncTask;->CORE_POOL_SIZE:I
-Landroid/os/AsyncTask;->CPU_COUNT:I
-Landroid/os/AsyncTask;->finish(Ljava/lang/Object;)V
-Landroid/os/AsyncTask;->getHandler()Landroid/os/Handler;
-Landroid/os/AsyncTask;->getMainHandler()Landroid/os/Handler;
-Landroid/os/AsyncTask;->KEEP_ALIVE_SECONDS:I
-Landroid/os/AsyncTask;->LOG_TAG:Ljava/lang/String;
-Landroid/os/AsyncTask;->MAXIMUM_POOL_SIZE:I
-Landroid/os/AsyncTask;->mCancelled:Ljava/util/concurrent/atomic/AtomicBoolean;
-Landroid/os/AsyncTask;->MESSAGE_POST_PROGRESS:I
-Landroid/os/AsyncTask;->MESSAGE_POST_RESULT:I
-Landroid/os/AsyncTask;->mHandler:Landroid/os/Handler;
-Landroid/os/AsyncTask;->postResult(Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/os/AsyncTask;->postResultIfNotInvoked(Ljava/lang/Object;)V
-Landroid/os/AsyncTask;->sHandler:Landroid/os/AsyncTask$InternalHandler;
-Landroid/os/AsyncTask;->sPoolWorkQueue:Ljava/util/concurrent/BlockingQueue;
-Landroid/os/AsyncTask;->sThreadFactory:Ljava/util/concurrent/ThreadFactory;
-Landroid/os/BackTraceProto$Stack;
-Landroid/os/BackTraceProto$Stack;-><init>()V
-Landroid/os/BackTraceProto$Stack;->DUMP:J
-Landroid/os/BackTraceProto$Stack;->DUMP_DURATION_NS:J
-Landroid/os/BackTraceProto$Stack;->PID:J
-Landroid/os/BackTraceProto;
-Landroid/os/BackTraceProto;-><init>()V
-Landroid/os/BackTraceProto;->TRACES:J
-Landroid/os/BaseBundle$NoImagePreloadHolder;
-Landroid/os/BaseBundle$NoImagePreloadHolder;-><init>()V
-Landroid/os/BaseBundle$NoImagePreloadHolder;->EMPTY_PARCEL:Landroid/os/Parcel;
-Landroid/os/BaseBundle;-><init>()V
-Landroid/os/BaseBundle;-><init>(I)V
-Landroid/os/BaseBundle;-><init>(Landroid/os/BaseBundle;)V
-Landroid/os/BaseBundle;-><init>(Landroid/os/Parcel;)V
-Landroid/os/BaseBundle;-><init>(Landroid/os/Parcel;I)V
-Landroid/os/BaseBundle;-><init>(Ljava/lang/ClassLoader;)V
-Landroid/os/BaseBundle;-><init>(Ljava/lang/ClassLoader;I)V
-Landroid/os/BaseBundle;-><init>(Z)V
-Landroid/os/BaseBundle;->BUNDLE_MAGIC:I
-Landroid/os/BaseBundle;->BUNDLE_MAGIC_NATIVE:I
-Landroid/os/BaseBundle;->copyInternal(Landroid/os/BaseBundle;Z)V
-Landroid/os/BaseBundle;->DEBUG:Z
-Landroid/os/BaseBundle;->deepcopyArrayList(Ljava/util/ArrayList;)Ljava/util/ArrayList;
-Landroid/os/BaseBundle;->deepCopyValue(Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/os/BaseBundle;->dumpStats(Lcom/android/internal/util/IndentingPrintWriter;Landroid/os/BaseBundle;)V
-Landroid/os/BaseBundle;->dumpStats(Lcom/android/internal/util/IndentingPrintWriter;Landroid/util/SparseArray;)V
-Landroid/os/BaseBundle;->dumpStats(Lcom/android/internal/util/IndentingPrintWriter;Ljava/lang/String;Ljava/lang/Object;)V
-Landroid/os/BaseBundle;->FLAG_DEFUSABLE:I
-Landroid/os/BaseBundle;->getByte(Ljava/lang/String;)B
-Landroid/os/BaseBundle;->getByte(Ljava/lang/String;B)Ljava/lang/Byte;
-Landroid/os/BaseBundle;->getByteArray(Ljava/lang/String;)[B
-Landroid/os/BaseBundle;->getChar(Ljava/lang/String;)C
-Landroid/os/BaseBundle;->getChar(Ljava/lang/String;C)C
-Landroid/os/BaseBundle;->getCharArray(Ljava/lang/String;)[C
-Landroid/os/BaseBundle;->getCharSequence(Ljava/lang/String;)Ljava/lang/CharSequence;
-Landroid/os/BaseBundle;->getCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-Landroid/os/BaseBundle;->getCharSequenceArray(Ljava/lang/String;)[Ljava/lang/CharSequence;
-Landroid/os/BaseBundle;->getCharSequenceArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
-Landroid/os/BaseBundle;->getClassLoader()Ljava/lang/ClassLoader;
-Landroid/os/BaseBundle;->getFloat(Ljava/lang/String;)F
-Landroid/os/BaseBundle;->getFloat(Ljava/lang/String;F)F
-Landroid/os/BaseBundle;->getFloatArray(Ljava/lang/String;)[F
-Landroid/os/BaseBundle;->getIntegerArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
-Landroid/os/BaseBundle;->getMap()Landroid/util/ArrayMap;
-Landroid/os/BaseBundle;->getPairValue()Ljava/lang/String;
-Landroid/os/BaseBundle;->getSerializable(Ljava/lang/String;)Ljava/io/Serializable;
-Landroid/os/BaseBundle;->getShort(Ljava/lang/String;)S
-Landroid/os/BaseBundle;->getShort(Ljava/lang/String;S)S
-Landroid/os/BaseBundle;->getShortArray(Ljava/lang/String;)[S
-Landroid/os/BaseBundle;->getStringArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
-Landroid/os/BaseBundle;->initializeFromParcelLocked(Landroid/os/Parcel;ZZ)V
-Landroid/os/BaseBundle;->isEmptyParcel()Z
-Landroid/os/BaseBundle;->isEmptyParcel(Landroid/os/Parcel;)Z
-Landroid/os/BaseBundle;->kindofEquals(Landroid/os/BaseBundle;)Z
-Landroid/os/BaseBundle;->kindofEquals(Landroid/os/BaseBundle;Landroid/os/BaseBundle;)Z
-Landroid/os/BaseBundle;->LOG_DEFUSABLE:Z
-Landroid/os/BaseBundle;->maybeIsEmpty()Z
-Landroid/os/BaseBundle;->mClassLoader:Ljava/lang/ClassLoader;
-Landroid/os/BaseBundle;->mFlags:I
-Landroid/os/BaseBundle;->mParcelledByNative:Z
-Landroid/os/BaseBundle;->putAll(Landroid/util/ArrayMap;)V
-Landroid/os/BaseBundle;->putByte(Ljava/lang/String;B)V
-Landroid/os/BaseBundle;->putByteArray(Ljava/lang/String;[B)V
-Landroid/os/BaseBundle;->putChar(Ljava/lang/String;C)V
-Landroid/os/BaseBundle;->putCharArray(Ljava/lang/String;[C)V
-Landroid/os/BaseBundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
-Landroid/os/BaseBundle;->putCharSequenceArray(Ljava/lang/String;[Ljava/lang/CharSequence;)V
-Landroid/os/BaseBundle;->putCharSequenceArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V
-Landroid/os/BaseBundle;->putFloat(Ljava/lang/String;F)V
-Landroid/os/BaseBundle;->putFloatArray(Ljava/lang/String;[F)V
-Landroid/os/BaseBundle;->putIntegerArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V
-Landroid/os/BaseBundle;->putSerializable(Ljava/lang/String;Ljava/io/Serializable;)V
-Landroid/os/BaseBundle;->putShort(Ljava/lang/String;S)V
-Landroid/os/BaseBundle;->putShortArray(Ljava/lang/String;[S)V
-Landroid/os/BaseBundle;->putStringArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V
-Landroid/os/BaseBundle;->readFromParcelInner(Landroid/os/Parcel;)V
-Landroid/os/BaseBundle;->readFromParcelInner(Landroid/os/Parcel;I)V
-Landroid/os/BaseBundle;->recycleParcel(Landroid/os/Parcel;)V
-Landroid/os/BaseBundle;->setClassLoader(Ljava/lang/ClassLoader;)V
-Landroid/os/BaseBundle;->setShouldDefuse(Z)V
-Landroid/os/BaseBundle;->sShouldDefuse:Z
-Landroid/os/BaseBundle;->TAG:Ljava/lang/String;
-Landroid/os/BaseBundle;->typeWarning(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/ClassCastException;)V
-Landroid/os/BaseBundle;->typeWarning(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/ClassCastException;)V
-Landroid/os/BaseBundle;->writeToParcelInner(Landroid/os/Parcel;I)V
-Landroid/os/BatteryManager;-><init>(Landroid/content/Context;Lcom/android/internal/app/IBatteryStats;Landroid/os/IBatteryPropertiesRegistrar;)V
-Landroid/os/BatteryManager;->BATTERY_PLUGGED_ANY:I
-Landroid/os/BatteryManager;->EXTRA_SEQUENCE:Ljava/lang/String;
-Landroid/os/BatteryManager;->isPlugWired(I)Z
-Landroid/os/BatteryManager;->mBatteryPropertiesRegistrar:Landroid/os/IBatteryPropertiesRegistrar;
-Landroid/os/BatteryManager;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
-Landroid/os/BatteryManager;->mContext:Landroid/content/Context;
-Landroid/os/BatteryManager;->queryProperty(I)J
-Landroid/os/BatteryManagerInternal;
-Landroid/os/BatteryManagerInternal;-><init>()V
-Landroid/os/BatteryManagerInternal;->getBatteryChargeCounter()I
-Landroid/os/BatteryManagerInternal;->getBatteryFullCharge()I
-Landroid/os/BatteryManagerInternal;->getBatteryLevel()I
-Landroid/os/BatteryManagerInternal;->getBatteryLevelLow()Z
-Landroid/os/BatteryManagerInternal;->getInvalidCharger()I
-Landroid/os/BatteryManagerInternal;->getPlugType()I
-Landroid/os/BatteryManagerInternal;->isPowered(I)Z
-Landroid/os/BatteryProperties;
-Landroid/os/BatteryProperties;-><init>()V
-Landroid/os/BatteryProperties;-><init>(Landroid/os/Parcel;)V
-Landroid/os/BatteryProperties;->batteryChargeCounter:I
-Landroid/os/BatteryProperties;->batteryFullCharge:I
-Landroid/os/BatteryProperties;->batteryHealth:I
-Landroid/os/BatteryProperties;->batteryLevel:I
-Landroid/os/BatteryProperties;->batteryPresent:Z
-Landroid/os/BatteryProperties;->batteryStatus:I
-Landroid/os/BatteryProperties;->batteryTechnology:Ljava/lang/String;
-Landroid/os/BatteryProperties;->batteryTemperature:I
-Landroid/os/BatteryProperties;->batteryVoltage:I
-Landroid/os/BatteryProperties;->chargerAcOnline:Z
-Landroid/os/BatteryProperties;->chargerUsbOnline:Z
-Landroid/os/BatteryProperties;->chargerWirelessOnline:Z
-Landroid/os/BatteryProperties;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/os/BatteryProperties;->maxChargingCurrent:I
-Landroid/os/BatteryProperties;->maxChargingVoltage:I
-Landroid/os/BatteryProperties;->set(Landroid/os/BatteryProperties;)V
-Landroid/os/BatteryProperty;
-Landroid/os/BatteryProperty;-><init>()V
-Landroid/os/BatteryProperty;-><init>(Landroid/os/Parcel;)V
-Landroid/os/BatteryProperty;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/os/BatteryProperty;->getLong()J
-Landroid/os/BatteryProperty;->mValueLong:J
-Landroid/os/BatteryProperty;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/os/BatteryProperty;->setLong(J)V
-Landroid/os/BatteryStats$BitDescription;
-Landroid/os/BatteryStats$BitDescription;-><init>(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/os/BatteryStats$BitDescription;-><init>(ILjava/lang/String;Ljava/lang/String;)V
-Landroid/os/BatteryStats$BitDescription;->mask:I
-Landroid/os/BatteryStats$BitDescription;->name:Ljava/lang/String;
-Landroid/os/BatteryStats$BitDescription;->shift:I
-Landroid/os/BatteryStats$BitDescription;->shortName:Ljava/lang/String;
-Landroid/os/BatteryStats$BitDescription;->shortValues:[Ljava/lang/String;
-Landroid/os/BatteryStats$BitDescription;->values:[Ljava/lang/String;
-Landroid/os/BatteryStats$ControllerActivityCounter;
-Landroid/os/BatteryStats$ControllerActivityCounter;-><init>()V
-Landroid/os/BatteryStats$ControllerActivityCounter;->getIdleTimeCounter()Landroid/os/BatteryStats$LongCounter;
-Landroid/os/BatteryStats$ControllerActivityCounter;->getPowerCounter()Landroid/os/BatteryStats$LongCounter;
-Landroid/os/BatteryStats$ControllerActivityCounter;->getRxTimeCounter()Landroid/os/BatteryStats$LongCounter;
-Landroid/os/BatteryStats$ControllerActivityCounter;->getScanTimeCounter()Landroid/os/BatteryStats$LongCounter;
-Landroid/os/BatteryStats$ControllerActivityCounter;->getSleepTimeCounter()Landroid/os/BatteryStats$LongCounter;
-Landroid/os/BatteryStats$ControllerActivityCounter;->getTxTimeCounters()[Landroid/os/BatteryStats$LongCounter;
-Landroid/os/BatteryStats$Counter;
-Landroid/os/BatteryStats$Counter;->logState(Landroid/util/Printer;Ljava/lang/String;)V
-Landroid/os/BatteryStats$DailyItem;
-Landroid/os/BatteryStats$DailyItem;-><init>()V
-Landroid/os/BatteryStats$DailyItem;->mChargeSteps:Landroid/os/BatteryStats$LevelStepTracker;
-Landroid/os/BatteryStats$DailyItem;->mDischargeSteps:Landroid/os/BatteryStats$LevelStepTracker;
-Landroid/os/BatteryStats$DailyItem;->mEndTime:J
-Landroid/os/BatteryStats$DailyItem;->mPackageChanges:Ljava/util/ArrayList;
-Landroid/os/BatteryStats$DailyItem;->mStartTime:J
-Landroid/os/BatteryStats$HistoryEventTracker;
-Landroid/os/BatteryStats$HistoryEventTracker;-><init>()V
-Landroid/os/BatteryStats$HistoryEventTracker;->getStateForEvent(I)Ljava/util/HashMap;
-Landroid/os/BatteryStats$HistoryEventTracker;->mActiveEvents:[Ljava/util/HashMap;
-Landroid/os/BatteryStats$HistoryEventTracker;->removeEvents(I)V
-Landroid/os/BatteryStats$HistoryEventTracker;->updateState(ILjava/lang/String;II)Z
-Landroid/os/BatteryStats$HistoryItem;
-Landroid/os/BatteryStats$HistoryItem;-><init>(JLandroid/os/Parcel;)V
-Landroid/os/BatteryStats$HistoryItem;->batteryChargeUAh:I
-Landroid/os/BatteryStats$HistoryItem;->batteryTemperature:S
-Landroid/os/BatteryStats$HistoryItem;->CMD_CURRENT_TIME:B
-Landroid/os/BatteryStats$HistoryItem;->CMD_NULL:B
-Landroid/os/BatteryStats$HistoryItem;->CMD_OVERFLOW:B
-Landroid/os/BatteryStats$HistoryItem;->CMD_RESET:B
-Landroid/os/BatteryStats$HistoryItem;->CMD_SHUTDOWN:B
-Landroid/os/BatteryStats$HistoryItem;->CMD_START:B
-Landroid/os/BatteryStats$HistoryItem;->currentTime:J
-Landroid/os/BatteryStats$HistoryItem;->eventCode:I
-Landroid/os/BatteryStats$HistoryItem;->eventTag:Landroid/os/BatteryStats$HistoryTag;
-Landroid/os/BatteryStats$HistoryItem;->EVENT_ACTIVE:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_ALARM:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_ALARM_FINISH:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_ALARM_START:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_COLLECT_EXTERNAL_STATS:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_CONNECTIVITY_CHANGED:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_COUNT:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_FLAG_FINISH:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_FLAG_START:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_FOREGROUND:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_FOREGROUND_FINISH:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_FOREGROUND_START:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_JOB:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_JOB_FINISH:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_JOB_START:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_LONG_WAKE_LOCK:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_LONG_WAKE_LOCK_FINISH:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_LONG_WAKE_LOCK_START:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_NONE:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_PACKAGE_ACTIVE:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_PACKAGE_INACTIVE:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_PACKAGE_INSTALLED:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_PACKAGE_UNINSTALLED:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_PROC:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_PROC_FINISH:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_PROC_START:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_SCREEN_WAKE_UP:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_SYNC:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_SYNC_FINISH:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_SYNC_START:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_TEMP_WHITELIST:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_TEMP_WHITELIST_FINISH:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_TEMP_WHITELIST_START:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_TOP:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_TOP_FINISH:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_TOP_START:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_TYPE_MASK:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_USER_FOREGROUND:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_USER_FOREGROUND_FINISH:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_USER_FOREGROUND_START:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_USER_RUNNING:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_USER_RUNNING_FINISH:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_USER_RUNNING_START:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_WAKEUP_AP:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_WAKE_LOCK:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_WAKE_LOCK_FINISH:I
-Landroid/os/BatteryStats$HistoryItem;->EVENT_WAKE_LOCK_START:I
-Landroid/os/BatteryStats$HistoryItem;->isDeltaData()Z
-Landroid/os/BatteryStats$HistoryItem;->localEventTag:Landroid/os/BatteryStats$HistoryTag;
-Landroid/os/BatteryStats$HistoryItem;->localWakelockTag:Landroid/os/BatteryStats$HistoryTag;
-Landroid/os/BatteryStats$HistoryItem;->localWakeReasonTag:Landroid/os/BatteryStats$HistoryTag;
-Landroid/os/BatteryStats$HistoryItem;->MOST_INTERESTING_STATES2:I
-Landroid/os/BatteryStats$HistoryItem;->MOST_INTERESTING_STATES:I
-Landroid/os/BatteryStats$HistoryItem;->numReadInts:I
-Landroid/os/BatteryStats$HistoryItem;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/os/BatteryStats$HistoryItem;->sameNonEvent(Landroid/os/BatteryStats$HistoryItem;)Z
-Landroid/os/BatteryStats$HistoryItem;->SETTLE_TO_ZERO_STATES2:I
-Landroid/os/BatteryStats$HistoryItem;->SETTLE_TO_ZERO_STATES:I
-Landroid/os/BatteryStats$HistoryItem;->setToCommon(Landroid/os/BatteryStats$HistoryItem;)V
-Landroid/os/BatteryStats$HistoryItem;->STATE2_BLUETOOTH_ON_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE2_BLUETOOTH_SCAN_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE2_CAMERA_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE2_CELLULAR_HIGH_TX_POWER_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE2_CHARGING_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE2_DEVICE_IDLE_MASK:I
-Landroid/os/BatteryStats$HistoryItem;->STATE2_DEVICE_IDLE_SHIFT:I
-Landroid/os/BatteryStats$HistoryItem;->STATE2_FLASHLIGHT_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE2_GPS_SIGNAL_QUALITY_MASK:I
-Landroid/os/BatteryStats$HistoryItem;->STATE2_GPS_SIGNAL_QUALITY_SHIFT:I
-Landroid/os/BatteryStats$HistoryItem;->STATE2_PHONE_IN_CALL_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE2_POWER_SAVE_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE2_USB_DATA_LINK_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE2_VIDEO_ON_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE2_WIFI_ON_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE2_WIFI_RUNNING_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE2_WIFI_SIGNAL_STRENGTH_MASK:I
-Landroid/os/BatteryStats$HistoryItem;->STATE2_WIFI_SIGNAL_STRENGTH_SHIFT:I
-Landroid/os/BatteryStats$HistoryItem;->STATE2_WIFI_SUPPL_STATE_MASK:I
-Landroid/os/BatteryStats$HistoryItem;->STATE2_WIFI_SUPPL_STATE_SHIFT:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_AUDIO_ON_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_BATTERY_PLUGGED_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_BRIGHTNESS_MASK:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_BRIGHTNESS_SHIFT:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_CPU_RUNNING_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_DATA_CONNECTION_MASK:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_DATA_CONNECTION_SHIFT:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_GPS_ON_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_MOBILE_RADIO_ACTIVE_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_PHONE_SCANNING_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_PHONE_SIGNAL_STRENGTH_MASK:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_PHONE_SIGNAL_STRENGTH_SHIFT:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_PHONE_STATE_MASK:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_PHONE_STATE_SHIFT:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_RESERVED_0:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_SCREEN_DOZE_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_SCREEN_ON_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_SENSOR_ON_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_WAKE_LOCK_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_WIFI_FULL_LOCK_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_WIFI_MULTICAST_ON_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_WIFI_RADIO_ACTIVE_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->STATE_WIFI_SCAN_FLAG:I
-Landroid/os/BatteryStats$HistoryItem;->stepDetails:Landroid/os/BatteryStats$HistoryStepDetails;
-Landroid/os/BatteryStats$HistoryItem;->wakelockTag:Landroid/os/BatteryStats$HistoryTag;
-Landroid/os/BatteryStats$HistoryItem;->wakeReasonTag:Landroid/os/BatteryStats$HistoryTag;
-Landroid/os/BatteryStats$HistoryPrinter;
-Landroid/os/BatteryStats$HistoryPrinter;-><init>()V
-Landroid/os/BatteryStats$HistoryPrinter;->lastTime:J
-Landroid/os/BatteryStats$HistoryPrinter;->oldChargeMAh:I
-Landroid/os/BatteryStats$HistoryPrinter;->oldHealth:I
-Landroid/os/BatteryStats$HistoryPrinter;->oldLevel:I
-Landroid/os/BatteryStats$HistoryPrinter;->oldPlug:I
-Landroid/os/BatteryStats$HistoryPrinter;->oldState2:I
-Landroid/os/BatteryStats$HistoryPrinter;->oldState:I
-Landroid/os/BatteryStats$HistoryPrinter;->oldStatus:I
-Landroid/os/BatteryStats$HistoryPrinter;->oldTemp:I
-Landroid/os/BatteryStats$HistoryPrinter;->oldVolt:I
-Landroid/os/BatteryStats$HistoryPrinter;->printNextItem(Landroid/os/BatteryStats$HistoryItem;JZZ)Ljava/lang/String;
-Landroid/os/BatteryStats$HistoryPrinter;->printNextItem(Landroid/util/proto/ProtoOutputStream;Landroid/os/BatteryStats$HistoryItem;JZ)V
-Landroid/os/BatteryStats$HistoryPrinter;->printNextItem(Ljava/io/PrintWriter;Landroid/os/BatteryStats$HistoryItem;JZZ)V
-Landroid/os/BatteryStats$HistoryPrinter;->printStepCpuUidCheckinDetails(Ljava/lang/StringBuilder;III)V
-Landroid/os/BatteryStats$HistoryPrinter;->printStepCpuUidDetails(Ljava/lang/StringBuilder;III)V
-Landroid/os/BatteryStats$HistoryPrinter;->reset()V
-Landroid/os/BatteryStats$HistoryStepDetails;
-Landroid/os/BatteryStats$HistoryStepDetails;-><init>()V
-Landroid/os/BatteryStats$HistoryStepDetails;->appCpuSTime1:I
-Landroid/os/BatteryStats$HistoryStepDetails;->appCpuSTime2:I
-Landroid/os/BatteryStats$HistoryStepDetails;->appCpuSTime3:I
-Landroid/os/BatteryStats$HistoryStepDetails;->appCpuUid1:I
-Landroid/os/BatteryStats$HistoryStepDetails;->appCpuUid2:I
-Landroid/os/BatteryStats$HistoryStepDetails;->appCpuUid3:I
-Landroid/os/BatteryStats$HistoryStepDetails;->appCpuUTime1:I
-Landroid/os/BatteryStats$HistoryStepDetails;->appCpuUTime2:I
-Landroid/os/BatteryStats$HistoryStepDetails;->appCpuUTime3:I
-Landroid/os/BatteryStats$HistoryStepDetails;->clear()V
-Landroid/os/BatteryStats$HistoryStepDetails;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/os/BatteryStats$HistoryStepDetails;->statIdlTime:I
-Landroid/os/BatteryStats$HistoryStepDetails;->statIOWaitTime:I
-Landroid/os/BatteryStats$HistoryStepDetails;->statIrqTime:I
-Landroid/os/BatteryStats$HistoryStepDetails;->statPlatformIdleState:Ljava/lang/String;
-Landroid/os/BatteryStats$HistoryStepDetails;->statSoftIrqTime:I
-Landroid/os/BatteryStats$HistoryStepDetails;->statSubsystemPowerState:Ljava/lang/String;
-Landroid/os/BatteryStats$HistoryStepDetails;->statSystemTime:I
-Landroid/os/BatteryStats$HistoryStepDetails;->statUserTime:I
-Landroid/os/BatteryStats$HistoryStepDetails;->systemTime:I
-Landroid/os/BatteryStats$HistoryStepDetails;->userTime:I
-Landroid/os/BatteryStats$HistoryStepDetails;->writeToParcel(Landroid/os/Parcel;)V
-Landroid/os/BatteryStats$HistoryTag;
-Landroid/os/BatteryStats$HistoryTag;-><init>()V
-Landroid/os/BatteryStats$HistoryTag;->poolIdx:I
-Landroid/os/BatteryStats$HistoryTag;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/os/BatteryStats$HistoryTag;->setTo(Landroid/os/BatteryStats$HistoryTag;)V
-Landroid/os/BatteryStats$HistoryTag;->setTo(Ljava/lang/String;I)V
-Landroid/os/BatteryStats$HistoryTag;->string:Ljava/lang/String;
-Landroid/os/BatteryStats$HistoryTag;->uid:I
-Landroid/os/BatteryStats$HistoryTag;->writeToParcel(Landroid/os/Parcel;I)V
-Landroid/os/BatteryStats$IntToString;
-Landroid/os/BatteryStats$IntToString;->applyAsString(I)Ljava/lang/String;
-Landroid/os/BatteryStats$LevelStepTracker;
-Landroid/os/BatteryStats$LevelStepTracker;-><init>(I)V
-Landroid/os/BatteryStats$LevelStepTracker;-><init>(I[J)V
-Landroid/os/BatteryStats$LevelStepTracker;->addLevelSteps(IJJ)V
-Landroid/os/BatteryStats$LevelStepTracker;->appendHex(JILjava/lang/StringBuilder;)V
-Landroid/os/BatteryStats$LevelStepTracker;->clearTime()V
-Landroid/os/BatteryStats$LevelStepTracker;->computeTimeEstimate(JJ[I)J
-Landroid/os/BatteryStats$LevelStepTracker;->computeTimePerLevel()J
-Landroid/os/BatteryStats$LevelStepTracker;->decodeEntryAt(ILjava/lang/String;)V
-Landroid/os/BatteryStats$LevelStepTracker;->encodeEntryAt(ILjava/lang/StringBuilder;)V
-Landroid/os/BatteryStats$LevelStepTracker;->getDurationAt(I)J
-Landroid/os/BatteryStats$LevelStepTracker;->getInitModeAt(I)I
-Landroid/os/BatteryStats$LevelStepTracker;->getLevelAt(I)I
-Landroid/os/BatteryStats$LevelStepTracker;->getModModeAt(I)I
-Landroid/os/BatteryStats$LevelStepTracker;->init()V
-Landroid/os/BatteryStats$LevelStepTracker;->mLastStepTime:J
-Landroid/os/BatteryStats$LevelStepTracker;->mNumStepDurations:I
-Landroid/os/BatteryStats$LevelStepTracker;->mStepDurations:[J
-Landroid/os/BatteryStats$LevelStepTracker;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/os/BatteryStats$LevelStepTracker;->writeToParcel(Landroid/os/Parcel;)V
-Landroid/os/BatteryStats$LongCounter;
-Landroid/os/BatteryStats$LongCounter;-><init>()V
-Landroid/os/BatteryStats$LongCounter;->getCountLocked(I)J
-Landroid/os/BatteryStats$LongCounter;->logState(Landroid/util/Printer;Ljava/lang/String;)V
-Landroid/os/BatteryStats$LongCounterArray;
-Landroid/os/BatteryStats$LongCounterArray;-><init>()V
-Landroid/os/BatteryStats$LongCounterArray;->getCountsLocked(I)[J
-Landroid/os/BatteryStats$LongCounterArray;->logState(Landroid/util/Printer;Ljava/lang/String;)V
-Landroid/os/BatteryStats$PackageChange;
-Landroid/os/BatteryStats$PackageChange;-><init>()V
-Landroid/os/BatteryStats$PackageChange;->mPackageName:Ljava/lang/String;
-Landroid/os/BatteryStats$PackageChange;->mUpdate:Z
-Landroid/os/BatteryStats$PackageChange;->mVersionCode:J
-Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Timer;->getCurrentDurationMsLocked(J)J
-Landroid/os/BatteryStats$Timer;->getMaxDurationMsLocked(J)J
-Landroid/os/BatteryStats$Timer;->getSubTimer()Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Timer;->getTimeSinceMarkLocked(J)J
-Landroid/os/BatteryStats$Timer;->getTotalDurationMsLocked(J)J
-Landroid/os/BatteryStats$Timer;->isRunningLocked()Z
-Landroid/os/BatteryStats$Timer;->logState(Landroid/util/Printer;Ljava/lang/String;)V
-Landroid/os/BatteryStats$TimerEntry;
-Landroid/os/BatteryStats$TimerEntry;-><init>(Ljava/lang/String;ILandroid/os/BatteryStats$Timer;J)V
-Landroid/os/BatteryStats$TimerEntry;->mId:I
-Landroid/os/BatteryStats$TimerEntry;->mName:Ljava/lang/String;
-Landroid/os/BatteryStats$TimerEntry;->mTime:J
-Landroid/os/BatteryStats$TimerEntry;->mTimer:Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Uid$Pid;
-Landroid/os/BatteryStats$Uid$Pid;-><init>()V
-Landroid/os/BatteryStats$Uid$Pid;->mWakeNesting:I
-Landroid/os/BatteryStats$Uid$Pid;->mWakeStartMs:J
-Landroid/os/BatteryStats$Uid$Pid;->mWakeSumMs:J
-Landroid/os/BatteryStats$Uid$Pkg$Serv;
-Landroid/os/BatteryStats$Uid$Pkg$Serv;-><init>()V
-Landroid/os/BatteryStats$Uid$Pkg;
-Landroid/os/BatteryStats$Uid$Proc$ExcessivePower;
-Landroid/os/BatteryStats$Uid$Proc$ExcessivePower;->TYPE_CPU:I
-Landroid/os/BatteryStats$Uid$Proc$ExcessivePower;->TYPE_WAKE:I
-Landroid/os/BatteryStats$Uid$Proc;
-Landroid/os/BatteryStats$Uid$Proc;->getNumAnrs(I)I
-Landroid/os/BatteryStats$Uid$Proc;->getNumCrashes(I)I
-Landroid/os/BatteryStats$Uid$Proc;->isActive()Z
-Landroid/os/BatteryStats$Uid$Sensor;
-Landroid/os/BatteryStats$Uid$Sensor;->getSensorBackgroundTime()Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Uid$Wakelock;
-Landroid/os/BatteryStats$Uid;
-Landroid/os/BatteryStats$Uid;->CRITICAL_PROC_STATES:[I
-Landroid/os/BatteryStats$Uid;->getAggregatedPartialWakelockTimer()Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Uid;->getBluetoothControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-Landroid/os/BatteryStats$Uid;->getBluetoothScanBackgroundTimer()Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Uid;->getBluetoothScanResultBgCounter()Landroid/os/BatteryStats$Counter;
-Landroid/os/BatteryStats$Uid;->getBluetoothScanResultCounter()Landroid/os/BatteryStats$Counter;
-Landroid/os/BatteryStats$Uid;->getBluetoothScanTimer()Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Uid;->getBluetoothUnoptimizedScanBackgroundTimer()Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Uid;->getBluetoothUnoptimizedScanTimer()Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Uid;->getCameraTurnedOnTimer()Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Uid;->getCpuActiveTime()J
-Landroid/os/BatteryStats$Uid;->getCpuClusterTimes()[J
-Landroid/os/BatteryStats$Uid;->getCpuFreqTimes(I)[J
-Landroid/os/BatteryStats$Uid;->getCpuFreqTimes(II)[J
-Landroid/os/BatteryStats$Uid;->getDeferredJobsCheckinLineLocked(Ljava/lang/StringBuilder;I)V
-Landroid/os/BatteryStats$Uid;->getDeferredJobsLineLocked(Ljava/lang/StringBuilder;I)V
-Landroid/os/BatteryStats$Uid;->getFlashlightTurnedOnTimer()Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Uid;->getForegroundActivityTimer()Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Uid;->getForegroundServiceTimer()Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Uid;->getJobCompletionStats()Landroid/util/ArrayMap;
-Landroid/os/BatteryStats$Uid;->getJobStats()Landroid/util/ArrayMap;
-Landroid/os/BatteryStats$Uid;->getMobileRadioActiveCount(I)I
-Landroid/os/BatteryStats$Uid;->getMobileRadioApWakeupCount(I)J
-Landroid/os/BatteryStats$Uid;->getModemControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-Landroid/os/BatteryStats$Uid;->getMulticastWakelockStats()Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Uid;->getNetworkActivityPackets(II)J
-Landroid/os/BatteryStats$Uid;->getPidStats()Landroid/util/SparseArray;
-Landroid/os/BatteryStats$Uid;->getProcessStateTime(IJI)J
-Landroid/os/BatteryStats$Uid;->getProcessStateTimer(I)Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Uid;->getScreenOffCpuFreqTimes(I)[J
-Landroid/os/BatteryStats$Uid;->getScreenOffCpuFreqTimes(II)[J
-Landroid/os/BatteryStats$Uid;->getSyncStats()Landroid/util/ArrayMap;
-Landroid/os/BatteryStats$Uid;->getSystemCpuTimeUs(I)J
-Landroid/os/BatteryStats$Uid;->getTimeAtCpuSpeed(III)J
-Landroid/os/BatteryStats$Uid;->getUserActivityCount(II)I
-Landroid/os/BatteryStats$Uid;->getUserCpuTimeUs(I)J
-Landroid/os/BatteryStats$Uid;->getVibratorOnTimer()Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Uid;->getWifiBatchedScanCount(II)I
-Landroid/os/BatteryStats$Uid;->getWifiControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-Landroid/os/BatteryStats$Uid;->getWifiRadioApWakeupCount(I)J
-Landroid/os/BatteryStats$Uid;->getWifiScanActualTime(J)J
-Landroid/os/BatteryStats$Uid;->getWifiScanBackgroundCount(I)I
-Landroid/os/BatteryStats$Uid;->getWifiScanBackgroundTime(J)J
-Landroid/os/BatteryStats$Uid;->getWifiScanBackgroundTimer()Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Uid;->getWifiScanCount(I)I
-Landroid/os/BatteryStats$Uid;->getWifiScanTimer()Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Uid;->hasNetworkActivity()Z
-Landroid/os/BatteryStats$Uid;->hasUserActivity()Z
-Landroid/os/BatteryStats$Uid;->noteActivityPausedLocked(J)V
-Landroid/os/BatteryStats$Uid;->noteActivityResumedLocked(J)V
-Landroid/os/BatteryStats$Uid;->noteFullWifiLockAcquiredLocked(J)V
-Landroid/os/BatteryStats$Uid;->noteFullWifiLockReleasedLocked(J)V
-Landroid/os/BatteryStats$Uid;->noteUserActivityLocked(I)V
-Landroid/os/BatteryStats$Uid;->noteWifiBatchedScanStartedLocked(IJ)V
-Landroid/os/BatteryStats$Uid;->noteWifiBatchedScanStoppedLocked(J)V
-Landroid/os/BatteryStats$Uid;->noteWifiMulticastDisabledLocked(J)V
-Landroid/os/BatteryStats$Uid;->noteWifiMulticastEnabledLocked(J)V
-Landroid/os/BatteryStats$Uid;->noteWifiRunningLocked(J)V
-Landroid/os/BatteryStats$Uid;->noteWifiScanStartedLocked(J)V
-Landroid/os/BatteryStats$Uid;->noteWifiScanStoppedLocked(J)V
-Landroid/os/BatteryStats$Uid;->noteWifiStoppedLocked(J)V
-Landroid/os/BatteryStats$Uid;->NUM_PROCESS_STATE:I
-Landroid/os/BatteryStats$Uid;->NUM_USER_ACTIVITY_TYPES:I
-Landroid/os/BatteryStats$Uid;->NUM_WIFI_BATCHED_SCAN_BINS:I
-Landroid/os/BatteryStats$Uid;->PROCESS_STATE_BACKGROUND:I
-Landroid/os/BatteryStats$Uid;->PROCESS_STATE_CACHED:I
-Landroid/os/BatteryStats$Uid;->PROCESS_STATE_FOREGROUND:I
-Landroid/os/BatteryStats$Uid;->PROCESS_STATE_FOREGROUND_SERVICE:I
-Landroid/os/BatteryStats$Uid;->PROCESS_STATE_HEAVY_WEIGHT:I
-Landroid/os/BatteryStats$Uid;->PROCESS_STATE_NAMES:[Ljava/lang/String;
-Landroid/os/BatteryStats$Uid;->PROCESS_STATE_TOP:I
-Landroid/os/BatteryStats$Uid;->PROCESS_STATE_TOP_SLEEPING:I
-Landroid/os/BatteryStats$Uid;->UID_PROCESS_TYPES:[Ljava/lang/String;
-Landroid/os/BatteryStats$Uid;->USER_ACTIVITY_TYPES:[Ljava/lang/String;
-Landroid/os/BatteryStats;
-Landroid/os/BatteryStats;->AGGREGATED_WAKELOCK_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->AGGREGATED_WAKE_TYPE_PARTIAL:I
-Landroid/os/BatteryStats;->APK_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->AUDIO_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->AUDIO_TURNED_ON:I
-Landroid/os/BatteryStats;->BATTERY_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->BATTERY_DISCHARGE_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->BATTERY_LEVEL_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->BATTERY_STATS_CHECKIN_VERSION:I
-Landroid/os/BatteryStats;->BLUETOOTH_CONTROLLER_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->BLUETOOTH_MISC_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->BLUETOOTH_SCAN_ON:I
-Landroid/os/BatteryStats;->BLUETOOTH_UNOPTIMIZED_SCAN_ON:I
-Landroid/os/BatteryStats;->BYTES_PER_GB:J
-Landroid/os/BatteryStats;->BYTES_PER_KB:J
-Landroid/os/BatteryStats;->BYTES_PER_MB:J
-Landroid/os/BatteryStats;->CAMERA_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->CAMERA_TURNED_ON:I
-Landroid/os/BatteryStats;->CELLULAR_CONTROLLER_NAME:Ljava/lang/String;
-Landroid/os/BatteryStats;->CHARGE_STEP_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->CHARGE_TIME_REMAIN_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->CHECKIN_VERSION:I
-Landroid/os/BatteryStats;->commitCurrentHistoryBatchLocked()V
-Landroid/os/BatteryStats;->computeBatteryScreenOffRealtime(JI)J
-Landroid/os/BatteryStats;->computeBatteryScreenOffUptime(JI)J
-Landroid/os/BatteryStats;->computeRealtime(JI)J
-Landroid/os/BatteryStats;->computeUptime(JI)J
-Landroid/os/BatteryStats;->computeWakeLock(Landroid/os/BatteryStats$Timer;JI)J
-Landroid/os/BatteryStats;->controllerActivityHasData(Landroid/os/BatteryStats$ControllerActivityCounter;I)Z
-Landroid/os/BatteryStats;->CPU_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->CPU_TIMES_AT_FREQ_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->DATA_CONNECTION_COUNT_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->DATA_CONNECTION_NAMES:[Ljava/lang/String;
-Landroid/os/BatteryStats;->DATA_CONNECTION_NONE:I
-Landroid/os/BatteryStats;->DATA_CONNECTION_OTHER:I
-Landroid/os/BatteryStats;->DATA_CONNECTION_TIME_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->DEVICE_IDLE_MODE_DEEP:I
-Landroid/os/BatteryStats;->DEVICE_IDLE_MODE_LIGHT:I
-Landroid/os/BatteryStats;->DEVICE_IDLE_MODE_OFF:I
-Landroid/os/BatteryStats;->DISCHARGE_STEP_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->DISCHARGE_TIME_REMAIN_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->dumpCheckinLocked(Landroid/content/Context;Ljava/io/PrintWriter;II)V
-Landroid/os/BatteryStats;->dumpCheckinLocked(Landroid/content/Context;Ljava/io/PrintWriter;IIZ)V
-Landroid/os/BatteryStats;->dumpCheckinLocked(Landroid/content/Context;Ljava/io/PrintWriter;Ljava/util/List;IJ)V
-Landroid/os/BatteryStats;->dumpControllerActivityLine(Ljava/io/PrintWriter;ILjava/lang/String;Ljava/lang/String;Landroid/os/BatteryStats$ControllerActivityCounter;I)V
-Landroid/os/BatteryStats;->dumpControllerActivityProto(Landroid/util/proto/ProtoOutputStream;JLandroid/os/BatteryStats$ControllerActivityCounter;I)V
-Landroid/os/BatteryStats;->dumpDailyLevelStepSummary(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;Landroid/os/BatteryStats$LevelStepTracker;Ljava/lang/StringBuilder;[I)V
-Landroid/os/BatteryStats;->dumpDailyPackageChanges(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/util/ArrayList;)V
-Landroid/os/BatteryStats;->dumpDurationSteps(Landroid/util/proto/ProtoOutputStream;JLandroid/os/BatteryStats$LevelStepTracker;)V
-Landroid/os/BatteryStats;->dumpDurationSteps(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;Landroid/os/BatteryStats$LevelStepTracker;Z)Z
-Landroid/os/BatteryStats;->dumpHistoryLocked(Ljava/io/PrintWriter;IJZ)V
-Landroid/os/BatteryStats;->dumpLine(Ljava/io/PrintWriter;ILjava/lang/String;Ljava/lang/String;[[Ljava/lang/Object;)V
-Landroid/os/BatteryStats;->dumpLineHeader(Ljava/io/PrintWriter;ILjava/lang/String;Ljava/lang/String;)V
-Landroid/os/BatteryStats;->dumpLocked(Landroid/content/Context;Ljava/io/PrintWriter;IIJ)V
-Landroid/os/BatteryStats;->dumpLocked(Landroid/content/Context;Ljava/io/PrintWriter;Ljava/lang/String;II)V
-Landroid/os/BatteryStats;->dumpLocked(Landroid/content/Context;Ljava/io/PrintWriter;Ljava/lang/String;IIZ)V
-Landroid/os/BatteryStats;->dumpProtoAppsLocked(Landroid/util/proto/ProtoOutputStream;Lcom/android/internal/os/BatteryStatsHelper;Ljava/util/List;)V
-Landroid/os/BatteryStats;->dumpProtoHistoryLocked(Landroid/util/proto/ProtoOutputStream;IJ)V
-Landroid/os/BatteryStats;->dumpProtoLocked(Landroid/content/Context;Ljava/io/FileDescriptor;Ljava/util/List;IJ)V
-Landroid/os/BatteryStats;->dumpProtoSystemLocked(Landroid/util/proto/ProtoOutputStream;Lcom/android/internal/os/BatteryStatsHelper;)V
-Landroid/os/BatteryStats;->dumpTimeEstimate(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)Z
-Landroid/os/BatteryStats;->dumpTimer(Landroid/util/proto/ProtoOutputStream;JLandroid/os/BatteryStats$Timer;JI)V
-Landroid/os/BatteryStats;->dumpTimer(Ljava/io/PrintWriter;ILjava/lang/String;Ljava/lang/String;Landroid/os/BatteryStats$Timer;JI)V
-Landroid/os/BatteryStats;->DUMP_CHARGED_ONLY:I
-Landroid/os/BatteryStats;->DUMP_DAILY_ONLY:I
-Landroid/os/BatteryStats;->DUMP_DEVICE_WIFI_ONLY:I
-Landroid/os/BatteryStats;->DUMP_HISTORY_ONLY:I
-Landroid/os/BatteryStats;->DUMP_INCLUDE_HISTORY:I
-Landroid/os/BatteryStats;->DUMP_VERBOSE:I
-Landroid/os/BatteryStats;->finishIteratingHistoryLocked()V
-Landroid/os/BatteryStats;->finishIteratingOldHistoryLocked()V
-Landroid/os/BatteryStats;->FLASHLIGHT_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->FLASHLIGHT_TURNED_ON:I
-Landroid/os/BatteryStats;->FOREGROUND_ACTIVITY:I
-Landroid/os/BatteryStats;->FOREGROUND_ACTIVITY_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->FOREGROUND_SERVICE:I
-Landroid/os/BatteryStats;->FOREGROUND_SERVICE_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->formatBytesLocked(J)Ljava/lang/String;
-Landroid/os/BatteryStats;->formatRatioLocked(JJ)Ljava/lang/String;
-Landroid/os/BatteryStats;->formatTimeMs(Ljava/lang/StringBuilder;J)V
-Landroid/os/BatteryStats;->formatTimeMsNoSpace(Ljava/lang/StringBuilder;J)V
-Landroid/os/BatteryStats;->formatTimeRaw(Ljava/lang/StringBuilder;J)V
-Landroid/os/BatteryStats;->FULL_WIFI_LOCK:I
-Landroid/os/BatteryStats;->getBatteryRealtime(J)J
-Landroid/os/BatteryStats;->getBluetoothControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-Landroid/os/BatteryStats;->getBluetoothScanTime(JI)J
-Landroid/os/BatteryStats;->getCameraOnTime(JI)J
-Landroid/os/BatteryStats;->getChargeLevelStepTracker()Landroid/os/BatteryStats$LevelStepTracker;
-Landroid/os/BatteryStats;->getCpuFreqs()[J
-Landroid/os/BatteryStats;->getCurrentDailyStartTime()J
-Landroid/os/BatteryStats;->getDailyChargeLevelStepTracker()Landroid/os/BatteryStats$LevelStepTracker;
-Landroid/os/BatteryStats;->getDailyDischargeLevelStepTracker()Landroid/os/BatteryStats$LevelStepTracker;
-Landroid/os/BatteryStats;->getDailyItemLocked(I)Landroid/os/BatteryStats$DailyItem;
-Landroid/os/BatteryStats;->getDailyPackageChanges()Ljava/util/ArrayList;
-Landroid/os/BatteryStats;->getDeviceIdleModeCount(II)I
-Landroid/os/BatteryStats;->getDeviceIdleModeTime(IJI)J
-Landroid/os/BatteryStats;->getDeviceIdlingCount(II)I
-Landroid/os/BatteryStats;->getDeviceIdlingTime(IJI)J
-Landroid/os/BatteryStats;->getDischargeAmount(I)I
-Landroid/os/BatteryStats;->getDischargeAmountScreenDoze()I
-Landroid/os/BatteryStats;->getDischargeAmountScreenDozeSinceCharge()I
-Landroid/os/BatteryStats;->getDischargeAmountScreenOff()I
-Landroid/os/BatteryStats;->getDischargeAmountScreenOffSinceCharge()I
-Landroid/os/BatteryStats;->getDischargeAmountScreenOn()I
-Landroid/os/BatteryStats;->getDischargeAmountScreenOnSinceCharge()I
-Landroid/os/BatteryStats;->getDischargeCurrentLevel()I
-Landroid/os/BatteryStats;->getDischargeLevelStepTracker()Landroid/os/BatteryStats$LevelStepTracker;
-Landroid/os/BatteryStats;->getDischargeStartLevel()I
-Landroid/os/BatteryStats;->getEndPlatformVersion()Ljava/lang/String;
-Landroid/os/BatteryStats;->getEstimatedBatteryCapacity()I
-Landroid/os/BatteryStats;->getFlashlightOnCount(I)J
-Landroid/os/BatteryStats;->getFlashlightOnTime(JI)J
-Landroid/os/BatteryStats;->getGpsBatteryDrainMaMs()J
-Landroid/os/BatteryStats;->getGpsSignalQualityTime(IJI)J
-Landroid/os/BatteryStats;->getHighDischargeAmountSinceCharge()I
-Landroid/os/BatteryStats;->getHistoryBaseTime()J
-Landroid/os/BatteryStats;->getHistoryStringPoolBytes()I
-Landroid/os/BatteryStats;->getHistoryStringPoolSize()I
-Landroid/os/BatteryStats;->getHistoryTagPoolString(I)Ljava/lang/String;
-Landroid/os/BatteryStats;->getHistoryTagPoolUid(I)I
-Landroid/os/BatteryStats;->getHistoryTotalSize()I
-Landroid/os/BatteryStats;->getHistoryUsedSize()I
-Landroid/os/BatteryStats;->getInteractiveTime(JI)J
-Landroid/os/BatteryStats;->getIsOnBattery()Z
-Landroid/os/BatteryStats;->getKernelMemoryStats()Landroid/util/LongSparseArray;
-Landroid/os/BatteryStats;->getKernelWakelockStats()Ljava/util/Map;
-Landroid/os/BatteryStats;->getLongestDeviceIdleModeTime(I)J
-Landroid/os/BatteryStats;->getLowDischargeAmountSinceCharge()I
-Landroid/os/BatteryStats;->getMaxLearnedBatteryCapacity()I
-Landroid/os/BatteryStats;->getMinLearnedBatteryCapacity()I
-Landroid/os/BatteryStats;->getMobileRadioActiveAdjustedTime(I)J
-Landroid/os/BatteryStats;->getMobileRadioActiveCount(I)I
-Landroid/os/BatteryStats;->getMobileRadioActiveUnknownCount(I)I
-Landroid/os/BatteryStats;->getMobileRadioActiveUnknownTime(I)J
-Landroid/os/BatteryStats;->getModemControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-Landroid/os/BatteryStats;->getNetworkActivityPackets(II)J
-Landroid/os/BatteryStats;->getNextMaxDailyDeadline()J
-Landroid/os/BatteryStats;->getNextMinDailyDeadline()J
-Landroid/os/BatteryStats;->getNextOldHistoryLocked(Landroid/os/BatteryStats$HistoryItem;)Z
-Landroid/os/BatteryStats;->getNumConnectivityChange(I)I
-Landroid/os/BatteryStats;->getParcelVersion()I
-Landroid/os/BatteryStats;->getPhoneDataConnectionCount(II)I
-Landroid/os/BatteryStats;->getPhoneDataConnectionTime(IJI)J
-Landroid/os/BatteryStats;->getPhoneDataConnectionTimer(I)Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats;->getPhoneOnCount(I)I
-Landroid/os/BatteryStats;->getPhoneSignalScanningTime(JI)J
-Landroid/os/BatteryStats;->getPhoneSignalScanningTimer()Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats;->getPhoneSignalStrengthCount(II)I
-Landroid/os/BatteryStats;->getPhoneSignalStrengthTimer(I)Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats;->getPowerSaveModeEnabledCount(I)I
-Landroid/os/BatteryStats;->getPowerSaveModeEnabledTime(JI)J
-Landroid/os/BatteryStats;->getRpmStats()Ljava/util/Map;
-Landroid/os/BatteryStats;->getScreenBrightnessTimer(I)Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats;->getScreenDozeCount(I)I
-Landroid/os/BatteryStats;->getScreenDozeTime(JI)J
-Landroid/os/BatteryStats;->getScreenOffRpmStats()Ljava/util/Map;
-Landroid/os/BatteryStats;->getScreenOnCount(I)I
-Landroid/os/BatteryStats;->getStartClockTime()J
-Landroid/os/BatteryStats;->getStartCount()I
-Landroid/os/BatteryStats;->getStartPlatformVersion()Ljava/lang/String;
-Landroid/os/BatteryStats;->getUahDischarge(I)J
-Landroid/os/BatteryStats;->getUahDischargeDeepDoze(I)J
-Landroid/os/BatteryStats;->getUahDischargeLightDoze(I)J
-Landroid/os/BatteryStats;->getUahDischargeScreenDoze(I)J
-Landroid/os/BatteryStats;->getUahDischargeScreenOff(I)J
-Landroid/os/BatteryStats;->getWakeupReasonStats()Ljava/util/Map;
-Landroid/os/BatteryStats;->getWifiActiveTime(JI)J
-Landroid/os/BatteryStats;->getWifiControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-Landroid/os/BatteryStats;->getWifiMulticastWakelockCount(I)I
-Landroid/os/BatteryStats;->getWifiMulticastWakelockTime(JI)J
-Landroid/os/BatteryStats;->getWifiSignalStrengthCount(II)I
-Landroid/os/BatteryStats;->getWifiSignalStrengthTime(IJI)J
-Landroid/os/BatteryStats;->getWifiSignalStrengthTimer(I)Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats;->getWifiStateCount(II)I
-Landroid/os/BatteryStats;->getWifiStateTime(IJI)J
-Landroid/os/BatteryStats;->getWifiStateTimer(I)Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats;->getWifiSupplStateCount(II)I
-Landroid/os/BatteryStats;->getWifiSupplStateTime(IJI)J
-Landroid/os/BatteryStats;->getWifiSupplStateTimer(I)Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats;->GLOBAL_BLUETOOTH_CONTROLLER_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->GLOBAL_CPU_FREQ_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->GLOBAL_MODEM_CONTROLLER_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->GLOBAL_NETWORK_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->GLOBAL_WIFI_CONTROLLER_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->GLOBAL_WIFI_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->hasBluetoothActivityReporting()Z
-Landroid/os/BatteryStats;->hasModemActivityReporting()Z
-Landroid/os/BatteryStats;->hasWifiActivityReporting()Z
-Landroid/os/BatteryStats;->HISTORY_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->HISTORY_EVENT_CHECKIN_NAMES:[Ljava/lang/String;
-Landroid/os/BatteryStats;->HISTORY_EVENT_INT_FORMATTERS:[Landroid/os/BatteryStats$IntToString;
-Landroid/os/BatteryStats;->HISTORY_EVENT_NAMES:[Ljava/lang/String;
-Landroid/os/BatteryStats;->HISTORY_STATE2_DESCRIPTIONS:[Landroid/os/BatteryStats$BitDescription;
-Landroid/os/BatteryStats;->HISTORY_STATE_DESCRIPTIONS:[Landroid/os/BatteryStats$BitDescription;
-Landroid/os/BatteryStats;->HISTORY_STRING_POOL:Ljava/lang/String;
-Landroid/os/BatteryStats;->JOB:I
-Landroid/os/BatteryStats;->JOBS_DEFERRED_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->JOB_COMPLETION_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->JOB_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->JOB_FRESHNESS_BUCKETS:[J
-Landroid/os/BatteryStats;->KERNEL_WAKELOCK_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->LOCAL_LOGV:Z
-Landroid/os/BatteryStats;->mapToInternalProcessState(I)I
-Landroid/os/BatteryStats;->MAX_TRACKED_SCREEN_STATE:I
-Landroid/os/BatteryStats;->mFormatBuilder:Ljava/lang/StringBuilder;
-Landroid/os/BatteryStats;->mFormatter:Ljava/util/Formatter;
-Landroid/os/BatteryStats;->MISC_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->MODEM_CONTROLLER_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->NETWORK_BT_RX_DATA:I
-Landroid/os/BatteryStats;->NETWORK_BT_TX_DATA:I
-Landroid/os/BatteryStats;->NETWORK_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->NETWORK_MOBILE_BG_RX_DATA:I
-Landroid/os/BatteryStats;->NETWORK_MOBILE_BG_TX_DATA:I
-Landroid/os/BatteryStats;->NETWORK_MOBILE_RX_DATA:I
-Landroid/os/BatteryStats;->NETWORK_MOBILE_TX_DATA:I
-Landroid/os/BatteryStats;->NETWORK_WIFI_BG_RX_DATA:I
-Landroid/os/BatteryStats;->NETWORK_WIFI_BG_TX_DATA:I
-Landroid/os/BatteryStats;->NETWORK_WIFI_RX_DATA:I
-Landroid/os/BatteryStats;->NETWORK_WIFI_TX_DATA:I
-Landroid/os/BatteryStats;->NUM_NETWORK_ACTIVITY_TYPES:I
-Landroid/os/BatteryStats;->NUM_WIFI_SIGNAL_STRENGTH_BINS:I
-Landroid/os/BatteryStats;->NUM_WIFI_STATES:I
-Landroid/os/BatteryStats;->NUM_WIFI_SUPPL_STATES:I
-Landroid/os/BatteryStats;->POWER_USE_ITEM_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->POWER_USE_SUMMARY_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->prepareForDumpLocked()V
-Landroid/os/BatteryStats;->printBitDescriptions(Ljava/lang/StringBuilder;IILandroid/os/BatteryStats$HistoryTag;[Landroid/os/BatteryStats$BitDescription;Z)V
-Landroid/os/BatteryStats;->printControllerActivity(Ljava/io/PrintWriter;Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Landroid/os/BatteryStats$ControllerActivityCounter;I)V
-Landroid/os/BatteryStats;->printControllerActivityIfInteresting(Ljava/io/PrintWriter;Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Landroid/os/BatteryStats$ControllerActivityCounter;I)V
-Landroid/os/BatteryStats;->printmAh(Ljava/io/PrintWriter;D)V
-Landroid/os/BatteryStats;->printmAh(Ljava/lang/StringBuilder;D)V
-Landroid/os/BatteryStats;->printSizeValue(Ljava/io/PrintWriter;J)V
-Landroid/os/BatteryStats;->printTimer(Ljava/io/PrintWriter;Ljava/lang/StringBuilder;Landroid/os/BatteryStats$Timer;JILjava/lang/String;Ljava/lang/String;)Z
-Landroid/os/BatteryStats;->printWakeLock(Ljava/lang/StringBuilder;Landroid/os/BatteryStats$Timer;JLjava/lang/String;ILjava/lang/String;)Ljava/lang/String;
-Landroid/os/BatteryStats;->printWakeLockCheckin(Ljava/lang/StringBuilder;Landroid/os/BatteryStats$Timer;JLjava/lang/String;ILjava/lang/String;)Ljava/lang/String;
-Landroid/os/BatteryStats;->PROCESS_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->PROCESS_STATE:I
-Landroid/os/BatteryStats;->RESOURCE_POWER_MANAGER_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->RESULT_RECEIVER_CONTROLLER_KEY:Ljava/lang/String;
-Landroid/os/BatteryStats;->roundUsToMs(J)J
-Landroid/os/BatteryStats;->SCREEN_BRIGHTNESS_BRIGHT:I
-Landroid/os/BatteryStats;->SCREEN_BRIGHTNESS_DARK:I
-Landroid/os/BatteryStats;->SCREEN_BRIGHTNESS_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->SCREEN_BRIGHTNESS_DIM:I
-Landroid/os/BatteryStats;->SCREEN_BRIGHTNESS_LIGHT:I
-Landroid/os/BatteryStats;->SCREEN_BRIGHTNESS_MEDIUM:I
-Landroid/os/BatteryStats;->SCREEN_BRIGHTNESS_NAMES:[Ljava/lang/String;
-Landroid/os/BatteryStats;->SCREEN_BRIGHTNESS_SHORT_NAMES:[Ljava/lang/String;
-Landroid/os/BatteryStats;->SCREEN_OFF_RPM_STATS_ENABLED:Z
-Landroid/os/BatteryStats;->SENSOR:I
-Landroid/os/BatteryStats;->SENSOR_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->SERVICE_NAME:Ljava/lang/String;
-Landroid/os/BatteryStats;->SIGNAL_SCANNING_TIME_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->SIGNAL_STRENGTH_COUNT_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->SIGNAL_STRENGTH_TIME_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->sIntToString:Landroid/os/BatteryStats$IntToString;
-Landroid/os/BatteryStats;->startIteratingOldHistoryLocked()Z
-Landroid/os/BatteryStats;->STATE_TIME_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->STATS_SINCE_CHARGED:I
-Landroid/os/BatteryStats;->STATS_SINCE_UNPLUGGED:I
-Landroid/os/BatteryStats;->STAT_NAMES:[Ljava/lang/String;
-Landroid/os/BatteryStats;->STEP_LEVEL_INITIAL_MODE_MASK:J
-Landroid/os/BatteryStats;->STEP_LEVEL_INITIAL_MODE_SHIFT:I
-Landroid/os/BatteryStats;->STEP_LEVEL_LEVEL_MASK:J
-Landroid/os/BatteryStats;->STEP_LEVEL_LEVEL_SHIFT:I
-Landroid/os/BatteryStats;->STEP_LEVEL_MODES_OF_INTEREST:[I
-Landroid/os/BatteryStats;->STEP_LEVEL_MODE_DEVICE_IDLE:I
-Landroid/os/BatteryStats;->STEP_LEVEL_MODE_LABELS:[Ljava/lang/String;
-Landroid/os/BatteryStats;->STEP_LEVEL_MODE_POWER_SAVE:I
-Landroid/os/BatteryStats;->STEP_LEVEL_MODE_SCREEN_STATE:I
-Landroid/os/BatteryStats;->STEP_LEVEL_MODE_VALUES:[I
-Landroid/os/BatteryStats;->STEP_LEVEL_MODIFIED_MODE_MASK:J
-Landroid/os/BatteryStats;->STEP_LEVEL_MODIFIED_MODE_SHIFT:I
-Landroid/os/BatteryStats;->STEP_LEVEL_TIME_MASK:J
-Landroid/os/BatteryStats;->sUidToString:Landroid/os/BatteryStats$IntToString;
-Landroid/os/BatteryStats;->SYNC:I
-Landroid/os/BatteryStats;->SYNC_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->TAG:Ljava/lang/String;
-Landroid/os/BatteryStats;->UID_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->UID_TIMES_TYPE_ALL:Ljava/lang/String;
-Landroid/os/BatteryStats;->USER_ACTIVITY_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->VERSION_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->VIBRATOR_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->VIBRATOR_ON:I
-Landroid/os/BatteryStats;->VIDEO_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->VIDEO_TURNED_ON:I
-Landroid/os/BatteryStats;->WAKELOCK_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->WAKEUP_ALARM_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->WAKEUP_REASON_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->WAKE_TYPE_DRAW:I
-Landroid/os/BatteryStats;->WAKE_TYPE_FULL:I
-Landroid/os/BatteryStats;->WAKE_TYPE_WINDOW:I
-Landroid/os/BatteryStats;->WIFI_AGGREGATE_MULTICAST_ENABLED:I
-Landroid/os/BatteryStats;->WIFI_BATCHED_SCAN:I
-Landroid/os/BatteryStats;->WIFI_CONTROLLER_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->WIFI_CONTROLLER_NAME:Ljava/lang/String;
-Landroid/os/BatteryStats;->WIFI_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->WIFI_MULTICAST_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->WIFI_MULTICAST_ENABLED:I
-Landroid/os/BatteryStats;->WIFI_MULTICAST_TOTAL_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->WIFI_RUNNING:I
-Landroid/os/BatteryStats;->WIFI_SCAN:I
-Landroid/os/BatteryStats;->WIFI_SIGNAL_STRENGTH_COUNT_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->WIFI_SIGNAL_STRENGTH_TIME_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->WIFI_STATE_COUNT_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->WIFI_STATE_NAMES:[Ljava/lang/String;
-Landroid/os/BatteryStats;->WIFI_STATE_OFF:I
-Landroid/os/BatteryStats;->WIFI_STATE_OFF_SCANNING:I
-Landroid/os/BatteryStats;->WIFI_STATE_ON_CONNECTED_P2P:I
-Landroid/os/BatteryStats;->WIFI_STATE_ON_CONNECTED_STA:I
-Landroid/os/BatteryStats;->WIFI_STATE_ON_CONNECTED_STA_P2P:I
-Landroid/os/BatteryStats;->WIFI_STATE_ON_DISCONNECTED:I
-Landroid/os/BatteryStats;->WIFI_STATE_ON_NO_NETWORKS:I
-Landroid/os/BatteryStats;->WIFI_STATE_SOFT_AP:I
-Landroid/os/BatteryStats;->WIFI_STATE_TIME_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->WIFI_SUPPL_STATE_ASSOCIATED:I
-Landroid/os/BatteryStats;->WIFI_SUPPL_STATE_ASSOCIATING:I
-Landroid/os/BatteryStats;->WIFI_SUPPL_STATE_AUTHENTICATING:I
-Landroid/os/BatteryStats;->WIFI_SUPPL_STATE_COMPLETED:I
-Landroid/os/BatteryStats;->WIFI_SUPPL_STATE_COUNT_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->WIFI_SUPPL_STATE_DISCONNECTED:I
-Landroid/os/BatteryStats;->WIFI_SUPPL_STATE_DORMANT:I
-Landroid/os/BatteryStats;->WIFI_SUPPL_STATE_FOUR_WAY_HANDSHAKE:I
-Landroid/os/BatteryStats;->WIFI_SUPPL_STATE_GROUP_HANDSHAKE:I
-Landroid/os/BatteryStats;->WIFI_SUPPL_STATE_INACTIVE:I
-Landroid/os/BatteryStats;->WIFI_SUPPL_STATE_INTERFACE_DISABLED:I
-Landroid/os/BatteryStats;->WIFI_SUPPL_STATE_INVALID:I
-Landroid/os/BatteryStats;->WIFI_SUPPL_STATE_NAMES:[Ljava/lang/String;
-Landroid/os/BatteryStats;->WIFI_SUPPL_STATE_SCANNING:I
-Landroid/os/BatteryStats;->WIFI_SUPPL_STATE_SHORT_NAMES:[Ljava/lang/String;
-Landroid/os/BatteryStats;->WIFI_SUPPL_STATE_TIME_DATA:Ljava/lang/String;
-Landroid/os/BatteryStats;->WIFI_SUPPL_STATE_UNINITIALIZED:I
-Landroid/os/BatteryStats;->writeToParcelWithoutUids(Landroid/os/Parcel;I)V
-Landroid/os/BatteryStatsInternal;
-Landroid/os/BatteryStatsInternal;-><init>()V
-Landroid/os/BatteryStatsInternal;->getMobileIfaces()[Ljava/lang/String;
-Landroid/os/BatteryStatsInternal;->getWifiIfaces()[Ljava/lang/String;
-Landroid/os/BatteryStatsInternal;->noteJobsDeferred(IIJ)V
-Landroid/os/BatteryStatsProto;
-Landroid/os/BatteryStatsProto;-><init>()V
-Landroid/os/BatteryStatsProto;->END_PLATFORM_VERSION:J
-Landroid/os/BatteryStatsProto;->PARCEL_VERSION:J
-Landroid/os/BatteryStatsProto;->REPORT_VERSION:J
-Landroid/os/BatteryStatsProto;->START_PLATFORM_VERSION:J
-Landroid/os/BatteryStatsProto;->SYSTEM:J
-Landroid/os/BatteryStatsProto;->UIDS:J
-Landroid/os/BatteryTypeProto;
-Landroid/os/BatteryTypeProto;-><init>()V
-Landroid/os/BatteryTypeProto;->TYPE:J
-Landroid/os/BestClock;
-Landroid/os/BestClock;-><init>(Ljava/time/ZoneId;[[Ljava/time/Clock;)V
-Landroid/os/BestClock;->clocks:[Ljava/time/Clock;
-Landroid/os/BestClock;->TAG:Ljava/lang/String;
-Landroid/os/Binder$NoImagePreloadHolder;
-Landroid/os/Binder$NoImagePreloadHolder;-><init>()V
-Landroid/os/Binder$NoImagePreloadHolder;->sRegistry:Llibcore/util/NativeAllocationRegistry;
-Landroid/os/Binder;->allowBlocking(Landroid/os/IBinder;)Landroid/os/IBinder;
-Landroid/os/Binder;->blockUntilThreadAvailable()V
-Landroid/os/Binder;->checkParcel(Landroid/os/IBinder;ILandroid/os/Parcel;Ljava/lang/String;)V
-Landroid/os/Binder;->CHECK_PARCEL_SIZE:Z
-Landroid/os/Binder;->copyAllowBlocking(Landroid/os/IBinder;Landroid/os/IBinder;)V
-Landroid/os/Binder;->defaultBlocking(Landroid/os/IBinder;)Landroid/os/IBinder;
-Landroid/os/Binder;->disableTracing()V
-Landroid/os/Binder;->doDump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/os/Binder;->enableTracing()V
-Landroid/os/Binder;->FIND_POTENTIAL_LEAKS:Z
-Landroid/os/Binder;->getFinalizer()J
-Landroid/os/Binder;->getNativeBBinderHolder()J
-Landroid/os/Binder;->getNativeFinalizer()J
-Landroid/os/Binder;->getThreadStrictModePolicy()I
-Landroid/os/Binder;->getTransactionTracker()Landroid/os/TransactionTracker;
-Landroid/os/Binder;->isProxy(Landroid/os/IInterface;)Z
-Landroid/os/Binder;->isTracingEnabled()Z
-Landroid/os/Binder;->LOG_RUNTIME_EXCEPTION:Z
-Landroid/os/Binder;->mDescriptor:Ljava/lang/String;
-Landroid/os/Binder;->mOwner:Landroid/os/IInterface;
-Landroid/os/Binder;->NATIVE_ALLOCATION_SIZE:I
-Landroid/os/Binder;->onShellCommand(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)V
-Landroid/os/Binder;->sDumpDisabled:Ljava/lang/String;
-Landroid/os/Binder;->setDumpDisabled(Ljava/lang/String;)V
-Landroid/os/Binder;->setThreadStrictModePolicy(I)V
-Landroid/os/Binder;->setWarnOnBlocking(Z)V
-Landroid/os/Binder;->shellCommand(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)V
-Landroid/os/Binder;->sTracingEnabled:Z
-Landroid/os/Binder;->sTransactionTracker:Landroid/os/TransactionTracker;
-Landroid/os/Binder;->sWarnOnBlocking:Z
-Landroid/os/Binder;->TAG:Ljava/lang/String;
-Landroid/os/Binder;->withCleanCallingIdentity(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;)V
-Landroid/os/Binder;->withCleanCallingIdentity(Lcom/android/internal/util/FunctionalUtils$ThrowingSupplier;)Ljava/lang/Object;
-Landroid/os/Broadcaster$Registration;
-Landroid/os/Broadcaster$Registration;-><init>()V
-Landroid/os/Broadcaster$Registration;->next:Landroid/os/Broadcaster$Registration;
-Landroid/os/Broadcaster$Registration;->prev:Landroid/os/Broadcaster$Registration;
-Landroid/os/Broadcaster$Registration;->senderWhat:I
-Landroid/os/Broadcaster$Registration;->targets:[Landroid/os/Handler;
-Landroid/os/Broadcaster$Registration;->targetWhats:[I
-Landroid/os/Broadcaster;
-Landroid/os/Broadcaster;->dumpRegistrations()V
-Landroid/os/Broadcaster;->mReg:Landroid/os/Broadcaster$Registration;
-Landroid/os/Build$VERSION;->ALL_CODENAMES:[Ljava/lang/String;
-Landroid/os/Build$VERSION;->MIN_SUPPORTED_TARGET_SDK_INT:I
-Landroid/os/Build$VERSION_CODES;->L:I
-Landroid/os/Build;->deriveFingerprint()Ljava/lang/String;
-Landroid/os/Build;->ensureFingerprintProperty()V
-Landroid/os/Build;->getStringList(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-Landroid/os/Build;->isBuildConsistent()Z
-Landroid/os/Build;->IS_CONTAINER:Z
-Landroid/os/Build;->IS_ENG:Z
-Landroid/os/Build;->IS_TREBLE_ENABLED:Z
-Landroid/os/Build;->IS_USER:Z
-Landroid/os/Build;->IS_USERDEBUG:Z
-Landroid/os/Build;->TAG:Ljava/lang/String;
-Landroid/os/Bundle;-><init>(Landroid/os/Parcel;)V
-Landroid/os/Bundle;-><init>(Landroid/os/Parcel;I)V
-Landroid/os/Bundle;-><init>(Z)V
-Landroid/os/Bundle;->FLAG_ALLOW_FDS:I
-Landroid/os/Bundle;->FLAG_HAS_FDS:I
-Landroid/os/Bundle;->FLAG_HAS_FDS_KNOWN:I
-Landroid/os/Bundle;->maybePrefillHasFds()V
-Landroid/os/Bundle;->setAllowFds(Z)Z
-Landroid/os/Bundle;->setDefusable(Z)V
-Landroid/os/Bundle;->STRIPPED:Landroid/os/Bundle;
-Landroid/os/Bundle;->toShortString()Ljava/lang/String;
-Landroid/os/Bundle;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/os/BundleProto;
-Landroid/os/BundleProto;-><init>()V
-Landroid/os/BundleProto;->MAP_DATA:J
-Landroid/os/BundleProto;->PARCELLED_DATA_SIZE:J
-Landroid/os/CancellationSignal$Transport;
-Landroid/os/CancellationSignal$Transport;-><init>()V
-Landroid/os/CancellationSignal$Transport;->cancel()V
-Landroid/os/CancellationSignal$Transport;->mCancellationSignal:Landroid/os/CancellationSignal;
-Landroid/os/CancellationSignal;->createTransport()Landroid/os/ICancellationSignal;
-Landroid/os/CancellationSignal;->fromTransport(Landroid/os/ICancellationSignal;)Landroid/os/CancellationSignal;
-Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
-Landroid/os/ChildZygoteProcess;
-Landroid/os/ChildZygoteProcess;-><init>(Landroid/net/LocalSocketAddress;I)V
-Landroid/os/ChildZygoteProcess;->getPid()I
-Landroid/os/ChildZygoteProcess;->mPid:I
-Landroid/os/CommonClock$OnServerDiedListener;
-Landroid/os/CommonClock$OnServerDiedListener;->onServerDied()V
-Landroid/os/CommonClock$OnTimelineChangedListener;
-Landroid/os/CommonClock$OnTimelineChangedListener;->onTimelineChanged(J)V
-Landroid/os/CommonClock$TimelineChangedListener;
-Landroid/os/CommonClock$TimelineChangedListener;-><init>()V
-Landroid/os/CommonClock$TimelineChangedListener;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/CommonClock;
-Landroid/os/CommonClock;-><init>()V
-Landroid/os/CommonClock;->create()Landroid/os/CommonClock;
-Landroid/os/CommonClock;->ERROR_ESTIMATE_UNKNOWN:I
-Landroid/os/CommonClock;->getEstimatedError()I
-Landroid/os/CommonClock;->getMasterAddr()Ljava/net/InetSocketAddress;
-Landroid/os/CommonClock;->getState()I
-Landroid/os/CommonClock;->getTime()J
-Landroid/os/CommonClock;->getTimelineId()J
-Landroid/os/CommonClock;->INVALID_TIMELINE_ID:J
-Landroid/os/CommonClock;->mCallbackTgt:Landroid/os/CommonClock$TimelineChangedListener;
-Landroid/os/CommonClock;->mDeathHandler:Landroid/os/IBinder$DeathRecipient;
-Landroid/os/CommonClock;->METHOD_CBK_ON_TIMELINE_CHANGED:I
-Landroid/os/CommonClock;->METHOD_COMMON_TIME_TO_LOCAL_TIME:I
-Landroid/os/CommonClock;->METHOD_GET_COMMON_FREQ:I
-Landroid/os/CommonClock;->METHOD_GET_COMMON_TIME:I
-Landroid/os/CommonClock;->METHOD_GET_ESTIMATED_ERROR:I
-Landroid/os/CommonClock;->METHOD_GET_LOCAL_FREQ:I
-Landroid/os/CommonClock;->METHOD_GET_LOCAL_TIME:I
-Landroid/os/CommonClock;->METHOD_GET_MASTER_ADDRESS:I
-Landroid/os/CommonClock;->METHOD_GET_STATE:I
-Landroid/os/CommonClock;->METHOD_GET_TIMELINE_ID:I
-Landroid/os/CommonClock;->METHOD_IS_COMMON_TIME_VALID:I
-Landroid/os/CommonClock;->METHOD_LOCAL_TIME_TO_COMMON_TIME:I
-Landroid/os/CommonClock;->METHOD_REGISTER_LISTENER:I
-Landroid/os/CommonClock;->METHOD_UNREGISTER_LISTENER:I
-Landroid/os/CommonClock;->mInterfaceDesc:Ljava/lang/String;
-Landroid/os/CommonClock;->mListenerLock:Ljava/lang/Object;
-Landroid/os/CommonClock;->mRemote:Landroid/os/IBinder;
-Landroid/os/CommonClock;->mServerDiedListener:Landroid/os/CommonClock$OnServerDiedListener;
-Landroid/os/CommonClock;->mTimelineChangedListener:Landroid/os/CommonClock$OnTimelineChangedListener;
-Landroid/os/CommonClock;->mUtils:Landroid/os/CommonTimeUtils;
-Landroid/os/CommonClock;->registerTimelineChangeListener()V
-Landroid/os/CommonClock;->release()V
-Landroid/os/CommonClock;->SERVICE_NAME:Ljava/lang/String;
-Landroid/os/CommonClock;->setServerDiedListener(Landroid/os/CommonClock$OnServerDiedListener;)V
-Landroid/os/CommonClock;->setTimelineChangedListener(Landroid/os/CommonClock$OnTimelineChangedListener;)V
-Landroid/os/CommonClock;->STATE_CLIENT:I
-Landroid/os/CommonClock;->STATE_INITIAL:I
-Landroid/os/CommonClock;->STATE_INVALID:I
-Landroid/os/CommonClock;->STATE_MASTER:I
-Landroid/os/CommonClock;->STATE_RONIN:I
-Landroid/os/CommonClock;->STATE_WAIT_FOR_ELECTION:I
-Landroid/os/CommonClock;->throwOnDeadServer()V
-Landroid/os/CommonClock;->TIME_NOT_SYNCED:J
-Landroid/os/CommonClock;->unregisterTimelineChangeListener()V
-Landroid/os/CommonTimeConfig$OnServerDiedListener;
-Landroid/os/CommonTimeConfig$OnServerDiedListener;->onServerDied()V
-Landroid/os/CommonTimeConfig;
-Landroid/os/CommonTimeConfig;-><init>()V
-Landroid/os/CommonTimeConfig;->checkDeadServer()Z
-Landroid/os/CommonTimeConfig;->create()Landroid/os/CommonTimeConfig;
-Landroid/os/CommonTimeConfig;->ERROR:I
-Landroid/os/CommonTimeConfig;->ERROR_BAD_VALUE:I
-Landroid/os/CommonTimeConfig;->ERROR_DEAD_OBJECT:I
-Landroid/os/CommonTimeConfig;->forceNetworklessMasterMode()I
-Landroid/os/CommonTimeConfig;->getAutoDisable()Z
-Landroid/os/CommonTimeConfig;->getClientSyncInterval()I
-Landroid/os/CommonTimeConfig;->getInterfaceBinding()Ljava/lang/String;
-Landroid/os/CommonTimeConfig;->getMasterAnnounceInterval()I
-Landroid/os/CommonTimeConfig;->getMasterElectionEndpoint()Ljava/net/InetSocketAddress;
-Landroid/os/CommonTimeConfig;->getMasterElectionGroupId()J
-Landroid/os/CommonTimeConfig;->getMasterElectionPriority()B
-Landroid/os/CommonTimeConfig;->getPanicThreshold()I
-Landroid/os/CommonTimeConfig;->INVALID_GROUP_ID:J
-Landroid/os/CommonTimeConfig;->mDeathHandler:Landroid/os/IBinder$DeathRecipient;
-Landroid/os/CommonTimeConfig;->METHOD_FORCE_NETWORKLESS_MASTER_MODE:I
-Landroid/os/CommonTimeConfig;->METHOD_GET_AUTO_DISABLE:I
-Landroid/os/CommonTimeConfig;->METHOD_GET_CLIENT_SYNC_INTERVAL:I
-Landroid/os/CommonTimeConfig;->METHOD_GET_INTERFACE_BINDING:I
-Landroid/os/CommonTimeConfig;->METHOD_GET_MASTER_ANNOUNCE_INTERVAL:I
-Landroid/os/CommonTimeConfig;->METHOD_GET_MASTER_ELECTION_ENDPOINT:I
-Landroid/os/CommonTimeConfig;->METHOD_GET_MASTER_ELECTION_GROUP_ID:I
-Landroid/os/CommonTimeConfig;->METHOD_GET_MASTER_ELECTION_PRIORITY:I
-Landroid/os/CommonTimeConfig;->METHOD_GET_PANIC_THRESHOLD:I
-Landroid/os/CommonTimeConfig;->METHOD_SET_AUTO_DISABLE:I
-Landroid/os/CommonTimeConfig;->METHOD_SET_CLIENT_SYNC_INTERVAL:I
-Landroid/os/CommonTimeConfig;->METHOD_SET_INTERFACE_BINDING:I
-Landroid/os/CommonTimeConfig;->METHOD_SET_MASTER_ANNOUNCE_INTERVAL:I
-Landroid/os/CommonTimeConfig;->METHOD_SET_MASTER_ELECTION_ENDPOINT:I
-Landroid/os/CommonTimeConfig;->METHOD_SET_MASTER_ELECTION_GROUP_ID:I
-Landroid/os/CommonTimeConfig;->METHOD_SET_MASTER_ELECTION_PRIORITY:I
-Landroid/os/CommonTimeConfig;->METHOD_SET_PANIC_THRESHOLD:I
-Landroid/os/CommonTimeConfig;->mInterfaceDesc:Ljava/lang/String;
-Landroid/os/CommonTimeConfig;->mListenerLock:Ljava/lang/Object;
-Landroid/os/CommonTimeConfig;->mRemote:Landroid/os/IBinder;
-Landroid/os/CommonTimeConfig;->mServerDiedListener:Landroid/os/CommonTimeConfig$OnServerDiedListener;
-Landroid/os/CommonTimeConfig;->mUtils:Landroid/os/CommonTimeUtils;
-Landroid/os/CommonTimeConfig;->release()V
-Landroid/os/CommonTimeConfig;->SERVICE_NAME:Ljava/lang/String;
-Landroid/os/CommonTimeConfig;->setAutoDisable(Z)I
-Landroid/os/CommonTimeConfig;->setClientSyncInterval(I)I
-Landroid/os/CommonTimeConfig;->setMasterAnnounceInterval(I)I
-Landroid/os/CommonTimeConfig;->setMasterElectionEndpoint(Ljava/net/InetSocketAddress;)I
-Landroid/os/CommonTimeConfig;->setMasterElectionGroupId(J)I
-Landroid/os/CommonTimeConfig;->setMasterElectionPriority(B)I
-Landroid/os/CommonTimeConfig;->setNetworkBinding(Ljava/lang/String;)I
-Landroid/os/CommonTimeConfig;->setPanicThreshold(I)I
-Landroid/os/CommonTimeConfig;->setServerDiedListener(Landroid/os/CommonTimeConfig$OnServerDiedListener;)V
-Landroid/os/CommonTimeConfig;->SUCCESS:I
-Landroid/os/CommonTimeConfig;->throwOnDeadServer()V
-Landroid/os/CommonTimeUtils;
-Landroid/os/CommonTimeUtils;-><init>(Landroid/os/IBinder;Ljava/lang/String;)V
-Landroid/os/CommonTimeUtils;->ERROR:I
-Landroid/os/CommonTimeUtils;->ERROR_BAD_VALUE:I
-Landroid/os/CommonTimeUtils;->ERROR_DEAD_OBJECT:I
-Landroid/os/CommonTimeUtils;->mInterfaceDesc:Ljava/lang/String;
-Landroid/os/CommonTimeUtils;->mRemote:Landroid/os/IBinder;
-Landroid/os/CommonTimeUtils;->SUCCESS:I
-Landroid/os/CommonTimeUtils;->transactGetInt(II)I
-Landroid/os/CommonTimeUtils;->transactGetLong(IJ)J
-Landroid/os/CommonTimeUtils;->transactGetSockaddr(I)Ljava/net/InetSocketAddress;
-Landroid/os/CommonTimeUtils;->transactGetString(ILjava/lang/String;)Ljava/lang/String;
-Landroid/os/CommonTimeUtils;->transactSetInt(II)I
-Landroid/os/CommonTimeUtils;->transactSetLong(IJ)I
-Landroid/os/CommonTimeUtils;->transactSetSockaddr(ILjava/net/InetSocketAddress;)I
-Landroid/os/CommonTimeUtils;->transactSetString(ILjava/lang/String;)I
-Landroid/os/ConditionVariable;->mCondition:Z
-Landroid/os/ConfigUpdate;-><init>()V
-Landroid/os/ControllerActivityProto$TxLevel;
-Landroid/os/ControllerActivityProto$TxLevel;-><init>()V
-Landroid/os/ControllerActivityProto$TxLevel;->DURATION_MS:J
-Landroid/os/ControllerActivityProto$TxLevel;->LEVEL:J
-Landroid/os/ControllerActivityProto;
-Landroid/os/ControllerActivityProto;-><init>()V
-Landroid/os/ControllerActivityProto;->IDLE_DURATION_MS:J
-Landroid/os/ControllerActivityProto;->POWER_MAH:J
-Landroid/os/ControllerActivityProto;->RX_DURATION_MS:J
-Landroid/os/ControllerActivityProto;->TX:J
-Landroid/os/CountDownTimer;->mCancelled:Z
-Landroid/os/CountDownTimer;->mCountdownInterval:J
-Landroid/os/CountDownTimer;->mHandler:Landroid/os/Handler;
-Landroid/os/CountDownTimer;->mMillisInFuture:J
-Landroid/os/CountDownTimer;->MSG:I
-Landroid/os/CountDownTimer;->mStopTimeInFuture:J
-Landroid/os/CpuFreqProto$Stats$TimeInState;
-Landroid/os/CpuFreqProto$Stats$TimeInState;-><init>()V
-Landroid/os/CpuFreqProto$Stats$TimeInState;->STATE_KHZ:J
-Landroid/os/CpuFreqProto$Stats$TimeInState;->TIME_JIFFY:J
-Landroid/os/CpuFreqProto$Stats;
-Landroid/os/CpuFreqProto$Stats;-><init>()V
-Landroid/os/CpuFreqProto$Stats;->CPU_NAME:J
-Landroid/os/CpuFreqProto$Stats;->TIMES:J
-Landroid/os/CpuFreqProto;
-Landroid/os/CpuFreqProto;-><init>()V
-Landroid/os/CpuFreqProto;->CPU_FREQS:J
-Landroid/os/CpuFreqProto;->JIFFY_HZ:J
-Landroid/os/CpuInfoProto$CpuUsage;
-Landroid/os/CpuInfoProto$CpuUsage;-><init>()V
-Landroid/os/CpuInfoProto$CpuUsage;->CPU:J
-Landroid/os/CpuInfoProto$CpuUsage;->HOST:J
-Landroid/os/CpuInfoProto$CpuUsage;->IDLE:J
-Landroid/os/CpuInfoProto$CpuUsage;->IOW:J
-Landroid/os/CpuInfoProto$CpuUsage;->IRQ:J
-Landroid/os/CpuInfoProto$CpuUsage;->NICE:J
-Landroid/os/CpuInfoProto$CpuUsage;->SIRQ:J
-Landroid/os/CpuInfoProto$CpuUsage;->SYS:J
-Landroid/os/CpuInfoProto$CpuUsage;->USER:J
-Landroid/os/CpuInfoProto$MemStats;
-Landroid/os/CpuInfoProto$MemStats;-><init>()V
-Landroid/os/CpuInfoProto$MemStats;->BUFFERS:J
-Landroid/os/CpuInfoProto$MemStats;->CACHED:J
-Landroid/os/CpuInfoProto$MemStats;->FREE:J
-Landroid/os/CpuInfoProto$MemStats;->TOTAL:J
-Landroid/os/CpuInfoProto$MemStats;->USED:J
-Landroid/os/CpuInfoProto$Task;
-Landroid/os/CpuInfoProto$Task;-><init>()V
-Landroid/os/CpuInfoProto$Task;->CMD:J
-Landroid/os/CpuInfoProto$Task;->CPU:J
-Landroid/os/CpuInfoProto$Task;->NAME:J
-Landroid/os/CpuInfoProto$Task;->NI:J
-Landroid/os/CpuInfoProto$Task;->PCY:J
-Landroid/os/CpuInfoProto$Task;->PID:J
-Landroid/os/CpuInfoProto$Task;->POLICY_BG:I
-Landroid/os/CpuInfoProto$Task;->POLICY_FG:I
-Landroid/os/CpuInfoProto$Task;->POLICY_TA:I
-Landroid/os/CpuInfoProto$Task;->POLICY_UNKNOWN:I
-Landroid/os/CpuInfoProto$Task;->PR:J
-Landroid/os/CpuInfoProto$Task;->RES:J
-Landroid/os/CpuInfoProto$Task;->S:J
-Landroid/os/CpuInfoProto$Task;->STATUS_D:I
-Landroid/os/CpuInfoProto$Task;->STATUS_R:I
-Landroid/os/CpuInfoProto$Task;->STATUS_S:I
-Landroid/os/CpuInfoProto$Task;->STATUS_T:I
-Landroid/os/CpuInfoProto$Task;->STATUS_UNKNOWN:I
-Landroid/os/CpuInfoProto$Task;->STATUS_Z:I
-Landroid/os/CpuInfoProto$Task;->TID:J
-Landroid/os/CpuInfoProto$Task;->USER:J
-Landroid/os/CpuInfoProto$Task;->VIRT:J
-Landroid/os/CpuInfoProto$TaskStats;
-Landroid/os/CpuInfoProto$TaskStats;-><init>()V
-Landroid/os/CpuInfoProto$TaskStats;->RUNNING:J
-Landroid/os/CpuInfoProto$TaskStats;->SLEEPING:J
-Landroid/os/CpuInfoProto$TaskStats;->STOPPED:J
-Landroid/os/CpuInfoProto$TaskStats;->TOTAL:J
-Landroid/os/CpuInfoProto$TaskStats;->ZOMBIE:J
-Landroid/os/CpuInfoProto;
-Landroid/os/CpuInfoProto;-><init>()V
-Landroid/os/CpuInfoProto;->CPU_USAGE:J
-Landroid/os/CpuInfoProto;->MEM:J
-Landroid/os/CpuInfoProto;->SWAP:J
-Landroid/os/CpuInfoProto;->TASKS:J
-Landroid/os/CpuInfoProto;->TASK_STATS:J
-Landroid/os/CpuUsageInfo;-><init>(JJ)V
-Landroid/os/CpuUsageInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/os/CpuUsageInfo;->mActive:J
-Landroid/os/CpuUsageInfo;->mTotal:J
-Landroid/os/CpuUsageInfo;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/os/Debug$DebugProperty;
-Landroid/os/Debug$MemoryInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/os/Debug$MemoryInfo;->getOtherPrivateClean(I)I
-Landroid/os/Debug$MemoryInfo;->getOtherRss(I)I
-Landroid/os/Debug$MemoryInfo;->getOtherSharedClean(I)I
-Landroid/os/Debug$MemoryInfo;->getOtherSwappablePss(I)I
-Landroid/os/Debug$MemoryInfo;->getOtherSwappedOut(I)I
-Landroid/os/Debug$MemoryInfo;->getOtherSwappedOutPss(I)I
-Landroid/os/Debug$MemoryInfo;->getSummaryTotalPss()I
-Landroid/os/Debug$MemoryInfo;->getSummaryTotalSwap()I
-Landroid/os/Debug$MemoryInfo;->getSummaryTotalSwapPss()I
-Landroid/os/Debug$MemoryInfo;->getTotalRss()I
-Landroid/os/Debug$MemoryInfo;->getTotalSwappedOut()I
-Landroid/os/Debug$MemoryInfo;->getTotalSwappedOutPss()I
-Landroid/os/Debug$MemoryInfo;->hasSwappedOutPss()Z
-Landroid/os/Debug$MemoryInfo;->HEAP_DALVIK:I
-Landroid/os/Debug$MemoryInfo;->HEAP_NATIVE:I
-Landroid/os/Debug$MemoryInfo;->HEAP_UNKNOWN:I
-Landroid/os/Debug$MemoryInfo;->NUM_CATEGORIES:I
-Landroid/os/Debug$MemoryInfo;->OFFSET_PRIVATE_CLEAN:I
-Landroid/os/Debug$MemoryInfo;->OFFSET_PRIVATE_DIRTY:I
-Landroid/os/Debug$MemoryInfo;->OFFSET_PSS:I
-Landroid/os/Debug$MemoryInfo;->OFFSET_RSS:I
-Landroid/os/Debug$MemoryInfo;->OFFSET_SHARED_CLEAN:I
-Landroid/os/Debug$MemoryInfo;->OFFSET_SHARED_DIRTY:I
-Landroid/os/Debug$MemoryInfo;->OFFSET_SWAPPABLE_PSS:I
-Landroid/os/Debug$MemoryInfo;->OFFSET_SWAPPED_OUT:I
-Landroid/os/Debug$MemoryInfo;->OFFSET_SWAPPED_OUT_PSS:I
-Landroid/os/Debug$MemoryInfo;->OTHER_APK:I
-Landroid/os/Debug$MemoryInfo;->OTHER_ART:I
-Landroid/os/Debug$MemoryInfo;->OTHER_ART_APP:I
-Landroid/os/Debug$MemoryInfo;->OTHER_ART_BOOT:I
-Landroid/os/Debug$MemoryInfo;->OTHER_ASHMEM:I
-Landroid/os/Debug$MemoryInfo;->OTHER_CURSOR:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DALVIK_LARGE:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DALVIK_NON_MOVING:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DALVIK_NORMAL:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DALVIK_OTHER:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DALVIK_OTHER_ACCOUNTING:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DALVIK_OTHER_CODE_CACHE:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DALVIK_OTHER_COMPILER_METADATA:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DALVIK_OTHER_INDIRECT_REFERENCE_TABLE:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DALVIK_OTHER_LINEARALLOC:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DALVIK_ZYGOTE:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DEX:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DEX_APP_DEX:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DEX_APP_VDEX:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DEX_BOOT_VDEX:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DVK_STAT_ART_END:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DVK_STAT_ART_START:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DVK_STAT_DALVIK_END:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DVK_STAT_DALVIK_OTHER_END:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DVK_STAT_DALVIK_OTHER_START:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DVK_STAT_DALVIK_START:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DVK_STAT_DEX_END:I
-Landroid/os/Debug$MemoryInfo;->OTHER_DVK_STAT_DEX_START:I
-Landroid/os/Debug$MemoryInfo;->OTHER_GL:I
-Landroid/os/Debug$MemoryInfo;->OTHER_GL_DEV:I
-Landroid/os/Debug$MemoryInfo;->OTHER_GRAPHICS:I
-Landroid/os/Debug$MemoryInfo;->OTHER_JAR:I
-Landroid/os/Debug$MemoryInfo;->OTHER_OAT:I
-Landroid/os/Debug$MemoryInfo;->OTHER_OTHER_MEMTRACK:I
-Landroid/os/Debug$MemoryInfo;->OTHER_SO:I
-Landroid/os/Debug$MemoryInfo;->OTHER_STACK:I
-Landroid/os/Debug$MemoryInfo;->OTHER_TTF:I
-Landroid/os/Debug$MemoryInfo;->OTHER_UNKNOWN_DEV:I
-Landroid/os/Debug$MemoryInfo;->OTHER_UNKNOWN_MAP:I
-Landroid/os/Debug;->cacheRegisterMap(Ljava/lang/String;)Z
-Landroid/os/Debug;->debugProperties:Lcom/android/internal/util/TypedProperties;
-Landroid/os/Debug;->DEFAULT_TRACE_BODY:Ljava/lang/String;
-Landroid/os/Debug;->DEFAULT_TRACE_EXTENSION:Ljava/lang/String;
-Landroid/os/Debug;->dumpHprofData(Ljava/lang/String;Ljava/io/FileDescriptor;)V
-Landroid/os/Debug;->dumpHprofDataDdms()V
-Landroid/os/Debug;->dumpJavaBacktraceToFileTimeout(ILjava/lang/String;I)Z
-Landroid/os/Debug;->dumpNativeBacktraceToFileTimeout(ILjava/lang/String;I)Z
-Landroid/os/Debug;->dumpNativeMallocInfo(Ljava/io/FileDescriptor;)V
-Landroid/os/Debug;->fieldTypeMatches(Ljava/lang/reflect/Field;Ljava/lang/Class;)Z
-Landroid/os/Debug;->fixTracePath(Ljava/lang/String;)Ljava/lang/String;
-Landroid/os/Debug;->getCaller([Ljava/lang/StackTraceElement;I)Ljava/lang/String;
-Landroid/os/Debug;->getCallers(II)Ljava/lang/String;
-Landroid/os/Debug;->getCallers(ILjava/lang/String;)Ljava/lang/String;
-Landroid/os/Debug;->getMethodTracingMode()I
-Landroid/os/Debug;->getPss(I[J[J)J
-Landroid/os/Debug;->getUnreachableMemory(IZ)Ljava/lang/String;
-Landroid/os/Debug;->getVmFeatureList()[Ljava/lang/String;
-Landroid/os/Debug;->MEMINFO_BUFFERS:I
-Landroid/os/Debug;->MEMINFO_CACHED:I
-Landroid/os/Debug;->MEMINFO_COUNT:I
-Landroid/os/Debug;->MEMINFO_FREE:I
-Landroid/os/Debug;->MEMINFO_KERNEL_STACK:I
-Landroid/os/Debug;->MEMINFO_MAPPED:I
-Landroid/os/Debug;->MEMINFO_PAGE_TABLES:I
-Landroid/os/Debug;->MEMINFO_SHMEM:I
-Landroid/os/Debug;->MEMINFO_SLAB:I
-Landroid/os/Debug;->MEMINFO_SLAB_RECLAIMABLE:I
-Landroid/os/Debug;->MEMINFO_SLAB_UNRECLAIMABLE:I
-Landroid/os/Debug;->MEMINFO_SWAP_FREE:I
-Landroid/os/Debug;->MEMINFO_SWAP_TOTAL:I
-Landroid/os/Debug;->MEMINFO_TOTAL:I
-Landroid/os/Debug;->MEMINFO_VM_ALLOC_USED:I
-Landroid/os/Debug;->MEMINFO_ZRAM_TOTAL:I
-Landroid/os/Debug;->MIN_DEBUGGER_IDLE:I
-Landroid/os/Debug;->modifyFieldIfSet(Ljava/lang/reflect/Field;Lcom/android/internal/util/TypedProperties;Ljava/lang/String;)V
-Landroid/os/Debug;->mWaiting:Z
-Landroid/os/Debug;->setFieldsOn(Ljava/lang/Class;)V
-Landroid/os/Debug;->setFieldsOn(Ljava/lang/Class;Z)V
-Landroid/os/Debug;->SPIN_DELAY:I
-Landroid/os/Debug;->startMethodTracing(Ljava/lang/String;Ljava/io/FileDescriptor;IIZ)V
-Landroid/os/Debug;->startMethodTracingDdms(IIZI)V
-Landroid/os/Debug;->SYSFS_QEMU_TRACE_STATE:Ljava/lang/String;
-Landroid/os/Debug;->TAG:Ljava/lang/String;
-Landroid/os/DeviceIdleManager;-><init>(Landroid/content/Context;Landroid/os/IDeviceIdleController;)V
-Landroid/os/DeviceIdleManager;->mContext:Landroid/content/Context;
-Landroid/os/DeviceIdleManager;->mService:Landroid/os/IDeviceIdleController;
-Landroid/os/DropBoxManager$Entry;->mData:[B
-Landroid/os/DropBoxManager$Entry;->mFileDescriptor:Landroid/os/ParcelFileDescriptor;
-Landroid/os/DropBoxManager$Entry;->mFlags:I
-Landroid/os/DropBoxManager$Entry;->mTag:Ljava/lang/String;
-Landroid/os/DropBoxManager$Entry;->mTimeMillis:J
-Landroid/os/DropBoxManager;-><init>(Landroid/content/Context;Lcom/android/internal/os/IDropBoxManagerService;)V
-Landroid/os/DropBoxManager;->HAS_BYTE_ARRAY:I
-Landroid/os/DropBoxManager;->mContext:Landroid/content/Context;
-Landroid/os/DropBoxManager;->TAG:Ljava/lang/String;
-Landroid/os/Environment$UserEnvironment;
-Landroid/os/Environment$UserEnvironment;->buildExternalStorageAndroidDataDirs()[Ljava/io/File;
-Landroid/os/Environment$UserEnvironment;->buildExternalStorageAndroidObbDirs()[Ljava/io/File;
-Landroid/os/Environment$UserEnvironment;->buildExternalStorageAppCacheDirs(Ljava/lang/String;)[Ljava/io/File;
-Landroid/os/Environment$UserEnvironment;->buildExternalStorageAppDataDirs(Ljava/lang/String;)[Ljava/io/File;
-Landroid/os/Environment$UserEnvironment;->buildExternalStorageAppFilesDirs(Ljava/lang/String;)[Ljava/io/File;
-Landroid/os/Environment$UserEnvironment;->buildExternalStorageAppMediaDirs(Ljava/lang/String;)[Ljava/io/File;
-Landroid/os/Environment$UserEnvironment;->buildExternalStorageAppObbDirs(Ljava/lang/String;)[Ljava/io/File;
-Landroid/os/Environment$UserEnvironment;->buildExternalStoragePublicDirs(Ljava/lang/String;)[Ljava/io/File;
-Landroid/os/Environment$UserEnvironment;->mUserId:I
-Landroid/os/Environment;->buildPaths([Ljava/io/File;[[Ljava/lang/String;)[Ljava/io/File;
-Landroid/os/Environment;->classifyExternalStorageDirectory(Ljava/io/File;)I
-Landroid/os/Environment;->DIRECTORY_ANDROID:Ljava/lang/String;
-Landroid/os/Environment;->DIR_ANDROID:Ljava/lang/String;
-Landroid/os/Environment;->DIR_ANDROID_DATA:Ljava/io/File;
-Landroid/os/Environment;->DIR_ANDROID_EXPAND:Ljava/io/File;
-Landroid/os/Environment;->DIR_ANDROID_ROOT:Ljava/io/File;
-Landroid/os/Environment;->DIR_ANDROID_STORAGE:Ljava/io/File;
-Landroid/os/Environment;->DIR_CACHE:Ljava/lang/String;
-Landroid/os/Environment;->DIR_DATA:Ljava/lang/String;
-Landroid/os/Environment;->DIR_DOWNLOAD_CACHE:Ljava/io/File;
-Landroid/os/Environment;->DIR_FILES:Ljava/lang/String;
-Landroid/os/Environment;->DIR_MEDIA:Ljava/lang/String;
-Landroid/os/Environment;->DIR_OBB:Ljava/lang/String;
-Landroid/os/Environment;->DIR_ODM_ROOT:Ljava/io/File;
-Landroid/os/Environment;->DIR_OEM_ROOT:Ljava/io/File;
-Landroid/os/Environment;->DIR_PRODUCT_ROOT:Ljava/io/File;
-Landroid/os/Environment;->DIR_VENDOR_ROOT:Ljava/io/File;
-Landroid/os/Environment;->ENV_ANDROID_DATA:Ljava/lang/String;
-Landroid/os/Environment;->ENV_ANDROID_EXPAND:Ljava/lang/String;
-Landroid/os/Environment;->ENV_ANDROID_ROOT:Ljava/lang/String;
-Landroid/os/Environment;->ENV_ANDROID_STORAGE:Ljava/lang/String;
-Landroid/os/Environment;->ENV_DOWNLOAD_CACHE:Ljava/lang/String;
-Landroid/os/Environment;->ENV_EXTERNAL_STORAGE:Ljava/lang/String;
-Landroid/os/Environment;->ENV_ODM_ROOT:Ljava/lang/String;
-Landroid/os/Environment;->ENV_OEM_ROOT:Ljava/lang/String;
-Landroid/os/Environment;->ENV_PRODUCT_ROOT:Ljava/lang/String;
-Landroid/os/Environment;->ENV_VENDOR_ROOT:Ljava/lang/String;
-Landroid/os/Environment;->getDataAppDirectory(Ljava/lang/String;)Ljava/io/File;
-Landroid/os/Environment;->getDataDirectory(Ljava/lang/String;)Ljava/io/File;
-Landroid/os/Environment;->getDataMiscCeDirectory()Ljava/io/File;
-Landroid/os/Environment;->getDataMiscCeDirectory(I)Ljava/io/File;
-Landroid/os/Environment;->getDataMiscDeDirectory(I)Ljava/io/File;
-Landroid/os/Environment;->getDataMiscDirectory()Ljava/io/File;
-Landroid/os/Environment;->getDataPreloadsAppsDirectory()Ljava/io/File;
-Landroid/os/Environment;->getDataPreloadsDemoDirectory()Ljava/io/File;
-Landroid/os/Environment;->getDataPreloadsDirectory()Ljava/io/File;
-Landroid/os/Environment;->getDataPreloadsFileCacheDirectory()Ljava/io/File;
-Landroid/os/Environment;->getDataPreloadsFileCacheDirectory(Ljava/lang/String;)Ljava/io/File;
-Landroid/os/Environment;->getDataPreloadsMediaDirectory()Ljava/io/File;
-Landroid/os/Environment;->getDataProfilesDeDirectory(I)Ljava/io/File;
-Landroid/os/Environment;->getDataProfilesDePackageDirectory(ILjava/lang/String;)Ljava/io/File;
-Landroid/os/Environment;->getDataRefProfilesDePackageDirectory(Ljava/lang/String;)Ljava/io/File;
-Landroid/os/Environment;->getDataSystemCeDirectory()Ljava/io/File;
-Landroid/os/Environment;->getDataSystemCeDirectory(I)Ljava/io/File;
-Landroid/os/Environment;->getDataSystemDeDirectory()Ljava/io/File;
-Landroid/os/Environment;->getDataSystemDeDirectory(I)Ljava/io/File;
-Landroid/os/Environment;->getDataUserCeDirectory(Ljava/lang/String;)Ljava/io/File;
-Landroid/os/Environment;->getDataUserCeDirectory(Ljava/lang/String;I)Ljava/io/File;
-Landroid/os/Environment;->getDataUserCePackageDirectory(Ljava/lang/String;ILjava/lang/String;)Ljava/io/File;
-Landroid/os/Environment;->getDataUserDeDirectory(Ljava/lang/String;)Ljava/io/File;
-Landroid/os/Environment;->getDataUserDeDirectory(Ljava/lang/String;I)Ljava/io/File;
-Landroid/os/Environment;->getDataUserDePackageDirectory(Ljava/lang/String;ILjava/lang/String;)Ljava/io/File;
-Landroid/os/Environment;->getDataVendorCeDirectory(I)Ljava/io/File;
-Landroid/os/Environment;->getDataVendorDeDirectory(I)Ljava/io/File;
-Landroid/os/Environment;->getDirectory(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
-Landroid/os/Environment;->getExpandDirectory()Ljava/io/File;
-Landroid/os/Environment;->getOdmDirectory()Ljava/io/File;
-Landroid/os/Environment;->getProductDirectory()Ljava/io/File;
-Landroid/os/Environment;->getUserConfigDirectory(I)Ljava/io/File;
-Landroid/os/Environment;->getUserSystemDirectory(I)Ljava/io/File;
-Landroid/os/Environment;->hasInterestingFiles(Ljava/io/File;)Z
-Landroid/os/Environment;->HAS_ALARMS:I
-Landroid/os/Environment;->HAS_ANDROID:I
-Landroid/os/Environment;->HAS_DCIM:I
-Landroid/os/Environment;->HAS_DOCUMENTS:I
-Landroid/os/Environment;->HAS_DOWNLOADS:I
-Landroid/os/Environment;->HAS_MOVIES:I
-Landroid/os/Environment;->HAS_MUSIC:I
-Landroid/os/Environment;->HAS_NOTIFICATIONS:I
-Landroid/os/Environment;->HAS_OTHER:I
-Landroid/os/Environment;->HAS_PICTURES:I
-Landroid/os/Environment;->HAS_PODCASTS:I
-Landroid/os/Environment;->HAS_RINGTONES:I
-Landroid/os/Environment;->isInterestingFile(Ljava/io/File;)Z
-Landroid/os/Environment;->isStandardDirectory(Ljava/lang/String;)Z
-Landroid/os/Environment;->setUserRequired(Z)V
-Landroid/os/Environment;->STANDARD_DIRECTORIES:[Ljava/lang/String;
-Landroid/os/Environment;->sUserRequired:Z
-Landroid/os/Environment;->TAG:Ljava/lang/String;
-Landroid/os/Environment;->throwIfUserRequired()V
-Landroid/os/EventLogTags;
-Landroid/os/EventLogTags;-><init>()V
-Landroid/os/EventLogTags;->SERVICE_MANAGER_SLOW:I
-Landroid/os/EventLogTags;->SERVICE_MANAGER_STATS:I
-Landroid/os/EventLogTags;->writeServiceManagerSlow(ILjava/lang/String;)V
-Landroid/os/EventLogTags;->writeServiceManagerStats(III)V
-Landroid/os/FactoryTest;
-Landroid/os/FactoryTest;-><init>()V
-Landroid/os/FactoryTest;->FACTORY_TEST_HIGH_LEVEL:I
-Landroid/os/FactoryTest;->FACTORY_TEST_LOW_LEVEL:I
-Landroid/os/FactoryTest;->FACTORY_TEST_OFF:I
-Landroid/os/FactoryTest;->getMode()I
-Landroid/os/FactoryTest;->isLongPressOnPowerOffEnabled()Z
-Landroid/os/FileBridge$FileBridgeOutputStream;
-Landroid/os/FileBridge$FileBridgeOutputStream;-><init>(Landroid/os/ParcelFileDescriptor;)V
-Landroid/os/FileBridge$FileBridgeOutputStream;-><init>(Ljava/io/FileDescriptor;)V
-Landroid/os/FileBridge$FileBridgeOutputStream;->fsync()V
-Landroid/os/FileBridge$FileBridgeOutputStream;->mClient:Ljava/io/FileDescriptor;
-Landroid/os/FileBridge$FileBridgeOutputStream;->mClientPfd:Landroid/os/ParcelFileDescriptor;
-Landroid/os/FileBridge$FileBridgeOutputStream;->mTemp:[B
-Landroid/os/FileBridge$FileBridgeOutputStream;->writeCommandAndBlock(ILjava/lang/String;)V
-Landroid/os/FileBridge;
-Landroid/os/FileBridge;-><init>()V
-Landroid/os/FileBridge;->CMD_CLOSE:I
-Landroid/os/FileBridge;->CMD_FSYNC:I
-Landroid/os/FileBridge;->CMD_WRITE:I
-Landroid/os/FileBridge;->forceClose()V
-Landroid/os/FileBridge;->getClientSocket()Ljava/io/FileDescriptor;
-Landroid/os/FileBridge;->isClosed()Z
-Landroid/os/FileBridge;->mClient:Ljava/io/FileDescriptor;
-Landroid/os/FileBridge;->mClosed:Z
-Landroid/os/FileBridge;->mServer:Ljava/io/FileDescriptor;
-Landroid/os/FileBridge;->MSG_LENGTH:I
-Landroid/os/FileBridge;->mTarget:Ljava/io/FileDescriptor;
-Landroid/os/FileBridge;->setTargetFile(Ljava/io/FileDescriptor;)V
-Landroid/os/FileBridge;->TAG:Ljava/lang/String;
-Landroid/os/FileObserver$ObserverThread;
-Landroid/os/FileObserver$ObserverThread;-><init>()V
-Landroid/os/FileObserver$ObserverThread;->init()I
-Landroid/os/FileObserver$ObserverThread;->m_fd:I
-Landroid/os/FileObserver$ObserverThread;->m_observers:Ljava/util/HashMap;
-Landroid/os/FileObserver$ObserverThread;->observe(I)V
-Landroid/os/FileObserver$ObserverThread;->startWatching(ILjava/lang/String;I)I
-Landroid/os/FileObserver$ObserverThread;->startWatching(Ljava/lang/String;ILandroid/os/FileObserver;)I
-Landroid/os/FileObserver$ObserverThread;->stopWatching(I)V
-Landroid/os/FileObserver$ObserverThread;->stopWatching(II)V
-Landroid/os/FileObserver;->LOG_TAG:Ljava/lang/String;
-Landroid/os/FileObserver;->m_descriptor:Ljava/lang/Integer;
-Landroid/os/FileObserver;->m_mask:I
-Landroid/os/FileObserver;->m_path:Ljava/lang/String;
-Landroid/os/FileUtils$MemoryPipe;
-Landroid/os/FileUtils$MemoryPipe;-><init>([BZ)V
-Landroid/os/FileUtils$MemoryPipe;->createSink([B)Landroid/os/FileUtils$MemoryPipe;
-Landroid/os/FileUtils$MemoryPipe;->createSource([B)Landroid/os/FileUtils$MemoryPipe;
-Landroid/os/FileUtils$MemoryPipe;->data:[B
-Landroid/os/FileUtils$MemoryPipe;->getFD()Ljava/io/FileDescriptor;
-Landroid/os/FileUtils$MemoryPipe;->getInternalFD()Ljava/io/FileDescriptor;
-Landroid/os/FileUtils$MemoryPipe;->pipe:[Ljava/io/FileDescriptor;
-Landroid/os/FileUtils$MemoryPipe;->sink:Z
-Landroid/os/FileUtils$MemoryPipe;->startInternal()Landroid/os/FileUtils$MemoryPipe;
-Landroid/os/FileUtils$NoImagePreloadHolder;
-Landroid/os/FileUtils$NoImagePreloadHolder;-><init>()V
-Landroid/os/FileUtils$NoImagePreloadHolder;->SAFE_FILENAME_PATTERN:Ljava/util/regex/Pattern;
-Landroid/os/FileUtils$ProgressListener;
-Landroid/os/FileUtils$ProgressListener;->onProgress(J)V
-Landroid/os/FileUtils;
-Landroid/os/FileUtils;->buildFile(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
-Landroid/os/FileUtils;->buildUniqueFile(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
-Landroid/os/FileUtils;->buildUniqueFile(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
-Landroid/os/FileUtils;->buildUniqueFileWithExtension(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
-Landroid/os/FileUtils;->buildValidExtFilename(Ljava/lang/String;)Ljava/lang/String;
-Landroid/os/FileUtils;->buildValidFatFilename(Ljava/lang/String;)Ljava/lang/String;
-Landroid/os/FileUtils;->bytesToFile(Ljava/lang/String;[B)V
-Landroid/os/FileUtils;->contains(Ljava/io/File;Ljava/io/File;)Z
-Landroid/os/FileUtils;->contains(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/os/FileUtils;->contains([Ljava/io/File;Ljava/io/File;)Z
-Landroid/os/FileUtils;->copy(Ljava/io/File;Ljava/io/File;)J
-Landroid/os/FileUtils;->copy(Ljava/io/File;Ljava/io/File;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;)J
-Landroid/os/FileUtils;->copy(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;)J
-Landroid/os/FileUtils;->copy(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;)J
-Landroid/os/FileUtils;->copy(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;J)J
-Landroid/os/FileUtils;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;)J
-Landroid/os/FileUtils;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;)J
-Landroid/os/FileUtils;->copyFileOrThrow(Ljava/io/File;Ljava/io/File;)V
-Landroid/os/FileUtils;->copyInternalSendfile(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;J)J
-Landroid/os/FileUtils;->copyInternalSplice(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;J)J
-Landroid/os/FileUtils;->copyInternalUserspace(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;J)J
-Landroid/os/FileUtils;->copyInternalUserspace(Ljava/io/InputStream;Ljava/io/OutputStream;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;)J
-Landroid/os/FileUtils;->copyPermissions(Ljava/io/File;Ljava/io/File;)V
-Landroid/os/FileUtils;->copyToFileOrThrow(Ljava/io/InputStream;Ljava/io/File;)V
-Landroid/os/FileUtils;->COPY_CHECKPOINT_BYTES:J
-Landroid/os/FileUtils;->createDir(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
-Landroid/os/FileUtils;->deleteContentsAndDir(Ljava/io/File;)Z
-Landroid/os/FileUtils;->EMPTY:[Ljava/io/File;
-Landroid/os/FileUtils;->ENABLE_COPY_OPTIMIZATIONS:Z
-Landroid/os/FileUtils;->getUid(Ljava/lang/String;)I
-Landroid/os/FileUtils;->isValidExtFilename(Ljava/lang/String;)Z
-Landroid/os/FileUtils;->isValidExtFilenameChar(C)Z
-Landroid/os/FileUtils;->isValidFatFilename(Ljava/lang/String;)Z
-Landroid/os/FileUtils;->isValidFatFilenameChar(C)Z
-Landroid/os/FileUtils;->listFilesOrEmpty(Ljava/io/File;)[Ljava/io/File;
-Landroid/os/FileUtils;->listFilesOrEmpty(Ljava/io/File;Ljava/io/FilenameFilter;)[Ljava/io/File;
-Landroid/os/FileUtils;->listOrEmpty(Ljava/io/File;)[Ljava/lang/String;
-Landroid/os/FileUtils;->newFileOrNull(Ljava/lang/String;)Ljava/io/File;
-Landroid/os/FileUtils;->rewriteAfterRename(Ljava/io/File;Ljava/io/File;Ljava/io/File;)Ljava/io/File;
-Landroid/os/FileUtils;->rewriteAfterRename(Ljava/io/File;Ljava/io/File;Ljava/lang/String;)Ljava/lang/String;
-Landroid/os/FileUtils;->rewriteAfterRename(Ljava/io/File;Ljava/io/File;[Ljava/lang/String;)[Ljava/lang/String;
-Landroid/os/FileUtils;->roundStorageSize(J)J
-Landroid/os/FileUtils;->splitFileName(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-Landroid/os/FileUtils;->S_IRGRP:I
-Landroid/os/FileUtils;->S_IROTH:I
-Landroid/os/FileUtils;->S_IRUSR:I
-Landroid/os/FileUtils;->S_IRWXG:I
-Landroid/os/FileUtils;->S_IRWXO:I
-Landroid/os/FileUtils;->S_IRWXU:I
-Landroid/os/FileUtils;->S_IWGRP:I
-Landroid/os/FileUtils;->S_IWOTH:I
-Landroid/os/FileUtils;->S_IWUSR:I
-Landroid/os/FileUtils;->S_IXGRP:I
-Landroid/os/FileUtils;->S_IXOTH:I
-Landroid/os/FileUtils;->S_IXUSR:I
-Landroid/os/FileUtils;->TAG:Ljava/lang/String;
-Landroid/os/FileUtils;->trimFilename(Ljava/lang/String;I)Ljava/lang/String;
-Landroid/os/FileUtils;->trimFilename(Ljava/lang/StringBuilder;I)V
-Landroid/os/GraphicsEnvironment;
-Landroid/os/GraphicsEnvironment;-><init>()V
-Landroid/os/GraphicsEnvironment;->chooseAbi(Landroid/content/pm/ApplicationInfo;)Ljava/lang/String;
-Landroid/os/GraphicsEnvironment;->chooseDriver(Landroid/content/Context;)V
-Landroid/os/GraphicsEnvironment;->DEBUG:Z
-Landroid/os/GraphicsEnvironment;->earlyInitEGL()V
-Landroid/os/GraphicsEnvironment;->getInstance()Landroid/os/GraphicsEnvironment;
-Landroid/os/GraphicsEnvironment;->isDebuggable(Landroid/content/Context;)Z
-Landroid/os/GraphicsEnvironment;->mClassLoader:Ljava/lang/ClassLoader;
-Landroid/os/GraphicsEnvironment;->mDebugLayerPath:Ljava/lang/String;
-Landroid/os/GraphicsEnvironment;->mLayerPath:Ljava/lang/String;
-Landroid/os/GraphicsEnvironment;->PROPERTY_GFX_DRIVER:Ljava/lang/String;
-Landroid/os/GraphicsEnvironment;->setDebugLayers(Ljava/lang/String;)V
-Landroid/os/GraphicsEnvironment;->setDriverPath(Ljava/lang/String;)V
-Landroid/os/GraphicsEnvironment;->setLayerPaths(Ljava/lang/ClassLoader;Ljava/lang/String;)V
-Landroid/os/GraphicsEnvironment;->setLayerPaths(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/GraphicsEnvironment;->setup(Landroid/content/Context;)V
-Landroid/os/GraphicsEnvironment;->setupGpuLayers(Landroid/content/Context;)V
-Landroid/os/GraphicsEnvironment;->sInstance:Landroid/os/GraphicsEnvironment;
-Landroid/os/GraphicsEnvironment;->TAG:Ljava/lang/String;
-Landroid/os/GZippedFileProto;
-Landroid/os/GZippedFileProto;-><init>()V
-Landroid/os/GZippedFileProto;->FILENAME:J
-Landroid/os/GZippedFileProto;->GZIPPED_DATA:J
-Landroid/os/Handler$BlockingRunnable;
-Landroid/os/Handler$BlockingRunnable;-><init>(Ljava/lang/Runnable;)V
-Landroid/os/Handler$BlockingRunnable;->mDone:Z
-Landroid/os/Handler$BlockingRunnable;->mTask:Ljava/lang/Runnable;
-Landroid/os/Handler$BlockingRunnable;->postAndWait(Landroid/os/Handler;J)Z
-Landroid/os/Handler$MessengerImpl;
-Landroid/os/Handler$MessengerImpl;-><init>()V
-Landroid/os/Handler$MessengerImpl;->send(Landroid/os/Message;)V
-Landroid/os/Handler;-><init>(Landroid/os/Handler$Callback;Z)V
-Landroid/os/Handler;->dumpMine(Landroid/util/Printer;Ljava/lang/String;)V
-Landroid/os/Handler;->enqueueMessage(Landroid/os/MessageQueue;Landroid/os/Message;J)Z
-Landroid/os/Handler;->executeOrSendMessage(Landroid/os/Message;)Z
-Landroid/os/Handler;->FIND_POTENTIAL_LEAKS:Z
-Landroid/os/Handler;->getPostMessage(Ljava/lang/Runnable;)Landroid/os/Message;
-Landroid/os/Handler;->getTraceName(Landroid/os/Message;)Ljava/lang/String;
-Landroid/os/Handler;->handleCallback(Landroid/os/Message;)V
-Landroid/os/Handler;->hasMessagesOrCallbacks()Z
-Landroid/os/Handler;->mainIfNull(Landroid/os/Handler;)Landroid/os/Handler;
-Landroid/os/Handler;->MAIN_THREAD_HANDLER:Landroid/os/Handler;
-Landroid/os/Handler;->mAsynchronous:Z
-Landroid/os/Handler;->mQueue:Landroid/os/MessageQueue;
-Landroid/os/Handler;->runWithScissors(Ljava/lang/Runnable;J)Z
-Landroid/os/Handler;->TAG:Ljava/lang/String;
-Landroid/os/HandlerExecutor;
-Landroid/os/HandlerExecutor;-><init>(Landroid/os/Handler;)V
-Landroid/os/HandlerExecutor;->mHandler:Landroid/os/Handler;
-Landroid/os/HandlerThread;->getThreadHandler()Landroid/os/Handler;
-Landroid/os/HandlerThread;->mHandler:Landroid/os/Handler;
-Landroid/os/HandlerThread;->mLooper:Landroid/os/Looper;
-Landroid/os/HandlerThread;->mPriority:I
-Landroid/os/HandlerThread;->mTid:I
-Landroid/os/HardwarePropertiesManager$DeviceTemperatureType;
-Landroid/os/HardwarePropertiesManager$TemperatureSource;
-Landroid/os/HardwarePropertiesManager;-><init>(Landroid/content/Context;Landroid/os/IHardwarePropertiesManager;)V
-Landroid/os/HardwarePropertiesManager;->mContext:Landroid/content/Context;
-Landroid/os/HardwarePropertiesManager;->mService:Landroid/os/IHardwarePropertiesManager;
-Landroid/os/HardwarePropertiesManager;->TAG:Ljava/lang/String;
-Landroid/os/health/HealthKeys$Constant;
-Landroid/os/health/HealthKeys$Constants;
-Landroid/os/health/HealthKeys$Constants;->getDataType()Ljava/lang/String;
-Landroid/os/health/HealthKeys$Constants;->getIndex(II)I
-Landroid/os/health/HealthKeys$Constants;->getKeys(I)[I
-Landroid/os/health/HealthKeys$Constants;->getSize(I)I
-Landroid/os/health/HealthKeys$Constants;->mDataType:Ljava/lang/String;
-Landroid/os/health/HealthKeys$Constants;->mKeys:[[I
-Landroid/os/health/HealthKeys$SortedIntArray;
-Landroid/os/health/HealthKeys$SortedIntArray;-><init>(I)V
-Landroid/os/health/HealthKeys$SortedIntArray;->addValue(I)V
-Landroid/os/health/HealthKeys$SortedIntArray;->getArray()[I
-Landroid/os/health/HealthKeys$SortedIntArray;->mArray:[I
-Landroid/os/health/HealthKeys$SortedIntArray;->mCount:I
-Landroid/os/health/HealthKeys;
-Landroid/os/health/HealthKeys;-><init>()V
-Landroid/os/health/HealthKeys;->BASE_PACKAGE:I
-Landroid/os/health/HealthKeys;->BASE_PID:I
-Landroid/os/health/HealthKeys;->BASE_PROCESS:I
-Landroid/os/health/HealthKeys;->BASE_SERVICE:I
-Landroid/os/health/HealthKeys;->BASE_UID:I
-Landroid/os/health/HealthKeys;->TYPE_COUNT:I
-Landroid/os/health/HealthKeys;->TYPE_MEASUREMENT:I
-Landroid/os/health/HealthKeys;->TYPE_MEASUREMENTS:I
-Landroid/os/health/HealthKeys;->TYPE_STATS:I
-Landroid/os/health/HealthKeys;->TYPE_TIMER:I
-Landroid/os/health/HealthKeys;->TYPE_TIMERS:I
-Landroid/os/health/HealthKeys;->UNKNOWN_KEY:I
-Landroid/os/health/HealthStats;-><init>()V
-Landroid/os/health/HealthStats;->createHealthStatsMap(Landroid/os/Parcel;)Landroid/util/ArrayMap;
-Landroid/os/health/HealthStats;->createLongsMap(Landroid/os/Parcel;)Landroid/util/ArrayMap;
-Landroid/os/health/HealthStats;->createParcelableMap(Landroid/os/Parcel;Landroid/os/Parcelable$Creator;)Landroid/util/ArrayMap;
-Landroid/os/health/HealthStats;->getIndex([II)I
-Landroid/os/health/HealthStats;->mDataType:Ljava/lang/String;
-Landroid/os/health/HealthStats;->mMeasurementKeys:[I
-Landroid/os/health/HealthStats;->mMeasurementsKeys:[I
-Landroid/os/health/HealthStats;->mMeasurementsValues:[Landroid/util/ArrayMap;
-Landroid/os/health/HealthStats;->mMeasurementValues:[J
-Landroid/os/health/HealthStats;->mStatsKeys:[I
-Landroid/os/health/HealthStats;->mStatsValues:[Landroid/util/ArrayMap;
-Landroid/os/health/HealthStats;->mTimerCounts:[I
-Landroid/os/health/HealthStats;->mTimerKeys:[I
-Landroid/os/health/HealthStats;->mTimersKeys:[I
-Landroid/os/health/HealthStats;->mTimersValues:[Landroid/util/ArrayMap;
-Landroid/os/health/HealthStats;->mTimerTimes:[J
-Landroid/os/health/HealthStatsParceler;
-Landroid/os/health/HealthStatsParceler;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/os/health/HealthStatsParceler;->mHealthStats:Landroid/os/health/HealthStats;
-Landroid/os/health/HealthStatsParceler;->mWriter:Landroid/os/health/HealthStatsWriter;
-Landroid/os/health/HealthStatsWriter;
-Landroid/os/health/HealthStatsWriter;->countBooleanArray([Z)I
-Landroid/os/health/HealthStatsWriter;->countObjectArray([Ljava/lang/Object;)I
-Landroid/os/health/HealthStatsWriter;->mConstants:Landroid/os/health/HealthKeys$Constants;
-Landroid/os/health/HealthStatsWriter;->mMeasurementFields:[Z
-Landroid/os/health/HealthStatsWriter;->mMeasurementsValues:[Landroid/util/ArrayMap;
-Landroid/os/health/HealthStatsWriter;->mMeasurementValues:[J
-Landroid/os/health/HealthStatsWriter;->mStatsValues:[Landroid/util/ArrayMap;
-Landroid/os/health/HealthStatsWriter;->mTimerCounts:[I
-Landroid/os/health/HealthStatsWriter;->mTimerFields:[Z
-Landroid/os/health/HealthStatsWriter;->mTimersValues:[Landroid/util/ArrayMap;
-Landroid/os/health/HealthStatsWriter;->mTimerTimes:[J
-Landroid/os/health/HealthStatsWriter;->writeHealthStatsWriterMap(Landroid/os/Parcel;Landroid/util/ArrayMap;)V
-Landroid/os/health/HealthStatsWriter;->writeLongsMap(Landroid/os/Parcel;Landroid/util/ArrayMap;)V
-Landroid/os/health/HealthStatsWriter;->writeParcelableMap(Landroid/os/Parcel;Landroid/util/ArrayMap;)V
-Landroid/os/health/PackageHealthStats;-><init>()V
-Landroid/os/health/PackageHealthStats;->CONSTANTS:Landroid/os/health/HealthKeys$Constants;
-Landroid/os/health/PidHealthStats;-><init>()V
-Landroid/os/health/PidHealthStats;->CONSTANTS:Landroid/os/health/HealthKeys$Constants;
-Landroid/os/health/ProcessHealthStats;-><init>()V
-Landroid/os/health/ProcessHealthStats;->CONSTANTS:Landroid/os/health/HealthKeys$Constants;
-Landroid/os/health/ServiceHealthStats;-><init>()V
-Landroid/os/health/ServiceHealthStats;->CONSTANTS:Landroid/os/health/HealthKeys$Constants;
-Landroid/os/health/SystemHealthManager;-><init>(Lcom/android/internal/app/IBatteryStats;)V
-Landroid/os/health/SystemHealthManager;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
-Landroid/os/health/TimerStat;->mCount:I
-Landroid/os/health/TimerStat;->mTime:J
-Landroid/os/health/UidHealthStats;-><init>()V
-Landroid/os/health/UidHealthStats;->CONSTANTS:Landroid/os/health/HealthKeys$Constants;
-Landroid/os/HidlSupport$Mutable;
-Landroid/os/HidlSupport$Mutable;-><init>()V
-Landroid/os/HidlSupport$Mutable;-><init>(Ljava/lang/Object;)V
-Landroid/os/HidlSupport$Mutable;->value:Ljava/lang/Object;
-Landroid/os/HidlSupport;-><init>()V
-Landroid/os/HidlSupport;->primitiveArrayHashCode(Ljava/lang/Object;)I
-Landroid/os/HidlSupport;->throwErrorIfUnsupportedType(Ljava/lang/Object;)V
-Landroid/os/HwBinder;->mNativeContext:J
-Landroid/os/HwBinder;->native_init()J
-Landroid/os/HwBinder;->native_report_sysprop_change()V
-Landroid/os/HwBinder;->native_setup()V
-Landroid/os/HwBinder;->sNativeRegistry:Llibcore/util/NativeAllocationRegistry;
-Landroid/os/HwBinder;->TAG:Ljava/lang/String;
-Landroid/os/HwBlob;->mNativeContext:J
-Landroid/os/HwBlob;->native_init()J
-Landroid/os/HwBlob;->native_setup(I)V
-Landroid/os/HwBlob;->sNativeRegistry:Llibcore/util/NativeAllocationRegistry;
-Landroid/os/HwBlob;->TAG:Ljava/lang/String;
-Landroid/os/HwParcel;->mNativeContext:J
-Landroid/os/HwParcel;->native_init()J
-Landroid/os/HwParcel;->native_setup(Z)V
-Landroid/os/HwParcel;->readBoolVectorAsArray()[Z
-Landroid/os/HwParcel;->readDoubleVectorAsArray()[D
-Landroid/os/HwParcel;->readFloatVectorAsArray()[F
-Landroid/os/HwParcel;->readInt16VectorAsArray()[S
-Landroid/os/HwParcel;->readInt32VectorAsArray()[I
-Landroid/os/HwParcel;->readInt64VectorAsArray()[J
-Landroid/os/HwParcel;->readInt8VectorAsArray()[B
-Landroid/os/HwParcel;->readStringVectorAsArray()[Ljava/lang/String;
-Landroid/os/HwParcel;->sNativeRegistry:Llibcore/util/NativeAllocationRegistry;
-Landroid/os/HwParcel;->TAG:Ljava/lang/String;
-Landroid/os/HwParcel;->writeBoolVector([Z)V
-Landroid/os/HwParcel;->writeDoubleVector([D)V
-Landroid/os/HwParcel;->writeFloatVector([F)V
-Landroid/os/HwParcel;->writeInt16Vector([S)V
-Landroid/os/HwParcel;->writeInt32Vector([I)V
-Landroid/os/HwParcel;->writeInt64Vector([J)V
-Landroid/os/HwParcel;->writeInt8Vector([B)V
-Landroid/os/HwParcel;->writeStringVector([Ljava/lang/String;)V
-Landroid/os/HwRemoteBinder;
-Landroid/os/HwRemoteBinder;->mNativeContext:J
-Landroid/os/HwRemoteBinder;->native_init()J
-Landroid/os/HwRemoteBinder;->native_setup_empty()V
-Landroid/os/HwRemoteBinder;->sendDeathNotice(Landroid/os/IHwBinder$DeathRecipient;J)V
-Landroid/os/HwRemoteBinder;->sNativeRegistry:Llibcore/util/NativeAllocationRegistry;
-Landroid/os/HwRemoteBinder;->TAG:Ljava/lang/String;
-Landroid/os/IBatteryPropertiesListener$Stub$Proxy;
-Landroid/os/IBatteryPropertiesListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IBatteryPropertiesListener$Stub$Proxy;->batteryPropertiesChanged(Landroid/os/BatteryProperties;)V
-Landroid/os/IBatteryPropertiesListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IBatteryPropertiesListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IBatteryPropertiesListener$Stub;
-Landroid/os/IBatteryPropertiesListener$Stub;-><init>()V
-Landroid/os/IBatteryPropertiesListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IBatteryPropertiesListener;
-Landroid/os/IBatteryPropertiesListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IBatteryPropertiesListener$Stub;->TRANSACTION_batteryPropertiesChanged:I
-Landroid/os/IBatteryPropertiesListener;
-Landroid/os/IBatteryPropertiesListener;->batteryPropertiesChanged(Landroid/os/BatteryProperties;)V
-Landroid/os/IBatteryPropertiesRegistrar$Stub$Proxy;
-Landroid/os/IBatteryPropertiesRegistrar$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IBatteryPropertiesRegistrar$Stub$Proxy;->getProperty(ILandroid/os/BatteryProperty;)I
-Landroid/os/IBatteryPropertiesRegistrar$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IBatteryPropertiesRegistrar$Stub$Proxy;->registerListener(Landroid/os/IBatteryPropertiesListener;)V
-Landroid/os/IBatteryPropertiesRegistrar$Stub$Proxy;->scheduleUpdate()V
-Landroid/os/IBatteryPropertiesRegistrar$Stub$Proxy;->unregisterListener(Landroid/os/IBatteryPropertiesListener;)V
-Landroid/os/IBatteryPropertiesRegistrar$Stub;
-Landroid/os/IBatteryPropertiesRegistrar$Stub;-><init>()V
-Landroid/os/IBatteryPropertiesRegistrar$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IBatteryPropertiesRegistrar;
-Landroid/os/IBatteryPropertiesRegistrar$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IBatteryPropertiesRegistrar$Stub;->TRANSACTION_getProperty:I
-Landroid/os/IBatteryPropertiesRegistrar$Stub;->TRANSACTION_registerListener:I
-Landroid/os/IBatteryPropertiesRegistrar$Stub;->TRANSACTION_scheduleUpdate:I
-Landroid/os/IBatteryPropertiesRegistrar$Stub;->TRANSACTION_unregisterListener:I
-Landroid/os/IBatteryPropertiesRegistrar;
-Landroid/os/IBatteryPropertiesRegistrar;->getProperty(ILandroid/os/BatteryProperty;)I
-Landroid/os/IBatteryPropertiesRegistrar;->registerListener(Landroid/os/IBatteryPropertiesListener;)V
-Landroid/os/IBatteryPropertiesRegistrar;->scheduleUpdate()V
-Landroid/os/IBatteryPropertiesRegistrar;->unregisterListener(Landroid/os/IBatteryPropertiesListener;)V
-Landroid/os/IBinder;->MAX_IPC_SIZE:I
-Landroid/os/IBinder;->shellCommand(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)V
-Landroid/os/IBinder;->SHELL_COMMAND_TRANSACTION:I
-Landroid/os/ICancellationSignal$Stub$Proxy;
-Landroid/os/ICancellationSignal$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/ICancellationSignal$Stub$Proxy;->cancel()V
-Landroid/os/ICancellationSignal$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/ICancellationSignal$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/ICancellationSignal$Stub;
-Landroid/os/ICancellationSignal$Stub;-><init>()V
-Landroid/os/ICancellationSignal$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/ICancellationSignal;
-Landroid/os/ICancellationSignal$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/ICancellationSignal$Stub;->TRANSACTION_cancel:I
-Landroid/os/ICancellationSignal;
-Landroid/os/ICancellationSignal;->cancel()V
-Landroid/os/IDeviceIdentifiersPolicyService$Stub$Proxy;
-Landroid/os/IDeviceIdentifiersPolicyService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IDeviceIdentifiersPolicyService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IDeviceIdentifiersPolicyService$Stub$Proxy;->getSerial()Ljava/lang/String;
-Landroid/os/IDeviceIdentifiersPolicyService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IDeviceIdentifiersPolicyService$Stub;
-Landroid/os/IDeviceIdentifiersPolicyService$Stub;-><init>()V
-Landroid/os/IDeviceIdentifiersPolicyService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IDeviceIdentifiersPolicyService$Stub;->TRANSACTION_getSerial:I
-Landroid/os/IDeviceIdentifiersPolicyService;
-Landroid/os/IDeviceIdentifiersPolicyService;->getSerial()Ljava/lang/String;
-Landroid/os/IDeviceIdleController$Stub$Proxy;
-Landroid/os/IDeviceIdleController$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IDeviceIdleController$Stub$Proxy;->addPowerSaveTempWhitelistApp(Ljava/lang/String;JILjava/lang/String;)V
-Landroid/os/IDeviceIdleController$Stub$Proxy;->addPowerSaveTempWhitelistAppForMms(Ljava/lang/String;ILjava/lang/String;)J
-Landroid/os/IDeviceIdleController$Stub$Proxy;->addPowerSaveTempWhitelistAppForSms(Ljava/lang/String;ILjava/lang/String;)J
-Landroid/os/IDeviceIdleController$Stub$Proxy;->addPowerSaveWhitelistApp(Ljava/lang/String;)V
-Landroid/os/IDeviceIdleController$Stub$Proxy;->exitIdle(Ljava/lang/String;)V
-Landroid/os/IDeviceIdleController$Stub$Proxy;->getAppIdTempWhitelist()[I
-Landroid/os/IDeviceIdleController$Stub$Proxy;->getAppIdUserWhitelist()[I
-Landroid/os/IDeviceIdleController$Stub$Proxy;->getAppIdWhitelist()[I
-Landroid/os/IDeviceIdleController$Stub$Proxy;->getAppIdWhitelistExceptIdle()[I
-Landroid/os/IDeviceIdleController$Stub$Proxy;->getFullPowerWhitelist()[Ljava/lang/String;
-Landroid/os/IDeviceIdleController$Stub$Proxy;->getFullPowerWhitelistExceptIdle()[Ljava/lang/String;
-Landroid/os/IDeviceIdleController$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IDeviceIdleController$Stub$Proxy;->getRemovedSystemPowerWhitelistApps()[Ljava/lang/String;
-Landroid/os/IDeviceIdleController$Stub$Proxy;->getSystemPowerWhitelist()[Ljava/lang/String;
-Landroid/os/IDeviceIdleController$Stub$Proxy;->getSystemPowerWhitelistExceptIdle()[Ljava/lang/String;
-Landroid/os/IDeviceIdleController$Stub$Proxy;->getUserPowerWhitelist()[Ljava/lang/String;
-Landroid/os/IDeviceIdleController$Stub$Proxy;->isPowerSaveWhitelistApp(Ljava/lang/String;)Z
-Landroid/os/IDeviceIdleController$Stub$Proxy;->isPowerSaveWhitelistExceptIdleApp(Ljava/lang/String;)Z
-Landroid/os/IDeviceIdleController$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IDeviceIdleController$Stub$Proxy;->registerMaintenanceActivityListener(Landroid/os/IMaintenanceActivityListener;)Z
-Landroid/os/IDeviceIdleController$Stub$Proxy;->removePowerSaveWhitelistApp(Ljava/lang/String;)V
-Landroid/os/IDeviceIdleController$Stub$Proxy;->removeSystemPowerWhitelistApp(Ljava/lang/String;)V
-Landroid/os/IDeviceIdleController$Stub$Proxy;->restoreSystemPowerWhitelistApp(Ljava/lang/String;)V
-Landroid/os/IDeviceIdleController$Stub$Proxy;->unregisterMaintenanceActivityListener(Landroid/os/IMaintenanceActivityListener;)V
-Landroid/os/IDeviceIdleController$Stub;
-Landroid/os/IDeviceIdleController$Stub;-><init>()V
-Landroid/os/IDeviceIdleController$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_addPowerSaveTempWhitelistApp:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_addPowerSaveTempWhitelistAppForMms:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_addPowerSaveTempWhitelistAppForSms:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_addPowerSaveWhitelistApp:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_exitIdle:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_getAppIdTempWhitelist:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_getAppIdUserWhitelist:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_getAppIdWhitelist:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_getAppIdWhitelistExceptIdle:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_getFullPowerWhitelist:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_getFullPowerWhitelistExceptIdle:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_getRemovedSystemPowerWhitelistApps:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_getSystemPowerWhitelist:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_getSystemPowerWhitelistExceptIdle:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_getUserPowerWhitelist:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_isPowerSaveWhitelistApp:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_isPowerSaveWhitelistExceptIdleApp:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_registerMaintenanceActivityListener:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_removePowerSaveWhitelistApp:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_removeSystemPowerWhitelistApp:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_restoreSystemPowerWhitelistApp:I
-Landroid/os/IDeviceIdleController$Stub;->TRANSACTION_unregisterMaintenanceActivityListener:I
-Landroid/os/IDeviceIdleController;
-Landroid/os/IDeviceIdleController;->addPowerSaveTempWhitelistAppForMms(Ljava/lang/String;ILjava/lang/String;)J
-Landroid/os/IDeviceIdleController;->addPowerSaveTempWhitelistAppForSms(Ljava/lang/String;ILjava/lang/String;)J
-Landroid/os/IDeviceIdleController;->addPowerSaveWhitelistApp(Ljava/lang/String;)V
-Landroid/os/IDeviceIdleController;->exitIdle(Ljava/lang/String;)V
-Landroid/os/IDeviceIdleController;->getAppIdUserWhitelist()[I
-Landroid/os/IDeviceIdleController;->getAppIdWhitelist()[I
-Landroid/os/IDeviceIdleController;->getAppIdWhitelistExceptIdle()[I
-Landroid/os/IDeviceIdleController;->getFullPowerWhitelist()[Ljava/lang/String;
-Landroid/os/IDeviceIdleController;->getRemovedSystemPowerWhitelistApps()[Ljava/lang/String;
-Landroid/os/IDeviceIdleController;->getSystemPowerWhitelist()[Ljava/lang/String;
-Landroid/os/IDeviceIdleController;->getSystemPowerWhitelistExceptIdle()[Ljava/lang/String;
-Landroid/os/IDeviceIdleController;->getUserPowerWhitelist()[Ljava/lang/String;
-Landroid/os/IDeviceIdleController;->isPowerSaveWhitelistApp(Ljava/lang/String;)Z
-Landroid/os/IDeviceIdleController;->isPowerSaveWhitelistExceptIdleApp(Ljava/lang/String;)Z
-Landroid/os/IDeviceIdleController;->registerMaintenanceActivityListener(Landroid/os/IMaintenanceActivityListener;)Z
-Landroid/os/IDeviceIdleController;->removePowerSaveWhitelistApp(Ljava/lang/String;)V
-Landroid/os/IDeviceIdleController;->removeSystemPowerWhitelistApp(Ljava/lang/String;)V
-Landroid/os/IDeviceIdleController;->restoreSystemPowerWhitelistApp(Ljava/lang/String;)V
-Landroid/os/IDeviceIdleController;->unregisterMaintenanceActivityListener(Landroid/os/IMaintenanceActivityListener;)V
-Landroid/os/IHardwarePropertiesManager$Stub$Proxy;
-Landroid/os/IHardwarePropertiesManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IHardwarePropertiesManager$Stub$Proxy;->getCpuUsages(Ljava/lang/String;)[Landroid/os/CpuUsageInfo;
-Landroid/os/IHardwarePropertiesManager$Stub$Proxy;->getDeviceTemperatures(Ljava/lang/String;II)[F
-Landroid/os/IHardwarePropertiesManager$Stub$Proxy;->getFanSpeeds(Ljava/lang/String;)[F
-Landroid/os/IHardwarePropertiesManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IHardwarePropertiesManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IHardwarePropertiesManager$Stub;
-Landroid/os/IHardwarePropertiesManager$Stub;-><init>()V
-Landroid/os/IHardwarePropertiesManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IHardwarePropertiesManager;
-Landroid/os/IHardwarePropertiesManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IHardwarePropertiesManager$Stub;->TRANSACTION_getCpuUsages:I
-Landroid/os/IHardwarePropertiesManager$Stub;->TRANSACTION_getDeviceTemperatures:I
-Landroid/os/IHardwarePropertiesManager$Stub;->TRANSACTION_getFanSpeeds:I
-Landroid/os/IHardwarePropertiesManager;
-Landroid/os/IHardwarePropertiesManager;->getCpuUsages(Ljava/lang/String;)[Landroid/os/CpuUsageInfo;
-Landroid/os/IHardwarePropertiesManager;->getDeviceTemperatures(Ljava/lang/String;II)[F
-Landroid/os/IHardwarePropertiesManager;->getFanSpeeds(Ljava/lang/String;)[F
-Landroid/os/IIncidentManager$Stub$Proxy;
-Landroid/os/IIncidentManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IIncidentManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IIncidentManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IIncidentManager$Stub$Proxy;->reportIncident(Landroid/os/IncidentReportArgs;)V
-Landroid/os/IIncidentManager$Stub$Proxy;->reportIncidentToStream(Landroid/os/IncidentReportArgs;Landroid/os/IIncidentReportStatusListener;Ljava/io/FileDescriptor;)V
-Landroid/os/IIncidentManager$Stub$Proxy;->systemRunning()V
-Landroid/os/IIncidentManager$Stub;
-Landroid/os/IIncidentManager$Stub;-><init>()V
-Landroid/os/IIncidentManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IIncidentManager;
-Landroid/os/IIncidentManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IIncidentManager$Stub;->TRANSACTION_reportIncident:I
-Landroid/os/IIncidentManager$Stub;->TRANSACTION_reportIncidentToStream:I
-Landroid/os/IIncidentManager$Stub;->TRANSACTION_systemRunning:I
-Landroid/os/IIncidentManager;
-Landroid/os/IIncidentManager;->reportIncident(Landroid/os/IncidentReportArgs;)V
-Landroid/os/IIncidentManager;->reportIncidentToStream(Landroid/os/IncidentReportArgs;Landroid/os/IIncidentReportStatusListener;Ljava/io/FileDescriptor;)V
-Landroid/os/IIncidentManager;->systemRunning()V
-Landroid/os/IIncidentReportStatusListener$Stub$Proxy;
-Landroid/os/IIncidentReportStatusListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IIncidentReportStatusListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IIncidentReportStatusListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IIncidentReportStatusListener$Stub$Proxy;->onReportFailed()V
-Landroid/os/IIncidentReportStatusListener$Stub$Proxy;->onReportFinished()V
-Landroid/os/IIncidentReportStatusListener$Stub$Proxy;->onReportSectionStatus(II)V
-Landroid/os/IIncidentReportStatusListener$Stub$Proxy;->onReportStarted()V
-Landroid/os/IIncidentReportStatusListener$Stub;
-Landroid/os/IIncidentReportStatusListener$Stub;-><init>()V
-Landroid/os/IIncidentReportStatusListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IIncidentReportStatusListener;
-Landroid/os/IIncidentReportStatusListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IIncidentReportStatusListener$Stub;->TRANSACTION_onReportFailed:I
-Landroid/os/IIncidentReportStatusListener$Stub;->TRANSACTION_onReportFinished:I
-Landroid/os/IIncidentReportStatusListener$Stub;->TRANSACTION_onReportSectionStatus:I
-Landroid/os/IIncidentReportStatusListener$Stub;->TRANSACTION_onReportStarted:I
-Landroid/os/IIncidentReportStatusListener;
-Landroid/os/IIncidentReportStatusListener;->onReportFailed()V
-Landroid/os/IIncidentReportStatusListener;->onReportFinished()V
-Landroid/os/IIncidentReportStatusListener;->onReportSectionStatus(II)V
-Landroid/os/IIncidentReportStatusListener;->onReportStarted()V
-Landroid/os/IIncidentReportStatusListener;->STATUS_FINISHED:I
-Landroid/os/IIncidentReportStatusListener;->STATUS_STARTING:I
-Landroid/os/IInstalld$Stub$Proxy;
-Landroid/os/IInstalld$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IInstalld$Stub$Proxy;->assertFsverityRootHashMatches(Ljava/lang/String;[B)V
-Landroid/os/IInstalld$Stub$Proxy;->clearAppData(Ljava/lang/String;Ljava/lang/String;IIJ)V
-Landroid/os/IInstalld$Stub$Proxy;->clearAppProfiles(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IInstalld$Stub$Proxy;->copySystemProfile(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Z
-Landroid/os/IInstalld$Stub$Proxy;->createAppData(Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;I)J
-Landroid/os/IInstalld$Stub$Proxy;->createOatDir(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IInstalld$Stub$Proxy;->createProfileSnapshot(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/os/IInstalld$Stub$Proxy;->createUserData(Ljava/lang/String;III)V
-Landroid/os/IInstalld$Stub$Proxy;->deleteOdex(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IInstalld$Stub$Proxy;->destroyAppData(Ljava/lang/String;Ljava/lang/String;IIJ)V
-Landroid/os/IInstalld$Stub$Proxy;->destroyAppProfiles(Ljava/lang/String;)V
-Landroid/os/IInstalld$Stub$Proxy;->destroyProfileSnapshot(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IInstalld$Stub$Proxy;->destroyUserData(Ljava/lang/String;II)V
-Landroid/os/IInstalld$Stub$Proxy;->dexopt(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IInstalld$Stub$Proxy;->dumpProfiles(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/os/IInstalld$Stub$Proxy;->fixupAppData(Ljava/lang/String;I)V
-Landroid/os/IInstalld$Stub$Proxy;->freeCache(Ljava/lang/String;JJI)V
-Landroid/os/IInstalld$Stub$Proxy;->getAppSize(Ljava/lang/String;[Ljava/lang/String;III[J[Ljava/lang/String;)[J
-Landroid/os/IInstalld$Stub$Proxy;->getExternalSize(Ljava/lang/String;II[I)[J
-Landroid/os/IInstalld$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IInstalld$Stub$Proxy;->getUserSize(Ljava/lang/String;II[I)[J
-Landroid/os/IInstalld$Stub$Proxy;->hashSecondaryDexFile(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;I)[B
-Landroid/os/IInstalld$Stub$Proxy;->idmap(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/os/IInstalld$Stub$Proxy;->installApkVerity(Ljava/lang/String;Ljava/io/FileDescriptor;I)V
-Landroid/os/IInstalld$Stub$Proxy;->invalidateMounts()V
-Landroid/os/IInstalld$Stub$Proxy;->isQuotaSupported(Ljava/lang/String;)Z
-Landroid/os/IInstalld$Stub$Proxy;->linkFile(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IInstalld$Stub$Proxy;->linkNativeLibraryDirectory(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/os/IInstalld$Stub$Proxy;->markBootComplete(Ljava/lang/String;)V
-Landroid/os/IInstalld$Stub$Proxy;->mergeProfiles(ILjava/lang/String;Ljava/lang/String;)Z
-Landroid/os/IInstalld$Stub$Proxy;->migrateAppData(Ljava/lang/String;Ljava/lang/String;II)V
-Landroid/os/IInstalld$Stub$Proxy;->moveAb(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IInstalld$Stub$Proxy;->moveCompleteApp(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;I)V
-Landroid/os/IInstalld$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IInstalld$Stub$Proxy;->prepareAppProfile(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/os/IInstalld$Stub$Proxy;->reconcileSecondaryDexFile(Ljava/lang/String;Ljava/lang/String;I[Ljava/lang/String;Ljava/lang/String;I)Z
-Landroid/os/IInstalld$Stub$Proxy;->removeIdmap(Ljava/lang/String;)V
-Landroid/os/IInstalld$Stub$Proxy;->restoreconAppData(Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;)V
-Landroid/os/IInstalld$Stub$Proxy;->rmdex(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IInstalld$Stub$Proxy;->rmPackageDir(Ljava/lang/String;)V
-Landroid/os/IInstalld$Stub$Proxy;->setAppQuota(Ljava/lang/String;IIJ)V
-Landroid/os/IInstalld$Stub;
-Landroid/os/IInstalld$Stub;-><init>()V
-Landroid/os/IInstalld$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IInstalld;
-Landroid/os/IInstalld$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IInstalld$Stub;->TRANSACTION_assertFsverityRootHashMatches:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_clearAppData:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_clearAppProfiles:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_copySystemProfile:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_createAppData:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_createOatDir:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_createProfileSnapshot:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_createUserData:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_deleteOdex:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_destroyAppData:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_destroyAppProfiles:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_destroyProfileSnapshot:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_destroyUserData:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_dexopt:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_dumpProfiles:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_fixupAppData:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_freeCache:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_getAppSize:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_getExternalSize:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_getUserSize:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_hashSecondaryDexFile:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_idmap:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_installApkVerity:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_invalidateMounts:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_isQuotaSupported:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_linkFile:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_linkNativeLibraryDirectory:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_markBootComplete:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_mergeProfiles:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_migrateAppData:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_moveAb:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_moveCompleteApp:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_prepareAppProfile:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_reconcileSecondaryDexFile:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_removeIdmap:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_restoreconAppData:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_rmdex:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_rmPackageDir:I
-Landroid/os/IInstalld$Stub;->TRANSACTION_setAppQuota:I
-Landroid/os/IInstalld;
-Landroid/os/IInstalld;->assertFsverityRootHashMatches(Ljava/lang/String;[B)V
-Landroid/os/IInstalld;->clearAppData(Ljava/lang/String;Ljava/lang/String;IIJ)V
-Landroid/os/IInstalld;->clearAppProfiles(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IInstalld;->copySystemProfile(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Z
-Landroid/os/IInstalld;->createAppData(Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;I)J
-Landroid/os/IInstalld;->createOatDir(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IInstalld;->createProfileSnapshot(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/os/IInstalld;->createUserData(Ljava/lang/String;III)V
-Landroid/os/IInstalld;->deleteOdex(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IInstalld;->destroyAppData(Ljava/lang/String;Ljava/lang/String;IIJ)V
-Landroid/os/IInstalld;->destroyAppProfiles(Ljava/lang/String;)V
-Landroid/os/IInstalld;->destroyProfileSnapshot(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IInstalld;->destroyUserData(Ljava/lang/String;II)V
-Landroid/os/IInstalld;->dexopt(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IInstalld;->dumpProfiles(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/os/IInstalld;->fixupAppData(Ljava/lang/String;I)V
-Landroid/os/IInstalld;->freeCache(Ljava/lang/String;JJI)V
-Landroid/os/IInstalld;->getAppSize(Ljava/lang/String;[Ljava/lang/String;III[J[Ljava/lang/String;)[J
-Landroid/os/IInstalld;->getExternalSize(Ljava/lang/String;II[I)[J
-Landroid/os/IInstalld;->getUserSize(Ljava/lang/String;II[I)[J
-Landroid/os/IInstalld;->hashSecondaryDexFile(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;I)[B
-Landroid/os/IInstalld;->idmap(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/os/IInstalld;->installApkVerity(Ljava/lang/String;Ljava/io/FileDescriptor;I)V
-Landroid/os/IInstalld;->invalidateMounts()V
-Landroid/os/IInstalld;->isQuotaSupported(Ljava/lang/String;)Z
-Landroid/os/IInstalld;->linkFile(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IInstalld;->linkNativeLibraryDirectory(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/os/IInstalld;->markBootComplete(Ljava/lang/String;)V
-Landroid/os/IInstalld;->mergeProfiles(ILjava/lang/String;Ljava/lang/String;)Z
-Landroid/os/IInstalld;->migrateAppData(Ljava/lang/String;Ljava/lang/String;II)V
-Landroid/os/IInstalld;->moveAb(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IInstalld;->moveCompleteApp(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;I)V
-Landroid/os/IInstalld;->prepareAppProfile(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/os/IInstalld;->reconcileSecondaryDexFile(Ljava/lang/String;Ljava/lang/String;I[Ljava/lang/String;Ljava/lang/String;I)Z
-Landroid/os/IInstalld;->removeIdmap(Ljava/lang/String;)V
-Landroid/os/IInstalld;->restoreconAppData(Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;)V
-Landroid/os/IInstalld;->rmdex(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IInstalld;->rmPackageDir(Ljava/lang/String;)V
-Landroid/os/IInstalld;->setAppQuota(Ljava/lang/String;IIJ)V
-Landroid/os/IMaintenanceActivityListener$Stub$Proxy;
-Landroid/os/IMaintenanceActivityListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IMaintenanceActivityListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IMaintenanceActivityListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IMaintenanceActivityListener$Stub$Proxy;->onMaintenanceActivityChanged(Z)V
-Landroid/os/IMaintenanceActivityListener$Stub;
-Landroid/os/IMaintenanceActivityListener$Stub;-><init>()V
-Landroid/os/IMaintenanceActivityListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IMaintenanceActivityListener;
-Landroid/os/IMaintenanceActivityListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IMaintenanceActivityListener$Stub;->TRANSACTION_onMaintenanceActivityChanged:I
-Landroid/os/IMaintenanceActivityListener;
-Landroid/os/IMaintenanceActivityListener;->onMaintenanceActivityChanged(Z)V
-Landroid/os/IMessenger$Stub$Proxy;
-Landroid/os/IMessenger$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IMessenger$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IMessenger$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IMessenger$Stub$Proxy;->send(Landroid/os/Message;)V
-Landroid/os/IMessenger$Stub;
-Landroid/os/IMessenger$Stub;-><init>()V
-Landroid/os/IMessenger$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IMessenger;
-Landroid/os/IMessenger$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IMessenger$Stub;->TRANSACTION_send:I
-Landroid/os/IMessenger;
-Landroid/os/IMessenger;->send(Landroid/os/Message;)V
-Landroid/os/IncidentHeaderProto$StatsdConfigKey;
-Landroid/os/IncidentHeaderProto$StatsdConfigKey;-><init>()V
-Landroid/os/IncidentHeaderProto$StatsdConfigKey;->ID:J
-Landroid/os/IncidentHeaderProto$StatsdConfigKey;->UID:J
-Landroid/os/IncidentHeaderProto;
-Landroid/os/IncidentHeaderProto;-><init>()V
-Landroid/os/IncidentHeaderProto;->ALERT_ID:J
-Landroid/os/IncidentHeaderProto;->CONFIG_KEY:J
-Landroid/os/IncidentHeaderProto;->REASON:J
-Landroid/os/IncidentManager$IncidentdDeathRecipient;
-Landroid/os/IncidentManager$IncidentdDeathRecipient;-><init>()V
-Landroid/os/IncidentManager;-><init>(Landroid/content/Context;)V
-Landroid/os/IncidentManager;->getIIncidentManagerLocked()Landroid/os/IIncidentManager;
-Landroid/os/IncidentManager;->mContext:Landroid/content/Context;
-Landroid/os/IncidentManager;->mService:Landroid/os/IIncidentManager;
-Landroid/os/IncidentManager;->reportIncidentInternal(Landroid/os/IncidentReportArgs;)V
-Landroid/os/IncidentManager;->TAG:Ljava/lang/String;
-Landroid/os/IncidentMetadata$SectionStats;
-Landroid/os/IncidentMetadata$SectionStats;-><init>()V
-Landroid/os/IncidentMetadata$SectionStats;->DUMP_DURATION_MS:J
-Landroid/os/IncidentMetadata$SectionStats;->DUMP_SIZE_BYTES:J
-Landroid/os/IncidentMetadata$SectionStats;->EXEC_DURATION_MS:J
-Landroid/os/IncidentMetadata$SectionStats;->ID:J
-Landroid/os/IncidentMetadata$SectionStats;->IS_TRUNCATED:J
-Landroid/os/IncidentMetadata$SectionStats;->REPORT_SIZE_BYTES:J
-Landroid/os/IncidentMetadata$SectionStats;->SUCCESS:J
-Landroid/os/IncidentMetadata$SectionStats;->TIMED_OUT:J
-Landroid/os/IncidentMetadata;
-Landroid/os/IncidentMetadata;-><init>()V
-Landroid/os/IncidentMetadata;->AUTOMATIC:I
-Landroid/os/IncidentMetadata;->DEST:J
-Landroid/os/IncidentMetadata;->EXPLICIT:I
-Landroid/os/IncidentMetadata;->LOCAL:I
-Landroid/os/IncidentMetadata;->REPORT_ID:J
-Landroid/os/IncidentMetadata;->REQUEST_SIZE:J
-Landroid/os/IncidentMetadata;->SECTIONS:J
-Landroid/os/IncidentMetadata;->SEQUENCE_NUMBER:J
-Landroid/os/IncidentMetadata;->USE_DROPBOX:J
-Landroid/os/IncidentProto;
-Landroid/os/IncidentProto;-><init>()V
-Landroid/os/IncidentProto;->ACTIVITIES:J
-Landroid/os/IncidentProto;->ALARM:J
-Landroid/os/IncidentProto;->AMPROCESSES:J
-Landroid/os/IncidentProto;->AMSERVICES:J
-Landroid/os/IncidentProto;->APPWIDGET:J
-Landroid/os/IncidentProto;->BATTERY:J
-Landroid/os/IncidentProto;->BATTERYSTATS:J
-Landroid/os/IncidentProto;->BATTERY_HISTORY:J
-Landroid/os/IncidentProto;->BATTERY_TYPE:J
-Landroid/os/IncidentProto;->BROADCASTS:J
-Landroid/os/IncidentProto;->CPU_FREQ:J
-Landroid/os/IncidentProto;->CPU_INFO:J
-Landroid/os/IncidentProto;->CRASH_LOGS:J
-Landroid/os/IncidentProto;->DISKSTATS:J
-Landroid/os/IncidentProto;->EVENTS_LOGS:J
-Landroid/os/IncidentProto;->EVENT_LOG_TAG_MAP:J
-Landroid/os/IncidentProto;->FINGERPRINT:J
-Landroid/os/IncidentProto;->GRAPHICSSTATS:J
-Landroid/os/IncidentProto;->HAL_TRACES:J
-Landroid/os/IncidentProto;->HEADER:J
-Landroid/os/IncidentProto;->JAVA_TRACES:J
-Landroid/os/IncidentProto;->JOBSCHEDULER:J
-Landroid/os/IncidentProto;->KERNEL_LOGS:J
-Landroid/os/IncidentProto;->KERNEL_WAKE_SOURCES:J
-Landroid/os/IncidentProto;->LAST_KMSG:J
-Landroid/os/IncidentProto;->MAIN_LOGS:J
-Landroid/os/IncidentProto;->MEMINFO:J
-Landroid/os/IncidentProto;->METADATA:J
-Landroid/os/IncidentProto;->NATIVE_TRACES:J
-Landroid/os/IncidentProto;->NETSTATS:J
-Landroid/os/IncidentProto;->NOTIFICATION:J
-Landroid/os/IncidentProto;->PACKAGE:J
-Landroid/os/IncidentProto;->PAGE_TYPE_INFO:J
-Landroid/os/IncidentProto;->POWER:J
-Landroid/os/IncidentProto;->PRINT:J
-Landroid/os/IncidentProto;->PROCESSES_AND_THREADS:J
-Landroid/os/IncidentProto;->PROCRANK:J
-Landroid/os/IncidentProto;->PROCSTATS:J
-Landroid/os/IncidentProto;->RADIO_LOGS:J
-Landroid/os/IncidentProto;->SECURITY_LOGS:J
-Landroid/os/IncidentProto;->SETTINGS:J
-Landroid/os/IncidentProto;->STATS_LOGS:J
-Landroid/os/IncidentProto;->SYSTEM_LOGS:J
-Landroid/os/IncidentProto;->SYSTEM_PROPERTIES:J
-Landroid/os/IncidentProto;->USB:J
-Landroid/os/IncidentProto;->WINDOW:J
-Landroid/os/IncidentReportArgs;->DEST_AUTO:I
-Landroid/os/IncidentReportArgs;->DEST_EXPLICIT:I
-Landroid/os/IncidentReportArgs;->mAll:Z
-Landroid/os/IncidentReportArgs;->mDest:I
-Landroid/os/IncidentReportArgs;->mHeaders:Ljava/util/ArrayList;
-Landroid/os/IncidentReportArgs;->mSections:Landroid/util/IntArray;
-Landroid/os/IncidentReportArgs;->setPrivacyPolicy(I)V
-Landroid/os/INetworkActivityListener$Stub$Proxy;
-Landroid/os/INetworkActivityListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/INetworkActivityListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/INetworkActivityListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/INetworkActivityListener$Stub$Proxy;->onNetworkActive()V
-Landroid/os/INetworkActivityListener$Stub;
-Landroid/os/INetworkActivityListener$Stub;-><init>()V
-Landroid/os/INetworkActivityListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/INetworkActivityListener;
-Landroid/os/INetworkActivityListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/INetworkActivityListener$Stub;->TRANSACTION_onNetworkActive:I
-Landroid/os/INetworkActivityListener;
-Landroid/os/INetworkActivityListener;->onNetworkActive()V
-Landroid/os/INetworkManagementService$Stub$Proxy;
-Landroid/os/INetworkManagementService$Stub$Proxy;->addIdleTimer(Ljava/lang/String;II)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->addInterfaceToLocalNetwork(Ljava/lang/String;Ljava/util/List;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->addInterfaceToNetwork(Ljava/lang/String;I)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->addLegacyRouteForNetId(ILandroid/net/RouteInfo;I)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->addRoute(ILandroid/net/RouteInfo;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->addVpnUidRanges(I[Landroid/net/UidRange;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->allowProtect(I)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->attachPppd(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->clearDefaultNetId()V
-Landroid/os/INetworkManagementService$Stub$Proxy;->clearInterfaceAddresses(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->clearPermission([I)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->createPhysicalNetwork(ILjava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->createVirtualNetwork(IZZ)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->denyProtect(I)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->detachPppd(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->disableIpv6(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->disableNat(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->enableIpv6(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->enableNat(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->getDnsForwarders()[Ljava/lang/String;
-Landroid/os/INetworkManagementService$Stub$Proxy;->getInterfaceConfig(Ljava/lang/String;)Landroid/net/InterfaceConfiguration;
-Landroid/os/INetworkManagementService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/INetworkManagementService$Stub$Proxy;->getIpForwardingEnabled()Z
-Landroid/os/INetworkManagementService$Stub$Proxy;->getNetdService()Landroid/net/INetd;
-Landroid/os/INetworkManagementService$Stub$Proxy;->getNetworkStatsDetail()Landroid/net/NetworkStats;
-Landroid/os/INetworkManagementService$Stub$Proxy;->getNetworkStatsSummaryDev()Landroid/net/NetworkStats;
-Landroid/os/INetworkManagementService$Stub$Proxy;->getNetworkStatsSummaryXt()Landroid/net/NetworkStats;
-Landroid/os/INetworkManagementService$Stub$Proxy;->getNetworkStatsTethering(I)Landroid/net/NetworkStats;
-Landroid/os/INetworkManagementService$Stub$Proxy;->getNetworkStatsUidDetail(I[Ljava/lang/String;)Landroid/net/NetworkStats;
-Landroid/os/INetworkManagementService$Stub$Proxy;->isBandwidthControlEnabled()Z
-Landroid/os/INetworkManagementService$Stub$Proxy;->isClatdStarted(Ljava/lang/String;)Z
-Landroid/os/INetworkManagementService$Stub$Proxy;->isFirewallEnabled()Z
-Landroid/os/INetworkManagementService$Stub$Proxy;->isNetworkActive()Z
-Landroid/os/INetworkManagementService$Stub$Proxy;->isNetworkRestricted(I)Z
-Landroid/os/INetworkManagementService$Stub$Proxy;->isTetheringStarted()Z
-Landroid/os/INetworkManagementService$Stub$Proxy;->listInterfaces()[Ljava/lang/String;
-Landroid/os/INetworkManagementService$Stub$Proxy;->listTetheredInterfaces()[Ljava/lang/String;
-Landroid/os/INetworkManagementService$Stub$Proxy;->listTtys()[Ljava/lang/String;
-Landroid/os/INetworkManagementService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/INetworkManagementService$Stub$Proxy;->registerNetworkActivityListener(Landroid/os/INetworkActivityListener;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->registerObserver(Landroid/net/INetworkManagementEventObserver;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->registerTetheringStatsProvider(Landroid/net/ITetheringStatsProvider;Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->removeIdleTimer(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->removeInterfaceAlert(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->removeInterfaceFromLocalNetwork(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->removeInterfaceFromNetwork(Ljava/lang/String;I)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->removeInterfaceQuota(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->removeNetwork(I)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->removeRoute(ILandroid/net/RouteInfo;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->removeRoutesFromLocalNetwork(Ljava/util/List;)I
-Landroid/os/INetworkManagementService$Stub$Proxy;->removeVpnUidRanges(I[Landroid/net/UidRange;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setAllowOnlyVpnForUids(Z[Landroid/net/UidRange;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setDataSaverModeEnabled(Z)Z
-Landroid/os/INetworkManagementService$Stub$Proxy;->setDefaultNetId(I)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setDnsConfigurationForNetwork(I[Ljava/lang/String;[Ljava/lang/String;[ILjava/lang/String;[Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setDnsForwarders(Landroid/net/Network;[Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setFirewallChainEnabled(IZ)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setFirewallEnabled(Z)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setFirewallInterfaceRule(Ljava/lang/String;Z)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setFirewallUidRule(III)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setFirewallUidRules(I[I[I)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setGlobalAlert(J)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setInterfaceAlert(Ljava/lang/String;J)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setInterfaceConfig(Ljava/lang/String;Landroid/net/InterfaceConfiguration;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setInterfaceDown(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setInterfaceIpv6PrivacyExtensions(Ljava/lang/String;Z)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setInterfaceQuota(Ljava/lang/String;J)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setInterfaceUp(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setIpForwardingEnabled(Z)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setIPv6AddrGenMode(Ljava/lang/String;I)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setMtu(Ljava/lang/String;I)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setNetworkPermission(ILjava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setPermission(Ljava/lang/String;[I)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setUidCleartextNetworkPolicy(II)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setUidMeteredNetworkBlacklist(IZ)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->setUidMeteredNetworkWhitelist(IZ)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->shutdown()V
-Landroid/os/INetworkManagementService$Stub$Proxy;->startClatd(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->startInterfaceForwarding(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->startTethering([Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->stopClatd(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->stopInterfaceForwarding(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->stopTethering()V
-Landroid/os/INetworkManagementService$Stub$Proxy;->tetherInterface(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->tetherLimitReached(Landroid/net/ITetheringStatsProvider;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->unregisterNetworkActivityListener(Landroid/os/INetworkActivityListener;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->unregisterObserver(Landroid/net/INetworkManagementEventObserver;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->unregisterTetheringStatsProvider(Landroid/net/ITetheringStatsProvider;)V
-Landroid/os/INetworkManagementService$Stub$Proxy;->untetherInterface(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService$Stub;
-Landroid/os/INetworkManagementService$Stub;-><init>()V
-Landroid/os/INetworkManagementService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_addIdleTimer:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_addInterfaceToLocalNetwork:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_addInterfaceToNetwork:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_addLegacyRouteForNetId:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_addRoute:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_addVpnUidRanges:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_allowProtect:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_attachPppd:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_clearDefaultNetId:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_clearInterfaceAddresses:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_clearPermission:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_createPhysicalNetwork:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_createVirtualNetwork:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_denyProtect:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_detachPppd:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_disableIpv6:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_disableNat:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_enableIpv6:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_enableNat:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_getDnsForwarders:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_getInterfaceConfig:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_getIpForwardingEnabled:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_getNetdService:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_getNetworkStatsDetail:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_getNetworkStatsSummaryDev:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_getNetworkStatsSummaryXt:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_getNetworkStatsTethering:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_getNetworkStatsUidDetail:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_isBandwidthControlEnabled:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_isClatdStarted:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_isFirewallEnabled:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_isNetworkActive:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_isNetworkRestricted:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_isTetheringStarted:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_listInterfaces:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_listTetheredInterfaces:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_listTtys:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_registerNetworkActivityListener:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_registerObserver:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_registerTetheringStatsProvider:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_removeIdleTimer:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_removeInterfaceAlert:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_removeInterfaceFromLocalNetwork:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_removeInterfaceFromNetwork:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_removeInterfaceQuota:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_removeNetwork:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_removeRoute:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_removeRoutesFromLocalNetwork:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_removeVpnUidRanges:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setAllowOnlyVpnForUids:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setDataSaverModeEnabled:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setDefaultNetId:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setDnsConfigurationForNetwork:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setDnsForwarders:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setFirewallChainEnabled:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setFirewallEnabled:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setFirewallInterfaceRule:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setFirewallUidRule:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setFirewallUidRules:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setGlobalAlert:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setInterfaceAlert:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setInterfaceConfig:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setInterfaceDown:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setInterfaceIpv6PrivacyExtensions:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setInterfaceQuota:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setInterfaceUp:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setIpForwardingEnabled:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setIPv6AddrGenMode:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setMtu:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setNetworkPermission:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setPermission:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setUidCleartextNetworkPolicy:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setUidMeteredNetworkBlacklist:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_setUidMeteredNetworkWhitelist:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_shutdown:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_startClatd:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_startInterfaceForwarding:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_startTethering:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_stopClatd:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_stopInterfaceForwarding:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_stopTethering:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_tetherInterface:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_tetherLimitReached:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_unregisterNetworkActivityListener:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_unregisterObserver:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_unregisterTetheringStatsProvider:I
-Landroid/os/INetworkManagementService$Stub;->TRANSACTION_untetherInterface:I
-Landroid/os/INetworkManagementService;
-Landroid/os/INetworkManagementService;->addIdleTimer(Ljava/lang/String;II)V
-Landroid/os/INetworkManagementService;->addInterfaceToLocalNetwork(Ljava/lang/String;Ljava/util/List;)V
-Landroid/os/INetworkManagementService;->addInterfaceToNetwork(Ljava/lang/String;I)V
-Landroid/os/INetworkManagementService;->addLegacyRouteForNetId(ILandroid/net/RouteInfo;I)V
-Landroid/os/INetworkManagementService;->addRoute(ILandroid/net/RouteInfo;)V
-Landroid/os/INetworkManagementService;->addVpnUidRanges(I[Landroid/net/UidRange;)V
-Landroid/os/INetworkManagementService;->allowProtect(I)V
-Landroid/os/INetworkManagementService;->attachPppd(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->clearDefaultNetId()V
-Landroid/os/INetworkManagementService;->clearPermission([I)V
-Landroid/os/INetworkManagementService;->createPhysicalNetwork(ILjava/lang/String;)V
-Landroid/os/INetworkManagementService;->createVirtualNetwork(IZZ)V
-Landroid/os/INetworkManagementService;->denyProtect(I)V
-Landroid/os/INetworkManagementService;->detachPppd(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->getDnsForwarders()[Ljava/lang/String;
-Landroid/os/INetworkManagementService;->getNetdService()Landroid/net/INetd;
-Landroid/os/INetworkManagementService;->getNetworkStatsDetail()Landroid/net/NetworkStats;
-Landroid/os/INetworkManagementService;->getNetworkStatsSummaryDev()Landroid/net/NetworkStats;
-Landroid/os/INetworkManagementService;->getNetworkStatsSummaryXt()Landroid/net/NetworkStats;
-Landroid/os/INetworkManagementService;->getNetworkStatsTethering(I)Landroid/net/NetworkStats;
-Landroid/os/INetworkManagementService;->getNetworkStatsUidDetail(I[Ljava/lang/String;)Landroid/net/NetworkStats;
-Landroid/os/INetworkManagementService;->isClatdStarted(Ljava/lang/String;)Z
-Landroid/os/INetworkManagementService;->isFirewallEnabled()Z
-Landroid/os/INetworkManagementService;->isNetworkActive()Z
-Landroid/os/INetworkManagementService;->isNetworkRestricted(I)Z
-Landroid/os/INetworkManagementService;->listInterfaces()[Ljava/lang/String;
-Landroid/os/INetworkManagementService;->listTtys()[Ljava/lang/String;
-Landroid/os/INetworkManagementService;->registerNetworkActivityListener(Landroid/os/INetworkActivityListener;)V
-Landroid/os/INetworkManagementService;->registerTetheringStatsProvider(Landroid/net/ITetheringStatsProvider;Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->removeIdleTimer(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->removeInterfaceAlert(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->removeInterfaceFromLocalNetwork(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->removeInterfaceFromNetwork(Ljava/lang/String;I)V
-Landroid/os/INetworkManagementService;->removeInterfaceQuota(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->removeNetwork(I)V
-Landroid/os/INetworkManagementService;->removeRoute(ILandroid/net/RouteInfo;)V
-Landroid/os/INetworkManagementService;->removeRoutesFromLocalNetwork(Ljava/util/List;)I
-Landroid/os/INetworkManagementService;->removeVpnUidRanges(I[Landroid/net/UidRange;)V
-Landroid/os/INetworkManagementService;->setAllowOnlyVpnForUids(Z[Landroid/net/UidRange;)V
-Landroid/os/INetworkManagementService;->setDataSaverModeEnabled(Z)Z
-Landroid/os/INetworkManagementService;->setDefaultNetId(I)V
-Landroid/os/INetworkManagementService;->setDnsConfigurationForNetwork(I[Ljava/lang/String;[Ljava/lang/String;[ILjava/lang/String;[Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->setDnsForwarders(Landroid/net/Network;[Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->setFirewallChainEnabled(IZ)V
-Landroid/os/INetworkManagementService;->setFirewallEnabled(Z)V
-Landroid/os/INetworkManagementService;->setFirewallInterfaceRule(Ljava/lang/String;Z)V
-Landroid/os/INetworkManagementService;->setFirewallUidRule(III)V
-Landroid/os/INetworkManagementService;->setFirewallUidRules(I[I[I)V
-Landroid/os/INetworkManagementService;->setGlobalAlert(J)V
-Landroid/os/INetworkManagementService;->setInterfaceAlert(Ljava/lang/String;J)V
-Landroid/os/INetworkManagementService;->setInterfaceDown(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->setInterfaceQuota(Ljava/lang/String;J)V
-Landroid/os/INetworkManagementService;->setInterfaceUp(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->setMtu(Ljava/lang/String;I)V
-Landroid/os/INetworkManagementService;->setNetworkPermission(ILjava/lang/String;)V
-Landroid/os/INetworkManagementService;->setPermission(Ljava/lang/String;[I)V
-Landroid/os/INetworkManagementService;->setUidCleartextNetworkPolicy(II)V
-Landroid/os/INetworkManagementService;->setUidMeteredNetworkBlacklist(IZ)V
-Landroid/os/INetworkManagementService;->setUidMeteredNetworkWhitelist(IZ)V
-Landroid/os/INetworkManagementService;->shutdown()V
-Landroid/os/INetworkManagementService;->startClatd(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->startInterfaceForwarding(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->stopClatd(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->stopInterfaceForwarding(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->tetherLimitReached(Landroid/net/ITetheringStatsProvider;)V
-Landroid/os/INetworkManagementService;->unregisterNetworkActivityListener(Landroid/os/INetworkActivityListener;)V
-Landroid/os/INetworkManagementService;->unregisterTetheringStatsProvider(Landroid/net/ITetheringStatsProvider;)V
-Landroid/os/IPermissionController$Stub$Proxy;
-Landroid/os/IPermissionController$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IPermissionController$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IPermissionController$Stub$Proxy;->getPackagesForUid(I)[Ljava/lang/String;
-Landroid/os/IPermissionController$Stub$Proxy;->getPackageUid(Ljava/lang/String;I)I
-Landroid/os/IPermissionController$Stub$Proxy;->isRuntimePermission(Ljava/lang/String;)Z
-Landroid/os/IPermissionController$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IPermissionController$Stub$Proxy;->noteOp(Ljava/lang/String;ILjava/lang/String;)I
-Landroid/os/IPermissionController$Stub;
-Landroid/os/IPermissionController$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IPermissionController$Stub;->TRANSACTION_checkPermission:I
-Landroid/os/IPermissionController$Stub;->TRANSACTION_getPackagesForUid:I
-Landroid/os/IPermissionController$Stub;->TRANSACTION_getPackageUid:I
-Landroid/os/IPermissionController$Stub;->TRANSACTION_isRuntimePermission:I
-Landroid/os/IPermissionController$Stub;->TRANSACTION_noteOp:I
-Landroid/os/IPermissionController;
-Landroid/os/IPermissionController;->checkPermission(Ljava/lang/String;II)Z
-Landroid/os/IPermissionController;->getPackagesForUid(I)[Ljava/lang/String;
-Landroid/os/IPermissionController;->getPackageUid(Ljava/lang/String;I)I
-Landroid/os/IPermissionController;->isRuntimePermission(Ljava/lang/String;)Z
-Landroid/os/IPermissionController;->noteOp(Ljava/lang/String;ILjava/lang/String;)I
-Landroid/os/IPowerManager$Stub$Proxy;
-Landroid/os/IPowerManager$Stub$Proxy;->acquireWakeLock(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;)V
-Landroid/os/IPowerManager$Stub$Proxy;->acquireWakeLockWithUid(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;I)V
-Landroid/os/IPowerManager$Stub$Proxy;->boostScreenBrightness(J)V
-Landroid/os/IPowerManager$Stub$Proxy;->crash(Ljava/lang/String;)V
-Landroid/os/IPowerManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IPowerManager$Stub$Proxy;->getLastShutdownReason()I
-Landroid/os/IPowerManager$Stub$Proxy;->getPowerSaveState(I)Landroid/os/PowerSaveState;
-Landroid/os/IPowerManager$Stub$Proxy;->goToSleep(JII)V
-Landroid/os/IPowerManager$Stub$Proxy;->isDeviceIdleMode()Z
-Landroid/os/IPowerManager$Stub$Proxy;->isInteractive()Z
-Landroid/os/IPowerManager$Stub$Proxy;->isPowerSaveMode()Z
-Landroid/os/IPowerManager$Stub$Proxy;->isScreenBrightnessBoosted()Z
-Landroid/os/IPowerManager$Stub$Proxy;->isWakeLockLevelSupported(I)Z
-Landroid/os/IPowerManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IPowerManager$Stub$Proxy;->nap(J)V
-Landroid/os/IPowerManager$Stub$Proxy;->powerHint(II)V
-Landroid/os/IPowerManager$Stub$Proxy;->reboot(ZLjava/lang/String;Z)V
-Landroid/os/IPowerManager$Stub$Proxy;->rebootSafeMode(ZZ)V
-Landroid/os/IPowerManager$Stub$Proxy;->releaseWakeLock(Landroid/os/IBinder;I)V
-Landroid/os/IPowerManager$Stub$Proxy;->setAttentionLight(ZI)V
-Landroid/os/IPowerManager$Stub$Proxy;->setDozeAfterScreenOff(Z)V
-Landroid/os/IPowerManager$Stub$Proxy;->setPowerSaveMode(Z)Z
-Landroid/os/IPowerManager$Stub$Proxy;->setStayOnSetting(I)V
-Landroid/os/IPowerManager$Stub$Proxy;->shutdown(ZLjava/lang/String;Z)V
-Landroid/os/IPowerManager$Stub$Proxy;->updateWakeLockUids(Landroid/os/IBinder;[I)V
-Landroid/os/IPowerManager$Stub$Proxy;->updateWakeLockWorkSource(Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;)V
-Landroid/os/IPowerManager$Stub$Proxy;->userActivity(JII)V
-Landroid/os/IPowerManager$Stub$Proxy;->wakeUp(JLjava/lang/String;Ljava/lang/String;)V
-Landroid/os/IPowerManager$Stub;
-Landroid/os/IPowerManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IPowerManager$Stub;->TRANSACTION_acquireWakeLockWithUid:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_boostScreenBrightness:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_crash:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_getLastShutdownReason:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_getPowerSaveState:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_isDeviceIdleMode:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_isInteractive:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_isLightDeviceIdleMode:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_isPowerSaveMode:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_isScreenBrightnessBoosted:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_isWakeLockLevelSupported:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_nap:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_powerHint:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_reboot:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_rebootSafeMode:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_releaseWakeLock:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_setAttentionLight:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_setDozeAfterScreenOff:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_setPowerSaveMode:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_setStayOnSetting:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_shutdown:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_updateWakeLockUids:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_updateWakeLockWorkSource:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_userActivity:I
-Landroid/os/IPowerManager$Stub;->TRANSACTION_wakeUp:I
-Landroid/os/IPowerManager;
-Landroid/os/IPowerManager;->acquireWakeLock(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;)V
-Landroid/os/IPowerManager;->acquireWakeLockWithUid(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;I)V
-Landroid/os/IPowerManager;->boostScreenBrightness(J)V
-Landroid/os/IPowerManager;->crash(Ljava/lang/String;)V
-Landroid/os/IPowerManager;->getLastShutdownReason()I
-Landroid/os/IPowerManager;->getPowerSaveState(I)Landroid/os/PowerSaveState;
-Landroid/os/IPowerManager;->isDeviceIdleMode()Z
-Landroid/os/IPowerManager;->isLightDeviceIdleMode()Z
-Landroid/os/IPowerManager;->isPowerSaveMode()Z
-Landroid/os/IPowerManager;->isScreenBrightnessBoosted()Z
-Landroid/os/IPowerManager;->isWakeLockLevelSupported(I)Z
-Landroid/os/IPowerManager;->powerHint(II)V
-Landroid/os/IPowerManager;->rebootSafeMode(ZZ)V
-Landroid/os/IPowerManager;->setAttentionLight(ZI)V
-Landroid/os/IPowerManager;->setDozeAfterScreenOff(Z)V
-Landroid/os/IPowerManager;->setPowerSaveMode(Z)Z
-Landroid/os/IPowerManager;->setStayOnSetting(I)V
-Landroid/os/IPowerManager;->shutdown(ZLjava/lang/String;Z)V
-Landroid/os/IPowerManager;->updateWakeLockUids(Landroid/os/IBinder;[I)V
-Landroid/os/IPowerManager;->updateWakeLockWorkSource(Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;)V
-Landroid/os/IProcessInfoService$Stub$Proxy;
-Landroid/os/IProcessInfoService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IProcessInfoService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IProcessInfoService$Stub$Proxy;->getProcessStatesAndOomScoresFromPids([I[I[I)V
-Landroid/os/IProcessInfoService$Stub$Proxy;->getProcessStatesFromPids([I[I)V
-Landroid/os/IProcessInfoService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IProcessInfoService$Stub;
-Landroid/os/IProcessInfoService$Stub;-><init>()V
-Landroid/os/IProcessInfoService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IProcessInfoService;
-Landroid/os/IProcessInfoService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IProcessInfoService$Stub;->TRANSACTION_getProcessStatesAndOomScoresFromPids:I
-Landroid/os/IProcessInfoService$Stub;->TRANSACTION_getProcessStatesFromPids:I
-Landroid/os/IProcessInfoService;
-Landroid/os/IProcessInfoService;->getProcessStatesAndOomScoresFromPids([I[I[I)V
-Landroid/os/IProcessInfoService;->getProcessStatesFromPids([I[I)V
-Landroid/os/IProgressListener$Stub$Proxy;
-Landroid/os/IProgressListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IProgressListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IProgressListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IProgressListener$Stub$Proxy;->onFinished(ILandroid/os/Bundle;)V
-Landroid/os/IProgressListener$Stub$Proxy;->onProgress(IILandroid/os/Bundle;)V
-Landroid/os/IProgressListener$Stub$Proxy;->onStarted(ILandroid/os/Bundle;)V
-Landroid/os/IProgressListener$Stub;
-Landroid/os/IProgressListener$Stub;-><init>()V
-Landroid/os/IProgressListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IProgressListener;
-Landroid/os/IProgressListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IProgressListener$Stub;->TRANSACTION_onFinished:I
-Landroid/os/IProgressListener$Stub;->TRANSACTION_onProgress:I
-Landroid/os/IProgressListener$Stub;->TRANSACTION_onStarted:I
-Landroid/os/IProgressListener;
-Landroid/os/IProgressListener;->onFinished(ILandroid/os/Bundle;)V
-Landroid/os/IProgressListener;->onProgress(IILandroid/os/Bundle;)V
-Landroid/os/IProgressListener;->onStarted(ILandroid/os/Bundle;)V
-Landroid/os/IRecoverySystem$Stub$Proxy;
-Landroid/os/IRecoverySystem$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IRecoverySystem$Stub$Proxy;->clearBcb()Z
-Landroid/os/IRecoverySystem$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IRecoverySystem$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IRecoverySystem$Stub$Proxy;->rebootRecoveryWithCommand(Ljava/lang/String;)V
-Landroid/os/IRecoverySystem$Stub$Proxy;->setupBcb(Ljava/lang/String;)Z
-Landroid/os/IRecoverySystem$Stub$Proxy;->uncrypt(Ljava/lang/String;Landroid/os/IRecoverySystemProgressListener;)Z
-Landroid/os/IRecoverySystem$Stub;
-Landroid/os/IRecoverySystem$Stub;-><init>()V
-Landroid/os/IRecoverySystem$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IRecoverySystem$Stub;->TRANSACTION_clearBcb:I
-Landroid/os/IRecoverySystem$Stub;->TRANSACTION_rebootRecoveryWithCommand:I
-Landroid/os/IRecoverySystem$Stub;->TRANSACTION_setupBcb:I
-Landroid/os/IRecoverySystem$Stub;->TRANSACTION_uncrypt:I
-Landroid/os/IRecoverySystem;
-Landroid/os/IRecoverySystem;->clearBcb()Z
-Landroid/os/IRecoverySystem;->rebootRecoveryWithCommand(Ljava/lang/String;)V
-Landroid/os/IRecoverySystem;->setupBcb(Ljava/lang/String;)Z
-Landroid/os/IRecoverySystem;->uncrypt(Ljava/lang/String;Landroid/os/IRecoverySystemProgressListener;)Z
-Landroid/os/IRecoverySystemProgressListener$Stub$Proxy;
-Landroid/os/IRecoverySystemProgressListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IRecoverySystemProgressListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IRecoverySystemProgressListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IRecoverySystemProgressListener$Stub$Proxy;->onProgress(I)V
-Landroid/os/IRecoverySystemProgressListener$Stub;
-Landroid/os/IRecoverySystemProgressListener$Stub;-><init>()V
-Landroid/os/IRecoverySystemProgressListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IRecoverySystemProgressListener;
-Landroid/os/IRecoverySystemProgressListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IRecoverySystemProgressListener$Stub;->TRANSACTION_onProgress:I
-Landroid/os/IRecoverySystemProgressListener;
-Landroid/os/IRecoverySystemProgressListener;->onProgress(I)V
-Landroid/os/IRemoteCallback$Stub$Proxy;
-Landroid/os/IRemoteCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IRemoteCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IRemoteCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IRemoteCallback$Stub$Proxy;->sendResult(Landroid/os/Bundle;)V
-Landroid/os/IRemoteCallback$Stub;
-Landroid/os/IRemoteCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IRemoteCallback;
-Landroid/os/IRemoteCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IRemoteCallback$Stub;->TRANSACTION_sendResult:I
-Landroid/os/IRemoteCallback;
-Landroid/os/ISchedulingPolicyService$Stub$Proxy;
-Landroid/os/ISchedulingPolicyService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/ISchedulingPolicyService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/ISchedulingPolicyService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/ISchedulingPolicyService$Stub$Proxy;->requestCpusetBoost(ZLandroid/os/IBinder;)I
-Landroid/os/ISchedulingPolicyService$Stub$Proxy;->requestPriority(IIIZ)I
-Landroid/os/ISchedulingPolicyService$Stub;
-Landroid/os/ISchedulingPolicyService$Stub;-><init>()V
-Landroid/os/ISchedulingPolicyService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/ISchedulingPolicyService;
-Landroid/os/ISchedulingPolicyService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/ISchedulingPolicyService$Stub;->TRANSACTION_requestCpusetBoost:I
-Landroid/os/ISchedulingPolicyService$Stub;->TRANSACTION_requestPriority:I
-Landroid/os/ISchedulingPolicyService;
-Landroid/os/ISchedulingPolicyService;->requestCpusetBoost(ZLandroid/os/IBinder;)I
-Landroid/os/ISchedulingPolicyService;->requestPriority(IIIZ)I
-Landroid/os/IServiceManager;
-Landroid/os/IServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;ZI)V
-Landroid/os/IServiceManager;->ADD_SERVICE_TRANSACTION:I
-Landroid/os/IServiceManager;->CHECK_SERVICES_TRANSACTION:I
-Landroid/os/IServiceManager;->CHECK_SERVICE_TRANSACTION:I
-Landroid/os/IServiceManager;->descriptor:Ljava/lang/String;
-Landroid/os/IServiceManager;->DUMP_FLAG_PRIORITY_ALL:I
-Landroid/os/IServiceManager;->DUMP_FLAG_PRIORITY_CRITICAL:I
-Landroid/os/IServiceManager;->DUMP_FLAG_PRIORITY_DEFAULT:I
-Landroid/os/IServiceManager;->DUMP_FLAG_PRIORITY_HIGH:I
-Landroid/os/IServiceManager;->DUMP_FLAG_PRIORITY_NORMAL:I
-Landroid/os/IServiceManager;->DUMP_FLAG_PROTO:I
-Landroid/os/IServiceManager;->GET_SERVICE_TRANSACTION:I
-Landroid/os/IServiceManager;->listServices(I)[Ljava/lang/String;
-Landroid/os/IServiceManager;->LIST_SERVICES_TRANSACTION:I
-Landroid/os/IServiceManager;->setPermissionController(Landroid/os/IPermissionController;)V
-Landroid/os/IServiceManager;->SET_PERMISSION_CONTROLLER_TRANSACTION:I
-Landroid/os/IStatsCompanionService$Stub$Proxy;
-Landroid/os/IStatsCompanionService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IStatsCompanionService$Stub$Proxy;->cancelAlarmForSubscriberTriggering()V
-Landroid/os/IStatsCompanionService$Stub$Proxy;->cancelAnomalyAlarm()V
-Landroid/os/IStatsCompanionService$Stub$Proxy;->cancelPullingAlarm()V
-Landroid/os/IStatsCompanionService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IStatsCompanionService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IStatsCompanionService$Stub$Proxy;->pullData(I)[Landroid/os/StatsLogEventWrapper;
-Landroid/os/IStatsCompanionService$Stub$Proxy;->sendDataBroadcast(Landroid/os/IBinder;J)V
-Landroid/os/IStatsCompanionService$Stub$Proxy;->sendSubscriberBroadcast(Landroid/os/IBinder;JJJJ[Ljava/lang/String;Landroid/os/StatsDimensionsValue;)V
-Landroid/os/IStatsCompanionService$Stub$Proxy;->setAlarmForSubscriberTriggering(J)V
-Landroid/os/IStatsCompanionService$Stub$Proxy;->setAnomalyAlarm(J)V
-Landroid/os/IStatsCompanionService$Stub$Proxy;->setPullingAlarm(J)V
-Landroid/os/IStatsCompanionService$Stub$Proxy;->statsdReady()V
-Landroid/os/IStatsCompanionService$Stub$Proxy;->triggerUidSnapshot()V
-Landroid/os/IStatsCompanionService$Stub;
-Landroid/os/IStatsCompanionService$Stub;-><init>()V
-Landroid/os/IStatsCompanionService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IStatsCompanionService;
-Landroid/os/IStatsCompanionService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IStatsCompanionService$Stub;->TRANSACTION_cancelAlarmForSubscriberTriggering:I
-Landroid/os/IStatsCompanionService$Stub;->TRANSACTION_cancelAnomalyAlarm:I
-Landroid/os/IStatsCompanionService$Stub;->TRANSACTION_cancelPullingAlarm:I
-Landroid/os/IStatsCompanionService$Stub;->TRANSACTION_pullData:I
-Landroid/os/IStatsCompanionService$Stub;->TRANSACTION_sendDataBroadcast:I
-Landroid/os/IStatsCompanionService$Stub;->TRANSACTION_sendSubscriberBroadcast:I
-Landroid/os/IStatsCompanionService$Stub;->TRANSACTION_setAlarmForSubscriberTriggering:I
-Landroid/os/IStatsCompanionService$Stub;->TRANSACTION_setAnomalyAlarm:I
-Landroid/os/IStatsCompanionService$Stub;->TRANSACTION_setPullingAlarm:I
-Landroid/os/IStatsCompanionService$Stub;->TRANSACTION_statsdReady:I
-Landroid/os/IStatsCompanionService$Stub;->TRANSACTION_triggerUidSnapshot:I
-Landroid/os/IStatsCompanionService;
-Landroid/os/IStatsCompanionService;->cancelAlarmForSubscriberTriggering()V
-Landroid/os/IStatsCompanionService;->cancelAnomalyAlarm()V
-Landroid/os/IStatsCompanionService;->cancelPullingAlarm()V
-Landroid/os/IStatsCompanionService;->pullData(I)[Landroid/os/StatsLogEventWrapper;
-Landroid/os/IStatsCompanionService;->sendDataBroadcast(Landroid/os/IBinder;J)V
-Landroid/os/IStatsCompanionService;->sendSubscriberBroadcast(Landroid/os/IBinder;JJJJ[Ljava/lang/String;Landroid/os/StatsDimensionsValue;)V
-Landroid/os/IStatsCompanionService;->setAlarmForSubscriberTriggering(J)V
-Landroid/os/IStatsCompanionService;->setAnomalyAlarm(J)V
-Landroid/os/IStatsCompanionService;->setPullingAlarm(J)V
-Landroid/os/IStatsCompanionService;->statsdReady()V
-Landroid/os/IStatsCompanionService;->triggerUidSnapshot()V
-Landroid/os/IStatsManager$Stub$Proxy;
-Landroid/os/IStatsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IStatsManager$Stub$Proxy;->addConfiguration(J[BLjava/lang/String;)V
-Landroid/os/IStatsManager$Stub$Proxy;->getData(JLjava/lang/String;)[B
-Landroid/os/IStatsManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IStatsManager$Stub$Proxy;->getMetadata(Ljava/lang/String;)[B
-Landroid/os/IStatsManager$Stub$Proxy;->informAlarmForSubscriberTriggeringFired()V
-Landroid/os/IStatsManager$Stub$Proxy;->informAllUidData([I[J[Ljava/lang/String;)V
-Landroid/os/IStatsManager$Stub$Proxy;->informAnomalyAlarmFired()V
-Landroid/os/IStatsManager$Stub$Proxy;->informDeviceShutdown()V
-Landroid/os/IStatsManager$Stub$Proxy;->informOnePackage(Ljava/lang/String;IJ)V
-Landroid/os/IStatsManager$Stub$Proxy;->informOnePackageRemoved(Ljava/lang/String;I)V
-Landroid/os/IStatsManager$Stub$Proxy;->informPollAlarmFired()V
-Landroid/os/IStatsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IStatsManager$Stub$Proxy;->removeConfiguration(JLjava/lang/String;)V
-Landroid/os/IStatsManager$Stub$Proxy;->removeDataFetchOperation(JLjava/lang/String;)V
-Landroid/os/IStatsManager$Stub$Proxy;->sendAppBreadcrumbAtom(II)V
-Landroid/os/IStatsManager$Stub$Proxy;->setBroadcastSubscriber(JJLandroid/os/IBinder;Ljava/lang/String;)V
-Landroid/os/IStatsManager$Stub$Proxy;->setDataFetchOperation(JLandroid/os/IBinder;Ljava/lang/String;)V
-Landroid/os/IStatsManager$Stub$Proxy;->statsCompanionReady()V
-Landroid/os/IStatsManager$Stub$Proxy;->systemRunning()V
-Landroid/os/IStatsManager$Stub$Proxy;->unsetBroadcastSubscriber(JJLjava/lang/String;)V
-Landroid/os/IStatsManager$Stub;
-Landroid/os/IStatsManager$Stub;-><init>()V
-Landroid/os/IStatsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IStatsManager;
-Landroid/os/IStatsManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IStatsManager$Stub;->TRANSACTION_addConfiguration:I
-Landroid/os/IStatsManager$Stub;->TRANSACTION_getData:I
-Landroid/os/IStatsManager$Stub;->TRANSACTION_getMetadata:I
-Landroid/os/IStatsManager$Stub;->TRANSACTION_informAlarmForSubscriberTriggeringFired:I
-Landroid/os/IStatsManager$Stub;->TRANSACTION_informAllUidData:I
-Landroid/os/IStatsManager$Stub;->TRANSACTION_informAnomalyAlarmFired:I
-Landroid/os/IStatsManager$Stub;->TRANSACTION_informDeviceShutdown:I
-Landroid/os/IStatsManager$Stub;->TRANSACTION_informOnePackage:I
-Landroid/os/IStatsManager$Stub;->TRANSACTION_informOnePackageRemoved:I
-Landroid/os/IStatsManager$Stub;->TRANSACTION_informPollAlarmFired:I
-Landroid/os/IStatsManager$Stub;->TRANSACTION_removeConfiguration:I
-Landroid/os/IStatsManager$Stub;->TRANSACTION_removeDataFetchOperation:I
-Landroid/os/IStatsManager$Stub;->TRANSACTION_sendAppBreadcrumbAtom:I
-Landroid/os/IStatsManager$Stub;->TRANSACTION_setBroadcastSubscriber:I
-Landroid/os/IStatsManager$Stub;->TRANSACTION_setDataFetchOperation:I
-Landroid/os/IStatsManager$Stub;->TRANSACTION_statsCompanionReady:I
-Landroid/os/IStatsManager$Stub;->TRANSACTION_systemRunning:I
-Landroid/os/IStatsManager$Stub;->TRANSACTION_unsetBroadcastSubscriber:I
-Landroid/os/IStatsManager;
-Landroid/os/IStatsManager;->addConfiguration(J[BLjava/lang/String;)V
-Landroid/os/IStatsManager;->getData(JLjava/lang/String;)[B
-Landroid/os/IStatsManager;->getMetadata(Ljava/lang/String;)[B
-Landroid/os/IStatsManager;->informAlarmForSubscriberTriggeringFired()V
-Landroid/os/IStatsManager;->informAllUidData([I[J[Ljava/lang/String;)V
-Landroid/os/IStatsManager;->informAnomalyAlarmFired()V
-Landroid/os/IStatsManager;->informDeviceShutdown()V
-Landroid/os/IStatsManager;->informOnePackage(Ljava/lang/String;IJ)V
-Landroid/os/IStatsManager;->informOnePackageRemoved(Ljava/lang/String;I)V
-Landroid/os/IStatsManager;->informPollAlarmFired()V
-Landroid/os/IStatsManager;->removeConfiguration(JLjava/lang/String;)V
-Landroid/os/IStatsManager;->removeDataFetchOperation(JLjava/lang/String;)V
-Landroid/os/IStatsManager;->sendAppBreadcrumbAtom(II)V
-Landroid/os/IStatsManager;->setBroadcastSubscriber(JJLandroid/os/IBinder;Ljava/lang/String;)V
-Landroid/os/IStatsManager;->setDataFetchOperation(JLandroid/os/IBinder;Ljava/lang/String;)V
-Landroid/os/IStatsManager;->statsCompanionReady()V
-Landroid/os/IStatsManager;->systemRunning()V
-Landroid/os/IStatsManager;->unsetBroadcastSubscriber(JJLjava/lang/String;)V
-Landroid/os/IStoraged$Stub$Proxy;
-Landroid/os/IStoraged$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IStoraged$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IStoraged$Stub$Proxy;->getRecentPerf()I
-Landroid/os/IStoraged$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IStoraged$Stub$Proxy;->onUserStarted(I)V
-Landroid/os/IStoraged$Stub$Proxy;->onUserStopped(I)V
-Landroid/os/IStoraged$Stub;
-Landroid/os/IStoraged$Stub;-><init>()V
-Landroid/os/IStoraged$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IStoraged;
-Landroid/os/IStoraged$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IStoraged$Stub;->TRANSACTION_getRecentPerf:I
-Landroid/os/IStoraged$Stub;->TRANSACTION_onUserStarted:I
-Landroid/os/IStoraged$Stub;->TRANSACTION_onUserStopped:I
-Landroid/os/IStoraged;
-Landroid/os/IStoraged;->getRecentPerf()I
-Landroid/os/IStoraged;->onUserStarted(I)V
-Landroid/os/IStoraged;->onUserStopped(I)V
-Landroid/os/ISystemUpdateManager$Stub$Proxy;
-Landroid/os/ISystemUpdateManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/ISystemUpdateManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/ISystemUpdateManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/ISystemUpdateManager$Stub$Proxy;->retrieveSystemUpdateInfo()Landroid/os/Bundle;
-Landroid/os/ISystemUpdateManager$Stub$Proxy;->updateSystemUpdateInfo(Landroid/os/PersistableBundle;)V
-Landroid/os/ISystemUpdateManager$Stub;
-Landroid/os/ISystemUpdateManager$Stub;-><init>()V
-Landroid/os/ISystemUpdateManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/ISystemUpdateManager;
-Landroid/os/ISystemUpdateManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/ISystemUpdateManager$Stub;->TRANSACTION_retrieveSystemUpdateInfo:I
-Landroid/os/ISystemUpdateManager$Stub;->TRANSACTION_updateSystemUpdateInfo:I
-Landroid/os/ISystemUpdateManager;
-Landroid/os/ISystemUpdateManager;->retrieveSystemUpdateInfo()Landroid/os/Bundle;
-Landroid/os/ISystemUpdateManager;->updateSystemUpdateInfo(Landroid/os/PersistableBundle;)V
-Landroid/os/IThermalEventListener$Stub$Proxy;
-Landroid/os/IThermalEventListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IThermalEventListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IThermalEventListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IThermalEventListener$Stub$Proxy;->notifyThrottling(ZLandroid/os/Temperature;)V
-Landroid/os/IThermalEventListener$Stub;
-Landroid/os/IThermalEventListener$Stub;-><init>()V
-Landroid/os/IThermalEventListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IThermalEventListener;
-Landroid/os/IThermalEventListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IThermalEventListener$Stub;->TRANSACTION_notifyThrottling:I
-Landroid/os/IThermalEventListener;
-Landroid/os/IThermalEventListener;->notifyThrottling(ZLandroid/os/Temperature;)V
-Landroid/os/IThermalService$Stub$Proxy;
-Landroid/os/IThermalService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IThermalService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IThermalService$Stub$Proxy;->isThrottling()Z
-Landroid/os/IThermalService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IThermalService$Stub$Proxy;->notifyThrottling(ZLandroid/os/Temperature;)V
-Landroid/os/IThermalService$Stub$Proxy;->registerThermalEventListener(Landroid/os/IThermalEventListener;)V
-Landroid/os/IThermalService$Stub$Proxy;->unregisterThermalEventListener(Landroid/os/IThermalEventListener;)V
-Landroid/os/IThermalService$Stub;
-Landroid/os/IThermalService$Stub;-><init>()V
-Landroid/os/IThermalService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IThermalService;
-Landroid/os/IThermalService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IThermalService$Stub;->TRANSACTION_isThrottling:I
-Landroid/os/IThermalService$Stub;->TRANSACTION_notifyThrottling:I
-Landroid/os/IThermalService$Stub;->TRANSACTION_registerThermalEventListener:I
-Landroid/os/IThermalService$Stub;->TRANSACTION_unregisterThermalEventListener:I
-Landroid/os/IThermalService;
-Landroid/os/IThermalService;->isThrottling()Z
-Landroid/os/IThermalService;->notifyThrottling(ZLandroid/os/Temperature;)V
-Landroid/os/IThermalService;->registerThermalEventListener(Landroid/os/IThermalEventListener;)V
-Landroid/os/IThermalService;->unregisterThermalEventListener(Landroid/os/IThermalEventListener;)V
-Landroid/os/IUpdateEngine$Stub$Proxy;
-Landroid/os/IUpdateEngine$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IUpdateEngine$Stub$Proxy;->applyPayload(Ljava/lang/String;JJ[Ljava/lang/String;)V
-Landroid/os/IUpdateEngine$Stub$Proxy;->bind(Landroid/os/IUpdateEngineCallback;)Z
-Landroid/os/IUpdateEngine$Stub$Proxy;->cancel()V
-Landroid/os/IUpdateEngine$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IUpdateEngine$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IUpdateEngine$Stub$Proxy;->resetStatus()V
-Landroid/os/IUpdateEngine$Stub$Proxy;->resume()V
-Landroid/os/IUpdateEngine$Stub$Proxy;->suspend()V
-Landroid/os/IUpdateEngine$Stub$Proxy;->unbind(Landroid/os/IUpdateEngineCallback;)Z
-Landroid/os/IUpdateEngine$Stub$Proxy;->verifyPayloadApplicable(Ljava/lang/String;)Z
-Landroid/os/IUpdateEngine$Stub;
-Landroid/os/IUpdateEngine$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IUpdateEngine;
-Landroid/os/IUpdateEngine$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IUpdateEngine$Stub;->TRANSACTION_applyPayload:I
-Landroid/os/IUpdateEngine$Stub;->TRANSACTION_bind:I
-Landroid/os/IUpdateEngine$Stub;->TRANSACTION_cancel:I
-Landroid/os/IUpdateEngine$Stub;->TRANSACTION_resetStatus:I
-Landroid/os/IUpdateEngine$Stub;->TRANSACTION_resume:I
-Landroid/os/IUpdateEngine$Stub;->TRANSACTION_suspend:I
-Landroid/os/IUpdateEngine$Stub;->TRANSACTION_unbind:I
-Landroid/os/IUpdateEngine$Stub;->TRANSACTION_verifyPayloadApplicable:I
-Landroid/os/IUpdateEngine;
-Landroid/os/IUpdateEngine;->applyPayload(Ljava/lang/String;JJ[Ljava/lang/String;)V
-Landroid/os/IUpdateEngine;->bind(Landroid/os/IUpdateEngineCallback;)Z
-Landroid/os/IUpdateEngine;->cancel()V
-Landroid/os/IUpdateEngine;->resetStatus()V
-Landroid/os/IUpdateEngine;->resume()V
-Landroid/os/IUpdateEngine;->suspend()V
-Landroid/os/IUpdateEngine;->unbind(Landroid/os/IUpdateEngineCallback;)Z
-Landroid/os/IUpdateEngine;->verifyPayloadApplicable(Ljava/lang/String;)Z
-Landroid/os/IUpdateEngineCallback$Stub$Proxy;
-Landroid/os/IUpdateEngineCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IUpdateEngineCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IUpdateEngineCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IUpdateEngineCallback$Stub$Proxy;->onPayloadApplicationComplete(I)V
-Landroid/os/IUpdateEngineCallback$Stub$Proxy;->onStatusUpdate(IF)V
-Landroid/os/IUpdateEngineCallback$Stub;
-Landroid/os/IUpdateEngineCallback$Stub;-><init>()V
-Landroid/os/IUpdateEngineCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IUpdateEngineCallback;
-Landroid/os/IUpdateEngineCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IUpdateEngineCallback$Stub;->TRANSACTION_onPayloadApplicationComplete:I
-Landroid/os/IUpdateEngineCallback$Stub;->TRANSACTION_onStatusUpdate:I
-Landroid/os/IUpdateEngineCallback;
-Landroid/os/IUpdateEngineCallback;->onPayloadApplicationComplete(I)V
-Landroid/os/IUpdateLock$Stub$Proxy;
-Landroid/os/IUpdateLock$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IUpdateLock$Stub$Proxy;->acquireUpdateLock(Landroid/os/IBinder;Ljava/lang/String;)V
-Landroid/os/IUpdateLock$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IUpdateLock$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IUpdateLock$Stub$Proxy;->releaseUpdateLock(Landroid/os/IBinder;)V
-Landroid/os/IUpdateLock$Stub;
-Landroid/os/IUpdateLock$Stub;-><init>()V
-Landroid/os/IUpdateLock$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IUpdateLock;
-Landroid/os/IUpdateLock$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IUpdateLock$Stub;->TRANSACTION_acquireUpdateLock:I
-Landroid/os/IUpdateLock$Stub;->TRANSACTION_releaseUpdateLock:I
-Landroid/os/IUpdateLock;
-Landroid/os/IUpdateLock;->acquireUpdateLock(Landroid/os/IBinder;Ljava/lang/String;)V
-Landroid/os/IUpdateLock;->releaseUpdateLock(Landroid/os/IBinder;)V
-Landroid/os/IUserManager$Stub$Proxy;
-Landroid/os/IUserManager$Stub$Proxy;->canAddMoreManagedProfiles(IZ)Z
-Landroid/os/IUserManager$Stub$Proxy;->canHaveRestrictedProfile(I)Z
-Landroid/os/IUserManager$Stub$Proxy;->clearSeedAccountData()V
-Landroid/os/IUserManager$Stub$Proxy;->createProfileForUser(Ljava/lang/String;II[Ljava/lang/String;)Landroid/content/pm/UserInfo;
-Landroid/os/IUserManager$Stub$Proxy;->createProfileForUserEvenWhenDisallowed(Ljava/lang/String;II[Ljava/lang/String;)Landroid/content/pm/UserInfo;
-Landroid/os/IUserManager$Stub$Proxy;->createRestrictedProfile(Ljava/lang/String;I)Landroid/content/pm/UserInfo;
-Landroid/os/IUserManager$Stub$Proxy;->createUser(Ljava/lang/String;I)Landroid/content/pm/UserInfo;
-Landroid/os/IUserManager$Stub$Proxy;->evictCredentialEncryptionKey(I)V
-Landroid/os/IUserManager$Stub$Proxy;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
-Landroid/os/IUserManager$Stub$Proxy;->getApplicationRestrictionsForUser(Ljava/lang/String;I)Landroid/os/Bundle;
-Landroid/os/IUserManager$Stub$Proxy;->getCredentialOwnerProfile(I)I
-Landroid/os/IUserManager$Stub$Proxy;->getDefaultGuestRestrictions()Landroid/os/Bundle;
-Landroid/os/IUserManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IUserManager$Stub$Proxy;->getManagedProfileBadge(I)I
-Landroid/os/IUserManager$Stub$Proxy;->getPrimaryUser()Landroid/content/pm/UserInfo;
-Landroid/os/IUserManager$Stub$Proxy;->getProfileIds(IZ)[I
-Landroid/os/IUserManager$Stub$Proxy;->getProfileParent(I)Landroid/content/pm/UserInfo;
-Landroid/os/IUserManager$Stub$Proxy;->getProfileParentId(I)I
-Landroid/os/IUserManager$Stub$Proxy;->getProfiles(IZ)Ljava/util/List;
-Landroid/os/IUserManager$Stub$Proxy;->getSeedAccountName()Ljava/lang/String;
-Landroid/os/IUserManager$Stub$Proxy;->getSeedAccountOptions()Landroid/os/PersistableBundle;
-Landroid/os/IUserManager$Stub$Proxy;->getSeedAccountType()Ljava/lang/String;
-Landroid/os/IUserManager$Stub$Proxy;->getUserAccount(I)Ljava/lang/String;
-Landroid/os/IUserManager$Stub$Proxy;->getUserCreationTime(I)J
-Landroid/os/IUserManager$Stub$Proxy;->getUserHandle(I)I
-Landroid/os/IUserManager$Stub$Proxy;->getUserIcon(I)Landroid/os/ParcelFileDescriptor;
-Landroid/os/IUserManager$Stub$Proxy;->getUserInfo(I)Landroid/content/pm/UserInfo;
-Landroid/os/IUserManager$Stub$Proxy;->getUserRestrictions(I)Landroid/os/Bundle;
-Landroid/os/IUserManager$Stub$Proxy;->getUserRestrictionSource(Ljava/lang/String;I)I
-Landroid/os/IUserManager$Stub$Proxy;->getUserRestrictionSources(Ljava/lang/String;I)Ljava/util/List;
-Landroid/os/IUserManager$Stub$Proxy;->getUsers(Z)Ljava/util/List;
-Landroid/os/IUserManager$Stub$Proxy;->getUserSerialNumber(I)I
-Landroid/os/IUserManager$Stub$Proxy;->getUserStartRealtime()J
-Landroid/os/IUserManager$Stub$Proxy;->getUserUnlockRealtime()J
-Landroid/os/IUserManager$Stub$Proxy;->hasBaseUserRestriction(Ljava/lang/String;I)Z
-Landroid/os/IUserManager$Stub$Proxy;->hasRestrictedProfiles()Z
-Landroid/os/IUserManager$Stub$Proxy;->hasUserRestriction(Ljava/lang/String;I)Z
-Landroid/os/IUserManager$Stub$Proxy;->hasUserRestrictionOnAnyUser(Ljava/lang/String;)Z
-Landroid/os/IUserManager$Stub$Proxy;->isDemoUser(I)Z
-Landroid/os/IUserManager$Stub$Proxy;->isManagedProfile(I)Z
-Landroid/os/IUserManager$Stub$Proxy;->isQuietModeEnabled(I)Z
-Landroid/os/IUserManager$Stub$Proxy;->isRestricted()Z
-Landroid/os/IUserManager$Stub$Proxy;->isSameProfileGroup(II)Z
-Landroid/os/IUserManager$Stub$Proxy;->isUserNameSet(I)Z
-Landroid/os/IUserManager$Stub$Proxy;->isUserRunning(I)Z
-Landroid/os/IUserManager$Stub$Proxy;->isUserUnlocked(I)Z
-Landroid/os/IUserManager$Stub$Proxy;->isUserUnlockingOrUnlocked(I)Z
-Landroid/os/IUserManager$Stub$Proxy;->markGuestForDeletion(I)Z
-Landroid/os/IUserManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IUserManager$Stub$Proxy;->removeUser(I)Z
-Landroid/os/IUserManager$Stub$Proxy;->removeUserEvenWhenDisallowed(I)Z
-Landroid/os/IUserManager$Stub$Proxy;->requestQuietModeEnabled(Ljava/lang/String;ZILandroid/content/IntentSender;)Z
-Landroid/os/IUserManager$Stub$Proxy;->setApplicationRestrictions(Ljava/lang/String;Landroid/os/Bundle;I)V
-Landroid/os/IUserManager$Stub$Proxy;->setDefaultGuestRestrictions(Landroid/os/Bundle;)V
-Landroid/os/IUserManager$Stub$Proxy;->setSeedAccountData(ILjava/lang/String;Ljava/lang/String;Landroid/os/PersistableBundle;Z)V
-Landroid/os/IUserManager$Stub$Proxy;->setUserAccount(ILjava/lang/String;)V
-Landroid/os/IUserManager$Stub$Proxy;->setUserAdmin(I)V
-Landroid/os/IUserManager$Stub$Proxy;->setUserEnabled(I)V
-Landroid/os/IUserManager$Stub$Proxy;->setUserIcon(ILandroid/graphics/Bitmap;)V
-Landroid/os/IUserManager$Stub$Proxy;->setUserName(ILjava/lang/String;)V
-Landroid/os/IUserManager$Stub$Proxy;->setUserRestriction(Ljava/lang/String;ZI)V
-Landroid/os/IUserManager$Stub$Proxy;->someUserHasSeedAccount(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/os/IUserManager$Stub;
-Landroid/os/IUserManager$Stub;-><init>()V
-Landroid/os/IUserManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IUserManager$Stub;->TRANSACTION_canAddMoreManagedProfiles:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_canHaveRestrictedProfile:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_clearSeedAccountData:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_createProfileForUser:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_createProfileForUserEvenWhenDisallowed:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_createRestrictedProfile:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_createUser:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_evictCredentialEncryptionKey:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getApplicationRestrictions:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getApplicationRestrictionsForUser:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getCredentialOwnerProfile:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getDefaultGuestRestrictions:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getManagedProfileBadge:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getPrimaryUser:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getProfileIds:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getProfileParent:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getProfileParentId:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getProfiles:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getSeedAccountName:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getSeedAccountOptions:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getSeedAccountType:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getUserAccount:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getUserCreationTime:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getUserHandle:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getUserIcon:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getUserInfo:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getUserRestrictions:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getUserRestrictionSource:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getUserRestrictionSources:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getUsers:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getUserSerialNumber:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getUserStartRealtime:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_getUserUnlockRealtime:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_hasBaseUserRestriction:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_hasRestrictedProfiles:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_hasUserRestriction:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_hasUserRestrictionOnAnyUser:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_isDemoUser:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_isManagedProfile:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_isQuietModeEnabled:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_isRestricted:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_isSameProfileGroup:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_isUserNameSet:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_isUserRunning:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_isUserUnlocked:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_isUserUnlockingOrUnlocked:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_markGuestForDeletion:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_removeUser:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_removeUserEvenWhenDisallowed:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_requestQuietModeEnabled:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_setApplicationRestrictions:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_setDefaultGuestRestrictions:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_setSeedAccountData:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_setUserAccount:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_setUserAdmin:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_setUserEnabled:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_setUserIcon:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_setUserName:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_setUserRestriction:I
-Landroid/os/IUserManager$Stub;->TRANSACTION_someUserHasSeedAccount:I
-Landroid/os/IUserManager;
-Landroid/os/IUserManager;->canAddMoreManagedProfiles(IZ)Z
-Landroid/os/IUserManager;->canHaveRestrictedProfile(I)Z
-Landroid/os/IUserManager;->clearSeedAccountData()V
-Landroid/os/IUserManager;->createProfileForUser(Ljava/lang/String;II[Ljava/lang/String;)Landroid/content/pm/UserInfo;
-Landroid/os/IUserManager;->createProfileForUserEvenWhenDisallowed(Ljava/lang/String;II[Ljava/lang/String;)Landroid/content/pm/UserInfo;
-Landroid/os/IUserManager;->createRestrictedProfile(Ljava/lang/String;I)Landroid/content/pm/UserInfo;
-Landroid/os/IUserManager;->createUser(Ljava/lang/String;I)Landroid/content/pm/UserInfo;
-Landroid/os/IUserManager;->evictCredentialEncryptionKey(I)V
-Landroid/os/IUserManager;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
-Landroid/os/IUserManager;->getApplicationRestrictionsForUser(Ljava/lang/String;I)Landroid/os/Bundle;
-Landroid/os/IUserManager;->getCredentialOwnerProfile(I)I
-Landroid/os/IUserManager;->getDefaultGuestRestrictions()Landroid/os/Bundle;
-Landroid/os/IUserManager;->getManagedProfileBadge(I)I
-Landroid/os/IUserManager;->getPrimaryUser()Landroid/content/pm/UserInfo;
-Landroid/os/IUserManager;->getProfileIds(IZ)[I
-Landroid/os/IUserManager;->getProfileParent(I)Landroid/content/pm/UserInfo;
-Landroid/os/IUserManager;->getProfileParentId(I)I
-Landroid/os/IUserManager;->getProfiles(IZ)Ljava/util/List;
-Landroid/os/IUserManager;->getSeedAccountName()Ljava/lang/String;
-Landroid/os/IUserManager;->getSeedAccountOptions()Landroid/os/PersistableBundle;
-Landroid/os/IUserManager;->getSeedAccountType()Ljava/lang/String;
-Landroid/os/IUserManager;->getUserAccount(I)Ljava/lang/String;
-Landroid/os/IUserManager;->getUserCreationTime(I)J
-Landroid/os/IUserManager;->getUserHandle(I)I
-Landroid/os/IUserManager;->getUserIcon(I)Landroid/os/ParcelFileDescriptor;
-Landroid/os/IUserManager;->getUserRestrictions(I)Landroid/os/Bundle;
-Landroid/os/IUserManager;->getUserRestrictionSource(Ljava/lang/String;I)I
-Landroid/os/IUserManager;->getUserRestrictionSources(Ljava/lang/String;I)Ljava/util/List;
-Landroid/os/IUserManager;->getUsers(Z)Ljava/util/List;
-Landroid/os/IUserManager;->getUserSerialNumber(I)I
-Landroid/os/IUserManager;->getUserStartRealtime()J
-Landroid/os/IUserManager;->getUserUnlockRealtime()J
-Landroid/os/IUserManager;->hasBaseUserRestriction(Ljava/lang/String;I)Z
-Landroid/os/IUserManager;->hasRestrictedProfiles()Z
-Landroid/os/IUserManager;->hasUserRestriction(Ljava/lang/String;I)Z
-Landroid/os/IUserManager;->hasUserRestrictionOnAnyUser(Ljava/lang/String;)Z
-Landroid/os/IUserManager;->isDemoUser(I)Z
-Landroid/os/IUserManager;->isManagedProfile(I)Z
-Landroid/os/IUserManager;->isQuietModeEnabled(I)Z
-Landroid/os/IUserManager;->isRestricted()Z
-Landroid/os/IUserManager;->isSameProfileGroup(II)Z
-Landroid/os/IUserManager;->isUserNameSet(I)Z
-Landroid/os/IUserManager;->isUserRunning(I)Z
-Landroid/os/IUserManager;->isUserUnlocked(I)Z
-Landroid/os/IUserManager;->isUserUnlockingOrUnlocked(I)Z
-Landroid/os/IUserManager;->markGuestForDeletion(I)Z
-Landroid/os/IUserManager;->removeUser(I)Z
-Landroid/os/IUserManager;->removeUserEvenWhenDisallowed(I)Z
-Landroid/os/IUserManager;->requestQuietModeEnabled(Ljava/lang/String;ZILandroid/content/IntentSender;)Z
-Landroid/os/IUserManager;->setApplicationRestrictions(Ljava/lang/String;Landroid/os/Bundle;I)V
-Landroid/os/IUserManager;->setDefaultGuestRestrictions(Landroid/os/Bundle;)V
-Landroid/os/IUserManager;->setSeedAccountData(ILjava/lang/String;Ljava/lang/String;Landroid/os/PersistableBundle;Z)V
-Landroid/os/IUserManager;->setUserAccount(ILjava/lang/String;)V
-Landroid/os/IUserManager;->setUserAdmin(I)V
-Landroid/os/IUserManager;->setUserEnabled(I)V
-Landroid/os/IUserManager;->setUserIcon(ILandroid/graphics/Bitmap;)V
-Landroid/os/IUserManager;->setUserName(ILjava/lang/String;)V
-Landroid/os/IUserManager;->setUserRestriction(Ljava/lang/String;ZI)V
-Landroid/os/IUserManager;->someUserHasSeedAccount(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/os/IVibratorService$Stub$Proxy;
-Landroid/os/IVibratorService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IVibratorService$Stub$Proxy;->cancelVibrate(Landroid/os/IBinder;)V
-Landroid/os/IVibratorService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IVibratorService$Stub$Proxy;->hasAmplitudeControl()Z
-Landroid/os/IVibratorService$Stub$Proxy;->hasVibrator()Z
-Landroid/os/IVibratorService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IVibratorService$Stub$Proxy;->vibrate(ILjava/lang/String;Landroid/os/VibrationEffect;ILandroid/os/IBinder;)V
-Landroid/os/IVibratorService$Stub;
-Landroid/os/IVibratorService$Stub;-><init>()V
-Landroid/os/IVibratorService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IVibratorService$Stub;->TRANSACTION_cancelVibrate:I
-Landroid/os/IVibratorService$Stub;->TRANSACTION_hasAmplitudeControl:I
-Landroid/os/IVibratorService$Stub;->TRANSACTION_hasVibrator:I
-Landroid/os/IVibratorService$Stub;->TRANSACTION_vibrate:I
-Landroid/os/IVibratorService;
-Landroid/os/IVibratorService;->cancelVibrate(Landroid/os/IBinder;)V
-Landroid/os/IVibratorService;->hasAmplitudeControl()Z
-Landroid/os/IVibratorService;->hasVibrator()Z
-Landroid/os/IVibratorService;->vibrate(ILjava/lang/String;Landroid/os/VibrationEffect;ILandroid/os/IBinder;)V
-Landroid/os/IVold$Stub$Proxy;
-Landroid/os/IVold$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IVold$Stub$Proxy;->abortIdleMaint(Landroid/os/IVoldTaskListener;)V
-Landroid/os/IVold$Stub$Proxy;->addUserKeyAuth(IILjava/lang/String;Ljava/lang/String;)V
-Landroid/os/IVold$Stub$Proxy;->benchmark(Ljava/lang/String;Landroid/os/IVoldTaskListener;)V
-Landroid/os/IVold$Stub$Proxy;->checkEncryption(Ljava/lang/String;)V
-Landroid/os/IVold$Stub$Proxy;->createObb(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
-Landroid/os/IVold$Stub$Proxy;->createUserKey(IIZ)V
-Landroid/os/IVold$Stub$Proxy;->destroyObb(Ljava/lang/String;)V
-Landroid/os/IVold$Stub$Proxy;->destroyUserKey(I)V
-Landroid/os/IVold$Stub$Proxy;->destroyUserStorage(Ljava/lang/String;II)V
-Landroid/os/IVold$Stub$Proxy;->encryptFstab(Ljava/lang/String;)V
-Landroid/os/IVold$Stub$Proxy;->fbeEnable()V
-Landroid/os/IVold$Stub$Proxy;->fdeChangePassword(ILjava/lang/String;)V
-Landroid/os/IVold$Stub$Proxy;->fdeCheckPassword(Ljava/lang/String;)V
-Landroid/os/IVold$Stub$Proxy;->fdeClearPassword()V
-Landroid/os/IVold$Stub$Proxy;->fdeComplete()I
-Landroid/os/IVold$Stub$Proxy;->fdeEnable(ILjava/lang/String;I)V
-Landroid/os/IVold$Stub$Proxy;->fdeGetField(Ljava/lang/String;)Ljava/lang/String;
-Landroid/os/IVold$Stub$Proxy;->fdeGetPassword()Ljava/lang/String;
-Landroid/os/IVold$Stub$Proxy;->fdeGetPasswordType()I
-Landroid/os/IVold$Stub$Proxy;->fdeRestart()V
-Landroid/os/IVold$Stub$Proxy;->fdeSetField(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IVold$Stub$Proxy;->fdeVerifyPassword(Ljava/lang/String;)V
-Landroid/os/IVold$Stub$Proxy;->fixateNewestUserKeyAuth(I)V
-Landroid/os/IVold$Stub$Proxy;->forgetPartition(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IVold$Stub$Proxy;->format(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IVold$Stub$Proxy;->fstrim(ILandroid/os/IVoldTaskListener;)V
-Landroid/os/IVold$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IVold$Stub$Proxy;->initUser0()V
-Landroid/os/IVold$Stub$Proxy;->isConvertibleToFbe()Z
-Landroid/os/IVold$Stub$Proxy;->lockUserKey(I)V
-Landroid/os/IVold$Stub$Proxy;->mkdirs(Ljava/lang/String;)V
-Landroid/os/IVold$Stub$Proxy;->monitor()V
-Landroid/os/IVold$Stub$Proxy;->mount(Ljava/lang/String;II)V
-Landroid/os/IVold$Stub$Proxy;->mountAppFuse(III)Ljava/io/FileDescriptor;
-Landroid/os/IVold$Stub$Proxy;->mountDefaultEncrypted()V
-Landroid/os/IVold$Stub$Proxy;->mountFstab(Ljava/lang/String;)V
-Landroid/os/IVold$Stub$Proxy;->moveStorage(Ljava/lang/String;Ljava/lang/String;Landroid/os/IVoldTaskListener;)V
-Landroid/os/IVold$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IVold$Stub$Proxy;->onSecureKeyguardStateChanged(Z)V
-Landroid/os/IVold$Stub$Proxy;->onUserAdded(II)V
-Landroid/os/IVold$Stub$Proxy;->onUserRemoved(I)V
-Landroid/os/IVold$Stub$Proxy;->onUserStarted(I)V
-Landroid/os/IVold$Stub$Proxy;->onUserStopped(I)V
-Landroid/os/IVold$Stub$Proxy;->partition(Ljava/lang/String;II)V
-Landroid/os/IVold$Stub$Proxy;->prepareUserStorage(Ljava/lang/String;III)V
-Landroid/os/IVold$Stub$Proxy;->remountUid(II)V
-Landroid/os/IVold$Stub$Proxy;->reset()V
-Landroid/os/IVold$Stub$Proxy;->runIdleMaint(Landroid/os/IVoldTaskListener;)V
-Landroid/os/IVold$Stub$Proxy;->setListener(Landroid/os/IVoldListener;)V
-Landroid/os/IVold$Stub$Proxy;->shutdown()V
-Landroid/os/IVold$Stub$Proxy;->unlockUserKey(IILjava/lang/String;Ljava/lang/String;)V
-Landroid/os/IVold$Stub$Proxy;->unmount(Ljava/lang/String;)V
-Landroid/os/IVold$Stub$Proxy;->unmountAppFuse(III)V
-Landroid/os/IVold$Stub;
-Landroid/os/IVold$Stub;-><init>()V
-Landroid/os/IVold$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IVold;
-Landroid/os/IVold$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IVold$Stub;->TRANSACTION_abortIdleMaint:I
-Landroid/os/IVold$Stub;->TRANSACTION_addUserKeyAuth:I
-Landroid/os/IVold$Stub;->TRANSACTION_benchmark:I
-Landroid/os/IVold$Stub;->TRANSACTION_checkEncryption:I
-Landroid/os/IVold$Stub;->TRANSACTION_createObb:I
-Landroid/os/IVold$Stub;->TRANSACTION_createUserKey:I
-Landroid/os/IVold$Stub;->TRANSACTION_destroyObb:I
-Landroid/os/IVold$Stub;->TRANSACTION_destroyUserKey:I
-Landroid/os/IVold$Stub;->TRANSACTION_destroyUserStorage:I
-Landroid/os/IVold$Stub;->TRANSACTION_encryptFstab:I
-Landroid/os/IVold$Stub;->TRANSACTION_fbeEnable:I
-Landroid/os/IVold$Stub;->TRANSACTION_fdeChangePassword:I
-Landroid/os/IVold$Stub;->TRANSACTION_fdeCheckPassword:I
-Landroid/os/IVold$Stub;->TRANSACTION_fdeClearPassword:I
-Landroid/os/IVold$Stub;->TRANSACTION_fdeComplete:I
-Landroid/os/IVold$Stub;->TRANSACTION_fdeEnable:I
-Landroid/os/IVold$Stub;->TRANSACTION_fdeGetField:I
-Landroid/os/IVold$Stub;->TRANSACTION_fdeGetPassword:I
-Landroid/os/IVold$Stub;->TRANSACTION_fdeGetPasswordType:I
-Landroid/os/IVold$Stub;->TRANSACTION_fdeRestart:I
-Landroid/os/IVold$Stub;->TRANSACTION_fdeSetField:I
-Landroid/os/IVold$Stub;->TRANSACTION_fdeVerifyPassword:I
-Landroid/os/IVold$Stub;->TRANSACTION_fixateNewestUserKeyAuth:I
-Landroid/os/IVold$Stub;->TRANSACTION_forgetPartition:I
-Landroid/os/IVold$Stub;->TRANSACTION_format:I
-Landroid/os/IVold$Stub;->TRANSACTION_fstrim:I
-Landroid/os/IVold$Stub;->TRANSACTION_initUser0:I
-Landroid/os/IVold$Stub;->TRANSACTION_isConvertibleToFbe:I
-Landroid/os/IVold$Stub;->TRANSACTION_lockUserKey:I
-Landroid/os/IVold$Stub;->TRANSACTION_mkdirs:I
-Landroid/os/IVold$Stub;->TRANSACTION_monitor:I
-Landroid/os/IVold$Stub;->TRANSACTION_mount:I
-Landroid/os/IVold$Stub;->TRANSACTION_mountAppFuse:I
-Landroid/os/IVold$Stub;->TRANSACTION_mountDefaultEncrypted:I
-Landroid/os/IVold$Stub;->TRANSACTION_mountFstab:I
-Landroid/os/IVold$Stub;->TRANSACTION_moveStorage:I
-Landroid/os/IVold$Stub;->TRANSACTION_onSecureKeyguardStateChanged:I
-Landroid/os/IVold$Stub;->TRANSACTION_onUserAdded:I
-Landroid/os/IVold$Stub;->TRANSACTION_onUserRemoved:I
-Landroid/os/IVold$Stub;->TRANSACTION_onUserStarted:I
-Landroid/os/IVold$Stub;->TRANSACTION_onUserStopped:I
-Landroid/os/IVold$Stub;->TRANSACTION_partition:I
-Landroid/os/IVold$Stub;->TRANSACTION_prepareUserStorage:I
-Landroid/os/IVold$Stub;->TRANSACTION_remountUid:I
-Landroid/os/IVold$Stub;->TRANSACTION_reset:I
-Landroid/os/IVold$Stub;->TRANSACTION_runIdleMaint:I
-Landroid/os/IVold$Stub;->TRANSACTION_setListener:I
-Landroid/os/IVold$Stub;->TRANSACTION_shutdown:I
-Landroid/os/IVold$Stub;->TRANSACTION_unlockUserKey:I
-Landroid/os/IVold$Stub;->TRANSACTION_unmount:I
-Landroid/os/IVold$Stub;->TRANSACTION_unmountAppFuse:I
-Landroid/os/IVold;
-Landroid/os/IVold;->abortIdleMaint(Landroid/os/IVoldTaskListener;)V
-Landroid/os/IVold;->addUserKeyAuth(IILjava/lang/String;Ljava/lang/String;)V
-Landroid/os/IVold;->benchmark(Ljava/lang/String;Landroid/os/IVoldTaskListener;)V
-Landroid/os/IVold;->checkEncryption(Ljava/lang/String;)V
-Landroid/os/IVold;->createObb(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
-Landroid/os/IVold;->createUserKey(IIZ)V
-Landroid/os/IVold;->destroyObb(Ljava/lang/String;)V
-Landroid/os/IVold;->destroyUserKey(I)V
-Landroid/os/IVold;->destroyUserStorage(Ljava/lang/String;II)V
-Landroid/os/IVold;->encryptFstab(Ljava/lang/String;)V
-Landroid/os/IVold;->ENCRYPTION_FLAG_NO_UI:I
-Landroid/os/IVold;->ENCRYPTION_STATE_ERROR_CORRUPT:I
-Landroid/os/IVold;->ENCRYPTION_STATE_ERROR_INCOMPLETE:I
-Landroid/os/IVold;->ENCRYPTION_STATE_ERROR_INCONSISTENT:I
-Landroid/os/IVold;->ENCRYPTION_STATE_ERROR_UNKNOWN:I
-Landroid/os/IVold;->ENCRYPTION_STATE_NONE:I
-Landroid/os/IVold;->ENCRYPTION_STATE_OK:I
-Landroid/os/IVold;->fbeEnable()V
-Landroid/os/IVold;->fdeChangePassword(ILjava/lang/String;)V
-Landroid/os/IVold;->fdeCheckPassword(Ljava/lang/String;)V
-Landroid/os/IVold;->fdeClearPassword()V
-Landroid/os/IVold;->fdeComplete()I
-Landroid/os/IVold;->fdeEnable(ILjava/lang/String;I)V
-Landroid/os/IVold;->fdeGetField(Ljava/lang/String;)Ljava/lang/String;
-Landroid/os/IVold;->fdeGetPassword()Ljava/lang/String;
-Landroid/os/IVold;->fdeGetPasswordType()I
-Landroid/os/IVold;->fdeRestart()V
-Landroid/os/IVold;->fdeSetField(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IVold;->fdeVerifyPassword(Ljava/lang/String;)V
-Landroid/os/IVold;->fixateNewestUserKeyAuth(I)V
-Landroid/os/IVold;->forgetPartition(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IVold;->format(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IVold;->fstrim(ILandroid/os/IVoldTaskListener;)V
-Landroid/os/IVold;->FSTRIM_FLAG_DEEP_TRIM:I
-Landroid/os/IVold;->initUser0()V
-Landroid/os/IVold;->isConvertibleToFbe()Z
-Landroid/os/IVold;->lockUserKey(I)V
-Landroid/os/IVold;->mkdirs(Ljava/lang/String;)V
-Landroid/os/IVold;->monitor()V
-Landroid/os/IVold;->mount(Ljava/lang/String;II)V
-Landroid/os/IVold;->mountAppFuse(III)Ljava/io/FileDescriptor;
-Landroid/os/IVold;->mountDefaultEncrypted()V
-Landroid/os/IVold;->mountFstab(Ljava/lang/String;)V
-Landroid/os/IVold;->MOUNT_FLAG_PRIMARY:I
-Landroid/os/IVold;->MOUNT_FLAG_VISIBLE:I
-Landroid/os/IVold;->moveStorage(Ljava/lang/String;Ljava/lang/String;Landroid/os/IVoldTaskListener;)V
-Landroid/os/IVold;->onSecureKeyguardStateChanged(Z)V
-Landroid/os/IVold;->onUserAdded(II)V
-Landroid/os/IVold;->onUserRemoved(I)V
-Landroid/os/IVold;->onUserStarted(I)V
-Landroid/os/IVold;->onUserStopped(I)V
-Landroid/os/IVold;->partition(Ljava/lang/String;II)V
-Landroid/os/IVold;->PARTITION_TYPE_MIXED:I
-Landroid/os/IVold;->PARTITION_TYPE_PRIVATE:I
-Landroid/os/IVold;->PARTITION_TYPE_PUBLIC:I
-Landroid/os/IVold;->PASSWORD_TYPE_DEFAULT:I
-Landroid/os/IVold;->PASSWORD_TYPE_PASSWORD:I
-Landroid/os/IVold;->PASSWORD_TYPE_PATTERN:I
-Landroid/os/IVold;->PASSWORD_TYPE_PIN:I
-Landroid/os/IVold;->prepareUserStorage(Ljava/lang/String;III)V
-Landroid/os/IVold;->remountUid(II)V
-Landroid/os/IVold;->REMOUNT_MODE_DEFAULT:I
-Landroid/os/IVold;->REMOUNT_MODE_NONE:I
-Landroid/os/IVold;->REMOUNT_MODE_READ:I
-Landroid/os/IVold;->REMOUNT_MODE_WRITE:I
-Landroid/os/IVold;->reset()V
-Landroid/os/IVold;->runIdleMaint(Landroid/os/IVoldTaskListener;)V
-Landroid/os/IVold;->setListener(Landroid/os/IVoldListener;)V
-Landroid/os/IVold;->shutdown()V
-Landroid/os/IVold;->STORAGE_FLAG_CE:I
-Landroid/os/IVold;->STORAGE_FLAG_DE:I
-Landroid/os/IVold;->unlockUserKey(IILjava/lang/String;Ljava/lang/String;)V
-Landroid/os/IVold;->unmount(Ljava/lang/String;)V
-Landroid/os/IVold;->unmountAppFuse(III)V
-Landroid/os/IVold;->VOLUME_STATE_BAD_REMOVAL:I
-Landroid/os/IVold;->VOLUME_STATE_CHECKING:I
-Landroid/os/IVold;->VOLUME_STATE_EJECTING:I
-Landroid/os/IVold;->VOLUME_STATE_FORMATTING:I
-Landroid/os/IVold;->VOLUME_STATE_MOUNTED:I
-Landroid/os/IVold;->VOLUME_STATE_MOUNTED_READ_ONLY:I
-Landroid/os/IVold;->VOLUME_STATE_REMOVED:I
-Landroid/os/IVold;->VOLUME_STATE_UNMOUNTABLE:I
-Landroid/os/IVold;->VOLUME_STATE_UNMOUNTED:I
-Landroid/os/IVold;->VOLUME_TYPE_ASEC:I
-Landroid/os/IVold;->VOLUME_TYPE_EMULATED:I
-Landroid/os/IVold;->VOLUME_TYPE_OBB:I
-Landroid/os/IVold;->VOLUME_TYPE_PRIVATE:I
-Landroid/os/IVold;->VOLUME_TYPE_PUBLIC:I
-Landroid/os/IVoldListener$Stub$Proxy;
-Landroid/os/IVoldListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IVoldListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IVoldListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IVoldListener$Stub$Proxy;->onDiskCreated(Ljava/lang/String;I)V
-Landroid/os/IVoldListener$Stub$Proxy;->onDiskDestroyed(Ljava/lang/String;)V
-Landroid/os/IVoldListener$Stub$Proxy;->onDiskMetadataChanged(Ljava/lang/String;JLjava/lang/String;Ljava/lang/String;)V
-Landroid/os/IVoldListener$Stub$Proxy;->onDiskScanned(Ljava/lang/String;)V
-Landroid/os/IVoldListener$Stub$Proxy;->onVolumeCreated(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
-Landroid/os/IVoldListener$Stub$Proxy;->onVolumeDestroyed(Ljava/lang/String;)V
-Landroid/os/IVoldListener$Stub$Proxy;->onVolumeInternalPathChanged(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IVoldListener$Stub$Proxy;->onVolumeMetadataChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IVoldListener$Stub$Proxy;->onVolumePathChanged(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IVoldListener$Stub$Proxy;->onVolumeStateChanged(Ljava/lang/String;I)V
-Landroid/os/IVoldListener$Stub;
-Landroid/os/IVoldListener$Stub;-><init>()V
-Landroid/os/IVoldListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IVoldListener;
-Landroid/os/IVoldListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IVoldListener$Stub;->TRANSACTION_onDiskCreated:I
-Landroid/os/IVoldListener$Stub;->TRANSACTION_onDiskDestroyed:I
-Landroid/os/IVoldListener$Stub;->TRANSACTION_onDiskMetadataChanged:I
-Landroid/os/IVoldListener$Stub;->TRANSACTION_onDiskScanned:I
-Landroid/os/IVoldListener$Stub;->TRANSACTION_onVolumeCreated:I
-Landroid/os/IVoldListener$Stub;->TRANSACTION_onVolumeDestroyed:I
-Landroid/os/IVoldListener$Stub;->TRANSACTION_onVolumeInternalPathChanged:I
-Landroid/os/IVoldListener$Stub;->TRANSACTION_onVolumeMetadataChanged:I
-Landroid/os/IVoldListener$Stub;->TRANSACTION_onVolumePathChanged:I
-Landroid/os/IVoldListener$Stub;->TRANSACTION_onVolumeStateChanged:I
-Landroid/os/IVoldListener;
-Landroid/os/IVoldListener;->onDiskCreated(Ljava/lang/String;I)V
-Landroid/os/IVoldListener;->onDiskDestroyed(Ljava/lang/String;)V
-Landroid/os/IVoldListener;->onDiskMetadataChanged(Ljava/lang/String;JLjava/lang/String;Ljava/lang/String;)V
-Landroid/os/IVoldListener;->onDiskScanned(Ljava/lang/String;)V
-Landroid/os/IVoldListener;->onVolumeCreated(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
-Landroid/os/IVoldListener;->onVolumeDestroyed(Ljava/lang/String;)V
-Landroid/os/IVoldListener;->onVolumeInternalPathChanged(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IVoldListener;->onVolumeMetadataChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IVoldListener;->onVolumePathChanged(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/IVoldListener;->onVolumeStateChanged(Ljava/lang/String;I)V
-Landroid/os/IVoldTaskListener$Stub$Proxy;
-Landroid/os/IVoldTaskListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IVoldTaskListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/IVoldTaskListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/IVoldTaskListener$Stub$Proxy;->onFinished(ILandroid/os/PersistableBundle;)V
-Landroid/os/IVoldTaskListener$Stub$Proxy;->onStatus(ILandroid/os/PersistableBundle;)V
-Landroid/os/IVoldTaskListener$Stub;
-Landroid/os/IVoldTaskListener$Stub;-><init>()V
-Landroid/os/IVoldTaskListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IVoldTaskListener;
-Landroid/os/IVoldTaskListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/IVoldTaskListener$Stub;->TRANSACTION_onFinished:I
-Landroid/os/IVoldTaskListener$Stub;->TRANSACTION_onStatus:I
-Landroid/os/IVoldTaskListener;
-Landroid/os/IVoldTaskListener;->onFinished(ILandroid/os/PersistableBundle;)V
-Landroid/os/IVoldTaskListener;->onStatus(ILandroid/os/PersistableBundle;)V
-Landroid/os/KernelWakeSourcesProto$WakeupSource;
-Landroid/os/KernelWakeSourcesProto$WakeupSource;-><init>()V
-Landroid/os/KernelWakeSourcesProto$WakeupSource;->ACTIVE_COUNT:J
-Landroid/os/KernelWakeSourcesProto$WakeupSource;->ACTIVE_SINCE:J
-Landroid/os/KernelWakeSourcesProto$WakeupSource;->EVENT_COUNT:J
-Landroid/os/KernelWakeSourcesProto$WakeupSource;->EXPIRE_COUNT:J
-Landroid/os/KernelWakeSourcesProto$WakeupSource;->LAST_CHANGE:J
-Landroid/os/KernelWakeSourcesProto$WakeupSource;->MAX_TIME:J
-Landroid/os/KernelWakeSourcesProto$WakeupSource;->NAME:J
-Landroid/os/KernelWakeSourcesProto$WakeupSource;->PREVENT_SUSPEND_TIME:J
-Landroid/os/KernelWakeSourcesProto$WakeupSource;->TOTAL_TIME:J
-Landroid/os/KernelWakeSourcesProto$WakeupSource;->WAKEUP_COUNT:J
-Landroid/os/KernelWakeSourcesProto;
-Landroid/os/KernelWakeSourcesProto;-><init>()V
-Landroid/os/KernelWakeSourcesProto;->WAKEUP_SOURCES:J
-Landroid/os/LocaleList;-><init>(Ljava/util/Locale;Landroid/os/LocaleList;)V
-Landroid/os/LocaleList;->computeFirstMatch(Ljava/util/Collection;Z)Ljava/util/Locale;
-Landroid/os/LocaleList;->computeFirstMatchIndex(Ljava/util/Collection;Z)I
-Landroid/os/LocaleList;->EN_LATN:Ljava/util/Locale;
-Landroid/os/LocaleList;->findFirstMatchIndex(Ljava/util/Locale;)I
-Landroid/os/LocaleList;->getFirstMatchIndex([Ljava/lang/String;)I
-Landroid/os/LocaleList;->getFirstMatchIndexWithEnglishSupported(Ljava/util/Collection;)I
-Landroid/os/LocaleList;->getFirstMatchIndexWithEnglishSupported([Ljava/lang/String;)I
-Landroid/os/LocaleList;->getFirstMatchWithEnglishSupported([Ljava/lang/String;)Ljava/util/Locale;
-Landroid/os/LocaleList;->getLikelyScript(Ljava/util/Locale;)Ljava/lang/String;
-Landroid/os/LocaleList;->isPseudoLocale(Ljava/lang/String;)Z
-Landroid/os/LocaleList;->isPseudoLocale(Ljava/util/Locale;)Z
-Landroid/os/LocaleList;->isPseudoLocalesOnly([Ljava/lang/String;)Z
-Landroid/os/LocaleList;->LOCALE_AR_XB:Ljava/util/Locale;
-Landroid/os/LocaleList;->LOCALE_EN_XA:Ljava/util/Locale;
-Landroid/os/LocaleList;->matchScore(Ljava/util/Locale;Ljava/util/Locale;)I
-Landroid/os/LocaleList;->mList:[Ljava/util/Locale;
-Landroid/os/LocaleList;->mStringRepresentation:Ljava/lang/String;
-Landroid/os/LocaleList;->NUM_PSEUDO_LOCALES:I
-Landroid/os/LocaleList;->sDefaultAdjustedLocaleList:Landroid/os/LocaleList;
-Landroid/os/LocaleList;->sDefaultLocaleList:Landroid/os/LocaleList;
-Landroid/os/LocaleList;->sEmptyList:[Ljava/util/Locale;
-Landroid/os/LocaleList;->sEmptyLocaleList:Landroid/os/LocaleList;
-Landroid/os/LocaleList;->sLastDefaultLocale:Ljava/util/Locale;
-Landroid/os/LocaleList;->sLastExplicitlySetLocaleList:Landroid/os/LocaleList;
-Landroid/os/LocaleList;->sLock:Ljava/lang/Object;
-Landroid/os/LocaleList;->STRING_AR_XB:Ljava/lang/String;
-Landroid/os/LocaleList;->STRING_EN_XA:Ljava/lang/String;
-Landroid/os/LocaleList;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/os/Looper;-><init>(Z)V
-Landroid/os/Looper;->dump(Landroid/util/Printer;Ljava/lang/String;Landroid/os/Handler;)V
-Landroid/os/Looper;->mSlowDeliveryThresholdMs:J
-Landroid/os/Looper;->mSlowDispatchThresholdMs:J
-Landroid/os/Looper;->mThread:Ljava/lang/Thread;
-Landroid/os/Looper;->mTraceTag:J
-Landroid/os/Looper;->prepare(Z)V
-Landroid/os/Looper;->setSlowLogThresholdMs(JJ)V
-Landroid/os/Looper;->showSlowLog(JJJLjava/lang/String;Landroid/os/Message;)Z
-Landroid/os/Looper;->TAG:Ljava/lang/String;
-Landroid/os/Looper;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/os/LooperProto;
-Landroid/os/LooperProto;-><init>()V
-Landroid/os/LooperProto;->QUEUE:J
-Landroid/os/LooperProto;->THREAD_ID:J
-Landroid/os/LooperProto;->THREAD_NAME:J
-Landroid/os/MemoryFile$MemoryInputStream;
-Landroid/os/MemoryFile$MemoryInputStream;-><init>()V
-Landroid/os/MemoryFile$MemoryInputStream;->mMark:I
-Landroid/os/MemoryFile$MemoryInputStream;->mOffset:I
-Landroid/os/MemoryFile$MemoryInputStream;->mSingleByte:[B
-Landroid/os/MemoryFile$MemoryOutputStream;
-Landroid/os/MemoryFile$MemoryOutputStream;-><init>()V
-Landroid/os/MemoryFile$MemoryOutputStream;->mOffset:I
-Landroid/os/MemoryFile$MemoryOutputStream;->mSingleByte:[B
-Landroid/os/MemoryFile;->beginAccess()V
-Landroid/os/MemoryFile;->checkActive()V
-Landroid/os/MemoryFile;->endAccess()V
-Landroid/os/MemoryFile;->mAllowPurging:Z
-Landroid/os/MemoryFile;->mMapping:Ljava/nio/ByteBuffer;
-Landroid/os/MemoryFile;->mSharedMemory:Landroid/os/SharedMemory;
-Landroid/os/MemoryFile;->TAG:Ljava/lang/String;
-Landroid/os/Message;->data:Landroid/os/Bundle;
-Landroid/os/Message;->FLAGS_TO_CLEAR_ON_COPY_FROM:I
-Landroid/os/Message;->FLAG_ASYNCHRONOUS:I
-Landroid/os/Message;->FLAG_IN_USE:I
-Landroid/os/Message;->gCheckRecycle:Z
-Landroid/os/Message;->isInUse()Z
-Landroid/os/Message;->MAX_POOL_SIZE:I
-Landroid/os/Message;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/os/Message;->setWhat(I)Landroid/os/Message;
-Landroid/os/Message;->sPool:Landroid/os/Message;
-Landroid/os/Message;->sPoolSize:I
-Landroid/os/Message;->sPoolSync:Ljava/lang/Object;
-Landroid/os/Message;->updateCheckRecycle(I)V
-Landroid/os/Message;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/os/MessageProto;
-Landroid/os/MessageProto;-><init>()V
-Landroid/os/MessageProto;->ARG1:J
-Landroid/os/MessageProto;->ARG2:J
-Landroid/os/MessageProto;->BARRIER:J
-Landroid/os/MessageProto;->CALLBACK:J
-Landroid/os/MessageProto;->OBJ:J
-Landroid/os/MessageProto;->TARGET:J
-Landroid/os/MessageProto;->WHAT:J
-Landroid/os/MessageProto;->WHEN:J
-Landroid/os/MessageQueue$FileDescriptorRecord;
-Landroid/os/MessageQueue$FileDescriptorRecord;-><init>(Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V
-Landroid/os/MessageQueue$FileDescriptorRecord;->mDescriptor:Ljava/io/FileDescriptor;
-Landroid/os/MessageQueue$FileDescriptorRecord;->mEvents:I
-Landroid/os/MessageQueue$FileDescriptorRecord;->mListener:Landroid/os/MessageQueue$OnFileDescriptorEventListener;
-Landroid/os/MessageQueue$FileDescriptorRecord;->mSeq:I
-Landroid/os/MessageQueue$OnFileDescriptorEventListener$Events;
-Landroid/os/MessageQueue;-><init>(Z)V
-Landroid/os/MessageQueue;->DEBUG:Z
-Landroid/os/MessageQueue;->dispose()V
-Landroid/os/MessageQueue;->dump(Landroid/util/Printer;Ljava/lang/String;Landroid/os/Handler;)V
-Landroid/os/MessageQueue;->enqueueMessage(Landroid/os/Message;J)Z
-Landroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;)Z
-Landroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;ILjava/lang/Object;)Z
-Landroid/os/MessageQueue;->isPolling()Z
-Landroid/os/MessageQueue;->isPollingLocked()Z
-Landroid/os/MessageQueue;->mBlocked:Z
-Landroid/os/MessageQueue;->mFileDescriptorRecords:Landroid/util/SparseArray;
-Landroid/os/MessageQueue;->mPendingIdleHandlers:[Landroid/os/MessageQueue$IdleHandler;
-Landroid/os/MessageQueue;->mQuitting:Z
-Landroid/os/MessageQueue;->nativeDestroy(J)V
-Landroid/os/MessageQueue;->nativeInit()J
-Landroid/os/MessageQueue;->nativeIsPolling(J)Z
-Landroid/os/MessageQueue;->nativeSetFileDescriptorEvents(JII)V
-Landroid/os/MessageQueue;->nativeWake(J)V
-Landroid/os/MessageQueue;->postSyncBarrier(J)I
-Landroid/os/MessageQueue;->quit(Z)V
-Landroid/os/MessageQueue;->removeAllFutureMessagesLocked()V
-Landroid/os/MessageQueue;->removeAllMessagesLocked()V
-Landroid/os/MessageQueue;->removeCallbacksAndMessages(Landroid/os/Handler;Ljava/lang/Object;)V
-Landroid/os/MessageQueue;->removeMessages(Landroid/os/Handler;ILjava/lang/Object;)V
-Landroid/os/MessageQueue;->removeMessages(Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/Object;)V
-Landroid/os/MessageQueue;->TAG:Ljava/lang/String;
-Landroid/os/MessageQueue;->updateOnFileDescriptorEventListenerLocked(Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V
-Landroid/os/MessageQueue;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/os/MessageQueueProto;
-Landroid/os/MessageQueueProto;-><init>()V
-Landroid/os/MessageQueueProto;->IS_POLLING_LOCKED:J
-Landroid/os/MessageQueueProto;->IS_QUITTING:J
-Landroid/os/MessageQueueProto;->MESSAGES:J
-Landroid/os/Messenger;->mTarget:Landroid/os/IMessenger;
-Landroid/os/NullVibrator;
-Landroid/os/NullVibrator;-><init>()V
-Landroid/os/NullVibrator;->getInstance()Landroid/os/NullVibrator;
-Landroid/os/NullVibrator;->sInstance:Landroid/os/NullVibrator;
-Landroid/os/NullVibrator;->vibrate(ILjava/lang/String;Landroid/os/VibrationEffect;Landroid/media/AudioAttributes;)V
-Landroid/os/OsProtoEnums;
-Landroid/os/OsProtoEnums;-><init>()V
-Landroid/os/OsProtoEnums;->BATTERY_HEALTH_COLD:I
-Landroid/os/OsProtoEnums;->BATTERY_HEALTH_DEAD:I
-Landroid/os/OsProtoEnums;->BATTERY_HEALTH_GOOD:I
-Landroid/os/OsProtoEnums;->BATTERY_HEALTH_INVALID:I
-Landroid/os/OsProtoEnums;->BATTERY_HEALTH_OVERHEAT:I
-Landroid/os/OsProtoEnums;->BATTERY_HEALTH_OVER_VOLTAGE:I
-Landroid/os/OsProtoEnums;->BATTERY_HEALTH_UNKNOWN:I
-Landroid/os/OsProtoEnums;->BATTERY_HEALTH_UNSPECIFIED_FAILURE:I
-Landroid/os/OsProtoEnums;->BATTERY_PLUGGED_AC:I
-Landroid/os/OsProtoEnums;->BATTERY_PLUGGED_NONE:I
-Landroid/os/OsProtoEnums;->BATTERY_PLUGGED_USB:I
-Landroid/os/OsProtoEnums;->BATTERY_PLUGGED_WIRELESS:I
-Landroid/os/OsProtoEnums;->BATTERY_STATUS_CHARGING:I
-Landroid/os/OsProtoEnums;->BATTERY_STATUS_DISCHARGING:I
-Landroid/os/OsProtoEnums;->BATTERY_STATUS_FULL:I
-Landroid/os/OsProtoEnums;->BATTERY_STATUS_INVALID:I
-Landroid/os/OsProtoEnums;->BATTERY_STATUS_NOT_CHARGING:I
-Landroid/os/OsProtoEnums;->BATTERY_STATUS_UNKNOWN:I
-Landroid/os/OsProtoEnums;->DOZE_WAKE_LOCK:I
-Landroid/os/OsProtoEnums;->DRAW_WAKE_LOCK:I
-Landroid/os/OsProtoEnums;->FULL_WAKE_LOCK:I
-Landroid/os/OsProtoEnums;->PARTIAL_WAKE_LOCK:I
-Landroid/os/OsProtoEnums;->PROXIMITY_SCREEN_OFF_WAKE_LOCK:I
-Landroid/os/OsProtoEnums;->SCREEN_BRIGHT_WAKE_LOCK:I
-Landroid/os/OsProtoEnums;->SCREEN_DIM_WAKE_LOCK:I
-Landroid/os/OsProtoEnums;->TEMPERATURE_TYPE_BATTERY:I
-Landroid/os/OsProtoEnums;->TEMPERATURE_TYPE_CPU:I
-Landroid/os/OsProtoEnums;->TEMPERATURE_TYPE_GPU:I
-Landroid/os/OsProtoEnums;->TEMPERATURE_TYPE_SKIN:I
-Landroid/os/OsProtoEnums;->TEMPERATURE_TYPE_UNKNOWN:I
-Landroid/os/PageTypeInfoProto$Block;
-Landroid/os/PageTypeInfoProto$Block;-><init>()V
-Landroid/os/PageTypeInfoProto$Block;->CMA:J
-Landroid/os/PageTypeInfoProto$Block;->HIGHATOMIC:J
-Landroid/os/PageTypeInfoProto$Block;->ISOLATE:J
-Landroid/os/PageTypeInfoProto$Block;->MOVABLE:J
-Landroid/os/PageTypeInfoProto$Block;->NODE:J
-Landroid/os/PageTypeInfoProto$Block;->RECLAIMABLE:J
-Landroid/os/PageTypeInfoProto$Block;->RESERVE:J
-Landroid/os/PageTypeInfoProto$Block;->UNMOVABLE:J
-Landroid/os/PageTypeInfoProto$Block;->ZONE:J
-Landroid/os/PageTypeInfoProto$MigrateType;
-Landroid/os/PageTypeInfoProto$MigrateType;-><init>()V
-Landroid/os/PageTypeInfoProto$MigrateType;->FREE_PAGES_COUNT:J
-Landroid/os/PageTypeInfoProto$MigrateType;->NODE:J
-Landroid/os/PageTypeInfoProto$MigrateType;->TYPE:J
-Landroid/os/PageTypeInfoProto$MigrateType;->ZONE:J
-Landroid/os/PageTypeInfoProto;
-Landroid/os/PageTypeInfoProto;-><init>()V
-Landroid/os/PageTypeInfoProto;->BLOCKS:J
-Landroid/os/PageTypeInfoProto;->MIGRATE_TYPES:J
-Landroid/os/PageTypeInfoProto;->PAGES_PER_BLOCK:J
-Landroid/os/PageTypeInfoProto;->PAGE_BLOCK_ORDER:J
-Landroid/os/Parcel$ReadWriteHelper;
-Landroid/os/Parcel$ReadWriteHelper;->DEFAULT:Landroid/os/Parcel$ReadWriteHelper;
-Landroid/os/Parcel$ReadWriteHelper;->readString(Landroid/os/Parcel;)Ljava/lang/String;
-Landroid/os/Parcel$ReadWriteHelper;->writeString(Landroid/os/Parcel;Ljava/lang/String;)V
-Landroid/os/Parcel;-><init>(J)V
-Landroid/os/Parcel;->adoptClassCookies(Landroid/os/Parcel;)V
-Landroid/os/Parcel;->closeFileDescriptor(Ljava/io/FileDescriptor;)V
-Landroid/os/Parcel;->compareData(Landroid/os/Parcel;)I
-Landroid/os/Parcel;->copyClassCookies()Ljava/util/Map;
-Landroid/os/Parcel;->createException(ILjava/lang/String;)Ljava/lang/Exception;
-Landroid/os/Parcel;->createRawFileDescriptorArray()[Ljava/io/FileDescriptor;
-Landroid/os/Parcel;->DEBUG_ARRAY_MAP:Z
-Landroid/os/Parcel;->DEBUG_RECYCLE:Z
-Landroid/os/Parcel;->destroy()V
-Landroid/os/Parcel;->dupFileDescriptor(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
-Landroid/os/Parcel;->EX_BAD_PARCELABLE:I
-Landroid/os/Parcel;->EX_HAS_REPLY_HEADER:I
-Landroid/os/Parcel;->EX_ILLEGAL_ARGUMENT:I
-Landroid/os/Parcel;->EX_ILLEGAL_STATE:I
-Landroid/os/Parcel;->EX_NETWORK_MAIN_THREAD:I
-Landroid/os/Parcel;->EX_NULL_POINTER:I
-Landroid/os/Parcel;->EX_PARCELABLE:I
-Landroid/os/Parcel;->EX_SECURITY:I
-Landroid/os/Parcel;->EX_SERVICE_SPECIFIC:I
-Landroid/os/Parcel;->EX_TRANSACTION_FAILED:I
-Landroid/os/Parcel;->EX_UNSUPPORTED_OPERATION:I
-Landroid/os/Parcel;->freeBuffer()V
-Landroid/os/Parcel;->getBlobAshmemSize()J
-Landroid/os/Parcel;->getClassCookie(Ljava/lang/Class;)Ljava/lang/Object;
-Landroid/os/Parcel;->hasReadWriteHelper()Z
-Landroid/os/Parcel;->init(J)V
-Landroid/os/Parcel;->mClassCookies:Landroid/util/ArrayMap;
-Landroid/os/Parcel;->mNativeSize:J
-Landroid/os/Parcel;->mOwnsNativeParcelObject:Z
-Landroid/os/Parcel;->mReadWriteHelper:Landroid/os/Parcel$ReadWriteHelper;
-Landroid/os/Parcel;->mStack:Ljava/lang/RuntimeException;
-Landroid/os/Parcel;->nativeAppendFrom(JJII)J
-Landroid/os/Parcel;->nativeCompareData(JJ)I
-Landroid/os/Parcel;->nativeCreate()J
-Landroid/os/Parcel;->nativeCreateByteArray(J)[B
-Landroid/os/Parcel;->nativeDataAvail(J)I
-Landroid/os/Parcel;->nativeDataCapacity(J)I
-Landroid/os/Parcel;->nativeDataPosition(J)I
-Landroid/os/Parcel;->nativeDataSize(J)I
-Landroid/os/Parcel;->nativeDestroy(J)V
-Landroid/os/Parcel;->nativeEnforceInterface(JLjava/lang/String;)V
-Landroid/os/Parcel;->nativeFreeBuffer(J)J
-Landroid/os/Parcel;->nativeGetBlobAshmemSize(J)J
-Landroid/os/Parcel;->nativeHasFileDescriptors(J)Z
-Landroid/os/Parcel;->nativeMarshall(J)[B
-Landroid/os/Parcel;->nativePushAllowFds(JZ)Z
-Landroid/os/Parcel;->nativeReadBlob(J)[B
-Landroid/os/Parcel;->nativeReadByteArray(J[BI)Z
-Landroid/os/Parcel;->nativeReadDouble(J)D
-Landroid/os/Parcel;->nativeReadFileDescriptor(J)Ljava/io/FileDescriptor;
-Landroid/os/Parcel;->nativeReadFloat(J)F
-Landroid/os/Parcel;->nativeReadInt(J)I
-Landroid/os/Parcel;->nativeReadLong(J)J
-Landroid/os/Parcel;->nativeReadString(J)Ljava/lang/String;
-Landroid/os/Parcel;->nativeReadStrongBinder(J)Landroid/os/IBinder;
-Landroid/os/Parcel;->nativeRestoreAllowFds(JZ)V
-Landroid/os/Parcel;->nativeSetDataCapacity(JI)V
-Landroid/os/Parcel;->nativeSetDataPosition(JI)V
-Landroid/os/Parcel;->nativeSetDataSize(JI)J
-Landroid/os/Parcel;->nativeUnmarshall(J[BII)J
-Landroid/os/Parcel;->nativeWriteBlob(J[BII)V
-Landroid/os/Parcel;->nativeWriteByteArray(J[BII)V
-Landroid/os/Parcel;->nativeWriteDouble(JD)V
-Landroid/os/Parcel;->nativeWriteFileDescriptor(JLjava/io/FileDescriptor;)J
-Landroid/os/Parcel;->nativeWriteFloat(JF)V
-Landroid/os/Parcel;->nativeWriteInt(JI)V
-Landroid/os/Parcel;->nativeWriteInterfaceToken(JLjava/lang/String;)V
-Landroid/os/Parcel;->nativeWriteLong(JJ)V
-Landroid/os/Parcel;->nativeWriteString(JLjava/lang/String;)V
-Landroid/os/Parcel;->nativeWriteStrongBinder(JLandroid/os/IBinder;)V
-Landroid/os/Parcel;->obtain(I)Landroid/os/Parcel;
-Landroid/os/Parcel;->obtain(J)Landroid/os/Parcel;
-Landroid/os/Parcel;->openFileDescriptor(Ljava/lang/String;I)Ljava/io/FileDescriptor;
-Landroid/os/Parcel;->POOL_SIZE:I
-Landroid/os/Parcel;->pushAllowFds(Z)Z
-Landroid/os/Parcel;->putClassCookies(Ljava/util/Map;)V
-Landroid/os/Parcel;->readArrayInternal([Ljava/lang/Object;ILjava/lang/ClassLoader;)V
-Landroid/os/Parcel;->readArrayMapInternal(Landroid/util/ArrayMap;ILjava/lang/ClassLoader;)V
-Landroid/os/Parcel;->readArrayMapSafelyInternal(Landroid/util/ArrayMap;ILjava/lang/ClassLoader;)V
-Landroid/os/Parcel;->readBoolean()Z
-Landroid/os/Parcel;->readCharSequenceArray()[Ljava/lang/CharSequence;
-Landroid/os/Parcel;->readCharSequenceList()Ljava/util/ArrayList;
-Landroid/os/Parcel;->readListInternal(Ljava/util/List;ILjava/lang/ClassLoader;)V
-Landroid/os/Parcel;->readMapInternal(Ljava/util/Map;ILjava/lang/ClassLoader;)V
-Landroid/os/Parcel;->readParcelableArray(Ljava/lang/ClassLoader;Ljava/lang/Class;)[Landroid/os/Parcelable;
-Landroid/os/Parcel;->readRawFileDescriptorArray([Ljava/io/FileDescriptor;)V
-Landroid/os/Parcel;->readSerializable(Ljava/lang/ClassLoader;)Ljava/io/Serializable;
-Landroid/os/Parcel;->readSparseArrayInternal(Landroid/util/SparseArray;ILjava/lang/ClassLoader;)V
-Landroid/os/Parcel;->readSparseBooleanArrayInternal(Landroid/util/SparseBooleanArray;I)V
-Landroid/os/Parcel;->readSparseIntArray()Landroid/util/SparseIntArray;
-Landroid/os/Parcel;->readSparseIntArrayInternal(Landroid/util/SparseIntArray;I)V
-Landroid/os/Parcel;->readStringNoHelper()Ljava/lang/String;
-Landroid/os/Parcel;->readTypedArray(Landroid/os/Parcelable$Creator;)[Ljava/lang/Object;
-Landroid/os/Parcel;->restoreAllowFds(Z)V
-Landroid/os/Parcel;->setClassCookie(Ljava/lang/Class;Ljava/lang/Object;)V
-Landroid/os/Parcel;->setReadWriteHelper(Landroid/os/Parcel$ReadWriteHelper;)V
-Landroid/os/Parcel;->setStackTraceParceling(Z)V
-Landroid/os/Parcel;->sHolderPool:[Landroid/os/Parcel;
-Landroid/os/Parcel;->sLastWriteExceptionStackTrace:J
-Landroid/os/Parcel;->sOwnedPool:[Landroid/os/Parcel;
-Landroid/os/Parcel;->sParcelExceptionStackTrace:Z
-Landroid/os/Parcel;->TAG:Ljava/lang/String;
-Landroid/os/Parcel;->updateNativeSize(J)V
-Landroid/os/Parcel;->VAL_BOOLEAN:I
-Landroid/os/Parcel;->VAL_BOOLEANARRAY:I
-Landroid/os/Parcel;->VAL_BUNDLE:I
-Landroid/os/Parcel;->VAL_BYTE:I
-Landroid/os/Parcel;->VAL_BYTEARRAY:I
-Landroid/os/Parcel;->VAL_CHARSEQUENCE:I
-Landroid/os/Parcel;->VAL_CHARSEQUENCEARRAY:I
-Landroid/os/Parcel;->VAL_DOUBLE:I
-Landroid/os/Parcel;->VAL_DOUBLEARRAY:I
-Landroid/os/Parcel;->VAL_FLOAT:I
-Landroid/os/Parcel;->VAL_IBINDER:I
-Landroid/os/Parcel;->VAL_INTARRAY:I
-Landroid/os/Parcel;->VAL_INTEGER:I
-Landroid/os/Parcel;->VAL_LIST:I
-Landroid/os/Parcel;->VAL_LONG:I
-Landroid/os/Parcel;->VAL_LONGARRAY:I
-Landroid/os/Parcel;->VAL_MAP:I
-Landroid/os/Parcel;->VAL_NULL:I
-Landroid/os/Parcel;->VAL_OBJECTARRAY:I
-Landroid/os/Parcel;->VAL_PARCELABLE:I
-Landroid/os/Parcel;->VAL_PARCELABLEARRAY:I
-Landroid/os/Parcel;->VAL_PERSISTABLEBUNDLE:I
-Landroid/os/Parcel;->VAL_SERIALIZABLE:I
-Landroid/os/Parcel;->VAL_SHORT:I
-Landroid/os/Parcel;->VAL_SIZE:I
-Landroid/os/Parcel;->VAL_SIZEF:I
-Landroid/os/Parcel;->VAL_SPARSEARRAY:I
-Landroid/os/Parcel;->VAL_SPARSEBOOLEANARRAY:I
-Landroid/os/Parcel;->VAL_STRING:I
-Landroid/os/Parcel;->VAL_STRINGARRAY:I
-Landroid/os/Parcel;->writeArrayMapInternal(Landroid/util/ArrayMap;)V
-Landroid/os/Parcel;->writeBlob([BII)V
-Landroid/os/Parcel;->writeBoolean(Z)V
-Landroid/os/Parcel;->writeCharSequenceArray([Ljava/lang/CharSequence;)V
-Landroid/os/Parcel;->writeCharSequenceList(Ljava/util/ArrayList;)V
-Landroid/os/Parcel;->writeMapInternal(Ljava/util/Map;)V
-Landroid/os/Parcel;->writeRawFileDescriptor(Ljava/io/FileDescriptor;)V
-Landroid/os/Parcel;->writeRawFileDescriptorArray([Ljava/io/FileDescriptor;)V
-Landroid/os/Parcel;->writeSparseIntArray(Landroid/util/SparseIntArray;)V
-Landroid/os/Parcel;->writeStringNoHelper(Ljava/lang/String;)V
-Landroid/os/Parcel;->writeTypedList(Ljava/util/List;I)V
-Landroid/os/Parcel;->WRITE_EXCEPTION_STACK_TRACE_THRESHOLD_MS:I
-Landroid/os/Parcelable$ContentsFlags;
-Landroid/os/Parcelable$WriteFlags;
-Landroid/os/Parcelable;->PARCELABLE_ELIDE_DUPLICATES:I
-Landroid/os/ParcelableException;
-Landroid/os/ParcelableException;-><init>(Ljava/lang/Throwable;)V
-Landroid/os/ParcelableException;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/os/ParcelableException;->maybeRethrow(Ljava/lang/Class;)V
-Landroid/os/ParcelableException;->readFromParcel(Landroid/os/Parcel;)Ljava/lang/Throwable;
-Landroid/os/ParcelableException;->writeToParcel(Landroid/os/Parcel;Ljava/lang/Throwable;)V
-Landroid/os/ParcelableParcel;
-Landroid/os/ParcelableParcel;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V
-Landroid/os/ParcelableParcel;->mClassLoader:Ljava/lang/ClassLoader;
-Landroid/os/ParcelableParcel;->mParcel:Landroid/os/Parcel;
-Landroid/os/ParcelFileDescriptor$AutoCloseInputStream;->mPfd:Landroid/os/ParcelFileDescriptor;
-Landroid/os/ParcelFileDescriptor$AutoCloseOutputStream;->mPfd:Landroid/os/ParcelFileDescriptor;
-Landroid/os/ParcelFileDescriptor$Status;
-Landroid/os/ParcelFileDescriptor$Status;-><init>(I)V
-Landroid/os/ParcelFileDescriptor$Status;-><init>(ILjava/lang/String;)V
-Landroid/os/ParcelFileDescriptor$Status;->asIOException()Ljava/io/IOException;
-Landroid/os/ParcelFileDescriptor$Status;->DEAD:I
-Landroid/os/ParcelFileDescriptor$Status;->DETACHED:I
-Landroid/os/ParcelFileDescriptor$Status;->ERROR:I
-Landroid/os/ParcelFileDescriptor$Status;->LEAKED:I
-Landroid/os/ParcelFileDescriptor$Status;->msg:Ljava/lang/String;
-Landroid/os/ParcelFileDescriptor$Status;->OK:I
-Landroid/os/ParcelFileDescriptor$Status;->SILENCE:I
-Landroid/os/ParcelFileDescriptor$Status;->status:I
-Landroid/os/ParcelFileDescriptor;-><init>(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;)V
-Landroid/os/ParcelFileDescriptor;->closeWithStatus(ILjava/lang/String;)V
-Landroid/os/ParcelFileDescriptor;->createCommSocketPair()[Ljava/io/FileDescriptor;
-Landroid/os/ParcelFileDescriptor;->createReliableSocketPair(I)[Landroid/os/ParcelFileDescriptor;
-Landroid/os/ParcelFileDescriptor;->createSocketPair(I)[Landroid/os/ParcelFileDescriptor;
-Landroid/os/ParcelFileDescriptor;->fromFd(Ljava/io/FileDescriptor;Landroid/os/Handler;Landroid/os/ParcelFileDescriptor$OnCloseListener;)Landroid/os/ParcelFileDescriptor;
-Landroid/os/ParcelFileDescriptor;->getOrCreateStatusBuffer()[B
-Landroid/os/ParcelFileDescriptor;->MAX_STATUS:I
-Landroid/os/ParcelFileDescriptor;->mClosed:Z
-Landroid/os/ParcelFileDescriptor;->mCommFd:Ljava/io/FileDescriptor;
-Landroid/os/ParcelFileDescriptor;->mFd:Ljava/io/FileDescriptor;
-Landroid/os/ParcelFileDescriptor;->mGuard:Ldalvik/system/CloseGuard;
-Landroid/os/ParcelFileDescriptor;->mStatus:Landroid/os/ParcelFileDescriptor$Status;
-Landroid/os/ParcelFileDescriptor;->mStatusBuf:[B
-Landroid/os/ParcelFileDescriptor;->mWrapped:Landroid/os/ParcelFileDescriptor;
-Landroid/os/ParcelFileDescriptor;->openInternal(Ljava/io/File;I)Ljava/io/FileDescriptor;
-Landroid/os/ParcelFileDescriptor;->readCommStatus(Ljava/io/FileDescriptor;[B)Landroid/os/ParcelFileDescriptor$Status;
-Landroid/os/ParcelFileDescriptor;->releaseResources()V
-Landroid/os/ParcelFileDescriptor;->TAG:Ljava/lang/String;
-Landroid/os/ParcelFileDescriptor;->writeCommStatusAndClose(ILjava/lang/String;)V
-Landroid/os/ParcelUuid;->mUuid:Ljava/util/UUID;
-Landroid/os/PatternMatcher;->isParsedModifier(I)Z
-Landroid/os/PatternMatcher;->matchAdvancedPattern([ILjava/lang/String;)Z
-Landroid/os/PatternMatcher;->matchChar(Ljava/lang/String;III[III)Z
-Landroid/os/PatternMatcher;->matchChars(Ljava/lang/String;IIIII[III)I
-Landroid/os/PatternMatcher;->matchGlobPattern(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/os/PatternMatcher;->matchPattern(Ljava/lang/String;Ljava/lang/String;[II)Z
-Landroid/os/PatternMatcher;->MAX_PATTERN_STORAGE:I
-Landroid/os/PatternMatcher;->mParsedPattern:[I
-Landroid/os/PatternMatcher;->mPattern:Ljava/lang/String;
-Landroid/os/PatternMatcher;->mType:I
-Landroid/os/PatternMatcher;->NO_MATCH:I
-Landroid/os/PatternMatcher;->parseAndVerifyAdvancedPattern(Ljava/lang/String;)[I
-Landroid/os/PatternMatcher;->PARSED_MODIFIER_ONE_OR_MORE:I
-Landroid/os/PatternMatcher;->PARSED_MODIFIER_RANGE_START:I
-Landroid/os/PatternMatcher;->PARSED_MODIFIER_RANGE_STOP:I
-Landroid/os/PatternMatcher;->PARSED_MODIFIER_ZERO_OR_MORE:I
-Landroid/os/PatternMatcher;->PARSED_TOKEN_CHAR_ANY:I
-Landroid/os/PatternMatcher;->PARSED_TOKEN_CHAR_SET_INVERSE_START:I
-Landroid/os/PatternMatcher;->PARSED_TOKEN_CHAR_SET_START:I
-Landroid/os/PatternMatcher;->PARSED_TOKEN_CHAR_SET_STOP:I
-Landroid/os/PatternMatcher;->sParsedPatternScratch:[I
-Landroid/os/PatternMatcher;->TAG:Ljava/lang/String;
-Landroid/os/PatternMatcher;->TOKEN_TYPE_ANY:I
-Landroid/os/PatternMatcher;->TOKEN_TYPE_INVERSE_SET:I
-Landroid/os/PatternMatcher;->TOKEN_TYPE_LITERAL:I
-Landroid/os/PatternMatcher;->TOKEN_TYPE_SET:I
-Landroid/os/PatternMatcher;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/os/PatternMatcherProto;
-Landroid/os/PatternMatcherProto;-><init>()V
-Landroid/os/PatternMatcherProto;->PATTERN:J
-Landroid/os/PatternMatcherProto;->TYPE:J
-Landroid/os/PatternMatcherProto;->TYPE_ADVANCED_GLOB:I
-Landroid/os/PatternMatcherProto;->TYPE_LITERAL:I
-Landroid/os/PatternMatcherProto;->TYPE_PREFIX:I
-Landroid/os/PatternMatcherProto;->TYPE_SIMPLE_GLOB:I
-Landroid/os/PerformanceCollector$PerformanceResultsWriter;
-Landroid/os/PerformanceCollector$PerformanceResultsWriter;->writeBeginSnapshot(Ljava/lang/String;)V
-Landroid/os/PerformanceCollector$PerformanceResultsWriter;->writeEndSnapshot(Landroid/os/Bundle;)V
-Landroid/os/PerformanceCollector$PerformanceResultsWriter;->writeMeasurement(Ljava/lang/String;F)V
-Landroid/os/PerformanceCollector$PerformanceResultsWriter;->writeMeasurement(Ljava/lang/String;J)V
-Landroid/os/PerformanceCollector$PerformanceResultsWriter;->writeMeasurement(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/PerformanceCollector$PerformanceResultsWriter;->writeStartTiming(Ljava/lang/String;)V
-Landroid/os/PerformanceCollector$PerformanceResultsWriter;->writeStopTiming(Landroid/os/Bundle;)V
-Landroid/os/PerformanceCollector;
-Landroid/os/PerformanceCollector;-><init>(Landroid/os/PerformanceCollector$PerformanceResultsWriter;)V
-Landroid/os/PerformanceCollector;->addIteration(Ljava/lang/String;)Landroid/os/Bundle;
-Landroid/os/PerformanceCollector;->addMeasurement(Ljava/lang/String;F)V
-Landroid/os/PerformanceCollector;->addMeasurement(Ljava/lang/String;J)V
-Landroid/os/PerformanceCollector;->addMeasurement(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/PerformanceCollector;->endPerformanceSnapshot()V
-Landroid/os/PerformanceCollector;->getAllocCounts()Landroid/os/Bundle;
-Landroid/os/PerformanceCollector;->getBinderCounts()Landroid/os/Bundle;
-Landroid/os/PerformanceCollector;->mCpuTime:J
-Landroid/os/PerformanceCollector;->METRIC_KEY_CPU_TIME:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_EXECUTION_TIME:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_GC_INVOCATION_COUNT:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_GLOBAL_ALLOC_COUNT:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_GLOBAL_ALLOC_SIZE:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_GLOBAL_FREED_COUNT:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_GLOBAL_FREED_SIZE:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_ITERATIONS:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_JAVA_ALLOCATED:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_JAVA_FREE:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_JAVA_PRIVATE_DIRTY:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_JAVA_PSS:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_JAVA_SHARED_DIRTY:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_JAVA_SIZE:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_LABEL:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_NATIVE_ALLOCATED:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_NATIVE_FREE:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_NATIVE_PRIVATE_DIRTY:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_NATIVE_PSS:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_NATIVE_SHARED_DIRTY:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_NATIVE_SIZE:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_OTHER_PRIVATE_DIRTY:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_OTHER_PSS:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_OTHER_SHARED_DIRTY:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_PRE_RECEIVED_TRANSACTIONS:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_PRE_SENT_TRANSACTIONS:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_RECEIVED_TRANSACTIONS:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->METRIC_KEY_SENT_TRANSACTIONS:Ljava/lang/String;
-Landroid/os/PerformanceCollector;->mExecTime:J
-Landroid/os/PerformanceCollector;->mPerfMeasurement:Landroid/os/Bundle;
-Landroid/os/PerformanceCollector;->mPerfSnapshot:Landroid/os/Bundle;
-Landroid/os/PerformanceCollector;->mPerfWriter:Landroid/os/PerformanceCollector$PerformanceResultsWriter;
-Landroid/os/PerformanceCollector;->mSnapshotCpuTime:J
-Landroid/os/PerformanceCollector;->mSnapshotExecTime:J
-Landroid/os/PerformanceCollector;->setPerformanceResultsWriter(Landroid/os/PerformanceCollector$PerformanceResultsWriter;)V
-Landroid/os/PerformanceCollector;->startAllocCounting()V
-Landroid/os/PerformanceCollector;->startPerformanceSnapshot()V
-Landroid/os/PerformanceCollector;->stopAllocCounting()V
-Landroid/os/PersistableBundle$MyReadMapCallback;
-Landroid/os/PersistableBundle$MyReadMapCallback;-><init>()V
-Landroid/os/PersistableBundle$MyReadMapCallback;->readThisUnknownObjectXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/Object;
-Landroid/os/PersistableBundle;-><init>(Landroid/os/Bundle;)V
-Landroid/os/PersistableBundle;-><init>(Landroid/os/Parcel;I)V
-Landroid/os/PersistableBundle;-><init>(Landroid/util/ArrayMap;)V
-Landroid/os/PersistableBundle;-><init>(Z)V
-Landroid/os/PersistableBundle;->forPair(Ljava/lang/String;Ljava/lang/String;)Landroid/os/PersistableBundle;
-Landroid/os/PersistableBundle;->isValidType(Ljava/lang/Object;)Z
-Landroid/os/PersistableBundle;->restoreFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/os/PersistableBundle;
-Landroid/os/PersistableBundle;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-Landroid/os/PersistableBundle;->TAG_PERSISTABLEMAP:Ljava/lang/String;
-Landroid/os/PersistableBundle;->toShortString()Ljava/lang/String;
-Landroid/os/PersistableBundle;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/os/PersistableBundle;->writeUnknownObject(Ljava/lang/Object;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
-Landroid/os/PersistableBundleProto;
-Landroid/os/PersistableBundleProto;-><init>()V
-Landroid/os/PersistableBundleProto;->MAP_DATA:J
-Landroid/os/PersistableBundleProto;->PARCELLED_DATA_SIZE:J
-Landroid/os/PooledStringReader;
-Landroid/os/PooledStringReader;-><init>(Landroid/os/Parcel;)V
-Landroid/os/PooledStringReader;->getStringCount()I
-Landroid/os/PooledStringReader;->mIn:Landroid/os/Parcel;
-Landroid/os/PooledStringReader;->mPool:[Ljava/lang/String;
-Landroid/os/PooledStringReader;->readString()Ljava/lang/String;
-Landroid/os/PooledStringWriter;
-Landroid/os/PooledStringWriter;-><init>(Landroid/os/Parcel;)V
-Landroid/os/PooledStringWriter;->finish()V
-Landroid/os/PooledStringWriter;->getStringCount()I
-Landroid/os/PooledStringWriter;->mNext:I
-Landroid/os/PooledStringWriter;->mOut:Landroid/os/Parcel;
-Landroid/os/PooledStringWriter;->mPool:Ljava/util/HashMap;
-Landroid/os/PooledStringWriter;->mStart:I
-Landroid/os/PooledStringWriter;->writeString(Ljava/lang/String;)V
-Landroid/os/PowerManager$LocationPowerSaveMode;
-Landroid/os/PowerManager$ServiceType;
-Landroid/os/PowerManager$ServiceType;->ANIMATION:I
-Landroid/os/PowerManager$ServiceType;->AOD:I
-Landroid/os/PowerManager$ServiceType;->BATTERY_STATS:I
-Landroid/os/PowerManager$ServiceType;->DATA_SAVER:I
-Landroid/os/PowerManager$ServiceType;->FORCE_ALL_APPS_STANDBY:I
-Landroid/os/PowerManager$ServiceType;->FORCE_BACKGROUND_CHECK:I
-Landroid/os/PowerManager$ServiceType;->FULL_BACKUP:I
-Landroid/os/PowerManager$ServiceType;->GPS:I
-Landroid/os/PowerManager$ServiceType;->KEYVALUE_BACKUP:I
-Landroid/os/PowerManager$ServiceType;->NETWORK_FIREWALL:I
-Landroid/os/PowerManager$ServiceType;->NULL:I
-Landroid/os/PowerManager$ServiceType;->OPTIONAL_SENSORS:I
-Landroid/os/PowerManager$ServiceType;->SCREEN_BRIGHTNESS:I
-Landroid/os/PowerManager$ServiceType;->SOUND:I
-Landroid/os/PowerManager$ServiceType;->VIBRATION:I
-Landroid/os/PowerManager$ShutdownReason;
-Landroid/os/PowerManager$WakeLock;-><init>(ILjava/lang/String;Ljava/lang/String;)V
-Landroid/os/PowerManager$WakeLock;->acquireLocked()V
-Landroid/os/PowerManager$WakeLock;->getTag()Ljava/lang/String;
-Landroid/os/PowerManager$WakeLock;->mExternalCount:I
-Landroid/os/PowerManager$WakeLock;->mHeld:Z
-Landroid/os/PowerManager$WakeLock;->mHistoryTag:Ljava/lang/String;
-Landroid/os/PowerManager$WakeLock;->mInternalCount:I
-Landroid/os/PowerManager$WakeLock;->mPackageName:Ljava/lang/String;
-Landroid/os/PowerManager$WakeLock;->mRefCounted:Z
-Landroid/os/PowerManager$WakeLock;->mReleaser:Ljava/lang/Runnable;
-Landroid/os/PowerManager$WakeLock;->mToken:Landroid/os/IBinder;
-Landroid/os/PowerManager$WakeLock;->mTraceName:Ljava/lang/String;
-Landroid/os/PowerManager$WakeLock;->mWorkSource:Landroid/os/WorkSource;
-Landroid/os/PowerManager$WakeLock;->setHistoryTag(Ljava/lang/String;)V
-Landroid/os/PowerManager$WakeLock;->setTag(Ljava/lang/String;)V
-Landroid/os/PowerManager$WakeLock;->setUnimportantForLogging(Z)V
-Landroid/os/PowerManager$WakeLock;->wrap(Ljava/lang/Runnable;)Ljava/lang/Runnable;
-Landroid/os/PowerManager$WakeLock;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/os/PowerManager;-><init>(Landroid/content/Context;Landroid/os/IPowerManager;Landroid/os/Handler;)V
-Landroid/os/PowerManager;->ACTION_POWER_SAVE_MODE_CHANGED_INTERNAL:Ljava/lang/String;
-Landroid/os/PowerManager;->ACTION_POWER_SAVE_TEMP_WHITELIST_CHANGED:Ljava/lang/String;
-Landroid/os/PowerManager;->ACTION_POWER_SAVE_WHITELIST_CHANGED:Ljava/lang/String;
-Landroid/os/PowerManager;->boostScreenBrightness(J)V
-Landroid/os/PowerManager;->BRIGHTNESS_DEFAULT:I
-Landroid/os/PowerManager;->BRIGHTNESS_OFF:I
-Landroid/os/PowerManager;->DOZE_WAKE_LOCK:I
-Landroid/os/PowerManager;->DRAW_WAKE_LOCK:I
-Landroid/os/PowerManager;->getDefaultScreenBrightnessForVrSetting()I
-Landroid/os/PowerManager;->getLastShutdownReason()I
-Landroid/os/PowerManager;->getMaximumScreenBrightnessForVrSetting()I
-Landroid/os/PowerManager;->getMinimumScreenBrightnessForVrSetting()I
-Landroid/os/PowerManager;->getPowerSaveState(I)Landroid/os/PowerSaveState;
-Landroid/os/PowerManager;->GO_TO_SLEEP_FLAG_NO_DOZE:I
-Landroid/os/PowerManager;->GO_TO_SLEEP_REASON_ACCESSIBILITY:I
-Landroid/os/PowerManager;->GO_TO_SLEEP_REASON_APPLICATION:I
-Landroid/os/PowerManager;->GO_TO_SLEEP_REASON_DEVICE_ADMIN:I
-Landroid/os/PowerManager;->GO_TO_SLEEP_REASON_HDMI:I
-Landroid/os/PowerManager;->GO_TO_SLEEP_REASON_LID_SWITCH:I
-Landroid/os/PowerManager;->GO_TO_SLEEP_REASON_POWER_BUTTON:I
-Landroid/os/PowerManager;->GO_TO_SLEEP_REASON_SLEEP_BUTTON:I
-Landroid/os/PowerManager;->mContext:Landroid/content/Context;
-Landroid/os/PowerManager;->mIDeviceIdleController:Landroid/os/IDeviceIdleController;
-Landroid/os/PowerManager;->rebootSafeMode()V
-Landroid/os/PowerManager;->REBOOT_QUIESCENT:Ljava/lang/String;
-Landroid/os/PowerManager;->REBOOT_RECOVERY:Ljava/lang/String;
-Landroid/os/PowerManager;->REBOOT_RECOVERY_UPDATE:Ljava/lang/String;
-Landroid/os/PowerManager;->REBOOT_REQUESTED_BY_DEVICE_OWNER:Ljava/lang/String;
-Landroid/os/PowerManager;->REBOOT_SAFE_MODE:Ljava/lang/String;
-Landroid/os/PowerManager;->RELEASE_FLAG_TIMEOUT:I
-Landroid/os/PowerManager;->setDozeAfterScreenOff(Z)V
-Landroid/os/PowerManager;->shutdown(ZLjava/lang/String;Z)V
-Landroid/os/PowerManager;->SHUTDOWN_BATTERY_THERMAL_STATE:Ljava/lang/String;
-Landroid/os/PowerManager;->SHUTDOWN_LOW_BATTERY:Ljava/lang/String;
-Landroid/os/PowerManager;->SHUTDOWN_REASON_BATTERY_THERMAL:I
-Landroid/os/PowerManager;->SHUTDOWN_REASON_LOW_BATTERY:I
-Landroid/os/PowerManager;->SHUTDOWN_REASON_REBOOT:I
-Landroid/os/PowerManager;->SHUTDOWN_REASON_SHUTDOWN:I
-Landroid/os/PowerManager;->SHUTDOWN_REASON_THERMAL_SHUTDOWN:I
-Landroid/os/PowerManager;->SHUTDOWN_REASON_UNKNOWN:I
-Landroid/os/PowerManager;->SHUTDOWN_REASON_USER_REQUESTED:I
-Landroid/os/PowerManager;->SHUTDOWN_USER_REQUESTED:Ljava/lang/String;
-Landroid/os/PowerManager;->TAG:Ljava/lang/String;
-Landroid/os/PowerManager;->UNIMPORTANT_FOR_LOGGING:I
-Landroid/os/PowerManager;->WAKE_LOCK_LEVEL_MASK:I
-Landroid/os/PowerManagerInternal$LowPowerModeListener;
-Landroid/os/PowerManagerInternal$LowPowerModeListener;->getServiceType()I
-Landroid/os/PowerManagerInternal$LowPowerModeListener;->onLowPowerModeChanged(Landroid/os/PowerSaveState;)V
-Landroid/os/PowerManagerInternal;
-Landroid/os/PowerManagerInternal;-><init>()V
-Landroid/os/PowerManagerInternal;->finishUidChanges()V
-Landroid/os/PowerManagerInternal;->getLowPowerState(I)Landroid/os/PowerSaveState;
-Landroid/os/PowerManagerInternal;->isInteractive(I)Z
-Landroid/os/PowerManagerInternal;->powerHint(II)V
-Landroid/os/PowerManagerInternal;->registerLowPowerModeObserver(ILjava/util/function/Consumer;)V
-Landroid/os/PowerManagerInternal;->registerLowPowerModeObserver(Landroid/os/PowerManagerInternal$LowPowerModeListener;)V
-Landroid/os/PowerManagerInternal;->setDeviceIdleMode(Z)Z
-Landroid/os/PowerManagerInternal;->setDeviceIdleTempWhitelist([I)V
-Landroid/os/PowerManagerInternal;->setDeviceIdleWhitelist([I)V
-Landroid/os/PowerManagerInternal;->setDozeOverrideFromDreamManager(II)V
-Landroid/os/PowerManagerInternal;->setDrawWakeLockOverrideFromSidekick(Z)V
-Landroid/os/PowerManagerInternal;->setLightDeviceIdleMode(Z)Z
-Landroid/os/PowerManagerInternal;->setMaximumScreenOffTimeoutFromDeviceAdmin(IJ)V
-Landroid/os/PowerManagerInternal;->setScreenBrightnessOverrideFromWindowManager(I)V
-Landroid/os/PowerManagerInternal;->setUserActivityTimeoutOverrideFromWindowManager(J)V
-Landroid/os/PowerManagerInternal;->setUserInactiveOverrideFromWindowManager()V
-Landroid/os/PowerManagerInternal;->startUidChanges()V
-Landroid/os/PowerManagerInternal;->uidActive(I)V
-Landroid/os/PowerManagerInternal;->uidGone(I)V
-Landroid/os/PowerManagerInternal;->uidIdle(I)V
-Landroid/os/PowerManagerInternal;->updateUidProcState(II)V
-Landroid/os/PowerManagerInternal;->wakefulnessToProtoEnum(I)I
-Landroid/os/PowerManagerInternal;->wakefulnessToString(I)Ljava/lang/String;
-Landroid/os/PowerManagerInternal;->WAKEFULNESS_ASLEEP:I
-Landroid/os/PowerManagerInternal;->WAKEFULNESS_AWAKE:I
-Landroid/os/PowerManagerInternal;->WAKEFULNESS_DOZING:I
-Landroid/os/PowerManagerInternal;->WAKEFULNESS_DREAMING:I
-Landroid/os/PowerManagerInternalProto;
-Landroid/os/PowerManagerInternalProto;-><init>()V
-Landroid/os/PowerManagerInternalProto;->WAKEFULNESS_ASLEEP:I
-Landroid/os/PowerManagerInternalProto;->WAKEFULNESS_AWAKE:I
-Landroid/os/PowerManagerInternalProto;->WAKEFULNESS_DOZING:I
-Landroid/os/PowerManagerInternalProto;->WAKEFULNESS_DREAMING:I
-Landroid/os/PowerManagerProto$WakeLock;
-Landroid/os/PowerManagerProto$WakeLock;-><init>()V
-Landroid/os/PowerManagerProto$WakeLock;->HELD:J
-Landroid/os/PowerManagerProto$WakeLock;->INTERNAL_COUNT:J
-Landroid/os/PowerManagerProto$WakeLock;->PACKAGE_NAME:J
-Landroid/os/PowerManagerProto$WakeLock;->TAG:J
-Landroid/os/PowerManagerProto$WakeLock;->WORK_SOURCE:J
-Landroid/os/PowerManagerProto;
-Landroid/os/PowerManagerProto;-><init>()V
-Landroid/os/PowerManagerProto;->USER_ACTIVITY_EVENT_ACCESSIBILITY:I
-Landroid/os/PowerManagerProto;->USER_ACTIVITY_EVENT_BUTTON:I
-Landroid/os/PowerManagerProto;->USER_ACTIVITY_EVENT_OTHER:I
-Landroid/os/PowerManagerProto;->USER_ACTIVITY_EVENT_TOUCH:I
-Landroid/os/PowerSaveState$Builder;
-Landroid/os/PowerSaveState$Builder;-><init>()V
-Landroid/os/PowerSaveState$Builder;->build()Landroid/os/PowerSaveState;
-Landroid/os/PowerSaveState$Builder;->mBatterySaverEnabled:Z
-Landroid/os/PowerSaveState$Builder;->mBrightnessFactor:F
-Landroid/os/PowerSaveState$Builder;->mGlobalBatterySaverEnabled:Z
-Landroid/os/PowerSaveState$Builder;->mGpsMode:I
-Landroid/os/PowerSaveState$Builder;->setBatterySaverEnabled(Z)Landroid/os/PowerSaveState$Builder;
-Landroid/os/PowerSaveState$Builder;->setBrightnessFactor(F)Landroid/os/PowerSaveState$Builder;
-Landroid/os/PowerSaveState$Builder;->setGlobalBatterySaverEnabled(Z)Landroid/os/PowerSaveState$Builder;
-Landroid/os/PowerSaveState$Builder;->setGpsMode(I)Landroid/os/PowerSaveState$Builder;
-Landroid/os/PowerSaveState;
-Landroid/os/PowerSaveState;-><init>(Landroid/os/Parcel;)V
-Landroid/os/PowerSaveState;-><init>(Landroid/os/PowerSaveState$Builder;)V
-Landroid/os/PowerSaveState;->batterySaverEnabled:Z
-Landroid/os/PowerSaveState;->brightnessFactor:F
-Landroid/os/PowerSaveState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/os/PowerSaveState;->globalBatterySaverEnabled:Z
-Landroid/os/PowerSaveState;->gpsMode:I
-Landroid/os/Process$ProcessStartResult;
-Landroid/os/Process$ProcessStartResult;-><init>()V
-Landroid/os/Process$ProcessStartResult;->pid:I
-Landroid/os/Process$ProcessStartResult;->usingWrapper:Z
-Landroid/os/Process;->AUDIOSERVER_UID:I
-Landroid/os/Process;->CAMERASERVER_UID:I
-Landroid/os/Process;->FIRST_APPLICATION_CACHE_GID:I
-Landroid/os/Process;->FIRST_ISOLATED_UID:I
-Landroid/os/Process;->FIRST_SHARED_APPLICATION_GID:I
-Landroid/os/Process;->getProcessGroup(I)I
-Landroid/os/Process;->getThreadGroupLeader(I)I
-Landroid/os/Process;->INCIDENTD_UID:I
-Landroid/os/Process;->isCoreUid(I)Z
-Landroid/os/Process;->isThreadInProcess(II)Z
-Landroid/os/Process;->KEYSTORE_UID:I
-Landroid/os/Process;->killProcessGroup(II)I
-Landroid/os/Process;->killProcessQuiet(I)V
-Landroid/os/Process;->LAST_APPLICATION_CACHE_GID:I
-Landroid/os/Process;->LAST_ISOLATED_UID:I
-Landroid/os/Process;->LAST_SHARED_APPLICATION_GID:I
-Landroid/os/Process;->LOG_TAG:Ljava/lang/String;
-Landroid/os/Process;->MEDIA_RW_GID:I
-Landroid/os/Process;->NOBODY_UID:I
-Landroid/os/Process;->OTA_UPDATE_UID:I
-Landroid/os/Process;->PACKAGE_INFO_GID:I
-Landroid/os/Process;->PROC_CHAR:I
-Landroid/os/Process;->removeAllProcessGroups()V
-Landroid/os/Process;->SCHED_BATCH:I
-Landroid/os/Process;->SCHED_FIFO:I
-Landroid/os/Process;->SCHED_IDLE:I
-Landroid/os/Process;->SCHED_OTHER:I
-Landroid/os/Process;->SCHED_RESET_ON_FORK:I
-Landroid/os/Process;->SCHED_RR:I
-Landroid/os/Process;->SECONDARY_ZYGOTE_SOCKET:Ljava/lang/String;
-Landroid/os/Process;->setCanSelfBackground(Z)V
-Landroid/os/Process;->setGid(I)I
-Landroid/os/Process;->setStartTimes(JJ)V
-Landroid/os/Process;->setSwappiness(IZ)Z
-Landroid/os/Process;->setThreadGroup(II)V
-Landroid/os/Process;->setThreadGroupAndCpuset(II)V
-Landroid/os/Process;->setThreadScheduler(III)V
-Landroid/os/Process;->setUid(I)I
-Landroid/os/Process;->SE_UID:I
-Landroid/os/Process;->SHARED_RELRO_UID:I
-Landroid/os/Process;->SHARED_USER_GID:I
-Landroid/os/Process;->sStartElapsedRealtime:J
-Landroid/os/Process;->sStartUptimeMillis:J
-Landroid/os/Process;->start(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
-Landroid/os/Process;->startWebView(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
-Landroid/os/Process;->THREAD_GROUP_AUDIO_APP:I
-Landroid/os/Process;->THREAD_GROUP_AUDIO_SYS:I
-Landroid/os/Process;->THREAD_GROUP_BG_NONINTERACTIVE:I
-Landroid/os/Process;->THREAD_GROUP_DEFAULT:I
-Landroid/os/Process;->THREAD_GROUP_FOREGROUND:I
-Landroid/os/Process;->THREAD_GROUP_RESTRICTED:I
-Landroid/os/Process;->THREAD_GROUP_RT_APP:I
-Landroid/os/Process;->THREAD_GROUP_SYSTEM:I
-Landroid/os/Process;->THREAD_GROUP_TOP_APP:I
-Landroid/os/Process;->WEBVIEW_ZYGOTE_UID:I
-Landroid/os/Process;->zygoteProcess:Landroid/os/ZygoteProcess;
-Landroid/os/Process;->ZYGOTE_SOCKET:Ljava/lang/String;
-Landroid/os/ProcrankProto$Process;
-Landroid/os/ProcrankProto$Process;-><init>()V
-Landroid/os/ProcrankProto$Process;->CMDLINE:J
-Landroid/os/ProcrankProto$Process;->PID:J
-Landroid/os/ProcrankProto$Process;->PSS:J
-Landroid/os/ProcrankProto$Process;->PSWAP:J
-Landroid/os/ProcrankProto$Process;->RSS:J
-Landroid/os/ProcrankProto$Process;->SWAP:J
-Landroid/os/ProcrankProto$Process;->USS:J
-Landroid/os/ProcrankProto$Process;->USWAP:J
-Landroid/os/ProcrankProto$Process;->VSS:J
-Landroid/os/ProcrankProto$Process;->ZSWAP:J
-Landroid/os/ProcrankProto$Summary$Ram;
-Landroid/os/ProcrankProto$Summary$Ram;-><init>()V
-Landroid/os/ProcrankProto$Summary$Ram;->RAW_TEXT:J
-Landroid/os/ProcrankProto$Summary$Zram;
-Landroid/os/ProcrankProto$Summary$Zram;-><init>()V
-Landroid/os/ProcrankProto$Summary$Zram;->RAW_TEXT:J
-Landroid/os/ProcrankProto$Summary;
-Landroid/os/ProcrankProto$Summary;-><init>()V
-Landroid/os/ProcrankProto$Summary;->RAM:J
-Landroid/os/ProcrankProto$Summary;->TOTAL:J
-Landroid/os/ProcrankProto$Summary;->ZRAM:J
-Landroid/os/ProcrankProto;
-Landroid/os/ProcrankProto;-><init>()V
-Landroid/os/ProcrankProto;->PROCESSES:J
-Landroid/os/ProcrankProto;->SUMMARY:J
-Landroid/os/PsProto$Process;
-Landroid/os/PsProto$Process;-><init>()V
-Landroid/os/PsProto$Process;->ADDR:J
-Landroid/os/PsProto$Process;->CMD:J
-Landroid/os/PsProto$Process;->LABEL:J
-Landroid/os/PsProto$Process;->NI:J
-Landroid/os/PsProto$Process;->PCY:J
-Landroid/os/PsProto$Process;->PID:J
-Landroid/os/PsProto$Process;->POLICY_BG:I
-Landroid/os/PsProto$Process;->POLICY_FG:I
-Landroid/os/PsProto$Process;->POLICY_TA:I
-Landroid/os/PsProto$Process;->POLICY_UNKNOWN:I
-Landroid/os/PsProto$Process;->PPID:J
-Landroid/os/PsProto$Process;->PRI:J
-Landroid/os/PsProto$Process;->RSS:J
-Landroid/os/PsProto$Process;->RTPRIO:J
-Landroid/os/PsProto$Process;->S:J
-Landroid/os/PsProto$Process;->SCH:J
-Landroid/os/PsProto$Process;->SCH_BATCH:I
-Landroid/os/PsProto$Process;->SCH_FIFO:I
-Landroid/os/PsProto$Process;->SCH_IDLE:I
-Landroid/os/PsProto$Process;->SCH_ISO:I
-Landroid/os/PsProto$Process;->SCH_NORMAL:I
-Landroid/os/PsProto$Process;->SCH_OTHER:I
-Landroid/os/PsProto$Process;->SCH_RR:I
-Landroid/os/PsProto$Process;->STATE_D:I
-Landroid/os/PsProto$Process;->STATE_R:I
-Landroid/os/PsProto$Process;->STATE_S:I
-Landroid/os/PsProto$Process;->STATE_T:I
-Landroid/os/PsProto$Process;->STATE_TRACING:I
-Landroid/os/PsProto$Process;->STATE_UNKNOWN:I
-Landroid/os/PsProto$Process;->STATE_X:I
-Landroid/os/PsProto$Process;->STATE_Z:I
-Landroid/os/PsProto$Process;->TID:J
-Landroid/os/PsProto$Process;->TIME:J
-Landroid/os/PsProto$Process;->USER:J
-Landroid/os/PsProto$Process;->VSZ:J
-Landroid/os/PsProto$Process;->WCHAN:J
-Landroid/os/PsProto;
-Landroid/os/PsProto;-><init>()V
-Landroid/os/PsProto;->PROCESSES:J
-Landroid/os/RecoverySystem;-><init>(Landroid/os/IRecoverySystem;)V
-Landroid/os/RecoverySystem;->ACTION_EUICC_FACTORY_RESET:Ljava/lang/String;
-Landroid/os/RecoverySystem;->BLOCK_MAP_FILE:Ljava/io/File;
-Landroid/os/RecoverySystem;->bootCommand(Landroid/content/Context;[[Ljava/lang/String;)V
-Landroid/os/RecoverySystem;->clearBcb()Z
-Landroid/os/RecoverySystem;->DEFAULT_EUICC_FACTORY_RESET_TIMEOUT_MILLIS:J
-Landroid/os/RecoverySystem;->DEFAULT_KEYSTORE:Ljava/io/File;
-Landroid/os/RecoverySystem;->getTrustedCerts(Ljava/io/File;)Ljava/util/HashSet;
-Landroid/os/RecoverySystem;->handleAftermath(Landroid/content/Context;)Ljava/lang/String;
-Landroid/os/RecoverySystem;->LAST_INSTALL_FILE:Ljava/io/File;
-Landroid/os/RecoverySystem;->LAST_PREFIX:Ljava/lang/String;
-Landroid/os/RecoverySystem;->LOG_FILE:Ljava/io/File;
-Landroid/os/RecoverySystem;->LOG_FILE_MAX_LENGTH:I
-Landroid/os/RecoverySystem;->MAX_EUICC_FACTORY_RESET_TIMEOUT_MILLIS:J
-Landroid/os/RecoverySystem;->MIN_EUICC_FACTORY_RESET_TIMEOUT_MILLIS:J
-Landroid/os/RecoverySystem;->mService:Landroid/os/IRecoverySystem;
-Landroid/os/RecoverySystem;->PACKAGE_NAME_WIPING_EUICC_DATA_CALLBACK:Ljava/lang/String;
-Landroid/os/RecoverySystem;->parseLastInstallLog(Landroid/content/Context;)V
-Landroid/os/RecoverySystem;->PUBLISH_PROGRESS_INTERVAL_MS:J
-Landroid/os/RecoverySystem;->readAndVerifyPackageCompatibilityEntry(Ljava/io/File;)Z
-Landroid/os/RecoverySystem;->rebootPromptAndWipeUserData(Landroid/content/Context;Ljava/lang/String;)V
-Landroid/os/RecoverySystem;->rebootRecoveryWithCommand(Ljava/lang/String;)V
-Landroid/os/RecoverySystem;->rebootWipeCache(Landroid/content/Context;Ljava/lang/String;)V
-Landroid/os/RecoverySystem;->rebootWipeUserData(Landroid/content/Context;Ljava/lang/String;)V
-Landroid/os/RecoverySystem;->rebootWipeUserData(Landroid/content/Context;Z)V
-Landroid/os/RecoverySystem;->rebootWipeUserData(Landroid/content/Context;ZLjava/lang/String;Z)V
-Landroid/os/RecoverySystem;->rebootWipeUserData(Landroid/content/Context;ZLjava/lang/String;ZZ)V
-Landroid/os/RecoverySystem;->RECOVERY_DIR:Ljava/io/File;
-Landroid/os/RecoverySystem;->recursiveDelete(Ljava/io/File;)V
-Landroid/os/RecoverySystem;->sanitizeArg(Ljava/lang/String;)Ljava/lang/String;
-Landroid/os/RecoverySystem;->setupBcb(Ljava/lang/String;)Z
-Landroid/os/RecoverySystem;->sRequestLock:Ljava/lang/Object;
-Landroid/os/RecoverySystem;->TAG:Ljava/lang/String;
-Landroid/os/RecoverySystem;->uncrypt(Ljava/lang/String;Landroid/os/IRecoverySystemProgressListener;)Z
-Landroid/os/RecoverySystem;->UNCRYPT_PACKAGE_FILE:Ljava/io/File;
-Landroid/os/RecoverySystem;->UNCRYPT_STATUS_FILE:Ljava/io/File;
-Landroid/os/RecoverySystem;->wipeEuiccData(Landroid/content/Context;Ljava/lang/String;)Z
-Landroid/os/Registrant;
-Landroid/os/Registrant;->internalNotifyRegistrant(Ljava/lang/Object;Ljava/lang/Throwable;)V
-Landroid/os/Registrant;->notifyException(Ljava/lang/Throwable;)V
-Landroid/os/Registrant;->refH:Ljava/lang/ref/WeakReference;
-Landroid/os/Registrant;->userObj:Ljava/lang/Object;
-Landroid/os/Registrant;->what:I
-Landroid/os/RegistrantList;
-Landroid/os/RegistrantList;->internalNotifyRegistrants(Ljava/lang/Object;Ljava/lang/Throwable;)V
-Landroid/os/RegistrantList;->notifyException(Ljava/lang/Throwable;)V
-Landroid/os/RegistrantList;->registrants:Ljava/util/ArrayList;
-Landroid/os/RemoteCallback;-><init>(Landroid/os/Parcel;)V
-Landroid/os/RemoteCallback;->mCallback:Landroid/os/IRemoteCallback;
-Landroid/os/RemoteCallback;->mListener:Landroid/os/RemoteCallback$OnResultListener;
-Landroid/os/RemoteCallbackList$Callback;
-Landroid/os/RemoteCallbackList$Callback;-><init>(Landroid/os/IInterface;Ljava/lang/Object;)V
-Landroid/os/RemoteCallbackList$Callback;->mCallback:Landroid/os/IInterface;
-Landroid/os/RemoteCallbackList$Callback;->mCookie:Ljava/lang/Object;
-Landroid/os/RemoteCallbackList;->broadcast(Ljava/util/function/Consumer;)V
-Landroid/os/RemoteCallbackList;->broadcastForEachCookie(Ljava/util/function/Consumer;)V
-Landroid/os/RemoteCallbackList;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-Landroid/os/RemoteCallbackList;->logExcessiveCallbacks()V
-Landroid/os/RemoteCallbackList;->mActiveBroadcast:[Ljava/lang/Object;
-Landroid/os/RemoteCallbackList;->mBroadcastCount:I
-Landroid/os/RemoteCallbackList;->mKilled:Z
-Landroid/os/RemoteCallbackList;->mRecentCallers:Ljava/lang/StringBuilder;
-Landroid/os/RemoteCallbackList;->TAG:Ljava/lang/String;
-Landroid/os/RemoteException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V
-Landroid/os/RemoteException;->rethrowAsRuntimeException()Ljava/lang/RuntimeException;
-Landroid/os/RemoteMailException;
-Landroid/os/RemoteMailException;-><init>()V
-Landroid/os/RemoteMailException;-><init>(Ljava/lang/String;)V
-Landroid/os/ResultReceiver$MyResultReceiver;
-Landroid/os/ResultReceiver$MyResultReceiver;-><init>()V
-Landroid/os/ResultReceiver$MyResultReceiver;->send(ILandroid/os/Bundle;)V
-Landroid/os/ResultReceiver$MyRunnable;
-Landroid/os/ResultReceiver$MyRunnable;-><init>(ILandroid/os/Bundle;)V
-Landroid/os/ResultReceiver$MyRunnable;->mResultCode:I
-Landroid/os/ResultReceiver$MyRunnable;->mResultData:Landroid/os/Bundle;
-Landroid/os/ResultReceiver;-><init>(Landroid/os/Parcel;)V
-Landroid/os/ResultReceiver;->mHandler:Landroid/os/Handler;
-Landroid/os/ResultReceiver;->mLocal:Z
-Landroid/os/ResultReceiver;->mReceiver:Lcom/android/internal/os/IResultReceiver;
-Landroid/os/RevocableFileDescriptor;
-Landroid/os/RevocableFileDescriptor;-><init>()V
-Landroid/os/RevocableFileDescriptor;-><init>(Landroid/content/Context;Ljava/io/File;)V
-Landroid/os/RevocableFileDescriptor;-><init>(Landroid/content/Context;Ljava/io/FileDescriptor;)V
-Landroid/os/RevocableFileDescriptor;->DEBUG:Z
-Landroid/os/RevocableFileDescriptor;->getRevocableFileDescriptor()Landroid/os/ParcelFileDescriptor;
-Landroid/os/RevocableFileDescriptor;->init(Landroid/content/Context;Ljava/io/FileDescriptor;)V
-Landroid/os/RevocableFileDescriptor;->isRevoked()Z
-Landroid/os/RevocableFileDescriptor;->mCallback:Landroid/os/ProxyFileDescriptorCallback;
-Landroid/os/RevocableFileDescriptor;->mInner:Ljava/io/FileDescriptor;
-Landroid/os/RevocableFileDescriptor;->mOuter:Landroid/os/ParcelFileDescriptor;
-Landroid/os/RevocableFileDescriptor;->mRevoked:Z
-Landroid/os/RevocableFileDescriptor;->revoke()V
-Landroid/os/RevocableFileDescriptor;->TAG:Ljava/lang/String;
-Landroid/os/SELinux;
-Landroid/os/SELinux;-><init>()V
-Landroid/os/SELinux;->getPeerContext(Ljava/io/FileDescriptor;)Ljava/lang/String;
-Landroid/os/SELinux;->native_restorecon(Ljava/lang/String;I)Z
-Landroid/os/SELinux;->restorecon(Ljava/io/File;)Z
-Landroid/os/SELinux;->restorecon(Ljava/lang/String;)Z
-Landroid/os/SELinux;->SELINUX_ANDROID_RESTORECON_DATADATA:I
-Landroid/os/SELinux;->SELINUX_ANDROID_RESTORECON_FORCE:I
-Landroid/os/SELinux;->SELINUX_ANDROID_RESTORECON_NOCHANGE:I
-Landroid/os/SELinux;->SELINUX_ANDROID_RESTORECON_RECURSE:I
-Landroid/os/SELinux;->SELINUX_ANDROID_RESTORECON_VERBOSE:I
-Landroid/os/SELinux;->setFileContext(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/os/SELinux;->setFSCreateContext(Ljava/lang/String;)Z
-Landroid/os/SELinux;->TAG:Ljava/lang/String;
-Landroid/os/ServiceManager$ServiceNotFoundException;
-Landroid/os/ServiceManager$ServiceNotFoundException;-><init>(Ljava/lang/String;)V
-Landroid/os/ServiceManager$Stats;
-Landroid/os/ServiceManager$Stats;->COUNT:I
-Landroid/os/ServiceManager$Stats;->GET_SERVICE:I
-Landroid/os/ServiceManager;
-Landroid/os/ServiceManager;->getServiceOrThrow(Ljava/lang/String;)Landroid/os/IBinder;
-Landroid/os/ServiceManager;->GET_SERVICE_LOG_EVERY_CALLS_CORE:I
-Landroid/os/ServiceManager;->GET_SERVICE_LOG_EVERY_CALLS_NON_CORE:I
-Landroid/os/ServiceManager;->GET_SERVICE_SLOW_THRESHOLD_US_CORE:J
-Landroid/os/ServiceManager;->GET_SERVICE_SLOW_THRESHOLD_US_NON_CORE:J
-Landroid/os/ServiceManager;->initServiceCache(Ljava/util/Map;)V
-Landroid/os/ServiceManager;->rawGetService(Ljava/lang/String;)Landroid/os/IBinder;
-Landroid/os/ServiceManager;->sGetServiceAccumulatedCallCount:I
-Landroid/os/ServiceManager;->sGetServiceAccumulatedUs:I
-Landroid/os/ServiceManager;->sLastSlowLogActualTime:J
-Landroid/os/ServiceManager;->sLastSlowLogUptime:J
-Landroid/os/ServiceManager;->sLastStatsLogUptime:J
-Landroid/os/ServiceManager;->sLock:Ljava/lang/Object;
-Landroid/os/ServiceManager;->SLOW_LOG_INTERVAL_MS:I
-Landroid/os/ServiceManager;->sStatLogger:Lcom/android/internal/util/StatLogger;
-Landroid/os/ServiceManager;->STATS_LOG_INTERVAL_MS:I
-Landroid/os/ServiceManager;->TAG:Ljava/lang/String;
-Landroid/os/ServiceManagerNative;
-Landroid/os/ServiceManagerNative;-><init>()V
-Landroid/os/ServiceSpecificException;
-Landroid/os/ServiceSpecificException;-><init>(I)V
-Landroid/os/SharedMemory$Closer;
-Landroid/os/SharedMemory$Closer;-><init>(Ljava/io/FileDescriptor;Landroid/os/SharedMemory$MemoryRegistration;)V
-Landroid/os/SharedMemory$Closer;->mFd:Ljava/io/FileDescriptor;
-Landroid/os/SharedMemory$Closer;->mMemoryReference:Landroid/os/SharedMemory$MemoryRegistration;
-Landroid/os/SharedMemory$MemoryRegistration;
-Landroid/os/SharedMemory$MemoryRegistration;-><init>(I)V
-Landroid/os/SharedMemory$MemoryRegistration;->acquire()Landroid/os/SharedMemory$MemoryRegistration;
-Landroid/os/SharedMemory$MemoryRegistration;->mReferenceCount:I
-Landroid/os/SharedMemory$MemoryRegistration;->mSize:I
-Landroid/os/SharedMemory$MemoryRegistration;->release()V
-Landroid/os/SharedMemory$Unmapper;
-Landroid/os/SharedMemory$Unmapper;-><init>(JILandroid/os/SharedMemory$MemoryRegistration;)V
-Landroid/os/SharedMemory$Unmapper;->mAddress:J
-Landroid/os/SharedMemory$Unmapper;->mMemoryReference:Landroid/os/SharedMemory$MemoryRegistration;
-Landroid/os/SharedMemory$Unmapper;->mSize:I
-Landroid/os/SharedMemory;-><init>(Ljava/io/FileDescriptor;)V
-Landroid/os/SharedMemory;->checkOpen()V
-Landroid/os/SharedMemory;->getFileDescriptor()Ljava/io/FileDescriptor;
-Landroid/os/SharedMemory;->mCleaner:Lsun/misc/Cleaner;
-Landroid/os/SharedMemory;->mFileDescriptor:Ljava/io/FileDescriptor;
-Landroid/os/SharedMemory;->mMemoryRegistration:Landroid/os/SharedMemory$MemoryRegistration;
-Landroid/os/SharedMemory;->mSize:I
-Landroid/os/SharedMemory;->nCreate(Ljava/lang/String;I)Ljava/io/FileDescriptor;
-Landroid/os/SharedMemory;->nGetSize(Ljava/io/FileDescriptor;)I
-Landroid/os/SharedMemory;->nSetProt(Ljava/io/FileDescriptor;I)I
-Landroid/os/SharedMemory;->PROT_MASK:I
-Landroid/os/SharedMemory;->validateProt(I)V
-Landroid/os/ShellCallback$MyShellCallback;
-Landroid/os/ShellCallback$MyShellCallback;-><init>()V
-Landroid/os/ShellCallback$MyShellCallback;->openFile(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-Landroid/os/ShellCallback;
-Landroid/os/ShellCallback;-><init>()V
-Landroid/os/ShellCallback;-><init>(Landroid/os/Parcel;)V
-Landroid/os/ShellCallback;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/os/ShellCallback;->DEBUG:Z
-Landroid/os/ShellCallback;->mLocal:Z
-Landroid/os/ShellCallback;->mShellCallback:Lcom/android/internal/os/IShellCallback;
-Landroid/os/ShellCallback;->onOpenFile(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-Landroid/os/ShellCallback;->openFile(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-Landroid/os/ShellCallback;->TAG:Ljava/lang/String;
-Landroid/os/ShellCallback;->writeToParcel(Landroid/os/ShellCallback;Landroid/os/Parcel;)V
-Landroid/os/ShellCommand;
-Landroid/os/ShellCommand;-><init>()V
-Landroid/os/ShellCommand;->adoptResultReceiver()Landroid/os/ResultReceiver;
-Landroid/os/ShellCommand;->DEBUG:Z
-Landroid/os/ShellCommand;->exec(Landroid/os/Binder;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)I
-Landroid/os/ShellCommand;->getBufferedInputStream()Ljava/io/InputStream;
-Landroid/os/ShellCommand;->getErrFileDescriptor()Ljava/io/FileDescriptor;
-Landroid/os/ShellCommand;->getErrPrintWriter()Ljava/io/PrintWriter;
-Landroid/os/ShellCommand;->getInFileDescriptor()Ljava/io/FileDescriptor;
-Landroid/os/ShellCommand;->getNextArg()Ljava/lang/String;
-Landroid/os/ShellCommand;->getNextArgRequired()Ljava/lang/String;
-Landroid/os/ShellCommand;->getNextOption()Ljava/lang/String;
-Landroid/os/ShellCommand;->getOutFileDescriptor()Ljava/io/FileDescriptor;
-Landroid/os/ShellCommand;->getOutPrintWriter()Ljava/io/PrintWriter;
-Landroid/os/ShellCommand;->getRawErrorStream()Ljava/io/OutputStream;
-Landroid/os/ShellCommand;->getRawInputStream()Ljava/io/InputStream;
-Landroid/os/ShellCommand;->getRawOutputStream()Ljava/io/OutputStream;
-Landroid/os/ShellCommand;->getShellCallback()Landroid/os/ShellCallback;
-Landroid/os/ShellCommand;->handleDefaultCommands(Ljava/lang/String;)I
-Landroid/os/ShellCommand;->init(Landroid/os/Binder;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;I)V
-Landroid/os/ShellCommand;->mArgPos:I
-Landroid/os/ShellCommand;->mArgs:[Ljava/lang/String;
-Landroid/os/ShellCommand;->mCmd:Ljava/lang/String;
-Landroid/os/ShellCommand;->mCurArgData:Ljava/lang/String;
-Landroid/os/ShellCommand;->mErr:Ljava/io/FileDescriptor;
-Landroid/os/ShellCommand;->mErrPrintWriter:Lcom/android/internal/util/FastPrintWriter;
-Landroid/os/ShellCommand;->mFileErr:Ljava/io/FileOutputStream;
-Landroid/os/ShellCommand;->mFileIn:Ljava/io/FileInputStream;
-Landroid/os/ShellCommand;->mFileOut:Ljava/io/FileOutputStream;
-Landroid/os/ShellCommand;->mIn:Ljava/io/FileDescriptor;
-Landroid/os/ShellCommand;->mInputStream:Ljava/io/InputStream;
-Landroid/os/ShellCommand;->mOut:Ljava/io/FileDescriptor;
-Landroid/os/ShellCommand;->mOutPrintWriter:Lcom/android/internal/util/FastPrintWriter;
-Landroid/os/ShellCommand;->mResultReceiver:Landroid/os/ResultReceiver;
-Landroid/os/ShellCommand;->mShellCallback:Landroid/os/ShellCallback;
-Landroid/os/ShellCommand;->mTarget:Landroid/os/Binder;
-Landroid/os/ShellCommand;->onCommand(Ljava/lang/String;)I
-Landroid/os/ShellCommand;->onHelp()V
-Landroid/os/ShellCommand;->openFileForSystem(Ljava/lang/String;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-Landroid/os/ShellCommand;->TAG:Ljava/lang/String;
-Landroid/os/SimpleClock;
-Landroid/os/SimpleClock;-><init>(Ljava/time/ZoneId;)V
-Landroid/os/SimpleClock;->zone:Ljava/time/ZoneId;
-Landroid/os/StatFs;->doStat(Ljava/lang/String;)Landroid/system/StructStatVfs;
-Landroid/os/StatsDimensionsValue;-><init>(Landroid/os/Parcel;)V
-Landroid/os/StatsDimensionsValue;->mField:I
-Landroid/os/StatsDimensionsValue;->mValue:Ljava/lang/Object;
-Landroid/os/StatsDimensionsValue;->mValueType:I
-Landroid/os/StatsDimensionsValue;->readValueFromParcel(ILandroid/os/Parcel;)Ljava/lang/Object;
-Landroid/os/StatsDimensionsValue;->TAG:Ljava/lang/String;
-Landroid/os/StatsDimensionsValue;->writeValueToParcel(ILjava/lang/Object;Landroid/os/Parcel;I)Z
-Landroid/os/StatsLogEventWrapper;
-Landroid/os/StatsLogEventWrapper;-><init>(JII)V
-Landroid/os/StatsLogEventWrapper;-><init>(Landroid/os/Parcel;)V
-Landroid/os/StatsLogEventWrapper;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/os/StatsLogEventWrapper;->EVENT_TYPE_FLOAT:I
-Landroid/os/StatsLogEventWrapper;->EVENT_TYPE_INT:I
-Landroid/os/StatsLogEventWrapper;->EVENT_TYPE_LIST:I
-Landroid/os/StatsLogEventWrapper;->EVENT_TYPE_LONG:I
-Landroid/os/StatsLogEventWrapper;->EVENT_TYPE_STRING:I
-Landroid/os/StatsLogEventWrapper;->mStorage:Ljava/io/ByteArrayOutputStream;
-Landroid/os/StatsLogEventWrapper;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/os/StatsLogEventWrapper;->STATS_BUFFER_TAG_ID:I
-Landroid/os/StatsLogEventWrapper;->write4Bytes(I)V
-Landroid/os/StatsLogEventWrapper;->write8Bytes(J)V
-Landroid/os/StatsLogEventWrapper;->writeFloat(F)V
-Landroid/os/StatsLogEventWrapper;->writeInt(I)V
-Landroid/os/StatsLogEventWrapper;->writeLong(J)V
-Landroid/os/StatsLogEventWrapper;->writeString(Ljava/lang/String;)V
-Landroid/os/storage/DiskInfo;
-Landroid/os/storage/DiskInfo;-><init>(Ljava/lang/String;I)V
-Landroid/os/storage/DiskInfo;->ACTION_DISK_SCANNED:Ljava/lang/String;
-Landroid/os/storage/DiskInfo;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-Landroid/os/storage/DiskInfo;->EXTRA_DISK_ID:Ljava/lang/String;
-Landroid/os/storage/DiskInfo;->EXTRA_VOLUME_COUNT:Ljava/lang/String;
-Landroid/os/storage/DiskInfo;->FLAG_ADOPTABLE:I
-Landroid/os/storage/DiskInfo;->FLAG_DEFAULT_PRIMARY:I
-Landroid/os/storage/DiskInfo;->FLAG_SD:I
-Landroid/os/storage/DiskInfo;->FLAG_USB:I
-Landroid/os/storage/DiskInfo;->getShortDescription()Ljava/lang/String;
-Landroid/os/storage/DiskInfo;->id:Ljava/lang/String;
-Landroid/os/storage/DiskInfo;->isInteresting(Ljava/lang/String;)Z
-Landroid/os/storage/DiskInfo;->sysPath:Ljava/lang/String;
-Landroid/os/storage/DiskInfo;->volumeCount:I
-Landroid/os/storage/IObbActionListener$Stub$Proxy;
-Landroid/os/storage/IObbActionListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/storage/IObbActionListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/storage/IObbActionListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/storage/IObbActionListener$Stub$Proxy;->onObbResult(Ljava/lang/String;II)V
-Landroid/os/storage/IObbActionListener$Stub;
-Landroid/os/storage/IObbActionListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/storage/IObbActionListener$Stub;->TRANSACTION_onObbResult:I
-Landroid/os/storage/IObbActionListener;
-Landroid/os/storage/IObbActionListener;->onObbResult(Ljava/lang/String;II)V
-Landroid/os/storage/IStorageEventListener$Stub$Proxy;
-Landroid/os/storage/IStorageEventListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/storage/IStorageEventListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/storage/IStorageEventListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/storage/IStorageEventListener$Stub$Proxy;->onDiskDestroyed(Landroid/os/storage/DiskInfo;)V
-Landroid/os/storage/IStorageEventListener$Stub$Proxy;->onDiskScanned(Landroid/os/storage/DiskInfo;I)V
-Landroid/os/storage/IStorageEventListener$Stub$Proxy;->onStorageStateChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/storage/IStorageEventListener$Stub$Proxy;->onUsbMassStorageConnectionChanged(Z)V
-Landroid/os/storage/IStorageEventListener$Stub$Proxy;->onVolumeForgotten(Ljava/lang/String;)V
-Landroid/os/storage/IStorageEventListener$Stub$Proxy;->onVolumeRecordChanged(Landroid/os/storage/VolumeRecord;)V
-Landroid/os/storage/IStorageEventListener$Stub$Proxy;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
-Landroid/os/storage/IStorageEventListener$Stub;
-Landroid/os/storage/IStorageEventListener$Stub;-><init>()V
-Landroid/os/storage/IStorageEventListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/storage/IStorageEventListener;
-Landroid/os/storage/IStorageEventListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/storage/IStorageEventListener$Stub;->TRANSACTION_onDiskDestroyed:I
-Landroid/os/storage/IStorageEventListener$Stub;->TRANSACTION_onDiskScanned:I
-Landroid/os/storage/IStorageEventListener$Stub;->TRANSACTION_onStorageStateChanged:I
-Landroid/os/storage/IStorageEventListener$Stub;->TRANSACTION_onUsbMassStorageConnectionChanged:I
-Landroid/os/storage/IStorageEventListener$Stub;->TRANSACTION_onVolumeForgotten:I
-Landroid/os/storage/IStorageEventListener$Stub;->TRANSACTION_onVolumeRecordChanged:I
-Landroid/os/storage/IStorageEventListener$Stub;->TRANSACTION_onVolumeStateChanged:I
-Landroid/os/storage/IStorageEventListener;
-Landroid/os/storage/IStorageEventListener;->onDiskDestroyed(Landroid/os/storage/DiskInfo;)V
-Landroid/os/storage/IStorageEventListener;->onDiskScanned(Landroid/os/storage/DiskInfo;I)V
-Landroid/os/storage/IStorageEventListener;->onStorageStateChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/storage/IStorageEventListener;->onUsbMassStorageConnectionChanged(Z)V
-Landroid/os/storage/IStorageEventListener;->onVolumeForgotten(Ljava/lang/String;)V
-Landroid/os/storage/IStorageEventListener;->onVolumeRecordChanged(Landroid/os/storage/VolumeRecord;)V
-Landroid/os/storage/IStorageEventListener;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;
-Landroid/os/storage/IStorageManager$Stub$Proxy;->abortIdleMaintenance()V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->addUserKeyAuth(II[B[B)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->allocateBytes(Ljava/lang/String;JILjava/lang/String;)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->benchmark(Ljava/lang/String;Landroid/os/IVoldTaskListener;)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->changeEncryptionPassword(ILjava/lang/String;)I
-Landroid/os/storage/IStorageManager$Stub$Proxy;->clearPassword()V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->createUserKey(IIZ)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->decryptStorage(Ljava/lang/String;)I
-Landroid/os/storage/IStorageManager$Stub$Proxy;->destroyUserKey(I)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->destroyUserStorage(Ljava/lang/String;II)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->encryptStorage(ILjava/lang/String;)I
-Landroid/os/storage/IStorageManager$Stub$Proxy;->fixateNewestUserKeyAuth(I)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->forgetAllVolumes()V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->forgetVolume(Ljava/lang/String;)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->format(Ljava/lang/String;)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->fstrim(ILandroid/os/IVoldTaskListener;)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->getAllocatableBytes(Ljava/lang/String;ILjava/lang/String;)J
-Landroid/os/storage/IStorageManager$Stub$Proxy;->getCacheQuotaBytes(Ljava/lang/String;I)J
-Landroid/os/storage/IStorageManager$Stub$Proxy;->getCacheSizeBytes(Ljava/lang/String;I)J
-Landroid/os/storage/IStorageManager$Stub$Proxy;->getDisks()[Landroid/os/storage/DiskInfo;
-Landroid/os/storage/IStorageManager$Stub$Proxy;->getEncryptionState()I
-Landroid/os/storage/IStorageManager$Stub$Proxy;->getField(Ljava/lang/String;)Ljava/lang/String;
-Landroid/os/storage/IStorageManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/storage/IStorageManager$Stub$Proxy;->getMountedObbPath(Ljava/lang/String;)Ljava/lang/String;
-Landroid/os/storage/IStorageManager$Stub$Proxy;->getPassword()Ljava/lang/String;
-Landroid/os/storage/IStorageManager$Stub$Proxy;->getPasswordType()I
-Landroid/os/storage/IStorageManager$Stub$Proxy;->getPrimaryStorageUuid()Ljava/lang/String;
-Landroid/os/storage/IStorageManager$Stub$Proxy;->getVolumeList(ILjava/lang/String;I)[Landroid/os/storage/StorageVolume;
-Landroid/os/storage/IStorageManager$Stub$Proxy;->getVolumeRecords(I)[Landroid/os/storage/VolumeRecord;
-Landroid/os/storage/IStorageManager$Stub$Proxy;->getVolumes(I)[Landroid/os/storage/VolumeInfo;
-Landroid/os/storage/IStorageManager$Stub$Proxy;->isConvertibleToFBE()Z
-Landroid/os/storage/IStorageManager$Stub$Proxy;->isObbMounted(Ljava/lang/String;)Z
-Landroid/os/storage/IStorageManager$Stub$Proxy;->isUserKeyUnlocked(I)Z
-Landroid/os/storage/IStorageManager$Stub$Proxy;->lastMaintenance()J
-Landroid/os/storage/IStorageManager$Stub$Proxy;->lockUserKey(I)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->mkdirs(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->mount(Ljava/lang/String;)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->mountObb(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/storage/IObbActionListener;I)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->mountProxyFileDescriptorBridge()Lcom/android/internal/os/AppFuseMount;
-Landroid/os/storage/IStorageManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/storage/IStorageManager$Stub$Proxy;->openProxyFileDescriptor(III)Landroid/os/ParcelFileDescriptor;
-Landroid/os/storage/IStorageManager$Stub$Proxy;->partitionMixed(Ljava/lang/String;I)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->partitionPrivate(Ljava/lang/String;)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->partitionPublic(Ljava/lang/String;)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->prepareUserStorage(Ljava/lang/String;III)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->registerListener(Landroid/os/storage/IStorageEventListener;)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->runIdleMaintenance()V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->runMaintenance()V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->setDebugFlags(II)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->setField(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->setPrimaryStorageUuid(Ljava/lang/String;Landroid/content/pm/IPackageMoveObserver;)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->setVolumeNickname(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->setVolumeUserFlags(Ljava/lang/String;II)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->shutdown(Landroid/os/storage/IStorageShutdownObserver;)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->unlockUserKey(II[B[B)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->unmount(Ljava/lang/String;)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->unmountObb(Ljava/lang/String;ZLandroid/os/storage/IObbActionListener;I)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->unregisterListener(Landroid/os/storage/IStorageEventListener;)V
-Landroid/os/storage/IStorageManager$Stub$Proxy;->verifyEncryptionPassword(Ljava/lang/String;)I
-Landroid/os/storage/IStorageManager$Stub;
-Landroid/os/storage/IStorageManager$Stub;-><init>()V
-Landroid/os/storage/IStorageManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_abortIdleMaintenance:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_addUserKeyAuth:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_allocateBytes:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_benchmark:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_changeEncryptionPassword:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_clearPassword:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_createUserKey:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_decryptStorage:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_destroyUserKey:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_destroyUserStorage:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_encryptStorage:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_fixateNewestUserKeyAuth:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_forgetAllVolumes:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_forgetVolume:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_format:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_fstrim:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_getAllocatableBytes:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_getCacheQuotaBytes:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_getCacheSizeBytes:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_getDisks:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_getEncryptionState:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_getField:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_getMountedObbPath:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_getPassword:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_getPasswordType:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_getPrimaryStorageUuid:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_getVolumeList:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_getVolumeRecords:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_getVolumes:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_isConvertibleToFBE:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_isObbMounted:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_isUserKeyUnlocked:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_lastMaintenance:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_lockUserKey:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_mkdirs:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_mount:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_mountObb:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_mountProxyFileDescriptorBridge:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_openProxyFileDescriptor:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_partitionMixed:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_partitionPrivate:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_partitionPublic:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_prepareUserStorage:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_registerListener:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_runIdleMaintenance:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_runMaintenance:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_setDebugFlags:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_setField:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_setPrimaryStorageUuid:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_setVolumeNickname:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_setVolumeUserFlags:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_shutdown:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_unlockUserKey:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_unmount:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_unmountObb:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_unregisterListener:I
-Landroid/os/storage/IStorageManager$Stub;->TRANSACTION_verifyEncryptionPassword:I
-Landroid/os/storage/IStorageManager;
-Landroid/os/storage/IStorageManager;->abortIdleMaintenance()V
-Landroid/os/storage/IStorageManager;->addUserKeyAuth(II[B[B)V
-Landroid/os/storage/IStorageManager;->allocateBytes(Ljava/lang/String;JILjava/lang/String;)V
-Landroid/os/storage/IStorageManager;->benchmark(Ljava/lang/String;Landroid/os/IVoldTaskListener;)V
-Landroid/os/storage/IStorageManager;->changeEncryptionPassword(ILjava/lang/String;)I
-Landroid/os/storage/IStorageManager;->clearPassword()V
-Landroid/os/storage/IStorageManager;->createUserKey(IIZ)V
-Landroid/os/storage/IStorageManager;->decryptStorage(Ljava/lang/String;)I
-Landroid/os/storage/IStorageManager;->destroyUserKey(I)V
-Landroid/os/storage/IStorageManager;->destroyUserStorage(Ljava/lang/String;II)V
-Landroid/os/storage/IStorageManager;->encryptStorage(ILjava/lang/String;)I
-Landroid/os/storage/IStorageManager;->fixateNewestUserKeyAuth(I)V
-Landroid/os/storage/IStorageManager;->forgetAllVolumes()V
-Landroid/os/storage/IStorageManager;->forgetVolume(Ljava/lang/String;)V
-Landroid/os/storage/IStorageManager;->format(Ljava/lang/String;)V
-Landroid/os/storage/IStorageManager;->fstrim(ILandroid/os/IVoldTaskListener;)V
-Landroid/os/storage/IStorageManager;->getAllocatableBytes(Ljava/lang/String;ILjava/lang/String;)J
-Landroid/os/storage/IStorageManager;->getCacheQuotaBytes(Ljava/lang/String;I)J
-Landroid/os/storage/IStorageManager;->getCacheSizeBytes(Ljava/lang/String;I)J
-Landroid/os/storage/IStorageManager;->getDisks()[Landroid/os/storage/DiskInfo;
-Landroid/os/storage/IStorageManager;->getEncryptionState()I
-Landroid/os/storage/IStorageManager;->getField(Ljava/lang/String;)Ljava/lang/String;
-Landroid/os/storage/IStorageManager;->getMountedObbPath(Ljava/lang/String;)Ljava/lang/String;
-Landroid/os/storage/IStorageManager;->getPassword()Ljava/lang/String;
-Landroid/os/storage/IStorageManager;->getPasswordType()I
-Landroid/os/storage/IStorageManager;->getPrimaryStorageUuid()Ljava/lang/String;
-Landroid/os/storage/IStorageManager;->getVolumeList(ILjava/lang/String;I)[Landroid/os/storage/StorageVolume;
-Landroid/os/storage/IStorageManager;->getVolumeRecords(I)[Landroid/os/storage/VolumeRecord;
-Landroid/os/storage/IStorageManager;->getVolumes(I)[Landroid/os/storage/VolumeInfo;
-Landroid/os/storage/IStorageManager;->isConvertibleToFBE()Z
-Landroid/os/storage/IStorageManager;->isObbMounted(Ljava/lang/String;)Z
-Landroid/os/storage/IStorageManager;->isUserKeyUnlocked(I)Z
-Landroid/os/storage/IStorageManager;->lastMaintenance()J
-Landroid/os/storage/IStorageManager;->lockUserKey(I)V
-Landroid/os/storage/IStorageManager;->mkdirs(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/storage/IStorageManager;->mount(Ljava/lang/String;)V
-Landroid/os/storage/IStorageManager;->mountObb(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/storage/IObbActionListener;I)V
-Landroid/os/storage/IStorageManager;->mountProxyFileDescriptorBridge()Lcom/android/internal/os/AppFuseMount;
-Landroid/os/storage/IStorageManager;->openProxyFileDescriptor(III)Landroid/os/ParcelFileDescriptor;
-Landroid/os/storage/IStorageManager;->partitionMixed(Ljava/lang/String;I)V
-Landroid/os/storage/IStorageManager;->partitionPrivate(Ljava/lang/String;)V
-Landroid/os/storage/IStorageManager;->partitionPublic(Ljava/lang/String;)V
-Landroid/os/storage/IStorageManager;->prepareUserStorage(Ljava/lang/String;III)V
-Landroid/os/storage/IStorageManager;->registerListener(Landroid/os/storage/IStorageEventListener;)V
-Landroid/os/storage/IStorageManager;->runIdleMaintenance()V
-Landroid/os/storage/IStorageManager;->runMaintenance()V
-Landroid/os/storage/IStorageManager;->setDebugFlags(II)V
-Landroid/os/storage/IStorageManager;->setField(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/storage/IStorageManager;->setPrimaryStorageUuid(Ljava/lang/String;Landroid/content/pm/IPackageMoveObserver;)V
-Landroid/os/storage/IStorageManager;->setVolumeNickname(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/storage/IStorageManager;->setVolumeUserFlags(Ljava/lang/String;II)V
-Landroid/os/storage/IStorageManager;->shutdown(Landroid/os/storage/IStorageShutdownObserver;)V
-Landroid/os/storage/IStorageManager;->unlockUserKey(II[B[B)V
-Landroid/os/storage/IStorageManager;->unmount(Ljava/lang/String;)V
-Landroid/os/storage/IStorageManager;->unmountObb(Ljava/lang/String;ZLandroid/os/storage/IObbActionListener;I)V
-Landroid/os/storage/IStorageManager;->unregisterListener(Landroid/os/storage/IStorageEventListener;)V
-Landroid/os/storage/IStorageManager;->verifyEncryptionPassword(Ljava/lang/String;)I
-Landroid/os/storage/IStorageShutdownObserver$Stub$Proxy;
-Landroid/os/storage/IStorageShutdownObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/storage/IStorageShutdownObserver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/os/storage/IStorageShutdownObserver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/storage/IStorageShutdownObserver$Stub$Proxy;->onShutDownComplete(I)V
-Landroid/os/storage/IStorageShutdownObserver$Stub;
-Landroid/os/storage/IStorageShutdownObserver$Stub;-><init>()V
-Landroid/os/storage/IStorageShutdownObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/storage/IStorageShutdownObserver;
-Landroid/os/storage/IStorageShutdownObserver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/os/storage/IStorageShutdownObserver$Stub;->TRANSACTION_onShutDownComplete:I
-Landroid/os/storage/IStorageShutdownObserver;
-Landroid/os/storage/IStorageShutdownObserver;->onShutDownComplete(I)V
-Landroid/os/storage/StorageEventListener;
-Landroid/os/storage/StorageManager$AllocateFlags;
-Landroid/os/storage/StorageManager$ObbActionListener;
-Landroid/os/storage/StorageManager$ObbActionListener;-><init>()V
-Landroid/os/storage/StorageManager$ObbActionListener;->addListener(Landroid/os/storage/OnObbStateChangeListener;)I
-Landroid/os/storage/StorageManager$ObbActionListener;->mListeners:Landroid/util/SparseArray;
-Landroid/os/storage/StorageManager$ObbActionListener;->onObbResult(Ljava/lang/String;II)V
-Landroid/os/storage/StorageManager$ObbListenerDelegate;
-Landroid/os/storage/StorageManager$ObbListenerDelegate;-><init>(Landroid/os/storage/OnObbStateChangeListener;)V
-Landroid/os/storage/StorageManager$ObbListenerDelegate;->getListener()Landroid/os/storage/OnObbStateChangeListener;
-Landroid/os/storage/StorageManager$ObbListenerDelegate;->mHandler:Landroid/os/Handler;
-Landroid/os/storage/StorageManager$ObbListenerDelegate;->mObbEventListenerRef:Ljava/lang/ref/WeakReference;
-Landroid/os/storage/StorageManager$ObbListenerDelegate;->nonce:I
-Landroid/os/storage/StorageManager$ObbListenerDelegate;->sendObbStateChanged(Ljava/lang/String;I)V
-Landroid/os/storage/StorageManager$StorageEventListenerDelegate;
-Landroid/os/storage/StorageManager$StorageEventListenerDelegate;-><init>(Landroid/os/storage/StorageEventListener;Landroid/os/Looper;)V
-Landroid/os/storage/StorageManager$StorageEventListenerDelegate;->mCallback:Landroid/os/storage/StorageEventListener;
-Landroid/os/storage/StorageManager$StorageEventListenerDelegate;->mHandler:Landroid/os/Handler;
-Landroid/os/storage/StorageManager$StorageEventListenerDelegate;->MSG_DISK_DESTROYED:I
-Landroid/os/storage/StorageManager$StorageEventListenerDelegate;->MSG_DISK_SCANNED:I
-Landroid/os/storage/StorageManager$StorageEventListenerDelegate;->MSG_STORAGE_STATE_CHANGED:I
-Landroid/os/storage/StorageManager$StorageEventListenerDelegate;->MSG_VOLUME_FORGOTTEN:I
-Landroid/os/storage/StorageManager$StorageEventListenerDelegate;->MSG_VOLUME_RECORD_CHANGED:I
-Landroid/os/storage/StorageManager$StorageEventListenerDelegate;->MSG_VOLUME_STATE_CHANGED:I
-Landroid/os/storage/StorageManager$StorageEventListenerDelegate;->onDiskDestroyed(Landroid/os/storage/DiskInfo;)V
-Landroid/os/storage/StorageManager$StorageEventListenerDelegate;->onDiskScanned(Landroid/os/storage/DiskInfo;I)V
-Landroid/os/storage/StorageManager$StorageEventListenerDelegate;->onStorageStateChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/storage/StorageManager$StorageEventListenerDelegate;->onUsbMassStorageConnectionChanged(Z)V
-Landroid/os/storage/StorageManager$StorageEventListenerDelegate;->onVolumeForgotten(Ljava/lang/String;)V
-Landroid/os/storage/StorageManager$StorageEventListenerDelegate;->onVolumeRecordChanged(Landroid/os/storage/VolumeRecord;)V
-Landroid/os/storage/StorageManager$StorageEventListenerDelegate;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
-Landroid/os/storage/StorageManager;->benchmark(Ljava/lang/String;)J
-Landroid/os/storage/StorageManager;->benchmark(Ljava/lang/String;Landroid/os/IVoldTaskListener;)V
-Landroid/os/storage/StorageManager;->convert(Ljava/lang/String;)Ljava/util/UUID;
-Landroid/os/storage/StorageManager;->convert(Ljava/util/UUID;)Ljava/lang/String;
-Landroid/os/storage/StorageManager;->createUserKey(IIZ)V
-Landroid/os/storage/StorageManager;->CRYPT_TYPE_PATTERN:I
-Landroid/os/storage/StorageManager;->CRYPT_TYPE_PIN:I
-Landroid/os/storage/StorageManager;->DEBUG_ADOPTABLE_FORCE_OFF:I
-Landroid/os/storage/StorageManager;->DEBUG_ADOPTABLE_FORCE_ON:I
-Landroid/os/storage/StorageManager;->DEBUG_EMULATE_FBE:I
-Landroid/os/storage/StorageManager;->DEBUG_SDCARDFS_FORCE_OFF:I
-Landroid/os/storage/StorageManager;->DEBUG_SDCARDFS_FORCE_ON:I
-Landroid/os/storage/StorageManager;->DEBUG_VIRTUAL_DISK:I
-Landroid/os/storage/StorageManager;->DEFAULT_CACHE_MAX_BYTES:J
-Landroid/os/storage/StorageManager;->DEFAULT_CACHE_PERCENTAGE:I
-Landroid/os/storage/StorageManager;->DEFAULT_FULL_THRESHOLD_BYTES:J
-Landroid/os/storage/StorageManager;->DEFAULT_THRESHOLD_MAX_BYTES:J
-Landroid/os/storage/StorageManager;->DEFAULT_THRESHOLD_PERCENTAGE:I
-Landroid/os/storage/StorageManager;->destroyUserKey(I)V
-Landroid/os/storage/StorageManager;->destroyUserStorage(Ljava/lang/String;II)V
-Landroid/os/storage/StorageManager;->ENCRYPTION_STATE_ERROR_CORRUPT:I
-Landroid/os/storage/StorageManager;->ENCRYPTION_STATE_ERROR_INCOMPLETE:I
-Landroid/os/storage/StorageManager;->ENCRYPTION_STATE_ERROR_INCONSISTENT:I
-Landroid/os/storage/StorageManager;->ENCRYPTION_STATE_ERROR_UNKNOWN:I
-Landroid/os/storage/StorageManager;->ENCRYPTION_STATE_OK:I
-Landroid/os/storage/StorageManager;->findPathForUuid(Ljava/lang/String;)Ljava/io/File;
-Landroid/os/storage/StorageManager;->findPrivateForEmulated(Landroid/os/storage/VolumeInfo;)Landroid/os/storage/VolumeInfo;
-Landroid/os/storage/StorageManager;->findRecordByUuid(Ljava/lang/String;)Landroid/os/storage/VolumeRecord;
-Landroid/os/storage/StorageManager;->findVolumeByQualifiedUuid(Ljava/lang/String;)Landroid/os/storage/VolumeInfo;
-Landroid/os/storage/StorageManager;->FLAG_ALLOCATE_DEFY_ALL_RESERVED:I
-Landroid/os/storage/StorageManager;->FLAG_ALLOCATE_DEFY_HALF_RESERVED:I
-Landroid/os/storage/StorageManager;->FLAG_FOR_WRITE:I
-Landroid/os/storage/StorageManager;->FLAG_INCLUDE_INVISIBLE:I
-Landroid/os/storage/StorageManager;->FLAG_REAL_STATE:I
-Landroid/os/storage/StorageManager;->FLAG_STORAGE_CE:I
-Landroid/os/storage/StorageManager;->FLAG_STORAGE_DE:I
-Landroid/os/storage/StorageManager;->forgetVolume(Ljava/lang/String;)V
-Landroid/os/storage/StorageManager;->FSTRIM_FLAG_DEEP:I
-Landroid/os/storage/StorageManager;->getNextNonce()I
-Landroid/os/storage/StorageManager;->getPrimaryStoragePathAndSize()Landroid/util/Pair;
-Landroid/os/storage/StorageManager;->getPrimaryStorageSize()J
-Landroid/os/storage/StorageManager;->getPrimaryStorageUuid()Ljava/lang/String;
-Landroid/os/storage/StorageManager;->getPrimaryVolume([Landroid/os/storage/StorageVolume;)Landroid/os/storage/StorageVolume;
-Landroid/os/storage/StorageManager;->getProxyFileDescriptorMountPointId()I
-Landroid/os/storage/StorageManager;->getStorageCacheBytes(Ljava/io/File;I)J
-Landroid/os/storage/StorageManager;->getStorageVolume(Ljava/io/File;I)Landroid/os/storage/StorageVolume;
-Landroid/os/storage/StorageManager;->getVolumeRecords()Ljava/util/List;
-Landroid/os/storage/StorageManager;->getWritablePrivateVolumes()Ljava/util/List;
-Landroid/os/storage/StorageManager;->hasAdoptable()Z
-Landroid/os/storage/StorageManager;->inCryptKeeperBounce()Z
-Landroid/os/storage/StorageManager;->isBlockEncrypted()Z
-Landroid/os/storage/StorageManager;->isBlockEncrypting()Z
-Landroid/os/storage/StorageManager;->isCacheBehavior(Ljava/io/File;Ljava/lang/String;)Z
-Landroid/os/storage/StorageManager;->isEncryptable()Z
-Landroid/os/storage/StorageManager;->isEncrypted()Z
-Landroid/os/storage/StorageManager;->isFileEncryptedEmulatedOnly()Z
-Landroid/os/storage/StorageManager;->isFileEncryptedNativeOrEmulated()Z
-Landroid/os/storage/StorageManager;->isNonDefaultBlockEncrypted()Z
-Landroid/os/storage/StorageManager;->isUserKeyUnlocked(I)Z
-Landroid/os/storage/StorageManager;->lockUserKey(I)V
-Landroid/os/storage/StorageManager;->maybeTranslateEmulatedPathToInternal(Ljava/io/File;)Ljava/io/File;
-Landroid/os/storage/StorageManager;->mContext:Landroid/content/Context;
-Landroid/os/storage/StorageManager;->mDelegates:Ljava/util/ArrayList;
-Landroid/os/storage/StorageManager;->mFuseAppLoop:Lcom/android/internal/os/FuseAppLoop;
-Landroid/os/storage/StorageManager;->mFuseAppLoopLock:Ljava/lang/Object;
-Landroid/os/storage/StorageManager;->mkdirs(Ljava/io/File;)V
-Landroid/os/storage/StorageManager;->mLooper:Landroid/os/Looper;
-Landroid/os/storage/StorageManager;->mNextNonce:Ljava/util/concurrent/atomic/AtomicInteger;
-Landroid/os/storage/StorageManager;->mObbActionListener:Landroid/os/storage/StorageManager$ObbActionListener;
-Landroid/os/storage/StorageManager;->mount(Ljava/lang/String;)V
-Landroid/os/storage/StorageManager;->mResolver:Landroid/content/ContentResolver;
-Landroid/os/storage/StorageManager;->mStorageManager:Landroid/os/storage/IStorageManager;
-Landroid/os/storage/StorageManager;->openProxyFileDescriptor(ILandroid/os/ProxyFileDescriptorCallback;)Landroid/os/ParcelFileDescriptor;
-Landroid/os/storage/StorageManager;->openProxyFileDescriptor(ILandroid/os/ProxyFileDescriptorCallback;Landroid/os/Handler;Ljava/util/concurrent/ThreadFactory;)Landroid/os/ParcelFileDescriptor;
-Landroid/os/storage/StorageManager;->OWNER_INFO_KEY:Ljava/lang/String;
-Landroid/os/storage/StorageManager;->partitionMixed(Ljava/lang/String;I)V
-Landroid/os/storage/StorageManager;->partitionPrivate(Ljava/lang/String;)V
-Landroid/os/storage/StorageManager;->PASSWORD_VISIBLE_KEY:Ljava/lang/String;
-Landroid/os/storage/StorageManager;->PATTERN_VISIBLE_KEY:Ljava/lang/String;
-Landroid/os/storage/StorageManager;->prepareUserStorage(Ljava/lang/String;III)V
-Landroid/os/storage/StorageManager;->PROP_ADOPTABLE:Ljava/lang/String;
-Landroid/os/storage/StorageManager;->PROP_EMULATE_FBE:Ljava/lang/String;
-Landroid/os/storage/StorageManager;->PROP_HAS_ADOPTABLE:Ljava/lang/String;
-Landroid/os/storage/StorageManager;->PROP_HAS_RESERVED:Ljava/lang/String;
-Landroid/os/storage/StorageManager;->PROP_PRIMARY_PHYSICAL:Ljava/lang/String;
-Landroid/os/storage/StorageManager;->PROP_SDCARDFS:Ljava/lang/String;
-Landroid/os/storage/StorageManager;->PROP_VIRTUAL_DISK:Ljava/lang/String;
-Landroid/os/storage/StorageManager;->setCacheBehavior(Ljava/io/File;Ljava/lang/String;Z)V
-Landroid/os/storage/StorageManager;->setPrimaryStorageUuid(Ljava/lang/String;Landroid/content/pm/IPackageMoveObserver;)V
-Landroid/os/storage/StorageManager;->setVolumeInited(Ljava/lang/String;Z)V
-Landroid/os/storage/StorageManager;->setVolumeNickname(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/storage/StorageManager;->setVolumeSnoozed(Ljava/lang/String;Z)V
-Landroid/os/storage/StorageManager;->sStorageManager:Landroid/os/storage/IStorageManager;
-Landroid/os/storage/StorageManager;->SYSTEM_LOCALE_KEY:Ljava/lang/String;
-Landroid/os/storage/StorageManager;->TAG:Ljava/lang/String;
-Landroid/os/storage/StorageManager;->unlockUserKey(II[B[B)V
-Landroid/os/storage/StorageManager;->UUID_PRIMARY_PHYSICAL:Ljava/lang/String;
-Landroid/os/storage/StorageManager;->UUID_PRIMARY_PHYSICAL_:Ljava/util/UUID;
-Landroid/os/storage/StorageManager;->UUID_PRIVATE_INTERNAL:Ljava/lang/String;
-Landroid/os/storage/StorageManager;->UUID_SYSTEM:Ljava/lang/String;
-Landroid/os/storage/StorageManager;->UUID_SYSTEM_:Ljava/util/UUID;
-Landroid/os/storage/StorageManager;->wipeAdoptableDisks()V
-Landroid/os/storage/StorageManager;->XATTR_CACHE_GROUP:Ljava/lang/String;
-Landroid/os/storage/StorageManager;->XATTR_CACHE_TOMBSTONE:Ljava/lang/String;
-Landroid/os/storage/StorageManagerInternal$ExternalStorageMountPolicy;
-Landroid/os/storage/StorageManagerInternal$ExternalStorageMountPolicy;->getMountMode(ILjava/lang/String;)I
-Landroid/os/storage/StorageManagerInternal$ExternalStorageMountPolicy;->hasExternalStorage(ILjava/lang/String;)Z
-Landroid/os/storage/StorageManagerInternal;
-Landroid/os/storage/StorageManagerInternal;-><init>()V
-Landroid/os/storage/StorageManagerInternal;->addExternalStoragePolicy(Landroid/os/storage/StorageManagerInternal$ExternalStorageMountPolicy;)V
-Landroid/os/storage/StorageManagerInternal;->getExternalStorageMountMode(ILjava/lang/String;)I
-Landroid/os/storage/StorageManagerInternal;->onExternalStoragePolicyChanged(ILjava/lang/String;)V
-Landroid/os/storage/StorageVolume$ScopedAccessProviderContract;
-Landroid/os/storage/StorageVolume$ScopedAccessProviderContract;-><init>()V
-Landroid/os/storage/StorageVolume$ScopedAccessProviderContract;->AUTHORITY:Ljava/lang/String;
-Landroid/os/storage/StorageVolume$ScopedAccessProviderContract;->COL_DIRECTORY:Ljava/lang/String;
-Landroid/os/storage/StorageVolume$ScopedAccessProviderContract;->COL_GRANTED:Ljava/lang/String;
-Landroid/os/storage/StorageVolume$ScopedAccessProviderContract;->COL_PACKAGE:Ljava/lang/String;
-Landroid/os/storage/StorageVolume$ScopedAccessProviderContract;->COL_VOLUME_UUID:Ljava/lang/String;
-Landroid/os/storage/StorageVolume$ScopedAccessProviderContract;->TABLE_PACKAGES:Ljava/lang/String;
-Landroid/os/storage/StorageVolume$ScopedAccessProviderContract;->TABLE_PACKAGES_COLUMNS:[Ljava/lang/String;
-Landroid/os/storage/StorageVolume$ScopedAccessProviderContract;->TABLE_PACKAGES_COL_PACKAGE:I
-Landroid/os/storage/StorageVolume$ScopedAccessProviderContract;->TABLE_PERMISSIONS:Ljava/lang/String;
-Landroid/os/storage/StorageVolume$ScopedAccessProviderContract;->TABLE_PERMISSIONS_COLUMNS:[Ljava/lang/String;
-Landroid/os/storage/StorageVolume$ScopedAccessProviderContract;->TABLE_PERMISSIONS_COL_DIRECTORY:I
-Landroid/os/storage/StorageVolume$ScopedAccessProviderContract;->TABLE_PERMISSIONS_COL_GRANTED:I
-Landroid/os/storage/StorageVolume$ScopedAccessProviderContract;->TABLE_PERMISSIONS_COL_PACKAGE:I
-Landroid/os/storage/StorageVolume$ScopedAccessProviderContract;->TABLE_PERMISSIONS_COL_VOLUME_UUID:I
-Landroid/os/storage/StorageVolume;-><init>(Landroid/os/Parcel;)V
-Landroid/os/storage/StorageVolume;-><init>(Ljava/lang/String;Ljava/io/File;Ljava/io/File;Ljava/lang/String;ZZZZJLandroid/os/UserHandle;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/storage/StorageVolume;->ACTION_OPEN_EXTERNAL_DIRECTORY:Ljava/lang/String;
-Landroid/os/storage/StorageVolume;->dump()Ljava/lang/String;
-Landroid/os/storage/StorageVolume;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-Landroid/os/storage/StorageVolume;->EXTRA_DIRECTORY_NAME:Ljava/lang/String;
-Landroid/os/storage/StorageVolume;->getInternalPath()Ljava/lang/String;
-Landroid/os/storage/StorageVolume;->mAllowMassStorage:Z
-Landroid/os/storage/StorageVolume;->mEmulated:Z
-Landroid/os/storage/StorageVolume;->mFsUuid:Ljava/lang/String;
-Landroid/os/storage/StorageVolume;->mInternalPath:Ljava/io/File;
-Landroid/os/storage/StorageVolume;->mMaxFileSize:J
-Landroid/os/storage/StorageVolume;->mOwner:Landroid/os/UserHandle;
-Landroid/os/storage/StorageVolume;->mState:Ljava/lang/String;
-Landroid/os/storage/StorageVolume;->STORAGE_ID_INVALID:I
-Landroid/os/storage/StorageVolume;->STORAGE_ID_PRIMARY:I
-Landroid/os/storage/VolumeInfo;
-Landroid/os/storage/VolumeInfo;-><init>(Ljava/lang/String;ILandroid/os/storage/DiskInfo;Ljava/lang/String;)V
-Landroid/os/storage/VolumeInfo;->ACTION_VOLUME_STATE_CHANGED:Ljava/lang/String;
-Landroid/os/storage/VolumeInfo;->buildBrowseIntentForUser(I)Landroid/content/Intent;
-Landroid/os/storage/VolumeInfo;->DOCUMENT_AUTHORITY:Ljava/lang/String;
-Landroid/os/storage/VolumeInfo;->DOCUMENT_ROOT_PRIMARY_EMULATED:Ljava/lang/String;
-Landroid/os/storage/VolumeInfo;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-Landroid/os/storage/VolumeInfo;->EXTRA_VOLUME_ID:Ljava/lang/String;
-Landroid/os/storage/VolumeInfo;->EXTRA_VOLUME_STATE:Ljava/lang/String;
-Landroid/os/storage/VolumeInfo;->fsType:Ljava/lang/String;
-Landroid/os/storage/VolumeInfo;->getBroadcastForEnvironment(Ljava/lang/String;)Ljava/lang/String;
-Landroid/os/storage/VolumeInfo;->getBroadcastForState(I)Ljava/lang/String;
-Landroid/os/storage/VolumeInfo;->getDescriptionComparator()Ljava/util/Comparator;
-Landroid/os/storage/VolumeInfo;->getStateDescription()I
-Landroid/os/storage/VolumeInfo;->id:Ljava/lang/String;
-Landroid/os/storage/VolumeInfo;->ID_EMULATED_INTERNAL:Ljava/lang/String;
-Landroid/os/storage/VolumeInfo;->ID_PRIVATE_INTERNAL:Ljava/lang/String;
-Landroid/os/storage/VolumeInfo;->isVisibleForRead(I)Z
-Landroid/os/storage/VolumeInfo;->isVisibleForUser(I)Z
-Landroid/os/storage/VolumeInfo;->mountFlags:I
-Landroid/os/storage/VolumeInfo;->mountUserId:I
-Landroid/os/storage/VolumeInfo;->MOUNT_FLAG_PRIMARY:I
-Landroid/os/storage/VolumeInfo;->MOUNT_FLAG_VISIBLE:I
-Landroid/os/storage/VolumeInfo;->partGuid:Ljava/lang/String;
-Landroid/os/storage/VolumeInfo;->sDescriptionComparator:Ljava/util/Comparator;
-Landroid/os/storage/VolumeInfo;->sEnvironmentToBroadcast:Landroid/util/ArrayMap;
-Landroid/os/storage/VolumeInfo;->sStateToDescrip:Landroid/util/SparseIntArray;
-Landroid/os/storage/VolumeInfo;->sStateToEnvironment:Landroid/util/SparseArray;
-Landroid/os/storage/VolumeInfo;->STATE_BAD_REMOVAL:I
-Landroid/os/storage/VolumeInfo;->STATE_CHECKING:I
-Landroid/os/storage/VolumeInfo;->STATE_EJECTING:I
-Landroid/os/storage/VolumeInfo;->STATE_FORMATTING:I
-Landroid/os/storage/VolumeInfo;->STATE_MOUNTED:I
-Landroid/os/storage/VolumeInfo;->STATE_MOUNTED_READ_ONLY:I
-Landroid/os/storage/VolumeInfo;->STATE_REMOVED:I
-Landroid/os/storage/VolumeInfo;->STATE_UNMOUNTABLE:I
-Landroid/os/storage/VolumeInfo;->STATE_UNMOUNTED:I
-Landroid/os/storage/VolumeInfo;->TYPE_ASEC:I
-Landroid/os/storage/VolumeInfo;->TYPE_OBB:I
-Landroid/os/storage/VolumeInfo;->TYPE_PRIVATE:I
-Landroid/os/storage/VolumeRecord;
-Landroid/os/storage/VolumeRecord;-><init>(ILjava/lang/String;)V
-Landroid/os/storage/VolumeRecord;->createdMillis:J
-Landroid/os/storage/VolumeRecord;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-Landroid/os/storage/VolumeRecord;->EXTRA_FS_UUID:Ljava/lang/String;
-Landroid/os/storage/VolumeRecord;->fsUuid:Ljava/lang/String;
-Landroid/os/storage/VolumeRecord;->getFsUuid()Ljava/lang/String;
-Landroid/os/storage/VolumeRecord;->getNickname()Ljava/lang/String;
-Landroid/os/storage/VolumeRecord;->getType()I
-Landroid/os/storage/VolumeRecord;->isInited()Z
-Landroid/os/storage/VolumeRecord;->isSnoozed()Z
-Landroid/os/storage/VolumeRecord;->lastBenchMillis:J
-Landroid/os/storage/VolumeRecord;->lastTrimMillis:J
-Landroid/os/storage/VolumeRecord;->nickname:Ljava/lang/String;
-Landroid/os/storage/VolumeRecord;->partGuid:Ljava/lang/String;
-Landroid/os/storage/VolumeRecord;->type:I
-Landroid/os/storage/VolumeRecord;->userFlags:I
-Landroid/os/storage/VolumeRecord;->USER_FLAG_INITED:I
-Landroid/os/storage/VolumeRecord;->USER_FLAG_SNOOZED:I
-Landroid/os/StrictMode$AndroidBlockGuardPolicy;
-Landroid/os/StrictMode$AndroidBlockGuardPolicy;-><init>(I)V
-Landroid/os/StrictMode$AndroidBlockGuardPolicy;->getPolicyMask()I
-Landroid/os/StrictMode$AndroidBlockGuardPolicy;->handleViolationWithTimingAttempt(Landroid/os/StrictMode$ViolationInfo;)V
-Landroid/os/StrictMode$AndroidBlockGuardPolicy;->mLastViolationTime:Landroid/util/ArrayMap;
-Landroid/os/StrictMode$AndroidBlockGuardPolicy;->mPolicyMask:I
-Landroid/os/StrictMode$AndroidBlockGuardPolicy;->onCustomSlowCall(Ljava/lang/String;)V
-Landroid/os/StrictMode$AndroidBlockGuardPolicy;->onNetwork()V
-Landroid/os/StrictMode$AndroidBlockGuardPolicy;->onReadFromDisk()V
-Landroid/os/StrictMode$AndroidBlockGuardPolicy;->onResourceMismatch(Ljava/lang/Object;)V
-Landroid/os/StrictMode$AndroidBlockGuardPolicy;->onThreadPolicyViolation(Landroid/os/StrictMode$ViolationInfo;)V
-Landroid/os/StrictMode$AndroidBlockGuardPolicy;->onUnbufferedIO()V
-Landroid/os/StrictMode$AndroidBlockGuardPolicy;->onWriteToDisk()V
-Landroid/os/StrictMode$AndroidBlockGuardPolicy;->setPolicyMask(I)V
-Landroid/os/StrictMode$AndroidBlockGuardPolicy;->startHandlingViolationException(Landroid/os/strictmode/Violation;)V
-Landroid/os/StrictMode$AndroidCloseGuardReporter;
-Landroid/os/StrictMode$AndroidCloseGuardReporter;-><init>()V
-Landroid/os/StrictMode$AndroidCloseGuardReporter;->report(Ljava/lang/String;Ljava/lang/Throwable;)V
-Landroid/os/StrictMode$InstanceTracker;
-Landroid/os/StrictMode$InstanceTracker;-><init>(Ljava/lang/Object;)V
-Landroid/os/StrictMode$InstanceTracker;->getInstanceCount(Ljava/lang/Class;)I
-Landroid/os/StrictMode$InstanceTracker;->mKlass:Ljava/lang/Class;
-Landroid/os/StrictMode$InstanceTracker;->sInstanceCounts:Ljava/util/HashMap;
-Landroid/os/StrictMode$Span;
-Landroid/os/StrictMode$Span;-><init>()V
-Landroid/os/StrictMode$Span;-><init>(Landroid/os/StrictMode$ThreadSpanState;)V
-Landroid/os/StrictMode$Span;->mContainerState:Landroid/os/StrictMode$ThreadSpanState;
-Landroid/os/StrictMode$Span;->mCreateMillis:J
-Landroid/os/StrictMode$Span;->mName:Ljava/lang/String;
-Landroid/os/StrictMode$Span;->mNext:Landroid/os/StrictMode$Span;
-Landroid/os/StrictMode$Span;->mPrev:Landroid/os/StrictMode$Span;
-Landroid/os/StrictMode$ThreadPolicy$Builder;->disable(I)Landroid/os/StrictMode$ThreadPolicy$Builder;
-Landroid/os/StrictMode$ThreadPolicy$Builder;->enable(I)Landroid/os/StrictMode$ThreadPolicy$Builder;
-Landroid/os/StrictMode$ThreadPolicy$Builder;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/os/StrictMode$ThreadPolicy$Builder;->mListener:Landroid/os/StrictMode$OnThreadViolationListener;
-Landroid/os/StrictMode$ThreadPolicy$Builder;->mMask:I
-Landroid/os/StrictMode$ThreadPolicy;-><init>(ILandroid/os/StrictMode$OnThreadViolationListener;Ljava/util/concurrent/Executor;)V
-Landroid/os/StrictMode$ThreadPolicy;->mCallbackExecutor:Ljava/util/concurrent/Executor;
-Landroid/os/StrictMode$ThreadPolicy;->mListener:Landroid/os/StrictMode$OnThreadViolationListener;
-Landroid/os/StrictMode$ThreadSpanState;
-Landroid/os/StrictMode$ThreadSpanState;-><init>()V
-Landroid/os/StrictMode$ThreadSpanState;->mActiveHead:Landroid/os/StrictMode$Span;
-Landroid/os/StrictMode$ThreadSpanState;->mActiveSize:I
-Landroid/os/StrictMode$ThreadSpanState;->mFreeListHead:Landroid/os/StrictMode$Span;
-Landroid/os/StrictMode$ThreadSpanState;->mFreeListSize:I
-Landroid/os/StrictMode$ViolationInfo;-><init>(Landroid/os/strictmode/Violation;I)V
-Landroid/os/StrictMode$ViolationInfo;->addLocalStack(Ljava/lang/Throwable;)V
-Landroid/os/StrictMode$ViolationInfo;->mBinderStack:Ljava/util/Deque;
-Landroid/os/StrictMode$ViolationInfo;->mPolicy:I
-Landroid/os/StrictMode$ViolationInfo;->mStackTrace:Ljava/lang/String;
-Landroid/os/StrictMode$ViolationInfo;->mViolation:Landroid/os/strictmode/Violation;
-Landroid/os/StrictMode$ViolationInfo;->penaltyEnabled(I)Z
-Landroid/os/StrictMode$VmPolicy$Builder;->disable(I)Landroid/os/StrictMode$VmPolicy$Builder;
-Landroid/os/StrictMode$VmPolicy$Builder;->enable(I)Landroid/os/StrictMode$VmPolicy$Builder;
-Landroid/os/StrictMode$VmPolicy$Builder;->mClassInstanceLimit:Ljava/util/HashMap;
-Landroid/os/StrictMode$VmPolicy$Builder;->mClassInstanceLimitNeedCow:Z
-Landroid/os/StrictMode$VmPolicy$Builder;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/os/StrictMode$VmPolicy$Builder;->mListener:Landroid/os/StrictMode$OnVmViolationListener;
-Landroid/os/StrictMode$VmPolicy$Builder;->permitActivityLeaks()Landroid/os/StrictMode$VmPolicy$Builder;
-Landroid/os/StrictMode$VmPolicy$Builder;->permitUntaggedSockets()Landroid/os/StrictMode$VmPolicy$Builder;
-Landroid/os/StrictMode$VmPolicy;-><init>(ILjava/util/HashMap;Landroid/os/StrictMode$OnVmViolationListener;Ljava/util/concurrent/Executor;)V
-Landroid/os/StrictMode$VmPolicy;->classInstanceLimit:Ljava/util/HashMap;
-Landroid/os/StrictMode$VmPolicy;->mCallbackExecutor:Ljava/util/concurrent/Executor;
-Landroid/os/StrictMode$VmPolicy;->mListener:Landroid/os/StrictMode$OnVmViolationListener;
-Landroid/os/strictmode/CleartextNetworkViolation;-><init>(Ljava/lang/String;)V
-Landroid/os/strictmode/ContentUriWithoutPermissionViolation;-><init>(Landroid/net/Uri;Ljava/lang/String;)V
-Landroid/os/strictmode/CustomViolation;-><init>(Ljava/lang/String;)V
-Landroid/os/strictmode/DiskReadViolation;-><init>()V
-Landroid/os/strictmode/DiskWriteViolation;-><init>()V
-Landroid/os/strictmode/FileUriExposedViolation;-><init>(Ljava/lang/String;)V
-Landroid/os/strictmode/InstanceCountViolation;-><init>(Ljava/lang/Class;JI)V
-Landroid/os/strictmode/InstanceCountViolation;->FAKE_STACK:[Ljava/lang/StackTraceElement;
-Landroid/os/strictmode/InstanceCountViolation;->mInstances:J
-Landroid/os/strictmode/IntentReceiverLeakedViolation;-><init>(Ljava/lang/Throwable;)V
-Landroid/os/strictmode/LeakedClosableViolation;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-Landroid/os/strictmode/NetworkViolation;-><init>()V
-Landroid/os/strictmode/NonSdkApiUsedViolation;-><init>(Ljava/lang/String;)V
-Landroid/os/strictmode/ResourceMismatchViolation;-><init>(Ljava/lang/Object;)V
-Landroid/os/strictmode/ServiceConnectionLeakedViolation;-><init>(Ljava/lang/Throwable;)V
-Landroid/os/strictmode/SqliteObjectLeakedViolation;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-Landroid/os/strictmode/UnbufferedIoViolation;-><init>()V
-Landroid/os/strictmode/UntaggedSocketViolation;-><init>()V
-Landroid/os/strictmode/UntaggedSocketViolation;->MESSAGE:Ljava/lang/String;
-Landroid/os/strictmode/Violation;-><init>(Ljava/lang/String;)V
-Landroid/os/strictmode/WebViewMethodCalledOnWrongThreadViolation;-><init>(Ljava/lang/Throwable;)V
-Landroid/os/StrictMode;-><init>()V
-Landroid/os/StrictMode;->allowThreadDiskReadsMask()I
-Landroid/os/StrictMode;->allowThreadDiskWritesMask()I
-Landroid/os/StrictMode;->allowThreadViolations()Landroid/os/StrictMode$ThreadPolicy;
-Landroid/os/StrictMode;->allowVmViolations()Landroid/os/StrictMode$VmPolicy;
-Landroid/os/StrictMode;->ALL_THREAD_DETECT_BITS:I
-Landroid/os/StrictMode;->ALL_VM_DETECT_BITS:I
-Landroid/os/StrictMode;->clearGatheredViolations()V
-Landroid/os/StrictMode;->CLEARTEXT_DETECTED_MSG:Ljava/lang/String;
-Landroid/os/StrictMode;->CLEARTEXT_PROPERTY:Ljava/lang/String;
-Landroid/os/StrictMode;->decrementExpectedActivityCount(Ljava/lang/Class;)V
-Landroid/os/StrictMode;->DISABLE:Z
-Landroid/os/StrictMode;->DISABLE_PROPERTY:Ljava/lang/String;
-Landroid/os/StrictMode;->dropboxViolationAsync(ILandroid/os/StrictMode$ViolationInfo;)V
-Landroid/os/StrictMode;->EMPTY_CLASS_LIMIT_MAP:Ljava/util/HashMap;
-Landroid/os/StrictMode;->gatheredViolations:Ljava/lang/ThreadLocal;
-Landroid/os/StrictMode;->handleApplicationStrictModeViolation(ILandroid/os/StrictMode$ViolationInfo;)V
-Landroid/os/StrictMode;->hasGatheredViolations()Z
-Landroid/os/StrictMode;->initThreadDefaults(Landroid/content/pm/ApplicationInfo;)V
-Landroid/os/StrictMode;->initVmDefaults(Landroid/content/pm/ApplicationInfo;)V
-Landroid/os/StrictMode;->isBundledSystemApp(Landroid/content/pm/ApplicationInfo;)Z
-Landroid/os/StrictMode;->LOGCAT_LOGGER:Landroid/os/StrictMode$ViolationLogger;
-Landroid/os/StrictMode;->LOG_V:Z
-Landroid/os/StrictMode;->MAX_OFFENSES_PER_LOOP:I
-Landroid/os/StrictMode;->MAX_SPAN_TAGS:I
-Landroid/os/StrictMode;->MIN_DIALOG_INTERVAL_MS:J
-Landroid/os/StrictMode;->MIN_LOG_INTERVAL_MS:J
-Landroid/os/StrictMode;->MIN_VM_INTERVAL_MS:J
-Landroid/os/StrictMode;->NETWORK_POLICY_ACCEPT:I
-Landroid/os/StrictMode;->NETWORK_POLICY_LOG:I
-Landroid/os/StrictMode;->NETWORK_POLICY_REJECT:I
-Landroid/os/StrictMode;->noteDiskRead()V
-Landroid/os/StrictMode;->noteDiskWrite()V
-Landroid/os/StrictMode;->noteResourceMismatch(Ljava/lang/Object;)V
-Landroid/os/StrictMode;->noteUnbufferedIO()V
-Landroid/os/StrictMode;->NO_OP_SPAN:Landroid/os/StrictMode$Span;
-Landroid/os/StrictMode;->onCleartextNetworkDetected([B)V
-Landroid/os/StrictMode;->onContentUriWithoutPermission(Landroid/net/Uri;Ljava/lang/String;)V
-Landroid/os/StrictMode;->onFileUriExposed(Landroid/net/Uri;Ljava/lang/String;)V
-Landroid/os/StrictMode;->onIntentReceiverLeaked(Ljava/lang/Throwable;)V
-Landroid/os/StrictMode;->onServiceConnectionLeaked(Ljava/lang/Throwable;)V
-Landroid/os/StrictMode;->onSqliteObjectLeaked(Ljava/lang/String;Ljava/lang/Throwable;)V
-Landroid/os/StrictMode;->onUntaggedSocket()V
-Landroid/os/StrictMode;->onVmPolicyViolation(Landroid/os/strictmode/Violation;)V
-Landroid/os/StrictMode;->onVmPolicyViolation(Landroid/os/strictmode/Violation;Z)V
-Landroid/os/StrictMode;->parsePolicyFromMessage(Ljava/lang/String;)I
-Landroid/os/StrictMode;->PENALTY_DEATH:I
-Landroid/os/StrictMode;->PENALTY_DEATH_ON_CLEARTEXT_NETWORK:I
-Landroid/os/StrictMode;->PENALTY_DEATH_ON_FILE_URI_EXPOSURE:I
-Landroid/os/StrictMode;->PENALTY_DEATH_ON_NETWORK:I
-Landroid/os/StrictMode;->PENALTY_DIALOG:I
-Landroid/os/StrictMode;->PENALTY_DROPBOX:I
-Landroid/os/StrictMode;->PENALTY_FLASH:I
-Landroid/os/StrictMode;->PENALTY_GATHER:I
-Landroid/os/StrictMode;->PENALTY_LOG:I
-Landroid/os/StrictMode;->readAndHandleBinderCallViolations(Landroid/os/Parcel;)V
-Landroid/os/StrictMode;->sDropboxCallsInFlight:Ljava/util/concurrent/atomic/AtomicInteger;
-Landroid/os/StrictMode;->setBlockGuardPolicy(I)V
-Landroid/os/StrictMode;->setCloseGuardEnabled(Z)V
-Landroid/os/StrictMode;->setThreadPolicyMask(I)V
-Landroid/os/StrictMode;->sExpectedActivityInstanceCount:Ljava/util/HashMap;
-Landroid/os/StrictMode;->sIsIdlerRegistered:Z
-Landroid/os/StrictMode;->sLastInstanceCountCheckMillis:J
-Landroid/os/StrictMode;->sLogger:Landroid/os/StrictMode$ViolationLogger;
-Landroid/os/StrictMode;->sNonSdkApiUsageConsumer:Ljava/util/function/Consumer;
-Landroid/os/StrictMode;->sProcessIdleHandler:Landroid/os/MessageQueue$IdleHandler;
-Landroid/os/StrictMode;->sThisThreadSpanState:Ljava/lang/ThreadLocal;
-Landroid/os/StrictMode;->sThreadViolationExecutor:Ljava/lang/ThreadLocal;
-Landroid/os/StrictMode;->sThreadViolationListener:Ljava/lang/ThreadLocal;
-Landroid/os/StrictMode;->sVmPolicy:Landroid/os/StrictMode$VmPolicy;
-Landroid/os/StrictMode;->TAG:Ljava/lang/String;
-Landroid/os/StrictMode;->THREAD_ANDROID_POLICY:Ljava/lang/ThreadLocal;
-Landroid/os/StrictMode;->THREAD_HANDLER:Ljava/lang/ThreadLocal;
-Landroid/os/StrictMode;->THREAD_PENALTY_MASK:I
-Landroid/os/StrictMode;->tooManyViolationsThisLoop()Z
-Landroid/os/StrictMode;->trackActivity(Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/os/StrictMode;->VISUAL_PROPERTY:Ljava/lang/String;
-Landroid/os/StrictMode;->vmCleartextNetworkEnabled()Z
-Landroid/os/StrictMode;->vmClosableObjectLeaksEnabled()Z
-Landroid/os/StrictMode;->vmContentUriWithoutPermissionEnabled()Z
-Landroid/os/StrictMode;->vmFileUriExposureEnabled()Z
-Landroid/os/StrictMode;->vmRegistrationLeaksEnabled()Z
-Landroid/os/StrictMode;->vmSqliteObjectLeaksEnabled()Z
-Landroid/os/StrictMode;->vmUntaggedSocketEnabled()Z
-Landroid/os/StrictMode;->VM_PENALTY_MASK:I
-Landroid/os/StrictMode;->writeGatheredViolationsToParcel(Landroid/os/Parcel;)V
-Landroid/os/SynchronousResultReceiver$Result;
-Landroid/os/SynchronousResultReceiver$Result;-><init>(ILandroid/os/Bundle;)V
-Landroid/os/SynchronousResultReceiver$Result;->bundle:Landroid/os/Bundle;
-Landroid/os/SynchronousResultReceiver$Result;->resultCode:I
-Landroid/os/SynchronousResultReceiver;
-Landroid/os/SynchronousResultReceiver;-><init>()V
-Landroid/os/SynchronousResultReceiver;-><init>(Ljava/lang/String;)V
-Landroid/os/SynchronousResultReceiver;->awaitResult(J)Landroid/os/SynchronousResultReceiver$Result;
-Landroid/os/SynchronousResultReceiver;->getName()Ljava/lang/String;
-Landroid/os/SynchronousResultReceiver;->mFuture:Ljava/util/concurrent/CompletableFuture;
-Landroid/os/SynchronousResultReceiver;->mName:Ljava/lang/String;
-Landroid/os/SystemClock;->currentNetworkTimeClock()Ljava/time/Clock;
-Landroid/os/SystemClock;->currentNetworkTimeMillis()J
-Landroid/os/SystemClock;->TAG:Ljava/lang/String;
-Landroid/os/SystemProperties;->callChangeCallbacks()V
-Landroid/os/SystemProperties;->native_report_sysprop_change()V
-Landroid/os/SystemProperties;->onKeyAccess(Ljava/lang/String;)V
-Landroid/os/SystemProperties;->PROP_VALUE_MAX:I
-Landroid/os/SystemProperties;->sRoReads:Ljava/util/HashMap;
-Landroid/os/SystemProperties;->TAG:Ljava/lang/String;
-Landroid/os/SystemProperties;->TRACK_KEY_ACCESS:Z
-Landroid/os/SystemPropertiesProto$AacDrc;
-Landroid/os/SystemPropertiesProto$AacDrc;-><init>()V
-Landroid/os/SystemPropertiesProto$AacDrc;->BOOST:J
-Landroid/os/SystemPropertiesProto$AacDrc;->CUT:J
-Landroid/os/SystemPropertiesProto$AacDrc;->ENC_TARGET_LEVEL:J
-Landroid/os/SystemPropertiesProto$AacDrc;->HEAVY:J
-Landroid/os/SystemPropertiesProto$AacDrc;->REFERENCE_LEVEL:J
-Landroid/os/SystemPropertiesProto$Aaudio;
-Landroid/os/SystemPropertiesProto$Aaudio;-><init>()V
-Landroid/os/SystemPropertiesProto$Aaudio;->HW_BURST_MIN_USEC:J
-Landroid/os/SystemPropertiesProto$Aaudio;->MINIMUM_SLEEP_USEC:J
-Landroid/os/SystemPropertiesProto$Aaudio;->MIXER_BURSTS:J
-Landroid/os/SystemPropertiesProto$Aaudio;->MMAP_EXCLUSIVE_POLICY:J
-Landroid/os/SystemPropertiesProto$Aaudio;->MMAP_POLICY:J
-Landroid/os/SystemPropertiesProto$Aaudio;->WAKEUP_DELAY_USEC:J
-Landroid/os/SystemPropertiesProto$Camera;
-Landroid/os/SystemPropertiesProto$Camera;-><init>()V
-Landroid/os/SystemPropertiesProto$Camera;->DISABLE_ZSL_MODE:J
-Landroid/os/SystemPropertiesProto$Camera;->FIFO_DISABLE:J
-Landroid/os/SystemPropertiesProto$DalvikVm;
-Landroid/os/SystemPropertiesProto$DalvikVm;-><init>()V
-Landroid/os/SystemPropertiesProto$DalvikVm;->APPIMAGEFORMAT:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->BACKGROUNDGCTYPE:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->CHECKJNI:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->DEX2OAT_FILTER:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->DEX2OAT_FLAGS:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->DEX2OAT_THREADS:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->DEX2OAT_XMS:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->DEX2OAT_XMX:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->DEXOPT_SECONDARY:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->EXECUTION_MODE:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->EXTRA_OPTS:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->GCTYPE:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->HEAPGROWTHLIMIT:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->HEAPMAXFREE:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->HEAPMINFREE:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->HEAPSIZE:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->HEAPSTARTSIZE:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->HEAPTARGETUTILIZATION:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->HOT_STARTUP_METHOD_SAMPLES:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->IMAGE_DEX2OAT_FILTER:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->IMAGE_DEX2OAT_FLAGS:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->IMAGE_DEX2OAT_THREADS:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->IMAGE_DEX2OAT_XMS:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->IMAGE_DEX2OAT_XMX:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->ISA_ARM64_FEATURES:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->ISA_ARM64_VARIANT:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->ISA_ARM_FEATURES:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->ISA_ARM_VARIANT:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->ISA_MIPS64_FEATURES:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->ISA_MIPS64_VARIANT:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->ISA_MIPS_FEATURES:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->ISA_MIPS_VARIANT:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->ISA_UNKNOWN_FEATURES:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->ISA_UNKNOWN_VARIANT:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->ISA_X86_64_FEATURES:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->ISA_X86_64_VARIANT:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->ISA_X86_FEATURES:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->ISA_X86_VARIANT:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->JITINITIALSIZE:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->JITMAXSIZE:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->JITPRITHREADWEIGHT:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->JITTHRESHOLD:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->JITTRANSITIONWEIGHT:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->JNIOPTS:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->LOCKPROF_THRESHOLD:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->METHOD_TRACE:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->METHOD_TRACE_FILE:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->METHOD_TRACE_FILE_SIZ:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->METHOD_TRACE_STREAM:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->PROFILESYSTEMSERVER:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->STACK_TRACE_DIR:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->USEJIT:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->USEJITPROFILES:J
-Landroid/os/SystemPropertiesProto$DalvikVm;->ZYGOTE_MAX_BOOT_RETRY:J
-Landroid/os/SystemPropertiesProto$InitSvc;
-Landroid/os/SystemPropertiesProto$InitSvc;-><init>()V
-Landroid/os/SystemPropertiesProto$InitSvc;->ADBD:J
-Landroid/os/SystemPropertiesProto$InitSvc;->AUDIOSERVER:J
-Landroid/os/SystemPropertiesProto$InitSvc;->BOOTANIM:J
-Landroid/os/SystemPropertiesProto$InitSvc;->BUFFERHUBD:J
-Landroid/os/SystemPropertiesProto$InitSvc;->CAMERASERVER:J
-Landroid/os/SystemPropertiesProto$InitSvc;->CLEAR_BCB:J
-Landroid/os/SystemPropertiesProto$InitSvc;->DRM:J
-Landroid/os/SystemPropertiesProto$InitSvc;->GATEKEEPERD:J
-Landroid/os/SystemPropertiesProto$InitSvc;->HEALTHD:J
-Landroid/os/SystemPropertiesProto$InitSvc;->HIDL_MEMORY:J
-Landroid/os/SystemPropertiesProto$InitSvc;->HOSTAPD:J
-Landroid/os/SystemPropertiesProto$InitSvc;->HWSERVICEMANAGER:J
-Landroid/os/SystemPropertiesProto$InitSvc;->INSTALLD:J
-Landroid/os/SystemPropertiesProto$InitSvc;->KEYSTORE:J
-Landroid/os/SystemPropertiesProto$InitSvc;->LMKD:J
-Landroid/os/SystemPropertiesProto$InitSvc;->LOGD:J
-Landroid/os/SystemPropertiesProto$InitSvc;->LOGD_REINIT:J
-Landroid/os/SystemPropertiesProto$InitSvc;->MEDIA:J
-Landroid/os/SystemPropertiesProto$InitSvc;->MEDIADRM:J
-Landroid/os/SystemPropertiesProto$InitSvc;->MEDIAEXTRACTOR:J
-Landroid/os/SystemPropertiesProto$InitSvc;->MEDIAMETRICS:J
-Landroid/os/SystemPropertiesProto$InitSvc;->NETD:J
-Landroid/os/SystemPropertiesProto$InitSvc;->PERFORMANCED:J
-Landroid/os/SystemPropertiesProto$InitSvc;->RIL_DAEMON:J
-Landroid/os/SystemPropertiesProto$InitSvc;->SERVICEMANAGER:J
-Landroid/os/SystemPropertiesProto$InitSvc;->STATUS_RUNNING:I
-Landroid/os/SystemPropertiesProto$InitSvc;->STATUS_STOPPED:I
-Landroid/os/SystemPropertiesProto$InitSvc;->STATUS_UNKNOWN:I
-Landroid/os/SystemPropertiesProto$InitSvc;->STORAGED:J
-Landroid/os/SystemPropertiesProto$InitSvc;->SURFACEFLINGER:J
-Landroid/os/SystemPropertiesProto$InitSvc;->THERMALSERVICE:J
-Landroid/os/SystemPropertiesProto$InitSvc;->TOMBSTONED:J
-Landroid/os/SystemPropertiesProto$InitSvc;->UEVENTD:J
-Landroid/os/SystemPropertiesProto$InitSvc;->UPDATE_ENGINE:J
-Landroid/os/SystemPropertiesProto$InitSvc;->UPDATE_VERIFIER_NONENCRYPTED:J
-Landroid/os/SystemPropertiesProto$InitSvc;->VIRTUAL_TOUCHPAD:J
-Landroid/os/SystemPropertiesProto$InitSvc;->VNDSERVICEMANAGER:J
-Landroid/os/SystemPropertiesProto$InitSvc;->VOLD:J
-Landroid/os/SystemPropertiesProto$InitSvc;->VR_HWC:J
-Landroid/os/SystemPropertiesProto$InitSvc;->WEBVIEW_ZYGOTE32:J
-Landroid/os/SystemPropertiesProto$InitSvc;->WIFICOND:J
-Landroid/os/SystemPropertiesProto$InitSvc;->WPA_SUPPLICANT:J
-Landroid/os/SystemPropertiesProto$InitSvc;->ZYGOTE:J
-Landroid/os/SystemPropertiesProto$InitSvc;->ZYGOTE_SECONDARY:J
-Landroid/os/SystemPropertiesProto$Log;
-Landroid/os/SystemPropertiesProto$Log;-><init>()V
-Landroid/os/SystemPropertiesProto$Log;->TAG_STATS_LOG:J
-Landroid/os/SystemPropertiesProto$Log;->TAG_WIFI_HAL:J
-Landroid/os/SystemPropertiesProto$Persist;
-Landroid/os/SystemPropertiesProto$Persist;-><init>()V
-Landroid/os/SystemPropertiesProto$Persist;->CONFIG_CALIBRATION_FAC:J
-Landroid/os/SystemPropertiesProto$Persist;->DBG_VOLTE_AVAIL_OVR:J
-Landroid/os/SystemPropertiesProto$Persist;->DBG_VT_AVAIL_OVR:J
-Landroid/os/SystemPropertiesProto$Persist;->DBG_WFC_AVAIL_OVR:J
-Landroid/os/SystemPropertiesProto$Persist;->RADIO_AIRPLANE_MODE_ON:J
-Landroid/os/SystemPropertiesProto$Persist;->RADIO_MULTISIM_CONFIG:J
-Landroid/os/SystemPropertiesProto$Persist;->RCS_SUPPORTED:J
-Landroid/os/SystemPropertiesProto$Persist;->SYS_CRASH_RCU:J
-Landroid/os/SystemPropertiesProto$Persist;->SYS_DALVIK_VM_LIB_2:J
-Landroid/os/SystemPropertiesProto$Persist;->SYS_SF_COLOR_SATURATION:J
-Landroid/os/SystemPropertiesProto$Persist;->SYS_TIMEZONE:J
-Landroid/os/SystemPropertiesProto$PmDexopt;
-Landroid/os/SystemPropertiesProto$PmDexopt;-><init>()V
-Landroid/os/SystemPropertiesProto$PmDexopt;->AB_OTA:J
-Landroid/os/SystemPropertiesProto$PmDexopt;->BG_DEXOPT:J
-Landroid/os/SystemPropertiesProto$PmDexopt;->BOOT:J
-Landroid/os/SystemPropertiesProto$PmDexopt;->FIRST_BOOT:J
-Landroid/os/SystemPropertiesProto$PmDexopt;->INSTALL:J
-Landroid/os/SystemPropertiesProto$Property;
-Landroid/os/SystemPropertiesProto$Property;-><init>()V
-Landroid/os/SystemPropertiesProto$Property;->NAME:J
-Landroid/os/SystemPropertiesProto$Property;->VALUE:J
-Landroid/os/SystemPropertiesProto$Ro$Boot;
-Landroid/os/SystemPropertiesProto$Ro$Boot;-><init>()V
-Landroid/os/SystemPropertiesProto$Ro$Boot;->AVB_VERSION:J
-Landroid/os/SystemPropertiesProto$Ro$Boot;->BASEBAND:J
-Landroid/os/SystemPropertiesProto$Ro$Boot;->BOOTDEVICE:J
-Landroid/os/SystemPropertiesProto$Ro$Boot;->BOOTLOADER:J
-Landroid/os/SystemPropertiesProto$Ro$Boot;->BOOTTIME:J
-Landroid/os/SystemPropertiesProto$Ro$Boot;->CONSOLE:J
-Landroid/os/SystemPropertiesProto$Ro$Boot;->FAKE_BATTERY:J
-Landroid/os/SystemPropertiesProto$Ro$Boot;->HARDWARE:J
-Landroid/os/SystemPropertiesProto$Ro$Boot;->HARDWARE_COLOR:J
-Landroid/os/SystemPropertiesProto$Ro$Boot;->HARDWARE_REVISION:J
-Landroid/os/SystemPropertiesProto$Ro$Boot;->HARDWARE_SKU:J
-Landroid/os/SystemPropertiesProto$Ro$Boot;->KEYMASTER:J
-Landroid/os/SystemPropertiesProto$Ro$Boot;->MODE:J
-Landroid/os/SystemPropertiesProto$Ro$Boot;->REVISION:J
-Landroid/os/SystemPropertiesProto$Ro$Boot;->SLOT_SUFFIX:J
-Landroid/os/SystemPropertiesProto$Ro$Boot;->VBMETA_AVB_VERSION:J
-Landroid/os/SystemPropertiesProto$Ro$Boot;->VENDOR_OVERLAY_THEME:J
-Landroid/os/SystemPropertiesProto$Ro$Boot;->VERIFIEDBOOTSTATE:J
-Landroid/os/SystemPropertiesProto$Ro$Boot;->VERITYMODE:J
-Landroid/os/SystemPropertiesProto$Ro$Boot;->WIFICOUNTRYCODE:J
-Landroid/os/SystemPropertiesProto$Ro$BootImage;
-Landroid/os/SystemPropertiesProto$Ro$BootImage;-><init>()V
-Landroid/os/SystemPropertiesProto$Ro$BootImage;->BUILD_DATE:J
-Landroid/os/SystemPropertiesProto$Ro$BootImage;->BUILD_DATE_UTC:J
-Landroid/os/SystemPropertiesProto$Ro$BootImage;->BUILD_FINGERPRINT:J
-Landroid/os/SystemPropertiesProto$Ro$Build$Version;
-Landroid/os/SystemPropertiesProto$Ro$Build$Version;-><init>()V
-Landroid/os/SystemPropertiesProto$Ro$Build$Version;->BASE_OS:J
-Landroid/os/SystemPropertiesProto$Ro$Build$Version;->CODENAME:J
-Landroid/os/SystemPropertiesProto$Ro$Build$Version;->INCREMENTAL:J
-Landroid/os/SystemPropertiesProto$Ro$Build$Version;->PREVIEW_SDK:J
-Landroid/os/SystemPropertiesProto$Ro$Build$Version;->RELEASE:J
-Landroid/os/SystemPropertiesProto$Ro$Build$Version;->SDK:J
-Landroid/os/SystemPropertiesProto$Ro$Build$Version;->SECURITY_PATCH:J
-Landroid/os/SystemPropertiesProto$Ro$Build;
-Landroid/os/SystemPropertiesProto$Ro$Build;-><init>()V
-Landroid/os/SystemPropertiesProto$Ro$Build;->DATE:J
-Landroid/os/SystemPropertiesProto$Ro$Build;->DATE_UTC:J
-Landroid/os/SystemPropertiesProto$Ro$Build;->DESCRIPTION:J
-Landroid/os/SystemPropertiesProto$Ro$Build;->DISPLAY_ID:J
-Landroid/os/SystemPropertiesProto$Ro$Build;->HOST:J
-Landroid/os/SystemPropertiesProto$Ro$Build;->ID:J
-Landroid/os/SystemPropertiesProto$Ro$Build;->PRODUCT:J
-Landroid/os/SystemPropertiesProto$Ro$Build;->SYSTEM_ROOT_IMAGE:J
-Landroid/os/SystemPropertiesProto$Ro$Build;->TAGS:J
-Landroid/os/SystemPropertiesProto$Ro$Build;->TYPE:J
-Landroid/os/SystemPropertiesProto$Ro$Build;->USER:J
-Landroid/os/SystemPropertiesProto$Ro$Build;->VERSION:J
-Landroid/os/SystemPropertiesProto$Ro$Config;
-Landroid/os/SystemPropertiesProto$Ro$Config;-><init>()V
-Landroid/os/SystemPropertiesProto$Ro$Config;->ALARM_ALERT:J
-Landroid/os/SystemPropertiesProto$Ro$Config;->MEDIA_VOL_STEPS:J
-Landroid/os/SystemPropertiesProto$Ro$Config;->NOTIFICATION_SOUND:J
-Landroid/os/SystemPropertiesProto$Ro$Config;->RINGTONE:J
-Landroid/os/SystemPropertiesProto$Ro$Config;->VC_CALL_VOL_STEPS:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;
-Landroid/os/SystemPropertiesProto$Ro$Hardware;-><init>()V
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->ACTIVITY_RECOGNITION:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->AUDIO:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->AUDIO_A2DP:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->AUDIO_POLICY:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->AUDIO_PRIMARY:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->AUDIO_USB:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->BOOTCTRL:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->CAMERA:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->CONSUMERIR:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->CONTEXT_HUB:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->EGL:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->FINGERPRINT:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->FLP:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->GATEKEEPER:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->GPS:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->GRALLOC:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->HDMI_CEC:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->HWCOMPOSER:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->INPUT:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->KEYSTORE:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->LIGHTS:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->LOCAL_TIME:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->MEMTRACK:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->NFC:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->NFC_NCI:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->NFC_TAG:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->NVRAM:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->POWER:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->RADIO:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->SENSORS:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->SOUND_TRIGGER:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->THERMAL:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->TV_INPUT:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->TYPE:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->VALUE:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->VEHICLE:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->VIBRATOR:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->VIRTUAL_DEVICE:J
-Landroid/os/SystemPropertiesProto$Ro$Hardware;->VULKAN:J
-Landroid/os/SystemPropertiesProto$Ro$Product$Vendor;
-Landroid/os/SystemPropertiesProto$Ro$Product$Vendor;-><init>()V
-Landroid/os/SystemPropertiesProto$Ro$Product$Vendor;->BRAND:J
-Landroid/os/SystemPropertiesProto$Ro$Product$Vendor;->DEVICE:J
-Landroid/os/SystemPropertiesProto$Ro$Product$Vendor;->MANUFACTURER:J
-Landroid/os/SystemPropertiesProto$Ro$Product$Vendor;->MODEL:J
-Landroid/os/SystemPropertiesProto$Ro$Product$Vendor;->NAME:J
-Landroid/os/SystemPropertiesProto$Ro$Product;
-Landroid/os/SystemPropertiesProto$Ro$Product;-><init>()V
-Landroid/os/SystemPropertiesProto$Ro$Product;->BOARD:J
-Landroid/os/SystemPropertiesProto$Ro$Product;->BRAND:J
-Landroid/os/SystemPropertiesProto$Ro$Product;->CPU_ABI:J
-Landroid/os/SystemPropertiesProto$Ro$Product;->CPU_ABILIST32:J
-Landroid/os/SystemPropertiesProto$Ro$Product;->CPU_ABILIST64:J
-Landroid/os/SystemPropertiesProto$Ro$Product;->CPU_ABILIST:J
-Landroid/os/SystemPropertiesProto$Ro$Product;->DEVICE:J
-Landroid/os/SystemPropertiesProto$Ro$Product;->FIRST_API_LEVEL:J
-Landroid/os/SystemPropertiesProto$Ro$Product;->MANUFACTURER:J
-Landroid/os/SystemPropertiesProto$Ro$Product;->MODEL:J
-Landroid/os/SystemPropertiesProto$Ro$Product;->NAME:J
-Landroid/os/SystemPropertiesProto$Ro$Product;->VENDOR:J
-Landroid/os/SystemPropertiesProto$Ro$Telephony;
-Landroid/os/SystemPropertiesProto$Ro$Telephony;-><init>()V
-Landroid/os/SystemPropertiesProto$Ro$Telephony;->CALL_RING_MULTIPLE:J
-Landroid/os/SystemPropertiesProto$Ro$Telephony;->DEFAULT_CDMA_SUB:J
-Landroid/os/SystemPropertiesProto$Ro$Telephony;->DEFAULT_NETWORK:J
-Landroid/os/SystemPropertiesProto$Ro$Vendor;
-Landroid/os/SystemPropertiesProto$Ro$Vendor;-><init>()V
-Landroid/os/SystemPropertiesProto$Ro$Vendor;->BUILD_DATE:J
-Landroid/os/SystemPropertiesProto$Ro$Vendor;->BUILD_DATE_UTC:J
-Landroid/os/SystemPropertiesProto$Ro$Vendor;->BUILD_FINGERPRINT:J
-Landroid/os/SystemPropertiesProto$Ro;
-Landroid/os/SystemPropertiesProto$Ro;-><init>()V
-Landroid/os/SystemPropertiesProto$Ro;->ADB_SECURE:J
-Landroid/os/SystemPropertiesProto$Ro;->ARCH:J
-Landroid/os/SystemPropertiesProto$Ro;->AUDIO_IGNORE_EFFECTS:J
-Landroid/os/SystemPropertiesProto$Ro;->AUDIO_MONITOR_ROTATION:J
-Landroid/os/SystemPropertiesProto$Ro;->BASEBAND:J
-Landroid/os/SystemPropertiesProto$Ro;->BOARD_PLATFORM:J
-Landroid/os/SystemPropertiesProto$Ro;->BOOT:J
-Landroid/os/SystemPropertiesProto$Ro;->BOOTIMAGE:J
-Landroid/os/SystemPropertiesProto$Ro;->BOOTLOADER:J
-Landroid/os/SystemPropertiesProto$Ro;->BOOTMODE:J
-Landroid/os/SystemPropertiesProto$Ro;->BUILD:J
-Landroid/os/SystemPropertiesProto$Ro;->CAMERA_NOTIFY_NFC:J
-Landroid/os/SystemPropertiesProto$Ro;->CARRIER:J
-Landroid/os/SystemPropertiesProto$Ro;->COM_ANDROID_DATAROAMING:J
-Landroid/os/SystemPropertiesProto$Ro;->COM_ANDROID_PROV_MOBILEDATA:J
-Landroid/os/SystemPropertiesProto$Ro;->COM_GOOGLE_CLIENTIDBASE:J
-Landroid/os/SystemPropertiesProto$Ro;->CONFIG:J
-Landroid/os/SystemPropertiesProto$Ro;->CONTROL_PRIVAPP_PERMISSIONS:J
-Landroid/os/SystemPropertiesProto$Ro;->CP_SYSTEM_OTHER_ODEX:J
-Landroid/os/SystemPropertiesProto$Ro;->CRYPTO_SCRYPT_PARAMS:J
-Landroid/os/SystemPropertiesProto$Ro;->CRYPTO_STATE:J
-Landroid/os/SystemPropertiesProto$Ro;->CRYPTO_TYPE:J
-Landroid/os/SystemPropertiesProto$Ro;->DALVIK_VM_NATIVE_BRIDGE:J
-Landroid/os/SystemPropertiesProto$Ro;->DEBUGGABLE:J
-Landroid/os/SystemPropertiesProto$Ro;->FRP_PST:J
-Landroid/os/SystemPropertiesProto$Ro;->GFX_DRIVER_0:J
-Landroid/os/SystemPropertiesProto$Ro;->HARDWARE:J
-Landroid/os/SystemPropertiesProto$Ro;->KERNEL_QEMU:J
-Landroid/os/SystemPropertiesProto$Ro;->KERNEL_QEMU_GLES:J
-Landroid/os/SystemPropertiesProto$Ro;->OEM_UNLOCK_SUPPORTED:J
-Landroid/os/SystemPropertiesProto$Ro;->OPENGLES_VERSION:J
-Landroid/os/SystemPropertiesProto$Ro;->PRODUCT:J
-Landroid/os/SystemPropertiesProto$Ro;->PROPERTY_SERVICE_VERSION:J
-Landroid/os/SystemPropertiesProto$Ro;->RETAILDEMO_VIDEO_PATH:J
-Landroid/os/SystemPropertiesProto$Ro;->REVISION:J
-Landroid/os/SystemPropertiesProto$Ro;->SF_LCD_DENSITY:J
-Landroid/os/SystemPropertiesProto$Ro;->STORAGE_MANAGER_ENABLED:J
-Landroid/os/SystemPropertiesProto$Ro;->TELEPHONY:J
-Landroid/os/SystemPropertiesProto$Ro;->URL_LEGAL:J
-Landroid/os/SystemPropertiesProto$Ro;->URL_LEGAL_ANDROID_PRIVACY:J
-Landroid/os/SystemPropertiesProto$Ro;->VENDOR:J
-Landroid/os/SystemPropertiesProto$Ro;->VNDK_VERSION:J
-Landroid/os/SystemPropertiesProto$Ro;->VTS_COVERAGE:J
-Landroid/os/SystemPropertiesProto$Ro;->ZYGOTE:J
-Landroid/os/SystemPropertiesProto$Sys$Usb;
-Landroid/os/SystemPropertiesProto$Sys$Usb;-><init>()V
-Landroid/os/SystemPropertiesProto$Sys$Usb;->CONFIG:J
-Landroid/os/SystemPropertiesProto$Sys$Usb;->CONFIGFS:J
-Landroid/os/SystemPropertiesProto$Sys$Usb;->CONTROLLER:J
-Landroid/os/SystemPropertiesProto$Sys$Usb;->FFS_MAX_READ:J
-Landroid/os/SystemPropertiesProto$Sys$Usb;->FFS_MAX_WRITE:J
-Landroid/os/SystemPropertiesProto$Sys$Usb;->FFS_MTP_READY:J
-Landroid/os/SystemPropertiesProto$Sys$Usb;->FFS_READY:J
-Landroid/os/SystemPropertiesProto$Sys$Usb;->MTP_DEVICE_TYPE:J
-Landroid/os/SystemPropertiesProto$Sys$Usb;->STATE:J
-Landroid/os/SystemPropertiesProto$Sys;
-Landroid/os/SystemPropertiesProto$Sys;-><init>()V
-Landroid/os/SystemPropertiesProto$Sys;->BOOT_COMPLETED:J
-Landroid/os/SystemPropertiesProto$Sys;->BOOT_FROM_CHARGER_MODE:J
-Landroid/os/SystemPropertiesProto$Sys;->RETAILDEMO_ENABLED:J
-Landroid/os/SystemPropertiesProto$Sys;->SHUTDOWN_REQUESTED:J
-Landroid/os/SystemPropertiesProto$Sys;->USB:J
-Landroid/os/SystemPropertiesProto;
-Landroid/os/SystemPropertiesProto;-><init>()V
-Landroid/os/SystemPropertiesProto;->AAC_DRC:J
-Landroid/os/SystemPropertiesProto;->AAUDIO:J
-Landroid/os/SystemPropertiesProto;->AF_FAST_TRACK_MULTIPLIER:J
-Landroid/os/SystemPropertiesProto;->CAMERA:J
-Landroid/os/SystemPropertiesProto;->DALVIK_VM:J
-Landroid/os/SystemPropertiesProto;->DRM_64BIT_ENABLED:J
-Landroid/os/SystemPropertiesProto;->DRM_SERVICE_ENABLED:J
-Landroid/os/SystemPropertiesProto;->DUMPSTATE_DRY_RUN:J
-Landroid/os/SystemPropertiesProto;->EXTRA_PROPERTIES:J
-Landroid/os/SystemPropertiesProto;->GSM_SIM_OPERATOR_NUMERIC:J
-Landroid/os/SystemPropertiesProto;->HAL_INSTRUMENTATION_ENABLE:J
-Landroid/os/SystemPropertiesProto;->INIT_SVC:J
-Landroid/os/SystemPropertiesProto;->KEYGUARD_NO_REQUIRE_SIM:J
-Landroid/os/SystemPropertiesProto;->LIBC_DEBUG_MALLOC_OPTIONS:J
-Landroid/os/SystemPropertiesProto;->LIBC_DEBUG_MALLOC_PROGRAM:J
-Landroid/os/SystemPropertiesProto;->LOG:J
-Landroid/os/SystemPropertiesProto;->MEDIA_MEDIADRMSERVICE_ENABLE:J
-Landroid/os/SystemPropertiesProto;->MEDIA_RECORDER_SHOW_MANUFACTURER_AND_MODEL:J
-Landroid/os/SystemPropertiesProto;->PERSIST:J
-Landroid/os/SystemPropertiesProto;->PM_DEXOPT:J
-Landroid/os/SystemPropertiesProto;->RO:J
-Landroid/os/SystemPropertiesProto;->SENDBUG_PREFERRED_DOMAIN:J
-Landroid/os/SystemPropertiesProto;->SERVICE_BOOTANIM_EXIT:J
-Landroid/os/SystemPropertiesProto;->SYS:J
-Landroid/os/SystemPropertiesProto;->TELEPHONY_LTE_ON_CDMA_DEVICE:J
-Landroid/os/SystemPropertiesProto;->TOMBSTONED_MAX_TOMBSTONE_COUNT:J
-Landroid/os/SystemPropertiesProto;->VOLD_DECRYPT:J
-Landroid/os/SystemPropertiesProto;->VOLD_POST_FS_DATA_DONE:J
-Landroid/os/SystemPropertiesProto;->VTS_NATIVE_SERVER_ON:J
-Landroid/os/SystemPropertiesProto;->WIFI_DIRECT_INTERFACE:J
-Landroid/os/SystemPropertiesProto;->WIFI_INTERFACE:J
-Landroid/os/SystemProto$Battery;
-Landroid/os/SystemProto$Battery;-><init>()V
-Landroid/os/SystemProto$Battery;->BATTERY_REALTIME_MS:J
-Landroid/os/SystemProto$Battery;->BATTERY_UPTIME_MS:J
-Landroid/os/SystemProto$Battery;->ESTIMATED_BATTERY_CAPACITY_MAH:J
-Landroid/os/SystemProto$Battery;->MAX_LEARNED_BATTERY_CAPACITY_UAH:J
-Landroid/os/SystemProto$Battery;->MIN_LEARNED_BATTERY_CAPACITY_UAH:J
-Landroid/os/SystemProto$Battery;->SCREEN_DOZE_DURATION_MS:J
-Landroid/os/SystemProto$Battery;->SCREEN_OFF_REALTIME_MS:J
-Landroid/os/SystemProto$Battery;->SCREEN_OFF_UPTIME_MS:J
-Landroid/os/SystemProto$Battery;->START_CLOCK_TIME_MS:J
-Landroid/os/SystemProto$Battery;->START_COUNT:J
-Landroid/os/SystemProto$Battery;->TOTAL_REALTIME_MS:J
-Landroid/os/SystemProto$Battery;->TOTAL_UPTIME_MS:J
-Landroid/os/SystemProto$BatteryDischarge;
-Landroid/os/SystemProto$BatteryDischarge;-><init>()V
-Landroid/os/SystemProto$BatteryDischarge;->LOWER_BOUND_SINCE_CHARGE:J
-Landroid/os/SystemProto$BatteryDischarge;->SCREEN_DOZE_SINCE_CHARGE:J
-Landroid/os/SystemProto$BatteryDischarge;->SCREEN_OFF_SINCE_CHARGE:J
-Landroid/os/SystemProto$BatteryDischarge;->SCREEN_ON_SINCE_CHARGE:J
-Landroid/os/SystemProto$BatteryDischarge;->TOTAL_MAH:J
-Landroid/os/SystemProto$BatteryDischarge;->TOTAL_MAH_DEEP_DOZE:J
-Landroid/os/SystemProto$BatteryDischarge;->TOTAL_MAH_LIGHT_DOZE:J
-Landroid/os/SystemProto$BatteryDischarge;->TOTAL_MAH_SCREEN_DOZE:J
-Landroid/os/SystemProto$BatteryDischarge;->TOTAL_MAH_SCREEN_OFF:J
-Landroid/os/SystemProto$BatteryDischarge;->UPPER_BOUND_SINCE_CHARGE:J
-Landroid/os/SystemProto$BatteryLevelStep;
-Landroid/os/SystemProto$BatteryLevelStep;-><init>()V
-Landroid/os/SystemProto$BatteryLevelStep;->DISPLAY_STATE:J
-Landroid/os/SystemProto$BatteryLevelStep;->DS_DOZE:I
-Landroid/os/SystemProto$BatteryLevelStep;->DS_DOZE_SUSPEND:I
-Landroid/os/SystemProto$BatteryLevelStep;->DS_ERROR:I
-Landroid/os/SystemProto$BatteryLevelStep;->DS_MIXED:I
-Landroid/os/SystemProto$BatteryLevelStep;->DS_OFF:I
-Landroid/os/SystemProto$BatteryLevelStep;->DS_ON:I
-Landroid/os/SystemProto$BatteryLevelStep;->DURATION_MS:J
-Landroid/os/SystemProto$BatteryLevelStep;->IDLE_MODE:J
-Landroid/os/SystemProto$BatteryLevelStep;->IM_MIXED:I
-Landroid/os/SystemProto$BatteryLevelStep;->IM_OFF:I
-Landroid/os/SystemProto$BatteryLevelStep;->IM_ON:I
-Landroid/os/SystemProto$BatteryLevelStep;->LEVEL:J
-Landroid/os/SystemProto$BatteryLevelStep;->POWER_SAVE_MODE:J
-Landroid/os/SystemProto$BatteryLevelStep;->PSM_MIXED:I
-Landroid/os/SystemProto$BatteryLevelStep;->PSM_OFF:I
-Landroid/os/SystemProto$BatteryLevelStep;->PSM_ON:I
-Landroid/os/SystemProto$DataConnection;
-Landroid/os/SystemProto$DataConnection;-><init>()V
-Landroid/os/SystemProto$DataConnection;->IS_NONE:J
-Landroid/os/SystemProto$DataConnection;->NAME:J
-Landroid/os/SystemProto$DataConnection;->TOTAL:J
-Landroid/os/SystemProto$GlobalNetwork;
-Landroid/os/SystemProto$GlobalNetwork;-><init>()V
-Landroid/os/SystemProto$GlobalNetwork;->BT_BYTES_RX:J
-Landroid/os/SystemProto$GlobalNetwork;->BT_BYTES_TX:J
-Landroid/os/SystemProto$GlobalNetwork;->MOBILE_BYTES_RX:J
-Landroid/os/SystemProto$GlobalNetwork;->MOBILE_BYTES_TX:J
-Landroid/os/SystemProto$GlobalNetwork;->MOBILE_PACKETS_RX:J
-Landroid/os/SystemProto$GlobalNetwork;->MOBILE_PACKETS_TX:J
-Landroid/os/SystemProto$GlobalNetwork;->WIFI_BYTES_RX:J
-Landroid/os/SystemProto$GlobalNetwork;->WIFI_BYTES_TX:J
-Landroid/os/SystemProto$GlobalNetwork;->WIFI_PACKETS_RX:J
-Landroid/os/SystemProto$GlobalNetwork;->WIFI_PACKETS_TX:J
-Landroid/os/SystemProto$GlobalWifi;
-Landroid/os/SystemProto$GlobalWifi;-><init>()V
-Landroid/os/SystemProto$GlobalWifi;->ON_DURATION_MS:J
-Landroid/os/SystemProto$GlobalWifi;->RUNNING_DURATION_MS:J
-Landroid/os/SystemProto$KernelWakelock;
-Landroid/os/SystemProto$KernelWakelock;-><init>()V
-Landroid/os/SystemProto$KernelWakelock;->NAME:J
-Landroid/os/SystemProto$KernelWakelock;->TOTAL:J
-Landroid/os/SystemProto$Misc;
-Landroid/os/SystemProto$Misc;-><init>()V
-Landroid/os/SystemProto$Misc;->BATTERY_SAVER_MODE_ENABLED_DURATION_MS:J
-Landroid/os/SystemProto$Misc;->DEEP_DOZE_COUNT:J
-Landroid/os/SystemProto$Misc;->DEEP_DOZE_ENABLED_DURATION_MS:J
-Landroid/os/SystemProto$Misc;->DEEP_DOZE_IDLING_COUNT:J
-Landroid/os/SystemProto$Misc;->DEEP_DOZE_IDLING_DURATION_MS:J
-Landroid/os/SystemProto$Misc;->FULL_WAKELOCK_TOTAL_DURATION_MS:J
-Landroid/os/SystemProto$Misc;->INTERACTIVE_DURATION_MS:J
-Landroid/os/SystemProto$Misc;->LIGHT_DOZE_COUNT:J
-Landroid/os/SystemProto$Misc;->LIGHT_DOZE_ENABLED_DURATION_MS:J
-Landroid/os/SystemProto$Misc;->LIGHT_DOZE_IDLING_COUNT:J
-Landroid/os/SystemProto$Misc;->LIGHT_DOZE_IDLING_DURATION_MS:J
-Landroid/os/SystemProto$Misc;->LONGEST_DEEP_DOZE_DURATION_MS:J
-Landroid/os/SystemProto$Misc;->LONGEST_LIGHT_DOZE_DURATION_MS:J
-Landroid/os/SystemProto$Misc;->MOBILE_RADIO_ACTIVE_ADJUSTED_TIME_MS:J
-Landroid/os/SystemProto$Misc;->MOBILE_RADIO_ACTIVE_COUNT:J
-Landroid/os/SystemProto$Misc;->MOBILE_RADIO_ACTIVE_DURATION_MS:J
-Landroid/os/SystemProto$Misc;->MOBILE_RADIO_ACTIVE_UNKNOWN_DURATION_MS:J
-Landroid/os/SystemProto$Misc;->NUM_CONNECTIVITY_CHANGES:J
-Landroid/os/SystemProto$Misc;->PARTIAL_WAKELOCK_TOTAL_DURATION_MS:J
-Landroid/os/SystemProto$Misc;->PHONE_ON_DURATION_MS:J
-Landroid/os/SystemProto$Misc;->SCREEN_ON_DURATION_MS:J
-Landroid/os/SystemProto$PhoneSignalStrength;
-Landroid/os/SystemProto$PhoneSignalStrength;-><init>()V
-Landroid/os/SystemProto$PhoneSignalStrength;->NAME:J
-Landroid/os/SystemProto$PhoneSignalStrength;->TOTAL:J
-Landroid/os/SystemProto$PowerUseItem;
-Landroid/os/SystemProto$PowerUseItem;-><init>()V
-Landroid/os/SystemProto$PowerUseItem;->AMBIENT_DISPLAY:I
-Landroid/os/SystemProto$PowerUseItem;->BLUETOOTH:I
-Landroid/os/SystemProto$PowerUseItem;->CAMERA:I
-Landroid/os/SystemProto$PowerUseItem;->CELL:I
-Landroid/os/SystemProto$PowerUseItem;->COMPUTED_POWER_MAH:J
-Landroid/os/SystemProto$PowerUseItem;->FLASHLIGHT:I
-Landroid/os/SystemProto$PowerUseItem;->IDLE:I
-Landroid/os/SystemProto$PowerUseItem;->MEMORY:I
-Landroid/os/SystemProto$PowerUseItem;->NAME:J
-Landroid/os/SystemProto$PowerUseItem;->OVERCOUNTED:I
-Landroid/os/SystemProto$PowerUseItem;->PHONE:I
-Landroid/os/SystemProto$PowerUseItem;->PROPORTIONAL_SMEAR_MAH:J
-Landroid/os/SystemProto$PowerUseItem;->SCREEN:I
-Landroid/os/SystemProto$PowerUseItem;->SCREEN_POWER_MAH:J
-Landroid/os/SystemProto$PowerUseItem;->SHOULD_HIDE:J
-Landroid/os/SystemProto$PowerUseItem;->UID:J
-Landroid/os/SystemProto$PowerUseItem;->UNACCOUNTED:I
-Landroid/os/SystemProto$PowerUseItem;->UNKNOWN_SIPPER:I
-Landroid/os/SystemProto$PowerUseItem;->USER:I
-Landroid/os/SystemProto$PowerUseItem;->WIFI:I
-Landroid/os/SystemProto$PowerUseSummary;
-Landroid/os/SystemProto$PowerUseSummary;-><init>()V
-Landroid/os/SystemProto$PowerUseSummary;->BATTERY_CAPACITY_MAH:J
-Landroid/os/SystemProto$PowerUseSummary;->COMPUTED_POWER_MAH:J
-Landroid/os/SystemProto$PowerUseSummary;->MAX_DRAINED_POWER_MAH:J
-Landroid/os/SystemProto$PowerUseSummary;->MIN_DRAINED_POWER_MAH:J
-Landroid/os/SystemProto$ResourcePowerManager;
-Landroid/os/SystemProto$ResourcePowerManager;-><init>()V
-Landroid/os/SystemProto$ResourcePowerManager;->NAME:J
-Landroid/os/SystemProto$ResourcePowerManager;->SCREEN_OFF:J
-Landroid/os/SystemProto$ResourcePowerManager;->TOTAL:J
-Landroid/os/SystemProto$ScreenBrightness;
-Landroid/os/SystemProto$ScreenBrightness;-><init>()V
-Landroid/os/SystemProto$ScreenBrightness;->BRIGHT:I
-Landroid/os/SystemProto$ScreenBrightness;->DARK:I
-Landroid/os/SystemProto$ScreenBrightness;->DIM:I
-Landroid/os/SystemProto$ScreenBrightness;->LIGHT:I
-Landroid/os/SystemProto$ScreenBrightness;->MEDIUM:I
-Landroid/os/SystemProto$ScreenBrightness;->NAME:J
-Landroid/os/SystemProto$ScreenBrightness;->TOTAL:J
-Landroid/os/SystemProto$WakeupReason;
-Landroid/os/SystemProto$WakeupReason;-><init>()V
-Landroid/os/SystemProto$WakeupReason;->NAME:J
-Landroid/os/SystemProto$WakeupReason;->TOTAL:J
-Landroid/os/SystemProto$WifiMulticastWakelockTotal;
-Landroid/os/SystemProto$WifiMulticastWakelockTotal;-><init>()V
-Landroid/os/SystemProto$WifiMulticastWakelockTotal;->COUNT:J
-Landroid/os/SystemProto$WifiMulticastWakelockTotal;->DURATION_MS:J
-Landroid/os/SystemProto$WifiSignalStrength;
-Landroid/os/SystemProto$WifiSignalStrength;-><init>()V
-Landroid/os/SystemProto$WifiSignalStrength;->GOOD:I
-Landroid/os/SystemProto$WifiSignalStrength;->GREAT:I
-Landroid/os/SystemProto$WifiSignalStrength;->MODERATE:I
-Landroid/os/SystemProto$WifiSignalStrength;->NAME:J
-Landroid/os/SystemProto$WifiSignalStrength;->NONE:I
-Landroid/os/SystemProto$WifiSignalStrength;->POOR:I
-Landroid/os/SystemProto$WifiSignalStrength;->TOTAL:J
-Landroid/os/SystemProto$WifiState;
-Landroid/os/SystemProto$WifiState;-><init>()V
-Landroid/os/SystemProto$WifiState;->NAME:J
-Landroid/os/SystemProto$WifiState;->OFF:I
-Landroid/os/SystemProto$WifiState;->OFF_SCANNING:I
-Landroid/os/SystemProto$WifiState;->ON_CONNECTED_P2P:I
-Landroid/os/SystemProto$WifiState;->ON_CONNECTED_STA:I
-Landroid/os/SystemProto$WifiState;->ON_CONNECTED_STA_P2P:I
-Landroid/os/SystemProto$WifiState;->ON_DISCONNECTED:I
-Landroid/os/SystemProto$WifiState;->ON_NO_NETWORKS:I
-Landroid/os/SystemProto$WifiState;->SOFT_AP:I
-Landroid/os/SystemProto$WifiState;->TOTAL:J
-Landroid/os/SystemProto$WifiSupplicantState;
-Landroid/os/SystemProto$WifiSupplicantState;-><init>()V
-Landroid/os/SystemProto$WifiSupplicantState;->ASSOCIATED:I
-Landroid/os/SystemProto$WifiSupplicantState;->ASSOCIATING:I
-Landroid/os/SystemProto$WifiSupplicantState;->AUTHENTICATING:I
-Landroid/os/SystemProto$WifiSupplicantState;->COMPLETED:I
-Landroid/os/SystemProto$WifiSupplicantState;->DISCONNECTED:I
-Landroid/os/SystemProto$WifiSupplicantState;->DORMANT:I
-Landroid/os/SystemProto$WifiSupplicantState;->FOUR_WAY_HANDSHAKE:I
-Landroid/os/SystemProto$WifiSupplicantState;->GROUP_HANDSHAKE:I
-Landroid/os/SystemProto$WifiSupplicantState;->INACTIVE:I
-Landroid/os/SystemProto$WifiSupplicantState;->INTERFACE_DISABLED:I
-Landroid/os/SystemProto$WifiSupplicantState;->INVALID:I
-Landroid/os/SystemProto$WifiSupplicantState;->NAME:J
-Landroid/os/SystemProto$WifiSupplicantState;->SCANNING:I
-Landroid/os/SystemProto$WifiSupplicantState;->TOTAL:J
-Landroid/os/SystemProto$WifiSupplicantState;->UNINITIALIZED:I
-Landroid/os/SystemProto;
-Landroid/os/SystemProto;-><init>()V
-Landroid/os/SystemProto;->BATTERY:J
-Landroid/os/SystemProto;->BATTERY_DISCHARGE:J
-Landroid/os/SystemProto;->CHARGE_STEP:J
-Landroid/os/SystemProto;->CHARGE_TIME_REMAINING_MS:J
-Landroid/os/SystemProto;->CPU_FREQUENCY:J
-Landroid/os/SystemProto;->DATA_CONNECTION:J
-Landroid/os/SystemProto;->DISCHARGE_STEP:J
-Landroid/os/SystemProto;->DISCHARGE_TIME_REMAINING_MS:J
-Landroid/os/SystemProto;->GLOBAL_BLUETOOTH_CONTROLLER:J
-Landroid/os/SystemProto;->GLOBAL_MODEM_CONTROLLER:J
-Landroid/os/SystemProto;->GLOBAL_NETWORK:J
-Landroid/os/SystemProto;->GLOBAL_WIFI:J
-Landroid/os/SystemProto;->GLOBAL_WIFI_CONTROLLER:J
-Landroid/os/SystemProto;->KERNEL_WAKELOCK:J
-Landroid/os/SystemProto;->MISC:J
-Landroid/os/SystemProto;->PHONE_SIGNAL_STRENGTH:J
-Landroid/os/SystemProto;->POWER_USE_ITEM:J
-Landroid/os/SystemProto;->POWER_USE_SUMMARY:J
-Landroid/os/SystemProto;->RESOURCE_POWER_MANAGER:J
-Landroid/os/SystemProto;->SCREEN_BRIGHTNESS:J
-Landroid/os/SystemProto;->SIGNAL_SCANNING:J
-Landroid/os/SystemProto;->WAKEUP_REASON:J
-Landroid/os/SystemProto;->WIFI_MULTICAST_WAKELOCK_TOTAL:J
-Landroid/os/SystemProto;->WIFI_SIGNAL_STRENGTH:J
-Landroid/os/SystemProto;->WIFI_STATE:J
-Landroid/os/SystemProto;->WIFI_SUPPLICANT_STATE:J
-Landroid/os/SystemService$State;
-Landroid/os/SystemService$State;-><init>(Ljava/lang/String;)V
-Landroid/os/SystemService$State;->RESTARTING:Landroid/os/SystemService$State;
-Landroid/os/SystemService$State;->RUNNING:Landroid/os/SystemService$State;
-Landroid/os/SystemService$State;->STOPPED:Landroid/os/SystemService$State;
-Landroid/os/SystemService$State;->STOPPING:Landroid/os/SystemService$State;
-Landroid/os/SystemService$State;->valueOf(Ljava/lang/String;)Landroid/os/SystemService$State;
-Landroid/os/SystemService$State;->values()[Landroid/os/SystemService$State;
-Landroid/os/SystemService;
-Landroid/os/SystemService;-><init>()V
-Landroid/os/SystemService;->getState(Ljava/lang/String;)Landroid/os/SystemService$State;
-Landroid/os/SystemService;->isRunning(Ljava/lang/String;)Z
-Landroid/os/SystemService;->isStopped(Ljava/lang/String;)Z
-Landroid/os/SystemService;->restart(Ljava/lang/String;)V
-Landroid/os/SystemService;->sPropertyLock:Ljava/lang/Object;
-Landroid/os/SystemService;->sStates:Ljava/util/HashMap;
-Landroid/os/SystemService;->waitForAnyStopped([[Ljava/lang/String;)V
-Landroid/os/SystemService;->waitForState(Ljava/lang/String;Landroid/os/SystemService$State;J)V
-Landroid/os/SystemUpdateManager;-><init>(Landroid/os/ISystemUpdateManager;)V
-Landroid/os/SystemUpdateManager;->mService:Landroid/os/ISystemUpdateManager;
-Landroid/os/SystemUpdateManager;->TAG:Ljava/lang/String;
-Landroid/os/SystemVibrator;
-Landroid/os/SystemVibrator;->mService:Landroid/os/IVibratorService;
-Landroid/os/SystemVibrator;->mToken:Landroid/os/Binder;
-Landroid/os/SystemVibrator;->TAG:Ljava/lang/String;
-Landroid/os/SystemVibrator;->usageForAttributes(Landroid/media/AudioAttributes;)I
-Landroid/os/SystemVibrator;->vibrate(ILjava/lang/String;Landroid/os/VibrationEffect;Landroid/media/AudioAttributes;)V
-Landroid/os/Temperature;
-Landroid/os/Temperature;-><init>()V
-Landroid/os/Temperature;-><init>(FI)V
-Landroid/os/Temperature;-><init>(Landroid/os/Parcel;)V
-Landroid/os/Temperature;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/os/Temperature;->getType()I
-Landroid/os/Temperature;->getValue()F
-Landroid/os/Temperature;->mType:I
-Landroid/os/Temperature;->mValue:F
-Landroid/os/Temperature;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/os/TestLooperManager$LooperHolder;
-Landroid/os/TestLooperManager$LooperHolder;-><init>()V
-Landroid/os/TestLooperManager$LooperHolder;->processMessage(Landroid/os/TestLooperManager$MessageExecution;)V
-Landroid/os/TestLooperManager$MessageExecution;
-Landroid/os/TestLooperManager$MessageExecution;-><init>()V
-Landroid/os/TestLooperManager$MessageExecution;->m:Landroid/os/Message;
-Landroid/os/TestLooperManager$MessageExecution;->response:Ljava/lang/Throwable;
-Landroid/os/TestLooperManager;-><init>(Landroid/os/Looper;)V
-Landroid/os/TestLooperManager;->checkReleased()V
-Landroid/os/TestLooperManager;->mExecuteQueue:Ljava/util/concurrent/LinkedBlockingQueue;
-Landroid/os/TestLooperManager;->mLooper:Landroid/os/Looper;
-Landroid/os/TestLooperManager;->mLooperBlocked:Z
-Landroid/os/TestLooperManager;->mQueue:Landroid/os/MessageQueue;
-Landroid/os/TestLooperManager;->mReleased:Z
-Landroid/os/TestLooperManager;->sHeldLoopers:Landroid/util/ArraySet;
-Landroid/os/TimerProto;
-Landroid/os/TimerProto;-><init>()V
-Landroid/os/TimerProto;->COUNT:J
-Landroid/os/TimerProto;->CURRENT_DURATION_MS:J
-Landroid/os/TimerProto;->DURATION_MS:J
-Landroid/os/TimerProto;->MAX_DURATION_MS:J
-Landroid/os/TimerProto;->TOTAL_DURATION_MS:J
-Landroid/os/TokenWatcher$Death;
-Landroid/os/TokenWatcher$Death;-><init>(Landroid/os/IBinder;Ljava/lang/String;)V
-Landroid/os/TokenWatcher$Death;->tag:Ljava/lang/String;
-Landroid/os/TokenWatcher$Death;->token:Landroid/os/IBinder;
-Landroid/os/TokenWatcher;->dumpInternal()Ljava/util/ArrayList;
-Landroid/os/TokenWatcher;->mAcquired:Z
-Landroid/os/TokenWatcher;->mHandler:Landroid/os/Handler;
-Landroid/os/TokenWatcher;->mNotificationQueue:I
-Landroid/os/TokenWatcher;->mNotificationTask:Ljava/lang/Runnable;
-Landroid/os/TokenWatcher;->mTag:Ljava/lang/String;
-Landroid/os/TokenWatcher;->mTokens:Ljava/util/WeakHashMap;
-Landroid/os/TokenWatcher;->sendNotificationLocked(Z)V
-Landroid/os/Trace;-><init>()V
-Landroid/os/Trace;->cacheEnabledTags()J
-Landroid/os/Trace;->MAX_SECTION_NAME_LEN:I
-Landroid/os/Trace;->nativeAsyncTraceBegin(JLjava/lang/String;I)V
-Landroid/os/Trace;->nativeAsyncTraceEnd(JLjava/lang/String;I)V
-Landroid/os/Trace;->nativeSetAppTracingAllowed(Z)V
-Landroid/os/Trace;->nativeSetTracingEnabled(Z)V
-Landroid/os/Trace;->nativeTraceBegin(JLjava/lang/String;)V
-Landroid/os/Trace;->nativeTraceCounter(JLjava/lang/String;I)V
-Landroid/os/Trace;->nativeTraceEnd(J)V
-Landroid/os/Trace;->setTracingEnabled(ZI)V
-Landroid/os/Trace;->sZygoteDebugFlags:I
-Landroid/os/Trace;->TAG:Ljava/lang/String;
-Landroid/os/Trace;->TRACE_TAG_ACTIVITY_MANAGER:J
-Landroid/os/Trace;->TRACE_TAG_ADB:J
-Landroid/os/Trace;->TRACE_TAG_AIDL:J
-Landroid/os/Trace;->TRACE_TAG_ALWAYS:J
-Landroid/os/Trace;->TRACE_TAG_AUDIO:J
-Landroid/os/Trace;->TRACE_TAG_BIONIC:J
-Landroid/os/Trace;->TRACE_TAG_CAMERA:J
-Landroid/os/Trace;->TRACE_TAG_DALVIK:J
-Landroid/os/Trace;->TRACE_TAG_DATABASE:J
-Landroid/os/Trace;->TRACE_TAG_GRAPHICS:J
-Landroid/os/Trace;->TRACE_TAG_HAL:J
-Landroid/os/Trace;->TRACE_TAG_INPUT:J
-Landroid/os/Trace;->TRACE_TAG_NETWORK:J
-Landroid/os/Trace;->TRACE_TAG_NEVER:J
-Landroid/os/Trace;->TRACE_TAG_NOT_READY:J
-Landroid/os/Trace;->TRACE_TAG_PACKAGE_MANAGER:J
-Landroid/os/Trace;->TRACE_TAG_POWER:J
-Landroid/os/Trace;->TRACE_TAG_RESOURCES:J
-Landroid/os/Trace;->TRACE_TAG_RS:J
-Landroid/os/Trace;->TRACE_TAG_SYNC_MANAGER:J
-Landroid/os/Trace;->TRACE_TAG_SYSTEM_SERVER:J
-Landroid/os/Trace;->TRACE_TAG_VIBRATOR:J
-Landroid/os/Trace;->TRACE_TAG_VIDEO:J
-Landroid/os/Trace;->TRACE_TAG_WEBVIEW:J
-Landroid/os/Trace;->TRACE_TAG_WINDOW_MANAGER:J
-Landroid/os/TransactionTracker;
-Landroid/os/TransactionTracker;-><init>()V
-Landroid/os/TransactionTracker;->addTrace(Ljava/lang/Throwable;)V
-Landroid/os/TransactionTracker;->clearTraces()V
-Landroid/os/TransactionTracker;->mTraces:Ljava/util/Map;
-Landroid/os/TransactionTracker;->resetTraces()V
-Landroid/os/TransactionTracker;->writeTracesToFile(Landroid/os/ParcelFileDescriptor;)V
-Landroid/os/UEventObserver$UEvent;
-Landroid/os/UEventObserver$UEvent;-><init>(Ljava/lang/String;)V
-Landroid/os/UEventObserver$UEvent;->mMap:Ljava/util/HashMap;
-Landroid/os/UEventObserver$UEventThread;
-Landroid/os/UEventObserver$UEventThread;-><init>()V
-Landroid/os/UEventObserver$UEventThread;->addObserver(Ljava/lang/String;Landroid/os/UEventObserver;)V
-Landroid/os/UEventObserver$UEventThread;->mKeysAndObservers:Ljava/util/ArrayList;
-Landroid/os/UEventObserver$UEventThread;->mTempObserversToSignal:Ljava/util/ArrayList;
-Landroid/os/UEventObserver$UEventThread;->removeObserver(Landroid/os/UEventObserver;)V
-Landroid/os/UEventObserver$UEventThread;->sendEvent(Ljava/lang/String;)V
-Landroid/os/UEventObserver;
-Landroid/os/UEventObserver;->DEBUG:Z
-Landroid/os/UEventObserver;->getThread()Landroid/os/UEventObserver$UEventThread;
-Landroid/os/UEventObserver;->nativeAddMatch(Ljava/lang/String;)V
-Landroid/os/UEventObserver;->nativeRemoveMatch(Ljava/lang/String;)V
-Landroid/os/UEventObserver;->nativeSetup()V
-Landroid/os/UEventObserver;->nativeWaitForNextEvent()Ljava/lang/String;
-Landroid/os/UEventObserver;->peekThread()Landroid/os/UEventObserver$UEventThread;
-Landroid/os/UEventObserver;->sThread:Landroid/os/UEventObserver$UEventThread;
-Landroid/os/UEventObserver;->TAG:Ljava/lang/String;
-Landroid/os/UidProto$AggregatedWakelock;
-Landroid/os/UidProto$AggregatedWakelock;-><init>()V
-Landroid/os/UidProto$AggregatedWakelock;->BACKGROUND_PARTIAL_DURATION_MS:J
-Landroid/os/UidProto$AggregatedWakelock;->PARTIAL_DURATION_MS:J
-Landroid/os/UidProto$BluetoothMisc;
-Landroid/os/UidProto$BluetoothMisc;-><init>()V
-Landroid/os/UidProto$BluetoothMisc;->APPORTIONED_BLE_SCAN:J
-Landroid/os/UidProto$BluetoothMisc;->BACKGROUND_BLE_SCAN:J
-Landroid/os/UidProto$BluetoothMisc;->BACKGROUND_BLE_SCAN_RESULT_COUNT:J
-Landroid/os/UidProto$BluetoothMisc;->BACKGROUND_UNOPTIMIZED_BLE_SCAN:J
-Landroid/os/UidProto$BluetoothMisc;->BLE_SCAN_RESULT_COUNT:J
-Landroid/os/UidProto$BluetoothMisc;->UNOPTIMIZED_BLE_SCAN:J
-Landroid/os/UidProto$Cpu$ByFrequency;
-Landroid/os/UidProto$Cpu$ByFrequency;-><init>()V
-Landroid/os/UidProto$Cpu$ByFrequency;->FREQUENCY_INDEX:J
-Landroid/os/UidProto$Cpu$ByFrequency;->SCREEN_OFF_DURATION_MS:J
-Landroid/os/UidProto$Cpu$ByFrequency;->TOTAL_DURATION_MS:J
-Landroid/os/UidProto$Cpu$ByProcessState;
-Landroid/os/UidProto$Cpu$ByProcessState;-><init>()V
-Landroid/os/UidProto$Cpu$ByProcessState;->BY_FREQUENCY:J
-Landroid/os/UidProto$Cpu$ByProcessState;->PROCESS_STATE:J
-Landroid/os/UidProto$Cpu;
-Landroid/os/UidProto$Cpu;-><init>()V
-Landroid/os/UidProto$Cpu;->BACKGROUND:I
-Landroid/os/UidProto$Cpu;->BY_FREQUENCY:J
-Landroid/os/UidProto$Cpu;->BY_PROCESS_STATE:J
-Landroid/os/UidProto$Cpu;->CACHED:I
-Landroid/os/UidProto$Cpu;->FOREGROUND:I
-Landroid/os/UidProto$Cpu;->FOREGROUND_SERVICE:I
-Landroid/os/UidProto$Cpu;->HEAVY_WEIGHT:I
-Landroid/os/UidProto$Cpu;->SYSTEM_DURATION_MS:J
-Landroid/os/UidProto$Cpu;->TOP:I
-Landroid/os/UidProto$Cpu;->TOP_SLEEPING:I
-Landroid/os/UidProto$Cpu;->USER_DURATION_MS:J
-Landroid/os/UidProto$Job;
-Landroid/os/UidProto$Job;-><init>()V
-Landroid/os/UidProto$Job;->BACKGROUND:J
-Landroid/os/UidProto$Job;->NAME:J
-Landroid/os/UidProto$Job;->TOTAL:J
-Landroid/os/UidProto$JobCompletion$ReasonCount;
-Landroid/os/UidProto$JobCompletion$ReasonCount;-><init>()V
-Landroid/os/UidProto$JobCompletion$ReasonCount;->COUNT:J
-Landroid/os/UidProto$JobCompletion$ReasonCount;->NAME:J
-Landroid/os/UidProto$JobCompletion;
-Landroid/os/UidProto$JobCompletion;-><init>()V
-Landroid/os/UidProto$JobCompletion;->NAME:J
-Landroid/os/UidProto$JobCompletion;->REASON_COUNT:J
-Landroid/os/UidProto$Network;
-Landroid/os/UidProto$Network;-><init>()V
-Landroid/os/UidProto$Network;->BT_BYTES_RX:J
-Landroid/os/UidProto$Network;->BT_BYTES_TX:J
-Landroid/os/UidProto$Network;->MOBILE_ACTIVE_COUNT:J
-Landroid/os/UidProto$Network;->MOBILE_ACTIVE_DURATION_MS:J
-Landroid/os/UidProto$Network;->MOBILE_BYTES_BG_RX:J
-Landroid/os/UidProto$Network;->MOBILE_BYTES_BG_TX:J
-Landroid/os/UidProto$Network;->MOBILE_BYTES_RX:J
-Landroid/os/UidProto$Network;->MOBILE_BYTES_TX:J
-Landroid/os/UidProto$Network;->MOBILE_PACKETS_BG_RX:J
-Landroid/os/UidProto$Network;->MOBILE_PACKETS_BG_TX:J
-Landroid/os/UidProto$Network;->MOBILE_PACKETS_RX:J
-Landroid/os/UidProto$Network;->MOBILE_PACKETS_TX:J
-Landroid/os/UidProto$Network;->MOBILE_WAKEUP_COUNT:J
-Landroid/os/UidProto$Network;->WIFI_BYTES_BG_RX:J
-Landroid/os/UidProto$Network;->WIFI_BYTES_BG_TX:J
-Landroid/os/UidProto$Network;->WIFI_BYTES_RX:J
-Landroid/os/UidProto$Network;->WIFI_BYTES_TX:J
-Landroid/os/UidProto$Network;->WIFI_PACKETS_BG_RX:J
-Landroid/os/UidProto$Network;->WIFI_PACKETS_BG_TX:J
-Landroid/os/UidProto$Network;->WIFI_PACKETS_RX:J
-Landroid/os/UidProto$Network;->WIFI_PACKETS_TX:J
-Landroid/os/UidProto$Network;->WIFI_WAKEUP_COUNT:J
-Landroid/os/UidProto$Package$Service;
-Landroid/os/UidProto$Package$Service;-><init>()V
-Landroid/os/UidProto$Package$Service;->LAUNCH_COUNT:J
-Landroid/os/UidProto$Package$Service;->NAME:J
-Landroid/os/UidProto$Package$Service;->START_COUNT:J
-Landroid/os/UidProto$Package$Service;->START_DURATION_MS:J
-Landroid/os/UidProto$Package;
-Landroid/os/UidProto$Package;-><init>()V
-Landroid/os/UidProto$Package;->NAME:J
-Landroid/os/UidProto$Package;->SERVICES:J
-Landroid/os/UidProto$PowerUseItem;
-Landroid/os/UidProto$PowerUseItem;-><init>()V
-Landroid/os/UidProto$PowerUseItem;->COMPUTED_POWER_MAH:J
-Landroid/os/UidProto$PowerUseItem;->PROPORTIONAL_SMEAR_MAH:J
-Landroid/os/UidProto$PowerUseItem;->SCREEN_POWER_MAH:J
-Landroid/os/UidProto$PowerUseItem;->SHOULD_HIDE:J
-Landroid/os/UidProto$Process;
-Landroid/os/UidProto$Process;-><init>()V
-Landroid/os/UidProto$Process;->ANR_COUNT:J
-Landroid/os/UidProto$Process;->CRASH_COUNT:J
-Landroid/os/UidProto$Process;->FOREGROUND_DURATION_MS:J
-Landroid/os/UidProto$Process;->NAME:J
-Landroid/os/UidProto$Process;->START_COUNT:J
-Landroid/os/UidProto$Process;->SYSTEM_DURATION_MS:J
-Landroid/os/UidProto$Process;->USER_DURATION_MS:J
-Landroid/os/UidProto$Sensor;
-Landroid/os/UidProto$Sensor;-><init>()V
-Landroid/os/UidProto$Sensor;->APPORTIONED:J
-Landroid/os/UidProto$Sensor;->BACKGROUND:J
-Landroid/os/UidProto$Sensor;->ID:J
-Landroid/os/UidProto$StateTime;
-Landroid/os/UidProto$StateTime;-><init>()V
-Landroid/os/UidProto$StateTime;->DURATION_MS:J
-Landroid/os/UidProto$StateTime;->PROCESS_STATE_BACKGROUND:I
-Landroid/os/UidProto$StateTime;->PROCESS_STATE_CACHED:I
-Landroid/os/UidProto$StateTime;->PROCESS_STATE_FOREGROUND:I
-Landroid/os/UidProto$StateTime;->PROCESS_STATE_FOREGROUND_SERVICE:I
-Landroid/os/UidProto$StateTime;->PROCESS_STATE_HEAVY_WEIGHT:I
-Landroid/os/UidProto$StateTime;->PROCESS_STATE_TOP:I
-Landroid/os/UidProto$StateTime;->PROCESS_STATE_TOP_SLEEPING:I
-Landroid/os/UidProto$StateTime;->STATE:J
-Landroid/os/UidProto$Sync;
-Landroid/os/UidProto$Sync;-><init>()V
-Landroid/os/UidProto$Sync;->BACKGROUND:J
-Landroid/os/UidProto$Sync;->NAME:J
-Landroid/os/UidProto$Sync;->TOTAL:J
-Landroid/os/UidProto$UserActivity;
-Landroid/os/UidProto$UserActivity;-><init>()V
-Landroid/os/UidProto$UserActivity;->COUNT:J
-Landroid/os/UidProto$UserActivity;->NAME:J
-Landroid/os/UidProto$Wakelock;
-Landroid/os/UidProto$Wakelock;-><init>()V
-Landroid/os/UidProto$Wakelock;->BACKGROUND_PARTIAL:J
-Landroid/os/UidProto$Wakelock;->FULL:J
-Landroid/os/UidProto$Wakelock;->NAME:J
-Landroid/os/UidProto$Wakelock;->PARTIAL:J
-Landroid/os/UidProto$Wakelock;->WINDOW:J
-Landroid/os/UidProto$WakeupAlarm;
-Landroid/os/UidProto$WakeupAlarm;-><init>()V
-Landroid/os/UidProto$WakeupAlarm;->COUNT:J
-Landroid/os/UidProto$WakeupAlarm;->NAME:J
-Landroid/os/UidProto$Wifi;
-Landroid/os/UidProto$Wifi;-><init>()V
-Landroid/os/UidProto$Wifi;->APPORTIONED_SCAN:J
-Landroid/os/UidProto$Wifi;->BACKGROUND_SCAN:J
-Landroid/os/UidProto$Wifi;->FULL_WIFI_LOCK_DURATION_MS:J
-Landroid/os/UidProto$Wifi;->RUNNING_DURATION_MS:J
-Landroid/os/UidProto;
-Landroid/os/UidProto;-><init>()V
-Landroid/os/UidProto;->AGGREGATED_WAKELOCK:J
-Landroid/os/UidProto;->AUDIO:J
-Landroid/os/UidProto;->BLUETOOTH_CONTROLLER:J
-Landroid/os/UidProto;->BLUETOOTH_MISC:J
-Landroid/os/UidProto;->CAMERA:J
-Landroid/os/UidProto;->CPU:J
-Landroid/os/UidProto;->FLASHLIGHT:J
-Landroid/os/UidProto;->FOREGROUND_ACTIVITY:J
-Landroid/os/UidProto;->FOREGROUND_SERVICE:J
-Landroid/os/UidProto;->JOBS:J
-Landroid/os/UidProto;->JOB_COMPLETION:J
-Landroid/os/UidProto;->MODEM_CONTROLLER:J
-Landroid/os/UidProto;->NETWORK:J
-Landroid/os/UidProto;->PACKAGES:J
-Landroid/os/UidProto;->POWER_USE_ITEM:J
-Landroid/os/UidProto;->PROCESS:J
-Landroid/os/UidProto;->SENSORS:J
-Landroid/os/UidProto;->STATES:J
-Landroid/os/UidProto;->SYNCS:J
-Landroid/os/UidProto;->UID:J
-Landroid/os/UidProto;->USER_ACTIVITY:J
-Landroid/os/UidProto;->VIBRATOR:J
-Landroid/os/UidProto;->VIDEO:J
-Landroid/os/UidProto;->WAKELOCKS:J
-Landroid/os/UidProto;->WAKEUP_ALARM:J
-Landroid/os/UidProto;->WIFI:J
-Landroid/os/UidProto;->WIFI_CONTROLLER:J
-Landroid/os/UidProto;->WIFI_MULTICAST_WAKELOCK:J
-Landroid/os/UpdateEngine;->mUpdateEngine:Landroid/os/IUpdateEngine;
-Landroid/os/UpdateEngine;->mUpdateEngineCallback:Landroid/os/IUpdateEngineCallback;
-Landroid/os/UpdateEngine;->mUpdateEngineCallbackLock:Ljava/lang/Object;
-Landroid/os/UpdateEngine;->TAG:Ljava/lang/String;
-Landroid/os/UpdateEngine;->UPDATE_ENGINE_SERVICE:Ljava/lang/String;
-Landroid/os/UpdateLock;
-Landroid/os/UpdateLock;-><init>(Ljava/lang/String;)V
-Landroid/os/UpdateLock;->acquireLocked()V
-Landroid/os/UpdateLock;->checkService()V
-Landroid/os/UpdateLock;->DEBUG:Z
-Landroid/os/UpdateLock;->mCount:I
-Landroid/os/UpdateLock;->mHeld:Z
-Landroid/os/UpdateLock;->mRefCounted:Z
-Landroid/os/UpdateLock;->mTag:Ljava/lang/String;
-Landroid/os/UpdateLock;->mToken:Landroid/os/IBinder;
-Landroid/os/UpdateLock;->releaseLocked()V
-Landroid/os/UpdateLock;->setReferenceCounted(Z)V
-Landroid/os/UpdateLock;->sService:Landroid/os/IUpdateLock;
-Landroid/os/UpdateLock;->TAG:Ljava/lang/String;
-Landroid/os/UserHandle;->formatUid(I)Ljava/lang/String;
-Landroid/os/UserHandle;->formatUid(Ljava/lang/StringBuilder;I)V
-Landroid/os/UserHandle;->getCacheAppGid(I)I
-Landroid/os/UserHandle;->getCacheAppGid(II)I
-Landroid/os/UserHandle;->getCallingAppId()I
-Landroid/os/UserHandle;->getSharedAppGid(I)I
-Landroid/os/UserHandle;->getSharedAppGid(II)I
-Landroid/os/UserHandle;->getUserGid(I)I
-Landroid/os/UserHandle;->isCore(I)Z
-Landroid/os/UserHandle;->isSameUser(II)Z
-Landroid/os/UserHandle;->parseUserArg(Ljava/lang/String;)I
-Landroid/os/UserManager$EnforcingUser;-><init>(II)V
-Landroid/os/UserManager$EnforcingUser;-><init>(Landroid/os/Parcel;)V
-Landroid/os/UserManager$EnforcingUser;->userId:I
-Landroid/os/UserManager$EnforcingUser;->userRestrictionSource:I
-Landroid/os/UserManager$UserOperationException;-><init>(Ljava/lang/String;I)V
-Landroid/os/UserManager$UserOperationException;->mUserOperationResult:I
-Landroid/os/UserManager$UserOperationResult;
-Landroid/os/UserManager;-><init>(Landroid/content/Context;Landroid/os/IUserManager;)V
-Landroid/os/UserManager;->ACTION_CREATE_USER:Ljava/lang/String;
-Landroid/os/UserManager;->canAddMoreManagedProfiles(IZ)Z
-Landroid/os/UserManager;->canAddMoreUsers()Z
-Landroid/os/UserManager;->canHaveRestrictedProfile(I)Z
-Landroid/os/UserManager;->canSwitchUsers()Z
-Landroid/os/UserManager;->createGuest(Landroid/content/Context;Ljava/lang/String;)Landroid/content/pm/UserInfo;
-Landroid/os/UserManager;->createProfileForUser(Ljava/lang/String;II[Ljava/lang/String;)Landroid/content/pm/UserInfo;
-Landroid/os/UserManager;->createProfileForUserEvenWhenDisallowed(Ljava/lang/String;II[Ljava/lang/String;)Landroid/content/pm/UserInfo;
-Landroid/os/UserManager;->createRestrictedProfile(Ljava/lang/String;)Landroid/content/pm/UserInfo;
-Landroid/os/UserManager;->DISALLOW_CAMERA:Ljava/lang/String;
-Landroid/os/UserManager;->DISALLOW_UNMUTE_DEVICE:Ljava/lang/String;
-Landroid/os/UserManager;->DISALLOW_WALLPAPER:Ljava/lang/String;
-Landroid/os/UserManager;->evictCredentialEncryptionKey(I)V
-Landroid/os/UserManager;->EXTRA_USER_ACCOUNT_NAME:Ljava/lang/String;
-Landroid/os/UserManager;->EXTRA_USER_ACCOUNT_OPTIONS:Ljava/lang/String;
-Landroid/os/UserManager;->EXTRA_USER_ACCOUNT_TYPE:Ljava/lang/String;
-Landroid/os/UserManager;->EXTRA_USER_NAME:Ljava/lang/String;
-Landroid/os/UserManager;->getApplicationRestrictions(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/os/Bundle;
-Landroid/os/UserManager;->getCredentialOwnerProfile(I)I
-Landroid/os/UserManager;->getDefaultGuestRestrictions()Landroid/os/Bundle;
-Landroid/os/UserManager;->getEnabledProfileIds(I)[I
-Landroid/os/UserManager;->getManagedProfileBadge(I)I
-Landroid/os/UserManager;->getPrimaryUser()Landroid/content/pm/UserInfo;
-Landroid/os/UserManager;->getProfileIds(IZ)[I
-Landroid/os/UserManager;->getUserAccount(I)Ljava/lang/String;
-Landroid/os/UserManager;->hasUserRestrictionOnAnyUser(Ljava/lang/String;)Z
-Landroid/os/UserManager;->isEphemeralUser()Z
-Landroid/os/UserManager;->isGuestUser()Z
-Landroid/os/UserManager;->isGuestUserEphemeral()Z
-Landroid/os/UserManager;->isPrimaryUser()Z
-Landroid/os/UserManager;->isSameProfileGroup(II)Z
-Landroid/os/UserManager;->isUserEphemeral(I)Z
-Landroid/os/UserManager;->isUserNameSet()Z
-Landroid/os/UserManager;->isUserRunning(I)Z
-Landroid/os/UserManager;->isUserSwitcherEnabled()Z
-Landroid/os/UserManager;->isUserUnlockingOrUnlocked(I)Z
-Landroid/os/UserManager;->isUserUnlockingOrUnlocked(Landroid/os/UserHandle;)Z
-Landroid/os/UserManager;->markGuestForDeletion(I)Z
-Landroid/os/UserManager;->mContext:Landroid/content/Context;
-Landroid/os/UserManager;->mIsManagedProfileCached:Ljava/lang/Boolean;
-Landroid/os/UserManager;->PIN_VERIFICATION_FAILED_INCORRECT:I
-Landroid/os/UserManager;->PIN_VERIFICATION_FAILED_NOT_SET:I
-Landroid/os/UserManager;->PIN_VERIFICATION_SUCCESS:I
-Landroid/os/UserManager;->removeUserEvenWhenDisallowed(I)Z
-Landroid/os/UserManager;->requestQuietModeEnabled(ZLandroid/os/UserHandle;Landroid/content/IntentSender;)Z
-Landroid/os/UserManager;->setApplicationRestrictions(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/UserHandle;)V
-Landroid/os/UserManager;->setDefaultGuestRestrictions(Landroid/os/Bundle;)V
-Landroid/os/UserManager;->setSeedAccountData(ILjava/lang/String;Ljava/lang/String;Landroid/os/PersistableBundle;)V
-Landroid/os/UserManager;->setUserAccount(ILjava/lang/String;)V
-Landroid/os/UserManager;->setUserAdmin(I)V
-Landroid/os/UserManager;->setUserEnabled(I)V
-Landroid/os/UserManager;->setUserIcon(ILandroid/graphics/Bitmap;)V
-Landroid/os/UserManager;->setUserName(ILjava/lang/String;)V
-Landroid/os/UserManager;->setUserRestriction(Ljava/lang/String;ZLandroid/os/UserHandle;)V
-Landroid/os/UserManager;->someUserHasSeedAccount(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/os/UserManager;->TAG:Ljava/lang/String;
-Landroid/os/UserManagerInternal$UserRestrictionsListener;
-Landroid/os/UserManagerInternal$UserRestrictionsListener;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
-Landroid/os/UserManagerInternal;
-Landroid/os/UserManagerInternal;-><init>()V
-Landroid/os/UserManagerInternal;->addUserRestrictionsListener(Landroid/os/UserManagerInternal$UserRestrictionsListener;)V
-Landroid/os/UserManagerInternal;->CAMERA_DISABLED_GLOBALLY:I
-Landroid/os/UserManagerInternal;->CAMERA_DISABLED_LOCALLY:I
-Landroid/os/UserManagerInternal;->CAMERA_NOT_DISABLED:I
-Landroid/os/UserManagerInternal;->createUserEvenWhenDisallowed(Ljava/lang/String;I[Ljava/lang/String;)Landroid/content/pm/UserInfo;
-Landroid/os/UserManagerInternal;->exists(I)Z
-Landroid/os/UserManagerInternal;->getBaseUserRestrictions(I)Landroid/os/Bundle;
-Landroid/os/UserManagerInternal;->getProfileParentId(I)I
-Landroid/os/UserManagerInternal;->getUserIds()[I
-Landroid/os/UserManagerInternal;->getUserRestriction(ILjava/lang/String;)Z
-Landroid/os/UserManagerInternal;->isProfileAccessible(IILjava/lang/String;Z)Z
-Landroid/os/UserManagerInternal;->isSettingRestrictedForUser(Ljava/lang/String;ILjava/lang/String;I)Z
-Landroid/os/UserManagerInternal;->isUserInitialized(I)Z
-Landroid/os/UserManagerInternal;->isUserRunning(I)Z
-Landroid/os/UserManagerInternal;->isUserUnlocked(I)Z
-Landroid/os/UserManagerInternal;->isUserUnlockingOrUnlocked(I)Z
-Landroid/os/UserManagerInternal;->onEphemeralUserStop(I)V
-Landroid/os/UserManagerInternal;->removeAllUsers()V
-Landroid/os/UserManagerInternal;->removeUserEvenWhenDisallowed(I)Z
-Landroid/os/UserManagerInternal;->removeUserRestrictionsListener(Landroid/os/UserManagerInternal$UserRestrictionsListener;)V
-Landroid/os/UserManagerInternal;->removeUserState(I)V
-Landroid/os/UserManagerInternal;->setBaseUserRestrictionsByDpmsForMigration(ILandroid/os/Bundle;)V
-Landroid/os/UserManagerInternal;->setDeviceManaged(Z)V
-Landroid/os/UserManagerInternal;->setDevicePolicyUserRestrictions(ILandroid/os/Bundle;ZI)V
-Landroid/os/UserManagerInternal;->setForceEphemeralUsers(Z)V
-Landroid/os/UserManagerInternal;->setUserIcon(ILandroid/graphics/Bitmap;)V
-Landroid/os/UserManagerInternal;->setUserManaged(IZ)V
-Landroid/os/UserManagerInternal;->setUserState(II)V
-Landroid/os/VibrationEffect$OneShot;
-Landroid/os/VibrationEffect$OneShot;-><init>(JI)V
-Landroid/os/VibrationEffect$OneShot;-><init>(Landroid/os/Parcel;)V
-Landroid/os/VibrationEffect$OneShot;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/os/VibrationEffect$OneShot;->getAmplitude()I
-Landroid/os/VibrationEffect$OneShot;->getDuration()J
-Landroid/os/VibrationEffect$OneShot;->mAmplitude:I
-Landroid/os/VibrationEffect$OneShot;->mDuration:J
-Landroid/os/VibrationEffect$OneShot;->resolve(I)Landroid/os/VibrationEffect$OneShot;
-Landroid/os/VibrationEffect$OneShot;->scale(FI)Landroid/os/VibrationEffect;
-Landroid/os/VibrationEffect$OneShot;->validate()V
-Landroid/os/VibrationEffect$Prebaked;
-Landroid/os/VibrationEffect$Prebaked;-><init>(IZ)V
-Landroid/os/VibrationEffect$Prebaked;-><init>(Landroid/os/Parcel;)V
-Landroid/os/VibrationEffect$Prebaked;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/os/VibrationEffect$Prebaked;->getDuration()J
-Landroid/os/VibrationEffect$Prebaked;->getEffectStrength()I
-Landroid/os/VibrationEffect$Prebaked;->getId()I
-Landroid/os/VibrationEffect$Prebaked;->isValidEffectStrength(I)Z
-Landroid/os/VibrationEffect$Prebaked;->mEffectId:I
-Landroid/os/VibrationEffect$Prebaked;->mEffectStrength:I
-Landroid/os/VibrationEffect$Prebaked;->mFallback:Z
-Landroid/os/VibrationEffect$Prebaked;->setEffectStrength(I)V
-Landroid/os/VibrationEffect$Prebaked;->shouldFallback()Z
-Landroid/os/VibrationEffect$Prebaked;->validate()V
-Landroid/os/VibrationEffect$Waveform;
-Landroid/os/VibrationEffect$Waveform;-><init>(Landroid/os/Parcel;)V
-Landroid/os/VibrationEffect$Waveform;-><init>([J[II)V
-Landroid/os/VibrationEffect$Waveform;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/os/VibrationEffect$Waveform;->getAmplitudes()[I
-Landroid/os/VibrationEffect$Waveform;->getDuration()J
-Landroid/os/VibrationEffect$Waveform;->getRepeatIndex()I
-Landroid/os/VibrationEffect$Waveform;->getTimings()[J
-Landroid/os/VibrationEffect$Waveform;->hasNonZeroEntry([J)Z
-Landroid/os/VibrationEffect$Waveform;->mAmplitudes:[I
-Landroid/os/VibrationEffect$Waveform;->mRepeat:I
-Landroid/os/VibrationEffect$Waveform;->mTimings:[J
-Landroid/os/VibrationEffect$Waveform;->resolve(I)Landroid/os/VibrationEffect$Waveform;
-Landroid/os/VibrationEffect$Waveform;->scale(FI)Landroid/os/VibrationEffect;
-Landroid/os/VibrationEffect$Waveform;->validate()V
-Landroid/os/VibrationEffect;-><init>()V
-Landroid/os/VibrationEffect;->EFFECT_CLICK:I
-Landroid/os/VibrationEffect;->EFFECT_DOUBLE_CLICK:I
-Landroid/os/VibrationEffect;->EFFECT_HEAVY_CLICK:I
-Landroid/os/VibrationEffect;->EFFECT_POP:I
-Landroid/os/VibrationEffect;->EFFECT_THUD:I
-Landroid/os/VibrationEffect;->EFFECT_TICK:I
-Landroid/os/VibrationEffect;->get(I)Landroid/os/VibrationEffect;
-Landroid/os/VibrationEffect;->get(IZ)Landroid/os/VibrationEffect;
-Landroid/os/VibrationEffect;->get(Landroid/net/Uri;Landroid/content/Context;)Landroid/os/VibrationEffect;
-Landroid/os/VibrationEffect;->getDuration()J
-Landroid/os/VibrationEffect;->MAX_AMPLITUDE:I
-Landroid/os/VibrationEffect;->PARCEL_TOKEN_EFFECT:I
-Landroid/os/VibrationEffect;->PARCEL_TOKEN_ONE_SHOT:I
-Landroid/os/VibrationEffect;->PARCEL_TOKEN_WAVEFORM:I
-Landroid/os/VibrationEffect;->RINGTONES:[I
-Landroid/os/VibrationEffect;->scale(IFI)I
-Landroid/os/VibrationEffect;->validate()V
-Landroid/os/Vibrator$VibrationIntensity;
-Landroid/os/Vibrator;-><init>(Landroid/content/Context;)V
-Landroid/os/Vibrator;->getDefaultHapticFeedbackIntensity()I
-Landroid/os/Vibrator;->getDefaultNotificationVibrationIntensity()I
-Landroid/os/Vibrator;->loadDefaultIntensity(Landroid/content/Context;I)I
-Landroid/os/Vibrator;->mDefaultHapticFeedbackIntensity:I
-Landroid/os/Vibrator;->mDefaultNotificationVibrationIntensity:I
-Landroid/os/Vibrator;->mPackageName:Ljava/lang/String;
-Landroid/os/Vibrator;->TAG:Ljava/lang/String;
-Landroid/os/Vibrator;->vibrate(ILjava/lang/String;Landroid/os/VibrationEffect;Landroid/media/AudioAttributes;)V
-Landroid/os/Vibrator;->VIBRATION_INTENSITY_HIGH:I
-Landroid/os/Vibrator;->VIBRATION_INTENSITY_LOW:I
-Landroid/os/Vibrator;->VIBRATION_INTENSITY_MEDIUM:I
-Landroid/os/Vibrator;->VIBRATION_INTENSITY_OFF:I
-Landroid/os/VintfObject;
-Landroid/os/VintfObject;-><init>()V
-Landroid/os/VintfObject;->verify([Ljava/lang/String;)I
-Landroid/os/VintfObject;->verifyWithoutAvb()I
-Landroid/os/VintfRuntimeInfo;
-Landroid/os/VintfRuntimeInfo;-><init>()V
-Landroid/os/VintfRuntimeInfo;->getBootAvbVersion()Ljava/lang/String;
-Landroid/os/VintfRuntimeInfo;->getBootVbmetaAvbVersion()Ljava/lang/String;
-Landroid/os/VintfRuntimeInfo;->getKernelSepolicyVersion()J
-Landroid/os/WorkSource$WorkChain;-><init>(Landroid/os/Parcel;)V
-Landroid/os/WorkSource$WorkChain;-><init>(Landroid/os/WorkSource$WorkChain;)V
-Landroid/os/WorkSource$WorkChain;->getSize()I
-Landroid/os/WorkSource$WorkChain;->getTags()[Ljava/lang/String;
-Landroid/os/WorkSource$WorkChain;->getUids()[I
-Landroid/os/WorkSource$WorkChain;->mSize:I
-Landroid/os/WorkSource$WorkChain;->mTags:[Ljava/lang/String;
-Landroid/os/WorkSource$WorkChain;->mUids:[I
-Landroid/os/WorkSource$WorkChain;->resizeArrays()V
-Landroid/os/WorkSource;-><init>(ILjava/lang/String;)V
-Landroid/os/WorkSource;->addWork(Landroid/os/WorkSource;I)Landroid/os/WorkSource;
-Landroid/os/WorkSource;->addWork(Landroid/os/WorkSource;ILjava/lang/String;)Landroid/os/WorkSource;
-Landroid/os/WorkSource;->clearNames()V
-Landroid/os/WorkSource;->compare(Landroid/os/WorkSource;II)I
-Landroid/os/WorkSource;->DEBUG:Z
-Landroid/os/WorkSource;->diffChains(Landroid/os/WorkSource;Landroid/os/WorkSource;)[Ljava/util/ArrayList;
-Landroid/os/WorkSource;->getWorkChains()Ljava/util/ArrayList;
-Landroid/os/WorkSource;->insert(II)V
-Landroid/os/WorkSource;->insert(IILjava/lang/String;)V
-Landroid/os/WorkSource;->isChainedBatteryAttributionEnabled(Landroid/content/Context;)Z
-Landroid/os/WorkSource;->isEmpty()Z
-Landroid/os/WorkSource;->mChains:Ljava/util/ArrayList;
-Landroid/os/WorkSource;->removeUids(Landroid/os/WorkSource;)Z
-Landroid/os/WorkSource;->removeUidsAndNames(Landroid/os/WorkSource;)Z
-Landroid/os/WorkSource;->set(I)V
-Landroid/os/WorkSource;->set(ILjava/lang/String;)V
-Landroid/os/WorkSource;->TAG:Ljava/lang/String;
-Landroid/os/WorkSource;->transferWorkChains(Landroid/os/WorkSource;)V
-Landroid/os/WorkSource;->updateUidsAndNamesLocked(Landroid/os/WorkSource;ZZ)Z
-Landroid/os/WorkSource;->updateUidsLocked(Landroid/os/WorkSource;ZZ)Z
-Landroid/os/WorkSource;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/os/WorkSourceProto$WorkChain;
-Landroid/os/WorkSourceProto$WorkChain;-><init>()V
-Landroid/os/WorkSourceProto$WorkChain;->NODES:J
-Landroid/os/WorkSourceProto$WorkSourceContentProto;
-Landroid/os/WorkSourceProto$WorkSourceContentProto;-><init>()V
-Landroid/os/WorkSourceProto$WorkSourceContentProto;->NAME:J
-Landroid/os/WorkSourceProto$WorkSourceContentProto;->UID:J
-Landroid/os/WorkSourceProto;
-Landroid/os/WorkSourceProto;-><init>()V
-Landroid/os/WorkSourceProto;->WORK_CHAINS:J
-Landroid/os/WorkSourceProto;->WORK_SOURCE_CONTENTS:J
-Landroid/os/ZygoteProcess$ZygoteState;
-Landroid/os/ZygoteProcess$ZygoteState;-><init>(Landroid/net/LocalSocket;Ljava/io/DataInputStream;Ljava/io/BufferedWriter;Ljava/util/List;)V
-Landroid/os/ZygoteProcess$ZygoteState;->abiList:Ljava/util/List;
-Landroid/os/ZygoteProcess$ZygoteState;->close()V
-Landroid/os/ZygoteProcess$ZygoteState;->connect(Landroid/net/LocalSocketAddress;)Landroid/os/ZygoteProcess$ZygoteState;
-Landroid/os/ZygoteProcess$ZygoteState;->inputStream:Ljava/io/DataInputStream;
-Landroid/os/ZygoteProcess$ZygoteState;->isClosed()Z
-Landroid/os/ZygoteProcess$ZygoteState;->matches(Ljava/lang/String;)Z
-Landroid/os/ZygoteProcess$ZygoteState;->mClosed:Z
-Landroid/os/ZygoteProcess$ZygoteState;->socket:Landroid/net/LocalSocket;
-Landroid/os/ZygoteProcess$ZygoteState;->writer:Ljava/io/BufferedWriter;
-Landroid/os/ZygoteProcess;
-Landroid/os/ZygoteProcess;-><init>(Landroid/net/LocalSocketAddress;Landroid/net/LocalSocketAddress;)V
-Landroid/os/ZygoteProcess;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/ZygoteProcess;->close()V
-Landroid/os/ZygoteProcess;->establishZygoteConnectionForAbi(Ljava/lang/String;)V
-Landroid/os/ZygoteProcess;->getAbiList(Ljava/io/BufferedWriter;Ljava/io/DataInputStream;)Ljava/lang/String;
-Landroid/os/ZygoteProcess;->getPrimarySocketAddress()Landroid/net/LocalSocketAddress;
-Landroid/os/ZygoteProcess;->LOG_TAG:Ljava/lang/String;
-Landroid/os/ZygoteProcess;->mApiBlacklistExemptions:Ljava/util/List;
-Landroid/os/ZygoteProcess;->maybeSetApiBlacklistExemptions(Landroid/os/ZygoteProcess$ZygoteState;Z)Z
-Landroid/os/ZygoteProcess;->maybeSetHiddenApiAccessLogSampleRate(Landroid/os/ZygoteProcess$ZygoteState;)V
-Landroid/os/ZygoteProcess;->mHiddenApiAccessLogSampleRate:I
-Landroid/os/ZygoteProcess;->mLock:Ljava/lang/Object;
-Landroid/os/ZygoteProcess;->mSecondarySocket:Landroid/net/LocalSocketAddress;
-Landroid/os/ZygoteProcess;->mSocket:Landroid/net/LocalSocketAddress;
-Landroid/os/ZygoteProcess;->openZygoteSocketIfNeeded(Ljava/lang/String;)Landroid/os/ZygoteProcess$ZygoteState;
-Landroid/os/ZygoteProcess;->preloadDefault(Ljava/lang/String;)Z
-Landroid/os/ZygoteProcess;->preloadPackageForAbi(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/os/ZygoteProcess;->primaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
-Landroid/os/ZygoteProcess;->secondaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
-Landroid/os/ZygoteProcess;->setApiBlacklistExemptions(Ljava/util/List;)Z
-Landroid/os/ZygoteProcess;->setHiddenApiAccessLogSampleRate(I)V
-Landroid/os/ZygoteProcess;->start(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
-Landroid/os/ZygoteProcess;->startChildZygote(Ljava/lang/String;Ljava/lang/String;II[IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/os/ChildZygoteProcess;
-Landroid/os/ZygoteProcess;->startViaZygote(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
-Landroid/os/ZygoteProcess;->waitForConnectionToZygote(Landroid/net/LocalSocketAddress;)V
-Landroid/os/ZygoteProcess;->waitForConnectionToZygote(Ljava/lang/String;)V
-Landroid/os/ZygoteProcess;->zygoteSendArgsAndGetResult(Landroid/os/ZygoteProcess$ZygoteState;Ljava/util/ArrayList;)Landroid/os/Process$ProcessStartResult;
-Landroid/os/ZygoteProcess;->ZYGOTE_RETRY_MILLIS:I
-Landroid/os/ZygoteStartFailedEx;
-Landroid/os/ZygoteStartFailedEx;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-Landroid/permissionpresenterservice/RuntimePermissionPresenterService$MyHandler;
-Landroid/permissionpresenterservice/RuntimePermissionPresenterService$MyHandler;-><init>(Landroid/os/Looper;)V
-Landroid/permissionpresenterservice/RuntimePermissionPresenterService$MyHandler;->MSG_GET_APPS_USING_PERMISSIONS:I
-Landroid/permissionpresenterservice/RuntimePermissionPresenterService$MyHandler;->MSG_GET_APP_PERMISSIONS:I
-Landroid/permissionpresenterservice/RuntimePermissionPresenterService$MyHandler;->MSG_REVOKE_APP_PERMISSION:I
-Landroid/permissionpresenterservice/RuntimePermissionPresenterService;->mHandler:Landroid/os/Handler;
-Landroid/preference/DialogPreference$SavedState;
-Landroid/preference/DialogPreference$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/preference/DialogPreference$SavedState;-><init>(Landroid/os/Parcelable;)V
-Landroid/preference/DialogPreference$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/preference/DialogPreference$SavedState;->dialogBundle:Landroid/os/Bundle;
-Landroid/preference/DialogPreference$SavedState;->isDialogShowing:Z
-Landroid/preference/DialogPreference;->mDialogLayoutResId:I
-Landroid/preference/DialogPreference;->needInputMethod()Z
-Landroid/preference/DialogPreference;->requestInputMethod(Landroid/app/Dialog;)V
-Landroid/preference/EditTextPreference$SavedState;
-Landroid/preference/EditTextPreference$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/preference/EditTextPreference$SavedState;-><init>(Landroid/os/Parcelable;)V
-Landroid/preference/EditTextPreference$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/preference/EditTextPreference$SavedState;->text:Ljava/lang/String;
-Landroid/preference/EditTextPreference;->mText:Ljava/lang/String;
-Landroid/preference/EditTextPreference;->mTextSet:Z
-Landroid/preference/EditTextPreference;->needInputMethod()Z
-Landroid/preference/GenericInflater$Factory;
-Landroid/preference/GenericInflater$Factory;->onCreateItem(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Ljava/lang/Object;
-Landroid/preference/GenericInflater$FactoryMerger;
-Landroid/preference/GenericInflater$FactoryMerger;-><init>(Landroid/preference/GenericInflater$Factory;Landroid/preference/GenericInflater$Factory;)V
-Landroid/preference/GenericInflater$FactoryMerger;->mF1:Landroid/preference/GenericInflater$Factory;
-Landroid/preference/GenericInflater$FactoryMerger;->mF2:Landroid/preference/GenericInflater$Factory;
-Landroid/preference/GenericInflater$FactoryMerger;->onCreateItem(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Ljava/lang/Object;
-Landroid/preference/GenericInflater$Parent;
-Landroid/preference/GenericInflater$Parent;->addItemFromInflater(Ljava/lang/Object;)V
-Landroid/preference/GenericInflater;
-Landroid/preference/GenericInflater;-><init>(Landroid/content/Context;)V
-Landroid/preference/GenericInflater;-><init>(Landroid/preference/GenericInflater;Landroid/content/Context;)V
-Landroid/preference/GenericInflater;->cloneInContext(Landroid/content/Context;)Landroid/preference/GenericInflater;
-Landroid/preference/GenericInflater;->createItem(Ljava/lang/String;Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
-Landroid/preference/GenericInflater;->createItemFromTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
-Landroid/preference/GenericInflater;->DEBUG:Z
-Landroid/preference/GenericInflater;->getContext()Landroid/content/Context;
-Landroid/preference/GenericInflater;->getDefaultPackage()Ljava/lang/String;
-Landroid/preference/GenericInflater;->getFactory()Landroid/preference/GenericInflater$Factory;
-Landroid/preference/GenericInflater;->inflate(ILandroid/preference/GenericInflater$Parent;)Ljava/lang/Object;
-Landroid/preference/GenericInflater;->inflate(ILandroid/preference/GenericInflater$Parent;Z)Ljava/lang/Object;
-Landroid/preference/GenericInflater;->inflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/preference/GenericInflater$Parent;)Ljava/lang/Object;
-Landroid/preference/GenericInflater;->inflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/preference/GenericInflater$Parent;Z)Ljava/lang/Object;
-Landroid/preference/GenericInflater;->mConstructorArgs:[Ljava/lang/Object;
-Landroid/preference/GenericInflater;->mConstructorSignature:[Ljava/lang/Class;
-Landroid/preference/GenericInflater;->mContext:Landroid/content/Context;
-Landroid/preference/GenericInflater;->mDefaultPackage:Ljava/lang/String;
-Landroid/preference/GenericInflater;->mFactory:Landroid/preference/GenericInflater$Factory;
-Landroid/preference/GenericInflater;->mFactorySet:Z
-Landroid/preference/GenericInflater;->onCreateCustomFromTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/Object;Landroid/util/AttributeSet;)Z
-Landroid/preference/GenericInflater;->onCreateItem(Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
-Landroid/preference/GenericInflater;->onMergeRoots(Landroid/preference/GenericInflater$Parent;ZLandroid/preference/GenericInflater$Parent;)Landroid/preference/GenericInflater$Parent;
-Landroid/preference/GenericInflater;->rInflate(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/Object;Landroid/util/AttributeSet;)V
-Landroid/preference/GenericInflater;->sConstructorMap:Ljava/util/HashMap;
-Landroid/preference/GenericInflater;->setDefaultPackage(Ljava/lang/String;)V
-Landroid/preference/GenericInflater;->setFactory(Landroid/preference/GenericInflater$Factory;)V
-Landroid/preference/ListPreference$SavedState;
-Landroid/preference/ListPreference$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/preference/ListPreference$SavedState;-><init>(Landroid/os/Parcelable;)V
-Landroid/preference/ListPreference$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/preference/ListPreference$SavedState;->value:Ljava/lang/String;
-Landroid/preference/ListPreference;->getValueIndex()I
-Landroid/preference/ListPreference;->mEntries:[Ljava/lang/CharSequence;
-Landroid/preference/ListPreference;->mEntryValues:[Ljava/lang/CharSequence;
-Landroid/preference/ListPreference;->mSummary:Ljava/lang/String;
-Landroid/preference/ListPreference;->mValue:Ljava/lang/String;
-Landroid/preference/ListPreference;->mValueSet:Z
-Landroid/preference/MultiCheckPreference$SavedState;
-Landroid/preference/MultiCheckPreference$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/preference/MultiCheckPreference$SavedState;-><init>(Landroid/os/Parcelable;)V
-Landroid/preference/MultiCheckPreference$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/preference/MultiCheckPreference$SavedState;->values:[Z
-Landroid/preference/MultiCheckPreference;
-Landroid/preference/MultiCheckPreference;-><init>(Landroid/content/Context;)V
-Landroid/preference/MultiCheckPreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/preference/MultiCheckPreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/preference/MultiCheckPreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/preference/MultiCheckPreference;->findIndexOfValue(Ljava/lang/String;)I
-Landroid/preference/MultiCheckPreference;->getEntries()[Ljava/lang/CharSequence;
-Landroid/preference/MultiCheckPreference;->getEntryValues()[Ljava/lang/String;
-Landroid/preference/MultiCheckPreference;->getValue(I)Z
-Landroid/preference/MultiCheckPreference;->getValues()[Z
-Landroid/preference/MultiCheckPreference;->mEntries:[Ljava/lang/CharSequence;
-Landroid/preference/MultiCheckPreference;->mEntryValues:[Ljava/lang/String;
-Landroid/preference/MultiCheckPreference;->mOrigValues:[Z
-Landroid/preference/MultiCheckPreference;->mSetValues:[Z
-Landroid/preference/MultiCheckPreference;->mSummary:Ljava/lang/String;
-Landroid/preference/MultiCheckPreference;->setEntries(I)V
-Landroid/preference/MultiCheckPreference;->setEntries([Ljava/lang/CharSequence;)V
-Landroid/preference/MultiCheckPreference;->setEntryValues(I)V
-Landroid/preference/MultiCheckPreference;->setEntryValues([Ljava/lang/String;)V
-Landroid/preference/MultiCheckPreference;->setEntryValuesCS([Ljava/lang/CharSequence;)V
-Landroid/preference/MultiCheckPreference;->setValue(IZ)V
-Landroid/preference/MultiCheckPreference;->setValues([Z)V
-Landroid/preference/MultiSelectListPreference$SavedState;
-Landroid/preference/MultiSelectListPreference$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/preference/MultiSelectListPreference$SavedState;-><init>(Landroid/os/Parcelable;)V
-Landroid/preference/MultiSelectListPreference$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/preference/MultiSelectListPreference$SavedState;->values:Ljava/util/Set;
-Landroid/preference/MultiSelectListPreference;->getSelectedItems()[Z
-Landroid/preference/MultiSelectListPreference;->mEntries:[Ljava/lang/CharSequence;
-Landroid/preference/MultiSelectListPreference;->mEntryValues:[Ljava/lang/CharSequence;
-Landroid/preference/MultiSelectListPreference;->mNewValues:Ljava/util/Set;
-Landroid/preference/MultiSelectListPreference;->mPreferenceChanged:Z
-Landroid/preference/MultiSelectListPreference;->mValues:Ljava/util/Set;
-Landroid/preference/Preference$OnPreferenceChangeInternalListener;
-Landroid/preference/Preference$OnPreferenceChangeInternalListener;->onPreferenceChange(Landroid/preference/Preference;)V
-Landroid/preference/Preference$OnPreferenceChangeInternalListener;->onPreferenceHierarchyChange(Landroid/preference/Preference;)V
-Landroid/preference/Preference;->assignParent(Landroid/preference/PreferenceGroup;)V
-Landroid/preference/Preference;->dispatchRestoreInstanceState(Landroid/os/Bundle;)V
-Landroid/preference/Preference;->dispatchSaveInstanceState(Landroid/os/Bundle;)V
-Landroid/preference/Preference;->dispatchSetInitialValue()V
-Landroid/preference/Preference;->getFilterableStringBuilder()Ljava/lang/StringBuilder;
-Landroid/preference/Preference;->mBaseMethodCalled:Z
-Landroid/preference/Preference;->mContext:Landroid/content/Context;
-Landroid/preference/Preference;->mDefaultValue:Ljava/lang/Object;
-Landroid/preference/Preference;->mDependencyKey:Ljava/lang/String;
-Landroid/preference/Preference;->mDependencyMet:Z
-Landroid/preference/Preference;->mDependents:Ljava/util/List;
-Landroid/preference/Preference;->mEnabled:Z
-Landroid/preference/Preference;->mExtras:Landroid/os/Bundle;
-Landroid/preference/Preference;->mFragment:Ljava/lang/String;
-Landroid/preference/Preference;->mHasSingleLineTitleAttr:Z
-Landroid/preference/Preference;->mIcon:Landroid/graphics/drawable/Drawable;
-Landroid/preference/Preference;->mIconResId:I
-Landroid/preference/Preference;->mIconSpaceReserved:Z
-Landroid/preference/Preference;->mId:J
-Landroid/preference/Preference;->mIntent:Landroid/content/Intent;
-Landroid/preference/Preference;->mKey:Ljava/lang/String;
-Landroid/preference/Preference;->mListener:Landroid/preference/Preference$OnPreferenceChangeInternalListener;
-Landroid/preference/Preference;->mOnChangeListener:Landroid/preference/Preference$OnPreferenceChangeListener;
-Landroid/preference/Preference;->mOnClickListener:Landroid/preference/Preference$OnPreferenceClickListener;
-Landroid/preference/Preference;->mOrder:I
-Landroid/preference/Preference;->mParentDependencyMet:Z
-Landroid/preference/Preference;->mParentGroup:Landroid/preference/PreferenceGroup;
-Landroid/preference/Preference;->mPersistent:Z
-Landroid/preference/Preference;->mPreferenceDataStore:Landroid/preference/PreferenceDataStore;
-Landroid/preference/Preference;->mPreferenceManager:Landroid/preference/PreferenceManager;
-Landroid/preference/Preference;->mRecycleEnabled:Z
-Landroid/preference/Preference;->mRequiresKey:Z
-Landroid/preference/Preference;->mSelectable:Z
-Landroid/preference/Preference;->mShouldDisableView:Z
-Landroid/preference/Preference;->mSingleLineTitle:Z
-Landroid/preference/Preference;->mTitle:Ljava/lang/CharSequence;
-Landroid/preference/Preference;->mTitleRes:I
-Landroid/preference/Preference;->registerDependency()V
-Landroid/preference/Preference;->requireKey()V
-Landroid/preference/Preference;->setEnabledStateOnViews(Landroid/view/View;Z)V
-Landroid/preference/Preference;->tryCommit(Landroid/content/SharedPreferences$Editor;)V
-Landroid/preference/Preference;->unregisterDependency()V
-Landroid/preference/Preference;->unregisterDependent(Landroid/preference/Preference;)V
-Landroid/preference/PreferenceActivity$Header;-><init>(Landroid/os/Parcel;)V
-Landroid/preference/PreferenceActivity$HeaderAdapter$HeaderViewHolder;
-Landroid/preference/PreferenceActivity$HeaderAdapter$HeaderViewHolder;-><init>()V
-Landroid/preference/PreferenceActivity$HeaderAdapter$HeaderViewHolder;->icon:Landroid/widget/ImageView;
-Landroid/preference/PreferenceActivity$HeaderAdapter$HeaderViewHolder;->summary:Landroid/widget/TextView;
-Landroid/preference/PreferenceActivity$HeaderAdapter$HeaderViewHolder;->title:Landroid/widget/TextView;
-Landroid/preference/PreferenceActivity$HeaderAdapter;
-Landroid/preference/PreferenceActivity$HeaderAdapter;-><init>(Landroid/content/Context;Ljava/util/List;IZ)V
-Landroid/preference/PreferenceActivity$HeaderAdapter;->mInflater:Landroid/view/LayoutInflater;
-Landroid/preference/PreferenceActivity$HeaderAdapter;->mLayoutResId:I
-Landroid/preference/PreferenceActivity$HeaderAdapter;->mRemoveIconIfEmpty:Z
-Landroid/preference/PreferenceActivity;->BACK_STACK_PREFS:Ljava/lang/String;
-Landroid/preference/PreferenceActivity;->bindPreferences()V
-Landroid/preference/PreferenceActivity;->CUR_HEADER_TAG:Ljava/lang/String;
-Landroid/preference/PreferenceActivity;->EXTRA_PREFS_SET_BACK_TEXT:Ljava/lang/String;
-Landroid/preference/PreferenceActivity;->EXTRA_PREFS_SET_NEXT_TEXT:Ljava/lang/String;
-Landroid/preference/PreferenceActivity;->EXTRA_PREFS_SHOW_BUTTON_BAR:Ljava/lang/String;
-Landroid/preference/PreferenceActivity;->EXTRA_PREFS_SHOW_SKIP:Ljava/lang/String;
-Landroid/preference/PreferenceActivity;->findBestMatchingHeader(Landroid/preference/PreferenceActivity$Header;Ljava/util/ArrayList;)Landroid/preference/PreferenceActivity$Header;
-Landroid/preference/PreferenceActivity;->FIRST_REQUEST_CODE:I
-Landroid/preference/PreferenceActivity;->getNextButton()Landroid/widget/Button;
-Landroid/preference/PreferenceActivity;->hasNextButton()Z
-Landroid/preference/PreferenceActivity;->HEADERS_TAG:Ljava/lang/String;
-Landroid/preference/PreferenceActivity;->mActivityTitle:Ljava/lang/CharSequence;
-Landroid/preference/PreferenceActivity;->mCurHeader:Landroid/preference/PreferenceActivity$Header;
-Landroid/preference/PreferenceActivity;->mFragmentBreadCrumbs:Landroid/app/FragmentBreadCrumbs;
-Landroid/preference/PreferenceActivity;->mHandler:Landroid/os/Handler;
-Landroid/preference/PreferenceActivity;->mHeaders:Ljava/util/ArrayList;
-Landroid/preference/PreferenceActivity;->mHeadersContainer:Landroid/view/ViewGroup;
-Landroid/preference/PreferenceActivity;->mListFooter:Landroid/widget/FrameLayout;
-Landroid/preference/PreferenceActivity;->mNextButton:Landroid/widget/Button;
-Landroid/preference/PreferenceActivity;->mPreferenceHeaderItemResId:I
-Landroid/preference/PreferenceActivity;->mPreferenceHeaderRemoveEmptyIcon:Z
-Landroid/preference/PreferenceActivity;->mSavedInstanceState:Landroid/os/Bundle;
-Landroid/preference/PreferenceActivity;->MSG_BIND_PREFERENCES:I
-Landroid/preference/PreferenceActivity;->MSG_BUILD_HEADERS:I
-Landroid/preference/PreferenceActivity;->mSinglePane:Z
-Landroid/preference/PreferenceActivity;->PREFERENCES_TAG:Ljava/lang/String;
-Landroid/preference/PreferenceActivity;->setSelectedHeader(Landroid/preference/PreferenceActivity$Header;)V
-Landroid/preference/PreferenceActivity;->showBreadCrumbs(Landroid/preference/PreferenceActivity$Header;)V
-Landroid/preference/PreferenceActivity;->switchToHeaderInner(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/preference/PreferenceActivity;->TAG:Ljava/lang/String;
-Landroid/preference/PreferenceCategory;->TAG:Ljava/lang/String;
-Landroid/preference/PreferenceFragment;->bindPreferences()V
-Landroid/preference/PreferenceFragment;->ensureList()V
-Landroid/preference/PreferenceFragment;->FIRST_REQUEST_CODE:I
-Landroid/preference/PreferenceFragment;->hasListView()Z
-Landroid/preference/PreferenceFragment;->mHandler:Landroid/os/Handler;
-Landroid/preference/PreferenceFragment;->mHavePrefs:Z
-Landroid/preference/PreferenceFragment;->mInitDone:Z
-Landroid/preference/PreferenceFragment;->mLayoutResId:I
-Landroid/preference/PreferenceFragment;->mList:Landroid/widget/ListView;
-Landroid/preference/PreferenceFragment;->mListOnKeyListener:Landroid/view/View$OnKeyListener;
-Landroid/preference/PreferenceFragment;->mRequestFocus:Ljava/lang/Runnable;
-Landroid/preference/PreferenceFragment;->MSG_BIND_PREFERENCES:I
-Landroid/preference/PreferenceFragment;->onBindPreferences()V
-Landroid/preference/PreferenceFragment;->onUnbindPreferences()V
-Landroid/preference/PreferenceFragment;->postBindPreferences()V
-Landroid/preference/PreferenceFragment;->PREFERENCES_TAG:Ljava/lang/String;
-Landroid/preference/PreferenceFragment;->requirePreferenceManager()V
-Landroid/preference/PreferenceFrameLayout$LayoutParams;
-Landroid/preference/PreferenceFrameLayout$LayoutParams;-><init>(II)V
-Landroid/preference/PreferenceFrameLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/preference/PreferenceFrameLayout$LayoutParams;->removeBorders:Z
-Landroid/preference/PreferenceFrameLayout;
-Landroid/preference/PreferenceFrameLayout;-><init>(Landroid/content/Context;)V
-Landroid/preference/PreferenceFrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/preference/PreferenceFrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/preference/PreferenceFrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/preference/PreferenceFrameLayout;->DEFAULT_BORDER_BOTTOM:I
-Landroid/preference/PreferenceFrameLayout;->DEFAULT_BORDER_LEFT:I
-Landroid/preference/PreferenceFrameLayout;->DEFAULT_BORDER_RIGHT:I
-Landroid/preference/PreferenceFrameLayout;->DEFAULT_BORDER_TOP:I
-Landroid/preference/PreferenceFrameLayout;->mBorderBottom:I
-Landroid/preference/PreferenceFrameLayout;->mBorderLeft:I
-Landroid/preference/PreferenceFrameLayout;->mBorderRight:I
-Landroid/preference/PreferenceFrameLayout;->mBorderTop:I
-Landroid/preference/PreferenceFrameLayout;->mPaddingApplied:Z
-Landroid/preference/PreferenceGroup;->mAttachedToActivity:Z
-Landroid/preference/PreferenceGroup;->mCurrentPreferenceOrder:I
-Landroid/preference/PreferenceGroup;->mOrderingAsAdded:Z
-Landroid/preference/PreferenceGroup;->mPreferenceList:Ljava/util/List;
-Landroid/preference/PreferenceGroup;->removePreferenceInt(Landroid/preference/Preference;)Z
-Landroid/preference/PreferenceGroup;->sortPreferences()V
-Landroid/preference/PreferenceGroupAdapter$PreferenceLayout;
-Landroid/preference/PreferenceGroupAdapter$PreferenceLayout;-><init>()V
-Landroid/preference/PreferenceGroupAdapter$PreferenceLayout;->compareTo(Landroid/preference/PreferenceGroupAdapter$PreferenceLayout;)I
-Landroid/preference/PreferenceGroupAdapter$PreferenceLayout;->name:Ljava/lang/String;
-Landroid/preference/PreferenceGroupAdapter$PreferenceLayout;->resId:I
-Landroid/preference/PreferenceGroupAdapter$PreferenceLayout;->widgetResId:I
-Landroid/preference/PreferenceGroupAdapter;
-Landroid/preference/PreferenceGroupAdapter;-><init>(Landroid/preference/PreferenceGroup;)V
-Landroid/preference/PreferenceGroupAdapter;->addPreferenceClassName(Landroid/preference/Preference;)V
-Landroid/preference/PreferenceGroupAdapter;->createPreferenceLayout(Landroid/preference/Preference;Landroid/preference/PreferenceGroupAdapter$PreferenceLayout;)Landroid/preference/PreferenceGroupAdapter$PreferenceLayout;
-Landroid/preference/PreferenceGroupAdapter;->flattenPreferenceGroup(Ljava/util/List;Landroid/preference/PreferenceGroup;)V
-Landroid/preference/PreferenceGroupAdapter;->getHighlightItemViewType()I
-Landroid/preference/PreferenceGroupAdapter;->mHandler:Landroid/os/Handler;
-Landroid/preference/PreferenceGroupAdapter;->mHasReturnedViewTypeCount:Z
-Landroid/preference/PreferenceGroupAdapter;->mHighlightedDrawable:Landroid/graphics/drawable/Drawable;
-Landroid/preference/PreferenceGroupAdapter;->mHighlightedPosition:I
-Landroid/preference/PreferenceGroupAdapter;->mIsSyncing:Z
-Landroid/preference/PreferenceGroupAdapter;->mPreferenceGroup:Landroid/preference/PreferenceGroup;
-Landroid/preference/PreferenceGroupAdapter;->mPreferenceLayouts:Ljava/util/ArrayList;
-Landroid/preference/PreferenceGroupAdapter;->mPreferenceList:Ljava/util/List;
-Landroid/preference/PreferenceGroupAdapter;->mSyncRunnable:Ljava/lang/Runnable;
-Landroid/preference/PreferenceGroupAdapter;->mTempPreferenceLayout:Landroid/preference/PreferenceGroupAdapter$PreferenceLayout;
-Landroid/preference/PreferenceGroupAdapter;->onPreferenceChange(Landroid/preference/Preference;)V
-Landroid/preference/PreferenceGroupAdapter;->onPreferenceHierarchyChange(Landroid/preference/Preference;)V
-Landroid/preference/PreferenceGroupAdapter;->setHighlighted(I)V
-Landroid/preference/PreferenceGroupAdapter;->setHighlightedDrawable(Landroid/graphics/drawable/Drawable;)V
-Landroid/preference/PreferenceGroupAdapter;->sWrapperLayoutParams:Landroid/view/ViewGroup$LayoutParams;
-Landroid/preference/PreferenceGroupAdapter;->syncMyPreferences()V
-Landroid/preference/PreferenceGroupAdapter;->TAG:Ljava/lang/String;
-Landroid/preference/PreferenceManager$OnPreferenceTreeClickListener;
-Landroid/preference/PreferenceManager$OnPreferenceTreeClickListener;->onPreferenceTreeClick(Landroid/preference/PreferenceScreen;Landroid/preference/Preference;)Z
-Landroid/preference/PreferenceManager;->addPreferencesScreen(Landroid/content/DialogInterface;)V
-Landroid/preference/PreferenceManager;->dismissAllScreens()V
-Landroid/preference/PreferenceManager;->dispatchNewIntent(Landroid/content/Intent;)V
-Landroid/preference/PreferenceManager;->getContext()Landroid/content/Context;
-Landroid/preference/PreferenceManager;->getDefaultSharedPreferencesMode()I
-Landroid/preference/PreferenceManager;->getNextId()J
-Landroid/preference/PreferenceManager;->getOnPreferenceTreeClickListener()Landroid/preference/PreferenceManager$OnPreferenceTreeClickListener;
-Landroid/preference/PreferenceManager;->init(Landroid/content/Context;)V
-Landroid/preference/PreferenceManager;->mActivity:Landroid/app/Activity;
-Landroid/preference/PreferenceManager;->mActivityResultListeners:Ljava/util/List;
-Landroid/preference/PreferenceManager;->mActivityStopListeners:Ljava/util/List;
-Landroid/preference/PreferenceManager;->mContext:Landroid/content/Context;
-Landroid/preference/PreferenceManager;->mEditor:Landroid/content/SharedPreferences$Editor;
-Landroid/preference/PreferenceManager;->mNextId:J
-Landroid/preference/PreferenceManager;->mNextRequestCode:I
-Landroid/preference/PreferenceManager;->mNoCommit:Z
-Landroid/preference/PreferenceManager;->mPreferenceDataStore:Landroid/preference/PreferenceDataStore;
-Landroid/preference/PreferenceManager;->mPreferenceScreen:Landroid/preference/PreferenceScreen;
-Landroid/preference/PreferenceManager;->mPreferencesScreens:Ljava/util/List;
-Landroid/preference/PreferenceManager;->mSharedPreferencesMode:I
-Landroid/preference/PreferenceManager;->mSharedPreferencesName:Ljava/lang/String;
-Landroid/preference/PreferenceManager;->mStorage:I
-Landroid/preference/PreferenceManager;->queryIntentActivities(Landroid/content/Intent;)Ljava/util/List;
-Landroid/preference/PreferenceManager;->removePreferencesScreen(Landroid/content/DialogInterface;)V
-Landroid/preference/PreferenceManager;->setOnPreferenceTreeClickListener(Landroid/preference/PreferenceManager$OnPreferenceTreeClickListener;)V
-Landroid/preference/PreferenceManager;->STORAGE_CREDENTIAL_PROTECTED:I
-Landroid/preference/PreferenceManager;->STORAGE_DEFAULT:I
-Landroid/preference/PreferenceManager;->STORAGE_DEVICE_PROTECTED:I
-Landroid/preference/PreferenceManager;->TAG:Ljava/lang/String;
-Landroid/preference/PreferenceScreen$SavedState;
-Landroid/preference/PreferenceScreen$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/preference/PreferenceScreen$SavedState;-><init>(Landroid/os/Parcelable;)V
-Landroid/preference/PreferenceScreen$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/preference/PreferenceScreen$SavedState;->dialogBundle:Landroid/os/Bundle;
-Landroid/preference/PreferenceScreen$SavedState;->isDialogShowing:Z
-Landroid/preference/PreferenceScreen;->mDialog:Landroid/app/Dialog;
-Landroid/preference/PreferenceScreen;->mDividerDrawable:Landroid/graphics/drawable/Drawable;
-Landroid/preference/PreferenceScreen;->mDividerSpecified:Z
-Landroid/preference/PreferenceScreen;->mLayoutResId:I
-Landroid/preference/PreferenceScreen;->showDialog(Landroid/os/Bundle;)V
-Landroid/preference/RingtonePreference;->mRingtoneType:I
-Landroid/preference/RingtonePreference;->mShowDefault:Z
-Landroid/preference/RingtonePreference;->mShowSilent:Z
-Landroid/preference/RingtonePreference;->TAG:Ljava/lang/String;
-Landroid/preference/SeekBarDialogPreference;
-Landroid/preference/SeekBarDialogPreference;-><init>(Landroid/content/Context;)V
-Landroid/preference/SeekBarDialogPreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/preference/SeekBarDialogPreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/preference/SeekBarDialogPreference;->createActionButtons()V
-Landroid/preference/SeekBarDialogPreference;->getSeekBar(Landroid/view/View;)Landroid/widget/SeekBar;
-Landroid/preference/SeekBarDialogPreference;->mMyIcon:Landroid/graphics/drawable/Drawable;
-Landroid/preference/SeekBarPreference$SavedState;
-Landroid/preference/SeekBarPreference$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/preference/SeekBarPreference$SavedState;-><init>(Landroid/os/Parcelable;)V
-Landroid/preference/SeekBarPreference$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/preference/SeekBarPreference$SavedState;->max:I
-Landroid/preference/SeekBarPreference$SavedState;->progress:I
-Landroid/preference/SeekBarPreference;
-Landroid/preference/SeekBarPreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/preference/SeekBarPreference;->getProgress()I
-Landroid/preference/SeekBarPreference;->mMax:I
-Landroid/preference/SeekBarPreference;->mProgress:I
-Landroid/preference/SeekBarPreference;->mTrackingTouch:Z
-Landroid/preference/SeekBarPreference;->onKey(Landroid/view/View;ILandroid/view/KeyEvent;)Z
-Landroid/preference/SeekBarPreference;->setMax(I)V
-Landroid/preference/SeekBarPreference;->setProgress(I)V
-Landroid/preference/SeekBarPreference;->setProgress(IZ)V
-Landroid/preference/SeekBarPreference;->syncProgress(Landroid/widget/SeekBar;)V
-Landroid/preference/SeekBarVolumizer$Callback;
-Landroid/preference/SeekBarVolumizer$Callback;->onMuted(ZZ)V
-Landroid/preference/SeekBarVolumizer$Callback;->onProgressChanged(Landroid/widget/SeekBar;IZ)V
-Landroid/preference/SeekBarVolumizer$Callback;->onSampleStarting(Landroid/preference/SeekBarVolumizer;)V
-Landroid/preference/SeekBarVolumizer$H;
-Landroid/preference/SeekBarVolumizer$H;-><init>()V
-Landroid/preference/SeekBarVolumizer$H;->postUpdateSlider(IIZ)V
-Landroid/preference/SeekBarVolumizer$H;->UPDATE_SLIDER:I
-Landroid/preference/SeekBarVolumizer$Observer;
-Landroid/preference/SeekBarVolumizer$Observer;-><init>(Landroid/os/Handler;)V
-Landroid/preference/SeekBarVolumizer$Receiver;
-Landroid/preference/SeekBarVolumizer$Receiver;-><init>()V
-Landroid/preference/SeekBarVolumizer$Receiver;->mListening:Z
-Landroid/preference/SeekBarVolumizer$Receiver;->setListening(Z)V
-Landroid/preference/SeekBarVolumizer$Receiver;->updateVolumeSlider(II)V
-Landroid/preference/SeekBarVolumizer;
-Landroid/preference/SeekBarVolumizer;->changeVolumeBy(I)V
-Landroid/preference/SeekBarVolumizer;->CHECK_RINGTONE_PLAYBACK_DELAY_MS:I
-Landroid/preference/SeekBarVolumizer;->getSeekBar()Landroid/widget/SeekBar;
-Landroid/preference/SeekBarVolumizer;->isAlarmsStream(I)Z
-Landroid/preference/SeekBarVolumizer;->isMediaStream(I)Z
-Landroid/preference/SeekBarVolumizer;->isNotificationOrRing(I)Z
-Landroid/preference/SeekBarVolumizer;->isSamplePlaying()Z
-Landroid/preference/SeekBarVolumizer;->isZenMuted()Z
-Landroid/preference/SeekBarVolumizer;->mAffectedByRingerMode:Z
-Landroid/preference/SeekBarVolumizer;->mAllowAlarms:Z
-Landroid/preference/SeekBarVolumizer;->mAllowMedia:Z
-Landroid/preference/SeekBarVolumizer;->mAllowRinger:Z
-Landroid/preference/SeekBarVolumizer;->mCallback:Landroid/preference/SeekBarVolumizer$Callback;
-Landroid/preference/SeekBarVolumizer;->mDefaultUri:Landroid/net/Uri;
-Landroid/preference/SeekBarVolumizer;->mHandler:Landroid/os/Handler;
-Landroid/preference/SeekBarVolumizer;->mLastAudibleStreamVolume:I
-Landroid/preference/SeekBarVolumizer;->mMaxStreamVolume:I
-Landroid/preference/SeekBarVolumizer;->mMuted:Z
-Landroid/preference/SeekBarVolumizer;->mNotificationManager:Landroid/app/NotificationManager;
-Landroid/preference/SeekBarVolumizer;->mNotificationOrRing:Z
-Landroid/preference/SeekBarVolumizer;->mNotificationPolicy:Landroid/app/NotificationManager$Policy;
-Landroid/preference/SeekBarVolumizer;->mReceiver:Landroid/preference/SeekBarVolumizer$Receiver;
-Landroid/preference/SeekBarVolumizer;->mRingerMode:I
-Landroid/preference/SeekBarVolumizer;->MSG_INIT_SAMPLE:I
-Landroid/preference/SeekBarVolumizer;->MSG_SET_STREAM_VOLUME:I
-Landroid/preference/SeekBarVolumizer;->MSG_START_SAMPLE:I
-Landroid/preference/SeekBarVolumizer;->MSG_STOP_SAMPLE:I
-Landroid/preference/SeekBarVolumizer;->mUiHandler:Landroid/preference/SeekBarVolumizer$H;
-Landroid/preference/SeekBarVolumizer;->muteVolume()V
-Landroid/preference/SeekBarVolumizer;->mVolumeBeforeMute:I
-Landroid/preference/SeekBarVolumizer;->mVolumeObserver:Landroid/preference/SeekBarVolumizer$Observer;
-Landroid/preference/SeekBarVolumizer;->mZenMode:I
-Landroid/preference/SeekBarVolumizer;->onInitSample()V
-Landroid/preference/SeekBarVolumizer;->onRestoreInstanceState(Landroid/preference/VolumePreference$VolumeStore;)V
-Landroid/preference/SeekBarVolumizer;->onSaveInstanceState(Landroid/preference/VolumePreference$VolumeStore;)V
-Landroid/preference/SeekBarVolumizer;->onStartSample()V
-Landroid/preference/SeekBarVolumizer;->onStopSample()V
-Landroid/preference/SeekBarVolumizer;->postSetVolume(I)V
-Landroid/preference/SeekBarVolumizer;->postStartSample()V
-Landroid/preference/SeekBarVolumizer;->postStopSample()V
-Landroid/preference/SeekBarVolumizer;->revertVolume()V
-Landroid/preference/SeekBarVolumizer;->setSeekBar(Landroid/widget/SeekBar;)V
-Landroid/preference/SeekBarVolumizer;->start()V
-Landroid/preference/SeekBarVolumizer;->startSample()V
-Landroid/preference/SeekBarVolumizer;->stopSample()V
-Landroid/preference/SeekBarVolumizer;->TAG:Ljava/lang/String;
-Landroid/preference/SeekBarVolumizer;->updateSeekBar()V
-Landroid/preference/SeekBarVolumizer;->updateSlider()V
-Landroid/preference/SwitchPreference$Listener;
-Landroid/preference/SwitchPreference$Listener;-><init>()V
-Landroid/preference/SwitchPreference;->mSwitchOff:Ljava/lang/CharSequence;
-Landroid/preference/SwitchPreference;->mSwitchOn:Ljava/lang/CharSequence;
-Landroid/preference/TwoStatePreference$SavedState;
-Landroid/preference/TwoStatePreference$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/preference/TwoStatePreference$SavedState;-><init>(Landroid/os/Parcelable;)V
-Landroid/preference/TwoStatePreference$SavedState;->checked:Z
-Landroid/preference/TwoStatePreference$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/preference/TwoStatePreference;->mChecked:Z
-Landroid/preference/TwoStatePreference;->mCheckedSet:Z
-Landroid/preference/TwoStatePreference;->mDisableDependentsState:Z
-Landroid/preference/TwoStatePreference;->mSummaryOff:Ljava/lang/CharSequence;
-Landroid/preference/TwoStatePreference;->mSummaryOn:Ljava/lang/CharSequence;
-Landroid/preference/VolumePreference$SavedState;
-Landroid/preference/VolumePreference$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/preference/VolumePreference$SavedState;-><init>(Landroid/os/Parcelable;)V
-Landroid/preference/VolumePreference$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/preference/VolumePreference$SavedState;->getVolumeStore()Landroid/preference/VolumePreference$VolumeStore;
-Landroid/preference/VolumePreference$SavedState;->mVolumeStore:Landroid/preference/VolumePreference$VolumeStore;
-Landroid/preference/VolumePreference$VolumeStore;
-Landroid/preference/VolumePreference$VolumeStore;-><init>()V
-Landroid/preference/VolumePreference;
-Landroid/preference/VolumePreference;-><init>(Landroid/content/Context;)V
-Landroid/preference/VolumePreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/preference/VolumePreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/preference/VolumePreference;->cleanup()V
-Landroid/preference/VolumePreference;->mSeekBarVolumizer:Landroid/preference/SeekBarVolumizer;
-Landroid/preference/VolumePreference;->onMuted(ZZ)V
-Landroid/preference/VolumePreference;->onProgressChanged(Landroid/widget/SeekBar;IZ)V
-Landroid/preference/VolumePreference;->onSampleStarting(Landroid/preference/SeekBarVolumizer;)V
-Landroid/preference/VolumePreference;->setStreamType(I)V
-Landroid/print/ILayoutResultCallback$Stub$Proxy;
-Landroid/print/ILayoutResultCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/print/ILayoutResultCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/print/ILayoutResultCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/print/ILayoutResultCallback$Stub$Proxy;->onLayoutCanceled(I)V
-Landroid/print/ILayoutResultCallback$Stub$Proxy;->onLayoutFailed(Ljava/lang/CharSequence;I)V
-Landroid/print/ILayoutResultCallback$Stub$Proxy;->onLayoutFinished(Landroid/print/PrintDocumentInfo;ZI)V
-Landroid/print/ILayoutResultCallback$Stub$Proxy;->onLayoutStarted(Landroid/os/ICancellationSignal;I)V
-Landroid/print/ILayoutResultCallback$Stub;
-Landroid/print/ILayoutResultCallback$Stub;-><init>()V
-Landroid/print/ILayoutResultCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/print/ILayoutResultCallback;
-Landroid/print/ILayoutResultCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/print/ILayoutResultCallback$Stub;->TRANSACTION_onLayoutCanceled:I
-Landroid/print/ILayoutResultCallback$Stub;->TRANSACTION_onLayoutFailed:I
-Landroid/print/ILayoutResultCallback$Stub;->TRANSACTION_onLayoutFinished:I
-Landroid/print/ILayoutResultCallback$Stub;->TRANSACTION_onLayoutStarted:I
-Landroid/print/ILayoutResultCallback;
-Landroid/print/ILayoutResultCallback;->onLayoutCanceled(I)V
-Landroid/print/ILayoutResultCallback;->onLayoutFailed(Ljava/lang/CharSequence;I)V
-Landroid/print/ILayoutResultCallback;->onLayoutFinished(Landroid/print/PrintDocumentInfo;ZI)V
-Landroid/print/ILayoutResultCallback;->onLayoutStarted(Landroid/os/ICancellationSignal;I)V
-Landroid/print/IPrintDocumentAdapter$Stub$Proxy;
-Landroid/print/IPrintDocumentAdapter$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/print/IPrintDocumentAdapter$Stub$Proxy;->finish()V
-Landroid/print/IPrintDocumentAdapter$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/print/IPrintDocumentAdapter$Stub$Proxy;->kill(Ljava/lang/String;)V
-Landroid/print/IPrintDocumentAdapter$Stub$Proxy;->layout(Landroid/print/PrintAttributes;Landroid/print/PrintAttributes;Landroid/print/ILayoutResultCallback;Landroid/os/Bundle;I)V
-Landroid/print/IPrintDocumentAdapter$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/print/IPrintDocumentAdapter$Stub$Proxy;->setObserver(Landroid/print/IPrintDocumentAdapterObserver;)V
-Landroid/print/IPrintDocumentAdapter$Stub$Proxy;->start()V
-Landroid/print/IPrintDocumentAdapter$Stub$Proxy;->write([Landroid/print/PageRange;Landroid/os/ParcelFileDescriptor;Landroid/print/IWriteResultCallback;I)V
-Landroid/print/IPrintDocumentAdapter$Stub;
-Landroid/print/IPrintDocumentAdapter$Stub;-><init>()V
-Landroid/print/IPrintDocumentAdapter$Stub;->asInterface(Landroid/os/IBinder;)Landroid/print/IPrintDocumentAdapter;
-Landroid/print/IPrintDocumentAdapter$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/print/IPrintDocumentAdapter$Stub;->TRANSACTION_finish:I
-Landroid/print/IPrintDocumentAdapter$Stub;->TRANSACTION_kill:I
-Landroid/print/IPrintDocumentAdapter$Stub;->TRANSACTION_layout:I
-Landroid/print/IPrintDocumentAdapter$Stub;->TRANSACTION_setObserver:I
-Landroid/print/IPrintDocumentAdapter$Stub;->TRANSACTION_start:I
-Landroid/print/IPrintDocumentAdapter$Stub;->TRANSACTION_write:I
-Landroid/print/IPrintDocumentAdapter;
-Landroid/print/IPrintDocumentAdapter;->finish()V
-Landroid/print/IPrintDocumentAdapter;->kill(Ljava/lang/String;)V
-Landroid/print/IPrintDocumentAdapter;->layout(Landroid/print/PrintAttributes;Landroid/print/PrintAttributes;Landroid/print/ILayoutResultCallback;Landroid/os/Bundle;I)V
-Landroid/print/IPrintDocumentAdapter;->setObserver(Landroid/print/IPrintDocumentAdapterObserver;)V
-Landroid/print/IPrintDocumentAdapter;->start()V
-Landroid/print/IPrintDocumentAdapter;->write([Landroid/print/PageRange;Landroid/os/ParcelFileDescriptor;Landroid/print/IWriteResultCallback;I)V
-Landroid/print/IPrintDocumentAdapterObserver$Stub$Proxy;
-Landroid/print/IPrintDocumentAdapterObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/print/IPrintDocumentAdapterObserver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/print/IPrintDocumentAdapterObserver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/print/IPrintDocumentAdapterObserver$Stub$Proxy;->onDestroy()V
-Landroid/print/IPrintDocumentAdapterObserver$Stub;
-Landroid/print/IPrintDocumentAdapterObserver$Stub;-><init>()V
-Landroid/print/IPrintDocumentAdapterObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/print/IPrintDocumentAdapterObserver;
-Landroid/print/IPrintDocumentAdapterObserver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/print/IPrintDocumentAdapterObserver$Stub;->TRANSACTION_onDestroy:I
-Landroid/print/IPrintDocumentAdapterObserver;
-Landroid/print/IPrintDocumentAdapterObserver;->onDestroy()V
-Landroid/print/IPrinterDiscoveryObserver$Stub$Proxy;
-Landroid/print/IPrinterDiscoveryObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/print/IPrinterDiscoveryObserver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/print/IPrinterDiscoveryObserver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/print/IPrinterDiscoveryObserver$Stub$Proxy;->onPrintersAdded(Landroid/content/pm/ParceledListSlice;)V
-Landroid/print/IPrinterDiscoveryObserver$Stub$Proxy;->onPrintersRemoved(Landroid/content/pm/ParceledListSlice;)V
-Landroid/print/IPrinterDiscoveryObserver$Stub;
-Landroid/print/IPrinterDiscoveryObserver$Stub;-><init>()V
-Landroid/print/IPrinterDiscoveryObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/print/IPrinterDiscoveryObserver;
-Landroid/print/IPrinterDiscoveryObserver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/print/IPrinterDiscoveryObserver$Stub;->TRANSACTION_onPrintersAdded:I
-Landroid/print/IPrinterDiscoveryObserver$Stub;->TRANSACTION_onPrintersRemoved:I
-Landroid/print/IPrinterDiscoveryObserver;
-Landroid/print/IPrinterDiscoveryObserver;->onPrintersAdded(Landroid/content/pm/ParceledListSlice;)V
-Landroid/print/IPrinterDiscoveryObserver;->onPrintersRemoved(Landroid/content/pm/ParceledListSlice;)V
-Landroid/print/IPrintJobStateChangeListener$Stub$Proxy;
-Landroid/print/IPrintJobStateChangeListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/print/IPrintJobStateChangeListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/print/IPrintJobStateChangeListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/print/IPrintJobStateChangeListener$Stub$Proxy;->onPrintJobStateChanged(Landroid/print/PrintJobId;)V
-Landroid/print/IPrintJobStateChangeListener$Stub;
-Landroid/print/IPrintJobStateChangeListener$Stub;-><init>()V
-Landroid/print/IPrintJobStateChangeListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/print/IPrintJobStateChangeListener;
-Landroid/print/IPrintJobStateChangeListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/print/IPrintJobStateChangeListener$Stub;->TRANSACTION_onPrintJobStateChanged:I
-Landroid/print/IPrintJobStateChangeListener;
-Landroid/print/IPrintJobStateChangeListener;->onPrintJobStateChanged(Landroid/print/PrintJobId;)V
-Landroid/print/IPrintManager$Stub$Proxy;
-Landroid/print/IPrintManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/print/IPrintManager$Stub$Proxy;->addPrintJobStateChangeListener(Landroid/print/IPrintJobStateChangeListener;II)V
-Landroid/print/IPrintManager$Stub$Proxy;->addPrintServiceRecommendationsChangeListener(Landroid/printservice/recommendation/IRecommendationsChangeListener;I)V
-Landroid/print/IPrintManager$Stub$Proxy;->addPrintServicesChangeListener(Landroid/print/IPrintServicesChangeListener;I)V
-Landroid/print/IPrintManager$Stub$Proxy;->cancelPrintJob(Landroid/print/PrintJobId;II)V
-Landroid/print/IPrintManager$Stub$Proxy;->createPrinterDiscoverySession(Landroid/print/IPrinterDiscoveryObserver;I)V
-Landroid/print/IPrintManager$Stub$Proxy;->destroyPrinterDiscoverySession(Landroid/print/IPrinterDiscoveryObserver;I)V
-Landroid/print/IPrintManager$Stub$Proxy;->getBindInstantServiceAllowed(I)Z
-Landroid/print/IPrintManager$Stub$Proxy;->getCustomPrinterIcon(Landroid/print/PrinterId;I)Landroid/graphics/drawable/Icon;
-Landroid/print/IPrintManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/print/IPrintManager$Stub$Proxy;->getPrintJobInfo(Landroid/print/PrintJobId;II)Landroid/print/PrintJobInfo;
-Landroid/print/IPrintManager$Stub$Proxy;->getPrintJobInfos(II)Ljava/util/List;
-Landroid/print/IPrintManager$Stub$Proxy;->getPrintServiceRecommendations(I)Ljava/util/List;
-Landroid/print/IPrintManager$Stub$Proxy;->getPrintServices(II)Ljava/util/List;
-Landroid/print/IPrintManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/print/IPrintManager$Stub$Proxy;->print(Ljava/lang/String;Landroid/print/IPrintDocumentAdapter;Landroid/print/PrintAttributes;Ljava/lang/String;II)Landroid/os/Bundle;
-Landroid/print/IPrintManager$Stub$Proxy;->removePrintJobStateChangeListener(Landroid/print/IPrintJobStateChangeListener;I)V
-Landroid/print/IPrintManager$Stub$Proxy;->removePrintServiceRecommendationsChangeListener(Landroid/printservice/recommendation/IRecommendationsChangeListener;I)V
-Landroid/print/IPrintManager$Stub$Proxy;->removePrintServicesChangeListener(Landroid/print/IPrintServicesChangeListener;I)V
-Landroid/print/IPrintManager$Stub$Proxy;->restartPrintJob(Landroid/print/PrintJobId;II)V
-Landroid/print/IPrintManager$Stub$Proxy;->setBindInstantServiceAllowed(IZ)V
-Landroid/print/IPrintManager$Stub$Proxy;->setPrintServiceEnabled(Landroid/content/ComponentName;ZI)V
-Landroid/print/IPrintManager$Stub$Proxy;->startPrinterDiscovery(Landroid/print/IPrinterDiscoveryObserver;Ljava/util/List;I)V
-Landroid/print/IPrintManager$Stub$Proxy;->startPrinterStateTracking(Landroid/print/PrinterId;I)V
-Landroid/print/IPrintManager$Stub$Proxy;->stopPrinterDiscovery(Landroid/print/IPrinterDiscoveryObserver;I)V
-Landroid/print/IPrintManager$Stub$Proxy;->stopPrinterStateTracking(Landroid/print/PrinterId;I)V
-Landroid/print/IPrintManager$Stub$Proxy;->validatePrinters(Ljava/util/List;I)V
-Landroid/print/IPrintManager$Stub;
-Landroid/print/IPrintManager$Stub;-><init>()V
-Landroid/print/IPrintManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/print/IPrintManager;
-Landroid/print/IPrintManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/print/IPrintManager$Stub;->TRANSACTION_addPrintJobStateChangeListener:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_addPrintServiceRecommendationsChangeListener:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_addPrintServicesChangeListener:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_cancelPrintJob:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_createPrinterDiscoverySession:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_destroyPrinterDiscoverySession:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_getBindInstantServiceAllowed:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_getCustomPrinterIcon:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_getPrintJobInfo:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_getPrintJobInfos:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_getPrintServiceRecommendations:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_getPrintServices:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_print:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_removePrintJobStateChangeListener:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_removePrintServiceRecommendationsChangeListener:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_removePrintServicesChangeListener:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_restartPrintJob:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_setBindInstantServiceAllowed:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_setPrintServiceEnabled:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_startPrinterDiscovery:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_startPrinterStateTracking:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_stopPrinterDiscovery:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_stopPrinterStateTracking:I
-Landroid/print/IPrintManager$Stub;->TRANSACTION_validatePrinters:I
-Landroid/print/IPrintManager;
-Landroid/print/IPrintManager;->addPrintJobStateChangeListener(Landroid/print/IPrintJobStateChangeListener;II)V
-Landroid/print/IPrintManager;->addPrintServiceRecommendationsChangeListener(Landroid/printservice/recommendation/IRecommendationsChangeListener;I)V
-Landroid/print/IPrintManager;->addPrintServicesChangeListener(Landroid/print/IPrintServicesChangeListener;I)V
-Landroid/print/IPrintManager;->cancelPrintJob(Landroid/print/PrintJobId;II)V
-Landroid/print/IPrintManager;->createPrinterDiscoverySession(Landroid/print/IPrinterDiscoveryObserver;I)V
-Landroid/print/IPrintManager;->destroyPrinterDiscoverySession(Landroid/print/IPrinterDiscoveryObserver;I)V
-Landroid/print/IPrintManager;->getBindInstantServiceAllowed(I)Z
-Landroid/print/IPrintManager;->getCustomPrinterIcon(Landroid/print/PrinterId;I)Landroid/graphics/drawable/Icon;
-Landroid/print/IPrintManager;->getPrintJobInfo(Landroid/print/PrintJobId;II)Landroid/print/PrintJobInfo;
-Landroid/print/IPrintManager;->getPrintJobInfos(II)Ljava/util/List;
-Landroid/print/IPrintManager;->getPrintServiceRecommendations(I)Ljava/util/List;
-Landroid/print/IPrintManager;->getPrintServices(II)Ljava/util/List;
-Landroid/print/IPrintManager;->print(Ljava/lang/String;Landroid/print/IPrintDocumentAdapter;Landroid/print/PrintAttributes;Ljava/lang/String;II)Landroid/os/Bundle;
-Landroid/print/IPrintManager;->removePrintJobStateChangeListener(Landroid/print/IPrintJobStateChangeListener;I)V
-Landroid/print/IPrintManager;->removePrintServiceRecommendationsChangeListener(Landroid/printservice/recommendation/IRecommendationsChangeListener;I)V
-Landroid/print/IPrintManager;->removePrintServicesChangeListener(Landroid/print/IPrintServicesChangeListener;I)V
-Landroid/print/IPrintManager;->restartPrintJob(Landroid/print/PrintJobId;II)V
-Landroid/print/IPrintManager;->setBindInstantServiceAllowed(IZ)V
-Landroid/print/IPrintManager;->setPrintServiceEnabled(Landroid/content/ComponentName;ZI)V
-Landroid/print/IPrintManager;->startPrinterDiscovery(Landroid/print/IPrinterDiscoveryObserver;Ljava/util/List;I)V
-Landroid/print/IPrintManager;->startPrinterStateTracking(Landroid/print/PrinterId;I)V
-Landroid/print/IPrintManager;->stopPrinterDiscovery(Landroid/print/IPrinterDiscoveryObserver;I)V
-Landroid/print/IPrintManager;->stopPrinterStateTracking(Landroid/print/PrinterId;I)V
-Landroid/print/IPrintManager;->validatePrinters(Ljava/util/List;I)V
-Landroid/print/IPrintServicesChangeListener$Stub$Proxy;
-Landroid/print/IPrintServicesChangeListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/print/IPrintServicesChangeListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/print/IPrintServicesChangeListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/print/IPrintServicesChangeListener$Stub$Proxy;->onPrintServicesChanged()V
-Landroid/print/IPrintServicesChangeListener$Stub;
-Landroid/print/IPrintServicesChangeListener$Stub;-><init>()V
-Landroid/print/IPrintServicesChangeListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/print/IPrintServicesChangeListener;
-Landroid/print/IPrintServicesChangeListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/print/IPrintServicesChangeListener$Stub;->TRANSACTION_onPrintServicesChanged:I
-Landroid/print/IPrintServicesChangeListener;
-Landroid/print/IPrintServicesChangeListener;->onPrintServicesChanged()V
-Landroid/print/IPrintSpooler$Stub$Proxy;
-Landroid/print/IPrintSpooler$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/print/IPrintSpooler$Stub$Proxy;->clearCustomPrinterIconCache(Landroid/print/IPrintSpoolerCallbacks;I)V
-Landroid/print/IPrintSpooler$Stub$Proxy;->createPrintJob(Landroid/print/PrintJobInfo;)V
-Landroid/print/IPrintSpooler$Stub$Proxy;->getCustomPrinterIcon(Landroid/print/PrinterId;Landroid/print/IPrintSpoolerCallbacks;I)V
-Landroid/print/IPrintSpooler$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/print/IPrintSpooler$Stub$Proxy;->getPrintJobInfo(Landroid/print/PrintJobId;Landroid/print/IPrintSpoolerCallbacks;II)V
-Landroid/print/IPrintSpooler$Stub$Proxy;->getPrintJobInfos(Landroid/print/IPrintSpoolerCallbacks;Landroid/content/ComponentName;III)V
-Landroid/print/IPrintSpooler$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/print/IPrintSpooler$Stub$Proxy;->onCustomPrinterIconLoaded(Landroid/print/PrinterId;Landroid/graphics/drawable/Icon;Landroid/print/IPrintSpoolerCallbacks;I)V
-Landroid/print/IPrintSpooler$Stub$Proxy;->pruneApprovedPrintServices(Ljava/util/List;)V
-Landroid/print/IPrintSpooler$Stub$Proxy;->removeObsoletePrintJobs()V
-Landroid/print/IPrintSpooler$Stub$Proxy;->setClient(Landroid/print/IPrintSpoolerClient;)V
-Landroid/print/IPrintSpooler$Stub$Proxy;->setPrintJobCancelling(Landroid/print/PrintJobId;Z)V
-Landroid/print/IPrintSpooler$Stub$Proxy;->setPrintJobState(Landroid/print/PrintJobId;ILjava/lang/String;Landroid/print/IPrintSpoolerCallbacks;I)V
-Landroid/print/IPrintSpooler$Stub$Proxy;->setPrintJobTag(Landroid/print/PrintJobId;Ljava/lang/String;Landroid/print/IPrintSpoolerCallbacks;I)V
-Landroid/print/IPrintSpooler$Stub$Proxy;->setProgress(Landroid/print/PrintJobId;F)V
-Landroid/print/IPrintSpooler$Stub$Proxy;->setStatus(Landroid/print/PrintJobId;Ljava/lang/CharSequence;)V
-Landroid/print/IPrintSpooler$Stub$Proxy;->setStatusRes(Landroid/print/PrintJobId;ILjava/lang/CharSequence;)V
-Landroid/print/IPrintSpooler$Stub$Proxy;->writePrintJobData(Landroid/os/ParcelFileDescriptor;Landroid/print/PrintJobId;)V
-Landroid/print/IPrintSpooler$Stub;
-Landroid/print/IPrintSpooler$Stub;-><init>()V
-Landroid/print/IPrintSpooler$Stub;->asInterface(Landroid/os/IBinder;)Landroid/print/IPrintSpooler;
-Landroid/print/IPrintSpooler$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/print/IPrintSpooler$Stub;->TRANSACTION_clearCustomPrinterIconCache:I
-Landroid/print/IPrintSpooler$Stub;->TRANSACTION_createPrintJob:I
-Landroid/print/IPrintSpooler$Stub;->TRANSACTION_getCustomPrinterIcon:I
-Landroid/print/IPrintSpooler$Stub;->TRANSACTION_getPrintJobInfo:I
-Landroid/print/IPrintSpooler$Stub;->TRANSACTION_getPrintJobInfos:I
-Landroid/print/IPrintSpooler$Stub;->TRANSACTION_onCustomPrinterIconLoaded:I
-Landroid/print/IPrintSpooler$Stub;->TRANSACTION_pruneApprovedPrintServices:I
-Landroid/print/IPrintSpooler$Stub;->TRANSACTION_removeObsoletePrintJobs:I
-Landroid/print/IPrintSpooler$Stub;->TRANSACTION_setClient:I
-Landroid/print/IPrintSpooler$Stub;->TRANSACTION_setPrintJobCancelling:I
-Landroid/print/IPrintSpooler$Stub;->TRANSACTION_setPrintJobState:I
-Landroid/print/IPrintSpooler$Stub;->TRANSACTION_setPrintJobTag:I
-Landroid/print/IPrintSpooler$Stub;->TRANSACTION_setProgress:I
-Landroid/print/IPrintSpooler$Stub;->TRANSACTION_setStatus:I
-Landroid/print/IPrintSpooler$Stub;->TRANSACTION_setStatusRes:I
-Landroid/print/IPrintSpooler$Stub;->TRANSACTION_writePrintJobData:I
-Landroid/print/IPrintSpooler;
-Landroid/print/IPrintSpooler;->clearCustomPrinterIconCache(Landroid/print/IPrintSpoolerCallbacks;I)V
-Landroid/print/IPrintSpooler;->createPrintJob(Landroid/print/PrintJobInfo;)V
-Landroid/print/IPrintSpooler;->getCustomPrinterIcon(Landroid/print/PrinterId;Landroid/print/IPrintSpoolerCallbacks;I)V
-Landroid/print/IPrintSpooler;->getPrintJobInfo(Landroid/print/PrintJobId;Landroid/print/IPrintSpoolerCallbacks;II)V
-Landroid/print/IPrintSpooler;->getPrintJobInfos(Landroid/print/IPrintSpoolerCallbacks;Landroid/content/ComponentName;III)V
-Landroid/print/IPrintSpooler;->onCustomPrinterIconLoaded(Landroid/print/PrinterId;Landroid/graphics/drawable/Icon;Landroid/print/IPrintSpoolerCallbacks;I)V
-Landroid/print/IPrintSpooler;->pruneApprovedPrintServices(Ljava/util/List;)V
-Landroid/print/IPrintSpooler;->removeObsoletePrintJobs()V
-Landroid/print/IPrintSpooler;->setClient(Landroid/print/IPrintSpoolerClient;)V
-Landroid/print/IPrintSpooler;->setPrintJobCancelling(Landroid/print/PrintJobId;Z)V
-Landroid/print/IPrintSpooler;->setPrintJobState(Landroid/print/PrintJobId;ILjava/lang/String;Landroid/print/IPrintSpoolerCallbacks;I)V
-Landroid/print/IPrintSpooler;->setPrintJobTag(Landroid/print/PrintJobId;Ljava/lang/String;Landroid/print/IPrintSpoolerCallbacks;I)V
-Landroid/print/IPrintSpooler;->setProgress(Landroid/print/PrintJobId;F)V
-Landroid/print/IPrintSpooler;->setStatus(Landroid/print/PrintJobId;Ljava/lang/CharSequence;)V
-Landroid/print/IPrintSpooler;->setStatusRes(Landroid/print/PrintJobId;ILjava/lang/CharSequence;)V
-Landroid/print/IPrintSpooler;->writePrintJobData(Landroid/os/ParcelFileDescriptor;Landroid/print/PrintJobId;)V
-Landroid/print/IPrintSpoolerCallbacks$Stub$Proxy;
-Landroid/print/IPrintSpoolerCallbacks$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/print/IPrintSpoolerCallbacks$Stub$Proxy;->customPrinterIconCacheCleared(I)V
-Landroid/print/IPrintSpoolerCallbacks$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/print/IPrintSpoolerCallbacks$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/print/IPrintSpoolerCallbacks$Stub$Proxy;->onCancelPrintJobResult(ZI)V
-Landroid/print/IPrintSpoolerCallbacks$Stub$Proxy;->onCustomPrinterIconCached(I)V
-Landroid/print/IPrintSpoolerCallbacks$Stub$Proxy;->onGetCustomPrinterIconResult(Landroid/graphics/drawable/Icon;I)V
-Landroid/print/IPrintSpoolerCallbacks$Stub$Proxy;->onGetPrintJobInfoResult(Landroid/print/PrintJobInfo;I)V
-Landroid/print/IPrintSpoolerCallbacks$Stub$Proxy;->onGetPrintJobInfosResult(Ljava/util/List;I)V
-Landroid/print/IPrintSpoolerCallbacks$Stub$Proxy;->onSetPrintJobStateResult(ZI)V
-Landroid/print/IPrintSpoolerCallbacks$Stub$Proxy;->onSetPrintJobTagResult(ZI)V
-Landroid/print/IPrintSpoolerCallbacks$Stub;
-Landroid/print/IPrintSpoolerCallbacks$Stub;-><init>()V
-Landroid/print/IPrintSpoolerCallbacks$Stub;->asInterface(Landroid/os/IBinder;)Landroid/print/IPrintSpoolerCallbacks;
-Landroid/print/IPrintSpoolerCallbacks$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/print/IPrintSpoolerCallbacks$Stub;->TRANSACTION_customPrinterIconCacheCleared:I
-Landroid/print/IPrintSpoolerCallbacks$Stub;->TRANSACTION_onCancelPrintJobResult:I
-Landroid/print/IPrintSpoolerCallbacks$Stub;->TRANSACTION_onCustomPrinterIconCached:I
-Landroid/print/IPrintSpoolerCallbacks$Stub;->TRANSACTION_onGetCustomPrinterIconResult:I
-Landroid/print/IPrintSpoolerCallbacks$Stub;->TRANSACTION_onGetPrintJobInfoResult:I
-Landroid/print/IPrintSpoolerCallbacks$Stub;->TRANSACTION_onGetPrintJobInfosResult:I
-Landroid/print/IPrintSpoolerCallbacks$Stub;->TRANSACTION_onSetPrintJobStateResult:I
-Landroid/print/IPrintSpoolerCallbacks$Stub;->TRANSACTION_onSetPrintJobTagResult:I
-Landroid/print/IPrintSpoolerCallbacks;
-Landroid/print/IPrintSpoolerCallbacks;->customPrinterIconCacheCleared(I)V
-Landroid/print/IPrintSpoolerCallbacks;->onCancelPrintJobResult(ZI)V
-Landroid/print/IPrintSpoolerCallbacks;->onCustomPrinterIconCached(I)V
-Landroid/print/IPrintSpoolerCallbacks;->onGetCustomPrinterIconResult(Landroid/graphics/drawable/Icon;I)V
-Landroid/print/IPrintSpoolerCallbacks;->onGetPrintJobInfoResult(Landroid/print/PrintJobInfo;I)V
-Landroid/print/IPrintSpoolerCallbacks;->onGetPrintJobInfosResult(Ljava/util/List;I)V
-Landroid/print/IPrintSpoolerCallbacks;->onSetPrintJobStateResult(ZI)V
-Landroid/print/IPrintSpoolerCallbacks;->onSetPrintJobTagResult(ZI)V
-Landroid/print/IPrintSpoolerClient$Stub$Proxy;
-Landroid/print/IPrintSpoolerClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/print/IPrintSpoolerClient$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/print/IPrintSpoolerClient$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/print/IPrintSpoolerClient$Stub$Proxy;->onAllPrintJobsForServiceHandled(Landroid/content/ComponentName;)V
-Landroid/print/IPrintSpoolerClient$Stub$Proxy;->onAllPrintJobsHandled()V
-Landroid/print/IPrintSpoolerClient$Stub$Proxy;->onPrintJobQueued(Landroid/print/PrintJobInfo;)V
-Landroid/print/IPrintSpoolerClient$Stub$Proxy;->onPrintJobStateChanged(Landroid/print/PrintJobInfo;)V
-Landroid/print/IPrintSpoolerClient$Stub;
-Landroid/print/IPrintSpoolerClient$Stub;-><init>()V
-Landroid/print/IPrintSpoolerClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/print/IPrintSpoolerClient;
-Landroid/print/IPrintSpoolerClient$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/print/IPrintSpoolerClient$Stub;->TRANSACTION_onAllPrintJobsForServiceHandled:I
-Landroid/print/IPrintSpoolerClient$Stub;->TRANSACTION_onAllPrintJobsHandled:I
-Landroid/print/IPrintSpoolerClient$Stub;->TRANSACTION_onPrintJobQueued:I
-Landroid/print/IPrintSpoolerClient$Stub;->TRANSACTION_onPrintJobStateChanged:I
-Landroid/print/IPrintSpoolerClient;
-Landroid/print/IPrintSpoolerClient;->onAllPrintJobsForServiceHandled(Landroid/content/ComponentName;)V
-Landroid/print/IPrintSpoolerClient;->onAllPrintJobsHandled()V
-Landroid/print/IPrintSpoolerClient;->onPrintJobQueued(Landroid/print/PrintJobInfo;)V
-Landroid/print/IPrintSpoolerClient;->onPrintJobStateChanged(Landroid/print/PrintJobInfo;)V
-Landroid/print/IWriteResultCallback$Stub$Proxy;
-Landroid/print/IWriteResultCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/print/IWriteResultCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/print/IWriteResultCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/print/IWriteResultCallback$Stub$Proxy;->onWriteCanceled(I)V
-Landroid/print/IWriteResultCallback$Stub$Proxy;->onWriteFailed(Ljava/lang/CharSequence;I)V
-Landroid/print/IWriteResultCallback$Stub$Proxy;->onWriteFinished([Landroid/print/PageRange;I)V
-Landroid/print/IWriteResultCallback$Stub$Proxy;->onWriteStarted(Landroid/os/ICancellationSignal;I)V
-Landroid/print/IWriteResultCallback$Stub;
-Landroid/print/IWriteResultCallback$Stub;-><init>()V
-Landroid/print/IWriteResultCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/print/IWriteResultCallback;
-Landroid/print/IWriteResultCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/print/IWriteResultCallback$Stub;->TRANSACTION_onWriteCanceled:I
-Landroid/print/IWriteResultCallback$Stub;->TRANSACTION_onWriteFailed:I
-Landroid/print/IWriteResultCallback$Stub;->TRANSACTION_onWriteFinished:I
-Landroid/print/IWriteResultCallback$Stub;->TRANSACTION_onWriteStarted:I
-Landroid/print/IWriteResultCallback;
-Landroid/print/IWriteResultCallback;->onWriteCanceled(I)V
-Landroid/print/IWriteResultCallback;->onWriteFailed(Ljava/lang/CharSequence;I)V
-Landroid/print/IWriteResultCallback;->onWriteFinished([Landroid/print/PageRange;I)V
-Landroid/print/IWriteResultCallback;->onWriteStarted(Landroid/os/ICancellationSignal;I)V
-Landroid/print/PageRange;-><init>(Landroid/os/Parcel;)V
-Landroid/print/PageRange;->ALL_PAGES_ARRAY:[Landroid/print/PageRange;
-Landroid/print/PageRange;->contains(I)Z
-Landroid/print/PageRange;->getSize()I
-Landroid/print/PageRange;->mEnd:I
-Landroid/print/PageRange;->mStart:I
-Landroid/print/pdf/PrintedPdfDocument;->mContentRect:Landroid/graphics/Rect;
-Landroid/print/pdf/PrintedPdfDocument;->MILS_PER_INCH:I
-Landroid/print/pdf/PrintedPdfDocument;->mPageHeight:I
-Landroid/print/pdf/PrintedPdfDocument;->mPageWidth:I
-Landroid/print/pdf/PrintedPdfDocument;->POINTS_IN_INCH:I
-Landroid/print/PrintAttributes$Builder;->mAttributes:Landroid/print/PrintAttributes;
-Landroid/print/PrintAttributes$ColorMode;
-Landroid/print/PrintAttributes$DuplexMode;
-Landroid/print/PrintAttributes$Margins;->createFromParcel(Landroid/os/Parcel;)Landroid/print/PrintAttributes$Margins;
-Landroid/print/PrintAttributes$Margins;->mBottomMils:I
-Landroid/print/PrintAttributes$Margins;->mLeftMils:I
-Landroid/print/PrintAttributes$Margins;->mRightMils:I
-Landroid/print/PrintAttributes$Margins;->mTopMils:I
-Landroid/print/PrintAttributes$Margins;->writeToParcel(Landroid/os/Parcel;)V
-Landroid/print/PrintAttributes$MediaSize;-><init>(Ljava/lang/String;Ljava/lang/String;III)V
-Landroid/print/PrintAttributes$MediaSize;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;III)V
-Landroid/print/PrintAttributes$MediaSize;->createFromParcel(Landroid/os/Parcel;)Landroid/print/PrintAttributes$MediaSize;
-Landroid/print/PrintAttributes$MediaSize;->getAllPredefinedSizes()Landroid/util/ArraySet;
-Landroid/print/PrintAttributes$MediaSize;->getStandardMediaSizeById(Ljava/lang/String;)Landroid/print/PrintAttributes$MediaSize;
-Landroid/print/PrintAttributes$MediaSize;->LOG_TAG:Ljava/lang/String;
-Landroid/print/PrintAttributes$MediaSize;->mHeightMils:I
-Landroid/print/PrintAttributes$MediaSize;->mId:Ljava/lang/String;
-Landroid/print/PrintAttributes$MediaSize;->mLabel:Ljava/lang/String;
-Landroid/print/PrintAttributes$MediaSize;->mLabelResId:I
-Landroid/print/PrintAttributes$MediaSize;->mPackageName:Ljava/lang/String;
-Landroid/print/PrintAttributes$MediaSize;->mWidthMils:I
-Landroid/print/PrintAttributes$MediaSize;->sIdToMediaSizeMap:Ljava/util/Map;
-Landroid/print/PrintAttributes$MediaSize;->writeToParcel(Landroid/os/Parcel;)V
-Landroid/print/PrintAttributes$Resolution;->createFromParcel(Landroid/os/Parcel;)Landroid/print/PrintAttributes$Resolution;
-Landroid/print/PrintAttributes$Resolution;->mHorizontalDpi:I
-Landroid/print/PrintAttributes$Resolution;->mId:Ljava/lang/String;
-Landroid/print/PrintAttributes$Resolution;->mLabel:Ljava/lang/String;
-Landroid/print/PrintAttributes$Resolution;->mVerticalDpi:I
-Landroid/print/PrintAttributes$Resolution;->writeToParcel(Landroid/os/Parcel;)V
-Landroid/print/PrintAttributes;-><init>()V
-Landroid/print/PrintAttributes;-><init>(Landroid/os/Parcel;)V
-Landroid/print/PrintAttributes;->asLandscape()Landroid/print/PrintAttributes;
-Landroid/print/PrintAttributes;->asPortrait()Landroid/print/PrintAttributes;
-Landroid/print/PrintAttributes;->clear()V
-Landroid/print/PrintAttributes;->colorModeToString(I)Ljava/lang/String;
-Landroid/print/PrintAttributes;->copyFrom(Landroid/print/PrintAttributes;)V
-Landroid/print/PrintAttributes;->duplexModeToString(I)Ljava/lang/String;
-Landroid/print/PrintAttributes;->enforceValidColorMode(I)V
-Landroid/print/PrintAttributes;->enforceValidDuplexMode(I)V
-Landroid/print/PrintAttributes;->isPortrait()Z
-Landroid/print/PrintAttributes;->mColorMode:I
-Landroid/print/PrintAttributes;->mDuplexMode:I
-Landroid/print/PrintAttributes;->mMediaSize:Landroid/print/PrintAttributes$MediaSize;
-Landroid/print/PrintAttributes;->mMinMargins:Landroid/print/PrintAttributes$Margins;
-Landroid/print/PrintAttributes;->mResolution:Landroid/print/PrintAttributes$Resolution;
-Landroid/print/PrintAttributes;->setColorMode(I)V
-Landroid/print/PrintAttributes;->setDuplexMode(I)V
-Landroid/print/PrintAttributes;->setMediaSize(Landroid/print/PrintAttributes$MediaSize;)V
-Landroid/print/PrintAttributes;->setMinMargins(Landroid/print/PrintAttributes$Margins;)V
-Landroid/print/PrintAttributes;->setResolution(Landroid/print/PrintAttributes$Resolution;)V
-Landroid/print/PrintAttributes;->VALID_COLOR_MODES:I
-Landroid/print/PrintAttributes;->VALID_DUPLEX_MODES:I
-Landroid/print/PrintDocumentInfo$Builder;->mPrototype:Landroid/print/PrintDocumentInfo;
-Landroid/print/PrintDocumentInfo$ContentType;
-Landroid/print/PrintDocumentInfo;-><init>()V
-Landroid/print/PrintDocumentInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/print/PrintDocumentInfo;-><init>(Landroid/print/PrintDocumentInfo;)V
-Landroid/print/PrintDocumentInfo;->contentTypeToString(I)Ljava/lang/String;
-Landroid/print/PrintDocumentInfo;->mContentType:I
-Landroid/print/PrintDocumentInfo;->mDataSize:J
-Landroid/print/PrintDocumentInfo;->mName:Ljava/lang/String;
-Landroid/print/PrintDocumentInfo;->mPageCount:I
-Landroid/print/PrintDocumentInfo;->setDataSize(J)V
-Landroid/print/PrinterCapabilitiesInfo$Builder;->mPrototype:Landroid/print/PrinterCapabilitiesInfo;
-Landroid/print/PrinterCapabilitiesInfo$Builder;->throwIfDefaultAlreadySpecified(I)V
-Landroid/print/PrinterCapabilitiesInfo;-><init>()V
-Landroid/print/PrinterCapabilitiesInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/print/PrinterCapabilitiesInfo;-><init>(Landroid/print/PrinterCapabilitiesInfo;)V
-Landroid/print/PrinterCapabilitiesInfo;->colorModesToString()Ljava/lang/String;
-Landroid/print/PrinterCapabilitiesInfo;->copyFrom(Landroid/print/PrinterCapabilitiesInfo;)V
-Landroid/print/PrinterCapabilitiesInfo;->DEFAULT_MARGINS:Landroid/print/PrintAttributes$Margins;
-Landroid/print/PrinterCapabilitiesInfo;->DEFAULT_UNDEFINED:I
-Landroid/print/PrinterCapabilitiesInfo;->duplexModesToString()Ljava/lang/String;
-Landroid/print/PrinterCapabilitiesInfo;->enforceValidMask(ILjava/util/function/IntConsumer;)V
-Landroid/print/PrinterCapabilitiesInfo;->mColorModes:I
-Landroid/print/PrinterCapabilitiesInfo;->mDefaults:[I
-Landroid/print/PrinterCapabilitiesInfo;->mDuplexModes:I
-Landroid/print/PrinterCapabilitiesInfo;->mMediaSizes:Ljava/util/List;
-Landroid/print/PrinterCapabilitiesInfo;->mMinMargins:Landroid/print/PrintAttributes$Margins;
-Landroid/print/PrinterCapabilitiesInfo;->mResolutions:Ljava/util/List;
-Landroid/print/PrinterCapabilitiesInfo;->PROPERTY_COLOR_MODE:I
-Landroid/print/PrinterCapabilitiesInfo;->PROPERTY_COUNT:I
-Landroid/print/PrinterCapabilitiesInfo;->PROPERTY_DUPLEX_MODE:I
-Landroid/print/PrinterCapabilitiesInfo;->PROPERTY_MEDIA_SIZE:I
-Landroid/print/PrinterCapabilitiesInfo;->PROPERTY_RESOLUTION:I
-Landroid/print/PrinterCapabilitiesInfo;->readDefaults(Landroid/os/Parcel;)V
-Landroid/print/PrinterCapabilitiesInfo;->readMargins(Landroid/os/Parcel;)Landroid/print/PrintAttributes$Margins;
-Landroid/print/PrinterCapabilitiesInfo;->readMediaSizes(Landroid/os/Parcel;)V
-Landroid/print/PrinterCapabilitiesInfo;->readResolutions(Landroid/os/Parcel;)V
-Landroid/print/PrinterCapabilitiesInfo;->writeDefaults(Landroid/os/Parcel;)V
-Landroid/print/PrinterCapabilitiesInfo;->writeMargins(Landroid/print/PrintAttributes$Margins;Landroid/os/Parcel;)V
-Landroid/print/PrinterCapabilitiesInfo;->writeMediaSizes(Landroid/os/Parcel;)V
-Landroid/print/PrinterCapabilitiesInfo;->writeResolutions(Landroid/os/Parcel;)V
-Landroid/print/PrinterDiscoverySession$OnPrintersChangeListener;
-Landroid/print/PrinterDiscoverySession$OnPrintersChangeListener;->onPrintersChanged()V
-Landroid/print/PrinterDiscoverySession$PrinterDiscoveryObserver;
-Landroid/print/PrinterDiscoverySession$PrinterDiscoveryObserver;-><init>(Landroid/print/PrinterDiscoverySession;)V
-Landroid/print/PrinterDiscoverySession$PrinterDiscoveryObserver;->mWeakSession:Ljava/lang/ref/WeakReference;
-Landroid/print/PrinterDiscoverySession$PrinterDiscoveryObserver;->onPrintersAdded(Landroid/content/pm/ParceledListSlice;)V
-Landroid/print/PrinterDiscoverySession$PrinterDiscoveryObserver;->onPrintersRemoved(Landroid/content/pm/ParceledListSlice;)V
-Landroid/print/PrinterDiscoverySession$SessionHandler;
-Landroid/print/PrinterDiscoverySession$SessionHandler;-><init>(Landroid/os/Looper;)V
-Landroid/print/PrinterDiscoverySession;
-Landroid/print/PrinterDiscoverySession;-><init>(Landroid/print/IPrintManager;Landroid/content/Context;I)V
-Landroid/print/PrinterDiscoverySession;->destroy()V
-Landroid/print/PrinterDiscoverySession;->destroyNoCheck()V
-Landroid/print/PrinterDiscoverySession;->getPrinters()Ljava/util/List;
-Landroid/print/PrinterDiscoverySession;->handlePrintersAdded(Ljava/util/List;)V
-Landroid/print/PrinterDiscoverySession;->handlePrintersRemoved(Ljava/util/List;)V
-Landroid/print/PrinterDiscoverySession;->isDestroyed()Z
-Landroid/print/PrinterDiscoverySession;->isDestroyedNoCheck()Z
-Landroid/print/PrinterDiscoverySession;->isPrinterDiscoveryStarted()Z
-Landroid/print/PrinterDiscoverySession;->LOG_TAG:Ljava/lang/String;
-Landroid/print/PrinterDiscoverySession;->mHandler:Landroid/os/Handler;
-Landroid/print/PrinterDiscoverySession;->mIsPrinterDiscoveryStarted:Z
-Landroid/print/PrinterDiscoverySession;->mListener:Landroid/print/PrinterDiscoverySession$OnPrintersChangeListener;
-Landroid/print/PrinterDiscoverySession;->mObserver:Landroid/print/IPrinterDiscoveryObserver;
-Landroid/print/PrinterDiscoverySession;->mPrinters:Ljava/util/LinkedHashMap;
-Landroid/print/PrinterDiscoverySession;->mPrintManager:Landroid/print/IPrintManager;
-Landroid/print/PrinterDiscoverySession;->MSG_PRINTERS_ADDED:I
-Landroid/print/PrinterDiscoverySession;->MSG_PRINTERS_REMOVED:I
-Landroid/print/PrinterDiscoverySession;->mUserId:I
-Landroid/print/PrinterDiscoverySession;->notifyOnPrintersChanged()V
-Landroid/print/PrinterDiscoverySession;->setOnPrintersChangeListener(Landroid/print/PrinterDiscoverySession$OnPrintersChangeListener;)V
-Landroid/print/PrinterDiscoverySession;->startPrinterDiscovery(Ljava/util/List;)V
-Landroid/print/PrinterDiscoverySession;->startPrinterStateTracking(Landroid/print/PrinterId;)V
-Landroid/print/PrinterDiscoverySession;->stopPrinterDiscovery()V
-Landroid/print/PrinterDiscoverySession;->stopPrinterStateTracking(Landroid/print/PrinterId;)V
-Landroid/print/PrinterDiscoverySession;->throwIfNotCalledOnMainThread()V
-Landroid/print/PrinterDiscoverySession;->validatePrinters(Ljava/util/List;)V
-Landroid/print/PrinterId;-><init>(Landroid/content/ComponentName;Ljava/lang/String;)V
-Landroid/print/PrinterId;-><init>(Landroid/os/Parcel;)V
-Landroid/print/PrinterId;->mLocalId:Ljava/lang/String;
-Landroid/print/PrinterId;->mServiceName:Landroid/content/ComponentName;
-Landroid/print/PrinterInfo$Builder;->incCustomPrinterIconGen()Landroid/print/PrinterInfo$Builder;
-Landroid/print/PrinterInfo$Builder;->mCapabilities:Landroid/print/PrinterCapabilitiesInfo;
-Landroid/print/PrinterInfo$Builder;->mCustomPrinterIconGen:I
-Landroid/print/PrinterInfo$Builder;->mDescription:Ljava/lang/String;
-Landroid/print/PrinterInfo$Builder;->mHasCustomPrinterIcon:Z
-Landroid/print/PrinterInfo$Builder;->mIconResourceId:I
-Landroid/print/PrinterInfo$Builder;->mInfoIntent:Landroid/app/PendingIntent;
-Landroid/print/PrinterInfo$Builder;->mName:Ljava/lang/String;
-Landroid/print/PrinterInfo$Builder;->mPrinterId:Landroid/print/PrinterId;
-Landroid/print/PrinterInfo$Builder;->mStatus:I
-Landroid/print/PrinterInfo$Status;
-Landroid/print/PrinterInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/print/PrinterInfo;-><init>(Landroid/print/PrinterId;Ljava/lang/String;IIZLjava/lang/String;Landroid/app/PendingIntent;Landroid/print/PrinterCapabilitiesInfo;I)V
-Landroid/print/PrinterInfo;->checkName(Ljava/lang/String;)Ljava/lang/String;
-Landroid/print/PrinterInfo;->checkPrinterId(Landroid/print/PrinterId;)Landroid/print/PrinterId;
-Landroid/print/PrinterInfo;->checkStatus(I)I
-Landroid/print/PrinterInfo;->equalsIgnoringStatus(Landroid/print/PrinterInfo;)Z
-Landroid/print/PrinterInfo;->getHasCustomPrinterIcon()Z
-Landroid/print/PrinterInfo;->getInfoIntent()Landroid/app/PendingIntent;
-Landroid/print/PrinterInfo;->mCapabilities:Landroid/print/PrinterCapabilitiesInfo;
-Landroid/print/PrinterInfo;->mCustomPrinterIconGen:I
-Landroid/print/PrinterInfo;->mDescription:Ljava/lang/String;
-Landroid/print/PrinterInfo;->mHasCustomPrinterIcon:Z
-Landroid/print/PrinterInfo;->mIconResourceId:I
-Landroid/print/PrinterInfo;->mId:Landroid/print/PrinterId;
-Landroid/print/PrinterInfo;->mInfoIntent:Landroid/app/PendingIntent;
-Landroid/print/PrinterInfo;->mName:Ljava/lang/String;
-Landroid/print/PrinterInfo;->mStatus:I
-Landroid/print/PrintFileDocumentAdapter$WriteFileAsyncTask;
-Landroid/print/PrintFileDocumentAdapter$WriteFileAsyncTask;-><init>(Landroid/os/ParcelFileDescriptor;Landroid/os/CancellationSignal;Landroid/print/PrintDocumentAdapter$WriteResultCallback;)V
-Landroid/print/PrintFileDocumentAdapter$WriteFileAsyncTask;->doInBackground([[Ljava/lang/Void;)Ljava/lang/Void;
-Landroid/print/PrintFileDocumentAdapter$WriteFileAsyncTask;->mCancellationSignal:Landroid/os/CancellationSignal;
-Landroid/print/PrintFileDocumentAdapter$WriteFileAsyncTask;->mDestination:Landroid/os/ParcelFileDescriptor;
-Landroid/print/PrintFileDocumentAdapter$WriteFileAsyncTask;->mResultCallback:Landroid/print/PrintDocumentAdapter$WriteResultCallback;
-Landroid/print/PrintFileDocumentAdapter$WriteFileAsyncTask;->onCancelled(Ljava/lang/Void;)V
-Landroid/print/PrintFileDocumentAdapter$WriteFileAsyncTask;->onPostExecute(Ljava/lang/Void;)V
-Landroid/print/PrintFileDocumentAdapter;
-Landroid/print/PrintFileDocumentAdapter;-><init>(Landroid/content/Context;Ljava/io/File;Landroid/print/PrintDocumentInfo;)V
-Landroid/print/PrintFileDocumentAdapter;->LOG_TAG:Ljava/lang/String;
-Landroid/print/PrintFileDocumentAdapter;->mContext:Landroid/content/Context;
-Landroid/print/PrintFileDocumentAdapter;->mDocumentInfo:Landroid/print/PrintDocumentInfo;
-Landroid/print/PrintFileDocumentAdapter;->mFile:Ljava/io/File;
-Landroid/print/PrintFileDocumentAdapter;->mWriteFileAsyncTask:Landroid/print/PrintFileDocumentAdapter$WriteFileAsyncTask;
-Landroid/print/PrintJob;-><init>(Landroid/print/PrintJobInfo;Landroid/print/PrintManager;)V
-Landroid/print/PrintJob;->isInImmutableState()Z
-Landroid/print/PrintJob;->mCachedInfo:Landroid/print/PrintJobInfo;
-Landroid/print/PrintJob;->mPrintManager:Landroid/print/PrintManager;
-Landroid/print/PrintJobId;-><init>()V
-Landroid/print/PrintJobId;-><init>(Ljava/lang/String;)V
-Landroid/print/PrintJobId;->flattenToString()Ljava/lang/String;
-Landroid/print/PrintJobId;->mValue:Ljava/lang/String;
-Landroid/print/PrintJobId;->unflattenFromString(Ljava/lang/String;)Landroid/print/PrintJobId;
-Landroid/print/PrintJobInfo$Builder;->mPrototype:Landroid/print/PrintJobInfo;
-Landroid/print/PrintJobInfo$Builder;->setProgress(F)V
-Landroid/print/PrintJobInfo$Builder;->setStatus(Ljava/lang/CharSequence;)V
-Landroid/print/PrintJobInfo$State;
-Landroid/print/PrintJobInfo;-><init>()V
-Landroid/print/PrintJobInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/print/PrintJobInfo;-><init>(Landroid/print/PrintJobInfo;)V
-Landroid/print/PrintJobInfo;->getAppId()I
-Landroid/print/PrintJobInfo;->getPrinterName()Ljava/lang/String;
-Landroid/print/PrintJobInfo;->getTag()Ljava/lang/String;
-Landroid/print/PrintJobInfo;->isCancelling()Z
-Landroid/print/PrintJobInfo;->mAdvancedOptions:Landroid/os/Bundle;
-Landroid/print/PrintJobInfo;->mAppId:I
-Landroid/print/PrintJobInfo;->mAttributes:Landroid/print/PrintAttributes;
-Landroid/print/PrintJobInfo;->mCanceling:Z
-Landroid/print/PrintJobInfo;->mCopies:I
-Landroid/print/PrintJobInfo;->mCreationTime:J
-Landroid/print/PrintJobInfo;->mDocumentInfo:Landroid/print/PrintDocumentInfo;
-Landroid/print/PrintJobInfo;->mId:Landroid/print/PrintJobId;
-Landroid/print/PrintJobInfo;->mLabel:Ljava/lang/String;
-Landroid/print/PrintJobInfo;->mPageRanges:[Landroid/print/PageRange;
-Landroid/print/PrintJobInfo;->mPrinterId:Landroid/print/PrinterId;
-Landroid/print/PrintJobInfo;->mPrinterName:Ljava/lang/String;
-Landroid/print/PrintJobInfo;->mProgress:F
-Landroid/print/PrintJobInfo;->mState:I
-Landroid/print/PrintJobInfo;->mStatus:Ljava/lang/CharSequence;
-Landroid/print/PrintJobInfo;->mStatusRes:I
-Landroid/print/PrintJobInfo;->mStatusResAppPackageName:Ljava/lang/CharSequence;
-Landroid/print/PrintJobInfo;->mTag:Ljava/lang/String;
-Landroid/print/PrintJobInfo;->setAdvancedOptions(Landroid/os/Bundle;)V
-Landroid/print/PrintJobInfo;->setAppId(I)V
-Landroid/print/PrintJobInfo;->setAttributes(Landroid/print/PrintAttributes;)V
-Landroid/print/PrintJobInfo;->setCancelling(Z)V
-Landroid/print/PrintJobInfo;->setCopies(I)V
-Landroid/print/PrintJobInfo;->setCreationTime(J)V
-Landroid/print/PrintJobInfo;->setDocumentInfo(Landroid/print/PrintDocumentInfo;)V
-Landroid/print/PrintJobInfo;->setId(Landroid/print/PrintJobId;)V
-Landroid/print/PrintJobInfo;->setLabel(Ljava/lang/String;)V
-Landroid/print/PrintJobInfo;->setPages([Landroid/print/PageRange;)V
-Landroid/print/PrintJobInfo;->setPrinterId(Landroid/print/PrinterId;)V
-Landroid/print/PrintJobInfo;->setPrinterName(Ljava/lang/String;)V
-Landroid/print/PrintJobInfo;->setProgress(F)V
-Landroid/print/PrintJobInfo;->setState(I)V
-Landroid/print/PrintJobInfo;->setStatus(ILjava/lang/CharSequence;)V
-Landroid/print/PrintJobInfo;->setStatus(Ljava/lang/CharSequence;)V
-Landroid/print/PrintJobInfo;->setTag(Ljava/lang/String;)V
-Landroid/print/PrintJobInfo;->stateToString(I)Ljava/lang/String;
-Landroid/print/PrintJobInfo;->STATE_ANY:I
-Landroid/print/PrintJobInfo;->STATE_ANY_ACTIVE:I
-Landroid/print/PrintJobInfo;->STATE_ANY_SCHEDULED:I
-Landroid/print/PrintJobInfo;->STATE_ANY_VISIBLE_TO_CLIENTS:I
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate$DestroyableCallback;
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate$DestroyableCallback;->destroy()V
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate$MyHandler;
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate$MyHandler;-><init>(Landroid/os/Looper;)V
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate$MyHandler;->MSG_ON_FINISH:I
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate$MyHandler;->MSG_ON_KILL:I
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate$MyHandler;->MSG_ON_LAYOUT:I
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate$MyHandler;->MSG_ON_START:I
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate$MyHandler;->MSG_ON_WRITE:I
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate$MyLayoutResultCallback;
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate$MyLayoutResultCallback;-><init>(Landroid/print/ILayoutResultCallback;I)V
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate$MyLayoutResultCallback;->destroy()V
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate$MyLayoutResultCallback;->mCallback:Landroid/print/ILayoutResultCallback;
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate$MyLayoutResultCallback;->mSequence:I
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate$MyWriteResultCallback;
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate$MyWriteResultCallback;-><init>(Landroid/print/IWriteResultCallback;Landroid/os/ParcelFileDescriptor;I)V
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate$MyWriteResultCallback;->destroy()V
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate$MyWriteResultCallback;->mCallback:Landroid/print/IWriteResultCallback;
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate$MyWriteResultCallback;->mFd:Landroid/os/ParcelFileDescriptor;
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate$MyWriteResultCallback;->mSequence:I
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate;
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate;-><init>(Landroid/app/Activity;Landroid/print/PrintDocumentAdapter;)V
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate;->destroyLocked()V
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate;->finish()V
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate;->isDestroyedLocked()Z
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate;->kill(Ljava/lang/String;)V
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate;->layout(Landroid/print/PrintAttributes;Landroid/print/PrintAttributes;Landroid/print/ILayoutResultCallback;Landroid/os/Bundle;I)V
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate;->mActivity:Landroid/app/Activity;
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate;->mDocumentAdapter:Landroid/print/PrintDocumentAdapter;
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate;->mHandler:Landroid/os/Handler;
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate;->mLock:Ljava/lang/Object;
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate;->mObserver:Landroid/print/IPrintDocumentAdapterObserver;
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate;->mPendingCallback:Landroid/print/PrintManager$PrintDocumentAdapterDelegate$DestroyableCallback;
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate;->setObserver(Landroid/print/IPrintDocumentAdapterObserver;)V
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate;->start()V
-Landroid/print/PrintManager$PrintDocumentAdapterDelegate;->write([Landroid/print/PageRange;Landroid/os/ParcelFileDescriptor;Landroid/print/IWriteResultCallback;I)V
-Landroid/print/PrintManager$PrintJobStateChangeListener;
-Landroid/print/PrintManager$PrintJobStateChangeListener;->onPrintJobStateChanged(Landroid/print/PrintJobId;)V
-Landroid/print/PrintManager$PrintJobStateChangeListenerWrapper;
-Landroid/print/PrintManager$PrintJobStateChangeListenerWrapper;-><init>(Landroid/print/PrintManager$PrintJobStateChangeListener;Landroid/os/Handler;)V
-Landroid/print/PrintManager$PrintJobStateChangeListenerWrapper;->destroy()V
-Landroid/print/PrintManager$PrintJobStateChangeListenerWrapper;->getListener()Landroid/print/PrintManager$PrintJobStateChangeListener;
-Landroid/print/PrintManager$PrintJobStateChangeListenerWrapper;->mWeakHandler:Ljava/lang/ref/WeakReference;
-Landroid/print/PrintManager$PrintJobStateChangeListenerWrapper;->mWeakListener:Ljava/lang/ref/WeakReference;
-Landroid/print/PrintManager$PrintJobStateChangeListenerWrapper;->onPrintJobStateChanged(Landroid/print/PrintJobId;)V
-Landroid/print/PrintManager$PrintServiceRecommendationsChangeListenerWrapper;
-Landroid/print/PrintManager$PrintServiceRecommendationsChangeListenerWrapper;-><init>(Landroid/print/PrintManager$PrintServiceRecommendationsChangeListener;Landroid/os/Handler;)V
-Landroid/print/PrintManager$PrintServiceRecommendationsChangeListenerWrapper;->destroy()V
-Landroid/print/PrintManager$PrintServiceRecommendationsChangeListenerWrapper;->mWeakHandler:Ljava/lang/ref/WeakReference;
-Landroid/print/PrintManager$PrintServiceRecommendationsChangeListenerWrapper;->mWeakListener:Ljava/lang/ref/WeakReference;
-Landroid/print/PrintManager$PrintServiceRecommendationsChangeListenerWrapper;->onRecommendationsChanged()V
-Landroid/print/PrintManager$PrintServicesChangeListenerWrapper;
-Landroid/print/PrintManager$PrintServicesChangeListenerWrapper;-><init>(Landroid/print/PrintManager$PrintServicesChangeListener;Landroid/os/Handler;)V
-Landroid/print/PrintManager$PrintServicesChangeListenerWrapper;->destroy()V
-Landroid/print/PrintManager$PrintServicesChangeListenerWrapper;->mWeakHandler:Ljava/lang/ref/WeakReference;
-Landroid/print/PrintManager$PrintServicesChangeListenerWrapper;->mWeakListener:Ljava/lang/ref/WeakReference;
-Landroid/print/PrintManager$PrintServicesChangeListenerWrapper;->onPrintServicesChanged()V
-Landroid/print/PrintManager;-><init>(Landroid/content/Context;Landroid/print/IPrintManager;II)V
-Landroid/print/PrintManager;->ACTION_PRINT_DIALOG:Ljava/lang/String;
-Landroid/print/PrintManager;->ALL_SERVICES:I
-Landroid/print/PrintManager;->APP_ID_ANY:I
-Landroid/print/PrintManager;->cancelPrintJob(Landroid/print/PrintJobId;)V
-Landroid/print/PrintManager;->createPrinterDiscoverySession()Landroid/print/PrinterDiscoverySession;
-Landroid/print/PrintManager;->DEBUG:Z
-Landroid/print/PrintManager;->DISABLED_SERVICES:I
-Landroid/print/PrintManager;->EXTRA_PRINT_DIALOG_INTENT:Ljava/lang/String;
-Landroid/print/PrintManager;->EXTRA_PRINT_DOCUMENT_ADAPTER:Ljava/lang/String;
-Landroid/print/PrintManager;->EXTRA_PRINT_JOB:Ljava/lang/String;
-Landroid/print/PrintManager;->getCustomPrinterIcon(Landroid/print/PrinterId;)Landroid/graphics/drawable/Icon;
-Landroid/print/PrintManager;->getGlobalPrintManagerForUser(I)Landroid/print/PrintManager;
-Landroid/print/PrintManager;->getPrintJob(Landroid/print/PrintJobId;)Landroid/print/PrintJob;
-Landroid/print/PrintManager;->getPrintJobInfo(Landroid/print/PrintJobId;)Landroid/print/PrintJobInfo;
-Landroid/print/PrintManager;->LOG_TAG:Ljava/lang/String;
-Landroid/print/PrintManager;->mAppId:I
-Landroid/print/PrintManager;->mContext:Landroid/content/Context;
-Landroid/print/PrintManager;->mHandler:Landroid/os/Handler;
-Landroid/print/PrintManager;->mPrintJobStateChangeListeners:Ljava/util/Map;
-Landroid/print/PrintManager;->mPrintServiceRecommendationsChangeListeners:Ljava/util/Map;
-Landroid/print/PrintManager;->mPrintServicesChangeListeners:Ljava/util/Map;
-Landroid/print/PrintManager;->mService:Landroid/print/IPrintManager;
-Landroid/print/PrintManager;->MSG_NOTIFY_PRINT_JOB_STATE_CHANGED:I
-Landroid/print/PrintManager;->mUserId:I
-Landroid/print/PrintManager;->PRINT_SPOOLER_PACKAGE_NAME:Ljava/lang/String;
-Landroid/print/PrintManager;->removePrintJobStateChangeListener(Landroid/print/PrintManager$PrintJobStateChangeListener;)V
-Landroid/print/PrintManager;->restartPrintJob(Landroid/print/PrintJobId;)V
-Landroid/print/PrintManager;->setPrintServiceEnabled(Landroid/content/ComponentName;Z)V
-Landroid/print/PrintServiceRecommendationsLoader$MyHandler;
-Landroid/print/PrintServiceRecommendationsLoader$MyHandler;-><init>()V
-Landroid/print/PrintServiceRecommendationsLoader;
-Landroid/print/PrintServiceRecommendationsLoader;-><init>(Landroid/print/PrintManager;Landroid/content/Context;)V
-Landroid/print/PrintServiceRecommendationsLoader;->mHandler:Landroid/os/Handler;
-Landroid/print/PrintServiceRecommendationsLoader;->mListener:Landroid/print/PrintManager$PrintServiceRecommendationsChangeListener;
-Landroid/print/PrintServiceRecommendationsLoader;->mPrintManager:Landroid/print/PrintManager;
-Landroid/print/PrintServiceRecommendationsLoader;->queueNewResult()V
-Landroid/print/PrintServicesLoader$MyHandler;
-Landroid/print/PrintServicesLoader$MyHandler;-><init>()V
-Landroid/print/PrintServicesLoader;
-Landroid/print/PrintServicesLoader;-><init>(Landroid/print/PrintManager;Landroid/content/Context;I)V
-Landroid/print/PrintServicesLoader;->mHandler:Landroid/os/Handler;
-Landroid/print/PrintServicesLoader;->mListener:Landroid/print/PrintManager$PrintServicesChangeListener;
-Landroid/print/PrintServicesLoader;->mPrintManager:Landroid/print/PrintManager;
-Landroid/print/PrintServicesLoader;->mSelectionFlags:I
-Landroid/print/PrintServicesLoader;->queueNewResult()V
-Landroid/printservice/CustomPrinterIconCallback;-><init>(Landroid/print/PrinterId;Landroid/printservice/IPrintServiceClient;)V
-Landroid/printservice/CustomPrinterIconCallback;->LOG_TAG:Ljava/lang/String;
-Landroid/printservice/CustomPrinterIconCallback;->mObserver:Landroid/printservice/IPrintServiceClient;
-Landroid/printservice/CustomPrinterIconCallback;->mPrinterId:Landroid/print/PrinterId;
-Landroid/printservice/IPrintService$Stub$Proxy;
-Landroid/printservice/IPrintService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/printservice/IPrintService$Stub$Proxy;->createPrinterDiscoverySession()V
-Landroid/printservice/IPrintService$Stub$Proxy;->destroyPrinterDiscoverySession()V
-Landroid/printservice/IPrintService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/printservice/IPrintService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/printservice/IPrintService$Stub$Proxy;->onPrintJobQueued(Landroid/print/PrintJobInfo;)V
-Landroid/printservice/IPrintService$Stub$Proxy;->requestCancelPrintJob(Landroid/print/PrintJobInfo;)V
-Landroid/printservice/IPrintService$Stub$Proxy;->requestCustomPrinterIcon(Landroid/print/PrinterId;)V
-Landroid/printservice/IPrintService$Stub$Proxy;->setClient(Landroid/printservice/IPrintServiceClient;)V
-Landroid/printservice/IPrintService$Stub$Proxy;->startPrinterDiscovery(Ljava/util/List;)V
-Landroid/printservice/IPrintService$Stub$Proxy;->startPrinterStateTracking(Landroid/print/PrinterId;)V
-Landroid/printservice/IPrintService$Stub$Proxy;->stopPrinterDiscovery()V
-Landroid/printservice/IPrintService$Stub$Proxy;->stopPrinterStateTracking(Landroid/print/PrinterId;)V
-Landroid/printservice/IPrintService$Stub$Proxy;->validatePrinters(Ljava/util/List;)V
-Landroid/printservice/IPrintService$Stub;
-Landroid/printservice/IPrintService$Stub;-><init>()V
-Landroid/printservice/IPrintService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/printservice/IPrintService;
-Landroid/printservice/IPrintService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/printservice/IPrintService$Stub;->TRANSACTION_createPrinterDiscoverySession:I
-Landroid/printservice/IPrintService$Stub;->TRANSACTION_destroyPrinterDiscoverySession:I
-Landroid/printservice/IPrintService$Stub;->TRANSACTION_onPrintJobQueued:I
-Landroid/printservice/IPrintService$Stub;->TRANSACTION_requestCancelPrintJob:I
-Landroid/printservice/IPrintService$Stub;->TRANSACTION_requestCustomPrinterIcon:I
-Landroid/printservice/IPrintService$Stub;->TRANSACTION_setClient:I
-Landroid/printservice/IPrintService$Stub;->TRANSACTION_startPrinterDiscovery:I
-Landroid/printservice/IPrintService$Stub;->TRANSACTION_startPrinterStateTracking:I
-Landroid/printservice/IPrintService$Stub;->TRANSACTION_stopPrinterDiscovery:I
-Landroid/printservice/IPrintService$Stub;->TRANSACTION_stopPrinterStateTracking:I
-Landroid/printservice/IPrintService$Stub;->TRANSACTION_validatePrinters:I
-Landroid/printservice/IPrintService;
-Landroid/printservice/IPrintService;->createPrinterDiscoverySession()V
-Landroid/printservice/IPrintService;->destroyPrinterDiscoverySession()V
-Landroid/printservice/IPrintService;->onPrintJobQueued(Landroid/print/PrintJobInfo;)V
-Landroid/printservice/IPrintService;->requestCancelPrintJob(Landroid/print/PrintJobInfo;)V
-Landroid/printservice/IPrintService;->requestCustomPrinterIcon(Landroid/print/PrinterId;)V
-Landroid/printservice/IPrintService;->setClient(Landroid/printservice/IPrintServiceClient;)V
-Landroid/printservice/IPrintService;->startPrinterDiscovery(Ljava/util/List;)V
-Landroid/printservice/IPrintService;->startPrinterStateTracking(Landroid/print/PrinterId;)V
-Landroid/printservice/IPrintService;->stopPrinterDiscovery()V
-Landroid/printservice/IPrintService;->stopPrinterStateTracking(Landroid/print/PrinterId;)V
-Landroid/printservice/IPrintService;->validatePrinters(Ljava/util/List;)V
-Landroid/printservice/IPrintServiceClient$Stub$Proxy;
-Landroid/printservice/IPrintServiceClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/printservice/IPrintServiceClient$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/printservice/IPrintServiceClient$Stub$Proxy;->getPrintJobInfo(Landroid/print/PrintJobId;)Landroid/print/PrintJobInfo;
-Landroid/printservice/IPrintServiceClient$Stub$Proxy;->getPrintJobInfos()Ljava/util/List;
-Landroid/printservice/IPrintServiceClient$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/printservice/IPrintServiceClient$Stub$Proxy;->onCustomPrinterIconLoaded(Landroid/print/PrinterId;Landroid/graphics/drawable/Icon;)V
-Landroid/printservice/IPrintServiceClient$Stub$Proxy;->onPrintersAdded(Landroid/content/pm/ParceledListSlice;)V
-Landroid/printservice/IPrintServiceClient$Stub$Proxy;->onPrintersRemoved(Landroid/content/pm/ParceledListSlice;)V
-Landroid/printservice/IPrintServiceClient$Stub$Proxy;->setPrintJobState(Landroid/print/PrintJobId;ILjava/lang/String;)Z
-Landroid/printservice/IPrintServiceClient$Stub$Proxy;->setPrintJobTag(Landroid/print/PrintJobId;Ljava/lang/String;)Z
-Landroid/printservice/IPrintServiceClient$Stub$Proxy;->setProgress(Landroid/print/PrintJobId;F)V
-Landroid/printservice/IPrintServiceClient$Stub$Proxy;->setStatus(Landroid/print/PrintJobId;Ljava/lang/CharSequence;)V
-Landroid/printservice/IPrintServiceClient$Stub$Proxy;->setStatusRes(Landroid/print/PrintJobId;ILjava/lang/CharSequence;)V
-Landroid/printservice/IPrintServiceClient$Stub$Proxy;->writePrintJobData(Landroid/os/ParcelFileDescriptor;Landroid/print/PrintJobId;)V
-Landroid/printservice/IPrintServiceClient$Stub;
-Landroid/printservice/IPrintServiceClient$Stub;-><init>()V
-Landroid/printservice/IPrintServiceClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/printservice/IPrintServiceClient;
-Landroid/printservice/IPrintServiceClient$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/printservice/IPrintServiceClient$Stub;->TRANSACTION_getPrintJobInfo:I
-Landroid/printservice/IPrintServiceClient$Stub;->TRANSACTION_getPrintJobInfos:I
-Landroid/printservice/IPrintServiceClient$Stub;->TRANSACTION_onCustomPrinterIconLoaded:I
-Landroid/printservice/IPrintServiceClient$Stub;->TRANSACTION_onPrintersAdded:I
-Landroid/printservice/IPrintServiceClient$Stub;->TRANSACTION_onPrintersRemoved:I
-Landroid/printservice/IPrintServiceClient$Stub;->TRANSACTION_setPrintJobState:I
-Landroid/printservice/IPrintServiceClient$Stub;->TRANSACTION_setPrintJobTag:I
-Landroid/printservice/IPrintServiceClient$Stub;->TRANSACTION_setProgress:I
-Landroid/printservice/IPrintServiceClient$Stub;->TRANSACTION_setStatus:I
-Landroid/printservice/IPrintServiceClient$Stub;->TRANSACTION_setStatusRes:I
-Landroid/printservice/IPrintServiceClient$Stub;->TRANSACTION_writePrintJobData:I
-Landroid/printservice/IPrintServiceClient;
-Landroid/printservice/IPrintServiceClient;->getPrintJobInfo(Landroid/print/PrintJobId;)Landroid/print/PrintJobInfo;
-Landroid/printservice/IPrintServiceClient;->getPrintJobInfos()Ljava/util/List;
-Landroid/printservice/IPrintServiceClient;->onCustomPrinterIconLoaded(Landroid/print/PrinterId;Landroid/graphics/drawable/Icon;)V
-Landroid/printservice/IPrintServiceClient;->onPrintersAdded(Landroid/content/pm/ParceledListSlice;)V
-Landroid/printservice/IPrintServiceClient;->onPrintersRemoved(Landroid/content/pm/ParceledListSlice;)V
-Landroid/printservice/IPrintServiceClient;->setPrintJobState(Landroid/print/PrintJobId;ILjava/lang/String;)Z
-Landroid/printservice/IPrintServiceClient;->setPrintJobTag(Landroid/print/PrintJobId;Ljava/lang/String;)Z
-Landroid/printservice/IPrintServiceClient;->setProgress(Landroid/print/PrintJobId;F)V
-Landroid/printservice/IPrintServiceClient;->setStatus(Landroid/print/PrintJobId;Ljava/lang/CharSequence;)V
-Landroid/printservice/IPrintServiceClient;->setStatusRes(Landroid/print/PrintJobId;ILjava/lang/CharSequence;)V
-Landroid/printservice/IPrintServiceClient;->writePrintJobData(Landroid/os/ParcelFileDescriptor;Landroid/print/PrintJobId;)V
-Landroid/printservice/PrintDocument;-><init>(Landroid/print/PrintJobId;Landroid/printservice/IPrintServiceClient;Landroid/print/PrintDocumentInfo;)V
-Landroid/printservice/PrintDocument;->LOG_TAG:Ljava/lang/String;
-Landroid/printservice/PrintDocument;->mInfo:Landroid/print/PrintDocumentInfo;
-Landroid/printservice/PrintDocument;->mPrintJobId:Landroid/print/PrintJobId;
-Landroid/printservice/PrintDocument;->mPrintServiceClient:Landroid/printservice/IPrintServiceClient;
-Landroid/printservice/PrinterDiscoverySession;->destroy()V
-Landroid/printservice/PrinterDiscoverySession;->getId()I
-Landroid/printservice/PrinterDiscoverySession;->LOG_TAG:Ljava/lang/String;
-Landroid/printservice/PrinterDiscoverySession;->mId:I
-Landroid/printservice/PrinterDiscoverySession;->mIsDestroyed:Z
-Landroid/printservice/PrinterDiscoverySession;->mIsDiscoveryStarted:Z
-Landroid/printservice/PrinterDiscoverySession;->mLastSentPrinters:Landroid/util/ArrayMap;
-Landroid/printservice/PrinterDiscoverySession;->mObserver:Landroid/printservice/IPrintServiceClient;
-Landroid/printservice/PrinterDiscoverySession;->mPrinters:Landroid/util/ArrayMap;
-Landroid/printservice/PrinterDiscoverySession;->mTrackedPrinters:Ljava/util/List;
-Landroid/printservice/PrinterDiscoverySession;->requestCustomPrinterIcon(Landroid/print/PrinterId;)V
-Landroid/printservice/PrinterDiscoverySession;->sendOutOfDiscoveryPeriodPrinterChanges()V
-Landroid/printservice/PrinterDiscoverySession;->setObserver(Landroid/printservice/IPrintServiceClient;)V
-Landroid/printservice/PrinterDiscoverySession;->sIdCounter:I
-Landroid/printservice/PrinterDiscoverySession;->startPrinterDiscovery(Ljava/util/List;)V
-Landroid/printservice/PrinterDiscoverySession;->startPrinterStateTracking(Landroid/print/PrinterId;)V
-Landroid/printservice/PrinterDiscoverySession;->stopPrinterDiscovery()V
-Landroid/printservice/PrinterDiscoverySession;->stopPrinterStateTracking(Landroid/print/PrinterId;)V
-Landroid/printservice/PrinterDiscoverySession;->validatePrinters(Ljava/util/List;)V
-Landroid/printservice/PrintJob;-><init>(Landroid/content/Context;Landroid/print/PrintJobInfo;Landroid/printservice/IPrintServiceClient;)V
-Landroid/printservice/PrintJob;->isInImmutableState()Z
-Landroid/printservice/PrintJob;->LOG_TAG:Ljava/lang/String;
-Landroid/printservice/PrintJob;->mCachedInfo:Landroid/print/PrintJobInfo;
-Landroid/printservice/PrintJob;->mContext:Landroid/content/Context;
-Landroid/printservice/PrintJob;->mDocument:Landroid/printservice/PrintDocument;
-Landroid/printservice/PrintJob;->mPrintServiceClient:Landroid/printservice/IPrintServiceClient;
-Landroid/printservice/PrintJob;->setState(ILjava/lang/String;)Z
-Landroid/printservice/PrintService$ServiceHandler;
-Landroid/printservice/PrintService$ServiceHandler;-><init>(Landroid/os/Looper;)V
-Landroid/printservice/PrintService$ServiceHandler;->MSG_CREATE_PRINTER_DISCOVERY_SESSION:I
-Landroid/printservice/PrintService$ServiceHandler;->MSG_DESTROY_PRINTER_DISCOVERY_SESSION:I
-Landroid/printservice/PrintService$ServiceHandler;->MSG_ON_PRINTJOB_QUEUED:I
-Landroid/printservice/PrintService$ServiceHandler;->MSG_ON_REQUEST_CANCEL_PRINTJOB:I
-Landroid/printservice/PrintService$ServiceHandler;->MSG_REQUEST_CUSTOM_PRINTER_ICON:I
-Landroid/printservice/PrintService$ServiceHandler;->MSG_SET_CLIENT:I
-Landroid/printservice/PrintService$ServiceHandler;->MSG_START_PRINTER_DISCOVERY:I
-Landroid/printservice/PrintService$ServiceHandler;->MSG_START_PRINTER_STATE_TRACKING:I
-Landroid/printservice/PrintService$ServiceHandler;->MSG_STOP_PRINTER_DISCOVERY:I
-Landroid/printservice/PrintService$ServiceHandler;->MSG_STOP_PRINTER_STATE_TRACKING:I
-Landroid/printservice/PrintService$ServiceHandler;->MSG_VALIDATE_PRINTERS:I
-Landroid/printservice/PrintService;->DEBUG:Z
-Landroid/printservice/PrintService;->LOG_TAG:Ljava/lang/String;
-Landroid/printservice/PrintService;->mClient:Landroid/printservice/IPrintServiceClient;
-Landroid/printservice/PrintService;->mDiscoverySession:Landroid/printservice/PrinterDiscoverySession;
-Landroid/printservice/PrintService;->mHandler:Landroid/os/Handler;
-Landroid/printservice/PrintService;->mLastSessionId:I
-Landroid/printservice/PrintService;->throwIfNotCalledOnMainThread()V
-Landroid/printservice/PrintServiceInfo;-><init>(Landroid/content/pm/ResolveInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/printservice/PrintServiceInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/printservice/PrintServiceInfo;->create(Landroid/content/Context;Landroid/content/pm/ResolveInfo;)Landroid/printservice/PrintServiceInfo;
-Landroid/printservice/PrintServiceInfo;->getAddPrintersActivityName()Ljava/lang/String;
-Landroid/printservice/PrintServiceInfo;->getAdvancedOptionsActivityName()Ljava/lang/String;
-Landroid/printservice/PrintServiceInfo;->getId()Ljava/lang/String;
-Landroid/printservice/PrintServiceInfo;->getResolveInfo()Landroid/content/pm/ResolveInfo;
-Landroid/printservice/PrintServiceInfo;->getSettingsActivityName()Ljava/lang/String;
-Landroid/printservice/PrintServiceInfo;->isEnabled()Z
-Landroid/printservice/PrintServiceInfo;->LOG_TAG:Ljava/lang/String;
-Landroid/printservice/PrintServiceInfo;->mAddPrintersActivityName:Ljava/lang/String;
-Landroid/printservice/PrintServiceInfo;->mAdvancedPrintOptionsActivityName:Ljava/lang/String;
-Landroid/printservice/PrintServiceInfo;->mId:Ljava/lang/String;
-Landroid/printservice/PrintServiceInfo;->mIsEnabled:Z
-Landroid/printservice/PrintServiceInfo;->mResolveInfo:Landroid/content/pm/ResolveInfo;
-Landroid/printservice/PrintServiceInfo;->mSettingsActivityName:Ljava/lang/String;
-Landroid/printservice/PrintServiceInfo;->setIsEnabled(Z)V
-Landroid/printservice/PrintServiceInfo;->TAG_PRINT_SERVICE:Ljava/lang/String;
-Landroid/printservice/recommendation/IRecommendationsChangeListener$Stub$Proxy;
-Landroid/printservice/recommendation/IRecommendationsChangeListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/printservice/recommendation/IRecommendationsChangeListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/printservice/recommendation/IRecommendationsChangeListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/printservice/recommendation/IRecommendationsChangeListener$Stub$Proxy;->onRecommendationsChanged()V
-Landroid/printservice/recommendation/IRecommendationsChangeListener$Stub;
-Landroid/printservice/recommendation/IRecommendationsChangeListener$Stub;-><init>()V
-Landroid/printservice/recommendation/IRecommendationsChangeListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/printservice/recommendation/IRecommendationsChangeListener;
-Landroid/printservice/recommendation/IRecommendationsChangeListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/printservice/recommendation/IRecommendationsChangeListener$Stub;->TRANSACTION_onRecommendationsChanged:I
-Landroid/printservice/recommendation/IRecommendationsChangeListener;
-Landroid/printservice/recommendation/IRecommendationsChangeListener;->onRecommendationsChanged()V
-Landroid/printservice/recommendation/IRecommendationService$Stub$Proxy;
-Landroid/printservice/recommendation/IRecommendationService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/printservice/recommendation/IRecommendationService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/printservice/recommendation/IRecommendationService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/printservice/recommendation/IRecommendationService$Stub$Proxy;->registerCallbacks(Landroid/printservice/recommendation/IRecommendationServiceCallbacks;)V
-Landroid/printservice/recommendation/IRecommendationService$Stub;
-Landroid/printservice/recommendation/IRecommendationService$Stub;-><init>()V
-Landroid/printservice/recommendation/IRecommendationService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/printservice/recommendation/IRecommendationService;
-Landroid/printservice/recommendation/IRecommendationService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/printservice/recommendation/IRecommendationService$Stub;->TRANSACTION_registerCallbacks:I
-Landroid/printservice/recommendation/IRecommendationService;
-Landroid/printservice/recommendation/IRecommendationService;->registerCallbacks(Landroid/printservice/recommendation/IRecommendationServiceCallbacks;)V
-Landroid/printservice/recommendation/IRecommendationServiceCallbacks$Stub$Proxy;
-Landroid/printservice/recommendation/IRecommendationServiceCallbacks$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/printservice/recommendation/IRecommendationServiceCallbacks$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/printservice/recommendation/IRecommendationServiceCallbacks$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/printservice/recommendation/IRecommendationServiceCallbacks$Stub$Proxy;->onRecommendationsUpdated(Ljava/util/List;)V
-Landroid/printservice/recommendation/IRecommendationServiceCallbacks$Stub;
-Landroid/printservice/recommendation/IRecommendationServiceCallbacks$Stub;-><init>()V
-Landroid/printservice/recommendation/IRecommendationServiceCallbacks$Stub;->asInterface(Landroid/os/IBinder;)Landroid/printservice/recommendation/IRecommendationServiceCallbacks;
-Landroid/printservice/recommendation/IRecommendationServiceCallbacks$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/printservice/recommendation/IRecommendationServiceCallbacks$Stub;->TRANSACTION_onRecommendationsUpdated:I
-Landroid/printservice/recommendation/IRecommendationServiceCallbacks;
-Landroid/printservice/recommendation/IRecommendationServiceCallbacks;->onRecommendationsUpdated(Ljava/util/List;)V
-Landroid/printservice/recommendation/RecommendationInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/printservice/recommendation/RecommendationInfo;->mDiscoveredPrinters:Ljava/util/List;
-Landroid/printservice/recommendation/RecommendationInfo;->mName:Ljava/lang/CharSequence;
-Landroid/printservice/recommendation/RecommendationInfo;->mPackageName:Ljava/lang/CharSequence;
-Landroid/printservice/recommendation/RecommendationInfo;->mRecommendsMultiVendorService:Z
-Landroid/printservice/recommendation/RecommendationInfo;->readDiscoveredPrinters(Landroid/os/Parcel;)Ljava/util/ArrayList;
-Landroid/printservice/recommendation/RecommendationService$MyHandler;
-Landroid/printservice/recommendation/RecommendationService$MyHandler;-><init>()V
-Landroid/printservice/recommendation/RecommendationService$MyHandler;->MSG_CONNECT:I
-Landroid/printservice/recommendation/RecommendationService$MyHandler;->MSG_DISCONNECT:I
-Landroid/printservice/recommendation/RecommendationService$MyHandler;->MSG_UPDATE:I
-Landroid/printservice/recommendation/RecommendationService;->LOG_TAG:Ljava/lang/String;
-Landroid/printservice/recommendation/RecommendationService;->mCallbacks:Landroid/printservice/recommendation/IRecommendationServiceCallbacks;
-Landroid/printservice/recommendation/RecommendationService;->mHandler:Landroid/os/Handler;
-Landroid/provider/BlockedNumberContract$BlockedNumbers;-><init>()V
-Landroid/provider/BlockedNumberContract$SystemContract$BlockSuppressionStatus;
-Landroid/provider/BlockedNumberContract$SystemContract$BlockSuppressionStatus;-><init>(ZJ)V
-Landroid/provider/BlockedNumberContract$SystemContract$BlockSuppressionStatus;->isSuppressed:Z
-Landroid/provider/BlockedNumberContract$SystemContract$BlockSuppressionStatus;->untilTimestampMillis:J
-Landroid/provider/BlockedNumberContract$SystemContract;
-Landroid/provider/BlockedNumberContract$SystemContract;-><init>()V
-Landroid/provider/BlockedNumberContract$SystemContract;->ACTION_BLOCK_SUPPRESSION_STATE_CHANGED:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract$SystemContract;->endBlockSuppression(Landroid/content/Context;)V
-Landroid/provider/BlockedNumberContract$SystemContract;->ENHANCED_SETTING_KEY_BLOCK_PAYPHONE:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract$SystemContract;->ENHANCED_SETTING_KEY_BLOCK_PRIVATE:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract$SystemContract;->ENHANCED_SETTING_KEY_BLOCK_UNKNOWN:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract$SystemContract;->ENHANCED_SETTING_KEY_BLOCK_UNREGISTERED:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract$SystemContract;->ENHANCED_SETTING_KEY_SHOW_EMERGENCY_CALL_NOTIFICATION:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract$SystemContract;->getBlockSuppressionStatus(Landroid/content/Context;)Landroid/provider/BlockedNumberContract$SystemContract$BlockSuppressionStatus;
-Landroid/provider/BlockedNumberContract$SystemContract;->getEnhancedBlockSetting(Landroid/content/Context;Ljava/lang/String;)Z
-Landroid/provider/BlockedNumberContract$SystemContract;->METHOD_END_BLOCK_SUPPRESSION:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract$SystemContract;->METHOD_GET_BLOCK_SUPPRESSION_STATUS:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract$SystemContract;->METHOD_GET_ENHANCED_BLOCK_SETTING:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract$SystemContract;->METHOD_NOTIFY_EMERGENCY_CONTACT:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract$SystemContract;->METHOD_SET_ENHANCED_BLOCK_SETTING:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract$SystemContract;->METHOD_SHOULD_SHOW_EMERGENCY_CALL_NOTIFICATION:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract$SystemContract;->METHOD_SHOULD_SYSTEM_BLOCK_NUMBER:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract$SystemContract;->notifyEmergencyContact(Landroid/content/Context;)V
-Landroid/provider/BlockedNumberContract$SystemContract;->RES_BLOCKING_SUPPRESSED_UNTIL_TIMESTAMP:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract$SystemContract;->RES_IS_BLOCKING_SUPPRESSED:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract$SystemContract;->setEnhancedBlockSetting(Landroid/content/Context;Ljava/lang/String;Z)V
-Landroid/provider/BlockedNumberContract$SystemContract;->shouldShowEmergencyCallNotification(Landroid/content/Context;)Z
-Landroid/provider/BlockedNumberContract$SystemContract;->shouldSystemBlockNumber(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)Z
-Landroid/provider/BlockedNumberContract;-><init>()V
-Landroid/provider/BlockedNumberContract;->EXTRA_CALL_PRESENTATION:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract;->EXTRA_CONTACT_EXIST:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract;->EXTRA_ENHANCED_SETTING_KEY:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract;->EXTRA_ENHANCED_SETTING_VALUE:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract;->METHOD_CAN_CURRENT_USER_BLOCK_NUMBERS:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract;->METHOD_IS_BLOCKED:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract;->METHOD_UNBLOCK:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract;->RES_CAN_BLOCK_NUMBERS:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract;->RES_ENHANCED_SETTING_IS_ENABLED:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract;->RES_NUMBER_IS_BLOCKED:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract;->RES_NUM_ROWS_DELETED:Ljava/lang/String;
-Landroid/provider/BlockedNumberContract;->RES_SHOW_EMERGENCY_CALL_NOTIFICATION:Ljava/lang/String;
-Landroid/provider/Browser$BookmarkColumns;->THUMBNAIL:Ljava/lang/String;
-Landroid/provider/Browser$BookmarkColumns;->TOUCH_ICON:Ljava/lang/String;
-Landroid/provider/Browser$BookmarkColumns;->USER_ENTERED:Ljava/lang/String;
-Landroid/provider/Browser;->addOrUrlEquals(Ljava/lang/StringBuilder;)V
-Landroid/provider/Browser;->EXTRA_SHARE_FAVICON:Ljava/lang/String;
-Landroid/provider/Browser;->EXTRA_SHARE_SCREENSHOT:Ljava/lang/String;
-Landroid/provider/Browser;->getVisitedLike(Landroid/content/ContentResolver;Ljava/lang/String;)Landroid/database/Cursor;
-Landroid/provider/Browser;->HISTORY_PROJECTION_THUMBNAIL_INDEX:I
-Landroid/provider/Browser;->HISTORY_PROJECTION_TOUCH_ICON_INDEX:I
-Landroid/provider/Browser;->LOGTAG:Ljava/lang/String;
-Landroid/provider/Browser;->MAX_HISTORY_COUNT:I
-Landroid/provider/BrowserContract$Accounts;
-Landroid/provider/BrowserContract$Accounts;-><init>()V
-Landroid/provider/BrowserContract$Accounts;->ACCOUNT_NAME:Ljava/lang/String;
-Landroid/provider/BrowserContract$Accounts;->ACCOUNT_TYPE:Ljava/lang/String;
-Landroid/provider/BrowserContract$Accounts;->ROOT_ID:Ljava/lang/String;
-Landroid/provider/BrowserContract$BaseSyncColumns;
-Landroid/provider/BrowserContract$BaseSyncColumns;->SYNC1:Ljava/lang/String;
-Landroid/provider/BrowserContract$BaseSyncColumns;->SYNC2:Ljava/lang/String;
-Landroid/provider/BrowserContract$BaseSyncColumns;->SYNC3:Ljava/lang/String;
-Landroid/provider/BrowserContract$BaseSyncColumns;->SYNC4:Ljava/lang/String;
-Landroid/provider/BrowserContract$BaseSyncColumns;->SYNC5:Ljava/lang/String;
-Landroid/provider/BrowserContract$Bookmarks;
-Landroid/provider/BrowserContract$Bookmarks;-><init>()V
-Landroid/provider/BrowserContract$Bookmarks;->BOOKMARK_TYPE_BOOKMARK:I
-Landroid/provider/BrowserContract$Bookmarks;->BOOKMARK_TYPE_BOOKMARK_BAR_FOLDER:I
-Landroid/provider/BrowserContract$Bookmarks;->BOOKMARK_TYPE_FOLDER:I
-Landroid/provider/BrowserContract$Bookmarks;->BOOKMARK_TYPE_MOBILE_FOLDER:I
-Landroid/provider/BrowserContract$Bookmarks;->BOOKMARK_TYPE_OTHER_FOLDER:I
-Landroid/provider/BrowserContract$Bookmarks;->CONTENT_ITEM_TYPE:Ljava/lang/String;
-Landroid/provider/BrowserContract$Bookmarks;->CONTENT_TYPE:Ljava/lang/String;
-Landroid/provider/BrowserContract$Bookmarks;->INSERT_AFTER:Ljava/lang/String;
-Landroid/provider/BrowserContract$Bookmarks;->INSERT_AFTER_SOURCE_ID:Ljava/lang/String;
-Landroid/provider/BrowserContract$Bookmarks;->IS_DELETED:Ljava/lang/String;
-Landroid/provider/BrowserContract$Bookmarks;->IS_FOLDER:Ljava/lang/String;
-Landroid/provider/BrowserContract$Bookmarks;->PARAM_ACCOUNT_NAME:Ljava/lang/String;
-Landroid/provider/BrowserContract$Bookmarks;->PARAM_ACCOUNT_TYPE:Ljava/lang/String;
-Landroid/provider/BrowserContract$Bookmarks;->PARENT:Ljava/lang/String;
-Landroid/provider/BrowserContract$Bookmarks;->PARENT_SOURCE_ID:Ljava/lang/String;
-Landroid/provider/BrowserContract$Bookmarks;->POSITION:Ljava/lang/String;
-Landroid/provider/BrowserContract$Bookmarks;->QUERY_PARAMETER_SHOW_DELETED:Ljava/lang/String;
-Landroid/provider/BrowserContract$Bookmarks;->TYPE:Ljava/lang/String;
-Landroid/provider/BrowserContract$ChromeSyncColumns;
-Landroid/provider/BrowserContract$ChromeSyncColumns;-><init>()V
-Landroid/provider/BrowserContract$ChromeSyncColumns;->CLIENT_UNIQUE:Ljava/lang/String;
-Landroid/provider/BrowserContract$ChromeSyncColumns;->FOLDER_NAME_BOOKMARKS:Ljava/lang/String;
-Landroid/provider/BrowserContract$ChromeSyncColumns;->FOLDER_NAME_BOOKMARKS_BAR:Ljava/lang/String;
-Landroid/provider/BrowserContract$ChromeSyncColumns;->FOLDER_NAME_OTHER_BOOKMARKS:Ljava/lang/String;
-Landroid/provider/BrowserContract$ChromeSyncColumns;->FOLDER_NAME_ROOT:Ljava/lang/String;
-Landroid/provider/BrowserContract$ChromeSyncColumns;->SERVER_UNIQUE:Ljava/lang/String;
-Landroid/provider/BrowserContract$Combined;
-Landroid/provider/BrowserContract$Combined;-><init>()V
-Landroid/provider/BrowserContract$Combined;->IS_BOOKMARK:Ljava/lang/String;
-Landroid/provider/BrowserContract$CommonColumns;
-Landroid/provider/BrowserContract$CommonColumns;->DATE_CREATED:Ljava/lang/String;
-Landroid/provider/BrowserContract$CommonColumns;->TITLE:Ljava/lang/String;
-Landroid/provider/BrowserContract$CommonColumns;->URL:Ljava/lang/String;
-Landroid/provider/BrowserContract$CommonColumns;->_ID:Ljava/lang/String;
-Landroid/provider/BrowserContract$History;
-Landroid/provider/BrowserContract$History;-><init>()V
-Landroid/provider/BrowserContract$History;->CONTENT_ITEM_TYPE:Ljava/lang/String;
-Landroid/provider/BrowserContract$History;->CONTENT_TYPE:Ljava/lang/String;
-Landroid/provider/BrowserContract$HistoryColumns;
-Landroid/provider/BrowserContract$HistoryColumns;->DATE_LAST_VISITED:Ljava/lang/String;
-Landroid/provider/BrowserContract$HistoryColumns;->USER_ENTERED:Ljava/lang/String;
-Landroid/provider/BrowserContract$HistoryColumns;->VISITS:Ljava/lang/String;
-Landroid/provider/BrowserContract$ImageColumns;
-Landroid/provider/BrowserContract$ImageColumns;->FAVICON:Ljava/lang/String;
-Landroid/provider/BrowserContract$ImageColumns;->THUMBNAIL:Ljava/lang/String;
-Landroid/provider/BrowserContract$ImageColumns;->TOUCH_ICON:Ljava/lang/String;
-Landroid/provider/BrowserContract$ImageMappingColumns;
-Landroid/provider/BrowserContract$ImageMappingColumns;->IMAGE_ID:Ljava/lang/String;
-Landroid/provider/BrowserContract$ImageMappingColumns;->URL:Ljava/lang/String;
-Landroid/provider/BrowserContract$ImageMappings;
-Landroid/provider/BrowserContract$ImageMappings;-><init>()V
-Landroid/provider/BrowserContract$ImageMappings;->CONTENT_ITEM_TYPE:Ljava/lang/String;
-Landroid/provider/BrowserContract$ImageMappings;->CONTENT_TYPE:Ljava/lang/String;
-Landroid/provider/BrowserContract$ImageMappings;->CONTENT_URI:Landroid/net/Uri;
-Landroid/provider/BrowserContract$Images;
-Landroid/provider/BrowserContract$Images;-><init>()V
-Landroid/provider/BrowserContract$Images;->CONTENT_ITEM_TYPE:Ljava/lang/String;
-Landroid/provider/BrowserContract$Images;->CONTENT_TYPE:Ljava/lang/String;
-Landroid/provider/BrowserContract$Images;->DATA:Ljava/lang/String;
-Landroid/provider/BrowserContract$Images;->IMAGE_TYPE_FAVICON:I
-Landroid/provider/BrowserContract$Images;->IMAGE_TYPE_PRECOMPOSED_TOUCH_ICON:I
-Landroid/provider/BrowserContract$Images;->IMAGE_TYPE_TOUCH_ICON:I
-Landroid/provider/BrowserContract$Images;->TYPE:Ljava/lang/String;
-Landroid/provider/BrowserContract$Images;->URL:Ljava/lang/String;
-Landroid/provider/BrowserContract$Searches;
-Landroid/provider/BrowserContract$Searches;-><init>()V
-Landroid/provider/BrowserContract$Searches;->CONTENT_ITEM_TYPE:Ljava/lang/String;
-Landroid/provider/BrowserContract$Searches;->CONTENT_TYPE:Ljava/lang/String;
-Landroid/provider/BrowserContract$Searches;->CONTENT_URI:Landroid/net/Uri;
-Landroid/provider/BrowserContract$Searches;->DATE:Ljava/lang/String;
-Landroid/provider/BrowserContract$Searches;->SEARCH:Ljava/lang/String;
-Landroid/provider/BrowserContract$Searches;->_ID:Ljava/lang/String;
-Landroid/provider/BrowserContract$Settings;
-Landroid/provider/BrowserContract$Settings;-><init>()V
-Landroid/provider/BrowserContract$Settings;->CONTENT_URI:Landroid/net/Uri;
-Landroid/provider/BrowserContract$Settings;->isSyncEnabled(Landroid/content/Context;)Z
-Landroid/provider/BrowserContract$Settings;->KEY:Ljava/lang/String;
-Landroid/provider/BrowserContract$Settings;->KEY_SYNC_ENABLED:Ljava/lang/String;
-Landroid/provider/BrowserContract$Settings;->setSyncEnabled(Landroid/content/Context;Z)V
-Landroid/provider/BrowserContract$Settings;->VALUE:Ljava/lang/String;
-Landroid/provider/BrowserContract$SyncColumns;
-Landroid/provider/BrowserContract$SyncColumns;->ACCOUNT_NAME:Ljava/lang/String;
-Landroid/provider/BrowserContract$SyncColumns;->ACCOUNT_TYPE:Ljava/lang/String;
-Landroid/provider/BrowserContract$SyncColumns;->DATE_MODIFIED:Ljava/lang/String;
-Landroid/provider/BrowserContract$SyncColumns;->DIRTY:Ljava/lang/String;
-Landroid/provider/BrowserContract$SyncColumns;->SOURCE_ID:Ljava/lang/String;
-Landroid/provider/BrowserContract$SyncColumns;->VERSION:Ljava/lang/String;
-Landroid/provider/BrowserContract$SyncState;
-Landroid/provider/BrowserContract$SyncState;-><init>()V
-Landroid/provider/BrowserContract$SyncState;->CONTENT_DIRECTORY:Ljava/lang/String;
-Landroid/provider/BrowserContract$SyncState;->CONTENT_URI:Landroid/net/Uri;
-Landroid/provider/BrowserContract$SyncState;->get(Landroid/content/ContentProviderClient;Landroid/accounts/Account;)[B
-Landroid/provider/BrowserContract$SyncState;->getWithUri(Landroid/content/ContentProviderClient;Landroid/accounts/Account;)Landroid/util/Pair;
-Landroid/provider/BrowserContract$SyncState;->newSetOperation(Landroid/accounts/Account;[B)Landroid/content/ContentProviderOperation;
-Landroid/provider/BrowserContract$SyncState;->set(Landroid/content/ContentProviderClient;Landroid/accounts/Account;[B)V
-Landroid/provider/BrowserContract;
-Landroid/provider/BrowserContract;-><init>()V
-Landroid/provider/BrowserContract;->AUTHORITY:Ljava/lang/String;
-Landroid/provider/BrowserContract;->CALLER_IS_SYNCADAPTER:Ljava/lang/String;
-Landroid/provider/BrowserContract;->PARAM_LIMIT:Ljava/lang/String;
-Landroid/provider/CalendarContract$Attendees;-><init>()V
-Landroid/provider/CalendarContract$Attendees;->ATTENDEES_WHERE:Ljava/lang/String;
-Landroid/provider/CalendarContract$CalendarAlerts;-><init>()V
-Landroid/provider/CalendarContract$CalendarAlerts;->alarmExists(Landroid/content/ContentResolver;JJJ)Z
-Landroid/provider/CalendarContract$CalendarAlerts;->DEBUG:Z
-Landroid/provider/CalendarContract$CalendarAlerts;->insert(Landroid/content/ContentResolver;JJJJI)Landroid/net/Uri;
-Landroid/provider/CalendarContract$CalendarAlerts;->SORT_ORDER_ALARMTIME_ASC:Ljava/lang/String;
-Landroid/provider/CalendarContract$CalendarAlerts;->TABLE_NAME:Ljava/lang/String;
-Landroid/provider/CalendarContract$CalendarAlerts;->WHERE_ALARM_EXISTS:Ljava/lang/String;
-Landroid/provider/CalendarContract$CalendarAlerts;->WHERE_FINDNEXTALARMTIME:Ljava/lang/String;
-Landroid/provider/CalendarContract$CalendarAlerts;->WHERE_RESCHEDULE_MISSED_ALARMS:Ljava/lang/String;
-Landroid/provider/CalendarContract$CalendarCache;-><init>()V
-Landroid/provider/CalendarContract$CalendarEntity$EntityIteratorImpl;
-Landroid/provider/CalendarContract$CalendarEntity$EntityIteratorImpl;-><init>(Landroid/database/Cursor;)V
-Landroid/provider/CalendarContract$CalendarEntity$EntityIteratorImpl;->getEntityAndIncrementCursor(Landroid/database/Cursor;)Landroid/content/Entity;
-Landroid/provider/CalendarContract$CalendarEntity;-><init>()V
-Landroid/provider/CalendarContract$CalendarMetaData;
-Landroid/provider/CalendarContract$CalendarMetaData;-><init>()V
-Landroid/provider/CalendarContract$CalendarMetaDataColumns;
-Landroid/provider/CalendarContract$CalendarMetaDataColumns;->LOCAL_TIMEZONE:Ljava/lang/String;
-Landroid/provider/CalendarContract$CalendarMetaDataColumns;->MAX_EVENTDAYS:Ljava/lang/String;
-Landroid/provider/CalendarContract$CalendarMetaDataColumns;->MAX_INSTANCE:Ljava/lang/String;
-Landroid/provider/CalendarContract$CalendarMetaDataColumns;->MIN_EVENTDAYS:Ljava/lang/String;
-Landroid/provider/CalendarContract$CalendarMetaDataColumns;->MIN_INSTANCE:Ljava/lang/String;
-Landroid/provider/CalendarContract$Calendars;-><init>()V
-Landroid/provider/CalendarContract$Calendars;->SYNC_WRITABLE_COLUMNS:[Ljava/lang/String;
-Landroid/provider/CalendarContract$Colors;-><init>()V
-Landroid/provider/CalendarContract$Colors;->TABLE_NAME:Ljava/lang/String;
-Landroid/provider/CalendarContract$EventDays;-><init>()V
-Landroid/provider/CalendarContract$EventDays;->SELECTION:Ljava/lang/String;
-Landroid/provider/CalendarContract$Events;-><init>()V
-Landroid/provider/CalendarContract$Events;->DEFAULT_SORT_ORDER:Ljava/lang/String;
-Landroid/provider/CalendarContract$Events;->SYNC_WRITABLE_COLUMNS:[Ljava/lang/String;
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;-><init>(Landroid/database/Cursor;Landroid/content/ContentProviderClient;)V
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;-><init>(Landroid/database/Cursor;Landroid/content/ContentResolver;)V
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;->ATTENDEES_PROJECTION:[Ljava/lang/String;
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;->COLUMN_ATTENDEE_EMAIL:I
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;->COLUMN_ATTENDEE_IDENTITY:I
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;->COLUMN_ATTENDEE_ID_NAMESPACE:I
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;->COLUMN_ATTENDEE_NAME:I
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;->COLUMN_ATTENDEE_RELATIONSHIP:I
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;->COLUMN_ATTENDEE_STATUS:I
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;->COLUMN_ATTENDEE_TYPE:I
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;->COLUMN_ID:I
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;->COLUMN_METHOD:I
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;->COLUMN_MINUTES:I
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;->COLUMN_NAME:I
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;->COLUMN_VALUE:I
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;->EXTENDED_PROJECTION:[Ljava/lang/String;
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;->getEntityAndIncrementCursor(Landroid/database/Cursor;)Landroid/content/Entity;
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;->mProvider:Landroid/content/ContentProviderClient;
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;->mResolver:Landroid/content/ContentResolver;
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;->REMINDERS_PROJECTION:[Ljava/lang/String;
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;->WHERE_EVENT_ID:Ljava/lang/String;
-Landroid/provider/CalendarContract$EventsEntity;-><init>()V
-Landroid/provider/CalendarContract$EventsRawTimes;
-Landroid/provider/CalendarContract$EventsRawTimes;-><init>()V
-Landroid/provider/CalendarContract$EventsRawTimesColumns;
-Landroid/provider/CalendarContract$EventsRawTimesColumns;->DTEND_2445:Ljava/lang/String;
-Landroid/provider/CalendarContract$EventsRawTimesColumns;->DTSTART_2445:Ljava/lang/String;
-Landroid/provider/CalendarContract$EventsRawTimesColumns;->EVENT_ID:Ljava/lang/String;
-Landroid/provider/CalendarContract$EventsRawTimesColumns;->LAST_DATE_2445:Ljava/lang/String;
-Landroid/provider/CalendarContract$EventsRawTimesColumns;->ORIGINAL_INSTANCE_TIME_2445:Ljava/lang/String;
-Landroid/provider/CalendarContract$ExtendedProperties;-><init>()V
-Landroid/provider/CalendarContract$Instances;-><init>()V
-Landroid/provider/CalendarContract$Instances;->DEFAULT_SORT_ORDER:Ljava/lang/String;
-Landroid/provider/CalendarContract$Instances;->WHERE_CALENDARS_ARGS:[Ljava/lang/String;
-Landroid/provider/CalendarContract$Instances;->WHERE_CALENDARS_SELECTED:Ljava/lang/String;
-Landroid/provider/CalendarContract$Reminders;-><init>()V
-Landroid/provider/CalendarContract$Reminders;->REMINDERS_WHERE:Ljava/lang/String;
-Landroid/provider/CalendarContract$SyncState;-><init>()V
-Landroid/provider/CalendarContract$SyncState;->CONTENT_DIRECTORY:Ljava/lang/String;
-Landroid/provider/CalendarContract;-><init>()V
-Landroid/provider/CalendarContract;->TAG:Ljava/lang/String;
-Landroid/provider/CallLog$Calls;->addCall(Lcom/android/internal/telephony/CallerInfo;Landroid/content/Context;Ljava/lang/String;IIILandroid/telecom/PhoneAccountHandle;JILjava/lang/Long;)Landroid/net/Uri;
-Landroid/provider/CallLog$Calls;->addCall(Lcom/android/internal/telephony/CallerInfo;Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIILandroid/telecom/PhoneAccountHandle;JILjava/lang/Long;ZLandroid/os/UserHandle;)Landroid/net/Uri;
-Landroid/provider/CallLog$Calls;->addEntryAndRemoveExpiredEntries(Landroid/content/Context;Landroid/os/UserManager;Landroid/os/UserHandle;Landroid/content/ContentValues;)Landroid/net/Uri;
-Landroid/provider/CallLog$Calls;->ADD_FOR_ALL_USERS:Ljava/lang/String;
-Landroid/provider/CallLog$Calls;->ALLOW_VOICEMAILS_PARAM_KEY:Ljava/lang/String;
-Landroid/provider/CallLog$Calls;->FEATURES_ASSISTED_DIALING_USED:I
-Landroid/provider/CallLog$Calls;->getCurrentCountryIso(Landroid/content/Context;)Ljava/lang/String;
-Landroid/provider/CallLog$Calls;->MIN_DURATION_FOR_NORMALIZED_NUMBER_UPDATE_MS:I
-Landroid/provider/CallLog$Calls;->PHONE_ACCOUNT_ADDRESS:Ljava/lang/String;
-Landroid/provider/CallLog$Calls;->PHONE_ACCOUNT_HIDDEN:Ljava/lang/String;
-Landroid/provider/CallLog$Calls;->SHADOW_CONTENT_URI:Landroid/net/Uri;
-Landroid/provider/CallLog$Calls;->shouldHaveSharedCallLogEntries(Landroid/content/Context;Landroid/os/UserManager;I)Z
-Landroid/provider/CallLog$Calls;->SUB_ID:Ljava/lang/String;
-Landroid/provider/CallLog$Calls;->TRANSCRIPTION_STATE:Ljava/lang/String;
-Landroid/provider/CallLog$Calls;->updateDataUsageStatForData(Landroid/content/ContentResolver;Ljava/lang/String;)V
-Landroid/provider/CallLog$Calls;->updateNormalizedNumber(Landroid/content/Context;Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/provider/CallLog;->LOG_TAG:Ljava/lang/String;
-Landroid/provider/CallLog;->SHADOW_AUTHORITY:Ljava/lang/String;
-Landroid/provider/CallLog;->VERBOSE_LOG:Z
-Landroid/provider/Contacts$ContactMethods$ProviderNames;
-Landroid/provider/Contacts$ContactMethods$ProviderNames;->AIM:Ljava/lang/String;
-Landroid/provider/Contacts$ContactMethods$ProviderNames;->GTALK:Ljava/lang/String;
-Landroid/provider/Contacts$ContactMethods$ProviderNames;->ICQ:Ljava/lang/String;
-Landroid/provider/Contacts$ContactMethods$ProviderNames;->JABBER:Ljava/lang/String;
-Landroid/provider/Contacts$ContactMethods$ProviderNames;->MSN:Ljava/lang/String;
-Landroid/provider/Contacts$ContactMethods$ProviderNames;->QQ:Ljava/lang/String;
-Landroid/provider/Contacts$ContactMethods$ProviderNames;->SKYPE:Ljava/lang/String;
-Landroid/provider/Contacts$ContactMethods$ProviderNames;->XMPP:Ljava/lang/String;
-Landroid/provider/Contacts$ContactMethods$ProviderNames;->YAHOO:Ljava/lang/String;
-Landroid/provider/Contacts$ContactMethods;-><init>()V
-Landroid/provider/Contacts$ContactMethods;->lookupProviderNameFromId(I)Ljava/lang/String;
-Landroid/provider/Contacts$ContactMethodsColumns;->MOBILE_EMAIL_TYPE_INDEX:I
-Landroid/provider/Contacts$ContactMethodsColumns;->MOBILE_EMAIL_TYPE_NAME:Ljava/lang/String;
-Landroid/provider/Contacts$Extensions;-><init>()V
-Landroid/provider/Contacts$GroupMembership;-><init>()V
-Landroid/provider/Contacts$Groups;-><init>()V
-Landroid/provider/Contacts$Intents;->EXTRA_TARGET_RECT:Ljava/lang/String;
-Landroid/provider/Contacts$Organizations;-><init>()V
-Landroid/provider/Contacts$People$ContactMethods;-><init>()V
-Landroid/provider/Contacts$People$Extensions;-><init>()V
-Landroid/provider/Contacts$People$Phones;-><init>()V
-Landroid/provider/Contacts$People;-><init>()V
-Landroid/provider/Contacts$People;->GROUPS_PROJECTION:[Ljava/lang/String;
-Landroid/provider/Contacts$People;->loadPlaceholderPhoto(ILandroid/content/Context;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
-Landroid/provider/Contacts$People;->tryGetMyContactsGroupId(Landroid/content/ContentResolver;)J
-Landroid/provider/Contacts$People;->WITH_EMAIL_OR_IM_FILTER_URI:Landroid/net/Uri;
-Landroid/provider/Contacts$PeopleColumns;->SORT_STRING:Ljava/lang/String;
-Landroid/provider/Contacts$Phones;-><init>()V
-Landroid/provider/Contacts$Photos;-><init>()V
-Landroid/provider/Contacts$Presence;
-Landroid/provider/Contacts$Presence;-><init>()V
-Landroid/provider/Contacts$Presence;->CONTENT_URI:Landroid/net/Uri;
-Landroid/provider/Contacts$Presence;->getPresenceIconResourceId(I)I
-Landroid/provider/Contacts$Presence;->PERSON_ID:Ljava/lang/String;
-Landroid/provider/Contacts$Presence;->setPresenceIcon(Landroid/widget/ImageView;I)V
-Landroid/provider/Contacts$Settings;-><init>()V
-Landroid/provider/Contacts;-><init>()V
-Landroid/provider/Contacts;->TAG:Ljava/lang/String;
-Landroid/provider/ContactsContract$AggregationExceptions;-><init>()V
-Landroid/provider/ContactsContract$Authorization;
-Landroid/provider/ContactsContract$Authorization;-><init>()V
-Landroid/provider/ContactsContract$Authorization;->AUTHORIZATION_METHOD:Ljava/lang/String;
-Landroid/provider/ContactsContract$Authorization;->KEY_AUTHORIZED_URI:Ljava/lang/String;
-Landroid/provider/ContactsContract$Authorization;->KEY_URI_TO_AUTHORIZE:Ljava/lang/String;
-Landroid/provider/ContactsContract$CommonDataKinds$Email;-><init>()V
-Landroid/provider/ContactsContract$CommonDataKinds$Event;-><init>()V
-Landroid/provider/ContactsContract$CommonDataKinds$GroupMembership;-><init>()V
-Landroid/provider/ContactsContract$CommonDataKinds$Identity;-><init>()V
-Landroid/provider/ContactsContract$CommonDataKinds$Im;-><init>()V
-Landroid/provider/ContactsContract$CommonDataKinds$Nickname;-><init>()V
-Landroid/provider/ContactsContract$CommonDataKinds$Note;-><init>()V
-Landroid/provider/ContactsContract$CommonDataKinds$Organization;-><init>()V
-Landroid/provider/ContactsContract$CommonDataKinds$Phone;-><init>()V
-Landroid/provider/ContactsContract$CommonDataKinds$Phone;->ENTERPRISE_CONTENT_URI:Landroid/net/Uri;
-Landroid/provider/ContactsContract$CommonDataKinds$Phone;->getDisplayLabel(Landroid/content/Context;ILjava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-Landroid/provider/ContactsContract$CommonDataKinds$Photo;-><init>()V
-Landroid/provider/ContactsContract$CommonDataKinds$Relation;-><init>()V
-Landroid/provider/ContactsContract$CommonDataKinds$SipAddress;-><init>()V
-Landroid/provider/ContactsContract$CommonDataKinds$StructuredName;-><init>()V
-Landroid/provider/ContactsContract$CommonDataKinds$StructuredPostal;-><init>()V
-Landroid/provider/ContactsContract$CommonDataKinds$Website;-><init>()V
-Landroid/provider/ContactsContract$CommonDataKinds;-><init>()V
-Landroid/provider/ContactsContract$CommonDataKinds;->PACKAGE_COMMON:Ljava/lang/String;
-Landroid/provider/ContactsContract$ContactCounts;
-Landroid/provider/ContactsContract$ContactOptionsColumns;->LR_LAST_TIME_CONTACTED:Ljava/lang/String;
-Landroid/provider/ContactsContract$ContactOptionsColumns;->LR_TIMES_CONTACTED:Ljava/lang/String;
-Landroid/provider/ContactsContract$ContactOptionsColumns;->RAW_LAST_TIME_CONTACTED:Ljava/lang/String;
-Landroid/provider/ContactsContract$ContactOptionsColumns;->RAW_TIMES_CONTACTED:Ljava/lang/String;
-Landroid/provider/ContactsContract$Contacts$AggregationSuggestions$Builder;->mContactId:J
-Landroid/provider/ContactsContract$Contacts$AggregationSuggestions$Builder;->mLimit:I
-Landroid/provider/ContactsContract$Contacts$AggregationSuggestions$Builder;->mValues:Ljava/util/ArrayList;
-Landroid/provider/ContactsContract$Contacts$AggregationSuggestions;-><init>()V
-Landroid/provider/ContactsContract$Contacts$AggregationSuggestions;->PARAMETER_MATCH_NAME:Ljava/lang/String;
-Landroid/provider/ContactsContract$Contacts$Data;-><init>()V
-Landroid/provider/ContactsContract$Contacts$Entity;-><init>()V
-Landroid/provider/ContactsContract$Contacts$Photo;-><init>()V
-Landroid/provider/ContactsContract$Contacts$StreamItems;-><init>()V
-Landroid/provider/ContactsContract$Contacts;-><init>()V
-Landroid/provider/ContactsContract$Contacts;->ENTERPRISE_CONTACT_ID_BASE:J
-Landroid/provider/ContactsContract$Contacts;->ENTERPRISE_CONTACT_LOOKUP_PREFIX:Ljava/lang/String;
-Landroid/provider/ContactsContract$Data;-><init>()V
-Landroid/provider/ContactsContract$Data;->ENTERPRISE_CONTENT_URI:Landroid/net/Uri;
-Landroid/provider/ContactsContract$DataColumns;->HASH_ID:Ljava/lang/String;
-Landroid/provider/ContactsContract$DataUsageStatColumns;->LR_LAST_TIME_USED:Ljava/lang/String;
-Landroid/provider/ContactsContract$DataUsageStatColumns;->LR_TIMES_USED:Ljava/lang/String;
-Landroid/provider/ContactsContract$DataUsageStatColumns;->RAW_LAST_TIME_USED:Ljava/lang/String;
-Landroid/provider/ContactsContract$DataUsageStatColumns;->RAW_TIMES_USED:Ljava/lang/String;
-Landroid/provider/ContactsContract$DeletedContacts;-><init>()V
-Landroid/provider/ContactsContract$DeletedContacts;->DAYS_KEPT:I
-Landroid/provider/ContactsContract$Directory;-><init>()V
-Landroid/provider/ContactsContract$Directory;->ENTERPRISE_DIRECTORY_ID_BASE:J
-Landroid/provider/ContactsContract$Directory;->ENTERPRISE_FILE_URI:Landroid/net/Uri;
-Landroid/provider/ContactsContract$Directory;->isRemoteDirectory(J)Z
-Landroid/provider/ContactsContract$DisplayPhoto;-><init>()V
-Landroid/provider/ContactsContract$Groups$EntityIteratorImpl;
-Landroid/provider/ContactsContract$Groups$EntityIteratorImpl;-><init>(Landroid/database/Cursor;)V
-Landroid/provider/ContactsContract$Groups$EntityIteratorImpl;->getEntityAndIncrementCursor(Landroid/database/Cursor;)Landroid/content/Entity;
-Landroid/provider/ContactsContract$Groups;-><init>()V
-Landroid/provider/ContactsContract$GroupsColumns;->ACCOUNT_TYPE_AND_DATA_SET:Ljava/lang/String;
-Landroid/provider/ContactsContract$GroupsColumns;->PARAM_RETURN_GROUP_COUNT_PER_ACCOUNT:Ljava/lang/String;
-Landroid/provider/ContactsContract$GroupsColumns;->SUMMARY_GROUP_COUNT_PER_ACCOUNT:Ljava/lang/String;
-Landroid/provider/ContactsContract$Intents;->ACTION_GET_MULTIPLE_PHONES:Ljava/lang/String;
-Landroid/provider/ContactsContract$Intents;->ACTION_PROFILE_CHANGED:Ljava/lang/String;
-Landroid/provider/ContactsContract$Intents;->EXTRA_EXCLUDE_MIMES:Ljava/lang/String;
-Landroid/provider/ContactsContract$Intents;->EXTRA_MODE:Ljava/lang/String;
-Landroid/provider/ContactsContract$Intents;->EXTRA_PHONE_URIS:Ljava/lang/String;
-Landroid/provider/ContactsContract$Intents;->EXTRA_TARGET_RECT:Ljava/lang/String;
-Landroid/provider/ContactsContract$Intents;->MODE_LARGE:I
-Landroid/provider/ContactsContract$Intents;->MODE_MEDIUM:I
-Landroid/provider/ContactsContract$Intents;->MODE_SMALL:I
-Landroid/provider/ContactsContract$MetadataSync;-><init>()V
-Landroid/provider/ContactsContract$MetadataSyncState;-><init>()V
-Landroid/provider/ContactsContract$PhoneLookup;-><init>()V
-Landroid/provider/ContactsContract$PhoneLookup;->CONTENT_TYPE:Ljava/lang/String;
-Landroid/provider/ContactsContract$PhotoFiles;
-Landroid/provider/ContactsContract$PhotoFiles;-><init>()V
-Landroid/provider/ContactsContract$PhotoFilesColumns;
-Landroid/provider/ContactsContract$PhotoFilesColumns;->FILESIZE:Ljava/lang/String;
-Landroid/provider/ContactsContract$PhotoFilesColumns;->HEIGHT:Ljava/lang/String;
-Landroid/provider/ContactsContract$PhotoFilesColumns;->WIDTH:Ljava/lang/String;
-Landroid/provider/ContactsContract$PinnedPositions;->UNDEMOTE_METHOD:Ljava/lang/String;
-Landroid/provider/ContactsContract$Profile;-><init>()V
-Landroid/provider/ContactsContract$ProfileSyncState;-><init>()V
-Landroid/provider/ContactsContract$ProviderStatus;-><init>()V
-Landroid/provider/ContactsContract$QuickContact;->composeQuickContactsIntent(Landroid/content/Context;Landroid/view/View;Landroid/net/Uri;I[Ljava/lang/String;)Landroid/content/Intent;
-Landroid/provider/ContactsContract$QuickContact;->EXTRA_TARGET_RECT:Ljava/lang/String;
-Landroid/provider/ContactsContract$QuickContact;->MODE_DEFAULT:I
-Landroid/provider/ContactsContract$QuickContact;->rebuildManagedQuickContactsIntent(Ljava/lang/String;JZJLandroid/content/Intent;)Landroid/content/Intent;
-Landroid/provider/ContactsContract$RawContacts$Data;-><init>()V
-Landroid/provider/ContactsContract$RawContacts$DisplayPhoto;-><init>()V
-Landroid/provider/ContactsContract$RawContacts$Entity;-><init>()V
-Landroid/provider/ContactsContract$RawContacts$EntityIteratorImpl;
-Landroid/provider/ContactsContract$RawContacts$EntityIteratorImpl;-><init>(Landroid/database/Cursor;)V
-Landroid/provider/ContactsContract$RawContacts$EntityIteratorImpl;->DATA_KEYS:[Ljava/lang/String;
-Landroid/provider/ContactsContract$RawContacts$EntityIteratorImpl;->getEntityAndIncrementCursor(Landroid/database/Cursor;)Landroid/content/Entity;
-Landroid/provider/ContactsContract$RawContacts$StreamItems;-><init>()V
-Landroid/provider/ContactsContract$RawContacts;-><init>()V
-Landroid/provider/ContactsContract$RawContactsEntity;-><init>()V
-Landroid/provider/ContactsContract$RawContactsEntity;->CORP_CONTENT_URI:Landroid/net/Uri;
-Landroid/provider/ContactsContract$RawContactsEntity;->FOR_EXPORT_ONLY:Ljava/lang/String;
-Landroid/provider/ContactsContract$SearchSnippets;->SNIPPET_ARGS_PARAM_KEY:Ljava/lang/String;
-Landroid/provider/ContactsContract$Settings;-><init>()V
-Landroid/provider/ContactsContract$StatusUpdates;-><init>()V
-Landroid/provider/ContactsContract$StreamItemPhotos;-><init>()V
-Landroid/provider/ContactsContract$StreamItems$StreamItemPhotos;-><init>()V
-Landroid/provider/ContactsContract$StreamItems;-><init>()V
-Landroid/provider/ContactsContract$SyncState;-><init>()V
-Landroid/provider/ContactsContract$SyncStateColumns;
-Landroid/provider/ContactsContract;->HIDDEN_COLUMN_PREFIX:Ljava/lang/String;
-Landroid/provider/ContactsInternal;
-Landroid/provider/ContactsInternal;-><init>()V
-Landroid/provider/ContactsInternal;->CONTACTS_URI_LOOKUP:I
-Landroid/provider/ContactsInternal;->CONTACTS_URI_LOOKUP_ID:I
-Landroid/provider/ContactsInternal;->maybeStartManagedQuickContact(Landroid/content/Context;Landroid/content/Intent;)Z
-Landroid/provider/ContactsInternal;->sContactsUriMatcher:Landroid/content/UriMatcher;
-Landroid/provider/ContactsInternal;->startQuickContactWithErrorToastForUser(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V
-Landroid/provider/DocumentsContract$Document;-><init>()V
-Landroid/provider/DocumentsContract$Document;->FLAG_PARTIAL:I
-Landroid/provider/DocumentsContract$Document;->FLAG_SUPPORTS_METADATA:I
-Landroid/provider/DocumentsContract$Path;->mPath:Ljava/util/List;
-Landroid/provider/DocumentsContract$Path;->mRootId:Ljava/lang/String;
-Landroid/provider/DocumentsContract$Root;-><init>()V
-Landroid/provider/DocumentsContract$Root;->FLAG_EMPTY:I
-Landroid/provider/DocumentsContract$Root;->FLAG_HAS_SETTINGS:I
-Landroid/provider/DocumentsContract$Root;->FLAG_REMOVABLE_SD:I
-Landroid/provider/DocumentsContract$Root;->FLAG_REMOVABLE_USB:I
-Landroid/provider/DocumentsContract;-><init>()V
-Landroid/provider/DocumentsContract;->ACTION_DOCUMENT_ROOT_SETTINGS:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->ACTION_MANAGE_DOCUMENT:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->buildDocumentUriMaybeUsingTree(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;
-Landroid/provider/DocumentsContract;->buildHomeUri()Landroid/net/Uri;
-Landroid/provider/DocumentsContract;->copyDocument(Landroid/content/ContentProviderClient;Landroid/net/Uri;Landroid/net/Uri;)Landroid/net/Uri;
-Landroid/provider/DocumentsContract;->createDocument(Landroid/content/ContentProviderClient;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
-Landroid/provider/DocumentsContract;->createWebLinkIntent(Landroid/content/ContentProviderClient;Landroid/net/Uri;Landroid/os/Bundle;)Landroid/content/IntentSender;
-Landroid/provider/DocumentsContract;->deleteDocument(Landroid/content/ContentProviderClient;Landroid/net/Uri;)V
-Landroid/provider/DocumentsContract;->ejectRoot(Landroid/content/ContentProviderClient;Landroid/net/Uri;)V
-Landroid/provider/DocumentsContract;->EXTERNAL_STORAGE_PROVIDER_AUTHORITY:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->EXTRA_OPTIONS:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->EXTRA_PACKAGE_NAME:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->EXTRA_PARENT_URI:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->EXTRA_RESULT:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->EXTRA_SHOW_ADVANCED:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->EXTRA_TARGET_URI:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->EXTRA_URI:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->findDocumentPath(Landroid/content/ContentProviderClient;Landroid/net/Uri;)Landroid/provider/DocumentsContract$Path;
-Landroid/provider/DocumentsContract;->getDocumentMetadata(Landroid/content/ContentProviderClient;Landroid/net/Uri;)Landroid/os/Bundle;
-Landroid/provider/DocumentsContract;->getDocumentMetadata(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/os/Bundle;
-Landroid/provider/DocumentsContract;->isChildDocument(Landroid/content/ContentProviderClient;Landroid/net/Uri;Landroid/net/Uri;)Z
-Landroid/provider/DocumentsContract;->isContentUri(Landroid/net/Uri;)Z
-Landroid/provider/DocumentsContract;->isDocumentsProvider(Landroid/content/Context;Ljava/lang/String;)Z
-Landroid/provider/DocumentsContract;->isManageMode(Landroid/net/Uri;)Z
-Landroid/provider/DocumentsContract;->isRootUri(Landroid/content/Context;Landroid/net/Uri;)Z
-Landroid/provider/DocumentsContract;->METADATA_EXIF:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->METADATA_TYPES:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->METHOD_COPY_DOCUMENT:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->METHOD_CREATE_WEB_LINK_INTENT:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->METHOD_DELETE_DOCUMENT:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->METHOD_EJECT_ROOT:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->METHOD_FIND_DOCUMENT_PATH:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->METHOD_GET_DOCUMENT_METADATA:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->METHOD_IS_CHILD_DOCUMENT:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->METHOD_MOVE_DOCUMENT:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->METHOD_REMOVE_DOCUMENT:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->METHOD_RENAME_DOCUMENT:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->openImageThumbnail(Ljava/io/File;)Landroid/content/res/AssetFileDescriptor;
-Landroid/provider/DocumentsContract;->PACKAGE_DOCUMENTS_UI:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->PARAM_MANAGE:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->PARAM_QUERY:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->PATH_CHILDREN:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->PATH_RECENT:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->PATH_ROOT:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->PATH_SEARCH:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->removeDocument(Landroid/content/ContentProviderClient;Landroid/net/Uri;Landroid/net/Uri;)V
-Landroid/provider/DocumentsContract;->renameDocument(Landroid/content/ContentProviderClient;Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;
-Landroid/provider/DocumentsContract;->rethrowIfNecessary(Landroid/content/ContentResolver;Ljava/lang/Exception;)V
-Landroid/provider/DocumentsContract;->TAG:Ljava/lang/String;
-Landroid/provider/DocumentsContract;->THUMBNAIL_BUFFER_SIZE:I
-Landroid/provider/DocumentsProvider;->attachInfoForTesting(Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V
-Landroid/provider/DocumentsProvider;->callUnchecked(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
-Landroid/provider/DocumentsProvider;->enforceTree(Landroid/net/Uri;)V
-Landroid/provider/DocumentsProvider;->getCallingOrSelfUriPermissionModeFlags(Landroid/content/Context;Landroid/net/Uri;)I
-Landroid/provider/DocumentsProvider;->getDocumentMetadata(Ljava/lang/String;)Landroid/os/Bundle;
-Landroid/provider/DocumentsProvider;->getSortClause(Landroid/os/Bundle;)Ljava/lang/String;
-Landroid/provider/DocumentsProvider;->MATCH_CHILDREN:I
-Landroid/provider/DocumentsProvider;->MATCH_CHILDREN_TREE:I
-Landroid/provider/DocumentsProvider;->MATCH_DOCUMENT:I
-Landroid/provider/DocumentsProvider;->MATCH_DOCUMENT_TREE:I
-Landroid/provider/DocumentsProvider;->MATCH_RECENT:I
-Landroid/provider/DocumentsProvider;->MATCH_ROOT:I
-Landroid/provider/DocumentsProvider;->MATCH_ROOTS:I
-Landroid/provider/DocumentsProvider;->MATCH_SEARCH:I
-Landroid/provider/DocumentsProvider;->mAuthority:Ljava/lang/String;
-Landroid/provider/DocumentsProvider;->mimeTypeMatches(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/provider/DocumentsProvider;->mMatcher:Landroid/content/UriMatcher;
-Landroid/provider/DocumentsProvider;->openTypedAssetFileImpl(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;
-Landroid/provider/DocumentsProvider;->queryChildDocumentsForManage(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
-Landroid/provider/DocumentsProvider;->registerAuthority(Ljava/lang/String;)V
-Landroid/provider/DocumentsProvider;->TAG:Ljava/lang/String;
-Landroid/provider/Downloads$Impl$RequestHeaders;
-Landroid/provider/Downloads$Impl$RequestHeaders;-><init>()V
-Landroid/provider/Downloads$Impl$RequestHeaders;->COLUMN_DOWNLOAD_ID:Ljava/lang/String;
-Landroid/provider/Downloads$Impl$RequestHeaders;->COLUMN_HEADER:Ljava/lang/String;
-Landroid/provider/Downloads$Impl$RequestHeaders;->COLUMN_VALUE:Ljava/lang/String;
-Landroid/provider/Downloads$Impl$RequestHeaders;->HEADERS_DB_TABLE:Ljava/lang/String;
-Landroid/provider/Downloads$Impl$RequestHeaders;->URI_SEGMENT:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;
-Landroid/provider/Downloads$Impl;-><init>()V
-Landroid/provider/Downloads$Impl;->ACTION_DOWNLOAD_COMPLETED:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->ACTION_NOTIFICATION_CLICKED:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->AUTHORITY:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->COLUMN_ALLOW_METERED:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->COLUMN_ALLOW_WRITE:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->COLUMN_APP_DATA:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->COLUMN_BYPASS_RECOMMENDED_SIZE_LIMIT:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->COLUMN_CONTROL:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->COLUMN_CURRENT_BYTES:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->COLUMN_ERROR_MSG:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->COLUMN_FAILED_CONNECTIONS:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->COLUMN_FLAGS:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->COLUMN_LAST_MODIFICATION:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->COLUMN_LAST_UPDATESRC:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->COLUMN_MEDIAPROVIDER_URI:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->COLUMN_NO_INTEGRITY:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->COLUMN_OTHER_UID:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->COLUMN_STATUS:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->COLUMN_TOTAL_BYTES:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->COLUMN_USER_AGENT:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->CONTROL_PAUSED:I
-Landroid/provider/Downloads$Impl;->CONTROL_RUN:I
-Landroid/provider/Downloads$Impl;->DESTINATION_CACHE_PARTITION:I
-Landroid/provider/Downloads$Impl;->DESTINATION_CACHE_PARTITION_NOROAMING:I
-Landroid/provider/Downloads$Impl;->DESTINATION_EXTERNAL:I
-Landroid/provider/Downloads$Impl;->DESTINATION_NON_DOWNLOADMANAGER_DOWNLOAD:I
-Landroid/provider/Downloads$Impl;->DESTINATION_SYSTEMCACHE_PARTITION:I
-Landroid/provider/Downloads$Impl;->FLAG_REQUIRES_CHARGING:I
-Landroid/provider/Downloads$Impl;->FLAG_REQUIRES_DEVICE_IDLE:I
-Landroid/provider/Downloads$Impl;->isStatusClientError(I)Z
-Landroid/provider/Downloads$Impl;->isStatusInformational(I)Z
-Landroid/provider/Downloads$Impl;->isStatusServerError(I)Z
-Landroid/provider/Downloads$Impl;->LAST_UPDATESRC_DONT_NOTIFY_DOWNLOADSVC:I
-Landroid/provider/Downloads$Impl;->LAST_UPDATESRC_NOT_RELEVANT:I
-Landroid/provider/Downloads$Impl;->MIN_ARTIFICIAL_ERROR_STATUS:I
-Landroid/provider/Downloads$Impl;->PERMISSION_ACCESS:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->PERMISSION_ACCESS_ADVANCED:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->PERMISSION_ACCESS_ALL:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->PERMISSION_CACHE:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->PERMISSION_CACHE_NON_PURGEABLE:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->PERMISSION_NO_NOTIFICATION:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->PERMISSION_SEND_INTENTS:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->PUBLICLY_ACCESSIBLE_DOWNLOADS_URI_SEGMENT:Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->statusToString(I)Ljava/lang/String;
-Landroid/provider/Downloads$Impl;->STATUS_BAD_REQUEST:I
-Landroid/provider/Downloads$Impl;->STATUS_BLOCKED:I
-Landroid/provider/Downloads$Impl;->STATUS_CANCELED:I
-Landroid/provider/Downloads$Impl;->STATUS_CANNOT_RESUME:I
-Landroid/provider/Downloads$Impl;->STATUS_DEVICE_NOT_FOUND_ERROR:I
-Landroid/provider/Downloads$Impl;->STATUS_FILE_ALREADY_EXISTS_ERROR:I
-Landroid/provider/Downloads$Impl;->STATUS_FILE_ERROR:I
-Landroid/provider/Downloads$Impl;->STATUS_HTTP_DATA_ERROR:I
-Landroid/provider/Downloads$Impl;->STATUS_HTTP_EXCEPTION:I
-Landroid/provider/Downloads$Impl;->STATUS_INSUFFICIENT_SPACE_ERROR:I
-Landroid/provider/Downloads$Impl;->STATUS_LENGTH_REQUIRED:I
-Landroid/provider/Downloads$Impl;->STATUS_NOT_ACCEPTABLE:I
-Landroid/provider/Downloads$Impl;->STATUS_PAUSED_BY_APP:I
-Landroid/provider/Downloads$Impl;->STATUS_PENDING:I
-Landroid/provider/Downloads$Impl;->STATUS_PRECONDITION_FAILED:I
-Landroid/provider/Downloads$Impl;->STATUS_QUEUED_FOR_WIFI:I
-Landroid/provider/Downloads$Impl;->STATUS_RUNNING:I
-Landroid/provider/Downloads$Impl;->STATUS_SUCCESS:I
-Landroid/provider/Downloads$Impl;->STATUS_TOO_MANY_REDIRECTS:I
-Landroid/provider/Downloads$Impl;->STATUS_UNHANDLED_HTTP_CODE:I
-Landroid/provider/Downloads$Impl;->STATUS_UNHANDLED_REDIRECT:I
-Landroid/provider/Downloads$Impl;->STATUS_UNKNOWN_ERROR:I
-Landroid/provider/Downloads$Impl;->STATUS_WAITING_FOR_NETWORK:I
-Landroid/provider/Downloads$Impl;->STATUS_WAITING_TO_RETRY:I
-Landroid/provider/Downloads$Impl;->VISIBILITY_HIDDEN:I
-Landroid/provider/Downloads$Impl;->VISIBILITY_VISIBLE:I
-Landroid/provider/Downloads$Impl;->VISIBILITY_VISIBLE_NOTIFY_COMPLETED:I
-Landroid/provider/Downloads$Impl;->_DATA:Ljava/lang/String;
-Landroid/provider/Downloads;
-Landroid/provider/Downloads;-><init>()V
-Landroid/provider/Downloads;->QUERY_WHERE_CLAUSE:Ljava/lang/String;
-Landroid/provider/Downloads;->removeAllDownloadsByPackage(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/provider/FontRequest;->getIdentifier()Ljava/lang/String;
-Landroid/provider/FontRequest;->mCertificates:Ljava/util/List;
-Landroid/provider/FontRequest;->mIdentifier:Ljava/lang/String;
-Landroid/provider/FontRequest;->mProviderAuthority:Ljava/lang/String;
-Landroid/provider/FontRequest;->mProviderPackage:Ljava/lang/String;
-Landroid/provider/FontRequest;->mQuery:Ljava/lang/String;
-Landroid/provider/FontsContract$Columns;-><init>()V
-Landroid/provider/FontsContract$FontFamilyResult$FontResultStatus;
-Landroid/provider/FontsContract$FontFamilyResult;-><init>(I[Landroid/provider/FontsContract$FontInfo;)V
-Landroid/provider/FontsContract$FontFamilyResult;->mFonts:[Landroid/provider/FontsContract$FontInfo;
-Landroid/provider/FontsContract$FontFamilyResult;->mStatusCode:I
-Landroid/provider/FontsContract$FontInfo;-><init>(Landroid/net/Uri;I[Landroid/graphics/fonts/FontVariationAxis;IZI)V
-Landroid/provider/FontsContract$FontInfo;->mAxes:[Landroid/graphics/fonts/FontVariationAxis;
-Landroid/provider/FontsContract$FontInfo;->mItalic:Z
-Landroid/provider/FontsContract$FontInfo;->mResultCode:I
-Landroid/provider/FontsContract$FontInfo;->mTtcIndex:I
-Landroid/provider/FontsContract$FontInfo;->mUri:Landroid/net/Uri;
-Landroid/provider/FontsContract$FontInfo;->mWeight:I
-Landroid/provider/FontsContract$FontRequestCallback$FontRequestFailReason;
-Landroid/provider/FontsContract;-><init>()V
-Landroid/provider/FontsContract;->convertToByteArrayList([Landroid/content/pm/Signature;)Ljava/util/List;
-Landroid/provider/FontsContract;->equalsByteArrayList(Ljava/util/List;Ljava/util/List;)Z
-Landroid/provider/FontsContract;->getFontFromProvider(Landroid/content/Context;Landroid/provider/FontRequest;Ljava/lang/String;Landroid/os/CancellationSignal;)[Landroid/provider/FontsContract$FontInfo;
-Landroid/provider/FontsContract;->getFontSync(Landroid/provider/FontRequest;)Landroid/graphics/Typeface;
-Landroid/provider/FontsContract;->getProvider(Landroid/content/pm/PackageManager;Landroid/provider/FontRequest;)Landroid/content/pm/ProviderInfo;
-Landroid/provider/FontsContract;->prepareFontData(Landroid/content/Context;[Landroid/provider/FontsContract$FontInfo;Landroid/os/CancellationSignal;)Ljava/util/Map;
-Landroid/provider/FontsContract;->sByteArrayComparator:Ljava/util/Comparator;
-Landroid/provider/FontsContract;->sContext:Landroid/content/Context;
-Landroid/provider/FontsContract;->setApplicationContextForResources(Landroid/content/Context;)V
-Landroid/provider/FontsContract;->sHandler:Landroid/os/Handler;
-Landroid/provider/FontsContract;->sInQueueSet:Ljava/util/Set;
-Landroid/provider/FontsContract;->sLock:Ljava/lang/Object;
-Landroid/provider/FontsContract;->sReplaceDispatcherThreadRunnable:Ljava/lang/Runnable;
-Landroid/provider/FontsContract;->sThread:Landroid/os/HandlerThread;
-Landroid/provider/FontsContract;->sTypefaceCache:Landroid/util/LruCache;
-Landroid/provider/FontsContract;->SYNC_FONT_FETCH_TIMEOUT_MS:J
-Landroid/provider/FontsContract;->TAG:Ljava/lang/String;
-Landroid/provider/FontsContract;->THREAD_RENEWAL_THRESHOLD_MS:I
-Landroid/provider/LiveFolders;-><init>()V
-Landroid/provider/MediaStore$Audio$AudioColumns;->ALBUM_ARTIST:Ljava/lang/String;
-Landroid/provider/MediaStore$Audio$AudioColumns;->COMPILATION:Ljava/lang/String;
-Landroid/provider/MediaStore$Audio$AudioColumns;->GENRE:Ljava/lang/String;
-Landroid/provider/MediaStore$Audio$AudioColumns;->TITLE_RESOURCE_URI:Ljava/lang/String;
-Landroid/provider/MediaStore$Audio$Media;->EXTERNAL_PATHS:[Ljava/lang/String;
-Landroid/provider/MediaStore$Audio$Radio;-><init>()V
-Landroid/provider/MediaStore$Files;->getDirectoryUri(Ljava/lang/String;)Landroid/net/Uri;
-Landroid/provider/MediaStore$Images$Media;->StoreThumbnail(Landroid/content/ContentResolver;Landroid/graphics/Bitmap;JFFI)Landroid/graphics/Bitmap;
-Landroid/provider/MediaStore$InternalThumbnails;
-Landroid/provider/MediaStore$InternalThumbnails;-><init>()V
-Landroid/provider/MediaStore$InternalThumbnails;->cancelThumbnailRequest(Landroid/content/ContentResolver;JLandroid/net/Uri;J)V
-Landroid/provider/MediaStore$InternalThumbnails;->DEFAULT_GROUP_ID:I
-Landroid/provider/MediaStore$InternalThumbnails;->FULL_SCREEN_KIND:I
-Landroid/provider/MediaStore$InternalThumbnails;->getMiniThumbFromFile(Landroid/database/Cursor;Landroid/net/Uri;Landroid/content/ContentResolver;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
-Landroid/provider/MediaStore$InternalThumbnails;->getThumbnail(Landroid/content/ContentResolver;JJILandroid/graphics/BitmapFactory$Options;Landroid/net/Uri;Z)Landroid/graphics/Bitmap;
-Landroid/provider/MediaStore$InternalThumbnails;->MICRO_KIND:I
-Landroid/provider/MediaStore$InternalThumbnails;->MINI_KIND:I
-Landroid/provider/MediaStore$InternalThumbnails;->PROJECTION:[Ljava/lang/String;
-Landroid/provider/MediaStore$InternalThumbnails;->sThumbBuf:[B
-Landroid/provider/MediaStore$InternalThumbnails;->sThumbBufLock:Ljava/lang/Object;
-Landroid/provider/MediaStore$MediaColumns;->MEDIA_SCANNER_NEW_OBJECT_ID:Ljava/lang/String;
-Landroid/provider/MediaStore;->CONTENT_AUTHORITY_SLASH:Ljava/lang/String;
-Landroid/provider/MediaStore;->getDocumentUri(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/util/List;)Landroid/net/Uri;
-Landroid/provider/MediaStore;->getFilePath(Landroid/content/ContentResolver;Landroid/net/Uri;)Ljava/lang/String;
-Landroid/provider/MediaStore;->PARAM_DELETE_DATA:Ljava/lang/String;
-Landroid/provider/MediaStore;->RETRANSLATE_CALL:Ljava/lang/String;
-Landroid/provider/MediaStore;->TAG:Ljava/lang/String;
-Landroid/provider/MediaStore;->UNHIDE_CALL:Ljava/lang/String;
-Landroid/provider/MetadataReader;
-Landroid/provider/MetadataReader;-><init>()V
-Landroid/provider/MetadataReader;->DEFAULT_EXIF_TAGS:[Ljava/lang/String;
-Landroid/provider/MetadataReader;->getExifData(Ljava/io/InputStream;[Ljava/lang/String;)Landroid/os/Bundle;
-Landroid/provider/MetadataReader;->getMetadata(Landroid/os/Bundle;Ljava/io/InputStream;Ljava/lang/String;[Ljava/lang/String;)V
-Landroid/provider/MetadataReader;->isSupportedMimeType(Ljava/lang/String;)Z
-Landroid/provider/MetadataReader;->JPEG_MIME_TYPE:Ljava/lang/String;
-Landroid/provider/MetadataReader;->JPG_MIME_TYPE:Ljava/lang/String;
-Landroid/provider/MetadataReader;->TYPE_DOUBLE:I
-Landroid/provider/MetadataReader;->TYPE_INT:I
-Landroid/provider/MetadataReader;->TYPE_MAPPING:Ljava/util/Map;
-Landroid/provider/MetadataReader;->TYPE_STRING:I
-Landroid/provider/OneTimeUseBuilder;
-Landroid/provider/OneTimeUseBuilder;-><init>()V
-Landroid/provider/OneTimeUseBuilder;->build()Ljava/lang/Object;
-Landroid/provider/OneTimeUseBuilder;->checkNotUsed()V
-Landroid/provider/OneTimeUseBuilder;->markUsed()V
-Landroid/provider/OneTimeUseBuilder;->used:Z
-Landroid/provider/SearchIndexablesContract$BaseColumns;-><init>()V
-Landroid/provider/SearchIndexablesContract$NonIndexableKey;-><init>()V
-Landroid/provider/SearchIndexablesContract$RawData;-><init>()V
-Landroid/provider/SearchIndexablesContract$RawData;->PAYLOAD:Ljava/lang/String;
-Landroid/provider/SearchIndexablesContract$RawData;->PAYLOAD_TYPE:Ljava/lang/String;
-Landroid/provider/SearchIndexablesContract$SiteMapColumns;
-Landroid/provider/SearchIndexablesContract$SiteMapColumns;-><init>()V
-Landroid/provider/SearchIndexablesContract$SiteMapColumns;->CHILD_CLASS:Ljava/lang/String;
-Landroid/provider/SearchIndexablesContract$SiteMapColumns;->CHILD_TITLE:Ljava/lang/String;
-Landroid/provider/SearchIndexablesContract$SiteMapColumns;->PARENT_CLASS:Ljava/lang/String;
-Landroid/provider/SearchIndexablesContract$SiteMapColumns;->PARENT_TITLE:Ljava/lang/String;
-Landroid/provider/SearchIndexablesContract$XmlResource;-><init>()V
-Landroid/provider/SearchIndexablesContract;->COLUMN_INDEX_RAW_PAYLOAD:I
-Landroid/provider/SearchIndexablesContract;->COLUMN_INDEX_RAW_PAYLOAD_TYPE:I
-Landroid/provider/SearchIndexablesContract;->SETTINGS:Ljava/lang/String;
-Landroid/provider/SearchIndexablesContract;->SITE_MAP_COLUMNS:[Ljava/lang/String;
-Landroid/provider/SearchIndexablesContract;->SITE_MAP_PAIRS_KEYS:Ljava/lang/String;
-Landroid/provider/SearchIndexablesContract;->SITE_MAP_PAIRS_PATH:Ljava/lang/String;
-Landroid/provider/SearchIndexablesProvider;->MATCH_NON_INDEXABLE_KEYS_CODE:I
-Landroid/provider/SearchIndexablesProvider;->MATCH_RAW_CODE:I
-Landroid/provider/SearchIndexablesProvider;->MATCH_RES_CODE:I
-Landroid/provider/SearchIndexablesProvider;->MATCH_SITE_MAP_PAIRS_CODE:I
-Landroid/provider/SearchIndexablesProvider;->mAuthority:Ljava/lang/String;
-Landroid/provider/SearchIndexablesProvider;->mMatcher:Landroid/content/UriMatcher;
-Landroid/provider/SearchIndexablesProvider;->querySiteMapPairs()Landroid/database/Cursor;
-Landroid/provider/SearchIndexablesProvider;->TAG:Ljava/lang/String;
-Landroid/provider/SearchRecentSuggestions$SuggestionColumns;
-Landroid/provider/SearchRecentSuggestions$SuggestionColumns;-><init>()V
-Landroid/provider/SearchRecentSuggestions$SuggestionColumns;->DATE:Ljava/lang/String;
-Landroid/provider/SearchRecentSuggestions$SuggestionColumns;->DISPLAY1:Ljava/lang/String;
-Landroid/provider/SearchRecentSuggestions$SuggestionColumns;->DISPLAY2:Ljava/lang/String;
-Landroid/provider/SearchRecentSuggestions$SuggestionColumns;->QUERY:Ljava/lang/String;
-Landroid/provider/SearchRecentSuggestions;->LOG_TAG:Ljava/lang/String;
-Landroid/provider/SearchRecentSuggestions;->mAuthority:Ljava/lang/String;
-Landroid/provider/SearchRecentSuggestions;->MAX_HISTORY_COUNT:I
-Landroid/provider/SearchRecentSuggestions;->mContext:Landroid/content/Context;
-Landroid/provider/SearchRecentSuggestions;->mSuggestionsUri:Landroid/net/Uri;
-Landroid/provider/SearchRecentSuggestions;->mTwoLineDisplay:Z
-Landroid/provider/SearchRecentSuggestions;->saveRecentQueryBlocking(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/provider/SearchRecentSuggestions;->sWritesInProgress:Ljava/util/concurrent/Semaphore;
-Landroid/provider/SearchRecentSuggestions;->waitForSave()V
-Landroid/provider/Settings$Bookmarks;
-Landroid/provider/Settings$Bookmarks;-><init>()V
-Landroid/provider/Settings$Bookmarks;->FOLDER:Ljava/lang/String;
-Landroid/provider/Settings$Bookmarks;->getIntentForShortcut(Landroid/content/ContentResolver;C)Landroid/content/Intent;
-Landroid/provider/Settings$Bookmarks;->getLabelForFolder(Landroid/content/res/Resources;Ljava/lang/String;)Ljava/lang/CharSequence;
-Landroid/provider/Settings$Bookmarks;->getTitle(Landroid/content/Context;Landroid/database/Cursor;)Ljava/lang/CharSequence;
-Landroid/provider/Settings$Bookmarks;->ID:Ljava/lang/String;
-Landroid/provider/Settings$Bookmarks;->INTENT:Ljava/lang/String;
-Landroid/provider/Settings$Bookmarks;->ORDERING:Ljava/lang/String;
-Landroid/provider/Settings$Bookmarks;->SHORTCUT:Ljava/lang/String;
-Landroid/provider/Settings$Bookmarks;->sIntentProjection:[Ljava/lang/String;
-Landroid/provider/Settings$Bookmarks;->sShortcutProjection:[Ljava/lang/String;
-Landroid/provider/Settings$Bookmarks;->sShortcutSelection:Ljava/lang/String;
-Landroid/provider/Settings$Bookmarks;->TAG:Ljava/lang/String;
-Landroid/provider/Settings$Bookmarks;->TITLE:Ljava/lang/String;
-Landroid/provider/Settings$ContentProviderHolder;
-Landroid/provider/Settings$ContentProviderHolder;-><init>(Landroid/net/Uri;)V
-Landroid/provider/Settings$ContentProviderHolder;->clearProviderForTest()V
-Landroid/provider/Settings$ContentProviderHolder;->getProvider(Landroid/content/ContentResolver;)Landroid/content/IContentProvider;
-Landroid/provider/Settings$ContentProviderHolder;->mLock:Ljava/lang/Object;
-Landroid/provider/Settings$ContentProviderHolder;->mUri:Landroid/net/Uri;
-Landroid/provider/Settings$GenerationTracker;
-Landroid/provider/Settings$GenerationTracker;-><init>(Landroid/util/MemoryIntArray;IILjava/lang/Runnable;)V
-Landroid/provider/Settings$GenerationTracker;->destroy()V
-Landroid/provider/Settings$GenerationTracker;->getCurrentGeneration()I
-Landroid/provider/Settings$GenerationTracker;->isGenerationChanged()Z
-Landroid/provider/Settings$GenerationTracker;->mArray:Landroid/util/MemoryIntArray;
-Landroid/provider/Settings$GenerationTracker;->mCurrentGeneration:I
-Landroid/provider/Settings$GenerationTracker;->mErrorHandler:Ljava/lang/Runnable;
-Landroid/provider/Settings$GenerationTracker;->mIndex:I
-Landroid/provider/Settings$GenerationTracker;->readCurrentGeneration()I
-Landroid/provider/Settings$Global;->ACTIVITY_MANAGER_CONSTANTS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ADAPTIVE_BATTERY_MANAGEMENT_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ADD_USERS_WHEN_LOCKED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->AIRPLANE_MODE_TOGGLEABLE_RADIOS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ALARM_MANAGER_CONSTANTS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ALLOW_USER_SWITCHING_WHEN_SYSTEM_USER_LOCKED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ALWAYS_ON_DISPLAY_CONSTANTS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ANOMALY_CONFIG:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ANOMALY_CONFIG_VERSION:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ANOMALY_DETECTION_CONSTANTS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->APN_DB_UPDATE_CONTENT_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->APN_DB_UPDATE_METADATA_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->APP_AUTO_RESTRICTION_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->APP_AUTO_RESTRICTION_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->APP_IDLE_CONSTANTS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->APP_OPS_CONSTANTS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->APP_STANDBY_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ASSISTED_GPS_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->AUDIO_SAFE_VOLUME_STATE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->AUTO_TIME_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->AUTO_TIME_ZONE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->BACKUP_AGENT_TIMEOUT_PARAMETERS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BATTERY_DISCHARGE_DURATION_THRESHOLD:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BATTERY_DISCHARGE_THRESHOLD:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BATTERY_SAVER_CONSTANTS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BATTERY_SAVER_DEVICE_SPECIFIC_CONSTANTS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BATTERY_STATS_CONSTANTS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BATTERY_TIP_CONSTANTS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLE_SCAN_ALWAYS_AVAILABLE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLE_SCAN_BACKGROUND_MODE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLE_SCAN_BALANCED_INTERVAL_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLE_SCAN_BALANCED_WINDOW_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLE_SCAN_LOW_LATENCY_INTERVAL_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLE_SCAN_LOW_LATENCY_WINDOW_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLE_SCAN_LOW_POWER_INTERVAL_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLE_SCAN_LOW_POWER_WINDOW_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLOCKED_SLICES:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLOCKING_HELPER_DISMISS_TO_VIEW_RATIO_LIMIT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLOCKING_HELPER_STREAK_LIMIT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLUETOOTH_A2DP_OPTIONAL_CODECS_ENABLED_PREFIX:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLUETOOTH_A2DP_SINK_PRIORITY_PREFIX:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLUETOOTH_A2DP_SRC_PRIORITY_PREFIX:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLUETOOTH_A2DP_SUPPORTS_OPTIONAL_CODECS_PREFIX:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLUETOOTH_CLASS_OF_DEVICE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLUETOOTH_DISABLED_PROFILES:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLUETOOTH_HEADSET_PRIORITY_PREFIX:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLUETOOTH_HEARING_AID_PRIORITY_PREFIX:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLUETOOTH_INPUT_DEVICE_PRIORITY_PREFIX:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLUETOOTH_INTEROPERABILITY_LIST:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLUETOOTH_MAP_CLIENT_PRIORITY_PREFIX:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLUETOOTH_MAP_PRIORITY_PREFIX:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLUETOOTH_ON_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->BLUETOOTH_PAN_PRIORITY_PREFIX:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLUETOOTH_PBAP_CLIENT_PRIORITY_PREFIX:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BLUETOOTH_SAP_PRIORITY_PREFIX:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BUGREPORT_IN_POWER_MENU:Ljava/lang/String;
-Landroid/provider/Settings$Global;->BUGREPORT_IN_POWER_MENU_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->CALL_AUTO_RETRY:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CALL_AUTO_RETRY_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->CAPTIVE_PORTAL_DETECTION_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CAPTIVE_PORTAL_FALLBACK_PROBE_SPECS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CAPTIVE_PORTAL_FALLBACK_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CAPTIVE_PORTAL_HTTPS_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CAPTIVE_PORTAL_HTTP_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CAPTIVE_PORTAL_MODE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CAPTIVE_PORTAL_MODE_AVOID:I
-Landroid/provider/Settings$Global;->CAPTIVE_PORTAL_MODE_IGNORE:I
-Landroid/provider/Settings$Global;->CAPTIVE_PORTAL_MODE_PROMPT:I
-Landroid/provider/Settings$Global;->CAPTIVE_PORTAL_OTHER_FALLBACK_URLS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CAPTIVE_PORTAL_SERVER:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CAPTIVE_PORTAL_USER_AGENT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CAPTIVE_PORTAL_USE_HTTPS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CAR_DOCK_SOUND:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CAR_UNDOCK_SOUND:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CDMA_CELL_BROADCAST_SMS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CDMA_ROAMING_MODE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CDMA_SUBSCRIPTION_MODE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CELL_ON:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CERT_PIN_UPDATE_CONTENT_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CERT_PIN_UPDATE_METADATA_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CHAINED_BATTERY_ATTRIBUTION_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CHARGING_SOUNDS_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CHARGING_SOUNDS_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->CHARGING_STARTED_SOUND:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CHARGING_VIBRATION_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CHARGING_VIBRATION_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->clearProviderForTest()V
-Landroid/provider/Settings$Global;->COMPATIBILITY_MODE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CONNECTIVITY_CHANGE_DELAY:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CONNECTIVITY_METRICS_BUFFER_SIZE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CONNECTIVITY_SAMPLING_INTERVAL_IN_SECONDS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CONTACTS_DATABASE_WAL_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->CPU_SCALING_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DATABASE_CREATION_BUILDID:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DATABASE_DOWNGRADE_REASON:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DATA_ACTIVITY_TIMEOUT_MOBILE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DATA_ACTIVITY_TIMEOUT_WIFI:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DATA_STALL_ALARM_AGGRESSIVE_DELAY_IN_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DATA_STALL_ALARM_NON_AGGRESSIVE_DELAY_IN_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DEBUG_VIEW_ATTRIBUTES:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DEFAULT_DNS_SERVER:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DEFAULT_INSTALL_LOCATION:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DEFAULT_RESTRICT_BACKGROUND_DATA:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DESK_DOCK_SOUND:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DESK_UNDOCK_SOUND:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DEVELOPMENT_FORCE_RTL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DEVICE_DEMO_MODE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DEVICE_IDLE_CONSTANTS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DEVICE_POLICY_CONSTANTS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DEVICE_PROVISIONING_MOBILE_DATA_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DISK_FREE_CHANGE_REPORTING_THRESHOLD:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DISPLAY_PANEL_LPM:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DISPLAY_SCALING_FORCE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DISPLAY_SIZE_FORCED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DNS_RESOLVER_MAX_SAMPLES:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DNS_RESOLVER_MIN_SAMPLES:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DNS_RESOLVER_SAMPLE_VALIDITY_SECONDS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DNS_RESOLVER_SUCCESS_THRESHOLD_PERCENT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DOCK_AUDIO_MEDIA_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DOCK_AUDIO_MEDIA_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->DOCK_SOUNDS_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DOCK_SOUNDS_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->DOCK_SOUNDS_ENABLED_WHEN_ACCESSIBILITY:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DOWNLOAD_MAX_BYTES_OVER_MOBILE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DOWNLOAD_RECOMMENDED_MAX_BYTES_OVER_MOBILE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DROPBOX_AGE_SECONDS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DROPBOX_MAX_FILES:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DROPBOX_QUOTA_KB:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DROPBOX_QUOTA_PERCENT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DROPBOX_RESERVE_PERCENT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->DROPBOX_TAG_PREFIX:Ljava/lang/String;
-Landroid/provider/Settings$Global;->EMERGENCY_AFFORDANCE_NEEDED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->EMERGENCY_TONE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->EMERGENCY_TONE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->EMULATE_DISPLAY_CUTOUT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->EMULATE_DISPLAY_CUTOUT_OFF:I
-Landroid/provider/Settings$Global;->EMULATE_DISPLAY_CUTOUT_ON:I
-Landroid/provider/Settings$Global;->ENABLE_CACHE_QUOTA_CALCULATION:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ENABLE_CELLULAR_ON_BOOT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ENABLE_DELETION_HELPER_NO_THRESHOLD_TOGGLE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ENABLE_DISKSTATS_LOGGING:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ENABLE_EPHEMERAL_FEATURE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ENABLE_GNSS_RAW_MEAS_FULL_TRACKING:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ENABLE_GPU_DEBUG_LAYERS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ENCODED_SURROUND_OUTPUT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ENCODED_SURROUND_OUTPUT_ALWAYS:I
-Landroid/provider/Settings$Global;->ENCODED_SURROUND_OUTPUT_AUTO:I
-Landroid/provider/Settings$Global;->ENCODED_SURROUND_OUTPUT_ENABLED_FORMATS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ENCODED_SURROUND_OUTPUT_ENABLED_FORMATS_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->ENCODED_SURROUND_OUTPUT_MANUAL:I
-Landroid/provider/Settings$Global;->ENCODED_SURROUND_OUTPUT_NEVER:I
-Landroid/provider/Settings$Global;->ENCODED_SURROUND_OUTPUT_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->ENHANCED_4G_MODE_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->EPHEMERAL_COOKIE_MAX_SIZE_BYTES:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ERROR_LOGCAT_PREFIX:Ljava/lang/String;
-Landroid/provider/Settings$Global;->EUICC_FACTORY_RESET_TIMEOUT_MILLIS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->EUICC_SUPPORTED_COUNTRIES:Ljava/lang/String;
-Landroid/provider/Settings$Global;->FANCY_IME_ANIMATIONS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->FORCED_APP_STANDBY_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->FORCED_APP_STANDBY_FOR_SMALL_BATTERY_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->FORCE_ALLOW_ON_EXTERNAL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->FPS_DEVISOR:Ljava/lang/String;
-Landroid/provider/Settings$Global;->FSTRIM_MANDATORY_INTERVAL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->getBluetoothA2dpOptionalCodecsEnabledKey(Ljava/lang/String;)Ljava/lang/String;
-Landroid/provider/Settings$Global;->getBluetoothA2dpSinkPriorityKey(Ljava/lang/String;)Ljava/lang/String;
-Landroid/provider/Settings$Global;->getBluetoothA2dpSrcPriorityKey(Ljava/lang/String;)Ljava/lang/String;
-Landroid/provider/Settings$Global;->getBluetoothA2dpSupportsOptionalCodecsKey(Ljava/lang/String;)Ljava/lang/String;
-Landroid/provider/Settings$Global;->getBluetoothHeadsetPriorityKey(Ljava/lang/String;)Ljava/lang/String;
-Landroid/provider/Settings$Global;->getBluetoothHearingAidPriorityKey(Ljava/lang/String;)Ljava/lang/String;
-Landroid/provider/Settings$Global;->getBluetoothHidHostPriorityKey(Ljava/lang/String;)Ljava/lang/String;
-Landroid/provider/Settings$Global;->getBluetoothMapClientPriorityKey(Ljava/lang/String;)Ljava/lang/String;
-Landroid/provider/Settings$Global;->getBluetoothMapPriorityKey(Ljava/lang/String;)Ljava/lang/String;
-Landroid/provider/Settings$Global;->getBluetoothPanPriorityKey(Ljava/lang/String;)Ljava/lang/String;
-Landroid/provider/Settings$Global;->getBluetoothPbapClientPriorityKey(Ljava/lang/String;)Ljava/lang/String;
-Landroid/provider/Settings$Global;->getBluetoothSapPriorityKey(Ljava/lang/String;)Ljava/lang/String;
-Landroid/provider/Settings$Global;->getMovedToSecureSettings(Ljava/util/Set;)V
-Landroid/provider/Settings$Global;->GLOBAL_HTTP_PROXY_EXCLUSION_LIST:Ljava/lang/String;
-Landroid/provider/Settings$Global;->GLOBAL_HTTP_PROXY_HOST:Ljava/lang/String;
-Landroid/provider/Settings$Global;->GLOBAL_HTTP_PROXY_PAC:Ljava/lang/String;
-Landroid/provider/Settings$Global;->GLOBAL_HTTP_PROXY_PORT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->GNSS_HAL_LOCATION_REQUEST_DURATION_MILLIS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->GNSS_SATELLITE_BLACKLIST:Ljava/lang/String;
-Landroid/provider/Settings$Global;->GPRS_REGISTER_CHECK_PERIOD_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->GPU_DEBUG_APP:Ljava/lang/String;
-Landroid/provider/Settings$Global;->GPU_DEBUG_LAYERS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->HDMI_CONTROL_AUTO_DEVICE_OFF_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->HDMI_CONTROL_AUTO_WAKEUP_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->HDMI_CONTROL_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->HDMI_SYSTEM_AUDIO_CONTROL_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->HIDDEN_API_ACCESS_LOG_SAMPLING_RATE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->HIDDEN_API_POLICY_PRE_P_APPS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->HIDDEN_API_POLICY_P_APPS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->HIDE_ERROR_DIALOGS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->INET_CONDITION_DEBOUNCE_DOWN_DELAY:Ljava/lang/String;
-Landroid/provider/Settings$Global;->INET_CONDITION_DEBOUNCE_UP_DELAY:Ljava/lang/String;
-Landroid/provider/Settings$Global;->INSTALLED_INSTANT_APP_MAX_CACHE_PERIOD:Ljava/lang/String;
-Landroid/provider/Settings$Global;->INSTALLED_INSTANT_APP_MIN_CACHE_PERIOD:Ljava/lang/String;
-Landroid/provider/Settings$Global;->INSTANT_APP_DEXOPT_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->INSTANT_APP_SETTINGS:Ljava/util/Set;
-Landroid/provider/Settings$Global;->INTENT_FIREWALL_UPDATE_CONTENT_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->INTENT_FIREWALL_UPDATE_METADATA_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->isValidZenMode(I)Z
-Landroid/provider/Settings$Global;->JOB_SCHEDULER_CONSTANTS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->KEEP_PROFILE_IN_BACKGROUND:Ljava/lang/String;
-Landroid/provider/Settings$Global;->LANG_ID_UPDATE_CONTENT_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->LANG_ID_UPDATE_METADATA_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->LEGACY_RESTORE_SETTINGS:[Ljava/lang/String;
-Landroid/provider/Settings$Global;->LOCATION_BACKGROUND_THROTTLE_INTERVAL_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->LOCATION_BACKGROUND_THROTTLE_PACKAGE_WHITELIST:Ljava/lang/String;
-Landroid/provider/Settings$Global;->LOCATION_BACKGROUND_THROTTLE_PROXIMITY_ALERT_INTERVAL_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->LOCATION_SETTINGS_LINK_TO_PERMISSIONS_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->LOCK_SOUND:Ljava/lang/String;
-Landroid/provider/Settings$Global;->LOW_BATTERY_SOUND:Ljava/lang/String;
-Landroid/provider/Settings$Global;->LOW_BATTERY_SOUND_TIMEOUT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->LOW_POWER_MODE_SUGGESTION_PARAMS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->LOW_POWER_MODE_TRIGGER_LEVEL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->LOW_POWER_MODE_TRIGGER_LEVEL_MAX:Ljava/lang/String;
-Landroid/provider/Settings$Global;->LOW_POWER_MODE_TRIGGER_LEVEL_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->LTE_SERVICE_FORCED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->MAX_NOTIFICATION_ENQUEUE_RATE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->MAX_SOUND_TRIGGER_DETECTION_SERVICE_OPS_PER_DAY:Ljava/lang/String;
-Landroid/provider/Settings$Global;->MDC_INITIAL_MAX_RETRY:Ljava/lang/String;
-Landroid/provider/Settings$Global;->MHL_INPUT_SWITCHING_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->MHL_POWER_CHARGE_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->MOBILE_DATA_ALWAYS_ON:Ljava/lang/String;
-Landroid/provider/Settings$Global;->MULTI_SIM_DATA_CALL_SUBSCRIPTION:Ljava/lang/String;
-Landroid/provider/Settings$Global;->MULTI_SIM_SMS_PROMPT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->MULTI_SIM_SMS_SUBSCRIPTION:Ljava/lang/String;
-Landroid/provider/Settings$Global;->MULTI_SIM_VOICE_CALL_SUBSCRIPTION:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETPOLICY_OVERRIDE_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETPOLICY_QUOTA_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETPOLICY_QUOTA_FRAC_JOBS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETPOLICY_QUOTA_FRAC_MULTIPATH:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETPOLICY_QUOTA_LIMITED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETPOLICY_QUOTA_UNLIMITED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETSTATS_AUGMENT_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETSTATS_DEV_BUCKET_DURATION:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETSTATS_DEV_DELETE_AGE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETSTATS_DEV_PERSIST_BYTES:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETSTATS_DEV_ROTATE_AGE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETSTATS_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETSTATS_GLOBAL_ALERT_BYTES:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETSTATS_POLL_INTERVAL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETSTATS_SAMPLE_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETSTATS_TIME_CACHE_MAX_AGE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETSTATS_UID_BUCKET_DURATION:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETSTATS_UID_DELETE_AGE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETSTATS_UID_PERSIST_BYTES:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETSTATS_UID_ROTATE_AGE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETSTATS_UID_TAG_BUCKET_DURATION:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETSTATS_UID_TAG_DELETE_AGE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETSTATS_UID_TAG_PERSIST_BYTES:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETSTATS_UID_TAG_ROTATE_AGE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETWORK_ACCESS_TIMEOUT_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETWORK_AVOID_BAD_WIFI:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETWORK_DEFAULT_DAILY_MULTIPATH_QUOTA_BYTES:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETWORK_METERED_MULTIPATH_PREFERENCE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETWORK_RECOMMENDATIONS_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETWORK_RECOMMENDATIONS_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->NETWORK_RECOMMENDATIONS_PACKAGE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETWORK_RECOMMENDATION_REQUEST_TIMEOUT_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETWORK_SCORING_PROVISIONED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETWORK_SCORING_UI_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETWORK_SWITCH_NOTIFICATION_DAILY_LIMIT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETWORK_SWITCH_NOTIFICATION_RATE_LIMIT_MILLIS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETWORK_WATCHLIST_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NETWORK_WATCHLIST_LAST_REPORT_TIME:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NEW_CONTACT_AGGREGATOR:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NIGHT_DISPLAY_FORCED_AUTO_MODE_AVAILABLE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NITZ_UPDATE_DIFF:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NITZ_UPDATE_SPACING:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NOTIFICATION_SNOOZE_OPTIONS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NSD_ON:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NTP_SERVER:Ljava/lang/String;
-Landroid/provider/Settings$Global;->NTP_TIMEOUT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->OVERLAY_DISPLAY_DEVICES:Ljava/lang/String;
-Landroid/provider/Settings$Global;->OVERRIDE_SETTINGS_PROVIDER_RESTORE_ANY_VERSION:Ljava/lang/String;
-Landroid/provider/Settings$Global;->PACKAGE_VERIFIER_DEFAULT_RESPONSE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->PACKAGE_VERIFIER_INCLUDE_ADB:Ljava/lang/String;
-Landroid/provider/Settings$Global;->PACKAGE_VERIFIER_SETTING_VISIBLE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->PACKAGE_VERIFIER_TIMEOUT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->PAC_CHANGE_DELAY:Ljava/lang/String;
-Landroid/provider/Settings$Global;->PDP_WATCHDOG_ERROR_POLL_COUNT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->PDP_WATCHDOG_ERROR_POLL_INTERVAL_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->PDP_WATCHDOG_LONG_POLL_INTERVAL_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->PDP_WATCHDOG_MAX_PDP_RESET_FAIL_COUNT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->PDP_WATCHDOG_POLL_INTERVAL_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->PDP_WATCHDOG_TRIGGER_PACKET_COUNT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->POLICY_CONTROL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->POWER_MANAGER_CONSTANTS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->POWER_SOUNDS_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->POWER_SOUNDS_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->PRIVATE_DNS_DEFAULT_MODE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->PRIVATE_DNS_MODE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->PRIVATE_DNS_MODE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->PRIVATE_DNS_SPECIFIER:Ljava/lang/String;
-Landroid/provider/Settings$Global;->PRIVATE_DNS_SPECIFIER_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->PRIV_APP_OOB_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->PRIV_APP_OOB_LIST:Ljava/lang/String;
-Landroid/provider/Settings$Global;->PROVISIONING_APN_ALARM_DELAY_IN_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZI)Z
-Landroid/provider/Settings$Global;->RADIO_WIMAX:Ljava/lang/String;
-Landroid/provider/Settings$Global;->READ_EXTERNAL_STORAGE_ENFORCED_DEFAULT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->RECOMMENDED_NETWORK_EVALUATOR_CACHE_EXPIRY_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->resetToDefaultsAsUser(Landroid/content/ContentResolver;Ljava/lang/String;II)V
-Landroid/provider/Settings$Global;->SAFE_BOOT_DISALLOWED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SELINUX_STATUS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SELINUX_UPDATE_CONTENT_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SELINUX_UPDATE_METADATA_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SEND_ACTION_APP_ERROR:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SETTINGS_TO_BACKUP:[Ljava/lang/String;
-Landroid/provider/Settings$Global;->SETUP_PREPAID_DATA_SERVICE_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SETUP_PREPAID_DETECTION_REDIR_HOST:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SETUP_PREPAID_DETECTION_TARGET_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SET_GLOBAL_HTTP_PROXY:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SET_INSTALL_LOCATION:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SHORTCUT_MANAGER_CONSTANTS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SHOW_FIRST_CRASH_DIALOG:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SHOW_MUTE_IN_CRASH_DIALOG:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SHOW_NOTIFICATION_CHANNEL_WARNINGS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SHOW_RESTART_IN_CRASH_DIALOG:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SHOW_TEMPERATURE_WARNING:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SHOW_ZEN_SETTINGS_SUGGESTION:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SHOW_ZEN_UPGRADE_NOTIFICATION:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SMART_REPLIES_IN_NOTIFICATIONS_FLAGS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SMART_SELECTION_UPDATE_CONTENT_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SMART_SELECTION_UPDATE_METADATA_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SMS_OUTGOING_CHECK_INTERVAL_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SMS_OUTGOING_CHECK_MAX_COUNT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SMS_SHORT_CODES_UPDATE_CONTENT_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SMS_SHORT_CODES_UPDATE_METADATA_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SMS_SHORT_CODE_CONFIRMATION:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SMS_SHORT_CODE_RULE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SOFT_AP_TIMEOUT_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SOFT_AP_TIMEOUT_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->SOUND_TRIGGER_DETECTION_SERVICE_OP_TIMEOUT:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SPEED_LABEL_CACHE_EVICTION_AGE_MILLIS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SQLITE_COMPATIBILITY_WAL_FLAGS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->STAY_ON_WHILE_PLUGGED_IN_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->STORAGE_BENCHMARK_INTERVAL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->STORAGE_SETTINGS_CLOBBER_THRESHOLD:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SWAP_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SYNC_MANAGER_CONSTANTS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SYNC_MAX_RETRY_DELAY_IN_SECONDS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SYS_FREE_STORAGE_LOG_INTERVAL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SYS_STORAGE_CACHE_MAX_BYTES:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SYS_STORAGE_CACHE_PERCENTAGE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SYS_STORAGE_FULL_THRESHOLD_BYTES:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SYS_STORAGE_THRESHOLD_MAX_BYTES:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SYS_STORAGE_THRESHOLD_PERCENTAGE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SYS_TRACED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SYS_UIDCPUPOWER:Ljava/lang/String;
-Landroid/provider/Settings$Global;->SYS_VDSO:Ljava/lang/String;
-Landroid/provider/Settings$Global;->TCP_DEFAULT_INIT_RWND:Ljava/lang/String;
-Landroid/provider/Settings$Global;->TETHER_DUN_APN:Ljava/lang/String;
-Landroid/provider/Settings$Global;->TETHER_DUN_REQUIRED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->TETHER_OFFLOAD_DISABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->TETHER_SUPPORTED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->TEXT_CLASSIFIER_CONSTANTS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->TIME_ONLY_MODE_CONSTANTS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->TRANSIENT_SETTINGS:[Ljava/lang/String;
-Landroid/provider/Settings$Global;->TRUSTED_SOUND:Ljava/lang/String;
-Landroid/provider/Settings$Global;->TZINFO_UPDATE_CONTENT_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->TZINFO_UPDATE_METADATA_URL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->UNGAZE_SLEEP_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->UNINSTALLED_INSTANT_APP_MAX_CACHE_PERIOD:Ljava/lang/String;
-Landroid/provider/Settings$Global;->UNINSTALLED_INSTANT_APP_MIN_CACHE_PERIOD:Ljava/lang/String;
-Landroid/provider/Settings$Global;->UNLOCK_SOUND:Ljava/lang/String;
-Landroid/provider/Settings$Global;->UNUSED_STATIC_SHARED_LIB_MIN_CACHE_PERIOD:Ljava/lang/String;
-Landroid/provider/Settings$Global;->USB_MASS_STORAGE_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->USER_ABSENT_RADIOS_OFF_FOR_SMALL_BATTERY_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->USE_OPEN_WIFI_PACKAGE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->VALIDATORS:Ljava/util/Map;
-Landroid/provider/Settings$Global;->VT_IMS_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WARNING_TEMPERATURE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WEBVIEW_DATA_REDUCTION_PROXY_KEY:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WEBVIEW_FALLBACK_LOGIC_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WFC_IMS_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WFC_IMS_MODE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WFC_IMS_ROAMING_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WFC_IMS_ROAMING_MODE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_BOUNCE_DELAY_OVERRIDE_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_CARRIER_NETWORKS_AVAILABLE_NOTIFICATION_ON:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_CARRIER_NETWORKS_AVAILABLE_NOTIFICATION_ON_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_COUNTRY_CODE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_DISPLAY_CERTIFICATION_ON:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_DISPLAY_ON:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_DISPLAY_WPS_CONFIG:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_ENHANCED_AUTO_JOIN:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_EPHEMERAL_OUT_OF_RANGE_TIMEOUT_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_FRAMEWORK_SCAN_INTERVAL_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_FREQUENCY_BAND:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_IDLE_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->WIFI_NETWORK_SHOW_RSSI:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_NUM_OPEN_NETWORKS_KEPT_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->WIFI_ON_WHEN_PROXY_DISCONNECTED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_P2P_DEVICE_NAME:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_REENABLE_DELAY_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_RTT_BACKGROUND_EXEC_GAP_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_SCAN_ALWAYS_AVAILABLE:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_SCAN_INTERVAL_WHEN_P2P_CONNECTED_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_SCORE_PARAMS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_SUPPLICANT_SCAN_INTERVAL_MS:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_SUSPEND_OPTIMIZATIONS_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_VERBOSE_LOGGING_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WIFI_WAKEUP_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->WIFI_WATCHDOG_POOR_NETWORK_TEST_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->WIMAX_NETWORKS_AVAILABLE_NOTIFICATION_ON:Ljava/lang/String;
-Landroid/provider/Settings$Global;->WTF_IS_FATAL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->zenModeToString(I)Ljava/lang/String;
-Landroid/provider/Settings$Global;->ZEN_DURATION:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ZEN_DURATION_FOREVER:I
-Landroid/provider/Settings$Global;->ZEN_DURATION_PROMPT:I
-Landroid/provider/Settings$Global;->ZEN_DURATION_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Global;->ZEN_MODE_RINGER_LEVEL:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ZEN_SETTINGS_SUGGESTION_VIEWED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ZEN_SETTINGS_UPDATED:Ljava/lang/String;
-Landroid/provider/Settings$Global;->ZRAM_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$NameValueCache;
-Landroid/provider/Settings$NameValueCache;-><init>(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Landroid/provider/Settings$ContentProviderHolder;)V
-Landroid/provider/Settings$NameValueCache;->clearGenerationTrackerForTest()V
-Landroid/provider/Settings$NameValueCache;->DEBUG:Z
-Landroid/provider/Settings$NameValueCache;->mCallGetCommand:Ljava/lang/String;
-Landroid/provider/Settings$NameValueCache;->mCallSetCommand:Ljava/lang/String;
-Landroid/provider/Settings$NameValueCache;->mGenerationTracker:Landroid/provider/Settings$GenerationTracker;
-Landroid/provider/Settings$NameValueCache;->mUri:Landroid/net/Uri;
-Landroid/provider/Settings$NameValueCache;->mValues:Ljava/util/HashMap;
-Landroid/provider/Settings$NameValueCache;->NAME_EQ_PLACEHOLDER:Ljava/lang/String;
-Landroid/provider/Settings$NameValueCache;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZI)Z
-Landroid/provider/Settings$NameValueCache;->SELECT_VALUE_PROJECTION:[Ljava/lang/String;
-Landroid/provider/Settings$ResetMode;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_AUTOCLICK_DELAY:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_AUTOCLICK_DELAY_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_AUTOCLICK_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_BUTTON_TARGET_COMPONENT:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_BUTTON_TARGET_COMPONENT_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_BACKGROUND_COLOR:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_BACKGROUND_COLOR_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_EDGE_COLOR:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_EDGE_COLOR_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_EDGE_TYPE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_EDGE_TYPE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_FONT_SCALE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_FONT_SCALE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_FOREGROUND_COLOR:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_FOREGROUND_COLOR_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_LOCALE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_LOCALE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_PRESET:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_PRESET_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_TYPEFACE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_WINDOW_COLOR:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_WINDOW_COLOR_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_DISPLAY_DALTONIZER_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_DISPLAY_INVERSION_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_DISPLAY_MAGNIFICATION_AUTO_UPDATE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_DISPLAY_MAGNIFICATION_SCALE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_DISPLAY_MAGNIFICATION_SCALE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_LARGE_POINTER_ICON_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_SHORTCUT_DIALOG_SHOWN:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_SHORTCUT_DIALOG_SHOWN_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_SHORTCUT_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_SHORTCUT_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_SHORTCUT_TARGET_SERVICE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_SHORTCUT_TARGET_SERVICE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_SOFT_KEYBOARD_MODE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ACCESSIBILITY_SPEAK_PASSWORD_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ALLOW_MOCK_LOCATION_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ALWAYS_ON_VPN_APP:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ALWAYS_ON_VPN_LOCKDOWN:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ASSIST_DISCLOSURE_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ASSIST_GESTURE_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ASSIST_GESTURE_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ASSIST_GESTURE_SENSITIVITY:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ASSIST_GESTURE_SENSITIVITY_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ASSIST_GESTURE_SETUP_COMPLETE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ASSIST_GESTURE_SETUP_COMPLETE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ASSIST_GESTURE_SILENCE_ALERTS_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ASSIST_GESTURE_SILENCE_ALERTS_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ASSIST_GESTURE_WAKE_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ASSIST_GESTURE_WAKE_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ASSIST_SCREENSHOT_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ASSIST_STRUCTURE_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->AUTOFILL_SERVICE_SEARCH_URI:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->AUTOFILL_SERVICE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->AUTOMATIC_STORAGE_MANAGER_BYTES_CLEARED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->AUTOMATIC_STORAGE_MANAGER_DAYS_TO_RETAIN:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->AUTOMATIC_STORAGE_MANAGER_DAYS_TO_RETAIN_DEFAULT:I
-Landroid/provider/Settings$Secure;->AUTOMATIC_STORAGE_MANAGER_DAYS_TO_RETAIN_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->AUTOMATIC_STORAGE_MANAGER_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->AUTOMATIC_STORAGE_MANAGER_LAST_RUN:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->AUTOMATIC_STORAGE_MANAGER_TURNED_OFF_BY_POLICY:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->BACKUP_LOCAL_TRANSPORT_PARAMETERS:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->BACKUP_MANAGER_CONSTANTS:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->BLUETOOTH_ON_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->BLUETOOTH_ON_WHILE_DRIVING:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->BUGREPORT_IN_POWER_MENU:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->BUGREPORT_IN_POWER_MENU_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->CAMERA_GESTURE_DISABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->CAMERA_GESTURE_DISABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->CAMERA_LIFT_TRIGGER_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->CAMERA_LIFT_TRIGGER_ENABLED_DEFAULT:I
-Landroid/provider/Settings$Secure;->CARRIER_APPS_HANDLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->clearProviderForTest()V
-Landroid/provider/Settings$Secure;->CLONE_TO_MANAGED_PROFILE:Ljava/util/Set;
-Landroid/provider/Settings$Secure;->CMAS_ADDITIONAL_BROADCAST_PKG:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->COMPLETED_CATEGORY_PREFIX:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->CONNECTIVITY_RELEASE_PENDING_INTENT_DELAY_MS:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->DEVICE_PAIRED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->DISABLED_SYSTEM_INPUT_METHODS:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->DISPLAY_DENSITY_FORCED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->DOUBLE_TAP_TO_WAKE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->DOUBLE_TAP_TO_WAKE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->DOZE_ALWAYS_ON:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->DOZE_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->DOZE_PULSE_ON_DOUBLE_TAP:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->DOZE_PULSE_ON_DOUBLE_TAP_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->DOZE_PULSE_ON_LONG_PRESS:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->DOZE_PULSE_ON_PICK_UP:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->DOZE_PULSE_ON_PICK_UP_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->EMERGENCY_ASSISTANCE_APPLICATION:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ENABLED_ACCESSIBILITY_SERVICES_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ENABLED_NOTIFICATION_ASSISTANT:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ENABLED_NOTIFICATION_ASSISTANT_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ENABLED_NOTIFICATION_LISTENERS_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ENABLED_NOTIFICATION_POLICY_ACCESS_PACKAGES_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ENABLED_VR_LISTENERS:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ENABLED_VR_LISTENERS_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->ENHANCED_VOICE_PRIVACY_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->ENHANCED_VOICE_PRIVACY_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->getCloneToManagedProfileSettings(Ljava/util/Set;)V
-Landroid/provider/Settings$Secure;->getFloatForUser(Landroid/content/ContentResolver;Ljava/lang/String;FI)F
-Landroid/provider/Settings$Secure;->getFloatForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)F
-Landroid/provider/Settings$Secure;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)I
-Landroid/provider/Settings$Secure;->getLocationModeForUser(Landroid/content/ContentResolver;I)I
-Landroid/provider/Settings$Secure;->getLongForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)J
-Landroid/provider/Settings$Secure;->getMovedToGlobalSettings(Ljava/util/Set;)V
-Landroid/provider/Settings$Secure;->HUSH_GESTURE_USED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->HUSH_GESTURE_USED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->INCALL_BACK_BUTTON_BEHAVIOR:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->INCALL_BACK_BUTTON_BEHAVIOR_DEFAULT:I
-Landroid/provider/Settings$Secure;->INCALL_BACK_BUTTON_BEHAVIOR_HANGUP:I
-Landroid/provider/Settings$Secure;->INCALL_BACK_BUTTON_BEHAVIOR_NONE:I
-Landroid/provider/Settings$Secure;->INCALL_POWER_BUTTON_BEHAVIOR_DEFAULT:I
-Landroid/provider/Settings$Secure;->INCALL_POWER_BUTTON_BEHAVIOR_HANGUP:I
-Landroid/provider/Settings$Secure;->INCALL_POWER_BUTTON_BEHAVIOR_SCREEN_OFF:I
-Landroid/provider/Settings$Secure;->INCALL_POWER_BUTTON_BEHAVIOR_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->INPUT_METHODS_SUBTYPE_HISTORY:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->INSTANT_APP_SETTINGS:Ljava/util/Set;
-Landroid/provider/Settings$Secure;->isLocationProviderEnabledForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
-Landroid/provider/Settings$Secure;->KEYGUARD_SLICE_URI:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->LAST_SETUP_SHOWN:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->LEGACY_RESTORE_SETTINGS:[Ljava/lang/String;
-Landroid/provider/Settings$Secure;->LOCATION_CHANGER:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->LOCATION_CHANGER_QUICK_SETTINGS:I
-Landroid/provider/Settings$Secure;->LOCATION_CHANGER_SYSTEM_SETTINGS:I
-Landroid/provider/Settings$Secure;->LOCATION_CHANGER_UNKNOWN:I
-Landroid/provider/Settings$Secure;->LOCKDOWN_IN_POWER_MENU:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->LOCKDOWN_IN_POWER_MENU_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->LOCK_BIOMETRIC_WEAK_FLAGS:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->LOCK_SCREEN_ALLOW_REMOTE_INPUT:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->LOCK_SCREEN_APPWIDGET_IDS:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->LOCK_SCREEN_FALLBACK_APPWIDGET_ID:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->LOCK_SCREEN_OWNER_INFO:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->LOCK_SCREEN_STICKY_APPWIDGET:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->LOCK_TO_APP_EXIT_LOCKED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->LONG_PRESS_TIMEOUT_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->LOW_POWER_MANUAL_ACTIVATION_COUNT:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->LOW_POWER_WARNING_ACKNOWLEDGED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->MANAGED_PROFILE_CONTACT_REMOTE_SEARCH:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->MANUAL_RINGER_TOGGLE_COUNT:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->MANUAL_RINGER_TOGGLE_COUNT_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->MOUNT_PLAY_NOTIFICATION_SND:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->MOUNT_PLAY_NOTIFICATION_SND_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->MOUNT_UMS_AUTOSTART:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->MOUNT_UMS_AUTOSTART_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->MOUNT_UMS_NOTIFY_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->MOUNT_UMS_NOTIFY_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->MOUNT_UMS_PROMPT:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->MOUNT_UMS_PROMPT_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->MULTI_PRESS_TIMEOUT:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->NFC_PAYMENT_DEFAULT_COMPONENT_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->NFC_PAYMENT_FOREGROUND:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->NIGHT_DISPLAY_ACTIVATED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->NIGHT_DISPLAY_AUTO_MODE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->NIGHT_DISPLAY_AUTO_MODE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->NIGHT_DISPLAY_COLOR_TEMPERATURE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->NIGHT_DISPLAY_COLOR_TEMPERATURE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->NIGHT_DISPLAY_CUSTOM_END_TIME:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->NIGHT_DISPLAY_CUSTOM_END_TIME_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->NIGHT_DISPLAY_CUSTOM_START_TIME:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->NIGHT_DISPLAY_CUSTOM_START_TIME_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->NIGHT_DISPLAY_LAST_ACTIVATED_TIME:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->NOTIFICATION_BADGING:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->NOTIFICATION_BADGING_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->NUM_ROTATION_SUGGESTIONS_ACCEPTED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->PACKAGES_TO_CLEAR_DATA_BEFORE_FULL_RESTORE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->PACKAGE_VERIFIER_STATE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->PAYMENT_SERVICE_SEARCH_URI:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->PREFERRED_TTY_MODE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->PREFERRED_TTY_MODE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->PRINT_SERVICE_SEARCH_URI:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->putFloatForUser(Landroid/content/ContentResolver;Ljava/lang/String;FI)Z
-Landroid/provider/Settings$Secure;->QS_AUTO_ADDED_TILES:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->QS_AUTO_ADDED_TILES_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->QS_TILES:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->QS_TILES_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->resetToDefaultsAsUser(Landroid/content/ContentResolver;Ljava/lang/String;II)V
-Landroid/provider/Settings$Secure;->RTT_CALLING_MODE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->SCREENSAVER_ACTIVATE_ON_DOCK:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SCREENSAVER_ACTIVATE_ON_DOCK_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->SCREENSAVER_ACTIVATE_ON_SLEEP:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SCREENSAVER_ACTIVATE_ON_SLEEP_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->SCREENSAVER_COMPONENTS:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SCREENSAVER_COMPONENTS_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->SCREENSAVER_DEFAULT_COMPONENT:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SCREENSAVER_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SCREENSAVER_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->SEARCH_GLOBAL_SEARCH_ACTIVITY:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SEARCH_MAX_RESULTS_PER_SOURCE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SEARCH_MAX_RESULTS_TO_DISPLAY:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SEARCH_MAX_SHORTCUTS_RETURNED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SEARCH_MAX_SOURCE_EVENT_AGE_MILLIS:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SEARCH_MAX_STAT_AGE_MILLIS:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SEARCH_MIN_CLICKS_FOR_SOURCE_RANKING:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SEARCH_MIN_IMPRESSIONS_FOR_SOURCE_RANKING:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SEARCH_NUM_PROMOTED_SOURCES:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SEARCH_PER_SOURCE_CONCURRENT_QUERY_LIMIT:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SEARCH_PREFILL_MILLIS:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SEARCH_PROMOTED_SOURCE_DEADLINE_MILLIS:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SEARCH_QUERY_THREAD_CORE_POOL_SIZE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SEARCH_QUERY_THREAD_MAX_POOL_SIZE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SEARCH_SHORTCUT_REFRESH_CORE_POOL_SIZE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SEARCH_SHORTCUT_REFRESH_MAX_POOL_SIZE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SEARCH_SOURCE_TIMEOUT_MILLIS:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SEARCH_THREAD_KEEPALIVE_SECONDS:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SEARCH_WEB_RESULTS_OVERRIDE_LIMIT:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SELECTED_SPELL_CHECKER_SUBTYPE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->SELECTED_SPELL_CHECKER_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->setLocationModeForUser(Landroid/content/ContentResolver;II)Z
-Landroid/provider/Settings$Secure;->setLocationProviderEnabledForUser(Landroid/content/ContentResolver;Ljava/lang/String;ZI)Z
-Landroid/provider/Settings$Secure;->SHOW_FIRST_CRASH_DIALOG_DEV_OPTION:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SHOW_FIRST_CRASH_DIALOG_DEV_OPTION_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->SHOW_IME_WITH_HARD_KEYBOARD:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SHOW_IME_WITH_HARD_KEYBOARD_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->SHOW_MODE_AUTO:I
-Landroid/provider/Settings$Secure;->SHOW_MODE_HIDDEN:I
-Landroid/provider/Settings$Secure;->SHOW_NOTE_ABOUT_NOTIFICATION_HIDING:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SHOW_ROTATION_SUGGESTIONS:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SHOW_ROTATION_SUGGESTIONS_DEFAULT:I
-Landroid/provider/Settings$Secure;->SHOW_ROTATION_SUGGESTIONS_DISABLED:I
-Landroid/provider/Settings$Secure;->SHOW_ROTATION_SUGGESTIONS_ENABLED:I
-Landroid/provider/Settings$Secure;->sIsSystemProcess:Z
-Landroid/provider/Settings$Secure;->SLEEP_TIMEOUT:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SLEEP_TIMEOUT_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
-Landroid/provider/Settings$Secure;->SPELL_CHECKER_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SPELL_CHECKER_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->SUPPRESS_AUTO_BATTERY_SAVER_SUGGESTION:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SWIPE_UP_TO_SWITCH_APPS_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SWIPE_UP_TO_SWITCH_APPS_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->SYNC_PARENT_SOUNDS_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->SYSTEM_NAVIGATION_KEYS_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->SYSTEM_NAVIGATION_KEYS_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->THEME_MODE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->THEME_MODE_DARK:I
-Landroid/provider/Settings$Secure;->THEME_MODE_LIGHT:I
-Landroid/provider/Settings$Secure;->THEME_MODE_WALLPAPER:I
-Landroid/provider/Settings$Secure;->TOUCH_EXPLORATION_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->TOUCH_EXPLORATION_GRANTED_ACCESSIBILITY_SERVICES:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->TOUCH_EXPLORATION_GRANTED_ACCESSIBILITY_SERVICES_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->TRUST_AGENTS_INITIALIZED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->TTS_DEFAULT_LOCALE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->TTS_DEFAULT_LOCALE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->TTS_DEFAULT_PITCH_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->TTS_DEFAULT_RATE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->TTS_DEFAULT_SYNTH_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->TTS_ENABLED_PLUGINS_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->TTY_MODE_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->TTY_MODE_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->TV_INPUT_CUSTOM_LABELS:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->TV_INPUT_HIDDEN_INPUTS:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->TV_USER_SETUP_COMPLETE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->UI_NIGHT_MODE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->UNKNOWN_SOURCES_DEFAULT_REVERSED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->UNSAFE_VOLUME_MUSIC_ACTIVE_MS:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->USB_AUDIO_AUTOMATIC_ROUTING_DISABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->USB_MASS_STORAGE_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->USER_SETUP_PERSONALIZATION_STATE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->VALIDATORS:Ljava/util/Map;
-Landroid/provider/Settings$Secure;->VOLUME_HUSH_GESTURE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->VOLUME_HUSH_GESTURE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->VOLUME_HUSH_MUTE:I
-Landroid/provider/Settings$Secure;->VOLUME_HUSH_OFF:I
-Landroid/provider/Settings$Secure;->VOLUME_HUSH_VIBRATE:I
-Landroid/provider/Settings$Secure;->VR_DISPLAY_MODE:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->VR_DISPLAY_MODE_LOW_PERSISTENCE:I
-Landroid/provider/Settings$Secure;->VR_DISPLAY_MODE_OFF:I
-Landroid/provider/Settings$Secure;->VR_DISPLAY_MODE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->WAKE_GESTURE_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->WAKE_GESTURE_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->WIFI_IDLE_MS:Ljava/lang/String;
-Landroid/provider/Settings$Secure;->WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$Secure;->WIFI_NUM_OPEN_NETWORKS_KEPT_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->ACCELEROMETER_ROTATION_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->adjustConfigurationForUser(Landroid/content/ContentResolver;Landroid/content/res/Configuration;IZ)V
-Landroid/provider/Settings$System;->ADVANCED_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings$System;->ADVANCED_SETTINGS_DEFAULT:I
-Landroid/provider/Settings$System;->ADVANCED_SETTINGS_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->ALARM_ALERT_CACHE:Ljava/lang/String;
-Landroid/provider/Settings$System;->ALARM_ALERT_CACHE_URI:Landroid/net/Uri;
-Landroid/provider/Settings$System;->ALARM_ALERT_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->AUTO_TIME_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->AUTO_TIME_ZONE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->BLUETOOTH_DISCOVERABILITY_TIMEOUT_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->BLUETOOTH_DISCOVERABILITY_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->BLUETOOTH_ON_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->clearConfiguration(Landroid/content/res/Configuration;)V
-Landroid/provider/Settings$System;->clearProviderForTest()V
-Landroid/provider/Settings$System;->CLONE_FROM_PARENT_ON_VALUE:Ljava/util/Map;
-Landroid/provider/Settings$System;->DATE_FORMAT_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->DEFAULT_FONT_SCALE:F
-Landroid/provider/Settings$System;->DIM_SCREEN_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->DISPLAY_COLOR_MODE:Ljava/lang/String;
-Landroid/provider/Settings$System;->DISPLAY_COLOR_MODE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->DOCK_SOUNDS_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->DTMF_TONE_TYPE_WHEN_DIALING_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->DTMF_TONE_WHEN_DIALING_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->EGG_MODE:Ljava/lang/String;
-Landroid/provider/Settings$System;->EGG_MODE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->END_BUTTON_BEHAVIOR_DEFAULT:I
-Landroid/provider/Settings$System;->END_BUTTON_BEHAVIOR_HOME:I
-Landroid/provider/Settings$System;->END_BUTTON_BEHAVIOR_SLEEP:I
-Landroid/provider/Settings$System;->END_BUTTON_BEHAVIOR_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->FONT_SCALE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->getCloneFromParentOnValueSettings(Ljava/util/Map;)V
-Landroid/provider/Settings$System;->getCloneToManagedProfileSettings(Ljava/util/Set;)V
-Landroid/provider/Settings$System;->getFloatForUser(Landroid/content/ContentResolver;Ljava/lang/String;FI)F
-Landroid/provider/Settings$System;->getFloatForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)F
-Landroid/provider/Settings$System;->getLongForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)J
-Landroid/provider/Settings$System;->getLongForUser(Landroid/content/ContentResolver;Ljava/lang/String;JI)J
-Landroid/provider/Settings$System;->getMovedToGlobalSettings(Ljava/util/Set;)V
-Landroid/provider/Settings$System;->getMovedToSecureSettings(Ljava/util/Set;)V
-Landroid/provider/Settings$System;->getNonLegacyMovedKeys(Ljava/util/HashSet;)V
-Landroid/provider/Settings$System;->getShowGTalkServiceStatusForUser(Landroid/content/ContentResolver;I)Z
-Landroid/provider/Settings$System;->HAPTIC_FEEDBACK_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->HAPTIC_FEEDBACK_INTENSITY:Ljava/lang/String;
-Landroid/provider/Settings$System;->hasInterestingConfigurationChanges(I)Z
-Landroid/provider/Settings$System;->HEARING_AID_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->INSTANT_APP_SETTINGS:Ljava/util/Set;
-Landroid/provider/Settings$System;->LEGACY_RESTORE_SETTINGS:[Ljava/lang/String;
-Landroid/provider/Settings$System;->LOCKSCREEN_DISABLED:Ljava/lang/String;
-Landroid/provider/Settings$System;->LOCKSCREEN_DISABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->LOCKSCREEN_SOUNDS_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->LOCK_TO_APP_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$System;->LOCK_TO_APP_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->LOW_BATTERY_SOUND:Ljava/lang/String;
-Landroid/provider/Settings$System;->MASTER_MONO_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->MEDIA_BUTTON_RECEIVER:Ljava/lang/String;
-Landroid/provider/Settings$System;->MEDIA_BUTTON_RECEIVER_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->MODE_RINGER_STREAMS_AFFECTED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->MUTE_STREAMS_AFFECTED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->NEXT_ALARM_FORMATTED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->NOTIFICATIONS_USE_RING_VOLUME:Ljava/lang/String;
-Landroid/provider/Settings$System;->NOTIFICATIONS_USE_RING_VOLUME_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->NOTIFICATION_LIGHT_PULSE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->NOTIFICATION_SOUND_CACHE:Ljava/lang/String;
-Landroid/provider/Settings$System;->NOTIFICATION_SOUND_CACHE_URI:Landroid/net/Uri;
-Landroid/provider/Settings$System;->NOTIFICATION_SOUND_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->NOTIFICATION_VIBRATION_INTENSITY:Ljava/lang/String;
-Landroid/provider/Settings$System;->POINTER_LOCATION_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->POINTER_SPEED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->POWER_SOUNDS_ENABLED:Ljava/lang/String;
-Landroid/provider/Settings$System;->POWER_SOUNDS_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->putConfigurationForUser(Landroid/content/ContentResolver;Landroid/content/res/Configuration;I)Z
-Landroid/provider/Settings$System;->putFloatForUser(Landroid/content/ContentResolver;Ljava/lang/String;FI)Z
-Landroid/provider/Settings$System;->putLongForUser(Landroid/content/ContentResolver;Ljava/lang/String;JI)Z
-Landroid/provider/Settings$System;->RADIO_WIMAX:Ljava/lang/String;
-Landroid/provider/Settings$System;->RINGTONE_CACHE:Ljava/lang/String;
-Landroid/provider/Settings$System;->RINGTONE_CACHE_URI:Landroid/net/Uri;
-Landroid/provider/Settings$System;->RINGTONE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->SCREEN_AUTO_BRIGHTNESS_ADJ_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->SCREEN_BRIGHTNESS_FOR_VR:Ljava/lang/String;
-Landroid/provider/Settings$System;->SCREEN_BRIGHTNESS_FOR_VR_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->SCREEN_BRIGHTNESS_MODE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->SCREEN_OFF_TIMEOUT_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->setShowGTalkServiceStatusForUser(Landroid/content/ContentResolver;ZI)V
-Landroid/provider/Settings$System;->SETUP_WIZARD_HAS_RUN_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->SHOW_BATTERY_PERCENT:Ljava/lang/String;
-Landroid/provider/Settings$System;->SHOW_BATTERY_PERCENT_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->SHOW_GTALK_SERVICE_STATUS_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->SHOW_TOUCHES_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->SHOW_WEB_SUGGESTIONS_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->SIP_ADDRESS_ONLY:Ljava/lang/String;
-Landroid/provider/Settings$System;->SIP_ADDRESS_ONLY_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->SIP_ALWAYS:Ljava/lang/String;
-Landroid/provider/Settings$System;->SIP_ALWAYS_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->SIP_ASK_ME_EACH_TIME:Ljava/lang/String;
-Landroid/provider/Settings$System;->SIP_ASK_ME_EACH_TIME_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->SIP_CALL_OPTIONS:Ljava/lang/String;
-Landroid/provider/Settings$System;->SIP_CALL_OPTIONS_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->SIP_RECEIVE_CALLS:Ljava/lang/String;
-Landroid/provider/Settings$System;->SIP_RECEIVE_CALLS_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->SOUND_EFFECTS_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->STAY_ON_WHILE_PLUGGED_IN_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->SYSTEM_LOCALES:Ljava/lang/String;
-Landroid/provider/Settings$System;->TEXT_AUTO_CAPS_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->TEXT_AUTO_PUNCTUATE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->TEXT_AUTO_REPLACE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->TEXT_SHOW_PASSWORD_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->TIME_12_24_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->TTY_MODE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->USB_MASS_STORAGE_ENABLED_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->USER_ROTATION_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->VIBRATE_INPUT_DEVICES:Ljava/lang/String;
-Landroid/provider/Settings$System;->VIBRATE_INPUT_DEVICES_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->VIBRATE_IN_SILENT_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->VIBRATE_ON_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->VIBRATE_WHEN_RINGING_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->VIBRATION_INTENSITY_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->VOLUME_ACCESSIBILITY:Ljava/lang/String;
-Landroid/provider/Settings$System;->VOLUME_MASTER:Ljava/lang/String;
-Landroid/provider/Settings$System;->VOLUME_SETTINGS_INT:[Ljava/lang/String;
-Landroid/provider/Settings$System;->WALLPAPER_ACTIVITY_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->WHEN_TO_MAKE_WIFI_CALLS:Ljava/lang/String;
-Landroid/provider/Settings$System;->WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->WIFI_NUM_OPEN_NETWORKS_KEPT_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->WIFI_STATIC_DNS1_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->WIFI_STATIC_DNS2_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->WIFI_STATIC_GATEWAY_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->WIFI_STATIC_IP_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->WIFI_STATIC_NETMASK_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->WIFI_USE_STATIC_IP_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$System;->WINDOW_ORIENTATION_LISTENER_LOG:Ljava/lang/String;
-Landroid/provider/Settings$System;->WINDOW_ORIENTATION_LISTENER_LOG_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/Settings$UserSetupPersonalization;
-Landroid/provider/Settings;->ACTION_ALL_APPS_NOTIFICATION_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_APPLICATION_DETAILS_SETTINGS_OPEN_BY_DEFAULT_PAGE:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_APP_NOTIFICATION_REDACTION:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_APP_OPS_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_ASSIST_GESTURE_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_CONDITION_PROVIDER_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_FOREGROUND_SERVICES_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_LOCATION_SCANNING_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_MANAGED_PROFILE_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_MOBILE_DATA_USAGE:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_MONITORING_CERT_INFO:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_NOTIFICATION_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_PAIRING_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_PICTURE_IN_PICTURE_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_SHOW_ADMIN_SUPPORT_DETAILS:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_SHOW_REMOTE_BUGREPORT_DIALOG:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_STORAGE_MANAGER_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_SYSTEM_UPDATE_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_TETHER_PROVISIONING:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_USER_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_ZEN_MODE_AUTOMATION_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_ZEN_MODE_EVENT_RULE_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_ZEN_MODE_EXTERNAL_RULE_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_ZEN_MODE_SCHEDULE_RULE_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings;->ACTION_ZEN_MODE_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings;->CALL_METHOD_GENERATION_INDEX_KEY:Ljava/lang/String;
-Landroid/provider/Settings;->CALL_METHOD_GENERATION_KEY:Ljava/lang/String;
-Landroid/provider/Settings;->CALL_METHOD_GET_GLOBAL:Ljava/lang/String;
-Landroid/provider/Settings;->CALL_METHOD_GET_SECURE:Ljava/lang/String;
-Landroid/provider/Settings;->CALL_METHOD_GET_SYSTEM:Ljava/lang/String;
-Landroid/provider/Settings;->CALL_METHOD_MAKE_DEFAULT_KEY:Ljava/lang/String;
-Landroid/provider/Settings;->CALL_METHOD_PUT_GLOBAL:Ljava/lang/String;
-Landroid/provider/Settings;->CALL_METHOD_PUT_SECURE:Ljava/lang/String;
-Landroid/provider/Settings;->CALL_METHOD_PUT_SYSTEM:Ljava/lang/String;
-Landroid/provider/Settings;->CALL_METHOD_RESET_GLOBAL:Ljava/lang/String;
-Landroid/provider/Settings;->CALL_METHOD_RESET_MODE_KEY:Ljava/lang/String;
-Landroid/provider/Settings;->CALL_METHOD_RESET_SECURE:Ljava/lang/String;
-Landroid/provider/Settings;->CALL_METHOD_TAG_KEY:Ljava/lang/String;
-Landroid/provider/Settings;->CALL_METHOD_TRACK_GENERATION_KEY:Ljava/lang/String;
-Landroid/provider/Settings;->CALL_METHOD_USER_KEY:Ljava/lang/String;
-Landroid/provider/Settings;->checkAndNoteChangeNetworkStateOperation(Landroid/content/Context;ILjava/lang/String;Z)Z
-Landroid/provider/Settings;->checkAndNoteDrawOverlaysOperation(Landroid/content/Context;ILjava/lang/String;Z)Z
-Landroid/provider/Settings;->checkAndNoteWriteSettingsOperation(Landroid/content/Context;ILjava/lang/String;Z)Z
-Landroid/provider/Settings;->DEVICE_NAME_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings;->EXTRA_INPUT_DEVICE_IDENTIFIER:Ljava/lang/String;
-Landroid/provider/Settings;->EXTRA_NETWORK_TEMPLATE:Ljava/lang/String;
-Landroid/provider/Settings;->EXTRA_NUMBER_OF_CERTIFICATES:Ljava/lang/String;
-Landroid/provider/Settings;->getGTalkDeviceId(J)Ljava/lang/String;
-Landroid/provider/Settings;->getPackageNameForUid(Landroid/content/Context;I)Ljava/lang/String;
-Landroid/provider/Settings;->isInSystemServer()Z
-Landroid/provider/Settings;->JID_RESOURCE_PREFIX:Ljava/lang/String;
-Landroid/provider/Settings;->LOCAL_LOGV:Z
-Landroid/provider/Settings;->mLocationSettingsLock:Ljava/lang/Object;
-Landroid/provider/Settings;->PM_CHANGE_NETWORK_STATE:[Ljava/lang/String;
-Landroid/provider/Settings;->PM_SYSTEM_ALERT_WINDOW:[Ljava/lang/String;
-Landroid/provider/Settings;->PM_WRITE_SETTINGS:[Ljava/lang/String;
-Landroid/provider/Settings;->RESET_MODE_PACKAGE_DEFAULTS:I
-Landroid/provider/Settings;->RESET_MODE_TRUSTED_DEFAULTS:I
-Landroid/provider/Settings;->RESET_MODE_UNTRUSTED_CHANGES:I
-Landroid/provider/Settings;->RESET_MODE_UNTRUSTED_DEFAULTS:I
-Landroid/provider/Settings;->setInSystemServer()V
-Landroid/provider/Settings;->sInSystemServer:Z
-Landroid/provider/Settings;->sInSystemServerLock:Ljava/lang/Object;
-Landroid/provider/Settings;->TAG:Ljava/lang/String;
-Landroid/provider/Settings;->USER_SETUP_PERSONALIZATION_COMPLETE:I
-Landroid/provider/Settings;->USER_SETUP_PERSONALIZATION_NOT_STARTED:I
-Landroid/provider/Settings;->USER_SETUP_PERSONALIZATION_PAUSED:I
-Landroid/provider/Settings;->USER_SETUP_PERSONALIZATION_STARTED:I
-Landroid/provider/Settings;->ZEN_MODE_BLOCKED_EFFECTS_SETTINGS:Ljava/lang/String;
-Landroid/provider/Settings;->ZEN_MODE_ONBOARDING:Ljava/lang/String;
-Landroid/provider/SettingsSlicesContract;-><init>()V
-Landroid/provider/SettingsStringUtil$ColonDelimitedSet$OfStrings;
-Landroid/provider/SettingsStringUtil$ColonDelimitedSet$OfStrings;-><init>(Ljava/lang/String;)V
-Landroid/provider/SettingsStringUtil$ColonDelimitedSet$OfStrings;->add(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/provider/SettingsStringUtil$ColonDelimitedSet$OfStrings;->addAll(Ljava/lang/String;Ljava/util/Collection;)Ljava/lang/String;
-Landroid/provider/SettingsStringUtil$ColonDelimitedSet$OfStrings;->contains(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/provider/SettingsStringUtil$ColonDelimitedSet$OfStrings;->itemFromString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/provider/SettingsStringUtil$ColonDelimitedSet$OfStrings;->remove(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/provider/SettingsStringUtil$ColonDelimitedSet;
-Landroid/provider/SettingsStringUtil$ColonDelimitedSet;-><init>(Ljava/lang/String;)V
-Landroid/provider/SettingsStringUtil$ColonDelimitedSet;->itemFromString(Ljava/lang/String;)Ljava/lang/Object;
-Landroid/provider/SettingsStringUtil$ColonDelimitedSet;->itemToString(Ljava/lang/Object;)Ljava/lang/String;
-Landroid/provider/SettingsStringUtil$ComponentNameSet;
-Landroid/provider/SettingsStringUtil$ComponentNameSet;-><init>(Ljava/lang/String;)V
-Landroid/provider/SettingsStringUtil$ComponentNameSet;->add(Ljava/lang/String;Landroid/content/ComponentName;)Ljava/lang/String;
-Landroid/provider/SettingsStringUtil$ComponentNameSet;->contains(Ljava/lang/String;Landroid/content/ComponentName;)Z
-Landroid/provider/SettingsStringUtil$ComponentNameSet;->itemFromString(Ljava/lang/String;)Landroid/content/ComponentName;
-Landroid/provider/SettingsStringUtil$ComponentNameSet;->itemToString(Landroid/content/ComponentName;)Ljava/lang/String;
-Landroid/provider/SettingsStringUtil$ComponentNameSet;->remove(Ljava/lang/String;Landroid/content/ComponentName;)Ljava/lang/String;
-Landroid/provider/SettingsStringUtil$SettingStringHelper;
-Landroid/provider/SettingsStringUtil$SettingStringHelper;-><init>(Landroid/content/ContentResolver;Ljava/lang/String;I)V
-Landroid/provider/SettingsStringUtil$SettingStringHelper;->mContentResolver:Landroid/content/ContentResolver;
-Landroid/provider/SettingsStringUtil$SettingStringHelper;->modify(Ljava/util/function/Function;)Z
-Landroid/provider/SettingsStringUtil$SettingStringHelper;->mSettingName:Ljava/lang/String;
-Landroid/provider/SettingsStringUtil$SettingStringHelper;->mUserId:I
-Landroid/provider/SettingsStringUtil$SettingStringHelper;->read()Ljava/lang/String;
-Landroid/provider/SettingsStringUtil$SettingStringHelper;->write(Ljava/lang/String;)Z
-Landroid/provider/SettingsStringUtil;
-Landroid/provider/SettingsStringUtil;-><init>()V
-Landroid/provider/SettingsStringUtil;->DELIMITER:Ljava/lang/String;
-Landroid/provider/SettingsValidators$ComponentNameListValidator;
-Landroid/provider/SettingsValidators$ComponentNameListValidator;-><init>(Ljava/lang/String;)V
-Landroid/provider/SettingsValidators$ComponentNameListValidator;->mSeparator:Ljava/lang/String;
-Landroid/provider/SettingsValidators$ComponentNameListValidator;->validate(Ljava/lang/String;)Z
-Landroid/provider/SettingsValidators$DiscreteValueValidator;
-Landroid/provider/SettingsValidators$DiscreteValueValidator;-><init>([Ljava/lang/String;)V
-Landroid/provider/SettingsValidators$DiscreteValueValidator;->mValues:[Ljava/lang/String;
-Landroid/provider/SettingsValidators$DiscreteValueValidator;->validate(Ljava/lang/String;)Z
-Landroid/provider/SettingsValidators$InclusiveFloatRangeValidator;
-Landroid/provider/SettingsValidators$InclusiveFloatRangeValidator;-><init>(FF)V
-Landroid/provider/SettingsValidators$InclusiveFloatRangeValidator;->mMax:F
-Landroid/provider/SettingsValidators$InclusiveFloatRangeValidator;->mMin:F
-Landroid/provider/SettingsValidators$InclusiveFloatRangeValidator;->validate(Ljava/lang/String;)Z
-Landroid/provider/SettingsValidators$InclusiveIntegerRangeValidator;
-Landroid/provider/SettingsValidators$InclusiveIntegerRangeValidator;-><init>(II)V
-Landroid/provider/SettingsValidators$InclusiveIntegerRangeValidator;->mMax:I
-Landroid/provider/SettingsValidators$InclusiveIntegerRangeValidator;->mMin:I
-Landroid/provider/SettingsValidators$InclusiveIntegerRangeValidator;->validate(Ljava/lang/String;)Z
-Landroid/provider/SettingsValidators$PackageNameListValidator;
-Landroid/provider/SettingsValidators$PackageNameListValidator;-><init>(Ljava/lang/String;)V
-Landroid/provider/SettingsValidators$PackageNameListValidator;->mSeparator:Ljava/lang/String;
-Landroid/provider/SettingsValidators$PackageNameListValidator;->validate(Ljava/lang/String;)Z
-Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/SettingsValidators$Validator;->validate(Ljava/lang/String;)Z
-Landroid/provider/SettingsValidators;
-Landroid/provider/SettingsValidators;-><init>()V
-Landroid/provider/SettingsValidators;->ANY_INTEGER_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/SettingsValidators;->ANY_STRING_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/SettingsValidators;->BOOLEAN_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/SettingsValidators;->COMPONENT_NAME_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/SettingsValidators;->LENIENT_IP_ADDRESS_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/SettingsValidators;->LOCALE_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/SettingsValidators;->NON_NEGATIVE_INTEGER_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/SettingsValidators;->NULLABLE_COMPONENT_NAME_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/SettingsValidators;->PACKAGE_NAME_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/SettingsValidators;->URI_VALIDATOR:Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/SyncConstValue;
-Landroid/provider/SyncConstValue;->NON_SYNCABLE_ACCOUNT:Ljava/lang/String;
-Landroid/provider/SyncConstValue;->NON_SYNCABLE_ACCOUNT_TYPE:Ljava/lang/String;
-Landroid/provider/SyncConstValue;->_SYNC_ACCOUNT:Ljava/lang/String;
-Landroid/provider/SyncConstValue;->_SYNC_ACCOUNT_TYPE:Ljava/lang/String;
-Landroid/provider/SyncConstValue;->_SYNC_DIRTY:Ljava/lang/String;
-Landroid/provider/SyncConstValue;->_SYNC_ID:Ljava/lang/String;
-Landroid/provider/SyncConstValue;->_SYNC_LOCAL_ID:Ljava/lang/String;
-Landroid/provider/SyncConstValue;->_SYNC_MARK:Ljava/lang/String;
-Landroid/provider/SyncConstValue;->_SYNC_TIME:Ljava/lang/String;
-Landroid/provider/SyncConstValue;->_SYNC_VERSION:Ljava/lang/String;
-Landroid/provider/SyncStateContract$Helpers;->DATA_PROJECTION:[Ljava/lang/String;
-Landroid/provider/SyncStateContract$Helpers;->SELECT_BY_ACCOUNT:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->ADAPTATION_ALLOWED:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->APPLIC_ID:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->AUX_APPLIC_ID:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->CANCEL_ID:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->CANCEL_STATUS:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->DELIVERY_TIME_TOKEN:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->DISTRIBUTION_INDICATOR:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->DRM_CONTENT:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->ELEMENT_DESCRIPTOR:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->LIMIT:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->MBOX_QUOTAS:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->MBOX_QUOTAS_TOKEN:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->MBOX_TOTALS:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->MBOX_TOTALS_TOKEN:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->MESSAGE_COUNT:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->MM_FLAGS:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->MM_FLAGS_TOKEN:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->MM_STATE:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->PREVIOUSLY_SENT_BY:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->PREVIOUSLY_SENT_DATE:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->QUOTAS:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->RECOMMENDED_RETRIEVAL_MODE:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->RECOMMENDED_RETRIEVAL_MODE_TEXT:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->REPLACE_ID:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->REPLY_APPLIC_ID:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->REPLY_CHARGING:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->REPLY_CHARGING_DEADLINE:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->REPLY_CHARGING_DEADLINE_TOKEN:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->REPLY_CHARGING_ID:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->REPLY_CHARGING_SIZE:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->SENDER_VISIBILITY:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->START:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->STATUS_TEXT:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->STORE:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->STORED:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->STORE_STATUS:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->STORE_STATUS_TEXT:Ljava/lang/String;
-Landroid/provider/Telephony$BaseMmsColumns;->TOTALS:Ljava/lang/String;
-Landroid/provider/Telephony$CarrierColumns;
-Landroid/provider/Telephony$CarrierColumns;->CONTENT_URI:Landroid/net/Uri;
-Landroid/provider/Telephony$CarrierColumns;->EXPIRATION_TIME:Ljava/lang/String;
-Landroid/provider/Telephony$CarrierColumns;->KEY_IDENTIFIER:Ljava/lang/String;
-Landroid/provider/Telephony$CarrierColumns;->KEY_TYPE:Ljava/lang/String;
-Landroid/provider/Telephony$CarrierColumns;->LAST_MODIFIED:Ljava/lang/String;
-Landroid/provider/Telephony$CarrierColumns;->MCC:Ljava/lang/String;
-Landroid/provider/Telephony$CarrierColumns;->MNC:Ljava/lang/String;
-Landroid/provider/Telephony$CarrierColumns;->MVNO_MATCH_DATA:Ljava/lang/String;
-Landroid/provider/Telephony$CarrierColumns;->MVNO_TYPE:Ljava/lang/String;
-Landroid/provider/Telephony$CarrierColumns;->PUBLIC_KEY:Ljava/lang/String;
-Landroid/provider/Telephony$CarrierId$All;
-Landroid/provider/Telephony$CarrierId$All;-><init>()V
-Landroid/provider/Telephony$CarrierId$All;->APN:Ljava/lang/String;
-Landroid/provider/Telephony$CarrierId$All;->CONTENT_URI:Landroid/net/Uri;
-Landroid/provider/Telephony$CarrierId$All;->GID1:Ljava/lang/String;
-Landroid/provider/Telephony$CarrierId$All;->GID2:Ljava/lang/String;
-Landroid/provider/Telephony$CarrierId$All;->ICCID_PREFIX:Ljava/lang/String;
-Landroid/provider/Telephony$CarrierId$All;->IMSI_PREFIX_XPATTERN:Ljava/lang/String;
-Landroid/provider/Telephony$CarrierId$All;->MCCMNC:Ljava/lang/String;
-Landroid/provider/Telephony$CarrierId$All;->PLMN:Ljava/lang/String;
-Landroid/provider/Telephony$CarrierId$All;->SPN:Ljava/lang/String;
-Landroid/provider/Telephony$CarrierId;-><init>()V
-Landroid/provider/Telephony$CarrierId;->AUTHORITY:Ljava/lang/String;
-Landroid/provider/Telephony$Carriers;-><init>()V
-Landroid/provider/Telephony$Carriers;->APN_SET_ID:Ljava/lang/String;
-Landroid/provider/Telephony$Carriers;->BEARER_BITMASK:Ljava/lang/String;
-Landroid/provider/Telephony$Carriers;->CARRIER_DELETED:I
-Landroid/provider/Telephony$Carriers;->CARRIER_DELETED_BUT_PRESENT_IN_XML:I
-Landroid/provider/Telephony$Carriers;->CARRIER_EDITED:I
-Landroid/provider/Telephony$Carriers;->DPC_URI:Landroid/net/Uri;
-Landroid/provider/Telephony$Carriers;->EDITED:Ljava/lang/String;
-Landroid/provider/Telephony$Carriers;->ENFORCE_KEY:Ljava/lang/String;
-Landroid/provider/Telephony$Carriers;->ENFORCE_MANAGED_URI:Landroid/net/Uri;
-Landroid/provider/Telephony$Carriers;->FILTERED_URI:Landroid/net/Uri;
-Landroid/provider/Telephony$Carriers;->MAX_CONNS:Ljava/lang/String;
-Landroid/provider/Telephony$Carriers;->MAX_CONNS_TIME:Ljava/lang/String;
-Landroid/provider/Telephony$Carriers;->MODEM_COGNITIVE:Ljava/lang/String;
-Landroid/provider/Telephony$Carriers;->MTU:Ljava/lang/String;
-Landroid/provider/Telephony$Carriers;->NO_SET_SET:I
-Landroid/provider/Telephony$Carriers;->OWNED_BY:Ljava/lang/String;
-Landroid/provider/Telephony$Carriers;->OWNED_BY_DPC:I
-Landroid/provider/Telephony$Carriers;->OWNED_BY_OTHERS:I
-Landroid/provider/Telephony$Carriers;->PROFILE_ID:Ljava/lang/String;
-Landroid/provider/Telephony$Carriers;->UNEDITED:I
-Landroid/provider/Telephony$Carriers;->USER_DELETED:I
-Landroid/provider/Telephony$Carriers;->USER_DELETED_BUT_PRESENT_IN_XML:I
-Landroid/provider/Telephony$Carriers;->USER_EDITABLE:Ljava/lang/String;
-Landroid/provider/Telephony$Carriers;->USER_EDITED:I
-Landroid/provider/Telephony$Carriers;->USER_VISIBLE:Ljava/lang/String;
-Landroid/provider/Telephony$Carriers;->WAIT_TIME:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;
-Landroid/provider/Telephony$CellBroadcasts;-><init>()V
-Landroid/provider/Telephony$CellBroadcasts;->CID:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->CMAS_CATEGORY:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->CMAS_CERTAINTY:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->CMAS_MESSAGE_CLASS:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->CMAS_RESPONSE_TYPE:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->CMAS_SEVERITY:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->CMAS_URGENCY:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->CONTENT_URI:Landroid/net/Uri;
-Landroid/provider/Telephony$CellBroadcasts;->DEFAULT_SORT_ORDER:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->DELIVERY_TIME:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->ETWS_WARNING_TYPE:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->GEOGRAPHICAL_SCOPE:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->LAC:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->LANGUAGE_CODE:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->MESSAGE_BODY:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->MESSAGE_FORMAT:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->MESSAGE_PRIORITY:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->MESSAGE_READ:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->PLMN:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->QUERY_COLUMNS:[Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->SERIAL_NUMBER:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->SERVICE_CATEGORY:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->V1_MESSAGE_CODE:Ljava/lang/String;
-Landroid/provider/Telephony$CellBroadcasts;->V1_MESSAGE_IDENTIFIER:Ljava/lang/String;
-Landroid/provider/Telephony$Mms$Addr;-><init>()V
-Landroid/provider/Telephony$Mms$Draft;-><init>()V
-Landroid/provider/Telephony$Mms$Inbox;-><init>()V
-Landroid/provider/Telephony$Mms$Intents;-><init>()V
-Landroid/provider/Telephony$Mms$Outbox;-><init>()V
-Landroid/provider/Telephony$Mms$Part;-><init>()V
-Landroid/provider/Telephony$Mms$Rate;-><init>()V
-Landroid/provider/Telephony$Mms$Sent;-><init>()V
-Landroid/provider/Telephony$Mms;-><init>()V
-Landroid/provider/Telephony$Mms;->query(Landroid/content/ContentResolver;[Ljava/lang/String;)Landroid/database/Cursor;
-Landroid/provider/Telephony$Mms;->query(Landroid/content/ContentResolver;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
-Landroid/provider/Telephony$MmsSms$PendingMessages;-><init>()V
-Landroid/provider/Telephony$MmsSms$WordsTable;
-Landroid/provider/Telephony$MmsSms$WordsTable;-><init>()V
-Landroid/provider/Telephony$MmsSms$WordsTable;->ID:Ljava/lang/String;
-Landroid/provider/Telephony$MmsSms$WordsTable;->INDEXED_TEXT:Ljava/lang/String;
-Landroid/provider/Telephony$MmsSms$WordsTable;->SOURCE_ROW_ID:Ljava/lang/String;
-Landroid/provider/Telephony$MmsSms$WordsTable;->TABLE_ID:Ljava/lang/String;
-Landroid/provider/Telephony$MmsSms;-><init>()V
-Landroid/provider/Telephony$ServiceStateTable;-><init>()V
-Landroid/provider/Telephony$ServiceStateTable;->CDMA_DEFAULT_ROAMING_INDICATOR:Ljava/lang/String;
-Landroid/provider/Telephony$ServiceStateTable;->CDMA_ERI_ICON_INDEX:Ljava/lang/String;
-Landroid/provider/Telephony$ServiceStateTable;->CDMA_ERI_ICON_MODE:Ljava/lang/String;
-Landroid/provider/Telephony$ServiceStateTable;->CDMA_ROAMING_INDICATOR:Ljava/lang/String;
-Landroid/provider/Telephony$ServiceStateTable;->CSS_INDICATOR:Ljava/lang/String;
-Landroid/provider/Telephony$ServiceStateTable;->DATA_OPERATOR_ALPHA_LONG:Ljava/lang/String;
-Landroid/provider/Telephony$ServiceStateTable;->DATA_OPERATOR_ALPHA_SHORT:Ljava/lang/String;
-Landroid/provider/Telephony$ServiceStateTable;->DATA_OPERATOR_NUMERIC:Ljava/lang/String;
-Landroid/provider/Telephony$ServiceStateTable;->DATA_REG_STATE:Ljava/lang/String;
-Landroid/provider/Telephony$ServiceStateTable;->DATA_ROAMING_TYPE:Ljava/lang/String;
-Landroid/provider/Telephony$ServiceStateTable;->getContentValuesForServiceState(Landroid/telephony/ServiceState;)Landroid/content/ContentValues;
-Landroid/provider/Telephony$ServiceStateTable;->IS_DATA_ROAMING_FROM_REGISTRATION:Ljava/lang/String;
-Landroid/provider/Telephony$ServiceStateTable;->IS_EMERGENCY_ONLY:Ljava/lang/String;
-Landroid/provider/Telephony$ServiceStateTable;->IS_USING_CARRIER_AGGREGATION:Ljava/lang/String;
-Landroid/provider/Telephony$ServiceStateTable;->NETWORK_ID:Ljava/lang/String;
-Landroid/provider/Telephony$ServiceStateTable;->RIL_DATA_RADIO_TECHNOLOGY:Ljava/lang/String;
-Landroid/provider/Telephony$ServiceStateTable;->RIL_VOICE_RADIO_TECHNOLOGY:Ljava/lang/String;
-Landroid/provider/Telephony$ServiceStateTable;->SYSTEM_ID:Ljava/lang/String;
-Landroid/provider/Telephony$ServiceStateTable;->VOICE_OPERATOR_ALPHA_LONG:Ljava/lang/String;
-Landroid/provider/Telephony$ServiceStateTable;->VOICE_OPERATOR_ALPHA_SHORT:Ljava/lang/String;
-Landroid/provider/Telephony$ServiceStateTable;->VOICE_ROAMING_TYPE:Ljava/lang/String;
-Landroid/provider/Telephony$Sms$Conversations;-><init>()V
-Landroid/provider/Telephony$Sms$Draft;-><init>()V
-Landroid/provider/Telephony$Sms$Inbox;-><init>()V
-Landroid/provider/Telephony$Sms$Intents;-><init>()V
-Landroid/provider/Telephony$Sms$Intents;->MMS_DOWNLOADED_ACTION:Ljava/lang/String;
-Landroid/provider/Telephony$Sms$Outbox;-><init>()V
-Landroid/provider/Telephony$Sms$Outbox;->addMessage(ILandroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;ZJ)Landroid/net/Uri;
-Landroid/provider/Telephony$Sms$Sent;-><init>()V
-Landroid/provider/Telephony$Sms;-><init>()V
-Landroid/provider/Telephony$Sms;->query(Landroid/content/ContentResolver;[Ljava/lang/String;)Landroid/database/Cursor;
-Landroid/provider/Telephony$TextBasedSmsColumns;->MTU:Ljava/lang/String;
-Landroid/provider/Telephony$Threads;-><init>()V
-Landroid/provider/Telephony;-><init>()V
-Landroid/provider/Telephony;->TAG:Ljava/lang/String;
-Landroid/provider/TimeZoneRulesDataContract$Operation;-><init>()V
-Landroid/provider/TimeZoneRulesDataContract;-><init>()V
-Landroid/provider/TimeZoneRulesDataContract;->AUTHORITY_URI:Landroid/net/Uri;
-Landroid/provider/UserDictionary;->FREQUENCY_MAX:I
-Landroid/provider/UserDictionary;->FREQUENCY_MIN:I
-Landroid/provider/VoicemailContract$Status;-><init>()V
-Landroid/provider/VoicemailContract$Voicemails;-><init>()V
-Landroid/provider/VoicemailContract$Voicemails;->deleteAll(Landroid/content/Context;)I
-Landroid/provider/VoicemailContract$Voicemails;->getContentValues(Landroid/telecom/Voicemail;)Landroid/content/ContentValues;
-Landroid/provider/VoicemailContract$Voicemails;->insert(Landroid/content/Context;Landroid/telecom/Voicemail;)Landroid/net/Uri;
-Landroid/provider/VoicemailContract$Voicemails;->insert(Landroid/content/Context;Ljava/util/List;)I
-Landroid/provider/VoicemailContract$Voicemails;->STATE:Ljava/lang/String;
-Landroid/provider/VoicemailContract$Voicemails;->STATE_DELETED:I
-Landroid/provider/VoicemailContract$Voicemails;->STATE_INBOX:I
-Landroid/provider/VoicemailContract$Voicemails;->STATE_UNDELETED:I
-Landroid/provider/VoicemailContract$Voicemails;->TRANSCRIPTION_AVAILABLE:I
-Landroid/provider/VoicemailContract$Voicemails;->TRANSCRIPTION_FAILED:I
-Landroid/provider/VoicemailContract$Voicemails;->TRANSCRIPTION_IN_PROGRESS:I
-Landroid/provider/VoicemailContract$Voicemails;->TRANSCRIPTION_NOT_STARTED:I
-Landroid/provider/VoicemailContract$Voicemails;->TRANSCRIPTION_STATE:Ljava/lang/String;
-Landroid/provider/VoicemailContract$Voicemails;->_DATA:Ljava/lang/String;
-Landroid/provider/VoicemailContract;-><init>()V
-Landroid/provider/VoicemailContract;->ACTION_VOICEMAIL_SMS_RECEIVED:Ljava/lang/String;
-Landroid/provider/VoicemailContract;->EXTRA_TARGET_PACKAGE:Ljava/lang/String;
-Landroid/provider/VoicemailContract;->EXTRA_VOICEMAIL_SMS:Ljava/lang/String;
-Landroid/provider/VoicemailContract;->SOURCE_PACKAGE_FIELD:Ljava/lang/String;
-Landroid/R$attr;->compileSdkVersion:I
-Landroid/R$attr;->compileSdkVersionCodename:I
-Landroid/R$attr;->hash:I
-Landroid/R$attr;->searchKeyphrase:I
-Landroid/R$attr;->searchKeyphraseId:I
-Landroid/R$attr;->searchKeyphraseRecognitionFlags:I
-Landroid/R$attr;->searchKeyphraseSupportedLocales:I
-Landroid/R$attr;->solidColor:I
-Landroid/R$style;->ButtonBar:I
-Landroid/R$style;->TextAppearance_SearchResult_Subtitle:I
-Landroid/R$style;->TextAppearance_SearchResult_Title:I
-Landroid/R$styleable;
-Landroid/R$styleable;-><init>()V
-Landroid/R$styleable;->AbsListView:[I
-Landroid/R$styleable;->AbsListView_cacheColorHint:I
-Landroid/R$styleable;->AbsListView_choiceMode:I
-Landroid/R$styleable;->AbsListView_drawSelectorOnTop:I
-Landroid/R$styleable;->AbsListView_fastScrollAlwaysVisible:I
-Landroid/R$styleable;->AbsListView_fastScrollEnabled:I
-Landroid/R$styleable;->AbsListView_fastScrollStyle:I
-Landroid/R$styleable;->AbsListView_listSelector:I
-Landroid/R$styleable;->AbsListView_scrollingCache:I
-Landroid/R$styleable;->AbsListView_smoothScrollbar:I
-Landroid/R$styleable;->AbsListView_stackFromBottom:I
-Landroid/R$styleable;->AbsListView_textFilterEnabled:I
-Landroid/R$styleable;->AbsListView_transcriptMode:I
-Landroid/R$styleable;->AbsoluteLayout_Layout:[I
-Landroid/R$styleable;->AbsoluteLayout_Layout_layout_x:I
-Landroid/R$styleable;->AbsoluteLayout_Layout_layout_y:I
-Landroid/R$styleable;->AbsSpinner:[I
-Landroid/R$styleable;->AbsSpinner_entries:I
-Landroid/R$styleable;->AccelerateInterpolator:[I
-Landroid/R$styleable;->AccelerateInterpolator_factor:I
-Landroid/R$styleable;->AccessibilityService:[I
-Landroid/R$styleable;->AccessibilityService_accessibilityEventTypes:I
-Landroid/R$styleable;->AccessibilityService_accessibilityFeedbackType:I
-Landroid/R$styleable;->AccessibilityService_accessibilityFlags:I
-Landroid/R$styleable;->AccessibilityService_canControlMagnification:I
-Landroid/R$styleable;->AccessibilityService_canPerformGestures:I
-Landroid/R$styleable;->AccessibilityService_canRequestEnhancedWebAccessibility:I
-Landroid/R$styleable;->AccessibilityService_canRequestFilterKeyEvents:I
-Landroid/R$styleable;->AccessibilityService_canRequestFingerprintGestures:I
-Landroid/R$styleable;->AccessibilityService_canRequestTouchExplorationMode:I
-Landroid/R$styleable;->AccessibilityService_canRetrieveWindowContent:I
-Landroid/R$styleable;->AccessibilityService_description:I
-Landroid/R$styleable;->AccessibilityService_notificationTimeout:I
-Landroid/R$styleable;->AccessibilityService_packageNames:I
-Landroid/R$styleable;->AccessibilityService_settingsActivity:I
-Landroid/R$styleable;->AccessibilityService_summary:I
-Landroid/R$styleable;->AccountAuthenticator:[I
-Landroid/R$styleable;->AccountAuthenticator_accountPreferences:I
-Landroid/R$styleable;->AccountAuthenticator_accountType:I
-Landroid/R$styleable;->AccountAuthenticator_customTokens:I
-Landroid/R$styleable;->AccountAuthenticator_icon:I
-Landroid/R$styleable;->AccountAuthenticator_label:I
-Landroid/R$styleable;->AccountAuthenticator_smallIcon:I
-Landroid/R$styleable;->ActionBar_contentInsetEnd:I
-Landroid/R$styleable;->ActionBar_contentInsetEndWithActions:I
-Landroid/R$styleable;->ActionBar_contentInsetLeft:I
-Landroid/R$styleable;->ActionBar_contentInsetRight:I
-Landroid/R$styleable;->ActionBar_contentInsetStart:I
-Landroid/R$styleable;->ActionBar_contentInsetStartWithNavigation:I
-Landroid/R$styleable;->ActionBar_customNavigationLayout:I
-Landroid/R$styleable;->ActionBar_displayOptions:I
-Landroid/R$styleable;->ActionBar_elevation:I
-Landroid/R$styleable;->ActionBar_height:I
-Landroid/R$styleable;->ActionBar_hideOnContentScroll:I
-Landroid/R$styleable;->ActionBar_homeAsUpIndicator:I
-Landroid/R$styleable;->ActionBar_homeLayout:I
-Landroid/R$styleable;->ActionBar_icon:I
-Landroid/R$styleable;->ActionBar_indeterminateProgressStyle:I
-Landroid/R$styleable;->ActionBar_LayoutParams:[I
-Landroid/R$styleable;->ActionBar_LayoutParams_layout_gravity:I
-Landroid/R$styleable;->ActionBar_logo:I
-Landroid/R$styleable;->ActionBar_navigationMode:I
-Landroid/R$styleable;->ActionBar_popupTheme:I
-Landroid/R$styleable;->ActionBar_progressBarPadding:I
-Landroid/R$styleable;->ActionBar_progressBarStyle:I
-Landroid/R$styleable;->ActionBar_subtitle:I
-Landroid/R$styleable;->ActionBar_subtitleTextStyle:I
-Landroid/R$styleable;->ActionBar_title:I
-Landroid/R$styleable;->ActionBar_titleTextStyle:I
-Landroid/R$styleable;->ActionMenuItemView:[I
-Landroid/R$styleable;->ActionMenuItemView_minWidth:I
-Landroid/R$styleable;->ActionMode:[I
-Landroid/R$styleable;->ActionMode_background:I
-Landroid/R$styleable;->ActionMode_backgroundSplit:I
-Landroid/R$styleable;->ActionMode_height:I
-Landroid/R$styleable;->ActionMode_subtitleTextStyle:I
-Landroid/R$styleable;->ActionMode_titleTextStyle:I
-Landroid/R$styleable;->ActivityChooserView:[I
-Landroid/R$styleable;->ActivityTaskDescription:[I
-Landroid/R$styleable;->ActivityTaskDescription_colorBackground:I
-Landroid/R$styleable;->ActivityTaskDescription_colorPrimary:I
-Landroid/R$styleable;->ActivityTaskDescription_navigationBarColor:I
-Landroid/R$styleable;->ActivityTaskDescription_statusBarColor:I
-Landroid/R$styleable;->AdapterViewAnimator:[I
-Landroid/R$styleable;->AdapterViewAnimator_animateFirstView:I
-Landroid/R$styleable;->AdapterViewAnimator_inAnimation:I
-Landroid/R$styleable;->AdapterViewAnimator_loopViews:I
-Landroid/R$styleable;->AdapterViewAnimator_outAnimation:I
-Landroid/R$styleable;->AdapterViewFlipper:[I
-Landroid/R$styleable;->AdapterViewFlipper_autoStart:I
-Landroid/R$styleable;->AdapterViewFlipper_flipInterval:I
-Landroid/R$styleable;->AdaptiveIconDrawableLayer:[I
-Landroid/R$styleable;->AdaptiveIconDrawableLayer_drawable:I
-Landroid/R$styleable;->AidFilter:[I
-Landroid/R$styleable;->AidFilter_name:I
-Landroid/R$styleable;->AidGroup:[I
-Landroid/R$styleable;->AidGroup_category:I
-Landroid/R$styleable;->AidGroup_description:I
-Landroid/R$styleable;->AidPrefixFilter:[I
-Landroid/R$styleable;->AidPrefixFilter_name:I
-Landroid/R$styleable;->AlertDialog:[I
-Landroid/R$styleable;->AlertDialog_bottomBright:I
-Landroid/R$styleable;->AlertDialog_bottomDark:I
-Landroid/R$styleable;->AlertDialog_bottomMedium:I
-Landroid/R$styleable;->AlertDialog_centerBright:I
-Landroid/R$styleable;->AlertDialog_centerDark:I
-Landroid/R$styleable;->AlertDialog_centerMedium:I
-Landroid/R$styleable;->AlertDialog_fullBright:I
-Landroid/R$styleable;->AlertDialog_fullDark:I
-Landroid/R$styleable;->AlertDialog_layout:I
-Landroid/R$styleable;->AlertDialog_topBright:I
-Landroid/R$styleable;->AlertDialog_topDark:I
-Landroid/R$styleable;->AlphaAnimation:[I
-Landroid/R$styleable;->AlphaAnimation_fromAlpha:I
-Landroid/R$styleable;->AlphaAnimation_toAlpha:I
-Landroid/R$styleable;->AnalogClock:[I
-Landroid/R$styleable;->AnalogClock_dial:I
-Landroid/R$styleable;->AnalogClock_hand_hour:I
-Landroid/R$styleable;->AnalogClock_hand_minute:I
-Landroid/R$styleable;->AndroidManifest:[I
-Landroid/R$styleable;->AndroidManifestAction:[I
-Landroid/R$styleable;->AndroidManifestAction_name:I
-Landroid/R$styleable;->AndroidManifestActivity:[I
-Landroid/R$styleable;->AndroidManifestActivityAlias:[I
-Landroid/R$styleable;->AndroidManifestActivityAlias_banner:I
-Landroid/R$styleable;->AndroidManifestActivityAlias_description:I
-Landroid/R$styleable;->AndroidManifestActivityAlias_enabled:I
-Landroid/R$styleable;->AndroidManifestActivityAlias_exported:I
-Landroid/R$styleable;->AndroidManifestActivityAlias_icon:I
-Landroid/R$styleable;->AndroidManifestActivityAlias_label:I
-Landroid/R$styleable;->AndroidManifestActivityAlias_logo:I
-Landroid/R$styleable;->AndroidManifestActivityAlias_name:I
-Landroid/R$styleable;->AndroidManifestActivityAlias_parentActivityName:I
-Landroid/R$styleable;->AndroidManifestActivityAlias_permission:I
-Landroid/R$styleable;->AndroidManifestActivityAlias_roundIcon:I
-Landroid/R$styleable;->AndroidManifestActivityAlias_targetActivity:I
-Landroid/R$styleable;->AndroidManifestActivity_allowEmbedded:I
-Landroid/R$styleable;->AndroidManifestActivity_allowTaskReparenting:I
-Landroid/R$styleable;->AndroidManifestActivity_alwaysRetainTaskState:I
-Landroid/R$styleable;->AndroidManifestActivity_autoRemoveFromRecents:I
-Landroid/R$styleable;->AndroidManifestActivity_banner:I
-Landroid/R$styleable;->AndroidManifestActivity_clearTaskOnLaunch:I
-Landroid/R$styleable;->AndroidManifestActivity_colorMode:I
-Landroid/R$styleable;->AndroidManifestActivity_configChanges:I
-Landroid/R$styleable;->AndroidManifestActivity_description:I
-Landroid/R$styleable;->AndroidManifestActivity_directBootAware:I
-Landroid/R$styleable;->AndroidManifestActivity_documentLaunchMode:I
-Landroid/R$styleable;->AndroidManifestActivity_enabled:I
-Landroid/R$styleable;->AndroidManifestActivity_enableVrMode:I
-Landroid/R$styleable;->AndroidManifestActivity_excludeFromRecents:I
-Landroid/R$styleable;->AndroidManifestActivity_exported:I
-Landroid/R$styleable;->AndroidManifestActivity_finishOnCloseSystemDialogs:I
-Landroid/R$styleable;->AndroidManifestActivity_finishOnTaskLaunch:I
-Landroid/R$styleable;->AndroidManifestActivity_hardwareAccelerated:I
-Landroid/R$styleable;->AndroidManifestActivity_icon:I
-Landroid/R$styleable;->AndroidManifestActivity_immersive:I
-Landroid/R$styleable;->AndroidManifestActivity_label:I
-Landroid/R$styleable;->AndroidManifestActivity_launchMode:I
-Landroid/R$styleable;->AndroidManifestActivity_lockTaskMode:I
-Landroid/R$styleable;->AndroidManifestActivity_logo:I
-Landroid/R$styleable;->AndroidManifestActivity_maxAspectRatio:I
-Landroid/R$styleable;->AndroidManifestActivity_maxRecents:I
-Landroid/R$styleable;->AndroidManifestActivity_multiprocess:I
-Landroid/R$styleable;->AndroidManifestActivity_name:I
-Landroid/R$styleable;->AndroidManifestActivity_noHistory:I
-Landroid/R$styleable;->AndroidManifestActivity_parentActivityName:I
-Landroid/R$styleable;->AndroidManifestActivity_permission:I
-Landroid/R$styleable;->AndroidManifestActivity_persistableMode:I
-Landroid/R$styleable;->AndroidManifestActivity_process:I
-Landroid/R$styleable;->AndroidManifestActivity_recreateOnConfigChanges:I
-Landroid/R$styleable;->AndroidManifestActivity_relinquishTaskIdentity:I
-Landroid/R$styleable;->AndroidManifestActivity_resizeableActivity:I
-Landroid/R$styleable;->AndroidManifestActivity_resumeWhilePausing:I
-Landroid/R$styleable;->AndroidManifestActivity_rotationAnimation:I
-Landroid/R$styleable;->AndroidManifestActivity_roundIcon:I
-Landroid/R$styleable;->AndroidManifestActivity_screenOrientation:I
-Landroid/R$styleable;->AndroidManifestActivity_showForAllUsers:I
-Landroid/R$styleable;->AndroidManifestActivity_showOnLockScreen:I
-Landroid/R$styleable;->AndroidManifestActivity_showWhenLocked:I
-Landroid/R$styleable;->AndroidManifestActivity_singleUser:I
-Landroid/R$styleable;->AndroidManifestActivity_splitName:I
-Landroid/R$styleable;->AndroidManifestActivity_stateNotNeeded:I
-Landroid/R$styleable;->AndroidManifestActivity_supportsPictureInPicture:I
-Landroid/R$styleable;->AndroidManifestActivity_taskAffinity:I
-Landroid/R$styleable;->AndroidManifestActivity_theme:I
-Landroid/R$styleable;->AndroidManifestActivity_turnScreenOn:I
-Landroid/R$styleable;->AndroidManifestActivity_uiOptions:I
-Landroid/R$styleable;->AndroidManifestActivity_visibleToInstantApps:I
-Landroid/R$styleable;->AndroidManifestActivity_windowSoftInputMode:I
-Landroid/R$styleable;->AndroidManifestAdditionalCertificate:[I
-Landroid/R$styleable;->AndroidManifestAdditionalCertificate_certDigest:I
-Landroid/R$styleable;->AndroidManifestApplication:[I
-Landroid/R$styleable;->AndroidManifestApplication_allowBackup:I
-Landroid/R$styleable;->AndroidManifestApplication_allowClearUserData:I
-Landroid/R$styleable;->AndroidManifestApplication_allowTaskReparenting:I
-Landroid/R$styleable;->AndroidManifestApplication_appCategory:I
-Landroid/R$styleable;->AndroidManifestApplication_appComponentFactory:I
-Landroid/R$styleable;->AndroidManifestApplication_backupAgent:I
-Landroid/R$styleable;->AndroidManifestApplication_backupInForeground:I
-Landroid/R$styleable;->AndroidManifestApplication_banner:I
-Landroid/R$styleable;->AndroidManifestApplication_cantSaveState:I
-Landroid/R$styleable;->AndroidManifestApplication_classLoader:I
-Landroid/R$styleable;->AndroidManifestApplication_debuggable:I
-Landroid/R$styleable;->AndroidManifestApplication_defaultToDeviceProtectedStorage:I
-Landroid/R$styleable;->AndroidManifestApplication_description:I
-Landroid/R$styleable;->AndroidManifestApplication_directBootAware:I
-Landroid/R$styleable;->AndroidManifestApplication_enabled:I
-Landroid/R$styleable;->AndroidManifestApplication_extractNativeLibs:I
-Landroid/R$styleable;->AndroidManifestApplication_fullBackupContent:I
-Landroid/R$styleable;->AndroidManifestApplication_fullBackupOnly:I
-Landroid/R$styleable;->AndroidManifestApplication_hardwareAccelerated:I
-Landroid/R$styleable;->AndroidManifestApplication_hasCode:I
-Landroid/R$styleable;->AndroidManifestApplication_icon:I
-Landroid/R$styleable;->AndroidManifestApplication_isGame:I
-Landroid/R$styleable;->AndroidManifestApplication_killAfterRestore:I
-Landroid/R$styleable;->AndroidManifestApplication_label:I
-Landroid/R$styleable;->AndroidManifestApplication_largeHeap:I
-Landroid/R$styleable;->AndroidManifestApplication_logo:I
-Landroid/R$styleable;->AndroidManifestApplication_manageSpaceActivity:I
-Landroid/R$styleable;->AndroidManifestApplication_maxAspectRatio:I
-Landroid/R$styleable;->AndroidManifestApplication_multiArch:I
-Landroid/R$styleable;->AndroidManifestApplication_name:I
-Landroid/R$styleable;->AndroidManifestApplication_networkSecurityConfig:I
-Landroid/R$styleable;->AndroidManifestApplication_permission:I
-Landroid/R$styleable;->AndroidManifestApplication_persistent:I
-Landroid/R$styleable;->AndroidManifestApplication_persistentWhenFeatureAvailable:I
-Landroid/R$styleable;->AndroidManifestApplication_process:I
-Landroid/R$styleable;->AndroidManifestApplication_requiredAccountType:I
-Landroid/R$styleable;->AndroidManifestApplication_requiredForAllUsers:I
-Landroid/R$styleable;->AndroidManifestApplication_resizeableActivity:I
-Landroid/R$styleable;->AndroidManifestApplication_restoreAnyVersion:I
-Landroid/R$styleable;->AndroidManifestApplication_restoreNeedsApplication:I
-Landroid/R$styleable;->AndroidManifestApplication_restrictedAccountType:I
-Landroid/R$styleable;->AndroidManifestApplication_roundIcon:I
-Landroid/R$styleable;->AndroidManifestApplication_supportsRtl:I
-Landroid/R$styleable;->AndroidManifestApplication_taskAffinity:I
-Landroid/R$styleable;->AndroidManifestApplication_testOnly:I
-Landroid/R$styleable;->AndroidManifestApplication_theme:I
-Landroid/R$styleable;->AndroidManifestApplication_uiOptions:I
-Landroid/R$styleable;->AndroidManifestApplication_usesCleartextTraffic:I
-Landroid/R$styleable;->AndroidManifestApplication_vmSafeMode:I
-Landroid/R$styleable;->AndroidManifestCategory:[I
-Landroid/R$styleable;->AndroidManifestCategory_name:I
-Landroid/R$styleable;->AndroidManifestCompatibleScreensScreen:[I
-Landroid/R$styleable;->AndroidManifestCompatibleScreensScreen_screenDensity:I
-Landroid/R$styleable;->AndroidManifestCompatibleScreensScreen_screenSize:I
-Landroid/R$styleable;->AndroidManifestData:[I
-Landroid/R$styleable;->AndroidManifestData_host:I
-Landroid/R$styleable;->AndroidManifestData_mimeType:I
-Landroid/R$styleable;->AndroidManifestData_path:I
-Landroid/R$styleable;->AndroidManifestData_pathPattern:I
-Landroid/R$styleable;->AndroidManifestData_pathPrefix:I
-Landroid/R$styleable;->AndroidManifestData_port:I
-Landroid/R$styleable;->AndroidManifestData_scheme:I
-Landroid/R$styleable;->AndroidManifestData_ssp:I
-Landroid/R$styleable;->AndroidManifestData_sspPattern:I
-Landroid/R$styleable;->AndroidManifestData_sspPrefix:I
-Landroid/R$styleable;->AndroidManifestFeatureGroup:[I
-Landroid/R$styleable;->AndroidManifestFeatureGroup_label:I
-Landroid/R$styleable;->AndroidManifestGrantUriPermission:[I
-Landroid/R$styleable;->AndroidManifestGrantUriPermission_path:I
-Landroid/R$styleable;->AndroidManifestGrantUriPermission_pathPattern:I
-Landroid/R$styleable;->AndroidManifestGrantUriPermission_pathPrefix:I
-Landroid/R$styleable;->AndroidManifestInstrumentation:[I
-Landroid/R$styleable;->AndroidManifestInstrumentation_banner:I
-Landroid/R$styleable;->AndroidManifestInstrumentation_functionalTest:I
-Landroid/R$styleable;->AndroidManifestInstrumentation_handleProfiling:I
-Landroid/R$styleable;->AndroidManifestInstrumentation_icon:I
-Landroid/R$styleable;->AndroidManifestInstrumentation_label:I
-Landroid/R$styleable;->AndroidManifestInstrumentation_logo:I
-Landroid/R$styleable;->AndroidManifestInstrumentation_name:I
-Landroid/R$styleable;->AndroidManifestInstrumentation_roundIcon:I
-Landroid/R$styleable;->AndroidManifestInstrumentation_targetPackage:I
-Landroid/R$styleable;->AndroidManifestInstrumentation_targetProcesses:I
-Landroid/R$styleable;->AndroidManifestIntentFilter:[I
-Landroid/R$styleable;->AndroidManifestIntentFilter_autoVerify:I
-Landroid/R$styleable;->AndroidManifestIntentFilter_banner:I
-Landroid/R$styleable;->AndroidManifestIntentFilter_icon:I
-Landroid/R$styleable;->AndroidManifestIntentFilter_label:I
-Landroid/R$styleable;->AndroidManifestIntentFilter_logo:I
-Landroid/R$styleable;->AndroidManifestIntentFilter_order:I
-Landroid/R$styleable;->AndroidManifestIntentFilter_priority:I
-Landroid/R$styleable;->AndroidManifestIntentFilter_roundIcon:I
-Landroid/R$styleable;->AndroidManifestKeySet:[I
-Landroid/R$styleable;->AndroidManifestKeySet_name:I
-Landroid/R$styleable;->AndroidManifestLayout:[I
-Landroid/R$styleable;->AndroidManifestLayout_defaultHeight:I
-Landroid/R$styleable;->AndroidManifestLayout_defaultWidth:I
-Landroid/R$styleable;->AndroidManifestLayout_gravity:I
-Landroid/R$styleable;->AndroidManifestLayout_minHeight:I
-Landroid/R$styleable;->AndroidManifestLayout_minWidth:I
-Landroid/R$styleable;->AndroidManifestLibrary:[I
-Landroid/R$styleable;->AndroidManifestLibrary_name:I
-Landroid/R$styleable;->AndroidManifestMetaData:[I
-Landroid/R$styleable;->AndroidManifestMetaData_name:I
-Landroid/R$styleable;->AndroidManifestMetaData_resource:I
-Landroid/R$styleable;->AndroidManifestMetaData_value:I
-Landroid/R$styleable;->AndroidManifestOriginalPackage:[I
-Landroid/R$styleable;->AndroidManifestOriginalPackage_name:I
-Landroid/R$styleable;->AndroidManifestPackageVerifier:[I
-Landroid/R$styleable;->AndroidManifestPackageVerifier_name:I
-Landroid/R$styleable;->AndroidManifestPackageVerifier_publicKey:I
-Landroid/R$styleable;->AndroidManifestPathPermission:[I
-Landroid/R$styleable;->AndroidManifestPathPermission_path:I
-Landroid/R$styleable;->AndroidManifestPathPermission_pathPattern:I
-Landroid/R$styleable;->AndroidManifestPathPermission_pathPrefix:I
-Landroid/R$styleable;->AndroidManifestPathPermission_permission:I
-Landroid/R$styleable;->AndroidManifestPathPermission_readPermission:I
-Landroid/R$styleable;->AndroidManifestPathPermission_writePermission:I
-Landroid/R$styleable;->AndroidManifestPermission:[I
-Landroid/R$styleable;->AndroidManifestPermissionGroup:[I
-Landroid/R$styleable;->AndroidManifestPermissionGroup_banner:I
-Landroid/R$styleable;->AndroidManifestPermissionGroup_description:I
-Landroid/R$styleable;->AndroidManifestPermissionGroup_icon:I
-Landroid/R$styleable;->AndroidManifestPermissionGroup_label:I
-Landroid/R$styleable;->AndroidManifestPermissionGroup_logo:I
-Landroid/R$styleable;->AndroidManifestPermissionGroup_name:I
-Landroid/R$styleable;->AndroidManifestPermissionGroup_permissionGroupFlags:I
-Landroid/R$styleable;->AndroidManifestPermissionGroup_priority:I
-Landroid/R$styleable;->AndroidManifestPermissionGroup_roundIcon:I
-Landroid/R$styleable;->AndroidManifestPermissionTree:[I
-Landroid/R$styleable;->AndroidManifestPermissionTree_banner:I
-Landroid/R$styleable;->AndroidManifestPermissionTree_icon:I
-Landroid/R$styleable;->AndroidManifestPermissionTree_label:I
-Landroid/R$styleable;->AndroidManifestPermissionTree_logo:I
-Landroid/R$styleable;->AndroidManifestPermissionTree_name:I
-Landroid/R$styleable;->AndroidManifestPermissionTree_roundIcon:I
-Landroid/R$styleable;->AndroidManifestPermission_banner:I
-Landroid/R$styleable;->AndroidManifestPermission_description:I
-Landroid/R$styleable;->AndroidManifestPermission_icon:I
-Landroid/R$styleable;->AndroidManifestPermission_label:I
-Landroid/R$styleable;->AndroidManifestPermission_logo:I
-Landroid/R$styleable;->AndroidManifestPermission_name:I
-Landroid/R$styleable;->AndroidManifestPermission_permissionFlags:I
-Landroid/R$styleable;->AndroidManifestPermission_permissionGroup:I
-Landroid/R$styleable;->AndroidManifestPermission_protectionLevel:I
-Landroid/R$styleable;->AndroidManifestPermission_roundIcon:I
-Landroid/R$styleable;->AndroidManifestProtectedBroadcast:[I
-Landroid/R$styleable;->AndroidManifestProtectedBroadcast_name:I
-Landroid/R$styleable;->AndroidManifestProvider:[I
-Landroid/R$styleable;->AndroidManifestProvider_authorities:I
-Landroid/R$styleable;->AndroidManifestProvider_banner:I
-Landroid/R$styleable;->AndroidManifestProvider_description:I
-Landroid/R$styleable;->AndroidManifestProvider_directBootAware:I
-Landroid/R$styleable;->AndroidManifestProvider_enabled:I
-Landroid/R$styleable;->AndroidManifestProvider_exported:I
-Landroid/R$styleable;->AndroidManifestProvider_grantUriPermissions:I
-Landroid/R$styleable;->AndroidManifestProvider_icon:I
-Landroid/R$styleable;->AndroidManifestProvider_initOrder:I
-Landroid/R$styleable;->AndroidManifestProvider_label:I
-Landroid/R$styleable;->AndroidManifestProvider_logo:I
-Landroid/R$styleable;->AndroidManifestProvider_multiprocess:I
-Landroid/R$styleable;->AndroidManifestProvider_name:I
-Landroid/R$styleable;->AndroidManifestProvider_permission:I
-Landroid/R$styleable;->AndroidManifestProvider_process:I
-Landroid/R$styleable;->AndroidManifestProvider_readPermission:I
-Landroid/R$styleable;->AndroidManifestProvider_roundIcon:I
-Landroid/R$styleable;->AndroidManifestProvider_singleUser:I
-Landroid/R$styleable;->AndroidManifestProvider_splitName:I
-Landroid/R$styleable;->AndroidManifestProvider_syncable:I
-Landroid/R$styleable;->AndroidManifestProvider_visibleToInstantApps:I
-Landroid/R$styleable;->AndroidManifestProvider_writePermission:I
-Landroid/R$styleable;->AndroidManifestPublicKey:[I
-Landroid/R$styleable;->AndroidManifestPublicKey_name:I
-Landroid/R$styleable;->AndroidManifestPublicKey_value:I
-Landroid/R$styleable;->AndroidManifestReceiver:[I
-Landroid/R$styleable;->AndroidManifestReceiver_banner:I
-Landroid/R$styleable;->AndroidManifestReceiver_description:I
-Landroid/R$styleable;->AndroidManifestReceiver_directBootAware:I
-Landroid/R$styleable;->AndroidManifestReceiver_enabled:I
-Landroid/R$styleable;->AndroidManifestReceiver_exported:I
-Landroid/R$styleable;->AndroidManifestReceiver_icon:I
-Landroid/R$styleable;->AndroidManifestReceiver_label:I
-Landroid/R$styleable;->AndroidManifestReceiver_logo:I
-Landroid/R$styleable;->AndroidManifestReceiver_name:I
-Landroid/R$styleable;->AndroidManifestReceiver_permission:I
-Landroid/R$styleable;->AndroidManifestReceiver_process:I
-Landroid/R$styleable;->AndroidManifestReceiver_roundIcon:I
-Landroid/R$styleable;->AndroidManifestReceiver_singleUser:I
-Landroid/R$styleable;->AndroidManifestResourceOverlay:[I
-Landroid/R$styleable;->AndroidManifestResourceOverlay_category:I
-Landroid/R$styleable;->AndroidManifestResourceOverlay_isStatic:I
-Landroid/R$styleable;->AndroidManifestResourceOverlay_priority:I
-Landroid/R$styleable;->AndroidManifestResourceOverlay_requiredSystemPropertyName:I
-Landroid/R$styleable;->AndroidManifestResourceOverlay_requiredSystemPropertyValue:I
-Landroid/R$styleable;->AndroidManifestResourceOverlay_targetPackage:I
-Landroid/R$styleable;->AndroidManifestRestrictUpdate:[I
-Landroid/R$styleable;->AndroidManifestRestrictUpdate_hash:I
-Landroid/R$styleable;->AndroidManifestService:[I
-Landroid/R$styleable;->AndroidManifestService_banner:I
-Landroid/R$styleable;->AndroidManifestService_description:I
-Landroid/R$styleable;->AndroidManifestService_directBootAware:I
-Landroid/R$styleable;->AndroidManifestService_enabled:I
-Landroid/R$styleable;->AndroidManifestService_exported:I
-Landroid/R$styleable;->AndroidManifestService_externalService:I
-Landroid/R$styleable;->AndroidManifestService_icon:I
-Landroid/R$styleable;->AndroidManifestService_isolatedProcess:I
-Landroid/R$styleable;->AndroidManifestService_label:I
-Landroid/R$styleable;->AndroidManifestService_logo:I
-Landroid/R$styleable;->AndroidManifestService_name:I
-Landroid/R$styleable;->AndroidManifestService_permission:I
-Landroid/R$styleable;->AndroidManifestService_process:I
-Landroid/R$styleable;->AndroidManifestService_roundIcon:I
-Landroid/R$styleable;->AndroidManifestService_singleUser:I
-Landroid/R$styleable;->AndroidManifestService_splitName:I
-Landroid/R$styleable;->AndroidManifestService_stopWithTask:I
-Landroid/R$styleable;->AndroidManifestService_visibleToInstantApps:I
-Landroid/R$styleable;->AndroidManifestStaticLibrary:[I
-Landroid/R$styleable;->AndroidManifestStaticLibrary_name:I
-Landroid/R$styleable;->AndroidManifestStaticLibrary_version:I
-Landroid/R$styleable;->AndroidManifestStaticLibrary_versionMajor:I
-Landroid/R$styleable;->AndroidManifestSupportsInputInputType:[I
-Landroid/R$styleable;->AndroidManifestSupportsInputInputType_name:I
-Landroid/R$styleable;->AndroidManifestSupportsScreens:[I
-Landroid/R$styleable;->AndroidManifestSupportsScreens_anyDensity:I
-Landroid/R$styleable;->AndroidManifestSupportsScreens_compatibleWidthLimitDp:I
-Landroid/R$styleable;->AndroidManifestSupportsScreens_largeScreens:I
-Landroid/R$styleable;->AndroidManifestSupportsScreens_largestWidthLimitDp:I
-Landroid/R$styleable;->AndroidManifestSupportsScreens_normalScreens:I
-Landroid/R$styleable;->AndroidManifestSupportsScreens_requiresSmallestWidthDp:I
-Landroid/R$styleable;->AndroidManifestSupportsScreens_resizeable:I
-Landroid/R$styleable;->AndroidManifestSupportsScreens_smallScreens:I
-Landroid/R$styleable;->AndroidManifestSupportsScreens_xlargeScreens:I
-Landroid/R$styleable;->AndroidManifestUpgradeKeySet:[I
-Landroid/R$styleable;->AndroidManifestUpgradeKeySet_name:I
-Landroid/R$styleable;->AndroidManifestUsesConfiguration:[I
-Landroid/R$styleable;->AndroidManifestUsesConfiguration_reqFiveWayNav:I
-Landroid/R$styleable;->AndroidManifestUsesConfiguration_reqHardKeyboard:I
-Landroid/R$styleable;->AndroidManifestUsesConfiguration_reqKeyboardType:I
-Landroid/R$styleable;->AndroidManifestUsesConfiguration_reqNavigation:I
-Landroid/R$styleable;->AndroidManifestUsesConfiguration_reqTouchScreen:I
-Landroid/R$styleable;->AndroidManifestUsesFeature:[I
-Landroid/R$styleable;->AndroidManifestUsesFeature_glEsVersion:I
-Landroid/R$styleable;->AndroidManifestUsesFeature_name:I
-Landroid/R$styleable;->AndroidManifestUsesFeature_required:I
-Landroid/R$styleable;->AndroidManifestUsesFeature_version:I
-Landroid/R$styleable;->AndroidManifestUsesLibrary:[I
-Landroid/R$styleable;->AndroidManifestUsesLibrary_name:I
-Landroid/R$styleable;->AndroidManifestUsesLibrary_required:I
-Landroid/R$styleable;->AndroidManifestUsesPermission:[I
-Landroid/R$styleable;->AndroidManifestUsesPermission_maxSdkVersion:I
-Landroid/R$styleable;->AndroidManifestUsesPermission_name:I
-Landroid/R$styleable;->AndroidManifestUsesPermission_requiredFeature:I
-Landroid/R$styleable;->AndroidManifestUsesPermission_requiredNotFeature:I
-Landroid/R$styleable;->AndroidManifestUsesSdk:[I
-Landroid/R$styleable;->AndroidManifestUsesSdk_maxSdkVersion:I
-Landroid/R$styleable;->AndroidManifestUsesSdk_minSdkVersion:I
-Landroid/R$styleable;->AndroidManifestUsesSdk_targetSdkVersion:I
-Landroid/R$styleable;->AndroidManifestUsesSplit:[I
-Landroid/R$styleable;->AndroidManifestUsesSplit_name:I
-Landroid/R$styleable;->AndroidManifestUsesStaticLibrary:[I
-Landroid/R$styleable;->AndroidManifestUsesStaticLibrary_certDigest:I
-Landroid/R$styleable;->AndroidManifestUsesStaticLibrary_name:I
-Landroid/R$styleable;->AndroidManifestUsesStaticLibrary_version:I
-Landroid/R$styleable;->AndroidManifest_compileSdkVersion:I
-Landroid/R$styleable;->AndroidManifest_compileSdkVersionCodename:I
-Landroid/R$styleable;->AndroidManifest_installLocation:I
-Landroid/R$styleable;->AndroidManifest_isFeatureSplit:I
-Landroid/R$styleable;->AndroidManifest_isolatedSplits:I
-Landroid/R$styleable;->AndroidManifest_revisionCode:I
-Landroid/R$styleable;->AndroidManifest_sharedUserId:I
-Landroid/R$styleable;->AndroidManifest_sharedUserLabel:I
-Landroid/R$styleable;->AndroidManifest_targetSandboxVersion:I
-Landroid/R$styleable;->AndroidManifest_versionCode:I
-Landroid/R$styleable;->AndroidManifest_versionCodeMajor:I
-Landroid/R$styleable;->AndroidManifest_versionName:I
-Landroid/R$styleable;->AnimatedImageDrawable:[I
-Landroid/R$styleable;->AnimatedImageDrawable_autoMirrored:I
-Landroid/R$styleable;->AnimatedImageDrawable_autoStart:I
-Landroid/R$styleable;->AnimatedImageDrawable_repeatCount:I
-Landroid/R$styleable;->AnimatedImageDrawable_src:I
-Landroid/R$styleable;->AnimatedRotateDrawable:[I
-Landroid/R$styleable;->AnimatedRotateDrawable_drawable:I
-Landroid/R$styleable;->AnimatedRotateDrawable_pivotX:I
-Landroid/R$styleable;->AnimatedRotateDrawable_pivotY:I
-Landroid/R$styleable;->AnimatedRotateDrawable_visible:I
-Landroid/R$styleable;->AnimatedStateListDrawable:[I
-Landroid/R$styleable;->AnimatedStateListDrawableItem:[I
-Landroid/R$styleable;->AnimatedStateListDrawableItem_drawable:I
-Landroid/R$styleable;->AnimatedStateListDrawableItem_id:I
-Landroid/R$styleable;->AnimatedStateListDrawableTransition:[I
-Landroid/R$styleable;->AnimatedStateListDrawableTransition_drawable:I
-Landroid/R$styleable;->AnimatedStateListDrawableTransition_fromId:I
-Landroid/R$styleable;->AnimatedStateListDrawableTransition_reversible:I
-Landroid/R$styleable;->AnimatedStateListDrawableTransition_toId:I
-Landroid/R$styleable;->AnimatedStateListDrawable_autoMirrored:I
-Landroid/R$styleable;->AnimatedStateListDrawable_constantSize:I
-Landroid/R$styleable;->AnimatedStateListDrawable_dither:I
-Landroid/R$styleable;->AnimatedStateListDrawable_enterFadeDuration:I
-Landroid/R$styleable;->AnimatedStateListDrawable_exitFadeDuration:I
-Landroid/R$styleable;->AnimatedStateListDrawable_variablePadding:I
-Landroid/R$styleable;->AnimatedStateListDrawable_visible:I
-Landroid/R$styleable;->AnimatedVectorDrawable:[I
-Landroid/R$styleable;->AnimatedVectorDrawableTarget:[I
-Landroid/R$styleable;->AnimatedVectorDrawableTarget_animation:I
-Landroid/R$styleable;->AnimatedVectorDrawableTarget_name:I
-Landroid/R$styleable;->AnimatedVectorDrawable_drawable:I
-Landroid/R$styleable;->Animation:[I
-Landroid/R$styleable;->AnimationDrawable:[I
-Landroid/R$styleable;->AnimationDrawableItem:[I
-Landroid/R$styleable;->AnimationDrawableItem_drawable:I
-Landroid/R$styleable;->AnimationDrawableItem_duration:I
-Landroid/R$styleable;->AnimationDrawable_oneshot:I
-Landroid/R$styleable;->AnimationDrawable_variablePadding:I
-Landroid/R$styleable;->AnimationDrawable_visible:I
-Landroid/R$styleable;->AnimationScaleListDrawable:[I
-Landroid/R$styleable;->AnimationScaleListDrawableItem:[I
-Landroid/R$styleable;->AnimationScaleListDrawableItem_drawable:I
-Landroid/R$styleable;->AnimationSet:[I
-Landroid/R$styleable;->AnimationSet_duration:I
-Landroid/R$styleable;->AnimationSet_fillAfter:I
-Landroid/R$styleable;->AnimationSet_fillBefore:I
-Landroid/R$styleable;->AnimationSet_repeatMode:I
-Landroid/R$styleable;->AnimationSet_shareInterpolator:I
-Landroid/R$styleable;->AnimationSet_startOffset:I
-Landroid/R$styleable;->Animation_background:I
-Landroid/R$styleable;->Animation_detachWallpaper:I
-Landroid/R$styleable;->Animation_duration:I
-Landroid/R$styleable;->Animation_fillAfter:I
-Landroid/R$styleable;->Animation_fillBefore:I
-Landroid/R$styleable;->Animation_fillEnabled:I
-Landroid/R$styleable;->Animation_interpolator:I
-Landroid/R$styleable;->Animation_repeatCount:I
-Landroid/R$styleable;->Animation_repeatMode:I
-Landroid/R$styleable;->Animation_startOffset:I
-Landroid/R$styleable;->Animation_zAdjustment:I
-Landroid/R$styleable;->Animator:[I
-Landroid/R$styleable;->AnimatorSet:[I
-Landroid/R$styleable;->AnimatorSet_ordering:I
-Landroid/R$styleable;->Animator_duration:I
-Landroid/R$styleable;->Animator_interpolator:I
-Landroid/R$styleable;->Animator_repeatCount:I
-Landroid/R$styleable;->Animator_repeatMode:I
-Landroid/R$styleable;->Animator_startOffset:I
-Landroid/R$styleable;->Animator_valueFrom:I
-Landroid/R$styleable;->Animator_valueTo:I
-Landroid/R$styleable;->Animator_valueType:I
-Landroid/R$styleable;->AnticipateInterpolator:[I
-Landroid/R$styleable;->AnticipateInterpolator_tension:I
-Landroid/R$styleable;->AnticipateOvershootInterpolator:[I
-Landroid/R$styleable;->AnticipateOvershootInterpolator_extraTension:I
-Landroid/R$styleable;->AnticipateOvershootInterpolator_tension:I
-Landroid/R$styleable;->AppWidgetProviderInfo:[I
-Landroid/R$styleable;->AppWidgetProviderInfo_autoAdvanceViewId:I
-Landroid/R$styleable;->AppWidgetProviderInfo_configure:I
-Landroid/R$styleable;->AppWidgetProviderInfo_initialKeyguardLayout:I
-Landroid/R$styleable;->AppWidgetProviderInfo_initialLayout:I
-Landroid/R$styleable;->AppWidgetProviderInfo_minHeight:I
-Landroid/R$styleable;->AppWidgetProviderInfo_minResizeHeight:I
-Landroid/R$styleable;->AppWidgetProviderInfo_minResizeWidth:I
-Landroid/R$styleable;->AppWidgetProviderInfo_minWidth:I
-Landroid/R$styleable;->AppWidgetProviderInfo_previewImage:I
-Landroid/R$styleable;->AppWidgetProviderInfo_resizeMode:I
-Landroid/R$styleable;->AppWidgetProviderInfo_updatePeriodMillis:I
-Landroid/R$styleable;->AppWidgetProviderInfo_widgetCategory:I
-Landroid/R$styleable;->AppWidgetProviderInfo_widgetFeatures:I
-Landroid/R$styleable;->ArcMotion:[I
-Landroid/R$styleable;->ArcMotion_maximumAngle:I
-Landroid/R$styleable;->ArcMotion_minimumHorizontalAngle:I
-Landroid/R$styleable;->ArcMotion_minimumVerticalAngle:I
-Landroid/R$styleable;->AutoCompleteTextView:[I
-Landroid/R$styleable;->AutoCompleteTextView_completionHint:I
-Landroid/R$styleable;->AutoCompleteTextView_completionHintView:I
-Landroid/R$styleable;->AutoCompleteTextView_completionThreshold:I
-Landroid/R$styleable;->AutoCompleteTextView_dropDownAnchor:I
-Landroid/R$styleable;->AutoCompleteTextView_dropDownHeight:I
-Landroid/R$styleable;->AutoCompleteTextView_dropDownSelector:I
-Landroid/R$styleable;->AutoCompleteTextView_dropDownWidth:I
-Landroid/R$styleable;->AutoCompleteTextView_inputType:I
-Landroid/R$styleable;->AutoCompleteTextView_popupTheme:I
-Landroid/R$styleable;->AutofillService:[I
-Landroid/R$styleable;->AutofillService_CompatibilityPackage:[I
-Landroid/R$styleable;->AutofillService_CompatibilityPackage_maxLongVersionCode:I
-Landroid/R$styleable;->AutofillService_CompatibilityPackage_name:I
-Landroid/R$styleable;->AutofillService_settingsActivity:I
-Landroid/R$styleable;->BitmapDrawable:[I
-Landroid/R$styleable;->BitmapDrawable_alpha:I
-Landroid/R$styleable;->BitmapDrawable_antialias:I
-Landroid/R$styleable;->BitmapDrawable_autoMirrored:I
-Landroid/R$styleable;->BitmapDrawable_dither:I
-Landroid/R$styleable;->BitmapDrawable_filter:I
-Landroid/R$styleable;->BitmapDrawable_gravity:I
-Landroid/R$styleable;->BitmapDrawable_mipMap:I
-Landroid/R$styleable;->BitmapDrawable_src:I
-Landroid/R$styleable;->BitmapDrawable_tileMode:I
-Landroid/R$styleable;->BitmapDrawable_tileModeX:I
-Landroid/R$styleable;->BitmapDrawable_tileModeY:I
-Landroid/R$styleable;->BitmapDrawable_tint:I
-Landroid/R$styleable;->BitmapDrawable_tintMode:I
-Landroid/R$styleable;->Button:[I
-Landroid/R$styleable;->ButtonBarLayout:[I
-Landroid/R$styleable;->CalendarView_maxDate:I
-Landroid/R$styleable;->CalendarView_minDate:I
-Landroid/R$styleable;->ChangeBounds:[I
-Landroid/R$styleable;->ChangeBounds_resizeClip:I
-Landroid/R$styleable;->ChangeTransform:[I
-Landroid/R$styleable;->ChangeTransform_reparent:I
-Landroid/R$styleable;->ChangeTransform_reparentWithOverlay:I
-Landroid/R$styleable;->CheckBoxPreference_disableDependentsState:I
-Landroid/R$styleable;->CheckBoxPreference_summaryOff:I
-Landroid/R$styleable;->CheckBoxPreference_summaryOn:I
-Landroid/R$styleable;->CheckedTextView_checked:I
-Landroid/R$styleable;->CheckedTextView_checkMarkTint:I
-Landroid/R$styleable;->CheckedTextView_checkMarkTintMode:I
-Landroid/R$styleable;->Chronometer:[I
-Landroid/R$styleable;->Chronometer_countDown:I
-Landroid/R$styleable;->Chronometer_format:I
-Landroid/R$styleable;->ClipDrawable:[I
-Landroid/R$styleable;->ClipDrawable_clipOrientation:I
-Landroid/R$styleable;->ClipDrawable_drawable:I
-Landroid/R$styleable;->ClipDrawable_gravity:I
-Landroid/R$styleable;->ClipRectAnimation:[I
-Landroid/R$styleable;->ColorDrawable:[I
-Landroid/R$styleable;->ColorDrawable_color:I
-Landroid/R$styleable;->ColorStateListItem:[I
-Landroid/R$styleable;->ColorStateListItem_alpha:I
-Landroid/R$styleable;->ColorStateListItem_color:I
-Landroid/R$styleable;->CompoundButton_buttonTint:I
-Landroid/R$styleable;->CompoundButton_buttonTintMode:I
-Landroid/R$styleable;->CompoundButton_checked:I
-Landroid/R$styleable;->ContactsDataKind_allContactsName:I
-Landroid/R$styleable;->ContactsDataKind_detailColumn:I
-Landroid/R$styleable;->ContactsDataKind_detailSocialSummary:I
-Landroid/R$styleable;->ContactsDataKind_icon:I
-Landroid/R$styleable;->ContactsDataKind_mimeType:I
-Landroid/R$styleable;->ContactsDataKind_summaryColumn:I
-Landroid/R$styleable;->CycleInterpolator:[I
-Landroid/R$styleable;->CycleInterpolator_cycles:I
-Landroid/R$styleable;->DatePicker_calendarTextColor:I
-Landroid/R$styleable;->DatePicker_calendarViewShown:I
-Landroid/R$styleable;->DatePicker_datePickerMode:I
-Landroid/R$styleable;->DatePicker_dayOfWeekBackground:I
-Landroid/R$styleable;->DatePicker_dayOfWeekTextAppearance:I
-Landroid/R$styleable;->DatePicker_endYear:I
-Landroid/R$styleable;->DatePicker_firstDayOfWeek:I
-Landroid/R$styleable;->DatePicker_headerBackground:I
-Landroid/R$styleable;->DatePicker_headerDayOfMonthTextAppearance:I
-Landroid/R$styleable;->DatePicker_headerMonthTextAppearance:I
-Landroid/R$styleable;->DatePicker_headerYearTextAppearance:I
-Landroid/R$styleable;->DatePicker_maxDate:I
-Landroid/R$styleable;->DatePicker_minDate:I
-Landroid/R$styleable;->DatePicker_spinnersShown:I
-Landroid/R$styleable;->DatePicker_startYear:I
-Landroid/R$styleable;->DatePicker_yearListItemTextAppearance:I
-Landroid/R$styleable;->DatePicker_yearListSelectorColor:I
-Landroid/R$styleable;->DateTimeView:[I
-Landroid/R$styleable;->DecelerateInterpolator:[I
-Landroid/R$styleable;->DecelerateInterpolator_factor:I
-Landroid/R$styleable;->DeviceAdmin:[I
-Landroid/R$styleable;->DeviceAdmin_visible:I
-Landroid/R$styleable;->DialogPreference_dialogIcon:I
-Landroid/R$styleable;->DialogPreference_dialogLayout:I
-Landroid/R$styleable;->DialogPreference_dialogMessage:I
-Landroid/R$styleable;->DialogPreference_dialogTitle:I
-Landroid/R$styleable;->DialogPreference_negativeButtonText:I
-Landroid/R$styleable;->DialogPreference_positiveButtonText:I
-Landroid/R$styleable;->Drawable:[I
-Landroid/R$styleable;->DrawableCorners:[I
-Landroid/R$styleable;->DrawableCorners_bottomLeftRadius:I
-Landroid/R$styleable;->DrawableCorners_bottomRightRadius:I
-Landroid/R$styleable;->DrawableCorners_radius:I
-Landroid/R$styleable;->DrawableCorners_topLeftRadius:I
-Landroid/R$styleable;->DrawableCorners_topRightRadius:I
-Landroid/R$styleable;->DrawableStates_state_accelerated:I
-Landroid/R$styleable;->DrawableStates_state_activated:I
-Landroid/R$styleable;->DrawableStates_state_active:I
-Landroid/R$styleable;->DrawableStates_state_checkable:I
-Landroid/R$styleable;->DrawableStates_state_checked:I
-Landroid/R$styleable;->DrawableStates_state_drag_can_accept:I
-Landroid/R$styleable;->DrawableStates_state_drag_hovered:I
-Landroid/R$styleable;->DrawableStates_state_enabled:I
-Landroid/R$styleable;->DrawableStates_state_first:I
-Landroid/R$styleable;->DrawableStates_state_focused:I
-Landroid/R$styleable;->DrawableStates_state_hovered:I
-Landroid/R$styleable;->DrawableStates_state_last:I
-Landroid/R$styleable;->DrawableStates_state_middle:I
-Landroid/R$styleable;->DrawableStates_state_pressed:I
-Landroid/R$styleable;->DrawableStates_state_selected:I
-Landroid/R$styleable;->DrawableStates_state_single:I
-Landroid/R$styleable;->DrawableStates_state_window_focused:I
-Landroid/R$styleable;->DrawableWrapper:[I
-Landroid/R$styleable;->DrawableWrapper_drawable:I
-Landroid/R$styleable;->Drawable_autoMirrored:I
-Landroid/R$styleable;->Drawable_visible:I
-Landroid/R$styleable;->Dream:[I
-Landroid/R$styleable;->Dream_settingsActivity:I
-Landroid/R$styleable;->EdgeEffect:[I
-Landroid/R$styleable;->EdgeEffect_colorEdgeEffect:I
-Landroid/R$styleable;->EditText:[I
-Landroid/R$styleable;->EpicenterTranslateClipReveal:[I
-Landroid/R$styleable;->ExpandableListChildIndicatorState:[I
-Landroid/R$styleable;->ExpandableListChildIndicatorState_state_last:I
-Landroid/R$styleable;->ExpandableListGroupIndicatorState:[I
-Landroid/R$styleable;->ExpandableListGroupIndicatorState_state_empty:I
-Landroid/R$styleable;->ExpandableListGroupIndicatorState_state_expanded:I
-Landroid/R$styleable;->ExpandableListView_childDivider:I
-Landroid/R$styleable;->ExpandableListView_childIndicator:I
-Landroid/R$styleable;->ExpandableListView_childIndicatorEnd:I
-Landroid/R$styleable;->ExpandableListView_childIndicatorLeft:I
-Landroid/R$styleable;->ExpandableListView_childIndicatorRight:I
-Landroid/R$styleable;->ExpandableListView_childIndicatorStart:I
-Landroid/R$styleable;->ExpandableListView_groupIndicator:I
-Landroid/R$styleable;->ExpandableListView_indicatorEnd:I
-Landroid/R$styleable;->ExpandableListView_indicatorLeft:I
-Landroid/R$styleable;->ExpandableListView_indicatorRight:I
-Landroid/R$styleable;->ExpandableListView_indicatorStart:I
-Landroid/R$styleable;->Extra:[I
-Landroid/R$styleable;->Extra_name:I
-Landroid/R$styleable;->Extra_value:I
-Landroid/R$styleable;->Fade:[I
-Landroid/R$styleable;->Fade_fadingMode:I
-Landroid/R$styleable;->FastScroll:[I
-Landroid/R$styleable;->FastScroll_minHeight:I
-Landroid/R$styleable;->FastScroll_minWidth:I
-Landroid/R$styleable;->FastScroll_padding:I
-Landroid/R$styleable;->FastScroll_textAppearance:I
-Landroid/R$styleable;->FastScroll_textColor:I
-Landroid/R$styleable;->FastScroll_textSize:I
-Landroid/R$styleable;->FastScroll_thumbPosition:I
-Landroid/R$styleable;->FontFamily:[I
-Landroid/R$styleable;->FontFamilyFont:[I
-Landroid/R$styleable;->FontFamilyFont_font:I
-Landroid/R$styleable;->FontFamilyFont_fontStyle:I
-Landroid/R$styleable;->FontFamilyFont_fontVariationSettings:I
-Landroid/R$styleable;->FontFamilyFont_fontWeight:I
-Landroid/R$styleable;->FontFamilyFont_ttcIndex:I
-Landroid/R$styleable;->FontFamily_fontProviderAuthority:I
-Landroid/R$styleable;->FontFamily_fontProviderCerts:I
-Landroid/R$styleable;->FontFamily_fontProviderPackage:I
-Landroid/R$styleable;->FontFamily_fontProviderQuery:I
-Landroid/R$styleable;->Fragment:[I
-Landroid/R$styleable;->FragmentAnimation:[I
-Landroid/R$styleable;->FragmentAnimation_fragmentCloseEnterAnimation:I
-Landroid/R$styleable;->FragmentAnimation_fragmentCloseExitAnimation:I
-Landroid/R$styleable;->FragmentAnimation_fragmentFadeEnterAnimation:I
-Landroid/R$styleable;->FragmentAnimation_fragmentFadeExitAnimation:I
-Landroid/R$styleable;->FragmentAnimation_fragmentOpenEnterAnimation:I
-Landroid/R$styleable;->FragmentAnimation_fragmentOpenExitAnimation:I
-Landroid/R$styleable;->FragmentBreadCrumbs:[I
-Landroid/R$styleable;->FragmentBreadCrumbs_gravity:I
-Landroid/R$styleable;->Fragment_fragmentAllowEnterTransitionOverlap:I
-Landroid/R$styleable;->Fragment_fragmentAllowReturnTransitionOverlap:I
-Landroid/R$styleable;->Fragment_fragmentEnterTransition:I
-Landroid/R$styleable;->Fragment_fragmentExitTransition:I
-Landroid/R$styleable;->Fragment_fragmentReenterTransition:I
-Landroid/R$styleable;->Fragment_fragmentReturnTransition:I
-Landroid/R$styleable;->Fragment_fragmentSharedElementEnterTransition:I
-Landroid/R$styleable;->Fragment_fragmentSharedElementReturnTransition:I
-Landroid/R$styleable;->Fragment_id:I
-Landroid/R$styleable;->Fragment_name:I
-Landroid/R$styleable;->Fragment_tag:I
-Landroid/R$styleable;->FrameLayout:[I
-Landroid/R$styleable;->FrameLayout_Layout_layout_gravity:I
-Landroid/R$styleable;->FrameLayout_measureAllChildren:I
-Landroid/R$styleable;->Gallery:[I
-Landroid/R$styleable;->Gallery_animationDuration:I
-Landroid/R$styleable;->Gallery_gravity:I
-Landroid/R$styleable;->Gallery_spacing:I
-Landroid/R$styleable;->Gallery_unselectedAlpha:I
-Landroid/R$styleable;->GestureOverlayView:[I
-Landroid/R$styleable;->GestureOverlayView_eventsInterceptionEnabled:I
-Landroid/R$styleable;->GestureOverlayView_fadeDuration:I
-Landroid/R$styleable;->GestureOverlayView_fadeEnabled:I
-Landroid/R$styleable;->GestureOverlayView_fadeOffset:I
-Landroid/R$styleable;->GestureOverlayView_gestureColor:I
-Landroid/R$styleable;->GestureOverlayView_gestureStrokeAngleThreshold:I
-Landroid/R$styleable;->GestureOverlayView_gestureStrokeLengthThreshold:I
-Landroid/R$styleable;->GestureOverlayView_gestureStrokeSquarenessThreshold:I
-Landroid/R$styleable;->GestureOverlayView_gestureStrokeType:I
-Landroid/R$styleable;->GestureOverlayView_gestureStrokeWidth:I
-Landroid/R$styleable;->GestureOverlayView_orientation:I
-Landroid/R$styleable;->GestureOverlayView_uncertainGestureColor:I
-Landroid/R$styleable;->GlowPadView:[I
-Landroid/R$styleable;->GlowPadView_directionDescriptions:I
-Landroid/R$styleable;->GlowPadView_targetDescriptions:I
-Landroid/R$styleable;->GradientColor:[I
-Landroid/R$styleable;->GradientColorItem:[I
-Landroid/R$styleable;->GradientColorItem_color:I
-Landroid/R$styleable;->GradientColorItem_offset:I
-Landroid/R$styleable;->GradientColor_centerColor:I
-Landroid/R$styleable;->GradientColor_centerX:I
-Landroid/R$styleable;->GradientColor_centerY:I
-Landroid/R$styleable;->GradientColor_endColor:I
-Landroid/R$styleable;->GradientColor_endX:I
-Landroid/R$styleable;->GradientColor_endY:I
-Landroid/R$styleable;->GradientColor_gradientRadius:I
-Landroid/R$styleable;->GradientColor_startColor:I
-Landroid/R$styleable;->GradientColor_startX:I
-Landroid/R$styleable;->GradientColor_startY:I
-Landroid/R$styleable;->GradientColor_tileMode:I
-Landroid/R$styleable;->GradientColor_type:I
-Landroid/R$styleable;->GradientDrawable:[I
-Landroid/R$styleable;->GradientDrawableGradient:[I
-Landroid/R$styleable;->GradientDrawableGradient_angle:I
-Landroid/R$styleable;->GradientDrawableGradient_centerColor:I
-Landroid/R$styleable;->GradientDrawableGradient_centerX:I
-Landroid/R$styleable;->GradientDrawableGradient_centerY:I
-Landroid/R$styleable;->GradientDrawableGradient_endColor:I
-Landroid/R$styleable;->GradientDrawableGradient_gradientRadius:I
-Landroid/R$styleable;->GradientDrawableGradient_startColor:I
-Landroid/R$styleable;->GradientDrawableGradient_type:I
-Landroid/R$styleable;->GradientDrawableGradient_useLevel:I
-Landroid/R$styleable;->GradientDrawablePadding:[I
-Landroid/R$styleable;->GradientDrawablePadding_bottom:I
-Landroid/R$styleable;->GradientDrawablePadding_left:I
-Landroid/R$styleable;->GradientDrawablePadding_right:I
-Landroid/R$styleable;->GradientDrawablePadding_top:I
-Landroid/R$styleable;->GradientDrawableSize:[I
-Landroid/R$styleable;->GradientDrawableSize_height:I
-Landroid/R$styleable;->GradientDrawableSize_width:I
-Landroid/R$styleable;->GradientDrawableSolid:[I
-Landroid/R$styleable;->GradientDrawableSolid_color:I
-Landroid/R$styleable;->GradientDrawableStroke:[I
-Landroid/R$styleable;->GradientDrawableStroke_color:I
-Landroid/R$styleable;->GradientDrawableStroke_dashGap:I
-Landroid/R$styleable;->GradientDrawableStroke_dashWidth:I
-Landroid/R$styleable;->GradientDrawableStroke_width:I
-Landroid/R$styleable;->GradientDrawable_dither:I
-Landroid/R$styleable;->GradientDrawable_innerRadius:I
-Landroid/R$styleable;->GradientDrawable_innerRadiusRatio:I
-Landroid/R$styleable;->GradientDrawable_shape:I
-Landroid/R$styleable;->GradientDrawable_thickness:I
-Landroid/R$styleable;->GradientDrawable_thicknessRatio:I
-Landroid/R$styleable;->GradientDrawable_tint:I
-Landroid/R$styleable;->GradientDrawable_tintMode:I
-Landroid/R$styleable;->GradientDrawable_useLevel:I
-Landroid/R$styleable;->GradientDrawable_visible:I
-Landroid/R$styleable;->GridLayout:[I
-Landroid/R$styleable;->GridLayoutAnimation:[I
-Landroid/R$styleable;->GridLayoutAnimation_columnDelay:I
-Landroid/R$styleable;->GridLayoutAnimation_direction:I
-Landroid/R$styleable;->GridLayoutAnimation_directionPriority:I
-Landroid/R$styleable;->GridLayoutAnimation_rowDelay:I
-Landroid/R$styleable;->GridLayout_alignmentMode:I
-Landroid/R$styleable;->GridLayout_columnCount:I
-Landroid/R$styleable;->GridLayout_columnOrderPreserved:I
-Landroid/R$styleable;->GridLayout_Layout:[I
-Landroid/R$styleable;->GridLayout_Layout_layout_column:I
-Landroid/R$styleable;->GridLayout_Layout_layout_columnSpan:I
-Landroid/R$styleable;->GridLayout_Layout_layout_columnWeight:I
-Landroid/R$styleable;->GridLayout_Layout_layout_gravity:I
-Landroid/R$styleable;->GridLayout_Layout_layout_row:I
-Landroid/R$styleable;->GridLayout_Layout_layout_rowSpan:I
-Landroid/R$styleable;->GridLayout_Layout_layout_rowWeight:I
-Landroid/R$styleable;->GridLayout_orientation:I
-Landroid/R$styleable;->GridLayout_rowCount:I
-Landroid/R$styleable;->GridLayout_rowOrderPreserved:I
-Landroid/R$styleable;->GridLayout_useDefaultMargins:I
-Landroid/R$styleable;->GridView:[I
-Landroid/R$styleable;->GridView_columnWidth:I
-Landroid/R$styleable;->GridView_gravity:I
-Landroid/R$styleable;->GridView_horizontalSpacing:I
-Landroid/R$styleable;->GridView_numColumns:I
-Landroid/R$styleable;->GridView_stretchMode:I
-Landroid/R$styleable;->GridView_verticalSpacing:I
-Landroid/R$styleable;->HorizontalScrollView_fillViewport:I
-Landroid/R$styleable;->HostApduService:[I
-Landroid/R$styleable;->HostApduService_apduServiceBanner:I
-Landroid/R$styleable;->HostApduService_description:I
-Landroid/R$styleable;->HostApduService_requireDeviceUnlock:I
-Landroid/R$styleable;->HostApduService_settingsActivity:I
-Landroid/R$styleable;->HostNfcFService:[I
-Landroid/R$styleable;->HostNfcFService_description:I
-Landroid/R$styleable;->Icon:[I
-Landroid/R$styleable;->IconDefault:[I
-Landroid/R$styleable;->IconDefault_icon:I
-Landroid/R$styleable;->IconMenuView:[I
-Landroid/R$styleable;->IconMenuView_maxItemsPerRow:I
-Landroid/R$styleable;->IconMenuView_maxRows:I
-Landroid/R$styleable;->IconMenuView_moreIcon:I
-Landroid/R$styleable;->IconMenuView_rowHeight:I
-Landroid/R$styleable;->Icon_icon:I
-Landroid/R$styleable;->Icon_mimeType:I
-Landroid/R$styleable;->ImageSwitcher:[I
-Landroid/R$styleable;->ImageView_baseline:I
-Landroid/R$styleable;->ImageView_tintMode:I
-Landroid/R$styleable;->Include:[I
-Landroid/R$styleable;->Include_id:I
-Landroid/R$styleable;->Include_visibility:I
-Landroid/R$styleable;->InputExtras:[I
-Landroid/R$styleable;->InputMethod:[I
-Landroid/R$styleable;->InputMethodService:[I
-Landroid/R$styleable;->InputMethodService_imeExtractEnterAnimation:I
-Landroid/R$styleable;->InputMethodService_imeExtractExitAnimation:I
-Landroid/R$styleable;->InputMethodService_imeFullscreenBackground:I
-Landroid/R$styleable;->InputMethod_isDefault:I
-Landroid/R$styleable;->InputMethod_isVrOnly:I
-Landroid/R$styleable;->InputMethod_settingsActivity:I
-Landroid/R$styleable;->InputMethod_Subtype:[I
-Landroid/R$styleable;->InputMethod_Subtype_icon:I
-Landroid/R$styleable;->InputMethod_Subtype_imeSubtypeExtraValue:I
-Landroid/R$styleable;->InputMethod_Subtype_imeSubtypeLocale:I
-Landroid/R$styleable;->InputMethod_Subtype_imeSubtypeMode:I
-Landroid/R$styleable;->InputMethod_Subtype_isAsciiCapable:I
-Landroid/R$styleable;->InputMethod_Subtype_isAuxiliary:I
-Landroid/R$styleable;->InputMethod_Subtype_label:I
-Landroid/R$styleable;->InputMethod_Subtype_languageTag:I
-Landroid/R$styleable;->InputMethod_Subtype_overridesImplicitlyEnabledSubtype:I
-Landroid/R$styleable;->InputMethod_Subtype_subtypeId:I
-Landroid/R$styleable;->InputMethod_supportsSwitchingToNextInputMethod:I
-Landroid/R$styleable;->InsetDrawable:[I
-Landroid/R$styleable;->InsetDrawable_drawable:I
-Landroid/R$styleable;->InsetDrawable_inset:I
-Landroid/R$styleable;->InsetDrawable_insetBottom:I
-Landroid/R$styleable;->InsetDrawable_insetLeft:I
-Landroid/R$styleable;->InsetDrawable_insetRight:I
-Landroid/R$styleable;->InsetDrawable_insetTop:I
-Landroid/R$styleable;->InsetDrawable_visible:I
-Landroid/R$styleable;->Intent:[I
-Landroid/R$styleable;->IntentCategory:[I
-Landroid/R$styleable;->IntentCategory_name:I
-Landroid/R$styleable;->Intent_action:I
-Landroid/R$styleable;->Intent_data:I
-Landroid/R$styleable;->Intent_mimeType:I
-Landroid/R$styleable;->Intent_targetClass:I
-Landroid/R$styleable;->Intent_targetPackage:I
-Landroid/R$styleable;->KeyboardLayout:[I
-Landroid/R$styleable;->KeyboardLayout_keyboardLayout:I
-Landroid/R$styleable;->KeyboardLayout_label:I
-Landroid/R$styleable;->KeyboardLayout_name:I
-Landroid/R$styleable;->KeyboardView:[I
-Landroid/R$styleable;->KeyboardViewPreviewState:[I
-Landroid/R$styleable;->KeyboardViewPreviewState_state_long_pressable:I
-Landroid/R$styleable;->KeyboardView_keyBackground:I
-Landroid/R$styleable;->KeyboardView_keyPreviewHeight:I
-Landroid/R$styleable;->KeyboardView_keyPreviewLayout:I
-Landroid/R$styleable;->KeyboardView_keyPreviewOffset:I
-Landroid/R$styleable;->KeyboardView_keyTextColor:I
-Landroid/R$styleable;->KeyboardView_keyTextSize:I
-Landroid/R$styleable;->KeyboardView_labelTextSize:I
-Landroid/R$styleable;->KeyboardView_popupLayout:I
-Landroid/R$styleable;->KeyboardView_shadowColor:I
-Landroid/R$styleable;->KeyboardView_shadowRadius:I
-Landroid/R$styleable;->KeyboardView_verticalCorrection:I
-Landroid/R$styleable;->Keyboard_Key_keyboardMode:I
-Landroid/R$styleable;->Keyframe:[I
-Landroid/R$styleable;->Keyframe_fraction:I
-Landroid/R$styleable;->Keyframe_interpolator:I
-Landroid/R$styleable;->Keyframe_value:I
-Landroid/R$styleable;->Keyframe_valueType:I
-Landroid/R$styleable;->KeyguardGlowStripView:[I
-Landroid/R$styleable;->LayerDrawable:[I
-Landroid/R$styleable;->LayerDrawableItem:[I
-Landroid/R$styleable;->LayerDrawableItem_bottom:I
-Landroid/R$styleable;->LayerDrawableItem_drawable:I
-Landroid/R$styleable;->LayerDrawableItem_end:I
-Landroid/R$styleable;->LayerDrawableItem_gravity:I
-Landroid/R$styleable;->LayerDrawableItem_height:I
-Landroid/R$styleable;->LayerDrawableItem_id:I
-Landroid/R$styleable;->LayerDrawableItem_left:I
-Landroid/R$styleable;->LayerDrawableItem_right:I
-Landroid/R$styleable;->LayerDrawableItem_start:I
-Landroid/R$styleable;->LayerDrawableItem_top:I
-Landroid/R$styleable;->LayerDrawableItem_width:I
-Landroid/R$styleable;->LayerDrawable_autoMirrored:I
-Landroid/R$styleable;->LayerDrawable_opacity:I
-Landroid/R$styleable;->LayerDrawable_paddingBottom:I
-Landroid/R$styleable;->LayerDrawable_paddingEnd:I
-Landroid/R$styleable;->LayerDrawable_paddingLeft:I
-Landroid/R$styleable;->LayerDrawable_paddingMode:I
-Landroid/R$styleable;->LayerDrawable_paddingRight:I
-Landroid/R$styleable;->LayerDrawable_paddingStart:I
-Landroid/R$styleable;->LayerDrawable_paddingTop:I
-Landroid/R$styleable;->LayoutAnimation:[I
-Landroid/R$styleable;->LayoutAnimation_animation:I
-Landroid/R$styleable;->LayoutAnimation_animationOrder:I
-Landroid/R$styleable;->LayoutAnimation_delay:I
-Landroid/R$styleable;->LayoutAnimation_interpolator:I
-Landroid/R$styleable;->LevelListDrawableItem:[I
-Landroid/R$styleable;->LevelListDrawableItem_drawable:I
-Landroid/R$styleable;->LevelListDrawableItem_maxLevel:I
-Landroid/R$styleable;->LevelListDrawableItem_minLevel:I
-Landroid/R$styleable;->Lighting:[I
-Landroid/R$styleable;->Lighting_ambientShadowAlpha:I
-Landroid/R$styleable;->Lighting_spotShadowAlpha:I
-Landroid/R$styleable;->LinearLayout_weightSum:I
-Landroid/R$styleable;->ListPopupWindow:[I
-Landroid/R$styleable;->ListPopupWindow_dropDownHorizontalOffset:I
-Landroid/R$styleable;->ListPopupWindow_dropDownVerticalOffset:I
-Landroid/R$styleable;->ListPreference:[I
-Landroid/R$styleable;->ListPreference_entries:I
-Landroid/R$styleable;->ListPreference_entryValues:I
-Landroid/R$styleable;->ListView_entries:I
-Landroid/R$styleable;->ListView_footerDividersEnabled:I
-Landroid/R$styleable;->ListView_headerDividersEnabled:I
-Landroid/R$styleable;->ListView_overScrollFooter:I
-Landroid/R$styleable;->ListView_overScrollHeader:I
-Landroid/R$styleable;->MapView:[I
-Landroid/R$styleable;->MapView_apiKey:I
-Landroid/R$styleable;->MaterialProgressDrawable:[I
-Landroid/R$styleable;->MaterialProgressDrawable_color:I
-Landroid/R$styleable;->MaterialProgressDrawable_height:I
-Landroid/R$styleable;->MaterialProgressDrawable_innerRadius:I
-Landroid/R$styleable;->MaterialProgressDrawable_thickness:I
-Landroid/R$styleable;->MaterialProgressDrawable_visible:I
-Landroid/R$styleable;->MaterialProgressDrawable_width:I
-Landroid/R$styleable;->MediaRouteButton:[I
-Landroid/R$styleable;->MediaRouteButton_mediaRouteTypes:I
-Landroid/R$styleable;->MediaRouteButton_minHeight:I
-Landroid/R$styleable;->MediaRouteButton_minWidth:I
-Landroid/R$styleable;->Menu:[I
-Landroid/R$styleable;->MenuGroup:[I
-Landroid/R$styleable;->MenuGroup_checkableBehavior:I
-Landroid/R$styleable;->MenuGroup_enabled:I
-Landroid/R$styleable;->MenuGroup_id:I
-Landroid/R$styleable;->MenuGroup_menuCategory:I
-Landroid/R$styleable;->MenuGroup_orderInCategory:I
-Landroid/R$styleable;->MenuGroup_visible:I
-Landroid/R$styleable;->MenuItem:[I
-Landroid/R$styleable;->MenuItemCheckedFocusedState:[I
-Landroid/R$styleable;->MenuItemCheckedFocusedState_state_checkable:I
-Landroid/R$styleable;->MenuItemCheckedFocusedState_state_checked:I
-Landroid/R$styleable;->MenuItemCheckedFocusedState_state_focused:I
-Landroid/R$styleable;->MenuItemCheckedState:[I
-Landroid/R$styleable;->MenuItemCheckedState_state_checkable:I
-Landroid/R$styleable;->MenuItemCheckedState_state_checked:I
-Landroid/R$styleable;->MenuItemUncheckedFocusedState:[I
-Landroid/R$styleable;->MenuItemUncheckedFocusedState_state_checkable:I
-Landroid/R$styleable;->MenuItemUncheckedFocusedState_state_focused:I
-Landroid/R$styleable;->MenuItemUncheckedState:[I
-Landroid/R$styleable;->MenuItemUncheckedState_state_checkable:I
-Landroid/R$styleable;->MenuItem_actionLayout:I
-Landroid/R$styleable;->MenuItem_actionProviderClass:I
-Landroid/R$styleable;->MenuItem_actionViewClass:I
-Landroid/R$styleable;->MenuItem_alphabeticModifiers:I
-Landroid/R$styleable;->MenuItem_alphabeticShortcut:I
-Landroid/R$styleable;->MenuItem_checkable:I
-Landroid/R$styleable;->MenuItem_checked:I
-Landroid/R$styleable;->MenuItem_contentDescription:I
-Landroid/R$styleable;->MenuItem_enabled:I
-Landroid/R$styleable;->MenuItem_icon:I
-Landroid/R$styleable;->MenuItem_iconTint:I
-Landroid/R$styleable;->MenuItem_iconTintMode:I
-Landroid/R$styleable;->MenuItem_id:I
-Landroid/R$styleable;->MenuItem_menuCategory:I
-Landroid/R$styleable;->MenuItem_numericModifiers:I
-Landroid/R$styleable;->MenuItem_numericShortcut:I
-Landroid/R$styleable;->MenuItem_onClick:I
-Landroid/R$styleable;->MenuItem_orderInCategory:I
-Landroid/R$styleable;->MenuItem_showAsAction:I
-Landroid/R$styleable;->MenuItem_title:I
-Landroid/R$styleable;->MenuItem_titleCondensed:I
-Landroid/R$styleable;->MenuItem_tooltipText:I
-Landroid/R$styleable;->MenuItem_visible:I
-Landroid/R$styleable;->MenuView:[I
-Landroid/R$styleable;->MenuView_headerBackground:I
-Landroid/R$styleable;->MenuView_horizontalDivider:I
-Landroid/R$styleable;->MenuView_itemBackground:I
-Landroid/R$styleable;->MenuView_itemIconDisabledAlpha:I
-Landroid/R$styleable;->MenuView_itemTextAppearance:I
-Landroid/R$styleable;->MenuView_subMenuArrow:I
-Landroid/R$styleable;->MenuView_verticalDivider:I
-Landroid/R$styleable;->MenuView_windowAnimationStyle:I
-Landroid/R$styleable;->MessagingLinearLayout:[I
-Landroid/R$styleable;->MessagingLinearLayout_spacing:I
-Landroid/R$styleable;->MultiSelectListPreference:[I
-Landroid/R$styleable;->MultiSelectListPreference_entries:I
-Landroid/R$styleable;->MultiSelectListPreference_entryValues:I
-Landroid/R$styleable;->Nfcid2Filter:[I
-Landroid/R$styleable;->Nfcid2Filter_name:I
-Landroid/R$styleable;->NinePatchDrawable:[I
-Landroid/R$styleable;->NinePatchDrawable_alpha:I
-Landroid/R$styleable;->NinePatchDrawable_autoMirrored:I
-Landroid/R$styleable;->NinePatchDrawable_dither:I
-Landroid/R$styleable;->NinePatchDrawable_src:I
-Landroid/R$styleable;->NinePatchDrawable_tint:I
-Landroid/R$styleable;->NinePatchDrawable_tintMode:I
-Landroid/R$styleable;->NotificationTheme:[I
-Landroid/R$styleable;->OffHostApduService:[I
-Landroid/R$styleable;->OffHostApduService_apduServiceBanner:I
-Landroid/R$styleable;->OffHostApduService_description:I
-Landroid/R$styleable;->OffHostApduService_settingsActivity:I
-Landroid/R$styleable;->OvershootInterpolator:[I
-Landroid/R$styleable;->OvershootInterpolator_tension:I
-Landroid/R$styleable;->PagedView:[I
-Landroid/R$styleable;->PathInterpolator:[I
-Landroid/R$styleable;->PathInterpolator_controlX1:I
-Landroid/R$styleable;->PathInterpolator_controlX2:I
-Landroid/R$styleable;->PathInterpolator_controlY1:I
-Landroid/R$styleable;->PathInterpolator_controlY2:I
-Landroid/R$styleable;->PathInterpolator_pathData:I
-Landroid/R$styleable;->PatternPathMotion:[I
-Landroid/R$styleable;->PatternPathMotion_patternPathData:I
-Landroid/R$styleable;->Pointer:[I
-Landroid/R$styleable;->PointerIcon:[I
-Landroid/R$styleable;->PointerIcon_bitmap:I
-Landroid/R$styleable;->PointerIcon_hotSpotX:I
-Landroid/R$styleable;->PointerIcon_hotSpotY:I
-Landroid/R$styleable;->PopupWindowBackgroundState:[I
-Landroid/R$styleable;->PopupWindowBackgroundState_state_above_anchor:I
-Landroid/R$styleable;->PopupWindow_overlapAnchor:I
-Landroid/R$styleable;->PopupWindow_popupAnimationStyle:I
-Landroid/R$styleable;->PopupWindow_popupBackground:I
-Landroid/R$styleable;->PopupWindow_popupElevation:I
-Landroid/R$styleable;->PopupWindow_popupEnterTransition:I
-Landroid/R$styleable;->PopupWindow_popupExitTransition:I
-Landroid/R$styleable;->Preference:[I
-Landroid/R$styleable;->PreferenceActivity:[I
-Landroid/R$styleable;->PreferenceActivity_layout:I
-Landroid/R$styleable;->PreferenceFragment:[I
-Landroid/R$styleable;->PreferenceFragment_divider:I
-Landroid/R$styleable;->PreferenceFragment_layout:I
-Landroid/R$styleable;->PreferenceFrameLayout:[I
-Landroid/R$styleable;->PreferenceFrameLayout_Layout:[I
-Landroid/R$styleable;->PreferenceGroup:[I
-Landroid/R$styleable;->PreferenceGroup_orderingFromXml:I
-Landroid/R$styleable;->PreferenceHeader:[I
-Landroid/R$styleable;->PreferenceHeader_breadCrumbShortTitle:I
-Landroid/R$styleable;->PreferenceHeader_breadCrumbTitle:I
-Landroid/R$styleable;->PreferenceHeader_fragment:I
-Landroid/R$styleable;->PreferenceHeader_icon:I
-Landroid/R$styleable;->PreferenceHeader_id:I
-Landroid/R$styleable;->PreferenceHeader_summary:I
-Landroid/R$styleable;->PreferenceHeader_title:I
-Landroid/R$styleable;->PreferenceScreen:[I
-Landroid/R$styleable;->PreferenceScreen_divider:I
-Landroid/R$styleable;->Preference_defaultValue:I
-Landroid/R$styleable;->Preference_dependency:I
-Landroid/R$styleable;->Preference_enabled:I
-Landroid/R$styleable;->Preference_fragment:I
-Landroid/R$styleable;->Preference_icon:I
-Landroid/R$styleable;->Preference_iconSpaceReserved:I
-Landroid/R$styleable;->Preference_key:I
-Landroid/R$styleable;->Preference_layout:I
-Landroid/R$styleable;->Preference_order:I
-Landroid/R$styleable;->Preference_persistent:I
-Landroid/R$styleable;->Preference_recycleEnabled:I
-Landroid/R$styleable;->Preference_selectable:I
-Landroid/R$styleable;->Preference_shouldDisableView:I
-Landroid/R$styleable;->Preference_singleLineTitle:I
-Landroid/R$styleable;->Preference_summary:I
-Landroid/R$styleable;->Preference_title:I
-Landroid/R$styleable;->Preference_widgetLayout:I
-Landroid/R$styleable;->PrintService:[I
-Landroid/R$styleable;->PrintService_addPrintersActivity:I
-Landroid/R$styleable;->PrintService_advancedPrintOptionsActivity:I
-Landroid/R$styleable;->PrintService_settingsActivity:I
-Landroid/R$styleable;->PrintService_vendor:I
-Landroid/R$styleable;->ProgressBar_animationResolution:I
-Landroid/R$styleable;->ProgressBar_backgroundTint:I
-Landroid/R$styleable;->ProgressBar_backgroundTintMode:I
-Landroid/R$styleable;->ProgressBar_indeterminate:I
-Landroid/R$styleable;->ProgressBar_indeterminateBehavior:I
-Landroid/R$styleable;->ProgressBar_indeterminateOnly:I
-Landroid/R$styleable;->ProgressBar_indeterminateTint:I
-Landroid/R$styleable;->ProgressBar_indeterminateTintMode:I
-Landroid/R$styleable;->ProgressBar_interpolator:I
-Landroid/R$styleable;->ProgressBar_max:I
-Landroid/R$styleable;->ProgressBar_min:I
-Landroid/R$styleable;->ProgressBar_mirrorForRtl:I
-Landroid/R$styleable;->ProgressBar_progress:I
-Landroid/R$styleable;->ProgressBar_progressBackgroundTint:I
-Landroid/R$styleable;->ProgressBar_progressBackgroundTintMode:I
-Landroid/R$styleable;->ProgressBar_progressTint:I
-Landroid/R$styleable;->ProgressBar_progressTintMode:I
-Landroid/R$styleable;->ProgressBar_secondaryProgress:I
-Landroid/R$styleable;->ProgressBar_secondaryProgressTint:I
-Landroid/R$styleable;->ProgressBar_secondaryProgressTintMode:I
-Landroid/R$styleable;->PropertyAnimator:[I
-Landroid/R$styleable;->PropertyAnimator_pathData:I
-Landroid/R$styleable;->PropertyAnimator_propertyName:I
-Landroid/R$styleable;->PropertyAnimator_propertyXName:I
-Landroid/R$styleable;->PropertyAnimator_propertyYName:I
-Landroid/R$styleable;->PropertyValuesHolder:[I
-Landroid/R$styleable;->PropertyValuesHolder_propertyName:I
-Landroid/R$styleable;->PropertyValuesHolder_valueFrom:I
-Landroid/R$styleable;->PropertyValuesHolder_valueTo:I
-Landroid/R$styleable;->PropertyValuesHolder_valueType:I
-Landroid/R$styleable;->QuickContactBadge:[I
-Landroid/R$styleable;->RadioGroup:[I
-Landroid/R$styleable;->RadioGroup_checkedButton:I
-Landroid/R$styleable;->RadioGroup_orientation:I
-Landroid/R$styleable;->RatingBar:[I
-Landroid/R$styleable;->RatingBar_isIndicator:I
-Landroid/R$styleable;->RatingBar_numStars:I
-Landroid/R$styleable;->RatingBar_rating:I
-Landroid/R$styleable;->RatingBar_stepSize:I
-Landroid/R$styleable;->RatingDefinition:[I
-Landroid/R$styleable;->RatingDefinition_contentAgeHint:I
-Landroid/R$styleable;->RatingDefinition_description:I
-Landroid/R$styleable;->RatingDefinition_name:I
-Landroid/R$styleable;->RatingDefinition_title:I
-Landroid/R$styleable;->RatingSystemDefinition:[I
-Landroid/R$styleable;->RatingSystemDefinition_country:I
-Landroid/R$styleable;->RatingSystemDefinition_description:I
-Landroid/R$styleable;->RatingSystemDefinition_name:I
-Landroid/R$styleable;->RatingSystemDefinition_title:I
-Landroid/R$styleable;->RecognitionService:[I
-Landroid/R$styleable;->RecognitionService_settingsActivity:I
-Landroid/R$styleable;->RecycleListView:[I
-Landroid/R$styleable;->RecyclerView:[I
-Landroid/R$styleable;->RecyclerView_descendantFocusability:I
-Landroid/R$styleable;->RecyclerView_orientation:I
-Landroid/R$styleable;->RelativeLayout:[I
-Landroid/R$styleable;->RelativeLayout_gravity:I
-Landroid/R$styleable;->RelativeLayout_ignoreGravity:I
-Landroid/R$styleable;->RelativeLayout_Layout:[I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_above:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_alignBaseline:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_alignBottom:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_alignEnd:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_alignLeft:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_alignParentBottom:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_alignParentEnd:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_alignParentLeft:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_alignParentRight:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_alignParentStart:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_alignParentTop:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_alignRight:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_alignStart:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_alignTop:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_alignWithParentIfMissing:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_below:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_centerHorizontal:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_centerInParent:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_centerVertical:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_toEndOf:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_toLeftOf:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_toRightOf:I
-Landroid/R$styleable;->RelativeLayout_Layout_layout_toStartOf:I
-Landroid/R$styleable;->ResolverDrawerLayout:[I
-Landroid/R$styleable;->ResolverDrawerLayout_LayoutParams:[I
-Landroid/R$styleable;->ResolverDrawerLayout_LayoutParams_layout_gravity:I
-Landroid/R$styleable;->ResolverDrawerLayout_maxWidth:I
-Landroid/R$styleable;->RestrictionEntry:[I
-Landroid/R$styleable;->RestrictionEntry_defaultValue:I
-Landroid/R$styleable;->RestrictionEntry_description:I
-Landroid/R$styleable;->RestrictionEntry_entries:I
-Landroid/R$styleable;->RestrictionEntry_entryValues:I
-Landroid/R$styleable;->RestrictionEntry_key:I
-Landroid/R$styleable;->RestrictionEntry_restrictionType:I
-Landroid/R$styleable;->RestrictionEntry_title:I
-Landroid/R$styleable;->RingtonePreference_ringtoneType:I
-Landroid/R$styleable;->RingtonePreference_showDefault:I
-Landroid/R$styleable;->RingtonePreference_showSilent:I
-Landroid/R$styleable;->RippleDrawable:[I
-Landroid/R$styleable;->RippleDrawable_color:I
-Landroid/R$styleable;->RippleDrawable_radius:I
-Landroid/R$styleable;->RotateAnimation:[I
-Landroid/R$styleable;->RotateAnimation_fromDegrees:I
-Landroid/R$styleable;->RotateAnimation_pivotX:I
-Landroid/R$styleable;->RotateAnimation_pivotY:I
-Landroid/R$styleable;->RotateAnimation_toDegrees:I
-Landroid/R$styleable;->RotateDrawable:[I
-Landroid/R$styleable;->RotateDrawable_drawable:I
-Landroid/R$styleable;->RotateDrawable_fromDegrees:I
-Landroid/R$styleable;->RotateDrawable_pivotX:I
-Landroid/R$styleable;->RotateDrawable_pivotY:I
-Landroid/R$styleable;->RotateDrawable_toDegrees:I
-Landroid/R$styleable;->RotateDrawable_visible:I
-Landroid/R$styleable;->ScaleAnimation:[I
-Landroid/R$styleable;->ScaleAnimation_fromXScale:I
-Landroid/R$styleable;->ScaleAnimation_fromYScale:I
-Landroid/R$styleable;->ScaleAnimation_pivotX:I
-Landroid/R$styleable;->ScaleAnimation_pivotY:I
-Landroid/R$styleable;->ScaleAnimation_toXScale:I
-Landroid/R$styleable;->ScaleAnimation_toYScale:I
-Landroid/R$styleable;->ScaleDrawable:[I
-Landroid/R$styleable;->ScaleDrawable_drawable:I
-Landroid/R$styleable;->ScaleDrawable_level:I
-Landroid/R$styleable;->ScaleDrawable_scaleGravity:I
-Landroid/R$styleable;->ScaleDrawable_scaleHeight:I
-Landroid/R$styleable;->ScaleDrawable_scaleWidth:I
-Landroid/R$styleable;->ScaleDrawable_useIntrinsicSizeAsMinimum:I
-Landroid/R$styleable;->ScrollView_fillViewport:I
-Landroid/R$styleable;->Searchable:[I
-Landroid/R$styleable;->SearchableActionKey:[I
-Landroid/R$styleable;->SearchableActionKey_keycode:I
-Landroid/R$styleable;->SearchableActionKey_queryActionMsg:I
-Landroid/R$styleable;->SearchableActionKey_suggestActionMsg:I
-Landroid/R$styleable;->SearchableActionKey_suggestActionMsgColumn:I
-Landroid/R$styleable;->Searchable_autoUrlDetect:I
-Landroid/R$styleable;->Searchable_hint:I
-Landroid/R$styleable;->Searchable_icon:I
-Landroid/R$styleable;->Searchable_imeOptions:I
-Landroid/R$styleable;->Searchable_includeInGlobalSearch:I
-Landroid/R$styleable;->Searchable_inputType:I
-Landroid/R$styleable;->Searchable_label:I
-Landroid/R$styleable;->Searchable_queryAfterZeroResults:I
-Landroid/R$styleable;->Searchable_searchButtonText:I
-Landroid/R$styleable;->Searchable_searchMode:I
-Landroid/R$styleable;->Searchable_searchSettingsDescription:I
-Landroid/R$styleable;->Searchable_searchSuggestAuthority:I
-Landroid/R$styleable;->Searchable_searchSuggestIntentAction:I
-Landroid/R$styleable;->Searchable_searchSuggestIntentData:I
-Landroid/R$styleable;->Searchable_searchSuggestPath:I
-Landroid/R$styleable;->Searchable_searchSuggestSelection:I
-Landroid/R$styleable;->Searchable_searchSuggestThreshold:I
-Landroid/R$styleable;->Searchable_voiceLanguage:I
-Landroid/R$styleable;->Searchable_voiceLanguageModel:I
-Landroid/R$styleable;->Searchable_voiceMaxResults:I
-Landroid/R$styleable;->Searchable_voicePromptText:I
-Landroid/R$styleable;->Searchable_voiceSearchMode:I
-Landroid/R$styleable;->SearchView_closeIcon:I
-Landroid/R$styleable;->SearchView_commitIcon:I
-Landroid/R$styleable;->SearchView_goIcon:I
-Landroid/R$styleable;->SearchView_iconifiedByDefault:I
-Landroid/R$styleable;->SearchView_imeOptions:I
-Landroid/R$styleable;->SearchView_inputType:I
-Landroid/R$styleable;->SearchView_layout:I
-Landroid/R$styleable;->SearchView_maxWidth:I
-Landroid/R$styleable;->SearchView_queryBackground:I
-Landroid/R$styleable;->SearchView_queryHint:I
-Landroid/R$styleable;->SearchView_searchHintIcon:I
-Landroid/R$styleable;->SearchView_searchIcon:I
-Landroid/R$styleable;->SearchView_submitBackground:I
-Landroid/R$styleable;->SearchView_suggestionRowLayout:I
-Landroid/R$styleable;->SearchView_voiceIcon:I
-Landroid/R$styleable;->SeekBarPreference:[I
-Landroid/R$styleable;->SeekBarPreference_layout:I
-Landroid/R$styleable;->SeekBar_splitTrack:I
-Landroid/R$styleable;->SeekBar_thumbTint:I
-Landroid/R$styleable;->SeekBar_thumbTintMode:I
-Landroid/R$styleable;->SeekBar_tickMark:I
-Landroid/R$styleable;->SeekBar_tickMarkTint:I
-Landroid/R$styleable;->SeekBar_tickMarkTintMode:I
-Landroid/R$styleable;->SelectionModeDrawables:[I
-Landroid/R$styleable;->SelectionModeDrawables_actionModeCopyDrawable:I
-Landroid/R$styleable;->SelectionModeDrawables_actionModeCutDrawable:I
-Landroid/R$styleable;->SelectionModeDrawables_actionModePasteDrawable:I
-Landroid/R$styleable;->SelectionModeDrawables_actionModeSelectAllDrawable:I
-Landroid/R$styleable;->SettingInjectorService:[I
-Landroid/R$styleable;->SettingInjectorService_icon:I
-Landroid/R$styleable;->SettingInjectorService_settingsActivity:I
-Landroid/R$styleable;->SettingInjectorService_title:I
-Landroid/R$styleable;->SettingInjectorService_userRestriction:I
-Landroid/R$styleable;->ShapeDrawable:[I
-Landroid/R$styleable;->ShapeDrawablePadding:[I
-Landroid/R$styleable;->ShapeDrawablePadding_bottom:I
-Landroid/R$styleable;->ShapeDrawablePadding_left:I
-Landroid/R$styleable;->ShapeDrawablePadding_right:I
-Landroid/R$styleable;->ShapeDrawablePadding_top:I
-Landroid/R$styleable;->ShapeDrawable_color:I
-Landroid/R$styleable;->ShapeDrawable_dither:I
-Landroid/R$styleable;->ShapeDrawable_height:I
-Landroid/R$styleable;->ShapeDrawable_tint:I
-Landroid/R$styleable;->ShapeDrawable_tintMode:I
-Landroid/R$styleable;->ShapeDrawable_width:I
-Landroid/R$styleable;->Shortcut:[I
-Landroid/R$styleable;->ShortcutCategories:[I
-Landroid/R$styleable;->ShortcutCategories_name:I
-Landroid/R$styleable;->Shortcut_enabled:I
-Landroid/R$styleable;->Shortcut_icon:I
-Landroid/R$styleable;->Shortcut_shortcutDisabledMessage:I
-Landroid/R$styleable;->Shortcut_shortcutId:I
-Landroid/R$styleable;->Shortcut_shortcutLongLabel:I
-Landroid/R$styleable;->Shortcut_shortcutShortLabel:I
-Landroid/R$styleable;->Slide:[I
-Landroid/R$styleable;->Slide_slideEdge:I
-Landroid/R$styleable;->SlidingTab:[I
-Landroid/R$styleable;->SlidingTab_orientation:I
-Landroid/R$styleable;->SpellChecker:[I
-Landroid/R$styleable;->SpellChecker_label:I
-Landroid/R$styleable;->SpellChecker_settingsActivity:I
-Landroid/R$styleable;->SpellChecker_Subtype:[I
-Landroid/R$styleable;->SpellChecker_Subtype_label:I
-Landroid/R$styleable;->SpellChecker_Subtype_languageTag:I
-Landroid/R$styleable;->SpellChecker_Subtype_subtypeExtraValue:I
-Landroid/R$styleable;->SpellChecker_Subtype_subtypeId:I
-Landroid/R$styleable;->SpellChecker_Subtype_subtypeLocale:I
-Landroid/R$styleable;->Spinner:[I
-Landroid/R$styleable;->Spinner_dropDownSelector:I
-Landroid/R$styleable;->Spinner_dropDownWidth:I
-Landroid/R$styleable;->Spinner_gravity:I
-Landroid/R$styleable;->Spinner_popupBackground:I
-Landroid/R$styleable;->Spinner_popupElevation:I
-Landroid/R$styleable;->Spinner_popupTheme:I
-Landroid/R$styleable;->Spinner_prompt:I
-Landroid/R$styleable;->Spinner_spinnerMode:I
-Landroid/R$styleable;->StackView:[I
-Landroid/R$styleable;->StateListAnimatorItem:[I
-Landroid/R$styleable;->StateListAnimatorItem_animation:I
-Landroid/R$styleable;->StateListDrawable:[I
-Landroid/R$styleable;->StateListDrawableItem:[I
-Landroid/R$styleable;->StateListDrawableItem_drawable:I
-Landroid/R$styleable;->StateListDrawable_autoMirrored:I
-Landroid/R$styleable;->StateListDrawable_constantSize:I
-Landroid/R$styleable;->StateListDrawable_dither:I
-Landroid/R$styleable;->StateListDrawable_enterFadeDuration:I
-Landroid/R$styleable;->StateListDrawable_exitFadeDuration:I
-Landroid/R$styleable;->StateListDrawable_variablePadding:I
-Landroid/R$styleable;->StateListDrawable_visible:I
-Landroid/R$styleable;->Storage:[I
-Landroid/R$styleable;->SuggestionSpan:[I
-Landroid/R$styleable;->SwitchPreference:[I
-Landroid/R$styleable;->SwitchPreference_disableDependentsState:I
-Landroid/R$styleable;->SwitchPreference_summaryOff:I
-Landroid/R$styleable;->SwitchPreference_summaryOn:I
-Landroid/R$styleable;->SwitchPreference_switchTextOff:I
-Landroid/R$styleable;->SwitchPreference_switchTextOn:I
-Landroid/R$styleable;->Switch_thumbTint:I
-Landroid/R$styleable;->Switch_thumbTintMode:I
-Landroid/R$styleable;->Switch_trackTint:I
-Landroid/R$styleable;->Switch_trackTintMode:I
-Landroid/R$styleable;->SyncAdapter:[I
-Landroid/R$styleable;->SyncAdapter_accountType:I
-Landroid/R$styleable;->SyncAdapter_allowParallelSyncs:I
-Landroid/R$styleable;->SyncAdapter_contentAuthority:I
-Landroid/R$styleable;->SyncAdapter_isAlwaysSyncable:I
-Landroid/R$styleable;->SyncAdapter_settingsActivity:I
-Landroid/R$styleable;->SyncAdapter_supportsUploading:I
-Landroid/R$styleable;->SyncAdapter_userVisible:I
-Landroid/R$styleable;->SystemCodeFilter:[I
-Landroid/R$styleable;->SystemCodeFilter_name:I
-Landroid/R$styleable;->T3tPmmFilter:[I
-Landroid/R$styleable;->T3tPmmFilter_name:I
-Landroid/R$styleable;->TableLayout:[I
-Landroid/R$styleable;->TableLayout_collapseColumns:I
-Landroid/R$styleable;->TableLayout_shrinkColumns:I
-Landroid/R$styleable;->TableLayout_stretchColumns:I
-Landroid/R$styleable;->TableRow:[I
-Landroid/R$styleable;->TableRow_Cell:[I
-Landroid/R$styleable;->TableRow_Cell_layout_column:I
-Landroid/R$styleable;->TableRow_Cell_layout_span:I
-Landroid/R$styleable;->TabWidget:[I
-Landroid/R$styleable;->TabWidget_divider:I
-Landroid/R$styleable;->TabWidget_tabStripEnabled:I
-Landroid/R$styleable;->TabWidget_tabStripLeft:I
-Landroid/R$styleable;->TabWidget_tabStripRight:I
-Landroid/R$styleable;->TextAppearance_elegantTextHeight:I
-Landroid/R$styleable;->TextAppearance_fallbackLineSpacing:I
-Landroid/R$styleable;->TextAppearance_fontFamily:I
-Landroid/R$styleable;->TextAppearance_fontFeatureSettings:I
-Landroid/R$styleable;->TextAppearance_letterSpacing:I
-Landroid/R$styleable;->TextAppearance_shadowColor:I
-Landroid/R$styleable;->TextAppearance_shadowDx:I
-Landroid/R$styleable;->TextAppearance_shadowDy:I
-Landroid/R$styleable;->TextAppearance_shadowRadius:I
-Landroid/R$styleable;->TextAppearance_textFontWeight:I
-Landroid/R$styleable;->TextClock:[I
-Landroid/R$styleable;->TextClock_format12Hour:I
-Landroid/R$styleable;->TextClock_format24Hour:I
-Landroid/R$styleable;->TextClock_timeZone:I
-Landroid/R$styleable;->TextSwitcher:[I
-Landroid/R$styleable;->TextToSpeechEngine:[I
-Landroid/R$styleable;->TextToSpeechEngine_settingsActivity:I
-Landroid/R$styleable;->TextViewAppearance:[I
-Landroid/R$styleable;->TextViewAppearance_textAppearance:I
-Landroid/R$styleable;->TextViewMultiLineBackgroundState:[I
-Landroid/R$styleable;->TextViewMultiLineBackgroundState_state_multiline:I
-Landroid/R$styleable;->TextView_allowUndo:I
-Landroid/R$styleable;->TextView_autoSizeMaxTextSize:I
-Landroid/R$styleable;->TextView_autoSizeMinTextSize:I
-Landroid/R$styleable;->TextView_autoSizePresetSizes:I
-Landroid/R$styleable;->TextView_autoSizeStepGranularity:I
-Landroid/R$styleable;->TextView_autoSizeTextType:I
-Landroid/R$styleable;->TextView_breakStrategy:I
-Landroid/R$styleable;->TextView_drawableTint:I
-Landroid/R$styleable;->TextView_drawableTintMode:I
-Landroid/R$styleable;->TextView_editorExtras:I
-Landroid/R$styleable;->TextView_elegantTextHeight:I
-Landroid/R$styleable;->TextView_fallbackLineSpacing:I
-Landroid/R$styleable;->TextView_firstBaselineToTopHeight:I
-Landroid/R$styleable;->TextView_fontFamily:I
-Landroid/R$styleable;->TextView_fontFeatureSettings:I
-Landroid/R$styleable;->TextView_hyphenationFrequency:I
-Landroid/R$styleable;->TextView_justificationMode:I
-Landroid/R$styleable;->TextView_lastBaselineToBottomHeight:I
-Landroid/R$styleable;->TextView_letterSpacing:I
-Landroid/R$styleable;->TextView_lineHeight:I
-Landroid/R$styleable;->TextView_textEditNoPasteWindowLayout:I
-Landroid/R$styleable;->TextView_textEditPasteWindowLayout:I
-Landroid/R$styleable;->TextView_textEditSideNoPasteWindowLayout:I
-Landroid/R$styleable;->TextView_textEditSidePasteWindowLayout:I
-Landroid/R$styleable;->TextView_textEditSuggestionItemLayout:I
-Landroid/R$styleable;->TextView_textFontWeight:I
-Landroid/R$styleable;->Theme_absListViewStyle:I
-Landroid/R$styleable;->Theme_actionBarDivider:I
-Landroid/R$styleable;->Theme_actionBarItemBackground:I
-Landroid/R$styleable;->Theme_actionBarPopupTheme:I
-Landroid/R$styleable;->Theme_actionBarSize:I
-Landroid/R$styleable;->Theme_actionBarSplitStyle:I
-Landroid/R$styleable;->Theme_actionBarStyle:I
-Landroid/R$styleable;->Theme_actionBarTabBarStyle:I
-Landroid/R$styleable;->Theme_actionBarTabStyle:I
-Landroid/R$styleable;->Theme_actionBarTabTextStyle:I
-Landroid/R$styleable;->Theme_actionBarTheme:I
-Landroid/R$styleable;->Theme_actionBarWidgetTheme:I
-Landroid/R$styleable;->Theme_actionButtonStyle:I
-Landroid/R$styleable;->Theme_actionDropDownStyle:I
-Landroid/R$styleable;->Theme_actionMenuTextAppearance:I
-Landroid/R$styleable;->Theme_actionMenuTextColor:I
-Landroid/R$styleable;->Theme_actionModeBackground:I
-Landroid/R$styleable;->Theme_actionModeCloseButtonStyle:I
-Landroid/R$styleable;->Theme_actionModeCloseDrawable:I
-Landroid/R$styleable;->Theme_actionModeCopyDrawable:I
-Landroid/R$styleable;->Theme_actionModeCutDrawable:I
-Landroid/R$styleable;->Theme_actionModeFindDrawable:I
-Landroid/R$styleable;->Theme_actionModePasteDrawable:I
-Landroid/R$styleable;->Theme_actionModeSelectAllDrawable:I
-Landroid/R$styleable;->Theme_actionModeShareDrawable:I
-Landroid/R$styleable;->Theme_actionModeSplitBackground:I
-Landroid/R$styleable;->Theme_actionModeStyle:I
-Landroid/R$styleable;->Theme_actionModeWebSearchDrawable:I
-Landroid/R$styleable;->Theme_actionOverflowButtonStyle:I
-Landroid/R$styleable;->Theme_actionOverflowMenuStyle:I
-Landroid/R$styleable;->Theme_activatedBackgroundIndicator:I
-Landroid/R$styleable;->Theme_alertDialogIcon:I
-Landroid/R$styleable;->Theme_alertDialogStyle:I
-Landroid/R$styleable;->Theme_alertDialogTheme:I
-Landroid/R$styleable;->Theme_ambientShadowAlpha:I
-Landroid/R$styleable;->Theme_autoCompleteTextViewStyle:I
-Landroid/R$styleable;->Theme_autofilledHighlight:I
-Landroid/R$styleable;->Theme_backgroundDimAmount:I
-Landroid/R$styleable;->Theme_backgroundDimEnabled:I
-Landroid/R$styleable;->Theme_borderlessButtonStyle:I
-Landroid/R$styleable;->Theme_buttonBarButtonStyle:I
-Landroid/R$styleable;->Theme_buttonBarNegativeButtonStyle:I
-Landroid/R$styleable;->Theme_buttonBarNeutralButtonStyle:I
-Landroid/R$styleable;->Theme_buttonBarPositiveButtonStyle:I
-Landroid/R$styleable;->Theme_buttonBarStyle:I
-Landroid/R$styleable;->Theme_buttonCornerRadius:I
-Landroid/R$styleable;->Theme_buttonStyle:I
-Landroid/R$styleable;->Theme_buttonStyleInset:I
-Landroid/R$styleable;->Theme_buttonStyleSmall:I
-Landroid/R$styleable;->Theme_buttonStyleToggle:I
-Landroid/R$styleable;->Theme_calendarViewStyle:I
-Landroid/R$styleable;->Theme_candidatesTextStyleSpans:I
-Landroid/R$styleable;->Theme_checkBoxPreferenceStyle:I
-Landroid/R$styleable;->Theme_checkboxStyle:I
-Landroid/R$styleable;->Theme_checkedTextViewStyle:I
-Landroid/R$styleable;->Theme_colorAccent:I
-Landroid/R$styleable;->Theme_colorActivatedHighlight:I
-Landroid/R$styleable;->Theme_colorBackground:I
-Landroid/R$styleable;->Theme_colorBackgroundCacheHint:I
-Landroid/R$styleable;->Theme_colorBackgroundFloating:I
-Landroid/R$styleable;->Theme_colorButtonNormal:I
-Landroid/R$styleable;->Theme_colorControlActivated:I
-Landroid/R$styleable;->Theme_colorControlHighlight:I
-Landroid/R$styleable;->Theme_colorControlNormal:I
-Landroid/R$styleable;->Theme_colorEdgeEffect:I
-Landroid/R$styleable;->Theme_colorError:I
-Landroid/R$styleable;->Theme_colorFocusedHighlight:I
-Landroid/R$styleable;->Theme_colorForeground:I
-Landroid/R$styleable;->Theme_colorForegroundInverse:I
-Landroid/R$styleable;->Theme_colorLongPressedHighlight:I
-Landroid/R$styleable;->Theme_colorMultiSelectHighlight:I
-Landroid/R$styleable;->Theme_colorPressedHighlight:I
-Landroid/R$styleable;->Theme_colorPrimary:I
-Landroid/R$styleable;->Theme_colorPrimaryDark:I
-Landroid/R$styleable;->Theme_colorSecondary:I
-Landroid/R$styleable;->Theme_contextPopupMenuStyle:I
-Landroid/R$styleable;->Theme_datePickerDialogTheme:I
-Landroid/R$styleable;->Theme_datePickerStyle:I
-Landroid/R$styleable;->Theme_detailsElementBackground:I
-Landroid/R$styleable;->Theme_dialogCornerRadius:I
-Landroid/R$styleable;->Theme_dialogPreferenceStyle:I
-Landroid/R$styleable;->Theme_dialogPreferredPadding:I
-Landroid/R$styleable;->Theme_dialogTheme:I
-Landroid/R$styleable;->Theme_disabledAlpha:I
-Landroid/R$styleable;->Theme_dividerHorizontal:I
-Landroid/R$styleable;->Theme_dividerVertical:I
-Landroid/R$styleable;->Theme_dropDownHintAppearance:I
-Landroid/R$styleable;->Theme_dropDownItemStyle:I
-Landroid/R$styleable;->Theme_dropDownListViewStyle:I
-Landroid/R$styleable;->Theme_dropDownSpinnerStyle:I
-Landroid/R$styleable;->Theme_editTextBackground:I
-Landroid/R$styleable;->Theme_editTextColor:I
-Landroid/R$styleable;->Theme_editTextPreferenceStyle:I
-Landroid/R$styleable;->Theme_editTextStyle:I
-Landroid/R$styleable;->Theme_expandableListPreferredChildIndicatorLeft:I
-Landroid/R$styleable;->Theme_expandableListPreferredChildIndicatorRight:I
-Landroid/R$styleable;->Theme_expandableListPreferredChildPaddingLeft:I
-Landroid/R$styleable;->Theme_expandableListPreferredItemIndicatorLeft:I
-Landroid/R$styleable;->Theme_expandableListPreferredItemIndicatorRight:I
-Landroid/R$styleable;->Theme_expandableListPreferredItemPaddingLeft:I
-Landroid/R$styleable;->Theme_expandableListViewStyle:I
-Landroid/R$styleable;->Theme_expandableListViewWhiteStyle:I
-Landroid/R$styleable;->Theme_fastScrollOverlayPosition:I
-Landroid/R$styleable;->Theme_fastScrollPreviewBackgroundLeft:I
-Landroid/R$styleable;->Theme_fastScrollPreviewBackgroundRight:I
-Landroid/R$styleable;->Theme_fastScrollTextColor:I
-Landroid/R$styleable;->Theme_fastScrollThumbDrawable:I
-Landroid/R$styleable;->Theme_fastScrollTrackDrawable:I
-Landroid/R$styleable;->Theme_fingerprintAuthDrawable:I
-Landroid/R$styleable;->Theme_galleryItemBackground:I
-Landroid/R$styleable;->Theme_galleryStyle:I
-Landroid/R$styleable;->Theme_gridViewStyle:I
-Landroid/R$styleable;->Theme_homeAsUpIndicator:I
-Landroid/R$styleable;->Theme_horizontalScrollViewStyle:I
-Landroid/R$styleable;->Theme_imageButtonStyle:I
-Landroid/R$styleable;->Theme_imageWellStyle:I
-Landroid/R$styleable;->Theme_listChoiceBackgroundIndicator:I
-Landroid/R$styleable;->Theme_listChoiceIndicatorMultiple:I
-Landroid/R$styleable;->Theme_listChoiceIndicatorSingle:I
-Landroid/R$styleable;->Theme_listDivider:I
-Landroid/R$styleable;->Theme_listDividerAlertDialog:I
-Landroid/R$styleable;->Theme_listMenuViewStyle:I
-Landroid/R$styleable;->Theme_listPopupWindowStyle:I
-Landroid/R$styleable;->Theme_listPreferredItemHeight:I
-Landroid/R$styleable;->Theme_listPreferredItemHeightLarge:I
-Landroid/R$styleable;->Theme_listPreferredItemHeightSmall:I
-Landroid/R$styleable;->Theme_listPreferredItemPaddingEnd:I
-Landroid/R$styleable;->Theme_listPreferredItemPaddingLeft:I
-Landroid/R$styleable;->Theme_listPreferredItemPaddingRight:I
-Landroid/R$styleable;->Theme_listPreferredItemPaddingStart:I
-Landroid/R$styleable;->Theme_listSeparatorTextViewStyle:I
-Landroid/R$styleable;->Theme_listViewStyle:I
-Landroid/R$styleable;->Theme_listViewWhiteStyle:I
-Landroid/R$styleable;->Theme_mapViewStyle:I
-Landroid/R$styleable;->Theme_mediaRouteButtonStyle:I
-Landroid/R$styleable;->Theme_numberPickerStyle:I
-Landroid/R$styleable;->Theme_panelBackground:I
-Landroid/R$styleable;->Theme_panelColorBackground:I
-Landroid/R$styleable;->Theme_panelColorForeground:I
-Landroid/R$styleable;->Theme_panelFullBackground:I
-Landroid/R$styleable;->Theme_panelTextAppearance:I
-Landroid/R$styleable;->Theme_popupMenuStyle:I
-Landroid/R$styleable;->Theme_popupWindowStyle:I
-Landroid/R$styleable;->Theme_preferenceCategoryStyle:I
-Landroid/R$styleable;->Theme_preferenceFragmentStyle:I
-Landroid/R$styleable;->Theme_preferenceInformationStyle:I
-Landroid/R$styleable;->Theme_preferenceLayoutChild:I
-Landroid/R$styleable;->Theme_preferenceScreenStyle:I
-Landroid/R$styleable;->Theme_preferenceStyle:I
-Landroid/R$styleable;->Theme_presentationTheme:I
-Landroid/R$styleable;->Theme_primaryContentAlpha:I
-Landroid/R$styleable;->Theme_progressBarStyle:I
-Landroid/R$styleable;->Theme_progressBarStyleHorizontal:I
-Landroid/R$styleable;->Theme_progressBarStyleInverse:I
-Landroid/R$styleable;->Theme_progressBarStyleLarge:I
-Landroid/R$styleable;->Theme_progressBarStyleLargeInverse:I
-Landroid/R$styleable;->Theme_progressBarStyleSmall:I
-Landroid/R$styleable;->Theme_progressBarStyleSmallInverse:I
-Landroid/R$styleable;->Theme_progressBarStyleSmallTitle:I
-Landroid/R$styleable;->Theme_quickContactBadgeStyleSmallWindowLarge:I
-Landroid/R$styleable;->Theme_quickContactBadgeStyleSmallWindowMedium:I
-Landroid/R$styleable;->Theme_quickContactBadgeStyleSmallWindowSmall:I
-Landroid/R$styleable;->Theme_quickContactBadgeStyleWindowLarge:I
-Landroid/R$styleable;->Theme_quickContactBadgeStyleWindowMedium:I
-Landroid/R$styleable;->Theme_quickContactBadgeStyleWindowSmall:I
-Landroid/R$styleable;->Theme_radioButtonStyle:I
-Landroid/R$styleable;->Theme_ratingBarStyle:I
-Landroid/R$styleable;->Theme_ratingBarStyleIndicator:I
-Landroid/R$styleable;->Theme_ratingBarStyleSmall:I
-Landroid/R$styleable;->Theme_ringtonePreferenceStyle:I
-Landroid/R$styleable;->Theme_scrollViewStyle:I
-Landroid/R$styleable;->Theme_searchViewStyle:I
-Landroid/R$styleable;->Theme_secondaryContentAlpha:I
-Landroid/R$styleable;->Theme_seekBarStyle:I
-Landroid/R$styleable;->Theme_segmentedButtonStyle:I
-Landroid/R$styleable;->Theme_selectableItemBackground:I
-Landroid/R$styleable;->Theme_selectableItemBackgroundBorderless:I
-Landroid/R$styleable;->Theme_spinnerDropDownItemStyle:I
-Landroid/R$styleable;->Theme_spinnerItemStyle:I
-Landroid/R$styleable;->Theme_spinnerStyle:I
-Landroid/R$styleable;->Theme_spotShadowAlpha:I
-Landroid/R$styleable;->Theme_stackViewStyle:I
-Landroid/R$styleable;->Theme_starStyle:I
-Landroid/R$styleable;->Theme_switchPreferenceStyle:I
-Landroid/R$styleable;->Theme_switchStyle:I
-Landroid/R$styleable;->Theme_tabWidgetStyle:I
-Landroid/R$styleable;->Theme_textAppearance:I
-Landroid/R$styleable;->Theme_textAppearanceButton:I
-Landroid/R$styleable;->Theme_textAppearanceInverse:I
-Landroid/R$styleable;->Theme_textAppearanceLarge:I
-Landroid/R$styleable;->Theme_textAppearanceLargeInverse:I
-Landroid/R$styleable;->Theme_textAppearanceLargePopupMenu:I
-Landroid/R$styleable;->Theme_textAppearanceListItem:I
-Landroid/R$styleable;->Theme_textAppearanceListItemSecondary:I
-Landroid/R$styleable;->Theme_textAppearanceListItemSmall:I
-Landroid/R$styleable;->Theme_textAppearanceMedium:I
-Landroid/R$styleable;->Theme_textAppearanceMediumInverse:I
-Landroid/R$styleable;->Theme_textAppearancePopupMenuHeader:I
-Landroid/R$styleable;->Theme_textAppearanceSearchResultSubtitle:I
-Landroid/R$styleable;->Theme_textAppearanceSearchResultTitle:I
-Landroid/R$styleable;->Theme_textAppearanceSmall:I
-Landroid/R$styleable;->Theme_textAppearanceSmallInverse:I
-Landroid/R$styleable;->Theme_textAppearanceSmallPopupMenu:I
-Landroid/R$styleable;->Theme_textCheckMark:I
-Landroid/R$styleable;->Theme_textCheckMarkInverse:I
-Landroid/R$styleable;->Theme_textColorAlertDialogListItem:I
-Landroid/R$styleable;->Theme_textColorHighlightInverse:I
-Landroid/R$styleable;->Theme_textColorHintInverse:I
-Landroid/R$styleable;->Theme_textColorLinkInverse:I
-Landroid/R$styleable;->Theme_textColorPrimary:I
-Landroid/R$styleable;->Theme_textColorPrimaryDisableOnly:I
-Landroid/R$styleable;->Theme_textColorPrimaryInverse:I
-Landroid/R$styleable;->Theme_textColorPrimaryInverseDisableOnly:I
-Landroid/R$styleable;->Theme_textColorPrimaryInverseNoDisable:I
-Landroid/R$styleable;->Theme_textColorPrimaryNoDisable:I
-Landroid/R$styleable;->Theme_textColorSecondary:I
-Landroid/R$styleable;->Theme_textColorSecondaryInverse:I
-Landroid/R$styleable;->Theme_textColorSecondaryInverseNoDisable:I
-Landroid/R$styleable;->Theme_textColorSecondaryNoDisable:I
-Landroid/R$styleable;->Theme_textColorTertiary:I
-Landroid/R$styleable;->Theme_textColorTertiaryInverse:I
-Landroid/R$styleable;->Theme_textEditNoPasteWindowLayout:I
-Landroid/R$styleable;->Theme_textEditPasteWindowLayout:I
-Landroid/R$styleable;->Theme_textEditSideNoPasteWindowLayout:I
-Landroid/R$styleable;->Theme_textEditSidePasteWindowLayout:I
-Landroid/R$styleable;->Theme_textEditSuggestionItemLayout:I
-Landroid/R$styleable;->Theme_textSelectHandle:I
-Landroid/R$styleable;->Theme_textSelectHandleLeft:I
-Landroid/R$styleable;->Theme_textSelectHandleRight:I
-Landroid/R$styleable;->Theme_textSelectHandleWindowStyle:I
-Landroid/R$styleable;->Theme_textSuggestionsWindowStyle:I
-Landroid/R$styleable;->Theme_textViewStyle:I
-Landroid/R$styleable;->Theme_timePickerDialogTheme:I
-Landroid/R$styleable;->Theme_timePickerStyle:I
-Landroid/R$styleable;->Theme_toolbarStyle:I
-Landroid/R$styleable;->Theme_webTextViewStyle:I
-Landroid/R$styleable;->Theme_webViewStyle:I
-Landroid/R$styleable;->Theme_windowActionBar:I
-Landroid/R$styleable;->Theme_windowActionBarOverlay:I
-Landroid/R$styleable;->Theme_windowActionModeOverlay:I
-Landroid/R$styleable;->Theme_windowActivityTransitions:I
-Landroid/R$styleable;->Theme_windowAllowEnterTransitionOverlap:I
-Landroid/R$styleable;->Theme_windowAllowReturnTransitionOverlap:I
-Landroid/R$styleable;->Theme_windowAnimationStyle:I
-Landroid/R$styleable;->Theme_windowBackground:I
-Landroid/R$styleable;->Theme_windowBackgroundFallback:I
-Landroid/R$styleable;->Theme_windowCloseOnTouchOutside:I
-Landroid/R$styleable;->Theme_windowContentOverlay:I
-Landroid/R$styleable;->Theme_windowContentTransitionManager:I
-Landroid/R$styleable;->Theme_windowContentTransitions:I
-Landroid/R$styleable;->Theme_windowDisablePreview:I
-Landroid/R$styleable;->Theme_windowEnableSplitTouch:I
-Landroid/R$styleable;->Theme_windowEnterTransition:I
-Landroid/R$styleable;->Theme_windowExitTransition:I
-Landroid/R$styleable;->Theme_windowFrame:I
-Landroid/R$styleable;->Theme_windowFullscreen:I
-Landroid/R$styleable;->Theme_windowIsFloating:I
-Landroid/R$styleable;->Theme_windowIsTranslucent:I
-Landroid/R$styleable;->Theme_windowNoDisplay:I
-Landroid/R$styleable;->Theme_windowNoTitle:I
-Landroid/R$styleable;->Theme_windowOverscan:I
-Landroid/R$styleable;->Theme_windowReenterTransition:I
-Landroid/R$styleable;->Theme_windowReturnTransition:I
-Landroid/R$styleable;->Theme_windowSharedElementEnterTransition:I
-Landroid/R$styleable;->Theme_windowSharedElementExitTransition:I
-Landroid/R$styleable;->Theme_windowSharedElementReenterTransition:I
-Landroid/R$styleable;->Theme_windowSharedElementReturnTransition:I
-Landroid/R$styleable;->Theme_windowSharedElementsUseOverlay:I
-Landroid/R$styleable;->Theme_windowShowWallpaper:I
-Landroid/R$styleable;->Theme_windowSoftInputMode:I
-Landroid/R$styleable;->Theme_windowSwipeToDismiss:I
-Landroid/R$styleable;->Theme_windowTitleBackgroundStyle:I
-Landroid/R$styleable;->Theme_windowTitleSize:I
-Landroid/R$styleable;->Theme_windowTitleStyle:I
-Landroid/R$styleable;->Theme_windowTransitionBackgroundFadeDuration:I
-Landroid/R$styleable;->Theme_windowTranslucentNavigation:I
-Landroid/R$styleable;->Theme_windowTranslucentStatus:I
-Landroid/R$styleable;->Theme_yesNoPreferenceStyle:I
-Landroid/R$styleable;->TimePicker:[I
-Landroid/R$styleable;->TimePicker_amPmBackgroundColor:I
-Landroid/R$styleable;->TimePicker_amPmTextColor:I
-Landroid/R$styleable;->TimePicker_headerAmPmTextAppearance:I
-Landroid/R$styleable;->TimePicker_headerBackground:I
-Landroid/R$styleable;->TimePicker_headerTimeTextAppearance:I
-Landroid/R$styleable;->TimePicker_numbersBackgroundColor:I
-Landroid/R$styleable;->TimePicker_numbersInnerTextColor:I
-Landroid/R$styleable;->TimePicker_numbersSelectorColor:I
-Landroid/R$styleable;->TimePicker_numbersTextColor:I
-Landroid/R$styleable;->TimePicker_timePickerMode:I
-Landroid/R$styleable;->ToggleButton:[I
-Landroid/R$styleable;->ToggleButton_disabledAlpha:I
-Landroid/R$styleable;->ToggleButton_textOff:I
-Landroid/R$styleable;->ToggleButton_textOn:I
-Landroid/R$styleable;->Toolbar:[I
-Landroid/R$styleable;->Toolbar_buttonGravity:I
-Landroid/R$styleable;->Toolbar_collapseContentDescription:I
-Landroid/R$styleable;->Toolbar_collapseIcon:I
-Landroid/R$styleable;->Toolbar_contentInsetEnd:I
-Landroid/R$styleable;->Toolbar_contentInsetEndWithActions:I
-Landroid/R$styleable;->Toolbar_contentInsetLeft:I
-Landroid/R$styleable;->Toolbar_contentInsetRight:I
-Landroid/R$styleable;->Toolbar_contentInsetStart:I
-Landroid/R$styleable;->Toolbar_contentInsetStartWithNavigation:I
-Landroid/R$styleable;->Toolbar_gravity:I
-Landroid/R$styleable;->Toolbar_LayoutParams:[I
-Landroid/R$styleable;->Toolbar_LayoutParams_layout_gravity:I
-Landroid/R$styleable;->Toolbar_logo:I
-Landroid/R$styleable;->Toolbar_logoDescription:I
-Landroid/R$styleable;->Toolbar_maxButtonHeight:I
-Landroid/R$styleable;->Toolbar_navigationContentDescription:I
-Landroid/R$styleable;->Toolbar_navigationIcon:I
-Landroid/R$styleable;->Toolbar_popupTheme:I
-Landroid/R$styleable;->Toolbar_subtitle:I
-Landroid/R$styleable;->Toolbar_subtitleTextAppearance:I
-Landroid/R$styleable;->Toolbar_subtitleTextColor:I
-Landroid/R$styleable;->Toolbar_title:I
-Landroid/R$styleable;->Toolbar_titleMargin:I
-Landroid/R$styleable;->Toolbar_titleMarginBottom:I
-Landroid/R$styleable;->Toolbar_titleMarginEnd:I
-Landroid/R$styleable;->Toolbar_titleMarginStart:I
-Landroid/R$styleable;->Toolbar_titleMarginTop:I
-Landroid/R$styleable;->Toolbar_titleTextAppearance:I
-Landroid/R$styleable;->Toolbar_titleTextColor:I
-Landroid/R$styleable;->Transition:[I
-Landroid/R$styleable;->TransitionManager:[I
-Landroid/R$styleable;->TransitionManager_fromScene:I
-Landroid/R$styleable;->TransitionManager_toScene:I
-Landroid/R$styleable;->TransitionManager_transition:I
-Landroid/R$styleable;->TransitionSet:[I
-Landroid/R$styleable;->TransitionSet_transitionOrdering:I
-Landroid/R$styleable;->TransitionTarget:[I
-Landroid/R$styleable;->TransitionTarget_excludeClass:I
-Landroid/R$styleable;->TransitionTarget_excludeId:I
-Landroid/R$styleable;->TransitionTarget_excludeName:I
-Landroid/R$styleable;->TransitionTarget_targetClass:I
-Landroid/R$styleable;->TransitionTarget_targetId:I
-Landroid/R$styleable;->TransitionTarget_targetName:I
-Landroid/R$styleable;->Transition_duration:I
-Landroid/R$styleable;->Transition_interpolator:I
-Landroid/R$styleable;->Transition_matchOrder:I
-Landroid/R$styleable;->Transition_startDelay:I
-Landroid/R$styleable;->TranslateAnimation:[I
-Landroid/R$styleable;->TranslateAnimation_fromXDelta:I
-Landroid/R$styleable;->TranslateAnimation_fromYDelta:I
-Landroid/R$styleable;->TranslateAnimation_toXDelta:I
-Landroid/R$styleable;->TranslateAnimation_toYDelta:I
-Landroid/R$styleable;->TrustAgent:[I
-Landroid/R$styleable;->TrustAgent_settingsActivity:I
-Landroid/R$styleable;->TrustAgent_summary:I
-Landroid/R$styleable;->TrustAgent_title:I
-Landroid/R$styleable;->TvInputService:[I
-Landroid/R$styleable;->TvInputService_canRecord:I
-Landroid/R$styleable;->TvInputService_settingsActivity:I
-Landroid/R$styleable;->TvInputService_setupActivity:I
-Landroid/R$styleable;->TvInputService_tunerCount:I
-Landroid/R$styleable;->TwoLineListItem:[I
-Landroid/R$styleable;->TwoLineListItem_mode:I
-Landroid/R$styleable;->VectorDrawable:[I
-Landroid/R$styleable;->VectorDrawableClipPath:[I
-Landroid/R$styleable;->VectorDrawableClipPath_name:I
-Landroid/R$styleable;->VectorDrawableClipPath_pathData:I
-Landroid/R$styleable;->VectorDrawableGroup:[I
-Landroid/R$styleable;->VectorDrawableGroup_name:I
-Landroid/R$styleable;->VectorDrawableGroup_pivotX:I
-Landroid/R$styleable;->VectorDrawableGroup_pivotY:I
-Landroid/R$styleable;->VectorDrawableGroup_rotation:I
-Landroid/R$styleable;->VectorDrawableGroup_scaleX:I
-Landroid/R$styleable;->VectorDrawableGroup_scaleY:I
-Landroid/R$styleable;->VectorDrawableGroup_translateX:I
-Landroid/R$styleable;->VectorDrawableGroup_translateY:I
-Landroid/R$styleable;->VectorDrawablePath:[I
-Landroid/R$styleable;->VectorDrawablePath_fillAlpha:I
-Landroid/R$styleable;->VectorDrawablePath_fillColor:I
-Landroid/R$styleable;->VectorDrawablePath_fillType:I
-Landroid/R$styleable;->VectorDrawablePath_name:I
-Landroid/R$styleable;->VectorDrawablePath_pathData:I
-Landroid/R$styleable;->VectorDrawablePath_strokeAlpha:I
-Landroid/R$styleable;->VectorDrawablePath_strokeColor:I
-Landroid/R$styleable;->VectorDrawablePath_strokeLineCap:I
-Landroid/R$styleable;->VectorDrawablePath_strokeLineJoin:I
-Landroid/R$styleable;->VectorDrawablePath_strokeMiterLimit:I
-Landroid/R$styleable;->VectorDrawablePath_strokeWidth:I
-Landroid/R$styleable;->VectorDrawablePath_trimPathEnd:I
-Landroid/R$styleable;->VectorDrawablePath_trimPathOffset:I
-Landroid/R$styleable;->VectorDrawablePath_trimPathStart:I
-Landroid/R$styleable;->VectorDrawable_alpha:I
-Landroid/R$styleable;->VectorDrawable_autoMirrored:I
-Landroid/R$styleable;->VectorDrawable_height:I
-Landroid/R$styleable;->VectorDrawable_name:I
-Landroid/R$styleable;->VectorDrawable_tint:I
-Landroid/R$styleable;->VectorDrawable_tintMode:I
-Landroid/R$styleable;->VectorDrawable_viewportHeight:I
-Landroid/R$styleable;->VectorDrawable_viewportWidth:I
-Landroid/R$styleable;->VectorDrawable_width:I
-Landroid/R$styleable;->VerticalSlider_Layout:[I
-Landroid/R$styleable;->VerticalSlider_Layout_layout_scale:I
-Landroid/R$styleable;->VideoView2:[I
-Landroid/R$styleable;->ViewAnimator:[I
-Landroid/R$styleable;->ViewAnimator_animateFirstView:I
-Landroid/R$styleable;->ViewAnimator_inAnimation:I
-Landroid/R$styleable;->ViewAnimator_outAnimation:I
-Landroid/R$styleable;->ViewDrawableStates_state_accelerated:I
-Landroid/R$styleable;->ViewDrawableStates_state_activated:I
-Landroid/R$styleable;->ViewDrawableStates_state_drag_can_accept:I
-Landroid/R$styleable;->ViewDrawableStates_state_drag_hovered:I
-Landroid/R$styleable;->ViewDrawableStates_state_enabled:I
-Landroid/R$styleable;->ViewDrawableStates_state_focused:I
-Landroid/R$styleable;->ViewDrawableStates_state_hovered:I
-Landroid/R$styleable;->ViewDrawableStates_state_pressed:I
-Landroid/R$styleable;->ViewDrawableStates_state_selected:I
-Landroid/R$styleable;->ViewDrawableStates_state_window_focused:I
-Landroid/R$styleable;->ViewFlipper:[I
-Landroid/R$styleable;->ViewFlipper_autoStart:I
-Landroid/R$styleable;->ViewFlipper_flipInterval:I
-Landroid/R$styleable;->ViewGroup:[I
-Landroid/R$styleable;->ViewGroup_addStatesFromChildren:I
-Landroid/R$styleable;->ViewGroup_alwaysDrawnWithCache:I
-Landroid/R$styleable;->ViewGroup_animateLayoutChanges:I
-Landroid/R$styleable;->ViewGroup_animationCache:I
-Landroid/R$styleable;->ViewGroup_clipChildren:I
-Landroid/R$styleable;->ViewGroup_clipToPadding:I
-Landroid/R$styleable;->ViewGroup_descendantFocusability:I
-Landroid/R$styleable;->ViewGroup_layoutAnimation:I
-Landroid/R$styleable;->ViewGroup_layoutMode:I
-Landroid/R$styleable;->ViewGroup_MarginLayout_layout_marginEnd:I
-Landroid/R$styleable;->ViewGroup_MarginLayout_layout_marginHorizontal:I
-Landroid/R$styleable;->ViewGroup_MarginLayout_layout_marginStart:I
-Landroid/R$styleable;->ViewGroup_MarginLayout_layout_marginVertical:I
-Landroid/R$styleable;->ViewGroup_persistentDrawingCache:I
-Landroid/R$styleable;->ViewGroup_splitMotionEvents:I
-Landroid/R$styleable;->ViewGroup_touchscreenBlocksFocus:I
-Landroid/R$styleable;->ViewGroup_transitionGroup:I
-Landroid/R$styleable;->ViewStub:[I
-Landroid/R$styleable;->ViewStub_id:I
-Landroid/R$styleable;->ViewStub_inflatedId:I
-Landroid/R$styleable;->ViewStub_layout:I
-Landroid/R$styleable;->ViewSwitcher:[I
-Landroid/R$styleable;->ViewTag:[I
-Landroid/R$styleable;->ViewTag_id:I
-Landroid/R$styleable;->ViewTag_value:I
-Landroid/R$styleable;->View_accessibilityHeading:I
-Landroid/R$styleable;->View_accessibilityLiveRegion:I
-Landroid/R$styleable;->View_accessibilityPaneTitle:I
-Landroid/R$styleable;->View_accessibilityTraversalAfter:I
-Landroid/R$styleable;->View_accessibilityTraversalBefore:I
-Landroid/R$styleable;->View_autofillHints:I
-Landroid/R$styleable;->View_backgroundTint:I
-Landroid/R$styleable;->View_backgroundTintMode:I
-Landroid/R$styleable;->View_contextClickable:I
-Landroid/R$styleable;->View_defaultFocusHighlightEnabled:I
-Landroid/R$styleable;->View_elevation:I
-Landroid/R$styleable;->View_fadeScrollbars:I
-Landroid/R$styleable;->View_fadingEdgeLength:I
-Landroid/R$styleable;->View_focusedByDefault:I
-Landroid/R$styleable;->View_forceHasOverlappingRendering:I
-Landroid/R$styleable;->View_foreground:I
-Landroid/R$styleable;->View_foregroundGravity:I
-Landroid/R$styleable;->View_foregroundTint:I
-Landroid/R$styleable;->View_foregroundTintMode:I
-Landroid/R$styleable;->View_importantForAccessibility:I
-Landroid/R$styleable;->View_importantForAutofill:I
-Landroid/R$styleable;->View_keyboardNavigationCluster:I
-Landroid/R$styleable;->View_labelFor:I
-Landroid/R$styleable;->View_layerType:I
-Landroid/R$styleable;->View_layoutDirection:I
-Landroid/R$styleable;->View_nestedScrollingEnabled:I
-Landroid/R$styleable;->View_nextClusterForward:I
-Landroid/R$styleable;->View_nextFocusForward:I
-Landroid/R$styleable;->View_outlineAmbientShadowColor:I
-Landroid/R$styleable;->View_outlineProvider:I
-Landroid/R$styleable;->View_outlineSpotShadowColor:I
-Landroid/R$styleable;->View_paddingHorizontal:I
-Landroid/R$styleable;->View_paddingVertical:I
-Landroid/R$styleable;->View_pointerIcon:I
-Landroid/R$styleable;->View_requiresFadingEdge:I
-Landroid/R$styleable;->View_screenReaderFocusable:I
-Landroid/R$styleable;->View_scrollbarAlwaysDrawHorizontalTrack:I
-Landroid/R$styleable;->View_scrollbarAlwaysDrawVerticalTrack:I
-Landroid/R$styleable;->View_scrollIndicators:I
-Landroid/R$styleable;->View_stateListAnimator:I
-Landroid/R$styleable;->View_textAlignment:I
-Landroid/R$styleable;->View_textDirection:I
-Landroid/R$styleable;->View_theme:I
-Landroid/R$styleable;->View_tooltipText:I
-Landroid/R$styleable;->View_transitionName:I
-Landroid/R$styleable;->View_translationZ:I
-Landroid/R$styleable;->View_verticalScrollbarPosition:I
-Landroid/R$styleable;->VisibilityTransition:[I
-Landroid/R$styleable;->VisibilityTransition_transitionVisibilityMode:I
-Landroid/R$styleable;->VoiceEnrollmentApplication:[I
-Landroid/R$styleable;->VoiceEnrollmentApplication_searchKeyphrase:I
-Landroid/R$styleable;->VoiceEnrollmentApplication_searchKeyphraseId:I
-Landroid/R$styleable;->VoiceEnrollmentApplication_searchKeyphraseRecognitionFlags:I
-Landroid/R$styleable;->VoiceEnrollmentApplication_searchKeyphraseSupportedLocales:I
-Landroid/R$styleable;->VoiceInteractionService:[I
-Landroid/R$styleable;->VoiceInteractionService_recognitionService:I
-Landroid/R$styleable;->VoiceInteractionService_sessionService:I
-Landroid/R$styleable;->VoiceInteractionService_settingsActivity:I
-Landroid/R$styleable;->VoiceInteractionService_supportsAssist:I
-Landroid/R$styleable;->VoiceInteractionService_supportsLaunchVoiceAssistFromKeyguard:I
-Landroid/R$styleable;->VoiceInteractionService_supportsLocalInteraction:I
-Landroid/R$styleable;->VoiceInteractionSession:[I
-Landroid/R$styleable;->VolumePreference:[I
-Landroid/R$styleable;->VolumePreference_streamType:I
-Landroid/R$styleable;->Wallpaper:[I
-Landroid/R$styleable;->WallpaperPreviewInfo:[I
-Landroid/R$styleable;->WallpaperPreviewInfo_staticWallpaperPreview:I
-Landroid/R$styleable;->Wallpaper_author:I
-Landroid/R$styleable;->Wallpaper_contextDescription:I
-Landroid/R$styleable;->Wallpaper_contextUri:I
-Landroid/R$styleable;->Wallpaper_description:I
-Landroid/R$styleable;->Wallpaper_settingsActivity:I
-Landroid/R$styleable;->Wallpaper_showMetadataInPreview:I
-Landroid/R$styleable;->Wallpaper_thumbnail:I
-Landroid/R$styleable;->WeightedLinearLayout:[I
-Landroid/R$styleable;->WindowAnimation:[I
-Landroid/R$styleable;->WindowAnimation_activityCloseEnterAnimation:I
-Landroid/R$styleable;->WindowAnimation_activityCloseExitAnimation:I
-Landroid/R$styleable;->WindowAnimation_activityOpenEnterAnimation:I
-Landroid/R$styleable;->WindowAnimation_activityOpenExitAnimation:I
-Landroid/R$styleable;->WindowAnimation_launchTaskBehindSourceAnimation:I
-Landroid/R$styleable;->WindowAnimation_launchTaskBehindTargetAnimation:I
-Landroid/R$styleable;->WindowAnimation_taskCloseEnterAnimation:I
-Landroid/R$styleable;->WindowAnimation_taskCloseExitAnimation:I
-Landroid/R$styleable;->WindowAnimation_taskOpenEnterAnimation:I
-Landroid/R$styleable;->WindowAnimation_taskOpenExitAnimation:I
-Landroid/R$styleable;->WindowAnimation_taskToBackEnterAnimation:I
-Landroid/R$styleable;->WindowAnimation_taskToBackExitAnimation:I
-Landroid/R$styleable;->WindowAnimation_taskToFrontEnterAnimation:I
-Landroid/R$styleable;->WindowAnimation_taskToFrontExitAnimation:I
-Landroid/R$styleable;->WindowAnimation_wallpaperCloseEnterAnimation:I
-Landroid/R$styleable;->WindowAnimation_wallpaperCloseExitAnimation:I
-Landroid/R$styleable;->WindowAnimation_wallpaperIntraCloseEnterAnimation:I
-Landroid/R$styleable;->WindowAnimation_wallpaperIntraCloseExitAnimation:I
-Landroid/R$styleable;->WindowAnimation_wallpaperIntraOpenEnterAnimation:I
-Landroid/R$styleable;->WindowAnimation_wallpaperIntraOpenExitAnimation:I
-Landroid/R$styleable;->WindowAnimation_wallpaperOpenEnterAnimation:I
-Landroid/R$styleable;->WindowAnimation_wallpaperOpenExitAnimation:I
-Landroid/R$styleable;->WindowAnimation_windowEnterAnimation:I
-Landroid/R$styleable;->WindowAnimation_windowExitAnimation:I
-Landroid/R$styleable;->WindowAnimation_windowHideAnimation:I
-Landroid/R$styleable;->WindowAnimation_windowShowAnimation:I
-Landroid/R$styleable;->Window_backgroundDimAmount:I
-Landroid/R$styleable;->Window_backgroundDimEnabled:I
-Landroid/R$styleable;->Window_navigationBarColor:I
-Landroid/R$styleable;->Window_navigationBarDividerColor:I
-Landroid/R$styleable;->Window_statusBarColor:I
-Landroid/R$styleable;->Window_textColor:I
-Landroid/R$styleable;->Window_windowActionBar:I
-Landroid/R$styleable;->Window_windowActionBarOverlay:I
-Landroid/R$styleable;->Window_windowActionModeOverlay:I
-Landroid/R$styleable;->Window_windowActivityTransitions:I
-Landroid/R$styleable;->Window_windowAllowEnterTransitionOverlap:I
-Landroid/R$styleable;->Window_windowAllowReturnTransitionOverlap:I
-Landroid/R$styleable;->Window_windowAnimationStyle:I
-Landroid/R$styleable;->Window_windowBackgroundFallback:I
-Landroid/R$styleable;->Window_windowClipToOutline:I
-Landroid/R$styleable;->Window_windowCloseOnTouchOutside:I
-Landroid/R$styleable;->Window_windowContentOverlay:I
-Landroid/R$styleable;->Window_windowContentTransitionManager:I
-Landroid/R$styleable;->Window_windowContentTransitions:I
-Landroid/R$styleable;->Window_windowDisablePreview:I
-Landroid/R$styleable;->Window_windowDrawsSystemBarBackgrounds:I
-Landroid/R$styleable;->Window_windowElevation:I
-Landroid/R$styleable;->Window_windowEnableSplitTouch:I
-Landroid/R$styleable;->Window_windowEnterTransition:I
-Landroid/R$styleable;->Window_windowExitTransition:I
-Landroid/R$styleable;->Window_windowFullscreen:I
-Landroid/R$styleable;->Window_windowIsFloating:I
-Landroid/R$styleable;->Window_windowIsTranslucent:I
-Landroid/R$styleable;->Window_windowLayoutInDisplayCutoutMode:I
-Landroid/R$styleable;->Window_windowLightNavigationBar:I
-Landroid/R$styleable;->Window_windowLightStatusBar:I
-Landroid/R$styleable;->Window_windowMinWidthMajor:I
-Landroid/R$styleable;->Window_windowMinWidthMinor:I
-Landroid/R$styleable;->Window_windowNoDisplay:I
-Landroid/R$styleable;->Window_windowNoTitle:I
-Landroid/R$styleable;->Window_windowOverscan:I
-Landroid/R$styleable;->Window_windowReenterTransition:I
-Landroid/R$styleable;->Window_windowReturnTransition:I
-Landroid/R$styleable;->Window_windowSharedElementEnterTransition:I
-Landroid/R$styleable;->Window_windowSharedElementExitTransition:I
-Landroid/R$styleable;->Window_windowSharedElementReenterTransition:I
-Landroid/R$styleable;->Window_windowSharedElementReturnTransition:I
-Landroid/R$styleable;->Window_windowSharedElementsUseOverlay:I
-Landroid/R$styleable;->Window_windowShowWallpaper:I
-Landroid/R$styleable;->Window_windowSoftInputMode:I
-Landroid/R$styleable;->Window_windowSplashscreenContent:I
-Landroid/R$styleable;->Window_windowSwipeToDismiss:I
-Landroid/R$styleable;->Window_windowTransitionBackgroundFadeDuration:I
-Landroid/R$styleable;->Window_windowTranslucentNavigation:I
-Landroid/R$styleable;->Window_windowTranslucentStatus:I
-Landroid/renderscript/Allocation$MipmapControl;-><init>(I)V
-Landroid/renderscript/Allocation$MipmapControl;->mID:I
-Landroid/renderscript/Allocation;-><init>(JLandroid/renderscript/RenderScript;Landroid/renderscript/Type;I)V
-Landroid/renderscript/Allocation;-><init>(JLandroid/renderscript/RenderScript;Landroid/renderscript/Type;ZILandroid/renderscript/Allocation$MipmapControl;)V
-Landroid/renderscript/Allocation;->copy1DRangeFromUnchecked(IILjava/lang/Object;Landroid/renderscript/Element$DataType;I)V
-Landroid/renderscript/Allocation;->copy1DRangeToUnchecked(IILjava/lang/Object;Landroid/renderscript/Element$DataType;I)V
-Landroid/renderscript/Allocation;->copy2DRangeFromUnchecked(IIIILjava/lang/Object;Landroid/renderscript/Element$DataType;I)V
-Landroid/renderscript/Allocation;->copy2DRangeToUnchecked(IIIILjava/lang/Object;Landroid/renderscript/Element$DataType;I)V
-Landroid/renderscript/Allocation;->copy3DRangeFromUnchecked(IIIIIILjava/lang/Object;Landroid/renderscript/Element$DataType;I)V
-Landroid/renderscript/Allocation;->copy3DRangeToUnchecked(IIIIIILjava/lang/Object;Landroid/renderscript/Element$DataType;I)V
-Landroid/renderscript/Allocation;->copyFromUnchecked(Ljava/lang/Object;Landroid/renderscript/Element$DataType;I)V
-Landroid/renderscript/Allocation;->copyTo(Ljava/lang/Object;Landroid/renderscript/Element$DataType;I)V
-Landroid/renderscript/Allocation;->copyToFieldPacker(IIIILandroid/renderscript/FieldPacker;)V
-Landroid/renderscript/Allocation;->createFromAllocation(Landroid/renderscript/RenderScript;Landroid/renderscript/Allocation;)Landroid/renderscript/Allocation;
-Landroid/renderscript/Allocation;->data1DChecks(IIIIZ)V
-Landroid/renderscript/Allocation;->elementFromBitmap(Landroid/renderscript/RenderScript;Landroid/graphics/Bitmap;)Landroid/renderscript/Element;
-Landroid/renderscript/Allocation;->getIDSafe()J
-Landroid/renderscript/Allocation;->getMipmap()Landroid/renderscript/Allocation$MipmapControl;
-Landroid/renderscript/Allocation;->mAdaptedAllocation:Landroid/renderscript/Allocation;
-Landroid/renderscript/Allocation;->mAllocationMap:Ljava/util/HashMap;
-Landroid/renderscript/Allocation;->mAutoPadding:Z
-Landroid/renderscript/Allocation;->MAX_NUMBER_IO_INPUT_ALLOC:I
-Landroid/renderscript/Allocation;->mBitmap:Landroid/graphics/Bitmap;
-Landroid/renderscript/Allocation;->mBitmapOptions:Landroid/graphics/BitmapFactory$Options;
-Landroid/renderscript/Allocation;->mBufferNotifier:Landroid/renderscript/Allocation$OnBufferAvailableListener;
-Landroid/renderscript/Allocation;->mByteBuffer:Ljava/nio/ByteBuffer;
-Landroid/renderscript/Allocation;->mByteBufferStride:J
-Landroid/renderscript/Allocation;->mCurrentCount:I
-Landroid/renderscript/Allocation;->mCurrentDimX:I
-Landroid/renderscript/Allocation;->mCurrentDimY:I
-Landroid/renderscript/Allocation;->mCurrentDimZ:I
-Landroid/renderscript/Allocation;->mGetSurfaceSurface:Landroid/view/Surface;
-Landroid/renderscript/Allocation;->mMipmapControl:Landroid/renderscript/Allocation$MipmapControl;
-Landroid/renderscript/Allocation;->mOwningType:Z
-Landroid/renderscript/Allocation;->mReadAllowed:Z
-Landroid/renderscript/Allocation;->mSelectedArray:[I
-Landroid/renderscript/Allocation;->mSelectedFace:Landroid/renderscript/Type$CubemapFace;
-Landroid/renderscript/Allocation;->mSelectedLOD:I
-Landroid/renderscript/Allocation;->mSelectedX:I
-Landroid/renderscript/Allocation;->mSelectedY:I
-Landroid/renderscript/Allocation;->mSelectedZ:I
-Landroid/renderscript/Allocation;->mSize:I
-Landroid/renderscript/Allocation;->mTimeStamp:J
-Landroid/renderscript/Allocation;->mType:Landroid/renderscript/Type;
-Landroid/renderscript/Allocation;->mUsage:I
-Landroid/renderscript/Allocation;->mWriteAllowed:Z
-Landroid/renderscript/Allocation;->sendBufferNotification(J)V
-Landroid/renderscript/Allocation;->setBitmap(Landroid/graphics/Bitmap;)V
-Landroid/renderscript/Allocation;->setupBufferQueue(I)V
-Landroid/renderscript/Allocation;->shareBufferQueue(Landroid/renderscript/Allocation;)V
-Landroid/renderscript/Allocation;->typeFromBitmap(Landroid/renderscript/RenderScript;Landroid/graphics/Bitmap;Landroid/renderscript/Allocation$MipmapControl;)Landroid/renderscript/Type;
-Landroid/renderscript/Allocation;->updateCacheInfo(Landroid/renderscript/Type;)V
-Landroid/renderscript/Allocation;->updateFromNative()V
-Landroid/renderscript/Allocation;->validate2DRange(IIII)V
-Landroid/renderscript/Allocation;->validate3DRange(IIIIII)V
-Landroid/renderscript/Allocation;->validateBitmapFormat(Landroid/graphics/Bitmap;)V
-Landroid/renderscript/Allocation;->validateBitmapSize(Landroid/graphics/Bitmap;)V
-Landroid/renderscript/Allocation;->validateIsFloat32()V
-Landroid/renderscript/Allocation;->validateIsFloat64()V
-Landroid/renderscript/Allocation;->validateIsInt16OrFloat16()V
-Landroid/renderscript/Allocation;->validateIsInt32()V
-Landroid/renderscript/Allocation;->validateIsInt64()V
-Landroid/renderscript/Allocation;->validateIsInt8()V
-Landroid/renderscript/Allocation;->validateIsObject()V
-Landroid/renderscript/Allocation;->validateObjectIsPrimitiveArray(Ljava/lang/Object;Z)Landroid/renderscript/Element$DataType;
-Landroid/renderscript/AllocationAdapter;-><init>(JLandroid/renderscript/RenderScript;Landroid/renderscript/Allocation;Landroid/renderscript/Type;)V
-Landroid/renderscript/AllocationAdapter;->initLOD(I)V
-Landroid/renderscript/AllocationAdapter;->mWindow:Landroid/renderscript/Type;
-Landroid/renderscript/AllocationAdapter;->setArray(II)V
-Landroid/renderscript/AllocationAdapter;->updateOffsets()V
-Landroid/renderscript/BaseObj;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/BaseObj;->checkValid()V
-Landroid/renderscript/BaseObj;->getID(Landroid/renderscript/RenderScript;)J
-Landroid/renderscript/BaseObj;->guard:Ldalvik/system/CloseGuard;
-Landroid/renderscript/BaseObj;->helpDestroy()V
-Landroid/renderscript/BaseObj;->mDestroyed:Z
-Landroid/renderscript/BaseObj;->mID:J
-Landroid/renderscript/BaseObj;->mName:Ljava/lang/String;
-Landroid/renderscript/BaseObj;->setID(J)V
-Landroid/renderscript/BaseObj;->updateFromNative()V
-Landroid/renderscript/Byte2;-><init>(Landroid/renderscript/Byte2;)V
-Landroid/renderscript/Byte2;->add(B)V
-Landroid/renderscript/Byte2;->add(Landroid/renderscript/Byte2;)V
-Landroid/renderscript/Byte2;->add(Landroid/renderscript/Byte2;B)Landroid/renderscript/Byte2;
-Landroid/renderscript/Byte2;->add(Landroid/renderscript/Byte2;Landroid/renderscript/Byte2;)Landroid/renderscript/Byte2;
-Landroid/renderscript/Byte2;->addAt(IB)V
-Landroid/renderscript/Byte2;->addMultiple(Landroid/renderscript/Byte2;B)V
-Landroid/renderscript/Byte2;->copyTo([BI)V
-Landroid/renderscript/Byte2;->div(B)V
-Landroid/renderscript/Byte2;->div(Landroid/renderscript/Byte2;)V
-Landroid/renderscript/Byte2;->div(Landroid/renderscript/Byte2;B)Landroid/renderscript/Byte2;
-Landroid/renderscript/Byte2;->div(Landroid/renderscript/Byte2;Landroid/renderscript/Byte2;)Landroid/renderscript/Byte2;
-Landroid/renderscript/Byte2;->dotProduct(Landroid/renderscript/Byte2;)B
-Landroid/renderscript/Byte2;->dotProduct(Landroid/renderscript/Byte2;Landroid/renderscript/Byte2;)B
-Landroid/renderscript/Byte2;->elementSum()B
-Landroid/renderscript/Byte2;->get(I)B
-Landroid/renderscript/Byte2;->length()B
-Landroid/renderscript/Byte2;->mul(B)V
-Landroid/renderscript/Byte2;->mul(Landroid/renderscript/Byte2;)V
-Landroid/renderscript/Byte2;->mul(Landroid/renderscript/Byte2;B)Landroid/renderscript/Byte2;
-Landroid/renderscript/Byte2;->mul(Landroid/renderscript/Byte2;Landroid/renderscript/Byte2;)Landroid/renderscript/Byte2;
-Landroid/renderscript/Byte2;->negate()V
-Landroid/renderscript/Byte2;->set(Landroid/renderscript/Byte2;)V
-Landroid/renderscript/Byte2;->setAt(IB)V
-Landroid/renderscript/Byte2;->setValues(BB)V
-Landroid/renderscript/Byte2;->sub(B)V
-Landroid/renderscript/Byte2;->sub(Landroid/renderscript/Byte2;)V
-Landroid/renderscript/Byte2;->sub(Landroid/renderscript/Byte2;B)Landroid/renderscript/Byte2;
-Landroid/renderscript/Byte2;->sub(Landroid/renderscript/Byte2;Landroid/renderscript/Byte2;)Landroid/renderscript/Byte2;
-Landroid/renderscript/Byte3;-><init>(Landroid/renderscript/Byte3;)V
-Landroid/renderscript/Byte3;->add(B)V
-Landroid/renderscript/Byte3;->add(Landroid/renderscript/Byte3;)V
-Landroid/renderscript/Byte3;->add(Landroid/renderscript/Byte3;B)Landroid/renderscript/Byte3;
-Landroid/renderscript/Byte3;->add(Landroid/renderscript/Byte3;Landroid/renderscript/Byte3;)Landroid/renderscript/Byte3;
-Landroid/renderscript/Byte3;->addAt(IB)V
-Landroid/renderscript/Byte3;->addMultiple(Landroid/renderscript/Byte3;B)V
-Landroid/renderscript/Byte3;->copyTo([BI)V
-Landroid/renderscript/Byte3;->div(B)V
-Landroid/renderscript/Byte3;->div(Landroid/renderscript/Byte3;)V
-Landroid/renderscript/Byte3;->div(Landroid/renderscript/Byte3;B)Landroid/renderscript/Byte3;
-Landroid/renderscript/Byte3;->div(Landroid/renderscript/Byte3;Landroid/renderscript/Byte3;)Landroid/renderscript/Byte3;
-Landroid/renderscript/Byte3;->dotProduct(Landroid/renderscript/Byte3;)B
-Landroid/renderscript/Byte3;->dotProduct(Landroid/renderscript/Byte3;Landroid/renderscript/Byte3;)B
-Landroid/renderscript/Byte3;->elementSum()B
-Landroid/renderscript/Byte3;->get(I)B
-Landroid/renderscript/Byte3;->length()B
-Landroid/renderscript/Byte3;->mul(B)V
-Landroid/renderscript/Byte3;->mul(Landroid/renderscript/Byte3;)V
-Landroid/renderscript/Byte3;->mul(Landroid/renderscript/Byte3;B)Landroid/renderscript/Byte3;
-Landroid/renderscript/Byte3;->mul(Landroid/renderscript/Byte3;Landroid/renderscript/Byte3;)Landroid/renderscript/Byte3;
-Landroid/renderscript/Byte3;->negate()V
-Landroid/renderscript/Byte3;->set(Landroid/renderscript/Byte3;)V
-Landroid/renderscript/Byte3;->setAt(IB)V
-Landroid/renderscript/Byte3;->setValues(BBB)V
-Landroid/renderscript/Byte3;->sub(B)V
-Landroid/renderscript/Byte3;->sub(Landroid/renderscript/Byte3;)V
-Landroid/renderscript/Byte3;->sub(Landroid/renderscript/Byte3;B)Landroid/renderscript/Byte3;
-Landroid/renderscript/Byte3;->sub(Landroid/renderscript/Byte3;Landroid/renderscript/Byte3;)Landroid/renderscript/Byte3;
-Landroid/renderscript/Byte4;-><init>(Landroid/renderscript/Byte4;)V
-Landroid/renderscript/Byte4;->add(B)V
-Landroid/renderscript/Byte4;->add(Landroid/renderscript/Byte4;)V
-Landroid/renderscript/Byte4;->add(Landroid/renderscript/Byte4;B)Landroid/renderscript/Byte4;
-Landroid/renderscript/Byte4;->add(Landroid/renderscript/Byte4;Landroid/renderscript/Byte4;)Landroid/renderscript/Byte4;
-Landroid/renderscript/Byte4;->addAt(IB)V
-Landroid/renderscript/Byte4;->addMultiple(Landroid/renderscript/Byte4;B)V
-Landroid/renderscript/Byte4;->copyTo([BI)V
-Landroid/renderscript/Byte4;->div(B)V
-Landroid/renderscript/Byte4;->div(Landroid/renderscript/Byte4;)V
-Landroid/renderscript/Byte4;->div(Landroid/renderscript/Byte4;B)Landroid/renderscript/Byte4;
-Landroid/renderscript/Byte4;->div(Landroid/renderscript/Byte4;Landroid/renderscript/Byte4;)Landroid/renderscript/Byte4;
-Landroid/renderscript/Byte4;->dotProduct(Landroid/renderscript/Byte4;)B
-Landroid/renderscript/Byte4;->dotProduct(Landroid/renderscript/Byte4;Landroid/renderscript/Byte4;)B
-Landroid/renderscript/Byte4;->elementSum()B
-Landroid/renderscript/Byte4;->get(I)B
-Landroid/renderscript/Byte4;->length()B
-Landroid/renderscript/Byte4;->mul(B)V
-Landroid/renderscript/Byte4;->mul(Landroid/renderscript/Byte4;)V
-Landroid/renderscript/Byte4;->mul(Landroid/renderscript/Byte4;B)Landroid/renderscript/Byte4;
-Landroid/renderscript/Byte4;->mul(Landroid/renderscript/Byte4;Landroid/renderscript/Byte4;)Landroid/renderscript/Byte4;
-Landroid/renderscript/Byte4;->negate()V
-Landroid/renderscript/Byte4;->set(Landroid/renderscript/Byte4;)V
-Landroid/renderscript/Byte4;->setAt(IB)V
-Landroid/renderscript/Byte4;->setValues(BBBB)V
-Landroid/renderscript/Byte4;->sub(B)V
-Landroid/renderscript/Byte4;->sub(Landroid/renderscript/Byte4;)V
-Landroid/renderscript/Byte4;->sub(Landroid/renderscript/Byte4;B)Landroid/renderscript/Byte4;
-Landroid/renderscript/Byte4;->sub(Landroid/renderscript/Byte4;Landroid/renderscript/Byte4;)Landroid/renderscript/Byte4;
-Landroid/renderscript/Double2;-><init>(Landroid/renderscript/Double2;)V
-Landroid/renderscript/Double2;->add(D)V
-Landroid/renderscript/Double2;->add(Landroid/renderscript/Double2;)V
-Landroid/renderscript/Double2;->add(Landroid/renderscript/Double2;D)Landroid/renderscript/Double2;
-Landroid/renderscript/Double2;->add(Landroid/renderscript/Double2;Landroid/renderscript/Double2;)Landroid/renderscript/Double2;
-Landroid/renderscript/Double2;->addAt(ID)V
-Landroid/renderscript/Double2;->addMultiple(Landroid/renderscript/Double2;D)V
-Landroid/renderscript/Double2;->copyTo([DI)V
-Landroid/renderscript/Double2;->div(D)V
-Landroid/renderscript/Double2;->div(Landroid/renderscript/Double2;)V
-Landroid/renderscript/Double2;->div(Landroid/renderscript/Double2;D)Landroid/renderscript/Double2;
-Landroid/renderscript/Double2;->div(Landroid/renderscript/Double2;Landroid/renderscript/Double2;)Landroid/renderscript/Double2;
-Landroid/renderscript/Double2;->dotProduct(Landroid/renderscript/Double2;)D
-Landroid/renderscript/Double2;->dotProduct(Landroid/renderscript/Double2;Landroid/renderscript/Double2;)Ljava/lang/Double;
-Landroid/renderscript/Double2;->elementSum()D
-Landroid/renderscript/Double2;->get(I)D
-Landroid/renderscript/Double2;->length()I
-Landroid/renderscript/Double2;->mul(D)V
-Landroid/renderscript/Double2;->mul(Landroid/renderscript/Double2;)V
-Landroid/renderscript/Double2;->mul(Landroid/renderscript/Double2;D)Landroid/renderscript/Double2;
-Landroid/renderscript/Double2;->mul(Landroid/renderscript/Double2;Landroid/renderscript/Double2;)Landroid/renderscript/Double2;
-Landroid/renderscript/Double2;->negate()V
-Landroid/renderscript/Double2;->set(Landroid/renderscript/Double2;)V
-Landroid/renderscript/Double2;->setAt(ID)V
-Landroid/renderscript/Double2;->setValues(DD)V
-Landroid/renderscript/Double2;->sub(D)V
-Landroid/renderscript/Double2;->sub(Landroid/renderscript/Double2;)V
-Landroid/renderscript/Double2;->sub(Landroid/renderscript/Double2;D)Landroid/renderscript/Double2;
-Landroid/renderscript/Double2;->sub(Landroid/renderscript/Double2;Landroid/renderscript/Double2;)Landroid/renderscript/Double2;
-Landroid/renderscript/Double3;-><init>(Landroid/renderscript/Double3;)V
-Landroid/renderscript/Double3;->add(D)V
-Landroid/renderscript/Double3;->add(Landroid/renderscript/Double3;)V
-Landroid/renderscript/Double3;->add(Landroid/renderscript/Double3;D)Landroid/renderscript/Double3;
-Landroid/renderscript/Double3;->add(Landroid/renderscript/Double3;Landroid/renderscript/Double3;)Landroid/renderscript/Double3;
-Landroid/renderscript/Double3;->addAt(ID)V
-Landroid/renderscript/Double3;->addMultiple(Landroid/renderscript/Double3;D)V
-Landroid/renderscript/Double3;->copyTo([DI)V
-Landroid/renderscript/Double3;->div(D)V
-Landroid/renderscript/Double3;->div(Landroid/renderscript/Double3;)V
-Landroid/renderscript/Double3;->div(Landroid/renderscript/Double3;D)Landroid/renderscript/Double3;
-Landroid/renderscript/Double3;->div(Landroid/renderscript/Double3;Landroid/renderscript/Double3;)Landroid/renderscript/Double3;
-Landroid/renderscript/Double3;->dotProduct(Landroid/renderscript/Double3;)D
-Landroid/renderscript/Double3;->dotProduct(Landroid/renderscript/Double3;Landroid/renderscript/Double3;)D
-Landroid/renderscript/Double3;->elementSum()D
-Landroid/renderscript/Double3;->get(I)D
-Landroid/renderscript/Double3;->length()I
-Landroid/renderscript/Double3;->mul(D)V
-Landroid/renderscript/Double3;->mul(Landroid/renderscript/Double3;)V
-Landroid/renderscript/Double3;->mul(Landroid/renderscript/Double3;D)Landroid/renderscript/Double3;
-Landroid/renderscript/Double3;->mul(Landroid/renderscript/Double3;Landroid/renderscript/Double3;)Landroid/renderscript/Double3;
-Landroid/renderscript/Double3;->negate()V
-Landroid/renderscript/Double3;->set(Landroid/renderscript/Double3;)V
-Landroid/renderscript/Double3;->setAt(ID)V
-Landroid/renderscript/Double3;->setValues(DDD)V
-Landroid/renderscript/Double3;->sub(D)V
-Landroid/renderscript/Double3;->sub(Landroid/renderscript/Double3;)V
-Landroid/renderscript/Double3;->sub(Landroid/renderscript/Double3;D)Landroid/renderscript/Double3;
-Landroid/renderscript/Double3;->sub(Landroid/renderscript/Double3;Landroid/renderscript/Double3;)Landroid/renderscript/Double3;
-Landroid/renderscript/Double4;-><init>(Landroid/renderscript/Double4;)V
-Landroid/renderscript/Double4;->add(D)V
-Landroid/renderscript/Double4;->add(Landroid/renderscript/Double4;)V
-Landroid/renderscript/Double4;->add(Landroid/renderscript/Double4;D)Landroid/renderscript/Double4;
-Landroid/renderscript/Double4;->add(Landroid/renderscript/Double4;Landroid/renderscript/Double4;)Landroid/renderscript/Double4;
-Landroid/renderscript/Double4;->addAt(ID)V
-Landroid/renderscript/Double4;->addMultiple(Landroid/renderscript/Double4;D)V
-Landroid/renderscript/Double4;->copyTo([DI)V
-Landroid/renderscript/Double4;->div(D)V
-Landroid/renderscript/Double4;->div(Landroid/renderscript/Double4;)V
-Landroid/renderscript/Double4;->div(Landroid/renderscript/Double4;D)Landroid/renderscript/Double4;
-Landroid/renderscript/Double4;->div(Landroid/renderscript/Double4;Landroid/renderscript/Double4;)Landroid/renderscript/Double4;
-Landroid/renderscript/Double4;->dotProduct(Landroid/renderscript/Double4;)D
-Landroid/renderscript/Double4;->dotProduct(Landroid/renderscript/Double4;Landroid/renderscript/Double4;)D
-Landroid/renderscript/Double4;->elementSum()D
-Landroid/renderscript/Double4;->get(I)D
-Landroid/renderscript/Double4;->length()I
-Landroid/renderscript/Double4;->mul(D)V
-Landroid/renderscript/Double4;->mul(Landroid/renderscript/Double4;)V
-Landroid/renderscript/Double4;->mul(Landroid/renderscript/Double4;D)Landroid/renderscript/Double4;
-Landroid/renderscript/Double4;->mul(Landroid/renderscript/Double4;Landroid/renderscript/Double4;)Landroid/renderscript/Double4;
-Landroid/renderscript/Double4;->negate()V
-Landroid/renderscript/Double4;->set(Landroid/renderscript/Double4;)V
-Landroid/renderscript/Double4;->setAt(ID)V
-Landroid/renderscript/Double4;->setValues(DDDD)V
-Landroid/renderscript/Double4;->sub(D)V
-Landroid/renderscript/Double4;->sub(Landroid/renderscript/Double4;)V
-Landroid/renderscript/Double4;->sub(Landroid/renderscript/Double4;D)Landroid/renderscript/Double4;
-Landroid/renderscript/Double4;->sub(Landroid/renderscript/Double4;Landroid/renderscript/Double4;)Landroid/renderscript/Double4;
-Landroid/renderscript/Element$Builder;->mArraySizes:[I
-Landroid/renderscript/Element$Builder;->mCount:I
-Landroid/renderscript/Element$Builder;->mElementNames:[Ljava/lang/String;
-Landroid/renderscript/Element$Builder;->mElements:[Landroid/renderscript/Element;
-Landroid/renderscript/Element$Builder;->mRS:Landroid/renderscript/RenderScript;
-Landroid/renderscript/Element$Builder;->mSkipPadding:I
-Landroid/renderscript/Element$DataKind;-><init>(I)V
-Landroid/renderscript/Element$DataKind;->mID:I
-Landroid/renderscript/Element$DataType;-><init>(I)V
-Landroid/renderscript/Element$DataType;-><init>(II)V
-Landroid/renderscript/Element$DataType;->mID:I
-Landroid/renderscript/Element$DataType;->mSize:I
-Landroid/renderscript/Element;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/Element;-><init>(JLandroid/renderscript/RenderScript;Landroid/renderscript/Element$DataType;Landroid/renderscript/Element$DataKind;ZI)V
-Landroid/renderscript/Element;-><init>(JLandroid/renderscript/RenderScript;[Landroid/renderscript/Element;[Ljava/lang/String;[I)V
-Landroid/renderscript/Element;->mArraySizes:[I
-Landroid/renderscript/Element;->mElementNames:[Ljava/lang/String;
-Landroid/renderscript/Element;->mElements:[Landroid/renderscript/Element;
-Landroid/renderscript/Element;->mKind:Landroid/renderscript/Element$DataKind;
-Landroid/renderscript/Element;->mNormalized:Z
-Landroid/renderscript/Element;->mOffsetInBytes:[I
-Landroid/renderscript/Element;->mSize:I
-Landroid/renderscript/Element;->mType:Landroid/renderscript/Element$DataType;
-Landroid/renderscript/Element;->mVectorSize:I
-Landroid/renderscript/Element;->mVisibleElementMap:[I
-Landroid/renderscript/Element;->updateFromNative()V
-Landroid/renderscript/Element;->updateVisibleSubElements()V
-Landroid/renderscript/FieldPacker;->add(Ljava/lang/Object;)V
-Landroid/renderscript/FieldPacker;->addSafely(Ljava/lang/Object;)V
-Landroid/renderscript/FieldPacker;->createFromArray([Ljava/lang/Object;)Landroid/renderscript/FieldPacker;
-Landroid/renderscript/FieldPacker;->getPos()I
-Landroid/renderscript/FieldPacker;->mAlignment:Ljava/util/BitSet;
-Landroid/renderscript/FieldPacker;->mData:[B
-Landroid/renderscript/FieldPacker;->mLen:I
-Landroid/renderscript/FieldPacker;->mPos:I
-Landroid/renderscript/FieldPacker;->resize(I)Z
-Landroid/renderscript/FileA3D$EntryType;
-Landroid/renderscript/FileA3D$EntryType;-><init>(I)V
-Landroid/renderscript/FileA3D$EntryType;->mID:I
-Landroid/renderscript/FileA3D$EntryType;->toEntryType(I)Landroid/renderscript/FileA3D$EntryType;
-Landroid/renderscript/FileA3D$EntryType;->UNKNOWN:Landroid/renderscript/FileA3D$EntryType;
-Landroid/renderscript/FileA3D$EntryType;->valueOf(Ljava/lang/String;)Landroid/renderscript/FileA3D$EntryType;
-Landroid/renderscript/FileA3D$EntryType;->values()[Landroid/renderscript/FileA3D$EntryType;
-Landroid/renderscript/FileA3D$IndexEntry;
-Landroid/renderscript/FileA3D$IndexEntry;-><init>(Landroid/renderscript/RenderScript;IJLjava/lang/String;Landroid/renderscript/FileA3D$EntryType;)V
-Landroid/renderscript/FileA3D$IndexEntry;->getMesh()Landroid/renderscript/Mesh;
-Landroid/renderscript/FileA3D$IndexEntry;->getName()Ljava/lang/String;
-Landroid/renderscript/FileA3D$IndexEntry;->internalCreate(Landroid/renderscript/RenderScript;Landroid/renderscript/FileA3D$IndexEntry;)Landroid/renderscript/BaseObj;
-Landroid/renderscript/FileA3D$IndexEntry;->mEntryType:Landroid/renderscript/FileA3D$EntryType;
-Landroid/renderscript/FileA3D$IndexEntry;->mID:J
-Landroid/renderscript/FileA3D$IndexEntry;->mIndex:I
-Landroid/renderscript/FileA3D$IndexEntry;->mLoadedObj:Landroid/renderscript/BaseObj;
-Landroid/renderscript/FileA3D$IndexEntry;->mName:Ljava/lang/String;
-Landroid/renderscript/FileA3D$IndexEntry;->mRS:Landroid/renderscript/RenderScript;
-Landroid/renderscript/FileA3D;
-Landroid/renderscript/FileA3D;-><init>(JLandroid/renderscript/RenderScript;Ljava/io/InputStream;)V
-Landroid/renderscript/FileA3D;->createFromAsset(Landroid/renderscript/RenderScript;Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/renderscript/FileA3D;
-Landroid/renderscript/FileA3D;->createFromFile(Landroid/renderscript/RenderScript;Ljava/io/File;)Landroid/renderscript/FileA3D;
-Landroid/renderscript/FileA3D;->createFromFile(Landroid/renderscript/RenderScript;Ljava/lang/String;)Landroid/renderscript/FileA3D;
-Landroid/renderscript/FileA3D;->getIndexEntryCount()I
-Landroid/renderscript/FileA3D;->initEntries()V
-Landroid/renderscript/FileA3D;->mFileEntries:[Landroid/renderscript/FileA3D$IndexEntry;
-Landroid/renderscript/FileA3D;->mInputStream:Ljava/io/InputStream;
-Landroid/renderscript/Float2;-><init>(Landroid/renderscript/Float2;)V
-Landroid/renderscript/Float2;->add(F)V
-Landroid/renderscript/Float2;->add(Landroid/renderscript/Float2;)V
-Landroid/renderscript/Float2;->add(Landroid/renderscript/Float2;F)Landroid/renderscript/Float2;
-Landroid/renderscript/Float2;->add(Landroid/renderscript/Float2;Landroid/renderscript/Float2;)Landroid/renderscript/Float2;
-Landroid/renderscript/Float2;->addAt(IF)V
-Landroid/renderscript/Float2;->addMultiple(Landroid/renderscript/Float2;F)V
-Landroid/renderscript/Float2;->copyTo([FI)V
-Landroid/renderscript/Float2;->div(F)V
-Landroid/renderscript/Float2;->div(Landroid/renderscript/Float2;)V
-Landroid/renderscript/Float2;->div(Landroid/renderscript/Float2;F)Landroid/renderscript/Float2;
-Landroid/renderscript/Float2;->div(Landroid/renderscript/Float2;Landroid/renderscript/Float2;)Landroid/renderscript/Float2;
-Landroid/renderscript/Float2;->dotProduct(Landroid/renderscript/Float2;)F
-Landroid/renderscript/Float2;->dotProduct(Landroid/renderscript/Float2;Landroid/renderscript/Float2;)F
-Landroid/renderscript/Float2;->elementSum()F
-Landroid/renderscript/Float2;->get(I)F
-Landroid/renderscript/Float2;->length()I
-Landroid/renderscript/Float2;->mul(F)V
-Landroid/renderscript/Float2;->mul(Landroid/renderscript/Float2;)V
-Landroid/renderscript/Float2;->mul(Landroid/renderscript/Float2;F)Landroid/renderscript/Float2;
-Landroid/renderscript/Float2;->mul(Landroid/renderscript/Float2;Landroid/renderscript/Float2;)Landroid/renderscript/Float2;
-Landroid/renderscript/Float2;->negate()V
-Landroid/renderscript/Float2;->set(Landroid/renderscript/Float2;)V
-Landroid/renderscript/Float2;->setAt(IF)V
-Landroid/renderscript/Float2;->setValues(FF)V
-Landroid/renderscript/Float2;->sub(F)V
-Landroid/renderscript/Float2;->sub(Landroid/renderscript/Float2;)V
-Landroid/renderscript/Float2;->sub(Landroid/renderscript/Float2;F)Landroid/renderscript/Float2;
-Landroid/renderscript/Float2;->sub(Landroid/renderscript/Float2;Landroid/renderscript/Float2;)Landroid/renderscript/Float2;
-Landroid/renderscript/Float3;-><init>(Landroid/renderscript/Float3;)V
-Landroid/renderscript/Float3;->add(F)V
-Landroid/renderscript/Float3;->add(Landroid/renderscript/Float3;)V
-Landroid/renderscript/Float3;->add(Landroid/renderscript/Float3;F)Landroid/renderscript/Float3;
-Landroid/renderscript/Float3;->add(Landroid/renderscript/Float3;Landroid/renderscript/Float3;)Landroid/renderscript/Float3;
-Landroid/renderscript/Float3;->addAt(IF)V
-Landroid/renderscript/Float3;->addMultiple(Landroid/renderscript/Float3;F)V
-Landroid/renderscript/Float3;->copyTo([FI)V
-Landroid/renderscript/Float3;->div(F)V
-Landroid/renderscript/Float3;->div(Landroid/renderscript/Float3;)V
-Landroid/renderscript/Float3;->div(Landroid/renderscript/Float3;F)Landroid/renderscript/Float3;
-Landroid/renderscript/Float3;->div(Landroid/renderscript/Float3;Landroid/renderscript/Float3;)Landroid/renderscript/Float3;
-Landroid/renderscript/Float3;->dotProduct(Landroid/renderscript/Float3;)Ljava/lang/Float;
-Landroid/renderscript/Float3;->dotProduct(Landroid/renderscript/Float3;Landroid/renderscript/Float3;)Ljava/lang/Float;
-Landroid/renderscript/Float3;->elementSum()Ljava/lang/Float;
-Landroid/renderscript/Float3;->get(I)F
-Landroid/renderscript/Float3;->length()I
-Landroid/renderscript/Float3;->mul(F)V
-Landroid/renderscript/Float3;->mul(Landroid/renderscript/Float3;)V
-Landroid/renderscript/Float3;->mul(Landroid/renderscript/Float3;F)Landroid/renderscript/Float3;
-Landroid/renderscript/Float3;->mul(Landroid/renderscript/Float3;Landroid/renderscript/Float3;)Landroid/renderscript/Float3;
-Landroid/renderscript/Float3;->negate()V
-Landroid/renderscript/Float3;->set(Landroid/renderscript/Float3;)V
-Landroid/renderscript/Float3;->setAt(IF)V
-Landroid/renderscript/Float3;->setValues(FFF)V
-Landroid/renderscript/Float3;->sub(F)V
-Landroid/renderscript/Float3;->sub(Landroid/renderscript/Float3;)V
-Landroid/renderscript/Float3;->sub(Landroid/renderscript/Float3;F)Landroid/renderscript/Float3;
-Landroid/renderscript/Float3;->sub(Landroid/renderscript/Float3;Landroid/renderscript/Float3;)Landroid/renderscript/Float3;
-Landroid/renderscript/Float4;-><init>(Landroid/renderscript/Float4;)V
-Landroid/renderscript/Float4;->add(F)V
-Landroid/renderscript/Float4;->add(Landroid/renderscript/Float4;)V
-Landroid/renderscript/Float4;->add(Landroid/renderscript/Float4;F)Landroid/renderscript/Float4;
-Landroid/renderscript/Float4;->add(Landroid/renderscript/Float4;Landroid/renderscript/Float4;)Landroid/renderscript/Float4;
-Landroid/renderscript/Float4;->addAt(IF)V
-Landroid/renderscript/Float4;->addMultiple(Landroid/renderscript/Float4;F)V
-Landroid/renderscript/Float4;->copyTo([FI)V
-Landroid/renderscript/Float4;->div(F)V
-Landroid/renderscript/Float4;->div(Landroid/renderscript/Float4;)V
-Landroid/renderscript/Float4;->div(Landroid/renderscript/Float4;F)Landroid/renderscript/Float4;
-Landroid/renderscript/Float4;->div(Landroid/renderscript/Float4;Landroid/renderscript/Float4;)Landroid/renderscript/Float4;
-Landroid/renderscript/Float4;->dotProduct(Landroid/renderscript/Float4;)F
-Landroid/renderscript/Float4;->dotProduct(Landroid/renderscript/Float4;Landroid/renderscript/Float4;)F
-Landroid/renderscript/Float4;->elementSum()F
-Landroid/renderscript/Float4;->get(I)F
-Landroid/renderscript/Float4;->length()I
-Landroid/renderscript/Float4;->mul(F)V
-Landroid/renderscript/Float4;->mul(Landroid/renderscript/Float4;)V
-Landroid/renderscript/Float4;->mul(Landroid/renderscript/Float4;F)Landroid/renderscript/Float4;
-Landroid/renderscript/Float4;->mul(Landroid/renderscript/Float4;Landroid/renderscript/Float4;)Landroid/renderscript/Float4;
-Landroid/renderscript/Float4;->negate()V
-Landroid/renderscript/Float4;->set(Landroid/renderscript/Float4;)V
-Landroid/renderscript/Float4;->setAt(IF)V
-Landroid/renderscript/Float4;->setValues(FFFF)V
-Landroid/renderscript/Float4;->sub(F)V
-Landroid/renderscript/Float4;->sub(Landroid/renderscript/Float4;)V
-Landroid/renderscript/Float4;->sub(Landroid/renderscript/Float4;F)Landroid/renderscript/Float4;
-Landroid/renderscript/Float4;->sub(Landroid/renderscript/Float4;Landroid/renderscript/Float4;)Landroid/renderscript/Float4;
-Landroid/renderscript/Font$FontFamily;
-Landroid/renderscript/Font$FontFamily;-><init>()V
-Landroid/renderscript/Font$FontFamily;->mBoldFileName:Ljava/lang/String;
-Landroid/renderscript/Font$FontFamily;->mBoldItalicFileName:Ljava/lang/String;
-Landroid/renderscript/Font$FontFamily;->mItalicFileName:Ljava/lang/String;
-Landroid/renderscript/Font$FontFamily;->mNames:[Ljava/lang/String;
-Landroid/renderscript/Font$FontFamily;->mNormalFileName:Ljava/lang/String;
-Landroid/renderscript/Font$Style;
-Landroid/renderscript/Font$Style;-><init>()V
-Landroid/renderscript/Font$Style;->BOLD:Landroid/renderscript/Font$Style;
-Landroid/renderscript/Font$Style;->BOLD_ITALIC:Landroid/renderscript/Font$Style;
-Landroid/renderscript/Font$Style;->NORMAL:Landroid/renderscript/Font$Style;
-Landroid/renderscript/Font$Style;->valueOf(Ljava/lang/String;)Landroid/renderscript/Font$Style;
-Landroid/renderscript/Font$Style;->values()[Landroid/renderscript/Font$Style;
-Landroid/renderscript/Font;
-Landroid/renderscript/Font;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/Font;->addFamilyToMap(Landroid/renderscript/Font$FontFamily;)V
-Landroid/renderscript/Font;->createFromAsset(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;Ljava/lang/String;F)Landroid/renderscript/Font;
-Landroid/renderscript/Font;->createFromFile(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;Ljava/io/File;F)Landroid/renderscript/Font;
-Landroid/renderscript/Font;->createFromFile(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;Ljava/lang/String;F)Landroid/renderscript/Font;
-Landroid/renderscript/Font;->createFromResource(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;IF)Landroid/renderscript/Font;
-Landroid/renderscript/Font;->getFontFileName(Ljava/lang/String;Landroid/renderscript/Font$Style;)Ljava/lang/String;
-Landroid/renderscript/Font;->initFontFamilyMap()V
-Landroid/renderscript/Font;->sFontFamilyMap:Ljava/util/Map;
-Landroid/renderscript/Font;->sMonoNames:[Ljava/lang/String;
-Landroid/renderscript/Font;->sSansNames:[Ljava/lang/String;
-Landroid/renderscript/Font;->sSerifNames:[Ljava/lang/String;
-Landroid/renderscript/Int2;-><init>(I)V
-Landroid/renderscript/Int2;-><init>(Landroid/renderscript/Int2;)V
-Landroid/renderscript/Int2;->add(I)V
-Landroid/renderscript/Int2;->add(Landroid/renderscript/Int2;)V
-Landroid/renderscript/Int2;->add(Landroid/renderscript/Int2;I)Landroid/renderscript/Int2;
-Landroid/renderscript/Int2;->add(Landroid/renderscript/Int2;Landroid/renderscript/Int2;)Landroid/renderscript/Int2;
-Landroid/renderscript/Int2;->addAt(II)V
-Landroid/renderscript/Int2;->addMultiple(Landroid/renderscript/Int2;I)V
-Landroid/renderscript/Int2;->copyTo([II)V
-Landroid/renderscript/Int2;->div(I)V
-Landroid/renderscript/Int2;->div(Landroid/renderscript/Int2;)V
-Landroid/renderscript/Int2;->div(Landroid/renderscript/Int2;I)Landroid/renderscript/Int2;
-Landroid/renderscript/Int2;->div(Landroid/renderscript/Int2;Landroid/renderscript/Int2;)Landroid/renderscript/Int2;
-Landroid/renderscript/Int2;->dotProduct(Landroid/renderscript/Int2;)I
-Landroid/renderscript/Int2;->dotProduct(Landroid/renderscript/Int2;Landroid/renderscript/Int2;)I
-Landroid/renderscript/Int2;->elementSum()I
-Landroid/renderscript/Int2;->get(I)I
-Landroid/renderscript/Int2;->length()I
-Landroid/renderscript/Int2;->mod(I)V
-Landroid/renderscript/Int2;->mod(Landroid/renderscript/Int2;)V
-Landroid/renderscript/Int2;->mod(Landroid/renderscript/Int2;I)Landroid/renderscript/Int2;
-Landroid/renderscript/Int2;->mod(Landroid/renderscript/Int2;Landroid/renderscript/Int2;)Landroid/renderscript/Int2;
-Landroid/renderscript/Int2;->mul(I)V
-Landroid/renderscript/Int2;->mul(Landroid/renderscript/Int2;)V
-Landroid/renderscript/Int2;->mul(Landroid/renderscript/Int2;I)Landroid/renderscript/Int2;
-Landroid/renderscript/Int2;->mul(Landroid/renderscript/Int2;Landroid/renderscript/Int2;)Landroid/renderscript/Int2;
-Landroid/renderscript/Int2;->negate()V
-Landroid/renderscript/Int2;->set(Landroid/renderscript/Int2;)V
-Landroid/renderscript/Int2;->setAt(II)V
-Landroid/renderscript/Int2;->setValues(II)V
-Landroid/renderscript/Int2;->sub(I)V
-Landroid/renderscript/Int2;->sub(Landroid/renderscript/Int2;)V
-Landroid/renderscript/Int2;->sub(Landroid/renderscript/Int2;I)Landroid/renderscript/Int2;
-Landroid/renderscript/Int2;->sub(Landroid/renderscript/Int2;Landroid/renderscript/Int2;)Landroid/renderscript/Int2;
-Landroid/renderscript/Int3;-><init>(I)V
-Landroid/renderscript/Int3;-><init>(Landroid/renderscript/Int3;)V
-Landroid/renderscript/Int3;->add(I)V
-Landroid/renderscript/Int3;->add(Landroid/renderscript/Int3;)V
-Landroid/renderscript/Int3;->add(Landroid/renderscript/Int3;I)Landroid/renderscript/Int3;
-Landroid/renderscript/Int3;->add(Landroid/renderscript/Int3;Landroid/renderscript/Int3;)Landroid/renderscript/Int3;
-Landroid/renderscript/Int3;->addAt(II)V
-Landroid/renderscript/Int3;->addMultiple(Landroid/renderscript/Int3;I)V
-Landroid/renderscript/Int3;->copyTo([II)V
-Landroid/renderscript/Int3;->div(I)V
-Landroid/renderscript/Int3;->div(Landroid/renderscript/Int3;)V
-Landroid/renderscript/Int3;->div(Landroid/renderscript/Int3;I)Landroid/renderscript/Int3;
-Landroid/renderscript/Int3;->div(Landroid/renderscript/Int3;Landroid/renderscript/Int3;)Landroid/renderscript/Int3;
-Landroid/renderscript/Int3;->dotProduct(Landroid/renderscript/Int3;)I
-Landroid/renderscript/Int3;->dotProduct(Landroid/renderscript/Int3;Landroid/renderscript/Int3;)I
-Landroid/renderscript/Int3;->elementSum()I
-Landroid/renderscript/Int3;->get(I)I
-Landroid/renderscript/Int3;->length()I
-Landroid/renderscript/Int3;->mod(I)V
-Landroid/renderscript/Int3;->mod(Landroid/renderscript/Int3;)V
-Landroid/renderscript/Int3;->mod(Landroid/renderscript/Int3;I)Landroid/renderscript/Int3;
-Landroid/renderscript/Int3;->mod(Landroid/renderscript/Int3;Landroid/renderscript/Int3;)Landroid/renderscript/Int3;
-Landroid/renderscript/Int3;->mul(I)V
-Landroid/renderscript/Int3;->mul(Landroid/renderscript/Int3;)V
-Landroid/renderscript/Int3;->mul(Landroid/renderscript/Int3;I)Landroid/renderscript/Int3;
-Landroid/renderscript/Int3;->mul(Landroid/renderscript/Int3;Landroid/renderscript/Int3;)Landroid/renderscript/Int3;
-Landroid/renderscript/Int3;->negate()V
-Landroid/renderscript/Int3;->set(Landroid/renderscript/Int3;)V
-Landroid/renderscript/Int3;->setAt(II)V
-Landroid/renderscript/Int3;->setValues(III)V
-Landroid/renderscript/Int3;->sub(I)V
-Landroid/renderscript/Int3;->sub(Landroid/renderscript/Int3;)V
-Landroid/renderscript/Int3;->sub(Landroid/renderscript/Int3;I)Landroid/renderscript/Int3;
-Landroid/renderscript/Int3;->sub(Landroid/renderscript/Int3;Landroid/renderscript/Int3;)Landroid/renderscript/Int3;
-Landroid/renderscript/Int4;-><init>(I)V
-Landroid/renderscript/Int4;-><init>(Landroid/renderscript/Int4;)V
-Landroid/renderscript/Int4;->add(I)V
-Landroid/renderscript/Int4;->add(Landroid/renderscript/Int4;)V
-Landroid/renderscript/Int4;->add(Landroid/renderscript/Int4;I)Landroid/renderscript/Int4;
-Landroid/renderscript/Int4;->add(Landroid/renderscript/Int4;Landroid/renderscript/Int4;)Landroid/renderscript/Int4;
-Landroid/renderscript/Int4;->addAt(II)V
-Landroid/renderscript/Int4;->addMultiple(Landroid/renderscript/Int4;I)V
-Landroid/renderscript/Int4;->copyTo([II)V
-Landroid/renderscript/Int4;->div(I)V
-Landroid/renderscript/Int4;->div(Landroid/renderscript/Int4;)V
-Landroid/renderscript/Int4;->div(Landroid/renderscript/Int4;I)Landroid/renderscript/Int4;
-Landroid/renderscript/Int4;->div(Landroid/renderscript/Int4;Landroid/renderscript/Int4;)Landroid/renderscript/Int4;
-Landroid/renderscript/Int4;->dotProduct(Landroid/renderscript/Int4;)I
-Landroid/renderscript/Int4;->dotProduct(Landroid/renderscript/Int4;Landroid/renderscript/Int4;)I
-Landroid/renderscript/Int4;->elementSum()I
-Landroid/renderscript/Int4;->get(I)I
-Landroid/renderscript/Int4;->length()I
-Landroid/renderscript/Int4;->mod(I)V
-Landroid/renderscript/Int4;->mod(Landroid/renderscript/Int4;)V
-Landroid/renderscript/Int4;->mod(Landroid/renderscript/Int4;I)Landroid/renderscript/Int4;
-Landroid/renderscript/Int4;->mod(Landroid/renderscript/Int4;Landroid/renderscript/Int4;)Landroid/renderscript/Int4;
-Landroid/renderscript/Int4;->mul(I)V
-Landroid/renderscript/Int4;->mul(Landroid/renderscript/Int4;)V
-Landroid/renderscript/Int4;->mul(Landroid/renderscript/Int4;I)Landroid/renderscript/Int4;
-Landroid/renderscript/Int4;->mul(Landroid/renderscript/Int4;Landroid/renderscript/Int4;)Landroid/renderscript/Int4;
-Landroid/renderscript/Int4;->negate()V
-Landroid/renderscript/Int4;->set(Landroid/renderscript/Int4;)V
-Landroid/renderscript/Int4;->setAt(II)V
-Landroid/renderscript/Int4;->setValues(IIII)V
-Landroid/renderscript/Int4;->sub(I)V
-Landroid/renderscript/Int4;->sub(Landroid/renderscript/Int4;)V
-Landroid/renderscript/Int4;->sub(Landroid/renderscript/Int4;I)Landroid/renderscript/Int4;
-Landroid/renderscript/Int4;->sub(Landroid/renderscript/Int4;Landroid/renderscript/Int4;)Landroid/renderscript/Int4;
-Landroid/renderscript/Long2;-><init>(J)V
-Landroid/renderscript/Long2;-><init>(Landroid/renderscript/Long2;)V
-Landroid/renderscript/Long2;->add(J)V
-Landroid/renderscript/Long2;->add(Landroid/renderscript/Long2;)V
-Landroid/renderscript/Long2;->add(Landroid/renderscript/Long2;J)Landroid/renderscript/Long2;
-Landroid/renderscript/Long2;->add(Landroid/renderscript/Long2;Landroid/renderscript/Long2;)Landroid/renderscript/Long2;
-Landroid/renderscript/Long2;->addAt(IJ)V
-Landroid/renderscript/Long2;->addMultiple(Landroid/renderscript/Long2;J)V
-Landroid/renderscript/Long2;->copyTo([JI)V
-Landroid/renderscript/Long2;->div(J)V
-Landroid/renderscript/Long2;->div(Landroid/renderscript/Long2;)V
-Landroid/renderscript/Long2;->div(Landroid/renderscript/Long2;J)Landroid/renderscript/Long2;
-Landroid/renderscript/Long2;->div(Landroid/renderscript/Long2;Landroid/renderscript/Long2;)Landroid/renderscript/Long2;
-Landroid/renderscript/Long2;->dotProduct(Landroid/renderscript/Long2;)J
-Landroid/renderscript/Long2;->dotProduct(Landroid/renderscript/Long2;Landroid/renderscript/Long2;)J
-Landroid/renderscript/Long2;->elementSum()J
-Landroid/renderscript/Long2;->get(I)J
-Landroid/renderscript/Long2;->length()J
-Landroid/renderscript/Long2;->mod(J)V
-Landroid/renderscript/Long2;->mod(Landroid/renderscript/Long2;)V
-Landroid/renderscript/Long2;->mod(Landroid/renderscript/Long2;J)Landroid/renderscript/Long2;
-Landroid/renderscript/Long2;->mod(Landroid/renderscript/Long2;Landroid/renderscript/Long2;)Landroid/renderscript/Long2;
-Landroid/renderscript/Long2;->mul(J)V
-Landroid/renderscript/Long2;->mul(Landroid/renderscript/Long2;)V
-Landroid/renderscript/Long2;->mul(Landroid/renderscript/Long2;J)Landroid/renderscript/Long2;
-Landroid/renderscript/Long2;->mul(Landroid/renderscript/Long2;Landroid/renderscript/Long2;)Landroid/renderscript/Long2;
-Landroid/renderscript/Long2;->negate()V
-Landroid/renderscript/Long2;->set(Landroid/renderscript/Long2;)V
-Landroid/renderscript/Long2;->setAt(IJ)V
-Landroid/renderscript/Long2;->setValues(JJ)V
-Landroid/renderscript/Long2;->sub(J)V
-Landroid/renderscript/Long2;->sub(Landroid/renderscript/Long2;)V
-Landroid/renderscript/Long2;->sub(Landroid/renderscript/Long2;J)Landroid/renderscript/Long2;
-Landroid/renderscript/Long2;->sub(Landroid/renderscript/Long2;Landroid/renderscript/Long2;)Landroid/renderscript/Long2;
-Landroid/renderscript/Long3;-><init>(J)V
-Landroid/renderscript/Long3;-><init>(Landroid/renderscript/Long3;)V
-Landroid/renderscript/Long3;->add(J)V
-Landroid/renderscript/Long3;->add(Landroid/renderscript/Long3;)V
-Landroid/renderscript/Long3;->add(Landroid/renderscript/Long3;J)Landroid/renderscript/Long3;
-Landroid/renderscript/Long3;->add(Landroid/renderscript/Long3;Landroid/renderscript/Long3;)Landroid/renderscript/Long3;
-Landroid/renderscript/Long3;->addAt(IJ)V
-Landroid/renderscript/Long3;->addMultiple(Landroid/renderscript/Long3;J)V
-Landroid/renderscript/Long3;->copyTo([JI)V
-Landroid/renderscript/Long3;->div(J)V
-Landroid/renderscript/Long3;->div(Landroid/renderscript/Long3;)V
-Landroid/renderscript/Long3;->div(Landroid/renderscript/Long3;J)Landroid/renderscript/Long3;
-Landroid/renderscript/Long3;->div(Landroid/renderscript/Long3;Landroid/renderscript/Long3;)Landroid/renderscript/Long3;
-Landroid/renderscript/Long3;->dotProduct(Landroid/renderscript/Long3;)J
-Landroid/renderscript/Long3;->dotProduct(Landroid/renderscript/Long3;Landroid/renderscript/Long3;)J
-Landroid/renderscript/Long3;->elementSum()J
-Landroid/renderscript/Long3;->get(I)J
-Landroid/renderscript/Long3;->length()J
-Landroid/renderscript/Long3;->mod(J)V
-Landroid/renderscript/Long3;->mod(Landroid/renderscript/Long3;)V
-Landroid/renderscript/Long3;->mod(Landroid/renderscript/Long3;J)Landroid/renderscript/Long3;
-Landroid/renderscript/Long3;->mod(Landroid/renderscript/Long3;Landroid/renderscript/Long3;)Landroid/renderscript/Long3;
-Landroid/renderscript/Long3;->mul(J)V
-Landroid/renderscript/Long3;->mul(Landroid/renderscript/Long3;)V
-Landroid/renderscript/Long3;->mul(Landroid/renderscript/Long3;J)Landroid/renderscript/Long3;
-Landroid/renderscript/Long3;->mul(Landroid/renderscript/Long3;Landroid/renderscript/Long3;)Landroid/renderscript/Long3;
-Landroid/renderscript/Long3;->negate()V
-Landroid/renderscript/Long3;->set(Landroid/renderscript/Long3;)V
-Landroid/renderscript/Long3;->setAt(IJ)V
-Landroid/renderscript/Long3;->setValues(JJJ)V
-Landroid/renderscript/Long3;->sub(J)V
-Landroid/renderscript/Long3;->sub(Landroid/renderscript/Long3;)V
-Landroid/renderscript/Long3;->sub(Landroid/renderscript/Long3;J)Landroid/renderscript/Long3;
-Landroid/renderscript/Long3;->sub(Landroid/renderscript/Long3;Landroid/renderscript/Long3;)Landroid/renderscript/Long3;
-Landroid/renderscript/Long4;-><init>(J)V
-Landroid/renderscript/Long4;-><init>(Landroid/renderscript/Long4;)V
-Landroid/renderscript/Long4;->add(J)V
-Landroid/renderscript/Long4;->add(Landroid/renderscript/Long4;)V
-Landroid/renderscript/Long4;->add(Landroid/renderscript/Long4;J)Landroid/renderscript/Long4;
-Landroid/renderscript/Long4;->add(Landroid/renderscript/Long4;Landroid/renderscript/Long4;)Landroid/renderscript/Long4;
-Landroid/renderscript/Long4;->addAt(IJ)V
-Landroid/renderscript/Long4;->addMultiple(Landroid/renderscript/Long4;J)V
-Landroid/renderscript/Long4;->copyTo([JI)V
-Landroid/renderscript/Long4;->div(J)V
-Landroid/renderscript/Long4;->div(Landroid/renderscript/Long4;)V
-Landroid/renderscript/Long4;->div(Landroid/renderscript/Long4;J)Landroid/renderscript/Long4;
-Landroid/renderscript/Long4;->div(Landroid/renderscript/Long4;Landroid/renderscript/Long4;)Landroid/renderscript/Long4;
-Landroid/renderscript/Long4;->dotProduct(Landroid/renderscript/Long4;)J
-Landroid/renderscript/Long4;->dotProduct(Landroid/renderscript/Long4;Landroid/renderscript/Long4;)J
-Landroid/renderscript/Long4;->elementSum()J
-Landroid/renderscript/Long4;->get(I)J
-Landroid/renderscript/Long4;->length()J
-Landroid/renderscript/Long4;->mod(J)V
-Landroid/renderscript/Long4;->mod(Landroid/renderscript/Long4;)V
-Landroid/renderscript/Long4;->mod(Landroid/renderscript/Long4;J)Landroid/renderscript/Long4;
-Landroid/renderscript/Long4;->mod(Landroid/renderscript/Long4;Landroid/renderscript/Long4;)Landroid/renderscript/Long4;
-Landroid/renderscript/Long4;->mul(J)V
-Landroid/renderscript/Long4;->mul(Landroid/renderscript/Long4;)V
-Landroid/renderscript/Long4;->mul(Landroid/renderscript/Long4;J)Landroid/renderscript/Long4;
-Landroid/renderscript/Long4;->mul(Landroid/renderscript/Long4;Landroid/renderscript/Long4;)Landroid/renderscript/Long4;
-Landroid/renderscript/Long4;->negate()V
-Landroid/renderscript/Long4;->set(Landroid/renderscript/Long4;)V
-Landroid/renderscript/Long4;->setAt(IJ)V
-Landroid/renderscript/Long4;->setValues(JJJJ)V
-Landroid/renderscript/Long4;->sub(J)V
-Landroid/renderscript/Long4;->sub(Landroid/renderscript/Long4;)V
-Landroid/renderscript/Long4;->sub(Landroid/renderscript/Long4;J)Landroid/renderscript/Long4;
-Landroid/renderscript/Long4;->sub(Landroid/renderscript/Long4;Landroid/renderscript/Long4;)Landroid/renderscript/Long4;
-Landroid/renderscript/Matrix2f;->mMat:[F
-Landroid/renderscript/Matrix3f;->mMat:[F
-Landroid/renderscript/Matrix4f;->computeCofactor(II)F
-Landroid/renderscript/Matrix4f;->load(Landroid/renderscript/Matrix3f;)V
-Landroid/renderscript/Mesh$AllocationBuilder$Entry;
-Landroid/renderscript/Mesh$AllocationBuilder$Entry;-><init>()V
-Landroid/renderscript/Mesh$AllocationBuilder$Entry;->a:Landroid/renderscript/Allocation;
-Landroid/renderscript/Mesh$AllocationBuilder$Entry;->prim:Landroid/renderscript/Mesh$Primitive;
-Landroid/renderscript/Mesh$AllocationBuilder;
-Landroid/renderscript/Mesh$AllocationBuilder;->getCurrentIndexSetIndex()I
-Landroid/renderscript/Mesh$AllocationBuilder;->getCurrentVertexTypeIndex()I
-Landroid/renderscript/Mesh$AllocationBuilder;->mIndexTypes:Ljava/util/Vector;
-Landroid/renderscript/Mesh$AllocationBuilder;->mRS:Landroid/renderscript/RenderScript;
-Landroid/renderscript/Mesh$AllocationBuilder;->mVertexTypeCount:I
-Landroid/renderscript/Mesh$AllocationBuilder;->mVertexTypes:[Landroid/renderscript/Mesh$AllocationBuilder$Entry;
-Landroid/renderscript/Mesh$Builder$Entry;
-Landroid/renderscript/Mesh$Builder$Entry;-><init>()V
-Landroid/renderscript/Mesh$Builder$Entry;->e:Landroid/renderscript/Element;
-Landroid/renderscript/Mesh$Builder$Entry;->prim:Landroid/renderscript/Mesh$Primitive;
-Landroid/renderscript/Mesh$Builder$Entry;->size:I
-Landroid/renderscript/Mesh$Builder$Entry;->t:Landroid/renderscript/Type;
-Landroid/renderscript/Mesh$Builder$Entry;->usage:I
-Landroid/renderscript/Mesh$Builder;
-Landroid/renderscript/Mesh$Builder;-><init>(Landroid/renderscript/RenderScript;I)V
-Landroid/renderscript/Mesh$Builder;->addIndexSetType(Landroid/renderscript/Element;ILandroid/renderscript/Mesh$Primitive;)Landroid/renderscript/Mesh$Builder;
-Landroid/renderscript/Mesh$Builder;->addIndexSetType(Landroid/renderscript/Mesh$Primitive;)Landroid/renderscript/Mesh$Builder;
-Landroid/renderscript/Mesh$Builder;->addIndexSetType(Landroid/renderscript/Type;Landroid/renderscript/Mesh$Primitive;)Landroid/renderscript/Mesh$Builder;
-Landroid/renderscript/Mesh$Builder;->addVertexType(Landroid/renderscript/Element;I)Landroid/renderscript/Mesh$Builder;
-Landroid/renderscript/Mesh$Builder;->addVertexType(Landroid/renderscript/Type;)Landroid/renderscript/Mesh$Builder;
-Landroid/renderscript/Mesh$Builder;->create()Landroid/renderscript/Mesh;
-Landroid/renderscript/Mesh$Builder;->getCurrentIndexSetIndex()I
-Landroid/renderscript/Mesh$Builder;->getCurrentVertexTypeIndex()I
-Landroid/renderscript/Mesh$Builder;->mIndexTypes:Ljava/util/Vector;
-Landroid/renderscript/Mesh$Builder;->mRS:Landroid/renderscript/RenderScript;
-Landroid/renderscript/Mesh$Builder;->mUsage:I
-Landroid/renderscript/Mesh$Builder;->mVertexTypeCount:I
-Landroid/renderscript/Mesh$Builder;->mVertexTypes:[Landroid/renderscript/Mesh$Builder$Entry;
-Landroid/renderscript/Mesh$Builder;->newType(Landroid/renderscript/Element;I)Landroid/renderscript/Type;
-Landroid/renderscript/Mesh$Primitive;
-Landroid/renderscript/Mesh$Primitive;-><init>(I)V
-Landroid/renderscript/Mesh$Primitive;->LINE:Landroid/renderscript/Mesh$Primitive;
-Landroid/renderscript/Mesh$Primitive;->LINE_STRIP:Landroid/renderscript/Mesh$Primitive;
-Landroid/renderscript/Mesh$Primitive;->mID:I
-Landroid/renderscript/Mesh$Primitive;->TRIANGLE_FAN:Landroid/renderscript/Mesh$Primitive;
-Landroid/renderscript/Mesh$Primitive;->TRIANGLE_STRIP:Landroid/renderscript/Mesh$Primitive;
-Landroid/renderscript/Mesh$Primitive;->valueOf(Ljava/lang/String;)Landroid/renderscript/Mesh$Primitive;
-Landroid/renderscript/Mesh$Primitive;->values()[Landroid/renderscript/Mesh$Primitive;
-Landroid/renderscript/Mesh$TriangleMeshBuilder;
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->addVertex(FFF)Landroid/renderscript/Mesh$TriangleMeshBuilder;
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->COLOR:I
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->latch()V
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->mA:F
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->makeSpace(I)V
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->mB:F
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->mElement:Landroid/renderscript/Element;
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->mFlags:I
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->mG:F
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->mIndexCount:I
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->mIndexData:[S
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->mMaxIndex:I
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->mNX:F
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->mNY:F
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->mNZ:F
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->mR:F
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->mRS:Landroid/renderscript/RenderScript;
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->mS0:F
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->mT0:F
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->mVtxCount:I
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->mVtxData:[F
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->mVtxSize:I
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->NORMAL:I
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->setColor(FFFF)Landroid/renderscript/Mesh$TriangleMeshBuilder;
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->setNormal(FFF)Landroid/renderscript/Mesh$TriangleMeshBuilder;
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->setTexture(FF)Landroid/renderscript/Mesh$TriangleMeshBuilder;
-Landroid/renderscript/Mesh$TriangleMeshBuilder;->TEXTURE_0:I
-Landroid/renderscript/Mesh;
-Landroid/renderscript/Mesh;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/Mesh;->getIndexSetAllocation(I)Landroid/renderscript/Allocation;
-Landroid/renderscript/Mesh;->getPrimitive(I)Landroid/renderscript/Mesh$Primitive;
-Landroid/renderscript/Mesh;->getPrimitiveCount()I
-Landroid/renderscript/Mesh;->getVertexAllocationCount()I
-Landroid/renderscript/Mesh;->mIndexBuffers:[Landroid/renderscript/Allocation;
-Landroid/renderscript/Mesh;->mPrimitives:[Landroid/renderscript/Mesh$Primitive;
-Landroid/renderscript/Mesh;->mVertexBuffers:[Landroid/renderscript/Allocation;
-Landroid/renderscript/Mesh;->updateFromNative()V
-Landroid/renderscript/Program$BaseProgramBuilder;
-Landroid/renderscript/Program$BaseProgramBuilder;->addConstant(Landroid/renderscript/Type;)Landroid/renderscript/Program$BaseProgramBuilder;
-Landroid/renderscript/Program$BaseProgramBuilder;->addTexture(Landroid/renderscript/Program$TextureType;)Landroid/renderscript/Program$BaseProgramBuilder;
-Landroid/renderscript/Program$BaseProgramBuilder;->addTexture(Landroid/renderscript/Program$TextureType;Ljava/lang/String;)Landroid/renderscript/Program$BaseProgramBuilder;
-Landroid/renderscript/Program$BaseProgramBuilder;->getCurrentConstantIndex()I
-Landroid/renderscript/Program$BaseProgramBuilder;->getCurrentTextureIndex()I
-Landroid/renderscript/Program$BaseProgramBuilder;->initProgram(Landroid/renderscript/Program;)V
-Landroid/renderscript/Program$BaseProgramBuilder;->mTextureNames:[Ljava/lang/String;
-Landroid/renderscript/Program$BaseProgramBuilder;->mTextures:[Landroid/renderscript/Type;
-Landroid/renderscript/Program$BaseProgramBuilder;->mTextureTypes:[Landroid/renderscript/Program$TextureType;
-Landroid/renderscript/Program$BaseProgramBuilder;->setShader(Landroid/content/res/Resources;I)Landroid/renderscript/Program$BaseProgramBuilder;
-Landroid/renderscript/Program$BaseProgramBuilder;->setShader(Ljava/lang/String;)Landroid/renderscript/Program$BaseProgramBuilder;
-Landroid/renderscript/Program$ProgramParam;
-Landroid/renderscript/Program$ProgramParam;-><init>(I)V
-Landroid/renderscript/Program$ProgramParam;->CONSTANT:Landroid/renderscript/Program$ProgramParam;
-Landroid/renderscript/Program$ProgramParam;->INPUT:Landroid/renderscript/Program$ProgramParam;
-Landroid/renderscript/Program$ProgramParam;->mID:I
-Landroid/renderscript/Program$ProgramParam;->OUTPUT:Landroid/renderscript/Program$ProgramParam;
-Landroid/renderscript/Program$ProgramParam;->TEXTURE_TYPE:Landroid/renderscript/Program$ProgramParam;
-Landroid/renderscript/Program$ProgramParam;->valueOf(Ljava/lang/String;)Landroid/renderscript/Program$ProgramParam;
-Landroid/renderscript/Program$ProgramParam;->values()[Landroid/renderscript/Program$ProgramParam;
-Landroid/renderscript/Program$TextureType;
-Landroid/renderscript/Program$TextureType;-><init>(I)V
-Landroid/renderscript/Program$TextureType;->mID:I
-Landroid/renderscript/Program$TextureType;->TEXTURE_CUBE:Landroid/renderscript/Program$TextureType;
-Landroid/renderscript/Program$TextureType;->valueOf(Ljava/lang/String;)Landroid/renderscript/Program$TextureType;
-Landroid/renderscript/Program$TextureType;->values()[Landroid/renderscript/Program$TextureType;
-Landroid/renderscript/Program;
-Landroid/renderscript/Program;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/Program;->bindConstants(Landroid/renderscript/Allocation;I)V
-Landroid/renderscript/Program;->bindSampler(Landroid/renderscript/Sampler;I)V
-Landroid/renderscript/Program;->bindTexture(Landroid/renderscript/Allocation;I)V
-Landroid/renderscript/Program;->getConstant(I)Landroid/renderscript/Type;
-Landroid/renderscript/Program;->getConstantCount()I
-Landroid/renderscript/Program;->getTextureCount()I
-Landroid/renderscript/Program;->getTextureName(I)Ljava/lang/String;
-Landroid/renderscript/Program;->getTextureType(I)Landroid/renderscript/Program$TextureType;
-Landroid/renderscript/Program;->MAX_CONSTANT:I
-Landroid/renderscript/Program;->MAX_INPUT:I
-Landroid/renderscript/Program;->MAX_OUTPUT:I
-Landroid/renderscript/Program;->MAX_TEXTURE:I
-Landroid/renderscript/Program;->mConstants:[Landroid/renderscript/Type;
-Landroid/renderscript/Program;->mInputs:[Landroid/renderscript/Element;
-Landroid/renderscript/Program;->mOutputs:[Landroid/renderscript/Element;
-Landroid/renderscript/Program;->mShader:Ljava/lang/String;
-Landroid/renderscript/Program;->mTextureCount:I
-Landroid/renderscript/Program;->mTextureNames:[Ljava/lang/String;
-Landroid/renderscript/Program;->mTextures:[Landroid/renderscript/Program$TextureType;
-Landroid/renderscript/ProgramFragment$Builder;
-Landroid/renderscript/ProgramFragment;
-Landroid/renderscript/ProgramFragment;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;-><init>(I)V
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;->DECAL:Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;->mID:I
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;->valueOf(Ljava/lang/String;)Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;->values()[Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;-><init>(I)V
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;->LUMINANCE_ALPHA:Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;->mID:I
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;->valueOf(Ljava/lang/String;)Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;->values()[Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Slot;
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Slot;-><init>(Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;)V
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Slot;->env:Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Slot;->format:Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder;
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder;->buildShaderString()V
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder;->MAX_TEXTURE:I
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder;->mNumTextures:I
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder;->mPointSpriteEnable:Z
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder;->mRS:Landroid/renderscript/RenderScript;
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder;->mShader:Ljava/lang/String;
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder;->mSlots:[Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Slot;
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder;->mVaryingColorEnable:Z
-Landroid/renderscript/ProgramFragmentFixedFunction$Builder;->setPointSpriteTexCoordinateReplacement(Z)Landroid/renderscript/ProgramFragmentFixedFunction$Builder;
-Landroid/renderscript/ProgramFragmentFixedFunction$InternalBuilder;
-Landroid/renderscript/ProgramFragmentFixedFunction$InternalBuilder;-><init>(Landroid/renderscript/RenderScript;)V
-Landroid/renderscript/ProgramFragmentFixedFunction$InternalBuilder;->create()Landroid/renderscript/ProgramFragmentFixedFunction;
-Landroid/renderscript/ProgramFragmentFixedFunction;
-Landroid/renderscript/ProgramFragmentFixedFunction;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/ProgramRaster$Builder;
-Landroid/renderscript/ProgramRaster$Builder;->mCullMode:Landroid/renderscript/ProgramRaster$CullMode;
-Landroid/renderscript/ProgramRaster$Builder;->mPointSprite:Z
-Landroid/renderscript/ProgramRaster$Builder;->mRS:Landroid/renderscript/RenderScript;
-Landroid/renderscript/ProgramRaster$Builder;->setCullMode(Landroid/renderscript/ProgramRaster$CullMode;)Landroid/renderscript/ProgramRaster$Builder;
-Landroid/renderscript/ProgramRaster$CullMode;
-Landroid/renderscript/ProgramRaster$CullMode;-><init>(I)V
-Landroid/renderscript/ProgramRaster$CullMode;->BACK:Landroid/renderscript/ProgramRaster$CullMode;
-Landroid/renderscript/ProgramRaster$CullMode;->FRONT:Landroid/renderscript/ProgramRaster$CullMode;
-Landroid/renderscript/ProgramRaster$CullMode;->mID:I
-Landroid/renderscript/ProgramRaster$CullMode;->NONE:Landroid/renderscript/ProgramRaster$CullMode;
-Landroid/renderscript/ProgramRaster$CullMode;->valueOf(Ljava/lang/String;)Landroid/renderscript/ProgramRaster$CullMode;
-Landroid/renderscript/ProgramRaster$CullMode;->values()[Landroid/renderscript/ProgramRaster$CullMode;
-Landroid/renderscript/ProgramRaster;
-Landroid/renderscript/ProgramRaster;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/ProgramRaster;->CULL_BACK(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramRaster;
-Landroid/renderscript/ProgramRaster;->CULL_FRONT(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramRaster;
-Landroid/renderscript/ProgramRaster;->CULL_NONE(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramRaster;
-Landroid/renderscript/ProgramRaster;->getCullMode()Landroid/renderscript/ProgramRaster$CullMode;
-Landroid/renderscript/ProgramRaster;->isPointSpriteEnabled()Z
-Landroid/renderscript/ProgramRaster;->mCullMode:Landroid/renderscript/ProgramRaster$CullMode;
-Landroid/renderscript/ProgramRaster;->mPointSprite:Z
-Landroid/renderscript/ProgramStore$BlendDstFunc;
-Landroid/renderscript/ProgramStore$BlendDstFunc;-><init>(I)V
-Landroid/renderscript/ProgramStore$BlendDstFunc;->DST_ALPHA:Landroid/renderscript/ProgramStore$BlendDstFunc;
-Landroid/renderscript/ProgramStore$BlendDstFunc;->mID:I
-Landroid/renderscript/ProgramStore$BlendDstFunc;->ONE_MINUS_DST_ALPHA:Landroid/renderscript/ProgramStore$BlendDstFunc;
-Landroid/renderscript/ProgramStore$BlendDstFunc;->ONE_MINUS_SRC_COLOR:Landroid/renderscript/ProgramStore$BlendDstFunc;
-Landroid/renderscript/ProgramStore$BlendDstFunc;->SRC_ALPHA:Landroid/renderscript/ProgramStore$BlendDstFunc;
-Landroid/renderscript/ProgramStore$BlendDstFunc;->SRC_COLOR:Landroid/renderscript/ProgramStore$BlendDstFunc;
-Landroid/renderscript/ProgramStore$BlendDstFunc;->valueOf(Ljava/lang/String;)Landroid/renderscript/ProgramStore$BlendDstFunc;
-Landroid/renderscript/ProgramStore$BlendDstFunc;->values()[Landroid/renderscript/ProgramStore$BlendDstFunc;
-Landroid/renderscript/ProgramStore$BlendSrcFunc;
-Landroid/renderscript/ProgramStore$BlendSrcFunc;-><init>(I)V
-Landroid/renderscript/ProgramStore$BlendSrcFunc;->DST_ALPHA:Landroid/renderscript/ProgramStore$BlendSrcFunc;
-Landroid/renderscript/ProgramStore$BlendSrcFunc;->DST_COLOR:Landroid/renderscript/ProgramStore$BlendSrcFunc;
-Landroid/renderscript/ProgramStore$BlendSrcFunc;->mID:I
-Landroid/renderscript/ProgramStore$BlendSrcFunc;->ONE_MINUS_DST_ALPHA:Landroid/renderscript/ProgramStore$BlendSrcFunc;
-Landroid/renderscript/ProgramStore$BlendSrcFunc;->ONE_MINUS_DST_COLOR:Landroid/renderscript/ProgramStore$BlendSrcFunc;
-Landroid/renderscript/ProgramStore$BlendSrcFunc;->ONE_MINUS_SRC_ALPHA:Landroid/renderscript/ProgramStore$BlendSrcFunc;
-Landroid/renderscript/ProgramStore$BlendSrcFunc;->SRC_ALPHA_SATURATE:Landroid/renderscript/ProgramStore$BlendSrcFunc;
-Landroid/renderscript/ProgramStore$BlendSrcFunc;->valueOf(Ljava/lang/String;)Landroid/renderscript/ProgramStore$BlendSrcFunc;
-Landroid/renderscript/ProgramStore$BlendSrcFunc;->values()[Landroid/renderscript/ProgramStore$BlendSrcFunc;
-Landroid/renderscript/ProgramStore$BlendSrcFunc;->ZERO:Landroid/renderscript/ProgramStore$BlendSrcFunc;
-Landroid/renderscript/ProgramStore$Builder;
-Landroid/renderscript/ProgramStore$Builder;->mBlendDst:Landroid/renderscript/ProgramStore$BlendDstFunc;
-Landroid/renderscript/ProgramStore$Builder;->mBlendSrc:Landroid/renderscript/ProgramStore$BlendSrcFunc;
-Landroid/renderscript/ProgramStore$Builder;->mColorMaskA:Z
-Landroid/renderscript/ProgramStore$Builder;->mColorMaskB:Z
-Landroid/renderscript/ProgramStore$Builder;->mColorMaskG:Z
-Landroid/renderscript/ProgramStore$Builder;->mColorMaskR:Z
-Landroid/renderscript/ProgramStore$Builder;->mDepthFunc:Landroid/renderscript/ProgramStore$DepthFunc;
-Landroid/renderscript/ProgramStore$Builder;->mDepthMask:Z
-Landroid/renderscript/ProgramStore$Builder;->mDither:Z
-Landroid/renderscript/ProgramStore$Builder;->mRS:Landroid/renderscript/RenderScript;
-Landroid/renderscript/ProgramStore$Builder;->setColorMaskEnabled(ZZZZ)Landroid/renderscript/ProgramStore$Builder;
-Landroid/renderscript/ProgramStore$DepthFunc;
-Landroid/renderscript/ProgramStore$DepthFunc;-><init>(I)V
-Landroid/renderscript/ProgramStore$DepthFunc;->EQUAL:Landroid/renderscript/ProgramStore$DepthFunc;
-Landroid/renderscript/ProgramStore$DepthFunc;->GREATER:Landroid/renderscript/ProgramStore$DepthFunc;
-Landroid/renderscript/ProgramStore$DepthFunc;->GREATER_OR_EQUAL:Landroid/renderscript/ProgramStore$DepthFunc;
-Landroid/renderscript/ProgramStore$DepthFunc;->LESS_OR_EQUAL:Landroid/renderscript/ProgramStore$DepthFunc;
-Landroid/renderscript/ProgramStore$DepthFunc;->mID:I
-Landroid/renderscript/ProgramStore$DepthFunc;->NOT_EQUAL:Landroid/renderscript/ProgramStore$DepthFunc;
-Landroid/renderscript/ProgramStore$DepthFunc;->valueOf(Ljava/lang/String;)Landroid/renderscript/ProgramStore$DepthFunc;
-Landroid/renderscript/ProgramStore$DepthFunc;->values()[Landroid/renderscript/ProgramStore$DepthFunc;
-Landroid/renderscript/ProgramStore;
-Landroid/renderscript/ProgramStore;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/ProgramStore;->BLEND_ALPHA_DEPTH_TEST(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramStore;
-Landroid/renderscript/ProgramStore;->BLEND_NONE_DEPTH_NONE(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramStore;
-Landroid/renderscript/ProgramStore;->BLEND_NONE_DEPTH_TEST(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramStore;
-Landroid/renderscript/ProgramStore;->getBlendDstFunc()Landroid/renderscript/ProgramStore$BlendDstFunc;
-Landroid/renderscript/ProgramStore;->getBlendSrcFunc()Landroid/renderscript/ProgramStore$BlendSrcFunc;
-Landroid/renderscript/ProgramStore;->getDepthFunc()Landroid/renderscript/ProgramStore$DepthFunc;
-Landroid/renderscript/ProgramStore;->isColorMaskAlphaEnabled()Z
-Landroid/renderscript/ProgramStore;->isColorMaskBlueEnabled()Z
-Landroid/renderscript/ProgramStore;->isColorMaskGreenEnabled()Z
-Landroid/renderscript/ProgramStore;->isColorMaskRedEnabled()Z
-Landroid/renderscript/ProgramStore;->isDepthMaskEnabled()Z
-Landroid/renderscript/ProgramStore;->isDitherEnabled()Z
-Landroid/renderscript/ProgramStore;->mBlendDst:Landroid/renderscript/ProgramStore$BlendDstFunc;
-Landroid/renderscript/ProgramStore;->mBlendSrc:Landroid/renderscript/ProgramStore$BlendSrcFunc;
-Landroid/renderscript/ProgramStore;->mColorMaskA:Z
-Landroid/renderscript/ProgramStore;->mColorMaskB:Z
-Landroid/renderscript/ProgramStore;->mColorMaskG:Z
-Landroid/renderscript/ProgramStore;->mColorMaskR:Z
-Landroid/renderscript/ProgramStore;->mDepthFunc:Landroid/renderscript/ProgramStore$DepthFunc;
-Landroid/renderscript/ProgramStore;->mDepthMask:Z
-Landroid/renderscript/ProgramStore;->mDither:Z
-Landroid/renderscript/ProgramVertex$Builder;
-Landroid/renderscript/ProgramVertex;
-Landroid/renderscript/ProgramVertex;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/ProgramVertex;->getInput(I)Landroid/renderscript/Element;
-Landroid/renderscript/ProgramVertex;->getInputCount()I
-Landroid/renderscript/ProgramVertexFixedFunction$Builder;
-Landroid/renderscript/ProgramVertexFixedFunction$Builder;->buildShaderString()V
-Landroid/renderscript/ProgramVertexFixedFunction$Builder;->getConstantInputType(Landroid/renderscript/RenderScript;)Landroid/renderscript/Type;
-Landroid/renderscript/ProgramVertexFixedFunction$Builder;->mRS:Landroid/renderscript/RenderScript;
-Landroid/renderscript/ProgramVertexFixedFunction$Builder;->mShader:Ljava/lang/String;
-Landroid/renderscript/ProgramVertexFixedFunction$Builder;->mTextureMatrixEnable:Z
-Landroid/renderscript/ProgramVertexFixedFunction$Builder;->setTextureMatrixEnable(Z)Landroid/renderscript/ProgramVertexFixedFunction$Builder;
-Landroid/renderscript/ProgramVertexFixedFunction$Constants;
-Landroid/renderscript/ProgramVertexFixedFunction$Constants;->addToBuffer(ILandroid/renderscript/Matrix4f;)V
-Landroid/renderscript/ProgramVertexFixedFunction$Constants;->destroy()V
-Landroid/renderscript/ProgramVertexFixedFunction$Constants;->getAllocation()Landroid/renderscript/Allocation;
-Landroid/renderscript/ProgramVertexFixedFunction$Constants;->mAlloc:Landroid/renderscript/Allocation;
-Landroid/renderscript/ProgramVertexFixedFunction$Constants;->mIOBuffer:Landroid/renderscript/FieldPacker;
-Landroid/renderscript/ProgramVertexFixedFunction$Constants;->mModel:Landroid/renderscript/Matrix4f;
-Landroid/renderscript/ProgramVertexFixedFunction$Constants;->MODELVIEW_OFFSET:I
-Landroid/renderscript/ProgramVertexFixedFunction$Constants;->mProjection:Landroid/renderscript/Matrix4f;
-Landroid/renderscript/ProgramVertexFixedFunction$Constants;->mTexture:Landroid/renderscript/Matrix4f;
-Landroid/renderscript/ProgramVertexFixedFunction$Constants;->PROJECTION_OFFSET:I
-Landroid/renderscript/ProgramVertexFixedFunction$Constants;->setModelview(Landroid/renderscript/Matrix4f;)V
-Landroid/renderscript/ProgramVertexFixedFunction$Constants;->setTexture(Landroid/renderscript/Matrix4f;)V
-Landroid/renderscript/ProgramVertexFixedFunction$Constants;->TEXTURE_OFFSET:I
-Landroid/renderscript/ProgramVertexFixedFunction$InternalBuilder;
-Landroid/renderscript/ProgramVertexFixedFunction$InternalBuilder;-><init>(Landroid/renderscript/RenderScript;)V
-Landroid/renderscript/ProgramVertexFixedFunction$InternalBuilder;->addInput(Landroid/renderscript/Element;)Landroid/renderscript/ProgramVertexFixedFunction$InternalBuilder;
-Landroid/renderscript/ProgramVertexFixedFunction$InternalBuilder;->create()Landroid/renderscript/ProgramVertexFixedFunction;
-Landroid/renderscript/ProgramVertexFixedFunction;
-Landroid/renderscript/ProgramVertexFixedFunction;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/RenderScript$ContextType;-><init>(I)V
-Landroid/renderscript/RenderScript$ContextType;->mID:I
-Landroid/renderscript/RenderScript$MessageThread;
-Landroid/renderscript/RenderScript$MessageThread;-><init>(Landroid/renderscript/RenderScript;)V
-Landroid/renderscript/RenderScript$MessageThread;->mAuxData:[I
-Landroid/renderscript/RenderScript$MessageThread;->mRS:Landroid/renderscript/RenderScript;
-Landroid/renderscript/RenderScript$MessageThread;->mRun:Z
-Landroid/renderscript/RenderScript$MessageThread;->RS_ERROR_FATAL_DEBUG:I
-Landroid/renderscript/RenderScript$MessageThread;->RS_ERROR_FATAL_UNKNOWN:I
-Landroid/renderscript/RenderScript$MessageThread;->RS_MESSAGE_TO_CLIENT_ERROR:I
-Landroid/renderscript/RenderScript$MessageThread;->RS_MESSAGE_TO_CLIENT_EXCEPTION:I
-Landroid/renderscript/RenderScript$MessageThread;->RS_MESSAGE_TO_CLIENT_NEW_BUFFER:I
-Landroid/renderscript/RenderScript$MessageThread;->RS_MESSAGE_TO_CLIENT_NONE:I
-Landroid/renderscript/RenderScript$MessageThread;->RS_MESSAGE_TO_CLIENT_RESIZE:I
-Landroid/renderscript/RenderScript$MessageThread;->RS_MESSAGE_TO_CLIENT_USER:I
-Landroid/renderscript/RenderScript$Priority;-><init>(I)V
-Landroid/renderscript/RenderScript$Priority;->mID:I
-Landroid/renderscript/RenderScript;-><init>(Landroid/content/Context;)V
-Landroid/renderscript/RenderScript;->CREATE_FLAG_WAIT_FOR_ATTACH:I
-Landroid/renderscript/RenderScript;->DEBUG:Z
-Landroid/renderscript/RenderScript;->getCachePath()Ljava/lang/String;
-Landroid/renderscript/RenderScript;->helpDestroy()V
-Landroid/renderscript/RenderScript;->internalCreate(Landroid/content/Context;ILandroid/renderscript/RenderScript$ContextType;I)Landroid/renderscript/RenderScript;
-Landroid/renderscript/RenderScript;->isAlive()Z
-Landroid/renderscript/RenderScript;->LOG_ENABLED:Z
-Landroid/renderscript/RenderScript;->LOG_TAG:Ljava/lang/String;
-Landroid/renderscript/RenderScript;->mApplicationContext:Landroid/content/Context;
-Landroid/renderscript/RenderScript;->mCachePath:Ljava/lang/String;
-Landroid/renderscript/RenderScript;->mContext:J
-Landroid/renderscript/RenderScript;->mContextFlags:I
-Landroid/renderscript/RenderScript;->mContextSdkVersion:I
-Landroid/renderscript/RenderScript;->mContextType:Landroid/renderscript/RenderScript$ContextType;
-Landroid/renderscript/RenderScript;->mDestroyed:Z
-Landroid/renderscript/RenderScript;->mElement_ALLOCATION:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_A_8:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_BOOLEAN:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_CHAR_2:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_CHAR_3:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_CHAR_4:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_DOUBLE_2:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_DOUBLE_3:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_DOUBLE_4:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_ELEMENT:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_F16:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_F32:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_F64:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_FLOAT_2:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_FLOAT_3:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_FLOAT_4:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_FONT:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_HALF_2:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_HALF_3:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_HALF_4:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_I16:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_I32:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_I64:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_I8:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_INT_2:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_INT_3:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_INT_4:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_LONG_2:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_LONG_3:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_LONG_4:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_MATRIX_2X2:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_MATRIX_3X3:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_MATRIX_4X4:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_MESH:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_PROGRAM_FRAGMENT:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_PROGRAM_RASTER:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_PROGRAM_STORE:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_PROGRAM_VERTEX:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_RGBA_4444:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_RGBA_5551:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_RGBA_8888:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_RGB_565:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_RGB_888:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_SAMPLER:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_SCRIPT:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_SHORT_2:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_SHORT_3:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_SHORT_4:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_TYPE:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_U16:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_U32:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_U64:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_U8:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_UCHAR_2:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_UCHAR_3:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_UCHAR_4:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_UINT_2:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_UINT_3:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_UINT_4:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_ULONG_2:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_ULONG_3:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_ULONG_4:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_USHORT_2:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_USHORT_3:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_USHORT_4:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mElement_YUV:Landroid/renderscript/Element;
-Landroid/renderscript/RenderScript;->mErrorCallback:Landroid/renderscript/RenderScript$RSErrorHandler;
-Landroid/renderscript/RenderScript;->mIsProcessContext:Z
-Landroid/renderscript/RenderScript;->mMessageThread:Landroid/renderscript/RenderScript$MessageThread;
-Landroid/renderscript/RenderScript;->mProcessContextList:Ljava/util/ArrayList;
-Landroid/renderscript/RenderScript;->mProgramRaster_CULL_BACK:Landroid/renderscript/ProgramRaster;
-Landroid/renderscript/RenderScript;->mProgramRaster_CULL_FRONT:Landroid/renderscript/ProgramRaster;
-Landroid/renderscript/RenderScript;->mProgramRaster_CULL_NONE:Landroid/renderscript/ProgramRaster;
-Landroid/renderscript/RenderScript;->mProgramStore_BLEND_ALPHA_DEPTH_NO_DEPTH:Landroid/renderscript/ProgramStore;
-Landroid/renderscript/RenderScript;->mProgramStore_BLEND_ALPHA_DEPTH_TEST:Landroid/renderscript/ProgramStore;
-Landroid/renderscript/RenderScript;->mProgramStore_BLEND_NONE_DEPTH_NO_DEPTH:Landroid/renderscript/ProgramStore;
-Landroid/renderscript/RenderScript;->mProgramStore_BLEND_NONE_DEPTH_TEST:Landroid/renderscript/ProgramStore;
-Landroid/renderscript/RenderScript;->mRWLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
-Landroid/renderscript/RenderScript;->mSampler_CLAMP_LINEAR:Landroid/renderscript/Sampler;
-Landroid/renderscript/RenderScript;->mSampler_CLAMP_LINEAR_MIP_LINEAR:Landroid/renderscript/Sampler;
-Landroid/renderscript/RenderScript;->mSampler_CLAMP_NEAREST:Landroid/renderscript/Sampler;
-Landroid/renderscript/RenderScript;->mSampler_MIRRORED_REPEAT_LINEAR:Landroid/renderscript/Sampler;
-Landroid/renderscript/RenderScript;->mSampler_MIRRORED_REPEAT_LINEAR_MIP_LINEAR:Landroid/renderscript/Sampler;
-Landroid/renderscript/RenderScript;->mSampler_MIRRORED_REPEAT_NEAREST:Landroid/renderscript/Sampler;
-Landroid/renderscript/RenderScript;->mSampler_WRAP_LINEAR:Landroid/renderscript/Sampler;
-Landroid/renderscript/RenderScript;->mSampler_WRAP_LINEAR_MIP_LINEAR:Landroid/renderscript/Sampler;
-Landroid/renderscript/RenderScript;->mSampler_WRAP_NEAREST:Landroid/renderscript/Sampler;
-Landroid/renderscript/RenderScript;->nAllocationAdapterCreate(JJ)J
-Landroid/renderscript/RenderScript;->nAllocationAdapterOffset(JIIIIIIIII)V
-Landroid/renderscript/RenderScript;->nAllocationCopyFromBitmap(JLandroid/graphics/Bitmap;)V
-Landroid/renderscript/RenderScript;->nAllocationCopyToBitmap(JLandroid/graphics/Bitmap;)V
-Landroid/renderscript/RenderScript;->nAllocationCreateBitmapBackedAllocation(JILandroid/graphics/Bitmap;I)J
-Landroid/renderscript/RenderScript;->nAllocationCreateBitmapRef(JLandroid/graphics/Bitmap;)J
-Landroid/renderscript/RenderScript;->nAllocationCreateFromAssetStream(III)J
-Landroid/renderscript/RenderScript;->nAllocationCreateFromBitmap(JILandroid/graphics/Bitmap;I)J
-Landroid/renderscript/RenderScript;->nAllocationCreateTyped(JIIJ)J
-Landroid/renderscript/RenderScript;->nAllocationCubeCreateFromBitmap(JILandroid/graphics/Bitmap;I)J
-Landroid/renderscript/RenderScript;->nAllocationData1D(JIIILjava/lang/Object;ILandroid/renderscript/Element$DataType;IZ)V
-Landroid/renderscript/RenderScript;->nAllocationData2D(JIIIIIIJIIII)V
-Landroid/renderscript/RenderScript;->nAllocationData2D(JIIIIIILjava/lang/Object;ILandroid/renderscript/Element$DataType;IZ)V
-Landroid/renderscript/RenderScript;->nAllocationData2D(JIIIILandroid/graphics/Bitmap;)V
-Landroid/renderscript/RenderScript;->nAllocationData3D(JIIIIIIIJIIII)V
-Landroid/renderscript/RenderScript;->nAllocationData3D(JIIIIIIILjava/lang/Object;ILandroid/renderscript/Element$DataType;IZ)V
-Landroid/renderscript/RenderScript;->nAllocationElementData(JIIIII[BI)V
-Landroid/renderscript/RenderScript;->nAllocationElementRead(JIIIII[BI)V
-Landroid/renderscript/RenderScript;->nAllocationGenerateMipmaps(J)V
-Landroid/renderscript/RenderScript;->nAllocationGetByteBuffer(J[JIII)Ljava/nio/ByteBuffer;
-Landroid/renderscript/RenderScript;->nAllocationGetSurface(J)Landroid/view/Surface;
-Landroid/renderscript/RenderScript;->nAllocationGetType(J)J
-Landroid/renderscript/RenderScript;->nAllocationIoReceive(J)J
-Landroid/renderscript/RenderScript;->nAllocationIoSend(J)V
-Landroid/renderscript/RenderScript;->nAllocationRead(JLjava/lang/Object;Landroid/renderscript/Element$DataType;IZ)V
-Landroid/renderscript/RenderScript;->nAllocationRead1D(JIIILjava/lang/Object;ILandroid/renderscript/Element$DataType;IZ)V
-Landroid/renderscript/RenderScript;->nAllocationRead2D(JIIIIIILjava/lang/Object;ILandroid/renderscript/Element$DataType;IZ)V
-Landroid/renderscript/RenderScript;->nAllocationRead3D(JIIIIIIILjava/lang/Object;ILandroid/renderscript/Element$DataType;IZ)V
-Landroid/renderscript/RenderScript;->nAllocationResize1D(JI)V
-Landroid/renderscript/RenderScript;->nAllocationSetSurface(JLandroid/view/Surface;)V
-Landroid/renderscript/RenderScript;->nAllocationSetupBufferQueue(JI)V
-Landroid/renderscript/RenderScript;->nAllocationShareBufferQueue(JJ)V
-Landroid/renderscript/RenderScript;->nAllocationSyncAll(JI)V
-Landroid/renderscript/RenderScript;->nAssignName(J[B)V
-Landroid/renderscript/RenderScript;->nClosureCreate(JJ[J[J[I[J[J)J
-Landroid/renderscript/RenderScript;->nClosureSetArg(JIJI)V
-Landroid/renderscript/RenderScript;->nClosureSetGlobal(JJJI)V
-Landroid/renderscript/RenderScript;->nContextBindProgramFragment(J)V
-Landroid/renderscript/RenderScript;->nContextBindProgramRaster(J)V
-Landroid/renderscript/RenderScript;->nContextBindProgramStore(J)V
-Landroid/renderscript/RenderScript;->nContextBindProgramVertex(J)V
-Landroid/renderscript/RenderScript;->nContextBindRootScript(J)V
-Landroid/renderscript/RenderScript;->nContextBindSampler(II)V
-Landroid/renderscript/RenderScript;->nContextCreate(JIII)J
-Landroid/renderscript/RenderScript;->nContextCreateGL(JIIIIIIIIIIIIFI)J
-Landroid/renderscript/RenderScript;->nContextDeinitToClient(J)V
-Landroid/renderscript/RenderScript;->nContextDestroy()V
-Landroid/renderscript/RenderScript;->nContextDump(I)V
-Landroid/renderscript/RenderScript;->nContextFinish()V
-Landroid/renderscript/RenderScript;->nContextGetErrorMessage(J)Ljava/lang/String;
-Landroid/renderscript/RenderScript;->nContextGetUserMessage(J[I)I
-Landroid/renderscript/RenderScript;->nContextInitToClient(J)V
-Landroid/renderscript/RenderScript;->nContextPause()V
-Landroid/renderscript/RenderScript;->nContextPeekMessage(J[I)I
-Landroid/renderscript/RenderScript;->nContextResume()V
-Landroid/renderscript/RenderScript;->nContextSendMessage(I[I)V
-Landroid/renderscript/RenderScript;->nContextSetCacheDir(Ljava/lang/String;)V
-Landroid/renderscript/RenderScript;->nContextSetPriority(I)V
-Landroid/renderscript/RenderScript;->nContextSetSurface(IILandroid/view/Surface;)V
-Landroid/renderscript/RenderScript;->nContextSetSurfaceTexture(IILandroid/graphics/SurfaceTexture;)V
-Landroid/renderscript/RenderScript;->nDeviceCreate()J
-Landroid/renderscript/RenderScript;->nDeviceDestroy(J)V
-Landroid/renderscript/RenderScript;->nDeviceSetConfig(JII)V
-Landroid/renderscript/RenderScript;->nElementCreate(JIZI)J
-Landroid/renderscript/RenderScript;->nElementCreate2([J[Ljava/lang/String;[I)J
-Landroid/renderscript/RenderScript;->nElementGetNativeData(J[I)V
-Landroid/renderscript/RenderScript;->nElementGetSubElements(J[J[Ljava/lang/String;[I)V
-Landroid/renderscript/RenderScript;->nFileA3DCreateFromAsset(Landroid/content/res/AssetManager;Ljava/lang/String;)J
-Landroid/renderscript/RenderScript;->nFileA3DCreateFromAssetStream(J)J
-Landroid/renderscript/RenderScript;->nFileA3DCreateFromFile(Ljava/lang/String;)J
-Landroid/renderscript/RenderScript;->nFileA3DGetEntryByIndex(JI)J
-Landroid/renderscript/RenderScript;->nFileA3DGetIndexEntries(JI[I[Ljava/lang/String;)V
-Landroid/renderscript/RenderScript;->nFileA3DGetNumIndexEntries(J)I
-Landroid/renderscript/RenderScript;->nFontCreateFromAsset(Landroid/content/res/AssetManager;Ljava/lang/String;FI)J
-Landroid/renderscript/RenderScript;->nFontCreateFromAssetStream(Ljava/lang/String;FIJ)J
-Landroid/renderscript/RenderScript;->nFontCreateFromFile(Ljava/lang/String;FI)J
-Landroid/renderscript/RenderScript;->nGetName(J)Ljava/lang/String;
-Landroid/renderscript/RenderScript;->nInvokeClosureCreate(J[B[J[J[I)J
-Landroid/renderscript/RenderScript;->nMeshCreate([J[J[I)J
-Landroid/renderscript/RenderScript;->nMeshGetIndexCount(J)I
-Landroid/renderscript/RenderScript;->nMeshGetIndices(J[J[II)V
-Landroid/renderscript/RenderScript;->nMeshGetVertexBufferCount(J)I
-Landroid/renderscript/RenderScript;->nMeshGetVertices(J[JI)V
-Landroid/renderscript/RenderScript;->nObjDestroy(J)V
-Landroid/renderscript/RenderScript;->nProgramBindConstants(JIJ)V
-Landroid/renderscript/RenderScript;->nProgramBindSampler(JIJ)V
-Landroid/renderscript/RenderScript;->nProgramBindTexture(JIJ)V
-Landroid/renderscript/RenderScript;->nProgramFragmentCreate(Ljava/lang/String;[Ljava/lang/String;[J)J
-Landroid/renderscript/RenderScript;->nProgramRasterCreate(ZI)J
-Landroid/renderscript/RenderScript;->nProgramStoreCreate(ZZZZZZIII)J
-Landroid/renderscript/RenderScript;->nProgramVertexCreate(Ljava/lang/String;[Ljava/lang/String;[J)J
-Landroid/renderscript/RenderScript;->nSamplerCreate(IIIIIF)J
-Landroid/renderscript/RenderScript;->nScriptBindAllocation(JJI)V
-Landroid/renderscript/RenderScript;->nScriptFieldIDCreate(JI)J
-Landroid/renderscript/RenderScript;->nScriptForEach(JI[JJ[B[I)V
-Landroid/renderscript/RenderScript;->nScriptGetVarD(JI)D
-Landroid/renderscript/RenderScript;->nScriptGetVarF(JI)F
-Landroid/renderscript/RenderScript;->nScriptGetVarI(JI)I
-Landroid/renderscript/RenderScript;->nScriptGetVarJ(JI)J
-Landroid/renderscript/RenderScript;->nScriptGetVarV(JI[B)V
-Landroid/renderscript/RenderScript;->nScriptGroup2Create(Ljava/lang/String;Ljava/lang/String;[J)J
-Landroid/renderscript/RenderScript;->nScriptGroup2Execute(J)V
-Landroid/renderscript/RenderScript;->nScriptGroupCreate([J[J[J[J[J)J
-Landroid/renderscript/RenderScript;->nScriptGroupExecute(J)V
-Landroid/renderscript/RenderScript;->nScriptGroupSetInput(JJJ)V
-Landroid/renderscript/RenderScript;->nScriptGroupSetOutput(JJJ)V
-Landroid/renderscript/RenderScript;->nScriptIntrinsicBLAS_BNNM(JIIIJIJIJII)V
-Landroid/renderscript/RenderScript;->nScriptIntrinsicBLAS_Complex(JIIIIIIIIIFFJJFFJIIII)V
-Landroid/renderscript/RenderScript;->nScriptIntrinsicBLAS_Double(JIIIIIIIIIDJJDJIIII)V
-Landroid/renderscript/RenderScript;->nScriptIntrinsicBLAS_Single(JIIIIIIIIIFJJFJIIII)V
-Landroid/renderscript/RenderScript;->nScriptIntrinsicBLAS_Z(JIIIIIIIIIDDJJDDJIIII)V
-Landroid/renderscript/RenderScript;->nScriptIntrinsicCreate(IJ)J
-Landroid/renderscript/RenderScript;->nScriptInvoke(JI)V
-Landroid/renderscript/RenderScript;->nScriptInvokeIDCreate(JI)J
-Landroid/renderscript/RenderScript;->nScriptInvokeV(JI[B)V
-Landroid/renderscript/RenderScript;->nScriptKernelIDCreate(JII)J
-Landroid/renderscript/RenderScript;->nScriptReduce(JI[JJ[I)V
-Landroid/renderscript/RenderScript;->nScriptSetTimeZone(J[B)V
-Landroid/renderscript/RenderScript;->nScriptSetVarD(JID)V
-Landroid/renderscript/RenderScript;->nScriptSetVarF(JIF)V
-Landroid/renderscript/RenderScript;->nScriptSetVarI(JII)V
-Landroid/renderscript/RenderScript;->nScriptSetVarJ(JIJ)V
-Landroid/renderscript/RenderScript;->nScriptSetVarObj(JIJ)V
-Landroid/renderscript/RenderScript;->nScriptSetVarV(JI[B)V
-Landroid/renderscript/RenderScript;->nScriptSetVarVE(JI[BJ[I)V
-Landroid/renderscript/RenderScript;->nTypeCreate(JIIIZZI)J
-Landroid/renderscript/RenderScript;->nTypeGetNativeData(J[J)V
-Landroid/renderscript/RenderScript;->registerNativeAllocation:Ljava/lang/reflect/Method;
-Landroid/renderscript/RenderScript;->registerNativeFree:Ljava/lang/reflect/Method;
-Landroid/renderscript/RenderScript;->rsnAllocationAdapterCreate(JJJ)J
-Landroid/renderscript/RenderScript;->rsnAllocationAdapterOffset(JJIIIIIIIII)V
-Landroid/renderscript/RenderScript;->rsnAllocationCopyFromBitmap(JJLandroid/graphics/Bitmap;)V
-Landroid/renderscript/RenderScript;->rsnAllocationCopyToBitmap(JJLandroid/graphics/Bitmap;)V
-Landroid/renderscript/RenderScript;->rsnAllocationCreateBitmapBackedAllocation(JJILandroid/graphics/Bitmap;I)J
-Landroid/renderscript/RenderScript;->rsnAllocationCreateBitmapRef(JJLandroid/graphics/Bitmap;)J
-Landroid/renderscript/RenderScript;->rsnAllocationCreateFromAssetStream(JIII)J
-Landroid/renderscript/RenderScript;->rsnAllocationCreateFromBitmap(JJILandroid/graphics/Bitmap;I)J
-Landroid/renderscript/RenderScript;->rsnAllocationCreateTyped(JJIIJ)J
-Landroid/renderscript/RenderScript;->rsnAllocationCubeCreateFromBitmap(JJILandroid/graphics/Bitmap;I)J
-Landroid/renderscript/RenderScript;->rsnAllocationData1D(JJIIILjava/lang/Object;IIIZ)V
-Landroid/renderscript/RenderScript;->rsnAllocationData2D(JJIIIIIIJIIII)V
-Landroid/renderscript/RenderScript;->rsnAllocationData2D(JJIIIIIILjava/lang/Object;IIIZ)V
-Landroid/renderscript/RenderScript;->rsnAllocationData2D(JJIIIILandroid/graphics/Bitmap;)V
-Landroid/renderscript/RenderScript;->rsnAllocationData3D(JJIIIIIIIJIIII)V
-Landroid/renderscript/RenderScript;->rsnAllocationData3D(JJIIIIIIILjava/lang/Object;IIIZ)V
-Landroid/renderscript/RenderScript;->rsnAllocationElementData(JJIIIII[BI)V
-Landroid/renderscript/RenderScript;->rsnAllocationElementRead(JJIIIII[BI)V
-Landroid/renderscript/RenderScript;->rsnAllocationGenerateMipmaps(JJ)V
-Landroid/renderscript/RenderScript;->rsnAllocationGetByteBuffer(JJ[JIII)Ljava/nio/ByteBuffer;
-Landroid/renderscript/RenderScript;->rsnAllocationGetSurface(JJ)Landroid/view/Surface;
-Landroid/renderscript/RenderScript;->rsnAllocationGetType(JJ)J
-Landroid/renderscript/RenderScript;->rsnAllocationIoReceive(JJ)J
-Landroid/renderscript/RenderScript;->rsnAllocationIoSend(JJ)V
-Landroid/renderscript/RenderScript;->rsnAllocationRead(JJLjava/lang/Object;IIZ)V
-Landroid/renderscript/RenderScript;->rsnAllocationRead1D(JJIIILjava/lang/Object;IIIZ)V
-Landroid/renderscript/RenderScript;->rsnAllocationRead2D(JJIIIIIILjava/lang/Object;IIIZ)V
-Landroid/renderscript/RenderScript;->rsnAllocationRead3D(JJIIIIIIILjava/lang/Object;IIIZ)V
-Landroid/renderscript/RenderScript;->rsnAllocationResize1D(JJI)V
-Landroid/renderscript/RenderScript;->rsnAllocationSetSurface(JJLandroid/view/Surface;)V
-Landroid/renderscript/RenderScript;->rsnAllocationSetupBufferQueue(JJI)V
-Landroid/renderscript/RenderScript;->rsnAllocationShareBufferQueue(JJJ)V
-Landroid/renderscript/RenderScript;->rsnAllocationSyncAll(JJI)V
-Landroid/renderscript/RenderScript;->rsnAssignName(JJ[B)V
-Landroid/renderscript/RenderScript;->rsnClosureCreate(JJJ[J[J[I[J[J)J
-Landroid/renderscript/RenderScript;->rsnClosureSetArg(JJIJI)V
-Landroid/renderscript/RenderScript;->rsnClosureSetGlobal(JJJJI)V
-Landroid/renderscript/RenderScript;->rsnContextBindProgramFragment(JJ)V
-Landroid/renderscript/RenderScript;->rsnContextBindProgramRaster(JJ)V
-Landroid/renderscript/RenderScript;->rsnContextBindProgramStore(JJ)V
-Landroid/renderscript/RenderScript;->rsnContextBindProgramVertex(JJ)V
-Landroid/renderscript/RenderScript;->rsnContextBindRootScript(JJ)V
-Landroid/renderscript/RenderScript;->rsnContextBindSampler(JII)V
-Landroid/renderscript/RenderScript;->rsnContextCreate(JIII)J
-Landroid/renderscript/RenderScript;->rsnContextCreateGL(JIIIIIIIIIIIIFI)J
-Landroid/renderscript/RenderScript;->rsnContextDestroy(J)V
-Landroid/renderscript/RenderScript;->rsnContextDump(JI)V
-Landroid/renderscript/RenderScript;->rsnContextFinish(J)V
-Landroid/renderscript/RenderScript;->rsnContextPause(J)V
-Landroid/renderscript/RenderScript;->rsnContextResume(J)V
-Landroid/renderscript/RenderScript;->rsnContextSendMessage(JI[I)V
-Landroid/renderscript/RenderScript;->rsnContextSetCacheDir(JLjava/lang/String;)V
-Landroid/renderscript/RenderScript;->rsnContextSetPriority(JI)V
-Landroid/renderscript/RenderScript;->rsnContextSetSurface(JIILandroid/view/Surface;)V
-Landroid/renderscript/RenderScript;->rsnContextSetSurfaceTexture(JIILandroid/graphics/SurfaceTexture;)V
-Landroid/renderscript/RenderScript;->rsnElementCreate(JJIZI)J
-Landroid/renderscript/RenderScript;->rsnElementCreate2(J[J[Ljava/lang/String;[I)J
-Landroid/renderscript/RenderScript;->rsnElementGetNativeData(JJ[I)V
-Landroid/renderscript/RenderScript;->rsnElementGetSubElements(JJ[J[Ljava/lang/String;[I)V
-Landroid/renderscript/RenderScript;->rsnFileA3DCreateFromAsset(JLandroid/content/res/AssetManager;Ljava/lang/String;)J
-Landroid/renderscript/RenderScript;->rsnFileA3DCreateFromAssetStream(JJ)J
-Landroid/renderscript/RenderScript;->rsnFileA3DCreateFromFile(JLjava/lang/String;)J
-Landroid/renderscript/RenderScript;->rsnFileA3DGetEntryByIndex(JJI)J
-Landroid/renderscript/RenderScript;->rsnFileA3DGetIndexEntries(JJI[I[Ljava/lang/String;)V
-Landroid/renderscript/RenderScript;->rsnFileA3DGetNumIndexEntries(JJ)I
-Landroid/renderscript/RenderScript;->rsnFontCreateFromAsset(JLandroid/content/res/AssetManager;Ljava/lang/String;FI)J
-Landroid/renderscript/RenderScript;->rsnFontCreateFromAssetStream(JLjava/lang/String;FIJ)J
-Landroid/renderscript/RenderScript;->rsnFontCreateFromFile(JLjava/lang/String;FI)J
-Landroid/renderscript/RenderScript;->rsnGetName(JJ)Ljava/lang/String;
-Landroid/renderscript/RenderScript;->rsnInvokeClosureCreate(JJ[B[J[J[I)J
-Landroid/renderscript/RenderScript;->rsnMeshCreate(J[J[J[I)J
-Landroid/renderscript/RenderScript;->rsnMeshGetIndexCount(JJ)I
-Landroid/renderscript/RenderScript;->rsnMeshGetIndices(JJ[J[II)V
-Landroid/renderscript/RenderScript;->rsnMeshGetVertexBufferCount(JJ)I
-Landroid/renderscript/RenderScript;->rsnMeshGetVertices(JJ[JI)V
-Landroid/renderscript/RenderScript;->rsnObjDestroy(JJ)V
-Landroid/renderscript/RenderScript;->rsnProgramBindConstants(JJIJ)V
-Landroid/renderscript/RenderScript;->rsnProgramBindSampler(JJIJ)V
-Landroid/renderscript/RenderScript;->rsnProgramBindTexture(JJIJ)V
-Landroid/renderscript/RenderScript;->rsnProgramFragmentCreate(JLjava/lang/String;[Ljava/lang/String;[J)J
-Landroid/renderscript/RenderScript;->rsnProgramRasterCreate(JZI)J
-Landroid/renderscript/RenderScript;->rsnProgramStoreCreate(JZZZZZZIII)J
-Landroid/renderscript/RenderScript;->rsnProgramVertexCreate(JLjava/lang/String;[Ljava/lang/String;[J)J
-Landroid/renderscript/RenderScript;->rsnSamplerCreate(JIIIIIF)J
-Landroid/renderscript/RenderScript;->rsnScriptBindAllocation(JJJI)V
-Landroid/renderscript/RenderScript;->rsnScriptCCreate(JLjava/lang/String;Ljava/lang/String;[BI)J
-Landroid/renderscript/RenderScript;->rsnScriptFieldIDCreate(JJI)J
-Landroid/renderscript/RenderScript;->rsnScriptForEach(JJI[JJ[B[I)V
-Landroid/renderscript/RenderScript;->rsnScriptGetVarD(JJI)D
-Landroid/renderscript/RenderScript;->rsnScriptGetVarF(JJI)F
-Landroid/renderscript/RenderScript;->rsnScriptGetVarI(JJI)I
-Landroid/renderscript/RenderScript;->rsnScriptGetVarJ(JJI)J
-Landroid/renderscript/RenderScript;->rsnScriptGetVarV(JJI[B)V
-Landroid/renderscript/RenderScript;->rsnScriptGroup2Create(JLjava/lang/String;Ljava/lang/String;[J)J
-Landroid/renderscript/RenderScript;->rsnScriptGroup2Execute(JJ)V
-Landroid/renderscript/RenderScript;->rsnScriptGroupCreate(J[J[J[J[J[J)J
-Landroid/renderscript/RenderScript;->rsnScriptGroupExecute(JJ)V
-Landroid/renderscript/RenderScript;->rsnScriptGroupSetInput(JJJJ)V
-Landroid/renderscript/RenderScript;->rsnScriptGroupSetOutput(JJJJ)V
-Landroid/renderscript/RenderScript;->rsnScriptIntrinsicBLAS_BNNM(JJIIIJIJIJII)V
-Landroid/renderscript/RenderScript;->rsnScriptIntrinsicBLAS_Complex(JJIIIIIIIIIFFJJFFJIIII)V
-Landroid/renderscript/RenderScript;->rsnScriptIntrinsicBLAS_Double(JJIIIIIIIIIDJJDJIIII)V
-Landroid/renderscript/RenderScript;->rsnScriptIntrinsicBLAS_Single(JJIIIIIIIIIFJJFJIIII)V
-Landroid/renderscript/RenderScript;->rsnScriptIntrinsicBLAS_Z(JJIIIIIIIIIDDJJDDJIIII)V
-Landroid/renderscript/RenderScript;->rsnScriptIntrinsicCreate(JIJ)J
-Landroid/renderscript/RenderScript;->rsnScriptInvoke(JJI)V
-Landroid/renderscript/RenderScript;->rsnScriptInvokeIDCreate(JJI)J
-Landroid/renderscript/RenderScript;->rsnScriptInvokeV(JJI[B)V
-Landroid/renderscript/RenderScript;->rsnScriptKernelIDCreate(JJII)J
-Landroid/renderscript/RenderScript;->rsnScriptReduce(JJI[JJ[I)V
-Landroid/renderscript/RenderScript;->rsnScriptSetTimeZone(JJ[B)V
-Landroid/renderscript/RenderScript;->rsnScriptSetVarD(JJID)V
-Landroid/renderscript/RenderScript;->rsnScriptSetVarF(JJIF)V
-Landroid/renderscript/RenderScript;->rsnScriptSetVarI(JJII)V
-Landroid/renderscript/RenderScript;->rsnScriptSetVarJ(JJIJ)V
-Landroid/renderscript/RenderScript;->rsnScriptSetVarObj(JJIJ)V
-Landroid/renderscript/RenderScript;->rsnScriptSetVarV(JJI[B)V
-Landroid/renderscript/RenderScript;->rsnScriptSetVarVE(JJI[BJ[I)V
-Landroid/renderscript/RenderScript;->rsnSystemGetPointerSize()I
-Landroid/renderscript/RenderScript;->rsnTypeCreate(JJIIIZZI)J
-Landroid/renderscript/RenderScript;->rsnTypeGetNativeData(JJ[J)V
-Landroid/renderscript/RenderScript;->safeID(Landroid/renderscript/BaseObj;)J
-Landroid/renderscript/RenderScript;->sInitialized:Z
-Landroid/renderscript/RenderScript;->sMinorVersion:J
-Landroid/renderscript/RenderScript;->sRuntime:Ljava/lang/Object;
-Landroid/renderscript/RenderScript;->TRACE_TAG:J
-Landroid/renderscript/RenderScript;->validateObject(Landroid/renderscript/BaseObj;)V
-Landroid/renderscript/RenderScript;->_nInit()V
-Landroid/renderscript/RenderScriptCacheDir;
-Landroid/renderscript/RenderScriptCacheDir;-><init>()V
-Landroid/renderscript/RenderScriptGL$SurfaceConfig;
-Landroid/renderscript/RenderScriptGL$SurfaceConfig;-><init>(Landroid/renderscript/RenderScriptGL$SurfaceConfig;)V
-Landroid/renderscript/RenderScriptGL$SurfaceConfig;->mAlphaMin:I
-Landroid/renderscript/RenderScriptGL$SurfaceConfig;->mAlphaPref:I
-Landroid/renderscript/RenderScriptGL$SurfaceConfig;->mColorMin:I
-Landroid/renderscript/RenderScriptGL$SurfaceConfig;->mColorPref:I
-Landroid/renderscript/RenderScriptGL$SurfaceConfig;->mDepthMin:I
-Landroid/renderscript/RenderScriptGL$SurfaceConfig;->mDepthPref:I
-Landroid/renderscript/RenderScriptGL$SurfaceConfig;->mSamplesMin:I
-Landroid/renderscript/RenderScriptGL$SurfaceConfig;->mSamplesPref:I
-Landroid/renderscript/RenderScriptGL$SurfaceConfig;->mSamplesQ:F
-Landroid/renderscript/RenderScriptGL$SurfaceConfig;->mStencilMin:I
-Landroid/renderscript/RenderScriptGL$SurfaceConfig;->mStencilPref:I
-Landroid/renderscript/RenderScriptGL$SurfaceConfig;->setAlpha(II)V
-Landroid/renderscript/RenderScriptGL$SurfaceConfig;->setColor(II)V
-Landroid/renderscript/RenderScriptGL$SurfaceConfig;->setSamples(IIF)V
-Landroid/renderscript/RenderScriptGL$SurfaceConfig;->validateRange(IIII)V
-Landroid/renderscript/RenderScriptGL;
-Landroid/renderscript/RenderScriptGL;->bindProgramFragment(Landroid/renderscript/ProgramFragment;)V
-Landroid/renderscript/RenderScriptGL;->getHeight()I
-Landroid/renderscript/RenderScriptGL;->getWidth()I
-Landroid/renderscript/RenderScriptGL;->mHeight:I
-Landroid/renderscript/RenderScriptGL;->mSurfaceConfig:Landroid/renderscript/RenderScriptGL$SurfaceConfig;
-Landroid/renderscript/RenderScriptGL;->mWidth:I
-Landroid/renderscript/RenderScriptGL;->pause()V
-Landroid/renderscript/RenderScriptGL;->resume()V
-Landroid/renderscript/RenderScriptGL;->setSurfaceTexture(Landroid/graphics/SurfaceTexture;II)V
-Landroid/renderscript/RSSurfaceView;
-Landroid/renderscript/RSSurfaceView;->createRenderScriptGL(Landroid/renderscript/RenderScriptGL$SurfaceConfig;)Landroid/renderscript/RenderScriptGL;
-Landroid/renderscript/RSSurfaceView;->destroyRenderScriptGL()V
-Landroid/renderscript/RSSurfaceView;->getRenderScriptGL()Landroid/renderscript/RenderScriptGL;
-Landroid/renderscript/RSSurfaceView;->init()V
-Landroid/renderscript/RSSurfaceView;->mRS:Landroid/renderscript/RenderScriptGL;
-Landroid/renderscript/RSSurfaceView;->mSurfaceHolder:Landroid/view/SurfaceHolder;
-Landroid/renderscript/RSSurfaceView;->pause()V
-Landroid/renderscript/RSSurfaceView;->resume()V
-Landroid/renderscript/RSSurfaceView;->setRenderScriptGL(Landroid/renderscript/RenderScriptGL;)V
-Landroid/renderscript/RSTextureView;
-Landroid/renderscript/RSTextureView;-><init>(Landroid/content/Context;)V
-Landroid/renderscript/RSTextureView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/renderscript/RSTextureView;->createRenderScriptGL(Landroid/renderscript/RenderScriptGL$SurfaceConfig;)Landroid/renderscript/RenderScriptGL;
-Landroid/renderscript/RSTextureView;->destroyRenderScriptGL()V
-Landroid/renderscript/RSTextureView;->getRenderScriptGL()Landroid/renderscript/RenderScriptGL;
-Landroid/renderscript/RSTextureView;->init()V
-Landroid/renderscript/RSTextureView;->mRS:Landroid/renderscript/RenderScriptGL;
-Landroid/renderscript/RSTextureView;->mSurfaceTexture:Landroid/graphics/SurfaceTexture;
-Landroid/renderscript/RSTextureView;->pause()V
-Landroid/renderscript/RSTextureView;->resume()V
-Landroid/renderscript/RSTextureView;->setRenderScriptGL(Landroid/renderscript/RenderScriptGL;)V
-Landroid/renderscript/Sampler$Builder;->mAniso:F
-Landroid/renderscript/Sampler$Builder;->mMag:Landroid/renderscript/Sampler$Value;
-Landroid/renderscript/Sampler$Builder;->mMin:Landroid/renderscript/Sampler$Value;
-Landroid/renderscript/Sampler$Builder;->mRS:Landroid/renderscript/RenderScript;
-Landroid/renderscript/Sampler$Builder;->mWrapR:Landroid/renderscript/Sampler$Value;
-Landroid/renderscript/Sampler$Builder;->mWrapS:Landroid/renderscript/Sampler$Value;
-Landroid/renderscript/Sampler$Builder;->mWrapT:Landroid/renderscript/Sampler$Value;
-Landroid/renderscript/Sampler$Value;-><init>(I)V
-Landroid/renderscript/Sampler$Value;->mID:I
-Landroid/renderscript/Sampler;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/Sampler;->mAniso:F
-Landroid/renderscript/Sampler;->mMag:Landroid/renderscript/Sampler$Value;
-Landroid/renderscript/Sampler;->mMin:Landroid/renderscript/Sampler$Value;
-Landroid/renderscript/Sampler;->mWrapR:Landroid/renderscript/Sampler$Value;
-Landroid/renderscript/Sampler;->mWrapS:Landroid/renderscript/Sampler$Value;
-Landroid/renderscript/Sampler;->mWrapT:Landroid/renderscript/Sampler$Value;
-Landroid/renderscript/Script$FieldID;-><init>(JLandroid/renderscript/RenderScript;Landroid/renderscript/Script;I)V
-Landroid/renderscript/Script$FieldID;->mScript:Landroid/renderscript/Script;
-Landroid/renderscript/Script$FieldID;->mSlot:I
-Landroid/renderscript/Script$InvokeID;-><init>(JLandroid/renderscript/RenderScript;Landroid/renderscript/Script;I)V
-Landroid/renderscript/Script$InvokeID;->mScript:Landroid/renderscript/Script;
-Landroid/renderscript/Script$InvokeID;->mSlot:I
-Landroid/renderscript/Script$KernelID;-><init>(JLandroid/renderscript/RenderScript;Landroid/renderscript/Script;II)V
-Landroid/renderscript/Script$KernelID;->mScript:Landroid/renderscript/Script;
-Landroid/renderscript/Script$KernelID;->mSig:I
-Landroid/renderscript/Script$KernelID;->mSlot:I
-Landroid/renderscript/Script$LaunchOptions;->strategy:I
-Landroid/renderscript/Script$LaunchOptions;->xend:I
-Landroid/renderscript/Script$LaunchOptions;->xstart:I
-Landroid/renderscript/Script$LaunchOptions;->yend:I
-Landroid/renderscript/Script$LaunchOptions;->ystart:I
-Landroid/renderscript/Script$LaunchOptions;->zend:I
-Landroid/renderscript/Script$LaunchOptions;->zstart:I
-Landroid/renderscript/Script;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/Script;->mFIDs:Landroid/util/SparseArray;
-Landroid/renderscript/Script;->mIIDs:Landroid/util/SparseArray;
-Landroid/renderscript/Script;->mInIdsBuffer:[J
-Landroid/renderscript/Script;->mKIDs:Landroid/util/SparseArray;
-Landroid/renderscript/ScriptC;->internalCreate(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;I)J
-Landroid/renderscript/ScriptC;->internalStringCreate(Landroid/renderscript/RenderScript;Ljava/lang/String;[B)J
-Landroid/renderscript/ScriptC;->TAG:Ljava/lang/String;
-Landroid/renderscript/ScriptGroup$Binding;->getField()Landroid/renderscript/Script$FieldID;
-Landroid/renderscript/ScriptGroup$Binding;->getValue()Ljava/lang/Object;
-Landroid/renderscript/ScriptGroup$Binding;->mField:Landroid/renderscript/Script$FieldID;
-Landroid/renderscript/ScriptGroup$Binding;->mValue:Ljava/lang/Object;
-Landroid/renderscript/ScriptGroup$Builder2;->addInvokeInternal(Landroid/renderscript/Script$InvokeID;[Ljava/lang/Object;Ljava/util/Map;)Landroid/renderscript/ScriptGroup$Closure;
-Landroid/renderscript/ScriptGroup$Builder2;->addKernelInternal(Landroid/renderscript/Script$KernelID;Landroid/renderscript/Type;[Ljava/lang/Object;Ljava/util/Map;)Landroid/renderscript/ScriptGroup$Closure;
-Landroid/renderscript/ScriptGroup$Builder2;->mClosures:Ljava/util/List;
-Landroid/renderscript/ScriptGroup$Builder2;->mInputs:Ljava/util/List;
-Landroid/renderscript/ScriptGroup$Builder2;->mRS:Landroid/renderscript/RenderScript;
-Landroid/renderscript/ScriptGroup$Builder2;->seperateArgsAndBindings([Ljava/lang/Object;Ljava/util/ArrayList;Ljava/util/Map;)Z
-Landroid/renderscript/ScriptGroup$Builder2;->TAG:Ljava/lang/String;
-Landroid/renderscript/ScriptGroup$Builder;->findNode(Landroid/renderscript/Script$KernelID;)Landroid/renderscript/ScriptGroup$Node;
-Landroid/renderscript/ScriptGroup$Builder;->findNode(Landroid/renderscript/Script;)Landroid/renderscript/ScriptGroup$Node;
-Landroid/renderscript/ScriptGroup$Builder;->mergeDAGs(II)V
-Landroid/renderscript/ScriptGroup$Builder;->mKernelCount:I
-Landroid/renderscript/ScriptGroup$Builder;->mLines:Ljava/util/ArrayList;
-Landroid/renderscript/ScriptGroup$Builder;->mNodes:Ljava/util/ArrayList;
-Landroid/renderscript/ScriptGroup$Builder;->mRS:Landroid/renderscript/RenderScript;
-Landroid/renderscript/ScriptGroup$Builder;->validateCycle(Landroid/renderscript/ScriptGroup$Node;Landroid/renderscript/ScriptGroup$Node;)V
-Landroid/renderscript/ScriptGroup$Builder;->validateDAG()V
-Landroid/renderscript/ScriptGroup$Builder;->validateDAGRecurse(Landroid/renderscript/ScriptGroup$Node;I)V
-Landroid/renderscript/ScriptGroup$Closure$ValueAndSize;
-Landroid/renderscript/ScriptGroup$Closure$ValueAndSize;-><init>(Landroid/renderscript/RenderScript;Ljava/lang/Object;)V
-Landroid/renderscript/ScriptGroup$Closure$ValueAndSize;->size:I
-Landroid/renderscript/ScriptGroup$Closure$ValueAndSize;->value:J
-Landroid/renderscript/ScriptGroup$Closure;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/ScriptGroup$Closure;-><init>(Landroid/renderscript/RenderScript;Landroid/renderscript/Script$InvokeID;[Ljava/lang/Object;Ljava/util/Map;)V
-Landroid/renderscript/ScriptGroup$Closure;-><init>(Landroid/renderscript/RenderScript;Landroid/renderscript/Script$KernelID;Landroid/renderscript/Type;[Ljava/lang/Object;Ljava/util/Map;)V
-Landroid/renderscript/ScriptGroup$Closure;->mArgs:[Ljava/lang/Object;
-Landroid/renderscript/ScriptGroup$Closure;->mBindings:Ljava/util/Map;
-Landroid/renderscript/ScriptGroup$Closure;->mFP:Landroid/renderscript/FieldPacker;
-Landroid/renderscript/ScriptGroup$Closure;->mGlobalFuture:Ljava/util/Map;
-Landroid/renderscript/ScriptGroup$Closure;->mReturnFuture:Landroid/renderscript/ScriptGroup$Future;
-Landroid/renderscript/ScriptGroup$Closure;->mReturnValue:Landroid/renderscript/Allocation;
-Landroid/renderscript/ScriptGroup$Closure;->retrieveValueAndDependenceInfo(Landroid/renderscript/RenderScript;ILandroid/renderscript/Script$FieldID;Ljava/lang/Object;[J[I[J[J)V
-Landroid/renderscript/ScriptGroup$Closure;->setArg(ILjava/lang/Object;)V
-Landroid/renderscript/ScriptGroup$Closure;->setGlobal(Landroid/renderscript/Script$FieldID;Ljava/lang/Object;)V
-Landroid/renderscript/ScriptGroup$Closure;->TAG:Ljava/lang/String;
-Landroid/renderscript/ScriptGroup$ConnectLine;
-Landroid/renderscript/ScriptGroup$ConnectLine;-><init>(Landroid/renderscript/Type;Landroid/renderscript/Script$KernelID;Landroid/renderscript/Script$FieldID;)V
-Landroid/renderscript/ScriptGroup$ConnectLine;-><init>(Landroid/renderscript/Type;Landroid/renderscript/Script$KernelID;Landroid/renderscript/Script$KernelID;)V
-Landroid/renderscript/ScriptGroup$ConnectLine;->mAllocationType:Landroid/renderscript/Type;
-Landroid/renderscript/ScriptGroup$ConnectLine;->mFrom:Landroid/renderscript/Script$KernelID;
-Landroid/renderscript/ScriptGroup$ConnectLine;->mToF:Landroid/renderscript/Script$FieldID;
-Landroid/renderscript/ScriptGroup$ConnectLine;->mToK:Landroid/renderscript/Script$KernelID;
-Landroid/renderscript/ScriptGroup$Future;-><init>(Landroid/renderscript/ScriptGroup$Closure;Landroid/renderscript/Script$FieldID;Ljava/lang/Object;)V
-Landroid/renderscript/ScriptGroup$Future;->getClosure()Landroid/renderscript/ScriptGroup$Closure;
-Landroid/renderscript/ScriptGroup$Future;->getFieldID()Landroid/renderscript/Script$FieldID;
-Landroid/renderscript/ScriptGroup$Future;->getValue()Ljava/lang/Object;
-Landroid/renderscript/ScriptGroup$Future;->mClosure:Landroid/renderscript/ScriptGroup$Closure;
-Landroid/renderscript/ScriptGroup$Future;->mFieldID:Landroid/renderscript/Script$FieldID;
-Landroid/renderscript/ScriptGroup$Future;->mValue:Ljava/lang/Object;
-Landroid/renderscript/ScriptGroup$Input;-><init>()V
-Landroid/renderscript/ScriptGroup$Input;->addReference(Landroid/renderscript/ScriptGroup$Closure;I)V
-Landroid/renderscript/ScriptGroup$Input;->addReference(Landroid/renderscript/ScriptGroup$Closure;Landroid/renderscript/Script$FieldID;)V
-Landroid/renderscript/ScriptGroup$Input;->get()Ljava/lang/Object;
-Landroid/renderscript/ScriptGroup$Input;->mArgIndex:Ljava/util/List;
-Landroid/renderscript/ScriptGroup$Input;->mFieldID:Ljava/util/List;
-Landroid/renderscript/ScriptGroup$Input;->mValue:Ljava/lang/Object;
-Landroid/renderscript/ScriptGroup$Input;->set(Ljava/lang/Object;)V
-Landroid/renderscript/ScriptGroup$IO;
-Landroid/renderscript/ScriptGroup$IO;-><init>(Landroid/renderscript/Script$KernelID;)V
-Landroid/renderscript/ScriptGroup$IO;->mAllocation:Landroid/renderscript/Allocation;
-Landroid/renderscript/ScriptGroup$IO;->mKID:Landroid/renderscript/Script$KernelID;
-Landroid/renderscript/ScriptGroup$Node;
-Landroid/renderscript/ScriptGroup$Node;-><init>(Landroid/renderscript/Script;)V
-Landroid/renderscript/ScriptGroup$Node;->dagNumber:I
-Landroid/renderscript/ScriptGroup$Node;->mInputs:Ljava/util/ArrayList;
-Landroid/renderscript/ScriptGroup$Node;->mKernels:Ljava/util/ArrayList;
-Landroid/renderscript/ScriptGroup$Node;->mNext:Landroid/renderscript/ScriptGroup$Node;
-Landroid/renderscript/ScriptGroup$Node;->mOutputs:Ljava/util/ArrayList;
-Landroid/renderscript/ScriptGroup$Node;->mScript:Landroid/renderscript/Script;
-Landroid/renderscript/ScriptGroup;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/ScriptGroup;-><init>(Landroid/renderscript/RenderScript;Ljava/lang/String;Ljava/util/List;Ljava/util/List;[Landroid/renderscript/ScriptGroup$Future;)V
-Landroid/renderscript/ScriptGroup;->mClosures:Ljava/util/List;
-Landroid/renderscript/ScriptGroup;->mInputs2:Ljava/util/List;
-Landroid/renderscript/ScriptGroup;->mInputs:[Landroid/renderscript/ScriptGroup$IO;
-Landroid/renderscript/ScriptGroup;->mName:Ljava/lang/String;
-Landroid/renderscript/ScriptGroup;->mOutputs2:[Landroid/renderscript/ScriptGroup$Future;
-Landroid/renderscript/ScriptGroup;->mOutputs:[Landroid/renderscript/ScriptGroup$IO;
-Landroid/renderscript/ScriptGroup;->TAG:Ljava/lang/String;
-Landroid/renderscript/ScriptIntrinsic3DLUT;-><init>(JLandroid/renderscript/RenderScript;Landroid/renderscript/Element;)V
-Landroid/renderscript/ScriptIntrinsic3DLUT;->mElement:Landroid/renderscript/Element;
-Landroid/renderscript/ScriptIntrinsic3DLUT;->mLUT:Landroid/renderscript/Allocation;
-Landroid/renderscript/ScriptIntrinsic;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/ScriptIntrinsicBLAS$Diag;
-Landroid/renderscript/ScriptIntrinsicBLAS$Side;
-Landroid/renderscript/ScriptIntrinsicBLAS$Transpose;
-Landroid/renderscript/ScriptIntrinsicBLAS$Uplo;
-Landroid/renderscript/ScriptIntrinsicBLAS;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/ScriptIntrinsicBLAS;->mLUT:Landroid/renderscript/Allocation;
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_bnnm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_caxpy:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ccopy:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_cdotc_sub:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_cdotu_sub:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_cgbmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_cgemm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_cgemv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_cgerc:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_cgeru:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_chbmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_chemm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_chemv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_cher2:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_cher2k:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_cher:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_cherk:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_chpmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_chpr2:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_chpr:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_cscal:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_csscal:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_cswap:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_csymm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_csyr2k:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_csyrk:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ctbmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ctbsv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ctpmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ctpsv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ctrmm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ctrmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ctrsm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ctrsv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dasum:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_daxpy:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dcopy:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ddot:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dgbmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dgemm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dgemv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dger:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dnrm2:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_drot:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_drotg:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_drotm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_drotmg:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dsbmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dscal:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dsdot:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dspmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dspr2:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dspr:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dswap:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dsymm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dsymv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dsyr2:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dsyr2k:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dsyr:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dsyrk:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dtbmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dtbsv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dtpmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dtpsv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dtrmm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dtrmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dtrsm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dtrsv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dzasum:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_dznrm2:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_icamax:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_idamax:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_isamax:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_izamax:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_sasum:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_saxpy:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_scasum:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_scnrm2:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_scopy:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_sdot:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_sdsdot:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_sgbmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_sgemm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_sgemv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_sger:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_snrm2:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_srot:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_srotg:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_srotm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_srotmg:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ssbmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_sscal:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_sspmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_sspr2:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_sspr:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_sswap:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ssymm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ssymv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ssyr2:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ssyr2k:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ssyr:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ssyrk:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_stbmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_stbsv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_stpmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_stpsv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_strmm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_strmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_strsm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_strsv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zaxpy:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zcopy:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zdotc_sub:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zdotu_sub:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zdscal:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zgbmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zgemm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zgemv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zgerc:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zgeru:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zhbmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zhemm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zhemv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zher2:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zher2k:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zher:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zherk:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zhpmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zhpr2:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zhpr:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zscal:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zswap:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zsymm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zsyr2k:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_zsyrk:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ztbmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ztbsv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ztpmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ztpsv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ztrmm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ztrmv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ztrsm:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->RsBlas_ztrsv:I
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateConjTranspose(I)V
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateDiag(I)V
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateGEMV(Landroid/renderscript/Element;ILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;I)V
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateGER(Landroid/renderscript/Element;Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateGERU(Landroid/renderscript/Element;Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateHEMM(Landroid/renderscript/Element;ILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateHER2K(Landroid/renderscript/Element;ILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateHERK(Landroid/renderscript/Element;ILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateL3(Landroid/renderscript/Element;IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateSide(I)V
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateSPMV(Landroid/renderscript/Element;ILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;I)I
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateSPR(Landroid/renderscript/Element;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)I
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateSPR2(Landroid/renderscript/Element;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)I
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateSYMV(Landroid/renderscript/Element;ILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;II)I
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateSYR(Landroid/renderscript/Element;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)I
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateSYR2(Landroid/renderscript/Element;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)I
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateSYR2K(Landroid/renderscript/Element;ILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateTPMV(Landroid/renderscript/Element;IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)I
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateTranspose(I)V
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateTRMM(Landroid/renderscript/Element;IILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateTRMV(Landroid/renderscript/Element;IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateTRSM(Landroid/renderscript/Element;IILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V
-Landroid/renderscript/ScriptIntrinsicBLAS;->validateUplo(I)V
-Landroid/renderscript/ScriptIntrinsicBlend;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/ScriptIntrinsicBlend;->blend(ILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V
-Landroid/renderscript/ScriptIntrinsicBlur;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/ScriptIntrinsicBlur;->mInput:Landroid/renderscript/Allocation;
-Landroid/renderscript/ScriptIntrinsicBlur;->mValues:[F
-Landroid/renderscript/ScriptIntrinsicColorMatrix;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/ScriptIntrinsicColorMatrix;->mAdd:Landroid/renderscript/Float4;
-Landroid/renderscript/ScriptIntrinsicColorMatrix;->mMatrix:Landroid/renderscript/Matrix4f;
-Landroid/renderscript/ScriptIntrinsicColorMatrix;->setMatrix()V
-Landroid/renderscript/ScriptIntrinsicConvolve3x3;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/ScriptIntrinsicConvolve3x3;->mInput:Landroid/renderscript/Allocation;
-Landroid/renderscript/ScriptIntrinsicConvolve3x3;->mValues:[F
-Landroid/renderscript/ScriptIntrinsicConvolve5x5;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/ScriptIntrinsicConvolve5x5;->mInput:Landroid/renderscript/Allocation;
-Landroid/renderscript/ScriptIntrinsicConvolve5x5;->mValues:[F
-Landroid/renderscript/ScriptIntrinsicHistogram;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/ScriptIntrinsicHistogram;->mOut:Landroid/renderscript/Allocation;
-Landroid/renderscript/ScriptIntrinsicLUT;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/ScriptIntrinsicLUT;->mCache:[B
-Landroid/renderscript/ScriptIntrinsicLUT;->mDirty:Z
-Landroid/renderscript/ScriptIntrinsicLUT;->mMatrix:Landroid/renderscript/Matrix4f;
-Landroid/renderscript/ScriptIntrinsicLUT;->mTables:Landroid/renderscript/Allocation;
-Landroid/renderscript/ScriptIntrinsicLUT;->validate(II)V
-Landroid/renderscript/ScriptIntrinsicResize;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/ScriptIntrinsicResize;->mInput:Landroid/renderscript/Allocation;
-Landroid/renderscript/ScriptIntrinsicYuvToRGB;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/ScriptIntrinsicYuvToRGB;->mInput:Landroid/renderscript/Allocation;
-Landroid/renderscript/Short2;-><init>(Landroid/renderscript/Short2;)V
-Landroid/renderscript/Short2;-><init>(S)V
-Landroid/renderscript/Short2;->add(Landroid/renderscript/Short2;)V
-Landroid/renderscript/Short2;->add(Landroid/renderscript/Short2;Landroid/renderscript/Short2;)Landroid/renderscript/Short2;
-Landroid/renderscript/Short2;->add(Landroid/renderscript/Short2;S)Landroid/renderscript/Short2;
-Landroid/renderscript/Short2;->add(S)V
-Landroid/renderscript/Short2;->addAt(IS)V
-Landroid/renderscript/Short2;->addMultiple(Landroid/renderscript/Short2;S)V
-Landroid/renderscript/Short2;->copyTo([SI)V
-Landroid/renderscript/Short2;->div(Landroid/renderscript/Short2;)V
-Landroid/renderscript/Short2;->div(Landroid/renderscript/Short2;Landroid/renderscript/Short2;)Landroid/renderscript/Short2;
-Landroid/renderscript/Short2;->div(Landroid/renderscript/Short2;S)Landroid/renderscript/Short2;
-Landroid/renderscript/Short2;->div(S)V
-Landroid/renderscript/Short2;->dotProduct(Landroid/renderscript/Short2;)S
-Landroid/renderscript/Short2;->dotProduct(Landroid/renderscript/Short2;Landroid/renderscript/Short2;)S
-Landroid/renderscript/Short2;->elementSum()S
-Landroid/renderscript/Short2;->get(I)S
-Landroid/renderscript/Short2;->length()S
-Landroid/renderscript/Short2;->mod(Landroid/renderscript/Short2;)V
-Landroid/renderscript/Short2;->mod(Landroid/renderscript/Short2;Landroid/renderscript/Short2;)Landroid/renderscript/Short2;
-Landroid/renderscript/Short2;->mod(Landroid/renderscript/Short2;S)Landroid/renderscript/Short2;
-Landroid/renderscript/Short2;->mod(S)V
-Landroid/renderscript/Short2;->mul(Landroid/renderscript/Short2;)V
-Landroid/renderscript/Short2;->mul(Landroid/renderscript/Short2;Landroid/renderscript/Short2;)Landroid/renderscript/Short2;
-Landroid/renderscript/Short2;->mul(Landroid/renderscript/Short2;S)Landroid/renderscript/Short2;
-Landroid/renderscript/Short2;->mul(S)V
-Landroid/renderscript/Short2;->negate()V
-Landroid/renderscript/Short2;->set(Landroid/renderscript/Short2;)V
-Landroid/renderscript/Short2;->setAt(IS)V
-Landroid/renderscript/Short2;->setValues(SS)V
-Landroid/renderscript/Short2;->sub(Landroid/renderscript/Short2;)V
-Landroid/renderscript/Short2;->sub(Landroid/renderscript/Short2;Landroid/renderscript/Short2;)Landroid/renderscript/Short2;
-Landroid/renderscript/Short2;->sub(Landroid/renderscript/Short2;S)Landroid/renderscript/Short2;
-Landroid/renderscript/Short2;->sub(S)V
-Landroid/renderscript/Short3;-><init>(Landroid/renderscript/Short3;)V
-Landroid/renderscript/Short3;-><init>(S)V
-Landroid/renderscript/Short3;->add(Landroid/renderscript/Short3;)V
-Landroid/renderscript/Short3;->add(Landroid/renderscript/Short3;Landroid/renderscript/Short3;)Landroid/renderscript/Short3;
-Landroid/renderscript/Short3;->add(Landroid/renderscript/Short3;S)Landroid/renderscript/Short3;
-Landroid/renderscript/Short3;->add(S)V
-Landroid/renderscript/Short3;->addAt(IS)V
-Landroid/renderscript/Short3;->addMultiple(Landroid/renderscript/Short3;S)V
-Landroid/renderscript/Short3;->copyTo([SI)V
-Landroid/renderscript/Short3;->div(Landroid/renderscript/Short3;)V
-Landroid/renderscript/Short3;->div(Landroid/renderscript/Short3;Landroid/renderscript/Short3;)Landroid/renderscript/Short3;
-Landroid/renderscript/Short3;->div(Landroid/renderscript/Short3;S)Landroid/renderscript/Short3;
-Landroid/renderscript/Short3;->div(S)V
-Landroid/renderscript/Short3;->dotProduct(Landroid/renderscript/Short3;)S
-Landroid/renderscript/Short3;->dotProduct(Landroid/renderscript/Short3;Landroid/renderscript/Short3;)S
-Landroid/renderscript/Short3;->elementSum()S
-Landroid/renderscript/Short3;->get(I)S
-Landroid/renderscript/Short3;->length()S
-Landroid/renderscript/Short3;->mod(Landroid/renderscript/Short3;)V
-Landroid/renderscript/Short3;->mod(Landroid/renderscript/Short3;Landroid/renderscript/Short3;)Landroid/renderscript/Short3;
-Landroid/renderscript/Short3;->mod(Landroid/renderscript/Short3;S)Landroid/renderscript/Short3;
-Landroid/renderscript/Short3;->mod(S)V
-Landroid/renderscript/Short3;->mul(Landroid/renderscript/Short3;)V
-Landroid/renderscript/Short3;->mul(Landroid/renderscript/Short3;Landroid/renderscript/Short3;)Landroid/renderscript/Short3;
-Landroid/renderscript/Short3;->mul(Landroid/renderscript/Short3;S)Landroid/renderscript/Short3;
-Landroid/renderscript/Short3;->mul(S)V
-Landroid/renderscript/Short3;->negate()V
-Landroid/renderscript/Short3;->set(Landroid/renderscript/Short3;)V
-Landroid/renderscript/Short3;->setAt(IS)V
-Landroid/renderscript/Short3;->setValues(SSS)V
-Landroid/renderscript/Short3;->sub(Landroid/renderscript/Short3;)V
-Landroid/renderscript/Short3;->sub(Landroid/renderscript/Short3;Landroid/renderscript/Short3;)Landroid/renderscript/Short3;
-Landroid/renderscript/Short3;->sub(Landroid/renderscript/Short3;S)Landroid/renderscript/Short3;
-Landroid/renderscript/Short3;->sub(S)V
-Landroid/renderscript/Short4;-><init>(Landroid/renderscript/Short4;)V
-Landroid/renderscript/Short4;-><init>(S)V
-Landroid/renderscript/Short4;->add(Landroid/renderscript/Short4;)V
-Landroid/renderscript/Short4;->add(Landroid/renderscript/Short4;Landroid/renderscript/Short4;)Landroid/renderscript/Short4;
-Landroid/renderscript/Short4;->add(Landroid/renderscript/Short4;S)Landroid/renderscript/Short4;
-Landroid/renderscript/Short4;->add(S)V
-Landroid/renderscript/Short4;->addAt(IS)V
-Landroid/renderscript/Short4;->addMultiple(Landroid/renderscript/Short4;S)V
-Landroid/renderscript/Short4;->copyTo([SI)V
-Landroid/renderscript/Short4;->div(Landroid/renderscript/Short4;)V
-Landroid/renderscript/Short4;->div(Landroid/renderscript/Short4;Landroid/renderscript/Short4;)Landroid/renderscript/Short4;
-Landroid/renderscript/Short4;->div(Landroid/renderscript/Short4;S)Landroid/renderscript/Short4;
-Landroid/renderscript/Short4;->div(S)V
-Landroid/renderscript/Short4;->dotProduct(Landroid/renderscript/Short4;)S
-Landroid/renderscript/Short4;->dotProduct(Landroid/renderscript/Short4;Landroid/renderscript/Short4;)S
-Landroid/renderscript/Short4;->elementSum()S
-Landroid/renderscript/Short4;->get(I)S
-Landroid/renderscript/Short4;->length()S
-Landroid/renderscript/Short4;->mod(Landroid/renderscript/Short4;)V
-Landroid/renderscript/Short4;->mod(Landroid/renderscript/Short4;Landroid/renderscript/Short4;)Landroid/renderscript/Short4;
-Landroid/renderscript/Short4;->mod(Landroid/renderscript/Short4;S)Landroid/renderscript/Short4;
-Landroid/renderscript/Short4;->mod(S)V
-Landroid/renderscript/Short4;->mul(Landroid/renderscript/Short4;)V
-Landroid/renderscript/Short4;->mul(Landroid/renderscript/Short4;Landroid/renderscript/Short4;)Landroid/renderscript/Short4;
-Landroid/renderscript/Short4;->mul(Landroid/renderscript/Short4;S)Landroid/renderscript/Short4;
-Landroid/renderscript/Short4;->mul(S)V
-Landroid/renderscript/Short4;->negate()V
-Landroid/renderscript/Short4;->set(Landroid/renderscript/Short4;)V
-Landroid/renderscript/Short4;->setAt(IS)V
-Landroid/renderscript/Short4;->setValues(SSSS)V
-Landroid/renderscript/Short4;->sub(Landroid/renderscript/Short4;)V
-Landroid/renderscript/Short4;->sub(Landroid/renderscript/Short4;Landroid/renderscript/Short4;)Landroid/renderscript/Short4;
-Landroid/renderscript/Short4;->sub(Landroid/renderscript/Short4;S)Landroid/renderscript/Short4;
-Landroid/renderscript/Short4;->sub(S)V
-Landroid/renderscript/Type$Builder;->mArray:[I
-Landroid/renderscript/Type$Builder;->mDimFaces:Z
-Landroid/renderscript/Type$Builder;->mDimMipmaps:Z
-Landroid/renderscript/Type$Builder;->mDimX:I
-Landroid/renderscript/Type$Builder;->mDimY:I
-Landroid/renderscript/Type$Builder;->mDimZ:I
-Landroid/renderscript/Type$Builder;->mElement:Landroid/renderscript/Element;
-Landroid/renderscript/Type$Builder;->mRS:Landroid/renderscript/RenderScript;
-Landroid/renderscript/Type$Builder;->mYuv:I
-Landroid/renderscript/Type$Builder;->setArray(II)Landroid/renderscript/Type$Builder;
-Landroid/renderscript/Type$CubemapFace;-><init>(I)V
-Landroid/renderscript/Type$CubemapFace;->mID:I
-Landroid/renderscript/Type;-><init>(JLandroid/renderscript/RenderScript;)V
-Landroid/renderscript/Type;->calcElementCount()V
-Landroid/renderscript/Type;->getArray(I)I
-Landroid/renderscript/Type;->getArrayCount()I
-Landroid/renderscript/Type;->mArrays:[I
-Landroid/renderscript/Type;->mDimFaces:Z
-Landroid/renderscript/Type;->mDimMipmaps:Z
-Landroid/renderscript/Type;->mDimX:I
-Landroid/renderscript/Type;->mDimY:I
-Landroid/renderscript/Type;->mDimYuv:I
-Landroid/renderscript/Type;->mDimZ:I
-Landroid/renderscript/Type;->mElement:Landroid/renderscript/Element;
-Landroid/renderscript/Type;->mElementCount:I
-Landroid/renderscript/Type;->mMaxArrays:I
-Landroid/renderscript/Type;->updateFromNative()V
-Landroid/sax/Children$Child;
-Landroid/sax/Children$Child;-><init>(Landroid/sax/Element;Ljava/lang/String;Ljava/lang/String;II)V
-Landroid/sax/Children$Child;->hash:I
-Landroid/sax/Children$Child;->next:Landroid/sax/Children$Child;
-Landroid/sax/Children;
-Landroid/sax/Children;-><init>()V
-Landroid/sax/Children;->children:[Landroid/sax/Children$Child;
-Landroid/sax/Children;->get(Ljava/lang/String;Ljava/lang/String;)Landroid/sax/Element;
-Landroid/sax/Children;->getOrCreate(Landroid/sax/Element;Ljava/lang/String;Ljava/lang/String;)Landroid/sax/Element;
-Landroid/sax/Element;-><init>(Landroid/sax/Element;Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/sax/Element;->checkRequiredChildren(Lorg/xml/sax/Locator;)V
-Landroid/sax/Element;->children:Landroid/sax/Children;
-Landroid/sax/Element;->depth:I
-Landroid/sax/Element;->endElementListener:Landroid/sax/EndElementListener;
-Landroid/sax/Element;->endTextElementListener:Landroid/sax/EndTextElementListener;
-Landroid/sax/Element;->localName:Ljava/lang/String;
-Landroid/sax/Element;->parent:Landroid/sax/Element;
-Landroid/sax/Element;->requiredChilden:Ljava/util/ArrayList;
-Landroid/sax/Element;->resetRequiredChildren()V
-Landroid/sax/Element;->startElementListener:Landroid/sax/StartElementListener;
-Landroid/sax/Element;->toString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/sax/Element;->uri:Ljava/lang/String;
-Landroid/sax/Element;->visited:Z
-Landroid/sax/RootElement$Handler;
-Landroid/sax/RootElement$Handler;-><init>()V
-Landroid/sax/RootElement$Handler;->bodyBuilder:Ljava/lang/StringBuilder;
-Landroid/sax/RootElement$Handler;->current:Landroid/sax/Element;
-Landroid/sax/RootElement$Handler;->depth:I
-Landroid/sax/RootElement$Handler;->locator:Lorg/xml/sax/Locator;
-Landroid/sax/RootElement$Handler;->start(Landroid/sax/Element;Lorg/xml/sax/Attributes;)V
-Landroid/sax/RootElement$Handler;->startRoot(Ljava/lang/String;Ljava/lang/String;Lorg/xml/sax/Attributes;)V
-Landroid/sax/RootElement;->handler:Landroid/sax/RootElement$Handler;
-Landroid/se/omapi/Channel;-><init>(Landroid/se/omapi/SEService;Landroid/se/omapi/Session;Landroid/se/omapi/ISecureElementChannel;)V
-Landroid/se/omapi/Channel;->mChannel:Landroid/se/omapi/ISecureElementChannel;
-Landroid/se/omapi/Channel;->mLock:Ljava/lang/Object;
-Landroid/se/omapi/Channel;->mService:Landroid/se/omapi/SEService;
-Landroid/se/omapi/Channel;->mSession:Landroid/se/omapi/Session;
-Landroid/se/omapi/Channel;->TAG:Ljava/lang/String;
-Landroid/se/omapi/ISecureElementChannel$Stub$Proxy;
-Landroid/se/omapi/ISecureElementChannel$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/se/omapi/ISecureElementChannel$Stub$Proxy;->close()V
-Landroid/se/omapi/ISecureElementChannel$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/se/omapi/ISecureElementChannel$Stub$Proxy;->getSelectResponse()[B
-Landroid/se/omapi/ISecureElementChannel$Stub$Proxy;->isBasicChannel()Z
-Landroid/se/omapi/ISecureElementChannel$Stub$Proxy;->isClosed()Z
-Landroid/se/omapi/ISecureElementChannel$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/se/omapi/ISecureElementChannel$Stub$Proxy;->selectNext()Z
-Landroid/se/omapi/ISecureElementChannel$Stub$Proxy;->transmit([B)[B
-Landroid/se/omapi/ISecureElementChannel$Stub;
-Landroid/se/omapi/ISecureElementChannel$Stub;-><init>()V
-Landroid/se/omapi/ISecureElementChannel$Stub;->asInterface(Landroid/os/IBinder;)Landroid/se/omapi/ISecureElementChannel;
-Landroid/se/omapi/ISecureElementChannel$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/se/omapi/ISecureElementChannel$Stub;->TRANSACTION_close:I
-Landroid/se/omapi/ISecureElementChannel$Stub;->TRANSACTION_getSelectResponse:I
-Landroid/se/omapi/ISecureElementChannel$Stub;->TRANSACTION_isBasicChannel:I
-Landroid/se/omapi/ISecureElementChannel$Stub;->TRANSACTION_isClosed:I
-Landroid/se/omapi/ISecureElementChannel$Stub;->TRANSACTION_selectNext:I
-Landroid/se/omapi/ISecureElementChannel$Stub;->TRANSACTION_transmit:I
-Landroid/se/omapi/ISecureElementChannel;
-Landroid/se/omapi/ISecureElementChannel;->close()V
-Landroid/se/omapi/ISecureElementChannel;->getSelectResponse()[B
-Landroid/se/omapi/ISecureElementChannel;->isBasicChannel()Z
-Landroid/se/omapi/ISecureElementChannel;->isClosed()Z
-Landroid/se/omapi/ISecureElementChannel;->selectNext()Z
-Landroid/se/omapi/ISecureElementChannel;->transmit([B)[B
-Landroid/se/omapi/ISecureElementListener$Stub$Proxy;
-Landroid/se/omapi/ISecureElementListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/se/omapi/ISecureElementListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/se/omapi/ISecureElementListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/se/omapi/ISecureElementListener$Stub;
-Landroid/se/omapi/ISecureElementListener$Stub;-><init>()V
-Landroid/se/omapi/ISecureElementListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/se/omapi/ISecureElementListener;
-Landroid/se/omapi/ISecureElementListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/se/omapi/ISecureElementListener;
-Landroid/se/omapi/ISecureElementReader$Stub$Proxy;
-Landroid/se/omapi/ISecureElementReader$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/se/omapi/ISecureElementReader$Stub$Proxy;->closeSessions()V
-Landroid/se/omapi/ISecureElementReader$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/se/omapi/ISecureElementReader$Stub$Proxy;->isSecureElementPresent()Z
-Landroid/se/omapi/ISecureElementReader$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/se/omapi/ISecureElementReader$Stub$Proxy;->openSession()Landroid/se/omapi/ISecureElementSession;
-Landroid/se/omapi/ISecureElementReader$Stub;
-Landroid/se/omapi/ISecureElementReader$Stub;-><init>()V
-Landroid/se/omapi/ISecureElementReader$Stub;->asInterface(Landroid/os/IBinder;)Landroid/se/omapi/ISecureElementReader;
-Landroid/se/omapi/ISecureElementReader$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/se/omapi/ISecureElementReader$Stub;->TRANSACTION_closeSessions:I
-Landroid/se/omapi/ISecureElementReader$Stub;->TRANSACTION_isSecureElementPresent:I
-Landroid/se/omapi/ISecureElementReader$Stub;->TRANSACTION_openSession:I
-Landroid/se/omapi/ISecureElementReader;
-Landroid/se/omapi/ISecureElementReader;->closeSessions()V
-Landroid/se/omapi/ISecureElementReader;->isSecureElementPresent()Z
-Landroid/se/omapi/ISecureElementReader;->openSession()Landroid/se/omapi/ISecureElementSession;
-Landroid/se/omapi/ISecureElementService$Stub$Proxy;
-Landroid/se/omapi/ISecureElementService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/se/omapi/ISecureElementService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/se/omapi/ISecureElementService$Stub$Proxy;->getReader(Ljava/lang/String;)Landroid/se/omapi/ISecureElementReader;
-Landroid/se/omapi/ISecureElementService$Stub$Proxy;->getReaders()[Ljava/lang/String;
-Landroid/se/omapi/ISecureElementService$Stub$Proxy;->isNFCEventAllowed(Ljava/lang/String;[B[Ljava/lang/String;)[Z
-Landroid/se/omapi/ISecureElementService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/se/omapi/ISecureElementService$Stub;
-Landroid/se/omapi/ISecureElementService$Stub;-><init>()V
-Landroid/se/omapi/ISecureElementService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/se/omapi/ISecureElementService;
-Landroid/se/omapi/ISecureElementService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/se/omapi/ISecureElementService$Stub;->TRANSACTION_getReader:I
-Landroid/se/omapi/ISecureElementService$Stub;->TRANSACTION_getReaders:I
-Landroid/se/omapi/ISecureElementService$Stub;->TRANSACTION_isNFCEventAllowed:I
-Landroid/se/omapi/ISecureElementService;
-Landroid/se/omapi/ISecureElementService;->getReader(Ljava/lang/String;)Landroid/se/omapi/ISecureElementReader;
-Landroid/se/omapi/ISecureElementService;->getReaders()[Ljava/lang/String;
-Landroid/se/omapi/ISecureElementService;->isNFCEventAllowed(Ljava/lang/String;[B[Ljava/lang/String;)[Z
-Landroid/se/omapi/ISecureElementSession$Stub$Proxy;
-Landroid/se/omapi/ISecureElementSession$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/se/omapi/ISecureElementSession$Stub$Proxy;->close()V
-Landroid/se/omapi/ISecureElementSession$Stub$Proxy;->closeChannels()V
-Landroid/se/omapi/ISecureElementSession$Stub$Proxy;->getAtr()[B
-Landroid/se/omapi/ISecureElementSession$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/se/omapi/ISecureElementSession$Stub$Proxy;->isClosed()Z
-Landroid/se/omapi/ISecureElementSession$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/se/omapi/ISecureElementSession$Stub$Proxy;->openBasicChannel([BBLandroid/se/omapi/ISecureElementListener;)Landroid/se/omapi/ISecureElementChannel;
-Landroid/se/omapi/ISecureElementSession$Stub$Proxy;->openLogicalChannel([BBLandroid/se/omapi/ISecureElementListener;)Landroid/se/omapi/ISecureElementChannel;
-Landroid/se/omapi/ISecureElementSession$Stub;
-Landroid/se/omapi/ISecureElementSession$Stub;-><init>()V
-Landroid/se/omapi/ISecureElementSession$Stub;->asInterface(Landroid/os/IBinder;)Landroid/se/omapi/ISecureElementSession;
-Landroid/se/omapi/ISecureElementSession$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/se/omapi/ISecureElementSession$Stub;->TRANSACTION_close:I
-Landroid/se/omapi/ISecureElementSession$Stub;->TRANSACTION_closeChannels:I
-Landroid/se/omapi/ISecureElementSession$Stub;->TRANSACTION_getAtr:I
-Landroid/se/omapi/ISecureElementSession$Stub;->TRANSACTION_isClosed:I
-Landroid/se/omapi/ISecureElementSession$Stub;->TRANSACTION_openBasicChannel:I
-Landroid/se/omapi/ISecureElementSession$Stub;->TRANSACTION_openLogicalChannel:I
-Landroid/se/omapi/ISecureElementSession;
-Landroid/se/omapi/ISecureElementSession;->close()V
-Landroid/se/omapi/ISecureElementSession;->closeChannels()V
-Landroid/se/omapi/ISecureElementSession;->getAtr()[B
-Landroid/se/omapi/ISecureElementSession;->isClosed()Z
-Landroid/se/omapi/ISecureElementSession;->openBasicChannel([BBLandroid/se/omapi/ISecureElementListener;)Landroid/se/omapi/ISecureElementChannel;
-Landroid/se/omapi/ISecureElementSession;->openLogicalChannel([BBLandroid/se/omapi/ISecureElementListener;)Landroid/se/omapi/ISecureElementChannel;
-Landroid/se/omapi/Reader;-><init>(Landroid/se/omapi/SEService;Ljava/lang/String;Landroid/se/omapi/ISecureElementReader;)V
-Landroid/se/omapi/Reader;->mLock:Ljava/lang/Object;
-Landroid/se/omapi/Reader;->mName:Ljava/lang/String;
-Landroid/se/omapi/Reader;->mReader:Landroid/se/omapi/ISecureElementReader;
-Landroid/se/omapi/Reader;->mService:Landroid/se/omapi/SEService;
-Landroid/se/omapi/Reader;->TAG:Ljava/lang/String;
-Landroid/se/omapi/SEService$SEListener;
-Landroid/se/omapi/SEService$SEListener;-><init>()V
-Landroid/se/omapi/SEService$SEListener;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/se/omapi/SEService$SEListener;->mListener:Landroid/se/omapi/SEService$OnConnectedListener;
-Landroid/se/omapi/SEService$SEListener;->onConnected()V
-Landroid/se/omapi/SEService;->getListener()Landroid/se/omapi/ISecureElementListener;
-Landroid/se/omapi/SEService;->getReader(Ljava/lang/String;)Landroid/se/omapi/ISecureElementReader;
-Landroid/se/omapi/SEService;->IO_ERROR:I
-Landroid/se/omapi/SEService;->mConnection:Landroid/content/ServiceConnection;
-Landroid/se/omapi/SEService;->mContext:Landroid/content/Context;
-Landroid/se/omapi/SEService;->mLock:Ljava/lang/Object;
-Landroid/se/omapi/SEService;->mReaders:Ljava/util/HashMap;
-Landroid/se/omapi/SEService;->mSecureElementService:Landroid/se/omapi/ISecureElementService;
-Landroid/se/omapi/SEService;->mSEListener:Landroid/se/omapi/SEService$SEListener;
-Landroid/se/omapi/SEService;->NO_SUCH_ELEMENT_ERROR:I
-Landroid/se/omapi/SEService;->TAG:Ljava/lang/String;
-Landroid/se/omapi/Session;-><init>(Landroid/se/omapi/SEService;Landroid/se/omapi/ISecureElementSession;Landroid/se/omapi/Reader;)V
-Landroid/se/omapi/Session;->mLock:Ljava/lang/Object;
-Landroid/se/omapi/Session;->mReader:Landroid/se/omapi/Reader;
-Landroid/se/omapi/Session;->mService:Landroid/se/omapi/SEService;
-Landroid/se/omapi/Session;->mSession:Landroid/se/omapi/ISecureElementSession;
-Landroid/se/omapi/Session;->TAG:Ljava/lang/String;
-Landroid/Section;
-Landroid/Section;-><init>()V
-Landroid/Section;->SECTION_COMMAND:I
-Landroid/Section;->SECTION_DUMPSYS:I
-Landroid/Section;->SECTION_FILE:I
-Landroid/Section;->SECTION_GZIP:I
-Landroid/Section;->SECTION_LOG:I
-Landroid/Section;->SECTION_NONE:I
-Landroid/Section;->SECTION_TOMBSTONE:I
-Landroid/SectionFlags;
-Landroid/SectionFlags;-><init>()V
-Landroid/SectionFlags;->ARGS:J
-Landroid/SectionFlags;->DEVICE_SPECIFIC:J
-Landroid/SectionFlags;->TYPE:J
-Landroid/SectionFlags;->USERDEBUG_AND_ENG_ONLY:J
-Landroid/security/AttestedKeyPair;-><init>(Ljava/security/KeyPair;[Ljava/security/cert/Certificate;)V
-Landroid/security/AttestedKeyPair;->mAttestationRecord:[Ljava/security/cert/Certificate;
-Landroid/security/AttestedKeyPair;->mKeyPair:Ljava/security/KeyPair;
-Landroid/security/ConfirmationPrompt$Builder;->mContext:Landroid/content/Context;
-Landroid/security/ConfirmationPrompt$Builder;->mExtraData:[B
-Landroid/security/ConfirmationPrompt$Builder;->mPromptText:Ljava/lang/CharSequence;
-Landroid/security/ConfirmationPrompt;-><init>(Landroid/content/Context;Ljava/lang/CharSequence;[B)V
-Landroid/security/ConfirmationPrompt;->doCallback(I[BLandroid/security/ConfirmationCallback;)V
-Landroid/security/ConfirmationPrompt;->getUiOptionsAsFlags()I
-Landroid/security/ConfirmationPrompt;->isAccessibilityServiceRunning(Landroid/content/Context;)Z
-Landroid/security/ConfirmationPrompt;->mCallback:Landroid/security/ConfirmationCallback;
-Landroid/security/ConfirmationPrompt;->mCallbackBinder:Landroid/os/IBinder;
-Landroid/security/ConfirmationPrompt;->mContext:Landroid/content/Context;
-Landroid/security/ConfirmationPrompt;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/security/ConfirmationPrompt;->mExtraData:[B
-Landroid/security/ConfirmationPrompt;->mKeyStore:Landroid/security/KeyStore;
-Landroid/security/ConfirmationPrompt;->mPromptText:Ljava/lang/CharSequence;
-Landroid/security/ConfirmationPrompt;->TAG:Ljava/lang/String;
-Landroid/security/ConfirmationPrompt;->UI_OPTION_ACCESSIBILITY_INVERTED_FLAG:I
-Landroid/security/ConfirmationPrompt;->UI_OPTION_ACCESSIBILITY_MAGNIFIED_FLAG:I
-Landroid/security/Credentials;
-Landroid/security/Credentials;-><init>()V
-Landroid/security/Credentials;->CA_CERTIFICATE:Ljava/lang/String;
-Landroid/security/Credentials;->convertFromPem([B)Ljava/util/List;
-Landroid/security/Credentials;->deleteAllTypesForAlias(Landroid/security/KeyStore;Ljava/lang/String;)Z
-Landroid/security/Credentials;->deleteAllTypesForAlias(Landroid/security/KeyStore;Ljava/lang/String;I)Z
-Landroid/security/Credentials;->deleteCertificateTypesForAlias(Landroid/security/KeyStore;Ljava/lang/String;)Z
-Landroid/security/Credentials;->deleteCertificateTypesForAlias(Landroid/security/KeyStore;Ljava/lang/String;I)Z
-Landroid/security/Credentials;->deleteLegacyKeyForAlias(Landroid/security/KeyStore;Ljava/lang/String;I)Z
-Landroid/security/Credentials;->deleteUserKeyTypeForAlias(Landroid/security/KeyStore;Ljava/lang/String;)Z
-Landroid/security/Credentials;->deleteUserKeyTypeForAlias(Landroid/security/KeyStore;Ljava/lang/String;I)Z
-Landroid/security/Credentials;->EXTENSION_CER:Ljava/lang/String;
-Landroid/security/Credentials;->EXTENSION_CRT:Ljava/lang/String;
-Landroid/security/Credentials;->EXTENSION_P12:Ljava/lang/String;
-Landroid/security/Credentials;->EXTENSION_PFX:Ljava/lang/String;
-Landroid/security/Credentials;->EXTRA_CA_CERTIFICATES_DATA:Ljava/lang/String;
-Landroid/security/Credentials;->EXTRA_CA_CERTIFICATES_NAME:Ljava/lang/String;
-Landroid/security/Credentials;->EXTRA_INSTALL_AS_UID:Ljava/lang/String;
-Landroid/security/Credentials;->EXTRA_PRIVATE_KEY:Ljava/lang/String;
-Landroid/security/Credentials;->EXTRA_PUBLIC_KEY:Ljava/lang/String;
-Landroid/security/Credentials;->EXTRA_USER_CERTIFICATE_DATA:Ljava/lang/String;
-Landroid/security/Credentials;->EXTRA_USER_CERTIFICATE_NAME:Ljava/lang/String;
-Landroid/security/Credentials;->EXTRA_USER_PRIVATE_KEY_DATA:Ljava/lang/String;
-Landroid/security/Credentials;->EXTRA_USER_PRIVATE_KEY_NAME:Ljava/lang/String;
-Landroid/security/Credentials;->install(Landroid/content/Context;)V
-Landroid/security/Credentials;->INSTALL_ACTION:Ljava/lang/String;
-Landroid/security/Credentials;->INSTALL_AS_USER_ACTION:Ljava/lang/String;
-Landroid/security/Credentials;->LOCKDOWN_VPN:Ljava/lang/String;
-Landroid/security/Credentials;->LOGTAG:Ljava/lang/String;
-Landroid/security/Credentials;->singleton:Landroid/security/Credentials;
-Landroid/security/Credentials;->UNLOCK_ACTION:Ljava/lang/String;
-Landroid/security/Credentials;->USER_CERTIFICATE:Ljava/lang/String;
-Landroid/security/Credentials;->USER_PRIVATE_KEY:Ljava/lang/String;
-Landroid/security/Credentials;->USER_SECRET_KEY:Ljava/lang/String;
-Landroid/security/Credentials;->VPN:Ljava/lang/String;
-Landroid/security/Credentials;->WIFI:Ljava/lang/String;
-Landroid/security/FrameworkNetworkSecurityPolicy;
-Landroid/security/FrameworkNetworkSecurityPolicy;-><init>(Z)V
-Landroid/security/FrameworkNetworkSecurityPolicy;->mCleartextTrafficPermitted:Z
-Landroid/security/GateKeeper;
-Landroid/security/GateKeeper;-><init>()V
-Landroid/security/GateKeeper;->getService()Landroid/service/gatekeeper/IGateKeeperService;
-Landroid/security/GateKeeper;->INVALID_SECURE_USER_ID:J
-Landroid/security/IConfirmationPromptCallback$Stub$Proxy;
-Landroid/security/IConfirmationPromptCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/security/IConfirmationPromptCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/security/IConfirmationPromptCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/security/IConfirmationPromptCallback$Stub$Proxy;->onConfirmationPromptCompleted(I[B)V
-Landroid/security/IConfirmationPromptCallback$Stub;
-Landroid/security/IConfirmationPromptCallback$Stub;-><init>()V
-Landroid/security/IConfirmationPromptCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/security/IConfirmationPromptCallback;
-Landroid/security/IConfirmationPromptCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/security/IConfirmationPromptCallback$Stub;->TRANSACTION_onConfirmationPromptCompleted:I
-Landroid/security/IConfirmationPromptCallback;
-Landroid/security/IConfirmationPromptCallback;->onConfirmationPromptCompleted(I[B)V
-Landroid/security/IKeyChainAliasCallback$Stub$Proxy;
-Landroid/security/IKeyChainAliasCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/security/IKeyChainAliasCallback$Stub$Proxy;->alias(Ljava/lang/String;)V
-Landroid/security/IKeyChainAliasCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/security/IKeyChainAliasCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/security/IKeyChainAliasCallback$Stub;
-Landroid/security/IKeyChainAliasCallback$Stub;-><init>()V
-Landroid/security/IKeyChainAliasCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/security/IKeyChainAliasCallback;
-Landroid/security/IKeyChainAliasCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/security/IKeyChainAliasCallback$Stub;->TRANSACTION_alias:I
-Landroid/security/IKeyChainAliasCallback;
-Landroid/security/IKeyChainAliasCallback;->alias(Ljava/lang/String;)V
-Landroid/security/IKeyChainService$Stub$Proxy;
-Landroid/security/IKeyChainService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/security/IKeyChainService$Stub$Proxy;->attestKey(Ljava/lang/String;[B[ILandroid/security/keymaster/KeymasterCertificateChain;)I
-Landroid/security/IKeyChainService$Stub$Proxy;->containsCaAlias(Ljava/lang/String;)Z
-Landroid/security/IKeyChainService$Stub$Proxy;->deleteCaCertificate(Ljava/lang/String;)Z
-Landroid/security/IKeyChainService$Stub$Proxy;->generateKeyPair(Ljava/lang/String;Landroid/security/keystore/ParcelableKeyGenParameterSpec;)I
-Landroid/security/IKeyChainService$Stub$Proxy;->getCaCertificateChainAliases(Ljava/lang/String;Z)Ljava/util/List;
-Landroid/security/IKeyChainService$Stub$Proxy;->getCaCertificates(Ljava/lang/String;)[B
-Landroid/security/IKeyChainService$Stub$Proxy;->getCertificate(Ljava/lang/String;)[B
-Landroid/security/IKeyChainService$Stub$Proxy;->getEncodedCaCertificate(Ljava/lang/String;Z)[B
-Landroid/security/IKeyChainService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/security/IKeyChainService$Stub$Proxy;->getSystemCaAliases()Landroid/content/pm/StringParceledListSlice;
-Landroid/security/IKeyChainService$Stub$Proxy;->getUserCaAliases()Landroid/content/pm/StringParceledListSlice;
-Landroid/security/IKeyChainService$Stub$Proxy;->hasGrant(ILjava/lang/String;)Z
-Landroid/security/IKeyChainService$Stub$Proxy;->installCaCertificate([B)Ljava/lang/String;
-Landroid/security/IKeyChainService$Stub$Proxy;->installKeyPair([B[B[BLjava/lang/String;)Z
-Landroid/security/IKeyChainService$Stub$Proxy;->isUserSelectable(Ljava/lang/String;)Z
-Landroid/security/IKeyChainService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/security/IKeyChainService$Stub$Proxy;->removeKeyPair(Ljava/lang/String;)Z
-Landroid/security/IKeyChainService$Stub$Proxy;->requestPrivateKey(Ljava/lang/String;)Ljava/lang/String;
-Landroid/security/IKeyChainService$Stub$Proxy;->reset()Z
-Landroid/security/IKeyChainService$Stub$Proxy;->setGrant(ILjava/lang/String;Z)V
-Landroid/security/IKeyChainService$Stub$Proxy;->setKeyPairCertificate(Ljava/lang/String;[B[B)Z
-Landroid/security/IKeyChainService$Stub$Proxy;->setUserSelectable(Ljava/lang/String;Z)V
-Landroid/security/IKeyChainService$Stub;
-Landroid/security/IKeyChainService$Stub;-><init>()V
-Landroid/security/IKeyChainService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/security/IKeyChainService$Stub;->TRANSACTION_attestKey:I
-Landroid/security/IKeyChainService$Stub;->TRANSACTION_containsCaAlias:I
-Landroid/security/IKeyChainService$Stub;->TRANSACTION_deleteCaCertificate:I
-Landroid/security/IKeyChainService$Stub;->TRANSACTION_generateKeyPair:I
-Landroid/security/IKeyChainService$Stub;->TRANSACTION_getCaCertificateChainAliases:I
-Landroid/security/IKeyChainService$Stub;->TRANSACTION_getCaCertificates:I
-Landroid/security/IKeyChainService$Stub;->TRANSACTION_getCertificate:I
-Landroid/security/IKeyChainService$Stub;->TRANSACTION_getEncodedCaCertificate:I
-Landroid/security/IKeyChainService$Stub;->TRANSACTION_getSystemCaAliases:I
-Landroid/security/IKeyChainService$Stub;->TRANSACTION_getUserCaAliases:I
-Landroid/security/IKeyChainService$Stub;->TRANSACTION_hasGrant:I
-Landroid/security/IKeyChainService$Stub;->TRANSACTION_installCaCertificate:I
-Landroid/security/IKeyChainService$Stub;->TRANSACTION_installKeyPair:I
-Landroid/security/IKeyChainService$Stub;->TRANSACTION_isUserSelectable:I
-Landroid/security/IKeyChainService$Stub;->TRANSACTION_removeKeyPair:I
-Landroid/security/IKeyChainService$Stub;->TRANSACTION_requestPrivateKey:I
-Landroid/security/IKeyChainService$Stub;->TRANSACTION_reset:I
-Landroid/security/IKeyChainService$Stub;->TRANSACTION_setGrant:I
-Landroid/security/IKeyChainService$Stub;->TRANSACTION_setKeyPairCertificate:I
-Landroid/security/IKeyChainService$Stub;->TRANSACTION_setUserSelectable:I
-Landroid/security/IKeyChainService;
-Landroid/security/IKeyChainService;->attestKey(Ljava/lang/String;[B[ILandroid/security/keymaster/KeymasterCertificateChain;)I
-Landroid/security/IKeyChainService;->containsCaAlias(Ljava/lang/String;)Z
-Landroid/security/IKeyChainService;->deleteCaCertificate(Ljava/lang/String;)Z
-Landroid/security/IKeyChainService;->generateKeyPair(Ljava/lang/String;Landroid/security/keystore/ParcelableKeyGenParameterSpec;)I
-Landroid/security/IKeyChainService;->getCaCertificateChainAliases(Ljava/lang/String;Z)Ljava/util/List;
-Landroid/security/IKeyChainService;->getCaCertificates(Ljava/lang/String;)[B
-Landroid/security/IKeyChainService;->getCertificate(Ljava/lang/String;)[B
-Landroid/security/IKeyChainService;->getEncodedCaCertificate(Ljava/lang/String;Z)[B
-Landroid/security/IKeyChainService;->getSystemCaAliases()Landroid/content/pm/StringParceledListSlice;
-Landroid/security/IKeyChainService;->getUserCaAliases()Landroid/content/pm/StringParceledListSlice;
-Landroid/security/IKeyChainService;->hasGrant(ILjava/lang/String;)Z
-Landroid/security/IKeyChainService;->installCaCertificate([B)Ljava/lang/String;
-Landroid/security/IKeyChainService;->installKeyPair([B[B[BLjava/lang/String;)Z
-Landroid/security/IKeyChainService;->isUserSelectable(Ljava/lang/String;)Z
-Landroid/security/IKeyChainService;->removeKeyPair(Ljava/lang/String;)Z
-Landroid/security/IKeyChainService;->reset()Z
-Landroid/security/IKeyChainService;->setGrant(ILjava/lang/String;Z)V
-Landroid/security/IKeyChainService;->setKeyPairCertificate(Ljava/lang/String;[B[B)Z
-Landroid/security/IKeyChainService;->setUserSelectable(Ljava/lang/String;Z)V
-Landroid/security/IKeystoreService$Stub$Proxy;
-Landroid/security/IKeystoreService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/security/IKeystoreService$Stub$Proxy;->abort(Landroid/os/IBinder;)I
-Landroid/security/IKeystoreService$Stub$Proxy;->addAuthToken([B)I
-Landroid/security/IKeystoreService$Stub$Proxy;->addRngEntropy([BI)I
-Landroid/security/IKeystoreService$Stub$Proxy;->attestDeviceIds(Landroid/security/keymaster/KeymasterArguments;Landroid/security/keymaster/KeymasterCertificateChain;)I
-Landroid/security/IKeystoreService$Stub$Proxy;->attestKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;Landroid/security/keymaster/KeymasterCertificateChain;)I
-Landroid/security/IKeystoreService$Stub$Proxy;->begin(Landroid/os/IBinder;Ljava/lang/String;IZLandroid/security/keymaster/KeymasterArguments;[BI)Landroid/security/keymaster/OperationResult;
-Landroid/security/IKeystoreService$Stub$Proxy;->cancelConfirmationPrompt(Landroid/os/IBinder;)I
-Landroid/security/IKeystoreService$Stub$Proxy;->clear_uid(J)I
-Landroid/security/IKeystoreService$Stub$Proxy;->del(Ljava/lang/String;I)I
-Landroid/security/IKeystoreService$Stub$Proxy;->exist(Ljava/lang/String;I)I
-Landroid/security/IKeystoreService$Stub$Proxy;->exportKey(Ljava/lang/String;ILandroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;I)Landroid/security/keymaster/ExportResult;
-Landroid/security/IKeystoreService$Stub$Proxy;->finish(Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B[B)Landroid/security/keymaster/OperationResult;
-Landroid/security/IKeystoreService$Stub$Proxy;->generate(Ljava/lang/String;IIIILandroid/security/KeystoreArguments;)I
-Landroid/security/IKeystoreService$Stub$Proxy;->generateKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;[BIILandroid/security/keymaster/KeyCharacteristics;)I
-Landroid/security/IKeystoreService$Stub$Proxy;->get(Ljava/lang/String;I)[B
-Landroid/security/IKeystoreService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/security/IKeystoreService$Stub$Proxy;->getKeyCharacteristics(Ljava/lang/String;Landroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;ILandroid/security/keymaster/KeyCharacteristics;)I
-Landroid/security/IKeystoreService$Stub$Proxy;->getmtime(Ljava/lang/String;I)J
-Landroid/security/IKeystoreService$Stub$Proxy;->getState(I)I
-Landroid/security/IKeystoreService$Stub$Proxy;->get_pubkey(Ljava/lang/String;)[B
-Landroid/security/IKeystoreService$Stub$Proxy;->grant(Ljava/lang/String;I)Ljava/lang/String;
-Landroid/security/IKeystoreService$Stub$Proxy;->importKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;I[BIILandroid/security/keymaster/KeyCharacteristics;)I
-Landroid/security/IKeystoreService$Stub$Proxy;->importWrappedKey(Ljava/lang/String;[BLjava/lang/String;[BLandroid/security/keymaster/KeymasterArguments;JJLandroid/security/keymaster/KeyCharacteristics;)I
-Landroid/security/IKeystoreService$Stub$Proxy;->import_key(Ljava/lang/String;[BII)I
-Landroid/security/IKeystoreService$Stub$Proxy;->insert(Ljava/lang/String;[BII)I
-Landroid/security/IKeystoreService$Stub$Proxy;->isConfirmationPromptSupported()Z
-Landroid/security/IKeystoreService$Stub$Proxy;->isEmpty(I)I
-Landroid/security/IKeystoreService$Stub$Proxy;->isOperationAuthorized(Landroid/os/IBinder;)Z
-Landroid/security/IKeystoreService$Stub$Proxy;->is_hardware_backed(Ljava/lang/String;)I
-Landroid/security/IKeystoreService$Stub$Proxy;->list(Ljava/lang/String;I)[Ljava/lang/String;
-Landroid/security/IKeystoreService$Stub$Proxy;->lock(I)I
-Landroid/security/IKeystoreService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/security/IKeystoreService$Stub$Proxy;->onDeviceOffBody()I
-Landroid/security/IKeystoreService$Stub$Proxy;->onKeyguardVisibilityChanged(ZI)I
-Landroid/security/IKeystoreService$Stub$Proxy;->onUserAdded(II)I
-Landroid/security/IKeystoreService$Stub$Proxy;->onUserPasswordChanged(ILjava/lang/String;)I
-Landroid/security/IKeystoreService$Stub$Proxy;->onUserRemoved(I)I
-Landroid/security/IKeystoreService$Stub$Proxy;->presentConfirmationPrompt(Landroid/os/IBinder;Ljava/lang/String;[BLjava/lang/String;I)I
-Landroid/security/IKeystoreService$Stub$Proxy;->reset()I
-Landroid/security/IKeystoreService$Stub$Proxy;->sign(Ljava/lang/String;[B)[B
-Landroid/security/IKeystoreService$Stub$Proxy;->ungrant(Ljava/lang/String;I)I
-Landroid/security/IKeystoreService$Stub$Proxy;->unlock(ILjava/lang/String;)I
-Landroid/security/IKeystoreService$Stub$Proxy;->update(Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B)Landroid/security/keymaster/OperationResult;
-Landroid/security/IKeystoreService$Stub$Proxy;->verify(Ljava/lang/String;[B[B)I
-Landroid/security/IKeystoreService$Stub;
-Landroid/security/IKeystoreService$Stub;-><init>()V
-Landroid/security/IKeystoreService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_abort:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_addAuthToken:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_addRngEntropy:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_attestDeviceIds:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_attestKey:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_begin:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_cancelConfirmationPrompt:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_clear_uid:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_del:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_exist:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_exportKey:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_finish:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_generate:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_generateKey:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_get:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_getKeyCharacteristics:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_getmtime:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_getState:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_get_pubkey:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_grant:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_importKey:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_importWrappedKey:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_import_key:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_insert:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_isConfirmationPromptSupported:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_isEmpty:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_isOperationAuthorized:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_is_hardware_backed:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_list:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_lock:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_onDeviceOffBody:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_onKeyguardVisibilityChanged:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_onUserAdded:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_onUserPasswordChanged:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_onUserRemoved:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_presentConfirmationPrompt:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_reset:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_sign:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_ungrant:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_unlock:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_update:I
-Landroid/security/IKeystoreService$Stub;->TRANSACTION_verify:I
-Landroid/security/IKeystoreService;
-Landroid/security/IKeystoreService;->abort(Landroid/os/IBinder;)I
-Landroid/security/IKeystoreService;->addAuthToken([B)I
-Landroid/security/IKeystoreService;->addRngEntropy([BI)I
-Landroid/security/IKeystoreService;->attestDeviceIds(Landroid/security/keymaster/KeymasterArguments;Landroid/security/keymaster/KeymasterCertificateChain;)I
-Landroid/security/IKeystoreService;->attestKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;Landroid/security/keymaster/KeymasterCertificateChain;)I
-Landroid/security/IKeystoreService;->begin(Landroid/os/IBinder;Ljava/lang/String;IZLandroid/security/keymaster/KeymasterArguments;[BI)Landroid/security/keymaster/OperationResult;
-Landroid/security/IKeystoreService;->cancelConfirmationPrompt(Landroid/os/IBinder;)I
-Landroid/security/IKeystoreService;->exportKey(Ljava/lang/String;ILandroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;I)Landroid/security/keymaster/ExportResult;
-Landroid/security/IKeystoreService;->finish(Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B[B)Landroid/security/keymaster/OperationResult;
-Landroid/security/IKeystoreService;->generate(Ljava/lang/String;IIIILandroid/security/KeystoreArguments;)I
-Landroid/security/IKeystoreService;->getKeyCharacteristics(Ljava/lang/String;Landroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;ILandroid/security/keymaster/KeyCharacteristics;)I
-Landroid/security/IKeystoreService;->getmtime(Ljava/lang/String;I)J
-Landroid/security/IKeystoreService;->grant(Ljava/lang/String;I)Ljava/lang/String;
-Landroid/security/IKeystoreService;->importKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;I[BIILandroid/security/keymaster/KeyCharacteristics;)I
-Landroid/security/IKeystoreService;->importWrappedKey(Ljava/lang/String;[BLjava/lang/String;[BLandroid/security/keymaster/KeymasterArguments;JJLandroid/security/keymaster/KeyCharacteristics;)I
-Landroid/security/IKeystoreService;->isConfirmationPromptSupported()Z
-Landroid/security/IKeystoreService;->isEmpty(I)I
-Landroid/security/IKeystoreService;->isOperationAuthorized(Landroid/os/IBinder;)Z
-Landroid/security/IKeystoreService;->lock(I)I
-Landroid/security/IKeystoreService;->onDeviceOffBody()I
-Landroid/security/IKeystoreService;->onKeyguardVisibilityChanged(ZI)I
-Landroid/security/IKeystoreService;->onUserAdded(II)I
-Landroid/security/IKeystoreService;->onUserPasswordChanged(ILjava/lang/String;)I
-Landroid/security/IKeystoreService;->onUserRemoved(I)I
-Landroid/security/IKeystoreService;->presentConfirmationPrompt(Landroid/os/IBinder;Ljava/lang/String;[BLjava/lang/String;I)I
-Landroid/security/IKeystoreService;->unlock(ILjava/lang/String;)I
-Landroid/security/IKeystoreService;->update(Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B)Landroid/security/keymaster/OperationResult;
-Landroid/security/KeyChain$AliasResponse;
-Landroid/security/KeyChain$AliasResponse;-><init>(Landroid/security/KeyChainAliasCallback;)V
-Landroid/security/KeyChain$AliasResponse;->alias(Ljava/lang/String;)V
-Landroid/security/KeyChain$AliasResponse;->keyChainAliasResponse:Landroid/security/KeyChainAliasCallback;
-Landroid/security/KeyChain$KeyChainConnection;
-Landroid/security/KeyChain$KeyChainConnection;-><init>(Landroid/content/Context;Landroid/content/ServiceConnection;Landroid/security/IKeyChainService;)V
-Landroid/security/KeyChain$KeyChainConnection;->context:Landroid/content/Context;
-Landroid/security/KeyChain$KeyChainConnection;->getService()Landroid/security/IKeyChainService;
-Landroid/security/KeyChain$KeyChainConnection;->service:Landroid/security/IKeyChainService;
-Landroid/security/KeyChain$KeyChainConnection;->serviceConnection:Landroid/content/ServiceConnection;
-Landroid/security/KeyChain;->ACCOUNT_TYPE:Ljava/lang/String;
-Landroid/security/KeyChain;->ACTION_CHOOSER:Ljava/lang/String;
-Landroid/security/KeyChain;->ACTION_INSTALL:Ljava/lang/String;
-Landroid/security/KeyChain;->bind(Landroid/content/Context;)Landroid/security/KeyChain$KeyChainConnection;
-Landroid/security/KeyChain;->bindAsUser(Landroid/content/Context;Landroid/os/UserHandle;)Landroid/security/KeyChain$KeyChainConnection;
-Landroid/security/KeyChain;->CERT_INSTALLER_PACKAGE:Ljava/lang/String;
-Landroid/security/KeyChain;->ensureNotOnMainThread(Landroid/content/Context;)V
-Landroid/security/KeyChain;->EXTRA_ALIAS:Ljava/lang/String;
-Landroid/security/KeyChain;->EXTRA_RESPONSE:Ljava/lang/String;
-Landroid/security/KeyChain;->EXTRA_SENDER:Ljava/lang/String;
-Landroid/security/KeyChain;->EXTRA_URI:Ljava/lang/String;
-Landroid/security/KeyChain;->getKeyPair(Landroid/content/Context;Ljava/lang/String;)Ljava/security/KeyPair;
-Landroid/security/KeyChain;->KEYCHAIN_PACKAGE:Ljava/lang/String;
-Landroid/security/KeyChain;->KEY_ATTESTATION_CANNOT_ATTEST_IDS:I
-Landroid/security/KeyChain;->KEY_ATTESTATION_CANNOT_COLLECT_DATA:I
-Landroid/security/KeyChain;->KEY_ATTESTATION_FAILURE:I
-Landroid/security/KeyChain;->KEY_ATTESTATION_MISSING_CHALLENGE:I
-Landroid/security/KeyChain;->KEY_ATTESTATION_SUCCESS:I
-Landroid/security/KeyChain;->KEY_GEN_FAILURE:I
-Landroid/security/KeyChain;->KEY_GEN_INVALID_ALGORITHM_PARAMETERS:I
-Landroid/security/KeyChain;->KEY_GEN_MISSING_ALIAS:I
-Landroid/security/KeyChain;->KEY_GEN_NO_KEYSTORE_PROVIDER:I
-Landroid/security/KeyChain;->KEY_GEN_NO_SUCH_ALGORITHM:I
-Landroid/security/KeyChain;->KEY_GEN_SUCCESS:I
-Landroid/security/KeyChain;->KEY_GEN_SUPERFLUOUS_ATTESTATION_CHALLENGE:I
-Landroid/security/KeyChain;->toCertificate([B)Ljava/security/cert/X509Certificate;
-Landroid/security/KeyChain;->toCertificates([B)Ljava/util/Collection;
-Landroid/security/keymaster/ExportResult;
-Landroid/security/keymaster/ExportResult;-><init>(Landroid/os/Parcel;)V
-Landroid/security/keymaster/ExportResult;->exportData:[B
-Landroid/security/keymaster/ExportResult;->resultCode:I
-Landroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub$Proxy;
-Landroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub$Proxy;->getKeyAttestationApplicationId(I)Landroid/security/keymaster/KeyAttestationApplicationId;
-Landroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub;
-Landroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub;-><init>()V
-Landroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/security/keymaster/IKeyAttestationApplicationIdProvider;
-Landroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub;->TRANSACTION_getKeyAttestationApplicationId:I
-Landroid/security/keymaster/IKeyAttestationApplicationIdProvider;
-Landroid/security/keymaster/IKeyAttestationApplicationIdProvider;->getKeyAttestationApplicationId(I)Landroid/security/keymaster/KeyAttestationApplicationId;
-Landroid/security/keymaster/KeyAttestationApplicationId;
-Landroid/security/keymaster/KeyAttestationApplicationId;-><init>(Landroid/os/Parcel;)V
-Landroid/security/keymaster/KeyAttestationApplicationId;-><init>([Landroid/security/keymaster/KeyAttestationPackageInfo;)V
-Landroid/security/keymaster/KeyAttestationApplicationId;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/security/keymaster/KeyAttestationApplicationId;->getAttestationPackageInfos()[Landroid/security/keymaster/KeyAttestationPackageInfo;
-Landroid/security/keymaster/KeyAttestationApplicationId;->mAttestationPackageInfos:[Landroid/security/keymaster/KeyAttestationPackageInfo;
-Landroid/security/keymaster/KeyAttestationPackageInfo;
-Landroid/security/keymaster/KeyAttestationPackageInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/security/keymaster/KeyAttestationPackageInfo;-><init>(Ljava/lang/String;J[Landroid/content/pm/Signature;)V
-Landroid/security/keymaster/KeyAttestationPackageInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/security/keymaster/KeyAttestationPackageInfo;->getPackageName()Ljava/lang/String;
-Landroid/security/keymaster/KeyAttestationPackageInfo;->getPackageSignatures()[Landroid/content/pm/Signature;
-Landroid/security/keymaster/KeyAttestationPackageInfo;->getPackageVersionCode()J
-Landroid/security/keymaster/KeyAttestationPackageInfo;->mPackageName:Ljava/lang/String;
-Landroid/security/keymaster/KeyAttestationPackageInfo;->mPackageSignatures:[Landroid/content/pm/Signature;
-Landroid/security/keymaster/KeyAttestationPackageInfo;->mPackageVersionCode:J
-Landroid/security/keymaster/KeyCharacteristics;
-Landroid/security/keymaster/KeyCharacteristics;-><init>(Landroid/os/Parcel;)V
-Landroid/security/keymaster/KeyCharacteristics;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/security/keymaster/KeyCharacteristics;->getBoolean(I)Z
-Landroid/security/keymaster/KeyCharacteristics;->getDate(I)Ljava/util/Date;
-Landroid/security/keymaster/KeyCharacteristics;->getEnum(I)Ljava/lang/Integer;
-Landroid/security/keymaster/KeyCharacteristics;->getEnums(I)Ljava/util/List;
-Landroid/security/keymaster/KeyCharacteristics;->getUnsignedInt(IJ)J
-Landroid/security/keymaster/KeyCharacteristics;->getUnsignedLongs(I)Ljava/util/List;
-Landroid/security/keymaster/KeyCharacteristics;->hwEnforced:Landroid/security/keymaster/KeymasterArguments;
-Landroid/security/keymaster/KeyCharacteristics;->swEnforced:Landroid/security/keymaster/KeymasterArguments;
-Landroid/security/keymaster/KeymasterArgument;
-Landroid/security/keymaster/KeymasterArgument;-><init>(I)V
-Landroid/security/keymaster/KeymasterArgument;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/security/keymaster/KeymasterArgument;->tag:I
-Landroid/security/keymaster/KeymasterArgument;->writeValue(Landroid/os/Parcel;)V
-Landroid/security/keymaster/KeymasterArguments;
-Landroid/security/keymaster/KeymasterArguments;-><init>(Landroid/os/Parcel;)V
-Landroid/security/keymaster/KeymasterArguments;->addBoolean(I)V
-Landroid/security/keymaster/KeymasterArguments;->addBytes(I[B)V
-Landroid/security/keymaster/KeymasterArguments;->addDate(ILjava/util/Date;)V
-Landroid/security/keymaster/KeymasterArguments;->addDateIfNotNull(ILjava/util/Date;)V
-Landroid/security/keymaster/KeymasterArguments;->addEnums(I[[I)V
-Landroid/security/keymaster/KeymasterArguments;->addEnumTag(II)V
-Landroid/security/keymaster/KeymasterArguments;->addLongTag(ILjava/math/BigInteger;)V
-Landroid/security/keymaster/KeymasterArguments;->containsTag(I)Z
-Landroid/security/keymaster/KeymasterArguments;->getArgumentByTag(I)Landroid/security/keymaster/KeymasterArgument;
-Landroid/security/keymaster/KeymasterArguments;->getBoolean(I)Z
-Landroid/security/keymaster/KeymasterArguments;->getBytes(I[B)[B
-Landroid/security/keymaster/KeymasterArguments;->getDate(ILjava/util/Date;)Ljava/util/Date;
-Landroid/security/keymaster/KeymasterArguments;->getEnum(II)I
-Landroid/security/keymaster/KeymasterArguments;->getEnums(I)Ljava/util/List;
-Landroid/security/keymaster/KeymasterArguments;->getEnumTagValue(Landroid/security/keymaster/KeymasterArgument;)I
-Landroid/security/keymaster/KeymasterArguments;->getLongTagValue(Landroid/security/keymaster/KeymasterArgument;)Ljava/math/BigInteger;
-Landroid/security/keymaster/KeymasterArguments;->getUnsignedInt(IJ)J
-Landroid/security/keymaster/KeymasterArguments;->getUnsignedLongs(I)Ljava/util/List;
-Landroid/security/keymaster/KeymasterArguments;->mArguments:Ljava/util/List;
-Landroid/security/keymaster/KeymasterArguments;->size()I
-Landroid/security/keymaster/KeymasterArguments;->toUint64(J)Ljava/math/BigInteger;
-Landroid/security/keymaster/KeymasterArguments;->UINT32_MAX_VALUE:J
-Landroid/security/keymaster/KeymasterArguments;->UINT32_RANGE:J
-Landroid/security/keymaster/KeymasterArguments;->UINT64_MAX_VALUE:Ljava/math/BigInteger;
-Landroid/security/keymaster/KeymasterArguments;->UINT64_RANGE:Ljava/math/BigInteger;
-Landroid/security/keymaster/KeymasterBlob;
-Landroid/security/keymaster/KeymasterBlob;-><init>(Landroid/os/Parcel;)V
-Landroid/security/keymaster/KeymasterBlob;-><init>([B)V
-Landroid/security/keymaster/KeymasterBlob;->blob:[B
-Landroid/security/keymaster/KeymasterCertificateChain;
-Landroid/security/keymaster/KeymasterCertificateChain;-><init>()V
-Landroid/security/keymaster/KeymasterCertificateChain;-><init>(Landroid/os/Parcel;)V
-Landroid/security/keymaster/KeymasterCertificateChain;-><init>(Ljava/util/List;)V
-Landroid/security/keymaster/KeymasterCertificateChain;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/security/keymaster/KeymasterCertificateChain;->getCertificates()Ljava/util/List;
-Landroid/security/keymaster/KeymasterCertificateChain;->mCertificates:Ljava/util/List;
-Landroid/security/keymaster/KeymasterCertificateChain;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/security/keymaster/KeymasterDefs;
-Landroid/security/keymaster/KeymasterDefs;-><init>()V
-Landroid/security/keymaster/KeymasterDefs;->getErrorMessage(I)Ljava/lang/String;
-Landroid/security/keymaster/KeymasterDefs;->getTagType(I)I
-Landroid/security/keymaster/KeymasterDefs;->HW_AUTH_FINGERPRINT:I
-Landroid/security/keymaster/KeymasterDefs;->HW_AUTH_PASSWORD:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ALGORITHM_3DES:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ALGORITHM_AES:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ALGORITHM_EC:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ALGORITHM_HMAC:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ALGORITHM_RSA:I
-Landroid/security/keymaster/KeymasterDefs;->KM_BIGNUM:I
-Landroid/security/keymaster/KeymasterDefs;->KM_BLOB_REQUIRES_FILE_SYSTEM:I
-Landroid/security/keymaster/KeymasterDefs;->KM_BLOB_STANDALONE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_BOOL:I
-Landroid/security/keymaster/KeymasterDefs;->KM_BYTES:I
-Landroid/security/keymaster/KeymasterDefs;->KM_DATE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_DIGEST_MD5:I
-Landroid/security/keymaster/KeymasterDefs;->KM_DIGEST_NONE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_DIGEST_SHA1:I
-Landroid/security/keymaster/KeymasterDefs;->KM_DIGEST_SHA_2_224:I
-Landroid/security/keymaster/KeymasterDefs;->KM_DIGEST_SHA_2_256:I
-Landroid/security/keymaster/KeymasterDefs;->KM_DIGEST_SHA_2_384:I
-Landroid/security/keymaster/KeymasterDefs;->KM_DIGEST_SHA_2_512:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ENUM:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ENUM_REP:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_CALLER_NONCE_PROHIBITED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_CANNOT_ATTEST_IDS:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_CONCURRENT_ACCESS_CONFLICT:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_DELEGATION_NOT_ALLOWED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_DEVICE_LOCKED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_IMPORTED_KEY_DECRYPTION_FAILED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_IMPORTED_KEY_NOT_ENCRYPTED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_IMPORTED_KEY_NOT_SIGNED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_IMPORTED_KEY_VERIFICATION_FAILED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_IMPORT_PARAMETER_MISMATCH:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_INCOMPATIBLE_ALGORITHM:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_INCOMPATIBLE_BLOCK_MODE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_INCOMPATIBLE_DIGEST:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_INCOMPATIBLE_KEY_FORMAT:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_INCOMPATIBLE_PADDING_MODE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_INCOMPATIBLE_PURPOSE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_INSUFFICIENT_BUFFER_SPACE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_INVALID_ARGUMENT:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_INVALID_AUTHORIZATION_TIMEOUT:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_INVALID_EXPIRATION_TIME:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_INVALID_INPUT_LENGTH:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_INVALID_KEY_BLOB:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_INVALID_MAC_LENGTH:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_INVALID_NONCE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_INVALID_OPERATION_HANDLE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_INVALID_RESCOPING:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_INVALID_TAG:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_INVALID_USER_ID:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_KEY_EXPIRED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_KEY_EXPORT_OPTIONS_INVALID:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_KEY_MAX_OPS_EXCEEDED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_KEY_NOT_YET_VALID:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_KEY_RATE_LIMIT_EXCEEDED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_KEY_USER_NOT_AUTHENTICATED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_MEMORY_ALLOCATION_FAILED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_MISSING_MAC_LENGTH:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_MISSING_MIN_MAC_LENGTH:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_MISSING_NONCE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_OK:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_OPERATION_CANCELLED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_OUTPUT_PARAMETER_NULL:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_ROOT_OF_TRUST_ALREADY_SET:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_SECURE_HW_ACCESS_DENIED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_SECURE_HW_BUSY:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_SECURE_HW_COMMUNICATION_FAILED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_TOO_MANY_OPERATIONS:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_UNEXPECTED_NULL_POINTER:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_UNIMPLEMENTED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_UNKNOWN_ERROR:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_UNSUPPORTED_ALGORITHM:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_UNSUPPORTED_BLOCK_MODE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_UNSUPPORTED_DIGEST:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_UNSUPPORTED_EC_FIELD:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_UNSUPPORTED_KEY_ENCRYPTION_ALGORITHM:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_UNSUPPORTED_KEY_FORMAT:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_UNSUPPORTED_KEY_SIZE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_UNSUPPORTED_KEY_VERIFICATION_ALGORITHM:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_UNSUPPORTED_MAC_LENGTH:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_UNSUPPORTED_MIN_MAC_LENGTH:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_UNSUPPORTED_PADDING_MODE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_UNSUPPORTED_PURPOSE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_UNSUPPORTED_TAG:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_VERIFICATION_FAILED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ERROR_VERSION_MISMATCH:I
-Landroid/security/keymaster/KeymasterDefs;->KM_INVALID:I
-Landroid/security/keymaster/KeymasterDefs;->KM_KEY_FORMAT_PKCS8:I
-Landroid/security/keymaster/KeymasterDefs;->KM_KEY_FORMAT_RAW:I
-Landroid/security/keymaster/KeymasterDefs;->KM_KEY_FORMAT_X509:I
-Landroid/security/keymaster/KeymasterDefs;->KM_MODE_CBC:I
-Landroid/security/keymaster/KeymasterDefs;->KM_MODE_CTR:I
-Landroid/security/keymaster/KeymasterDefs;->KM_MODE_ECB:I
-Landroid/security/keymaster/KeymasterDefs;->KM_MODE_GCM:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ORIGIN_GENERATED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ORIGIN_IMPORTED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ORIGIN_SECURELY_IMPORTED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ORIGIN_UNKNOWN:I
-Landroid/security/keymaster/KeymasterDefs;->KM_PAD_NONE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_PAD_PKCS7:I
-Landroid/security/keymaster/KeymasterDefs;->KM_PAD_RSA_OAEP:I
-Landroid/security/keymaster/KeymasterDefs;->KM_PAD_RSA_PKCS1_1_5_ENCRYPT:I
-Landroid/security/keymaster/KeymasterDefs;->KM_PAD_RSA_PKCS1_1_5_SIGN:I
-Landroid/security/keymaster/KeymasterDefs;->KM_PAD_RSA_PSS:I
-Landroid/security/keymaster/KeymasterDefs;->KM_PURPOSE_DECRYPT:I
-Landroid/security/keymaster/KeymasterDefs;->KM_PURPOSE_ENCRYPT:I
-Landroid/security/keymaster/KeymasterDefs;->KM_PURPOSE_SIGN:I
-Landroid/security/keymaster/KeymasterDefs;->KM_PURPOSE_VERIFY:I
-Landroid/security/keymaster/KeymasterDefs;->KM_PURPOSE_WRAP:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_ACTIVE_DATETIME:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_ALGORITHM:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_ALLOW_WHILE_ON_BODY:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_ALL_APPLICATIONS:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_ALL_USERS:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_APPLICATION_ID:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_ASSOCIATED_DATA:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_ATTESTATION_CHALLENGE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_ATTESTATION_ID_BRAND:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_ATTESTATION_ID_DEVICE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_ATTESTATION_ID_IMEI:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_ATTESTATION_ID_MANUFACTURER:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_ATTESTATION_ID_MEID:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_ATTESTATION_ID_MODEL:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_ATTESTATION_ID_PRODUCT:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_ATTESTATION_ID_SERIAL:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_AUTH_TIMEOUT:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_AUTH_TOKEN:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_BLOB_USAGE_REQUIREMENTS:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_BLOCK_MODE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_CALLER_NONCE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_CREATION_DATETIME:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_DIGEST:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_INCLUDE_UNIQUE_ID:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_INVALID:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_KEY_SIZE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_MAC_LENGTH:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_MAX_USES_PER_BOOT:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_MIN_MAC_LENGTH:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_MIN_SECONDS_BETWEEN_OPS:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_NONCE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_NO_AUTH_REQUIRED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_ORIGIN:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_ORIGINATION_EXPIRE_DATETIME:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_PADDING:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_PURPOSE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_RESCOPING_ADD:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_RESCOPING_DEL:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_ROLLBACK_RESISTANT:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_ROOT_OF_TRUST:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_RSA_PUBLIC_EXPONENT:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_TRUSTED_CONFIRMATION_REQUIRED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_TRUSTED_USER_PRESENCE_REQUIRED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_UNIQUE_ID:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_UNLOCKED_DEVICE_REQUIRED:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_USAGE_EXPIRE_DATETIME:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_USER_AUTH_TYPE:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_USER_ID:I
-Landroid/security/keymaster/KeymasterDefs;->KM_TAG_USER_SECURE_ID:I
-Landroid/security/keymaster/KeymasterDefs;->KM_UINT:I
-Landroid/security/keymaster/KeymasterDefs;->KM_UINT_REP:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ULONG:I
-Landroid/security/keymaster/KeymasterDefs;->KM_ULONG_REP:I
-Landroid/security/keymaster/KeymasterDefs;->sErrorCodeToString:Ljava/util/Map;
-Landroid/security/keymaster/OperationResult;
-Landroid/security/keymaster/OperationResult;-><init>(ILandroid/os/IBinder;JI[BLandroid/security/keymaster/KeymasterArguments;)V
-Landroid/security/keymaster/OperationResult;-><init>(Landroid/os/Parcel;)V
-Landroid/security/keymaster/OperationResult;->inputConsumed:I
-Landroid/security/keymaster/OperationResult;->operationHandle:J
-Landroid/security/keymaster/OperationResult;->outParams:Landroid/security/keymaster/KeymasterArguments;
-Landroid/security/keymaster/OperationResult;->output:[B
-Landroid/security/keymaster/OperationResult;->resultCode:I
-Landroid/security/keymaster/OperationResult;->token:Landroid/os/IBinder;
-Landroid/security/KeyPairGeneratorSpec$Builder;->mContext:Landroid/content/Context;
-Landroid/security/KeyPairGeneratorSpec$Builder;->mEndDate:Ljava/util/Date;
-Landroid/security/KeyPairGeneratorSpec$Builder;->mFlags:I
-Landroid/security/KeyPairGeneratorSpec$Builder;->mKeySize:I
-Landroid/security/KeyPairGeneratorSpec$Builder;->mKeystoreAlias:Ljava/lang/String;
-Landroid/security/KeyPairGeneratorSpec$Builder;->mKeyType:Ljava/lang/String;
-Landroid/security/KeyPairGeneratorSpec$Builder;->mSerialNumber:Ljava/math/BigInteger;
-Landroid/security/KeyPairGeneratorSpec$Builder;->mSpec:Ljava/security/spec/AlgorithmParameterSpec;
-Landroid/security/KeyPairGeneratorSpec$Builder;->mStartDate:Ljava/util/Date;
-Landroid/security/KeyPairGeneratorSpec$Builder;->mSubjectDN:Ljavax/security/auth/x500/X500Principal;
-Landroid/security/KeyPairGeneratorSpec;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;ILjava/security/spec/AlgorithmParameterSpec;Ljavax/security/auth/x500/X500Principal;Ljava/math/BigInteger;Ljava/util/Date;Ljava/util/Date;I)V
-Landroid/security/KeyPairGeneratorSpec;->getFlags()I
-Landroid/security/KeyPairGeneratorSpec;->mContext:Landroid/content/Context;
-Landroid/security/KeyPairGeneratorSpec;->mEndDate:Ljava/util/Date;
-Landroid/security/KeyPairGeneratorSpec;->mFlags:I
-Landroid/security/KeyPairGeneratorSpec;->mKeySize:I
-Landroid/security/KeyPairGeneratorSpec;->mKeystoreAlias:Ljava/lang/String;
-Landroid/security/KeyPairGeneratorSpec;->mKeyType:Ljava/lang/String;
-Landroid/security/KeyPairGeneratorSpec;->mSerialNumber:Ljava/math/BigInteger;
-Landroid/security/KeyPairGeneratorSpec;->mSpec:Ljava/security/spec/AlgorithmParameterSpec;
-Landroid/security/KeyPairGeneratorSpec;->mStartDate:Ljava/util/Date;
-Landroid/security/KeyPairGeneratorSpec;->mSubjectDN:Ljavax/security/auth/x500/X500Principal;
-Landroid/security/KeyStore$State;
-Landroid/security/KeyStore$State;-><init>()V
-Landroid/security/KeyStore$State;->UNINITIALIZED:Landroid/security/KeyStore$State;
-Landroid/security/KeyStore$State;->valueOf(Ljava/lang/String;)Landroid/security/KeyStore$State;
-Landroid/security/KeyStore$State;->values()[Landroid/security/KeyStore$State;
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi$CBC$NoPadding;
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi$CBC$NoPadding;-><init>()V
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi$CBC$PKCS7Padding;
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi$CBC$PKCS7Padding;-><init>()V
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi$CBC;
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi$CBC;-><init>(I)V
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi$ECB$NoPadding;
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi$ECB$NoPadding;-><init>()V
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi$ECB$PKCS7Padding;
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi$ECB$PKCS7Padding;-><init>()V
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi$ECB;
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi$ECB;-><init>(I)V
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi;
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi;-><init>(IIZ)V
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi;->addAlgorithmSpecificParametersToBegin(Landroid/security/keymaster/KeymasterArguments;)V
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi;->BLOCK_SIZE_BYTES:I
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi;->getAdditionalEntropyAmountForBegin()I
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi;->getAdditionalEntropyAmountForFinish()I
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi;->initAlgorithmSpecificParameters()V
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi;->initAlgorithmSpecificParameters(Ljava/security/AlgorithmParameters;)V
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi;->initAlgorithmSpecificParameters(Ljava/security/spec/AlgorithmParameterSpec;)V
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi;->initKey(ILjava/security/Key;)V
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi;->loadAlgorithmSpecificParametersFromBeginResult(Landroid/security/keymaster/KeymasterArguments;)V
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi;->mIv:[B
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi;->mIvHasBeenUsed:Z
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi;->mIvRequired:Z
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi;->mKeymasterBlockMode:I
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi;->mKeymasterPadding:I
-Landroid/security/keystore/AndroidKeyStore3DESCipherSpi;->resetAll()V
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;-><init>()V
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->addAlgorithmSpecificParametersToBegin(Landroid/security/keymaster/KeymasterArguments;)V
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->createAdditionalAuthenticationDataStreamer(Landroid/security/KeyStore;Landroid/os/IBinder;)Landroid/security/keystore/KeyStoreCryptoOperationStreamer;
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->createMainDataStreamer(Landroid/security/KeyStore;Landroid/os/IBinder;)Landroid/security/keystore/KeyStoreCryptoOperationStreamer;
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->ensureKeystoreOperationInitialized()V
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->flushAAD()V
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->getAdditionalEntropyAmountForBegin()I
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->getAdditionalEntropyAmountForFinish()I
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->getConsumedInputSizeBytes()J
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->getKeymasterPurposeOverride()I
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->getKeyStore()Landroid/security/KeyStore;
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->getOperationHandle()J
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->getProducedOutputSizeBytes()J
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->init(ILjava/security/Key;Ljava/security/SecureRandom;)V
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->initAlgorithmSpecificParameters()V
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->initAlgorithmSpecificParameters(Ljava/security/AlgorithmParameters;)V
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->initAlgorithmSpecificParameters(Ljava/security/spec/AlgorithmParameterSpec;)V
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->initKey(ILjava/security/Key;)V
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->isEncrypting()Z
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->loadAlgorithmSpecificParametersFromBeginResult(Landroid/security/keymaster/KeymasterArguments;)V
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->mAdditionalAuthenticationDataStreamer:Landroid/security/keystore/KeyStoreCryptoOperationStreamer;
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->mAdditionalAuthenticationDataStreamerClosed:Z
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->mCachedException:Ljava/lang/Exception;
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->mEncrypting:Z
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->mKey:Landroid/security/keystore/AndroidKeyStoreKey;
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->mKeymasterPurposeOverride:I
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->mKeyStore:Landroid/security/KeyStore;
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->mMainDataStreamer:Landroid/security/keystore/KeyStoreCryptoOperationStreamer;
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->mOperationHandle:J
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->mOperationToken:Landroid/os/IBinder;
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->mRng:Ljava/security/SecureRandom;
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->opmodeToString(I)Ljava/lang/String;
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->resetAll()V
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->resetWhilePreservingInitState()V
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->setKey(Landroid/security/keystore/AndroidKeyStoreKey;)V
-Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;->setKeymasterPurposeOverride(I)V
-Landroid/security/keystore/AndroidKeyStoreECPrivateKey;
-Landroid/security/keystore/AndroidKeyStoreECPrivateKey;-><init>(Ljava/lang/String;ILjava/security/spec/ECParameterSpec;)V
-Landroid/security/keystore/AndroidKeyStoreECPrivateKey;->mParams:Ljava/security/spec/ECParameterSpec;
-Landroid/security/keystore/AndroidKeyStoreECPublicKey;
-Landroid/security/keystore/AndroidKeyStoreECPublicKey;-><init>(Ljava/lang/String;ILjava/security/interfaces/ECPublicKey;)V
-Landroid/security/keystore/AndroidKeyStoreECPublicKey;-><init>(Ljava/lang/String;I[BLjava/security/spec/ECParameterSpec;Ljava/security/spec/ECPoint;)V
-Landroid/security/keystore/AndroidKeyStoreECPublicKey;->mParams:Ljava/security/spec/ECParameterSpec;
-Landroid/security/keystore/AndroidKeyStoreECPublicKey;->mW:Ljava/security/spec/ECPoint;
-Landroid/security/keystore/AndroidKeyStoreHmacSpi$HmacSHA1;
-Landroid/security/keystore/AndroidKeyStoreHmacSpi$HmacSHA1;-><init>()V
-Landroid/security/keystore/AndroidKeyStoreHmacSpi$HmacSHA224;
-Landroid/security/keystore/AndroidKeyStoreHmacSpi$HmacSHA224;-><init>()V
-Landroid/security/keystore/AndroidKeyStoreHmacSpi$HmacSHA256;
-Landroid/security/keystore/AndroidKeyStoreHmacSpi$HmacSHA256;-><init>()V
-Landroid/security/keystore/AndroidKeyStoreHmacSpi$HmacSHA384;
-Landroid/security/keystore/AndroidKeyStoreHmacSpi$HmacSHA384;-><init>()V
-Landroid/security/keystore/AndroidKeyStoreHmacSpi$HmacSHA512;
-Landroid/security/keystore/AndroidKeyStoreHmacSpi$HmacSHA512;-><init>()V
-Landroid/security/keystore/AndroidKeyStoreHmacSpi;
-Landroid/security/keystore/AndroidKeyStoreHmacSpi;-><init>(I)V
-Landroid/security/keystore/AndroidKeyStoreHmacSpi;->ensureKeystoreOperationInitialized()V
-Landroid/security/keystore/AndroidKeyStoreHmacSpi;->getOperationHandle()J
-Landroid/security/keystore/AndroidKeyStoreHmacSpi;->init(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
-Landroid/security/keystore/AndroidKeyStoreHmacSpi;->mChunkedStreamer:Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;
-Landroid/security/keystore/AndroidKeyStoreHmacSpi;->mKey:Landroid/security/keystore/AndroidKeyStoreSecretKey;
-Landroid/security/keystore/AndroidKeyStoreHmacSpi;->mKeymasterDigest:I
-Landroid/security/keystore/AndroidKeyStoreHmacSpi;->mKeyStore:Landroid/security/KeyStore;
-Landroid/security/keystore/AndroidKeyStoreHmacSpi;->mMacSizeBits:I
-Landroid/security/keystore/AndroidKeyStoreHmacSpi;->mOperationHandle:J
-Landroid/security/keystore/AndroidKeyStoreHmacSpi;->mOperationToken:Landroid/os/IBinder;
-Landroid/security/keystore/AndroidKeyStoreHmacSpi;->resetAll()V
-Landroid/security/keystore/AndroidKeyStoreHmacSpi;->resetWhilePreservingInitState()V
-Landroid/security/keystore/AndroidKeyStoreKey;
-Landroid/security/keystore/AndroidKeyStoreKey;-><init>(Ljava/lang/String;ILjava/lang/String;)V
-Landroid/security/keystore/AndroidKeyStoreKey;->getAlias()Ljava/lang/String;
-Landroid/security/keystore/AndroidKeyStoreKey;->getUid()I
-Landroid/security/keystore/AndroidKeyStoreKey;->mAlgorithm:Ljava/lang/String;
-Landroid/security/keystore/AndroidKeyStoreKey;->mAlias:Ljava/lang/String;
-Landroid/security/keystore/AndroidKeyStoreKey;->mUid:I
-Landroid/security/keystore/AndroidKeyStoreKeyFactorySpi;
-Landroid/security/keystore/AndroidKeyStoreKeyFactorySpi;-><init>()V
-Landroid/security/keystore/AndroidKeyStoreKeyFactorySpi;->mKeyStore:Landroid/security/KeyStore;
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi$AES;
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi$AES;-><init>()V
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi$DESede;
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi$DESede;-><init>()V
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi$HmacBase;
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi$HmacBase;-><init>(I)V
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi$HmacSHA1;
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi$HmacSHA1;-><init>()V
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi$HmacSHA224;
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi$HmacSHA224;-><init>()V
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi$HmacSHA256;
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi$HmacSHA256;-><init>()V
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi$HmacSHA384;
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi$HmacSHA384;-><init>()V
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi$HmacSHA512;
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi$HmacSHA512;-><init>()V
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi;
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi;-><init>(II)V
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi;-><init>(III)V
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi;->mDefaultKeySizeBits:I
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi;->mKeymasterAlgorithm:I
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi;->mKeymasterBlockModes:[I
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi;->mKeymasterDigest:I
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi;->mKeymasterDigests:[I
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi;->mKeymasterPaddings:[I
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi;->mKeymasterPurposes:[I
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi;->mKeySizeBits:I
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi;->mKeyStore:Landroid/security/KeyStore;
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi;->mRng:Ljava/security/SecureRandom;
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi;->mSpec:Landroid/security/keystore/KeyGenParameterSpec;
-Landroid/security/keystore/AndroidKeyStoreKeyGeneratorSpi;->resetAll()V
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi$EC;
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi$EC;-><init>()V
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi$RSA;
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi$RSA;-><init>()V
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;-><init>(I)V
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->addAlgorithmSpecificParameters(Landroid/security/keymaster/KeymasterArguments;)V
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->checkValidKeySize(II)V
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->constructKeyGenerationArguments()Landroid/security/keymaster/KeymasterArguments;
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->createCertificateChain(Ljava/lang/String;Ljava/security/KeyPair;)Ljava/lang/Iterable;
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->EC_DEFAULT_KEY_SIZE:I
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->generateKeystoreKeyPair(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;[BI)V
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->generateSelfSignedCertificate(Ljava/security/PrivateKey;Ljava/security/PublicKey;)Ljava/security/cert/X509Certificate;
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->generateSelfSignedCertificateBytes(Ljava/security/KeyPair;)[B
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->generateSelfSignedCertificateWithFakeSignature(Ljava/security/PublicKey;)Ljava/security/cert/X509Certificate;
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->generateSelfSignedCertificateWithValidSignature(Ljava/security/PrivateKey;Ljava/security/PublicKey;Ljava/lang/String;)Ljava/security/cert/X509Certificate;
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->getAttestationChain(Ljava/lang/String;Ljava/security/KeyPair;Landroid/security/keymaster/KeymasterArguments;)Ljava/lang/Iterable;
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->getAvailableKeymasterSignatureDigests([Ljava/lang/String;[Ljava/lang/String;)Ljava/util/Set;
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->getCertificateSignatureAlgorithm(IILandroid/security/keystore/KeyGenParameterSpec;)Ljava/lang/String;
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->getDefaultKeySize(I)I
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->initAlgorithmSpecificParameters()V
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->loadKeystoreKeyPair(Ljava/lang/String;)Ljava/security/KeyPair;
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->mEncryptionAtRestRequired:Z
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->mEntryAlias:Ljava/lang/String;
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->mEntryUid:I
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->mJcaKeyAlgorithm:Ljava/lang/String;
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->mKeymasterAlgorithm:I
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->mKeymasterBlockModes:[I
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->mKeymasterDigests:[I
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->mKeymasterEncryptionPaddings:[I
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->mKeymasterPurposes:[I
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->mKeymasterSignaturePaddings:[I
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->mKeySizeBits:I
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->mKeyStore:Landroid/security/KeyStore;
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->mOriginalKeymasterAlgorithm:I
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->mRng:Ljava/security/SecureRandom;
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->mRSAPublicExponent:Ljava/math/BigInteger;
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->mSpec:Landroid/security/keystore/KeyGenParameterSpec;
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->resetAll()V
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->RSA_DEFAULT_KEY_SIZE:I
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->RSA_MAX_KEY_SIZE:I
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->RSA_MIN_KEY_SIZE:I
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->storeCertificate(Ljava/lang/String;[BILjava/lang/String;)V
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->storeCertificateChain(ILjava/lang/Iterable;)V
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->SUPPORTED_EC_NIST_CURVE_NAMES:Ljava/util/List;
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->SUPPORTED_EC_NIST_CURVE_NAME_TO_SIZE:Ljava/util/Map;
-Landroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->SUPPORTED_EC_NIST_CURVE_SIZES:Ljava/util/List;
-Landroid/security/keystore/AndroidKeyStorePrivateKey;
-Landroid/security/keystore/AndroidKeyStorePrivateKey;-><init>(Ljava/lang/String;ILjava/lang/String;)V
-Landroid/security/keystore/AndroidKeyStoreProvider;
-Landroid/security/keystore/AndroidKeyStoreProvider;-><init>()V
-Landroid/security/keystore/AndroidKeyStoreProvider;->DESEDE_SYSTEM_PROPERTY:Ljava/lang/String;
-Landroid/security/keystore/AndroidKeyStoreProvider;->getAndroidKeyStorePrivateKey(Landroid/security/keystore/AndroidKeyStorePublicKey;)Landroid/security/keystore/AndroidKeyStorePrivateKey;
-Landroid/security/keystore/AndroidKeyStoreProvider;->getAndroidKeyStorePublicKey(Ljava/lang/String;ILjava/lang/String;[B)Landroid/security/keystore/AndroidKeyStorePublicKey;
-Landroid/security/keystore/AndroidKeyStoreProvider;->getKeyCharacteristics(Landroid/security/KeyStore;Ljava/lang/String;I)Landroid/security/keymaster/KeyCharacteristics;
-Landroid/security/keystore/AndroidKeyStoreProvider;->getKeyStoreForUid(I)Ljava/security/KeyStore;
-Landroid/security/keystore/AndroidKeyStoreProvider;->install()V
-Landroid/security/keystore/AndroidKeyStoreProvider;->loadAndroidKeyStoreKeyFromKeystore(Landroid/security/KeyStore;Ljava/lang/String;I)Landroid/security/keystore/AndroidKeyStoreKey;
-Landroid/security/keystore/AndroidKeyStoreProvider;->loadAndroidKeyStoreKeyPairFromKeystore(Landroid/security/KeyStore;Ljava/lang/String;I)Ljava/security/KeyPair;
-Landroid/security/keystore/AndroidKeyStoreProvider;->loadAndroidKeyStoreKeyPairFromKeystore(Landroid/security/KeyStore;Ljava/lang/String;ILandroid/security/keymaster/KeyCharacteristics;)Ljava/security/KeyPair;
-Landroid/security/keystore/AndroidKeyStoreProvider;->loadAndroidKeyStorePrivateKeyFromKeystore(Landroid/security/KeyStore;Ljava/lang/String;I)Landroid/security/keystore/AndroidKeyStorePrivateKey;
-Landroid/security/keystore/AndroidKeyStoreProvider;->loadAndroidKeyStorePrivateKeyFromKeystore(Landroid/security/KeyStore;Ljava/lang/String;ILandroid/security/keymaster/KeyCharacteristics;)Landroid/security/keystore/AndroidKeyStorePrivateKey;
-Landroid/security/keystore/AndroidKeyStoreProvider;->loadAndroidKeyStorePublicKeyFromKeystore(Landroid/security/KeyStore;Ljava/lang/String;I)Landroid/security/keystore/AndroidKeyStorePublicKey;
-Landroid/security/keystore/AndroidKeyStoreProvider;->loadAndroidKeyStorePublicKeyFromKeystore(Landroid/security/KeyStore;Ljava/lang/String;ILandroid/security/keymaster/KeyCharacteristics;)Landroid/security/keystore/AndroidKeyStorePublicKey;
-Landroid/security/keystore/AndroidKeyStoreProvider;->loadAndroidKeyStoreSecretKeyFromKeystore(Ljava/lang/String;ILandroid/security/keymaster/KeyCharacteristics;)Landroid/security/keystore/AndroidKeyStoreSecretKey;
-Landroid/security/keystore/AndroidKeyStoreProvider;->PACKAGE_NAME:Ljava/lang/String;
-Landroid/security/keystore/AndroidKeyStoreProvider;->PROVIDER_NAME:Ljava/lang/String;
-Landroid/security/keystore/AndroidKeyStoreProvider;->putKeyFactoryImpl(Ljava/lang/String;)V
-Landroid/security/keystore/AndroidKeyStoreProvider;->putSecretKeyFactoryImpl(Ljava/lang/String;)V
-Landroid/security/keystore/AndroidKeyStorePublicKey;
-Landroid/security/keystore/AndroidKeyStorePublicKey;-><init>(Ljava/lang/String;ILjava/lang/String;[B)V
-Landroid/security/keystore/AndroidKeyStorePublicKey;->mEncoded:[B
-Landroid/security/keystore/AndroidKeyStoreRSAPrivateKey;
-Landroid/security/keystore/AndroidKeyStoreRSAPrivateKey;-><init>(Ljava/lang/String;ILjava/math/BigInteger;)V
-Landroid/security/keystore/AndroidKeyStoreRSAPrivateKey;->mModulus:Ljava/math/BigInteger;
-Landroid/security/keystore/AndroidKeyStoreRSAPublicKey;
-Landroid/security/keystore/AndroidKeyStoreRSAPublicKey;-><init>(Ljava/lang/String;ILjava/security/interfaces/RSAPublicKey;)V
-Landroid/security/keystore/AndroidKeyStoreRSAPublicKey;-><init>(Ljava/lang/String;I[BLjava/math/BigInteger;Ljava/math/BigInteger;)V
-Landroid/security/keystore/AndroidKeyStoreRSAPublicKey;->mModulus:Ljava/math/BigInteger;
-Landroid/security/keystore/AndroidKeyStoreRSAPublicKey;->mPublicExponent:Ljava/math/BigInteger;
-Landroid/security/keystore/AndroidKeyStoreSecretKey;
-Landroid/security/keystore/AndroidKeyStoreSecretKey;-><init>(Ljava/lang/String;ILjava/lang/String;)V
-Landroid/security/keystore/AndroidKeyStoreSecretKeyFactorySpi;
-Landroid/security/keystore/AndroidKeyStoreSecretKeyFactorySpi;-><init>()V
-Landroid/security/keystore/AndroidKeyStoreSecretKeyFactorySpi;->engineGetKeySpec(Ljavax/crypto/SecretKey;Ljava/lang/Class;)Ljava/security/spec/KeySpec;
-Landroid/security/keystore/AndroidKeyStoreSecretKeyFactorySpi;->getGateKeeperSecureUserId()Ljava/math/BigInteger;
-Landroid/security/keystore/AndroidKeyStoreSecretKeyFactorySpi;->getKeyInfo(Landroid/security/KeyStore;Ljava/lang/String;Ljava/lang/String;I)Landroid/security/keystore/KeyInfo;
-Landroid/security/keystore/AndroidKeyStoreSecretKeyFactorySpi;->mKeyStore:Landroid/security/KeyStore;
-Landroid/security/keystore/AndroidKeyStoreSpi$KeyStoreX509Certificate;
-Landroid/security/keystore/AndroidKeyStoreSpi$KeyStoreX509Certificate;-><init>(Ljava/lang/String;ILjava/security/cert/X509Certificate;)V
-Landroid/security/keystore/AndroidKeyStoreSpi$KeyStoreX509Certificate;->mPrivateKeyAlias:Ljava/lang/String;
-Landroid/security/keystore/AndroidKeyStoreSpi$KeyStoreX509Certificate;->mPrivateKeyUid:I
-Landroid/security/keystore/AndroidKeyStoreSpi;
-Landroid/security/keystore/AndroidKeyStoreSpi;-><init>()V
-Landroid/security/keystore/AndroidKeyStoreSpi;->getCertificateForPrivateKeyEntry(Ljava/lang/String;[B)Ljava/security/cert/Certificate;
-Landroid/security/keystore/AndroidKeyStoreSpi;->getCertificateForTrustedCertificateEntry([B)Ljava/security/cert/Certificate;
-Landroid/security/keystore/AndroidKeyStoreSpi;->getLegacyKeyProtectionParameter(Ljava/security/PrivateKey;)Landroid/security/keystore/KeyProtection;
-Landroid/security/keystore/AndroidKeyStoreSpi;->getModificationDate(Ljava/lang/String;)Ljava/util/Date;
-Landroid/security/keystore/AndroidKeyStoreSpi;->getUniqueAliases()Ljava/util/Set;
-Landroid/security/keystore/AndroidKeyStoreSpi;->isCertificateEntry(Ljava/lang/String;)Z
-Landroid/security/keystore/AndroidKeyStoreSpi;->isKeyEntry(Ljava/lang/String;)Z
-Landroid/security/keystore/AndroidKeyStoreSpi;->mKeyStore:Landroid/security/KeyStore;
-Landroid/security/keystore/AndroidKeyStoreSpi;->mUid:I
-Landroid/security/keystore/AndroidKeyStoreSpi;->NAME:Ljava/lang/String;
-Landroid/security/keystore/AndroidKeyStoreSpi;->setPrivateKeyEntry(Ljava/lang/String;Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;Ljava/security/KeyStore$ProtectionParameter;)V
-Landroid/security/keystore/AndroidKeyStoreSpi;->setSecretKeyEntry(Ljava/lang/String;Ljavax/crypto/SecretKey;Ljava/security/KeyStore$ProtectionParameter;)V
-Landroid/security/keystore/AndroidKeyStoreSpi;->setWrappedKeyEntry(Ljava/lang/String;Landroid/security/keystore/WrappedKeyEntry;Ljava/security/KeyStore$ProtectionParameter;)V
-Landroid/security/keystore/AndroidKeyStoreSpi;->toCertificate([B)Ljava/security/cert/X509Certificate;
-Landroid/security/keystore/AndroidKeyStoreSpi;->toCertificates([B)Ljava/util/Collection;
-Landroid/security/keystore/AndroidKeyStoreSpi;->wrapIntoKeyStoreCertificate(Ljava/lang/String;ILjava/security/cert/X509Certificate;)Landroid/security/keystore/AndroidKeyStoreSpi$KeyStoreX509Certificate;
-Landroid/security/keystore/ArrayUtils;
-Landroid/security/keystore/ArrayUtils;-><init>()V
-Landroid/security/keystore/ArrayUtils;->cloneIfNotEmpty([B)[B
-Landroid/security/keystore/ArrayUtils;->cloneIfNotEmpty([Ljava/lang/String;)[Ljava/lang/String;
-Landroid/security/keystore/ArrayUtils;->concat([BII[BII)[B
-Landroid/security/keystore/ArrayUtils;->concat([B[B)[B
-Landroid/security/keystore/ArrayUtils;->concat([I[I)[I
-Landroid/security/keystore/ArrayUtils;->nullToEmpty([Ljava/lang/String;)[Ljava/lang/String;
-Landroid/security/keystore/ArrayUtils;->subarray([BII)[B
-Landroid/security/keystore/AttestationUtils;-><init>()V
-Landroid/security/keystore/AttestationUtils;->isChainValid(Landroid/security/keymaster/KeymasterCertificateChain;)Z
-Landroid/security/keystore/AttestationUtils;->parseCertificateChain(Landroid/security/keymaster/KeymasterCertificateChain;)[Ljava/security/cert/X509Certificate;
-Landroid/security/keystore/AttestationUtils;->prepareAttestationArguments(Landroid/content/Context;[I[B)Landroid/security/keymaster/KeymasterArguments;
-Landroid/security/keystore/AttestationUtils;->prepareAttestationArgumentsForDeviceId(Landroid/content/Context;[I[B)Landroid/security/keymaster/KeymasterArguments;
-Landroid/security/keystore/DelegatingX509Certificate;
-Landroid/security/keystore/DelegatingX509Certificate;-><init>(Ljava/security/cert/X509Certificate;)V
-Landroid/security/keystore/DelegatingX509Certificate;->mDelegate:Ljava/security/cert/X509Certificate;
-Landroid/security/keystore/DeviceIdAttestationException;
-Landroid/security/keystore/DeviceIdAttestationException;-><init>(Ljava/lang/String;)V
-Landroid/security/keystore/DeviceIdAttestationException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-Landroid/security/keystore/KeyAttestationException;
-Landroid/security/keystore/KeyAttestationException;-><init>(Ljava/lang/String;)V
-Landroid/security/keystore/KeyAttestationException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-Landroid/security/keystore/KeyGenParameterSpec$Builder;-><init>(Landroid/security/keystore/KeyGenParameterSpec;)V
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mAttestationChallenge:[B
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mBlockModes:[Ljava/lang/String;
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mCertificateNotAfter:Ljava/util/Date;
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mCertificateNotBefore:Ljava/util/Date;
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mCertificateSerialNumber:Ljava/math/BigInteger;
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mCertificateSubject:Ljavax/security/auth/x500/X500Principal;
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mDigests:[Ljava/lang/String;
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mEncryptionPaddings:[Ljava/lang/String;
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mInvalidatedByBiometricEnrollment:Z
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mIsStrongBoxBacked:Z
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mKeySize:I
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mKeystoreAlias:Ljava/lang/String;
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mKeyValidityForConsumptionEnd:Ljava/util/Date;
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mKeyValidityForOriginationEnd:Ljava/util/Date;
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mKeyValidityStart:Ljava/util/Date;
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mPurposes:I
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mRandomizedEncryptionRequired:Z
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mSignaturePaddings:[Ljava/lang/String;
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mSpec:Ljava/security/spec/AlgorithmParameterSpec;
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mUid:I
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mUniqueIdIncluded:Z
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mUnlockedDeviceRequired:Z
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mUserAuthenticationRequired:Z
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mUserAuthenticationValidityDurationSeconds:I
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mUserAuthenticationValidWhileOnBody:Z
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mUserConfirmationRequired:Z
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->mUserPresenceRequired:Z
-Landroid/security/keystore/KeyGenParameterSpec$Builder;->setUid(I)Landroid/security/keystore/KeyGenParameterSpec$Builder;
-Landroid/security/keystore/KeyGenParameterSpec;-><init>(Ljava/lang/String;IILjava/security/spec/AlgorithmParameterSpec;Ljavax/security/auth/x500/X500Principal;Ljava/math/BigInteger;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;I[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ZZIZ[BZZZZZZ)V
-Landroid/security/keystore/KeyGenParameterSpec;->DEFAULT_CERT_NOT_AFTER:Ljava/util/Date;
-Landroid/security/keystore/KeyGenParameterSpec;->DEFAULT_CERT_NOT_BEFORE:Ljava/util/Date;
-Landroid/security/keystore/KeyGenParameterSpec;->DEFAULT_CERT_SERIAL_NUMBER:Ljava/math/BigInteger;
-Landroid/security/keystore/KeyGenParameterSpec;->DEFAULT_CERT_SUBJECT:Ljavax/security/auth/x500/X500Principal;
-Landroid/security/keystore/KeyGenParameterSpec;->getBoundToSpecificSecureUserId()J
-Landroid/security/keystore/KeyGenParameterSpec;->mAttestationChallenge:[B
-Landroid/security/keystore/KeyGenParameterSpec;->mBlockModes:[Ljava/lang/String;
-Landroid/security/keystore/KeyGenParameterSpec;->mCertificateNotAfter:Ljava/util/Date;
-Landroid/security/keystore/KeyGenParameterSpec;->mCertificateNotBefore:Ljava/util/Date;
-Landroid/security/keystore/KeyGenParameterSpec;->mCertificateSerialNumber:Ljava/math/BigInteger;
-Landroid/security/keystore/KeyGenParameterSpec;->mCertificateSubject:Ljavax/security/auth/x500/X500Principal;
-Landroid/security/keystore/KeyGenParameterSpec;->mDigests:[Ljava/lang/String;
-Landroid/security/keystore/KeyGenParameterSpec;->mEncryptionPaddings:[Ljava/lang/String;
-Landroid/security/keystore/KeyGenParameterSpec;->mInvalidatedByBiometricEnrollment:Z
-Landroid/security/keystore/KeyGenParameterSpec;->mIsStrongBoxBacked:Z
-Landroid/security/keystore/KeyGenParameterSpec;->mKeySize:I
-Landroid/security/keystore/KeyGenParameterSpec;->mKeystoreAlias:Ljava/lang/String;
-Landroid/security/keystore/KeyGenParameterSpec;->mKeyValidityForConsumptionEnd:Ljava/util/Date;
-Landroid/security/keystore/KeyGenParameterSpec;->mKeyValidityForOriginationEnd:Ljava/util/Date;
-Landroid/security/keystore/KeyGenParameterSpec;->mKeyValidityStart:Ljava/util/Date;
-Landroid/security/keystore/KeyGenParameterSpec;->mPurposes:I
-Landroid/security/keystore/KeyGenParameterSpec;->mRandomizedEncryptionRequired:Z
-Landroid/security/keystore/KeyGenParameterSpec;->mSignaturePaddings:[Ljava/lang/String;
-Landroid/security/keystore/KeyGenParameterSpec;->mSpec:Ljava/security/spec/AlgorithmParameterSpec;
-Landroid/security/keystore/KeyGenParameterSpec;->mUid:I
-Landroid/security/keystore/KeyGenParameterSpec;->mUniqueIdIncluded:Z
-Landroid/security/keystore/KeyGenParameterSpec;->mUnlockedDeviceRequired:Z
-Landroid/security/keystore/KeyGenParameterSpec;->mUserAuthenticationRequired:Z
-Landroid/security/keystore/KeyGenParameterSpec;->mUserAuthenticationValidityDurationSeconds:I
-Landroid/security/keystore/KeyGenParameterSpec;->mUserAuthenticationValidWhileOnBody:Z
-Landroid/security/keystore/KeyGenParameterSpec;->mUserConfirmationRequired:Z
-Landroid/security/keystore/KeyGenParameterSpec;->mUserPresenceRequired:Z
-Landroid/security/keystore/KeyInfo;-><init>(Ljava/lang/String;ZIILjava/util/Date;Ljava/util/Date;Ljava/util/Date;I[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ZIZZZZZ)V
-Landroid/security/keystore/KeyInfo;->mBlockModes:[Ljava/lang/String;
-Landroid/security/keystore/KeyInfo;->mDigests:[Ljava/lang/String;
-Landroid/security/keystore/KeyInfo;->mEncryptionPaddings:[Ljava/lang/String;
-Landroid/security/keystore/KeyInfo;->mInsideSecureHardware:Z
-Landroid/security/keystore/KeyInfo;->mInvalidatedByBiometricEnrollment:Z
-Landroid/security/keystore/KeyInfo;->mKeySize:I
-Landroid/security/keystore/KeyInfo;->mKeystoreAlias:Ljava/lang/String;
-Landroid/security/keystore/KeyInfo;->mKeyValidityForConsumptionEnd:Ljava/util/Date;
-Landroid/security/keystore/KeyInfo;->mKeyValidityForOriginationEnd:Ljava/util/Date;
-Landroid/security/keystore/KeyInfo;->mKeyValidityStart:Ljava/util/Date;
-Landroid/security/keystore/KeyInfo;->mOrigin:I
-Landroid/security/keystore/KeyInfo;->mPurposes:I
-Landroid/security/keystore/KeyInfo;->mSignaturePaddings:[Ljava/lang/String;
-Landroid/security/keystore/KeyInfo;->mTrustedUserPresenceRequired:Z
-Landroid/security/keystore/KeyInfo;->mUserAuthenticationRequired:Z
-Landroid/security/keystore/KeyInfo;->mUserAuthenticationRequirementEnforcedBySecureHardware:Z
-Landroid/security/keystore/KeyInfo;->mUserAuthenticationValidityDurationSeconds:I
-Landroid/security/keystore/KeyInfo;->mUserAuthenticationValidWhileOnBody:Z
-Landroid/security/keystore/KeyInfo;->mUserConfirmationRequired:Z
-Landroid/security/keystore/KeymasterUtils;
-Landroid/security/keystore/KeymasterUtils;-><init>()V
-Landroid/security/keystore/KeymasterUtils;->addMinMacLengthAuthorizationIfNecessary(Landroid/security/keymaster/KeymasterArguments;I[I[I)V
-Landroid/security/keystore/KeymasterUtils;->addUserAuthArgs(Landroid/security/keymaster/KeymasterArguments;Landroid/security/keystore/UserAuthArgs;)V
-Landroid/security/keystore/KeymasterUtils;->getDigestOutputSizeBits(I)I
-Landroid/security/keystore/KeymasterUtils;->getRootSid()J
-Landroid/security/keystore/KeymasterUtils;->isKeymasterBlockModeIndCpaCompatibleWithSymmetricCrypto(I)Z
-Landroid/security/keystore/KeymasterUtils;->isKeymasterPaddingSchemeIndCpaCompatibleWithAsymmetricCrypto(I)Z
-Landroid/security/keystore/KeyProperties$BlockMode;
-Landroid/security/keystore/KeyProperties$BlockMode;-><init>()V
-Landroid/security/keystore/KeyProperties$BlockMode;->allFromKeymaster(Ljava/util/Collection;)[Ljava/lang/String;
-Landroid/security/keystore/KeyProperties$BlockMode;->allToKeymaster([Ljava/lang/String;)[I
-Landroid/security/keystore/KeyProperties$BlockMode;->fromKeymaster(I)Ljava/lang/String;
-Landroid/security/keystore/KeyProperties$BlockMode;->toKeymaster(Ljava/lang/String;)I
-Landroid/security/keystore/KeyProperties$BlockModeEnum;
-Landroid/security/keystore/KeyProperties$Digest;
-Landroid/security/keystore/KeyProperties$Digest;-><init>()V
-Landroid/security/keystore/KeyProperties$Digest;->allFromKeymaster(Ljava/util/Collection;)[Ljava/lang/String;
-Landroid/security/keystore/KeyProperties$Digest;->allToKeymaster([Ljava/lang/String;)[I
-Landroid/security/keystore/KeyProperties$Digest;->fromKeymaster(I)Ljava/lang/String;
-Landroid/security/keystore/KeyProperties$Digest;->fromKeymasterToSignatureAlgorithmDigest(I)Ljava/lang/String;
-Landroid/security/keystore/KeyProperties$Digest;->toKeymaster(Ljava/lang/String;)I
-Landroid/security/keystore/KeyProperties$DigestEnum;
-Landroid/security/keystore/KeyProperties$EncryptionPadding;
-Landroid/security/keystore/KeyProperties$EncryptionPadding;-><init>()V
-Landroid/security/keystore/KeyProperties$EncryptionPadding;->allToKeymaster([Ljava/lang/String;)[I
-Landroid/security/keystore/KeyProperties$EncryptionPadding;->fromKeymaster(I)Ljava/lang/String;
-Landroid/security/keystore/KeyProperties$EncryptionPadding;->toKeymaster(Ljava/lang/String;)I
-Landroid/security/keystore/KeyProperties$EncryptionPaddingEnum;
-Landroid/security/keystore/KeyProperties$KeyAlgorithm;
-Landroid/security/keystore/KeyProperties$KeyAlgorithm;-><init>()V
-Landroid/security/keystore/KeyProperties$KeyAlgorithm;->fromKeymasterAsymmetricKeyAlgorithm(I)Ljava/lang/String;
-Landroid/security/keystore/KeyProperties$KeyAlgorithm;->fromKeymasterSecretKeyAlgorithm(II)Ljava/lang/String;
-Landroid/security/keystore/KeyProperties$KeyAlgorithm;->toKeymasterAsymmetricKeyAlgorithm(Ljava/lang/String;)I
-Landroid/security/keystore/KeyProperties$KeyAlgorithm;->toKeymasterDigest(Ljava/lang/String;)I
-Landroid/security/keystore/KeyProperties$KeyAlgorithm;->toKeymasterSecretKeyAlgorithm(Ljava/lang/String;)I
-Landroid/security/keystore/KeyProperties$KeyAlgorithmEnum;
-Landroid/security/keystore/KeyProperties$Origin;
-Landroid/security/keystore/KeyProperties$Origin;-><init>()V
-Landroid/security/keystore/KeyProperties$Origin;->fromKeymaster(I)I
-Landroid/security/keystore/KeyProperties$OriginEnum;
-Landroid/security/keystore/KeyProperties$Purpose;
-Landroid/security/keystore/KeyProperties$Purpose;-><init>()V
-Landroid/security/keystore/KeyProperties$Purpose;->allFromKeymaster(Ljava/util/Collection;)I
-Landroid/security/keystore/KeyProperties$Purpose;->allToKeymaster(I)[I
-Landroid/security/keystore/KeyProperties$Purpose;->fromKeymaster(I)I
-Landroid/security/keystore/KeyProperties$Purpose;->toKeymaster(I)I
-Landroid/security/keystore/KeyProperties$PurposeEnum;
-Landroid/security/keystore/KeyProperties$SignaturePadding;
-Landroid/security/keystore/KeyProperties$SignaturePadding;-><init>()V
-Landroid/security/keystore/KeyProperties$SignaturePadding;->allToKeymaster([Ljava/lang/String;)[I
-Landroid/security/keystore/KeyProperties$SignaturePadding;->fromKeymaster(I)Ljava/lang/String;
-Landroid/security/keystore/KeyProperties$SignaturePadding;->toKeymaster(Ljava/lang/String;)I
-Landroid/security/keystore/KeyProperties$SignaturePaddingEnum;
-Landroid/security/keystore/KeyProperties;-><init>()V
-Landroid/security/keystore/KeyProperties;->getSetBitCount(I)I
-Landroid/security/keystore/KeyProperties;->getSetFlags(I)[I
-Landroid/security/keystore/KeyProtection$Builder;->mBlockModes:[Ljava/lang/String;
-Landroid/security/keystore/KeyProtection$Builder;->mBoundToSecureUserId:J
-Landroid/security/keystore/KeyProtection$Builder;->mCriticalToDeviceEncryption:Z
-Landroid/security/keystore/KeyProtection$Builder;->mDigests:[Ljava/lang/String;
-Landroid/security/keystore/KeyProtection$Builder;->mEncryptionPaddings:[Ljava/lang/String;
-Landroid/security/keystore/KeyProtection$Builder;->mInvalidatedByBiometricEnrollment:Z
-Landroid/security/keystore/KeyProtection$Builder;->mIsStrongBoxBacked:Z
-Landroid/security/keystore/KeyProtection$Builder;->mKeyValidityForConsumptionEnd:Ljava/util/Date;
-Landroid/security/keystore/KeyProtection$Builder;->mKeyValidityForOriginationEnd:Ljava/util/Date;
-Landroid/security/keystore/KeyProtection$Builder;->mKeyValidityStart:Ljava/util/Date;
-Landroid/security/keystore/KeyProtection$Builder;->mPurposes:I
-Landroid/security/keystore/KeyProtection$Builder;->mRandomizedEncryptionRequired:Z
-Landroid/security/keystore/KeyProtection$Builder;->mSignaturePaddings:[Ljava/lang/String;
-Landroid/security/keystore/KeyProtection$Builder;->mUnlockedDeviceRequired:Z
-Landroid/security/keystore/KeyProtection$Builder;->mUserAuthenticationRequired:Z
-Landroid/security/keystore/KeyProtection$Builder;->mUserAuthenticationValidityDurationSeconds:I
-Landroid/security/keystore/KeyProtection$Builder;->mUserAuthenticationValidWhileOnBody:Z
-Landroid/security/keystore/KeyProtection$Builder;->mUserConfirmationRequired:Z
-Landroid/security/keystore/KeyProtection$Builder;->mUserPresenceRequired:Z
-Landroid/security/keystore/KeyProtection$Builder;->setCriticalToDeviceEncryption(Z)Landroid/security/keystore/KeyProtection$Builder;
-Landroid/security/keystore/KeyProtection$Builder;->setIsStrongBoxBacked(Z)Landroid/security/keystore/KeyProtection$Builder;
-Landroid/security/keystore/KeyProtection;-><init>(Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;I[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ZZIZZZJZZZZ)V
-Landroid/security/keystore/KeyProtection;->isCriticalToDeviceEncryption()Z
-Landroid/security/keystore/KeyProtection;->isStrongBoxBacked()Z
-Landroid/security/keystore/KeyProtection;->mBlockModes:[Ljava/lang/String;
-Landroid/security/keystore/KeyProtection;->mBoundToSecureUserId:J
-Landroid/security/keystore/KeyProtection;->mCriticalToDeviceEncryption:Z
-Landroid/security/keystore/KeyProtection;->mDigests:[Ljava/lang/String;
-Landroid/security/keystore/KeyProtection;->mEncryptionPaddings:[Ljava/lang/String;
-Landroid/security/keystore/KeyProtection;->mInvalidatedByBiometricEnrollment:Z
-Landroid/security/keystore/KeyProtection;->mIsStrongBoxBacked:Z
-Landroid/security/keystore/KeyProtection;->mKeyValidityForConsumptionEnd:Ljava/util/Date;
-Landroid/security/keystore/KeyProtection;->mKeyValidityForOriginationEnd:Ljava/util/Date;
-Landroid/security/keystore/KeyProtection;->mKeyValidityStart:Ljava/util/Date;
-Landroid/security/keystore/KeyProtection;->mPurposes:I
-Landroid/security/keystore/KeyProtection;->mRandomizedEncryptionRequired:Z
-Landroid/security/keystore/KeyProtection;->mSignaturePaddings:[Ljava/lang/String;
-Landroid/security/keystore/KeyProtection;->mUnlockedDeviceRequired:Z
-Landroid/security/keystore/KeyProtection;->mUserAuthenticationRequired:Z
-Landroid/security/keystore/KeyProtection;->mUserAuthenticationValidityDurationSeconds:I
-Landroid/security/keystore/KeyProtection;->mUserAuthenticationValidWhileOnBody:Z
-Landroid/security/keystore/KeyProtection;->mUserConfirmationRequired:Z
-Landroid/security/keystore/KeyProtection;->mUserPresenceRequred:Z
-Landroid/security/keystore/KeyStoreConnectException;
-Landroid/security/keystore/KeyStoreConnectException;-><init>()V
-Landroid/security/keystore/KeyStoreCryptoOperation;
-Landroid/security/keystore/KeyStoreCryptoOperation;->getOperationHandle()J
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$MainDataStream;
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$MainDataStream;-><init>(Landroid/security/KeyStore;Landroid/os/IBinder;)V
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$MainDataStream;->finish([B[B)Landroid/security/keymaster/OperationResult;
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$MainDataStream;->mKeyStore:Landroid/security/KeyStore;
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$MainDataStream;->mOperationToken:Landroid/os/IBinder;
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$MainDataStream;->update([B)Landroid/security/keymaster/OperationResult;
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$Stream;
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$Stream;->finish([B[B)Landroid/security/keymaster/OperationResult;
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$Stream;->update([B)Landroid/security/keymaster/OperationResult;
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;-><init>(Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$Stream;)V
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;-><init>(Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$Stream;I)V
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;->DEFAULT_MAX_CHUNK_SIZE:I
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;->doFinal([BII[B[B)[B
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;->flush()[B
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;->getConsumedInputSizeBytes()J
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;->getProducedOutputSizeBytes()J
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;->mBuffered:[B
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;->mBufferedLength:I
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;->mBufferedOffset:I
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;->mConsumedInputSizeBytes:J
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;->mKeyStoreStream:Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$Stream;
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;->mMaxChunkSize:I
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;->mProducedOutputSizeBytes:J
-Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;->update([BII)[B
-Landroid/security/keystore/KeyStoreCryptoOperationStreamer;
-Landroid/security/keystore/KeyStoreCryptoOperationStreamer;->doFinal([BII[B[B)[B
-Landroid/security/keystore/KeyStoreCryptoOperationStreamer;->getConsumedInputSizeBytes()J
-Landroid/security/keystore/KeyStoreCryptoOperationStreamer;->getProducedOutputSizeBytes()J
-Landroid/security/keystore/KeyStoreCryptoOperationStreamer;->update([BII)[B
-Landroid/security/keystore/ParcelableKeyGenParameterSpec;
-Landroid/security/keystore/ParcelableKeyGenParameterSpec;-><init>(Landroid/os/Parcel;)V
-Landroid/security/keystore/ParcelableKeyGenParameterSpec;-><init>(Landroid/security/keystore/KeyGenParameterSpec;)V
-Landroid/security/keystore/ParcelableKeyGenParameterSpec;->ALGORITHM_PARAMETER_SPEC_EC:I
-Landroid/security/keystore/ParcelableKeyGenParameterSpec;->ALGORITHM_PARAMETER_SPEC_NONE:I
-Landroid/security/keystore/ParcelableKeyGenParameterSpec;->ALGORITHM_PARAMETER_SPEC_RSA:I
-Landroid/security/keystore/ParcelableKeyGenParameterSpec;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/security/keystore/ParcelableKeyGenParameterSpec;->getSpec()Landroid/security/keystore/KeyGenParameterSpec;
-Landroid/security/keystore/ParcelableKeyGenParameterSpec;->mSpec:Landroid/security/keystore/KeyGenParameterSpec;
-Landroid/security/keystore/ParcelableKeyGenParameterSpec;->readDateOrNull(Landroid/os/Parcel;)Ljava/util/Date;
-Landroid/security/keystore/ParcelableKeyGenParameterSpec;->writeOptionalDate(Landroid/os/Parcel;Ljava/util/Date;)V
-Landroid/security/keystore/recovery/KeyChainProtectionParams$Builder;->mInstance:Landroid/security/keystore/recovery/KeyChainProtectionParams;
-Landroid/security/keystore/recovery/KeyChainProtectionParams$LockScreenUiFormat;
-Landroid/security/keystore/recovery/KeyChainProtectionParams$UserSecretType;
-Landroid/security/keystore/recovery/KeyChainProtectionParams;-><init>()V
-Landroid/security/keystore/recovery/KeyChainProtectionParams;-><init>(Landroid/os/Parcel;)V
-Landroid/security/keystore/recovery/KeyChainProtectionParams;->mKeyDerivationParams:Landroid/security/keystore/recovery/KeyDerivationParams;
-Landroid/security/keystore/recovery/KeyChainProtectionParams;->mLockScreenUiFormat:Ljava/lang/Integer;
-Landroid/security/keystore/recovery/KeyChainProtectionParams;->mSecret:[B
-Landroid/security/keystore/recovery/KeyChainProtectionParams;->mUserSecretType:Ljava/lang/Integer;
-Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;-><init>()V
-Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;->build()Landroid/security/keystore/recovery/KeyChainSnapshot;
-Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;->mInstance:Landroid/security/keystore/recovery/KeyChainSnapshot;
-Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setCounterId(J)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setEncryptedRecoveryKeyBlob([B)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setKeyChainProtectionParams(Ljava/util/List;)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setMaxAttempts(I)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setServerParams([B)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setSnapshotVersion(I)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setTrustedHardwareCertPath(Ljava/security/cert/CertPath;)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setTrustedHardwarePublicKey([B)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setWrappedApplicationKeys(Ljava/util/List;)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-Landroid/security/keystore/recovery/KeyChainSnapshot;-><init>()V
-Landroid/security/keystore/recovery/KeyChainSnapshot;-><init>(Landroid/os/Parcel;)V
-Landroid/security/keystore/recovery/KeyChainSnapshot;->DEFAULT_COUNTER_ID:J
-Landroid/security/keystore/recovery/KeyChainSnapshot;->DEFAULT_MAX_ATTEMPTS:I
-Landroid/security/keystore/recovery/KeyChainSnapshot;->mCertPath:Landroid/security/keystore/recovery/RecoveryCertPath;
-Landroid/security/keystore/recovery/KeyChainSnapshot;->mCounterId:J
-Landroid/security/keystore/recovery/KeyChainSnapshot;->mEncryptedRecoveryKeyBlob:[B
-Landroid/security/keystore/recovery/KeyChainSnapshot;->mEntryRecoveryData:Ljava/util/List;
-Landroid/security/keystore/recovery/KeyChainSnapshot;->mKeyChainProtectionParams:Ljava/util/List;
-Landroid/security/keystore/recovery/KeyChainSnapshot;->mMaxAttempts:I
-Landroid/security/keystore/recovery/KeyChainSnapshot;->mServerParams:[B
-Landroid/security/keystore/recovery/KeyChainSnapshot;->mSnapshotVersion:I
-Landroid/security/keystore/recovery/KeyDerivationParams$KeyDerivationAlgorithm;
-Landroid/security/keystore/recovery/KeyDerivationParams;-><init>(I[B)V
-Landroid/security/keystore/recovery/KeyDerivationParams;-><init>(I[BI)V
-Landroid/security/keystore/recovery/KeyDerivationParams;-><init>(Landroid/os/Parcel;)V
-Landroid/security/keystore/recovery/KeyDerivationParams;->mAlgorithm:I
-Landroid/security/keystore/recovery/KeyDerivationParams;->mMemoryDifficulty:I
-Landroid/security/keystore/recovery/KeyDerivationParams;->mSalt:[B
-Landroid/security/keystore/recovery/RecoveryCertPath;
-Landroid/security/keystore/recovery/RecoveryCertPath;-><init>(Landroid/os/Parcel;)V
-Landroid/security/keystore/recovery/RecoveryCertPath;-><init>([B)V
-Landroid/security/keystore/recovery/RecoveryCertPath;->CERT_PATH_ENCODING:Ljava/lang/String;
-Landroid/security/keystore/recovery/RecoveryCertPath;->createRecoveryCertPath(Ljava/security/cert/CertPath;)Landroid/security/keystore/recovery/RecoveryCertPath;
-Landroid/security/keystore/recovery/RecoveryCertPath;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/security/keystore/recovery/RecoveryCertPath;->decodeCertPath([B)Ljava/security/cert/CertPath;
-Landroid/security/keystore/recovery/RecoveryCertPath;->encodeCertPath(Ljava/security/cert/CertPath;)[B
-Landroid/security/keystore/recovery/RecoveryCertPath;->getCertPath()Ljava/security/cert/CertPath;
-Landroid/security/keystore/recovery/RecoveryCertPath;->mEncodedCertPath:[B
-Landroid/security/keystore/recovery/RecoveryController;-><init>(Lcom/android/internal/widget/ILockSettings;Landroid/security/KeyStore;)V
-Landroid/security/keystore/recovery/RecoveryController;->ERROR_BAD_CERTIFICATE_FORMAT:I
-Landroid/security/keystore/recovery/RecoveryController;->ERROR_DECRYPTION_FAILED:I
-Landroid/security/keystore/recovery/RecoveryController;->ERROR_DOWNGRADE_CERTIFICATE:I
-Landroid/security/keystore/recovery/RecoveryController;->ERROR_INSECURE_USER:I
-Landroid/security/keystore/recovery/RecoveryController;->ERROR_INVALID_CERTIFICATE:I
-Landroid/security/keystore/recovery/RecoveryController;->ERROR_INVALID_KEY_FORMAT:I
-Landroid/security/keystore/recovery/RecoveryController;->ERROR_NO_SNAPSHOT_PENDING:I
-Landroid/security/keystore/recovery/RecoveryController;->ERROR_SERVICE_INTERNAL_ERROR:I
-Landroid/security/keystore/recovery/RecoveryController;->ERROR_SESSION_EXPIRED:I
-Landroid/security/keystore/recovery/RecoveryController;->getBinder()Lcom/android/internal/widget/ILockSettings;
-Landroid/security/keystore/recovery/RecoveryController;->getKeyFromGrant(Ljava/lang/String;)Ljava/security/Key;
-Landroid/security/keystore/recovery/RecoveryController;->mBinder:Lcom/android/internal/widget/ILockSettings;
-Landroid/security/keystore/recovery/RecoveryController;->mKeyStore:Landroid/security/KeyStore;
-Landroid/security/keystore/recovery/RecoveryController;->TAG:Ljava/lang/String;
-Landroid/security/keystore/recovery/RecoveryController;->wrapUnexpectedServiceSpecificException(Landroid/os/ServiceSpecificException;)Landroid/security/keystore/recovery/InternalRecoveryServiceException;
-Landroid/security/keystore/recovery/RecoverySession;-><init>(Landroid/security/keystore/recovery/RecoveryController;Ljava/lang/String;)V
-Landroid/security/keystore/recovery/RecoverySession;->getKeysFromGrants(Ljava/util/Map;)Ljava/util/Map;
-Landroid/security/keystore/recovery/RecoverySession;->getSessionId()Ljava/lang/String;
-Landroid/security/keystore/recovery/RecoverySession;->mRecoveryController:Landroid/security/keystore/recovery/RecoveryController;
-Landroid/security/keystore/recovery/RecoverySession;->mSessionId:Ljava/lang/String;
-Landroid/security/keystore/recovery/RecoverySession;->newInstance(Landroid/security/keystore/recovery/RecoveryController;)Landroid/security/keystore/recovery/RecoverySession;
-Landroid/security/keystore/recovery/RecoverySession;->newSessionId()Ljava/lang/String;
-Landroid/security/keystore/recovery/RecoverySession;->SESSION_ID_LENGTH_BYTES:I
-Landroid/security/keystore/recovery/RecoverySession;->TAG:Ljava/lang/String;
-Landroid/security/keystore/recovery/TrustedRootCertificates;
-Landroid/security/keystore/recovery/TrustedRootCertificates;-><init>()V
-Landroid/security/keystore/recovery/TrustedRootCertificates;->ALL_ROOT_CERTIFICATES:Landroid/util/ArrayMap;
-Landroid/security/keystore/recovery/TrustedRootCertificates;->constructRootCertificateMap()Landroid/util/ArrayMap;
-Landroid/security/keystore/recovery/TrustedRootCertificates;->getRootCertificate(Ljava/lang/String;)Ljava/security/cert/X509Certificate;
-Landroid/security/keystore/recovery/TrustedRootCertificates;->getRootCertificates()Ljava/util/Map;
-Landroid/security/keystore/recovery/TrustedRootCertificates;->getTestOnlyInsecureCertificate()Ljava/security/cert/X509Certificate;
-Landroid/security/keystore/recovery/TrustedRootCertificates;->GOOGLE_CLOUD_KEY_VAULT_SERVICE_V1_ALIAS:Ljava/lang/String;
-Landroid/security/keystore/recovery/TrustedRootCertificates;->GOOGLE_CLOUD_KEY_VAULT_SERVICE_V1_BASE64:Ljava/lang/String;
-Landroid/security/keystore/recovery/TrustedRootCertificates;->GOOGLE_CLOUD_KEY_VAULT_SERVICE_V1_CERTIFICATE:Ljava/security/cert/X509Certificate;
-Landroid/security/keystore/recovery/TrustedRootCertificates;->INSECURE_KEY_ALIAS_PREFIX:Ljava/lang/String;
-Landroid/security/keystore/recovery/TrustedRootCertificates;->INSECURE_PASSWORD_PREFIX:Ljava/lang/String;
-Landroid/security/keystore/recovery/TrustedRootCertificates;->NUMBER_OF_ROOT_CERTIFICATES:I
-Landroid/security/keystore/recovery/TrustedRootCertificates;->parseBase64Certificate(Ljava/lang/String;)Ljava/security/cert/X509Certificate;
-Landroid/security/keystore/recovery/TrustedRootCertificates;->TEST_ONLY_INSECURE_CERTIFICATE_ALIAS:Ljava/lang/String;
-Landroid/security/keystore/recovery/TrustedRootCertificates;->TEST_ONLY_INSECURE_CERTIFICATE_BASE64:Ljava/lang/String;
-Landroid/security/keystore/recovery/WrappedApplicationKey$Builder;->mInstance:Landroid/security/keystore/recovery/WrappedApplicationKey;
-Landroid/security/keystore/recovery/WrappedApplicationKey;-><init>()V
-Landroid/security/keystore/recovery/WrappedApplicationKey;-><init>(Landroid/os/Parcel;)V
-Landroid/security/keystore/recovery/WrappedApplicationKey;-><init>(Ljava/lang/String;[B)V
-Landroid/security/keystore/recovery/WrappedApplicationKey;->mAlias:Ljava/lang/String;
-Landroid/security/keystore/recovery/WrappedApplicationKey;->mEncryptedKeyMaterial:[B
-Landroid/security/keystore/recovery/X509CertificateParsingUtils;
-Landroid/security/keystore/recovery/X509CertificateParsingUtils;-><init>()V
-Landroid/security/keystore/recovery/X509CertificateParsingUtils;->CERT_FORMAT:Ljava/lang/String;
-Landroid/security/keystore/recovery/X509CertificateParsingUtils;->decodeBase64(Ljava/lang/String;)[B
-Landroid/security/keystore/recovery/X509CertificateParsingUtils;->decodeBase64Cert(Ljava/lang/String;)Ljava/security/cert/X509Certificate;
-Landroid/security/keystore/recovery/X509CertificateParsingUtils;->decodeCert(Ljava/io/InputStream;)Ljava/security/cert/X509Certificate;
-Landroid/security/keystore/recovery/X509CertificateParsingUtils;->decodeCert([B)Ljava/security/cert/X509Certificate;
-Landroid/security/keystore/UserAuthArgs;
-Landroid/security/keystore/UserAuthArgs;->getBoundToSpecificSecureUserId()J
-Landroid/security/keystore/UserAuthArgs;->getUserAuthenticationValidityDurationSeconds()I
-Landroid/security/keystore/UserAuthArgs;->isInvalidatedByBiometricEnrollment()Z
-Landroid/security/keystore/UserAuthArgs;->isUnlockedDeviceRequired()Z
-Landroid/security/keystore/UserAuthArgs;->isUserAuthenticationRequired()Z
-Landroid/security/keystore/UserAuthArgs;->isUserAuthenticationValidWhileOnBody()Z
-Landroid/security/keystore/UserAuthArgs;->isUserConfirmationRequired()Z
-Landroid/security/keystore/UserAuthArgs;->isUserPresenceRequired()Z
-Landroid/security/keystore/WrappedKeyEntry;->mAlgorithmParameterSpec:Ljava/security/spec/AlgorithmParameterSpec;
-Landroid/security/keystore/WrappedKeyEntry;->mTransformation:Ljava/lang/String;
-Landroid/security/keystore/WrappedKeyEntry;->mWrappedKeyBytes:[B
-Landroid/security/keystore/WrappedKeyEntry;->mWrappingKeyAlias:Ljava/lang/String;
-Landroid/security/KeyStore;
-Landroid/security/KeyStore;-><init>(Landroid/security/IKeystoreService;)V
-Landroid/security/KeyStore;->abort(Landroid/os/IBinder;)I
-Landroid/security/KeyStore;->addAuthToken([B)I
-Landroid/security/KeyStore;->addRngEntropy([BI)Z
-Landroid/security/KeyStore;->attestDeviceIds(Landroid/security/keymaster/KeymasterArguments;Landroid/security/keymaster/KeymasterCertificateChain;)I
-Landroid/security/KeyStore;->attestKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;Landroid/security/keymaster/KeymasterCertificateChain;)I
-Landroid/security/KeyStore;->begin(Ljava/lang/String;IZLandroid/security/keymaster/KeymasterArguments;[B)Landroid/security/keymaster/OperationResult;
-Landroid/security/KeyStore;->begin(Ljava/lang/String;IZLandroid/security/keymaster/KeymasterArguments;[BI)Landroid/security/keymaster/OperationResult;
-Landroid/security/KeyStore;->cancelConfirmationPrompt(Landroid/os/IBinder;)I
-Landroid/security/KeyStore;->CANNOT_ATTEST_IDS:I
-Landroid/security/KeyStore;->clearUid(I)Z
-Landroid/security/KeyStore;->CONFIRMATIONUI_ABORTED:I
-Landroid/security/KeyStore;->CONFIRMATIONUI_CANCELED:I
-Landroid/security/KeyStore;->CONFIRMATIONUI_IGNORED:I
-Landroid/security/KeyStore;->CONFIRMATIONUI_OK:I
-Landroid/security/KeyStore;->CONFIRMATIONUI_OPERATION_PENDING:I
-Landroid/security/KeyStore;->CONFIRMATIONUI_SYSTEM_ERROR:I
-Landroid/security/KeyStore;->CONFIRMATIONUI_UIERROR:I
-Landroid/security/KeyStore;->CONFIRMATIONUI_UIERROR_MALFORMED_UTF8_ENCODING:I
-Landroid/security/KeyStore;->CONFIRMATIONUI_UIERROR_MESSAGE_TOO_LONG:I
-Landroid/security/KeyStore;->CONFIRMATIONUI_UIERROR_MISSING_GLYPH:I
-Landroid/security/KeyStore;->CONFIRMATIONUI_UNEXPECTED:I
-Landroid/security/KeyStore;->CONFIRMATIONUI_UNIMPLEMENTED:I
-Landroid/security/KeyStore;->contains(Ljava/lang/String;)Z
-Landroid/security/KeyStore;->contains(Ljava/lang/String;I)Z
-Landroid/security/KeyStore;->delete(Ljava/lang/String;I)Z
-Landroid/security/KeyStore;->exportKey(Ljava/lang/String;ILandroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;)Landroid/security/keymaster/ExportResult;
-Landroid/security/KeyStore;->exportKey(Ljava/lang/String;ILandroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;I)Landroid/security/keymaster/ExportResult;
-Landroid/security/KeyStore;->finish(Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B)Landroid/security/keymaster/OperationResult;
-Landroid/security/KeyStore;->finish(Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B[B)Landroid/security/keymaster/OperationResult;
-Landroid/security/KeyStore;->FLAG_CRITICAL_TO_DEVICE_ENCRYPTION:I
-Landroid/security/KeyStore;->FLAG_ENCRYPTED:I
-Landroid/security/KeyStore;->FLAG_NONE:I
-Landroid/security/KeyStore;->FLAG_SOFTWARE:I
-Landroid/security/KeyStore;->FLAG_STRONGBOX:I
-Landroid/security/KeyStore;->generate(Ljava/lang/String;IIII[[B)Z
-Landroid/security/KeyStore;->generateKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;[BIILandroid/security/keymaster/KeyCharacteristics;)I
-Landroid/security/KeyStore;->generateKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;[BILandroid/security/keymaster/KeyCharacteristics;)I
-Landroid/security/KeyStore;->get(Ljava/lang/String;I)[B
-Landroid/security/KeyStore;->getFingerprintOnlySid()J
-Landroid/security/KeyStore;->getInvalidKeyException(Ljava/lang/String;II)Ljava/security/InvalidKeyException;
-Landroid/security/KeyStore;->getInvalidKeyException(Ljava/lang/String;ILandroid/security/KeyStoreException;)Ljava/security/InvalidKeyException;
-Landroid/security/KeyStore;->getKeyCharacteristics(Ljava/lang/String;Landroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;ILandroid/security/keymaster/KeyCharacteristics;)I
-Landroid/security/KeyStore;->getKeyCharacteristics(Ljava/lang/String;Landroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeyCharacteristics;)I
-Landroid/security/KeyStore;->getLastError()I
-Landroid/security/KeyStore;->getmtime(Ljava/lang/String;)J
-Landroid/security/KeyStore;->getmtime(Ljava/lang/String;I)J
-Landroid/security/KeyStore;->getToken()Landroid/os/IBinder;
-Landroid/security/KeyStore;->grant(Ljava/lang/String;I)Ljava/lang/String;
-Landroid/security/KeyStore;->HARDWARE_TYPE_UNAVAILABLE:I
-Landroid/security/KeyStore;->importKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;I[BIILandroid/security/keymaster/KeyCharacteristics;)I
-Landroid/security/KeyStore;->importKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;I[BILandroid/security/keymaster/KeyCharacteristics;)I
-Landroid/security/KeyStore;->importKey(Ljava/lang/String;[BII)Z
-Landroid/security/KeyStore;->importWrappedKey(Ljava/lang/String;[BLjava/lang/String;[BLandroid/security/keymaster/KeymasterArguments;JJILandroid/security/keymaster/KeyCharacteristics;)I
-Landroid/security/KeyStore;->insert(Ljava/lang/String;[BII)I
-Landroid/security/KeyStore;->isConfirmationPromptSupported()Z
-Landroid/security/KeyStore;->isEmpty(I)Z
-Landroid/security/KeyStore;->isHardwareBacked()Z
-Landroid/security/KeyStore;->isHardwareBacked(Ljava/lang/String;)Z
-Landroid/security/KeyStore;->isOperationAuthorized(Landroid/os/IBinder;)Z
-Landroid/security/KeyStore;->isUnlocked()Z
-Landroid/security/KeyStore;->KEY_NOT_FOUND:I
-Landroid/security/KeyStore;->list(Ljava/lang/String;)[Ljava/lang/String;
-Landroid/security/KeyStore;->list(Ljava/lang/String;I)[Ljava/lang/String;
-Landroid/security/KeyStore;->lock()Z
-Landroid/security/KeyStore;->lock(I)Z
-Landroid/security/KeyStore;->LOCKED:I
-Landroid/security/KeyStore;->mBinder:Landroid/security/IKeystoreService;
-Landroid/security/KeyStore;->mContext:Landroid/content/Context;
-Landroid/security/KeyStore;->mError:I
-Landroid/security/KeyStore;->mToken:Landroid/os/IBinder;
-Landroid/security/KeyStore;->onDeviceOffBody()V
-Landroid/security/KeyStore;->onUserAdded(I)V
-Landroid/security/KeyStore;->onUserAdded(II)V
-Landroid/security/KeyStore;->onUserPasswordChanged(ILjava/lang/String;)Z
-Landroid/security/KeyStore;->onUserPasswordChanged(Ljava/lang/String;)Z
-Landroid/security/KeyStore;->onUserRemoved(I)V
-Landroid/security/KeyStore;->OP_AUTH_NEEDED:I
-Landroid/security/KeyStore;->PERMISSION_DENIED:I
-Landroid/security/KeyStore;->presentConfirmationPrompt(Landroid/os/IBinder;Ljava/lang/String;[BLjava/lang/String;I)I
-Landroid/security/KeyStore;->PROTOCOL_ERROR:I
-Landroid/security/KeyStore;->put(Ljava/lang/String;[BII)Z
-Landroid/security/KeyStore;->sign(Ljava/lang/String;[B)[B
-Landroid/security/KeyStore;->SYSTEM_ERROR:I
-Landroid/security/KeyStore;->TAG:Ljava/lang/String;
-Landroid/security/KeyStore;->UID_SELF:I
-Landroid/security/KeyStore;->UNDEFINED_ACTION:I
-Landroid/security/KeyStore;->ungrant(Ljava/lang/String;I)Z
-Landroid/security/KeyStore;->UNINITIALIZED:I
-Landroid/security/KeyStore;->unlock(ILjava/lang/String;)Z
-Landroid/security/KeyStore;->update(Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B)Landroid/security/keymaster/OperationResult;
-Landroid/security/KeyStore;->VALUE_CORRUPTED:I
-Landroid/security/KeyStore;->verify(Ljava/lang/String;[B[B)Z
-Landroid/security/KeyStore;->WRONG_PASSWORD:I
-Landroid/security/KeystoreArguments;
-Landroid/security/KeystoreArguments;-><init>()V
-Landroid/security/KeystoreArguments;-><init>(Landroid/os/Parcel;)V
-Landroid/security/KeystoreArguments;->args:[[B
-Landroid/security/KeystoreArguments;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/security/KeyStoreException;->mErrorCode:I
-Landroid/security/KeyStoreParameter$Builder;->mFlags:I
-Landroid/security/KeyStoreParameter;-><init>(I)V
-Landroid/security/KeyStoreParameter;->getFlags()I
-Landroid/security/KeyStoreParameter;->mFlags:I
-Landroid/security/net/config/ApplicationConfig;
-Landroid/security/net/config/ApplicationConfig;-><init>(Landroid/security/net/config/ConfigSource;)V
-Landroid/security/net/config/ApplicationConfig;->ensureInitialized()V
-Landroid/security/net/config/ApplicationConfig;->getConfigForHostname(Ljava/lang/String;)Landroid/security/net/config/NetworkSecurityConfig;
-Landroid/security/net/config/ApplicationConfig;->getDefaultInstance()Landroid/security/net/config/ApplicationConfig;
-Landroid/security/net/config/ApplicationConfig;->getTrustManager()Ljavax/net/ssl/X509TrustManager;
-Landroid/security/net/config/ApplicationConfig;->handleTrustStorageUpdate()V
-Landroid/security/net/config/ApplicationConfig;->hasPerDomainConfigs()Z
-Landroid/security/net/config/ApplicationConfig;->isCleartextTrafficPermitted()Z
-Landroid/security/net/config/ApplicationConfig;->isCleartextTrafficPermitted(Ljava/lang/String;)Z
-Landroid/security/net/config/ApplicationConfig;->mConfigs:Ljava/util/Set;
-Landroid/security/net/config/ApplicationConfig;->mConfigSource:Landroid/security/net/config/ConfigSource;
-Landroid/security/net/config/ApplicationConfig;->mDefaultConfig:Landroid/security/net/config/NetworkSecurityConfig;
-Landroid/security/net/config/ApplicationConfig;->mInitialized:Z
-Landroid/security/net/config/ApplicationConfig;->mLock:Ljava/lang/Object;
-Landroid/security/net/config/ApplicationConfig;->mTrustManager:Ljavax/net/ssl/X509TrustManager;
-Landroid/security/net/config/ApplicationConfig;->setDefaultInstance(Landroid/security/net/config/ApplicationConfig;)V
-Landroid/security/net/config/ApplicationConfig;->sInstance:Landroid/security/net/config/ApplicationConfig;
-Landroid/security/net/config/ApplicationConfig;->sLock:Ljava/lang/Object;
-Landroid/security/net/config/CertificatesEntryRef;
-Landroid/security/net/config/CertificatesEntryRef;-><init>(Landroid/security/net/config/CertificateSource;Z)V
-Landroid/security/net/config/CertificatesEntryRef;->findAllCertificatesByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
-Landroid/security/net/config/CertificatesEntryRef;->findByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Landroid/security/net/config/TrustAnchor;
-Landroid/security/net/config/CertificatesEntryRef;->findBySubjectAndPublicKey(Ljava/security/cert/X509Certificate;)Landroid/security/net/config/TrustAnchor;
-Landroid/security/net/config/CertificatesEntryRef;->getTrustAnchors()Ljava/util/Set;
-Landroid/security/net/config/CertificatesEntryRef;->handleTrustStorageUpdate()V
-Landroid/security/net/config/CertificatesEntryRef;->mOverridesPins:Z
-Landroid/security/net/config/CertificatesEntryRef;->mSource:Landroid/security/net/config/CertificateSource;
-Landroid/security/net/config/CertificatesEntryRef;->overridesPins()Z
-Landroid/security/net/config/CertificateSource;
-Landroid/security/net/config/CertificateSource;->findAllByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
-Landroid/security/net/config/CertificateSource;->findByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
-Landroid/security/net/config/CertificateSource;->findBySubjectAndPublicKey(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
-Landroid/security/net/config/CertificateSource;->getCertificates()Ljava/util/Set;
-Landroid/security/net/config/CertificateSource;->handleTrustStorageUpdate()V
-Landroid/security/net/config/ConfigNetworkSecurityPolicy;
-Landroid/security/net/config/ConfigNetworkSecurityPolicy;-><init>(Landroid/security/net/config/ApplicationConfig;)V
-Landroid/security/net/config/ConfigNetworkSecurityPolicy;->mConfig:Landroid/security/net/config/ApplicationConfig;
-Landroid/security/net/config/ConfigSource;
-Landroid/security/net/config/ConfigSource;->getDefaultConfig()Landroid/security/net/config/NetworkSecurityConfig;
-Landroid/security/net/config/ConfigSource;->getPerDomainConfigs()Ljava/util/Set;
-Landroid/security/net/config/DirectoryCertificateSource$CertSelector;
-Landroid/security/net/config/DirectoryCertificateSource$CertSelector;->match(Ljava/security/cert/X509Certificate;)Z
-Landroid/security/net/config/DirectoryCertificateSource;
-Landroid/security/net/config/DirectoryCertificateSource;-><init>(Ljava/io/File;)V
-Landroid/security/net/config/DirectoryCertificateSource;->findAllByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
-Landroid/security/net/config/DirectoryCertificateSource;->findByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
-Landroid/security/net/config/DirectoryCertificateSource;->findBySubjectAndPublicKey(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
-Landroid/security/net/config/DirectoryCertificateSource;->findCert(Ljavax/security/auth/x500/X500Principal;Landroid/security/net/config/DirectoryCertificateSource$CertSelector;)Ljava/security/cert/X509Certificate;
-Landroid/security/net/config/DirectoryCertificateSource;->findCerts(Ljavax/security/auth/x500/X500Principal;Landroid/security/net/config/DirectoryCertificateSource$CertSelector;)Ljava/util/Set;
-Landroid/security/net/config/DirectoryCertificateSource;->getCertificates()Ljava/util/Set;
-Landroid/security/net/config/DirectoryCertificateSource;->getHash(Ljavax/security/auth/x500/X500Principal;)Ljava/lang/String;
-Landroid/security/net/config/DirectoryCertificateSource;->handleTrustStorageUpdate()V
-Landroid/security/net/config/DirectoryCertificateSource;->isCertMarkedAsRemoved(Ljava/lang/String;)Z
-Landroid/security/net/config/DirectoryCertificateSource;->LOG_TAG:Ljava/lang/String;
-Landroid/security/net/config/DirectoryCertificateSource;->mCertFactory:Ljava/security/cert/CertificateFactory;
-Landroid/security/net/config/DirectoryCertificateSource;->mCertificates:Ljava/util/Set;
-Landroid/security/net/config/DirectoryCertificateSource;->mDir:Ljava/io/File;
-Landroid/security/net/config/DirectoryCertificateSource;->mLock:Ljava/lang/Object;
-Landroid/security/net/config/DirectoryCertificateSource;->readCertificate(Ljava/lang/String;)Ljava/security/cert/X509Certificate;
-Landroid/security/net/config/Domain;
-Landroid/security/net/config/Domain;-><init>(Ljava/lang/String;Z)V
-Landroid/security/net/config/Domain;->hostname:Ljava/lang/String;
-Landroid/security/net/config/Domain;->subdomainsIncluded:Z
-Landroid/security/net/config/ManifestConfigSource$DefaultConfigSource;
-Landroid/security/net/config/ManifestConfigSource$DefaultConfigSource;-><init>(ZLandroid/content/pm/ApplicationInfo;)V
-Landroid/security/net/config/ManifestConfigSource$DefaultConfigSource;->getDefaultConfig()Landroid/security/net/config/NetworkSecurityConfig;
-Landroid/security/net/config/ManifestConfigSource$DefaultConfigSource;->getPerDomainConfigs()Ljava/util/Set;
-Landroid/security/net/config/ManifestConfigSource$DefaultConfigSource;->mDefaultConfig:Landroid/security/net/config/NetworkSecurityConfig;
-Landroid/security/net/config/ManifestConfigSource;
-Landroid/security/net/config/ManifestConfigSource;-><init>(Landroid/content/Context;)V
-Landroid/security/net/config/ManifestConfigSource;->DBG:Z
-Landroid/security/net/config/ManifestConfigSource;->getConfigSource()Landroid/security/net/config/ConfigSource;
-Landroid/security/net/config/ManifestConfigSource;->getDefaultConfig()Landroid/security/net/config/NetworkSecurityConfig;
-Landroid/security/net/config/ManifestConfigSource;->getPerDomainConfigs()Ljava/util/Set;
-Landroid/security/net/config/ManifestConfigSource;->LOG_TAG:Ljava/lang/String;
-Landroid/security/net/config/ManifestConfigSource;->mApplicationInfo:Landroid/content/pm/ApplicationInfo;
-Landroid/security/net/config/ManifestConfigSource;->mConfigSource:Landroid/security/net/config/ConfigSource;
-Landroid/security/net/config/ManifestConfigSource;->mContext:Landroid/content/Context;
-Landroid/security/net/config/ManifestConfigSource;->mLock:Ljava/lang/Object;
-Landroid/security/net/config/NetworkSecurityConfig$Builder;
-Landroid/security/net/config/NetworkSecurityConfig$Builder;-><init>()V
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->addCertificatesEntryRef(Landroid/security/net/config/CertificatesEntryRef;)Landroid/security/net/config/NetworkSecurityConfig$Builder;
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->addCertificatesEntryRefs(Ljava/util/Collection;)Landroid/security/net/config/NetworkSecurityConfig$Builder;
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->build()Landroid/security/net/config/NetworkSecurityConfig;
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->getCertificatesEntryRefs()Ljava/util/List;
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->getEffectiveCertificatesEntryRefs()Ljava/util/List;
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->getEffectiveCleartextTrafficPermitted()Z
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->getEffectiveHstsEnforced()Z
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->getEffectivePinSet()Landroid/security/net/config/PinSet;
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->getParent()Landroid/security/net/config/NetworkSecurityConfig$Builder;
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->hasCertificatesEntryRefs()Z
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->mCertificatesEntryRefs:Ljava/util/List;
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->mCleartextTrafficPermitted:Z
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->mCleartextTrafficPermittedSet:Z
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->mHstsEnforced:Z
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->mHstsEnforcedSet:Z
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->mParentBuilder:Landroid/security/net/config/NetworkSecurityConfig$Builder;
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->mPinSet:Landroid/security/net/config/PinSet;
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->setCleartextTrafficPermitted(Z)Landroid/security/net/config/NetworkSecurityConfig$Builder;
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->setHstsEnforced(Z)Landroid/security/net/config/NetworkSecurityConfig$Builder;
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->setParent(Landroid/security/net/config/NetworkSecurityConfig$Builder;)Landroid/security/net/config/NetworkSecurityConfig$Builder;
-Landroid/security/net/config/NetworkSecurityConfig$Builder;->setPinSet(Landroid/security/net/config/PinSet;)Landroid/security/net/config/NetworkSecurityConfig$Builder;
-Landroid/security/net/config/NetworkSecurityConfig;
-Landroid/security/net/config/NetworkSecurityConfig;-><init>(ZZLandroid/security/net/config/PinSet;Ljava/util/List;)V
-Landroid/security/net/config/NetworkSecurityConfig;->DEFAULT_CLEARTEXT_TRAFFIC_PERMITTED:Z
-Landroid/security/net/config/NetworkSecurityConfig;->DEFAULT_HSTS_ENFORCED:Z
-Landroid/security/net/config/NetworkSecurityConfig;->findAllCertificatesByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
-Landroid/security/net/config/NetworkSecurityConfig;->findTrustAnchorByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Landroid/security/net/config/TrustAnchor;
-Landroid/security/net/config/NetworkSecurityConfig;->findTrustAnchorBySubjectAndPublicKey(Ljava/security/cert/X509Certificate;)Landroid/security/net/config/TrustAnchor;
-Landroid/security/net/config/NetworkSecurityConfig;->getDefaultBuilder(Landroid/content/pm/ApplicationInfo;)Landroid/security/net/config/NetworkSecurityConfig$Builder;
-Landroid/security/net/config/NetworkSecurityConfig;->getPins()Landroid/security/net/config/PinSet;
-Landroid/security/net/config/NetworkSecurityConfig;->getTrustAnchors()Ljava/util/Set;
-Landroid/security/net/config/NetworkSecurityConfig;->getTrustManager()Landroid/security/net/config/NetworkSecurityTrustManager;
-Landroid/security/net/config/NetworkSecurityConfig;->handleTrustStorageUpdate()V
-Landroid/security/net/config/NetworkSecurityConfig;->isCleartextTrafficPermitted()Z
-Landroid/security/net/config/NetworkSecurityConfig;->isHstsEnforced()Z
-Landroid/security/net/config/NetworkSecurityConfig;->mAnchors:Ljava/util/Set;
-Landroid/security/net/config/NetworkSecurityConfig;->mAnchorsLock:Ljava/lang/Object;
-Landroid/security/net/config/NetworkSecurityConfig;->mCertificatesEntryRefs:Ljava/util/List;
-Landroid/security/net/config/NetworkSecurityConfig;->mCleartextTrafficPermitted:Z
-Landroid/security/net/config/NetworkSecurityConfig;->mHstsEnforced:Z
-Landroid/security/net/config/NetworkSecurityConfig;->mPins:Landroid/security/net/config/PinSet;
-Landroid/security/net/config/NetworkSecurityConfig;->mTrustManager:Landroid/security/net/config/NetworkSecurityTrustManager;
-Landroid/security/net/config/NetworkSecurityConfig;->mTrustManagerLock:Ljava/lang/Object;
-Landroid/security/net/config/NetworkSecurityConfigProvider;
-Landroid/security/net/config/NetworkSecurityConfigProvider;-><init>()V
-Landroid/security/net/config/NetworkSecurityConfigProvider;->install(Landroid/content/Context;)V
-Landroid/security/net/config/NetworkSecurityConfigProvider;->PREFIX:Ljava/lang/String;
-Landroid/security/net/config/NetworkSecurityTrustManager;
-Landroid/security/net/config/NetworkSecurityTrustManager;-><init>(Landroid/security/net/config/NetworkSecurityConfig;)V
-Landroid/security/net/config/NetworkSecurityTrustManager;->checkPins(Ljava/util/List;)V
-Landroid/security/net/config/NetworkSecurityTrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
-Landroid/security/net/config/NetworkSecurityTrustManager;->handleTrustStorageUpdate()V
-Landroid/security/net/config/NetworkSecurityTrustManager;->isPinningEnforced(Ljava/util/List;)Z
-Landroid/security/net/config/NetworkSecurityTrustManager;->mDelegate:Lcom/android/org/conscrypt/TrustManagerImpl;
-Landroid/security/net/config/NetworkSecurityTrustManager;->mIssuers:[Ljava/security/cert/X509Certificate;
-Landroid/security/net/config/NetworkSecurityTrustManager;->mIssuersLock:Ljava/lang/Object;
-Landroid/security/net/config/NetworkSecurityTrustManager;->mNetworkSecurityConfig:Landroid/security/net/config/NetworkSecurityConfig;
-Landroid/security/net/config/Pin;
-Landroid/security/net/config/Pin;-><init>(Ljava/lang/String;[B)V
-Landroid/security/net/config/Pin;->digest:[B
-Landroid/security/net/config/Pin;->digestAlgorithm:Ljava/lang/String;
-Landroid/security/net/config/Pin;->getDigestLength(Ljava/lang/String;)I
-Landroid/security/net/config/Pin;->isSupportedDigestAlgorithm(Ljava/lang/String;)Z
-Landroid/security/net/config/Pin;->mHashCode:I
-Landroid/security/net/config/PinSet;
-Landroid/security/net/config/PinSet;-><init>(Ljava/util/Set;J)V
-Landroid/security/net/config/PinSet;->EMPTY_PINSET:Landroid/security/net/config/PinSet;
-Landroid/security/net/config/PinSet;->expirationTime:J
-Landroid/security/net/config/PinSet;->getPinAlgorithms()Ljava/util/Set;
-Landroid/security/net/config/PinSet;->pins:Ljava/util/Set;
-Landroid/security/net/config/ResourceCertificateSource;
-Landroid/security/net/config/ResourceCertificateSource;-><init>(ILandroid/content/Context;)V
-Landroid/security/net/config/ResourceCertificateSource;->ensureInitialized()V
-Landroid/security/net/config/ResourceCertificateSource;->findAllByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
-Landroid/security/net/config/ResourceCertificateSource;->findByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
-Landroid/security/net/config/ResourceCertificateSource;->findBySubjectAndPublicKey(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
-Landroid/security/net/config/ResourceCertificateSource;->getCertificates()Ljava/util/Set;
-Landroid/security/net/config/ResourceCertificateSource;->handleTrustStorageUpdate()V
-Landroid/security/net/config/ResourceCertificateSource;->mCertificates:Ljava/util/Set;
-Landroid/security/net/config/ResourceCertificateSource;->mContext:Landroid/content/Context;
-Landroid/security/net/config/ResourceCertificateSource;->mIndex:Lcom/android/org/conscrypt/TrustedCertificateIndex;
-Landroid/security/net/config/ResourceCertificateSource;->mLock:Ljava/lang/Object;
-Landroid/security/net/config/ResourceCertificateSource;->mResourceId:I
-Landroid/security/net/config/RootTrustManager;
-Landroid/security/net/config/RootTrustManager;-><init>(Landroid/security/net/config/ApplicationConfig;)V
-Landroid/security/net/config/RootTrustManager;->isSameTrustConfiguration(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/security/net/config/RootTrustManager;->mConfig:Landroid/security/net/config/ApplicationConfig;
-Landroid/security/net/config/RootTrustManagerFactorySpi$ApplicationConfigParameters;
-Landroid/security/net/config/RootTrustManagerFactorySpi$ApplicationConfigParameters;-><init>(Landroid/security/net/config/ApplicationConfig;)V
-Landroid/security/net/config/RootTrustManagerFactorySpi$ApplicationConfigParameters;->config:Landroid/security/net/config/ApplicationConfig;
-Landroid/security/net/config/RootTrustManagerFactorySpi;
-Landroid/security/net/config/RootTrustManagerFactorySpi;-><init>()V
-Landroid/security/net/config/RootTrustManagerFactorySpi;->mApplicationConfig:Landroid/security/net/config/ApplicationConfig;
-Landroid/security/net/config/RootTrustManagerFactorySpi;->mConfig:Landroid/security/net/config/NetworkSecurityConfig;
-Landroid/security/net/config/SystemCertificateSource$NoPreloadHolder;
-Landroid/security/net/config/SystemCertificateSource$NoPreloadHolder;-><init>()V
-Landroid/security/net/config/SystemCertificateSource$NoPreloadHolder;->INSTANCE:Landroid/security/net/config/SystemCertificateSource;
-Landroid/security/net/config/SystemCertificateSource;
-Landroid/security/net/config/SystemCertificateSource;-><init>()V
-Landroid/security/net/config/SystemCertificateSource;->getInstance()Landroid/security/net/config/SystemCertificateSource;
-Landroid/security/net/config/SystemCertificateSource;->isCertMarkedAsRemoved(Ljava/lang/String;)Z
-Landroid/security/net/config/SystemCertificateSource;->mUserRemovedCaDir:Ljava/io/File;
-Landroid/security/net/config/TrustAnchor;
-Landroid/security/net/config/TrustAnchor;-><init>(Ljava/security/cert/X509Certificate;Z)V
-Landroid/security/net/config/TrustAnchor;->certificate:Ljava/security/cert/X509Certificate;
-Landroid/security/net/config/TrustAnchor;->overridesPins:Z
-Landroid/security/net/config/TrustedCertificateStoreAdapter;
-Landroid/security/net/config/TrustedCertificateStoreAdapter;-><init>(Landroid/security/net/config/NetworkSecurityConfig;)V
-Landroid/security/net/config/TrustedCertificateStoreAdapter;->aliases()Ljava/util/Set;
-Landroid/security/net/config/TrustedCertificateStoreAdapter;->allSystemAliases()Ljava/util/Set;
-Landroid/security/net/config/TrustedCertificateStoreAdapter;->containsAlias(Ljava/lang/String;)Z
-Landroid/security/net/config/TrustedCertificateStoreAdapter;->findAllIssuers(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
-Landroid/security/net/config/TrustedCertificateStoreAdapter;->findIssuer(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
-Landroid/security/net/config/TrustedCertificateStoreAdapter;->getCertificate(Ljava/lang/String;)Ljava/security/cert/Certificate;
-Landroid/security/net/config/TrustedCertificateStoreAdapter;->getCertificate(Ljava/lang/String;Z)Ljava/security/cert/Certificate;
-Landroid/security/net/config/TrustedCertificateStoreAdapter;->getCertificateAlias(Ljava/security/cert/Certificate;)Ljava/lang/String;
-Landroid/security/net/config/TrustedCertificateStoreAdapter;->getCertificateAlias(Ljava/security/cert/Certificate;Z)Ljava/lang/String;
-Landroid/security/net/config/TrustedCertificateStoreAdapter;->getCertificateFile(Ljava/io/File;Ljava/security/cert/X509Certificate;)Ljava/io/File;
-Landroid/security/net/config/TrustedCertificateStoreAdapter;->getCreationDate(Ljava/lang/String;)Ljava/util/Date;
-Landroid/security/net/config/TrustedCertificateStoreAdapter;->getTrustAnchor(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
-Landroid/security/net/config/TrustedCertificateStoreAdapter;->isUserAddedCertificate(Ljava/security/cert/X509Certificate;)Z
-Landroid/security/net/config/TrustedCertificateStoreAdapter;->mConfig:Landroid/security/net/config/NetworkSecurityConfig;
-Landroid/security/net/config/TrustedCertificateStoreAdapter;->userAliases()Ljava/util/Set;
-Landroid/security/net/config/UserCertificateSource$NoPreloadHolder;
-Landroid/security/net/config/UserCertificateSource$NoPreloadHolder;-><init>()V
-Landroid/security/net/config/UserCertificateSource$NoPreloadHolder;->INSTANCE:Landroid/security/net/config/UserCertificateSource;
-Landroid/security/net/config/UserCertificateSource;
-Landroid/security/net/config/UserCertificateSource;-><init>()V
-Landroid/security/net/config/UserCertificateSource;->getInstance()Landroid/security/net/config/UserCertificateSource;
-Landroid/security/net/config/UserCertificateSource;->isCertMarkedAsRemoved(Ljava/lang/String;)Z
-Landroid/security/net/config/XmlConfigSource$ParserException;
-Landroid/security/net/config/XmlConfigSource$ParserException;-><init>(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)V
-Landroid/security/net/config/XmlConfigSource$ParserException;-><init>(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/Throwable;)V
-Landroid/security/net/config/XmlConfigSource;
-Landroid/security/net/config/XmlConfigSource;-><init>(Landroid/content/Context;ILandroid/content/pm/ApplicationInfo;)V
-Landroid/security/net/config/XmlConfigSource;->addDebugAnchorsIfNeeded(Landroid/security/net/config/NetworkSecurityConfig$Builder;Landroid/security/net/config/NetworkSecurityConfig$Builder;)V
-Landroid/security/net/config/XmlConfigSource;->CONFIG_BASE:I
-Landroid/security/net/config/XmlConfigSource;->CONFIG_DEBUG:I
-Landroid/security/net/config/XmlConfigSource;->CONFIG_DOMAIN:I
-Landroid/security/net/config/XmlConfigSource;->ensureInitialized()V
-Landroid/security/net/config/XmlConfigSource;->getConfigString(I)Ljava/lang/String;
-Landroid/security/net/config/XmlConfigSource;->getDefaultConfig()Landroid/security/net/config/NetworkSecurityConfig;
-Landroid/security/net/config/XmlConfigSource;->getPerDomainConfigs()Ljava/util/Set;
-Landroid/security/net/config/XmlConfigSource;->mApplicationInfo:Landroid/content/pm/ApplicationInfo;
-Landroid/security/net/config/XmlConfigSource;->mContext:Landroid/content/Context;
-Landroid/security/net/config/XmlConfigSource;->mDebugBuild:Z
-Landroid/security/net/config/XmlConfigSource;->mDefaultConfig:Landroid/security/net/config/NetworkSecurityConfig;
-Landroid/security/net/config/XmlConfigSource;->mDomainMap:Ljava/util/Set;
-Landroid/security/net/config/XmlConfigSource;->mInitialized:Z
-Landroid/security/net/config/XmlConfigSource;->mLock:Ljava/lang/Object;
-Landroid/security/net/config/XmlConfigSource;->mResourceId:I
-Landroid/security/net/config/XmlConfigSource;->parseCertificatesEntry(Landroid/content/res/XmlResourceParser;Z)Landroid/security/net/config/CertificatesEntryRef;
-Landroid/security/net/config/XmlConfigSource;->parseConfigEntry(Landroid/content/res/XmlResourceParser;Ljava/util/Set;Landroid/security/net/config/NetworkSecurityConfig$Builder;I)Ljava/util/List;
-Landroid/security/net/config/XmlConfigSource;->parseDebugOverridesResource()Landroid/security/net/config/NetworkSecurityConfig$Builder;
-Landroid/security/net/config/XmlConfigSource;->parseDomain(Landroid/content/res/XmlResourceParser;Ljava/util/Set;)Landroid/security/net/config/Domain;
-Landroid/security/net/config/XmlConfigSource;->parseNetworkSecurityConfig(Landroid/content/res/XmlResourceParser;)V
-Landroid/security/net/config/XmlConfigSource;->parsePin(Landroid/content/res/XmlResourceParser;)Landroid/security/net/config/Pin;
-Landroid/security/net/config/XmlConfigSource;->parsePinSet(Landroid/content/res/XmlResourceParser;)Landroid/security/net/config/PinSet;
-Landroid/security/net/config/XmlConfigSource;->parseTrustAnchors(Landroid/content/res/XmlResourceParser;Z)Ljava/util/Collection;
-Landroid/security/NetworkSecurityPolicy;-><init>()V
-Landroid/security/NetworkSecurityPolicy;->getApplicationConfigForPackage(Landroid/content/Context;Ljava/lang/String;)Landroid/security/net/config/ApplicationConfig;
-Landroid/security/NetworkSecurityPolicy;->handleTrustStorageUpdate()V
-Landroid/security/NetworkSecurityPolicy;->INSTANCE:Landroid/security/NetworkSecurityPolicy;
-Landroid/security/NetworkSecurityPolicy;->setCleartextTrafficPermitted(Z)V
-Landroid/security/Scrypt;
-Landroid/security/Scrypt;-><init>()V
-Landroid/security/Scrypt;->nativeScrypt([B[BIIII)[B
-Landroid/security/Scrypt;->scrypt([B[BIIII)[B
-Landroid/security/SystemKeyStore;
-Landroid/security/SystemKeyStore;-><init>()V
-Landroid/security/SystemKeyStore;->deleteKey(Ljava/lang/String;)V
-Landroid/security/SystemKeyStore;->generateNewKey(ILjava/lang/String;Ljava/lang/String;)[B
-Landroid/security/SystemKeyStore;->generateNewKeyHexString(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/security/SystemKeyStore;->getInstance()Landroid/security/SystemKeyStore;
-Landroid/security/SystemKeyStore;->getKeyFile(Ljava/lang/String;)Ljava/io/File;
-Landroid/security/SystemKeyStore;->KEY_FILE_EXTENSION:Ljava/lang/String;
-Landroid/security/SystemKeyStore;->mInstance:Landroid/security/SystemKeyStore;
-Landroid/security/SystemKeyStore;->retrieveKey(Ljava/lang/String;)[B
-Landroid/security/SystemKeyStore;->retrieveKeyHexString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/security/SystemKeyStore;->SYSTEM_KEYSTORE_DIRECTORY:Ljava/lang/String;
-Landroid/security/SystemKeyStore;->toHexString([B)Ljava/lang/String;
-Landroid/service/autofill/AutofillFieldClassificationService$AutofillFieldClassificationServiceWrapper;
-Landroid/service/autofill/AutofillFieldClassificationService$AutofillFieldClassificationServiceWrapper;-><init>()V
-Landroid/service/autofill/AutofillFieldClassificationService$AutofillFieldClassificationServiceWrapper;->getScores(Landroid/os/RemoteCallback;Ljava/lang/String;Landroid/os/Bundle;Ljava/util/List;[Ljava/lang/String;)V
-Landroid/service/autofill/AutofillFieldClassificationService$Scores;
-Landroid/service/autofill/AutofillFieldClassificationService$Scores;-><init>(Landroid/os/Parcel;)V
-Landroid/service/autofill/AutofillFieldClassificationService$Scores;-><init>([[F)V
-Landroid/service/autofill/AutofillFieldClassificationService$Scores;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/service/autofill/AutofillFieldClassificationService$Scores;->scores:[[F
-Landroid/service/autofill/AutofillFieldClassificationService;-><init>()V
-Landroid/service/autofill/AutofillFieldClassificationService;->EXTRA_SCORES:Ljava/lang/String;
-Landroid/service/autofill/AutofillFieldClassificationService;->getScores(Landroid/os/RemoteCallback;Ljava/lang/String;Landroid/os/Bundle;Ljava/util/List;[Ljava/lang/String;)V
-Landroid/service/autofill/AutofillFieldClassificationService;->mHandler:Landroid/os/Handler;
-Landroid/service/autofill/AutofillFieldClassificationService;->mWrapper:Landroid/service/autofill/AutofillFieldClassificationService$AutofillFieldClassificationServiceWrapper;
-Landroid/service/autofill/AutofillFieldClassificationService;->TAG:Ljava/lang/String;
-Landroid/service/autofill/AutofillService;->mHandler:Landroid/os/Handler;
-Landroid/service/autofill/AutofillService;->mInterface:Landroid/service/autofill/IAutoFillService;
-Landroid/service/autofill/AutofillService;->TAG:Ljava/lang/String;
-Landroid/service/autofill/AutofillServiceInfo;
-Landroid/service/autofill/AutofillServiceInfo;-><init>(Landroid/content/Context;Landroid/content/ComponentName;I)V
-Landroid/service/autofill/AutofillServiceInfo;-><init>(Landroid/content/Context;Landroid/content/pm/ServiceInfo;)V
-Landroid/service/autofill/AutofillServiceInfo;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-Landroid/service/autofill/AutofillServiceInfo;->getCompatibilityPackages()Landroid/util/ArrayMap;
-Landroid/service/autofill/AutofillServiceInfo;->getServiceInfo()Landroid/content/pm/ServiceInfo;
-Landroid/service/autofill/AutofillServiceInfo;->getServiceInfoOrThrow(Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo;
-Landroid/service/autofill/AutofillServiceInfo;->getSettingsActivity()Ljava/lang/String;
-Landroid/service/autofill/AutofillServiceInfo;->mCompatibilityPackages:Landroid/util/ArrayMap;
-Landroid/service/autofill/AutofillServiceInfo;->mServiceInfo:Landroid/content/pm/ServiceInfo;
-Landroid/service/autofill/AutofillServiceInfo;->mSettingsActivity:Ljava/lang/String;
-Landroid/service/autofill/AutofillServiceInfo;->parseCompatibilityPackages(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/util/ArrayMap;
-Landroid/service/autofill/AutofillServiceInfo;->TAG:Ljava/lang/String;
-Landroid/service/autofill/AutofillServiceInfo;->TAG_AUTOFILL_SERVICE:Ljava/lang/String;
-Landroid/service/autofill/AutofillServiceInfo;->TAG_COMPATIBILITY_PACKAGE:Ljava/lang/String;
-Landroid/service/autofill/BatchUpdates$Builder;->mDestroyed:Z
-Landroid/service/autofill/BatchUpdates$Builder;->mTransformations:Ljava/util/ArrayList;
-Landroid/service/autofill/BatchUpdates$Builder;->mUpdates:Landroid/widget/RemoteViews;
-Landroid/service/autofill/BatchUpdates$Builder;->throwIfDestroyed()V
-Landroid/service/autofill/BatchUpdates;-><init>(Landroid/service/autofill/BatchUpdates$Builder;)V
-Landroid/service/autofill/BatchUpdates;->getTransformations()Ljava/util/ArrayList;
-Landroid/service/autofill/BatchUpdates;->getUpdates()Landroid/widget/RemoteViews;
-Landroid/service/autofill/BatchUpdates;->mTransformations:Ljava/util/ArrayList;
-Landroid/service/autofill/BatchUpdates;->mUpdates:Landroid/widget/RemoteViews;
-Landroid/service/autofill/CharSequenceTransformation$Builder;->mDestroyed:Z
-Landroid/service/autofill/CharSequenceTransformation$Builder;->mFields:Ljava/util/LinkedHashMap;
-Landroid/service/autofill/CharSequenceTransformation$Builder;->throwIfDestroyed()V
-Landroid/service/autofill/CharSequenceTransformation;-><init>(Landroid/service/autofill/CharSequenceTransformation$Builder;)V
-Landroid/service/autofill/CharSequenceTransformation;->mFields:Ljava/util/LinkedHashMap;
-Landroid/service/autofill/CharSequenceTransformation;->TAG:Ljava/lang/String;
-Landroid/service/autofill/CustomDescription$Builder;->mDestroyed:Z
-Landroid/service/autofill/CustomDescription$Builder;->mPresentation:Landroid/widget/RemoteViews;
-Landroid/service/autofill/CustomDescription$Builder;->mTransformations:Ljava/util/ArrayList;
-Landroid/service/autofill/CustomDescription$Builder;->mUpdates:Ljava/util/ArrayList;
-Landroid/service/autofill/CustomDescription$Builder;->throwIfDestroyed()V
-Landroid/service/autofill/CustomDescription;-><init>(Landroid/service/autofill/CustomDescription$Builder;)V
-Landroid/service/autofill/CustomDescription;->getPresentation()Landroid/widget/RemoteViews;
-Landroid/service/autofill/CustomDescription;->getTransformations()Ljava/util/ArrayList;
-Landroid/service/autofill/CustomDescription;->getUpdates()Ljava/util/ArrayList;
-Landroid/service/autofill/CustomDescription;->mPresentation:Landroid/widget/RemoteViews;
-Landroid/service/autofill/CustomDescription;->mTransformations:Ljava/util/ArrayList;
-Landroid/service/autofill/CustomDescription;->mUpdates:Ljava/util/ArrayList;
-Landroid/service/autofill/Dataset$Builder;->mAuthentication:Landroid/content/IntentSender;
-Landroid/service/autofill/Dataset$Builder;->mDestroyed:Z
-Landroid/service/autofill/Dataset$Builder;->mFieldFilters:Ljava/util/ArrayList;
-Landroid/service/autofill/Dataset$Builder;->mFieldIds:Ljava/util/ArrayList;
-Landroid/service/autofill/Dataset$Builder;->mFieldPresentations:Ljava/util/ArrayList;
-Landroid/service/autofill/Dataset$Builder;->mFieldValues:Ljava/util/ArrayList;
-Landroid/service/autofill/Dataset$Builder;->mId:Ljava/lang/String;
-Landroid/service/autofill/Dataset$Builder;->mPresentation:Landroid/widget/RemoteViews;
-Landroid/service/autofill/Dataset$Builder;->setLifeTheUniverseAndEverything(Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;Landroid/widget/RemoteViews;Landroid/service/autofill/Dataset$DatasetFieldFilter;)V
-Landroid/service/autofill/Dataset$Builder;->throwIfDestroyed()V
-Landroid/service/autofill/Dataset$DatasetFieldFilter;
-Landroid/service/autofill/Dataset$DatasetFieldFilter;-><init>(Ljava/util/regex/Pattern;)V
-Landroid/service/autofill/Dataset$DatasetFieldFilter;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/service/autofill/Dataset$DatasetFieldFilter;->pattern:Ljava/util/regex/Pattern;
-Landroid/service/autofill/Dataset;-><init>(Landroid/service/autofill/Dataset$Builder;)V
-Landroid/service/autofill/Dataset;->getAuthentication()Landroid/content/IntentSender;
-Landroid/service/autofill/Dataset;->getFieldIds()Ljava/util/ArrayList;
-Landroid/service/autofill/Dataset;->getFieldPresentation(I)Landroid/widget/RemoteViews;
-Landroid/service/autofill/Dataset;->getFieldValues()Ljava/util/ArrayList;
-Landroid/service/autofill/Dataset;->getFilter(I)Landroid/service/autofill/Dataset$DatasetFieldFilter;
-Landroid/service/autofill/Dataset;->getId()Ljava/lang/String;
-Landroid/service/autofill/Dataset;->isEmpty()Z
-Landroid/service/autofill/Dataset;->mAuthentication:Landroid/content/IntentSender;
-Landroid/service/autofill/Dataset;->mFieldFilters:Ljava/util/ArrayList;
-Landroid/service/autofill/Dataset;->mFieldIds:Ljava/util/ArrayList;
-Landroid/service/autofill/Dataset;->mFieldPresentations:Ljava/util/ArrayList;
-Landroid/service/autofill/Dataset;->mFieldValues:Ljava/util/ArrayList;
-Landroid/service/autofill/Dataset;->mId:Ljava/lang/String;
-Landroid/service/autofill/Dataset;->mPresentation:Landroid/widget/RemoteViews;
-Landroid/service/autofill/DateTransformation;->mDateFormat:Landroid/icu/text/DateFormat;
-Landroid/service/autofill/DateTransformation;->mFieldId:Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/DateTransformation;->TAG:Ljava/lang/String;
-Landroid/service/autofill/DateValueSanitizer;->mDateFormat:Landroid/icu/text/DateFormat;
-Landroid/service/autofill/DateValueSanitizer;->TAG:Ljava/lang/String;
-Landroid/service/autofill/FieldClassification$Match;-><init>(Ljava/lang/String;F)V
-Landroid/service/autofill/FieldClassification$Match;->mCategoryId:Ljava/lang/String;
-Landroid/service/autofill/FieldClassification$Match;->mScore:F
-Landroid/service/autofill/FieldClassification$Match;->readFromParcel(Landroid/os/Parcel;)Landroid/service/autofill/FieldClassification$Match;
-Landroid/service/autofill/FieldClassification$Match;->writeToParcel(Landroid/os/Parcel;)V
-Landroid/service/autofill/FieldClassification;-><init>(Ljava/util/ArrayList;)V
-Landroid/service/autofill/FieldClassification;->mMatches:Ljava/util/ArrayList;
-Landroid/service/autofill/FieldClassification;->readArrayFromParcel(Landroid/os/Parcel;)[Landroid/service/autofill/FieldClassification;
-Landroid/service/autofill/FieldClassification;->readFromParcel(Landroid/os/Parcel;)Landroid/service/autofill/FieldClassification;
-Landroid/service/autofill/FieldClassification;->writeArrayToParcel(Landroid/os/Parcel;[Landroid/service/autofill/FieldClassification;)V
-Landroid/service/autofill/FieldClassification;->writeToParcel(Landroid/os/Parcel;)V
-Landroid/service/autofill/FillCallback;-><init>(Landroid/service/autofill/IFillCallback;I)V
-Landroid/service/autofill/FillCallback;->assertNotCalled()V
-Landroid/service/autofill/FillCallback;->mCallback:Landroid/service/autofill/IFillCallback;
-Landroid/service/autofill/FillCallback;->mCalled:Z
-Landroid/service/autofill/FillCallback;->mRequestId:I
-Landroid/service/autofill/FillContext;-><init>(ILandroid/app/assist/AssistStructure;)V
-Landroid/service/autofill/FillContext;-><init>(Landroid/os/Parcel;)V
-Landroid/service/autofill/FillContext;->findViewNodesByAutofillIds([Landroid/view/autofill/AutofillId;)[Landroid/app/assist/AssistStructure$ViewNode;
-Landroid/service/autofill/FillContext;->mRequestId:I
-Landroid/service/autofill/FillContext;->mStructure:Landroid/app/assist/AssistStructure;
-Landroid/service/autofill/FillContext;->mViewNodeLookupTable:Landroid/util/ArrayMap;
-Landroid/service/autofill/FillEventHistory$Event$EventIds;
-Landroid/service/autofill/FillEventHistory$Event;-><init>(ILjava/lang/String;Landroid/os/Bundle;Ljava/util/List;Landroid/util/ArraySet;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;[Landroid/view/autofill/AutofillId;[Landroid/service/autofill/FieldClassification;)V
-Landroid/service/autofill/FillEventHistory$Event;->mChangedDatasetIds:Ljava/util/ArrayList;
-Landroid/service/autofill/FillEventHistory$Event;->mChangedFieldIds:Ljava/util/ArrayList;
-Landroid/service/autofill/FillEventHistory$Event;->mClientState:Landroid/os/Bundle;
-Landroid/service/autofill/FillEventHistory$Event;->mDatasetId:Ljava/lang/String;
-Landroid/service/autofill/FillEventHistory$Event;->mDetectedFieldClassifications:[Landroid/service/autofill/FieldClassification;
-Landroid/service/autofill/FillEventHistory$Event;->mDetectedFieldIds:[Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/FillEventHistory$Event;->mEventType:I
-Landroid/service/autofill/FillEventHistory$Event;->mIgnoredDatasetIds:Landroid/util/ArraySet;
-Landroid/service/autofill/FillEventHistory$Event;->mManuallyFilledDatasetIds:Ljava/util/ArrayList;
-Landroid/service/autofill/FillEventHistory$Event;->mManuallyFilledFieldIds:Ljava/util/ArrayList;
-Landroid/service/autofill/FillEventHistory$Event;->mSelectedDatasetIds:Ljava/util/List;
-Landroid/service/autofill/FillEventHistory;-><init>(ILandroid/os/Bundle;)V
-Landroid/service/autofill/FillEventHistory;->addEvent(Landroid/service/autofill/FillEventHistory$Event;)V
-Landroid/service/autofill/FillEventHistory;->getSessionId()I
-Landroid/service/autofill/FillEventHistory;->mClientState:Landroid/os/Bundle;
-Landroid/service/autofill/FillEventHistory;->mEvents:Ljava/util/List;
-Landroid/service/autofill/FillEventHistory;->mSessionId:I
-Landroid/service/autofill/FillEventHistory;->TAG:Ljava/lang/String;
-Landroid/service/autofill/FillRequest$RequestFlags;
-Landroid/service/autofill/FillRequest;-><init>(ILjava/util/ArrayList;Landroid/os/Bundle;I)V
-Landroid/service/autofill/FillRequest;-><init>(Landroid/os/Parcel;)V
-Landroid/service/autofill/FillRequest;->INVALID_REQUEST_ID:I
-Landroid/service/autofill/FillRequest;->mClientState:Landroid/os/Bundle;
-Landroid/service/autofill/FillRequest;->mContexts:Ljava/util/ArrayList;
-Landroid/service/autofill/FillRequest;->mFlags:I
-Landroid/service/autofill/FillRequest;->mId:I
-Landroid/service/autofill/FillResponse$Builder;->mAuthentication:Landroid/content/IntentSender;
-Landroid/service/autofill/FillResponse$Builder;->mAuthenticationIds:[Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/FillResponse$Builder;->mClientState:Landroid/os/Bundle;
-Landroid/service/autofill/FillResponse$Builder;->mDatasets:Ljava/util/ArrayList;
-Landroid/service/autofill/FillResponse$Builder;->mDestroyed:Z
-Landroid/service/autofill/FillResponse$Builder;->mDisableDuration:J
-Landroid/service/autofill/FillResponse$Builder;->mFieldClassificationIds:[Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/FillResponse$Builder;->mFlags:I
-Landroid/service/autofill/FillResponse$Builder;->mFooter:Landroid/widget/RemoteViews;
-Landroid/service/autofill/FillResponse$Builder;->mHeader:Landroid/widget/RemoteViews;
-Landroid/service/autofill/FillResponse$Builder;->mIgnoredIds:[Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/FillResponse$Builder;->mPresentation:Landroid/widget/RemoteViews;
-Landroid/service/autofill/FillResponse$Builder;->mSaveInfo:Landroid/service/autofill/SaveInfo;
-Landroid/service/autofill/FillResponse$Builder;->throwIfAuthenticationCalled()V
-Landroid/service/autofill/FillResponse$Builder;->throwIfDestroyed()V
-Landroid/service/autofill/FillResponse$Builder;->throwIfDisableAutofillCalled()V
-Landroid/service/autofill/FillResponse$FillResponseFlags;
-Landroid/service/autofill/FillResponse;-><init>(Landroid/service/autofill/FillResponse$Builder;)V
-Landroid/service/autofill/FillResponse;->getAuthentication()Landroid/content/IntentSender;
-Landroid/service/autofill/FillResponse;->getAuthenticationIds()[Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/FillResponse;->getClientState()Landroid/os/Bundle;
-Landroid/service/autofill/FillResponse;->getDatasets()Ljava/util/List;
-Landroid/service/autofill/FillResponse;->getDisableDuration()J
-Landroid/service/autofill/FillResponse;->getFieldClassificationIds()[Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/FillResponse;->getFooter()Landroid/widget/RemoteViews;
-Landroid/service/autofill/FillResponse;->getHeader()Landroid/widget/RemoteViews;
-Landroid/service/autofill/FillResponse;->getIgnoredIds()[Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/FillResponse;->getPresentation()Landroid/widget/RemoteViews;
-Landroid/service/autofill/FillResponse;->getRequestId()I
-Landroid/service/autofill/FillResponse;->getSaveInfo()Landroid/service/autofill/SaveInfo;
-Landroid/service/autofill/FillResponse;->mAuthentication:Landroid/content/IntentSender;
-Landroid/service/autofill/FillResponse;->mAuthenticationIds:[Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/FillResponse;->mClientState:Landroid/os/Bundle;
-Landroid/service/autofill/FillResponse;->mDatasets:Landroid/content/pm/ParceledListSlice;
-Landroid/service/autofill/FillResponse;->mDisableDuration:J
-Landroid/service/autofill/FillResponse;->mFieldClassificationIds:[Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/FillResponse;->mFlags:I
-Landroid/service/autofill/FillResponse;->mFooter:Landroid/widget/RemoteViews;
-Landroid/service/autofill/FillResponse;->mHeader:Landroid/widget/RemoteViews;
-Landroid/service/autofill/FillResponse;->mIgnoredIds:[Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/FillResponse;->mPresentation:Landroid/widget/RemoteViews;
-Landroid/service/autofill/FillResponse;->mRequestId:I
-Landroid/service/autofill/FillResponse;->mSaveInfo:Landroid/service/autofill/SaveInfo;
-Landroid/service/autofill/FillResponse;->setRequestId(I)V
-Landroid/service/autofill/IAutofillFieldClassificationService$Stub$Proxy;
-Landroid/service/autofill/IAutofillFieldClassificationService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/autofill/IAutofillFieldClassificationService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/autofill/IAutofillFieldClassificationService$Stub$Proxy;->getScores(Landroid/os/RemoteCallback;Ljava/lang/String;Landroid/os/Bundle;Ljava/util/List;[Ljava/lang/String;)V
-Landroid/service/autofill/IAutofillFieldClassificationService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/autofill/IAutofillFieldClassificationService$Stub;
-Landroid/service/autofill/IAutofillFieldClassificationService$Stub;-><init>()V
-Landroid/service/autofill/IAutofillFieldClassificationService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/autofill/IAutofillFieldClassificationService;
-Landroid/service/autofill/IAutofillFieldClassificationService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/autofill/IAutofillFieldClassificationService$Stub;->TRANSACTION_getScores:I
-Landroid/service/autofill/IAutofillFieldClassificationService;
-Landroid/service/autofill/IAutofillFieldClassificationService;->getScores(Landroid/os/RemoteCallback;Ljava/lang/String;Landroid/os/Bundle;Ljava/util/List;[Ljava/lang/String;)V
-Landroid/service/autofill/IAutoFillService$Stub$Proxy;
-Landroid/service/autofill/IAutoFillService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/autofill/IAutoFillService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/autofill/IAutoFillService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/autofill/IAutoFillService$Stub$Proxy;->onConnectedStateChanged(Z)V
-Landroid/service/autofill/IAutoFillService$Stub$Proxy;->onFillRequest(Landroid/service/autofill/FillRequest;Landroid/service/autofill/IFillCallback;)V
-Landroid/service/autofill/IAutoFillService$Stub$Proxy;->onSaveRequest(Landroid/service/autofill/SaveRequest;Landroid/service/autofill/ISaveCallback;)V
-Landroid/service/autofill/IAutoFillService$Stub;
-Landroid/service/autofill/IAutoFillService$Stub;-><init>()V
-Landroid/service/autofill/IAutoFillService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/autofill/IAutoFillService;
-Landroid/service/autofill/IAutoFillService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/autofill/IAutoFillService$Stub;->TRANSACTION_onConnectedStateChanged:I
-Landroid/service/autofill/IAutoFillService$Stub;->TRANSACTION_onFillRequest:I
-Landroid/service/autofill/IAutoFillService$Stub;->TRANSACTION_onSaveRequest:I
-Landroid/service/autofill/IAutoFillService;
-Landroid/service/autofill/IAutoFillService;->onConnectedStateChanged(Z)V
-Landroid/service/autofill/IAutoFillService;->onFillRequest(Landroid/service/autofill/FillRequest;Landroid/service/autofill/IFillCallback;)V
-Landroid/service/autofill/IAutoFillService;->onSaveRequest(Landroid/service/autofill/SaveRequest;Landroid/service/autofill/ISaveCallback;)V
-Landroid/service/autofill/IFillCallback$Stub$Proxy;
-Landroid/service/autofill/IFillCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/autofill/IFillCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/autofill/IFillCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/autofill/IFillCallback$Stub$Proxy;->onCancellable(Landroid/os/ICancellationSignal;)V
-Landroid/service/autofill/IFillCallback$Stub$Proxy;->onFailure(ILjava/lang/CharSequence;)V
-Landroid/service/autofill/IFillCallback$Stub$Proxy;->onSuccess(Landroid/service/autofill/FillResponse;)V
-Landroid/service/autofill/IFillCallback$Stub;
-Landroid/service/autofill/IFillCallback$Stub;-><init>()V
-Landroid/service/autofill/IFillCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/autofill/IFillCallback;
-Landroid/service/autofill/IFillCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/autofill/IFillCallback$Stub;->TRANSACTION_onCancellable:I
-Landroid/service/autofill/IFillCallback$Stub;->TRANSACTION_onFailure:I
-Landroid/service/autofill/IFillCallback$Stub;->TRANSACTION_onSuccess:I
-Landroid/service/autofill/IFillCallback;
-Landroid/service/autofill/IFillCallback;->onCancellable(Landroid/os/ICancellationSignal;)V
-Landroid/service/autofill/IFillCallback;->onFailure(ILjava/lang/CharSequence;)V
-Landroid/service/autofill/IFillCallback;->onSuccess(Landroid/service/autofill/FillResponse;)V
-Landroid/service/autofill/ImageTransformation$Builder;->addOptionInternal(Ljava/util/regex/Pattern;ILjava/lang/CharSequence;)V
-Landroid/service/autofill/ImageTransformation$Builder;->mDestroyed:Z
-Landroid/service/autofill/ImageTransformation$Builder;->mId:Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/ImageTransformation$Builder;->mOptions:Ljava/util/ArrayList;
-Landroid/service/autofill/ImageTransformation$Builder;->throwIfDestroyed()V
-Landroid/service/autofill/ImageTransformation$Option;
-Landroid/service/autofill/ImageTransformation$Option;-><init>(Ljava/util/regex/Pattern;ILjava/lang/CharSequence;)V
-Landroid/service/autofill/ImageTransformation$Option;->contentDescription:Ljava/lang/CharSequence;
-Landroid/service/autofill/ImageTransformation$Option;->pattern:Ljava/util/regex/Pattern;
-Landroid/service/autofill/ImageTransformation$Option;->resId:I
-Landroid/service/autofill/ImageTransformation;-><init>(Landroid/service/autofill/ImageTransformation$Builder;)V
-Landroid/service/autofill/ImageTransformation;->mId:Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/ImageTransformation;->mOptions:Ljava/util/ArrayList;
-Landroid/service/autofill/ImageTransformation;->TAG:Ljava/lang/String;
-Landroid/service/autofill/InternalSanitizer;->sanitize(Landroid/view/autofill/AutofillValue;)Landroid/view/autofill/AutofillValue;
-Landroid/service/autofill/InternalTransformation;->apply(Landroid/service/autofill/ValueFinder;Landroid/widget/RemoteViews;I)V
-Landroid/service/autofill/InternalTransformation;->batchApply(Landroid/service/autofill/ValueFinder;Landroid/widget/RemoteViews;Ljava/util/ArrayList;)Z
-Landroid/service/autofill/InternalTransformation;->TAG:Ljava/lang/String;
-Landroid/service/autofill/ISaveCallback$Stub$Proxy;
-Landroid/service/autofill/ISaveCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/autofill/ISaveCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/autofill/ISaveCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/autofill/ISaveCallback$Stub$Proxy;->onFailure(Ljava/lang/CharSequence;)V
-Landroid/service/autofill/ISaveCallback$Stub$Proxy;->onSuccess(Landroid/content/IntentSender;)V
-Landroid/service/autofill/ISaveCallback$Stub;
-Landroid/service/autofill/ISaveCallback$Stub;-><init>()V
-Landroid/service/autofill/ISaveCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/autofill/ISaveCallback;
-Landroid/service/autofill/ISaveCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/autofill/ISaveCallback$Stub;->TRANSACTION_onFailure:I
-Landroid/service/autofill/ISaveCallback$Stub;->TRANSACTION_onSuccess:I
-Landroid/service/autofill/ISaveCallback;
-Landroid/service/autofill/ISaveCallback;->onFailure(Ljava/lang/CharSequence;)V
-Landroid/service/autofill/ISaveCallback;->onSuccess(Landroid/content/IntentSender;)V
-Landroid/service/autofill/LuhnChecksumValidator;->isLuhnChecksumValid(Ljava/lang/String;)Z
-Landroid/service/autofill/LuhnChecksumValidator;->mIds:[Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/LuhnChecksumValidator;->TAG:Ljava/lang/String;
-Landroid/service/autofill/RegexValidator;->mId:Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/RegexValidator;->mRegex:Ljava/util/regex/Pattern;
-Landroid/service/autofill/RegexValidator;->TAG:Ljava/lang/String;
-Landroid/service/autofill/SaveCallback;-><init>(Landroid/service/autofill/ISaveCallback;)V
-Landroid/service/autofill/SaveCallback;->assertNotCalled()V
-Landroid/service/autofill/SaveCallback;->mCallback:Landroid/service/autofill/ISaveCallback;
-Landroid/service/autofill/SaveCallback;->mCalled:Z
-Landroid/service/autofill/SaveCallback;->onSuccessInternal(Landroid/content/IntentSender;)V
-Landroid/service/autofill/SaveInfo$Builder;->mCustomDescription:Landroid/service/autofill/CustomDescription;
-Landroid/service/autofill/SaveInfo$Builder;->mDescription:Ljava/lang/CharSequence;
-Landroid/service/autofill/SaveInfo$Builder;->mDestroyed:Z
-Landroid/service/autofill/SaveInfo$Builder;->mFlags:I
-Landroid/service/autofill/SaveInfo$Builder;->mNegativeActionListener:Landroid/content/IntentSender;
-Landroid/service/autofill/SaveInfo$Builder;->mNegativeButtonStyle:I
-Landroid/service/autofill/SaveInfo$Builder;->mOptionalIds:[Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/SaveInfo$Builder;->mRequiredIds:[Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/SaveInfo$Builder;->mSanitizerIds:Landroid/util/ArraySet;
-Landroid/service/autofill/SaveInfo$Builder;->mSanitizers:Landroid/util/ArrayMap;
-Landroid/service/autofill/SaveInfo$Builder;->mTriggerId:Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/SaveInfo$Builder;->mType:I
-Landroid/service/autofill/SaveInfo$Builder;->mValidator:Landroid/service/autofill/InternalValidator;
-Landroid/service/autofill/SaveInfo$Builder;->throwIfDestroyed()V
-Landroid/service/autofill/SaveInfo$NegativeButtonStyle;
-Landroid/service/autofill/SaveInfo$SaveDataType;
-Landroid/service/autofill/SaveInfo$SaveInfoFlags;
-Landroid/service/autofill/SaveInfo;-><init>(Landroid/service/autofill/SaveInfo$Builder;)V
-Landroid/service/autofill/SaveInfo;->getCustomDescription()Landroid/service/autofill/CustomDescription;
-Landroid/service/autofill/SaveInfo;->getDescription()Ljava/lang/CharSequence;
-Landroid/service/autofill/SaveInfo;->getFlags()I
-Landroid/service/autofill/SaveInfo;->getNegativeActionListener()Landroid/content/IntentSender;
-Landroid/service/autofill/SaveInfo;->getNegativeActionStyle()I
-Landroid/service/autofill/SaveInfo;->getOptionalIds()[Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/SaveInfo;->getRequiredIds()[Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/SaveInfo;->getSanitizerKeys()[Landroid/service/autofill/InternalSanitizer;
-Landroid/service/autofill/SaveInfo;->getSanitizerValues()[[Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/SaveInfo;->getTriggerId()Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/SaveInfo;->getType()I
-Landroid/service/autofill/SaveInfo;->getValidator()Landroid/service/autofill/InternalValidator;
-Landroid/service/autofill/SaveInfo;->mCustomDescription:Landroid/service/autofill/CustomDescription;
-Landroid/service/autofill/SaveInfo;->mDescription:Ljava/lang/CharSequence;
-Landroid/service/autofill/SaveInfo;->mFlags:I
-Landroid/service/autofill/SaveInfo;->mNegativeActionListener:Landroid/content/IntentSender;
-Landroid/service/autofill/SaveInfo;->mNegativeButtonStyle:I
-Landroid/service/autofill/SaveInfo;->mOptionalIds:[Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/SaveInfo;->mRequiredIds:[Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/SaveInfo;->mSanitizerKeys:[Landroid/service/autofill/InternalSanitizer;
-Landroid/service/autofill/SaveInfo;->mSanitizerValues:[[Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/SaveInfo;->mTriggerId:Landroid/view/autofill/AutofillId;
-Landroid/service/autofill/SaveInfo;->mType:I
-Landroid/service/autofill/SaveInfo;->mValidator:Landroid/service/autofill/InternalValidator;
-Landroid/service/autofill/SaveRequest;-><init>(Landroid/os/Parcel;)V
-Landroid/service/autofill/SaveRequest;-><init>(Ljava/util/ArrayList;Landroid/os/Bundle;Ljava/util/ArrayList;)V
-Landroid/service/autofill/SaveRequest;->mClientState:Landroid/os/Bundle;
-Landroid/service/autofill/SaveRequest;->mDatasetIds:Ljava/util/ArrayList;
-Landroid/service/autofill/SaveRequest;->mFillContexts:Ljava/util/ArrayList;
-Landroid/service/autofill/TextValueSanitizer;->mRegex:Ljava/util/regex/Pattern;
-Landroid/service/autofill/TextValueSanitizer;->mSubst:Ljava/lang/String;
-Landroid/service/autofill/TextValueSanitizer;->TAG:Ljava/lang/String;
-Landroid/service/autofill/UserData$Builder;->addMapping(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/service/autofill/UserData$Builder;->checkNotEmpty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/service/autofill/UserData$Builder;->checkValidValue(Ljava/lang/String;)V
-Landroid/service/autofill/UserData$Builder;->mAlgorithm:Ljava/lang/String;
-Landroid/service/autofill/UserData$Builder;->mAlgorithmArgs:Landroid/os/Bundle;
-Landroid/service/autofill/UserData$Builder;->mCategoryIds:Ljava/util/ArrayList;
-Landroid/service/autofill/UserData$Builder;->mDestroyed:Z
-Landroid/service/autofill/UserData$Builder;->mId:Ljava/lang/String;
-Landroid/service/autofill/UserData$Builder;->mUniqueCategoryIds:Landroid/util/ArraySet;
-Landroid/service/autofill/UserData$Builder;->mValues:Ljava/util/ArrayList;
-Landroid/service/autofill/UserData$Builder;->throwIfDestroyed()V
-Landroid/service/autofill/UserData;-><init>(Landroid/service/autofill/UserData$Builder;)V
-Landroid/service/autofill/UserData;->DEFAULT_MAX_CATEGORY_COUNT:I
-Landroid/service/autofill/UserData;->DEFAULT_MAX_FIELD_CLASSIFICATION_IDS_SIZE:I
-Landroid/service/autofill/UserData;->DEFAULT_MAX_USER_DATA_SIZE:I
-Landroid/service/autofill/UserData;->DEFAULT_MAX_VALUE_LENGTH:I
-Landroid/service/autofill/UserData;->DEFAULT_MIN_VALUE_LENGTH:I
-Landroid/service/autofill/UserData;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-Landroid/service/autofill/UserData;->dumpConstraints(Ljava/lang/String;Ljava/io/PrintWriter;)V
-Landroid/service/autofill/UserData;->getAlgorithmArgs()Landroid/os/Bundle;
-Landroid/service/autofill/UserData;->getCategoryIds()[Ljava/lang/String;
-Landroid/service/autofill/UserData;->getInt(Ljava/lang/String;I)I
-Landroid/service/autofill/UserData;->getValues()[Ljava/lang/String;
-Landroid/service/autofill/UserData;->mAlgorithm:Ljava/lang/String;
-Landroid/service/autofill/UserData;->mAlgorithmArgs:Landroid/os/Bundle;
-Landroid/service/autofill/UserData;->mCategoryIds:[Ljava/lang/String;
-Landroid/service/autofill/UserData;->mId:Ljava/lang/String;
-Landroid/service/autofill/UserData;->mValues:[Ljava/lang/String;
-Landroid/service/autofill/UserData;->TAG:Ljava/lang/String;
-Landroid/service/autofill/Validators;-><init>()V
-Landroid/service/autofill/Validators;->getInternalValidators([Landroid/service/autofill/Validator;)[Landroid/service/autofill/InternalValidator;
-Landroid/service/carrier/CarrierIdentifier$MatchType;
-Landroid/service/carrier/CarrierIdentifier$MatchType;->ALL:I
-Landroid/service/carrier/CarrierIdentifier$MatchType;->GID1:I
-Landroid/service/carrier/CarrierIdentifier$MatchType;->GID2:I
-Landroid/service/carrier/CarrierIdentifier$MatchType;->IMSI_PREFIX:I
-Landroid/service/carrier/CarrierIdentifier$MatchType;->SPN:I
-Landroid/service/carrier/CarrierIdentifier;-><init>(Landroid/os/Parcel;)V
-Landroid/service/carrier/CarrierIdentifier;->mGid1:Ljava/lang/String;
-Landroid/service/carrier/CarrierIdentifier;->mGid2:Ljava/lang/String;
-Landroid/service/carrier/CarrierIdentifier;->mImsi:Ljava/lang/String;
-Landroid/service/carrier/CarrierIdentifier;->mMcc:Ljava/lang/String;
-Landroid/service/carrier/CarrierIdentifier;->mMnc:Ljava/lang/String;
-Landroid/service/carrier/CarrierIdentifier;->mSpn:Ljava/lang/String;
-Landroid/service/carrier/CarrierIdentifier;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/service/carrier/CarrierMessagingService$ICarrierMessagingWrapper;
-Landroid/service/carrier/CarrierMessagingService$ICarrierMessagingWrapper;-><init>()V
-Landroid/service/carrier/CarrierMessagingService$ICarrierMessagingWrapper;->downloadMms(Landroid/net/Uri;ILandroid/net/Uri;Landroid/service/carrier/ICarrierMessagingCallback;)V
-Landroid/service/carrier/CarrierMessagingService$ICarrierMessagingWrapper;->filterSms(Landroid/service/carrier/MessagePdu;Ljava/lang/String;IILandroid/service/carrier/ICarrierMessagingCallback;)V
-Landroid/service/carrier/CarrierMessagingService$ICarrierMessagingWrapper;->sendDataSms([BILjava/lang/String;IILandroid/service/carrier/ICarrierMessagingCallback;)V
-Landroid/service/carrier/CarrierMessagingService$ICarrierMessagingWrapper;->sendMms(Landroid/net/Uri;ILandroid/net/Uri;Landroid/service/carrier/ICarrierMessagingCallback;)V
-Landroid/service/carrier/CarrierMessagingService$ICarrierMessagingWrapper;->sendMultipartTextSms(Ljava/util/List;ILjava/lang/String;ILandroid/service/carrier/ICarrierMessagingCallback;)V
-Landroid/service/carrier/CarrierMessagingService$ICarrierMessagingWrapper;->sendTextSms(Ljava/lang/String;ILjava/lang/String;ILandroid/service/carrier/ICarrierMessagingCallback;)V
-Landroid/service/carrier/CarrierMessagingService$SendMmsResult;->mSendConfPdu:[B
-Landroid/service/carrier/CarrierMessagingService$SendMmsResult;->mSendStatus:I
-Landroid/service/carrier/CarrierMessagingService$SendMultipartSmsResult;->mMessageRefs:[I
-Landroid/service/carrier/CarrierMessagingService$SendMultipartSmsResult;->mSendStatus:I
-Landroid/service/carrier/CarrierMessagingService$SendSmsResult;->mMessageRef:I
-Landroid/service/carrier/CarrierMessagingService$SendSmsResult;->mSendStatus:I
-Landroid/service/carrier/CarrierMessagingService;->mWrapper:Landroid/service/carrier/CarrierMessagingService$ICarrierMessagingWrapper;
-Landroid/service/carrier/CarrierService$ICarrierServiceWrapper;
-Landroid/service/carrier/CarrierService$ICarrierServiceWrapper;-><init>()V
-Landroid/service/carrier/CarrierService$ICarrierServiceWrapper;->getCarrierConfig(Landroid/service/carrier/CarrierIdentifier;Landroid/os/ResultReceiver;)V
-Landroid/service/carrier/CarrierService$ICarrierServiceWrapper;->KEY_CONFIG_BUNDLE:Ljava/lang/String;
-Landroid/service/carrier/CarrierService$ICarrierServiceWrapper;->RESULT_ERROR:I
-Landroid/service/carrier/CarrierService$ICarrierServiceWrapper;->RESULT_OK:I
-Landroid/service/carrier/CarrierService;->LOG_TAG:Ljava/lang/String;
-Landroid/service/carrier/CarrierService;->mStubWrapper:Landroid/service/carrier/ICarrierService$Stub;
-Landroid/service/carrier/CarrierService;->sRegistry:Lcom/android/internal/telephony/ITelephonyRegistry;
-Landroid/service/carrier/ICarrierMessagingCallback$Stub$Proxy;
-Landroid/service/carrier/ICarrierMessagingCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/carrier/ICarrierMessagingCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/carrier/ICarrierMessagingCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/carrier/ICarrierMessagingCallback$Stub$Proxy;->onDownloadMmsComplete(I)V
-Landroid/service/carrier/ICarrierMessagingCallback$Stub$Proxy;->onFilterComplete(I)V
-Landroid/service/carrier/ICarrierMessagingCallback$Stub$Proxy;->onSendMmsComplete(I[B)V
-Landroid/service/carrier/ICarrierMessagingCallback$Stub$Proxy;->onSendMultipartSmsComplete(I[I)V
-Landroid/service/carrier/ICarrierMessagingCallback$Stub$Proxy;->onSendSmsComplete(II)V
-Landroid/service/carrier/ICarrierMessagingCallback$Stub;
-Landroid/service/carrier/ICarrierMessagingCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/carrier/ICarrierMessagingCallback;
-Landroid/service/carrier/ICarrierMessagingCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/carrier/ICarrierMessagingCallback$Stub;->TRANSACTION_onDownloadMmsComplete:I
-Landroid/service/carrier/ICarrierMessagingCallback$Stub;->TRANSACTION_onFilterComplete:I
-Landroid/service/carrier/ICarrierMessagingCallback$Stub;->TRANSACTION_onSendMmsComplete:I
-Landroid/service/carrier/ICarrierMessagingCallback$Stub;->TRANSACTION_onSendMultipartSmsComplete:I
-Landroid/service/carrier/ICarrierMessagingCallback$Stub;->TRANSACTION_onSendSmsComplete:I
-Landroid/service/carrier/ICarrierMessagingCallback;
-Landroid/service/carrier/ICarrierMessagingCallback;->onDownloadMmsComplete(I)V
-Landroid/service/carrier/ICarrierMessagingCallback;->onFilterComplete(I)V
-Landroid/service/carrier/ICarrierMessagingCallback;->onSendMmsComplete(I[B)V
-Landroid/service/carrier/ICarrierMessagingCallback;->onSendMultipartSmsComplete(I[I)V
-Landroid/service/carrier/ICarrierMessagingCallback;->onSendSmsComplete(II)V
-Landroid/service/carrier/ICarrierMessagingService$Stub$Proxy;
-Landroid/service/carrier/ICarrierMessagingService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/carrier/ICarrierMessagingService$Stub$Proxy;->downloadMms(Landroid/net/Uri;ILandroid/net/Uri;Landroid/service/carrier/ICarrierMessagingCallback;)V
-Landroid/service/carrier/ICarrierMessagingService$Stub$Proxy;->filterSms(Landroid/service/carrier/MessagePdu;Ljava/lang/String;IILandroid/service/carrier/ICarrierMessagingCallback;)V
-Landroid/service/carrier/ICarrierMessagingService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/carrier/ICarrierMessagingService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/carrier/ICarrierMessagingService$Stub$Proxy;->sendDataSms([BILjava/lang/String;IILandroid/service/carrier/ICarrierMessagingCallback;)V
-Landroid/service/carrier/ICarrierMessagingService$Stub$Proxy;->sendMms(Landroid/net/Uri;ILandroid/net/Uri;Landroid/service/carrier/ICarrierMessagingCallback;)V
-Landroid/service/carrier/ICarrierMessagingService$Stub$Proxy;->sendMultipartTextSms(Ljava/util/List;ILjava/lang/String;ILandroid/service/carrier/ICarrierMessagingCallback;)V
-Landroid/service/carrier/ICarrierMessagingService$Stub$Proxy;->sendTextSms(Ljava/lang/String;ILjava/lang/String;ILandroid/service/carrier/ICarrierMessagingCallback;)V
-Landroid/service/carrier/ICarrierMessagingService$Stub;
-Landroid/service/carrier/ICarrierMessagingService$Stub;-><init>()V
-Landroid/service/carrier/ICarrierMessagingService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/carrier/ICarrierMessagingService;
-Landroid/service/carrier/ICarrierMessagingService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/carrier/ICarrierMessagingService$Stub;->TRANSACTION_downloadMms:I
-Landroid/service/carrier/ICarrierMessagingService$Stub;->TRANSACTION_filterSms:I
-Landroid/service/carrier/ICarrierMessagingService$Stub;->TRANSACTION_sendDataSms:I
-Landroid/service/carrier/ICarrierMessagingService$Stub;->TRANSACTION_sendMms:I
-Landroid/service/carrier/ICarrierMessagingService$Stub;->TRANSACTION_sendMultipartTextSms:I
-Landroid/service/carrier/ICarrierMessagingService$Stub;->TRANSACTION_sendTextSms:I
-Landroid/service/carrier/ICarrierMessagingService;
-Landroid/service/carrier/ICarrierMessagingService;->downloadMms(Landroid/net/Uri;ILandroid/net/Uri;Landroid/service/carrier/ICarrierMessagingCallback;)V
-Landroid/service/carrier/ICarrierMessagingService;->sendDataSms([BILjava/lang/String;IILandroid/service/carrier/ICarrierMessagingCallback;)V
-Landroid/service/carrier/ICarrierMessagingService;->sendMms(Landroid/net/Uri;ILandroid/net/Uri;Landroid/service/carrier/ICarrierMessagingCallback;)V
-Landroid/service/carrier/ICarrierMessagingService;->sendMultipartTextSms(Ljava/util/List;ILjava/lang/String;ILandroid/service/carrier/ICarrierMessagingCallback;)V
-Landroid/service/carrier/ICarrierMessagingService;->sendTextSms(Ljava/lang/String;ILjava/lang/String;ILandroid/service/carrier/ICarrierMessagingCallback;)V
-Landroid/service/carrier/ICarrierService$Stub$Proxy;
-Landroid/service/carrier/ICarrierService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/carrier/ICarrierService$Stub$Proxy;->getCarrierConfig(Landroid/service/carrier/CarrierIdentifier;Landroid/os/ResultReceiver;)V
-Landroid/service/carrier/ICarrierService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/carrier/ICarrierService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/carrier/ICarrierService$Stub;
-Landroid/service/carrier/ICarrierService$Stub;-><init>()V
-Landroid/service/carrier/ICarrierService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/carrier/ICarrierService;
-Landroid/service/carrier/ICarrierService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/carrier/ICarrierService$Stub;->TRANSACTION_getCarrierConfig:I
-Landroid/service/carrier/ICarrierService;
-Landroid/service/carrier/ICarrierService;->getCarrierConfig(Landroid/service/carrier/CarrierIdentifier;Landroid/os/ResultReceiver;)V
-Landroid/service/carrier/MessagePdu;->mPduList:Ljava/util/List;
-Landroid/service/carrier/MessagePdu;->NULL_LENGTH:I
-Landroid/service/chooser/ChooserTarget;-><init>(Landroid/os/Parcel;)V
-Landroid/service/chooser/ChooserTarget;->mComponentName:Landroid/content/ComponentName;
-Landroid/service/chooser/ChooserTarget;->mIcon:Landroid/graphics/drawable/Icon;
-Landroid/service/chooser/ChooserTarget;->mIntentExtras:Landroid/os/Bundle;
-Landroid/service/chooser/ChooserTarget;->mScore:F
-Landroid/service/chooser/ChooserTarget;->mTitle:Ljava/lang/CharSequence;
-Landroid/service/chooser/ChooserTarget;->TAG:Ljava/lang/String;
-Landroid/service/chooser/ChooserTargetService$IChooserTargetServiceWrapper;
-Landroid/service/chooser/ChooserTargetService$IChooserTargetServiceWrapper;-><init>()V
-Landroid/service/chooser/ChooserTargetService$IChooserTargetServiceWrapper;->getChooserTargets(Landroid/content/ComponentName;Landroid/content/IntentFilter;Landroid/service/chooser/IChooserTargetResult;)V
-Landroid/service/chooser/ChooserTargetService;->DEBUG:Z
-Landroid/service/chooser/ChooserTargetService;->mWrapper:Landroid/service/chooser/ChooserTargetService$IChooserTargetServiceWrapper;
-Landroid/service/chooser/ChooserTargetService;->TAG:Ljava/lang/String;
-Landroid/service/chooser/IChooserTargetResult$Stub$Proxy;
-Landroid/service/chooser/IChooserTargetResult$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/chooser/IChooserTargetResult$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/chooser/IChooserTargetResult$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/chooser/IChooserTargetResult$Stub$Proxy;->sendResult(Ljava/util/List;)V
-Landroid/service/chooser/IChooserTargetResult$Stub;
-Landroid/service/chooser/IChooserTargetResult$Stub;-><init>()V
-Landroid/service/chooser/IChooserTargetResult$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/chooser/IChooserTargetResult;
-Landroid/service/chooser/IChooserTargetResult$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/chooser/IChooserTargetResult$Stub;->TRANSACTION_sendResult:I
-Landroid/service/chooser/IChooserTargetResult;
-Landroid/service/chooser/IChooserTargetResult;->sendResult(Ljava/util/List;)V
-Landroid/service/chooser/IChooserTargetService$Stub$Proxy;
-Landroid/service/chooser/IChooserTargetService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/chooser/IChooserTargetService$Stub$Proxy;->getChooserTargets(Landroid/content/ComponentName;Landroid/content/IntentFilter;Landroid/service/chooser/IChooserTargetResult;)V
-Landroid/service/chooser/IChooserTargetService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/chooser/IChooserTargetService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/chooser/IChooserTargetService$Stub;
-Landroid/service/chooser/IChooserTargetService$Stub;-><init>()V
-Landroid/service/chooser/IChooserTargetService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/chooser/IChooserTargetService;
-Landroid/service/chooser/IChooserTargetService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/chooser/IChooserTargetService$Stub;->TRANSACTION_getChooserTargets:I
-Landroid/service/chooser/IChooserTargetService;
-Landroid/service/chooser/IChooserTargetService;->getChooserTargets(Landroid/content/ComponentName;Landroid/content/IntentFilter;Landroid/service/chooser/IChooserTargetResult;)V
-Landroid/service/dreams/DreamManagerInternal;
-Landroid/service/dreams/DreamManagerInternal;-><init>()V
-Landroid/service/dreams/DreamManagerInternal;->isDreaming()Z
-Landroid/service/dreams/DreamManagerInternal;->startDream(Z)V
-Landroid/service/dreams/DreamManagerInternal;->stopDream(Z)V
-Landroid/service/dreams/DreamService$DreamServiceWrapper;
-Landroid/service/dreams/DreamService$DreamServiceWrapper;-><init>()V
-Landroid/service/dreams/DreamService$DreamServiceWrapper;->attach(Landroid/os/IBinder;ZLandroid/os/IRemoteCallback;)V
-Landroid/service/dreams/DreamService$DreamServiceWrapper;->detach()V
-Landroid/service/dreams/DreamService$DreamServiceWrapper;->wakeUp()V
-Landroid/service/dreams/DreamService;->applyFlags(III)I
-Landroid/service/dreams/DreamService;->applySystemUiVisibilityFlags(II)V
-Landroid/service/dreams/DreamService;->applyWindowFlags(II)V
-Landroid/service/dreams/DreamService;->attach(Landroid/os/IBinder;ZLandroid/os/IRemoteCallback;)V
-Landroid/service/dreams/DreamService;->clampAbsoluteBrightness(I)I
-Landroid/service/dreams/DreamService;->detach()V
-Landroid/service/dreams/DreamService;->DREAM_SERVICE:Ljava/lang/String;
-Landroid/service/dreams/DreamService;->dumpOnHandler(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/service/dreams/DreamService;->getDozeScreenState()I
-Landroid/service/dreams/DreamService;->getSystemUiVisibilityFlagValue(IZ)Z
-Landroid/service/dreams/DreamService;->getWindowFlagValue(IZ)Z
-Landroid/service/dreams/DreamService;->isLowProfile()Z
-Landroid/service/dreams/DreamService;->isWindowless()Z
-Landroid/service/dreams/DreamService;->mCanDoze:Z
-Landroid/service/dreams/DreamService;->mDebug:Z
-Landroid/service/dreams/DreamService;->mDozeScreenBrightness:I
-Landroid/service/dreams/DreamService;->mDozeScreenState:I
-Landroid/service/dreams/DreamService;->mDozing:Z
-Landroid/service/dreams/DreamService;->mFinished:Z
-Landroid/service/dreams/DreamService;->mFullscreen:Z
-Landroid/service/dreams/DreamService;->mHandler:Landroid/os/Handler;
-Landroid/service/dreams/DreamService;->mInteractive:Z
-Landroid/service/dreams/DreamService;->mLowProfile:Z
-Landroid/service/dreams/DreamService;->mSandman:Landroid/service/dreams/IDreamManager;
-Landroid/service/dreams/DreamService;->mScreenBright:Z
-Landroid/service/dreams/DreamService;->mStarted:Z
-Landroid/service/dreams/DreamService;->mWaking:Z
-Landroid/service/dreams/DreamService;->mWindow:Landroid/view/Window;
-Landroid/service/dreams/DreamService;->mWindowless:Z
-Landroid/service/dreams/DreamService;->mWindowToken:Landroid/os/IBinder;
-Landroid/service/dreams/DreamService;->setDebug(Z)V
-Landroid/service/dreams/DreamService;->setLowProfile(Z)V
-Landroid/service/dreams/DreamService;->TAG:Ljava/lang/String;
-Landroid/service/dreams/DreamService;->updateDoze()V
-Landroid/service/dreams/DreamService;->wakeUp(Z)V
-Landroid/service/dreams/IDreamManager$Stub$Proxy;
-Landroid/service/dreams/IDreamManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/dreams/IDreamManager$Stub$Proxy;->awaken()V
-Landroid/service/dreams/IDreamManager$Stub$Proxy;->dream()V
-Landroid/service/dreams/IDreamManager$Stub$Proxy;->finishSelf(Landroid/os/IBinder;Z)V
-Landroid/service/dreams/IDreamManager$Stub$Proxy;->getDefaultDreamComponent()Landroid/content/ComponentName;
-Landroid/service/dreams/IDreamManager$Stub$Proxy;->getDreamComponents()[Landroid/content/ComponentName;
-Landroid/service/dreams/IDreamManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/dreams/IDreamManager$Stub$Proxy;->isDreaming()Z
-Landroid/service/dreams/IDreamManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/dreams/IDreamManager$Stub$Proxy;->setDreamComponents([Landroid/content/ComponentName;)V
-Landroid/service/dreams/IDreamManager$Stub$Proxy;->startDozing(Landroid/os/IBinder;II)V
-Landroid/service/dreams/IDreamManager$Stub$Proxy;->stopDozing(Landroid/os/IBinder;)V
-Landroid/service/dreams/IDreamManager$Stub$Proxy;->testDream(Landroid/content/ComponentName;)V
-Landroid/service/dreams/IDreamManager$Stub;
-Landroid/service/dreams/IDreamManager$Stub;-><init>()V
-Landroid/service/dreams/IDreamManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/dreams/IDreamManager$Stub;->TRANSACTION_awaken:I
-Landroid/service/dreams/IDreamManager$Stub;->TRANSACTION_dream:I
-Landroid/service/dreams/IDreamManager$Stub;->TRANSACTION_finishSelf:I
-Landroid/service/dreams/IDreamManager$Stub;->TRANSACTION_getDefaultDreamComponent:I
-Landroid/service/dreams/IDreamManager$Stub;->TRANSACTION_getDreamComponents:I
-Landroid/service/dreams/IDreamManager$Stub;->TRANSACTION_isDreaming:I
-Landroid/service/dreams/IDreamManager$Stub;->TRANSACTION_setDreamComponents:I
-Landroid/service/dreams/IDreamManager$Stub;->TRANSACTION_startDozing:I
-Landroid/service/dreams/IDreamManager$Stub;->TRANSACTION_stopDozing:I
-Landroid/service/dreams/IDreamManager$Stub;->TRANSACTION_testDream:I
-Landroid/service/dreams/IDreamManager;
-Landroid/service/dreams/IDreamManager;->finishSelf(Landroid/os/IBinder;Z)V
-Landroid/service/dreams/IDreamManager;->getDefaultDreamComponent()Landroid/content/ComponentName;
-Landroid/service/dreams/IDreamManager;->startDozing(Landroid/os/IBinder;II)V
-Landroid/service/dreams/IDreamManager;->stopDozing(Landroid/os/IBinder;)V
-Landroid/service/dreams/IDreamManager;->testDream(Landroid/content/ComponentName;)V
-Landroid/service/dreams/IDreamService$Stub$Proxy;
-Landroid/service/dreams/IDreamService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/dreams/IDreamService$Stub$Proxy;->attach(Landroid/os/IBinder;ZLandroid/os/IRemoteCallback;)V
-Landroid/service/dreams/IDreamService$Stub$Proxy;->detach()V
-Landroid/service/dreams/IDreamService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/dreams/IDreamService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/dreams/IDreamService$Stub$Proxy;->wakeUp()V
-Landroid/service/dreams/IDreamService$Stub;
-Landroid/service/dreams/IDreamService$Stub;-><init>()V
-Landroid/service/dreams/IDreamService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/dreams/IDreamService;
-Landroid/service/dreams/IDreamService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/dreams/IDreamService$Stub;->TRANSACTION_attach:I
-Landroid/service/dreams/IDreamService$Stub;->TRANSACTION_detach:I
-Landroid/service/dreams/IDreamService$Stub;->TRANSACTION_wakeUp:I
-Landroid/service/dreams/IDreamService;
-Landroid/service/dreams/IDreamService;->attach(Landroid/os/IBinder;ZLandroid/os/IRemoteCallback;)V
-Landroid/service/dreams/IDreamService;->detach()V
-Landroid/service/dreams/IDreamService;->wakeUp()V
-Landroid/service/dreams/Sandman;
-Landroid/service/dreams/Sandman;-><init>()V
-Landroid/service/dreams/Sandman;->isScreenSaverActivatedOnDock(Landroid/content/Context;)Z
-Landroid/service/dreams/Sandman;->isScreenSaverEnabled(Landroid/content/Context;)Z
-Landroid/service/dreams/Sandman;->shouldStartDockApp(Landroid/content/Context;Landroid/content/Intent;)Z
-Landroid/service/dreams/Sandman;->SOMNAMBULATOR_COMPONENT:Landroid/content/ComponentName;
-Landroid/service/dreams/Sandman;->startDream(Landroid/content/Context;Z)V
-Landroid/service/dreams/Sandman;->startDreamByUserRequest(Landroid/content/Context;)V
-Landroid/service/dreams/Sandman;->startDreamWhenDockedIfAppropriate(Landroid/content/Context;)V
-Landroid/service/dreams/Sandman;->TAG:Ljava/lang/String;
-Landroid/service/euicc/EuiccProfileInfo$Builder;->mAccessRules:Ljava/util/List;
-Landroid/service/euicc/EuiccProfileInfo$Builder;->mCarrierIdentifier:Landroid/service/carrier/CarrierIdentifier;
-Landroid/service/euicc/EuiccProfileInfo$Builder;->mIccid:Ljava/lang/String;
-Landroid/service/euicc/EuiccProfileInfo$Builder;->mNickname:Ljava/lang/String;
-Landroid/service/euicc/EuiccProfileInfo$Builder;->mPolicyRules:I
-Landroid/service/euicc/EuiccProfileInfo$Builder;->mProfileClass:I
-Landroid/service/euicc/EuiccProfileInfo$Builder;->mProfileName:Ljava/lang/String;
-Landroid/service/euicc/EuiccProfileInfo$Builder;->mServiceProviderName:Ljava/lang/String;
-Landroid/service/euicc/EuiccProfileInfo$Builder;->mState:I
-Landroid/service/euicc/EuiccProfileInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/service/euicc/EuiccProfileInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILandroid/service/carrier/CarrierIdentifier;ILjava/util/List;)V
-Landroid/service/euicc/EuiccProfileInfo;->mAccessRules:[Landroid/telephony/UiccAccessRule;
-Landroid/service/euicc/EuiccProfileInfo;->mCarrierIdentifier:Landroid/service/carrier/CarrierIdentifier;
-Landroid/service/euicc/EuiccProfileInfo;->mIccid:Ljava/lang/String;
-Landroid/service/euicc/EuiccProfileInfo;->mNickname:Ljava/lang/String;
-Landroid/service/euicc/EuiccProfileInfo;->mPolicyRules:I
-Landroid/service/euicc/EuiccProfileInfo;->mProfileClass:I
-Landroid/service/euicc/EuiccProfileInfo;->mProfileName:Ljava/lang/String;
-Landroid/service/euicc/EuiccProfileInfo;->mServiceProviderName:Ljava/lang/String;
-Landroid/service/euicc/EuiccProfileInfo;->mState:I
-Landroid/service/euicc/EuiccProfileInfo;->PROFILE_CLASS_UNSET:I
-Landroid/service/euicc/EuiccProfileInfo;->PROFILE_STATE_UNSET:I
-Landroid/service/euicc/EuiccService$IEuiccServiceWrapper;
-Landroid/service/euicc/EuiccService$IEuiccServiceWrapper;-><init>()V
-Landroid/service/euicc/EuiccService$IEuiccServiceWrapper;->deleteSubscription(ILjava/lang/String;Landroid/service/euicc/IDeleteSubscriptionCallback;)V
-Landroid/service/euicc/EuiccService$IEuiccServiceWrapper;->downloadSubscription(ILandroid/telephony/euicc/DownloadableSubscription;ZZLandroid/service/euicc/IDownloadSubscriptionCallback;)V
-Landroid/service/euicc/EuiccService$IEuiccServiceWrapper;->eraseSubscriptions(ILandroid/service/euicc/IEraseSubscriptionsCallback;)V
-Landroid/service/euicc/EuiccService$IEuiccServiceWrapper;->getDefaultDownloadableSubscriptionList(IZLandroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback;)V
-Landroid/service/euicc/EuiccService$IEuiccServiceWrapper;->getDownloadableSubscriptionMetadata(ILandroid/telephony/euicc/DownloadableSubscription;ZLandroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback;)V
-Landroid/service/euicc/EuiccService$IEuiccServiceWrapper;->getEid(ILandroid/service/euicc/IGetEidCallback;)V
-Landroid/service/euicc/EuiccService$IEuiccServiceWrapper;->getEuiccInfo(ILandroid/service/euicc/IGetEuiccInfoCallback;)V
-Landroid/service/euicc/EuiccService$IEuiccServiceWrapper;->getEuiccProfileInfoList(ILandroid/service/euicc/IGetEuiccProfileInfoListCallback;)V
-Landroid/service/euicc/EuiccService$IEuiccServiceWrapper;->getOtaStatus(ILandroid/service/euicc/IGetOtaStatusCallback;)V
-Landroid/service/euicc/EuiccService$IEuiccServiceWrapper;->retainSubscriptionsForFactoryReset(ILandroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback;)V
-Landroid/service/euicc/EuiccService$IEuiccServiceWrapper;->startOtaIfNecessary(ILandroid/service/euicc/IOtaStatusChangedCallback;)V
-Landroid/service/euicc/EuiccService$IEuiccServiceWrapper;->switchToSubscription(ILjava/lang/String;ZLandroid/service/euicc/ISwitchToSubscriptionCallback;)V
-Landroid/service/euicc/EuiccService$IEuiccServiceWrapper;->updateSubscriptionNickname(ILjava/lang/String;Ljava/lang/String;Landroid/service/euicc/IUpdateSubscriptionNicknameCallback;)V
-Landroid/service/euicc/EuiccService;->mExecutor:Ljava/util/concurrent/ThreadPoolExecutor;
-Landroid/service/euicc/EuiccService;->mStubWrapper:Landroid/service/euicc/IEuiccService$Stub;
-Landroid/service/euicc/EuiccService;->RESOLUTION_ACTIONS:Landroid/util/ArraySet;
-Landroid/service/euicc/GetDefaultDownloadableSubscriptionListResult;-><init>(Landroid/os/Parcel;)V
-Landroid/service/euicc/GetDefaultDownloadableSubscriptionListResult;->mSubscriptions:[Landroid/telephony/euicc/DownloadableSubscription;
-Landroid/service/euicc/GetDownloadableSubscriptionMetadataResult;-><init>(Landroid/os/Parcel;)V
-Landroid/service/euicc/GetDownloadableSubscriptionMetadataResult;->mSubscription:Landroid/telephony/euicc/DownloadableSubscription;
-Landroid/service/euicc/GetEuiccProfileInfoListResult;-><init>(Landroid/os/Parcel;)V
-Landroid/service/euicc/GetEuiccProfileInfoListResult;->mIsRemovable:Z
-Landroid/service/euicc/GetEuiccProfileInfoListResult;->mProfiles:[Landroid/service/euicc/EuiccProfileInfo;
-Landroid/service/euicc/GetEuiccProfileInfoListResult;->result:I
-Landroid/service/euicc/IDeleteSubscriptionCallback$Stub$Proxy;
-Landroid/service/euicc/IDeleteSubscriptionCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/euicc/IDeleteSubscriptionCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/euicc/IDeleteSubscriptionCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/euicc/IDeleteSubscriptionCallback$Stub$Proxy;->onComplete(I)V
-Landroid/service/euicc/IDeleteSubscriptionCallback$Stub;
-Landroid/service/euicc/IDeleteSubscriptionCallback$Stub;-><init>()V
-Landroid/service/euicc/IDeleteSubscriptionCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/euicc/IDeleteSubscriptionCallback;
-Landroid/service/euicc/IDeleteSubscriptionCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/euicc/IDeleteSubscriptionCallback$Stub;->TRANSACTION_onComplete:I
-Landroid/service/euicc/IDeleteSubscriptionCallback;
-Landroid/service/euicc/IDownloadSubscriptionCallback$Stub$Proxy;
-Landroid/service/euicc/IDownloadSubscriptionCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/euicc/IDownloadSubscriptionCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/euicc/IDownloadSubscriptionCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/euicc/IDownloadSubscriptionCallback$Stub$Proxy;->onComplete(I)V
-Landroid/service/euicc/IDownloadSubscriptionCallback$Stub;
-Landroid/service/euicc/IDownloadSubscriptionCallback$Stub;-><init>()V
-Landroid/service/euicc/IDownloadSubscriptionCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/euicc/IDownloadSubscriptionCallback;
-Landroid/service/euicc/IDownloadSubscriptionCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/euicc/IDownloadSubscriptionCallback$Stub;->TRANSACTION_onComplete:I
-Landroid/service/euicc/IDownloadSubscriptionCallback;
-Landroid/service/euicc/IEraseSubscriptionsCallback$Stub$Proxy;
-Landroid/service/euicc/IEraseSubscriptionsCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/euicc/IEraseSubscriptionsCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/euicc/IEraseSubscriptionsCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/euicc/IEraseSubscriptionsCallback$Stub$Proxy;->onComplete(I)V
-Landroid/service/euicc/IEraseSubscriptionsCallback$Stub;
-Landroid/service/euicc/IEraseSubscriptionsCallback$Stub;-><init>()V
-Landroid/service/euicc/IEraseSubscriptionsCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/euicc/IEraseSubscriptionsCallback;
-Landroid/service/euicc/IEraseSubscriptionsCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/euicc/IEraseSubscriptionsCallback$Stub;->TRANSACTION_onComplete:I
-Landroid/service/euicc/IEraseSubscriptionsCallback;
-Landroid/service/euicc/IEuiccService$Stub$Proxy;
-Landroid/service/euicc/IEuiccService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/euicc/IEuiccService$Stub$Proxy;->deleteSubscription(ILjava/lang/String;Landroid/service/euicc/IDeleteSubscriptionCallback;)V
-Landroid/service/euicc/IEuiccService$Stub$Proxy;->downloadSubscription(ILandroid/telephony/euicc/DownloadableSubscription;ZZLandroid/service/euicc/IDownloadSubscriptionCallback;)V
-Landroid/service/euicc/IEuiccService$Stub$Proxy;->eraseSubscriptions(ILandroid/service/euicc/IEraseSubscriptionsCallback;)V
-Landroid/service/euicc/IEuiccService$Stub$Proxy;->getDefaultDownloadableSubscriptionList(IZLandroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback;)V
-Landroid/service/euicc/IEuiccService$Stub$Proxy;->getDownloadableSubscriptionMetadata(ILandroid/telephony/euicc/DownloadableSubscription;ZLandroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback;)V
-Landroid/service/euicc/IEuiccService$Stub$Proxy;->getEid(ILandroid/service/euicc/IGetEidCallback;)V
-Landroid/service/euicc/IEuiccService$Stub$Proxy;->getEuiccInfo(ILandroid/service/euicc/IGetEuiccInfoCallback;)V
-Landroid/service/euicc/IEuiccService$Stub$Proxy;->getEuiccProfileInfoList(ILandroid/service/euicc/IGetEuiccProfileInfoListCallback;)V
-Landroid/service/euicc/IEuiccService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/euicc/IEuiccService$Stub$Proxy;->getOtaStatus(ILandroid/service/euicc/IGetOtaStatusCallback;)V
-Landroid/service/euicc/IEuiccService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/euicc/IEuiccService$Stub$Proxy;->retainSubscriptionsForFactoryReset(ILandroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback;)V
-Landroid/service/euicc/IEuiccService$Stub$Proxy;->startOtaIfNecessary(ILandroid/service/euicc/IOtaStatusChangedCallback;)V
-Landroid/service/euicc/IEuiccService$Stub$Proxy;->switchToSubscription(ILjava/lang/String;ZLandroid/service/euicc/ISwitchToSubscriptionCallback;)V
-Landroid/service/euicc/IEuiccService$Stub$Proxy;->updateSubscriptionNickname(ILjava/lang/String;Ljava/lang/String;Landroid/service/euicc/IUpdateSubscriptionNicknameCallback;)V
-Landroid/service/euicc/IEuiccService$Stub;
-Landroid/service/euicc/IEuiccService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/euicc/IEuiccService;
-Landroid/service/euicc/IEuiccService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/euicc/IEuiccService$Stub;->TRANSACTION_deleteSubscription:I
-Landroid/service/euicc/IEuiccService$Stub;->TRANSACTION_downloadSubscription:I
-Landroid/service/euicc/IEuiccService$Stub;->TRANSACTION_eraseSubscriptions:I
-Landroid/service/euicc/IEuiccService$Stub;->TRANSACTION_getDefaultDownloadableSubscriptionList:I
-Landroid/service/euicc/IEuiccService$Stub;->TRANSACTION_getDownloadableSubscriptionMetadata:I
-Landroid/service/euicc/IEuiccService$Stub;->TRANSACTION_getEid:I
-Landroid/service/euicc/IEuiccService$Stub;->TRANSACTION_getEuiccInfo:I
-Landroid/service/euicc/IEuiccService$Stub;->TRANSACTION_getEuiccProfileInfoList:I
-Landroid/service/euicc/IEuiccService$Stub;->TRANSACTION_getOtaStatus:I
-Landroid/service/euicc/IEuiccService$Stub;->TRANSACTION_retainSubscriptionsForFactoryReset:I
-Landroid/service/euicc/IEuiccService$Stub;->TRANSACTION_startOtaIfNecessary:I
-Landroid/service/euicc/IEuiccService$Stub;->TRANSACTION_switchToSubscription:I
-Landroid/service/euicc/IEuiccService$Stub;->TRANSACTION_updateSubscriptionNickname:I
-Landroid/service/euicc/IEuiccService;
-Landroid/service/euicc/IEuiccService;->deleteSubscription(ILjava/lang/String;Landroid/service/euicc/IDeleteSubscriptionCallback;)V
-Landroid/service/euicc/IEuiccService;->downloadSubscription(ILandroid/telephony/euicc/DownloadableSubscription;ZZLandroid/service/euicc/IDownloadSubscriptionCallback;)V
-Landroid/service/euicc/IEuiccService;->eraseSubscriptions(ILandroid/service/euicc/IEraseSubscriptionsCallback;)V
-Landroid/service/euicc/IEuiccService;->getDefaultDownloadableSubscriptionList(IZLandroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback;)V
-Landroid/service/euicc/IEuiccService;->getDownloadableSubscriptionMetadata(ILandroid/telephony/euicc/DownloadableSubscription;ZLandroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback;)V
-Landroid/service/euicc/IEuiccService;->getEid(ILandroid/service/euicc/IGetEidCallback;)V
-Landroid/service/euicc/IEuiccService;->getEuiccInfo(ILandroid/service/euicc/IGetEuiccInfoCallback;)V
-Landroid/service/euicc/IEuiccService;->getEuiccProfileInfoList(ILandroid/service/euicc/IGetEuiccProfileInfoListCallback;)V
-Landroid/service/euicc/IEuiccService;->getOtaStatus(ILandroid/service/euicc/IGetOtaStatusCallback;)V
-Landroid/service/euicc/IEuiccService;->retainSubscriptionsForFactoryReset(ILandroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback;)V
-Landroid/service/euicc/IEuiccService;->startOtaIfNecessary(ILandroid/service/euicc/IOtaStatusChangedCallback;)V
-Landroid/service/euicc/IEuiccService;->switchToSubscription(ILjava/lang/String;ZLandroid/service/euicc/ISwitchToSubscriptionCallback;)V
-Landroid/service/euicc/IEuiccService;->updateSubscriptionNickname(ILjava/lang/String;Ljava/lang/String;Landroid/service/euicc/IUpdateSubscriptionNicknameCallback;)V
-Landroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback$Stub$Proxy;
-Landroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback$Stub$Proxy;->onComplete(Landroid/service/euicc/GetDefaultDownloadableSubscriptionListResult;)V
-Landroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback$Stub;
-Landroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback$Stub;-><init>()V
-Landroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback;
-Landroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback$Stub;->TRANSACTION_onComplete:I
-Landroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback;
-Landroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback$Stub$Proxy;
-Landroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback$Stub$Proxy;->onComplete(Landroid/service/euicc/GetDownloadableSubscriptionMetadataResult;)V
-Landroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback$Stub;
-Landroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback$Stub;-><init>()V
-Landroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback;
-Landroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback$Stub;->TRANSACTION_onComplete:I
-Landroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback;
-Landroid/service/euicc/IGetEidCallback$Stub$Proxy;
-Landroid/service/euicc/IGetEidCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/euicc/IGetEidCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/euicc/IGetEidCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/euicc/IGetEidCallback$Stub$Proxy;->onSuccess(Ljava/lang/String;)V
-Landroid/service/euicc/IGetEidCallback$Stub;
-Landroid/service/euicc/IGetEidCallback$Stub;-><init>()V
-Landroid/service/euicc/IGetEidCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/euicc/IGetEidCallback;
-Landroid/service/euicc/IGetEidCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/euicc/IGetEidCallback$Stub;->TRANSACTION_onSuccess:I
-Landroid/service/euicc/IGetEidCallback;
-Landroid/service/euicc/IGetEuiccInfoCallback$Stub$Proxy;
-Landroid/service/euicc/IGetEuiccInfoCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/euicc/IGetEuiccInfoCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/euicc/IGetEuiccInfoCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/euicc/IGetEuiccInfoCallback$Stub$Proxy;->onSuccess(Landroid/telephony/euicc/EuiccInfo;)V
-Landroid/service/euicc/IGetEuiccInfoCallback$Stub;
-Landroid/service/euicc/IGetEuiccInfoCallback$Stub;-><init>()V
-Landroid/service/euicc/IGetEuiccInfoCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/euicc/IGetEuiccInfoCallback;
-Landroid/service/euicc/IGetEuiccInfoCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/euicc/IGetEuiccInfoCallback$Stub;->TRANSACTION_onSuccess:I
-Landroid/service/euicc/IGetEuiccInfoCallback;
-Landroid/service/euicc/IGetEuiccProfileInfoListCallback$Stub$Proxy;
-Landroid/service/euicc/IGetEuiccProfileInfoListCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/euicc/IGetEuiccProfileInfoListCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/euicc/IGetEuiccProfileInfoListCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/euicc/IGetEuiccProfileInfoListCallback$Stub$Proxy;->onComplete(Landroid/service/euicc/GetEuiccProfileInfoListResult;)V
-Landroid/service/euicc/IGetEuiccProfileInfoListCallback$Stub;
-Landroid/service/euicc/IGetEuiccProfileInfoListCallback$Stub;-><init>()V
-Landroid/service/euicc/IGetEuiccProfileInfoListCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/euicc/IGetEuiccProfileInfoListCallback;
-Landroid/service/euicc/IGetEuiccProfileInfoListCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/euicc/IGetEuiccProfileInfoListCallback$Stub;->TRANSACTION_onComplete:I
-Landroid/service/euicc/IGetEuiccProfileInfoListCallback;
-Landroid/service/euicc/IGetOtaStatusCallback$Stub$Proxy;
-Landroid/service/euicc/IGetOtaStatusCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/euicc/IGetOtaStatusCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/euicc/IGetOtaStatusCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/euicc/IGetOtaStatusCallback$Stub$Proxy;->onSuccess(I)V
-Landroid/service/euicc/IGetOtaStatusCallback$Stub;
-Landroid/service/euicc/IGetOtaStatusCallback$Stub;-><init>()V
-Landroid/service/euicc/IGetOtaStatusCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/euicc/IGetOtaStatusCallback;
-Landroid/service/euicc/IGetOtaStatusCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/euicc/IGetOtaStatusCallback$Stub;->TRANSACTION_onSuccess:I
-Landroid/service/euicc/IGetOtaStatusCallback;
-Landroid/service/euicc/IGetOtaStatusCallback;->onSuccess(I)V
-Landroid/service/euicc/IOtaStatusChangedCallback$Stub$Proxy;
-Landroid/service/euicc/IOtaStatusChangedCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/euicc/IOtaStatusChangedCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/euicc/IOtaStatusChangedCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/euicc/IOtaStatusChangedCallback$Stub$Proxy;->onOtaStatusChanged(I)V
-Landroid/service/euicc/IOtaStatusChangedCallback$Stub;
-Landroid/service/euicc/IOtaStatusChangedCallback$Stub;-><init>()V
-Landroid/service/euicc/IOtaStatusChangedCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/euicc/IOtaStatusChangedCallback;
-Landroid/service/euicc/IOtaStatusChangedCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/euicc/IOtaStatusChangedCallback$Stub;->TRANSACTION_onOtaStatusChanged:I
-Landroid/service/euicc/IOtaStatusChangedCallback;
-Landroid/service/euicc/IOtaStatusChangedCallback;->onOtaStatusChanged(I)V
-Landroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback$Stub$Proxy;
-Landroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback$Stub$Proxy;->onComplete(I)V
-Landroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback$Stub;
-Landroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback$Stub;-><init>()V
-Landroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback;
-Landroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback$Stub;->TRANSACTION_onComplete:I
-Landroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback;
-Landroid/service/euicc/ISwitchToSubscriptionCallback$Stub$Proxy;
-Landroid/service/euicc/ISwitchToSubscriptionCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/euicc/ISwitchToSubscriptionCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/euicc/ISwitchToSubscriptionCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/euicc/ISwitchToSubscriptionCallback$Stub$Proxy;->onComplete(I)V
-Landroid/service/euicc/ISwitchToSubscriptionCallback$Stub;
-Landroid/service/euicc/ISwitchToSubscriptionCallback$Stub;-><init>()V
-Landroid/service/euicc/ISwitchToSubscriptionCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/euicc/ISwitchToSubscriptionCallback;
-Landroid/service/euicc/ISwitchToSubscriptionCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/euicc/ISwitchToSubscriptionCallback$Stub;->TRANSACTION_onComplete:I
-Landroid/service/euicc/ISwitchToSubscriptionCallback;
-Landroid/service/euicc/IUpdateSubscriptionNicknameCallback$Stub$Proxy;
-Landroid/service/euicc/IUpdateSubscriptionNicknameCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/euicc/IUpdateSubscriptionNicknameCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/euicc/IUpdateSubscriptionNicknameCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/euicc/IUpdateSubscriptionNicknameCallback$Stub$Proxy;->onComplete(I)V
-Landroid/service/euicc/IUpdateSubscriptionNicknameCallback$Stub;
-Landroid/service/euicc/IUpdateSubscriptionNicknameCallback$Stub;-><init>()V
-Landroid/service/euicc/IUpdateSubscriptionNicknameCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/euicc/IUpdateSubscriptionNicknameCallback;
-Landroid/service/euicc/IUpdateSubscriptionNicknameCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/euicc/IUpdateSubscriptionNicknameCallback$Stub;->TRANSACTION_onComplete:I
-Landroid/service/euicc/IUpdateSubscriptionNicknameCallback;
-Landroid/service/media/CameraPrewarmService;->ACTION_PREWARM:Ljava/lang/String;
-Landroid/service/media/CameraPrewarmService;->mCameraIntentFired:Z
-Landroid/service/media/CameraPrewarmService;->mHandler:Landroid/os/Handler;
-Landroid/service/media/CameraPrewarmService;->MSG_CAMERA_FIRED:I
-Landroid/service/media/IMediaBrowserService$Stub$Proxy;
-Landroid/service/media/IMediaBrowserService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/media/IMediaBrowserService$Stub$Proxy;->addSubscription(Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/IMediaBrowserService$Stub$Proxy;->addSubscriptionDeprecated(Ljava/lang/String;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/IMediaBrowserService$Stub$Proxy;->connect(Ljava/lang/String;Landroid/os/Bundle;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/IMediaBrowserService$Stub$Proxy;->disconnect(Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/IMediaBrowserService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/media/IMediaBrowserService$Stub$Proxy;->getMediaItem(Ljava/lang/String;Landroid/os/ResultReceiver;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/IMediaBrowserService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/media/IMediaBrowserService$Stub$Proxy;->removeSubscription(Ljava/lang/String;Landroid/os/IBinder;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/IMediaBrowserService$Stub$Proxy;->removeSubscriptionDeprecated(Ljava/lang/String;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/IMediaBrowserService$Stub;
-Landroid/service/media/IMediaBrowserService$Stub;-><init>()V
-Landroid/service/media/IMediaBrowserService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/media/IMediaBrowserService;
-Landroid/service/media/IMediaBrowserService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/media/IMediaBrowserService$Stub;->TRANSACTION_addSubscription:I
-Landroid/service/media/IMediaBrowserService$Stub;->TRANSACTION_addSubscriptionDeprecated:I
-Landroid/service/media/IMediaBrowserService$Stub;->TRANSACTION_connect:I
-Landroid/service/media/IMediaBrowserService$Stub;->TRANSACTION_disconnect:I
-Landroid/service/media/IMediaBrowserService$Stub;->TRANSACTION_getMediaItem:I
-Landroid/service/media/IMediaBrowserService$Stub;->TRANSACTION_removeSubscription:I
-Landroid/service/media/IMediaBrowserService$Stub;->TRANSACTION_removeSubscriptionDeprecated:I
-Landroid/service/media/IMediaBrowserService;
-Landroid/service/media/IMediaBrowserService;->addSubscription(Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/IMediaBrowserService;->addSubscriptionDeprecated(Ljava/lang/String;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/IMediaBrowserService;->connect(Ljava/lang/String;Landroid/os/Bundle;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/IMediaBrowserService;->disconnect(Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/IMediaBrowserService;->getMediaItem(Ljava/lang/String;Landroid/os/ResultReceiver;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/IMediaBrowserService;->removeSubscription(Ljava/lang/String;Landroid/os/IBinder;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/IMediaBrowserService;->removeSubscriptionDeprecated(Ljava/lang/String;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/IMediaBrowserServiceCallbacks$Stub$Proxy;
-Landroid/service/media/IMediaBrowserServiceCallbacks$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/media/IMediaBrowserServiceCallbacks$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/media/IMediaBrowserServiceCallbacks$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/media/IMediaBrowserServiceCallbacks$Stub$Proxy;->onConnect(Ljava/lang/String;Landroid/media/session/MediaSession$Token;Landroid/os/Bundle;)V
-Landroid/service/media/IMediaBrowserServiceCallbacks$Stub$Proxy;->onConnectFailed()V
-Landroid/service/media/IMediaBrowserServiceCallbacks$Stub$Proxy;->onLoadChildren(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
-Landroid/service/media/IMediaBrowserServiceCallbacks$Stub$Proxy;->onLoadChildrenWithOptions(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;Landroid/os/Bundle;)V
-Landroid/service/media/IMediaBrowserServiceCallbacks$Stub;
-Landroid/service/media/IMediaBrowserServiceCallbacks$Stub;-><init>()V
-Landroid/service/media/IMediaBrowserServiceCallbacks$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/media/IMediaBrowserServiceCallbacks$Stub;->TRANSACTION_onConnect:I
-Landroid/service/media/IMediaBrowserServiceCallbacks$Stub;->TRANSACTION_onConnectFailed:I
-Landroid/service/media/IMediaBrowserServiceCallbacks$Stub;->TRANSACTION_onLoadChildren:I
-Landroid/service/media/IMediaBrowserServiceCallbacks$Stub;->TRANSACTION_onLoadChildrenWithOptions:I
-Landroid/service/media/IMediaBrowserServiceCallbacks;
-Landroid/service/media/MediaBrowserService$BrowserRoot;->mExtras:Landroid/os/Bundle;
-Landroid/service/media/MediaBrowserService$BrowserRoot;->mRootId:Ljava/lang/String;
-Landroid/service/media/MediaBrowserService$ConnectionRecord;
-Landroid/service/media/MediaBrowserService$ConnectionRecord;-><init>()V
-Landroid/service/media/MediaBrowserService$ConnectionRecord;->callbacks:Landroid/service/media/IMediaBrowserServiceCallbacks;
-Landroid/service/media/MediaBrowserService$ConnectionRecord;->pid:I
-Landroid/service/media/MediaBrowserService$ConnectionRecord;->pkg:Ljava/lang/String;
-Landroid/service/media/MediaBrowserService$ConnectionRecord;->root:Landroid/service/media/MediaBrowserService$BrowserRoot;
-Landroid/service/media/MediaBrowserService$ConnectionRecord;->rootHints:Landroid/os/Bundle;
-Landroid/service/media/MediaBrowserService$ConnectionRecord;->subscriptions:Ljava/util/HashMap;
-Landroid/service/media/MediaBrowserService$ConnectionRecord;->uid:I
-Landroid/service/media/MediaBrowserService$Result;-><init>(Ljava/lang/Object;)V
-Landroid/service/media/MediaBrowserService$Result;->isDone()Z
-Landroid/service/media/MediaBrowserService$Result;->mDebug:Ljava/lang/Object;
-Landroid/service/media/MediaBrowserService$Result;->mDetachCalled:Z
-Landroid/service/media/MediaBrowserService$Result;->mSendResultCalled:Z
-Landroid/service/media/MediaBrowserService$Result;->onResultSent(Ljava/lang/Object;I)V
-Landroid/service/media/MediaBrowserService$Result;->setFlags(I)V
-Landroid/service/media/MediaBrowserService$ResultFlags;
-Landroid/service/media/MediaBrowserService$ServiceBinder;
-Landroid/service/media/MediaBrowserService$ServiceBinder;-><init>()V
-Landroid/service/media/MediaBrowserService$ServiceBinder;->addSubscription(Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/MediaBrowserService$ServiceBinder;->addSubscriptionDeprecated(Ljava/lang/String;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/MediaBrowserService$ServiceBinder;->connect(Ljava/lang/String;Landroid/os/Bundle;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/MediaBrowserService$ServiceBinder;->disconnect(Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/MediaBrowserService$ServiceBinder;->getMediaItem(Ljava/lang/String;Landroid/os/ResultReceiver;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/MediaBrowserService$ServiceBinder;->removeSubscription(Ljava/lang/String;Landroid/os/IBinder;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/MediaBrowserService$ServiceBinder;->removeSubscriptionDeprecated(Ljava/lang/String;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-Landroid/service/media/MediaBrowserService;->addSubscription(Ljava/lang/String;Landroid/service/media/MediaBrowserService$ConnectionRecord;Landroid/os/IBinder;Landroid/os/Bundle;)V
-Landroid/service/media/MediaBrowserService;->applyOptions(Ljava/util/List;Landroid/os/Bundle;)Ljava/util/List;
-Landroid/service/media/MediaBrowserService;->DBG:Z
-Landroid/service/media/MediaBrowserService;->isValidPackage(Ljava/lang/String;I)Z
-Landroid/service/media/MediaBrowserService;->mBinder:Landroid/service/media/MediaBrowserService$ServiceBinder;
-Landroid/service/media/MediaBrowserService;->mConnections:Landroid/util/ArrayMap;
-Landroid/service/media/MediaBrowserService;->mCurConnection:Landroid/service/media/MediaBrowserService$ConnectionRecord;
-Landroid/service/media/MediaBrowserService;->mHandler:Landroid/os/Handler;
-Landroid/service/media/MediaBrowserService;->mSession:Landroid/media/session/MediaSession$Token;
-Landroid/service/media/MediaBrowserService;->notifyChildrenChangedInternal(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/service/media/MediaBrowserService;->performLoadChildren(Ljava/lang/String;Landroid/service/media/MediaBrowserService$ConnectionRecord;Landroid/os/Bundle;)V
-Landroid/service/media/MediaBrowserService;->performLoadItem(Ljava/lang/String;Landroid/service/media/MediaBrowserService$ConnectionRecord;Landroid/os/ResultReceiver;)V
-Landroid/service/media/MediaBrowserService;->removeSubscription(Ljava/lang/String;Landroid/service/media/MediaBrowserService$ConnectionRecord;Landroid/os/IBinder;)Z
-Landroid/service/media/MediaBrowserService;->RESULT_ERROR:I
-Landroid/service/media/MediaBrowserService;->RESULT_FLAG_ON_LOAD_ITEM_NOT_IMPLEMENTED:I
-Landroid/service/media/MediaBrowserService;->RESULT_FLAG_OPTION_NOT_HANDLED:I
-Landroid/service/media/MediaBrowserService;->RESULT_OK:I
-Landroid/service/media/MediaBrowserService;->TAG:Ljava/lang/String;
-Landroid/service/notification/Adjustment;->KEY_GROUP_KEY:Ljava/lang/String;
-Landroid/service/notification/Adjustment;->mExplanation:Ljava/lang/CharSequence;
-Landroid/service/notification/Adjustment;->mKey:Ljava/lang/String;
-Landroid/service/notification/Adjustment;->mPackage:Ljava/lang/String;
-Landroid/service/notification/Adjustment;->mSignals:Landroid/os/Bundle;
-Landroid/service/notification/Adjustment;->mUser:I
-Landroid/service/notification/Condition$State;
-Landroid/service/notification/Condition;->isValidState(I)Z
-Landroid/service/notification/Condition;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/service/notification/ConditionProto;
-Landroid/service/notification/ConditionProto;-><init>()V
-Landroid/service/notification/ConditionProto;->FLAGS:J
-Landroid/service/notification/ConditionProto;->ICON:J
-Landroid/service/notification/ConditionProto;->ID:J
-Landroid/service/notification/ConditionProto;->LINE_1:J
-Landroid/service/notification/ConditionProto;->LINE_2:J
-Landroid/service/notification/ConditionProto;->STATE:J
-Landroid/service/notification/ConditionProto;->STATE_ERROR:I
-Landroid/service/notification/ConditionProto;->STATE_FALSE:I
-Landroid/service/notification/ConditionProto;->STATE_TRUE:I
-Landroid/service/notification/ConditionProto;->STATE_UNKNOWN:I
-Landroid/service/notification/ConditionProto;->SUMMARY:J
-Landroid/service/notification/ConditionProviderService$H;
-Landroid/service/notification/ConditionProviderService$H;-><init>()V
-Landroid/service/notification/ConditionProviderService$H;->ON_CONNECTED:I
-Landroid/service/notification/ConditionProviderService$H;->ON_SUBSCRIBE:I
-Landroid/service/notification/ConditionProviderService$H;->ON_UNSUBSCRIBE:I
-Landroid/service/notification/ConditionProviderService$Provider;
-Landroid/service/notification/ConditionProviderService$Provider;-><init>()V
-Landroid/service/notification/ConditionProviderService$Provider;->onConnected()V
-Landroid/service/notification/ConditionProviderService$Provider;->onSubscribe(Landroid/net/Uri;)V
-Landroid/service/notification/ConditionProviderService$Provider;->onUnsubscribe(Landroid/net/Uri;)V
-Landroid/service/notification/ConditionProviderService;->getNotificationInterface()Landroid/app/INotificationManager;
-Landroid/service/notification/ConditionProviderService;->mHandler:Landroid/service/notification/ConditionProviderService$H;
-Landroid/service/notification/ConditionProviderService;->mNoMan:Landroid/app/INotificationManager;
-Landroid/service/notification/ConditionProviderService;->mProvider:Landroid/service/notification/ConditionProviderService$Provider;
-Landroid/service/notification/ConditionProviderService;->TAG:Ljava/lang/String;
-Landroid/service/notification/IConditionListener$Stub$Proxy;
-Landroid/service/notification/IConditionListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/notification/IConditionListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/notification/IConditionListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/notification/IConditionListener$Stub$Proxy;->onConditionsReceived([Landroid/service/notification/Condition;)V
-Landroid/service/notification/IConditionListener$Stub;
-Landroid/service/notification/IConditionListener$Stub;-><init>()V
-Landroid/service/notification/IConditionListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/notification/IConditionListener;
-Landroid/service/notification/IConditionListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/notification/IConditionListener$Stub;->TRANSACTION_onConditionsReceived:I
-Landroid/service/notification/IConditionListener;
-Landroid/service/notification/IConditionListener;->onConditionsReceived([Landroid/service/notification/Condition;)V
-Landroid/service/notification/IConditionProvider$Stub$Proxy;
-Landroid/service/notification/IConditionProvider$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/notification/IConditionProvider$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/notification/IConditionProvider$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/notification/IConditionProvider$Stub$Proxy;->onConnected()V
-Landroid/service/notification/IConditionProvider$Stub$Proxy;->onSubscribe(Landroid/net/Uri;)V
-Landroid/service/notification/IConditionProvider$Stub$Proxy;->onUnsubscribe(Landroid/net/Uri;)V
-Landroid/service/notification/IConditionProvider$Stub;
-Landroid/service/notification/IConditionProvider$Stub;-><init>()V
-Landroid/service/notification/IConditionProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/notification/IConditionProvider;
-Landroid/service/notification/IConditionProvider$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/notification/IConditionProvider$Stub;->TRANSACTION_onConnected:I
-Landroid/service/notification/IConditionProvider$Stub;->TRANSACTION_onSubscribe:I
-Landroid/service/notification/IConditionProvider$Stub;->TRANSACTION_onUnsubscribe:I
-Landroid/service/notification/IConditionProvider;
-Landroid/service/notification/IConditionProvider;->onConnected()V
-Landroid/service/notification/IConditionProvider;->onSubscribe(Landroid/net/Uri;)V
-Landroid/service/notification/IConditionProvider;->onUnsubscribe(Landroid/net/Uri;)V
-Landroid/service/notification/INotificationListener$Stub$Proxy;
-Landroid/service/notification/INotificationListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/notification/INotificationListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/notification/INotificationListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/notification/INotificationListener$Stub$Proxy;->onInterruptionFilterChanged(I)V
-Landroid/service/notification/INotificationListener$Stub$Proxy;->onListenerConnected(Landroid/service/notification/NotificationRankingUpdate;)V
-Landroid/service/notification/INotificationListener$Stub$Proxy;->onListenerHintsChanged(I)V
-Landroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationChannelGroupModification(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V
-Landroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationChannelModification(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V
-Landroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationEnqueued(Landroid/service/notification/IStatusBarNotificationHolder;)V
-Landroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationPosted(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;)V
-Landroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationRankingUpdate(Landroid/service/notification/NotificationRankingUpdate;)V
-Landroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationRemoved(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V
-Landroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationSnoozedUntilContext(Landroid/service/notification/IStatusBarNotificationHolder;Ljava/lang/String;)V
-Landroid/service/notification/INotificationListener$Stub;
-Landroid/service/notification/INotificationListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/notification/INotificationListener;
-Landroid/service/notification/INotificationListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/notification/INotificationListener$Stub;->TRANSACTION_onInterruptionFilterChanged:I
-Landroid/service/notification/INotificationListener$Stub;->TRANSACTION_onListenerConnected:I
-Landroid/service/notification/INotificationListener$Stub;->TRANSACTION_onListenerHintsChanged:I
-Landroid/service/notification/INotificationListener$Stub;->TRANSACTION_onNotificationChannelGroupModification:I
-Landroid/service/notification/INotificationListener$Stub;->TRANSACTION_onNotificationChannelModification:I
-Landroid/service/notification/INotificationListener$Stub;->TRANSACTION_onNotificationEnqueued:I
-Landroid/service/notification/INotificationListener$Stub;->TRANSACTION_onNotificationPosted:I
-Landroid/service/notification/INotificationListener$Stub;->TRANSACTION_onNotificationRankingUpdate:I
-Landroid/service/notification/INotificationListener$Stub;->TRANSACTION_onNotificationRemoved:I
-Landroid/service/notification/INotificationListener$Stub;->TRANSACTION_onNotificationSnoozedUntilContext:I
-Landroid/service/notification/INotificationListener;
-Landroid/service/notification/INotificationListener;->onInterruptionFilterChanged(I)V
-Landroid/service/notification/INotificationListener;->onListenerConnected(Landroid/service/notification/NotificationRankingUpdate;)V
-Landroid/service/notification/INotificationListener;->onListenerHintsChanged(I)V
-Landroid/service/notification/INotificationListener;->onNotificationChannelGroupModification(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V
-Landroid/service/notification/INotificationListener;->onNotificationChannelModification(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V
-Landroid/service/notification/INotificationListener;->onNotificationEnqueued(Landroid/service/notification/IStatusBarNotificationHolder;)V
-Landroid/service/notification/INotificationListener;->onNotificationPosted(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;)V
-Landroid/service/notification/INotificationListener;->onNotificationRankingUpdate(Landroid/service/notification/NotificationRankingUpdate;)V
-Landroid/service/notification/INotificationListener;->onNotificationRemoved(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V
-Landroid/service/notification/INotificationListener;->onNotificationSnoozedUntilContext(Landroid/service/notification/IStatusBarNotificationHolder;Ljava/lang/String;)V
-Landroid/service/notification/IStatusBarNotificationHolder$Stub$Proxy;
-Landroid/service/notification/IStatusBarNotificationHolder$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/notification/IStatusBarNotificationHolder$Stub$Proxy;->get()Landroid/service/notification/StatusBarNotification;
-Landroid/service/notification/IStatusBarNotificationHolder$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/notification/IStatusBarNotificationHolder$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/notification/IStatusBarNotificationHolder$Stub;
-Landroid/service/notification/IStatusBarNotificationHolder$Stub;-><init>()V
-Landroid/service/notification/IStatusBarNotificationHolder$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/notification/IStatusBarNotificationHolder;
-Landroid/service/notification/IStatusBarNotificationHolder$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/notification/IStatusBarNotificationHolder$Stub;->TRANSACTION_get:I
-Landroid/service/notification/IStatusBarNotificationHolder;
-Landroid/service/notification/IStatusBarNotificationHolder;->get()Landroid/service/notification/StatusBarNotification;
-Landroid/service/notification/ListenersDisablingEffectsProto;
-Landroid/service/notification/ListenersDisablingEffectsProto;-><init>()V
-Landroid/service/notification/ListenersDisablingEffectsProto;->HINT:J
-Landroid/service/notification/ListenersDisablingEffectsProto;->LISTENERS:J
-Landroid/service/notification/ManagedServiceInfoProto;
-Landroid/service/notification/ManagedServiceInfoProto;-><init>()V
-Landroid/service/notification/ManagedServiceInfoProto;->COMPONENT:J
-Landroid/service/notification/ManagedServiceInfoProto;->IS_GUEST:J
-Landroid/service/notification/ManagedServiceInfoProto;->IS_SYSTEM:J
-Landroid/service/notification/ManagedServiceInfoProto;->SERVICE:J
-Landroid/service/notification/ManagedServiceInfoProto;->USER_ID:J
-Landroid/service/notification/ManagedServicesProto$ServiceProto;
-Landroid/service/notification/ManagedServicesProto$ServiceProto;-><init>()V
-Landroid/service/notification/ManagedServicesProto$ServiceProto;->IS_PRIMARY:J
-Landroid/service/notification/ManagedServicesProto$ServiceProto;->NAME:J
-Landroid/service/notification/ManagedServicesProto$ServiceProto;->USER_ID:J
-Landroid/service/notification/ManagedServicesProto;
-Landroid/service/notification/ManagedServicesProto;-><init>()V
-Landroid/service/notification/ManagedServicesProto;->APPROVED:J
-Landroid/service/notification/ManagedServicesProto;->CAPTION:J
-Landroid/service/notification/ManagedServicesProto;->ENABLED:J
-Landroid/service/notification/ManagedServicesProto;->LIVE_SERVICES:J
-Landroid/service/notification/ManagedServicesProto;->SNOOZED:J
-Landroid/service/notification/NotificationAssistantService$MyHandler;
-Landroid/service/notification/NotificationAssistantService$MyHandler;-><init>(Landroid/os/Looper;)V
-Landroid/service/notification/NotificationAssistantService$MyHandler;->MSG_ON_NOTIFICATION_ENQUEUED:I
-Landroid/service/notification/NotificationAssistantService$MyHandler;->MSG_ON_NOTIFICATION_SNOOZED:I
-Landroid/service/notification/NotificationAssistantService$NotificationAssistantServiceWrapper;
-Landroid/service/notification/NotificationAssistantService$NotificationAssistantServiceWrapper;-><init>()V
-Landroid/service/notification/NotificationAssistantService$NotificationAssistantServiceWrapper;->onNotificationEnqueued(Landroid/service/notification/IStatusBarNotificationHolder;)V
-Landroid/service/notification/NotificationAssistantService$NotificationAssistantServiceWrapper;->onNotificationSnoozedUntilContext(Landroid/service/notification/IStatusBarNotificationHolder;Ljava/lang/String;)V
-Landroid/service/notification/NotificationAssistantService;->mHandler:Landroid/os/Handler;
-Landroid/service/notification/NotificationAssistantService;->TAG:Ljava/lang/String;
-Landroid/service/notification/NotificationListenerService$ChannelOrGroupModificationTypes;
-Landroid/service/notification/NotificationListenerService$MyHandler;
-Landroid/service/notification/NotificationListenerService$MyHandler;-><init>(Landroid/os/Looper;)V
-Landroid/service/notification/NotificationListenerService$MyHandler;->MSG_ON_INTERRUPTION_FILTER_CHANGED:I
-Landroid/service/notification/NotificationListenerService$MyHandler;->MSG_ON_LISTENER_CONNECTED:I
-Landroid/service/notification/NotificationListenerService$MyHandler;->MSG_ON_LISTENER_HINTS_CHANGED:I
-Landroid/service/notification/NotificationListenerService$MyHandler;->MSG_ON_NOTIFICATION_CHANNEL_GROUP_MODIFIED:I
-Landroid/service/notification/NotificationListenerService$MyHandler;->MSG_ON_NOTIFICATION_CHANNEL_MODIFIED:I
-Landroid/service/notification/NotificationListenerService$MyHandler;->MSG_ON_NOTIFICATION_POSTED:I
-Landroid/service/notification/NotificationListenerService$MyHandler;->MSG_ON_NOTIFICATION_RANKING_UPDATE:I
-Landroid/service/notification/NotificationListenerService$MyHandler;->MSG_ON_NOTIFICATION_REMOVED:I
-Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper;
-Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper;-><init>()V
-Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onInterruptionFilterChanged(I)V
-Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onListenerConnected(Landroid/service/notification/NotificationRankingUpdate;)V
-Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onListenerHintsChanged(I)V
-Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationChannelGroupModification(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V
-Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationChannelModification(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V
-Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationEnqueued(Landroid/service/notification/IStatusBarNotificationHolder;)V
-Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationPosted(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;)V
-Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationRankingUpdate(Landroid/service/notification/NotificationRankingUpdate;)V
-Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationRemoved(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V
-Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationSnoozedUntilContext(Landroid/service/notification/IStatusBarNotificationHolder;Ljava/lang/String;)V
-Landroid/service/notification/NotificationListenerService$Ranking$UserSentiment;
-Landroid/service/notification/NotificationListenerService$Ranking;->importanceToString(I)Ljava/lang/String;
-Landroid/service/notification/NotificationListenerService$Ranking;->mChannel:Landroid/app/NotificationChannel;
-Landroid/service/notification/NotificationListenerService$Ranking;->mHidden:Z
-Landroid/service/notification/NotificationListenerService$Ranking;->mImportance:I
-Landroid/service/notification/NotificationListenerService$Ranking;->mImportanceExplanation:Ljava/lang/CharSequence;
-Landroid/service/notification/NotificationListenerService$Ranking;->mIsAmbient:Z
-Landroid/service/notification/NotificationListenerService$Ranking;->mKey:Ljava/lang/String;
-Landroid/service/notification/NotificationListenerService$Ranking;->mMatchesInterruptionFilter:Z
-Landroid/service/notification/NotificationListenerService$Ranking;->mOverrideGroupKey:Ljava/lang/String;
-Landroid/service/notification/NotificationListenerService$Ranking;->mOverridePeople:Ljava/util/ArrayList;
-Landroid/service/notification/NotificationListenerService$Ranking;->mRank:I
-Landroid/service/notification/NotificationListenerService$Ranking;->mShowBadge:Z
-Landroid/service/notification/NotificationListenerService$Ranking;->mSnoozeCriteria:Ljava/util/ArrayList;
-Landroid/service/notification/NotificationListenerService$Ranking;->mSuppressedVisualEffects:I
-Landroid/service/notification/NotificationListenerService$Ranking;->mUserSentiment:I
-Landroid/service/notification/NotificationListenerService$Ranking;->mVisibilityOverride:I
-Landroid/service/notification/NotificationListenerService$Ranking;->populate(Ljava/lang/String;IZIIILjava/lang/CharSequence;Ljava/lang/String;Landroid/app/NotificationChannel;Ljava/util/ArrayList;Ljava/util/ArrayList;ZIZ)V
-Landroid/service/notification/NotificationListenerService$Ranking;->VISIBILITY_NO_OVERRIDE:I
-Landroid/service/notification/NotificationListenerService$RankingMap;-><init>(Landroid/service/notification/NotificationRankingUpdate;)V
-Landroid/service/notification/NotificationListenerService$RankingMap;->buildChannelsLocked()V
-Landroid/service/notification/NotificationListenerService$RankingMap;->buildHiddenLocked()V
-Landroid/service/notification/NotificationListenerService$RankingMap;->buildImportanceExplanationLocked()V
-Landroid/service/notification/NotificationListenerService$RankingMap;->buildImportanceLocked()V
-Landroid/service/notification/NotificationListenerService$RankingMap;->buildInterceptedSetLocked()V
-Landroid/service/notification/NotificationListenerService$RankingMap;->buildOverrideGroupKeys()V
-Landroid/service/notification/NotificationListenerService$RankingMap;->buildOverridePeopleLocked()V
-Landroid/service/notification/NotificationListenerService$RankingMap;->buildRanksLocked()V
-Landroid/service/notification/NotificationListenerService$RankingMap;->buildShowBadgeLocked()V
-Landroid/service/notification/NotificationListenerService$RankingMap;->buildSnoozeCriteriaLocked()V
-Landroid/service/notification/NotificationListenerService$RankingMap;->buildSuppressedVisualEffectsLocked()V
-Landroid/service/notification/NotificationListenerService$RankingMap;->buildUserSentimentLocked()V
-Landroid/service/notification/NotificationListenerService$RankingMap;->buildVisibilityOverridesLocked()V
-Landroid/service/notification/NotificationListenerService$RankingMap;->getChannel(Ljava/lang/String;)Landroid/app/NotificationChannel;
-Landroid/service/notification/NotificationListenerService$RankingMap;->getHidden(Ljava/lang/String;)Z
-Landroid/service/notification/NotificationListenerService$RankingMap;->getImportance(Ljava/lang/String;)I
-Landroid/service/notification/NotificationListenerService$RankingMap;->getImportanceExplanation(Ljava/lang/String;)Ljava/lang/String;
-Landroid/service/notification/NotificationListenerService$RankingMap;->getOverrideGroupKey(Ljava/lang/String;)Ljava/lang/String;
-Landroid/service/notification/NotificationListenerService$RankingMap;->getOverridePeople(Ljava/lang/String;)Ljava/util/ArrayList;
-Landroid/service/notification/NotificationListenerService$RankingMap;->getRank(Ljava/lang/String;)I
-Landroid/service/notification/NotificationListenerService$RankingMap;->getShowBadge(Ljava/lang/String;)Z
-Landroid/service/notification/NotificationListenerService$RankingMap;->getSnoozeCriteria(Ljava/lang/String;)Ljava/util/ArrayList;
-Landroid/service/notification/NotificationListenerService$RankingMap;->getSuppressedVisualEffects(Ljava/lang/String;)I
-Landroid/service/notification/NotificationListenerService$RankingMap;->getUserSentiment(Ljava/lang/String;)I
-Landroid/service/notification/NotificationListenerService$RankingMap;->getVisibilityOverride(Ljava/lang/String;)I
-Landroid/service/notification/NotificationListenerService$RankingMap;->isIntercepted(Ljava/lang/String;)Z
-Landroid/service/notification/NotificationListenerService$RankingMap;->mChannels:Landroid/util/ArrayMap;
-Landroid/service/notification/NotificationListenerService$RankingMap;->mHidden:Landroid/util/ArrayMap;
-Landroid/service/notification/NotificationListenerService$RankingMap;->mImportance:Landroid/util/ArrayMap;
-Landroid/service/notification/NotificationListenerService$RankingMap;->mImportanceExplanation:Landroid/util/ArrayMap;
-Landroid/service/notification/NotificationListenerService$RankingMap;->mIntercepted:Landroid/util/ArraySet;
-Landroid/service/notification/NotificationListenerService$RankingMap;->mOverrideGroupKeys:Landroid/util/ArrayMap;
-Landroid/service/notification/NotificationListenerService$RankingMap;->mOverridePeople:Landroid/util/ArrayMap;
-Landroid/service/notification/NotificationListenerService$RankingMap;->mRankingUpdate:Landroid/service/notification/NotificationRankingUpdate;
-Landroid/service/notification/NotificationListenerService$RankingMap;->mRanks:Landroid/util/ArrayMap;
-Landroid/service/notification/NotificationListenerService$RankingMap;->mShowBadge:Landroid/util/ArrayMap;
-Landroid/service/notification/NotificationListenerService$RankingMap;->mSnoozeCriteria:Landroid/util/ArrayMap;
-Landroid/service/notification/NotificationListenerService$RankingMap;->mSuppressedVisualEffects:Landroid/util/ArrayMap;
-Landroid/service/notification/NotificationListenerService$RankingMap;->mUserSentiment:Landroid/util/ArrayMap;
-Landroid/service/notification/NotificationListenerService$RankingMap;->mVisibilityOverrides:Landroid/util/ArrayMap;
-Landroid/service/notification/NotificationListenerService;->applyUpdateLocked(Landroid/service/notification/NotificationRankingUpdate;)V
-Landroid/service/notification/NotificationListenerService;->cleanUpNotificationList(Landroid/content/pm/ParceledListSlice;)[Landroid/service/notification/StatusBarNotification;
-Landroid/service/notification/NotificationListenerService;->createLegacyIconExtras(Landroid/app/Notification;)V
-Landroid/service/notification/NotificationListenerService;->getContext()Landroid/content/Context;
-Landroid/service/notification/NotificationListenerService;->isConnected:Z
-Landroid/service/notification/NotificationListenerService;->maybePopulatePeople(Landroid/app/Notification;)V
-Landroid/service/notification/NotificationListenerService;->maybePopulateRemoteViews(Landroid/app/Notification;)V
-Landroid/service/notification/NotificationListenerService;->mCurrentUser:I
-Landroid/service/notification/NotificationListenerService;->mLock:Ljava/lang/Object;
-Landroid/service/notification/NotificationListenerService;->mRankingMap:Landroid/service/notification/NotificationListenerService$RankingMap;
-Landroid/service/notification/NotificationListenerService;->mSystemContext:Landroid/content/Context;
-Landroid/service/notification/NotificationRankingUpdate;
-Landroid/service/notification/NotificationRankingUpdate;-><init>(Landroid/os/Parcel;)V
-Landroid/service/notification/NotificationRankingUpdate;-><init>([Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;[ILandroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;)V
-Landroid/service/notification/NotificationRankingUpdate;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/service/notification/NotificationRankingUpdate;->getChannels()Landroid/os/Bundle;
-Landroid/service/notification/NotificationRankingUpdate;->getHidden()Landroid/os/Bundle;
-Landroid/service/notification/NotificationRankingUpdate;->getImportance()[I
-Landroid/service/notification/NotificationRankingUpdate;->getImportanceExplanation()Landroid/os/Bundle;
-Landroid/service/notification/NotificationRankingUpdate;->getInterceptedKeys()[Ljava/lang/String;
-Landroid/service/notification/NotificationRankingUpdate;->getOrderedKeys()[Ljava/lang/String;
-Landroid/service/notification/NotificationRankingUpdate;->getOverrideGroupKeys()Landroid/os/Bundle;
-Landroid/service/notification/NotificationRankingUpdate;->getOverridePeople()Landroid/os/Bundle;
-Landroid/service/notification/NotificationRankingUpdate;->getShowBadge()Landroid/os/Bundle;
-Landroid/service/notification/NotificationRankingUpdate;->getSnoozeCriteria()Landroid/os/Bundle;
-Landroid/service/notification/NotificationRankingUpdate;->getSuppressedVisualEffects()Landroid/os/Bundle;
-Landroid/service/notification/NotificationRankingUpdate;->getUserSentiment()Landroid/os/Bundle;
-Landroid/service/notification/NotificationRankingUpdate;->getVisibilityOverrides()Landroid/os/Bundle;
-Landroid/service/notification/NotificationRankingUpdate;->mChannels:Landroid/os/Bundle;
-Landroid/service/notification/NotificationRankingUpdate;->mHidden:Landroid/os/Bundle;
-Landroid/service/notification/NotificationRankingUpdate;->mImportance:[I
-Landroid/service/notification/NotificationRankingUpdate;->mImportanceExplanation:Landroid/os/Bundle;
-Landroid/service/notification/NotificationRankingUpdate;->mInterceptedKeys:[Ljava/lang/String;
-Landroid/service/notification/NotificationRankingUpdate;->mKeys:[Ljava/lang/String;
-Landroid/service/notification/NotificationRankingUpdate;->mOverrideGroupKeys:Landroid/os/Bundle;
-Landroid/service/notification/NotificationRankingUpdate;->mOverridePeople:Landroid/os/Bundle;
-Landroid/service/notification/NotificationRankingUpdate;->mShowBadge:Landroid/os/Bundle;
-Landroid/service/notification/NotificationRankingUpdate;->mSnoozeCriteria:Landroid/os/Bundle;
-Landroid/service/notification/NotificationRankingUpdate;->mSuppressedVisualEffects:Landroid/os/Bundle;
-Landroid/service/notification/NotificationRankingUpdate;->mUserSentiment:Landroid/os/Bundle;
-Landroid/service/notification/NotificationRankingUpdate;->mVisibilityOverrides:Landroid/os/Bundle;
-Landroid/service/notification/NotificationRecordProto;
-Landroid/service/notification/NotificationRecordProto;-><init>()V
-Landroid/service/notification/NotificationRecordProto;->AUDIO_ATTRIBUTES:J
-Landroid/service/notification/NotificationRecordProto;->CAN_SHOW_LIGHT:J
-Landroid/service/notification/NotificationRecordProto;->CAN_VIBRATE:J
-Landroid/service/notification/NotificationRecordProto;->CHANNEL_ID:J
-Landroid/service/notification/NotificationRecordProto;->ENQUEUED:I
-Landroid/service/notification/NotificationRecordProto;->FLAGS:J
-Landroid/service/notification/NotificationRecordProto;->GROUP_KEY:J
-Landroid/service/notification/NotificationRecordProto;->IMPORTANCE:J
-Landroid/service/notification/NotificationRecordProto;->KEY:J
-Landroid/service/notification/NotificationRecordProto;->POSTED:I
-Landroid/service/notification/NotificationRecordProto;->SNOOZED:I
-Landroid/service/notification/NotificationRecordProto;->SOUND:J
-Landroid/service/notification/NotificationRecordProto;->STATE:J
-Landroid/service/notification/NotificationServiceDumpProto;
-Landroid/service/notification/NotificationServiceDumpProto;-><init>()V
-Landroid/service/notification/NotificationServiceDumpProto;->CONDITION_PROVIDERS:J
-Landroid/service/notification/NotificationServiceDumpProto;->LISTENERS_DISABLING_EFFECTS:J
-Landroid/service/notification/NotificationServiceDumpProto;->LISTENER_HINTS:J
-Landroid/service/notification/NotificationServiceDumpProto;->NOTIFICATION_ASSISTANTS:J
-Landroid/service/notification/NotificationServiceDumpProto;->NOTIFICATION_LISTENERS:J
-Landroid/service/notification/NotificationServiceDumpProto;->RANKING_CONFIG:J
-Landroid/service/notification/NotificationServiceDumpProto;->RECORDS:J
-Landroid/service/notification/NotificationServiceDumpProto;->ZEN:J
-Landroid/service/notification/NotificationServiceProto;
-Landroid/service/notification/NotificationServiceProto;-><init>()V
-Landroid/service/notification/NotificationServiceProto;->ZEN_MODE_ALARMS:I
-Landroid/service/notification/NotificationServiceProto;->ZEN_MODE_IMPORTANT_INTERRUPTIONS:I
-Landroid/service/notification/NotificationServiceProto;->ZEN_MODE_NO_INTERRUPTIONS:I
-Landroid/service/notification/NotificationServiceProto;->ZEN_MODE_OFF:I
-Landroid/service/notification/NotificationStats$DismissalSurface;
-Landroid/service/notification/NotificationStats;->mDirectReplied:Z
-Landroid/service/notification/NotificationStats;->mDismissalSurface:I
-Landroid/service/notification/NotificationStats;->mExpanded:Z
-Landroid/service/notification/NotificationStats;->mInteracted:Z
-Landroid/service/notification/NotificationStats;->mSeen:Z
-Landroid/service/notification/NotificationStats;->mSnoozed:Z
-Landroid/service/notification/NotificationStats;->mViewedSettings:Z
-Landroid/service/notification/NotifyingApp;
-Landroid/service/notification/NotifyingApp;-><init>()V
-Landroid/service/notification/NotifyingApp;-><init>(Landroid/os/Parcel;)V
-Landroid/service/notification/NotifyingApp;->compareTo(Landroid/service/notification/NotifyingApp;)I
-Landroid/service/notification/NotifyingApp;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/service/notification/NotifyingApp;->getLastNotified()J
-Landroid/service/notification/NotifyingApp;->getPackage()Ljava/lang/String;
-Landroid/service/notification/NotifyingApp;->getUid()I
-Landroid/service/notification/NotifyingApp;->mLastNotified:J
-Landroid/service/notification/NotifyingApp;->mPkg:Ljava/lang/String;
-Landroid/service/notification/NotifyingApp;->mUid:I
-Landroid/service/notification/NotifyingApp;->setLastNotified(J)Landroid/service/notification/NotifyingApp;
-Landroid/service/notification/NotifyingApp;->setPackage(Ljava/lang/String;)Landroid/service/notification/NotifyingApp;
-Landroid/service/notification/NotifyingApp;->setUid(I)Landroid/service/notification/NotifyingApp;
-Landroid/service/notification/RankingHelperProto$RecordProto;
-Landroid/service/notification/RankingHelperProto$RecordProto;-><init>()V
-Landroid/service/notification/RankingHelperProto$RecordProto;->CHANNELS:J
-Landroid/service/notification/RankingHelperProto$RecordProto;->CHANNEL_GROUPS:J
-Landroid/service/notification/RankingHelperProto$RecordProto;->IMPORTANCE:J
-Landroid/service/notification/RankingHelperProto$RecordProto;->PACKAGE:J
-Landroid/service/notification/RankingHelperProto$RecordProto;->PRIORITY:J
-Landroid/service/notification/RankingHelperProto$RecordProto;->SHOW_BADGE:J
-Landroid/service/notification/RankingHelperProto$RecordProto;->UID:J
-Landroid/service/notification/RankingHelperProto$RecordProto;->VISIBILITY:J
-Landroid/service/notification/RankingHelperProto;
-Landroid/service/notification/RankingHelperProto;-><init>()V
-Landroid/service/notification/RankingHelperProto;->NOTIFICATION_SIGNAL_EXTRACTORS:J
-Landroid/service/notification/RankingHelperProto;->RECORDS:J
-Landroid/service/notification/RankingHelperProto;->RECORDS_RESTORED_WITHOUT_UID:J
-Landroid/service/notification/ScheduleCalendar;
-Landroid/service/notification/ScheduleCalendar;-><init>()V
-Landroid/service/notification/ScheduleCalendar;->addDays(JI)J
-Landroid/service/notification/ScheduleCalendar;->DEBUG:Z
-Landroid/service/notification/ScheduleCalendar;->exitAtAlarm()Z
-Landroid/service/notification/ScheduleCalendar;->getDayOfWeek(J)I
-Landroid/service/notification/ScheduleCalendar;->getNextChangeTime(J)J
-Landroid/service/notification/ScheduleCalendar;->getNextTime(JII)J
-Landroid/service/notification/ScheduleCalendar;->getTime(JII)J
-Landroid/service/notification/ScheduleCalendar;->isAlarmInSchedule(JJ)Z
-Landroid/service/notification/ScheduleCalendar;->isInSchedule(IJJJ)Z
-Landroid/service/notification/ScheduleCalendar;->isInSchedule(J)Z
-Landroid/service/notification/ScheduleCalendar;->maybeSetNextAlarm(JJ)V
-Landroid/service/notification/ScheduleCalendar;->mCalendar:Ljava/util/Calendar;
-Landroid/service/notification/ScheduleCalendar;->mDays:Landroid/util/ArraySet;
-Landroid/service/notification/ScheduleCalendar;->mSchedule:Landroid/service/notification/ZenModeConfig$ScheduleInfo;
-Landroid/service/notification/ScheduleCalendar;->setSchedule(Landroid/service/notification/ZenModeConfig$ScheduleInfo;)V
-Landroid/service/notification/ScheduleCalendar;->setTimeZone(Ljava/util/TimeZone;)V
-Landroid/service/notification/ScheduleCalendar;->shouldExitForAlarm(J)Z
-Landroid/service/notification/ScheduleCalendar;->TAG:Ljava/lang/String;
-Landroid/service/notification/ScheduleCalendar;->updateDays()V
-Landroid/service/notification/SnoozeCriterion;->mConfirmation:Ljava/lang/CharSequence;
-Landroid/service/notification/SnoozeCriterion;->mExplanation:Ljava/lang/CharSequence;
-Landroid/service/notification/SnoozeCriterion;->mId:Ljava/lang/String;
-Landroid/service/notification/StatusBarNotification;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;IILandroid/app/Notification;Landroid/os/UserHandle;Ljava/lang/String;J)V
-Landroid/service/notification/StatusBarNotification;->cloneLight()Landroid/service/notification/StatusBarNotification;
-Landroid/service/notification/StatusBarNotification;->getGroup()Ljava/lang/String;
-Landroid/service/notification/StatusBarNotification;->groupKey()Ljava/lang/String;
-Landroid/service/notification/StatusBarNotification;->groupKey:Ljava/lang/String;
-Landroid/service/notification/StatusBarNotification;->isAppGroup()Z
-Landroid/service/notification/StatusBarNotification;->key()Ljava/lang/String;
-Landroid/service/notification/StatusBarNotification;->key:Ljava/lang/String;
-Landroid/service/notification/StatusBarNotification;->mContext:Landroid/content/Context;
-Landroid/service/notification/StatusBarNotification;->opPkg:Ljava/lang/String;
-Landroid/service/notification/StatusBarNotification;->overrideGroupKey:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig$Diff;
-Landroid/service/notification/ZenModeConfig$Diff;-><init>()V
-Landroid/service/notification/ZenModeConfig$Diff;->addLine(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Landroid/service/notification/ZenModeConfig$Diff;
-Landroid/service/notification/ZenModeConfig$Diff;->addLine(Ljava/lang/String;Ljava/lang/String;)Landroid/service/notification/ZenModeConfig$Diff;
-Landroid/service/notification/ZenModeConfig$Diff;->addLine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Landroid/service/notification/ZenModeConfig$Diff;
-Landroid/service/notification/ZenModeConfig$Diff;->lines:Ljava/util/ArrayList;
-Landroid/service/notification/ZenModeConfig$EventInfo;
-Landroid/service/notification/ZenModeConfig$EventInfo;-><init>()V
-Landroid/service/notification/ZenModeConfig$EventInfo;->calendar:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig$EventInfo;->copy()Landroid/service/notification/ZenModeConfig$EventInfo;
-Landroid/service/notification/ZenModeConfig$EventInfo;->reply:I
-Landroid/service/notification/ZenModeConfig$EventInfo;->REPLY_ANY_EXCEPT_NO:I
-Landroid/service/notification/ZenModeConfig$EventInfo;->REPLY_YES:I
-Landroid/service/notification/ZenModeConfig$EventInfo;->REPLY_YES_OR_MAYBE:I
-Landroid/service/notification/ZenModeConfig$EventInfo;->resolveUserId(I)I
-Landroid/service/notification/ZenModeConfig$EventInfo;->userId:I
-Landroid/service/notification/ZenModeConfig$ScheduleInfo;
-Landroid/service/notification/ZenModeConfig$ScheduleInfo;-><init>()V
-Landroid/service/notification/ZenModeConfig$ScheduleInfo;->copy()Landroid/service/notification/ZenModeConfig$ScheduleInfo;
-Landroid/service/notification/ZenModeConfig$ScheduleInfo;->exitAtAlarm:Z
-Landroid/service/notification/ZenModeConfig$ScheduleInfo;->nextAlarm:J
-Landroid/service/notification/ZenModeConfig$ScheduleInfo;->ts(J)Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig$ZenRule;
-Landroid/service/notification/ZenModeConfig$ZenRule;-><init>()V
-Landroid/service/notification/ZenModeConfig$ZenRule;-><init>(Landroid/os/Parcel;)V
-Landroid/service/notification/ZenModeConfig$ZenRule;->appendDiff(Landroid/service/notification/ZenModeConfig$Diff;Ljava/lang/String;Landroid/service/notification/ZenModeConfig$ZenRule;)V
-Landroid/service/notification/ZenModeConfig$ZenRule;->appendDiff(Landroid/service/notification/ZenModeConfig$Diff;Ljava/lang/String;Landroid/service/notification/ZenModeConfig$ZenRule;Landroid/service/notification/ZenModeConfig$ZenRule;)V
-Landroid/service/notification/ZenModeConfig$ZenRule;->component:Landroid/content/ComponentName;
-Landroid/service/notification/ZenModeConfig$ZenRule;->condition:Landroid/service/notification/Condition;
-Landroid/service/notification/ZenModeConfig$ZenRule;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/service/notification/ZenModeConfig$ZenRule;->enabler:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig$ZenRule;->id:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig$ZenRule;->isAutomaticActive()Z
-Landroid/service/notification/ZenModeConfig$ZenRule;->isTrueOrUnknown()Z
-Landroid/service/notification/ZenModeConfig$ZenRule;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/service/notification/ZenModeConfig;
-Landroid/service/notification/ZenModeConfig;-><init>(Landroid/os/Parcel;)V
-Landroid/service/notification/ZenModeConfig;->addKeys(Landroid/util/ArraySet;Landroid/util/ArrayMap;)V
-Landroid/service/notification/ZenModeConfig;->allowCalls:Z
-Landroid/service/notification/ZenModeConfig;->allowCallsFrom:I
-Landroid/service/notification/ZenModeConfig;->allowEvents:Z
-Landroid/service/notification/ZenModeConfig;->allowMedia:Z
-Landroid/service/notification/ZenModeConfig;->allowMessages:Z
-Landroid/service/notification/ZenModeConfig;->allowMessagesFrom:I
-Landroid/service/notification/ZenModeConfig;->allowReminders:Z
-Landroid/service/notification/ZenModeConfig;->allowRepeatCallers:Z
-Landroid/service/notification/ZenModeConfig;->allowSystem:Z
-Landroid/service/notification/ZenModeConfig;->ALLOW_ATT_ALARMS:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->ALLOW_ATT_CALLS:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->ALLOW_ATT_CALLS_FROM:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->ALLOW_ATT_EVENTS:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->ALLOW_ATT_FROM:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->ALLOW_ATT_MEDIA:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->ALLOW_ATT_MESSAGES:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->ALLOW_ATT_MESSAGES_FROM:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->ALLOW_ATT_REMINDERS:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->ALLOW_ATT_REPEAT_CALLERS:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->ALLOW_ATT_SCREEN_OFF:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->ALLOW_ATT_SCREEN_ON:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->ALLOW_ATT_SYSTEM:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->ALLOW_TAG:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->ALL_DAYS:[I
-Landroid/service/notification/ZenModeConfig;->applyNotificationPolicy(Landroid/app/NotificationManager$Policy;)V
-Landroid/service/notification/ZenModeConfig;->areAllPriorityOnlyNotificationZenSoundsMuted(Landroid/app/NotificationManager$Policy;)Z
-Landroid/service/notification/ZenModeConfig;->areAllPriorityOnlyNotificationZenSoundsMuted(Landroid/service/notification/ZenModeConfig;)Z
-Landroid/service/notification/ZenModeConfig;->areAllZenBehaviorSoundsMuted(Landroid/service/notification/ZenModeConfig;)Z
-Landroid/service/notification/ZenModeConfig;->areChannelsBypassingDnd:Z
-Landroid/service/notification/ZenModeConfig;->AUTOMATIC_TAG:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->CONDITION_ATT_FLAGS:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->CONDITION_ATT_ICON:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->CONDITION_ATT_ID:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->CONDITION_ATT_LINE1:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->CONDITION_ATT_LINE2:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->CONDITION_ATT_STATE:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->CONDITION_ATT_SUMMARY:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->copy()Landroid/service/notification/ZenModeConfig;
-Landroid/service/notification/ZenModeConfig;->COUNTDOWN_PATH:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/service/notification/ZenModeConfig;->DAY_MINUTES:I
-Landroid/service/notification/ZenModeConfig;->DEFAULT_ALLOW_ALARMS:Z
-Landroid/service/notification/ZenModeConfig;->DEFAULT_ALLOW_CALLS:Z
-Landroid/service/notification/ZenModeConfig;->DEFAULT_ALLOW_EVENTS:Z
-Landroid/service/notification/ZenModeConfig;->DEFAULT_ALLOW_MEDIA:Z
-Landroid/service/notification/ZenModeConfig;->DEFAULT_ALLOW_MESSAGES:Z
-Landroid/service/notification/ZenModeConfig;->DEFAULT_ALLOW_REMINDERS:Z
-Landroid/service/notification/ZenModeConfig;->DEFAULT_ALLOW_REPEAT_CALLERS:Z
-Landroid/service/notification/ZenModeConfig;->DEFAULT_ALLOW_SYSTEM:Z
-Landroid/service/notification/ZenModeConfig;->DEFAULT_CALLS_SOURCE:I
-Landroid/service/notification/ZenModeConfig;->DEFAULT_CHANNELS_BYPASSING_DND:Z
-Landroid/service/notification/ZenModeConfig;->DEFAULT_RULE_IDS:Ljava/util/List;
-Landroid/service/notification/ZenModeConfig;->DEFAULT_SOURCE:I
-Landroid/service/notification/ZenModeConfig;->DEFAULT_SUPPRESSED_VISUAL_EFFECTS:I
-Landroid/service/notification/ZenModeConfig;->diff(Landroid/service/notification/ZenModeConfig;)Landroid/service/notification/ZenModeConfig$Diff;
-Landroid/service/notification/ZenModeConfig;->diff(Landroid/service/notification/ZenModeConfig;Landroid/service/notification/ZenModeConfig;)Landroid/service/notification/ZenModeConfig$Diff;
-Landroid/service/notification/ZenModeConfig;->DISALLOW_ATT_VISUAL_EFFECTS:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->DISALLOW_TAG:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->EVENTS_DEFAULT_RULE_ID:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->EVENT_PATH:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->EVERY_NIGHT_DEFAULT_RULE_ID:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->generateMinuteBuckets()[I
-Landroid/service/notification/ZenModeConfig;->getConditionLine(Landroid/content/Context;Landroid/service/notification/ZenModeConfig;IZZ)Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->getConditionSummary(Landroid/content/Context;Landroid/service/notification/ZenModeConfig;IZ)Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->getDescription(Landroid/content/Context;ZLandroid/service/notification/ZenModeConfig;Z)Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->getEventConditionProvider()Landroid/content/ComponentName;
-Landroid/service/notification/ZenModeConfig;->getFormattedTime(Landroid/content/Context;JZI)Ljava/lang/CharSequence;
-Landroid/service/notification/ZenModeConfig;->getNextAlarm(Landroid/content/Context;)J
-Landroid/service/notification/ZenModeConfig;->getOwnerCaption(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->getScheduleConditionProvider()Landroid/content/ComponentName;
-Landroid/service/notification/ZenModeConfig;->isToday(J)Z
-Landroid/service/notification/ZenModeConfig;->isValid()Z
-Landroid/service/notification/ZenModeConfig;->isValidAutomaticRule(Landroid/service/notification/ZenModeConfig$ZenRule;)Z
-Landroid/service/notification/ZenModeConfig;->isValidCountdownConditionId(Landroid/net/Uri;)Z
-Landroid/service/notification/ZenModeConfig;->isValidCountdownToAlarmConditionId(Landroid/net/Uri;)Z
-Landroid/service/notification/ZenModeConfig;->isValidEventConditionId(Landroid/net/Uri;)Z
-Landroid/service/notification/ZenModeConfig;->isValidHour(I)Z
-Landroid/service/notification/ZenModeConfig;->isValidManualRule(Landroid/service/notification/ZenModeConfig$ZenRule;)Z
-Landroid/service/notification/ZenModeConfig;->isValidMinute(I)Z
-Landroid/service/notification/ZenModeConfig;->isValidScheduleConditionId(Landroid/net/Uri;)Z
-Landroid/service/notification/ZenModeConfig;->isValidSource(I)Z
-Landroid/service/notification/ZenModeConfig;->isZenOverridingRinger(ILandroid/service/notification/ZenModeConfig;)Z
-Landroid/service/notification/ZenModeConfig;->IS_ALARM_PATH:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->manualRule:Landroid/service/notification/ZenModeConfig$ZenRule;
-Landroid/service/notification/ZenModeConfig;->MANUAL_TAG:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->MAX_SOURCE:I
-Landroid/service/notification/ZenModeConfig;->MINUTES_MS:I
-Landroid/service/notification/ZenModeConfig;->MINUTE_BUCKETS:[I
-Landroid/service/notification/ZenModeConfig;->newRuleId()Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->parseAutomaticRuleEndTime(Landroid/content/Context;Landroid/net/Uri;)J
-Landroid/service/notification/ZenModeConfig;->prioritySendersToSource(II)I
-Landroid/service/notification/ZenModeConfig;->readConditionXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/service/notification/Condition;
-Landroid/service/notification/ZenModeConfig;->readRuleXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/service/notification/ZenModeConfig$ZenRule;
-Landroid/service/notification/ZenModeConfig;->readXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/service/notification/ZenModeConfig;
-Landroid/service/notification/ZenModeConfig;->RULE_ATT_COMPONENT:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->RULE_ATT_CONDITION_ID:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->RULE_ATT_CREATION_TIME:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->RULE_ATT_ENABLED:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->RULE_ATT_ENABLER:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->RULE_ATT_ID:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->RULE_ATT_NAME:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->RULE_ATT_SNOOZING:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->RULE_ATT_ZEN:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->safeBoolean(Ljava/lang/String;Z)Z
-Landroid/service/notification/ZenModeConfig;->safeBoolean(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Z)Z
-Landroid/service/notification/ZenModeConfig;->safeComponentName(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/content/ComponentName;
-Landroid/service/notification/ZenModeConfig;->safeInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
-Landroid/service/notification/ZenModeConfig;->safeLong(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
-Landroid/service/notification/ZenModeConfig;->safeUri(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/net/Uri;
-Landroid/service/notification/ZenModeConfig;->sameCondition(Landroid/service/notification/ZenModeConfig$ZenRule;)Z
-Landroid/service/notification/ZenModeConfig;->SCHEDULE_PATH:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->SECONDS_MS:I
-Landroid/service/notification/ZenModeConfig;->sourceToPrioritySenders(II)I
-Landroid/service/notification/ZenModeConfig;->sourceToString(I)Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->SOURCE_ANYONE:I
-Landroid/service/notification/ZenModeConfig;->SOURCE_CONTACT:I
-Landroid/service/notification/ZenModeConfig;->SOURCE_STAR:I
-Landroid/service/notification/ZenModeConfig;->STATE_ATT_CHANNELS_BYPASSING_DND:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->STATE_TAG:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->suppressedVisualEffects:I
-Landroid/service/notification/ZenModeConfig;->SYSTEM_AUTHORITY:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->TAG:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->toCountdownConditionId(JZ)Landroid/net/Uri;
-Landroid/service/notification/ZenModeConfig;->toDayList([I)Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->toEventConditionId(Landroid/service/notification/ZenModeConfig$EventInfo;)Landroid/net/Uri;
-Landroid/service/notification/ZenModeConfig;->toNextAlarmCondition(Landroid/content/Context;JI)Landroid/service/notification/Condition;
-Landroid/service/notification/ZenModeConfig;->toNotificationPolicy()Landroid/app/NotificationManager$Policy;
-Landroid/service/notification/ZenModeConfig;->toScheduleCalendar(Landroid/net/Uri;)Landroid/service/notification/ScheduleCalendar;
-Landroid/service/notification/ZenModeConfig;->toScheduleConditionId(Landroid/service/notification/ZenModeConfig$ScheduleInfo;)Landroid/net/Uri;
-Landroid/service/notification/ZenModeConfig;->toTimeCondition(Landroid/content/Context;II)Landroid/service/notification/Condition;
-Landroid/service/notification/ZenModeConfig;->toTimeCondition(Landroid/content/Context;IIZ)Landroid/service/notification/Condition;
-Landroid/service/notification/ZenModeConfig;->toTimeCondition(Landroid/content/Context;JIIZ)Landroid/service/notification/Condition;
-Landroid/service/notification/ZenModeConfig;->tryParseCountdownConditionId(Landroid/net/Uri;)J
-Landroid/service/notification/ZenModeConfig;->tryParseDayList(Ljava/lang/String;Ljava/lang/String;)[I
-Landroid/service/notification/ZenModeConfig;->tryParseEventConditionId(Landroid/net/Uri;)Landroid/service/notification/ZenModeConfig$EventInfo;
-Landroid/service/notification/ZenModeConfig;->tryParseHourAndMinute(Ljava/lang/String;)[I
-Landroid/service/notification/ZenModeConfig;->tryParseInt(Ljava/lang/String;I)I
-Landroid/service/notification/ZenModeConfig;->tryParseLong(Ljava/lang/String;J)J
-Landroid/service/notification/ZenModeConfig;->tryParseZenMode(Ljava/lang/String;I)I
-Landroid/service/notification/ZenModeConfig;->unsafeBoolean(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/Boolean;
-Landroid/service/notification/ZenModeConfig;->user:I
-Landroid/service/notification/ZenModeConfig;->version:I
-Landroid/service/notification/ZenModeConfig;->writeConditionXml(Landroid/service/notification/Condition;Lorg/xmlpull/v1/XmlSerializer;)V
-Landroid/service/notification/ZenModeConfig;->writeRuleXml(Landroid/service/notification/ZenModeConfig$ZenRule;Lorg/xmlpull/v1/XmlSerializer;)V
-Landroid/service/notification/ZenModeConfig;->writeXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/Integer;)V
-Landroid/service/notification/ZenModeConfig;->XML_VERSION:I
-Landroid/service/notification/ZenModeConfig;->ZEN_ATT_USER:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->ZEN_ATT_VERSION:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->ZEN_TAG:Ljava/lang/String;
-Landroid/service/notification/ZenModeConfig;->ZERO_VALUE_MS:I
-Landroid/service/notification/ZenModeProto;
-Landroid/service/notification/ZenModeProto;-><init>()V
-Landroid/service/notification/ZenModeProto;->ENABLED_ACTIVE_CONDITIONS:J
-Landroid/service/notification/ZenModeProto;->POLICY:J
-Landroid/service/notification/ZenModeProto;->SUPPRESSED_EFFECTS:J
-Landroid/service/notification/ZenModeProto;->SUPPRESSORS:J
-Landroid/service/notification/ZenModeProto;->ZEN_MODE:J
-Landroid/service/notification/ZenRuleProto;
-Landroid/service/notification/ZenRuleProto;-><init>()V
-Landroid/service/notification/ZenRuleProto;->COMPONENT:J
-Landroid/service/notification/ZenRuleProto;->CONDITION:J
-Landroid/service/notification/ZenRuleProto;->CONDITION_ID:J
-Landroid/service/notification/ZenRuleProto;->CREATION_TIME_MS:J
-Landroid/service/notification/ZenRuleProto;->ENABLED:J
-Landroid/service/notification/ZenRuleProto;->ENABLER:J
-Landroid/service/notification/ZenRuleProto;->ID:J
-Landroid/service/notification/ZenRuleProto;->IS_SNOOZING:J
-Landroid/service/notification/ZenRuleProto;->NAME:J
-Landroid/service/notification/ZenRuleProto;->ZEN_MODE:J
-Landroid/service/oemlock/IOemLockService$Stub$Proxy;
-Landroid/service/oemlock/IOemLockService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/oemlock/IOemLockService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/oemlock/IOemLockService$Stub$Proxy;->isDeviceOemUnlocked()Z
-Landroid/service/oemlock/IOemLockService$Stub$Proxy;->isOemUnlockAllowed()Z
-Landroid/service/oemlock/IOemLockService$Stub$Proxy;->isOemUnlockAllowedByCarrier()Z
-Landroid/service/oemlock/IOemLockService$Stub$Proxy;->isOemUnlockAllowedByUser()Z
-Landroid/service/oemlock/IOemLockService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/oemlock/IOemLockService$Stub$Proxy;->setOemUnlockAllowedByCarrier(Z[B)V
-Landroid/service/oemlock/IOemLockService$Stub$Proxy;->setOemUnlockAllowedByUser(Z)V
-Landroid/service/oemlock/IOemLockService$Stub;
-Landroid/service/oemlock/IOemLockService$Stub;-><init>()V
-Landroid/service/oemlock/IOemLockService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/oemlock/IOemLockService;
-Landroid/service/oemlock/IOemLockService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/oemlock/IOemLockService$Stub;->TRANSACTION_isDeviceOemUnlocked:I
-Landroid/service/oemlock/IOemLockService$Stub;->TRANSACTION_isOemUnlockAllowed:I
-Landroid/service/oemlock/IOemLockService$Stub;->TRANSACTION_isOemUnlockAllowedByCarrier:I
-Landroid/service/oemlock/IOemLockService$Stub;->TRANSACTION_isOemUnlockAllowedByUser:I
-Landroid/service/oemlock/IOemLockService$Stub;->TRANSACTION_setOemUnlockAllowedByCarrier:I
-Landroid/service/oemlock/IOemLockService$Stub;->TRANSACTION_setOemUnlockAllowedByUser:I
-Landroid/service/oemlock/IOemLockService;
-Landroid/service/oemlock/IOemLockService;->isDeviceOemUnlocked()Z
-Landroid/service/oemlock/IOemLockService;->isOemUnlockAllowed()Z
-Landroid/service/oemlock/IOemLockService;->isOemUnlockAllowedByCarrier()Z
-Landroid/service/oemlock/IOemLockService;->isOemUnlockAllowedByUser()Z
-Landroid/service/oemlock/IOemLockService;->setOemUnlockAllowedByCarrier(Z[B)V
-Landroid/service/oemlock/IOemLockService;->setOemUnlockAllowedByUser(Z)V
-Landroid/service/oemlock/OemLockManager;-><init>(Landroid/service/oemlock/IOemLockService;)V
-Landroid/service/oemlock/OemLockManager;->isDeviceOemUnlocked()Z
-Landroid/service/oemlock/OemLockManager;->isOemUnlockAllowed()Z
-Landroid/service/oemlock/OemLockManager;->mService:Landroid/service/oemlock/IOemLockService;
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;->getDataBlockSize()I
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;->getFlashLockState()I
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;->getMaximumDataBlockSize()J
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;->getOemUnlockEnabled()Z
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;->hasFrpCredentialHandle()Z
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;->read()[B
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;->setOemUnlockEnabled(Z)V
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;->wipe()V
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;->write([B)I
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub;
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub;-><init>()V
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub;->TRANSACTION_getDataBlockSize:I
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub;->TRANSACTION_getFlashLockState:I
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub;->TRANSACTION_getMaximumDataBlockSize:I
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub;->TRANSACTION_getOemUnlockEnabled:I
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub;->TRANSACTION_hasFrpCredentialHandle:I
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub;->TRANSACTION_read:I
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub;->TRANSACTION_setOemUnlockEnabled:I
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub;->TRANSACTION_wipe:I
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub;->TRANSACTION_write:I
-Landroid/service/persistentdata/IPersistentDataBlockService;
-Landroid/service/persistentdata/IPersistentDataBlockService;->getDataBlockSize()I
-Landroid/service/persistentdata/IPersistentDataBlockService;->getFlashLockState()I
-Landroid/service/persistentdata/IPersistentDataBlockService;->getMaximumDataBlockSize()J
-Landroid/service/persistentdata/IPersistentDataBlockService;->getOemUnlockEnabled()Z
-Landroid/service/persistentdata/IPersistentDataBlockService;->hasFrpCredentialHandle()Z
-Landroid/service/persistentdata/IPersistentDataBlockService;->read()[B
-Landroid/service/persistentdata/IPersistentDataBlockService;->setOemUnlockEnabled(Z)V
-Landroid/service/persistentdata/IPersistentDataBlockService;->wipe()V
-Landroid/service/persistentdata/IPersistentDataBlockService;->write([B)I
-Landroid/service/persistentdata/PersistentDataBlockManager;-><init>(Landroid/service/persistentdata/IPersistentDataBlockService;)V
-Landroid/service/persistentdata/PersistentDataBlockManager;->sService:Landroid/service/persistentdata/IPersistentDataBlockService;
-Landroid/service/persistentdata/PersistentDataBlockManager;->TAG:Ljava/lang/String;
-Landroid/service/quicksettings/IQSService$Stub$Proxy;
-Landroid/service/quicksettings/IQSService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/quicksettings/IQSService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/quicksettings/IQSService$Stub$Proxy;->getTile(Landroid/os/IBinder;)Landroid/service/quicksettings/Tile;
-Landroid/service/quicksettings/IQSService$Stub$Proxy;->isLocked()Z
-Landroid/service/quicksettings/IQSService$Stub$Proxy;->isSecure()Z
-Landroid/service/quicksettings/IQSService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/quicksettings/IQSService$Stub$Proxy;->onDialogHidden(Landroid/os/IBinder;)V
-Landroid/service/quicksettings/IQSService$Stub$Proxy;->onShowDialog(Landroid/os/IBinder;)V
-Landroid/service/quicksettings/IQSService$Stub$Proxy;->onStartActivity(Landroid/os/IBinder;)V
-Landroid/service/quicksettings/IQSService$Stub$Proxy;->onStartSuccessful(Landroid/os/IBinder;)V
-Landroid/service/quicksettings/IQSService$Stub$Proxy;->startUnlockAndRun(Landroid/os/IBinder;)V
-Landroid/service/quicksettings/IQSService$Stub$Proxy;->updateQsTile(Landroid/service/quicksettings/Tile;Landroid/os/IBinder;)V
-Landroid/service/quicksettings/IQSService$Stub$Proxy;->updateStatusIcon(Landroid/os/IBinder;Landroid/graphics/drawable/Icon;Ljava/lang/String;)V
-Landroid/service/quicksettings/IQSService$Stub;
-Landroid/service/quicksettings/IQSService$Stub;-><init>()V
-Landroid/service/quicksettings/IQSService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/quicksettings/IQSService;
-Landroid/service/quicksettings/IQSService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/quicksettings/IQSService$Stub;->TRANSACTION_getTile:I
-Landroid/service/quicksettings/IQSService$Stub;->TRANSACTION_isLocked:I
-Landroid/service/quicksettings/IQSService$Stub;->TRANSACTION_isSecure:I
-Landroid/service/quicksettings/IQSService$Stub;->TRANSACTION_onDialogHidden:I
-Landroid/service/quicksettings/IQSService$Stub;->TRANSACTION_onShowDialog:I
-Landroid/service/quicksettings/IQSService$Stub;->TRANSACTION_onStartActivity:I
-Landroid/service/quicksettings/IQSService$Stub;->TRANSACTION_onStartSuccessful:I
-Landroid/service/quicksettings/IQSService$Stub;->TRANSACTION_startUnlockAndRun:I
-Landroid/service/quicksettings/IQSService$Stub;->TRANSACTION_updateQsTile:I
-Landroid/service/quicksettings/IQSService$Stub;->TRANSACTION_updateStatusIcon:I
-Landroid/service/quicksettings/IQSService;
-Landroid/service/quicksettings/IQSService;->getTile(Landroid/os/IBinder;)Landroid/service/quicksettings/Tile;
-Landroid/service/quicksettings/IQSService;->isLocked()Z
-Landroid/service/quicksettings/IQSService;->isSecure()Z
-Landroid/service/quicksettings/IQSService;->onDialogHidden(Landroid/os/IBinder;)V
-Landroid/service/quicksettings/IQSService;->onShowDialog(Landroid/os/IBinder;)V
-Landroid/service/quicksettings/IQSService;->onStartActivity(Landroid/os/IBinder;)V
-Landroid/service/quicksettings/IQSService;->onStartSuccessful(Landroid/os/IBinder;)V
-Landroid/service/quicksettings/IQSService;->startUnlockAndRun(Landroid/os/IBinder;)V
-Landroid/service/quicksettings/IQSService;->updateQsTile(Landroid/service/quicksettings/Tile;Landroid/os/IBinder;)V
-Landroid/service/quicksettings/IQSService;->updateStatusIcon(Landroid/os/IBinder;Landroid/graphics/drawable/Icon;Ljava/lang/String;)V
-Landroid/service/quicksettings/IQSTileService$Stub$Proxy;
-Landroid/service/quicksettings/IQSTileService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/quicksettings/IQSTileService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/quicksettings/IQSTileService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/quicksettings/IQSTileService$Stub$Proxy;->onClick(Landroid/os/IBinder;)V
-Landroid/service/quicksettings/IQSTileService$Stub$Proxy;->onStartListening()V
-Landroid/service/quicksettings/IQSTileService$Stub$Proxy;->onStopListening()V
-Landroid/service/quicksettings/IQSTileService$Stub$Proxy;->onTileAdded()V
-Landroid/service/quicksettings/IQSTileService$Stub$Proxy;->onTileRemoved()V
-Landroid/service/quicksettings/IQSTileService$Stub$Proxy;->onUnlockComplete()V
-Landroid/service/quicksettings/IQSTileService$Stub;
-Landroid/service/quicksettings/IQSTileService$Stub;-><init>()V
-Landroid/service/quicksettings/IQSTileService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/quicksettings/IQSTileService;
-Landroid/service/quicksettings/IQSTileService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/quicksettings/IQSTileService$Stub;->TRANSACTION_onClick:I
-Landroid/service/quicksettings/IQSTileService$Stub;->TRANSACTION_onStartListening:I
-Landroid/service/quicksettings/IQSTileService$Stub;->TRANSACTION_onStopListening:I
-Landroid/service/quicksettings/IQSTileService$Stub;->TRANSACTION_onTileAdded:I
-Landroid/service/quicksettings/IQSTileService$Stub;->TRANSACTION_onTileRemoved:I
-Landroid/service/quicksettings/IQSTileService$Stub;->TRANSACTION_onUnlockComplete:I
-Landroid/service/quicksettings/IQSTileService;
-Landroid/service/quicksettings/IQSTileService;->onClick(Landroid/os/IBinder;)V
-Landroid/service/quicksettings/IQSTileService;->onStartListening()V
-Landroid/service/quicksettings/IQSTileService;->onStopListening()V
-Landroid/service/quicksettings/IQSTileService;->onTileAdded()V
-Landroid/service/quicksettings/IQSTileService;->onTileRemoved()V
-Landroid/service/quicksettings/IQSTileService;->onUnlockComplete()V
-Landroid/service/quicksettings/Tile;-><init>()V
-Landroid/service/quicksettings/Tile;-><init>(Landroid/os/Parcel;)V
-Landroid/service/quicksettings/Tile;->mContentDescription:Ljava/lang/CharSequence;
-Landroid/service/quicksettings/Tile;->mIcon:Landroid/graphics/drawable/Icon;
-Landroid/service/quicksettings/Tile;->mLabel:Ljava/lang/CharSequence;
-Landroid/service/quicksettings/Tile;->mService:Landroid/service/quicksettings/IQSService;
-Landroid/service/quicksettings/Tile;->mState:I
-Landroid/service/quicksettings/Tile;->mToken:Landroid/os/IBinder;
-Landroid/service/quicksettings/Tile;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/service/quicksettings/Tile;->setService(Landroid/service/quicksettings/IQSService;Landroid/os/IBinder;)V
-Landroid/service/quicksettings/Tile;->TAG:Ljava/lang/String;
-Landroid/service/quicksettings/TileService$H;
-Landroid/service/quicksettings/TileService$H;-><init>(Landroid/os/Looper;)V
-Landroid/service/quicksettings/TileService$H;->MSG_START_LISTENING:I
-Landroid/service/quicksettings/TileService$H;->MSG_START_SUCCESS:I
-Landroid/service/quicksettings/TileService$H;->MSG_STOP_LISTENING:I
-Landroid/service/quicksettings/TileService$H;->MSG_TILE_ADDED:I
-Landroid/service/quicksettings/TileService$H;->MSG_TILE_CLICKED:I
-Landroid/service/quicksettings/TileService$H;->MSG_TILE_REMOVED:I
-Landroid/service/quicksettings/TileService$H;->MSG_UNLOCK_COMPLETE:I
-Landroid/service/quicksettings/TileService;->ACTION_REQUEST_LISTENING:Ljava/lang/String;
-Landroid/service/quicksettings/TileService;->EXTRA_SERVICE:Ljava/lang/String;
-Landroid/service/quicksettings/TileService;->EXTRA_STATE:Ljava/lang/String;
-Landroid/service/quicksettings/TileService;->EXTRA_TOKEN:Ljava/lang/String;
-Landroid/service/quicksettings/TileService;->mHandler:Landroid/service/quicksettings/TileService$H;
-Landroid/service/quicksettings/TileService;->mListening:Z
-Landroid/service/quicksettings/TileService;->mService:Landroid/service/quicksettings/IQSService;
-Landroid/service/quicksettings/TileService;->mTile:Landroid/service/quicksettings/Tile;
-Landroid/service/quicksettings/TileService;->mTileToken:Landroid/os/IBinder;
-Landroid/service/quicksettings/TileService;->mToken:Landroid/os/IBinder;
-Landroid/service/quicksettings/TileService;->mUnlockRunnable:Ljava/lang/Runnable;
-Landroid/service/resolver/IResolverRankerResult$Stub$Proxy;
-Landroid/service/resolver/IResolverRankerResult$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/resolver/IResolverRankerResult$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/resolver/IResolverRankerResult$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/resolver/IResolverRankerResult$Stub$Proxy;->sendResult(Ljava/util/List;)V
-Landroid/service/resolver/IResolverRankerResult$Stub;
-Landroid/service/resolver/IResolverRankerResult$Stub;-><init>()V
-Landroid/service/resolver/IResolverRankerResult$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/resolver/IResolverRankerResult;
-Landroid/service/resolver/IResolverRankerResult$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/resolver/IResolverRankerResult$Stub;->TRANSACTION_sendResult:I
-Landroid/service/resolver/IResolverRankerResult;
-Landroid/service/resolver/IResolverRankerResult;->sendResult(Ljava/util/List;)V
-Landroid/service/resolver/IResolverRankerService$Stub$Proxy;
-Landroid/service/resolver/IResolverRankerService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/resolver/IResolverRankerService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/resolver/IResolverRankerService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/resolver/IResolverRankerService$Stub$Proxy;->predict(Ljava/util/List;Landroid/service/resolver/IResolverRankerResult;)V
-Landroid/service/resolver/IResolverRankerService$Stub$Proxy;->train(Ljava/util/List;I)V
-Landroid/service/resolver/IResolverRankerService$Stub;
-Landroid/service/resolver/IResolverRankerService$Stub;-><init>()V
-Landroid/service/resolver/IResolverRankerService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/resolver/IResolverRankerService;
-Landroid/service/resolver/IResolverRankerService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/resolver/IResolverRankerService$Stub;->TRANSACTION_predict:I
-Landroid/service/resolver/IResolverRankerService$Stub;->TRANSACTION_train:I
-Landroid/service/resolver/IResolverRankerService;
-Landroid/service/resolver/IResolverRankerService;->predict(Ljava/util/List;Landroid/service/resolver/IResolverRankerResult;)V
-Landroid/service/resolver/IResolverRankerService;->train(Ljava/util/List;I)V
-Landroid/service/resolver/ResolverRankerService$ResolverRankerServiceWrapper;
-Landroid/service/resolver/ResolverRankerService$ResolverRankerServiceWrapper;-><init>()V
-Landroid/service/resolver/ResolverRankerService$ResolverRankerServiceWrapper;->predict(Ljava/util/List;Landroid/service/resolver/IResolverRankerResult;)V
-Landroid/service/resolver/ResolverRankerService$ResolverRankerServiceWrapper;->train(Ljava/util/List;I)V
-Landroid/service/resolver/ResolverRankerService;->DEBUG:Z
-Landroid/service/resolver/ResolverRankerService;->HANDLER_THREAD_NAME:Ljava/lang/String;
-Landroid/service/resolver/ResolverRankerService;->mHandler:Landroid/os/Handler;
-Landroid/service/resolver/ResolverRankerService;->mHandlerThread:Landroid/os/HandlerThread;
-Landroid/service/resolver/ResolverRankerService;->mWrapper:Landroid/service/resolver/ResolverRankerService$ResolverRankerServiceWrapper;
-Landroid/service/resolver/ResolverRankerService;->sendResult(Ljava/util/List;Landroid/service/resolver/IResolverRankerResult;)V
-Landroid/service/resolver/ResolverRankerService;->TAG:Ljava/lang/String;
-Landroid/service/resolver/ResolverTarget;-><init>(Landroid/os/Parcel;)V
-Landroid/service/resolver/ResolverTarget;->mChooserScore:F
-Landroid/service/resolver/ResolverTarget;->mLaunchScore:F
-Landroid/service/resolver/ResolverTarget;->mRecencyScore:F
-Landroid/service/resolver/ResolverTarget;->mSelectProbability:F
-Landroid/service/resolver/ResolverTarget;->mTimeSpentScore:F
-Landroid/service/resolver/ResolverTarget;->TAG:Ljava/lang/String;
-Landroid/service/restrictions/RestrictionsReceiver;->TAG:Ljava/lang/String;
-Landroid/service/settings/suggestions/ISuggestionService$Stub$Proxy;
-Landroid/service/settings/suggestions/ISuggestionService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/settings/suggestions/ISuggestionService$Stub$Proxy;->dismissSuggestion(Landroid/service/settings/suggestions/Suggestion;)V
-Landroid/service/settings/suggestions/ISuggestionService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/settings/suggestions/ISuggestionService$Stub$Proxy;->getSuggestions()Ljava/util/List;
-Landroid/service/settings/suggestions/ISuggestionService$Stub$Proxy;->launchSuggestion(Landroid/service/settings/suggestions/Suggestion;)V
-Landroid/service/settings/suggestions/ISuggestionService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/settings/suggestions/ISuggestionService$Stub;
-Landroid/service/settings/suggestions/ISuggestionService$Stub;-><init>()V
-Landroid/service/settings/suggestions/ISuggestionService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/settings/suggestions/ISuggestionService;
-Landroid/service/settings/suggestions/ISuggestionService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/settings/suggestions/ISuggestionService$Stub;->TRANSACTION_dismissSuggestion:I
-Landroid/service/settings/suggestions/ISuggestionService$Stub;->TRANSACTION_getSuggestions:I
-Landroid/service/settings/suggestions/ISuggestionService$Stub;->TRANSACTION_launchSuggestion:I
-Landroid/service/settings/suggestions/ISuggestionService;
-Landroid/service/settings/suggestions/ISuggestionService;->dismissSuggestion(Landroid/service/settings/suggestions/Suggestion;)V
-Landroid/service/settings/suggestions/ISuggestionService;->getSuggestions()Ljava/util/List;
-Landroid/service/settings/suggestions/ISuggestionService;->launchSuggestion(Landroid/service/settings/suggestions/Suggestion;)V
-Landroid/service/settings/suggestions/Suggestion$Builder;->mFlags:I
-Landroid/service/settings/suggestions/Suggestion$Builder;->mIcon:Landroid/graphics/drawable/Icon;
-Landroid/service/settings/suggestions/Suggestion$Builder;->mId:Ljava/lang/String;
-Landroid/service/settings/suggestions/Suggestion$Builder;->mPendingIntent:Landroid/app/PendingIntent;
-Landroid/service/settings/suggestions/Suggestion$Builder;->mSummary:Ljava/lang/CharSequence;
-Landroid/service/settings/suggestions/Suggestion$Builder;->mTitle:Ljava/lang/CharSequence;
-Landroid/service/settings/suggestions/Suggestion$Flags;
-Landroid/service/settings/suggestions/Suggestion;-><init>(Landroid/os/Parcel;)V
-Landroid/service/settings/suggestions/Suggestion;-><init>(Landroid/service/settings/suggestions/Suggestion$Builder;)V
-Landroid/service/settings/suggestions/Suggestion;->FLAG_ICON_TINTABLE:I
-Landroid/service/settings/suggestions/Suggestion;->mFlags:I
-Landroid/service/settings/suggestions/Suggestion;->mIcon:Landroid/graphics/drawable/Icon;
-Landroid/service/settings/suggestions/Suggestion;->mId:Ljava/lang/String;
-Landroid/service/settings/suggestions/Suggestion;->mPendingIntent:Landroid/app/PendingIntent;
-Landroid/service/settings/suggestions/Suggestion;->mSummary:Ljava/lang/CharSequence;
-Landroid/service/settings/suggestions/Suggestion;->mTitle:Ljava/lang/CharSequence;
-Landroid/service/settings/suggestions/SuggestionService;->DEBUG:Z
-Landroid/service/settings/suggestions/SuggestionService;->TAG:Ljava/lang/String;
-Landroid/service/textclassifier/ITextClassificationCallback$Stub$Proxy;
-Landroid/service/textclassifier/ITextClassificationCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/textclassifier/ITextClassificationCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/textclassifier/ITextClassificationCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/textclassifier/ITextClassificationCallback$Stub$Proxy;->onFailure()V
-Landroid/service/textclassifier/ITextClassificationCallback$Stub$Proxy;->onSuccess(Landroid/view/textclassifier/TextClassification;)V
-Landroid/service/textclassifier/ITextClassificationCallback$Stub;
-Landroid/service/textclassifier/ITextClassificationCallback$Stub;-><init>()V
-Landroid/service/textclassifier/ITextClassificationCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/textclassifier/ITextClassificationCallback;
-Landroid/service/textclassifier/ITextClassificationCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/textclassifier/ITextClassificationCallback$Stub;->TRANSACTION_onFailure:I
-Landroid/service/textclassifier/ITextClassificationCallback$Stub;->TRANSACTION_onSuccess:I
-Landroid/service/textclassifier/ITextClassificationCallback;
-Landroid/service/textclassifier/ITextClassificationCallback;->onFailure()V
-Landroid/service/textclassifier/ITextClassificationCallback;->onSuccess(Landroid/view/textclassifier/TextClassification;)V
-Landroid/service/textclassifier/ITextClassifierService$Stub$Proxy;
-Landroid/service/textclassifier/ITextClassifierService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onClassifyText(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassification$Request;Landroid/service/textclassifier/ITextClassificationCallback;)V
-Landroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onCreateTextClassificationSession(Landroid/view/textclassifier/TextClassificationContext;Landroid/view/textclassifier/TextClassificationSessionId;)V
-Landroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onDestroyTextClassificationSession(Landroid/view/textclassifier/TextClassificationSessionId;)V
-Landroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onGenerateLinks(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextLinks$Request;Landroid/service/textclassifier/ITextLinksCallback;)V
-Landroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onSelectionEvent(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/SelectionEvent;)V
-Landroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onSuggestSelection(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextSelection$Request;Landroid/service/textclassifier/ITextSelectionCallback;)V
-Landroid/service/textclassifier/ITextClassifierService$Stub;
-Landroid/service/textclassifier/ITextClassifierService$Stub;-><init>()V
-Landroid/service/textclassifier/ITextClassifierService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/textclassifier/ITextClassifierService;
-Landroid/service/textclassifier/ITextClassifierService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/textclassifier/ITextClassifierService$Stub;->TRANSACTION_onClassifyText:I
-Landroid/service/textclassifier/ITextClassifierService$Stub;->TRANSACTION_onCreateTextClassificationSession:I
-Landroid/service/textclassifier/ITextClassifierService$Stub;->TRANSACTION_onDestroyTextClassificationSession:I
-Landroid/service/textclassifier/ITextClassifierService$Stub;->TRANSACTION_onGenerateLinks:I
-Landroid/service/textclassifier/ITextClassifierService$Stub;->TRANSACTION_onSelectionEvent:I
-Landroid/service/textclassifier/ITextClassifierService$Stub;->TRANSACTION_onSuggestSelection:I
-Landroid/service/textclassifier/ITextClassifierService;
-Landroid/service/textclassifier/ITextClassifierService;->onClassifyText(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassification$Request;Landroid/service/textclassifier/ITextClassificationCallback;)V
-Landroid/service/textclassifier/ITextClassifierService;->onCreateTextClassificationSession(Landroid/view/textclassifier/TextClassificationContext;Landroid/view/textclassifier/TextClassificationSessionId;)V
-Landroid/service/textclassifier/ITextClassifierService;->onDestroyTextClassificationSession(Landroid/view/textclassifier/TextClassificationSessionId;)V
-Landroid/service/textclassifier/ITextClassifierService;->onGenerateLinks(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextLinks$Request;Landroid/service/textclassifier/ITextLinksCallback;)V
-Landroid/service/textclassifier/ITextClassifierService;->onSelectionEvent(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/SelectionEvent;)V
-Landroid/service/textclassifier/ITextClassifierService;->onSuggestSelection(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextSelection$Request;Landroid/service/textclassifier/ITextSelectionCallback;)V
-Landroid/service/textclassifier/ITextLinksCallback$Stub$Proxy;
-Landroid/service/textclassifier/ITextLinksCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/textclassifier/ITextLinksCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/textclassifier/ITextLinksCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/textclassifier/ITextLinksCallback$Stub$Proxy;->onFailure()V
-Landroid/service/textclassifier/ITextLinksCallback$Stub$Proxy;->onSuccess(Landroid/view/textclassifier/TextLinks;)V
-Landroid/service/textclassifier/ITextLinksCallback$Stub;
-Landroid/service/textclassifier/ITextLinksCallback$Stub;-><init>()V
-Landroid/service/textclassifier/ITextLinksCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/textclassifier/ITextLinksCallback;
-Landroid/service/textclassifier/ITextLinksCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/textclassifier/ITextLinksCallback$Stub;->TRANSACTION_onFailure:I
-Landroid/service/textclassifier/ITextLinksCallback$Stub;->TRANSACTION_onSuccess:I
-Landroid/service/textclassifier/ITextLinksCallback;
-Landroid/service/textclassifier/ITextLinksCallback;->onFailure()V
-Landroid/service/textclassifier/ITextLinksCallback;->onSuccess(Landroid/view/textclassifier/TextLinks;)V
-Landroid/service/textclassifier/ITextSelectionCallback$Stub$Proxy;
-Landroid/service/textclassifier/ITextSelectionCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/textclassifier/ITextSelectionCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/textclassifier/ITextSelectionCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/textclassifier/ITextSelectionCallback$Stub$Proxy;->onFailure()V
-Landroid/service/textclassifier/ITextSelectionCallback$Stub$Proxy;->onSuccess(Landroid/view/textclassifier/TextSelection;)V
-Landroid/service/textclassifier/ITextSelectionCallback$Stub;
-Landroid/service/textclassifier/ITextSelectionCallback$Stub;-><init>()V
-Landroid/service/textclassifier/ITextSelectionCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/textclassifier/ITextSelectionCallback;
-Landroid/service/textclassifier/ITextSelectionCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/textclassifier/ITextSelectionCallback$Stub;->TRANSACTION_onFailure:I
-Landroid/service/textclassifier/ITextSelectionCallback$Stub;->TRANSACTION_onSuccess:I
-Landroid/service/textclassifier/ITextSelectionCallback;
-Landroid/service/textclassifier/ITextSelectionCallback;->onFailure()V
-Landroid/service/textclassifier/ITextSelectionCallback;->onSuccess(Landroid/view/textclassifier/TextSelection;)V
-Landroid/service/textclassifier/TextClassifierService;->getServiceComponentName(Landroid/content/Context;)Landroid/content/ComponentName;
-Landroid/service/textclassifier/TextClassifierService;->LOG_TAG:Ljava/lang/String;
-Landroid/service/textclassifier/TextClassifierService;->mBinder:Landroid/service/textclassifier/ITextClassifierService$Stub;
-Landroid/service/textclassifier/TextClassifierService;->onClassifyText(Ljava/lang/CharSequence;IILandroid/view/textclassifier/TextClassification$Options;Landroid/os/CancellationSignal;Landroid/service/textclassifier/TextClassifierService$Callback;)V
-Landroid/service/textclassifier/TextClassifierService;->onGenerateLinks(Ljava/lang/CharSequence;Landroid/view/textclassifier/TextLinks$Options;Landroid/os/CancellationSignal;Landroid/service/textclassifier/TextClassifierService$Callback;)V
-Landroid/service/textclassifier/TextClassifierService;->onSuggestSelection(Ljava/lang/CharSequence;IILandroid/view/textclassifier/TextSelection$Options;Landroid/os/CancellationSignal;Landroid/service/textclassifier/TextClassifierService$Callback;)V
-Landroid/service/textservice/SpellCheckerService$InternalISpellCheckerSession;
-Landroid/service/textservice/SpellCheckerService$InternalISpellCheckerSession;-><init>(Ljava/lang/String;Lcom/android/internal/textservice/ISpellCheckerSessionListener;Landroid/os/Bundle;Landroid/service/textservice/SpellCheckerService$Session;)V
-Landroid/service/textservice/SpellCheckerService$InternalISpellCheckerSession;->getBundle()Landroid/os/Bundle;
-Landroid/service/textservice/SpellCheckerService$InternalISpellCheckerSession;->getLocale()Ljava/lang/String;
-Landroid/service/textservice/SpellCheckerService$InternalISpellCheckerSession;->mBundle:Landroid/os/Bundle;
-Landroid/service/textservice/SpellCheckerService$InternalISpellCheckerSession;->mListener:Lcom/android/internal/textservice/ISpellCheckerSessionListener;
-Landroid/service/textservice/SpellCheckerService$InternalISpellCheckerSession;->mLocale:Ljava/lang/String;
-Landroid/service/textservice/SpellCheckerService$InternalISpellCheckerSession;->mSession:Landroid/service/textservice/SpellCheckerService$Session;
-Landroid/service/textservice/SpellCheckerService$InternalISpellCheckerSession;->onCancel()V
-Landroid/service/textservice/SpellCheckerService$InternalISpellCheckerSession;->onClose()V
-Landroid/service/textservice/SpellCheckerService$InternalISpellCheckerSession;->onGetSentenceSuggestionsMultiple([Landroid/view/textservice/TextInfo;I)V
-Landroid/service/textservice/SpellCheckerService$InternalISpellCheckerSession;->onGetSuggestionsMultiple([Landroid/view/textservice/TextInfo;IZ)V
-Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter$SentenceTextInfoParams;
-Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter$SentenceTextInfoParams;-><init>(Landroid/view/textservice/TextInfo;Ljava/util/ArrayList;)V
-Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter$SentenceTextInfoParams;->mItems:Ljava/util/ArrayList;
-Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter$SentenceTextInfoParams;->mOriginalTextInfo:Landroid/view/textservice/TextInfo;
-Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter$SentenceTextInfoParams;->mSize:I
-Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter$SentenceWordItem;
-Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter$SentenceWordItem;-><init>(Landroid/view/textservice/TextInfo;II)V
-Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter$SentenceWordItem;->mLength:I
-Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter$SentenceWordItem;->mStart:I
-Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter$SentenceWordItem;->mTextInfo:Landroid/view/textservice/TextInfo;
-Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter;
-Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter;-><init>(Ljava/util/Locale;)V
-Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter;->EMPTY_SENTENCE_SUGGESTIONS_INFOS:[Landroid/view/textservice/SentenceSuggestionsInfo;
-Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter;->EMPTY_SUGGESTIONS_INFO:Landroid/view/textservice/SuggestionsInfo;
-Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter;->getSplitWords(Landroid/view/textservice/TextInfo;)Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter$SentenceTextInfoParams;
-Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter;->mWordIterator:Landroid/text/method/WordIterator;
-Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter;->reconstructSuggestions(Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter$SentenceTextInfoParams;[Landroid/view/textservice/SuggestionsInfo;)Landroid/view/textservice/SentenceSuggestionsInfo;
-Landroid/service/textservice/SpellCheckerService$Session;->mInternalSession:Landroid/service/textservice/SpellCheckerService$InternalISpellCheckerSession;
-Landroid/service/textservice/SpellCheckerService$Session;->mSentenceLevelAdapter:Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter;
-Landroid/service/textservice/SpellCheckerService$Session;->setInternalISpellCheckerSession(Landroid/service/textservice/SpellCheckerService$InternalISpellCheckerSession;)V
-Landroid/service/textservice/SpellCheckerService$SpellCheckerServiceBinder;
-Landroid/service/textservice/SpellCheckerService$SpellCheckerServiceBinder;-><init>(Landroid/service/textservice/SpellCheckerService;)V
-Landroid/service/textservice/SpellCheckerService$SpellCheckerServiceBinder;->getISpellCheckerSession(Ljava/lang/String;Lcom/android/internal/textservice/ISpellCheckerSessionListener;Landroid/os/Bundle;Lcom/android/internal/textservice/ISpellCheckerServiceCallback;)V
-Landroid/service/textservice/SpellCheckerService$SpellCheckerServiceBinder;->mInternalServiceRef:Ljava/lang/ref/WeakReference;
-Landroid/service/textservice/SpellCheckerService;->DBG:Z
-Landroid/service/textservice/SpellCheckerService;->mBinder:Landroid/service/textservice/SpellCheckerService$SpellCheckerServiceBinder;
-Landroid/service/textservice/SpellCheckerService;->TAG:Ljava/lang/String;
-Landroid/service/trust/ITrustAgentService$Stub$Proxy;
-Landroid/service/trust/ITrustAgentService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/trust/ITrustAgentService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/trust/ITrustAgentService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/trust/ITrustAgentService$Stub$Proxy;->onConfigure(Ljava/util/List;Landroid/os/IBinder;)V
-Landroid/service/trust/ITrustAgentService$Stub$Proxy;->onDeviceLocked()V
-Landroid/service/trust/ITrustAgentService$Stub$Proxy;->onDeviceUnlocked()V
-Landroid/service/trust/ITrustAgentService$Stub$Proxy;->onEscrowTokenAdded([BJLandroid/os/UserHandle;)V
-Landroid/service/trust/ITrustAgentService$Stub$Proxy;->onEscrowTokenRemoved(JZ)V
-Landroid/service/trust/ITrustAgentService$Stub$Proxy;->onTokenStateReceived(JI)V
-Landroid/service/trust/ITrustAgentService$Stub$Proxy;->onTrustTimeout()V
-Landroid/service/trust/ITrustAgentService$Stub$Proxy;->onUnlockAttempt(Z)V
-Landroid/service/trust/ITrustAgentService$Stub$Proxy;->onUnlockLockout(I)V
-Landroid/service/trust/ITrustAgentService$Stub$Proxy;->setCallback(Landroid/service/trust/ITrustAgentServiceCallback;)V
-Landroid/service/trust/ITrustAgentService$Stub;
-Landroid/service/trust/ITrustAgentService$Stub;-><init>()V
-Landroid/service/trust/ITrustAgentService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/trust/ITrustAgentService;
-Landroid/service/trust/ITrustAgentService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/trust/ITrustAgentService$Stub;->TRANSACTION_onConfigure:I
-Landroid/service/trust/ITrustAgentService$Stub;->TRANSACTION_onDeviceLocked:I
-Landroid/service/trust/ITrustAgentService$Stub;->TRANSACTION_onDeviceUnlocked:I
-Landroid/service/trust/ITrustAgentService$Stub;->TRANSACTION_onEscrowTokenAdded:I
-Landroid/service/trust/ITrustAgentService$Stub;->TRANSACTION_onEscrowTokenRemoved:I
-Landroid/service/trust/ITrustAgentService$Stub;->TRANSACTION_onTokenStateReceived:I
-Landroid/service/trust/ITrustAgentService$Stub;->TRANSACTION_onTrustTimeout:I
-Landroid/service/trust/ITrustAgentService$Stub;->TRANSACTION_onUnlockAttempt:I
-Landroid/service/trust/ITrustAgentService$Stub;->TRANSACTION_onUnlockLockout:I
-Landroid/service/trust/ITrustAgentService$Stub;->TRANSACTION_setCallback:I
-Landroid/service/trust/ITrustAgentService;
-Landroid/service/trust/ITrustAgentService;->onConfigure(Ljava/util/List;Landroid/os/IBinder;)V
-Landroid/service/trust/ITrustAgentService;->onDeviceLocked()V
-Landroid/service/trust/ITrustAgentService;->onDeviceUnlocked()V
-Landroid/service/trust/ITrustAgentService;->onEscrowTokenAdded([BJLandroid/os/UserHandle;)V
-Landroid/service/trust/ITrustAgentService;->onEscrowTokenRemoved(JZ)V
-Landroid/service/trust/ITrustAgentService;->onTokenStateReceived(JI)V
-Landroid/service/trust/ITrustAgentService;->onTrustTimeout()V
-Landroid/service/trust/ITrustAgentService;->onUnlockAttempt(Z)V
-Landroid/service/trust/ITrustAgentService;->onUnlockLockout(I)V
-Landroid/service/trust/ITrustAgentService;->setCallback(Landroid/service/trust/ITrustAgentServiceCallback;)V
-Landroid/service/trust/ITrustAgentServiceCallback$Stub$Proxy;
-Landroid/service/trust/ITrustAgentServiceCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/trust/ITrustAgentServiceCallback$Stub$Proxy;->addEscrowToken([BI)V
-Landroid/service/trust/ITrustAgentServiceCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/trust/ITrustAgentServiceCallback$Stub$Proxy;->grantTrust(Ljava/lang/CharSequence;JI)V
-Landroid/service/trust/ITrustAgentServiceCallback$Stub$Proxy;->isEscrowTokenActive(JI)V
-Landroid/service/trust/ITrustAgentServiceCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/trust/ITrustAgentServiceCallback$Stub$Proxy;->onConfigureCompleted(ZLandroid/os/IBinder;)V
-Landroid/service/trust/ITrustAgentServiceCallback$Stub$Proxy;->removeEscrowToken(JI)V
-Landroid/service/trust/ITrustAgentServiceCallback$Stub$Proxy;->revokeTrust()V
-Landroid/service/trust/ITrustAgentServiceCallback$Stub$Proxy;->setManagingTrust(Z)V
-Landroid/service/trust/ITrustAgentServiceCallback$Stub$Proxy;->showKeyguardErrorMessage(Ljava/lang/CharSequence;)V
-Landroid/service/trust/ITrustAgentServiceCallback$Stub$Proxy;->unlockUserWithToken(J[BI)V
-Landroid/service/trust/ITrustAgentServiceCallback$Stub;
-Landroid/service/trust/ITrustAgentServiceCallback$Stub;-><init>()V
-Landroid/service/trust/ITrustAgentServiceCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/trust/ITrustAgentServiceCallback;
-Landroid/service/trust/ITrustAgentServiceCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/trust/ITrustAgentServiceCallback$Stub;->TRANSACTION_addEscrowToken:I
-Landroid/service/trust/ITrustAgentServiceCallback$Stub;->TRANSACTION_grantTrust:I
-Landroid/service/trust/ITrustAgentServiceCallback$Stub;->TRANSACTION_isEscrowTokenActive:I
-Landroid/service/trust/ITrustAgentServiceCallback$Stub;->TRANSACTION_onConfigureCompleted:I
-Landroid/service/trust/ITrustAgentServiceCallback$Stub;->TRANSACTION_removeEscrowToken:I
-Landroid/service/trust/ITrustAgentServiceCallback$Stub;->TRANSACTION_revokeTrust:I
-Landroid/service/trust/ITrustAgentServiceCallback$Stub;->TRANSACTION_setManagingTrust:I
-Landroid/service/trust/ITrustAgentServiceCallback$Stub;->TRANSACTION_showKeyguardErrorMessage:I
-Landroid/service/trust/ITrustAgentServiceCallback$Stub;->TRANSACTION_unlockUserWithToken:I
-Landroid/service/trust/ITrustAgentServiceCallback;
-Landroid/service/trust/ITrustAgentServiceCallback;->addEscrowToken([BI)V
-Landroid/service/trust/ITrustAgentServiceCallback;->grantTrust(Ljava/lang/CharSequence;JI)V
-Landroid/service/trust/ITrustAgentServiceCallback;->isEscrowTokenActive(JI)V
-Landroid/service/trust/ITrustAgentServiceCallback;->onConfigureCompleted(ZLandroid/os/IBinder;)V
-Landroid/service/trust/ITrustAgentServiceCallback;->removeEscrowToken(JI)V
-Landroid/service/trust/ITrustAgentServiceCallback;->revokeTrust()V
-Landroid/service/trust/ITrustAgentServiceCallback;->setManagingTrust(Z)V
-Landroid/service/trust/ITrustAgentServiceCallback;->showKeyguardErrorMessage(Ljava/lang/CharSequence;)V
-Landroid/service/trust/ITrustAgentServiceCallback;->unlockUserWithToken(J[BI)V
-Landroid/service/trust/TrustAgentService$ConfigurationData;
-Landroid/service/trust/TrustAgentService$ConfigurationData;-><init>(Ljava/util/List;Landroid/os/IBinder;)V
-Landroid/service/trust/TrustAgentService$ConfigurationData;->options:Ljava/util/List;
-Landroid/service/trust/TrustAgentService$ConfigurationData;->token:Landroid/os/IBinder;
-Landroid/service/trust/TrustAgentService$GrantTrustFlags;
-Landroid/service/trust/TrustAgentService$TokenState;
-Landroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;
-Landroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;-><init>()V
-Landroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->onConfigure(Ljava/util/List;Landroid/os/IBinder;)V
-Landroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->onDeviceLocked()V
-Landroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->onDeviceUnlocked()V
-Landroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->onEscrowTokenAdded([BJLandroid/os/UserHandle;)V
-Landroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->onEscrowTokenRemoved(JZ)V
-Landroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->onTokenStateReceived(JI)V
-Landroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->onTrustTimeout()V
-Landroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->onUnlockAttempt(Z)V
-Landroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->onUnlockLockout(I)V
-Landroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->setCallback(Landroid/service/trust/ITrustAgentServiceCallback;)V
-Landroid/service/trust/TrustAgentService;->DEBUG:Z
-Landroid/service/trust/TrustAgentService;->EXTRA_TOKEN:Ljava/lang/String;
-Landroid/service/trust/TrustAgentService;->EXTRA_TOKEN_HANDLE:Ljava/lang/String;
-Landroid/service/trust/TrustAgentService;->EXTRA_TOKEN_REMOVED_RESULT:Ljava/lang/String;
-Landroid/service/trust/TrustAgentService;->EXTRA_TOKEN_STATE:Ljava/lang/String;
-Landroid/service/trust/TrustAgentService;->EXTRA_USER_HANDLE:Ljava/lang/String;
-Landroid/service/trust/TrustAgentService;->mCallback:Landroid/service/trust/ITrustAgentServiceCallback;
-Landroid/service/trust/TrustAgentService;->mHandler:Landroid/os/Handler;
-Landroid/service/trust/TrustAgentService;->mLock:Ljava/lang/Object;
-Landroid/service/trust/TrustAgentService;->mManagingTrust:Z
-Landroid/service/trust/TrustAgentService;->mPendingGrantTrustTask:Ljava/lang/Runnable;
-Landroid/service/trust/TrustAgentService;->MSG_CONFIGURE:I
-Landroid/service/trust/TrustAgentService;->MSG_DEVICE_LOCKED:I
-Landroid/service/trust/TrustAgentService;->MSG_DEVICE_UNLOCKED:I
-Landroid/service/trust/TrustAgentService;->MSG_ESCROW_TOKEN_ADDED:I
-Landroid/service/trust/TrustAgentService;->MSG_ESCROW_TOKEN_REMOVED:I
-Landroid/service/trust/TrustAgentService;->MSG_ESCROW_TOKEN_STATE_RECEIVED:I
-Landroid/service/trust/TrustAgentService;->MSG_TRUST_TIMEOUT:I
-Landroid/service/trust/TrustAgentService;->MSG_UNLOCK_ATTEMPT:I
-Landroid/service/trust/TrustAgentService;->MSG_UNLOCK_LOCKOUT:I
-Landroid/service/trust/TrustAgentService;->onError(Ljava/lang/String;)V
-Landroid/service/trust/TrustAgentService;->TAG:Ljava/lang/String;
-Landroid/service/voice/AlwaysOnHotwordDetector$EventPayload;-><init>(ZZLandroid/media/AudioFormat;I[B)V
-Landroid/service/voice/AlwaysOnHotwordDetector$EventPayload;->mAudioFormat:Landroid/media/AudioFormat;
-Landroid/service/voice/AlwaysOnHotwordDetector$EventPayload;->mCaptureAvailable:Z
-Landroid/service/voice/AlwaysOnHotwordDetector$EventPayload;->mCaptureSession:I
-Landroid/service/voice/AlwaysOnHotwordDetector$EventPayload;->mData:[B
-Landroid/service/voice/AlwaysOnHotwordDetector$EventPayload;->mTriggerAvailable:Z
-Landroid/service/voice/AlwaysOnHotwordDetector$ManageActions;
-Landroid/service/voice/AlwaysOnHotwordDetector$MyHandler;
-Landroid/service/voice/AlwaysOnHotwordDetector$MyHandler;-><init>()V
-Landroid/service/voice/AlwaysOnHotwordDetector$RecognitionFlags;
-Landroid/service/voice/AlwaysOnHotwordDetector$RecognitionModes;
-Landroid/service/voice/AlwaysOnHotwordDetector$RefreshAvailabiltyTask;
-Landroid/service/voice/AlwaysOnHotwordDetector$RefreshAvailabiltyTask;-><init>()V
-Landroid/service/voice/AlwaysOnHotwordDetector$RefreshAvailabiltyTask;->doInBackground([[Ljava/lang/Void;)Ljava/lang/Void;
-Landroid/service/voice/AlwaysOnHotwordDetector$RefreshAvailabiltyTask;->internalGetInitialAvailability()I
-Landroid/service/voice/AlwaysOnHotwordDetector$RefreshAvailabiltyTask;->internalGetIsEnrolled(ILjava/util/Locale;)Z
-Landroid/service/voice/AlwaysOnHotwordDetector$SoundTriggerListener;
-Landroid/service/voice/AlwaysOnHotwordDetector$SoundTriggerListener;-><init>(Landroid/os/Handler;)V
-Landroid/service/voice/AlwaysOnHotwordDetector$SoundTriggerListener;->mHandler:Landroid/os/Handler;
-Landroid/service/voice/AlwaysOnHotwordDetector$SoundTriggerListener;->onError(I)V
-Landroid/service/voice/AlwaysOnHotwordDetector$SoundTriggerListener;->onGenericSoundTriggerDetected(Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;)V
-Landroid/service/voice/AlwaysOnHotwordDetector$SoundTriggerListener;->onKeyphraseDetected(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;)V
-Landroid/service/voice/AlwaysOnHotwordDetector$SoundTriggerListener;->onRecognitionPaused()V
-Landroid/service/voice/AlwaysOnHotwordDetector$SoundTriggerListener;->onRecognitionResumed()V
-Landroid/service/voice/AlwaysOnHotwordDetector;-><init>(Ljava/lang/String;Ljava/util/Locale;Landroid/service/voice/AlwaysOnHotwordDetector$Callback;Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;Landroid/service/voice/IVoiceInteractionService;Lcom/android/internal/app/IVoiceInteractionManagerService;)V
-Landroid/service/voice/AlwaysOnHotwordDetector;->DBG:Z
-Landroid/service/voice/AlwaysOnHotwordDetector;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-Landroid/service/voice/AlwaysOnHotwordDetector;->getManageIntentLocked(I)Landroid/content/Intent;
-Landroid/service/voice/AlwaysOnHotwordDetector;->getSupportedRecognitionModesLocked()I
-Landroid/service/voice/AlwaysOnHotwordDetector;->invalidate()V
-Landroid/service/voice/AlwaysOnHotwordDetector;->MANAGE_ACTION_ENROLL:I
-Landroid/service/voice/AlwaysOnHotwordDetector;->MANAGE_ACTION_RE_ENROLL:I
-Landroid/service/voice/AlwaysOnHotwordDetector;->MANAGE_ACTION_UN_ENROLL:I
-Landroid/service/voice/AlwaysOnHotwordDetector;->mAvailability:I
-Landroid/service/voice/AlwaysOnHotwordDetector;->mExternalCallback:Landroid/service/voice/AlwaysOnHotwordDetector$Callback;
-Landroid/service/voice/AlwaysOnHotwordDetector;->mHandler:Landroid/os/Handler;
-Landroid/service/voice/AlwaysOnHotwordDetector;->mInternalCallback:Landroid/service/voice/AlwaysOnHotwordDetector$SoundTriggerListener;
-Landroid/service/voice/AlwaysOnHotwordDetector;->mKeyphraseEnrollmentInfo:Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;
-Landroid/service/voice/AlwaysOnHotwordDetector;->mKeyphraseMetadata:Landroid/hardware/soundtrigger/KeyphraseMetadata;
-Landroid/service/voice/AlwaysOnHotwordDetector;->mLocale:Ljava/util/Locale;
-Landroid/service/voice/AlwaysOnHotwordDetector;->mLock:Ljava/lang/Object;
-Landroid/service/voice/AlwaysOnHotwordDetector;->mModelManagementService:Lcom/android/internal/app/IVoiceInteractionManagerService;
-Landroid/service/voice/AlwaysOnHotwordDetector;->MSG_AVAILABILITY_CHANGED:I
-Landroid/service/voice/AlwaysOnHotwordDetector;->MSG_DETECTION_ERROR:I
-Landroid/service/voice/AlwaysOnHotwordDetector;->MSG_DETECTION_PAUSE:I
-Landroid/service/voice/AlwaysOnHotwordDetector;->MSG_DETECTION_RESUME:I
-Landroid/service/voice/AlwaysOnHotwordDetector;->MSG_HOTWORD_DETECTED:I
-Landroid/service/voice/AlwaysOnHotwordDetector;->mText:Ljava/lang/String;
-Landroid/service/voice/AlwaysOnHotwordDetector;->mVoiceInteractionService:Landroid/service/voice/IVoiceInteractionService;
-Landroid/service/voice/AlwaysOnHotwordDetector;->notifyStateChangedLocked()V
-Landroid/service/voice/AlwaysOnHotwordDetector;->onSoundModelsChanged()V
-Landroid/service/voice/AlwaysOnHotwordDetector;->RECOGNITION_FLAG_NONE:I
-Landroid/service/voice/AlwaysOnHotwordDetector;->startRecognitionLocked(I)I
-Landroid/service/voice/AlwaysOnHotwordDetector;->STATE_INVALID:I
-Landroid/service/voice/AlwaysOnHotwordDetector;->STATE_NOT_READY:I
-Landroid/service/voice/AlwaysOnHotwordDetector;->STATUS_ERROR:I
-Landroid/service/voice/AlwaysOnHotwordDetector;->STATUS_OK:I
-Landroid/service/voice/AlwaysOnHotwordDetector;->stopRecognitionLocked()I
-Landroid/service/voice/AlwaysOnHotwordDetector;->TAG:Ljava/lang/String;
-Landroid/service/voice/IVoiceInteractionService$Stub$Proxy;
-Landroid/service/voice/IVoiceInteractionService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/voice/IVoiceInteractionService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/voice/IVoiceInteractionService$Stub$Proxy;->launchVoiceAssistFromKeyguard()V
-Landroid/service/voice/IVoiceInteractionService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/voice/IVoiceInteractionService$Stub$Proxy;->ready()V
-Landroid/service/voice/IVoiceInteractionService$Stub$Proxy;->shutdown()V
-Landroid/service/voice/IVoiceInteractionService$Stub$Proxy;->soundModelsChanged()V
-Landroid/service/voice/IVoiceInteractionService$Stub;
-Landroid/service/voice/IVoiceInteractionService$Stub;-><init>()V
-Landroid/service/voice/IVoiceInteractionService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/voice/IVoiceInteractionService;
-Landroid/service/voice/IVoiceInteractionService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/voice/IVoiceInteractionService$Stub;->TRANSACTION_launchVoiceAssistFromKeyguard:I
-Landroid/service/voice/IVoiceInteractionService$Stub;->TRANSACTION_ready:I
-Landroid/service/voice/IVoiceInteractionService$Stub;->TRANSACTION_shutdown:I
-Landroid/service/voice/IVoiceInteractionService$Stub;->TRANSACTION_soundModelsChanged:I
-Landroid/service/voice/IVoiceInteractionService;
-Landroid/service/voice/IVoiceInteractionService;->launchVoiceAssistFromKeyguard()V
-Landroid/service/voice/IVoiceInteractionService;->ready()V
-Landroid/service/voice/IVoiceInteractionService;->shutdown()V
-Landroid/service/voice/IVoiceInteractionService;->soundModelsChanged()V
-Landroid/service/voice/IVoiceInteractionSession$Stub$Proxy;
-Landroid/service/voice/IVoiceInteractionSession$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->closeSystemDialogs()V
-Landroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->destroy()V
-Landroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->handleAssist(Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;II)V
-Landroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->handleScreenshot(Landroid/graphics/Bitmap;)V
-Landroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->hide()V
-Landroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->onLockscreenShown()V
-Landroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->show(Landroid/os/Bundle;ILcom/android/internal/app/IVoiceInteractionSessionShowCallback;)V
-Landroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->taskFinished(Landroid/content/Intent;I)V
-Landroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->taskStarted(Landroid/content/Intent;I)V
-Landroid/service/voice/IVoiceInteractionSession$Stub;
-Landroid/service/voice/IVoiceInteractionSession$Stub;-><init>()V
-Landroid/service/voice/IVoiceInteractionSession$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/voice/IVoiceInteractionSession;
-Landroid/service/voice/IVoiceInteractionSession$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/voice/IVoiceInteractionSession$Stub;->TRANSACTION_closeSystemDialogs:I
-Landroid/service/voice/IVoiceInteractionSession$Stub;->TRANSACTION_destroy:I
-Landroid/service/voice/IVoiceInteractionSession$Stub;->TRANSACTION_handleAssist:I
-Landroid/service/voice/IVoiceInteractionSession$Stub;->TRANSACTION_handleScreenshot:I
-Landroid/service/voice/IVoiceInteractionSession$Stub;->TRANSACTION_hide:I
-Landroid/service/voice/IVoiceInteractionSession$Stub;->TRANSACTION_onLockscreenShown:I
-Landroid/service/voice/IVoiceInteractionSession$Stub;->TRANSACTION_show:I
-Landroid/service/voice/IVoiceInteractionSession$Stub;->TRANSACTION_taskFinished:I
-Landroid/service/voice/IVoiceInteractionSession$Stub;->TRANSACTION_taskStarted:I
-Landroid/service/voice/IVoiceInteractionSession;
-Landroid/service/voice/IVoiceInteractionSession;->closeSystemDialogs()V
-Landroid/service/voice/IVoiceInteractionSession;->destroy()V
-Landroid/service/voice/IVoiceInteractionSession;->handleAssist(Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;II)V
-Landroid/service/voice/IVoiceInteractionSession;->handleScreenshot(Landroid/graphics/Bitmap;)V
-Landroid/service/voice/IVoiceInteractionSession;->hide()V
-Landroid/service/voice/IVoiceInteractionSession;->onLockscreenShown()V
-Landroid/service/voice/IVoiceInteractionSession;->show(Landroid/os/Bundle;ILcom/android/internal/app/IVoiceInteractionSessionShowCallback;)V
-Landroid/service/voice/IVoiceInteractionSession;->taskFinished(Landroid/content/Intent;I)V
-Landroid/service/voice/IVoiceInteractionSession;->taskStarted(Landroid/content/Intent;I)V
-Landroid/service/voice/IVoiceInteractionSessionService$Stub$Proxy;
-Landroid/service/voice/IVoiceInteractionSessionService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/voice/IVoiceInteractionSessionService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/voice/IVoiceInteractionSessionService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/voice/IVoiceInteractionSessionService$Stub$Proxy;->newSession(Landroid/os/IBinder;Landroid/os/Bundle;I)V
-Landroid/service/voice/IVoiceInteractionSessionService$Stub;
-Landroid/service/voice/IVoiceInteractionSessionService$Stub;-><init>()V
-Landroid/service/voice/IVoiceInteractionSessionService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/voice/IVoiceInteractionSessionService;
-Landroid/service/voice/IVoiceInteractionSessionService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/voice/IVoiceInteractionSessionService$Stub;->TRANSACTION_newSession:I
-Landroid/service/voice/IVoiceInteractionSessionService;
-Landroid/service/voice/IVoiceInteractionSessionService;->newSession(Landroid/os/IBinder;Landroid/os/Bundle;I)V
-Landroid/service/voice/VoiceInteractionManagerInternal;
-Landroid/service/voice/VoiceInteractionManagerInternal;-><init>()V
-Landroid/service/voice/VoiceInteractionManagerInternal;->startLocalVoiceInteraction(Landroid/os/IBinder;Landroid/os/Bundle;)V
-Landroid/service/voice/VoiceInteractionManagerInternal;->stopLocalVoiceInteraction(Landroid/os/IBinder;)V
-Landroid/service/voice/VoiceInteractionManagerInternal;->supportsLocalVoiceInteraction()Z
-Landroid/service/voice/VoiceInteractionService$MyHandler;
-Landroid/service/voice/VoiceInteractionService$MyHandler;-><init>()V
-Landroid/service/voice/VoiceInteractionService;->getKeyphraseEnrollmentInfo()Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;
-Landroid/service/voice/VoiceInteractionService;->mHandler:Landroid/service/voice/VoiceInteractionService$MyHandler;
-Landroid/service/voice/VoiceInteractionService;->mHotwordDetector:Landroid/service/voice/AlwaysOnHotwordDetector;
-Landroid/service/voice/VoiceInteractionService;->mInterface:Landroid/service/voice/IVoiceInteractionService;
-Landroid/service/voice/VoiceInteractionService;->mKeyphraseEnrollmentInfo:Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;
-Landroid/service/voice/VoiceInteractionService;->mLock:Ljava/lang/Object;
-Landroid/service/voice/VoiceInteractionService;->MSG_LAUNCH_VOICE_ASSIST_FROM_KEYGUARD:I
-Landroid/service/voice/VoiceInteractionService;->MSG_READY:I
-Landroid/service/voice/VoiceInteractionService;->MSG_SHUTDOWN:I
-Landroid/service/voice/VoiceInteractionService;->MSG_SOUND_MODELS_CHANGED:I
-Landroid/service/voice/VoiceInteractionService;->mSystemService:Lcom/android/internal/app/IVoiceInteractionManagerService;
-Landroid/service/voice/VoiceInteractionService;->onShutdownInternal()V
-Landroid/service/voice/VoiceInteractionService;->onSoundModelsChangedInternal()V
-Landroid/service/voice/VoiceInteractionService;->safelyShutdownHotwordDetector()V
-Landroid/service/voice/VoiceInteractionServiceInfo;
-Landroid/service/voice/VoiceInteractionServiceInfo;-><init>(Landroid/content/pm/PackageManager;Landroid/content/ComponentName;)V
-Landroid/service/voice/VoiceInteractionServiceInfo;-><init>(Landroid/content/pm/PackageManager;Landroid/content/ComponentName;I)V
-Landroid/service/voice/VoiceInteractionServiceInfo;-><init>(Landroid/content/pm/PackageManager;Landroid/content/pm/ServiceInfo;)V
-Landroid/service/voice/VoiceInteractionServiceInfo;->getParseError()Ljava/lang/String;
-Landroid/service/voice/VoiceInteractionServiceInfo;->getRecognitionService()Ljava/lang/String;
-Landroid/service/voice/VoiceInteractionServiceInfo;->getServiceInfo()Landroid/content/pm/ServiceInfo;
-Landroid/service/voice/VoiceInteractionServiceInfo;->getServiceInfoOrThrow(Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo;
-Landroid/service/voice/VoiceInteractionServiceInfo;->getSessionService()Ljava/lang/String;
-Landroid/service/voice/VoiceInteractionServiceInfo;->getSettingsActivity()Ljava/lang/String;
-Landroid/service/voice/VoiceInteractionServiceInfo;->getSupportsAssist()Z
-Landroid/service/voice/VoiceInteractionServiceInfo;->getSupportsLaunchFromKeyguard()Z
-Landroid/service/voice/VoiceInteractionServiceInfo;->getSupportsLocalInteraction()Z
-Landroid/service/voice/VoiceInteractionServiceInfo;->mParseError:Ljava/lang/String;
-Landroid/service/voice/VoiceInteractionServiceInfo;->mRecognitionService:Ljava/lang/String;
-Landroid/service/voice/VoiceInteractionServiceInfo;->mServiceInfo:Landroid/content/pm/ServiceInfo;
-Landroid/service/voice/VoiceInteractionServiceInfo;->mSessionService:Ljava/lang/String;
-Landroid/service/voice/VoiceInteractionServiceInfo;->mSettingsActivity:Ljava/lang/String;
-Landroid/service/voice/VoiceInteractionServiceInfo;->mSupportsAssist:Z
-Landroid/service/voice/VoiceInteractionServiceInfo;->mSupportsLaunchFromKeyguard:Z
-Landroid/service/voice/VoiceInteractionServiceInfo;->mSupportsLocalInteraction:Z
-Landroid/service/voice/VoiceInteractionServiceInfo;->TAG:Ljava/lang/String;
-Landroid/service/voice/VoiceInteractionSession$AbortVoiceRequest;-><init>(Ljava/lang/String;ILcom/android/internal/app/IVoiceInteractorCallback;Landroid/service/voice/VoiceInteractionSession;Landroid/app/VoiceInteractor$Prompt;Landroid/os/Bundle;)V
-Landroid/service/voice/VoiceInteractionSession$AbortVoiceRequest;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/service/voice/VoiceInteractionSession$AbortVoiceRequest;->mPrompt:Landroid/app/VoiceInteractor$Prompt;
-Landroid/service/voice/VoiceInteractionSession$CommandRequest;-><init>(Ljava/lang/String;ILcom/android/internal/app/IVoiceInteractorCallback;Landroid/service/voice/VoiceInteractionSession;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/service/voice/VoiceInteractionSession$CommandRequest;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/service/voice/VoiceInteractionSession$CommandRequest;->mCommand:Ljava/lang/String;
-Landroid/service/voice/VoiceInteractionSession$CommandRequest;->sendCommandResult(ZLandroid/os/Bundle;)V
-Landroid/service/voice/VoiceInteractionSession$CompleteVoiceRequest;-><init>(Ljava/lang/String;ILcom/android/internal/app/IVoiceInteractorCallback;Landroid/service/voice/VoiceInteractionSession;Landroid/app/VoiceInteractor$Prompt;Landroid/os/Bundle;)V
-Landroid/service/voice/VoiceInteractionSession$CompleteVoiceRequest;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/service/voice/VoiceInteractionSession$CompleteVoiceRequest;->mPrompt:Landroid/app/VoiceInteractor$Prompt;
-Landroid/service/voice/VoiceInteractionSession$ConfirmationRequest;-><init>(Ljava/lang/String;ILcom/android/internal/app/IVoiceInteractorCallback;Landroid/service/voice/VoiceInteractionSession;Landroid/app/VoiceInteractor$Prompt;Landroid/os/Bundle;)V
-Landroid/service/voice/VoiceInteractionSession$ConfirmationRequest;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/service/voice/VoiceInteractionSession$ConfirmationRequest;->mPrompt:Landroid/app/VoiceInteractor$Prompt;
-Landroid/service/voice/VoiceInteractionSession$MyCallbacks;
-Landroid/service/voice/VoiceInteractionSession$MyCallbacks;-><init>()V
-Landroid/service/voice/VoiceInteractionSession$MyCallbacks;->executeMessage(Landroid/os/Message;)V
-Landroid/service/voice/VoiceInteractionSession$MyCallbacks;->onBackPressed()V
-Landroid/service/voice/VoiceInteractionSession$PickOptionRequest;-><init>(Ljava/lang/String;ILcom/android/internal/app/IVoiceInteractorCallback;Landroid/service/voice/VoiceInteractionSession;Landroid/app/VoiceInteractor$Prompt;[Landroid/app/VoiceInteractor$PickOptionRequest$Option;Landroid/os/Bundle;)V
-Landroid/service/voice/VoiceInteractionSession$PickOptionRequest;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/service/voice/VoiceInteractionSession$PickOptionRequest;->mOptions:[Landroid/app/VoiceInteractor$PickOptionRequest$Option;
-Landroid/service/voice/VoiceInteractionSession$PickOptionRequest;->mPrompt:Landroid/app/VoiceInteractor$Prompt;
-Landroid/service/voice/VoiceInteractionSession$PickOptionRequest;->sendPickOptionResult(Z[Landroid/app/VoiceInteractor$PickOptionRequest$Option;Landroid/os/Bundle;)V
-Landroid/service/voice/VoiceInteractionSession$Request;-><init>(Ljava/lang/String;ILcom/android/internal/app/IVoiceInteractorCallback;Landroid/service/voice/VoiceInteractionSession;Landroid/os/Bundle;)V
-Landroid/service/voice/VoiceInteractionSession$Request;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/service/voice/VoiceInteractionSession$Request;->finishRequest()V
-Landroid/service/voice/VoiceInteractionSession$Request;->mCallback:Lcom/android/internal/app/IVoiceInteractorCallback;
-Landroid/service/voice/VoiceInteractionSession$Request;->mCallingPackage:Ljava/lang/String;
-Landroid/service/voice/VoiceInteractionSession$Request;->mCallingUid:I
-Landroid/service/voice/VoiceInteractionSession$Request;->mExtras:Landroid/os/Bundle;
-Landroid/service/voice/VoiceInteractionSession$Request;->mInterface:Lcom/android/internal/app/IVoiceInteractorRequest;
-Landroid/service/voice/VoiceInteractionSession$Request;->mSession:Ljava/lang/ref/WeakReference;
-Landroid/service/voice/VoiceInteractionSession;->addRequest(Landroid/service/voice/VoiceInteractionSession$Request;)V
-Landroid/service/voice/VoiceInteractionSession;->DEBUG:Z
-Landroid/service/voice/VoiceInteractionSession;->doCreate(Lcom/android/internal/app/IVoiceInteractionManagerService;Landroid/os/IBinder;)V
-Landroid/service/voice/VoiceInteractionSession;->doDestroy()V
-Landroid/service/voice/VoiceInteractionSession;->doHide()V
-Landroid/service/voice/VoiceInteractionSession;->doOnCreate()V
-Landroid/service/voice/VoiceInteractionSession;->doOnHandleAssist(Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Ljava/lang/Throwable;Landroid/app/assist/AssistContent;)V
-Landroid/service/voice/VoiceInteractionSession;->doOnHandleAssistSecondary(Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Ljava/lang/Throwable;Landroid/app/assist/AssistContent;II)V
-Landroid/service/voice/VoiceInteractionSession;->doShow(Landroid/os/Bundle;ILcom/android/internal/app/IVoiceInteractionSessionShowCallback;)V
-Landroid/service/voice/VoiceInteractionSession;->ensureWindowAdded()V
-Landroid/service/voice/VoiceInteractionSession;->ensureWindowCreated()V
-Landroid/service/voice/VoiceInteractionSession;->ensureWindowHidden()V
-Landroid/service/voice/VoiceInteractionSession;->isRequestActive(Landroid/os/IBinder;)Z
-Landroid/service/voice/VoiceInteractionSession;->mActiveRequests:Landroid/util/ArrayMap;
-Landroid/service/voice/VoiceInteractionSession;->mCallbacks:Landroid/service/voice/VoiceInteractionSession$MyCallbacks;
-Landroid/service/voice/VoiceInteractionSession;->mContentFrame:Landroid/widget/FrameLayout;
-Landroid/service/voice/VoiceInteractionSession;->mContext:Landroid/content/Context;
-Landroid/service/voice/VoiceInteractionSession;->mDispatcherState:Landroid/view/KeyEvent$DispatcherState;
-Landroid/service/voice/VoiceInteractionSession;->mHandlerCaller:Lcom/android/internal/os/HandlerCaller;
-Landroid/service/voice/VoiceInteractionSession;->mInflater:Landroid/view/LayoutInflater;
-Landroid/service/voice/VoiceInteractionSession;->mInitialized:Z
-Landroid/service/voice/VoiceInteractionSession;->mInsetsComputer:Landroid/view/ViewTreeObserver$OnComputeInternalInsetsListener;
-Landroid/service/voice/VoiceInteractionSession;->mInShowWindow:Z
-Landroid/service/voice/VoiceInteractionSession;->mInteractor:Lcom/android/internal/app/IVoiceInteractor;
-Landroid/service/voice/VoiceInteractionSession;->mRootView:Landroid/view/View;
-Landroid/service/voice/VoiceInteractionSession;->mSession:Landroid/service/voice/IVoiceInteractionSession;
-Landroid/service/voice/VoiceInteractionSession;->MSG_CANCEL:I
-Landroid/service/voice/VoiceInteractionSession;->MSG_CLOSE_SYSTEM_DIALOGS:I
-Landroid/service/voice/VoiceInteractionSession;->MSG_DESTROY:I
-Landroid/service/voice/VoiceInteractionSession;->MSG_HANDLE_ASSIST:I
-Landroid/service/voice/VoiceInteractionSession;->MSG_HANDLE_SCREENSHOT:I
-Landroid/service/voice/VoiceInteractionSession;->MSG_HIDE:I
-Landroid/service/voice/VoiceInteractionSession;->MSG_ON_LOCKSCREEN_SHOWN:I
-Landroid/service/voice/VoiceInteractionSession;->MSG_SHOW:I
-Landroid/service/voice/VoiceInteractionSession;->MSG_START_ABORT_VOICE:I
-Landroid/service/voice/VoiceInteractionSession;->MSG_START_COMMAND:I
-Landroid/service/voice/VoiceInteractionSession;->MSG_START_COMPLETE_VOICE:I
-Landroid/service/voice/VoiceInteractionSession;->MSG_START_CONFIRMATION:I
-Landroid/service/voice/VoiceInteractionSession;->MSG_START_PICK_OPTION:I
-Landroid/service/voice/VoiceInteractionSession;->MSG_SUPPORTS_COMMANDS:I
-Landroid/service/voice/VoiceInteractionSession;->MSG_TASK_FINISHED:I
-Landroid/service/voice/VoiceInteractionSession;->MSG_TASK_STARTED:I
-Landroid/service/voice/VoiceInteractionSession;->mSystemService:Lcom/android/internal/app/IVoiceInteractionManagerService;
-Landroid/service/voice/VoiceInteractionSession;->mTheme:I
-Landroid/service/voice/VoiceInteractionSession;->mThemeAttrs:Landroid/content/res/TypedArray;
-Landroid/service/voice/VoiceInteractionSession;->mTmpInsets:Landroid/service/voice/VoiceInteractionSession$Insets;
-Landroid/service/voice/VoiceInteractionSession;->mToken:Landroid/os/IBinder;
-Landroid/service/voice/VoiceInteractionSession;->mUiEnabled:Z
-Landroid/service/voice/VoiceInteractionSession;->mWeakRef:Ljava/lang/ref/WeakReference;
-Landroid/service/voice/VoiceInteractionSession;->mWindow:Landroid/inputmethodservice/SoftInputWindow;
-Landroid/service/voice/VoiceInteractionSession;->mWindowAdded:Z
-Landroid/service/voice/VoiceInteractionSession;->mWindowVisible:Z
-Landroid/service/voice/VoiceInteractionSession;->mWindowWasVisible:Z
-Landroid/service/voice/VoiceInteractionSession;->removeRequest(Landroid/os/IBinder;)Landroid/service/voice/VoiceInteractionSession$Request;
-Landroid/service/voice/VoiceInteractionSession;->TAG:Ljava/lang/String;
-Landroid/service/voice/VoiceInteractionSessionService;->doNewSession(Landroid/os/IBinder;Landroid/os/Bundle;I)V
-Landroid/service/voice/VoiceInteractionSessionService;->mHandlerCaller:Lcom/android/internal/os/HandlerCaller;
-Landroid/service/voice/VoiceInteractionSessionService;->mHandlerCallerCallback:Lcom/android/internal/os/HandlerCaller$Callback;
-Landroid/service/voice/VoiceInteractionSessionService;->mInterface:Landroid/service/voice/IVoiceInteractionSessionService;
-Landroid/service/voice/VoiceInteractionSessionService;->mSession:Landroid/service/voice/VoiceInteractionSession;
-Landroid/service/voice/VoiceInteractionSessionService;->MSG_NEW_SESSION:I
-Landroid/service/voice/VoiceInteractionSessionService;->mSystemService:Lcom/android/internal/app/IVoiceInteractionManagerService;
-Landroid/service/vr/IPersistentVrStateCallbacks$Stub$Proxy;
-Landroid/service/vr/IPersistentVrStateCallbacks$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/vr/IPersistentVrStateCallbacks$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/vr/IPersistentVrStateCallbacks$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/vr/IPersistentVrStateCallbacks$Stub$Proxy;->onPersistentVrStateChanged(Z)V
-Landroid/service/vr/IPersistentVrStateCallbacks$Stub;
-Landroid/service/vr/IPersistentVrStateCallbacks$Stub;-><init>()V
-Landroid/service/vr/IPersistentVrStateCallbacks$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/vr/IPersistentVrStateCallbacks;
-Landroid/service/vr/IPersistentVrStateCallbacks$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/vr/IPersistentVrStateCallbacks$Stub;->TRANSACTION_onPersistentVrStateChanged:I
-Landroid/service/vr/IPersistentVrStateCallbacks;
-Landroid/service/vr/IPersistentVrStateCallbacks;->onPersistentVrStateChanged(Z)V
-Landroid/service/vr/IVrListener$Stub$Proxy;
-Landroid/service/vr/IVrListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/vr/IVrListener$Stub$Proxy;->focusedActivityChanged(Landroid/content/ComponentName;ZI)V
-Landroid/service/vr/IVrListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/vr/IVrListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/vr/IVrListener$Stub;
-Landroid/service/vr/IVrListener$Stub;-><init>()V
-Landroid/service/vr/IVrListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/vr/IVrListener;
-Landroid/service/vr/IVrListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/vr/IVrListener$Stub;->TRANSACTION_focusedActivityChanged:I
-Landroid/service/vr/IVrListener;
-Landroid/service/vr/IVrListener;->focusedActivityChanged(Landroid/content/ComponentName;ZI)V
-Landroid/service/vr/IVrManager$Stub$Proxy;
-Landroid/service/vr/IVrManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/vr/IVrManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/vr/IVrManager$Stub$Proxy;->getPersistentVrModeEnabled()Z
-Landroid/service/vr/IVrManager$Stub$Proxy;->getVr2dDisplayId()I
-Landroid/service/vr/IVrManager$Stub$Proxy;->getVrModeState()Z
-Landroid/service/vr/IVrManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/vr/IVrManager$Stub$Proxy;->registerListener(Landroid/service/vr/IVrStateCallbacks;)V
-Landroid/service/vr/IVrManager$Stub$Proxy;->registerPersistentVrStateListener(Landroid/service/vr/IPersistentVrStateCallbacks;)V
-Landroid/service/vr/IVrManager$Stub$Proxy;->setAndBindCompositor(Ljava/lang/String;)V
-Landroid/service/vr/IVrManager$Stub$Proxy;->setPersistentVrModeEnabled(Z)V
-Landroid/service/vr/IVrManager$Stub$Proxy;->setStandbyEnabled(Z)V
-Landroid/service/vr/IVrManager$Stub$Proxy;->setVr2dDisplayProperties(Landroid/app/Vr2dDisplayProperties;)V
-Landroid/service/vr/IVrManager$Stub$Proxy;->setVrInputMethod(Landroid/content/ComponentName;)V
-Landroid/service/vr/IVrManager$Stub$Proxy;->unregisterListener(Landroid/service/vr/IVrStateCallbacks;)V
-Landroid/service/vr/IVrManager$Stub$Proxy;->unregisterPersistentVrStateListener(Landroid/service/vr/IPersistentVrStateCallbacks;)V
-Landroid/service/vr/IVrManager$Stub;
-Landroid/service/vr/IVrManager$Stub;-><init>()V
-Landroid/service/vr/IVrManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/vr/IVrManager$Stub;->TRANSACTION_getPersistentVrModeEnabled:I
-Landroid/service/vr/IVrManager$Stub;->TRANSACTION_getVr2dDisplayId:I
-Landroid/service/vr/IVrManager$Stub;->TRANSACTION_getVrModeState:I
-Landroid/service/vr/IVrManager$Stub;->TRANSACTION_registerListener:I
-Landroid/service/vr/IVrManager$Stub;->TRANSACTION_registerPersistentVrStateListener:I
-Landroid/service/vr/IVrManager$Stub;->TRANSACTION_setAndBindCompositor:I
-Landroid/service/vr/IVrManager$Stub;->TRANSACTION_setPersistentVrModeEnabled:I
-Landroid/service/vr/IVrManager$Stub;->TRANSACTION_setStandbyEnabled:I
-Landroid/service/vr/IVrManager$Stub;->TRANSACTION_setVr2dDisplayProperties:I
-Landroid/service/vr/IVrManager$Stub;->TRANSACTION_setVrInputMethod:I
-Landroid/service/vr/IVrManager$Stub;->TRANSACTION_unregisterListener:I
-Landroid/service/vr/IVrManager$Stub;->TRANSACTION_unregisterPersistentVrStateListener:I
-Landroid/service/vr/IVrManager;
-Landroid/service/vr/IVrManager;->getPersistentVrModeEnabled()Z
-Landroid/service/vr/IVrManager;->registerListener(Landroid/service/vr/IVrStateCallbacks;)V
-Landroid/service/vr/IVrManager;->registerPersistentVrStateListener(Landroid/service/vr/IPersistentVrStateCallbacks;)V
-Landroid/service/vr/IVrManager;->setAndBindCompositor(Ljava/lang/String;)V
-Landroid/service/vr/IVrManager;->setPersistentVrModeEnabled(Z)V
-Landroid/service/vr/IVrManager;->setStandbyEnabled(Z)V
-Landroid/service/vr/IVrManager;->setVr2dDisplayProperties(Landroid/app/Vr2dDisplayProperties;)V
-Landroid/service/vr/IVrManager;->setVrInputMethod(Landroid/content/ComponentName;)V
-Landroid/service/vr/IVrManager;->unregisterListener(Landroid/service/vr/IVrStateCallbacks;)V
-Landroid/service/vr/IVrManager;->unregisterPersistentVrStateListener(Landroid/service/vr/IPersistentVrStateCallbacks;)V
-Landroid/service/vr/IVrStateCallbacks$Stub$Proxy;
-Landroid/service/vr/IVrStateCallbacks$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/vr/IVrStateCallbacks$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/vr/IVrStateCallbacks$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/vr/IVrStateCallbacks$Stub$Proxy;->onVrStateChanged(Z)V
-Landroid/service/vr/IVrStateCallbacks$Stub;
-Landroid/service/vr/IVrStateCallbacks$Stub;-><init>()V
-Landroid/service/vr/IVrStateCallbacks$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/vr/IVrStateCallbacks;
-Landroid/service/vr/IVrStateCallbacks$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/vr/IVrStateCallbacks$Stub;->TRANSACTION_onVrStateChanged:I
-Landroid/service/vr/IVrStateCallbacks;
-Landroid/service/vr/IVrStateCallbacks;->onVrStateChanged(Z)V
-Landroid/service/vr/VrListenerService$VrListenerHandler;
-Landroid/service/vr/VrListenerService$VrListenerHandler;-><init>(Landroid/os/Looper;)V
-Landroid/service/vr/VrListenerService;->mBinder:Landroid/service/vr/IVrListener$Stub;
-Landroid/service/vr/VrListenerService;->mHandler:Landroid/os/Handler;
-Landroid/service/vr/VrListenerService;->MSG_ON_CURRENT_VR_ACTIVITY_CHANGED:I
-Landroid/service/wallpaper/IWallpaperConnection$Stub$Proxy;
-Landroid/service/wallpaper/IWallpaperConnection$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/wallpaper/IWallpaperConnection$Stub$Proxy;->attachEngine(Landroid/service/wallpaper/IWallpaperEngine;)V
-Landroid/service/wallpaper/IWallpaperConnection$Stub$Proxy;->engineShown(Landroid/service/wallpaper/IWallpaperEngine;)V
-Landroid/service/wallpaper/IWallpaperConnection$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/wallpaper/IWallpaperConnection$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/wallpaper/IWallpaperConnection$Stub$Proxy;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;)V
-Landroid/service/wallpaper/IWallpaperConnection$Stub$Proxy;->setWallpaper(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-Landroid/service/wallpaper/IWallpaperConnection$Stub;
-Landroid/service/wallpaper/IWallpaperConnection$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/wallpaper/IWallpaperConnection;
-Landroid/service/wallpaper/IWallpaperConnection$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/wallpaper/IWallpaperConnection$Stub;->TRANSACTION_attachEngine:I
-Landroid/service/wallpaper/IWallpaperConnection$Stub;->TRANSACTION_engineShown:I
-Landroid/service/wallpaper/IWallpaperConnection$Stub;->TRANSACTION_onWallpaperColorsChanged:I
-Landroid/service/wallpaper/IWallpaperConnection$Stub;->TRANSACTION_setWallpaper:I
-Landroid/service/wallpaper/IWallpaperConnection;
-Landroid/service/wallpaper/IWallpaperConnection;->attachEngine(Landroid/service/wallpaper/IWallpaperEngine;)V
-Landroid/service/wallpaper/IWallpaperConnection;->engineShown(Landroid/service/wallpaper/IWallpaperEngine;)V
-Landroid/service/wallpaper/IWallpaperConnection;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;)V
-Landroid/service/wallpaper/IWallpaperConnection;->setWallpaper(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-Landroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;
-Landroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;->destroy()V
-Landroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;->dispatchPointer(Landroid/view/MotionEvent;)V
-Landroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;->dispatchWallpaperCommand(Ljava/lang/String;IIILandroid/os/Bundle;)V
-Landroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;->requestWallpaperColors()V
-Landroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;->setDesiredSize(II)V
-Landroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;->setDisplayPadding(Landroid/graphics/Rect;)V
-Landroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;->setInAmbientMode(ZZ)V
-Landroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;->setVisibility(Z)V
-Landroid/service/wallpaper/IWallpaperEngine$Stub;
-Landroid/service/wallpaper/IWallpaperEngine$Stub;-><init>()V
-Landroid/service/wallpaper/IWallpaperEngine$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/wallpaper/IWallpaperEngine;
-Landroid/service/wallpaper/IWallpaperEngine$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/wallpaper/IWallpaperEngine$Stub;->TRANSACTION_destroy:I
-Landroid/service/wallpaper/IWallpaperEngine$Stub;->TRANSACTION_dispatchPointer:I
-Landroid/service/wallpaper/IWallpaperEngine$Stub;->TRANSACTION_dispatchWallpaperCommand:I
-Landroid/service/wallpaper/IWallpaperEngine$Stub;->TRANSACTION_requestWallpaperColors:I
-Landroid/service/wallpaper/IWallpaperEngine$Stub;->TRANSACTION_setDesiredSize:I
-Landroid/service/wallpaper/IWallpaperEngine$Stub;->TRANSACTION_setDisplayPadding:I
-Landroid/service/wallpaper/IWallpaperEngine$Stub;->TRANSACTION_setInAmbientMode:I
-Landroid/service/wallpaper/IWallpaperEngine$Stub;->TRANSACTION_setVisibility:I
-Landroid/service/wallpaper/IWallpaperEngine;
-Landroid/service/wallpaper/IWallpaperEngine;->requestWallpaperColors()V
-Landroid/service/wallpaper/IWallpaperEngine;->setDisplayPadding(Landroid/graphics/Rect;)V
-Landroid/service/wallpaper/IWallpaperEngine;->setInAmbientMode(ZZ)V
-Landroid/service/wallpaper/IWallpaperService$Stub$Proxy;
-Landroid/service/wallpaper/IWallpaperService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/service/wallpaper/IWallpaperService$Stub$Proxy;->attach(Landroid/service/wallpaper/IWallpaperConnection;Landroid/os/IBinder;IZIILandroid/graphics/Rect;)V
-Landroid/service/wallpaper/IWallpaperService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/service/wallpaper/IWallpaperService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/service/wallpaper/IWallpaperService$Stub;
-Landroid/service/wallpaper/IWallpaperService$Stub;-><init>()V
-Landroid/service/wallpaper/IWallpaperService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/service/wallpaper/IWallpaperService$Stub;->TRANSACTION_attach:I
-Landroid/service/wallpaper/IWallpaperService;
-Landroid/service/wallpaper/IWallpaperService;->attach(Landroid/service/wallpaper/IWallpaperConnection;Landroid/os/IBinder;IZIILandroid/graphics/Rect;)V
-Landroid/service/wallpaper/WallpaperService$Engine$WallpaperInputEventReceiver;
-Landroid/service/wallpaper/WallpaperService$Engine$WallpaperInputEventReceiver;-><init>(Landroid/view/InputChannel;Landroid/os/Looper;)V
-Landroid/service/wallpaper/WallpaperService$Engine$WallpaperInputEventReceiver;->onInputEvent(Landroid/view/InputEvent;I)V
-Landroid/service/wallpaper/WallpaperService$Engine;-><init>(Ljava/util/function/Supplier;Landroid/os/Handler;)V
-Landroid/service/wallpaper/WallpaperService$Engine;->attach(Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;)V
-Landroid/service/wallpaper/WallpaperService$Engine;->detach()V
-Landroid/service/wallpaper/WallpaperService$Engine;->dispatchPointer(Landroid/view/MotionEvent;)V
-Landroid/service/wallpaper/WallpaperService$Engine;->doAmbientModeChanged(ZZ)V
-Landroid/service/wallpaper/WallpaperService$Engine;->doCommand(Landroid/service/wallpaper/WallpaperService$WallpaperCommand;)V
-Landroid/service/wallpaper/WallpaperService$Engine;->doDesiredSizeChanged(II)V
-Landroid/service/wallpaper/WallpaperService$Engine;->doDisplayPaddingChanged(Landroid/graphics/Rect;)V
-Landroid/service/wallpaper/WallpaperService$Engine;->doOffsetsChanged(Z)V
-Landroid/service/wallpaper/WallpaperService$Engine;->doVisibilityChanged(Z)V
-Landroid/service/wallpaper/WallpaperService$Engine;->isInAmbientMode()Z
-Landroid/service/wallpaper/WallpaperService$Engine;->mBackdropFrame:Landroid/graphics/Rect;
-Landroid/service/wallpaper/WallpaperService$Engine;->mCaller:Lcom/android/internal/os/HandlerCaller;
-Landroid/service/wallpaper/WallpaperService$Engine;->mClockFunction:Ljava/util/function/Supplier;
-Landroid/service/wallpaper/WallpaperService$Engine;->mConnection:Landroid/service/wallpaper/IWallpaperConnection;
-Landroid/service/wallpaper/WallpaperService$Engine;->mContentInsets:Landroid/graphics/Rect;
-Landroid/service/wallpaper/WallpaperService$Engine;->mCreated:Z
-Landroid/service/wallpaper/WallpaperService$Engine;->mCurHeight:I
-Landroid/service/wallpaper/WallpaperService$Engine;->mCurWidth:I
-Landroid/service/wallpaper/WallpaperService$Engine;->mCurWindowFlags:I
-Landroid/service/wallpaper/WallpaperService$Engine;->mCurWindowPrivateFlags:I
-Landroid/service/wallpaper/WallpaperService$Engine;->mDestroyed:Z
-Landroid/service/wallpaper/WallpaperService$Engine;->mDispatchedContentInsets:Landroid/graphics/Rect;
-Landroid/service/wallpaper/WallpaperService$Engine;->mDispatchedDisplayCutout:Landroid/view/DisplayCutout;
-Landroid/service/wallpaper/WallpaperService$Engine;->mDispatchedOutsets:Landroid/graphics/Rect;
-Landroid/service/wallpaper/WallpaperService$Engine;->mDispatchedOverscanInsets:Landroid/graphics/Rect;
-Landroid/service/wallpaper/WallpaperService$Engine;->mDispatchedStableInsets:Landroid/graphics/Rect;
-Landroid/service/wallpaper/WallpaperService$Engine;->mDisplay:Landroid/view/Display;
-Landroid/service/wallpaper/WallpaperService$Engine;->mDisplayCutout:Landroid/view/DisplayCutout$ParcelableWrapper;
-Landroid/service/wallpaper/WallpaperService$Engine;->mDisplayListener:Landroid/hardware/display/DisplayManager$DisplayListener;
-Landroid/service/wallpaper/WallpaperService$Engine;->mDisplayManager:Landroid/hardware/display/DisplayManager;
-Landroid/service/wallpaper/WallpaperService$Engine;->mDisplayState:I
-Landroid/service/wallpaper/WallpaperService$Engine;->mDrawingAllowed:Z
-Landroid/service/wallpaper/WallpaperService$Engine;->mFinalStableInsets:Landroid/graphics/Rect;
-Landroid/service/wallpaper/WallpaperService$Engine;->mFinalSystemInsets:Landroid/graphics/Rect;
-Landroid/service/wallpaper/WallpaperService$Engine;->mFixedSizeAllowed:Z
-Landroid/service/wallpaper/WallpaperService$Engine;->mFormat:I
-Landroid/service/wallpaper/WallpaperService$Engine;->mHandler:Landroid/os/Handler;
-Landroid/service/wallpaper/WallpaperService$Engine;->mHeight:I
-Landroid/service/wallpaper/WallpaperService$Engine;->mInitializing:Z
-Landroid/service/wallpaper/WallpaperService$Engine;->mInputChannel:Landroid/view/InputChannel;
-Landroid/service/wallpaper/WallpaperService$Engine;->mInputEventReceiver:Landroid/service/wallpaper/WallpaperService$Engine$WallpaperInputEventReceiver;
-Landroid/service/wallpaper/WallpaperService$Engine;->mIsCreating:Z
-Landroid/service/wallpaper/WallpaperService$Engine;->mIsInAmbientMode:Z
-Landroid/service/wallpaper/WallpaperService$Engine;->mIWallpaperEngine:Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;
-Landroid/service/wallpaper/WallpaperService$Engine;->mLastColorInvalidation:J
-Landroid/service/wallpaper/WallpaperService$Engine;->mLayout:Landroid/view/WindowManager$LayoutParams;
-Landroid/service/wallpaper/WallpaperService$Engine;->mLock:Ljava/lang/Object;
-Landroid/service/wallpaper/WallpaperService$Engine;->mMergedConfiguration:Landroid/util/MergedConfiguration;
-Landroid/service/wallpaper/WallpaperService$Engine;->mNotifyColorsChanged:Ljava/lang/Runnable;
-Landroid/service/wallpaper/WallpaperService$Engine;->mOffsetMessageEnqueued:Z
-Landroid/service/wallpaper/WallpaperService$Engine;->mOffsetsChanged:Z
-Landroid/service/wallpaper/WallpaperService$Engine;->mOutsets:Landroid/graphics/Rect;
-Landroid/service/wallpaper/WallpaperService$Engine;->mOverscanInsets:Landroid/graphics/Rect;
-Landroid/service/wallpaper/WallpaperService$Engine;->mPendingMove:Landroid/view/MotionEvent;
-Landroid/service/wallpaper/WallpaperService$Engine;->mPendingSync:Z
-Landroid/service/wallpaper/WallpaperService$Engine;->mPendingXOffsetStep:F
-Landroid/service/wallpaper/WallpaperService$Engine;->mPendingYOffset:F
-Landroid/service/wallpaper/WallpaperService$Engine;->mPendingYOffsetStep:F
-Landroid/service/wallpaper/WallpaperService$Engine;->mReportedVisible:Z
-Landroid/service/wallpaper/WallpaperService$Engine;->mSession:Landroid/view/IWindowSession;
-Landroid/service/wallpaper/WallpaperService$Engine;->mStableInsets:Landroid/graphics/Rect;
-Landroid/service/wallpaper/WallpaperService$Engine;->mSurfaceCreated:Z
-Landroid/service/wallpaper/WallpaperService$Engine;->mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
-Landroid/service/wallpaper/WallpaperService$Engine;->mType:I
-Landroid/service/wallpaper/WallpaperService$Engine;->mVisible:Z
-Landroid/service/wallpaper/WallpaperService$Engine;->mVisibleInsets:Landroid/graphics/Rect;
-Landroid/service/wallpaper/WallpaperService$Engine;->mWidth:I
-Landroid/service/wallpaper/WallpaperService$Engine;->mWindow:Lcom/android/internal/view/BaseIWindow;
-Landroid/service/wallpaper/WallpaperService$Engine;->mWindowFlags:I
-Landroid/service/wallpaper/WallpaperService$Engine;->mWindowPrivateFlags:I
-Landroid/service/wallpaper/WallpaperService$Engine;->mWindowToken:Landroid/os/IBinder;
-Landroid/service/wallpaper/WallpaperService$Engine;->mWinFrame:Landroid/graphics/Rect;
-Landroid/service/wallpaper/WallpaperService$Engine;->onAmbientModeChanged(ZZ)V
-Landroid/service/wallpaper/WallpaperService$Engine;->reportSurfaceDestroyed()V
-Landroid/service/wallpaper/WallpaperService$Engine;->reportVisibility()V
-Landroid/service/wallpaper/WallpaperService$Engine;->setCreated(Z)V
-Landroid/service/wallpaper/WallpaperService$Engine;->updateSurface(ZZZ)V
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;-><init>(Landroid/service/wallpaper/WallpaperService;Landroid/service/wallpaper/IWallpaperConnection;Landroid/os/IBinder;IZIILandroid/graphics/Rect;)V
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->destroy()V
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->dispatchPointer(Landroid/view/MotionEvent;)V
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->dispatchWallpaperCommand(Ljava/lang/String;IIILandroid/os/Bundle;)V
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->executeMessage(Landroid/os/Message;)V
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->mCaller:Lcom/android/internal/os/HandlerCaller;
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->mConnection:Landroid/service/wallpaper/IWallpaperConnection;
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->mDisplayPadding:Landroid/graphics/Rect;
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->mEngine:Landroid/service/wallpaper/WallpaperService$Engine;
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->mIsPreview:Z
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->mReqHeight:I
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->mReqWidth:I
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->mShownReported:Z
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->mWindowToken:Landroid/os/IBinder;
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->mWindowType:I
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->reportShown()V
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->requestWallpaperColors()V
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->setDesiredSize(II)V
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->setDisplayPadding(Landroid/graphics/Rect;)V
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->setInAmbientMode(ZZ)V
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->setVisibility(Z)V
-Landroid/service/wallpaper/WallpaperService$IWallpaperServiceWrapper;
-Landroid/service/wallpaper/WallpaperService$IWallpaperServiceWrapper;-><init>(Landroid/service/wallpaper/WallpaperService;)V
-Landroid/service/wallpaper/WallpaperService$IWallpaperServiceWrapper;->attach(Landroid/service/wallpaper/IWallpaperConnection;Landroid/os/IBinder;IZIILandroid/graphics/Rect;)V
-Landroid/service/wallpaper/WallpaperService$IWallpaperServiceWrapper;->mTarget:Landroid/service/wallpaper/WallpaperService;
-Landroid/service/wallpaper/WallpaperService$WallpaperCommand;
-Landroid/service/wallpaper/WallpaperService$WallpaperCommand;-><init>()V
-Landroid/service/wallpaper/WallpaperService$WallpaperCommand;->action:Ljava/lang/String;
-Landroid/service/wallpaper/WallpaperService$WallpaperCommand;->extras:Landroid/os/Bundle;
-Landroid/service/wallpaper/WallpaperService$WallpaperCommand;->sync:Z
-Landroid/service/wallpaper/WallpaperService$WallpaperCommand;->x:I
-Landroid/service/wallpaper/WallpaperService$WallpaperCommand;->y:I
-Landroid/service/wallpaper/WallpaperService$WallpaperCommand;->z:I
-Landroid/service/wallpaper/WallpaperService;->DEBUG:Z
-Landroid/service/wallpaper/WallpaperService;->DO_ATTACH:I
-Landroid/service/wallpaper/WallpaperService;->DO_DETACH:I
-Landroid/service/wallpaper/WallpaperService;->DO_IN_AMBIENT_MODE:I
-Landroid/service/wallpaper/WallpaperService;->DO_SET_DESIRED_SIZE:I
-Landroid/service/wallpaper/WallpaperService;->DO_SET_DISPLAY_PADDING:I
-Landroid/service/wallpaper/WallpaperService;->mActiveEngines:Ljava/util/ArrayList;
-Landroid/service/wallpaper/WallpaperService;->MSG_REQUEST_WALLPAPER_COLORS:I
-Landroid/service/wallpaper/WallpaperService;->MSG_TOUCH_EVENT:I
-Landroid/service/wallpaper/WallpaperService;->MSG_UPDATE_SURFACE:I
-Landroid/service/wallpaper/WallpaperService;->MSG_VISIBILITY_CHANGED:I
-Landroid/service/wallpaper/WallpaperService;->MSG_WALLPAPER_COMMAND:I
-Landroid/service/wallpaper/WallpaperService;->MSG_WALLPAPER_OFFSETS:I
-Landroid/service/wallpaper/WallpaperService;->MSG_WINDOW_MOVED:I
-Landroid/service/wallpaper/WallpaperService;->NOTIFY_COLORS_RATE_LIMIT_MS:I
-Landroid/service/wallpaper/WallpaperService;->TAG:Ljava/lang/String;
-Landroid/service/wallpaper/WallpaperSettingsActivity;
-Landroid/service/wallpaper/WallpaperSettingsActivity;-><init>()V
-Landroid/service/wallpaper/WallpaperSettingsActivity;->EXTRA_PREVIEW_MODE:Ljava/lang/String;
-Landroid/speech/IRecognitionListener$Stub$Proxy;
-Landroid/speech/IRecognitionListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/speech/IRecognitionListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/speech/IRecognitionListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/speech/IRecognitionListener$Stub$Proxy;->onBeginningOfSpeech()V
-Landroid/speech/IRecognitionListener$Stub$Proxy;->onBufferReceived([B)V
-Landroid/speech/IRecognitionListener$Stub$Proxy;->onEndOfSpeech()V
-Landroid/speech/IRecognitionListener$Stub$Proxy;->onError(I)V
-Landroid/speech/IRecognitionListener$Stub$Proxy;->onEvent(ILandroid/os/Bundle;)V
-Landroid/speech/IRecognitionListener$Stub$Proxy;->onPartialResults(Landroid/os/Bundle;)V
-Landroid/speech/IRecognitionListener$Stub$Proxy;->onReadyForSpeech(Landroid/os/Bundle;)V
-Landroid/speech/IRecognitionListener$Stub$Proxy;->onResults(Landroid/os/Bundle;)V
-Landroid/speech/IRecognitionListener$Stub$Proxy;->onRmsChanged(F)V
-Landroid/speech/IRecognitionListener$Stub;
-Landroid/speech/IRecognitionListener$Stub;-><init>()V
-Landroid/speech/IRecognitionListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/speech/IRecognitionListener;
-Landroid/speech/IRecognitionListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/speech/IRecognitionListener$Stub;->TRANSACTION_onBeginningOfSpeech:I
-Landroid/speech/IRecognitionListener$Stub;->TRANSACTION_onBufferReceived:I
-Landroid/speech/IRecognitionListener$Stub;->TRANSACTION_onEndOfSpeech:I
-Landroid/speech/IRecognitionListener$Stub;->TRANSACTION_onError:I
-Landroid/speech/IRecognitionListener$Stub;->TRANSACTION_onEvent:I
-Landroid/speech/IRecognitionListener$Stub;->TRANSACTION_onPartialResults:I
-Landroid/speech/IRecognitionListener$Stub;->TRANSACTION_onReadyForSpeech:I
-Landroid/speech/IRecognitionListener$Stub;->TRANSACTION_onResults:I
-Landroid/speech/IRecognitionListener$Stub;->TRANSACTION_onRmsChanged:I
-Landroid/speech/IRecognitionListener;
-Landroid/speech/IRecognitionListener;->onBeginningOfSpeech()V
-Landroid/speech/IRecognitionListener;->onBufferReceived([B)V
-Landroid/speech/IRecognitionListener;->onEndOfSpeech()V
-Landroid/speech/IRecognitionListener;->onError(I)V
-Landroid/speech/IRecognitionListener;->onPartialResults(Landroid/os/Bundle;)V
-Landroid/speech/IRecognitionListener;->onReadyForSpeech(Landroid/os/Bundle;)V
-Landroid/speech/IRecognitionListener;->onResults(Landroid/os/Bundle;)V
-Landroid/speech/IRecognitionListener;->onRmsChanged(F)V
-Landroid/speech/IRecognitionService$Stub$Proxy;
-Landroid/speech/IRecognitionService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/speech/IRecognitionService$Stub$Proxy;->cancel(Landroid/speech/IRecognitionListener;)V
-Landroid/speech/IRecognitionService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/speech/IRecognitionService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/speech/IRecognitionService$Stub$Proxy;->startListening(Landroid/content/Intent;Landroid/speech/IRecognitionListener;)V
-Landroid/speech/IRecognitionService$Stub$Proxy;->stopListening(Landroid/speech/IRecognitionListener;)V
-Landroid/speech/IRecognitionService$Stub;
-Landroid/speech/IRecognitionService$Stub;-><init>()V
-Landroid/speech/IRecognitionService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/speech/IRecognitionService;
-Landroid/speech/IRecognitionService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/speech/IRecognitionService$Stub;->TRANSACTION_cancel:I
-Landroid/speech/IRecognitionService$Stub;->TRANSACTION_startListening:I
-Landroid/speech/IRecognitionService$Stub;->TRANSACTION_stopListening:I
-Landroid/speech/IRecognitionService;
-Landroid/speech/IRecognitionService;->cancel(Landroid/speech/IRecognitionListener;)V
-Landroid/speech/IRecognitionService;->startListening(Landroid/content/Intent;Landroid/speech/IRecognitionListener;)V
-Landroid/speech/IRecognitionService;->stopListening(Landroid/speech/IRecognitionListener;)V
-Landroid/speech/RecognitionService$Callback;-><init>(Landroid/speech/IRecognitionListener;I)V
-Landroid/speech/RecognitionService$Callback;->mCallingUid:I
-Landroid/speech/RecognitionService$Callback;->mListener:Landroid/speech/IRecognitionListener;
-Landroid/speech/RecognitionService$RecognitionServiceBinder;
-Landroid/speech/RecognitionService$RecognitionServiceBinder;-><init>(Landroid/speech/RecognitionService;)V
-Landroid/speech/RecognitionService$RecognitionServiceBinder;->cancel(Landroid/speech/IRecognitionListener;)V
-Landroid/speech/RecognitionService$RecognitionServiceBinder;->clearReference()V
-Landroid/speech/RecognitionService$RecognitionServiceBinder;->mServiceRef:Ljava/lang/ref/WeakReference;
-Landroid/speech/RecognitionService$RecognitionServiceBinder;->startListening(Landroid/content/Intent;Landroid/speech/IRecognitionListener;)V
-Landroid/speech/RecognitionService$RecognitionServiceBinder;->stopListening(Landroid/speech/IRecognitionListener;)V
-Landroid/speech/RecognitionService$StartListeningArgs;
-Landroid/speech/RecognitionService$StartListeningArgs;-><init>(Landroid/content/Intent;Landroid/speech/IRecognitionListener;I)V
-Landroid/speech/RecognitionService$StartListeningArgs;->mCallingUid:I
-Landroid/speech/RecognitionService$StartListeningArgs;->mIntent:Landroid/content/Intent;
-Landroid/speech/RecognitionService$StartListeningArgs;->mListener:Landroid/speech/IRecognitionListener;
-Landroid/speech/RecognitionService;->checkPermissions(Landroid/speech/IRecognitionListener;)Z
-Landroid/speech/RecognitionService;->DBG:Z
-Landroid/speech/RecognitionService;->dispatchCancel(Landroid/speech/IRecognitionListener;)V
-Landroid/speech/RecognitionService;->dispatchClearCallback()V
-Landroid/speech/RecognitionService;->dispatchStartListening(Landroid/content/Intent;Landroid/speech/IRecognitionListener;I)V
-Landroid/speech/RecognitionService;->dispatchStopListening(Landroid/speech/IRecognitionListener;)V
-Landroid/speech/RecognitionService;->mBinder:Landroid/speech/RecognitionService$RecognitionServiceBinder;
-Landroid/speech/RecognitionService;->mCurrentCallback:Landroid/speech/RecognitionService$Callback;
-Landroid/speech/RecognitionService;->mHandler:Landroid/os/Handler;
-Landroid/speech/RecognitionService;->MSG_CANCEL:I
-Landroid/speech/RecognitionService;->MSG_RESET:I
-Landroid/speech/RecognitionService;->MSG_START_LISTENING:I
-Landroid/speech/RecognitionService;->MSG_STOP_LISTENING:I
-Landroid/speech/RecognitionService;->TAG:Ljava/lang/String;
-Landroid/speech/RecognizerIntent;-><init>()V
-Landroid/speech/RecognizerResultsIntent;-><init>()V
-Landroid/speech/SpeechRecognizer$Connection;
-Landroid/speech/SpeechRecognizer$Connection;-><init>()V
-Landroid/speech/SpeechRecognizer$InternalListener;
-Landroid/speech/SpeechRecognizer$InternalListener;-><init>()V
-Landroid/speech/SpeechRecognizer$InternalListener;->mInternalHandler:Landroid/os/Handler;
-Landroid/speech/SpeechRecognizer$InternalListener;->mInternalListener:Landroid/speech/RecognitionListener;
-Landroid/speech/SpeechRecognizer$InternalListener;->MSG_BEGINNING_OF_SPEECH:I
-Landroid/speech/SpeechRecognizer$InternalListener;->MSG_BUFFER_RECEIVED:I
-Landroid/speech/SpeechRecognizer$InternalListener;->MSG_END_OF_SPEECH:I
-Landroid/speech/SpeechRecognizer$InternalListener;->MSG_ERROR:I
-Landroid/speech/SpeechRecognizer$InternalListener;->MSG_ON_EVENT:I
-Landroid/speech/SpeechRecognizer$InternalListener;->MSG_PARTIAL_RESULTS:I
-Landroid/speech/SpeechRecognizer$InternalListener;->MSG_READY_FOR_SPEECH:I
-Landroid/speech/SpeechRecognizer$InternalListener;->MSG_RESULTS:I
-Landroid/speech/SpeechRecognizer$InternalListener;->MSG_RMS_CHANGED:I
-Landroid/speech/SpeechRecognizer$InternalListener;->onBeginningOfSpeech()V
-Landroid/speech/SpeechRecognizer$InternalListener;->onBufferReceived([B)V
-Landroid/speech/SpeechRecognizer$InternalListener;->onEndOfSpeech()V
-Landroid/speech/SpeechRecognizer$InternalListener;->onError(I)V
-Landroid/speech/SpeechRecognizer$InternalListener;->onEvent(ILandroid/os/Bundle;)V
-Landroid/speech/SpeechRecognizer$InternalListener;->onPartialResults(Landroid/os/Bundle;)V
-Landroid/speech/SpeechRecognizer$InternalListener;->onReadyForSpeech(Landroid/os/Bundle;)V
-Landroid/speech/SpeechRecognizer$InternalListener;->onResults(Landroid/os/Bundle;)V
-Landroid/speech/SpeechRecognizer$InternalListener;->onRmsChanged(F)V
-Landroid/speech/SpeechRecognizer;-><init>(Landroid/content/Context;Landroid/content/ComponentName;)V
-Landroid/speech/SpeechRecognizer;->checkIsCalledFromMainThread()V
-Landroid/speech/SpeechRecognizer;->checkOpenConnection()Z
-Landroid/speech/SpeechRecognizer;->DBG:Z
-Landroid/speech/SpeechRecognizer;->handleCancelMessage()V
-Landroid/speech/SpeechRecognizer;->handleChangeListener(Landroid/speech/RecognitionListener;)V
-Landroid/speech/SpeechRecognizer;->handleStartListening(Landroid/content/Intent;)V
-Landroid/speech/SpeechRecognizer;->handleStopMessage()V
-Landroid/speech/SpeechRecognizer;->mConnection:Landroid/speech/SpeechRecognizer$Connection;
-Landroid/speech/SpeechRecognizer;->mContext:Landroid/content/Context;
-Landroid/speech/SpeechRecognizer;->mHandler:Landroid/os/Handler;
-Landroid/speech/SpeechRecognizer;->mListener:Landroid/speech/SpeechRecognizer$InternalListener;
-Landroid/speech/SpeechRecognizer;->mPendingTasks:Ljava/util/Queue;
-Landroid/speech/SpeechRecognizer;->mService:Landroid/speech/IRecognitionService;
-Landroid/speech/SpeechRecognizer;->mServiceComponent:Landroid/content/ComponentName;
-Landroid/speech/SpeechRecognizer;->MSG_CANCEL:I
-Landroid/speech/SpeechRecognizer;->MSG_CHANGE_LISTENER:I
-Landroid/speech/SpeechRecognizer;->MSG_START:I
-Landroid/speech/SpeechRecognizer;->MSG_STOP:I
-Landroid/speech/SpeechRecognizer;->putMessage(Landroid/os/Message;)V
-Landroid/speech/SpeechRecognizer;->TAG:Ljava/lang/String;
-Landroid/speech/tts/AbstractEventLogger;
-Landroid/speech/tts/AbstractEventLogger;-><init>(IILjava/lang/String;)V
-Landroid/speech/tts/AbstractEventLogger;->logFailure(I)V
-Landroid/speech/tts/AbstractEventLogger;->logSuccess(JJJ)V
-Landroid/speech/tts/AbstractEventLogger;->mCallerPid:I
-Landroid/speech/tts/AbstractEventLogger;->mCallerUid:I
-Landroid/speech/tts/AbstractEventLogger;->mEngineCompleteTime:J
-Landroid/speech/tts/AbstractEventLogger;->mEngineStartTime:J
-Landroid/speech/tts/AbstractEventLogger;->mLogWritten:Z
-Landroid/speech/tts/AbstractEventLogger;->mPlaybackStartTime:J
-Landroid/speech/tts/AbstractEventLogger;->mReceivedTime:J
-Landroid/speech/tts/AbstractEventLogger;->mRequestProcessingStartTime:J
-Landroid/speech/tts/AbstractEventLogger;->mServiceApp:Ljava/lang/String;
-Landroid/speech/tts/AbstractEventLogger;->onAudioDataWritten()V
-Landroid/speech/tts/AbstractEventLogger;->onCompleted(I)V
-Landroid/speech/tts/AbstractEventLogger;->onEngineComplete()V
-Landroid/speech/tts/AbstractEventLogger;->onEngineDataReceived()V
-Landroid/speech/tts/AbstractEventLogger;->onRequestProcessingStart()V
-Landroid/speech/tts/AbstractSynthesisCallback;
-Landroid/speech/tts/AbstractSynthesisCallback;-><init>(Z)V
-Landroid/speech/tts/AbstractSynthesisCallback;->errorCodeOnStop()I
-Landroid/speech/tts/AbstractSynthesisCallback;->mClientIsUsingV2:Z
-Landroid/speech/tts/AbstractSynthesisCallback;->stop()V
-Landroid/speech/tts/AudioPlaybackHandler$MessageLoop;
-Landroid/speech/tts/AudioPlaybackHandler$MessageLoop;-><init>()V
-Landroid/speech/tts/AudioPlaybackHandler;
-Landroid/speech/tts/AudioPlaybackHandler;-><init>()V
-Landroid/speech/tts/AudioPlaybackHandler;->DBG:Z
-Landroid/speech/tts/AudioPlaybackHandler;->enqueue(Landroid/speech/tts/PlaybackQueueItem;)V
-Landroid/speech/tts/AudioPlaybackHandler;->isSpeaking()Z
-Landroid/speech/tts/AudioPlaybackHandler;->mCurrentWorkItem:Landroid/speech/tts/PlaybackQueueItem;
-Landroid/speech/tts/AudioPlaybackHandler;->mHandlerThread:Ljava/lang/Thread;
-Landroid/speech/tts/AudioPlaybackHandler;->mQueue:Ljava/util/concurrent/LinkedBlockingQueue;
-Landroid/speech/tts/AudioPlaybackHandler;->quit()V
-Landroid/speech/tts/AudioPlaybackHandler;->removeAllMessages()V
-Landroid/speech/tts/AudioPlaybackHandler;->removeWorkItemsFor(Ljava/lang/Object;)V
-Landroid/speech/tts/AudioPlaybackHandler;->start()V
-Landroid/speech/tts/AudioPlaybackHandler;->stop()V
-Landroid/speech/tts/AudioPlaybackHandler;->stop(Landroid/speech/tts/PlaybackQueueItem;)V
-Landroid/speech/tts/AudioPlaybackHandler;->stopForApp(Ljava/lang/Object;)V
-Landroid/speech/tts/AudioPlaybackHandler;->TAG:Ljava/lang/String;
-Landroid/speech/tts/AudioPlaybackQueueItem;
-Landroid/speech/tts/AudioPlaybackQueueItem;-><init>(Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;Ljava/lang/Object;Landroid/content/Context;Landroid/net/Uri;Landroid/speech/tts/TextToSpeechService$AudioOutputParams;)V
-Landroid/speech/tts/AudioPlaybackQueueItem;->clip(FFF)F
-Landroid/speech/tts/AudioPlaybackQueueItem;->finish()V
-Landroid/speech/tts/AudioPlaybackQueueItem;->mAudioParams:Landroid/speech/tts/TextToSpeechService$AudioOutputParams;
-Landroid/speech/tts/AudioPlaybackQueueItem;->mContext:Landroid/content/Context;
-Landroid/speech/tts/AudioPlaybackQueueItem;->mDone:Landroid/os/ConditionVariable;
-Landroid/speech/tts/AudioPlaybackQueueItem;->mFinished:Z
-Landroid/speech/tts/AudioPlaybackQueueItem;->mPlayer:Landroid/media/MediaPlayer;
-Landroid/speech/tts/AudioPlaybackQueueItem;->mUri:Landroid/net/Uri;
-Landroid/speech/tts/AudioPlaybackQueueItem;->setupVolume(Landroid/media/MediaPlayer;FF)V
-Landroid/speech/tts/AudioPlaybackQueueItem;->stop(I)V
-Landroid/speech/tts/AudioPlaybackQueueItem;->TAG:Ljava/lang/String;
-Landroid/speech/tts/EventLogger;
-Landroid/speech/tts/EventLogger;-><init>(Landroid/speech/tts/SynthesisRequest;IILjava/lang/String;)V
-Landroid/speech/tts/EventLogger;->getLocaleString()Ljava/lang/String;
-Landroid/speech/tts/EventLogger;->getUtteranceLength()I
-Landroid/speech/tts/EventLogger;->logFailure(I)V
-Landroid/speech/tts/EventLogger;->logSuccess(JJJ)V
-Landroid/speech/tts/EventLogger;->mRequest:Landroid/speech/tts/SynthesisRequest;
-Landroid/speech/tts/EventLogTags;
-Landroid/speech/tts/EventLogTags;-><init>()V
-Landroid/speech/tts/EventLogTags;->TTS_SPEAK_FAILURE:I
-Landroid/speech/tts/EventLogTags;->TTS_SPEAK_SUCCESS:I
-Landroid/speech/tts/EventLogTags;->TTS_V2_SPEAK_FAILURE:I
-Landroid/speech/tts/EventLogTags;->TTS_V2_SPEAK_SUCCESS:I
-Landroid/speech/tts/EventLogTags;->writeTtsSpeakFailure(Ljava/lang/String;IIILjava/lang/String;II)V
-Landroid/speech/tts/EventLogTags;->writeTtsSpeakSuccess(Ljava/lang/String;IIILjava/lang/String;IIJJJ)V
-Landroid/speech/tts/EventLogTags;->writeTtsV2SpeakFailure(Ljava/lang/String;IIILjava/lang/String;I)V
-Landroid/speech/tts/EventLogTags;->writeTtsV2SpeakSuccess(Ljava/lang/String;IIILjava/lang/String;JJJ)V
-Landroid/speech/tts/ITextToSpeechCallback$Stub$Proxy;
-Landroid/speech/tts/ITextToSpeechCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/speech/tts/ITextToSpeechCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/speech/tts/ITextToSpeechCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/speech/tts/ITextToSpeechCallback$Stub$Proxy;->onAudioAvailable(Ljava/lang/String;[B)V
-Landroid/speech/tts/ITextToSpeechCallback$Stub$Proxy;->onBeginSynthesis(Ljava/lang/String;III)V
-Landroid/speech/tts/ITextToSpeechCallback$Stub$Proxy;->onError(Ljava/lang/String;I)V
-Landroid/speech/tts/ITextToSpeechCallback$Stub$Proxy;->onRangeStart(Ljava/lang/String;III)V
-Landroid/speech/tts/ITextToSpeechCallback$Stub$Proxy;->onStart(Ljava/lang/String;)V
-Landroid/speech/tts/ITextToSpeechCallback$Stub$Proxy;->onStop(Ljava/lang/String;Z)V
-Landroid/speech/tts/ITextToSpeechCallback$Stub$Proxy;->onSuccess(Ljava/lang/String;)V
-Landroid/speech/tts/ITextToSpeechCallback$Stub;
-Landroid/speech/tts/ITextToSpeechCallback$Stub;-><init>()V
-Landroid/speech/tts/ITextToSpeechCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/speech/tts/ITextToSpeechCallback;
-Landroid/speech/tts/ITextToSpeechCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/speech/tts/ITextToSpeechCallback$Stub;->TRANSACTION_onAudioAvailable:I
-Landroid/speech/tts/ITextToSpeechCallback$Stub;->TRANSACTION_onBeginSynthesis:I
-Landroid/speech/tts/ITextToSpeechCallback$Stub;->TRANSACTION_onError:I
-Landroid/speech/tts/ITextToSpeechCallback$Stub;->TRANSACTION_onRangeStart:I
-Landroid/speech/tts/ITextToSpeechCallback$Stub;->TRANSACTION_onStart:I
-Landroid/speech/tts/ITextToSpeechCallback$Stub;->TRANSACTION_onStop:I
-Landroid/speech/tts/ITextToSpeechCallback$Stub;->TRANSACTION_onSuccess:I
-Landroid/speech/tts/ITextToSpeechCallback;
-Landroid/speech/tts/ITextToSpeechCallback;->onAudioAvailable(Ljava/lang/String;[B)V
-Landroid/speech/tts/ITextToSpeechCallback;->onBeginSynthesis(Ljava/lang/String;III)V
-Landroid/speech/tts/ITextToSpeechCallback;->onError(Ljava/lang/String;I)V
-Landroid/speech/tts/ITextToSpeechCallback;->onRangeStart(Ljava/lang/String;III)V
-Landroid/speech/tts/ITextToSpeechCallback;->onStart(Ljava/lang/String;)V
-Landroid/speech/tts/ITextToSpeechCallback;->onStop(Ljava/lang/String;Z)V
-Landroid/speech/tts/ITextToSpeechCallback;->onSuccess(Ljava/lang/String;)V
-Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;
-Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;->getClientDefaultLanguage()[Ljava/lang/String;
-Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;->getDefaultVoiceNameFor(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;->getFeaturesForLanguage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;->getLanguage()[Ljava/lang/String;
-Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;->getVoices()Ljava/util/List;
-Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;->isLanguageAvailable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;->isSpeaking()Z
-Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;->loadLanguage(Landroid/os/IBinder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;->loadVoice(Landroid/os/IBinder;Ljava/lang/String;)I
-Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;->playAudio(Landroid/os/IBinder;Landroid/net/Uri;ILandroid/os/Bundle;Ljava/lang/String;)I
-Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;->playSilence(Landroid/os/IBinder;JILjava/lang/String;)I
-Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;->setCallback(Landroid/os/IBinder;Landroid/speech/tts/ITextToSpeechCallback;)V
-Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;->speak(Landroid/os/IBinder;Ljava/lang/CharSequence;ILandroid/os/Bundle;Ljava/lang/String;)I
-Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;->stop(Landroid/os/IBinder;)I
-Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;->synthesizeToFileDescriptor(Landroid/os/IBinder;Ljava/lang/CharSequence;Landroid/os/ParcelFileDescriptor;Landroid/os/Bundle;Ljava/lang/String;)I
-Landroid/speech/tts/ITextToSpeechService$Stub;
-Landroid/speech/tts/ITextToSpeechService$Stub;-><init>()V
-Landroid/speech/tts/ITextToSpeechService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/speech/tts/ITextToSpeechService;
-Landroid/speech/tts/ITextToSpeechService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/speech/tts/ITextToSpeechService$Stub;->TRANSACTION_getClientDefaultLanguage:I
-Landroid/speech/tts/ITextToSpeechService$Stub;->TRANSACTION_getDefaultVoiceNameFor:I
-Landroid/speech/tts/ITextToSpeechService$Stub;->TRANSACTION_getFeaturesForLanguage:I
-Landroid/speech/tts/ITextToSpeechService$Stub;->TRANSACTION_getLanguage:I
-Landroid/speech/tts/ITextToSpeechService$Stub;->TRANSACTION_getVoices:I
-Landroid/speech/tts/ITextToSpeechService$Stub;->TRANSACTION_isLanguageAvailable:I
-Landroid/speech/tts/ITextToSpeechService$Stub;->TRANSACTION_isSpeaking:I
-Landroid/speech/tts/ITextToSpeechService$Stub;->TRANSACTION_loadLanguage:I
-Landroid/speech/tts/ITextToSpeechService$Stub;->TRANSACTION_loadVoice:I
-Landroid/speech/tts/ITextToSpeechService$Stub;->TRANSACTION_playAudio:I
-Landroid/speech/tts/ITextToSpeechService$Stub;->TRANSACTION_playSilence:I
-Landroid/speech/tts/ITextToSpeechService$Stub;->TRANSACTION_setCallback:I
-Landroid/speech/tts/ITextToSpeechService$Stub;->TRANSACTION_speak:I
-Landroid/speech/tts/ITextToSpeechService$Stub;->TRANSACTION_stop:I
-Landroid/speech/tts/ITextToSpeechService$Stub;->TRANSACTION_synthesizeToFileDescriptor:I
-Landroid/speech/tts/ITextToSpeechService;
-Landroid/speech/tts/ITextToSpeechService;->getClientDefaultLanguage()[Ljava/lang/String;
-Landroid/speech/tts/ITextToSpeechService;->getDefaultVoiceNameFor(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/speech/tts/ITextToSpeechService;->getFeaturesForLanguage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-Landroid/speech/tts/ITextToSpeechService;->getLanguage()[Ljava/lang/String;
-Landroid/speech/tts/ITextToSpeechService;->getVoices()Ljava/util/List;
-Landroid/speech/tts/ITextToSpeechService;->isLanguageAvailable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-Landroid/speech/tts/ITextToSpeechService;->isSpeaking()Z
-Landroid/speech/tts/ITextToSpeechService;->loadLanguage(Landroid/os/IBinder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-Landroid/speech/tts/ITextToSpeechService;->loadVoice(Landroid/os/IBinder;Ljava/lang/String;)I
-Landroid/speech/tts/ITextToSpeechService;->playAudio(Landroid/os/IBinder;Landroid/net/Uri;ILandroid/os/Bundle;Ljava/lang/String;)I
-Landroid/speech/tts/ITextToSpeechService;->playSilence(Landroid/os/IBinder;JILjava/lang/String;)I
-Landroid/speech/tts/ITextToSpeechService;->setCallback(Landroid/os/IBinder;Landroid/speech/tts/ITextToSpeechCallback;)V
-Landroid/speech/tts/ITextToSpeechService;->speak(Landroid/os/IBinder;Ljava/lang/CharSequence;ILandroid/os/Bundle;Ljava/lang/String;)I
-Landroid/speech/tts/ITextToSpeechService;->stop(Landroid/os/IBinder;)I
-Landroid/speech/tts/ITextToSpeechService;->synthesizeToFileDescriptor(Landroid/os/IBinder;Ljava/lang/CharSequence;Landroid/os/ParcelFileDescriptor;Landroid/os/Bundle;Ljava/lang/String;)I
-Landroid/speech/tts/PlaybackQueueItem;
-Landroid/speech/tts/PlaybackQueueItem;-><init>(Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;Ljava/lang/Object;)V
-Landroid/speech/tts/PlaybackQueueItem;->getCallerIdentity()Ljava/lang/Object;
-Landroid/speech/tts/PlaybackQueueItem;->getDispatcher()Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;
-Landroid/speech/tts/PlaybackQueueItem;->mCallerIdentity:Ljava/lang/Object;
-Landroid/speech/tts/PlaybackQueueItem;->mDispatcher:Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;
-Landroid/speech/tts/PlaybackQueueItem;->stop(I)V
-Landroid/speech/tts/SynthesisCallback$SupportedAudioFormat;
-Landroid/speech/tts/SynthesisRequest;->mCallerUid:I
-Landroid/speech/tts/SynthesisRequest;->mCountry:Ljava/lang/String;
-Landroid/speech/tts/SynthesisRequest;->mLanguage:Ljava/lang/String;
-Landroid/speech/tts/SynthesisRequest;->mParams:Landroid/os/Bundle;
-Landroid/speech/tts/SynthesisRequest;->mPitch:I
-Landroid/speech/tts/SynthesisRequest;->mSpeechRate:I
-Landroid/speech/tts/SynthesisRequest;->mText:Ljava/lang/CharSequence;
-Landroid/speech/tts/SynthesisRequest;->mVariant:Ljava/lang/String;
-Landroid/speech/tts/SynthesisRequest;->mVoiceName:Ljava/lang/String;
-Landroid/speech/tts/SynthesisRequest;->setCallerUid(I)V
-Landroid/speech/tts/SynthesisRequest;->setLanguage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/speech/tts/SynthesisRequest;->setPitch(I)V
-Landroid/speech/tts/SynthesisRequest;->setSpeechRate(I)V
-Landroid/speech/tts/SynthesisRequest;->setVoiceName(Ljava/lang/String;)V
-Landroid/speech/tts/TextToSpeech$Action;
-Landroid/speech/tts/TextToSpeech$Action;->run(Landroid/speech/tts/ITextToSpeechService;)Ljava/lang/Object;
-Landroid/speech/tts/TextToSpeech$Connection$SetupConnectionAsyncTask;
-Landroid/speech/tts/TextToSpeech$Connection$SetupConnectionAsyncTask;-><init>(Landroid/content/ComponentName;)V
-Landroid/speech/tts/TextToSpeech$Connection$SetupConnectionAsyncTask;->doInBackground([[Ljava/lang/Void;)Ljava/lang/Integer;
-Landroid/speech/tts/TextToSpeech$Connection$SetupConnectionAsyncTask;->mName:Landroid/content/ComponentName;
-Landroid/speech/tts/TextToSpeech$Connection$SetupConnectionAsyncTask;->onPostExecute(Ljava/lang/Integer;)V
-Landroid/speech/tts/TextToSpeech$Connection;
-Landroid/speech/tts/TextToSpeech$Connection;-><init>()V
-Landroid/speech/tts/TextToSpeech$Connection;->clearServiceConnection()Z
-Landroid/speech/tts/TextToSpeech$Connection;->disconnect()V
-Landroid/speech/tts/TextToSpeech$Connection;->getCallerIdentity()Landroid/os/IBinder;
-Landroid/speech/tts/TextToSpeech$Connection;->isEstablished()Z
-Landroid/speech/tts/TextToSpeech$Connection;->mCallback:Landroid/speech/tts/ITextToSpeechCallback$Stub;
-Landroid/speech/tts/TextToSpeech$Connection;->mEstablished:Z
-Landroid/speech/tts/TextToSpeech$Connection;->mOnSetupConnectionAsyncTask:Landroid/speech/tts/TextToSpeech$Connection$SetupConnectionAsyncTask;
-Landroid/speech/tts/TextToSpeech$Connection;->mService:Landroid/speech/tts/ITextToSpeechService;
-Landroid/speech/tts/TextToSpeech$Connection;->runAction(Landroid/speech/tts/TextToSpeech$Action;Ljava/lang/Object;Ljava/lang/String;ZZ)Ljava/lang/Object;
-Landroid/speech/tts/TextToSpeech$Engine;->DEFAULT_ENGINE:Ljava/lang/String;
-Landroid/speech/tts/TextToSpeech$Engine;->DEFAULT_PAN:F
-Landroid/speech/tts/TextToSpeech$Engine;->DEFAULT_PITCH:I
-Landroid/speech/tts/TextToSpeech$Engine;->DEFAULT_RATE:I
-Landroid/speech/tts/TextToSpeech$Engine;->DEFAULT_VOLUME:F
-Landroid/speech/tts/TextToSpeech$Engine;->KEY_PARAM_AUDIO_ATTRIBUTES:Ljava/lang/String;
-Landroid/speech/tts/TextToSpeech$Engine;->KEY_PARAM_COUNTRY:Ljava/lang/String;
-Landroid/speech/tts/TextToSpeech$Engine;->KEY_PARAM_ENGINE:Ljava/lang/String;
-Landroid/speech/tts/TextToSpeech$Engine;->KEY_PARAM_LANGUAGE:Ljava/lang/String;
-Landroid/speech/tts/TextToSpeech$Engine;->KEY_PARAM_PITCH:Ljava/lang/String;
-Landroid/speech/tts/TextToSpeech$Engine;->KEY_PARAM_RATE:Ljava/lang/String;
-Landroid/speech/tts/TextToSpeech$Engine;->KEY_PARAM_VARIANT:Ljava/lang/String;
-Landroid/speech/tts/TextToSpeech$Engine;->KEY_PARAM_VOICE_NAME:Ljava/lang/String;
-Landroid/speech/tts/TextToSpeech$Engine;->USE_DEFAULTS:I
-Landroid/speech/tts/TextToSpeech$EngineInfo;->priority:I
-Landroid/speech/tts/TextToSpeech$EngineInfo;->system:Z
-Landroid/speech/tts/TextToSpeech$Error;
-Landroid/speech/tts/TextToSpeech;-><init>(Landroid/content/Context;Landroid/speech/tts/TextToSpeech$OnInitListener;Ljava/lang/String;Ljava/lang/String;Z)V
-Landroid/speech/tts/TextToSpeech;->connectToEngine(Ljava/lang/String;)Z
-Landroid/speech/tts/TextToSpeech;->convertParamsHashMaptoBundle(Ljava/util/HashMap;)Landroid/os/Bundle;
-Landroid/speech/tts/TextToSpeech;->copyFloatParam(Landroid/os/Bundle;Ljava/util/HashMap;Ljava/lang/String;)V
-Landroid/speech/tts/TextToSpeech;->copyIntParam(Landroid/os/Bundle;Ljava/util/HashMap;Ljava/lang/String;)V
-Landroid/speech/tts/TextToSpeech;->copyStringParam(Landroid/os/Bundle;Ljava/util/HashMap;Ljava/lang/String;)V
-Landroid/speech/tts/TextToSpeech;->dispatchOnInit(I)V
-Landroid/speech/tts/TextToSpeech;->getCallerIdentity()Landroid/os/IBinder;
-Landroid/speech/tts/TextToSpeech;->getParams(Landroid/os/Bundle;)Landroid/os/Bundle;
-Landroid/speech/tts/TextToSpeech;->getVoice(Landroid/speech/tts/ITextToSpeechService;Ljava/lang/String;)Landroid/speech/tts/Voice;
-Landroid/speech/tts/TextToSpeech;->initTts()I
-Landroid/speech/tts/TextToSpeech;->makeResourceUri(Ljava/lang/String;I)Landroid/net/Uri;
-Landroid/speech/tts/TextToSpeech;->mContext:Landroid/content/Context;
-Landroid/speech/tts/TextToSpeech;->mEarcons:Ljava/util/Map;
-Landroid/speech/tts/TextToSpeech;->mEnginesHelper:Landroid/speech/tts/TtsEngines;
-Landroid/speech/tts/TextToSpeech;->mParams:Landroid/os/Bundle;
-Landroid/speech/tts/TextToSpeech;->mRequestedEngine:Ljava/lang/String;
-Landroid/speech/tts/TextToSpeech;->mServiceConnection:Landroid/speech/tts/TextToSpeech$Connection;
-Landroid/speech/tts/TextToSpeech;->mStartLock:Ljava/lang/Object;
-Landroid/speech/tts/TextToSpeech;->mUseFallback:Z
-Landroid/speech/tts/TextToSpeech;->mUtteranceProgressListener:Landroid/speech/tts/UtteranceProgressListener;
-Landroid/speech/tts/TextToSpeech;->mUtterances:Ljava/util/Map;
-Landroid/speech/tts/TextToSpeech;->QUEUE_DESTROY:I
-Landroid/speech/tts/TextToSpeech;->runAction(Landroid/speech/tts/TextToSpeech$Action;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
-Landroid/speech/tts/TextToSpeech;->runAction(Landroid/speech/tts/TextToSpeech$Action;Ljava/lang/Object;Ljava/lang/String;ZZ)Ljava/lang/Object;
-Landroid/speech/tts/TextToSpeech;->runActionNoReconnect(Landroid/speech/tts/TextToSpeech$Action;Ljava/lang/Object;Ljava/lang/String;Z)Ljava/lang/Object;
-Landroid/speech/tts/TextToSpeech;->TAG:Ljava/lang/String;
-Landroid/speech/tts/TextToSpeech;->verifyBooleanBundleParam(Landroid/os/Bundle;Ljava/lang/String;)Z
-Landroid/speech/tts/TextToSpeech;->verifyFloatBundleParam(Landroid/os/Bundle;Ljava/lang/String;)Z
-Landroid/speech/tts/TextToSpeech;->verifyIntegerBundleParam(Landroid/os/Bundle;Ljava/lang/String;)Z
-Landroid/speech/tts/TextToSpeech;->verifyStringBundleParam(Landroid/os/Bundle;Ljava/lang/String;)Z
-Landroid/speech/tts/TextToSpeechService$AudioOutputParams;
-Landroid/speech/tts/TextToSpeechService$AudioOutputParams;-><init>()V
-Landroid/speech/tts/TextToSpeechService$AudioOutputParams;-><init>(IFFLandroid/media/AudioAttributes;)V
-Landroid/speech/tts/TextToSpeechService$AudioOutputParams;->createFromParamsBundle(Landroid/os/Bundle;Z)Landroid/speech/tts/TextToSpeechService$AudioOutputParams;
-Landroid/speech/tts/TextToSpeechService$AudioOutputParams;->mAudioAttributes:Landroid/media/AudioAttributes;
-Landroid/speech/tts/TextToSpeechService$AudioOutputParams;->mPan:F
-Landroid/speech/tts/TextToSpeechService$AudioOutputParams;->mSessionId:I
-Landroid/speech/tts/TextToSpeechService$AudioOutputParams;->mVolume:F
-Landroid/speech/tts/TextToSpeechService$AudioSpeechItem;
-Landroid/speech/tts/TextToSpeechService$AudioSpeechItem;-><init>(Ljava/lang/Object;IILandroid/os/Bundle;Ljava/lang/String;Landroid/net/Uri;)V
-Landroid/speech/tts/TextToSpeechService$AudioSpeechItem;->getAudioParams()Landroid/speech/tts/TextToSpeechService$AudioOutputParams;
-Landroid/speech/tts/TextToSpeechService$AudioSpeechItem;->getUtteranceId()Ljava/lang/String;
-Landroid/speech/tts/TextToSpeechService$AudioSpeechItem;->isValid()Z
-Landroid/speech/tts/TextToSpeechService$AudioSpeechItem;->mItem:Landroid/speech/tts/AudioPlaybackQueueItem;
-Landroid/speech/tts/TextToSpeechService$AudioSpeechItem;->playImpl()V
-Landroid/speech/tts/TextToSpeechService$AudioSpeechItem;->stopImpl()V
-Landroid/speech/tts/TextToSpeechService$CallbackMap;
-Landroid/speech/tts/TextToSpeechService$CallbackMap;-><init>()V
-Landroid/speech/tts/TextToSpeechService$CallbackMap;->dispatchOnAudioAvailable(Ljava/lang/Object;Ljava/lang/String;[B)V
-Landroid/speech/tts/TextToSpeechService$CallbackMap;->dispatchOnBeginSynthesis(Ljava/lang/Object;Ljava/lang/String;III)V
-Landroid/speech/tts/TextToSpeechService$CallbackMap;->dispatchOnError(Ljava/lang/Object;Ljava/lang/String;I)V
-Landroid/speech/tts/TextToSpeechService$CallbackMap;->dispatchOnRangeStart(Ljava/lang/Object;Ljava/lang/String;III)V
-Landroid/speech/tts/TextToSpeechService$CallbackMap;->dispatchOnStart(Ljava/lang/Object;Ljava/lang/String;)V
-Landroid/speech/tts/TextToSpeechService$CallbackMap;->dispatchOnStop(Ljava/lang/Object;Ljava/lang/String;Z)V
-Landroid/speech/tts/TextToSpeechService$CallbackMap;->dispatchOnSuccess(Ljava/lang/Object;Ljava/lang/String;)V
-Landroid/speech/tts/TextToSpeechService$CallbackMap;->getCallbackFor(Ljava/lang/Object;)Landroid/speech/tts/ITextToSpeechCallback;
-Landroid/speech/tts/TextToSpeechService$CallbackMap;->mCallerToCallback:Ljava/util/HashMap;
-Landroid/speech/tts/TextToSpeechService$CallbackMap;->onCallbackDied(Landroid/speech/tts/ITextToSpeechCallback;Ljava/lang/Object;)V
-Landroid/speech/tts/TextToSpeechService$CallbackMap;->setCallback(Landroid/os/IBinder;Landroid/speech/tts/ITextToSpeechCallback;)V
-Landroid/speech/tts/TextToSpeechService$LoadLanguageItem;
-Landroid/speech/tts/TextToSpeechService$LoadLanguageItem;-><init>(Ljava/lang/Object;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/speech/tts/TextToSpeechService$LoadLanguageItem;->isValid()Z
-Landroid/speech/tts/TextToSpeechService$LoadLanguageItem;->mCountry:Ljava/lang/String;
-Landroid/speech/tts/TextToSpeechService$LoadLanguageItem;->mLanguage:Ljava/lang/String;
-Landroid/speech/tts/TextToSpeechService$LoadLanguageItem;->mVariant:Ljava/lang/String;
-Landroid/speech/tts/TextToSpeechService$LoadLanguageItem;->playImpl()V
-Landroid/speech/tts/TextToSpeechService$LoadLanguageItem;->stopImpl()V
-Landroid/speech/tts/TextToSpeechService$LoadVoiceItem;
-Landroid/speech/tts/TextToSpeechService$LoadVoiceItem;-><init>(Ljava/lang/Object;IILjava/lang/String;)V
-Landroid/speech/tts/TextToSpeechService$LoadVoiceItem;->isValid()Z
-Landroid/speech/tts/TextToSpeechService$LoadVoiceItem;->mVoiceName:Ljava/lang/String;
-Landroid/speech/tts/TextToSpeechService$LoadVoiceItem;->playImpl()V
-Landroid/speech/tts/TextToSpeechService$LoadVoiceItem;->stopImpl()V
-Landroid/speech/tts/TextToSpeechService$SilenceSpeechItem;
-Landroid/speech/tts/TextToSpeechService$SilenceSpeechItem;-><init>(Ljava/lang/Object;IILjava/lang/String;J)V
-Landroid/speech/tts/TextToSpeechService$SilenceSpeechItem;->getUtteranceId()Ljava/lang/String;
-Landroid/speech/tts/TextToSpeechService$SilenceSpeechItem;->isValid()Z
-Landroid/speech/tts/TextToSpeechService$SilenceSpeechItem;->mDuration:J
-Landroid/speech/tts/TextToSpeechService$SilenceSpeechItem;->mUtteranceId:Ljava/lang/String;
-Landroid/speech/tts/TextToSpeechService$SilenceSpeechItem;->playImpl()V
-Landroid/speech/tts/TextToSpeechService$SilenceSpeechItem;->stopImpl()V
-Landroid/speech/tts/TextToSpeechService$SpeechItem;
-Landroid/speech/tts/TextToSpeechService$SpeechItem;-><init>(Ljava/lang/Object;II)V
-Landroid/speech/tts/TextToSpeechService$SpeechItem;->getCallerIdentity()Ljava/lang/Object;
-Landroid/speech/tts/TextToSpeechService$SpeechItem;->getCallerPid()I
-Landroid/speech/tts/TextToSpeechService$SpeechItem;->getCallerUid()I
-Landroid/speech/tts/TextToSpeechService$SpeechItem;->isStarted()Z
-Landroid/speech/tts/TextToSpeechService$SpeechItem;->isStopped()Z
-Landroid/speech/tts/TextToSpeechService$SpeechItem;->isValid()Z
-Landroid/speech/tts/TextToSpeechService$SpeechItem;->mCallerIdentity:Ljava/lang/Object;
-Landroid/speech/tts/TextToSpeechService$SpeechItem;->mCallerPid:I
-Landroid/speech/tts/TextToSpeechService$SpeechItem;->mCallerUid:I
-Landroid/speech/tts/TextToSpeechService$SpeechItem;->mStarted:Z
-Landroid/speech/tts/TextToSpeechService$SpeechItem;->mStopped:Z
-Landroid/speech/tts/TextToSpeechService$SpeechItem;->play()V
-Landroid/speech/tts/TextToSpeechService$SpeechItem;->playImpl()V
-Landroid/speech/tts/TextToSpeechService$SpeechItem;->stop()V
-Landroid/speech/tts/TextToSpeechService$SpeechItem;->stopImpl()V
-Landroid/speech/tts/TextToSpeechService$SynthesisSpeechItem;
-Landroid/speech/tts/TextToSpeechService$SynthesisSpeechItem;-><init>(Ljava/lang/Object;IILandroid/os/Bundle;Ljava/lang/String;Ljava/lang/CharSequence;)V
-Landroid/speech/tts/TextToSpeechService$SynthesisSpeechItem;->createSynthesisCallback()Landroid/speech/tts/AbstractSynthesisCallback;
-Landroid/speech/tts/TextToSpeechService$SynthesisSpeechItem;->getCountry()Ljava/lang/String;
-Landroid/speech/tts/TextToSpeechService$SynthesisSpeechItem;->getLanguage()Ljava/lang/String;
-Landroid/speech/tts/TextToSpeechService$SynthesisSpeechItem;->getText()Ljava/lang/CharSequence;
-Landroid/speech/tts/TextToSpeechService$SynthesisSpeechItem;->getVariant()Ljava/lang/String;
-Landroid/speech/tts/TextToSpeechService$SynthesisSpeechItem;->getVoiceName()Ljava/lang/String;
-Landroid/speech/tts/TextToSpeechService$SynthesisSpeechItem;->isValid()Z
-Landroid/speech/tts/TextToSpeechService$SynthesisSpeechItem;->mCallerUid:I
-Landroid/speech/tts/TextToSpeechService$SynthesisSpeechItem;->mDefaultLocale:[Ljava/lang/String;
-Landroid/speech/tts/TextToSpeechService$SynthesisSpeechItem;->mEventLogger:Landroid/speech/tts/EventLogger;
-Landroid/speech/tts/TextToSpeechService$SynthesisSpeechItem;->mSynthesisCallback:Landroid/speech/tts/AbstractSynthesisCallback;
-Landroid/speech/tts/TextToSpeechService$SynthesisSpeechItem;->mSynthesisRequest:Landroid/speech/tts/SynthesisRequest;
-Landroid/speech/tts/TextToSpeechService$SynthesisSpeechItem;->mText:Ljava/lang/CharSequence;
-Landroid/speech/tts/TextToSpeechService$SynthesisSpeechItem;->playImpl()V
-Landroid/speech/tts/TextToSpeechService$SynthesisSpeechItem;->setRequestParams(Landroid/speech/tts/SynthesisRequest;)V
-Landroid/speech/tts/TextToSpeechService$SynthesisSpeechItem;->stopImpl()V
-Landroid/speech/tts/TextToSpeechService$SynthesisToFileOutputStreamSpeechItem;
-Landroid/speech/tts/TextToSpeechService$SynthesisToFileOutputStreamSpeechItem;-><init>(Ljava/lang/Object;IILandroid/os/Bundle;Ljava/lang/String;Ljava/lang/CharSequence;Ljava/io/FileOutputStream;)V
-Landroid/speech/tts/TextToSpeechService$SynthesisToFileOutputStreamSpeechItem;->createSynthesisCallback()Landroid/speech/tts/AbstractSynthesisCallback;
-Landroid/speech/tts/TextToSpeechService$SynthesisToFileOutputStreamSpeechItem;->mFileOutputStream:Ljava/io/FileOutputStream;
-Landroid/speech/tts/TextToSpeechService$SynthesisToFileOutputStreamSpeechItem;->playImpl()V
-Landroid/speech/tts/TextToSpeechService$SynthHandler;
-Landroid/speech/tts/TextToSpeechService$SynthHandler;-><init>(Landroid/os/Looper;)V
-Landroid/speech/tts/TextToSpeechService$SynthHandler;->endFlushingSpeechItems(Ljava/lang/Object;)V
-Landroid/speech/tts/TextToSpeechService$SynthHandler;->enqueueSpeechItem(ILandroid/speech/tts/TextToSpeechService$SpeechItem;)I
-Landroid/speech/tts/TextToSpeechService$SynthHandler;->getCurrentSpeechItem()Landroid/speech/tts/TextToSpeechService$SpeechItem;
-Landroid/speech/tts/TextToSpeechService$SynthHandler;->isFlushed(Landroid/speech/tts/TextToSpeechService$SpeechItem;)Z
-Landroid/speech/tts/TextToSpeechService$SynthHandler;->isSpeaking()Z
-Landroid/speech/tts/TextToSpeechService$SynthHandler;->maybeRemoveCurrentSpeechItem(Ljava/lang/Object;)Landroid/speech/tts/TextToSpeechService$SpeechItem;
-Landroid/speech/tts/TextToSpeechService$SynthHandler;->mCurrentSpeechItem:Landroid/speech/tts/TextToSpeechService$SpeechItem;
-Landroid/speech/tts/TextToSpeechService$SynthHandler;->mFlushAll:I
-Landroid/speech/tts/TextToSpeechService$SynthHandler;->mFlushedObjects:Ljava/util/List;
-Landroid/speech/tts/TextToSpeechService$SynthHandler;->quit()V
-Landroid/speech/tts/TextToSpeechService$SynthHandler;->removeCurrentSpeechItem()Landroid/speech/tts/TextToSpeechService$SpeechItem;
-Landroid/speech/tts/TextToSpeechService$SynthHandler;->setCurrentSpeechItem(Landroid/speech/tts/TextToSpeechService$SpeechItem;)Z
-Landroid/speech/tts/TextToSpeechService$SynthHandler;->startFlushingSpeechItems(Ljava/lang/Object;)V
-Landroid/speech/tts/TextToSpeechService$SynthHandler;->stopAll()I
-Landroid/speech/tts/TextToSpeechService$SynthHandler;->stopForApp(Ljava/lang/Object;)I
-Landroid/speech/tts/TextToSpeechService$SynthThread;
-Landroid/speech/tts/TextToSpeechService$SynthThread;-><init>()V
-Landroid/speech/tts/TextToSpeechService$SynthThread;->broadcastTtsQueueProcessingCompleted()V
-Landroid/speech/tts/TextToSpeechService$SynthThread;->mFirstIdle:Z
-Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;
-Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;->dispatchOnAudioAvailable([B)V
-Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;->dispatchOnBeginSynthesis(III)V
-Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;->dispatchOnError(I)V
-Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;->dispatchOnRangeStart(III)V
-Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;->dispatchOnStart()V
-Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;->dispatchOnStop()V
-Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;->dispatchOnSuccess()V
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItem;
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItem;-><init>(Ljava/lang/Object;II)V
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItem;->dispatchOnAudioAvailable([B)V
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItem;->dispatchOnBeginSynthesis(III)V
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItem;->dispatchOnError(I)V
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItem;->dispatchOnRangeStart(III)V
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItem;->dispatchOnStart()V
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItem;->dispatchOnStop()V
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItem;->dispatchOnSuccess()V
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItem;->getFloatParam(Landroid/os/Bundle;Ljava/lang/String;F)F
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItem;->getIntParam(Landroid/os/Bundle;Ljava/lang/String;I)I
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItem;->getStringParam(Landroid/os/Bundle;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItem;->getUtteranceId()Ljava/lang/String;
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItemWithParams;
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItemWithParams;-><init>(Ljava/lang/Object;IILandroid/os/Bundle;Ljava/lang/String;)V
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItemWithParams;->getAudioParams()Landroid/speech/tts/TextToSpeechService$AudioOutputParams;
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItemWithParams;->getPitch()I
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItemWithParams;->getSpeechRate()I
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItemWithParams;->getUtteranceId()Ljava/lang/String;
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItemWithParams;->hasLanguage()Z
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItemWithParams;->mParams:Landroid/os/Bundle;
-Landroid/speech/tts/TextToSpeechService$UtteranceSpeechItemWithParams;->mUtteranceId:Ljava/lang/String;
-Landroid/speech/tts/TextToSpeechService;->DBG:Z
-Landroid/speech/tts/TextToSpeechService;->getDefaultPitch()I
-Landroid/speech/tts/TextToSpeechService;->getDefaultSpeechRate()I
-Landroid/speech/tts/TextToSpeechService;->getExpectedLanguageAvailableStatus(Ljava/util/Locale;)I
-Landroid/speech/tts/TextToSpeechService;->getSecureSettingInt(Ljava/lang/String;I)I
-Landroid/speech/tts/TextToSpeechService;->getSettingsLocale()[Ljava/lang/String;
-Landroid/speech/tts/TextToSpeechService;->mAudioPlaybackHandler:Landroid/speech/tts/AudioPlaybackHandler;
-Landroid/speech/tts/TextToSpeechService;->mBinder:Landroid/speech/tts/ITextToSpeechService$Stub;
-Landroid/speech/tts/TextToSpeechService;->mCallbacks:Landroid/speech/tts/TextToSpeechService$CallbackMap;
-Landroid/speech/tts/TextToSpeechService;->mEngineHelper:Landroid/speech/tts/TtsEngines;
-Landroid/speech/tts/TextToSpeechService;->mPackageName:Ljava/lang/String;
-Landroid/speech/tts/TextToSpeechService;->mSynthHandler:Landroid/speech/tts/TextToSpeechService$SynthHandler;
-Landroid/speech/tts/TextToSpeechService;->mVoicesInfoLock:Ljava/lang/Object;
-Landroid/speech/tts/TextToSpeechService;->SYNTH_THREAD_NAME:Ljava/lang/String;
-Landroid/speech/tts/TextToSpeechService;->TAG:Ljava/lang/String;
-Landroid/speech/tts/TtsEngines$EngineInfoComparator;
-Landroid/speech/tts/TtsEngines$EngineInfoComparator;-><init>()V
-Landroid/speech/tts/TtsEngines$EngineInfoComparator;->compare(Landroid/speech/tts/TextToSpeech$EngineInfo;Landroid/speech/tts/TextToSpeech$EngineInfo;)I
-Landroid/speech/tts/TtsEngines$EngineInfoComparator;->INSTANCE:Landroid/speech/tts/TtsEngines$EngineInfoComparator;
-Landroid/speech/tts/TtsEngines;
-Landroid/speech/tts/TtsEngines;->DBG:Z
-Landroid/speech/tts/TtsEngines;->getDefaultEngine()Ljava/lang/String;
-Landroid/speech/tts/TtsEngines;->getEngineInfo(Landroid/content/pm/ResolveInfo;Landroid/content/pm/PackageManager;)Landroid/speech/tts/TextToSpeech$EngineInfo;
-Landroid/speech/tts/TtsEngines;->getEngineInfo(Ljava/lang/String;)Landroid/speech/tts/TextToSpeech$EngineInfo;
-Landroid/speech/tts/TtsEngines;->getHighestRankedEngineName()Ljava/lang/String;
-Landroid/speech/tts/TtsEngines;->getLocalePrefForEngine(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Locale;
-Landroid/speech/tts/TtsEngines;->isEngineInstalled(Ljava/lang/String;)Z
-Landroid/speech/tts/TtsEngines;->isLocaleSetToDefaultForEngine(Ljava/lang/String;)Z
-Landroid/speech/tts/TtsEngines;->isSystemEngine(Landroid/content/pm/ServiceInfo;)Z
-Landroid/speech/tts/TtsEngines;->LOCALE_DELIMITER_NEW:Ljava/lang/String;
-Landroid/speech/tts/TtsEngines;->LOCALE_DELIMITER_OLD:Ljava/lang/String;
-Landroid/speech/tts/TtsEngines;->mContext:Landroid/content/Context;
-Landroid/speech/tts/TtsEngines;->parseEnginePrefFromList(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/speech/tts/TtsEngines;->settingsActivityFromServiceInfo(Landroid/content/pm/ServiceInfo;Landroid/content/pm/PackageManager;)Ljava/lang/String;
-Landroid/speech/tts/TtsEngines;->sNormalizeCountry:Ljava/util/Map;
-Landroid/speech/tts/TtsEngines;->sNormalizeLanguage:Ljava/util/Map;
-Landroid/speech/tts/TtsEngines;->TAG:Ljava/lang/String;
-Landroid/speech/tts/TtsEngines;->toOldLocaleStringFormat(Ljava/util/Locale;)[Ljava/lang/String;
-Landroid/speech/tts/TtsEngines;->updateValueInCommaSeparatedList(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/speech/tts/TtsEngines;->XML_TAG_NAME:Ljava/lang/String;
-Landroid/speech/tts/UtteranceProgressListener;->from(Landroid/speech/tts/TextToSpeech$OnUtteranceCompletedListener;)Landroid/speech/tts/UtteranceProgressListener;
-Landroid/speech/tts/Voice;-><init>(Landroid/os/Parcel;)V
-Landroid/speech/tts/Voice;->mFeatures:Ljava/util/Set;
-Landroid/speech/tts/Voice;->mLatency:I
-Landroid/speech/tts/Voice;->mLocale:Ljava/util/Locale;
-Landroid/speech/tts/Voice;->mName:Ljava/lang/String;
-Landroid/speech/tts/Voice;->mQuality:I
-Landroid/speech/tts/Voice;->mRequiresNetworkConnection:Z
-Landroid/system/ErrnoException;->functionName:Ljava/lang/String;
-Landroid/system/ErrnoException;->rethrowAsIOException()Ljava/io/IOException;
-Landroid/system/ErrnoException;->rethrowAsSocketException()Ljava/net/SocketException;
-Landroid/system/GaiException;
-Landroid/system/GaiException;-><init>(Ljava/lang/String;I)V
-Landroid/system/GaiException;-><init>(Ljava/lang/String;ILjava/lang/Throwable;)V
-Landroid/system/GaiException;->error:I
-Landroid/system/GaiException;->functionName:Ljava/lang/String;
-Landroid/system/GaiException;->rethrowAsUnknownHostException()Ljava/net/UnknownHostException;
-Landroid/system/GaiException;->rethrowAsUnknownHostException(Ljava/lang/String;)Ljava/net/UnknownHostException;
-Landroid/system/Int32Ref;
-Landroid/system/Int32Ref;-><init>(I)V
-Landroid/system/NetlinkSocketAddress;
-Landroid/system/NetlinkSocketAddress;-><init>()V
-Landroid/system/NetlinkSocketAddress;-><init>(I)V
-Landroid/system/NetlinkSocketAddress;->getGroupsMask()I
-Landroid/system/NetlinkSocketAddress;->getPortId()I
-Landroid/system/NetlinkSocketAddress;->nlGroupsMask:I
-Landroid/system/NetlinkSocketAddress;->nlPortId:I
-Landroid/system/Os;-><init>()V
-Landroid/system/Os;->accept(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)Ljava/io/FileDescriptor;
-Landroid/system/Os;->android_getaddrinfo(Ljava/lang/String;Landroid/system/StructAddrinfo;I)[Ljava/net/InetAddress;
-Landroid/system/Os;->capget(Landroid/system/StructCapUserHeader;)[Landroid/system/StructCapUserData;
-Landroid/system/Os;->capset(Landroid/system/StructCapUserHeader;[Landroid/system/StructCapUserData;)V
-Landroid/system/Os;->fcntlFlock(Ljava/io/FileDescriptor;ILandroid/system/StructFlock;)I
-Landroid/system/Os;->fcntlInt(Ljava/io/FileDescriptor;II)I
-Landroid/system/Os;->fcntlVoid(Ljava/io/FileDescriptor;I)I
-Landroid/system/Os;->getifaddrs()[Landroid/system/StructIfaddrs;
-Landroid/system/Os;->getnameinfo(Ljava/net/InetAddress;I)Ljava/lang/String;
-Landroid/system/Os;->getpgid(I)I
-Landroid/system/Os;->getpwnam(Ljava/lang/String;)Landroid/system/StructPasswd;
-Landroid/system/Os;->getpwuid(I)Landroid/system/StructPasswd;
-Landroid/system/Os;->getrlimit(I)Landroid/system/StructRlimit;
-Landroid/system/Os;->getsockoptByte(Ljava/io/FileDescriptor;II)I
-Landroid/system/Os;->getsockoptInAddr(Ljava/io/FileDescriptor;II)Ljava/net/InetAddress;
-Landroid/system/Os;->getsockoptInt(Ljava/io/FileDescriptor;II)I
-Landroid/system/Os;->getsockoptLinger(Ljava/io/FileDescriptor;II)Landroid/system/StructLinger;
-Landroid/system/Os;->getsockoptTimeval(Ljava/io/FileDescriptor;II)Landroid/system/StructTimeval;
-Landroid/system/Os;->getsockoptUcred(Ljava/io/FileDescriptor;II)Landroid/system/StructUcred;
-Landroid/system/Os;->ioctlInetAddress(Ljava/io/FileDescriptor;ILjava/lang/String;)Ljava/net/InetAddress;
-Landroid/system/Os;->ioctlInt(Ljava/io/FileDescriptor;ILandroid/system/Int32Ref;)I
-Landroid/system/Os;->pipe2(I)[Ljava/io/FileDescriptor;
-Landroid/system/Os;->realpath(Ljava/lang/String;)Ljava/lang/String;
-Landroid/system/Os;->setpgid(II)V
-Landroid/system/Os;->setregid(II)V
-Landroid/system/Os;->setreuid(II)V
-Landroid/system/Os;->setsockoptByte(Ljava/io/FileDescriptor;III)V
-Landroid/system/Os;->setsockoptGroupReq(Ljava/io/FileDescriptor;IILandroid/system/StructGroupReq;)V
-Landroid/system/Os;->setsockoptIpMreqn(Ljava/io/FileDescriptor;III)V
-Landroid/system/Os;->setsockoptLinger(Ljava/io/FileDescriptor;IILandroid/system/StructLinger;)V
-Landroid/system/Os;->splice(Ljava/io/FileDescriptor;Landroid/system/Int64Ref;Ljava/io/FileDescriptor;Landroid/system/Int64Ref;JI)J
-Landroid/system/Os;->unlink(Ljava/lang/String;)V
-Landroid/system/Os;->waitpid(ILandroid/system/Int32Ref;I)I
-Landroid/system/PacketSocketAddress;
-Landroid/system/PacketSocketAddress;-><init>(SISB[B)V
-Landroid/system/PacketSocketAddress;->sll_addr:[B
-Landroid/system/PacketSocketAddress;->sll_hatype:S
-Landroid/system/PacketSocketAddress;->sll_ifindex:I
-Landroid/system/PacketSocketAddress;->sll_pkttype:B
-Landroid/system/PacketSocketAddress;->sll_protocol:S
-Landroid/system/StructAddrinfo;
-Landroid/system/StructAddrinfo;-><init>()V
-Landroid/system/StructAddrinfo;->ai_addr:Ljava/net/InetAddress;
-Landroid/system/StructAddrinfo;->ai_family:I
-Landroid/system/StructAddrinfo;->ai_flags:I
-Landroid/system/StructAddrinfo;->ai_next:Landroid/system/StructAddrinfo;
-Landroid/system/StructAddrinfo;->ai_protocol:I
-Landroid/system/StructAddrinfo;->ai_socktype:I
-Landroid/system/StructCapUserData;
-Landroid/system/StructCapUserData;-><init>(III)V
-Landroid/system/StructCapUserData;->effective:I
-Landroid/system/StructCapUserData;->inheritable:I
-Landroid/system/StructCapUserData;->permitted:I
-Landroid/system/StructCapUserHeader;
-Landroid/system/StructCapUserHeader;-><init>(II)V
-Landroid/system/StructCapUserHeader;->pid:I
-Landroid/system/StructCapUserHeader;->version:I
-Landroid/system/StructFlock;
-Landroid/system/StructFlock;-><init>()V
-Landroid/system/StructFlock;->l_len:J
-Landroid/system/StructFlock;->l_pid:I
-Landroid/system/StructFlock;->l_start:J
-Landroid/system/StructFlock;->l_type:S
-Landroid/system/StructFlock;->l_whence:S
-Landroid/system/StructGroupReq;
-Landroid/system/StructGroupReq;-><init>(ILjava/net/InetAddress;)V
-Landroid/system/StructGroupReq;->gr_group:Ljava/net/InetAddress;
-Landroid/system/StructGroupReq;->gr_interface:I
-Landroid/system/StructIcmpHdr;
-Landroid/system/StructIcmpHdr;-><init>()V
-Landroid/system/StructIcmpHdr;->getBytes()[B
-Landroid/system/StructIcmpHdr;->IcmpEchoHdr(ZI)Landroid/system/StructIcmpHdr;
-Landroid/system/StructIcmpHdr;->packet:[B
-Landroid/system/StructIfaddrs;
-Landroid/system/StructIfaddrs;-><init>(Ljava/lang/String;ILjava/net/InetAddress;Ljava/net/InetAddress;Ljava/net/InetAddress;[B)V
-Landroid/system/StructIfaddrs;->hwaddr:[B
-Landroid/system/StructIfaddrs;->ifa_addr:Ljava/net/InetAddress;
-Landroid/system/StructIfaddrs;->ifa_broadaddr:Ljava/net/InetAddress;
-Landroid/system/StructIfaddrs;->ifa_flags:I
-Landroid/system/StructIfaddrs;->ifa_name:Ljava/lang/String;
-Landroid/system/StructIfaddrs;->ifa_netmask:Ljava/net/InetAddress;
-Landroid/system/StructLinger;
-Landroid/system/StructLinger;-><init>(II)V
-Landroid/system/StructLinger;->isOn()Z
-Landroid/system/StructLinger;->l_linger:I
-Landroid/system/StructLinger;->l_onoff:I
-Landroid/system/StructPasswd;
-Landroid/system/StructPasswd;-><init>(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V
-Landroid/system/StructPasswd;->pw_dir:Ljava/lang/String;
-Landroid/system/StructPasswd;->pw_gid:I
-Landroid/system/StructPasswd;->pw_name:Ljava/lang/String;
-Landroid/system/StructPasswd;->pw_shell:Ljava/lang/String;
-Landroid/system/StructPasswd;->pw_uid:I
-Landroid/system/StructRlimit;
-Landroid/system/StructRlimit;-><init>(JJ)V
-Landroid/system/StructRlimit;->rlim_cur:J
-Landroid/system/StructRlimit;->rlim_max:J
-Landroid/system/StructTimeval;
-Landroid/system/StructTimeval;-><init>(JJ)V
-Landroid/system/StructTimeval;->toMillis()J
-Landroid/system/StructTimeval;->tv_sec:J
-Landroid/system/StructTimeval;->tv_usec:J
-Landroid/system/StructUcred;
-Landroid/system/StructUcred;-><init>(III)V
-Landroid/system/StructUcred;->gid:I
-Landroid/system/StructUcred;->pid:I
-Landroid/system/StructUcred;->uid:I
-Landroid/telecom/AudioState;->listAppend(Ljava/lang/StringBuffer;Ljava/lang/String;)V
-Landroid/telecom/AudioState;->ROUTE_ALL:I
-Landroid/telecom/AuthenticatorService$Authenticator;
-Landroid/telecom/AuthenticatorService$Authenticator;-><init>(Landroid/content/Context;)V
-Landroid/telecom/AuthenticatorService;
-Landroid/telecom/AuthenticatorService;-><init>()V
-Landroid/telecom/AuthenticatorService;->mAuthenticator:Landroid/telecom/AuthenticatorService$Authenticator;
-Landroid/telecom/Call$Callback$HandoverFailureErrors;
-Landroid/telecom/Call$Details;-><init>(Ljava/lang/String;Landroid/net/Uri;ILjava/lang/String;ILandroid/telecom/PhoneAccountHandle;IILandroid/telecom/DisconnectCause;JLandroid/telecom/GatewayInfo;ILandroid/telecom/StatusHints;Landroid/os/Bundle;Landroid/os/Bundle;J)V
-Landroid/telecom/Call$Details;->CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION:I
-Landroid/telecom/Call$Details;->CAPABILITY_SPEED_UP_MT_AUDIO:I
-Landroid/telecom/Call$Details;->CAPABILITY_UNUSED_1:I
-Landroid/telecom/Call$Details;->createFromParcelableCall(Landroid/telecom/ParcelableCall;)Landroid/telecom/Call$Details;
-Landroid/telecom/Call$Details;->getSupportedAudioRoutes()I
-Landroid/telecom/Call$Details;->getTelecomCallId()Ljava/lang/String;
-Landroid/telecom/Call$Details;->mAccountHandle:Landroid/telecom/PhoneAccountHandle;
-Landroid/telecom/Call$Details;->mCallCapabilities:I
-Landroid/telecom/Call$Details;->mCallerDisplayName:Ljava/lang/String;
-Landroid/telecom/Call$Details;->mCallerDisplayNamePresentation:I
-Landroid/telecom/Call$Details;->mCallProperties:I
-Landroid/telecom/Call$Details;->mConnectTimeMillis:J
-Landroid/telecom/Call$Details;->mCreationTimeMillis:J
-Landroid/telecom/Call$Details;->mDisconnectCause:Landroid/telecom/DisconnectCause;
-Landroid/telecom/Call$Details;->mExtras:Landroid/os/Bundle;
-Landroid/telecom/Call$Details;->mGatewayInfo:Landroid/telecom/GatewayInfo;
-Landroid/telecom/Call$Details;->mHandle:Landroid/net/Uri;
-Landroid/telecom/Call$Details;->mHandlePresentation:I
-Landroid/telecom/Call$Details;->mIntentExtras:Landroid/os/Bundle;
-Landroid/telecom/Call$Details;->mStatusHints:Landroid/telecom/StatusHints;
-Landroid/telecom/Call$Details;->mSupportedAudioRoutes:I
-Landroid/telecom/Call$Details;->mTelecomCallId:Ljava/lang/String;
-Landroid/telecom/Call$Details;->mVideoState:I
-Landroid/telecom/Call$Details;->PROPERTY_ASSISTED_DIALING_USED:I
-Landroid/telecom/Call$RttCall$RttAudioMode;
-Landroid/telecom/Call$RttCall;-><init>(Ljava/lang/String;Ljava/io/InputStreamReader;Ljava/io/OutputStreamWriter;ILandroid/telecom/InCallAdapter;)V
-Landroid/telecom/Call$RttCall;->close()V
-Landroid/telecom/Call$RttCall;->mInCallAdapter:Landroid/telecom/InCallAdapter;
-Landroid/telecom/Call$RttCall;->mReadBuffer:[C
-Landroid/telecom/Call$RttCall;->mReceiveStream:Ljava/io/InputStreamReader;
-Landroid/telecom/Call$RttCall;->mRttMode:I
-Landroid/telecom/Call$RttCall;->mTelecomCallId:Ljava/lang/String;
-Landroid/telecom/Call$RttCall;->mTransmitStream:Ljava/io/OutputStreamWriter;
-Landroid/telecom/Call$RttCall;->READ_BUFFER_SIZE:I
-Landroid/telecom/Call$RttCall;->RTT_MODE_INVALID:I
-Landroid/telecom/Call;-><init>(Landroid/telecom/Phone;Ljava/lang/String;Landroid/telecom/InCallAdapter;ILjava/lang/String;I)V
-Landroid/telecom/Call;-><init>(Landroid/telecom/Phone;Ljava/lang/String;Landroid/telecom/InCallAdapter;Ljava/lang/String;I)V
-Landroid/telecom/Call;->areBundlesEqual(Landroid/os/Bundle;Landroid/os/Bundle;)Z
-Landroid/telecom/Call;->EVENT_HANDOVER_COMPLETE:Ljava/lang/String;
-Landroid/telecom/Call;->EVENT_HANDOVER_FAILED:Ljava/lang/String;
-Landroid/telecom/Call;->EVENT_HANDOVER_SOURCE_DISCONNECTED:Ljava/lang/String;
-Landroid/telecom/Call;->EVENT_REQUEST_HANDOVER:Ljava/lang/String;
-Landroid/telecom/Call;->EXTRA_HANDOVER_EXTRAS:Ljava/lang/String;
-Landroid/telecom/Call;->EXTRA_HANDOVER_PHONE_ACCOUNT_HANDLE:Ljava/lang/String;
-Landroid/telecom/Call;->EXTRA_HANDOVER_VIDEO_STATE:Ljava/lang/String;
-Landroid/telecom/Call;->fireCallDestroyed()V
-Landroid/telecom/Call;->fireCannedTextResponsesLoaded(Ljava/util/List;)V
-Landroid/telecom/Call;->fireChildrenChanged(Ljava/util/List;)V
-Landroid/telecom/Call;->fireConferenceableCallsChanged()V
-Landroid/telecom/Call;->fireDetailsChanged(Landroid/telecom/Call$Details;)V
-Landroid/telecom/Call;->fireOnConnectionEvent(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/telecom/Call;->fireOnIsRttChanged(ZLandroid/telecom/Call$RttCall;)V
-Landroid/telecom/Call;->fireOnRttModeChanged(I)V
-Landroid/telecom/Call;->fireParentChanged(Landroid/telecom/Call;)V
-Landroid/telecom/Call;->firePostDialWait(Ljava/lang/String;)V
-Landroid/telecom/Call;->fireStateChanged(I)V
-Landroid/telecom/Call;->fireVideoCallChanged(Landroid/telecom/InCallService$VideoCall;)V
-Landroid/telecom/Call;->internalGetCallId()Ljava/lang/String;
-Landroid/telecom/Call;->internalOnConnectionEvent(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/telecom/Call;->internalOnHandoverComplete()V
-Landroid/telecom/Call;->internalOnHandoverFailed(I)V
-Landroid/telecom/Call;->internalOnRttInitiationFailure(I)V
-Landroid/telecom/Call;->internalOnRttUpgradeRequest(I)V
-Landroid/telecom/Call;->internalSetDisconnected()V
-Landroid/telecom/Call;->internalSetPostDialWait(Ljava/lang/String;)V
-Landroid/telecom/Call;->internalUpdate(Landroid/telecom/ParcelableCall;Ljava/util/Map;)V
-Landroid/telecom/Call;->mCallbackRecords:Ljava/util/List;
-Landroid/telecom/Call;->mCallingPackage:Ljava/lang/String;
-Landroid/telecom/Call;->mCannedTextResponses:Ljava/util/List;
-Landroid/telecom/Call;->mChildren:Ljava/util/List;
-Landroid/telecom/Call;->mChildrenCached:Z
-Landroid/telecom/Call;->mChildrenIds:Ljava/util/List;
-Landroid/telecom/Call;->mConferenceableCalls:Ljava/util/List;
-Landroid/telecom/Call;->mDetails:Landroid/telecom/Call$Details;
-Landroid/telecom/Call;->mExtras:Landroid/os/Bundle;
-Landroid/telecom/Call;->mInCallAdapter:Landroid/telecom/InCallAdapter;
-Landroid/telecom/Call;->mParentId:Ljava/lang/String;
-Landroid/telecom/Call;->mPhone:Landroid/telecom/Phone;
-Landroid/telecom/Call;->mRemainingPostDialSequence:Ljava/lang/String;
-Landroid/telecom/Call;->mRttCall:Landroid/telecom/Call$RttCall;
-Landroid/telecom/Call;->mState:I
-Landroid/telecom/Call;->mTargetSdkVersion:I
-Landroid/telecom/Call;->mTelecomCallId:Ljava/lang/String;
-Landroid/telecom/Call;->mUnmodifiableChildren:Ljava/util/List;
-Landroid/telecom/Call;->mUnmodifiableConferenceableCalls:Ljava/util/List;
-Landroid/telecom/Call;->mVideoCallImpl:Landroid/telecom/VideoCallImpl;
-Landroid/telecom/Call;->putExtra(Ljava/lang/String;I)V
-Landroid/telecom/Call;->putExtra(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telecom/Call;->putExtra(Ljava/lang/String;Z)V
-Landroid/telecom/Call;->stateToString(I)Ljava/lang/String;
-Landroid/telecom/CallAudioState$CallAudioRoute;
-Landroid/telecom/CallAudioState;-><init>(Landroid/telecom/AudioState;)V
-Landroid/telecom/CallAudioState;-><init>(Landroid/telecom/CallAudioState;)V
-Landroid/telecom/CallAudioState;->activeBluetoothDevice:Landroid/bluetooth/BluetoothDevice;
-Landroid/telecom/CallAudioState;->isMuted:Z
-Landroid/telecom/CallAudioState;->listAppend(Ljava/lang/StringBuffer;Ljava/lang/String;)V
-Landroid/telecom/CallAudioState;->route:I
-Landroid/telecom/CallAudioState;->ROUTE_ALL:I
-Landroid/telecom/CallAudioState;->supportedBluetoothDevices:Ljava/util/Collection;
-Landroid/telecom/CallAudioState;->supportedRouteMask:I
-Landroid/telecom/CallbackRecord;
-Landroid/telecom/CallbackRecord;-><init>(Ljava/lang/Object;Landroid/os/Handler;)V
-Landroid/telecom/CallbackRecord;->getCallback()Ljava/lang/Object;
-Landroid/telecom/CallbackRecord;->getHandler()Landroid/os/Handler;
-Landroid/telecom/CallbackRecord;->mCallback:Ljava/lang/Object;
-Landroid/telecom/CallbackRecord;->mHandler:Landroid/os/Handler;
-Landroid/telecom/CallScreeningService$CallResponse$Builder;->mShouldDisallowCall:Z
-Landroid/telecom/CallScreeningService$CallResponse$Builder;->mShouldRejectCall:Z
-Landroid/telecom/CallScreeningService$CallResponse$Builder;->mShouldSkipCallLog:Z
-Landroid/telecom/CallScreeningService$CallResponse$Builder;->mShouldSkipNotification:Z
-Landroid/telecom/CallScreeningService$CallResponse;-><init>(ZZZZ)V
-Landroid/telecom/CallScreeningService$CallResponse;->mShouldDisallowCall:Z
-Landroid/telecom/CallScreeningService$CallResponse;->mShouldRejectCall:Z
-Landroid/telecom/CallScreeningService$CallResponse;->mShouldSkipCallLog:Z
-Landroid/telecom/CallScreeningService$CallResponse;->mShouldSkipNotification:Z
-Landroid/telecom/CallScreeningService$CallScreeningBinder;
-Landroid/telecom/CallScreeningService$CallScreeningBinder;-><init>()V
-Landroid/telecom/CallScreeningService$CallScreeningBinder;->screenCall(Lcom/android/internal/telecom/ICallScreeningAdapter;Landroid/telecom/ParcelableCall;)V
-Landroid/telecom/CallScreeningService;->mCallScreeningAdapter:Lcom/android/internal/telecom/ICallScreeningAdapter;
-Landroid/telecom/CallScreeningService;->mHandler:Landroid/os/Handler;
-Landroid/telecom/CallScreeningService;->MSG_SCREEN_CALL:I
-Landroid/telecom/Conference$Listener;
-Landroid/telecom/Conference$Listener;-><init>()V
-Landroid/telecom/Conference$Listener;->onConferenceableConnectionsChanged(Landroid/telecom/Conference;Ljava/util/List;)V
-Landroid/telecom/Conference$Listener;->onConnectionAdded(Landroid/telecom/Conference;Landroid/telecom/Connection;)V
-Landroid/telecom/Conference$Listener;->onConnectionCapabilitiesChanged(Landroid/telecom/Conference;I)V
-Landroid/telecom/Conference$Listener;->onConnectionPropertiesChanged(Landroid/telecom/Conference;I)V
-Landroid/telecom/Conference$Listener;->onConnectionRemoved(Landroid/telecom/Conference;Landroid/telecom/Connection;)V
-Landroid/telecom/Conference$Listener;->onDestroyed(Landroid/telecom/Conference;)V
-Landroid/telecom/Conference$Listener;->onDisconnected(Landroid/telecom/Conference;Landroid/telecom/DisconnectCause;)V
-Landroid/telecom/Conference$Listener;->onExtrasChanged(Landroid/telecom/Conference;Landroid/os/Bundle;)V
-Landroid/telecom/Conference$Listener;->onExtrasRemoved(Landroid/telecom/Conference;Ljava/util/List;)V
-Landroid/telecom/Conference$Listener;->onStateChanged(Landroid/telecom/Conference;II)V
-Landroid/telecom/Conference$Listener;->onStatusHintsChanged(Landroid/telecom/Conference;Landroid/telecom/StatusHints;)V
-Landroid/telecom/Conference$Listener;->onVideoProviderChanged(Landroid/telecom/Conference;Landroid/telecom/Connection$VideoProvider;)V
-Landroid/telecom/Conference$Listener;->onVideoStateChanged(Landroid/telecom/Conference;I)V
-Landroid/telecom/Conference;->addCapability(I)V
-Landroid/telecom/Conference;->addListener(Landroid/telecom/Conference$Listener;)Landroid/telecom/Conference;
-Landroid/telecom/Conference;->can(I)Z
-Landroid/telecom/Conference;->can(II)Z
-Landroid/telecom/Conference;->clearConferenceableList()V
-Landroid/telecom/Conference;->fireOnConferenceableConnectionsChanged()V
-Landroid/telecom/Conference;->getConnectionStartElapsedRealTime()J
-Landroid/telecom/Conference;->getTelecomCallId()Ljava/lang/String;
-Landroid/telecom/Conference;->handleExtrasChanged(Landroid/os/Bundle;)V
-Landroid/telecom/Conference;->mCallAudioState:Landroid/telecom/CallAudioState;
-Landroid/telecom/Conference;->mChildConnections:Ljava/util/List;
-Landroid/telecom/Conference;->mConferenceableConnections:Ljava/util/List;
-Landroid/telecom/Conference;->mConnectionCapabilities:I
-Landroid/telecom/Conference;->mConnectionDeathListener:Landroid/telecom/Connection$Listener;
-Landroid/telecom/Conference;->mConnectionProperties:I
-Landroid/telecom/Conference;->mConnectionStartElapsedRealTime:J
-Landroid/telecom/Conference;->mConnectTimeMillis:J
-Landroid/telecom/Conference;->mDisconnectCause:Landroid/telecom/DisconnectCause;
-Landroid/telecom/Conference;->mDisconnectMessage:Ljava/lang/String;
-Landroid/telecom/Conference;->mExtras:Landroid/os/Bundle;
-Landroid/telecom/Conference;->mExtrasLock:Ljava/lang/Object;
-Landroid/telecom/Conference;->mListeners:Ljava/util/Set;
-Landroid/telecom/Conference;->mPhoneAccount:Landroid/telecom/PhoneAccountHandle;
-Landroid/telecom/Conference;->mPreviousExtraKeys:Ljava/util/Set;
-Landroid/telecom/Conference;->mState:I
-Landroid/telecom/Conference;->mStatusHints:Landroid/telecom/StatusHints;
-Landroid/telecom/Conference;->mTelecomCallId:Ljava/lang/String;
-Landroid/telecom/Conference;->mUnmodifiableChildConnections:Ljava/util/List;
-Landroid/telecom/Conference;->mUnmodifiableConferenceableConnections:Ljava/util/List;
-Landroid/telecom/Conference;->putExtra(Ljava/lang/String;I)V
-Landroid/telecom/Conference;->putExtra(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telecom/Conference;->putExtra(Ljava/lang/String;Z)V
-Landroid/telecom/Conference;->removeCapability(I)V
-Landroid/telecom/Conference;->removeListener(Landroid/telecom/Conference$Listener;)Landroid/telecom/Conference;
-Landroid/telecom/Conference;->setCallAudioState(Landroid/telecom/CallAudioState;)V
-Landroid/telecom/Conference;->setState(I)V
-Landroid/telecom/Conference;->setTelecomCallId(Ljava/lang/String;)V
-Landroid/telecom/Conferenceable;-><init>()V
-Landroid/telecom/ConferenceParticipant;
-Landroid/telecom/ConferenceParticipant;-><init>(Landroid/net/Uri;Ljava/lang/String;Landroid/net/Uri;I)V
-Landroid/telecom/ConferenceParticipant;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telecom/ConferenceParticipant;->getDisplayName()Ljava/lang/String;
-Landroid/telecom/ConferenceParticipant;->getEndpoint()Landroid/net/Uri;
-Landroid/telecom/ConferenceParticipant;->getHandle()Landroid/net/Uri;
-Landroid/telecom/ConferenceParticipant;->getState()I
-Landroid/telecom/ConferenceParticipant;->mDisplayName:Ljava/lang/String;
-Landroid/telecom/ConferenceParticipant;->mEndpoint:Landroid/net/Uri;
-Landroid/telecom/ConferenceParticipant;->mHandle:Landroid/net/Uri;
-Landroid/telecom/ConferenceParticipant;->mState:I
-Landroid/telecom/Connection$FailureSignalingConnection;
-Landroid/telecom/Connection$FailureSignalingConnection;-><init>(Landroid/telecom/DisconnectCause;)V
-Landroid/telecom/Connection$FailureSignalingConnection;->checkImmutable()V
-Landroid/telecom/Connection$FailureSignalingConnection;->mImmutable:Z
-Landroid/telecom/Connection$Listener;
-Landroid/telecom/Connection$Listener;-><init>()V
-Landroid/telecom/Connection$Listener;->onAddressChanged(Landroid/telecom/Connection;Landroid/net/Uri;I)V
-Landroid/telecom/Connection$Listener;->onAudioModeIsVoipChanged(Landroid/telecom/Connection;Z)V
-Landroid/telecom/Connection$Listener;->onAudioRouteChanged(Landroid/telecom/Connection;ILjava/lang/String;)V
-Landroid/telecom/Connection$Listener;->onCallerDisplayNameChanged(Landroid/telecom/Connection;Ljava/lang/String;I)V
-Landroid/telecom/Connection$Listener;->onConferenceablesChanged(Landroid/telecom/Connection;Ljava/util/List;)V
-Landroid/telecom/Connection$Listener;->onConferenceChanged(Landroid/telecom/Connection;Landroid/telecom/Conference;)V
-Landroid/telecom/Connection$Listener;->onConferenceMergeFailed(Landroid/telecom/Connection;)V
-Landroid/telecom/Connection$Listener;->onConferenceParticipantsChanged(Landroid/telecom/Connection;Ljava/util/List;)V
-Landroid/telecom/Connection$Listener;->onConferenceStarted()V
-Landroid/telecom/Connection$Listener;->onConferenceSupportedChanged(Landroid/telecom/Connection;Z)V
-Landroid/telecom/Connection$Listener;->onConnectionCapabilitiesChanged(Landroid/telecom/Connection;I)V
-Landroid/telecom/Connection$Listener;->onConnectionEvent(Landroid/telecom/Connection;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/telecom/Connection$Listener;->onConnectionPropertiesChanged(Landroid/telecom/Connection;I)V
-Landroid/telecom/Connection$Listener;->onDestroyed(Landroid/telecom/Connection;)V
-Landroid/telecom/Connection$Listener;->onDisconnected(Landroid/telecom/Connection;Landroid/telecom/DisconnectCause;)V
-Landroid/telecom/Connection$Listener;->onExtrasChanged(Landroid/telecom/Connection;Landroid/os/Bundle;)V
-Landroid/telecom/Connection$Listener;->onExtrasRemoved(Landroid/telecom/Connection;Ljava/util/List;)V
-Landroid/telecom/Connection$Listener;->onPhoneAccountChanged(Landroid/telecom/Connection;Landroid/telecom/PhoneAccountHandle;)V
-Landroid/telecom/Connection$Listener;->onPostDialChar(Landroid/telecom/Connection;C)V
-Landroid/telecom/Connection$Listener;->onPostDialWait(Landroid/telecom/Connection;Ljava/lang/String;)V
-Landroid/telecom/Connection$Listener;->onRemoteRttRequest(Landroid/telecom/Connection;)V
-Landroid/telecom/Connection$Listener;->onRingbackRequested(Landroid/telecom/Connection;Z)V
-Landroid/telecom/Connection$Listener;->onRttInitiationFailure(Landroid/telecom/Connection;I)V
-Landroid/telecom/Connection$Listener;->onRttInitiationSuccess(Landroid/telecom/Connection;)V
-Landroid/telecom/Connection$Listener;->onRttSessionRemotelyTerminated(Landroid/telecom/Connection;)V
-Landroid/telecom/Connection$Listener;->onStateChanged(Landroid/telecom/Connection;I)V
-Landroid/telecom/Connection$Listener;->onStatusHintsChanged(Landroid/telecom/Connection;Landroid/telecom/StatusHints;)V
-Landroid/telecom/Connection$Listener;->onSupportedAudioRoutesChanged(Landroid/telecom/Connection;I)V
-Landroid/telecom/Connection$Listener;->onVideoProviderChanged(Landroid/telecom/Connection;Landroid/telecom/Connection$VideoProvider;)V
-Landroid/telecom/Connection$Listener;->onVideoStateChanged(Landroid/telecom/Connection;I)V
-Landroid/telecom/Connection$RttModifyStatus;-><init>()V
-Landroid/telecom/Connection$RttTextStream;-><init>(Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;)V
-Landroid/telecom/Connection$RttTextStream;->getFdFromInCall()Landroid/os/ParcelFileDescriptor;
-Landroid/telecom/Connection$RttTextStream;->getFdToInCall()Landroid/os/ParcelFileDescriptor;
-Landroid/telecom/Connection$RttTextStream;->mFdFromInCall:Landroid/os/ParcelFileDescriptor;
-Landroid/telecom/Connection$RttTextStream;->mFdToInCall:Landroid/os/ParcelFileDescriptor;
-Landroid/telecom/Connection$RttTextStream;->mPipeFromInCall:Ljava/io/InputStreamReader;
-Landroid/telecom/Connection$RttTextStream;->mPipeToInCall:Ljava/io/OutputStreamWriter;
-Landroid/telecom/Connection$RttTextStream;->mReadBuffer:[C
-Landroid/telecom/Connection$RttTextStream;->READ_BUFFER_SIZE:I
-Landroid/telecom/Connection$VideoProvider$VideoProviderBinder;
-Landroid/telecom/Connection$VideoProvider$VideoProviderBinder;-><init>()V
-Landroid/telecom/Connection$VideoProvider$VideoProviderBinder;->addVideoCallback(Landroid/os/IBinder;)V
-Landroid/telecom/Connection$VideoProvider$VideoProviderBinder;->removeVideoCallback(Landroid/os/IBinder;)V
-Landroid/telecom/Connection$VideoProvider$VideoProviderBinder;->requestCallDataUsage()V
-Landroid/telecom/Connection$VideoProvider$VideoProviderBinder;->requestCameraCapabilities()V
-Landroid/telecom/Connection$VideoProvider$VideoProviderBinder;->sendSessionModifyRequest(Landroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V
-Landroid/telecom/Connection$VideoProvider$VideoProviderBinder;->sendSessionModifyResponse(Landroid/telecom/VideoProfile;)V
-Landroid/telecom/Connection$VideoProvider$VideoProviderBinder;->setCamera(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/telecom/Connection$VideoProvider$VideoProviderBinder;->setDeviceOrientation(I)V
-Landroid/telecom/Connection$VideoProvider$VideoProviderBinder;->setDisplaySurface(Landroid/view/Surface;)V
-Landroid/telecom/Connection$VideoProvider$VideoProviderBinder;->setPauseImage(Landroid/net/Uri;)V
-Landroid/telecom/Connection$VideoProvider$VideoProviderBinder;->setPreviewSurface(Landroid/view/Surface;)V
-Landroid/telecom/Connection$VideoProvider$VideoProviderBinder;->setZoom(F)V
-Landroid/telecom/Connection$VideoProvider$VideoProviderHandler;
-Landroid/telecom/Connection$VideoProvider$VideoProviderHandler;-><init>()V
-Landroid/telecom/Connection$VideoProvider$VideoProviderHandler;-><init>(Landroid/os/Looper;)V
-Landroid/telecom/Connection$VideoProvider;->changeCallDataUsage(J)V
-Landroid/telecom/Connection$VideoProvider;->getInterface()Lcom/android/internal/telecom/IVideoProvider;
-Landroid/telecom/Connection$VideoProvider;->mBinder:Landroid/telecom/Connection$VideoProvider$VideoProviderBinder;
-Landroid/telecom/Connection$VideoProvider;->mMessageHandler:Landroid/telecom/Connection$VideoProvider$VideoProviderHandler;
-Landroid/telecom/Connection$VideoProvider;->MSG_ADD_VIDEO_CALLBACK:I
-Landroid/telecom/Connection$VideoProvider;->MSG_REMOVE_VIDEO_CALLBACK:I
-Landroid/telecom/Connection$VideoProvider;->MSG_REQUEST_CAMERA_CAPABILITIES:I
-Landroid/telecom/Connection$VideoProvider;->MSG_REQUEST_CONNECTION_DATA_USAGE:I
-Landroid/telecom/Connection$VideoProvider;->MSG_SEND_SESSION_MODIFY_REQUEST:I
-Landroid/telecom/Connection$VideoProvider;->MSG_SEND_SESSION_MODIFY_RESPONSE:I
-Landroid/telecom/Connection$VideoProvider;->MSG_SET_CAMERA:I
-Landroid/telecom/Connection$VideoProvider;->MSG_SET_DEVICE_ORIENTATION:I
-Landroid/telecom/Connection$VideoProvider;->MSG_SET_DISPLAY_SURFACE:I
-Landroid/telecom/Connection$VideoProvider;->MSG_SET_PAUSE_IMAGE:I
-Landroid/telecom/Connection$VideoProvider;->MSG_SET_PREVIEW_SURFACE:I
-Landroid/telecom/Connection$VideoProvider;->MSG_SET_ZOOM:I
-Landroid/telecom/Connection$VideoProvider;->mVideoCallbacks:Ljava/util/concurrent/ConcurrentHashMap;
-Landroid/telecom/Connection$VideoProvider;->onSetCamera(Ljava/lang/String;Ljava/lang/String;III)V
-Landroid/telecom/Connection$VideoProvider;->sessionEventToString(I)Ljava/lang/String;
-Landroid/telecom/Connection$VideoProvider;->SESSION_EVENT_CAMERA_FAILURE_STR:Ljava/lang/String;
-Landroid/telecom/Connection$VideoProvider;->SESSION_EVENT_CAMERA_PERMISSION_ERROR_STR:Ljava/lang/String;
-Landroid/telecom/Connection$VideoProvider;->SESSION_EVENT_CAMERA_READY_STR:Ljava/lang/String;
-Landroid/telecom/Connection$VideoProvider;->SESSION_EVENT_RX_PAUSE_STR:Ljava/lang/String;
-Landroid/telecom/Connection$VideoProvider;->SESSION_EVENT_RX_RESUME_STR:Ljava/lang/String;
-Landroid/telecom/Connection$VideoProvider;->SESSION_EVENT_TX_START_STR:Ljava/lang/String;
-Landroid/telecom/Connection$VideoProvider;->SESSION_EVENT_TX_STOP_STR:Ljava/lang/String;
-Landroid/telecom/Connection$VideoProvider;->SESSION_EVENT_UNKNOWN_STR:Ljava/lang/String;
-Landroid/telecom/Connection;->addCapability(I)V
-Landroid/telecom/Connection;->addConnectionListener(Landroid/telecom/Connection$Listener;)Landroid/telecom/Connection;
-Landroid/telecom/Connection;->can(I)Z
-Landroid/telecom/Connection;->can(II)Z
-Landroid/telecom/Connection;->capabilitiesToStringInternal(IZ)Ljava/lang/String;
-Landroid/telecom/Connection;->capabilitiesToStringShort(I)Ljava/lang/String;
-Landroid/telecom/Connection;->CAPABILITY_CONFERENCE_HAS_NO_CHILDREN:I
-Landroid/telecom/Connection;->CAPABILITY_SPEED_UP_MT_AUDIO:I
-Landroid/telecom/Connection;->CAPABILITY_UNUSED:I
-Landroid/telecom/Connection;->CAPABILITY_UNUSED_2:I
-Landroid/telecom/Connection;->CAPABILITY_UNUSED_3:I
-Landroid/telecom/Connection;->CAPABILITY_UNUSED_4:I
-Landroid/telecom/Connection;->CAPABILITY_UNUSED_5:I
-Landroid/telecom/Connection;->checkImmutable()V
-Landroid/telecom/Connection;->clearConferenceableList()V
-Landroid/telecom/Connection;->EVENT_CALL_REMOTELY_HELD:Ljava/lang/String;
-Landroid/telecom/Connection;->EVENT_CALL_REMOTELY_UNHELD:Ljava/lang/String;
-Landroid/telecom/Connection;->EVENT_HANDOVER_COMPLETE:Ljava/lang/String;
-Landroid/telecom/Connection;->EVENT_HANDOVER_FAILED:Ljava/lang/String;
-Landroid/telecom/Connection;->EVENT_MERGE_COMPLETE:Ljava/lang/String;
-Landroid/telecom/Connection;->EVENT_MERGE_START:Ljava/lang/String;
-Landroid/telecom/Connection;->EVENT_ON_HOLD_TONE_END:Ljava/lang/String;
-Landroid/telecom/Connection;->EVENT_ON_HOLD_TONE_START:Ljava/lang/String;
-Landroid/telecom/Connection;->EXTRA_DISABLE_ADD_CALL:Ljava/lang/String;
-Landroid/telecom/Connection;->EXTRA_ORIGINAL_CONNECTION_ID:Ljava/lang/String;
-Landroid/telecom/Connection;->fireConferenceChanged()V
-Landroid/telecom/Connection;->fireOnConferenceableConnectionsChanged()V
-Landroid/telecom/Connection;->getConnectElapsedTimeMillis()J
-Landroid/telecom/Connection;->getConnectionService()Landroid/telecom/ConnectionService;
-Landroid/telecom/Connection;->getConnectTimeMillis()J
-Landroid/telecom/Connection;->getPhoneAccountHandle()Landroid/telecom/PhoneAccountHandle;
-Landroid/telecom/Connection;->getSupportedAudioRoutes()I
-Landroid/telecom/Connection;->getTelecomCallId()Ljava/lang/String;
-Landroid/telecom/Connection;->getVideoState()I
-Landroid/telecom/Connection;->handleExtrasChanged(Landroid/os/Bundle;)V
-Landroid/telecom/Connection;->mAddress:Landroid/net/Uri;
-Landroid/telecom/Connection;->mAddressPresentation:I
-Landroid/telecom/Connection;->mAudioModeIsVoip:Z
-Landroid/telecom/Connection;->mCallAudioState:Landroid/telecom/CallAudioState;
-Landroid/telecom/Connection;->mCallerDisplayName:Ljava/lang/String;
-Landroid/telecom/Connection;->mCallerDisplayNamePresentation:I
-Landroid/telecom/Connection;->mConference:Landroid/telecom/Conference;
-Landroid/telecom/Connection;->mConferenceables:Ljava/util/List;
-Landroid/telecom/Connection;->mConferenceDeathListener:Landroid/telecom/Conference$Listener;
-Landroid/telecom/Connection;->mConnectElapsedTimeMillis:J
-Landroid/telecom/Connection;->mConnectionCapabilities:I
-Landroid/telecom/Connection;->mConnectionDeathListener:Landroid/telecom/Connection$Listener;
-Landroid/telecom/Connection;->mConnectionProperties:I
-Landroid/telecom/Connection;->mConnectionService:Landroid/telecom/ConnectionService;
-Landroid/telecom/Connection;->mConnectTimeMillis:J
-Landroid/telecom/Connection;->mDisconnectCause:Landroid/telecom/DisconnectCause;
-Landroid/telecom/Connection;->mExtras:Landroid/os/Bundle;
-Landroid/telecom/Connection;->mExtrasLock:Ljava/lang/Object;
-Landroid/telecom/Connection;->mListeners:Ljava/util/Set;
-Landroid/telecom/Connection;->mPhoneAccountHandle:Landroid/telecom/PhoneAccountHandle;
-Landroid/telecom/Connection;->mPreviousExtraKeys:Ljava/util/Set;
-Landroid/telecom/Connection;->mRingbackRequested:Z
-Landroid/telecom/Connection;->mState:I
-Landroid/telecom/Connection;->mStatusHints:Landroid/telecom/StatusHints;
-Landroid/telecom/Connection;->mSupportedAudioRoutes:I
-Landroid/telecom/Connection;->mTelecomCallId:Ljava/lang/String;
-Landroid/telecom/Connection;->mUnmodifiableConferenceables:Ljava/util/List;
-Landroid/telecom/Connection;->mVideoProvider:Landroid/telecom/Connection$VideoProvider;
-Landroid/telecom/Connection;->mVideoState:I
-Landroid/telecom/Connection;->notifyConferenceMergeFailed()V
-Landroid/telecom/Connection;->notifyConferenceStarted()V
-Landroid/telecom/Connection;->notifyConferenceSupportedChanged(Z)V
-Landroid/telecom/Connection;->notifyPhoneAccountChanged(Landroid/telecom/PhoneAccountHandle;)V
-Landroid/telecom/Connection;->onDisconnectConferenceParticipant(Landroid/net/Uri;)V
-Landroid/telecom/Connection;->onSilence()V
-Landroid/telecom/Connection;->PII_DEBUG:Z
-Landroid/telecom/Connection;->propertiesToStringInternal(IZ)Ljava/lang/String;
-Landroid/telecom/Connection;->propertiesToStringShort(I)Ljava/lang/String;
-Landroid/telecom/Connection;->PROPERTY_ASSISTED_DIALING_USED:I
-Landroid/telecom/Connection;->PROPERTY_EMERGENCY_CALLBACK_MODE:I
-Landroid/telecom/Connection;->PROPERTY_GENERIC_CONFERENCE:I
-Landroid/telecom/Connection;->PROPERTY_HIGH_DEF_AUDIO:I
-Landroid/telecom/Connection;->PROPERTY_IS_DOWNGRADED_CONFERENCE:I
-Landroid/telecom/Connection;->PROPERTY_WIFI:I
-Landroid/telecom/Connection;->putExtra(Ljava/lang/String;I)V
-Landroid/telecom/Connection;->putExtra(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telecom/Connection;->putExtra(Ljava/lang/String;Z)V
-Landroid/telecom/Connection;->removeCapability(I)V
-Landroid/telecom/Connection;->removeConnectionListener(Landroid/telecom/Connection$Listener;)Landroid/telecom/Connection;
-Landroid/telecom/Connection;->resetConference()V
-Landroid/telecom/Connection;->setCallAudioState(Landroid/telecom/CallAudioState;)V
-Landroid/telecom/Connection;->setConference(Landroid/telecom/Conference;)Z
-Landroid/telecom/Connection;->setConnectionService(Landroid/telecom/ConnectionService;)V
-Landroid/telecom/Connection;->setConnectionStartElapsedRealTime(J)V
-Landroid/telecom/Connection;->setConnectTimeMillis(J)V
-Landroid/telecom/Connection;->setPhoneAccountHandle(Landroid/telecom/PhoneAccountHandle;)V
-Landroid/telecom/Connection;->setState(I)V
-Landroid/telecom/Connection;->setSupportedAudioRoutes(I)V
-Landroid/telecom/Connection;->setTelecomCallId(Ljava/lang/String;)V
-Landroid/telecom/Connection;->toLogSafePhoneNumber(Ljava/lang/String;)Ljava/lang/String;
-Landroid/telecom/Connection;->unsetConnectionService(Landroid/telecom/ConnectionService;)V
-Landroid/telecom/Connection;->updateConferenceParticipants(Ljava/util/List;)V
-Landroid/telecom/ConnectionRequest$Builder;
-Landroid/telecom/ConnectionRequest$Builder;-><init>()V
-Landroid/telecom/ConnectionRequest$Builder;->build()Landroid/telecom/ConnectionRequest;
-Landroid/telecom/ConnectionRequest$Builder;->mAccountHandle:Landroid/telecom/PhoneAccountHandle;
-Landroid/telecom/ConnectionRequest$Builder;->mAddress:Landroid/net/Uri;
-Landroid/telecom/ConnectionRequest$Builder;->mExtras:Landroid/os/Bundle;
-Landroid/telecom/ConnectionRequest$Builder;->mRttPipeFromInCall:Landroid/os/ParcelFileDescriptor;
-Landroid/telecom/ConnectionRequest$Builder;->mRttPipeToInCall:Landroid/os/ParcelFileDescriptor;
-Landroid/telecom/ConnectionRequest$Builder;->mShouldShowIncomingCallUi:Z
-Landroid/telecom/ConnectionRequest$Builder;->mTelecomCallId:Ljava/lang/String;
-Landroid/telecom/ConnectionRequest$Builder;->mVideoState:I
-Landroid/telecom/ConnectionRequest$Builder;->setAccountHandle(Landroid/telecom/PhoneAccountHandle;)Landroid/telecom/ConnectionRequest$Builder;
-Landroid/telecom/ConnectionRequest$Builder;->setAddress(Landroid/net/Uri;)Landroid/telecom/ConnectionRequest$Builder;
-Landroid/telecom/ConnectionRequest$Builder;->setExtras(Landroid/os/Bundle;)Landroid/telecom/ConnectionRequest$Builder;
-Landroid/telecom/ConnectionRequest$Builder;->setRttPipeFromInCall(Landroid/os/ParcelFileDescriptor;)Landroid/telecom/ConnectionRequest$Builder;
-Landroid/telecom/ConnectionRequest$Builder;->setRttPipeToInCall(Landroid/os/ParcelFileDescriptor;)Landroid/telecom/ConnectionRequest$Builder;
-Landroid/telecom/ConnectionRequest$Builder;->setShouldShowIncomingCallUi(Z)Landroid/telecom/ConnectionRequest$Builder;
-Landroid/telecom/ConnectionRequest$Builder;->setTelecomCallId(Ljava/lang/String;)Landroid/telecom/ConnectionRequest$Builder;
-Landroid/telecom/ConnectionRequest$Builder;->setVideoState(I)Landroid/telecom/ConnectionRequest$Builder;
-Landroid/telecom/ConnectionRequest;-><init>(Landroid/os/Parcel;)V
-Landroid/telecom/ConnectionRequest;-><init>(Landroid/telecom/PhoneAccountHandle;Landroid/net/Uri;Landroid/os/Bundle;ILjava/lang/String;Z)V
-Landroid/telecom/ConnectionRequest;-><init>(Landroid/telecom/PhoneAccountHandle;Landroid/net/Uri;Landroid/os/Bundle;ILjava/lang/String;ZLandroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;)V
-Landroid/telecom/ConnectionRequest;->getRttPipeFromInCall()Landroid/os/ParcelFileDescriptor;
-Landroid/telecom/ConnectionRequest;->getRttPipeToInCall()Landroid/os/ParcelFileDescriptor;
-Landroid/telecom/ConnectionRequest;->getTelecomCallId()Ljava/lang/String;
-Landroid/telecom/ConnectionRequest;->mAccountHandle:Landroid/telecom/PhoneAccountHandle;
-Landroid/telecom/ConnectionRequest;->mAddress:Landroid/net/Uri;
-Landroid/telecom/ConnectionRequest;->mExtras:Landroid/os/Bundle;
-Landroid/telecom/ConnectionRequest;->mRttPipeFromInCall:Landroid/os/ParcelFileDescriptor;
-Landroid/telecom/ConnectionRequest;->mRttPipeToInCall:Landroid/os/ParcelFileDescriptor;
-Landroid/telecom/ConnectionRequest;->mRttTextStream:Landroid/telecom/Connection$RttTextStream;
-Landroid/telecom/ConnectionRequest;->mShouldShowIncomingCallUi:Z
-Landroid/telecom/ConnectionRequest;->mTelecomCallId:Ljava/lang/String;
-Landroid/telecom/ConnectionRequest;->mVideoState:I
-Landroid/telecom/ConnectionRequest;->shouldShowIncomingCallUi()Z
-Landroid/telecom/ConnectionService;->abort(Ljava/lang/String;)V
-Landroid/telecom/ConnectionService;->addConferenceInternal(Landroid/telecom/Conference;)Ljava/lang/String;
-Landroid/telecom/ConnectionService;->addConnection(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Landroid/telecom/Connection;)V
-Landroid/telecom/ConnectionService;->addExistingConnection(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/Connection;Landroid/telecom/Conference;)V
-Landroid/telecom/ConnectionService;->addExistingConnectionInternal(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/Connection;)Ljava/lang/String;
-Landroid/telecom/ConnectionService;->addRemoteConference(Landroid/telecom/RemoteConference;)V
-Landroid/telecom/ConnectionService;->addRemoteExistingConnection(Landroid/telecom/RemoteConnection;)V
-Landroid/telecom/ConnectionService;->answer(Ljava/lang/String;)V
-Landroid/telecom/ConnectionService;->answerVideo(Ljava/lang/String;I)V
-Landroid/telecom/ConnectionService;->conference(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telecom/ConnectionService;->containsConference(Landroid/telecom/Conference;)Z
-Landroid/telecom/ConnectionService;->createConnection(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Landroid/telecom/ConnectionRequest;ZZ)V
-Landroid/telecom/ConnectionService;->createConnectionFailed(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Landroid/telecom/ConnectionRequest;Z)V
-Landroid/telecom/ConnectionService;->createConnectionIdList(Ljava/util/List;)Ljava/util/List;
-Landroid/telecom/ConnectionService;->createIdList(Ljava/util/List;)Ljava/util/List;
-Landroid/telecom/ConnectionService;->deflect(Ljava/lang/String;Landroid/net/Uri;)V
-Landroid/telecom/ConnectionService;->disconnect(Ljava/lang/String;)V
-Landroid/telecom/ConnectionService;->endAllConnections()V
-Landroid/telecom/ConnectionService;->EXTRA_IS_HANDOVER:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->findConferenceForAction(Ljava/lang/String;Ljava/lang/String;)Landroid/telecom/Conference;
-Landroid/telecom/ConnectionService;->findConnectionForAction(Ljava/lang/String;Ljava/lang/String;)Landroid/telecom/Connection;
-Landroid/telecom/ConnectionService;->getNextCallId()I
-Landroid/telecom/ConnectionService;->getNullConference()Landroid/telecom/Conference;
-Landroid/telecom/ConnectionService;->getNullConnection()Landroid/telecom/Connection;
-Landroid/telecom/ConnectionService;->handleExtrasChanged(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/telecom/ConnectionService;->handleRttUpgradeResponse(Ljava/lang/String;Landroid/telecom/Connection$RttTextStream;)V
-Landroid/telecom/ConnectionService;->handoverFailed(Ljava/lang/String;Landroid/telecom/ConnectionRequest;I)V
-Landroid/telecom/ConnectionService;->hold(Ljava/lang/String;)V
-Landroid/telecom/ConnectionService;->mAdapter:Landroid/telecom/ConnectionServiceAdapter;
-Landroid/telecom/ConnectionService;->mAreAccountsInitialized:Z
-Landroid/telecom/ConnectionService;->mBinder:Landroid/os/IBinder;
-Landroid/telecom/ConnectionService;->mConferenceById:Ljava/util/Map;
-Landroid/telecom/ConnectionService;->mConferenceListener:Landroid/telecom/Conference$Listener;
-Landroid/telecom/ConnectionService;->mConnectionById:Ljava/util/Map;
-Landroid/telecom/ConnectionService;->mConnectionListener:Landroid/telecom/Connection$Listener;
-Landroid/telecom/ConnectionService;->mergeConference(Ljava/lang/String;)V
-Landroid/telecom/ConnectionService;->mHandler:Landroid/os/Handler;
-Landroid/telecom/ConnectionService;->mId:I
-Landroid/telecom/ConnectionService;->mIdByConference:Ljava/util/Map;
-Landroid/telecom/ConnectionService;->mIdByConnection:Ljava/util/Map;
-Landroid/telecom/ConnectionService;->mIdSyncRoot:Ljava/lang/Object;
-Landroid/telecom/ConnectionService;->mPreInitializationConnectionRequests:Ljava/util/List;
-Landroid/telecom/ConnectionService;->mRemoteConnectionManager:Landroid/telecom/RemoteConnectionManager;
-Landroid/telecom/ConnectionService;->MSG_ABORT:I
-Landroid/telecom/ConnectionService;->MSG_ADD_CONNECTION_SERVICE_ADAPTER:I
-Landroid/telecom/ConnectionService;->MSG_ANSWER:I
-Landroid/telecom/ConnectionService;->MSG_ANSWER_VIDEO:I
-Landroid/telecom/ConnectionService;->MSG_CONFERENCE:I
-Landroid/telecom/ConnectionService;->MSG_CONNECTION_SERVICE_FOCUS_GAINED:I
-Landroid/telecom/ConnectionService;->MSG_CONNECTION_SERVICE_FOCUS_LOST:I
-Landroid/telecom/ConnectionService;->MSG_CREATE_CONNECTION:I
-Landroid/telecom/ConnectionService;->MSG_CREATE_CONNECTION_COMPLETE:I
-Landroid/telecom/ConnectionService;->MSG_CREATE_CONNECTION_FAILED:I
-Landroid/telecom/ConnectionService;->MSG_DEFLECT:I
-Landroid/telecom/ConnectionService;->MSG_DISCONNECT:I
-Landroid/telecom/ConnectionService;->MSG_HANDOVER_COMPLETE:I
-Landroid/telecom/ConnectionService;->MSG_HANDOVER_FAILED:I
-Landroid/telecom/ConnectionService;->MSG_HOLD:I
-Landroid/telecom/ConnectionService;->MSG_MERGE_CONFERENCE:I
-Landroid/telecom/ConnectionService;->MSG_ON_CALL_AUDIO_STATE_CHANGED:I
-Landroid/telecom/ConnectionService;->MSG_ON_EXTRAS_CHANGED:I
-Landroid/telecom/ConnectionService;->MSG_ON_POST_DIAL_CONTINUE:I
-Landroid/telecom/ConnectionService;->MSG_ON_START_RTT:I
-Landroid/telecom/ConnectionService;->MSG_ON_STOP_RTT:I
-Landroid/telecom/ConnectionService;->MSG_PLAY_DTMF_TONE:I
-Landroid/telecom/ConnectionService;->MSG_PULL_EXTERNAL_CALL:I
-Landroid/telecom/ConnectionService;->MSG_REJECT:I
-Landroid/telecom/ConnectionService;->MSG_REJECT_WITH_MESSAGE:I
-Landroid/telecom/ConnectionService;->MSG_REMOVE_CONNECTION_SERVICE_ADAPTER:I
-Landroid/telecom/ConnectionService;->MSG_RTT_UPGRADE_RESPONSE:I
-Landroid/telecom/ConnectionService;->MSG_SEND_CALL_EVENT:I
-Landroid/telecom/ConnectionService;->MSG_SILENCE:I
-Landroid/telecom/ConnectionService;->MSG_SPLIT_FROM_CONFERENCE:I
-Landroid/telecom/ConnectionService;->MSG_STOP_DTMF_TONE:I
-Landroid/telecom/ConnectionService;->MSG_SWAP_CONFERENCE:I
-Landroid/telecom/ConnectionService;->MSG_UNHOLD:I
-Landroid/telecom/ConnectionService;->notifyCreateConnectionComplete(Ljava/lang/String;)V
-Landroid/telecom/ConnectionService;->notifyHandoverComplete(Ljava/lang/String;)V
-Landroid/telecom/ConnectionService;->onAccountsInitialized()V
-Landroid/telecom/ConnectionService;->onAdapterAttached()V
-Landroid/telecom/ConnectionService;->onCallAudioStateChanged(Ljava/lang/String;Landroid/telecom/CallAudioState;)V
-Landroid/telecom/ConnectionService;->onConferenceAdded(Landroid/telecom/Conference;)V
-Landroid/telecom/ConnectionService;->onConferenceRemoved(Landroid/telecom/Conference;)V
-Landroid/telecom/ConnectionService;->onConnectionAdded(Landroid/telecom/Connection;)V
-Landroid/telecom/ConnectionService;->onConnectionRemoved(Landroid/telecom/Connection;)V
-Landroid/telecom/ConnectionService;->onCreateConnectionComplete(Landroid/telecom/Connection;)V
-Landroid/telecom/ConnectionService;->onCreateUnknownConnection(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/Connection;
-Landroid/telecom/ConnectionService;->onPostDialContinue(Ljava/lang/String;Z)V
-Landroid/telecom/ConnectionService;->PII_DEBUG:Z
-Landroid/telecom/ConnectionService;->playDtmfTone(Ljava/lang/String;C)V
-Landroid/telecom/ConnectionService;->pullExternalCall(Ljava/lang/String;)V
-Landroid/telecom/ConnectionService;->reject(Ljava/lang/String;)V
-Landroid/telecom/ConnectionService;->reject(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telecom/ConnectionService;->removeConference(Landroid/telecom/Conference;)V
-Landroid/telecom/ConnectionService;->removeConnection(Landroid/telecom/Connection;)V
-Landroid/telecom/ConnectionService;->sendCallEvent(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/telecom/ConnectionService;->SESSION_ABORT:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_ADD_CS_ADAPTER:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_ANSWER:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_ANSWER_VIDEO:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_CALL_AUDIO_SC:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_CONFERENCE:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_CONNECTION_SERVICE_FOCUS_GAINED:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_CONNECTION_SERVICE_FOCUS_LOST:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_CREATE_CONN:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_CREATE_CONN_COMPLETE:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_CREATE_CONN_FAILED:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_DEFLECT:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_DISCONNECT:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_EXTRAS_CHANGED:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_HANDLER:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_HANDOVER_COMPLETE:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_HANDOVER_FAILED:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_HOLD:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_MERGE_CONFERENCE:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_PLAY_DTMF:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_POST_DIAL_CONT:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_PULL_EXTERNAL_CALL:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_REJECT:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_REJECT_MESSAGE:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_REMOVE_CS_ADAPTER:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_RTT_UPGRADE_RESPONSE:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_SEND_CALL_EVENT:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_SILENCE:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_SPLIT_CONFERENCE:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_START_RTT:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_STOP_DTMF:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_STOP_RTT:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_SWAP_CONFERENCE:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_UNHOLD:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->SESSION_UPDATE_RTT_PIPES:Ljava/lang/String;
-Landroid/telecom/ConnectionService;->silence(Ljava/lang/String;)V
-Landroid/telecom/ConnectionService;->sNullConference:Landroid/telecom/Conference;
-Landroid/telecom/ConnectionService;->sNullConnection:Landroid/telecom/Connection;
-Landroid/telecom/ConnectionService;->splitFromConference(Ljava/lang/String;)V
-Landroid/telecom/ConnectionService;->startRtt(Ljava/lang/String;Landroid/telecom/Connection$RttTextStream;)V
-Landroid/telecom/ConnectionService;->stopDtmfTone(Ljava/lang/String;)V
-Landroid/telecom/ConnectionService;->stopRtt(Ljava/lang/String;)V
-Landroid/telecom/ConnectionService;->swapConference(Ljava/lang/String;)V
-Landroid/telecom/ConnectionService;->triggerConferenceRecalculate()V
-Landroid/telecom/ConnectionService;->unhold(Ljava/lang/String;)V
-Landroid/telecom/ConnectionServiceAdapter;
-Landroid/telecom/ConnectionServiceAdapter;-><init>()V
-Landroid/telecom/ConnectionServiceAdapter;->addAdapter(Lcom/android/internal/telecom/IConnectionServiceAdapter;)V
-Landroid/telecom/ConnectionServiceAdapter;->addConferenceCall(Ljava/lang/String;Landroid/telecom/ParcelableConference;)V
-Landroid/telecom/ConnectionServiceAdapter;->addExistingConnection(Ljava/lang/String;Landroid/telecom/ParcelableConnection;)V
-Landroid/telecom/ConnectionServiceAdapter;->handleCreateConnectionComplete(Ljava/lang/String;Landroid/telecom/ConnectionRequest;Landroid/telecom/ParcelableConnection;)V
-Landroid/telecom/ConnectionServiceAdapter;->mAdapters:Ljava/util/Set;
-Landroid/telecom/ConnectionServiceAdapter;->onConferenceMergeFailed(Ljava/lang/String;)V
-Landroid/telecom/ConnectionServiceAdapter;->onConnectionEvent(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/telecom/ConnectionServiceAdapter;->onConnectionServiceFocusReleased()V
-Landroid/telecom/ConnectionServiceAdapter;->onPhoneAccountChanged(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;)V
-Landroid/telecom/ConnectionServiceAdapter;->onPostDialChar(Ljava/lang/String;C)V
-Landroid/telecom/ConnectionServiceAdapter;->onPostDialWait(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telecom/ConnectionServiceAdapter;->onRemoteRttRequest(Ljava/lang/String;)V
-Landroid/telecom/ConnectionServiceAdapter;->onRttInitiationFailure(Ljava/lang/String;I)V
-Landroid/telecom/ConnectionServiceAdapter;->onRttInitiationSuccess(Ljava/lang/String;)V
-Landroid/telecom/ConnectionServiceAdapter;->onRttSessionRemotelyTerminated(Ljava/lang/String;)V
-Landroid/telecom/ConnectionServiceAdapter;->putExtra(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/telecom/ConnectionServiceAdapter;->putExtra(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telecom/ConnectionServiceAdapter;->putExtra(Ljava/lang/String;Ljava/lang/String;Z)V
-Landroid/telecom/ConnectionServiceAdapter;->putExtras(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/telecom/ConnectionServiceAdapter;->queryRemoteConnectionServices(Lcom/android/internal/telecom/RemoteServiceCallback;)V
-Landroid/telecom/ConnectionServiceAdapter;->removeAdapter(Lcom/android/internal/telecom/IConnectionServiceAdapter;)V
-Landroid/telecom/ConnectionServiceAdapter;->removeCall(Ljava/lang/String;)V
-Landroid/telecom/ConnectionServiceAdapter;->removeExtras(Ljava/lang/String;Ljava/util/List;)V
-Landroid/telecom/ConnectionServiceAdapter;->setActive(Ljava/lang/String;)V
-Landroid/telecom/ConnectionServiceAdapter;->setAddress(Ljava/lang/String;Landroid/net/Uri;I)V
-Landroid/telecom/ConnectionServiceAdapter;->setAudioRoute(Ljava/lang/String;ILjava/lang/String;)V
-Landroid/telecom/ConnectionServiceAdapter;->setCallerDisplayName(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/telecom/ConnectionServiceAdapter;->setConferenceableConnections(Ljava/lang/String;Ljava/util/List;)V
-Landroid/telecom/ConnectionServiceAdapter;->setConnectionCapabilities(Ljava/lang/String;I)V
-Landroid/telecom/ConnectionServiceAdapter;->setConnectionProperties(Ljava/lang/String;I)V
-Landroid/telecom/ConnectionServiceAdapter;->setDialing(Ljava/lang/String;)V
-Landroid/telecom/ConnectionServiceAdapter;->setDisconnected(Ljava/lang/String;Landroid/telecom/DisconnectCause;)V
-Landroid/telecom/ConnectionServiceAdapter;->setIsConferenced(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telecom/ConnectionServiceAdapter;->setIsVoipAudioMode(Ljava/lang/String;Z)V
-Landroid/telecom/ConnectionServiceAdapter;->setOnHold(Ljava/lang/String;)V
-Landroid/telecom/ConnectionServiceAdapter;->setPulling(Ljava/lang/String;)V
-Landroid/telecom/ConnectionServiceAdapter;->setRingbackRequested(Ljava/lang/String;Z)V
-Landroid/telecom/ConnectionServiceAdapter;->setRinging(Ljava/lang/String;)V
-Landroid/telecom/ConnectionServiceAdapter;->setStatusHints(Ljava/lang/String;Landroid/telecom/StatusHints;)V
-Landroid/telecom/ConnectionServiceAdapter;->setVideoProvider(Ljava/lang/String;Landroid/telecom/Connection$VideoProvider;)V
-Landroid/telecom/ConnectionServiceAdapter;->setVideoState(Ljava/lang/String;I)V
-Landroid/telecom/ConnectionServiceAdapterServant;
-Landroid/telecom/ConnectionServiceAdapterServant;-><init>(Lcom/android/internal/telecom/IConnectionServiceAdapter;)V
-Landroid/telecom/ConnectionServiceAdapterServant;->getStub()Lcom/android/internal/telecom/IConnectionServiceAdapter;
-Landroid/telecom/ConnectionServiceAdapterServant;->mDelegate:Lcom/android/internal/telecom/IConnectionServiceAdapter;
-Landroid/telecom/ConnectionServiceAdapterServant;->mHandler:Landroid/os/Handler;
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_ADD_CONFERENCE_CALL:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_ADD_EXISTING_CONNECTION:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_CONNECTION_SERVICE_FOCUS_RELEASED:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_HANDLE_CREATE_CONNECTION_COMPLETE:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_ON_CONNECTION_EVENT:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_ON_POST_DIAL_CHAR:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_ON_POST_DIAL_WAIT:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_ON_RTT_INITIATION_FAILURE:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_ON_RTT_INITIATION_SUCCESS:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_ON_RTT_REMOTELY_TERMINATED:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_ON_RTT_UPGRADE_REQUEST:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_PUT_EXTRAS:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_QUERY_REMOTE_CALL_SERVICES:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_REMOVE_CALL:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_REMOVE_EXTRAS:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_SET_ACTIVE:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_SET_ADDRESS:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_SET_AUDIO_ROUTE:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_SET_CALLER_DISPLAY_NAME:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_SET_CONFERENCEABLE_CONNECTIONS:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_SET_CONFERENCE_MERGE_FAILED:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_SET_CONNECTION_CAPABILITIES:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_SET_CONNECTION_PROPERTIES:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_SET_DIALING:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_SET_DISCONNECTED:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_SET_IS_CONFERENCED:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_SET_IS_VOIP_AUDIO_MODE:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_SET_ON_HOLD:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_SET_PHONE_ACCOUNT_CHANGED:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_SET_PULLING:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_SET_RINGBACK_REQUESTED:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_SET_RINGING:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_SET_STATUS_HINTS:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_SET_VIDEO_CALL_PROVIDER:I
-Landroid/telecom/ConnectionServiceAdapterServant;->MSG_SET_VIDEO_STATE:I
-Landroid/telecom/ConnectionServiceAdapterServant;->mStub:Lcom/android/internal/telecom/IConnectionServiceAdapter;
-Landroid/telecom/DefaultDialerManager;
-Landroid/telecom/DefaultDialerManager;-><init>()V
-Landroid/telecom/DefaultDialerManager;->filterByIntent(Landroid/content/Context;Ljava/util/List;Landroid/content/Intent;I)Ljava/util/List;
-Landroid/telecom/DefaultDialerManager;->getDefaultDialerApplication(Landroid/content/Context;)Ljava/lang/String;
-Landroid/telecom/DefaultDialerManager;->getDefaultDialerApplication(Landroid/content/Context;I)Ljava/lang/String;
-Landroid/telecom/DefaultDialerManager;->getInstalledDialerApplications(Landroid/content/Context;)Ljava/util/List;
-Landroid/telecom/DefaultDialerManager;->getInstalledDialerApplications(Landroid/content/Context;I)Ljava/util/List;
-Landroid/telecom/DefaultDialerManager;->getTelecomManager(Landroid/content/Context;)Landroid/telecom/TelecomManager;
-Landroid/telecom/DefaultDialerManager;->isDefaultOrSystemDialer(Landroid/content/Context;Ljava/lang/String;)Z
-Landroid/telecom/DefaultDialerManager;->setDefaultDialerApplication(Landroid/content/Context;Ljava/lang/String;)Z
-Landroid/telecom/DefaultDialerManager;->setDefaultDialerApplication(Landroid/content/Context;Ljava/lang/String;I)Z
-Landroid/telecom/DefaultDialerManager;->TAG:Ljava/lang/String;
-Landroid/telecom/DisconnectCause;->mDisconnectCode:I
-Landroid/telecom/DisconnectCause;->mDisconnectDescription:Ljava/lang/CharSequence;
-Landroid/telecom/DisconnectCause;->mDisconnectLabel:Ljava/lang/CharSequence;
-Landroid/telecom/DisconnectCause;->mDisconnectReason:Ljava/lang/String;
-Landroid/telecom/DisconnectCause;->mToneToPlay:I
-Landroid/telecom/DisconnectCause;->REASON_IMS_ACCESS_BLOCKED:Ljava/lang/String;
-Landroid/telecom/DisconnectCause;->REASON_WIFI_ON_BUT_WFC_OFF:Ljava/lang/String;
-Landroid/telecom/GatewayInfo;->mGatewayAddress:Landroid/net/Uri;
-Landroid/telecom/GatewayInfo;->mGatewayProviderPackageName:Ljava/lang/String;
-Landroid/telecom/GatewayInfo;->mOriginalAddress:Landroid/net/Uri;
-Landroid/telecom/InCallAdapter;
-Landroid/telecom/InCallAdapter;-><init>(Lcom/android/internal/telecom/IInCallAdapter;)V
-Landroid/telecom/InCallAdapter;->answerCall(Ljava/lang/String;I)V
-Landroid/telecom/InCallAdapter;->conference(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telecom/InCallAdapter;->deflectCall(Ljava/lang/String;Landroid/net/Uri;)V
-Landroid/telecom/InCallAdapter;->disconnectCall(Ljava/lang/String;)V
-Landroid/telecom/InCallAdapter;->handoverTo(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;ILandroid/os/Bundle;)V
-Landroid/telecom/InCallAdapter;->holdCall(Ljava/lang/String;)V
-Landroid/telecom/InCallAdapter;->mAdapter:Lcom/android/internal/telecom/IInCallAdapter;
-Landroid/telecom/InCallAdapter;->mergeConference(Ljava/lang/String;)V
-Landroid/telecom/InCallAdapter;->mute(Z)V
-Landroid/telecom/InCallAdapter;->phoneAccountSelected(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;Z)V
-Landroid/telecom/InCallAdapter;->playDtmfTone(Ljava/lang/String;C)V
-Landroid/telecom/InCallAdapter;->postDialContinue(Ljava/lang/String;Z)V
-Landroid/telecom/InCallAdapter;->pullExternalCall(Ljava/lang/String;)V
-Landroid/telecom/InCallAdapter;->putExtra(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/telecom/InCallAdapter;->putExtra(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telecom/InCallAdapter;->putExtra(Ljava/lang/String;Ljava/lang/String;Z)V
-Landroid/telecom/InCallAdapter;->putExtras(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/telecom/InCallAdapter;->rejectCall(Ljava/lang/String;ZLjava/lang/String;)V
-Landroid/telecom/InCallAdapter;->removeExtras(Ljava/lang/String;Ljava/util/List;)V
-Landroid/telecom/InCallAdapter;->requestBluetoothAudio(Ljava/lang/String;)V
-Landroid/telecom/InCallAdapter;->respondToRttRequest(Ljava/lang/String;IZ)V
-Landroid/telecom/InCallAdapter;->sendCallEvent(Ljava/lang/String;Ljava/lang/String;ILandroid/os/Bundle;)V
-Landroid/telecom/InCallAdapter;->sendRttRequest(Ljava/lang/String;)V
-Landroid/telecom/InCallAdapter;->setAudioRoute(I)V
-Landroid/telecom/InCallAdapter;->setRttMode(Ljava/lang/String;I)V
-Landroid/telecom/InCallAdapter;->splitFromConference(Ljava/lang/String;)V
-Landroid/telecom/InCallAdapter;->stopDtmfTone(Ljava/lang/String;)V
-Landroid/telecom/InCallAdapter;->stopRtt(Ljava/lang/String;)V
-Landroid/telecom/InCallAdapter;->swapConference(Ljava/lang/String;)V
-Landroid/telecom/InCallAdapter;->turnProximitySensorOff(Z)V
-Landroid/telecom/InCallAdapter;->turnProximitySensorOn()V
-Landroid/telecom/InCallAdapter;->unholdCall(Ljava/lang/String;)V
-Landroid/telecom/InCallService$InCallServiceBinder;
-Landroid/telecom/InCallService$InCallServiceBinder;-><init>()V
-Landroid/telecom/InCallService$InCallServiceBinder;->addCall(Landroid/telecom/ParcelableCall;)V
-Landroid/telecom/InCallService$InCallServiceBinder;->bringToForeground(Z)V
-Landroid/telecom/InCallService$InCallServiceBinder;->onCallAudioStateChanged(Landroid/telecom/CallAudioState;)V
-Landroid/telecom/InCallService$InCallServiceBinder;->onCanAddCallChanged(Z)V
-Landroid/telecom/InCallService$InCallServiceBinder;->onConnectionEvent(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/telecom/InCallService$InCallServiceBinder;->onHandoverComplete(Ljava/lang/String;)V
-Landroid/telecom/InCallService$InCallServiceBinder;->onHandoverFailed(Ljava/lang/String;I)V
-Landroid/telecom/InCallService$InCallServiceBinder;->onRttInitiationFailure(Ljava/lang/String;I)V
-Landroid/telecom/InCallService$InCallServiceBinder;->onRttUpgradeRequest(Ljava/lang/String;I)V
-Landroid/telecom/InCallService$InCallServiceBinder;->setInCallAdapter(Lcom/android/internal/telecom/IInCallAdapter;)V
-Landroid/telecom/InCallService$InCallServiceBinder;->setPostDial(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telecom/InCallService$InCallServiceBinder;->setPostDialWait(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telecom/InCallService$InCallServiceBinder;->silenceRinger()V
-Landroid/telecom/InCallService$InCallServiceBinder;->updateCall(Landroid/telecom/ParcelableCall;)V
-Landroid/telecom/InCallService$VideoCall;->destroy()V
-Landroid/telecom/InCallService;->getAudioState()Landroid/telecom/AudioState;
-Landroid/telecom/InCallService;->mHandler:Landroid/os/Handler;
-Landroid/telecom/InCallService;->mPhone:Landroid/telecom/Phone;
-Landroid/telecom/InCallService;->mPhoneListener:Landroid/telecom/Phone$Listener;
-Landroid/telecom/InCallService;->MSG_ADD_CALL:I
-Landroid/telecom/InCallService;->MSG_BRING_TO_FOREGROUND:I
-Landroid/telecom/InCallService;->MSG_ON_CALL_AUDIO_STATE_CHANGED:I
-Landroid/telecom/InCallService;->MSG_ON_CAN_ADD_CALL_CHANGED:I
-Landroid/telecom/InCallService;->MSG_ON_CONNECTION_EVENT:I
-Landroid/telecom/InCallService;->MSG_ON_HANDOVER_COMPLETE:I
-Landroid/telecom/InCallService;->MSG_ON_HANDOVER_FAILED:I
-Landroid/telecom/InCallService;->MSG_ON_RTT_INITIATION_FAILURE:I
-Landroid/telecom/InCallService;->MSG_ON_RTT_UPGRADE_REQUEST:I
-Landroid/telecom/InCallService;->MSG_SET_IN_CALL_ADAPTER:I
-Landroid/telecom/InCallService;->MSG_SET_POST_DIAL_WAIT:I
-Landroid/telecom/InCallService;->MSG_SILENCE_RINGER:I
-Landroid/telecom/InCallService;->MSG_UPDATE_CALL:I
-Landroid/telecom/InCallService;->onAudioStateChanged(Landroid/telecom/AudioState;)V
-Landroid/telecom/Log;
-Landroid/telecom/Log;-><init>()V
-Landroid/telecom/Log;->addEvent(Landroid/telecom/Logging/EventManager$Loggable;Ljava/lang/String;)V
-Landroid/telecom/Log;->addEvent(Landroid/telecom/Logging/EventManager$Loggable;Ljava/lang/String;Ljava/lang/Object;)V
-Landroid/telecom/Log;->addEvent(Landroid/telecom/Logging/EventManager$Loggable;Ljava/lang/String;Ljava/lang/String;[[Ljava/lang/Object;)V
-Landroid/telecom/Log;->addRequestResponsePair(Landroid/telecom/Logging/EventManager$TimedEventPair;)V
-Landroid/telecom/Log;->buildMessage(Ljava/lang/String;Ljava/lang/String;[[Ljava/lang/Object;)Ljava/lang/String;
-Landroid/telecom/Log;->cancelSubsession(Landroid/telecom/Logging/Session;)V
-Landroid/telecom/Log;->continueSession(Landroid/telecom/Logging/Session;Ljava/lang/String;)V
-Landroid/telecom/Log;->createSubsession()Landroid/telecom/Logging/Session;
-Landroid/telecom/Log;->d(Ljava/lang/Object;Ljava/lang/String;[[Ljava/lang/Object;)V
-Landroid/telecom/Log;->d(Ljava/lang/String;Ljava/lang/String;[[Ljava/lang/Object;)V
-Landroid/telecom/Log;->DEBUG:Z
-Landroid/telecom/Log;->dumpEvents(Lcom/android/internal/util/IndentingPrintWriter;)V
-Landroid/telecom/Log;->dumpEventsTimeline(Lcom/android/internal/util/IndentingPrintWriter;)V
-Landroid/telecom/Log;->e(Ljava/lang/Object;Ljava/lang/Throwable;Ljava/lang/String;[[Ljava/lang/Object;)V
-Landroid/telecom/Log;->e(Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;[[Ljava/lang/Object;)V
-Landroid/telecom/Log;->endSession()V
-Landroid/telecom/Log;->ERROR:Z
-Landroid/telecom/Log;->EVENTS_TO_CACHE:I
-Landroid/telecom/Log;->EVENTS_TO_CACHE_DEBUG:I
-Landroid/telecom/Log;->EXTENDED_LOGGING_DURATION_MILLIS:J
-Landroid/telecom/Log;->FORCE_LOGGING:Z
-Landroid/telecom/Log;->getEventManager()Landroid/telecom/Logging/EventManager;
-Landroid/telecom/Log;->getExternalSession()Landroid/telecom/Logging/Session$Info;
-Landroid/telecom/Log;->getPrefixFromObject(Ljava/lang/Object;)Ljava/lang/String;
-Landroid/telecom/Log;->getSessionId()Ljava/lang/String;
-Landroid/telecom/Log;->getSessionManager()Landroid/telecom/Logging/SessionManager;
-Landroid/telecom/Log;->i(Ljava/lang/Object;Ljava/lang/String;[[Ljava/lang/Object;)V
-Landroid/telecom/Log;->i(Ljava/lang/String;Ljava/lang/String;[[Ljava/lang/Object;)V
-Landroid/telecom/Log;->INFO:Z
-Landroid/telecom/Log;->isLoggable(I)Z
-Landroid/telecom/Log;->maybeDisableLogging()V
-Landroid/telecom/Log;->pii(Ljava/lang/Object;)Ljava/lang/String;
-Landroid/telecom/Log;->piiHandle(Ljava/lang/Object;)Ljava/lang/String;
-Landroid/telecom/Log;->registerEventListener(Landroid/telecom/Logging/EventManager$EventListener;)V
-Landroid/telecom/Log;->registerSessionListener(Landroid/telecom/Logging/SessionManager$ISessionListener;)V
-Landroid/telecom/Log;->setIsExtendedLoggingEnabled(Z)V
-Landroid/telecom/Log;->setSessionContext(Landroid/content/Context;)V
-Landroid/telecom/Log;->setTag(Ljava/lang/String;)V
-Landroid/telecom/Log;->sEventManager:Landroid/telecom/Logging/EventManager;
-Landroid/telecom/Log;->sIsUserExtendedLoggingEnabled:Z
-Landroid/telecom/Log;->sSessionManager:Landroid/telecom/Logging/SessionManager;
-Landroid/telecom/Log;->sSingletonSync:Ljava/lang/Object;
-Landroid/telecom/Log;->startSession(Landroid/telecom/Logging/Session$Info;Ljava/lang/String;)V
-Landroid/telecom/Log;->startSession(Landroid/telecom/Logging/Session$Info;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telecom/Log;->startSession(Ljava/lang/String;)V
-Landroid/telecom/Log;->startSession(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telecom/Log;->sUserExtendedLoggingStopTime:J
-Landroid/telecom/Log;->TAG:Ljava/lang/String;
-Landroid/telecom/Log;->USER_BUILD:Z
-Landroid/telecom/Log;->v(Ljava/lang/Object;Ljava/lang/String;[[Ljava/lang/Object;)V
-Landroid/telecom/Log;->v(Ljava/lang/String;Ljava/lang/String;[[Ljava/lang/Object;)V
-Landroid/telecom/Log;->VERBOSE:Z
-Landroid/telecom/Log;->w(Ljava/lang/Object;Ljava/lang/String;[[Ljava/lang/Object;)V
-Landroid/telecom/Log;->w(Ljava/lang/String;Ljava/lang/String;[[Ljava/lang/Object;)V
-Landroid/telecom/Log;->WARN:Z
-Landroid/telecom/Log;->wtf(Ljava/lang/Object;Ljava/lang/String;[[Ljava/lang/Object;)V
-Landroid/telecom/Log;->wtf(Ljava/lang/Object;Ljava/lang/Throwable;Ljava/lang/String;[[Ljava/lang/Object;)V
-Landroid/telecom/Log;->wtf(Ljava/lang/String;Ljava/lang/String;[[Ljava/lang/Object;)V
-Landroid/telecom/Log;->wtf(Ljava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;[[Ljava/lang/Object;)V
-Landroid/telecom/ParcelableCall;
-Landroid/telecom/ParcelableCall;-><init>(Ljava/lang/String;ILandroid/telecom/DisconnectCause;Ljava/util/List;IIIJLandroid/net/Uri;ILjava/lang/String;ILandroid/telecom/GatewayInfo;Landroid/telecom/PhoneAccountHandle;ZLcom/android/internal/telecom/IVideoProvider;ZLandroid/telecom/ParcelableRttCall;Ljava/lang/String;Ljava/util/List;Landroid/telecom/StatusHints;ILjava/util/List;Landroid/os/Bundle;Landroid/os/Bundle;J)V
-Landroid/telecom/ParcelableCall;->getAccountHandle()Landroid/telecom/PhoneAccountHandle;
-Landroid/telecom/ParcelableCall;->getCallerDisplayName()Ljava/lang/String;
-Landroid/telecom/ParcelableCall;->getCallerDisplayNamePresentation()I
-Landroid/telecom/ParcelableCall;->getCannedSmsResponses()Ljava/util/List;
-Landroid/telecom/ParcelableCall;->getCapabilities()I
-Landroid/telecom/ParcelableCall;->getChildCallIds()Ljava/util/List;
-Landroid/telecom/ParcelableCall;->getConferenceableCallIds()Ljava/util/List;
-Landroid/telecom/ParcelableCall;->getCreationTimeMillis()J
-Landroid/telecom/ParcelableCall;->getExtras()Landroid/os/Bundle;
-Landroid/telecom/ParcelableCall;->getGatewayInfo()Landroid/telecom/GatewayInfo;
-Landroid/telecom/ParcelableCall;->getHandlePresentation()I
-Landroid/telecom/ParcelableCall;->getIntentExtras()Landroid/os/Bundle;
-Landroid/telecom/ParcelableCall;->getIsRttCallChanged()Z
-Landroid/telecom/ParcelableCall;->getParcelableRttCall()Landroid/telecom/ParcelableRttCall;
-Landroid/telecom/ParcelableCall;->getParentCallId()Ljava/lang/String;
-Landroid/telecom/ParcelableCall;->getProperties()I
-Landroid/telecom/ParcelableCall;->getState()I
-Landroid/telecom/ParcelableCall;->getStatusHints()Landroid/telecom/StatusHints;
-Landroid/telecom/ParcelableCall;->getSupportedAudioRoutes()I
-Landroid/telecom/ParcelableCall;->getVideoCallImpl(Ljava/lang/String;I)Landroid/telecom/VideoCallImpl;
-Landroid/telecom/ParcelableCall;->getVideoState()I
-Landroid/telecom/ParcelableCall;->isVideoCallProviderChanged()Z
-Landroid/telecom/ParcelableCall;->mAccountHandle:Landroid/telecom/PhoneAccountHandle;
-Landroid/telecom/ParcelableCall;->mCallerDisplayName:Ljava/lang/String;
-Landroid/telecom/ParcelableCall;->mCallerDisplayNamePresentation:I
-Landroid/telecom/ParcelableCall;->mCannedSmsResponses:Ljava/util/List;
-Landroid/telecom/ParcelableCall;->mCapabilities:I
-Landroid/telecom/ParcelableCall;->mChildCallIds:Ljava/util/List;
-Landroid/telecom/ParcelableCall;->mConferenceableCallIds:Ljava/util/List;
-Landroid/telecom/ParcelableCall;->mConnectTimeMillis:J
-Landroid/telecom/ParcelableCall;->mCreationTimeMillis:J
-Landroid/telecom/ParcelableCall;->mDisconnectCause:Landroid/telecom/DisconnectCause;
-Landroid/telecom/ParcelableCall;->mExtras:Landroid/os/Bundle;
-Landroid/telecom/ParcelableCall;->mGatewayInfo:Landroid/telecom/GatewayInfo;
-Landroid/telecom/ParcelableCall;->mHandle:Landroid/net/Uri;
-Landroid/telecom/ParcelableCall;->mHandlePresentation:I
-Landroid/telecom/ParcelableCall;->mId:Ljava/lang/String;
-Landroid/telecom/ParcelableCall;->mIntentExtras:Landroid/os/Bundle;
-Landroid/telecom/ParcelableCall;->mIsRttCallChanged:Z
-Landroid/telecom/ParcelableCall;->mIsVideoCallProviderChanged:Z
-Landroid/telecom/ParcelableCall;->mParentCallId:Ljava/lang/String;
-Landroid/telecom/ParcelableCall;->mProperties:I
-Landroid/telecom/ParcelableCall;->mRttCall:Landroid/telecom/ParcelableRttCall;
-Landroid/telecom/ParcelableCall;->mState:I
-Landroid/telecom/ParcelableCall;->mStatusHints:Landroid/telecom/StatusHints;
-Landroid/telecom/ParcelableCall;->mSupportedAudioRoutes:I
-Landroid/telecom/ParcelableCall;->mVideoCall:Landroid/telecom/VideoCallImpl;
-Landroid/telecom/ParcelableCall;->mVideoCallProvider:Lcom/android/internal/telecom/IVideoProvider;
-Landroid/telecom/ParcelableCall;->mVideoState:I
-Landroid/telecom/ParcelableCallAnalytics$AnalyticsEvent;-><init>(Landroid/os/Parcel;)V
-Landroid/telecom/ParcelableCallAnalytics$AnalyticsEvent;->mEventName:I
-Landroid/telecom/ParcelableCallAnalytics$AnalyticsEvent;->mTimeSinceLastEvent:J
-Landroid/telecom/ParcelableCallAnalytics$EventTiming;-><init>(Landroid/os/Parcel;)V
-Landroid/telecom/ParcelableCallAnalytics$EventTiming;->mName:I
-Landroid/telecom/ParcelableCallAnalytics$EventTiming;->mTime:J
-Landroid/telecom/ParcelableCallAnalytics$VideoEvent;
-Landroid/telecom/ParcelableCallAnalytics$VideoEvent;-><init>(IJI)V
-Landroid/telecom/ParcelableCallAnalytics$VideoEvent;-><init>(Landroid/os/Parcel;)V
-Landroid/telecom/ParcelableCallAnalytics$VideoEvent;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telecom/ParcelableCallAnalytics$VideoEvent;->getEventName()I
-Landroid/telecom/ParcelableCallAnalytics$VideoEvent;->getTimeSinceLastEvent()J
-Landroid/telecom/ParcelableCallAnalytics$VideoEvent;->getVideoState()I
-Landroid/telecom/ParcelableCallAnalytics$VideoEvent;->mEventName:I
-Landroid/telecom/ParcelableCallAnalytics$VideoEvent;->mTimeSinceLastEvent:J
-Landroid/telecom/ParcelableCallAnalytics$VideoEvent;->mVideoState:I
-Landroid/telecom/ParcelableCallAnalytics$VideoEvent;->RECEIVE_REMOTE_SESSION_MODIFY_REQUEST:I
-Landroid/telecom/ParcelableCallAnalytics$VideoEvent;->RECEIVE_REMOTE_SESSION_MODIFY_RESPONSE:I
-Landroid/telecom/ParcelableCallAnalytics$VideoEvent;->SEND_LOCAL_SESSION_MODIFY_REQUEST:I
-Landroid/telecom/ParcelableCallAnalytics$VideoEvent;->SEND_LOCAL_SESSION_MODIFY_RESPONSE:I
-Landroid/telecom/ParcelableCallAnalytics;->analyticsEvents:Ljava/util/List;
-Landroid/telecom/ParcelableCallAnalytics;->callDurationMillis:J
-Landroid/telecom/ParcelableCallAnalytics;->callTechnologies:I
-Landroid/telecom/ParcelableCallAnalytics;->callTerminationCode:I
-Landroid/telecom/ParcelableCallAnalytics;->callType:I
-Landroid/telecom/ParcelableCallAnalytics;->connectionService:Ljava/lang/String;
-Landroid/telecom/ParcelableCallAnalytics;->eventTimings:Ljava/util/List;
-Landroid/telecom/ParcelableCallAnalytics;->getVideoEvents()Ljava/util/List;
-Landroid/telecom/ParcelableCallAnalytics;->isAdditionalCall:Z
-Landroid/telecom/ParcelableCallAnalytics;->isCreatedFromExistingConnection:Z
-Landroid/telecom/ParcelableCallAnalytics;->isEmergencyCall:Z
-Landroid/telecom/ParcelableCallAnalytics;->isInterrupted:Z
-Landroid/telecom/ParcelableCallAnalytics;->isVideoCall()Z
-Landroid/telecom/ParcelableCallAnalytics;->isVideoCall:Z
-Landroid/telecom/ParcelableCallAnalytics;->readByteAsBoolean(Landroid/os/Parcel;)Z
-Landroid/telecom/ParcelableCallAnalytics;->setIsVideoCall(Z)V
-Landroid/telecom/ParcelableCallAnalytics;->setVideoEvents(Ljava/util/List;)V
-Landroid/telecom/ParcelableCallAnalytics;->startTimeMillis:J
-Landroid/telecom/ParcelableCallAnalytics;->videoEvents:Ljava/util/List;
-Landroid/telecom/ParcelableCallAnalytics;->writeBooleanAsByte(Landroid/os/Parcel;Z)V
-Landroid/telecom/ParcelableConference;
-Landroid/telecom/ParcelableConference;-><init>(Landroid/telecom/PhoneAccountHandle;IIILjava/util/List;Lcom/android/internal/telecom/IVideoProvider;IJJLandroid/telecom/StatusHints;Landroid/os/Bundle;)V
-Landroid/telecom/ParcelableConference;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telecom/ParcelableConference;->getConnectElapsedTimeMillis()J
-Landroid/telecom/ParcelableConference;->getConnectionCapabilities()I
-Landroid/telecom/ParcelableConference;->getConnectionIds()Ljava/util/List;
-Landroid/telecom/ParcelableConference;->getConnectionProperties()I
-Landroid/telecom/ParcelableConference;->getConnectTimeMillis()J
-Landroid/telecom/ParcelableConference;->getExtras()Landroid/os/Bundle;
-Landroid/telecom/ParcelableConference;->getPhoneAccount()Landroid/telecom/PhoneAccountHandle;
-Landroid/telecom/ParcelableConference;->getState()I
-Landroid/telecom/ParcelableConference;->getStatusHints()Landroid/telecom/StatusHints;
-Landroid/telecom/ParcelableConference;->getVideoProvider()Lcom/android/internal/telecom/IVideoProvider;
-Landroid/telecom/ParcelableConference;->getVideoState()I
-Landroid/telecom/ParcelableConference;->mConnectElapsedTimeMillis:J
-Landroid/telecom/ParcelableConference;->mConnectionCapabilities:I
-Landroid/telecom/ParcelableConference;->mConnectionIds:Ljava/util/List;
-Landroid/telecom/ParcelableConference;->mConnectionProperties:I
-Landroid/telecom/ParcelableConference;->mConnectTimeMillis:J
-Landroid/telecom/ParcelableConference;->mExtras:Landroid/os/Bundle;
-Landroid/telecom/ParcelableConference;->mPhoneAccount:Landroid/telecom/PhoneAccountHandle;
-Landroid/telecom/ParcelableConference;->mState:I
-Landroid/telecom/ParcelableConference;->mStatusHints:Landroid/telecom/StatusHints;
-Landroid/telecom/ParcelableConference;->mVideoProvider:Lcom/android/internal/telecom/IVideoProvider;
-Landroid/telecom/ParcelableConference;->mVideoState:I
-Landroid/telecom/ParcelableConnection;
-Landroid/telecom/ParcelableConnection;-><init>(Landroid/telecom/PhoneAccountHandle;IIIILandroid/net/Uri;ILjava/lang/String;ILcom/android/internal/telecom/IVideoProvider;IZZJJLandroid/telecom/StatusHints;Landroid/telecom/DisconnectCause;Ljava/util/List;Landroid/os/Bundle;)V
-Landroid/telecom/ParcelableConnection;-><init>(Landroid/telecom/PhoneAccountHandle;IIIILandroid/net/Uri;ILjava/lang/String;ILcom/android/internal/telecom/IVideoProvider;IZZJJLandroid/telecom/StatusHints;Landroid/telecom/DisconnectCause;Ljava/util/List;Landroid/os/Bundle;Ljava/lang/String;)V
-Landroid/telecom/ParcelableConnection;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telecom/ParcelableConnection;->getCallerDisplayName()Ljava/lang/String;
-Landroid/telecom/ParcelableConnection;->getCallerDisplayNamePresentation()I
-Landroid/telecom/ParcelableConnection;->getConferenceableConnectionIds()Ljava/util/List;
-Landroid/telecom/ParcelableConnection;->getConnectElapsedTimeMillis()J
-Landroid/telecom/ParcelableConnection;->getConnectionCapabilities()I
-Landroid/telecom/ParcelableConnection;->getConnectionProperties()I
-Landroid/telecom/ParcelableConnection;->getConnectTimeMillis()J
-Landroid/telecom/ParcelableConnection;->getDisconnectCause()Landroid/telecom/DisconnectCause;
-Landroid/telecom/ParcelableConnection;->getExtras()Landroid/os/Bundle;
-Landroid/telecom/ParcelableConnection;->getHandle()Landroid/net/Uri;
-Landroid/telecom/ParcelableConnection;->getHandlePresentation()I
-Landroid/telecom/ParcelableConnection;->getIsVoipAudioMode()Z
-Landroid/telecom/ParcelableConnection;->getParentCallId()Ljava/lang/String;
-Landroid/telecom/ParcelableConnection;->getPhoneAccount()Landroid/telecom/PhoneAccountHandle;
-Landroid/telecom/ParcelableConnection;->getState()I
-Landroid/telecom/ParcelableConnection;->getStatusHints()Landroid/telecom/StatusHints;
-Landroid/telecom/ParcelableConnection;->getSupportedAudioRoutes()I
-Landroid/telecom/ParcelableConnection;->getVideoProvider()Lcom/android/internal/telecom/IVideoProvider;
-Landroid/telecom/ParcelableConnection;->getVideoState()I
-Landroid/telecom/ParcelableConnection;->isRingbackRequested()Z
-Landroid/telecom/ParcelableConnection;->mAddress:Landroid/net/Uri;
-Landroid/telecom/ParcelableConnection;->mAddressPresentation:I
-Landroid/telecom/ParcelableConnection;->mCallerDisplayName:Ljava/lang/String;
-Landroid/telecom/ParcelableConnection;->mCallerDisplayNamePresentation:I
-Landroid/telecom/ParcelableConnection;->mConferenceableConnectionIds:Ljava/util/List;
-Landroid/telecom/ParcelableConnection;->mConnectElapsedTimeMillis:J
-Landroid/telecom/ParcelableConnection;->mConnectionCapabilities:I
-Landroid/telecom/ParcelableConnection;->mConnectionProperties:I
-Landroid/telecom/ParcelableConnection;->mConnectTimeMillis:J
-Landroid/telecom/ParcelableConnection;->mDisconnectCause:Landroid/telecom/DisconnectCause;
-Landroid/telecom/ParcelableConnection;->mExtras:Landroid/os/Bundle;
-Landroid/telecom/ParcelableConnection;->mIsVoipAudioMode:Z
-Landroid/telecom/ParcelableConnection;->mParentCallId:Ljava/lang/String;
-Landroid/telecom/ParcelableConnection;->mPhoneAccount:Landroid/telecom/PhoneAccountHandle;
-Landroid/telecom/ParcelableConnection;->mRingbackRequested:Z
-Landroid/telecom/ParcelableConnection;->mState:I
-Landroid/telecom/ParcelableConnection;->mStatusHints:Landroid/telecom/StatusHints;
-Landroid/telecom/ParcelableConnection;->mSupportedAudioRoutes:I
-Landroid/telecom/ParcelableConnection;->mVideoProvider:Lcom/android/internal/telecom/IVideoProvider;
-Landroid/telecom/ParcelableConnection;->mVideoState:I
-Landroid/telecom/ParcelableRttCall;
-Landroid/telecom/ParcelableRttCall;-><init>(ILandroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;)V
-Landroid/telecom/ParcelableRttCall;-><init>(Landroid/os/Parcel;)V
-Landroid/telecom/ParcelableRttCall;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telecom/ParcelableRttCall;->getReceiveStream()Landroid/os/ParcelFileDescriptor;
-Landroid/telecom/ParcelableRttCall;->getRttMode()I
-Landroid/telecom/ParcelableRttCall;->getTransmitStream()Landroid/os/ParcelFileDescriptor;
-Landroid/telecom/ParcelableRttCall;->mReceiveStream:Landroid/os/ParcelFileDescriptor;
-Landroid/telecom/ParcelableRttCall;->mRttMode:I
-Landroid/telecom/ParcelableRttCall;->mTransmitStream:Landroid/os/ParcelFileDescriptor;
-Landroid/telecom/Phone;-><init>(Landroid/telecom/InCallAdapter;Ljava/lang/String;I)V
-Landroid/telecom/Phone;->checkCallTree(Landroid/telecom/ParcelableCall;)V
-Landroid/telecom/Phone;->destroy()V
-Landroid/telecom/Phone;->fireBringToForeground(Z)V
-Landroid/telecom/Phone;->fireCallAdded(Landroid/telecom/Call;)V
-Landroid/telecom/Phone;->fireCallAudioStateChanged(Landroid/telecom/CallAudioState;)V
-Landroid/telecom/Phone;->fireCallRemoved(Landroid/telecom/Call;)V
-Landroid/telecom/Phone;->fireCanAddCallChanged(Z)V
-Landroid/telecom/Phone;->fireSilenceRinger()V
-Landroid/telecom/Phone;->internalAddCall(Landroid/telecom/ParcelableCall;)V
-Landroid/telecom/Phone;->internalBringToForeground(Z)V
-Landroid/telecom/Phone;->internalCallAudioStateChanged(Landroid/telecom/CallAudioState;)V
-Landroid/telecom/Phone;->internalGetCallByTelecomId(Ljava/lang/String;)Landroid/telecom/Call;
-Landroid/telecom/Phone;->internalOnConnectionEvent(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/telecom/Phone;->internalOnHandoverComplete(Ljava/lang/String;)V
-Landroid/telecom/Phone;->internalOnHandoverFailed(Ljava/lang/String;I)V
-Landroid/telecom/Phone;->internalOnRttInitiationFailure(Ljava/lang/String;I)V
-Landroid/telecom/Phone;->internalOnRttUpgradeRequest(Ljava/lang/String;I)V
-Landroid/telecom/Phone;->internalRemoveCall(Landroid/telecom/Call;)V
-Landroid/telecom/Phone;->internalSetCanAddCall(Z)V
-Landroid/telecom/Phone;->internalSetPostDialWait(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telecom/Phone;->internalSilenceRinger()V
-Landroid/telecom/Phone;->internalUpdateCall(Landroid/telecom/ParcelableCall;)V
-Landroid/telecom/Phone;->mCallAudioState:Landroid/telecom/CallAudioState;
-Landroid/telecom/Phone;->mCallByTelecomCallId:Ljava/util/Map;
-Landroid/telecom/Phone;->mCallingPackage:Ljava/lang/String;
-Landroid/telecom/Phone;->mCalls:Ljava/util/List;
-Landroid/telecom/Phone;->mCanAddCall:Z
-Landroid/telecom/Phone;->mInCallAdapter:Landroid/telecom/InCallAdapter;
-Landroid/telecom/Phone;->mListeners:Ljava/util/List;
-Landroid/telecom/Phone;->mTargetSdkVersion:I
-Landroid/telecom/Phone;->mUnmodifiableCalls:Ljava/util/List;
-Landroid/telecom/PhoneAccount$Builder;->mAccountHandle:Landroid/telecom/PhoneAccountHandle;
-Landroid/telecom/PhoneAccount$Builder;->mAddress:Landroid/net/Uri;
-Landroid/telecom/PhoneAccount$Builder;->mCapabilities:I
-Landroid/telecom/PhoneAccount$Builder;->mExtras:Landroid/os/Bundle;
-Landroid/telecom/PhoneAccount$Builder;->mGroupId:Ljava/lang/String;
-Landroid/telecom/PhoneAccount$Builder;->mHighlightColor:I
-Landroid/telecom/PhoneAccount$Builder;->mIcon:Landroid/graphics/drawable/Icon;
-Landroid/telecom/PhoneAccount$Builder;->mIsEnabled:Z
-Landroid/telecom/PhoneAccount$Builder;->mLabel:Ljava/lang/CharSequence;
-Landroid/telecom/PhoneAccount$Builder;->mShortDescription:Ljava/lang/CharSequence;
-Landroid/telecom/PhoneAccount$Builder;->mSubscriptionAddress:Landroid/net/Uri;
-Landroid/telecom/PhoneAccount$Builder;->mSupportedAudioRoutes:I
-Landroid/telecom/PhoneAccount$Builder;->mSupportedUriSchemes:Ljava/util/List;
-Landroid/telecom/PhoneAccount$Builder;->setGroupId(Ljava/lang/String;)Landroid/telecom/PhoneAccount$Builder;
-Landroid/telecom/PhoneAccount$Builder;->setIsEnabled(Z)Landroid/telecom/PhoneAccount$Builder;
-Landroid/telecom/PhoneAccount$Builder;->setLabel(Ljava/lang/CharSequence;)Landroid/telecom/PhoneAccount$Builder;
-Landroid/telecom/PhoneAccount$Builder;->setSupportedAudioRoutes(I)Landroid/telecom/PhoneAccount$Builder;
-Landroid/telecom/PhoneAccount;-><init>(Landroid/os/Parcel;)V
-Landroid/telecom/PhoneAccount;-><init>(Landroid/telecom/PhoneAccountHandle;Landroid/net/Uri;Landroid/net/Uri;ILandroid/graphics/drawable/Icon;ILjava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/util/List;Landroid/os/Bundle;IZLjava/lang/String;)V
-Landroid/telecom/PhoneAccount;->audioRoutesToString()Ljava/lang/String;
-Landroid/telecom/PhoneAccount;->capabilitiesToString()Ljava/lang/String;
-Landroid/telecom/PhoneAccount;->CAPABILITY_EMERGENCY_CALLS_ONLY:I
-Landroid/telecom/PhoneAccount;->CAPABILITY_EMERGENCY_VIDEO_CALLING:I
-Landroid/telecom/PhoneAccount;->EXTRA_ALWAYS_USE_VOIP_AUDIO_MODE:Ljava/lang/String;
-Landroid/telecom/PhoneAccount;->EXTRA_PLAY_CALL_RECORDING_TONE:Ljava/lang/String;
-Landroid/telecom/PhoneAccount;->EXTRA_SORT_ORDER:Ljava/lang/String;
-Landroid/telecom/PhoneAccount;->EXTRA_SUPPORTS_VIDEO_CALLING_FALLBACK:Ljava/lang/String;
-Landroid/telecom/PhoneAccount;->getGroupId()Ljava/lang/String;
-Landroid/telecom/PhoneAccount;->getSupportedAudioRoutes()I
-Landroid/telecom/PhoneAccount;->hasAudioRoutes(I)Z
-Landroid/telecom/PhoneAccount;->isSelfManaged()Z
-Landroid/telecom/PhoneAccount;->mAccountHandle:Landroid/telecom/PhoneAccountHandle;
-Landroid/telecom/PhoneAccount;->mAddress:Landroid/net/Uri;
-Landroid/telecom/PhoneAccount;->mCapabilities:I
-Landroid/telecom/PhoneAccount;->mExtras:Landroid/os/Bundle;
-Landroid/telecom/PhoneAccount;->mGroupId:Ljava/lang/String;
-Landroid/telecom/PhoneAccount;->mHighlightColor:I
-Landroid/telecom/PhoneAccount;->mIcon:Landroid/graphics/drawable/Icon;
-Landroid/telecom/PhoneAccount;->mIsEnabled:Z
-Landroid/telecom/PhoneAccount;->mLabel:Ljava/lang/CharSequence;
-Landroid/telecom/PhoneAccount;->mShortDescription:Ljava/lang/CharSequence;
-Landroid/telecom/PhoneAccount;->mSubscriptionAddress:Landroid/net/Uri;
-Landroid/telecom/PhoneAccount;->mSupportedAudioRoutes:I
-Landroid/telecom/PhoneAccount;->mSupportedUriSchemes:Ljava/util/List;
-Landroid/telecom/PhoneAccount;->NO_ICON_TINT:I
-Landroid/telecom/PhoneAccount;->setIsEnabled(Z)V
-Landroid/telecom/PhoneAccountHandle;->checkParameters(Landroid/content/ComponentName;Landroid/os/UserHandle;)V
-Landroid/telecom/PhoneAccountHandle;->mUserHandle:Landroid/os/UserHandle;
-Landroid/telecom/RemoteConference;-><init>(Ljava/lang/String;Lcom/android/internal/telecom/IConnectionService;)V
-Landroid/telecom/RemoteConference;->addConnection(Landroid/telecom/RemoteConnection;)V
-Landroid/telecom/RemoteConference;->getId()Ljava/lang/String;
-Landroid/telecom/RemoteConference;->mCallbackRecords:Ljava/util/Set;
-Landroid/telecom/RemoteConference;->mChildConnections:Ljava/util/List;
-Landroid/telecom/RemoteConference;->mConferenceableConnections:Ljava/util/List;
-Landroid/telecom/RemoteConference;->mConnectionCapabilities:I
-Landroid/telecom/RemoteConference;->mConnectionProperties:I
-Landroid/telecom/RemoteConference;->mConnectionService:Lcom/android/internal/telecom/IConnectionService;
-Landroid/telecom/RemoteConference;->mDisconnectCause:Landroid/telecom/DisconnectCause;
-Landroid/telecom/RemoteConference;->mExtras:Landroid/os/Bundle;
-Landroid/telecom/RemoteConference;->mId:Ljava/lang/String;
-Landroid/telecom/RemoteConference;->mState:I
-Landroid/telecom/RemoteConference;->mUnmodifiableChildConnections:Ljava/util/List;
-Landroid/telecom/RemoteConference;->mUnmodifiableConferenceableConnections:Ljava/util/List;
-Landroid/telecom/RemoteConference;->notifyExtrasChanged()V
-Landroid/telecom/RemoteConference;->putExtras(Landroid/os/Bundle;)V
-Landroid/telecom/RemoteConference;->removeConnection(Landroid/telecom/RemoteConnection;)V
-Landroid/telecom/RemoteConference;->removeExtras(Ljava/util/List;)V
-Landroid/telecom/RemoteConference;->setConferenceableConnections(Ljava/util/List;)V
-Landroid/telecom/RemoteConference;->setConnectionCapabilities(I)V
-Landroid/telecom/RemoteConference;->setConnectionProperties(I)V
-Landroid/telecom/RemoteConference;->setDestroyed()V
-Landroid/telecom/RemoteConference;->setDisconnected(Landroid/telecom/DisconnectCause;)V
-Landroid/telecom/RemoteConference;->setState(I)V
-Landroid/telecom/RemoteConnection$Callback;->onRemoteRttRequest(Landroid/telecom/RemoteConnection;)V
-Landroid/telecom/RemoteConnection$Callback;->onRttInitiationFailure(Landroid/telecom/RemoteConnection;I)V
-Landroid/telecom/RemoteConnection$Callback;->onRttInitiationSuccess(Landroid/telecom/RemoteConnection;)V
-Landroid/telecom/RemoteConnection$Callback;->onRttSessionRemotelyTerminated(Landroid/telecom/RemoteConnection;)V
-Landroid/telecom/RemoteConnection$CallbackRecord;
-Landroid/telecom/RemoteConnection$CallbackRecord;-><init>(Landroid/telecom/RemoteConnection$Callback;Landroid/os/Handler;)V
-Landroid/telecom/RemoteConnection$CallbackRecord;->getCallback()Landroid/telecom/RemoteConnection$Callback;
-Landroid/telecom/RemoteConnection$CallbackRecord;->getHandler()Landroid/os/Handler;
-Landroid/telecom/RemoteConnection$CallbackRecord;->mCallback:Landroid/telecom/RemoteConnection$Callback;
-Landroid/telecom/RemoteConnection$CallbackRecord;->mHandler:Landroid/os/Handler;
-Landroid/telecom/RemoteConnection$VideoProvider;-><init>(Lcom/android/internal/telecom/IVideoProvider;Ljava/lang/String;I)V
-Landroid/telecom/RemoteConnection$VideoProvider;->mCallbacks:Ljava/util/Set;
-Landroid/telecom/RemoteConnection$VideoProvider;->mCallingPackage:Ljava/lang/String;
-Landroid/telecom/RemoteConnection$VideoProvider;->mTargetSdkVersion:I
-Landroid/telecom/RemoteConnection$VideoProvider;->mVideoCallbackDelegate:Lcom/android/internal/telecom/IVideoCallback;
-Landroid/telecom/RemoteConnection$VideoProvider;->mVideoCallbackServant:Landroid/telecom/VideoCallbackServant;
-Landroid/telecom/RemoteConnection$VideoProvider;->mVideoProviderBinder:Lcom/android/internal/telecom/IVideoProvider;
-Landroid/telecom/RemoteConnection;-><init>(Landroid/telecom/DisconnectCause;)V
-Landroid/telecom/RemoteConnection;-><init>(Ljava/lang/String;Lcom/android/internal/telecom/IConnectionService;Landroid/telecom/ConnectionRequest;)V
-Landroid/telecom/RemoteConnection;-><init>(Ljava/lang/String;Lcom/android/internal/telecom/IConnectionService;Landroid/telecom/ParcelableConnection;Ljava/lang/String;I)V
-Landroid/telecom/RemoteConnection;->answer(I)V
-Landroid/telecom/RemoteConnection;->failure(Landroid/telecom/DisconnectCause;)Landroid/telecom/RemoteConnection;
-Landroid/telecom/RemoteConnection;->getConnectionService()Lcom/android/internal/telecom/IConnectionService;
-Landroid/telecom/RemoteConnection;->getId()Ljava/lang/String;
-Landroid/telecom/RemoteConnection;->mAddress:Landroid/net/Uri;
-Landroid/telecom/RemoteConnection;->mAddressPresentation:I
-Landroid/telecom/RemoteConnection;->mCallbackRecords:Ljava/util/Set;
-Landroid/telecom/RemoteConnection;->mCallerDisplayName:Ljava/lang/String;
-Landroid/telecom/RemoteConnection;->mCallerDisplayNamePresentation:I
-Landroid/telecom/RemoteConnection;->mConference:Landroid/telecom/RemoteConference;
-Landroid/telecom/RemoteConnection;->mConferenceableConnections:Ljava/util/List;
-Landroid/telecom/RemoteConnection;->mConnected:Z
-Landroid/telecom/RemoteConnection;->mConnectionCapabilities:I
-Landroid/telecom/RemoteConnection;->mConnectionId:Ljava/lang/String;
-Landroid/telecom/RemoteConnection;->mConnectionProperties:I
-Landroid/telecom/RemoteConnection;->mConnectionService:Lcom/android/internal/telecom/IConnectionService;
-Landroid/telecom/RemoteConnection;->mDisconnectCause:Landroid/telecom/DisconnectCause;
-Landroid/telecom/RemoteConnection;->mExtras:Landroid/os/Bundle;
-Landroid/telecom/RemoteConnection;->mIsVoipAudioMode:Z
-Landroid/telecom/RemoteConnection;->mRingbackRequested:Z
-Landroid/telecom/RemoteConnection;->mState:I
-Landroid/telecom/RemoteConnection;->mStatusHints:Landroid/telecom/StatusHints;
-Landroid/telecom/RemoteConnection;->mUnmodifiableconferenceableConnections:Ljava/util/List;
-Landroid/telecom/RemoteConnection;->mVideoProvider:Landroid/telecom/RemoteConnection$VideoProvider;
-Landroid/telecom/RemoteConnection;->mVideoState:I
-Landroid/telecom/RemoteConnection;->notifyExtrasChanged()V
-Landroid/telecom/RemoteConnection;->onConnectionEvent(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/telecom/RemoteConnection;->onPostDialChar(C)V
-Landroid/telecom/RemoteConnection;->onRemoteRttRequest()V
-Landroid/telecom/RemoteConnection;->onRttInitiationFailure(I)V
-Landroid/telecom/RemoteConnection;->onRttInitiationSuccess()V
-Landroid/telecom/RemoteConnection;->onRttSessionRemotelyTerminated()V
-Landroid/telecom/RemoteConnection;->putExtras(Landroid/os/Bundle;)V
-Landroid/telecom/RemoteConnection;->removeExtras(Ljava/util/List;)V
-Landroid/telecom/RemoteConnection;->sendRttUpgradeResponse(Landroid/telecom/Connection$RttTextStream;)V
-Landroid/telecom/RemoteConnection;->setAddress(Landroid/net/Uri;I)V
-Landroid/telecom/RemoteConnection;->setCallerDisplayName(Ljava/lang/String;I)V
-Landroid/telecom/RemoteConnection;->setConference(Landroid/telecom/RemoteConference;)V
-Landroid/telecom/RemoteConnection;->setConferenceableConnections(Ljava/util/List;)V
-Landroid/telecom/RemoteConnection;->setConnectionCapabilities(I)V
-Landroid/telecom/RemoteConnection;->setConnectionProperties(I)V
-Landroid/telecom/RemoteConnection;->setDestroyed()V
-Landroid/telecom/RemoteConnection;->setDisconnected(Landroid/telecom/DisconnectCause;)V
-Landroid/telecom/RemoteConnection;->setIsVoipAudioMode(Z)V
-Landroid/telecom/RemoteConnection;->setPostDialWait(Ljava/lang/String;)V
-Landroid/telecom/RemoteConnection;->setRingbackRequested(Z)V
-Landroid/telecom/RemoteConnection;->setState(I)V
-Landroid/telecom/RemoteConnection;->setStatusHints(Landroid/telecom/StatusHints;)V
-Landroid/telecom/RemoteConnection;->setVideoProvider(Landroid/telecom/RemoteConnection$VideoProvider;)V
-Landroid/telecom/RemoteConnection;->setVideoState(I)V
-Landroid/telecom/RemoteConnection;->startRtt(Landroid/telecom/Connection$RttTextStream;)V
-Landroid/telecom/RemoteConnection;->stopRtt()V
-Landroid/telecom/RemoteConnectionManager;
-Landroid/telecom/RemoteConnectionManager;-><init>(Landroid/telecom/ConnectionService;)V
-Landroid/telecom/RemoteConnectionManager;->addConnectionService(Landroid/content/ComponentName;Lcom/android/internal/telecom/IConnectionService;)V
-Landroid/telecom/RemoteConnectionManager;->conferenceRemoteConnections(Landroid/telecom/RemoteConnection;Landroid/telecom/RemoteConnection;)V
-Landroid/telecom/RemoteConnectionManager;->createRemoteConnection(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;Z)Landroid/telecom/RemoteConnection;
-Landroid/telecom/RemoteConnectionManager;->mOurConnectionServiceImpl:Landroid/telecom/ConnectionService;
-Landroid/telecom/RemoteConnectionManager;->mRemoteConnectionServices:Ljava/util/Map;
-Landroid/telecom/RemoteConnectionService;
-Landroid/telecom/RemoteConnectionService;-><init>(Lcom/android/internal/telecom/IConnectionService;Landroid/telecom/ConnectionService;)V
-Landroid/telecom/RemoteConnectionService;->createRemoteConnection(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;Z)Landroid/telecom/RemoteConnection;
-Landroid/telecom/RemoteConnectionService;->findConferenceForAction(Ljava/lang/String;Ljava/lang/String;)Landroid/telecom/RemoteConference;
-Landroid/telecom/RemoteConnectionService;->findConnectionForAction(Ljava/lang/String;Ljava/lang/String;)Landroid/telecom/RemoteConnection;
-Landroid/telecom/RemoteConnectionService;->hasConnection(Ljava/lang/String;)Z
-Landroid/telecom/RemoteConnectionService;->maybeDisconnectAdapter()V
-Landroid/telecom/RemoteConnectionService;->mConferenceById:Ljava/util/Map;
-Landroid/telecom/RemoteConnectionService;->mConnectionById:Ljava/util/Map;
-Landroid/telecom/RemoteConnectionService;->mDeathRecipient:Landroid/os/IBinder$DeathRecipient;
-Landroid/telecom/RemoteConnectionService;->mOurConnectionServiceImpl:Landroid/telecom/ConnectionService;
-Landroid/telecom/RemoteConnectionService;->mOutgoingConnectionServiceRpc:Lcom/android/internal/telecom/IConnectionService;
-Landroid/telecom/RemoteConnectionService;->mPendingConnections:Ljava/util/Set;
-Landroid/telecom/RemoteConnectionService;->mServant:Landroid/telecom/ConnectionServiceAdapterServant;
-Landroid/telecom/RemoteConnectionService;->mServantDelegate:Lcom/android/internal/telecom/IConnectionServiceAdapter;
-Landroid/telecom/RemoteConnectionService;->NULL_CONFERENCE:Landroid/telecom/RemoteConference;
-Landroid/telecom/RemoteConnectionService;->NULL_CONNECTION:Landroid/telecom/RemoteConnection;
-Landroid/telecom/Response;
-Landroid/telecom/Response;->onError(Ljava/lang/Object;ILjava/lang/String;)V
-Landroid/telecom/Response;->onResult(Ljava/lang/Object;[[Ljava/lang/Object;)V
-Landroid/telecom/StatusHints;-><init>(Landroid/os/Parcel;)V
-Landroid/telecom/StatusHints;->mExtras:Landroid/os/Bundle;
-Landroid/telecom/StatusHints;->mIcon:Landroid/graphics/drawable/Icon;
-Landroid/telecom/StatusHints;->mLabel:Ljava/lang/CharSequence;
-Landroid/telecom/TelecomAnalytics$SessionTiming;-><init>(Landroid/os/Parcel;)V
-Landroid/telecom/TelecomAnalytics$SessionTiming;->mId:I
-Landroid/telecom/TelecomAnalytics$SessionTiming;->mTime:J
-Landroid/telecom/TelecomAnalytics;-><init>(Landroid/os/Parcel;)V
-Landroid/telecom/TelecomAnalytics;->mCallAnalytics:Ljava/util/List;
-Landroid/telecom/TelecomAnalytics;->mSessionTimings:Ljava/util/List;
-Landroid/telecom/TelecomManager;-><init>(Landroid/content/Context;)V
-Landroid/telecom/TelecomManager;-><init>(Landroid/content/Context;Lcom/android/internal/telecom/ITelecomService;)V
-Landroid/telecom/TelecomManager;->ACTION_CURRENT_TTY_MODE_CHANGED:Ljava/lang/String;
-Landroid/telecom/TelecomManager;->ACTION_NEW_UNKNOWN_CALL:Ljava/lang/String;
-Landroid/telecom/TelecomManager;->ACTION_TTY_PREFERRED_MODE_CHANGED:Ljava/lang/String;
-Landroid/telecom/TelecomManager;->clearAccountsForPackage(Ljava/lang/String;)V
-Landroid/telecom/TelecomManager;->EMERGENCY_DIALER_COMPONENT:Landroid/content/ComponentName;
-Landroid/telecom/TelecomManager;->EXTRA_CALL_AUDIO_STATE:Ljava/lang/String;
-Landroid/telecom/TelecomManager;->EXTRA_CALL_CREATED_TIME_MILLIS:Ljava/lang/String;
-Landroid/telecom/TelecomManager;->EXTRA_CALL_EXTERNAL_RINGER:Ljava/lang/String;
-Landroid/telecom/TelecomManager;->EXTRA_CALL_TECHNOLOGY_TYPE:Ljava/lang/String;
-Landroid/telecom/TelecomManager;->EXTRA_CALL_TELECOM_ROUTING_END_TIME_MILLIS:Ljava/lang/String;
-Landroid/telecom/TelecomManager;->EXTRA_CALL_TELECOM_ROUTING_START_TIME_MILLIS:Ljava/lang/String;
-Landroid/telecom/TelecomManager;->EXTRA_CURRENT_TTY_MODE:Ljava/lang/String;
-Landroid/telecom/TelecomManager;->EXTRA_HANDOVER_FROM_PHONE_ACCOUNT:Ljava/lang/String;
-Landroid/telecom/TelecomManager;->EXTRA_IS_HANDOVER_CONNECTION:Ljava/lang/String;
-Landroid/telecom/TelecomManager;->EXTRA_NEW_OUTGOING_CALL_CANCEL_TIMEOUT:Ljava/lang/String;
-Landroid/telecom/TelecomManager;->EXTRA_TTY_PREFERRED_MODE:Ljava/lang/String;
-Landroid/telecom/TelecomManager;->EXTRA_UNKNOWN_CALL_HANDLE:Ljava/lang/String;
-Landroid/telecom/TelecomManager;->EXTRA_USE_ASSISTED_DIALING:Ljava/lang/String;
-Landroid/telecom/TelecomManager;->getTelecomService()Lcom/android/internal/telecom/ITelecomService;
-Landroid/telecom/TelecomManager;->isServiceConnected()Z
-Landroid/telecom/TelecomManager;->mContext:Landroid/content/Context;
-Landroid/telecom/TelecomManager;->METADATA_IN_CALL_SERVICE_CAR_MODE_UI:Ljava/lang/String;
-Landroid/telecom/TelecomManager;->mTelecomServiceOverride:Lcom/android/internal/telecom/ITelecomService;
-Landroid/telecom/TelecomManager;->TAG:Ljava/lang/String;
-Landroid/telecom/TelecomManager;->TTY_MODE_FULL:I
-Landroid/telecom/TelecomManager;->TTY_MODE_HCO:I
-Landroid/telecom/TelecomManager;->TTY_MODE_VCO:I
-Landroid/telecom/TelecomProtoEnums;
-Landroid/telecom/TelecomProtoEnums;-><init>()V
-Landroid/telecom/TelecomProtoEnums;->ABORTED:I
-Landroid/telecom/TelecomProtoEnums;->ACTIVE:I
-Landroid/telecom/TelecomProtoEnums;->ANSWERED_ELSEWHERE:I
-Landroid/telecom/TelecomProtoEnums;->BUSY:I
-Landroid/telecom/TelecomProtoEnums;->CALL_PULLED:I
-Landroid/telecom/TelecomProtoEnums;->CANCELED:I
-Landroid/telecom/TelecomProtoEnums;->CONNECTING:I
-Landroid/telecom/TelecomProtoEnums;->CONNECTION_MANAGER_NOT_SUPPORTED:I
-Landroid/telecom/TelecomProtoEnums;->DIALING:I
-Landroid/telecom/TelecomProtoEnums;->DISCONNECTED:I
-Landroid/telecom/TelecomProtoEnums;->DISCONNECTING:I
-Landroid/telecom/TelecomProtoEnums;->ERROR:I
-Landroid/telecom/TelecomProtoEnums;->LOCAL:I
-Landroid/telecom/TelecomProtoEnums;->MISSED:I
-Landroid/telecom/TelecomProtoEnums;->NEW:I
-Landroid/telecom/TelecomProtoEnums;->ON_HOLD:I
-Landroid/telecom/TelecomProtoEnums;->OTHER:I
-Landroid/telecom/TelecomProtoEnums;->PULLING:I
-Landroid/telecom/TelecomProtoEnums;->REJECTED:I
-Landroid/telecom/TelecomProtoEnums;->REMOTE:I
-Landroid/telecom/TelecomProtoEnums;->RESTRICTED:I
-Landroid/telecom/TelecomProtoEnums;->RINGING:I
-Landroid/telecom/TelecomProtoEnums;->SELECT_PHONE_ACCOUNT:I
-Landroid/telecom/TelecomProtoEnums;->UNKNOWN:I
-Landroid/telecom/TimedEvent;
-Landroid/telecom/TimedEvent;-><init>()V
-Landroid/telecom/TimedEvent;->averageTimings(Ljava/util/Collection;)Ljava/util/Map;
-Landroid/telecom/TimedEvent;->getKey()Ljava/lang/Object;
-Landroid/telecom/TimedEvent;->getTime()J
-Landroid/telecom/VideoCallbackServant;
-Landroid/telecom/VideoCallbackServant;-><init>(Lcom/android/internal/telecom/IVideoCallback;)V
-Landroid/telecom/VideoCallbackServant;->getStub()Lcom/android/internal/telecom/IVideoCallback;
-Landroid/telecom/VideoCallbackServant;->mDelegate:Lcom/android/internal/telecom/IVideoCallback;
-Landroid/telecom/VideoCallbackServant;->mHandler:Landroid/os/Handler;
-Landroid/telecom/VideoCallbackServant;->MSG_CHANGE_CALL_DATA_USAGE:I
-Landroid/telecom/VideoCallbackServant;->MSG_CHANGE_CAMERA_CAPABILITIES:I
-Landroid/telecom/VideoCallbackServant;->MSG_CHANGE_PEER_DIMENSIONS:I
-Landroid/telecom/VideoCallbackServant;->MSG_CHANGE_VIDEO_QUALITY:I
-Landroid/telecom/VideoCallbackServant;->MSG_HANDLE_CALL_SESSION_EVENT:I
-Landroid/telecom/VideoCallbackServant;->MSG_RECEIVE_SESSION_MODIFY_REQUEST:I
-Landroid/telecom/VideoCallbackServant;->MSG_RECEIVE_SESSION_MODIFY_RESPONSE:I
-Landroid/telecom/VideoCallbackServant;->mStub:Lcom/android/internal/telecom/IVideoCallback;
-Landroid/telecom/VideoCallImpl$MessageHandler;
-Landroid/telecom/VideoCallImpl$MessageHandler;-><init>(Landroid/os/Looper;)V
-Landroid/telecom/VideoCallImpl$MessageHandler;->MSG_CHANGE_CALL_DATA_USAGE:I
-Landroid/telecom/VideoCallImpl$MessageHandler;->MSG_CHANGE_CAMERA_CAPABILITIES:I
-Landroid/telecom/VideoCallImpl$MessageHandler;->MSG_CHANGE_PEER_DIMENSIONS:I
-Landroid/telecom/VideoCallImpl$MessageHandler;->MSG_CHANGE_VIDEO_QUALITY:I
-Landroid/telecom/VideoCallImpl$MessageHandler;->MSG_HANDLE_CALL_SESSION_EVENT:I
-Landroid/telecom/VideoCallImpl$MessageHandler;->MSG_RECEIVE_SESSION_MODIFY_REQUEST:I
-Landroid/telecom/VideoCallImpl$MessageHandler;->MSG_RECEIVE_SESSION_MODIFY_RESPONSE:I
-Landroid/telecom/VideoCallImpl$VideoCallListenerBinder;
-Landroid/telecom/VideoCallImpl$VideoCallListenerBinder;-><init>()V
-Landroid/telecom/VideoCallImpl$VideoCallListenerBinder;->changeCallDataUsage(J)V
-Landroid/telecom/VideoCallImpl$VideoCallListenerBinder;->changeCameraCapabilities(Landroid/telecom/VideoProfile$CameraCapabilities;)V
-Landroid/telecom/VideoCallImpl$VideoCallListenerBinder;->changePeerDimensions(II)V
-Landroid/telecom/VideoCallImpl$VideoCallListenerBinder;->changeVideoQuality(I)V
-Landroid/telecom/VideoCallImpl$VideoCallListenerBinder;->handleCallSessionEvent(I)V
-Landroid/telecom/VideoCallImpl$VideoCallListenerBinder;->receiveSessionModifyRequest(Landroid/telecom/VideoProfile;)V
-Landroid/telecom/VideoCallImpl$VideoCallListenerBinder;->receiveSessionModifyResponse(ILandroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V
-Landroid/telecom/VideoCallImpl;
-Landroid/telecom/VideoCallImpl;-><init>(Lcom/android/internal/telecom/IVideoProvider;Ljava/lang/String;I)V
-Landroid/telecom/VideoCallImpl;->mBinder:Landroid/telecom/VideoCallImpl$VideoCallListenerBinder;
-Landroid/telecom/VideoCallImpl;->mCallback:Landroid/telecom/InCallService$VideoCall$Callback;
-Landroid/telecom/VideoCallImpl;->mCallingPackageName:Ljava/lang/String;
-Landroid/telecom/VideoCallImpl;->mDeathRecipient:Landroid/os/IBinder$DeathRecipient;
-Landroid/telecom/VideoCallImpl;->mHandler:Landroid/os/Handler;
-Landroid/telecom/VideoCallImpl;->mTargetSdkVersion:I
-Landroid/telecom/VideoCallImpl;->mVideoProvider:Lcom/android/internal/telecom/IVideoProvider;
-Landroid/telecom/VideoCallImpl;->mVideoQuality:I
-Landroid/telecom/VideoCallImpl;->mVideoState:I
-Landroid/telecom/VideoCallImpl;->setTargetSdkVersion(I)V
-Landroid/telecom/VideoCallImpl;->setVideoState(I)V
-Landroid/telecom/VideoProfile$CameraCapabilities;->getMaxZoom()F
-Landroid/telecom/VideoProfile$CameraCapabilities;->isZoomSupported()Z
-Landroid/telecom/VideoProfile$CameraCapabilities;->mHeight:I
-Landroid/telecom/VideoProfile$CameraCapabilities;->mMaxZoom:F
-Landroid/telecom/VideoProfile$CameraCapabilities;->mWidth:I
-Landroid/telecom/VideoProfile$CameraCapabilities;->mZoomSupported:Z
-Landroid/telecom/VideoProfile$VideoQuality;
-Landroid/telecom/VideoProfile$VideoState;
-Landroid/telecom/VideoProfile;->hasState(II)Z
-Landroid/telecom/VideoProfile;->mQuality:I
-Landroid/telecom/VideoProfile;->mVideoState:I
-Landroid/telecom/VideoProfile;->QUALITY_UNKNOWN:I
-Landroid/telecom/Voicemail$Builder;
-Landroid/telecom/Voicemail$Builder;-><init>()V
-Landroid/telecom/Voicemail$Builder;->build()Landroid/telecom/Voicemail;
-Landroid/telecom/Voicemail$Builder;->mBuilderDuration:Ljava/lang/Long;
-Landroid/telecom/Voicemail$Builder;->mBuilderHasContent:Z
-Landroid/telecom/Voicemail$Builder;->mBuilderId:Ljava/lang/Long;
-Landroid/telecom/Voicemail$Builder;->mBuilderIsRead:Ljava/lang/Boolean;
-Landroid/telecom/Voicemail$Builder;->mBuilderNumber:Ljava/lang/String;
-Landroid/telecom/Voicemail$Builder;->mBuilderPhoneAccount:Landroid/telecom/PhoneAccountHandle;
-Landroid/telecom/Voicemail$Builder;->mBuilderSourceData:Ljava/lang/String;
-Landroid/telecom/Voicemail$Builder;->mBuilderSourcePackage:Ljava/lang/String;
-Landroid/telecom/Voicemail$Builder;->mBuilderTimestamp:Ljava/lang/Long;
-Landroid/telecom/Voicemail$Builder;->mBuilderTranscription:Ljava/lang/String;
-Landroid/telecom/Voicemail$Builder;->mBuilderUri:Landroid/net/Uri;
-Landroid/telecom/Voicemail$Builder;->setDuration(J)Landroid/telecom/Voicemail$Builder;
-Landroid/telecom/Voicemail$Builder;->setHasContent(Z)Landroid/telecom/Voicemail$Builder;
-Landroid/telecom/Voicemail$Builder;->setId(J)Landroid/telecom/Voicemail$Builder;
-Landroid/telecom/Voicemail$Builder;->setIsRead(Z)Landroid/telecom/Voicemail$Builder;
-Landroid/telecom/Voicemail$Builder;->setNumber(Ljava/lang/String;)Landroid/telecom/Voicemail$Builder;
-Landroid/telecom/Voicemail$Builder;->setPhoneAccount(Landroid/telecom/PhoneAccountHandle;)Landroid/telecom/Voicemail$Builder;
-Landroid/telecom/Voicemail$Builder;->setSourceData(Ljava/lang/String;)Landroid/telecom/Voicemail$Builder;
-Landroid/telecom/Voicemail$Builder;->setSourcePackage(Ljava/lang/String;)Landroid/telecom/Voicemail$Builder;
-Landroid/telecom/Voicemail$Builder;->setTimestamp(J)Landroid/telecom/Voicemail$Builder;
-Landroid/telecom/Voicemail$Builder;->setTranscription(Ljava/lang/String;)Landroid/telecom/Voicemail$Builder;
-Landroid/telecom/Voicemail$Builder;->setUri(Landroid/net/Uri;)Landroid/telecom/Voicemail$Builder;
-Landroid/telecom/Voicemail;
-Landroid/telecom/Voicemail;-><init>(Landroid/os/Parcel;)V
-Landroid/telecom/Voicemail;-><init>(Ljava/lang/Long;Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;)V
-Landroid/telecom/Voicemail;->createForInsertion(JLjava/lang/String;)Landroid/telecom/Voicemail$Builder;
-Landroid/telecom/Voicemail;->createForUpdate(JLjava/lang/String;)Landroid/telecom/Voicemail$Builder;
-Landroid/telecom/Voicemail;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telecom/Voicemail;->getDuration()J
-Landroid/telecom/Voicemail;->getId()J
-Landroid/telecom/Voicemail;->getNumber()Ljava/lang/String;
-Landroid/telecom/Voicemail;->getPhoneAccount()Landroid/telecom/PhoneAccountHandle;
-Landroid/telecom/Voicemail;->getSourceData()Ljava/lang/String;
-Landroid/telecom/Voicemail;->getSourcePackage()Ljava/lang/String;
-Landroid/telecom/Voicemail;->getTimestampMillis()J
-Landroid/telecom/Voicemail;->getTranscription()Ljava/lang/String;
-Landroid/telecom/Voicemail;->getUri()Landroid/net/Uri;
-Landroid/telecom/Voicemail;->hasContent()Z
-Landroid/telecom/Voicemail;->isRead()Z
-Landroid/telecom/Voicemail;->mDuration:Ljava/lang/Long;
-Landroid/telecom/Voicemail;->mHasContent:Ljava/lang/Boolean;
-Landroid/telecom/Voicemail;->mId:Ljava/lang/Long;
-Landroid/telecom/Voicemail;->mIsRead:Ljava/lang/Boolean;
-Landroid/telecom/Voicemail;->mNumber:Ljava/lang/String;
-Landroid/telecom/Voicemail;->mPhoneAccount:Landroid/telecom/PhoneAccountHandle;
-Landroid/telecom/Voicemail;->mProviderData:Ljava/lang/String;
-Landroid/telecom/Voicemail;->mSource:Ljava/lang/String;
-Landroid/telecom/Voicemail;->mTimestamp:Ljava/lang/Long;
-Landroid/telecom/Voicemail;->mTranscription:Ljava/lang/String;
-Landroid/telecom/Voicemail;->mUri:Landroid/net/Uri;
-Landroid/telephony/AccessNetworkConstants$AccessNetworkType;-><init>()V
-Landroid/telephony/AccessNetworkConstants$CdmaBands;
-Landroid/telephony/AccessNetworkConstants$CdmaBands;-><init>()V
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_0:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_10:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_11:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_12:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_13:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_14:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_15:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_16:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_17:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_18:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_19:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_1:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_20:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_21:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_2:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_3:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_4:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_5:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_6:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_7:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_8:I
-Landroid/telephony/AccessNetworkConstants$CdmaBands;->BAND_9:I
-Landroid/telephony/AccessNetworkConstants$EutranBand;-><init>()V
-Landroid/telephony/AccessNetworkConstants$GeranBand;-><init>()V
-Landroid/telephony/AccessNetworkConstants$TransportType;
-Landroid/telephony/AccessNetworkConstants$TransportType;-><init>()V
-Landroid/telephony/AccessNetworkConstants$TransportType;->WLAN:I
-Landroid/telephony/AccessNetworkConstants$TransportType;->WWAN:I
-Landroid/telephony/AccessNetworkConstants$UtranBand;-><init>()V
-Landroid/telephony/AccessNetworkConstants;-><init>()V
-Landroid/telephony/AccessNetworkUtils;
-Landroid/telephony/AccessNetworkUtils;-><init>()V
-Landroid/telephony/AccessNetworkUtils;->getDuplexModeForEutranBand(I)I
-Landroid/telephony/AccessNetworkUtils;->getOperatingBandForEarfcn(I)I
-Landroid/telephony/AccessNetworkUtils;->INVALID_BAND:I
-Landroid/telephony/CarrierConfigManager;-><init>()V
-Landroid/telephony/CarrierConfigManager;->DATA_CYCLE_USE_PLATFORM_DEFAULT:I
-Landroid/telephony/CarrierConfigManager;->getDefaultCarrierServicePackageName()Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->getICarrierConfigLoader()Lcom/android/internal/telephony/ICarrierConfigLoader;
-Landroid/telephony/CarrierConfigManager;->IMSI_KEY_AVAILABILITY_INT:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->IMSI_KEY_DOWNLOAD_URL_STRING:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_ALLOW_HOLD_IN_IMS_CALL_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_ALLOW_USSD_REQUESTS_VIA_TELEPHONY_MANAGER_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_ALLOW_VIDEO_CALLING_FALLBACK_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_ALWAYS_PLAY_REMOTE_HOLD_TONE_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_ALWAYS_SHOW_DATA_RAT_ICON_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_BOOSTED_LTE_EARFCNS_STRING_ARRAY:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_BROADCAST_EMERGENCY_CALL_STATE_CHANGES_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CALL_BARRING_VISIBILITY_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CALL_FORWARDING_MAP_NON_NUMBER_TO_VOICEMAIL_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_ALLOW_DEFLECT_IMS_CALL_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_APP_NO_WAKE_SIGNAL_CONFIG_STRING_ARRAY:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_APP_WAKE_SIGNAL_CONFIG_STRING_ARRAY:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_CONFIG_APPLIED_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_DATA_CALL_APN_DELAY_DEFAULT_LONG:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_DATA_CALL_APN_DELAY_FASTER_LONG:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_DATA_CALL_APN_RETRY_AFTER_DISCONNECT_LONG:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_DATA_CALL_RETRY_CONFIG_STRINGS:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_DATA_SERVICE_WLAN_PACKAGE_OVERRIDE_STRING:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_DATA_SERVICE_WWAN_PACKAGE_OVERRIDE_STRING:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_DEFAULT_ACTIONS_ON_DCFAILURE_STRING_ARRAY:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_DEFAULT_ACTIONS_ON_DEFAULT_NETWORK_AVAILABLE:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_DEFAULT_ACTIONS_ON_RESET:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_DEFAULT_DATA_ROAMING_ENABLED_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_DEFAULT_REDIRECTION_URL_STRING_ARRAY:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_DEFAULT_WFC_IMS_ENABLED_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_ENABLED_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_MODE_INT:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_ERI_FILE_NAME_STRING:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_METERED_APN_TYPES_STRINGS:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_METERED_IWLAN_APN_TYPES_STRINGS:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_METERED_ROAMING_APN_TYPES_STRINGS:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_NETWORK_SERVICE_WLAN_PACKAGE_OVERRIDE_STRING:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_NETWORK_SERVICE_WWAN_PACKAGE_OVERRIDE_STRING:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_PROMOTE_WFC_ON_CALL_FAIL_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_SETUP_APP_STRING:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_VOLTE_OVERRIDE_WFC_PROVISIONING_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_WIFI_STRING_ARRAY:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CHECK_PRICING_WITH_CARRIER_FOR_DATA_ROAMING_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CONFIG_WIFI_DISABLE_IN_ECBM:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_CONVERT_CDMA_CALLER_ID_MMI_CODES_WHILE_ROAMING_ON_3GPP_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_DATA_LIMIT_NOTIFICATION_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_DATA_RAPID_NOTIFICATION_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_DATA_WARNING_NOTIFICATION_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_DEFAULT_VM_NUMBER_ROAMING_STRING:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_DISABLE_CHARGE_INDICATION_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_DISABLE_SEVERE_WHEN_EXTREME_DISABLED_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_DISPLAY_VOICEMAIL_NUMBER_AS_DEFAULT_CALL_FORWARDING_NUMBER_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_EDITABLE_WFC_MODE_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_EDITABLE_WFC_ROAMING_MODE_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_EMERGENCY_NOTIFICATION_DELAY_INT:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_ENABLE_APPS_STRING_ARRAY:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_ENHANCED_4G_LTE_ON_BY_DEFAULT_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_ENHANCED_4G_LTE_TITLE_VARIANT_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_FEATURE_ACCESS_CODES_STRING_ARRAY:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_FILTERED_CNAP_NAMES_STRING_ARRAY:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_FORCE_IMEI_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_GSM_CDMA_CALLS_CAN_BE_HD_AUDIO:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_IDENTIFY_HIGH_DEFINITION_CALLS_IN_CALL_LOG_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_IMS_REASONINFO_MAPPING_STRING_ARRAY:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_LTE_EARFCNS_RSRP_BOOST_INT:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_LTE_RSRP_THRESHOLDS_INT_ARRAY:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_MESSAGE_EXPIRATION_TIME_LONG:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_MMS_CLOSE_CONNECTION_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_NON_ROAMING_OPERATOR_STRING_ARRAY:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_NOTIFY_HANDOVER_VIDEO_FROM_LTE_TO_WIFI_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_NOTIFY_HANDOVER_VIDEO_FROM_WIFI_TO_LTE_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_NOTIFY_INTERNATIONAL_CALL_ON_WFC_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_NOTIFY_VT_HANDOVER_TO_WIFI_FAILURE_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_PERSIST_LPP_MODE_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_PLAY_CALL_RECORDING_TONE_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_PREF_NETWORK_NOTIFICATION_DELAY_INT:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_RATCHET_RAT_FAMILIES:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_READ_ONLY_APN_FIELDS_STRING_ARRAY:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_READ_ONLY_APN_TYPES_STRING_ARRAY:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_ROAMING_OPERATOR_STRING_ARRAY:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_SHOW_PRECISE_FAILED_CAUSE_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_SHOW_VIDEO_CALL_CHARGES_ALERT_DIALOG_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_SKIP_CF_FAIL_TO_DISABLE_DIALOG_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_SPN_DISPLAY_RULE_USE_ROAMING_FROM_SERVICE_STATE_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_STK_DISABLE_LAUNCH_BROWSER_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_SUPPORT_DIRECT_FDN_DIALING_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_SUPPORT_DOWNGRADE_VT_TO_AUDIO_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_SUPPORT_ENHANCED_CALL_BLOCKING_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_SUPPORT_IMS_CONFERENCE_CALL_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_SUPPORT_MANAGE_IMS_CONFERENCE_CALL_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_SUPPORT_VIDEO_CONFERENCE_CALL_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_UNDELIVERED_SMS_MESSAGE_EXPIRATION_TIME:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_USE_ONLY_RSRP_FOR_LTE_SIGNAL_BAR_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_VIDEO_CALLS_CAN_BE_HD_AUDIO:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_VILTE_DATA_IS_METERED_BOOL:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_WCDMA_DEFAULT_SIGNAL_STRENGTH_MEASUREMENT_STRING:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_WCDMA_RSCP_THRESHOLDS_INT_ARRAY:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_WFC_DATA_SPN_FORMAT_IDX_INT:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_WFC_OPERATOR_ERROR_CODES_STRING_ARRAY:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_WFC_SPN_FORMAT_IDX_INT:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->KEY_WIFI_CALLS_CAN_BE_HD_AUDIO:Ljava/lang/String;
-Landroid/telephony/CarrierConfigManager;->sDefaults:Landroid/os/PersistableBundle;
-Landroid/telephony/CarrierConfigManager;->TAG:Ljava/lang/String;
-Landroid/telephony/CarrierMessagingServiceManager$CarrierMessagingServiceConnection;
-Landroid/telephony/CarrierMessagingServiceManager$CarrierMessagingServiceConnection;-><init>()V
-Landroid/telephony/CarrierMessagingServiceManager;
-Landroid/telephony/CarrierMessagingServiceManager;->bindToCarrierMessagingService(Landroid/content/Context;Ljava/lang/String;)Z
-Landroid/telephony/CarrierMessagingServiceManager;->disposeConnection(Landroid/content/Context;)V
-Landroid/telephony/CarrierMessagingServiceManager;->mCarrierMessagingServiceConnection:Landroid/telephony/CarrierMessagingServiceManager$CarrierMessagingServiceConnection;
-Landroid/telephony/CarrierMessagingServiceManager;->onServiceReady(Landroid/service/carrier/ICarrierMessagingService;)V
-Landroid/telephony/cdma/CdmaCellLocation;->INVALID_LAT_LONG:I
-Landroid/telephony/cdma/CdmaCellLocation;->isEmpty()Z
-Landroid/telephony/cdma/CdmaSmsCbProgramData;
-Landroid/telephony/cdma/CdmaSmsCbProgramData;-><init>(IIIIILjava/lang/String;)V
-Landroid/telephony/cdma/CdmaSmsCbProgramData;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->ALERT_OPTION_DEFAULT_ALERT:I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->ALERT_OPTION_HIGH_PRIORITY_ONCE:I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->ALERT_OPTION_HIGH_PRIORITY_REPEAT:I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->ALERT_OPTION_LOW_PRIORITY_ONCE:I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->ALERT_OPTION_LOW_PRIORITY_REPEAT:I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->ALERT_OPTION_MED_PRIORITY_ONCE:I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->ALERT_OPTION_MED_PRIORITY_REPEAT:I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->ALERT_OPTION_NO_ALERT:I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->ALERT_OPTION_VIBRATE_ONCE:I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->ALERT_OPTION_VIBRATE_REPEAT:I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->ALERT_OPTION_VISUAL_ONCE:I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->ALERT_OPTION_VISUAL_REPEAT:I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->getAlertOption()I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->getCategory()I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->getCategoryName()Ljava/lang/String;
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->getLanguage()I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->getMaxMessages()I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->getOperation()I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->mAlertOption:I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->mCategory:I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->mCategoryName:Ljava/lang/String;
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->mLanguage:I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->mMaxMessages:I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->mOperation:I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->OPERATION_ADD_CATEGORY:I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->OPERATION_CLEAR_CATEGORIES:I
-Landroid/telephony/cdma/CdmaSmsCbProgramData;->OPERATION_DELETE_CATEGORY:I
-Landroid/telephony/cdma/CdmaSmsCbProgramResults;
-Landroid/telephony/cdma/CdmaSmsCbProgramResults;-><init>(III)V
-Landroid/telephony/cdma/CdmaSmsCbProgramResults;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/cdma/CdmaSmsCbProgramResults;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telephony/cdma/CdmaSmsCbProgramResults;->getCategory()I
-Landroid/telephony/cdma/CdmaSmsCbProgramResults;->getCategoryResult()I
-Landroid/telephony/cdma/CdmaSmsCbProgramResults;->getLanguage()I
-Landroid/telephony/cdma/CdmaSmsCbProgramResults;->mCategory:I
-Landroid/telephony/cdma/CdmaSmsCbProgramResults;->mCategoryResult:I
-Landroid/telephony/cdma/CdmaSmsCbProgramResults;->mLanguage:I
-Landroid/telephony/cdma/CdmaSmsCbProgramResults;->RESULT_CATEGORY_ALREADY_ADDED:I
-Landroid/telephony/cdma/CdmaSmsCbProgramResults;->RESULT_CATEGORY_ALREADY_DELETED:I
-Landroid/telephony/cdma/CdmaSmsCbProgramResults;->RESULT_CATEGORY_LIMIT_EXCEEDED:I
-Landroid/telephony/cdma/CdmaSmsCbProgramResults;->RESULT_INVALID_ALERT_OPTION:I
-Landroid/telephony/cdma/CdmaSmsCbProgramResults;->RESULT_INVALID_CATEGORY_NAME:I
-Landroid/telephony/cdma/CdmaSmsCbProgramResults;->RESULT_INVALID_MAX_MESSAGES:I
-Landroid/telephony/cdma/CdmaSmsCbProgramResults;->RESULT_MEMORY_LIMIT_EXCEEDED:I
-Landroid/telephony/cdma/CdmaSmsCbProgramResults;->RESULT_SUCCESS:I
-Landroid/telephony/cdma/CdmaSmsCbProgramResults;->RESULT_UNSPECIFIED_FAILURE:I
-Landroid/telephony/CellBroadcastMessage;
-Landroid/telephony/CellBroadcastMessage;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/CellBroadcastMessage;-><init>(Landroid/telephony/SmsCbMessage;JZ)V
-Landroid/telephony/CellBroadcastMessage;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telephony/CellBroadcastMessage;->getCmasMessageClass()I
-Landroid/telephony/CellBroadcastMessage;->getCmasWarningInfo()Landroid/telephony/SmsCbCmasInfo;
-Landroid/telephony/CellBroadcastMessage;->getDateString(Landroid/content/Context;)Ljava/lang/String;
-Landroid/telephony/CellBroadcastMessage;->getSubId()I
-Landroid/telephony/CellBroadcastMessage;->isEtwsEmergencyUserAlert()Z
-Landroid/telephony/CellBroadcastMessage;->isEtwsPopupAlert()Z
-Landroid/telephony/CellBroadcastMessage;->isEtwsTestMessage()Z
-Landroid/telephony/CellBroadcastMessage;->isPublicAlertMessage()Z
-Landroid/telephony/CellBroadcastMessage;->mDeliveryTime:J
-Landroid/telephony/CellBroadcastMessage;->mIsRead:Z
-Landroid/telephony/CellBroadcastMessage;->mSmsCbMessage:Landroid/telephony/SmsCbMessage;
-Landroid/telephony/CellBroadcastMessage;->mSubId:I
-Landroid/telephony/CellBroadcastMessage;->setIsRead(Z)V
-Landroid/telephony/CellBroadcastMessage;->setSubId(I)V
-Landroid/telephony/CellBroadcastMessage;->SMS_CB_MESSAGE_EXTRA:Ljava/lang/String;
-Landroid/telephony/CellIdentity$Type;
-Landroid/telephony/CellIdentity;-><init>(Ljava/lang/String;ILandroid/os/Parcel;)V
-Landroid/telephony/CellIdentity;-><init>(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telephony/CellIdentity;->getChannelNumber()I
-Landroid/telephony/CellIdentity;->getType()I
-Landroid/telephony/CellIdentity;->INVALID_CHANNEL_NUMBER:I
-Landroid/telephony/CellIdentity;->log(Ljava/lang/String;)V
-Landroid/telephony/CellIdentity;->mAlphaLong:Ljava/lang/String;
-Landroid/telephony/CellIdentity;->mAlphaShort:Ljava/lang/String;
-Landroid/telephony/CellIdentity;->mMccStr:Ljava/lang/String;
-Landroid/telephony/CellIdentity;->mMncStr:Ljava/lang/String;
-Landroid/telephony/CellIdentity;->mTag:Ljava/lang/String;
-Landroid/telephony/CellIdentity;->mType:I
-Landroid/telephony/CellIdentity;->TYPE_CDMA:I
-Landroid/telephony/CellIdentity;->TYPE_GSM:I
-Landroid/telephony/CellIdentity;->TYPE_LTE:I
-Landroid/telephony/CellIdentity;->TYPE_TDSCDMA:I
-Landroid/telephony/CellIdentity;->TYPE_UNKNOWN:I
-Landroid/telephony/CellIdentity;->TYPE_WCDMA:I
-Landroid/telephony/CellIdentityCdma;-><init>()V
-Landroid/telephony/CellIdentityCdma;-><init>(IIIIILjava/lang/String;Ljava/lang/String;)V
-Landroid/telephony/CellIdentityCdma;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/CellIdentityCdma;-><init>(Landroid/telephony/CellIdentityCdma;)V
-Landroid/telephony/CellIdentityCdma;->copy()Landroid/telephony/CellIdentityCdma;
-Landroid/telephony/CellIdentityCdma;->createFromParcelBody(Landroid/os/Parcel;)Landroid/telephony/CellIdentityCdma;
-Landroid/telephony/CellIdentityCdma;->DBG:Z
-Landroid/telephony/CellIdentityCdma;->isNullIsland(II)Z
-Landroid/telephony/CellIdentityCdma;->mBasestationId:I
-Landroid/telephony/CellIdentityCdma;->mLatitude:I
-Landroid/telephony/CellIdentityCdma;->mLongitude:I
-Landroid/telephony/CellIdentityCdma;->mNetworkId:I
-Landroid/telephony/CellIdentityCdma;->mSystemId:I
-Landroid/telephony/CellIdentityCdma;->TAG:Ljava/lang/String;
-Landroid/telephony/CellIdentityGsm;-><init>(IIII)V
-Landroid/telephony/CellIdentityGsm;-><init>(IIIIII)V
-Landroid/telephony/CellIdentityGsm;-><init>(IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telephony/CellIdentityGsm;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/CellIdentityGsm;-><init>(Landroid/telephony/CellIdentityGsm;)V
-Landroid/telephony/CellIdentityGsm;->copy()Landroid/telephony/CellIdentityGsm;
-Landroid/telephony/CellIdentityGsm;->createFromParcelBody(Landroid/os/Parcel;)Landroid/telephony/CellIdentityGsm;
-Landroid/telephony/CellIdentityGsm;->DBG:Z
-Landroid/telephony/CellIdentityGsm;->getChannelNumber()I
-Landroid/telephony/CellIdentityGsm;->mCid:I
-Landroid/telephony/CellIdentityGsm;->mLac:I
-Landroid/telephony/CellIdentityGsm;->TAG:Ljava/lang/String;
-Landroid/telephony/CellIdentityLte;-><init>(IIIIII)V
-Landroid/telephony/CellIdentityLte;-><init>(IIIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telephony/CellIdentityLte;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/CellIdentityLte;-><init>(Landroid/telephony/CellIdentityLte;)V
-Landroid/telephony/CellIdentityLte;->copy()Landroid/telephony/CellIdentityLte;
-Landroid/telephony/CellIdentityLte;->createFromParcelBody(Landroid/os/Parcel;)Landroid/telephony/CellIdentityLte;
-Landroid/telephony/CellIdentityLte;->DBG:Z
-Landroid/telephony/CellIdentityLte;->getChannelNumber()I
-Landroid/telephony/CellIdentityLte;->mBandwidth:I
-Landroid/telephony/CellIdentityLte;->mCi:I
-Landroid/telephony/CellIdentityLte;->mPci:I
-Landroid/telephony/CellIdentityLte;->mTac:I
-Landroid/telephony/CellIdentityLte;->TAG:Ljava/lang/String;
-Landroid/telephony/CellIdentityTdscdma;-><init>()V
-Landroid/telephony/CellIdentityTdscdma;-><init>(IIIII)V
-Landroid/telephony/CellIdentityTdscdma;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/CellIdentityTdscdma;-><init>(Landroid/telephony/CellIdentityTdscdma;)V
-Landroid/telephony/CellIdentityTdscdma;-><init>(Ljava/lang/String;Ljava/lang/String;III)V
-Landroid/telephony/CellIdentityTdscdma;-><init>(Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;Ljava/lang/String;)V
-Landroid/telephony/CellIdentityTdscdma;->copy()Landroid/telephony/CellIdentityTdscdma;
-Landroid/telephony/CellIdentityTdscdma;->createFromParcelBody(Landroid/os/Parcel;)Landroid/telephony/CellIdentityTdscdma;
-Landroid/telephony/CellIdentityTdscdma;->DBG:Z
-Landroid/telephony/CellIdentityTdscdma;->mCid:I
-Landroid/telephony/CellIdentityTdscdma;->mCpid:I
-Landroid/telephony/CellIdentityTdscdma;->mLac:I
-Landroid/telephony/CellIdentityTdscdma;->TAG:Ljava/lang/String;
-Landroid/telephony/CellIdentityWcdma;-><init>()V
-Landroid/telephony/CellIdentityWcdma;-><init>(IIIII)V
-Landroid/telephony/CellIdentityWcdma;-><init>(IIIIII)V
-Landroid/telephony/CellIdentityWcdma;-><init>(IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telephony/CellIdentityWcdma;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/CellIdentityWcdma;-><init>(Landroid/telephony/CellIdentityWcdma;)V
-Landroid/telephony/CellIdentityWcdma;->copy()Landroid/telephony/CellIdentityWcdma;
-Landroid/telephony/CellIdentityWcdma;->createFromParcelBody(Landroid/os/Parcel;)Landroid/telephony/CellIdentityWcdma;
-Landroid/telephony/CellIdentityWcdma;->DBG:Z
-Landroid/telephony/CellIdentityWcdma;->getChannelNumber()I
-Landroid/telephony/CellIdentityWcdma;->mCid:I
-Landroid/telephony/CellIdentityWcdma;->mLac:I
-Landroid/telephony/CellIdentityWcdma;->mPsc:I
-Landroid/telephony/CellIdentityWcdma;->TAG:Ljava/lang/String;
-Landroid/telephony/CellInfo$CellConnectionStatus;
-Landroid/telephony/CellInfo;-><init>()V
-Landroid/telephony/CellInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/CellInfo;-><init>(Landroid/telephony/CellInfo;)V
-Landroid/telephony/CellInfo;->mCellConnectionStatus:I
-Landroid/telephony/CellInfo;->mRegistered:Z
-Landroid/telephony/CellInfo;->mTimeStamp:J
-Landroid/telephony/CellInfo;->mTimeStampType:I
-Landroid/telephony/CellInfo;->setCellConnectionStatus(I)V
-Landroid/telephony/CellInfo;->setRegistered(Z)V
-Landroid/telephony/CellInfo;->setTimeStamp(J)V
-Landroid/telephony/CellInfo;->setTimeStampType(I)V
-Landroid/telephony/CellInfo;->TYPE_CDMA:I
-Landroid/telephony/CellInfo;->TYPE_GSM:I
-Landroid/telephony/CellInfo;->TYPE_LTE:I
-Landroid/telephony/CellInfo;->TYPE_WCDMA:I
-Landroid/telephony/CellInfo;->writeToParcel(Landroid/os/Parcel;II)V
-Landroid/telephony/CellInfoCdma;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/CellInfoCdma;->createFromParcelBody(Landroid/os/Parcel;)Landroid/telephony/CellInfoCdma;
-Landroid/telephony/CellInfoCdma;->DBG:Z
-Landroid/telephony/CellInfoCdma;->log(Ljava/lang/String;)V
-Landroid/telephony/CellInfoCdma;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/CellInfoCdma;->mCellIdentityCdma:Landroid/telephony/CellIdentityCdma;
-Landroid/telephony/CellInfoCdma;->mCellSignalStrengthCdma:Landroid/telephony/CellSignalStrengthCdma;
-Landroid/telephony/CellInfoCdma;->setCellSignalStrength(Landroid/telephony/CellSignalStrengthCdma;)V
-Landroid/telephony/CellInfoGsm;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/CellInfoGsm;-><init>(Landroid/telephony/CellInfoGsm;)V
-Landroid/telephony/CellInfoGsm;->createFromParcelBody(Landroid/os/Parcel;)Landroid/telephony/CellInfoGsm;
-Landroid/telephony/CellInfoGsm;->DBG:Z
-Landroid/telephony/CellInfoGsm;->log(Ljava/lang/String;)V
-Landroid/telephony/CellInfoGsm;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/CellInfoGsm;->mCellIdentityGsm:Landroid/telephony/CellIdentityGsm;
-Landroid/telephony/CellInfoGsm;->mCellSignalStrengthGsm:Landroid/telephony/CellSignalStrengthGsm;
-Landroid/telephony/CellInfoGsm;->setCellIdentity(Landroid/telephony/CellIdentityGsm;)V
-Landroid/telephony/CellInfoGsm;->setCellSignalStrength(Landroid/telephony/CellSignalStrengthGsm;)V
-Landroid/telephony/CellInfoLte;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/CellInfoLte;-><init>(Landroid/telephony/CellInfoLte;)V
-Landroid/telephony/CellInfoLte;->createFromParcelBody(Landroid/os/Parcel;)Landroid/telephony/CellInfoLte;
-Landroid/telephony/CellInfoLte;->DBG:Z
-Landroid/telephony/CellInfoLte;->log(Ljava/lang/String;)V
-Landroid/telephony/CellInfoLte;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/CellInfoLte;->mCellIdentityLte:Landroid/telephony/CellIdentityLte;
-Landroid/telephony/CellInfoLte;->mCellSignalStrengthLte:Landroid/telephony/CellSignalStrengthLte;
-Landroid/telephony/CellInfoWcdma;-><init>()V
-Landroid/telephony/CellInfoWcdma;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/CellInfoWcdma;-><init>(Landroid/telephony/CellInfoWcdma;)V
-Landroid/telephony/CellInfoWcdma;->createFromParcelBody(Landroid/os/Parcel;)Landroid/telephony/CellInfoWcdma;
-Landroid/telephony/CellInfoWcdma;->DBG:Z
-Landroid/telephony/CellInfoWcdma;->log(Ljava/lang/String;)V
-Landroid/telephony/CellInfoWcdma;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/CellInfoWcdma;->mCellIdentityWcdma:Landroid/telephony/CellIdentityWcdma;
-Landroid/telephony/CellInfoWcdma;->mCellSignalStrengthWcdma:Landroid/telephony/CellSignalStrengthWcdma;
-Landroid/telephony/CellInfoWcdma;->setCellIdentity(Landroid/telephony/CellIdentityWcdma;)V
-Landroid/telephony/CellInfoWcdma;->setCellSignalStrength(Landroid/telephony/CellSignalStrengthWcdma;)V
-Landroid/telephony/CellLocation;->setStateInvalid()V
-Landroid/telephony/CellSignalStrength;-><init>()V
-Landroid/telephony/CellSignalStrength;->copy()Landroid/telephony/CellSignalStrength;
-Landroid/telephony/CellSignalStrength;->NUM_SIGNAL_STRENGTH_BINS:I
-Landroid/telephony/CellSignalStrength;->setDefaultValues()V
-Landroid/telephony/CellSignalStrength;->SIGNAL_STRENGTH_NAMES:[Ljava/lang/String;
-Landroid/telephony/CellSignalStrengthCdma;-><init>()V
-Landroid/telephony/CellSignalStrengthCdma;-><init>(IIIII)V
-Landroid/telephony/CellSignalStrengthCdma;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/CellSignalStrengthCdma;-><init>(Landroid/telephony/CellSignalStrengthCdma;)V
-Landroid/telephony/CellSignalStrengthCdma;->copy()Landroid/telephony/CellSignalStrengthCdma;
-Landroid/telephony/CellSignalStrengthCdma;->copyFrom(Landroid/telephony/CellSignalStrengthCdma;)V
-Landroid/telephony/CellSignalStrengthCdma;->DBG:Z
-Landroid/telephony/CellSignalStrengthCdma;->log(Ljava/lang/String;)V
-Landroid/telephony/CellSignalStrengthCdma;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/CellSignalStrengthCdma;->mCdmaDbm:I
-Landroid/telephony/CellSignalStrengthCdma;->mCdmaEcio:I
-Landroid/telephony/CellSignalStrengthCdma;->mEvdoDbm:I
-Landroid/telephony/CellSignalStrengthCdma;->mEvdoEcio:I
-Landroid/telephony/CellSignalStrengthCdma;->mEvdoSnr:I
-Landroid/telephony/CellSignalStrengthCdma;->setCdmaDbm(I)V
-Landroid/telephony/CellSignalStrengthCdma;->setCdmaEcio(I)V
-Landroid/telephony/CellSignalStrengthCdma;->setDefaultValues()V
-Landroid/telephony/CellSignalStrengthCdma;->setEvdoDbm(I)V
-Landroid/telephony/CellSignalStrengthCdma;->setEvdoEcio(I)V
-Landroid/telephony/CellSignalStrengthCdma;->setEvdoSnr(I)V
-Landroid/telephony/CellSignalStrengthGsm;-><init>(II)V
-Landroid/telephony/CellSignalStrengthGsm;-><init>(III)V
-Landroid/telephony/CellSignalStrengthGsm;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/CellSignalStrengthGsm;-><init>(Landroid/telephony/CellSignalStrengthGsm;)V
-Landroid/telephony/CellSignalStrengthGsm;->copy()Landroid/telephony/CellSignalStrengthGsm;
-Landroid/telephony/CellSignalStrengthGsm;->copyFrom(Landroid/telephony/CellSignalStrengthGsm;)V
-Landroid/telephony/CellSignalStrengthGsm;->DBG:Z
-Landroid/telephony/CellSignalStrengthGsm;->GSM_SIGNAL_STRENGTH_GOOD:I
-Landroid/telephony/CellSignalStrengthGsm;->GSM_SIGNAL_STRENGTH_GREAT:I
-Landroid/telephony/CellSignalStrengthGsm;->GSM_SIGNAL_STRENGTH_MODERATE:I
-Landroid/telephony/CellSignalStrengthGsm;->log(Ljava/lang/String;)V
-Landroid/telephony/CellSignalStrengthGsm;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/CellSignalStrengthGsm;->setDefaultValues()V
-Landroid/telephony/CellSignalStrengthLte;-><init>(IIIIII)V
-Landroid/telephony/CellSignalStrengthLte;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/CellSignalStrengthLte;-><init>(Landroid/telephony/CellSignalStrengthLte;)V
-Landroid/telephony/CellSignalStrengthLte;->copy()Landroid/telephony/CellSignalStrengthLte;
-Landroid/telephony/CellSignalStrengthLte;->copyFrom(Landroid/telephony/CellSignalStrengthLte;)V
-Landroid/telephony/CellSignalStrengthLte;->DBG:Z
-Landroid/telephony/CellSignalStrengthLte;->log(Ljava/lang/String;)V
-Landroid/telephony/CellSignalStrengthLte;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/CellSignalStrengthLte;->setDefaultValues()V
-Landroid/telephony/CellSignalStrengthWcdma;-><init>()V
-Landroid/telephony/CellSignalStrengthWcdma;-><init>(II)V
-Landroid/telephony/CellSignalStrengthWcdma;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/CellSignalStrengthWcdma;-><init>(Landroid/telephony/CellSignalStrengthWcdma;)V
-Landroid/telephony/CellSignalStrengthWcdma;->copy()Landroid/telephony/CellSignalStrengthWcdma;
-Landroid/telephony/CellSignalStrengthWcdma;->copyFrom(Landroid/telephony/CellSignalStrengthWcdma;)V
-Landroid/telephony/CellSignalStrengthWcdma;->DBG:Z
-Landroid/telephony/CellSignalStrengthWcdma;->log(Ljava/lang/String;)V
-Landroid/telephony/CellSignalStrengthWcdma;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/CellSignalStrengthWcdma;->setDefaultValues()V
-Landroid/telephony/CellSignalStrengthWcdma;->WCDMA_SIGNAL_STRENGTH_GOOD:I
-Landroid/telephony/CellSignalStrengthWcdma;->WCDMA_SIGNAL_STRENGTH_GREAT:I
-Landroid/telephony/CellSignalStrengthWcdma;->WCDMA_SIGNAL_STRENGTH_MODERATE:I
-Landroid/telephony/ClientRequestStats;
-Landroid/telephony/ClientRequestStats;-><init>()V
-Landroid/telephony/ClientRequestStats;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/ClientRequestStats;-><init>(Landroid/telephony/ClientRequestStats;)V
-Landroid/telephony/ClientRequestStats;->addCompletedWakelockTime(J)V
-Landroid/telephony/ClientRequestStats;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telephony/ClientRequestStats;->getCallingPackage()Ljava/lang/String;
-Landroid/telephony/ClientRequestStats;->getCompletedRequestsCount()J
-Landroid/telephony/ClientRequestStats;->getCompletedRequestsWakelockTime()J
-Landroid/telephony/ClientRequestStats;->getPendingRequestsCount()J
-Landroid/telephony/ClientRequestStats;->getPendingRequestsWakelockTime()J
-Landroid/telephony/ClientRequestStats;->getRequestHistograms()Ljava/util/List;
-Landroid/telephony/ClientRequestStats;->incrementCompletedRequestsCount()V
-Landroid/telephony/ClientRequestStats;->mCallingPackage:Ljava/lang/String;
-Landroid/telephony/ClientRequestStats;->mCompletedRequestsCount:J
-Landroid/telephony/ClientRequestStats;->mCompletedRequestsWakelockTime:J
-Landroid/telephony/ClientRequestStats;->mPendingRequestsCount:J
-Landroid/telephony/ClientRequestStats;->mPendingRequestsWakelockTime:J
-Landroid/telephony/ClientRequestStats;->mRequestHistograms:Landroid/util/SparseArray;
-Landroid/telephony/ClientRequestStats;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/telephony/ClientRequestStats;->REQUEST_HISTOGRAM_BUCKET_COUNT:I
-Landroid/telephony/ClientRequestStats;->setCallingPackage(Ljava/lang/String;)V
-Landroid/telephony/ClientRequestStats;->setPendingRequestsCount(J)V
-Landroid/telephony/ClientRequestStats;->setPendingRequestsWakelockTime(J)V
-Landroid/telephony/ClientRequestStats;->updateRequestHistograms(II)V
-Landroid/telephony/data/ApnSetting$ApnType;
-Landroid/telephony/data/ApnSetting$AuthType;
-Landroid/telephony/data/ApnSetting$Builder;->mApnName:Ljava/lang/String;
-Landroid/telephony/data/ApnSetting$Builder;->mApnTypeBitmask:I
-Landroid/telephony/data/ApnSetting$Builder;->mAuthType:I
-Landroid/telephony/data/ApnSetting$Builder;->mCarrierEnabled:Z
-Landroid/telephony/data/ApnSetting$Builder;->mEntryName:Ljava/lang/String;
-Landroid/telephony/data/ApnSetting$Builder;->mId:I
-Landroid/telephony/data/ApnSetting$Builder;->mMaxConns:I
-Landroid/telephony/data/ApnSetting$Builder;->mMaxConnsTime:I
-Landroid/telephony/data/ApnSetting$Builder;->mMmsc:Landroid/net/Uri;
-Landroid/telephony/data/ApnSetting$Builder;->mMmsProxyAddress:Ljava/net/InetAddress;
-Landroid/telephony/data/ApnSetting$Builder;->mMmsProxyPort:I
-Landroid/telephony/data/ApnSetting$Builder;->mModemCognitive:Z
-Landroid/telephony/data/ApnSetting$Builder;->mMtu:I
-Landroid/telephony/data/ApnSetting$Builder;->mMvnoMatchData:Ljava/lang/String;
-Landroid/telephony/data/ApnSetting$Builder;->mMvnoType:I
-Landroid/telephony/data/ApnSetting$Builder;->mNetworkTypeBitmask:I
-Landroid/telephony/data/ApnSetting$Builder;->mOperatorNumeric:Ljava/lang/String;
-Landroid/telephony/data/ApnSetting$Builder;->mPassword:Ljava/lang/String;
-Landroid/telephony/data/ApnSetting$Builder;->mProfileId:I
-Landroid/telephony/data/ApnSetting$Builder;->mProtocol:I
-Landroid/telephony/data/ApnSetting$Builder;->mProxyAddress:Ljava/net/InetAddress;
-Landroid/telephony/data/ApnSetting$Builder;->mProxyPort:I
-Landroid/telephony/data/ApnSetting$Builder;->mRoamingProtocol:I
-Landroid/telephony/data/ApnSetting$Builder;->mUser:Ljava/lang/String;
-Landroid/telephony/data/ApnSetting$Builder;->mWaitTime:I
-Landroid/telephony/data/ApnSetting$Builder;->setId(I)Landroid/telephony/data/ApnSetting$Builder;
-Landroid/telephony/data/ApnSetting$Builder;->setMaxConns(I)Landroid/telephony/data/ApnSetting$Builder;
-Landroid/telephony/data/ApnSetting$Builder;->setMaxConnsTime(I)Landroid/telephony/data/ApnSetting$Builder;
-Landroid/telephony/data/ApnSetting$Builder;->setModemCognitive(Z)Landroid/telephony/data/ApnSetting$Builder;
-Landroid/telephony/data/ApnSetting$Builder;->setMtu(I)Landroid/telephony/data/ApnSetting$Builder;
-Landroid/telephony/data/ApnSetting$Builder;->setMvnoMatchData(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
-Landroid/telephony/data/ApnSetting$Builder;->setProfileId(I)Landroid/telephony/data/ApnSetting$Builder;
-Landroid/telephony/data/ApnSetting$Builder;->setWaitTime(I)Landroid/telephony/data/ApnSetting$Builder;
-Landroid/telephony/data/ApnSetting$MvnoType;
-Landroid/telephony/data/ApnSetting$ProtocolType;
-Landroid/telephony/data/ApnSetting;-><init>(Landroid/telephony/data/ApnSetting$Builder;)V
-Landroid/telephony/data/ApnSetting;->APN_TYPE_INT_MAP:Ljava/util/Map;
-Landroid/telephony/data/ApnSetting;->APN_TYPE_STRING_MAP:Ljava/util/Map;
-Landroid/telephony/data/ApnSetting;->canHandleType(I)Z
-Landroid/telephony/data/ApnSetting;->deParseTypes(I)Ljava/lang/String;
-Landroid/telephony/data/ApnSetting;->equals(Ljava/lang/Object;Z)Z
-Landroid/telephony/data/ApnSetting;->getMaxConns()I
-Landroid/telephony/data/ApnSetting;->getMaxConnsTime()I
-Landroid/telephony/data/ApnSetting;->getModemCognitive()Z
-Landroid/telephony/data/ApnSetting;->getMtu()I
-Landroid/telephony/data/ApnSetting;->getMvnoMatchData()Ljava/lang/String;
-Landroid/telephony/data/ApnSetting;->getPermanentFailed()Z
-Landroid/telephony/data/ApnSetting;->getProfileId()I
-Landroid/telephony/data/ApnSetting;->getWaitTime()I
-Landroid/telephony/data/ApnSetting;->hasMvnoParams()Z
-Landroid/telephony/data/ApnSetting;->inetAddressFromString(Ljava/lang/String;)Ljava/net/InetAddress;
-Landroid/telephony/data/ApnSetting;->inetAddressToString(Ljava/net/InetAddress;)Ljava/lang/String;
-Landroid/telephony/data/ApnSetting;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/data/ApnSetting;->makeApnSetting(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/InetAddress;ILandroid/net/Uri;Ljava/net/InetAddress;ILjava/lang/String;Ljava/lang/String;IIIIZIIZIIIIILjava/lang/String;)Landroid/telephony/data/ApnSetting;
-Landroid/telephony/data/ApnSetting;->makeApnSetting(Landroid/database/Cursor;)Landroid/telephony/data/ApnSetting;
-Landroid/telephony/data/ApnSetting;->makeApnSetting(Landroid/telephony/data/ApnSetting;)Landroid/telephony/data/ApnSetting;
-Landroid/telephony/data/ApnSetting;->mApnName:Ljava/lang/String;
-Landroid/telephony/data/ApnSetting;->mApnTypeBitmask:I
-Landroid/telephony/data/ApnSetting;->mAuthType:I
-Landroid/telephony/data/ApnSetting;->mCarrierEnabled:Z
-Landroid/telephony/data/ApnSetting;->mEntryName:Ljava/lang/String;
-Landroid/telephony/data/ApnSetting;->mId:I
-Landroid/telephony/data/ApnSetting;->mMaxConns:I
-Landroid/telephony/data/ApnSetting;->mMaxConnsTime:I
-Landroid/telephony/data/ApnSetting;->mMmsc:Landroid/net/Uri;
-Landroid/telephony/data/ApnSetting;->mMmsProxyAddress:Ljava/net/InetAddress;
-Landroid/telephony/data/ApnSetting;->mMmsProxyPort:I
-Landroid/telephony/data/ApnSetting;->mModemCognitive:Z
-Landroid/telephony/data/ApnSetting;->mMtu:I
-Landroid/telephony/data/ApnSetting;->mMvnoMatchData:Ljava/lang/String;
-Landroid/telephony/data/ApnSetting;->mMvnoType:I
-Landroid/telephony/data/ApnSetting;->mNetworkTypeBitmask:I
-Landroid/telephony/data/ApnSetting;->mOperatorNumeric:Ljava/lang/String;
-Landroid/telephony/data/ApnSetting;->mPassword:Ljava/lang/String;
-Landroid/telephony/data/ApnSetting;->mPermanentFailed:Z
-Landroid/telephony/data/ApnSetting;->mProfileId:I
-Landroid/telephony/data/ApnSetting;->mProtocol:I
-Landroid/telephony/data/ApnSetting;->mProxyAddress:Ljava/net/InetAddress;
-Landroid/telephony/data/ApnSetting;->mProxyPort:I
-Landroid/telephony/data/ApnSetting;->mRoamingProtocol:I
-Landroid/telephony/data/ApnSetting;->mUser:Ljava/lang/String;
-Landroid/telephony/data/ApnSetting;->MVNO_TYPE_INT_MAP:Ljava/util/Map;
-Landroid/telephony/data/ApnSetting;->MVNO_TYPE_STRING_MAP:Ljava/util/Map;
-Landroid/telephony/data/ApnSetting;->mWaitTime:I
-Landroid/telephony/data/ApnSetting;->NOT_IN_MAP_INT:I
-Landroid/telephony/data/ApnSetting;->NO_PORT_SPECIFIED:I
-Landroid/telephony/data/ApnSetting;->nullToEmpty(Ljava/lang/String;)Ljava/lang/String;
-Landroid/telephony/data/ApnSetting;->nullToNotInMapInt(Ljava/lang/Integer;)I
-Landroid/telephony/data/ApnSetting;->parseTypes(Ljava/lang/String;)I
-Landroid/telephony/data/ApnSetting;->portFromString(Ljava/lang/String;)I
-Landroid/telephony/data/ApnSetting;->portToString(I)Ljava/lang/String;
-Landroid/telephony/data/ApnSetting;->PROTOCOL_INT_MAP:Ljava/util/Map;
-Landroid/telephony/data/ApnSetting;->PROTOCOL_STRING_MAP:Ljava/util/Map;
-Landroid/telephony/data/ApnSetting;->readFromParcel(Landroid/os/Parcel;)Landroid/telephony/data/ApnSetting;
-Landroid/telephony/data/ApnSetting;->setPermanentFailed(Z)V
-Landroid/telephony/data/ApnSetting;->similar(Landroid/telephony/data/ApnSetting;)Z
-Landroid/telephony/data/ApnSetting;->toContentValues()Landroid/content/ContentValues;
-Landroid/telephony/data/ApnSetting;->typeSameAny(Landroid/telephony/data/ApnSetting;Landroid/telephony/data/ApnSetting;)Z
-Landroid/telephony/data/ApnSetting;->TYPE_ALL_BUT_IA:I
-Landroid/telephony/data/ApnSetting;->UriFromString(Ljava/lang/String;)Landroid/net/Uri;
-Landroid/telephony/data/ApnSetting;->UriToString(Landroid/net/Uri;)Ljava/lang/String;
-Landroid/telephony/data/ApnSetting;->VDBG:Z
-Landroid/telephony/data/ApnSetting;->xorEquals(Ljava/lang/Object;Ljava/lang/Object;)Z
-Landroid/telephony/data/ApnSetting;->xorEquals(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/telephony/data/ApnSetting;->xorEqualsPort(II)Z
-Landroid/telephony/data/DataCallResponse;
-Landroid/telephony/data/DataCallResponse;-><init>(IIIILjava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;I)V
-Landroid/telephony/data/DataCallResponse;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/data/DataCallResponse;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telephony/data/DataCallResponse;->getActive()I
-Landroid/telephony/data/DataCallResponse;->getAddresses()Ljava/util/List;
-Landroid/telephony/data/DataCallResponse;->getCallId()I
-Landroid/telephony/data/DataCallResponse;->getDnses()Ljava/util/List;
-Landroid/telephony/data/DataCallResponse;->getGateways()Ljava/util/List;
-Landroid/telephony/data/DataCallResponse;->getIfname()Ljava/lang/String;
-Landroid/telephony/data/DataCallResponse;->getMtu()I
-Landroid/telephony/data/DataCallResponse;->getPcscfs()Ljava/util/List;
-Landroid/telephony/data/DataCallResponse;->getStatus()I
-Landroid/telephony/data/DataCallResponse;->getSuggestedRetryTime()I
-Landroid/telephony/data/DataCallResponse;->getType()Ljava/lang/String;
-Landroid/telephony/data/DataCallResponse;->mActive:I
-Landroid/telephony/data/DataCallResponse;->mAddresses:Ljava/util/List;
-Landroid/telephony/data/DataCallResponse;->mCid:I
-Landroid/telephony/data/DataCallResponse;->mDnses:Ljava/util/List;
-Landroid/telephony/data/DataCallResponse;->mGateways:Ljava/util/List;
-Landroid/telephony/data/DataCallResponse;->mIfname:Ljava/lang/String;
-Landroid/telephony/data/DataCallResponse;->mMtu:I
-Landroid/telephony/data/DataCallResponse;->mPcscfs:Ljava/util/List;
-Landroid/telephony/data/DataCallResponse;->mStatus:I
-Landroid/telephony/data/DataCallResponse;->mSuggestedRetryTime:I
-Landroid/telephony/data/DataCallResponse;->mType:Ljava/lang/String;
-Landroid/telephony/data/DataProfile;
-Landroid/telephony/data/DataProfile;-><init>(ILjava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;IIIIZILjava/lang/String;IILjava/lang/String;Ljava/lang/String;Z)V
-Landroid/telephony/data/DataProfile;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/data/DataProfile;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telephony/data/DataProfile;->getApn()Ljava/lang/String;
-Landroid/telephony/data/DataProfile;->getAuthType()I
-Landroid/telephony/data/DataProfile;->getBearerBitmap()I
-Landroid/telephony/data/DataProfile;->getMaxConns()I
-Landroid/telephony/data/DataProfile;->getMaxConnsTime()I
-Landroid/telephony/data/DataProfile;->getMtu()I
-Landroid/telephony/data/DataProfile;->getMvnoMatchData()Ljava/lang/String;
-Landroid/telephony/data/DataProfile;->getMvnoType()Ljava/lang/String;
-Landroid/telephony/data/DataProfile;->getPassword()Ljava/lang/String;
-Landroid/telephony/data/DataProfile;->getProfileId()I
-Landroid/telephony/data/DataProfile;->getProtocol()Ljava/lang/String;
-Landroid/telephony/data/DataProfile;->getRoamingProtocol()Ljava/lang/String;
-Landroid/telephony/data/DataProfile;->getSupportedApnTypesBitmap()I
-Landroid/telephony/data/DataProfile;->getType()I
-Landroid/telephony/data/DataProfile;->getUserName()Ljava/lang/String;
-Landroid/telephony/data/DataProfile;->getWaitTime()I
-Landroid/telephony/data/DataProfile;->isEnabled()Z
-Landroid/telephony/data/DataProfile;->isModemCognitive()Z
-Landroid/telephony/data/DataProfile;->mApn:Ljava/lang/String;
-Landroid/telephony/data/DataProfile;->mAuthType:I
-Landroid/telephony/data/DataProfile;->mBearerBitmap:I
-Landroid/telephony/data/DataProfile;->mEnabled:Z
-Landroid/telephony/data/DataProfile;->mMaxConns:I
-Landroid/telephony/data/DataProfile;->mMaxConnsTime:I
-Landroid/telephony/data/DataProfile;->mModemCognitive:Z
-Landroid/telephony/data/DataProfile;->mMtu:I
-Landroid/telephony/data/DataProfile;->mMvnoMatchData:Ljava/lang/String;
-Landroid/telephony/data/DataProfile;->mMvnoType:Ljava/lang/String;
-Landroid/telephony/data/DataProfile;->mPassword:Ljava/lang/String;
-Landroid/telephony/data/DataProfile;->mProfileId:I
-Landroid/telephony/data/DataProfile;->mProtocol:Ljava/lang/String;
-Landroid/telephony/data/DataProfile;->mRoamingProtocol:Ljava/lang/String;
-Landroid/telephony/data/DataProfile;->mSupportedApnTypesBitmap:I
-Landroid/telephony/data/DataProfile;->mType:I
-Landroid/telephony/data/DataProfile;->mUserName:Ljava/lang/String;
-Landroid/telephony/data/DataProfile;->mWaitTime:I
-Landroid/telephony/data/DataProfile;->TYPE_3GPP2:I
-Landroid/telephony/data/DataProfile;->TYPE_3GPP:I
-Landroid/telephony/data/DataProfile;->TYPE_COMMON:I
-Landroid/telephony/data/DataService$DataCallListChangedIndication;
-Landroid/telephony/data/DataService$DataCallListChangedIndication;-><init>(Ljava/util/List;Landroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/DataService$DataCallListChangedIndication;->callback:Landroid/telephony/data/IDataServiceCallback;
-Landroid/telephony/data/DataService$DataCallListChangedIndication;->dataCallList:Ljava/util/List;
-Landroid/telephony/data/DataService$DataServiceHandler;
-Landroid/telephony/data/DataService$DataServiceHandler;-><init>(Landroid/os/Looper;)V
-Landroid/telephony/data/DataService$DataServiceProvider;
-Landroid/telephony/data/DataService$DataServiceProvider;-><init>(I)V
-Landroid/telephony/data/DataService$DataServiceProvider;->deactivateDataCall(IILandroid/telephony/data/DataServiceCallback;)V
-Landroid/telephony/data/DataService$DataServiceProvider;->getDataCallList(Landroid/telephony/data/DataServiceCallback;)V
-Landroid/telephony/data/DataService$DataServiceProvider;->getSlotId()I
-Landroid/telephony/data/DataService$DataServiceProvider;->mDataCallListChangedCallbacks:Ljava/util/List;
-Landroid/telephony/data/DataService$DataServiceProvider;->mSlotId:I
-Landroid/telephony/data/DataService$DataServiceProvider;->notifyDataCallListChanged(Ljava/util/List;)V
-Landroid/telephony/data/DataService$DataServiceProvider;->onDestroy()V
-Landroid/telephony/data/DataService$DataServiceProvider;->registerForDataCallListChanged(Landroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/DataService$DataServiceProvider;->setDataProfile(Ljava/util/List;ZLandroid/telephony/data/DataServiceCallback;)V
-Landroid/telephony/data/DataService$DataServiceProvider;->setInitialAttachApn(Landroid/telephony/data/DataProfile;ZLandroid/telephony/data/DataServiceCallback;)V
-Landroid/telephony/data/DataService$DataServiceProvider;->setupDataCall(ILandroid/telephony/data/DataProfile;ZZILandroid/net/LinkProperties;Landroid/telephony/data/DataServiceCallback;)V
-Landroid/telephony/data/DataService$DataServiceProvider;->unregisterForDataCallListChanged(Landroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/DataService$DeactivateDataCallRequest;
-Landroid/telephony/data/DataService$DeactivateDataCallRequest;-><init>(IILandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/DataService$DeactivateDataCallRequest;->callback:Landroid/telephony/data/IDataServiceCallback;
-Landroid/telephony/data/DataService$DeactivateDataCallRequest;->cid:I
-Landroid/telephony/data/DataService$DeactivateDataCallRequest;->reason:I
-Landroid/telephony/data/DataService$DeactivateDataReason;
-Landroid/telephony/data/DataService$IDataServiceWrapper;
-Landroid/telephony/data/DataService$IDataServiceWrapper;-><init>()V
-Landroid/telephony/data/DataService$IDataServiceWrapper;->createDataServiceProvider(I)V
-Landroid/telephony/data/DataService$IDataServiceWrapper;->deactivateDataCall(IIILandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/DataService$IDataServiceWrapper;->getDataCallList(ILandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/DataService$IDataServiceWrapper;->registerForDataCallListChanged(ILandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/DataService$IDataServiceWrapper;->removeDataServiceProvider(I)V
-Landroid/telephony/data/DataService$IDataServiceWrapper;->setDataProfile(ILjava/util/List;ZLandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/DataService$IDataServiceWrapper;->setInitialAttachApn(ILandroid/telephony/data/DataProfile;ZLandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/DataService$IDataServiceWrapper;->setupDataCall(IILandroid/telephony/data/DataProfile;ZZILandroid/net/LinkProperties;Landroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/DataService$IDataServiceWrapper;->unregisterForDataCallListChanged(ILandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/DataService$SetDataProfileRequest;
-Landroid/telephony/data/DataService$SetDataProfileRequest;-><init>(Ljava/util/List;ZLandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/DataService$SetDataProfileRequest;->callback:Landroid/telephony/data/IDataServiceCallback;
-Landroid/telephony/data/DataService$SetDataProfileRequest;->dps:Ljava/util/List;
-Landroid/telephony/data/DataService$SetDataProfileRequest;->isRoaming:Z
-Landroid/telephony/data/DataService$SetInitialAttachApnRequest;
-Landroid/telephony/data/DataService$SetInitialAttachApnRequest;-><init>(Landroid/telephony/data/DataProfile;ZLandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/DataService$SetInitialAttachApnRequest;->callback:Landroid/telephony/data/IDataServiceCallback;
-Landroid/telephony/data/DataService$SetInitialAttachApnRequest;->dataProfile:Landroid/telephony/data/DataProfile;
-Landroid/telephony/data/DataService$SetInitialAttachApnRequest;->isRoaming:Z
-Landroid/telephony/data/DataService$SetupDataCallRequest;
-Landroid/telephony/data/DataService$SetupDataCallRequest;-><init>(ILandroid/telephony/data/DataProfile;ZZILandroid/net/LinkProperties;Landroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/DataService$SetupDataCallRequest;->accessNetworkType:I
-Landroid/telephony/data/DataService$SetupDataCallRequest;->allowRoaming:Z
-Landroid/telephony/data/DataService$SetupDataCallRequest;->callback:Landroid/telephony/data/IDataServiceCallback;
-Landroid/telephony/data/DataService$SetupDataCallRequest;->dataProfile:Landroid/telephony/data/DataProfile;
-Landroid/telephony/data/DataService$SetupDataCallRequest;->isRoaming:Z
-Landroid/telephony/data/DataService$SetupDataCallRequest;->linkProperties:Landroid/net/LinkProperties;
-Landroid/telephony/data/DataService$SetupDataCallRequest;->reason:I
-Landroid/telephony/data/DataService$SetupDataReason;
-Landroid/telephony/data/DataService;
-Landroid/telephony/data/DataService;-><init>()V
-Landroid/telephony/data/DataService;->createDataServiceProvider(I)Landroid/telephony/data/DataService$DataServiceProvider;
-Landroid/telephony/data/DataService;->DATA_SERVICE_CREATE_DATA_SERVICE_PROVIDER:I
-Landroid/telephony/data/DataService;->DATA_SERVICE_EXTRA_SLOT_ID:Ljava/lang/String;
-Landroid/telephony/data/DataService;->DATA_SERVICE_INDICATION_DATA_CALL_LIST_CHANGED:I
-Landroid/telephony/data/DataService;->DATA_SERVICE_INTERFACE:Ljava/lang/String;
-Landroid/telephony/data/DataService;->DATA_SERVICE_REMOVE_ALL_DATA_SERVICE_PROVIDERS:I
-Landroid/telephony/data/DataService;->DATA_SERVICE_REMOVE_DATA_SERVICE_PROVIDER:I
-Landroid/telephony/data/DataService;->DATA_SERVICE_REQUEST_DEACTIVATE_DATA_CALL:I
-Landroid/telephony/data/DataService;->DATA_SERVICE_REQUEST_GET_DATA_CALL_LIST:I
-Landroid/telephony/data/DataService;->DATA_SERVICE_REQUEST_REGISTER_DATA_CALL_LIST_CHANGED:I
-Landroid/telephony/data/DataService;->DATA_SERVICE_REQUEST_SETUP_DATA_CALL:I
-Landroid/telephony/data/DataService;->DATA_SERVICE_REQUEST_SET_DATA_PROFILE:I
-Landroid/telephony/data/DataService;->DATA_SERVICE_REQUEST_SET_INITIAL_ATTACH_APN:I
-Landroid/telephony/data/DataService;->DATA_SERVICE_REQUEST_UNREGISTER_DATA_CALL_LIST_CHANGED:I
-Landroid/telephony/data/DataService;->log(Ljava/lang/String;)V
-Landroid/telephony/data/DataService;->loge(Ljava/lang/String;)V
-Landroid/telephony/data/DataService;->mBinder:Landroid/telephony/data/DataService$IDataServiceWrapper;
-Landroid/telephony/data/DataService;->mHandler:Landroid/telephony/data/DataService$DataServiceHandler;
-Landroid/telephony/data/DataService;->mHandlerThread:Landroid/os/HandlerThread;
-Landroid/telephony/data/DataService;->mServiceMap:Landroid/util/SparseArray;
-Landroid/telephony/data/DataService;->REQUEST_REASON_HANDOVER:I
-Landroid/telephony/data/DataService;->REQUEST_REASON_NORMAL:I
-Landroid/telephony/data/DataService;->REQUEST_REASON_SHUTDOWN:I
-Landroid/telephony/data/DataService;->TAG:Ljava/lang/String;
-Landroid/telephony/data/DataServiceCallback$ResultCode;
-Landroid/telephony/data/DataServiceCallback;
-Landroid/telephony/data/DataServiceCallback;-><init>(Landroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/DataServiceCallback;->mCallback:Ljava/lang/ref/WeakReference;
-Landroid/telephony/data/DataServiceCallback;->onDataCallListChanged(Ljava/util/List;)V
-Landroid/telephony/data/DataServiceCallback;->onDeactivateDataCallComplete(I)V
-Landroid/telephony/data/DataServiceCallback;->onGetDataCallListComplete(ILjava/util/List;)V
-Landroid/telephony/data/DataServiceCallback;->onSetDataProfileComplete(I)V
-Landroid/telephony/data/DataServiceCallback;->onSetInitialAttachApnComplete(I)V
-Landroid/telephony/data/DataServiceCallback;->onSetupDataCallComplete(ILandroid/telephony/data/DataCallResponse;)V
-Landroid/telephony/data/DataServiceCallback;->RESULT_ERROR_BUSY:I
-Landroid/telephony/data/DataServiceCallback;->RESULT_ERROR_ILLEGAL_STATE:I
-Landroid/telephony/data/DataServiceCallback;->RESULT_ERROR_INVALID_ARG:I
-Landroid/telephony/data/DataServiceCallback;->RESULT_ERROR_UNSUPPORTED:I
-Landroid/telephony/data/DataServiceCallback;->RESULT_SUCCESS:I
-Landroid/telephony/data/DataServiceCallback;->TAG:Ljava/lang/String;
-Landroid/telephony/data/IDataService$Stub$Proxy;
-Landroid/telephony/data/IDataService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/telephony/data/IDataService$Stub$Proxy;->createDataServiceProvider(I)V
-Landroid/telephony/data/IDataService$Stub$Proxy;->deactivateDataCall(IIILandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/IDataService$Stub$Proxy;->getDataCallList(ILandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/IDataService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/telephony/data/IDataService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/telephony/data/IDataService$Stub$Proxy;->registerForDataCallListChanged(ILandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/IDataService$Stub$Proxy;->removeDataServiceProvider(I)V
-Landroid/telephony/data/IDataService$Stub$Proxy;->setDataProfile(ILjava/util/List;ZLandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/IDataService$Stub$Proxy;->setInitialAttachApn(ILandroid/telephony/data/DataProfile;ZLandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/IDataService$Stub$Proxy;->setupDataCall(IILandroid/telephony/data/DataProfile;ZZILandroid/net/LinkProperties;Landroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/IDataService$Stub$Proxy;->unregisterForDataCallListChanged(ILandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/IDataService$Stub;
-Landroid/telephony/data/IDataService$Stub;-><init>()V
-Landroid/telephony/data/IDataService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/data/IDataService;
-Landroid/telephony/data/IDataService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/telephony/data/IDataService$Stub;->TRANSACTION_createDataServiceProvider:I
-Landroid/telephony/data/IDataService$Stub;->TRANSACTION_deactivateDataCall:I
-Landroid/telephony/data/IDataService$Stub;->TRANSACTION_getDataCallList:I
-Landroid/telephony/data/IDataService$Stub;->TRANSACTION_registerForDataCallListChanged:I
-Landroid/telephony/data/IDataService$Stub;->TRANSACTION_removeDataServiceProvider:I
-Landroid/telephony/data/IDataService$Stub;->TRANSACTION_setDataProfile:I
-Landroid/telephony/data/IDataService$Stub;->TRANSACTION_setInitialAttachApn:I
-Landroid/telephony/data/IDataService$Stub;->TRANSACTION_setupDataCall:I
-Landroid/telephony/data/IDataService$Stub;->TRANSACTION_unregisterForDataCallListChanged:I
-Landroid/telephony/data/IDataService;
-Landroid/telephony/data/IDataService;->createDataServiceProvider(I)V
-Landroid/telephony/data/IDataService;->deactivateDataCall(IIILandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/IDataService;->getDataCallList(ILandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/IDataService;->registerForDataCallListChanged(ILandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/IDataService;->removeDataServiceProvider(I)V
-Landroid/telephony/data/IDataService;->setDataProfile(ILjava/util/List;ZLandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/IDataService;->setInitialAttachApn(ILandroid/telephony/data/DataProfile;ZLandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/IDataService;->setupDataCall(IILandroid/telephony/data/DataProfile;ZZILandroid/net/LinkProperties;Landroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/IDataService;->unregisterForDataCallListChanged(ILandroid/telephony/data/IDataServiceCallback;)V
-Landroid/telephony/data/IDataServiceCallback$Stub$Proxy;
-Landroid/telephony/data/IDataServiceCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/telephony/data/IDataServiceCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/telephony/data/IDataServiceCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/telephony/data/IDataServiceCallback$Stub$Proxy;->onDataCallListChanged(Ljava/util/List;)V
-Landroid/telephony/data/IDataServiceCallback$Stub$Proxy;->onDeactivateDataCallComplete(I)V
-Landroid/telephony/data/IDataServiceCallback$Stub$Proxy;->onGetDataCallListComplete(ILjava/util/List;)V
-Landroid/telephony/data/IDataServiceCallback$Stub$Proxy;->onSetDataProfileComplete(I)V
-Landroid/telephony/data/IDataServiceCallback$Stub$Proxy;->onSetInitialAttachApnComplete(I)V
-Landroid/telephony/data/IDataServiceCallback$Stub$Proxy;->onSetupDataCallComplete(ILandroid/telephony/data/DataCallResponse;)V
-Landroid/telephony/data/IDataServiceCallback$Stub;
-Landroid/telephony/data/IDataServiceCallback$Stub;-><init>()V
-Landroid/telephony/data/IDataServiceCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/data/IDataServiceCallback;
-Landroid/telephony/data/IDataServiceCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/telephony/data/IDataServiceCallback$Stub;->TRANSACTION_onDataCallListChanged:I
-Landroid/telephony/data/IDataServiceCallback$Stub;->TRANSACTION_onDeactivateDataCallComplete:I
-Landroid/telephony/data/IDataServiceCallback$Stub;->TRANSACTION_onGetDataCallListComplete:I
-Landroid/telephony/data/IDataServiceCallback$Stub;->TRANSACTION_onSetDataProfileComplete:I
-Landroid/telephony/data/IDataServiceCallback$Stub;->TRANSACTION_onSetInitialAttachApnComplete:I
-Landroid/telephony/data/IDataServiceCallback$Stub;->TRANSACTION_onSetupDataCallComplete:I
-Landroid/telephony/data/IDataServiceCallback;
-Landroid/telephony/data/IDataServiceCallback;->onDataCallListChanged(Ljava/util/List;)V
-Landroid/telephony/data/IDataServiceCallback;->onDeactivateDataCallComplete(I)V
-Landroid/telephony/data/IDataServiceCallback;->onGetDataCallListComplete(ILjava/util/List;)V
-Landroid/telephony/data/IDataServiceCallback;->onSetDataProfileComplete(I)V
-Landroid/telephony/data/IDataServiceCallback;->onSetInitialAttachApnComplete(I)V
-Landroid/telephony/data/IDataServiceCallback;->onSetupDataCallComplete(ILandroid/telephony/data/DataCallResponse;)V
-Landroid/telephony/DataConnectionRealTimeInfo;
-Landroid/telephony/DataConnectionRealTimeInfo;-><init>()V
-Landroid/telephony/DataConnectionRealTimeInfo;-><init>(JI)V
-Landroid/telephony/DataConnectionRealTimeInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/DataConnectionRealTimeInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telephony/DataConnectionRealTimeInfo;->DC_POWER_STATE_HIGH:I
-Landroid/telephony/DataConnectionRealTimeInfo;->DC_POWER_STATE_LOW:I
-Landroid/telephony/DataConnectionRealTimeInfo;->DC_POWER_STATE_MEDIUM:I
-Landroid/telephony/DataConnectionRealTimeInfo;->DC_POWER_STATE_UNKNOWN:I
-Landroid/telephony/DataConnectionRealTimeInfo;->getDcPowerState()I
-Landroid/telephony/DataConnectionRealTimeInfo;->getTime()J
-Landroid/telephony/DataConnectionRealTimeInfo;->mDcPowerState:I
-Landroid/telephony/DataConnectionRealTimeInfo;->mTime:J
-Landroid/telephony/DataSpecificRegistrationStates;
-Landroid/telephony/DataSpecificRegistrationStates;-><init>(I)V
-Landroid/telephony/DataSpecificRegistrationStates;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/DataSpecificRegistrationStates;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telephony/DataSpecificRegistrationStates;->maxDataCalls:I
-Landroid/telephony/DisconnectCause;
-Landroid/telephony/DisconnectCause;-><init>()V
-Landroid/telephony/DisconnectCause;->ANSWERED_ELSEWHERE:I
-Landroid/telephony/DisconnectCause;->BUSY:I
-Landroid/telephony/DisconnectCause;->CALL_BARRED:I
-Landroid/telephony/DisconnectCause;->CALL_PULLED:I
-Landroid/telephony/DisconnectCause;->CDMA_ACCESS_BLOCKED:I
-Landroid/telephony/DisconnectCause;->CDMA_ACCESS_FAILURE:I
-Landroid/telephony/DisconnectCause;->CDMA_ALREADY_ACTIVATED:I
-Landroid/telephony/DisconnectCause;->CDMA_CALL_LOST:I
-Landroid/telephony/DisconnectCause;->CDMA_DROP:I
-Landroid/telephony/DisconnectCause;->CDMA_INTERCEPT:I
-Landroid/telephony/DisconnectCause;->CDMA_LOCKED_UNTIL_POWER_CYCLE:I
-Landroid/telephony/DisconnectCause;->CDMA_NOT_EMERGENCY:I
-Landroid/telephony/DisconnectCause;->CDMA_PREEMPTED:I
-Landroid/telephony/DisconnectCause;->CDMA_REORDER:I
-Landroid/telephony/DisconnectCause;->CDMA_RETRY_ORDER:I
-Landroid/telephony/DisconnectCause;->CDMA_SO_REJECT:I
-Landroid/telephony/DisconnectCause;->CONGESTION:I
-Landroid/telephony/DisconnectCause;->CS_RESTRICTED:I
-Landroid/telephony/DisconnectCause;->CS_RESTRICTED_EMERGENCY:I
-Landroid/telephony/DisconnectCause;->CS_RESTRICTED_NORMAL:I
-Landroid/telephony/DisconnectCause;->DATA_DISABLED:I
-Landroid/telephony/DisconnectCause;->DATA_LIMIT_REACHED:I
-Landroid/telephony/DisconnectCause;->DIALED_CALL_FORWARDING_WHILE_ROAMING:I
-Landroid/telephony/DisconnectCause;->DIALED_MMI:I
-Landroid/telephony/DisconnectCause;->DIAL_LOW_BATTERY:I
-Landroid/telephony/DisconnectCause;->DIAL_MODIFIED_TO_DIAL:I
-Landroid/telephony/DisconnectCause;->DIAL_MODIFIED_TO_DIAL_VIDEO:I
-Landroid/telephony/DisconnectCause;->DIAL_MODIFIED_TO_SS:I
-Landroid/telephony/DisconnectCause;->DIAL_MODIFIED_TO_USSD:I
-Landroid/telephony/DisconnectCause;->DIAL_VIDEO_MODIFIED_TO_DIAL:I
-Landroid/telephony/DisconnectCause;->DIAL_VIDEO_MODIFIED_TO_DIAL_VIDEO:I
-Landroid/telephony/DisconnectCause;->DIAL_VIDEO_MODIFIED_TO_SS:I
-Landroid/telephony/DisconnectCause;->DIAL_VIDEO_MODIFIED_TO_USSD:I
-Landroid/telephony/DisconnectCause;->EMERGENCY_ONLY:I
-Landroid/telephony/DisconnectCause;->EMERGENCY_PERM_FAILURE:I
-Landroid/telephony/DisconnectCause;->EMERGENCY_TEMP_FAILURE:I
-Landroid/telephony/DisconnectCause;->ERROR_UNSPECIFIED:I
-Landroid/telephony/DisconnectCause;->EXITED_ECM:I
-Landroid/telephony/DisconnectCause;->FDN_BLOCKED:I
-Landroid/telephony/DisconnectCause;->ICC_ERROR:I
-Landroid/telephony/DisconnectCause;->IMEI_NOT_ACCEPTED:I
-Landroid/telephony/DisconnectCause;->IMS_ACCESS_BLOCKED:I
-Landroid/telephony/DisconnectCause;->IMS_MERGED_SUCCESSFULLY:I
-Landroid/telephony/DisconnectCause;->IMS_SIP_ALTERNATE_EMERGENCY_CALL:I
-Landroid/telephony/DisconnectCause;->INCOMING_MISSED:I
-Landroid/telephony/DisconnectCause;->INCOMING_REJECTED:I
-Landroid/telephony/DisconnectCause;->INVALID_CREDENTIALS:I
-Landroid/telephony/DisconnectCause;->INVALID_NUMBER:I
-Landroid/telephony/DisconnectCause;->LIMIT_EXCEEDED:I
-Landroid/telephony/DisconnectCause;->LOCAL:I
-Landroid/telephony/DisconnectCause;->LOST_SIGNAL:I
-Landroid/telephony/DisconnectCause;->LOW_BATTERY:I
-Landroid/telephony/DisconnectCause;->MAXIMUM_NUMBER_OF_CALLS_REACHED:I
-Landroid/telephony/DisconnectCause;->MMI:I
-Landroid/telephony/DisconnectCause;->NORMAL:I
-Landroid/telephony/DisconnectCause;->NORMAL_UNSPECIFIED:I
-Landroid/telephony/DisconnectCause;->NOT_DISCONNECTED:I
-Landroid/telephony/DisconnectCause;->NOT_VALID:I
-Landroid/telephony/DisconnectCause;->NO_PHONE_NUMBER_SUPPLIED:I
-Landroid/telephony/DisconnectCause;->NUMBER_UNREACHABLE:I
-Landroid/telephony/DisconnectCause;->OUTGOING_CANCELED:I
-Landroid/telephony/DisconnectCause;->OUTGOING_FAILURE:I
-Landroid/telephony/DisconnectCause;->OUT_OF_NETWORK:I
-Landroid/telephony/DisconnectCause;->OUT_OF_SERVICE:I
-Landroid/telephony/DisconnectCause;->POWER_OFF:I
-Landroid/telephony/DisconnectCause;->SERVER_ERROR:I
-Landroid/telephony/DisconnectCause;->SERVER_UNREACHABLE:I
-Landroid/telephony/DisconnectCause;->TIMED_OUT:I
-Landroid/telephony/DisconnectCause;->UNOBTAINABLE_NUMBER:I
-Landroid/telephony/DisconnectCause;->VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED:I
-Landroid/telephony/DisconnectCause;->VOICEMAIL_NUMBER_MISSING:I
-Landroid/telephony/DisconnectCause;->WIFI_LOST:I
-Landroid/telephony/euicc/DownloadableSubscription$Builder;->accessRules:Ljava/util/List;
-Landroid/telephony/euicc/DownloadableSubscription$Builder;->carrierName:Ljava/lang/String;
-Landroid/telephony/euicc/DownloadableSubscription$Builder;->confirmationCode:Ljava/lang/String;
-Landroid/telephony/euicc/DownloadableSubscription$Builder;->encodedActivationCode:Ljava/lang/String;
-Landroid/telephony/euicc/DownloadableSubscription;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/euicc/DownloadableSubscription;-><init>(Ljava/lang/String;)V
-Landroid/telephony/euicc/DownloadableSubscription;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
-Landroid/telephony/euicc/DownloadableSubscription;->accessRules:Ljava/util/List;
-Landroid/telephony/euicc/DownloadableSubscription;->carrierName:Ljava/lang/String;
-Landroid/telephony/euicc/DownloadableSubscription;->confirmationCode:Ljava/lang/String;
-Landroid/telephony/euicc/DownloadableSubscription;->setAccessRules(Ljava/util/List;)V
-Landroid/telephony/euicc/DownloadableSubscription;->setConfirmationCode(Ljava/lang/String;)V
-Landroid/telephony/euicc/EuiccCardManager;-><init>(Landroid/content/Context;)V
-Landroid/telephony/euicc/EuiccCardManager;->getIEuiccCardController()Lcom/android/internal/telephony/euicc/IEuiccCardController;
-Landroid/telephony/euicc/EuiccCardManager;->mContext:Landroid/content/Context;
-Landroid/telephony/euicc/EuiccCardManager;->TAG:Ljava/lang/String;
-Landroid/telephony/euicc/EuiccInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/euicc/EuiccManager;-><init>(Landroid/content/Context;)V
-Landroid/telephony/euicc/EuiccManager;->ACTION_RESOLVE_ERROR:Ljava/lang/String;
-Landroid/telephony/euicc/EuiccManager;->EXTRA_EMBEDDED_SUBSCRIPTION_RESOLUTION_ACTION:Ljava/lang/String;
-Landroid/telephony/euicc/EuiccManager;->EXTRA_EMBEDDED_SUBSCRIPTION_RESOLUTION_CALLBACK_INTENT:Ljava/lang/String;
-Landroid/telephony/euicc/EuiccManager;->EXTRA_EMBEDDED_SUBSCRIPTION_RESOLUTION_INTENT:Ljava/lang/String;
-Landroid/telephony/euicc/EuiccManager;->EXTRA_FORCE_PROVISION:Ljava/lang/String;
-Landroid/telephony/euicc/EuiccManager;->getIEuiccController()Lcom/android/internal/telephony/euicc/IEuiccController;
-Landroid/telephony/euicc/EuiccManager;->mContext:Landroid/content/Context;
-Landroid/telephony/euicc/EuiccManager;->retainSubscriptionsForFactoryReset(Landroid/app/PendingIntent;)V
-Landroid/telephony/euicc/EuiccManager;->sendUnavailableError(Landroid/app/PendingIntent;)V
-Landroid/telephony/euicc/EuiccManager;->updateSubscriptionNickname(ILjava/lang/String;Landroid/app/PendingIntent;)V
-Landroid/telephony/euicc/EuiccNotification;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/euicc/EuiccNotification;->mData:[B
-Landroid/telephony/euicc/EuiccNotification;->mEvent:I
-Landroid/telephony/euicc/EuiccNotification;->mSeq:I
-Landroid/telephony/euicc/EuiccNotification;->mTargetAddr:Ljava/lang/String;
-Landroid/telephony/euicc/EuiccRulesAuthTable$Builder;->mCarrierIds:[[Landroid/service/carrier/CarrierIdentifier;
-Landroid/telephony/euicc/EuiccRulesAuthTable$Builder;->mPolicyRuleFlags:[I
-Landroid/telephony/euicc/EuiccRulesAuthTable$Builder;->mPolicyRules:[I
-Landroid/telephony/euicc/EuiccRulesAuthTable$Builder;->mPosition:I
-Landroid/telephony/euicc/EuiccRulesAuthTable;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/euicc/EuiccRulesAuthTable;-><init>([I[[Landroid/service/carrier/CarrierIdentifier;[I)V
-Landroid/telephony/euicc/EuiccRulesAuthTable;->match(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/telephony/euicc/EuiccRulesAuthTable;->mCarrierIds:[[Landroid/service/carrier/CarrierIdentifier;
-Landroid/telephony/euicc/EuiccRulesAuthTable;->mPolicyRuleFlags:[I
-Landroid/telephony/euicc/EuiccRulesAuthTable;->mPolicyRules:[I
-Landroid/telephony/gsm/GsmCellLocation;->equalsHandlesNulls(Ljava/lang/Object;Ljava/lang/Object;)Z
-Landroid/telephony/gsm/GsmCellLocation;->isEmpty()Z
-Landroid/telephony/gsm/GsmCellLocation;->mCid:I
-Landroid/telephony/gsm/GsmCellLocation;->mLac:I
-Landroid/telephony/gsm/GsmCellLocation;->mPsc:I
-Landroid/telephony/gsm/SmsManager;-><init>()V
-Landroid/telephony/gsm/SmsManager;->copyMessageToSim([B[BI)Z
-Landroid/telephony/gsm/SmsManager;->deleteMessageFromSim(I)Z
-Landroid/telephony/gsm/SmsManager;->getAllMessagesFromSim()Ljava/util/ArrayList;
-Landroid/telephony/gsm/SmsManager;->mSmsMgrProxy:Landroid/telephony/SmsManager;
-Landroid/telephony/gsm/SmsManager;->sInstance:Landroid/telephony/gsm/SmsManager;
-Landroid/telephony/gsm/SmsManager;->updateMessageOnSim(II[B)Z
-Landroid/telephony/gsm/SmsMessage$MessageClass;-><init>()V
-Landroid/telephony/gsm/SmsMessage$SubmitPdu;-><init>(Lcom/android/internal/telephony/SmsMessageBase$SubmitPduBase;)V
-Landroid/telephony/gsm/SmsMessage;-><init>(Lcom/android/internal/telephony/SmsMessageBase;)V
-Landroid/telephony/gsm/SmsMessage;->getIndexOnIcc()I
-Landroid/telephony/gsm/SmsMessage;->getSmsFacility()Lcom/android/internal/telephony/SmsMessageBase;
-Landroid/telephony/gsm/SmsMessage;->getStatusOnIcc()I
-Landroid/telephony/gsm/SmsMessage;->getSubmitPdu(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z[B)Landroid/telephony/gsm/SmsMessage$SubmitPdu;
-Landroid/telephony/gsm/SmsMessage;->MAX_USER_DATA_BYTES_WITH_HEADER:I
-Landroid/telephony/gsm/SmsMessage;->mWrappedSmsMessage:Lcom/android/internal/telephony/SmsMessageBase;
-Landroid/telephony/IccOpenLogicalChannelResponse;-><init>(II[B)V
-Landroid/telephony/IccOpenLogicalChannelResponse;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/IccOpenLogicalChannelResponse;->mChannel:I
-Landroid/telephony/IccOpenLogicalChannelResponse;->mSelectResponse:[B
-Landroid/telephony/IccOpenLogicalChannelResponse;->mStatus:I
-Landroid/telephony/ims/compat/feature/ImsFeature$ImsState;
-Landroid/telephony/ims/compat/feature/ImsFeature;
-Landroid/telephony/ims/compat/feature/ImsFeature;-><init>()V
-Landroid/telephony/ims/compat/feature/ImsFeature;->ACTION_IMS_SERVICE_DOWN:Ljava/lang/String;
-Landroid/telephony/ims/compat/feature/ImsFeature;->ACTION_IMS_SERVICE_UP:Ljava/lang/String;
-Landroid/telephony/ims/compat/feature/ImsFeature;->addImsFeatureStatusCallback(Lcom/android/ims/internal/IImsFeatureStatusCallback;)V
-Landroid/telephony/ims/compat/feature/ImsFeature;->EMERGENCY_MMTEL:I
-Landroid/telephony/ims/compat/feature/ImsFeature;->EXTRA_PHONE_ID:Ljava/lang/String;
-Landroid/telephony/ims/compat/feature/ImsFeature;->getBinder()Landroid/os/IInterface;
-Landroid/telephony/ims/compat/feature/ImsFeature;->INVALID:I
-Landroid/telephony/ims/compat/feature/ImsFeature;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/ims/compat/feature/ImsFeature;->MAX:I
-Landroid/telephony/ims/compat/feature/ImsFeature;->mContext:Landroid/content/Context;
-Landroid/telephony/ims/compat/feature/ImsFeature;->MMTEL:I
-Landroid/telephony/ims/compat/feature/ImsFeature;->mSlotId:I
-Landroid/telephony/ims/compat/feature/ImsFeature;->mState:I
-Landroid/telephony/ims/compat/feature/ImsFeature;->mStatusCallbacks:Ljava/util/Set;
-Landroid/telephony/ims/compat/feature/ImsFeature;->notifyFeatureState(I)V
-Landroid/telephony/ims/compat/feature/ImsFeature;->onFeatureReady()V
-Landroid/telephony/ims/compat/feature/ImsFeature;->onFeatureRemoved()V
-Landroid/telephony/ims/compat/feature/ImsFeature;->RCS:I
-Landroid/telephony/ims/compat/feature/ImsFeature;->removeImsFeatureStatusCallback(Lcom/android/ims/internal/IImsFeatureStatusCallback;)V
-Landroid/telephony/ims/compat/feature/ImsFeature;->sendImsServiceIntent(I)V
-Landroid/telephony/ims/compat/feature/ImsFeature;->setContext(Landroid/content/Context;)V
-Landroid/telephony/ims/compat/feature/ImsFeature;->setSlotId(I)V
-Landroid/telephony/ims/compat/feature/ImsFeature;->STATE_INITIALIZING:I
-Landroid/telephony/ims/compat/feature/ImsFeature;->STATE_NOT_AVAILABLE:I
-Landroid/telephony/ims/compat/feature/ImsFeature;->STATE_READY:I
-Landroid/telephony/ims/compat/feature/MMTelFeature;
-Landroid/telephony/ims/compat/feature/MMTelFeature;->addRegistrationListener(Lcom/android/ims/internal/IImsRegistrationListener;)V
-Landroid/telephony/ims/compat/feature/MMTelFeature;->createCallProfile(III)Landroid/telephony/ims/ImsCallProfile;
-Landroid/telephony/ims/compat/feature/MMTelFeature;->createCallSession(ILandroid/telephony/ims/ImsCallProfile;Lcom/android/ims/internal/IImsCallSessionListener;)Lcom/android/ims/internal/IImsCallSession;
-Landroid/telephony/ims/compat/feature/MMTelFeature;->endSession(I)V
-Landroid/telephony/ims/compat/feature/MMTelFeature;->getBinder()Lcom/android/ims/internal/IImsMMTelFeature;
-Landroid/telephony/ims/compat/feature/MMTelFeature;->getConfigInterface()Lcom/android/ims/internal/IImsConfig;
-Landroid/telephony/ims/compat/feature/MMTelFeature;->getEcbmInterface()Landroid/telephony/ims/stub/ImsEcbmImplBase;
-Landroid/telephony/ims/compat/feature/MMTelFeature;->getMultiEndpointInterface()Landroid/telephony/ims/stub/ImsMultiEndpointImplBase;
-Landroid/telephony/ims/compat/feature/MMTelFeature;->getPendingCallSession(ILjava/lang/String;)Lcom/android/ims/internal/IImsCallSession;
-Landroid/telephony/ims/compat/feature/MMTelFeature;->getUtInterface()Landroid/telephony/ims/stub/ImsUtImplBase;
-Landroid/telephony/ims/compat/feature/MMTelFeature;->isConnected(II)Z
-Landroid/telephony/ims/compat/feature/MMTelFeature;->isOpened()Z
-Landroid/telephony/ims/compat/feature/MMTelFeature;->mImsMMTelBinder:Lcom/android/ims/internal/IImsMMTelFeature;
-Landroid/telephony/ims/compat/feature/MMTelFeature;->mLock:Ljava/lang/Object;
-Landroid/telephony/ims/compat/feature/MMTelFeature;->onFeatureReady()V
-Landroid/telephony/ims/compat/feature/MMTelFeature;->onFeatureRemoved()V
-Landroid/telephony/ims/compat/feature/MMTelFeature;->removeRegistrationListener(Lcom/android/ims/internal/IImsRegistrationListener;)V
-Landroid/telephony/ims/compat/feature/MMTelFeature;->setUiTTYMode(ILandroid/os/Message;)V
-Landroid/telephony/ims/compat/feature/MMTelFeature;->startSession(Landroid/app/PendingIntent;Lcom/android/ims/internal/IImsRegistrationListener;)I
-Landroid/telephony/ims/compat/feature/MMTelFeature;->turnOffIms()V
-Landroid/telephony/ims/compat/feature/MMTelFeature;->turnOnIms()V
-Landroid/telephony/ims/compat/feature/RcsFeature;
-Landroid/telephony/ims/compat/feature/RcsFeature;-><init>()V
-Landroid/telephony/ims/compat/feature/RcsFeature;->getBinder()Lcom/android/ims/internal/IImsRcsFeature;
-Landroid/telephony/ims/compat/feature/RcsFeature;->mImsRcsBinder:Lcom/android/ims/internal/IImsRcsFeature;
-Landroid/telephony/ims/compat/feature/RcsFeature;->onFeatureReady()V
-Landroid/telephony/ims/compat/feature/RcsFeature;->onFeatureRemoved()V
-Landroid/telephony/ims/compat/ImsService;
-Landroid/telephony/ims/compat/ImsService;->addImsFeature(IILandroid/telephony/ims/compat/feature/ImsFeature;)V
-Landroid/telephony/ims/compat/ImsService;->createEmergencyMMTelFeatureInternal(ILcom/android/ims/internal/IImsFeatureStatusCallback;)Lcom/android/ims/internal/IImsMMTelFeature;
-Landroid/telephony/ims/compat/ImsService;->createMMTelFeatureInternal(ILcom/android/ims/internal/IImsFeatureStatusCallback;)Lcom/android/ims/internal/IImsMMTelFeature;
-Landroid/telephony/ims/compat/ImsService;->createRcsFeatureInternal(ILcom/android/ims/internal/IImsFeatureStatusCallback;)Lcom/android/ims/internal/IImsRcsFeature;
-Landroid/telephony/ims/compat/ImsService;->getFeatures(I)Landroid/util/SparseArray;
-Landroid/telephony/ims/compat/ImsService;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/ims/compat/ImsService;->mFeaturesBySlot:Landroid/util/SparseArray;
-Landroid/telephony/ims/compat/ImsService;->onCreateEmergencyMMTelImsFeature(I)Landroid/telephony/ims/compat/feature/MMTelFeature;
-Landroid/telephony/ims/compat/ImsService;->onCreateMMTelImsFeature(I)Landroid/telephony/ims/compat/feature/MMTelFeature;
-Landroid/telephony/ims/compat/ImsService;->onCreateRcsFeature(I)Landroid/telephony/ims/compat/feature/RcsFeature;
-Landroid/telephony/ims/compat/ImsService;->removeImsFeature(IILcom/android/ims/internal/IImsFeatureStatusCallback;)V
-Landroid/telephony/ims/compat/ImsService;->SERVICE_INTERFACE:Ljava/lang/String;
-Landroid/telephony/ims/compat/ImsService;->setupFeature(Landroid/telephony/ims/compat/feature/ImsFeature;IILcom/android/ims/internal/IImsFeatureStatusCallback;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;-><init>(Landroid/telephony/ims/aidl/IImsCallSessionListener;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionConferenceExtended(Lcom/android/ims/internal/IImsCallSession;Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionConferenceExtendFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionConferenceExtendReceived(Lcom/android/ims/internal/IImsCallSession;Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionConferenceStateUpdated(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsConferenceState;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionHandover(Lcom/android/ims/internal/IImsCallSession;IILandroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionHandoverFailed(Lcom/android/ims/internal/IImsCallSession;IILandroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionHeld(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionHoldFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionHoldReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionInviteParticipantsRequestDelivered(Lcom/android/ims/internal/IImsCallSession;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionInviteParticipantsRequestFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionMayHandover(Lcom/android/ims/internal/IImsCallSession;II)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionMergeComplete(Lcom/android/ims/internal/IImsCallSession;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionMergeFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionMergeStarted(Lcom/android/ims/internal/IImsCallSession;Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionMultipartyStateChanged(Lcom/android/ims/internal/IImsCallSession;Z)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionProgressing(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsStreamMediaProfile;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionRemoveParticipantsRequestDelivered(Lcom/android/ims/internal/IImsCallSession;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionRemoveParticipantsRequestFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionResumed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionResumeFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionResumeReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionRttMessageReceived(Ljava/lang/String;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionRttModifyRequestReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionRttModifyResponseReceived(I)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionStarted(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionStartFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionSuppServiceReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsSuppServiceNotification;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionTerminated(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionTtyModeReceived(Lcom/android/ims/internal/IImsCallSession;I)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionUpdated(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionUpdateFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionUpdateReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionUssdMessageReceived(Lcom/android/ims/internal/IImsCallSession;ILjava/lang/String;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->mNewListener:Landroid/telephony/ims/aidl/IImsCallSessionListener;
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->accept(ILandroid/telephony/ims/ImsStreamMediaProfile;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->close()V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->deflect(Ljava/lang/String;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->extendToConference([Ljava/lang/String;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->getCallId()Ljava/lang/String;
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->getCallProfile()Landroid/telephony/ims/ImsCallProfile;
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->getLocalCallProfile()Landroid/telephony/ims/ImsCallProfile;
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->getProperty(Ljava/lang/String;)Ljava/lang/String;
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->getRemoteCallProfile()Landroid/telephony/ims/ImsCallProfile;
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->getState()I
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->getVideoCallProvider()Lcom/android/ims/internal/IImsVideoCallProvider;
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->hold(Landroid/telephony/ims/ImsStreamMediaProfile;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->inviteParticipants([Ljava/lang/String;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->isInCall()Z
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->isMultiparty()Z
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->merge()V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->reject(I)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->removeParticipants([Ljava/lang/String;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->resume(Landroid/telephony/ims/ImsStreamMediaProfile;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->sendDtmf(CLandroid/os/Message;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->sendRttMessage(Ljava/lang/String;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->sendRttModifyRequest(Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->sendRttModifyResponse(Z)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->sendUssd(Ljava/lang/String;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->setListener(Landroid/telephony/ims/aidl/IImsCallSessionListener;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->setListener(Lcom/android/ims/internal/IImsCallSessionListener;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->setMute(Z)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->start(Ljava/lang/String;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->startConference([Ljava/lang/String;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->startDtmf(C)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->stopDtmf()V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->terminate(I)V
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->update(ILandroid/telephony/ims/ImsStreamMediaProfile;)V
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;-><init>(Landroid/telephony/ims/compat/stub/ImsConfigImplBase;Landroid/content/Context;)V
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->getFeatureValue(IILcom/android/ims/ImsConfigListener;)V
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->getImsConfigImpl()Landroid/telephony/ims/compat/stub/ImsConfigImplBase;
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->getProvisionedStringValue(I)Ljava/lang/String;
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->getProvisionedValue(I)I
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->getVideoQuality(Lcom/android/ims/ImsConfigListener;)V
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->getVolteProvisioned()Z
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->mContext:Landroid/content/Context;
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->mImsConfigImplBaseWeakReference:Ljava/lang/ref/WeakReference;
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->mProvisionedIntValue:Ljava/util/HashMap;
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->mProvisionedStringValue:Ljava/util/HashMap;
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->sendImsConfigChangedIntent(II)V
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->sendImsConfigChangedIntent(ILjava/lang/String;)V
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->setFeatureValue(IIILcom/android/ims/ImsConfigListener;)V
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->setProvisionedStringValue(ILjava/lang/String;)I
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->setProvisionedValue(II)I
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->setVideoQuality(ILcom/android/ims/ImsConfigListener;)V
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->updateCachedValue(IIZ)V
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->updateCachedValue(ILjava/lang/String;Z)V
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase;
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase;->getFeatureValue(IILcom/android/ims/ImsConfigListener;)V
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase;->getProvisionedStringValue(I)Ljava/lang/String;
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase;->getProvisionedValue(I)I
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase;->getVideoQuality(Lcom/android/ims/ImsConfigListener;)V
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase;->getVolteProvisioned()Z
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase;->mImsConfigStub:Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase;->notifyProvisionedValueChanged(II)V
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase;->notifyProvisionedValueChanged(ILjava/lang/String;)V
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase;->setFeatureValue(IIILcom/android/ims/ImsConfigListener;)V
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase;->setProvisionedStringValue(ILjava/lang/String;)I
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase;->setProvisionedValue(II)I
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase;->setVideoQuality(ILcom/android/ims/ImsConfigListener;)V
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase;->TAG:Ljava/lang/String;
-Landroid/telephony/ims/compat/stub/ImsUtListenerImplBase;
-Landroid/telephony/ims/compat/stub/ImsUtListenerImplBase;->onSupplementaryServiceIndication(Landroid/telephony/ims/ImsSsData;)V
-Landroid/telephony/ims/compat/stub/ImsUtListenerImplBase;->utConfigurationCallBarringQueried(Lcom/android/ims/internal/IImsUt;I[Landroid/telephony/ims/ImsSsInfo;)V
-Landroid/telephony/ims/compat/stub/ImsUtListenerImplBase;->utConfigurationCallForwardQueried(Lcom/android/ims/internal/IImsUt;I[Landroid/telephony/ims/ImsCallForwardInfo;)V
-Landroid/telephony/ims/compat/stub/ImsUtListenerImplBase;->utConfigurationCallWaitingQueried(Lcom/android/ims/internal/IImsUt;I[Landroid/telephony/ims/ImsSsInfo;)V
-Landroid/telephony/ims/compat/stub/ImsUtListenerImplBase;->utConfigurationQueried(Lcom/android/ims/internal/IImsUt;ILandroid/os/Bundle;)V
-Landroid/telephony/ims/compat/stub/ImsUtListenerImplBase;->utConfigurationQueryFailed(Lcom/android/ims/internal/IImsUt;ILandroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/compat/stub/ImsUtListenerImplBase;->utConfigurationUpdated(Lcom/android/ims/internal/IImsUt;I)V
-Landroid/telephony/ims/compat/stub/ImsUtListenerImplBase;->utConfigurationUpdateFailed(Lcom/android/ims/internal/IImsUt;ILandroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/feature/CapabilityChangeRequest$CapabilityPair;->mCapability:I
-Landroid/telephony/ims/feature/CapabilityChangeRequest$CapabilityPair;->radioTech:I
-Landroid/telephony/ims/feature/CapabilityChangeRequest;-><init>()V
-Landroid/telephony/ims/feature/CapabilityChangeRequest;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/ims/feature/CapabilityChangeRequest;->addAllCapabilities(Ljava/util/Set;II)V
-Landroid/telephony/ims/feature/CapabilityChangeRequest;->mCapabilitiesToDisable:Ljava/util/Set;
-Landroid/telephony/ims/feature/CapabilityChangeRequest;->mCapabilitiesToEnable:Ljava/util/Set;
-Landroid/telephony/ims/feature/ImsFeature$Capabilities;
-Landroid/telephony/ims/feature/ImsFeature$Capabilities;-><init>()V
-Landroid/telephony/ims/feature/ImsFeature$Capabilities;-><init>(I)V
-Landroid/telephony/ims/feature/ImsFeature$Capabilities;->addCapabilities(I)V
-Landroid/telephony/ims/feature/ImsFeature$Capabilities;->copy()Landroid/telephony/ims/feature/ImsFeature$Capabilities;
-Landroid/telephony/ims/feature/ImsFeature$Capabilities;->getMask()I
-Landroid/telephony/ims/feature/ImsFeature$Capabilities;->isCapable(I)Z
-Landroid/telephony/ims/feature/ImsFeature$Capabilities;->mCapabilities:I
-Landroid/telephony/ims/feature/ImsFeature$Capabilities;->removeCapabilities(I)V
-Landroid/telephony/ims/feature/ImsFeature$CapabilityCallback;
-Landroid/telephony/ims/feature/ImsFeature$CapabilityCallback;-><init>()V
-Landroid/telephony/ims/feature/ImsFeature$CapabilityCallback;->onCapabilitiesStatusChanged(I)V
-Landroid/telephony/ims/feature/ImsFeature$CapabilityCallback;->onCapabilitiesStatusChanged(Landroid/telephony/ims/feature/ImsFeature$Capabilities;)V
-Landroid/telephony/ims/feature/ImsFeature$CapabilityCallback;->onChangeCapabilityConfigurationError(III)V
-Landroid/telephony/ims/feature/ImsFeature$CapabilityCallback;->onQueryCapabilityConfiguration(IIZ)V
-Landroid/telephony/ims/feature/ImsFeature$CapabilityCallbackProxy;-><init>(Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-Landroid/telephony/ims/feature/ImsFeature$CapabilityCallbackProxy;->mCallback:Landroid/telephony/ims/aidl/IImsCapabilityCallback;
-Landroid/telephony/ims/feature/ImsFeature$FeatureType;
-Landroid/telephony/ims/feature/ImsFeature$ImsCapabilityError;
-Landroid/telephony/ims/feature/ImsFeature$ImsState;
-Landroid/telephony/ims/feature/ImsFeature;->ACTION_IMS_SERVICE_DOWN:Ljava/lang/String;
-Landroid/telephony/ims/feature/ImsFeature;->ACTION_IMS_SERVICE_UP:Ljava/lang/String;
-Landroid/telephony/ims/feature/ImsFeature;->addCapabilityCallback(Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-Landroid/telephony/ims/feature/ImsFeature;->addImsFeatureStatusCallback(Lcom/android/ims/internal/IImsFeatureStatusCallback;)V
-Landroid/telephony/ims/feature/ImsFeature;->EXTRA_PHONE_ID:Ljava/lang/String;
-Landroid/telephony/ims/feature/ImsFeature;->FEATURE_INVALID:I
-Landroid/telephony/ims/feature/ImsFeature;->FEATURE_MAX:I
-Landroid/telephony/ims/feature/ImsFeature;->getBinder()Landroid/os/IInterface;
-Landroid/telephony/ims/feature/ImsFeature;->getFeatureState()I
-Landroid/telephony/ims/feature/ImsFeature;->initialize(Landroid/content/Context;I)V
-Landroid/telephony/ims/feature/ImsFeature;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/ims/feature/ImsFeature;->mCapabilityCallbacks:Landroid/os/RemoteCallbackList;
-Landroid/telephony/ims/feature/ImsFeature;->mCapabilityStatus:Landroid/telephony/ims/feature/ImsFeature$Capabilities;
-Landroid/telephony/ims/feature/ImsFeature;->mContext:Landroid/content/Context;
-Landroid/telephony/ims/feature/ImsFeature;->mLock:Ljava/lang/Object;
-Landroid/telephony/ims/feature/ImsFeature;->mSlotId:I
-Landroid/telephony/ims/feature/ImsFeature;->mState:I
-Landroid/telephony/ims/feature/ImsFeature;->mStatusCallbacks:Ljava/util/Set;
-Landroid/telephony/ims/feature/ImsFeature;->notifyCapabilitiesStatusChanged(Landroid/telephony/ims/feature/ImsFeature$Capabilities;)V
-Landroid/telephony/ims/feature/ImsFeature;->notifyFeatureState(I)V
-Landroid/telephony/ims/feature/ImsFeature;->queryCapabilityStatus()Landroid/telephony/ims/feature/ImsFeature$Capabilities;
-Landroid/telephony/ims/feature/ImsFeature;->removeCapabilityCallback(Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-Landroid/telephony/ims/feature/ImsFeature;->removeImsFeatureStatusCallback(Lcom/android/ims/internal/IImsFeatureStatusCallback;)V
-Landroid/telephony/ims/feature/ImsFeature;->requestChangeEnabledCapabilities(Landroid/telephony/ims/feature/CapabilityChangeRequest;Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-Landroid/telephony/ims/feature/ImsFeature;->sendImsServiceIntent(I)V
-Landroid/telephony/ims/feature/MmTelFeature$Listener;
-Landroid/telephony/ims/feature/MmTelFeature$Listener;-><init>()V
-Landroid/telephony/ims/feature/MmTelFeature$Listener;->onIncomingCall(Lcom/android/ims/internal/IImsCallSession;Landroid/os/Bundle;)V
-Landroid/telephony/ims/feature/MmTelFeature$Listener;->onVoiceMessageCountUpdate(I)V
-Landroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;-><init>()V
-Landroid/telephony/ims/feature/MmTelFeature;->acknowledgeSms(III)V
-Landroid/telephony/ims/feature/MmTelFeature;->acknowledgeSmsReport(III)V
-Landroid/telephony/ims/feature/MmTelFeature;->createCallSessionInterface(Landroid/telephony/ims/ImsCallProfile;)Lcom/android/ims/internal/IImsCallSession;
-Landroid/telephony/ims/feature/MmTelFeature;->getBinder()Landroid/telephony/ims/aidl/IImsMmTelFeature;
-Landroid/telephony/ims/feature/MmTelFeature;->getEcbmInterface()Lcom/android/ims/internal/IImsEcbm;
-Landroid/telephony/ims/feature/MmTelFeature;->getMultiEndpointInterface()Lcom/android/ims/internal/IImsMultiEndpoint;
-Landroid/telephony/ims/feature/MmTelFeature;->getSmsFormat()Ljava/lang/String;
-Landroid/telephony/ims/feature/MmTelFeature;->getUtInterface()Lcom/android/ims/internal/IImsUt;
-Landroid/telephony/ims/feature/MmTelFeature;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/ims/feature/MmTelFeature;->mImsMMTelBinder:Landroid/telephony/ims/aidl/IImsMmTelFeature;
-Landroid/telephony/ims/feature/MmTelFeature;->mListener:Landroid/telephony/ims/aidl/IImsMmTelListener;
-Landroid/telephony/ims/feature/MmTelFeature;->mLock:Ljava/lang/Object;
-Landroid/telephony/ims/feature/MmTelFeature;->notifyIncomingCallSession(Lcom/android/ims/internal/IImsCallSession;Landroid/os/Bundle;)V
-Landroid/telephony/ims/feature/MmTelFeature;->onSmsReady()V
-Landroid/telephony/ims/feature/MmTelFeature;->queryCapabilityConfigurationInternal(IILandroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-Landroid/telephony/ims/feature/MmTelFeature;->sendSms(IILjava/lang/String;Ljava/lang/String;Z[B)V
-Landroid/telephony/ims/feature/MmTelFeature;->setListener(Landroid/telephony/ims/aidl/IImsMmTelListener;)V
-Landroid/telephony/ims/feature/MmTelFeature;->setSmsListener(Landroid/telephony/ims/aidl/IImsSmsListener;)V
-Landroid/telephony/ims/feature/RcsFeature;->getBinder()Landroid/telephony/ims/aidl/IImsRcsFeature;
-Landroid/telephony/ims/feature/RcsFeature;->mImsRcsBinder:Landroid/telephony/ims/aidl/IImsRcsFeature;
-Landroid/telephony/ims/ImsCallForwardInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/ims/ImsCallForwardInfo;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/telephony/ims/ImsCallProfile;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/ims/ImsCallProfile;->EXTRA_CALL_MODE_CHANGEABLE:Ljava/lang/String;
-Landroid/telephony/ims/ImsCallProfile;->EXTRA_CALL_RAT_TYPE_ALT:Ljava/lang/String;
-Landroid/telephony/ims/ImsCallProfile;->EXTRA_CONFERENCE:Ljava/lang/String;
-Landroid/telephony/ims/ImsCallProfile;->EXTRA_CONFERENCE_AVAIL:Ljava/lang/String;
-Landroid/telephony/ims/ImsCallProfile;->EXTRA_E_CALL:Ljava/lang/String;
-Landroid/telephony/ims/ImsCallProfile;->EXTRA_OEM_EXTRAS:Ljava/lang/String;
-Landroid/telephony/ims/ImsCallProfile;->EXTRA_VMS:Ljava/lang/String;
-Landroid/telephony/ims/ImsCallProfile;->isVideoStateSet(II)Z
-Landroid/telephony/ims/ImsCallProfile;->maybeCleanseExtras(Landroid/os/Bundle;)Landroid/os/Bundle;
-Landroid/telephony/ims/ImsCallProfile;->mServiceType:I
-Landroid/telephony/ims/ImsCallProfile;->OIRToPresentation(I)I
-Landroid/telephony/ims/ImsCallProfile;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/telephony/ims/ImsCallProfile;->TAG:Ljava/lang/String;
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;-><init>()V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionConferenceExtended(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionConferenceExtendFailed(Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionConferenceExtendReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionConferenceStateUpdated(Landroid/telephony/ims/ImsConferenceState;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionHandover(IILandroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionHandoverFailed(IILandroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionHeld(Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionHoldFailed(Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionHoldReceived(Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionInitiated(Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionInitiatedFailed(Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionInviteParticipantsRequestDelivered()V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionInviteParticipantsRequestFailed(Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionMayHandover(II)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionMergeComplete(Lcom/android/ims/internal/IImsCallSession;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionMergeFailed(Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionMergeStarted(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionMultipartyStateChanged(Z)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionProgressing(Landroid/telephony/ims/ImsStreamMediaProfile;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionRemoveParticipantsRequestDelivered()V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionRemoveParticipantsRequestFailed(Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionResumed(Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionResumeFailed(Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionResumeReceived(Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionRttMessageReceived(Ljava/lang/String;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionRttModifyRequestReceived(Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionRttModifyResponseReceived(I)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionSuppServiceReceived(Landroid/telephony/ims/ImsSuppServiceNotification;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionTerminated(Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionTtyModeReceived(I)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionUpdated(Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionUpdateFailed(Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionUpdateReceived(Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionUssdMessageReceived(ILjava/lang/String;)V
-Landroid/telephony/ims/ImsCallSession$Listener;
-Landroid/telephony/ims/ImsCallSession$Listener;-><init>()V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionConferenceExtended(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionConferenceExtendFailed(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionConferenceExtendReceived(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionConferenceStateUpdated(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsConferenceState;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionHandover(Landroid/telephony/ims/ImsCallSession;IILandroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionHandoverFailed(Landroid/telephony/ims/ImsCallSession;IILandroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionHeld(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionHoldFailed(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionHoldReceived(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionInviteParticipantsRequestDelivered(Landroid/telephony/ims/ImsCallSession;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionInviteParticipantsRequestFailed(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionMayHandover(Landroid/telephony/ims/ImsCallSession;II)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionMergeComplete(Landroid/telephony/ims/ImsCallSession;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionMergeFailed(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionMergeStarted(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionMultipartyStateChanged(Landroid/telephony/ims/ImsCallSession;Z)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionProgressing(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsStreamMediaProfile;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionRemoveParticipantsRequestDelivered(Landroid/telephony/ims/ImsCallSession;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionRemoveParticipantsRequestFailed(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionResumed(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionResumeFailed(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionResumeReceived(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionRttMessageReceived(Ljava/lang/String;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionRttModifyRequestReceived(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionRttModifyResponseReceived(I)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionStarted(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionStartFailed(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionSuppServiceReceived(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsSuppServiceNotification;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionTerminated(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionTtyModeReceived(Landroid/telephony/ims/ImsCallSession;I)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionUpdated(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionUpdateFailed(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionUpdateReceived(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession$Listener;->callSessionUssdMessageReceived(Landroid/telephony/ims/ImsCallSession;ILjava/lang/String;)V
-Landroid/telephony/ims/ImsCallSession$State;
-Landroid/telephony/ims/ImsCallSession$State;-><init>()V
-Landroid/telephony/ims/ImsCallSession$State;->ESTABLISHED:I
-Landroid/telephony/ims/ImsCallSession$State;->ESTABLISHING:I
-Landroid/telephony/ims/ImsCallSession$State;->IDLE:I
-Landroid/telephony/ims/ImsCallSession$State;->INITIATED:I
-Landroid/telephony/ims/ImsCallSession$State;->INVALID:I
-Landroid/telephony/ims/ImsCallSession$State;->NEGOTIATING:I
-Landroid/telephony/ims/ImsCallSession$State;->REESTABLISHING:I
-Landroid/telephony/ims/ImsCallSession$State;->RENEGOTIATING:I
-Landroid/telephony/ims/ImsCallSession$State;->TERMINATED:I
-Landroid/telephony/ims/ImsCallSession$State;->TERMINATING:I
-Landroid/telephony/ims/ImsCallSession$State;->toString(I)Ljava/lang/String;
-Landroid/telephony/ims/ImsCallSession;
-Landroid/telephony/ims/ImsCallSession;-><init>(Lcom/android/ims/internal/IImsCallSession;)V
-Landroid/telephony/ims/ImsCallSession;-><init>(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallSession$Listener;)V
-Landroid/telephony/ims/ImsCallSession;->accept(ILandroid/telephony/ims/ImsStreamMediaProfile;)V
-Landroid/telephony/ims/ImsCallSession;->close()V
-Landroid/telephony/ims/ImsCallSession;->deflect(Ljava/lang/String;)V
-Landroid/telephony/ims/ImsCallSession;->extendToConference([Ljava/lang/String;)V
-Landroid/telephony/ims/ImsCallSession;->getCallId()Ljava/lang/String;
-Landroid/telephony/ims/ImsCallSession;->getCallProfile()Landroid/telephony/ims/ImsCallProfile;
-Landroid/telephony/ims/ImsCallSession;->getLocalCallProfile()Landroid/telephony/ims/ImsCallProfile;
-Landroid/telephony/ims/ImsCallSession;->getProperty(Ljava/lang/String;)Ljava/lang/String;
-Landroid/telephony/ims/ImsCallSession;->getRemoteCallProfile()Landroid/telephony/ims/ImsCallProfile;
-Landroid/telephony/ims/ImsCallSession;->getSession()Lcom/android/ims/internal/IImsCallSession;
-Landroid/telephony/ims/ImsCallSession;->getState()I
-Landroid/telephony/ims/ImsCallSession;->getVideoCallProvider()Lcom/android/ims/internal/IImsVideoCallProvider;
-Landroid/telephony/ims/ImsCallSession;->hold(Landroid/telephony/ims/ImsStreamMediaProfile;)V
-Landroid/telephony/ims/ImsCallSession;->inviteParticipants([Ljava/lang/String;)V
-Landroid/telephony/ims/ImsCallSession;->isAlive()Z
-Landroid/telephony/ims/ImsCallSession;->isInCall()Z
-Landroid/telephony/ims/ImsCallSession;->isMultiparty()Z
-Landroid/telephony/ims/ImsCallSession;->mClosed:Z
-Landroid/telephony/ims/ImsCallSession;->merge()V
-Landroid/telephony/ims/ImsCallSession;->miSession:Lcom/android/ims/internal/IImsCallSession;
-Landroid/telephony/ims/ImsCallSession;->mListener:Landroid/telephony/ims/ImsCallSession$Listener;
-Landroid/telephony/ims/ImsCallSession;->reject(I)V
-Landroid/telephony/ims/ImsCallSession;->removeParticipants([Ljava/lang/String;)V
-Landroid/telephony/ims/ImsCallSession;->resume(Landroid/telephony/ims/ImsStreamMediaProfile;)V
-Landroid/telephony/ims/ImsCallSession;->sendDtmf(CLandroid/os/Message;)V
-Landroid/telephony/ims/ImsCallSession;->sendRttMessage(Ljava/lang/String;)V
-Landroid/telephony/ims/ImsCallSession;->sendRttModifyRequest(Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession;->sendRttModifyResponse(Z)V
-Landroid/telephony/ims/ImsCallSession;->sendUssd(Ljava/lang/String;)V
-Landroid/telephony/ims/ImsCallSession;->setListener(Landroid/telephony/ims/ImsCallSession$Listener;)V
-Landroid/telephony/ims/ImsCallSession;->setMute(Z)V
-Landroid/telephony/ims/ImsCallSession;->start(Ljava/lang/String;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession;->start([Ljava/lang/String;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSession;->startDtmf(C)V
-Landroid/telephony/ims/ImsCallSession;->stopDtmf()V
-Landroid/telephony/ims/ImsCallSession;->TAG:Ljava/lang/String;
-Landroid/telephony/ims/ImsCallSession;->terminate(I)V
-Landroid/telephony/ims/ImsCallSession;->update(ILandroid/telephony/ims/ImsStreamMediaProfile;)V
-Landroid/telephony/ims/ImsCallSessionListener;-><init>(Landroid/telephony/ims/aidl/IImsCallSessionListener;)V
-Landroid/telephony/ims/ImsCallSessionListener;->callSessionConferenceExtended(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSessionListener;->callSessionConferenceExtendReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSessionListener;->callSessionMergeComplete(Lcom/android/ims/internal/IImsCallSession;)V
-Landroid/telephony/ims/ImsCallSessionListener;->callSessionMergeStarted(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Landroid/telephony/ims/ImsCallSessionListener;->mListener:Landroid/telephony/ims/aidl/IImsCallSessionListener;
-Landroid/telephony/ims/ImsConferenceState;-><init>()V
-Landroid/telephony/ims/ImsConferenceState;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/ims/ImsConferenceState;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/telephony/ims/ImsExternalCallState;-><init>()V
-Landroid/telephony/ims/ImsExternalCallState;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/ims/ImsExternalCallState;->mAddress:Landroid/net/Uri;
-Landroid/telephony/ims/ImsExternalCallState;->mCallId:I
-Landroid/telephony/ims/ImsExternalCallState;->mCallState:I
-Landroid/telephony/ims/ImsExternalCallState;->mCallType:I
-Landroid/telephony/ims/ImsExternalCallState;->mIsHeld:Z
-Landroid/telephony/ims/ImsExternalCallState;->mIsPullable:Z
-Landroid/telephony/ims/ImsExternalCallState;->TAG:Ljava/lang/String;
-Landroid/telephony/ims/ImsReasonInfo;-><init>()V
-Landroid/telephony/ims/ImsReasonInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/ims/ImsReasonInfo;->CODE_UNOBTAINABLE_NUMBER:I
-Landroid/telephony/ims/ImsService$Listener;
-Landroid/telephony/ims/ImsService$Listener;-><init>()V
-Landroid/telephony/ims/ImsService$Listener;->onUpdateSupportedImsFeatures(Landroid/telephony/ims/stub/ImsFeatureConfiguration;)V
-Landroid/telephony/ims/ImsService;->addImsFeature(IILandroid/telephony/ims/feature/ImsFeature;)V
-Landroid/telephony/ims/ImsService;->createMmTelFeatureInternal(ILcom/android/ims/internal/IImsFeatureStatusCallback;)Landroid/telephony/ims/aidl/IImsMmTelFeature;
-Landroid/telephony/ims/ImsService;->createRcsFeatureInternal(ILcom/android/ims/internal/IImsFeatureStatusCallback;)Landroid/telephony/ims/aidl/IImsRcsFeature;
-Landroid/telephony/ims/ImsService;->getFeatures(I)Landroid/util/SparseArray;
-Landroid/telephony/ims/ImsService;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/ims/ImsService;->mFeaturesBySlot:Landroid/util/SparseArray;
-Landroid/telephony/ims/ImsService;->mImsServiceController:Landroid/os/IBinder;
-Landroid/telephony/ims/ImsService;->mListener:Landroid/telephony/ims/aidl/IImsServiceControllerListener;
-Landroid/telephony/ims/ImsService;->removeImsFeature(IILcom/android/ims/internal/IImsFeatureStatusCallback;)V
-Landroid/telephony/ims/ImsService;->SERVICE_INTERFACE:Ljava/lang/String;
-Landroid/telephony/ims/ImsService;->setupFeature(Landroid/telephony/ims/feature/ImsFeature;IILcom/android/ims/internal/IImsFeatureStatusCallback;)V
-Landroid/telephony/ims/ImsSsData$ServiceClass;
-Landroid/telephony/ims/ImsSsData$ServiceType;
-Landroid/telephony/ims/ImsSsData;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/ims/ImsSsData;->getCallForwardInfo()[Landroid/telephony/ims/ImsCallForwardInfo;
-Landroid/telephony/ims/ImsSsData;->getImsSpecificSuppServiceInfo()[Landroid/telephony/ims/ImsSsInfo;
-Landroid/telephony/ims/ImsSsData;->getSuppServiceInfo()[I
-Landroid/telephony/ims/ImsSsData;->isTypeCF()Z
-Landroid/telephony/ims/ImsSsData;->isTypeCW()Z
-Landroid/telephony/ims/ImsSsData;->mCfInfo:[Landroid/telephony/ims/ImsCallForwardInfo;
-Landroid/telephony/ims/ImsSsData;->mImsSsInfo:[Landroid/telephony/ims/ImsSsInfo;
-Landroid/telephony/ims/ImsSsData;->mSsInfo:[I
-Landroid/telephony/ims/ImsSsData;->requestType:I
-Landroid/telephony/ims/ImsSsData;->result:I
-Landroid/telephony/ims/ImsSsData;->RESULT_SUCCESS:I
-Landroid/telephony/ims/ImsSsData;->serviceClass:I
-Landroid/telephony/ims/ImsSsData;->serviceType:I
-Landroid/telephony/ims/ImsSsData;->SERVICE_CLASS_DATA:I
-Landroid/telephony/ims/ImsSsData;->SERVICE_CLASS_DATA_ASYNC:I
-Landroid/telephony/ims/ImsSsData;->SERVICE_CLASS_DATA_SYNC:I
-Landroid/telephony/ims/ImsSsData;->SERVICE_CLASS_FAX:I
-Landroid/telephony/ims/ImsSsData;->SERVICE_CLASS_NONE:I
-Landroid/telephony/ims/ImsSsData;->SERVICE_CLASS_PACKET:I
-Landroid/telephony/ims/ImsSsData;->SERVICE_CLASS_PAD:I
-Landroid/telephony/ims/ImsSsData;->SERVICE_CLASS_SMS:I
-Landroid/telephony/ims/ImsSsData;->SERVICE_CLASS_VOICE:I
-Landroid/telephony/ims/ImsSsData;->setCallForwardingInfo([Landroid/telephony/ims/ImsCallForwardInfo;)V
-Landroid/telephony/ims/ImsSsData;->setImsSpecificSuppServiceInfo([Landroid/telephony/ims/ImsSsInfo;)V
-Landroid/telephony/ims/ImsSsData;->setSuppServiceInfo([I)V
-Landroid/telephony/ims/ImsSsData;->teleserviceType:I
-Landroid/telephony/ims/ImsSsInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/ims/ImsSsInfo;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/telephony/ims/ImsStreamMediaProfile;-><init>(I)V
-Landroid/telephony/ims/ImsStreamMediaProfile;-><init>(IIII)V
-Landroid/telephony/ims/ImsStreamMediaProfile;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/ims/ImsStreamMediaProfile;->mRttMode:I
-Landroid/telephony/ims/ImsStreamMediaProfile;->mVideoQuality:I
-Landroid/telephony/ims/ImsStreamMediaProfile;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/telephony/ims/ImsStreamMediaProfile;->TAG:Ljava/lang/String;
-Landroid/telephony/ims/ImsSuppServiceNotification;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/ims/ImsSuppServiceNotification;->TAG:Ljava/lang/String;
-Landroid/telephony/ims/ImsUtListener;-><init>(Lcom/android/ims/internal/IImsUtListener;)V
-Landroid/telephony/ims/ImsUtListener;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/ims/ImsUtListener;->mServiceInterface:Lcom/android/ims/internal/IImsUtListener;
-Landroid/telephony/ims/ImsVideoCallProvider$ImsVideoCallProviderBinder;
-Landroid/telephony/ims/ImsVideoCallProvider$ImsVideoCallProviderBinder;-><init>()V
-Landroid/telephony/ims/ImsVideoCallProvider$ImsVideoCallProviderBinder;->requestCallDataUsage()V
-Landroid/telephony/ims/ImsVideoCallProvider$ImsVideoCallProviderBinder;->requestCameraCapabilities()V
-Landroid/telephony/ims/ImsVideoCallProvider$ImsVideoCallProviderBinder;->sendSessionModifyRequest(Landroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V
-Landroid/telephony/ims/ImsVideoCallProvider$ImsVideoCallProviderBinder;->sendSessionModifyResponse(Landroid/telecom/VideoProfile;)V
-Landroid/telephony/ims/ImsVideoCallProvider$ImsVideoCallProviderBinder;->setCallback(Lcom/android/ims/internal/IImsVideoCallCallback;)V
-Landroid/telephony/ims/ImsVideoCallProvider$ImsVideoCallProviderBinder;->setCamera(Ljava/lang/String;I)V
-Landroid/telephony/ims/ImsVideoCallProvider$ImsVideoCallProviderBinder;->setDeviceOrientation(I)V
-Landroid/telephony/ims/ImsVideoCallProvider$ImsVideoCallProviderBinder;->setDisplaySurface(Landroid/view/Surface;)V
-Landroid/telephony/ims/ImsVideoCallProvider$ImsVideoCallProviderBinder;->setPauseImage(Landroid/net/Uri;)V
-Landroid/telephony/ims/ImsVideoCallProvider$ImsVideoCallProviderBinder;->setPreviewSurface(Landroid/view/Surface;)V
-Landroid/telephony/ims/ImsVideoCallProvider$ImsVideoCallProviderBinder;->setZoom(F)V
-Landroid/telephony/ims/ImsVideoCallProvider;->mBinder:Landroid/telephony/ims/ImsVideoCallProvider$ImsVideoCallProviderBinder;
-Landroid/telephony/ims/ImsVideoCallProvider;->mCallback:Lcom/android/ims/internal/IImsVideoCallCallback;
-Landroid/telephony/ims/ImsVideoCallProvider;->mProviderHandler:Landroid/os/Handler;
-Landroid/telephony/ims/ImsVideoCallProvider;->MSG_REQUEST_CALL_DATA_USAGE:I
-Landroid/telephony/ims/ImsVideoCallProvider;->MSG_REQUEST_CAMERA_CAPABILITIES:I
-Landroid/telephony/ims/ImsVideoCallProvider;->MSG_SEND_SESSION_MODIFY_REQUEST:I
-Landroid/telephony/ims/ImsVideoCallProvider;->MSG_SEND_SESSION_MODIFY_RESPONSE:I
-Landroid/telephony/ims/ImsVideoCallProvider;->MSG_SET_CALLBACK:I
-Landroid/telephony/ims/ImsVideoCallProvider;->MSG_SET_CAMERA:I
-Landroid/telephony/ims/ImsVideoCallProvider;->MSG_SET_DEVICE_ORIENTATION:I
-Landroid/telephony/ims/ImsVideoCallProvider;->MSG_SET_DISPLAY_SURFACE:I
-Landroid/telephony/ims/ImsVideoCallProvider;->MSG_SET_PAUSE_IMAGE:I
-Landroid/telephony/ims/ImsVideoCallProvider;->MSG_SET_PREVIEW_SURFACE:I
-Landroid/telephony/ims/ImsVideoCallProvider;->MSG_SET_ZOOM:I
-Landroid/telephony/ims/stub/ImsCallSessionImplBase$State;-><init>()V
-Landroid/telephony/ims/stub/ImsCallSessionImplBase;->getServiceImpl()Lcom/android/ims/internal/IImsCallSession;
-Landroid/telephony/ims/stub/ImsCallSessionImplBase;->getVideoCallProvider()Lcom/android/ims/internal/IImsVideoCallProvider;
-Landroid/telephony/ims/stub/ImsCallSessionImplBase;->mServiceImpl:Lcom/android/ims/internal/IImsCallSession;
-Landroid/telephony/ims/stub/ImsCallSessionImplBase;->setListener(Landroid/telephony/ims/aidl/IImsCallSessionListener;)V
-Landroid/telephony/ims/stub/ImsCallSessionImplBase;->setServiceImpl(Lcom/android/ims/internal/IImsCallSession;)V
-Landroid/telephony/ims/stub/ImsConfigImplBase$Callback;
-Landroid/telephony/ims/stub/ImsConfigImplBase$Callback;-><init>()V
-Landroid/telephony/ims/stub/ImsConfigImplBase$Callback;->onConfigChanged(II)V
-Landroid/telephony/ims/stub/ImsConfigImplBase$Callback;->onConfigChanged(ILjava/lang/String;)V
-Landroid/telephony/ims/stub/ImsConfigImplBase$Callback;->onIntConfigChanged(II)V
-Landroid/telephony/ims/stub/ImsConfigImplBase$Callback;->onStringConfigChanged(ILjava/lang/String;)V
-Landroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;
-Landroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;-><init>(Landroid/telephony/ims/stub/ImsConfigImplBase;)V
-Landroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->addImsConfigCallback(Landroid/telephony/ims/aidl/IImsConfigCallback;)V
-Landroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->getConfigInt(I)I
-Landroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->getConfigString(I)Ljava/lang/String;
-Landroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->getImsConfigImpl()Landroid/telephony/ims/stub/ImsConfigImplBase;
-Landroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->mImsConfigImplBaseWeakReference:Ljava/lang/ref/WeakReference;
-Landroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->mProvisionedIntValue:Ljava/util/HashMap;
-Landroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->mProvisionedStringValue:Ljava/util/HashMap;
-Landroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->notifyImsConfigChanged(II)V
-Landroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->notifyImsConfigChanged(ILjava/lang/String;)V
-Landroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->removeImsConfigCallback(Landroid/telephony/ims/aidl/IImsConfigCallback;)V
-Landroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->setConfigInt(II)I
-Landroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->setConfigString(ILjava/lang/String;)I
-Landroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->updateCachedValue(IIZ)V
-Landroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->updateCachedValue(ILjava/lang/String;Z)V
-Landroid/telephony/ims/stub/ImsConfigImplBase;-><init>(Landroid/content/Context;)V
-Landroid/telephony/ims/stub/ImsConfigImplBase;->addImsConfigCallback(Landroid/telephony/ims/aidl/IImsConfigCallback;)V
-Landroid/telephony/ims/stub/ImsConfigImplBase;->getIImsConfig()Landroid/telephony/ims/aidl/IImsConfig;
-Landroid/telephony/ims/stub/ImsConfigImplBase;->mCallbacks:Landroid/os/RemoteCallbackList;
-Landroid/telephony/ims/stub/ImsConfigImplBase;->mImsConfigStub:Landroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;
-Landroid/telephony/ims/stub/ImsConfigImplBase;->notifyConfigChanged(II)V
-Landroid/telephony/ims/stub/ImsConfigImplBase;->notifyConfigChanged(ILjava/lang/String;)V
-Landroid/telephony/ims/stub/ImsConfigImplBase;->removeImsConfigCallback(Landroid/telephony/ims/aidl/IImsConfigCallback;)V
-Landroid/telephony/ims/stub/ImsConfigImplBase;->TAG:Ljava/lang/String;
-Landroid/telephony/ims/stub/ImsEcbmImplBase;->getImsEcbm()Lcom/android/ims/internal/IImsEcbm;
-Landroid/telephony/ims/stub/ImsEcbmImplBase;->mImsEcbm:Lcom/android/ims/internal/IImsEcbm;
-Landroid/telephony/ims/stub/ImsEcbmImplBase;->mListener:Lcom/android/ims/internal/IImsEcbmListener;
-Landroid/telephony/ims/stub/ImsEcbmImplBase;->TAG:Ljava/lang/String;
-Landroid/telephony/ims/stub/ImsFeatureConfiguration$Builder;->mConfig:Landroid/telephony/ims/stub/ImsFeatureConfiguration;
-Landroid/telephony/ims/stub/ImsFeatureConfiguration;-><init>()V
-Landroid/telephony/ims/stub/ImsFeatureConfiguration;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/ims/stub/ImsFeatureConfiguration;-><init>(Ljava/util/Set;)V
-Landroid/telephony/ims/stub/ImsFeatureConfiguration;->addFeature(II)V
-Landroid/telephony/ims/stub/ImsFeatureConfiguration;->mFeatures:Ljava/util/Set;
-Landroid/telephony/ims/stub/ImsMultiEndpointImplBase;->getIImsMultiEndpoint()Lcom/android/ims/internal/IImsMultiEndpoint;
-Landroid/telephony/ims/stub/ImsMultiEndpointImplBase;->mImsMultiEndpoint:Lcom/android/ims/internal/IImsMultiEndpoint;
-Landroid/telephony/ims/stub/ImsMultiEndpointImplBase;->mListener:Lcom/android/ims/internal/IImsExternalCallStateListener;
-Landroid/telephony/ims/stub/ImsMultiEndpointImplBase;->TAG:Ljava/lang/String;
-Landroid/telephony/ims/stub/ImsRegistrationImplBase$Callback;
-Landroid/telephony/ims/stub/ImsRegistrationImplBase$Callback;-><init>()V
-Landroid/telephony/ims/stub/ImsRegistrationImplBase$Callback;->onDeregistered(Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/stub/ImsRegistrationImplBase$Callback;->onRegistered(I)V
-Landroid/telephony/ims/stub/ImsRegistrationImplBase$Callback;->onRegistering(I)V
-Landroid/telephony/ims/stub/ImsRegistrationImplBase$Callback;->onSubscriberAssociatedUriChanged([Landroid/net/Uri;)V
-Landroid/telephony/ims/stub/ImsRegistrationImplBase$Callback;->onTechnologyChangeFailed(ILandroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/stub/ImsRegistrationImplBase$ImsRegistrationTech;
-Landroid/telephony/ims/stub/ImsRegistrationImplBase;->addRegistrationCallback(Landroid/telephony/ims/aidl/IImsRegistrationCallback;)V
-Landroid/telephony/ims/stub/ImsRegistrationImplBase;->getBinder()Landroid/telephony/ims/aidl/IImsRegistration;
-Landroid/telephony/ims/stub/ImsRegistrationImplBase;->getConnectionType()I
-Landroid/telephony/ims/stub/ImsRegistrationImplBase;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/ims/stub/ImsRegistrationImplBase;->mBinder:Landroid/telephony/ims/aidl/IImsRegistration;
-Landroid/telephony/ims/stub/ImsRegistrationImplBase;->mCallbacks:Landroid/os/RemoteCallbackList;
-Landroid/telephony/ims/stub/ImsRegistrationImplBase;->mConnectionType:I
-Landroid/telephony/ims/stub/ImsRegistrationImplBase;->mLastDisconnectCause:Landroid/telephony/ims/ImsReasonInfo;
-Landroid/telephony/ims/stub/ImsRegistrationImplBase;->mLock:Ljava/lang/Object;
-Landroid/telephony/ims/stub/ImsRegistrationImplBase;->mRegistrationState:I
-Landroid/telephony/ims/stub/ImsRegistrationImplBase;->REGISTRATION_STATE_NOT_REGISTERED:I
-Landroid/telephony/ims/stub/ImsRegistrationImplBase;->REGISTRATION_STATE_REGISTERED:I
-Landroid/telephony/ims/stub/ImsRegistrationImplBase;->REGISTRATION_STATE_REGISTERING:I
-Landroid/telephony/ims/stub/ImsRegistrationImplBase;->REGISTRATION_STATE_UNKNOWN:I
-Landroid/telephony/ims/stub/ImsRegistrationImplBase;->removeRegistrationCallback(Landroid/telephony/ims/aidl/IImsRegistrationCallback;)V
-Landroid/telephony/ims/stub/ImsRegistrationImplBase;->updateNewCallbackWithState(Landroid/telephony/ims/aidl/IImsRegistrationCallback;)V
-Landroid/telephony/ims/stub/ImsRegistrationImplBase;->updateToDisconnectedState(Landroid/telephony/ims/ImsReasonInfo;)V
-Landroid/telephony/ims/stub/ImsRegistrationImplBase;->updateToState(II)V
-Landroid/telephony/ims/stub/ImsSmsImplBase$DeliverStatusResult;
-Landroid/telephony/ims/stub/ImsSmsImplBase$SendStatusResult;
-Landroid/telephony/ims/stub/ImsSmsImplBase$StatusReportResult;
-Landroid/telephony/ims/stub/ImsSmsImplBase;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/ims/stub/ImsSmsImplBase;->mListener:Landroid/telephony/ims/aidl/IImsSmsListener;
-Landroid/telephony/ims/stub/ImsSmsImplBase;->mLock:Ljava/lang/Object;
-Landroid/telephony/ims/stub/ImsSmsImplBase;->registerSmsListener(Landroid/telephony/ims/aidl/IImsSmsListener;)V
-Landroid/telephony/ims/stub/ImsStreamMediaSessionImplBase;
-Landroid/telephony/ims/stub/ImsStreamMediaSessionImplBase;-><init>()V
-Landroid/telephony/ims/stub/ImsStreamMediaSessionImplBase;->close()V
-Landroid/telephony/ims/stub/ImsUtImplBase;->getInterface()Lcom/android/ims/internal/IImsUt;
-Landroid/telephony/ims/stub/ImsUtImplBase;->mServiceImpl:Lcom/android/ims/internal/IImsUt$Stub;
-Landroid/telephony/ims/stub/ImsUtImplBase;->queryCLIP()I
-Landroid/telephony/ims/stub/ImsUtImplBase;->queryCLIR()I
-Landroid/telephony/ims/stub/ImsUtImplBase;->queryCOLP()I
-Landroid/telephony/ims/stub/ImsUtImplBase;->queryCOLR()I
-Landroid/telephony/ims/stub/ImsUtImplBase;->updateCLIP(Z)I
-Landroid/telephony/ims/stub/ImsUtImplBase;->updateCLIR(I)I
-Landroid/telephony/ims/stub/ImsUtImplBase;->updateCOLP(Z)I
-Landroid/telephony/ims/stub/ImsUtImplBase;->updateCOLR(I)I
-Landroid/telephony/ImsiEncryptionInfo;
-Landroid/telephony/ImsiEncryptionInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/ImsiEncryptionInfo;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/security/PublicKey;Ljava/util/Date;)V
-Landroid/telephony/ImsiEncryptionInfo;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;[BLjava/util/Date;)V
-Landroid/telephony/ImsiEncryptionInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telephony/ImsiEncryptionInfo;->expirationTime:Ljava/util/Date;
-Landroid/telephony/ImsiEncryptionInfo;->getExpirationTime()Ljava/util/Date;
-Landroid/telephony/ImsiEncryptionInfo;->getKeyIdentifier()Ljava/lang/String;
-Landroid/telephony/ImsiEncryptionInfo;->getKeyType()I
-Landroid/telephony/ImsiEncryptionInfo;->getMcc()Ljava/lang/String;
-Landroid/telephony/ImsiEncryptionInfo;->getMnc()Ljava/lang/String;
-Landroid/telephony/ImsiEncryptionInfo;->getPublicKey()Ljava/security/PublicKey;
-Landroid/telephony/ImsiEncryptionInfo;->keyIdentifier:Ljava/lang/String;
-Landroid/telephony/ImsiEncryptionInfo;->keyType:I
-Landroid/telephony/ImsiEncryptionInfo;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/ImsiEncryptionInfo;->makeKeyObject([B)Ljava/security/PublicKey;
-Landroid/telephony/ImsiEncryptionInfo;->mcc:Ljava/lang/String;
-Landroid/telephony/ImsiEncryptionInfo;->mnc:Ljava/lang/String;
-Landroid/telephony/ImsiEncryptionInfo;->publicKey:Ljava/security/PublicKey;
-Landroid/telephony/INetworkService$Stub$Proxy;
-Landroid/telephony/INetworkService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/telephony/INetworkService$Stub$Proxy;->createNetworkServiceProvider(I)V
-Landroid/telephony/INetworkService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/telephony/INetworkService$Stub$Proxy;->getNetworkRegistrationState(IILandroid/telephony/INetworkServiceCallback;)V
-Landroid/telephony/INetworkService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/telephony/INetworkService$Stub$Proxy;->registerForNetworkRegistrationStateChanged(ILandroid/telephony/INetworkServiceCallback;)V
-Landroid/telephony/INetworkService$Stub$Proxy;->removeNetworkServiceProvider(I)V
-Landroid/telephony/INetworkService$Stub$Proxy;->unregisterForNetworkRegistrationStateChanged(ILandroid/telephony/INetworkServiceCallback;)V
-Landroid/telephony/INetworkService$Stub;
-Landroid/telephony/INetworkService$Stub;-><init>()V
-Landroid/telephony/INetworkService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/INetworkService;
-Landroid/telephony/INetworkService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/telephony/INetworkService$Stub;->TRANSACTION_createNetworkServiceProvider:I
-Landroid/telephony/INetworkService$Stub;->TRANSACTION_getNetworkRegistrationState:I
-Landroid/telephony/INetworkService$Stub;->TRANSACTION_registerForNetworkRegistrationStateChanged:I
-Landroid/telephony/INetworkService$Stub;->TRANSACTION_removeNetworkServiceProvider:I
-Landroid/telephony/INetworkService$Stub;->TRANSACTION_unregisterForNetworkRegistrationStateChanged:I
-Landroid/telephony/INetworkService;
-Landroid/telephony/INetworkService;->createNetworkServiceProvider(I)V
-Landroid/telephony/INetworkService;->getNetworkRegistrationState(IILandroid/telephony/INetworkServiceCallback;)V
-Landroid/telephony/INetworkService;->registerForNetworkRegistrationStateChanged(ILandroid/telephony/INetworkServiceCallback;)V
-Landroid/telephony/INetworkService;->removeNetworkServiceProvider(I)V
-Landroid/telephony/INetworkService;->unregisterForNetworkRegistrationStateChanged(ILandroid/telephony/INetworkServiceCallback;)V
-Landroid/telephony/INetworkServiceCallback$Stub$Proxy;
-Landroid/telephony/INetworkServiceCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/telephony/INetworkServiceCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/telephony/INetworkServiceCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/telephony/INetworkServiceCallback$Stub$Proxy;->onGetNetworkRegistrationStateComplete(ILandroid/telephony/NetworkRegistrationState;)V
-Landroid/telephony/INetworkServiceCallback$Stub$Proxy;->onNetworkStateChanged()V
-Landroid/telephony/INetworkServiceCallback$Stub;
-Landroid/telephony/INetworkServiceCallback$Stub;-><init>()V
-Landroid/telephony/INetworkServiceCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/INetworkServiceCallback;
-Landroid/telephony/INetworkServiceCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/telephony/INetworkServiceCallback$Stub;->TRANSACTION_onGetNetworkRegistrationStateComplete:I
-Landroid/telephony/INetworkServiceCallback$Stub;->TRANSACTION_onNetworkStateChanged:I
-Landroid/telephony/INetworkServiceCallback;
-Landroid/telephony/INetworkServiceCallback;->onGetNetworkRegistrationStateComplete(ILandroid/telephony/NetworkRegistrationState;)V
-Landroid/telephony/INetworkServiceCallback;->onNetworkStateChanged()V
-Landroid/telephony/LocationAccessPolicy;
-Landroid/telephony/LocationAccessPolicy;-><init>()V
-Landroid/telephony/LocationAccessPolicy;->canAccessCellLocation(Landroid/content/Context;Ljava/lang/String;IIZ)Z
-Landroid/telephony/LocationAccessPolicy;->checkInteractAcrossUsersFull(Landroid/content/Context;)Z
-Landroid/telephony/LocationAccessPolicy;->isCurrentProfile(Landroid/content/Context;I)Z
-Landroid/telephony/LocationAccessPolicy;->isLocationModeEnabled(Landroid/content/Context;I)Z
-Landroid/telephony/LocationAccessPolicy;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/mbms/DownloadRequest$Builder;->appIntent:Ljava/lang/String;
-Landroid/telephony/mbms/DownloadRequest$Builder;->destination:Landroid/net/Uri;
-Landroid/telephony/mbms/DownloadRequest$Builder;->fileServiceId:Ljava/lang/String;
-Landroid/telephony/mbms/DownloadRequest$Builder;->source:Landroid/net/Uri;
-Landroid/telephony/mbms/DownloadRequest$Builder;->subscriptionId:I
-Landroid/telephony/mbms/DownloadRequest$Builder;->version:I
-Landroid/telephony/mbms/DownloadRequest$SerializationDataContainer;
-Landroid/telephony/mbms/DownloadRequest$SerializationDataContainer;-><init>()V
-Landroid/telephony/mbms/DownloadRequest$SerializationDataContainer;-><init>(Landroid/telephony/mbms/DownloadRequest;)V
-Landroid/telephony/mbms/DownloadRequest$SerializationDataContainer;->appIntent:Ljava/lang/String;
-Landroid/telephony/mbms/DownloadRequest$SerializationDataContainer;->destination:Landroid/net/Uri;
-Landroid/telephony/mbms/DownloadRequest$SerializationDataContainer;->fileServiceId:Ljava/lang/String;
-Landroid/telephony/mbms/DownloadRequest$SerializationDataContainer;->source:Landroid/net/Uri;
-Landroid/telephony/mbms/DownloadRequest$SerializationDataContainer;->subscriptionId:I
-Landroid/telephony/mbms/DownloadRequest$SerializationDataContainer;->version:I
-Landroid/telephony/mbms/DownloadRequest;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/mbms/DownloadRequest;-><init>(Ljava/lang/String;Landroid/net/Uri;Landroid/net/Uri;ILjava/lang/String;I)V
-Landroid/telephony/mbms/DownloadRequest;->CURRENT_VERSION:I
-Landroid/telephony/mbms/DownloadRequest;->destinationUri:Landroid/net/Uri;
-Landroid/telephony/mbms/DownloadRequest;->fileServiceId:Ljava/lang/String;
-Landroid/telephony/mbms/DownloadRequest;->getHash()Ljava/lang/String;
-Landroid/telephony/mbms/DownloadRequest;->getIntentForApp()Landroid/content/Intent;
-Landroid/telephony/mbms/DownloadRequest;->getVersion()I
-Landroid/telephony/mbms/DownloadRequest;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/mbms/DownloadRequest;->MAX_APP_INTENT_SIZE:I
-Landroid/telephony/mbms/DownloadRequest;->MAX_DESTINATION_URI_SIZE:I
-Landroid/telephony/mbms/DownloadRequest;->serializedResultIntentForApp:Ljava/lang/String;
-Landroid/telephony/mbms/DownloadRequest;->sourceUri:Landroid/net/Uri;
-Landroid/telephony/mbms/DownloadRequest;->subscriptionId:I
-Landroid/telephony/mbms/DownloadRequest;->version:I
-Landroid/telephony/mbms/FileInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/mbms/FileInfo;->mimeType:Ljava/lang/String;
-Landroid/telephony/mbms/FileInfo;->uri:Landroid/net/Uri;
-Landroid/telephony/mbms/FileServiceInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/mbms/FileServiceInfo;->files:Ljava/util/List;
-Landroid/telephony/mbms/IDownloadProgressListener$Stub$Proxy;
-Landroid/telephony/mbms/IDownloadProgressListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/telephony/mbms/IDownloadProgressListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/telephony/mbms/IDownloadProgressListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/telephony/mbms/IDownloadProgressListener$Stub$Proxy;->onProgressUpdated(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/FileInfo;IIII)V
-Landroid/telephony/mbms/IDownloadProgressListener$Stub;
-Landroid/telephony/mbms/IDownloadProgressListener$Stub;-><init>()V
-Landroid/telephony/mbms/IDownloadProgressListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/mbms/IDownloadProgressListener;
-Landroid/telephony/mbms/IDownloadProgressListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/telephony/mbms/IDownloadProgressListener$Stub;->TRANSACTION_onProgressUpdated:I
-Landroid/telephony/mbms/IDownloadProgressListener;
-Landroid/telephony/mbms/IDownloadProgressListener;->onProgressUpdated(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/FileInfo;IIII)V
-Landroid/telephony/mbms/IDownloadStatusListener$Stub$Proxy;
-Landroid/telephony/mbms/IDownloadStatusListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/telephony/mbms/IDownloadStatusListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/telephony/mbms/IDownloadStatusListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/telephony/mbms/IDownloadStatusListener$Stub$Proxy;->onStatusUpdated(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/FileInfo;I)V
-Landroid/telephony/mbms/IDownloadStatusListener$Stub;
-Landroid/telephony/mbms/IDownloadStatusListener$Stub;-><init>()V
-Landroid/telephony/mbms/IDownloadStatusListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/mbms/IDownloadStatusListener;
-Landroid/telephony/mbms/IDownloadStatusListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/telephony/mbms/IDownloadStatusListener$Stub;->TRANSACTION_onStatusUpdated:I
-Landroid/telephony/mbms/IDownloadStatusListener;
-Landroid/telephony/mbms/IDownloadStatusListener;->onStatusUpdated(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/FileInfo;I)V
-Landroid/telephony/mbms/IMbmsDownloadSessionCallback$Stub$Proxy;
-Landroid/telephony/mbms/IMbmsDownloadSessionCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/telephony/mbms/IMbmsDownloadSessionCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/telephony/mbms/IMbmsDownloadSessionCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/telephony/mbms/IMbmsDownloadSessionCallback$Stub$Proxy;->onError(ILjava/lang/String;)V
-Landroid/telephony/mbms/IMbmsDownloadSessionCallback$Stub$Proxy;->onFileServicesUpdated(Ljava/util/List;)V
-Landroid/telephony/mbms/IMbmsDownloadSessionCallback$Stub$Proxy;->onMiddlewareReady()V
-Landroid/telephony/mbms/IMbmsDownloadSessionCallback$Stub;
-Landroid/telephony/mbms/IMbmsDownloadSessionCallback$Stub;-><init>()V
-Landroid/telephony/mbms/IMbmsDownloadSessionCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/mbms/IMbmsDownloadSessionCallback;
-Landroid/telephony/mbms/IMbmsDownloadSessionCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/telephony/mbms/IMbmsDownloadSessionCallback$Stub;->TRANSACTION_onError:I
-Landroid/telephony/mbms/IMbmsDownloadSessionCallback$Stub;->TRANSACTION_onFileServicesUpdated:I
-Landroid/telephony/mbms/IMbmsDownloadSessionCallback$Stub;->TRANSACTION_onMiddlewareReady:I
-Landroid/telephony/mbms/IMbmsDownloadSessionCallback;
-Landroid/telephony/mbms/IMbmsDownloadSessionCallback;->onError(ILjava/lang/String;)V
-Landroid/telephony/mbms/IMbmsDownloadSessionCallback;->onFileServicesUpdated(Ljava/util/List;)V
-Landroid/telephony/mbms/IMbmsDownloadSessionCallback;->onMiddlewareReady()V
-Landroid/telephony/mbms/IMbmsStreamingSessionCallback$Stub$Proxy;
-Landroid/telephony/mbms/IMbmsStreamingSessionCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/telephony/mbms/IMbmsStreamingSessionCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/telephony/mbms/IMbmsStreamingSessionCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/telephony/mbms/IMbmsStreamingSessionCallback$Stub$Proxy;->onError(ILjava/lang/String;)V
-Landroid/telephony/mbms/IMbmsStreamingSessionCallback$Stub$Proxy;->onMiddlewareReady()V
-Landroid/telephony/mbms/IMbmsStreamingSessionCallback$Stub$Proxy;->onStreamingServicesUpdated(Ljava/util/List;)V
-Landroid/telephony/mbms/IMbmsStreamingSessionCallback$Stub;
-Landroid/telephony/mbms/IMbmsStreamingSessionCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/mbms/IMbmsStreamingSessionCallback;
-Landroid/telephony/mbms/IMbmsStreamingSessionCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/telephony/mbms/IMbmsStreamingSessionCallback$Stub;->TRANSACTION_onError:I
-Landroid/telephony/mbms/IMbmsStreamingSessionCallback$Stub;->TRANSACTION_onMiddlewareReady:I
-Landroid/telephony/mbms/IMbmsStreamingSessionCallback$Stub;->TRANSACTION_onStreamingServicesUpdated:I
-Landroid/telephony/mbms/IMbmsStreamingSessionCallback;
-Landroid/telephony/mbms/IMbmsStreamingSessionCallback;->onError(ILjava/lang/String;)V
-Landroid/telephony/mbms/IMbmsStreamingSessionCallback;->onMiddlewareReady()V
-Landroid/telephony/mbms/IMbmsStreamingSessionCallback;->onStreamingServicesUpdated(Ljava/util/List;)V
-Landroid/telephony/mbms/InternalDownloadProgressListener;
-Landroid/telephony/mbms/InternalDownloadProgressListener;-><init>(Landroid/telephony/mbms/DownloadProgressListener;Ljava/util/concurrent/Executor;)V
-Landroid/telephony/mbms/InternalDownloadProgressListener;->mAppListener:Landroid/telephony/mbms/DownloadProgressListener;
-Landroid/telephony/mbms/InternalDownloadProgressListener;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/telephony/mbms/InternalDownloadProgressListener;->mIsStopped:Z
-Landroid/telephony/mbms/InternalDownloadProgressListener;->onProgressUpdated(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/FileInfo;IIII)V
-Landroid/telephony/mbms/InternalDownloadProgressListener;->stop()V
-Landroid/telephony/mbms/InternalDownloadSessionCallback;
-Landroid/telephony/mbms/InternalDownloadSessionCallback;-><init>(Landroid/telephony/mbms/MbmsDownloadSessionCallback;Ljava/util/concurrent/Executor;)V
-Landroid/telephony/mbms/InternalDownloadSessionCallback;->mAppCallback:Landroid/telephony/mbms/MbmsDownloadSessionCallback;
-Landroid/telephony/mbms/InternalDownloadSessionCallback;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/telephony/mbms/InternalDownloadSessionCallback;->mIsStopped:Z
-Landroid/telephony/mbms/InternalDownloadSessionCallback;->onError(ILjava/lang/String;)V
-Landroid/telephony/mbms/InternalDownloadSessionCallback;->onFileServicesUpdated(Ljava/util/List;)V
-Landroid/telephony/mbms/InternalDownloadSessionCallback;->onMiddlewareReady()V
-Landroid/telephony/mbms/InternalDownloadSessionCallback;->stop()V
-Landroid/telephony/mbms/InternalDownloadStatusListener;
-Landroid/telephony/mbms/InternalDownloadStatusListener;-><init>(Landroid/telephony/mbms/DownloadStatusListener;Ljava/util/concurrent/Executor;)V
-Landroid/telephony/mbms/InternalDownloadStatusListener;->mAppListener:Landroid/telephony/mbms/DownloadStatusListener;
-Landroid/telephony/mbms/InternalDownloadStatusListener;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/telephony/mbms/InternalDownloadStatusListener;->mIsStopped:Z
-Landroid/telephony/mbms/InternalDownloadStatusListener;->onStatusUpdated(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/FileInfo;I)V
-Landroid/telephony/mbms/InternalDownloadStatusListener;->stop()V
-Landroid/telephony/mbms/InternalStreamingServiceCallback;
-Landroid/telephony/mbms/InternalStreamingServiceCallback;-><init>(Landroid/telephony/mbms/StreamingServiceCallback;Ljava/util/concurrent/Executor;)V
-Landroid/telephony/mbms/InternalStreamingServiceCallback;->mAppCallback:Landroid/telephony/mbms/StreamingServiceCallback;
-Landroid/telephony/mbms/InternalStreamingServiceCallback;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/telephony/mbms/InternalStreamingServiceCallback;->mIsStopped:Z
-Landroid/telephony/mbms/InternalStreamingServiceCallback;->onBroadcastSignalStrengthUpdated(I)V
-Landroid/telephony/mbms/InternalStreamingServiceCallback;->onError(ILjava/lang/String;)V
-Landroid/telephony/mbms/InternalStreamingServiceCallback;->onMediaDescriptionUpdated()V
-Landroid/telephony/mbms/InternalStreamingServiceCallback;->onStreamMethodUpdated(I)V
-Landroid/telephony/mbms/InternalStreamingServiceCallback;->onStreamStateUpdated(II)V
-Landroid/telephony/mbms/InternalStreamingServiceCallback;->stop()V
-Landroid/telephony/mbms/InternalStreamingSessionCallback;
-Landroid/telephony/mbms/InternalStreamingSessionCallback;-><init>(Landroid/telephony/mbms/MbmsStreamingSessionCallback;Ljava/util/concurrent/Executor;)V
-Landroid/telephony/mbms/InternalStreamingSessionCallback;->mAppCallback:Landroid/telephony/mbms/MbmsStreamingSessionCallback;
-Landroid/telephony/mbms/InternalStreamingSessionCallback;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/telephony/mbms/InternalStreamingSessionCallback;->mIsStopped:Z
-Landroid/telephony/mbms/InternalStreamingSessionCallback;->onError(ILjava/lang/String;)V
-Landroid/telephony/mbms/InternalStreamingSessionCallback;->onMiddlewareReady()V
-Landroid/telephony/mbms/InternalStreamingSessionCallback;->onStreamingServicesUpdated(Ljava/util/List;)V
-Landroid/telephony/mbms/InternalStreamingSessionCallback;->stop()V
-Landroid/telephony/mbms/IStreamingServiceCallback$Stub$Proxy;
-Landroid/telephony/mbms/IStreamingServiceCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/telephony/mbms/IStreamingServiceCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/telephony/mbms/IStreamingServiceCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/telephony/mbms/IStreamingServiceCallback$Stub$Proxy;->onBroadcastSignalStrengthUpdated(I)V
-Landroid/telephony/mbms/IStreamingServiceCallback$Stub$Proxy;->onError(ILjava/lang/String;)V
-Landroid/telephony/mbms/IStreamingServiceCallback$Stub$Proxy;->onMediaDescriptionUpdated()V
-Landroid/telephony/mbms/IStreamingServiceCallback$Stub$Proxy;->onStreamMethodUpdated(I)V
-Landroid/telephony/mbms/IStreamingServiceCallback$Stub$Proxy;->onStreamStateUpdated(II)V
-Landroid/telephony/mbms/IStreamingServiceCallback$Stub;
-Landroid/telephony/mbms/IStreamingServiceCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/mbms/IStreamingServiceCallback;
-Landroid/telephony/mbms/IStreamingServiceCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/telephony/mbms/IStreamingServiceCallback$Stub;->TRANSACTION_onBroadcastSignalStrengthUpdated:I
-Landroid/telephony/mbms/IStreamingServiceCallback$Stub;->TRANSACTION_onError:I
-Landroid/telephony/mbms/IStreamingServiceCallback$Stub;->TRANSACTION_onMediaDescriptionUpdated:I
-Landroid/telephony/mbms/IStreamingServiceCallback$Stub;->TRANSACTION_onStreamMethodUpdated:I
-Landroid/telephony/mbms/IStreamingServiceCallback$Stub;->TRANSACTION_onStreamStateUpdated:I
-Landroid/telephony/mbms/IStreamingServiceCallback;
-Landroid/telephony/mbms/IStreamingServiceCallback;->onBroadcastSignalStrengthUpdated(I)V
-Landroid/telephony/mbms/IStreamingServiceCallback;->onError(ILjava/lang/String;)V
-Landroid/telephony/mbms/IStreamingServiceCallback;->onMediaDescriptionUpdated()V
-Landroid/telephony/mbms/IStreamingServiceCallback;->onStreamMethodUpdated(I)V
-Landroid/telephony/mbms/IStreamingServiceCallback;->onStreamStateUpdated(II)V
-Landroid/telephony/mbms/MbmsDownloadReceiver;->cleanupPostMove(Landroid/content/Context;Landroid/content/Intent;)V
-Landroid/telephony/mbms/MbmsDownloadReceiver;->cleanupTempFiles(Landroid/content/Context;Landroid/content/Intent;)V
-Landroid/telephony/mbms/MbmsDownloadReceiver;->DOWNLOAD_TOKEN_SUFFIX:Ljava/lang/String;
-Landroid/telephony/mbms/MbmsDownloadReceiver;->EMBMS_INTENT_PERMISSION:Ljava/lang/String;
-Landroid/telephony/mbms/MbmsDownloadReceiver;->generateFreshTempFiles(Landroid/content/Context;Ljava/lang/String;I)Ljava/util/ArrayList;
-Landroid/telephony/mbms/MbmsDownloadReceiver;->generateSingleTempFile(Ljava/io/File;)Ljava/io/File;
-Landroid/telephony/mbms/MbmsDownloadReceiver;->generateTempFiles(Landroid/content/Context;Landroid/content/Intent;)V
-Landroid/telephony/mbms/MbmsDownloadReceiver;->generateUrisForPausedFiles(Landroid/content/Context;Ljava/lang/String;Ljava/util/List;)Ljava/util/ArrayList;
-Landroid/telephony/mbms/MbmsDownloadReceiver;->getFileProviderAuthority(Landroid/content/Context;)Ljava/lang/String;
-Landroid/telephony/mbms/MbmsDownloadReceiver;->getFileProviderAuthorityCached(Landroid/content/Context;)Ljava/lang/String;
-Landroid/telephony/mbms/MbmsDownloadReceiver;->getFileRelativePath(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/telephony/mbms/MbmsDownloadReceiver;->getMiddlewarePackageCached(Landroid/content/Context;)Ljava/lang/String;
-Landroid/telephony/mbms/MbmsDownloadReceiver;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/mbms/MbmsDownloadReceiver;->MAX_TEMP_FILE_RETRIES:I
-Landroid/telephony/mbms/MbmsDownloadReceiver;->MBMS_FILE_PROVIDER_META_DATA_KEY:Ljava/lang/String;
-Landroid/telephony/mbms/MbmsDownloadReceiver;->mFileProviderAuthorityCache:Ljava/lang/String;
-Landroid/telephony/mbms/MbmsDownloadReceiver;->mMiddlewarePackageNameCache:Ljava/lang/String;
-Landroid/telephony/mbms/MbmsDownloadReceiver;->moveDownloadedFile(Landroid/content/Context;Landroid/content/Intent;)V
-Landroid/telephony/mbms/MbmsDownloadReceiver;->moveToFinalLocation(Landroid/net/Uri;Ljava/nio/file/Path;Ljava/lang/String;)Landroid/net/Uri;
-Landroid/telephony/mbms/MbmsDownloadReceiver;->TEMP_FILE_STAGING_LOCATION:Ljava/lang/String;
-Landroid/telephony/mbms/MbmsDownloadReceiver;->TEMP_FILE_SUFFIX:Ljava/lang/String;
-Landroid/telephony/mbms/MbmsDownloadReceiver;->verifyIntentContents(Landroid/content/Context;Landroid/content/Intent;)Z
-Landroid/telephony/mbms/MbmsDownloadReceiver;->verifyPermissionIntegrity(Landroid/content/Context;)V
-Landroid/telephony/mbms/MbmsDownloadReceiver;->verifyTempFilePath(Landroid/content/Context;Ljava/lang/String;Landroid/net/Uri;)Z
-Landroid/telephony/mbms/MbmsDownloadSessionCallback$DownloadError;
-Landroid/telephony/mbms/MbmsErrors$DownloadErrors;-><init>()V
-Landroid/telephony/mbms/MbmsErrors$GeneralErrors;-><init>()V
-Landroid/telephony/mbms/MbmsErrors$InitializationErrors;-><init>()V
-Landroid/telephony/mbms/MbmsErrors$StreamingErrors;-><init>()V
-Landroid/telephony/mbms/MbmsErrors;-><init>()V
-Landroid/telephony/mbms/MbmsStreamingSessionCallback$StreamingError;
-Landroid/telephony/mbms/MbmsTempFileProvider;
-Landroid/telephony/mbms/MbmsTempFileProvider;-><init>()V
-Landroid/telephony/mbms/MbmsTempFileProvider;->getEmbmsTempFileDir(Landroid/content/Context;)Ljava/io/File;
-Landroid/telephony/mbms/MbmsTempFileProvider;->getFileForUri(Landroid/content/Context;Ljava/lang/String;Landroid/net/Uri;)Ljava/io/File;
-Landroid/telephony/mbms/MbmsTempFileProvider;->getUriForFile(Landroid/content/Context;Ljava/lang/String;Ljava/io/File;)Landroid/net/Uri;
-Landroid/telephony/mbms/MbmsTempFileProvider;->mAuthority:Ljava/lang/String;
-Landroid/telephony/mbms/MbmsTempFileProvider;->mContext:Landroid/content/Context;
-Landroid/telephony/mbms/MbmsTempFileProvider;->TEMP_FILE_ROOT_PREF_FILE_NAME:Ljava/lang/String;
-Landroid/telephony/mbms/MbmsTempFileProvider;->TEMP_FILE_ROOT_PREF_NAME:Ljava/lang/String;
-Landroid/telephony/mbms/MbmsUtils;
-Landroid/telephony/mbms/MbmsUtils;-><init>()V
-Landroid/telephony/mbms/MbmsUtils;->getEmbmsTempFileDirForService(Landroid/content/Context;Ljava/lang/String;)Ljava/io/File;
-Landroid/telephony/mbms/MbmsUtils;->getMiddlewareServiceInfo(Landroid/content/Context;Ljava/lang/String;)Landroid/content/pm/ServiceInfo;
-Landroid/telephony/mbms/MbmsUtils;->getOverrideServiceName(Landroid/content/Context;Ljava/lang/String;)Landroid/content/ComponentName;
-Landroid/telephony/mbms/MbmsUtils;->isContainedIn(Ljava/io/File;Ljava/io/File;)Z
-Landroid/telephony/mbms/MbmsUtils;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/mbms/MbmsUtils;->startBinding(Landroid/content/Context;Ljava/lang/String;Landroid/content/ServiceConnection;)I
-Landroid/telephony/mbms/MbmsUtils;->toComponentName(Landroid/content/pm/ComponentInfo;)Landroid/content/ComponentName;
-Landroid/telephony/mbms/ServiceInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/mbms/ServiceInfo;-><init>(Ljava/util/Map;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/util/Date;Ljava/util/Date;)V
-Landroid/telephony/mbms/ServiceInfo;->className:Ljava/lang/String;
-Landroid/telephony/mbms/ServiceInfo;->locales:Ljava/util/List;
-Landroid/telephony/mbms/ServiceInfo;->MAP_LIMIT:I
-Landroid/telephony/mbms/ServiceInfo;->names:Ljava/util/Map;
-Landroid/telephony/mbms/ServiceInfo;->serviceId:Ljava/lang/String;
-Landroid/telephony/mbms/ServiceInfo;->sessionEndTime:Ljava/util/Date;
-Landroid/telephony/mbms/ServiceInfo;->sessionStartTime:Ljava/util/Date;
-Landroid/telephony/mbms/ServiceInfo;->writeToParcel(Landroid/os/Parcel;I)V
-Landroid/telephony/mbms/StreamingService$StreamingState;
-Landroid/telephony/mbms/StreamingService$StreamingStateChangeReason;
-Landroid/telephony/mbms/StreamingService;-><init>(ILandroid/telephony/mbms/vendor/IMbmsStreamingService;Landroid/telephony/MbmsStreamingSession;Landroid/telephony/mbms/StreamingServiceInfo;Landroid/telephony/mbms/InternalStreamingServiceCallback;)V
-Landroid/telephony/mbms/StreamingService;->getCallback()Landroid/telephony/mbms/InternalStreamingServiceCallback;
-Landroid/telephony/mbms/StreamingService;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/mbms/StreamingService;->mCallback:Landroid/telephony/mbms/InternalStreamingServiceCallback;
-Landroid/telephony/mbms/StreamingService;->mParentSession:Landroid/telephony/MbmsStreamingSession;
-Landroid/telephony/mbms/StreamingService;->mService:Landroid/telephony/mbms/vendor/IMbmsStreamingService;
-Landroid/telephony/mbms/StreamingService;->mServiceInfo:Landroid/telephony/mbms/StreamingServiceInfo;
-Landroid/telephony/mbms/StreamingService;->mSubscriptionId:I
-Landroid/telephony/mbms/StreamingService;->sendErrorToApp(ILjava/lang/String;)V
-Landroid/telephony/mbms/StreamingServiceCallback$StreamingServiceError;
-Landroid/telephony/mbms/StreamingServiceInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/mbms/UriPathPair;-><init>(Landroid/net/Uri;Landroid/net/Uri;)V
-Landroid/telephony/mbms/UriPathPair;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/mbms/UriPathPair;->mContentUri:Landroid/net/Uri;
-Landroid/telephony/mbms/UriPathPair;->mFilePathUri:Landroid/net/Uri;
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub$Proxy;
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub$Proxy;->addProgressListener(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/IDownloadProgressListener;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub$Proxy;->addStatusListener(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/IDownloadStatusListener;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub$Proxy;->cancelDownload(Landroid/telephony/mbms/DownloadRequest;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub$Proxy;->dispose(I)V
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub$Proxy;->download(Landroid/telephony/mbms/DownloadRequest;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub$Proxy;->initialize(ILandroid/telephony/mbms/IMbmsDownloadSessionCallback;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub$Proxy;->listPendingDownloads(I)Ljava/util/List;
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub$Proxy;->removeProgressListener(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/IDownloadProgressListener;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub$Proxy;->removeStatusListener(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/IDownloadStatusListener;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub$Proxy;->requestDownloadState(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/FileInfo;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub$Proxy;->requestUpdateFileServices(ILjava/util/List;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub$Proxy;->resetDownloadKnowledge(Landroid/telephony/mbms/DownloadRequest;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub$Proxy;->setTempFileRootDirectory(ILjava/lang/String;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub;
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub;-><init>()V
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/mbms/vendor/IMbmsDownloadService;
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub;->TRANSACTION_addProgressListener:I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub;->TRANSACTION_addStatusListener:I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub;->TRANSACTION_cancelDownload:I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub;->TRANSACTION_dispose:I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub;->TRANSACTION_download:I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub;->TRANSACTION_initialize:I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub;->TRANSACTION_listPendingDownloads:I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub;->TRANSACTION_removeProgressListener:I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub;->TRANSACTION_removeStatusListener:I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub;->TRANSACTION_requestDownloadState:I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub;->TRANSACTION_requestUpdateFileServices:I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub;->TRANSACTION_resetDownloadKnowledge:I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService$Stub;->TRANSACTION_setTempFileRootDirectory:I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService;
-Landroid/telephony/mbms/vendor/IMbmsDownloadService;->addProgressListener(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/IDownloadProgressListener;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService;->addStatusListener(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/IDownloadStatusListener;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService;->cancelDownload(Landroid/telephony/mbms/DownloadRequest;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService;->dispose(I)V
-Landroid/telephony/mbms/vendor/IMbmsDownloadService;->download(Landroid/telephony/mbms/DownloadRequest;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService;->initialize(ILandroid/telephony/mbms/IMbmsDownloadSessionCallback;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService;->listPendingDownloads(I)Ljava/util/List;
-Landroid/telephony/mbms/vendor/IMbmsDownloadService;->removeProgressListener(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/IDownloadProgressListener;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService;->removeStatusListener(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/IDownloadStatusListener;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService;->requestDownloadState(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/FileInfo;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService;->requestUpdateFileServices(ILjava/util/List;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService;->resetDownloadKnowledge(Landroid/telephony/mbms/DownloadRequest;)I
-Landroid/telephony/mbms/vendor/IMbmsDownloadService;->setTempFileRootDirectory(ILjava/lang/String;)I
-Landroid/telephony/mbms/vendor/IMbmsStreamingService$Stub$Proxy;
-Landroid/telephony/mbms/vendor/IMbmsStreamingService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/telephony/mbms/vendor/IMbmsStreamingService$Stub$Proxy;->dispose(I)V
-Landroid/telephony/mbms/vendor/IMbmsStreamingService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/telephony/mbms/vendor/IMbmsStreamingService$Stub$Proxy;->getPlaybackUri(ILjava/lang/String;)Landroid/net/Uri;
-Landroid/telephony/mbms/vendor/IMbmsStreamingService$Stub$Proxy;->initialize(Landroid/telephony/mbms/IMbmsStreamingSessionCallback;I)I
-Landroid/telephony/mbms/vendor/IMbmsStreamingService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/telephony/mbms/vendor/IMbmsStreamingService$Stub$Proxy;->requestUpdateStreamingServices(ILjava/util/List;)I
-Landroid/telephony/mbms/vendor/IMbmsStreamingService$Stub$Proxy;->startStreaming(ILjava/lang/String;Landroid/telephony/mbms/IStreamingServiceCallback;)I
-Landroid/telephony/mbms/vendor/IMbmsStreamingService$Stub$Proxy;->stopStreaming(ILjava/lang/String;)V
-Landroid/telephony/mbms/vendor/IMbmsStreamingService$Stub;
-Landroid/telephony/mbms/vendor/IMbmsStreamingService$Stub;-><init>()V
-Landroid/telephony/mbms/vendor/IMbmsStreamingService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/telephony/mbms/vendor/IMbmsStreamingService$Stub;->TRANSACTION_dispose:I
-Landroid/telephony/mbms/vendor/IMbmsStreamingService$Stub;->TRANSACTION_getPlaybackUri:I
-Landroid/telephony/mbms/vendor/IMbmsStreamingService$Stub;->TRANSACTION_initialize:I
-Landroid/telephony/mbms/vendor/IMbmsStreamingService$Stub;->TRANSACTION_requestUpdateStreamingServices:I
-Landroid/telephony/mbms/vendor/IMbmsStreamingService$Stub;->TRANSACTION_startStreaming:I
-Landroid/telephony/mbms/vendor/IMbmsStreamingService$Stub;->TRANSACTION_stopStreaming:I
-Landroid/telephony/mbms/vendor/IMbmsStreamingService;
-Landroid/telephony/mbms/vendor/IMbmsStreamingService;->dispose(I)V
-Landroid/telephony/mbms/vendor/IMbmsStreamingService;->stopStreaming(ILjava/lang/String;)V
-Landroid/telephony/mbms/vendor/MbmsDownloadServiceBase$VendorDownloadProgressListener;
-Landroid/telephony/mbms/vendor/MbmsDownloadServiceBase$VendorDownloadProgressListener;-><init>(Landroid/telephony/mbms/IDownloadProgressListener;)V
-Landroid/telephony/mbms/vendor/MbmsDownloadServiceBase$VendorDownloadProgressListener;->mListener:Landroid/telephony/mbms/IDownloadProgressListener;
-Landroid/telephony/mbms/vendor/MbmsDownloadServiceBase$VendorDownloadProgressListener;->onRemoteException(Landroid/os/RemoteException;)V
-Landroid/telephony/mbms/vendor/MbmsDownloadServiceBase$VendorDownloadStatusListener;
-Landroid/telephony/mbms/vendor/MbmsDownloadServiceBase$VendorDownloadStatusListener;-><init>(Landroid/telephony/mbms/IDownloadStatusListener;)V
-Landroid/telephony/mbms/vendor/MbmsDownloadServiceBase$VendorDownloadStatusListener;->mListener:Landroid/telephony/mbms/IDownloadStatusListener;
-Landroid/telephony/mbms/vendor/MbmsDownloadServiceBase$VendorDownloadStatusListener;->onRemoteException(Landroid/os/RemoteException;)V
-Landroid/telephony/mbms/vendor/MbmsDownloadServiceBase;->addProgressListener(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/IDownloadProgressListener;)I
-Landroid/telephony/mbms/vendor/MbmsDownloadServiceBase;->addStatusListener(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/IDownloadStatusListener;)I
-Landroid/telephony/mbms/vendor/MbmsDownloadServiceBase;->initialize(ILandroid/telephony/mbms/IMbmsDownloadSessionCallback;)I
-Landroid/telephony/mbms/vendor/MbmsDownloadServiceBase;->mDownloadCallbackDeathRecipients:Ljava/util/Map;
-Landroid/telephony/mbms/vendor/MbmsDownloadServiceBase;->mDownloadProgressListenerBinderMap:Ljava/util/Map;
-Landroid/telephony/mbms/vendor/MbmsDownloadServiceBase;->mDownloadStatusListenerBinderMap:Ljava/util/Map;
-Landroid/telephony/mbms/vendor/MbmsDownloadServiceBase;->removeProgressListener(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/IDownloadProgressListener;)I
-Landroid/telephony/mbms/vendor/MbmsDownloadServiceBase;->removeStatusListener(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/IDownloadStatusListener;)I
-Landroid/telephony/mbms/vendor/MbmsStreamingServiceBase;->initialize(Landroid/telephony/mbms/IMbmsStreamingSessionCallback;I)I
-Landroid/telephony/mbms/vendor/MbmsStreamingServiceBase;->startStreaming(ILjava/lang/String;Landroid/telephony/mbms/IStreamingServiceCallback;)I
-Landroid/telephony/MbmsDownloadSession$DownloadResultCode;
-Landroid/telephony/MbmsDownloadSession$DownloadStatus;
-Landroid/telephony/MbmsDownloadSession;-><init>(Landroid/content/Context;Ljava/util/concurrent/Executor;ILandroid/telephony/mbms/MbmsDownloadSessionCallback;)V
-Landroid/telephony/MbmsDownloadSession;->bindAndInitialize()I
-Landroid/telephony/MbmsDownloadSession;->checkDownloadRequestDestination(Landroid/telephony/mbms/DownloadRequest;)V
-Landroid/telephony/MbmsDownloadSession;->deleteDownloadRequestToken(Landroid/telephony/mbms/DownloadRequest;)V
-Landroid/telephony/MbmsDownloadSession;->DESTINATION_SANITY_CHECK_FILE_NAME:Ljava/lang/String;
-Landroid/telephony/MbmsDownloadSession;->getDownloadRequestTokenPath(Landroid/telephony/mbms/DownloadRequest;)Ljava/io/File;
-Landroid/telephony/MbmsDownloadSession;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/MbmsDownloadSession;->mContext:Landroid/content/Context;
-Landroid/telephony/MbmsDownloadSession;->mDeathRecipient:Landroid/os/IBinder$DeathRecipient;
-Landroid/telephony/MbmsDownloadSession;->mInternalCallback:Landroid/telephony/mbms/InternalDownloadSessionCallback;
-Landroid/telephony/MbmsDownloadSession;->mInternalDownloadProgressListeners:Ljava/util/Map;
-Landroid/telephony/MbmsDownloadSession;->mInternalDownloadStatusListeners:Ljava/util/Map;
-Landroid/telephony/MbmsDownloadSession;->mService:Ljava/util/concurrent/atomic/AtomicReference;
-Landroid/telephony/MbmsDownloadSession;->mSubscriptionId:I
-Landroid/telephony/MbmsDownloadSession;->sendErrorToApp(ILjava/lang/String;)V
-Landroid/telephony/MbmsDownloadSession;->sIsInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
-Landroid/telephony/MbmsDownloadSession;->validateTempFileRootSanity(Ljava/io/File;)V
-Landroid/telephony/MbmsDownloadSession;->writeDownloadRequestToken(Landroid/telephony/mbms/DownloadRequest;)V
-Landroid/telephony/MbmsStreamingSession;-><init>(Landroid/content/Context;Ljava/util/concurrent/Executor;ILandroid/telephony/mbms/MbmsStreamingSessionCallback;)V
-Landroid/telephony/MbmsStreamingSession;->bindAndInitialize()I
-Landroid/telephony/MbmsStreamingSession;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/MbmsStreamingSession;->mContext:Landroid/content/Context;
-Landroid/telephony/MbmsStreamingSession;->mDeathRecipient:Landroid/os/IBinder$DeathRecipient;
-Landroid/telephony/MbmsStreamingSession;->mInternalCallback:Landroid/telephony/mbms/InternalStreamingSessionCallback;
-Landroid/telephony/MbmsStreamingSession;->mKnownActiveStreamingServices:Ljava/util/Set;
-Landroid/telephony/MbmsStreamingSession;->mService:Ljava/util/concurrent/atomic/AtomicReference;
-Landroid/telephony/MbmsStreamingSession;->mSubscriptionId:I
-Landroid/telephony/MbmsStreamingSession;->onStreamingServiceStopped(Landroid/telephony/mbms/StreamingService;)V
-Landroid/telephony/MbmsStreamingSession;->sendErrorToApp(ILjava/lang/String;)V
-Landroid/telephony/MbmsStreamingSession;->sIsInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
-Landroid/telephony/ModemActivityInfo;
-Landroid/telephony/ModemActivityInfo;-><init>(JII[III)V
-Landroid/telephony/ModemActivityInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telephony/ModemActivityInfo;->getEnergyUsed()I
-Landroid/telephony/ModemActivityInfo;->getIdleTimeMillis()I
-Landroid/telephony/ModemActivityInfo;->getRxTimeMillis()I
-Landroid/telephony/ModemActivityInfo;->getSleepTimeMillis()I
-Landroid/telephony/ModemActivityInfo;->getTimestamp()J
-Landroid/telephony/ModemActivityInfo;->getTxTimeMillis()[I
-Landroid/telephony/ModemActivityInfo;->isEmpty()Z
-Landroid/telephony/ModemActivityInfo;->isValid()Z
-Landroid/telephony/ModemActivityInfo;->mEnergyUsed:I
-Landroid/telephony/ModemActivityInfo;->mIdleTimeMs:I
-Landroid/telephony/ModemActivityInfo;->mRxTimeMs:I
-Landroid/telephony/ModemActivityInfo;->mSleepTimeMs:I
-Landroid/telephony/ModemActivityInfo;->mTimestamp:J
-Landroid/telephony/ModemActivityInfo;->mTxTimeMs:[I
-Landroid/telephony/ModemActivityInfo;->setEnergyUsed(I)V
-Landroid/telephony/ModemActivityInfo;->setIdleTimeMillis(I)V
-Landroid/telephony/ModemActivityInfo;->setRxTimeMillis(I)V
-Landroid/telephony/ModemActivityInfo;->setSleepTimeMillis(I)V
-Landroid/telephony/ModemActivityInfo;->setTimestamp(J)V
-Landroid/telephony/ModemActivityInfo;->setTxTimeMillis([I)V
-Landroid/telephony/ModemActivityInfo;->TX_POWER_LEVELS:I
-Landroid/telephony/NetworkRegistrationState$Domain;
-Landroid/telephony/NetworkRegistrationState$RegState;
-Landroid/telephony/NetworkRegistrationState$ServiceType;
-Landroid/telephony/NetworkRegistrationState;
-Landroid/telephony/NetworkRegistrationState;-><init>(IIIIIZ[ILandroid/telephony/CellIdentity;)V
-Landroid/telephony/NetworkRegistrationState;-><init>(IIIIIZ[ILandroid/telephony/CellIdentity;I)V
-Landroid/telephony/NetworkRegistrationState;-><init>(IIIIIZ[ILandroid/telephony/CellIdentity;ZIII)V
-Landroid/telephony/NetworkRegistrationState;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/NetworkRegistrationState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telephony/NetworkRegistrationState;->DOMAIN_CS:I
-Landroid/telephony/NetworkRegistrationState;->DOMAIN_PS:I
-Landroid/telephony/NetworkRegistrationState;->equals(Ljava/lang/Object;Ljava/lang/Object;)Z
-Landroid/telephony/NetworkRegistrationState;->getAccessNetworkTechnology()I
-Landroid/telephony/NetworkRegistrationState;->getAvailableServices()[I
-Landroid/telephony/NetworkRegistrationState;->getCellIdentity()Landroid/telephony/CellIdentity;
-Landroid/telephony/NetworkRegistrationState;->getDataSpecificStates()Landroid/telephony/DataSpecificRegistrationStates;
-Landroid/telephony/NetworkRegistrationState;->getDomain()I
-Landroid/telephony/NetworkRegistrationState;->getReasonForDenial()I
-Landroid/telephony/NetworkRegistrationState;->getRegState()I
-Landroid/telephony/NetworkRegistrationState;->getTransportType()I
-Landroid/telephony/NetworkRegistrationState;->getVoiceSpecificStates()Landroid/telephony/VoiceSpecificRegistrationStates;
-Landroid/telephony/NetworkRegistrationState;->isEmergencyEnabled()Z
-Landroid/telephony/NetworkRegistrationState;->mAccessNetworkTechnology:I
-Landroid/telephony/NetworkRegistrationState;->mAvailableServices:[I
-Landroid/telephony/NetworkRegistrationState;->mCellIdentity:Landroid/telephony/CellIdentity;
-Landroid/telephony/NetworkRegistrationState;->mDataSpecificStates:Landroid/telephony/DataSpecificRegistrationStates;
-Landroid/telephony/NetworkRegistrationState;->mDomain:I
-Landroid/telephony/NetworkRegistrationState;->mEmergencyOnly:Z
-Landroid/telephony/NetworkRegistrationState;->mReasonForDenial:I
-Landroid/telephony/NetworkRegistrationState;->mRegState:I
-Landroid/telephony/NetworkRegistrationState;->mTransportType:I
-Landroid/telephony/NetworkRegistrationState;->mVoiceSpecificStates:Landroid/telephony/VoiceSpecificRegistrationStates;
-Landroid/telephony/NetworkRegistrationState;->regStateToString(I)Ljava/lang/String;
-Landroid/telephony/NetworkRegistrationState;->REG_STATE_DENIED:I
-Landroid/telephony/NetworkRegistrationState;->REG_STATE_HOME:I
-Landroid/telephony/NetworkRegistrationState;->REG_STATE_NOT_REG_NOT_SEARCHING:I
-Landroid/telephony/NetworkRegistrationState;->REG_STATE_NOT_REG_SEARCHING:I
-Landroid/telephony/NetworkRegistrationState;->REG_STATE_ROAMING:I
-Landroid/telephony/NetworkRegistrationState;->REG_STATE_UNKNOWN:I
-Landroid/telephony/NetworkRegistrationState;->SERVICE_TYPE_DATA:I
-Landroid/telephony/NetworkRegistrationState;->SERVICE_TYPE_EMERGENCY:I
-Landroid/telephony/NetworkRegistrationState;->SERVICE_TYPE_SMS:I
-Landroid/telephony/NetworkRegistrationState;->SERVICE_TYPE_VIDEO:I
-Landroid/telephony/NetworkRegistrationState;->SERVICE_TYPE_VOICE:I
-Landroid/telephony/NetworkScan$ScanErrorCode;
-Landroid/telephony/NetworkScan;-><init>(II)V
-Landroid/telephony/NetworkScan;->getITelephony()Lcom/android/internal/telephony/ITelephony;
-Landroid/telephony/NetworkScan;->mScanId:I
-Landroid/telephony/NetworkScan;->mSubId:I
-Landroid/telephony/NetworkScan;->TAG:Ljava/lang/String;
-Landroid/telephony/NetworkScanRequest$ScanType;
-Landroid/telephony/NetworkScanRequest;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/NetworkScanRequest;->MAX_BANDS:I
-Landroid/telephony/NetworkScanRequest;->MAX_CHANNELS:I
-Landroid/telephony/NetworkScanRequest;->MAX_INCREMENTAL_PERIODICITY_SEC:I
-Landroid/telephony/NetworkScanRequest;->MAX_MCC_MNC_LIST_SIZE:I
-Landroid/telephony/NetworkScanRequest;->MAX_RADIO_ACCESS_NETWORKS:I
-Landroid/telephony/NetworkScanRequest;->MAX_SEARCH_MAX_SEC:I
-Landroid/telephony/NetworkScanRequest;->MAX_SEARCH_PERIODICITY_SEC:I
-Landroid/telephony/NetworkScanRequest;->mIncrementalResults:Z
-Landroid/telephony/NetworkScanRequest;->mIncrementalResultsPeriodicity:I
-Landroid/telephony/NetworkScanRequest;->MIN_INCREMENTAL_PERIODICITY_SEC:I
-Landroid/telephony/NetworkScanRequest;->MIN_SEARCH_MAX_SEC:I
-Landroid/telephony/NetworkScanRequest;->MIN_SEARCH_PERIODICITY_SEC:I
-Landroid/telephony/NetworkScanRequest;->mMaxSearchTime:I
-Landroid/telephony/NetworkScanRequest;->mMccMncs:Ljava/util/ArrayList;
-Landroid/telephony/NetworkScanRequest;->mScanType:I
-Landroid/telephony/NetworkScanRequest;->mSearchPeriodicity:I
-Landroid/telephony/NetworkScanRequest;->mSpecifiers:[Landroid/telephony/RadioAccessSpecifier;
-Landroid/telephony/NetworkService$INetworkServiceWrapper;
-Landroid/telephony/NetworkService$INetworkServiceWrapper;-><init>()V
-Landroid/telephony/NetworkService$INetworkServiceWrapper;->createNetworkServiceProvider(I)V
-Landroid/telephony/NetworkService$INetworkServiceWrapper;->getNetworkRegistrationState(IILandroid/telephony/INetworkServiceCallback;)V
-Landroid/telephony/NetworkService$INetworkServiceWrapper;->registerForNetworkRegistrationStateChanged(ILandroid/telephony/INetworkServiceCallback;)V
-Landroid/telephony/NetworkService$INetworkServiceWrapper;->removeNetworkServiceProvider(I)V
-Landroid/telephony/NetworkService$INetworkServiceWrapper;->unregisterForNetworkRegistrationStateChanged(ILandroid/telephony/INetworkServiceCallback;)V
-Landroid/telephony/NetworkService$NetworkServiceHandler;
-Landroid/telephony/NetworkService$NetworkServiceHandler;-><init>(Landroid/os/Looper;)V
-Landroid/telephony/NetworkService$NetworkServiceProvider;
-Landroid/telephony/NetworkService$NetworkServiceProvider;-><init>(I)V
-Landroid/telephony/NetworkService$NetworkServiceProvider;->getNetworkRegistrationState(ILandroid/telephony/NetworkServiceCallback;)V
-Landroid/telephony/NetworkService$NetworkServiceProvider;->getSlotId()I
-Landroid/telephony/NetworkService$NetworkServiceProvider;->mNetworkRegistrationStateChangedCallbacks:Ljava/util/List;
-Landroid/telephony/NetworkService$NetworkServiceProvider;->mSlotId:I
-Landroid/telephony/NetworkService$NetworkServiceProvider;->notifyNetworkRegistrationStateChanged()V
-Landroid/telephony/NetworkService$NetworkServiceProvider;->notifyStateChangedToCallbacks()V
-Landroid/telephony/NetworkService$NetworkServiceProvider;->onDestroy()V
-Landroid/telephony/NetworkService$NetworkServiceProvider;->registerForStateChanged(Landroid/telephony/INetworkServiceCallback;)V
-Landroid/telephony/NetworkService$NetworkServiceProvider;->unregisterForStateChanged(Landroid/telephony/INetworkServiceCallback;)V
-Landroid/telephony/NetworkService;
-Landroid/telephony/NetworkService;-><init>()V
-Landroid/telephony/NetworkService;->createNetworkServiceProvider(I)Landroid/telephony/NetworkService$NetworkServiceProvider;
-Landroid/telephony/NetworkService;->log(Ljava/lang/String;)V
-Landroid/telephony/NetworkService;->loge(Ljava/lang/String;)V
-Landroid/telephony/NetworkService;->mBinder:Landroid/telephony/NetworkService$INetworkServiceWrapper;
-Landroid/telephony/NetworkService;->mHandler:Landroid/telephony/NetworkService$NetworkServiceHandler;
-Landroid/telephony/NetworkService;->mHandlerThread:Landroid/os/HandlerThread;
-Landroid/telephony/NetworkService;->mServiceMap:Landroid/util/SparseArray;
-Landroid/telephony/NetworkService;->NETWORK_SERVICE_CREATE_NETWORK_SERVICE_PROVIDER:I
-Landroid/telephony/NetworkService;->NETWORK_SERVICE_EXTRA_SLOT_ID:Ljava/lang/String;
-Landroid/telephony/NetworkService;->NETWORK_SERVICE_GET_REGISTRATION_STATE:I
-Landroid/telephony/NetworkService;->NETWORK_SERVICE_INDICATION_NETWORK_STATE_CHANGED:I
-Landroid/telephony/NetworkService;->NETWORK_SERVICE_INTERFACE:Ljava/lang/String;
-Landroid/telephony/NetworkService;->NETWORK_SERVICE_REGISTER_FOR_STATE_CHANGE:I
-Landroid/telephony/NetworkService;->NETWORK_SERVICE_REMOVE_ALL_NETWORK_SERVICE_PROVIDERS:I
-Landroid/telephony/NetworkService;->NETWORK_SERVICE_REMOVE_NETWORK_SERVICE_PROVIDER:I
-Landroid/telephony/NetworkService;->NETWORK_SERVICE_UNREGISTER_FOR_STATE_CHANGE:I
-Landroid/telephony/NetworkService;->TAG:Ljava/lang/String;
-Landroid/telephony/NetworkServiceCallback$Result;
-Landroid/telephony/NetworkServiceCallback;
-Landroid/telephony/NetworkServiceCallback;-><init>(Landroid/telephony/INetworkServiceCallback;)V
-Landroid/telephony/NetworkServiceCallback;->mCallback:Ljava/lang/ref/WeakReference;
-Landroid/telephony/NetworkServiceCallback;->mTag:Ljava/lang/String;
-Landroid/telephony/NetworkServiceCallback;->onGetNetworkRegistrationStateComplete(ILandroid/telephony/NetworkRegistrationState;)V
-Landroid/telephony/NetworkServiceCallback;->RESULT_ERROR_BUSY:I
-Landroid/telephony/NetworkServiceCallback;->RESULT_ERROR_FAILED:I
-Landroid/telephony/NetworkServiceCallback;->RESULT_ERROR_ILLEGAL_STATE:I
-Landroid/telephony/NetworkServiceCallback;->RESULT_ERROR_INVALID_ARG:I
-Landroid/telephony/NetworkServiceCallback;->RESULT_ERROR_UNSUPPORTED:I
-Landroid/telephony/NetworkServiceCallback;->RESULT_SUCCESS:I
-Landroid/telephony/PcoData;
-Landroid/telephony/PcoData;-><init>(ILjava/lang/String;I[B)V
-Landroid/telephony/PcoData;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/PcoData;->bearerProto:Ljava/lang/String;
-Landroid/telephony/PcoData;->cid:I
-Landroid/telephony/PcoData;->contents:[B
-Landroid/telephony/PcoData;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telephony/PcoData;->pcoId:I
-Landroid/telephony/PhoneNumberFormattingTextWatcher;->getFormattedNumber(CZ)Ljava/lang/String;
-Landroid/telephony/PhoneNumberFormattingTextWatcher;->hasSeparator(Ljava/lang/CharSequence;II)Z
-Landroid/telephony/PhoneNumberFormattingTextWatcher;->mSelfChange:Z
-Landroid/telephony/PhoneNumberFormattingTextWatcher;->mStopFormatting:Z
-Landroid/telephony/PhoneNumberFormattingTextWatcher;->reformat(Ljava/lang/CharSequence;I)Ljava/lang/String;
-Landroid/telephony/PhoneNumberFormattingTextWatcher;->stopFormatting()V
-Landroid/telephony/PhoneNumberUtils$BcdExtendType;
-Landroid/telephony/PhoneNumberUtils$CountryCallingCodeAndNewIndex;
-Landroid/telephony/PhoneNumberUtils$CountryCallingCodeAndNewIndex;-><init>(II)V
-Landroid/telephony/PhoneNumberUtils$CountryCallingCodeAndNewIndex;->countryCallingCode:I
-Landroid/telephony/PhoneNumberUtils$CountryCallingCodeAndNewIndex;->newIndex:I
-Landroid/telephony/PhoneNumberUtils;->appendPwCharBackToOrigDialStr(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->bcdToChar(BI)C
-Landroid/telephony/PhoneNumberUtils;->BCD_CALLED_PARTY_EXTENDED:Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->BCD_EF_ADN_EXTENDED:Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->CCC_LENGTH:I
-Landroid/telephony/PhoneNumberUtils;->cdmaCheckAndProcessPlusCodeByNumberFormat(Ljava/lang/String;II)Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->cdmaCheckAndProcessPlusCodeForSms(Ljava/lang/String;)Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->charToBCD(CI)I
-Landroid/telephony/PhoneNumberUtils;->checkPrefixIsIgnorable(Ljava/lang/String;II)Z
-Landroid/telephony/PhoneNumberUtils;->CLIR_OFF:Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->CLIR_ON:Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->convertAndStrip(Ljava/lang/String;)Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->convertSipUriToTelUri(Landroid/net/Uri;)Landroid/net/Uri;
-Landroid/telephony/PhoneNumberUtils;->convertToEmergencyNumber(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->COUNTRY_CALLING_CALL:[Z
-Landroid/telephony/PhoneNumberUtils;->DBG:Z
-Landroid/telephony/PhoneNumberUtils;->findDialableIndexFromPostDialStr(Ljava/lang/String;)I
-Landroid/telephony/PhoneNumberUtils;->formatNumberInternal(Ljava/lang/String;Ljava/lang/String;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;)Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->getCurrentIdp(Z)Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->getDefaultVoiceSubId()I
-Landroid/telephony/PhoneNumberUtils;->getFormatTypeFromCountryCode(Ljava/lang/String;)I
-Landroid/telephony/PhoneNumberUtils;->GLOBAL_PHONE_NUMBER_PATTERN:Ljava/util/regex/Pattern;
-Landroid/telephony/PhoneNumberUtils;->indexOfLastNetworkChar(Ljava/lang/String;)I
-Landroid/telephony/PhoneNumberUtils;->internalCalledPartyBCDFragmentToString(Ljava/lang/StringBuilder;[BIII)V
-Landroid/telephony/PhoneNumberUtils;->internalGetStrippedReversed(Ljava/lang/String;I)Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->isCountryCallingCode(I)Z
-Landroid/telephony/PhoneNumberUtils;->isDialable(Ljava/lang/String;)Z
-Landroid/telephony/PhoneNumberUtils;->isEmergencyNumber(ILjava/lang/String;Ljava/lang/String;)Z
-Landroid/telephony/PhoneNumberUtils;->isEmergencyNumberInternal(ILjava/lang/String;Ljava/lang/String;Z)Z
-Landroid/telephony/PhoneNumberUtils;->isEmergencyNumberInternal(ILjava/lang/String;Z)Z
-Landroid/telephony/PhoneNumberUtils;->isEmergencyNumberInternal(Ljava/lang/String;Ljava/lang/String;Z)Z
-Landroid/telephony/PhoneNumberUtils;->isEmergencyNumberInternal(Ljava/lang/String;Z)Z
-Landroid/telephony/PhoneNumberUtils;->isInternationalNumber(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/telephony/PhoneNumberUtils;->isLocalEmergencyNumberInternal(ILjava/lang/String;Landroid/content/Context;Z)Z
-Landroid/telephony/PhoneNumberUtils;->isLocalEmergencyNumberInternal(Ljava/lang/String;Landroid/content/Context;Z)Z
-Landroid/telephony/PhoneNumberUtils;->isNonSeparator(Ljava/lang/String;)Z
-Landroid/telephony/PhoneNumberUtils;->isOneNanp(Ljava/lang/String;)Z
-Landroid/telephony/PhoneNumberUtils;->isPause(C)Z
-Landroid/telephony/PhoneNumberUtils;->isPotentialEmergencyNumber(ILjava/lang/String;Ljava/lang/String;)Z
-Landroid/telephony/PhoneNumberUtils;->isPotentialEmergencyNumber(Ljava/lang/String;)Z
-Landroid/telephony/PhoneNumberUtils;->isPotentialEmergencyNumber(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/telephony/PhoneNumberUtils;->isSeparator(C)Z
-Landroid/telephony/PhoneNumberUtils;->isToneWait(C)Z
-Landroid/telephony/PhoneNumberUtils;->isTwoToNine(C)Z
-Landroid/telephony/PhoneNumberUtils;->isVoiceMailNumber(ILjava/lang/String;)Z
-Landroid/telephony/PhoneNumberUtils;->JAPAN_ISO_COUNTRY_CODE:Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->KEYPAD_MAP:Landroid/util/SparseIntArray;
-Landroid/telephony/PhoneNumberUtils;->KOREA_ISO_COUNTRY_CODE:Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->log(Ljava/lang/String;)V
-Landroid/telephony/PhoneNumberUtils;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->matchIntlPrefix(Ljava/lang/String;I)Z
-Landroid/telephony/PhoneNumberUtils;->matchIntlPrefixAndCC(Ljava/lang/String;I)Z
-Landroid/telephony/PhoneNumberUtils;->matchTrunkPrefix(Ljava/lang/String;I)Z
-Landroid/telephony/PhoneNumberUtils;->minPositive(II)I
-Landroid/telephony/PhoneNumberUtils;->NANP_COUNTRIES:[Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->NANP_IDP_STRING:Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->NANP_LENGTH:I
-Landroid/telephony/PhoneNumberUtils;->NANP_STATE_DASH:I
-Landroid/telephony/PhoneNumberUtils;->NANP_STATE_DIGIT:I
-Landroid/telephony/PhoneNumberUtils;->NANP_STATE_ONE:I
-Landroid/telephony/PhoneNumberUtils;->NANP_STATE_PLUS:I
-Landroid/telephony/PhoneNumberUtils;->numberToCalledPartyBCDHelper(Ljava/lang/String;ZI)[B
-Landroid/telephony/PhoneNumberUtils;->PLUS_SIGN_CHAR:C
-Landroid/telephony/PhoneNumberUtils;->PLUS_SIGN_STRING:Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->processPlusCode(Ljava/lang/String;Z)Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->removeDashes(Landroid/text/Editable;)V
-Landroid/telephony/PhoneNumberUtils;->sConvertToEmergencyMap:[Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->splitAtNonNumerics(Ljava/lang/CharSequence;)Ljava/lang/String;
-Landroid/telephony/PhoneNumberUtils;->tryGetCountryCallingCodeAndNewIndex(Ljava/lang/String;Z)Landroid/telephony/PhoneNumberUtils$CountryCallingCodeAndNewIndex;
-Landroid/telephony/PhoneNumberUtils;->tryGetISODigit(C)I
-Landroid/telephony/PhoneNumberUtils;->tryGetTrunkPrefixOmittedIndex(Ljava/lang/String;I)I
-Landroid/telephony/PhoneNumberUtils;->ttsSpanAsPhoneNumber(Landroid/text/Spannable;II)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;-><init>(Landroid/telephony/PhoneStateListener;)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->mPhoneStateListenerWeakRef:Ljava/lang/ref/WeakReference;
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onCallForwardingIndicatorChanged(Z)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onCallStateChanged(ILjava/lang/String;)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onCarrierNetworkChange(Z)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onCellInfoChanged(Ljava/util/List;)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onCellLocationChanged(Landroid/os/Bundle;)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onDataActivationStateChanged(I)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onDataActivity(I)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onDataConnectionRealTimeInfoChanged(Landroid/telephony/DataConnectionRealTimeInfo;)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onDataConnectionStateChanged(II)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onMessageWaitingIndicatorChanged(Z)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onOemHookRawEvent([B)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onOtaspChanged(I)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onPhysicalChannelConfigurationChanged(Ljava/util/List;)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onPreciseCallStateChanged(Landroid/telephony/PreciseCallState;)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onPreciseDataConnectionStateChanged(Landroid/telephony/PreciseDataConnectionState;)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onServiceStateChanged(Landroid/telephony/ServiceState;)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onSignalStrengthChanged(I)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onSignalStrengthsChanged(Landroid/telephony/SignalStrength;)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onUserMobileDataStateChanged(Z)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onVoiceActivationStateChanged(I)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onVoLteServiceStateChanged(Landroid/telephony/VoLteServiceState;)V
-Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->send(IIILjava/lang/Object;)V
-Landroid/telephony/PhoneStateListener;->DBG:Z
-Landroid/telephony/PhoneStateListener;->LISTEN_CARRIER_NETWORK_CHANGE:I
-Landroid/telephony/PhoneStateListener;->LISTEN_DATA_ACTIVATION_STATE:I
-Landroid/telephony/PhoneStateListener;->LISTEN_DATA_CONNECTION_REAL_TIME_INFO:I
-Landroid/telephony/PhoneStateListener;->LISTEN_OEM_HOOK_RAW_EVENT:I
-Landroid/telephony/PhoneStateListener;->LISTEN_OTASP_CHANGED:I
-Landroid/telephony/PhoneStateListener;->LISTEN_PHYSICAL_CHANNEL_CONFIGURATION:I
-Landroid/telephony/PhoneStateListener;->LISTEN_PRECISE_DATA_CONNECTION_STATE:I
-Landroid/telephony/PhoneStateListener;->LISTEN_VOICE_ACTIVATION_STATE:I
-Landroid/telephony/PhoneStateListener;->LISTEN_VOLTE_STATE:I
-Landroid/telephony/PhoneStateListener;->log(Ljava/lang/String;)V
-Landroid/telephony/PhoneStateListener;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
-Landroid/telephony/PhoneStateListener;->onCarrierNetworkChange(Z)V
-Landroid/telephony/PhoneStateListener;->onDataActivationStateChanged(I)V
-Landroid/telephony/PhoneStateListener;->onPhysicalChannelConfigurationChanged(Ljava/util/List;)V
-Landroid/telephony/PhoneStateListener;->onVoiceActivationStateChanged(I)V
-Landroid/telephony/PhysicalChannelConfig$ConnectionStatus;
-Landroid/telephony/PhysicalChannelConfig;
-Landroid/telephony/PhysicalChannelConfig;-><init>(II)V
-Landroid/telephony/PhysicalChannelConfig;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/PhysicalChannelConfig;->CONNECTION_PRIMARY_SERVING:I
-Landroid/telephony/PhysicalChannelConfig;->CONNECTION_SECONDARY_SERVING:I
-Landroid/telephony/PhysicalChannelConfig;->CONNECTION_UNKNOWN:I
-Landroid/telephony/PhysicalChannelConfig;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telephony/PhysicalChannelConfig;->getCellBandwidthDownlink()I
-Landroid/telephony/PhysicalChannelConfig;->getConnectionStatus()I
-Landroid/telephony/PhysicalChannelConfig;->getConnectionStatusString()Ljava/lang/String;
-Landroid/telephony/PhysicalChannelConfig;->mCellBandwidthDownlinkKhz:I
-Landroid/telephony/PhysicalChannelConfig;->mCellConnectionStatus:I
-Landroid/telephony/PreciseCallState;
-Landroid/telephony/PreciseCallState;-><init>()V
-Landroid/telephony/PreciseCallState;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/PreciseCallState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telephony/PreciseCallState;->mBackgroundCallState:I
-Landroid/telephony/PreciseCallState;->mDisconnectCause:I
-Landroid/telephony/PreciseCallState;->mForegroundCallState:I
-Landroid/telephony/PreciseCallState;->mPreciseDisconnectCause:I
-Landroid/telephony/PreciseCallState;->mRingingCallState:I
-Landroid/telephony/PreciseCallState;->PRECISE_CALL_STATE_ACTIVE:I
-Landroid/telephony/PreciseCallState;->PRECISE_CALL_STATE_ALERTING:I
-Landroid/telephony/PreciseCallState;->PRECISE_CALL_STATE_DIALING:I
-Landroid/telephony/PreciseCallState;->PRECISE_CALL_STATE_DISCONNECTED:I
-Landroid/telephony/PreciseCallState;->PRECISE_CALL_STATE_DISCONNECTING:I
-Landroid/telephony/PreciseCallState;->PRECISE_CALL_STATE_HOLDING:I
-Landroid/telephony/PreciseCallState;->PRECISE_CALL_STATE_IDLE:I
-Landroid/telephony/PreciseCallState;->PRECISE_CALL_STATE_INCOMING:I
-Landroid/telephony/PreciseCallState;->PRECISE_CALL_STATE_NOT_VALID:I
-Landroid/telephony/PreciseCallState;->PRECISE_CALL_STATE_WAITING:I
-Landroid/telephony/PreciseDataConnectionState;
-Landroid/telephony/PreciseDataConnectionState;-><init>()V
-Landroid/telephony/PreciseDataConnectionState;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/PreciseDataConnectionState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telephony/PreciseDataConnectionState;->mAPN:Ljava/lang/String;
-Landroid/telephony/PreciseDataConnectionState;->mAPNType:Ljava/lang/String;
-Landroid/telephony/PreciseDataConnectionState;->mFailCause:Ljava/lang/String;
-Landroid/telephony/PreciseDataConnectionState;->mLinkProperties:Landroid/net/LinkProperties;
-Landroid/telephony/PreciseDataConnectionState;->mNetworkType:I
-Landroid/telephony/PreciseDataConnectionState;->mReason:Ljava/lang/String;
-Landroid/telephony/PreciseDataConnectionState;->mState:I
-Landroid/telephony/PreciseDisconnectCause;
-Landroid/telephony/PreciseDisconnectCause;-><init>()V
-Landroid/telephony/PreciseDisconnectCause;->ACCESS_CLASS_BLOCKED:I
-Landroid/telephony/PreciseDisconnectCause;->ACCESS_INFORMATION_DISCARDED:I
-Landroid/telephony/PreciseDisconnectCause;->ACM_LIMIT_EXCEEDED:I
-Landroid/telephony/PreciseDisconnectCause;->ANSWERED_ELSEWHERE:I
-Landroid/telephony/PreciseDisconnectCause;->BEARER_CAPABILITY_NOT_AUTHORIZED:I
-Landroid/telephony/PreciseDisconnectCause;->BEARER_NOT_AVAIL:I
-Landroid/telephony/PreciseDisconnectCause;->BEARER_SERVICE_NOT_IMPLEMENTED:I
-Landroid/telephony/PreciseDisconnectCause;->BLACKLISTED_CALL_ID:I
-Landroid/telephony/PreciseDisconnectCause;->BUSY:I
-Landroid/telephony/PreciseDisconnectCause;->CALL_BARRED:I
-Landroid/telephony/PreciseDisconnectCause;->CALL_DROP_IWLAN_TO_LTE_UNAVAILABLE:I
-Landroid/telephony/PreciseDisconnectCause;->CALL_PULLED:I
-Landroid/telephony/PreciseDisconnectCause;->CALL_PULL_OUT_OF_SYNC:I
-Landroid/telephony/PreciseDisconnectCause;->CALL_REJECTED:I
-Landroid/telephony/PreciseDisconnectCause;->CDMA_ACCESS_BLOCKED:I
-Landroid/telephony/PreciseDisconnectCause;->CDMA_ACCESS_FAILURE:I
-Landroid/telephony/PreciseDisconnectCause;->CDMA_DROP:I
-Landroid/telephony/PreciseDisconnectCause;->CDMA_INTERCEPT:I
-Landroid/telephony/PreciseDisconnectCause;->CDMA_LOCKED_UNTIL_POWER_CYCLE:I
-Landroid/telephony/PreciseDisconnectCause;->CDMA_NOT_EMERGENCY:I
-Landroid/telephony/PreciseDisconnectCause;->CDMA_PREEMPTED:I
-Landroid/telephony/PreciseDisconnectCause;->CDMA_REORDER:I
-Landroid/telephony/PreciseDisconnectCause;->CDMA_RETRY_ORDER:I
-Landroid/telephony/PreciseDisconnectCause;->CDMA_SO_REJECT:I
-Landroid/telephony/PreciseDisconnectCause;->CHANNEL_NOT_AVAIL:I
-Landroid/telephony/PreciseDisconnectCause;->CHANNEL_UNACCEPTABLE:I
-Landroid/telephony/PreciseDisconnectCause;->CONDITIONAL_IE_ERROR:I
-Landroid/telephony/PreciseDisconnectCause;->DATA_DISABLED:I
-Landroid/telephony/PreciseDisconnectCause;->DATA_LIMIT_REACHED:I
-Landroid/telephony/PreciseDisconnectCause;->DESTINATION_OUT_OF_ORDER:I
-Landroid/telephony/PreciseDisconnectCause;->ECBM_NOT_SUPPORTED:I
-Landroid/telephony/PreciseDisconnectCause;->EMERGENCY_PERM_FAILURE:I
-Landroid/telephony/PreciseDisconnectCause;->EMERGENCY_TEMP_FAILURE:I
-Landroid/telephony/PreciseDisconnectCause;->EPDG_TUNNEL_ESTABLISH_FAILURE:I
-Landroid/telephony/PreciseDisconnectCause;->EPDG_TUNNEL_LOST_CONNECTION:I
-Landroid/telephony/PreciseDisconnectCause;->EPDG_TUNNEL_REKEY_FAILURE:I
-Landroid/telephony/PreciseDisconnectCause;->ERROR_UNSPECIFIED:I
-Landroid/telephony/PreciseDisconnectCause;->FACILITY_REJECTED:I
-Landroid/telephony/PreciseDisconnectCause;->FDN_BLOCKED:I
-Landroid/telephony/PreciseDisconnectCause;->IMEI_NOT_ACCEPTED:I
-Landroid/telephony/PreciseDisconnectCause;->IMSI_UNKNOWN_IN_VLR:I
-Landroid/telephony/PreciseDisconnectCause;->INCOMING_CALLS_BARRED_WITHIN_CUG:I
-Landroid/telephony/PreciseDisconnectCause;->INCOMPATIBLE_DESTINATION:I
-Landroid/telephony/PreciseDisconnectCause;->INFORMATION_ELEMENT_NON_EXISTENT:I
-Landroid/telephony/PreciseDisconnectCause;->INTERWORKING_UNSPECIFIED:I
-Landroid/telephony/PreciseDisconnectCause;->INVALID_MANDATORY_INFORMATION:I
-Landroid/telephony/PreciseDisconnectCause;->INVALID_NUMBER_FORMAT:I
-Landroid/telephony/PreciseDisconnectCause;->INVALID_TRANSACTION_IDENTIFIER:I
-Landroid/telephony/PreciseDisconnectCause;->IWLAN_DPD_FAILURE:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_CALL_CS_RETRY_REQUIRED:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_CALL_DECLINE:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_CALL_RESOURCE_RESERVATION_FAILED:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_CALL_TERMINATED:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_CALL_VCC_ON_PROGRESSING:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_CALL_VOLTE_RETRY_REQUIRED:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_HO_NOT_FEASIBLE:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_ILLEGAL_ARGUMENT:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_ILLEGAL_STATE:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_IMS_SERVICE_DOWN:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_INTERNAL_ERROR:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_LOW_BATTERY:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_MAX_CALL_EXCEEDED:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_NETWORK_IP_CHANGED:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_NETWORK_NO_LTE_COVERAGE:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_NETWORK_NO_SERVICE:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_NETWORK_ROAMING:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_NOT_REGISTERED:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_NO_PENDING_CALL:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_POWER_OFF:I
-Landroid/telephony/PreciseDisconnectCause;->LOCAL_SERVICE_UNAVAILABLE:I
-Landroid/telephony/PreciseDisconnectCause;->LOW_BATTERY:I
-Landroid/telephony/PreciseDisconnectCause;->MAXIMUM_NUMBER_OF_CALLS_REACHED:I
-Landroid/telephony/PreciseDisconnectCause;->MEDIA_INIT_FAILED:I
-Landroid/telephony/PreciseDisconnectCause;->MEDIA_NOT_ACCEPTABLE:I
-Landroid/telephony/PreciseDisconnectCause;->MEDIA_NO_DATA:I
-Landroid/telephony/PreciseDisconnectCause;->MEDIA_UNSPECIFIED:I
-Landroid/telephony/PreciseDisconnectCause;->MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE:I
-Landroid/telephony/PreciseDisconnectCause;->MESSAGE_TYPE_NON_IMPLEMENTED:I
-Landroid/telephony/PreciseDisconnectCause;->MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE:I
-Landroid/telephony/PreciseDisconnectCause;->MULTIENDPOINT_NOT_SUPPORTED:I
-Landroid/telephony/PreciseDisconnectCause;->NETWORK_DETACH:I
-Landroid/telephony/PreciseDisconnectCause;->NETWORK_OUT_OF_ORDER:I
-Landroid/telephony/PreciseDisconnectCause;->NETWORK_REJECT:I
-Landroid/telephony/PreciseDisconnectCause;->NETWORK_RESP_TIMEOUT:I
-Landroid/telephony/PreciseDisconnectCause;->NORMAL:I
-Landroid/telephony/PreciseDisconnectCause;->NORMAL_UNSPECIFIED:I
-Landroid/telephony/PreciseDisconnectCause;->NOT_VALID:I
-Landroid/telephony/PreciseDisconnectCause;->NO_ANSWER_FROM_USER:I
-Landroid/telephony/PreciseDisconnectCause;->NO_CIRCUIT_AVAIL:I
-Landroid/telephony/PreciseDisconnectCause;->NO_DISCONNECT_CAUSE_AVAILABLE:I
-Landroid/telephony/PreciseDisconnectCause;->NO_ROUTE_TO_DESTINATION:I
-Landroid/telephony/PreciseDisconnectCause;->NO_USER_RESPONDING:I
-Landroid/telephony/PreciseDisconnectCause;->NO_VALID_SIM:I
-Landroid/telephony/PreciseDisconnectCause;->NUMBER_CHANGED:I
-Landroid/telephony/PreciseDisconnectCause;->OEM_CAUSE_10:I
-Landroid/telephony/PreciseDisconnectCause;->OEM_CAUSE_11:I
-Landroid/telephony/PreciseDisconnectCause;->OEM_CAUSE_12:I
-Landroid/telephony/PreciseDisconnectCause;->OEM_CAUSE_13:I
-Landroid/telephony/PreciseDisconnectCause;->OEM_CAUSE_14:I
-Landroid/telephony/PreciseDisconnectCause;->OEM_CAUSE_15:I
-Landroid/telephony/PreciseDisconnectCause;->OEM_CAUSE_1:I
-Landroid/telephony/PreciseDisconnectCause;->OEM_CAUSE_2:I
-Landroid/telephony/PreciseDisconnectCause;->OEM_CAUSE_3:I
-Landroid/telephony/PreciseDisconnectCause;->OEM_CAUSE_4:I
-Landroid/telephony/PreciseDisconnectCause;->OEM_CAUSE_5:I
-Landroid/telephony/PreciseDisconnectCause;->OEM_CAUSE_6:I
-Landroid/telephony/PreciseDisconnectCause;->OEM_CAUSE_7:I
-Landroid/telephony/PreciseDisconnectCause;->OEM_CAUSE_8:I
-Landroid/telephony/PreciseDisconnectCause;->OEM_CAUSE_9:I
-Landroid/telephony/PreciseDisconnectCause;->ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE:I
-Landroid/telephony/PreciseDisconnectCause;->OPERATOR_DETERMINED_BARRING:I
-Landroid/telephony/PreciseDisconnectCause;->OUT_OF_SRV:I
-Landroid/telephony/PreciseDisconnectCause;->PREEMPTION:I
-Landroid/telephony/PreciseDisconnectCause;->PROTOCOL_ERROR_UNSPECIFIED:I
-Landroid/telephony/PreciseDisconnectCause;->QOS_NOT_AVAIL:I
-Landroid/telephony/PreciseDisconnectCause;->RADIO_ACCESS_FAILURE:I
-Landroid/telephony/PreciseDisconnectCause;->RADIO_INTERNAL_ERROR:I
-Landroid/telephony/PreciseDisconnectCause;->RADIO_LINK_FAILURE:I
-Landroid/telephony/PreciseDisconnectCause;->RADIO_LINK_LOST:I
-Landroid/telephony/PreciseDisconnectCause;->RADIO_OFF:I
-Landroid/telephony/PreciseDisconnectCause;->RADIO_RELEASE_ABNORMAL:I
-Landroid/telephony/PreciseDisconnectCause;->RADIO_RELEASE_NORMAL:I
-Landroid/telephony/PreciseDisconnectCause;->RADIO_SETUP_FAILURE:I
-Landroid/telephony/PreciseDisconnectCause;->RADIO_UPLINK_FAILURE:I
-Landroid/telephony/PreciseDisconnectCause;->RECOVERY_ON_TIMER_EXPIRED:I
-Landroid/telephony/PreciseDisconnectCause;->REMOTE_CALL_DECLINE:I
-Landroid/telephony/PreciseDisconnectCause;->REQUESTED_FACILITY_NOT_IMPLEMENTED:I
-Landroid/telephony/PreciseDisconnectCause;->REQUESTED_FACILITY_NOT_SUBSCRIBED:I
-Landroid/telephony/PreciseDisconnectCause;->RESOURCES_UNAVAILABLE_OR_UNSPECIFIED:I
-Landroid/telephony/PreciseDisconnectCause;->SEMANTICALLY_INCORRECT_MESSAGE:I
-Landroid/telephony/PreciseDisconnectCause;->SERVICE_OPTION_NOT_AVAILABLE:I
-Landroid/telephony/PreciseDisconnectCause;->SERVICE_OR_OPTION_NOT_IMPLEMENTED:I
-Landroid/telephony/PreciseDisconnectCause;->SIP_BAD_ADDRESS:I
-Landroid/telephony/PreciseDisconnectCause;->SIP_BAD_REQUEST:I
-Landroid/telephony/PreciseDisconnectCause;->SIP_BUSY:I
-Landroid/telephony/PreciseDisconnectCause;->SIP_CLIENT_ERROR:I
-Landroid/telephony/PreciseDisconnectCause;->SIP_FORBIDDEN:I
-Landroid/telephony/PreciseDisconnectCause;->SIP_GLOBAL_ERROR:I
-Landroid/telephony/PreciseDisconnectCause;->SIP_NOT_ACCEPTABLE:I
-Landroid/telephony/PreciseDisconnectCause;->SIP_NOT_FOUND:I
-Landroid/telephony/PreciseDisconnectCause;->SIP_NOT_REACHABLE:I
-Landroid/telephony/PreciseDisconnectCause;->SIP_NOT_SUPPORTED:I
-Landroid/telephony/PreciseDisconnectCause;->SIP_REDIRECTED:I
-Landroid/telephony/PreciseDisconnectCause;->SIP_REQUEST_CANCELLED:I
-Landroid/telephony/PreciseDisconnectCause;->SIP_REQUEST_TIMEOUT:I
-Landroid/telephony/PreciseDisconnectCause;->SIP_SERVER_ERROR:I
-Landroid/telephony/PreciseDisconnectCause;->SIP_SERVER_INTERNAL_ERROR:I
-Landroid/telephony/PreciseDisconnectCause;->SIP_SERVER_TIMEOUT:I
-Landroid/telephony/PreciseDisconnectCause;->SIP_SERVICE_UNAVAILABLE:I
-Landroid/telephony/PreciseDisconnectCause;->SIP_TEMPRARILY_UNAVAILABLE:I
-Landroid/telephony/PreciseDisconnectCause;->SIP_USER_REJECTED:I
-Landroid/telephony/PreciseDisconnectCause;->STATUS_ENQUIRY:I
-Landroid/telephony/PreciseDisconnectCause;->SUPP_SVC_CANCELLED:I
-Landroid/telephony/PreciseDisconnectCause;->SUPP_SVC_FAILED:I
-Landroid/telephony/PreciseDisconnectCause;->SUPP_SVC_REINVITE_COLLISION:I
-Landroid/telephony/PreciseDisconnectCause;->SWITCHING_CONGESTION:I
-Landroid/telephony/PreciseDisconnectCause;->TEMPORARY_FAILURE:I
-Landroid/telephony/PreciseDisconnectCause;->TIMEOUT_1XX_WAITING:I
-Landroid/telephony/PreciseDisconnectCause;->TIMEOUT_NO_ANSWER:I
-Landroid/telephony/PreciseDisconnectCause;->TIMEOUT_NO_ANSWER_CALL_UPDATE:I
-Landroid/telephony/PreciseDisconnectCause;->UNOBTAINABLE_NUMBER:I
-Landroid/telephony/PreciseDisconnectCause;->USER_DECLINE:I
-Landroid/telephony/PreciseDisconnectCause;->USER_IGNORE:I
-Landroid/telephony/PreciseDisconnectCause;->USER_NOANSWER:I
-Landroid/telephony/PreciseDisconnectCause;->USER_NOT_MEMBER_OF_CUG:I
-Landroid/telephony/PreciseDisconnectCause;->USER_TERMINATED:I
-Landroid/telephony/PreciseDisconnectCause;->USER_TERMINATED_BY_REMOTE:I
-Landroid/telephony/PreciseDisconnectCause;->UT_CB_PASSWORD_MISMATCH:I
-Landroid/telephony/PreciseDisconnectCause;->UT_NETWORK_ERROR:I
-Landroid/telephony/PreciseDisconnectCause;->UT_NOT_SUPPORTED:I
-Landroid/telephony/PreciseDisconnectCause;->UT_OPERATION_NOT_ALLOWED:I
-Landroid/telephony/PreciseDisconnectCause;->UT_SERVICE_UNAVAILABLE:I
-Landroid/telephony/PreciseDisconnectCause;->WIFI_LOST:I
-Landroid/telephony/RadioAccessFamily;
-Landroid/telephony/RadioAccessFamily;->CDMA:I
-Landroid/telephony/RadioAccessFamily;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telephony/RadioAccessFamily;->EVDO:I
-Landroid/telephony/RadioAccessFamily;->getAdjustedRaf(I)I
-Landroid/telephony/RadioAccessFamily;->getHighestRafCapability(I)I
-Landroid/telephony/RadioAccessFamily;->GSM:I
-Landroid/telephony/RadioAccessFamily;->HS:I
-Landroid/telephony/RadioAccessFamily;->LTE:I
-Landroid/telephony/RadioAccessFamily;->mPhoneId:I
-Landroid/telephony/RadioAccessFamily;->mRadioAccessFamily:I
-Landroid/telephony/RadioAccessFamily;->rafTypeFromString(Ljava/lang/String;)I
-Landroid/telephony/RadioAccessFamily;->RAF_1xRTT:I
-Landroid/telephony/RadioAccessFamily;->RAF_EDGE:I
-Landroid/telephony/RadioAccessFamily;->RAF_EHRPD:I
-Landroid/telephony/RadioAccessFamily;->RAF_EVDO_0:I
-Landroid/telephony/RadioAccessFamily;->RAF_EVDO_A:I
-Landroid/telephony/RadioAccessFamily;->RAF_EVDO_B:I
-Landroid/telephony/RadioAccessFamily;->RAF_GPRS:I
-Landroid/telephony/RadioAccessFamily;->RAF_GSM:I
-Landroid/telephony/RadioAccessFamily;->RAF_HSDPA:I
-Landroid/telephony/RadioAccessFamily;->RAF_HSPA:I
-Landroid/telephony/RadioAccessFamily;->RAF_HSPAP:I
-Landroid/telephony/RadioAccessFamily;->RAF_HSUPA:I
-Landroid/telephony/RadioAccessFamily;->RAF_IS95A:I
-Landroid/telephony/RadioAccessFamily;->RAF_IS95B:I
-Landroid/telephony/RadioAccessFamily;->RAF_LTE:I
-Landroid/telephony/RadioAccessFamily;->RAF_LTE_CA:I
-Landroid/telephony/RadioAccessFamily;->RAF_TD_SCDMA:I
-Landroid/telephony/RadioAccessFamily;->RAF_UMTS:I
-Landroid/telephony/RadioAccessFamily;->RAF_UNKNOWN:I
-Landroid/telephony/RadioAccessFamily;->singleRafTypeFromString(Ljava/lang/String;)I
-Landroid/telephony/RadioAccessFamily;->WCDMA:I
-Landroid/telephony/RadioAccessSpecifier;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/RadioAccessSpecifier;->mBands:[I
-Landroid/telephony/RadioAccessSpecifier;->mChannels:[I
-Landroid/telephony/RadioAccessSpecifier;->mRadioAccessNetwork:I
-Landroid/telephony/Rlog;
-Landroid/telephony/Rlog;-><init>()V
-Landroid/telephony/Rlog;->isLoggable(Ljava/lang/String;I)Z
-Landroid/telephony/Rlog;->pii(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
-Landroid/telephony/Rlog;->pii(ZLjava/lang/Object;)Ljava/lang/String;
-Landroid/telephony/Rlog;->println(ILjava/lang/String;Ljava/lang/String;)I
-Landroid/telephony/Rlog;->secureHash([B)Ljava/lang/String;
-Landroid/telephony/Rlog;->USER_BUILD:Z
-Landroid/telephony/Rlog;->v(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
-Landroid/telephony/Rlog;->w(Ljava/lang/String;Ljava/lang/Throwable;)I
-Landroid/telephony/ServiceState$DuplexMode;
-Landroid/telephony/ServiceState$RilRadioTechnology;
-Landroid/telephony/ServiceState;->addNetworkRegistrationState(Landroid/telephony/NetworkRegistrationState;)V
-Landroid/telephony/ServiceState;->convertBearerBitmaskToNetworkTypeBitmask(I)I
-Landroid/telephony/ServiceState;->convertNetworkTypeBitmaskToBearerBitmask(I)I
-Landroid/telephony/ServiceState;->DBG:Z
-Landroid/telephony/ServiceState;->getBitmaskForTech(I)I
-Landroid/telephony/ServiceState;->getBitmaskFromString(Ljava/lang/String;)I
-Landroid/telephony/ServiceState;->getDataOperatorAlphaLong()Ljava/lang/String;
-Landroid/telephony/ServiceState;->getDataRoamingFromRegistration()Z
-Landroid/telephony/ServiceState;->getLteEarfcnRsrpBoost()I
-Landroid/telephony/ServiceState;->getNetworkRegistrationStates()Ljava/util/List;
-Landroid/telephony/ServiceState;->getNetworkRegistrationStates(I)Ljava/util/List;
-Landroid/telephony/ServiceState;->getNetworkRegistrationStates(II)Landroid/telephony/NetworkRegistrationState;
-Landroid/telephony/ServiceState;->getOperatorAlpha()Ljava/lang/String;
-Landroid/telephony/ServiceState;->getRoamingLogString(I)Ljava/lang/String;
-Landroid/telephony/ServiceState;->isLte(I)Z
-Landroid/telephony/ServiceState;->isUsingCarrierAggregation()Z
-Landroid/telephony/ServiceState;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/ServiceState;->mCellBandwidths:[I
-Landroid/telephony/ServiceState;->mChannelNumber:I
-Landroid/telephony/ServiceState;->mDataOperatorAlphaLong:Ljava/lang/String;
-Landroid/telephony/ServiceState;->mDataOperatorAlphaShort:Ljava/lang/String;
-Landroid/telephony/ServiceState;->mDataOperatorNumeric:Ljava/lang/String;
-Landroid/telephony/ServiceState;->mDataRegState:I
-Landroid/telephony/ServiceState;->mDataRoamingType:I
-Landroid/telephony/ServiceState;->mIsDataRoamingFromRegistration:Z
-Landroid/telephony/ServiceState;->mIsEmergencyOnly:Z
-Landroid/telephony/ServiceState;->mLteEarfcnRsrpBoost:I
-Landroid/telephony/ServiceState;->mNetworkRegistrationStates:Ljava/util/List;
-Landroid/telephony/ServiceState;->mRilDataRadioTechnology:I
-Landroid/telephony/ServiceState;->mRilVoiceRadioTechnology:I
-Landroid/telephony/ServiceState;->mVoiceOperatorAlphaLong:Ljava/lang/String;
-Landroid/telephony/ServiceState;->mVoiceOperatorAlphaShort:Ljava/lang/String;
-Landroid/telephony/ServiceState;->mVoiceOperatorNumeric:Ljava/lang/String;
-Landroid/telephony/ServiceState;->mVoiceRegState:I
-Landroid/telephony/ServiceState;->mVoiceRoamingType:I
-Landroid/telephony/ServiceState;->networkTypeToRilRadioTechnology(I)I
-Landroid/telephony/ServiceState;->NEXT_RIL_RADIO_TECHNOLOGY:I
-Landroid/telephony/ServiceState;->rilRadioTechnologyToAccessNetworkType(I)I
-Landroid/telephony/ServiceState;->rilRadioTechnologyToNetworkType(I)I
-Landroid/telephony/ServiceState;->rilServiceStateToString(I)Ljava/lang/String;
-Landroid/telephony/ServiceState;->RIL_RADIO_CDMA_TECHNOLOGY_BITMASK:I
-Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_1xRTT:I
-Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_EDGE:I
-Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_EHRPD:I
-Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_EVDO_0:I
-Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_EVDO_A:I
-Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_EVDO_B:I
-Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_GPRS:I
-Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_GSM:I
-Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_HSDPA:I
-Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_HSPA:I
-Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_HSPAP:I
-Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_HSUPA:I
-Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_IS95A:I
-Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_IS95B:I
-Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_LTE:I
-Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_LTE_CA:I
-Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_TD_SCDMA:I
-Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_UMTS:I
-Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_UNKNOWN:I
-Landroid/telephony/ServiceState;->ROAMING_TYPE_DOMESTIC:I
-Landroid/telephony/ServiceState;->ROAMING_TYPE_INTERNATIONAL:I
-Landroid/telephony/ServiceState;->ROAMING_TYPE_NOT_ROAMING:I
-Landroid/telephony/ServiceState;->ROAMING_TYPE_UNKNOWN:I
-Landroid/telephony/ServiceState;->setDataOperatorAlphaLong(Ljava/lang/String;)V
-Landroid/telephony/ServiceState;->setDataOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telephony/ServiceState;->setIsUsingCarrierAggregation(Z)V
-Landroid/telephony/ServiceState;->setLteEarfcnRsrpBoost(I)V
-Landroid/telephony/ServiceState;->setNullState(I)V
-Landroid/telephony/ServiceState;->setVoiceOperatorAlphaLong(Ljava/lang/String;)V
-Landroid/telephony/ServiceState;->setVoiceOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telephony/ServiceState;->VDBG:Z
-Landroid/telephony/SignalStrength;-><init>(IIIIIIIIIIIII)V
-Landroid/telephony/SignalStrength;-><init>(IIIIIIIIIIIIIII)V
-Landroid/telephony/SignalStrength;-><init>(IIIIIIIIIIIIIIIIZZLjava/lang/String;)V
-Landroid/telephony/SignalStrength;->DBG:Z
-Landroid/telephony/SignalStrength;->fixType()V
-Landroid/telephony/SignalStrength;->getCdmaRelatedSignalStrength()I
-Landroid/telephony/SignalStrength;->getDefaultLteRsrpThresholds()[I
-Landroid/telephony/SignalStrength;->getDefaultWcdmaRscpThresholds()[I
-Landroid/telephony/SignalStrength;->getGsmRelatedSignalStrength()I
-Landroid/telephony/SignalStrength;->getLteRsrpBoost()I
-Landroid/telephony/SignalStrength;->getWcdmaAsuLevel()I
-Landroid/telephony/SignalStrength;->getWcdmaDbm()I
-Landroid/telephony/SignalStrength;->getWcdmaLevel()I
-Landroid/telephony/SignalStrength;->getWcdmaRscp()I
-Landroid/telephony/SignalStrength;->INVALID:I
-Landroid/telephony/SignalStrength;->log(Ljava/lang/String;)V
-Landroid/telephony/SignalStrength;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/SignalStrength;->LTE_RSRP_THRESHOLDS_NUM:I
-Landroid/telephony/SignalStrength;->MAX_LTE_RSRP:I
-Landroid/telephony/SignalStrength;->MAX_WCDMA_RSCP:I
-Landroid/telephony/SignalStrength;->MEASUMENT_TYPE_RSCP:Ljava/lang/String;
-Landroid/telephony/SignalStrength;->MIN_LTE_RSRP:I
-Landroid/telephony/SignalStrength;->MIN_WCDMA_RSCP:I
-Landroid/telephony/SignalStrength;->mIsGsm:Z
-Landroid/telephony/SignalStrength;->mLteRsrpThresholds:[I
-Landroid/telephony/SignalStrength;->mUseOnlyRsrpForLteLevel:Z
-Landroid/telephony/SignalStrength;->mWcdmaDefaultSignalMeasurement:Ljava/lang/String;
-Landroid/telephony/SignalStrength;->mWcdmaRscpAsu:I
-Landroid/telephony/SignalStrength;->mWcdmaRscpThresholds:[I
-Landroid/telephony/SignalStrength;->mWcdmaSignalStrength:I
-Landroid/telephony/SignalStrength;->setGsm(Z)V
-Landroid/telephony/SignalStrength;->setLteRsrpBoost(I)V
-Landroid/telephony/SignalStrength;->setLteRsrpThresholds([I)V
-Landroid/telephony/SignalStrength;->setUseOnlyRsrpForLteLevel(Z)V
-Landroid/telephony/SignalStrength;->setWcdmaDefaultSignalMeasurement(Ljava/lang/String;)V
-Landroid/telephony/SignalStrength;->setWcdmaRscpThresholds([I)V
-Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_NAMES:[Ljava/lang/String;
-Landroid/telephony/SignalStrength;->useOnlyRsrpForLteLevel()Z
-Landroid/telephony/SignalStrength;->WCDMA_RSCP_THRESHOLDS_NUM:I
-Landroid/telephony/SmsCbCmasInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/SmsCbCmasInfo;->mCategory:I
-Landroid/telephony/SmsCbCmasInfo;->mCertainty:I
-Landroid/telephony/SmsCbCmasInfo;->mMessageClass:I
-Landroid/telephony/SmsCbCmasInfo;->mResponseType:I
-Landroid/telephony/SmsCbCmasInfo;->mSeverity:I
-Landroid/telephony/SmsCbCmasInfo;->mUrgency:I
-Landroid/telephony/SmsCbEtwsInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/SmsCbEtwsInfo;->mActivatePopup:Z
-Landroid/telephony/SmsCbEtwsInfo;->mEmergencyUserAlert:Z
-Landroid/telephony/SmsCbEtwsInfo;->mPrimary:Z
-Landroid/telephony/SmsCbEtwsInfo;->mWarningSecurityInformation:[B
-Landroid/telephony/SmsCbEtwsInfo;->mWarningType:I
-Landroid/telephony/SmsCbLocation;->mCid:I
-Landroid/telephony/SmsCbLocation;->mLac:I
-Landroid/telephony/SmsCbLocation;->mPlmn:Ljava/lang/String;
-Landroid/telephony/SmsCbMessage;->mBody:Ljava/lang/String;
-Landroid/telephony/SmsCbMessage;->mCmasWarningInfo:Landroid/telephony/SmsCbCmasInfo;
-Landroid/telephony/SmsCbMessage;->mEtwsWarningInfo:Landroid/telephony/SmsCbEtwsInfo;
-Landroid/telephony/SmsCbMessage;->mGeographicalScope:I
-Landroid/telephony/SmsCbMessage;->mLanguage:Ljava/lang/String;
-Landroid/telephony/SmsCbMessage;->mLocation:Landroid/telephony/SmsCbLocation;
-Landroid/telephony/SmsCbMessage;->mMessageFormat:I
-Landroid/telephony/SmsCbMessage;->mPriority:I
-Landroid/telephony/SmsCbMessage;->mSerialNumber:I
-Landroid/telephony/SmsCbMessage;->mServiceCategory:I
-Landroid/telephony/SmsManager;-><init>(I)V
-Landroid/telephony/SmsManager;->addMultimediaMessageDraft(Landroid/net/Uri;)Landroid/net/Uri;
-Landroid/telephony/SmsManager;->addTextMessageDraft(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
-Landroid/telephony/SmsManager;->archiveStoredConversation(JZ)Z
-Landroid/telephony/SmsManager;->CDMA_SMS_RECORD_LENGTH:I
-Landroid/telephony/SmsManager;->CELL_BROADCAST_RAN_TYPE_CDMA:I
-Landroid/telephony/SmsManager;->CELL_BROADCAST_RAN_TYPE_GSM:I
-Landroid/telephony/SmsManager;->createMessageListFromRawRecords(Ljava/util/List;)Ljava/util/ArrayList;
-Landroid/telephony/SmsManager;->DEFAULT_SUBSCRIPTION_ID:I
-Landroid/telephony/SmsManager;->deleteStoredConversation(J)Z
-Landroid/telephony/SmsManager;->deleteStoredMessage(Landroid/net/Uri;)Z
-Landroid/telephony/SmsManager;->DIALOG_TYPE_KEY:Ljava/lang/String;
-Landroid/telephony/SmsManager;->disableCellBroadcast(II)Z
-Landroid/telephony/SmsManager;->enableCellBroadcast(II)Z
-Landroid/telephony/SmsManager;->getAutoPersisting()Z
-Landroid/telephony/SmsManager;->getImsSmsFormat()Ljava/lang/String;
-Landroid/telephony/SmsManager;->getISmsService()Lcom/android/internal/telephony/ISms;
-Landroid/telephony/SmsManager;->getISmsServiceOrThrow()Lcom/android/internal/telephony/ISms;
-Landroid/telephony/SmsManager;->getMmsConfig(Landroid/os/BaseBundle;)Landroid/os/Bundle;
-Landroid/telephony/SmsManager;->importMultimediaMessage(Landroid/net/Uri;Ljava/lang/String;JZZ)Landroid/net/Uri;
-Landroid/telephony/SmsManager;->importTextMessage(Ljava/lang/String;ILjava/lang/String;JZZ)Landroid/net/Uri;
-Landroid/telephony/SmsManager;->isImsSmsSupported()Z
-Landroid/telephony/SmsManager;->MESSAGE_STATUS_READ:Ljava/lang/String;
-Landroid/telephony/SmsManager;->MESSAGE_STATUS_SEEN:Ljava/lang/String;
-Landroid/telephony/SmsManager;->MMS_CONFIG_CLOSE_CONNECTION:Ljava/lang/String;
-Landroid/telephony/SmsManager;->PHONE_PACKAGE_NAME:Ljava/lang/String;
-Landroid/telephony/SmsManager;->sendDataMessageWithSelfPermissions(Ljava/lang/String;Ljava/lang/String;S[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V
-Landroid/telephony/SmsManager;->sendMultipartTextMessageInternal(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;Z)V
-Landroid/telephony/SmsManager;->sendMultipartTextMessageInternal(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZIZI)V
-Landroid/telephony/SmsManager;->sendMultipartTextMessageWithoutPersisting(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;IZI)V
-Landroid/telephony/SmsManager;->sendStoredMultimediaMessage(Landroid/net/Uri;Landroid/os/Bundle;Landroid/app/PendingIntent;)V
-Landroid/telephony/SmsManager;->sendStoredMultipartTextMessage(Landroid/net/Uri;Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;)V
-Landroid/telephony/SmsManager;->sendStoredTextMessage(Landroid/net/Uri;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;)V
-Landroid/telephony/SmsManager;->sendTextMessageInternal(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
-Landroid/telephony/SmsManager;->sendTextMessageInternal(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;ZIZI)V
-Landroid/telephony/SmsManager;->sendTextMessageWithSelfPermissions(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
-Landroid/telephony/SmsManager;->setAutoPersisting(Z)V
-Landroid/telephony/SmsManager;->sInstance:Landroid/telephony/SmsManager;
-Landroid/telephony/SmsManager;->sLockObject:Ljava/lang/Object;
-Landroid/telephony/SmsManager;->SMS_PICK:I
-Landroid/telephony/SmsManager;->SMS_RECORD_LENGTH:I
-Landroid/telephony/SmsManager;->SMS_TYPE_INCOMING:I
-Landroid/telephony/SmsManager;->SMS_TYPE_OUTGOING:I
-Landroid/telephony/SmsManager;->sSubInstances:Ljava/util/Map;
-Landroid/telephony/SmsManager;->TAG:Ljava/lang/String;
-Landroid/telephony/SmsManager;->updateStoredMessageStatus(Landroid/net/Uri;Landroid/content/ContentValues;)Z
-Landroid/telephony/SmsMessage$Format;
-Landroid/telephony/SmsMessage$MessageClass;-><init>()V
-Landroid/telephony/SmsMessage$NoEmsSupportConfig;
-Landroid/telephony/SmsMessage$NoEmsSupportConfig;-><init>([Ljava/lang/String;)V
-Landroid/telephony/SmsMessage$NoEmsSupportConfig;->mGid1:Ljava/lang/String;
-Landroid/telephony/SmsMessage$NoEmsSupportConfig;->mIsPrefix:Z
-Landroid/telephony/SmsMessage$NoEmsSupportConfig;->mOperatorNumber:Ljava/lang/String;
-Landroid/telephony/SmsMessage$SubmitPdu;-><init>(Lcom/android/internal/telephony/SmsMessageBase$SubmitPduBase;)V
-Landroid/telephony/SmsMessage;-><init>(Lcom/android/internal/telephony/SmsMessageBase;)V
-Landroid/telephony/SmsMessage;->createFromEfRecord(I[B)Landroid/telephony/SmsMessage;
-Landroid/telephony/SmsMessage;->createFromEfRecord(I[BI)Landroid/telephony/SmsMessage;
-Landroid/telephony/SmsMessage;->ENCODING_KSC5601:I
-Landroid/telephony/SmsMessage;->getSubmitPdu(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZI)Landroid/telephony/SmsMessage$SubmitPdu;
-Landroid/telephony/SmsMessage;->hasEmsSupport()Z
-Landroid/telephony/SmsMessage;->isCdmaVoice()Z
-Landroid/telephony/SmsMessage;->isCdmaVoice(I)Z
-Landroid/telephony/SmsMessage;->isNoEmsSupportConfigListExisted()Z
-Landroid/telephony/SmsMessage;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/SmsMessage;->mIsNoEmsSupportConfigListLoaded:Z
-Landroid/telephony/SmsMessage;->mNoEmsSupportConfigList:[Landroid/telephony/SmsMessage$NoEmsSupportConfig;
-Landroid/telephony/SmsMessage;->newFromCMT([B)Landroid/telephony/SmsMessage;
-Landroid/telephony/SmsMessage;->shouldAppendPageNumberAsPrefix()Z
-Landroid/telephony/SubscriptionInfo;-><init>(ILjava/lang/String;ILjava/lang/CharSequence;Ljava/lang/CharSequence;IILjava/lang/String;ILandroid/graphics/Bitmap;IILjava/lang/String;)V
-Landroid/telephony/SubscriptionInfo;-><init>(ILjava/lang/String;ILjava/lang/CharSequence;Ljava/lang/CharSequence;IILjava/lang/String;ILandroid/graphics/Bitmap;IILjava/lang/String;Z[Landroid/telephony/UiccAccessRule;)V
-Landroid/telephony/SubscriptionInfo;-><init>(ILjava/lang/String;ILjava/lang/CharSequence;Ljava/lang/CharSequence;IILjava/lang/String;ILandroid/graphics/Bitmap;IILjava/lang/String;Z[Landroid/telephony/UiccAccessRule;Ljava/lang/String;)V
-Landroid/telephony/SubscriptionInfo;->canManageSubscription(Landroid/content/Context;)Z
-Landroid/telephony/SubscriptionInfo;->canManageSubscription(Landroid/content/Context;Ljava/lang/String;)Z
-Landroid/telephony/SubscriptionInfo;->getCardId()Ljava/lang/String;
-Landroid/telephony/SubscriptionInfo;->givePrintableIccid(Ljava/lang/String;)Ljava/lang/String;
-Landroid/telephony/SubscriptionInfo;->mAccessRules:[Landroid/telephony/UiccAccessRule;
-Landroid/telephony/SubscriptionInfo;->mCardId:Ljava/lang/String;
-Landroid/telephony/SubscriptionInfo;->mCarrierName:Ljava/lang/CharSequence;
-Landroid/telephony/SubscriptionInfo;->mCountryIso:Ljava/lang/String;
-Landroid/telephony/SubscriptionInfo;->mDataRoaming:I
-Landroid/telephony/SubscriptionInfo;->mDisplayName:Ljava/lang/CharSequence;
-Landroid/telephony/SubscriptionInfo;->mIccId:Ljava/lang/String;
-Landroid/telephony/SubscriptionInfo;->mIconBitmap:Landroid/graphics/Bitmap;
-Landroid/telephony/SubscriptionInfo;->mIconTint:I
-Landroid/telephony/SubscriptionInfo;->mId:I
-Landroid/telephony/SubscriptionInfo;->mIsEmbedded:Z
-Landroid/telephony/SubscriptionInfo;->mMcc:I
-Landroid/telephony/SubscriptionInfo;->mMnc:I
-Landroid/telephony/SubscriptionInfo;->mNameSource:I
-Landroid/telephony/SubscriptionInfo;->mNumber:Ljava/lang/String;
-Landroid/telephony/SubscriptionInfo;->mSimSlotIndex:I
-Landroid/telephony/SubscriptionInfo;->setCarrierName(Ljava/lang/CharSequence;)V
-Landroid/telephony/SubscriptionInfo;->TEXT_SIZE:I
-Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener$OnSubscriptionsChangedListenerHandler;
-Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener$OnSubscriptionsChangedListenerHandler;-><init>()V
-Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener$OnSubscriptionsChangedListenerHandler;-><init>(Landroid/os/Looper;)V
-Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;-><init>(Landroid/os/Looper;)V
-Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;->callback:Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;
-Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;->log(Ljava/lang/String;)V
-Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;->mHandler:Landroid/os/Handler;
-Landroid/telephony/SubscriptionManager;->ACCESS_RULES:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->ACTION_SUBSCRIPTION_PLANS_CHANGED:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->addSubscriptionInfoRecord(Ljava/lang/String;I)Landroid/net/Uri;
-Landroid/telephony/SubscriptionManager;->allDefaultsSelected()Z
-Landroid/telephony/SubscriptionManager;->canManageSubscription(Landroid/telephony/SubscriptionInfo;Ljava/lang/String;)Z
-Landroid/telephony/SubscriptionManager;->CARD_ID:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->CARRIER_NAME:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->CB_ALERT_REMINDER_INTERVAL:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->CB_ALERT_SOUND_DURATION:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->CB_ALERT_SPEECH:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->CB_ALERT_VIBRATE:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->CB_AMBER_ALERT:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->CB_CHANNEL_50_ALERT:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->CB_CMAS_TEST_ALERT:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->CB_EMERGENCY_ALERT:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->CB_ETWS_TEST_ALERT:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->CB_EXTREME_THREAT_ALERT:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->CB_OPT_OUT_DIALOG:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->CB_SEVERE_THREAT_ALERT:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->clearSubscriptionInfo()V
-Landroid/telephony/SubscriptionManager;->COLOR:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->COLOR_1:I
-Landroid/telephony/SubscriptionManager;->COLOR_2:I
-Landroid/telephony/SubscriptionManager;->COLOR_3:I
-Landroid/telephony/SubscriptionManager;->COLOR_4:I
-Landroid/telephony/SubscriptionManager;->COLOR_DEFAULT:I
-Landroid/telephony/SubscriptionManager;->createManageSubscriptionIntent(I)Landroid/content/Intent;
-Landroid/telephony/SubscriptionManager;->createRefreshSubscriptionIntent(I)Landroid/content/Intent;
-Landroid/telephony/SubscriptionManager;->DATA_ROAMING:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->DATA_ROAMING_DEFAULT:I
-Landroid/telephony/SubscriptionManager;->DBG:Z
-Landroid/telephony/SubscriptionManager;->DEFAULT_NAME_RES:I
-Landroid/telephony/SubscriptionManager;->DEFAULT_PHONE_INDEX:I
-Landroid/telephony/SubscriptionManager;->DEFAULT_SIM_SLOT_INDEX:I
-Landroid/telephony/SubscriptionManager;->DISPLAY_NAME:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->DISPLAY_NUMBER_DEFAULT:I
-Landroid/telephony/SubscriptionManager;->DISPLAY_NUMBER_FIRST:I
-Landroid/telephony/SubscriptionManager;->DISPLAY_NUMBER_FORMAT:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->DISPLAY_NUMBER_LAST:I
-Landroid/telephony/SubscriptionManager;->DISPLAY_NUMBER_NONE:I
-Landroid/telephony/SubscriptionManager;->DUMMY_SUBSCRIPTION_ID_BASE:I
-Landroid/telephony/SubscriptionManager;->ENHANCED_4G_MODE_ENABLED:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->getActiveSubscriptionInfoForIccIndex(Ljava/lang/String;)Landroid/telephony/SubscriptionInfo;
-Landroid/telephony/SubscriptionManager;->getBooleanSubscriptionProperty(ILjava/lang/String;ZLandroid/content/Context;)Z
-Landroid/telephony/SubscriptionManager;->getDefaultSmsSubscriptionInfo()Landroid/telephony/SubscriptionInfo;
-Landroid/telephony/SubscriptionManager;->getIntegerSubscriptionProperty(ILjava/lang/String;ILandroid/content/Context;)I
-Landroid/telephony/SubscriptionManager;->getNetworkPolicy()Landroid/net/INetworkPolicyManager;
-Landroid/telephony/SubscriptionManager;->getSimStateForSlotIndex(I)I
-Landroid/telephony/SubscriptionManager;->getSubscriptionPlansOwner(I)Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->getSubscriptionProperty(ILjava/lang/String;Landroid/content/Context;)Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->ICC_ID:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->INVALID_PHONE_INDEX:I
-Landroid/telephony/SubscriptionManager;->INVALID_SIM_SLOT_INDEX:I
-Landroid/telephony/SubscriptionManager;->isSubscriptionPlansRefreshSupported(I)Z
-Landroid/telephony/SubscriptionManager;->IS_EMBEDDED:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->IS_REMOVABLE:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->logd(Ljava/lang/String;)V
-Landroid/telephony/SubscriptionManager;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->MAX_SUBSCRIPTION_ID_VALUE:I
-Landroid/telephony/SubscriptionManager;->MCC:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->mContext:Landroid/content/Context;
-Landroid/telephony/SubscriptionManager;->MIN_SUBSCRIPTION_ID_VALUE:I
-Landroid/telephony/SubscriptionManager;->MNC:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->mNetworkPolicy:Landroid/net/INetworkPolicyManager;
-Landroid/telephony/SubscriptionManager;->NAME_SOURCE:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->NAME_SOURCE_DEFAULT_SOURCE:I
-Landroid/telephony/SubscriptionManager;->NAME_SOURCE_SIM_SOURCE:I
-Landroid/telephony/SubscriptionManager;->NAME_SOURCE_UNDEFINDED:I
-Landroid/telephony/SubscriptionManager;->NUMBER:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->requestSubscriptionPlansRefresh(I)V
-Landroid/telephony/SubscriptionManager;->setDefaultVoiceSubId(I)V
-Landroid/telephony/SubscriptionManager;->setDisplayName(Ljava/lang/String;I)I
-Landroid/telephony/SubscriptionManager;->setSubscriptionProperty(ILjava/lang/String;Ljava/lang/String;)V
-Landroid/telephony/SubscriptionManager;->SIM_NOT_INSERTED:I
-Landroid/telephony/SubscriptionManager;->SIM_PROVISIONED:I
-Landroid/telephony/SubscriptionManager;->SIM_PROVISIONING_STATUS:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->SIM_SLOT_INDEX:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->SUB_DEFAULT_CHANGED_ACTION:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->UNIQUE_KEY_SUBSCRIPTION_ID:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->VDBG:Z
-Landroid/telephony/SubscriptionManager;->VT_IMS_ENABLED:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->WFC_IMS_ENABLED:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->WFC_IMS_MODE:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->WFC_IMS_ROAMING_ENABLED:Ljava/lang/String;
-Landroid/telephony/SubscriptionManager;->WFC_IMS_ROAMING_MODE:Ljava/lang/String;
-Landroid/telephony/SubscriptionPlan$Builder;-><init>(Ljava/time/ZonedDateTime;Ljava/time/ZonedDateTime;Ljava/time/Period;)V
-Landroid/telephony/SubscriptionPlan$Builder;->plan:Landroid/telephony/SubscriptionPlan;
-Landroid/telephony/SubscriptionPlan$LimitBehavior;
-Landroid/telephony/SubscriptionPlan;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/SubscriptionPlan;-><init>(Landroid/util/RecurrenceRule;)V
-Landroid/telephony/SubscriptionPlan;->cycleRule:Landroid/util/RecurrenceRule;
-Landroid/telephony/SubscriptionPlan;->dataLimitBehavior:I
-Landroid/telephony/SubscriptionPlan;->dataLimitBytes:J
-Landroid/telephony/SubscriptionPlan;->dataUsageBytes:J
-Landroid/telephony/SubscriptionPlan;->dataUsageTime:J
-Landroid/telephony/SubscriptionPlan;->getCycleRule()Landroid/util/RecurrenceRule;
-Landroid/telephony/SubscriptionPlan;->summary:Ljava/lang/CharSequence;
-Landroid/telephony/SubscriptionPlan;->title:Ljava/lang/CharSequence;
-Landroid/telephony/TelephonyHistogram;->ABSENT:I
-Landroid/telephony/TelephonyHistogram;->addToBucketCounter([I[II)V
-Landroid/telephony/TelephonyHistogram;->calculateBucketEndPoints([I)V
-Landroid/telephony/TelephonyHistogram;->getDeepCopyOfArray([I)[I
-Landroid/telephony/TelephonyHistogram;->getInitialTimings()[I
-Landroid/telephony/TelephonyHistogram;->mAverageTimeMs:I
-Landroid/telephony/TelephonyHistogram;->mBucketCount:I
-Landroid/telephony/TelephonyHistogram;->mBucketCounters:[I
-Landroid/telephony/TelephonyHistogram;->mBucketEndPoints:[I
-Landroid/telephony/TelephonyHistogram;->mCategory:I
-Landroid/telephony/TelephonyHistogram;->mId:I
-Landroid/telephony/TelephonyHistogram;->mInitialTimings:[I
-Landroid/telephony/TelephonyHistogram;->mMaxTimeMs:I
-Landroid/telephony/TelephonyHistogram;->mMinTimeMs:I
-Landroid/telephony/TelephonyHistogram;->mSampleCount:I
-Landroid/telephony/TelephonyHistogram;->PRESENT:I
-Landroid/telephony/TelephonyHistogram;->RANGE_CALCULATION_COUNT:I
-Landroid/telephony/TelephonyManager$IndicationFilters;
-Landroid/telephony/TelephonyManager$IndicationUpdateMode;
-Landroid/telephony/TelephonyManager$MultiSimVariants;
-Landroid/telephony/TelephonyManager$MultiSimVariants;-><init>()V
-Landroid/telephony/TelephonyManager$MultiSimVariants;->valueOf(Ljava/lang/String;)Landroid/telephony/TelephonyManager$MultiSimVariants;
-Landroid/telephony/TelephonyManager$SimActivationState;
-Landroid/telephony/TelephonyManager$WifiCallingChoices;
-Landroid/telephony/TelephonyManager$WifiCallingChoices;->ALWAYS_USE:I
-Landroid/telephony/TelephonyManager$WifiCallingChoices;->ASK_EVERY_TIME:I
-Landroid/telephony/TelephonyManager$WifiCallingChoices;->NEVER_USE:I
-Landroid/telephony/TelephonyManager;->ACTION_DATA_STALL_DETECTED:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->ACTION_EMERGENCY_ASSISTANCE:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->ACTION_PRECISE_CALL_STATE_CHANGED:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->CARD_POWER_DOWN:I
-Landroid/telephony/TelephonyManager;->CARD_POWER_UP:I
-Landroid/telephony/TelephonyManager;->CARD_POWER_UP_PASS_THROUGH:I
-Landroid/telephony/TelephonyManager;->carrierActionReportDefaultNetworkStatus(IZ)V
-Landroid/telephony/TelephonyManager;->carrierActionSetMeteredApnsEnabled(IZ)V
-Landroid/telephony/TelephonyManager;->carrierActionSetRadioEnabled(IZ)V
-Landroid/telephony/TelephonyManager;->DATA_UNKNOWN:I
-Landroid/telephony/TelephonyManager;->disableIms(I)V
-Landroid/telephony/TelephonyManager;->disableLocationUpdates()V
-Landroid/telephony/TelephonyManager;->disableLocationUpdates(I)V
-Landroid/telephony/TelephonyManager;->disableVisualVoicemailSmsFilter(I)V
-Landroid/telephony/TelephonyManager;->EMERGENCY_ASSISTANCE_ENABLED:Z
-Landroid/telephony/TelephonyManager;->enableIms(I)V
-Landroid/telephony/TelephonyManager;->enableLocationUpdates()V
-Landroid/telephony/TelephonyManager;->enableLocationUpdates(I)V
-Landroid/telephony/TelephonyManager;->enableVisualVoicemailSmsFilter(ILandroid/telephony/VisualVoicemailSmsFilterSettings;)V
-Landroid/telephony/TelephonyManager;->EVENT_CALL_FORWARDED:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EVENT_DOWNGRADE_DATA_DISABLED:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EVENT_DOWNGRADE_DATA_LIMIT_REACHED:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EVENT_HANDOVER_TO_WIFI_FAILED:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EVENT_HANDOVER_VIDEO_FROM_LTE_TO_WIFI:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EVENT_HANDOVER_VIDEO_FROM_WIFI_TO_LTE:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EVENT_NOTIFY_INTERNATIONAL_CALL_ON_WFC:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EVENT_SUPPLEMENTARY_SERVICE_NOTIFICATION:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EXTRA_BACKGROUND_CALL_STATE:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EXTRA_DATA_APN:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EXTRA_DATA_APN_TYPE:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EXTRA_DATA_CHANGE_REASON:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EXTRA_DATA_FAILURE_CAUSE:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EXTRA_DATA_LINK_PROPERTIES_KEY:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EXTRA_DATA_NETWORK_TYPE:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EXTRA_DATA_STATE:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EXTRA_DISCONNECT_CAUSE:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EXTRA_FOREGROUND_CALL_STATE:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EXTRA_NOTIFICATION_CODE:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EXTRA_NOTIFICATION_MESSAGE:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EXTRA_NOTIFICATION_TYPE:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EXTRA_PRECISE_DISCONNECT_CAUSE:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EXTRA_RECOVERY_ACTION:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->EXTRA_RINGING_CALL_STATE:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->factoryReset(I)V
-Landroid/telephony/TelephonyManager;->getActiveVisualVoicemailSmsFilterSettings(I)Landroid/telephony/VisualVoicemailSmsFilterSettings;
-Landroid/telephony/TelephonyManager;->getAidForAppType(I)Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->getAidForAppType(II)Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->getBasebandVersion()Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->getBasebandVersionForPhone(I)Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->getBasebandVersionLegacy(I)Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->getCallStateForSlot(I)I
-Landroid/telephony/TelephonyManager;->getCarrierInfoForImsiEncryption(I)Landroid/telephony/ImsiEncryptionInfo;
-Landroid/telephony/TelephonyManager;->getCdmaEriIconIndex()I
-Landroid/telephony/TelephonyManager;->getCdmaEriIconMode()I
-Landroid/telephony/TelephonyManager;->getCdmaEriText()Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->getCdmaPrlVersion(I)Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->getCellNetworkScanResults(I)Lcom/android/internal/telephony/CellNetworkScanResult;
-Landroid/telephony/TelephonyManager;->getClientRequestStats(I)Ljava/util/List;
-Landroid/telephony/TelephonyManager;->getCurrentPhoneTypeForSlot(I)I
-Landroid/telephony/TelephonyManager;->getDataActivationState(I)I
-Landroid/telephony/TelephonyManager;->getEmergencyCallbackMode(I)Z
-Landroid/telephony/TelephonyManager;->getEsn()Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->getEsn(I)Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->getForbiddenPlmns(II)[Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->getImsMmTelFeatureAndListen(ILcom/android/ims/internal/IImsServiceFeatureCallback;)Landroid/telephony/ims/aidl/IImsMmTelFeature;
-Landroid/telephony/TelephonyManager;->getImsRcsFeatureAndListen(ILcom/android/ims/internal/IImsServiceFeatureCallback;)Landroid/telephony/ims/aidl/IImsRcsFeature;
-Landroid/telephony/TelephonyManager;->getImsRegTechnologyForMmTel()I
-Landroid/telephony/TelephonyManager;->getIsimIst()Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->getLine1AlphaTag()Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->getLocaleFromDefaultSim()Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->getNaiBySubscriberId(I)Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->getOpPackageName()Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->getOtaSpNumberSchema(Ljava/lang/String;)Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->getPackagesWithCarrierPrivileges()Ljava/util/List;
-Landroid/telephony/TelephonyManager;->getPcscfAddress(Ljava/lang/String;)[Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->getPhoneId()I
-Landroid/telephony/TelephonyManager;->getPhoneTypeFromNetworkType()I
-Landroid/telephony/TelephonyManager;->getPhoneTypeFromNetworkType(I)I
-Landroid/telephony/TelephonyManager;->getPhoneTypeFromProperty()I
-Landroid/telephony/TelephonyManager;->getSimStateIncludingLoaded()I
-Landroid/telephony/TelephonyManager;->getSmsReceiveCapable(Z)Z
-Landroid/telephony/TelephonyManager;->getSmsReceiveCapableForPhone(IZ)Z
-Landroid/telephony/TelephonyManager;->getSmsSendCapable(Z)Z
-Landroid/telephony/TelephonyManager;->getSmsSendCapableForPhone(IZ)Z
-Landroid/telephony/TelephonyManager;->getSubId()I
-Landroid/telephony/TelephonyManager;->getSubIdForPhoneAccountHandle(Landroid/telecom/PhoneAccountHandle;)I
-Landroid/telephony/TelephonyManager;->getTelecomService()Lcom/android/internal/telecom/ITelecomService;
-Landroid/telephony/TelephonyManager;->getTelephonyRegistry()Lcom/android/internal/telephony/ITelephonyRegistry;
-Landroid/telephony/TelephonyManager;->getTetherApnRequired()I
-Landroid/telephony/TelephonyManager;->getVisualVoicemailSmsFilterSettings(I)Landroid/telephony/VisualVoicemailSmsFilterSettings;
-Landroid/telephony/TelephonyManager;->getVoiceActivationState(I)I
-Landroid/telephony/TelephonyManager;->getVtDataUsage(I)Landroid/net/NetworkStats;
-Landroid/telephony/TelephonyManager;->hasCarrierPrivileges(I)Z
-Landroid/telephony/TelephonyManager;->iccCloseLogicalChannel(II)Z
-Landroid/telephony/TelephonyManager;->iccExchangeSimIO(IIIIIILjava/lang/String;)[B
-Landroid/telephony/TelephonyManager;->iccOpenLogicalChannel(ILjava/lang/String;I)Landroid/telephony/IccOpenLogicalChannelResponse;
-Landroid/telephony/TelephonyManager;->iccTransmitApduBasicChannel(IIIIIILjava/lang/String;)Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->iccTransmitApduLogicalChannel(IIIIIIILjava/lang/String;)Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->INDICATION_FILTER_DATA_CALL_DORMANCY_CHANGED:I
-Landroid/telephony/TelephonyManager;->INDICATION_FILTER_FULL_NETWORK_STATE:I
-Landroid/telephony/TelephonyManager;->INDICATION_FILTER_LINK_CAPACITY_ESTIMATE:I
-Landroid/telephony/TelephonyManager;->INDICATION_FILTER_PHYSICAL_CHANNEL_CONFIG:I
-Landroid/telephony/TelephonyManager;->INDICATION_FILTER_SIGNAL_STRENGTH:I
-Landroid/telephony/TelephonyManager;->INDICATION_UPDATE_MODE_IGNORE_SCREEN_OFF:I
-Landroid/telephony/TelephonyManager;->INDICATION_UPDATE_MODE_NORMAL:I
-Landroid/telephony/TelephonyManager;->invokeOemRilRequestRaw([B[B)I
-Landroid/telephony/TelephonyManager;->isDataCapable()Z
-Landroid/telephony/TelephonyManager;->isImsiEncryptionRequired(II)Z
-Landroid/telephony/TelephonyManager;->isImsRegistered(I)Z
-Landroid/telephony/TelephonyManager;->isKeyEnabled(II)Z
-Landroid/telephony/TelephonyManager;->isResolvingImsBinding()Z
-Landroid/telephony/TelephonyManager;->isSystemProcess()Z
-Landroid/telephony/TelephonyManager;->KEY_TYPE_EPDG:I
-Landroid/telephony/TelephonyManager;->KEY_TYPE_WLAN:I
-Landroid/telephony/TelephonyManager;->MAX_NETWORK_TYPE:I
-Landroid/telephony/TelephonyManager;->mContext:Landroid/content/Context;
-Landroid/telephony/TelephonyManager;->MODEM_ACTIVITY_RESULT_KEY:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->mSubId:I
-Landroid/telephony/TelephonyManager;->mTelephonyScanManager:Landroid/telephony/TelephonyScanManager;
-Landroid/telephony/TelephonyManager;->multiSimConfig:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->NETWORK_CLASS_UNKNOWN:I
-Landroid/telephony/TelephonyManager;->nvWriteCdmaPrl([B)Z
-Landroid/telephony/TelephonyManager;->nvWriteItem(ILjava/lang/String;)Z
-Landroid/telephony/TelephonyManager;->OTASP_NEEDED:I
-Landroid/telephony/TelephonyManager;->OTASP_NOT_NEEDED:I
-Landroid/telephony/TelephonyManager;->OTASP_SIM_UNPROVISIONED:I
-Landroid/telephony/TelephonyManager;->OTASP_UNINITIALIZED:I
-Landroid/telephony/TelephonyManager;->OTASP_UNKNOWN:I
-Landroid/telephony/TelephonyManager;->PHONE_PROCESS_NAME:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->requestModemActivityInfo(Landroid/os/ResultReceiver;)V
-Landroid/telephony/TelephonyManager;->resetCarrierKeysForImsiEncryption()V
-Landroid/telephony/TelephonyManager;->sendEnvelopeWithStatus(ILjava/lang/String;)Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->sendVisualVoicemailSmsForSubscriber(ILjava/lang/String;ILjava/lang/String;Landroid/app/PendingIntent;)V
-Landroid/telephony/TelephonyManager;->setBasebandVersion(Ljava/lang/String;)V
-Landroid/telephony/TelephonyManager;->setCarrierInfoForImsiEncryption(Landroid/telephony/ImsiEncryptionInfo;)V
-Landroid/telephony/TelephonyManager;->setCellInfoListRate(I)V
-Landroid/telephony/TelephonyManager;->setDataActivationState(II)V
-Landroid/telephony/TelephonyManager;->setDataNetworkType(I)V
-Landroid/telephony/TelephonyManager;->setLine1NumberForDisplay(ILjava/lang/String;Ljava/lang/String;)Z
-Landroid/telephony/TelephonyManager;->setNetworkOperatorName(Ljava/lang/String;)V
-Landroid/telephony/TelephonyManager;->setNetworkOperatorNumeric(Ljava/lang/String;)V
-Landroid/telephony/TelephonyManager;->setNetworkRoaming(Z)V
-Landroid/telephony/TelephonyManager;->setOperatorBrandOverride(ILjava/lang/String;)Z
-Landroid/telephony/TelephonyManager;->setPhoneType(I)V
-Landroid/telephony/TelephonyManager;->setPolicyDataEnabled(ZI)V
-Landroid/telephony/TelephonyManager;->setPreferredNetworkTypeToGlobal(I)Z
-Landroid/telephony/TelephonyManager;->setRadioIndicationUpdateMode(II)V
-Landroid/telephony/TelephonyManager;->setRoamingOverride(ILjava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;)Z
-Landroid/telephony/TelephonyManager;->setSimCountryIso(Ljava/lang/String;)V
-Landroid/telephony/TelephonyManager;->setSimOperatorName(Ljava/lang/String;)V
-Landroid/telephony/TelephonyManager;->setSimOperatorNumeric(Ljava/lang/String;)V
-Landroid/telephony/TelephonyManager;->setSimState(Ljava/lang/String;)V
-Landroid/telephony/TelephonyManager;->setTelephonyProperty(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/telephony/TelephonyManager;->setVoiceActivationState(II)V
-Landroid/telephony/TelephonyManager;->setVoiceMailNumber(ILjava/lang/String;Ljava/lang/String;)Z
-Landroid/telephony/TelephonyManager;->sInstance:Landroid/telephony/TelephonyManager;
-Landroid/telephony/TelephonyManager;->sKernelCmdLine:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->sLteOnCdmaProductType:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->sProductTypePattern:Ljava/util/regex/Pattern;
-Landroid/telephony/TelephonyManager;->TAG:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->USSD_RESPONSE:Ljava/lang/String;
-Landroid/telephony/TelephonyManager;->USSD_RETURN_SUCCESS:I
-Landroid/telephony/TelephonyProtoEnums;
-Landroid/telephony/TelephonyProtoEnums;-><init>()V
-Landroid/telephony/TelephonyProtoEnums;->DATA_CONNECTION_POWER_STATE_HIGH:I
-Landroid/telephony/TelephonyProtoEnums;->DATA_CONNECTION_POWER_STATE_LOW:I
-Landroid/telephony/TelephonyProtoEnums;->DATA_CONNECTION_POWER_STATE_MEDIUM:I
-Landroid/telephony/TelephonyProtoEnums;->DATA_CONNECTION_POWER_STATE_UNKNOWN:I
-Landroid/telephony/TelephonyProtoEnums;->NETWORK_TYPE_1XRTT:I
-Landroid/telephony/TelephonyProtoEnums;->NETWORK_TYPE_CDMA:I
-Landroid/telephony/TelephonyProtoEnums;->NETWORK_TYPE_EDGE:I
-Landroid/telephony/TelephonyProtoEnums;->NETWORK_TYPE_EHRPD:I
-Landroid/telephony/TelephonyProtoEnums;->NETWORK_TYPE_EVDO_0:I
-Landroid/telephony/TelephonyProtoEnums;->NETWORK_TYPE_EVDO_A:I
-Landroid/telephony/TelephonyProtoEnums;->NETWORK_TYPE_EVDO_B:I
-Landroid/telephony/TelephonyProtoEnums;->NETWORK_TYPE_GPRS:I
-Landroid/telephony/TelephonyProtoEnums;->NETWORK_TYPE_GSM:I
-Landroid/telephony/TelephonyProtoEnums;->NETWORK_TYPE_HSDPA:I
-Landroid/telephony/TelephonyProtoEnums;->NETWORK_TYPE_HSPA:I
-Landroid/telephony/TelephonyProtoEnums;->NETWORK_TYPE_HSPAP:I
-Landroid/telephony/TelephonyProtoEnums;->NETWORK_TYPE_HSUPA:I
-Landroid/telephony/TelephonyProtoEnums;->NETWORK_TYPE_IDEN:I
-Landroid/telephony/TelephonyProtoEnums;->NETWORK_TYPE_IWLAN:I
-Landroid/telephony/TelephonyProtoEnums;->NETWORK_TYPE_LTE:I
-Landroid/telephony/TelephonyProtoEnums;->NETWORK_TYPE_LTE_CA:I
-Landroid/telephony/TelephonyProtoEnums;->NETWORK_TYPE_TD_SCDMA:I
-Landroid/telephony/TelephonyProtoEnums;->NETWORK_TYPE_UMTS:I
-Landroid/telephony/TelephonyProtoEnums;->NETWORK_TYPE_UNKNOWN:I
-Landroid/telephony/TelephonyProtoEnums;->SIGNAL_STRENGTH_GOOD:I
-Landroid/telephony/TelephonyProtoEnums;->SIGNAL_STRENGTH_GREAT:I
-Landroid/telephony/TelephonyProtoEnums;->SIGNAL_STRENGTH_MODERATE:I
-Landroid/telephony/TelephonyProtoEnums;->SIGNAL_STRENGTH_NONE_OR_UNKNOWN:I
-Landroid/telephony/TelephonyProtoEnums;->SIGNAL_STRENGTH_POOR:I
-Landroid/telephony/TelephonyScanManager$NetworkScanInfo;
-Landroid/telephony/TelephonyScanManager$NetworkScanInfo;-><init>(Landroid/telephony/NetworkScanRequest;Ljava/util/concurrent/Executor;Landroid/telephony/TelephonyScanManager$NetworkScanCallback;)V
-Landroid/telephony/TelephonyScanManager$NetworkScanInfo;->mCallback:Landroid/telephony/TelephonyScanManager$NetworkScanCallback;
-Landroid/telephony/TelephonyScanManager$NetworkScanInfo;->mExecutor:Ljava/util/concurrent/Executor;
-Landroid/telephony/TelephonyScanManager$NetworkScanInfo;->mRequest:Landroid/telephony/NetworkScanRequest;
-Landroid/telephony/TelephonyScanManager;->CALLBACK_SCAN_COMPLETE:I
-Landroid/telephony/TelephonyScanManager;->CALLBACK_SCAN_ERROR:I
-Landroid/telephony/TelephonyScanManager;->CALLBACK_SCAN_RESULTS:I
-Landroid/telephony/TelephonyScanManager;->getITelephony()Lcom/android/internal/telephony/ITelephony;
-Landroid/telephony/TelephonyScanManager;->mLooper:Landroid/os/Looper;
-Landroid/telephony/TelephonyScanManager;->mMessenger:Landroid/os/Messenger;
-Landroid/telephony/TelephonyScanManager;->mScanInfo:Landroid/util/SparseArray;
-Landroid/telephony/TelephonyScanManager;->requestNetworkScan(ILandroid/telephony/NetworkScanRequest;Ljava/util/concurrent/Executor;Landroid/telephony/TelephonyScanManager$NetworkScanCallback;)Landroid/telephony/NetworkScan;
-Landroid/telephony/TelephonyScanManager;->saveScanInfo(ILandroid/telephony/NetworkScanRequest;Ljava/util/concurrent/Executor;Landroid/telephony/TelephonyScanManager$NetworkScanCallback;)V
-Landroid/telephony/TelephonyScanManager;->SCAN_RESULT_KEY:Ljava/lang/String;
-Landroid/telephony/TelephonyScanManager;->TAG:Ljava/lang/String;
-Landroid/telephony/UiccAccessRule;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/UiccAccessRule;->decodeRules([B)[Landroid/telephony/UiccAccessRule;
-Landroid/telephony/UiccAccessRule;->encodeRules([Landroid/telephony/UiccAccessRule;)[B
-Landroid/telephony/UiccAccessRule;->ENCODING_VERSION:I
-Landroid/telephony/UiccAccessRule;->getCertHash(Landroid/content/pm/Signature;Ljava/lang/String;)[B
-Landroid/telephony/UiccAccessRule;->mAccessType:J
-Landroid/telephony/UiccAccessRule;->matches([BLjava/lang/String;)Z
-Landroid/telephony/UiccAccessRule;->mCertificateHash:[B
-Landroid/telephony/UiccAccessRule;->mPackageName:Ljava/lang/String;
-Landroid/telephony/UiccAccessRule;->TAG:Ljava/lang/String;
-Landroid/telephony/UiccSlotInfo$CardStateInfo;
-Landroid/telephony/UiccSlotInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/UiccSlotInfo;->mCardId:Ljava/lang/String;
-Landroid/telephony/UiccSlotInfo;->mCardStateInfo:I
-Landroid/telephony/UiccSlotInfo;->mIsActive:Z
-Landroid/telephony/UiccSlotInfo;->mIsEuicc:Z
-Landroid/telephony/UiccSlotInfo;->mIsExtendedApduSupported:Z
-Landroid/telephony/UiccSlotInfo;->mLogicalSlotIdx:I
-Landroid/telephony/UssdResponse;
-Landroid/telephony/UssdResponse;-><init>(Ljava/lang/String;Ljava/lang/CharSequence;)V
-Landroid/telephony/UssdResponse;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telephony/UssdResponse;->getReturnMessage()Ljava/lang/CharSequence;
-Landroid/telephony/UssdResponse;->getUssdRequest()Ljava/lang/String;
-Landroid/telephony/UssdResponse;->mReturnMessage:Ljava/lang/CharSequence;
-Landroid/telephony/UssdResponse;->mUssdRequest:Ljava/lang/String;
-Landroid/telephony/VisualVoicemailService$VisualVoicemailTask;-><init>(Landroid/os/Messenger;I)V
-Landroid/telephony/VisualVoicemailService$VisualVoicemailTask;->mReplyTo:Landroid/os/Messenger;
-Landroid/telephony/VisualVoicemailService$VisualVoicemailTask;->mTaskId:I
-Landroid/telephony/VisualVoicemailService;->DATA_PHONE_ACCOUNT_HANDLE:Ljava/lang/String;
-Landroid/telephony/VisualVoicemailService;->DATA_SMS:Ljava/lang/String;
-Landroid/telephony/VisualVoicemailService;->getSubId(Landroid/content/Context;Landroid/telecom/PhoneAccountHandle;)I
-Landroid/telephony/VisualVoicemailService;->mMessenger:Landroid/os/Messenger;
-Landroid/telephony/VisualVoicemailService;->MSG_ON_CELL_SERVICE_CONNECTED:I
-Landroid/telephony/VisualVoicemailService;->MSG_ON_SIM_REMOVED:I
-Landroid/telephony/VisualVoicemailService;->MSG_ON_SMS_RECEIVED:I
-Landroid/telephony/VisualVoicemailService;->MSG_TASK_ENDED:I
-Landroid/telephony/VisualVoicemailService;->MSG_TASK_STOPPED:I
-Landroid/telephony/VisualVoicemailService;->TAG:Ljava/lang/String;
-Landroid/telephony/VisualVoicemailSms$Builder;
-Landroid/telephony/VisualVoicemailSms$Builder;-><init>()V
-Landroid/telephony/VisualVoicemailSms$Builder;->build()Landroid/telephony/VisualVoicemailSms;
-Landroid/telephony/VisualVoicemailSms$Builder;->mFields:Landroid/os/Bundle;
-Landroid/telephony/VisualVoicemailSms$Builder;->mMessageBody:Ljava/lang/String;
-Landroid/telephony/VisualVoicemailSms$Builder;->mPhoneAccountHandle:Landroid/telecom/PhoneAccountHandle;
-Landroid/telephony/VisualVoicemailSms$Builder;->mPrefix:Ljava/lang/String;
-Landroid/telephony/VisualVoicemailSms$Builder;->setFields(Landroid/os/Bundle;)Landroid/telephony/VisualVoicemailSms$Builder;
-Landroid/telephony/VisualVoicemailSms$Builder;->setMessageBody(Ljava/lang/String;)Landroid/telephony/VisualVoicemailSms$Builder;
-Landroid/telephony/VisualVoicemailSms$Builder;->setPhoneAccountHandle(Landroid/telecom/PhoneAccountHandle;)Landroid/telephony/VisualVoicemailSms$Builder;
-Landroid/telephony/VisualVoicemailSms$Builder;->setPrefix(Ljava/lang/String;)Landroid/telephony/VisualVoicemailSms$Builder;
-Landroid/telephony/VisualVoicemailSms;-><init>(Landroid/telephony/VisualVoicemailSms$Builder;)V
-Landroid/telephony/VisualVoicemailSms;->mFields:Landroid/os/Bundle;
-Landroid/telephony/VisualVoicemailSms;->mMessageBody:Ljava/lang/String;
-Landroid/telephony/VisualVoicemailSms;->mPhoneAccountHandle:Landroid/telecom/PhoneAccountHandle;
-Landroid/telephony/VisualVoicemailSms;->mPrefix:Ljava/lang/String;
-Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;->mClientPrefix:Ljava/lang/String;
-Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;->mDestinationPort:I
-Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;->mOriginatingNumbers:Ljava/util/List;
-Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;->mPackageName:Ljava/lang/String;
-Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;->setPackageName(Ljava/lang/String;)Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;
-Landroid/telephony/VisualVoicemailSmsFilterSettings;-><init>(Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;)V
-Landroid/telephony/VisualVoicemailSmsFilterSettings;->DEFAULT_CLIENT_PREFIX:Ljava/lang/String;
-Landroid/telephony/VisualVoicemailSmsFilterSettings;->DEFAULT_DESTINATION_PORT:I
-Landroid/telephony/VisualVoicemailSmsFilterSettings;->DEFAULT_ORIGINATING_NUMBERS:Ljava/util/List;
-Landroid/telephony/VisualVoicemailSmsFilterSettings;->packageName:Ljava/lang/String;
-Landroid/telephony/VoiceSpecificRegistrationStates;
-Landroid/telephony/VoiceSpecificRegistrationStates;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/VoiceSpecificRegistrationStates;-><init>(ZIII)V
-Landroid/telephony/VoiceSpecificRegistrationStates;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telephony/VoiceSpecificRegistrationStates;->cssSupported:Z
-Landroid/telephony/VoiceSpecificRegistrationStates;->defaultRoamingIndicator:I
-Landroid/telephony/VoiceSpecificRegistrationStates;->roamingIndicator:I
-Landroid/telephony/VoiceSpecificRegistrationStates;->systemIsInPrl:I
-Landroid/telephony/VoLteServiceState;
-Landroid/telephony/VoLteServiceState;-><init>()V
-Landroid/telephony/VoLteServiceState;-><init>(Landroid/os/Parcel;)V
-Landroid/telephony/VoLteServiceState;-><init>(Landroid/telephony/VoLteServiceState;)V
-Landroid/telephony/VoLteServiceState;->copyFrom(Landroid/telephony/VoLteServiceState;)V
-Landroid/telephony/VoLteServiceState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/telephony/VoLteServiceState;->DBG:Z
-Landroid/telephony/VoLteServiceState;->fillInNotifierBundle(Landroid/os/Bundle;)V
-Landroid/telephony/VoLteServiceState;->getSrvccState()I
-Landroid/telephony/VoLteServiceState;->HANDOVER_CANCELED:I
-Landroid/telephony/VoLteServiceState;->HANDOVER_COMPLETED:I
-Landroid/telephony/VoLteServiceState;->HANDOVER_FAILED:I
-Landroid/telephony/VoLteServiceState;->HANDOVER_STARTED:I
-Landroid/telephony/VoLteServiceState;->initialize()V
-Landroid/telephony/VoLteServiceState;->INVALID:I
-Landroid/telephony/VoLteServiceState;->log(Ljava/lang/String;)V
-Landroid/telephony/VoLteServiceState;->LOG_TAG:Ljava/lang/String;
-Landroid/telephony/VoLteServiceState;->mSrvccState:I
-Landroid/telephony/VoLteServiceState;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/VoLteServiceState;
-Landroid/telephony/VoLteServiceState;->NOT_SUPPORTED:I
-Landroid/telephony/VoLteServiceState;->setFromNotifierBundle(Landroid/os/Bundle;)V
-Landroid/telephony/VoLteServiceState;->SUPPORTED:I
-Landroid/telephony/VoLteServiceState;->validateInput()V
-Landroid/text/AlteredCharSequence$AlteredSpanned;
-Landroid/text/AlteredCharSequence$AlteredSpanned;-><init>(Ljava/lang/CharSequence;[CII)V
-Landroid/text/AlteredCharSequence$AlteredSpanned;->mSpanned:Landroid/text/Spanned;
-Landroid/text/AlteredCharSequence;-><init>(Ljava/lang/CharSequence;[CII)V
-Landroid/text/AlteredCharSequence;->mChars:[C
-Landroid/text/AlteredCharSequence;->mEnd:I
-Landroid/text/AlteredCharSequence;->mSource:Ljava/lang/CharSequence;
-Landroid/text/AlteredCharSequence;->mStart:I
-Landroid/text/AlteredCharSequence;->update([CII)V
-Landroid/text/AndroidBidi$EmojiBidiOverride;
-Landroid/text/AndroidBidi$EmojiBidiOverride;-><init>()V
-Landroid/text/AndroidBidi$EmojiBidiOverride;->classify(I)I
-Landroid/text/AndroidBidi$EmojiBidiOverride;->NO_OVERRIDE:I
-Landroid/text/AndroidBidi;
-Landroid/text/AndroidBidi;-><init>()V
-Landroid/text/AndroidBidi;->directions(I[BI[CII)Landroid/text/Layout$Directions;
-Landroid/text/AndroidBidi;->sEmojiBidiOverride:Landroid/text/AndroidBidi$EmojiBidiOverride;
-Landroid/text/Annotation;->getSpanTypeIdInternal()I
-Landroid/text/Annotation;->mKey:Ljava/lang/String;
-Landroid/text/Annotation;->mValue:Ljava/lang/String;
-Landroid/text/Annotation;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/AutoGrowArray$ByteArray;
-Landroid/text/AutoGrowArray$ByteArray;-><init>()V
-Landroid/text/AutoGrowArray$ByteArray;-><init>(I)V
-Landroid/text/AutoGrowArray$ByteArray;->append(B)V
-Landroid/text/AutoGrowArray$ByteArray;->clear()V
-Landroid/text/AutoGrowArray$ByteArray;->clearWithReleasingLargeArray()V
-Landroid/text/AutoGrowArray$ByteArray;->ensureCapacity(I)V
-Landroid/text/AutoGrowArray$ByteArray;->get(I)B
-Landroid/text/AutoGrowArray$ByteArray;->getRawArray()[B
-Landroid/text/AutoGrowArray$ByteArray;->mSize:I
-Landroid/text/AutoGrowArray$ByteArray;->mValues:[B
-Landroid/text/AutoGrowArray$ByteArray;->resize(I)V
-Landroid/text/AutoGrowArray$ByteArray;->set(IB)V
-Landroid/text/AutoGrowArray$ByteArray;->size()I
-Landroid/text/AutoGrowArray$FloatArray;
-Landroid/text/AutoGrowArray$FloatArray;-><init>()V
-Landroid/text/AutoGrowArray$FloatArray;-><init>(I)V
-Landroid/text/AutoGrowArray$FloatArray;->append(F)V
-Landroid/text/AutoGrowArray$FloatArray;->clear()V
-Landroid/text/AutoGrowArray$FloatArray;->clearWithReleasingLargeArray()V
-Landroid/text/AutoGrowArray$FloatArray;->ensureCapacity(I)V
-Landroid/text/AutoGrowArray$FloatArray;->get(I)F
-Landroid/text/AutoGrowArray$FloatArray;->getRawArray()[F
-Landroid/text/AutoGrowArray$FloatArray;->mSize:I
-Landroid/text/AutoGrowArray$FloatArray;->mValues:[F
-Landroid/text/AutoGrowArray$FloatArray;->resize(I)V
-Landroid/text/AutoGrowArray$FloatArray;->set(IF)V
-Landroid/text/AutoGrowArray$FloatArray;->size()I
-Landroid/text/AutoGrowArray$IntArray;
-Landroid/text/AutoGrowArray$IntArray;-><init>()V
-Landroid/text/AutoGrowArray$IntArray;-><init>(I)V
-Landroid/text/AutoGrowArray$IntArray;->append(I)V
-Landroid/text/AutoGrowArray$IntArray;->clear()V
-Landroid/text/AutoGrowArray$IntArray;->clearWithReleasingLargeArray()V
-Landroid/text/AutoGrowArray$IntArray;->ensureCapacity(I)V
-Landroid/text/AutoGrowArray$IntArray;->get(I)I
-Landroid/text/AutoGrowArray$IntArray;->getRawArray()[I
-Landroid/text/AutoGrowArray$IntArray;->mSize:I
-Landroid/text/AutoGrowArray$IntArray;->mValues:[I
-Landroid/text/AutoGrowArray$IntArray;->resize(I)V
-Landroid/text/AutoGrowArray$IntArray;->set(II)V
-Landroid/text/AutoGrowArray$IntArray;->size()I
-Landroid/text/AutoGrowArray;
-Landroid/text/AutoGrowArray;-><init>()V
-Landroid/text/AutoGrowArray;->computeNewCapacity(II)I
-Landroid/text/AutoGrowArray;->MAX_CAPACITY_TO_BE_KEPT:I
-Landroid/text/AutoGrowArray;->MIN_CAPACITY_INCREMENT:I
-Landroid/text/AutoText;-><init>(Landroid/content/res/Resources;)V
-Landroid/text/AutoText;->add(Ljava/lang/String;C)V
-Landroid/text/AutoText;->DEFAULT:I
-Landroid/text/AutoText;->getInstance(Landroid/view/View;)Landroid/text/AutoText;
-Landroid/text/AutoText;->getSize()I
-Landroid/text/AutoText;->INCREMENT:I
-Landroid/text/AutoText;->init(Landroid/content/res/Resources;)V
-Landroid/text/AutoText;->lookup(Ljava/lang/CharSequence;II)Ljava/lang/String;
-Landroid/text/AutoText;->mLocale:Ljava/util/Locale;
-Landroid/text/AutoText;->mSize:I
-Landroid/text/AutoText;->mText:Ljava/lang/String;
-Landroid/text/AutoText;->mTrie:[C
-Landroid/text/AutoText;->mTrieUsed:C
-Landroid/text/AutoText;->newTrieNode()C
-Landroid/text/AutoText;->RIGHT:I
-Landroid/text/AutoText;->sInstance:Landroid/text/AutoText;
-Landroid/text/AutoText;->sLock:Ljava/lang/Object;
-Landroid/text/AutoText;->TRIE_C:I
-Landroid/text/AutoText;->TRIE_CHILD:I
-Landroid/text/AutoText;->TRIE_NEXT:I
-Landroid/text/AutoText;->TRIE_NULL:C
-Landroid/text/AutoText;->TRIE_OFF:I
-Landroid/text/AutoText;->TRIE_ROOT:I
-Landroid/text/AutoText;->TRIE_SIZEOF:I
-Landroid/text/BidiFormatter$Builder;->initialize(Z)V
-Landroid/text/BidiFormatter$Builder;->mFlags:I
-Landroid/text/BidiFormatter$Builder;->mIsRtlContext:Z
-Landroid/text/BidiFormatter$Builder;->mTextDirectionHeuristic:Landroid/text/TextDirectionHeuristic;
-Landroid/text/BidiFormatter$DirectionalityEstimator;
-Landroid/text/BidiFormatter$DirectionalityEstimator;-><init>(Ljava/lang/CharSequence;Z)V
-Landroid/text/BidiFormatter$DirectionalityEstimator;->charIndex:I
-Landroid/text/BidiFormatter$DirectionalityEstimator;->dirTypeBackward()B
-Landroid/text/BidiFormatter$DirectionalityEstimator;->dirTypeForward()B
-Landroid/text/BidiFormatter$DirectionalityEstimator;->DIR_TYPE_CACHE:[B
-Landroid/text/BidiFormatter$DirectionalityEstimator;->DIR_TYPE_CACHE_SIZE:I
-Landroid/text/BidiFormatter$DirectionalityEstimator;->getCachedDirectionality(C)B
-Landroid/text/BidiFormatter$DirectionalityEstimator;->getDirectionality(I)B
-Landroid/text/BidiFormatter$DirectionalityEstimator;->getEntryDir()I
-Landroid/text/BidiFormatter$DirectionalityEstimator;->getExitDir()I
-Landroid/text/BidiFormatter$DirectionalityEstimator;->isHtml:Z
-Landroid/text/BidiFormatter$DirectionalityEstimator;->lastChar:C
-Landroid/text/BidiFormatter$DirectionalityEstimator;->length:I
-Landroid/text/BidiFormatter$DirectionalityEstimator;->skipEntityBackward()B
-Landroid/text/BidiFormatter$DirectionalityEstimator;->skipEntityForward()B
-Landroid/text/BidiFormatter$DirectionalityEstimator;->skipTagBackward()B
-Landroid/text/BidiFormatter$DirectionalityEstimator;->skipTagForward()B
-Landroid/text/BidiFormatter$DirectionalityEstimator;->text:Ljava/lang/CharSequence;
-Landroid/text/BidiFormatter;-><init>(ZILandroid/text/TextDirectionHeuristic;)V
-Landroid/text/BidiFormatter;->DEFAULT_FLAGS:I
-Landroid/text/BidiFormatter;->DEFAULT_LTR_INSTANCE:Landroid/text/BidiFormatter;
-Landroid/text/BidiFormatter;->DEFAULT_RTL_INSTANCE:Landroid/text/BidiFormatter;
-Landroid/text/BidiFormatter;->DEFAULT_TEXT_DIRECTION_HEURISTIC:Landroid/text/TextDirectionHeuristic;
-Landroid/text/BidiFormatter;->DIR_LTR:I
-Landroid/text/BidiFormatter;->DIR_RTL:I
-Landroid/text/BidiFormatter;->DIR_UNKNOWN:I
-Landroid/text/BidiFormatter;->EMPTY_STRING:Ljava/lang/String;
-Landroid/text/BidiFormatter;->FLAG_STEREO_RESET:I
-Landroid/text/BidiFormatter;->getDefaultInstanceFromContext(Z)Landroid/text/BidiFormatter;
-Landroid/text/BidiFormatter;->getEntryDir(Ljava/lang/CharSequence;)I
-Landroid/text/BidiFormatter;->getExitDir(Ljava/lang/CharSequence;)I
-Landroid/text/BidiFormatter;->isRtlLocale(Ljava/util/Locale;)Z
-Landroid/text/BidiFormatter;->LRE:C
-Landroid/text/BidiFormatter;->LRM:C
-Landroid/text/BidiFormatter;->LRM_STRING:Ljava/lang/String;
-Landroid/text/BidiFormatter;->markAfter(Ljava/lang/CharSequence;Landroid/text/TextDirectionHeuristic;)Ljava/lang/String;
-Landroid/text/BidiFormatter;->markBefore(Ljava/lang/CharSequence;Landroid/text/TextDirectionHeuristic;)Ljava/lang/String;
-Landroid/text/BidiFormatter;->mDefaultTextDirectionHeuristic:Landroid/text/TextDirectionHeuristic;
-Landroid/text/BidiFormatter;->mFlags:I
-Landroid/text/BidiFormatter;->mIsRtlContext:Z
-Landroid/text/BidiFormatter;->PDF:C
-Landroid/text/BidiFormatter;->RLE:C
-Landroid/text/BidiFormatter;->RLM:C
-Landroid/text/BidiFormatter;->RLM_STRING:Ljava/lang/String;
-Landroid/text/BoringLayout$Metrics;->reset()V
-Landroid/text/BoringLayout;->hasAnyInterestingChars(Ljava/lang/CharSequence;I)Z
-Landroid/text/BoringLayout;->init(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/Layout$Alignment;Landroid/text/BoringLayout$Metrics;ZZ)V
-Landroid/text/BoringLayout;->mBottom:I
-Landroid/text/BoringLayout;->mBottomPadding:I
-Landroid/text/BoringLayout;->mDesc:I
-Landroid/text/BoringLayout;->mDirect:Ljava/lang/String;
-Landroid/text/BoringLayout;->mEllipsizedCount:I
-Landroid/text/BoringLayout;->mEllipsizedStart:I
-Landroid/text/BoringLayout;->mEllipsizedWidth:I
-Landroid/text/BoringLayout;->mMax:F
-Landroid/text/BoringLayout;->mPaint:Landroid/graphics/Paint;
-Landroid/text/BoringLayout;->mTopPadding:I
-Landroid/text/CharSequenceCharacterIterator;
-Landroid/text/CharSequenceCharacterIterator;-><init>(Ljava/lang/CharSequence;II)V
-Landroid/text/CharSequenceCharacterIterator;->mBeginIndex:I
-Landroid/text/CharSequenceCharacterIterator;->mCharSeq:Ljava/lang/CharSequence;
-Landroid/text/CharSequenceCharacterIterator;->mEndIndex:I
-Landroid/text/CharSequenceCharacterIterator;->mIndex:I
-Landroid/text/DynamicLayout$Builder;-><init>()V
-Landroid/text/DynamicLayout$Builder;->mAlignment:Landroid/text/Layout$Alignment;
-Landroid/text/DynamicLayout$Builder;->mBase:Ljava/lang/CharSequence;
-Landroid/text/DynamicLayout$Builder;->mBreakStrategy:I
-Landroid/text/DynamicLayout$Builder;->mDisplay:Ljava/lang/CharSequence;
-Landroid/text/DynamicLayout$Builder;->mEllipsize:Landroid/text/TextUtils$TruncateAt;
-Landroid/text/DynamicLayout$Builder;->mEllipsizedWidth:I
-Landroid/text/DynamicLayout$Builder;->mFallbackLineSpacing:Z
-Landroid/text/DynamicLayout$Builder;->mFontMetricsInt:Landroid/graphics/Paint$FontMetricsInt;
-Landroid/text/DynamicLayout$Builder;->mHyphenationFrequency:I
-Landroid/text/DynamicLayout$Builder;->mIncludePad:Z
-Landroid/text/DynamicLayout$Builder;->mJustificationMode:I
-Landroid/text/DynamicLayout$Builder;->mPaint:Landroid/text/TextPaint;
-Landroid/text/DynamicLayout$Builder;->mSpacingAdd:F
-Landroid/text/DynamicLayout$Builder;->mSpacingMult:F
-Landroid/text/DynamicLayout$Builder;->mTextDir:Landroid/text/TextDirectionHeuristic;
-Landroid/text/DynamicLayout$Builder;->mWidth:I
-Landroid/text/DynamicLayout$Builder;->recycle(Landroid/text/DynamicLayout$Builder;)V
-Landroid/text/DynamicLayout$Builder;->sPool:Landroid/util/Pools$SynchronizedPool;
-Landroid/text/DynamicLayout$ChangeWatcher;
-Landroid/text/DynamicLayout$ChangeWatcher;-><init>(Landroid/text/DynamicLayout;)V
-Landroid/text/DynamicLayout$ChangeWatcher;->mLayout:Ljava/lang/ref/WeakReference;
-Landroid/text/DynamicLayout$ChangeWatcher;->reflow(Ljava/lang/CharSequence;III)V
-Landroid/text/DynamicLayout;-><init>(Landroid/text/DynamicLayout$Builder;)V
-Landroid/text/DynamicLayout;->addBlockAtOffset(I)V
-Landroid/text/DynamicLayout;->BLOCK_MINIMUM_CHARACTER_LENGTH:I
-Landroid/text/DynamicLayout;->COLUMNS_ELLIPSIZE:I
-Landroid/text/DynamicLayout;->COLUMNS_NORMAL:I
-Landroid/text/DynamicLayout;->contentMayProtrudeFromLineTopOrBottom(Ljava/lang/CharSequence;II)Z
-Landroid/text/DynamicLayout;->createBlocks()V
-Landroid/text/DynamicLayout;->createEllipsizer(Landroid/text/TextUtils$TruncateAt;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-Landroid/text/DynamicLayout;->DESCENT:I
-Landroid/text/DynamicLayout;->DIR:I
-Landroid/text/DynamicLayout;->DIR_SHIFT:I
-Landroid/text/DynamicLayout;->ELLIPSIS_COUNT:I
-Landroid/text/DynamicLayout;->ELLIPSIS_START:I
-Landroid/text/DynamicLayout;->ELLIPSIS_UNDEFINED:I
-Landroid/text/DynamicLayout;->EXTRA:I
-Landroid/text/DynamicLayout;->generate(Landroid/text/DynamicLayout$Builder;)V
-Landroid/text/DynamicLayout;->getBlockIndex(I)I
-Landroid/text/DynamicLayout;->getBlocksAlwaysNeedToBeRedrawn()Landroid/util/ArraySet;
-Landroid/text/DynamicLayout;->getContentMayProtrudeFromTopOrBottom(I)Z
-Landroid/text/DynamicLayout;->getHyphen(I)I
-Landroid/text/DynamicLayout;->getLineExtra(I)I
-Landroid/text/DynamicLayout;->HYPHEN:I
-Landroid/text/DynamicLayout;->HYPHEN_MASK:I
-Landroid/text/DynamicLayout;->INVALID_BLOCK_INDEX:I
-Landroid/text/DynamicLayout;->MAY_PROTRUDE_FROM_TOP_OR_BOTTOM:I
-Landroid/text/DynamicLayout;->MAY_PROTRUDE_FROM_TOP_OR_BOTTOM_MASK:I
-Landroid/text/DynamicLayout;->mBase:Ljava/lang/CharSequence;
-Landroid/text/DynamicLayout;->mBlockEndLines:[I
-Landroid/text/DynamicLayout;->mBlockIndices:[I
-Landroid/text/DynamicLayout;->mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
-Landroid/text/DynamicLayout;->mBottomPadding:I
-Landroid/text/DynamicLayout;->mBreakStrategy:I
-Landroid/text/DynamicLayout;->mDisplay:Ljava/lang/CharSequence;
-Landroid/text/DynamicLayout;->mEllipsize:Z
-Landroid/text/DynamicLayout;->mEllipsizeAt:Landroid/text/TextUtils$TruncateAt;
-Landroid/text/DynamicLayout;->mEllipsizedWidth:I
-Landroid/text/DynamicLayout;->mFallbackLineSpacing:Z
-Landroid/text/DynamicLayout;->mHyphenationFrequency:I
-Landroid/text/DynamicLayout;->mIncludePad:Z
-Landroid/text/DynamicLayout;->mIndexFirstChangedBlock:I
-Landroid/text/DynamicLayout;->mInts:Landroid/text/PackedIntVector;
-Landroid/text/DynamicLayout;->mJustificationMode:I
-Landroid/text/DynamicLayout;->mNumberOfBlocks:I
-Landroid/text/DynamicLayout;->mObjects:Landroid/text/PackedObjectVector;
-Landroid/text/DynamicLayout;->mTempRect:Landroid/graphics/Rect;
-Landroid/text/DynamicLayout;->mTopPadding:I
-Landroid/text/DynamicLayout;->mWatcher:Landroid/text/DynamicLayout$ChangeWatcher;
-Landroid/text/DynamicLayout;->PRIORITY:I
-Landroid/text/DynamicLayout;->reflow(Ljava/lang/CharSequence;III)V
-Landroid/text/DynamicLayout;->sBuilder:Landroid/text/StaticLayout$Builder;
-Landroid/text/DynamicLayout;->setBlockIndex(II)V
-Landroid/text/DynamicLayout;->setBlocksDataForTest([I[III)V
-Landroid/text/DynamicLayout;->sLock:[Ljava/lang/Object;
-Landroid/text/DynamicLayout;->START:I
-Landroid/text/DynamicLayout;->START_MASK:I
-Landroid/text/DynamicLayout;->TAB:I
-Landroid/text/DynamicLayout;->TAB_MASK:I
-Landroid/text/DynamicLayout;->TOP:I
-Landroid/text/DynamicLayout;->updateAlwaysNeedsToBeRedrawn(I)V
-Landroid/text/DynamicLayout;->updateBlocks(III)V
-Landroid/text/Editable$Factory;->sInstance:Landroid/text/Editable$Factory;
-Landroid/text/Emoji;
-Landroid/text/Emoji;-><init>()V
-Landroid/text/Emoji;->CANCEL_TAG:I
-Landroid/text/Emoji;->COMBINING_ENCLOSING_KEYCAP:I
-Landroid/text/Emoji;->isEmoji(I)Z
-Landroid/text/Emoji;->isEmojiModifier(I)Z
-Landroid/text/Emoji;->isEmojiModifierBase(I)Z
-Landroid/text/Emoji;->isKeycapBase(I)Z
-Landroid/text/Emoji;->isNewEmoji(I)Z
-Landroid/text/Emoji;->isRegionalIndicatorSymbol(I)Z
-Landroid/text/Emoji;->isTagSpecChar(I)Z
-Landroid/text/Emoji;->VARIATION_SELECTOR_16:I
-Landroid/text/Emoji;->ZERO_WIDTH_JOINER:I
-Landroid/text/FontConfig$Alias;
-Landroid/text/FontConfig$Alias;-><init>(Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/text/FontConfig$Alias;->getName()Ljava/lang/String;
-Landroid/text/FontConfig$Alias;->getToName()Ljava/lang/String;
-Landroid/text/FontConfig$Alias;->getWeight()I
-Landroid/text/FontConfig$Alias;->mName:Ljava/lang/String;
-Landroid/text/FontConfig$Alias;->mToName:Ljava/lang/String;
-Landroid/text/FontConfig$Alias;->mWeight:I
-Landroid/text/FontConfig$Family$Variant;
-Landroid/text/FontConfig$Family;
-Landroid/text/FontConfig$Family;-><init>(Ljava/lang/String;[Landroid/text/FontConfig$Font;[Ljava/lang/String;I)V
-Landroid/text/FontConfig$Family;->getLanguages()[Ljava/lang/String;
-Landroid/text/FontConfig$Family;->mFonts:[Landroid/text/FontConfig$Font;
-Landroid/text/FontConfig$Family;->mLanguages:[Ljava/lang/String;
-Landroid/text/FontConfig$Family;->mName:Ljava/lang/String;
-Landroid/text/FontConfig$Family;->mVariant:I
-Landroid/text/FontConfig$Family;->VARIANT_COMPACT:I
-Landroid/text/FontConfig$Family;->VARIANT_DEFAULT:I
-Landroid/text/FontConfig$Family;->VARIANT_ELEGANT:I
-Landroid/text/FontConfig$Font;
-Landroid/text/FontConfig$Font;-><init>(Ljava/lang/String;I[Landroid/graphics/fonts/FontVariationAxis;IZLjava/lang/String;)V
-Landroid/text/FontConfig$Font;->getFallbackFor()Ljava/lang/String;
-Landroid/text/FontConfig$Font;->getFontName()Ljava/lang/String;
-Landroid/text/FontConfig$Font;->getUri()Landroid/net/Uri;
-Landroid/text/FontConfig$Font;->mAxes:[Landroid/graphics/fonts/FontVariationAxis;
-Landroid/text/FontConfig$Font;->mFallbackFor:Ljava/lang/String;
-Landroid/text/FontConfig$Font;->mFontName:Ljava/lang/String;
-Landroid/text/FontConfig$Font;->mIsItalic:Z
-Landroid/text/FontConfig$Font;->mTtcIndex:I
-Landroid/text/FontConfig$Font;->mUri:Landroid/net/Uri;
-Landroid/text/FontConfig$Font;->mWeight:I
-Landroid/text/FontConfig$Font;->setUri(Landroid/net/Uri;)V
-Landroid/text/FontConfig;
-Landroid/text/FontConfig;-><init>([Landroid/text/FontConfig$Family;[Landroid/text/FontConfig$Alias;)V
-Landroid/text/FontConfig;->getAliases()[Landroid/text/FontConfig$Alias;
-Landroid/text/FontConfig;->mAliases:[Landroid/text/FontConfig$Alias;
-Landroid/text/FontConfig;->mFamilies:[Landroid/text/FontConfig$Family;
-Landroid/text/format/DateFormat;->appendQuotedText(Landroid/text/SpannableStringBuilder;I)I
-Landroid/text/format/DateFormat;->formatZoneOffset(II)Ljava/lang/String;
-Landroid/text/format/DateFormat;->getDateFormatString(Landroid/content/Context;)Ljava/lang/String;
-Landroid/text/format/DateFormat;->getDayOfWeekString(Llibcore/icu/LocaleData;III)Ljava/lang/String;
-Landroid/text/format/DateFormat;->getMonthString(Llibcore/icu/LocaleData;III)Ljava/lang/String;
-Landroid/text/format/DateFormat;->getTimeZoneString(Ljava/util/Calendar;I)Ljava/lang/String;
-Landroid/text/format/DateFormat;->getYearString(II)Ljava/lang/String;
-Landroid/text/format/DateFormat;->is24HourLocale(Ljava/util/Locale;)Z
-Landroid/text/format/DateFormat;->sIs24Hour:Z
-Landroid/text/format/DateFormat;->sIs24HourLocale:Ljava/util/Locale;
-Landroid/text/format/DateFormat;->sLocaleLock:Ljava/lang/Object;
-Landroid/text/format/DateFormat;->zeroPad(II)Ljava/lang/String;
-Landroid/text/format/DateUtils;->initFormatStrings()V
-Landroid/text/format/DateUtils;->initFormatStringsLocked()V
-Landroid/text/format/DateUtils;->sElapsedFormatHMMSS:Ljava/lang/String;
-Landroid/text/format/DateUtils;->sElapsedFormatMMSS:Ljava/lang/String;
-Landroid/text/format/DateUtils;->sLastConfig:Landroid/content/res/Configuration;
-Landroid/text/format/DateUtils;->sLock:Ljava/lang/Object;
-Landroid/text/format/DateUtils;->sNowTime:Landroid/text/format/Time;
-Landroid/text/format/DateUtils;->sThenTime:Landroid/text/format/Time;
-Landroid/text/format/Formatter$BytesResult;
-Landroid/text/format/Formatter$BytesResult;-><init>(Ljava/lang/String;Ljava/lang/String;J)V
-Landroid/text/format/Formatter$BytesResult;->roundedBytes:J
-Landroid/text/format/Formatter$BytesResult;->units:Ljava/lang/String;
-Landroid/text/format/Formatter$BytesResult;->value:Ljava/lang/String;
-Landroid/text/format/Formatter;->bidiWrap(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
-Landroid/text/format/Formatter;->FLAG_CALCULATE_ROUNDED:I
-Landroid/text/format/Formatter;->FLAG_IEC_UNITS:I
-Landroid/text/format/Formatter;->FLAG_SHORTER:I
-Landroid/text/format/Formatter;->FLAG_SI_UNITS:I
-Landroid/text/format/Formatter;->localeFromContext(Landroid/content/Context;)Ljava/util/Locale;
-Landroid/text/format/Formatter;->MILLIS_PER_MINUTE:I
-Landroid/text/format/Formatter;->SECONDS_PER_DAY:I
-Landroid/text/format/Formatter;->SECONDS_PER_HOUR:I
-Landroid/text/format/Formatter;->SECONDS_PER_MINUTE:I
-Landroid/text/format/Time$TimeCalculator;
-Landroid/text/format/Time$TimeCalculator;-><init>(Ljava/lang/String;)V
-Landroid/text/format/Time$TimeCalculator;->compare(Landroid/text/format/Time$TimeCalculator;Landroid/text/format/Time$TimeCalculator;)I
-Landroid/text/format/Time$TimeCalculator;->copyFieldsFromTime(Landroid/text/format/Time;)V
-Landroid/text/format/Time$TimeCalculator;->copyFieldsToTime(Landroid/text/format/Time;)V
-Landroid/text/format/Time$TimeCalculator;->format(Ljava/lang/String;)Ljava/lang/String;
-Landroid/text/format/Time$TimeCalculator;->format2445(Z)Ljava/lang/String;
-Landroid/text/format/Time$TimeCalculator;->lookupZoneInfo(Ljava/lang/String;)Llibcore/util/ZoneInfo;
-Landroid/text/format/Time$TimeCalculator;->setTimeInMillis(J)V
-Landroid/text/format/Time$TimeCalculator;->switchTimeZone(Ljava/lang/String;)V
-Landroid/text/format/Time$TimeCalculator;->timezone:Ljava/lang/String;
-Landroid/text/format/Time$TimeCalculator;->toChar(I)C
-Landroid/text/format/Time$TimeCalculator;->toMillis(Z)J
-Landroid/text/format/Time$TimeCalculator;->toStringInternal()Ljava/lang/String;
-Landroid/text/format/Time$TimeCalculator;->updateZoneInfoFromTimeZone()V
-Landroid/text/format/Time$TimeCalculator;->wallTime:Llibcore/util/ZoneInfo$WallTime;
-Landroid/text/format/Time$TimeCalculator;->zoneInfo:Llibcore/util/ZoneInfo;
-Landroid/text/format/Time;->calculator:Landroid/text/format/Time$TimeCalculator;
-Landroid/text/format/Time;->checkChar(Ljava/lang/String;IC)V
-Landroid/text/format/Time;->DAYS_PER_MONTH:[I
-Landroid/text/format/Time;->getChar(Ljava/lang/String;II)I
-Landroid/text/format/Time;->initialize(Ljava/lang/String;)V
-Landroid/text/format/Time;->parse3339Internal(Ljava/lang/String;)Z
-Landroid/text/format/Time;->parseInternal(Ljava/lang/String;)Z
-Landroid/text/format/Time;->sThursdayOffset:[I
-Landroid/text/format/Time;->Y_M_D:Ljava/lang/String;
-Landroid/text/format/Time;->Y_M_D_T_H_M_S_000:Ljava/lang/String;
-Landroid/text/format/Time;->Y_M_D_T_H_M_S_000_Z:Ljava/lang/String;
-Landroid/text/GraphicsOperations;
-Landroid/text/GraphicsOperations;->drawText(Landroid/graphics/BaseCanvas;IIFFLandroid/graphics/Paint;)V
-Landroid/text/GraphicsOperations;->drawTextRun(Landroid/graphics/BaseCanvas;IIIIFFZLandroid/graphics/Paint;)V
-Landroid/text/GraphicsOperations;->getTextRunAdvances(IIIIZ[FILandroid/graphics/Paint;)F
-Landroid/text/GraphicsOperations;->getTextRunCursor(IIIIILandroid/graphics/Paint;)I
-Landroid/text/GraphicsOperations;->getTextWidths(II[FLandroid/graphics/Paint;)I
-Landroid/text/GraphicsOperations;->measureText(IILandroid/graphics/Paint;)F
-Landroid/text/Html$HtmlParser;
-Landroid/text/Html$HtmlParser;-><init>()V
-Landroid/text/Html$HtmlParser;->schema:Lorg/ccil/cowan/tagsoup/HTMLSchema;
-Landroid/text/Html;-><init>()V
-Landroid/text/Html;->encodeTextAlignmentByDiv(Ljava/lang/StringBuilder;Landroid/text/Spanned;I)V
-Landroid/text/Html;->getTextDirection(Landroid/text/Spanned;II)Ljava/lang/String;
-Landroid/text/Html;->getTextStyles(Landroid/text/Spanned;IIZZ)Ljava/lang/String;
-Landroid/text/Html;->TO_HTML_PARAGRAPH_FLAG:I
-Landroid/text/Html;->withinBlockquote(Ljava/lang/StringBuilder;Landroid/text/Spanned;III)V
-Landroid/text/Html;->withinBlockquoteConsecutive(Ljava/lang/StringBuilder;Landroid/text/Spanned;II)V
-Landroid/text/Html;->withinBlockquoteIndividual(Ljava/lang/StringBuilder;Landroid/text/Spanned;II)V
-Landroid/text/Html;->withinDiv(Ljava/lang/StringBuilder;Landroid/text/Spanned;III)V
-Landroid/text/Html;->withinHtml(Ljava/lang/StringBuilder;Landroid/text/Spanned;I)V
-Landroid/text/Html;->withinParagraph(Ljava/lang/StringBuilder;Landroid/text/Spanned;II)V
-Landroid/text/Hyphenator;
-Landroid/text/Hyphenator;-><init>()V
-Landroid/text/Hyphenator;->init()V
-Landroid/text/Hyphenator;->nInit()V
-Landroid/text/InputFilter$AllCaps$CharSequenceWrapper;
-Landroid/text/InputFilter$AllCaps$CharSequenceWrapper;-><init>(Ljava/lang/CharSequence;II)V
-Landroid/text/InputFilter$AllCaps$CharSequenceWrapper;->mEnd:I
-Landroid/text/InputFilter$AllCaps$CharSequenceWrapper;->mLength:I
-Landroid/text/InputFilter$AllCaps$CharSequenceWrapper;->mSource:Ljava/lang/CharSequence;
-Landroid/text/InputFilter$AllCaps$CharSequenceWrapper;->mStart:I
-Landroid/text/InputFilter$AllCaps;->mLocale:Ljava/util/Locale;
-Landroid/text/Layout$Alignment;-><init>()V
-Landroid/text/Layout$BreakStrategy;
-Landroid/text/Layout$Direction;
-Landroid/text/Layout$Directions;-><init>([I)V
-Landroid/text/Layout$Directions;->mDirections:[I
-Landroid/text/Layout$Ellipsizer;
-Landroid/text/Layout$Ellipsizer;-><init>(Ljava/lang/CharSequence;)V
-Landroid/text/Layout$Ellipsizer;->mLayout:Landroid/text/Layout;
-Landroid/text/Layout$Ellipsizer;->mMethod:Landroid/text/TextUtils$TruncateAt;
-Landroid/text/Layout$Ellipsizer;->mText:Ljava/lang/CharSequence;
-Landroid/text/Layout$Ellipsizer;->mWidth:I
-Landroid/text/Layout$HorizontalMeasurementProvider;
-Landroid/text/Layout$HorizontalMeasurementProvider;-><init>(IZ)V
-Landroid/text/Layout$HorizontalMeasurementProvider;->get(I)F
-Landroid/text/Layout$HorizontalMeasurementProvider;->init()V
-Landroid/text/Layout$HorizontalMeasurementProvider;->mHorizontals:[F
-Landroid/text/Layout$HorizontalMeasurementProvider;->mLine:I
-Landroid/text/Layout$HorizontalMeasurementProvider;->mLineStartOffset:I
-Landroid/text/Layout$HorizontalMeasurementProvider;->mPrimary:Z
-Landroid/text/Layout$HyphenationFrequency;
-Landroid/text/Layout$JustificationMode;
-Landroid/text/Layout$SelectionRectangleConsumer;
-Landroid/text/Layout$SelectionRectangleConsumer;->accept(FFFFI)V
-Landroid/text/Layout$SpannedEllipsizer;
-Landroid/text/Layout$SpannedEllipsizer;-><init>(Ljava/lang/CharSequence;)V
-Landroid/text/Layout$SpannedEllipsizer;->mSpanned:Landroid/text/Spanned;
-Landroid/text/Layout$TabStops;
-Landroid/text/Layout$TabStops;-><init>(I[Ljava/lang/Object;)V
-Landroid/text/Layout$TabStops;->mIncrement:I
-Landroid/text/Layout$TabStops;->mNumStops:I
-Landroid/text/Layout$TabStops;->mStops:[I
-Landroid/text/Layout$TabStops;->nextDefaultStop(FI)F
-Landroid/text/Layout$TabStops;->nextTab(F)F
-Landroid/text/Layout$TabStops;->reset(I[Ljava/lang/Object;)V
-Landroid/text/Layout$TextSelectionLayout;
-Landroid/text/Layout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FF)V
-Landroid/text/Layout;->addSelection(IIIIILandroid/text/Layout$SelectionRectangleConsumer;)V
-Landroid/text/Layout;->DIR_REQUEST_DEFAULT_RTL:I
-Landroid/text/Layout;->DIR_REQUEST_LTR:I
-Landroid/text/Layout;->DIR_REQUEST_RTL:I
-Landroid/text/Layout;->ellipsize(III[CILandroid/text/TextUtils$TruncateAt;)V
-Landroid/text/Layout;->getDesiredWidth(Ljava/lang/CharSequence;IILandroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;)F
-Landroid/text/Layout;->getDesiredWidthWithLimit(Ljava/lang/CharSequence;IILandroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;F)F
-Landroid/text/Layout;->getHeight(Z)I
-Landroid/text/Layout;->getHorizontal(IZ)F
-Landroid/text/Layout;->getHorizontal(IZIZ)F
-Landroid/text/Layout;->getHorizontal(IZZ)F
-Landroid/text/Layout;->getHyphen(I)I
-Landroid/text/Layout;->getIndentAdjust(ILandroid/text/Layout$Alignment;)I
-Landroid/text/Layout;->getJustifyWidth(I)F
-Landroid/text/Layout;->getLineBottomWithoutSpacing(I)I
-Landroid/text/Layout;->getLineExtent(ILandroid/text/Layout$TabStops;Z)F
-Landroid/text/Layout;->getLineExtent(IZ)F
-Landroid/text/Layout;->getLineExtra(I)I
-Landroid/text/Layout;->getLineHorizontals(IZZ)[F
-Landroid/text/Layout;->getLineStartPos(III)I
-Landroid/text/Layout;->getLineVisibleEnd(III)I
-Landroid/text/Layout;->getOffsetAtStartOf(I)I
-Landroid/text/Layout;->getOffsetForHorizontal(IFZ)I
-Landroid/text/Layout;->getOffsetToLeftRightOf(IZ)I
-Landroid/text/Layout;->getParagraphLeadingMargin(I)I
-Landroid/text/Layout;->getParagraphSpans(Landroid/text/Spanned;IILjava/lang/Class;)[Ljava/lang/Object;
-Landroid/text/Layout;->getRunRange(I)J
-Landroid/text/Layout;->getSelection(IILandroid/text/Layout$SelectionRectangleConsumer;)V
-Landroid/text/Layout;->getTextDirectionHeuristic()Landroid/text/TextDirectionHeuristic;
-Landroid/text/Layout;->isJustificationRequired(I)Z
-Landroid/text/Layout;->mAlignment:Landroid/text/Layout$Alignment;
-Landroid/text/Layout;->measurePara(Landroid/text/TextPaint;Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;)F
-Landroid/text/Layout;->mJustificationMode:I
-Landroid/text/Layout;->mLineBackgroundSpans:Landroid/text/SpanSet;
-Landroid/text/Layout;->mSpacingAdd:F
-Landroid/text/Layout;->mSpacingMult:F
-Landroid/text/Layout;->mSpannedText:Z
-Landroid/text/Layout;->mText:Ljava/lang/CharSequence;
-Landroid/text/Layout;->mTextDir:Landroid/text/TextDirectionHeuristic;
-Landroid/text/Layout;->mWidth:I
-Landroid/text/Layout;->mWorkPaint:Landroid/text/TextPaint;
-Landroid/text/Layout;->nextTab(Ljava/lang/CharSequence;IIF[Ljava/lang/Object;)F
-Landroid/text/Layout;->NO_PARA_SPANS:[Landroid/text/style/ParagraphStyle;
-Landroid/text/Layout;->primaryIsTrailingPrevious(I)Z
-Landroid/text/Layout;->primaryIsTrailingPreviousAllLineOffsets(I)[Z
-Landroid/text/Layout;->replaceWith(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FF)V
-Landroid/text/Layout;->RUN_LENGTH_MASK:I
-Landroid/text/Layout;->RUN_LEVEL_MASK:I
-Landroid/text/Layout;->RUN_LEVEL_SHIFT:I
-Landroid/text/Layout;->RUN_RTL_FLAG:I
-Landroid/text/Layout;->setJustificationMode(I)V
-Landroid/text/Layout;->sTempRect:Landroid/graphics/Rect;
-Landroid/text/Layout;->TAB_INCREMENT:I
-Landroid/text/Layout;->TEXT_SELECTION_LAYOUT_LEFT_TO_RIGHT:I
-Landroid/text/Layout;->TEXT_SELECTION_LAYOUT_RIGHT_TO_LEFT:I
-Landroid/text/LoginFilter$UsernameFilterGeneric;->mAllowed:Ljava/lang/String;
-Landroid/text/LoginFilter;-><init>()V
-Landroid/text/LoginFilter;-><init>(Z)V
-Landroid/text/LoginFilter;->mAppendInvalid:Z
-Landroid/text/MeasuredParagraph;
-Landroid/text/MeasuredParagraph;-><init>()V
-Landroid/text/MeasuredParagraph;->applyMetricsAffectingSpan(Landroid/text/TextPaint;[Landroid/text/style/MetricAffectingSpan;IIJ)V
-Landroid/text/MeasuredParagraph;->applyReplacementRun(Landroid/text/style/ReplacementSpan;IIJ)V
-Landroid/text/MeasuredParagraph;->applyStyleRun(IIJ)V
-Landroid/text/MeasuredParagraph;->bindNativeObject(J)V
-Landroid/text/MeasuredParagraph;->breakText(IZF)I
-Landroid/text/MeasuredParagraph;->buildForBidi(Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;Landroid/text/MeasuredParagraph;)Landroid/text/MeasuredParagraph;
-Landroid/text/MeasuredParagraph;->buildForMeasurement(Landroid/text/TextPaint;Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;Landroid/text/MeasuredParagraph;)Landroid/text/MeasuredParagraph;
-Landroid/text/MeasuredParagraph;->buildForStaticLayout(Landroid/text/TextPaint;Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;ZZLandroid/text/MeasuredParagraph;)Landroid/text/MeasuredParagraph;
-Landroid/text/MeasuredParagraph;->getBounds(IILandroid/graphics/Rect;)V
-Landroid/text/MeasuredParagraph;->getChars()[C
-Landroid/text/MeasuredParagraph;->getDirections(II)Landroid/text/Layout$Directions;
-Landroid/text/MeasuredParagraph;->getFontMetrics()Landroid/text/AutoGrowArray$IntArray;
-Landroid/text/MeasuredParagraph;->getMemoryUsage()I
-Landroid/text/MeasuredParagraph;->getNativePtr()J
-Landroid/text/MeasuredParagraph;->getParagraphDir()I
-Landroid/text/MeasuredParagraph;->getSpanEndCache()Landroid/text/AutoGrowArray$IntArray;
-Landroid/text/MeasuredParagraph;->getTextLength()I
-Landroid/text/MeasuredParagraph;->getWholeWidth()F
-Landroid/text/MeasuredParagraph;->getWidth(II)F
-Landroid/text/MeasuredParagraph;->getWidths()Landroid/text/AutoGrowArray$FloatArray;
-Landroid/text/MeasuredParagraph;->mCachedFm:Landroid/graphics/Paint$FontMetricsInt;
-Landroid/text/MeasuredParagraph;->mCachedPaint:Landroid/text/TextPaint;
-Landroid/text/MeasuredParagraph;->mCopiedBuffer:[C
-Landroid/text/MeasuredParagraph;->measure(II)F
-Landroid/text/MeasuredParagraph;->mFontMetrics:Landroid/text/AutoGrowArray$IntArray;
-Landroid/text/MeasuredParagraph;->mLevels:Landroid/text/AutoGrowArray$ByteArray;
-Landroid/text/MeasuredParagraph;->mLtrWithoutBidi:Z
-Landroid/text/MeasuredParagraph;->mNativeObjectCleaner:Ljava/lang/Runnable;
-Landroid/text/MeasuredParagraph;->mNativePtr:J
-Landroid/text/MeasuredParagraph;->mParaDir:I
-Landroid/text/MeasuredParagraph;->mSpanEndCache:Landroid/text/AutoGrowArray$IntArray;
-Landroid/text/MeasuredParagraph;->mSpanned:Landroid/text/Spanned;
-Landroid/text/MeasuredParagraph;->mTextLength:I
-Landroid/text/MeasuredParagraph;->mTextStart:I
-Landroid/text/MeasuredParagraph;->mWholeWidth:F
-Landroid/text/MeasuredParagraph;->mWidths:Landroid/text/AutoGrowArray$FloatArray;
-Landroid/text/MeasuredParagraph;->nAddReplacementRun(JJIIF)V
-Landroid/text/MeasuredParagraph;->nAddStyleRun(JJIIZ)V
-Landroid/text/MeasuredParagraph;->nBuildNativeMeasuredParagraph(J[CZZ)J
-Landroid/text/MeasuredParagraph;->nFreeBuilder(J)V
-Landroid/text/MeasuredParagraph;->nGetBounds(J[CIILandroid/graphics/Rect;)V
-Landroid/text/MeasuredParagraph;->nGetMemoryUsage(J)I
-Landroid/text/MeasuredParagraph;->nGetReleaseFunc()J
-Landroid/text/MeasuredParagraph;->nGetWidth(JII)F
-Landroid/text/MeasuredParagraph;->nInitBuilder()J
-Landroid/text/MeasuredParagraph;->OBJECT_REPLACEMENT_CHARACTER:C
-Landroid/text/MeasuredParagraph;->obtain()Landroid/text/MeasuredParagraph;
-Landroid/text/MeasuredParagraph;->recycle()V
-Landroid/text/MeasuredParagraph;->release()V
-Landroid/text/MeasuredParagraph;->reset()V
-Landroid/text/MeasuredParagraph;->resetAndAnalyzeBidi(Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;)V
-Landroid/text/MeasuredParagraph;->sPool:Landroid/util/Pools$SynchronizedPool;
-Landroid/text/MeasuredParagraph;->sRegistry:Llibcore/util/NativeAllocationRegistry;
-Landroid/text/MeasuredParagraph;->unbindNativeObject()V
-Landroid/text/method/AllCapsTransformationMethod;
-Landroid/text/method/AllCapsTransformationMethod;->mEnabled:Z
-Landroid/text/method/AllCapsTransformationMethod;->mLocale:Ljava/util/Locale;
-Landroid/text/method/AllCapsTransformationMethod;->setLengthChangesAllowed(Z)V
-Landroid/text/method/AllCapsTransformationMethod;->TAG:Ljava/lang/String;
-Landroid/text/method/ArrowKeyMovementMethod;->getCurrentLineTop(Landroid/text/Spannable;Landroid/text/Layout;)I
-Landroid/text/method/ArrowKeyMovementMethod;->getPageHeight(Landroid/widget/TextView;)I
-Landroid/text/method/ArrowKeyMovementMethod;->isSelecting(Landroid/text/Spannable;)Z
-Landroid/text/method/ArrowKeyMovementMethod;->LAST_TAP_DOWN:Ljava/lang/Object;
-Landroid/text/method/ArrowKeyMovementMethod;->leftWord(Landroid/widget/TextView;Landroid/text/Spannable;)Z
-Landroid/text/method/ArrowKeyMovementMethod;->rightWord(Landroid/widget/TextView;Landroid/text/Spannable;)Z
-Landroid/text/method/ArrowKeyMovementMethod;->sInstance:Landroid/text/method/ArrowKeyMovementMethod;
-Landroid/text/method/BaseKeyListener;->adjustReplacementSpan(Ljava/lang/CharSequence;IZ)I
-Landroid/text/method/BaseKeyListener;->backspaceOrForwardDelete(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;Z)Z
-Landroid/text/method/BaseKeyListener;->CARRIAGE_RETURN:I
-Landroid/text/method/BaseKeyListener;->deleteLine(Landroid/view/View;Landroid/text/Editable;)Z
-Landroid/text/method/BaseKeyListener;->deleteSelection(Landroid/view/View;Landroid/text/Editable;)Z
-Landroid/text/method/BaseKeyListener;->deleteUntilWordBoundary(Landroid/view/View;Landroid/text/Editable;Z)Z
-Landroid/text/method/BaseKeyListener;->getOffsetForBackspaceKey(Ljava/lang/CharSequence;I)I
-Landroid/text/method/BaseKeyListener;->getOffsetForForwardDeleteKey(Ljava/lang/CharSequence;ILandroid/graphics/Paint;)I
-Landroid/text/method/BaseKeyListener;->isVariationSelector(I)Z
-Landroid/text/method/BaseKeyListener;->LINE_FEED:I
-Landroid/text/method/BaseKeyListener;->makeTextContentType(Landroid/text/method/TextKeyListener$Capitalize;Z)I
-Landroid/text/method/BaseKeyListener;->mLock:Ljava/lang/Object;
-Landroid/text/method/BaseKeyListener;->OLD_SEL_START:Ljava/lang/Object;
-Landroid/text/method/BaseKeyListener;->sCachedPaint:Landroid/graphics/Paint;
-Landroid/text/method/BaseMovementMethod;->getBottomLine(Landroid/widget/TextView;)I
-Landroid/text/method/BaseMovementMethod;->getCharacterWidth(Landroid/widget/TextView;)I
-Landroid/text/method/BaseMovementMethod;->getInnerHeight(Landroid/widget/TextView;)I
-Landroid/text/method/BaseMovementMethod;->getInnerWidth(Landroid/widget/TextView;)I
-Landroid/text/method/BaseMovementMethod;->getScrollBoundsLeft(Landroid/widget/TextView;)I
-Landroid/text/method/BaseMovementMethod;->getScrollBoundsRight(Landroid/widget/TextView;)I
-Landroid/text/method/BaseMovementMethod;->getTopLine(Landroid/widget/TextView;)I
-Landroid/text/method/BaseMovementMethod;->leftWord(Landroid/widget/TextView;Landroid/text/Spannable;)Z
-Landroid/text/method/BaseMovementMethod;->rightWord(Landroid/widget/TextView;Landroid/text/Spannable;)Z
-Landroid/text/method/BaseMovementMethod;->scrollBottom(Landroid/widget/TextView;Landroid/text/Spannable;)Z
-Landroid/text/method/BaseMovementMethod;->scrollDown(Landroid/widget/TextView;Landroid/text/Spannable;I)Z
-Landroid/text/method/BaseMovementMethod;->scrollLeft(Landroid/widget/TextView;Landroid/text/Spannable;I)Z
-Landroid/text/method/BaseMovementMethod;->scrollLineEnd(Landroid/widget/TextView;Landroid/text/Spannable;)Z
-Landroid/text/method/BaseMovementMethod;->scrollLineStart(Landroid/widget/TextView;Landroid/text/Spannable;)Z
-Landroid/text/method/BaseMovementMethod;->scrollPageDown(Landroid/widget/TextView;Landroid/text/Spannable;)Z
-Landroid/text/method/BaseMovementMethod;->scrollPageUp(Landroid/widget/TextView;Landroid/text/Spannable;)Z
-Landroid/text/method/BaseMovementMethod;->scrollRight(Landroid/widget/TextView;Landroid/text/Spannable;I)Z
-Landroid/text/method/BaseMovementMethod;->scrollTop(Landroid/widget/TextView;Landroid/text/Spannable;)Z
-Landroid/text/method/BaseMovementMethod;->scrollUp(Landroid/widget/TextView;Landroid/text/Spannable;I)Z
-Landroid/text/method/CharacterPickerDialog$OptionsAdapter;
-Landroid/text/method/CharacterPickerDialog$OptionsAdapter;-><init>(Landroid/content/Context;)V
-Landroid/text/method/CharacterPickerDialog;->mCancelButton:Landroid/widget/Button;
-Landroid/text/method/CharacterPickerDialog;->mInflater:Landroid/view/LayoutInflater;
-Landroid/text/method/CharacterPickerDialog;->mInsert:Z
-Landroid/text/method/CharacterPickerDialog;->mOptions:Ljava/lang/String;
-Landroid/text/method/CharacterPickerDialog;->mText:Landroid/text/Editable;
-Landroid/text/method/CharacterPickerDialog;->mView:Landroid/view/View;
-Landroid/text/method/CharacterPickerDialog;->replaceCharacterAndClose(Ljava/lang/CharSequence;)V
-Landroid/text/method/DateKeyListener;->mCharacters:[C
-Landroid/text/method/DateKeyListener;->mNeedsAdvancedInput:Z
-Landroid/text/method/DateKeyListener;->sInstanceCache:Ljava/util/HashMap;
-Landroid/text/method/DateKeyListener;->SKELETONS:[Ljava/lang/String;
-Landroid/text/method/DateKeyListener;->sLock:Ljava/lang/Object;
-Landroid/text/method/DateKeyListener;->SYMBOLS_TO_IGNORE:Ljava/lang/String;
-Landroid/text/method/DateTimeKeyListener;->mCharacters:[C
-Landroid/text/method/DateTimeKeyListener;->mNeedsAdvancedInput:Z
-Landroid/text/method/DateTimeKeyListener;->sInstanceCache:Ljava/util/HashMap;
-Landroid/text/method/DateTimeKeyListener;->SKELETON_12HOUR:Ljava/lang/String;
-Landroid/text/method/DateTimeKeyListener;->SKELETON_24HOUR:Ljava/lang/String;
-Landroid/text/method/DateTimeKeyListener;->sLock:Ljava/lang/Object;
-Landroid/text/method/DateTimeKeyListener;->SYMBOLS_TO_IGNORE:Ljava/lang/String;
-Landroid/text/method/DialerKeyListener;->sInstance:Landroid/text/method/DialerKeyListener;
-Landroid/text/method/DigitsKeyListener;-><init>(Ljava/lang/String;)V
-Landroid/text/method/DigitsKeyListener;->calculateNeedForAdvancedInput()V
-Landroid/text/method/DigitsKeyListener;->COMPATIBILITY_CHARACTERS:[[C
-Landroid/text/method/DigitsKeyListener;->DECIMAL:I
-Landroid/text/method/DigitsKeyListener;->DEFAULT_DECIMAL_POINT_CHARS:Ljava/lang/String;
-Landroid/text/method/DigitsKeyListener;->DEFAULT_SIGN_CHARS:Ljava/lang/String;
-Landroid/text/method/DigitsKeyListener;->EN_DASH:C
-Landroid/text/method/DigitsKeyListener;->getInstance(Ljava/util/Locale;Landroid/text/method/DigitsKeyListener;)Landroid/text/method/DigitsKeyListener;
-Landroid/text/method/DigitsKeyListener;->HYPHEN_MINUS:C
-Landroid/text/method/DigitsKeyListener;->isDecimalPointChar(C)Z
-Landroid/text/method/DigitsKeyListener;->isSignChar(C)Z
-Landroid/text/method/DigitsKeyListener;->mAccepted:[C
-Landroid/text/method/DigitsKeyListener;->mDecimal:Z
-Landroid/text/method/DigitsKeyListener;->mDecimalPointChars:Ljava/lang/String;
-Landroid/text/method/DigitsKeyListener;->MINUS_SIGN:C
-Landroid/text/method/DigitsKeyListener;->mLocale:Ljava/util/Locale;
-Landroid/text/method/DigitsKeyListener;->mNeedsAdvancedInput:Z
-Landroid/text/method/DigitsKeyListener;->mSign:Z
-Landroid/text/method/DigitsKeyListener;->mSignChars:Ljava/lang/String;
-Landroid/text/method/DigitsKeyListener;->mStringMode:Z
-Landroid/text/method/DigitsKeyListener;->setToCompat()V
-Landroid/text/method/DigitsKeyListener;->SIGN:I
-Landroid/text/method/DigitsKeyListener;->sLocaleCacheLock:Ljava/lang/Object;
-Landroid/text/method/DigitsKeyListener;->sLocaleInstanceCache:Ljava/util/HashMap;
-Landroid/text/method/DigitsKeyListener;->sStringCacheLock:Ljava/lang/Object;
-Landroid/text/method/DigitsKeyListener;->sStringInstanceCache:Ljava/util/HashMap;
-Landroid/text/method/DigitsKeyListener;->stripBidiControls(Ljava/lang/String;)Ljava/lang/String;
-Landroid/text/method/HideReturnsTransformationMethod;->ORIGINAL:[C
-Landroid/text/method/HideReturnsTransformationMethod;->REPLACEMENT:[C
-Landroid/text/method/LinkMovementMethod;->action(ILandroid/widget/TextView;Landroid/text/Spannable;)Z
-Landroid/text/method/LinkMovementMethod;->CLICK:I
-Landroid/text/method/LinkMovementMethod;->DOWN:I
-Landroid/text/method/LinkMovementMethod;->FROM_BELOW:Ljava/lang/Object;
-Landroid/text/method/LinkMovementMethod;->HIDE_FLOATING_TOOLBAR_DELAY_MS:I
-Landroid/text/method/LinkMovementMethod;->UP:I
-Landroid/text/method/MetaKeyKeyListener;->adjust(Landroid/text/Spannable;Ljava/lang/Object;)V
-Landroid/text/method/MetaKeyKeyListener;->ALT:Ljava/lang/Object;
-Landroid/text/method/MetaKeyKeyListener;->CAP:Ljava/lang/Object;
-Landroid/text/method/MetaKeyKeyListener;->getActive(Ljava/lang/CharSequence;Ljava/lang/Object;II)I
-Landroid/text/method/MetaKeyKeyListener;->LOCKED:I
-Landroid/text/method/MetaKeyKeyListener;->LOCKED_RETURN_VALUE:I
-Landroid/text/method/MetaKeyKeyListener;->META_ALT_MASK:J
-Landroid/text/method/MetaKeyKeyListener;->META_ALT_PRESSED:J
-Landroid/text/method/MetaKeyKeyListener;->META_ALT_RELEASED:J
-Landroid/text/method/MetaKeyKeyListener;->META_ALT_USED:J
-Landroid/text/method/MetaKeyKeyListener;->META_CAP_PRESSED:J
-Landroid/text/method/MetaKeyKeyListener;->META_CAP_RELEASED:J
-Landroid/text/method/MetaKeyKeyListener;->META_CAP_USED:J
-Landroid/text/method/MetaKeyKeyListener;->META_SELECTING:I
-Landroid/text/method/MetaKeyKeyListener;->META_SHIFT_MASK:J
-Landroid/text/method/MetaKeyKeyListener;->META_SYM_MASK:J
-Landroid/text/method/MetaKeyKeyListener;->META_SYM_PRESSED:J
-Landroid/text/method/MetaKeyKeyListener;->META_SYM_RELEASED:J
-Landroid/text/method/MetaKeyKeyListener;->META_SYM_USED:J
-Landroid/text/method/MetaKeyKeyListener;->press(JIJJJJJ)J
-Landroid/text/method/MetaKeyKeyListener;->press(Landroid/text/Editable;Ljava/lang/Object;)V
-Landroid/text/method/MetaKeyKeyListener;->PRESSED:I
-Landroid/text/method/MetaKeyKeyListener;->PRESSED_RETURN_VALUE:I
-Landroid/text/method/MetaKeyKeyListener;->release(JIJJJJLandroid/view/KeyEvent;)J
-Landroid/text/method/MetaKeyKeyListener;->release(Landroid/text/Editable;Ljava/lang/Object;Landroid/view/KeyEvent;)V
-Landroid/text/method/MetaKeyKeyListener;->RELEASED:I
-Landroid/text/method/MetaKeyKeyListener;->resetLock(Landroid/text/Spannable;Ljava/lang/Object;)V
-Landroid/text/method/MetaKeyKeyListener;->SELECTING:Ljava/lang/Object;
-Landroid/text/method/MetaKeyKeyListener;->SYM:Ljava/lang/Object;
-Landroid/text/method/MetaKeyKeyListener;->USED:I
-Landroid/text/method/MultiTapKeyListener$Timeout;
-Landroid/text/method/MultiTapKeyListener$Timeout;-><init>(Landroid/text/Editable;)V
-Landroid/text/method/MultiTapKeyListener$Timeout;->mBuffer:Landroid/text/Editable;
-Landroid/text/method/MultiTapKeyListener;->mAutoText:Z
-Landroid/text/method/MultiTapKeyListener;->mCapitalize:Landroid/text/method/TextKeyListener$Capitalize;
-Landroid/text/method/MultiTapKeyListener;->removeTimeouts(Landroid/text/Spannable;)V
-Landroid/text/method/MultiTapKeyListener;->sInstance:[Landroid/text/method/MultiTapKeyListener;
-Landroid/text/method/MultiTapKeyListener;->sRecs:Landroid/util/SparseArray;
-Landroid/text/method/NumberKeyListener;->addAmPmChars(Ljava/util/Collection;Ljava/util/Locale;)Z
-Landroid/text/method/NumberKeyListener;->addDigits(Ljava/util/Collection;Ljava/util/Locale;)Z
-Landroid/text/method/NumberKeyListener;->addFormatCharsFromSkeleton(Ljava/util/Collection;Ljava/util/Locale;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/text/method/NumberKeyListener;->addFormatCharsFromSkeletons(Ljava/util/Collection;Ljava/util/Locale;[Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/text/method/NumberKeyListener;->collectionToArray(Ljava/util/Collection;)[C
-Landroid/text/method/NumberKeyListener;->DATE_TIME_FORMAT_SYMBOLS:Ljava/lang/String;
-Landroid/text/method/NumberKeyListener;->SINGLE_QUOTE:C
-Landroid/text/method/PasswordTransformationMethod$PasswordCharSequence;
-Landroid/text/method/PasswordTransformationMethod$PasswordCharSequence;-><init>(Ljava/lang/CharSequence;)V
-Landroid/text/method/PasswordTransformationMethod$PasswordCharSequence;->mSource:Ljava/lang/CharSequence;
-Landroid/text/method/PasswordTransformationMethod$ViewReference;
-Landroid/text/method/PasswordTransformationMethod$ViewReference;-><init>(Landroid/view/View;)V
-Landroid/text/method/PasswordTransformationMethod$Visible;
-Landroid/text/method/PasswordTransformationMethod$Visible;-><init>(Landroid/text/Spannable;Landroid/text/method/PasswordTransformationMethod;)V
-Landroid/text/method/PasswordTransformationMethod$Visible;->mText:Landroid/text/Spannable;
-Landroid/text/method/PasswordTransformationMethod$Visible;->mTransformer:Landroid/text/method/PasswordTransformationMethod;
-Landroid/text/method/PasswordTransformationMethod;->removeVisibleSpans(Landroid/text/Spannable;)V
-Landroid/text/method/QwertyKeyListener$Replaced;
-Landroid/text/method/QwertyKeyListener$Replaced;-><init>([C)V
-Landroid/text/method/QwertyKeyListener$Replaced;->mText:[C
-Landroid/text/method/QwertyKeyListener;-><init>(Landroid/text/method/TextKeyListener$Capitalize;ZZ)V
-Landroid/text/method/QwertyKeyListener;->getReplacement(Ljava/lang/CharSequence;IILandroid/view/View;)Ljava/lang/String;
-Landroid/text/method/QwertyKeyListener;->mAutoCap:Landroid/text/method/TextKeyListener$Capitalize;
-Landroid/text/method/QwertyKeyListener;->mAutoText:Z
-Landroid/text/method/QwertyKeyListener;->mFullKeyboard:Z
-Landroid/text/method/QwertyKeyListener;->PICKER_SETS:Landroid/util/SparseArray;
-Landroid/text/method/QwertyKeyListener;->sFullKeyboardInstance:Landroid/text/method/QwertyKeyListener;
-Landroid/text/method/QwertyKeyListener;->showCharacterPicker(Landroid/view/View;Landroid/text/Editable;CZI)Z
-Landroid/text/method/QwertyKeyListener;->sInstance:[Landroid/text/method/QwertyKeyListener;
-Landroid/text/method/QwertyKeyListener;->toTitleCase(Ljava/lang/String;)Ljava/lang/String;
-Landroid/text/method/ReplacementTransformationMethod$ReplacementCharSequence;
-Landroid/text/method/ReplacementTransformationMethod$ReplacementCharSequence;-><init>(Ljava/lang/CharSequence;[C[C)V
-Landroid/text/method/ReplacementTransformationMethod$ReplacementCharSequence;->mOriginal:[C
-Landroid/text/method/ReplacementTransformationMethod$ReplacementCharSequence;->mReplacement:[C
-Landroid/text/method/ReplacementTransformationMethod$ReplacementCharSequence;->mSource:Ljava/lang/CharSequence;
-Landroid/text/method/ReplacementTransformationMethod$SpannedReplacementCharSequence;
-Landroid/text/method/ReplacementTransformationMethod$SpannedReplacementCharSequence;-><init>(Landroid/text/Spanned;[C[C)V
-Landroid/text/method/ReplacementTransformationMethod$SpannedReplacementCharSequence;->mSpanned:Landroid/text/Spanned;
-Landroid/text/method/ScrollingMovementMethod;->sInstance:Landroid/text/method/ScrollingMovementMethod;
-Landroid/text/method/SingleLineTransformationMethod;->ORIGINAL:[C
-Landroid/text/method/SingleLineTransformationMethod;->REPLACEMENT:[C
-Landroid/text/method/SingleLineTransformationMethod;->sInstance:Landroid/text/method/SingleLineTransformationMethod;
-Landroid/text/method/TextKeyListener$Capitalize;-><init>()V
-Landroid/text/method/TextKeyListener$NullKeyListener;
-Landroid/text/method/TextKeyListener$NullKeyListener;-><init>()V
-Landroid/text/method/TextKeyListener$NullKeyListener;->getInstance()Landroid/text/method/TextKeyListener$NullKeyListener;
-Landroid/text/method/TextKeyListener$NullKeyListener;->sInstance:Landroid/text/method/TextKeyListener$NullKeyListener;
-Landroid/text/method/TextKeyListener$SettingsObserver;
-Landroid/text/method/TextKeyListener$SettingsObserver;-><init>()V
-Landroid/text/method/TextKeyListener;->ACTIVE:Ljava/lang/Object;
-Landroid/text/method/TextKeyListener;->AUTO_CAP:I
-Landroid/text/method/TextKeyListener;->AUTO_PERIOD:I
-Landroid/text/method/TextKeyListener;->AUTO_TEXT:I
-Landroid/text/method/TextKeyListener;->CAPPED:Ljava/lang/Object;
-Landroid/text/method/TextKeyListener;->getKeyListener(Landroid/view/KeyEvent;)Landroid/text/method/KeyListener;
-Landroid/text/method/TextKeyListener;->getPrefs(Landroid/content/Context;)I
-Landroid/text/method/TextKeyListener;->INHIBIT_REPLACEMENT:Ljava/lang/Object;
-Landroid/text/method/TextKeyListener;->initPrefs(Landroid/content/Context;)V
-Landroid/text/method/TextKeyListener;->LAST_TYPED:Ljava/lang/Object;
-Landroid/text/method/TextKeyListener;->mAutoCap:Landroid/text/method/TextKeyListener$Capitalize;
-Landroid/text/method/TextKeyListener;->mAutoText:Z
-Landroid/text/method/TextKeyListener;->mObserver:Landroid/text/method/TextKeyListener$SettingsObserver;
-Landroid/text/method/TextKeyListener;->mPrefs:I
-Landroid/text/method/TextKeyListener;->mPrefsInited:Z
-Landroid/text/method/TextKeyListener;->mResolver:Ljava/lang/ref/WeakReference;
-Landroid/text/method/TextKeyListener;->SHOW_PASSWORD:I
-Landroid/text/method/TextKeyListener;->sInstance:[Landroid/text/method/TextKeyListener;
-Landroid/text/method/TextKeyListener;->updatePrefs(Landroid/content/ContentResolver;)V
-Landroid/text/method/TimeKeyListener;->mCharacters:[C
-Landroid/text/method/TimeKeyListener;->mNeedsAdvancedInput:Z
-Landroid/text/method/TimeKeyListener;->sInstanceCache:Ljava/util/HashMap;
-Landroid/text/method/TimeKeyListener;->SKELETON_12HOUR:Ljava/lang/String;
-Landroid/text/method/TimeKeyListener;->SKELETON_24HOUR:Ljava/lang/String;
-Landroid/text/method/TimeKeyListener;->sLock:Ljava/lang/Object;
-Landroid/text/method/TimeKeyListener;->SYMBOLS_TO_IGNORE:Ljava/lang/String;
-Landroid/text/method/Touch$DragState;
-Landroid/text/method/Touch$DragState;-><init>(FFII)V
-Landroid/text/method/Touch$DragState;->mFarEnough:Z
-Landroid/text/method/Touch$DragState;->mScrollX:I
-Landroid/text/method/Touch$DragState;->mScrollY:I
-Landroid/text/method/Touch$DragState;->mUsed:Z
-Landroid/text/method/Touch$DragState;->mX:F
-Landroid/text/method/Touch$DragState;->mY:F
-Landroid/text/method/Touch;-><init>()V
-Landroid/text/method/TransformationMethod2;
-Landroid/text/method/WordIterator;
-Landroid/text/method/WordIterator;-><init>()V
-Landroid/text/method/WordIterator;->checkOffsetIsValid(I)V
-Landroid/text/method/WordIterator;->getBeginning(IZ)I
-Landroid/text/method/WordIterator;->getEnd(IZ)I
-Landroid/text/method/WordIterator;->isAfterLetterOrDigit(I)Z
-Landroid/text/method/WordIterator;->isMidWordPunctuation(Ljava/util/Locale;I)Z
-Landroid/text/method/WordIterator;->isOnLetterOrDigit(I)Z
-Landroid/text/method/WordIterator;->isPunctuation(I)Z
-Landroid/text/method/WordIterator;->isPunctuationEndBoundary(I)Z
-Landroid/text/method/WordIterator;->isPunctuationStartBoundary(I)Z
-Landroid/text/method/WordIterator;->mCharSeq:Ljava/lang/CharSequence;
-Landroid/text/method/WordIterator;->mEnd:I
-Landroid/text/method/WordIterator;->mIterator:Landroid/icu/text/BreakIterator;
-Landroid/text/method/WordIterator;->mStart:I
-Landroid/text/method/WordIterator;->WINDOW_WIDTH:I
-Landroid/text/PackedIntVector;
-Landroid/text/PackedIntVector;-><init>(I)V
-Landroid/text/PackedIntVector;->adjustValuesBelow(III)V
-Landroid/text/PackedIntVector;->deleteAt(II)V
-Landroid/text/PackedIntVector;->getValue(II)I
-Landroid/text/PackedIntVector;->growBuffer()V
-Landroid/text/PackedIntVector;->insertAt(I[I)V
-Landroid/text/PackedIntVector;->mColumns:I
-Landroid/text/PackedIntVector;->moveRowGapTo(I)V
-Landroid/text/PackedIntVector;->moveValueGapTo(II)V
-Landroid/text/PackedIntVector;->mRowGapLength:I
-Landroid/text/PackedIntVector;->mRowGapStart:I
-Landroid/text/PackedIntVector;->mRows:I
-Landroid/text/PackedIntVector;->mValueGap:[I
-Landroid/text/PackedIntVector;->mValues:[I
-Landroid/text/PackedIntVector;->setValue(III)V
-Landroid/text/PackedIntVector;->setValueInternal(III)V
-Landroid/text/PackedIntVector;->size()I
-Landroid/text/PackedIntVector;->width()I
-Landroid/text/PackedObjectVector;
-Landroid/text/PackedObjectVector;-><init>(I)V
-Landroid/text/PackedObjectVector;->deleteAt(II)V
-Landroid/text/PackedObjectVector;->dump()V
-Landroid/text/PackedObjectVector;->getValue(II)Ljava/lang/Object;
-Landroid/text/PackedObjectVector;->growBuffer()V
-Landroid/text/PackedObjectVector;->insertAt(I[Ljava/lang/Object;)V
-Landroid/text/PackedObjectVector;->mColumns:I
-Landroid/text/PackedObjectVector;->moveRowGapTo(I)V
-Landroid/text/PackedObjectVector;->mRowGapLength:I
-Landroid/text/PackedObjectVector;->mRowGapStart:I
-Landroid/text/PackedObjectVector;->mRows:I
-Landroid/text/PackedObjectVector;->mValues:[Ljava/lang/Object;
-Landroid/text/PackedObjectVector;->setValue(IILjava/lang/Object;)V
-Landroid/text/PackedObjectVector;->size()I
-Landroid/text/PackedObjectVector;->width()I
-Landroid/text/ParcelableSpan;->getSpanTypeIdInternal()I
-Landroid/text/ParcelableSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/PrecomputedText$ParagraphInfo;
-Landroid/text/PrecomputedText$ParagraphInfo;-><init>(ILandroid/text/MeasuredParagraph;)V
-Landroid/text/PrecomputedText$ParagraphInfo;->measured:Landroid/text/MeasuredParagraph;
-Landroid/text/PrecomputedText$ParagraphInfo;->paragraphEnd:I
-Landroid/text/PrecomputedText$Params$Builder;->mBreakStrategy:I
-Landroid/text/PrecomputedText$Params$Builder;->mHyphenationFrequency:I
-Landroid/text/PrecomputedText$Params$Builder;->mPaint:Landroid/text/TextPaint;
-Landroid/text/PrecomputedText$Params$Builder;->mTextDir:Landroid/text/TextDirectionHeuristic;
-Landroid/text/PrecomputedText$Params;-><init>(Landroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;II)V
-Landroid/text/PrecomputedText$Params;->isSameTextMetricsInternal(Landroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;II)Z
-Landroid/text/PrecomputedText$Params;->mBreakStrategy:I
-Landroid/text/PrecomputedText$Params;->mHyphenationFrequency:I
-Landroid/text/PrecomputedText$Params;->mPaint:Landroid/text/TextPaint;
-Landroid/text/PrecomputedText$Params;->mTextDir:Landroid/text/TextDirectionHeuristic;
-Landroid/text/PrecomputedText;-><init>(Ljava/lang/CharSequence;IILandroid/text/PrecomputedText$Params;[Landroid/text/PrecomputedText$ParagraphInfo;)V
-Landroid/text/PrecomputedText;->canUseMeasuredResult(IILandroid/text/TextDirectionHeuristic;Landroid/text/TextPaint;II)Z
-Landroid/text/PrecomputedText;->createMeasuredParagraphs(Ljava/lang/CharSequence;Landroid/text/PrecomputedText$Params;IIZ)[Landroid/text/PrecomputedText$ParagraphInfo;
-Landroid/text/PrecomputedText;->findParaIndex(I)I
-Landroid/text/PrecomputedText;->getEnd()I
-Landroid/text/PrecomputedText;->getMeasuredParagraph(I)Landroid/text/MeasuredParagraph;
-Landroid/text/PrecomputedText;->getMemoryUsage()I
-Landroid/text/PrecomputedText;->getParagraphInfo()[Landroid/text/PrecomputedText$ParagraphInfo;
-Landroid/text/PrecomputedText;->getStart()I
-Landroid/text/PrecomputedText;->getText()Ljava/lang/CharSequence;
-Landroid/text/PrecomputedText;->LINE_FEED:C
-Landroid/text/PrecomputedText;->mEnd:I
-Landroid/text/PrecomputedText;->mParagraphInfo:[Landroid/text/PrecomputedText$ParagraphInfo;
-Landroid/text/PrecomputedText;->mParams:Landroid/text/PrecomputedText$Params;
-Landroid/text/PrecomputedText;->mStart:I
-Landroid/text/PrecomputedText;->mText:Landroid/text/SpannableString;
-Landroid/text/Selection$END;
-Landroid/text/Selection$END;-><init>()V
-Landroid/text/Selection$MEMORY;
-Landroid/text/Selection$MEMORY;-><init>()V
-Landroid/text/Selection$PositionIterator;
-Landroid/text/Selection$PositionIterator;->DONE:I
-Landroid/text/Selection$PositionIterator;->following(I)I
-Landroid/text/Selection$PositionIterator;->preceding(I)I
-Landroid/text/Selection$START;
-Landroid/text/Selection$START;-><init>()V
-Landroid/text/Selection;-><init>()V
-Landroid/text/Selection;->chooseHorizontal(Landroid/text/Layout;III)I
-Landroid/text/Selection;->extendSelection(Landroid/text/Spannable;II)V
-Landroid/text/Selection;->findEdge(Landroid/text/Spannable;Landroid/text/Layout;I)I
-Landroid/text/Selection;->getSelectionMemory(Ljava/lang/CharSequence;)I
-Landroid/text/Selection;->removeMemory(Landroid/text/Spannable;)V
-Landroid/text/Selection;->SELECTION_MEMORY:Ljava/lang/Object;
-Landroid/text/Selection;->setSelection(Landroid/text/Spannable;III)V
-Landroid/text/Selection;->setSelectionAndMemory(Landroid/text/Spannable;Landroid/text/Layout;IIIZ)V
-Landroid/text/Selection;->updateMemory(Landroid/text/Spannable;I)V
-Landroid/text/Spannable$Factory;->sInstance:Landroid/text/Spannable$Factory;
-Landroid/text/Spannable;->removeSpan(Ljava/lang/Object;I)V
-Landroid/text/SpannableString;-><init>(Ljava/lang/CharSequence;II)V
-Landroid/text/SpannableString;-><init>(Ljava/lang/CharSequence;Z)V
-Landroid/text/SpannableStringBuilder;->calcMax(I)I
-Landroid/text/SpannableStringBuilder;->change(IILjava/lang/CharSequence;II)V
-Landroid/text/SpannableStringBuilder;->checkRange(Ljava/lang/String;II)V
-Landroid/text/SpannableStringBuilder;->checkSortBuffer([II)[I
-Landroid/text/SpannableStringBuilder;->compareSpans(II[I[I)I
-Landroid/text/SpannableStringBuilder;->countSpans(IILjava/lang/Class;I)I
-Landroid/text/SpannableStringBuilder;->drawText(Landroid/graphics/BaseCanvas;IIFFLandroid/graphics/Paint;)V
-Landroid/text/SpannableStringBuilder;->drawTextRun(Landroid/graphics/BaseCanvas;IIIIFFZLandroid/graphics/Paint;)V
-Landroid/text/SpannableStringBuilder;->END_MASK:I
-Landroid/text/SpannableStringBuilder;->getSpansRec(IILjava/lang/Class;I[Ljava/lang/Object;[I[IIZ)I
-Landroid/text/SpannableStringBuilder;->getTextRunAdvances(IIIIZ[FILandroid/graphics/Paint;)F
-Landroid/text/SpannableStringBuilder;->getTextWidths(II[FLandroid/graphics/Paint;)I
-Landroid/text/SpannableStringBuilder;->hasNonExclusiveExclusiveSpanAt(Ljava/lang/CharSequence;I)Z
-Landroid/text/SpannableStringBuilder;->invalidateIndex(I)V
-Landroid/text/SpannableStringBuilder;->isInvalidParagraph(II)Z
-Landroid/text/SpannableStringBuilder;->leftChild(I)I
-Landroid/text/SpannableStringBuilder;->MARK:I
-Landroid/text/SpannableStringBuilder;->measureText(IILandroid/graphics/Paint;)F
-Landroid/text/SpannableStringBuilder;->mFilters:[Landroid/text/InputFilter;
-Landroid/text/SpannableStringBuilder;->mIndexOfSpan:Ljava/util/IdentityHashMap;
-Landroid/text/SpannableStringBuilder;->mLowWaterMark:I
-Landroid/text/SpannableStringBuilder;->moveGapTo(I)V
-Landroid/text/SpannableStringBuilder;->mSpanInsertCount:I
-Landroid/text/SpannableStringBuilder;->mSpanMax:[I
-Landroid/text/SpannableStringBuilder;->mSpanOrder:[I
-Landroid/text/SpannableStringBuilder;->mTextWatcherDepth:I
-Landroid/text/SpannableStringBuilder;->nextSpanTransitionRec(IILjava/lang/Class;I)I
-Landroid/text/SpannableStringBuilder;->NO_FILTERS:[Landroid/text/InputFilter;
-Landroid/text/SpannableStringBuilder;->obtain(I)[I
-Landroid/text/SpannableStringBuilder;->PARAGRAPH:I
-Landroid/text/SpannableStringBuilder;->POINT:I
-Landroid/text/SpannableStringBuilder;->recycle([I)V
-Landroid/text/SpannableStringBuilder;->region(II)Ljava/lang/String;
-Landroid/text/SpannableStringBuilder;->removeSpan(II)V
-Landroid/text/SpannableStringBuilder;->removeSpan(Ljava/lang/Object;I)V
-Landroid/text/SpannableStringBuilder;->removeSpansForChange(IIZI)Z
-Landroid/text/SpannableStringBuilder;->resizeFor(I)V
-Landroid/text/SpannableStringBuilder;->resolveGap(I)I
-Landroid/text/SpannableStringBuilder;->restoreInvariants()V
-Landroid/text/SpannableStringBuilder;->rightChild(I)I
-Landroid/text/SpannableStringBuilder;->sCachedIntBuffer:[[I
-Landroid/text/SpannableStringBuilder;->sendAfterTextChanged([Landroid/text/TextWatcher;)V
-Landroid/text/SpannableStringBuilder;->sendBeforeTextChanged([Landroid/text/TextWatcher;III)V
-Landroid/text/SpannableStringBuilder;->sendSpanAdded(Ljava/lang/Object;II)V
-Landroid/text/SpannableStringBuilder;->sendSpanChanged(Ljava/lang/Object;IIII)V
-Landroid/text/SpannableStringBuilder;->sendSpanRemoved(Ljava/lang/Object;II)V
-Landroid/text/SpannableStringBuilder;->sendTextChanged([Landroid/text/TextWatcher;III)V
-Landroid/text/SpannableStringBuilder;->setSpan(ZLjava/lang/Object;IIIZ)V
-Landroid/text/SpannableStringBuilder;->siftDown(I[Ljava/lang/Object;I[I[I)V
-Landroid/text/SpannableStringBuilder;->sort([Ljava/lang/Object;[I[I)V
-Landroid/text/SpannableStringBuilder;->SPAN_ADDED:I
-Landroid/text/SpannableStringBuilder;->SPAN_END_AT_END:I
-Landroid/text/SpannableStringBuilder;->SPAN_END_AT_START:I
-Landroid/text/SpannableStringBuilder;->SPAN_START_AT_END:I
-Landroid/text/SpannableStringBuilder;->SPAN_START_AT_START:I
-Landroid/text/SpannableStringBuilder;->SPAN_START_END_MASK:I
-Landroid/text/SpannableStringBuilder;->START_MASK:I
-Landroid/text/SpannableStringBuilder;->START_SHIFT:I
-Landroid/text/SpannableStringBuilder;->TAG:Ljava/lang/String;
-Landroid/text/SpannableStringBuilder;->treeRoot()I
-Landroid/text/SpannableStringBuilder;->updatedIntervalBound(IIIIZZ)I
-Landroid/text/SpannableStringInternal;
-Landroid/text/SpannableStringInternal;-><init>(Ljava/lang/CharSequence;IIZ)V
-Landroid/text/SpannableStringInternal;->copySpans(Landroid/text/SpannableStringInternal;IIZ)V
-Landroid/text/SpannableStringInternal;->copySpans(Landroid/text/Spanned;IIZ)V
-Landroid/text/SpannableStringInternal;->removeSpan(Ljava/lang/Object;I)V
-Landroid/text/SpannedString;-><init>(Ljava/lang/CharSequence;II)V
-Landroid/text/SpannedString;-><init>(Ljava/lang/CharSequence;Z)V
-Landroid/text/SpanSet;
-Landroid/text/SpanSet;-><init>(Ljava/lang/Class;)V
-Landroid/text/SpanSet;->classType:Ljava/lang/Class;
-Landroid/text/SpanSet;->getNextTransition(II)I
-Landroid/text/SpanSet;->hasSpansIntersecting(II)Z
-Landroid/text/SpanSet;->init(Landroid/text/Spanned;II)V
-Landroid/text/SpanSet;->numberOfSpans:I
-Landroid/text/SpanSet;->recycle()V
-Landroid/text/SpanSet;->spanEnds:[I
-Landroid/text/SpanSet;->spanFlags:[I
-Landroid/text/SpanSet;->spanStarts:[I
-Landroid/text/StaticLayout$Builder;-><init>()V
-Landroid/text/StaticLayout$Builder;->finish()V
-Landroid/text/StaticLayout$Builder;->mAddLastLineLineSpacing:Z
-Landroid/text/StaticLayout$Builder;->mAlignment:Landroid/text/Layout$Alignment;
-Landroid/text/StaticLayout$Builder;->mBreakStrategy:I
-Landroid/text/StaticLayout$Builder;->mEllipsize:Landroid/text/TextUtils$TruncateAt;
-Landroid/text/StaticLayout$Builder;->mEllipsizedWidth:I
-Landroid/text/StaticLayout$Builder;->mEnd:I
-Landroid/text/StaticLayout$Builder;->mFallbackLineSpacing:Z
-Landroid/text/StaticLayout$Builder;->mFontMetricsInt:Landroid/graphics/Paint$FontMetricsInt;
-Landroid/text/StaticLayout$Builder;->mHyphenationFrequency:I
-Landroid/text/StaticLayout$Builder;->mIncludePad:Z
-Landroid/text/StaticLayout$Builder;->mJustificationMode:I
-Landroid/text/StaticLayout$Builder;->mLeftIndents:[I
-Landroid/text/StaticLayout$Builder;->mLeftPaddings:[I
-Landroid/text/StaticLayout$Builder;->mMaxLines:I
-Landroid/text/StaticLayout$Builder;->mPaint:Landroid/text/TextPaint;
-Landroid/text/StaticLayout$Builder;->mRightIndents:[I
-Landroid/text/StaticLayout$Builder;->mRightPaddings:[I
-Landroid/text/StaticLayout$Builder;->mSpacingAdd:F
-Landroid/text/StaticLayout$Builder;->mSpacingMult:F
-Landroid/text/StaticLayout$Builder;->mStart:I
-Landroid/text/StaticLayout$Builder;->mText:Ljava/lang/CharSequence;
-Landroid/text/StaticLayout$Builder;->mTextDir:Landroid/text/TextDirectionHeuristic;
-Landroid/text/StaticLayout$Builder;->mWidth:I
-Landroid/text/StaticLayout$Builder;->recycle(Landroid/text/StaticLayout$Builder;)V
-Landroid/text/StaticLayout$Builder;->setAddLastLineLineSpacing(Z)Landroid/text/StaticLayout$Builder;
-Landroid/text/StaticLayout$Builder;->setAvailablePaddings([I[I)Landroid/text/StaticLayout$Builder;
-Landroid/text/StaticLayout$Builder;->setPaint(Landroid/text/TextPaint;)Landroid/text/StaticLayout$Builder;
-Landroid/text/StaticLayout$Builder;->setText(Ljava/lang/CharSequence;II)Landroid/text/StaticLayout$Builder;
-Landroid/text/StaticLayout$Builder;->setWidth(I)Landroid/text/StaticLayout$Builder;
-Landroid/text/StaticLayout$Builder;->sPool:Landroid/util/Pools$SynchronizedPool;
-Landroid/text/StaticLayout$LineBreaks;
-Landroid/text/StaticLayout$LineBreaks;-><init>()V
-Landroid/text/StaticLayout$LineBreaks;->INITIAL_SIZE:I
-Landroid/text/StaticLayout;-><init>(Landroid/text/StaticLayout$Builder;)V
-Landroid/text/StaticLayout;-><init>(Ljava/lang/CharSequence;)V
-Landroid/text/StaticLayout;->calculateEllipsis(II[FIFLandroid/text/TextUtils$TruncateAt;IFLandroid/text/TextPaint;Z)V
-Landroid/text/StaticLayout;->CHAR_NEW_LINE:C
-Landroid/text/StaticLayout;->COLUMNS_ELLIPSIZE:I
-Landroid/text/StaticLayout;->COLUMNS_NORMAL:I
-Landroid/text/StaticLayout;->DEFAULT_MAX_LINE_HEIGHT:I
-Landroid/text/StaticLayout;->DESCENT:I
-Landroid/text/StaticLayout;->DIR:I
-Landroid/text/StaticLayout;->DIR_SHIFT:I
-Landroid/text/StaticLayout;->ELLIPSIS_COUNT:I
-Landroid/text/StaticLayout;->EXTRA:I
-Landroid/text/StaticLayout;->EXTRA_ROUNDING:D
-Landroid/text/StaticLayout;->generate(Landroid/text/StaticLayout$Builder;ZZ)V
-Landroid/text/StaticLayout;->getHyphen(I)I
-Landroid/text/StaticLayout;->getIndentAdjust(ILandroid/text/Layout$Alignment;)I
-Landroid/text/StaticLayout;->getLineExtra(I)I
-Landroid/text/StaticLayout;->getTotalInsets(I)F
-Landroid/text/StaticLayout;->HYPHEN:I
-Landroid/text/StaticLayout;->HYPHEN_MASK:I
-Landroid/text/StaticLayout;->mBottomPadding:I
-Landroid/text/StaticLayout;->mEllipsized:Z
-Landroid/text/StaticLayout;->mEllipsizedWidth:I
-Landroid/text/StaticLayout;->mLeftIndents:[I
-Landroid/text/StaticLayout;->mLeftPaddings:[I
-Landroid/text/StaticLayout;->mMaxLineHeight:I
-Landroid/text/StaticLayout;->mRightIndents:[I
-Landroid/text/StaticLayout;->mRightPaddings:[I
-Landroid/text/StaticLayout;->mTopPadding:I
-Landroid/text/StaticLayout;->nComputeLineBreaks(J[CJIFIF[IIILandroid/text/StaticLayout$LineBreaks;I[I[F[F[F[I[F)I
-Landroid/text/StaticLayout;->nFinish(J)V
-Landroid/text/StaticLayout;->nInit(IIZ[I[I[I)J
-Landroid/text/StaticLayout;->out(Ljava/lang/CharSequence;IIIIIIIFF[Landroid/text/style/LineHeightSpan;[ILandroid/graphics/Paint$FontMetricsInt;IZLandroid/text/MeasuredParagraph;IZZZ[C[FILandroid/text/TextUtils$TruncateAt;FFLandroid/text/TextPaint;Z)I
-Landroid/text/StaticLayout;->START:I
-Landroid/text/StaticLayout;->START_MASK:I
-Landroid/text/StaticLayout;->TAB:I
-Landroid/text/StaticLayout;->TAB_INCREMENT:I
-Landroid/text/StaticLayout;->TAB_MASK:I
-Landroid/text/StaticLayout;->TAG:Ljava/lang/String;
-Landroid/text/StaticLayout;->TOP:I
-Landroid/text/style/AbsoluteSizeSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/AbsoluteSizeSpan;->mDip:Z
-Landroid/text/style/AbsoluteSizeSpan;->mSize:I
-Landroid/text/style/AbsoluteSizeSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/AccessibilityClickableSpan;
-Landroid/text/style/AccessibilityClickableSpan;-><init>(I)V
-Landroid/text/style/AccessibilityClickableSpan;-><init>(Landroid/os/Parcel;)V
-Landroid/text/style/AccessibilityClickableSpan;->copyConnectionDataFrom(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/text/style/AccessibilityClickableSpan;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/text/style/AccessibilityClickableSpan;->findClickableSpan(Ljava/lang/CharSequence;)Landroid/text/style/ClickableSpan;
-Landroid/text/style/AccessibilityClickableSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/AccessibilityClickableSpan;->mConnectionId:I
-Landroid/text/style/AccessibilityClickableSpan;->mOriginalClickableSpanId:I
-Landroid/text/style/AccessibilityClickableSpan;->mSourceNodeId:J
-Landroid/text/style/AccessibilityClickableSpan;->mWindowId:I
-Landroid/text/style/AccessibilityClickableSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/AccessibilityURLSpan;
-Landroid/text/style/AccessibilityURLSpan;-><init>(Landroid/os/Parcel;)V
-Landroid/text/style/AccessibilityURLSpan;-><init>(Landroid/text/style/URLSpan;)V
-Landroid/text/style/AccessibilityURLSpan;->copyConnectionDataFrom(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/text/style/AccessibilityURLSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/AccessibilityURLSpan;->mAccessibilityClickableSpan:Landroid/text/style/AccessibilityClickableSpan;
-Landroid/text/style/AccessibilityURLSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/AlignmentSpan$Standard;->getSpanTypeIdInternal()I
-Landroid/text/style/AlignmentSpan$Standard;->mAlignment:Landroid/text/Layout$Alignment;
-Landroid/text/style/AlignmentSpan$Standard;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/BackgroundColorSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/BackgroundColorSpan;->mColor:I
-Landroid/text/style/BackgroundColorSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/BulletSpan;-><init>(IIZI)V
-Landroid/text/style/BulletSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/BulletSpan;->mBulletPath:Landroid/graphics/Path;
-Landroid/text/style/BulletSpan;->mBulletRadius:I
-Landroid/text/style/BulletSpan;->STANDARD_BULLET_RADIUS:I
-Landroid/text/style/BulletSpan;->STANDARD_COLOR:I
-Landroid/text/style/BulletSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/CharacterStyle$Passthrough;
-Landroid/text/style/CharacterStyle$Passthrough;-><init>(Landroid/text/style/CharacterStyle;)V
-Landroid/text/style/CharacterStyle$Passthrough;->mStyle:Landroid/text/style/CharacterStyle;
-Landroid/text/style/ClickableSpan;->getId()I
-Landroid/text/style/ClickableSpan;->mId:I
-Landroid/text/style/ClickableSpan;->sIdCounter:I
-Landroid/text/style/DrawableMarginSpan;->mDrawable:Landroid/graphics/drawable/Drawable;
-Landroid/text/style/DrawableMarginSpan;->mPad:I
-Landroid/text/style/DrawableMarginSpan;->STANDARD_PAD_WIDTH:I
-Landroid/text/style/DynamicDrawableSpan;->getCachedDrawable()Landroid/graphics/drawable/Drawable;
-Landroid/text/style/EasyEditSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/EasyEditSpan;->mDeleteEnabled:Z
-Landroid/text/style/EasyEditSpan;->mPendingIntent:Landroid/app/PendingIntent;
-Landroid/text/style/EasyEditSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/ForegroundColorSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/ForegroundColorSpan;->mColor:I
-Landroid/text/style/ForegroundColorSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/IconMarginSpan;->mBitmap:Landroid/graphics/Bitmap;
-Landroid/text/style/IconMarginSpan;->mPad:I
-Landroid/text/style/ImageSpan;->mContentUri:Landroid/net/Uri;
-Landroid/text/style/ImageSpan;->mContext:Landroid/content/Context;
-Landroid/text/style/ImageSpan;->mResourceId:I
-Landroid/text/style/ImageSpan;->mSource:Ljava/lang/String;
-Landroid/text/style/LeadingMarginSpan$Standard;->getSpanTypeIdInternal()I
-Landroid/text/style/LeadingMarginSpan$Standard;->mFirst:I
-Landroid/text/style/LeadingMarginSpan$Standard;->mRest:I
-Landroid/text/style/LeadingMarginSpan$Standard;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/LocaleSpan;->apply(Landroid/graphics/Paint;Landroid/os/LocaleList;)V
-Landroid/text/style/LocaleSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/LocaleSpan;->mLocales:Landroid/os/LocaleList;
-Landroid/text/style/LocaleSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/MaskFilterSpan;->mFilter:Landroid/graphics/MaskFilter;
-Landroid/text/style/MetricAffectingSpan$Passthrough;
-Landroid/text/style/MetricAffectingSpan$Passthrough;-><init>(Landroid/text/style/MetricAffectingSpan;)V
-Landroid/text/style/MetricAffectingSpan$Passthrough;->mStyle:Landroid/text/style/MetricAffectingSpan;
-Landroid/text/style/QuoteSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/QuoteSpan;->mColor:I
-Landroid/text/style/QuoteSpan;->mGapWidth:I
-Landroid/text/style/QuoteSpan;->mStripeWidth:I
-Landroid/text/style/QuoteSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/RasterizerSpan;->mRasterizer:Landroid/graphics/Rasterizer;
-Landroid/text/style/RelativeSizeSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/RelativeSizeSpan;->mProportion:F
-Landroid/text/style/RelativeSizeSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/ScaleXSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/ScaleXSpan;->mProportion:F
-Landroid/text/style/ScaleXSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/SpellCheckSpan;
-Landroid/text/style/SpellCheckSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/SpellCheckSpan;->mSpellCheckInProgress:Z
-Landroid/text/style/SpellCheckSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/StrikethroughSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/StrikethroughSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/StyleSpan;->apply(Landroid/graphics/Paint;I)V
-Landroid/text/style/StyleSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/StyleSpan;->mStyle:I
-Landroid/text/style/StyleSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/SubscriptSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/SubscriptSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/SuggestionRangeSpan;
-Landroid/text/style/SuggestionRangeSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/SuggestionRangeSpan;->mBackgroundColor:I
-Landroid/text/style/SuggestionRangeSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/SuggestionSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/SuggestionSpan;->hashCodeInternal([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-Landroid/text/style/SuggestionSpan;->initStyle(Landroid/content/Context;)V
-Landroid/text/style/SuggestionSpan;->mAutoCorrectionUnderlineColor:I
-Landroid/text/style/SuggestionSpan;->mAutoCorrectionUnderlineThickness:F
-Landroid/text/style/SuggestionSpan;->mFlags:I
-Landroid/text/style/SuggestionSpan;->mHashCode:I
-Landroid/text/style/SuggestionSpan;->mLanguageTag:Ljava/lang/String;
-Landroid/text/style/SuggestionSpan;->mLocaleStringForCompatibility:Ljava/lang/String;
-Landroid/text/style/SuggestionSpan;->mMisspelledUnderlineColor:I
-Landroid/text/style/SuggestionSpan;->mMisspelledUnderlineThickness:F
-Landroid/text/style/SuggestionSpan;->mNotificationTargetClassName:Ljava/lang/String;
-Landroid/text/style/SuggestionSpan;->mNotificationTargetPackageName:Ljava/lang/String;
-Landroid/text/style/SuggestionSpan;->mSuggestions:[Ljava/lang/String;
-Landroid/text/style/SuggestionSpan;->TAG:Ljava/lang/String;
-Landroid/text/style/SuggestionSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/SuperscriptSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/SuperscriptSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/TabStopSpan$Standard;->mTabOffset:I
-Landroid/text/style/TextAppearanceSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/TextAppearanceSpan;->mFamilyName:Ljava/lang/String;
-Landroid/text/style/TextAppearanceSpan;->mStyle:I
-Landroid/text/style/TextAppearanceSpan;->mTextColor:Landroid/content/res/ColorStateList;
-Landroid/text/style/TextAppearanceSpan;->mTextColorLink:Landroid/content/res/ColorStateList;
-Landroid/text/style/TextAppearanceSpan;->mTextSize:I
-Landroid/text/style/TextAppearanceSpan;->mTypeface:Landroid/graphics/Typeface;
-Landroid/text/style/TextAppearanceSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/TtsSpan$Builder;->mArgs:Landroid/os/PersistableBundle;
-Landroid/text/style/TtsSpan$Builder;->mType:Ljava/lang/String;
-Landroid/text/style/TtsSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/TtsSpan;->mArgs:Landroid/os/PersistableBundle;
-Landroid/text/style/TtsSpan;->mType:Ljava/lang/String;
-Landroid/text/style/TtsSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/TypefaceSpan;-><init>(Ljava/lang/String;Landroid/graphics/Typeface;)V
-Landroid/text/style/TypefaceSpan;->applyFontFamily(Landroid/graphics/Paint;Ljava/lang/String;)V
-Landroid/text/style/TypefaceSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/TypefaceSpan;->mFamily:Ljava/lang/String;
-Landroid/text/style/TypefaceSpan;->mTypeface:Landroid/graphics/Typeface;
-Landroid/text/style/TypefaceSpan;->updateTypeface(Landroid/graphics/Paint;)V
-Landroid/text/style/TypefaceSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/UnderlineSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/UnderlineSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/style/URLSpan;->getSpanTypeIdInternal()I
-Landroid/text/style/URLSpan;->mURL:Ljava/lang/String;
-Landroid/text/style/URLSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-Landroid/text/TextDirectionHeuristics$AnyStrong;
-Landroid/text/TextDirectionHeuristics$AnyStrong;-><init>(Z)V
-Landroid/text/TextDirectionHeuristics$AnyStrong;->checkRtl(Ljava/lang/CharSequence;II)I
-Landroid/text/TextDirectionHeuristics$AnyStrong;->INSTANCE_LTR:Landroid/text/TextDirectionHeuristics$AnyStrong;
-Landroid/text/TextDirectionHeuristics$AnyStrong;->INSTANCE_RTL:Landroid/text/TextDirectionHeuristics$AnyStrong;
-Landroid/text/TextDirectionHeuristics$AnyStrong;->mLookForRtl:Z
-Landroid/text/TextDirectionHeuristics$FirstStrong;
-Landroid/text/TextDirectionHeuristics$FirstStrong;-><init>()V
-Landroid/text/TextDirectionHeuristics$FirstStrong;->checkRtl(Ljava/lang/CharSequence;II)I
-Landroid/text/TextDirectionHeuristics$FirstStrong;->INSTANCE:Landroid/text/TextDirectionHeuristics$FirstStrong;
-Landroid/text/TextDirectionHeuristics$TextDirectionAlgorithm;
-Landroid/text/TextDirectionHeuristics$TextDirectionAlgorithm;->checkRtl(Ljava/lang/CharSequence;II)I
-Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicImpl;
-Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicImpl;-><init>(Landroid/text/TextDirectionHeuristics$TextDirectionAlgorithm;)V
-Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicImpl;->defaultIsRtl()Z
-Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicImpl;->doCheck(Ljava/lang/CharSequence;II)Z
-Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicImpl;->mAlgorithm:Landroid/text/TextDirectionHeuristics$TextDirectionAlgorithm;
-Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicInternal;
-Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicInternal;-><init>(Landroid/text/TextDirectionHeuristics$TextDirectionAlgorithm;Z)V
-Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicInternal;->defaultIsRtl()Z
-Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicInternal;->mDefaultIsRtl:Z
-Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicLocale;
-Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicLocale;-><init>()V
-Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicLocale;->defaultIsRtl()Z
-Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicLocale;->INSTANCE:Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicLocale;
-Landroid/text/TextDirectionHeuristics;->isRtlCodePoint(I)I
-Landroid/text/TextDirectionHeuristics;->STATE_FALSE:I
-Landroid/text/TextDirectionHeuristics;->STATE_TRUE:I
-Landroid/text/TextDirectionHeuristics;->STATE_UNKNOWN:I
-Landroid/text/TextLine$DecorationInfo;
-Landroid/text/TextLine$DecorationInfo;-><init>()V
-Landroid/text/TextLine$DecorationInfo;->copyInfo()Landroid/text/TextLine$DecorationInfo;
-Landroid/text/TextLine$DecorationInfo;->end:I
-Landroid/text/TextLine$DecorationInfo;->hasDecoration()Z
-Landroid/text/TextLine$DecorationInfo;->isStrikeThruText:Z
-Landroid/text/TextLine$DecorationInfo;->isUnderlineText:Z
-Landroid/text/TextLine$DecorationInfo;->start:I
-Landroid/text/TextLine$DecorationInfo;->underlineColor:I
-Landroid/text/TextLine$DecorationInfo;->underlineThickness:F
-Landroid/text/TextLine;
-Landroid/text/TextLine;-><init>()V
-Landroid/text/TextLine;->adjustHyphenEdit(III)I
-Landroid/text/TextLine;->countStretchableSpaces(II)I
-Landroid/text/TextLine;->DEBUG:Z
-Landroid/text/TextLine;->draw(Landroid/graphics/Canvas;FIII)V
-Landroid/text/TextLine;->drawRun(Landroid/graphics/Canvas;IIZFIIIZ)F
-Landroid/text/TextLine;->drawStroke(Landroid/text/TextPaint;Landroid/graphics/Canvas;IFFFFF)V
-Landroid/text/TextLine;->drawTextRun(Landroid/graphics/Canvas;Landroid/text/TextPaint;IIIIZFI)V
-Landroid/text/TextLine;->expandMetricsFromPaint(Landroid/graphics/Paint$FontMetricsInt;Landroid/text/TextPaint;)V
-Landroid/text/TextLine;->extractDecorationInfo(Landroid/text/TextPaint;Landroid/text/TextLine$DecorationInfo;)V
-Landroid/text/TextLine;->getOffsetBeforeAfter(IIIZIZ)I
-Landroid/text/TextLine;->getOffsetToLeftRightOf(IZ)I
-Landroid/text/TextLine;->getRunAdvance(Landroid/text/TextPaint;IIIIZI)F
-Landroid/text/TextLine;->handleReplacement(Landroid/text/style/ReplacementSpan;Landroid/text/TextPaint;IIZLandroid/graphics/Canvas;FIIILandroid/graphics/Paint$FontMetricsInt;Z)F
-Landroid/text/TextLine;->handleRun(IIIZLandroid/graphics/Canvas;FIIILandroid/graphics/Paint$FontMetricsInt;Z)F
-Landroid/text/TextLine;->handleText(Landroid/text/TextPaint;IIIIZLandroid/graphics/Canvas;FIIILandroid/graphics/Paint$FontMetricsInt;ZILjava/util/ArrayList;)F
-Landroid/text/TextLine;->isLineEndSpace(C)Z
-Landroid/text/TextLine;->isStretchableWhitespace(I)Z
-Landroid/text/TextLine;->justify(F)V
-Landroid/text/TextLine;->mActivePaint:Landroid/text/TextPaint;
-Landroid/text/TextLine;->mAddedWidth:F
-Landroid/text/TextLine;->mChars:[C
-Landroid/text/TextLine;->mCharsValid:Z
-Landroid/text/TextLine;->mComputed:Landroid/text/PrecomputedText;
-Landroid/text/TextLine;->mDecorationInfo:Landroid/text/TextLine$DecorationInfo;
-Landroid/text/TextLine;->mDecorations:Ljava/util/ArrayList;
-Landroid/text/TextLine;->mDir:I
-Landroid/text/TextLine;->mDirections:Landroid/text/Layout$Directions;
-Landroid/text/TextLine;->measure(IZLandroid/graphics/Paint$FontMetricsInt;)F
-Landroid/text/TextLine;->measureAllOffsets([ZLandroid/graphics/Paint$FontMetricsInt;)[F
-Landroid/text/TextLine;->measureRun(IIIZLandroid/graphics/Paint$FontMetricsInt;)F
-Landroid/text/TextLine;->metrics(Landroid/graphics/Paint$FontMetricsInt;)F
-Landroid/text/TextLine;->mHasTabs:Z
-Landroid/text/TextLine;->mLen:I
-Landroid/text/TextLine;->mPaint:Landroid/text/TextPaint;
-Landroid/text/TextLine;->mStart:I
-Landroid/text/TextLine;->mTabs:Landroid/text/Layout$TabStops;
-Landroid/text/TextLine;->mWorkPaint:Landroid/text/TextPaint;
-Landroid/text/TextLine;->nextTab(F)F
-Landroid/text/TextLine;->recycle(Landroid/text/TextLine;)Landroid/text/TextLine;
-Landroid/text/TextLine;->set(Landroid/text/TextPaint;Ljava/lang/CharSequence;IIILandroid/text/Layout$Directions;ZLandroid/text/Layout$TabStops;)V
-Landroid/text/TextLine;->TAB_INCREMENT:I
-Landroid/text/TextLine;->updateMetrics(Landroid/graphics/Paint$FontMetricsInt;IIIII)V
-Landroid/text/TextPaint;->getUnderlineThickness()F
-Landroid/text/TextPaint;->hasEqualAttributes(Landroid/text/TextPaint;)Z
-Landroid/text/TextUtils$Reverser;
-Landroid/text/TextUtils$Reverser;-><init>(Ljava/lang/CharSequence;II)V
-Landroid/text/TextUtils$Reverser;->mEnd:I
-Landroid/text/TextUtils$Reverser;->mSource:Ljava/lang/CharSequence;
-Landroid/text/TextUtils$Reverser;->mStart:I
-Landroid/text/TextUtils$SimpleStringSplitter;->mDelimiter:C
-Landroid/text/TextUtils$SimpleStringSplitter;->mLength:I
-Landroid/text/TextUtils$SimpleStringSplitter;->mPosition:I
-Landroid/text/TextUtils$SimpleStringSplitter;->mString:Ljava/lang/String;
-Landroid/text/TextUtils$TruncateAt;-><init>()V
-Landroid/text/TextUtils;-><init>()V
-Landroid/text/TextUtils;->ABSOLUTE_SIZE_SPAN:I
-Landroid/text/TextUtils;->ACCESSIBILITY_CLICKABLE_SPAN:I
-Landroid/text/TextUtils;->ACCESSIBILITY_URL_SPAN:I
-Landroid/text/TextUtils;->ALIGNMENT_SPAN:I
-Landroid/text/TextUtils;->ANNOTATION:I
-Landroid/text/TextUtils;->BACKGROUND_COLOR_SPAN:I
-Landroid/text/TextUtils;->BULLET_SPAN:I
-Landroid/text/TextUtils;->commaEllipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLjava/lang/String;Ljava/lang/String;Landroid/text/TextDirectionHeuristic;)Ljava/lang/CharSequence;
-Landroid/text/TextUtils;->couldAffectRtl(C)Z
-Landroid/text/TextUtils;->delimitedStringContains(Ljava/lang/String;CLjava/lang/String;)Z
-Landroid/text/TextUtils;->doesNotNeedBidi([CII)Z
-Landroid/text/TextUtils;->EASY_EDIT_SPAN:I
-Landroid/text/TextUtils;->ELLIPSIS_FILLER:C
-Landroid/text/TextUtils;->ELLIPSIS_NORMAL:Ljava/lang/String;
-Landroid/text/TextUtils;->ELLIPSIS_TWO_DOTS:Ljava/lang/String;
-Landroid/text/TextUtils;->ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;ZLandroid/text/TextUtils$EllipsizeCallback;Landroid/text/TextDirectionHeuristic;Ljava/lang/String;)Ljava/lang/CharSequence;
-Landroid/text/TextUtils;->emptyIfNull(Ljava/lang/String;)Ljava/lang/String;
-Landroid/text/TextUtils;->EMPTY_STRING_ARRAY:[Ljava/lang/String;
-Landroid/text/TextUtils;->firstNotEmpty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/text/TextUtils;->FIRST_SPAN:I
-Landroid/text/TextUtils;->FOREGROUND_COLOR_SPAN:I
-Landroid/text/TextUtils;->formatSelectedCount(I)Ljava/lang/CharSequence;
-Landroid/text/TextUtils;->getEllipsisString(Landroid/text/TextUtils$TruncateAt;)Ljava/lang/String;
-Landroid/text/TextUtils;->hasStyleSpan(Landroid/text/Spanned;)Z
-Landroid/text/TextUtils;->isPrintableAscii(C)Z
-Landroid/text/TextUtils;->LAST_SPAN:I
-Landroid/text/TextUtils;->LEADING_MARGIN_SPAN:I
-Landroid/text/TextUtils;->length(Ljava/lang/String;)I
-Landroid/text/TextUtils;->LOCALE_SPAN:I
-Landroid/text/TextUtils;->nullIfEmpty(Ljava/lang/String;)Ljava/lang/String;
-Landroid/text/TextUtils;->obtain(I)[C
-Landroid/text/TextUtils;->PARCEL_SAFE_TEXT_LENGTH:I
-Landroid/text/TextUtils;->QUOTE_SPAN:I
-Landroid/text/TextUtils;->readSpan(Landroid/os/Parcel;Landroid/text/Spannable;Ljava/lang/Object;)V
-Landroid/text/TextUtils;->recycle([C)V
-Landroid/text/TextUtils;->RELATIVE_SIZE_SPAN:I
-Landroid/text/TextUtils;->removeEmptySpans([Ljava/lang/Object;Landroid/text/Spanned;Ljava/lang/Class;)[Ljava/lang/Object;
-Landroid/text/TextUtils;->safeIntern(Ljava/lang/String;)Ljava/lang/String;
-Landroid/text/TextUtils;->SCALE_X_SPAN:I
-Landroid/text/TextUtils;->sLock:Ljava/lang/Object;
-Landroid/text/TextUtils;->SPELL_CHECK_SPAN:I
-Landroid/text/TextUtils;->sTemp:[C
-Landroid/text/TextUtils;->STRIKETHROUGH_SPAN:I
-Landroid/text/TextUtils;->STYLE_SPAN:I
-Landroid/text/TextUtils;->SUBSCRIPT_SPAN:I
-Landroid/text/TextUtils;->SUGGESTION_RANGE_SPAN:I
-Landroid/text/TextUtils;->SUGGESTION_SPAN:I
-Landroid/text/TextUtils;->SUPERSCRIPT_SPAN:I
-Landroid/text/TextUtils;->TAG:Ljava/lang/String;
-Landroid/text/TextUtils;->TEXT_APPEARANCE_SPAN:I
-Landroid/text/TextUtils;->toUpperCase(Ljava/util/Locale;Ljava/lang/CharSequence;Z)Ljava/lang/CharSequence;
-Landroid/text/TextUtils;->toUpperMapToDest(Landroid/icu/text/Edits$Iterator;I)I
-Landroid/text/TextUtils;->trimNoCopySpans(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-Landroid/text/TextUtils;->trimToParcelableSize(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-Landroid/text/TextUtils;->trimToSize(Ljava/lang/CharSequence;I)Ljava/lang/CharSequence;
-Landroid/text/TextUtils;->TTS_SPAN:I
-Landroid/text/TextUtils;->TYPEFACE_SPAN:I
-Landroid/text/TextUtils;->UNDERLINE_SPAN:I
-Landroid/text/TextUtils;->URL_SPAN:I
-Landroid/text/TextUtils;->wrap(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/text/TextUtils;->writeWhere(Landroid/os/Parcel;Landroid/text/Spanned;Ljava/lang/Object;)V
-Landroid/text/util/Linkify$LinkifyMask;
-Landroid/text/util/Linkify;->addLinkMovementMethod(Landroid/widget/TextView;)V
-Landroid/text/util/Linkify;->addLinks(Landroid/text/Spannable;ILandroid/content/Context;)Z
-Landroid/text/util/Linkify;->addLinksAsync(Landroid/text/Spannable;Landroid/view/textclassifier/TextClassifier;I)Ljava/util/concurrent/Future;
-Landroid/text/util/Linkify;->addLinksAsync(Landroid/text/Spannable;Landroid/view/textclassifier/TextClassifier;Landroid/view/textclassifier/TextLinksParams;)Ljava/util/concurrent/Future;
-Landroid/text/util/Linkify;->addLinksAsync(Landroid/text/Spannable;Landroid/view/textclassifier/TextClassifier;Landroid/view/textclassifier/TextLinksParams;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)Ljava/util/concurrent/Future;
-Landroid/text/util/Linkify;->addLinksAsync(Landroid/text/Spannable;Landroid/view/textclassifier/TextClassifier;Landroid/view/textclassifier/TextLinksParams;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
-Landroid/text/util/Linkify;->addLinksAsync(Landroid/widget/TextView;I)Ljava/util/concurrent/Future;
-Landroid/text/util/Linkify;->addLinksAsync(Landroid/widget/TextView;Landroid/view/textclassifier/TextLinksParams;)Ljava/util/concurrent/Future;
-Landroid/text/util/Linkify;->addLinksAsync(Landroid/widget/TextView;Landroid/view/textclassifier/TextLinksParams;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)Ljava/util/concurrent/Future;
-Landroid/text/util/Linkify;->applyLink(Ljava/lang/String;IILandroid/text/Spannable;)V
-Landroid/text/util/Linkify;->gatherLinks(Ljava/util/ArrayList;Landroid/text/Spannable;Ljava/util/regex/Pattern;[Ljava/lang/String;Landroid/text/util/Linkify$MatchFilter;Landroid/text/util/Linkify$TransformFilter;)V
-Landroid/text/util/Linkify;->gatherMapLinks(Ljava/util/ArrayList;Landroid/text/Spannable;)V
-Landroid/text/util/Linkify;->makeUrl(Ljava/lang/String;[Ljava/lang/String;Ljava/util/regex/Matcher;Landroid/text/util/Linkify$TransformFilter;)Ljava/lang/String;
-Landroid/text/util/Linkify;->PHONE_NUMBER_MINIMUM_DIGITS:I
-Landroid/text/util/Linkify;->pruneOverlaps(Ljava/util/ArrayList;)V
-Landroid/text/util/LinkSpec;
-Landroid/text/util/LinkSpec;-><init>()V
-Landroid/text/util/LinkSpec;->end:I
-Landroid/text/util/LinkSpec;->start:I
-Landroid/text/util/LinkSpec;->url:Ljava/lang/String;
-Landroid/text/util/Rfc822Token;->mAddress:Ljava/lang/String;
-Landroid/text/util/Rfc822Token;->mComment:Ljava/lang/String;
-Landroid/text/util/Rfc822Token;->mName:Ljava/lang/String;
-Landroid/text/util/Rfc822Token;->stringEquals(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/text/util/Rfc822Tokenizer;->crunch(Ljava/lang/StringBuilder;)V
-Landroid/transition/ArcMotion;->DEFAULT_MAX_ANGLE_DEGREES:F
-Landroid/transition/ArcMotion;->DEFAULT_MAX_TANGENT:F
-Landroid/transition/ArcMotion;->DEFAULT_MIN_ANGLE_DEGREES:F
-Landroid/transition/ArcMotion;->mMaximumAngle:F
-Landroid/transition/ArcMotion;->mMaximumTangent:F
-Landroid/transition/ArcMotion;->mMinimumHorizontalAngle:F
-Landroid/transition/ArcMotion;->mMinimumHorizontalTangent:F
-Landroid/transition/ArcMotion;->mMinimumVerticalAngle:F
-Landroid/transition/ArcMotion;->mMinimumVerticalTangent:F
-Landroid/transition/ArcMotion;->toTangent(F)F
-Landroid/transition/AutoTransition;->init()V
-Landroid/transition/ChangeBounds$ViewBounds;
-Landroid/transition/ChangeBounds$ViewBounds;-><init>(Landroid/view/View;)V
-Landroid/transition/ChangeBounds$ViewBounds;->mBottom:I
-Landroid/transition/ChangeBounds$ViewBounds;->mBottomRightCalls:I
-Landroid/transition/ChangeBounds$ViewBounds;->mLeft:I
-Landroid/transition/ChangeBounds$ViewBounds;->mRight:I
-Landroid/transition/ChangeBounds$ViewBounds;->mTop:I
-Landroid/transition/ChangeBounds$ViewBounds;->mTopLeftCalls:I
-Landroid/transition/ChangeBounds$ViewBounds;->mView:Landroid/view/View;
-Landroid/transition/ChangeBounds$ViewBounds;->setBottomRight(Landroid/graphics/PointF;)V
-Landroid/transition/ChangeBounds$ViewBounds;->setLeftTopRightBottom()V
-Landroid/transition/ChangeBounds$ViewBounds;->setTopLeft(Landroid/graphics/PointF;)V
-Landroid/transition/ChangeBounds;->BOTTOM_RIGHT_PROPERTY:Landroid/util/Property;
-Landroid/transition/ChangeBounds;->captureValues(Landroid/transition/TransitionValues;)V
-Landroid/transition/ChangeBounds;->DRAWABLE_ORIGIN_PROPERTY:Landroid/util/Property;
-Landroid/transition/ChangeBounds;->LOG_TAG:Ljava/lang/String;
-Landroid/transition/ChangeBounds;->mReparent:Z
-Landroid/transition/ChangeBounds;->mResizeClip:Z
-Landroid/transition/ChangeBounds;->parentMatches(Landroid/view/View;Landroid/view/View;)Z
-Landroid/transition/ChangeBounds;->PROPNAME_BOUNDS:Ljava/lang/String;
-Landroid/transition/ChangeBounds;->PROPNAME_CLIP:Ljava/lang/String;
-Landroid/transition/ChangeBounds;->PROPNAME_PARENT:Ljava/lang/String;
-Landroid/transition/ChangeBounds;->PROPNAME_WINDOW_X:Ljava/lang/String;
-Landroid/transition/ChangeBounds;->PROPNAME_WINDOW_Y:Ljava/lang/String;
-Landroid/transition/ChangeBounds;->sRectEvaluator:Landroid/animation/RectEvaluator;
-Landroid/transition/ChangeBounds;->sTransitionProperties:[Ljava/lang/String;
-Landroid/transition/ChangeBounds;->tempLocation:[I
-Landroid/transition/ChangeBounds;->TOP_LEFT_ONLY_PROPERTY:Landroid/util/Property;
-Landroid/transition/ChangeBounds;->TOP_LEFT_PROPERTY:Landroid/util/Property;
-Landroid/transition/ChangeClipBounds;->captureValues(Landroid/transition/TransitionValues;)V
-Landroid/transition/ChangeClipBounds;->PROPNAME_BOUNDS:Ljava/lang/String;
-Landroid/transition/ChangeClipBounds;->PROPNAME_CLIP:Ljava/lang/String;
-Landroid/transition/ChangeClipBounds;->sTransitionProperties:[Ljava/lang/String;
-Landroid/transition/ChangeClipBounds;->TAG:Ljava/lang/String;
-Landroid/transition/ChangeImageTransform;->ANIMATED_TRANSFORM_PROPERTY:Landroid/util/Property;
-Landroid/transition/ChangeImageTransform;->captureValues(Landroid/transition/TransitionValues;)V
-Landroid/transition/ChangeImageTransform;->createMatrixAnimator(Landroid/widget/ImageView;Landroid/graphics/Matrix;Landroid/graphics/Matrix;)Landroid/animation/ObjectAnimator;
-Landroid/transition/ChangeImageTransform;->createNullAnimator(Landroid/widget/ImageView;)Landroid/animation/ObjectAnimator;
-Landroid/transition/ChangeImageTransform;->NULL_MATRIX_EVALUATOR:Landroid/animation/TypeEvaluator;
-Landroid/transition/ChangeImageTransform;->PROPNAME_BOUNDS:Ljava/lang/String;
-Landroid/transition/ChangeImageTransform;->PROPNAME_MATRIX:Ljava/lang/String;
-Landroid/transition/ChangeImageTransform;->sTransitionProperties:[Ljava/lang/String;
-Landroid/transition/ChangeImageTransform;->TAG:Ljava/lang/String;
-Landroid/transition/ChangeScroll;->captureValues(Landroid/transition/TransitionValues;)V
-Landroid/transition/ChangeScroll;->PROPERTIES:[Ljava/lang/String;
-Landroid/transition/ChangeScroll;->PROPNAME_SCROLL_X:Ljava/lang/String;
-Landroid/transition/ChangeScroll;->PROPNAME_SCROLL_Y:Ljava/lang/String;
-Landroid/transition/ChangeText;
-Landroid/transition/ChangeText;-><init>()V
-Landroid/transition/ChangeText;->captureValues(Landroid/transition/TransitionValues;)V
-Landroid/transition/ChangeText;->CHANGE_BEHAVIOR_IN:I
-Landroid/transition/ChangeText;->CHANGE_BEHAVIOR_KEEP:I
-Landroid/transition/ChangeText;->CHANGE_BEHAVIOR_OUT:I
-Landroid/transition/ChangeText;->CHANGE_BEHAVIOR_OUT_IN:I
-Landroid/transition/ChangeText;->getChangeBehavior()I
-Landroid/transition/ChangeText;->LOG_TAG:Ljava/lang/String;
-Landroid/transition/ChangeText;->mChangeBehavior:I
-Landroid/transition/ChangeText;->PROPNAME_TEXT:Ljava/lang/String;
-Landroid/transition/ChangeText;->PROPNAME_TEXT_COLOR:Ljava/lang/String;
-Landroid/transition/ChangeText;->PROPNAME_TEXT_SELECTION_END:Ljava/lang/String;
-Landroid/transition/ChangeText;->PROPNAME_TEXT_SELECTION_START:Ljava/lang/String;
-Landroid/transition/ChangeText;->setChangeBehavior(I)Landroid/transition/ChangeText;
-Landroid/transition/ChangeText;->setSelection(Landroid/widget/EditText;II)V
-Landroid/transition/ChangeText;->sTransitionProperties:[Ljava/lang/String;
-Landroid/transition/ChangeTransform$GhostListener;
-Landroid/transition/ChangeTransform$GhostListener;-><init>(Landroid/view/View;Landroid/view/View;Landroid/view/GhostView;)V
-Landroid/transition/ChangeTransform$GhostListener;->mGhostView:Landroid/view/GhostView;
-Landroid/transition/ChangeTransform$GhostListener;->mStartView:Landroid/view/View;
-Landroid/transition/ChangeTransform$GhostListener;->mView:Landroid/view/View;
-Landroid/transition/ChangeTransform$PathAnimatorMatrix;
-Landroid/transition/ChangeTransform$PathAnimatorMatrix;-><init>(Landroid/view/View;[F)V
-Landroid/transition/ChangeTransform$PathAnimatorMatrix;->getMatrix()Landroid/graphics/Matrix;
-Landroid/transition/ChangeTransform$PathAnimatorMatrix;->mMatrix:Landroid/graphics/Matrix;
-Landroid/transition/ChangeTransform$PathAnimatorMatrix;->mTranslationX:F
-Landroid/transition/ChangeTransform$PathAnimatorMatrix;->mTranslationY:F
-Landroid/transition/ChangeTransform$PathAnimatorMatrix;->mValues:[F
-Landroid/transition/ChangeTransform$PathAnimatorMatrix;->mView:Landroid/view/View;
-Landroid/transition/ChangeTransform$PathAnimatorMatrix;->setAnimationMatrix()V
-Landroid/transition/ChangeTransform$PathAnimatorMatrix;->setTranslation(Landroid/graphics/PointF;)V
-Landroid/transition/ChangeTransform$PathAnimatorMatrix;->setValues([F)V
-Landroid/transition/ChangeTransform$Transforms;
-Landroid/transition/ChangeTransform$Transforms;-><init>(Landroid/view/View;)V
-Landroid/transition/ChangeTransform$Transforms;->restore(Landroid/view/View;)V
-Landroid/transition/ChangeTransform$Transforms;->rotationX:F
-Landroid/transition/ChangeTransform$Transforms;->rotationY:F
-Landroid/transition/ChangeTransform$Transforms;->rotationZ:F
-Landroid/transition/ChangeTransform$Transforms;->scaleX:F
-Landroid/transition/ChangeTransform$Transforms;->scaleY:F
-Landroid/transition/ChangeTransform$Transforms;->translationX:F
-Landroid/transition/ChangeTransform$Transforms;->translationY:F
-Landroid/transition/ChangeTransform$Transforms;->translationZ:F
-Landroid/transition/ChangeTransform;->captureValues(Landroid/transition/TransitionValues;)V
-Landroid/transition/ChangeTransform;->createGhostView(Landroid/view/ViewGroup;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)V
-Landroid/transition/ChangeTransform;->createTransformAnimator(Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;Z)Landroid/animation/ObjectAnimator;
-Landroid/transition/ChangeTransform;->mReparent:Z
-Landroid/transition/ChangeTransform;->mTempMatrix:Landroid/graphics/Matrix;
-Landroid/transition/ChangeTransform;->mUseOverlay:Z
-Landroid/transition/ChangeTransform;->NON_TRANSLATIONS_PROPERTY:Landroid/util/Property;
-Landroid/transition/ChangeTransform;->parentsMatch(Landroid/view/ViewGroup;Landroid/view/ViewGroup;)Z
-Landroid/transition/ChangeTransform;->PROPNAME_INTERMEDIATE_MATRIX:Ljava/lang/String;
-Landroid/transition/ChangeTransform;->PROPNAME_INTERMEDIATE_PARENT_MATRIX:Ljava/lang/String;
-Landroid/transition/ChangeTransform;->PROPNAME_MATRIX:Ljava/lang/String;
-Landroid/transition/ChangeTransform;->PROPNAME_PARENT:Ljava/lang/String;
-Landroid/transition/ChangeTransform;->PROPNAME_PARENT_MATRIX:Ljava/lang/String;
-Landroid/transition/ChangeTransform;->PROPNAME_TRANSFORMS:Ljava/lang/String;
-Landroid/transition/ChangeTransform;->setIdentityTransforms(Landroid/view/View;)V
-Landroid/transition/ChangeTransform;->setMatricesForParent(Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)V
-Landroid/transition/ChangeTransform;->setTransforms(Landroid/view/View;FFFFFFFF)V
-Landroid/transition/ChangeTransform;->sTransitionProperties:[Ljava/lang/String;
-Landroid/transition/ChangeTransform;->TAG:Ljava/lang/String;
-Landroid/transition/ChangeTransform;->TRANSLATIONS_PROPERTY:Landroid/util/Property;
-Landroid/transition/CircularPropagation;->distance(FFFF)D
-Landroid/transition/CircularPropagation;->mPropagationSpeed:F
-Landroid/transition/CircularPropagation;->TAG:Ljava/lang/String;
-Landroid/transition/Crossfade;
-Landroid/transition/Crossfade;-><init>()V
-Landroid/transition/Crossfade;->captureValues(Landroid/transition/TransitionValues;)V
-Landroid/transition/Crossfade;->FADE_BEHAVIOR_CROSSFADE:I
-Landroid/transition/Crossfade;->FADE_BEHAVIOR_OUT_IN:I
-Landroid/transition/Crossfade;->FADE_BEHAVIOR_REVEAL:I
-Landroid/transition/Crossfade;->getFadeBehavior()I
-Landroid/transition/Crossfade;->getResizeBehavior()I
-Landroid/transition/Crossfade;->LOG_TAG:Ljava/lang/String;
-Landroid/transition/Crossfade;->mFadeBehavior:I
-Landroid/transition/Crossfade;->mResizeBehavior:I
-Landroid/transition/Crossfade;->PROPNAME_BITMAP:Ljava/lang/String;
-Landroid/transition/Crossfade;->PROPNAME_BOUNDS:Ljava/lang/String;
-Landroid/transition/Crossfade;->PROPNAME_DRAWABLE:Ljava/lang/String;
-Landroid/transition/Crossfade;->RESIZE_BEHAVIOR_NONE:I
-Landroid/transition/Crossfade;->RESIZE_BEHAVIOR_SCALE:I
-Landroid/transition/Crossfade;->setFadeBehavior(I)Landroid/transition/Crossfade;
-Landroid/transition/Crossfade;->setResizeBehavior(I)Landroid/transition/Crossfade;
-Landroid/transition/Crossfade;->sRectEvaluator:Landroid/animation/RectEvaluator;
-Landroid/transition/Explode;->calculateMaxDistance(Landroid/view/View;II)D
-Landroid/transition/Explode;->calculateOut(Landroid/view/View;Landroid/graphics/Rect;[I)V
-Landroid/transition/Explode;->captureValues(Landroid/transition/TransitionValues;)V
-Landroid/transition/Explode;->mTempLoc:[I
-Landroid/transition/Explode;->PROPNAME_SCREEN_BOUNDS:Ljava/lang/String;
-Landroid/transition/Explode;->sAccelerate:Landroid/animation/TimeInterpolator;
-Landroid/transition/Explode;->sDecelerate:Landroid/animation/TimeInterpolator;
-Landroid/transition/Explode;->TAG:Ljava/lang/String;
-Landroid/transition/Fade$FadeAnimatorListener;
-Landroid/transition/Fade$FadeAnimatorListener;-><init>(Landroid/view/View;)V
-Landroid/transition/Fade$FadeAnimatorListener;->mLayerTypeChanged:Z
-Landroid/transition/Fade$FadeAnimatorListener;->mView:Landroid/view/View;
-Landroid/transition/Fade;->createAnimation(Landroid/view/View;FF)Landroid/animation/Animator;
-Landroid/transition/Fade;->DBG:Z
-Landroid/transition/Fade;->getStartAlpha(Landroid/transition/TransitionValues;F)F
-Landroid/transition/Fade;->LOG_TAG:Ljava/lang/String;
-Landroid/transition/Fade;->PROPNAME_TRANSITION_ALPHA:Ljava/lang/String;
-Landroid/transition/PatternPathMotion;->mOriginalPatternPath:Landroid/graphics/Path;
-Landroid/transition/PatternPathMotion;->mPatternPath:Landroid/graphics/Path;
-Landroid/transition/PatternPathMotion;->mTempMatrix:Landroid/graphics/Matrix;
-Landroid/transition/Recolor;
-Landroid/transition/Recolor;-><init>()V
-Landroid/transition/Recolor;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/transition/Recolor;->captureValues(Landroid/transition/TransitionValues;)V
-Landroid/transition/Recolor;->PROPNAME_BACKGROUND:Ljava/lang/String;
-Landroid/transition/Recolor;->PROPNAME_TEXT_COLOR:Ljava/lang/String;
-Landroid/transition/Rotate;
-Landroid/transition/Rotate;-><init>()V
-Landroid/transition/Rotate;->PROPNAME_ROTATION:Ljava/lang/String;
-Landroid/transition/Scene;-><init>(Landroid/view/ViewGroup;ILandroid/content/Context;)V
-Landroid/transition/Scene;->getCurrentScene(Landroid/view/View;)Landroid/transition/Scene;
-Landroid/transition/Scene;->isCreatedFromLayoutResource()Z
-Landroid/transition/Scene;->mContext:Landroid/content/Context;
-Landroid/transition/Scene;->mLayout:Landroid/view/View;
-Landroid/transition/Scene;->mLayoutId:I
-Landroid/transition/Scene;->mSceneRoot:Landroid/view/ViewGroup;
-Landroid/transition/SidePropagation;->distance(Landroid/view/View;IIIIIIII)I
-Landroid/transition/SidePropagation;->getMaxDistance(Landroid/view/ViewGroup;)I
-Landroid/transition/SidePropagation;->mPropagationSpeed:F
-Landroid/transition/SidePropagation;->mSide:I
-Landroid/transition/SidePropagation;->TAG:Ljava/lang/String;
-Landroid/transition/Slide$CalculateSlide;
-Landroid/transition/Slide$CalculateSlide;->getGoneX(Landroid/view/ViewGroup;Landroid/view/View;F)F
-Landroid/transition/Slide$CalculateSlide;->getGoneY(Landroid/view/ViewGroup;Landroid/view/View;F)F
-Landroid/transition/Slide$CalculateSlideHorizontal;
-Landroid/transition/Slide$CalculateSlideHorizontal;-><init>()V
-Landroid/transition/Slide$CalculateSlideHorizontal;->getGoneY(Landroid/view/ViewGroup;Landroid/view/View;F)F
-Landroid/transition/Slide$CalculateSlideVertical;
-Landroid/transition/Slide$CalculateSlideVertical;-><init>()V
-Landroid/transition/Slide$CalculateSlideVertical;->getGoneX(Landroid/view/ViewGroup;Landroid/view/View;F)F
-Landroid/transition/Slide$GravityFlag;
-Landroid/transition/Slide;->captureValues(Landroid/transition/TransitionValues;)V
-Landroid/transition/Slide;->mSlideCalculator:Landroid/transition/Slide$CalculateSlide;
-Landroid/transition/Slide;->mSlideEdge:I
-Landroid/transition/Slide;->mSlideFraction:F
-Landroid/transition/Slide;->PROPNAME_SCREEN_POSITION:Ljava/lang/String;
-Landroid/transition/Slide;->sAccelerate:Landroid/animation/TimeInterpolator;
-Landroid/transition/Slide;->sCalculateBottom:Landroid/transition/Slide$CalculateSlide;
-Landroid/transition/Slide;->sCalculateEnd:Landroid/transition/Slide$CalculateSlide;
-Landroid/transition/Slide;->sCalculateLeft:Landroid/transition/Slide$CalculateSlide;
-Landroid/transition/Slide;->sCalculateRight:Landroid/transition/Slide$CalculateSlide;
-Landroid/transition/Slide;->sCalculateStart:Landroid/transition/Slide$CalculateSlide;
-Landroid/transition/Slide;->sCalculateTop:Landroid/transition/Slide$CalculateSlide;
-Landroid/transition/Slide;->sDecelerate:Landroid/animation/TimeInterpolator;
-Landroid/transition/Slide;->setSlideFraction(F)V
-Landroid/transition/Slide;->TAG:Ljava/lang/String;
-Landroid/transition/Transition$AnimationInfo;
-Landroid/transition/Transition$AnimationInfo;-><init>(Landroid/view/View;Ljava/lang/String;Landroid/transition/Transition;Landroid/view/WindowId;Landroid/transition/TransitionValues;)V
-Landroid/transition/Transition$AnimationInfo;->name:Ljava/lang/String;
-Landroid/transition/Transition$AnimationInfo;->transition:Landroid/transition/Transition;
-Landroid/transition/Transition$AnimationInfo;->values:Landroid/transition/TransitionValues;
-Landroid/transition/Transition$AnimationInfo;->view:Landroid/view/View;
-Landroid/transition/Transition$AnimationInfo;->windowId:Landroid/view/WindowId;
-Landroid/transition/Transition$ArrayListManager;
-Landroid/transition/Transition$ArrayListManager;-><init>()V
-Landroid/transition/Transition$ArrayListManager;->add(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList;
-Landroid/transition/Transition$ArrayListManager;->remove(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList;
-Landroid/transition/Transition;->addUnmatched(Landroid/util/ArrayMap;Landroid/util/ArrayMap;)V
-Landroid/transition/Transition;->addViewValues(Landroid/transition/TransitionValuesMaps;Landroid/view/View;Landroid/transition/TransitionValues;)V
-Landroid/transition/Transition;->alreadyContains([II)Z
-Landroid/transition/Transition;->animate(Landroid/animation/Animator;)V
-Landroid/transition/Transition;->captureHierarchy(Landroid/view/View;Z)V
-Landroid/transition/Transition;->capturePropagationValues(Landroid/transition/TransitionValues;)V
-Landroid/transition/Transition;->captureValues(Landroid/view/ViewGroup;Z)V
-Landroid/transition/Transition;->clearValues(Z)V
-Landroid/transition/Transition;->createAnimators(Landroid/view/ViewGroup;Landroid/transition/TransitionValuesMaps;Landroid/transition/TransitionValuesMaps;Ljava/util/ArrayList;Ljava/util/ArrayList;)V
-Landroid/transition/Transition;->DBG:Z
-Landroid/transition/Transition;->DEFAULT_MATCH_ORDER:[I
-Landroid/transition/Transition;->excludeObject(Ljava/util/ArrayList;Ljava/lang/Object;Z)Ljava/util/ArrayList;
-Landroid/transition/Transition;->forceToEnd(Landroid/view/ViewGroup;)V
-Landroid/transition/Transition;->getMatchedTransitionValues(Landroid/view/View;Z)Landroid/transition/TransitionValues;
-Landroid/transition/Transition;->getNameOverrides()Landroid/util/ArrayMap;
-Landroid/transition/Transition;->getTargetViewNames()Ljava/util/List;
-Landroid/transition/Transition;->isValidMatch(I)Z
-Landroid/transition/Transition;->isValidTarget(Landroid/view/View;)Z
-Landroid/transition/Transition;->isValueChanged(Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;Ljava/lang/String;)Z
-Landroid/transition/Transition;->LOG_TAG:Ljava/lang/String;
-Landroid/transition/Transition;->mAnimators:Ljava/util/ArrayList;
-Landroid/transition/Transition;->matchIds(Landroid/util/ArrayMap;Landroid/util/ArrayMap;Landroid/util/SparseArray;Landroid/util/SparseArray;)V
-Landroid/transition/Transition;->matchInstances(Landroid/util/ArrayMap;Landroid/util/ArrayMap;)V
-Landroid/transition/Transition;->matchItemIds(Landroid/util/ArrayMap;Landroid/util/ArrayMap;Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;)V
-Landroid/transition/Transition;->matchNames(Landroid/util/ArrayMap;Landroid/util/ArrayMap;Landroid/util/ArrayMap;Landroid/util/ArrayMap;)V
-Landroid/transition/Transition;->matchStartAndEnd(Landroid/transition/TransitionValuesMaps;Landroid/transition/TransitionValuesMaps;)V
-Landroid/transition/Transition;->MATCH_FIRST:I
-Landroid/transition/Transition;->MATCH_ID_STR:Ljava/lang/String;
-Landroid/transition/Transition;->MATCH_INSTANCE_STR:Ljava/lang/String;
-Landroid/transition/Transition;->MATCH_ITEM_ID_STR:Ljava/lang/String;
-Landroid/transition/Transition;->MATCH_LAST:I
-Landroid/transition/Transition;->MATCH_NAME_STR:Ljava/lang/String;
-Landroid/transition/Transition;->MATCH_VIEW_NAME_STR:Ljava/lang/String;
-Landroid/transition/Transition;->mCanRemoveViews:Z
-Landroid/transition/Transition;->mCurrentAnimators:Ljava/util/ArrayList;
-Landroid/transition/Transition;->mDuration:J
-Landroid/transition/Transition;->mEnded:Z
-Landroid/transition/Transition;->mEndValues:Landroid/transition/TransitionValuesMaps;
-Landroid/transition/Transition;->mEndValuesList:Ljava/util/ArrayList;
-Landroid/transition/Transition;->mEpicenterCallback:Landroid/transition/Transition$EpicenterCallback;
-Landroid/transition/Transition;->mInterpolator:Landroid/animation/TimeInterpolator;
-Landroid/transition/Transition;->mListeners:Ljava/util/ArrayList;
-Landroid/transition/Transition;->mMatchOrder:[I
-Landroid/transition/Transition;->mName:Ljava/lang/String;
-Landroid/transition/Transition;->mNameOverrides:Landroid/util/ArrayMap;
-Landroid/transition/Transition;->mNumInstances:I
-Landroid/transition/Transition;->mParent:Landroid/transition/TransitionSet;
-Landroid/transition/Transition;->mPathMotion:Landroid/transition/PathMotion;
-Landroid/transition/Transition;->mPaused:Z
-Landroid/transition/Transition;->mPropagation:Landroid/transition/TransitionPropagation;
-Landroid/transition/Transition;->mSceneRoot:Landroid/view/ViewGroup;
-Landroid/transition/Transition;->mStartDelay:J
-Landroid/transition/Transition;->mStartValues:Landroid/transition/TransitionValuesMaps;
-Landroid/transition/Transition;->mStartValuesList:Ljava/util/ArrayList;
-Landroid/transition/Transition;->mTargetChildExcludes:Ljava/util/ArrayList;
-Landroid/transition/Transition;->mTargetExcludes:Ljava/util/ArrayList;
-Landroid/transition/Transition;->mTargetIdChildExcludes:Ljava/util/ArrayList;
-Landroid/transition/Transition;->mTargetIdExcludes:Ljava/util/ArrayList;
-Landroid/transition/Transition;->mTargetIds:Ljava/util/ArrayList;
-Landroid/transition/Transition;->mTargetNameExcludes:Ljava/util/ArrayList;
-Landroid/transition/Transition;->mTargetNames:Ljava/util/ArrayList;
-Landroid/transition/Transition;->mTargets:Ljava/util/ArrayList;
-Landroid/transition/Transition;->mTargetTypeChildExcludes:Ljava/util/ArrayList;
-Landroid/transition/Transition;->mTargetTypeExcludes:Ljava/util/ArrayList;
-Landroid/transition/Transition;->mTargetTypes:Ljava/util/ArrayList;
-Landroid/transition/Transition;->parseMatchOrder(Ljava/lang/String;)[I
-Landroid/transition/Transition;->pause(Landroid/view/View;)V
-Landroid/transition/Transition;->playTransition(Landroid/view/ViewGroup;)V
-Landroid/transition/Transition;->resume(Landroid/view/View;)V
-Landroid/transition/Transition;->runAnimator(Landroid/animation/Animator;Landroid/util/ArrayMap;)V
-Landroid/transition/Transition;->runAnimators()V
-Landroid/transition/Transition;->setCanRemoveViews(Z)V
-Landroid/transition/Transition;->setNameOverrides(Landroid/util/ArrayMap;)V
-Landroid/transition/Transition;->setSceneRoot(Landroid/view/ViewGroup;)Landroid/transition/Transition;
-Landroid/transition/Transition;->sRunningAnimators:Ljava/lang/ThreadLocal;
-Landroid/transition/Transition;->start()V
-Landroid/transition/Transition;->STRAIGHT_PATH_MOTION:Landroid/transition/PathMotion;
-Landroid/transition/Transition;->toString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/transition/TransitionInflater;-><init>(Landroid/content/Context;)V
-Landroid/transition/TransitionInflater;->createCustom(Landroid/util/AttributeSet;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
-Landroid/transition/TransitionInflater;->createTransitionFromXml(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/transition/Transition;)Landroid/transition/Transition;
-Landroid/transition/TransitionInflater;->createTransitionManagerFromXml(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/view/ViewGroup;)Landroid/transition/TransitionManager;
-Landroid/transition/TransitionInflater;->getTargetIds(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/transition/Transition;)V
-Landroid/transition/TransitionInflater;->loadTransition(Landroid/util/AttributeSet;Landroid/view/ViewGroup;Landroid/transition/TransitionManager;)V
-Landroid/transition/TransitionInflater;->mContext:Landroid/content/Context;
-Landroid/transition/TransitionInflater;->sConstructors:Landroid/util/ArrayMap;
-Landroid/transition/TransitionInflater;->sConstructorSignature:[Ljava/lang/Class;
-Landroid/transition/TransitionManager$MultiListener;
-Landroid/transition/TransitionManager$MultiListener;-><init>(Landroid/transition/Transition;Landroid/view/ViewGroup;)V
-Landroid/transition/TransitionManager$MultiListener;->mSceneRoot:Landroid/view/ViewGroup;
-Landroid/transition/TransitionManager$MultiListener;->mTransition:Landroid/transition/Transition;
-Landroid/transition/TransitionManager$MultiListener;->mViewTreeObserver:Landroid/view/ViewTreeObserver;
-Landroid/transition/TransitionManager$MultiListener;->removeListeners()V
-Landroid/transition/TransitionManager;->changeScene(Landroid/transition/Scene;Landroid/transition/Transition;)V
-Landroid/transition/TransitionManager;->EMPTY_STRINGS:[Ljava/lang/String;
-Landroid/transition/TransitionManager;->getDefaultTransition()Landroid/transition/Transition;
-Landroid/transition/TransitionManager;->LOG_TAG:Ljava/lang/String;
-Landroid/transition/TransitionManager;->mScenePairTransitions:Landroid/util/ArrayMap;
-Landroid/transition/TransitionManager;->mSceneTransitions:Landroid/util/ArrayMap;
-Landroid/transition/TransitionManager;->sceneChangeRunTransition(Landroid/view/ViewGroup;Landroid/transition/Transition;)V
-Landroid/transition/TransitionManager;->sceneChangeSetup(Landroid/view/ViewGroup;Landroid/transition/Transition;)V
-Landroid/transition/TransitionManager;->sDefaultTransition:Landroid/transition/Transition;
-Landroid/transition/TransitionManager;->setDefaultTransition(Landroid/transition/Transition;)V
-Landroid/transition/TransitionSet$TransitionSetListener;
-Landroid/transition/TransitionSet$TransitionSetListener;-><init>(Landroid/transition/TransitionSet;)V
-Landroid/transition/TransitionSet$TransitionSetListener;->mTransitionSet:Landroid/transition/TransitionSet;
-Landroid/transition/TransitionSet;->cancel()V
-Landroid/transition/TransitionSet;->capturePropagationValues(Landroid/transition/TransitionValues;)V
-Landroid/transition/TransitionSet;->createAnimators(Landroid/view/ViewGroup;Landroid/transition/TransitionValuesMaps;Landroid/transition/TransitionValuesMaps;Ljava/util/ArrayList;Ljava/util/ArrayList;)V
-Landroid/transition/TransitionSet;->forceToEnd(Landroid/view/ViewGroup;)V
-Landroid/transition/TransitionSet;->mCurrentListeners:I
-Landroid/transition/TransitionSet;->mPlayTogether:Z
-Landroid/transition/TransitionSet;->mStarted:Z
-Landroid/transition/TransitionSet;->mTransitions:Ljava/util/ArrayList;
-Landroid/transition/TransitionSet;->pause(Landroid/view/View;)V
-Landroid/transition/TransitionSet;->resume(Landroid/view/View;)V
-Landroid/transition/TransitionSet;->runAnimators()V
-Landroid/transition/TransitionSet;->setCanRemoveViews(Z)V
-Landroid/transition/TransitionSet;->setSceneRoot(Landroid/view/ViewGroup;)Landroid/transition/TransitionSet;
-Landroid/transition/TransitionSet;->setupStartEndListeners()V
-Landroid/transition/TransitionSet;->toString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/transition/TransitionUtils$MatrixEvaluator;
-Landroid/transition/TransitionUtils$MatrixEvaluator;-><init>()V
-Landroid/transition/TransitionUtils$MatrixEvaluator;->evaluate(FLandroid/graphics/Matrix;Landroid/graphics/Matrix;)Landroid/graphics/Matrix;
-Landroid/transition/TransitionUtils$MatrixEvaluator;->mTempEndValues:[F
-Landroid/transition/TransitionUtils$MatrixEvaluator;->mTempMatrix:Landroid/graphics/Matrix;
-Landroid/transition/TransitionUtils$MatrixEvaluator;->mTempStartValues:[F
-Landroid/transition/TransitionUtils;
-Landroid/transition/TransitionUtils;-><init>()V
-Landroid/transition/TransitionUtils;->copyViewImage(Landroid/view/ViewGroup;Landroid/view/View;Landroid/view/View;)Landroid/view/View;
-Landroid/transition/TransitionUtils;->createDrawableBitmap(Landroid/graphics/drawable/Drawable;Landroid/view/View;)Landroid/graphics/Bitmap;
-Landroid/transition/TransitionUtils;->createViewBitmap(Landroid/view/View;Landroid/graphics/Matrix;Landroid/graphics/RectF;Landroid/view/ViewGroup;)Landroid/graphics/Bitmap;
-Landroid/transition/TransitionUtils;->MAX_IMAGE_SIZE:I
-Landroid/transition/TransitionUtils;->mergeAnimators(Landroid/animation/Animator;Landroid/animation/Animator;)Landroid/animation/Animator;
-Landroid/transition/TransitionUtils;->mergeTransitions([[Landroid/transition/Transition;)Landroid/transition/Transition;
-Landroid/transition/TransitionValues;->targetedTransitions:Ljava/util/ArrayList;
-Landroid/transition/TransitionValuesMaps;
-Landroid/transition/TransitionValuesMaps;-><init>()V
-Landroid/transition/TransitionValuesMaps;->idValues:Landroid/util/SparseArray;
-Landroid/transition/TransitionValuesMaps;->itemIdValues:Landroid/util/LongSparseArray;
-Landroid/transition/TransitionValuesMaps;->nameValues:Landroid/util/ArrayMap;
-Landroid/transition/TransitionValuesMaps;->viewValues:Landroid/util/ArrayMap;
-Landroid/transition/Visibility$DisappearListener;
-Landroid/transition/Visibility$DisappearListener;-><init>(Landroid/view/View;IZ)V
-Landroid/transition/Visibility$DisappearListener;->hideViewWhenNotCanceled()V
-Landroid/transition/Visibility$DisappearListener;->mCanceled:Z
-Landroid/transition/Visibility$DisappearListener;->mFinalVisibility:I
-Landroid/transition/Visibility$DisappearListener;->mLayoutSuppressed:Z
-Landroid/transition/Visibility$DisappearListener;->mParent:Landroid/view/ViewGroup;
-Landroid/transition/Visibility$DisappearListener;->mSuppressLayout:Z
-Landroid/transition/Visibility$DisappearListener;->mView:Landroid/view/View;
-Landroid/transition/Visibility$DisappearListener;->suppressLayout(Z)V
-Landroid/transition/Visibility$VisibilityInfo;
-Landroid/transition/Visibility$VisibilityInfo;-><init>()V
-Landroid/transition/Visibility$VisibilityInfo;->endParent:Landroid/view/ViewGroup;
-Landroid/transition/Visibility$VisibilityInfo;->endVisibility:I
-Landroid/transition/Visibility$VisibilityInfo;->fadeIn:Z
-Landroid/transition/Visibility$VisibilityInfo;->startParent:Landroid/view/ViewGroup;
-Landroid/transition/Visibility$VisibilityInfo;->startVisibility:I
-Landroid/transition/Visibility$VisibilityInfo;->visibilityChange:Z
-Landroid/transition/Visibility$VisibilityMode;
-Landroid/transition/Visibility;->captureValues(Landroid/transition/TransitionValues;)V
-Landroid/transition/Visibility;->getVisibilityChangeInfo(Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/transition/Visibility$VisibilityInfo;
-Landroid/transition/Visibility;->mMode:I
-Landroid/transition/Visibility;->mSuppressLayout:Z
-Landroid/transition/Visibility;->PROPNAME_PARENT:Ljava/lang/String;
-Landroid/transition/Visibility;->PROPNAME_SCREEN_LOCATION:Ljava/lang/String;
-Landroid/transition/Visibility;->PROPNAME_VISIBILITY:Ljava/lang/String;
-Landroid/transition/Visibility;->setSuppressLayout(Z)V
-Landroid/transition/Visibility;->sTransitionProperties:[Ljava/lang/String;
-Landroid/transition/VisibilityPropagation;->getViewCoordinate(Landroid/transition/TransitionValues;I)I
-Landroid/transition/VisibilityPropagation;->PROPNAME_VIEW_CENTER:Ljava/lang/String;
-Landroid/transition/VisibilityPropagation;->PROPNAME_VISIBILITY:Ljava/lang/String;
-Landroid/transition/VisibilityPropagation;->VISIBILITY_PROPAGATION_VALUES:[Ljava/lang/String;
-Landroid/util/AggStats;
-Landroid/util/AggStats;-><init>()V
-Landroid/util/AggStats;->AVERAGE:J
-Landroid/util/AggStats;->MAX:J
-Landroid/util/AggStats;->MIN:J
-Landroid/util/AndroidException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V
-Landroid/util/apk/ApkSignatureSchemeV2Verifier$VerifiedSigner;
-Landroid/util/apk/ApkSignatureSchemeV2Verifier$VerifiedSigner;-><init>([[Ljava/security/cert/X509Certificate;[B)V
-Landroid/util/apk/ApkSignatureSchemeV2Verifier$VerifiedSigner;->certs:[[Ljava/security/cert/X509Certificate;
-Landroid/util/apk/ApkSignatureSchemeV2Verifier$VerifiedSigner;->verityRootHash:[B
-Landroid/util/apk/ApkSignatureSchemeV2Verifier;
-Landroid/util/apk/ApkSignatureSchemeV2Verifier;-><init>()V
-Landroid/util/apk/ApkSignatureSchemeV2Verifier;->APK_SIGNATURE_SCHEME_V2_BLOCK_ID:I
-Landroid/util/apk/ApkSignatureSchemeV2Verifier;->findSignature(Ljava/io/RandomAccessFile;)Landroid/util/apk/SignatureInfo;
-Landroid/util/apk/ApkSignatureSchemeV2Verifier;->generateApkVerity(Ljava/lang/String;Landroid/util/apk/ByteBufferFactory;)[B
-Landroid/util/apk/ApkSignatureSchemeV2Verifier;->generateFsverityRootHash(Ljava/lang/String;)[B
-Landroid/util/apk/ApkSignatureSchemeV2Verifier;->getVerityRootHash(Ljava/lang/String;)[B
-Landroid/util/apk/ApkSignatureSchemeV2Verifier;->hasSignature(Ljava/lang/String;)Z
-Landroid/util/apk/ApkSignatureSchemeV2Verifier;->isSupportedSignatureAlgorithm(I)Z
-Landroid/util/apk/ApkSignatureSchemeV2Verifier;->plsCertsNoVerifyOnlyCerts(Ljava/lang/String;)[[Ljava/security/cert/X509Certificate;
-Landroid/util/apk/ApkSignatureSchemeV2Verifier;->SF_ATTRIBUTE_ANDROID_APK_SIGNED_ID:I
-Landroid/util/apk/ApkSignatureSchemeV2Verifier;->STRIPPING_PROTECTION_ATTR_ID:I
-Landroid/util/apk/ApkSignatureSchemeV2Verifier;->verify(Ljava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;Z)Landroid/util/apk/ApkSignatureSchemeV2Verifier$VerifiedSigner;
-Landroid/util/apk/ApkSignatureSchemeV2Verifier;->verify(Ljava/io/RandomAccessFile;Z)Landroid/util/apk/ApkSignatureSchemeV2Verifier$VerifiedSigner;
-Landroid/util/apk/ApkSignatureSchemeV2Verifier;->verify(Ljava/lang/String;)[[Ljava/security/cert/X509Certificate;
-Landroid/util/apk/ApkSignatureSchemeV2Verifier;->verify(Ljava/lang/String;Z)Landroid/util/apk/ApkSignatureSchemeV2Verifier$VerifiedSigner;
-Landroid/util/apk/ApkSignatureSchemeV2Verifier;->verifyAdditionalAttributes(Ljava/nio/ByteBuffer;)V
-Landroid/util/apk/ApkSignatureSchemeV2Verifier;->verifySigner(Ljava/nio/ByteBuffer;Ljava/util/Map;Ljava/security/cert/CertificateFactory;)[Ljava/security/cert/X509Certificate;
-Landroid/util/apk/ApkSignatureSchemeV3Verifier$PlatformNotSupportedException;
-Landroid/util/apk/ApkSignatureSchemeV3Verifier$PlatformNotSupportedException;-><init>(Ljava/lang/String;)V
-Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedProofOfRotation;
-Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedProofOfRotation;-><init>(Ljava/util/List;Ljava/util/List;)V
-Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedProofOfRotation;->certs:Ljava/util/List;
-Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedProofOfRotation;->flagsList:Ljava/util/List;
-Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
-Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;-><init>([Ljava/security/cert/X509Certificate;Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedProofOfRotation;)V
-Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;->certs:[Ljava/security/cert/X509Certificate;
-Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;->por:Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedProofOfRotation;
-Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;->verityRootHash:[B
-Landroid/util/apk/ApkSignatureSchemeV3Verifier;
-Landroid/util/apk/ApkSignatureSchemeV3Verifier;-><init>()V
-Landroid/util/apk/ApkSignatureSchemeV3Verifier;->APK_SIGNATURE_SCHEME_V3_BLOCK_ID:I
-Landroid/util/apk/ApkSignatureSchemeV3Verifier;->findSignature(Ljava/io/RandomAccessFile;)Landroid/util/apk/SignatureInfo;
-Landroid/util/apk/ApkSignatureSchemeV3Verifier;->generateApkVerity(Ljava/lang/String;Landroid/util/apk/ByteBufferFactory;)[B
-Landroid/util/apk/ApkSignatureSchemeV3Verifier;->generateFsverityRootHash(Ljava/lang/String;)[B
-Landroid/util/apk/ApkSignatureSchemeV3Verifier;->getVerityRootHash(Ljava/lang/String;)[B
-Landroid/util/apk/ApkSignatureSchemeV3Verifier;->hasSignature(Ljava/lang/String;)Z
-Landroid/util/apk/ApkSignatureSchemeV3Verifier;->isSupportedSignatureAlgorithm(I)Z
-Landroid/util/apk/ApkSignatureSchemeV3Verifier;->plsCertsNoVerifyOnlyCerts(Ljava/lang/String;)Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
-Landroid/util/apk/ApkSignatureSchemeV3Verifier;->PROOF_OF_ROTATION_ATTR_ID:I
-Landroid/util/apk/ApkSignatureSchemeV3Verifier;->SF_ATTRIBUTE_ANDROID_APK_SIGNED_ID:I
-Landroid/util/apk/ApkSignatureSchemeV3Verifier;->verify(Ljava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;Z)Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
-Landroid/util/apk/ApkSignatureSchemeV3Verifier;->verify(Ljava/io/RandomAccessFile;Z)Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
-Landroid/util/apk/ApkSignatureSchemeV3Verifier;->verify(Ljava/lang/String;)Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
-Landroid/util/apk/ApkSignatureSchemeV3Verifier;->verify(Ljava/lang/String;Z)Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
-Landroid/util/apk/ApkSignatureSchemeV3Verifier;->verifyAdditionalAttributes(Ljava/nio/ByteBuffer;Ljava/util/List;Ljava/security/cert/CertificateFactory;)Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
-Landroid/util/apk/ApkSignatureSchemeV3Verifier;->verifyProofOfRotationStruct(Ljava/nio/ByteBuffer;Ljava/security/cert/CertificateFactory;)Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedProofOfRotation;
-Landroid/util/apk/ApkSignatureSchemeV3Verifier;->verifySigner(Ljava/nio/ByteBuffer;Ljava/util/Map;Ljava/security/cert/CertificateFactory;)Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
-Landroid/util/apk/ApkSignatureVerifier$Result;
-Landroid/util/apk/ApkSignatureVerifier$Result;-><init>([[Ljava/security/cert/Certificate;[Landroid/content/pm/Signature;I)V
-Landroid/util/apk/ApkSignatureVerifier$Result;->certs:[[Ljava/security/cert/Certificate;
-Landroid/util/apk/ApkSignatureVerifier$Result;->signatureSchemeVersion:I
-Landroid/util/apk/ApkSignatureVerifier$Result;->sigs:[Landroid/content/pm/Signature;
-Landroid/util/apk/ApkSignatureVerifier;
-Landroid/util/apk/ApkSignatureVerifier;-><init>()V
-Landroid/util/apk/ApkSignatureVerifier;->closeQuietly(Landroid/util/jar/StrictJarFile;)V
-Landroid/util/apk/ApkSignatureVerifier;->convertToSignatures([[Ljava/security/cert/Certificate;)[Landroid/content/pm/Signature;
-Landroid/util/apk/ApkSignatureVerifier;->generateApkVerity(Ljava/lang/String;Landroid/util/apk/ByteBufferFactory;)[B
-Landroid/util/apk/ApkSignatureVerifier;->generateFsverityRootHash(Ljava/lang/String;)[B
-Landroid/util/apk/ApkSignatureVerifier;->getVerityRootHash(Ljava/lang/String;)[B
-Landroid/util/apk/ApkSignatureVerifier;->loadCertificates(Landroid/util/jar/StrictJarFile;Ljava/util/zip/ZipEntry;)[[Ljava/security/cert/Certificate;
-Landroid/util/apk/ApkSignatureVerifier;->plsCertsNoVerifyOnlyCerts(Ljava/lang/String;I)Landroid/content/pm/PackageParser$SigningDetails;
-Landroid/util/apk/ApkSignatureVerifier;->readFullyIgnoringContents(Ljava/io/InputStream;)V
-Landroid/util/apk/ApkSignatureVerifier;->sBuffer:Ljava/util/concurrent/atomic/AtomicReference;
-Landroid/util/apk/ApkSignatureVerifier;->verify(Ljava/lang/String;I)Landroid/content/pm/PackageParser$SigningDetails;
-Landroid/util/apk/ApkSignatureVerifier;->verifyV1Signature(Ljava/lang/String;Z)Landroid/content/pm/PackageParser$SigningDetails;
-Landroid/util/apk/ByteBufferFactory;
-Landroid/util/apk/ByteBufferFactory;->create(I)Ljava/nio/ByteBuffer;
-Landroid/util/apk/SignatureInfo;
-Landroid/util/apk/SignatureInfo;-><init>(Ljava/nio/ByteBuffer;JJJLjava/nio/ByteBuffer;)V
-Landroid/util/apk/SignatureInfo;->apkSigningBlockOffset:J
-Landroid/util/apk/SignatureInfo;->centralDirOffset:J
-Landroid/util/apk/SignatureInfo;->eocd:Ljava/nio/ByteBuffer;
-Landroid/util/apk/SignatureInfo;->eocdOffset:J
-Landroid/util/apk/SignatureInfo;->signatureBlock:Ljava/nio/ByteBuffer;
-Landroid/util/apk/SignatureNotFoundException;
-Landroid/util/apk/SignatureNotFoundException;-><init>(Ljava/lang/String;)V
-Landroid/util/apk/SignatureNotFoundException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-Landroid/util/ArrayMap;-><init>(IZ)V
-Landroid/util/ArrayMap;->BASE_SIZE:I
-Landroid/util/ArrayMap;->binarySearchHashes([III)I
-Landroid/util/ArrayMap;->CONCURRENT_MODIFICATION_EXCEPTIONS:Z
-Landroid/util/ArrayMap;->DEBUG:Z
-Landroid/util/ArrayMap;->erase()V
-Landroid/util/ArrayMap;->getCollection()Landroid/util/MapCollections;
-Landroid/util/ArrayMap;->mCollections:Landroid/util/MapCollections;
-Landroid/util/ArrayMap;->mIdentityHashCode:Z
-Landroid/util/ArrayMap;->TAG:Ljava/lang/String;
-Landroid/util/ArrayMap;->validate()V
-Landroid/util/ArraySet;-><init>(IZ)V
-Landroid/util/ArraySet;->append(Ljava/lang/Object;)V
-Landroid/util/ArraySet;->BASE_SIZE:I
-Landroid/util/ArraySet;->CACHE_SIZE:I
-Landroid/util/ArraySet;->DEBUG:Z
-Landroid/util/ArraySet;->getCollection()Landroid/util/MapCollections;
-Landroid/util/ArraySet;->mCollections:Landroid/util/MapCollections;
-Landroid/util/ArraySet;->mIdentityHashCode:Z
-Landroid/util/ArraySet;->sBaseCache:[Ljava/lang/Object;
-Landroid/util/ArraySet;->sBaseCacheSize:I
-Landroid/util/ArraySet;->sTwiceBaseCache:[Ljava/lang/Object;
-Landroid/util/ArraySet;->sTwiceBaseCacheSize:I
-Landroid/util/ArraySet;->TAG:Ljava/lang/String;
-Landroid/util/AtomicFile;-><init>(Ljava/io/File;Ljava/lang/String;)V
-Landroid/util/AtomicFile;->exists()Z
-Landroid/util/AtomicFile;->getLastModifiedTime()J
-Landroid/util/AtomicFile;->mBackupName:Ljava/io/File;
-Landroid/util/AtomicFile;->mBaseName:Ljava/io/File;
-Landroid/util/AtomicFile;->mCommitTag:Ljava/lang/String;
-Landroid/util/AtomicFile;->mStartTime:J
-Landroid/util/AtomicFile;->openAppend()Ljava/io/FileOutputStream;
-Landroid/util/AtomicFile;->startWrite(J)Ljava/io/FileOutputStream;
-Landroid/util/AtomicFile;->truncate()V
-Landroid/util/AtomicFile;->write(Ljava/util/function/Consumer;)V
-Landroid/util/BackupUtils$BadVersionException;
-Landroid/util/BackupUtils$BadVersionException;-><init>(Ljava/lang/String;)V
-Landroid/util/BackupUtils;
-Landroid/util/BackupUtils;-><init>()V
-Landroid/util/BackupUtils;->NOT_NULL:I
-Landroid/util/BackupUtils;->NULL:I
-Landroid/util/BackupUtils;->readString(Ljava/io/DataInputStream;)Ljava/lang/String;
-Landroid/util/BackupUtils;->writeString(Ljava/io/DataOutputStream;Ljava/lang/String;)V
-Landroid/util/Base64$Coder;
-Landroid/util/Base64$Coder;-><init>()V
-Landroid/util/Base64$Coder;->maxOutputSize(I)I
-Landroid/util/Base64$Coder;->op:I
-Landroid/util/Base64$Coder;->output:[B
-Landroid/util/Base64$Coder;->process([BIIZ)Z
-Landroid/util/Base64$Decoder;
-Landroid/util/Base64$Decoder;-><init>(I[B)V
-Landroid/util/Base64$Decoder;->alphabet:[I
-Landroid/util/Base64$Decoder;->DECODE:[I
-Landroid/util/Base64$Decoder;->DECODE_WEBSAFE:[I
-Landroid/util/Base64$Decoder;->EQUALS:I
-Landroid/util/Base64$Decoder;->maxOutputSize(I)I
-Landroid/util/Base64$Decoder;->process([BIIZ)Z
-Landroid/util/Base64$Decoder;->SKIP:I
-Landroid/util/Base64$Decoder;->state:I
-Landroid/util/Base64$Decoder;->value:I
-Landroid/util/Base64$Encoder;
-Landroid/util/Base64$Encoder;-><init>(I[B)V
-Landroid/util/Base64$Encoder;->alphabet:[B
-Landroid/util/Base64$Encoder;->count:I
-Landroid/util/Base64$Encoder;->do_cr:Z
-Landroid/util/Base64$Encoder;->do_newline:Z
-Landroid/util/Base64$Encoder;->do_padding:Z
-Landroid/util/Base64$Encoder;->ENCODE:[B
-Landroid/util/Base64$Encoder;->ENCODE_WEBSAFE:[B
-Landroid/util/Base64$Encoder;->LINE_GROUPS:I
-Landroid/util/Base64$Encoder;->maxOutputSize(I)I
-Landroid/util/Base64$Encoder;->process([BIIZ)Z
-Landroid/util/Base64$Encoder;->tail:[B
-Landroid/util/Base64$Encoder;->tailLen:I
-Landroid/util/Base64InputStream;-><init>(Ljava/io/InputStream;IZ)V
-Landroid/util/Base64InputStream;->BUFFER_SIZE:I
-Landroid/util/Base64InputStream;->coder:Landroid/util/Base64$Coder;
-Landroid/util/Base64InputStream;->EMPTY:[B
-Landroid/util/Base64InputStream;->eof:Z
-Landroid/util/Base64InputStream;->inputBuffer:[B
-Landroid/util/Base64InputStream;->outputEnd:I
-Landroid/util/Base64InputStream;->outputStart:I
-Landroid/util/Base64InputStream;->refill()V
-Landroid/util/Base64OutputStream;->bpos:I
-Landroid/util/Base64OutputStream;->buffer:[B
-Landroid/util/Base64OutputStream;->coder:Landroid/util/Base64$Coder;
-Landroid/util/Base64OutputStream;->embiggen([BI)[B
-Landroid/util/Base64OutputStream;->EMPTY:[B
-Landroid/util/Base64OutputStream;->flags:I
-Landroid/util/Base64OutputStream;->flushBuffer()V
-Landroid/util/Base64OutputStream;->internalWrite([BIIZ)V
-Landroid/util/BinaryLogEntry$Elem;
-Landroid/util/BinaryLogEntry$Elem;-><init>()V
-Landroid/util/BinaryLogEntry$Elem;->EVENT_TYPE_FLOAT:I
-Landroid/util/BinaryLogEntry$Elem;->EVENT_TYPE_INT:I
-Landroid/util/BinaryLogEntry$Elem;->EVENT_TYPE_LIST:I
-Landroid/util/BinaryLogEntry$Elem;->EVENT_TYPE_LIST_STOP:I
-Landroid/util/BinaryLogEntry$Elem;->EVENT_TYPE_LONG:I
-Landroid/util/BinaryLogEntry$Elem;->EVENT_TYPE_STRING:I
-Landroid/util/BinaryLogEntry$Elem;->EVENT_TYPE_UNKNOWN:I
-Landroid/util/BinaryLogEntry$Elem;->TYPE:J
-Landroid/util/BinaryLogEntry$Elem;->VAL_FLOAT:J
-Landroid/util/BinaryLogEntry$Elem;->VAL_INT32:J
-Landroid/util/BinaryLogEntry$Elem;->VAL_INT64:J
-Landroid/util/BinaryLogEntry$Elem;->VAL_STRING:J
-Landroid/util/BinaryLogEntry;
-Landroid/util/BinaryLogEntry;-><init>()V
-Landroid/util/BinaryLogEntry;->ELEMS:J
-Landroid/util/BinaryLogEntry;->NANOSEC:J
-Landroid/util/BinaryLogEntry;->PID:J
-Landroid/util/BinaryLogEntry;->SEC:J
-Landroid/util/BinaryLogEntry;->TAG_INDEX:J
-Landroid/util/BinaryLogEntry;->TID:J
-Landroid/util/BinaryLogEntry;->UID:J
-Landroid/util/ByteStringUtils;
-Landroid/util/ByteStringUtils;-><init>()V
-Landroid/util/ByteStringUtils;->fromHexToByteArray(Ljava/lang/String;)[B
-Landroid/util/ByteStringUtils;->getIndex(C)I
-Landroid/util/ByteStringUtils;->HEX_LOWERCASE_ARRAY:[C
-Landroid/util/ByteStringUtils;->HEX_UPPERCASE_ARRAY:[C
-Landroid/util/ByteStringUtils;->toHexString([B)Ljava/lang/String;
-Landroid/util/Config;-><init>()V
-Landroid/util/DataUnit;
-Landroid/util/DataUnit;-><init>()V
-Landroid/util/DataUnit;->GIBIBYTES:Landroid/util/DataUnit;
-Landroid/util/DataUnit;->GIGABYTES:Landroid/util/DataUnit;
-Landroid/util/DataUnit;->KIBIBYTES:Landroid/util/DataUnit;
-Landroid/util/DataUnit;->KILOBYTES:Landroid/util/DataUnit;
-Landroid/util/DataUnit;->MEBIBYTES:Landroid/util/DataUnit;
-Landroid/util/DataUnit;->MEGABYTES:Landroid/util/DataUnit;
-Landroid/util/DataUnit;->toBytes(J)J
-Landroid/util/DataUnit;->valueOf(Ljava/lang/String;)Landroid/util/DataUnit;
-Landroid/util/DataUnit;->values()[Landroid/util/DataUnit;
-Landroid/util/DayOfMonthCursor;
-Landroid/util/DayOfMonthCursor;-><init>(IIII)V
-Landroid/util/DayOfMonthCursor;->down()Z
-Landroid/util/DayOfMonthCursor;->getSelectedColumn()I
-Landroid/util/DayOfMonthCursor;->getSelectedDayOfMonth()I
-Landroid/util/DayOfMonthCursor;->getSelectedMonthOffset()I
-Landroid/util/DayOfMonthCursor;->getSelectedRow()I
-Landroid/util/DayOfMonthCursor;->isSelected(II)Z
-Landroid/util/DayOfMonthCursor;->left()Z
-Landroid/util/DayOfMonthCursor;->mColumn:I
-Landroid/util/DayOfMonthCursor;->mRow:I
-Landroid/util/DayOfMonthCursor;->right()Z
-Landroid/util/DayOfMonthCursor;->setSelectedDayOfMonth(I)V
-Landroid/util/DayOfMonthCursor;->setSelectedRowColumn(II)V
-Landroid/util/DayOfMonthCursor;->up()Z
-Landroid/util/DebugUtils;-><init>()V
-Landroid/util/DebugUtils;->constNameWithoutPrefix(Ljava/lang/String;Ljava/lang/reflect/Field;)Ljava/lang/String;
-Landroid/util/DebugUtils;->flagsToString(Ljava/lang/Class;Ljava/lang/String;I)Ljava/lang/String;
-Landroid/util/DebugUtils;->printSizeValue(Ljava/io/PrintWriter;J)V
-Landroid/util/DebugUtils;->sizeValueToString(JLjava/lang/StringBuilder;)Ljava/lang/String;
-Landroid/util/DebugUtils;->valueToString(Ljava/lang/Class;Ljava/lang/String;I)Ljava/lang/String;
-Landroid/util/DisplayMetrics;->DENSITY_DEFAULT_SCALE:F
-Landroid/util/DisplayMetrics;->equalsPhysical(Landroid/util/DisplayMetrics;)Z
-Landroid/util/DisplayMetrics;->getDeviceDensity()I
-Landroid/util/DisplayMetrics;->noncompatDensity:F
-Landroid/util/DisplayMetrics;->noncompatScaledDensity:F
-Landroid/util/DisplayMetrics;->noncompatXdpi:F
-Landroid/util/DisplayMetrics;->noncompatYdpi:F
-Landroid/util/Duration;
-Landroid/util/Duration;-><init>()V
-Landroid/util/Duration;->END_MS:J
-Landroid/util/Duration;->START_MS:J
-Landroid/util/EventLog$Event;->clearError()V
-Landroid/util/EventLog$Event;->DATA_OFFSET:I
-Landroid/util/EventLog$Event;->decodeObject()Ljava/lang/Object;
-Landroid/util/EventLog$Event;->FLOAT_TYPE:B
-Landroid/util/EventLog$Event;->fromBytes([B)Landroid/util/EventLog$Event;
-Landroid/util/EventLog$Event;->getBytes()[B
-Landroid/util/EventLog$Event;->getLastError()Ljava/lang/Exception;
-Landroid/util/EventLog$Event;->HEADER_SIZE_OFFSET:I
-Landroid/util/EventLog$Event;->INT_TYPE:B
-Landroid/util/EventLog$Event;->LENGTH_OFFSET:I
-Landroid/util/EventLog$Event;->LIST_TYPE:B
-Landroid/util/EventLog$Event;->LONG_TYPE:B
-Landroid/util/EventLog$Event;->mBuffer:Ljava/nio/ByteBuffer;
-Landroid/util/EventLog$Event;->mLastWtf:Ljava/lang/Exception;
-Landroid/util/EventLog$Event;->NANOSECONDS_OFFSET:I
-Landroid/util/EventLog$Event;->PROCESS_OFFSET:I
-Landroid/util/EventLog$Event;->SECONDS_OFFSET:I
-Landroid/util/EventLog$Event;->STRING_TYPE:B
-Landroid/util/EventLog$Event;->THREAD_OFFSET:I
-Landroid/util/EventLog$Event;->UID_OFFSET:I
-Landroid/util/EventLog$Event;->V1_PAYLOAD_START:I
-Landroid/util/EventLog;-><init>()V
-Landroid/util/EventLog;->COMMENT_PATTERN:Ljava/lang/String;
-Landroid/util/EventLog;->readTagsFile()V
-Landroid/util/EventLog;->sTagCodes:Ljava/util/HashMap;
-Landroid/util/EventLog;->sTagNames:Ljava/util/HashMap;
-Landroid/util/EventLog;->TAG:Ljava/lang/String;
-Landroid/util/EventLog;->TAGS_FILE:Ljava/lang/String;
-Landroid/util/EventLog;->TAG_PATTERN:Ljava/lang/String;
-Landroid/util/EventLogTag$ValueDescriptor;
-Landroid/util/EventLogTag$ValueDescriptor;-><init>()V
-Landroid/util/EventLogTag$ValueDescriptor;->ALLOCATIONS:I
-Landroid/util/EventLogTag$ValueDescriptor;->BYTES:I
-Landroid/util/EventLogTag$ValueDescriptor;->FLOAT:I
-Landroid/util/EventLogTag$ValueDescriptor;->ID:I
-Landroid/util/EventLogTag$ValueDescriptor;->INT:I
-Landroid/util/EventLogTag$ValueDescriptor;->LIST:I
-Landroid/util/EventLogTag$ValueDescriptor;->LONG:I
-Landroid/util/EventLogTag$ValueDescriptor;->MILLISECONDS:I
-Landroid/util/EventLogTag$ValueDescriptor;->NAME:J
-Landroid/util/EventLogTag$ValueDescriptor;->OBJECTS:I
-Landroid/util/EventLogTag$ValueDescriptor;->PERCENT:I
-Landroid/util/EventLogTag$ValueDescriptor;->SECONDS:I
-Landroid/util/EventLogTag$ValueDescriptor;->STRING:I
-Landroid/util/EventLogTag$ValueDescriptor;->TYPE:J
-Landroid/util/EventLogTag$ValueDescriptor;->UNIT:J
-Landroid/util/EventLogTag$ValueDescriptor;->UNKNOWN:I
-Landroid/util/EventLogTag$ValueDescriptor;->UNSET:I
-Landroid/util/EventLogTag;
-Landroid/util/EventLogTag;-><init>()V
-Landroid/util/EventLogTag;->TAG_NAME:J
-Landroid/util/EventLogTag;->TAG_NUMBER:J
-Landroid/util/EventLogTag;->VALUE_DESCRIPTORS:J
-Landroid/util/EventLogTagMapProto;
-Landroid/util/EventLogTagMapProto;-><init>()V
-Landroid/util/EventLogTagMapProto;->EVENT_LOG_TAGS:J
-Landroid/util/EventLogTags$Description;-><init>(ILjava/lang/String;)V
-Landroid/util/ExceptionUtils;
-Landroid/util/ExceptionUtils;-><init>()V
-Landroid/util/ExceptionUtils;->appendCause(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
-Landroid/util/ExceptionUtils;->getCompleteMessage(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/String;
-Landroid/util/ExceptionUtils;->getCompleteMessage(Ljava/lang/Throwable;)Ljava/lang/String;
-Landroid/util/ExceptionUtils;->getRootCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
-Landroid/util/ExceptionUtils;->maybeUnwrapIOException(Ljava/lang/RuntimeException;)V
-Landroid/util/ExceptionUtils;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
-Landroid/util/ExceptionUtils;->propagate(Ljava/lang/Throwable;Ljava/lang/Class;)Ljava/lang/RuntimeException;
-Landroid/util/ExceptionUtils;->propagateIfInstanceOf(Ljava/lang/Throwable;Ljava/lang/Class;)V
-Landroid/util/ExceptionUtils;->wrap(Ljava/io/IOException;)Ljava/lang/RuntimeException;
-Landroid/util/FastImmutableArraySet$FastIterator;
-Landroid/util/FastImmutableArraySet$FastIterator;-><init>([Ljava/lang/Object;)V
-Landroid/util/FastImmutableArraySet$FastIterator;->mContents:[Ljava/lang/Object;
-Landroid/util/FastImmutableArraySet$FastIterator;->mIndex:I
-Landroid/util/FastImmutableArraySet;
-Landroid/util/FastImmutableArraySet;-><init>([Ljava/lang/Object;)V
-Landroid/util/FastImmutableArraySet;->mContents:[Ljava/lang/Object;
-Landroid/util/FastImmutableArraySet;->mIterator:Landroid/util/FastImmutableArraySet$FastIterator;
-Landroid/util/FeatureFlagUtils;
-Landroid/util/FeatureFlagUtils;-><init>()V
-Landroid/util/FeatureFlagUtils;->DEFAULT_FLAGS:Ljava/util/Map;
-Landroid/util/FeatureFlagUtils;->FFLAG_OVERRIDE_PREFIX:Ljava/lang/String;
-Landroid/util/FeatureFlagUtils;->FFLAG_PREFIX:Ljava/lang/String;
-Landroid/util/FeatureFlagUtils;->getAllFeatureFlags()Ljava/util/Map;
-Landroid/util/FeatureFlagUtils;->isEnabled(Landroid/content/Context;Ljava/lang/String;)Z
-Landroid/util/FeatureFlagUtils;->setEnabled(Landroid/content/Context;Ljava/lang/String;Z)V
-Landroid/util/FloatMath;-><init>()V
-Landroid/util/Half;->FP16_COMBINED:I
-Landroid/util/Half;->FP16_EXPONENT_BIAS:I
-Landroid/util/Half;->FP16_EXPONENT_MASK:I
-Landroid/util/Half;->FP16_EXPONENT_MAX:I
-Landroid/util/Half;->FP16_EXPONENT_SHIFT:I
-Landroid/util/Half;->FP16_SIGNIFICAND_MASK:I
-Landroid/util/Half;->FP16_SIGN_MASK:I
-Landroid/util/Half;->FP16_SIGN_SHIFT:I
-Landroid/util/Half;->FP32_DENORMAL_FLOAT:F
-Landroid/util/Half;->FP32_DENORMAL_MAGIC:I
-Landroid/util/Half;->FP32_EXPONENT_BIAS:I
-Landroid/util/Half;->FP32_EXPONENT_MASK:I
-Landroid/util/Half;->FP32_EXPONENT_SHIFT:I
-Landroid/util/Half;->FP32_SIGNIFICAND_MASK:I
-Landroid/util/Half;->FP32_SIGN_SHIFT:I
-Landroid/util/Half;->mValue:S
-Landroid/util/IconDrawableFactory;
-Landroid/util/IconDrawableFactory;-><init>(Landroid/content/Context;Z)V
-Landroid/util/IconDrawableFactory;->CORP_BADGE_COLORS:[I
-Landroid/util/IconDrawableFactory;->getBadgedIcon(Landroid/content/pm/ApplicationInfo;I)Landroid/graphics/drawable/Drawable;
-Landroid/util/IconDrawableFactory;->getShadowedIcon(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;
-Landroid/util/IconDrawableFactory;->getUserBadgeColor(Landroid/os/UserManager;I)I
-Landroid/util/IconDrawableFactory;->mContext:Landroid/content/Context;
-Landroid/util/IconDrawableFactory;->mEmbedShadow:Z
-Landroid/util/IconDrawableFactory;->mLauncherIcons:Landroid/util/LauncherIcons;
-Landroid/util/IconDrawableFactory;->mPm:Landroid/content/pm/PackageManager;
-Landroid/util/IconDrawableFactory;->mUm:Landroid/os/UserManager;
-Landroid/util/IconDrawableFactory;->needsBadging(Landroid/content/pm/ApplicationInfo;I)Z
-Landroid/util/IconDrawableFactory;->newInstance(Landroid/content/Context;Z)Landroid/util/IconDrawableFactory;
-Landroid/util/IntArray;
-Landroid/util/IntArray;-><init>()V
-Landroid/util/IntArray;-><init>(I)V
-Landroid/util/IntArray;-><init>([II)V
-Landroid/util/IntArray;->add(I)V
-Landroid/util/IntArray;->add(II)V
-Landroid/util/IntArray;->addAll(Landroid/util/IntArray;)V
-Landroid/util/IntArray;->binarySearch(I)I
-Landroid/util/IntArray;->checkBounds(I)V
-Landroid/util/IntArray;->clear()V
-Landroid/util/IntArray;->ensureCapacity(I)V
-Landroid/util/IntArray;->fromArray([II)Landroid/util/IntArray;
-Landroid/util/IntArray;->get(I)I
-Landroid/util/IntArray;->indexOf(I)I
-Landroid/util/IntArray;->MIN_CAPACITY_INCREMENT:I
-Landroid/util/IntArray;->mSize:I
-Landroid/util/IntArray;->mValues:[I
-Landroid/util/IntArray;->remove(I)V
-Landroid/util/IntArray;->resize(I)V
-Landroid/util/IntArray;->set(II)V
-Landroid/util/IntArray;->size()I
-Landroid/util/IntArray;->toArray()[I
-Landroid/util/IntArray;->wrap([I)Landroid/util/IntArray;
-Landroid/util/JsonReader;->advance()Landroid/util/JsonToken;
-Landroid/util/JsonReader;->buffer:[C
-Landroid/util/JsonReader;->bufferStartColumn:I
-Landroid/util/JsonReader;->bufferStartLine:I
-Landroid/util/JsonReader;->checkLenient()V
-Landroid/util/JsonReader;->decodeLiteral()Landroid/util/JsonToken;
-Landroid/util/JsonReader;->decodeNumber([CII)Landroid/util/JsonToken;
-Landroid/util/JsonReader;->expect(Landroid/util/JsonToken;)V
-Landroid/util/JsonReader;->FALSE:Ljava/lang/String;
-Landroid/util/JsonReader;->fillBuffer(I)Z
-Landroid/util/JsonReader;->getColumnNumber()I
-Landroid/util/JsonReader;->getLineNumber()I
-Landroid/util/JsonReader;->getSnippet()Ljava/lang/CharSequence;
-Landroid/util/JsonReader;->in:Ljava/io/Reader;
-Landroid/util/JsonReader;->lenient:Z
-Landroid/util/JsonReader;->limit:I
-Landroid/util/JsonReader;->name:Ljava/lang/String;
-Landroid/util/JsonReader;->nextInArray(Z)Landroid/util/JsonToken;
-Landroid/util/JsonReader;->nextInObject(Z)Landroid/util/JsonToken;
-Landroid/util/JsonReader;->nextLiteral(Z)Ljava/lang/String;
-Landroid/util/JsonReader;->nextNonWhitespace()I
-Landroid/util/JsonReader;->nextString(C)Ljava/lang/String;
-Landroid/util/JsonReader;->nextValue()Landroid/util/JsonToken;
-Landroid/util/JsonReader;->objectValue()Landroid/util/JsonToken;
-Landroid/util/JsonReader;->peekStack()Landroid/util/JsonScope;
-Landroid/util/JsonReader;->pop()Landroid/util/JsonScope;
-Landroid/util/JsonReader;->pos:I
-Landroid/util/JsonReader;->push(Landroid/util/JsonScope;)V
-Landroid/util/JsonReader;->readEscapeCharacter()C
-Landroid/util/JsonReader;->readLiteral()Landroid/util/JsonToken;
-Landroid/util/JsonReader;->replaceTop(Landroid/util/JsonScope;)V
-Landroid/util/JsonReader;->skipping:Z
-Landroid/util/JsonReader;->skipTo(Ljava/lang/String;)Z
-Landroid/util/JsonReader;->skipToEndOfLine()V
-Landroid/util/JsonReader;->stack:Ljava/util/List;
-Landroid/util/JsonReader;->stringPool:Llibcore/internal/StringPool;
-Landroid/util/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException;
-Landroid/util/JsonReader;->token:Landroid/util/JsonToken;
-Landroid/util/JsonReader;->TRUE:Ljava/lang/String;
-Landroid/util/JsonReader;->value:Ljava/lang/String;
-Landroid/util/JsonReader;->valueLength:I
-Landroid/util/JsonReader;->valuePos:I
-Landroid/util/JsonScope;
-Landroid/util/JsonScope;-><init>()V
-Landroid/util/JsonScope;->CLOSED:Landroid/util/JsonScope;
-Landroid/util/JsonScope;->DANGLING_NAME:Landroid/util/JsonScope;
-Landroid/util/JsonScope;->EMPTY_ARRAY:Landroid/util/JsonScope;
-Landroid/util/JsonScope;->EMPTY_DOCUMENT:Landroid/util/JsonScope;
-Landroid/util/JsonScope;->EMPTY_OBJECT:Landroid/util/JsonScope;
-Landroid/util/JsonScope;->NONEMPTY_ARRAY:Landroid/util/JsonScope;
-Landroid/util/JsonScope;->NONEMPTY_DOCUMENT:Landroid/util/JsonScope;
-Landroid/util/JsonScope;->NONEMPTY_OBJECT:Landroid/util/JsonScope;
-Landroid/util/JsonScope;->valueOf(Ljava/lang/String;)Landroid/util/JsonScope;
-Landroid/util/JsonScope;->values()[Landroid/util/JsonScope;
-Landroid/util/JsonToken;-><init>()V
-Landroid/util/JsonWriter;->beforeName()V
-Landroid/util/JsonWriter;->beforeValue(Z)V
-Landroid/util/JsonWriter;->close(Landroid/util/JsonScope;Landroid/util/JsonScope;Ljava/lang/String;)Landroid/util/JsonWriter;
-Landroid/util/JsonWriter;->indent:Ljava/lang/String;
-Landroid/util/JsonWriter;->lenient:Z
-Landroid/util/JsonWriter;->newline()V
-Landroid/util/JsonWriter;->open(Landroid/util/JsonScope;Ljava/lang/String;)Landroid/util/JsonWriter;
-Landroid/util/JsonWriter;->out:Ljava/io/Writer;
-Landroid/util/JsonWriter;->peek()Landroid/util/JsonScope;
-Landroid/util/JsonWriter;->replaceTop(Landroid/util/JsonScope;)V
-Landroid/util/JsonWriter;->separator:Ljava/lang/String;
-Landroid/util/JsonWriter;->stack:Ljava/util/List;
-Landroid/util/JsonWriter;->string(Ljava/lang/String;)V
-Landroid/util/KeyValueListParser;
-Landroid/util/KeyValueListParser;-><init>(C)V
-Landroid/util/KeyValueListParser;->getBoolean(Ljava/lang/String;Z)Z
-Landroid/util/KeyValueListParser;->getDurationMillis(Ljava/lang/String;J)J
-Landroid/util/KeyValueListParser;->getFloat(Ljava/lang/String;F)F
-Landroid/util/KeyValueListParser;->getInt(Ljava/lang/String;I)I
-Landroid/util/KeyValueListParser;->getIntArray(Ljava/lang/String;[I)[I
-Landroid/util/KeyValueListParser;->getLong(Ljava/lang/String;J)J
-Landroid/util/KeyValueListParser;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/util/KeyValueListParser;->keyAt(I)Ljava/lang/String;
-Landroid/util/KeyValueListParser;->mSplitter:Landroid/text/TextUtils$StringSplitter;
-Landroid/util/KeyValueListParser;->mValues:Landroid/util/ArrayMap;
-Landroid/util/KeyValueListParser;->setString(Ljava/lang/String;)V
-Landroid/util/KeyValueListParser;->size()I
-Landroid/util/KeyValueSettingObserver$SettingObserver;
-Landroid/util/KeyValueSettingObserver$SettingObserver;-><init>(Landroid/os/Handler;)V
-Landroid/util/KeyValueSettingObserver;
-Landroid/util/KeyValueSettingObserver;-><init>(Landroid/os/Handler;Landroid/content/ContentResolver;Landroid/net/Uri;)V
-Landroid/util/KeyValueSettingObserver;->getSettingValue(Landroid/content/ContentResolver;)Ljava/lang/String;
-Landroid/util/KeyValueSettingObserver;->mObserver:Landroid/database/ContentObserver;
-Landroid/util/KeyValueSettingObserver;->mParser:Landroid/util/KeyValueListParser;
-Landroid/util/KeyValueSettingObserver;->mResolver:Landroid/content/ContentResolver;
-Landroid/util/KeyValueSettingObserver;->mSettingUri:Landroid/net/Uri;
-Landroid/util/KeyValueSettingObserver;->setParserValue()V
-Landroid/util/KeyValueSettingObserver;->start()V
-Landroid/util/KeyValueSettingObserver;->stop()V
-Landroid/util/KeyValueSettingObserver;->TAG:Ljava/lang/String;
-Landroid/util/KeyValueSettingObserver;->update(Landroid/util/KeyValueListParser;)V
-Landroid/util/LauncherIcons$ShadowDrawable$MyConstantState;
-Landroid/util/LauncherIcons$ShadowDrawable$MyConstantState;-><init>(Landroid/graphics/Bitmap;Landroid/graphics/drawable/Drawable$ConstantState;)V
-Landroid/util/LauncherIcons$ShadowDrawable$MyConstantState;->mChildState:Landroid/graphics/drawable/Drawable$ConstantState;
-Landroid/util/LauncherIcons$ShadowDrawable$MyConstantState;->mPaint:Landroid/graphics/Paint;
-Landroid/util/LauncherIcons$ShadowDrawable$MyConstantState;->mShadow:Landroid/graphics/Bitmap;
-Landroid/util/LauncherIcons$ShadowDrawable;
-Landroid/util/LauncherIcons$ShadowDrawable;-><init>(Landroid/graphics/Bitmap;Landroid/graphics/drawable/Drawable;)V
-Landroid/util/LauncherIcons$ShadowDrawable;-><init>(Landroid/util/LauncherIcons$ShadowDrawable$MyConstantState;)V
-Landroid/util/LauncherIcons$ShadowDrawable;->mState:Landroid/util/LauncherIcons$ShadowDrawable$MyConstantState;
-Landroid/util/LauncherIcons;
-Landroid/util/LauncherIcons;-><init>(Landroid/content/Context;)V
-Landroid/util/LauncherIcons;->AMBIENT_SHADOW_ALPHA:I
-Landroid/util/LauncherIcons;->getBadgedDrawable(Landroid/graphics/drawable/Drawable;II)Landroid/graphics/drawable/Drawable;
-Landroid/util/LauncherIcons;->getBadgeDrawable(II)Landroid/graphics/drawable/Drawable;
-Landroid/util/LauncherIcons;->getShadowBitmap(Landroid/graphics/drawable/AdaptiveIconDrawable;)Landroid/graphics/Bitmap;
-Landroid/util/LauncherIcons;->ICON_SIZE_BLUR_FACTOR:F
-Landroid/util/LauncherIcons;->ICON_SIZE_KEY_SHADOW_DELTA_FACTOR:F
-Landroid/util/LauncherIcons;->KEY_SHADOW_ALPHA:I
-Landroid/util/LauncherIcons;->mIconSize:I
-Landroid/util/LauncherIcons;->mRes:Landroid/content/res/Resources;
-Landroid/util/LauncherIcons;->mShadowCache:Landroid/util/SparseArray;
-Landroid/util/LauncherIcons;->wrapIconDrawableWithShadow(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;
-Landroid/util/LayoutDirection;-><init>()V
-Landroid/util/LayoutDirection;->UNDEFINED:I
-Landroid/util/LocalLog$ReadOnlyLocalLog;
-Landroid/util/LocalLog$ReadOnlyLocalLog;-><init>(Landroid/util/LocalLog;)V
-Landroid/util/LocalLog$ReadOnlyLocalLog;->mLog:Landroid/util/LocalLog;
-Landroid/util/LocalLog$ReadOnlyLocalLog;->reverseDump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/util/LocalLog;
-Landroid/util/LocalLog;->append(Ljava/lang/String;)V
-Landroid/util/LocalLog;->mLog:Ljava/util/Deque;
-Landroid/util/LocalLog;->mMaxLines:I
-Landroid/util/LocalLog;->reverseDump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/util/Log$ImmediateLogWriter;
-Landroid/util/Log$ImmediateLogWriter;-><init>(IILjava/lang/String;)V
-Landroid/util/Log$ImmediateLogWriter;->bufID:I
-Landroid/util/Log$ImmediateLogWriter;->getWritten()I
-Landroid/util/Log$ImmediateLogWriter;->priority:I
-Landroid/util/Log$ImmediateLogWriter;->tag:Ljava/lang/String;
-Landroid/util/Log$ImmediateLogWriter;->written:I
-Landroid/util/Log$PreloadHolder;
-Landroid/util/Log$PreloadHolder;-><init>()V
-Landroid/util/Log$PreloadHolder;->LOGGER_ENTRY_MAX_PAYLOAD:I
-Landroid/util/Log$TerribleFailure;
-Landroid/util/Log$TerribleFailure;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-Landroid/util/Log$TerribleFailureHandler;
-Landroid/util/Log$TerribleFailureHandler;->onTerribleFailure(Ljava/lang/String;Landroid/util/Log$TerribleFailure;Z)V
-Landroid/util/Log;-><init>()V
-Landroid/util/Log;->logger_entry_max_payload_native()I
-Landroid/util/Log;->LOG_ID_CRASH:I
-Landroid/util/Log;->LOG_ID_EVENTS:I
-Landroid/util/Log;->LOG_ID_MAIN:I
-Landroid/util/Log;->LOG_ID_RADIO:I
-Landroid/util/Log;->LOG_ID_SYSTEM:I
-Landroid/util/Log;->printlns(IILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
-Landroid/util/Log;->setWtfHandler(Landroid/util/Log$TerribleFailureHandler;)Landroid/util/Log$TerribleFailureHandler;
-Landroid/util/Log;->sWtfHandler:Landroid/util/Log$TerribleFailureHandler;
-Landroid/util/Log;->wtfQuiet(ILjava/lang/String;Ljava/lang/String;Z)V
-Landroid/util/Log;->wtfStack(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/util/LogPrinter;-><init>(ILjava/lang/String;I)V
-Landroid/util/LogPrinter;->mBuffer:I
-Landroid/util/LogPrinter;->mPriority:I
-Landroid/util/LogPrinter;->mTag:Ljava/lang/String;
-Landroid/util/LogProto;
-Landroid/util/LogProto;-><init>()V
-Landroid/util/LogProto;->BINARY_LOGS:J
-Landroid/util/LogProto;->TEXT_LOGS:J
-Landroid/util/LogWriter;
-Landroid/util/LogWriter;-><init>(ILjava/lang/String;I)V
-Landroid/util/LogWriter;->flushBuilder()V
-Landroid/util/LogWriter;->mBuffer:I
-Landroid/util/LogWriter;->mBuilder:Ljava/lang/StringBuilder;
-Landroid/util/LogWriter;->mPriority:I
-Landroid/util/LogWriter;->mTag:Ljava/lang/String;
-Landroid/util/LongArray;
-Landroid/util/LongArray;-><init>(I)V
-Landroid/util/LongArray;-><init>([JI)V
-Landroid/util/LongArray;->add(J)V
-Landroid/util/LongArray;->addAll(Landroid/util/LongArray;)V
-Landroid/util/LongArray;->checkBounds(I)V
-Landroid/util/LongArray;->clear()V
-Landroid/util/LongArray;->elementsEqual(Landroid/util/LongArray;Landroid/util/LongArray;)Z
-Landroid/util/LongArray;->ensureCapacity(I)V
-Landroid/util/LongArray;->fromArray([JI)Landroid/util/LongArray;
-Landroid/util/LongArray;->indexOf(J)I
-Landroid/util/LongArray;->MIN_CAPACITY_INCREMENT:I
-Landroid/util/LongArray;->mSize:I
-Landroid/util/LongArray;->mValues:[J
-Landroid/util/LongArray;->remove(I)V
-Landroid/util/LongArray;->resize(I)V
-Landroid/util/LongArray;->set(IJ)V
-Landroid/util/LongArray;->toArray()[J
-Landroid/util/LongArray;->wrap([J)Landroid/util/LongArray;
-Landroid/util/LongSparseArray;->DELETED:Ljava/lang/Object;
-Landroid/util/LongSparseArray;->gc()V
-Landroid/util/LongSparseArray;->indexOfValueByValue(Ljava/lang/Object;)I
-Landroid/util/LongSparseArray;->mGarbage:Z
-Landroid/util/LongSparseArray;->mKeys:[J
-Landroid/util/LongSparseArray;->mSize:I
-Landroid/util/LongSparseArray;->mValues:[Ljava/lang/Object;
-Landroid/util/LongSparseLongArray;
-Landroid/util/LongSparseLongArray;-><init>()V
-Landroid/util/LongSparseLongArray;-><init>(I)V
-Landroid/util/LongSparseLongArray;->append(JJ)V
-Landroid/util/LongSparseLongArray;->clear()V
-Landroid/util/LongSparseLongArray;->delete(J)V
-Landroid/util/LongSparseLongArray;->get(J)J
-Landroid/util/LongSparseLongArray;->get(JJ)J
-Landroid/util/LongSparseLongArray;->indexOfKey(J)I
-Landroid/util/LongSparseLongArray;->indexOfValue(J)I
-Landroid/util/LongSparseLongArray;->keyAt(I)J
-Landroid/util/LongSparseLongArray;->put(JJ)V
-Landroid/util/LongSparseLongArray;->removeAt(I)V
-Landroid/util/LongSparseLongArray;->size()I
-Landroid/util/LongSparseLongArray;->valueAt(I)J
-Landroid/util/LruCache;->createCount:I
-Landroid/util/LruCache;->evictionCount:I
-Landroid/util/LruCache;->hitCount:I
-Landroid/util/LruCache;->maxSize:I
-Landroid/util/LruCache;->missCount:I
-Landroid/util/LruCache;->putCount:I
-Landroid/util/LruCache;->safeSizeOf(Ljava/lang/Object;Ljava/lang/Object;)I
-Landroid/util/LruCache;->size:I
-Landroid/util/MapCollections$ArrayIterator;
-Landroid/util/MapCollections$ArrayIterator;-><init>(I)V
-Landroid/util/MapCollections$ArrayIterator;->mCanRemove:Z
-Landroid/util/MapCollections$ArrayIterator;->mIndex:I
-Landroid/util/MapCollections$ArrayIterator;->mOffset:I
-Landroid/util/MapCollections$ArrayIterator;->mSize:I
-Landroid/util/MapCollections$EntrySet;
-Landroid/util/MapCollections$EntrySet;-><init>()V
-Landroid/util/MapCollections$EntrySet;->add(Ljava/util/Map$Entry;)Z
-Landroid/util/MapCollections$EntrySet;->addAll(Ljava/util/Collection;)Z
-Landroid/util/MapCollections$KeySet;
-Landroid/util/MapCollections$KeySet;-><init>()V
-Landroid/util/MapCollections$KeySet;->add(Ljava/lang/Object;)Z
-Landroid/util/MapCollections$KeySet;->addAll(Ljava/util/Collection;)Z
-Landroid/util/MapCollections$MapIterator;
-Landroid/util/MapCollections$MapIterator;-><init>()V
-Landroid/util/MapCollections$MapIterator;->mEnd:I
-Landroid/util/MapCollections$MapIterator;->mEntryValid:Z
-Landroid/util/MapCollections$MapIterator;->mIndex:I
-Landroid/util/MapCollections$ValuesCollection;
-Landroid/util/MapCollections$ValuesCollection;-><init>()V
-Landroid/util/MapCollections$ValuesCollection;->add(Ljava/lang/Object;)Z
-Landroid/util/MapCollections$ValuesCollection;->addAll(Ljava/util/Collection;)Z
-Landroid/util/MapCollections;
-Landroid/util/MapCollections;-><init>()V
-Landroid/util/MapCollections;->colClear()V
-Landroid/util/MapCollections;->colGetEntry(II)Ljava/lang/Object;
-Landroid/util/MapCollections;->colGetMap()Ljava/util/Map;
-Landroid/util/MapCollections;->colGetSize()I
-Landroid/util/MapCollections;->colIndexOfKey(Ljava/lang/Object;)I
-Landroid/util/MapCollections;->colIndexOfValue(Ljava/lang/Object;)I
-Landroid/util/MapCollections;->colPut(Ljava/lang/Object;Ljava/lang/Object;)V
-Landroid/util/MapCollections;->colRemoveAt(I)V
-Landroid/util/MapCollections;->colSetValue(ILjava/lang/Object;)Ljava/lang/Object;
-Landroid/util/MapCollections;->containsAllHelper(Ljava/util/Map;Ljava/util/Collection;)Z
-Landroid/util/MapCollections;->equalsSetHelper(Ljava/util/Set;Ljava/lang/Object;)Z
-Landroid/util/MapCollections;->getEntrySet()Ljava/util/Set;
-Landroid/util/MapCollections;->getKeySet()Ljava/util/Set;
-Landroid/util/MapCollections;->getValues()Ljava/util/Collection;
-Landroid/util/MapCollections;->mEntrySet:Landroid/util/MapCollections$EntrySet;
-Landroid/util/MapCollections;->mKeySet:Landroid/util/MapCollections$KeySet;
-Landroid/util/MapCollections;->mValues:Landroid/util/MapCollections$ValuesCollection;
-Landroid/util/MapCollections;->removeAllHelper(Ljava/util/Map;Ljava/util/Collection;)Z
-Landroid/util/MapCollections;->retainAllHelper(Ljava/util/Map;Ljava/util/Collection;)Z
-Landroid/util/MapCollections;->toArrayHelper(I)[Ljava/lang/Object;
-Landroid/util/MapCollections;->toArrayHelper([Ljava/lang/Object;I)[Ljava/lang/Object;
-Landroid/util/MathUtils;
-Landroid/util/MathUtils;-><init>()V
-Landroid/util/MathUtils;->acos(F)F
-Landroid/util/MathUtils;->addOrThrow(II)I
-Landroid/util/MathUtils;->asin(F)F
-Landroid/util/MathUtils;->atan(F)F
-Landroid/util/MathUtils;->atan2(FF)F
-Landroid/util/MathUtils;->constrain(JJJ)J
-Landroid/util/MathUtils;->cross(FFFF)F
-Landroid/util/MathUtils;->degrees(F)F
-Landroid/util/MathUtils;->DEG_TO_RAD:F
-Landroid/util/MathUtils;->dist(FFFF)F
-Landroid/util/MathUtils;->dist(FFFFFF)F
-Landroid/util/MathUtils;->dot(FFFF)F
-Landroid/util/MathUtils;->exp(F)F
-Landroid/util/MathUtils;->lerpDeg(FFF)F
-Landroid/util/MathUtils;->log(F)F
-Landroid/util/MathUtils;->mag(FF)F
-Landroid/util/MathUtils;->mag(FFF)F
-Landroid/util/MathUtils;->map(FFFFF)F
-Landroid/util/MathUtils;->max(FF)F
-Landroid/util/MathUtils;->max(FFF)F
-Landroid/util/MathUtils;->max(III)F
-Landroid/util/MathUtils;->min(FF)F
-Landroid/util/MathUtils;->min(FFF)F
-Landroid/util/MathUtils;->min(II)F
-Landroid/util/MathUtils;->min(III)F
-Landroid/util/MathUtils;->norm(FFF)F
-Landroid/util/MathUtils;->pow(FF)F
-Landroid/util/MathUtils;->radians(F)F
-Landroid/util/MathUtils;->RAD_TO_DEG:F
-Landroid/util/MathUtils;->sq(F)F
-Landroid/util/MathUtils;->sqrt(F)F
-Landroid/util/MathUtils;->tan(F)F
-Landroid/util/MemoryIntArray;
-Landroid/util/MemoryIntArray;-><init>(I)V
-Landroid/util/MemoryIntArray;-><init>(Landroid/os/Parcel;)V
-Landroid/util/MemoryIntArray;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/util/MemoryIntArray;->enforceNotClosed()V
-Landroid/util/MemoryIntArray;->enforceValidIndex(I)V
-Landroid/util/MemoryIntArray;->enforceWritable()V
-Landroid/util/MemoryIntArray;->get(I)I
-Landroid/util/MemoryIntArray;->getMaxSize()I
-Landroid/util/MemoryIntArray;->isClosed()Z
-Landroid/util/MemoryIntArray;->isWritable()Z
-Landroid/util/MemoryIntArray;->MAX_SIZE:I
-Landroid/util/MemoryIntArray;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/util/MemoryIntArray;->mFd:I
-Landroid/util/MemoryIntArray;->mIsOwner:Z
-Landroid/util/MemoryIntArray;->mMemoryAddr:J
-Landroid/util/MemoryIntArray;->nativeClose(IJZ)V
-Landroid/util/MemoryIntArray;->nativeCreate(Ljava/lang/String;I)I
-Landroid/util/MemoryIntArray;->nativeGet(IJI)I
-Landroid/util/MemoryIntArray;->nativeOpen(IZ)J
-Landroid/util/MemoryIntArray;->nativeSet(IJII)V
-Landroid/util/MemoryIntArray;->nativeSize(I)I
-Landroid/util/MemoryIntArray;->set(II)V
-Landroid/util/MemoryIntArray;->size()I
-Landroid/util/MemoryIntArray;->TAG:Ljava/lang/String;
-Landroid/util/MergedConfiguration;
-Landroid/util/MergedConfiguration;-><init>()V
-Landroid/util/MergedConfiguration;-><init>(Landroid/content/res/Configuration;)V
-Landroid/util/MergedConfiguration;-><init>(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)V
-Landroid/util/MergedConfiguration;-><init>(Landroid/os/Parcel;)V
-Landroid/util/MergedConfiguration;-><init>(Landroid/util/MergedConfiguration;)V
-Landroid/util/MergedConfiguration;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/util/MergedConfiguration;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-Landroid/util/MergedConfiguration;->getGlobalConfiguration()Landroid/content/res/Configuration;
-Landroid/util/MergedConfiguration;->getMergedConfiguration()Landroid/content/res/Configuration;
-Landroid/util/MergedConfiguration;->getOverrideConfiguration()Landroid/content/res/Configuration;
-Landroid/util/MergedConfiguration;->mGlobalConfig:Landroid/content/res/Configuration;
-Landroid/util/MergedConfiguration;->mMergedConfig:Landroid/content/res/Configuration;
-Landroid/util/MergedConfiguration;->mOverrideConfig:Landroid/content/res/Configuration;
-Landroid/util/MergedConfiguration;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/util/MergedConfiguration;->setConfiguration(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)V
-Landroid/util/MergedConfiguration;->setGlobalConfiguration(Landroid/content/res/Configuration;)V
-Landroid/util/MergedConfiguration;->setOverrideConfiguration(Landroid/content/res/Configuration;)V
-Landroid/util/MergedConfiguration;->setTo(Landroid/util/MergedConfiguration;)V
-Landroid/util/MergedConfiguration;->unset()V
-Landroid/util/MergedConfiguration;->updateMergedConfig()V
-Landroid/util/MonthDisplayHelper;->mCalendar:Ljava/util/Calendar;
-Landroid/util/MonthDisplayHelper;->mNumDaysInMonth:I
-Landroid/util/MonthDisplayHelper;->mNumDaysInPrevMonth:I
-Landroid/util/MonthDisplayHelper;->mOffset:I
-Landroid/util/MonthDisplayHelper;->mWeekStartDay:I
-Landroid/util/MonthDisplayHelper;->recalculate()V
-Landroid/util/NtpTrustedTime;
-Landroid/util/NtpTrustedTime;-><init>(Ljava/lang/String;J)V
-Landroid/util/NtpTrustedTime;->forceRefresh(Landroid/net/Network;)Z
-Landroid/util/NtpTrustedTime;->getCacheAge()J
-Landroid/util/NtpTrustedTime;->getCacheCertainty()J
-Landroid/util/NtpTrustedTime;->LOGD:Z
-Landroid/util/NtpTrustedTime;->mCachedNtpCertainty:J
-Landroid/util/NtpTrustedTime;->mCachedNtpElapsedRealtime:J
-Landroid/util/NtpTrustedTime;->mCachedNtpTime:J
-Landroid/util/NtpTrustedTime;->mCM:Landroid/net/ConnectivityManager;
-Landroid/util/NtpTrustedTime;->mHasCache:Z
-Landroid/util/NtpTrustedTime;->mServer:Ljava/lang/String;
-Landroid/util/NtpTrustedTime;->mTimeout:J
-Landroid/util/NtpTrustedTime;->sContext:Landroid/content/Context;
-Landroid/util/NtpTrustedTime;->sSingleton:Landroid/util/NtpTrustedTime;
-Landroid/util/NtpTrustedTime;->TAG:Ljava/lang/String;
-Landroid/util/PackageUtils;
-Landroid/util/PackageUtils;-><init>()V
-Landroid/util/PackageUtils;->computeSha256Digest([B)Ljava/lang/String;
-Landroid/util/PackageUtils;->computeSha256DigestBytes([B)[B
-Landroid/util/PackageUtils;->computeSignaturesSha256Digest([Landroid/content/pm/Signature;)Ljava/lang/String;
-Landroid/util/PackageUtils;->computeSignaturesSha256Digest([Ljava/lang/String;)Ljava/lang/String;
-Landroid/util/PackageUtils;->computeSignaturesSha256Digests([Landroid/content/pm/Signature;)[Ljava/lang/String;
-Landroid/util/PathParser$PathData;
-Landroid/util/PathParser$PathData;-><init>()V
-Landroid/util/PathParser$PathData;-><init>(Landroid/util/PathParser$PathData;)V
-Landroid/util/PathParser$PathData;-><init>(Ljava/lang/String;)V
-Landroid/util/PathParser$PathData;->getNativePtr()J
-Landroid/util/PathParser$PathData;->mNativePathData:J
-Landroid/util/PathParser$PathData;->setPathData(Landroid/util/PathParser$PathData;)V
-Landroid/util/PathParser;
-Landroid/util/PathParser;-><init>()V
-Landroid/util/PathParser;->canMorph(Landroid/util/PathParser$PathData;Landroid/util/PathParser$PathData;)Z
-Landroid/util/PathParser;->createPathFromPathData(Landroid/graphics/Path;Landroid/util/PathParser$PathData;)V
-Landroid/util/PathParser;->interpolatePathData(Landroid/util/PathParser$PathData;Landroid/util/PathParser$PathData;Landroid/util/PathParser$PathData;F)Z
-Landroid/util/PathParser;->LOGTAG:Ljava/lang/String;
-Landroid/util/PathParser;->nCanMorph(JJ)Z
-Landroid/util/PathParser;->nCreateEmptyPathData()J
-Landroid/util/PathParser;->nCreatePathData(J)J
-Landroid/util/PathParser;->nCreatePathDataFromString(Ljava/lang/String;I)J
-Landroid/util/PathParser;->nCreatePathFromPathData(JJ)V
-Landroid/util/PathParser;->nFinalize(J)V
-Landroid/util/PathParser;->nInterpolatePathData(JJJF)Z
-Landroid/util/PathParser;->nParseStringForPath(JLjava/lang/String;I)V
-Landroid/util/PathParser;->nSetPathData(JJ)V
-Landroid/util/Patterns;-><init>()V
-Landroid/util/Patterns;->AUTOLINK_EMAIL_ADDRESS:Ljava/util/regex/Pattern;
-Landroid/util/Patterns;->AUTOLINK_WEB_URL:Ljava/util/regex/Pattern;
-Landroid/util/Patterns;->DOMAIN_NAME_STR:Ljava/lang/String;
-Landroid/util/Patterns;->EMAIL_ADDRESS_DOMAIN:Ljava/lang/String;
-Landroid/util/Patterns;->EMAIL_ADDRESS_LOCAL_PART:Ljava/lang/String;
-Landroid/util/Patterns;->EMAIL_CHAR:Ljava/lang/String;
-Landroid/util/Patterns;->HOST_NAME:Ljava/lang/String;
-Landroid/util/Patterns;->IANA_TOP_LEVEL_DOMAINS:Ljava/lang/String;
-Landroid/util/Patterns;->IP_ADDRESS_STRING:Ljava/lang/String;
-Landroid/util/Patterns;->IRI_LABEL:Ljava/lang/String;
-Landroid/util/Patterns;->LABEL_CHAR:Ljava/lang/String;
-Landroid/util/Patterns;->PATH_AND_QUERY:Ljava/lang/String;
-Landroid/util/Patterns;->PORT_NUMBER:Ljava/lang/String;
-Landroid/util/Patterns;->PROTOCOL:Ljava/lang/String;
-Landroid/util/Patterns;->PUNYCODE_TLD:Ljava/lang/String;
-Landroid/util/Patterns;->RELAXED_DOMAIN_NAME:Ljava/lang/String;
-Landroid/util/Patterns;->STRICT_DOMAIN_NAME:Ljava/lang/String;
-Landroid/util/Patterns;->STRICT_HOST_NAME:Ljava/lang/String;
-Landroid/util/Patterns;->STRICT_TLD:Ljava/lang/String;
-Landroid/util/Patterns;->TLD:Ljava/lang/String;
-Landroid/util/Patterns;->TLD_CHAR:Ljava/lang/String;
-Landroid/util/Patterns;->UCS_CHAR:Ljava/lang/String;
-Landroid/util/Patterns;->USER_INFO:Ljava/lang/String;
-Landroid/util/Patterns;->WEB_URL_WITHOUT_PROTOCOL:Ljava/lang/String;
-Landroid/util/Patterns;->WEB_URL_WITH_PROTOCOL:Ljava/lang/String;
-Landroid/util/Patterns;->WORD_BOUNDARY:Ljava/lang/String;
-Landroid/util/Pools$Pool;
-Landroid/util/Pools$SimplePool;
-Landroid/util/Pools$SimplePool;->isInPool(Ljava/lang/Object;)Z
-Landroid/util/Pools$SimplePool;->mPoolSize:I
-Landroid/util/Pools$SynchronizedPool;
-Landroid/util/Pools$SynchronizedPool;-><init>(ILjava/lang/Object;)V
-Landroid/util/Pools$SynchronizedPool;->mLock:Ljava/lang/Object;
-Landroid/util/Pools;
-Landroid/util/Pools;-><init>()V
-Landroid/util/PrefixPrinter;
-Landroid/util/PrefixPrinter;-><init>(Landroid/util/Printer;Ljava/lang/String;)V
-Landroid/util/PrefixPrinter;->create(Landroid/util/Printer;Ljava/lang/String;)Landroid/util/Printer;
-Landroid/util/PrefixPrinter;->mPrefix:Ljava/lang/String;
-Landroid/util/PrefixPrinter;->mPrinter:Landroid/util/Printer;
-Landroid/util/PrintStreamPrinter;->mPS:Ljava/io/PrintStream;
-Landroid/util/PrintWriterPrinter;->mPW:Ljava/io/PrintWriter;
-Landroid/util/Property;->mName:Ljava/lang/String;
-Landroid/util/Property;->mType:Ljava/lang/Class;
-Landroid/util/proto/EncodedBuffer;->dumpByteString(Ljava/lang/String;Ljava/lang/String;I[B)I
-Landroid/util/proto/EncodedBuffer;->mBufferCount:I
-Landroid/util/proto/EncodedBuffer;->mBuffers:Ljava/util/ArrayList;
-Landroid/util/proto/EncodedBuffer;->mChunkSize:I
-Landroid/util/proto/EncodedBuffer;->mReadableSize:I
-Landroid/util/proto/EncodedBuffer;->mReadBuffer:[B
-Landroid/util/proto/EncodedBuffer;->mReadBufIndex:I
-Landroid/util/proto/EncodedBuffer;->mReadIndex:I
-Landroid/util/proto/EncodedBuffer;->mReadLimit:I
-Landroid/util/proto/EncodedBuffer;->mWriteBuffer:[B
-Landroid/util/proto/EncodedBuffer;->mWriteBufIndex:I
-Landroid/util/proto/EncodedBuffer;->mWriteIndex:I
-Landroid/util/proto/EncodedBuffer;->nextWriteBuffer()V
-Landroid/util/proto/EncodedBuffer;->TAG:Ljava/lang/String;
-Landroid/util/proto/EncodedBuffer;->zigZag32(I)I
-Landroid/util/proto/EncodedBuffer;->zigZag64(J)J
-Landroid/util/proto/ProtoOutputStream;->assertNotCompacted()V
-Landroid/util/proto/ProtoOutputStream;->compactIfNecessary()V
-Landroid/util/proto/ProtoOutputStream;->compactSizes(I)V
-Landroid/util/proto/ProtoOutputStream;->editEncodedSize(I)I
-Landroid/util/proto/ProtoOutputStream;->endObjectImpl(JZ)V
-Landroid/util/proto/ProtoOutputStream;->FIELD_TYPE_NAMES:[Ljava/lang/String;
-Landroid/util/proto/ProtoOutputStream;->getFieldCountString(J)Ljava/lang/String;
-Landroid/util/proto/ProtoOutputStream;->getFieldIdString(J)Ljava/lang/String;
-Landroid/util/proto/ProtoOutputStream;->getFieldTypeString(J)Ljava/lang/String;
-Landroid/util/proto/ProtoOutputStream;->getTagSize(I)I
-Landroid/util/proto/ProtoOutputStream;->mBuffer:Landroid/util/proto/EncodedBuffer;
-Landroid/util/proto/ProtoOutputStream;->mCompacted:Z
-Landroid/util/proto/ProtoOutputStream;->mCopyBegin:I
-Landroid/util/proto/ProtoOutputStream;->mDepth:I
-Landroid/util/proto/ProtoOutputStream;->mExpectedObjectToken:J
-Landroid/util/proto/ProtoOutputStream;->mNextObjectId:I
-Landroid/util/proto/ProtoOutputStream;->mStream:Ljava/io/OutputStream;
-Landroid/util/proto/ProtoOutputStream;->readRawTag()I
-Landroid/util/proto/ProtoOutputStream;->startObjectImpl(IZ)J
-Landroid/util/proto/ProtoOutputStream;->writeBoolImpl(IZ)V
-Landroid/util/proto/ProtoOutputStream;->writeBytesImpl(I[B)V
-Landroid/util/proto/ProtoOutputStream;->writeDoubleImpl(ID)V
-Landroid/util/proto/ProtoOutputStream;->writeEnumImpl(II)V
-Landroid/util/proto/ProtoOutputStream;->writeFixed32Impl(II)V
-Landroid/util/proto/ProtoOutputStream;->writeFixed64Impl(IJ)V
-Landroid/util/proto/ProtoOutputStream;->writeFloatImpl(IF)V
-Landroid/util/proto/ProtoOutputStream;->writeInt32Impl(II)V
-Landroid/util/proto/ProtoOutputStream;->writeInt64Impl(IJ)V
-Landroid/util/proto/ProtoOutputStream;->writeKnownLengthHeader(II)V
-Landroid/util/proto/ProtoOutputStream;->writeObjectImpl(I[B)V
-Landroid/util/proto/ProtoOutputStream;->writeRepeatedBoolImpl(IZ)V
-Landroid/util/proto/ProtoOutputStream;->writeRepeatedBytesImpl(I[B)V
-Landroid/util/proto/ProtoOutputStream;->writeRepeatedDoubleImpl(ID)V
-Landroid/util/proto/ProtoOutputStream;->writeRepeatedEnumImpl(II)V
-Landroid/util/proto/ProtoOutputStream;->writeRepeatedFixed32Impl(II)V
-Landroid/util/proto/ProtoOutputStream;->writeRepeatedFixed64Impl(IJ)V
-Landroid/util/proto/ProtoOutputStream;->writeRepeatedFloatImpl(IF)V
-Landroid/util/proto/ProtoOutputStream;->writeRepeatedInt32Impl(II)V
-Landroid/util/proto/ProtoOutputStream;->writeRepeatedInt64Impl(IJ)V
-Landroid/util/proto/ProtoOutputStream;->writeRepeatedObjectImpl(I[B)V
-Landroid/util/proto/ProtoOutputStream;->writeRepeatedSFixed32Impl(II)V
-Landroid/util/proto/ProtoOutputStream;->writeRepeatedSFixed64Impl(IJ)V
-Landroid/util/proto/ProtoOutputStream;->writeRepeatedSInt32Impl(II)V
-Landroid/util/proto/ProtoOutputStream;->writeRepeatedSInt64Impl(IJ)V
-Landroid/util/proto/ProtoOutputStream;->writeRepeatedStringImpl(ILjava/lang/String;)V
-Landroid/util/proto/ProtoOutputStream;->writeRepeatedUInt32Impl(II)V
-Landroid/util/proto/ProtoOutputStream;->writeRepeatedUInt64Impl(IJ)V
-Landroid/util/proto/ProtoOutputStream;->writeSFixed32Impl(II)V
-Landroid/util/proto/ProtoOutputStream;->writeSFixed64Impl(IJ)V
-Landroid/util/proto/ProtoOutputStream;->writeSInt32Impl(II)V
-Landroid/util/proto/ProtoOutputStream;->writeSInt64Impl(IJ)V
-Landroid/util/proto/ProtoOutputStream;->writeStringImpl(ILjava/lang/String;)V
-Landroid/util/proto/ProtoOutputStream;->writeUInt32Impl(II)V
-Landroid/util/proto/ProtoOutputStream;->writeUInt64Impl(IJ)V
-Landroid/util/proto/ProtoOutputStream;->writeUnsignedVarintFromSignedInt(I)V
-Landroid/util/proto/ProtoOutputStream;->writeUtf8String(ILjava/lang/String;)V
-Landroid/util/proto/ProtoUtils;
-Landroid/util/proto/ProtoUtils;-><init>()V
-Landroid/util/proto/ProtoUtils;->toAggStatsProto(Landroid/util/proto/ProtoOutputStream;JJJJ)V
-Landroid/util/proto/ProtoUtils;->toDuration(Landroid/util/proto/ProtoOutputStream;JJJ)V
-Landroid/util/proto/ProtoUtils;->writeBitWiseFlagsToProtoEnum(Landroid/util/proto/ProtoOutputStream;JI[I[I)V
-Landroid/util/Range;->mLower:Ljava/lang/Comparable;
-Landroid/util/Range;->mUpper:Ljava/lang/Comparable;
-Landroid/util/Rational;->equals(Landroid/util/Rational;)Z
-Landroid/util/Rational;->gcd(II)I
-Landroid/util/Rational;->invalidRational(Ljava/lang/String;)Ljava/lang/NumberFormatException;
-Landroid/util/Rational;->isNegInf()Z
-Landroid/util/Rational;->isPosInf()Z
-Landroid/util/Rational;->toFloat()F
-Landroid/util/RecurrenceRule$NonrecurringIterator;
-Landroid/util/RecurrenceRule$NonrecurringIterator;-><init>()V
-Landroid/util/RecurrenceRule$NonrecurringIterator;->hasNext:Z
-Landroid/util/RecurrenceRule$RecurringIterator;
-Landroid/util/RecurrenceRule$RecurringIterator;-><init>()V
-Landroid/util/RecurrenceRule$RecurringIterator;->cycleEnd:Ljava/time/ZonedDateTime;
-Landroid/util/RecurrenceRule$RecurringIterator;->cycleStart:Ljava/time/ZonedDateTime;
-Landroid/util/RecurrenceRule$RecurringIterator;->i:I
-Landroid/util/RecurrenceRule$RecurringIterator;->roundBoundaryTime(Ljava/time/ZonedDateTime;)Ljava/time/ZonedDateTime;
-Landroid/util/RecurrenceRule$RecurringIterator;->updateCycle()V
-Landroid/util/RecurrenceRule;
-Landroid/util/RecurrenceRule;-><init>(Landroid/os/Parcel;)V
-Landroid/util/RecurrenceRule;-><init>(Ljava/io/DataInputStream;)V
-Landroid/util/RecurrenceRule;-><init>(Ljava/time/ZonedDateTime;Ljava/time/ZonedDateTime;Ljava/time/Period;)V
-Landroid/util/RecurrenceRule;->buildNever()Landroid/util/RecurrenceRule;
-Landroid/util/RecurrenceRule;->convertPeriod(Ljava/lang/String;)Ljava/time/Period;
-Landroid/util/RecurrenceRule;->convertPeriod(Ljava/time/Period;)Ljava/lang/String;
-Landroid/util/RecurrenceRule;->convertZonedDateTime(Ljava/lang/String;)Ljava/time/ZonedDateTime;
-Landroid/util/RecurrenceRule;->convertZonedDateTime(Ljava/time/ZonedDateTime;)Ljava/lang/String;
-Landroid/util/RecurrenceRule;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/util/RecurrenceRule;->cycleIterator()Ljava/util/Iterator;
-Landroid/util/RecurrenceRule;->end:Ljava/time/ZonedDateTime;
-Landroid/util/RecurrenceRule;->isMonthly()Z
-Landroid/util/RecurrenceRule;->isRecurring()Z
-Landroid/util/RecurrenceRule;->LOGD:Z
-Landroid/util/RecurrenceRule;->period:Ljava/time/Period;
-Landroid/util/RecurrenceRule;->sClock:Ljava/time/Clock;
-Landroid/util/RecurrenceRule;->TAG:Ljava/lang/String;
-Landroid/util/RecurrenceRule;->VERSION_INIT:I
-Landroid/util/RecurrenceRule;->writeToStream(Ljava/io/DataOutputStream;)V
-Landroid/util/Singleton;
-Landroid/util/Singleton;->create()Ljava/lang/Object;
-Landroid/util/Size;->invalidSize(Ljava/lang/String;)Ljava/lang/NumberFormatException;
-Landroid/util/Size;->mHeight:I
-Landroid/util/Size;->mWidth:I
-Landroid/util/SizeF;->invalidSizeF(Ljava/lang/String;)Ljava/lang/NumberFormatException;
-Landroid/util/SizeF;->mHeight:F
-Landroid/util/SizeF;->mWidth:F
-Landroid/util/Slog;
-Landroid/util/Slog;-><init>()V
-Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
-Landroid/util/Slog;->v(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
-Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/Throwable;)I
-Landroid/util/Slog;->wtf(Ljava/lang/String;Ljava/lang/Throwable;)I
-Landroid/util/Slog;->wtfQuiet(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/util/SparseArray;->DELETED:Ljava/lang/Object;
-Landroid/util/SparseArray;->gc()V
-Landroid/util/SparseArray;->indexOfValueByValue(Ljava/lang/Object;)I
-Landroid/util/SparseArray;->mGarbage:Z
-Landroid/util/SparseArray;->removeReturnOld(I)Ljava/lang/Object;
-Landroid/util/SparseBooleanArray;->setKeyAt(II)V
-Landroid/util/SparseBooleanArray;->setValueAt(IZ)V
-Landroid/util/SparseIntArray;->copyKeys()[I
-Landroid/util/SparseIntArray;->setValueAt(II)V
-Landroid/util/SparseLongArray;->mKeys:[I
-Landroid/util/SparseLongArray;->mSize:I
-Landroid/util/SparseLongArray;->mValues:[J
-Landroid/util/SparseLongArray;->removeAtRange(II)V
-Landroid/util/SparseSetArray;
-Landroid/util/SparseSetArray;-><init>()V
-Landroid/util/SparseSetArray;->add(ILjava/lang/Object;)Z
-Landroid/util/SparseSetArray;->contains(ILjava/lang/Object;)Z
-Landroid/util/SparseSetArray;->keyAt(I)I
-Landroid/util/SparseSetArray;->mData:Landroid/util/SparseArray;
-Landroid/util/SparseSetArray;->remove(I)V
-Landroid/util/SparseSetArray;->remove(ILjava/lang/Object;)Z
-Landroid/util/SparseSetArray;->size()I
-Landroid/util/SparseSetArray;->sizeAt(I)I
-Landroid/util/SparseSetArray;->valueAt(II)Ljava/lang/Object;
-Landroid/util/Spline$LinearSpline;
-Landroid/util/Spline$LinearSpline;-><init>([F[F)V
-Landroid/util/Spline$LinearSpline;->interpolate(F)F
-Landroid/util/Spline$LinearSpline;->mM:[F
-Landroid/util/Spline$LinearSpline;->mX:[F
-Landroid/util/Spline$LinearSpline;->mY:[F
-Landroid/util/Spline$MonotoneCubicSpline;
-Landroid/util/Spline$MonotoneCubicSpline;-><init>([F[F)V
-Landroid/util/Spline$MonotoneCubicSpline;->interpolate(F)F
-Landroid/util/Spline$MonotoneCubicSpline;->mM:[F
-Landroid/util/Spline$MonotoneCubicSpline;->mX:[F
-Landroid/util/Spline$MonotoneCubicSpline;->mY:[F
-Landroid/util/Spline;
-Landroid/util/Spline;-><init>()V
-Landroid/util/Spline;->createLinearSpline([F[F)Landroid/util/Spline;
-Landroid/util/Spline;->createMonotoneCubicSpline([F[F)Landroid/util/Spline;
-Landroid/util/Spline;->createSpline([F[F)Landroid/util/Spline;
-Landroid/util/Spline;->interpolate(F)F
-Landroid/util/Spline;->isMonotonic([F)Z
-Landroid/util/Spline;->isStrictlyIncreasing([F)Z
-Landroid/util/StateSet;-><init>()V
-Landroid/util/StateSet;->containsAttribute([[II)Z
-Landroid/util/StateSet;->get(I)[I
-Landroid/util/StateSet;->VIEW_STATE_ACCELERATED:I
-Landroid/util/StateSet;->VIEW_STATE_ACTIVATED:I
-Landroid/util/StateSet;->VIEW_STATE_DRAG_CAN_ACCEPT:I
-Landroid/util/StateSet;->VIEW_STATE_DRAG_HOVERED:I
-Landroid/util/StateSet;->VIEW_STATE_ENABLED:I
-Landroid/util/StateSet;->VIEW_STATE_FOCUSED:I
-Landroid/util/StateSet;->VIEW_STATE_HOVERED:I
-Landroid/util/StateSet;->VIEW_STATE_IDS:[I
-Landroid/util/StateSet;->VIEW_STATE_PRESSED:I
-Landroid/util/StateSet;->VIEW_STATE_SELECTED:I
-Landroid/util/StateSet;->VIEW_STATE_SETS:[[I
-Landroid/util/StateSet;->VIEW_STATE_WINDOW_FOCUSED:I
-Landroid/util/StatsLog;-><init>()V
-Landroid/util/StatsLog;->DEBUG:Z
-Landroid/util/StatsLog;->getIStatsManagerLocked()Landroid/os/IStatsManager;
-Landroid/util/StatsLog;->sService:Landroid/os/IStatsManager;
-Landroid/util/StatsLog;->TAG:Ljava/lang/String;
-Landroid/util/StatsLogInternal;
-Landroid/util/StatsLogInternal;-><init>()V
-Landroid/util/StatsLogInternal;->ACTIVITY_FOREGROUND_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->ACTIVITY_FOREGROUND_STATE_CHANGED__STATE__BACKGROUND:I
-Landroid/util/StatsLogInternal;->ACTIVITY_FOREGROUND_STATE_CHANGED__STATE__FOREGROUND:I
-Landroid/util/StatsLogInternal;->ANOMALY_DETECTED:I
-Landroid/util/StatsLogInternal;->ANROCCURRED__FOREGROUND_STATE__BACKGROUND:I
-Landroid/util/StatsLogInternal;->ANROCCURRED__FOREGROUND_STATE__FOREGROUND:I
-Landroid/util/StatsLogInternal;->ANROCCURRED__FOREGROUND_STATE__UNKNOWN:I
-Landroid/util/StatsLogInternal;->ANROCCURRED__IS_INSTANT_APP__FALSE:I
-Landroid/util/StatsLogInternal;->ANROCCURRED__IS_INSTANT_APP__TRUE:I
-Landroid/util/StatsLogInternal;->ANROCCURRED__IS_INSTANT_APP__UNAVAILABLE:I
-Landroid/util/StatsLogInternal;->ANR_OCCURRED:I
-Landroid/util/StatsLogInternal;->APP_BREADCRUMB_REPORTED:I
-Landroid/util/StatsLogInternal;->APP_BREADCRUMB_REPORTED__STATE__START:I
-Landroid/util/StatsLogInternal;->APP_BREADCRUMB_REPORTED__STATE__STOP:I
-Landroid/util/StatsLogInternal;->APP_BREADCRUMB_REPORTED__STATE__UNKNOWN:I
-Landroid/util/StatsLogInternal;->APP_BREADCRUMB_REPORTED__STATE__UNSPECIFIED:I
-Landroid/util/StatsLogInternal;->APP_CRASH_OCCURRED:I
-Landroid/util/StatsLogInternal;->APP_CRASH_OCCURRED__FOREGROUND_STATE__BACKGROUND:I
-Landroid/util/StatsLogInternal;->APP_CRASH_OCCURRED__FOREGROUND_STATE__FOREGROUND:I
-Landroid/util/StatsLogInternal;->APP_CRASH_OCCURRED__FOREGROUND_STATE__UNKNOWN:I
-Landroid/util/StatsLogInternal;->APP_CRASH_OCCURRED__IS_INSTANT_APP__FALSE:I
-Landroid/util/StatsLogInternal;->APP_CRASH_OCCURRED__IS_INSTANT_APP__TRUE:I
-Landroid/util/StatsLogInternal;->APP_CRASH_OCCURRED__IS_INSTANT_APP__UNAVAILABLE:I
-Landroid/util/StatsLogInternal;->APP_DIED:I
-Landroid/util/StatsLogInternal;->APP_START_CANCELED:I
-Landroid/util/StatsLogInternal;->APP_START_CANCELED__TYPE__COLD:I
-Landroid/util/StatsLogInternal;->APP_START_CANCELED__TYPE__HOT:I
-Landroid/util/StatsLogInternal;->APP_START_CANCELED__TYPE__UNKNOWN:I
-Landroid/util/StatsLogInternal;->APP_START_CANCELED__TYPE__WARM:I
-Landroid/util/StatsLogInternal;->APP_START_FULLY_DRAWN:I
-Landroid/util/StatsLogInternal;->APP_START_FULLY_DRAWN__TYPE__UNKNOWN:I
-Landroid/util/StatsLogInternal;->APP_START_FULLY_DRAWN__TYPE__WITHOUT_BUNDLE:I
-Landroid/util/StatsLogInternal;->APP_START_FULLY_DRAWN__TYPE__WITH_BUNDLE:I
-Landroid/util/StatsLogInternal;->APP_START_MEMORY_STATE_CAPTURED:I
-Landroid/util/StatsLogInternal;->APP_START_OCCURRED:I
-Landroid/util/StatsLogInternal;->APP_START_OCCURRED__REASON__APP_TRANSITION_REASON_UNKNOWN:I
-Landroid/util/StatsLogInternal;->APP_START_OCCURRED__REASON__APP_TRANSITION_RECENTS_ANIM:I
-Landroid/util/StatsLogInternal;->APP_START_OCCURRED__REASON__APP_TRANSITION_SNAPSHOT:I
-Landroid/util/StatsLogInternal;->APP_START_OCCURRED__REASON__APP_TRANSITION_SPLASH_SCREEN:I
-Landroid/util/StatsLogInternal;->APP_START_OCCURRED__REASON__APP_TRANSITION_TIMEOUT:I
-Landroid/util/StatsLogInternal;->APP_START_OCCURRED__REASON__APP_TRANSITION_WINDOWS_DRAWN:I
-Landroid/util/StatsLogInternal;->APP_START_OCCURRED__TYPE__COLD:I
-Landroid/util/StatsLogInternal;->APP_START_OCCURRED__TYPE__HOT:I
-Landroid/util/StatsLogInternal;->APP_START_OCCURRED__TYPE__UNKNOWN:I
-Landroid/util/StatsLogInternal;->APP_START_OCCURRED__TYPE__WARM:I
-Landroid/util/StatsLogInternal;->AUDIO_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->AUDIO_STATE_CHANGED__STATE__OFF:I
-Landroid/util/StatsLogInternal;->AUDIO_STATE_CHANGED__STATE__ON:I
-Landroid/util/StatsLogInternal;->AUDIO_STATE_CHANGED__STATE__RESET:I
-Landroid/util/StatsLogInternal;->BATTERY_LEVEL_CHANGED:I
-Landroid/util/StatsLogInternal;->BATTERY_SAVER_MODE_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->BATTERY_SAVER_MODE_STATE_CHANGED__STATE__OFF:I
-Landroid/util/StatsLogInternal;->BATTERY_SAVER_MODE_STATE_CHANGED__STATE__ON:I
-Landroid/util/StatsLogInternal;->BLE_SCAN_RESULT_RECEIVED:I
-Landroid/util/StatsLogInternal;->BLE_SCAN_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->BLE_SCAN_STATE_CHANGED__STATE__OFF:I
-Landroid/util/StatsLogInternal;->BLE_SCAN_STATE_CHANGED__STATE__ON:I
-Landroid/util/StatsLogInternal;->BLE_SCAN_STATE_CHANGED__STATE__RESET:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_ACTIVITY_INFO:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_BYTES_TRANSFER:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_CONNECTION_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_CONNECTION_STATE_CHANGED__STATE__CONNECTION_STATE_CONNECTED:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_CONNECTION_STATE_CHANGED__STATE__CONNECTION_STATE_CONNECTING:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_CONNECTION_STATE_CHANGED__STATE__CONNECTION_STATE_DISCONNECTED:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_CONNECTION_STATE_CHANGED__STATE__CONNECTION_STATE_DISCONNECTING:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_ENABLED_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_ENABLED_STATE_CHANGED__REASON__ENABLE_DISABLE_REASON_AIRPLANE_MODE:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_ENABLED_STATE_CHANGED__REASON__ENABLE_DISABLE_REASON_APPLICATION_REQUEST:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_ENABLED_STATE_CHANGED__REASON__ENABLE_DISABLE_REASON_CRASH:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_ENABLED_STATE_CHANGED__REASON__ENABLE_DISABLE_REASON_DISALLOWED:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_ENABLED_STATE_CHANGED__REASON__ENABLE_DISABLE_REASON_RESTARTED:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_ENABLED_STATE_CHANGED__REASON__ENABLE_DISABLE_REASON_RESTORE_USER_SETTING:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_ENABLED_STATE_CHANGED__REASON__ENABLE_DISABLE_REASON_START_ERROR:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_ENABLED_STATE_CHANGED__REASON__ENABLE_DISABLE_REASON_SYSTEM_BOOT:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_ENABLED_STATE_CHANGED__REASON__ENABLE_DISABLE_REASON_UNSPECIFIED:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_ENABLED_STATE_CHANGED__REASON__ENABLE_DISABLE_REASON_USER_SWITCH:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_ENABLED_STATE_CHANGED__STATE__DISABLED:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_ENABLED_STATE_CHANGED__STATE__ENABLED:I
-Landroid/util/StatsLogInternal;->BLUETOOTH_ENABLED_STATE_CHANGED__STATE__UNKNOWN:I
-Landroid/util/StatsLogInternal;->BOOT_SEQUENCE_REPORTED:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__CALL_STATE__ABORTED:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__CALL_STATE__ACTIVE:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__CALL_STATE__CONNECTING:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__CALL_STATE__DIALING:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__CALL_STATE__DISCONNECTED:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__CALL_STATE__DISCONNECTING:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__CALL_STATE__NEW:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__CALL_STATE__ON_HOLD:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__CALL_STATE__PULLING:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__CALL_STATE__RINGING:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__CALL_STATE__SELECT_PHONE_ACCOUNT:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__DISCONNECT_CAUSE__ANSWERED_ELSEWHERE:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__DISCONNECT_CAUSE__BUSY:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__DISCONNECT_CAUSE__CALL_PULLED:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__DISCONNECT_CAUSE__CANCELED:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__DISCONNECT_CAUSE__CONNECTION_MANAGER_NOT_SUPPORTED:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__DISCONNECT_CAUSE__ERROR:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__DISCONNECT_CAUSE__LOCAL:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__DISCONNECT_CAUSE__MISSED:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__DISCONNECT_CAUSE__OTHER:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__DISCONNECT_CAUSE__REJECTED:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__DISCONNECT_CAUSE__REMOTE:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__DISCONNECT_CAUSE__RESTRICTED:I
-Landroid/util/StatsLogInternal;->CALL_STATE_CHANGED__DISCONNECT_CAUSE__UNKNOWN:I
-Landroid/util/StatsLogInternal;->CAMERA_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->CAMERA_STATE_CHANGED__STATE__OFF:I
-Landroid/util/StatsLogInternal;->CAMERA_STATE_CHANGED__STATE__ON:I
-Landroid/util/StatsLogInternal;->CAMERA_STATE_CHANGED__STATE__RESET:I
-Landroid/util/StatsLogInternal;->CHARGE_CYCLES_REPORTED:I
-Landroid/util/StatsLogInternal;->CHARGING_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->CHARGING_STATE_CHANGED__STATE__BATTERY_STATUS_CHARGING:I
-Landroid/util/StatsLogInternal;->CHARGING_STATE_CHANGED__STATE__BATTERY_STATUS_DISCHARGING:I
-Landroid/util/StatsLogInternal;->CHARGING_STATE_CHANGED__STATE__BATTERY_STATUS_FULL:I
-Landroid/util/StatsLogInternal;->CHARGING_STATE_CHANGED__STATE__BATTERY_STATUS_INVALID:I
-Landroid/util/StatsLogInternal;->CHARGING_STATE_CHANGED__STATE__BATTERY_STATUS_NOT_CHARGING:I
-Landroid/util/StatsLogInternal;->CHARGING_STATE_CHANGED__STATE__BATTERY_STATUS_UNKNOWN:I
-Landroid/util/StatsLogInternal;->CPU_ACTIVE_TIME:I
-Landroid/util/StatsLogInternal;->CPU_CLUSTER_TIME:I
-Landroid/util/StatsLogInternal;->CPU_TIME_PER_FREQ:I
-Landroid/util/StatsLogInternal;->CPU_TIME_PER_UID:I
-Landroid/util/StatsLogInternal;->CPU_TIME_PER_UID_FREQ:I
-Landroid/util/StatsLogInternal;->DAVEY_OCCURRED:I
-Landroid/util/StatsLogInternal;->DEVICE_IDLE_MODE_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->DEVICE_IDLE_MODE_STATE_CHANGED__STATE__DEVICE_IDLE_MODE_DEEP:I
-Landroid/util/StatsLogInternal;->DEVICE_IDLE_MODE_STATE_CHANGED__STATE__DEVICE_IDLE_MODE_LIGHT:I
-Landroid/util/StatsLogInternal;->DEVICE_IDLE_MODE_STATE_CHANGED__STATE__DEVICE_IDLE_MODE_OFF:I
-Landroid/util/StatsLogInternal;->DEVICE_IDLING_MODE_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->DEVICE_IDLING_MODE_STATE_CHANGED__STATE__DEVICE_IDLE_MODE_DEEP:I
-Landroid/util/StatsLogInternal;->DEVICE_IDLING_MODE_STATE_CHANGED__STATE__DEVICE_IDLE_MODE_LIGHT:I
-Landroid/util/StatsLogInternal;->DEVICE_IDLING_MODE_STATE_CHANGED__STATE__DEVICE_IDLE_MODE_OFF:I
-Landroid/util/StatsLogInternal;->DISK_SPACE:I
-Landroid/util/StatsLogInternal;->FLASHLIGHT_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->FLASHLIGHT_STATE_CHANGED__STATE__OFF:I
-Landroid/util/StatsLogInternal;->FLASHLIGHT_STATE_CHANGED__STATE__ON:I
-Landroid/util/StatsLogInternal;->FLASHLIGHT_STATE_CHANGED__STATE__RESET:I
-Landroid/util/StatsLogInternal;->FOREGROUND_SERVICE_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->FOREGROUND_SERVICE_STATE_CHANGED__STATE__ENTER:I
-Landroid/util/StatsLogInternal;->FOREGROUND_SERVICE_STATE_CHANGED__STATE__EXIT:I
-Landroid/util/StatsLogInternal;->FULL_BATTERY_CAPACITY:I
-Landroid/util/StatsLogInternal;->GPS_SCAN_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->GPS_SCAN_STATE_CHANGED__STATE__OFF:I
-Landroid/util/StatsLogInternal;->GPS_SCAN_STATE_CHANGED__STATE__ON:I
-Landroid/util/StatsLogInternal;->HARDWARE_FAILED:I
-Landroid/util/StatsLogInternal;->HARDWARE_FAILED__HARDWARE_TYPE__HARDWARE_FAILED_CODEC:I
-Landroid/util/StatsLogInternal;->HARDWARE_FAILED__HARDWARE_TYPE__HARDWARE_FAILED_FINGERPRINT:I
-Landroid/util/StatsLogInternal;->HARDWARE_FAILED__HARDWARE_TYPE__HARDWARE_FAILED_MICROPHONE:I
-Landroid/util/StatsLogInternal;->HARDWARE_FAILED__HARDWARE_TYPE__HARDWARE_FAILED_SPEAKER:I
-Landroid/util/StatsLogInternal;->HARDWARE_FAILED__HARDWARE_TYPE__HARDWARE_FAILED_UNKNOWN:I
-Landroid/util/StatsLogInternal;->ISOLATED_UID_CHANGED:I
-Landroid/util/StatsLogInternal;->ISOLATED_UID_CHANGED__EVENT__CREATED:I
-Landroid/util/StatsLogInternal;->ISOLATED_UID_CHANGED__EVENT__REMOVED:I
-Landroid/util/StatsLogInternal;->KERNEL_WAKELOCK:I
-Landroid/util/StatsLogInternal;->KERNEL_WAKEUP_REPORTED:I
-Landroid/util/StatsLogInternal;->KEYGUARD_BOUNCER_PASSWORD_ENTERED:I
-Landroid/util/StatsLogInternal;->KEYGUARD_BOUNCER_PASSWORD_ENTERED__RESULT__FAILURE:I
-Landroid/util/StatsLogInternal;->KEYGUARD_BOUNCER_PASSWORD_ENTERED__RESULT__SUCCESS:I
-Landroid/util/StatsLogInternal;->KEYGUARD_BOUNCER_PASSWORD_ENTERED__RESULT__UNKNOWN:I
-Landroid/util/StatsLogInternal;->KEYGUARD_BOUNCER_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->KEYGUARD_BOUNCER_STATE_CHANGED__STATE__HIDDEN:I
-Landroid/util/StatsLogInternal;->KEYGUARD_BOUNCER_STATE_CHANGED__STATE__SHOWN:I
-Landroid/util/StatsLogInternal;->KEYGUARD_BOUNCER_STATE_CHANGED__STATE__UNKNOWN:I
-Landroid/util/StatsLogInternal;->KEYGUARD_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->KEYGUARD_STATE_CHANGED__STATE__HIDDEN:I
-Landroid/util/StatsLogInternal;->KEYGUARD_STATE_CHANGED__STATE__OCCLUDED:I
-Landroid/util/StatsLogInternal;->KEYGUARD_STATE_CHANGED__STATE__SHOWN:I
-Landroid/util/StatsLogInternal;->KEYGUARD_STATE_CHANGED__STATE__UNKNOWN:I
-Landroid/util/StatsLogInternal;->LMK_KILL_OCCURRED:I
-Landroid/util/StatsLogInternal;->LMK_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->LMK_STATE_CHANGED__STATE__START:I
-Landroid/util/StatsLogInternal;->LMK_STATE_CHANGED__STATE__STOP:I
-Landroid/util/StatsLogInternal;->LMK_STATE_CHANGED__STATE__UNKNOWN:I
-Landroid/util/StatsLogInternal;->LONG_PARTIAL_WAKELOCK_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->LONG_PARTIAL_WAKELOCK_STATE_CHANGED__STATE__OFF:I
-Landroid/util/StatsLogInternal;->LONG_PARTIAL_WAKELOCK_STATE_CHANGED__STATE__ON:I
-Landroid/util/StatsLogInternal;->LOW_MEM_REPORTED:I
-Landroid/util/StatsLogInternal;->MEDIA_CODEC_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->MEDIA_CODEC_STATE_CHANGED__STATE__OFF:I
-Landroid/util/StatsLogInternal;->MEDIA_CODEC_STATE_CHANGED__STATE__ON:I
-Landroid/util/StatsLogInternal;->MEDIA_CODEC_STATE_CHANGED__STATE__RESET:I
-Landroid/util/StatsLogInternal;->MOBILE_BYTES_TRANSFER:I
-Landroid/util/StatsLogInternal;->MOBILE_BYTES_TRANSFER_BY_FG_BG:I
-Landroid/util/StatsLogInternal;->MOBILE_CONNECTION_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->MOBILE_CONNECTION_STATE_CHANGED__STATE__ACTIVATING:I
-Landroid/util/StatsLogInternal;->MOBILE_CONNECTION_STATE_CHANGED__STATE__ACTIVE:I
-Landroid/util/StatsLogInternal;->MOBILE_CONNECTION_STATE_CHANGED__STATE__DISCONNECTING:I
-Landroid/util/StatsLogInternal;->MOBILE_CONNECTION_STATE_CHANGED__STATE__DISCONNECTION_ERROR_CREATING_CONNECTION:I
-Landroid/util/StatsLogInternal;->MOBILE_CONNECTION_STATE_CHANGED__STATE__INACTIVE:I
-Landroid/util/StatsLogInternal;->MOBILE_CONNECTION_STATE_CHANGED__STATE__UNKNOWN:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_POWER_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_POWER_STATE_CHANGED__STATE__DATA_CONNECTION_POWER_STATE_HIGH:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_POWER_STATE_CHANGED__STATE__DATA_CONNECTION_POWER_STATE_LOW:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_POWER_STATE_CHANGED__STATE__DATA_CONNECTION_POWER_STATE_MEDIUM:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_POWER_STATE_CHANGED__STATE__DATA_CONNECTION_POWER_STATE_UNKNOWN:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED__STATE__NETWORK_TYPE_1XRTT:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED__STATE__NETWORK_TYPE_CDMA:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED__STATE__NETWORK_TYPE_EDGE:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED__STATE__NETWORK_TYPE_EHRPD:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED__STATE__NETWORK_TYPE_EVDO_0:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED__STATE__NETWORK_TYPE_EVDO_A:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED__STATE__NETWORK_TYPE_EVDO_B:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED__STATE__NETWORK_TYPE_GPRS:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED__STATE__NETWORK_TYPE_GSM:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED__STATE__NETWORK_TYPE_HSDPA:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED__STATE__NETWORK_TYPE_HSPA:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED__STATE__NETWORK_TYPE_HSPAP:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED__STATE__NETWORK_TYPE_HSUPA:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED__STATE__NETWORK_TYPE_IDEN:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED__STATE__NETWORK_TYPE_IWLAN:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED__STATE__NETWORK_TYPE_LTE:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED__STATE__NETWORK_TYPE_LTE_CA:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED__STATE__NETWORK_TYPE_TD_SCDMA:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED__STATE__NETWORK_TYPE_UMTS:I
-Landroid/util/StatsLogInternal;->MOBILE_RADIO_TECHNOLOGY_CHANGED__STATE__NETWORK_TYPE_UNKNOWN:I
-Landroid/util/StatsLogInternal;->MODEM_ACTIVITY_INFO:I
-Landroid/util/StatsLogInternal;->OVERLAY_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->OVERLAY_STATE_CHANGED__STATE__ENTERED:I
-Landroid/util/StatsLogInternal;->OVERLAY_STATE_CHANGED__STATE__EXITED:I
-Landroid/util/StatsLogInternal;->PACKET_WAKEUP_OCCURRED:I
-Landroid/util/StatsLogInternal;->PHONE_SIGNAL_STRENGTH_CHANGED:I
-Landroid/util/StatsLogInternal;->PHONE_SIGNAL_STRENGTH_CHANGED__SIGNAL_STRENGTH__SIGNAL_STRENGTH_GOOD:I
-Landroid/util/StatsLogInternal;->PHONE_SIGNAL_STRENGTH_CHANGED__SIGNAL_STRENGTH__SIGNAL_STRENGTH_GREAT:I
-Landroid/util/StatsLogInternal;->PHONE_SIGNAL_STRENGTH_CHANGED__SIGNAL_STRENGTH__SIGNAL_STRENGTH_MODERATE:I
-Landroid/util/StatsLogInternal;->PHONE_SIGNAL_STRENGTH_CHANGED__SIGNAL_STRENGTH__SIGNAL_STRENGTH_NONE_OR_UNKNOWN:I
-Landroid/util/StatsLogInternal;->PHONE_SIGNAL_STRENGTH_CHANGED__SIGNAL_STRENGTH__SIGNAL_STRENGTH_POOR:I
-Landroid/util/StatsLogInternal;->PHYSICAL_DROP_DETECTED:I
-Landroid/util/StatsLogInternal;->PICTURE_IN_PICTURE_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->PICTURE_IN_PICTURE_STATE_CHANGED__STATE__DISMISSED:I
-Landroid/util/StatsLogInternal;->PICTURE_IN_PICTURE_STATE_CHANGED__STATE__ENTERED:I
-Landroid/util/StatsLogInternal;->PICTURE_IN_PICTURE_STATE_CHANGED__STATE__EXPANDED_TO_FULL_SCREEN:I
-Landroid/util/StatsLogInternal;->PICTURE_IN_PICTURE_STATE_CHANGED__STATE__MINIMIZED:I
-Landroid/util/StatsLogInternal;->PLUGGED_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->PLUGGED_STATE_CHANGED__STATE__BATTERY_PLUGGED_AC:I
-Landroid/util/StatsLogInternal;->PLUGGED_STATE_CHANGED__STATE__BATTERY_PLUGGED_NONE:I
-Landroid/util/StatsLogInternal;->PLUGGED_STATE_CHANGED__STATE__BATTERY_PLUGGED_USB:I
-Landroid/util/StatsLogInternal;->PLUGGED_STATE_CHANGED__STATE__BATTERY_PLUGGED_WIRELESS:I
-Landroid/util/StatsLogInternal;->PROCESS_LIFE_CYCLE_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->PROCESS_LIFE_CYCLE_STATE_CHANGED__STATE__CRASHED:I
-Landroid/util/StatsLogInternal;->PROCESS_LIFE_CYCLE_STATE_CHANGED__STATE__FINISHED:I
-Landroid/util/StatsLogInternal;->PROCESS_LIFE_CYCLE_STATE_CHANGED__STATE__STARTED:I
-Landroid/util/StatsLogInternal;->PROCESS_MEMORY_STATE:I
-Landroid/util/StatsLogInternal;->REMAINING_BATTERY_CAPACITY:I
-Landroid/util/StatsLogInternal;->RESOURCE_CONFIGURATION_CHANGED:I
-Landroid/util/StatsLogInternal;->SCHEDULED_JOB_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->SCHEDULED_JOB_STATE_CHANGED__STATE__FINISHED:I
-Landroid/util/StatsLogInternal;->SCHEDULED_JOB_STATE_CHANGED__STATE__SCHEDULED:I
-Landroid/util/StatsLogInternal;->SCHEDULED_JOB_STATE_CHANGED__STATE__STARTED:I
-Landroid/util/StatsLogInternal;->SCHEDULED_JOB_STATE_CHANGED__STOP_REASON__STOP_REASON_CANCELLED:I
-Landroid/util/StatsLogInternal;->SCHEDULED_JOB_STATE_CHANGED__STOP_REASON__STOP_REASON_CONSTRAINTS_NOT_SATISFIED:I
-Landroid/util/StatsLogInternal;->SCHEDULED_JOB_STATE_CHANGED__STOP_REASON__STOP_REASON_DEVICE_IDLE:I
-Landroid/util/StatsLogInternal;->SCHEDULED_JOB_STATE_CHANGED__STOP_REASON__STOP_REASON_PREEMPT:I
-Landroid/util/StatsLogInternal;->SCHEDULED_JOB_STATE_CHANGED__STOP_REASON__STOP_REASON_TIMEOUT:I
-Landroid/util/StatsLogInternal;->SCHEDULED_JOB_STATE_CHANGED__STOP_REASON__STOP_REASON_UNKNOWN:I
-Landroid/util/StatsLogInternal;->SCREEN_BRIGHTNESS_CHANGED:I
-Landroid/util/StatsLogInternal;->SCREEN_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->SCREEN_STATE_CHANGED__STATE__DISPLAY_STATE_DOZE:I
-Landroid/util/StatsLogInternal;->SCREEN_STATE_CHANGED__STATE__DISPLAY_STATE_DOZE_SUSPEND:I
-Landroid/util/StatsLogInternal;->SCREEN_STATE_CHANGED__STATE__DISPLAY_STATE_OFF:I
-Landroid/util/StatsLogInternal;->SCREEN_STATE_CHANGED__STATE__DISPLAY_STATE_ON:I
-Landroid/util/StatsLogInternal;->SCREEN_STATE_CHANGED__STATE__DISPLAY_STATE_ON_SUSPEND:I
-Landroid/util/StatsLogInternal;->SCREEN_STATE_CHANGED__STATE__DISPLAY_STATE_UNKNOWN:I
-Landroid/util/StatsLogInternal;->SCREEN_STATE_CHANGED__STATE__DISPLAY_STATE_VR:I
-Landroid/util/StatsLogInternal;->SENSOR_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->SENSOR_STATE_CHANGED__STATE__OFF:I
-Landroid/util/StatsLogInternal;->SENSOR_STATE_CHANGED__STATE__ON:I
-Landroid/util/StatsLogInternal;->SETTING_CHANGED:I
-Landroid/util/StatsLogInternal;->SETTING_CHANGED__REASON__DELETED:I
-Landroid/util/StatsLogInternal;->SETTING_CHANGED__REASON__UPDATED:I
-Landroid/util/StatsLogInternal;->SHUTDOWN_SEQUENCE_REPORTED:I
-Landroid/util/StatsLogInternal;->SPEAKER_IMPEDANCE_REPORTED:I
-Landroid/util/StatsLogInternal;->SUBSYSTEM_SLEEP_STATE:I
-Landroid/util/StatsLogInternal;->SYNC_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->SYNC_STATE_CHANGED__STATE__OFF:I
-Landroid/util/StatsLogInternal;->SYNC_STATE_CHANGED__STATE__ON:I
-Landroid/util/StatsLogInternal;->SYSTEM_ELAPSED_REALTIME:I
-Landroid/util/StatsLogInternal;->SYSTEM_UPTIME:I
-Landroid/util/StatsLogInternal;->TEMPERATURE:I
-Landroid/util/StatsLogInternal;->TEMPERATURE__SENSOR_LOCATION__TEMPERATURE_TYPE_BATTERY:I
-Landroid/util/StatsLogInternal;->TEMPERATURE__SENSOR_LOCATION__TEMPERATURE_TYPE_CPU:I
-Landroid/util/StatsLogInternal;->TEMPERATURE__SENSOR_LOCATION__TEMPERATURE_TYPE_GPU:I
-Landroid/util/StatsLogInternal;->TEMPERATURE__SENSOR_LOCATION__TEMPERATURE_TYPE_SKIN:I
-Landroid/util/StatsLogInternal;->TEMPERATURE__SENSOR_LOCATION__TEMPERATURE_TYPE_UNKNOWN:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_BACKUP:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_BOUND_FOREGROUND_SERVICE:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_CACHED_ACTIVITY:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_CACHED_ACTIVITY_CLIENT:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_CACHED_EMPTY:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_CACHED_RECENT:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_FOREGROUND_SERVICE:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_HEAVY_WEIGHT:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_HOME:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_IMPORTANT_BACKGROUND:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_IMPORTANT_FOREGROUND:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_LAST_ACTIVITY:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_NONEXISTENT:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_PERSISTENT:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_PERSISTENT_UI:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_RECEIVER:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_SERVICE:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_TOP:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_TOP_SLEEPING:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_TRANSIENT_BACKGROUND:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_UNKNOWN:I
-Landroid/util/StatsLogInternal;->UID_PROCESS_STATE_CHANGED__STATE__PROCESS_STATE_UNKNOWN_TO_PROTO:I
-Landroid/util/StatsLogInternal;->USB_CONNECTOR_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->USB_CONNECTOR_STATE_CHANGED__STATE__CONNECTED:I
-Landroid/util/StatsLogInternal;->USB_CONNECTOR_STATE_CHANGED__STATE__DISCONNECTED:I
-Landroid/util/StatsLogInternal;->USB_DEVICE_ATTACHED:I
-Landroid/util/StatsLogInternal;->WAKELOCK_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->WAKELOCK_STATE_CHANGED__LEVEL__DOZE_WAKE_LOCK:I
-Landroid/util/StatsLogInternal;->WAKELOCK_STATE_CHANGED__LEVEL__DRAW_WAKE_LOCK:I
-Landroid/util/StatsLogInternal;->WAKELOCK_STATE_CHANGED__LEVEL__FULL_WAKE_LOCK:I
-Landroid/util/StatsLogInternal;->WAKELOCK_STATE_CHANGED__LEVEL__PARTIAL_WAKE_LOCK:I
-Landroid/util/StatsLogInternal;->WAKELOCK_STATE_CHANGED__LEVEL__PROXIMITY_SCREEN_OFF_WAKE_LOCK:I
-Landroid/util/StatsLogInternal;->WAKELOCK_STATE_CHANGED__LEVEL__SCREEN_BRIGHT_WAKE_LOCK:I
-Landroid/util/StatsLogInternal;->WAKELOCK_STATE_CHANGED__LEVEL__SCREEN_DIM_WAKE_LOCK:I
-Landroid/util/StatsLogInternal;->WAKELOCK_STATE_CHANGED__STATE__ACQUIRE:I
-Landroid/util/StatsLogInternal;->WAKELOCK_STATE_CHANGED__STATE__CHANGE_ACQUIRE:I
-Landroid/util/StatsLogInternal;->WAKELOCK_STATE_CHANGED__STATE__CHANGE_RELEASE:I
-Landroid/util/StatsLogInternal;->WAKELOCK_STATE_CHANGED__STATE__RELEASE:I
-Landroid/util/StatsLogInternal;->WAKEUP_ALARM_OCCURRED:I
-Landroid/util/StatsLogInternal;->WIFI_ACTIVITY_INFO:I
-Landroid/util/StatsLogInternal;->WIFI_BYTES_TRANSFER:I
-Landroid/util/StatsLogInternal;->WIFI_BYTES_TRANSFER_BY_FG_BG:I
-Landroid/util/StatsLogInternal;->WIFI_LOCK_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->WIFI_LOCK_STATE_CHANGED__STATE__OFF:I
-Landroid/util/StatsLogInternal;->WIFI_LOCK_STATE_CHANGED__STATE__ON:I
-Landroid/util/StatsLogInternal;->WIFI_MULTICAST_LOCK_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->WIFI_MULTICAST_LOCK_STATE_CHANGED__STATE__OFF:I
-Landroid/util/StatsLogInternal;->WIFI_MULTICAST_LOCK_STATE_CHANGED__STATE__ON:I
-Landroid/util/StatsLogInternal;->WIFI_RADIO_POWER_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->WIFI_RADIO_POWER_STATE_CHANGED__STATE__DATA_CONNECTION_POWER_STATE_HIGH:I
-Landroid/util/StatsLogInternal;->WIFI_RADIO_POWER_STATE_CHANGED__STATE__DATA_CONNECTION_POWER_STATE_LOW:I
-Landroid/util/StatsLogInternal;->WIFI_RADIO_POWER_STATE_CHANGED__STATE__DATA_CONNECTION_POWER_STATE_MEDIUM:I
-Landroid/util/StatsLogInternal;->WIFI_RADIO_POWER_STATE_CHANGED__STATE__DATA_CONNECTION_POWER_STATE_UNKNOWN:I
-Landroid/util/StatsLogInternal;->WIFI_SCAN_STATE_CHANGED:I
-Landroid/util/StatsLogInternal;->WIFI_SCAN_STATE_CHANGED__STATE__OFF:I
-Landroid/util/StatsLogInternal;->WIFI_SCAN_STATE_CHANGED__STATE__ON:I
-Landroid/util/StatsLogInternal;->WIFI_SIGNAL_STRENGTH_CHANGED:I
-Landroid/util/StatsLogInternal;->WIFI_SIGNAL_STRENGTH_CHANGED__SIGNAL_STRENGTH__SIGNAL_STRENGTH_GOOD:I
-Landroid/util/StatsLogInternal;->WIFI_SIGNAL_STRENGTH_CHANGED__SIGNAL_STRENGTH__SIGNAL_STRENGTH_GREAT:I
-Landroid/util/StatsLogInternal;->WIFI_SIGNAL_STRENGTH_CHANGED__SIGNAL_STRENGTH__SIGNAL_STRENGTH_MODERATE:I
-Landroid/util/StatsLogInternal;->WIFI_SIGNAL_STRENGTH_CHANGED__SIGNAL_STRENGTH__SIGNAL_STRENGTH_NONE_OR_UNKNOWN:I
-Landroid/util/StatsLogInternal;->WIFI_SIGNAL_STRENGTH_CHANGED__SIGNAL_STRENGTH__SIGNAL_STRENGTH_POOR:I
-Landroid/util/StatsLogInternal;->write(I)I
-Landroid/util/StatsLogInternal;->write(II)I
-Landroid/util/StatsLogInternal;->write(III)I
-Landroid/util/StatsLogInternal;->write(IIIFIIIIIIIIIIIIII)I
-Landroid/util/StatsLogInternal;->write(IIII)I
-Landroid/util/StatsLogInternal;->write(IIIIIIIII)I
-Landroid/util/StatsLogInternal;->write(IIIIJZ)I
-Landroid/util/StatsLogInternal;->write(IIIJ)I
-Landroid/util/StatsLogInternal;->write(IIIZZ)I
-Landroid/util/StatsLogInternal;->write(IIIZZZ)I
-Landroid/util/StatsLogInternal;->write(IIJ)I
-Landroid/util/StatsLogInternal;->write(IIJJ)I
-Landroid/util/StatsLogInternal;->write(IIJJJJ)I
-Landroid/util/StatsLogInternal;->write(IILjava/lang/String;I)I
-Landroid/util/StatsLogInternal;->write(IILjava/lang/String;IJJJJJ)I
-Landroid/util/StatsLogInternal;->write(IILjava/lang/String;ILjava/lang/String;)I
-Landroid/util/StatsLogInternal;->write(IILjava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;III)I
-Landroid/util/StatsLogInternal;->write(IILjava/lang/String;ILjava/lang/String;Ljava/lang/String;ZJIIIIILjava/lang/String;II)I
-Landroid/util/StatsLogInternal;->write(IILjava/lang/String;ILjava/lang/String;ZJ)I
-Landroid/util/StatsLogInternal;->write(IILjava/lang/String;Ljava/lang/String;I)I
-Landroid/util/StatsLogInternal;->write(IILjava/lang/String;Ljava/lang/String;ILjava/lang/String;II)I
-Landroid/util/StatsLogInternal;->write(IILjava/lang/String;Ljava/lang/String;JJJJJ)I
-Landroid/util/StatsLogInternal;->write(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;II)I
-Landroid/util/StatsLogInternal;->write(IILjava/lang/String;ZI)I
-Landroid/util/StatsLogInternal;->write(IIZJJJJ)I
-Landroid/util/StatsLogInternal;->write(IJ)I
-Landroid/util/StatsLogInternal;->write(IJIJJJJ)I
-Landroid/util/StatsLogInternal;->write(IJJJ)I
-Landroid/util/StatsLogInternal;->write(IJJJJJJJJJJ)I
-Landroid/util/StatsLogInternal;->write(ILjava/lang/String;IIJ)I
-Landroid/util/StatsLogInternal;->write(ILjava/lang/String;J)I
-Landroid/util/StatsLogInternal;->write(ILjava/lang/String;Ljava/lang/String;JJ)I
-Landroid/util/StatsLogInternal;->write(ILjava/lang/String;Ljava/lang/String;JJJJ)I
-Landroid/util/StatsLogInternal;->write(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZII)I
-Landroid/util/StatsLogInternal;->write(IZLjava/lang/String;JJ)I
-Landroid/util/StatsLogInternal;->write(I[I[Ljava/lang/String;I)I
-Landroid/util/StatsLogInternal;->write(I[I[Ljava/lang/String;II)I
-Landroid/util/StatsLogInternal;->write(I[I[Ljava/lang/String;IILjava/lang/String;)I
-Landroid/util/StatsLogInternal;->write(I[I[Ljava/lang/String;ILjava/lang/String;I)I
-Landroid/util/StatsLogInternal;->write(I[I[Ljava/lang/String;IZZZ)I
-Landroid/util/StatsLogInternal;->write(I[I[Ljava/lang/String;Ljava/lang/String;)I
-Landroid/util/StatsLogInternal;->write(I[I[Ljava/lang/String;Ljava/lang/String;I)I
-Landroid/util/StatsLogInternal;->write(I[I[Ljava/lang/String;Ljava/lang/String;II)I
-Landroid/util/StatsLogInternal;->write(I[I[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)I
-Landroid/util/StatsLogInternal;->write_non_chained(IILjava/lang/String;I)I
-Landroid/util/StatsLogInternal;->write_non_chained(IILjava/lang/String;II)I
-Landroid/util/StatsLogInternal;->write_non_chained(IILjava/lang/String;IILjava/lang/String;)I
-Landroid/util/StatsLogInternal;->write_non_chained(IILjava/lang/String;ILjava/lang/String;I)I
-Landroid/util/StatsLogInternal;->write_non_chained(IILjava/lang/String;IZZZ)I
-Landroid/util/StatsLogInternal;->write_non_chained(IILjava/lang/String;Ljava/lang/String;)I
-Landroid/util/StatsLogInternal;->write_non_chained(IILjava/lang/String;Ljava/lang/String;I)I
-Landroid/util/StatsLogInternal;->write_non_chained(IILjava/lang/String;Ljava/lang/String;II)I
-Landroid/util/StatsLogInternal;->write_non_chained(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)I
-Landroid/util/StatsLogInternal;->WTF_OCCURRED:I
-Landroid/util/StringBuilderPrinter;->mBuilder:Ljava/lang/StringBuilder;
-Landroid/util/SuperNotCalledException;
-Landroid/util/SuperNotCalledException;-><init>(Ljava/lang/String;)V
-Landroid/util/TextLogEntry;
-Landroid/util/TextLogEntry;-><init>()V
-Landroid/util/TextLogEntry;->LOG:J
-Landroid/util/TextLogEntry;->LOG_DEBUG:I
-Landroid/util/TextLogEntry;->LOG_DEFAULT:I
-Landroid/util/TextLogEntry;->LOG_ERROR:I
-Landroid/util/TextLogEntry;->LOG_FATAL:I
-Landroid/util/TextLogEntry;->LOG_INFO:I
-Landroid/util/TextLogEntry;->LOG_SILENT:I
-Landroid/util/TextLogEntry;->LOG_UNKNOWN:I
-Landroid/util/TextLogEntry;->LOG_VERBOSE:I
-Landroid/util/TextLogEntry;->LOG_WARN:I
-Landroid/util/TextLogEntry;->NANOSEC:J
-Landroid/util/TextLogEntry;->PID:J
-Landroid/util/TextLogEntry;->PRIORITY:J
-Landroid/util/TextLogEntry;->SEC:J
-Landroid/util/TextLogEntry;->TAG:J
-Landroid/util/TextLogEntry;->TID:J
-Landroid/util/TextLogEntry;->UID:J
-Landroid/util/TimedRemoteCaller;
-Landroid/util/TimedRemoteCaller;-><init>(J)V
-Landroid/util/TimedRemoteCaller;->DEFAULT_CALL_TIMEOUT_MILLIS:J
-Landroid/util/TimedRemoteCaller;->getResultTimed(I)Ljava/lang/Object;
-Landroid/util/TimedRemoteCaller;->mAwaitedCalls:Landroid/util/SparseIntArray;
-Landroid/util/TimedRemoteCaller;->mCallTimeoutMillis:J
-Landroid/util/TimedRemoteCaller;->mLock:Ljava/lang/Object;
-Landroid/util/TimedRemoteCaller;->mReceivedCalls:Landroid/util/SparseArray;
-Landroid/util/TimedRemoteCaller;->mSequenceCounter:I
-Landroid/util/TimedRemoteCaller;->onBeforeRemoteCall()I
-Landroid/util/TimedRemoteCaller;->onRemoteMethodResult(Ljava/lang/Object;I)V
-Landroid/util/TimeFormatException;-><init>(Ljava/lang/String;)V
-Landroid/util/TimeUtils;-><init>()V
-Landroid/util/TimeUtils;->accumField(IIZI)I
-Landroid/util/TimeUtils;->formatDuration(J)Ljava/lang/String;
-Landroid/util/TimeUtils;->formatDuration(JJLjava/io/PrintWriter;)V
-Landroid/util/TimeUtils;->formatDuration(JLjava/lang/StringBuilder;)V
-Landroid/util/TimeUtils;->formatDuration(JLjava/lang/StringBuilder;I)V
-Landroid/util/TimeUtils;->formatDurationLocked(JI)I
-Landroid/util/TimeUtils;->formatForLogging(J)Ljava/lang/String;
-Landroid/util/TimeUtils;->formatUptime(J)Ljava/lang/String;
-Landroid/util/TimeUtils;->getIcuTimeZone(IZJLjava/lang/String;)Landroid/icu/util/TimeZone;
-Landroid/util/TimeUtils;->HUNDRED_DAY_FIELD_LEN:I
-Landroid/util/TimeUtils;->NANOS_PER_MS:J
-Landroid/util/TimeUtils;->printFieldLocked([CICIZI)I
-Landroid/util/TimeUtils;->SECONDS_PER_DAY:I
-Landroid/util/TimeUtils;->SECONDS_PER_HOUR:I
-Landroid/util/TimeUtils;->SECONDS_PER_MINUTE:I
-Landroid/util/TimeUtils;->sFormatStr:[C
-Landroid/util/TimeUtils;->sFormatSync:Ljava/lang/Object;
-Landroid/util/TimeUtils;->sLoggingFormat:Ljava/text/SimpleDateFormat;
-Landroid/util/TimeUtils;->sTmpFormatStr:[C
-Landroid/util/TimingLogger;->mDisabled:Z
-Landroid/util/TimingLogger;->mLabel:Ljava/lang/String;
-Landroid/util/TimingLogger;->mSplitLabels:Ljava/util/ArrayList;
-Landroid/util/TimingLogger;->mSplits:Ljava/util/ArrayList;
-Landroid/util/TimingLogger;->mTag:Ljava/lang/String;
-Landroid/util/TimingsTraceLog;
-Landroid/util/TimingsTraceLog;-><init>(Ljava/lang/String;J)V
-Landroid/util/TimingsTraceLog;->assertSameThread()V
-Landroid/util/TimingsTraceLog;->DEBUG_BOOT_TIME:Z
-Landroid/util/TimingsTraceLog;->logDuration(Ljava/lang/String;J)V
-Landroid/util/TimingsTraceLog;->mStartTimes:Ljava/util/Deque;
-Landroid/util/TimingsTraceLog;->mTag:Ljava/lang/String;
-Landroid/util/TimingsTraceLog;->mThreadId:J
-Landroid/util/TimingsTraceLog;->mTraceTag:J
-Landroid/util/TimingsTraceLog;->traceBegin(Ljava/lang/String;)V
-Landroid/util/TimingsTraceLog;->traceEnd()V
-Landroid/util/TrustedTime;
-Landroid/util/TrustedTime;->getCacheCertainty()J
-Landroid/util/TypedValue;->complexToDimensionNoisy(ILandroid/util/DisplayMetrics;)F
-Landroid/util/TypedValue;->DIMENSION_UNIT_STRS:[Ljava/lang/String;
-Landroid/util/TypedValue;->FRACTION_UNIT_STRS:[Ljava/lang/String;
-Landroid/util/TypedValue;->MANTISSA_MULT:F
-Landroid/util/TypedValue;->RADIX_MULTS:[F
-Landroid/util/Xml$Encoding;-><init>(Ljava/lang/String;)V
-Landroid/util/Xml$Encoding;->expatName:Ljava/lang/String;
-Landroid/util/Xml$XmlSerializerFactory;
-Landroid/util/Xml$XmlSerializerFactory;-><init>()V
-Landroid/util/Xml$XmlSerializerFactory;->instance:Lorg/xmlpull/v1/XmlPullParserFactory;
-Landroid/util/Xml$XmlSerializerFactory;->TYPE:Ljava/lang/String;
-Landroid/util/Xml;-><init>()V
-Landroid/view/AbsSavedState;-><init>()V
-Landroid/view/AbsSavedState;->mSuperState:Landroid/os/Parcelable;
-Landroid/view/accessibility/AccessibilityCache$AccessibilityNodeRefresher;
-Landroid/view/accessibility/AccessibilityCache$AccessibilityNodeRefresher;-><init>()V
-Landroid/view/accessibility/AccessibilityCache$AccessibilityNodeRefresher;->refreshNode(Landroid/view/accessibility/AccessibilityNodeInfo;Z)Z
-Landroid/view/accessibility/AccessibilityCache;
-Landroid/view/accessibility/AccessibilityCache;-><init>(Landroid/view/accessibility/AccessibilityCache$AccessibilityNodeRefresher;)V
-Landroid/view/accessibility/AccessibilityCache;->add(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/view/accessibility/AccessibilityCache;->addWindow(Landroid/view/accessibility/AccessibilityWindowInfo;)V
-Landroid/view/accessibility/AccessibilityCache;->CACHE_CRITICAL_EVENTS_MASK:I
-Landroid/view/accessibility/AccessibilityCache;->checkIntegrity()V
-Landroid/view/accessibility/AccessibilityCache;->CHECK_INTEGRITY:Z
-Landroid/view/accessibility/AccessibilityCache;->clear()V
-Landroid/view/accessibility/AccessibilityCache;->clearNodesForWindowLocked(I)V
-Landroid/view/accessibility/AccessibilityCache;->clearSubTreeLocked(IJ)V
-Landroid/view/accessibility/AccessibilityCache;->clearSubTreeRecursiveLocked(Landroid/util/LongSparseArray;J)V
-Landroid/view/accessibility/AccessibilityCache;->clearWindowCache()V
-Landroid/view/accessibility/AccessibilityCache;->DEBUG:Z
-Landroid/view/accessibility/AccessibilityCache;->getNode(IJ)Landroid/view/accessibility/AccessibilityNodeInfo;
-Landroid/view/accessibility/AccessibilityCache;->getWindow(I)Landroid/view/accessibility/AccessibilityWindowInfo;
-Landroid/view/accessibility/AccessibilityCache;->getWindows()Ljava/util/List;
-Landroid/view/accessibility/AccessibilityCache;->LOG_TAG:Ljava/lang/String;
-Landroid/view/accessibility/AccessibilityCache;->mAccessibilityFocus:J
-Landroid/view/accessibility/AccessibilityCache;->mAccessibilityNodeRefresher:Landroid/view/accessibility/AccessibilityCache$AccessibilityNodeRefresher;
-Landroid/view/accessibility/AccessibilityCache;->mInputFocus:J
-Landroid/view/accessibility/AccessibilityCache;->mIsAllWindowsCached:Z
-Landroid/view/accessibility/AccessibilityCache;->mLock:Ljava/lang/Object;
-Landroid/view/accessibility/AccessibilityCache;->mNodeCache:Landroid/util/SparseArray;
-Landroid/view/accessibility/AccessibilityCache;->mTempWindowArray:Landroid/util/SparseArray;
-Landroid/view/accessibility/AccessibilityCache;->mWindowCache:Landroid/util/SparseArray;
-Landroid/view/accessibility/AccessibilityCache;->onAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/view/accessibility/AccessibilityCache;->refreshCachedNodeLocked(IJ)V
-Landroid/view/accessibility/AccessibilityCache;->setWindows(Ljava/util/List;)V
-Landroid/view/accessibility/AccessibilityEvent$ContentChangeTypes;
-Landroid/view/accessibility/AccessibilityEvent$EventType;
-Landroid/view/accessibility/AccessibilityEvent$WindowsChangeTypes;
-Landroid/view/accessibility/AccessibilityEvent;-><init>()V
-Landroid/view/accessibility/AccessibilityEvent;->clear()V
-Landroid/view/accessibility/AccessibilityEvent;->contentChangeTypesToString(I)Ljava/lang/String;
-Landroid/view/accessibility/AccessibilityEvent;->DEBUG:Z
-Landroid/view/accessibility/AccessibilityEvent;->DEBUG_ORIGIN:Z
-Landroid/view/accessibility/AccessibilityEvent;->init(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/view/accessibility/AccessibilityEvent;->MAX_POOL_SIZE:I
-Landroid/view/accessibility/AccessibilityEvent;->mContentChangeTypes:I
-Landroid/view/accessibility/AccessibilityEvent;->mEventTime:J
-Landroid/view/accessibility/AccessibilityEvent;->mMovementGranularity:I
-Landroid/view/accessibility/AccessibilityEvent;->mPackageName:Ljava/lang/CharSequence;
-Landroid/view/accessibility/AccessibilityEvent;->mRecords:Ljava/util/ArrayList;
-Landroid/view/accessibility/AccessibilityEvent;->mWindowChangeTypes:I
-Landroid/view/accessibility/AccessibilityEvent;->obtainWindowsChangedEvent(II)Landroid/view/accessibility/AccessibilityEvent;
-Landroid/view/accessibility/AccessibilityEvent;->originStackTrace:[Ljava/lang/StackTraceElement;
-Landroid/view/accessibility/AccessibilityEvent;->readAccessibilityRecordFromParcel(Landroid/view/accessibility/AccessibilityRecord;Landroid/os/Parcel;)V
-Landroid/view/accessibility/AccessibilityEvent;->setSealed(Z)V
-Landroid/view/accessibility/AccessibilityEvent;->setWindowChanges(I)V
-Landroid/view/accessibility/AccessibilityEvent;->singleContentChangeTypeToString(I)Ljava/lang/String;
-Landroid/view/accessibility/AccessibilityEvent;->singleEventTypeToString(I)Ljava/lang/String;
-Landroid/view/accessibility/AccessibilityEvent;->singleWindowChangeTypeToString(I)Ljava/lang/String;
-Landroid/view/accessibility/AccessibilityEvent;->sPool:Landroid/util/Pools$SynchronizedPool;
-Landroid/view/accessibility/AccessibilityEvent;->windowChangeTypesToString(I)Ljava/lang/String;
-Landroid/view/accessibility/AccessibilityEvent;->writeAccessibilityRecordToParcel(Landroid/view/accessibility/AccessibilityRecord;Landroid/os/Parcel;I)V
-Landroid/view/accessibility/AccessibilityInteractionClient;
-Landroid/view/accessibility/AccessibilityInteractionClient;-><init>()V
-Landroid/view/accessibility/AccessibilityInteractionClient;->addConnection(ILandroid/accessibilityservice/IAccessibilityServiceConnection;)V
-Landroid/view/accessibility/AccessibilityInteractionClient;->checkFindAccessibilityNodeInfoResultIntegrity(Ljava/util/List;)V
-Landroid/view/accessibility/AccessibilityInteractionClient;->CHECK_INTEGRITY:Z
-Landroid/view/accessibility/AccessibilityInteractionClient;->clearResultLocked()V
-Landroid/view/accessibility/AccessibilityInteractionClient;->DEBUG:Z
-Landroid/view/accessibility/AccessibilityInteractionClient;->finalizeAndCacheAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;IZ[Ljava/lang/String;)V
-Landroid/view/accessibility/AccessibilityInteractionClient;->finalizeAndCacheAccessibilityNodeInfos(Ljava/util/List;IZ[Ljava/lang/String;)V
-Landroid/view/accessibility/AccessibilityInteractionClient;->findAccessibilityNodeInfoByAccessibilityId(IIJZILandroid/os/Bundle;)Landroid/view/accessibility/AccessibilityNodeInfo;
-Landroid/view/accessibility/AccessibilityInteractionClient;->findAccessibilityNodeInfosByText(IIJLjava/lang/String;)Ljava/util/List;
-Landroid/view/accessibility/AccessibilityInteractionClient;->findAccessibilityNodeInfosByViewId(IIJLjava/lang/String;)Ljava/util/List;
-Landroid/view/accessibility/AccessibilityInteractionClient;->findFocus(IIJI)Landroid/view/accessibility/AccessibilityNodeInfo;
-Landroid/view/accessibility/AccessibilityInteractionClient;->focusSearch(IIJI)Landroid/view/accessibility/AccessibilityNodeInfo;
-Landroid/view/accessibility/AccessibilityInteractionClient;->getConnection(I)Landroid/accessibilityservice/IAccessibilityServiceConnection;
-Landroid/view/accessibility/AccessibilityInteractionClient;->getFindAccessibilityNodeInfoResultAndClear(I)Landroid/view/accessibility/AccessibilityNodeInfo;
-Landroid/view/accessibility/AccessibilityInteractionClient;->getFindAccessibilityNodeInfosResultAndClear(I)Ljava/util/List;
-Landroid/view/accessibility/AccessibilityInteractionClient;->getInstanceForThread(J)Landroid/view/accessibility/AccessibilityInteractionClient;
-Landroid/view/accessibility/AccessibilityInteractionClient;->getPerformAccessibilityActionResultAndClear(I)Z
-Landroid/view/accessibility/AccessibilityInteractionClient;->getRootInActiveWindow(I)Landroid/view/accessibility/AccessibilityNodeInfo;
-Landroid/view/accessibility/AccessibilityInteractionClient;->getSameProcessMessageAndClear()Landroid/os/Message;
-Landroid/view/accessibility/AccessibilityInteractionClient;->getWindow(II)Landroid/view/accessibility/AccessibilityWindowInfo;
-Landroid/view/accessibility/AccessibilityInteractionClient;->getWindows(I)Ljava/util/List;
-Landroid/view/accessibility/AccessibilityInteractionClient;->idToString(IJ)Ljava/lang/String;
-Landroid/view/accessibility/AccessibilityInteractionClient;->LOG_TAG:Ljava/lang/String;
-Landroid/view/accessibility/AccessibilityInteractionClient;->mFindAccessibilityNodeInfoResult:Landroid/view/accessibility/AccessibilityNodeInfo;
-Landroid/view/accessibility/AccessibilityInteractionClient;->mFindAccessibilityNodeInfosResult:Ljava/util/List;
-Landroid/view/accessibility/AccessibilityInteractionClient;->mInstanceLock:Ljava/lang/Object;
-Landroid/view/accessibility/AccessibilityInteractionClient;->mInteractionId:I
-Landroid/view/accessibility/AccessibilityInteractionClient;->mInteractionIdCounter:Ljava/util/concurrent/atomic/AtomicInteger;
-Landroid/view/accessibility/AccessibilityInteractionClient;->mPerformAccessibilityActionResult:Z
-Landroid/view/accessibility/AccessibilityInteractionClient;->mSameThreadMessage:Landroid/os/Message;
-Landroid/view/accessibility/AccessibilityInteractionClient;->NO_ID:I
-Landroid/view/accessibility/AccessibilityInteractionClient;->onAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/view/accessibility/AccessibilityInteractionClient;->performAccessibilityAction(IIJILandroid/os/Bundle;)Z
-Landroid/view/accessibility/AccessibilityInteractionClient;->removeConnection(I)V
-Landroid/view/accessibility/AccessibilityInteractionClient;->sAccessibilityCache:Landroid/view/accessibility/AccessibilityCache;
-Landroid/view/accessibility/AccessibilityInteractionClient;->sClients:Landroid/util/LongSparseArray;
-Landroid/view/accessibility/AccessibilityInteractionClient;->sConnectionCache:Landroid/util/SparseArray;
-Landroid/view/accessibility/AccessibilityInteractionClient;->setCache(Landroid/view/accessibility/AccessibilityCache;)V
-Landroid/view/accessibility/AccessibilityInteractionClient;->setFindAccessibilityNodeInfoResult(Landroid/view/accessibility/AccessibilityNodeInfo;I)V
-Landroid/view/accessibility/AccessibilityInteractionClient;->setFindAccessibilityNodeInfosResult(Ljava/util/List;I)V
-Landroid/view/accessibility/AccessibilityInteractionClient;->setPerformAccessibilityActionResult(ZI)V
-Landroid/view/accessibility/AccessibilityInteractionClient;->sStaticLock:Ljava/lang/Object;
-Landroid/view/accessibility/AccessibilityInteractionClient;->TIMEOUT_INTERACTION_MILLIS:J
-Landroid/view/accessibility/AccessibilityInteractionClient;->waitForResultTimedLocked(I)Z
-Landroid/view/accessibility/AccessibilityManager$AccessibilityPolicy;
-Landroid/view/accessibility/AccessibilityManager$AccessibilityPolicy;->getEnabledAccessibilityServiceList(ILjava/util/List;)Ljava/util/List;
-Landroid/view/accessibility/AccessibilityManager$AccessibilityPolicy;->getInstalledAccessibilityServiceList(Ljava/util/List;)Ljava/util/List;
-Landroid/view/accessibility/AccessibilityManager$AccessibilityPolicy;->getRelevantEventTypes(I)I
-Landroid/view/accessibility/AccessibilityManager$AccessibilityPolicy;->isEnabled(Z)Z
-Landroid/view/accessibility/AccessibilityManager$AccessibilityPolicy;->onAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;ZI)Landroid/view/accessibility/AccessibilityEvent;
-Landroid/view/accessibility/AccessibilityManager$AccessibilityServicesStateChangeListener;
-Landroid/view/accessibility/AccessibilityManager$AccessibilityServicesStateChangeListener;->onAccessibilityServicesStateChanged(Landroid/view/accessibility/AccessibilityManager;)V
-Landroid/view/accessibility/AccessibilityManager$HighTextContrastChangeListener;
-Landroid/view/accessibility/AccessibilityManager$HighTextContrastChangeListener;->onHighTextContrastStateChanged(Z)V
-Landroid/view/accessibility/AccessibilityManager$MyCallback;
-Landroid/view/accessibility/AccessibilityManager$MyCallback;-><init>()V
-Landroid/view/accessibility/AccessibilityManager$MyCallback;->MSG_SET_STATE:I
-Landroid/view/accessibility/AccessibilityManager;-><init>(Landroid/content/Context;Landroid/view/accessibility/IAccessibilityManager;I)V
-Landroid/view/accessibility/AccessibilityManager;-><init>(Landroid/os/Handler;Landroid/view/accessibility/IAccessibilityManager;I)V
-Landroid/view/accessibility/AccessibilityManager;->ACTION_CHOOSE_ACCESSIBILITY_BUTTON:Ljava/lang/String;
-Landroid/view/accessibility/AccessibilityManager;->addAccessibilityInteractionConnection(Landroid/view/IWindow;Ljava/lang/String;Landroid/view/accessibility/IAccessibilityInteractionConnection;)I
-Landroid/view/accessibility/AccessibilityManager;->addAccessibilityServicesStateChangeListener(Landroid/view/accessibility/AccessibilityManager$AccessibilityServicesStateChangeListener;Landroid/os/Handler;)V
-Landroid/view/accessibility/AccessibilityManager;->addHighTextContrastStateChangeListener(Landroid/view/accessibility/AccessibilityManager$HighTextContrastChangeListener;Landroid/os/Handler;)V
-Landroid/view/accessibility/AccessibilityManager;->AUTOCLICK_DELAY_DEFAULT:I
-Landroid/view/accessibility/AccessibilityManager;->DALTONIZER_CORRECT_DEUTERANOMALY:I
-Landroid/view/accessibility/AccessibilityManager;->DALTONIZER_DISABLED:I
-Landroid/view/accessibility/AccessibilityManager;->DEBUG:Z
-Landroid/view/accessibility/AccessibilityManager;->getCallback()Landroid/os/Handler$Callback;
-Landroid/view/accessibility/AccessibilityManager;->getClient()Landroid/view/accessibility/IAccessibilityManagerClient;
-Landroid/view/accessibility/AccessibilityManager;->getInstalledServiceInfoWithComponentName(Landroid/content/ComponentName;)Landroid/accessibilityservice/AccessibilityServiceInfo;
-Landroid/view/accessibility/AccessibilityManager;->getRequestPreparersForAccessibilityId(I)Ljava/util/List;
-Landroid/view/accessibility/AccessibilityManager;->getServiceLocked()Landroid/view/accessibility/IAccessibilityManager;
-Landroid/view/accessibility/AccessibilityManager;->isAccessibilityVolumeStreamActive()Z
-Landroid/view/accessibility/AccessibilityManager;->LOG_TAG:Ljava/lang/String;
-Landroid/view/accessibility/AccessibilityManager;->mAccessibilityPolicy:Landroid/view/accessibility/AccessibilityManager$AccessibilityPolicy;
-Landroid/view/accessibility/AccessibilityManager;->mCallback:Landroid/os/Handler$Callback;
-Landroid/view/accessibility/AccessibilityManager;->mClient:Landroid/view/accessibility/IAccessibilityManagerClient$Stub;
-Landroid/view/accessibility/AccessibilityManager;->mHighTextContrastStateChangeListeners:Landroid/util/ArrayMap;
-Landroid/view/accessibility/AccessibilityManager;->mIsTouchExplorationEnabled:Z
-Landroid/view/accessibility/AccessibilityManager;->mRelevantEventTypes:I
-Landroid/view/accessibility/AccessibilityManager;->mRequestPreparerLists:Landroid/util/SparseArray;
-Landroid/view/accessibility/AccessibilityManager;->mServicesStateChangeListeners:Landroid/util/ArrayMap;
-Landroid/view/accessibility/AccessibilityManager;->mTouchExplorationStateChangeListeners:Landroid/util/ArrayMap;
-Landroid/view/accessibility/AccessibilityManager;->notifyAccessibilityButtonClicked()V
-Landroid/view/accessibility/AccessibilityManager;->notifyAccessibilityButtonVisibilityChanged(Z)V
-Landroid/view/accessibility/AccessibilityManager;->notifyAccessibilityStateChanged()V
-Landroid/view/accessibility/AccessibilityManager;->notifyHighTextContrastStateChanged()V
-Landroid/view/accessibility/AccessibilityManager;->notifyTouchExplorationStateChanged()V
-Landroid/view/accessibility/AccessibilityManager;->performAccessibilityShortcut()V
-Landroid/view/accessibility/AccessibilityManager;->removeAccessibilityInteractionConnection(Landroid/view/IWindow;)V
-Landroid/view/accessibility/AccessibilityManager;->removeAccessibilityServicesStateChangeListener(Landroid/view/accessibility/AccessibilityManager$AccessibilityServicesStateChangeListener;)V
-Landroid/view/accessibility/AccessibilityManager;->removeHighTextContrastStateChangeListener(Landroid/view/accessibility/AccessibilityManager$HighTextContrastChangeListener;)V
-Landroid/view/accessibility/AccessibilityManager;->sendFingerprintGesture(I)Z
-Landroid/view/accessibility/AccessibilityManager;->setAccessibilityPolicy(Landroid/view/accessibility/AccessibilityManager$AccessibilityPolicy;)V
-Landroid/view/accessibility/AccessibilityManager;->setPictureInPictureActionReplacingConnection(Landroid/view/accessibility/IAccessibilityInteractionConnection;)V
-Landroid/view/accessibility/AccessibilityManager;->STATE_FLAG_ACCESSIBILITY_ENABLED:I
-Landroid/view/accessibility/AccessibilityManager;->STATE_FLAG_HIGH_TEXT_CONTRAST_ENABLED:I
-Landroid/view/accessibility/AccessibilityManager;->STATE_FLAG_TOUCH_EXPLORATION_ENABLED:I
-Landroid/view/accessibility/AccessibilityManager;->tryConnectToServiceLocked(Landroid/view/accessibility/IAccessibilityManager;)V
-Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;-><init>(I)V
-Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;->mActionId:I
-Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;->mLabel:Ljava/lang/CharSequence;
-Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;->mSerializationFlag:J
-Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;->sStandardActions:Landroid/util/ArraySet;
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;-><init>(IIZI)V
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;->clear()V
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;->MAX_POOL_SIZE:I
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;->mColumnCount:I
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;->mHierarchical:Z
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;->mRowCount:I
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;->mSelectionMode:I
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;->obtain(Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;)Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;->recycle()V
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;->sPool:Landroid/util/Pools$SynchronizedPool;
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;-><init>(IIIIZZ)V
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;->clear()V
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;->MAX_POOL_SIZE:I
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;->mColumnIndex:I
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;->mColumnSpan:I
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;->mHeading:Z
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;->mRowIndex:I
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;->mRowSpan:I
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;->mSelected:Z
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;->obtain(Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;)Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;->recycle()V
-Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;->sPool:Landroid/util/Pools$SynchronizedPool;
-Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;-><init>(IFFF)V
-Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;->clear()V
-Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;->MAX_POOL_SIZE:I
-Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;->mCurrent:F
-Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;->mMax:F
-Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;->mMin:F
-Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;->mType:I
-Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;->obtain(Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;)Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;
-Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;->recycle()V
-Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;->sPool:Landroid/util/Pools$SynchronizedPool;
-Landroid/view/accessibility/AccessibilityNodeInfo;-><init>()V
-Landroid/view/accessibility/AccessibilityNodeInfo;->ACTION_ARGUMENT_ACCESSIBLE_CLICKABLE_SPAN:Ljava/lang/String;
-Landroid/view/accessibility/AccessibilityNodeInfo;->ACTION_TYPE_MASK:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->addActionUnchecked(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V
-Landroid/view/accessibility/AccessibilityNodeInfo;->addChildInternal(Landroid/view/View;IZ)V
-Landroid/view/accessibility/AccessibilityNodeInfo;->addChildUnchecked(Landroid/view/View;)V
-Landroid/view/accessibility/AccessibilityNodeInfo;->addStandardActions(J)V
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_ACCESSIBILITY_FOCUSED:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_CHECKABLE:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_CHECKED:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_CLICKABLE:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_CONTENT_INVALID:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_CONTEXT_CLICKABLE:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_DISMISSABLE:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_EDITABLE:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_ENABLED:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_FOCUSABLE:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_FOCUSED:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_IMPORTANCE:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_IS_HEADING:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_IS_SHOWING_HINT:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_LONG_CLICKABLE:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_MULTI_LINE:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_OPENS_POPUP:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_PASSWORD:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_SCREEN_READER_FOCUSABLE:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_SCROLLABLE:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_SELECTED:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->BOOLEAN_PROPERTY_VISIBLE_TO_USER:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->canPerformRequestOverConnection(J)Z
-Landroid/view/accessibility/AccessibilityNodeInfo;->clear()V
-Landroid/view/accessibility/AccessibilityNodeInfo;->DEBUG:Z
-Landroid/view/accessibility/AccessibilityNodeInfo;->DEFAULT:Landroid/view/accessibility/AccessibilityNodeInfo;
-Landroid/view/accessibility/AccessibilityNodeInfo;->enforceNotSealed()V
-Landroid/view/accessibility/AccessibilityNodeInfo;->enforceSealed()V
-Landroid/view/accessibility/AccessibilityNodeInfo;->enforceValidFocusDirection(I)V
-Landroid/view/accessibility/AccessibilityNodeInfo;->enforceValidFocusType(I)V
-Landroid/view/accessibility/AccessibilityNodeInfo;->EXTRA_DATA_REQUESTED_KEY:Ljava/lang/String;
-Landroid/view/accessibility/AccessibilityNodeInfo;->FLAG_INCLUDE_NOT_IMPORTANT_VIEWS:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->FLAG_PREFETCH_DESCENDANTS:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->FLAG_PREFETCH_PREDECESSORS:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->FLAG_PREFETCH_SIBLINGS:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->FLAG_REPORT_VIEW_IDS:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->getActionSingleton(I)Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;
-Landroid/view/accessibility/AccessibilityNodeInfo;->getActionSingletonBySerializationFlag(J)Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;
-Landroid/view/accessibility/AccessibilityNodeInfo;->getActionSymbolicName(I)Ljava/lang/String;
-Landroid/view/accessibility/AccessibilityNodeInfo;->getBooleanProperty(I)Z
-Landroid/view/accessibility/AccessibilityNodeInfo;->getBoundsInScreen()Landroid/graphics/Rect;
-Landroid/view/accessibility/AccessibilityNodeInfo;->getChildId(I)J
-Landroid/view/accessibility/AccessibilityNodeInfo;->getChildNodeIds()Landroid/util/LongArray;
-Landroid/view/accessibility/AccessibilityNodeInfo;->getConnectionId()I
-Landroid/view/accessibility/AccessibilityNodeInfo;->getMovementGranularitySymbolicName(I)Ljava/lang/String;
-Landroid/view/accessibility/AccessibilityNodeInfo;->getNodeForAccessibilityId(J)Landroid/view/accessibility/AccessibilityNodeInfo;
-Landroid/view/accessibility/AccessibilityNodeInfo;->getOriginalText()Ljava/lang/CharSequence;
-Landroid/view/accessibility/AccessibilityNodeInfo;->getParentNodeId()J
-Landroid/view/accessibility/AccessibilityNodeInfo;->hasExtras()Z
-Landroid/view/accessibility/AccessibilityNodeInfo;->idItemToString(I)Ljava/lang/String;
-Landroid/view/accessibility/AccessibilityNodeInfo;->idToString(J)Ljava/lang/String;
-Landroid/view/accessibility/AccessibilityNodeInfo;->init(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/view/accessibility/AccessibilityNodeInfo;->initFromParcel(Landroid/os/Parcel;)V
-Landroid/view/accessibility/AccessibilityNodeInfo;->isDefaultStandardAction(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)Z
-Landroid/view/accessibility/AccessibilityNodeInfo;->LAST_LEGACY_STANDARD_ACTION:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->mActions:Ljava/util/ArrayList;
-Landroid/view/accessibility/AccessibilityNodeInfo;->makeNodeId(II)J
-Landroid/view/accessibility/AccessibilityNodeInfo;->MAX_POOL_SIZE:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->mBooleanProperties:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->mBoundsInParent:Landroid/graphics/Rect;
-Landroid/view/accessibility/AccessibilityNodeInfo;->mBoundsInScreen:Landroid/graphics/Rect;
-Landroid/view/accessibility/AccessibilityNodeInfo;->mClassName:Ljava/lang/CharSequence;
-Landroid/view/accessibility/AccessibilityNodeInfo;->mCollectionInfo:Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;
-Landroid/view/accessibility/AccessibilityNodeInfo;->mCollectionItemInfo:Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;
-Landroid/view/accessibility/AccessibilityNodeInfo;->mConnectionId:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->mContentDescription:Ljava/lang/CharSequence;
-Landroid/view/accessibility/AccessibilityNodeInfo;->mDrawingOrderInParent:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->mError:Ljava/lang/CharSequence;
-Landroid/view/accessibility/AccessibilityNodeInfo;->mExtraDataKeys:Ljava/util/ArrayList;
-Landroid/view/accessibility/AccessibilityNodeInfo;->mExtras:Landroid/os/Bundle;
-Landroid/view/accessibility/AccessibilityNodeInfo;->mHintText:Ljava/lang/CharSequence;
-Landroid/view/accessibility/AccessibilityNodeInfo;->mInputType:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->mLabeledById:J
-Landroid/view/accessibility/AccessibilityNodeInfo;->mLabelForId:J
-Landroid/view/accessibility/AccessibilityNodeInfo;->mLiveRegion:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->mMaxTextLength:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->mMovementGranularities:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->mOriginalText:Ljava/lang/CharSequence;
-Landroid/view/accessibility/AccessibilityNodeInfo;->mPackageName:Ljava/lang/CharSequence;
-Landroid/view/accessibility/AccessibilityNodeInfo;->mPaneTitle:Ljava/lang/CharSequence;
-Landroid/view/accessibility/AccessibilityNodeInfo;->mParentNodeId:J
-Landroid/view/accessibility/AccessibilityNodeInfo;->mRangeInfo:Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;
-Landroid/view/accessibility/AccessibilityNodeInfo;->mText:Ljava/lang/CharSequence;
-Landroid/view/accessibility/AccessibilityNodeInfo;->mTextSelectionEnd:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->mTextSelectionStart:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->mTooltipText:Ljava/lang/CharSequence;
-Landroid/view/accessibility/AccessibilityNodeInfo;->mTraversalAfter:J
-Landroid/view/accessibility/AccessibilityNodeInfo;->mTraversalBefore:J
-Landroid/view/accessibility/AccessibilityNodeInfo;->mViewIdResourceName:Ljava/lang/String;
-Landroid/view/accessibility/AccessibilityNodeInfo;->mWindowId:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->removeAllActions()V
-Landroid/view/accessibility/AccessibilityNodeInfo;->ROOT_ITEM_ID:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->ROOT_NODE_ID:J
-Landroid/view/accessibility/AccessibilityNodeInfo;->setBooleanProperty(IZ)V
-Landroid/view/accessibility/AccessibilityNodeInfo;->setConnectionId(I)V
-Landroid/view/accessibility/AccessibilityNodeInfo;->setSourceNodeId(JI)V
-Landroid/view/accessibility/AccessibilityNodeInfo;->sNumInstancesInUse:Ljava/util/concurrent/atomic/AtomicInteger;
-Landroid/view/accessibility/AccessibilityNodeInfo;->sPool:Landroid/util/Pools$SynchronizedPool;
-Landroid/view/accessibility/AccessibilityNodeInfo;->UNDEFINED_CONNECTION_ID:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->UNDEFINED_ITEM_ID:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->UNDEFINED_NODE_ID:J
-Landroid/view/accessibility/AccessibilityNodeInfo;->UNDEFINED_SELECTION_INDEX:I
-Landroid/view/accessibility/AccessibilityNodeInfo;->VIRTUAL_DESCENDANT_ID_MASK:J
-Landroid/view/accessibility/AccessibilityNodeInfo;->VIRTUAL_DESCENDANT_ID_SHIFT:I
-Landroid/view/accessibility/AccessibilityRecord;-><init>()V
-Landroid/view/accessibility/AccessibilityRecord;->append(Ljava/lang/StringBuilder;Ljava/lang/String;I)V
-Landroid/view/accessibility/AccessibilityRecord;->append(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/Object;)V
-Landroid/view/accessibility/AccessibilityRecord;->appendPropName(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
-Landroid/view/accessibility/AccessibilityRecord;->appendTo(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
-Landroid/view/accessibility/AccessibilityRecord;->appendUnless(ZILjava/lang/StringBuilder;)V
-Landroid/view/accessibility/AccessibilityRecord;->clear()V
-Landroid/view/accessibility/AccessibilityRecord;->DEBUG_CONCISE_TOSTRING:Z
-Landroid/view/accessibility/AccessibilityRecord;->enforceNotSealed()V
-Landroid/view/accessibility/AccessibilityRecord;->enforceSealed()V
-Landroid/view/accessibility/AccessibilityRecord;->getBooleanProperty(I)Z
-Landroid/view/accessibility/AccessibilityRecord;->GET_SOURCE_PREFETCH_FLAGS:I
-Landroid/view/accessibility/AccessibilityRecord;->init(Landroid/view/accessibility/AccessibilityRecord;)V
-Landroid/view/accessibility/AccessibilityRecord;->isImportantForAccessibility()Z
-Landroid/view/accessibility/AccessibilityRecord;->isSealed()Z
-Landroid/view/accessibility/AccessibilityRecord;->mAddedCount:I
-Landroid/view/accessibility/AccessibilityRecord;->MAX_POOL_SIZE:I
-Landroid/view/accessibility/AccessibilityRecord;->mBeforeText:Ljava/lang/CharSequence;
-Landroid/view/accessibility/AccessibilityRecord;->mBooleanProperties:I
-Landroid/view/accessibility/AccessibilityRecord;->mClassName:Ljava/lang/CharSequence;
-Landroid/view/accessibility/AccessibilityRecord;->mConnectionId:I
-Landroid/view/accessibility/AccessibilityRecord;->mContentDescription:Ljava/lang/CharSequence;
-Landroid/view/accessibility/AccessibilityRecord;->mCurrentItemIndex:I
-Landroid/view/accessibility/AccessibilityRecord;->mFromIndex:I
-Landroid/view/accessibility/AccessibilityRecord;->mIsInPool:Z
-Landroid/view/accessibility/AccessibilityRecord;->mItemCount:I
-Landroid/view/accessibility/AccessibilityRecord;->mMaxScrollX:I
-Landroid/view/accessibility/AccessibilityRecord;->mMaxScrollY:I
-Landroid/view/accessibility/AccessibilityRecord;->mNext:Landroid/view/accessibility/AccessibilityRecord;
-Landroid/view/accessibility/AccessibilityRecord;->mParcelableData:Landroid/os/Parcelable;
-Landroid/view/accessibility/AccessibilityRecord;->mRemovedCount:I
-Landroid/view/accessibility/AccessibilityRecord;->mScrollDeltaX:I
-Landroid/view/accessibility/AccessibilityRecord;->mScrollDeltaY:I
-Landroid/view/accessibility/AccessibilityRecord;->mScrollX:I
-Landroid/view/accessibility/AccessibilityRecord;->mScrollY:I
-Landroid/view/accessibility/AccessibilityRecord;->mSourceWindowId:I
-Landroid/view/accessibility/AccessibilityRecord;->mText:Ljava/util/List;
-Landroid/view/accessibility/AccessibilityRecord;->mToIndex:I
-Landroid/view/accessibility/AccessibilityRecord;->PROPERTY_CHECKED:I
-Landroid/view/accessibility/AccessibilityRecord;->PROPERTY_ENABLED:I
-Landroid/view/accessibility/AccessibilityRecord;->PROPERTY_FULL_SCREEN:I
-Landroid/view/accessibility/AccessibilityRecord;->PROPERTY_IMPORTANT_FOR_ACCESSIBILITY:I
-Landroid/view/accessibility/AccessibilityRecord;->PROPERTY_PASSWORD:I
-Landroid/view/accessibility/AccessibilityRecord;->PROPERTY_SCROLLABLE:I
-Landroid/view/accessibility/AccessibilityRecord;->setBooleanProperty(IZ)V
-Landroid/view/accessibility/AccessibilityRecord;->setConnectionId(I)V
-Landroid/view/accessibility/AccessibilityRecord;->setImportantForAccessibility(Z)V
-Landroid/view/accessibility/AccessibilityRecord;->setSealed(Z)V
-Landroid/view/accessibility/AccessibilityRecord;->setSourceNodeId(J)V
-Landroid/view/accessibility/AccessibilityRecord;->setWindowId(I)V
-Landroid/view/accessibility/AccessibilityRecord;->singleBooleanPropertyToString(I)Ljava/lang/String;
-Landroid/view/accessibility/AccessibilityRecord;->sPool:Landroid/view/accessibility/AccessibilityRecord;
-Landroid/view/accessibility/AccessibilityRecord;->sPoolLock:Ljava/lang/Object;
-Landroid/view/accessibility/AccessibilityRecord;->sPoolSize:I
-Landroid/view/accessibility/AccessibilityRecord;->UNDEFINED:I
-Landroid/view/accessibility/AccessibilityRequestPreparer$RequestTypes;
-Landroid/view/accessibility/AccessibilityRequestPreparer$ViewAttachStateListener;
-Landroid/view/accessibility/AccessibilityRequestPreparer$ViewAttachStateListener;-><init>()V
-Landroid/view/accessibility/AccessibilityRequestPreparer;->mRequestTypes:I
-Landroid/view/accessibility/AccessibilityRequestPreparer;->mViewRef:Ljava/lang/ref/WeakReference;
-Landroid/view/accessibility/AccessibilityWindowInfo;-><init>()V
-Landroid/view/accessibility/AccessibilityWindowInfo;->ACTIVE_WINDOW_ID:I
-Landroid/view/accessibility/AccessibilityWindowInfo;->addChild(I)V
-Landroid/view/accessibility/AccessibilityWindowInfo;->ANY_WINDOW_ID:I
-Landroid/view/accessibility/AccessibilityWindowInfo;->BOOLEAN_PROPERTY_ACCESSIBILITY_FOCUSED:I
-Landroid/view/accessibility/AccessibilityWindowInfo;->BOOLEAN_PROPERTY_ACTIVE:I
-Landroid/view/accessibility/AccessibilityWindowInfo;->BOOLEAN_PROPERTY_FOCUSED:I
-Landroid/view/accessibility/AccessibilityWindowInfo;->BOOLEAN_PROPERTY_PICTURE_IN_PICTURE:I
-Landroid/view/accessibility/AccessibilityWindowInfo;->changed(Landroid/view/accessibility/AccessibilityWindowInfo;)Z
-Landroid/view/accessibility/AccessibilityWindowInfo;->clear()V
-Landroid/view/accessibility/AccessibilityWindowInfo;->DEBUG:Z
-Landroid/view/accessibility/AccessibilityWindowInfo;->differenceFrom(Landroid/view/accessibility/AccessibilityWindowInfo;)I
-Landroid/view/accessibility/AccessibilityWindowInfo;->getBooleanProperty(I)Z
-Landroid/view/accessibility/AccessibilityWindowInfo;->initFromParcel(Landroid/os/Parcel;)V
-Landroid/view/accessibility/AccessibilityWindowInfo;->mAnchorId:J
-Landroid/view/accessibility/AccessibilityWindowInfo;->MAX_POOL_SIZE:I
-Landroid/view/accessibility/AccessibilityWindowInfo;->mBooleanProperties:I
-Landroid/view/accessibility/AccessibilityWindowInfo;->mBoundsInScreen:Landroid/graphics/Rect;
-Landroid/view/accessibility/AccessibilityWindowInfo;->mChildIds:Landroid/util/LongArray;
-Landroid/view/accessibility/AccessibilityWindowInfo;->mConnectionId:I
-Landroid/view/accessibility/AccessibilityWindowInfo;->mId:I
-Landroid/view/accessibility/AccessibilityWindowInfo;->mLayer:I
-Landroid/view/accessibility/AccessibilityWindowInfo;->mParentId:I
-Landroid/view/accessibility/AccessibilityWindowInfo;->mTitle:Ljava/lang/CharSequence;
-Landroid/view/accessibility/AccessibilityWindowInfo;->mType:I
-Landroid/view/accessibility/AccessibilityWindowInfo;->PICTURE_IN_PICTURE_ACTION_REPLACER_WINDOW_ID:I
-Landroid/view/accessibility/AccessibilityWindowInfo;->setAccessibilityFocused(Z)V
-Landroid/view/accessibility/AccessibilityWindowInfo;->setActive(Z)V
-Landroid/view/accessibility/AccessibilityWindowInfo;->setAnchorId(J)V
-Landroid/view/accessibility/AccessibilityWindowInfo;->setBooleanProperty(IZ)V
-Landroid/view/accessibility/AccessibilityWindowInfo;->setBoundsInScreen(Landroid/graphics/Rect;)V
-Landroid/view/accessibility/AccessibilityWindowInfo;->setConnectionId(I)V
-Landroid/view/accessibility/AccessibilityWindowInfo;->setFocused(Z)V
-Landroid/view/accessibility/AccessibilityWindowInfo;->setId(I)V
-Landroid/view/accessibility/AccessibilityWindowInfo;->setLayer(I)V
-Landroid/view/accessibility/AccessibilityWindowInfo;->setParentId(I)V
-Landroid/view/accessibility/AccessibilityWindowInfo;->setPictureInPicture(Z)V
-Landroid/view/accessibility/AccessibilityWindowInfo;->setTitle(Ljava/lang/CharSequence;)V
-Landroid/view/accessibility/AccessibilityWindowInfo;->setType(I)V
-Landroid/view/accessibility/AccessibilityWindowInfo;->sNumInstancesInUse:Ljava/util/concurrent/atomic/AtomicInteger;
-Landroid/view/accessibility/AccessibilityWindowInfo;->sPool:Landroid/util/Pools$SynchronizedPool;
-Landroid/view/accessibility/AccessibilityWindowInfo;->typeToString(I)Ljava/lang/String;
-Landroid/view/accessibility/AccessibilityWindowInfo;->UNDEFINED_WINDOW_ID:I
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;-><init>(IIIIILjava/lang/String;)V
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->applyStyle(Landroid/view/accessibility/CaptioningManager$CaptionStyle;)Landroid/view/accessibility/CaptioningManager$CaptionStyle;
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->BLACK_ON_WHITE:Landroid/view/accessibility/CaptioningManager$CaptionStyle;
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->COLOR_NONE_OPAQUE:I
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->COLOR_UNSPECIFIED:I
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->DEFAULT:Landroid/view/accessibility/CaptioningManager$CaptionStyle;
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->DEFAULT_CUSTOM:Landroid/view/accessibility/CaptioningManager$CaptionStyle;
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->getCustomStyle(Landroid/content/ContentResolver;)Landroid/view/accessibility/CaptioningManager$CaptionStyle;
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->hasColor(I)Z
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->mHasBackgroundColor:Z
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->mHasEdgeColor:Z
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->mHasEdgeType:Z
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->mHasForegroundColor:Z
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->mHasWindowColor:Z
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->mParsedTypeface:Landroid/graphics/Typeface;
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->mRawTypeface:Ljava/lang/String;
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->PRESET_CUSTOM:I
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->UNSPECIFIED:Landroid/view/accessibility/CaptioningManager$CaptionStyle;
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->WHITE_ON_BLACK:Landroid/view/accessibility/CaptioningManager$CaptionStyle;
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->YELLOW_ON_BLACK:Landroid/view/accessibility/CaptioningManager$CaptionStyle;
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->YELLOW_ON_BLUE:Landroid/view/accessibility/CaptioningManager$CaptionStyle;
-Landroid/view/accessibility/CaptioningManager$MyContentObserver;
-Landroid/view/accessibility/CaptioningManager$MyContentObserver;-><init>(Landroid/os/Handler;)V
-Landroid/view/accessibility/CaptioningManager$MyContentObserver;->mHandler:Landroid/os/Handler;
-Landroid/view/accessibility/CaptioningManager;-><init>(Landroid/content/Context;)V
-Landroid/view/accessibility/CaptioningManager;->DEFAULT_ENABLED:I
-Landroid/view/accessibility/CaptioningManager;->DEFAULT_FONT_SCALE:F
-Landroid/view/accessibility/CaptioningManager;->DEFAULT_PRESET:I
-Landroid/view/accessibility/CaptioningManager;->getRawLocale()Ljava/lang/String;
-Landroid/view/accessibility/CaptioningManager;->getRawUserStyle()I
-Landroid/view/accessibility/CaptioningManager;->mContentObserver:Landroid/database/ContentObserver;
-Landroid/view/accessibility/CaptioningManager;->mContentResolver:Landroid/content/ContentResolver;
-Landroid/view/accessibility/CaptioningManager;->mListeners:Ljava/util/ArrayList;
-Landroid/view/accessibility/CaptioningManager;->mStyleChangedRunnable:Ljava/lang/Runnable;
-Landroid/view/accessibility/CaptioningManager;->notifyEnabledChanged()V
-Landroid/view/accessibility/CaptioningManager;->notifyFontScaleChanged()V
-Landroid/view/accessibility/CaptioningManager;->notifyLocaleChanged()V
-Landroid/view/accessibility/CaptioningManager;->notifyUserStyleChanged()V
-Landroid/view/accessibility/CaptioningManager;->registerObserver(Ljava/lang/String;)V
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub$Proxy;
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub$Proxy;->findAccessibilityNodeInfoByAccessibilityId(JLandroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;Landroid/os/Bundle;)V
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub$Proxy;->findAccessibilityNodeInfosByText(JLjava/lang/String;Landroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub$Proxy;->findAccessibilityNodeInfosByViewId(JLjava/lang/String;Landroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub$Proxy;->findFocus(JILandroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub$Proxy;->focusSearch(JILandroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub$Proxy;->performAccessibilityAction(JILandroid/os/Bundle;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJ)V
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub;
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub;-><init>()V
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/accessibility/IAccessibilityInteractionConnection;
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub;->TRANSACTION_findAccessibilityNodeInfoByAccessibilityId:I
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub;->TRANSACTION_findAccessibilityNodeInfosByText:I
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub;->TRANSACTION_findAccessibilityNodeInfosByViewId:I
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub;->TRANSACTION_findFocus:I
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub;->TRANSACTION_focusSearch:I
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub;->TRANSACTION_performAccessibilityAction:I
-Landroid/view/accessibility/IAccessibilityInteractionConnection;
-Landroid/view/accessibility/IAccessibilityInteractionConnection;->findAccessibilityNodeInfoByAccessibilityId(JLandroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;Landroid/os/Bundle;)V
-Landroid/view/accessibility/IAccessibilityInteractionConnection;->findAccessibilityNodeInfosByText(JLjava/lang/String;Landroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
-Landroid/view/accessibility/IAccessibilityInteractionConnection;->findAccessibilityNodeInfosByViewId(JLjava/lang/String;Landroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
-Landroid/view/accessibility/IAccessibilityInteractionConnection;->findFocus(JILandroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
-Landroid/view/accessibility/IAccessibilityInteractionConnection;->focusSearch(JILandroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
-Landroid/view/accessibility/IAccessibilityInteractionConnection;->performAccessibilityAction(JILandroid/os/Bundle;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJ)V
-Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback$Stub$Proxy;
-Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback$Stub$Proxy;->setFindAccessibilityNodeInfoResult(Landroid/view/accessibility/AccessibilityNodeInfo;I)V
-Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback$Stub$Proxy;->setFindAccessibilityNodeInfosResult(Ljava/util/List;I)V
-Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback$Stub$Proxy;->setPerformAccessibilityActionResult(ZI)V
-Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback$Stub;
-Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback$Stub;-><init>()V
-Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;
-Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback$Stub;->TRANSACTION_setFindAccessibilityNodeInfoResult:I
-Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback$Stub;->TRANSACTION_setFindAccessibilityNodeInfosResult:I
-Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback$Stub;->TRANSACTION_setPerformAccessibilityActionResult:I
-Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;
-Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;
-Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->addAccessibilityInteractionConnection(Landroid/view/IWindow;Landroid/view/accessibility/IAccessibilityInteractionConnection;Ljava/lang/String;I)I
-Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->addClient(Landroid/view/accessibility/IAccessibilityManagerClient;I)J
-Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->getEnabledAccessibilityServiceList(II)Ljava/util/List;
-Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->getInstalledAccessibilityServiceList(I)Ljava/util/List;
-Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->getWindowToken(II)Landroid/os/IBinder;
-Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->interrupt(I)V
-Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->notifyAccessibilityButtonClicked()V
-Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->notifyAccessibilityButtonVisibilityChanged(Z)V
-Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->performAccessibilityShortcut()V
-Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->registerUiTestAutomationService(Landroid/os/IBinder;Landroid/accessibilityservice/IAccessibilityServiceClient;Landroid/accessibilityservice/AccessibilityServiceInfo;I)V
-Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->removeAccessibilityInteractionConnection(Landroid/view/IWindow;)V
-Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->sendAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;I)V
-Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->sendFingerprintGesture(I)Z
-Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->setPictureInPictureActionReplacingConnection(Landroid/view/accessibility/IAccessibilityInteractionConnection;)V
-Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->temporaryEnableAccessibilityStateUntilKeyguardRemoved(Landroid/content/ComponentName;Z)V
-Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->unregisterUiTestAutomationService(Landroid/accessibilityservice/IAccessibilityServiceClient;)V
-Landroid/view/accessibility/IAccessibilityManager$Stub;
-Landroid/view/accessibility/IAccessibilityManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/accessibility/IAccessibilityManager$Stub;->TRANSACTION_addAccessibilityInteractionConnection:I
-Landroid/view/accessibility/IAccessibilityManager$Stub;->TRANSACTION_addClient:I
-Landroid/view/accessibility/IAccessibilityManager$Stub;->TRANSACTION_getEnabledAccessibilityServiceList:I
-Landroid/view/accessibility/IAccessibilityManager$Stub;->TRANSACTION_getInstalledAccessibilityServiceList:I
-Landroid/view/accessibility/IAccessibilityManager$Stub;->TRANSACTION_getWindowToken:I
-Landroid/view/accessibility/IAccessibilityManager$Stub;->TRANSACTION_interrupt:I
-Landroid/view/accessibility/IAccessibilityManager$Stub;->TRANSACTION_notifyAccessibilityButtonClicked:I
-Landroid/view/accessibility/IAccessibilityManager$Stub;->TRANSACTION_notifyAccessibilityButtonVisibilityChanged:I
-Landroid/view/accessibility/IAccessibilityManager$Stub;->TRANSACTION_performAccessibilityShortcut:I
-Landroid/view/accessibility/IAccessibilityManager$Stub;->TRANSACTION_registerUiTestAutomationService:I
-Landroid/view/accessibility/IAccessibilityManager$Stub;->TRANSACTION_removeAccessibilityInteractionConnection:I
-Landroid/view/accessibility/IAccessibilityManager$Stub;->TRANSACTION_sendAccessibilityEvent:I
-Landroid/view/accessibility/IAccessibilityManager$Stub;->TRANSACTION_sendFingerprintGesture:I
-Landroid/view/accessibility/IAccessibilityManager$Stub;->TRANSACTION_setPictureInPictureActionReplacingConnection:I
-Landroid/view/accessibility/IAccessibilityManager$Stub;->TRANSACTION_temporaryEnableAccessibilityStateUntilKeyguardRemoved:I
-Landroid/view/accessibility/IAccessibilityManager$Stub;->TRANSACTION_unregisterUiTestAutomationService:I
-Landroid/view/accessibility/IAccessibilityManager;
-Landroid/view/accessibility/IAccessibilityManager;->addAccessibilityInteractionConnection(Landroid/view/IWindow;Landroid/view/accessibility/IAccessibilityInteractionConnection;Ljava/lang/String;I)I
-Landroid/view/accessibility/IAccessibilityManager;->addClient(Landroid/view/accessibility/IAccessibilityManagerClient;I)J
-Landroid/view/accessibility/IAccessibilityManager;->getInstalledAccessibilityServiceList(I)Ljava/util/List;
-Landroid/view/accessibility/IAccessibilityManager;->getWindowToken(II)Landroid/os/IBinder;
-Landroid/view/accessibility/IAccessibilityManager;->interrupt(I)V
-Landroid/view/accessibility/IAccessibilityManager;->notifyAccessibilityButtonClicked()V
-Landroid/view/accessibility/IAccessibilityManager;->notifyAccessibilityButtonVisibilityChanged(Z)V
-Landroid/view/accessibility/IAccessibilityManager;->performAccessibilityShortcut()V
-Landroid/view/accessibility/IAccessibilityManager;->registerUiTestAutomationService(Landroid/os/IBinder;Landroid/accessibilityservice/IAccessibilityServiceClient;Landroid/accessibilityservice/AccessibilityServiceInfo;I)V
-Landroid/view/accessibility/IAccessibilityManager;->removeAccessibilityInteractionConnection(Landroid/view/IWindow;)V
-Landroid/view/accessibility/IAccessibilityManager;->sendAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;I)V
-Landroid/view/accessibility/IAccessibilityManager;->sendFingerprintGesture(I)Z
-Landroid/view/accessibility/IAccessibilityManager;->setPictureInPictureActionReplacingConnection(Landroid/view/accessibility/IAccessibilityInteractionConnection;)V
-Landroid/view/accessibility/IAccessibilityManager;->temporaryEnableAccessibilityStateUntilKeyguardRemoved(Landroid/content/ComponentName;Z)V
-Landroid/view/accessibility/IAccessibilityManager;->unregisterUiTestAutomationService(Landroid/accessibilityservice/IAccessibilityServiceClient;)V
-Landroid/view/accessibility/IAccessibilityManagerClient$Stub$Proxy;
-Landroid/view/accessibility/IAccessibilityManagerClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/accessibility/IAccessibilityManagerClient$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/accessibility/IAccessibilityManagerClient$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/accessibility/IAccessibilityManagerClient$Stub$Proxy;->notifyServicesStateChanged()V
-Landroid/view/accessibility/IAccessibilityManagerClient$Stub$Proxy;->setRelevantEventTypes(I)V
-Landroid/view/accessibility/IAccessibilityManagerClient$Stub$Proxy;->setState(I)V
-Landroid/view/accessibility/IAccessibilityManagerClient$Stub;
-Landroid/view/accessibility/IAccessibilityManagerClient$Stub;-><init>()V
-Landroid/view/accessibility/IAccessibilityManagerClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/accessibility/IAccessibilityManagerClient;
-Landroid/view/accessibility/IAccessibilityManagerClient$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/accessibility/IAccessibilityManagerClient$Stub;->TRANSACTION_notifyServicesStateChanged:I
-Landroid/view/accessibility/IAccessibilityManagerClient$Stub;->TRANSACTION_setRelevantEventTypes:I
-Landroid/view/accessibility/IAccessibilityManagerClient$Stub;->TRANSACTION_setState:I
-Landroid/view/accessibility/IAccessibilityManagerClient;
-Landroid/view/accessibility/IAccessibilityManagerClient;->notifyServicesStateChanged()V
-Landroid/view/accessibility/IAccessibilityManagerClient;->setRelevantEventTypes(I)V
-Landroid/view/accessibility/IAccessibilityManagerClient;->setState(I)V
-Landroid/view/AccessibilityInteractionController$AccessibilityNodePrefetcher;
-Landroid/view/AccessibilityInteractionController$AccessibilityNodePrefetcher;-><init>()V
-Landroid/view/AccessibilityInteractionController$AccessibilityNodePrefetcher;->enforceNodeTreeConsistent(Ljava/util/List;)V
-Landroid/view/AccessibilityInteractionController$AccessibilityNodePrefetcher;->MAX_ACCESSIBILITY_NODE_INFO_BATCH_SIZE:I
-Landroid/view/AccessibilityInteractionController$AccessibilityNodePrefetcher;->mTempViewList:Ljava/util/ArrayList;
-Landroid/view/AccessibilityInteractionController$AccessibilityNodePrefetcher;->prefetchAccessibilityNodeInfos(Landroid/view/View;IILjava/util/List;Landroid/os/Bundle;)V
-Landroid/view/AccessibilityInteractionController$AccessibilityNodePrefetcher;->prefetchDescendantsOfRealNode(Landroid/view/View;Ljava/util/List;)V
-Landroid/view/AccessibilityInteractionController$AccessibilityNodePrefetcher;->prefetchDescendantsOfVirtualNode(Landroid/view/accessibility/AccessibilityNodeInfo;Landroid/view/accessibility/AccessibilityNodeProvider;Ljava/util/List;)V
-Landroid/view/AccessibilityInteractionController$AccessibilityNodePrefetcher;->prefetchPredecessorsOfRealNode(Landroid/view/View;Ljava/util/List;)V
-Landroid/view/AccessibilityInteractionController$AccessibilityNodePrefetcher;->prefetchPredecessorsOfVirtualNode(Landroid/view/accessibility/AccessibilityNodeInfo;Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeProvider;Ljava/util/List;)V
-Landroid/view/AccessibilityInteractionController$AccessibilityNodePrefetcher;->prefetchSiblingsOfRealNode(Landroid/view/View;Ljava/util/List;)V
-Landroid/view/AccessibilityInteractionController$AccessibilityNodePrefetcher;->prefetchSiblingsOfVirtualNode(Landroid/view/accessibility/AccessibilityNodeInfo;Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeProvider;Ljava/util/List;)V
-Landroid/view/AccessibilityInteractionController$AddNodeInfosForViewId;
-Landroid/view/AccessibilityInteractionController$AddNodeInfosForViewId;-><init>()V
-Landroid/view/AccessibilityInteractionController$AddNodeInfosForViewId;->init(ILjava/util/List;)V
-Landroid/view/AccessibilityInteractionController$AddNodeInfosForViewId;->mInfos:Ljava/util/List;
-Landroid/view/AccessibilityInteractionController$AddNodeInfosForViewId;->mViewId:I
-Landroid/view/AccessibilityInteractionController$AddNodeInfosForViewId;->reset()V
-Landroid/view/AccessibilityInteractionController$AddNodeInfosForViewId;->test(Landroid/view/View;)Z
-Landroid/view/AccessibilityInteractionController$MessageHolder;
-Landroid/view/AccessibilityInteractionController$MessageHolder;-><init>(Landroid/os/Message;IJ)V
-Landroid/view/AccessibilityInteractionController$MessageHolder;->mInterrogatingPid:I
-Landroid/view/AccessibilityInteractionController$MessageHolder;->mInterrogatingTid:J
-Landroid/view/AccessibilityInteractionController$MessageHolder;->mMessage:Landroid/os/Message;
-Landroid/view/AccessibilityInteractionController$PrivateHandler;
-Landroid/view/AccessibilityInteractionController$PrivateHandler;-><init>(Landroid/os/Looper;)V
-Landroid/view/AccessibilityInteractionController$PrivateHandler;->MSG_APP_PREPARATION_FINISHED:I
-Landroid/view/AccessibilityInteractionController$PrivateHandler;->MSG_APP_PREPARATION_TIMEOUT:I
-Landroid/view/AccessibilityInteractionController$PrivateHandler;->MSG_FIND_ACCESSIBILITY_NODE_INFOS_BY_VIEW_ID:I
-Landroid/view/AccessibilityInteractionController$PrivateHandler;->MSG_FIND_ACCESSIBILITY_NODE_INFO_BY_ACCESSIBILITY_ID:I
-Landroid/view/AccessibilityInteractionController$PrivateHandler;->MSG_FIND_ACCESSIBILITY_NODE_INFO_BY_TEXT:I
-Landroid/view/AccessibilityInteractionController$PrivateHandler;->MSG_FIND_FOCUS:I
-Landroid/view/AccessibilityInteractionController$PrivateHandler;->MSG_FOCUS_SEARCH:I
-Landroid/view/AccessibilityInteractionController$PrivateHandler;->MSG_PERFORM_ACCESSIBILITY_ACTION:I
-Landroid/view/AccessibilityInteractionController$PrivateHandler;->MSG_PREPARE_FOR_EXTRA_DATA_REQUEST:I
-Landroid/view/AccessibilityInteractionController;
-Landroid/view/AccessibilityInteractionController;-><init>(Landroid/view/ViewRootImpl;)V
-Landroid/view/AccessibilityInteractionController;->adjustIsVisibleToUserIfNeeded(Landroid/view/accessibility/AccessibilityNodeInfo;Landroid/graphics/Region;)V
-Landroid/view/AccessibilityInteractionController;->adjustIsVisibleToUserIfNeeded(Ljava/util/List;Landroid/graphics/Region;)V
-Landroid/view/AccessibilityInteractionController;->applyAppScaleAndMagnificationSpecIfNeeded(Landroid/view/accessibility/AccessibilityNodeInfo;Landroid/view/MagnificationSpec;)V
-Landroid/view/AccessibilityInteractionController;->applyAppScaleAndMagnificationSpecIfNeeded(Ljava/util/List;Landroid/view/MagnificationSpec;)V
-Landroid/view/AccessibilityInteractionController;->CONSIDER_REQUEST_PREPARERS:Z
-Landroid/view/AccessibilityInteractionController;->ENFORCE_NODE_TREE_CONSISTENT:Z
-Landroid/view/AccessibilityInteractionController;->findAccessibilityNodeInfoByAccessibilityIdClientThread(JLandroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;Landroid/os/Bundle;)V
-Landroid/view/AccessibilityInteractionController;->findAccessibilityNodeInfoByAccessibilityIdUiThread(Landroid/os/Message;)V
-Landroid/view/AccessibilityInteractionController;->findAccessibilityNodeInfosByTextClientThread(JLjava/lang/String;Landroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
-Landroid/view/AccessibilityInteractionController;->findAccessibilityNodeInfosByTextUiThread(Landroid/os/Message;)V
-Landroid/view/AccessibilityInteractionController;->findAccessibilityNodeInfosByViewIdClientThread(JLjava/lang/String;Landroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
-Landroid/view/AccessibilityInteractionController;->findAccessibilityNodeInfosByViewIdUiThread(Landroid/os/Message;)V
-Landroid/view/AccessibilityInteractionController;->findFocusClientThread(JILandroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
-Landroid/view/AccessibilityInteractionController;->findFocusUiThread(Landroid/os/Message;)V
-Landroid/view/AccessibilityInteractionController;->findViewByAccessibilityId(I)Landroid/view/View;
-Landroid/view/AccessibilityInteractionController;->focusSearchClientThread(JILandroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
-Landroid/view/AccessibilityInteractionController;->focusSearchUiThread(Landroid/os/Message;)V
-Landroid/view/AccessibilityInteractionController;->handleClickableSpanActionUiThread(Landroid/view/View;ILandroid/os/Bundle;)Z
-Landroid/view/AccessibilityInteractionController;->holdOffMessageIfNeeded(Landroid/os/Message;IJ)Z
-Landroid/view/AccessibilityInteractionController;->IGNORE_REQUEST_PREPARERS:Z
-Landroid/view/AccessibilityInteractionController;->isShown(Landroid/view/View;)Z
-Landroid/view/AccessibilityInteractionController;->LOG_TAG:Ljava/lang/String;
-Landroid/view/AccessibilityInteractionController;->mA11yManager:Landroid/view/accessibility/AccessibilityManager;
-Landroid/view/AccessibilityInteractionController;->mActiveRequestPreparerId:I
-Landroid/view/AccessibilityInteractionController;->mAddNodeInfosForViewId:Landroid/view/AccessibilityInteractionController$AddNodeInfosForViewId;
-Landroid/view/AccessibilityInteractionController;->mHandler:Landroid/os/Handler;
-Landroid/view/AccessibilityInteractionController;->mLock:Ljava/lang/Object;
-Landroid/view/AccessibilityInteractionController;->mMessagesWaitingForRequestPreparer:Ljava/util/List;
-Landroid/view/AccessibilityInteractionController;->mMyLooperThreadId:J
-Landroid/view/AccessibilityInteractionController;->mMyProcessId:I
-Landroid/view/AccessibilityInteractionController;->mNumActiveRequestPreparers:I
-Landroid/view/AccessibilityInteractionController;->mPrefetcher:Landroid/view/AccessibilityInteractionController$AccessibilityNodePrefetcher;
-Landroid/view/AccessibilityInteractionController;->mTempAccessibilityNodeInfoList:Ljava/util/ArrayList;
-Landroid/view/AccessibilityInteractionController;->mTempArrayList:Ljava/util/ArrayList;
-Landroid/view/AccessibilityInteractionController;->mTempPoint:Landroid/graphics/Point;
-Landroid/view/AccessibilityInteractionController;->mTempRect1:Landroid/graphics/Rect;
-Landroid/view/AccessibilityInteractionController;->mTempRect2:Landroid/graphics/Rect;
-Landroid/view/AccessibilityInteractionController;->mTempRect:Landroid/graphics/Rect;
-Landroid/view/AccessibilityInteractionController;->mViewRootImpl:Landroid/view/ViewRootImpl;
-Landroid/view/AccessibilityInteractionController;->performAccessibilityActionClientThread(JILandroid/os/Bundle;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJ)V
-Landroid/view/AccessibilityInteractionController;->performAccessibilityActionUiThread(Landroid/os/Message;)V
-Landroid/view/AccessibilityInteractionController;->prepareForExtraDataRequestUiThread(Landroid/os/Message;)V
-Landroid/view/AccessibilityInteractionController;->queueMessageToHandleOncePrepared(Landroid/os/Message;IJ)V
-Landroid/view/AccessibilityInteractionController;->recycleMagnificationSpecAndRegionIfNeeded(Landroid/view/MagnificationSpec;Landroid/graphics/Region;)V
-Landroid/view/AccessibilityInteractionController;->requestPreparerDoneUiThread(Landroid/os/Message;)V
-Landroid/view/AccessibilityInteractionController;->requestPreparerTimeoutUiThread()V
-Landroid/view/AccessibilityInteractionController;->REQUEST_PREPARER_TIMEOUT_MS:J
-Landroid/view/AccessibilityInteractionController;->scheduleAllMessagesWaitingForRequestPreparerLocked()V
-Landroid/view/AccessibilityInteractionController;->scheduleMessage(Landroid/os/Message;IJZ)V
-Landroid/view/AccessibilityInteractionController;->shouldApplyAppScaleAndMagnificationSpec(FLandroid/view/MagnificationSpec;)Z
-Landroid/view/AccessibilityInteractionController;->updateInfoForViewportAndReturnFindNodeResult(Landroid/view/accessibility/AccessibilityNodeInfo;Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;ILandroid/view/MagnificationSpec;Landroid/graphics/Region;)V
-Landroid/view/AccessibilityInteractionController;->updateInfosForViewportAndReturnFindNodeResult(Ljava/util/List;Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;ILandroid/view/MagnificationSpec;Landroid/graphics/Region;)V
-Landroid/view/AccessibilityIterators$AbstractTextSegmentIterator;
-Landroid/view/AccessibilityIterators$AbstractTextSegmentIterator;->getRange(II)[I
-Landroid/view/AccessibilityIterators$AbstractTextSegmentIterator;->initialize(Ljava/lang/String;)V
-Landroid/view/AccessibilityIterators$AbstractTextSegmentIterator;->mSegment:[I
-Landroid/view/AccessibilityIterators$CharacterTextSegmentIterator;
-Landroid/view/AccessibilityIterators$CharacterTextSegmentIterator;-><init>(Ljava/util/Locale;)V
-Landroid/view/AccessibilityIterators$CharacterTextSegmentIterator;->following(I)[I
-Landroid/view/AccessibilityIterators$CharacterTextSegmentIterator;->getInstance(Ljava/util/Locale;)Landroid/view/AccessibilityIterators$CharacterTextSegmentIterator;
-Landroid/view/AccessibilityIterators$CharacterTextSegmentIterator;->initialize(Ljava/lang/String;)V
-Landroid/view/AccessibilityIterators$CharacterTextSegmentIterator;->mImpl:Ljava/text/BreakIterator;
-Landroid/view/AccessibilityIterators$CharacterTextSegmentIterator;->mLocale:Ljava/util/Locale;
-Landroid/view/AccessibilityIterators$CharacterTextSegmentIterator;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-Landroid/view/AccessibilityIterators$CharacterTextSegmentIterator;->onLocaleChanged(Ljava/util/Locale;)V
-Landroid/view/AccessibilityIterators$CharacterTextSegmentIterator;->preceding(I)[I
-Landroid/view/AccessibilityIterators$CharacterTextSegmentIterator;->sInstance:Landroid/view/AccessibilityIterators$CharacterTextSegmentIterator;
-Landroid/view/AccessibilityIterators$ParagraphTextSegmentIterator;
-Landroid/view/AccessibilityIterators$ParagraphTextSegmentIterator;-><init>()V
-Landroid/view/AccessibilityIterators$ParagraphTextSegmentIterator;->following(I)[I
-Landroid/view/AccessibilityIterators$ParagraphTextSegmentIterator;->getInstance()Landroid/view/AccessibilityIterators$ParagraphTextSegmentIterator;
-Landroid/view/AccessibilityIterators$ParagraphTextSegmentIterator;->isEndBoundary(I)Z
-Landroid/view/AccessibilityIterators$ParagraphTextSegmentIterator;->isStartBoundary(I)Z
-Landroid/view/AccessibilityIterators$ParagraphTextSegmentIterator;->preceding(I)[I
-Landroid/view/AccessibilityIterators$ParagraphTextSegmentIterator;->sInstance:Landroid/view/AccessibilityIterators$ParagraphTextSegmentIterator;
-Landroid/view/AccessibilityIterators$TextSegmentIterator;
-Landroid/view/AccessibilityIterators$TextSegmentIterator;->following(I)[I
-Landroid/view/AccessibilityIterators$TextSegmentIterator;->preceding(I)[I
-Landroid/view/AccessibilityIterators$WordTextSegmentIterator;
-Landroid/view/AccessibilityIterators$WordTextSegmentIterator;-><init>(Ljava/util/Locale;)V
-Landroid/view/AccessibilityIterators$WordTextSegmentIterator;->following(I)[I
-Landroid/view/AccessibilityIterators$WordTextSegmentIterator;->getInstance(Ljava/util/Locale;)Landroid/view/AccessibilityIterators$WordTextSegmentIterator;
-Landroid/view/AccessibilityIterators$WordTextSegmentIterator;->isEndBoundary(I)Z
-Landroid/view/AccessibilityIterators$WordTextSegmentIterator;->isLetterOrDigit(I)Z
-Landroid/view/AccessibilityIterators$WordTextSegmentIterator;->isStartBoundary(I)Z
-Landroid/view/AccessibilityIterators$WordTextSegmentIterator;->onLocaleChanged(Ljava/util/Locale;)V
-Landroid/view/AccessibilityIterators$WordTextSegmentIterator;->preceding(I)[I
-Landroid/view/AccessibilityIterators$WordTextSegmentIterator;->sInstance:Landroid/view/AccessibilityIterators$WordTextSegmentIterator;
-Landroid/view/AccessibilityIterators;
-Landroid/view/AccessibilityIterators;-><init>()V
-Landroid/view/ActionMode;->mTag:Ljava/lang/Object;
-Landroid/view/ActionMode;->mTitleOptionalHint:Z
-Landroid/view/ActionMode;->mType:I
-Landroid/view/ActionProvider$SubUiVisibilityListener;
-Landroid/view/ActionProvider$SubUiVisibilityListener;->onSubUiVisibilityChanged(Z)V
-Landroid/view/ActionProvider;->mSubUiVisibilityListener:Landroid/view/ActionProvider$SubUiVisibilityListener;
-Landroid/view/ActionProvider;->mVisibilityListener:Landroid/view/ActionProvider$VisibilityListener;
-Landroid/view/ActionProvider;->subUiVisibilityChanged(Z)V
-Landroid/view/ActionProvider;->TAG:Ljava/lang/String;
-Landroid/view/animation/AccelerateDecelerateInterpolator;->createNativeInterpolator()J
-Landroid/view/animation/AccelerateInterpolator;-><init>(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;)V
-Landroid/view/animation/AccelerateInterpolator;->createNativeInterpolator()J
-Landroid/view/animation/AccelerateInterpolator;->mDoubleFactor:D
-Landroid/view/animation/AccelerateInterpolator;->mFactor:F
-Landroid/view/animation/AlphaAnimation;->hasAlpha()Z
-Landroid/view/animation/AlphaAnimation;->mFromAlpha:F
-Landroid/view/animation/AlphaAnimation;->mToAlpha:F
-Landroid/view/animation/Animation$Description;->parseValue(Landroid/util/TypedValue;)Landroid/view/animation/Animation$Description;
-Landroid/view/animation/Animation$NoImagePreloadHolder;
-Landroid/view/animation/Animation$NoImagePreloadHolder;-><init>()V
-Landroid/view/animation/Animation$NoImagePreloadHolder;->USE_CLOSEGUARD:Z
-Landroid/view/animation/Animation;->fireAnimationEnd()V
-Landroid/view/animation/Animation;->fireAnimationRepeat()V
-Landroid/view/animation/Animation;->fireAnimationStart()V
-Landroid/view/animation/Animation;->getShowWallpaper()Z
-Landroid/view/animation/Animation;->guard:Ldalvik/system/CloseGuard;
-Landroid/view/animation/Animation;->hasAlpha()Z
-Landroid/view/animation/Animation;->isCanceled()Z
-Landroid/view/animation/Animation;->mBackgroundColor:I
-Landroid/view/animation/Animation;->mCycleFlip:Z
-Landroid/view/animation/Animation;->mDetachWallpaper:Z
-Landroid/view/animation/Animation;->mDuration:J
-Landroid/view/animation/Animation;->mEnded:Z
-Landroid/view/animation/Animation;->mFillAfter:Z
-Landroid/view/animation/Animation;->mFillBefore:Z
-Landroid/view/animation/Animation;->mFillEnabled:Z
-Landroid/view/animation/Animation;->mInitialized:Z
-Landroid/view/animation/Animation;->mInterpolator:Landroid/view/animation/Interpolator;
-Landroid/view/animation/Animation;->mListenerHandler:Landroid/os/Handler;
-Landroid/view/animation/Animation;->mMore:Z
-Landroid/view/animation/Animation;->mOneMoreTime:Z
-Landroid/view/animation/Animation;->mOnEnd:Ljava/lang/Runnable;
-Landroid/view/animation/Animation;->mOnRepeat:Ljava/lang/Runnable;
-Landroid/view/animation/Animation;->mOnStart:Ljava/lang/Runnable;
-Landroid/view/animation/Animation;->mRepeatCount:I
-Landroid/view/animation/Animation;->mRepeated:I
-Landroid/view/animation/Animation;->mRepeatMode:I
-Landroid/view/animation/Animation;->mScaleFactor:F
-Landroid/view/animation/Animation;->mShowWallpaper:Z
-Landroid/view/animation/Animation;->mStarted:Z
-Landroid/view/animation/Animation;->mStartOffset:J
-Landroid/view/animation/Animation;->mStartTime:J
-Landroid/view/animation/Animation;->mZAdjustment:I
-Landroid/view/animation/Animation;->setListenerHandler(Landroid/os/Handler;)V
-Landroid/view/animation/Animation;->setShowWallpaper(Z)V
-Landroid/view/animation/AnimationSet;->hasAlpha()Z
-Landroid/view/animation/AnimationSet;->init()V
-Landroid/view/animation/AnimationSet;->initializeInvalidateRegion(IIII)V
-Landroid/view/animation/AnimationSet;->mAnimations:Ljava/util/ArrayList;
-Landroid/view/animation/AnimationSet;->mDirty:Z
-Landroid/view/animation/AnimationSet;->mFlags:I
-Landroid/view/animation/AnimationSet;->mHasAlpha:Z
-Landroid/view/animation/AnimationSet;->mLastEnd:J
-Landroid/view/animation/AnimationSet;->mStoredOffsets:[J
-Landroid/view/animation/AnimationSet;->mTempTransformation:Landroid/view/animation/Transformation;
-Landroid/view/animation/AnimationSet;->PROPERTY_CHANGE_BOUNDS_MASK:I
-Landroid/view/animation/AnimationSet;->PROPERTY_DURATION_MASK:I
-Landroid/view/animation/AnimationSet;->PROPERTY_FILL_AFTER_MASK:I
-Landroid/view/animation/AnimationSet;->PROPERTY_FILL_BEFORE_MASK:I
-Landroid/view/animation/AnimationSet;->PROPERTY_MORPH_MATRIX_MASK:I
-Landroid/view/animation/AnimationSet;->PROPERTY_REPEAT_MODE_MASK:I
-Landroid/view/animation/AnimationSet;->PROPERTY_SHARE_INTERPOLATOR_MASK:I
-Landroid/view/animation/AnimationSet;->PROPERTY_START_OFFSET_MASK:I
-Landroid/view/animation/AnimationSet;->restoreChildrenStartOffset()V
-Landroid/view/animation/AnimationSet;->setFlag(IZ)V
-Landroid/view/animation/AnimationUtils$AnimationState;
-Landroid/view/animation/AnimationUtils$AnimationState;-><init>()V
-Landroid/view/animation/AnimationUtils$AnimationState;->animationClockLocked:Z
-Landroid/view/animation/AnimationUtils$AnimationState;->currentVsyncTimeMillis:J
-Landroid/view/animation/AnimationUtils$AnimationState;->lastReportedTimeMillis:J
-Landroid/view/animation/AnimationUtils;->createAnimationFromXml(Landroid/content/Context;Lorg/xmlpull/v1/XmlPullParser;)Landroid/view/animation/Animation;
-Landroid/view/animation/AnimationUtils;->createInterpolatorFromXml(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Lorg/xmlpull/v1/XmlPullParser;)Landroid/view/animation/Interpolator;
-Landroid/view/animation/AnimationUtils;->createLayoutAnimationFromXml(Landroid/content/Context;Lorg/xmlpull/v1/XmlPullParser;)Landroid/view/animation/LayoutAnimationController;
-Landroid/view/animation/AnimationUtils;->createLayoutAnimationFromXml(Landroid/content/Context;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/view/animation/LayoutAnimationController;
-Landroid/view/animation/AnimationUtils;->loadInterpolator(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;I)Landroid/view/animation/Interpolator;
-Landroid/view/animation/AnimationUtils;->sAnimationState:Ljava/lang/ThreadLocal;
-Landroid/view/animation/AnimationUtils;->SEQUENTIALLY:I
-Landroid/view/animation/AnimationUtils;->TOGETHER:I
-Landroid/view/animation/AnticipateInterpolator;-><init>(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;)V
-Landroid/view/animation/AnticipateInterpolator;->createNativeInterpolator()J
-Landroid/view/animation/AnticipateInterpolator;->mTension:F
-Landroid/view/animation/AnticipateOvershootInterpolator;-><init>(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;)V
-Landroid/view/animation/AnticipateOvershootInterpolator;->a(FF)F
-Landroid/view/animation/AnticipateOvershootInterpolator;->createNativeInterpolator()J
-Landroid/view/animation/AnticipateOvershootInterpolator;->mTension:F
-Landroid/view/animation/AnticipateOvershootInterpolator;->o(FF)F
-Landroid/view/animation/BaseInterpolator;->getChangingConfiguration()I
-Landroid/view/animation/BaseInterpolator;->mChangingConfiguration:I
-Landroid/view/animation/BaseInterpolator;->setChangingConfiguration(I)V
-Landroid/view/animation/BounceInterpolator;->bounce(F)F
-Landroid/view/animation/BounceInterpolator;->createNativeInterpolator()J
-Landroid/view/animation/ClipRectAnimation;
-Landroid/view/animation/ClipRectAnimation;-><init>(IIIIIIII)V
-Landroid/view/animation/ClipRectAnimation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/view/animation/ClipRectAnimation;-><init>(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-Landroid/view/animation/ClipRectAnimation;->mFromBottomType:I
-Landroid/view/animation/ClipRectAnimation;->mFromBottomValue:F
-Landroid/view/animation/ClipRectAnimation;->mFromLeftType:I
-Landroid/view/animation/ClipRectAnimation;->mFromLeftValue:F
-Landroid/view/animation/ClipRectAnimation;->mFromRect:Landroid/graphics/Rect;
-Landroid/view/animation/ClipRectAnimation;->mFromRightType:I
-Landroid/view/animation/ClipRectAnimation;->mFromRightValue:F
-Landroid/view/animation/ClipRectAnimation;->mFromTopType:I
-Landroid/view/animation/ClipRectAnimation;->mFromTopValue:F
-Landroid/view/animation/ClipRectAnimation;->mToBottomType:I
-Landroid/view/animation/ClipRectAnimation;->mToBottomValue:F
-Landroid/view/animation/ClipRectAnimation;->mToLeftType:I
-Landroid/view/animation/ClipRectAnimation;->mToLeftValue:F
-Landroid/view/animation/ClipRectAnimation;->mToRect:Landroid/graphics/Rect;
-Landroid/view/animation/ClipRectAnimation;->mToRightType:I
-Landroid/view/animation/ClipRectAnimation;->mToRightValue:F
-Landroid/view/animation/ClipRectAnimation;->mToTopType:I
-Landroid/view/animation/ClipRectAnimation;->mToTopValue:F
-Landroid/view/animation/CycleInterpolator;-><init>(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;)V
-Landroid/view/animation/CycleInterpolator;->createNativeInterpolator()J
-Landroid/view/animation/CycleInterpolator;->mCycles:F
-Landroid/view/animation/DecelerateInterpolator;-><init>(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;)V
-Landroid/view/animation/DecelerateInterpolator;->createNativeInterpolator()J
-Landroid/view/animation/DecelerateInterpolator;->mFactor:F
-Landroid/view/animation/GridLayoutAnimationController;->getTransformedColumnIndex(Landroid/view/animation/GridLayoutAnimationController$AnimationParameters;)I
-Landroid/view/animation/GridLayoutAnimationController;->getTransformedRowIndex(Landroid/view/animation/GridLayoutAnimationController$AnimationParameters;)I
-Landroid/view/animation/GridLayoutAnimationController;->mColumnDelay:F
-Landroid/view/animation/GridLayoutAnimationController;->mDirection:I
-Landroid/view/animation/GridLayoutAnimationController;->mDirectionPriority:I
-Landroid/view/animation/GridLayoutAnimationController;->mRowDelay:F
-Landroid/view/animation/LayoutAnimationController;->mDelay:F
-Landroid/view/animation/LayoutAnimationController;->mDuration:J
-Landroid/view/animation/LayoutAnimationController;->mMaxDelay:J
-Landroid/view/animation/LayoutAnimationController;->mOrder:I
-Landroid/view/animation/LinearInterpolator;->createNativeInterpolator()J
-Landroid/view/animation/OvershootInterpolator;-><init>(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;)V
-Landroid/view/animation/OvershootInterpolator;->createNativeInterpolator()J
-Landroid/view/animation/OvershootInterpolator;->mTension:F
-Landroid/view/animation/PathInterpolator;-><init>(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;)V
-Landroid/view/animation/PathInterpolator;->createNativeInterpolator()J
-Landroid/view/animation/PathInterpolator;->initCubic(FFFF)V
-Landroid/view/animation/PathInterpolator;->initPath(Landroid/graphics/Path;)V
-Landroid/view/animation/PathInterpolator;->initQuad(FF)V
-Landroid/view/animation/PathInterpolator;->mX:[F
-Landroid/view/animation/PathInterpolator;->mY:[F
-Landroid/view/animation/PathInterpolator;->parseInterpolatorFromTypeArray(Landroid/content/res/TypedArray;)V
-Landroid/view/animation/PathInterpolator;->PRECISION:F
-Landroid/view/animation/RotateAnimation;->initializePivotPoint()V
-Landroid/view/animation/RotateAnimation;->mFromDegrees:F
-Landroid/view/animation/RotateAnimation;->mPivotX:F
-Landroid/view/animation/RotateAnimation;->mPivotXType:I
-Landroid/view/animation/RotateAnimation;->mPivotXValue:F
-Landroid/view/animation/RotateAnimation;->mPivotY:F
-Landroid/view/animation/RotateAnimation;->mPivotYType:I
-Landroid/view/animation/RotateAnimation;->mPivotYValue:F
-Landroid/view/animation/RotateAnimation;->mToDegrees:F
-Landroid/view/animation/ScaleAnimation;->initializePivotPoint()V
-Landroid/view/animation/ScaleAnimation;->mFromX:F
-Landroid/view/animation/ScaleAnimation;->mFromXData:I
-Landroid/view/animation/ScaleAnimation;->mFromXType:I
-Landroid/view/animation/ScaleAnimation;->mFromY:F
-Landroid/view/animation/ScaleAnimation;->mFromYData:I
-Landroid/view/animation/ScaleAnimation;->mFromYType:I
-Landroid/view/animation/ScaleAnimation;->mPivotX:F
-Landroid/view/animation/ScaleAnimation;->mPivotXType:I
-Landroid/view/animation/ScaleAnimation;->mPivotXValue:F
-Landroid/view/animation/ScaleAnimation;->mPivotY:F
-Landroid/view/animation/ScaleAnimation;->mPivotYType:I
-Landroid/view/animation/ScaleAnimation;->mPivotYValue:F
-Landroid/view/animation/ScaleAnimation;->mResources:Landroid/content/res/Resources;
-Landroid/view/animation/ScaleAnimation;->mToX:F
-Landroid/view/animation/ScaleAnimation;->mToXData:I
-Landroid/view/animation/ScaleAnimation;->mToXType:I
-Landroid/view/animation/ScaleAnimation;->mToY:F
-Landroid/view/animation/ScaleAnimation;->mToYData:I
-Landroid/view/animation/ScaleAnimation;->mToYType:I
-Landroid/view/animation/ScaleAnimation;->resolveScale(FIIII)F
-Landroid/view/animation/Transformation;->getClipRect()Landroid/graphics/Rect;
-Landroid/view/animation/Transformation;->hasClipRect()Z
-Landroid/view/animation/Transformation;->mClipRect:Landroid/graphics/Rect;
-Landroid/view/animation/Transformation;->mHasClipRect:Z
-Landroid/view/animation/Transformation;->postCompose(Landroid/view/animation/Transformation;)V
-Landroid/view/animation/Transformation;->setClipRect(IIII)V
-Landroid/view/animation/Transformation;->setClipRect(Landroid/graphics/Rect;)V
-Landroid/view/animation/Transformation;->toShortString(Ljava/lang/StringBuilder;)V
-Landroid/view/animation/TranslateAnimation;->mFromXDelta:F
-Landroid/view/animation/TranslateAnimation;->mFromXType:I
-Landroid/view/animation/TranslateAnimation;->mFromYDelta:F
-Landroid/view/animation/TranslateAnimation;->mFromYType:I
-Landroid/view/animation/TranslateAnimation;->mToXDelta:F
-Landroid/view/animation/TranslateAnimation;->mToXType:I
-Landroid/view/animation/TranslateAnimation;->mToYDelta:F
-Landroid/view/animation/TranslateAnimation;->mToYType:I
-Landroid/view/animation/TranslateXAnimation;
-Landroid/view/animation/TranslateXAnimation;-><init>(FF)V
-Landroid/view/animation/TranslateXAnimation;-><init>(IFIF)V
-Landroid/view/animation/TranslateXAnimation;->mTmpValues:[F
-Landroid/view/animation/TranslateYAnimation;
-Landroid/view/animation/TranslateYAnimation;-><init>(FF)V
-Landroid/view/animation/TranslateYAnimation;->mTmpValues:[F
-Landroid/view/AppTransitionAnimationSpec;
-Landroid/view/AppTransitionAnimationSpec;-><init>(Landroid/os/Parcel;)V
-Landroid/view/AppTransitionAnimationSpec;->buffer:Landroid/graphics/GraphicBuffer;
-Landroid/view/AppTransitionAnimationSpec;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/view/AppTransitionAnimationSpec;->rect:Landroid/graphics/Rect;
-Landroid/view/AppTransitionAnimationSpec;->taskId:I
-Landroid/view/autofill/AutofillId;-><init>(II)V
-Landroid/view/autofill/AutofillId;-><init>(Landroid/os/Parcel;)V
-Landroid/view/autofill/AutofillId;->getViewId()I
-Landroid/view/autofill/AutofillId;->getVirtualChildId()I
-Landroid/view/autofill/AutofillId;->isVirtual()Z
-Landroid/view/autofill/AutofillId;->mViewId:I
-Landroid/view/autofill/AutofillId;->mVirtual:Z
-Landroid/view/autofill/AutofillId;->mVirtualId:I
-Landroid/view/autofill/AutofillManager$AutofillCallback$AutofillEventType;
-Landroid/view/autofill/AutofillManager$AutofillClient;
-Landroid/view/autofill/AutofillManager$AutofillClient;->autofillClientAuthenticate(ILandroid/content/IntentSender;Landroid/content/Intent;)V
-Landroid/view/autofill/AutofillManager$AutofillClient;->autofillClientDispatchUnhandledKey(Landroid/view/View;Landroid/view/KeyEvent;)V
-Landroid/view/autofill/AutofillManager$AutofillClient;->autofillClientFindViewByAccessibilityIdTraversal(II)Landroid/view/View;
-Landroid/view/autofill/AutofillManager$AutofillClient;->autofillClientFindViewByAutofillIdTraversal(Landroid/view/autofill/AutofillId;)Landroid/view/View;
-Landroid/view/autofill/AutofillManager$AutofillClient;->autofillClientFindViewsByAutofillIdTraversal([Landroid/view/autofill/AutofillId;)[Landroid/view/View;
-Landroid/view/autofill/AutofillManager$AutofillClient;->autofillClientGetActivityToken()Landroid/os/IBinder;
-Landroid/view/autofill/AutofillManager$AutofillClient;->autofillClientGetComponentName()Landroid/content/ComponentName;
-Landroid/view/autofill/AutofillManager$AutofillClient;->autofillClientGetNextAutofillId()Landroid/view/autofill/AutofillId;
-Landroid/view/autofill/AutofillManager$AutofillClient;->autofillClientGetViewVisibility([Landroid/view/autofill/AutofillId;)[Z
-Landroid/view/autofill/AutofillManager$AutofillClient;->autofillClientIsCompatibilityModeEnabled()Z
-Landroid/view/autofill/AutofillManager$AutofillClient;->autofillClientIsFillUiShowing()Z
-Landroid/view/autofill/AutofillManager$AutofillClient;->autofillClientIsVisibleForAutofill()Z
-Landroid/view/autofill/AutofillManager$AutofillClient;->autofillClientRequestHideFillUi()Z
-Landroid/view/autofill/AutofillManager$AutofillClient;->autofillClientRequestShowFillUi(Landroid/view/View;IILandroid/graphics/Rect;Landroid/view/autofill/IAutofillWindowPresenter;)Z
-Landroid/view/autofill/AutofillManager$AutofillClient;->autofillClientResetableStateAvailable()V
-Landroid/view/autofill/AutofillManager$AutofillClient;->autofillClientRunOnUiThread(Ljava/lang/Runnable;)V
-Landroid/view/autofill/AutofillManager$AutofillClient;->isDisablingEnterExitEventForAutofill()Z
-Landroid/view/autofill/AutofillManager$AutofillManagerClient;
-Landroid/view/autofill/AutofillManager$AutofillManagerClient;-><init>(Landroid/view/autofill/AutofillManager;)V
-Landroid/view/autofill/AutofillManager$AutofillManagerClient;->authenticate(IILandroid/content/IntentSender;Landroid/content/Intent;)V
-Landroid/view/autofill/AutofillManager$AutofillManagerClient;->autofill(ILjava/util/List;Ljava/util/List;)V
-Landroid/view/autofill/AutofillManager$AutofillManagerClient;->dispatchUnhandledKey(ILandroid/view/autofill/AutofillId;Landroid/view/KeyEvent;)V
-Landroid/view/autofill/AutofillManager$AutofillManagerClient;->mAfm:Ljava/lang/ref/WeakReference;
-Landroid/view/autofill/AutofillManager$AutofillManagerClient;->notifyNoFillUi(ILandroid/view/autofill/AutofillId;I)V
-Landroid/view/autofill/AutofillManager$AutofillManagerClient;->requestHideFillUi(ILandroid/view/autofill/AutofillId;)V
-Landroid/view/autofill/AutofillManager$AutofillManagerClient;->requestShowFillUi(ILandroid/view/autofill/AutofillId;IILandroid/graphics/Rect;Landroid/view/autofill/IAutofillWindowPresenter;)V
-Landroid/view/autofill/AutofillManager$AutofillManagerClient;->setSaveUiState(IZ)V
-Landroid/view/autofill/AutofillManager$AutofillManagerClient;->setSessionFinished(I)V
-Landroid/view/autofill/AutofillManager$AutofillManagerClient;->setState(I)V
-Landroid/view/autofill/AutofillManager$AutofillManagerClient;->setTrackedViews(I[Landroid/view/autofill/AutofillId;ZZ[Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillId;)V
-Landroid/view/autofill/AutofillManager$AutofillManagerClient;->startIntentSender(Landroid/content/IntentSender;Landroid/content/Intent;)V
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;-><init>()V
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;->findViewByAccessibilityId(IJ)Landroid/view/View;
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;->findVirtualNodeByAccessibilityId(Landroid/view/View;I)Landroid/view/accessibility/AccessibilityNodeInfo;
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;->getCompatServiceInfo()Landroid/accessibilityservice/AccessibilityServiceInfo;
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;->getEnabledAccessibilityServiceList(ILjava/util/List;)Ljava/util/List;
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;->getInstalledAccessibilityServiceList(Ljava/util/List;)Ljava/util/List;
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;->getRelevantEventTypes(I)I
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;->isEnabled(Z)Z
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;->isVirtualNode(I)Z
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;->mCompatServiceInfo:Landroid/accessibilityservice/AccessibilityServiceInfo;
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;->mFocusedBounds:Landroid/graphics/Rect;
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;->mFocusedNodeId:J
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;->mFocusedWindowId:I
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;->mTempBounds:Landroid/graphics/Rect;
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;->notifyValueChanged(IJ)V
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;->notifyViewClicked(IJ)V
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;->notifyViewEntered(IJLandroid/graphics/Rect;)Z
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;->notifyViewExited(IJ)V
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;->onAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;ZI)Landroid/view/accessibility/AccessibilityEvent;
-Landroid/view/autofill/AutofillManager$CompatibilityBridge;->updateTrackedViewsLocked()V
-Landroid/view/autofill/AutofillManager$TrackedViews;
-Landroid/view/autofill/AutofillManager$TrackedViews;-><init>([Landroid/view/autofill/AutofillId;)V
-Landroid/view/autofill/AutofillManager$TrackedViews;->addToSet(Landroid/util/ArraySet;Ljava/lang/Object;)Landroid/util/ArraySet;
-Landroid/view/autofill/AutofillManager$TrackedViews;->isInSet(Landroid/util/ArraySet;Ljava/lang/Object;)Z
-Landroid/view/autofill/AutofillManager$TrackedViews;->mInvisibleTrackedIds:Landroid/util/ArraySet;
-Landroid/view/autofill/AutofillManager$TrackedViews;->mVisibleTrackedIds:Landroid/util/ArraySet;
-Landroid/view/autofill/AutofillManager$TrackedViews;->notifyViewVisibilityChangedLocked(Landroid/view/autofill/AutofillId;Z)V
-Landroid/view/autofill/AutofillManager$TrackedViews;->onVisibleForAutofillChangedLocked()V
-Landroid/view/autofill/AutofillManager$TrackedViews;->removeFromSet(Landroid/util/ArraySet;Ljava/lang/Object;)Landroid/util/ArraySet;
-Landroid/view/autofill/AutofillManager;-><init>(Landroid/content/Context;Landroid/view/autofill/IAutoFillManager;)V
-Landroid/view/autofill/AutofillManager;->ACTION_START_SESSION:I
-Landroid/view/autofill/AutofillManager;->ACTION_VALUE_CHANGED:I
-Landroid/view/autofill/AutofillManager;->ACTION_VIEW_ENTERED:I
-Landroid/view/autofill/AutofillManager;->ACTION_VIEW_EXITED:I
-Landroid/view/autofill/AutofillManager;->addEnteredIdLocked(Landroid/view/autofill/AutofillId;)V
-Landroid/view/autofill/AutofillManager;->authenticate(IILandroid/content/IntentSender;Landroid/content/Intent;)V
-Landroid/view/autofill/AutofillManager;->AUTHENTICATION_ID_DATASET_ID_MASK:I
-Landroid/view/autofill/AutofillManager;->AUTHENTICATION_ID_DATASET_ID_SHIFT:I
-Landroid/view/autofill/AutofillManager;->AUTHENTICATION_ID_DATASET_ID_UNDEFINED:I
-Landroid/view/autofill/AutofillManager;->autofill(ILjava/util/List;Ljava/util/List;)V
-Landroid/view/autofill/AutofillManager;->cancelLocked()V
-Landroid/view/autofill/AutofillManager;->cancelSessionLocked()V
-Landroid/view/autofill/AutofillManager;->commitLocked()V
-Landroid/view/autofill/AutofillManager;->disableOwnedAutofillServices()V
-Landroid/view/autofill/AutofillManager;->dispatchUnhandledKey(ILandroid/view/autofill/AutofillId;Landroid/view/KeyEvent;)V
-Landroid/view/autofill/AutofillManager;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-Landroid/view/autofill/AutofillManager;->enableCompatibilityMode()V
-Landroid/view/autofill/AutofillManager;->ensureServiceClientAddedIfNeededLocked()V
-Landroid/view/autofill/AutofillManager;->EXTRA_RESTORE_SESSION_TOKEN:Ljava/lang/String;
-Landroid/view/autofill/AutofillManager;->FC_SERVICE_TIMEOUT:I
-Landroid/view/autofill/AutofillManager;->findView(Landroid/view/autofill/AutofillId;)Landroid/view/View;
-Landroid/view/autofill/AutofillManager;->finishSessionLocked()V
-Landroid/view/autofill/AutofillManager;->FLAG_ADD_CLIENT_DEBUG:I
-Landroid/view/autofill/AutofillManager;->FLAG_ADD_CLIENT_ENABLED:I
-Landroid/view/autofill/AutofillManager;->FLAG_ADD_CLIENT_VERBOSE:I
-Landroid/view/autofill/AutofillManager;->getAutofillId(Landroid/view/View;I)Landroid/view/autofill/AutofillId;
-Landroid/view/autofill/AutofillManager;->getClient()Landroid/view/autofill/AutofillManager$AutofillClient;
-Landroid/view/autofill/AutofillManager;->getDatasetIdFromAuthenticationId(I)I
-Landroid/view/autofill/AutofillManager;->getFillEventHistory()Landroid/service/autofill/FillEventHistory;
-Landroid/view/autofill/AutofillManager;->getRequestIdFromAuthenticationId(I)I
-Landroid/view/autofill/AutofillManager;->getStateAsString(I)Ljava/lang/String;
-Landroid/view/autofill/AutofillManager;->getStateAsStringLocked()Ljava/lang/String;
-Landroid/view/autofill/AutofillManager;->hasAutofillFeature()Z
-Landroid/view/autofill/AutofillManager;->isActiveLocked()Z
-Landroid/view/autofill/AutofillManager;->isAutofillUiShowing()Z
-Landroid/view/autofill/AutofillManager;->isClientDisablingEnterExitEvent()Z
-Landroid/view/autofill/AutofillManager;->isClientVisibleForAutofillLocked()Z
-Landroid/view/autofill/AutofillManager;->isCompatibilityModeEnabledLocked()Z
-Landroid/view/autofill/AutofillManager;->isDisabledByServiceLocked()Z
-Landroid/view/autofill/AutofillManager;->isFinishedLocked()Z
-Landroid/view/autofill/AutofillManager;->LAST_AUTOFILLED_DATA_TAG:Ljava/lang/String;
-Landroid/view/autofill/AutofillManager;->makeAuthenticationId(II)I
-Landroid/view/autofill/AutofillManager;->mCallback:Landroid/view/autofill/AutofillManager$AutofillCallback;
-Landroid/view/autofill/AutofillManager;->mCompatibilityBridge:Landroid/view/autofill/AutofillManager$CompatibilityBridge;
-Landroid/view/autofill/AutofillManager;->mContext:Landroid/content/Context;
-Landroid/view/autofill/AutofillManager;->mEnabled:Z
-Landroid/view/autofill/AutofillManager;->mEnteredIds:Landroid/util/ArraySet;
-Landroid/view/autofill/AutofillManager;->mFillableIds:Landroid/util/ArraySet;
-Landroid/view/autofill/AutofillManager;->mIdShownFillUi:Landroid/view/autofill/AutofillId;
-Landroid/view/autofill/AutofillManager;->mLastAutofilledData:Landroid/view/autofill/ParcelableMap;
-Landroid/view/autofill/AutofillManager;->mLock:Ljava/lang/Object;
-Landroid/view/autofill/AutofillManager;->mMetricsLogger:Lcom/android/internal/logging/MetricsLogger;
-Landroid/view/autofill/AutofillManager;->mOnInvisibleCalled:Z
-Landroid/view/autofill/AutofillManager;->mSaveOnFinish:Z
-Landroid/view/autofill/AutofillManager;->mSaveTriggerId:Landroid/view/autofill/AutofillId;
-Landroid/view/autofill/AutofillManager;->mService:Landroid/view/autofill/IAutoFillManager;
-Landroid/view/autofill/AutofillManager;->mServiceClient:Landroid/view/autofill/IAutoFillManagerClient;
-Landroid/view/autofill/AutofillManager;->mServiceClientCleaner:Lsun/misc/Cleaner;
-Landroid/view/autofill/AutofillManager;->mSessionId:I
-Landroid/view/autofill/AutofillManager;->mState:I
-Landroid/view/autofill/AutofillManager;->mTrackedViews:Landroid/view/autofill/AutofillManager$TrackedViews;
-Landroid/view/autofill/AutofillManager;->newLog(I)Landroid/metrics/LogMaker;
-Landroid/view/autofill/AutofillManager;->notifyNoFillUi(ILandroid/view/autofill/AutofillId;I)V
-Landroid/view/autofill/AutofillManager;->notifyViewClicked(Landroid/view/autofill/AutofillId;)V
-Landroid/view/autofill/AutofillManager;->notifyViewEntered(Landroid/view/View;I)V
-Landroid/view/autofill/AutofillManager;->notifyViewEntered(Landroid/view/View;ILandroid/graphics/Rect;I)V
-Landroid/view/autofill/AutofillManager;->notifyViewEnteredLocked(Landroid/view/View;I)Landroid/view/autofill/AutofillManager$AutofillCallback;
-Landroid/view/autofill/AutofillManager;->notifyViewEnteredLocked(Landroid/view/View;ILandroid/graphics/Rect;I)Landroid/view/autofill/AutofillManager$AutofillCallback;
-Landroid/view/autofill/AutofillManager;->notifyViewExitedLocked(Landroid/view/View;)V
-Landroid/view/autofill/AutofillManager;->notifyViewExitedLocked(Landroid/view/View;I)V
-Landroid/view/autofill/AutofillManager;->notifyViewVisibilityChangedInternal(Landroid/view/View;IZZ)V
-Landroid/view/autofill/AutofillManager;->NO_SESSION:I
-Landroid/view/autofill/AutofillManager;->onActivityFinishing()V
-Landroid/view/autofill/AutofillManager;->onAuthenticationResult(ILandroid/content/Intent;Landroid/view/View;)V
-Landroid/view/autofill/AutofillManager;->onCreate(Landroid/os/Bundle;)V
-Landroid/view/autofill/AutofillManager;->onInvisibleForAutofill()V
-Landroid/view/autofill/AutofillManager;->onPendingSaveUi(ILandroid/os/IBinder;)V
-Landroid/view/autofill/AutofillManager;->onSaveInstanceState(Landroid/os/Bundle;)V
-Landroid/view/autofill/AutofillManager;->onVisibleForAutofill()V
-Landroid/view/autofill/AutofillManager;->PENDING_UI_OPERATION_CANCEL:I
-Landroid/view/autofill/AutofillManager;->PENDING_UI_OPERATION_RESTORE:I
-Landroid/view/autofill/AutofillManager;->post(Ljava/lang/Runnable;)V
-Landroid/view/autofill/AutofillManager;->requestHideFillUi()V
-Landroid/view/autofill/AutofillManager;->requestHideFillUi(Landroid/view/autofill/AutofillId;Landroid/view/View;)V
-Landroid/view/autofill/AutofillManager;->requestHideFillUi(Landroid/view/autofill/AutofillId;Z)V
-Landroid/view/autofill/AutofillManager;->requestShowFillUi(ILandroid/view/autofill/AutofillId;IILandroid/graphics/Rect;Landroid/view/autofill/IAutofillWindowPresenter;)V
-Landroid/view/autofill/AutofillManager;->resetSessionLocked(Z)V
-Landroid/view/autofill/AutofillManager;->SESSION_ID_TAG:Ljava/lang/String;
-Landroid/view/autofill/AutofillManager;->setAutofilledIfValuesIs(Landroid/view/View;Landroid/view/autofill/AutofillValue;)V
-Landroid/view/autofill/AutofillManager;->setNotifyOnClickLocked(Landroid/view/autofill/AutofillId;Z)V
-Landroid/view/autofill/AutofillManager;->setSaveUiState(IZ)V
-Landroid/view/autofill/AutofillManager;->setSessionFinished(I)V
-Landroid/view/autofill/AutofillManager;->setState(I)V
-Landroid/view/autofill/AutofillManager;->setTrackedViews(I[Landroid/view/autofill/AutofillId;ZZ[Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillId;)V
-Landroid/view/autofill/AutofillManager;->SET_STATE_FLAG_DEBUG:I
-Landroid/view/autofill/AutofillManager;->SET_STATE_FLAG_ENABLED:I
-Landroid/view/autofill/AutofillManager;->SET_STATE_FLAG_RESET_CLIENT:I
-Landroid/view/autofill/AutofillManager;->SET_STATE_FLAG_RESET_SESSION:I
-Landroid/view/autofill/AutofillManager;->SET_STATE_FLAG_VERBOSE:I
-Landroid/view/autofill/AutofillManager;->shouldIgnoreViewEnteredLocked(Landroid/view/autofill/AutofillId;I)Z
-Landroid/view/autofill/AutofillManager;->startSessionLocked(Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;I)V
-Landroid/view/autofill/AutofillManager;->STATE_ACTIVE:I
-Landroid/view/autofill/AutofillManager;->STATE_DISABLED_BY_SERVICE:I
-Landroid/view/autofill/AutofillManager;->STATE_FINISHED:I
-Landroid/view/autofill/AutofillManager;->STATE_SHOWING_SAVE_UI:I
-Landroid/view/autofill/AutofillManager;->STATE_TAG:Ljava/lang/String;
-Landroid/view/autofill/AutofillManager;->STATE_UNKNOWN:I
-Landroid/view/autofill/AutofillManager;->STATE_UNKNOWN_COMPAT_MODE:I
-Landroid/view/autofill/AutofillManager;->TAG:Ljava/lang/String;
-Landroid/view/autofill/AutofillManager;->updateSessionLocked(Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;II)V
-Landroid/view/autofill/AutofillManagerInternal;
-Landroid/view/autofill/AutofillManagerInternal;-><init>()V
-Landroid/view/autofill/AutofillManagerInternal;->isCompatibilityModeRequested(Ljava/lang/String;JI)Z
-Landroid/view/autofill/AutofillManagerInternal;->onBackKeyPressed()V
-Landroid/view/autofill/AutofillPopupWindow$WindowPresenter;
-Landroid/view/autofill/AutofillPopupWindow$WindowPresenter;-><init>(Landroid/view/autofill/IAutofillWindowPresenter;)V
-Landroid/view/autofill/AutofillPopupWindow$WindowPresenter;->hide(Landroid/graphics/Rect;)V
-Landroid/view/autofill/AutofillPopupWindow$WindowPresenter;->mPresenter:Landroid/view/autofill/IAutofillWindowPresenter;
-Landroid/view/autofill/AutofillPopupWindow$WindowPresenter;->show(Landroid/view/WindowManager$LayoutParams;Landroid/graphics/Rect;ZI)V
-Landroid/view/autofill/AutofillPopupWindow;
-Landroid/view/autofill/AutofillPopupWindow;-><init>(Landroid/view/autofill/IAutofillWindowPresenter;)V
-Landroid/view/autofill/AutofillPopupWindow;->attachToAnchor(Landroid/view/View;III)V
-Landroid/view/autofill/AutofillPopupWindow;->detachFromAnchor()V
-Landroid/view/autofill/AutofillPopupWindow;->findDropDownPosition(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;IIIIIZ)Z
-Landroid/view/autofill/AutofillPopupWindow;->getDecorViewLayoutParams()Landroid/view/WindowManager$LayoutParams;
-Landroid/view/autofill/AutofillPopupWindow;->hasContentView()Z
-Landroid/view/autofill/AutofillPopupWindow;->hasDecorView()Z
-Landroid/view/autofill/AutofillPopupWindow;->mFullScreen:Z
-Landroid/view/autofill/AutofillPopupWindow;->mOnAttachStateChangeListener:Landroid/view/View$OnAttachStateChangeListener;
-Landroid/view/autofill/AutofillPopupWindow;->mWindowLayoutParams:Landroid/view/WindowManager$LayoutParams;
-Landroid/view/autofill/AutofillPopupWindow;->mWindowPresenter:Landroid/view/autofill/AutofillPopupWindow$WindowPresenter;
-Landroid/view/autofill/AutofillPopupWindow;->TAG:Ljava/lang/String;
-Landroid/view/autofill/AutofillPopupWindow;->update(Landroid/view/View;IIIILandroid/graphics/Rect;)V
-Landroid/view/autofill/AutofillPopupWindow;->update(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;)V
-Landroid/view/autofill/AutofillValue;-><init>(ILjava/lang/Object;)V
-Landroid/view/autofill/AutofillValue;-><init>(Landroid/os/Parcel;)V
-Landroid/view/autofill/AutofillValue;->isEmpty()Z
-Landroid/view/autofill/AutofillValue;->mType:I
-Landroid/view/autofill/AutofillValue;->mValue:Ljava/lang/Object;
-Landroid/view/autofill/Helper;
-Landroid/view/autofill/Helper;-><init>()V
-Landroid/view/autofill/Helper;->appendRedacted(Ljava/lang/StringBuilder;Ljava/lang/CharSequence;)V
-Landroid/view/autofill/Helper;->appendRedacted(Ljava/lang/StringBuilder;[Ljava/lang/String;)V
-Landroid/view/autofill/Helper;->getRedacted(Ljava/lang/CharSequence;)Ljava/lang/String;
-Landroid/view/autofill/Helper;->sDebug:Z
-Landroid/view/autofill/Helper;->sVerbose:Z
-Landroid/view/autofill/Helper;->toArray(Ljava/util/Collection;)[Landroid/view/autofill/AutofillId;
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->addClient(Landroid/view/autofill/IAutoFillManagerClient;I)I
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->cancelSession(II)V
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->disableOwnedAutofillServices(I)V
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->finishSession(II)V
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->getAutofillServiceComponentName()Landroid/content/ComponentName;
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->getAvailableFieldClassificationAlgorithms()[Ljava/lang/String;
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->getDefaultFieldClassificationAlgorithm()Ljava/lang/String;
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->getFillEventHistory()Landroid/service/autofill/FillEventHistory;
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->getUserData()Landroid/service/autofill/UserData;
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->getUserDataId()Ljava/lang/String;
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->isFieldClassificationEnabled()Z
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->isServiceEnabled(ILjava/lang/String;)Z
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->isServiceSupported(I)Z
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->onPendingSaveUi(ILandroid/os/IBinder;)V
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->removeClient(Landroid/view/autofill/IAutoFillManagerClient;I)V
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->restoreSession(ILandroid/os/IBinder;Landroid/os/IBinder;)Z
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->setAuthenticationResult(Landroid/os/Bundle;III)V
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->setAutofillFailure(ILjava/util/List;I)V
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->setHasCallback(IIZ)V
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->setUserData(Landroid/service/autofill/UserData;)V
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->startSession(Landroid/os/IBinder;Landroid/os/IBinder;Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;IZILandroid/content/ComponentName;Z)I
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->updateOrRestartSession(Landroid/os/IBinder;Landroid/os/IBinder;Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;IZILandroid/content/ComponentName;IIZ)I
-Landroid/view/autofill/IAutoFillManager$Stub$Proxy;->updateSession(ILandroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;III)V
-Landroid/view/autofill/IAutoFillManager$Stub;
-Landroid/view/autofill/IAutoFillManager$Stub;-><init>()V
-Landroid/view/autofill/IAutoFillManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_addClient:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_cancelSession:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_disableOwnedAutofillServices:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_finishSession:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_getAutofillServiceComponentName:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_getAvailableFieldClassificationAlgorithms:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_getDefaultFieldClassificationAlgorithm:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_getFillEventHistory:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_getUserData:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_getUserDataId:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_isFieldClassificationEnabled:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_isServiceEnabled:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_isServiceSupported:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_onPendingSaveUi:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_removeClient:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_restoreSession:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_setAuthenticationResult:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_setAutofillFailure:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_setHasCallback:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_setUserData:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_startSession:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_updateOrRestartSession:I
-Landroid/view/autofill/IAutoFillManager$Stub;->TRANSACTION_updateSession:I
-Landroid/view/autofill/IAutoFillManager;
-Landroid/view/autofill/IAutoFillManager;->addClient(Landroid/view/autofill/IAutoFillManagerClient;I)I
-Landroid/view/autofill/IAutoFillManager;->cancelSession(II)V
-Landroid/view/autofill/IAutoFillManager;->disableOwnedAutofillServices(I)V
-Landroid/view/autofill/IAutoFillManager;->finishSession(II)V
-Landroid/view/autofill/IAutoFillManager;->getAutofillServiceComponentName()Landroid/content/ComponentName;
-Landroid/view/autofill/IAutoFillManager;->getAvailableFieldClassificationAlgorithms()[Ljava/lang/String;
-Landroid/view/autofill/IAutoFillManager;->getDefaultFieldClassificationAlgorithm()Ljava/lang/String;
-Landroid/view/autofill/IAutoFillManager;->getFillEventHistory()Landroid/service/autofill/FillEventHistory;
-Landroid/view/autofill/IAutoFillManager;->getUserData()Landroid/service/autofill/UserData;
-Landroid/view/autofill/IAutoFillManager;->getUserDataId()Ljava/lang/String;
-Landroid/view/autofill/IAutoFillManager;->isFieldClassificationEnabled()Z
-Landroid/view/autofill/IAutoFillManager;->isServiceEnabled(ILjava/lang/String;)Z
-Landroid/view/autofill/IAutoFillManager;->isServiceSupported(I)Z
-Landroid/view/autofill/IAutoFillManager;->onPendingSaveUi(ILandroid/os/IBinder;)V
-Landroid/view/autofill/IAutoFillManager;->removeClient(Landroid/view/autofill/IAutoFillManagerClient;I)V
-Landroid/view/autofill/IAutoFillManager;->restoreSession(ILandroid/os/IBinder;Landroid/os/IBinder;)Z
-Landroid/view/autofill/IAutoFillManager;->setAuthenticationResult(Landroid/os/Bundle;III)V
-Landroid/view/autofill/IAutoFillManager;->setAutofillFailure(ILjava/util/List;I)V
-Landroid/view/autofill/IAutoFillManager;->setHasCallback(IIZ)V
-Landroid/view/autofill/IAutoFillManager;->setUserData(Landroid/service/autofill/UserData;)V
-Landroid/view/autofill/IAutoFillManager;->startSession(Landroid/os/IBinder;Landroid/os/IBinder;Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;IZILandroid/content/ComponentName;Z)I
-Landroid/view/autofill/IAutoFillManager;->updateOrRestartSession(Landroid/os/IBinder;Landroid/os/IBinder;Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;IZILandroid/content/ComponentName;IIZ)I
-Landroid/view/autofill/IAutoFillManager;->updateSession(ILandroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;III)V
-Landroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;
-Landroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->authenticate(IILandroid/content/IntentSender;Landroid/content/Intent;)V
-Landroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->autofill(ILjava/util/List;Ljava/util/List;)V
-Landroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->dispatchUnhandledKey(ILandroid/view/autofill/AutofillId;Landroid/view/KeyEvent;)V
-Landroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->notifyNoFillUi(ILandroid/view/autofill/AutofillId;I)V
-Landroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->requestHideFillUi(ILandroid/view/autofill/AutofillId;)V
-Landroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->requestShowFillUi(ILandroid/view/autofill/AutofillId;IILandroid/graphics/Rect;Landroid/view/autofill/IAutofillWindowPresenter;)V
-Landroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->setSaveUiState(IZ)V
-Landroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->setSessionFinished(I)V
-Landroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->setState(I)V
-Landroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->setTrackedViews(I[Landroid/view/autofill/AutofillId;ZZ[Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillId;)V
-Landroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->startIntentSender(Landroid/content/IntentSender;Landroid/content/Intent;)V
-Landroid/view/autofill/IAutoFillManagerClient$Stub;
-Landroid/view/autofill/IAutoFillManagerClient$Stub;-><init>()V
-Landroid/view/autofill/IAutoFillManagerClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/autofill/IAutoFillManagerClient;
-Landroid/view/autofill/IAutoFillManagerClient$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/autofill/IAutoFillManagerClient$Stub;->TRANSACTION_authenticate:I
-Landroid/view/autofill/IAutoFillManagerClient$Stub;->TRANSACTION_autofill:I
-Landroid/view/autofill/IAutoFillManagerClient$Stub;->TRANSACTION_dispatchUnhandledKey:I
-Landroid/view/autofill/IAutoFillManagerClient$Stub;->TRANSACTION_notifyNoFillUi:I
-Landroid/view/autofill/IAutoFillManagerClient$Stub;->TRANSACTION_requestHideFillUi:I
-Landroid/view/autofill/IAutoFillManagerClient$Stub;->TRANSACTION_requestShowFillUi:I
-Landroid/view/autofill/IAutoFillManagerClient$Stub;->TRANSACTION_setSaveUiState:I
-Landroid/view/autofill/IAutoFillManagerClient$Stub;->TRANSACTION_setSessionFinished:I
-Landroid/view/autofill/IAutoFillManagerClient$Stub;->TRANSACTION_setState:I
-Landroid/view/autofill/IAutoFillManagerClient$Stub;->TRANSACTION_setTrackedViews:I
-Landroid/view/autofill/IAutoFillManagerClient$Stub;->TRANSACTION_startIntentSender:I
-Landroid/view/autofill/IAutoFillManagerClient;
-Landroid/view/autofill/IAutoFillManagerClient;->authenticate(IILandroid/content/IntentSender;Landroid/content/Intent;)V
-Landroid/view/autofill/IAutoFillManagerClient;->autofill(ILjava/util/List;Ljava/util/List;)V
-Landroid/view/autofill/IAutoFillManagerClient;->dispatchUnhandledKey(ILandroid/view/autofill/AutofillId;Landroid/view/KeyEvent;)V
-Landroid/view/autofill/IAutoFillManagerClient;->notifyNoFillUi(ILandroid/view/autofill/AutofillId;I)V
-Landroid/view/autofill/IAutoFillManagerClient;->requestHideFillUi(ILandroid/view/autofill/AutofillId;)V
-Landroid/view/autofill/IAutoFillManagerClient;->requestShowFillUi(ILandroid/view/autofill/AutofillId;IILandroid/graphics/Rect;Landroid/view/autofill/IAutofillWindowPresenter;)V
-Landroid/view/autofill/IAutoFillManagerClient;->setSaveUiState(IZ)V
-Landroid/view/autofill/IAutoFillManagerClient;->setSessionFinished(I)V
-Landroid/view/autofill/IAutoFillManagerClient;->setState(I)V
-Landroid/view/autofill/IAutoFillManagerClient;->setTrackedViews(I[Landroid/view/autofill/AutofillId;ZZ[Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillId;)V
-Landroid/view/autofill/IAutoFillManagerClient;->startIntentSender(Landroid/content/IntentSender;Landroid/content/Intent;)V
-Landroid/view/autofill/IAutofillWindowPresenter$Stub$Proxy;
-Landroid/view/autofill/IAutofillWindowPresenter$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/autofill/IAutofillWindowPresenter$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/autofill/IAutofillWindowPresenter$Stub$Proxy;->hide(Landroid/graphics/Rect;)V
-Landroid/view/autofill/IAutofillWindowPresenter$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/autofill/IAutofillWindowPresenter$Stub$Proxy;->show(Landroid/view/WindowManager$LayoutParams;Landroid/graphics/Rect;ZI)V
-Landroid/view/autofill/IAutofillWindowPresenter$Stub;
-Landroid/view/autofill/IAutofillWindowPresenter$Stub;-><init>()V
-Landroid/view/autofill/IAutofillWindowPresenter$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/autofill/IAutofillWindowPresenter;
-Landroid/view/autofill/IAutofillWindowPresenter$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/autofill/IAutofillWindowPresenter$Stub;->TRANSACTION_hide:I
-Landroid/view/autofill/IAutofillWindowPresenter$Stub;->TRANSACTION_show:I
-Landroid/view/autofill/IAutofillWindowPresenter;
-Landroid/view/autofill/IAutofillWindowPresenter;->hide(Landroid/graphics/Rect;)V
-Landroid/view/autofill/IAutofillWindowPresenter;->show(Landroid/view/WindowManager$LayoutParams;Landroid/graphics/Rect;ZI)V
-Landroid/view/autofill/ParcelableMap;
-Landroid/view/autofill/ParcelableMap;-><init>(I)V
-Landroid/view/autofill/ParcelableMap;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/view/BatchedInputEventReceiver$BatchedInputRunnable;
-Landroid/view/BatchedInputEventReceiver$BatchedInputRunnable;-><init>()V
-Landroid/view/BatchedInputEventReceiver;
-Landroid/view/BatchedInputEventReceiver;->dispose()V
-Landroid/view/BatchedInputEventReceiver;->doConsumeBatchedInput(J)V
-Landroid/view/BatchedInputEventReceiver;->mBatchedInputRunnable:Landroid/view/BatchedInputEventReceiver$BatchedInputRunnable;
-Landroid/view/BatchedInputEventReceiver;->mBatchedInputScheduled:Z
-Landroid/view/BatchedInputEventReceiver;->mChoreographer:Landroid/view/Choreographer;
-Landroid/view/BatchedInputEventReceiver;->onBatchedInputEventPending()V
-Landroid/view/BatchedInputEventReceiver;->scheduleBatchedInput()V
-Landroid/view/BatchedInputEventReceiver;->unscheduleBatchedInput()V
-Landroid/view/Choreographer$CallbackQueue;
-Landroid/view/Choreographer$CallbackQueue;-><init>()V
-Landroid/view/Choreographer$CallbackQueue;->extractDueCallbacksLocked(J)Landroid/view/Choreographer$CallbackRecord;
-Landroid/view/Choreographer$CallbackQueue;->hasDueCallbacksLocked(J)Z
-Landroid/view/Choreographer$CallbackQueue;->mHead:Landroid/view/Choreographer$CallbackRecord;
-Landroid/view/Choreographer$CallbackQueue;->removeCallbacksLocked(Ljava/lang/Object;Ljava/lang/Object;)V
-Landroid/view/Choreographer$CallbackRecord;
-Landroid/view/Choreographer$CallbackRecord;-><init>()V
-Landroid/view/Choreographer$CallbackRecord;->action:Ljava/lang/Object;
-Landroid/view/Choreographer$CallbackRecord;->dueTime:J
-Landroid/view/Choreographer$CallbackRecord;->next:Landroid/view/Choreographer$CallbackRecord;
-Landroid/view/Choreographer$CallbackRecord;->token:Ljava/lang/Object;
-Landroid/view/Choreographer$FrameDisplayEventReceiver;
-Landroid/view/Choreographer$FrameDisplayEventReceiver;-><init>(Landroid/os/Looper;I)V
-Landroid/view/Choreographer$FrameDisplayEventReceiver;->mFrame:I
-Landroid/view/Choreographer$FrameDisplayEventReceiver;->mHavePendingVsync:Z
-Landroid/view/Choreographer$FrameDisplayEventReceiver;->mTimestampNanos:J
-Landroid/view/Choreographer$FrameDisplayEventReceiver;->onVsync(JII)V
-Landroid/view/Choreographer$FrameHandler;
-Landroid/view/Choreographer$FrameHandler;-><init>(Landroid/os/Looper;)V
-Landroid/view/Choreographer;-><init>(Landroid/os/Looper;I)V
-Landroid/view/Choreographer;->CALLBACK_COMMIT:I
-Landroid/view/Choreographer;->CALLBACK_INPUT:I
-Landroid/view/Choreographer;->CALLBACK_LAST:I
-Landroid/view/Choreographer;->CALLBACK_TRACE_TITLES:[Ljava/lang/String;
-Landroid/view/Choreographer;->CALLBACK_TRAVERSAL:I
-Landroid/view/Choreographer;->DEBUG_FRAMES:Z
-Landroid/view/Choreographer;->DEBUG_JANK:Z
-Landroid/view/Choreographer;->DEFAULT_FRAME_DELAY:J
-Landroid/view/Choreographer;->dispose()V
-Landroid/view/Choreographer;->doCallbacks(IJ)V
-Landroid/view/Choreographer;->doScheduleCallback(I)V
-Landroid/view/Choreographer;->doScheduleVsync()V
-Landroid/view/Choreographer;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-Landroid/view/Choreographer;->FRAME_CALLBACK_TOKEN:Ljava/lang/Object;
-Landroid/view/Choreographer;->getFrameIntervalNanos()J
-Landroid/view/Choreographer;->getLastFrameTimeNanos()J
-Landroid/view/Choreographer;->getMainThreadInstance()Landroid/view/Choreographer;
-Landroid/view/Choreographer;->getRefreshRate()F
-Landroid/view/Choreographer;->isRunningOnLooperThreadLocked()Z
-Landroid/view/Choreographer;->mCallbackPool:Landroid/view/Choreographer$CallbackRecord;
-Landroid/view/Choreographer;->mCallbacksRunning:Z
-Landroid/view/Choreographer;->mDebugPrintNextFrameTimeDelta:Z
-Landroid/view/Choreographer;->mFPSDivisor:I
-Landroid/view/Choreographer;->mFrameInfo:Landroid/view/FrameInfo;
-Landroid/view/Choreographer;->mFrameScheduled:Z
-Landroid/view/Choreographer;->mHandler:Landroid/view/Choreographer$FrameHandler;
-Landroid/view/Choreographer;->mLooper:Landroid/os/Looper;
-Landroid/view/Choreographer;->mMainInstance:Landroid/view/Choreographer;
-Landroid/view/Choreographer;->MSG_DO_FRAME:I
-Landroid/view/Choreographer;->MSG_DO_SCHEDULE_CALLBACK:I
-Landroid/view/Choreographer;->MSG_DO_SCHEDULE_VSYNC:I
-Landroid/view/Choreographer;->obtainCallbackLocked(JLjava/lang/Object;Ljava/lang/Object;)Landroid/view/Choreographer$CallbackRecord;
-Landroid/view/Choreographer;->postCallbackDelayedInternal(ILjava/lang/Object;Ljava/lang/Object;J)V
-Landroid/view/Choreographer;->recycleCallbackLocked(Landroid/view/Choreographer$CallbackRecord;)V
-Landroid/view/Choreographer;->releaseInstance()V
-Landroid/view/Choreographer;->removeCallbacksInternal(ILjava/lang/Object;Ljava/lang/Object;)V
-Landroid/view/Choreographer;->scheduleFrameLocked(J)V
-Landroid/view/Choreographer;->setFPSDivisor(I)V
-Landroid/view/Choreographer;->sFrameDelay:J
-Landroid/view/Choreographer;->SKIPPED_FRAME_WARNING_LIMIT:I
-Landroid/view/Choreographer;->sSfThreadInstance:Ljava/lang/ThreadLocal;
-Landroid/view/Choreographer;->sThreadInstance:Ljava/lang/ThreadLocal;
-Landroid/view/Choreographer;->subtractFrameDelay(J)J
-Landroid/view/Choreographer;->TAG:Ljava/lang/String;
-Landroid/view/Choreographer;->USE_FRAME_TIME:Z
-Landroid/view/ContextThemeWrapper;->getOverrideConfiguration()Landroid/content/res/Configuration;
-Landroid/view/ContextThemeWrapper;->getResourcesInternal()Landroid/content/res/Resources;
-Landroid/view/ContextThemeWrapper;->mOverrideConfiguration:Landroid/content/res/Configuration;
-Landroid/view/Display$HdrCapabilities$HdrType;
-Landroid/view/Display$HdrCapabilities;-><init>()V
-Landroid/view/Display$HdrCapabilities;-><init>(Landroid/os/Parcel;)V
-Landroid/view/Display$HdrCapabilities;->mMaxAverageLuminance:F
-Landroid/view/Display$HdrCapabilities;->mMaxLuminance:F
-Landroid/view/Display$HdrCapabilities;->mMinLuminance:F
-Landroid/view/Display$HdrCapabilities;->mSupportedHdrTypes:[I
-Landroid/view/Display$HdrCapabilities;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/view/Display$Mode;-><init>(Landroid/os/Parcel;)V
-Landroid/view/Display$Mode;->EMPTY_ARRAY:[Landroid/view/Display$Mode;
-Landroid/view/Display$Mode;->matches(IIF)Z
-Landroid/view/Display$Mode;->mHeight:I
-Landroid/view/Display$Mode;->mModeId:I
-Landroid/view/Display$Mode;->mRefreshRate:F
-Landroid/view/Display$Mode;->mWidth:I
-Landroid/view/Display;-><init>(Landroid/hardware/display/DisplayManagerGlobal;ILandroid/view/DisplayInfo;Landroid/content/res/Resources;)V
-Landroid/view/Display;-><init>(Landroid/hardware/display/DisplayManagerGlobal;ILandroid/view/DisplayInfo;Landroid/view/DisplayAdjustments;)V
-Landroid/view/Display;-><init>(Landroid/hardware/display/DisplayManagerGlobal;ILandroid/view/DisplayInfo;Landroid/view/DisplayAdjustments;Landroid/content/res/Resources;)V
-Landroid/view/Display;->CACHED_APP_SIZE_DURATION_MILLIS:I
-Landroid/view/Display;->COLOR_MODE_ADOBE_RGB:I
-Landroid/view/Display;->COLOR_MODE_BT601_525:I
-Landroid/view/Display;->COLOR_MODE_BT601_525_UNADJUSTED:I
-Landroid/view/Display;->COLOR_MODE_BT601_625:I
-Landroid/view/Display;->COLOR_MODE_BT601_625_UNADJUSTED:I
-Landroid/view/Display;->COLOR_MODE_BT709:I
-Landroid/view/Display;->COLOR_MODE_DCI_P3:I
-Landroid/view/Display;->COLOR_MODE_DEFAULT:I
-Landroid/view/Display;->COLOR_MODE_DISPLAY_P3:I
-Landroid/view/Display;->COLOR_MODE_INVALID:I
-Landroid/view/Display;->COLOR_MODE_SRGB:I
-Landroid/view/Display;->DEBUG:Z
-Landroid/view/Display;->FLAG_CAN_SHOW_WITH_INSECURE_KEYGUARD:I
-Landroid/view/Display;->FLAG_SCALING_DISABLED:I
-Landroid/view/Display;->getColorMode()I
-Landroid/view/Display;->getLayerStack()I
-Landroid/view/Display;->getOverscanInsets(Landroid/graphics/Rect;)V
-Landroid/view/Display;->getOwnerUid()I
-Landroid/view/Display;->getRemoveMode()I
-Landroid/view/Display;->getSupportedColorModes()[I
-Landroid/view/Display;->hasAccess(I)Z
-Landroid/view/Display;->hasAccess(III)Z
-Landroid/view/Display;->isDozeState(I)Z
-Landroid/view/Display;->isPublicPresentation()Z
-Landroid/view/Display;->isSuspendedState(I)Z
-Landroid/view/Display;->mAddress:Ljava/lang/String;
-Landroid/view/Display;->mCachedAppHeightCompat:I
-Landroid/view/Display;->mCachedAppWidthCompat:I
-Landroid/view/Display;->mDisplayAdjustments:Landroid/view/DisplayAdjustments;
-Landroid/view/Display;->mDisplayId:I
-Landroid/view/Display;->mFlags:I
-Landroid/view/Display;->mGlobal:Landroid/hardware/display/DisplayManagerGlobal;
-Landroid/view/Display;->mIsValid:Z
-Landroid/view/Display;->mLastCachedAppSizeUpdate:J
-Landroid/view/Display;->mLayerStack:I
-Landroid/view/Display;->mOwnerPackageName:Ljava/lang/String;
-Landroid/view/Display;->mOwnerUid:I
-Landroid/view/Display;->mResources:Landroid/content/res/Resources;
-Landroid/view/Display;->mTempMetrics:Landroid/util/DisplayMetrics;
-Landroid/view/Display;->mType:I
-Landroid/view/Display;->REMOVE_MODE_DESTROY_CONTENT:I
-Landroid/view/Display;->REMOVE_MODE_MOVE_CONTENT_TO_PRIMARY:I
-Landroid/view/Display;->requestColorMode(I)V
-Landroid/view/Display;->stateToString(I)Ljava/lang/String;
-Landroid/view/Display;->TAG:Ljava/lang/String;
-Landroid/view/Display;->typeToString(I)Ljava/lang/String;
-Landroid/view/Display;->TYPE_BUILT_IN:I
-Landroid/view/Display;->TYPE_OVERLAY:I
-Landroid/view/Display;->updateCachedAppSizeIfNeededLocked()V
-Landroid/view/Display;->updateDisplayInfoLocked()V
-Landroid/view/DisplayAdjustments;
-Landroid/view/DisplayAdjustments;-><init>(Landroid/content/res/Configuration;)V
-Landroid/view/DisplayAdjustments;-><init>(Landroid/view/DisplayAdjustments;)V
-Landroid/view/DisplayAdjustments;->DEFAULT_DISPLAY_ADJUSTMENTS:Landroid/view/DisplayAdjustments;
-Landroid/view/DisplayAdjustments;->getCompatibilityInfo()Landroid/content/res/CompatibilityInfo;
-Landroid/view/DisplayAdjustments;->mCompatInfo:Landroid/content/res/CompatibilityInfo;
-Landroid/view/DisplayAdjustments;->mConfiguration:Landroid/content/res/Configuration;
-Landroid/view/DisplayAdjustments;->setConfiguration(Landroid/content/res/Configuration;)V
-Landroid/view/DisplayCutout$ParcelableWrapper;
-Landroid/view/DisplayCutout$ParcelableWrapper;-><init>()V
-Landroid/view/DisplayCutout$ParcelableWrapper;-><init>(Landroid/view/DisplayCutout;)V
-Landroid/view/DisplayCutout$ParcelableWrapper;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/view/DisplayCutout$ParcelableWrapper;->get()Landroid/view/DisplayCutout;
-Landroid/view/DisplayCutout$ParcelableWrapper;->mInner:Landroid/view/DisplayCutout;
-Landroid/view/DisplayCutout$ParcelableWrapper;->readCutoutFromParcel(Landroid/os/Parcel;)Landroid/view/DisplayCutout;
-Landroid/view/DisplayCutout$ParcelableWrapper;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/view/DisplayCutout$ParcelableWrapper;->set(Landroid/view/DisplayCutout$ParcelableWrapper;)V
-Landroid/view/DisplayCutout$ParcelableWrapper;->set(Landroid/view/DisplayCutout;)V
-Landroid/view/DisplayCutout$ParcelableWrapper;->writeCutoutToParcel(Landroid/view/DisplayCutout;Landroid/os/Parcel;I)V
-Landroid/view/DisplayCutout;-><init>(Landroid/graphics/Rect;Landroid/graphics/Region;Z)V
-Landroid/view/DisplayCutout;->atLeastZero(I)I
-Landroid/view/DisplayCutout;->BOTTOM_MARKER:Ljava/lang/String;
-Landroid/view/DisplayCutout;->boundingRectsToRegion(Ljava/util/List;)Landroid/graphics/Region;
-Landroid/view/DisplayCutout;->CACHE_LOCK:Ljava/lang/Object;
-Landroid/view/DisplayCutout;->DP_MARKER:Ljava/lang/String;
-Landroid/view/DisplayCutout;->EMPTY_REGION:Landroid/graphics/Region;
-Landroid/view/DisplayCutout;->EMULATION_OVERLAY_CATEGORY:Ljava/lang/String;
-Landroid/view/DisplayCutout;->fromBoundingRect(IIII)Landroid/view/DisplayCutout;
-Landroid/view/DisplayCutout;->fromBounds(Landroid/graphics/Path;)Landroid/view/DisplayCutout;
-Landroid/view/DisplayCutout;->fromResources(Landroid/content/res/Resources;II)Landroid/view/DisplayCutout;
-Landroid/view/DisplayCutout;->fromSpec(Ljava/lang/String;IIF)Landroid/view/DisplayCutout;
-Landroid/view/DisplayCutout;->getBounds()Landroid/graphics/Region;
-Landroid/view/DisplayCutout;->getSafeInsets()Landroid/graphics/Rect;
-Landroid/view/DisplayCutout;->inset(IIII)Landroid/view/DisplayCutout;
-Landroid/view/DisplayCutout;->isBoundsEmpty()Z
-Landroid/view/DisplayCutout;->isEmpty()Z
-Landroid/view/DisplayCutout;->mBounds:Landroid/graphics/Region;
-Landroid/view/DisplayCutout;->mSafeInsets:Landroid/graphics/Rect;
-Landroid/view/DisplayCutout;->NO_CUTOUT:Landroid/view/DisplayCutout;
-Landroid/view/DisplayCutout;->NULL_PAIR:Landroid/util/Pair;
-Landroid/view/DisplayCutout;->pathAndDisplayCutoutFromSpec(Ljava/lang/String;IIF)Landroid/util/Pair;
-Landroid/view/DisplayCutout;->pathFromResources(Landroid/content/res/Resources;II)Landroid/graphics/Path;
-Landroid/view/DisplayCutout;->replaceSafeInsets(Landroid/graphics/Rect;)Landroid/view/DisplayCutout;
-Landroid/view/DisplayCutout;->RIGHT_MARKER:Ljava/lang/String;
-Landroid/view/DisplayCutout;->sCachedCutout:Landroid/util/Pair;
-Landroid/view/DisplayCutout;->sCachedDensity:F
-Landroid/view/DisplayCutout;->sCachedDisplayHeight:I
-Landroid/view/DisplayCutout;->sCachedDisplayWidth:I
-Landroid/view/DisplayCutout;->sCachedSpec:Ljava/lang/String;
-Landroid/view/DisplayCutout;->TAG:Ljava/lang/String;
-Landroid/view/DisplayCutout;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/view/DisplayCutout;->ZERO_RECT:Landroid/graphics/Rect;
-Landroid/view/DisplayCutoutProto;
-Landroid/view/DisplayCutoutProto;-><init>()V
-Landroid/view/DisplayCutoutProto;->BOUNDS:J
-Landroid/view/DisplayCutoutProto;->INSETS:J
-Landroid/view/DisplayEventReceiver;
-Landroid/view/DisplayEventReceiver;-><init>(Landroid/os/Looper;I)V
-Landroid/view/DisplayEventReceiver;->dispose()V
-Landroid/view/DisplayEventReceiver;->dispose(Z)V
-Landroid/view/DisplayEventReceiver;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/view/DisplayEventReceiver;->mMessageQueue:Landroid/os/MessageQueue;
-Landroid/view/DisplayEventReceiver;->nativeDispose(J)V
-Landroid/view/DisplayEventReceiver;->nativeInit(Ljava/lang/ref/WeakReference;Landroid/os/MessageQueue;I)J
-Landroid/view/DisplayEventReceiver;->nativeScheduleVsync(J)V
-Landroid/view/DisplayEventReceiver;->TAG:Ljava/lang/String;
-Landroid/view/DisplayEventReceiver;->VSYNC_SOURCE_APP:I
-Landroid/view/DisplayEventReceiver;->VSYNC_SOURCE_SURFACE_FLINGER:I
-Landroid/view/DisplayInfo;
-Landroid/view/DisplayInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/view/DisplayInfo;-><init>(Landroid/view/DisplayInfo;)V
-Landroid/view/DisplayInfo;->address:Ljava/lang/String;
-Landroid/view/DisplayInfo;->appHeight:I
-Landroid/view/DisplayInfo;->appVsyncOffsetNanos:J
-Landroid/view/DisplayInfo;->appWidth:I
-Landroid/view/DisplayInfo;->colorMode:I
-Landroid/view/DisplayInfo;->copyFrom(Landroid/view/DisplayInfo;)V
-Landroid/view/DisplayInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/view/DisplayInfo;->defaultModeId:I
-Landroid/view/DisplayInfo;->equals(Landroid/view/DisplayInfo;)Z
-Landroid/view/DisplayInfo;->findDefaultModeByRefreshRate(F)I
-Landroid/view/DisplayInfo;->findMode(I)Landroid/view/Display$Mode;
-Landroid/view/DisplayInfo;->flags:I
-Landroid/view/DisplayInfo;->flagsToString(I)Ljava/lang/String;
-Landroid/view/DisplayInfo;->getAppMetrics(Landroid/util/DisplayMetrics;)V
-Landroid/view/DisplayInfo;->getAppMetrics(Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Landroid/content/res/Configuration;)V
-Landroid/view/DisplayInfo;->getAppMetrics(Landroid/util/DisplayMetrics;Landroid/view/DisplayAdjustments;)V
-Landroid/view/DisplayInfo;->getDefaultMode()Landroid/view/Display$Mode;
-Landroid/view/DisplayInfo;->getDefaultRefreshRates()[F
-Landroid/view/DisplayInfo;->getLogicalMetrics(Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Landroid/content/res/Configuration;)V
-Landroid/view/DisplayInfo;->getMetricsWithSize(Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Landroid/content/res/Configuration;II)V
-Landroid/view/DisplayInfo;->getMode()Landroid/view/Display$Mode;
-Landroid/view/DisplayInfo;->getNaturalHeight()I
-Landroid/view/DisplayInfo;->getNaturalWidth()I
-Landroid/view/DisplayInfo;->hasAccess(I)Z
-Landroid/view/DisplayInfo;->hdrCapabilities:Landroid/view/Display$HdrCapabilities;
-Landroid/view/DisplayInfo;->isHdr()Z
-Landroid/view/DisplayInfo;->isWideColorGamut()Z
-Landroid/view/DisplayInfo;->largestNominalAppHeight:I
-Landroid/view/DisplayInfo;->largestNominalAppWidth:I
-Landroid/view/DisplayInfo;->layerStack:I
-Landroid/view/DisplayInfo;->logicalDensityDpi:I
-Landroid/view/DisplayInfo;->modeId:I
-Landroid/view/DisplayInfo;->name:Ljava/lang/String;
-Landroid/view/DisplayInfo;->overscanBottom:I
-Landroid/view/DisplayInfo;->overscanLeft:I
-Landroid/view/DisplayInfo;->overscanRight:I
-Landroid/view/DisplayInfo;->overscanTop:I
-Landroid/view/DisplayInfo;->ownerPackageName:Ljava/lang/String;
-Landroid/view/DisplayInfo;->ownerUid:I
-Landroid/view/DisplayInfo;->physicalXDpi:F
-Landroid/view/DisplayInfo;->physicalYDpi:F
-Landroid/view/DisplayInfo;->presentationDeadlineNanos:J
-Landroid/view/DisplayInfo;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/view/DisplayInfo;->removeMode:I
-Landroid/view/DisplayInfo;->smallestNominalAppHeight:I
-Landroid/view/DisplayInfo;->smallestNominalAppWidth:I
-Landroid/view/DisplayInfo;->state:I
-Landroid/view/DisplayInfo;->supportedColorModes:[I
-Landroid/view/DisplayInfo;->supportedModes:[Landroid/view/Display$Mode;
-Landroid/view/DisplayInfo;->type:I
-Landroid/view/DisplayInfo;->uniqueId:Ljava/lang/String;
-Landroid/view/DisplayInfo;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/view/DisplayInfoProto;
-Landroid/view/DisplayInfoProto;-><init>()V
-Landroid/view/DisplayInfoProto;->APP_HEIGHT:J
-Landroid/view/DisplayInfoProto;->APP_WIDTH:J
-Landroid/view/DisplayInfoProto;->LOGICAL_HEIGHT:J
-Landroid/view/DisplayInfoProto;->LOGICAL_WIDTH:J
-Landroid/view/DisplayInfoProto;->NAME:J
-Landroid/view/DisplayListCanvas;
-Landroid/view/DisplayListCanvas;-><init>(Landroid/view/RenderNode;II)V
-Landroid/view/DisplayListCanvas;->drawRoundRect(Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;)V
-Landroid/view/DisplayListCanvas;->drawTextureLayer(Landroid/view/TextureLayer;)V
-Landroid/view/DisplayListCanvas;->finishRecording()J
-Landroid/view/DisplayListCanvas;->insertInorderBarrier()V
-Landroid/view/DisplayListCanvas;->insertReorderBarrier()V
-Landroid/view/DisplayListCanvas;->isRecordingFor(Ljava/lang/Object;)Z
-Landroid/view/DisplayListCanvas;->MAX_BITMAP_SIZE:I
-Landroid/view/DisplayListCanvas;->mHeight:I
-Landroid/view/DisplayListCanvas;->mNode:Landroid/view/RenderNode;
-Landroid/view/DisplayListCanvas;->mWidth:I
-Landroid/view/DisplayListCanvas;->nCallDrawGLFunction(JJLjava/lang/Runnable;)V
-Landroid/view/DisplayListCanvas;->nCreateDisplayListCanvas(JII)J
-Landroid/view/DisplayListCanvas;->nDrawCircle(JJJJJ)V
-Landroid/view/DisplayListCanvas;->nDrawRenderNode(JJ)V
-Landroid/view/DisplayListCanvas;->nDrawRoundRect(JJJJJJJJ)V
-Landroid/view/DisplayListCanvas;->nDrawTextureLayer(JJ)V
-Landroid/view/DisplayListCanvas;->nFinishRecording(J)J
-Landroid/view/DisplayListCanvas;->nGetMaximumTextureHeight()I
-Landroid/view/DisplayListCanvas;->nGetMaximumTextureWidth()I
-Landroid/view/DisplayListCanvas;->nInsertReorderBarrier(JZ)V
-Landroid/view/DisplayListCanvas;->nResetDisplayListCanvas(JJII)V
-Landroid/view/DisplayListCanvas;->obtain(Landroid/view/RenderNode;II)Landroid/view/DisplayListCanvas;
-Landroid/view/DisplayListCanvas;->POOL_LIMIT:I
-Landroid/view/DisplayListCanvas;->recycle()V
-Landroid/view/DisplayListCanvas;->sPool:Landroid/util/Pools$SynchronizedPool;
-Landroid/view/DisplayListCanvas;->throwIfCannotDraw(Landroid/graphics/Bitmap;)V
-Landroid/view/DisplayProto;
-Landroid/view/DisplayProto;-><init>()V
-Landroid/view/DisplayProto;->COLOR_MODE_ADOBE_RGB:I
-Landroid/view/DisplayProto;->COLOR_MODE_BT601_525:I
-Landroid/view/DisplayProto;->COLOR_MODE_BT601_525_UNADJUSTED:I
-Landroid/view/DisplayProto;->COLOR_MODE_BT601_625:I
-Landroid/view/DisplayProto;->COLOR_MODE_BT601_625_UNADJUSTED:I
-Landroid/view/DisplayProto;->COLOR_MODE_BT709:I
-Landroid/view/DisplayProto;->COLOR_MODE_DCI_P3:I
-Landroid/view/DisplayProto;->COLOR_MODE_DISPLAY_P3:I
-Landroid/view/DisplayProto;->COLOR_MODE_INVALID:I
-Landroid/view/DisplayProto;->COLOR_MODE_SRGB:I
-Landroid/view/DragAndDropPermissions;-><init>(Landroid/os/Parcel;)V
-Landroid/view/DragAndDropPermissions;-><init>(Lcom/android/internal/view/IDragAndDropPermissions;)V
-Landroid/view/DragAndDropPermissions;->mDragAndDropPermissions:Lcom/android/internal/view/IDragAndDropPermissions;
-Landroid/view/DragAndDropPermissions;->mTransientToken:Landroid/os/IBinder;
-Landroid/view/DragAndDropPermissions;->obtain(Landroid/view/DragEvent;)Landroid/view/DragAndDropPermissions;
-Landroid/view/DragAndDropPermissions;->take(Landroid/os/IBinder;)Z
-Landroid/view/DragAndDropPermissions;->takeTransient()Z
-Landroid/view/DragEvent;-><init>()V
-Landroid/view/DragEvent;->getDragAndDropPermissions()Lcom/android/internal/view/IDragAndDropPermissions;
-Landroid/view/DragEvent;->gRecyclerLock:Ljava/lang/Object;
-Landroid/view/DragEvent;->gRecyclerTop:Landroid/view/DragEvent;
-Landroid/view/DragEvent;->gRecyclerUsed:I
-Landroid/view/DragEvent;->init(IFFLandroid/content/ClipDescription;Landroid/content/ClipData;Lcom/android/internal/view/IDragAndDropPermissions;Ljava/lang/Object;Z)V
-Landroid/view/DragEvent;->mAction:I
-Landroid/view/DragEvent;->MAX_RECYCLED:I
-Landroid/view/DragEvent;->mDragAndDropPermissions:Lcom/android/internal/view/IDragAndDropPermissions;
-Landroid/view/DragEvent;->mDragResult:Z
-Landroid/view/DragEvent;->mEventHandlerWasCalled:Z
-Landroid/view/DragEvent;->mLocalState:Ljava/lang/Object;
-Landroid/view/DragEvent;->mNext:Landroid/view/DragEvent;
-Landroid/view/DragEvent;->mRecycled:Z
-Landroid/view/DragEvent;->mRecycledLocation:Ljava/lang/RuntimeException;
-Landroid/view/DragEvent;->mX:F
-Landroid/view/DragEvent;->mY:F
-Landroid/view/DragEvent;->obtain()Landroid/view/DragEvent;
-Landroid/view/DragEvent;->obtain(IFFLjava/lang/Object;Landroid/content/ClipDescription;Landroid/content/ClipData;Lcom/android/internal/view/IDragAndDropPermissions;Z)Landroid/view/DragEvent;
-Landroid/view/DragEvent;->recycle()V
-Landroid/view/DragEvent;->TRACK_RECYCLED_LOCATION:Z
-Landroid/view/FallbackEventHandler;
-Landroid/view/FallbackEventHandler;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
-Landroid/view/FallbackEventHandler;->preDispatchKeyEvent(Landroid/view/KeyEvent;)V
-Landroid/view/FallbackEventHandler;->setView(Landroid/view/View;)V
-Landroid/view/FocusFinder$FocusSorter;
-Landroid/view/FocusFinder$FocusSorter;-><init>()V
-Landroid/view/FocusFinder$FocusSorter;->mLastPoolRect:I
-Landroid/view/FocusFinder$FocusSorter;->mRectByView:Ljava/util/HashMap;
-Landroid/view/FocusFinder$FocusSorter;->mRectPool:Ljava/util/ArrayList;
-Landroid/view/FocusFinder$FocusSorter;->mRtlMult:I
-Landroid/view/FocusFinder$FocusSorter;->mSidesComparator:Ljava/util/Comparator;
-Landroid/view/FocusFinder$FocusSorter;->mTopsComparator:Ljava/util/Comparator;
-Landroid/view/FocusFinder$FocusSorter;->sort([Landroid/view/View;IILandroid/view/ViewGroup;Z)V
-Landroid/view/FocusFinder$UserSpecifiedFocusComparator$NextFocusGetter;
-Landroid/view/FocusFinder$UserSpecifiedFocusComparator$NextFocusGetter;->get(Landroid/view/View;Landroid/view/View;)Landroid/view/View;
-Landroid/view/FocusFinder$UserSpecifiedFocusComparator;
-Landroid/view/FocusFinder$UserSpecifiedFocusComparator;-><init>(Landroid/view/FocusFinder$UserSpecifiedFocusComparator$NextFocusGetter;)V
-Landroid/view/FocusFinder$UserSpecifiedFocusComparator;->compare(Landroid/view/View;Landroid/view/View;)I
-Landroid/view/FocusFinder$UserSpecifiedFocusComparator;->mHeadsOfChains:Landroid/util/ArrayMap;
-Landroid/view/FocusFinder$UserSpecifiedFocusComparator;->mIsConnectedTo:Landroid/util/ArraySet;
-Landroid/view/FocusFinder$UserSpecifiedFocusComparator;->mNextFoci:Landroid/util/ArrayMap;
-Landroid/view/FocusFinder$UserSpecifiedFocusComparator;->mNextFocusGetter:Landroid/view/FocusFinder$UserSpecifiedFocusComparator$NextFocusGetter;
-Landroid/view/FocusFinder$UserSpecifiedFocusComparator;->mOriginalOrdinal:Landroid/util/ArrayMap;
-Landroid/view/FocusFinder$UserSpecifiedFocusComparator;->mRoot:Landroid/view/View;
-Landroid/view/FocusFinder$UserSpecifiedFocusComparator;->recycle()V
-Landroid/view/FocusFinder$UserSpecifiedFocusComparator;->setFocusables(Ljava/util/List;Landroid/view/View;)V
-Landroid/view/FocusFinder$UserSpecifiedFocusComparator;->setHeadOfChain(Landroid/view/View;)V
-Landroid/view/FocusFinder;-><init>()V
-Landroid/view/FocusFinder;->beamBeats(ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
-Landroid/view/FocusFinder;->beamsOverlap(ILandroid/graphics/Rect;Landroid/graphics/Rect;)Z
-Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;Landroid/graphics/Rect;I)Landroid/view/View;
-Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;Landroid/graphics/Rect;ILjava/util/ArrayList;)Landroid/view/View;
-Landroid/view/FocusFinder;->findNextFocusInAbsoluteDirection(Ljava/util/ArrayList;Landroid/view/ViewGroup;Landroid/view/View;Landroid/graphics/Rect;I)Landroid/view/View;
-Landroid/view/FocusFinder;->findNextFocusInRelativeDirection(Ljava/util/ArrayList;Landroid/view/ViewGroup;Landroid/view/View;Landroid/graphics/Rect;I)Landroid/view/View;
-Landroid/view/FocusFinder;->findNextKeyboardNavigationCluster(Landroid/view/View;Landroid/view/View;Ljava/util/List;I)Landroid/view/View;
-Landroid/view/FocusFinder;->findNextUserSpecifiedFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
-Landroid/view/FocusFinder;->findNextUserSpecifiedKeyboardNavigationCluster(Landroid/view/View;Landroid/view/View;I)Landroid/view/View;
-Landroid/view/FocusFinder;->getEffectiveRoot(Landroid/view/ViewGroup;Landroid/view/View;)Landroid/view/ViewGroup;
-Landroid/view/FocusFinder;->getNextFocusable(Landroid/view/View;Ljava/util/ArrayList;I)Landroid/view/View;
-Landroid/view/FocusFinder;->getNextKeyboardNavigationCluster(Landroid/view/View;Landroid/view/View;Ljava/util/List;I)Landroid/view/View;
-Landroid/view/FocusFinder;->getPreviousFocusable(Landroid/view/View;Ljava/util/ArrayList;I)Landroid/view/View;
-Landroid/view/FocusFinder;->getPreviousKeyboardNavigationCluster(Landroid/view/View;Landroid/view/View;Ljava/util/List;I)Landroid/view/View;
-Landroid/view/FocusFinder;->getWeightedDistanceFor(JJ)J
-Landroid/view/FocusFinder;->isBetterCandidate(ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
-Landroid/view/FocusFinder;->isCandidate(Landroid/graphics/Rect;Landroid/graphics/Rect;I)Z
-Landroid/view/FocusFinder;->isToDirectionOf(ILandroid/graphics/Rect;Landroid/graphics/Rect;)Z
-Landroid/view/FocusFinder;->isTouchCandidate(IILandroid/graphics/Rect;I)Z
-Landroid/view/FocusFinder;->isValidId(I)Z
-Landroid/view/FocusFinder;->majorAxisDistance(ILandroid/graphics/Rect;Landroid/graphics/Rect;)I
-Landroid/view/FocusFinder;->majorAxisDistanceRaw(ILandroid/graphics/Rect;Landroid/graphics/Rect;)I
-Landroid/view/FocusFinder;->majorAxisDistanceToFarEdge(ILandroid/graphics/Rect;Landroid/graphics/Rect;)I
-Landroid/view/FocusFinder;->majorAxisDistanceToFarEdgeRaw(ILandroid/graphics/Rect;Landroid/graphics/Rect;)I
-Landroid/view/FocusFinder;->mBestCandidateRect:Landroid/graphics/Rect;
-Landroid/view/FocusFinder;->mFocusedRect:Landroid/graphics/Rect;
-Landroid/view/FocusFinder;->mFocusSorter:Landroid/view/FocusFinder$FocusSorter;
-Landroid/view/FocusFinder;->minorAxisDistance(ILandroid/graphics/Rect;Landroid/graphics/Rect;)I
-Landroid/view/FocusFinder;->mOtherRect:Landroid/graphics/Rect;
-Landroid/view/FocusFinder;->mTempList:Ljava/util/ArrayList;
-Landroid/view/FocusFinder;->mUserSpecifiedClusterComparator:Landroid/view/FocusFinder$UserSpecifiedFocusComparator;
-Landroid/view/FocusFinder;->mUserSpecifiedFocusComparator:Landroid/view/FocusFinder$UserSpecifiedFocusComparator;
-Landroid/view/FocusFinder;->setFocusBottomRight(Landroid/view/ViewGroup;Landroid/graphics/Rect;)V
-Landroid/view/FocusFinder;->setFocusTopLeft(Landroid/view/ViewGroup;Landroid/graphics/Rect;)V
-Landroid/view/FocusFinder;->tlFocusFinder:Ljava/lang/ThreadLocal;
-Landroid/view/FocusFinderHelper;
-Landroid/view/FocusFinderHelper;-><init>(Landroid/view/FocusFinder;)V
-Landroid/view/FocusFinderHelper;->beamBeats(ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
-Landroid/view/FocusFinderHelper;->beamsOverlap(ILandroid/graphics/Rect;Landroid/graphics/Rect;)Z
-Landroid/view/FocusFinderHelper;->isBetterCandidate(ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
-Landroid/view/FocusFinderHelper;->isCandidate(Landroid/graphics/Rect;Landroid/graphics/Rect;I)Z
-Landroid/view/FocusFinderHelper;->majorAxisDistance(ILandroid/graphics/Rect;Landroid/graphics/Rect;)I
-Landroid/view/FocusFinderHelper;->majorAxisDistanceToFarEdge(ILandroid/graphics/Rect;Landroid/graphics/Rect;)I
-Landroid/view/FocusFinderHelper;->mFocusFinder:Landroid/view/FocusFinder;
-Landroid/view/FrameInfo$FrameInfoFlags;
-Landroid/view/FrameInfo;
-Landroid/view/FrameInfo;-><init>()V
-Landroid/view/FrameInfo;->addFlags(J)V
-Landroid/view/FrameInfo;->ANIMATION_START:I
-Landroid/view/FrameInfo;->DRAW_START:I
-Landroid/view/FrameInfo;->FLAGS:I
-Landroid/view/FrameInfo;->FLAG_WINDOW_LAYOUT_CHANGED:J
-Landroid/view/FrameInfo;->HANDLE_INPUT_START:I
-Landroid/view/FrameInfo;->INTENDED_VSYNC:I
-Landroid/view/FrameInfo;->markAnimationsStart()V
-Landroid/view/FrameInfo;->markDrawStart()V
-Landroid/view/FrameInfo;->markInputHandlingStart()V
-Landroid/view/FrameInfo;->markPerformTraversalsStart()V
-Landroid/view/FrameInfo;->mFrameInfo:[J
-Landroid/view/FrameInfo;->NEWEST_INPUT_EVENT:I
-Landroid/view/FrameInfo;->OLDEST_INPUT_EVENT:I
-Landroid/view/FrameInfo;->PERFORM_TRAVERSALS_START:I
-Landroid/view/FrameInfo;->setVsync(JJ)V
-Landroid/view/FrameInfo;->updateInputEventTime(JJ)V
-Landroid/view/FrameInfo;->VSYNC:I
-Landroid/view/FrameMetrics$Index;
-Landroid/view/FrameMetrics$Index;->ANIMATION_START:I
-Landroid/view/FrameMetrics$Index;->DRAW_START:I
-Landroid/view/FrameMetrics$Index;->FLAGS:I
-Landroid/view/FrameMetrics$Index;->FRAME_COMPLETED:I
-Landroid/view/FrameMetrics$Index;->FRAME_STATS_COUNT:I
-Landroid/view/FrameMetrics$Index;->HANDLE_INPUT_START:I
-Landroid/view/FrameMetrics$Index;->INTENDED_VSYNC:I
-Landroid/view/FrameMetrics$Index;->ISSUE_DRAW_COMMANDS_START:I
-Landroid/view/FrameMetrics$Index;->NEWEST_INPUT_EVENT:I
-Landroid/view/FrameMetrics$Index;->OLDEST_INPUT_EVENT:I
-Landroid/view/FrameMetrics$Index;->PERFORM_TRAVERSALS_START:I
-Landroid/view/FrameMetrics$Index;->SWAP_BUFFERS:I
-Landroid/view/FrameMetrics$Index;->SYNC_QUEUED:I
-Landroid/view/FrameMetrics$Index;->SYNC_START:I
-Landroid/view/FrameMetrics$Index;->VSYNC:I
-Landroid/view/FrameMetrics$Metric;
-Landroid/view/FrameMetrics;-><init>()V
-Landroid/view/FrameMetrics;->DURATIONS:[I
-Landroid/view/FrameMetrics;->FRAME_INFO_FLAG_FIRST_DRAW:I
-Landroid/view/FrameMetricsObserver;
-Landroid/view/FrameMetricsObserver;-><init>(Landroid/view/Window;Landroid/os/Looper;Landroid/view/Window$OnFrameMetricsAvailableListener;)V
-Landroid/view/FrameMetricsObserver;->mListener:Landroid/view/Window$OnFrameMetricsAvailableListener;
-Landroid/view/FrameMetricsObserver;->mNative:Lcom/android/internal/util/VirtualRefBasePtr;
-Landroid/view/FrameMetricsObserver;->mWindow:Ljava/lang/ref/WeakReference;
-Landroid/view/FrameStats;->mFramesPresentedTimeNano:[J
-Landroid/view/FrameStats;->mRefreshPeriodNano:J
-Landroid/view/GestureDetector$GestureHandler;
-Landroid/view/GestureDetector$GestureHandler;-><init>()V
-Landroid/view/GestureDetector$GestureHandler;-><init>(Landroid/os/Handler;)V
-Landroid/view/GestureDetector;->cancel()V
-Landroid/view/GestureDetector;->cancelTaps()V
-Landroid/view/GestureDetector;->dispatchLongPress()V
-Landroid/view/GestureDetector;->DOUBLE_TAP_MIN_TIME:I
-Landroid/view/GestureDetector;->DOUBLE_TAP_TIMEOUT:I
-Landroid/view/GestureDetector;->init(Landroid/content/Context;)V
-Landroid/view/GestureDetector;->isConsideredDoubleTap(Landroid/view/MotionEvent;Landroid/view/MotionEvent;Landroid/view/MotionEvent;)Z
-Landroid/view/GestureDetector;->LONG_PRESS:I
-Landroid/view/GestureDetector;->mAlwaysInBiggerTapRegion:Z
-Landroid/view/GestureDetector;->mContextClickListener:Landroid/view/GestureDetector$OnContextClickListener;
-Landroid/view/GestureDetector;->mCurrentDownEvent:Landroid/view/MotionEvent;
-Landroid/view/GestureDetector;->mDeferConfirmSingleTap:Z
-Landroid/view/GestureDetector;->mDoubleTapListener:Landroid/view/GestureDetector$OnDoubleTapListener;
-Landroid/view/GestureDetector;->mDoubleTapSlopSquare:I
-Landroid/view/GestureDetector;->mDoubleTapTouchSlopSquare:I
-Landroid/view/GestureDetector;->mDownFocusX:F
-Landroid/view/GestureDetector;->mDownFocusY:F
-Landroid/view/GestureDetector;->mHandler:Landroid/os/Handler;
-Landroid/view/GestureDetector;->mIgnoreNextUpEvent:Z
-Landroid/view/GestureDetector;->mInContextClick:Z
-Landroid/view/GestureDetector;->mInLongPress:Z
-Landroid/view/GestureDetector;->mInputEventConsistencyVerifier:Landroid/view/InputEventConsistencyVerifier;
-Landroid/view/GestureDetector;->mIsDoubleTapping:Z
-Landroid/view/GestureDetector;->mIsLongpressEnabled:Z
-Landroid/view/GestureDetector;->mLastFocusX:F
-Landroid/view/GestureDetector;->mLastFocusY:F
-Landroid/view/GestureDetector;->mMaximumFlingVelocity:I
-Landroid/view/GestureDetector;->mPreviousUpEvent:Landroid/view/MotionEvent;
-Landroid/view/GestureDetector;->mStillDown:Z
-Landroid/view/GestureDetector;->mVelocityTracker:Landroid/view/VelocityTracker;
-Landroid/view/GestureDetector;->SHOW_PRESS:I
-Landroid/view/GestureDetector;->TAP:I
-Landroid/view/GestureDetector;->TAP_TIMEOUT:I
-Landroid/view/GhostView;
-Landroid/view/GhostView;-><init>(Landroid/view/View;)V
-Landroid/view/GhostView;->calculateMatrix(Landroid/view/View;Landroid/view/ViewGroup;Landroid/graphics/Matrix;)V
-Landroid/view/GhostView;->copySize(Landroid/view/View;Landroid/view/View;)V
-Landroid/view/GhostView;->getGhost(Landroid/view/View;)Landroid/view/GhostView;
-Landroid/view/GhostView;->getInsertIndex(Landroid/view/ViewGroup;Ljava/util/ArrayList;Ljava/util/ArrayList;I)I
-Landroid/view/GhostView;->getParents(Landroid/view/View;Ljava/util/ArrayList;)V
-Landroid/view/GhostView;->insertIntoOverlay(Landroid/view/ViewGroup;Landroid/view/ViewGroup;Landroid/view/GhostView;Ljava/util/ArrayList;I)V
-Landroid/view/GhostView;->isGhostWrapper(Landroid/view/View;)Z
-Landroid/view/GhostView;->isOnTop(Landroid/view/View;Landroid/view/View;)Z
-Landroid/view/GhostView;->isOnTop(Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
-Landroid/view/GhostView;->mBeingMoved:Z
-Landroid/view/GhostView;->moveGhostViewsToTop(Landroid/view/ViewGroup;Ljava/util/ArrayList;)I
-Landroid/view/GhostView;->mReferences:I
-Landroid/view/GhostView;->mView:Landroid/view/View;
-Landroid/view/GhostView;->setMatrix(Landroid/graphics/Matrix;)V
-Landroid/view/Gravity;->toString(I)Ljava/lang/String;
-Landroid/view/HandlerActionQueue$HandlerAction;
-Landroid/view/HandlerActionQueue$HandlerAction;-><init>(Ljava/lang/Runnable;J)V
-Landroid/view/HandlerActionQueue$HandlerAction;->action:Ljava/lang/Runnable;
-Landroid/view/HandlerActionQueue$HandlerAction;->delay:J
-Landroid/view/HandlerActionQueue$HandlerAction;->matches(Ljava/lang/Runnable;)Z
-Landroid/view/HandlerActionQueue;
-Landroid/view/HandlerActionQueue;-><init>()V
-Landroid/view/HandlerActionQueue;->executeActions(Landroid/os/Handler;)V
-Landroid/view/HandlerActionQueue;->getDelay(I)J
-Landroid/view/HandlerActionQueue;->getRunnable(I)Ljava/lang/Runnable;
-Landroid/view/HandlerActionQueue;->mActions:[Landroid/view/HandlerActionQueue$HandlerAction;
-Landroid/view/HandlerActionQueue;->mCount:I
-Landroid/view/HandlerActionQueue;->post(Ljava/lang/Runnable;)V
-Landroid/view/HandlerActionQueue;->postDelayed(Ljava/lang/Runnable;J)V
-Landroid/view/HandlerActionQueue;->removeCallbacks(Ljava/lang/Runnable;)V
-Landroid/view/HandlerActionQueue;->size()I
-Landroid/view/HapticFeedbackConstants;-><init>()V
-Landroid/view/HapticFeedbackConstants;->CALENDAR_DATE:I
-Landroid/view/HapticFeedbackConstants;->CONFIRM:I
-Landroid/view/HapticFeedbackConstants;->DRAG_CROSSING:I
-Landroid/view/HapticFeedbackConstants;->EDGE_RELEASE:I
-Landroid/view/HapticFeedbackConstants;->EDGE_SQUEEZE:I
-Landroid/view/HapticFeedbackConstants;->ENTRY_BUMP:I
-Landroid/view/HapticFeedbackConstants;->GESTURE_END:I
-Landroid/view/HapticFeedbackConstants;->GESTURE_START:I
-Landroid/view/HapticFeedbackConstants;->REJECT:I
-Landroid/view/HapticFeedbackConstants;->SAFE_MODE_ENABLED:I
-Landroid/view/IApplicationToken$Stub$Proxy;
-Landroid/view/IApplicationToken$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/IApplicationToken$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IApplicationToken$Stub$Proxy;->getName()Ljava/lang/String;
-Landroid/view/IApplicationToken$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IApplicationToken$Stub;
-Landroid/view/IApplicationToken$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IApplicationToken;
-Landroid/view/IApplicationToken$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IApplicationToken$Stub;->TRANSACTION_getName:I
-Landroid/view/IApplicationToken;
-Landroid/view/IApplicationToken;->getName()Ljava/lang/String;
-Landroid/view/IAppTransitionAnimationSpecsFuture$Stub$Proxy;
-Landroid/view/IAppTransitionAnimationSpecsFuture$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/IAppTransitionAnimationSpecsFuture$Stub$Proxy;->get()[Landroid/view/AppTransitionAnimationSpec;
-Landroid/view/IAppTransitionAnimationSpecsFuture$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IAppTransitionAnimationSpecsFuture$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IAppTransitionAnimationSpecsFuture$Stub;
-Landroid/view/IAppTransitionAnimationSpecsFuture$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IAppTransitionAnimationSpecsFuture;
-Landroid/view/IAppTransitionAnimationSpecsFuture$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IAppTransitionAnimationSpecsFuture$Stub;->TRANSACTION_get:I
-Landroid/view/IAppTransitionAnimationSpecsFuture;
-Landroid/view/IAppTransitionAnimationSpecsFuture;->get()[Landroid/view/AppTransitionAnimationSpec;
-Landroid/view/IDockedStackListener$Stub$Proxy;
-Landroid/view/IDockedStackListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/IDockedStackListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IDockedStackListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IDockedStackListener$Stub$Proxy;->onAdjustedForImeChanged(ZJ)V
-Landroid/view/IDockedStackListener$Stub$Proxy;->onDividerVisibilityChanged(Z)V
-Landroid/view/IDockedStackListener$Stub$Proxy;->onDockedStackExistsChanged(Z)V
-Landroid/view/IDockedStackListener$Stub$Proxy;->onDockedStackMinimizedChanged(ZJZ)V
-Landroid/view/IDockedStackListener$Stub$Proxy;->onDockSideChanged(I)V
-Landroid/view/IDockedStackListener$Stub;
-Landroid/view/IDockedStackListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IDockedStackListener;
-Landroid/view/IDockedStackListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IDockedStackListener$Stub;->TRANSACTION_onAdjustedForImeChanged:I
-Landroid/view/IDockedStackListener$Stub;->TRANSACTION_onDividerVisibilityChanged:I
-Landroid/view/IDockedStackListener$Stub;->TRANSACTION_onDockedStackExistsChanged:I
-Landroid/view/IDockedStackListener$Stub;->TRANSACTION_onDockedStackMinimizedChanged:I
-Landroid/view/IDockedStackListener$Stub;->TRANSACTION_onDockSideChanged:I
-Landroid/view/IDockedStackListener;
-Landroid/view/IDockedStackListener;->onAdjustedForImeChanged(ZJ)V
-Landroid/view/IDockedStackListener;->onDividerVisibilityChanged(Z)V
-Landroid/view/IDockedStackListener;->onDockedStackExistsChanged(Z)V
-Landroid/view/IDockedStackListener;->onDockedStackMinimizedChanged(ZJZ)V
-Landroid/view/IDockedStackListener;->onDockSideChanged(I)V
-Landroid/view/IGraphicsStats$Stub$Proxy;
-Landroid/view/IGraphicsStats$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IGraphicsStats$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IGraphicsStats$Stub$Proxy;->requestBufferForProcess(Ljava/lang/String;Landroid/view/IGraphicsStatsCallback;)Landroid/os/ParcelFileDescriptor;
-Landroid/view/IGraphicsStats$Stub;
-Landroid/view/IGraphicsStats$Stub;-><init>()V
-Landroid/view/IGraphicsStats$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IGraphicsStats$Stub;->TRANSACTION_requestBufferForProcess:I
-Landroid/view/IGraphicsStats;
-Landroid/view/IGraphicsStats;->requestBufferForProcess(Ljava/lang/String;Landroid/view/IGraphicsStatsCallback;)Landroid/os/ParcelFileDescriptor;
-Landroid/view/IGraphicsStatsCallback$Stub$Proxy;
-Landroid/view/IGraphicsStatsCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/IGraphicsStatsCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IGraphicsStatsCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IGraphicsStatsCallback$Stub$Proxy;->onRotateGraphicsStatsBuffer()V
-Landroid/view/IGraphicsStatsCallback$Stub;
-Landroid/view/IGraphicsStatsCallback$Stub;-><init>()V
-Landroid/view/IGraphicsStatsCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IGraphicsStatsCallback;
-Landroid/view/IGraphicsStatsCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IGraphicsStatsCallback$Stub;->TRANSACTION_onRotateGraphicsStatsBuffer:I
-Landroid/view/IGraphicsStatsCallback;
-Landroid/view/IGraphicsStatsCallback;->onRotateGraphicsStatsBuffer()V
-Landroid/view/IInputFilter$Stub$Proxy;
-Landroid/view/IInputFilter$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/IInputFilter$Stub$Proxy;->filterInputEvent(Landroid/view/InputEvent;I)V
-Landroid/view/IInputFilter$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IInputFilter$Stub$Proxy;->install(Landroid/view/IInputFilterHost;)V
-Landroid/view/IInputFilter$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IInputFilter$Stub$Proxy;->uninstall()V
-Landroid/view/IInputFilter$Stub;
-Landroid/view/IInputFilter$Stub;-><init>()V
-Landroid/view/IInputFilter$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IInputFilter;
-Landroid/view/IInputFilter$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IInputFilter$Stub;->TRANSACTION_filterInputEvent:I
-Landroid/view/IInputFilter$Stub;->TRANSACTION_install:I
-Landroid/view/IInputFilter$Stub;->TRANSACTION_uninstall:I
-Landroid/view/IInputFilter;
-Landroid/view/IInputFilter;->filterInputEvent(Landroid/view/InputEvent;I)V
-Landroid/view/IInputFilter;->install(Landroid/view/IInputFilterHost;)V
-Landroid/view/IInputFilter;->uninstall()V
-Landroid/view/IInputFilterHost$Stub$Proxy;
-Landroid/view/IInputFilterHost$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/IInputFilterHost$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IInputFilterHost$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IInputFilterHost$Stub$Proxy;->sendInputEvent(Landroid/view/InputEvent;I)V
-Landroid/view/IInputFilterHost$Stub;
-Landroid/view/IInputFilterHost$Stub;-><init>()V
-Landroid/view/IInputFilterHost$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IInputFilterHost;
-Landroid/view/IInputFilterHost$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IInputFilterHost$Stub;->TRANSACTION_sendInputEvent:I
-Landroid/view/IInputFilterHost;
-Landroid/view/IInputFilterHost;->sendInputEvent(Landroid/view/InputEvent;I)V
-Landroid/view/InputChannel;
-Landroid/view/InputChannel;->DEBUG:Z
-Landroid/view/InputChannel;->dispose()V
-Landroid/view/InputChannel;->dup()Landroid/view/InputChannel;
-Landroid/view/InputChannel;->getName()Ljava/lang/String;
-Landroid/view/InputChannel;->nativeDispose(Z)V
-Landroid/view/InputChannel;->nativeDup(Landroid/view/InputChannel;)V
-Landroid/view/InputChannel;->nativeGetName()Ljava/lang/String;
-Landroid/view/InputChannel;->nativeOpenInputChannelPair(Ljava/lang/String;)[Landroid/view/InputChannel;
-Landroid/view/InputChannel;->nativeReadFromParcel(Landroid/os/Parcel;)V
-Landroid/view/InputChannel;->nativeTransferTo(Landroid/view/InputChannel;)V
-Landroid/view/InputChannel;->nativeWriteToParcel(Landroid/os/Parcel;)V
-Landroid/view/InputChannel;->openInputChannelPair(Ljava/lang/String;)[Landroid/view/InputChannel;
-Landroid/view/InputChannel;->readFromParcel(Landroid/os/Parcel;)V
-Landroid/view/InputChannel;->TAG:Ljava/lang/String;
-Landroid/view/InputChannel;->transferTo(Landroid/view/InputChannel;)V
-Landroid/view/InputDevice$MotionRange;-><init>(IIFFFFF)V
-Landroid/view/InputDevice$MotionRange;->mAxis:I
-Landroid/view/InputDevice$MotionRange;->mFlat:F
-Landroid/view/InputDevice$MotionRange;->mFuzz:F
-Landroid/view/InputDevice$MotionRange;->mMax:F
-Landroid/view/InputDevice$MotionRange;->mMin:F
-Landroid/view/InputDevice$MotionRange;->mResolution:F
-Landroid/view/InputDevice$MotionRange;->mSource:I
-Landroid/view/InputDevice;-><init>(Landroid/os/Parcel;)V
-Landroid/view/InputDevice;->appendSourceDescriptionIfApplicable(Ljava/lang/StringBuilder;ILjava/lang/String;)V
-Landroid/view/InputDevice;->getGeneration()I
-Landroid/view/InputDevice;->getIdentifier()Landroid/hardware/input/InputDeviceIdentifier;
-Landroid/view/InputDevice;->hasButtonUnderPad()Z
-Landroid/view/InputDevice;->isFullKeyboard()Z
-Landroid/view/InputDevice;->MAX_RANGES:I
-Landroid/view/InputDevice;->mControllerNumber:I
-Landroid/view/InputDevice;->mDescriptor:Ljava/lang/String;
-Landroid/view/InputDevice;->mGeneration:I
-Landroid/view/InputDevice;->mHasButtonUnderPad:Z
-Landroid/view/InputDevice;->mHasMicrophone:Z
-Landroid/view/InputDevice;->mHasVibrator:Z
-Landroid/view/InputDevice;->mId:I
-Landroid/view/InputDevice;->mIdentifier:Landroid/hardware/input/InputDeviceIdentifier;
-Landroid/view/InputDevice;->mKeyboardType:I
-Landroid/view/InputDevice;->mKeyCharacterMap:Landroid/view/KeyCharacterMap;
-Landroid/view/InputDevice;->mMotionRanges:Ljava/util/ArrayList;
-Landroid/view/InputDevice;->mName:Ljava/lang/String;
-Landroid/view/InputDevice;->mProductId:I
-Landroid/view/InputDevice;->mSources:I
-Landroid/view/InputDevice;->mVendorId:I
-Landroid/view/InputDevice;->mVibrator:Landroid/os/Vibrator;
-Landroid/view/InputDevice;->setCustomPointerIcon(Landroid/view/PointerIcon;)V
-Landroid/view/InputDevice;->setPointerType(I)V
-Landroid/view/InputEvent;-><init>()V
-Landroid/view/InputEvent;->cancel()V
-Landroid/view/InputEvent;->copy()Landroid/view/InputEvent;
-Landroid/view/InputEvent;->getEventTimeNano()J
-Landroid/view/InputEvent;->isTainted()Z
-Landroid/view/InputEvent;->mNextSeq:Ljava/util/concurrent/atomic/AtomicInteger;
-Landroid/view/InputEvent;->mRecycled:Z
-Landroid/view/InputEvent;->mRecycledLocation:Ljava/lang/RuntimeException;
-Landroid/view/InputEvent;->mSeq:I
-Landroid/view/InputEvent;->PARCEL_TOKEN_KEY_EVENT:I
-Landroid/view/InputEvent;->PARCEL_TOKEN_MOTION_EVENT:I
-Landroid/view/InputEvent;->prepareForReuse()V
-Landroid/view/InputEvent;->recycle()V
-Landroid/view/InputEvent;->recycleIfNeededAfterDispatch()V
-Landroid/view/InputEvent;->setSource(I)V
-Landroid/view/InputEvent;->setTainted(Z)V
-Landroid/view/InputEvent;->TRACK_RECYCLED_LOCATION:Z
-Landroid/view/InputEventConsistencyVerifier$KeyState;
-Landroid/view/InputEventConsistencyVerifier$KeyState;-><init>()V
-Landroid/view/InputEventConsistencyVerifier$KeyState;->deviceId:I
-Landroid/view/InputEventConsistencyVerifier$KeyState;->keyCode:I
-Landroid/view/InputEventConsistencyVerifier$KeyState;->mRecycledList:Landroid/view/InputEventConsistencyVerifier$KeyState;
-Landroid/view/InputEventConsistencyVerifier$KeyState;->mRecycledListLock:Ljava/lang/Object;
-Landroid/view/InputEventConsistencyVerifier$KeyState;->next:Landroid/view/InputEventConsistencyVerifier$KeyState;
-Landroid/view/InputEventConsistencyVerifier$KeyState;->obtain(III)Landroid/view/InputEventConsistencyVerifier$KeyState;
-Landroid/view/InputEventConsistencyVerifier$KeyState;->recycle()V
-Landroid/view/InputEventConsistencyVerifier$KeyState;->source:I
-Landroid/view/InputEventConsistencyVerifier$KeyState;->unhandled:Z
-Landroid/view/InputEventConsistencyVerifier;
-Landroid/view/InputEventConsistencyVerifier;-><init>(Ljava/lang/Object;ILjava/lang/String;)V
-Landroid/view/InputEventConsistencyVerifier;->addKeyState(III)V
-Landroid/view/InputEventConsistencyVerifier;->appendEvent(Ljava/lang/StringBuilder;ILandroid/view/InputEvent;Z)V
-Landroid/view/InputEventConsistencyVerifier;->ensureActionButtonIsNonZeroForThisAction(Landroid/view/MotionEvent;)V
-Landroid/view/InputEventConsistencyVerifier;->ensureHistorySizeIsZeroForThisAction(Landroid/view/MotionEvent;)V
-Landroid/view/InputEventConsistencyVerifier;->ensureMetaStateIsNormalized(I)V
-Landroid/view/InputEventConsistencyVerifier;->ensurePointerCountIsOneForThisAction(Landroid/view/MotionEvent;)V
-Landroid/view/InputEventConsistencyVerifier;->EVENT_TYPE_GENERIC_MOTION:Ljava/lang/String;
-Landroid/view/InputEventConsistencyVerifier;->EVENT_TYPE_KEY:Ljava/lang/String;
-Landroid/view/InputEventConsistencyVerifier;->EVENT_TYPE_TOUCH:Ljava/lang/String;
-Landroid/view/InputEventConsistencyVerifier;->EVENT_TYPE_TRACKBALL:Ljava/lang/String;
-Landroid/view/InputEventConsistencyVerifier;->findKeyState(IIIZ)Landroid/view/InputEventConsistencyVerifier$KeyState;
-Landroid/view/InputEventConsistencyVerifier;->finishEvent()V
-Landroid/view/InputEventConsistencyVerifier;->FLAG_RAW_DEVICE_INPUT:I
-Landroid/view/InputEventConsistencyVerifier;->IS_ENG_BUILD:Z
-Landroid/view/InputEventConsistencyVerifier;->mButtonsPressed:I
-Landroid/view/InputEventConsistencyVerifier;->mCaller:Ljava/lang/Object;
-Landroid/view/InputEventConsistencyVerifier;->mCurrentEvent:Landroid/view/InputEvent;
-Landroid/view/InputEventConsistencyVerifier;->mCurrentEventType:Ljava/lang/String;
-Landroid/view/InputEventConsistencyVerifier;->mFlags:I
-Landroid/view/InputEventConsistencyVerifier;->mHoverEntered:Z
-Landroid/view/InputEventConsistencyVerifier;->mKeyStateList:Landroid/view/InputEventConsistencyVerifier$KeyState;
-Landroid/view/InputEventConsistencyVerifier;->mLastEventSeq:I
-Landroid/view/InputEventConsistencyVerifier;->mLastEventType:Ljava/lang/String;
-Landroid/view/InputEventConsistencyVerifier;->mLastNestingLevel:I
-Landroid/view/InputEventConsistencyVerifier;->mLogTag:Ljava/lang/String;
-Landroid/view/InputEventConsistencyVerifier;->mMostRecentEventIndex:I
-Landroid/view/InputEventConsistencyVerifier;->mRecentEvents:[Landroid/view/InputEvent;
-Landroid/view/InputEventConsistencyVerifier;->mRecentEventsUnhandled:[Z
-Landroid/view/InputEventConsistencyVerifier;->mTouchEventStreamDeviceId:I
-Landroid/view/InputEventConsistencyVerifier;->mTouchEventStreamIsTainted:Z
-Landroid/view/InputEventConsistencyVerifier;->mTouchEventStreamPointers:I
-Landroid/view/InputEventConsistencyVerifier;->mTouchEventStreamSource:I
-Landroid/view/InputEventConsistencyVerifier;->mTouchEventStreamUnhandled:Z
-Landroid/view/InputEventConsistencyVerifier;->mTrackballDown:Z
-Landroid/view/InputEventConsistencyVerifier;->mTrackballUnhandled:Z
-Landroid/view/InputEventConsistencyVerifier;->mViolationMessage:Ljava/lang/StringBuilder;
-Landroid/view/InputEventConsistencyVerifier;->onGenericMotionEvent(Landroid/view/MotionEvent;I)V
-Landroid/view/InputEventConsistencyVerifier;->onInputEvent(Landroid/view/InputEvent;I)V
-Landroid/view/InputEventConsistencyVerifier;->onKeyEvent(Landroid/view/KeyEvent;I)V
-Landroid/view/InputEventConsistencyVerifier;->onTrackballEvent(Landroid/view/MotionEvent;I)V
-Landroid/view/InputEventConsistencyVerifier;->problem(Ljava/lang/String;)V
-Landroid/view/InputEventConsistencyVerifier;->RECENT_EVENTS_TO_LOG:I
-Landroid/view/InputEventConsistencyVerifier;->reset()V
-Landroid/view/InputEventConsistencyVerifier;->startEvent(Landroid/view/InputEvent;ILjava/lang/String;)Z
-Landroid/view/InputEventReceiver$Factory;
-Landroid/view/InputEventReceiver$Factory;->createInputEventReceiver(Landroid/view/InputChannel;Landroid/os/Looper;)Landroid/view/InputEventReceiver;
-Landroid/view/InputEventReceiver;
-Landroid/view/InputEventReceiver;-><init>(Landroid/view/InputChannel;Landroid/os/Looper;)V
-Landroid/view/InputEventReceiver;->consumeBatchedInputEvents(J)Z
-Landroid/view/InputEventReceiver;->dispose()V
-Landroid/view/InputEventReceiver;->dispose(Z)V
-Landroid/view/InputEventReceiver;->finishInputEvent(Landroid/view/InputEvent;Z)V
-Landroid/view/InputEventReceiver;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/view/InputEventReceiver;->mInputChannel:Landroid/view/InputChannel;
-Landroid/view/InputEventReceiver;->mMessageQueue:Landroid/os/MessageQueue;
-Landroid/view/InputEventReceiver;->mReceiverPtr:J
-Landroid/view/InputEventReceiver;->mSeqMap:Landroid/util/SparseIntArray;
-Landroid/view/InputEventReceiver;->nativeConsumeBatchedInputEvents(JJ)Z
-Landroid/view/InputEventReceiver;->nativeDispose(J)V
-Landroid/view/InputEventReceiver;->nativeFinishInputEvent(JIZ)V
-Landroid/view/InputEventReceiver;->nativeInit(Ljava/lang/ref/WeakReference;Landroid/view/InputChannel;Landroid/os/MessageQueue;)J
-Landroid/view/InputEventReceiver;->onBatchedInputEventPending()V
-Landroid/view/InputEventReceiver;->TAG:Ljava/lang/String;
-Landroid/view/InputEventSender;
-Landroid/view/InputEventSender;-><init>(Landroid/view/InputChannel;Landroid/os/Looper;)V
-Landroid/view/InputEventSender;->dispose()V
-Landroid/view/InputEventSender;->dispose(Z)V
-Landroid/view/InputEventSender;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/view/InputEventSender;->mInputChannel:Landroid/view/InputChannel;
-Landroid/view/InputEventSender;->mMessageQueue:Landroid/os/MessageQueue;
-Landroid/view/InputEventSender;->mSenderPtr:J
-Landroid/view/InputEventSender;->nativeDispose(J)V
-Landroid/view/InputEventSender;->nativeInit(Ljava/lang/ref/WeakReference;Landroid/view/InputChannel;Landroid/os/MessageQueue;)J
-Landroid/view/InputEventSender;->nativeSendKeyEvent(JILandroid/view/KeyEvent;)Z
-Landroid/view/InputEventSender;->nativeSendMotionEvent(JILandroid/view/MotionEvent;)Z
-Landroid/view/InputEventSender;->onInputEventFinished(IZ)V
-Landroid/view/InputEventSender;->sendInputEvent(ILandroid/view/InputEvent;)Z
-Landroid/view/InputEventSender;->TAG:Ljava/lang/String;
-Landroid/view/InputFilter$H;
-Landroid/view/InputFilter$H;-><init>(Landroid/os/Looper;)V
-Landroid/view/InputFilter;
-Landroid/view/InputFilter;->filterInputEvent(Landroid/view/InputEvent;I)V
-Landroid/view/InputFilter;->install(Landroid/view/IInputFilterHost;)V
-Landroid/view/InputFilter;->mH:Landroid/view/InputFilter$H;
-Landroid/view/InputFilter;->mHost:Landroid/view/IInputFilterHost;
-Landroid/view/InputFilter;->mInboundInputEventConsistencyVerifier:Landroid/view/InputEventConsistencyVerifier;
-Landroid/view/InputFilter;->mOutboundInputEventConsistencyVerifier:Landroid/view/InputEventConsistencyVerifier;
-Landroid/view/InputFilter;->MSG_INPUT_EVENT:I
-Landroid/view/InputFilter;->MSG_INSTALL:I
-Landroid/view/InputFilter;->MSG_UNINSTALL:I
-Landroid/view/InputFilter;->onInstalled()V
-Landroid/view/InputFilter;->onUninstalled()V
-Landroid/view/InputFilter;->sendInputEvent(Landroid/view/InputEvent;I)V
-Landroid/view/InputFilter;->uninstall()V
-Landroid/view/inputmethod/BaseInputConnection;-><init>(Landroid/view/inputmethod/InputMethodManager;Z)V
-Landroid/view/inputmethod/BaseInputConnection;->COMPOSING:Ljava/lang/Object;
-Landroid/view/inputmethod/BaseInputConnection;->DEBUG:Z
-Landroid/view/inputmethod/BaseInputConnection;->ensureDefaultComposingSpans()V
-Landroid/view/inputmethod/BaseInputConnection;->findIndexBackward(Ljava/lang/CharSequence;II)I
-Landroid/view/inputmethod/BaseInputConnection;->findIndexForward(Ljava/lang/CharSequence;II)I
-Landroid/view/inputmethod/BaseInputConnection;->INVALID_INDEX:I
-Landroid/view/inputmethod/BaseInputConnection;->mDefaultComposingSpans:[Ljava/lang/Object;
-Landroid/view/inputmethod/BaseInputConnection;->mDummyMode:Z
-Landroid/view/inputmethod/BaseInputConnection;->mEditable:Landroid/text/Editable;
-Landroid/view/inputmethod/BaseInputConnection;->mIMM:Landroid/view/inputmethod/InputMethodManager;
-Landroid/view/inputmethod/BaseInputConnection;->mKeyCharacterMap:Landroid/view/KeyCharacterMap;
-Landroid/view/inputmethod/BaseInputConnection;->mTargetView:Landroid/view/View;
-Landroid/view/inputmethod/BaseInputConnection;->replaceText(Ljava/lang/CharSequence;IZ)V
-Landroid/view/inputmethod/BaseInputConnection;->sendCurrentText()V
-Landroid/view/inputmethod/BaseInputConnection;->setComposingSpans(Landroid/text/Spannable;II)V
-Landroid/view/inputmethod/BaseInputConnection;->TAG:Ljava/lang/String;
-Landroid/view/inputmethod/CompletionInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/view/inputmethod/CompletionInfo;->mId:J
-Landroid/view/inputmethod/CompletionInfo;->mLabel:Ljava/lang/CharSequence;
-Landroid/view/inputmethod/CompletionInfo;->mPosition:I
-Landroid/view/inputmethod/CompletionInfo;->mText:Ljava/lang/CharSequence;
-Landroid/view/inputmethod/CorrectionInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/view/inputmethod/CorrectionInfo;->mNewText:Ljava/lang/CharSequence;
-Landroid/view/inputmethod/CorrectionInfo;->mOffset:I
-Landroid/view/inputmethod/CorrectionInfo;->mOldText:Ljava/lang/CharSequence;
-Landroid/view/inputmethod/CursorAnchorInfo$Builder;->mCharacterBoundsArrayBuilder:Landroid/view/inputmethod/SparseRectFArray$SparseRectFArrayBuilder;
-Landroid/view/inputmethod/CursorAnchorInfo$Builder;->mComposingText:Ljava/lang/CharSequence;
-Landroid/view/inputmethod/CursorAnchorInfo$Builder;->mComposingTextStart:I
-Landroid/view/inputmethod/CursorAnchorInfo$Builder;->mInsertionMarkerBaseline:F
-Landroid/view/inputmethod/CursorAnchorInfo$Builder;->mInsertionMarkerBottom:F
-Landroid/view/inputmethod/CursorAnchorInfo$Builder;->mInsertionMarkerFlags:I
-Landroid/view/inputmethod/CursorAnchorInfo$Builder;->mInsertionMarkerHorizontal:F
-Landroid/view/inputmethod/CursorAnchorInfo$Builder;->mInsertionMarkerTop:F
-Landroid/view/inputmethod/CursorAnchorInfo$Builder;->mMatrixInitialized:Z
-Landroid/view/inputmethod/CursorAnchorInfo$Builder;->mMatrixValues:[F
-Landroid/view/inputmethod/CursorAnchorInfo$Builder;->mSelectionEnd:I
-Landroid/view/inputmethod/CursorAnchorInfo$Builder;->mSelectionStart:I
-Landroid/view/inputmethod/CursorAnchorInfo;-><init>(Landroid/view/inputmethod/CursorAnchorInfo$Builder;)V
-Landroid/view/inputmethod/CursorAnchorInfo;->areSameFloatImpl(FF)Z
-Landroid/view/inputmethod/CursorAnchorInfo;->mCharacterBoundsArray:Landroid/view/inputmethod/SparseRectFArray;
-Landroid/view/inputmethod/CursorAnchorInfo;->mComposingText:Ljava/lang/CharSequence;
-Landroid/view/inputmethod/CursorAnchorInfo;->mComposingTextStart:I
-Landroid/view/inputmethod/CursorAnchorInfo;->mHashCode:I
-Landroid/view/inputmethod/CursorAnchorInfo;->mInsertionMarkerBaseline:F
-Landroid/view/inputmethod/CursorAnchorInfo;->mInsertionMarkerBottom:F
-Landroid/view/inputmethod/CursorAnchorInfo;->mInsertionMarkerFlags:I
-Landroid/view/inputmethod/CursorAnchorInfo;->mInsertionMarkerHorizontal:F
-Landroid/view/inputmethod/CursorAnchorInfo;->mInsertionMarkerTop:F
-Landroid/view/inputmethod/CursorAnchorInfo;->mMatrixValues:[F
-Landroid/view/inputmethod/CursorAnchorInfo;->mSelectionEnd:I
-Landroid/view/inputmethod/CursorAnchorInfo;->mSelectionStart:I
-Landroid/view/inputmethod/InputBinding;-><init>(Landroid/os/Parcel;)V
-Landroid/view/inputmethod/InputBinding;->mConnection:Landroid/view/inputmethod/InputConnection;
-Landroid/view/inputmethod/InputBinding;->mConnectionToken:Landroid/os/IBinder;
-Landroid/view/inputmethod/InputBinding;->mPid:I
-Landroid/view/inputmethod/InputBinding;->mUid:I
-Landroid/view/inputmethod/InputBinding;->TAG:Ljava/lang/String;
-Landroid/view/inputmethod/InputConnectionInspector$MissingMethodFlags;
-Landroid/view/inputmethod/InputConnectionInspector$MissingMethodFlags;->CLOSE_CONNECTION:I
-Landroid/view/inputmethod/InputConnectionInspector$MissingMethodFlags;->COMMIT_CONTENT:I
-Landroid/view/inputmethod/InputConnectionInspector$MissingMethodFlags;->COMMIT_CORRECTION:I
-Landroid/view/inputmethod/InputConnectionInspector$MissingMethodFlags;->DELETE_SURROUNDING_TEXT_IN_CODE_POINTS:I
-Landroid/view/inputmethod/InputConnectionInspector$MissingMethodFlags;->GET_HANDLER:I
-Landroid/view/inputmethod/InputConnectionInspector$MissingMethodFlags;->GET_SELECTED_TEXT:I
-Landroid/view/inputmethod/InputConnectionInspector$MissingMethodFlags;->REQUEST_CURSOR_UPDATES:I
-Landroid/view/inputmethod/InputConnectionInspector$MissingMethodFlags;->SET_COMPOSING_REGION:I
-Landroid/view/inputmethod/InputConnectionInspector;
-Landroid/view/inputmethod/InputConnectionInspector;-><init>()V
-Landroid/view/inputmethod/InputConnectionInspector;->getMissingMethodFlags(Landroid/view/inputmethod/InputConnection;)I
-Landroid/view/inputmethod/InputConnectionInspector;->getMissingMethodFlagsAsString(I)Ljava/lang/String;
-Landroid/view/inputmethod/InputConnectionInspector;->getMissingMethodFlagsInternal(Ljava/lang/Class;)I
-Landroid/view/inputmethod/InputConnectionInspector;->hasCloseConnection(Ljava/lang/Class;)Z
-Landroid/view/inputmethod/InputConnectionInspector;->hasCommitContent(Ljava/lang/Class;)Z
-Landroid/view/inputmethod/InputConnectionInspector;->hasCommitCorrection(Ljava/lang/Class;)Z
-Landroid/view/inputmethod/InputConnectionInspector;->hasDeleteSurroundingTextInCodePoints(Ljava/lang/Class;)Z
-Landroid/view/inputmethod/InputConnectionInspector;->hasGetHandler(Ljava/lang/Class;)Z
-Landroid/view/inputmethod/InputConnectionInspector;->hasGetSelectedText(Ljava/lang/Class;)Z
-Landroid/view/inputmethod/InputConnectionInspector;->hasRequestCursorUpdate(Ljava/lang/Class;)Z
-Landroid/view/inputmethod/InputConnectionInspector;->hasSetComposingRegion(Ljava/lang/Class;)Z
-Landroid/view/inputmethod/InputConnectionInspector;->sMissingMethodsMap:Ljava/util/Map;
-Landroid/view/inputmethod/InputConnectionWrapper;->getMissingMethodFlags()I
-Landroid/view/inputmethod/InputConnectionWrapper;->mMissingMethodFlags:I
-Landroid/view/inputmethod/InputConnectionWrapper;->mMutable:Z
-Landroid/view/inputmethod/InputConnectionWrapper;->mTarget:Landroid/view/inputmethod/InputConnection;
-Landroid/view/inputmethod/InputContentInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/view/inputmethod/InputContentInfo;->mContentUri:Landroid/net/Uri;
-Landroid/view/inputmethod/InputContentInfo;->mContentUriOwnerUserId:I
-Landroid/view/inputmethod/InputContentInfo;->mDescription:Landroid/content/ClipDescription;
-Landroid/view/inputmethod/InputContentInfo;->mLinkUri:Landroid/net/Uri;
-Landroid/view/inputmethod/InputContentInfo;->mUriToken:Lcom/android/internal/inputmethod/IInputContentUriToken;
-Landroid/view/inputmethod/InputContentInfo;->setUriToken(Lcom/android/internal/inputmethod/IInputContentUriToken;)V
-Landroid/view/inputmethod/InputContentInfo;->validate()Z
-Landroid/view/inputmethod/InputContentInfo;->validateInternal(Landroid/net/Uri;Landroid/content/ClipDescription;Landroid/net/Uri;Z)Z
-Landroid/view/inputmethod/InputMethod;->dispatchStartInputWithToken(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;ZLandroid/os/IBinder;)V
-Landroid/view/inputmethod/InputMethodInfo;-><init>(Landroid/content/Context;Landroid/content/pm/ResolveInfo;Ljava/util/List;)V
-Landroid/view/inputmethod/InputMethodInfo;-><init>(Landroid/content/pm/ResolveInfo;ZLjava/lang/String;Ljava/util/List;IZ)V
-Landroid/view/inputmethod/InputMethodInfo;-><init>(Landroid/content/pm/ResolveInfo;ZLjava/lang/String;Ljava/util/List;IZZZ)V
-Landroid/view/inputmethod/InputMethodInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/view/inputmethod/InputMethodInfo;->buildDummyResolveInfo(Ljava/lang/String;Ljava/lang/String;Ljava/lang/CharSequence;)Landroid/content/pm/ResolveInfo;
-Landroid/view/inputmethod/InputMethodInfo;->computeId(Landroid/content/pm/ResolveInfo;)Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodInfo;->isAuxiliaryIme()Z
-Landroid/view/inputmethod/InputMethodInfo;->isVrOnly()Z
-Landroid/view/inputmethod/InputMethodInfo;->mForceDefault:Z
-Landroid/view/inputmethod/InputMethodInfo;->mId:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodInfo;->mIsAuxIme:Z
-Landroid/view/inputmethod/InputMethodInfo;->mIsDefaultResId:I
-Landroid/view/inputmethod/InputMethodInfo;->mIsVrOnly:Z
-Landroid/view/inputmethod/InputMethodInfo;->mService:Landroid/content/pm/ResolveInfo;
-Landroid/view/inputmethod/InputMethodInfo;->mSettingsActivityName:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodInfo;->mSupportsSwitchingToNextInputMethod:Z
-Landroid/view/inputmethod/InputMethodInfo;->supportsSwitchingToNextInputMethod()Z
-Landroid/view/inputmethod/InputMethodInfo;->TAG:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper;
-Landroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper;-><init>(Landroid/os/Looper;Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/InputMethodManager;)V
-Landroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper;->deactivate()V
-Landroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper;->isActive()Z
-Landroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper;->mParentInputMethodManager:Landroid/view/inputmethod/InputMethodManager;
-Landroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper;->onUserAction()V
-Landroid/view/inputmethod/InputMethodManager$FinishedInputEventCallback;
-Landroid/view/inputmethod/InputMethodManager$FinishedInputEventCallback;->onFinishedInputEvent(Ljava/lang/Object;Z)V
-Landroid/view/inputmethod/InputMethodManager$H;
-Landroid/view/inputmethod/InputMethodManager$H;-><init>(Landroid/os/Looper;)V
-Landroid/view/inputmethod/InputMethodManager$ImeInputEventSender;
-Landroid/view/inputmethod/InputMethodManager$ImeInputEventSender;-><init>(Landroid/view/InputChannel;Landroid/os/Looper;)V
-Landroid/view/inputmethod/InputMethodManager$ImeInputEventSender;->onInputEventFinished(IZ)V
-Landroid/view/inputmethod/InputMethodManager$PendingEvent;
-Landroid/view/inputmethod/InputMethodManager$PendingEvent;-><init>()V
-Landroid/view/inputmethod/InputMethodManager$PendingEvent;->mCallback:Landroid/view/inputmethod/InputMethodManager$FinishedInputEventCallback;
-Landroid/view/inputmethod/InputMethodManager$PendingEvent;->mEvent:Landroid/view/InputEvent;
-Landroid/view/inputmethod/InputMethodManager$PendingEvent;->mHandled:Z
-Landroid/view/inputmethod/InputMethodManager$PendingEvent;->mHandler:Landroid/os/Handler;
-Landroid/view/inputmethod/InputMethodManager$PendingEvent;->mInputMethodId:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodManager$PendingEvent;->mToken:Ljava/lang/Object;
-Landroid/view/inputmethod/InputMethodManager$PendingEvent;->recycle()V
-Landroid/view/inputmethod/InputMethodManager;-><init>(Landroid/os/Looper;)V
-Landroid/view/inputmethod/InputMethodManager;-><init>(Lcom/android/internal/view/IInputMethodManager;Landroid/os/Looper;)V
-Landroid/view/inputmethod/InputMethodManager;->canStartInput(Landroid/view/View;)Z
-Landroid/view/inputmethod/InputMethodManager;->checkFocusNoStartInput(Z)Z
-Landroid/view/inputmethod/InputMethodManager;->clearBindingLocked()V
-Landroid/view/inputmethod/InputMethodManager;->clearConnectionLocked()V
-Landroid/view/inputmethod/InputMethodManager;->clearLastInputMethodWindowForTransition(Landroid/os/IBinder;)V
-Landroid/view/inputmethod/InputMethodManager;->CONTROL_START_INITIAL:I
-Landroid/view/inputmethod/InputMethodManager;->CONTROL_WINDOW_FIRST:I
-Landroid/view/inputmethod/InputMethodManager;->CONTROL_WINDOW_IS_TEXT_EDITOR:I
-Landroid/view/inputmethod/InputMethodManager;->CONTROL_WINDOW_VIEW_HAS_FOCUS:I
-Landroid/view/inputmethod/InputMethodManager;->DEBUG:Z
-Landroid/view/inputmethod/InputMethodManager;->dispatchInputEvent(Landroid/view/InputEvent;Ljava/lang/Object;Landroid/view/inputmethod/InputMethodManager$FinishedInputEventCallback;Landroid/os/Handler;)I
-Landroid/view/inputmethod/InputMethodManager;->DISPATCH_HANDLED:I
-Landroid/view/inputmethod/InputMethodManager;->DISPATCH_IN_PROGRESS:I
-Landroid/view/inputmethod/InputMethodManager;->DISPATCH_NOT_HANDLED:I
-Landroid/view/inputmethod/InputMethodManager;->doDump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/view/inputmethod/InputMethodManager;->dumpViewInfo(Landroid/view/View;)Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodManager;->exposeContent(Landroid/os/IBinder;Landroid/view/inputmethod/InputContentInfo;Landroid/view/inputmethod/EditorInfo;)V
-Landroid/view/inputmethod/InputMethodManager;->finishedInputEvent(IZZ)V
-Landroid/view/inputmethod/InputMethodManager;->flushPendingEventsLocked()V
-Landroid/view/inputmethod/InputMethodManager;->focusInLocked(Landroid/view/View;)V
-Landroid/view/inputmethod/InputMethodManager;->getVrInputMethodList()Ljava/util/List;
-Landroid/view/inputmethod/InputMethodManager;->hideSoftInputFromInputMethodInternal(Landroid/os/IBinder;I)V
-Landroid/view/inputmethod/InputMethodManager;->hideStatusIconInternal(Landroid/os/IBinder;)V
-Landroid/view/inputmethod/InputMethodManager;->INPUT_METHOD_NOT_RESPONDING_TIMEOUT:J
-Landroid/view/inputmethod/InputMethodManager;->invokeFinishedInputEventCallback(Landroid/view/inputmethod/InputMethodManager$PendingEvent;Z)V
-Landroid/view/inputmethod/InputMethodManager;->isAutofillUIShowing(Landroid/view/View;)Z
-Landroid/view/inputmethod/InputMethodManager;->mActive:Z
-Landroid/view/inputmethod/InputMethodManager;->mBindSequence:I
-Landroid/view/inputmethod/InputMethodManager;->mClient:Lcom/android/internal/view/IInputMethodClient$Stub;
-Landroid/view/inputmethod/InputMethodManager;->mCompletions:[Landroid/view/inputmethod/CompletionInfo;
-Landroid/view/inputmethod/InputMethodManager;->mCurChannel:Landroid/view/InputChannel;
-Landroid/view/inputmethod/InputMethodManager;->mCurrentTextBoxAttribute:Landroid/view/inputmethod/EditorInfo;
-Landroid/view/inputmethod/InputMethodManager;->mCurSender:Landroid/view/inputmethod/InputMethodManager$ImeInputEventSender;
-Landroid/view/inputmethod/InputMethodManager;->mCursorAnchorInfo:Landroid/view/inputmethod/CursorAnchorInfo;
-Landroid/view/inputmethod/InputMethodManager;->mCursorCandEnd:I
-Landroid/view/inputmethod/InputMethodManager;->mCursorCandStart:I
-Landroid/view/inputmethod/InputMethodManager;->mCursorSelEnd:I
-Landroid/view/inputmethod/InputMethodManager;->mCursorSelStart:I
-Landroid/view/inputmethod/InputMethodManager;->mDummyInputConnection:Landroid/view/inputmethod/InputConnection;
-Landroid/view/inputmethod/InputMethodManager;->mFullscreenMode:Z
-Landroid/view/inputmethod/InputMethodManager;->mIInputContext:Lcom/android/internal/view/IInputContext;
-Landroid/view/inputmethod/InputMethodManager;->mLastSentUserActionNotificationSequenceNumber:I
-Landroid/view/inputmethod/InputMethodManager;->mMainLooper:Landroid/os/Looper;
-Landroid/view/inputmethod/InputMethodManager;->mNextUserActionNotificationSequenceNumber:I
-Landroid/view/inputmethod/InputMethodManager;->mPendingEventPool:Landroid/util/Pools$Pool;
-Landroid/view/inputmethod/InputMethodManager;->mPendingEvents:Landroid/util/SparseArray;
-Landroid/view/inputmethod/InputMethodManager;->mRequestUpdateCursorAnchorInfoMonitorMode:I
-Landroid/view/inputmethod/InputMethodManager;->mRestartOnNextWindowFocus:Z
-Landroid/view/inputmethod/InputMethodManager;->mServedConnecting:Z
-Landroid/view/inputmethod/InputMethodManager;->MSG_BIND:I
-Landroid/view/inputmethod/InputMethodManager;->MSG_DUMP:I
-Landroid/view/inputmethod/InputMethodManager;->MSG_FLUSH_INPUT_EVENT:I
-Landroid/view/inputmethod/InputMethodManager;->MSG_REPORT_FULLSCREEN_MODE:I
-Landroid/view/inputmethod/InputMethodManager;->MSG_SEND_INPUT_EVENT:I
-Landroid/view/inputmethod/InputMethodManager;->MSG_SET_ACTIVE:I
-Landroid/view/inputmethod/InputMethodManager;->MSG_SET_USER_ACTION_NOTIFICATION_SEQUENCE_NUMBER:I
-Landroid/view/inputmethod/InputMethodManager;->MSG_TIMEOUT_INPUT_EVENT:I
-Landroid/view/inputmethod/InputMethodManager;->MSG_UNBIND:I
-Landroid/view/inputmethod/InputMethodManager;->NOT_AN_ACTION_NOTIFICATION_SEQUENCE_NUMBER:I
-Landroid/view/inputmethod/InputMethodManager;->obtainPendingEventLocked(Landroid/view/InputEvent;Ljava/lang/Object;Ljava/lang/String;Landroid/view/inputmethod/InputMethodManager$FinishedInputEventCallback;Landroid/os/Handler;)Landroid/view/inputmethod/InputMethodManager$PendingEvent;
-Landroid/view/inputmethod/InputMethodManager;->onPostWindowFocus(Landroid/view/View;Landroid/view/View;IZI)V
-Landroid/view/inputmethod/InputMethodManager;->onViewDetachedFromWindow(Landroid/view/View;)V
-Landroid/view/inputmethod/InputMethodManager;->PENDING_EVENT_COUNTER:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodManager;->recyclePendingEventLocked(Landroid/view/inputmethod/InputMethodManager$PendingEvent;)V
-Landroid/view/inputmethod/InputMethodManager;->reportFullscreenMode(Landroid/os/IBinder;Z)V
-Landroid/view/inputmethod/InputMethodManager;->REQUEST_UPDATE_CURSOR_ANCHOR_INFO_NONE:I
-Landroid/view/inputmethod/InputMethodManager;->scheduleCheckFocusLocked(Landroid/view/View;)V
-Landroid/view/inputmethod/InputMethodManager;->sendInputEventAndReportResultOnMainLooper(Landroid/view/inputmethod/InputMethodManager$PendingEvent;)V
-Landroid/view/inputmethod/InputMethodManager;->sendInputEventOnMainLooperLocked(Landroid/view/inputmethod/InputMethodManager$PendingEvent;)I
-Landroid/view/inputmethod/InputMethodManager;->setImeWindowStatus(Landroid/os/IBinder;Landroid/os/IBinder;II)V
-Landroid/view/inputmethod/InputMethodManager;->setInputChannelLocked(Landroid/view/InputChannel;)V
-Landroid/view/inputmethod/InputMethodManager;->setInputMethodAndSubtypeInternal(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/inputmethod/InputMethodSubtype;)V
-Landroid/view/inputmethod/InputMethodManager;->setInputMethodInternal(Landroid/os/IBinder;Ljava/lang/String;)V
-Landroid/view/inputmethod/InputMethodManager;->shouldOfferSwitchingToNextInputMethodInternal(Landroid/os/IBinder;)Z
-Landroid/view/inputmethod/InputMethodManager;->showInputMethodPicker(Z)V
-Landroid/view/inputmethod/InputMethodManager;->showInputMethodPickerLocked()V
-Landroid/view/inputmethod/InputMethodManager;->showSoftInputFromInputMethodInternal(Landroid/os/IBinder;I)V
-Landroid/view/inputmethod/InputMethodManager;->showStatusIconInternal(Landroid/os/IBinder;Ljava/lang/String;I)V
-Landroid/view/inputmethod/InputMethodManager;->SHOW_IM_PICKER_MODE_AUTO:I
-Landroid/view/inputmethod/InputMethodManager;->SHOW_IM_PICKER_MODE_EXCLUDE_AUXILIARY_SUBTYPES:I
-Landroid/view/inputmethod/InputMethodManager;->SHOW_IM_PICKER_MODE_INCLUDE_AUXILIARY_SUBTYPES:I
-Landroid/view/inputmethod/InputMethodManager;->startInputInner(ILandroid/os/IBinder;III)Z
-Landroid/view/inputmethod/InputMethodManager;->switchToNextInputMethodInternal(Landroid/os/IBinder;Z)Z
-Landroid/view/inputmethod/InputMethodManager;->switchToPreviousInputMethodInternal(Landroid/os/IBinder;)Z
-Landroid/view/inputmethod/InputMethodManager;->TAG:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodManagerInternal;
-Landroid/view/inputmethod/InputMethodManagerInternal;->hideCurrentInputMethod()V
-Landroid/view/inputmethod/InputMethodManagerInternal;->setInteractive(Z)V
-Landroid/view/inputmethod/InputMethodManagerInternal;->startVrInputMethodNoCheck(Landroid/content/ComponentName;)V
-Landroid/view/inputmethod/InputMethodManagerInternal;->switchInputMethod(Z)V
-Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;->mIsAsciiCapable:Z
-Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;->mIsAuxiliary:Z
-Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;->mOverridesImplicitlyEnabledSubtype:Z
-Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;->mSubtypeExtraValue:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;->mSubtypeIconResId:I
-Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;->mSubtypeId:I
-Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;->mSubtypeLanguageTag:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;->mSubtypeLocale:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;->mSubtypeMode:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;->mSubtypeNameResId:I
-Landroid/view/inputmethod/InputMethodSubtype;-><init>(Landroid/os/Parcel;)V
-Landroid/view/inputmethod/InputMethodSubtype;-><init>(Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;)V
-Landroid/view/inputmethod/InputMethodSubtype;->EXTRA_KEY_UNTRANSLATABLE_STRING_IN_SUBTYPE_NAME:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodSubtype;->EXTRA_VALUE_KEY_VALUE_SEPARATOR:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodSubtype;->EXTRA_VALUE_PAIR_SEPARATOR:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodSubtype;->getBuilder(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZIZ)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;
-Landroid/view/inputmethod/InputMethodSubtype;->getExtraValueHashMap()Ljava/util/HashMap;
-Landroid/view/inputmethod/InputMethodSubtype;->getLocaleDisplayName(Ljava/util/Locale;Ljava/util/Locale;Landroid/icu/text/DisplayContext;)Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodSubtype;->getLocaleFromContext(Landroid/content/Context;)Ljava/util/Locale;
-Landroid/view/inputmethod/InputMethodSubtype;->getLocaleObject()Ljava/util/Locale;
-Landroid/view/inputmethod/InputMethodSubtype;->getSubtypeId()I
-Landroid/view/inputmethod/InputMethodSubtype;->hashCodeInternal(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZZ)I
-Landroid/view/inputmethod/InputMethodSubtype;->hasSubtypeId()Z
-Landroid/view/inputmethod/InputMethodSubtype;->LANGUAGE_TAG_NONE:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodSubtype;->mCachedLocaleObj:Ljava/util/Locale;
-Landroid/view/inputmethod/InputMethodSubtype;->mExtraValueHashMapCache:Ljava/util/HashMap;
-Landroid/view/inputmethod/InputMethodSubtype;->mIsAsciiCapable:Z
-Landroid/view/inputmethod/InputMethodSubtype;->mIsAuxiliary:Z
-Landroid/view/inputmethod/InputMethodSubtype;->mLock:Ljava/lang/Object;
-Landroid/view/inputmethod/InputMethodSubtype;->mOverridesImplicitlyEnabledSubtype:Z
-Landroid/view/inputmethod/InputMethodSubtype;->mSubtypeExtraValue:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodSubtype;->mSubtypeHashCode:I
-Landroid/view/inputmethod/InputMethodSubtype;->mSubtypeIconResId:I
-Landroid/view/inputmethod/InputMethodSubtype;->mSubtypeId:I
-Landroid/view/inputmethod/InputMethodSubtype;->mSubtypeLanguageTag:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodSubtype;->mSubtypeLocale:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodSubtype;->mSubtypeMode:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodSubtype;->mSubtypeNameResId:I
-Landroid/view/inputmethod/InputMethodSubtype;->sort(Landroid/content/Context;ILandroid/view/inputmethod/InputMethodInfo;Ljava/util/List;)Ljava/util/List;
-Landroid/view/inputmethod/InputMethodSubtype;->SUBTYPE_ID_NONE:I
-Landroid/view/inputmethod/InputMethodSubtype;->TAG:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodSubtypeArray;
-Landroid/view/inputmethod/InputMethodSubtypeArray;-><init>(Landroid/os/Parcel;)V
-Landroid/view/inputmethod/InputMethodSubtypeArray;->compress([B)[B
-Landroid/view/inputmethod/InputMethodSubtypeArray;->decompress([BI)[B
-Landroid/view/inputmethod/InputMethodSubtypeArray;->get(I)Landroid/view/inputmethod/InputMethodSubtype;
-Landroid/view/inputmethod/InputMethodSubtypeArray;->getCount()I
-Landroid/view/inputmethod/InputMethodSubtypeArray;->marshall([Landroid/view/inputmethod/InputMethodSubtype;)[B
-Landroid/view/inputmethod/InputMethodSubtypeArray;->mCompressedData:[B
-Landroid/view/inputmethod/InputMethodSubtypeArray;->mCount:I
-Landroid/view/inputmethod/InputMethodSubtypeArray;->mDecompressedSize:I
-Landroid/view/inputmethod/InputMethodSubtypeArray;->mInstance:[Landroid/view/inputmethod/InputMethodSubtype;
-Landroid/view/inputmethod/InputMethodSubtypeArray;->mLockObject:Ljava/lang/Object;
-Landroid/view/inputmethod/InputMethodSubtypeArray;->TAG:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodSubtypeArray;->unmarshall([B)[Landroid/view/inputmethod/InputMethodSubtype;
-Landroid/view/inputmethod/InputMethodSubtypeArray;->writeToParcel(Landroid/os/Parcel;)V
-Landroid/view/inputmethod/SparseRectFArray$SparseRectFArrayBuilder;
-Landroid/view/inputmethod/SparseRectFArray$SparseRectFArrayBuilder;-><init>()V
-Landroid/view/inputmethod/SparseRectFArray$SparseRectFArrayBuilder;->append(IFFFFI)Landroid/view/inputmethod/SparseRectFArray$SparseRectFArrayBuilder;
-Landroid/view/inputmethod/SparseRectFArray$SparseRectFArrayBuilder;->build()Landroid/view/inputmethod/SparseRectFArray;
-Landroid/view/inputmethod/SparseRectFArray$SparseRectFArrayBuilder;->checkIndex(I)V
-Landroid/view/inputmethod/SparseRectFArray$SparseRectFArrayBuilder;->ensureBufferSize()V
-Landroid/view/inputmethod/SparseRectFArray$SparseRectFArrayBuilder;->INITIAL_SIZE:I
-Landroid/view/inputmethod/SparseRectFArray$SparseRectFArrayBuilder;->isEmpty()Z
-Landroid/view/inputmethod/SparseRectFArray$SparseRectFArrayBuilder;->mCoordinates:[F
-Landroid/view/inputmethod/SparseRectFArray$SparseRectFArrayBuilder;->mCount:I
-Landroid/view/inputmethod/SparseRectFArray$SparseRectFArrayBuilder;->mFlagsArray:[I
-Landroid/view/inputmethod/SparseRectFArray$SparseRectFArrayBuilder;->mKeys:[I
-Landroid/view/inputmethod/SparseRectFArray$SparseRectFArrayBuilder;->reset()V
-Landroid/view/inputmethod/SparseRectFArray;
-Landroid/view/inputmethod/SparseRectFArray;-><init>(Landroid/os/Parcel;)V
-Landroid/view/inputmethod/SparseRectFArray;-><init>(Landroid/view/inputmethod/SparseRectFArray$SparseRectFArrayBuilder;)V
-Landroid/view/inputmethod/SparseRectFArray;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/view/inputmethod/SparseRectFArray;->get(I)Landroid/graphics/RectF;
-Landroid/view/inputmethod/SparseRectFArray;->getFlags(II)I
-Landroid/view/inputmethod/SparseRectFArray;->mCoordinates:[F
-Landroid/view/inputmethod/SparseRectFArray;->mFlagsArray:[I
-Landroid/view/inputmethod/SparseRectFArray;->mKeys:[I
-Landroid/view/InputQueue$ActiveInputEvent;
-Landroid/view/InputQueue$ActiveInputEvent;-><init>()V
-Landroid/view/InputQueue$ActiveInputEvent;->mCallback:Landroid/view/InputQueue$FinishedInputEventCallback;
-Landroid/view/InputQueue$ActiveInputEvent;->mToken:Ljava/lang/Object;
-Landroid/view/InputQueue$ActiveInputEvent;->recycle()V
-Landroid/view/InputQueue$FinishedInputEventCallback;
-Landroid/view/InputQueue$FinishedInputEventCallback;->onFinishedInputEvent(Ljava/lang/Object;Z)V
-Landroid/view/InputQueue;-><init>()V
-Landroid/view/InputQueue;->dispose()V
-Landroid/view/InputQueue;->dispose(Z)V
-Landroid/view/InputQueue;->getNativePtr()J
-Landroid/view/InputQueue;->mActiveEventArray:Landroid/util/LongSparseArray;
-Landroid/view/InputQueue;->mActiveInputEventPool:Landroid/util/Pools$Pool;
-Landroid/view/InputQueue;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/view/InputQueue;->mPtr:J
-Landroid/view/InputQueue;->nativeDispose(J)V
-Landroid/view/InputQueue;->nativeInit(Ljava/lang/ref/WeakReference;Landroid/os/MessageQueue;)J
-Landroid/view/InputQueue;->nativeSendKeyEvent(JLandroid/view/KeyEvent;Z)J
-Landroid/view/InputQueue;->nativeSendMotionEvent(JLandroid/view/MotionEvent;)J
-Landroid/view/InputQueue;->obtainActiveInputEvent(Ljava/lang/Object;Landroid/view/InputQueue$FinishedInputEventCallback;)Landroid/view/InputQueue$ActiveInputEvent;
-Landroid/view/InputQueue;->recycleActiveInputEvent(Landroid/view/InputQueue$ActiveInputEvent;)V
-Landroid/view/InputQueue;->sendInputEvent(Landroid/view/InputEvent;Ljava/lang/Object;ZLandroid/view/InputQueue$FinishedInputEventCallback;)V
-Landroid/view/IOnKeyguardExitResult$Stub$Proxy;
-Landroid/view/IOnKeyguardExitResult$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/IOnKeyguardExitResult$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IOnKeyguardExitResult$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IOnKeyguardExitResult$Stub$Proxy;->onKeyguardExitResult(Z)V
-Landroid/view/IOnKeyguardExitResult$Stub;
-Landroid/view/IOnKeyguardExitResult$Stub;-><init>()V
-Landroid/view/IOnKeyguardExitResult$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IOnKeyguardExitResult;
-Landroid/view/IOnKeyguardExitResult$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IOnKeyguardExitResult$Stub;->TRANSACTION_onKeyguardExitResult:I
-Landroid/view/IOnKeyguardExitResult;
-Landroid/view/IPinnedStackController$Stub$Proxy;
-Landroid/view/IPinnedStackController$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/IPinnedStackController$Stub$Proxy;->getDisplayRotation()I
-Landroid/view/IPinnedStackController$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IPinnedStackController$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IPinnedStackController$Stub$Proxy;->setIsMinimized(Z)V
-Landroid/view/IPinnedStackController$Stub$Proxy;->setMinEdgeSize(I)V
-Landroid/view/IPinnedStackController$Stub;
-Landroid/view/IPinnedStackController$Stub;-><init>()V
-Landroid/view/IPinnedStackController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IPinnedStackController;
-Landroid/view/IPinnedStackController$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IPinnedStackController$Stub;->TRANSACTION_getDisplayRotation:I
-Landroid/view/IPinnedStackController$Stub;->TRANSACTION_setIsMinimized:I
-Landroid/view/IPinnedStackController$Stub;->TRANSACTION_setMinEdgeSize:I
-Landroid/view/IPinnedStackController;
-Landroid/view/IPinnedStackController;->getDisplayRotation()I
-Landroid/view/IPinnedStackController;->setIsMinimized(Z)V
-Landroid/view/IPinnedStackController;->setMinEdgeSize(I)V
-Landroid/view/IPinnedStackListener$Stub$Proxy;
-Landroid/view/IPinnedStackListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/IPinnedStackListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IPinnedStackListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IPinnedStackListener$Stub$Proxy;->onActionsChanged(Landroid/content/pm/ParceledListSlice;)V
-Landroid/view/IPinnedStackListener$Stub$Proxy;->onImeVisibilityChanged(ZI)V
-Landroid/view/IPinnedStackListener$Stub$Proxy;->onListenerRegistered(Landroid/view/IPinnedStackController;)V
-Landroid/view/IPinnedStackListener$Stub$Proxy;->onMinimizedStateChanged(Z)V
-Landroid/view/IPinnedStackListener$Stub$Proxy;->onMovementBoundsChanged(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZZI)V
-Landroid/view/IPinnedStackListener$Stub$Proxy;->onShelfVisibilityChanged(ZI)V
-Landroid/view/IPinnedStackListener$Stub;
-Landroid/view/IPinnedStackListener$Stub;-><init>()V
-Landroid/view/IPinnedStackListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IPinnedStackListener;
-Landroid/view/IPinnedStackListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IPinnedStackListener$Stub;->TRANSACTION_onActionsChanged:I
-Landroid/view/IPinnedStackListener$Stub;->TRANSACTION_onImeVisibilityChanged:I
-Landroid/view/IPinnedStackListener$Stub;->TRANSACTION_onListenerRegistered:I
-Landroid/view/IPinnedStackListener$Stub;->TRANSACTION_onMinimizedStateChanged:I
-Landroid/view/IPinnedStackListener$Stub;->TRANSACTION_onMovementBoundsChanged:I
-Landroid/view/IPinnedStackListener$Stub;->TRANSACTION_onShelfVisibilityChanged:I
-Landroid/view/IPinnedStackListener;
-Landroid/view/IPinnedStackListener;->onActionsChanged(Landroid/content/pm/ParceledListSlice;)V
-Landroid/view/IPinnedStackListener;->onImeVisibilityChanged(ZI)V
-Landroid/view/IPinnedStackListener;->onListenerRegistered(Landroid/view/IPinnedStackController;)V
-Landroid/view/IPinnedStackListener;->onMinimizedStateChanged(Z)V
-Landroid/view/IPinnedStackListener;->onMovementBoundsChanged(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZZI)V
-Landroid/view/IPinnedStackListener;->onShelfVisibilityChanged(ZI)V
-Landroid/view/IRecentsAnimationController$Stub$Proxy;
-Landroid/view/IRecentsAnimationController$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/IRecentsAnimationController$Stub$Proxy;->finish(Z)V
-Landroid/view/IRecentsAnimationController$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IRecentsAnimationController$Stub$Proxy;->hideCurrentInputMethod()V
-Landroid/view/IRecentsAnimationController$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IRecentsAnimationController$Stub$Proxy;->screenshotTask(I)Landroid/app/ActivityManager$TaskSnapshot;
-Landroid/view/IRecentsAnimationController$Stub$Proxy;->setAnimationTargetsBehindSystemBars(Z)V
-Landroid/view/IRecentsAnimationController$Stub$Proxy;->setInputConsumerEnabled(Z)V
-Landroid/view/IRecentsAnimationController$Stub$Proxy;->setSplitScreenMinimized(Z)V
-Landroid/view/IRecentsAnimationController$Stub;
-Landroid/view/IRecentsAnimationController$Stub;-><init>()V
-Landroid/view/IRecentsAnimationController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IRecentsAnimationController;
-Landroid/view/IRecentsAnimationController$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IRecentsAnimationController$Stub;->TRANSACTION_finish:I
-Landroid/view/IRecentsAnimationController$Stub;->TRANSACTION_hideCurrentInputMethod:I
-Landroid/view/IRecentsAnimationController$Stub;->TRANSACTION_screenshotTask:I
-Landroid/view/IRecentsAnimationController$Stub;->TRANSACTION_setAnimationTargetsBehindSystemBars:I
-Landroid/view/IRecentsAnimationController$Stub;->TRANSACTION_setInputConsumerEnabled:I
-Landroid/view/IRecentsAnimationController$Stub;->TRANSACTION_setSplitScreenMinimized:I
-Landroid/view/IRecentsAnimationController;
-Landroid/view/IRecentsAnimationController;->hideCurrentInputMethod()V
-Landroid/view/IRecentsAnimationController;->setSplitScreenMinimized(Z)V
-Landroid/view/IRecentsAnimationRunner$Stub$Proxy;
-Landroid/view/IRecentsAnimationRunner$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/IRecentsAnimationRunner$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IRecentsAnimationRunner$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IRecentsAnimationRunner$Stub$Proxy;->onAnimationCanceled()V
-Landroid/view/IRecentsAnimationRunner$Stub$Proxy;->onAnimationStart(Landroid/view/IRecentsAnimationController;[Landroid/view/RemoteAnimationTarget;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-Landroid/view/IRecentsAnimationRunner$Stub;
-Landroid/view/IRecentsAnimationRunner$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IRecentsAnimationRunner;
-Landroid/view/IRecentsAnimationRunner$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IRecentsAnimationRunner$Stub;->TRANSACTION_onAnimationCanceled:I
-Landroid/view/IRecentsAnimationRunner$Stub;->TRANSACTION_onAnimationStart:I
-Landroid/view/IRecentsAnimationRunner;
-Landroid/view/IRemoteAnimationFinishedCallback$Stub$Proxy;
-Landroid/view/IRemoteAnimationFinishedCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/IRemoteAnimationFinishedCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IRemoteAnimationFinishedCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IRemoteAnimationFinishedCallback$Stub$Proxy;->onAnimationFinished()V
-Landroid/view/IRemoteAnimationFinishedCallback$Stub;
-Landroid/view/IRemoteAnimationFinishedCallback$Stub;-><init>()V
-Landroid/view/IRemoteAnimationFinishedCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IRemoteAnimationFinishedCallback;
-Landroid/view/IRemoteAnimationFinishedCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IRemoteAnimationFinishedCallback$Stub;->TRANSACTION_onAnimationFinished:I
-Landroid/view/IRemoteAnimationFinishedCallback;
-Landroid/view/IRemoteAnimationRunner$Stub$Proxy;
-Landroid/view/IRemoteAnimationRunner$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/IRemoteAnimationRunner$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IRemoteAnimationRunner$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IRemoteAnimationRunner$Stub$Proxy;->onAnimationCancelled()V
-Landroid/view/IRemoteAnimationRunner$Stub$Proxy;->onAnimationStart([Landroid/view/RemoteAnimationTarget;Landroid/view/IRemoteAnimationFinishedCallback;)V
-Landroid/view/IRemoteAnimationRunner$Stub;
-Landroid/view/IRemoteAnimationRunner$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IRemoteAnimationRunner;
-Landroid/view/IRemoteAnimationRunner$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IRemoteAnimationRunner$Stub;->TRANSACTION_onAnimationCancelled:I
-Landroid/view/IRemoteAnimationRunner$Stub;->TRANSACTION_onAnimationStart:I
-Landroid/view/IRemoteAnimationRunner;
-Landroid/view/IRotationWatcher$Stub$Proxy;
-Landroid/view/IRotationWatcher$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/IRotationWatcher$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IRotationWatcher$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IRotationWatcher$Stub$Proxy;->onRotationChanged(I)V
-Landroid/view/IRotationWatcher$Stub;
-Landroid/view/IRotationWatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IRotationWatcher;
-Landroid/view/IRotationWatcher$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IRotationWatcher$Stub;->TRANSACTION_onRotationChanged:I
-Landroid/view/IRotationWatcher;
-Landroid/view/IWallpaperVisibilityListener$Stub$Proxy;
-Landroid/view/IWallpaperVisibilityListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/IWallpaperVisibilityListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IWallpaperVisibilityListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IWallpaperVisibilityListener$Stub$Proxy;->onWallpaperVisibilityChanged(ZI)V
-Landroid/view/IWallpaperVisibilityListener$Stub;
-Landroid/view/IWallpaperVisibilityListener$Stub;-><init>()V
-Landroid/view/IWallpaperVisibilityListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IWallpaperVisibilityListener;
-Landroid/view/IWallpaperVisibilityListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IWallpaperVisibilityListener$Stub;->TRANSACTION_onWallpaperVisibilityChanged:I
-Landroid/view/IWallpaperVisibilityListener;
-Landroid/view/IWallpaperVisibilityListener;->onWallpaperVisibilityChanged(ZI)V
-Landroid/view/IWindow$Stub$Proxy;
-Landroid/view/IWindow$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/IWindow$Stub$Proxy;->closeSystemDialogs(Ljava/lang/String;)V
-Landroid/view/IWindow$Stub$Proxy;->dispatchAppVisibility(Z)V
-Landroid/view/IWindow$Stub$Proxy;->dispatchDragEvent(Landroid/view/DragEvent;)V
-Landroid/view/IWindow$Stub$Proxy;->dispatchGetNewSurface()V
-Landroid/view/IWindow$Stub$Proxy;->dispatchPointerCaptureChanged(Z)V
-Landroid/view/IWindow$Stub$Proxy;->dispatchSystemUiVisibilityChanged(IIII)V
-Landroid/view/IWindow$Stub$Proxy;->dispatchWallpaperCommand(Ljava/lang/String;IIILandroid/os/Bundle;Z)V
-Landroid/view/IWindow$Stub$Proxy;->dispatchWallpaperOffsets(FFFFZ)V
-Landroid/view/IWindow$Stub$Proxy;->dispatchWindowShown()V
-Landroid/view/IWindow$Stub$Proxy;->executeCommand(Ljava/lang/String;Ljava/lang/String;Landroid/os/ParcelFileDescriptor;)V
-Landroid/view/IWindow$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IWindow$Stub$Proxy;->moved(II)V
-Landroid/view/IWindow$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IWindow$Stub$Proxy;->requestAppKeyboardShortcuts(Lcom/android/internal/os/IResultReceiver;I)V
-Landroid/view/IWindow$Stub$Proxy;->resized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
-Landroid/view/IWindow$Stub$Proxy;->updatePointerIcon(FF)V
-Landroid/view/IWindow$Stub$Proxy;->windowFocusChanged(ZZ)V
-Landroid/view/IWindow$Stub;
-Landroid/view/IWindow$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IWindow$Stub;->TRANSACTION_closeSystemDialogs:I
-Landroid/view/IWindow$Stub;->TRANSACTION_dispatchAppVisibility:I
-Landroid/view/IWindow$Stub;->TRANSACTION_dispatchDragEvent:I
-Landroid/view/IWindow$Stub;->TRANSACTION_dispatchGetNewSurface:I
-Landroid/view/IWindow$Stub;->TRANSACTION_dispatchPointerCaptureChanged:I
-Landroid/view/IWindow$Stub;->TRANSACTION_dispatchSystemUiVisibilityChanged:I
-Landroid/view/IWindow$Stub;->TRANSACTION_dispatchWallpaperCommand:I
-Landroid/view/IWindow$Stub;->TRANSACTION_dispatchWallpaperOffsets:I
-Landroid/view/IWindow$Stub;->TRANSACTION_dispatchWindowShown:I
-Landroid/view/IWindow$Stub;->TRANSACTION_executeCommand:I
-Landroid/view/IWindow$Stub;->TRANSACTION_moved:I
-Landroid/view/IWindow$Stub;->TRANSACTION_requestAppKeyboardShortcuts:I
-Landroid/view/IWindow$Stub;->TRANSACTION_resized:I
-Landroid/view/IWindow$Stub;->TRANSACTION_updatePointerIcon:I
-Landroid/view/IWindow$Stub;->TRANSACTION_windowFocusChanged:I
-Landroid/view/IWindow;
-Landroid/view/IWindow;->dispatchDragEvent(Landroid/view/DragEvent;)V
-Landroid/view/IWindow;->dispatchPointerCaptureChanged(Z)V
-Landroid/view/IWindow;->dispatchSystemUiVisibilityChanged(IIII)V
-Landroid/view/IWindow;->dispatchWindowShown()V
-Landroid/view/IWindow;->executeCommand(Ljava/lang/String;Ljava/lang/String;Landroid/os/ParcelFileDescriptor;)V
-Landroid/view/IWindow;->moved(II)V
-Landroid/view/IWindow;->requestAppKeyboardShortcuts(Lcom/android/internal/os/IResultReceiver;I)V
-Landroid/view/IWindow;->resized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
-Landroid/view/IWindow;->updatePointerIcon(FF)V
-Landroid/view/IWindowFocusObserver$Stub$Proxy;
-Landroid/view/IWindowFocusObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/IWindowFocusObserver$Stub$Proxy;->focusGained(Landroid/os/IBinder;)V
-Landroid/view/IWindowFocusObserver$Stub$Proxy;->focusLost(Landroid/os/IBinder;)V
-Landroid/view/IWindowFocusObserver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IWindowFocusObserver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IWindowFocusObserver$Stub;
-Landroid/view/IWindowFocusObserver$Stub;-><init>()V
-Landroid/view/IWindowFocusObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IWindowFocusObserver;
-Landroid/view/IWindowFocusObserver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IWindowFocusObserver$Stub;->TRANSACTION_focusGained:I
-Landroid/view/IWindowFocusObserver$Stub;->TRANSACTION_focusLost:I
-Landroid/view/IWindowFocusObserver;
-Landroid/view/IWindowFocusObserver;->focusGained(Landroid/os/IBinder;)V
-Landroid/view/IWindowFocusObserver;->focusLost(Landroid/os/IBinder;)V
-Landroid/view/IWindowId$Stub$Proxy;
-Landroid/view/IWindowId$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/IWindowId$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IWindowId$Stub$Proxy;->isFocused()Z
-Landroid/view/IWindowId$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IWindowId$Stub$Proxy;->registerFocusObserver(Landroid/view/IWindowFocusObserver;)V
-Landroid/view/IWindowId$Stub$Proxy;->unregisterFocusObserver(Landroid/view/IWindowFocusObserver;)V
-Landroid/view/IWindowId$Stub;
-Landroid/view/IWindowId$Stub;-><init>()V
-Landroid/view/IWindowId$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IWindowId;
-Landroid/view/IWindowId$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IWindowId$Stub;->TRANSACTION_isFocused:I
-Landroid/view/IWindowId$Stub;->TRANSACTION_registerFocusObserver:I
-Landroid/view/IWindowId$Stub;->TRANSACTION_unregisterFocusObserver:I
-Landroid/view/IWindowId;
-Landroid/view/IWindowId;->isFocused()Z
-Landroid/view/IWindowId;->registerFocusObserver(Landroid/view/IWindowFocusObserver;)V
-Landroid/view/IWindowId;->unregisterFocusObserver(Landroid/view/IWindowFocusObserver;)V
-Landroid/view/IWindowManager$Stub$Proxy;
-Landroid/view/IWindowManager$Stub$Proxy;->addWindowToken(Landroid/os/IBinder;II)V
-Landroid/view/IWindowManager$Stub$Proxy;->clearForcedDisplayDensityForUser(II)V
-Landroid/view/IWindowManager$Stub$Proxy;->clearForcedDisplaySize(I)V
-Landroid/view/IWindowManager$Stub$Proxy;->clearWindowContentFrameStats(Landroid/os/IBinder;)Z
-Landroid/view/IWindowManager$Stub$Proxy;->closeSystemDialogs(Ljava/lang/String;)V
-Landroid/view/IWindowManager$Stub$Proxy;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/InputChannel;)V
-Landroid/view/IWindowManager$Stub$Proxy;->destroyInputConsumer(Ljava/lang/String;)Z
-Landroid/view/IWindowManager$Stub$Proxy;->disableKeyguard(Landroid/os/IBinder;Ljava/lang/String;)V
-Landroid/view/IWindowManager$Stub$Proxy;->dismissKeyguard(Lcom/android/internal/policy/IKeyguardDismissCallback;Ljava/lang/CharSequence;)V
-Landroid/view/IWindowManager$Stub$Proxy;->dontOverrideDisplayInfo(I)V
-Landroid/view/IWindowManager$Stub$Proxy;->enableScreenIfNeeded()V
-Landroid/view/IWindowManager$Stub$Proxy;->endProlongedAnimations()V
-Landroid/view/IWindowManager$Stub$Proxy;->executeAppTransition()V
-Landroid/view/IWindowManager$Stub$Proxy;->exitKeyguardSecurely(Landroid/view/IOnKeyguardExitResult;)V
-Landroid/view/IWindowManager$Stub$Proxy;->freezeRotation(I)V
-Landroid/view/IWindowManager$Stub$Proxy;->getAnimationScale(I)F
-Landroid/view/IWindowManager$Stub$Proxy;->getAnimationScales()[F
-Landroid/view/IWindowManager$Stub$Proxy;->getBaseDisplaySize(ILandroid/graphics/Point;)V
-Landroid/view/IWindowManager$Stub$Proxy;->getCurrentAnimatorScale()F
-Landroid/view/IWindowManager$Stub$Proxy;->getCurrentImeTouchRegion()Landroid/graphics/Region;
-Landroid/view/IWindowManager$Stub$Proxy;->getDefaultDisplayRotation()I
-Landroid/view/IWindowManager$Stub$Proxy;->getInitialDisplaySize(ILandroid/graphics/Point;)V
-Landroid/view/IWindowManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IWindowManager$Stub$Proxy;->getNavBarPosition()I
-Landroid/view/IWindowManager$Stub$Proxy;->getPendingAppTransition()I
-Landroid/view/IWindowManager$Stub$Proxy;->getPreferredOptionsPanelGravity()I
-Landroid/view/IWindowManager$Stub$Proxy;->getStableInsets(ILandroid/graphics/Rect;)V
-Landroid/view/IWindowManager$Stub$Proxy;->getWindowContentFrameStats(Landroid/os/IBinder;)Landroid/view/WindowContentFrameStats;
-Landroid/view/IWindowManager$Stub$Proxy;->inputMethodClientHasFocus(Lcom/android/internal/view/IInputMethodClient;)Z
-Landroid/view/IWindowManager$Stub$Proxy;->isKeyguardLocked()Z
-Landroid/view/IWindowManager$Stub$Proxy;->isKeyguardSecure()Z
-Landroid/view/IWindowManager$Stub$Proxy;->isRotationFrozen()Z
-Landroid/view/IWindowManager$Stub$Proxy;->isSafeModeEnabled()Z
-Landroid/view/IWindowManager$Stub$Proxy;->isViewServerRunning()Z
-Landroid/view/IWindowManager$Stub$Proxy;->isWindowTraceEnabled()Z
-Landroid/view/IWindowManager$Stub$Proxy;->lockNow(Landroid/os/Bundle;)V
-Landroid/view/IWindowManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IWindowManager$Stub$Proxy;->openSession(Landroid/view/IWindowSessionCallback;Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;)Landroid/view/IWindowSession;
-Landroid/view/IWindowManager$Stub$Proxy;->overridePendingAppTransition(Ljava/lang/String;IILandroid/os/IRemoteCallback;)V
-Landroid/view/IWindowManager$Stub$Proxy;->overridePendingAppTransitionAspectScaledThumb(Landroid/graphics/GraphicBuffer;IIIILandroid/os/IRemoteCallback;Z)V
-Landroid/view/IWindowManager$Stub$Proxy;->overridePendingAppTransitionClipReveal(IIII)V
-Landroid/view/IWindowManager$Stub$Proxy;->overridePendingAppTransitionInPlace(Ljava/lang/String;I)V
-Landroid/view/IWindowManager$Stub$Proxy;->overridePendingAppTransitionMultiThumb([Landroid/view/AppTransitionAnimationSpec;Landroid/os/IRemoteCallback;Landroid/os/IRemoteCallback;Z)V
-Landroid/view/IWindowManager$Stub$Proxy;->overridePendingAppTransitionMultiThumbFuture(Landroid/view/IAppTransitionAnimationSpecsFuture;Landroid/os/IRemoteCallback;Z)V
-Landroid/view/IWindowManager$Stub$Proxy;->overridePendingAppTransitionRemote(Landroid/view/RemoteAnimationAdapter;)V
-Landroid/view/IWindowManager$Stub$Proxy;->overridePendingAppTransitionScaleUp(IIII)V
-Landroid/view/IWindowManager$Stub$Proxy;->overridePendingAppTransitionThumb(Landroid/graphics/GraphicBuffer;IILandroid/os/IRemoteCallback;Z)V
-Landroid/view/IWindowManager$Stub$Proxy;->prepareAppTransition(IZ)V
-Landroid/view/IWindowManager$Stub$Proxy;->reenableKeyguard(Landroid/os/IBinder;)V
-Landroid/view/IWindowManager$Stub$Proxy;->refreshScreenCaptureDisabled(I)V
-Landroid/view/IWindowManager$Stub$Proxy;->registerDockedStackListener(Landroid/view/IDockedStackListener;)V
-Landroid/view/IWindowManager$Stub$Proxy;->registerPinnedStackListener(ILandroid/view/IPinnedStackListener;)V
-Landroid/view/IWindowManager$Stub$Proxy;->registerShortcutKey(JLcom/android/internal/policy/IShortcutService;)V
-Landroid/view/IWindowManager$Stub$Proxy;->registerWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)Z
-Landroid/view/IWindowManager$Stub$Proxy;->removeRotationWatcher(Landroid/view/IRotationWatcher;)V
-Landroid/view/IWindowManager$Stub$Proxy;->removeWindowToken(Landroid/os/IBinder;I)V
-Landroid/view/IWindowManager$Stub$Proxy;->requestAppKeyboardShortcuts(Lcom/android/internal/os/IResultReceiver;I)V
-Landroid/view/IWindowManager$Stub$Proxy;->requestAssistScreenshot(Landroid/app/IAssistDataReceiver;)Z
-Landroid/view/IWindowManager$Stub$Proxy;->requestUserActivityNotification()V
-Landroid/view/IWindowManager$Stub$Proxy;->screenshotWallpaper()Landroid/graphics/Bitmap;
-Landroid/view/IWindowManager$Stub$Proxy;->setAnimationScale(IF)V
-Landroid/view/IWindowManager$Stub$Proxy;->setAnimationScales([F)V
-Landroid/view/IWindowManager$Stub$Proxy;->setDockedStackDividerTouchRegion(Landroid/graphics/Rect;)V
-Landroid/view/IWindowManager$Stub$Proxy;->setEventDispatching(Z)V
-Landroid/view/IWindowManager$Stub$Proxy;->setFocusedApp(Landroid/os/IBinder;Z)V
-Landroid/view/IWindowManager$Stub$Proxy;->setForcedDisplayDensityForUser(III)V
-Landroid/view/IWindowManager$Stub$Proxy;->setForcedDisplayScalingMode(II)V
-Landroid/view/IWindowManager$Stub$Proxy;->setForcedDisplaySize(III)V
-Landroid/view/IWindowManager$Stub$Proxy;->setInTouchMode(Z)V
-Landroid/view/IWindowManager$Stub$Proxy;->setNavBarVirtualKeyHapticFeedbackEnabled(Z)V
-Landroid/view/IWindowManager$Stub$Proxy;->setNewDisplayOverrideConfiguration(Landroid/content/res/Configuration;I)[I
-Landroid/view/IWindowManager$Stub$Proxy;->setOverscan(IIIII)V
-Landroid/view/IWindowManager$Stub$Proxy;->setPipVisibility(Z)V
-Landroid/view/IWindowManager$Stub$Proxy;->setRecentsVisibility(Z)V
-Landroid/view/IWindowManager$Stub$Proxy;->setResizeDimLayer(ZIF)V
-Landroid/view/IWindowManager$Stub$Proxy;->setShelfHeight(ZI)V
-Landroid/view/IWindowManager$Stub$Proxy;->setStrictModeVisualIndicatorPreference(Ljava/lang/String;)V
-Landroid/view/IWindowManager$Stub$Proxy;->setSwitchingUser(Z)V
-Landroid/view/IWindowManager$Stub$Proxy;->showStrictModeViolation(Z)V
-Landroid/view/IWindowManager$Stub$Proxy;->startFreezingScreen(II)V
-Landroid/view/IWindowManager$Stub$Proxy;->startViewServer(I)Z
-Landroid/view/IWindowManager$Stub$Proxy;->startWindowTrace()V
-Landroid/view/IWindowManager$Stub$Proxy;->statusBarVisibilityChanged(I)V
-Landroid/view/IWindowManager$Stub$Proxy;->stopFreezingScreen()V
-Landroid/view/IWindowManager$Stub$Proxy;->stopViewServer()Z
-Landroid/view/IWindowManager$Stub$Proxy;->stopWindowTrace()V
-Landroid/view/IWindowManager$Stub$Proxy;->thawRotation()V
-Landroid/view/IWindowManager$Stub$Proxy;->unregisterWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)V
-Landroid/view/IWindowManager$Stub$Proxy;->updateOrientationFromAppTokens(Landroid/content/res/Configuration;Landroid/os/IBinder;I)Landroid/content/res/Configuration;
-Landroid/view/IWindowManager$Stub$Proxy;->updateRotation(ZZ)V
-Landroid/view/IWindowManager$Stub;
-Landroid/view/IWindowManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IWindowManager$Stub;->TRANSACTION_addWindowToken:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_clearForcedDisplayDensityForUser:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_clearForcedDisplaySize:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_clearWindowContentFrameStats:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_closeSystemDialogs:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_createInputConsumer:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_destroyInputConsumer:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_disableKeyguard:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_dismissKeyguard:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_dontOverrideDisplayInfo:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_enableScreenIfNeeded:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_endProlongedAnimations:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_executeAppTransition:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_exitKeyguardSecurely:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_freezeRotation:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_getAnimationScale:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_getAnimationScales:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_getBaseDisplayDensity:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_getBaseDisplaySize:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_getCurrentAnimatorScale:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_getCurrentImeTouchRegion:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_getDefaultDisplayRotation:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_getDockedStackSide:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_getInitialDisplayDensity:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_getInitialDisplaySize:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_getNavBarPosition:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_getPendingAppTransition:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_getPreferredOptionsPanelGravity:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_getStableInsets:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_getWindowContentFrameStats:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_hasNavigationBar:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_inputMethodClientHasFocus:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_isKeyguardLocked:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_isKeyguardSecure:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_isRotationFrozen:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_isSafeModeEnabled:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_isViewServerRunning:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_isWindowTraceEnabled:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_lockNow:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_openSession:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_overridePendingAppTransition:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_overridePendingAppTransitionAspectScaledThumb:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_overridePendingAppTransitionClipReveal:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_overridePendingAppTransitionInPlace:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_overridePendingAppTransitionMultiThumb:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_overridePendingAppTransitionMultiThumbFuture:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_overridePendingAppTransitionRemote:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_overridePendingAppTransitionScaleUp:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_overridePendingAppTransitionThumb:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_prepareAppTransition:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_reenableKeyguard:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_refreshScreenCaptureDisabled:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_registerDockedStackListener:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_registerPinnedStackListener:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_registerShortcutKey:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_registerWallpaperVisibilityListener:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_removeRotationWatcher:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_removeWindowToken:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_requestAppKeyboardShortcuts:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_requestAssistScreenshot:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_requestUserActivityNotification:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_screenshotWallpaper:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_setAnimationScale:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_setAnimationScales:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_setDockedStackDividerTouchRegion:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_setEventDispatching:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_setFocusedApp:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_setForcedDisplayDensityForUser:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_setForcedDisplayScalingMode:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_setForcedDisplaySize:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_setInTouchMode:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_setNavBarVirtualKeyHapticFeedbackEnabled:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_setNewDisplayOverrideConfiguration:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_setOverscan:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_setPipVisibility:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_setRecentsVisibility:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_setResizeDimLayer:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_setShelfHeight:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_setStrictModeVisualIndicatorPreference:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_setSwitchingUser:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_showStrictModeViolation:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_startFreezingScreen:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_startViewServer:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_startWindowTrace:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_statusBarVisibilityChanged:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_stopFreezingScreen:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_stopViewServer:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_stopWindowTrace:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_thawRotation:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_unregisterWallpaperVisibilityListener:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_updateOrientationFromAppTokens:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_updateRotation:I
-Landroid/view/IWindowManager$Stub;->TRANSACTION_watchRotation:I
-Landroid/view/IWindowManager;
-Landroid/view/IWindowManager;->addWindowToken(Landroid/os/IBinder;II)V
-Landroid/view/IWindowManager;->clearForcedDisplayDensityForUser(II)V
-Landroid/view/IWindowManager;->clearForcedDisplaySize(I)V
-Landroid/view/IWindowManager;->clearWindowContentFrameStats(Landroid/os/IBinder;)Z
-Landroid/view/IWindowManager;->closeSystemDialogs(Ljava/lang/String;)V
-Landroid/view/IWindowManager;->disableKeyguard(Landroid/os/IBinder;Ljava/lang/String;)V
-Landroid/view/IWindowManager;->dismissKeyguard(Lcom/android/internal/policy/IKeyguardDismissCallback;Ljava/lang/CharSequence;)V
-Landroid/view/IWindowManager;->dontOverrideDisplayInfo(I)V
-Landroid/view/IWindowManager;->enableScreenIfNeeded()V
-Landroid/view/IWindowManager;->exitKeyguardSecurely(Landroid/view/IOnKeyguardExitResult;)V
-Landroid/view/IWindowManager;->getBaseDisplayDensity(I)I
-Landroid/view/IWindowManager;->getCurrentAnimatorScale()F
-Landroid/view/IWindowManager;->getCurrentImeTouchRegion()Landroid/graphics/Region;
-Landroid/view/IWindowManager;->getDefaultDisplayRotation()I
-Landroid/view/IWindowManager;->getNavBarPosition()I
-Landroid/view/IWindowManager;->getPreferredOptionsPanelGravity()I
-Landroid/view/IWindowManager;->getWindowContentFrameStats(Landroid/os/IBinder;)Landroid/view/WindowContentFrameStats;
-Landroid/view/IWindowManager;->isRotationFrozen()Z
-Landroid/view/IWindowManager;->isViewServerRunning()Z
-Landroid/view/IWindowManager;->isWindowTraceEnabled()Z
-Landroid/view/IWindowManager;->openSession(Landroid/view/IWindowSessionCallback;Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;)Landroid/view/IWindowSession;
-Landroid/view/IWindowManager;->overridePendingAppTransition(Ljava/lang/String;IILandroid/os/IRemoteCallback;)V
-Landroid/view/IWindowManager;->overridePendingAppTransitionAspectScaledThumb(Landroid/graphics/GraphicBuffer;IIIILandroid/os/IRemoteCallback;Z)V
-Landroid/view/IWindowManager;->overridePendingAppTransitionClipReveal(IIII)V
-Landroid/view/IWindowManager;->overridePendingAppTransitionInPlace(Ljava/lang/String;I)V
-Landroid/view/IWindowManager;->overridePendingAppTransitionMultiThumb([Landroid/view/AppTransitionAnimationSpec;Landroid/os/IRemoteCallback;Landroid/os/IRemoteCallback;Z)V
-Landroid/view/IWindowManager;->overridePendingAppTransitionScaleUp(IIII)V
-Landroid/view/IWindowManager;->overridePendingAppTransitionThumb(Landroid/graphics/GraphicBuffer;IILandroid/os/IRemoteCallback;Z)V
-Landroid/view/IWindowManager;->prepareAppTransition(IZ)V
-Landroid/view/IWindowManager;->reenableKeyguard(Landroid/os/IBinder;)V
-Landroid/view/IWindowManager;->refreshScreenCaptureDisabled(I)V
-Landroid/view/IWindowManager;->registerPinnedStackListener(ILandroid/view/IPinnedStackListener;)V
-Landroid/view/IWindowManager;->registerShortcutKey(JLcom/android/internal/policy/IShortcutService;)V
-Landroid/view/IWindowManager;->registerWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)Z
-Landroid/view/IWindowManager;->removeWindowToken(Landroid/os/IBinder;I)V
-Landroid/view/IWindowManager;->requestAppKeyboardShortcuts(Lcom/android/internal/os/IResultReceiver;I)V
-Landroid/view/IWindowManager;->requestAssistScreenshot(Landroid/app/IAssistDataReceiver;)Z
-Landroid/view/IWindowManager;->requestUserActivityNotification()V
-Landroid/view/IWindowManager;->screenshotWallpaper()Landroid/graphics/Bitmap;
-Landroid/view/IWindowManager;->setDockedStackDividerTouchRegion(Landroid/graphics/Rect;)V
-Landroid/view/IWindowManager;->setEventDispatching(Z)V
-Landroid/view/IWindowManager;->setFocusedApp(Landroid/os/IBinder;Z)V
-Landroid/view/IWindowManager;->setForcedDisplayDensityForUser(III)V
-Landroid/view/IWindowManager;->setForcedDisplayScalingMode(II)V
-Landroid/view/IWindowManager;->setForcedDisplaySize(III)V
-Landroid/view/IWindowManager;->setNewDisplayOverrideConfiguration(Landroid/content/res/Configuration;I)[I
-Landroid/view/IWindowManager;->setOverscan(IIIII)V
-Landroid/view/IWindowManager;->setPipVisibility(Z)V
-Landroid/view/IWindowManager;->setRecentsVisibility(Z)V
-Landroid/view/IWindowManager;->setResizeDimLayer(ZIF)V
-Landroid/view/IWindowManager;->setSwitchingUser(Z)V
-Landroid/view/IWindowManager;->startFreezingScreen(II)V
-Landroid/view/IWindowManager;->startViewServer(I)Z
-Landroid/view/IWindowManager;->startWindowTrace()V
-Landroid/view/IWindowManager;->statusBarVisibilityChanged(I)V
-Landroid/view/IWindowManager;->stopFreezingScreen()V
-Landroid/view/IWindowManager;->stopViewServer()Z
-Landroid/view/IWindowManager;->stopWindowTrace()V
-Landroid/view/IWindowManager;->unregisterWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)V
-Landroid/view/IWindowManager;->updateOrientationFromAppTokens(Landroid/content/res/Configuration;Landroid/os/IBinder;I)Landroid/content/res/Configuration;
-Landroid/view/IWindowManager;->updateRotation(ZZ)V
-Landroid/view/IWindowManager;->watchRotation(Landroid/view/IRotationWatcher;I)I
-Landroid/view/IWindowSession$Stub$Proxy;
-Landroid/view/IWindowSession$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/IWindowSession$Stub$Proxy;->add(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/InputChannel;)I
-Landroid/view/IWindowSession$Stub$Proxy;->addToDisplay(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/InputChannel;)I
-Landroid/view/IWindowSession$Stub$Proxy;->addToDisplayWithoutInputChannel(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IILandroid/graphics/Rect;Landroid/graphics/Rect;)I
-Landroid/view/IWindowSession$Stub$Proxy;->addWithoutInputChannel(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;ILandroid/graphics/Rect;Landroid/graphics/Rect;)I
-Landroid/view/IWindowSession$Stub$Proxy;->cancelDragAndDrop(Landroid/os/IBinder;)V
-Landroid/view/IWindowSession$Stub$Proxy;->dragRecipientEntered(Landroid/view/IWindow;)V
-Landroid/view/IWindowSession$Stub$Proxy;->dragRecipientExited(Landroid/view/IWindow;)V
-Landroid/view/IWindowSession$Stub$Proxy;->finishDrawing(Landroid/view/IWindow;)V
-Landroid/view/IWindowSession$Stub$Proxy;->getDisplayFrame(Landroid/view/IWindow;Landroid/graphics/Rect;)V
-Landroid/view/IWindowSession$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IWindowSession$Stub$Proxy;->getInTouchMode()Z
-Landroid/view/IWindowSession$Stub$Proxy;->getWindowId(Landroid/os/IBinder;)Landroid/view/IWindowId;
-Landroid/view/IWindowSession$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IWindowSession$Stub$Proxy;->onRectangleOnScreenRequested(Landroid/os/IBinder;Landroid/graphics/Rect;)V
-Landroid/view/IWindowSession$Stub$Proxy;->outOfMemory(Landroid/view/IWindow;)Z
-Landroid/view/IWindowSession$Stub$Proxy;->performDrag(Landroid/view/IWindow;ILandroid/view/SurfaceControl;IFFFFLandroid/content/ClipData;)Landroid/os/IBinder;
-Landroid/view/IWindowSession$Stub$Proxy;->performHapticFeedback(Landroid/view/IWindow;IZ)Z
-Landroid/view/IWindowSession$Stub$Proxy;->pokeDrawLock(Landroid/os/IBinder;)V
-Landroid/view/IWindowSession$Stub$Proxy;->prepareToReplaceWindows(Landroid/os/IBinder;Z)V
-Landroid/view/IWindowSession$Stub$Proxy;->remove(Landroid/view/IWindow;)V
-Landroid/view/IWindowSession$Stub$Proxy;->reportDropResult(Landroid/view/IWindow;Z)V
-Landroid/view/IWindowSession$Stub$Proxy;->sendWallpaperCommand(Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;Z)Landroid/os/Bundle;
-Landroid/view/IWindowSession$Stub$Proxy;->setInsets(Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
-Landroid/view/IWindowSession$Stub$Proxy;->setInTouchMode(Z)V
-Landroid/view/IWindowSession$Stub$Proxy;->setTransparentRegion(Landroid/view/IWindow;Landroid/graphics/Region;)V
-Landroid/view/IWindowSession$Stub$Proxy;->setWallpaperDisplayOffset(Landroid/os/IBinder;II)V
-Landroid/view/IWindowSession$Stub$Proxy;->setWallpaperPosition(Landroid/os/IBinder;FFFF)V
-Landroid/view/IWindowSession$Stub$Proxy;->startMovingTask(Landroid/view/IWindow;FF)Z
-Landroid/view/IWindowSession$Stub$Proxy;->updatePointerIcon(Landroid/view/IWindow;)V
-Landroid/view/IWindowSession$Stub$Proxy;->updateTapExcludeRegion(Landroid/view/IWindow;IIIII)V
-Landroid/view/IWindowSession$Stub$Proxy;->wallpaperCommandComplete(Landroid/os/IBinder;Landroid/os/Bundle;)V
-Landroid/view/IWindowSession$Stub$Proxy;->wallpaperOffsetsComplete(Landroid/os/IBinder;)V
-Landroid/view/IWindowSession$Stub;
-Landroid/view/IWindowSession$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IWindowSession$Stub;->TRANSACTION_add:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_addToDisplay:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_addToDisplayWithoutInputChannel:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_addWithoutInputChannel:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_cancelDragAndDrop:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_dragRecipientEntered:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_dragRecipientExited:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_finishDrawing:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_getDisplayFrame:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_getInTouchMode:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_getWindowId:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_onRectangleOnScreenRequested:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_outOfMemory:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_performDrag:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_performHapticFeedback:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_pokeDrawLock:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_prepareToReplaceWindows:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_relayout:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_remove:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_reportDropResult:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_sendWallpaperCommand:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_setInsets:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_setInTouchMode:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_setTransparentRegion:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_setWallpaperDisplayOffset:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_setWallpaperPosition:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_startMovingTask:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_updatePointerIcon:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_updateTapExcludeRegion:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_wallpaperCommandComplete:I
-Landroid/view/IWindowSession$Stub;->TRANSACTION_wallpaperOffsetsComplete:I
-Landroid/view/IWindowSession;
-Landroid/view/IWindowSession;->add(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/InputChannel;)I
-Landroid/view/IWindowSession;->addToDisplay(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/InputChannel;)I
-Landroid/view/IWindowSession;->addToDisplayWithoutInputChannel(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IILandroid/graphics/Rect;Landroid/graphics/Rect;)I
-Landroid/view/IWindowSession;->addWithoutInputChannel(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;ILandroid/graphics/Rect;Landroid/graphics/Rect;)I
-Landroid/view/IWindowSession;->cancelDragAndDrop(Landroid/os/IBinder;)V
-Landroid/view/IWindowSession;->dragRecipientEntered(Landroid/view/IWindow;)V
-Landroid/view/IWindowSession;->dragRecipientExited(Landroid/view/IWindow;)V
-Landroid/view/IWindowSession;->getDisplayFrame(Landroid/view/IWindow;Landroid/graphics/Rect;)V
-Landroid/view/IWindowSession;->getWindowId(Landroid/os/IBinder;)Landroid/view/IWindowId;
-Landroid/view/IWindowSession;->onRectangleOnScreenRequested(Landroid/os/IBinder;Landroid/graphics/Rect;)V
-Landroid/view/IWindowSession;->outOfMemory(Landroid/view/IWindow;)Z
-Landroid/view/IWindowSession;->pokeDrawLock(Landroid/os/IBinder;)V
-Landroid/view/IWindowSession;->prepareToReplaceWindows(Landroid/os/IBinder;Z)V
-Landroid/view/IWindowSession;->relayout(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/Surface;)I
-Landroid/view/IWindowSession;->reportDropResult(Landroid/view/IWindow;Z)V
-Landroid/view/IWindowSession;->sendWallpaperCommand(Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;Z)Landroid/os/Bundle;
-Landroid/view/IWindowSession;->setInsets(Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
-Landroid/view/IWindowSession;->setWallpaperDisplayOffset(Landroid/os/IBinder;II)V
-Landroid/view/IWindowSession;->setWallpaperPosition(Landroid/os/IBinder;FFFF)V
-Landroid/view/IWindowSession;->startMovingTask(Landroid/view/IWindow;FF)Z
-Landroid/view/IWindowSession;->updatePointerIcon(Landroid/view/IWindow;)V
-Landroid/view/IWindowSession;->updateTapExcludeRegion(Landroid/view/IWindow;IIIII)V
-Landroid/view/IWindowSessionCallback$Stub$Proxy;
-Landroid/view/IWindowSessionCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/view/IWindowSessionCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/view/IWindowSessionCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/view/IWindowSessionCallback$Stub$Proxy;->onAnimatorScaleChanged(F)V
-Landroid/view/IWindowSessionCallback$Stub;
-Landroid/view/IWindowSessionCallback$Stub;-><init>()V
-Landroid/view/IWindowSessionCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IWindowSessionCallback;
-Landroid/view/IWindowSessionCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/view/IWindowSessionCallback$Stub;->TRANSACTION_onAnimatorScaleChanged:I
-Landroid/view/IWindowSessionCallback;
-Landroid/view/IWindowSessionCallback;->onAnimatorScaleChanged(F)V
-Landroid/view/KeyboardShortcutGroup;-><init>(Landroid/os/Parcel;)V
-Landroid/view/KeyboardShortcutGroup;->mItems:Ljava/util/List;
-Landroid/view/KeyboardShortcutGroup;->mLabel:Ljava/lang/CharSequence;
-Landroid/view/KeyboardShortcutGroup;->mSystemGroup:Z
-Landroid/view/KeyboardShortcutInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/view/KeyboardShortcutInfo;-><init>(Ljava/lang/CharSequence;Landroid/graphics/drawable/Icon;II)V
-Landroid/view/KeyboardShortcutInfo;->getIcon()Landroid/graphics/drawable/Icon;
-Landroid/view/KeyboardShortcutInfo;->mBaseCharacter:C
-Landroid/view/KeyboardShortcutInfo;->mIcon:Landroid/graphics/drawable/Icon;
-Landroid/view/KeyboardShortcutInfo;->mKeycode:I
-Landroid/view/KeyboardShortcutInfo;->mLabel:Ljava/lang/CharSequence;
-Landroid/view/KeyboardShortcutInfo;->mModifiers:I
-Landroid/view/KeyCharacterMap$FallbackAction;
-Landroid/view/KeyCharacterMap$FallbackAction;-><init>()V
-Landroid/view/KeyCharacterMap$FallbackAction;->MAX_RECYCLED:I
-Landroid/view/KeyCharacterMap$FallbackAction;->next:Landroid/view/KeyCharacterMap$FallbackAction;
-Landroid/view/KeyCharacterMap$FallbackAction;->obtain()Landroid/view/KeyCharacterMap$FallbackAction;
-Landroid/view/KeyCharacterMap$FallbackAction;->recycle()V
-Landroid/view/KeyCharacterMap$FallbackAction;->sRecycleBin:Landroid/view/KeyCharacterMap$FallbackAction;
-Landroid/view/KeyCharacterMap$FallbackAction;->sRecycledCount:I
-Landroid/view/KeyCharacterMap$FallbackAction;->sRecycleLock:Ljava/lang/Object;
-Landroid/view/KeyCharacterMap;-><init>(Landroid/os/Parcel;)V
-Landroid/view/KeyCharacterMap;->ACCENT_ACUTE:I
-Landroid/view/KeyCharacterMap;->ACCENT_BREVE:I
-Landroid/view/KeyCharacterMap;->ACCENT_CARON:I
-Landroid/view/KeyCharacterMap;->ACCENT_CEDILLA:I
-Landroid/view/KeyCharacterMap;->ACCENT_CIRCUMFLEX:I
-Landroid/view/KeyCharacterMap;->ACCENT_CIRCUMFLEX_LEGACY:I
-Landroid/view/KeyCharacterMap;->ACCENT_COMMA_ABOVE:I
-Landroid/view/KeyCharacterMap;->ACCENT_COMMA_ABOVE_RIGHT:I
-Landroid/view/KeyCharacterMap;->ACCENT_DOT_ABOVE:I
-Landroid/view/KeyCharacterMap;->ACCENT_DOT_BELOW:I
-Landroid/view/KeyCharacterMap;->ACCENT_DOUBLE_ACUTE:I
-Landroid/view/KeyCharacterMap;->ACCENT_GRAVE:I
-Landroid/view/KeyCharacterMap;->ACCENT_GRAVE_LEGACY:I
-Landroid/view/KeyCharacterMap;->ACCENT_HOOK_ABOVE:I
-Landroid/view/KeyCharacterMap;->ACCENT_HORN:I
-Landroid/view/KeyCharacterMap;->ACCENT_MACRON:I
-Landroid/view/KeyCharacterMap;->ACCENT_MACRON_BELOW:I
-Landroid/view/KeyCharacterMap;->ACCENT_OGONEK:I
-Landroid/view/KeyCharacterMap;->ACCENT_REVERSED_COMMA_ABOVE:I
-Landroid/view/KeyCharacterMap;->ACCENT_RING_ABOVE:I
-Landroid/view/KeyCharacterMap;->ACCENT_STROKE:I
-Landroid/view/KeyCharacterMap;->ACCENT_TILDE:I
-Landroid/view/KeyCharacterMap;->ACCENT_TILDE_LEGACY:I
-Landroid/view/KeyCharacterMap;->ACCENT_TURNED_COMMA_ABOVE:I
-Landroid/view/KeyCharacterMap;->ACCENT_UMLAUT:I
-Landroid/view/KeyCharacterMap;->ACCENT_VERTICAL_LINE_ABOVE:I
-Landroid/view/KeyCharacterMap;->ACCENT_VERTICAL_LINE_BELOW:I
-Landroid/view/KeyCharacterMap;->addCombining(II)V
-Landroid/view/KeyCharacterMap;->addDeadKey(III)V
-Landroid/view/KeyCharacterMap;->CHAR_SPACE:I
-Landroid/view/KeyCharacterMap;->getFallbackAction(II)Landroid/view/KeyCharacterMap$FallbackAction;
-Landroid/view/KeyCharacterMap;->mPtr:J
-Landroid/view/KeyCharacterMap;->nativeDispose(J)V
-Landroid/view/KeyCharacterMap;->nativeGetCharacter(JII)C
-Landroid/view/KeyCharacterMap;->nativeGetDisplayLabel(JI)C
-Landroid/view/KeyCharacterMap;->nativeGetEvents(J[C)[Landroid/view/KeyEvent;
-Landroid/view/KeyCharacterMap;->nativeGetFallbackAction(JIILandroid/view/KeyCharacterMap$FallbackAction;)Z
-Landroid/view/KeyCharacterMap;->nativeGetKeyboardType(J)I
-Landroid/view/KeyCharacterMap;->nativeGetMatch(JI[CI)C
-Landroid/view/KeyCharacterMap;->nativeGetNumber(JI)C
-Landroid/view/KeyCharacterMap;->nativeReadFromParcel(Landroid/os/Parcel;)J
-Landroid/view/KeyCharacterMap;->nativeWriteToParcel(JLandroid/os/Parcel;)V
-Landroid/view/KeyCharacterMap;->sAccentToCombining:Landroid/util/SparseIntArray;
-Landroid/view/KeyCharacterMap;->sCombiningToAccent:Landroid/util/SparseIntArray;
-Landroid/view/KeyCharacterMap;->sDeadKeyBuilder:Ljava/lang/StringBuilder;
-Landroid/view/KeyCharacterMap;->sDeadKeyCache:Landroid/util/SparseIntArray;
-Landroid/view/KeyEvent$DispatcherState;->mActiveLongPresses:Landroid/util/SparseIntArray;
-Landroid/view/KeyEvent$DispatcherState;->mDownKeyCode:I
-Landroid/view/KeyEvent$DispatcherState;->mDownTarget:Ljava/lang/Object;
-Landroid/view/KeyEvent;-><init>()V
-Landroid/view/KeyEvent;-><init>(Landroid/os/Parcel;)V
-Landroid/view/KeyEvent;-><init>(Landroid/view/KeyEvent;I)V
-Landroid/view/KeyEvent;->cancel()V
-Landroid/view/KeyEvent;->copy()Landroid/view/KeyEvent;
-Landroid/view/KeyEvent;->createFromParcelBody(Landroid/os/Parcel;)Landroid/view/KeyEvent;
-Landroid/view/KeyEvent;->DEBUG:Z
-Landroid/view/KeyEvent;->FLAG_PREDISPATCH:I
-Landroid/view/KeyEvent;->FLAG_START_TRACKING:I
-Landroid/view/KeyEvent;->FLAG_TAINTED:I
-Landroid/view/KeyEvent;->getEventTimeNano()J
-Landroid/view/KeyEvent;->getKeyboardDevice()I
-Landroid/view/KeyEvent;->gRecyclerLock:Ljava/lang/Object;
-Landroid/view/KeyEvent;->gRecyclerTop:Landroid/view/KeyEvent;
-Landroid/view/KeyEvent;->gRecyclerUsed:I
-Landroid/view/KeyEvent;->isAltKey(I)Z
-Landroid/view/KeyEvent;->isMediaKey(I)Z
-Landroid/view/KeyEvent;->isMetaKey(I)Z
-Landroid/view/KeyEvent;->isSystemKey(I)Z
-Landroid/view/KeyEvent;->isTainted()Z
-Landroid/view/KeyEvent;->isWakeKey()Z
-Landroid/view/KeyEvent;->isWakeKey(I)Z
-Landroid/view/KeyEvent;->LABEL_PREFIX:Ljava/lang/String;
-Landroid/view/KeyEvent;->LAST_KEYCODE:I
-Landroid/view/KeyEvent;->MAX_RECYCLED:I
-Landroid/view/KeyEvent;->metaStateFilterDirectionalModifiers(IIIII)I
-Landroid/view/KeyEvent;->metaStateToString(I)Ljava/lang/String;
-Landroid/view/KeyEvent;->mNext:Landroid/view/KeyEvent;
-Landroid/view/KeyEvent;->nativeKeyCodeFromString(Ljava/lang/String;)I
-Landroid/view/KeyEvent;->nativeKeyCodeToString(I)Ljava/lang/String;
-Landroid/view/KeyEvent;->obtain()Landroid/view/KeyEvent;
-Landroid/view/KeyEvent;->obtain(Landroid/view/KeyEvent;)Landroid/view/KeyEvent;
-Landroid/view/KeyEvent;->recycleIfNeededAfterDispatch()V
-Landroid/view/KeyEvent;->setTainted(Z)V
-Landroid/view/KeyEvent;->TAG:Ljava/lang/String;
-Landroid/view/LayoutInflater$BlinkLayout;
-Landroid/view/LayoutInflater$BlinkLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/view/LayoutInflater$BlinkLayout;->BLINK_DELAY:I
-Landroid/view/LayoutInflater$BlinkLayout;->makeBlink()V
-Landroid/view/LayoutInflater$BlinkLayout;->mBlink:Z
-Landroid/view/LayoutInflater$BlinkLayout;->mBlinkState:Z
-Landroid/view/LayoutInflater$BlinkLayout;->MESSAGE_BLINK:I
-Landroid/view/LayoutInflater$BlinkLayout;->mHandler:Landroid/os/Handler;
-Landroid/view/LayoutInflater$FactoryMerger;
-Landroid/view/LayoutInflater$FactoryMerger;-><init>(Landroid/view/LayoutInflater$Factory;Landroid/view/LayoutInflater$Factory2;Landroid/view/LayoutInflater$Factory;Landroid/view/LayoutInflater$Factory2;)V
-Landroid/view/LayoutInflater$FactoryMerger;->mF12:Landroid/view/LayoutInflater$Factory2;
-Landroid/view/LayoutInflater$FactoryMerger;->mF1:Landroid/view/LayoutInflater$Factory;
-Landroid/view/LayoutInflater$FactoryMerger;->mF22:Landroid/view/LayoutInflater$Factory2;
-Landroid/view/LayoutInflater$FactoryMerger;->mF2:Landroid/view/LayoutInflater$Factory;
-Landroid/view/LayoutInflater;->ATTR_LAYOUT:Ljava/lang/String;
-Landroid/view/LayoutInflater;->BOOT_CLASS_LOADER:Ljava/lang/ClassLoader;
-Landroid/view/LayoutInflater;->consumeChildElements(Lorg/xmlpull/v1/XmlPullParser;)V
-Landroid/view/LayoutInflater;->DEBUG:Z
-Landroid/view/LayoutInflater;->EMPTY_STACK_TRACE:[Ljava/lang/StackTraceElement;
-Landroid/view/LayoutInflater;->failNotAllowed(Ljava/lang/String;Ljava/lang/String;Landroid/util/AttributeSet;)V
-Landroid/view/LayoutInflater;->mFilter:Landroid/view/LayoutInflater$Filter;
-Landroid/view/LayoutInflater;->mFilterMap:Ljava/util/HashMap;
-Landroid/view/LayoutInflater;->mTempValue:Landroid/util/TypedValue;
-Landroid/view/LayoutInflater;->parseViewTag(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/View;Landroid/util/AttributeSet;)V
-Landroid/view/LayoutInflater;->rInflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/View;Landroid/content/Context;Landroid/util/AttributeSet;Z)V
-Landroid/view/LayoutInflater;->rInflateChildren(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/View;Landroid/util/AttributeSet;Z)V
-Landroid/view/LayoutInflater;->TAG:Ljava/lang/String;
-Landroid/view/LayoutInflater;->TAG_1995:Ljava/lang/String;
-Landroid/view/LayoutInflater;->TAG_INCLUDE:Ljava/lang/String;
-Landroid/view/LayoutInflater;->TAG_MERGE:Ljava/lang/String;
-Landroid/view/LayoutInflater;->TAG_REQUEST_FOCUS:Ljava/lang/String;
-Landroid/view/LayoutInflater;->TAG_TAG:Ljava/lang/String;
-Landroid/view/LayoutInflater;->verifyClassLoader(Ljava/lang/reflect/Constructor;)Z
-Landroid/view/MagnificationSpec;
-Landroid/view/MagnificationSpec;-><init>()V
-Landroid/view/MagnificationSpec;->clear()V
-Landroid/view/MagnificationSpec;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/view/MagnificationSpec;->initFromParcel(Landroid/os/Parcel;)V
-Landroid/view/MagnificationSpec;->initialize(FFF)V
-Landroid/view/MagnificationSpec;->isNop()Z
-Landroid/view/MagnificationSpec;->MAX_POOL_SIZE:I
-Landroid/view/MagnificationSpec;->obtain()Landroid/view/MagnificationSpec;
-Landroid/view/MagnificationSpec;->obtain(Landroid/view/MagnificationSpec;)Landroid/view/MagnificationSpec;
-Landroid/view/MagnificationSpec;->offsetX:F
-Landroid/view/MagnificationSpec;->offsetY:F
-Landroid/view/MagnificationSpec;->recycle()V
-Landroid/view/MagnificationSpec;->scale:F
-Landroid/view/MagnificationSpec;->setTo(Landroid/view/MagnificationSpec;)V
-Landroid/view/MagnificationSpec;->sPool:Landroid/util/Pools$SynchronizedPool;
-Landroid/view/Menu;->CATEGORY_MASK:I
-Landroid/view/Menu;->CATEGORY_SHIFT:I
-Landroid/view/Menu;->USER_MASK:I
-Landroid/view/Menu;->USER_SHIFT:I
-Landroid/view/MenuInflater$InflatedOnMenuItemClickListener;
-Landroid/view/MenuInflater$InflatedOnMenuItemClickListener;-><init>(Ljava/lang/Object;Ljava/lang/String;)V
-Landroid/view/MenuInflater$InflatedOnMenuItemClickListener;->mMethod:Ljava/lang/reflect/Method;
-Landroid/view/MenuInflater$InflatedOnMenuItemClickListener;->mRealOwner:Ljava/lang/Object;
-Landroid/view/MenuInflater$InflatedOnMenuItemClickListener;->PARAM_TYPES:[Ljava/lang/Class;
-Landroid/view/MenuInflater$MenuState;
-Landroid/view/MenuInflater$MenuState;-><init>(Landroid/view/Menu;)V
-Landroid/view/MenuInflater$MenuState;->addItem()Landroid/view/MenuItem;
-Landroid/view/MenuInflater$MenuState;->addSubMenuItem()Landroid/view/SubMenu;
-Landroid/view/MenuInflater$MenuState;->defaultGroupId:I
-Landroid/view/MenuInflater$MenuState;->defaultItemCategory:I
-Landroid/view/MenuInflater$MenuState;->defaultItemCheckable:I
-Landroid/view/MenuInflater$MenuState;->defaultItemChecked:Z
-Landroid/view/MenuInflater$MenuState;->defaultItemEnabled:Z
-Landroid/view/MenuInflater$MenuState;->defaultItemId:I
-Landroid/view/MenuInflater$MenuState;->defaultItemOrder:I
-Landroid/view/MenuInflater$MenuState;->defaultItemVisible:Z
-Landroid/view/MenuInflater$MenuState;->getShortcut(Ljava/lang/String;)C
-Landroid/view/MenuInflater$MenuState;->groupCategory:I
-Landroid/view/MenuInflater$MenuState;->groupCheckable:I
-Landroid/view/MenuInflater$MenuState;->groupEnabled:Z
-Landroid/view/MenuInflater$MenuState;->groupId:I
-Landroid/view/MenuInflater$MenuState;->groupOrder:I
-Landroid/view/MenuInflater$MenuState;->groupVisible:Z
-Landroid/view/MenuInflater$MenuState;->hasAddedItem()Z
-Landroid/view/MenuInflater$MenuState;->itemActionProvider:Landroid/view/ActionProvider;
-Landroid/view/MenuInflater$MenuState;->itemActionProviderClassName:Ljava/lang/String;
-Landroid/view/MenuInflater$MenuState;->itemActionViewClassName:Ljava/lang/String;
-Landroid/view/MenuInflater$MenuState;->itemActionViewLayout:I
-Landroid/view/MenuInflater$MenuState;->itemAdded:Z
-Landroid/view/MenuInflater$MenuState;->itemAlphabeticModifiers:I
-Landroid/view/MenuInflater$MenuState;->itemAlphabeticShortcut:C
-Landroid/view/MenuInflater$MenuState;->itemCategoryOrder:I
-Landroid/view/MenuInflater$MenuState;->itemCheckable:I
-Landroid/view/MenuInflater$MenuState;->itemChecked:Z
-Landroid/view/MenuInflater$MenuState;->itemContentDescription:Ljava/lang/CharSequence;
-Landroid/view/MenuInflater$MenuState;->itemEnabled:Z
-Landroid/view/MenuInflater$MenuState;->itemIconResId:I
-Landroid/view/MenuInflater$MenuState;->itemIconTintList:Landroid/content/res/ColorStateList;
-Landroid/view/MenuInflater$MenuState;->itemIconTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/view/MenuInflater$MenuState;->itemId:I
-Landroid/view/MenuInflater$MenuState;->itemListenerMethodName:Ljava/lang/String;
-Landroid/view/MenuInflater$MenuState;->itemNumericModifiers:I
-Landroid/view/MenuInflater$MenuState;->itemNumericShortcut:C
-Landroid/view/MenuInflater$MenuState;->itemShowAsAction:I
-Landroid/view/MenuInflater$MenuState;->itemTitle:Ljava/lang/CharSequence;
-Landroid/view/MenuInflater$MenuState;->itemTitleCondensed:Ljava/lang/CharSequence;
-Landroid/view/MenuInflater$MenuState;->itemTooltipText:Ljava/lang/CharSequence;
-Landroid/view/MenuInflater$MenuState;->itemVisible:Z
-Landroid/view/MenuInflater$MenuState;->menu:Landroid/view/Menu;
-Landroid/view/MenuInflater$MenuState;->newInstance(Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/view/MenuInflater$MenuState;->readGroup(Landroid/util/AttributeSet;)V
-Landroid/view/MenuInflater$MenuState;->readItem(Landroid/util/AttributeSet;)V
-Landroid/view/MenuInflater$MenuState;->resetGroup()V
-Landroid/view/MenuInflater$MenuState;->setItem(Landroid/view/MenuItem;)V
-Landroid/view/MenuInflater;-><init>(Landroid/content/Context;Ljava/lang/Object;)V
-Landroid/view/MenuInflater;->ACTION_PROVIDER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class;
-Landroid/view/MenuInflater;->ACTION_VIEW_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class;
-Landroid/view/MenuInflater;->findRealOwner(Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/view/MenuInflater;->getContext()Landroid/content/Context;
-Landroid/view/MenuInflater;->getRealOwner()Ljava/lang/Object;
-Landroid/view/MenuInflater;->LOG_TAG:Ljava/lang/String;
-Landroid/view/MenuInflater;->mActionProviderConstructorArguments:[Ljava/lang/Object;
-Landroid/view/MenuInflater;->mActionViewConstructorArguments:[Ljava/lang/Object;
-Landroid/view/MenuInflater;->mContext:Landroid/content/Context;
-Landroid/view/MenuInflater;->mRealOwner:Ljava/lang/Object;
-Landroid/view/MenuInflater;->NO_ID:I
-Landroid/view/MenuInflater;->parseMenu(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/view/Menu;)V
-Landroid/view/MenuInflater;->registerMenu(Landroid/view/MenuItem;Landroid/util/AttributeSet;)V
-Landroid/view/MenuInflater;->registerMenu(Landroid/view/SubMenu;Landroid/util/AttributeSet;)V
-Landroid/view/MenuInflater;->XML_GROUP:Ljava/lang/String;
-Landroid/view/MenuInflater;->XML_ITEM:Ljava/lang/String;
-Landroid/view/MenuInflater;->XML_MENU:Ljava/lang/String;
-Landroid/view/MenuItem;->requiresActionButton()Z
-Landroid/view/MenuItem;->requiresOverflow()Z
-Landroid/view/MotionEvent$PointerCoords;->INITIAL_PACKED_AXIS_VALUES:I
-Landroid/view/MotionEvent$PointerProperties;->equals(Landroid/view/MotionEvent$PointerProperties;)Z
-Landroid/view/MotionEvent;-><init>()V
-Landroid/view/MotionEvent;->appendUnless(Ljava/lang/Object;Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/Object;)V
-Landroid/view/MotionEvent;->AXIS_SYMBOLIC_NAMES:Landroid/util/SparseArray;
-Landroid/view/MotionEvent;->buttonStateToString(I)Ljava/lang/String;
-Landroid/view/MotionEvent;->BUTTON_SYMBOLIC_NAMES:[Ljava/lang/String;
-Landroid/view/MotionEvent;->cancel()V
-Landroid/view/MotionEvent;->clamp(FFF)F
-Landroid/view/MotionEvent;->clampNoHistory(FFFF)Landroid/view/MotionEvent;
-Landroid/view/MotionEvent;->createFromParcelBody(Landroid/os/Parcel;)Landroid/view/MotionEvent;
-Landroid/view/MotionEvent;->DEBUG_CONCISE_TOSTRING:Z
-Landroid/view/MotionEvent;->ensureSharedTempPointerCapacity(I)V
-Landroid/view/MotionEvent;->FLAG_HOVER_EXIT_PENDING:I
-Landroid/view/MotionEvent;->FLAG_IS_GENERATED_GESTURE:I
-Landroid/view/MotionEvent;->FLAG_TAINTED:I
-Landroid/view/MotionEvent;->FLAG_TARGET_ACCESSIBILITY_FOCUS:I
-Landroid/view/MotionEvent;->FLAG_WINDOW_IS_PARTIALLY_OBSCURED:I
-Landroid/view/MotionEvent;->getHistoricalEventTimeNano(I)J
-Landroid/view/MotionEvent;->gRecyclerLock:Ljava/lang/Object;
-Landroid/view/MotionEvent;->gRecyclerTop:Landroid/view/MotionEvent;
-Landroid/view/MotionEvent;->gRecyclerUsed:I
-Landroid/view/MotionEvent;->gSharedTempLock:Ljava/lang/Object;
-Landroid/view/MotionEvent;->gSharedTempPointerCoords:[Landroid/view/MotionEvent$PointerCoords;
-Landroid/view/MotionEvent;->gSharedTempPointerIndexMap:[I
-Landroid/view/MotionEvent;->gSharedTempPointerProperties:[Landroid/view/MotionEvent$PointerProperties;
-Landroid/view/MotionEvent;->isHoverExitPending()Z
-Landroid/view/MotionEvent;->isTainted()Z
-Landroid/view/MotionEvent;->isTargetAccessibilityFocus()Z
-Landroid/view/MotionEvent;->isTouchEvent()Z
-Landroid/view/MotionEvent;->isWithinBoundsNoHistory(FFFF)Z
-Landroid/view/MotionEvent;->LABEL_PREFIX:Ljava/lang/String;
-Landroid/view/MotionEvent;->MAX_RECYCLED:I
-Landroid/view/MotionEvent;->mNext:Landroid/view/MotionEvent;
-Landroid/view/MotionEvent;->nativeAddBatch(JJ[Landroid/view/MotionEvent$PointerCoords;I)V
-Landroid/view/MotionEvent;->nativeAxisFromString(Ljava/lang/String;)I
-Landroid/view/MotionEvent;->nativeAxisToString(I)Ljava/lang/String;
-Landroid/view/MotionEvent;->nativeCopy(JJZ)J
-Landroid/view/MotionEvent;->nativeDispose(J)V
-Landroid/view/MotionEvent;->nativeFindPointerIndex(JI)I
-Landroid/view/MotionEvent;->nativeGetAction(J)I
-Landroid/view/MotionEvent;->nativeGetActionButton(J)I
-Landroid/view/MotionEvent;->nativeGetAxisValue(JIII)F
-Landroid/view/MotionEvent;->nativeGetButtonState(J)I
-Landroid/view/MotionEvent;->nativeGetDeviceId(J)I
-Landroid/view/MotionEvent;->nativeGetDownTimeNanos(J)J
-Landroid/view/MotionEvent;->nativeGetEdgeFlags(J)I
-Landroid/view/MotionEvent;->nativeGetEventTimeNanos(JI)J
-Landroid/view/MotionEvent;->nativeGetFlags(J)I
-Landroid/view/MotionEvent;->nativeGetHistorySize(J)I
-Landroid/view/MotionEvent;->nativeGetMetaState(J)I
-Landroid/view/MotionEvent;->nativeGetPointerCoords(JIILandroid/view/MotionEvent$PointerCoords;)V
-Landroid/view/MotionEvent;->nativeGetPointerCount(J)I
-Landroid/view/MotionEvent;->nativeGetPointerId(JI)I
-Landroid/view/MotionEvent;->nativeGetPointerProperties(JILandroid/view/MotionEvent$PointerProperties;)V
-Landroid/view/MotionEvent;->nativeGetSource(J)I
-Landroid/view/MotionEvent;->nativeGetToolType(JI)I
-Landroid/view/MotionEvent;->nativeGetXOffset(J)F
-Landroid/view/MotionEvent;->nativeGetXPrecision(J)F
-Landroid/view/MotionEvent;->nativeGetYOffset(J)F
-Landroid/view/MotionEvent;->nativeGetYPrecision(J)F
-Landroid/view/MotionEvent;->nativeInitialize(JIIIIIIIFFFFJJI[Landroid/view/MotionEvent$PointerProperties;[Landroid/view/MotionEvent$PointerCoords;)J
-Landroid/view/MotionEvent;->nativeIsTouchEvent(J)Z
-Landroid/view/MotionEvent;->nativeOffsetLocation(JFF)V
-Landroid/view/MotionEvent;->nativeReadFromParcel(JLandroid/os/Parcel;)J
-Landroid/view/MotionEvent;->nativeScale(JF)V
-Landroid/view/MotionEvent;->nativeSetAction(JI)V
-Landroid/view/MotionEvent;->nativeSetActionButton(JI)V
-Landroid/view/MotionEvent;->nativeSetButtonState(JI)V
-Landroid/view/MotionEvent;->nativeSetDownTimeNanos(JJ)V
-Landroid/view/MotionEvent;->nativeSetEdgeFlags(JI)V
-Landroid/view/MotionEvent;->nativeSetFlags(JI)V
-Landroid/view/MotionEvent;->nativeSetSource(JI)I
-Landroid/view/MotionEvent;->nativeTransform(JJ)V
-Landroid/view/MotionEvent;->nativeWriteToParcel(JLandroid/os/Parcel;)V
-Landroid/view/MotionEvent;->NS_PER_MS:J
-Landroid/view/MotionEvent;->setHoverExitPending(Z)V
-Landroid/view/MotionEvent;->setTainted(Z)V
-Landroid/view/MotionEvent;->setTargetAccessibilityFocus(Z)V
-Landroid/view/MotionEvent;->toolTypeToString(I)Ljava/lang/String;
-Landroid/view/MotionEvent;->TOOL_TYPE_SYMBOLIC_NAMES:Landroid/util/SparseArray;
-Landroid/view/NotificationHeaderView$HeaderTouchListener;
-Landroid/view/NotificationHeaderView$HeaderTouchListener;-><init>()V
-Landroid/view/NotificationHeaderView$HeaderTouchListener;->addRectAroundView(Landroid/view/View;)Landroid/graphics/Rect;
-Landroid/view/NotificationHeaderView$HeaderTouchListener;->addWidthRect()V
-Landroid/view/NotificationHeaderView$HeaderTouchListener;->bindTouchRects()V
-Landroid/view/NotificationHeaderView$HeaderTouchListener;->getRectAroundView(Landroid/view/View;)Landroid/graphics/Rect;
-Landroid/view/NotificationHeaderView$HeaderTouchListener;->isInside(FF)Z
-Landroid/view/NotificationHeaderView$HeaderTouchListener;->mAppOpsRect:Landroid/graphics/Rect;
-Landroid/view/NotificationHeaderView$HeaderTouchListener;->mDownX:F
-Landroid/view/NotificationHeaderView$HeaderTouchListener;->mDownY:F
-Landroid/view/NotificationHeaderView$HeaderTouchListener;->mExpandButtonRect:Landroid/graphics/Rect;
-Landroid/view/NotificationHeaderView$HeaderTouchListener;->mTouchRects:Ljava/util/ArrayList;
-Landroid/view/NotificationHeaderView$HeaderTouchListener;->mTouchSlop:I
-Landroid/view/NotificationHeaderView$HeaderTouchListener;->mTrackGesture:Z
-Landroid/view/NotificationHeaderView;
-Landroid/view/NotificationHeaderView;-><init>(Landroid/content/Context;)V
-Landroid/view/NotificationHeaderView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/view/NotificationHeaderView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/view/NotificationHeaderView;->getExpandButton()Landroid/widget/ImageView;
-Landroid/view/NotificationHeaderView;->getFirstChildNotGone()Landroid/view/View;
-Landroid/view/NotificationHeaderView;->getIcon()Lcom/android/internal/widget/CachingIconView;
-Landroid/view/NotificationHeaderView;->getOriginalIconColor()I
-Landroid/view/NotificationHeaderView;->getOriginalNotificationColor()I
-Landroid/view/NotificationHeaderView;->getWorkProfileIcon()Landroid/view/View;
-Landroid/view/NotificationHeaderView;->isInTouchRect(FF)Z
-Landroid/view/NotificationHeaderView;->mAcceptAllTouches:Z
-Landroid/view/NotificationHeaderView;->mAppName:Landroid/view/View;
-Landroid/view/NotificationHeaderView;->mAppOps:Landroid/view/View;
-Landroid/view/NotificationHeaderView;->mAppOpsListener:Landroid/view/View$OnClickListener;
-Landroid/view/NotificationHeaderView;->mBackground:Landroid/graphics/drawable/Drawable;
-Landroid/view/NotificationHeaderView;->mCameraIcon:Landroid/view/View;
-Landroid/view/NotificationHeaderView;->mChildMinWidth:I
-Landroid/view/NotificationHeaderView;->mContentEndMargin:I
-Landroid/view/NotificationHeaderView;->mEntireHeaderClickable:Z
-Landroid/view/NotificationHeaderView;->mExpandButton:Landroid/widget/ImageView;
-Landroid/view/NotificationHeaderView;->mExpandClickListener:Landroid/view/View$OnClickListener;
-Landroid/view/NotificationHeaderView;->mExpanded:Z
-Landroid/view/NotificationHeaderView;->mExpandOnlyOnButton:Z
-Landroid/view/NotificationHeaderView;->mGravity:I
-Landroid/view/NotificationHeaderView;->mHeaderText:Landroid/view/View;
-Landroid/view/NotificationHeaderView;->mIcon:Lcom/android/internal/widget/CachingIconView;
-Landroid/view/NotificationHeaderView;->mIconColor:I
-Landroid/view/NotificationHeaderView;->mMicIcon:Landroid/view/View;
-Landroid/view/NotificationHeaderView;->mOriginalNotificationColor:I
-Landroid/view/NotificationHeaderView;->mOverlayIcon:Landroid/view/View;
-Landroid/view/NotificationHeaderView;->mProfileBadge:Landroid/view/View;
-Landroid/view/NotificationHeaderView;->mProvider:Landroid/view/ViewOutlineProvider;
-Landroid/view/NotificationHeaderView;->mSecondaryHeaderText:Landroid/view/View;
-Landroid/view/NotificationHeaderView;->mShowExpandButtonAtEnd:Z
-Landroid/view/NotificationHeaderView;->mShowWorkBadgeAtEnd:Z
-Landroid/view/NotificationHeaderView;->mTotalWidth:I
-Landroid/view/NotificationHeaderView;->mTouchListener:Landroid/view/NotificationHeaderView$HeaderTouchListener;
-Landroid/view/NotificationHeaderView;->NO_COLOR:I
-Landroid/view/NotificationHeaderView;->setAcceptAllTouches(Z)V
-Landroid/view/NotificationHeaderView;->setAppOpsOnClickListener(Landroid/view/View$OnClickListener;)V
-Landroid/view/NotificationHeaderView;->setExpanded(Z)V
-Landroid/view/NotificationHeaderView;->setExpandOnlyOnButton(Z)V
-Landroid/view/NotificationHeaderView;->setHeaderBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
-Landroid/view/NotificationHeaderView;->setOriginalIconColor(I)V
-Landroid/view/NotificationHeaderView;->setOriginalNotificationColor(I)V
-Landroid/view/NotificationHeaderView;->setShowExpandButtonAtEnd(Z)V
-Landroid/view/NotificationHeaderView;->setShowWorkBadgeAtEnd(Z)V
-Landroid/view/NotificationHeaderView;->showAppOpsIcons(Landroid/util/ArraySet;)V
-Landroid/view/NotificationHeaderView;->shrinkViewForOverflow(IILandroid/view/View;I)I
-Landroid/view/NotificationHeaderView;->updateExpandButton()V
-Landroid/view/NotificationHeaderView;->updateTouchListener()V
-Landroid/view/OrientationEventListener$SensorEventListenerImpl;
-Landroid/view/OrientationEventListener$SensorEventListenerImpl;-><init>()V
-Landroid/view/OrientationEventListener$SensorEventListenerImpl;->_DATA_X:I
-Landroid/view/OrientationEventListener$SensorEventListenerImpl;->_DATA_Y:I
-Landroid/view/OrientationEventListener$SensorEventListenerImpl;->_DATA_Z:I
-Landroid/view/OrientationEventListener;->DEBUG:Z
-Landroid/view/OrientationEventListener;->localLOGV:Z
-Landroid/view/OrientationEventListener;->mEnabled:Z
-Landroid/view/OrientationEventListener;->mOldListener:Landroid/view/OrientationListener;
-Landroid/view/OrientationEventListener;->mOrientation:I
-Landroid/view/OrientationEventListener;->mRate:I
-Landroid/view/OrientationEventListener;->mSensor:Landroid/hardware/Sensor;
-Landroid/view/OrientationEventListener;->mSensorEventListener:Landroid/hardware/SensorEventListener;
-Landroid/view/OrientationEventListener;->mSensorManager:Landroid/hardware/SensorManager;
-Landroid/view/OrientationEventListener;->registerListener(Landroid/view/OrientationListener;)V
-Landroid/view/OrientationEventListener;->TAG:Ljava/lang/String;
-Landroid/view/OrientationListener$OrientationEventListenerInternal;
-Landroid/view/OrientationListener$OrientationEventListenerInternal;-><init>(Landroid/content/Context;)V
-Landroid/view/OrientationListener$OrientationEventListenerInternal;-><init>(Landroid/content/Context;I)V
-Landroid/view/OrientationListener;->mOrientationEventLis:Landroid/view/OrientationEventListener;
-Landroid/view/PixelCopy$CopyResultStatus;
-Landroid/view/PixelCopy;-><init>()V
-Landroid/view/PixelCopy;->validateBitmapDest(Landroid/graphics/Bitmap;)V
-Landroid/view/PointerIcon;-><init>(I)V
-Landroid/view/PointerIcon;->getBitmapFromDrawable(Landroid/graphics/drawable/BitmapDrawable;)Landroid/graphics/Bitmap;
-Landroid/view/PointerIcon;->getDefaultIcon(Landroid/content/Context;)Landroid/view/PointerIcon;
-Landroid/view/PointerIcon;->getNullIcon()Landroid/view/PointerIcon;
-Landroid/view/PointerIcon;->getSystemIconTypeIndex(I)I
-Landroid/view/PointerIcon;->getType()I
-Landroid/view/PointerIcon;->gNullIcon:Landroid/view/PointerIcon;
-Landroid/view/PointerIcon;->gSystemIcons:Landroid/util/SparseArray;
-Landroid/view/PointerIcon;->loadResource(Landroid/content/Context;Landroid/content/res/Resources;I)V
-Landroid/view/PointerIcon;->mSystemIconResourceId:I
-Landroid/view/PointerIcon;->setUseLargeIcons(Z)V
-Landroid/view/PointerIcon;->sUseLargeIcons:Z
-Landroid/view/PointerIcon;->TAG:Ljava/lang/String;
-Landroid/view/PointerIcon;->TYPE_CUSTOM:I
-Landroid/view/PointerIcon;->TYPE_NOT_SPECIFIED:I
-Landroid/view/PointerIcon;->TYPE_OEM_FIRST:I
-Landroid/view/PointerIcon;->TYPE_SPOT_ANCHOR:I
-Landroid/view/PointerIcon;->TYPE_SPOT_HOVER:I
-Landroid/view/PointerIcon;->TYPE_SPOT_TOUCH:I
-Landroid/view/PointerIcon;->validateHotSpot(Landroid/graphics/Bitmap;FF)V
-Landroid/view/RecordingCanvas;
-Landroid/view/RecordingCanvas;-><init>(J)V
-Landroid/view/RecordingCanvas;->drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
-Landroid/view/RecordingCanvas;->drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/RectF;Landroid/graphics/Paint;)V
-Landroid/view/RecordingCanvas;->nDrawArc(JFFFFFFZJ)V
-Landroid/view/RecordingCanvas;->nDrawBitmap(JLandroid/graphics/Bitmap;FFFFFFFFJII)V
-Landroid/view/RecordingCanvas;->nDrawBitmap(JLandroid/graphics/Bitmap;FFJIII)V
-Landroid/view/RecordingCanvas;->nDrawBitmap(J[IIIFFIIZJ)V
-Landroid/view/RecordingCanvas;->nDrawBitmapMatrix(JLandroid/graphics/Bitmap;JJ)V
-Landroid/view/RecordingCanvas;->nDrawBitmapMesh(JLandroid/graphics/Bitmap;II[FI[IIJ)V
-Landroid/view/RecordingCanvas;->nDrawCircle(JFFFJ)V
-Landroid/view/RecordingCanvas;->nDrawColor(JII)V
-Landroid/view/RecordingCanvas;->nDrawLine(JFFFFJ)V
-Landroid/view/RecordingCanvas;->nDrawLines(J[FIIJ)V
-Landroid/view/RecordingCanvas;->nDrawNinePatch(JJJFFFFJII)V
-Landroid/view/RecordingCanvas;->nDrawOval(JFFFFJ)V
-Landroid/view/RecordingCanvas;->nDrawPaint(JJ)V
-Landroid/view/RecordingCanvas;->nDrawPath(JJJ)V
-Landroid/view/RecordingCanvas;->nDrawPoint(JFFJ)V
-Landroid/view/RecordingCanvas;->nDrawPoints(J[FIIJ)V
-Landroid/view/RecordingCanvas;->nDrawRect(JFFFFJ)V
-Landroid/view/RecordingCanvas;->nDrawRegion(JJJ)V
-Landroid/view/RecordingCanvas;->nDrawRoundRect(JFFFFFFJ)V
-Landroid/view/RecordingCanvas;->nDrawText(JLjava/lang/String;IIFFIJ)V
-Landroid/view/RecordingCanvas;->nDrawText(J[CIIFFIJ)V
-Landroid/view/RecordingCanvas;->nDrawTextOnPath(JLjava/lang/String;JFFIJ)V
-Landroid/view/RecordingCanvas;->nDrawTextOnPath(J[CIIJFFIJ)V
-Landroid/view/RecordingCanvas;->nDrawTextRun(JLjava/lang/String;IIIIFFZJ)V
-Landroid/view/RecordingCanvas;->nDrawTextRun(J[CIIIIFFZJJ)V
-Landroid/view/RecordingCanvas;->nDrawVertices(JII[FI[FI[II[SIIJ)V
-Landroid/view/RemotableViewMethod;
-Landroid/view/RemoteAnimationAdapter;
-Landroid/view/RemoteAnimationAdapter;-><init>(Landroid/os/Parcel;)V
-Landroid/view/RemoteAnimationAdapter;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/view/RemoteAnimationAdapter;->getCallingPid()I
-Landroid/view/RemoteAnimationAdapter;->getDuration()J
-Landroid/view/RemoteAnimationAdapter;->getRunner()Landroid/view/IRemoteAnimationRunner;
-Landroid/view/RemoteAnimationAdapter;->getStatusBarTransitionDelay()J
-Landroid/view/RemoteAnimationAdapter;->mCallingPid:I
-Landroid/view/RemoteAnimationAdapter;->mDuration:J
-Landroid/view/RemoteAnimationAdapter;->mRunner:Landroid/view/IRemoteAnimationRunner;
-Landroid/view/RemoteAnimationAdapter;->mStatusBarTransitionDelay:J
-Landroid/view/RemoteAnimationAdapter;->setCallingPid(I)V
-Landroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry;
-Landroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry;-><init>(Landroid/os/Parcel;)V
-Landroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry;-><init>(Landroid/view/RemoteAnimationAdapter;I)V
-Landroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry;->activityTypeFilter:I
-Landroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry;->adapter:Landroid/view/RemoteAnimationAdapter;
-Landroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/view/RemoteAnimationDefinition;
-Landroid/view/RemoteAnimationDefinition;-><init>(Landroid/os/Parcel;)V
-Landroid/view/RemoteAnimationDefinition;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/view/RemoteAnimationDefinition;->getAdapter(ILandroid/util/ArraySet;)Landroid/view/RemoteAnimationAdapter;
-Landroid/view/RemoteAnimationDefinition;->hasTransition(ILandroid/util/ArraySet;)Z
-Landroid/view/RemoteAnimationDefinition;->mTransitionAnimationMap:Landroid/util/SparseArray;
-Landroid/view/RemoteAnimationDefinition;->setCallingPid(I)V
-Landroid/view/RemoteAnimationTarget$Mode;
-Landroid/view/RemoteAnimationTarget;
-Landroid/view/RemoteAnimationTarget;-><init>(IILandroid/view/SurfaceControl;ZLandroid/graphics/Rect;Landroid/graphics/Rect;ILandroid/graphics/Point;Landroid/graphics/Rect;Landroid/app/WindowConfiguration;Z)V
-Landroid/view/RemoteAnimationTarget;-><init>(Landroid/os/Parcel;)V
-Landroid/view/RemoteAnimationTarget;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/view/RemoteAnimationTarget;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-Landroid/view/RemoteAnimationTarget;->MODE_CLOSING:I
-Landroid/view/RemoteAnimationTarget;->MODE_OPENING:I
-Landroid/view/RemoteAnimationTarget;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/view/RenderNode$NoImagePreloadHolder;
-Landroid/view/RenderNode$NoImagePreloadHolder;-><init>()V
-Landroid/view/RenderNode$NoImagePreloadHolder;->sRegistry:Llibcore/util/NativeAllocationRegistry;
-Landroid/view/RenderNode;
-Landroid/view/RenderNode;-><init>(J)V
-Landroid/view/RenderNode;-><init>(Ljava/lang/String;Landroid/view/View;)V
-Landroid/view/RenderNode;->addAnimator(Landroid/view/RenderNodeAnimator;)V
-Landroid/view/RenderNode;->adopt(J)Landroid/view/RenderNode;
-Landroid/view/RenderNode;->destroy()V
-Landroid/view/RenderNode;->endAllAnimators()V
-Landroid/view/RenderNode;->getAlpha()F
-Landroid/view/RenderNode;->getAmbientShadowColor()I
-Landroid/view/RenderNode;->getCameraDistance()F
-Landroid/view/RenderNode;->getClipToOutline()Z
-Landroid/view/RenderNode;->getDebugSize()I
-Landroid/view/RenderNode;->getElevation()F
-Landroid/view/RenderNode;->getInverseMatrix(Landroid/graphics/Matrix;)V
-Landroid/view/RenderNode;->getMatrix(Landroid/graphics/Matrix;)V
-Landroid/view/RenderNode;->getNativeDisplayList()J
-Landroid/view/RenderNode;->getPivotX()F
-Landroid/view/RenderNode;->getPivotY()F
-Landroid/view/RenderNode;->getRotation()F
-Landroid/view/RenderNode;->getRotationX()F
-Landroid/view/RenderNode;->getRotationY()F
-Landroid/view/RenderNode;->getScaleX()F
-Landroid/view/RenderNode;->getScaleY()F
-Landroid/view/RenderNode;->getSpotShadowColor()I
-Landroid/view/RenderNode;->getTranslationX()F
-Landroid/view/RenderNode;->getTranslationY()F
-Landroid/view/RenderNode;->getTranslationZ()F
-Landroid/view/RenderNode;->hasIdentityMatrix()Z
-Landroid/view/RenderNode;->hasOverlappingRendering()Z
-Landroid/view/RenderNode;->hasShadow()Z
-Landroid/view/RenderNode;->isAttached()Z
-Landroid/view/RenderNode;->isPivotExplicitlySet()Z
-Landroid/view/RenderNode;->mNativeRenderNode:J
-Landroid/view/RenderNode;->mOwningView:Landroid/view/View;
-Landroid/view/RenderNode;->nAddAnimator(JJ)V
-Landroid/view/RenderNode;->nCreate(Ljava/lang/String;)J
-Landroid/view/RenderNode;->nEndAllAnimators(J)V
-Landroid/view/RenderNode;->nGetAlpha(J)F
-Landroid/view/RenderNode;->nGetAmbientShadowColor(J)I
-Landroid/view/RenderNode;->nGetCameraDistance(J)F
-Landroid/view/RenderNode;->nGetClipToOutline(J)Z
-Landroid/view/RenderNode;->nGetDebugSize(J)I
-Landroid/view/RenderNode;->nGetElevation(J)F
-Landroid/view/RenderNode;->nGetInverseTransformMatrix(JJ)V
-Landroid/view/RenderNode;->nGetNativeFinalizer()J
-Landroid/view/RenderNode;->nGetPivotX(J)F
-Landroid/view/RenderNode;->nGetPivotY(J)F
-Landroid/view/RenderNode;->nGetRotation(J)F
-Landroid/view/RenderNode;->nGetRotationX(J)F
-Landroid/view/RenderNode;->nGetRotationY(J)F
-Landroid/view/RenderNode;->nGetScaleX(J)F
-Landroid/view/RenderNode;->nGetScaleY(J)F
-Landroid/view/RenderNode;->nGetSpotShadowColor(J)I
-Landroid/view/RenderNode;->nGetTransformMatrix(JJ)V
-Landroid/view/RenderNode;->nGetTranslationX(J)F
-Landroid/view/RenderNode;->nGetTranslationY(J)F
-Landroid/view/RenderNode;->nGetTranslationZ(J)F
-Landroid/view/RenderNode;->nHasIdentityMatrix(J)Z
-Landroid/view/RenderNode;->nHasOverlappingRendering(J)Z
-Landroid/view/RenderNode;->nHasShadow(J)Z
-Landroid/view/RenderNode;->nIsPivotExplicitlySet(J)Z
-Landroid/view/RenderNode;->nIsValid(J)Z
-Landroid/view/RenderNode;->nOffsetLeftAndRight(JI)Z
-Landroid/view/RenderNode;->nOffsetTopAndBottom(JI)Z
-Landroid/view/RenderNode;->nOutput(J)V
-Landroid/view/RenderNode;->nRequestPositionUpdates(JLandroid/view/SurfaceView;)V
-Landroid/view/RenderNode;->nResetPivot(J)Z
-Landroid/view/RenderNode;->nSetAlpha(JF)Z
-Landroid/view/RenderNode;->nSetAmbientShadowColor(JI)Z
-Landroid/view/RenderNode;->nSetAnimationMatrix(JJ)Z
-Landroid/view/RenderNode;->nSetBottom(JI)Z
-Landroid/view/RenderNode;->nSetCameraDistance(JF)Z
-Landroid/view/RenderNode;->nSetClipBounds(JIIII)Z
-Landroid/view/RenderNode;->nSetClipBoundsEmpty(J)Z
-Landroid/view/RenderNode;->nSetClipToBounds(JZ)Z
-Landroid/view/RenderNode;->nSetClipToOutline(JZ)Z
-Landroid/view/RenderNode;->nSetDisplayList(JJ)V
-Landroid/view/RenderNode;->nSetElevation(JF)Z
-Landroid/view/RenderNode;->nSetHasOverlappingRendering(JZ)Z
-Landroid/view/RenderNode;->nSetLayerPaint(JJ)Z
-Landroid/view/RenderNode;->nSetLayerType(JI)Z
-Landroid/view/RenderNode;->nSetLeft(JI)Z
-Landroid/view/RenderNode;->nSetLeftTopRightBottom(JIIII)Z
-Landroid/view/RenderNode;->nSetOutlineConvexPath(JJF)Z
-Landroid/view/RenderNode;->nSetOutlineEmpty(J)Z
-Landroid/view/RenderNode;->nSetOutlineNone(J)Z
-Landroid/view/RenderNode;->nSetOutlineRoundRect(JIIIIFF)Z
-Landroid/view/RenderNode;->nSetPivotX(JF)Z
-Landroid/view/RenderNode;->nSetPivotY(JF)Z
-Landroid/view/RenderNode;->nSetProjectBackwards(JZ)Z
-Landroid/view/RenderNode;->nSetProjectionReceiver(JZ)Z
-Landroid/view/RenderNode;->nSetRevealClip(JZFFF)Z
-Landroid/view/RenderNode;->nSetRight(JI)Z
-Landroid/view/RenderNode;->nSetRotation(JF)Z
-Landroid/view/RenderNode;->nSetRotationX(JF)Z
-Landroid/view/RenderNode;->nSetRotationY(JF)Z
-Landroid/view/RenderNode;->nSetScaleX(JF)Z
-Landroid/view/RenderNode;->nSetScaleY(JF)Z
-Landroid/view/RenderNode;->nSetSpotShadowColor(JI)Z
-Landroid/view/RenderNode;->nSetStaticMatrix(JJ)Z
-Landroid/view/RenderNode;->nSetTop(JI)Z
-Landroid/view/RenderNode;->nSetTranslationX(JF)Z
-Landroid/view/RenderNode;->nSetTranslationY(JF)Z
-Landroid/view/RenderNode;->nSetTranslationZ(JF)Z
-Landroid/view/RenderNode;->offsetTopAndBottom(I)Z
-Landroid/view/RenderNode;->registerVectorDrawableAnimator(Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;)V
-Landroid/view/RenderNode;->requestPositionUpdates(Landroid/view/SurfaceView;)V
-Landroid/view/RenderNode;->resetPivot()Z
-Landroid/view/RenderNode;->setAlpha(F)Z
-Landroid/view/RenderNode;->setAmbientShadowColor(I)Z
-Landroid/view/RenderNode;->setAnimationMatrix(Landroid/graphics/Matrix;)Z
-Landroid/view/RenderNode;->setBottom(I)Z
-Landroid/view/RenderNode;->setCameraDistance(F)Z
-Landroid/view/RenderNode;->setClipBounds(Landroid/graphics/Rect;)Z
-Landroid/view/RenderNode;->setClipToOutline(Z)Z
-Landroid/view/RenderNode;->setElevation(F)Z
-Landroid/view/RenderNode;->setLayerPaint(Landroid/graphics/Paint;)Z
-Landroid/view/RenderNode;->setLayerType(I)Z
-Landroid/view/RenderNode;->setLeft(I)Z
-Landroid/view/RenderNode;->setOutline(Landroid/graphics/Outline;)Z
-Landroid/view/RenderNode;->setPivotX(F)Z
-Landroid/view/RenderNode;->setPivotY(F)Z
-Landroid/view/RenderNode;->setProjectionReceiver(Z)Z
-Landroid/view/RenderNode;->setRevealClip(ZFFF)Z
-Landroid/view/RenderNode;->setRight(I)Z
-Landroid/view/RenderNode;->setRotation(F)Z
-Landroid/view/RenderNode;->setRotationX(F)Z
-Landroid/view/RenderNode;->setRotationY(F)Z
-Landroid/view/RenderNode;->setScaleX(F)Z
-Landroid/view/RenderNode;->setScaleY(F)Z
-Landroid/view/RenderNode;->setSpotShadowColor(I)Z
-Landroid/view/RenderNode;->setStaticMatrix(Landroid/graphics/Matrix;)Z
-Landroid/view/RenderNode;->setTop(I)Z
-Landroid/view/RenderNode;->setTranslationX(F)Z
-Landroid/view/RenderNode;->setTranslationY(F)Z
-Landroid/view/RenderNode;->setTranslationZ(F)Z
-Landroid/view/RenderNodeAnimator$DelayedAnimationHelper;
-Landroid/view/RenderNodeAnimator$DelayedAnimationHelper;-><init>()V
-Landroid/view/RenderNodeAnimator$DelayedAnimationHelper;->addDelayedAnimation(Landroid/view/RenderNodeAnimator;)V
-Landroid/view/RenderNodeAnimator$DelayedAnimationHelper;->mCallbackScheduled:Z
-Landroid/view/RenderNodeAnimator$DelayedAnimationHelper;->mChoreographer:Landroid/view/Choreographer;
-Landroid/view/RenderNodeAnimator$DelayedAnimationHelper;->mDelayedAnims:Ljava/util/ArrayList;
-Landroid/view/RenderNodeAnimator$DelayedAnimationHelper;->removeDelayedAnimation(Landroid/view/RenderNodeAnimator;)V
-Landroid/view/RenderNodeAnimator$DelayedAnimationHelper;->scheduleCallback()V
-Landroid/view/RenderNodeAnimator;
-Landroid/view/RenderNodeAnimator;-><init>(IIFF)V
-Landroid/view/RenderNodeAnimator;->ALPHA:I
-Landroid/view/RenderNodeAnimator;->applyInterpolator()V
-Landroid/view/RenderNodeAnimator;->checkMutable()V
-Landroid/view/RenderNodeAnimator;->cloneListeners()Ljava/util/ArrayList;
-Landroid/view/RenderNodeAnimator;->doStart()V
-Landroid/view/RenderNodeAnimator;->getHelper()Landroid/view/RenderNodeAnimator$DelayedAnimationHelper;
-Landroid/view/RenderNodeAnimator;->getNativeAnimator()J
-Landroid/view/RenderNodeAnimator;->init(J)V
-Landroid/view/RenderNodeAnimator;->isNativeInterpolator(Landroid/animation/TimeInterpolator;)Z
-Landroid/view/RenderNodeAnimator;->LAST_VALUE:I
-Landroid/view/RenderNodeAnimator;->mFinalValue:F
-Landroid/view/RenderNodeAnimator;->mInterpolator:Landroid/animation/TimeInterpolator;
-Landroid/view/RenderNodeAnimator;->mNativePtr:Lcom/android/internal/util/VirtualRefBasePtr;
-Landroid/view/RenderNodeAnimator;->moveToRunningState()V
-Landroid/view/RenderNodeAnimator;->mRenderProperty:I
-Landroid/view/RenderNodeAnimator;->mStartDelay:J
-Landroid/view/RenderNodeAnimator;->mStartTime:J
-Landroid/view/RenderNodeAnimator;->mState:I
-Landroid/view/RenderNodeAnimator;->mTarget:Landroid/view/RenderNode;
-Landroid/view/RenderNodeAnimator;->mUiThreadHandlesDelay:Z
-Landroid/view/RenderNodeAnimator;->mUnscaledDuration:J
-Landroid/view/RenderNodeAnimator;->mUnscaledStartDelay:J
-Landroid/view/RenderNodeAnimator;->mViewTarget:Landroid/view/View;
-Landroid/view/RenderNodeAnimator;->nCreateAnimator(IF)J
-Landroid/view/RenderNodeAnimator;->nCreateCanvasPropertyFloatAnimator(JF)J
-Landroid/view/RenderNodeAnimator;->nCreateCanvasPropertyPaintAnimator(JIF)J
-Landroid/view/RenderNodeAnimator;->nCreateRevealAnimator(IIFF)J
-Landroid/view/RenderNodeAnimator;->nEnd(J)V
-Landroid/view/RenderNodeAnimator;->nGetDuration(J)J
-Landroid/view/RenderNodeAnimator;->notifyStartListeners()V
-Landroid/view/RenderNodeAnimator;->nSetAllowRunningAsync(JZ)V
-Landroid/view/RenderNodeAnimator;->nSetDuration(JJ)V
-Landroid/view/RenderNodeAnimator;->nSetInterpolator(JJ)V
-Landroid/view/RenderNodeAnimator;->nSetListener(JLandroid/view/RenderNodeAnimator;)V
-Landroid/view/RenderNodeAnimator;->nSetStartDelay(JJ)V
-Landroid/view/RenderNodeAnimator;->nSetStartValue(JF)V
-Landroid/view/RenderNodeAnimator;->nStart(J)V
-Landroid/view/RenderNodeAnimator;->onFinished()V
-Landroid/view/RenderNodeAnimator;->PAINT_ALPHA:I
-Landroid/view/RenderNodeAnimator;->PAINT_STROKE_WIDTH:I
-Landroid/view/RenderNodeAnimator;->processDelayed(J)Z
-Landroid/view/RenderNodeAnimator;->releaseNativePtr()V
-Landroid/view/RenderNodeAnimator;->ROTATION:I
-Landroid/view/RenderNodeAnimator;->ROTATION_X:I
-Landroid/view/RenderNodeAnimator;->ROTATION_Y:I
-Landroid/view/RenderNodeAnimator;->sAnimationHelper:Ljava/lang/ThreadLocal;
-Landroid/view/RenderNodeAnimator;->SCALE_X:I
-Landroid/view/RenderNodeAnimator;->SCALE_Y:I
-Landroid/view/RenderNodeAnimator;->setAllowRunningAsynchronously(Z)V
-Landroid/view/RenderNodeAnimator;->setTarget(Landroid/view/DisplayListCanvas;)V
-Landroid/view/RenderNodeAnimator;->setTarget(Landroid/view/RenderNode;)V
-Landroid/view/RenderNodeAnimator;->STATE_DELAYED:I
-Landroid/view/RenderNodeAnimator;->STATE_FINISHED:I
-Landroid/view/RenderNodeAnimator;->STATE_PREPARE:I
-Landroid/view/RenderNodeAnimator;->STATE_RUNNING:I
-Landroid/view/RenderNodeAnimator;->sViewPropertyAnimatorMap:Landroid/util/SparseIntArray;
-Landroid/view/RenderNodeAnimator;->TRANSLATION_X:I
-Landroid/view/RenderNodeAnimator;->TRANSLATION_Y:I
-Landroid/view/RenderNodeAnimator;->TRANSLATION_Z:I
-Landroid/view/RenderNodeAnimator;->X:I
-Landroid/view/RenderNodeAnimator;->Y:I
-Landroid/view/RenderNodeAnimator;->Z:I
-Landroid/view/RenderNodeAnimatorSetHelper;
-Landroid/view/RenderNodeAnimatorSetHelper;-><init>()V
-Landroid/view/RenderNodeAnimatorSetHelper;->createNativeInterpolator(Landroid/animation/TimeInterpolator;J)J
-Landroid/view/RenderNodeAnimatorSetHelper;->getTarget(Landroid/view/DisplayListCanvas;)Landroid/view/RenderNode;
-Landroid/view/RoundScrollbarRenderer;
-Landroid/view/RoundScrollbarRenderer;-><init>(Landroid/view/View;)V
-Landroid/view/RoundScrollbarRenderer;->applyAlpha(IF)I
-Landroid/view/RoundScrollbarRenderer;->clamp(FFF)F
-Landroid/view/RoundScrollbarRenderer;->DEFAULT_THUMB_COLOR:I
-Landroid/view/RoundScrollbarRenderer;->DEFAULT_TRACK_COLOR:I
-Landroid/view/RoundScrollbarRenderer;->drawRoundScrollbars(Landroid/graphics/Canvas;FLandroid/graphics/Rect;)V
-Landroid/view/RoundScrollbarRenderer;->MAX_SCROLLBAR_ANGLE_SWIPE:I
-Landroid/view/RoundScrollbarRenderer;->MIN_SCROLLBAR_ANGLE_SWIPE:I
-Landroid/view/RoundScrollbarRenderer;->mParent:Landroid/view/View;
-Landroid/view/RoundScrollbarRenderer;->mRect:Landroid/graphics/RectF;
-Landroid/view/RoundScrollbarRenderer;->mThumbPaint:Landroid/graphics/Paint;
-Landroid/view/RoundScrollbarRenderer;->mTrackPaint:Landroid/graphics/Paint;
-Landroid/view/RoundScrollbarRenderer;->SCROLLBAR_ANGLE_RANGE:I
-Landroid/view/RoundScrollbarRenderer;->setThumbColor(I)V
-Landroid/view/RoundScrollbarRenderer;->setTrackColor(I)V
-Landroid/view/RoundScrollbarRenderer;->WIDTH_PERCENTAGE:F
-Landroid/view/ScaleGestureDetector;->ANCHORED_SCALE_MODE_DOUBLE_TAP:I
-Landroid/view/ScaleGestureDetector;->ANCHORED_SCALE_MODE_NONE:I
-Landroid/view/ScaleGestureDetector;->ANCHORED_SCALE_MODE_STYLUS:I
-Landroid/view/ScaleGestureDetector;->inAnchoredScaleMode()Z
-Landroid/view/ScaleGestureDetector;->mAnchoredScaleMode:I
-Landroid/view/ScaleGestureDetector;->mAnchoredScaleStartX:F
-Landroid/view/ScaleGestureDetector;->mAnchoredScaleStartY:F
-Landroid/view/ScaleGestureDetector;->mContext:Landroid/content/Context;
-Landroid/view/ScaleGestureDetector;->mCurrSpan:F
-Landroid/view/ScaleGestureDetector;->mCurrSpanX:F
-Landroid/view/ScaleGestureDetector;->mCurrSpanY:F
-Landroid/view/ScaleGestureDetector;->mCurrTime:J
-Landroid/view/ScaleGestureDetector;->mEventBeforeOrAboveStartingGestureEvent:Z
-Landroid/view/ScaleGestureDetector;->mFocusX:F
-Landroid/view/ScaleGestureDetector;->mFocusY:F
-Landroid/view/ScaleGestureDetector;->mGestureDetector:Landroid/view/GestureDetector;
-Landroid/view/ScaleGestureDetector;->mHandler:Landroid/os/Handler;
-Landroid/view/ScaleGestureDetector;->mInitialSpan:F
-Landroid/view/ScaleGestureDetector;->mInProgress:Z
-Landroid/view/ScaleGestureDetector;->mInputEventConsistencyVerifier:Landroid/view/InputEventConsistencyVerifier;
-Landroid/view/ScaleGestureDetector;->mPrevSpan:F
-Landroid/view/ScaleGestureDetector;->mPrevSpanX:F
-Landroid/view/ScaleGestureDetector;->mPrevSpanY:F
-Landroid/view/ScaleGestureDetector;->mPrevTime:J
-Landroid/view/ScaleGestureDetector;->mQuickScaleEnabled:Z
-Landroid/view/ScaleGestureDetector;->mStylusScaleEnabled:Z
-Landroid/view/ScaleGestureDetector;->SCALE_FACTOR:F
-Landroid/view/ScaleGestureDetector;->TAG:Ljava/lang/String;
-Landroid/view/ScaleGestureDetector;->TOUCH_STABILIZE_TIME:J
-Landroid/view/SearchEvent;->mInputDevice:Landroid/view/InputDevice;
-Landroid/view/SoundEffectConstants;-><init>()V
-Landroid/view/Surface$CompatibleCanvas;
-Landroid/view/Surface$CompatibleCanvas;-><init>()V
-Landroid/view/Surface$CompatibleCanvas;->mOrigMatrix:Landroid/graphics/Matrix;
-Landroid/view/Surface$HwuiContext;
-Landroid/view/Surface$HwuiContext;-><init>(Z)V
-Landroid/view/Surface$HwuiContext;->destroy()V
-Landroid/view/Surface$HwuiContext;->isWideColorGamut()Z
-Landroid/view/Surface$HwuiContext;->lockCanvas(II)Landroid/graphics/Canvas;
-Landroid/view/Surface$HwuiContext;->mCanvas:Landroid/view/DisplayListCanvas;
-Landroid/view/Surface$HwuiContext;->mHwuiRenderer:J
-Landroid/view/Surface$HwuiContext;->mIsWideColorGamut:Z
-Landroid/view/Surface$HwuiContext;->mRenderNode:Landroid/view/RenderNode;
-Landroid/view/Surface$HwuiContext;->unlockAndPost(Landroid/graphics/Canvas;)V
-Landroid/view/Surface$HwuiContext;->updateSurface()V
-Landroid/view/Surface$Rotation;
-Landroid/view/Surface$ScalingMode;
-Landroid/view/Surface;->allocateBuffers()V
-Landroid/view/Surface;->attachAndQueueBuffer(Landroid/graphics/GraphicBuffer;)V
-Landroid/view/Surface;->checkNotReleasedLocked()V
-Landroid/view/Surface;->createFrom(Landroid/view/SurfaceControl;)V
-Landroid/view/Surface;->forceScopedDisconnect()V
-Landroid/view/Surface;->getGenerationId()I
-Landroid/view/Surface;->hwuiDestroy()V
-Landroid/view/Surface;->isAutoRefreshEnabled()Z
-Landroid/view/Surface;->isConsumerRunningBehind()Z
-Landroid/view/Surface;->isSharedBufferModeEnabled()Z
-Landroid/view/Surface;->isSingleBuffered()Z
-Landroid/view/Surface;->lockHardwareWideColorGamutCanvas()Landroid/graphics/Canvas;
-Landroid/view/Surface;->mCanvas:Landroid/graphics/Canvas;
-Landroid/view/Surface;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/view/Surface;->mCompatibleMatrix:Landroid/graphics/Matrix;
-Landroid/view/Surface;->mGenerationId:I
-Landroid/view/Surface;->mHwuiContext:Landroid/view/Surface$HwuiContext;
-Landroid/view/Surface;->mIsAutoRefreshEnabled:Z
-Landroid/view/Surface;->mIsSharedBufferModeEnabled:Z
-Landroid/view/Surface;->mIsSingleBuffered:Z
-Landroid/view/Surface;->nativeAllocateBuffers(J)V
-Landroid/view/Surface;->nativeAttachAndQueueBuffer(JLandroid/graphics/GraphicBuffer;)I
-Landroid/view/Surface;->nativeCreateFromSurfaceControl(J)J
-Landroid/view/Surface;->nativeCreateFromSurfaceTexture(Landroid/graphics/SurfaceTexture;)J
-Landroid/view/Surface;->nativeForceScopedDisconnect(J)I
-Landroid/view/Surface;->nativeGetFromSurfaceControl(J)J
-Landroid/view/Surface;->nativeGetHeight(J)I
-Landroid/view/Surface;->nativeGetNextFrameNumber(J)J
-Landroid/view/Surface;->nativeGetWidth(J)I
-Landroid/view/Surface;->nativeIsConsumerRunningBehind(J)Z
-Landroid/view/Surface;->nativeIsValid(J)Z
-Landroid/view/Surface;->nativeLockCanvas(JLandroid/graphics/Canvas;Landroid/graphics/Rect;)J
-Landroid/view/Surface;->nativeReadFromParcel(JLandroid/os/Parcel;)J
-Landroid/view/Surface;->nativeSetAutoRefreshEnabled(JZ)I
-Landroid/view/Surface;->nativeSetScalingMode(JI)I
-Landroid/view/Surface;->nativeSetSharedBufferModeEnabled(JZ)I
-Landroid/view/Surface;->nativeUnlockCanvasAndPost(JLandroid/graphics/Canvas;)V
-Landroid/view/Surface;->nativeWriteToParcel(JLandroid/os/Parcel;)V
-Landroid/view/Surface;->nHwuiCreate(JJZ)J
-Landroid/view/Surface;->nHwuiDestroy(J)V
-Landroid/view/Surface;->nHwuiDraw(J)V
-Landroid/view/Surface;->nHwuiSetSurface(JJ)V
-Landroid/view/Surface;->rotationToString(I)Ljava/lang/String;
-Landroid/view/Surface;->SCALING_MODE_FREEZE:I
-Landroid/view/Surface;->SCALING_MODE_NO_SCALE_CROP:I
-Landroid/view/Surface;->SCALING_MODE_SCALE_CROP:I
-Landroid/view/Surface;->SCALING_MODE_SCALE_TO_WINDOW:I
-Landroid/view/Surface;->setAutoRefreshEnabled(Z)V
-Landroid/view/Surface;->setCompatibilityTranslator(Landroid/content/res/CompatibilityInfo$Translator;)V
-Landroid/view/Surface;->setNativeObjectLocked(J)V
-Landroid/view/Surface;->setScalingMode(I)V
-Landroid/view/Surface;->setSharedBufferModeEnabled(Z)V
-Landroid/view/Surface;->TAG:Ljava/lang/String;
-Landroid/view/Surface;->unlockSwCanvasAndPost(Landroid/graphics/Canvas;)V
-Landroid/view/SurfaceControl$Builder;
-Landroid/view/SurfaceControl$Builder;-><init>(Landroid/view/SurfaceSession;)V
-Landroid/view/SurfaceControl$Builder;->build()Landroid/view/SurfaceControl;
-Landroid/view/SurfaceControl$Builder;->mFlags:I
-Landroid/view/SurfaceControl$Builder;->mFormat:I
-Landroid/view/SurfaceControl$Builder;->mHeight:I
-Landroid/view/SurfaceControl$Builder;->mName:Ljava/lang/String;
-Landroid/view/SurfaceControl$Builder;->mOwnerUid:I
-Landroid/view/SurfaceControl$Builder;->mParent:Landroid/view/SurfaceControl;
-Landroid/view/SurfaceControl$Builder;->mSession:Landroid/view/SurfaceSession;
-Landroid/view/SurfaceControl$Builder;->mWidth:I
-Landroid/view/SurfaceControl$Builder;->mWindowType:I
-Landroid/view/SurfaceControl$Builder;->setColorLayer(Z)Landroid/view/SurfaceControl$Builder;
-Landroid/view/SurfaceControl$Builder;->setFlags(I)Landroid/view/SurfaceControl$Builder;
-Landroid/view/SurfaceControl$Builder;->setFormat(I)Landroid/view/SurfaceControl$Builder;
-Landroid/view/SurfaceControl$Builder;->setMetadata(II)Landroid/view/SurfaceControl$Builder;
-Landroid/view/SurfaceControl$Builder;->setName(Ljava/lang/String;)Landroid/view/SurfaceControl$Builder;
-Landroid/view/SurfaceControl$Builder;->setOpaque(Z)Landroid/view/SurfaceControl$Builder;
-Landroid/view/SurfaceControl$Builder;->setParent(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Builder;
-Landroid/view/SurfaceControl$Builder;->setProtected(Z)Landroid/view/SurfaceControl$Builder;
-Landroid/view/SurfaceControl$Builder;->setSecure(Z)Landroid/view/SurfaceControl$Builder;
-Landroid/view/SurfaceControl$Builder;->setSize(II)Landroid/view/SurfaceControl$Builder;
-Landroid/view/SurfaceControl$PhysicalDisplayInfo;
-Landroid/view/SurfaceControl$PhysicalDisplayInfo;-><init>(Landroid/view/SurfaceControl$PhysicalDisplayInfo;)V
-Landroid/view/SurfaceControl$PhysicalDisplayInfo;->copyFrom(Landroid/view/SurfaceControl$PhysicalDisplayInfo;)V
-Landroid/view/SurfaceControl$PhysicalDisplayInfo;->equals(Landroid/view/SurfaceControl$PhysicalDisplayInfo;)Z
-Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->apply(Z)V
-Landroid/view/SurfaceControl$Transaction;->applyResizedSurfaces()V
-Landroid/view/SurfaceControl$Transaction;->destroy(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->detachChildren(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->merge(Landroid/view/SurfaceControl$Transaction;)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->mFreeNativeResources:Ljava/lang/Runnable;
-Landroid/view/SurfaceControl$Transaction;->mNativeObject:J
-Landroid/view/SurfaceControl$Transaction;->mResizedSurfaces:Landroid/util/ArrayMap;
-Landroid/view/SurfaceControl$Transaction;->reparent(Landroid/view/SurfaceControl;Landroid/os/IBinder;)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->reparentChildren(Landroid/view/SurfaceControl;Landroid/os/IBinder;)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setAnimationTransaction()Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setDisplayLayerStack(Landroid/os/IBinder;I)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setDisplayProjection(Landroid/os/IBinder;ILandroid/graphics/Rect;Landroid/graphics/Rect;)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setDisplaySize(Landroid/os/IBinder;II)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setDisplaySurface(Landroid/os/IBinder;Landroid/view/Surface;)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setEarlyWakeup()Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setGeometryAppliesWithResize(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setLayerStack(Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setOpaque(Landroid/view/SurfaceControl;Z)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setOverrideScalingMode(Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setRelativeLayer(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setSecure(Landroid/view/SurfaceControl;Z)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setTransparentRegionHint(Landroid/view/SurfaceControl;Landroid/graphics/Region;)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->sRegistry:Llibcore/util/NativeAllocationRegistry;
-Landroid/view/SurfaceControl;
-Landroid/view/SurfaceControl;-><init>(Landroid/os/Parcel;)V
-Landroid/view/SurfaceControl;-><init>(Landroid/view/SurfaceControl;)V
-Landroid/view/SurfaceControl;-><init>(Landroid/view/SurfaceSession;Ljava/lang/String;IIIILandroid/view/SurfaceControl;II)V
-Landroid/view/SurfaceControl;->BUILT_IN_DISPLAY_ID_HDMI:I
-Landroid/view/SurfaceControl;->BUILT_IN_DISPLAY_ID_MAIN:I
-Landroid/view/SurfaceControl;->captureLayers(Landroid/os/IBinder;Landroid/graphics/Rect;F)Landroid/graphics/GraphicBuffer;
-Landroid/view/SurfaceControl;->checkNotReleased()V
-Landroid/view/SurfaceControl;->clearAnimationFrameStats()Z
-Landroid/view/SurfaceControl;->clearContentFrameStats()Z
-Landroid/view/SurfaceControl;->closeTransaction(Z)V
-Landroid/view/SurfaceControl;->closeTransactionSync()V
-Landroid/view/SurfaceControl;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/view/SurfaceControl;->CURSOR_WINDOW:I
-Landroid/view/SurfaceControl;->deferTransactionUntil(Landroid/os/IBinder;J)V
-Landroid/view/SurfaceControl;->deferTransactionUntil(Landroid/view/Surface;J)V
-Landroid/view/SurfaceControl;->destroy()V
-Landroid/view/SurfaceControl;->detachChildren()V
-Landroid/view/SurfaceControl;->disconnect()V
-Landroid/view/SurfaceControl;->FX_SURFACE_DIM:I
-Landroid/view/SurfaceControl;->FX_SURFACE_MASK:I
-Landroid/view/SurfaceControl;->FX_SURFACE_NORMAL:I
-Landroid/view/SurfaceControl;->getActiveColorMode(Landroid/os/IBinder;)I
-Landroid/view/SurfaceControl;->getActiveConfig(Landroid/os/IBinder;)I
-Landroid/view/SurfaceControl;->getAnimationFrameStats(Landroid/view/WindowAnimationFrameStats;)Z
-Landroid/view/SurfaceControl;->getContentFrameStats(Landroid/view/WindowContentFrameStats;)Z
-Landroid/view/SurfaceControl;->getDisplayColorModes(Landroid/os/IBinder;)[I
-Landroid/view/SurfaceControl;->getHandle()Landroid/os/IBinder;
-Landroid/view/SurfaceControl;->getHdrCapabilities(Landroid/os/IBinder;)Landroid/view/Display$HdrCapabilities;
-Landroid/view/SurfaceControl;->getHeight()I
-Landroid/view/SurfaceControl;->getWidth()I
-Landroid/view/SurfaceControl;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/view/SurfaceControl;->mergeToGlobalTransaction(Landroid/view/SurfaceControl$Transaction;)V
-Landroid/view/SurfaceControl;->mHeight:I
-Landroid/view/SurfaceControl;->mName:Ljava/lang/String;
-Landroid/view/SurfaceControl;->mNativeObject:J
-Landroid/view/SurfaceControl;->mSizeLock:Ljava/lang/Object;
-Landroid/view/SurfaceControl;->mWidth:I
-Landroid/view/SurfaceControl;->nativeApplyTransaction(JZ)V
-Landroid/view/SurfaceControl;->nativeCaptureLayers(Landroid/os/IBinder;Landroid/graphics/Rect;F)Landroid/graphics/GraphicBuffer;
-Landroid/view/SurfaceControl;->nativeClearAnimationFrameStats()Z
-Landroid/view/SurfaceControl;->nativeClearContentFrameStats(J)Z
-Landroid/view/SurfaceControl;->nativeCreate(Landroid/view/SurfaceSession;Ljava/lang/String;IIIIJII)J
-Landroid/view/SurfaceControl;->nativeCreateDisplay(Ljava/lang/String;Z)Landroid/os/IBinder;
-Landroid/view/SurfaceControl;->nativeCreateTransaction()J
-Landroid/view/SurfaceControl;->nativeDeferTransactionUntil(JJLandroid/os/IBinder;J)V
-Landroid/view/SurfaceControl;->nativeDeferTransactionUntilSurface(JJJJ)V
-Landroid/view/SurfaceControl;->nativeDestroy(J)V
-Landroid/view/SurfaceControl;->nativeDestroy(JJ)V
-Landroid/view/SurfaceControl;->nativeDestroyDisplay(Landroid/os/IBinder;)V
-Landroid/view/SurfaceControl;->nativeDisconnect(J)V
-Landroid/view/SurfaceControl;->nativeGetActiveColorMode(Landroid/os/IBinder;)I
-Landroid/view/SurfaceControl;->nativeGetActiveConfig(Landroid/os/IBinder;)I
-Landroid/view/SurfaceControl;->nativeGetAnimationFrameStats(Landroid/view/WindowAnimationFrameStats;)Z
-Landroid/view/SurfaceControl;->nativeGetBuiltInDisplay(I)Landroid/os/IBinder;
-Landroid/view/SurfaceControl;->nativeGetContentFrameStats(JLandroid/view/WindowContentFrameStats;)Z
-Landroid/view/SurfaceControl;->nativeGetDisplayColorModes(Landroid/os/IBinder;)[I
-Landroid/view/SurfaceControl;->nativeGetDisplayConfigs(Landroid/os/IBinder;)[Landroid/view/SurfaceControl$PhysicalDisplayInfo;
-Landroid/view/SurfaceControl;->nativeGetHandle(J)Landroid/os/IBinder;
-Landroid/view/SurfaceControl;->nativeGetHdrCapabilities(Landroid/os/IBinder;)Landroid/view/Display$HdrCapabilities;
-Landroid/view/SurfaceControl;->nativeGetNativeTransactionFinalizer()J
-Landroid/view/SurfaceControl;->nativeGetTransformToDisplayInverse(J)Z
-Landroid/view/SurfaceControl;->nativeMergeTransaction(JJ)V
-Landroid/view/SurfaceControl;->nativeReadFromParcel(Landroid/os/Parcel;)J
-Landroid/view/SurfaceControl;->nativeRelease(J)V
-Landroid/view/SurfaceControl;->nativeReparent(JJLandroid/os/IBinder;)V
-Landroid/view/SurfaceControl;->nativeReparentChildren(JJLandroid/os/IBinder;)V
-Landroid/view/SurfaceControl;->nativeScreenshot(Landroid/os/IBinder;Landroid/graphics/Rect;IIIIZZI)Landroid/graphics/Bitmap;
-Landroid/view/SurfaceControl;->nativeScreenshot(Landroid/os/IBinder;Landroid/view/Surface;Landroid/graphics/Rect;IIIIZZ)V
-Landroid/view/SurfaceControl;->nativeScreenshotToBuffer(Landroid/os/IBinder;Landroid/graphics/Rect;IIIIZZI)Landroid/graphics/GraphicBuffer;
-Landroid/view/SurfaceControl;->nativeSetActiveColorMode(Landroid/os/IBinder;I)Z
-Landroid/view/SurfaceControl;->nativeSetActiveConfig(Landroid/os/IBinder;I)Z
-Landroid/view/SurfaceControl;->nativeSetAlpha(JJF)V
-Landroid/view/SurfaceControl;->nativeSetAnimationTransaction(J)V
-Landroid/view/SurfaceControl;->nativeSetColor(JJ[F)V
-Landroid/view/SurfaceControl;->nativeSetDisplayLayerStack(JLandroid/os/IBinder;I)V
-Landroid/view/SurfaceControl;->nativeSetDisplayPowerMode(Landroid/os/IBinder;I)V
-Landroid/view/SurfaceControl;->nativeSetDisplayProjection(JLandroid/os/IBinder;IIIIIIIII)V
-Landroid/view/SurfaceControl;->nativeSetDisplaySize(JLandroid/os/IBinder;II)V
-Landroid/view/SurfaceControl;->nativeSetDisplaySurface(JLandroid/os/IBinder;J)V
-Landroid/view/SurfaceControl;->nativeSetEarlyWakeup(J)V
-Landroid/view/SurfaceControl;->nativeSetFinalCrop(JJIIII)V
-Landroid/view/SurfaceControl;->nativeSetFlags(JJII)V
-Landroid/view/SurfaceControl;->nativeSetGeometryAppliesWithResize(JJ)V
-Landroid/view/SurfaceControl;->nativeSetLayer(JJI)V
-Landroid/view/SurfaceControl;->nativeSetLayerStack(JJI)V
-Landroid/view/SurfaceControl;->nativeSetMatrix(JJFFFF)V
-Landroid/view/SurfaceControl;->nativeSetOverrideScalingMode(JJI)V
-Landroid/view/SurfaceControl;->nativeSetPosition(JJFF)V
-Landroid/view/SurfaceControl;->nativeSetRelativeLayer(JJLandroid/os/IBinder;I)V
-Landroid/view/SurfaceControl;->nativeSetSize(JJII)V
-Landroid/view/SurfaceControl;->nativeSetTransparentRegionHint(JJLandroid/graphics/Region;)V
-Landroid/view/SurfaceControl;->nativeSetWindowCrop(JJIIII)V
-Landroid/view/SurfaceControl;->nativeSeverChildren(JJ)V
-Landroid/view/SurfaceControl;->nativeWriteToParcel(JLandroid/os/Parcel;)V
-Landroid/view/SurfaceControl;->NON_PREMULTIPLIED:I
-Landroid/view/SurfaceControl;->OPAQUE:I
-Landroid/view/SurfaceControl;->POWER_MODE_DOZE:I
-Landroid/view/SurfaceControl;->POWER_MODE_DOZE_SUSPEND:I
-Landroid/view/SurfaceControl;->POWER_MODE_NORMAL:I
-Landroid/view/SurfaceControl;->POWER_MODE_OFF:I
-Landroid/view/SurfaceControl;->POWER_MODE_ON_SUSPEND:I
-Landroid/view/SurfaceControl;->PROTECTED_APP:I
-Landroid/view/SurfaceControl;->release()V
-Landroid/view/SurfaceControl;->reparent(Landroid/os/IBinder;)V
-Landroid/view/SurfaceControl;->reparentChildren(Landroid/os/IBinder;)V
-Landroid/view/SurfaceControl;->rotateCropForSF(Landroid/graphics/Rect;I)V
-Landroid/view/SurfaceControl;->screenshot(Landroid/os/IBinder;Landroid/view/Surface;)V
-Landroid/view/SurfaceControl;->screenshot(Landroid/os/IBinder;Landroid/view/Surface;II)V
-Landroid/view/SurfaceControl;->screenshot(Landroid/os/IBinder;Landroid/view/Surface;IIIIZ)V
-Landroid/view/SurfaceControl;->screenshotToBuffer(Landroid/graphics/Rect;IIIIZI)Landroid/graphics/GraphicBuffer;
-Landroid/view/SurfaceControl;->SECURE:I
-Landroid/view/SurfaceControl;->setActiveColorMode(Landroid/os/IBinder;I)Z
-Landroid/view/SurfaceControl;->setActiveConfig(Landroid/os/IBinder;I)Z
-Landroid/view/SurfaceControl;->setAlpha(F)V
-Landroid/view/SurfaceControl;->setAnimationTransaction()V
-Landroid/view/SurfaceControl;->setColor([F)V
-Landroid/view/SurfaceControl;->setDisplayPowerMode(Landroid/os/IBinder;I)V
-Landroid/view/SurfaceControl;->setDisplaySize(Landroid/os/IBinder;II)V
-Landroid/view/SurfaceControl;->setFinalCrop(Landroid/graphics/Rect;)V
-Landroid/view/SurfaceControl;->setGeometryAppliesWithResize()V
-Landroid/view/SurfaceControl;->setLayerStack(I)V
-Landroid/view/SurfaceControl;->setMatrix(FFFF)V
-Landroid/view/SurfaceControl;->setMatrix(Landroid/graphics/Matrix;[F)V
-Landroid/view/SurfaceControl;->setOpaque(Z)V
-Landroid/view/SurfaceControl;->setOverrideScalingMode(I)V
-Landroid/view/SurfaceControl;->setRelativeLayer(Landroid/view/SurfaceControl;I)V
-Landroid/view/SurfaceControl;->setSecure(Z)V
-Landroid/view/SurfaceControl;->setSize(II)V
-Landroid/view/SurfaceControl;->setTransparentRegionHint(Landroid/graphics/Region;)V
-Landroid/view/SurfaceControl;->setWindowCrop(Landroid/graphics/Rect;)V
-Landroid/view/SurfaceControl;->sGlobalTransaction:Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl;->sTransactionNestCount:J
-Landroid/view/SurfaceControl;->SURFACE_HIDDEN:I
-Landroid/view/SurfaceControl;->SURFACE_OPAQUE:I
-Landroid/view/SurfaceControl;->TAG:Ljava/lang/String;
-Landroid/view/SurfaceControl;->WINDOW_TYPE_DONT_SCREENSHOT:I
-Landroid/view/SurfaceControl;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/view/SurfaceControlProto;
-Landroid/view/SurfaceControlProto;-><init>()V
-Landroid/view/SurfaceControlProto;->HASH_CODE:J
-Landroid/view/SurfaceControlProto;->NAME:J
-Landroid/view/SurfaceProto;
-Landroid/view/SurfaceProto;-><init>()V
-Landroid/view/SurfaceProto;->ROTATION_0:I
-Landroid/view/SurfaceProto;->ROTATION_180:I
-Landroid/view/SurfaceProto;->ROTATION_270:I
-Landroid/view/SurfaceProto;->ROTATION_90:I
-Landroid/view/SurfaceSession;
-Landroid/view/SurfaceSession;-><init>(Landroid/view/Surface;)V
-Landroid/view/SurfaceSession;->nativeCreate()J
-Landroid/view/SurfaceSession;->nativeCreateScoped(J)J
-Landroid/view/SurfaceSession;->nativeDestroy(J)V
-Landroid/view/SurfaceSession;->nativeKill(J)V
-Landroid/view/SurfaceView$SurfaceControlWithBackground;
-Landroid/view/SurfaceView$SurfaceControlWithBackground;-><init>(Ljava/lang/String;ZLandroid/view/SurfaceControl$Builder;)V
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->deferTransactionUntil(Landroid/os/IBinder;J)V
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->deferTransactionUntil(Landroid/view/Surface;J)V
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->destroy()V
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->hide()V
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->mBackgroundControl:Landroid/view/SurfaceControl;
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->mOpaque:Z
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->mVisible:Z
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->release()V
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->setAlpha(F)V
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->setBackgroundColor(I)V
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->setFinalCrop(Landroid/graphics/Rect;)V
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->setLayer(I)V
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->setLayerStack(I)V
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->setMatrix(FFFF)V
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->setOpaque(Z)V
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->setPosition(FF)V
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->setSecure(Z)V
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->setSize(II)V
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->setTransparentRegionHint(Landroid/graphics/Region;)V
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->setWindowCrop(Landroid/graphics/Rect;)V
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->show()V
-Landroid/view/SurfaceView$SurfaceControlWithBackground;->updateBackgroundVisibility()V
-Landroid/view/SurfaceView;->applyChildSurfaceTransaction_renderWorker(Landroid/view/SurfaceControl$Transaction;Landroid/view/Surface;J)V
-Landroid/view/SurfaceView;->applySurfaceTransforms(Landroid/view/SurfaceControl;Landroid/graphics/Rect;J)V
-Landroid/view/SurfaceView;->DEBUG:Z
-Landroid/view/SurfaceView;->getParentSurfaceInsets()Landroid/graphics/Rect;
-Landroid/view/SurfaceView;->getSurfaceCallbacks()[Landroid/view/SurfaceHolder$Callback;
-Landroid/view/SurfaceView;->isAboveParent()Z
-Landroid/view/SurfaceView;->mAttachedToWindow:Z
-Landroid/view/SurfaceView;->mConfiguration:Landroid/content/res/Configuration;
-Landroid/view/SurfaceView;->mDeferredDestroySurfaceControl:Landroid/view/SurfaceControl;
-Landroid/view/SurfaceView;->mDrawFinished:Z
-Landroid/view/SurfaceView;->mGlobalListenersAdded:Z
-Landroid/view/SurfaceView;->mLastSurfaceHeight:I
-Landroid/view/SurfaceView;->mLastSurfaceWidth:I
-Landroid/view/SurfaceView;->mLastWindowVisibility:Z
-Landroid/view/SurfaceView;->mLocation:[I
-Landroid/view/SurfaceView;->mPendingReportDraws:I
-Landroid/view/SurfaceView;->mRequestedVisible:Z
-Landroid/view/SurfaceView;->mRtHandlingPositionUpdates:Z
-Landroid/view/SurfaceView;->mRTLastReportedPosition:Landroid/graphics/Rect;
-Landroid/view/SurfaceView;->mRtTransaction:Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceView;->mScreenRect:Landroid/graphics/Rect;
-Landroid/view/SurfaceView;->mScrollChangedListener:Landroid/view/ViewTreeObserver$OnScrollChangedListener;
-Landroid/view/SurfaceView;->mSubLayer:I
-Landroid/view/SurfaceView;->mSurfaceControl:Landroid/view/SurfaceView$SurfaceControlWithBackground;
-Landroid/view/SurfaceView;->mSurfaceCreated:Z
-Landroid/view/SurfaceView;->mSurfaceFlags:I
-Landroid/view/SurfaceView;->mSurfaceHeight:I
-Landroid/view/SurfaceView;->mSurfaceSession:Landroid/view/SurfaceSession;
-Landroid/view/SurfaceView;->mSurfaceWidth:I
-Landroid/view/SurfaceView;->mTmpRect:Landroid/graphics/Rect;
-Landroid/view/SurfaceView;->mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
-Landroid/view/SurfaceView;->mViewVisibility:Z
-Landroid/view/SurfaceView;->mVisible:Z
-Landroid/view/SurfaceView;->mWindowSpaceLeft:I
-Landroid/view/SurfaceView;->mWindowSpaceTop:I
-Landroid/view/SurfaceView;->mWindowStopped:Z
-Landroid/view/SurfaceView;->mWindowVisibility:Z
-Landroid/view/SurfaceView;->notifyDrawFinished()V
-Landroid/view/SurfaceView;->onDrawFinished()V
-Landroid/view/SurfaceView;->performDrawFinished()V
-Landroid/view/SurfaceView;->runOnUiThread(Ljava/lang/Runnable;)V
-Landroid/view/SurfaceView;->setParentSpaceRectangle(Landroid/graphics/Rect;J)V
-Landroid/view/SurfaceView;->setResizeBackgroundColor(I)V
-Landroid/view/SurfaceView;->TAG:Ljava/lang/String;
-Landroid/view/SurfaceView;->updateOpaqueFlag()V
-Landroid/view/SurfaceView;->updateRequestedVisibility()V
-Landroid/view/SurfaceView;->updateSurface()V
-Landroid/view/SurfaceView;->windowStopped(Z)V
-Landroid/view/textclassifier/EntityConfidence;
-Landroid/view/textclassifier/EntityConfidence;-><init>()V
-Landroid/view/textclassifier/EntityConfidence;-><init>(Landroid/os/Parcel;)V
-Landroid/view/textclassifier/EntityConfidence;-><init>(Landroid/view/textclassifier/EntityConfidence;)V
-Landroid/view/textclassifier/EntityConfidence;-><init>(Ljava/util/Map;)V
-Landroid/view/textclassifier/EntityConfidence;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/view/textclassifier/EntityConfidence;->getConfidenceScore(Ljava/lang/String;)F
-Landroid/view/textclassifier/EntityConfidence;->getEntities()Ljava/util/List;
-Landroid/view/textclassifier/EntityConfidence;->mEntityConfidence:Landroid/util/ArrayMap;
-Landroid/view/textclassifier/EntityConfidence;->mSortedEntities:Ljava/util/ArrayList;
-Landroid/view/textclassifier/EntityConfidence;->resetSortedEntitiesFromMap()V
-Landroid/view/textclassifier/GenerateLinksLogger$LinkifyStats;
-Landroid/view/textclassifier/GenerateLinksLogger$LinkifyStats;-><init>()V
-Landroid/view/textclassifier/GenerateLinksLogger$LinkifyStats;->countLink(Landroid/view/textclassifier/TextLinks$TextLink;)V
-Landroid/view/textclassifier/GenerateLinksLogger$LinkifyStats;->mNumLinks:I
-Landroid/view/textclassifier/GenerateLinksLogger$LinkifyStats;->mNumLinksTextLength:I
-Landroid/view/textclassifier/GenerateLinksLogger;
-Landroid/view/textclassifier/GenerateLinksLogger;-><init>(I)V
-Landroid/view/textclassifier/GenerateLinksLogger;-><init>(ILcom/android/internal/logging/MetricsLogger;)V
-Landroid/view/textclassifier/GenerateLinksLogger;->debugLog(Landroid/metrics/LogMaker;)V
-Landroid/view/textclassifier/GenerateLinksLogger;->DEBUG_LOG_ENABLED:Z
-Landroid/view/textclassifier/GenerateLinksLogger;->logGenerateLinks(Ljava/lang/CharSequence;Landroid/view/textclassifier/TextLinks;Ljava/lang/String;J)V
-Landroid/view/textclassifier/GenerateLinksLogger;->LOG_TAG:Ljava/lang/String;
-Landroid/view/textclassifier/GenerateLinksLogger;->mMetricsLogger:Lcom/android/internal/logging/MetricsLogger;
-Landroid/view/textclassifier/GenerateLinksLogger;->mRng:Ljava/util/Random;
-Landroid/view/textclassifier/GenerateLinksLogger;->mSampleRate:I
-Landroid/view/textclassifier/GenerateLinksLogger;->shouldLog()Z
-Landroid/view/textclassifier/GenerateLinksLogger;->writeStats(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/view/textclassifier/GenerateLinksLogger$LinkifyStats;Ljava/lang/CharSequence;J)V
-Landroid/view/textclassifier/GenerateLinksLogger;->ZERO:Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent$ActionType;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent$ActionType;->ABANDON:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent$ActionType;->COPY:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent$ActionType;->CUT:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent$ActionType;->DRAG:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent$ActionType;->OTHER:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent$ActionType;->OVERTYPE:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent$ActionType;->PASTE:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent$ActionType;->RESET:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent$ActionType;->SELECT_ALL:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent$ActionType;->SHARE:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent$ActionType;->SMART_SHARE:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent$EventType;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent$EventType;->AUTO_SELECTION:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent$EventType;->SELECTION_MODIFIED:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent$EventType;->SELECTION_STARTED:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent$EventType;->SMART_SELECTION_MULTI:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent$EventType;->SMART_SELECTION_SINGLE:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;-><init>(IIILjava/lang/String;Ljava/lang/String;)V
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->getSourceClassifier(Ljava/lang/String;)Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->getVersionInfo(Ljava/lang/String;)Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->isTerminal()Z
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->mEnd:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->mEntityType:Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->mEventType:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->mStart:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->mVersionTag:Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->NO_VERSION_TAG:Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->OUT_OF_BOUNDS:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->OUT_OF_BOUNDS_NEGATIVE:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$WidgetType;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$WidgetType;->CUSTOM_EDITTEXT:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$WidgetType;->CUSTOM_TEXTVIEW:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$WidgetType;->CUSTOM_UNSELECTABLE_TEXTVIEW:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$WidgetType;->EDITTEXT:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$WidgetType;->EDIT_WEBVIEW:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$WidgetType;->TEXTVIEW:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$WidgetType;->UNSELECTABLE_TEXTVIEW:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$WidgetType;->UNSPECIFIED:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$WidgetType;->WEBVIEW:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;-><init>(Landroid/content/Context;ILjava/lang/String;)V
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->createSessionId()Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->CUSTOM_EDITTEXT:Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->CUSTOM_TEXTVIEW:Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->CUSTOM_UNSELECTABLE_TEXTVIEW:Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->debugLog(Landroid/metrics/LogMaker;)V
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->DEBUG_LOG_ENABLED:Z
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->EDITTEXT:Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->EDIT_WEBVIEW:Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->endSession()V
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->ENTITY_TYPE:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->EVENT_END:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->EVENT_START:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->getLogType(Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;)I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->getLogTypeString(I)Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->getModelName(Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;)Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->getRangeDelta(I)I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->getSmartRangeDelta(I)I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->getWidgetTypeName()Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->INDEX:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->LOG_TAG:Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->mContext:Landroid/content/Context;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->mIndex:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->mLastEventTime:J
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->mMetricsLogger:Lcom/android/internal/logging/MetricsLogger;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->mModelName:Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->MODEL_NAME:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->mOrigStart:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->mPrevIndices:[I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->mSessionId:Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->mSessionStartTime:J
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->mSmartIndices:[I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->mSmartSelectionTriggered:Z
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->mWidgetType:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->mWidgetVersion:Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->PREV_EVENT_DELTA:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->SESSION_ID:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->SMART_END:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->SMART_START:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->startNewSession()Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->START_EVENT_DELTA:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->TEXTVIEW:Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->UNKNOWN:Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->UNSELECTABLE_TEXTVIEW:Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->WEBVIEW:Ljava/lang/String;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->WIDGET_TYPE:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->WIDGET_VERSION:I
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->writeEvent(Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;J)V
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->ZERO:Ljava/lang/String;
-Landroid/view/textclassifier/SelectionEvent$ActionType;
-Landroid/view/textclassifier/SelectionEvent$EventType;
-Landroid/view/textclassifier/SelectionEvent$InvocationMethod;
-Landroid/view/textclassifier/SelectionEvent;-><init>(IIILjava/lang/String;ILjava/lang/String;)V
-Landroid/view/textclassifier/SelectionEvent;-><init>(Landroid/os/Parcel;)V
-Landroid/view/textclassifier/SelectionEvent;->checkActionType(I)V
-Landroid/view/textclassifier/SelectionEvent;->getAbsoluteEnd()I
-Landroid/view/textclassifier/SelectionEvent;->getAbsoluteStart()I
-Landroid/view/textclassifier/SelectionEvent;->isTerminal()Z
-Landroid/view/textclassifier/SelectionEvent;->mAbsoluteEnd:I
-Landroid/view/textclassifier/SelectionEvent;->mAbsoluteStart:I
-Landroid/view/textclassifier/SelectionEvent;->mDurationSincePreviousEvent:J
-Landroid/view/textclassifier/SelectionEvent;->mDurationSinceSessionStart:J
-Landroid/view/textclassifier/SelectionEvent;->mEnd:I
-Landroid/view/textclassifier/SelectionEvent;->mEntityType:Ljava/lang/String;
-Landroid/view/textclassifier/SelectionEvent;->mEventIndex:I
-Landroid/view/textclassifier/SelectionEvent;->mEventTime:J
-Landroid/view/textclassifier/SelectionEvent;->mEventType:I
-Landroid/view/textclassifier/SelectionEvent;->mInvocationMethod:I
-Landroid/view/textclassifier/SelectionEvent;->mPackageName:Ljava/lang/String;
-Landroid/view/textclassifier/SelectionEvent;->mResultId:Ljava/lang/String;
-Landroid/view/textclassifier/SelectionEvent;->mSessionId:Landroid/view/textclassifier/TextClassificationSessionId;
-Landroid/view/textclassifier/SelectionEvent;->mSmartEnd:I
-Landroid/view/textclassifier/SelectionEvent;->mSmartStart:I
-Landroid/view/textclassifier/SelectionEvent;->mStart:I
-Landroid/view/textclassifier/SelectionEvent;->mWidgetType:Ljava/lang/String;
-Landroid/view/textclassifier/SelectionEvent;->mWidgetVersion:Ljava/lang/String;
-Landroid/view/textclassifier/SelectionEvent;->NO_SIGNATURE:Ljava/lang/String;
-Landroid/view/textclassifier/SelectionEvent;->setDurationSincePreviousEvent(J)Landroid/view/textclassifier/SelectionEvent;
-Landroid/view/textclassifier/SelectionEvent;->setDurationSinceSessionStart(J)Landroid/view/textclassifier/SelectionEvent;
-Landroid/view/textclassifier/SelectionEvent;->setEnd(I)Landroid/view/textclassifier/SelectionEvent;
-Landroid/view/textclassifier/SelectionEvent;->setEventIndex(I)Landroid/view/textclassifier/SelectionEvent;
-Landroid/view/textclassifier/SelectionEvent;->setEventTime(J)Landroid/view/textclassifier/SelectionEvent;
-Landroid/view/textclassifier/SelectionEvent;->setEventType(I)V
-Landroid/view/textclassifier/SelectionEvent;->setInvocationMethod(I)V
-Landroid/view/textclassifier/SelectionEvent;->setResultId(Ljava/lang/String;)Landroid/view/textclassifier/SelectionEvent;
-Landroid/view/textclassifier/SelectionEvent;->setSessionId(Landroid/view/textclassifier/TextClassificationSessionId;)Landroid/view/textclassifier/SelectionEvent;
-Landroid/view/textclassifier/SelectionEvent;->setSmartEnd(I)Landroid/view/textclassifier/SelectionEvent;
-Landroid/view/textclassifier/SelectionEvent;->setSmartStart(I)Landroid/view/textclassifier/SelectionEvent;
-Landroid/view/textclassifier/SelectionEvent;->setStart(I)Landroid/view/textclassifier/SelectionEvent;
-Landroid/view/textclassifier/SelectionEvent;->setTextClassificationSessionContext(Landroid/view/textclassifier/TextClassificationContext;)V
-Landroid/view/textclassifier/SelectionSessionLogger$SignatureParser;
-Landroid/view/textclassifier/SelectionSessionLogger$SignatureParser;-><init>()V
-Landroid/view/textclassifier/SelectionSessionLogger$SignatureParser;->createSignature(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
-Landroid/view/textclassifier/SelectionSessionLogger$SignatureParser;->getClassifierId(Ljava/lang/String;)Ljava/lang/String;
-Landroid/view/textclassifier/SelectionSessionLogger$SignatureParser;->getHash(Ljava/lang/String;)I
-Landroid/view/textclassifier/SelectionSessionLogger$SignatureParser;->getModelName(Ljava/lang/String;)Ljava/lang/String;
-Landroid/view/textclassifier/SelectionSessionLogger;
-Landroid/view/textclassifier/SelectionSessionLogger;-><init>()V
-Landroid/view/textclassifier/SelectionSessionLogger;-><init>(Lcom/android/internal/logging/MetricsLogger;)V
-Landroid/view/textclassifier/SelectionSessionLogger;->CLASSIFIER_ID:Ljava/lang/String;
-Landroid/view/textclassifier/SelectionSessionLogger;->createId(Ljava/lang/String;IILandroid/content/Context;ILjava/util/List;)Ljava/lang/String;
-Landroid/view/textclassifier/SelectionSessionLogger;->debugLog(Landroid/metrics/LogMaker;)V
-Landroid/view/textclassifier/SelectionSessionLogger;->DEBUG_LOG_ENABLED:Z
-Landroid/view/textclassifier/SelectionSessionLogger;->ENTITY_TYPE:I
-Landroid/view/textclassifier/SelectionSessionLogger;->EVENT_END:I
-Landroid/view/textclassifier/SelectionSessionLogger;->EVENT_START:I
-Landroid/view/textclassifier/SelectionSessionLogger;->getLogSubType(Landroid/view/textclassifier/SelectionEvent;)I
-Landroid/view/textclassifier/SelectionSessionLogger;->getLogSubTypeString(I)Ljava/lang/String;
-Landroid/view/textclassifier/SelectionSessionLogger;->getLogType(Landroid/view/textclassifier/SelectionEvent;)I
-Landroid/view/textclassifier/SelectionSessionLogger;->getLogTypeString(I)Ljava/lang/String;
-Landroid/view/textclassifier/SelectionSessionLogger;->getTokenIterator(Ljava/util/Locale;)Ljava/text/BreakIterator;
-Landroid/view/textclassifier/SelectionSessionLogger;->INDEX:I
-Landroid/view/textclassifier/SelectionSessionLogger;->LOG_TAG:Ljava/lang/String;
-Landroid/view/textclassifier/SelectionSessionLogger;->mMetricsLogger:Lcom/android/internal/logging/MetricsLogger;
-Landroid/view/textclassifier/SelectionSessionLogger;->MODEL_NAME:I
-Landroid/view/textclassifier/SelectionSessionLogger;->PREV_EVENT_DELTA:I
-Landroid/view/textclassifier/SelectionSessionLogger;->SESSION_ID:I
-Landroid/view/textclassifier/SelectionSessionLogger;->SMART_END:I
-Landroid/view/textclassifier/SelectionSessionLogger;->SMART_START:I
-Landroid/view/textclassifier/SelectionSessionLogger;->START_EVENT_DELTA:I
-Landroid/view/textclassifier/SelectionSessionLogger;->UNKNOWN:Ljava/lang/String;
-Landroid/view/textclassifier/SelectionSessionLogger;->WIDGET_TYPE:I
-Landroid/view/textclassifier/SelectionSessionLogger;->WIDGET_VERSION:I
-Landroid/view/textclassifier/SelectionSessionLogger;->writeEvent(Landroid/view/textclassifier/SelectionEvent;)V
-Landroid/view/textclassifier/SelectionSessionLogger;->ZERO:Ljava/lang/String;
-Landroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;
-Landroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;-><init>()V
-Landroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;->get()Ljava/lang/Object;
-Landroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;->mLatch:Ljava/util/concurrent/CountDownLatch;
-Landroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;->mResponse:Ljava/lang/Object;
-Landroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;->onFailure()V
-Landroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;->onSuccess(Ljava/lang/Object;)V
-Landroid/view/textclassifier/SystemTextClassifier$TextClassificationCallback;
-Landroid/view/textclassifier/SystemTextClassifier$TextClassificationCallback;-><init>()V
-Landroid/view/textclassifier/SystemTextClassifier$TextClassificationCallback;->mReceiver:Landroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;
-Landroid/view/textclassifier/SystemTextClassifier$TextClassificationCallback;->onFailure()V
-Landroid/view/textclassifier/SystemTextClassifier$TextClassificationCallback;->onSuccess(Landroid/view/textclassifier/TextClassification;)V
-Landroid/view/textclassifier/SystemTextClassifier$TextLinksCallback;
-Landroid/view/textclassifier/SystemTextClassifier$TextLinksCallback;-><init>()V
-Landroid/view/textclassifier/SystemTextClassifier$TextLinksCallback;->mReceiver:Landroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;
-Landroid/view/textclassifier/SystemTextClassifier$TextLinksCallback;->onFailure()V
-Landroid/view/textclassifier/SystemTextClassifier$TextLinksCallback;->onSuccess(Landroid/view/textclassifier/TextLinks;)V
-Landroid/view/textclassifier/SystemTextClassifier$TextSelectionCallback;
-Landroid/view/textclassifier/SystemTextClassifier$TextSelectionCallback;-><init>()V
-Landroid/view/textclassifier/SystemTextClassifier$TextSelectionCallback;->mReceiver:Landroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;
-Landroid/view/textclassifier/SystemTextClassifier$TextSelectionCallback;->onFailure()V
-Landroid/view/textclassifier/SystemTextClassifier$TextSelectionCallback;->onSuccess(Landroid/view/textclassifier/TextSelection;)V
-Landroid/view/textclassifier/SystemTextClassifier;
-Landroid/view/textclassifier/SystemTextClassifier;-><init>(Landroid/content/Context;Landroid/view/textclassifier/TextClassificationConstants;)V
-Landroid/view/textclassifier/SystemTextClassifier;->initializeRemoteSession(Landroid/view/textclassifier/TextClassificationContext;Landroid/view/textclassifier/TextClassificationSessionId;)V
-Landroid/view/textclassifier/SystemTextClassifier;->LOG_TAG:Ljava/lang/String;
-Landroid/view/textclassifier/SystemTextClassifier;->mFallback:Landroid/view/textclassifier/TextClassifier;
-Landroid/view/textclassifier/SystemTextClassifier;->mManagerService:Landroid/service/textclassifier/ITextClassifierService;
-Landroid/view/textclassifier/SystemTextClassifier;->mPackageName:Ljava/lang/String;
-Landroid/view/textclassifier/SystemTextClassifier;->mSessionId:Landroid/view/textclassifier/TextClassificationSessionId;
-Landroid/view/textclassifier/SystemTextClassifier;->mSettings:Landroid/view/textclassifier/TextClassificationConstants;
-Landroid/view/textclassifier/TextClassification$Builder;->mActions:Ljava/util/List;
-Landroid/view/textclassifier/TextClassification$Builder;->mEntityConfidence:Ljava/util/Map;
-Landroid/view/textclassifier/TextClassification$Builder;->mId:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassification$Builder;->mLegacyIcon:Landroid/graphics/drawable/Drawable;
-Landroid/view/textclassifier/TextClassification$Builder;->mLegacyIntent:Landroid/content/Intent;
-Landroid/view/textclassifier/TextClassification$Builder;->mLegacyLabel:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassification$Builder;->mLegacyOnClickListener:Landroid/view/View$OnClickListener;
-Landroid/view/textclassifier/TextClassification$Builder;->mText:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassification$IntentType;
-Landroid/view/textclassifier/TextClassification$IntentType;->ACTIVITY:I
-Landroid/view/textclassifier/TextClassification$IntentType;->SERVICE:I
-Landroid/view/textclassifier/TextClassification$IntentType;->UNSUPPORTED:I
-Landroid/view/textclassifier/TextClassification$Options;
-Landroid/view/textclassifier/TextClassification$Options;-><init>()V
-Landroid/view/textclassifier/TextClassification$Options;-><init>(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassification$Request;)V
-Landroid/view/textclassifier/TextClassification$Options;->from(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassification$Request;)Landroid/view/textclassifier/TextClassification$Options;
-Landroid/view/textclassifier/TextClassification$Options;->getDefaultLocales()Landroid/os/LocaleList;
-Landroid/view/textclassifier/TextClassification$Options;->getReferenceTime()Ljava/time/ZonedDateTime;
-Landroid/view/textclassifier/TextClassification$Options;->getRequest()Landroid/view/textclassifier/TextClassification$Request;
-Landroid/view/textclassifier/TextClassification$Options;->getSessionId()Landroid/view/textclassifier/TextClassificationSessionId;
-Landroid/view/textclassifier/TextClassification$Options;->mDefaultLocales:Landroid/os/LocaleList;
-Landroid/view/textclassifier/TextClassification$Options;->mReferenceTime:Ljava/time/ZonedDateTime;
-Landroid/view/textclassifier/TextClassification$Options;->mRequest:Landroid/view/textclassifier/TextClassification$Request;
-Landroid/view/textclassifier/TextClassification$Options;->mSessionId:Landroid/view/textclassifier/TextClassificationSessionId;
-Landroid/view/textclassifier/TextClassification$Options;->setDefaultLocales(Landroid/os/LocaleList;)Landroid/view/textclassifier/TextClassification$Options;
-Landroid/view/textclassifier/TextClassification$Options;->setReferenceTime(Ljava/time/ZonedDateTime;)Landroid/view/textclassifier/TextClassification$Options;
-Landroid/view/textclassifier/TextClassification$Request$Builder;->mDefaultLocales:Landroid/os/LocaleList;
-Landroid/view/textclassifier/TextClassification$Request$Builder;->mEndIndex:I
-Landroid/view/textclassifier/TextClassification$Request$Builder;->mReferenceTime:Ljava/time/ZonedDateTime;
-Landroid/view/textclassifier/TextClassification$Request$Builder;->mStartIndex:I
-Landroid/view/textclassifier/TextClassification$Request$Builder;->mText:Ljava/lang/CharSequence;
-Landroid/view/textclassifier/TextClassification$Request;-><init>(Landroid/os/Parcel;)V
-Landroid/view/textclassifier/TextClassification$Request;-><init>(Ljava/lang/CharSequence;IILandroid/os/LocaleList;Ljava/time/ZonedDateTime;)V
-Landroid/view/textclassifier/TextClassification$Request;->mDefaultLocales:Landroid/os/LocaleList;
-Landroid/view/textclassifier/TextClassification$Request;->mEndIndex:I
-Landroid/view/textclassifier/TextClassification$Request;->mReferenceTime:Ljava/time/ZonedDateTime;
-Landroid/view/textclassifier/TextClassification$Request;->mStartIndex:I
-Landroid/view/textclassifier/TextClassification$Request;->mText:Ljava/lang/CharSequence;
-Landroid/view/textclassifier/TextClassification;-><init>(Landroid/os/Parcel;)V
-Landroid/view/textclassifier/TextClassification;-><init>(Ljava/lang/String;Landroid/graphics/drawable/Drawable;Ljava/lang/String;Landroid/content/Intent;Landroid/view/View$OnClickListener;Ljava/util/List;Ljava/util/Map;Ljava/lang/String;)V
-Landroid/view/textclassifier/TextClassification;->createIntentOnClickListener(Landroid/app/PendingIntent;)Landroid/view/View$OnClickListener;
-Landroid/view/textclassifier/TextClassification;->createPendingIntent(Landroid/content/Context;Landroid/content/Intent;I)Landroid/app/PendingIntent;
-Landroid/view/textclassifier/TextClassification;->EMPTY:Landroid/view/textclassifier/TextClassification;
-Landroid/view/textclassifier/TextClassification;->getIntentType(Landroid/content/Intent;Landroid/content/Context;)I
-Landroid/view/textclassifier/TextClassification;->hasPermission(Landroid/content/Context;Ljava/lang/String;)Z
-Landroid/view/textclassifier/TextClassification;->LOG_TAG:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassification;->mActions:Ljava/util/List;
-Landroid/view/textclassifier/TextClassification;->MAX_LEGACY_ICON_SIZE:I
-Landroid/view/textclassifier/TextClassification;->maybeLoadDrawable(Landroid/graphics/drawable/Icon;)Landroid/graphics/drawable/Drawable;
-Landroid/view/textclassifier/TextClassification;->mEntityConfidence:Landroid/view/textclassifier/EntityConfidence;
-Landroid/view/textclassifier/TextClassification;->mId:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassification;->mLegacyIcon:Landroid/graphics/drawable/Drawable;
-Landroid/view/textclassifier/TextClassification;->mLegacyIntent:Landroid/content/Intent;
-Landroid/view/textclassifier/TextClassification;->mLegacyLabel:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassification;->mLegacyOnClickListener:Landroid/view/View$OnClickListener;
-Landroid/view/textclassifier/TextClassification;->mText:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationConstants;
-Landroid/view/textclassifier/TextClassificationConstants;-><init>(Ljava/lang/String;)V
-Landroid/view/textclassifier/TextClassificationConstants;->CLASSIFY_TEXT_MAX_RANGE_LENGTH:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationConstants;->CLASSIFY_TEXT_MAX_RANGE_LENGTH_DEFAULT:I
-Landroid/view/textclassifier/TextClassificationConstants;->ENTITY_LIST_DEFAULT:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationConstants;->ENTITY_LIST_DEFAULT_VALUE:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationConstants;->ENTITY_LIST_DELIMITER:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationConstants;->ENTITY_LIST_EDITABLE:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationConstants;->ENTITY_LIST_NOT_EDITABLE:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationConstants;->GENERATE_LINKS_LOG_SAMPLE_RATE:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationConstants;->GENERATE_LINKS_LOG_SAMPLE_RATE_DEFAULT:I
-Landroid/view/textclassifier/TextClassificationConstants;->GENERATE_LINKS_MAX_TEXT_LENGTH:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationConstants;->GENERATE_LINKS_MAX_TEXT_LENGTH_DEFAULT:I
-Landroid/view/textclassifier/TextClassificationConstants;->getClassifyTextMaxRangeLength()I
-Landroid/view/textclassifier/TextClassificationConstants;->getEntityListDefault()Ljava/util/List;
-Landroid/view/textclassifier/TextClassificationConstants;->getEntityListEditable()Ljava/util/List;
-Landroid/view/textclassifier/TextClassificationConstants;->getEntityListNotEditable()Ljava/util/List;
-Landroid/view/textclassifier/TextClassificationConstants;->getGenerateLinksLogSampleRate()I
-Landroid/view/textclassifier/TextClassificationConstants;->getGenerateLinksMaxTextLength()I
-Landroid/view/textclassifier/TextClassificationConstants;->getSuggestSelectionMaxRangeLength()I
-Landroid/view/textclassifier/TextClassificationConstants;->isLocalTextClassifierEnabled()Z
-Landroid/view/textclassifier/TextClassificationConstants;->isModelDarkLaunchEnabled()Z
-Landroid/view/textclassifier/TextClassificationConstants;->isSmartLinkifyEnabled()Z
-Landroid/view/textclassifier/TextClassificationConstants;->isSmartSelectionAnimationEnabled()Z
-Landroid/view/textclassifier/TextClassificationConstants;->isSmartSelectionEnabled()Z
-Landroid/view/textclassifier/TextClassificationConstants;->isSmartTextShareEnabled()Z
-Landroid/view/textclassifier/TextClassificationConstants;->isSystemTextClassifierEnabled()Z
-Landroid/view/textclassifier/TextClassificationConstants;->loadFromString(Ljava/lang/String;)Landroid/view/textclassifier/TextClassificationConstants;
-Landroid/view/textclassifier/TextClassificationConstants;->LOCAL_TEXT_CLASSIFIER_ENABLED:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationConstants;->LOCAL_TEXT_CLASSIFIER_ENABLED_DEFAULT:Z
-Landroid/view/textclassifier/TextClassificationConstants;->LOG_TAG:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationConstants;->mClassifyTextMaxRangeLength:I
-Landroid/view/textclassifier/TextClassificationConstants;->mEntityListDefault:Ljava/util/List;
-Landroid/view/textclassifier/TextClassificationConstants;->mEntityListEditable:Ljava/util/List;
-Landroid/view/textclassifier/TextClassificationConstants;->mEntityListNotEditable:Ljava/util/List;
-Landroid/view/textclassifier/TextClassificationConstants;->mGenerateLinksLogSampleRate:I
-Landroid/view/textclassifier/TextClassificationConstants;->mGenerateLinksMaxTextLength:I
-Landroid/view/textclassifier/TextClassificationConstants;->mLocalTextClassifierEnabled:Z
-Landroid/view/textclassifier/TextClassificationConstants;->mModelDarkLaunchEnabled:Z
-Landroid/view/textclassifier/TextClassificationConstants;->MODEL_DARK_LAUNCH_ENABLED:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationConstants;->MODEL_DARK_LAUNCH_ENABLED_DEFAULT:Z
-Landroid/view/textclassifier/TextClassificationConstants;->mSmartLinkifyEnabled:Z
-Landroid/view/textclassifier/TextClassificationConstants;->mSmartSelectionAnimationEnabled:Z
-Landroid/view/textclassifier/TextClassificationConstants;->mSmartSelectionEnabled:Z
-Landroid/view/textclassifier/TextClassificationConstants;->mSmartTextShareEnabled:Z
-Landroid/view/textclassifier/TextClassificationConstants;->mSuggestSelectionMaxRangeLength:I
-Landroid/view/textclassifier/TextClassificationConstants;->mSystemTextClassifierEnabled:Z
-Landroid/view/textclassifier/TextClassificationConstants;->parseEntityList(Ljava/lang/String;)Ljava/util/List;
-Landroid/view/textclassifier/TextClassificationConstants;->SMART_LINKIFY_ENABLED:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationConstants;->SMART_LINKIFY_ENABLED_DEFAULT:Z
-Landroid/view/textclassifier/TextClassificationConstants;->SMART_SELECTION_ENABLED:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationConstants;->SMART_SELECTION_ENABLED_DEFAULT:Z
-Landroid/view/textclassifier/TextClassificationConstants;->SMART_SELECT_ANIMATION_ENABLED:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationConstants;->SMART_SELECT_ANIMATION_ENABLED_DEFAULT:Z
-Landroid/view/textclassifier/TextClassificationConstants;->SMART_TEXT_SHARE_ENABLED:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationConstants;->SMART_TEXT_SHARE_ENABLED_DEFAULT:Z
-Landroid/view/textclassifier/TextClassificationConstants;->SUGGEST_SELECTION_MAX_RANGE_LENGTH:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationConstants;->SUGGEST_SELECTION_MAX_RANGE_LENGTH_DEFAULT:I
-Landroid/view/textclassifier/TextClassificationConstants;->SYSTEM_TEXT_CLASSIFIER_ENABLED:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationConstants;->SYSTEM_TEXT_CLASSIFIER_ENABLED_DEFAULT:Z
-Landroid/view/textclassifier/TextClassificationContext$Builder;->mPackageName:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationContext$Builder;->mWidgetType:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationContext$Builder;->mWidgetVersion:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationContext;-><init>(Landroid/os/Parcel;)V
-Landroid/view/textclassifier/TextClassificationContext;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/view/textclassifier/TextClassificationContext;->mPackageName:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationContext;->mWidgetType:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationContext;->mWidgetVersion:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationManager$SettingsObserver;
-Landroid/view/textclassifier/TextClassificationManager$SettingsObserver;-><init>(Landroid/view/textclassifier/TextClassificationManager;)V
-Landroid/view/textclassifier/TextClassificationManager$SettingsObserver;->mTcm:Ljava/lang/ref/WeakReference;
-Landroid/view/textclassifier/TextClassificationManager;-><init>(Landroid/content/Context;)V
-Landroid/view/textclassifier/TextClassificationManager;->createTextClassificationSession(Landroid/view/textclassifier/TextClassificationContext;Landroid/view/textclassifier/TextClassifier;)Landroid/view/textclassifier/TextClassifier;
-Landroid/view/textclassifier/TextClassificationManager;->getApplicationContext()Landroid/content/Context;
-Landroid/view/textclassifier/TextClassificationManager;->getLocalTextClassifier()Landroid/view/textclassifier/TextClassifier;
-Landroid/view/textclassifier/TextClassificationManager;->getSettings()Landroid/view/textclassifier/TextClassificationConstants;
-Landroid/view/textclassifier/TextClassificationManager;->getSettings(Landroid/content/Context;)Landroid/view/textclassifier/TextClassificationConstants;
-Landroid/view/textclassifier/TextClassificationManager;->getSystemTextClassifier()Landroid/view/textclassifier/TextClassifier;
-Landroid/view/textclassifier/TextClassificationManager;->invalidate()V
-Landroid/view/textclassifier/TextClassificationManager;->isSystemTextClassifierEnabled()Z
-Landroid/view/textclassifier/TextClassificationManager;->LOG_TAG:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationManager;->mContext:Landroid/content/Context;
-Landroid/view/textclassifier/TextClassificationManager;->mCustomTextClassifier:Landroid/view/textclassifier/TextClassifier;
-Landroid/view/textclassifier/TextClassificationManager;->mDefaultSessionFactory:Landroid/view/textclassifier/TextClassificationSessionFactory;
-Landroid/view/textclassifier/TextClassificationManager;->mLocalTextClassifier:Landroid/view/textclassifier/TextClassifier;
-Landroid/view/textclassifier/TextClassificationManager;->mLock:Ljava/lang/Object;
-Landroid/view/textclassifier/TextClassificationManager;->mSessionFactory:Landroid/view/textclassifier/TextClassificationSessionFactory;
-Landroid/view/textclassifier/TextClassificationManager;->mSettings:Landroid/view/textclassifier/TextClassificationConstants;
-Landroid/view/textclassifier/TextClassificationManager;->mSettingsObserver:Landroid/view/textclassifier/TextClassificationManager$SettingsObserver;
-Landroid/view/textclassifier/TextClassificationManager;->mSystemTextClassifier:Landroid/view/textclassifier/TextClassifier;
-Landroid/view/textclassifier/TextClassificationSessionId;-><init>()V
-Landroid/view/textclassifier/TextClassificationSessionId;-><init>(Ljava/lang/String;)V
-Landroid/view/textclassifier/TextClassificationSessionId;->flattenToString()Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationSessionId;->mValue:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassificationSessionId;->unflattenFromString(Ljava/lang/String;)Landroid/view/textclassifier/TextClassificationSessionId;
-Landroid/view/textclassifier/TextClassifier$EntityConfig;-><init>(Landroid/os/Parcel;)V
-Landroid/view/textclassifier/TextClassifier$EntityConfig;-><init>(ZLjava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;)V
-Landroid/view/textclassifier/TextClassifier$EntityConfig;->create(Ljava/util/Collection;)Landroid/view/textclassifier/TextClassifier$EntityConfig;
-Landroid/view/textclassifier/TextClassifier$EntityConfig;->createWithEntityList(Ljava/util/Collection;)Landroid/view/textclassifier/TextClassifier$EntityConfig;
-Landroid/view/textclassifier/TextClassifier$EntityConfig;->mExcludedEntityTypes:Ljava/util/Collection;
-Landroid/view/textclassifier/TextClassifier$EntityConfig;->mHints:Ljava/util/Collection;
-Landroid/view/textclassifier/TextClassifier$EntityConfig;->mIncludedEntityTypes:Ljava/util/Collection;
-Landroid/view/textclassifier/TextClassifier$EntityConfig;->mUseHints:Z
-Landroid/view/textclassifier/TextClassifier$EntityType;
-Landroid/view/textclassifier/TextClassifier$Hints;
-Landroid/view/textclassifier/TextClassifier$TextClassifierType;
-Landroid/view/textclassifier/TextClassifier$Utils;
-Landroid/view/textclassifier/TextClassifier$Utils;-><init>()V
-Landroid/view/textclassifier/TextClassifier$Utils;->addLinks(Landroid/view/textclassifier/TextLinks$Builder;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/view/textclassifier/TextClassifier$Utils;->checkArgument(Ljava/lang/CharSequence;II)V
-Landroid/view/textclassifier/TextClassifier$Utils;->checkMainThread()V
-Landroid/view/textclassifier/TextClassifier$Utils;->checkTextLength(Ljava/lang/CharSequence;I)V
-Landroid/view/textclassifier/TextClassifier$Utils;->entityScores(Ljava/lang/String;)Ljava/util/Map;
-Landroid/view/textclassifier/TextClassifier$Utils;->generateLegacyLinks(Landroid/view/textclassifier/TextLinks$Request;)Landroid/view/textclassifier/TextLinks;
-Landroid/view/textclassifier/TextClassifier$Utils;->linkMask(Ljava/lang/String;)I
-Landroid/view/textclassifier/TextClassifier$WidgetType;
-Landroid/view/textclassifier/TextClassifier;->DEFAULT_LOG_TAG:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifier;->LOCAL:I
-Landroid/view/textclassifier/TextClassifier;->SYSTEM:I
-Landroid/view/textclassifier/TextClassifierImpl$IntentFactory;
-Landroid/view/textclassifier/TextClassifierImpl$IntentFactory;-><init>()V
-Landroid/view/textclassifier/TextClassifierImpl$IntentFactory;->create(Landroid/content/Context;Ljava/time/Instant;Landroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;Ljava/lang/String;)Ljava/util/List;
-Landroid/view/textclassifier/TextClassifierImpl$IntentFactory;->createCalendarCreateEventIntent(Landroid/content/Context;Ljava/time/Instant;Ljava/lang/String;)Landroid/view/textclassifier/TextClassifierImpl$LabeledIntent;
-Landroid/view/textclassifier/TextClassifierImpl$IntentFactory;->createCalendarViewIntent(Landroid/content/Context;Ljava/time/Instant;)Landroid/view/textclassifier/TextClassifierImpl$LabeledIntent;
-Landroid/view/textclassifier/TextClassifierImpl$IntentFactory;->createForAddress(Landroid/content/Context;Ljava/lang/String;)Ljava/util/List;
-Landroid/view/textclassifier/TextClassifierImpl$IntentFactory;->createForDatetime(Landroid/content/Context;Ljava/lang/String;Ljava/time/Instant;Ljava/time/Instant;)Ljava/util/List;
-Landroid/view/textclassifier/TextClassifierImpl$IntentFactory;->createForEmail(Landroid/content/Context;Ljava/lang/String;)Ljava/util/List;
-Landroid/view/textclassifier/TextClassifierImpl$IntentFactory;->createForFlight(Landroid/content/Context;Ljava/lang/String;)Ljava/util/List;
-Landroid/view/textclassifier/TextClassifierImpl$IntentFactory;->createForPhone(Landroid/content/Context;Ljava/lang/String;)Ljava/util/List;
-Landroid/view/textclassifier/TextClassifierImpl$IntentFactory;->createForUrl(Landroid/content/Context;Ljava/lang/String;)Ljava/util/List;
-Landroid/view/textclassifier/TextClassifierImpl$IntentFactory;->DEFAULT_EVENT_DURATION:J
-Landroid/view/textclassifier/TextClassifierImpl$IntentFactory;->MIN_EVENT_FUTURE_MILLIS:J
-Landroid/view/textclassifier/TextClassifierImpl$LabeledIntent;
-Landroid/view/textclassifier/TextClassifierImpl$LabeledIntent;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;I)V
-Landroid/view/textclassifier/TextClassifierImpl$LabeledIntent;->asRemoteAction(Landroid/content/Context;)Landroid/app/RemoteAction;
-Landroid/view/textclassifier/TextClassifierImpl$LabeledIntent;->DEFAULT_REQUEST_CODE:I
-Landroid/view/textclassifier/TextClassifierImpl$LabeledIntent;->getDescription()Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImpl$LabeledIntent;->getIntent()Landroid/content/Intent;
-Landroid/view/textclassifier/TextClassifierImpl$LabeledIntent;->getRequestCode()I
-Landroid/view/textclassifier/TextClassifierImpl$LabeledIntent;->getTitle()Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImpl$LabeledIntent;->mDescription:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImpl$LabeledIntent;->mIntent:Landroid/content/Intent;
-Landroid/view/textclassifier/TextClassifierImpl$LabeledIntent;->mRequestCode:I
-Landroid/view/textclassifier/TextClassifierImpl$LabeledIntent;->mTitle:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImpl$ModelFile;
-Landroid/view/textclassifier/TextClassifierImpl$ModelFile;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/util/List;Z)V
-Landroid/view/textclassifier/TextClassifierImpl$ModelFile;->fromPath(Ljava/lang/String;)Landroid/view/textclassifier/TextClassifierImpl$ModelFile;
-Landroid/view/textclassifier/TextClassifierImpl$ModelFile;->getName()Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImpl$ModelFile;->getPath()Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImpl$ModelFile;->getSupportedLocales()Ljava/util/List;
-Landroid/view/textclassifier/TextClassifierImpl$ModelFile;->getVersion()I
-Landroid/view/textclassifier/TextClassifierImpl$ModelFile;->isAnyLanguageSupported(Ljava/util/List;)Z
-Landroid/view/textclassifier/TextClassifierImpl$ModelFile;->isPreferredTo(Landroid/view/textclassifier/TextClassifierImpl$ModelFile;)Z
-Landroid/view/textclassifier/TextClassifierImpl$ModelFile;->mLanguageIndependent:Z
-Landroid/view/textclassifier/TextClassifierImpl$ModelFile;->mName:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImpl$ModelFile;->mPath:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImpl$ModelFile;->mSupportedLocales:Ljava/util/List;
-Landroid/view/textclassifier/TextClassifierImpl$ModelFile;->mVersion:I
-Landroid/view/textclassifier/TextClassifierImpl;
-Landroid/view/textclassifier/TextClassifierImpl;-><init>(Landroid/content/Context;Landroid/view/textclassifier/TextClassificationConstants;)V
-Landroid/view/textclassifier/TextClassifierImpl;-><init>(Landroid/content/Context;Landroid/view/textclassifier/TextClassificationConstants;Landroid/view/textclassifier/TextClassifier;)V
-Landroid/view/textclassifier/TextClassifierImpl;->closeAndLogError(Landroid/os/ParcelFileDescriptor;)V
-Landroid/view/textclassifier/TextClassifierImpl;->concatenateLocales(Landroid/os/LocaleList;)Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImpl;->createClassificationResult([Landroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;Ljava/lang/String;IILjava/time/Instant;)Landroid/view/textclassifier/TextClassification;
-Landroid/view/textclassifier/TextClassifierImpl;->createId(Ljava/lang/String;II)Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImpl;->destroyNativeIfExistsLocked()V
-Landroid/view/textclassifier/TextClassifierImpl;->findBestModelLocked(Landroid/os/LocaleList;)Landroid/view/textclassifier/TextClassifierImpl$ModelFile;
-Landroid/view/textclassifier/TextClassifierImpl;->getEntitiesForHints(Ljava/util/Collection;)Ljava/util/Collection;
-Landroid/view/textclassifier/TextClassifierImpl;->getNative(Landroid/os/LocaleList;)Landroid/view/textclassifier/TextClassifierImplNative;
-Landroid/view/textclassifier/TextClassifierImpl;->listAllModelsLocked()Ljava/util/List;
-Landroid/view/textclassifier/TextClassifierImpl;->LOG_TAG:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImpl;->mAllModelFiles:Ljava/util/List;
-Landroid/view/textclassifier/TextClassifierImpl;->mContext:Landroid/content/Context;
-Landroid/view/textclassifier/TextClassifierImpl;->mFallback:Landroid/view/textclassifier/TextClassifier;
-Landroid/view/textclassifier/TextClassifierImpl;->mGenerateLinksLogger:Landroid/view/textclassifier/GenerateLinksLogger;
-Landroid/view/textclassifier/TextClassifierImpl;->mLock:Ljava/lang/Object;
-Landroid/view/textclassifier/TextClassifierImpl;->mLoggerLock:Ljava/lang/Object;
-Landroid/view/textclassifier/TextClassifierImpl;->mModel:Landroid/view/textclassifier/TextClassifierImpl$ModelFile;
-Landroid/view/textclassifier/TextClassifierImpl;->mNative:Landroid/view/textclassifier/TextClassifierImplNative;
-Landroid/view/textclassifier/TextClassifierImpl;->MODEL_DIR:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImpl;->MODEL_FILE_REGEX:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImpl;->mSessionLogger:Landroid/view/textclassifier/SelectionSessionLogger;
-Landroid/view/textclassifier/TextClassifierImpl;->mSettings:Landroid/view/textclassifier/TextClassificationConstants;
-Landroid/view/textclassifier/TextClassifierImpl;->UPDATED_MODEL_FILE_PATH:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImplNative$AnnotatedSpan;
-Landroid/view/textclassifier/TextClassifierImplNative$AnnotatedSpan;-><init>(II[Landroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;)V
-Landroid/view/textclassifier/TextClassifierImplNative$AnnotatedSpan;->getClassification()[Landroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;
-Landroid/view/textclassifier/TextClassifierImplNative$AnnotatedSpan;->getEndIndex()I
-Landroid/view/textclassifier/TextClassifierImplNative$AnnotatedSpan;->getStartIndex()I
-Landroid/view/textclassifier/TextClassifierImplNative$AnnotatedSpan;->mClassification:[Landroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;
-Landroid/view/textclassifier/TextClassifierImplNative$AnnotatedSpan;->mEndIndex:I
-Landroid/view/textclassifier/TextClassifierImplNative$AnnotatedSpan;->mStartIndex:I
-Landroid/view/textclassifier/TextClassifierImplNative$AnnotationOptions;
-Landroid/view/textclassifier/TextClassifierImplNative$AnnotationOptions;-><init>(JLjava/lang/String;Ljava/lang/String;)V
-Landroid/view/textclassifier/TextClassifierImplNative$AnnotationOptions;->getLocale()Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImplNative$AnnotationOptions;->getReferenceTimeMsUtc()J
-Landroid/view/textclassifier/TextClassifierImplNative$AnnotationOptions;->getReferenceTimezone()Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImplNative$AnnotationOptions;->mLocales:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImplNative$AnnotationOptions;->mReferenceTimeMsUtc:J
-Landroid/view/textclassifier/TextClassifierImplNative$AnnotationOptions;->mReferenceTimezone:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImplNative$ClassificationOptions;
-Landroid/view/textclassifier/TextClassifierImplNative$ClassificationOptions;-><init>(JLjava/lang/String;Ljava/lang/String;)V
-Landroid/view/textclassifier/TextClassifierImplNative$ClassificationOptions;->getLocale()Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImplNative$ClassificationOptions;->getReferenceTimeMsUtc()J
-Landroid/view/textclassifier/TextClassifierImplNative$ClassificationOptions;->getReferenceTimezone()Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImplNative$ClassificationOptions;->mLocales:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImplNative$ClassificationOptions;->mReferenceTimeMsUtc:J
-Landroid/view/textclassifier/TextClassifierImplNative$ClassificationOptions;->mReferenceTimezone:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;
-Landroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;-><init>(Ljava/lang/String;FLandroid/view/textclassifier/TextClassifierImplNative$DatetimeResult;)V
-Landroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;->getCollection()Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;->getDatetimeResult()Landroid/view/textclassifier/TextClassifierImplNative$DatetimeResult;
-Landroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;->getScore()F
-Landroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;->mCollection:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;->mDatetimeResult:Landroid/view/textclassifier/TextClassifierImplNative$DatetimeResult;
-Landroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;->mScore:F
-Landroid/view/textclassifier/TextClassifierImplNative$DatetimeResult;
-Landroid/view/textclassifier/TextClassifierImplNative$DatetimeResult;-><init>(JI)V
-Landroid/view/textclassifier/TextClassifierImplNative$DatetimeResult;->getGranularity()I
-Landroid/view/textclassifier/TextClassifierImplNative$DatetimeResult;->getTimeMsUtc()J
-Landroid/view/textclassifier/TextClassifierImplNative$DatetimeResult;->GRANULARITY_DAY:I
-Landroid/view/textclassifier/TextClassifierImplNative$DatetimeResult;->GRANULARITY_HOUR:I
-Landroid/view/textclassifier/TextClassifierImplNative$DatetimeResult;->GRANULARITY_MINUTE:I
-Landroid/view/textclassifier/TextClassifierImplNative$DatetimeResult;->GRANULARITY_MONTH:I
-Landroid/view/textclassifier/TextClassifierImplNative$DatetimeResult;->GRANULARITY_SECOND:I
-Landroid/view/textclassifier/TextClassifierImplNative$DatetimeResult;->GRANULARITY_WEEK:I
-Landroid/view/textclassifier/TextClassifierImplNative$DatetimeResult;->GRANULARITY_YEAR:I
-Landroid/view/textclassifier/TextClassifierImplNative$DatetimeResult;->mGranularity:I
-Landroid/view/textclassifier/TextClassifierImplNative$DatetimeResult;->mTimeMsUtc:J
-Landroid/view/textclassifier/TextClassifierImplNative$SelectionOptions;
-Landroid/view/textclassifier/TextClassifierImplNative$SelectionOptions;-><init>(Ljava/lang/String;)V
-Landroid/view/textclassifier/TextClassifierImplNative$SelectionOptions;->getLocales()Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImplNative$SelectionOptions;->mLocales:Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImplNative;
-Landroid/view/textclassifier/TextClassifierImplNative;-><init>(I)V
-Landroid/view/textclassifier/TextClassifierImplNative;-><init>(Landroid/content/res/AssetFileDescriptor;)V
-Landroid/view/textclassifier/TextClassifierImplNative;-><init>(Ljava/lang/String;)V
-Landroid/view/textclassifier/TextClassifierImplNative;->annotate(Ljava/lang/String;Landroid/view/textclassifier/TextClassifierImplNative$AnnotationOptions;)[Landroid/view/textclassifier/TextClassifierImplNative$AnnotatedSpan;
-Landroid/view/textclassifier/TextClassifierImplNative;->classifyText(Ljava/lang/String;IILandroid/view/textclassifier/TextClassifierImplNative$ClassificationOptions;)[Landroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;
-Landroid/view/textclassifier/TextClassifierImplNative;->close()V
-Landroid/view/textclassifier/TextClassifierImplNative;->getLocales(I)Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImplNative;->getVersion(I)I
-Landroid/view/textclassifier/TextClassifierImplNative;->mModelPtr:J
-Landroid/view/textclassifier/TextClassifierImplNative;->nativeAnnotate(JLjava/lang/String;Landroid/view/textclassifier/TextClassifierImplNative$AnnotationOptions;)[Landroid/view/textclassifier/TextClassifierImplNative$AnnotatedSpan;
-Landroid/view/textclassifier/TextClassifierImplNative;->nativeClassifyText(JLjava/lang/String;IILandroid/view/textclassifier/TextClassifierImplNative$ClassificationOptions;)[Landroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;
-Landroid/view/textclassifier/TextClassifierImplNative;->nativeClose(J)V
-Landroid/view/textclassifier/TextClassifierImplNative;->nativeGetLocales(I)Ljava/lang/String;
-Landroid/view/textclassifier/TextClassifierImplNative;->nativeGetVersion(I)I
-Landroid/view/textclassifier/TextClassifierImplNative;->nativeNew(I)J
-Landroid/view/textclassifier/TextClassifierImplNative;->nativeNewFromAssetFileDescriptor(Landroid/content/res/AssetFileDescriptor;JJ)J
-Landroid/view/textclassifier/TextClassifierImplNative;->nativeNewFromPath(Ljava/lang/String;)J
-Landroid/view/textclassifier/TextClassifierImplNative;->nativeSuggestSelection(JLjava/lang/String;IILandroid/view/textclassifier/TextClassifierImplNative$SelectionOptions;)[I
-Landroid/view/textclassifier/TextClassifierImplNative;->suggestSelection(Ljava/lang/String;IILandroid/view/textclassifier/TextClassifierImplNative$SelectionOptions;)[I
-Landroid/view/textclassifier/TextLinks$ApplyStrategy;
-Landroid/view/textclassifier/TextLinks$Builder;->addLink(IILjava/util/Map;Landroid/text/style/URLSpan;)Landroid/view/textclassifier/TextLinks$Builder;
-Landroid/view/textclassifier/TextLinks$Builder;->mFullText:Ljava/lang/String;
-Landroid/view/textclassifier/TextLinks$Builder;->mLinks:Ljava/util/ArrayList;
-Landroid/view/textclassifier/TextLinks$Options;
-Landroid/view/textclassifier/TextLinks$Options;-><init>(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextLinks$Request;)V
-Landroid/view/textclassifier/TextLinks$Options;->checkValidApplyStrategy(I)V
-Landroid/view/textclassifier/TextLinks$Options;->from(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextLinks$Request;)Landroid/view/textclassifier/TextLinks$Options;
-Landroid/view/textclassifier/TextLinks$Options;->fromLinkMask(I)Landroid/view/textclassifier/TextLinks$Options;
-Landroid/view/textclassifier/TextLinks$Options;->getApplyStrategy()I
-Landroid/view/textclassifier/TextLinks$Options;->getDefaultLocales()Landroid/os/LocaleList;
-Landroid/view/textclassifier/TextLinks$Options;->getEntityConfig()Landroid/view/textclassifier/TextClassifier$EntityConfig;
-Landroid/view/textclassifier/TextLinks$Options;->getRequest()Landroid/view/textclassifier/TextLinks$Request;
-Landroid/view/textclassifier/TextLinks$Options;->getSessionId()Landroid/view/textclassifier/TextClassificationSessionId;
-Landroid/view/textclassifier/TextLinks$Options;->getSpanFactory()Ljava/util/function/Function;
-Landroid/view/textclassifier/TextLinks$Options;->mApplyStrategy:I
-Landroid/view/textclassifier/TextLinks$Options;->mCallingPackageName:Ljava/lang/String;
-Landroid/view/textclassifier/TextLinks$Options;->mDefaultLocales:Landroid/os/LocaleList;
-Landroid/view/textclassifier/TextLinks$Options;->mEntityConfig:Landroid/view/textclassifier/TextClassifier$EntityConfig;
-Landroid/view/textclassifier/TextLinks$Options;->mLegacyFallback:Z
-Landroid/view/textclassifier/TextLinks$Options;->mRequest:Landroid/view/textclassifier/TextLinks$Request;
-Landroid/view/textclassifier/TextLinks$Options;->mSessionId:Landroid/view/textclassifier/TextClassificationSessionId;
-Landroid/view/textclassifier/TextLinks$Options;->mSpanFactory:Ljava/util/function/Function;
-Landroid/view/textclassifier/TextLinks$Options;->setApplyStrategy(I)Landroid/view/textclassifier/TextLinks$Options;
-Landroid/view/textclassifier/TextLinks$Options;->setDefaultLocales(Landroid/os/LocaleList;)Landroid/view/textclassifier/TextLinks$Options;
-Landroid/view/textclassifier/TextLinks$Options;->setEntityConfig(Landroid/view/textclassifier/TextClassifier$EntityConfig;)Landroid/view/textclassifier/TextLinks$Options;
-Landroid/view/textclassifier/TextLinks$Options;->setSpanFactory(Ljava/util/function/Function;)Landroid/view/textclassifier/TextLinks$Options;
-Landroid/view/textclassifier/TextLinks$Request$Builder;->mCallingPackageName:Ljava/lang/String;
-Landroid/view/textclassifier/TextLinks$Request$Builder;->mDefaultLocales:Landroid/os/LocaleList;
-Landroid/view/textclassifier/TextLinks$Request$Builder;->mEntityConfig:Landroid/view/textclassifier/TextClassifier$EntityConfig;
-Landroid/view/textclassifier/TextLinks$Request$Builder;->mLegacyFallback:Z
-Landroid/view/textclassifier/TextLinks$Request$Builder;->mText:Ljava/lang/CharSequence;
-Landroid/view/textclassifier/TextLinks$Request$Builder;->setCallingPackageName(Ljava/lang/String;)Landroid/view/textclassifier/TextLinks$Request$Builder;
-Landroid/view/textclassifier/TextLinks$Request$Builder;->setLegacyFallback(Z)Landroid/view/textclassifier/TextLinks$Request$Builder;
-Landroid/view/textclassifier/TextLinks$Request;-><init>(Landroid/os/Parcel;)V
-Landroid/view/textclassifier/TextLinks$Request;-><init>(Ljava/lang/CharSequence;Landroid/os/LocaleList;Landroid/view/textclassifier/TextClassifier$EntityConfig;ZLjava/lang/String;)V
-Landroid/view/textclassifier/TextLinks$Request;->getCallingPackageName()Ljava/lang/String;
-Landroid/view/textclassifier/TextLinks$Request;->isLegacyFallback()Z
-Landroid/view/textclassifier/TextLinks$Request;->mCallingPackageName:Ljava/lang/String;
-Landroid/view/textclassifier/TextLinks$Request;->mDefaultLocales:Landroid/os/LocaleList;
-Landroid/view/textclassifier/TextLinks$Request;->mEntityConfig:Landroid/view/textclassifier/TextClassifier$EntityConfig;
-Landroid/view/textclassifier/TextLinks$Request;->mLegacyFallback:Z
-Landroid/view/textclassifier/TextLinks$Request;->mText:Ljava/lang/CharSequence;
-Landroid/view/textclassifier/TextLinks$Request;->setCallingPackageName(Ljava/lang/String;)V
-Landroid/view/textclassifier/TextLinks$Status;
-Landroid/view/textclassifier/TextLinks$TextLink;-><init>(IILjava/util/Map;Landroid/text/style/URLSpan;)V
-Landroid/view/textclassifier/TextLinks$TextLink;-><init>(Landroid/os/Parcel;)V
-Landroid/view/textclassifier/TextLinks$TextLink;->mEnd:I
-Landroid/view/textclassifier/TextLinks$TextLink;->mEntityScores:Landroid/view/textclassifier/EntityConfidence;
-Landroid/view/textclassifier/TextLinks$TextLink;->mStart:I
-Landroid/view/textclassifier/TextLinks$TextLink;->mUrlSpan:Landroid/text/style/URLSpan;
-Landroid/view/textclassifier/TextLinks$TextLinkSpan$InvocationMethod;
-Landroid/view/textclassifier/TextLinks$TextLinkSpan;->getUrl()Ljava/lang/String;
-Landroid/view/textclassifier/TextLinks$TextLinkSpan;->INVOCATION_METHOD_KEYBOARD:I
-Landroid/view/textclassifier/TextLinks$TextLinkSpan;->INVOCATION_METHOD_TOUCH:I
-Landroid/view/textclassifier/TextLinks$TextLinkSpan;->INVOCATION_METHOD_UNSPECIFIED:I
-Landroid/view/textclassifier/TextLinks$TextLinkSpan;->mTextLink:Landroid/view/textclassifier/TextLinks$TextLink;
-Landroid/view/textclassifier/TextLinks$TextLinkSpan;->onClick(Landroid/view/View;I)V
-Landroid/view/textclassifier/TextLinks;-><init>(Landroid/os/Parcel;)V
-Landroid/view/textclassifier/TextLinks;-><init>(Ljava/lang/String;Ljava/util/ArrayList;)V
-Landroid/view/textclassifier/TextLinks;->getText()Ljava/lang/String;
-Landroid/view/textclassifier/TextLinks;->mFullText:Ljava/lang/String;
-Landroid/view/textclassifier/TextLinks;->mLinks:Ljava/util/List;
-Landroid/view/textclassifier/TextLinksParams$Builder;
-Landroid/view/textclassifier/TextLinksParams$Builder;-><init>()V
-Landroid/view/textclassifier/TextLinksParams$Builder;->build()Landroid/view/textclassifier/TextLinksParams;
-Landroid/view/textclassifier/TextLinksParams$Builder;->mApplyStrategy:I
-Landroid/view/textclassifier/TextLinksParams$Builder;->mSpanFactory:Ljava/util/function/Function;
-Landroid/view/textclassifier/TextLinksParams$Builder;->setApplyStrategy(I)Landroid/view/textclassifier/TextLinksParams$Builder;
-Landroid/view/textclassifier/TextLinksParams$Builder;->setEntityConfig(Landroid/view/textclassifier/TextClassifier$EntityConfig;)Landroid/view/textclassifier/TextLinksParams$Builder;
-Landroid/view/textclassifier/TextLinksParams$Builder;->setSpanFactory(Ljava/util/function/Function;)Landroid/view/textclassifier/TextLinksParams$Builder;
-Landroid/view/textclassifier/TextLinksParams;
-Landroid/view/textclassifier/TextLinksParams;-><init>(ILjava/util/function/Function;)V
-Landroid/view/textclassifier/TextLinksParams;->apply(Landroid/text/Spannable;Landroid/view/textclassifier/TextLinks;)I
-Landroid/view/textclassifier/TextLinksParams;->checkApplyStrategy(I)I
-Landroid/view/textclassifier/TextLinksParams;->DEFAULT_SPAN_FACTORY:Ljava/util/function/Function;
-Landroid/view/textclassifier/TextLinksParams;->fromLinkMask(I)Landroid/view/textclassifier/TextLinksParams;
-Landroid/view/textclassifier/TextLinksParams;->getEntityConfig()Landroid/view/textclassifier/TextClassifier$EntityConfig;
-Landroid/view/textclassifier/TextLinksParams;->mApplyStrategy:I
-Landroid/view/textclassifier/TextLinksParams;->mEntityConfig:Landroid/view/textclassifier/TextClassifier$EntityConfig;
-Landroid/view/textclassifier/TextLinksParams;->mSpanFactory:Ljava/util/function/Function;
-Landroid/view/textclassifier/TextSelection$Builder;->mEndIndex:I
-Landroid/view/textclassifier/TextSelection$Builder;->mEntityConfidence:Ljava/util/Map;
-Landroid/view/textclassifier/TextSelection$Builder;->mId:Ljava/lang/String;
-Landroid/view/textclassifier/TextSelection$Builder;->mStartIndex:I
-Landroid/view/textclassifier/TextSelection$Options;
-Landroid/view/textclassifier/TextSelection$Options;-><init>()V
-Landroid/view/textclassifier/TextSelection$Options;-><init>(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextSelection$Request;)V
-Landroid/view/textclassifier/TextSelection$Options;->from(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextSelection$Request;)Landroid/view/textclassifier/TextSelection$Options;
-Landroid/view/textclassifier/TextSelection$Options;->getDefaultLocales()Landroid/os/LocaleList;
-Landroid/view/textclassifier/TextSelection$Options;->getRequest()Landroid/view/textclassifier/TextSelection$Request;
-Landroid/view/textclassifier/TextSelection$Options;->getSessionId()Landroid/view/textclassifier/TextClassificationSessionId;
-Landroid/view/textclassifier/TextSelection$Options;->mDarkLaunchAllowed:Z
-Landroid/view/textclassifier/TextSelection$Options;->mDefaultLocales:Landroid/os/LocaleList;
-Landroid/view/textclassifier/TextSelection$Options;->mRequest:Landroid/view/textclassifier/TextSelection$Request;
-Landroid/view/textclassifier/TextSelection$Options;->mSessionId:Landroid/view/textclassifier/TextClassificationSessionId;
-Landroid/view/textclassifier/TextSelection$Options;->setDefaultLocales(Landroid/os/LocaleList;)Landroid/view/textclassifier/TextSelection$Options;
-Landroid/view/textclassifier/TextSelection$Request$Builder;->mDarkLaunchAllowed:Z
-Landroid/view/textclassifier/TextSelection$Request$Builder;->mDefaultLocales:Landroid/os/LocaleList;
-Landroid/view/textclassifier/TextSelection$Request$Builder;->mEndIndex:I
-Landroid/view/textclassifier/TextSelection$Request$Builder;->mStartIndex:I
-Landroid/view/textclassifier/TextSelection$Request$Builder;->mText:Ljava/lang/CharSequence;
-Landroid/view/textclassifier/TextSelection$Request$Builder;->setDarkLaunchAllowed(Z)Landroid/view/textclassifier/TextSelection$Request$Builder;
-Landroid/view/textclassifier/TextSelection$Request;-><init>(Landroid/os/Parcel;)V
-Landroid/view/textclassifier/TextSelection$Request;-><init>(Ljava/lang/CharSequence;IILandroid/os/LocaleList;Z)V
-Landroid/view/textclassifier/TextSelection$Request;->isDarkLaunchAllowed()Z
-Landroid/view/textclassifier/TextSelection$Request;->mDarkLaunchAllowed:Z
-Landroid/view/textclassifier/TextSelection$Request;->mDefaultLocales:Landroid/os/LocaleList;
-Landroid/view/textclassifier/TextSelection$Request;->mEndIndex:I
-Landroid/view/textclassifier/TextSelection$Request;->mStartIndex:I
-Landroid/view/textclassifier/TextSelection$Request;->mText:Ljava/lang/CharSequence;
-Landroid/view/textclassifier/TextSelection;-><init>(IILjava/util/Map;Ljava/lang/String;)V
-Landroid/view/textclassifier/TextSelection;-><init>(Landroid/os/Parcel;)V
-Landroid/view/textclassifier/TextSelection;->mEndIndex:I
-Landroid/view/textclassifier/TextSelection;->mEntityConfidence:Landroid/view/textclassifier/EntityConfidence;
-Landroid/view/textclassifier/TextSelection;->mId:Ljava/lang/String;
-Landroid/view/textclassifier/TextSelection;->mStartIndex:I
-Landroid/view/textservice/SentenceSuggestionsInfo;->mLengths:[I
-Landroid/view/textservice/SentenceSuggestionsInfo;->mOffsets:[I
-Landroid/view/textservice/SentenceSuggestionsInfo;->mSuggestionsInfos:[Landroid/view/textservice/SuggestionsInfo;
-Landroid/view/textservice/SpellCheckerInfo;-><init>(Landroid/content/Context;Landroid/content/pm/ResolveInfo;)V
-Landroid/view/textservice/SpellCheckerInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/view/textservice/SpellCheckerInfo;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-Landroid/view/textservice/SpellCheckerInfo;->mId:Ljava/lang/String;
-Landroid/view/textservice/SpellCheckerInfo;->mLabel:I
-Landroid/view/textservice/SpellCheckerInfo;->mService:Landroid/content/pm/ResolveInfo;
-Landroid/view/textservice/SpellCheckerInfo;->mSettingsActivityName:Ljava/lang/String;
-Landroid/view/textservice/SpellCheckerInfo;->mSubtypes:Ljava/util/ArrayList;
-Landroid/view/textservice/SpellCheckerInfo;->TAG:Ljava/lang/String;
-Landroid/view/textservice/SpellCheckerSession$InternalListener;
-Landroid/view/textservice/SpellCheckerSession$InternalListener;-><init>(Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;)V
-Landroid/view/textservice/SpellCheckerSession$InternalListener;->mParentSpellCheckerSessionListenerImpl:Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;
-Landroid/view/textservice/SpellCheckerSession$InternalListener;->onServiceConnected(Lcom/android/internal/textservice/ISpellCheckerSession;)V
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl$SpellCheckerParams;
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl$SpellCheckerParams;-><init>(I[Landroid/view/textservice/TextInfo;IZ)V
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl$SpellCheckerParams;->mSequentialWords:Z
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl$SpellCheckerParams;->mSession:Lcom/android/internal/textservice/ISpellCheckerSession;
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl$SpellCheckerParams;->mSuggestionsLimit:I
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl$SpellCheckerParams;->mTextInfos:[Landroid/view/textservice/TextInfo;
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl$SpellCheckerParams;->mWhat:I
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;-><init>(Landroid/os/Handler;)V
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->cancel()V
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->close()V
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->getSentenceSuggestionsMultiple([Landroid/view/textservice/TextInfo;I)V
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->getSuggestionsMultiple([Landroid/view/textservice/TextInfo;IZ)V
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->isDisconnected()Z
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->mAsyncHandler:Landroid/os/Handler;
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->mHandler:Landroid/os/Handler;
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->mISpellCheckerSession:Lcom/android/internal/textservice/ISpellCheckerSession;
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->mPendingTasks:Ljava/util/Queue;
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->mState:I
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->mThread:Landroid/os/HandlerThread;
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->onGetSentenceSuggestions([Landroid/view/textservice/SentenceSuggestionsInfo;)V
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->onGetSuggestions([Landroid/view/textservice/SuggestionsInfo;)V
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->onServiceConnected(Lcom/android/internal/textservice/ISpellCheckerSession;)V
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->processCloseLocked()V
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->processOrEnqueueTask(Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl$SpellCheckerParams;)V
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->processTask(Lcom/android/internal/textservice/ISpellCheckerSession;Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl$SpellCheckerParams;Z)V
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->stateToString(I)Ljava/lang/String;
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->STATE_CLOSED_AFTER_CONNECTION:I
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->STATE_CLOSED_BEFORE_CONNECTION:I
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->STATE_CONNECTED:I
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->STATE_WAIT_CONNECTION:I
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->taskToString(I)Ljava/lang/String;
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->TASK_CANCEL:I
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->TASK_CLOSE:I
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->TASK_GET_SUGGESTIONS_MULTIPLE:I
-Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->TASK_GET_SUGGESTIONS_MULTIPLE_FOR_SENTENCE:I
-Landroid/view/textservice/SpellCheckerSession;-><init>(Landroid/view/textservice/SpellCheckerInfo;Lcom/android/internal/textservice/ITextServicesManager;Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListener;)V
-Landroid/view/textservice/SpellCheckerSession;->DBG:Z
-Landroid/view/textservice/SpellCheckerSession;->getSpellCheckerSessionListener()Lcom/android/internal/textservice/ISpellCheckerSessionListener;
-Landroid/view/textservice/SpellCheckerSession;->getTextServicesSessionListener()Lcom/android/internal/textservice/ITextServicesSessionListener;
-Landroid/view/textservice/SpellCheckerSession;->handleOnGetSentenceSuggestionsMultiple([Landroid/view/textservice/SentenceSuggestionsInfo;)V
-Landroid/view/textservice/SpellCheckerSession;->handleOnGetSuggestionsMultiple([Landroid/view/textservice/SuggestionsInfo;)V
-Landroid/view/textservice/SpellCheckerSession;->mGuard:Ldalvik/system/CloseGuard;
-Landroid/view/textservice/SpellCheckerSession;->mHandler:Landroid/os/Handler;
-Landroid/view/textservice/SpellCheckerSession;->mInternalListener:Landroid/view/textservice/SpellCheckerSession$InternalListener;
-Landroid/view/textservice/SpellCheckerSession;->MSG_ON_GET_SUGGESTION_MULTIPLE:I
-Landroid/view/textservice/SpellCheckerSession;->MSG_ON_GET_SUGGESTION_MULTIPLE_FOR_SENTENCE:I
-Landroid/view/textservice/SpellCheckerSession;->mSpellCheckerInfo:Landroid/view/textservice/SpellCheckerInfo;
-Landroid/view/textservice/SpellCheckerSession;->mSpellCheckerSessionListenerImpl:Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;
-Landroid/view/textservice/SpellCheckerSession;->mTextServicesManager:Lcom/android/internal/textservice/ITextServicesManager;
-Landroid/view/textservice/SpellCheckerSession;->TAG:Ljava/lang/String;
-Landroid/view/textservice/SpellCheckerSubtype;-><init>(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
-Landroid/view/textservice/SpellCheckerSubtype;-><init>(Landroid/os/Parcel;)V
-Landroid/view/textservice/SpellCheckerSubtype;->EXTRA_VALUE_KEY_VALUE_SEPARATOR:Ljava/lang/String;
-Landroid/view/textservice/SpellCheckerSubtype;->EXTRA_VALUE_PAIR_SEPARATOR:Ljava/lang/String;
-Landroid/view/textservice/SpellCheckerSubtype;->getExtraValueHashMap()Ljava/util/HashMap;
-Landroid/view/textservice/SpellCheckerSubtype;->getLocaleObject()Ljava/util/Locale;
-Landroid/view/textservice/SpellCheckerSubtype;->hashCodeInternal(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/view/textservice/SpellCheckerSubtype;->mExtraValueHashMapCache:Ljava/util/HashMap;
-Landroid/view/textservice/SpellCheckerSubtype;->mSubtypeExtraValue:Ljava/lang/String;
-Landroid/view/textservice/SpellCheckerSubtype;->mSubtypeHashCode:I
-Landroid/view/textservice/SpellCheckerSubtype;->mSubtypeId:I
-Landroid/view/textservice/SpellCheckerSubtype;->mSubtypeLanguageTag:Ljava/lang/String;
-Landroid/view/textservice/SpellCheckerSubtype;->mSubtypeLocale:Ljava/lang/String;
-Landroid/view/textservice/SpellCheckerSubtype;->mSubtypeNameResId:I
-Landroid/view/textservice/SpellCheckerSubtype;->sort(Landroid/content/Context;ILandroid/view/textservice/SpellCheckerInfo;Ljava/util/List;)Ljava/util/List;
-Landroid/view/textservice/SpellCheckerSubtype;->SUBTYPE_ID_NONE:I
-Landroid/view/textservice/SpellCheckerSubtype;->SUBTYPE_LANGUAGE_TAG_NONE:Ljava/lang/String;
-Landroid/view/textservice/SpellCheckerSubtype;->TAG:Ljava/lang/String;
-Landroid/view/textservice/SuggestionsInfo;->EMPTY:[Ljava/lang/String;
-Landroid/view/textservice/SuggestionsInfo;->mCookie:I
-Landroid/view/textservice/SuggestionsInfo;->mSequence:I
-Landroid/view/textservice/SuggestionsInfo;->mSuggestions:[Ljava/lang/String;
-Landroid/view/textservice/SuggestionsInfo;->mSuggestionsAttributes:I
-Landroid/view/textservice/SuggestionsInfo;->mSuggestionsAvailable:Z
-Landroid/view/textservice/TextInfo;->DEFAULT_COOKIE:I
-Landroid/view/textservice/TextInfo;->DEFAULT_SEQUENCE_NUMBER:I
-Landroid/view/textservice/TextInfo;->getStringLengthOrZero(Ljava/lang/String;)I
-Landroid/view/textservice/TextInfo;->mCharSequence:Ljava/lang/CharSequence;
-Landroid/view/textservice/TextInfo;->mCookie:I
-Landroid/view/textservice/TextInfo;->mSequenceNumber:I
-Landroid/view/textservice/TextServicesManager;-><init>()V
-Landroid/view/textservice/TextServicesManager;->DBG:Z
-Landroid/view/textservice/TextServicesManager;->DISABLE_PER_PROFILE_SPELL_CHECKER:Z
-Landroid/view/textservice/TextServicesManager;->mService:Lcom/android/internal/textservice/ITextServicesManager;
-Landroid/view/textservice/TextServicesManager;->parseLanguageFromLocaleString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/view/textservice/TextServicesManager;->sInstance:Landroid/view/textservice/TextServicesManager;
-Landroid/view/textservice/TextServicesManager;->TAG:Ljava/lang/String;
-Landroid/view/TextureLayer;
-Landroid/view/TextureLayer;-><init>(Landroid/view/ThreadedRenderer;J)V
-Landroid/view/TextureLayer;->adoptTextureLayer(Landroid/view/ThreadedRenderer;J)Landroid/view/TextureLayer;
-Landroid/view/TextureLayer;->copyInto(Landroid/graphics/Bitmap;)Z
-Landroid/view/TextureLayer;->destroy()V
-Landroid/view/TextureLayer;->detachSurfaceTexture()V
-Landroid/view/TextureLayer;->getDeferredLayerUpdater()J
-Landroid/view/TextureLayer;->getLayerHandle()J
-Landroid/view/TextureLayer;->isValid()Z
-Landroid/view/TextureLayer;->mFinalizer:Lcom/android/internal/util/VirtualRefBasePtr;
-Landroid/view/TextureLayer;->mRenderer:Landroid/view/ThreadedRenderer;
-Landroid/view/TextureLayer;->nPrepare(JIIZ)Z
-Landroid/view/TextureLayer;->nSetLayerPaint(JJ)V
-Landroid/view/TextureLayer;->nSetSurfaceTexture(JLandroid/graphics/SurfaceTexture;)V
-Landroid/view/TextureLayer;->nSetTransform(JJ)V
-Landroid/view/TextureLayer;->nUpdateSurfaceTexture(J)V
-Landroid/view/TextureLayer;->prepare(IIZ)Z
-Landroid/view/TextureLayer;->setLayerPaint(Landroid/graphics/Paint;)V
-Landroid/view/TextureLayer;->setSurfaceTexture(Landroid/graphics/SurfaceTexture;)V
-Landroid/view/TextureLayer;->setTransform(Landroid/graphics/Matrix;)V
-Landroid/view/TextureLayer;->updateSurfaceTexture()V
-Landroid/view/TextureView;->applyTransformMatrix()V
-Landroid/view/TextureView;->applyUpdate()V
-Landroid/view/TextureView;->getTextureLayer()Landroid/view/TextureLayer;
-Landroid/view/TextureView;->LOG_TAG:Ljava/lang/String;
-Landroid/view/TextureView;->mCanvas:Landroid/graphics/Canvas;
-Landroid/view/TextureView;->mHadSurface:Z
-Landroid/view/TextureView;->mListener:Landroid/view/TextureView$SurfaceTextureListener;
-Landroid/view/TextureView;->mLock:[Ljava/lang/Object;
-Landroid/view/TextureView;->mMatrix:Landroid/graphics/Matrix;
-Landroid/view/TextureView;->mMatrixChanged:Z
-Landroid/view/TextureView;->mNativeWindowLock:[Ljava/lang/Object;
-Landroid/view/TextureView;->mSaveCount:I
-Landroid/view/TextureView;->mUpdateLayer:Z
-Landroid/view/TextureView;->nLockCanvas(JLandroid/graphics/Canvas;Landroid/graphics/Rect;)Z
-Landroid/view/TextureView;->nUnlockCanvasAndPost(JLandroid/graphics/Canvas;)V
-Landroid/view/TextureView;->releaseSurfaceTexture()V
-Landroid/view/TextureView;->updateLayer()V
-Landroid/view/TextureView;->updateLayerAndInvalidate()V
-Landroid/view/ThreadedRenderer$DrawCallbacks;
-Landroid/view/ThreadedRenderer$DrawCallbacks;->onPostDraw(Landroid/view/DisplayListCanvas;)V
-Landroid/view/ThreadedRenderer$DrawCallbacks;->onPreDraw(Landroid/view/DisplayListCanvas;)V
-Landroid/view/ThreadedRenderer$DumpFlags;
-Landroid/view/ThreadedRenderer$FrameCompleteCallback;
-Landroid/view/ThreadedRenderer$FrameCompleteCallback;->onFrameComplete(J)V
-Landroid/view/ThreadedRenderer$FrameDrawingCallback;
-Landroid/view/ThreadedRenderer$FrameDrawingCallback;->onFrameDraw(J)V
-Landroid/view/ThreadedRenderer$ProcessInitializer;
-Landroid/view/ThreadedRenderer$ProcessInitializer;-><init>()V
-Landroid/view/ThreadedRenderer$ProcessInitializer;->init(Landroid/content/Context;J)V
-Landroid/view/ThreadedRenderer$ProcessInitializer;->initGraphicsStats()V
-Landroid/view/ThreadedRenderer$ProcessInitializer;->initSched(J)V
-Landroid/view/ThreadedRenderer$ProcessInitializer;->mAppContext:Landroid/content/Context;
-Landroid/view/ThreadedRenderer$ProcessInitializer;->mGraphicsStatsCallback:Landroid/view/IGraphicsStatsCallback;
-Landroid/view/ThreadedRenderer$ProcessInitializer;->mGraphicsStatsService:Landroid/view/IGraphicsStats;
-Landroid/view/ThreadedRenderer$ProcessInitializer;->mInitialized:Z
-Landroid/view/ThreadedRenderer$ProcessInitializer;->requestBuffer()V
-Landroid/view/ThreadedRenderer$ProcessInitializer;->rotateBuffer()V
-Landroid/view/ThreadedRenderer$ProcessInitializer;->sInstance:Landroid/view/ThreadedRenderer$ProcessInitializer;
-Landroid/view/ThreadedRenderer$SimpleRenderer;
-Landroid/view/ThreadedRenderer$SimpleRenderer;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/view/Surface;)V
-Landroid/view/ThreadedRenderer$SimpleRenderer;->destroy()V
-Landroid/view/ThreadedRenderer$SimpleRenderer;->draw(Landroid/view/ThreadedRenderer$FrameDrawingCallback;)V
-Landroid/view/ThreadedRenderer$SimpleRenderer;->getRootNode()Landroid/view/RenderNode;
-Landroid/view/ThreadedRenderer$SimpleRenderer;->mFrameInfo:Landroid/view/FrameInfo;
-Landroid/view/ThreadedRenderer$SimpleRenderer;->mLightY:F
-Landroid/view/ThreadedRenderer$SimpleRenderer;->mLightZ:F
-Landroid/view/ThreadedRenderer$SimpleRenderer;->mNativeProxy:J
-Landroid/view/ThreadedRenderer$SimpleRenderer;->mRootNode:Landroid/view/RenderNode;
-Landroid/view/ThreadedRenderer$SimpleRenderer;->mSurface:Landroid/view/Surface;
-Landroid/view/ThreadedRenderer$SimpleRenderer;->setLightCenter(Landroid/view/Display;II)V
-Landroid/view/ThreadedRenderer;
-Landroid/view/ThreadedRenderer;-><init>(Landroid/content/Context;ZLjava/lang/String;)V
-Landroid/view/ThreadedRenderer;->addFrameMetricsObserver(Landroid/view/FrameMetricsObserver;)V
-Landroid/view/ThreadedRenderer;->buildLayer(Landroid/view/RenderNode;)V
-Landroid/view/ThreadedRenderer;->CACHE_PATH_SHADERS:Ljava/lang/String;
-Landroid/view/ThreadedRenderer;->CACHE_PATH_SKIASHADERS:Ljava/lang/String;
-Landroid/view/ThreadedRenderer;->copyLayerInto(Landroid/view/TextureLayer;Landroid/graphics/Bitmap;)Z
-Landroid/view/ThreadedRenderer;->copySurfaceInto(Landroid/view/Surface;Landroid/graphics/Rect;Landroid/graphics/Bitmap;)I
-Landroid/view/ThreadedRenderer;->create(Landroid/content/Context;ZLjava/lang/String;)Landroid/view/ThreadedRenderer;
-Landroid/view/ThreadedRenderer;->createTextureLayer()Landroid/view/TextureLayer;
-Landroid/view/ThreadedRenderer;->DEBUG_DIRTY_REGIONS_PROPERTY:Ljava/lang/String;
-Landroid/view/ThreadedRenderer;->DEBUG_FPS_DIVISOR:Ljava/lang/String;
-Landroid/view/ThreadedRenderer;->DEBUG_OVERDRAW_PROPERTY:Ljava/lang/String;
-Landroid/view/ThreadedRenderer;->DEBUG_SHOW_LAYERS_UPDATES_PROPERTY:Ljava/lang/String;
-Landroid/view/ThreadedRenderer;->DEBUG_SHOW_NON_RECTANGULAR_CLIP_PROPERTY:Ljava/lang/String;
-Landroid/view/ThreadedRenderer;->destroy()V
-Landroid/view/ThreadedRenderer;->destroyHardwareResources(Landroid/view/View;)V
-Landroid/view/ThreadedRenderer;->destroyResources(Landroid/view/View;)V
-Landroid/view/ThreadedRenderer;->detachSurfaceTexture(J)V
-Landroid/view/ThreadedRenderer;->disable(Z)V
-Landroid/view/ThreadedRenderer;->disableVsync()V
-Landroid/view/ThreadedRenderer;->draw(Landroid/view/View;Landroid/view/View$AttachInfo;Landroid/view/ThreadedRenderer$DrawCallbacks;Landroid/view/ThreadedRenderer$FrameDrawingCallback;)V
-Landroid/view/ThreadedRenderer;->dumpGfxInfo(Ljava/io/PrintWriter;Ljava/io/FileDescriptor;[Ljava/lang/String;)V
-Landroid/view/ThreadedRenderer;->EGL_CONTEXT_PRIORITY_HIGH_IMG:I
-Landroid/view/ThreadedRenderer;->EGL_CONTEXT_PRIORITY_LOW_IMG:I
-Landroid/view/ThreadedRenderer;->EGL_CONTEXT_PRIORITY_MEDIUM_IMG:I
-Landroid/view/ThreadedRenderer;->enableForegroundTrimming()V
-Landroid/view/ThreadedRenderer;->fence()V
-Landroid/view/ThreadedRenderer;->FLAG_DUMP_ALL:I
-Landroid/view/ThreadedRenderer;->FLAG_DUMP_FRAMESTATS:I
-Landroid/view/ThreadedRenderer;->FLAG_DUMP_RESET:I
-Landroid/view/ThreadedRenderer;->getHeight()I
-Landroid/view/ThreadedRenderer;->getWidth()I
-Landroid/view/ThreadedRenderer;->initialize(Landroid/view/Surface;)Z
-Landroid/view/ThreadedRenderer;->initializeIfNeeded(IILandroid/view/View$AttachInfo;Landroid/view/Surface;Landroid/graphics/Rect;)Z
-Landroid/view/ThreadedRenderer;->invalidateRoot()V
-Landroid/view/ThreadedRenderer;->invokeFunctor(JZ)V
-Landroid/view/ThreadedRenderer;->isAvailable()Z
-Landroid/view/ThreadedRenderer;->isEnabled()Z
-Landroid/view/ThreadedRenderer;->isOpaque()Z
-Landroid/view/ThreadedRenderer;->isRequested()Z
-Landroid/view/ThreadedRenderer;->loadSystemProperties()Z
-Landroid/view/ThreadedRenderer;->LOG_TAG:Ljava/lang/String;
-Landroid/view/ThreadedRenderer;->mAmbientShadowAlpha:I
-Landroid/view/ThreadedRenderer;->mEnabled:Z
-Landroid/view/ThreadedRenderer;->mHasInsets:Z
-Landroid/view/ThreadedRenderer;->mHeight:I
-Landroid/view/ThreadedRenderer;->mInitialized:Z
-Landroid/view/ThreadedRenderer;->mInsetLeft:I
-Landroid/view/ThreadedRenderer;->mInsetTop:I
-Landroid/view/ThreadedRenderer;->mIsOpaque:Z
-Landroid/view/ThreadedRenderer;->mLightRadius:F
-Landroid/view/ThreadedRenderer;->mLightY:F
-Landroid/view/ThreadedRenderer;->mLightZ:F
-Landroid/view/ThreadedRenderer;->mNativeProxy:J
-Landroid/view/ThreadedRenderer;->mRequested:Z
-Landroid/view/ThreadedRenderer;->mRootNode:Landroid/view/RenderNode;
-Landroid/view/ThreadedRenderer;->mRootNodeNeedsUpdate:Z
-Landroid/view/ThreadedRenderer;->mSpotShadowAlpha:I
-Landroid/view/ThreadedRenderer;->mSurfaceHeight:I
-Landroid/view/ThreadedRenderer;->mSurfaceWidth:I
-Landroid/view/ThreadedRenderer;->mWidth:I
-Landroid/view/ThreadedRenderer;->nAddFrameMetricsObserver(JLandroid/view/FrameMetricsObserver;)J
-Landroid/view/ThreadedRenderer;->nAddRenderNode(JJZ)V
-Landroid/view/ThreadedRenderer;->nBuildLayer(JJ)V
-Landroid/view/ThreadedRenderer;->nCancelLayerUpdate(JJ)V
-Landroid/view/ThreadedRenderer;->nCopyLayerInto(JJLandroid/graphics/Bitmap;)Z
-Landroid/view/ThreadedRenderer;->nCopySurfaceInto(Landroid/view/Surface;IIIILandroid/graphics/Bitmap;)I
-Landroid/view/ThreadedRenderer;->nCreateHardwareBitmap(JII)Landroid/graphics/Bitmap;
-Landroid/view/ThreadedRenderer;->nCreateProxy(ZJ)J
-Landroid/view/ThreadedRenderer;->nCreateRootRenderNode()J
-Landroid/view/ThreadedRenderer;->nCreateTextureLayer(J)J
-Landroid/view/ThreadedRenderer;->nDeleteProxy(J)V
-Landroid/view/ThreadedRenderer;->nDestroy(JJ)V
-Landroid/view/ThreadedRenderer;->nDestroyHardwareResources(J)V
-Landroid/view/ThreadedRenderer;->nDetachSurfaceTexture(JJ)V
-Landroid/view/ThreadedRenderer;->nDrawRenderNode(JJ)V
-Landroid/view/ThreadedRenderer;->nDumpProfileInfo(JLjava/io/FileDescriptor;I)V
-Landroid/view/ThreadedRenderer;->nFence(J)V
-Landroid/view/ThreadedRenderer;->nGetRenderThreadTid(J)I
-Landroid/view/ThreadedRenderer;->nHackySetRTAnimationsEnabled(Z)V
-Landroid/view/ThreadedRenderer;->nInitialize(JLandroid/view/Surface;)V
-Landroid/view/ThreadedRenderer;->nInvokeFunctor(JZ)V
-Landroid/view/ThreadedRenderer;->nLoadSystemProperties(J)Z
-Landroid/view/ThreadedRenderer;->nNotifyFramePending(J)V
-Landroid/view/ThreadedRenderer;->notifyFramePending()V
-Landroid/view/ThreadedRenderer;->nOverrideProperty(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/view/ThreadedRenderer;->nPauseSurface(JLandroid/view/Surface;)Z
-Landroid/view/ThreadedRenderer;->nPushLayerUpdate(JJ)V
-Landroid/view/ThreadedRenderer;->nRegisterAnimatingRenderNode(JJ)V
-Landroid/view/ThreadedRenderer;->nRegisterVectorDrawableAnimator(JJ)V
-Landroid/view/ThreadedRenderer;->nRemoveFrameMetricsObserver(JJ)V
-Landroid/view/ThreadedRenderer;->nRemoveRenderNode(JJ)V
-Landroid/view/ThreadedRenderer;->nRotateProcessStatsBuffer()V
-Landroid/view/ThreadedRenderer;->nSerializeDisplayListTree(J)V
-Landroid/view/ThreadedRenderer;->nSetContentDrawBounds(JIIII)V
-Landroid/view/ThreadedRenderer;->nSetContextPriority(I)V
-Landroid/view/ThreadedRenderer;->nSetDebuggingEnabled(Z)V
-Landroid/view/ThreadedRenderer;->nSetFrameCallback(JLandroid/view/ThreadedRenderer$FrameDrawingCallback;)V
-Landroid/view/ThreadedRenderer;->nSetFrameCompleteCallback(JLandroid/view/ThreadedRenderer$FrameCompleteCallback;)V
-Landroid/view/ThreadedRenderer;->nSetHighContrastText(Z)V
-Landroid/view/ThreadedRenderer;->nSetIsolatedProcess(Z)V
-Landroid/view/ThreadedRenderer;->nSetLightCenter(JFFF)V
-Landroid/view/ThreadedRenderer;->nSetName(JLjava/lang/String;)V
-Landroid/view/ThreadedRenderer;->nSetOpaque(JZ)V
-Landroid/view/ThreadedRenderer;->nSetProcessStatsBuffer(I)V
-Landroid/view/ThreadedRenderer;->nSetStopped(JZ)V
-Landroid/view/ThreadedRenderer;->nSetup(JFII)V
-Landroid/view/ThreadedRenderer;->nSetWideGamut(JZ)V
-Landroid/view/ThreadedRenderer;->nStopDrawing(J)V
-Landroid/view/ThreadedRenderer;->nSyncAndDrawFrame(J[JI)I
-Landroid/view/ThreadedRenderer;->nTrimMemory(I)V
-Landroid/view/ThreadedRenderer;->nUpdateSurface(JLandroid/view/Surface;)V
-Landroid/view/ThreadedRenderer;->onLayerDestroyed(Landroid/view/TextureLayer;)V
-Landroid/view/ThreadedRenderer;->OVERDRAW_PROPERTY_SHOW:Ljava/lang/String;
-Landroid/view/ThreadedRenderer;->overrideProperty(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/view/ThreadedRenderer;->pauseSurface(Landroid/view/Surface;)Z
-Landroid/view/ThreadedRenderer;->PRINT_CONFIG_PROPERTY:Ljava/lang/String;
-Landroid/view/ThreadedRenderer;->PROFILE_MAXFRAMES_PROPERTY:Ljava/lang/String;
-Landroid/view/ThreadedRenderer;->PROFILE_PROPERTY:Ljava/lang/String;
-Landroid/view/ThreadedRenderer;->PROFILE_PROPERTY_VISUALIZE_BARS:Ljava/lang/String;
-Landroid/view/ThreadedRenderer;->pushLayerUpdate(Landroid/view/TextureLayer;)V
-Landroid/view/ThreadedRenderer;->registerAnimatingRenderNode(Landroid/view/RenderNode;)V
-Landroid/view/ThreadedRenderer;->registerVectorDrawableAnimator(Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;)V
-Landroid/view/ThreadedRenderer;->removeFrameMetricsObserver(Landroid/view/FrameMetricsObserver;)V
-Landroid/view/ThreadedRenderer;->serializeDisplayListTree()V
-Landroid/view/ThreadedRenderer;->setContextPriority(I)V
-Landroid/view/ThreadedRenderer;->setDebuggingEnabled(Z)V
-Landroid/view/ThreadedRenderer;->setEnabled(Z)V
-Landroid/view/ThreadedRenderer;->setFPSDivisor(I)V
-Landroid/view/ThreadedRenderer;->setFrameCompleteCallback(Landroid/view/ThreadedRenderer$FrameCompleteCallback;)V
-Landroid/view/ThreadedRenderer;->setHighContrastText(Z)V
-Landroid/view/ThreadedRenderer;->setIsolatedProcess(Z)V
-Landroid/view/ThreadedRenderer;->setLightCenter(Landroid/view/View$AttachInfo;)V
-Landroid/view/ThreadedRenderer;->setOpaque(Z)V
-Landroid/view/ThreadedRenderer;->setRequested(Z)V
-Landroid/view/ThreadedRenderer;->setStopped(Z)V
-Landroid/view/ThreadedRenderer;->setup(IILandroid/view/View$AttachInfo;Landroid/graphics/Rect;)V
-Landroid/view/ThreadedRenderer;->setupShadersDiskCache(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/view/ThreadedRenderer;->setWideGamut(Z)V
-Landroid/view/ThreadedRenderer;->sRendererDisabled:Z
-Landroid/view/ThreadedRenderer;->sSupportsOpenGL:Ljava/lang/Boolean;
-Landroid/view/ThreadedRenderer;->sSystemRendererDisabled:Z
-Landroid/view/ThreadedRenderer;->stopDrawing()V
-Landroid/view/ThreadedRenderer;->sTrimForeground:Z
-Landroid/view/ThreadedRenderer;->SYNC_CONTEXT_IS_STOPPED:I
-Landroid/view/ThreadedRenderer;->SYNC_FRAME_DROPPED:I
-Landroid/view/ThreadedRenderer;->SYNC_INVALIDATE_REQUIRED:I
-Landroid/view/ThreadedRenderer;->SYNC_LOST_SURFACE_REWARD_IF_FOUND:I
-Landroid/view/ThreadedRenderer;->SYNC_OK:I
-Landroid/view/ThreadedRenderer;->trimMemory(I)V
-Landroid/view/ThreadedRenderer;->updateEnabledState(Landroid/view/Surface;)V
-Landroid/view/ThreadedRenderer;->updateRootDisplayList(Landroid/view/View;Landroid/view/ThreadedRenderer$DrawCallbacks;)V
-Landroid/view/ThreadedRenderer;->updateSurface(Landroid/view/Surface;)V
-Landroid/view/ThreadedRenderer;->updateViewTreeDisplayList(Landroid/view/View;)V
-Landroid/view/ThreadedRenderer;->VISUALIZERS:[Ljava/lang/String;
-Landroid/view/TouchDelegate;->mBounds:Landroid/graphics/Rect;
-Landroid/view/TouchDelegate;->mDelegateView:Landroid/view/View;
-Landroid/view/TouchDelegate;->mSlop:I
-Landroid/view/TouchDelegate;->mSlopBounds:Landroid/graphics/Rect;
-Landroid/view/VelocityTracker$Estimator;
-Landroid/view/VelocityTracker$Estimator;-><init>()V
-Landroid/view/VelocityTracker$Estimator;->estimate(F[F)F
-Landroid/view/VelocityTracker$Estimator;->estimateX(F)F
-Landroid/view/VelocityTracker$Estimator;->estimateY(F)F
-Landroid/view/VelocityTracker$Estimator;->getXCoeff(I)F
-Landroid/view/VelocityTracker$Estimator;->getYCoeff(I)F
-Landroid/view/VelocityTracker$Estimator;->MAX_DEGREE:I
-Landroid/view/VelocityTracker;-><init>(Ljava/lang/String;)V
-Landroid/view/VelocityTracker;->ACTIVE_POINTER_ID:I
-Landroid/view/VelocityTracker;->getEstimator(ILandroid/view/VelocityTracker$Estimator;)Z
-Landroid/view/VelocityTracker;->mPtr:J
-Landroid/view/VelocityTracker;->mStrategy:Ljava/lang/String;
-Landroid/view/VelocityTracker;->nativeAddMovement(JLandroid/view/MotionEvent;)V
-Landroid/view/VelocityTracker;->nativeClear(J)V
-Landroid/view/VelocityTracker;->nativeComputeCurrentVelocity(JIF)V
-Landroid/view/VelocityTracker;->nativeDispose(J)V
-Landroid/view/VelocityTracker;->nativeGetEstimator(JILandroid/view/VelocityTracker$Estimator;)Z
-Landroid/view/VelocityTracker;->nativeGetXVelocity(JI)F
-Landroid/view/VelocityTracker;->nativeGetYVelocity(JI)F
-Landroid/view/VelocityTracker;->nativeInitialize(Ljava/lang/String;)J
-Landroid/view/VelocityTracker;->sPool:Landroid/util/Pools$SynchronizedPool;
-Landroid/view/View$AttachInfo$Callbacks;
-Landroid/view/View$AttachInfo$Callbacks;->performHapticFeedback(IZ)Z
-Landroid/view/View$AttachInfo$Callbacks;->playSoundEffect(I)V
-Landroid/view/View$AttachInfo$InvalidateInfo;
-Landroid/view/View$AttachInfo$InvalidateInfo;->obtain()Landroid/view/View$AttachInfo$InvalidateInfo;
-Landroid/view/View$AttachInfo$InvalidateInfo;->POOL_LIMIT:I
-Landroid/view/View$AttachInfo$InvalidateInfo;->recycle()V
-Landroid/view/View$AttachInfo$InvalidateInfo;->sPool:Landroid/util/Pools$SynchronizedPool;
-Landroid/view/View$AttachInfo;
-Landroid/view/View$AttachInfo;-><init>(Landroid/view/IWindowSession;Landroid/view/IWindow;Landroid/view/Display;Landroid/view/ViewRootImpl;Landroid/os/Handler;Landroid/view/View$AttachInfo$Callbacks;Landroid/content/Context;)V
-Landroid/view/View$AttachInfo;->mAccessibilityFetchFlags:I
-Landroid/view/View$AttachInfo;->mAccessibilityFocusDrawable:Landroid/graphics/drawable/Drawable;
-Landroid/view/View$AttachInfo;->mAccessibilityWindowId:I
-Landroid/view/View$AttachInfo;->mAlwaysConsumeNavBar:Z
-Landroid/view/View$AttachInfo;->mAutofilledDrawable:Landroid/graphics/drawable/Drawable;
-Landroid/view/View$AttachInfo;->mCanvas:Landroid/graphics/Canvas;
-Landroid/view/View$AttachInfo;->mDebugLayout:Z
-Landroid/view/View$AttachInfo;->mDisabledSystemUiVisibility:I
-Landroid/view/View$AttachInfo;->mDisplay:Landroid/view/Display;
-Landroid/view/View$AttachInfo;->mDisplayCutout:Landroid/view/DisplayCutout$ParcelableWrapper;
-Landroid/view/View$AttachInfo;->mDragSurface:Landroid/view/Surface;
-Landroid/view/View$AttachInfo;->mDragToken:Landroid/os/IBinder;
-Landroid/view/View$AttachInfo;->mEmptyPartialLayoutViews:Ljava/util/List;
-Landroid/view/View$AttachInfo;->mForceReportNewAttributes:Z
-Landroid/view/View$AttachInfo;->mGlobalSystemUiVisibility:I
-Landroid/view/View$AttachInfo;->mHandlingPointerEvent:Z
-Landroid/view/View$AttachInfo;->mHardwareAccelerated:Z
-Landroid/view/View$AttachInfo;->mHardwareAccelerationRequested:Z
-Landroid/view/View$AttachInfo;->mHasNonEmptyGivenInternalInsets:Z
-Landroid/view/View$AttachInfo;->mHasSystemUiListeners:Z
-Landroid/view/View$AttachInfo;->mIgnoreDirtyState:Z
-Landroid/view/View$AttachInfo;->mInvalidateChildLocation:[I
-Landroid/view/View$AttachInfo;->mIWindowId:Landroid/view/IWindowId;
-Landroid/view/View$AttachInfo;->mNeedsUpdateLightCenter:Z
-Landroid/view/View$AttachInfo;->mOutsets:Landroid/graphics/Rect;
-Landroid/view/View$AttachInfo;->mOverscanInsets:Landroid/graphics/Rect;
-Landroid/view/View$AttachInfo;->mOverscanRequested:Z
-Landroid/view/View$AttachInfo;->mPanelParentWindowToken:Landroid/os/IBinder;
-Landroid/view/View$AttachInfo;->mPartialLayoutViews:Ljava/util/List;
-Landroid/view/View$AttachInfo;->mPendingAnimatingRenderNodes:Ljava/util/List;
-Landroid/view/View$AttachInfo;->mPoint:Landroid/graphics/Point;
-Landroid/view/View$AttachInfo;->mRootCallbacks:Landroid/view/View$AttachInfo$Callbacks;
-Landroid/view/View$AttachInfo;->mRootView:Landroid/view/View;
-Landroid/view/View$AttachInfo;->mSetIgnoreDirtyState:Z
-Landroid/view/View$AttachInfo;->mSystemUiVisibility:I
-Landroid/view/View$AttachInfo;->mTempArrayList:Ljava/util/ArrayList;
-Landroid/view/View$AttachInfo;->mThreadedRenderer:Landroid/view/ThreadedRenderer;
-Landroid/view/View$AttachInfo;->mTmpInvalRect:Landroid/graphics/Rect;
-Landroid/view/View$AttachInfo;->mTmpLocation:[I
-Landroid/view/View$AttachInfo;->mTmpMatrix:Landroid/graphics/Matrix;
-Landroid/view/View$AttachInfo;->mTmpOutline:Landroid/graphics/Outline;
-Landroid/view/View$AttachInfo;->mTmpRectList:Ljava/util/List;
-Landroid/view/View$AttachInfo;->mTmpTransformation:Landroid/view/animation/Transformation;
-Landroid/view/View$AttachInfo;->mTmpTransformLocation:[F
-Landroid/view/View$AttachInfo;->mTmpTransformRect1:Landroid/graphics/RectF;
-Landroid/view/View$AttachInfo;->mTmpTransformRect:Landroid/graphics/RectF;
-Landroid/view/View$AttachInfo;->mTooltipHost:Landroid/view/View;
-Landroid/view/View$AttachInfo;->mTransparentLocation:[I
-Landroid/view/View$AttachInfo;->mUnbufferedDispatchRequested:Z
-Landroid/view/View$AttachInfo;->mUse32BitDrawingCache:Z
-Landroid/view/View$AttachInfo;->mViewRequestingLayout:Landroid/view/View;
-Landroid/view/View$AttachInfo;->mViewRootImpl:Landroid/view/ViewRootImpl;
-Landroid/view/View$AttachInfo;->mWindowId:Landroid/view/WindowId;
-Landroid/view/View$AttachInfo;->mWindowLeft:I
-Landroid/view/View$AttachInfo;->mWindowToken:Landroid/os/IBinder;
-Landroid/view/View$AttachInfo;->mWindowTop:I
-Landroid/view/View$AttachInfo;->mWindowVisibility:I
-Landroid/view/View$AutofillFlags;
-Landroid/view/View$AutofillImportance;
-Landroid/view/View$AutofillType;
-Landroid/view/View$BaseSavedState;->AUTOFILL_ID:I
-Landroid/view/View$BaseSavedState;->IS_AUTOFILLED:I
-Landroid/view/View$BaseSavedState;->mAutofillViewId:I
-Landroid/view/View$BaseSavedState;->mIsAutofilled:Z
-Landroid/view/View$BaseSavedState;->mSavedData:I
-Landroid/view/View$BaseSavedState;->mStartActivityRequestWhoSaved:Ljava/lang/String;
-Landroid/view/View$BaseSavedState;->START_ACTIVITY_REQUESTED_WHO_SAVED:I
-Landroid/view/View$CheckForLongPress;
-Landroid/view/View$CheckForLongPress;-><init>()V
-Landroid/view/View$CheckForLongPress;->mOriginalPressedState:Z
-Landroid/view/View$CheckForLongPress;->mOriginalWindowAttachCount:I
-Landroid/view/View$CheckForLongPress;->mX:F
-Landroid/view/View$CheckForLongPress;->mY:F
-Landroid/view/View$CheckForLongPress;->rememberPressedState()V
-Landroid/view/View$CheckForLongPress;->rememberWindowAttachCount()V
-Landroid/view/View$CheckForLongPress;->setAnchor(FF)V
-Landroid/view/View$CheckForTap;
-Landroid/view/View$CheckForTap;-><init>()V
-Landroid/view/View$CheckForTap;->x:F
-Landroid/view/View$CheckForTap;->y:F
-Landroid/view/View$DeclaredOnClickListener;
-Landroid/view/View$DeclaredOnClickListener;-><init>(Landroid/view/View;Ljava/lang/String;)V
-Landroid/view/View$DeclaredOnClickListener;->mHostView:Landroid/view/View;
-Landroid/view/View$DeclaredOnClickListener;->mMethodName:Ljava/lang/String;
-Landroid/view/View$DeclaredOnClickListener;->mResolvedContext:Landroid/content/Context;
-Landroid/view/View$DeclaredOnClickListener;->mResolvedMethod:Ljava/lang/reflect/Method;
-Landroid/view/View$DeclaredOnClickListener;->resolveMethod(Landroid/content/Context;Ljava/lang/String;)V
-Landroid/view/View$DrawingCacheQuality;
-Landroid/view/View$FindViewFlags;
-Landroid/view/View$Focusable;
-Landroid/view/View$FocusableMode;
-Landroid/view/View$FocusDirection;
-Landroid/view/View$FocusRealDirection;
-Landroid/view/View$ForegroundInfo;
-Landroid/view/View$ForegroundInfo;-><init>()V
-Landroid/view/View$ForegroundInfo;->mBoundsChanged:Z
-Landroid/view/View$ForegroundInfo;->mDrawable:Landroid/graphics/drawable/Drawable;
-Landroid/view/View$ForegroundInfo;->mGravity:I
-Landroid/view/View$ForegroundInfo;->mInsidePadding:Z
-Landroid/view/View$ForegroundInfo;->mOverlayBounds:Landroid/graphics/Rect;
-Landroid/view/View$ForegroundInfo;->mSelfBounds:Landroid/graphics/Rect;
-Landroid/view/View$ForegroundInfo;->mTintInfo:Landroid/view/View$TintInfo;
-Landroid/view/View$LayoutDir;
-Landroid/view/View$ListenerInfo;
-Landroid/view/View$ListenerInfo;->mOnApplyWindowInsetsListener:Landroid/view/View$OnApplyWindowInsetsListener;
-Landroid/view/View$ListenerInfo;->mOnAttachStateChangeListeners:Ljava/util/concurrent/CopyOnWriteArrayList;
-Landroid/view/View$ListenerInfo;->mOnCapturedPointerListener:Landroid/view/View$OnCapturedPointerListener;
-Landroid/view/View$ListenerInfo;->mOnContextClickListener:Landroid/view/View$OnContextClickListener;
-Landroid/view/View$ListenerInfo;->mOnLayoutChangeListeners:Ljava/util/ArrayList;
-Landroid/view/View$ListenerInfo;->mOnScrollChangeListener:Landroid/view/View$OnScrollChangeListener;
-Landroid/view/View$ListenerInfo;->mOnSystemUiVisibilityChangeListener:Landroid/view/View$OnSystemUiVisibilityChangeListener;
-Landroid/view/View$ListenerInfo;->mUnhandledKeyListeners:Ljava/util/ArrayList;
-Landroid/view/View$MatchIdPredicate;
-Landroid/view/View$MatchIdPredicate;-><init>()V
-Landroid/view/View$MatchIdPredicate;->mId:I
-Landroid/view/View$MatchIdPredicate;->test(Landroid/view/View;)Z
-Landroid/view/View$MatchLabelForPredicate;
-Landroid/view/View$MatchLabelForPredicate;-><init>()V
-Landroid/view/View$MatchLabelForPredicate;->mLabeledId:I
-Landroid/view/View$MatchLabelForPredicate;->test(Landroid/view/View;)Z
-Landroid/view/View$MeasureSpec$MeasureSpecMode;
-Landroid/view/View$MeasureSpec;->adjust(II)I
-Landroid/view/View$MeasureSpec;->MODE_MASK:I
-Landroid/view/View$MeasureSpec;->MODE_SHIFT:I
-Landroid/view/View$PerformClick;
-Landroid/view/View$PerformClick;-><init>()V
-Landroid/view/View$ResolvedLayoutDir;
-Landroid/view/View$ScrollabilityCache;
-Landroid/view/View$ScrollabilityCache;-><init>(Landroid/view/ViewConfiguration;Landroid/view/View;)V
-Landroid/view/View$ScrollabilityCache;->DRAGGING_HORIZONTAL_SCROLL_BAR:I
-Landroid/view/View$ScrollabilityCache;->DRAGGING_VERTICAL_SCROLL_BAR:I
-Landroid/view/View$ScrollabilityCache;->fadeScrollBars:Z
-Landroid/view/View$ScrollabilityCache;->fadeStartTime:J
-Landroid/view/View$ScrollabilityCache;->FADING:I
-Landroid/view/View$ScrollabilityCache;->fadingEdgeLength:I
-Landroid/view/View$ScrollabilityCache;->interpolatorValues:[F
-Landroid/view/View$ScrollabilityCache;->matrix:Landroid/graphics/Matrix;
-Landroid/view/View$ScrollabilityCache;->mLastColor:I
-Landroid/view/View$ScrollabilityCache;->mScrollBarBounds:Landroid/graphics/Rect;
-Landroid/view/View$ScrollabilityCache;->mScrollBarDraggingPos:F
-Landroid/view/View$ScrollabilityCache;->mScrollBarDraggingState:I
-Landroid/view/View$ScrollabilityCache;->mScrollBarTouchBounds:Landroid/graphics/Rect;
-Landroid/view/View$ScrollabilityCache;->NOT_DRAGGING:I
-Landroid/view/View$ScrollabilityCache;->OFF:I
-Landroid/view/View$ScrollabilityCache;->ON:I
-Landroid/view/View$ScrollabilityCache;->OPAQUE:[F
-Landroid/view/View$ScrollabilityCache;->paint:Landroid/graphics/Paint;
-Landroid/view/View$ScrollabilityCache;->scrollBarDefaultDelayBeforeFade:I
-Landroid/view/View$ScrollabilityCache;->scrollBarFadeDuration:I
-Landroid/view/View$ScrollabilityCache;->scrollBarInterpolator:Landroid/graphics/Interpolator;
-Landroid/view/View$ScrollabilityCache;->scrollBarMinTouchTarget:I
-Landroid/view/View$ScrollabilityCache;->scrollBarSize:I
-Landroid/view/View$ScrollabilityCache;->setFadeColor(I)V
-Landroid/view/View$ScrollabilityCache;->shader:Landroid/graphics/Shader;
-Landroid/view/View$ScrollabilityCache;->TRANSPARENT:[F
-Landroid/view/View$ScrollBarStyle;
-Landroid/view/View$ScrollIndicators;
-Landroid/view/View$SendViewScrolledAccessibilityEvent;
-Landroid/view/View$SendViewScrolledAccessibilityEvent;-><init>()V
-Landroid/view/View$SendViewScrolledAccessibilityEvent;->mDeltaX:I
-Landroid/view/View$SendViewScrolledAccessibilityEvent;->mDeltaY:I
-Landroid/view/View$SendViewScrolledAccessibilityEvent;->mIsPending:Z
-Landroid/view/View$SendViewScrolledAccessibilityEvent;->post(II)V
-Landroid/view/View$SendViewScrolledAccessibilityEvent;->reset()V
-Landroid/view/View$TextAlignment;
-Landroid/view/View$TintInfo;
-Landroid/view/View$TintInfo;-><init>()V
-Landroid/view/View$TintInfo;->mHasTintList:Z
-Landroid/view/View$TintInfo;->mHasTintMode:Z
-Landroid/view/View$TintInfo;->mTintList:Landroid/content/res/ColorStateList;
-Landroid/view/View$TintInfo;->mTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/view/View$TooltipInfo;
-Landroid/view/View$TooltipInfo;-><init>()V
-Landroid/view/View$TooltipInfo;->clearAnchorPos()V
-Landroid/view/View$TooltipInfo;->mAnchorX:I
-Landroid/view/View$TooltipInfo;->mAnchorY:I
-Landroid/view/View$TooltipInfo;->mHideTooltipRunnable:Ljava/lang/Runnable;
-Landroid/view/View$TooltipInfo;->mHoverSlop:I
-Landroid/view/View$TooltipInfo;->mShowTooltipRunnable:Ljava/lang/Runnable;
-Landroid/view/View$TooltipInfo;->mTooltipFromLongClick:Z
-Landroid/view/View$TooltipInfo;->mTooltipPopup:Lcom/android/internal/view/TooltipPopup;
-Landroid/view/View$TooltipInfo;->mTooltipText:Ljava/lang/CharSequence;
-Landroid/view/View$TooltipInfo;->updateAnchorPos(Landroid/view/MotionEvent;)Z
-Landroid/view/View$TransformationInfo;
-Landroid/view/View$TransformationInfo;-><init>()V
-Landroid/view/View$TransformationInfo;->mAlpha:F
-Landroid/view/View$TransformationInfo;->mInverseMatrix:Landroid/graphics/Matrix;
-Landroid/view/View$TransformationInfo;->mMatrix:Landroid/graphics/Matrix;
-Landroid/view/View$TransformationInfo;->mTransitionAlpha:F
-Landroid/view/View$UnsetPressedState;
-Landroid/view/View$UnsetPressedState;-><init>()V
-Landroid/view/View$Visibility;
-Landroid/view/View$VisibilityChangeForAutofillHandler;
-Landroid/view/View$VisibilityChangeForAutofillHandler;-><init>(Landroid/view/autofill/AutofillManager;Landroid/view/View;)V
-Landroid/view/View$VisibilityChangeForAutofillHandler;->mAfm:Landroid/view/autofill/AutofillManager;
-Landroid/view/View$VisibilityChangeForAutofillHandler;->mView:Landroid/view/View;
-Landroid/view/View;->ACCESSIBILITY_CURSOR_POSITION_UNDEFINED:I
-Landroid/view/View;->ACCESSIBILITY_LIVE_REGION_DEFAULT:I
-Landroid/view/View;->addFrameMetricsListener(Landroid/view/Window;Landroid/view/Window$OnFrameMetricsAvailableListener;Landroid/os/Handler;)V
-Landroid/view/View;->ALL_RTL_PROPERTIES_RESOLVED:I
-Landroid/view/View;->applyBackgroundTint()V
-Landroid/view/View;->applyForegroundTint()V
-Landroid/view/View;->applyLegacyAnimation(Landroid/view/ViewGroup;JLandroid/view/animation/Animation;Z)Z
-Landroid/view/View;->areDrawablesResolved()Z
-Landroid/view/View;->AUTOFILL_HIGHLIGHT_ATTR:[I
-Landroid/view/View;->buildDrawingCacheImpl(Z)V
-Landroid/view/View;->callDragEventHandler(Landroid/view/DragEvent;)Z
-Landroid/view/View;->canAcceptDrag()Z
-Landroid/view/View;->canHaveDisplayList()Z
-Landroid/view/View;->canNotifyAutofillEnterExitEvent()Z
-Landroid/view/View;->canTakeFocus()Z
-Landroid/view/View;->captureTransitioningViews(Ljava/util/List;)V
-Landroid/view/View;->checkForLongClick(IFF)V
-Landroid/view/View;->cleanupDraw()V
-Landroid/view/View;->clearAccessibilityFocusNoCallbacks(I)V
-Landroid/view/View;->clearFocusInternal(Landroid/view/View;ZZ)V
-Landroid/view/View;->clearParentsWantFocus()V
-Landroid/view/View;->CLICKABLE:I
-Landroid/view/View;->combineVisibility(II)I
-Landroid/view/View;->computeOpticalInsets()Landroid/graphics/Insets;
-Landroid/view/View;->CONTEXT_CLICKABLE:I
-Landroid/view/View;->createAccessibilityNodeInfoInternal()Landroid/view/accessibility/AccessibilityNodeInfo;
-Landroid/view/View;->damageInParent()V
-Landroid/view/View;->debugDraw()Z
-Landroid/view/View;->debugDrawFocus(Landroid/graphics/Canvas;)V
-Landroid/view/View;->debugIndent(I)Ljava/lang/String;
-Landroid/view/View;->DEBUG_CORNERS_COLOR:I
-Landroid/view/View;->DEBUG_CORNERS_SIZE_DIP:I
-Landroid/view/View;->DEBUG_DRAW:Z
-Landroid/view/View;->dipsToPixels(I)I
-Landroid/view/View;->DISABLED:I
-Landroid/view/View;->dispatchActivityResult(Ljava/lang/String;IILandroid/content/Intent;)Z
-Landroid/view/View;->dispatchCancelPendingInputEvents()V
-Landroid/view/View;->dispatchCollectViewAttributes(Landroid/view/View$AttachInfo;I)V
-Landroid/view/View;->dispatchDragEnterExitInPreN(Landroid/view/DragEvent;)Z
-Landroid/view/View;->dispatchGenericMotionEventInternal(Landroid/view/MotionEvent;)Z
-Landroid/view/View;->dispatchGetDisplayList()V
-Landroid/view/View;->dispatchMovedToDisplay(Landroid/view/Display;Landroid/content/res/Configuration;)V
-Landroid/view/View;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
-Landroid/view/View;->dispatchProvideStructureForAssistOrAutofill(Landroid/view/ViewStructure;ZI)V
-Landroid/view/View;->dispatchScreenStateChanged(I)V
-Landroid/view/View;->dispatchTooltipHoverEvent(Landroid/view/MotionEvent;)Z
-Landroid/view/View;->dispatchUnhandledKeyEvent(Landroid/view/KeyEvent;)Landroid/view/View;
-Landroid/view/View;->dispatchVisibilityAggregated(Z)Z
-Landroid/view/View;->DRAG_MASK:I
-Landroid/view/View;->draw(Landroid/graphics/Canvas;Landroid/view/ViewGroup;J)Z
-Landroid/view/View;->drawAutofilledHighlight(Landroid/graphics/Canvas;)V
-Landroid/view/View;->drawDefaultFocusHighlight(Landroid/graphics/Canvas;)V
-Landroid/view/View;->DRAWING_CACHE_ENABLED:I
-Landroid/view/View;->DRAWING_CACHE_QUALITY_FLAGS:[I
-Landroid/view/View;->DRAWING_CACHE_QUALITY_MASK:I
-Landroid/view/View;->DRAW_MASK:I
-Landroid/view/View;->dumpFlag(Ljava/util/HashMap;Ljava/lang/String;I)V
-Landroid/view/View;->dumpFlags()V
-Landroid/view/View;->DUPLICATE_PARENT_STATE:I
-Landroid/view/View;->ENABLED:I
-Landroid/view/View;->ENABLED_MASK:I
-Landroid/view/View;->encode(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/view/View;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/view/View;->FADING_EDGE_HORIZONTAL:I
-Landroid/view/View;->FADING_EDGE_MASK:I
-Landroid/view/View;->FADING_EDGE_NONE:I
-Landroid/view/View;->FADING_EDGE_VERTICAL:I
-Landroid/view/View;->FILTER_TOUCHES_WHEN_OBSCURED:I
-Landroid/view/View;->findAccessibilityFocusHost(Z)Landroid/view/View;
-Landroid/view/View;->findFrameMetricsObserver(Landroid/view/Window$OnFrameMetricsAvailableListener;)Landroid/view/FrameMetricsObserver;
-Landroid/view/View;->findKeyboardNavigationCluster()Landroid/view/View;
-Landroid/view/View;->findLabelForView(Landroid/view/View;I)Landroid/view/View;
-Landroid/view/View;->findNamedViews(Ljava/util/Map;)V
-Landroid/view/View;->findUserSetNextFocus(Landroid/view/View;I)Landroid/view/View;
-Landroid/view/View;->findUserSetNextKeyboardNavigationCluster(Landroid/view/View;I)Landroid/view/View;
-Landroid/view/View;->findViewByAccessibilityIdTraversal(I)Landroid/view/View;
-Landroid/view/View;->findViewByAutofillIdTraversal(I)Landroid/view/View;
-Landroid/view/View;->findViewByPredicate(Ljava/util/function/Predicate;)Landroid/view/View;
-Landroid/view/View;->findViewByPredicateInsideOut(Landroid/view/View;Ljava/util/function/Predicate;)Landroid/view/View;
-Landroid/view/View;->findViewByPredicateTraversal(Ljava/util/function/Predicate;Landroid/view/View;)Landroid/view/View;
-Landroid/view/View;->findViewInsideOutShouldExist(Landroid/view/View;I)Landroid/view/View;
-Landroid/view/View;->findViewTraversal(I)Landroid/view/View;
-Landroid/view/View;->findViewWithTagTraversal(Ljava/lang/Object;)Landroid/view/View;
-Landroid/view/View;->FIND_VIEWS_WITH_ACCESSIBILITY_NODE_PROVIDERS:I
-Landroid/view/View;->fitSystemWindowsInt(Landroid/graphics/Rect;)Z
-Landroid/view/View;->FITS_SYSTEM_WINDOWS:I
-Landroid/view/View;->FOCUSABLE_IN_TOUCH_MODE:I
-Landroid/view/View;->FOCUSABLE_MASK:I
-Landroid/view/View;->getAccessibilitySelectionEnd()I
-Landroid/view/View;->getAccessibilitySelectionStart()I
-Landroid/view/View;->getAccessibilityWindowId()I
-Landroid/view/View;->getAttributeMap()Landroid/util/SparseArray;
-Landroid/view/View;->getAutofilledDrawable()Landroid/graphics/drawable/Drawable;
-Landroid/view/View;->getAutofillManager()Landroid/view/autofill/AutofillManager;
-Landroid/view/View;->getAutofillViewId()I
-Landroid/view/View;->getDebugPaint()Landroid/graphics/Paint;
-Landroid/view/View;->getDefaultFocusHighlightDrawable()Landroid/graphics/drawable/Drawable;
-Landroid/view/View;->getDrawableRenderNode(Landroid/graphics/drawable/Drawable;Landroid/view/RenderNode;)Landroid/view/RenderNode;
-Landroid/view/View;->getFadeHeight(Z)I
-Landroid/view/View;->getFadeTop(Z)I
-Landroid/view/View;->getFinalAlpha()F
-Landroid/view/View;->getFocusableAttribute(Landroid/content/res/TypedArray;)I
-Landroid/view/View;->getHorizontalScrollBarBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-Landroid/view/View;->getHotspotBounds(Landroid/graphics/Rect;)V
-Landroid/view/View;->getOpticalInsets()Landroid/graphics/Insets;
-Landroid/view/View;->getOutsets(Landroid/graphics/Rect;)V
-Landroid/view/View;->getProjectionReceiver()Landroid/view/View;
-Landroid/view/View;->getRawLayoutDirection()I
-Landroid/view/View;->getRoundVerticalScrollBarBounds(Landroid/graphics/Rect;)V
-Landroid/view/View;->getRunQueue()Landroid/view/HandlerActionQueue;
-Landroid/view/View;->getScrollIndicatorBounds(Landroid/graphics/Rect;)V
-Landroid/view/View;->getSelfOrParentImportantForA11y()Landroid/view/View;
-Landroid/view/View;->getStraightVerticalScrollBarBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-Landroid/view/View;->getTooltip()Ljava/lang/CharSequence;
-Landroid/view/View;->getVerticalScrollBarBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-Landroid/view/View;->getWindow()Landroid/view/IWindow;
-Landroid/view/View;->handleFocusGainInternal(ILandroid/graphics/Rect;)V
-Landroid/view/View;->handleScrollBarDragging(Landroid/view/MotionEvent;)Z
-Landroid/view/View;->handleTooltipKey(Landroid/view/KeyEvent;)V
-Landroid/view/View;->handleTooltipUp()V
-Landroid/view/View;->hasAncestorThatBlocksDescendantFocus()Z
-Landroid/view/View;->hasDefaultFocus()Z
-Landroid/view/View;->hasFocusable(ZZ)Z
-Landroid/view/View;->hasHoveredChild()Z
-Landroid/view/View;->hasListenersForAccessibility()Z
-Landroid/view/View;->hasOpaqueScrollbars()Z
-Landroid/view/View;->hasParentWantsFocus()Z
-Landroid/view/View;->hasShadow()Z
-Landroid/view/View;->hasSize()Z
-Landroid/view/View;->hasUnhandledKeyListener()Z
-Landroid/view/View;->IMPORTANT_FOR_ACCESSIBILITY_DEFAULT:I
-Landroid/view/View;->initialAwakenScrollBars()Z
-Landroid/view/View;->initializeFadingEdgeInternal(Landroid/content/res/TypedArray;)V
-Landroid/view/View;->initializeScrollIndicatorsInternal()V
-Landroid/view/View;->initScrollCache()V
-Landroid/view/View;->invalidateInheritedLayoutMode(I)V
-Landroid/view/View;->invalidateInternal(IIIIZZ)V
-Landroid/view/View;->invalidateParentIfNeededAndWasQuickRejected()V
-Landroid/view/View;->isAccessibilityFocusedViewOrHost()Z
-Landroid/view/View;->isAccessibilityPane()Z
-Landroid/view/View;->isAccessibilitySelectionExtendable()Z
-Landroid/view/View;->isActionableForAccessibility()Z
-Landroid/view/View;->isAssistBlocked()Z
-Landroid/view/View;->isAutofillable()Z
-Landroid/view/View;->isAutofilled()Z
-Landroid/view/View;->isForegroundInsidePadding()Z
-Landroid/view/View;->isHoverable()Z
-Landroid/view/View;->isLayoutDirectionInherited()Z
-Landroid/view/View;->isLayoutModeOptical(Ljava/lang/Object;)Z
-Landroid/view/View;->isLayoutValid()Z
-Landroid/view/View;->isOnHorizontalScrollbarThumb(FF)Z
-Landroid/view/View;->isOnScrollbar(FF)Z
-Landroid/view/View;->isOnVerticalScrollbarThumb(FF)Z
-Landroid/view/View;->isProjectionReceiver()Z
-Landroid/view/View;->isRtlCompatibilityMode()Z
-Landroid/view/View;->isTextAlignmentInherited()Z
-Landroid/view/View;->isTextDirectionInherited()Z
-Landroid/view/View;->isVerticalScrollBarHidden()Z
-Landroid/view/View;->isViewIdGenerated(I)Z
-Landroid/view/View;->LAST_APP_AUTOFILL_ID:I
-Landroid/view/View;->LAYOUT_DIRECTION_DEFAULT:I
-Landroid/view/View;->LAYOUT_DIRECTION_FLAGS:[I
-Landroid/view/View;->LAYOUT_DIRECTION_RESOLVED_DEFAULT:I
-Landroid/view/View;->LAYOUT_DIRECTION_UNDEFINED:I
-Landroid/view/View;->LONG_CLICKABLE:I
-Landroid/view/View;->mAccessibilityCursorPosition:I
-Landroid/view/View;->mAccessibilityPaneTitle:Ljava/lang/CharSequence;
-Landroid/view/View;->mAccessibilityTraversalAfterId:I
-Landroid/view/View;->mAccessibilityTraversalBeforeId:I
-Landroid/view/View;->mapRectFromViewToScreenCoords(Landroid/graphics/RectF;Z)V
-Landroid/view/View;->mAttributeMap:Landroid/util/SparseArray;
-Landroid/view/View;->mAttributes:[Ljava/lang/String;
-Landroid/view/View;->mAutofillHints:[Ljava/lang/String;
-Landroid/view/View;->mAutofillId:Landroid/view/autofill/AutofillId;
-Landroid/view/View;->mAutofillViewId:I
-Landroid/view/View;->mBackgroundRenderNode:Landroid/view/RenderNode;
-Landroid/view/View;->mBackgroundSizeChanged:Z
-Landroid/view/View;->mBackgroundTint:Landroid/view/View$TintInfo;
-Landroid/view/View;->mClipBounds:Landroid/graphics/Rect;
-Landroid/view/View;->mContentDescription:Ljava/lang/CharSequence;
-Landroid/view/View;->mCurrentAnimation:Landroid/view/animation/Animation;
-Landroid/view/View;->mDebugViewAttributes:Z
-Landroid/view/View;->mDefaultFocusHighlight:Landroid/graphics/drawable/Drawable;
-Landroid/view/View;->mDefaultFocusHighlightCache:Landroid/graphics/drawable/Drawable;
-Landroid/view/View;->mDefaultFocusHighlightEnabled:Z
-Landroid/view/View;->mDefaultFocusHighlightSizeChanged:Z
-Landroid/view/View;->mDrawableState:[I
-Landroid/view/View;->mDrawingCacheBackgroundColor:I
-Landroid/view/View;->mFloatingTreeObserver:Landroid/view/ViewTreeObserver;
-Landroid/view/View;->mForegroundInfo:Landroid/view/View$ForegroundInfo;
-Landroid/view/View;->mFrameMetricsObservers:Ljava/util/ArrayList;
-Landroid/view/View;->mGhostView:Landroid/view/GhostView;
-Landroid/view/View;->mID:I
-Landroid/view/View;->mIgnoreNextUpEvent:Z
-Landroid/view/View;->mInContextButtonPress:Z
-Landroid/view/View;->mInputEventConsistencyVerifier:Landroid/view/InputEventConsistencyVerifier;
-Landroid/view/View;->mLabelForId:I
-Landroid/view/View;->mLastIsOpaque:Z
-Landroid/view/View;->mLayerPaint:Landroid/graphics/Paint;
-Landroid/view/View;->mLayerType:I
-Landroid/view/View;->mLayoutInsets:Landroid/graphics/Insets;
-Landroid/view/View;->mLeftPaddingDefined:Z
-Landroid/view/View;->mLongClickX:F
-Landroid/view/View;->mLongClickY:F
-Landroid/view/View;->mMatchIdPredicate:Landroid/view/View$MatchIdPredicate;
-Landroid/view/View;->mMatchLabelForPredicate:Landroid/view/View$MatchLabelForPredicate;
-Landroid/view/View;->mMeasureCache:Landroid/util/LongSparseLongArray;
-Landroid/view/View;->mNestedScrollingParent:Landroid/view/ViewParent;
-Landroid/view/View;->mNextClusterForwardId:I
-Landroid/view/View;->mNextFocusDownId:I
-Landroid/view/View;->mNextFocusForwardId:I
-Landroid/view/View;->mNextFocusLeftId:I
-Landroid/view/View;->mNextFocusRightId:I
-Landroid/view/View;->mNextFocusUpId:I
-Landroid/view/View;->mOldHeightMeasureSpec:I
-Landroid/view/View;->mOldWidthMeasureSpec:I
-Landroid/view/View;->mOutlineProvider:Landroid/view/ViewOutlineProvider;
-Landroid/view/View;->mOverlay:Landroid/view/ViewOverlay;
-Landroid/view/View;->mOverScrollMode:I
-Landroid/view/View;->mPendingCheckForLongPress:Landroid/view/View$CheckForLongPress;
-Landroid/view/View;->mPerformClick:Landroid/view/View$PerformClick;
-Landroid/view/View;->mPointerIcon:Landroid/view/PointerIcon;
-Landroid/view/View;->mRightPaddingDefined:Z
-Landroid/view/View;->mRoundScrollbarRenderer:Landroid/view/RoundScrollbarRenderer;
-Landroid/view/View;->mRunQueue:Landroid/view/HandlerActionQueue;
-Landroid/view/View;->mScrollIndicatorDrawable:Landroid/graphics/drawable/Drawable;
-Landroid/view/View;->mSendingHoverAccessibilityEvents:Z
-Landroid/view/View;->mSendViewScrolledAccessibilityEvent:Landroid/view/View$SendViewScrolledAccessibilityEvent;
-Landroid/view/View;->mStateListAnimator:Landroid/animation/StateListAnimator;
-Landroid/view/View;->mSystemUiVisibility:I
-Landroid/view/View;->mTempNestedScrollConsumed:[I
-Landroid/view/View;->mTooltipInfo:Landroid/view/View$TooltipInfo;
-Landroid/view/View;->mTouchDelegate:Landroid/view/TouchDelegate;
-Landroid/view/View;->mTouchSlop:I
-Landroid/view/View;->mTransientStateCount:I
-Landroid/view/View;->mTransitionName:Ljava/lang/String;
-Landroid/view/View;->mUnsetPressedState:Landroid/view/View$UnsetPressedState;
-Landroid/view/View;->mUserPaddingBottom:I
-Landroid/view/View;->mUserPaddingEnd:I
-Landroid/view/View;->mUserPaddingLeft:I
-Landroid/view/View;->mUserPaddingLeftInitial:I
-Landroid/view/View;->mUserPaddingRight:I
-Landroid/view/View;->mUserPaddingRightInitial:I
-Landroid/view/View;->mUserPaddingStart:I
-Landroid/view/View;->mVerticalScrollFactor:F
-Landroid/view/View;->mVisibilityChangeForAutofillHandler:Landroid/os/Handler;
-Landroid/view/View;->mWindowAttachCount:I
-Landroid/view/View;->NAVIGATION_BAR_TRANSLUCENT:I
-Landroid/view/View;->NAVIGATION_BAR_TRANSPARENT:I
-Landroid/view/View;->NAVIGATION_BAR_UNHIDE:I
-Landroid/view/View;->needGlobalAttributesUpdate(Z)V
-Landroid/view/View;->needRtlPropertiesResolution()Z
-Landroid/view/View;->notifyAutofillManagerOnClick()V
-Landroid/view/View;->notifyEnterOrExitForAutoFillIfNeeded(Z)V
-Landroid/view/View;->notifyGlobalFocusCleared(Landroid/view/View;)V
-Landroid/view/View;->numViewsForAccessibility(Landroid/view/View;)I
-Landroid/view/View;->onActivityResult(IILandroid/content/Intent;)V
-Landroid/view/View;->onDrawScrollIndicators(Landroid/graphics/Canvas;)V
-Landroid/view/View;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/view/View;->onMovedToDisplay(ILandroid/content/res/Configuration;)V
-Landroid/view/View;->onPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/view/View;->onProvideStructureForAssistOrAutofill(Landroid/view/ViewStructure;ZI)V
-Landroid/view/View;->onProvideVirtualStructureCompat(Landroid/view/ViewStructure;Z)V
-Landroid/view/View;->onResolveDrawables(I)V
-Landroid/view/View;->onUnhandledKeyEvent(Landroid/view/KeyEvent;)Z
-Landroid/view/View;->OPTIONAL_FITS_SYSTEM_WINDOWS:I
-Landroid/view/View;->outputDirtyFlags(Ljava/lang/String;ZI)V
-Landroid/view/View;->PARENT_SAVE_DISABLED:I
-Landroid/view/View;->PARENT_SAVE_DISABLED_MASK:I
-Landroid/view/View;->performButtonActionOnTouchDown(Landroid/view/MotionEvent;)Z
-Landroid/view/View;->performClickInternal()Z
-Landroid/view/View;->performCollectViewAttributes(Landroid/view/View$AttachInfo;I)V
-Landroid/view/View;->performLongClickInternal(FF)Z
-Landroid/view/View;->PFLAG2_ACCESSIBILITY_FOCUSED:I
-Landroid/view/View;->PFLAG2_ACCESSIBILITY_LIVE_REGION_MASK:I
-Landroid/view/View;->PFLAG2_ACCESSIBILITY_LIVE_REGION_SHIFT:I
-Landroid/view/View;->PFLAG2_DRAG_CAN_ACCEPT:I
-Landroid/view/View;->PFLAG2_DRAG_HOVERED:I
-Landroid/view/View;->PFLAG2_DRAWABLE_RESOLVED:I
-Landroid/view/View;->PFLAG2_HAS_TRANSIENT_STATE:I
-Landroid/view/View;->PFLAG2_IMPORTANT_FOR_ACCESSIBILITY_MASK:I
-Landroid/view/View;->PFLAG2_IMPORTANT_FOR_ACCESSIBILITY_SHIFT:I
-Landroid/view/View;->PFLAG2_LAYOUT_DIRECTION_MASK:I
-Landroid/view/View;->PFLAG2_LAYOUT_DIRECTION_MASK_SHIFT:I
-Landroid/view/View;->PFLAG2_LAYOUT_DIRECTION_RESOLVED:I
-Landroid/view/View;->PFLAG2_LAYOUT_DIRECTION_RESOLVED_MASK:I
-Landroid/view/View;->PFLAG2_LAYOUT_DIRECTION_RESOLVED_RTL:I
-Landroid/view/View;->PFLAG2_PADDING_RESOLVED:I
-Landroid/view/View;->PFLAG2_SUBTREE_ACCESSIBILITY_STATE_CHANGED:I
-Landroid/view/View;->PFLAG2_TEXT_ALIGNMENT_FLAGS:[I
-Landroid/view/View;->PFLAG2_TEXT_ALIGNMENT_MASK:I
-Landroid/view/View;->PFLAG2_TEXT_ALIGNMENT_MASK_SHIFT:I
-Landroid/view/View;->PFLAG2_TEXT_ALIGNMENT_RESOLVED:I
-Landroid/view/View;->PFLAG2_TEXT_ALIGNMENT_RESOLVED_DEFAULT:I
-Landroid/view/View;->PFLAG2_TEXT_ALIGNMENT_RESOLVED_MASK:I
-Landroid/view/View;->PFLAG2_TEXT_ALIGNMENT_RESOLVED_MASK_SHIFT:I
-Landroid/view/View;->PFLAG2_TEXT_DIRECTION_FLAGS:[I
-Landroid/view/View;->PFLAG2_TEXT_DIRECTION_MASK:I
-Landroid/view/View;->PFLAG2_TEXT_DIRECTION_MASK_SHIFT:I
-Landroid/view/View;->PFLAG2_TEXT_DIRECTION_RESOLVED:I
-Landroid/view/View;->PFLAG2_TEXT_DIRECTION_RESOLVED_DEFAULT:I
-Landroid/view/View;->PFLAG2_TEXT_DIRECTION_RESOLVED_MASK:I
-Landroid/view/View;->PFLAG2_TEXT_DIRECTION_RESOLVED_MASK_SHIFT:I
-Landroid/view/View;->PFLAG2_VIEW_QUICK_REJECTED:I
-Landroid/view/View;->PFLAG3_ACCESSIBILITY_HEADING:I
-Landroid/view/View;->PFLAG3_AGGREGATED_VISIBLE:I
-Landroid/view/View;->PFLAG3_APPLYING_INSETS:I
-Landroid/view/View;->PFLAG3_ASSIST_BLOCKED:I
-Landroid/view/View;->PFLAG3_AUTOFILLID_EXPLICITLY_SET:I
-Landroid/view/View;->PFLAG3_CALLED_SUPER:I
-Landroid/view/View;->PFLAG3_CLUSTER:I
-Landroid/view/View;->PFLAG3_FINGER_DOWN:I
-Landroid/view/View;->PFLAG3_FITTING_SYSTEM_WINDOWS:I
-Landroid/view/View;->PFLAG3_FOCUSED_BY_DEFAULT:I
-Landroid/view/View;->PFLAG3_HAS_OVERLAPPING_RENDERING_FORCED:I
-Landroid/view/View;->PFLAG3_IMPORTANT_FOR_AUTOFILL_MASK:I
-Landroid/view/View;->PFLAG3_IMPORTANT_FOR_AUTOFILL_SHIFT:I
-Landroid/view/View;->PFLAG3_IS_AUTOFILLED:I
-Landroid/view/View;->PFLAG3_IS_LAID_OUT:I
-Landroid/view/View;->PFLAG3_MEASURE_NEEDED_BEFORE_LAYOUT:I
-Landroid/view/View;->PFLAG3_NESTED_SCROLLING_ENABLED:I
-Landroid/view/View;->PFLAG3_NOTIFY_AUTOFILL_ENTER_ON_LAYOUT:I
-Landroid/view/View;->PFLAG3_NO_REVEAL_ON_FOCUS:I
-Landroid/view/View;->PFLAG3_OVERLAPPING_RENDERING_FORCED_VALUE:I
-Landroid/view/View;->PFLAG3_SCREEN_READER_FOCUSABLE:I
-Landroid/view/View;->PFLAG3_SCROLL_INDICATOR_BOTTOM:I
-Landroid/view/View;->PFLAG3_SCROLL_INDICATOR_END:I
-Landroid/view/View;->PFLAG3_SCROLL_INDICATOR_LEFT:I
-Landroid/view/View;->PFLAG3_SCROLL_INDICATOR_RIGHT:I
-Landroid/view/View;->PFLAG3_SCROLL_INDICATOR_START:I
-Landroid/view/View;->PFLAG3_SCROLL_INDICATOR_TOP:I
-Landroid/view/View;->PFLAG3_TEMPORARY_DETACH:I
-Landroid/view/View;->PFLAG3_VIEW_IS_ANIMATING_ALPHA:I
-Landroid/view/View;->PFLAG3_VIEW_IS_ANIMATING_TRANSFORM:I
-Landroid/view/View;->PFLAG_ACTIVATED:I
-Landroid/view/View;->PFLAG_ALPHA_SET:I
-Landroid/view/View;->PFLAG_ANIMATION_STARTED:I
-Landroid/view/View;->PFLAG_AWAKEN_SCROLL_BARS_ON_ATTACH:I
-Landroid/view/View;->PFLAG_CANCEL_NEXT_UP_EVENT:I
-Landroid/view/View;->PFLAG_DIRTY:I
-Landroid/view/View;->PFLAG_DIRTY_MASK:I
-Landroid/view/View;->PFLAG_DIRTY_OPAQUE:I
-Landroid/view/View;->PFLAG_DRAWABLE_STATE_DIRTY:I
-Landroid/view/View;->PFLAG_DRAWING_CACHE_VALID:I
-Landroid/view/View;->PFLAG_DRAWN:I
-Landroid/view/View;->PFLAG_DRAW_ANIMATION:I
-Landroid/view/View;->PFLAG_FOCUSED:I
-Landroid/view/View;->PFLAG_FORCE_LAYOUT:I
-Landroid/view/View;->PFLAG_HAS_BOUNDS:I
-Landroid/view/View;->PFLAG_HOVERED:I
-Landroid/view/View;->PFLAG_INVALIDATED:I
-Landroid/view/View;->PFLAG_IS_ROOT_NAMESPACE:I
-Landroid/view/View;->PFLAG_LAYOUT_REQUIRED:I
-Landroid/view/View;->PFLAG_MEASURED_DIMENSION_SET:I
-Landroid/view/View;->PFLAG_NOTIFY_AUTOFILL_MANAGER_ON_CLICK:I
-Landroid/view/View;->PFLAG_OPAQUE_BACKGROUND:I
-Landroid/view/View;->PFLAG_OPAQUE_MASK:I
-Landroid/view/View;->PFLAG_OPAQUE_SCROLLBARS:I
-Landroid/view/View;->PFLAG_PREPRESSED:I
-Landroid/view/View;->PFLAG_PRESSED:I
-Landroid/view/View;->PFLAG_REQUEST_TRANSPARENT_REGIONS:I
-Landroid/view/View;->PFLAG_SAVE_STATE_CALLED:I
-Landroid/view/View;->PFLAG_SCROLL_CONTAINER:I
-Landroid/view/View;->PFLAG_SCROLL_CONTAINER_ADDED:I
-Landroid/view/View;->PFLAG_SELECTED:I
-Landroid/view/View;->PFLAG_SKIP_DRAW:I
-Landroid/view/View;->PFLAG_WANTS_FOCUS:I
-Landroid/view/View;->pointInView(FF)Z
-Landroid/view/View;->populateAccessibilityNodeInfoDrawingOrderInParent(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/view/View;->populateVirtualStructure(Landroid/view/ViewStructure;Landroid/view/accessibility/AccessibilityNodeProvider;Landroid/view/accessibility/AccessibilityNodeInfo;Z)V
-Landroid/view/View;->POPULATING_ACCESSIBILITY_EVENT_TYPES:I
-Landroid/view/View;->postSendViewScrolledAccessibilityEventCallback(II)V
-Landroid/view/View;->printFlags(I)Ljava/lang/String;
-Landroid/view/View;->printPrivateFlags(I)Ljava/lang/String;
-Landroid/view/View;->PROVIDER_BACKGROUND:I
-Landroid/view/View;->PROVIDER_BOUNDS:I
-Landroid/view/View;->PROVIDER_NONE:I
-Landroid/view/View;->PROVIDER_PADDED_BOUNDS:I
-Landroid/view/View;->PUBLIC_STATUS_BAR_VISIBILITY_MASK:I
-Landroid/view/View;->rebuildOutline()V
-Landroid/view/View;->registerPendingFrameMetricsObservers()V
-Landroid/view/View;->removeFrameMetricsListener(Landroid/view/Window$OnFrameMetricsAvailableListener;)V
-Landroid/view/View;->removeLongPressCallback()V
-Landroid/view/View;->removeTapCallback()V
-Landroid/view/View;->removeUnsetPressCallback()V
-Landroid/view/View;->requestFocusNoSearch(ILandroid/graphics/Rect;)Z
-Landroid/view/View;->requestKeyboardShortcuts(Ljava/util/List;I)V
-Landroid/view/View;->resetPressedState()V
-Landroid/view/View;->resetResolvedDrawablesInternal()V
-Landroid/view/View;->resetResolvedPaddingInternal()V
-Landroid/view/View;->resetSubtreeAccessibilityStateChanged()V
-Landroid/view/View;->resolveDrawables()V
-Landroid/view/View;->resolveLayoutDirection()Z
-Landroid/view/View;->resolveLayoutParams()V
-Landroid/view/View;->resolveRtlPropertiesIfNeeded()Z
-Landroid/view/View;->resolveTextAlignment()Z
-Landroid/view/View;->resolveTextDirection()Z
-Landroid/view/View;->rootViewRequestFocus()Z
-Landroid/view/View;->sAcceptZeroSizeDragShadow:Z
-Landroid/view/View;->sAlwaysAssignFocus:Z
-Landroid/view/View;->sAlwaysRemeasureExactly:Z
-Landroid/view/View;->sanitizeFloatPropertyValue(FLjava/lang/String;)F
-Landroid/view/View;->sanitizeFloatPropertyValue(FLjava/lang/String;FF)F
-Landroid/view/View;->sAutoFocusableOffUIThreadWontNotifyParents:Z
-Landroid/view/View;->saveAttributeData(Landroid/util/AttributeSet;Landroid/content/res/TypedArray;)V
-Landroid/view/View;->SAVE_DISABLED:I
-Landroid/view/View;->SAVE_DISABLED_MASK:I
-Landroid/view/View;->sCanFocusZeroSized:Z
-Landroid/view/View;->sCascadedDragDrop:Z
-Landroid/view/View;->sCompatibilityDone:Z
-Landroid/view/View;->SCROLLBARS_HORIZONTAL:I
-Landroid/view/View;->SCROLLBARS_INSET_MASK:I
-Landroid/view/View;->SCROLLBARS_MASK:I
-Landroid/view/View;->SCROLLBARS_NONE:I
-Landroid/view/View;->SCROLLBARS_OUTSIDE_MASK:I
-Landroid/view/View;->SCROLLBARS_STYLE_MASK:I
-Landroid/view/View;->SCROLLBARS_VERTICAL:I
-Landroid/view/View;->SCROLL_INDICATORS_NONE:I
-Landroid/view/View;->SCROLL_INDICATORS_PFLAG3_MASK:I
-Landroid/view/View;->SCROLL_INDICATORS_TO_PFLAGS3_LSHIFT:I
-Landroid/view/View;->sDebugPaint:Landroid/graphics/Paint;
-Landroid/view/View;->sendAccessibilityEventInternal(I)V
-Landroid/view/View;->sendAccessibilityEventUncheckedInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/view/View;->sendAccessibilityHoverEvent(I)V
-Landroid/view/View;->sendViewTextTraversedAtGranularityEvent(IIII)V
-Landroid/view/View;->setAccessibilitySelection(II)V
-Landroid/view/View;->setAlphaInternal(F)V
-Landroid/view/View;->setBackgroundBounds()V
-Landroid/view/View;->setBackgroundRenderNodeProperties(Landroid/view/RenderNode;)V
-Landroid/view/View;->setDefaultFocusHighlight(Landroid/graphics/drawable/Drawable;)V
-Landroid/view/View;->setDisplayListProperties(Landroid/view/RenderNode;)V
-Landroid/view/View;->setFocusedInCluster(Landroid/view/View;)V
-Landroid/view/View;->setKeyedTag(ILjava/lang/Object;)V
-Landroid/view/View;->setMeasuredDimensionRaw(II)V
-Landroid/view/View;->setNotifyAutofillManagerOnClick(Z)V
-Landroid/view/View;->setOpticalFrame(IIII)Z
-Landroid/view/View;->setOpticalInsets(Landroid/graphics/Insets;)V
-Landroid/view/View;->setOutlineProviderFromAttribute(I)V
-Landroid/view/View;->setPressed(ZFF)V
-Landroid/view/View;->setRevealClip(ZFFF)V
-Landroid/view/View;->setTransitionVisibility(I)V
-Landroid/view/View;->sHasFocusableExcludeAutoFocusable:Z
-Landroid/view/View;->shouldDrawRoundScrollbar()Z
-Landroid/view/View;->showHoverTooltip()Z
-Landroid/view/View;->showLongClickTooltip(II)Z
-Landroid/view/View;->showTooltip(IIZ)Z
-Landroid/view/View;->sIgnoreMeasureCache:Z
-Landroid/view/View;->sizeChange(IIII)V
-Landroid/view/View;->skipInvalidate()Z
-Landroid/view/View;->sLayoutParamsAlwaysChanged:Z
-Landroid/view/View;->sNextAccessibilityViewId:I
-Landroid/view/View;->sNextGeneratedId:Ljava/util/concurrent/atomic/AtomicInteger;
-Landroid/view/View;->sPreserveMarginParamsInLayoutParamConversion:Z
-Landroid/view/View;->startMovingTask(FF)Z
-Landroid/view/View;->STATUS_BAR_DISABLE_CLOCK:I
-Landroid/view/View;->STATUS_BAR_DISABLE_NOTIFICATION_ALERTS:I
-Landroid/view/View;->STATUS_BAR_DISABLE_NOTIFICATION_ICONS:I
-Landroid/view/View;->STATUS_BAR_DISABLE_NOTIFICATION_TICKER:I
-Landroid/view/View;->STATUS_BAR_DISABLE_SEARCH:I
-Landroid/view/View;->STATUS_BAR_DISABLE_SYSTEM_INFO:I
-Landroid/view/View;->STATUS_BAR_TRANSIENT:I
-Landroid/view/View;->STATUS_BAR_TRANSLUCENT:I
-Landroid/view/View;->STATUS_BAR_TRANSPARENT:I
-Landroid/view/View;->STATUS_BAR_UNHIDE:I
-Landroid/view/View;->sTextureViewIgnoresDrawableSetters:Z
-Landroid/view/View;->sThreadLocal:Ljava/lang/ThreadLocal;
-Landroid/view/View;->sThrowOnInvalidFloatProperties:Z
-Landroid/view/View;->sUseBrokenMakeMeasureSpec:Z
-Landroid/view/View;->sUseDefaultFocusHighlight:Z
-Landroid/view/View;->sUseZeroUnspecifiedMeasureSpec:Z
-Landroid/view/View;->switchDefaultFocusHighlight()V
-Landroid/view/View;->SYSTEM_UI_CLEARABLE_FLAGS:I
-Landroid/view/View;->SYSTEM_UI_RESERVED_LEGACY1:I
-Landroid/view/View;->SYSTEM_UI_RESERVED_LEGACY2:I
-Landroid/view/View;->SYSTEM_UI_TRANSPARENT:I
-Landroid/view/View;->TEXT_ALIGNMENT_DEFAULT:I
-Landroid/view/View;->TEXT_ALIGNMENT_RESOLVED_DEFAULT:I
-Landroid/view/View;->TEXT_DIRECTION_DEFAULT:I
-Landroid/view/View;->TEXT_DIRECTION_RESOLVED_DEFAULT:I
-Landroid/view/View;->TOOLTIP:I
-Landroid/view/View;->transformFromViewToWindowSpace([I)V
-Landroid/view/View;->transformRect(Landroid/graphics/Rect;)V
-Landroid/view/View;->traverseAtGranularity(IZZ)Z
-Landroid/view/View;->UNDEFINED_PADDING:I
-Landroid/view/View;->unFocus(Landroid/view/View;)V
-Landroid/view/View;->updateFocusedInCluster(Landroid/view/View;I)V
-Landroid/view/View;->updateLocalSystemUiVisibility(II)Z
-Landroid/view/View;->updatePflags3AndNotifyA11yIfChanged(IZ)V
-Landroid/view/View;->VISIBILITY_FLAGS:[I
-Landroid/view/View;->VISIBILITY_MASK:I
-Landroid/view/View;->WILL_NOT_CACHE_DRAWING:I
-Landroid/view/View;->WILL_NOT_DRAW:I
-Landroid/view/ViewAnimationUtils;-><init>()V
-Landroid/view/ViewConfiguration;-><init>(Landroid/content/Context;)V
-Landroid/view/ViewConfiguration;->A11Y_SHORTCUT_KEY_TIMEOUT:I
-Landroid/view/ViewConfiguration;->A11Y_SHORTCUT_KEY_TIMEOUT_AFTER_CONFIRMATION:I
-Landroid/view/ViewConfiguration;->ACTION_MODE_HIDE_DURATION_DEFAULT:J
-Landroid/view/ViewConfiguration;->DEFAULT_LONG_PRESS_TIMEOUT:I
-Landroid/view/ViewConfiguration;->DEFAULT_MULTI_PRESS_TIMEOUT:I
-Landroid/view/ViewConfiguration;->DOUBLE_TAP_MIN_TIME:I
-Landroid/view/ViewConfiguration;->DOUBLE_TAP_SLOP:I
-Landroid/view/ViewConfiguration;->DOUBLE_TAP_TIMEOUT:I
-Landroid/view/ViewConfiguration;->DOUBLE_TAP_TOUCH_SLOP:I
-Landroid/view/ViewConfiguration;->EDGE_SLOP:I
-Landroid/view/ViewConfiguration;->FADING_EDGE_LENGTH:I
-Landroid/view/ViewConfiguration;->getAccessibilityShortcutKeyTimeout()J
-Landroid/view/ViewConfiguration;->getAccessibilityShortcutKeyTimeoutAfterConfirmation()J
-Landroid/view/ViewConfiguration;->getHoverTapTimeout()I
-Landroid/view/ViewConfiguration;->getMultiPressTimeout()I
-Landroid/view/ViewConfiguration;->getScaledMinScrollbarTouchTarget()I
-Landroid/view/ViewConfiguration;->getSendRecurringAccessibilityEventsInterval()J
-Landroid/view/ViewConfiguration;->GLOBAL_ACTIONS_KEY_TIMEOUT:I
-Landroid/view/ViewConfiguration;->HAS_PERMANENT_MENU_KEY_AUTODETECT:I
-Landroid/view/ViewConfiguration;->HAS_PERMANENT_MENU_KEY_FALSE:I
-Landroid/view/ViewConfiguration;->HAS_PERMANENT_MENU_KEY_TRUE:I
-Landroid/view/ViewConfiguration;->HORIZONTAL_SCROLL_FACTOR:F
-Landroid/view/ViewConfiguration;->HOVER_TAP_SLOP:I
-Landroid/view/ViewConfiguration;->HOVER_TAP_TIMEOUT:I
-Landroid/view/ViewConfiguration;->HOVER_TOOLTIP_HIDE_SHORT_TIMEOUT:I
-Landroid/view/ViewConfiguration;->HOVER_TOOLTIP_HIDE_TIMEOUT:I
-Landroid/view/ViewConfiguration;->HOVER_TOOLTIP_SHOW_TIMEOUT:I
-Landroid/view/ViewConfiguration;->JUMP_TAP_TIMEOUT:I
-Landroid/view/ViewConfiguration;->KEY_REPEAT_DELAY:I
-Landroid/view/ViewConfiguration;->LONG_PRESS_TOOLTIP_HIDE_TIMEOUT:I
-Landroid/view/ViewConfiguration;->MAXIMUM_DRAWING_CACHE_SIZE:I
-Landroid/view/ViewConfiguration;->MAXIMUM_FLING_VELOCITY:I
-Landroid/view/ViewConfiguration;->mDoubleTapSlop:I
-Landroid/view/ViewConfiguration;->mDoubleTapTouchSlop:I
-Landroid/view/ViewConfiguration;->mEdgeSlop:I
-Landroid/view/ViewConfiguration;->mFadingEdgeLength:I
-Landroid/view/ViewConfiguration;->mGlobalActionsKeyTimeout:J
-Landroid/view/ViewConfiguration;->mHorizontalScrollFactor:F
-Landroid/view/ViewConfiguration;->mHoverSlop:I
-Landroid/view/ViewConfiguration;->MINIMUM_FLING_VELOCITY:I
-Landroid/view/ViewConfiguration;->MIN_SCROLLBAR_TOUCH_TARGET:I
-Landroid/view/ViewConfiguration;->mMaximumDrawingCacheSize:I
-Landroid/view/ViewConfiguration;->mMaximumFlingVelocity:I
-Landroid/view/ViewConfiguration;->mMinimumFlingVelocity:I
-Landroid/view/ViewConfiguration;->mMinScrollbarTouchTarget:I
-Landroid/view/ViewConfiguration;->mOverflingDistance:I
-Landroid/view/ViewConfiguration;->mOverscrollDistance:I
-Landroid/view/ViewConfiguration;->mPagingTouchSlop:I
-Landroid/view/ViewConfiguration;->mScrollbarSize:I
-Landroid/view/ViewConfiguration;->mShowMenuShortcutsWhenKeyboardPresent:Z
-Landroid/view/ViewConfiguration;->mTouchSlop:I
-Landroid/view/ViewConfiguration;->mVerticalScrollFactor:F
-Landroid/view/ViewConfiguration;->mWindowTouchSlop:I
-Landroid/view/ViewConfiguration;->OVERFLING_DISTANCE:I
-Landroid/view/ViewConfiguration;->OVERSCROLL_DISTANCE:I
-Landroid/view/ViewConfiguration;->PAGING_TOUCH_SLOP:I
-Landroid/view/ViewConfiguration;->PRESSED_STATE_DURATION:I
-Landroid/view/ViewConfiguration;->SCROLL_BAR_DEFAULT_DELAY:I
-Landroid/view/ViewConfiguration;->SCROLL_BAR_FADE_DURATION:I
-Landroid/view/ViewConfiguration;->SCROLL_BAR_SIZE:I
-Landroid/view/ViewConfiguration;->SEND_RECURRING_ACCESSIBILITY_EVENTS_INTERVAL_MILLIS:J
-Landroid/view/ViewConfiguration;->TAP_TIMEOUT:I
-Landroid/view/ViewConfiguration;->TOUCH_SLOP:I
-Landroid/view/ViewConfiguration;->VERTICAL_SCROLL_FACTOR:F
-Landroid/view/ViewConfiguration;->WINDOW_TOUCH_SLOP:I
-Landroid/view/ViewConfiguration;->ZOOM_CONTROLS_TIMEOUT:I
-Landroid/view/ViewDebug$CanvasProvider;
-Landroid/view/ViewDebug$CanvasProvider;->createBitmap()Landroid/graphics/Bitmap;
-Landroid/view/ViewDebug$CanvasProvider;->getCanvas(Landroid/view/View;II)Landroid/graphics/Canvas;
-Landroid/view/ViewDebug$HardwareCanvasProvider;
-Landroid/view/ViewDebug$HardwareCanvasProvider;-><init>()V
-Landroid/view/ViewDebug$HardwareCanvasProvider;->createBitmap()Landroid/graphics/Bitmap;
-Landroid/view/ViewDebug$HardwareCanvasProvider;->getCanvas(Landroid/view/View;II)Landroid/graphics/Canvas;
-Landroid/view/ViewDebug$HardwareCanvasProvider;->mPicture:Landroid/graphics/Picture;
-Landroid/view/ViewDebug$HierarchyHandler;
-Landroid/view/ViewDebug$HierarchyHandler;->dumpViewHierarchyWithProperties(Ljava/io/BufferedWriter;I)V
-Landroid/view/ViewDebug$HierarchyHandler;->findHierarchyView(Ljava/lang/String;I)Landroid/view/View;
-Landroid/view/ViewDebug$HierarchyTraceType;-><init>()V
-Landroid/view/ViewDebug$RecyclerTraceType;-><init>()V
-Landroid/view/ViewDebug$SoftwareCanvasProvider;
-Landroid/view/ViewDebug$SoftwareCanvasProvider;-><init>()V
-Landroid/view/ViewDebug$SoftwareCanvasProvider;->createBitmap()Landroid/graphics/Bitmap;
-Landroid/view/ViewDebug$SoftwareCanvasProvider;->getCanvas(Landroid/view/View;II)Landroid/graphics/Canvas;
-Landroid/view/ViewDebug$SoftwareCanvasProvider;->mBitmap:Landroid/graphics/Bitmap;
-Landroid/view/ViewDebug$SoftwareCanvasProvider;->mCanvas:Landroid/graphics/Canvas;
-Landroid/view/ViewDebug$SoftwareCanvasProvider;->mEnabledHwBitmapsInSwMode:Z
-Landroid/view/ViewDebug$ViewOperation;
-Landroid/view/ViewDebug$ViewOperation;->pre()V
-Landroid/view/ViewDebug$ViewOperation;->run()V
-Landroid/view/ViewDebug;->callMethodOnAppropriateTheadBlocking(Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/view/ViewDebug;->capture(Landroid/view/View;Ljava/io/OutputStream;Landroid/view/View;)V
-Landroid/view/ViewDebug;->capture(Landroid/view/View;Ljava/io/OutputStream;Ljava/lang/String;)V
-Landroid/view/ViewDebug;->capturedViewExportFields(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/String;
-Landroid/view/ViewDebug;->capturedViewExportMethods(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/String;
-Landroid/view/ViewDebug;->capturedViewGetPropertyFields(Ljava/lang/Class;)[Ljava/lang/reflect/Field;
-Landroid/view/ViewDebug;->capturedViewGetPropertyMethods(Ljava/lang/Class;)[Ljava/lang/reflect/Method;
-Landroid/view/ViewDebug;->captureLayers(Landroid/view/View;Ljava/io/DataOutputStream;)V
-Landroid/view/ViewDebug;->captureViewLayer(Landroid/view/View;Ljava/io/DataOutputStream;Z)V
-Landroid/view/ViewDebug;->CAPTURE_TIMEOUT:I
-Landroid/view/ViewDebug;->DEBUG_DRAG:Z
-Landroid/view/ViewDebug;->DEBUG_POSITIONING:Z
-Landroid/view/ViewDebug;->dumpTheme(Landroid/view/View;Ljava/io/OutputStream;)V
-Landroid/view/ViewDebug;->dumpv2(Landroid/view/View;Ljava/io/ByteArrayOutputStream;)V
-Landroid/view/ViewDebug;->dumpView(Landroid/content/Context;Landroid/view/View;Ljava/io/BufferedWriter;IZ)Z
-Landroid/view/ViewDebug;->dumpViewHierarchy(Landroid/content/Context;Landroid/view/ViewGroup;Ljava/io/BufferedWriter;IZZ)V
-Landroid/view/ViewDebug;->dumpViewProperties(Landroid/content/Context;Ljava/lang/Object;Ljava/io/BufferedWriter;)V
-Landroid/view/ViewDebug;->dumpViewProperties(Landroid/content/Context;Ljava/lang/Object;Ljava/io/BufferedWriter;Ljava/lang/String;)V
-Landroid/view/ViewDebug;->exportFields(Landroid/content/Context;Ljava/lang/Object;Ljava/io/BufferedWriter;Ljava/lang/Class;Ljava/lang/String;)V
-Landroid/view/ViewDebug;->exportMethods(Landroid/content/Context;Ljava/lang/Object;Ljava/io/BufferedWriter;Ljava/lang/Class;Ljava/lang/String;)V
-Landroid/view/ViewDebug;->exportUnrolledArray(Landroid/content/Context;Ljava/io/BufferedWriter;Landroid/view/ViewDebug$ExportedProperty;[ILjava/lang/String;Ljava/lang/String;)V
-Landroid/view/ViewDebug;->exportUnrolledFlags(Ljava/io/BufferedWriter;[Landroid/view/ViewDebug$FlagToString;ILjava/lang/String;)V
-Landroid/view/ViewDebug;->findView(Landroid/view/View;Ljava/lang/String;)Landroid/view/View;
-Landroid/view/ViewDebug;->findView(Landroid/view/ViewGroup;Ljava/lang/String;I)Landroid/view/View;
-Landroid/view/ViewDebug;->flagsToString(Ljava/lang/Class;Ljava/lang/String;I)Ljava/lang/String;
-Landroid/view/ViewDebug;->formatIntToHexString(I)Ljava/lang/String;
-Landroid/view/ViewDebug;->getExportedPropertyFields(Ljava/lang/Class;)[Ljava/lang/reflect/Field;
-Landroid/view/ViewDebug;->getExportedPropertyMethods(Ljava/lang/Class;)[Ljava/lang/reflect/Method;
-Landroid/view/ViewDebug;->getFlagMapping(Ljava/lang/Class;Ljava/lang/String;)[Landroid/view/ViewDebug$FlagToString;
-Landroid/view/ViewDebug;->getMapping(Ljava/lang/Class;Ljava/lang/String;)[Landroid/view/ViewDebug$IntToString;
-Landroid/view/ViewDebug;->getStyleAttributesDump(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;)[Ljava/lang/String;
-Landroid/view/ViewDebug;->intToString(Ljava/lang/Class;Ljava/lang/String;I)Ljava/lang/String;
-Landroid/view/ViewDebug;->invalidate(Landroid/view/View;Ljava/lang/String;)V
-Landroid/view/ViewDebug;->invokeViewMethod(Landroid/view/View;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
-Landroid/view/ViewDebug;->isRequestedView(Landroid/view/View;Ljava/lang/String;I)Z
-Landroid/view/ViewDebug;->mCapturedViewFieldsForClasses:Ljava/util/HashMap;
-Landroid/view/ViewDebug;->mCapturedViewMethodsForClasses:Ljava/util/HashMap;
-Landroid/view/ViewDebug;->outputDisplayList(Landroid/view/View;Landroid/view/View;)V
-Landroid/view/ViewDebug;->outputDisplayList(Landroid/view/View;Ljava/lang/String;)V
-Landroid/view/ViewDebug;->performViewCapture(Landroid/view/View;Z)Landroid/graphics/Bitmap;
-Landroid/view/ViewDebug;->profile(Landroid/view/View;Ljava/io/OutputStream;Ljava/lang/String;)V
-Landroid/view/ViewDebug;->profileViewAndChildren(Landroid/view/View;Landroid/view/RenderNode;Ljava/io/BufferedWriter;Z)V
-Landroid/view/ViewDebug;->profileViewAndChildren(Landroid/view/View;Ljava/io/BufferedWriter;)V
-Landroid/view/ViewDebug;->profileViewDraw(Landroid/view/View;Landroid/view/RenderNode;)J
-Landroid/view/ViewDebug;->profileViewLayout(Landroid/view/View;)J
-Landroid/view/ViewDebug;->profileViewMeasure(Landroid/view/View;)J
-Landroid/view/ViewDebug;->profileViewOperation(Landroid/view/View;Landroid/view/ViewDebug$ViewOperation;)J
-Landroid/view/ViewDebug;->REMOTE_COMMAND_CAPTURE:Ljava/lang/String;
-Landroid/view/ViewDebug;->REMOTE_COMMAND_CAPTURE_LAYERS:Ljava/lang/String;
-Landroid/view/ViewDebug;->REMOTE_COMMAND_DUMP:Ljava/lang/String;
-Landroid/view/ViewDebug;->REMOTE_COMMAND_DUMP_THEME:Ljava/lang/String;
-Landroid/view/ViewDebug;->REMOTE_COMMAND_INVALIDATE:Ljava/lang/String;
-Landroid/view/ViewDebug;->REMOTE_COMMAND_OUTPUT_DISPLAYLIST:Ljava/lang/String;
-Landroid/view/ViewDebug;->REMOTE_COMMAND_REQUEST_LAYOUT:Ljava/lang/String;
-Landroid/view/ViewDebug;->REMOTE_PROFILE:Ljava/lang/String;
-Landroid/view/ViewDebug;->requestLayout(Landroid/view/View;Ljava/lang/String;)V
-Landroid/view/ViewDebug;->resolveId(Landroid/content/Context;I)Ljava/lang/Object;
-Landroid/view/ViewDebug;->sAnnotations:Ljava/util/HashMap;
-Landroid/view/ViewDebug;->setLayoutParameter(Landroid/view/View;Ljava/lang/String;I)V
-Landroid/view/ViewDebug;->sFieldsForClasses:Ljava/util/HashMap;
-Landroid/view/ViewDebug;->sMethodsForClasses:Ljava/util/HashMap;
-Landroid/view/ViewDebug;->writeEntry(Ljava/io/BufferedWriter;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
-Landroid/view/ViewDebug;->writeValue(Ljava/io/BufferedWriter;Ljava/lang/Object;)V
-Landroid/view/ViewGroup$ChildListForAccessibility;
-Landroid/view/ViewGroup$ChildListForAccessibility;-><init>()V
-Landroid/view/ViewGroup$ChildListForAccessibility;->clear()V
-Landroid/view/ViewGroup$ChildListForAccessibility;->getChildAt(I)Landroid/view/View;
-Landroid/view/ViewGroup$ChildListForAccessibility;->getChildCount()I
-Landroid/view/ViewGroup$ChildListForAccessibility;->init(Landroid/view/ViewGroup;Z)V
-Landroid/view/ViewGroup$ChildListForAccessibility;->MAX_POOL_SIZE:I
-Landroid/view/ViewGroup$ChildListForAccessibility;->mChildren:Ljava/util/ArrayList;
-Landroid/view/ViewGroup$ChildListForAccessibility;->mHolders:Ljava/util/ArrayList;
-Landroid/view/ViewGroup$ChildListForAccessibility;->obtain(Landroid/view/ViewGroup;Z)Landroid/view/ViewGroup$ChildListForAccessibility;
-Landroid/view/ViewGroup$ChildListForAccessibility;->recycle()V
-Landroid/view/ViewGroup$ChildListForAccessibility;->sort(Ljava/util/ArrayList;)V
-Landroid/view/ViewGroup$ChildListForAccessibility;->sPool:Landroid/util/Pools$SynchronizedPool;
-Landroid/view/ViewGroup$ChildListForAutoFill;
-Landroid/view/ViewGroup$ChildListForAutoFill;-><init>()V
-Landroid/view/ViewGroup$ChildListForAutoFill;->MAX_POOL_SIZE:I
-Landroid/view/ViewGroup$ChildListForAutoFill;->obtain()Landroid/view/ViewGroup$ChildListForAutoFill;
-Landroid/view/ViewGroup$ChildListForAutoFill;->recycle()V
-Landroid/view/ViewGroup$ChildListForAutoFill;->sPool:Landroid/util/Pools$SimplePool;
-Landroid/view/ViewGroup$HoverTarget;
-Landroid/view/ViewGroup$HoverTarget;-><init>()V
-Landroid/view/ViewGroup$HoverTarget;->child:Landroid/view/View;
-Landroid/view/ViewGroup$HoverTarget;->MAX_RECYCLED:I
-Landroid/view/ViewGroup$HoverTarget;->next:Landroid/view/ViewGroup$HoverTarget;
-Landroid/view/ViewGroup$HoverTarget;->obtain(Landroid/view/View;)Landroid/view/ViewGroup$HoverTarget;
-Landroid/view/ViewGroup$HoverTarget;->recycle()V
-Landroid/view/ViewGroup$HoverTarget;->sRecycleBin:Landroid/view/ViewGroup$HoverTarget;
-Landroid/view/ViewGroup$HoverTarget;->sRecycledCount:I
-Landroid/view/ViewGroup$HoverTarget;->sRecycleLock:Ljava/lang/Object;
-Landroid/view/ViewGroup$LayoutParams;->debug(Ljava/lang/String;)Ljava/lang/String;
-Landroid/view/ViewGroup$LayoutParams;->encode(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/view/ViewGroup$LayoutParams;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/view/ViewGroup$LayoutParams;->onDebugDraw(Landroid/view/View;Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
-Landroid/view/ViewGroup$LayoutParams;->sizeToString(I)Ljava/lang/String;
-Landroid/view/ViewGroup$MarginLayoutParams;->copyMarginsFrom(Landroid/view/ViewGroup$MarginLayoutParams;)V
-Landroid/view/ViewGroup$MarginLayoutParams;->DEFAULT_MARGIN_RELATIVE:I
-Landroid/view/ViewGroup$MarginLayoutParams;->DEFAULT_MARGIN_RESOLVED:I
-Landroid/view/ViewGroup$MarginLayoutParams;->doResolveMargins()V
-Landroid/view/ViewGroup$MarginLayoutParams;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/view/ViewGroup$MarginLayoutParams;->isLayoutRtl()Z
-Landroid/view/ViewGroup$MarginLayoutParams;->LAYOUT_DIRECTION_MASK:I
-Landroid/view/ViewGroup$MarginLayoutParams;->LEFT_MARGIN_UNDEFINED_MASK:I
-Landroid/view/ViewGroup$MarginLayoutParams;->mMarginFlags:B
-Landroid/view/ViewGroup$MarginLayoutParams;->NEED_RESOLUTION_MASK:I
-Landroid/view/ViewGroup$MarginLayoutParams;->onDebugDraw(Landroid/view/View;Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
-Landroid/view/ViewGroup$MarginLayoutParams;->RIGHT_MARGIN_UNDEFINED_MASK:I
-Landroid/view/ViewGroup$MarginLayoutParams;->RTL_COMPATIBILITY_MODE_MASK:I
-Landroid/view/ViewGroup$MarginLayoutParams;->UNDEFINED_MARGIN:I
-Landroid/view/ViewGroup$TouchTarget;
-Landroid/view/ViewGroup$TouchTarget;->ALL_POINTER_IDS:I
-Landroid/view/ViewGroup$TouchTarget;->MAX_RECYCLED:I
-Landroid/view/ViewGroup$TouchTarget;->next:Landroid/view/ViewGroup$TouchTarget;
-Landroid/view/ViewGroup$TouchTarget;->obtain(Landroid/view/View;I)Landroid/view/ViewGroup$TouchTarget;
-Landroid/view/ViewGroup$TouchTarget;->pointerIdBits:I
-Landroid/view/ViewGroup$TouchTarget;->recycle()V
-Landroid/view/ViewGroup$TouchTarget;->sRecycleBin:Landroid/view/ViewGroup$TouchTarget;
-Landroid/view/ViewGroup$TouchTarget;->sRecycledCount:I
-Landroid/view/ViewGroup$TouchTarget;->sRecycleLock:Ljava/lang/Object;
-Landroid/view/ViewGroup$ViewLocationHolder;
-Landroid/view/ViewGroup$ViewLocationHolder;-><init>()V
-Landroid/view/ViewGroup$ViewLocationHolder;->clear()V
-Landroid/view/ViewGroup$ViewLocationHolder;->compareBoundsOfTree(Landroid/view/ViewGroup$ViewLocationHolder;Landroid/view/ViewGroup$ViewLocationHolder;)I
-Landroid/view/ViewGroup$ViewLocationHolder;->compareTo(Landroid/view/ViewGroup$ViewLocationHolder;)I
-Landroid/view/ViewGroup$ViewLocationHolder;->COMPARISON_STRATEGY_LOCATION:I
-Landroid/view/ViewGroup$ViewLocationHolder;->COMPARISON_STRATEGY_STRIPE:I
-Landroid/view/ViewGroup$ViewLocationHolder;->init(Landroid/view/ViewGroup;Landroid/view/View;)V
-Landroid/view/ViewGroup$ViewLocationHolder;->MAX_POOL_SIZE:I
-Landroid/view/ViewGroup$ViewLocationHolder;->mLayoutDirection:I
-Landroid/view/ViewGroup$ViewLocationHolder;->mLocation:Landroid/graphics/Rect;
-Landroid/view/ViewGroup$ViewLocationHolder;->mRoot:Landroid/view/ViewGroup;
-Landroid/view/ViewGroup$ViewLocationHolder;->mView:Landroid/view/View;
-Landroid/view/ViewGroup$ViewLocationHolder;->obtain(Landroid/view/ViewGroup;Landroid/view/View;)Landroid/view/ViewGroup$ViewLocationHolder;
-Landroid/view/ViewGroup$ViewLocationHolder;->recycle()V
-Landroid/view/ViewGroup$ViewLocationHolder;->sComparisonStrategy:I
-Landroid/view/ViewGroup$ViewLocationHolder;->setComparisonStrategy(I)V
-Landroid/view/ViewGroup$ViewLocationHolder;->sPool:Landroid/util/Pools$SynchronizedPool;
-Landroid/view/ViewGroup;->addDisappearingView(Landroid/view/View;)V
-Landroid/view/ViewGroup;->addInArray(Landroid/view/View;I)V
-Landroid/view/ViewGroup;->addTouchTarget(Landroid/view/View;I)Landroid/view/ViewGroup$TouchTarget;
-Landroid/view/ViewGroup;->addViewInner(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V
-Landroid/view/ViewGroup;->ARRAY_CAPACITY_INCREMENT:I
-Landroid/view/ViewGroup;->ARRAY_INITIAL_CAPACITY:I
-Landroid/view/ViewGroup;->bindLayoutAnimation(Landroid/view/View;)V
-Landroid/view/ViewGroup;->buildOrderedChildList()Ljava/util/ArrayList;
-Landroid/view/ViewGroup;->buildTouchDispatchChildList()Ljava/util/ArrayList;
-Landroid/view/ViewGroup;->cancelAndClearTouchTargets(Landroid/view/MotionEvent;)V
-Landroid/view/ViewGroup;->cancelHoverTarget(Landroid/view/View;)V
-Landroid/view/ViewGroup;->canViewReceivePointerEvents(Landroid/view/View;)Z
-Landroid/view/ViewGroup;->captureTransitioningViews(Ljava/util/List;)V
-Landroid/view/ViewGroup;->CHILD_LEFT_INDEX:I
-Landroid/view/ViewGroup;->CHILD_TOP_INDEX:I
-Landroid/view/ViewGroup;->clearCachedLayoutMode()V
-Landroid/view/ViewGroup;->clearDefaultFocus(Landroid/view/View;)V
-Landroid/view/ViewGroup;->clearFocusedInCluster()V
-Landroid/view/ViewGroup;->clearFocusedInCluster(Landroid/view/View;)V
-Landroid/view/ViewGroup;->clearTouchTargets()V
-Landroid/view/ViewGroup;->computeOpticalInsets()Landroid/graphics/Insets;
-Landroid/view/ViewGroup;->createSnapshot(Landroid/view/ViewDebug$CanvasProvider;Z)Landroid/graphics/Bitmap;
-Landroid/view/ViewGroup;->decrementChildUnhandledKeyListeners()V
-Landroid/view/ViewGroup;->DESCENDANT_FOCUSABILITY_FLAGS:[I
-Landroid/view/ViewGroup;->destroyHardwareResources()V
-Landroid/view/ViewGroup;->dispatchActivityResult(Ljava/lang/String;IILandroid/content/Intent;)Z
-Landroid/view/ViewGroup;->dispatchCancelPendingInputEvents()V
-Landroid/view/ViewGroup;->dispatchCollectViewAttributes(Landroid/view/View$AttachInfo;I)V
-Landroid/view/ViewGroup;->dispatchDragEnterExitInPreN(Landroid/view/DragEvent;)Z
-Landroid/view/ViewGroup;->dispatchMovedToDisplay(Landroid/view/Display;Landroid/content/res/Configuration;)V
-Landroid/view/ViewGroup;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
-Landroid/view/ViewGroup;->dispatchResolvePointerIcon(Landroid/view/MotionEvent;ILandroid/view/View;)Landroid/view/PointerIcon;
-Landroid/view/ViewGroup;->dispatchScreenStateChanged(I)V
-Landroid/view/ViewGroup;->dispatchTooltipHoverEvent(Landroid/view/MotionEvent;)Z
-Landroid/view/ViewGroup;->dispatchTooltipHoverEvent(Landroid/view/MotionEvent;Landroid/view/View;)Z
-Landroid/view/ViewGroup;->dispatchTransformedGenericPointerEvent(Landroid/view/MotionEvent;Landroid/view/View;)Z
-Landroid/view/ViewGroup;->dispatchTransformedTouchEvent(Landroid/view/MotionEvent;ZLandroid/view/View;I)Z
-Landroid/view/ViewGroup;->dispatchUnhandledKeyEvent(Landroid/view/KeyEvent;)Landroid/view/View;
-Landroid/view/ViewGroup;->dispatchVisibilityAggregated(Z)Z
-Landroid/view/ViewGroup;->drawCorner(Landroid/graphics/Canvas;Landroid/graphics/Paint;IIIII)V
-Landroid/view/ViewGroup;->drawRect(Landroid/graphics/Canvas;Landroid/graphics/Paint;IIII)V
-Landroid/view/ViewGroup;->drawRectCorners(Landroid/graphics/Canvas;IIIILandroid/graphics/Paint;II)V
-Landroid/view/ViewGroup;->exitHoverTargets()V
-Landroid/view/ViewGroup;->exitTooltipHoverTargets()V
-Landroid/view/ViewGroup;->fillDifference(Landroid/graphics/Canvas;IIIIIIIILandroid/graphics/Paint;)V
-Landroid/view/ViewGroup;->fillRect(Landroid/graphics/Canvas;Landroid/graphics/Paint;IIII)V
-Landroid/view/ViewGroup;->findChildWithAccessibilityFocus()Landroid/view/View;
-Landroid/view/ViewGroup;->findFrontmostDroppableChildAt(FFLandroid/graphics/PointF;)Landroid/view/View;
-Landroid/view/ViewGroup;->findNamedViews(Ljava/util/Map;)V
-Landroid/view/ViewGroup;->findViewByAccessibilityIdTraversal(I)Landroid/view/View;
-Landroid/view/ViewGroup;->findViewByAutofillIdTraversal(I)Landroid/view/View;
-Landroid/view/ViewGroup;->findViewByPredicateTraversal(Ljava/util/function/Predicate;Landroid/view/View;)Landroid/view/View;
-Landroid/view/ViewGroup;->findViewTraversal(I)Landroid/view/View;
-Landroid/view/ViewGroup;->findViewWithTagTraversal(Ljava/lang/Object;)Landroid/view/View;
-Landroid/view/ViewGroup;->finishAnimatingView(Landroid/view/View;Landroid/view/animation/Animation;)V
-Landroid/view/ViewGroup;->FLAG_ADD_STATES_FROM_CHILDREN:I
-Landroid/view/ViewGroup;->FLAG_ALWAYS_DRAWN_WITH_CACHE:I
-Landroid/view/ViewGroup;->FLAG_ANIMATION_CACHE:I
-Landroid/view/ViewGroup;->FLAG_ANIMATION_DONE:I
-Landroid/view/ViewGroup;->FLAG_CHILDREN_DRAWN_WITH_CACHE:I
-Landroid/view/ViewGroup;->FLAG_CLEAR_TRANSFORMATION:I
-Landroid/view/ViewGroup;->FLAG_CLIP_CHILDREN:I
-Landroid/view/ViewGroup;->FLAG_CLIP_TO_PADDING:I
-Landroid/view/ViewGroup;->FLAG_INVALIDATE_REQUIRED:I
-Landroid/view/ViewGroup;->FLAG_IS_TRANSITION_GROUP:I
-Landroid/view/ViewGroup;->FLAG_IS_TRANSITION_GROUP_SET:I
-Landroid/view/ViewGroup;->FLAG_LAYOUT_MODE_WAS_EXPLICITLY_SET:I
-Landroid/view/ViewGroup;->FLAG_MASK_FOCUSABILITY:I
-Landroid/view/ViewGroup;->FLAG_NOTIFY_ANIMATION_LISTENER:I
-Landroid/view/ViewGroup;->FLAG_NOTIFY_CHILDREN_ON_DRAWABLE_STATE_CHANGE:I
-Landroid/view/ViewGroup;->FLAG_OPTIMIZE_INVALIDATE:I
-Landroid/view/ViewGroup;->FLAG_PADDING_NOT_NULL:I
-Landroid/view/ViewGroup;->FLAG_PREVENT_DISPATCH_ATTACHED_TO_WINDOW:I
-Landroid/view/ViewGroup;->FLAG_RUN_ANIMATION:I
-Landroid/view/ViewGroup;->FLAG_SHOW_CONTEXT_MENU_WITH_COORDS:I
-Landroid/view/ViewGroup;->FLAG_SPLIT_MOTION_EVENTS:I
-Landroid/view/ViewGroup;->FLAG_START_ACTION_MODE_FOR_CHILD_IS_NOT_TYPED:I
-Landroid/view/ViewGroup;->FLAG_START_ACTION_MODE_FOR_CHILD_IS_TYPED:I
-Landroid/view/ViewGroup;->FLAG_TOUCHSCREEN_BLOCKS_FOCUS:I
-Landroid/view/ViewGroup;->getAndVerifyPreorderedIndex(IIZ)I
-Landroid/view/ViewGroup;->getAndVerifyPreorderedView(Ljava/util/ArrayList;[Landroid/view/View;I)Landroid/view/View;
-Landroid/view/ViewGroup;->getChildrenForAutofill(I)Landroid/view/ViewGroup$ChildListForAutoFill;
-Landroid/view/ViewGroup;->getChildTransformation()Landroid/view/animation/Transformation;
-Landroid/view/ViewGroup;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;Z)Z
-Landroid/view/ViewGroup;->getDeepestFocusedChild()Landroid/view/View;
-Landroid/view/ViewGroup;->getLocalPoint()Landroid/graphics/PointF;
-Landroid/view/ViewGroup;->getNumChildrenForAccessibility()I
-Landroid/view/ViewGroup;->getScrollIndicatorBounds(Landroid/graphics/Rect;)V
-Landroid/view/ViewGroup;->getTempPoint()[F
-Landroid/view/ViewGroup;->getTouchTarget(Landroid/view/View;)Landroid/view/ViewGroup$TouchTarget;
-Landroid/view/ViewGroup;->getTransformedMotionEvent(Landroid/view/MotionEvent;Landroid/view/View;)Landroid/view/MotionEvent;
-Landroid/view/ViewGroup;->getTransientViewIndex(I)I
-Landroid/view/ViewGroup;->handleFocusGainInternal(ILandroid/graphics/Rect;)V
-Landroid/view/ViewGroup;->hasBooleanFlag(I)Z
-Landroid/view/ViewGroup;->hasChildWithZ()Z
-Landroid/view/ViewGroup;->hasDefaultFocus()Z
-Landroid/view/ViewGroup;->hasFocusable(ZZ)Z
-Landroid/view/ViewGroup;->hasFocusableChild(Z)Z
-Landroid/view/ViewGroup;->hasHoveredChild()Z
-Landroid/view/ViewGroup;->hasUnhandledKeyListener()Z
-Landroid/view/ViewGroup;->incrementChildUnhandledKeyListeners()V
-Landroid/view/ViewGroup;->initFromAttributes(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/view/ViewGroup;->initViewGroup()V
-Landroid/view/ViewGroup;->internalSetPadding(IIII)V
-Landroid/view/ViewGroup;->invalidateInheritedLayoutMode(I)V
-Landroid/view/ViewGroup;->isLayoutModeOptical()Z
-Landroid/view/ViewGroup;->isLayoutSuppressed()Z
-Landroid/view/ViewGroup;->isShowingContextMenuWithCoords()Z
-Landroid/view/ViewGroup;->isViewTransitioning(Landroid/view/View;)Z
-Landroid/view/ViewGroup;->LAYOUT_MODE_DEFAULT:I
-Landroid/view/ViewGroup;->LAYOUT_MODE_UNDEFINED:I
-Landroid/view/ViewGroup;->mAnimationListener:Landroid/view/animation/Animation$AnimationListener;
-Landroid/view/ViewGroup;->mCachePaint:Landroid/graphics/Paint;
-Landroid/view/ViewGroup;->mChildCountWithTransientState:I
-Landroid/view/ViewGroup;->mChildrenInterestedInDrag:Ljava/util/HashSet;
-Landroid/view/ViewGroup;->mChildTransformation:Landroid/view/animation/Transformation;
-Landroid/view/ViewGroup;->mChildUnhandledKeyListeners:I
-Landroid/view/ViewGroup;->mCurrentDragChild:Landroid/view/View;
-Landroid/view/ViewGroup;->mCurrentDragStartEvent:Landroid/view/DragEvent;
-Landroid/view/ViewGroup;->mDefaultFocus:Landroid/view/View;
-Landroid/view/ViewGroup;->mFirstHoverTarget:Landroid/view/ViewGroup$HoverTarget;
-Landroid/view/ViewGroup;->mFocusedInCluster:Landroid/view/View;
-Landroid/view/ViewGroup;->mHoveredSelf:Z
-Landroid/view/ViewGroup;->mInvalidateRegion:Landroid/graphics/RectF;
-Landroid/view/ViewGroup;->mInvalidationTransformation:Landroid/view/animation/Transformation;
-Landroid/view/ViewGroup;->mIsInterestedInDrag:Z
-Landroid/view/ViewGroup;->mLastTouchDownIndex:I
-Landroid/view/ViewGroup;->mLastTouchDownTime:J
-Landroid/view/ViewGroup;->mLastTouchDownX:F
-Landroid/view/ViewGroup;->mLastTouchDownY:F
-Landroid/view/ViewGroup;->mLayoutAnimationController:Landroid/view/animation/LayoutAnimationController;
-Landroid/view/ViewGroup;->mLayoutCalledWhileSuppressed:Z
-Landroid/view/ViewGroup;->mLayoutMode:I
-Landroid/view/ViewGroup;->mLayoutTransitionListener:Landroid/animation/LayoutTransition$TransitionListener;
-Landroid/view/ViewGroup;->mLocalPoint:Landroid/graphics/PointF;
-Landroid/view/ViewGroup;->mNestedScrollAxes:I
-Landroid/view/ViewGroup;->mPreSortedChildren:Ljava/util/ArrayList;
-Landroid/view/ViewGroup;->mSuppressLayout:Z
-Landroid/view/ViewGroup;->mTempPoint:[F
-Landroid/view/ViewGroup;->mTooltipHoveredSelf:Z
-Landroid/view/ViewGroup;->mTooltipHoverTarget:Landroid/view/View;
-Landroid/view/ViewGroup;->mTransientIndices:Ljava/util/List;
-Landroid/view/ViewGroup;->mTransientViews:Ljava/util/List;
-Landroid/view/ViewGroup;->mTransition:Landroid/animation/LayoutTransition;
-Landroid/view/ViewGroup;->mTransitioningViews:Ljava/util/ArrayList;
-Landroid/view/ViewGroup;->mVisibilityChangingChildren:Ljava/util/ArrayList;
-Landroid/view/ViewGroup;->notifyAnimationListener()V
-Landroid/view/ViewGroup;->notifyChildOfDragStart(Landroid/view/View;)Z
-Landroid/view/ViewGroup;->notifySubtreeAccessibilityStateChangedIfNeeded()V
-Landroid/view/ViewGroup;->obtainMotionEventNoHistoryOrSelf(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;
-Landroid/view/ViewGroup;->offsetRectBetweenParentAndChild(Landroid/view/View;Landroid/graphics/Rect;ZZ)V
-Landroid/view/ViewGroup;->onDebugDraw(Landroid/graphics/Canvas;)V
-Landroid/view/ViewGroup;->onDebugDrawMargins(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
-Landroid/view/ViewGroup;->onRequestSendAccessibilityEventInternal(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
-Landroid/view/ViewGroup;->onSetLayoutParams(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
-Landroid/view/ViewGroup;->populateChildrenForAutofill(Ljava/util/ArrayList;I)V
-Landroid/view/ViewGroup;->recreateChildDisplayList(Landroid/view/View;)V
-Landroid/view/ViewGroup;->removeFromArray(I)V
-Landroid/view/ViewGroup;->removeFromArray(II)V
-Landroid/view/ViewGroup;->removePointersFromTouchTargets(I)V
-Landroid/view/ViewGroup;->removeViewInternal(ILandroid/view/View;)V
-Landroid/view/ViewGroup;->removeViewInternal(Landroid/view/View;)Z
-Landroid/view/ViewGroup;->removeViewsInternal(II)V
-Landroid/view/ViewGroup;->requestTransitionStart(Landroid/animation/LayoutTransition;)V
-Landroid/view/ViewGroup;->resetCancelNextUpFlag(Landroid/view/View;)Z
-Landroid/view/ViewGroup;->resetSubtreeAccessibilityStateChanged()V
-Landroid/view/ViewGroup;->resetTouchState()V
-Landroid/view/ViewGroup;->resolveDrawables()V
-Landroid/view/ViewGroup;->resolveLayoutDirection()Z
-Landroid/view/ViewGroup;->resolveLayoutParams()V
-Landroid/view/ViewGroup;->resolveRtlPropertiesIfNeeded()Z
-Landroid/view/ViewGroup;->resolveTextAlignment()Z
-Landroid/view/ViewGroup;->resolveTextDirection()Z
-Landroid/view/ViewGroup;->restoreFocusInClusterInternal(I)Z
-Landroid/view/ViewGroup;->sDebugLines:[F
-Landroid/view/ViewGroup;->SENTINEL_ACTION_MODE:Landroid/view/ActionMode;
-Landroid/view/ViewGroup;->setBooleanFlag(IZ)V
-Landroid/view/ViewGroup;->setDefaultFocus(Landroid/view/View;)V
-Landroid/view/ViewGroup;->setLayoutMode(IZ)V
-Landroid/view/ViewGroup;->setTouchscreenBlocksFocusNoRefocus(Z)V
-Landroid/view/ViewGroup;->shouldBlockFocusForTouchscreen()Z
-Landroid/view/ViewGroup;->sign(I)I
-Landroid/view/ViewGroup;->TAG:Ljava/lang/String;
-Landroid/view/ViewGroup;->touchAccessibilityNodeProviderIfNeeded(Landroid/view/View;)V
-Landroid/view/ViewGroup;->unFocus(Landroid/view/View;)V
-Landroid/view/ViewGroup;->updateLocalSystemUiVisibility(II)Z
-Landroid/view/ViewGroupOverlay;-><init>(Landroid/content/Context;Landroid/view/View;)V
-Landroid/view/ViewHierarchyEncoder;
-Landroid/view/ViewHierarchyEncoder;-><init>(Ljava/io/ByteArrayOutputStream;)V
-Landroid/view/ViewHierarchyEncoder;->addProperty(Ljava/lang/String;S)V
-Landroid/view/ViewHierarchyEncoder;->addPropertyKey(Ljava/lang/String;)V
-Landroid/view/ViewHierarchyEncoder;->beginObject(Ljava/lang/Object;)V
-Landroid/view/ViewHierarchyEncoder;->createPropertyIndex(Ljava/lang/String;)S
-Landroid/view/ViewHierarchyEncoder;->endObject()V
-Landroid/view/ViewHierarchyEncoder;->endPropertyMap()V
-Landroid/view/ViewHierarchyEncoder;->endStream()V
-Landroid/view/ViewHierarchyEncoder;->mCharset:Ljava/nio/charset/Charset;
-Landroid/view/ViewHierarchyEncoder;->mPropertyId:S
-Landroid/view/ViewHierarchyEncoder;->mPropertyNames:Ljava/util/Map;
-Landroid/view/ViewHierarchyEncoder;->mStream:Ljava/io/DataOutputStream;
-Landroid/view/ViewHierarchyEncoder;->SIG_BOOLEAN:B
-Landroid/view/ViewHierarchyEncoder;->SIG_BYTE:B
-Landroid/view/ViewHierarchyEncoder;->SIG_DOUBLE:B
-Landroid/view/ViewHierarchyEncoder;->SIG_END_MAP:S
-Landroid/view/ViewHierarchyEncoder;->SIG_FLOAT:B
-Landroid/view/ViewHierarchyEncoder;->SIG_INT:B
-Landroid/view/ViewHierarchyEncoder;->SIG_LONG:B
-Landroid/view/ViewHierarchyEncoder;->SIG_MAP:B
-Landroid/view/ViewHierarchyEncoder;->SIG_SHORT:B
-Landroid/view/ViewHierarchyEncoder;->SIG_STRING:B
-Landroid/view/ViewHierarchyEncoder;->startPropertyMap()V
-Landroid/view/ViewHierarchyEncoder;->writeBoolean(Z)V
-Landroid/view/ViewHierarchyEncoder;->writeFloat(F)V
-Landroid/view/ViewHierarchyEncoder;->writeInt(I)V
-Landroid/view/ViewHierarchyEncoder;->writeShort(S)V
-Landroid/view/ViewHierarchyEncoder;->writeString(Ljava/lang/String;)V
-Landroid/view/ViewOverlay$OverlayViewGroup;
-Landroid/view/ViewOverlay$OverlayViewGroup;-><init>(Landroid/content/Context;Landroid/view/View;)V
-Landroid/view/ViewOverlay$OverlayViewGroup;->add(Landroid/graphics/drawable/Drawable;)V
-Landroid/view/ViewOverlay$OverlayViewGroup;->add(Landroid/view/View;)V
-Landroid/view/ViewOverlay$OverlayViewGroup;->clear()V
-Landroid/view/ViewOverlay$OverlayViewGroup;->invalidate(Z)V
-Landroid/view/ViewOverlay$OverlayViewGroup;->invalidateParentCaches()V
-Landroid/view/ViewOverlay$OverlayViewGroup;->invalidateParentIfNeeded()V
-Landroid/view/ViewOverlay$OverlayViewGroup;->invalidateViewProperty(ZZ)V
-Landroid/view/ViewOverlay$OverlayViewGroup;->isEmpty()Z
-Landroid/view/ViewOverlay$OverlayViewGroup;->mDrawables:Ljava/util/ArrayList;
-Landroid/view/ViewOverlay$OverlayViewGroup;->mHostView:Landroid/view/View;
-Landroid/view/ViewOverlay$OverlayViewGroup;->remove(Landroid/graphics/drawable/Drawable;)V
-Landroid/view/ViewOverlay$OverlayViewGroup;->remove(Landroid/view/View;)V
-Landroid/view/ViewOverlay;-><init>(Landroid/content/Context;Landroid/view/View;)V
-Landroid/view/ViewOverlay;->mOverlayViewGroup:Landroid/view/ViewOverlay$OverlayViewGroup;
-Landroid/view/ViewPropertyAnimator$AnimatorEventListener;
-Landroid/view/ViewPropertyAnimator$AnimatorEventListener;-><init>()V
-Landroid/view/ViewPropertyAnimator$NameValuesHolder;
-Landroid/view/ViewPropertyAnimator$NameValuesHolder;-><init>(IFF)V
-Landroid/view/ViewPropertyAnimator$NameValuesHolder;->mDeltaValue:F
-Landroid/view/ViewPropertyAnimator$NameValuesHolder;->mFromValue:F
-Landroid/view/ViewPropertyAnimator$NameValuesHolder;->mNameConstant:I
-Landroid/view/ViewPropertyAnimator$PropertyBundle;
-Landroid/view/ViewPropertyAnimator$PropertyBundle;-><init>(ILjava/util/ArrayList;)V
-Landroid/view/ViewPropertyAnimator$PropertyBundle;->cancel(I)Z
-Landroid/view/ViewPropertyAnimator$PropertyBundle;->mNameValuesHolder:Ljava/util/ArrayList;
-Landroid/view/ViewPropertyAnimator$PropertyBundle;->mPropertyMask:I
-Landroid/view/ViewPropertyAnimator;-><init>(Landroid/view/View;)V
-Landroid/view/ViewPropertyAnimator;->ALPHA:I
-Landroid/view/ViewPropertyAnimator;->animateProperty(IF)V
-Landroid/view/ViewPropertyAnimator;->animatePropertyBy(IF)V
-Landroid/view/ViewPropertyAnimator;->animatePropertyBy(IFF)V
-Landroid/view/ViewPropertyAnimator;->getListener()Landroid/animation/Animator$AnimatorListener;
-Landroid/view/ViewPropertyAnimator;->getUpdateListener()Landroid/animation/ValueAnimator$AnimatorUpdateListener;
-Landroid/view/ViewPropertyAnimator;->getValue(I)F
-Landroid/view/ViewPropertyAnimator;->hasActions()Z
-Landroid/view/ViewPropertyAnimator;->mAnimationStarter:Ljava/lang/Runnable;
-Landroid/view/ViewPropertyAnimator;->mAnimatorCleanupMap:Ljava/util/HashMap;
-Landroid/view/ViewPropertyAnimator;->mAnimatorEventListener:Landroid/view/ViewPropertyAnimator$AnimatorEventListener;
-Landroid/view/ViewPropertyAnimator;->mAnimatorMap:Ljava/util/HashMap;
-Landroid/view/ViewPropertyAnimator;->mAnimatorOnEndMap:Ljava/util/HashMap;
-Landroid/view/ViewPropertyAnimator;->mAnimatorOnStartMap:Ljava/util/HashMap;
-Landroid/view/ViewPropertyAnimator;->mAnimatorSetupMap:Ljava/util/HashMap;
-Landroid/view/ViewPropertyAnimator;->mDuration:J
-Landroid/view/ViewPropertyAnimator;->mDurationSet:Z
-Landroid/view/ViewPropertyAnimator;->mInterpolator:Landroid/animation/TimeInterpolator;
-Landroid/view/ViewPropertyAnimator;->mInterpolatorSet:Z
-Landroid/view/ViewPropertyAnimator;->mListener:Landroid/animation/Animator$AnimatorListener;
-Landroid/view/ViewPropertyAnimator;->mPendingAnimations:Ljava/util/ArrayList;
-Landroid/view/ViewPropertyAnimator;->mPendingCleanupAction:Ljava/lang/Runnable;
-Landroid/view/ViewPropertyAnimator;->mPendingOnEndAction:Ljava/lang/Runnable;
-Landroid/view/ViewPropertyAnimator;->mPendingOnStartAction:Ljava/lang/Runnable;
-Landroid/view/ViewPropertyAnimator;->mPendingSetupAction:Ljava/lang/Runnable;
-Landroid/view/ViewPropertyAnimator;->mStartDelay:J
-Landroid/view/ViewPropertyAnimator;->mStartDelaySet:Z
-Landroid/view/ViewPropertyAnimator;->mTempValueAnimator:Landroid/animation/ValueAnimator;
-Landroid/view/ViewPropertyAnimator;->mUpdateListener:Landroid/animation/ValueAnimator$AnimatorUpdateListener;
-Landroid/view/ViewPropertyAnimator;->mView:Landroid/view/View;
-Landroid/view/ViewPropertyAnimator;->NONE:I
-Landroid/view/ViewPropertyAnimator;->ROTATION:I
-Landroid/view/ViewPropertyAnimator;->ROTATION_X:I
-Landroid/view/ViewPropertyAnimator;->ROTATION_Y:I
-Landroid/view/ViewPropertyAnimator;->SCALE_X:I
-Landroid/view/ViewPropertyAnimator;->SCALE_Y:I
-Landroid/view/ViewPropertyAnimator;->setValue(IF)V
-Landroid/view/ViewPropertyAnimator;->startAnimation()V
-Landroid/view/ViewPropertyAnimator;->TRANSFORM_MASK:I
-Landroid/view/ViewPropertyAnimator;->TRANSLATION_X:I
-Landroid/view/ViewPropertyAnimator;->TRANSLATION_Y:I
-Landroid/view/ViewPropertyAnimator;->TRANSLATION_Z:I
-Landroid/view/ViewPropertyAnimator;->X:I
-Landroid/view/ViewPropertyAnimator;->Y:I
-Landroid/view/ViewPropertyAnimator;->Z:I
-Landroid/view/ViewPropertyAnimatorRT;
-Landroid/view/ViewPropertyAnimatorRT;-><init>(Landroid/view/View;)V
-Landroid/view/ViewPropertyAnimatorRT;->cancelAll()V
-Landroid/view/ViewPropertyAnimatorRT;->cancelAnimators(Ljava/util/ArrayList;)V
-Landroid/view/ViewPropertyAnimatorRT;->canHandleAnimator(Landroid/view/ViewPropertyAnimator;)Z
-Landroid/view/ViewPropertyAnimatorRT;->doStartAnimation(Landroid/view/ViewPropertyAnimator;)V
-Landroid/view/ViewPropertyAnimatorRT;->mAnimators:[Landroid/view/RenderNodeAnimator;
-Landroid/view/ViewPropertyAnimatorRT;->mView:Landroid/view/View;
-Landroid/view/ViewPropertyAnimatorRT;->sLinearInterpolator:Landroid/view/animation/Interpolator;
-Landroid/view/ViewPropertyAnimatorRT;->startAnimation(Landroid/view/ViewPropertyAnimator;)Z
-Landroid/view/ViewProtoEnums;
-Landroid/view/ViewProtoEnums;-><init>()V
-Landroid/view/ViewProtoEnums;->DISPLAY_STATE_DOZE:I
-Landroid/view/ViewProtoEnums;->DISPLAY_STATE_DOZE_SUSPEND:I
-Landroid/view/ViewProtoEnums;->DISPLAY_STATE_OFF:I
-Landroid/view/ViewProtoEnums;->DISPLAY_STATE_ON:I
-Landroid/view/ViewProtoEnums;->DISPLAY_STATE_ON_SUSPEND:I
-Landroid/view/ViewProtoEnums;->DISPLAY_STATE_UNKNOWN:I
-Landroid/view/ViewProtoEnums;->DISPLAY_STATE_VR:I
-Landroid/view/ViewRootImpl$AccessibilityInteractionConnection;
-Landroid/view/ViewRootImpl$AccessibilityInteractionConnection;-><init>(Landroid/view/ViewRootImpl;)V
-Landroid/view/ViewRootImpl$AccessibilityInteractionConnection;->findAccessibilityNodeInfoByAccessibilityId(JLandroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;Landroid/os/Bundle;)V
-Landroid/view/ViewRootImpl$AccessibilityInteractionConnection;->findAccessibilityNodeInfosByText(JLjava/lang/String;Landroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
-Landroid/view/ViewRootImpl$AccessibilityInteractionConnection;->findAccessibilityNodeInfosByViewId(JLjava/lang/String;Landroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
-Landroid/view/ViewRootImpl$AccessibilityInteractionConnection;->findFocus(JILandroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
-Landroid/view/ViewRootImpl$AccessibilityInteractionConnection;->focusSearch(JILandroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
-Landroid/view/ViewRootImpl$AccessibilityInteractionConnection;->mViewRootImpl:Ljava/lang/ref/WeakReference;
-Landroid/view/ViewRootImpl$AccessibilityInteractionConnection;->performAccessibilityAction(JILandroid/os/Bundle;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJ)V
-Landroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;
-Landroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;-><init>()V
-Landroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;->ensureConnection()V
-Landroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;->ensureNoConnection()V
-Landroid/view/ViewRootImpl$ActivityConfigCallback;
-Landroid/view/ViewRootImpl$ActivityConfigCallback;->onConfigurationChanged(Landroid/content/res/Configuration;I)V
-Landroid/view/ViewRootImpl$AsyncInputStage;
-Landroid/view/ViewRootImpl$AsyncInputStage;-><init>(Landroid/view/ViewRootImpl$InputStage;Ljava/lang/String;)V
-Landroid/view/ViewRootImpl$AsyncInputStage;->apply(Landroid/view/ViewRootImpl$QueuedInputEvent;I)V
-Landroid/view/ViewRootImpl$AsyncInputStage;->defer(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
-Landroid/view/ViewRootImpl$AsyncInputStage;->DEFER:I
-Landroid/view/ViewRootImpl$AsyncInputStage;->dequeue(Landroid/view/ViewRootImpl$QueuedInputEvent;Landroid/view/ViewRootImpl$QueuedInputEvent;)V
-Landroid/view/ViewRootImpl$AsyncInputStage;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-Landroid/view/ViewRootImpl$AsyncInputStage;->enqueue(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
-Landroid/view/ViewRootImpl$AsyncInputStage;->forward(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
-Landroid/view/ViewRootImpl$AsyncInputStage;->mQueueHead:Landroid/view/ViewRootImpl$QueuedInputEvent;
-Landroid/view/ViewRootImpl$AsyncInputStage;->mQueueLength:I
-Landroid/view/ViewRootImpl$AsyncInputStage;->mQueueTail:Landroid/view/ViewRootImpl$QueuedInputEvent;
-Landroid/view/ViewRootImpl$AsyncInputStage;->mTraceCounter:Ljava/lang/String;
-Landroid/view/ViewRootImpl$CalledFromWrongThreadException;
-Landroid/view/ViewRootImpl$ConfigChangedCallback;
-Landroid/view/ViewRootImpl$ConfigChangedCallback;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-Landroid/view/ViewRootImpl$ConsumeBatchedInputImmediatelyRunnable;
-Landroid/view/ViewRootImpl$ConsumeBatchedInputImmediatelyRunnable;-><init>()V
-Landroid/view/ViewRootImpl$ConsumeBatchedInputRunnable;
-Landroid/view/ViewRootImpl$ConsumeBatchedInputRunnable;-><init>()V
-Landroid/view/ViewRootImpl$EarlyPostImeInputStage;
-Landroid/view/ViewRootImpl$EarlyPostImeInputStage;-><init>(Landroid/view/ViewRootImpl$InputStage;)V
-Landroid/view/ViewRootImpl$EarlyPostImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-Landroid/view/ViewRootImpl$EarlyPostImeInputStage;->processKeyEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-Landroid/view/ViewRootImpl$EarlyPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-Landroid/view/ViewRootImpl$HighContrastTextManager;
-Landroid/view/ViewRootImpl$HighContrastTextManager;-><init>()V
-Landroid/view/ViewRootImpl$HighContrastTextManager;->onHighTextContrastStateChanged(Z)V
-Landroid/view/ViewRootImpl$ImeInputStage;
-Landroid/view/ViewRootImpl$ImeInputStage;-><init>(Landroid/view/ViewRootImpl$InputStage;Ljava/lang/String;)V
-Landroid/view/ViewRootImpl$ImeInputStage;->onFinishedInputEvent(Ljava/lang/Object;Z)V
-Landroid/view/ViewRootImpl$ImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-Landroid/view/ViewRootImpl$InputStage;
-Landroid/view/ViewRootImpl$InputStage;-><init>(Landroid/view/ViewRootImpl$InputStage;)V
-Landroid/view/ViewRootImpl$InputStage;->apply(Landroid/view/ViewRootImpl$QueuedInputEvent;I)V
-Landroid/view/ViewRootImpl$InputStage;->deliver(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
-Landroid/view/ViewRootImpl$InputStage;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-Landroid/view/ViewRootImpl$InputStage;->finish(Landroid/view/ViewRootImpl$QueuedInputEvent;Z)V
-Landroid/view/ViewRootImpl$InputStage;->FINISH_HANDLED:I
-Landroid/view/ViewRootImpl$InputStage;->FINISH_NOT_HANDLED:I
-Landroid/view/ViewRootImpl$InputStage;->forward(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
-Landroid/view/ViewRootImpl$InputStage;->FORWARD:I
-Landroid/view/ViewRootImpl$InputStage;->isBack(Landroid/view/InputEvent;)Z
-Landroid/view/ViewRootImpl$InputStage;->mNext:Landroid/view/ViewRootImpl$InputStage;
-Landroid/view/ViewRootImpl$InputStage;->onDeliverToNext(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
-Landroid/view/ViewRootImpl$InputStage;->onDetachedFromWindow()V
-Landroid/view/ViewRootImpl$InputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-Landroid/view/ViewRootImpl$InputStage;->onWindowFocusChanged(Z)V
-Landroid/view/ViewRootImpl$InputStage;->shouldDropInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)Z
-Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;
-Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;-><init>()V
-Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->addView(Landroid/view/View;)V
-Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->addViewRect(Landroid/view/View$AttachInfo$InvalidateInfo;)V
-Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->mPosted:Z
-Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->mTempViewRects:[Landroid/view/View$AttachInfo$InvalidateInfo;
-Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->mTempViews:[Landroid/view/View;
-Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->mViewRects:Ljava/util/ArrayList;
-Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->mViews:Ljava/util/ArrayList;
-Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->postIfNeededLocked()V
-Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->removeView(Landroid/view/View;)V
-Landroid/view/ViewRootImpl$NativePostImeInputStage;
-Landroid/view/ViewRootImpl$NativePostImeInputStage;-><init>(Landroid/view/ViewRootImpl$InputStage;Ljava/lang/String;)V
-Landroid/view/ViewRootImpl$NativePostImeInputStage;->onFinishedInputEvent(Ljava/lang/Object;Z)V
-Landroid/view/ViewRootImpl$NativePostImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-Landroid/view/ViewRootImpl$NativePreImeInputStage;
-Landroid/view/ViewRootImpl$NativePreImeInputStage;-><init>(Landroid/view/ViewRootImpl$InputStage;Ljava/lang/String;)V
-Landroid/view/ViewRootImpl$NativePreImeInputStage;->onFinishedInputEvent(Ljava/lang/Object;Z)V
-Landroid/view/ViewRootImpl$NativePreImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-Landroid/view/ViewRootImpl$QueuedInputEvent;
-Landroid/view/ViewRootImpl$QueuedInputEvent;-><init>()V
-Landroid/view/ViewRootImpl$QueuedInputEvent;->flagToString(Ljava/lang/String;IZLjava/lang/StringBuilder;)Z
-Landroid/view/ViewRootImpl$QueuedInputEvent;->FLAG_DEFERRED:I
-Landroid/view/ViewRootImpl$QueuedInputEvent;->FLAG_DELIVER_POST_IME:I
-Landroid/view/ViewRootImpl$QueuedInputEvent;->FLAG_FINISHED:I
-Landroid/view/ViewRootImpl$QueuedInputEvent;->FLAG_FINISHED_HANDLED:I
-Landroid/view/ViewRootImpl$QueuedInputEvent;->FLAG_RESYNTHESIZED:I
-Landroid/view/ViewRootImpl$QueuedInputEvent;->FLAG_UNHANDLED:I
-Landroid/view/ViewRootImpl$QueuedInputEvent;->mEvent:Landroid/view/InputEvent;
-Landroid/view/ViewRootImpl$QueuedInputEvent;->mFlags:I
-Landroid/view/ViewRootImpl$QueuedInputEvent;->mNext:Landroid/view/ViewRootImpl$QueuedInputEvent;
-Landroid/view/ViewRootImpl$QueuedInputEvent;->mReceiver:Landroid/view/InputEventReceiver;
-Landroid/view/ViewRootImpl$QueuedInputEvent;->shouldSendToSynthesizer()Z
-Landroid/view/ViewRootImpl$QueuedInputEvent;->shouldSkipIme()Z
-Landroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;
-Landroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;-><init>()V
-Landroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;->mChangeTypes:I
-Landroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;->mLastEventTimeMillis:J
-Landroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;->mOrigin:[Ljava/lang/StackTraceElement;
-Landroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;->mSource:Landroid/view/View;
-Landroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;->removeCallbacksAndRun()V
-Landroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;->runOrPost(Landroid/view/View;I)V
-Landroid/view/ViewRootImpl$SyntheticInputStage;
-Landroid/view/ViewRootImpl$SyntheticInputStage;-><init>()V
-Landroid/view/ViewRootImpl$SyntheticInputStage;->mJoystick:Landroid/view/ViewRootImpl$SyntheticJoystickHandler;
-Landroid/view/ViewRootImpl$SyntheticInputStage;->mKeyboard:Landroid/view/ViewRootImpl$SyntheticKeyboardHandler;
-Landroid/view/ViewRootImpl$SyntheticInputStage;->mTouchNavigation:Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;
-Landroid/view/ViewRootImpl$SyntheticInputStage;->mTrackball:Landroid/view/ViewRootImpl$SyntheticTrackballHandler;
-Landroid/view/ViewRootImpl$SyntheticInputStage;->onDeliverToNext(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
-Landroid/view/ViewRootImpl$SyntheticInputStage;->onDetachedFromWindow()V
-Landroid/view/ViewRootImpl$SyntheticInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-Landroid/view/ViewRootImpl$SyntheticInputStage;->onWindowFocusChanged(Z)V
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState;
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState;-><init>()V
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState;->isXAxis(I)Z
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState;->isYAxis(I)Z
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState;->joystickAxisAndStateToKeycode(II)I
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState;->joystickAxisValueToState(F)I
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState;->mAxisStatesHat:[I
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState;->mAxisStatesStick:[I
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState;->resetState()V
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState;->STATE_DOWN_OR_RIGHT:I
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState;->STATE_NEUTRAL:I
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState;->STATE_UP_OR_LEFT:I
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState;->updateStateForAxis(Landroid/view/MotionEvent;JIF)V
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler;
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler;-><init>()V
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler;->cancel()V
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler;->mDeviceKeyEvents:Landroid/util/SparseArray;
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler;->mJoystickAxesState:Landroid/view/ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState;
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler;->MSG_ENQUEUE_X_AXIS_KEY_REPEAT:I
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler;->MSG_ENQUEUE_Y_AXIS_KEY_REPEAT:I
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler;->process(Landroid/view/MotionEvent;)V
-Landroid/view/ViewRootImpl$SyntheticJoystickHandler;->update(Landroid/view/MotionEvent;)V
-Landroid/view/ViewRootImpl$SyntheticKeyboardHandler;
-Landroid/view/ViewRootImpl$SyntheticKeyboardHandler;-><init>()V
-Landroid/view/ViewRootImpl$SyntheticKeyboardHandler;->process(Landroid/view/KeyEvent;)V
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;-><init>()V
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->cancel(Landroid/view/MotionEvent;)V
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->cancelFling()V
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->consumeAccumulatedMovement(JI)V
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->consumeAccumulatedMovement(JIFII)F
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->DEFAULT_HEIGHT_MILLIMETERS:F
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->DEFAULT_WIDTH_MILLIMETERS:F
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->finishKeys(J)V
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->finishTracking(J)V
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->FLING_TICK_DECAY:F
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->LOCAL_DEBUG:Z
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->LOCAL_TAG:Ljava/lang/String;
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mAccumulatedX:F
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mAccumulatedY:F
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mActivePointerId:I
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->MAX_FLING_VELOCITY_TICKS_PER_SECOND:F
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mConfigMaxFlingVelocity:F
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mConfigMinFlingVelocity:F
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mConfigTickDistance:F
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mConsumedMovement:Z
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mCurrentDeviceId:I
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mCurrentDeviceSupported:Z
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mCurrentSource:I
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mFlinging:Z
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mFlingRunnable:Ljava/lang/Runnable;
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mFlingVelocity:F
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->MIN_FLING_VELOCITY_TICKS_PER_SECOND:F
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mLastX:F
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mLastY:F
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mPendingKeyCode:I
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mPendingKeyDownTime:J
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mPendingKeyMetaState:I
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mPendingKeyRepeatCount:I
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mStartX:F
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mStartY:F
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->mVelocityTracker:Landroid/view/VelocityTracker;
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->postFling(J)Z
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->process(Landroid/view/MotionEvent;)V
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->sendKeyDownOrRepeat(JII)V
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->sendKeyUp(J)V
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->startFling(JFF)Z
-Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;->TICK_DISTANCE_MILLIMETERS:I
-Landroid/view/ViewRootImpl$SyntheticTrackballHandler;
-Landroid/view/ViewRootImpl$SyntheticTrackballHandler;-><init>()V
-Landroid/view/ViewRootImpl$SyntheticTrackballHandler;->cancel()V
-Landroid/view/ViewRootImpl$SyntheticTrackballHandler;->mLastTime:J
-Landroid/view/ViewRootImpl$SyntheticTrackballHandler;->mX:Landroid/view/ViewRootImpl$TrackballAxis;
-Landroid/view/ViewRootImpl$SyntheticTrackballHandler;->mY:Landroid/view/ViewRootImpl$TrackballAxis;
-Landroid/view/ViewRootImpl$SyntheticTrackballHandler;->process(Landroid/view/MotionEvent;)V
-Landroid/view/ViewRootImpl$SystemUiVisibilityInfo;
-Landroid/view/ViewRootImpl$SystemUiVisibilityInfo;-><init>()V
-Landroid/view/ViewRootImpl$SystemUiVisibilityInfo;->globalVisibility:I
-Landroid/view/ViewRootImpl$SystemUiVisibilityInfo;->localChanges:I
-Landroid/view/ViewRootImpl$SystemUiVisibilityInfo;->localValue:I
-Landroid/view/ViewRootImpl$SystemUiVisibilityInfo;->seq:I
-Landroid/view/ViewRootImpl$TakenSurfaceHolder;
-Landroid/view/ViewRootImpl$TakenSurfaceHolder;-><init>()V
-Landroid/view/ViewRootImpl$TakenSurfaceHolder;->onAllowLockCanvas()Z
-Landroid/view/ViewRootImpl$TakenSurfaceHolder;->onRelayoutContainer()V
-Landroid/view/ViewRootImpl$TakenSurfaceHolder;->onUpdateSurface()V
-Landroid/view/ViewRootImpl$TrackballAxis;
-Landroid/view/ViewRootImpl$TrackballAxis;-><init>()V
-Landroid/view/ViewRootImpl$TrackballAxis;->acceleration:F
-Landroid/view/ViewRootImpl$TrackballAxis;->ACCEL_MOVE_SCALING_FACTOR:F
-Landroid/view/ViewRootImpl$TrackballAxis;->collect(FJLjava/lang/String;)F
-Landroid/view/ViewRootImpl$TrackballAxis;->dir:I
-Landroid/view/ViewRootImpl$TrackballAxis;->FAST_MOVE_TIME:J
-Landroid/view/ViewRootImpl$TrackballAxis;->FIRST_MOVEMENT_THRESHOLD:F
-Landroid/view/ViewRootImpl$TrackballAxis;->generate()I
-Landroid/view/ViewRootImpl$TrackballAxis;->lastMoveTime:J
-Landroid/view/ViewRootImpl$TrackballAxis;->MAX_ACCELERATION:F
-Landroid/view/ViewRootImpl$TrackballAxis;->nonAccelMovement:I
-Landroid/view/ViewRootImpl$TrackballAxis;->position:F
-Landroid/view/ViewRootImpl$TrackballAxis;->reset(I)V
-Landroid/view/ViewRootImpl$TrackballAxis;->SECOND_CUMULATIVE_MOVEMENT_THRESHOLD:F
-Landroid/view/ViewRootImpl$TrackballAxis;->step:I
-Landroid/view/ViewRootImpl$TrackballAxis;->SUBSEQUENT_INCREMENTAL_MOVEMENT_THRESHOLD:F
-Landroid/view/ViewRootImpl$TraversalRunnable;
-Landroid/view/ViewRootImpl$TraversalRunnable;-><init>()V
-Landroid/view/ViewRootImpl$UnhandledKeyManager;
-Landroid/view/ViewRootImpl$UnhandledKeyManager;-><init>()V
-Landroid/view/ViewRootImpl$UnhandledKeyManager;->dispatch(Landroid/view/View;Landroid/view/KeyEvent;)Z
-Landroid/view/ViewRootImpl$UnhandledKeyManager;->mCapturedKeys:Landroid/util/SparseArray;
-Landroid/view/ViewRootImpl$UnhandledKeyManager;->mCurrentReceiver:Ljava/lang/ref/WeakReference;
-Landroid/view/ViewRootImpl$UnhandledKeyManager;->mDispatched:Z
-Landroid/view/ViewRootImpl$UnhandledKeyManager;->preDispatch(Landroid/view/KeyEvent;)V
-Landroid/view/ViewRootImpl$UnhandledKeyManager;->preViewDispatch(Landroid/view/KeyEvent;)Z
-Landroid/view/ViewRootImpl$ViewPostImeInputStage;
-Landroid/view/ViewRootImpl$ViewPostImeInputStage;-><init>(Landroid/view/ViewRootImpl$InputStage;)V
-Landroid/view/ViewRootImpl$ViewPostImeInputStage;->maybeUpdatePointerIcon(Landroid/view/MotionEvent;)V
-Landroid/view/ViewRootImpl$ViewPostImeInputStage;->onDeliverToNext(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
-Landroid/view/ViewRootImpl$ViewPostImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-Landroid/view/ViewRootImpl$ViewPostImeInputStage;->performFocusNavigation(Landroid/view/KeyEvent;)Z
-Landroid/view/ViewRootImpl$ViewPostImeInputStage;->performKeyboardGroupNavigation(I)Z
-Landroid/view/ViewRootImpl$ViewPostImeInputStage;->processGenericMotionEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-Landroid/view/ViewRootImpl$ViewPostImeInputStage;->processKeyEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-Landroid/view/ViewRootImpl$ViewPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-Landroid/view/ViewRootImpl$ViewPostImeInputStage;->processTrackballEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-Landroid/view/ViewRootImpl$ViewPreImeInputStage;
-Landroid/view/ViewRootImpl$ViewPreImeInputStage;-><init>(Landroid/view/ViewRootImpl$InputStage;)V
-Landroid/view/ViewRootImpl$ViewPreImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-Landroid/view/ViewRootImpl$ViewPreImeInputStage;->processKeyEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-Landroid/view/ViewRootImpl$ViewRootHandler;
-Landroid/view/ViewRootImpl$ViewRootHandler;-><init>()V
-Landroid/view/ViewRootImpl$W;
-Landroid/view/ViewRootImpl$W;-><init>(Landroid/view/ViewRootImpl;)V
-Landroid/view/ViewRootImpl$W;->checkCallingPermission(Ljava/lang/String;)I
-Landroid/view/ViewRootImpl$W;->closeSystemDialogs(Ljava/lang/String;)V
-Landroid/view/ViewRootImpl$W;->dispatchAppVisibility(Z)V
-Landroid/view/ViewRootImpl$W;->dispatchDragEvent(Landroid/view/DragEvent;)V
-Landroid/view/ViewRootImpl$W;->dispatchGetNewSurface()V
-Landroid/view/ViewRootImpl$W;->dispatchPointerCaptureChanged(Z)V
-Landroid/view/ViewRootImpl$W;->dispatchSystemUiVisibilityChanged(IIII)V
-Landroid/view/ViewRootImpl$W;->dispatchWallpaperCommand(Ljava/lang/String;IIILandroid/os/Bundle;Z)V
-Landroid/view/ViewRootImpl$W;->dispatchWallpaperOffsets(FFFFZ)V
-Landroid/view/ViewRootImpl$W;->dispatchWindowShown()V
-Landroid/view/ViewRootImpl$W;->executeCommand(Ljava/lang/String;Ljava/lang/String;Landroid/os/ParcelFileDescriptor;)V
-Landroid/view/ViewRootImpl$W;->moved(II)V
-Landroid/view/ViewRootImpl$W;->mViewAncestor:Ljava/lang/ref/WeakReference;
-Landroid/view/ViewRootImpl$W;->mWindowSession:Landroid/view/IWindowSession;
-Landroid/view/ViewRootImpl$W;->requestAppKeyboardShortcuts(Lcom/android/internal/os/IResultReceiver;I)V
-Landroid/view/ViewRootImpl$W;->resized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
-Landroid/view/ViewRootImpl$W;->updatePointerIcon(FF)V
-Landroid/view/ViewRootImpl$W;->windowFocusChanged(ZZ)V
-Landroid/view/ViewRootImpl$WindowInputEventReceiver;
-Landroid/view/ViewRootImpl$WindowInputEventReceiver;-><init>(Landroid/view/InputChannel;Landroid/os/Looper;)V
-Landroid/view/ViewRootImpl$WindowInputEventReceiver;->dispose()V
-Landroid/view/ViewRootImpl$WindowInputEventReceiver;->onBatchedInputEventPending()V
-Landroid/view/ViewRootImpl$WindowInputEventReceiver;->onInputEvent(Landroid/view/InputEvent;I)V
-Landroid/view/ViewRootImpl$WindowStoppedCallback;
-Landroid/view/ViewRootImpl$WindowStoppedCallback;->windowStopped(Z)V
-Landroid/view/ViewRootImpl;
-Landroid/view/ViewRootImpl;-><init>(Landroid/content/Context;Landroid/view/Display;)V
-Landroid/view/ViewRootImpl;->addFirstDrawHandler(Ljava/lang/Runnable;)V
-Landroid/view/ViewRootImpl;->addWindowCallbacks(Landroid/view/WindowCallbacks;)V
-Landroid/view/ViewRootImpl;->addWindowStoppedCallback(Landroid/view/ViewRootImpl$WindowStoppedCallback;)V
-Landroid/view/ViewRootImpl;->adjustInputEventForCompatibility(Landroid/view/InputEvent;)V
-Landroid/view/ViewRootImpl;->applyKeepScreenOnFlag(Landroid/view/WindowManager$LayoutParams;)V
-Landroid/view/ViewRootImpl;->changeCanvasOpacity(Z)V
-Landroid/view/ViewRootImpl;->checkForLeavingTouchModeAndConsume(Landroid/view/KeyEvent;)Z
-Landroid/view/ViewRootImpl;->checkThread()V
-Landroid/view/ViewRootImpl;->collectViewAttributes()Z
-Landroid/view/ViewRootImpl;->DBG:Z
-Landroid/view/ViewRootImpl;->debug()V
-Landroid/view/ViewRootImpl;->DEBUG_CONFIGURATION:Z
-Landroid/view/ViewRootImpl;->DEBUG_DIALOG:Z
-Landroid/view/ViewRootImpl;->DEBUG_DRAW:Z
-Landroid/view/ViewRootImpl;->DEBUG_FPS:Z
-Landroid/view/ViewRootImpl;->DEBUG_IMF:Z
-Landroid/view/ViewRootImpl;->DEBUG_INPUT_RESIZE:Z
-Landroid/view/ViewRootImpl;->DEBUG_INPUT_STAGES:Z
-Landroid/view/ViewRootImpl;->DEBUG_KEEP_SCREEN_ON:Z
-Landroid/view/ViewRootImpl;->DEBUG_LAYOUT:Z
-Landroid/view/ViewRootImpl;->DEBUG_ORIENTATION:Z
-Landroid/view/ViewRootImpl;->DEBUG_TRACKBALL:Z
-Landroid/view/ViewRootImpl;->deliverInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
-Landroid/view/ViewRootImpl;->destroyHardwareRenderer()V
-Landroid/view/ViewRootImpl;->destroyHardwareResources()V
-Landroid/view/ViewRootImpl;->die(Z)Z
-Landroid/view/ViewRootImpl;->dipToPx(I)I
-Landroid/view/ViewRootImpl;->dispatchApplyInsets(Landroid/view/View;)V
-Landroid/view/ViewRootImpl;->dispatchAppVisibility(Z)V
-Landroid/view/ViewRootImpl;->dispatchCheckFocus()V
-Landroid/view/ViewRootImpl;->dispatchCloseSystemDialogs(Ljava/lang/String;)V
-Landroid/view/ViewRootImpl;->dispatchDetachedFromWindow()V
-Landroid/view/ViewRootImpl;->dispatchDragEvent(Landroid/view/DragEvent;)V
-Landroid/view/ViewRootImpl;->dispatchGetNewSurface()V
-Landroid/view/ViewRootImpl;->dispatchInvalidateDelayed(Landroid/view/View;J)V
-Landroid/view/ViewRootImpl;->dispatchInvalidateOnAnimation(Landroid/view/View;)V
-Landroid/view/ViewRootImpl;->dispatchInvalidateRectDelayed(Landroid/view/View$AttachInfo$InvalidateInfo;J)V
-Landroid/view/ViewRootImpl;->dispatchInvalidateRectOnAnimation(Landroid/view/View$AttachInfo$InvalidateInfo;)V
-Landroid/view/ViewRootImpl;->dispatchKeyFromAutofill(Landroid/view/KeyEvent;)V
-Landroid/view/ViewRootImpl;->dispatchMoved(II)V
-Landroid/view/ViewRootImpl;->dispatchPointerCaptureChanged(Z)V
-Landroid/view/ViewRootImpl;->dispatchRequestKeyboardShortcuts(Lcom/android/internal/os/IResultReceiver;I)V
-Landroid/view/ViewRootImpl;->dispatchSystemUiVisibilityChanged(IIII)V
-Landroid/view/ViewRootImpl;->dispatchUnhandledKeyEvent(Landroid/view/KeyEvent;)Z
-Landroid/view/ViewRootImpl;->dispatchWindowShown()V
-Landroid/view/ViewRootImpl;->doConsumeBatchedInput(J)V
-Landroid/view/ViewRootImpl;->doDie()V
-Landroid/view/ViewRootImpl;->doProcessInputEvents()V
-Landroid/view/ViewRootImpl;->doTraversal()V
-Landroid/view/ViewRootImpl;->draw(Z)Z
-Landroid/view/ViewRootImpl;->drawAccessibilityFocusedDrawableIfNeeded(Landroid/graphics/Canvas;)V
-Landroid/view/ViewRootImpl;->drawPending()V
-Landroid/view/ViewRootImpl;->drawSoftware(Landroid/view/Surface;Landroid/view/View$AttachInfo;IIZLandroid/graphics/Rect;Landroid/graphics/Rect;)Z
-Landroid/view/ViewRootImpl;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-Landroid/view/ViewRootImpl;->dumpGfxInfo([I)V
-Landroid/view/ViewRootImpl;->dumpViewHierarchy(Ljava/lang/String;Ljava/io/PrintWriter;Landroid/view/View;)V
-Landroid/view/ViewRootImpl;->endDragResizing()V
-Landroid/view/ViewRootImpl;->ensureInsetsNonNegative(Landroid/graphics/Rect;Ljava/lang/String;)Landroid/graphics/Rect;
-Landroid/view/ViewRootImpl;->ensureTouchModeLocally(Z)Z
-Landroid/view/ViewRootImpl;->enterTouchMode()Z
-Landroid/view/ViewRootImpl;->findAncestorToTakeFocusInTouchMode(Landroid/view/View;)Landroid/view/ViewGroup;
-Landroid/view/ViewRootImpl;->findFocusedVirtualNode(Landroid/view/accessibility/AccessibilityNodeProvider;)Landroid/view/accessibility/AccessibilityNodeInfo;
-Landroid/view/ViewRootImpl;->finishInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
-Landroid/view/ViewRootImpl;->fireAccessibilityFocusEventIfHasFocusedNode()V
-Landroid/view/ViewRootImpl;->forceLayout(Landroid/view/View;)V
-Landroid/view/ViewRootImpl;->getAccessibilityFocusedDrawable()Landroid/graphics/drawable/Drawable;
-Landroid/view/ViewRootImpl;->getAccessibilityFocusedRect(Landroid/graphics/Rect;)Z
-Landroid/view/ViewRootImpl;->getAccessibilityInteractionController()Landroid/view/AccessibilityInteractionController;
-Landroid/view/ViewRootImpl;->getAudioManager()Landroid/media/AudioManager;
-Landroid/view/ViewRootImpl;->getAutofillManager()Landroid/view/autofill/AutofillManager;
-Landroid/view/ViewRootImpl;->getCommonPredecessor(Landroid/view/View;Landroid/view/View;)Landroid/view/View;
-Landroid/view/ViewRootImpl;->getDisplayId()I
-Landroid/view/ViewRootImpl;->getGfxInfo(Landroid/view/View;[I)V
-Landroid/view/ViewRootImpl;->getHeight()I
-Landroid/view/ViewRootImpl;->getHostVisibility()I
-Landroid/view/ViewRootImpl;->getImpliedSystemUiVisibility(Landroid/view/WindowManager$LayoutParams;)I
-Landroid/view/ViewRootImpl;->getLastTouchSource()I
-Landroid/view/ViewRootImpl;->getLocation()Landroid/view/WindowLeaked;
-Landroid/view/ViewRootImpl;->getRootMeasureSpec(II)I
-Landroid/view/ViewRootImpl;->getRunQueue()Landroid/view/HandlerActionQueue;
-Landroid/view/ViewRootImpl;->getTitle()Ljava/lang/CharSequence;
-Landroid/view/ViewRootImpl;->getValidLayoutRequesters(Ljava/util/ArrayList;Z)Ljava/util/ArrayList;
-Landroid/view/ViewRootImpl;->getWidth()I
-Landroid/view/ViewRootImpl;->getWindowInsets(Z)Landroid/view/WindowInsets;
-Landroid/view/ViewRootImpl;->handleAppVisibility(Z)V
-Landroid/view/ViewRootImpl;->handleDispatchSystemUiVisibilityChanged(Landroid/view/ViewRootImpl$SystemUiVisibilityInfo;)V
-Landroid/view/ViewRootImpl;->handleDispatchWindowShown()V
-Landroid/view/ViewRootImpl;->handleDragEvent(Landroid/view/DragEvent;)V
-Landroid/view/ViewRootImpl;->handleGetNewSurface()V
-Landroid/view/ViewRootImpl;->handleOutOfResourcesException(Landroid/view/Surface$OutOfResourcesException;)V
-Landroid/view/ViewRootImpl;->handlePointerCaptureChanged(Z)V
-Landroid/view/ViewRootImpl;->handleRequestKeyboardShortcuts(Lcom/android/internal/os/IResultReceiver;I)V
-Landroid/view/ViewRootImpl;->handleWindowContentChangedEvent(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/view/ViewRootImpl;->handleWindowFocusChanged()V
-Landroid/view/ViewRootImpl;->hasPointerCapture()Z
-Landroid/view/ViewRootImpl;->invalidateRectOnScreen(Landroid/graphics/Rect;)V
-Landroid/view/ViewRootImpl;->invalidateWorld(Landroid/view/View;)V
-Landroid/view/ViewRootImpl;->isAutofillUiShowing()Z
-Landroid/view/ViewRootImpl;->isInLayout()Z
-Landroid/view/ViewRootImpl;->isInLocalFocusMode()Z
-Landroid/view/ViewRootImpl;->isInTouchMode()Z
-Landroid/view/ViewRootImpl;->isNavigationKey(Landroid/view/KeyEvent;)Z
-Landroid/view/ViewRootImpl;->isTerminalInputEvent(Landroid/view/InputEvent;)Z
-Landroid/view/ViewRootImpl;->isTypingKey(Landroid/view/KeyEvent;)Z
-Landroid/view/ViewRootImpl;->isViewDescendantOf(Landroid/view/View;Landroid/view/View;)Z
-Landroid/view/ViewRootImpl;->leaveTouchMode()Z
-Landroid/view/ViewRootImpl;->loadSystemProperties()V
-Landroid/view/ViewRootImpl;->LOCAL_LOGV:Z
-Landroid/view/ViewRootImpl;->mAccessibilityFocusedHost:Landroid/view/View;
-Landroid/view/ViewRootImpl;->mAccessibilityFocusedVirtualView:Landroid/view/accessibility/AccessibilityNodeInfo;
-Landroid/view/ViewRootImpl;->mAccessibilityInteractionConnectionManager:Landroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;
-Landroid/view/ViewRootImpl;->mAccessibilityInteractionController:Landroid/view/AccessibilityInteractionController;
-Landroid/view/ViewRootImpl;->mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
-Landroid/view/ViewRootImpl;->mActivityConfigCallback:Landroid/view/ViewRootImpl$ActivityConfigCallback;
-Landroid/view/ViewRootImpl;->mActivityRelaunched:Z
-Landroid/view/ViewRootImpl;->mAddedTouchMode:Z
-Landroid/view/ViewRootImpl;->mApplyInsetsRequested:Z
-Landroid/view/ViewRootImpl;->mAppVisibilityChanged:Z
-Landroid/view/ViewRootImpl;->mAppVisible:Z
-Landroid/view/ViewRootImpl;->mAudioManager:Landroid/media/AudioManager;
-Landroid/view/ViewRootImpl;->MAX_QUEUED_INPUT_EVENT_POOL_SIZE:I
-Landroid/view/ViewRootImpl;->MAX_TRACKBALL_DELAY:I
-Landroid/view/ViewRootImpl;->maybeHandleWindowMove(Landroid/graphics/Rect;)V
-Landroid/view/ViewRootImpl;->maybeUpdateTooltip(Landroid/view/MotionEvent;)V
-Landroid/view/ViewRootImpl;->mBasePackageName:Ljava/lang/String;
-Landroid/view/ViewRootImpl;->mCanvasOffsetX:I
-Landroid/view/ViewRootImpl;->mCanvasOffsetY:I
-Landroid/view/ViewRootImpl;->mChoreographer:Landroid/view/Choreographer;
-Landroid/view/ViewRootImpl;->mClientWindowLayoutFlags:I
-Landroid/view/ViewRootImpl;->mConsumeBatchedInputImmediatelyRunnable:Landroid/view/ViewRootImpl$ConsumeBatchedInputImmediatelyRunnable;
-Landroid/view/ViewRootImpl;->mConsumeBatchedInputImmediatelyScheduled:Z
-Landroid/view/ViewRootImpl;->mConsumeBatchedInputScheduled:Z
-Landroid/view/ViewRootImpl;->mConsumedBatchedInputRunnable:Landroid/view/ViewRootImpl$ConsumeBatchedInputRunnable;
-Landroid/view/ViewRootImpl;->mCurrentDragView:Landroid/view/View;
-Landroid/view/ViewRootImpl;->mCurScrollY:I
-Landroid/view/ViewRootImpl;->mCustomPointerIcon:Landroid/view/PointerIcon;
-Landroid/view/ViewRootImpl;->mDensity:I
-Landroid/view/ViewRootImpl;->mDispatchContentInsets:Landroid/graphics/Rect;
-Landroid/view/ViewRootImpl;->mDispatchDisplayCutout:Landroid/view/DisplayCutout;
-Landroid/view/ViewRootImpl;->mDispatchStableInsets:Landroid/graphics/Rect;
-Landroid/view/ViewRootImpl;->mDisplay:Landroid/view/Display;
-Landroid/view/ViewRootImpl;->mDisplayListener:Landroid/hardware/display/DisplayManager$DisplayListener;
-Landroid/view/ViewRootImpl;->mDisplayManager:Landroid/hardware/display/DisplayManager;
-Landroid/view/ViewRootImpl;->mDragDescription:Landroid/content/ClipDescription;
-Landroid/view/ViewRootImpl;->mDragPoint:Landroid/graphics/PointF;
-Landroid/view/ViewRootImpl;->mDragResizing:Z
-Landroid/view/ViewRootImpl;->mDrawingAllowed:Z
-Landroid/view/ViewRootImpl;->mDrawsNeededToReport:I
-Landroid/view/ViewRootImpl;->measureHierarchy(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;Landroid/content/res/Resources;II)Z
-Landroid/view/ViewRootImpl;->mFirst:Z
-Landroid/view/ViewRootImpl;->mFirstInputStage:Landroid/view/ViewRootImpl$InputStage;
-Landroid/view/ViewRootImpl;->mFirstPostImeInputStage:Landroid/view/ViewRootImpl$InputStage;
-Landroid/view/ViewRootImpl;->mForceDecorViewVisibility:Z
-Landroid/view/ViewRootImpl;->mForceNextConfigUpdate:Z
-Landroid/view/ViewRootImpl;->mForceNextWindowRelayout:Z
-Landroid/view/ViewRootImpl;->mFpsNumFrames:I
-Landroid/view/ViewRootImpl;->mFpsPrevTime:J
-Landroid/view/ViewRootImpl;->mFpsStartTime:J
-Landroid/view/ViewRootImpl;->mFullRedrawNeeded:Z
-Landroid/view/ViewRootImpl;->mHadWindowFocus:Z
-Landroid/view/ViewRootImpl;->mHandler:Landroid/view/ViewRootImpl$ViewRootHandler;
-Landroid/view/ViewRootImpl;->mHandlingLayoutInLayoutRequest:Z
-Landroid/view/ViewRootImpl;->mHardwareXOffset:I
-Landroid/view/ViewRootImpl;->mHardwareYOffset:I
-Landroid/view/ViewRootImpl;->mHasHadWindowFocus:Z
-Landroid/view/ViewRootImpl;->mHighContrastTextManager:Landroid/view/ViewRootImpl$HighContrastTextManager;
-Landroid/view/ViewRootImpl;->mInLayout:Z
-Landroid/view/ViewRootImpl;->mInputChannel:Landroid/view/InputChannel;
-Landroid/view/ViewRootImpl;->mInputEventConsistencyVerifier:Landroid/view/InputEventConsistencyVerifier;
-Landroid/view/ViewRootImpl;->mInputEventReceiver:Landroid/view/ViewRootImpl$WindowInputEventReceiver;
-Landroid/view/ViewRootImpl;->mInputQueue:Landroid/view/InputQueue;
-Landroid/view/ViewRootImpl;->mInputQueueCallback:Landroid/view/InputQueue$Callback;
-Landroid/view/ViewRootImpl;->mInvalidateOnAnimationRunnable:Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;
-Landroid/view/ViewRootImpl;->mInvalidateRootRequested:Z
-Landroid/view/ViewRootImpl;->mIsAmbientMode:Z
-Landroid/view/ViewRootImpl;->mIsAnimating:Z
-Landroid/view/ViewRootImpl;->mIsCreating:Z
-Landroid/view/ViewRootImpl;->mIsDrawing:Z
-Landroid/view/ViewRootImpl;->mIsInTraversal:Z
-Landroid/view/ViewRootImpl;->mLastConfigurationFromResources:Landroid/content/res/Configuration;
-Landroid/view/ViewRootImpl;->mLastGivenInsets:Landroid/view/ViewTreeObserver$InternalInsetsInfo;
-Landroid/view/ViewRootImpl;->mLastInCompatMode:Z
-Landroid/view/ViewRootImpl;->mLastOverscanRequested:Z
-Landroid/view/ViewRootImpl;->mLastReportedMergedConfiguration:Landroid/util/MergedConfiguration;
-Landroid/view/ViewRootImpl;->mLastSystemUiVisibility:I
-Landroid/view/ViewRootImpl;->mLastTouchPoint:Landroid/graphics/PointF;
-Landroid/view/ViewRootImpl;->mLastTouchSource:I
-Landroid/view/ViewRootImpl;->mLastWasImTarget:Z
-Landroid/view/ViewRootImpl;->mLastWindowInsets:Landroid/view/WindowInsets;
-Landroid/view/ViewRootImpl;->mLayoutRequested:Z
-Landroid/view/ViewRootImpl;->mLayoutRequesters:Ljava/util/ArrayList;
-Landroid/view/ViewRootImpl;->mLocalDragState:Ljava/lang/Object;
-Landroid/view/ViewRootImpl;->mLocation:Landroid/view/WindowLeaked;
-Landroid/view/ViewRootImpl;->mLostWindowFocus:Z
-Landroid/view/ViewRootImpl;->mNeedsRendererSetup:Z
-Landroid/view/ViewRootImpl;->mNewSurfaceNeeded:Z
-Landroid/view/ViewRootImpl;->mNextRtFrameCallback:Landroid/view/ThreadedRenderer$FrameDrawingCallback;
-Landroid/view/ViewRootImpl;->mNoncompatDensity:I
-Landroid/view/ViewRootImpl;->mOrigWindowType:I
-Landroid/view/ViewRootImpl;->mPausedForTransition:Z
-Landroid/view/ViewRootImpl;->mPendingAlwaysConsumeNavBar:Z
-Landroid/view/ViewRootImpl;->mPendingBackDropFrame:Landroid/graphics/Rect;
-Landroid/view/ViewRootImpl;->mPendingContentInsets:Landroid/graphics/Rect;
-Landroid/view/ViewRootImpl;->mPendingDisplayCutout:Landroid/view/DisplayCutout$ParcelableWrapper;
-Landroid/view/ViewRootImpl;->mPendingInputEventCount:I
-Landroid/view/ViewRootImpl;->mPendingInputEventHead:Landroid/view/ViewRootImpl$QueuedInputEvent;
-Landroid/view/ViewRootImpl;->mPendingInputEventQueueLengthCounterName:Ljava/lang/String;
-Landroid/view/ViewRootImpl;->mPendingInputEventTail:Landroid/view/ViewRootImpl$QueuedInputEvent;
-Landroid/view/ViewRootImpl;->mPendingMergedConfiguration:Landroid/util/MergedConfiguration;
-Landroid/view/ViewRootImpl;->mPendingOutsets:Landroid/graphics/Rect;
-Landroid/view/ViewRootImpl;->mPendingOverscanInsets:Landroid/graphics/Rect;
-Landroid/view/ViewRootImpl;->mPendingStableInsets:Landroid/graphics/Rect;
-Landroid/view/ViewRootImpl;->mPendingTransitions:Ljava/util/ArrayList;
-Landroid/view/ViewRootImpl;->mPendingVisibleInsets:Landroid/graphics/Rect;
-Landroid/view/ViewRootImpl;->mPointerCapture:Z
-Landroid/view/ViewRootImpl;->mPointerIconType:I
-Landroid/view/ViewRootImpl;->mPreviousTransparentRegion:Landroid/graphics/Region;
-Landroid/view/ViewRootImpl;->mProcessInputEventsScheduled:Z
-Landroid/view/ViewRootImpl;->mProfile:Z
-Landroid/view/ViewRootImpl;->mProfileRendering:Z
-Landroid/view/ViewRootImpl;->mQueuedInputEventPool:Landroid/view/ViewRootImpl$QueuedInputEvent;
-Landroid/view/ViewRootImpl;->mQueuedInputEventPoolSize:I
-Landroid/view/ViewRootImpl;->mRemoved:Z
-Landroid/view/ViewRootImpl;->mRenderProfiler:Landroid/view/Choreographer$FrameCallback;
-Landroid/view/ViewRootImpl;->mRenderProfilingEnabled:Z
-Landroid/view/ViewRootImpl;->mReportNextDraw:Z
-Landroid/view/ViewRootImpl;->mResizeInterpolator:Landroid/view/animation/Interpolator;
-Landroid/view/ViewRootImpl;->mResizeMode:I
-Landroid/view/ViewRootImpl;->mScroller:Landroid/widget/Scroller;
-Landroid/view/ViewRootImpl;->mScrollMayChange:Z
-Landroid/view/ViewRootImpl;->mScrollY:I
-Landroid/view/ViewRootImpl;->mSendWindowContentChangedAccessibilityEvent:Landroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;
-Landroid/view/ViewRootImpl;->mSeq:I
-Landroid/view/ViewRootImpl;->MSG_CHECK_FOCUS:I
-Landroid/view/ViewRootImpl;->MSG_CLEAR_ACCESSIBILITY_FOCUS_HOST:I
-Landroid/view/ViewRootImpl;->MSG_CLOSE_SYSTEM_DIALOGS:I
-Landroid/view/ViewRootImpl;->MSG_DIE:I
-Landroid/view/ViewRootImpl;->MSG_DISPATCH_APP_VISIBILITY:I
-Landroid/view/ViewRootImpl;->MSG_DISPATCH_DRAG_EVENT:I
-Landroid/view/ViewRootImpl;->MSG_DISPATCH_DRAG_LOCATION_EVENT:I
-Landroid/view/ViewRootImpl;->MSG_DISPATCH_GET_NEW_SURFACE:I
-Landroid/view/ViewRootImpl;->MSG_DISPATCH_INPUT_EVENT:I
-Landroid/view/ViewRootImpl;->MSG_DISPATCH_KEY_FROM_AUTOFILL:I
-Landroid/view/ViewRootImpl;->MSG_DISPATCH_KEY_FROM_IME:I
-Landroid/view/ViewRootImpl;->MSG_DISPATCH_SYSTEM_UI_VISIBILITY:I
-Landroid/view/ViewRootImpl;->MSG_DISPATCH_WINDOW_SHOWN:I
-Landroid/view/ViewRootImpl;->MSG_DRAW_FINISHED:I
-Landroid/view/ViewRootImpl;->MSG_INVALIDATE:I
-Landroid/view/ViewRootImpl;->MSG_INVALIDATE_RECT:I
-Landroid/view/ViewRootImpl;->MSG_INVALIDATE_WORLD:I
-Landroid/view/ViewRootImpl;->MSG_POINTER_CAPTURE_CHANGED:I
-Landroid/view/ViewRootImpl;->MSG_PROCESS_INPUT_EVENTS:I
-Landroid/view/ViewRootImpl;->MSG_REQUEST_KEYBOARD_SHORTCUTS:I
-Landroid/view/ViewRootImpl;->MSG_RESIZED:I
-Landroid/view/ViewRootImpl;->MSG_RESIZED_REPORT:I
-Landroid/view/ViewRootImpl;->MSG_SYNTHESIZE_INPUT_EVENT:I
-Landroid/view/ViewRootImpl;->MSG_UPDATE_CONFIGURATION:I
-Landroid/view/ViewRootImpl;->MSG_UPDATE_POINTER_ICON:I
-Landroid/view/ViewRootImpl;->MSG_WINDOW_FOCUS_CHANGED:I
-Landroid/view/ViewRootImpl;->MSG_WINDOW_MOVED:I
-Landroid/view/ViewRootImpl;->mSoftInputMode:I
-Landroid/view/ViewRootImpl;->mSurfaceHolder:Lcom/android/internal/view/BaseSurfaceHolder;
-Landroid/view/ViewRootImpl;->mSurfaceHolderCallback:Landroid/view/SurfaceHolder$Callback2;
-Landroid/view/ViewRootImpl;->mSyntheticInputStage:Landroid/view/ViewRootImpl$InputStage;
-Landroid/view/ViewRootImpl;->mTag:Ljava/lang/String;
-Landroid/view/ViewRootImpl;->mTargetSdkVersion:I
-Landroid/view/ViewRootImpl;->mTempHashSet:Ljava/util/HashSet;
-Landroid/view/ViewRootImpl;->mTempRect:Landroid/graphics/Rect;
-Landroid/view/ViewRootImpl;->mThread:Ljava/lang/Thread;
-Landroid/view/ViewRootImpl;->mTmpLocation:[I
-Landroid/view/ViewRootImpl;->mTmpValue:Landroid/util/TypedValue;
-Landroid/view/ViewRootImpl;->mTranslator:Landroid/content/res/CompatibilityInfo$Translator;
-Landroid/view/ViewRootImpl;->mTransparentRegion:Landroid/graphics/Region;
-Landroid/view/ViewRootImpl;->mTraversalBarrier:I
-Landroid/view/ViewRootImpl;->mTraversalRunnable:Landroid/view/ViewRootImpl$TraversalRunnable;
-Landroid/view/ViewRootImpl;->mTraversalScheduled:Z
-Landroid/view/ViewRootImpl;->MT_RENDERER_AVAILABLE:Z
-Landroid/view/ViewRootImpl;->mUnbufferedInputDispatch:Z
-Landroid/view/ViewRootImpl;->mUnhandledKeyManager:Landroid/view/ViewRootImpl$UnhandledKeyManager;
-Landroid/view/ViewRootImpl;->mUpcomingInTouchMode:Z
-Landroid/view/ViewRootImpl;->mUpcomingWindowFocus:Z
-Landroid/view/ViewRootImpl;->mUseMTRenderer:Z
-Landroid/view/ViewRootImpl;->mViewConfiguration:Landroid/view/ViewConfiguration;
-Landroid/view/ViewRootImpl;->mViewLayoutDirectionInitial:I
-Landroid/view/ViewRootImpl;->mViewVisibility:I
-Landroid/view/ViewRootImpl;->mVisRect:Landroid/graphics/Rect;
-Landroid/view/ViewRootImpl;->mWillDrawSoon:Z
-Landroid/view/ViewRootImpl;->mWindow:Landroid/view/ViewRootImpl$W;
-Landroid/view/ViewRootImpl;->mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
-Landroid/view/ViewRootImpl;->mWindowAttributesChanged:Z
-Landroid/view/ViewRootImpl;->mWindowAttributesChangesFlag:I
-Landroid/view/ViewRootImpl;->mWindowCallbacks:Ljava/util/ArrayList;
-Landroid/view/ViewRootImpl;->mWindowDrawCountDown:Ljava/util/concurrent/CountDownLatch;
-Landroid/view/ViewRootImpl;->mWindowFocusChanged:Z
-Landroid/view/ViewRootImpl;->mWindowStoppedCallbacks:Ljava/util/ArrayList;
-Landroid/view/ViewRootImpl;->mWinFrame:Landroid/graphics/Rect;
-Landroid/view/ViewRootImpl;->notifyChildRebuilt()V
-Landroid/view/ViewRootImpl;->notifyRendererOfFramePending()V
-Landroid/view/ViewRootImpl;->obtainQueuedInputEvent(Landroid/view/InputEvent;Landroid/view/InputEventReceiver;I)Landroid/view/ViewRootImpl$QueuedInputEvent;
-Landroid/view/ViewRootImpl;->onMovedToDisplay(ILandroid/content/res/Configuration;)V
-Landroid/view/ViewRootImpl;->onPostDraw(Landroid/view/DisplayListCanvas;)V
-Landroid/view/ViewRootImpl;->onPreDraw(Landroid/view/DisplayListCanvas;)V
-Landroid/view/ViewRootImpl;->onWindowTitleChanged()V
-Landroid/view/ViewRootImpl;->outputDisplayList(Landroid/view/View;)V
-Landroid/view/ViewRootImpl;->pendingDrawFinished()V
-Landroid/view/ViewRootImpl;->performConfigurationChange(Landroid/util/MergedConfiguration;ZI)V
-Landroid/view/ViewRootImpl;->performDraw()V
-Landroid/view/ViewRootImpl;->performHapticFeedback(IZ)Z
-Landroid/view/ViewRootImpl;->performLayout(Landroid/view/WindowManager$LayoutParams;II)V
-Landroid/view/ViewRootImpl;->performMeasure(II)V
-Landroid/view/ViewRootImpl;->performTraversals()V
-Landroid/view/ViewRootImpl;->playSoundEffect(I)V
-Landroid/view/ViewRootImpl;->pokeDrawLockIfNeeded()V
-Landroid/view/ViewRootImpl;->postDrawFinished()V
-Landroid/view/ViewRootImpl;->postSendWindowContentChangedCallback(Landroid/view/View;I)V
-Landroid/view/ViewRootImpl;->profile()V
-Landroid/view/ViewRootImpl;->profileRendering(Z)V
-Landroid/view/ViewRootImpl;->PROPERTY_EMULATOR_WIN_OUTSET_BOTTOM_PX:Ljava/lang/String;
-Landroid/view/ViewRootImpl;->PROPERTY_PROFILE_RENDERING:Ljava/lang/String;
-Landroid/view/ViewRootImpl;->recycleQueuedInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
-Landroid/view/ViewRootImpl;->registerAnimatingRenderNode(Landroid/view/RenderNode;)V
-Landroid/view/ViewRootImpl;->registerRtFrameCallback(Landroid/view/ThreadedRenderer$FrameDrawingCallback;)V
-Landroid/view/ViewRootImpl;->registerVectorDrawableAnimator(Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;)V
-Landroid/view/ViewRootImpl;->relayoutWindow(Landroid/view/WindowManager$LayoutParams;IZ)I
-Landroid/view/ViewRootImpl;->removeSendWindowContentChangedCallback()V
-Landroid/view/ViewRootImpl;->removeWindowCallbacks(Landroid/view/WindowCallbacks;)V
-Landroid/view/ViewRootImpl;->removeWindowStoppedCallback(Landroid/view/ViewRootImpl$WindowStoppedCallback;)V
-Landroid/view/ViewRootImpl;->reportActivityRelaunched()V
-Landroid/view/ViewRootImpl;->reportDrawFinish()V
-Landroid/view/ViewRootImpl;->reportDrawFinished()V
-Landroid/view/ViewRootImpl;->reportNextDraw()V
-Landroid/view/ViewRootImpl;->requestDrawWindow()V
-Landroid/view/ViewRootImpl;->requestInvalidateRootRenderNode()V
-Landroid/view/ViewRootImpl;->requestLayoutDuringLayout(Landroid/view/View;)Z
-Landroid/view/ViewRootImpl;->requestPointerCapture(Z)V
-Landroid/view/ViewRootImpl;->requestTransitionStart(Landroid/animation/LayoutTransition;)V
-Landroid/view/ViewRootImpl;->requestUpdateConfiguration(Landroid/content/res/Configuration;)V
-Landroid/view/ViewRootImpl;->resetPointerIcon(Landroid/view/MotionEvent;)V
-Landroid/view/ViewRootImpl;->sAlwaysAssignFocus:Z
-Landroid/view/ViewRootImpl;->scheduleConsumeBatchedInput()V
-Landroid/view/ViewRootImpl;->scheduleConsumeBatchedInputImmediately()V
-Landroid/view/ViewRootImpl;->scheduleProcessInputEvents()V
-Landroid/view/ViewRootImpl;->sCompatibilityDone:Z
-Landroid/view/ViewRootImpl;->sConfigCallbacks:Ljava/util/ArrayList;
-Landroid/view/ViewRootImpl;->scrollToRectOrFocus(Landroid/graphics/Rect;Z)Z
-Landroid/view/ViewRootImpl;->setAccessibilityFocus(Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/view/ViewRootImpl;->setActivityConfigCallback(Landroid/view/ViewRootImpl$ActivityConfigCallback;)V
-Landroid/view/ViewRootImpl;->setDragFocus(Landroid/view/View;Landroid/view/DragEvent;)V
-Landroid/view/ViewRootImpl;->setIsAmbientMode(Z)V
-Landroid/view/ViewRootImpl;->setLayoutParams(Landroid/view/WindowManager$LayoutParams;Z)V
-Landroid/view/ViewRootImpl;->setPausedForTransition(Z)V
-Landroid/view/ViewRootImpl;->setReportNextDraw()V
-Landroid/view/ViewRootImpl;->setTag()V
-Landroid/view/ViewRootImpl;->setView(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;Landroid/view/View;)V
-Landroid/view/ViewRootImpl;->setWindowStopped(Z)V
-Landroid/view/ViewRootImpl;->sFirstDrawComplete:Z
-Landroid/view/ViewRootImpl;->sFirstDrawHandlers:Ljava/util/ArrayList;
-Landroid/view/ViewRootImpl;->shouldUseDisplaySize(Landroid/view/WindowManager$LayoutParams;)Z
-Landroid/view/ViewRootImpl;->startDragResizing(Landroid/graphics/Rect;ZLandroid/graphics/Rect;Landroid/graphics/Rect;I)V
-Landroid/view/ViewRootImpl;->synthesizeInputEvent(Landroid/view/InputEvent;)V
-Landroid/view/ViewRootImpl;->TAG:Ljava/lang/String;
-Landroid/view/ViewRootImpl;->trackFPS()V
-Landroid/view/ViewRootImpl;->transformMatrixToGlobal(Landroid/graphics/Matrix;)V
-Landroid/view/ViewRootImpl;->transformMatrixToLocal(Landroid/graphics/Matrix;)V
-Landroid/view/ViewRootImpl;->unscheduleConsumeBatchedInput()V
-Landroid/view/ViewRootImpl;->unscheduleTraversals()V
-Landroid/view/ViewRootImpl;->updateConfiguration(I)V
-Landroid/view/ViewRootImpl;->updateContentDrawBounds()Z
-Landroid/view/ViewRootImpl;->updatePointerIcon(FF)V
-Landroid/view/ViewRootImpl;->updatePointerIcon(Landroid/view/MotionEvent;)Z
-Landroid/view/ViewRootImpl;->windowFocusChanged(ZZ)V
-Landroid/view/ViewStructure;->getTempRect()Landroid/graphics/Rect;
-Landroid/view/ViewStructure;->setAssistBlocked(Z)V
-Landroid/view/ViewStub$ViewReplaceRunnable;
-Landroid/view/ViewStub$ViewReplaceRunnable;-><init>(Landroid/view/View;)V
-Landroid/view/ViewStub$ViewReplaceRunnable;->view:Landroid/view/View;
-Landroid/view/ViewStub;->inflateViewNoAdd(Landroid/view/ViewGroup;)Landroid/view/View;
-Landroid/view/ViewStub;->mInflatedId:I
-Landroid/view/ViewStub;->mInflatedViewRef:Ljava/lang/ref/WeakReference;
-Landroid/view/ViewStub;->mInflateListener:Landroid/view/ViewStub$OnInflateListener;
-Landroid/view/ViewStub;->mInflater:Landroid/view/LayoutInflater;
-Landroid/view/ViewStub;->mLayoutResource:I
-Landroid/view/ViewStub;->replaceSelfWithView(Landroid/view/View;Landroid/view/ViewGroup;)V
-Landroid/view/ViewStub;->setInflatedIdAsync(I)Ljava/lang/Runnable;
-Landroid/view/ViewStub;->setLayoutResourceAsync(I)Ljava/lang/Runnable;
-Landroid/view/ViewStub;->setVisibilityAsync(I)Ljava/lang/Runnable;
-Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;
-Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;-><init>()V
-Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;->get(I)Ljava/lang/Object;
-Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;->mData:Ljava/util/ArrayList;
-Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;->mSize:I
-Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;->size()I
-Landroid/view/ViewTreeObserver$CopyOnWriteArray;
-Landroid/view/ViewTreeObserver$CopyOnWriteArray;-><init>()V
-Landroid/view/ViewTreeObserver$CopyOnWriteArray;->add(Ljava/lang/Object;)V
-Landroid/view/ViewTreeObserver$CopyOnWriteArray;->addAll(Landroid/view/ViewTreeObserver$CopyOnWriteArray;)V
-Landroid/view/ViewTreeObserver$CopyOnWriteArray;->clear()V
-Landroid/view/ViewTreeObserver$CopyOnWriteArray;->end()V
-Landroid/view/ViewTreeObserver$CopyOnWriteArray;->getArray()Ljava/util/ArrayList;
-Landroid/view/ViewTreeObserver$CopyOnWriteArray;->mAccess:Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;
-Landroid/view/ViewTreeObserver$CopyOnWriteArray;->mData:Ljava/util/ArrayList;
-Landroid/view/ViewTreeObserver$CopyOnWriteArray;->mDataCopy:Ljava/util/ArrayList;
-Landroid/view/ViewTreeObserver$CopyOnWriteArray;->mStart:Z
-Landroid/view/ViewTreeObserver$CopyOnWriteArray;->remove(Ljava/lang/Object;)V
-Landroid/view/ViewTreeObserver$CopyOnWriteArray;->size()I
-Landroid/view/ViewTreeObserver$CopyOnWriteArray;->start()Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;
-Landroid/view/ViewTreeObserver$InternalInsetsInfo;
-Landroid/view/ViewTreeObserver$InternalInsetsInfo;->isEmpty()Z
-Landroid/view/ViewTreeObserver$InternalInsetsInfo;->reset()V
-Landroid/view/ViewTreeObserver$InternalInsetsInfo;->TOUCHABLE_INSETS_CONTENT:I
-Landroid/view/ViewTreeObserver$InternalInsetsInfo;->TOUCHABLE_INSETS_FRAME:I
-Landroid/view/ViewTreeObserver$InternalInsetsInfo;->TOUCHABLE_INSETS_VISIBLE:I
-Landroid/view/ViewTreeObserver$OnComputeInternalInsetsListener;
-Landroid/view/ViewTreeObserver$OnComputeInternalInsetsListener;->onComputeInternalInsets(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
-Landroid/view/ViewTreeObserver$OnEnterAnimationCompleteListener;
-Landroid/view/ViewTreeObserver$OnEnterAnimationCompleteListener;->onEnterAnimationComplete()V
-Landroid/view/ViewTreeObserver$OnWindowShownListener;
-Landroid/view/ViewTreeObserver$OnWindowShownListener;->onWindowShown()V
-Landroid/view/ViewTreeObserver;-><init>(Landroid/content/Context;)V
-Landroid/view/ViewTreeObserver;->addOnEnterAnimationCompleteListener(Landroid/view/ViewTreeObserver$OnEnterAnimationCompleteListener;)V
-Landroid/view/ViewTreeObserver;->addOnWindowShownListener(Landroid/view/ViewTreeObserver$OnWindowShownListener;)V
-Landroid/view/ViewTreeObserver;->checkIsAlive()V
-Landroid/view/ViewTreeObserver;->dispatchOnEnterAnimationComplete()V
-Landroid/view/ViewTreeObserver;->dispatchOnWindowAttachedChange(Z)V
-Landroid/view/ViewTreeObserver;->dispatchOnWindowFocusChange(Z)V
-Landroid/view/ViewTreeObserver;->dispatchOnWindowShown()V
-Landroid/view/ViewTreeObserver;->hasOnPreDrawListeners()Z
-Landroid/view/ViewTreeObserver;->kill()V
-Landroid/view/ViewTreeObserver;->mAlive:Z
-Landroid/view/ViewTreeObserver;->merge(Landroid/view/ViewTreeObserver;)V
-Landroid/view/ViewTreeObserver;->mInDispatchOnDraw:Z
-Landroid/view/ViewTreeObserver;->mOnDrawListeners:Ljava/util/ArrayList;
-Landroid/view/ViewTreeObserver;->mOnEnterAnimationCompleteListeners:Ljava/util/concurrent/CopyOnWriteArrayList;
-Landroid/view/ViewTreeObserver;->mOnGlobalFocusListeners:Ljava/util/concurrent/CopyOnWriteArrayList;
-Landroid/view/ViewTreeObserver;->mOnPreDrawListeners:Landroid/view/ViewTreeObserver$CopyOnWriteArray;
-Landroid/view/ViewTreeObserver;->mOnWindowAttachListeners:Ljava/util/concurrent/CopyOnWriteArrayList;
-Landroid/view/ViewTreeObserver;->mOnWindowFocusListeners:Ljava/util/concurrent/CopyOnWriteArrayList;
-Landroid/view/ViewTreeObserver;->mOnWindowShownListeners:Landroid/view/ViewTreeObserver$CopyOnWriteArray;
-Landroid/view/ViewTreeObserver;->mWindowShown:Z
-Landroid/view/ViewTreeObserver;->removeOnEnterAnimationCompleteListener(Landroid/view/ViewTreeObserver$OnEnterAnimationCompleteListener;)V
-Landroid/view/ViewTreeObserver;->removeOnWindowShownListener(Landroid/view/ViewTreeObserver$OnWindowShownListener;)V
-Landroid/view/ViewTreeObserver;->sIllegalOnDrawModificationIsFatal:Z
-Landroid/view/Window$OnWindowDismissedCallback;
-Landroid/view/Window$OnWindowDismissedCallback;->onWindowDismissed(ZZ)V
-Landroid/view/Window$OnWindowSwipeDismissedCallback;
-Landroid/view/Window$OnWindowSwipeDismissedCallback;->onWindowSwipeDismissed()V
-Landroid/view/Window$WindowControllerCallback;
-Landroid/view/Window$WindowControllerCallback;->enterPictureInPictureModeIfPossible()V
-Landroid/view/Window$WindowControllerCallback;->exitFreeformMode()V
-Landroid/view/Window$WindowControllerCallback;->isTaskRoot()Z
-Landroid/view/Window;->adjustLayoutParamsForSubWindow(Landroid/view/WindowManager$LayoutParams;)V
-Landroid/view/Window;->clearContentView()V
-Landroid/view/Window;->destroy()V
-Landroid/view/Window;->dispatchOnWindowDismissed(ZZ)V
-Landroid/view/Window;->dispatchOnWindowSwipeDismissed()V
-Landroid/view/Window;->dispatchWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V
-Landroid/view/Window;->getElevation()F
-Landroid/view/Window;->getWindowControllerCallback()Landroid/view/Window$WindowControllerCallback;
-Landroid/view/Window;->haveDimAmount()Z
-Landroid/view/Window;->isCloseOnSwipeEnabled()Z
-Landroid/view/Window;->isOutOfBounds(Landroid/content/Context;Landroid/view/MotionEvent;)Z
-Landroid/view/Window;->isOverlayWithDecorCaptionEnabled()Z
-Landroid/view/Window;->mActiveChild:Landroid/view/Window;
-Landroid/view/Window;->mCloseOnSwipeEnabled:Z
-Landroid/view/Window;->mCloseOnTouchOutside:Z
-Landroid/view/Window;->mContainer:Landroid/view/Window;
-Landroid/view/Window;->mDefaultWindowFormat:I
-Landroid/view/Window;->mForcedWindowFlags:I
-Landroid/view/Window;->mHasChildren:Z
-Landroid/view/Window;->mHasSoftInputMode:Z
-Landroid/view/Window;->mHaveDimAmount:Z
-Landroid/view/Window;->mHaveWindowFormat:Z
-Landroid/view/Window;->mIsActive:Z
-Landroid/view/Window;->mOnRestrictedCaptionAreaChangedListener:Landroid/view/Window$OnRestrictedCaptionAreaChangedListener;
-Landroid/view/Window;->mOnWindowDismissedCallback:Landroid/view/Window$OnWindowDismissedCallback;
-Landroid/view/Window;->mOnWindowSwipeDismissedCallback:Landroid/view/Window$OnWindowSwipeDismissedCallback;
-Landroid/view/Window;->mOverlayWithDecorCaptionEnabled:Z
-Landroid/view/Window;->mRestrictedCaptionAreaRect:Landroid/graphics/Rect;
-Landroid/view/Window;->mSetCloseOnTouchOutside:Z
-Landroid/view/Window;->mWindowControllerCallback:Landroid/view/Window$WindowControllerCallback;
-Landroid/view/Window;->notifyRestrictedCaptionAreaCallback(IIII)V
-Landroid/view/Window;->onMultiWindowModeChanged()V
-Landroid/view/Window;->onPictureInPictureModeChanged(Z)V
-Landroid/view/Window;->PROPERTY_HARDWARE_UI:Ljava/lang/String;
-Landroid/view/Window;->removeFeature(I)V
-Landroid/view/Window;->reportActivityRelaunched()V
-Landroid/view/Window;->setCloseOnSwipeEnabled(Z)V
-Landroid/view/Window;->setDefaultIcon(I)V
-Landroid/view/Window;->setDefaultLogo(I)V
-Landroid/view/Window;->setOnWindowDismissedCallback(Landroid/view/Window$OnWindowDismissedCallback;)V
-Landroid/view/Window;->setOnWindowSwipeDismissedCallback(Landroid/view/Window$OnWindowSwipeDismissedCallback;)V
-Landroid/view/Window;->setOverlayWithDecorCaptionEnabled(Z)V
-Landroid/view/Window;->setPrivateFlags(II)V
-Landroid/view/Window;->setTheme(I)V
-Landroid/view/Window;->setWindowControllerCallback(Landroid/view/Window$WindowControllerCallback;)V
-Landroid/view/WindowAnimationFrameStats;-><init>()V
-Landroid/view/WindowAnimationFrameStats;-><init>(Landroid/os/Parcel;)V
-Landroid/view/WindowCallbacks;
-Landroid/view/WindowCallbacks;->onContentDrawn(IIII)Z
-Landroid/view/WindowCallbacks;->onPostDraw(Landroid/view/DisplayListCanvas;)V
-Landroid/view/WindowCallbacks;->onRequestDraw(Z)V
-Landroid/view/WindowCallbacks;->onWindowDragResizeEnd()V
-Landroid/view/WindowCallbacks;->onWindowDragResizeStart(Landroid/graphics/Rect;ZLandroid/graphics/Rect;Landroid/graphics/Rect;I)V
-Landroid/view/WindowCallbacks;->onWindowSizeIsChanging(Landroid/graphics/Rect;ZLandroid/graphics/Rect;Landroid/graphics/Rect;)V
-Landroid/view/WindowCallbacks;->RESIZE_MODE_DOCKED_DIVIDER:I
-Landroid/view/WindowCallbacks;->RESIZE_MODE_FREEFORM:I
-Landroid/view/WindowCallbacks;->RESIZE_MODE_INVALID:I
-Landroid/view/WindowCallbackWrapper;
-Landroid/view/WindowCallbackWrapper;-><init>(Landroid/view/Window$Callback;)V
-Landroid/view/WindowCallbackWrapper;->mWrapped:Landroid/view/Window$Callback;
-Landroid/view/WindowContentFrameStats;-><init>()V
-Landroid/view/WindowContentFrameStats;-><init>(Landroid/os/Parcel;)V
-Landroid/view/WindowContentFrameStats;->mFramesPostedTimeNano:[J
-Landroid/view/WindowContentFrameStats;->mFramesReadyTimeNano:[J
-Landroid/view/WindowId$FocusObserver$H;
-Landroid/view/WindowId$FocusObserver$H;-><init>()V
-Landroid/view/WindowId$FocusObserver;->mHandler:Landroid/os/Handler;
-Landroid/view/WindowId$FocusObserver;->mIObserver:Landroid/view/IWindowFocusObserver$Stub;
-Landroid/view/WindowId$FocusObserver;->mRegistrations:Ljava/util/HashMap;
-Landroid/view/WindowId;-><init>(Landroid/os/IBinder;)V
-Landroid/view/WindowId;-><init>(Landroid/view/IWindowId;)V
-Landroid/view/WindowId;->getTarget()Landroid/view/IWindowId;
-Landroid/view/WindowId;->mToken:Landroid/view/IWindowId;
-Landroid/view/WindowInfo;
-Landroid/view/WindowInfo;-><init>()V
-Landroid/view/WindowInfo;->accessibilityIdOfAnchor:J
-Landroid/view/WindowInfo;->activityToken:Landroid/os/IBinder;
-Landroid/view/WindowInfo;->boundsInScreen:Landroid/graphics/Rect;
-Landroid/view/WindowInfo;->childTokens:Ljava/util/List;
-Landroid/view/WindowInfo;->clear()V
-Landroid/view/WindowInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/view/WindowInfo;->focused:Z
-Landroid/view/WindowInfo;->initFromParcel(Landroid/os/Parcel;)V
-Landroid/view/WindowInfo;->inPictureInPicture:Z
-Landroid/view/WindowInfo;->layer:I
-Landroid/view/WindowInfo;->MAX_POOL_SIZE:I
-Landroid/view/WindowInfo;->obtain()Landroid/view/WindowInfo;
-Landroid/view/WindowInfo;->obtain(Landroid/view/WindowInfo;)Landroid/view/WindowInfo;
-Landroid/view/WindowInfo;->parentToken:Landroid/os/IBinder;
-Landroid/view/WindowInfo;->recycle()V
-Landroid/view/WindowInfo;->sPool:Landroid/util/Pools$SynchronizedPool;
-Landroid/view/WindowInfo;->title:Ljava/lang/CharSequence;
-Landroid/view/WindowInfo;->token:Landroid/os/IBinder;
-Landroid/view/WindowInfo;->type:I
-Landroid/view/WindowInsets;-><init>(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZZLandroid/view/DisplayCutout;)V
-Landroid/view/WindowInsets;->consumeSystemWindowInsets(ZZZZ)Landroid/view/WindowInsets;
-Landroid/view/WindowInsets;->consumeWindowDecorInsets()Landroid/view/WindowInsets;
-Landroid/view/WindowInsets;->consumeWindowDecorInsets(ZZZZ)Landroid/view/WindowInsets;
-Landroid/view/WindowInsets;->EMPTY_RECT:Landroid/graphics/Rect;
-Landroid/view/WindowInsets;->getWindowDecorInsetBottom()I
-Landroid/view/WindowInsets;->getWindowDecorInsetLeft()I
-Landroid/view/WindowInsets;->getWindowDecorInsetRight()I
-Landroid/view/WindowInsets;->getWindowDecorInsetTop()I
-Landroid/view/WindowInsets;->hasWindowDecorInsets()Z
-Landroid/view/WindowInsets;->inset(Landroid/graphics/Rect;)Landroid/view/WindowInsets;
-Landroid/view/WindowInsets;->insetInsets(Landroid/graphics/Rect;IIII)Landroid/graphics/Rect;
-Landroid/view/WindowInsets;->isSystemWindowInsetsConsumed()Z
-Landroid/view/WindowInsets;->mAlwaysConsumeNavBar:Z
-Landroid/view/WindowInsets;->mDisplayCutout:Landroid/view/DisplayCutout;
-Landroid/view/WindowInsets;->mDisplayCutoutConsumed:Z
-Landroid/view/WindowInsets;->mIsRound:Z
-Landroid/view/WindowInsets;->mStableInsets:Landroid/graphics/Rect;
-Landroid/view/WindowInsets;->mStableInsetsConsumed:Z
-Landroid/view/WindowInsets;->mSystemWindowInsets:Landroid/graphics/Rect;
-Landroid/view/WindowInsets;->mSystemWindowInsetsConsumed:Z
-Landroid/view/WindowInsets;->mTempRect:Landroid/graphics/Rect;
-Landroid/view/WindowInsets;->mWindowDecorInsets:Landroid/graphics/Rect;
-Landroid/view/WindowInsets;->mWindowDecorInsetsConsumed:Z
-Landroid/view/WindowInsets;->replaceWindowDecorInsets(IIII)Landroid/view/WindowInsets;
-Landroid/view/WindowInsets;->shouldAlwaysConsumeNavBar()Z
-Landroid/view/WindowLayoutParamsProto;
-Landroid/view/WindowLayoutParamsProto;-><init>()V
-Landroid/view/WindowLayoutParamsProto;->ALPHA:J
-Landroid/view/WindowLayoutParamsProto;->BUTTON_BRIGHTNESS:J
-Landroid/view/WindowLayoutParamsProto;->COLOR_MODE:J
-Landroid/view/WindowLayoutParamsProto;->FLAGS:J
-Landroid/view/WindowLayoutParamsProto;->FORMAT:J
-Landroid/view/WindowLayoutParamsProto;->GRAVITY:J
-Landroid/view/WindowLayoutParamsProto;->HAS_SYSTEM_UI_LISTENERS:J
-Landroid/view/WindowLayoutParamsProto;->HEIGHT:J
-Landroid/view/WindowLayoutParamsProto;->HORIZONTAL_MARGIN:J
-Landroid/view/WindowLayoutParamsProto;->INPUT_FEATURE_FLAGS:J
-Landroid/view/WindowLayoutParamsProto;->NEEDS_MENU_KEY:J
-Landroid/view/WindowLayoutParamsProto;->NEEDS_MENU_SET_FALSE:I
-Landroid/view/WindowLayoutParamsProto;->NEEDS_MENU_SET_TRUE:I
-Landroid/view/WindowLayoutParamsProto;->NEEDS_MENU_UNSET:I
-Landroid/view/WindowLayoutParamsProto;->PREFERRED_DISPLAY_MODE_ID:J
-Landroid/view/WindowLayoutParamsProto;->PREFERRED_REFRESH_RATE:J
-Landroid/view/WindowLayoutParamsProto;->PRIVATE_FLAGS:J
-Landroid/view/WindowLayoutParamsProto;->ROTATION_ANIMATION:J
-Landroid/view/WindowLayoutParamsProto;->ROTATION_ANIMATION_CROSSFADE:I
-Landroid/view/WindowLayoutParamsProto;->ROTATION_ANIMATION_JUMPCUT:I
-Landroid/view/WindowLayoutParamsProto;->ROTATION_ANIMATION_SEAMLESS:I
-Landroid/view/WindowLayoutParamsProto;->ROTATION_ANIMATION_UNSPECIFIED:I
-Landroid/view/WindowLayoutParamsProto;->SCREEN_BRIGHTNESS:J
-Landroid/view/WindowLayoutParamsProto;->SOFT_INPUT_MODE:J
-Landroid/view/WindowLayoutParamsProto;->SUBTREE_SYSTEM_UI_VISIBILITY_FLAGS:J
-Landroid/view/WindowLayoutParamsProto;->SYSTEM_UI_VISIBILITY_FLAGS:J
-Landroid/view/WindowLayoutParamsProto;->TYPE:J
-Landroid/view/WindowLayoutParamsProto;->USER_ACTIVITY_TIMEOUT:J
-Landroid/view/WindowLayoutParamsProto;->VERTICAL_MARGIN:J
-Landroid/view/WindowLayoutParamsProto;->WIDTH:J
-Landroid/view/WindowLayoutParamsProto;->WINDOW_ANIMATIONS:J
-Landroid/view/WindowLayoutParamsProto;->X:J
-Landroid/view/WindowLayoutParamsProto;->Y:J
-Landroid/view/WindowLeaked;
-Landroid/view/WindowManager$KeyboardShortcutsReceiver;
-Landroid/view/WindowManager$KeyboardShortcutsReceiver;->onKeyboardShortcutsReceived(Ljava/util/List;)V
-Landroid/view/WindowManager$LayoutParams$LayoutInDisplayCutoutMode;
-Landroid/view/WindowManager$LayoutParams$SoftInputModeFlags;
-Landroid/view/WindowManager$LayoutParams;->accessibilityIdOfAnchor:J
-Landroid/view/WindowManager$LayoutParams;->ACCESSIBILITY_ANCHOR_CHANGED:I
-Landroid/view/WindowManager$LayoutParams;->BUTTON_BRIGHTNESS_CHANGED:I
-Landroid/view/WindowManager$LayoutParams;->COLOR_MODE_CHANGED:I
-Landroid/view/WindowManager$LayoutParams;->dumpDimensions(Ljava/lang/StringBuilder;)V
-Landroid/view/WindowManager$LayoutParams;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/view/WindowManager$LayoutParams;->EVERYTHING_CHANGED:I
-Landroid/view/WindowManager$LayoutParams;->hasManualSurfaceInsets:Z
-Landroid/view/WindowManager$LayoutParams;->inputFeatureToString(I)Ljava/lang/String;
-Landroid/view/WindowManager$LayoutParams;->INPUT_FEATURES_CHANGED:I
-Landroid/view/WindowManager$LayoutParams;->INPUT_FEATURE_DISABLE_POINTER_GESTURES:I
-Landroid/view/WindowManager$LayoutParams;->INPUT_FEATURE_NO_INPUT_CHANNEL:I
-Landroid/view/WindowManager$LayoutParams;->INVALID_WINDOW_TYPE:I
-Landroid/view/WindowManager$LayoutParams;->isFullscreen()Z
-Landroid/view/WindowManager$LayoutParams;->isSystemAlertWindowType(I)Z
-Landroid/view/WindowManager$LayoutParams;->layoutInDisplayCutoutModeToString(I)Ljava/lang/String;
-Landroid/view/WindowManager$LayoutParams;->LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS:I
-Landroid/view/WindowManager$LayoutParams;->mColorMode:I
-Landroid/view/WindowManager$LayoutParams;->mCompatibilityParamsBackup:[I
-Landroid/view/WindowManager$LayoutParams;->mTitle:Ljava/lang/CharSequence;
-Landroid/view/WindowManager$LayoutParams;->NEEDS_MENU_KEY_CHANGED:I
-Landroid/view/WindowManager$LayoutParams;->NEEDS_MENU_UNSET:I
-Landroid/view/WindowManager$LayoutParams;->PREFERRED_DISPLAY_MODE_ID:I
-Landroid/view/WindowManager$LayoutParams;->PREFERRED_REFRESH_RATE_CHANGED:I
-Landroid/view/WindowManager$LayoutParams;->preservePreviousSurfaceInsets:Z
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAGS_CHANGED:I
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_ACQUIRES_SLEEP_TOKEN:I
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_COMPATIBLE_WINDOW:I
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_DISABLE_WALLPAPER_TOUCH_EVENTS:I
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_FAKE_HARDWARE_ACCELERATED:I
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_FORCE_DECOR_VIEW_VISIBILITY:I
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_FORCE_DRAW_STATUS_BAR_BACKGROUND:I
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_FORCE_HARDWARE_ACCELERATED:I
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_FORCE_STATUS_BAR_VISIBLE_TRANSPARENT:I
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS:I
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_INHERIT_TRANSLUCENT_DECOR:I
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY:I
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_IS_SCREEN_DECOR:I
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_KEYGUARD:I
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME:I
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_PRESERVE_GEOMETRY:I
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_SUSTAINED_PERFORMANCE_MODE:I
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_SYSTEM_ERROR:I
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_WANTS_OFFSET_NOTIFICATIONS:I
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_WILL_NOT_REPLACE_ON_RELAUNCH:I
-Landroid/view/WindowManager$LayoutParams;->rotationAnimationToString(I)Ljava/lang/String;
-Landroid/view/WindowManager$LayoutParams;->ROTATION_ANIMATION_UNSPECIFIED:I
-Landroid/view/WindowManager$LayoutParams;->scale(F)V
-Landroid/view/WindowManager$LayoutParams;->setSurfaceInsets(Landroid/view/View;ZZ)V
-Landroid/view/WindowManager$LayoutParams;->softInputModeToString(I)Ljava/lang/String;
-Landroid/view/WindowManager$LayoutParams;->surfaceInsets:Landroid/graphics/Rect;
-Landroid/view/WindowManager$LayoutParams;->SURFACE_INSETS_CHANGED:I
-Landroid/view/WindowManager$LayoutParams;->SYSTEM_UI_LISTENER_CHANGED:I
-Landroid/view/WindowManager$LayoutParams;->SYSTEM_UI_VISIBILITY_CHANGED:I
-Landroid/view/WindowManager$LayoutParams;->toString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/view/WindowManager$LayoutParams;->TRANSLUCENT_FLAGS_CHANGED:I
-Landroid/view/WindowManager$LayoutParams;->TYPE_APPLICATION_ABOVE_SUB_PANEL:I
-Landroid/view/WindowManager$LayoutParams;->TYPE_BOOT_PROGRESS:I
-Landroid/view/WindowManager$LayoutParams;->TYPE_DOCK_DIVIDER:I
-Landroid/view/WindowManager$LayoutParams;->TYPE_DRAG:I
-Landroid/view/WindowManager$LayoutParams;->TYPE_DREAM:I
-Landroid/view/WindowManager$LayoutParams;->TYPE_INPUT_CONSUMER:I
-Landroid/view/WindowManager$LayoutParams;->TYPE_MAGNIFICATION_OVERLAY:I
-Landroid/view/WindowManager$LayoutParams;->TYPE_NAVIGATION_BAR:I
-Landroid/view/WindowManager$LayoutParams;->TYPE_NAVIGATION_BAR_PANEL:I
-Landroid/view/WindowManager$LayoutParams;->TYPE_POINTER:I
-Landroid/view/WindowManager$LayoutParams;->TYPE_PRESENTATION:I
-Landroid/view/WindowManager$LayoutParams;->TYPE_QS_DIALOG:I
-Landroid/view/WindowManager$LayoutParams;->TYPE_SCREENSHOT:I
-Landroid/view/WindowManager$LayoutParams;->TYPE_STATUS_BAR_SUB_PANEL:I
-Landroid/view/WindowManager$LayoutParams;->TYPE_VOICE_INTERACTION:I
-Landroid/view/WindowManager$LayoutParams;->TYPE_VOICE_INTERACTION_STARTING:I
-Landroid/view/WindowManager$LayoutParams;->TYPE_VOLUME_OVERLAY:I
-Landroid/view/WindowManager$LayoutParams;->USER_ACTIVITY_TIMEOUT_CHANGED:I
-Landroid/view/WindowManager$LayoutParams;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-Landroid/view/WindowManager$TransitionFlags;
-Landroid/view/WindowManager$TransitionType;
-Landroid/view/WindowManager;->DOCKED_BOTTOM:I
-Landroid/view/WindowManager;->DOCKED_INVALID:I
-Landroid/view/WindowManager;->DOCKED_LEFT:I
-Landroid/view/WindowManager;->DOCKED_RIGHT:I
-Landroid/view/WindowManager;->DOCKED_TOP:I
-Landroid/view/WindowManager;->INPUT_CONSUMER_NAVIGATION:Ljava/lang/String;
-Landroid/view/WindowManager;->INPUT_CONSUMER_PIP:Ljava/lang/String;
-Landroid/view/WindowManager;->INPUT_CONSUMER_RECENTS_ANIMATION:Ljava/lang/String;
-Landroid/view/WindowManager;->INPUT_CONSUMER_WALLPAPER:Ljava/lang/String;
-Landroid/view/WindowManager;->PARCEL_KEY_SHORTCUTS_ARRAY:Ljava/lang/String;
-Landroid/view/WindowManager;->requestAppKeyboardShortcuts(Landroid/view/WindowManager$KeyboardShortcutsReceiver;I)V
-Landroid/view/WindowManager;->TAKE_SCREENSHOT_FULLSCREEN:I
-Landroid/view/WindowManager;->TAKE_SCREENSHOT_SELECTED_REGION:I
-Landroid/view/WindowManager;->TRANSIT_ACTIVITY_CLOSE:I
-Landroid/view/WindowManager;->TRANSIT_ACTIVITY_OPEN:I
-Landroid/view/WindowManager;->TRANSIT_ACTIVITY_RELAUNCH:I
-Landroid/view/WindowManager;->TRANSIT_CRASHING_ACTIVITY_CLOSE:I
-Landroid/view/WindowManager;->TRANSIT_DOCK_TASK_FROM_RECENTS:I
-Landroid/view/WindowManager;->TRANSIT_FLAG_KEYGUARD_GOING_AWAY_NO_ANIMATION:I
-Landroid/view/WindowManager;->TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_SHADE:I
-Landroid/view/WindowManager;->TRANSIT_FLAG_KEYGUARD_GOING_AWAY_WITH_WALLPAPER:I
-Landroid/view/WindowManager;->TRANSIT_KEYGUARD_GOING_AWAY:I
-Landroid/view/WindowManager;->TRANSIT_KEYGUARD_GOING_AWAY_ON_WALLPAPER:I
-Landroid/view/WindowManager;->TRANSIT_KEYGUARD_OCCLUDE:I
-Landroid/view/WindowManager;->TRANSIT_KEYGUARD_UNOCCLUDE:I
-Landroid/view/WindowManager;->TRANSIT_NONE:I
-Landroid/view/WindowManager;->TRANSIT_TASK_CLOSE:I
-Landroid/view/WindowManager;->TRANSIT_TASK_IN_PLACE:I
-Landroid/view/WindowManager;->TRANSIT_TASK_OPEN:I
-Landroid/view/WindowManager;->TRANSIT_TASK_OPEN_BEHIND:I
-Landroid/view/WindowManager;->TRANSIT_TASK_TO_BACK:I
-Landroid/view/WindowManager;->TRANSIT_TASK_TO_FRONT:I
-Landroid/view/WindowManager;->TRANSIT_TRANSLUCENT_ACTIVITY_CLOSE:I
-Landroid/view/WindowManager;->TRANSIT_TRANSLUCENT_ACTIVITY_OPEN:I
-Landroid/view/WindowManager;->TRANSIT_UNSET:I
-Landroid/view/WindowManager;->TRANSIT_WALLPAPER_CLOSE:I
-Landroid/view/WindowManager;->TRANSIT_WALLPAPER_INTRA_CLOSE:I
-Landroid/view/WindowManager;->TRANSIT_WALLPAPER_INTRA_OPEN:I
-Landroid/view/WindowManager;->TRANSIT_WALLPAPER_OPEN:I
-Landroid/view/WindowManagerGlobal;
-Landroid/view/WindowManagerGlobal;-><init>()V
-Landroid/view/WindowManagerGlobal;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;Landroid/view/Display;Landroid/view/Window;)V
-Landroid/view/WindowManagerGlobal;->ADD_APP_EXITING:I
-Landroid/view/WindowManagerGlobal;->ADD_BAD_APP_TOKEN:I
-Landroid/view/WindowManagerGlobal;->ADD_BAD_SUBWINDOW_TOKEN:I
-Landroid/view/WindowManagerGlobal;->ADD_DUPLICATE_ADD:I
-Landroid/view/WindowManagerGlobal;->ADD_FLAG_ALWAYS_CONSUME_NAV_BAR:I
-Landroid/view/WindowManagerGlobal;->ADD_FLAG_APP_VISIBLE:I
-Landroid/view/WindowManagerGlobal;->ADD_FLAG_IN_TOUCH_MODE:I
-Landroid/view/WindowManagerGlobal;->ADD_INVALID_DISPLAY:I
-Landroid/view/WindowManagerGlobal;->ADD_INVALID_TYPE:I
-Landroid/view/WindowManagerGlobal;->ADD_MULTIPLE_SINGLETON:I
-Landroid/view/WindowManagerGlobal;->ADD_NOT_APP_TOKEN:I
-Landroid/view/WindowManagerGlobal;->ADD_OKAY:I
-Landroid/view/WindowManagerGlobal;->ADD_PERMISSION_DENIED:I
-Landroid/view/WindowManagerGlobal;->ADD_STARTING_NOT_NEEDED:I
-Landroid/view/WindowManagerGlobal;->changeCanvasOpacity(Landroid/os/IBinder;Z)V
-Landroid/view/WindowManagerGlobal;->closeAll(Landroid/os/IBinder;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/view/WindowManagerGlobal;->closeAllExceptView(Landroid/os/IBinder;Landroid/view/View;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/view/WindowManagerGlobal;->doRemoveView(Landroid/view/ViewRootImpl;)V
-Landroid/view/WindowManagerGlobal;->doTrimForeground()V
-Landroid/view/WindowManagerGlobal;->dumpGfxInfo(Ljava/io/FileDescriptor;[Ljava/lang/String;)V
-Landroid/view/WindowManagerGlobal;->findViewLocked(Landroid/view/View;Z)I
-Landroid/view/WindowManagerGlobal;->getWindowName(Landroid/view/ViewRootImpl;)Ljava/lang/String;
-Landroid/view/WindowManagerGlobal;->getWindowView(Landroid/os/IBinder;)Landroid/view/View;
-Landroid/view/WindowManagerGlobal;->mDyingViews:Landroid/util/ArraySet;
-Landroid/view/WindowManagerGlobal;->mSystemPropertyUpdater:Ljava/lang/Runnable;
-Landroid/view/WindowManagerGlobal;->RELAYOUT_DEFER_SURFACE_DESTROY:I
-Landroid/view/WindowManagerGlobal;->RELAYOUT_INSETS_PENDING:I
-Landroid/view/WindowManagerGlobal;->RELAYOUT_RES_CONSUME_ALWAYS_NAV_BAR:I
-Landroid/view/WindowManagerGlobal;->RELAYOUT_RES_DRAG_RESIZING_DOCKED:I
-Landroid/view/WindowManagerGlobal;->RELAYOUT_RES_DRAG_RESIZING_FREEFORM:I
-Landroid/view/WindowManagerGlobal;->RELAYOUT_RES_FIRST_TIME:I
-Landroid/view/WindowManagerGlobal;->RELAYOUT_RES_IN_TOUCH_MODE:I
-Landroid/view/WindowManagerGlobal;->RELAYOUT_RES_SURFACE_CHANGED:I
-Landroid/view/WindowManagerGlobal;->RELAYOUT_RES_SURFACE_RESIZED:I
-Landroid/view/WindowManagerGlobal;->removeViewLocked(IZ)V
-Landroid/view/WindowManagerGlobal;->reportNewConfiguration(Landroid/content/res/Configuration;)V
-Landroid/view/WindowManagerGlobal;->setStoppedState(Landroid/os/IBinder;Z)V
-Landroid/view/WindowManagerGlobal;->shouldDestroyEglContext(I)Z
-Landroid/view/WindowManagerGlobal;->TAG:Ljava/lang/String;
-Landroid/view/WindowManagerGlobal;->trimForeground()V
-Landroid/view/WindowManagerGlobal;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
-Landroid/view/WindowManagerImpl;
-Landroid/view/WindowManagerImpl;-><init>(Landroid/content/Context;)V
-Landroid/view/WindowManagerImpl;-><init>(Landroid/content/Context;Landroid/view/Window;)V
-Landroid/view/WindowManagerImpl;->applyDefaultToken(Landroid/view/ViewGroup$LayoutParams;)V
-Landroid/view/WindowManagerImpl;->createLocalWindowManager(Landroid/view/Window;)Landroid/view/WindowManagerImpl;
-Landroid/view/WindowManagerImpl;->createPresentationWindowManager(Landroid/content/Context;)Landroid/view/WindowManagerImpl;
-Landroid/view/WindowManagerImpl;->mContext:Landroid/content/Context;
-Landroid/view/WindowManagerImpl;->mDefaultToken:Landroid/os/IBinder;
-Landroid/view/WindowManagerImpl;->mParentWindow:Landroid/view/Window;
-Landroid/view/WindowManagerImpl;->requestAppKeyboardShortcuts(Landroid/view/WindowManager$KeyboardShortcutsReceiver;I)V
-Landroid/view/WindowManagerImpl;->setDefaultToken(Landroid/os/IBinder;)V
-Landroid/view/WindowManagerPolicyConstants$PointerEventListener;
-Landroid/view/WindowManagerPolicyConstants$PointerEventListener;->onPointerEvent(Landroid/view/MotionEvent;)V
-Landroid/view/WindowManagerPolicyConstants$PointerEventListener;->onPointerEvent(Landroid/view/MotionEvent;I)V
-Landroid/view/WindowManagerPolicyConstants;
-Landroid/view/WindowManagerPolicyConstants;->ACTION_HDMI_PLUGGED:Ljava/lang/String;
-Landroid/view/WindowManagerPolicyConstants;->ACTION_USER_ACTIVITY_NOTIFICATION:Ljava/lang/String;
-Landroid/view/WindowManagerPolicyConstants;->APPLICATION_ABOVE_SUB_PANEL_SUBLAYER:I
-Landroid/view/WindowManagerPolicyConstants;->APPLICATION_LAYER:I
-Landroid/view/WindowManagerPolicyConstants;->APPLICATION_MEDIA_OVERLAY_SUBLAYER:I
-Landroid/view/WindowManagerPolicyConstants;->APPLICATION_MEDIA_SUBLAYER:I
-Landroid/view/WindowManagerPolicyConstants;->APPLICATION_PANEL_SUBLAYER:I
-Landroid/view/WindowManagerPolicyConstants;->APPLICATION_SUB_PANEL_SUBLAYER:I
-Landroid/view/WindowManagerPolicyConstants;->EXTRA_FROM_HOME_KEY:Ljava/lang/String;
-Landroid/view/WindowManagerPolicyConstants;->EXTRA_HDMI_PLUGGED_STATE:Ljava/lang/String;
-Landroid/view/WindowManagerPolicyConstants;->FLAG_DISABLE_KEY_REPEAT:I
-Landroid/view/WindowManagerPolicyConstants;->FLAG_FILTERED:I
-Landroid/view/WindowManagerPolicyConstants;->FLAG_INJECTED:I
-Landroid/view/WindowManagerPolicyConstants;->FLAG_INTERACTIVE:I
-Landroid/view/WindowManagerPolicyConstants;->FLAG_PASS_TO_USER:I
-Landroid/view/WindowManagerPolicyConstants;->FLAG_TRUSTED:I
-Landroid/view/WindowManagerPolicyConstants;->FLAG_VIRTUAL:I
-Landroid/view/WindowManagerPolicyConstants;->FLAG_WAKE:I
-Landroid/view/WindowManagerPolicyConstants;->KEYGUARD_GOING_AWAY_FLAG_NO_WINDOW_ANIMATIONS:I
-Landroid/view/WindowManagerPolicyConstants;->KEYGUARD_GOING_AWAY_FLAG_TO_SHADE:I
-Landroid/view/WindowManagerPolicyConstants;->KEYGUARD_GOING_AWAY_FLAG_WITH_WALLPAPER:I
-Landroid/view/WindowManagerPolicyConstants;->NAV_BAR_BOTTOM:I
-Landroid/view/WindowManagerPolicyConstants;->NAV_BAR_LEFT:I
-Landroid/view/WindowManagerPolicyConstants;->NAV_BAR_RIGHT:I
-Landroid/view/WindowManagerPolicyConstants;->offReasonToString(I)Ljava/lang/String;
-Landroid/view/WindowManagerPolicyConstants;->OFF_BECAUSE_OF_ADMIN:I
-Landroid/view/WindowManagerPolicyConstants;->OFF_BECAUSE_OF_TIMEOUT:I
-Landroid/view/WindowManagerPolicyConstants;->OFF_BECAUSE_OF_USER:I
-Landroid/view/WindowManagerPolicyConstants;->PRESENCE_EXTERNAL:I
-Landroid/view/WindowManagerPolicyConstants;->PRESENCE_INTERNAL:I
-Landroid/webkit/CacheManager$CacheResult;
-Landroid/webkit/CacheManager$CacheResult;->setContentLength(J)V
-Landroid/webkit/CacheManager;
-Landroid/webkit/CacheManager;-><init>()V
-Landroid/webkit/ConsoleMessage$MessageLevel;-><init>()V
-Landroid/webkit/CookieSyncManager;-><init>()V
-Landroid/webkit/CookieSyncManager;->checkInstanceIsAllowed()V
-Landroid/webkit/CookieSyncManager;->setGetInstanceIsAllowed()V
-Landroid/webkit/CookieSyncManager;->sGetInstanceAllowed:Z
-Landroid/webkit/CookieSyncManager;->sLock:Ljava/lang/Object;
-Landroid/webkit/CookieSyncManager;->sRef:Landroid/webkit/CookieSyncManager;
-Landroid/webkit/DateSorter;->beginningOfDay(Ljava/util/Calendar;)V
-Landroid/webkit/DateSorter;->LOGTAG:Ljava/lang/String;
-Landroid/webkit/DateSorter;->mBins:[J
-Landroid/webkit/DateSorter;->mLabels:[Ljava/lang/String;
-Landroid/webkit/DateSorter;->NUM_DAYS_AGO:I
-Landroid/webkit/EventLogTags;
-Landroid/webkit/EventLogTags;-><init>()V
-Landroid/webkit/EventLogTags;->BROWSER_DOUBLE_TAP_DURATION:I
-Landroid/webkit/EventLogTags;->BROWSER_SNAP_CENTER:I
-Landroid/webkit/EventLogTags;->BROWSER_ZOOM_LEVEL_CHANGE:I
-Landroid/webkit/EventLogTags;->EXP_DET_ATTEMPT_TO_CALL_OBJECT_GETCLASS:I
-Landroid/webkit/EventLogTags;->writeBrowserDoubleTapDuration(IJ)V
-Landroid/webkit/EventLogTags;->writeBrowserSnapCenter()V
-Landroid/webkit/EventLogTags;->writeBrowserZoomLevelChange(IIJ)V
-Landroid/webkit/EventLogTags;->writeExpDetAttemptToCallObjectGetclass(Ljava/lang/String;)V
-Landroid/webkit/FindActionModeCallback;->findNext(Z)V
-Landroid/webkit/FindActionModeCallback;->mActionMode:Landroid/view/ActionMode;
-Landroid/webkit/FindActionModeCallback;->mActiveMatchIndex:I
-Landroid/webkit/FindActionModeCallback;->mCustomView:Landroid/view/View;
-Landroid/webkit/FindActionModeCallback;->mEditText:Landroid/widget/EditText;
-Landroid/webkit/FindActionModeCallback;->mGlobalVisibleOffset:Landroid/graphics/Point;
-Landroid/webkit/FindActionModeCallback;->mGlobalVisibleRect:Landroid/graphics/Rect;
-Landroid/webkit/FindActionModeCallback;->mInput:Landroid/view/inputmethod/InputMethodManager;
-Landroid/webkit/FindActionModeCallback;->mMatches:Landroid/widget/TextView;
-Landroid/webkit/FindActionModeCallback;->mMatchesFound:Z
-Landroid/webkit/FindActionModeCallback;->mNumberOfMatches:I
-Landroid/webkit/FindActionModeCallback;->mResources:Landroid/content/res/Resources;
-Landroid/webkit/FindActionModeCallback;->mWebView:Landroid/webkit/WebView;
-Landroid/webkit/FindActionModeCallback;->updateMatchesString()V
-Landroid/webkit/IWebViewUpdateService$Stub$Proxy;
-Landroid/webkit/IWebViewUpdateService$Stub$Proxy;->changeProviderAndSetting(Ljava/lang/String;)Ljava/lang/String;
-Landroid/webkit/IWebViewUpdateService$Stub$Proxy;->enableFallbackLogic(Z)V
-Landroid/webkit/IWebViewUpdateService$Stub$Proxy;->enableMultiProcess(Z)V
-Landroid/webkit/IWebViewUpdateService$Stub$Proxy;->getAllWebViewPackages()[Landroid/webkit/WebViewProviderInfo;
-Landroid/webkit/IWebViewUpdateService$Stub$Proxy;->getCurrentWebViewPackage()Landroid/content/pm/PackageInfo;
-Landroid/webkit/IWebViewUpdateService$Stub$Proxy;->getCurrentWebViewPackageName()Ljava/lang/String;
-Landroid/webkit/IWebViewUpdateService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Landroid/webkit/IWebViewUpdateService$Stub$Proxy;->getValidWebViewPackages()[Landroid/webkit/WebViewProviderInfo;
-Landroid/webkit/IWebViewUpdateService$Stub$Proxy;->isFallbackPackage(Ljava/lang/String;)Z
-Landroid/webkit/IWebViewUpdateService$Stub$Proxy;->isMultiProcessEnabled()Z
-Landroid/webkit/IWebViewUpdateService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Landroid/webkit/IWebViewUpdateService$Stub$Proxy;->notifyRelroCreationCompleted()V
-Landroid/webkit/IWebViewUpdateService$Stub;
-Landroid/webkit/IWebViewUpdateService$Stub;-><init>()V
-Landroid/webkit/IWebViewUpdateService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Landroid/webkit/IWebViewUpdateService$Stub;->TRANSACTION_changeProviderAndSetting:I
-Landroid/webkit/IWebViewUpdateService$Stub;->TRANSACTION_enableFallbackLogic:I
-Landroid/webkit/IWebViewUpdateService$Stub;->TRANSACTION_enableMultiProcess:I
-Landroid/webkit/IWebViewUpdateService$Stub;->TRANSACTION_getAllWebViewPackages:I
-Landroid/webkit/IWebViewUpdateService$Stub;->TRANSACTION_getCurrentWebViewPackage:I
-Landroid/webkit/IWebViewUpdateService$Stub;->TRANSACTION_getCurrentWebViewPackageName:I
-Landroid/webkit/IWebViewUpdateService$Stub;->TRANSACTION_getValidWebViewPackages:I
-Landroid/webkit/IWebViewUpdateService$Stub;->TRANSACTION_isFallbackPackage:I
-Landroid/webkit/IWebViewUpdateService$Stub;->TRANSACTION_isMultiProcessEnabled:I
-Landroid/webkit/IWebViewUpdateService$Stub;->TRANSACTION_notifyRelroCreationCompleted:I
-Landroid/webkit/IWebViewUpdateService$Stub;->TRANSACTION_waitForAndGetProvider:I
-Landroid/webkit/IWebViewUpdateService;
-Landroid/webkit/IWebViewUpdateService;->changeProviderAndSetting(Ljava/lang/String;)Ljava/lang/String;
-Landroid/webkit/IWebViewUpdateService;->enableFallbackLogic(Z)V
-Landroid/webkit/IWebViewUpdateService;->enableMultiProcess(Z)V
-Landroid/webkit/IWebViewUpdateService;->getAllWebViewPackages()[Landroid/webkit/WebViewProviderInfo;
-Landroid/webkit/IWebViewUpdateService;->getCurrentWebViewPackage()Landroid/content/pm/PackageInfo;
-Landroid/webkit/IWebViewUpdateService;->isMultiProcessEnabled()Z
-Landroid/webkit/IWebViewUpdateService;->notifyRelroCreationCompleted()V
-Landroid/webkit/IWebViewUpdateService;->waitForAndGetProvider()Landroid/webkit/WebViewProviderResponse;
-Landroid/webkit/JsDialogHelper$CancelListener;
-Landroid/webkit/JsDialogHelper$CancelListener;-><init>()V
-Landroid/webkit/JsDialogHelper$PositiveListener;
-Landroid/webkit/JsDialogHelper$PositiveListener;-><init>(Landroid/widget/EditText;)V
-Landroid/webkit/JsDialogHelper$PositiveListener;->mEdit:Landroid/widget/EditText;
-Landroid/webkit/JsDialogHelper;->canShowAlertDialog(Landroid/content/Context;)Z
-Landroid/webkit/JsDialogHelper;->getJsDialogTitle(Landroid/content/Context;)Ljava/lang/String;
-Landroid/webkit/JsDialogHelper;->mDefaultValue:Ljava/lang/String;
-Landroid/webkit/JsDialogHelper;->mMessage:Ljava/lang/String;
-Landroid/webkit/JsDialogHelper;->mResult:Landroid/webkit/JsPromptResult;
-Landroid/webkit/JsDialogHelper;->mType:I
-Landroid/webkit/JsDialogHelper;->mUrl:Ljava/lang/String;
-Landroid/webkit/JsDialogHelper;->TAG:Ljava/lang/String;
-Landroid/webkit/JsPromptResult;->mStringResult:Ljava/lang/String;
-Landroid/webkit/JsResult;->mResult:Z
-Landroid/webkit/JsResult;->wakeUp()V
-Landroid/webkit/MimeTypeMap;-><init>()V
-Landroid/webkit/MimeTypeMap;->mimeTypeFromExtension(Ljava/lang/String;)Ljava/lang/String;
-Landroid/webkit/MimeTypeMap;->remapGenericMimeType(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/webkit/MimeTypeMap;->sMimeTypeMap:Landroid/webkit/MimeTypeMap;
-Landroid/webkit/Plugin$DefaultClickHandler;
-Landroid/webkit/Plugin$DefaultClickHandler;-><init>()V
-Landroid/webkit/Plugin$DefaultClickHandler;->handleClickEvent(Landroid/content/Context;)V
-Landroid/webkit/Plugin$DefaultClickHandler;->mDialog:Landroid/app/AlertDialog;
-Landroid/webkit/Plugin$PreferencesClickHandler;
-Landroid/webkit/Plugin$PreferencesClickHandler;->handleClickEvent(Landroid/content/Context;)V
-Landroid/webkit/Plugin;
-Landroid/webkit/Plugin;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/webkit/Plugin;->dispatchClickEvent(Landroid/content/Context;)V
-Landroid/webkit/Plugin;->getDescription()Ljava/lang/String;
-Landroid/webkit/Plugin;->getFileName()Ljava/lang/String;
-Landroid/webkit/Plugin;->getName()Ljava/lang/String;
-Landroid/webkit/Plugin;->getPath()Ljava/lang/String;
-Landroid/webkit/Plugin;->mDescription:Ljava/lang/String;
-Landroid/webkit/Plugin;->mFileName:Ljava/lang/String;
-Landroid/webkit/Plugin;->mHandler:Landroid/webkit/Plugin$PreferencesClickHandler;
-Landroid/webkit/Plugin;->mName:Ljava/lang/String;
-Landroid/webkit/Plugin;->mPath:Ljava/lang/String;
-Landroid/webkit/Plugin;->setClickHandler(Landroid/webkit/Plugin$PreferencesClickHandler;)V
-Landroid/webkit/Plugin;->setDescription(Ljava/lang/String;)V
-Landroid/webkit/Plugin;->setFileName(Ljava/lang/String;)V
-Landroid/webkit/Plugin;->setName(Ljava/lang/String;)V
-Landroid/webkit/Plugin;->setPath(Ljava/lang/String;)V
-Landroid/webkit/PluginData;
-Landroid/webkit/PluginData;->mContentLength:J
-Landroid/webkit/PluginData;->mHeaders:Ljava/util/Map;
-Landroid/webkit/PluginData;->mStatusCode:I
-Landroid/webkit/PluginData;->mStream:Ljava/io/InputStream;
-Landroid/webkit/PluginList;
-Landroid/webkit/PluginList;-><init>()V
-Landroid/webkit/PluginList;->addPlugin(Landroid/webkit/Plugin;)V
-Landroid/webkit/PluginList;->clear()V
-Landroid/webkit/PluginList;->getList()Ljava/util/List;
-Landroid/webkit/PluginList;->mPlugins:Ljava/util/ArrayList;
-Landroid/webkit/PluginList;->pluginClicked(Landroid/content/Context;I)V
-Landroid/webkit/PluginList;->removePlugin(Landroid/webkit/Plugin;)V
-Landroid/webkit/TracingConfig$Builder;->mCustomIncludedCategories:Ljava/util/List;
-Landroid/webkit/TracingConfig$Builder;->mPredefinedCategories:I
-Landroid/webkit/TracingConfig$Builder;->mTracingMode:I
-Landroid/webkit/TracingConfig$PredefinedCategories;
-Landroid/webkit/TracingConfig$TracingMode;
-Landroid/webkit/TracingConfig;-><init>(ILjava/util/List;I)V
-Landroid/webkit/TracingConfig;->mCustomIncludedCategories:Ljava/util/List;
-Landroid/webkit/TracingConfig;->mPredefinedCategories:I
-Landroid/webkit/TracingConfig;->mTracingMode:I
-Landroid/webkit/UrlInterceptHandler;
-Landroid/webkit/UrlInterceptRegistry;
-Landroid/webkit/UrlInterceptRegistry;-><init>()V
-Landroid/webkit/UrlInterceptRegistry;->getHandlers()Ljava/util/LinkedList;
-Landroid/webkit/UrlInterceptRegistry;->getSurrogate(Ljava/lang/String;Ljava/util/Map;)Landroid/webkit/CacheManager$CacheResult;
-Landroid/webkit/UrlInterceptRegistry;->LOGTAG:Ljava/lang/String;
-Landroid/webkit/UrlInterceptRegistry;->mDisabled:Z
-Landroid/webkit/UrlInterceptRegistry;->mHandlerList:Ljava/util/LinkedList;
-Landroid/webkit/UrlInterceptRegistry;->urlInterceptDisabled()Z
-Landroid/webkit/URLUtil;->ASSET_BASE:Ljava/lang/String;
-Landroid/webkit/URLUtil;->CONTENT_BASE:Ljava/lang/String;
-Landroid/webkit/URLUtil;->CONTENT_DISPOSITION_PATTERN:Ljava/util/regex/Pattern;
-Landroid/webkit/URLUtil;->FILE_BASE:Ljava/lang/String;
-Landroid/webkit/URLUtil;->LOGTAG:Ljava/lang/String;
-Landroid/webkit/URLUtil;->parseHex(B)I
-Landroid/webkit/URLUtil;->PROXY_BASE:Ljava/lang/String;
-Landroid/webkit/URLUtil;->RESOURCE_BASE:Ljava/lang/String;
-Landroid/webkit/URLUtil;->TRACE:Z
-Landroid/webkit/UserPackage;
-Landroid/webkit/UserPackage;-><init>(Landroid/content/pm/UserInfo;Landroid/content/pm/PackageInfo;)V
-Landroid/webkit/UserPackage;->getAllUsers(Landroid/content/Context;)Ljava/util/List;
-Landroid/webkit/UserPackage;->getPackageInfo()Landroid/content/pm/PackageInfo;
-Landroid/webkit/UserPackage;->getPackageInfosAllUsers(Landroid/content/Context;Ljava/lang/String;I)Ljava/util/List;
-Landroid/webkit/UserPackage;->getUserInfo()Landroid/content/pm/UserInfo;
-Landroid/webkit/UserPackage;->hasCorrectTargetSdkVersion(Landroid/content/pm/PackageInfo;)Z
-Landroid/webkit/UserPackage;->isEnabledPackage()Z
-Landroid/webkit/UserPackage;->isInstalledPackage()Z
-Landroid/webkit/UserPackage;->MINIMUM_SUPPORTED_SDK:I
-Landroid/webkit/UserPackage;->mPackageInfo:Landroid/content/pm/PackageInfo;
-Landroid/webkit/UserPackage;->mUserInfo:Landroid/content/pm/UserInfo;
-Landroid/webkit/WebChromeClient$FileChooserParams;->MODE_OPEN_FOLDER:I
-Landroid/webkit/WebMessage;->mData:Ljava/lang/String;
-Landroid/webkit/WebMessage;->mPorts:[Landroid/webkit/WebMessagePort;
-Landroid/webkit/WebResourceResponse;->checkImmutable()V
-Landroid/webkit/WebResourceResponse;->mEncoding:Ljava/lang/String;
-Landroid/webkit/WebResourceResponse;->mInputStream:Ljava/io/InputStream;
-Landroid/webkit/WebResourceResponse;->mMimeType:Ljava/lang/String;
-Landroid/webkit/WebResourceResponse;->mReasonPhrase:Ljava/lang/String;
-Landroid/webkit/WebResourceResponse;->mResponseHeaders:Ljava/util/Map;
-Landroid/webkit/WebSettings$CacheMode;
-Landroid/webkit/WebSettings$LayoutAlgorithm;-><init>()V
-Landroid/webkit/WebSettings$MenuItemFlags;
-Landroid/webkit/WebSettings$PluginState;-><init>()V
-Landroid/webkit/WebSettings$RenderPriority;-><init>()V
-Landroid/webkit/WebSettings$TextSize;-><init>(I)V
-Landroid/webkit/WebSettings$ZoomDensity;-><init>(I)V
-Landroid/webkit/WebSettings$ZoomDensity;->getValue()I
-Landroid/webkit/WebSettings$ZoomDensity;->value:I
-Landroid/webkit/WebStorage$Origin;->mOrigin:Ljava/lang/String;
-Landroid/webkit/WebStorage$Origin;->mQuota:J
-Landroid/webkit/WebStorage$Origin;->mUsage:J
-Landroid/webkit/WebSyncManager;
-Landroid/webkit/WebSyncManager;-><init>(Landroid/content/Context;Ljava/lang/String;)V
-Landroid/webkit/WebSyncManager;->LOGTAG:Ljava/lang/String;
-Landroid/webkit/WebSyncManager;->mDataBase:Landroid/webkit/WebViewDatabase;
-Landroid/webkit/WebSyncManager;->onSyncInit()V
-Landroid/webkit/WebSyncManager;->resetSync()V
-Landroid/webkit/WebSyncManager;->startSync()V
-Landroid/webkit/WebSyncManager;->stopSync()V
-Landroid/webkit/WebSyncManager;->sync()V
-Landroid/webkit/WebView$FindListenerDistributor;
-Landroid/webkit/WebView$FindListenerDistributor;-><init>()V
-Landroid/webkit/WebView$FindListenerDistributor;->mFindDialogFindListener:Landroid/webkit/WebView$FindListener;
-Landroid/webkit/WebView$FindListenerDistributor;->mUserFindListener:Landroid/webkit/WebView$FindListener;
-Landroid/webkit/WebView$HitTestResult;->mExtra:Ljava/lang/String;
-Landroid/webkit/WebView$HitTestResult;->mType:I
-Landroid/webkit/WebView$RendererPriority;
-Landroid/webkit/WebView$WebViewTransport;->mWebview:Landroid/webkit/WebView;
-Landroid/webkit/WebView;->dumpViewHierarchyWithProperties(Ljava/io/BufferedWriter;I)V
-Landroid/webkit/WebView;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/webkit/WebView;->ensureProviderCreated()V
-Landroid/webkit/WebView;->findHierarchyView(Ljava/lang/String;I)Landroid/view/View;
-Landroid/webkit/WebView;->LOGTAG:Ljava/lang/String;
-Landroid/webkit/WebView;->mFindListener:Landroid/webkit/WebView$FindListenerDistributor;
-Landroid/webkit/WebView;->onActivityResult(IILandroid/content/Intent;)V
-Landroid/webkit/WebView;->onDetachedFromWindowInternal()V
-Landroid/webkit/WebView;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/webkit/WebView;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/webkit/WebView;->onMovedToDisplay(ILandroid/content/res/Configuration;)V
-Landroid/webkit/WebView;->performAccessibilityActionInternal(ILandroid/os/Bundle;)Z
-Landroid/webkit/WebView;->setFindDialogFindListener(Landroid/webkit/WebView$FindListener;)V
-Landroid/webkit/WebView;->setupFindListenerIfNeeded()V
-Landroid/webkit/WebViewClient$SafeBrowsingThreat;
-Landroid/webkit/WebViewClient;->onUnhandledInputEventInternal(Landroid/webkit/WebView;Landroid/view/InputEvent;)V
-Landroid/webkit/WebViewDatabase;->LOGTAG:Ljava/lang/String;
-Landroid/webkit/WebViewFactory$MissingWebViewPackageException;
-Landroid/webkit/WebViewFactory$MissingWebViewPackageException;-><init>(Ljava/lang/Exception;)V
-Landroid/webkit/WebViewFactory$MissingWebViewPackageException;-><init>(Ljava/lang/String;)V
-Landroid/webkit/WebViewFactory;->CHROMIUM_WEBVIEW_FACTORY:Ljava/lang/String;
-Landroid/webkit/WebViewFactory;->CHROMIUM_WEBVIEW_FACTORY_METHOD:Ljava/lang/String;
-Landroid/webkit/WebViewFactory;->DEBUG:Z
-Landroid/webkit/WebViewFactory;->disableWebView()V
-Landroid/webkit/WebViewFactory;->fixupStubApplicationInfo(Landroid/content/pm/ApplicationInfo;Landroid/content/pm/PackageManager;)V
-Landroid/webkit/WebViewFactory;->getDataDirectorySuffix()Ljava/lang/String;
-Landroid/webkit/WebViewFactory;->getUpdateServiceUnchecked()Landroid/webkit/IWebViewUpdateService;
-Landroid/webkit/WebViewFactory;->getWebViewLibrary(Landroid/content/pm/ApplicationInfo;)Ljava/lang/String;
-Landroid/webkit/WebViewFactory;->getWebViewPreparationErrorReason(I)Ljava/lang/String;
-Landroid/webkit/WebViewFactory;->getWebViewProviderClass(Ljava/lang/ClassLoader;)Ljava/lang/Class;
-Landroid/webkit/WebViewFactory;->isWebViewSupported()Z
-Landroid/webkit/WebViewFactory;->LOGTAG:Ljava/lang/String;
-Landroid/webkit/WebViewFactory;->onWebViewProviderChanged(Landroid/content/pm/PackageInfo;)I
-Landroid/webkit/WebViewFactory;->sDataDirectorySuffix:Ljava/lang/String;
-Landroid/webkit/WebViewFactory;->setDataDirectorySuffix(Ljava/lang/String;)V
-Landroid/webkit/WebViewFactory;->signaturesEquals([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)Z
-Landroid/webkit/WebViewFactory;->sProviderLock:Ljava/lang/Object;
-Landroid/webkit/WebViewFactory;->sWebViewDisabled:Z
-Landroid/webkit/WebViewFactory;->sWebViewSupported:Ljava/lang/Boolean;
-Landroid/webkit/WebViewFactory;->verifyPackageInfo(Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageInfo;)V
-Landroid/webkit/WebViewFactory;->WEBVIEW_UPDATE_SERVICE_NAME:Ljava/lang/String;
-Landroid/webkit/WebViewFragment;->mIsWebViewAvailable:Z
-Landroid/webkit/WebViewFragment;->mWebView:Landroid/webkit/WebView;
-Landroid/webkit/WebViewLibraryLoader$RelroFileCreator;
-Landroid/webkit/WebViewLibraryLoader$RelroFileCreator;-><init>()V
-Landroid/webkit/WebViewLibraryLoader$RelroFileCreator;->main([Ljava/lang/String;)V
-Landroid/webkit/WebViewLibraryLoader$WebViewNativeLibrary;
-Landroid/webkit/WebViewLibraryLoader$WebViewNativeLibrary;-><init>(Ljava/lang/String;J)V
-Landroid/webkit/WebViewLibraryLoader$WebViewNativeLibrary;->path:Ljava/lang/String;
-Landroid/webkit/WebViewLibraryLoader$WebViewNativeLibrary;->size:J
-Landroid/webkit/WebViewLibraryLoader;
-Landroid/webkit/WebViewLibraryLoader;-><init>()V
-Landroid/webkit/WebViewLibraryLoader;->CHROMIUM_WEBVIEW_DEFAULT_VMSIZE_BYTES:J
-Landroid/webkit/WebViewLibraryLoader;->CHROMIUM_WEBVIEW_NATIVE_RELRO_32:Ljava/lang/String;
-Landroid/webkit/WebViewLibraryLoader;->CHROMIUM_WEBVIEW_NATIVE_RELRO_64:Ljava/lang/String;
-Landroid/webkit/WebViewLibraryLoader;->createRelroFile(ZLandroid/webkit/WebViewLibraryLoader$WebViewNativeLibrary;)V
-Landroid/webkit/WebViewLibraryLoader;->createRelros(Landroid/webkit/WebViewLibraryLoader$WebViewNativeLibrary;Landroid/webkit/WebViewLibraryLoader$WebViewNativeLibrary;)I
-Landroid/webkit/WebViewLibraryLoader;->DEBUG:Z
-Landroid/webkit/WebViewLibraryLoader;->findNativeLibrary(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/webkit/WebViewLibraryLoader$WebViewNativeLibrary;
-Landroid/webkit/WebViewLibraryLoader;->getLoadFromApkPath(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/webkit/WebViewLibraryLoader$WebViewNativeLibrary;
-Landroid/webkit/WebViewLibraryLoader;->getWebViewNativeLibrary(Landroid/content/pm/PackageInfo;Z)Landroid/webkit/WebViewLibraryLoader$WebViewNativeLibrary;
-Landroid/webkit/WebViewLibraryLoader;->getWebViewNativeLibraryDirectory(Landroid/content/pm/ApplicationInfo;Z)Ljava/lang/String;
-Landroid/webkit/WebViewLibraryLoader;->loadNativeLibrary(Ljava/lang/ClassLoader;Ljava/lang/String;)I
-Landroid/webkit/WebViewLibraryLoader;->LOGTAG:Ljava/lang/String;
-Landroid/webkit/WebViewLibraryLoader;->nativeCreateRelroFile(Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/webkit/WebViewLibraryLoader;->nativeLoadWithRelroFile(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)I
-Landroid/webkit/WebViewLibraryLoader;->nativeReserveAddressSpace(J)Z
-Landroid/webkit/WebViewLibraryLoader;->prepareNativeLibraries(Landroid/content/pm/PackageInfo;)I
-Landroid/webkit/WebViewLibraryLoader;->reserveAddressSpaceInZygote()V
-Landroid/webkit/WebViewLibraryLoader;->sAddressSpaceReserved:Z
-Landroid/webkit/WebViewLibraryLoader;->setWebViewZygoteVmSize(J)V
-Landroid/webkit/WebViewLibraryLoader;->updateWebViewZygoteVmSize(Landroid/webkit/WebViewLibraryLoader$WebViewNativeLibrary;Landroid/webkit/WebViewLibraryLoader$WebViewNativeLibrary;)V
-Landroid/webkit/WebViewProviderResponse;
-Landroid/webkit/WebViewProviderResponse;-><init>(Landroid/content/pm/PackageInfo;I)V
-Landroid/webkit/WebViewProviderResponse;-><init>(Landroid/os/Parcel;)V
-Landroid/webkit/WebViewProviderResponse;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/webkit/WebViewProviderResponse;->status:I
-Landroid/webkit/WebViewUpdateService;->getUpdateService()Landroid/webkit/IWebViewUpdateService;
-Landroid/webkit/WebViewZygote;
-Landroid/webkit/WebViewZygote;-><init>()V
-Landroid/webkit/WebViewZygote;->connectToZygoteIfNeededLocked()V
-Landroid/webkit/WebViewZygote;->getPackageName()Ljava/lang/String;
-Landroid/webkit/WebViewZygote;->getProcess()Landroid/os/ZygoteProcess;
-Landroid/webkit/WebViewZygote;->isMultiprocessEnabled()Z
-Landroid/webkit/WebViewZygote;->LOGTAG:Ljava/lang/String;
-Landroid/webkit/WebViewZygote;->onWebViewProviderChanged(Landroid/content/pm/PackageInfo;Landroid/content/pm/ApplicationInfo;)V
-Landroid/webkit/WebViewZygote;->setMultiprocessEnabled(Z)V
-Landroid/webkit/WebViewZygote;->sLock:Ljava/lang/Object;
-Landroid/webkit/WebViewZygote;->sMultiprocessEnabled:Z
-Landroid/webkit/WebViewZygote;->sPackage:Landroid/content/pm/PackageInfo;
-Landroid/webkit/WebViewZygote;->sPackageOriginalAppInfo:Landroid/content/pm/ApplicationInfo;
-Landroid/webkit/WebViewZygote;->stopZygoteLocked()V
-Landroid/webkit/WebViewZygote;->sZygote:Landroid/os/ChildZygoteProcess;
-Landroid/widget/AbsListView$AbsPositionScroller;
-Landroid/widget/AbsListView$AbsPositionScroller;-><init>()V
-Landroid/widget/AbsListView$AbsPositionScroller;->start(I)V
-Landroid/widget/AbsListView$AbsPositionScroller;->start(II)V
-Landroid/widget/AbsListView$AbsPositionScroller;->startWithOffset(II)V
-Landroid/widget/AbsListView$AbsPositionScroller;->startWithOffset(III)V
-Landroid/widget/AbsListView$AbsPositionScroller;->stop()V
-Landroid/widget/AbsListView$AdapterDataSetObserver;
-Landroid/widget/AbsListView$AdapterDataSetObserver;-><init>()V
-Landroid/widget/AbsListView$CheckForKeyLongPress;
-Landroid/widget/AbsListView$CheckForKeyLongPress;-><init>()V
-Landroid/widget/AbsListView$CheckForLongPress;
-Landroid/widget/AbsListView$CheckForLongPress;-><init>()V
-Landroid/widget/AbsListView$CheckForLongPress;->INVALID_COORD:I
-Landroid/widget/AbsListView$CheckForLongPress;->mX:F
-Landroid/widget/AbsListView$CheckForLongPress;->mY:F
-Landroid/widget/AbsListView$CheckForLongPress;->setCoords(FF)V
-Landroid/widget/AbsListView$CheckForTap;
-Landroid/widget/AbsListView$CheckForTap;-><init>()V
-Landroid/widget/AbsListView$CheckForTap;->x:F
-Landroid/widget/AbsListView$CheckForTap;->y:F
-Landroid/widget/AbsListView$FlingRunnable;
-Landroid/widget/AbsListView$FlingRunnable;-><init>()V
-Landroid/widget/AbsListView$FlingRunnable;->edgeReached(I)V
-Landroid/widget/AbsListView$FlingRunnable;->flywheelTouch()V
-Landroid/widget/AbsListView$FlingRunnable;->FLYWHEEL_TIMEOUT:I
-Landroid/widget/AbsListView$FlingRunnable;->mCheckFlywheel:Ljava/lang/Runnable;
-Landroid/widget/AbsListView$FlingRunnable;->mLastFlingY:I
-Landroid/widget/AbsListView$FlingRunnable;->mSuppressIdleStateChangeCall:Z
-Landroid/widget/AbsListView$FlingRunnable;->startOverfling(I)V
-Landroid/widget/AbsListView$FlingRunnable;->startScroll(IIZZ)V
-Landroid/widget/AbsListView$FlingRunnable;->startSpringback()V
-Landroid/widget/AbsListView$InputConnectionWrapper;
-Landroid/widget/AbsListView$InputConnectionWrapper;-><init>(Landroid/view/inputmethod/EditorInfo;)V
-Landroid/widget/AbsListView$InputConnectionWrapper;->getTarget()Landroid/view/inputmethod/InputConnection;
-Landroid/widget/AbsListView$InputConnectionWrapper;->mOutAttrs:Landroid/view/inputmethod/EditorInfo;
-Landroid/widget/AbsListView$InputConnectionWrapper;->mTarget:Landroid/view/inputmethod/InputConnection;
-Landroid/widget/AbsListView$LayoutParams;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/widget/AbsListView$LayoutParams;->forceAdd:Z
-Landroid/widget/AbsListView$LayoutParams;->isEnabled:Z
-Landroid/widget/AbsListView$LayoutParams;->itemId:J
-Landroid/widget/AbsListView$LayoutParams;->recycledHeaderFooter:Z
-Landroid/widget/AbsListView$ListItemAccessibilityDelegate;
-Landroid/widget/AbsListView$ListItemAccessibilityDelegate;-><init>()V
-Landroid/widget/AbsListView$MultiChoiceModeWrapper;
-Landroid/widget/AbsListView$MultiChoiceModeWrapper;-><init>()V
-Landroid/widget/AbsListView$MultiChoiceModeWrapper;->hasWrappedCallback()Z
-Landroid/widget/AbsListView$MultiChoiceModeWrapper;->mWrapped:Landroid/widget/AbsListView$MultiChoiceModeListener;
-Landroid/widget/AbsListView$MultiChoiceModeWrapper;->setWrapped(Landroid/widget/AbsListView$MultiChoiceModeListener;)V
-Landroid/widget/AbsListView$PerformClick;
-Landroid/widget/AbsListView$PerformClick;-><init>()V
-Landroid/widget/AbsListView$PerformClick;->mClickMotionPosition:I
-Landroid/widget/AbsListView$PositionScroller;
-Landroid/widget/AbsListView$PositionScroller;-><init>()V
-Landroid/widget/AbsListView$PositionScroller;->mBoundPos:I
-Landroid/widget/AbsListView$PositionScroller;->mExtraScroll:I
-Landroid/widget/AbsListView$PositionScroller;->mLastSeenPos:I
-Landroid/widget/AbsListView$PositionScroller;->mMode:I
-Landroid/widget/AbsListView$PositionScroller;->mOffsetFromTop:I
-Landroid/widget/AbsListView$PositionScroller;->MOVE_DOWN_BOUND:I
-Landroid/widget/AbsListView$PositionScroller;->MOVE_DOWN_POS:I
-Landroid/widget/AbsListView$PositionScroller;->MOVE_OFFSET:I
-Landroid/widget/AbsListView$PositionScroller;->MOVE_UP_BOUND:I
-Landroid/widget/AbsListView$PositionScroller;->MOVE_UP_POS:I
-Landroid/widget/AbsListView$PositionScroller;->mScrollDuration:I
-Landroid/widget/AbsListView$PositionScroller;->mTargetPos:I
-Landroid/widget/AbsListView$PositionScroller;->scrollToVisible(III)V
-Landroid/widget/AbsListView$PositionScroller;->SCROLL_DURATION:I
-Landroid/widget/AbsListView$PositionScroller;->start(I)V
-Landroid/widget/AbsListView$PositionScroller;->start(II)V
-Landroid/widget/AbsListView$PositionScroller;->startWithOffset(II)V
-Landroid/widget/AbsListView$PositionScroller;->startWithOffset(III)V
-Landroid/widget/AbsListView$PositionScroller;->stop()V
-Landroid/widget/AbsListView$RecycleBin;
-Landroid/widget/AbsListView$RecycleBin;-><init>()V
-Landroid/widget/AbsListView$RecycleBin;->addScrapView(Landroid/view/View;I)V
-Landroid/widget/AbsListView$RecycleBin;->clearScrap(Ljava/util/ArrayList;)V
-Landroid/widget/AbsListView$RecycleBin;->clearScrapForRebind(Landroid/view/View;)V
-Landroid/widget/AbsListView$RecycleBin;->clearTransientStateViews()V
-Landroid/widget/AbsListView$RecycleBin;->fillActiveViews(II)V
-Landroid/widget/AbsListView$RecycleBin;->fullyDetachScrapViews()V
-Landroid/widget/AbsListView$RecycleBin;->getActiveView(I)Landroid/view/View;
-Landroid/widget/AbsListView$RecycleBin;->getScrapView(I)Landroid/view/View;
-Landroid/widget/AbsListView$RecycleBin;->getSkippedScrap()Ljava/util/ArrayList;
-Landroid/widget/AbsListView$RecycleBin;->getTransientStateView(I)Landroid/view/View;
-Landroid/widget/AbsListView$RecycleBin;->mActiveViews:[Landroid/view/View;
-Landroid/widget/AbsListView$RecycleBin;->markChildrenDirty()V
-Landroid/widget/AbsListView$RecycleBin;->mCurrentScrap:Ljava/util/ArrayList;
-Landroid/widget/AbsListView$RecycleBin;->mFirstActivePosition:I
-Landroid/widget/AbsListView$RecycleBin;->mScrapViews:[Ljava/util/ArrayList;
-Landroid/widget/AbsListView$RecycleBin;->mSkippedScrap:Ljava/util/ArrayList;
-Landroid/widget/AbsListView$RecycleBin;->mTransientStateViews:Landroid/util/SparseArray;
-Landroid/widget/AbsListView$RecycleBin;->mTransientStateViewsById:Landroid/util/LongSparseArray;
-Landroid/widget/AbsListView$RecycleBin;->mViewTypeCount:I
-Landroid/widget/AbsListView$RecycleBin;->pruneScrapViews()V
-Landroid/widget/AbsListView$RecycleBin;->reclaimScrapViews(Ljava/util/List;)V
-Landroid/widget/AbsListView$RecycleBin;->removeDetachedView(Landroid/view/View;Z)V
-Landroid/widget/AbsListView$RecycleBin;->removeSkippedScrap()V
-Landroid/widget/AbsListView$RecycleBin;->retrieveFromScrap(Ljava/util/ArrayList;I)Landroid/view/View;
-Landroid/widget/AbsListView$RecycleBin;->scrapActiveViews()V
-Landroid/widget/AbsListView$RecycleBin;->setCacheColorHint(I)V
-Landroid/widget/AbsListView$RecycleBin;->setViewTypeCount(I)V
-Landroid/widget/AbsListView$RecycleBin;->shouldRecycleViewType(I)Z
-Landroid/widget/AbsListView$SavedState;
-Landroid/widget/AbsListView$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/AbsListView$SavedState;-><init>(Landroid/os/Parcelable;)V
-Landroid/widget/AbsListView$SavedState;->checkedItemCount:I
-Landroid/widget/AbsListView$SavedState;->checkIdState:Landroid/util/LongSparseArray;
-Landroid/widget/AbsListView$SavedState;->checkState:Landroid/util/SparseBooleanArray;
-Landroid/widget/AbsListView$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/widget/AbsListView$SavedState;->filter:Ljava/lang/String;
-Landroid/widget/AbsListView$SavedState;->height:I
-Landroid/widget/AbsListView$SavedState;->inActionMode:Z
-Landroid/widget/AbsListView$SavedState;->position:I
-Landroid/widget/AbsListView$SavedState;->selectedId:J
-Landroid/widget/AbsListView$WindowRunnnable;
-Landroid/widget/AbsListView$WindowRunnnable;-><init>()V
-Landroid/widget/AbsListView$WindowRunnnable;->mOriginalAttachCount:I
-Landroid/widget/AbsListView$WindowRunnnable;->rememberWindowAttachCount()V
-Landroid/widget/AbsListView$WindowRunnnable;->sameWindow()Z
-Landroid/widget/AbsListView;->acceptFilter()Z
-Landroid/widget/AbsListView;->CHECK_POSITION_SEARCH_DISTANCE:I
-Landroid/widget/AbsListView;->clearScrollingCache()V
-Landroid/widget/AbsListView;->confirmCheckedPositionsById()V
-Landroid/widget/AbsListView;->contentFits()Z
-Landroid/widget/AbsListView;->createContextMenuInfo(Landroid/view/View;IJ)Landroid/view/ContextMenu$ContextMenuInfo;
-Landroid/widget/AbsListView;->createPositionScroller()Landroid/widget/AbsListView$AbsPositionScroller;
-Landroid/widget/AbsListView;->createScrollingCache()V
-Landroid/widget/AbsListView;->createTextFilter(Z)V
-Landroid/widget/AbsListView;->dismissPopup()V
-Landroid/widget/AbsListView;->drawSelector(Landroid/graphics/Canvas;)V
-Landroid/widget/AbsListView;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/widget/AbsListView;->fillGap(Z)V
-Landroid/widget/AbsListView;->findClosestMotionRow(I)I
-Landroid/widget/AbsListView;->findViewByAccessibilityIdTraversal(I)Landroid/view/View;
-Landroid/widget/AbsListView;->finishGlows()V
-Landroid/widget/AbsListView;->getAccessibilityFocusedChild(Landroid/view/View;)Landroid/view/View;
-Landroid/widget/AbsListView;->getDistance(Landroid/graphics/Rect;Landroid/graphics/Rect;I)I
-Landroid/widget/AbsListView;->getDrawableStateForSelector()[I
-Landroid/widget/AbsListView;->getFooterViewsCount()I
-Landroid/widget/AbsListView;->getHeaderViewsCount()I
-Landroid/widget/AbsListView;->getHeightForPosition(I)I
-Landroid/widget/AbsListView;->getSelectionModeForAccessibility()I
-Landroid/widget/AbsListView;->getTextFilterInput()Landroid/widget/EditText;
-Landroid/widget/AbsListView;->handleBoundsChange()V
-Landroid/widget/AbsListView;->handleScrollBarDragging(Landroid/view/MotionEvent;)Z
-Landroid/widget/AbsListView;->hideSelector()V
-Landroid/widget/AbsListView;->initAbsListView()V
-Landroid/widget/AbsListView;->initOrResetVelocityTracker()V
-Landroid/widget/AbsListView;->initVelocityTrackerIfNotExists()V
-Landroid/widget/AbsListView;->internalSetPadding(IIII)V
-Landroid/widget/AbsListView;->invalidateBottomGlow()V
-Landroid/widget/AbsListView;->invalidateTopGlow()V
-Landroid/widget/AbsListView;->INVALID_POINTER:I
-Landroid/widget/AbsListView;->isItemClickable(Landroid/view/View;)Z
-Landroid/widget/AbsListView;->isOwnerThread()Z
-Landroid/widget/AbsListView;->keyPressed()V
-Landroid/widget/AbsListView;->LAYOUT_FORCE_BOTTOM:I
-Landroid/widget/AbsListView;->LAYOUT_FORCE_TOP:I
-Landroid/widget/AbsListView;->LAYOUT_MOVE_SELECTION:I
-Landroid/widget/AbsListView;->LAYOUT_NORMAL:I
-Landroid/widget/AbsListView;->LAYOUT_SET_SELECTION:I
-Landroid/widget/AbsListView;->LAYOUT_SPECIFIC:I
-Landroid/widget/AbsListView;->LAYOUT_SYNC:I
-Landroid/widget/AbsListView;->mAccessibilityDelegate:Landroid/widget/AbsListView$ListItemAccessibilityDelegate;
-Landroid/widget/AbsListView;->mAdapterHasStableIds:Z
-Landroid/widget/AbsListView;->mCacheColorHint:I
-Landroid/widget/AbsListView;->mCachingActive:Z
-Landroid/widget/AbsListView;->mCachingStarted:Z
-Landroid/widget/AbsListView;->mCheckedIdStates:Landroid/util/LongSparseArray;
-Landroid/widget/AbsListView;->mCheckedItemCount:I
-Landroid/widget/AbsListView;->mCheckStates:Landroid/util/SparseBooleanArray;
-Landroid/widget/AbsListView;->mChoiceMode:I
-Landroid/widget/AbsListView;->mClearScrollingCache:Ljava/lang/Runnable;
-Landroid/widget/AbsListView;->mDeferNotifyDataSetChanged:Z
-Landroid/widget/AbsListView;->mDefInputConnection:Landroid/view/inputmethod/InputConnection;
-Landroid/widget/AbsListView;->mDensityScale:F
-Landroid/widget/AbsListView;->mDirection:I
-Landroid/widget/AbsListView;->mDrawSelectorOnTop:Z
-Landroid/widget/AbsListView;->mFastScrollAlwaysVisible:Z
-Landroid/widget/AbsListView;->mFastScrollEnabled:Z
-Landroid/widget/AbsListView;->mFastScrollStyle:I
-Landroid/widget/AbsListView;->mFiltered:Z
-Landroid/widget/AbsListView;->mFirstPositionDistanceGuess:I
-Landroid/widget/AbsListView;->mFlingProfilingStarted:Z
-Landroid/widget/AbsListView;->mFlingStrictSpan:Landroid/os/StrictMode$Span;
-Landroid/widget/AbsListView;->mForceTranscriptScroll:Z
-Landroid/widget/AbsListView;->mGlobalLayoutListenerAddedFilter:Z
-Landroid/widget/AbsListView;->mHasPerformedLongPress:Z
-Landroid/widget/AbsListView;->mIsDetaching:Z
-Landroid/widget/AbsListView;->mIsScrap:[Z
-Landroid/widget/AbsListView;->mLastAccessibilityScrollEventFromIndex:I
-Landroid/widget/AbsListView;->mLastAccessibilityScrollEventToIndex:I
-Landroid/widget/AbsListView;->mLastHandledItemCount:I
-Landroid/widget/AbsListView;->mLastPositionDistanceGuess:I
-Landroid/widget/AbsListView;->mLastScrollState:I
-Landroid/widget/AbsListView;->mLastTouchMode:I
-Landroid/widget/AbsListView;->mLastY:I
-Landroid/widget/AbsListView;->mListPadding:Landroid/graphics/Rect;
-Landroid/widget/AbsListView;->mMinimumVelocity:I
-Landroid/widget/AbsListView;->mMotionCorrection:I
-Landroid/widget/AbsListView;->mMotionViewNewTop:I
-Landroid/widget/AbsListView;->mMotionViewOriginalTop:I
-Landroid/widget/AbsListView;->mMotionX:I
-Landroid/widget/AbsListView;->mMultiChoiceModeCallback:Landroid/widget/AbsListView$MultiChoiceModeWrapper;
-Landroid/widget/AbsListView;->mNestedYOffset:I
-Landroid/widget/AbsListView;->mOverscrollMax:I
-Landroid/widget/AbsListView;->mOwnerThread:Ljava/lang/Thread;
-Landroid/widget/AbsListView;->mPendingCheckForKeyLongPress:Landroid/widget/AbsListView$CheckForKeyLongPress;
-Landroid/widget/AbsListView;->mPendingSync:Landroid/widget/AbsListView$SavedState;
-Landroid/widget/AbsListView;->mPerformClick:Landroid/widget/AbsListView$PerformClick;
-Landroid/widget/AbsListView;->mPopupHidden:Z
-Landroid/widget/AbsListView;->mPositionScrollAfterLayout:Ljava/lang/Runnable;
-Landroid/widget/AbsListView;->mPublicInputConnection:Landroid/widget/AbsListView$InputConnectionWrapper;
-Landroid/widget/AbsListView;->mRemoteAdapter:Landroid/widget/RemoteViewsAdapter;
-Landroid/widget/AbsListView;->mResurrectToPosition:I
-Landroid/widget/AbsListView;->mScrollConsumed:[I
-Landroid/widget/AbsListView;->mScrollDown:Landroid/view/View;
-Landroid/widget/AbsListView;->mScrollingCacheEnabled:Z
-Landroid/widget/AbsListView;->mScrollOffset:[I
-Landroid/widget/AbsListView;->mScrollProfilingStarted:Z
-Landroid/widget/AbsListView;->mScrollStrictSpan:Landroid/os/StrictMode$Span;
-Landroid/widget/AbsListView;->mScrollUp:Landroid/view/View;
-Landroid/widget/AbsListView;->mSelectedTop:I
-Landroid/widget/AbsListView;->mSelectionLeftPadding:I
-Landroid/widget/AbsListView;->mSelectionRightPadding:I
-Landroid/widget/AbsListView;->mSelectorState:[I
-Landroid/widget/AbsListView;->mSmoothScrollbarEnabled:Z
-Landroid/widget/AbsListView;->mStackFromBottom:Z
-Landroid/widget/AbsListView;->mTextFilter:Landroid/widget/EditText;
-Landroid/widget/AbsListView;->mTextFilterEnabled:Z
-Landroid/widget/AbsListView;->mTmpPoint:[F
-Landroid/widget/AbsListView;->mTouchFrame:Landroid/graphics/Rect;
-Landroid/widget/AbsListView;->mTouchModeReset:Ljava/lang/Runnable;
-Landroid/widget/AbsListView;->mTranscriptMode:I
-Landroid/widget/AbsListView;->mVelocityScale:F
-Landroid/widget/AbsListView;->mVerticalScrollFactor:F
-Landroid/widget/AbsListView;->mWidthMeasureSpec:I
-Landroid/widget/AbsListView;->obtainView(I[Z)Landroid/view/View;
-Landroid/widget/AbsListView;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/AbsListView;->onSecondaryPointerUp(Landroid/view/MotionEvent;)V
-Landroid/widget/AbsListView;->onTouchCancel()V
-Landroid/widget/AbsListView;->onTouchDown(Landroid/view/MotionEvent;)V
-Landroid/widget/AbsListView;->onTouchMove(Landroid/view/MotionEvent;Landroid/view/MotionEvent;)V
-Landroid/widget/AbsListView;->onTouchUp(Landroid/view/MotionEvent;)V
-Landroid/widget/AbsListView;->OVERSCROLL_LIMIT_DIVISOR:I
-Landroid/widget/AbsListView;->performAccessibilityActionInternal(ILandroid/os/Bundle;)Z
-Landroid/widget/AbsListView;->performStylusButtonPressAction(Landroid/view/MotionEvent;)Z
-Landroid/widget/AbsListView;->positionPopup()V
-Landroid/widget/AbsListView;->positionSelector(ILandroid/view/View;)V
-Landroid/widget/AbsListView;->positionSelectorLikeFocus(ILandroid/view/View;)V
-Landroid/widget/AbsListView;->positionSelectorLikeTouch(ILandroid/view/View;FF)V
-Landroid/widget/AbsListView;->PROFILE_FLINGING:Z
-Landroid/widget/AbsListView;->PROFILE_SCROLLING:Z
-Landroid/widget/AbsListView;->reconcileSelectedPosition()I
-Landroid/widget/AbsListView;->recycleVelocityTracker()V
-Landroid/widget/AbsListView;->requestLayoutIfNecessary()V
-Landroid/widget/AbsListView;->resetList()V
-Landroid/widget/AbsListView;->resurrectSelection()Z
-Landroid/widget/AbsListView;->scrollIfNeeded(IILandroid/view/MotionEvent;)V
-Landroid/widget/AbsListView;->sendToTextFilter(IILandroid/view/KeyEvent;)Z
-Landroid/widget/AbsListView;->setFastScrollerAlwaysVisibleUiThread(Z)V
-Landroid/widget/AbsListView;->setFastScrollerEnabledUiThread(Z)V
-Landroid/widget/AbsListView;->setFrame(IIII)Z
-Landroid/widget/AbsListView;->setItemViewLayoutParams(Landroid/view/View;I)V
-Landroid/widget/AbsListView;->setRemoteViewsAdapter(Landroid/content/Intent;Z)V
-Landroid/widget/AbsListView;->setRemoteViewsAdapterAsync(Landroid/content/Intent;)Ljava/lang/Runnable;
-Landroid/widget/AbsListView;->setRemoteViewsOnClickHandler(Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/AbsListView;->setSelectionInt(I)V
-Landroid/widget/AbsListView;->setVisibleRangeHint(II)V
-Landroid/widget/AbsListView;->shouldShowSelector()Z
-Landroid/widget/AbsListView;->showContextMenuForChildInternal(Landroid/view/View;FFZ)Z
-Landroid/widget/AbsListView;->showContextMenuInternal(FFZ)Z
-Landroid/widget/AbsListView;->showPopup()V
-Landroid/widget/AbsListView;->sLinearInterpolator:Landroid/view/animation/Interpolator;
-Landroid/widget/AbsListView;->smoothScrollByOffset(I)V
-Landroid/widget/AbsListView;->startScrollIfNeeded(IILandroid/view/MotionEvent;)Z
-Landroid/widget/AbsListView;->TAG:Ljava/lang/String;
-Landroid/widget/AbsListView;->touchModeDrawsInPressedState()Z
-Landroid/widget/AbsListView;->TOUCH_MODE_DONE_WAITING:I
-Landroid/widget/AbsListView;->TOUCH_MODE_DOWN:I
-Landroid/widget/AbsListView;->TOUCH_MODE_FLING:I
-Landroid/widget/AbsListView;->TOUCH_MODE_OFF:I
-Landroid/widget/AbsListView;->TOUCH_MODE_ON:I
-Landroid/widget/AbsListView;->TOUCH_MODE_OVERFLING:I
-Landroid/widget/AbsListView;->TOUCH_MODE_OVERSCROLL:I
-Landroid/widget/AbsListView;->TOUCH_MODE_REST:I
-Landroid/widget/AbsListView;->TOUCH_MODE_SCROLL:I
-Landroid/widget/AbsListView;->TOUCH_MODE_TAP:I
-Landroid/widget/AbsListView;->TOUCH_MODE_UNKNOWN:I
-Landroid/widget/AbsListView;->updateOnScreenCheckedViews()V
-Landroid/widget/AbsListView;->updateScrollIndicators()V
-Landroid/widget/AbsListView;->useDefaultSelector()V
-Landroid/widget/AbsSeekBar;->applyThumbTint()V
-Landroid/widget/AbsSeekBar;->applyTickMarkTint()V
-Landroid/widget/AbsSeekBar;->attemptClaimDrag()V
-Landroid/widget/AbsSeekBar;->canUserSetProgress()Z
-Landroid/widget/AbsSeekBar;->drawTickMarks(Landroid/graphics/Canvas;)V
-Landroid/widget/AbsSeekBar;->drawTrack(Landroid/graphics/Canvas;)V
-Landroid/widget/AbsSeekBar;->getScale()F
-Landroid/widget/AbsSeekBar;->mHasThumbTint:Z
-Landroid/widget/AbsSeekBar;->mHasThumbTintMode:Z
-Landroid/widget/AbsSeekBar;->mHasTickMarkTint:Z
-Landroid/widget/AbsSeekBar;->mHasTickMarkTintMode:Z
-Landroid/widget/AbsSeekBar;->mKeyProgressIncrement:I
-Landroid/widget/AbsSeekBar;->mScaledTouchSlop:I
-Landroid/widget/AbsSeekBar;->mTempRect:Landroid/graphics/Rect;
-Landroid/widget/AbsSeekBar;->mThumbOffset:I
-Landroid/widget/AbsSeekBar;->mThumbTintList:Landroid/content/res/ColorStateList;
-Landroid/widget/AbsSeekBar;->mThumbTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/widget/AbsSeekBar;->mTickMark:Landroid/graphics/drawable/Drawable;
-Landroid/widget/AbsSeekBar;->mTickMarkTintList:Landroid/content/res/ColorStateList;
-Landroid/widget/AbsSeekBar;->mTickMarkTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/widget/AbsSeekBar;->mTouchDownX:F
-Landroid/widget/AbsSeekBar;->NO_ALPHA:I
-Landroid/widget/AbsSeekBar;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/AbsSeekBar;->onKeyChange()V
-Landroid/widget/AbsSeekBar;->onResolveDrawables(I)V
-Landroid/widget/AbsSeekBar;->onStartTrackingTouch()V
-Landroid/widget/AbsSeekBar;->onStopTrackingTouch()V
-Landroid/widget/AbsSeekBar;->onVisualProgressChanged(IF)V
-Landroid/widget/AbsSeekBar;->performAccessibilityActionInternal(ILandroid/os/Bundle;)Z
-Landroid/widget/AbsSeekBar;->setHotspot(FF)V
-Landroid/widget/AbsSeekBar;->setThumbPos(ILandroid/graphics/drawable/Drawable;FI)V
-Landroid/widget/AbsSeekBar;->startDrag(Landroid/view/MotionEvent;)V
-Landroid/widget/AbsSeekBar;->updateThumbAndTrackPos(II)V
-Landroid/widget/AbsSpinner$RecycleBin;
-Landroid/widget/AbsSpinner$RecycleBin;-><init>()V
-Landroid/widget/AbsSpinner$RecycleBin;->clear()V
-Landroid/widget/AbsSpinner$RecycleBin;->get(I)Landroid/view/View;
-Landroid/widget/AbsSpinner$RecycleBin;->mScrapHeap:Landroid/util/SparseArray;
-Landroid/widget/AbsSpinner$RecycleBin;->put(ILandroid/view/View;)V
-Landroid/widget/AbsSpinner$SavedState;
-Landroid/widget/AbsSpinner$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/AbsSpinner$SavedState;-><init>(Landroid/os/Parcelable;)V
-Landroid/widget/AbsSpinner$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/widget/AbsSpinner$SavedState;->position:I
-Landroid/widget/AbsSpinner$SavedState;->selectedId:J
-Landroid/widget/AbsSpinner;->getChildHeight(Landroid/view/View;)I
-Landroid/widget/AbsSpinner;->getChildWidth(Landroid/view/View;)I
-Landroid/widget/AbsSpinner;->initAbsSpinner()V
-Landroid/widget/AbsSpinner;->layout(IZ)V
-Landroid/widget/AbsSpinner;->LOG_TAG:Ljava/lang/String;
-Landroid/widget/AbsSpinner;->mAdapter:Landroid/widget/SpinnerAdapter;
-Landroid/widget/AbsSpinner;->mDataSetObserver:Landroid/database/DataSetObserver;
-Landroid/widget/AbsSpinner;->mHeightMeasureSpec:I
-Landroid/widget/AbsSpinner;->mRecycler:Landroid/widget/AbsSpinner$RecycleBin;
-Landroid/widget/AbsSpinner;->mSelectionBottomPadding:I
-Landroid/widget/AbsSpinner;->mSelectionLeftPadding:I
-Landroid/widget/AbsSpinner;->mSelectionRightPadding:I
-Landroid/widget/AbsSpinner;->mSelectionTopPadding:I
-Landroid/widget/AbsSpinner;->mSpinnerPadding:Landroid/graphics/Rect;
-Landroid/widget/AbsSpinner;->mTouchFrame:Landroid/graphics/Rect;
-Landroid/widget/AbsSpinner;->mWidthMeasureSpec:I
-Landroid/widget/AbsSpinner;->recycleAllViews()V
-Landroid/widget/AbsSpinner;->resetList()V
-Landroid/widget/AbsSpinner;->setSelectionInt(IZ)V
-Landroid/widget/ActionMenuPresenter$ActionButtonSubmenu;
-Landroid/widget/ActionMenuPresenter$ActionButtonSubmenu;-><init>(Landroid/content/Context;Lcom/android/internal/view/menu/SubMenuBuilder;Landroid/view/View;)V
-Landroid/widget/ActionMenuPresenter$ActionButtonSubmenu;->onDismiss()V
-Landroid/widget/ActionMenuPresenter$ActionMenuPopupCallback;
-Landroid/widget/ActionMenuPresenter$ActionMenuPopupCallback;-><init>()V
-Landroid/widget/ActionMenuPresenter$ActionMenuPopupCallback;->getPopup()Lcom/android/internal/view/menu/ShowableListMenu;
-Landroid/widget/ActionMenuPresenter$ItemAnimationInfo;
-Landroid/widget/ActionMenuPresenter$ItemAnimationInfo;-><init>(ILandroid/widget/ActionMenuPresenter$MenuItemLayoutInfo;Landroid/animation/Animator;I)V
-Landroid/widget/ActionMenuPresenter$ItemAnimationInfo;->animator:Landroid/animation/Animator;
-Landroid/widget/ActionMenuPresenter$ItemAnimationInfo;->animType:I
-Landroid/widget/ActionMenuPresenter$ItemAnimationInfo;->FADE_IN:I
-Landroid/widget/ActionMenuPresenter$ItemAnimationInfo;->FADE_OUT:I
-Landroid/widget/ActionMenuPresenter$ItemAnimationInfo;->id:I
-Landroid/widget/ActionMenuPresenter$ItemAnimationInfo;->menuItemLayoutInfo:Landroid/widget/ActionMenuPresenter$MenuItemLayoutInfo;
-Landroid/widget/ActionMenuPresenter$ItemAnimationInfo;->MOVE:I
-Landroid/widget/ActionMenuPresenter$MenuItemLayoutInfo;
-Landroid/widget/ActionMenuPresenter$MenuItemLayoutInfo;-><init>(Landroid/view/View;Z)V
-Landroid/widget/ActionMenuPresenter$MenuItemLayoutInfo;->left:I
-Landroid/widget/ActionMenuPresenter$MenuItemLayoutInfo;->top:I
-Landroid/widget/ActionMenuPresenter$MenuItemLayoutInfo;->view:Landroid/view/View;
-Landroid/widget/ActionMenuPresenter$OpenOverflowRunnable;
-Landroid/widget/ActionMenuPresenter$OpenOverflowRunnable;-><init>(Landroid/widget/ActionMenuPresenter$OverflowPopup;)V
-Landroid/widget/ActionMenuPresenter$OpenOverflowRunnable;->mPopup:Landroid/widget/ActionMenuPresenter$OverflowPopup;
-Landroid/widget/ActionMenuPresenter$OverflowMenuButton;
-Landroid/widget/ActionMenuPresenter$OverflowMenuButton;-><init>(Landroid/content/Context;)V
-Landroid/widget/ActionMenuPresenter$OverflowMenuButton;->needsDividerAfter()Z
-Landroid/widget/ActionMenuPresenter$OverflowMenuButton;->needsDividerBefore()Z
-Landroid/widget/ActionMenuPresenter$OverflowMenuButton;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/ActionMenuPresenter$OverflowPopup;
-Landroid/widget/ActionMenuPresenter$OverflowPopup;-><init>(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/View;Z)V
-Landroid/widget/ActionMenuPresenter$OverflowPopup;->onDismiss()V
-Landroid/widget/ActionMenuPresenter$PopupPresenterCallback;
-Landroid/widget/ActionMenuPresenter$PopupPresenterCallback;-><init>()V
-Landroid/widget/ActionMenuPresenter$PopupPresenterCallback;->onCloseMenu(Lcom/android/internal/view/menu/MenuBuilder;Z)V
-Landroid/widget/ActionMenuPresenter$PopupPresenterCallback;->onOpenSubMenu(Lcom/android/internal/view/menu/MenuBuilder;)Z
-Landroid/widget/ActionMenuPresenter$SavedState;
-Landroid/widget/ActionMenuPresenter$SavedState;-><init>()V
-Landroid/widget/ActionMenuPresenter$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/ActionMenuPresenter$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/widget/ActionMenuPresenter$SavedState;->openSubMenuId:I
-Landroid/widget/ActionMenuPresenter;
-Landroid/widget/ActionMenuPresenter;-><init>(Landroid/content/Context;)V
-Landroid/widget/ActionMenuPresenter;->ACTIONBAR_ANIMATIONS_ENABLED:Z
-Landroid/widget/ActionMenuPresenter;->bindItemView(Lcom/android/internal/view/menu/MenuItemImpl;Lcom/android/internal/view/menu/MenuView$ItemView;)V
-Landroid/widget/ActionMenuPresenter;->computeMenuItemAnimationInfo(Z)V
-Landroid/widget/ActionMenuPresenter;->filterLeftoverView(Landroid/view/ViewGroup;I)Z
-Landroid/widget/ActionMenuPresenter;->findViewForItem(Landroid/view/MenuItem;)Landroid/view/View;
-Landroid/widget/ActionMenuPresenter;->flagActionItems()Z
-Landroid/widget/ActionMenuPresenter;->getItemView(Lcom/android/internal/view/menu/MenuItemImpl;Landroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
-Landroid/widget/ActionMenuPresenter;->getMenuView(Landroid/view/ViewGroup;)Lcom/android/internal/view/menu/MenuView;
-Landroid/widget/ActionMenuPresenter;->getOverflowIcon()Landroid/graphics/drawable/Drawable;
-Landroid/widget/ActionMenuPresenter;->hideOverflowMenu()Z
-Landroid/widget/ActionMenuPresenter;->hideSubMenus()Z
-Landroid/widget/ActionMenuPresenter;->initForMenu(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;)V
-Landroid/widget/ActionMenuPresenter;->isOverflowMenuShowPending()Z
-Landroid/widget/ActionMenuPresenter;->isOverflowReserved()Z
-Landroid/widget/ActionMenuPresenter;->ITEM_ANIMATION_DURATION:I
-Landroid/widget/ActionMenuPresenter;->mActionButtonGroups:Landroid/util/SparseBooleanArray;
-Landroid/widget/ActionMenuPresenter;->mActionButtonPopup:Landroid/widget/ActionMenuPresenter$ActionButtonSubmenu;
-Landroid/widget/ActionMenuPresenter;->mActionItemWidthLimit:I
-Landroid/widget/ActionMenuPresenter;->mAttachStateChangeListener:Landroid/view/View$OnAttachStateChangeListener;
-Landroid/widget/ActionMenuPresenter;->mExpandedActionViewsExclusive:Z
-Landroid/widget/ActionMenuPresenter;->mItemAnimationPreDrawListener:Landroid/view/ViewTreeObserver$OnPreDrawListener;
-Landroid/widget/ActionMenuPresenter;->mMaxItems:I
-Landroid/widget/ActionMenuPresenter;->mMaxItemsSet:Z
-Landroid/widget/ActionMenuPresenter;->mMinCellSize:I
-Landroid/widget/ActionMenuPresenter;->mOpenSubMenuId:I
-Landroid/widget/ActionMenuPresenter;->mOverflowButton:Landroid/widget/ActionMenuPresenter$OverflowMenuButton;
-Landroid/widget/ActionMenuPresenter;->mOverflowPopup:Landroid/widget/ActionMenuPresenter$OverflowPopup;
-Landroid/widget/ActionMenuPresenter;->mPendingOverflowIcon:Landroid/graphics/drawable/Drawable;
-Landroid/widget/ActionMenuPresenter;->mPendingOverflowIconSet:Z
-Landroid/widget/ActionMenuPresenter;->mPopupCallback:Landroid/widget/ActionMenuPresenter$ActionMenuPopupCallback;
-Landroid/widget/ActionMenuPresenter;->mPopupPresenterCallback:Landroid/widget/ActionMenuPresenter$PopupPresenterCallback;
-Landroid/widget/ActionMenuPresenter;->mPostedOpenRunnable:Landroid/widget/ActionMenuPresenter$OpenOverflowRunnable;
-Landroid/widget/ActionMenuPresenter;->mPostLayoutItems:Landroid/util/SparseArray;
-Landroid/widget/ActionMenuPresenter;->mPreLayoutItems:Landroid/util/SparseArray;
-Landroid/widget/ActionMenuPresenter;->mReserveOverflow:Z
-Landroid/widget/ActionMenuPresenter;->mReserveOverflowSet:Z
-Landroid/widget/ActionMenuPresenter;->mRunningItemAnimations:Ljava/util/List;
-Landroid/widget/ActionMenuPresenter;->mStrictWidthLimit:Z
-Landroid/widget/ActionMenuPresenter;->mWidthLimit:I
-Landroid/widget/ActionMenuPresenter;->mWidthLimitSet:Z
-Landroid/widget/ActionMenuPresenter;->onCloseMenu(Lcom/android/internal/view/menu/MenuBuilder;Z)V
-Landroid/widget/ActionMenuPresenter;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-Landroid/widget/ActionMenuPresenter;->onSubMenuSelected(Lcom/android/internal/view/menu/SubMenuBuilder;)Z
-Landroid/widget/ActionMenuPresenter;->onSubUiVisibilityChanged(Z)V
-Landroid/widget/ActionMenuPresenter;->runItemAnimations()V
-Landroid/widget/ActionMenuPresenter;->setExpandedActionViewsExclusive(Z)V
-Landroid/widget/ActionMenuPresenter;->setItemLimit(I)V
-Landroid/widget/ActionMenuPresenter;->setMenuView(Landroid/widget/ActionMenuView;)V
-Landroid/widget/ActionMenuPresenter;->setOverflowIcon(Landroid/graphics/drawable/Drawable;)V
-Landroid/widget/ActionMenuPresenter;->setReserveOverflow(Z)V
-Landroid/widget/ActionMenuPresenter;->setupItemAnimations()V
-Landroid/widget/ActionMenuPresenter;->setWidthLimit(IZ)V
-Landroid/widget/ActionMenuPresenter;->shouldIncludeItem(ILcom/android/internal/view/menu/MenuItemImpl;)Z
-Landroid/widget/ActionMenuPresenter;->showOverflowMenu()Z
-Landroid/widget/ActionMenuPresenter;->updateMenuView(Z)V
-Landroid/widget/ActionMenuView$ActionMenuChildView;
-Landroid/widget/ActionMenuView$ActionMenuChildView;->needsDividerAfter()Z
-Landroid/widget/ActionMenuView$ActionMenuPresenterCallback;
-Landroid/widget/ActionMenuView$ActionMenuPresenterCallback;-><init>()V
-Landroid/widget/ActionMenuView$ActionMenuPresenterCallback;->onCloseMenu(Lcom/android/internal/view/menu/MenuBuilder;Z)V
-Landroid/widget/ActionMenuView$ActionMenuPresenterCallback;->onOpenSubMenu(Lcom/android/internal/view/menu/MenuBuilder;)Z
-Landroid/widget/ActionMenuView$LayoutParams;-><init>(IIZ)V
-Landroid/widget/ActionMenuView$LayoutParams;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/widget/ActionMenuView$MenuBuilderCallback;
-Landroid/widget/ActionMenuView$MenuBuilderCallback;-><init>()V
-Landroid/widget/ActionMenuView$MenuBuilderCallback;->onMenuItemSelected(Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/MenuItem;)Z
-Landroid/widget/ActionMenuView$MenuBuilderCallback;->onMenuModeChange(Lcom/android/internal/view/menu/MenuBuilder;)V
-Landroid/widget/ActionMenuView;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
-Landroid/widget/ActionMenuView;->GENERATED_ITEM_PADDING:I
-Landroid/widget/ActionMenuView;->generateOverflowButtonLayoutParams()Landroid/widget/ActionMenuView$LayoutParams;
-Landroid/widget/ActionMenuView;->getWindowAnimations()I
-Landroid/widget/ActionMenuView;->initialize(Lcom/android/internal/view/menu/MenuBuilder;)V
-Landroid/widget/ActionMenuView;->invokeItem(Lcom/android/internal/view/menu/MenuItemImpl;)Z
-Landroid/widget/ActionMenuView;->mActionMenuPresenterCallback:Lcom/android/internal/view/menu/MenuPresenter$Callback;
-Landroid/widget/ActionMenuView;->measureChildForCells(Landroid/view/View;IIII)I
-Landroid/widget/ActionMenuView;->mFormatItems:Z
-Landroid/widget/ActionMenuView;->mFormatItemsWidth:I
-Landroid/widget/ActionMenuView;->mGeneratedItemPadding:I
-Landroid/widget/ActionMenuView;->MIN_CELL_SIZE:I
-Landroid/widget/ActionMenuView;->mMenu:Lcom/android/internal/view/menu/MenuBuilder;
-Landroid/widget/ActionMenuView;->mMenuBuilderCallback:Lcom/android/internal/view/menu/MenuBuilder$Callback;
-Landroid/widget/ActionMenuView;->mMinCellSize:I
-Landroid/widget/ActionMenuView;->mOnMenuItemClickListener:Landroid/widget/ActionMenuView$OnMenuItemClickListener;
-Landroid/widget/ActionMenuView;->mPopupContext:Landroid/content/Context;
-Landroid/widget/ActionMenuView;->mPopupTheme:I
-Landroid/widget/ActionMenuView;->mPresenter:Landroid/widget/ActionMenuPresenter;
-Landroid/widget/ActionMenuView;->mReserveOverflow:Z
-Landroid/widget/ActionMenuView;->onMeasureExactFormat(II)V
-Landroid/widget/ActionMenuView;->setOverflowReserved(Z)V
-Landroid/widget/ActionMenuView;->setPresenter(Landroid/widget/ActionMenuPresenter;)V
-Landroid/widget/ActionMenuView;->TAG:Ljava/lang/String;
-Landroid/widget/ActivityChooserModel$ActivityChooserModelClient;
-Landroid/widget/ActivityChooserModel$ActivityChooserModelClient;->setActivityChooserModel(Landroid/widget/ActivityChooserModel;)V
-Landroid/widget/ActivityChooserModel$ActivityResolveInfo;
-Landroid/widget/ActivityChooserModel$ActivityResolveInfo;-><init>(Landroid/content/pm/ResolveInfo;)V
-Landroid/widget/ActivityChooserModel$ActivityResolveInfo;->compareTo(Landroid/widget/ActivityChooserModel$ActivityResolveInfo;)I
-Landroid/widget/ActivityChooserModel$ActivityResolveInfo;->resolveInfo:Landroid/content/pm/ResolveInfo;
-Landroid/widget/ActivityChooserModel$ActivityResolveInfo;->weight:F
-Landroid/widget/ActivityChooserModel$ActivitySorter;
-Landroid/widget/ActivityChooserModel$ActivitySorter;->sort(Landroid/content/Intent;Ljava/util/List;Ljava/util/List;)V
-Landroid/widget/ActivityChooserModel$DataModelPackageMonitor;
-Landroid/widget/ActivityChooserModel$DataModelPackageMonitor;-><init>()V
-Landroid/widget/ActivityChooserModel$DataModelPackageMonitor;->onSomePackagesChanged()V
-Landroid/widget/ActivityChooserModel$DefaultSorter;
-Landroid/widget/ActivityChooserModel$DefaultSorter;-><init>()V
-Landroid/widget/ActivityChooserModel$DefaultSorter;->mPackageNameToActivityMap:Ljava/util/Map;
-Landroid/widget/ActivityChooserModel$DefaultSorter;->sort(Landroid/content/Intent;Ljava/util/List;Ljava/util/List;)V
-Landroid/widget/ActivityChooserModel$DefaultSorter;->WEIGHT_DECAY_COEFFICIENT:F
-Landroid/widget/ActivityChooserModel$HistoricalRecord;
-Landroid/widget/ActivityChooserModel$HistoricalRecord;-><init>(Landroid/content/ComponentName;JF)V
-Landroid/widget/ActivityChooserModel$HistoricalRecord;-><init>(Ljava/lang/String;JF)V
-Landroid/widget/ActivityChooserModel$HistoricalRecord;->activity:Landroid/content/ComponentName;
-Landroid/widget/ActivityChooserModel$HistoricalRecord;->time:J
-Landroid/widget/ActivityChooserModel$HistoricalRecord;->weight:F
-Landroid/widget/ActivityChooserModel$OnChooseActivityListener;
-Landroid/widget/ActivityChooserModel$OnChooseActivityListener;->onChooseActivity(Landroid/widget/ActivityChooserModel;Landroid/content/Intent;)Z
-Landroid/widget/ActivityChooserModel$PersistHistoryAsyncTask;
-Landroid/widget/ActivityChooserModel$PersistHistoryAsyncTask;-><init>()V
-Landroid/widget/ActivityChooserModel$PersistHistoryAsyncTask;->doInBackground([[Ljava/lang/Object;)Ljava/lang/Void;
-Landroid/widget/ActivityChooserModel;
-Landroid/widget/ActivityChooserModel;-><init>(Landroid/content/Context;Ljava/lang/String;)V
-Landroid/widget/ActivityChooserModel;->addHisoricalRecord(Landroid/widget/ActivityChooserModel$HistoricalRecord;)Z
-Landroid/widget/ActivityChooserModel;->ATTRIBUTE_ACTIVITY:Ljava/lang/String;
-Landroid/widget/ActivityChooserModel;->ATTRIBUTE_TIME:Ljava/lang/String;
-Landroid/widget/ActivityChooserModel;->ATTRIBUTE_WEIGHT:Ljava/lang/String;
-Landroid/widget/ActivityChooserModel;->DEBUG:Z
-Landroid/widget/ActivityChooserModel;->DEFAULT_ACTIVITY_INFLATION:I
-Landroid/widget/ActivityChooserModel;->DEFAULT_HISTORICAL_RECORD_WEIGHT:F
-Landroid/widget/ActivityChooserModel;->DEFAULT_HISTORY_FILE_NAME:Ljava/lang/String;
-Landroid/widget/ActivityChooserModel;->DEFAULT_HISTORY_MAX_LENGTH:I
-Landroid/widget/ActivityChooserModel;->ensureConsistentState()V
-Landroid/widget/ActivityChooserModel;->getActivityIndex(Landroid/content/pm/ResolveInfo;)I
-Landroid/widget/ActivityChooserModel;->getDefaultActivity()Landroid/content/pm/ResolveInfo;
-Landroid/widget/ActivityChooserModel;->getHistoryMaxSize()I
-Landroid/widget/ActivityChooserModel;->getHistorySize()I
-Landroid/widget/ActivityChooserModel;->getIntent()Landroid/content/Intent;
-Landroid/widget/ActivityChooserModel;->HISTORY_FILE_EXTENSION:Ljava/lang/String;
-Landroid/widget/ActivityChooserModel;->INVALID_INDEX:I
-Landroid/widget/ActivityChooserModel;->loadActivitiesIfNeeded()Z
-Landroid/widget/ActivityChooserModel;->LOG_TAG:Ljava/lang/String;
-Landroid/widget/ActivityChooserModel;->mActivities:Ljava/util/List;
-Landroid/widget/ActivityChooserModel;->mActivityChoserModelPolicy:Landroid/widget/ActivityChooserModel$OnChooseActivityListener;
-Landroid/widget/ActivityChooserModel;->mActivitySorter:Landroid/widget/ActivityChooserModel$ActivitySorter;
-Landroid/widget/ActivityChooserModel;->mCanReadHistoricalData:Z
-Landroid/widget/ActivityChooserModel;->mContext:Landroid/content/Context;
-Landroid/widget/ActivityChooserModel;->mHistoricalRecords:Ljava/util/List;
-Landroid/widget/ActivityChooserModel;->mHistoricalRecordsChanged:Z
-Landroid/widget/ActivityChooserModel;->mHistoryFileName:Ljava/lang/String;
-Landroid/widget/ActivityChooserModel;->mHistoryMaxSize:I
-Landroid/widget/ActivityChooserModel;->mInstanceLock:Ljava/lang/Object;
-Landroid/widget/ActivityChooserModel;->mIntent:Landroid/content/Intent;
-Landroid/widget/ActivityChooserModel;->mPackageMonitor:Lcom/android/internal/content/PackageMonitor;
-Landroid/widget/ActivityChooserModel;->mReadShareHistoryCalled:Z
-Landroid/widget/ActivityChooserModel;->mReloadActivities:Z
-Landroid/widget/ActivityChooserModel;->persistHistoricalDataIfNeeded()V
-Landroid/widget/ActivityChooserModel;->pruneExcessiveHistoricalRecordsIfNeeded()V
-Landroid/widget/ActivityChooserModel;->readHistoricalDataIfNeeded()Z
-Landroid/widget/ActivityChooserModel;->readHistoricalDataImpl()V
-Landroid/widget/ActivityChooserModel;->sDataModelRegistry:Ljava/util/Map;
-Landroid/widget/ActivityChooserModel;->setActivitySorter(Landroid/widget/ActivityChooserModel$ActivitySorter;)V
-Landroid/widget/ActivityChooserModel;->setDefaultActivity(I)V
-Landroid/widget/ActivityChooserModel;->setHistoryMaxSize(I)V
-Landroid/widget/ActivityChooserModel;->sortActivitiesIfNeeded()Z
-Landroid/widget/ActivityChooserModel;->sRegistryLock:Ljava/lang/Object;
-Landroid/widget/ActivityChooserModel;->TAG_HISTORICAL_RECORD:Ljava/lang/String;
-Landroid/widget/ActivityChooserModel;->TAG_HISTORICAL_RECORDS:Ljava/lang/String;
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;-><init>()V
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;->getActivityCount()I
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;->getDataModel()Landroid/widget/ActivityChooserModel;
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;->getDefaultActivity()Landroid/content/pm/ResolveInfo;
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;->getHistorySize()I
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;->getShowDefaultActivity()Z
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;->ITEM_VIEW_TYPE_ACTIVITY:I
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;->ITEM_VIEW_TYPE_COUNT:I
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;->ITEM_VIEW_TYPE_FOOTER:I
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;->MAX_ACTIVITY_COUNT_DEFAULT:I
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;->MAX_ACTIVITY_COUNT_UNLIMITED:I
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;->mDataModel:Landroid/widget/ActivityChooserModel;
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;->measureContentWidth()I
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;->mHighlightDefaultActivity:Z
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;->mMaxActivityCount:I
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;->mShowDefaultActivity:Z
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;->mShowFooterView:Z
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;->setDataModel(Landroid/widget/ActivityChooserModel;)V
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;->setMaxActivityCount(I)V
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;->setShowDefaultActivity(ZZ)V
-Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;->setShowFooterView(Z)V
-Landroid/widget/ActivityChooserView$Callbacks;
-Landroid/widget/ActivityChooserView$Callbacks;-><init>()V
-Landroid/widget/ActivityChooserView$Callbacks;->notifyOnDismissListener()V
-Landroid/widget/ActivityChooserView$Callbacks;->startActivity(Landroid/content/Intent;Landroid/content/pm/ResolveInfo;)V
-Landroid/widget/ActivityChooserView;
-Landroid/widget/ActivityChooserView;-><init>(Landroid/content/Context;)V
-Landroid/widget/ActivityChooserView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/widget/ActivityChooserView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/widget/ActivityChooserView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/widget/ActivityChooserView;->dismissPopup()Z
-Landroid/widget/ActivityChooserView;->getDataModel()Landroid/widget/ActivityChooserModel;
-Landroid/widget/ActivityChooserView;->getListPopupWindow()Landroid/widget/ListPopupWindow;
-Landroid/widget/ActivityChooserView;->isShowingPopup()Z
-Landroid/widget/ActivityChooserView;->LOG_TAG:Ljava/lang/String;
-Landroid/widget/ActivityChooserView;->mActivityChooserContent:Landroid/widget/LinearLayout;
-Landroid/widget/ActivityChooserView;->mActivityChooserContentBackground:Landroid/graphics/drawable/Drawable;
-Landroid/widget/ActivityChooserView;->mAdapter:Landroid/widget/ActivityChooserView$ActivityChooserViewAdapter;
-Landroid/widget/ActivityChooserView;->mCallbacks:Landroid/widget/ActivityChooserView$Callbacks;
-Landroid/widget/ActivityChooserView;->mDefaultActionButtonContentDescription:I
-Landroid/widget/ActivityChooserView;->mDefaultActivityButton:Landroid/widget/FrameLayout;
-Landroid/widget/ActivityChooserView;->mDefaultActivityButtonImage:Landroid/widget/ImageView;
-Landroid/widget/ActivityChooserView;->mExpandActivityOverflowButton:Landroid/widget/FrameLayout;
-Landroid/widget/ActivityChooserView;->mExpandActivityOverflowButtonImage:Landroid/widget/ImageView;
-Landroid/widget/ActivityChooserView;->mInitialActivityCount:I
-Landroid/widget/ActivityChooserView;->mIsAttachedToWindow:Z
-Landroid/widget/ActivityChooserView;->mIsSelectingDefaultActivity:Z
-Landroid/widget/ActivityChooserView;->mListPopupMaxWidth:I
-Landroid/widget/ActivityChooserView;->mListPopupWindow:Landroid/widget/ListPopupWindow;
-Landroid/widget/ActivityChooserView;->mModelDataSetOberver:Landroid/database/DataSetObserver;
-Landroid/widget/ActivityChooserView;->mOnDismissListener:Landroid/widget/PopupWindow$OnDismissListener;
-Landroid/widget/ActivityChooserView;->mOnGlobalLayoutListener:Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;
-Landroid/widget/ActivityChooserView;->mProvider:Landroid/view/ActionProvider;
-Landroid/widget/ActivityChooserView;->setActivityChooserModel(Landroid/widget/ActivityChooserModel;)V
-Landroid/widget/ActivityChooserView;->setDefaultActionButtonContentDescription(I)V
-Landroid/widget/ActivityChooserView;->setExpandActivityOverflowButtonContentDescription(I)V
-Landroid/widget/ActivityChooserView;->setInitialActivityCount(I)V
-Landroid/widget/ActivityChooserView;->setOnDismissListener(Landroid/widget/PopupWindow$OnDismissListener;)V
-Landroid/widget/ActivityChooserView;->setProvider(Landroid/view/ActionProvider;)V
-Landroid/widget/ActivityChooserView;->showPopup()Z
-Landroid/widget/ActivityChooserView;->showPopupUnchecked(I)V
-Landroid/widget/ActivityChooserView;->updateAppearance()V
-Landroid/widget/AdapterView$AdapterDataSetObserver;
-Landroid/widget/AdapterView$AdapterDataSetObserver;-><init>()V
-Landroid/widget/AdapterView$AdapterDataSetObserver;->clearSavedState()V
-Landroid/widget/AdapterView$AdapterDataSetObserver;->mInstanceState:Landroid/os/Parcelable;
-Landroid/widget/AdapterView$SelectionNotifier;
-Landroid/widget/AdapterView$SelectionNotifier;-><init>()V
-Landroid/widget/AdapterView;->checkFocus()V
-Landroid/widget/AdapterView;->checkSelectionChanged()V
-Landroid/widget/AdapterView;->dispatchOnItemSelected()V
-Landroid/widget/AdapterView;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
-Landroid/widget/AdapterView;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/widget/AdapterView;->findSyncPosition()I
-Landroid/widget/AdapterView;->fireOnSelected()V
-Landroid/widget/AdapterView;->handleDataChanged()V
-Landroid/widget/AdapterView;->isInFilterMode()Z
-Landroid/widget/AdapterView;->isScrollableForAccessibility()Z
-Landroid/widget/AdapterView;->lookForSelectablePosition(IZ)I
-Landroid/widget/AdapterView;->mBlockLayoutRequests:Z
-Landroid/widget/AdapterView;->mDesiredFocusableInTouchModeState:Z
-Landroid/widget/AdapterView;->mDesiredFocusableState:I
-Landroid/widget/AdapterView;->mEmptyView:Landroid/view/View;
-Landroid/widget/AdapterView;->mInLayout:Z
-Landroid/widget/AdapterView;->mItemCount:I
-Landroid/widget/AdapterView;->mLayoutHeight:I
-Landroid/widget/AdapterView;->mOldItemCount:I
-Landroid/widget/AdapterView;->mOldSelectedRowId:J
-Landroid/widget/AdapterView;->mOnItemLongClickListener:Landroid/widget/AdapterView$OnItemLongClickListener;
-Landroid/widget/AdapterView;->mPendingSelectionNotifier:Landroid/widget/AdapterView$SelectionNotifier;
-Landroid/widget/AdapterView;->mSelectedRowId:J
-Landroid/widget/AdapterView;->mSelectionNotifier:Landroid/widget/AdapterView$SelectionNotifier;
-Landroid/widget/AdapterView;->mSpecificTop:I
-Landroid/widget/AdapterView;->mSyncHeight:J
-Landroid/widget/AdapterView;->mSyncMode:I
-Landroid/widget/AdapterView;->mSyncRowId:J
-Landroid/widget/AdapterView;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/widget/AdapterView;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/AdapterView;->onRequestSendAccessibilityEventInternal(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
-Landroid/widget/AdapterView;->performAccessibilityActionsOnSelected()V
-Landroid/widget/AdapterView;->rememberSyncState()V
-Landroid/widget/AdapterView;->SYNC_FIRST_POSITION:I
-Landroid/widget/AdapterView;->SYNC_MAX_DURATION_MILLIS:I
-Landroid/widget/AdapterView;->SYNC_SELECTED_POSITION:I
-Landroid/widget/AdapterView;->updateEmptyStatus(Z)V
-Landroid/widget/AdapterViewAnimator$CheckForTap;
-Landroid/widget/AdapterViewAnimator$CheckForTap;-><init>()V
-Landroid/widget/AdapterViewAnimator$SavedState;
-Landroid/widget/AdapterViewAnimator$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/AdapterViewAnimator$SavedState;-><init>(Landroid/os/Parcelable;I)V
-Landroid/widget/AdapterViewAnimator$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/widget/AdapterViewAnimator$SavedState;->whichChild:I
-Landroid/widget/AdapterViewAnimator$ViewAndMetaData;
-Landroid/widget/AdapterViewAnimator$ViewAndMetaData;-><init>(Landroid/view/View;IIJ)V
-Landroid/widget/AdapterViewAnimator$ViewAndMetaData;->adapterPosition:I
-Landroid/widget/AdapterViewAnimator$ViewAndMetaData;->itemId:J
-Landroid/widget/AdapterViewAnimator$ViewAndMetaData;->relativeIndex:I
-Landroid/widget/AdapterViewAnimator$ViewAndMetaData;->view:Landroid/view/View;
-Landroid/widget/AdapterViewAnimator;->addChild(Landroid/view/View;)V
-Landroid/widget/AdapterViewAnimator;->applyTransformForChildAtIndex(Landroid/view/View;I)V
-Landroid/widget/AdapterViewAnimator;->cancelHandleClick()V
-Landroid/widget/AdapterViewAnimator;->checkForAndHandleDataChanged()V
-Landroid/widget/AdapterViewAnimator;->configureViewAnimator(II)V
-Landroid/widget/AdapterViewAnimator;->createOrReuseLayoutParams(Landroid/view/View;)Landroid/view/ViewGroup$LayoutParams;
-Landroid/widget/AdapterViewAnimator;->DEFAULT_ANIMATION_DURATION:I
-Landroid/widget/AdapterViewAnimator;->getDefaultInAnimation()Landroid/animation/ObjectAnimator;
-Landroid/widget/AdapterViewAnimator;->getDefaultOutAnimation()Landroid/animation/ObjectAnimator;
-Landroid/widget/AdapterViewAnimator;->getFrameForChild()Landroid/widget/FrameLayout;
-Landroid/widget/AdapterViewAnimator;->getMetaDataForChild(Landroid/view/View;)Landroid/widget/AdapterViewAnimator$ViewAndMetaData;
-Landroid/widget/AdapterViewAnimator;->getNumActiveViews()I
-Landroid/widget/AdapterViewAnimator;->getViewAtRelativeIndex(I)Landroid/view/View;
-Landroid/widget/AdapterViewAnimator;->getWindowSize()I
-Landroid/widget/AdapterViewAnimator;->hideTapFeedback(Landroid/view/View;)V
-Landroid/widget/AdapterViewAnimator;->initViewAnimator()V
-Landroid/widget/AdapterViewAnimator;->mActiveOffset:I
-Landroid/widget/AdapterViewAnimator;->mAdapter:Landroid/widget/Adapter;
-Landroid/widget/AdapterViewAnimator;->mAnimateFirstTime:Z
-Landroid/widget/AdapterViewAnimator;->mCurrentWindowEnd:I
-Landroid/widget/AdapterViewAnimator;->mCurrentWindowStart:I
-Landroid/widget/AdapterViewAnimator;->mCurrentWindowStartUnbounded:I
-Landroid/widget/AdapterViewAnimator;->mDataSetObserver:Landroid/widget/AdapterView$AdapterDataSetObserver;
-Landroid/widget/AdapterViewAnimator;->mDeferNotifyDataSetChanged:Z
-Landroid/widget/AdapterViewAnimator;->measureChildren()V
-Landroid/widget/AdapterViewAnimator;->mFirstTime:Z
-Landroid/widget/AdapterViewAnimator;->mInAnimation:Landroid/animation/ObjectAnimator;
-Landroid/widget/AdapterViewAnimator;->mLoopViews:Z
-Landroid/widget/AdapterViewAnimator;->mMaxNumActiveViews:I
-Landroid/widget/AdapterViewAnimator;->modulo(II)I
-Landroid/widget/AdapterViewAnimator;->mOutAnimation:Landroid/animation/ObjectAnimator;
-Landroid/widget/AdapterViewAnimator;->mPendingCheckForTap:Ljava/lang/Runnable;
-Landroid/widget/AdapterViewAnimator;->mPreviousViews:Ljava/util/ArrayList;
-Landroid/widget/AdapterViewAnimator;->mReferenceChildHeight:I
-Landroid/widget/AdapterViewAnimator;->mReferenceChildWidth:I
-Landroid/widget/AdapterViewAnimator;->mRemoteViewsAdapter:Landroid/widget/RemoteViewsAdapter;
-Landroid/widget/AdapterViewAnimator;->mRestoreWhichChild:I
-Landroid/widget/AdapterViewAnimator;->mTouchMode:I
-Landroid/widget/AdapterViewAnimator;->mViewsMap:Ljava/util/HashMap;
-Landroid/widget/AdapterViewAnimator;->mWhichChild:I
-Landroid/widget/AdapterViewAnimator;->refreshChildren()V
-Landroid/widget/AdapterViewAnimator;->setDisplayedChild(IZ)V
-Landroid/widget/AdapterViewAnimator;->setRemoteViewsAdapter(Landroid/content/Intent;Z)V
-Landroid/widget/AdapterViewAnimator;->setRemoteViewsAdapterAsync(Landroid/content/Intent;)Ljava/lang/Runnable;
-Landroid/widget/AdapterViewAnimator;->setRemoteViewsOnClickHandler(Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/AdapterViewAnimator;->showOnly(IZ)V
-Landroid/widget/AdapterViewAnimator;->showTapFeedback(Landroid/view/View;)V
-Landroid/widget/AdapterViewAnimator;->TAG:Ljava/lang/String;
-Landroid/widget/AdapterViewAnimator;->TOUCH_MODE_DOWN_IN_CURRENT_VIEW:I
-Landroid/widget/AdapterViewAnimator;->TOUCH_MODE_HANDLED:I
-Landroid/widget/AdapterViewAnimator;->TOUCH_MODE_NONE:I
-Landroid/widget/AdapterViewAnimator;->transformViewForTransition(IILandroid/view/View;Z)V
-Landroid/widget/AdapterViewFlipper;->DEFAULT_INTERVAL:I
-Landroid/widget/AdapterViewFlipper;->LOGD:Z
-Landroid/widget/AdapterViewFlipper;->mAdvancedByHost:Z
-Landroid/widget/AdapterViewFlipper;->mAutoStart:Z
-Landroid/widget/AdapterViewFlipper;->mFlipInterval:I
-Landroid/widget/AdapterViewFlipper;->mFlipRunnable:Ljava/lang/Runnable;
-Landroid/widget/AdapterViewFlipper;->mReceiver:Landroid/content/BroadcastReceiver;
-Landroid/widget/AdapterViewFlipper;->mRunning:Z
-Landroid/widget/AdapterViewFlipper;->mStarted:Z
-Landroid/widget/AdapterViewFlipper;->mUserPresent:Z
-Landroid/widget/AdapterViewFlipper;->mVisible:Z
-Landroid/widget/AdapterViewFlipper;->TAG:Ljava/lang/String;
-Landroid/widget/AdapterViewFlipper;->updateRunning()V
-Landroid/widget/AdapterViewFlipper;->updateRunning(Z)V
-Landroid/widget/AlphabetIndexer;->mAlphabetArray:[Ljava/lang/String;
-Landroid/widget/AlphabetIndexer;->mAlphabetLength:I
-Landroid/widget/AlphabetIndexer;->mAlphaMap:Landroid/util/SparseIntArray;
-Landroid/widget/AlphabetIndexer;->mCollator:Ljava/text/Collator;
-Landroid/widget/AnalogClock;->mAttached:Z
-Landroid/widget/AnalogClock;->mCalendar:Landroid/text/format/Time;
-Landroid/widget/AnalogClock;->mChanged:Z
-Landroid/widget/AnalogClock;->mDialHeight:I
-Landroid/widget/AnalogClock;->mDialWidth:I
-Landroid/widget/AnalogClock;->mHour:F
-Landroid/widget/AnalogClock;->mIntentReceiver:Landroid/content/BroadcastReceiver;
-Landroid/widget/AnalogClock;->mMinutes:F
-Landroid/widget/AnalogClock;->onTimeChanged()V
-Landroid/widget/AnalogClock;->updateContentDescription(Landroid/text/format/Time;)V
-Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;
-Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;-><init>(Landroid/content/pm/PermissionGroupInfo;)V
-Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;-><init>(Landroid/content/pm/PermissionInfo;)V
-Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;->loadGroupIcon(Landroid/content/Context;Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
-Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;->mAllPermissions:Ljava/util/ArrayList;
-Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;->mLabel:Ljava/lang/CharSequence;
-Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;->mNewPermissions:Ljava/util/ArrayList;
-Landroid/widget/AppSecurityPermissions$MyPermissionInfo;
-Landroid/widget/AppSecurityPermissions$MyPermissionInfo;-><init>(Landroid/content/pm/PermissionInfo;)V
-Landroid/widget/AppSecurityPermissions$MyPermissionInfo;->mExistingReqFlags:I
-Landroid/widget/AppSecurityPermissions$MyPermissionInfo;->mLabel:Ljava/lang/CharSequence;
-Landroid/widget/AppSecurityPermissions$MyPermissionInfo;->mNew:Z
-Landroid/widget/AppSecurityPermissions$MyPermissionInfo;->mNewReqFlags:I
-Landroid/widget/AppSecurityPermissions$PermissionGroupInfoComparator;
-Landroid/widget/AppSecurityPermissions$PermissionGroupInfoComparator;-><init>()V
-Landroid/widget/AppSecurityPermissions$PermissionGroupInfoComparator;->compare(Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;)I
-Landroid/widget/AppSecurityPermissions$PermissionGroupInfoComparator;->sCollator:Ljava/text/Collator;
-Landroid/widget/AppSecurityPermissions$PermissionInfoComparator;
-Landroid/widget/AppSecurityPermissions$PermissionInfoComparator;-><init>()V
-Landroid/widget/AppSecurityPermissions$PermissionInfoComparator;->compare(Landroid/widget/AppSecurityPermissions$MyPermissionInfo;Landroid/widget/AppSecurityPermissions$MyPermissionInfo;)I
-Landroid/widget/AppSecurityPermissions$PermissionInfoComparator;->sCollator:Ljava/text/Collator;
-Landroid/widget/AppSecurityPermissions$PermissionItemView;
-Landroid/widget/AppSecurityPermissions$PermissionItemView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/widget/AppSecurityPermissions$PermissionItemView;->addRevokeUIIfNecessary(Landroid/app/AlertDialog$Builder;)V
-Landroid/widget/AppSecurityPermissions$PermissionItemView;->mDialog:Landroid/app/AlertDialog;
-Landroid/widget/AppSecurityPermissions$PermissionItemView;->mGroup:Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;
-Landroid/widget/AppSecurityPermissions$PermissionItemView;->mPackageName:Ljava/lang/String;
-Landroid/widget/AppSecurityPermissions$PermissionItemView;->mPerm:Landroid/widget/AppSecurityPermissions$MyPermissionInfo;
-Landroid/widget/AppSecurityPermissions$PermissionItemView;->mShowRevokeUI:Z
-Landroid/widget/AppSecurityPermissions$PermissionItemView;->setPermission(Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;Landroid/widget/AppSecurityPermissions$MyPermissionInfo;ZLjava/lang/CharSequence;Ljava/lang/String;Z)V
-Landroid/widget/AppSecurityPermissions;
-Landroid/widget/AppSecurityPermissions;-><init>(Landroid/content/Context;)V
-Landroid/widget/AppSecurityPermissions;-><init>(Landroid/content/Context;Landroid/content/pm/PackageInfo;)V
-Landroid/widget/AppSecurityPermissions;->addPermToList(Ljava/util/List;Landroid/widget/AppSecurityPermissions$MyPermissionInfo;)V
-Landroid/widget/AppSecurityPermissions;->displayPermissions(Ljava/util/List;Landroid/widget/LinearLayout;IZ)V
-Landroid/widget/AppSecurityPermissions;->extractPerms(Landroid/content/pm/PackageInfo;Ljava/util/Set;Landroid/content/pm/PackageInfo;)V
-Landroid/widget/AppSecurityPermissions;->getAllUsedPermissions(ILjava/util/Set;)V
-Landroid/widget/AppSecurityPermissions;->getPermissionCount(I)I
-Landroid/widget/AppSecurityPermissions;->getPermissionItemView(Landroid/content/Context;Landroid/view/LayoutInflater;Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;Landroid/widget/AppSecurityPermissions$MyPermissionInfo;ZLjava/lang/CharSequence;Ljava/lang/String;Z)Landroid/widget/AppSecurityPermissions$PermissionItemView;
-Landroid/widget/AppSecurityPermissions;->getPermissionItemView(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Z)Landroid/view/View;
-Landroid/widget/AppSecurityPermissions;->getPermissionItemView(Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;Landroid/widget/AppSecurityPermissions$MyPermissionInfo;ZLjava/lang/CharSequence;Z)Landroid/widget/AppSecurityPermissions$PermissionItemView;
-Landroid/widget/AppSecurityPermissions;->getPermissionItemViewOld(Landroid/content/Context;Landroid/view/LayoutInflater;Ljava/lang/CharSequence;Ljava/lang/CharSequence;ZLandroid/graphics/drawable/Drawable;)Landroid/view/View;
-Landroid/widget/AppSecurityPermissions;->getPermissionList(Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;I)Ljava/util/List;
-Landroid/widget/AppSecurityPermissions;->getPermissionsForPackage(Ljava/lang/String;Ljava/util/Set;)V
-Landroid/widget/AppSecurityPermissions;->getPermissionsView(I)Landroid/view/View;
-Landroid/widget/AppSecurityPermissions;->getPermissionsView(IZ)Landroid/view/View;
-Landroid/widget/AppSecurityPermissions;->getPermissionsViewWithRevokeButtons()Landroid/view/View;
-Landroid/widget/AppSecurityPermissions;->isDisplayablePermission(Landroid/content/pm/PermissionInfo;II)Z
-Landroid/widget/AppSecurityPermissions;->localLOGV:Z
-Landroid/widget/AppSecurityPermissions;->mContext:Landroid/content/Context;
-Landroid/widget/AppSecurityPermissions;->mInflater:Landroid/view/LayoutInflater;
-Landroid/widget/AppSecurityPermissions;->mNewPermPrefix:Ljava/lang/CharSequence;
-Landroid/widget/AppSecurityPermissions;->mPackageName:Ljava/lang/String;
-Landroid/widget/AppSecurityPermissions;->mPermComparator:Landroid/widget/AppSecurityPermissions$PermissionInfoComparator;
-Landroid/widget/AppSecurityPermissions;->mPermGroupComparator:Landroid/widget/AppSecurityPermissions$PermissionGroupInfoComparator;
-Landroid/widget/AppSecurityPermissions;->mPermGroups:Ljava/util/Map;
-Landroid/widget/AppSecurityPermissions;->mPermGroupsList:Ljava/util/List;
-Landroid/widget/AppSecurityPermissions;->mPermsList:Ljava/util/List;
-Landroid/widget/AppSecurityPermissions;->mPm:Landroid/content/pm/PackageManager;
-Landroid/widget/AppSecurityPermissions;->setPermissions(Ljava/util/List;)V
-Landroid/widget/AppSecurityPermissions;->TAG:Ljava/lang/String;
-Landroid/widget/AppSecurityPermissions;->WHICH_ALL:I
-Landroid/widget/AppSecurityPermissions;->WHICH_NEW:I
-Landroid/widget/ArrayAdapter$ArrayFilter;
-Landroid/widget/ArrayAdapter$ArrayFilter;-><init>()V
-Landroid/widget/ArrayAdapter;-><init>(Landroid/content/Context;IILjava/util/List;Z)V
-Landroid/widget/ArrayAdapter;->createViewFromResource(Landroid/view/LayoutInflater;ILandroid/view/View;Landroid/view/ViewGroup;I)Landroid/view/View;
-Landroid/widget/ArrayAdapter;->mContext:Landroid/content/Context;
-Landroid/widget/ArrayAdapter;->mDropDownInflater:Landroid/view/LayoutInflater;
-Landroid/widget/ArrayAdapter;->mDropDownResource:I
-Landroid/widget/ArrayAdapter;->mFieldId:I
-Landroid/widget/ArrayAdapter;->mFilter:Landroid/widget/ArrayAdapter$ArrayFilter;
-Landroid/widget/ArrayAdapter;->mInflater:Landroid/view/LayoutInflater;
-Landroid/widget/ArrayAdapter;->mNotifyOnChange:Z
-Landroid/widget/ArrayAdapter;->mObjectsFromResources:Z
-Landroid/widget/ArrayAdapter;->mResource:I
-Landroid/widget/AutoCompleteTextView$DropDownItemClickListener;
-Landroid/widget/AutoCompleteTextView$DropDownItemClickListener;-><init>()V
-Landroid/widget/AutoCompleteTextView$DropDownItemClickListener;->onItemClick(Landroid/widget/AdapterView;Landroid/view/View;IJ)V
-Landroid/widget/AutoCompleteTextView$MyWatcher;
-Landroid/widget/AutoCompleteTextView$MyWatcher;-><init>()V
-Landroid/widget/AutoCompleteTextView$PassThroughClickListener;
-Landroid/widget/AutoCompleteTextView$PassThroughClickListener;-><init>()V
-Landroid/widget/AutoCompleteTextView$PassThroughClickListener;->mWrapped:Landroid/view/View$OnClickListener;
-Landroid/widget/AutoCompleteTextView$PopupDataSetObserver;
-Landroid/widget/AutoCompleteTextView$PopupDataSetObserver;-><init>(Landroid/widget/AutoCompleteTextView;)V
-Landroid/widget/AutoCompleteTextView$PopupDataSetObserver;->mViewReference:Ljava/lang/ref/WeakReference;
-Landroid/widget/AutoCompleteTextView$PopupDataSetObserver;->updateRunnable:Ljava/lang/Runnable;
-Landroid/widget/AutoCompleteTextView;->buildImeCompletions()V
-Landroid/widget/AutoCompleteTextView;->DEBUG:Z
-Landroid/widget/AutoCompleteTextView;->EXPAND_MAX:I
-Landroid/widget/AutoCompleteTextView;->getDropDownAnimationStyle()I
-Landroid/widget/AutoCompleteTextView;->isDropDownAlwaysVisible()Z
-Landroid/widget/AutoCompleteTextView;->isDropDownDismissedOnCompletion()Z
-Landroid/widget/AutoCompleteTextView;->mAdapter:Landroid/widget/ListAdapter;
-Landroid/widget/AutoCompleteTextView;->mBlockCompletion:Z
-Landroid/widget/AutoCompleteTextView;->mDropDownAnchorId:I
-Landroid/widget/AutoCompleteTextView;->mDropDownDismissedOnCompletion:Z
-Landroid/widget/AutoCompleteTextView;->mFilter:Landroid/widget/Filter;
-Landroid/widget/AutoCompleteTextView;->mHintResource:I
-Landroid/widget/AutoCompleteTextView;->mHintText:Ljava/lang/CharSequence;
-Landroid/widget/AutoCompleteTextView;->mItemClickListener:Landroid/widget/AdapterView$OnItemClickListener;
-Landroid/widget/AutoCompleteTextView;->mItemSelectedListener:Landroid/widget/AdapterView$OnItemSelectedListener;
-Landroid/widget/AutoCompleteTextView;->mLastKeyCode:I
-Landroid/widget/AutoCompleteTextView;->mOpenBefore:Z
-Landroid/widget/AutoCompleteTextView;->mPopupCanBeUpdated:Z
-Landroid/widget/AutoCompleteTextView;->mPopupContext:Landroid/content/Context;
-Landroid/widget/AutoCompleteTextView;->mThreshold:I
-Landroid/widget/AutoCompleteTextView;->mValidator:Landroid/widget/AutoCompleteTextView$Validator;
-Landroid/widget/AutoCompleteTextView;->onClickImpl()V
-Landroid/widget/AutoCompleteTextView;->performCompletion(Landroid/view/View;IJ)V
-Landroid/widget/AutoCompleteTextView;->TAG:Ljava/lang/String;
-Landroid/widget/AutoCompleteTextView;->updateDropDownForFilter(I)V
-Landroid/widget/BaseAdapter;->mAutofillOptions:[Ljava/lang/CharSequence;
-Landroid/widget/BaseExpandableListAdapter;->mDataSetObservable:Landroid/database/DataSetObservable;
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;-><init>(Landroid/widget/CalendarView;Landroid/content/Context;)V
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->DEFAULT_MAX_DATE:Ljava/lang/String;
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->DEFAULT_MIN_DATE:Ljava/lang/String;
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->getFocusedMonthDateColor()I
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->getSelectedDateVerticalBar()Landroid/graphics/drawable/Drawable;
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->getSelectedWeekBackgroundColor()I
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->getShownWeekCount()I
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->getShowWeekNumber()Z
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->getUnfocusedMonthDateColor()I
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->getWeekNumberColor()I
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->getWeekSeparatorLineColor()I
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->mContext:Landroid/content/Context;
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->mCurrentLocale:Ljava/util/Locale;
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->mDelegator:Landroid/widget/CalendarView;
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->setCurrentLocale(Ljava/util/Locale;)V
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->setFocusedMonthDateColor(I)V
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->setSelectedDateVerticalBar(I)V
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->setSelectedDateVerticalBar(Landroid/graphics/drawable/Drawable;)V
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->setSelectedWeekBackgroundColor(I)V
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->setShownWeekCount(I)V
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->setShowWeekNumber(Z)V
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->setUnfocusedMonthDateColor(I)V
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->setWeekNumberColor(I)V
-Landroid/widget/CalendarView$AbstractCalendarViewDelegate;->setWeekSeparatorLineColor(I)V
-Landroid/widget/CalendarView$CalendarViewDelegate;
-Landroid/widget/CalendarView$CalendarViewDelegate;->getBoundsForDate(JLandroid/graphics/Rect;)Z
-Landroid/widget/CalendarView$CalendarViewDelegate;->getDate()J
-Landroid/widget/CalendarView$CalendarViewDelegate;->getDateTextAppearance()I
-Landroid/widget/CalendarView$CalendarViewDelegate;->getFirstDayOfWeek()I
-Landroid/widget/CalendarView$CalendarViewDelegate;->getFocusedMonthDateColor()I
-Landroid/widget/CalendarView$CalendarViewDelegate;->getMaxDate()J
-Landroid/widget/CalendarView$CalendarViewDelegate;->getMinDate()J
-Landroid/widget/CalendarView$CalendarViewDelegate;->getSelectedDateVerticalBar()Landroid/graphics/drawable/Drawable;
-Landroid/widget/CalendarView$CalendarViewDelegate;->getSelectedWeekBackgroundColor()I
-Landroid/widget/CalendarView$CalendarViewDelegate;->getShownWeekCount()I
-Landroid/widget/CalendarView$CalendarViewDelegate;->getShowWeekNumber()Z
-Landroid/widget/CalendarView$CalendarViewDelegate;->getUnfocusedMonthDateColor()I
-Landroid/widget/CalendarView$CalendarViewDelegate;->getWeekDayTextAppearance()I
-Landroid/widget/CalendarView$CalendarViewDelegate;->getWeekNumberColor()I
-Landroid/widget/CalendarView$CalendarViewDelegate;->getWeekSeparatorLineColor()I
-Landroid/widget/CalendarView$CalendarViewDelegate;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-Landroid/widget/CalendarView$CalendarViewDelegate;->setDate(J)V
-Landroid/widget/CalendarView$CalendarViewDelegate;->setDate(JZZ)V
-Landroid/widget/CalendarView$CalendarViewDelegate;->setDateTextAppearance(I)V
-Landroid/widget/CalendarView$CalendarViewDelegate;->setFirstDayOfWeek(I)V
-Landroid/widget/CalendarView$CalendarViewDelegate;->setFocusedMonthDateColor(I)V
-Landroid/widget/CalendarView$CalendarViewDelegate;->setMaxDate(J)V
-Landroid/widget/CalendarView$CalendarViewDelegate;->setMinDate(J)V
-Landroid/widget/CalendarView$CalendarViewDelegate;->setOnDateChangeListener(Landroid/widget/CalendarView$OnDateChangeListener;)V
-Landroid/widget/CalendarView$CalendarViewDelegate;->setSelectedDateVerticalBar(I)V
-Landroid/widget/CalendarView$CalendarViewDelegate;->setSelectedDateVerticalBar(Landroid/graphics/drawable/Drawable;)V
-Landroid/widget/CalendarView$CalendarViewDelegate;->setSelectedWeekBackgroundColor(I)V
-Landroid/widget/CalendarView$CalendarViewDelegate;->setShownWeekCount(I)V
-Landroid/widget/CalendarView$CalendarViewDelegate;->setShowWeekNumber(Z)V
-Landroid/widget/CalendarView$CalendarViewDelegate;->setUnfocusedMonthDateColor(I)V
-Landroid/widget/CalendarView$CalendarViewDelegate;->setWeekDayTextAppearance(I)V
-Landroid/widget/CalendarView$CalendarViewDelegate;->setWeekNumberColor(I)V
-Landroid/widget/CalendarView$CalendarViewDelegate;->setWeekSeparatorLineColor(I)V
-Landroid/widget/CalendarView;->DATE_FORMAT:Ljava/lang/String;
-Landroid/widget/CalendarView;->DATE_FORMATTER:Ljava/text/DateFormat;
-Landroid/widget/CalendarView;->LOG_TAG:Ljava/lang/String;
-Landroid/widget/CalendarView;->MODE_HOLO:I
-Landroid/widget/CalendarView;->MODE_MATERIAL:I
-Landroid/widget/CalendarView;->parseDate(Ljava/lang/String;Landroid/icu/util/Calendar;)Z
-Landroid/widget/CheckedTextView$SavedState;
-Landroid/widget/CheckedTextView$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/CheckedTextView$SavedState;-><init>(Landroid/os/Parcelable;)V
-Landroid/widget/CheckedTextView$SavedState;->checked:Z
-Landroid/widget/CheckedTextView$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/widget/CheckedTextView;->applyCheckMarkTint()V
-Landroid/widget/CheckedTextView;->CHECKED_STATE_SET:[I
-Landroid/widget/CheckedTextView;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/widget/CheckedTextView;->internalSetPadding(IIII)V
-Landroid/widget/CheckedTextView;->isCheckMarkAtStart()Z
-Landroid/widget/CheckedTextView;->mBasePadding:I
-Landroid/widget/CheckedTextView;->mChecked:Z
-Landroid/widget/CheckedTextView;->mCheckMarkResource:I
-Landroid/widget/CheckedTextView;->mCheckMarkTintList:Landroid/content/res/ColorStateList;
-Landroid/widget/CheckedTextView;->mCheckMarkTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/widget/CheckedTextView;->mCheckMarkWidth:I
-Landroid/widget/CheckedTextView;->mHasCheckMarkTint:Z
-Landroid/widget/CheckedTextView;->mHasCheckMarkTintMode:Z
-Landroid/widget/CheckedTextView;->mNeedRequestlayout:Z
-Landroid/widget/CheckedTextView;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/widget/CheckedTextView;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/CheckedTextView;->setBasePadding(Z)V
-Landroid/widget/CheckedTextView;->setCheckMarkDrawableInternal(Landroid/graphics/drawable/Drawable;I)V
-Landroid/widget/CheckedTextView;->updatePadding()V
-Landroid/widget/Chronometer;->dispatchChronometerTick()V
-Landroid/widget/Chronometer;->formatDuration(J)Ljava/lang/String;
-Landroid/widget/Chronometer;->HOUR_IN_SEC:I
-Landroid/widget/Chronometer;->init()V
-Landroid/widget/Chronometer;->mBase:J
-Landroid/widget/Chronometer;->mCountDown:Z
-Landroid/widget/Chronometer;->mFormat:Ljava/lang/String;
-Landroid/widget/Chronometer;->mFormatBuilder:Ljava/lang/StringBuilder;
-Landroid/widget/Chronometer;->mFormatter:Ljava/util/Formatter;
-Landroid/widget/Chronometer;->mFormatterArgs:[Ljava/lang/Object;
-Landroid/widget/Chronometer;->mFormatterLocale:Ljava/util/Locale;
-Landroid/widget/Chronometer;->MIN_IN_SEC:I
-Landroid/widget/Chronometer;->mLogged:Z
-Landroid/widget/Chronometer;->mNow:J
-Landroid/widget/Chronometer;->mOnChronometerTickListener:Landroid/widget/Chronometer$OnChronometerTickListener;
-Landroid/widget/Chronometer;->mRecycle:Ljava/lang/StringBuilder;
-Landroid/widget/Chronometer;->mRunning:Z
-Landroid/widget/Chronometer;->mStarted:Z
-Landroid/widget/Chronometer;->mTickRunnable:Ljava/lang/Runnable;
-Landroid/widget/Chronometer;->mVisible:Z
-Landroid/widget/Chronometer;->setStarted(Z)V
-Landroid/widget/Chronometer;->TAG:Ljava/lang/String;
-Landroid/widget/Chronometer;->updateRunning()V
-Landroid/widget/Chronometer;->updateText(J)V
-Landroid/widget/CompoundButton$SavedState;
-Landroid/widget/CompoundButton$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/CompoundButton$SavedState;-><init>(Landroid/os/Parcelable;)V
-Landroid/widget/CompoundButton$SavedState;->checked:Z
-Landroid/widget/CompoundButton$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/widget/CompoundButton;->applyButtonTint()V
-Landroid/widget/CompoundButton;->CHECKED_STATE_SET:[I
-Landroid/widget/CompoundButton;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/widget/CompoundButton;->getHorizontalOffsetForDrawables()I
-Landroid/widget/CompoundButton;->LOG_TAG:Ljava/lang/String;
-Landroid/widget/CompoundButton;->mButtonTintList:Landroid/content/res/ColorStateList;
-Landroid/widget/CompoundButton;->mButtonTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/widget/CompoundButton;->mChecked:Z
-Landroid/widget/CompoundButton;->mCheckedFromResource:Z
-Landroid/widget/CompoundButton;->mHasButtonTint:Z
-Landroid/widget/CompoundButton;->mHasButtonTintMode:Z
-Landroid/widget/CompoundButton;->mOnCheckedChangeWidgetListener:Landroid/widget/CompoundButton$OnCheckedChangeListener;
-Landroid/widget/CompoundButton;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/widget/CompoundButton;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/CompoundButton;->onResolveDrawables(I)V
-Landroid/widget/CompoundButton;->setOnCheckedChangeWidgetListener(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V
-Landroid/widget/CursorAdapter$ChangeObserver;
-Landroid/widget/CursorAdapter$ChangeObserver;-><init>()V
-Landroid/widget/CursorAdapter$MyDataSetObserver;
-Landroid/widget/CursorAdapter$MyDataSetObserver;-><init>()V
-Landroid/widget/CursorAdapter;->init(Landroid/content/Context;Landroid/database/Cursor;I)V
-Landroid/widget/CursorAdapter;->mAutoRequery:Z
-Landroid/widget/CursorAdapter;->mCursorFilter:Landroid/widget/CursorFilter;
-Landroid/widget/CursorAdapter;->mDropDownContext:Landroid/content/Context;
-Landroid/widget/CursorAdapter;->mFilterQueryProvider:Landroid/widget/FilterQueryProvider;
-Landroid/widget/CursorFilter$CursorFilterClient;
-Landroid/widget/CursorFilter$CursorFilterClient;->changeCursor(Landroid/database/Cursor;)V
-Landroid/widget/CursorFilter$CursorFilterClient;->convertToString(Landroid/database/Cursor;)Ljava/lang/CharSequence;
-Landroid/widget/CursorFilter$CursorFilterClient;->getCursor()Landroid/database/Cursor;
-Landroid/widget/CursorFilter$CursorFilterClient;->runQueryOnBackgroundThread(Ljava/lang/CharSequence;)Landroid/database/Cursor;
-Landroid/widget/CursorFilter;
-Landroid/widget/CursorFilter;-><init>(Landroid/widget/CursorFilter$CursorFilterClient;)V
-Landroid/widget/CursorFilter;->mClient:Landroid/widget/CursorFilter$CursorFilterClient;
-Landroid/widget/CursorTreeAdapter$MyCursorHelper$MyContentObserver;
-Landroid/widget/CursorTreeAdapter$MyCursorHelper$MyContentObserver;-><init>()V
-Landroid/widget/CursorTreeAdapter$MyCursorHelper$MyDataSetObserver;
-Landroid/widget/CursorTreeAdapter$MyCursorHelper$MyDataSetObserver;-><init>()V
-Landroid/widget/CursorTreeAdapter$MyCursorHelper;
-Landroid/widget/CursorTreeAdapter$MyCursorHelper;-><init>(Landroid/database/Cursor;)V
-Landroid/widget/CursorTreeAdapter$MyCursorHelper;->changeCursor(Landroid/database/Cursor;Z)V
-Landroid/widget/CursorTreeAdapter$MyCursorHelper;->deactivate()V
-Landroid/widget/CursorTreeAdapter$MyCursorHelper;->getCount()I
-Landroid/widget/CursorTreeAdapter$MyCursorHelper;->getCursor()Landroid/database/Cursor;
-Landroid/widget/CursorTreeAdapter$MyCursorHelper;->getId(I)J
-Landroid/widget/CursorTreeAdapter$MyCursorHelper;->isValid()Z
-Landroid/widget/CursorTreeAdapter$MyCursorHelper;->mContentObserver:Landroid/widget/CursorTreeAdapter$MyCursorHelper$MyContentObserver;
-Landroid/widget/CursorTreeAdapter$MyCursorHelper;->mCursor:Landroid/database/Cursor;
-Landroid/widget/CursorTreeAdapter$MyCursorHelper;->mDataSetObserver:Landroid/widget/CursorTreeAdapter$MyCursorHelper$MyDataSetObserver;
-Landroid/widget/CursorTreeAdapter$MyCursorHelper;->mDataValid:Z
-Landroid/widget/CursorTreeAdapter$MyCursorHelper;->moveTo(I)Landroid/database/Cursor;
-Landroid/widget/CursorTreeAdapter$MyCursorHelper;->mRowIDColumn:I
-Landroid/widget/CursorTreeAdapter;->deactivateChildrenCursorHelper(I)V
-Landroid/widget/CursorTreeAdapter;->getChildrenCursorHelper(IZ)Landroid/widget/CursorTreeAdapter$MyCursorHelper;
-Landroid/widget/CursorTreeAdapter;->init(Landroid/database/Cursor;Landroid/content/Context;Z)V
-Landroid/widget/CursorTreeAdapter;->mAutoRequery:Z
-Landroid/widget/CursorTreeAdapter;->mChildrenCursorHelpers:Landroid/util/SparseArray;
-Landroid/widget/CursorTreeAdapter;->mContext:Landroid/content/Context;
-Landroid/widget/CursorTreeAdapter;->mCursorFilter:Landroid/widget/CursorFilter;
-Landroid/widget/CursorTreeAdapter;->mFilterQueryProvider:Landroid/widget/FilterQueryProvider;
-Landroid/widget/CursorTreeAdapter;->mGroupCursorHelper:Landroid/widget/CursorTreeAdapter$MyCursorHelper;
-Landroid/widget/CursorTreeAdapter;->mHandler:Landroid/os/Handler;
-Landroid/widget/CursorTreeAdapter;->releaseCursorHelpers()V
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;-><init>(Landroid/os/Parcelable;IIIJJ)V
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;-><init>(Landroid/os/Parcelable;IIIJJIII)V
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;->getCurrentView()I
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;->getListPosition()I
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;->getListPositionOffset()I
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;->getMaxDate()J
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;->getMinDate()J
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;->getSelectedDay()I
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;->getSelectedMonth()I
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;->getSelectedYear()I
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;->mCurrentView:I
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;->mListPosition:I
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;->mListPositionOffset:I
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;->mMaxDate:J
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;->mMinDate:J
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;->mSelectedDay:I
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;->mSelectedMonth:I
-Landroid/widget/DatePicker$AbstractDatePickerDelegate$SavedState;->mSelectedYear:I
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;-><init>(Landroid/widget/DatePicker;Landroid/content/Context;)V
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;->autofill(Landroid/view/autofill/AutofillValue;)V
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;->getAutofillValue()Landroid/view/autofill/AutofillValue;
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;->getFormattedCurrentDate()Ljava/lang/String;
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;->mAutoFillChangeListener:Landroid/widget/DatePicker$OnDateChangedListener;
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;->mAutofilledValue:J
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;->mContext:Landroid/content/Context;
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;->mCurrentDate:Landroid/icu/util/Calendar;
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;->mCurrentLocale:Ljava/util/Locale;
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;->mDelegator:Landroid/widget/DatePicker;
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;->mOnDateChangedListener:Landroid/widget/DatePicker$OnDateChangedListener;
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;->mValidationCallback:Landroid/widget/DatePicker$ValidationCallback;
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;->onLocaleChanged(Ljava/util/Locale;)V
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;->onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;->onValidationChanged(Z)V
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;->resetAutofilledValue()V
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;->setAutoFillChangeListener(Landroid/widget/DatePicker$OnDateChangedListener;)V
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;->setCurrentLocale(Ljava/util/Locale;)V
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;->setOnDateChangedListener(Landroid/widget/DatePicker$OnDateChangedListener;)V
-Landroid/widget/DatePicker$AbstractDatePickerDelegate;->setValidationCallback(Landroid/widget/DatePicker$ValidationCallback;)V
-Landroid/widget/DatePicker$DatePickerDelegate;
-Landroid/widget/DatePicker$DatePickerDelegate;->autofill(Landroid/view/autofill/AutofillValue;)V
-Landroid/widget/DatePicker$DatePickerDelegate;->dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
-Landroid/widget/DatePicker$DatePickerDelegate;->getAutofillValue()Landroid/view/autofill/AutofillValue;
-Landroid/widget/DatePicker$DatePickerDelegate;->getCalendarView()Landroid/widget/CalendarView;
-Landroid/widget/DatePicker$DatePickerDelegate;->getCalendarViewShown()Z
-Landroid/widget/DatePicker$DatePickerDelegate;->getDayOfMonth()I
-Landroid/widget/DatePicker$DatePickerDelegate;->getFirstDayOfWeek()I
-Landroid/widget/DatePicker$DatePickerDelegate;->getMaxDate()Landroid/icu/util/Calendar;
-Landroid/widget/DatePicker$DatePickerDelegate;->getMinDate()Landroid/icu/util/Calendar;
-Landroid/widget/DatePicker$DatePickerDelegate;->getMonth()I
-Landroid/widget/DatePicker$DatePickerDelegate;->getSpinnersShown()Z
-Landroid/widget/DatePicker$DatePickerDelegate;->getYear()I
-Landroid/widget/DatePicker$DatePickerDelegate;->init(IIILandroid/widget/DatePicker$OnDateChangedListener;)V
-Landroid/widget/DatePicker$DatePickerDelegate;->isEnabled()Z
-Landroid/widget/DatePicker$DatePickerDelegate;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-Landroid/widget/DatePicker$DatePickerDelegate;->onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/widget/DatePicker$DatePickerDelegate;->onRestoreInstanceState(Landroid/os/Parcelable;)V
-Landroid/widget/DatePicker$DatePickerDelegate;->onSaveInstanceState(Landroid/os/Parcelable;)Landroid/os/Parcelable;
-Landroid/widget/DatePicker$DatePickerDelegate;->setAutoFillChangeListener(Landroid/widget/DatePicker$OnDateChangedListener;)V
-Landroid/widget/DatePicker$DatePickerDelegate;->setCalendarViewShown(Z)V
-Landroid/widget/DatePicker$DatePickerDelegate;->setEnabled(Z)V
-Landroid/widget/DatePicker$DatePickerDelegate;->setFirstDayOfWeek(I)V
-Landroid/widget/DatePicker$DatePickerDelegate;->setMaxDate(J)V
-Landroid/widget/DatePicker$DatePickerDelegate;->setMinDate(J)V
-Landroid/widget/DatePicker$DatePickerDelegate;->setOnDateChangedListener(Landroid/widget/DatePicker$OnDateChangedListener;)V
-Landroid/widget/DatePicker$DatePickerDelegate;->setSpinnersShown(Z)V
-Landroid/widget/DatePicker$DatePickerDelegate;->setValidationCallback(Landroid/widget/DatePicker$ValidationCallback;)V
-Landroid/widget/DatePicker$DatePickerDelegate;->updateDate(III)V
-Landroid/widget/DatePicker$DatePickerMode;
-Landroid/widget/DatePicker$ValidationCallback;
-Landroid/widget/DatePicker$ValidationCallback;->onValidationChanged(Z)V
-Landroid/widget/DatePicker;->createCalendarUIDelegate(Landroid/content/Context;Landroid/util/AttributeSet;II)Landroid/widget/DatePicker$DatePickerDelegate;
-Landroid/widget/DatePicker;->createSpinnerUIDelegate(Landroid/content/Context;Landroid/util/AttributeSet;II)Landroid/widget/DatePicker$DatePickerDelegate;
-Landroid/widget/DatePicker;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
-Landroid/widget/DatePicker;->LOG_TAG:Ljava/lang/String;
-Landroid/widget/DatePicker;->mMode:I
-Landroid/widget/DatePicker;->onPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/widget/DateTimeView$ReceiverInfo;
-Landroid/widget/DateTimeView$ReceiverInfo;-><init>()V
-Landroid/widget/DateTimeView$ReceiverInfo;->addView(Landroid/widget/DateTimeView;)V
-Landroid/widget/DateTimeView$ReceiverInfo;->getApplicationContextIfAvailable(Landroid/content/Context;)Landroid/content/Context;
-Landroid/widget/DateTimeView$ReceiverInfo;->getSoonestUpdateTime()J
-Landroid/widget/DateTimeView$ReceiverInfo;->mAttachedViews:Ljava/util/ArrayList;
-Landroid/widget/DateTimeView$ReceiverInfo;->mHandler:Landroid/os/Handler;
-Landroid/widget/DateTimeView$ReceiverInfo;->mObserver:Landroid/database/ContentObserver;
-Landroid/widget/DateTimeView$ReceiverInfo;->mReceiver:Landroid/content/BroadcastReceiver;
-Landroid/widget/DateTimeView$ReceiverInfo;->register(Landroid/content/Context;)V
-Landroid/widget/DateTimeView$ReceiverInfo;->removeView(Landroid/widget/DateTimeView;)V
-Landroid/widget/DateTimeView$ReceiverInfo;->setHandler(Landroid/os/Handler;)V
-Landroid/widget/DateTimeView$ReceiverInfo;->unregister(Landroid/content/Context;)V
-Landroid/widget/DateTimeView$ReceiverInfo;->updateAll()V
-Landroid/widget/DateTimeView;
-Landroid/widget/DateTimeView;-><init>(Landroid/content/Context;)V
-Landroid/widget/DateTimeView;->clearFormatAndUpdate()V
-Landroid/widget/DateTimeView;->computeNextMidnight(Ljava/util/TimeZone;)J
-Landroid/widget/DateTimeView;->dayDistance(Ljava/util/TimeZone;JJ)I
-Landroid/widget/DateTimeView;->getTimeFormat()Ljava/text/DateFormat;
-Landroid/widget/DateTimeView;->mLastDisplay:I
-Landroid/widget/DateTimeView;->mLastFormat:Ljava/text/DateFormat;
-Landroid/widget/DateTimeView;->mNowText:Ljava/lang/String;
-Landroid/widget/DateTimeView;->mShowRelativeTime:Z
-Landroid/widget/DateTimeView;->mTime:Ljava/util/Date;
-Landroid/widget/DateTimeView;->mTimeMillis:J
-Landroid/widget/DateTimeView;->mUpdateTimeMillis:J
-Landroid/widget/DateTimeView;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/DateTimeView;->setReceiverHandler(Landroid/os/Handler;)V
-Landroid/widget/DateTimeView;->setShowRelativeTime(Z)V
-Landroid/widget/DateTimeView;->SHOW_MONTH_DAY_YEAR:I
-Landroid/widget/DateTimeView;->SHOW_TIME:I
-Landroid/widget/DateTimeView;->sReceiverInfo:Ljava/lang/ThreadLocal;
-Landroid/widget/DateTimeView;->updateNowText()V
-Landroid/widget/DateTimeView;->updateRelativeTime()V
-Landroid/widget/DialerFilter;->makeDigitsPrimary()V
-Landroid/widget/DialerFilter;->makeLettersPrimary()V
-Landroid/widget/DialerFilter;->mDigits:Landroid/widget/EditText;
-Landroid/widget/DialerFilter;->mHint:Landroid/widget/EditText;
-Landroid/widget/DialerFilter;->mIcon:Landroid/widget/ImageView;
-Landroid/widget/DialerFilter;->mInputFilters:[Landroid/text/InputFilter;
-Landroid/widget/DialerFilter;->mIsQwerty:Z
-Landroid/widget/DialerFilter;->mLetters:Landroid/widget/EditText;
-Landroid/widget/DialerFilter;->mMode:I
-Landroid/widget/DialerFilter;->mPrimary:Landroid/widget/EditText;
-Landroid/widget/DialerFilter;->swapPrimaryAndHint(Z)V
-Landroid/widget/DigitalClock$FormatChangeObserver;
-Landroid/widget/DigitalClock$FormatChangeObserver;-><init>()V
-Landroid/widget/DigitalClock;->initClock()V
-Landroid/widget/DigitalClock;->mCalendar:Ljava/util/Calendar;
-Landroid/widget/DigitalClock;->mFormat:Ljava/lang/String;
-Landroid/widget/DigitalClock;->mFormatChangeObserver:Landroid/widget/DigitalClock$FormatChangeObserver;
-Landroid/widget/DigitalClock;->mHandler:Landroid/os/Handler;
-Landroid/widget/DigitalClock;->mTicker:Ljava/lang/Runnable;
-Landroid/widget/DigitalClock;->mTickerStopped:Z
-Landroid/widget/DigitalClock;->setFormat()V
-Landroid/widget/DropDownListView$ResolveHoverRunnable;
-Landroid/widget/DropDownListView$ResolveHoverRunnable;-><init>()V
-Landroid/widget/DropDownListView$ResolveHoverRunnable;->cancel()V
-Landroid/widget/DropDownListView$ResolveHoverRunnable;->post()V
-Landroid/widget/DropDownListView;
-Landroid/widget/DropDownListView;-><init>(Landroid/content/Context;Z)V
-Landroid/widget/DropDownListView;-><init>(Landroid/content/Context;ZI)V
-Landroid/widget/DropDownListView;->clearPressedItem()V
-Landroid/widget/DropDownListView;->mDrawsInPressedState:Z
-Landroid/widget/DropDownListView;->mHijackFocus:Z
-Landroid/widget/DropDownListView;->mListSelectionHidden:Z
-Landroid/widget/DropDownListView;->mResolveHoverRunnable:Landroid/widget/DropDownListView$ResolveHoverRunnable;
-Landroid/widget/DropDownListView;->mScrollHelper:Lcom/android/internal/widget/AutoScrollHelper$AbsListViewAutoScroller;
-Landroid/widget/DropDownListView;->obtainView(I[Z)Landroid/view/View;
-Landroid/widget/DropDownListView;->onForwardedEvent(Landroid/view/MotionEvent;I)Z
-Landroid/widget/DropDownListView;->setListSelectionHidden(Z)V
-Landroid/widget/DropDownListView;->setPressedItem(Landroid/view/View;IFF)V
-Landroid/widget/DropDownListView;->shouldShowSelector()Z
-Landroid/widget/DropDownListView;->touchModeDrawsInPressedState()Z
-Landroid/widget/EdgeEffect;->ANGLE:D
-Landroid/widget/EdgeEffect;->COS:F
-Landroid/widget/EdgeEffect;->EPSILON:F
-Landroid/widget/EdgeEffect;->GLOW_ALPHA_START:F
-Landroid/widget/EdgeEffect;->MAX_ALPHA:F
-Landroid/widget/EdgeEffect;->MAX_GLOW_SCALE:F
-Landroid/widget/EdgeEffect;->MAX_VELOCITY:I
-Landroid/widget/EdgeEffect;->mBaseGlowScale:F
-Landroid/widget/EdgeEffect;->mBounds:Landroid/graphics/Rect;
-Landroid/widget/EdgeEffect;->mDisplacement:F
-Landroid/widget/EdgeEffect;->mDuration:F
-Landroid/widget/EdgeEffect;->mGlowAlpha:F
-Landroid/widget/EdgeEffect;->mGlowAlphaFinish:F
-Landroid/widget/EdgeEffect;->mGlowAlphaStart:F
-Landroid/widget/EdgeEffect;->mGlowScaleYFinish:F
-Landroid/widget/EdgeEffect;->mGlowScaleYStart:F
-Landroid/widget/EdgeEffect;->mInterpolator:Landroid/view/animation/Interpolator;
-Landroid/widget/EdgeEffect;->MIN_VELOCITY:I
-Landroid/widget/EdgeEffect;->mPullDistance:F
-Landroid/widget/EdgeEffect;->mRadius:F
-Landroid/widget/EdgeEffect;->mStartTime:J
-Landroid/widget/EdgeEffect;->mState:I
-Landroid/widget/EdgeEffect;->mTargetDisplacement:F
-Landroid/widget/EdgeEffect;->PULL_DECAY_TIME:I
-Landroid/widget/EdgeEffect;->PULL_DISTANCE_ALPHA_GLOW_FACTOR:F
-Landroid/widget/EdgeEffect;->PULL_GLOW_BEGIN:F
-Landroid/widget/EdgeEffect;->PULL_TIME:I
-Landroid/widget/EdgeEffect;->RADIUS_FACTOR:F
-Landroid/widget/EdgeEffect;->RECEDE_TIME:I
-Landroid/widget/EdgeEffect;->SIN:F
-Landroid/widget/EdgeEffect;->STATE_ABSORB:I
-Landroid/widget/EdgeEffect;->STATE_IDLE:I
-Landroid/widget/EdgeEffect;->STATE_PULL:I
-Landroid/widget/EdgeEffect;->STATE_PULL_DECAY:I
-Landroid/widget/EdgeEffect;->STATE_RECEDE:I
-Landroid/widget/EdgeEffect;->TAG:Ljava/lang/String;
-Landroid/widget/EdgeEffect;->update()V
-Landroid/widget/EdgeEffect;->VELOCITY_GLOW_FACTOR:I
-Landroid/widget/Editor$Blink;
-Landroid/widget/Editor$Blink;-><init>()V
-Landroid/widget/Editor$Blink;->cancel()V
-Landroid/widget/Editor$Blink;->mCancelled:Z
-Landroid/widget/Editor$Blink;->uncancel()V
-Landroid/widget/Editor$CorrectionHighlighter;
-Landroid/widget/Editor$CorrectionHighlighter;-><init>()V
-Landroid/widget/Editor$CorrectionHighlighter;->draw(Landroid/graphics/Canvas;I)V
-Landroid/widget/Editor$CorrectionHighlighter;->FADE_OUT_DURATION:I
-Landroid/widget/Editor$CorrectionHighlighter;->highlight(Landroid/view/inputmethod/CorrectionInfo;)V
-Landroid/widget/Editor$CorrectionHighlighter;->invalidate(Z)V
-Landroid/widget/Editor$CorrectionHighlighter;->mEnd:I
-Landroid/widget/Editor$CorrectionHighlighter;->mFadingStartTime:J
-Landroid/widget/Editor$CorrectionHighlighter;->mPaint:Landroid/graphics/Paint;
-Landroid/widget/Editor$CorrectionHighlighter;->mPath:Landroid/graphics/Path;
-Landroid/widget/Editor$CorrectionHighlighter;->mStart:I
-Landroid/widget/Editor$CorrectionHighlighter;->mTempRectF:Landroid/graphics/RectF;
-Landroid/widget/Editor$CorrectionHighlighter;->stopAnimation()V
-Landroid/widget/Editor$CorrectionHighlighter;->updatePaint()Z
-Landroid/widget/Editor$CorrectionHighlighter;->updatePath()Z
-Landroid/widget/Editor$CursorAnchorInfoNotifier;
-Landroid/widget/Editor$CursorAnchorInfoNotifier;-><init>()V
-Landroid/widget/Editor$CursorAnchorInfoNotifier;->mSelectionInfoBuilder:Landroid/view/inputmethod/CursorAnchorInfo$Builder;
-Landroid/widget/Editor$CursorAnchorInfoNotifier;->mTmpIntOffset:[I
-Landroid/widget/Editor$CursorAnchorInfoNotifier;->mViewToScreenMatrix:Landroid/graphics/Matrix;
-Landroid/widget/Editor$CursorAnchorInfoNotifier;->updatePosition(IIZZ)V
-Landroid/widget/Editor$CursorController;
-Landroid/widget/Editor$CursorController;->hide()V
-Landroid/widget/Editor$CursorController;->isActive()Z
-Landroid/widget/Editor$CursorController;->isCursorBeingModified()Z
-Landroid/widget/Editor$CursorController;->onDetached()V
-Landroid/widget/Editor$CursorController;->show()V
-Landroid/widget/Editor$DragLocalState;
-Landroid/widget/Editor$DragLocalState;-><init>(Landroid/widget/TextView;II)V
-Landroid/widget/Editor$DragLocalState;->end:I
-Landroid/widget/Editor$DragLocalState;->sourceTextView:Landroid/widget/TextView;
-Landroid/widget/Editor$DragLocalState;->start:I
-Landroid/widget/Editor$EasyEditDeleteListener;
-Landroid/widget/Editor$EasyEditDeleteListener;->onDeleteClick(Landroid/text/style/EasyEditSpan;)V
-Landroid/widget/Editor$EasyEditPopupWindow;
-Landroid/widget/Editor$EasyEditPopupWindow;-><init>()V
-Landroid/widget/Editor$EasyEditPopupWindow;->clipVertically(I)I
-Landroid/widget/Editor$EasyEditPopupWindow;->createPopupWindow()V
-Landroid/widget/Editor$EasyEditPopupWindow;->getTextOffset()I
-Landroid/widget/Editor$EasyEditPopupWindow;->getVerticalLocalPosition(I)I
-Landroid/widget/Editor$EasyEditPopupWindow;->hide()V
-Landroid/widget/Editor$EasyEditPopupWindow;->initContentView()V
-Landroid/widget/Editor$EasyEditPopupWindow;->mDeleteTextView:Landroid/widget/TextView;
-Landroid/widget/Editor$EasyEditPopupWindow;->mEasyEditSpan:Landroid/text/style/EasyEditSpan;
-Landroid/widget/Editor$EasyEditPopupWindow;->mOnDeleteListener:Landroid/widget/Editor$EasyEditDeleteListener;
-Landroid/widget/Editor$EasyEditPopupWindow;->POPUP_TEXT_LAYOUT:I
-Landroid/widget/Editor$EasyEditPopupWindow;->setEasyEditSpan(Landroid/text/style/EasyEditSpan;)V
-Landroid/widget/Editor$EasyEditPopupWindow;->setOnDeleteListener(Landroid/widget/Editor$EasyEditDeleteListener;)V
-Landroid/widget/Editor$EditOperation;
-Landroid/widget/Editor$EditOperation;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V
-Landroid/widget/Editor$EditOperation;-><init>(Landroid/widget/Editor;Ljava/lang/String;ILjava/lang/String;Z)V
-Landroid/widget/Editor$EditOperation;->commit()V
-Landroid/widget/Editor$EditOperation;->CREATOR:Landroid/os/Parcelable$ClassLoaderCreator;
-Landroid/widget/Editor$EditOperation;->forceMergeWith(Landroid/widget/Editor$EditOperation;)V
-Landroid/widget/Editor$EditOperation;->getNewTextEnd()I
-Landroid/widget/Editor$EditOperation;->getOldTextEnd()I
-Landroid/widget/Editor$EditOperation;->getTypeString()Ljava/lang/String;
-Landroid/widget/Editor$EditOperation;->mergeDeleteWith(Landroid/widget/Editor$EditOperation;)Z
-Landroid/widget/Editor$EditOperation;->mergeInsertWith(Landroid/widget/Editor$EditOperation;)Z
-Landroid/widget/Editor$EditOperation;->mergeReplaceWith(Landroid/widget/Editor$EditOperation;)Z
-Landroid/widget/Editor$EditOperation;->mergeWith(Landroid/widget/Editor$EditOperation;)Z
-Landroid/widget/Editor$EditOperation;->mFrozen:Z
-Landroid/widget/Editor$EditOperation;->mIsComposition:Z
-Landroid/widget/Editor$EditOperation;->mNewCursorPos:I
-Landroid/widget/Editor$EditOperation;->mNewText:Ljava/lang/String;
-Landroid/widget/Editor$EditOperation;->modifyText(Landroid/text/Editable;IILjava/lang/CharSequence;II)V
-Landroid/widget/Editor$EditOperation;->mOldCursorPos:I
-Landroid/widget/Editor$EditOperation;->mOldText:Ljava/lang/String;
-Landroid/widget/Editor$EditOperation;->mStart:I
-Landroid/widget/Editor$EditOperation;->mType:I
-Landroid/widget/Editor$EditOperation;->redo()V
-Landroid/widget/Editor$EditOperation;->TYPE_DELETE:I
-Landroid/widget/Editor$EditOperation;->TYPE_INSERT:I
-Landroid/widget/Editor$EditOperation;->TYPE_REPLACE:I
-Landroid/widget/Editor$EditOperation;->undo()V
-Landroid/widget/Editor$ErrorPopup;
-Landroid/widget/Editor$ErrorPopup;-><init>(Landroid/widget/TextView;II)V
-Landroid/widget/Editor$ErrorPopup;->fixDirection(Z)V
-Landroid/widget/Editor$ErrorPopup;->getResourceId(II)I
-Landroid/widget/Editor$ErrorPopup;->mAbove:Z
-Landroid/widget/Editor$ErrorPopup;->mPopupInlineErrorAboveBackgroundId:I
-Landroid/widget/Editor$ErrorPopup;->mPopupInlineErrorBackgroundId:I
-Landroid/widget/Editor$ErrorPopup;->mView:Landroid/widget/TextView;
-Landroid/widget/Editor$HandleType;
-Landroid/widget/Editor$HandleView;
-Landroid/widget/Editor$HandleView;-><init>(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;I)V
-Landroid/widget/Editor$HandleView;->addPositionToTouchUpFilter(I)V
-Landroid/widget/Editor$HandleView;->dismiss()V
-Landroid/widget/Editor$HandleView;->dismissMagnifier()V
-Landroid/widget/Editor$HandleView;->filterOnTouchUp(Z)V
-Landroid/widget/Editor$HandleView;->getCurrentCursorOffset()I
-Landroid/widget/Editor$HandleView;->getCursorHorizontalPosition(Landroid/text/Layout;I)I
-Landroid/widget/Editor$HandleView;->getCursorOffset()I
-Landroid/widget/Editor$HandleView;->getHorizontal(Landroid/text/Layout;I)F
-Landroid/widget/Editor$HandleView;->getHorizontalGravity(Z)I
-Landroid/widget/Editor$HandleView;->getHorizontalOffset()I
-Landroid/widget/Editor$HandleView;->getHotspotX(Landroid/graphics/drawable/Drawable;Z)I
-Landroid/widget/Editor$HandleView;->getIdealVerticalOffset()F
-Landroid/widget/Editor$HandleView;->getMagnifierHandleTrigger()I
-Landroid/widget/Editor$HandleView;->getOffsetAtCoordinate(Landroid/text/Layout;IF)I
-Landroid/widget/Editor$HandleView;->getOtherSelectionHandle()Landroid/widget/Editor$HandleView;
-Landroid/widget/Editor$HandleView;->getPreferredHeight()I
-Landroid/widget/Editor$HandleView;->getPreferredWidth()I
-Landroid/widget/Editor$HandleView;->handleOverlapsMagnifier(Landroid/widget/Editor$HandleView;Landroid/graphics/Rect;)Z
-Landroid/widget/Editor$HandleView;->hide()V
-Landroid/widget/Editor$HandleView;->HISTORY_SIZE:I
-Landroid/widget/Editor$HandleView;->isAtRtlRun(Landroid/text/Layout;I)Z
-Landroid/widget/Editor$HandleView;->isDragging()Z
-Landroid/widget/Editor$HandleView;->isShowing()Z
-Landroid/widget/Editor$HandleView;->mContainer:Landroid/widget/PopupWindow;
-Landroid/widget/Editor$HandleView;->mDrawable:Landroid/graphics/drawable/Drawable;
-Landroid/widget/Editor$HandleView;->mDrawableLtr:Landroid/graphics/drawable/Drawable;
-Landroid/widget/Editor$HandleView;->mDrawableRtl:Landroid/graphics/drawable/Drawable;
-Landroid/widget/Editor$HandleView;->mHandlesVisibilityCallback:Landroid/widget/Magnifier$Callback;
-Landroid/widget/Editor$HandleView;->mHorizontalGravity:I
-Landroid/widget/Editor$HandleView;->mHotspotX:I
-Landroid/widget/Editor$HandleView;->mIdealVerticalOffset:F
-Landroid/widget/Editor$HandleView;->mIsDragging:Z
-Landroid/widget/Editor$HandleView;->mLastParentX:I
-Landroid/widget/Editor$HandleView;->mLastParentXOnScreen:I
-Landroid/widget/Editor$HandleView;->mLastParentY:I
-Landroid/widget/Editor$HandleView;->mLastParentYOnScreen:I
-Landroid/widget/Editor$HandleView;->mMinSize:I
-Landroid/widget/Editor$HandleView;->mNumberPreviousOffsets:I
-Landroid/widget/Editor$HandleView;->mPositionHasChanged:Z
-Landroid/widget/Editor$HandleView;->mPositionX:I
-Landroid/widget/Editor$HandleView;->mPositionY:I
-Landroid/widget/Editor$HandleView;->mPreviousLineTouched:I
-Landroid/widget/Editor$HandleView;->mPreviousOffset:I
-Landroid/widget/Editor$HandleView;->mPreviousOffsetIndex:I
-Landroid/widget/Editor$HandleView;->mPreviousOffsets:[I
-Landroid/widget/Editor$HandleView;->mPreviousOffsetsTimes:[J
-Landroid/widget/Editor$HandleView;->mPrevLine:I
-Landroid/widget/Editor$HandleView;->mTouchOffsetY:F
-Landroid/widget/Editor$HandleView;->mTouchToWindowOffsetX:F
-Landroid/widget/Editor$HandleView;->mTouchToWindowOffsetY:F
-Landroid/widget/Editor$HandleView;->obtainMagnifierShowCoordinates(Landroid/view/MotionEvent;Landroid/graphics/PointF;)Z
-Landroid/widget/Editor$HandleView;->offsetHasBeenChanged()Z
-Landroid/widget/Editor$HandleView;->onDetached()V
-Landroid/widget/Editor$HandleView;->onHandleMoved()V
-Landroid/widget/Editor$HandleView;->positionAtCursorOffset(IZZ)V
-Landroid/widget/Editor$HandleView;->setVisible(Z)V
-Landroid/widget/Editor$HandleView;->shouldShow()Z
-Landroid/widget/Editor$HandleView;->show()V
-Landroid/widget/Editor$HandleView;->startTouchUpFilter(I)V
-Landroid/widget/Editor$HandleView;->tooLargeTextForMagnifier()Z
-Landroid/widget/Editor$HandleView;->TOUCH_UP_FILTER_DELAY_AFTER:I
-Landroid/widget/Editor$HandleView;->TOUCH_UP_FILTER_DELAY_BEFORE:I
-Landroid/widget/Editor$HandleView;->updateDrawable()V
-Landroid/widget/Editor$HandleView;->updateMagnifier(Landroid/view/MotionEvent;)V
-Landroid/widget/Editor$HandleView;->updatePosition(FFZ)V
-Landroid/widget/Editor$HandleView;->updatePosition(IIZZ)V
-Landroid/widget/Editor$HandleView;->updateSelection(I)V
-Landroid/widget/Editor$InputContentType;
-Landroid/widget/Editor$InputContentType;-><init>()V
-Landroid/widget/Editor$InputContentType;->enterDown:Z
-Landroid/widget/Editor$InputContentType;->extras:Landroid/os/Bundle;
-Landroid/widget/Editor$InputContentType;->imeActionId:I
-Landroid/widget/Editor$InputContentType;->imeActionLabel:Ljava/lang/CharSequence;
-Landroid/widget/Editor$InputContentType;->imeHintLocales:Landroid/os/LocaleList;
-Landroid/widget/Editor$InputContentType;->imeOptions:I
-Landroid/widget/Editor$InputContentType;->onEditorActionListener:Landroid/widget/TextView$OnEditorActionListener;
-Landroid/widget/Editor$InputMethodState;
-Landroid/widget/Editor$InputMethodState;-><init>()V
-Landroid/widget/Editor$InputMethodState;->mBatchEditNesting:I
-Landroid/widget/Editor$InputMethodState;->mChangedDelta:I
-Landroid/widget/Editor$InputMethodState;->mChangedEnd:I
-Landroid/widget/Editor$InputMethodState;->mChangedStart:I
-Landroid/widget/Editor$InputMethodState;->mContentChanged:Z
-Landroid/widget/Editor$InputMethodState;->mCursorChanged:Z
-Landroid/widget/Editor$InputMethodState;->mExtractedText:Landroid/view/inputmethod/ExtractedText;
-Landroid/widget/Editor$InputMethodState;->mExtractedTextRequest:Landroid/view/inputmethod/ExtractedTextRequest;
-Landroid/widget/Editor$InputMethodState;->mSelectionModeChanged:Z
-Landroid/widget/Editor$InsertionHandleView;
-Landroid/widget/Editor$InsertionHandleView;-><init>(Landroid/graphics/drawable/Drawable;)V
-Landroid/widget/Editor$InsertionHandleView;->DELAY_BEFORE_HANDLE_FADES_OUT:I
-Landroid/widget/Editor$InsertionHandleView;->getCurrentCursorOffset()I
-Landroid/widget/Editor$InsertionHandleView;->getCursorHorizontalPosition(Landroid/text/Layout;I)I
-Landroid/widget/Editor$InsertionHandleView;->getCursorOffset()I
-Landroid/widget/Editor$InsertionHandleView;->getHorizontalGravity(Z)I
-Landroid/widget/Editor$InsertionHandleView;->getHotspotX(Landroid/graphics/drawable/Drawable;Z)I
-Landroid/widget/Editor$InsertionHandleView;->getMagnifierHandleTrigger()I
-Landroid/widget/Editor$InsertionHandleView;->hideAfterDelay()V
-Landroid/widget/Editor$InsertionHandleView;->mDownPositionX:F
-Landroid/widget/Editor$InsertionHandleView;->mDownPositionY:F
-Landroid/widget/Editor$InsertionHandleView;->mHider:Ljava/lang/Runnable;
-Landroid/widget/Editor$InsertionHandleView;->onDetached()V
-Landroid/widget/Editor$InsertionHandleView;->onHandleMoved()V
-Landroid/widget/Editor$InsertionHandleView;->RECENT_CUT_COPY_DURATION:I
-Landroid/widget/Editor$InsertionHandleView;->removeHiderCallback()V
-Landroid/widget/Editor$InsertionHandleView;->show()V
-Landroid/widget/Editor$InsertionHandleView;->updatePosition(FFZ)V
-Landroid/widget/Editor$InsertionHandleView;->updateSelection(I)V
-Landroid/widget/Editor$InsertionPointCursorController;
-Landroid/widget/Editor$InsertionPointCursorController;-><init>()V
-Landroid/widget/Editor$InsertionPointCursorController;->getHandle()Landroid/widget/Editor$InsertionHandleView;
-Landroid/widget/Editor$InsertionPointCursorController;->hide()V
-Landroid/widget/Editor$InsertionPointCursorController;->invalidateHandle()V
-Landroid/widget/Editor$InsertionPointCursorController;->isActive()Z
-Landroid/widget/Editor$InsertionPointCursorController;->isCursorBeingModified()Z
-Landroid/widget/Editor$InsertionPointCursorController;->mHandle:Landroid/widget/Editor$InsertionHandleView;
-Landroid/widget/Editor$InsertionPointCursorController;->onDetached()V
-Landroid/widget/Editor$InsertionPointCursorController;->show()V
-Landroid/widget/Editor$MagnifierHandleTrigger;
-Landroid/widget/Editor$MagnifierHandleTrigger;->INSERTION:I
-Landroid/widget/Editor$MagnifierHandleTrigger;->SELECTION_END:I
-Landroid/widget/Editor$MagnifierHandleTrigger;->SELECTION_START:I
-Landroid/widget/Editor$MagnifierMotionAnimator;
-Landroid/widget/Editor$MagnifierMotionAnimator;-><init>(Landroid/widget/Magnifier;)V
-Landroid/widget/Editor$MagnifierMotionAnimator;->dismiss()V
-Landroid/widget/Editor$MagnifierMotionAnimator;->DURATION:J
-Landroid/widget/Editor$MagnifierMotionAnimator;->mAnimationCurrentX:F
-Landroid/widget/Editor$MagnifierMotionAnimator;->mAnimationCurrentY:F
-Landroid/widget/Editor$MagnifierMotionAnimator;->mAnimationStartX:F
-Landroid/widget/Editor$MagnifierMotionAnimator;->mAnimationStartY:F
-Landroid/widget/Editor$MagnifierMotionAnimator;->mAnimator:Landroid/animation/ValueAnimator;
-Landroid/widget/Editor$MagnifierMotionAnimator;->mLastX:F
-Landroid/widget/Editor$MagnifierMotionAnimator;->mLastY:F
-Landroid/widget/Editor$MagnifierMotionAnimator;->mMagnifier:Landroid/widget/Magnifier;
-Landroid/widget/Editor$MagnifierMotionAnimator;->mMagnifierIsShowing:Z
-Landroid/widget/Editor$MagnifierMotionAnimator;->show(FF)V
-Landroid/widget/Editor$MagnifierMotionAnimator;->update()V
-Landroid/widget/Editor$PinnedPopupWindow;
-Landroid/widget/Editor$PinnedPopupWindow;-><init>()V
-Landroid/widget/Editor$PinnedPopupWindow;->clipVertically(I)I
-Landroid/widget/Editor$PinnedPopupWindow;->computeLocalPosition()V
-Landroid/widget/Editor$PinnedPopupWindow;->createPopupWindow()V
-Landroid/widget/Editor$PinnedPopupWindow;->getTextOffset()I
-Landroid/widget/Editor$PinnedPopupWindow;->getVerticalLocalPosition(I)I
-Landroid/widget/Editor$PinnedPopupWindow;->hide()V
-Landroid/widget/Editor$PinnedPopupWindow;->initContentView()V
-Landroid/widget/Editor$PinnedPopupWindow;->isShowing()Z
-Landroid/widget/Editor$PinnedPopupWindow;->mClippingLimitLeft:I
-Landroid/widget/Editor$PinnedPopupWindow;->mClippingLimitRight:I
-Landroid/widget/Editor$PinnedPopupWindow;->mContentView:Landroid/view/ViewGroup;
-Landroid/widget/Editor$PinnedPopupWindow;->measureContent()V
-Landroid/widget/Editor$PinnedPopupWindow;->mPopupWindow:Landroid/widget/PopupWindow;
-Landroid/widget/Editor$PinnedPopupWindow;->mPositionX:I
-Landroid/widget/Editor$PinnedPopupWindow;->mPositionY:I
-Landroid/widget/Editor$PinnedPopupWindow;->setUp()V
-Landroid/widget/Editor$PinnedPopupWindow;->show()V
-Landroid/widget/Editor$PinnedPopupWindow;->updatePosition(II)V
-Landroid/widget/Editor$PinnedPopupWindow;->updatePosition(IIZZ)V
-Landroid/widget/Editor$PositionListener;
-Landroid/widget/Editor$PositionListener;-><init>()V
-Landroid/widget/Editor$PositionListener;->addSubscriber(Landroid/widget/Editor$TextViewPositionListener;Z)V
-Landroid/widget/Editor$PositionListener;->getPositionX()I
-Landroid/widget/Editor$PositionListener;->getPositionXOnScreen()I
-Landroid/widget/Editor$PositionListener;->getPositionY()I
-Landroid/widget/Editor$PositionListener;->getPositionYOnScreen()I
-Landroid/widget/Editor$PositionListener;->MAXIMUM_NUMBER_OF_LISTENERS:I
-Landroid/widget/Editor$PositionListener;->mCanMove:[Z
-Landroid/widget/Editor$PositionListener;->mNumberOfListeners:I
-Landroid/widget/Editor$PositionListener;->mPositionHasChanged:Z
-Landroid/widget/Editor$PositionListener;->mPositionListeners:[Landroid/widget/Editor$TextViewPositionListener;
-Landroid/widget/Editor$PositionListener;->mPositionX:I
-Landroid/widget/Editor$PositionListener;->mPositionXOnScreen:I
-Landroid/widget/Editor$PositionListener;->mPositionY:I
-Landroid/widget/Editor$PositionListener;->mPositionYOnScreen:I
-Landroid/widget/Editor$PositionListener;->mScrollHasChanged:Z
-Landroid/widget/Editor$PositionListener;->mTempCoords:[I
-Landroid/widget/Editor$PositionListener;->onScrollChanged()V
-Landroid/widget/Editor$PositionListener;->removeSubscriber(Landroid/widget/Editor$TextViewPositionListener;)V
-Landroid/widget/Editor$PositionListener;->updatePosition()V
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;-><init>(Landroid/widget/Editor;)V
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;->createProcessTextIntent()Landroid/content/Intent;
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;->createProcessTextIntentForResolveInfo(Landroid/content/pm/ResolveInfo;)Landroid/content/Intent;
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;->fireIntent(Landroid/content/Intent;)Z
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;->getLabel(Landroid/content/pm/ResolveInfo;)Ljava/lang/CharSequence;
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;->initializeAccessibilityActions()V
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;->isSupportedActivity(Landroid/content/pm/ResolveInfo;)Z
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;->loadSupportedActivities()V
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;->mAccessibilityActions:Landroid/util/SparseArray;
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;->mAccessibilityIntents:Landroid/util/SparseArray;
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;->mContext:Landroid/content/Context;
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;->mEditor:Landroid/widget/Editor;
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;->mPackageManager:Landroid/content/pm/PackageManager;
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;->mPackageName:Ljava/lang/String;
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;->mSupportedActivities:Ljava/util/List;
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;->mTextView:Landroid/widget/TextView;
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;->onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;->onInitializeMenu(Landroid/view/Menu;)V
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;->performAccessibilityAction(I)Z
-Landroid/widget/Editor$ProcessTextIntentActionsHandler;->performMenuItemAction(Landroid/view/MenuItem;)Z
-Landroid/widget/Editor$SelectionHandleView;
-Landroid/widget/Editor$SelectionHandleView;-><init>(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;II)V
-Landroid/widget/Editor$SelectionHandleView;->getCurrentCursorOffset()I
-Landroid/widget/Editor$SelectionHandleView;->getHorizontal(Landroid/text/Layout;I)F
-Landroid/widget/Editor$SelectionHandleView;->getHorizontal(Landroid/text/Layout;IZ)F
-Landroid/widget/Editor$SelectionHandleView;->getHorizontalGravity(Z)I
-Landroid/widget/Editor$SelectionHandleView;->getHotspotX(Landroid/graphics/drawable/Drawable;Z)I
-Landroid/widget/Editor$SelectionHandleView;->getMagnifierHandleTrigger()I
-Landroid/widget/Editor$SelectionHandleView;->getOffsetAtCoordinate(Landroid/text/Layout;IF)I
-Landroid/widget/Editor$SelectionHandleView;->isAtRtlRun(Landroid/text/Layout;I)Z
-Landroid/widget/Editor$SelectionHandleView;->isStartHandle()Z
-Landroid/widget/Editor$SelectionHandleView;->mHandleType:I
-Landroid/widget/Editor$SelectionHandleView;->mInWord:Z
-Landroid/widget/Editor$SelectionHandleView;->mLanguageDirectionChanged:Z
-Landroid/widget/Editor$SelectionHandleView;->mPrevX:F
-Landroid/widget/Editor$SelectionHandleView;->mTextViewEdgeSlop:F
-Landroid/widget/Editor$SelectionHandleView;->mTextViewLocation:[I
-Landroid/widget/Editor$SelectionHandleView;->mTouchWordDelta:F
-Landroid/widget/Editor$SelectionHandleView;->positionAndAdjustForCrossingHandles(IZ)V
-Landroid/widget/Editor$SelectionHandleView;->positionAtCursorOffset(IZZ)V
-Landroid/widget/Editor$SelectionHandleView;->positionNearEdgeOfScrollingView(FZ)Z
-Landroid/widget/Editor$SelectionHandleView;->updatePosition(FFZ)V
-Landroid/widget/Editor$SelectionHandleView;->updateSelection(I)V
-Landroid/widget/Editor$SelectionModifierCursorController;
-Landroid/widget/Editor$SelectionModifierCursorController;-><init>()V
-Landroid/widget/Editor$SelectionModifierCursorController;->DRAG_ACCELERATOR_MODE_CHARACTER:I
-Landroid/widget/Editor$SelectionModifierCursorController;->DRAG_ACCELERATOR_MODE_INACTIVE:I
-Landroid/widget/Editor$SelectionModifierCursorController;->DRAG_ACCELERATOR_MODE_PARAGRAPH:I
-Landroid/widget/Editor$SelectionModifierCursorController;->DRAG_ACCELERATOR_MODE_WORD:I
-Landroid/widget/Editor$SelectionModifierCursorController;->enterDrag(I)V
-Landroid/widget/Editor$SelectionModifierCursorController;->getMaxTouchOffset()I
-Landroid/widget/Editor$SelectionModifierCursorController;->getMinTouchOffset()I
-Landroid/widget/Editor$SelectionModifierCursorController;->hide()V
-Landroid/widget/Editor$SelectionModifierCursorController;->initDrawables()V
-Landroid/widget/Editor$SelectionModifierCursorController;->initHandles()V
-Landroid/widget/Editor$SelectionModifierCursorController;->invalidateHandles()V
-Landroid/widget/Editor$SelectionModifierCursorController;->isActive()Z
-Landroid/widget/Editor$SelectionModifierCursorController;->isCursorBeingModified()Z
-Landroid/widget/Editor$SelectionModifierCursorController;->isDragAcceleratorActive()Z
-Landroid/widget/Editor$SelectionModifierCursorController;->isSelectionStartDragged()Z
-Landroid/widget/Editor$SelectionModifierCursorController;->mDownPositionX:F
-Landroid/widget/Editor$SelectionModifierCursorController;->mDownPositionY:F
-Landroid/widget/Editor$SelectionModifierCursorController;->mDragAcceleratorMode:I
-Landroid/widget/Editor$SelectionModifierCursorController;->mEndHandle:Landroid/widget/Editor$SelectionHandleView;
-Landroid/widget/Editor$SelectionModifierCursorController;->mGestureStayedInTapRegion:Z
-Landroid/widget/Editor$SelectionModifierCursorController;->mHaventMovedEnoughToStartDrag:Z
-Landroid/widget/Editor$SelectionModifierCursorController;->mLineSelectionIsOn:I
-Landroid/widget/Editor$SelectionModifierCursorController;->mMaxTouchOffset:I
-Landroid/widget/Editor$SelectionModifierCursorController;->mMinTouchOffset:I
-Landroid/widget/Editor$SelectionModifierCursorController;->mStartHandle:Landroid/widget/Editor$SelectionHandleView;
-Landroid/widget/Editor$SelectionModifierCursorController;->mStartOffset:I
-Landroid/widget/Editor$SelectionModifierCursorController;->mSwitchedLines:Z
-Landroid/widget/Editor$SelectionModifierCursorController;->onDetached()V
-Landroid/widget/Editor$SelectionModifierCursorController;->onTouchEvent(Landroid/view/MotionEvent;)V
-Landroid/widget/Editor$SelectionModifierCursorController;->resetDragAcceleratorState()V
-Landroid/widget/Editor$SelectionModifierCursorController;->resetTouchOffsets()V
-Landroid/widget/Editor$SelectionModifierCursorController;->selectCurrentParagraphAndStartDrag()Z
-Landroid/widget/Editor$SelectionModifierCursorController;->show()V
-Landroid/widget/Editor$SelectionModifierCursorController;->updateCharacterBasedSelection(Landroid/view/MotionEvent;)V
-Landroid/widget/Editor$SelectionModifierCursorController;->updateMinAndMaxOffsets(Landroid/view/MotionEvent;)V
-Landroid/widget/Editor$SelectionModifierCursorController;->updateParagraphBasedSelection(Landroid/view/MotionEvent;)V
-Landroid/widget/Editor$SelectionModifierCursorController;->updateSelection(Landroid/view/MotionEvent;)V
-Landroid/widget/Editor$SelectionModifierCursorController;->updateSelectionInternal(IIZ)V
-Landroid/widget/Editor$SelectionModifierCursorController;->updateWordBasedSelection(Landroid/view/MotionEvent;)V
-Landroid/widget/Editor$SpanController;
-Landroid/widget/Editor$SpanController;-><init>()V
-Landroid/widget/Editor$SpanController;->DISPLAY_TIMEOUT_MS:I
-Landroid/widget/Editor$SpanController;->hide()V
-Landroid/widget/Editor$SpanController;->isNonIntermediateSelectionSpan(Landroid/text/Spannable;Ljava/lang/Object;)Z
-Landroid/widget/Editor$SpanController;->mHidePopup:Ljava/lang/Runnable;
-Landroid/widget/Editor$SpanController;->mPopupWindow:Landroid/widget/Editor$EasyEditPopupWindow;
-Landroid/widget/Editor$SpanController;->sendEasySpanNotification(ILandroid/text/style/EasyEditSpan;)V
-Landroid/widget/Editor$SuggestionHelper$SuggestionSpanComparator;
-Landroid/widget/Editor$SuggestionHelper$SuggestionSpanComparator;-><init>()V
-Landroid/widget/Editor$SuggestionHelper$SuggestionSpanComparator;->compare(Landroid/text/style/SuggestionSpan;Landroid/text/style/SuggestionSpan;)I
-Landroid/widget/Editor$SuggestionHelper;
-Landroid/widget/Editor$SuggestionHelper;-><init>()V
-Landroid/widget/Editor$SuggestionHelper;->getSortedSuggestionSpans()[Landroid/text/style/SuggestionSpan;
-Landroid/widget/Editor$SuggestionHelper;->getSuggestionInfo([Landroid/widget/Editor$SuggestionInfo;Landroid/widget/Editor$SuggestionSpanInfo;)I
-Landroid/widget/Editor$SuggestionHelper;->mSpansLengths:Ljava/util/HashMap;
-Landroid/widget/Editor$SuggestionHelper;->mSuggestionSpanComparator:Ljava/util/Comparator;
-Landroid/widget/Editor$SuggestionInfo;
-Landroid/widget/Editor$SuggestionInfo;-><init>()V
-Landroid/widget/Editor$SuggestionInfo;->clear()V
-Landroid/widget/Editor$SuggestionInfo;->mSuggestionEnd:I
-Landroid/widget/Editor$SuggestionInfo;->mSuggestionIndex:I
-Landroid/widget/Editor$SuggestionInfo;->mSuggestionSpanInfo:Landroid/widget/Editor$SuggestionSpanInfo;
-Landroid/widget/Editor$SuggestionInfo;->mSuggestionStart:I
-Landroid/widget/Editor$SuggestionInfo;->mText:Landroid/text/SpannableStringBuilder;
-Landroid/widget/Editor$SuggestionInfo;->setSpanInfo(Landroid/text/style/SuggestionSpan;II)V
-Landroid/widget/Editor$SuggestionSpanInfo;
-Landroid/widget/Editor$SuggestionSpanInfo;-><init>()V
-Landroid/widget/Editor$SuggestionSpanInfo;->clear()V
-Landroid/widget/Editor$SuggestionSpanInfo;->mSpanEnd:I
-Landroid/widget/Editor$SuggestionSpanInfo;->mSpanStart:I
-Landroid/widget/Editor$SuggestionSpanInfo;->mSuggestionSpan:Landroid/text/style/SuggestionSpan;
-Landroid/widget/Editor$SuggestionsPopupWindow$CustomPopupWindow;
-Landroid/widget/Editor$SuggestionsPopupWindow$CustomPopupWindow;-><init>()V
-Landroid/widget/Editor$SuggestionsPopupWindow$SuggestionAdapter;
-Landroid/widget/Editor$SuggestionsPopupWindow$SuggestionAdapter;-><init>()V
-Landroid/widget/Editor$SuggestionsPopupWindow$SuggestionAdapter;->mInflater:Landroid/view/LayoutInflater;
-Landroid/widget/Editor$SuggestionsPopupWindow;
-Landroid/widget/Editor$SuggestionsPopupWindow;-><init>()V
-Landroid/widget/Editor$SuggestionsPopupWindow;->applyDefaultTheme(Landroid/content/Context;)Landroid/content/Context;
-Landroid/widget/Editor$SuggestionsPopupWindow;->clipVertically(I)I
-Landroid/widget/Editor$SuggestionsPopupWindow;->createPopupWindow()V
-Landroid/widget/Editor$SuggestionsPopupWindow;->getContentViewForTesting()Landroid/view/ViewGroup;
-Landroid/widget/Editor$SuggestionsPopupWindow;->getTextOffset()I
-Landroid/widget/Editor$SuggestionsPopupWindow;->getVerticalLocalPosition(I)I
-Landroid/widget/Editor$SuggestionsPopupWindow;->hideWithCleanUp()V
-Landroid/widget/Editor$SuggestionsPopupWindow;->highlightTextDifferences(Landroid/widget/Editor$SuggestionInfo;II)V
-Landroid/widget/Editor$SuggestionsPopupWindow;->initContentView()V
-Landroid/widget/Editor$SuggestionsPopupWindow;->isShowingUp()Z
-Landroid/widget/Editor$SuggestionsPopupWindow;->mAddToDictionaryButton:Landroid/widget/TextView;
-Landroid/widget/Editor$SuggestionsPopupWindow;->MAX_NUMBER_SUGGESTIONS:I
-Landroid/widget/Editor$SuggestionsPopupWindow;->mContainerMarginTop:I
-Landroid/widget/Editor$SuggestionsPopupWindow;->mContainerMarginWidth:I
-Landroid/widget/Editor$SuggestionsPopupWindow;->mContainerView:Landroid/widget/LinearLayout;
-Landroid/widget/Editor$SuggestionsPopupWindow;->mContext:Landroid/content/Context;
-Landroid/widget/Editor$SuggestionsPopupWindow;->mCursorWasVisibleBeforeSuggestions:Z
-Landroid/widget/Editor$SuggestionsPopupWindow;->mDeleteButton:Landroid/widget/TextView;
-Landroid/widget/Editor$SuggestionsPopupWindow;->measureContent()V
-Landroid/widget/Editor$SuggestionsPopupWindow;->mHighlightSpan:Landroid/text/style/TextAppearanceSpan;
-Landroid/widget/Editor$SuggestionsPopupWindow;->mIsShowingUp:Z
-Landroid/widget/Editor$SuggestionsPopupWindow;->mMisspelledSpanInfo:Landroid/widget/Editor$SuggestionSpanInfo;
-Landroid/widget/Editor$SuggestionsPopupWindow;->mNumberOfSuggestions:I
-Landroid/widget/Editor$SuggestionsPopupWindow;->mSuggestionInfos:[Landroid/widget/Editor$SuggestionInfo;
-Landroid/widget/Editor$SuggestionsPopupWindow;->mSuggestionListView:Landroid/widget/ListView;
-Landroid/widget/Editor$SuggestionsPopupWindow;->mSuggestionsAdapter:Landroid/widget/Editor$SuggestionsPopupWindow$SuggestionAdapter;
-Landroid/widget/Editor$SuggestionsPopupWindow;->onParentLostFocus()V
-Landroid/widget/Editor$SuggestionsPopupWindow;->setUp()V
-Landroid/widget/Editor$SuggestionsPopupWindow;->show()V
-Landroid/widget/Editor$SuggestionsPopupWindow;->updateSuggestions()Z
-Landroid/widget/Editor$SuggestionsPopupWindow;->USER_DICTIONARY_EXTRA_LOCALE:Ljava/lang/String;
-Landroid/widget/Editor$SuggestionsPopupWindow;->USER_DICTIONARY_EXTRA_WORD:Ljava/lang/String;
-Landroid/widget/Editor$TextActionMode;
-Landroid/widget/Editor$TextActionMode;->INSERTION:I
-Landroid/widget/Editor$TextActionMode;->SELECTION:I
-Landroid/widget/Editor$TextActionMode;->TEXT_LINK:I
-Landroid/widget/Editor$TextActionModeCallback;
-Landroid/widget/Editor$TextActionModeCallback;-><init>(I)V
-Landroid/widget/Editor$TextActionModeCallback;->addAssistMenuItem(Landroid/view/Menu;Landroid/app/RemoteAction;III)Landroid/view/MenuItem;
-Landroid/widget/Editor$TextActionModeCallback;->clearAssistMenuItems(Landroid/view/Menu;)V
-Landroid/widget/Editor$TextActionModeCallback;->createAssistMenuItemPendingIntentRequestCode()I
-Landroid/widget/Editor$TextActionModeCallback;->getCustomCallback()Landroid/view/ActionMode$Callback;
-Landroid/widget/Editor$TextActionModeCallback;->hasLegacyAssistItem(Landroid/view/textclassifier/TextClassification;)Z
-Landroid/widget/Editor$TextActionModeCallback;->mAssistClickHandlers:Ljava/util/Map;
-Landroid/widget/Editor$TextActionModeCallback;->mHandleHeight:I
-Landroid/widget/Editor$TextActionModeCallback;->mHasSelection:Z
-Landroid/widget/Editor$TextActionModeCallback;->mSelectionBounds:Landroid/graphics/RectF;
-Landroid/widget/Editor$TextActionModeCallback;->mSelectionPath:Landroid/graphics/Path;
-Landroid/widget/Editor$TextActionModeCallback;->onAssistMenuItemClicked(Landroid/view/MenuItem;)Z
-Landroid/widget/Editor$TextActionModeCallback;->populateMenuWithItems(Landroid/view/Menu;)V
-Landroid/widget/Editor$TextActionModeCallback;->shouldEnableAssistMenuItems()Z
-Landroid/widget/Editor$TextActionModeCallback;->updateAssistMenuItems(Landroid/view/Menu;)V
-Landroid/widget/Editor$TextActionModeCallback;->updateReplaceItem(Landroid/view/Menu;)V
-Landroid/widget/Editor$TextActionModeCallback;->updateSelectAllItem(Landroid/view/Menu;)V
-Landroid/widget/Editor$TextRenderNode;
-Landroid/widget/Editor$TextRenderNode;-><init>(Ljava/lang/String;)V
-Landroid/widget/Editor$TextRenderNode;->isDirty:Z
-Landroid/widget/Editor$TextRenderNode;->needsRecord()Z
-Landroid/widget/Editor$TextRenderNode;->needsToBeShifted:Z
-Landroid/widget/Editor$TextRenderNode;->renderNode:Landroid/view/RenderNode;
-Landroid/widget/Editor$TextViewPositionListener;
-Landroid/widget/Editor$TextViewPositionListener;->updatePosition(IIZZ)V
-Landroid/widget/Editor$UndoInputFilter$MergeMode;
-Landroid/widget/Editor$UndoInputFilter;
-Landroid/widget/Editor$UndoInputFilter;-><init>(Landroid/widget/Editor;)V
-Landroid/widget/Editor$UndoInputFilter;->beginBatchEdit()V
-Landroid/widget/Editor$UndoInputFilter;->canUndoEdit(Ljava/lang/CharSequence;IILandroid/text/Spanned;II)Z
-Landroid/widget/Editor$UndoInputFilter;->endBatchEdit()V
-Landroid/widget/Editor$UndoInputFilter;->freezeLastEdit()V
-Landroid/widget/Editor$UndoInputFilter;->getLastEdit()Landroid/widget/Editor$EditOperation;
-Landroid/widget/Editor$UndoInputFilter;->handleEdit(Ljava/lang/CharSequence;IILandroid/text/Spanned;IIZ)V
-Landroid/widget/Editor$UndoInputFilter;->isComposition(Ljava/lang/CharSequence;)Z
-Landroid/widget/Editor$UndoInputFilter;->isInTextWatcher()Z
-Landroid/widget/Editor$UndoInputFilter;->mEditor:Landroid/widget/Editor;
-Landroid/widget/Editor$UndoInputFilter;->MERGE_EDIT_MODE_FORCE_MERGE:I
-Landroid/widget/Editor$UndoInputFilter;->MERGE_EDIT_MODE_NEVER_MERGE:I
-Landroid/widget/Editor$UndoInputFilter;->MERGE_EDIT_MODE_NORMAL:I
-Landroid/widget/Editor$UndoInputFilter;->mExpanding:Z
-Landroid/widget/Editor$UndoInputFilter;->mHasComposition:Z
-Landroid/widget/Editor$UndoInputFilter;->mIsUserEdit:Z
-Landroid/widget/Editor$UndoInputFilter;->mPreviousOperationWasInSameBatchEdit:Z
-Landroid/widget/Editor$UndoInputFilter;->recordEdit(Landroid/widget/Editor$EditOperation;I)V
-Landroid/widget/Editor$UndoInputFilter;->restoreInstanceState(Landroid/os/Parcel;)V
-Landroid/widget/Editor$UndoInputFilter;->saveInstanceState(Landroid/os/Parcel;)V
-Landroid/widget/Editor;
-Landroid/widget/Editor;-><init>(Landroid/widget/TextView;)V
-Landroid/widget/Editor;->addSpanWatchers(Landroid/text/Spannable;)V
-Landroid/widget/Editor;->adjustInputType(ZZZZ)V
-Landroid/widget/Editor;->beginBatchEdit()V
-Landroid/widget/Editor;->BLINK:I
-Landroid/widget/Editor;->canRedo()Z
-Landroid/widget/Editor;->canUndo()Z
-Landroid/widget/Editor;->checkField()Z
-Landroid/widget/Editor;->chooseSize(Landroid/widget/PopupWindow;Ljava/lang/CharSequence;Landroid/widget/TextView;)V
-Landroid/widget/Editor;->clampHorizontalPosition(Landroid/graphics/drawable/Drawable;F)I
-Landroid/widget/Editor;->createInputContentTypeIfNeeded()V
-Landroid/widget/Editor;->createInputMethodStateIfNeeded()V
-Landroid/widget/Editor;->DEBUG_UNDO:Z
-Landroid/widget/Editor;->discardTextDisplayLists()V
-Landroid/widget/Editor;->downgradeEasyCorrectionSpans()V
-Landroid/widget/Editor;->DRAG_SHADOW_MAX_TEXT_LENGTH:I
-Landroid/widget/Editor;->drawCursor(Landroid/graphics/Canvas;I)V
-Landroid/widget/Editor;->drawHardwareAccelerated(Landroid/graphics/Canvas;Landroid/text/Layout;Landroid/graphics/Path;Landroid/graphics/Paint;I)V
-Landroid/widget/Editor;->drawHardwareAcceleratedInner(Landroid/graphics/Canvas;Landroid/text/Layout;Landroid/graphics/Path;Landroid/graphics/Paint;I[I[IIII)I
-Landroid/widget/Editor;->endBatchEdit()V
-Landroid/widget/Editor;->ensureEndedBatchEdit()V
-Landroid/widget/Editor;->ensureNoSelectionIfNonSelectable()V
-Landroid/widget/Editor;->extractedTextModeWillBeStarted()Z
-Landroid/widget/Editor;->extractText(Landroid/view/inputmethod/ExtractedTextRequest;Landroid/view/inputmethod/ExtractedText;)Z
-Landroid/widget/Editor;->extractTextInternal(Landroid/view/inputmethod/ExtractedTextRequest;IIILandroid/view/inputmethod/ExtractedText;)Z
-Landroid/widget/Editor;->EXTRACT_NOTHING:I
-Landroid/widget/Editor;->EXTRACT_UNKNOWN:I
-Landroid/widget/Editor;->findEquivalentSuggestionSpan(Landroid/widget/Editor$SuggestionSpanInfo;)Landroid/text/style/SuggestionSpan;
-Landroid/widget/Editor;->finishBatchEdit(Landroid/widget/Editor$InputMethodState;)V
-Landroid/widget/Editor;->FLAG_USE_MAGNIFIER:Z
-Landroid/widget/Editor;->forgetUndoRedo()V
-Landroid/widget/Editor;->getAvailableDisplayListIndex([III)I
-Landroid/widget/Editor;->getCharClusterRange(I)J
-Landroid/widget/Editor;->getCurrentLineAdjustedForSlop(Landroid/text/Layout;IF)I
-Landroid/widget/Editor;->getCursorDrawable()Landroid/graphics/drawable/Drawable;
-Landroid/widget/Editor;->getErrorX()I
-Landroid/widget/Editor;->getErrorY()I
-Landroid/widget/Editor;->getInsertionController()Landroid/widget/Editor$InsertionPointCursorController;
-Landroid/widget/Editor;->getLastTapPosition()I
-Landroid/widget/Editor;->getLastTouchOffsets()J
-Landroid/widget/Editor;->getLastUpPositionX()F
-Landroid/widget/Editor;->getLastUpPositionY()F
-Landroid/widget/Editor;->getNextCursorOffset(IZ)I
-Landroid/widget/Editor;->getParagraphsRange(II)J
-Landroid/widget/Editor;->getPositionListener()Landroid/widget/Editor$PositionListener;
-Landroid/widget/Editor;->getSelectionActionModeHelper()Landroid/widget/SelectionActionModeHelper;
-Landroid/widget/Editor;->getSelectionController()Landroid/widget/Editor$SelectionModifierCursorController;
-Landroid/widget/Editor;->getSuggestionsPopupWindowForTesting()Landroid/widget/Editor$SuggestionsPopupWindow;
-Landroid/widget/Editor;->getTextActionMode()Landroid/view/ActionMode;
-Landroid/widget/Editor;->getTextThumbnailBuilder(II)Landroid/view/View$DragShadowBuilder;
-Landroid/widget/Editor;->getTextView()Landroid/widget/TextView;
-Landroid/widget/Editor;->getWordEnd(I)I
-Landroid/widget/Editor;->getWordIterator()Landroid/text/method/WordIterator;
-Landroid/widget/Editor;->getWordIteratorWithText()Landroid/text/method/WordIterator;
-Landroid/widget/Editor;->getWordStart(I)I
-Landroid/widget/Editor;->HANDLE_TYPE_SELECTION_END:I
-Landroid/widget/Editor;->HANDLE_TYPE_SELECTION_START:I
-Landroid/widget/Editor;->hasInsertionController()Z
-Landroid/widget/Editor;->hasSelectionController()Z
-Landroid/widget/Editor;->hideCursorAndSpanControllers()V
-Landroid/widget/Editor;->hideCursorControllers()V
-Landroid/widget/Editor;->hideError()V
-Landroid/widget/Editor;->hideFloatingToolbar(I)V
-Landroid/widget/Editor;->hideInsertionPointCursorController()V
-Landroid/widget/Editor;->hideSpanControllers()V
-Landroid/widget/Editor;->invalidateActionMode()V
-Landroid/widget/Editor;->invalidateActionModeAsync()V
-Landroid/widget/Editor;->invalidateHandlesAndActionMode()V
-Landroid/widget/Editor;->invalidateTextDisplayList(Landroid/text/Layout;II)V
-Landroid/widget/Editor;->isCursorInsideEasyCorrectionSpan()Z
-Landroid/widget/Editor;->isCursorVisible()Z
-Landroid/widget/Editor;->isOffsetVisible(I)Z
-Landroid/widget/Editor;->isPositionOnText(FF)Z
-Landroid/widget/Editor;->isValidRange(Ljava/lang/CharSequence;II)Z
-Landroid/widget/Editor;->LINE_SLOP_MULTIPLIER_FOR_HANDLEVIEWS:F
-Landroid/widget/Editor;->makeBlink()V
-Landroid/widget/Editor;->mAllowUndo:Z
-Landroid/widget/Editor;->mBlink:Landroid/widget/Editor$Blink;
-Landroid/widget/Editor;->mContextMenuAnchorX:F
-Landroid/widget/Editor;->mContextMenuAnchorY:F
-Landroid/widget/Editor;->mCorrectionHighlighter:Landroid/widget/Editor$CorrectionHighlighter;
-Landroid/widget/Editor;->mCursorAnchorInfoNotifier:Landroid/widget/Editor$CursorAnchorInfoNotifier;
-Landroid/widget/Editor;->mCursorVisible:Z
-Landroid/widget/Editor;->mCustomInsertionActionModeCallback:Landroid/view/ActionMode$Callback;
-Landroid/widget/Editor;->mCustomSelectionActionModeCallback:Landroid/view/ActionMode$Callback;
-Landroid/widget/Editor;->mDiscardNextActionUp:Z
-Landroid/widget/Editor;->mDrawableForCursor:Landroid/graphics/drawable/Drawable;
-Landroid/widget/Editor;->MENU_ITEM_ORDER_ASSIST:I
-Landroid/widget/Editor;->MENU_ITEM_ORDER_AUTOFILL:I
-Landroid/widget/Editor;->MENU_ITEM_ORDER_COPY:I
-Landroid/widget/Editor;->MENU_ITEM_ORDER_CUT:I
-Landroid/widget/Editor;->MENU_ITEM_ORDER_PASTE:I
-Landroid/widget/Editor;->MENU_ITEM_ORDER_PASTE_AS_PLAIN_TEXT:I
-Landroid/widget/Editor;->MENU_ITEM_ORDER_PROCESS_TEXT_INTENT_ACTIONS_START:I
-Landroid/widget/Editor;->MENU_ITEM_ORDER_REDO:I
-Landroid/widget/Editor;->MENU_ITEM_ORDER_REPLACE:I
-Landroid/widget/Editor;->MENU_ITEM_ORDER_SECONDARY_ASSIST_ACTIONS_START:I
-Landroid/widget/Editor;->MENU_ITEM_ORDER_SELECT_ALL:I
-Landroid/widget/Editor;->MENU_ITEM_ORDER_SHARE:I
-Landroid/widget/Editor;->MENU_ITEM_ORDER_UNDO:I
-Landroid/widget/Editor;->mError:Ljava/lang/CharSequence;
-Landroid/widget/Editor;->mErrorPopup:Landroid/widget/Editor$ErrorPopup;
-Landroid/widget/Editor;->mErrorWasChanged:Z
-Landroid/widget/Editor;->mFrozenWithFocus:Z
-Landroid/widget/Editor;->mHapticTextHandleEnabled:Z
-Landroid/widget/Editor;->mIgnoreActionUpEvent:Z
-Landroid/widget/Editor;->mInBatchEditControllers:Z
-Landroid/widget/Editor;->mInputContentType:Landroid/widget/Editor$InputContentType;
-Landroid/widget/Editor;->mInputMethodState:Landroid/widget/Editor$InputMethodState;
-Landroid/widget/Editor;->mInputType:I
-Landroid/widget/Editor;->mInsertionActionModeRunnable:Ljava/lang/Runnable;
-Landroid/widget/Editor;->mInsertionPointCursorController:Landroid/widget/Editor$InsertionPointCursorController;
-Landroid/widget/Editor;->mIsBeingLongClicked:Z
-Landroid/widget/Editor;->mIsInsertionActionModeStartPending:Z
-Landroid/widget/Editor;->mKeyListener:Landroid/text/method/KeyListener;
-Landroid/widget/Editor;->mLastButtonState:I
-Landroid/widget/Editor;->mLastDownPositionX:F
-Landroid/widget/Editor;->mLastDownPositionY:F
-Landroid/widget/Editor;->mLastTouchUpTime:J
-Landroid/widget/Editor;->mLastUpPositionX:F
-Landroid/widget/Editor;->mLastUpPositionY:F
-Landroid/widget/Editor;->mMagnifierAnimator:Landroid/widget/Editor$MagnifierMotionAnimator;
-Landroid/widget/Editor;->mMagnifierOnDrawListener:Landroid/view/ViewTreeObserver$OnDrawListener;
-Landroid/widget/Editor;->mMetricsLogger:Lcom/android/internal/logging/MetricsLogger;
-Landroid/widget/Editor;->mOnContextMenuItemClickListener:Landroid/view/MenuItem$OnMenuItemClickListener;
-Landroid/widget/Editor;->mPositionListener:Landroid/widget/Editor$PositionListener;
-Landroid/widget/Editor;->mPreserveSelection:Z
-Landroid/widget/Editor;->mProcessTextIntentActionsHandler:Landroid/widget/Editor$ProcessTextIntentActionsHandler;
-Landroid/widget/Editor;->mRenderCursorRegardlessTiming:Z
-Landroid/widget/Editor;->mRequestingLinkActionMode:Z
-Landroid/widget/Editor;->mRestartActionModeOnNextRefresh:Z
-Landroid/widget/Editor;->mSelectAllOnFocus:Z
-Landroid/widget/Editor;->mSelectionActionModeHelper:Landroid/widget/SelectionActionModeHelper;
-Landroid/widget/Editor;->mSelectionModifierCursorController:Landroid/widget/Editor$SelectionModifierCursorController;
-Landroid/widget/Editor;->mSelectionMoved:Z
-Landroid/widget/Editor;->mShowErrorAfterAttach:Z
-Landroid/widget/Editor;->mShowFloatingToolbar:Ljava/lang/Runnable;
-Landroid/widget/Editor;->mShowSuggestionRunnable:Ljava/lang/Runnable;
-Landroid/widget/Editor;->mSpanController:Landroid/widget/Editor$SpanController;
-Landroid/widget/Editor;->mSpellChecker:Landroid/widget/SpellChecker;
-Landroid/widget/Editor;->mSuggestionHelper:Landroid/widget/Editor$SuggestionHelper;
-Landroid/widget/Editor;->mSuggestionRangeSpan:Landroid/text/style/SuggestionRangeSpan;
-Landroid/widget/Editor;->mSuggestionsPopupWindow:Landroid/widget/Editor$SuggestionsPopupWindow;
-Landroid/widget/Editor;->mTapState:I
-Landroid/widget/Editor;->mTempRect:Landroid/graphics/Rect;
-Landroid/widget/Editor;->mTextActionMode:Landroid/view/ActionMode;
-Landroid/widget/Editor;->mTextIsSelectable:Z
-Landroid/widget/Editor;->mTextRenderNodes:[Landroid/widget/Editor$TextRenderNode;
-Landroid/widget/Editor;->mTextView:Landroid/widget/TextView;
-Landroid/widget/Editor;->mTouchFocusSelected:Z
-Landroid/widget/Editor;->mUndoInputFilter:Landroid/widget/Editor$UndoInputFilter;
-Landroid/widget/Editor;->mUndoManager:Landroid/content/UndoManager;
-Landroid/widget/Editor;->mUndoOwner:Landroid/content/UndoOwner;
-Landroid/widget/Editor;->mUpdateMagnifierRunnable:Ljava/lang/Runnable;
-Landroid/widget/Editor;->mUpdateWordIteratorText:Z
-Landroid/widget/Editor;->mWordIterator:Landroid/text/method/WordIterator;
-Landroid/widget/Editor;->mWordIteratorWithText:Landroid/text/method/WordIterator;
-Landroid/widget/Editor;->needsToSelectAllToSelectWordOrParagraph()Z
-Landroid/widget/Editor;->onAttachedToWindow()V
-Landroid/widget/Editor;->onCommitCorrection(Landroid/view/inputmethod/CorrectionInfo;)V
-Landroid/widget/Editor;->onCreateContextMenu(Landroid/view/ContextMenu;)V
-Landroid/widget/Editor;->onDetachedFromWindow()V
-Landroid/widget/Editor;->onDraw(Landroid/graphics/Canvas;Landroid/text/Layout;Landroid/graphics/Path;Landroid/graphics/Paint;I)V
-Landroid/widget/Editor;->onDrop(Landroid/view/DragEvent;)V
-Landroid/widget/Editor;->onFocusChanged(ZI)V
-Landroid/widget/Editor;->onLocaleChanged()V
-Landroid/widget/Editor;->onScreenStateChanged(I)V
-Landroid/widget/Editor;->onScrollChanged()V
-Landroid/widget/Editor;->onTouchEvent(Landroid/view/MotionEvent;)V
-Landroid/widget/Editor;->onTouchUpEvent(Landroid/view/MotionEvent;)V
-Landroid/widget/Editor;->onWindowFocusChanged(Z)V
-Landroid/widget/Editor;->performLongClick(Z)Z
-Landroid/widget/Editor;->prepareCursorControllers()V
-Landroid/widget/Editor;->redo()V
-Landroid/widget/Editor;->refreshTextActionMode()V
-Landroid/widget/Editor;->replace()V
-Landroid/widget/Editor;->replaceWithSuggestion(Landroid/widget/Editor$SuggestionInfo;)V
-Landroid/widget/Editor;->reportExtractedText()Z
-Landroid/widget/Editor;->restoreInstanceState(Landroid/os/ParcelableParcel;)V
-Landroid/widget/Editor;->resumeBlink()V
-Landroid/widget/Editor;->saveInstanceState()Landroid/os/ParcelableParcel;
-Landroid/widget/Editor;->selectCurrentParagraph()Z
-Landroid/widget/Editor;->selectCurrentWord()Z
-Landroid/widget/Editor;->selectCurrentWordAndStartDrag()Z
-Landroid/widget/Editor;->sendOnTextChanged(III)V
-Landroid/widget/Editor;->sendUpdateSelection()V
-Landroid/widget/Editor;->setContextMenuAnchor(FF)V
-Landroid/widget/Editor;->setError(Ljava/lang/CharSequence;Landroid/graphics/drawable/Drawable;)V
-Landroid/widget/Editor;->setErrorIcon(Landroid/graphics/drawable/Drawable;)V
-Landroid/widget/Editor;->setFrame()V
-Landroid/widget/Editor;->setRestartActionModeOnNextRefresh(Z)V
-Landroid/widget/Editor;->shouldBlink()Z
-Landroid/widget/Editor;->shouldFilterOutTouchEvent(Landroid/view/MotionEvent;)Z
-Landroid/widget/Editor;->shouldOfferToShowSuggestions()Z
-Landroid/widget/Editor;->shouldRenderCursor()Z
-Landroid/widget/Editor;->showError()V
-Landroid/widget/Editor;->showFloatingToolbar()V
-Landroid/widget/Editor;->startActionModeInternal(I)Z
-Landroid/widget/Editor;->startDragAndDrop()V
-Landroid/widget/Editor;->startInsertionActionMode()V
-Landroid/widget/Editor;->startLinkActionModeAsync(II)V
-Landroid/widget/Editor;->startSelectionActionModeAsync(Z)V
-Landroid/widget/Editor;->stopTextActionMode()V
-Landroid/widget/Editor;->stopTextActionModeWithPreservingSelection()V
-Landroid/widget/Editor;->suspendBlink()V
-Landroid/widget/Editor;->TAG:Ljava/lang/String;
-Landroid/widget/Editor;->TAP_STATE_DOUBLE_TAP:I
-Landroid/widget/Editor;->TAP_STATE_FIRST_TAP:I
-Landroid/widget/Editor;->TAP_STATE_INITIAL:I
-Landroid/widget/Editor;->TAP_STATE_TRIPLE_CLICK:I
-Landroid/widget/Editor;->touchPositionIsInSelection()Z
-Landroid/widget/Editor;->undo()V
-Landroid/widget/Editor;->UNDO_OWNER_TAG:Ljava/lang/String;
-Landroid/widget/Editor;->UNSET_LINE:I
-Landroid/widget/Editor;->UNSET_X_VALUE:I
-Landroid/widget/Editor;->updateCursorPosition()V
-Landroid/widget/Editor;->updateCursorPosition(IIF)V
-Landroid/widget/Editor;->updateFloatingToolbarVisibility(Landroid/view/MotionEvent;)V
-Landroid/widget/Editor;->updateSpellCheckSpans(IIZ)V
-Landroid/widget/Editor;->updateTapState(Landroid/view/MotionEvent;)V
-Landroid/widget/EditText;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/EditText;->supportsAutoSizeText()Z
-Landroid/widget/ExpandableListConnector$GroupMetadata;
-Landroid/widget/ExpandableListConnector$GroupMetadata;-><init>()V
-Landroid/widget/ExpandableListConnector$GroupMetadata;->compareTo(Landroid/widget/ExpandableListConnector$GroupMetadata;)I
-Landroid/widget/ExpandableListConnector$GroupMetadata;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/widget/ExpandableListConnector$GroupMetadata;->flPos:I
-Landroid/widget/ExpandableListConnector$GroupMetadata;->gId:J
-Landroid/widget/ExpandableListConnector$GroupMetadata;->gPos:I
-Landroid/widget/ExpandableListConnector$GroupMetadata;->lastChildFlPos:I
-Landroid/widget/ExpandableListConnector$GroupMetadata;->obtain(IIIJ)Landroid/widget/ExpandableListConnector$GroupMetadata;
-Landroid/widget/ExpandableListConnector$GroupMetadata;->REFRESH:I
-Landroid/widget/ExpandableListConnector$MyDataSetObserver;
-Landroid/widget/ExpandableListConnector$MyDataSetObserver;-><init>()V
-Landroid/widget/ExpandableListConnector$PositionMetadata;
-Landroid/widget/ExpandableListConnector$PositionMetadata;-><init>()V
-Landroid/widget/ExpandableListConnector$PositionMetadata;->getRecycledOrCreate()Landroid/widget/ExpandableListConnector$PositionMetadata;
-Landroid/widget/ExpandableListConnector$PositionMetadata;->groupInsertIndex:I
-Landroid/widget/ExpandableListConnector$PositionMetadata;->groupMetadata:Landroid/widget/ExpandableListConnector$GroupMetadata;
-Landroid/widget/ExpandableListConnector$PositionMetadata;->isExpanded()Z
-Landroid/widget/ExpandableListConnector$PositionMetadata;->MAX_POOL_SIZE:I
-Landroid/widget/ExpandableListConnector$PositionMetadata;->obtain(IIIILandroid/widget/ExpandableListConnector$GroupMetadata;I)Landroid/widget/ExpandableListConnector$PositionMetadata;
-Landroid/widget/ExpandableListConnector$PositionMetadata;->position:Landroid/widget/ExpandableListPosition;
-Landroid/widget/ExpandableListConnector$PositionMetadata;->recycle()V
-Landroid/widget/ExpandableListConnector$PositionMetadata;->resetState()V
-Landroid/widget/ExpandableListConnector$PositionMetadata;->sPool:Ljava/util/ArrayList;
-Landroid/widget/ExpandableListConnector;
-Landroid/widget/ExpandableListConnector;-><init>(Landroid/widget/ExpandableListAdapter;)V
-Landroid/widget/ExpandableListConnector;->collapseGroup(I)Z
-Landroid/widget/ExpandableListConnector;->collapseGroup(Landroid/widget/ExpandableListConnector$PositionMetadata;)Z
-Landroid/widget/ExpandableListConnector;->expandGroup(I)Z
-Landroid/widget/ExpandableListConnector;->expandGroup(Landroid/widget/ExpandableListConnector$PositionMetadata;)Z
-Landroid/widget/ExpandableListConnector;->findGroupPosition(JI)I
-Landroid/widget/ExpandableListConnector;->getAdapter()Landroid/widget/ExpandableListAdapter;
-Landroid/widget/ExpandableListConnector;->getExpandedGroupMetadataList()Ljava/util/ArrayList;
-Landroid/widget/ExpandableListConnector;->getFlattenedPos(Landroid/widget/ExpandableListPosition;)Landroid/widget/ExpandableListConnector$PositionMetadata;
-Landroid/widget/ExpandableListConnector;->getUnflattenedPos(I)Landroid/widget/ExpandableListConnector$PositionMetadata;
-Landroid/widget/ExpandableListConnector;->isGroupExpanded(I)Z
-Landroid/widget/ExpandableListConnector;->mDataSetObserver:Landroid/database/DataSetObserver;
-Landroid/widget/ExpandableListConnector;->mExpandableListAdapter:Landroid/widget/ExpandableListAdapter;
-Landroid/widget/ExpandableListConnector;->mExpGroupMetadataList:Ljava/util/ArrayList;
-Landroid/widget/ExpandableListConnector;->mMaxExpGroupCount:I
-Landroid/widget/ExpandableListConnector;->mTotalExpChildrenCount:I
-Landroid/widget/ExpandableListConnector;->refreshExpGroupMetadataList(ZZ)V
-Landroid/widget/ExpandableListConnector;->setExpandableListAdapter(Landroid/widget/ExpandableListAdapter;)V
-Landroid/widget/ExpandableListConnector;->setExpandedGroupMetadataList(Ljava/util/ArrayList;)V
-Landroid/widget/ExpandableListConnector;->setMaxExpGroupCount(I)V
-Landroid/widget/ExpandableListPosition;
-Landroid/widget/ExpandableListPosition;-><init>()V
-Landroid/widget/ExpandableListPosition;->CHILD:I
-Landroid/widget/ExpandableListPosition;->childPos:I
-Landroid/widget/ExpandableListPosition;->flatListPos:I
-Landroid/widget/ExpandableListPosition;->getPackedPosition()J
-Landroid/widget/ExpandableListPosition;->getRecycledOrCreate()Landroid/widget/ExpandableListPosition;
-Landroid/widget/ExpandableListPosition;->GROUP:I
-Landroid/widget/ExpandableListPosition;->groupPos:I
-Landroid/widget/ExpandableListPosition;->MAX_POOL_SIZE:I
-Landroid/widget/ExpandableListPosition;->obtain(IIII)Landroid/widget/ExpandableListPosition;
-Landroid/widget/ExpandableListPosition;->obtainChildPosition(II)Landroid/widget/ExpandableListPosition;
-Landroid/widget/ExpandableListPosition;->obtainGroupPosition(I)Landroid/widget/ExpandableListPosition;
-Landroid/widget/ExpandableListPosition;->obtainPosition(J)Landroid/widget/ExpandableListPosition;
-Landroid/widget/ExpandableListPosition;->recycle()V
-Landroid/widget/ExpandableListPosition;->resetState()V
-Landroid/widget/ExpandableListPosition;->sPool:Ljava/util/ArrayList;
-Landroid/widget/ExpandableListPosition;->type:I
-Landroid/widget/ExpandableListView$SavedState;
-Landroid/widget/ExpandableListView$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/ExpandableListView$SavedState;-><init>(Landroid/os/Parcelable;Ljava/util/ArrayList;)V
-Landroid/widget/ExpandableListView$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/widget/ExpandableListView$SavedState;->expandedGroupMetadataList:Ljava/util/ArrayList;
-Landroid/widget/ExpandableListView;->CHILD_LAST_STATE_SET:[I
-Landroid/widget/ExpandableListView;->createContextMenuInfo(Landroid/view/View;IJ)Landroid/view/ContextMenu$ContextMenuInfo;
-Landroid/widget/ExpandableListView;->drawDivider(Landroid/graphics/Canvas;Landroid/graphics/Rect;I)V
-Landroid/widget/ExpandableListView;->EMPTY_STATE_SET:[I
-Landroid/widget/ExpandableListView;->getAbsoluteFlatPosition(I)I
-Landroid/widget/ExpandableListView;->getChildOrGroupId(Landroid/widget/ExpandableListPosition;)J
-Landroid/widget/ExpandableListView;->getFlatPositionForConnector(I)I
-Landroid/widget/ExpandableListView;->getIndicator(Landroid/widget/ExpandableListConnector$PositionMetadata;)Landroid/graphics/drawable/Drawable;
-Landroid/widget/ExpandableListView;->GROUP_EMPTY_STATE_SET:[I
-Landroid/widget/ExpandableListView;->GROUP_EXPANDED_EMPTY_STATE_SET:[I
-Landroid/widget/ExpandableListView;->GROUP_EXPANDED_STATE_SET:[I
-Landroid/widget/ExpandableListView;->handleItemClick(Landroid/view/View;IJ)Z
-Landroid/widget/ExpandableListView;->hasRtlSupport()Z
-Landroid/widget/ExpandableListView;->INDICATOR_UNDEFINED:I
-Landroid/widget/ExpandableListView;->isHeaderOrFooterPosition(I)Z
-Landroid/widget/ExpandableListView;->isRtlCompatibilityMode()Z
-Landroid/widget/ExpandableListView;->mAdapter:Landroid/widget/ExpandableListAdapter;
-Landroid/widget/ExpandableListView;->mChildIndicator:Landroid/graphics/drawable/Drawable;
-Landroid/widget/ExpandableListView;->mChildIndicatorEnd:I
-Landroid/widget/ExpandableListView;->mChildIndicatorLeft:I
-Landroid/widget/ExpandableListView;->mChildIndicatorRight:I
-Landroid/widget/ExpandableListView;->mChildIndicatorStart:I
-Landroid/widget/ExpandableListView;->mIndicatorEnd:I
-Landroid/widget/ExpandableListView;->mIndicatorRect:Landroid/graphics/Rect;
-Landroid/widget/ExpandableListView;->mIndicatorStart:I
-Landroid/widget/ExpandableListView;->PACKED_POSITION_INT_MASK_CHILD:J
-Landroid/widget/ExpandableListView;->PACKED_POSITION_INT_MASK_GROUP:J
-Landroid/widget/ExpandableListView;->PACKED_POSITION_MASK_CHILD:J
-Landroid/widget/ExpandableListView;->PACKED_POSITION_MASK_GROUP:J
-Landroid/widget/ExpandableListView;->PACKED_POSITION_MASK_TYPE:J
-Landroid/widget/ExpandableListView;->PACKED_POSITION_SHIFT_GROUP:J
-Landroid/widget/ExpandableListView;->PACKED_POSITION_SHIFT_TYPE:J
-Landroid/widget/ExpandableListView;->resolveChildIndicator()V
-Landroid/widget/ExpandableListView;->resolveIndicator()V
-Landroid/widget/FastScroller;
-Landroid/widget/FastScroller;->animateAlpha(Landroid/view/View;F)Landroid/animation/Animator;
-Landroid/widget/FastScroller;->animateBounds(Landroid/view/View;Landroid/graphics/Rect;)Landroid/animation/Animator;
-Landroid/widget/FastScroller;->animateScaleX(Landroid/view/View;F)Landroid/animation/Animator;
-Landroid/widget/FastScroller;->applyLayout(Landroid/view/View;Landroid/graphics/Rect;)V
-Landroid/widget/FastScroller;->beginDrag()V
-Landroid/widget/FastScroller;->BOTTOM:Landroid/util/Property;
-Landroid/widget/FastScroller;->cancelFling()V
-Landroid/widget/FastScroller;->cancelPendingDrag()V
-Landroid/widget/FastScroller;->createPreviewTextView(Landroid/content/Context;)Landroid/widget/TextView;
-Landroid/widget/FastScroller;->DURATION_CROSS_FADE:I
-Landroid/widget/FastScroller;->DURATION_FADE_IN:I
-Landroid/widget/FastScroller;->DURATION_FADE_OUT:I
-Landroid/widget/FastScroller;->DURATION_RESIZE:I
-Landroid/widget/FastScroller;->FADE_TIMEOUT:J
-Landroid/widget/FastScroller;->getPosFromItemCount(III)F
-Landroid/widget/FastScroller;->getPosFromMotionEvent(F)F
-Landroid/widget/FastScroller;->getSectionsFromIndexer()V
-Landroid/widget/FastScroller;->getWidth()I
-Landroid/widget/FastScroller;->groupAnimatorOfFloat(Landroid/util/Property;F[[Landroid/view/View;)Landroid/animation/Animator;
-Landroid/widget/FastScroller;->isAlwaysShowEnabled()Z
-Landroid/widget/FastScroller;->isEnabled()Z
-Landroid/widget/FastScroller;->isPointInside(FF)Z
-Landroid/widget/FastScroller;->isPointInsideX(F)Z
-Landroid/widget/FastScroller;->isPointInsideY(F)Z
-Landroid/widget/FastScroller;->layoutThumb()V
-Landroid/widget/FastScroller;->layoutTrack()V
-Landroid/widget/FastScroller;->LEFT:Landroid/util/Property;
-Landroid/widget/FastScroller;->mAlwaysShow:Z
-Landroid/widget/FastScroller;->mCurrentSection:I
-Landroid/widget/FastScroller;->mDecorAnimation:Landroid/animation/AnimatorSet;
-Landroid/widget/FastScroller;->mDeferHide:Ljava/lang/Runnable;
-Landroid/widget/FastScroller;->measureFloating(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-Landroid/widget/FastScroller;->measurePreview(Landroid/view/View;Landroid/graphics/Rect;)V
-Landroid/widget/FastScroller;->measureViewToSide(Landroid/view/View;Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-Landroid/widget/FastScroller;->mEnabled:Z
-Landroid/widget/FastScroller;->mFirstVisibleItem:I
-Landroid/widget/FastScroller;->mInitialTouchY:F
-Landroid/widget/FastScroller;->MIN_PAGES:I
-Landroid/widget/FastScroller;->mLayoutFromRight:Z
-Landroid/widget/FastScroller;->mList:Landroid/widget/AbsListView;
-Landroid/widget/FastScroller;->mListAdapter:Landroid/widget/Adapter;
-Landroid/widget/FastScroller;->mMatchDragPosition:Z
-Landroid/widget/FastScroller;->mOldChildCount:I
-Landroid/widget/FastScroller;->mOldItemCount:I
-Landroid/widget/FastScroller;->mOverlay:Landroid/view/ViewGroupOverlay;
-Landroid/widget/FastScroller;->mOverlayPosition:I
-Landroid/widget/FastScroller;->mPendingDrag:J
-Landroid/widget/FastScroller;->mPreviewAnimation:Landroid/animation/AnimatorSet;
-Landroid/widget/FastScroller;->mPreviewImage:Landroid/view/View;
-Landroid/widget/FastScroller;->mPreviewMinHeight:I
-Landroid/widget/FastScroller;->mPreviewMinWidth:I
-Landroid/widget/FastScroller;->mPreviewPadding:I
-Landroid/widget/FastScroller;->mPreviewResId:[I
-Landroid/widget/FastScroller;->mPrimaryText:Landroid/widget/TextView;
-Landroid/widget/FastScroller;->mScaledTouchSlop:I
-Landroid/widget/FastScroller;->mScrollbarPosition:I
-Landroid/widget/FastScroller;->mScrollBarStyle:I
-Landroid/widget/FastScroller;->mScrollCompleted:Z
-Landroid/widget/FastScroller;->mSecondaryText:Landroid/widget/TextView;
-Landroid/widget/FastScroller;->mSectionIndexer:Landroid/widget/SectionIndexer;
-Landroid/widget/FastScroller;->mSections:[Ljava/lang/Object;
-Landroid/widget/FastScroller;->mShowingPreview:Z
-Landroid/widget/FastScroller;->mShowingPrimary:Z
-Landroid/widget/FastScroller;->mState:I
-Landroid/widget/FastScroller;->mSwitchPrimaryListener:Landroid/animation/Animator$AnimatorListener;
-Landroid/widget/FastScroller;->mTempBounds:Landroid/graphics/Rect;
-Landroid/widget/FastScroller;->mTempMargins:Landroid/graphics/Rect;
-Landroid/widget/FastScroller;->mTextAppearance:I
-Landroid/widget/FastScroller;->mTextColor:Landroid/content/res/ColorStateList;
-Landroid/widget/FastScroller;->mTextSize:F
-Landroid/widget/FastScroller;->mThumbMinHeight:I
-Landroid/widget/FastScroller;->mThumbMinWidth:I
-Landroid/widget/FastScroller;->mThumbOffset:F
-Landroid/widget/FastScroller;->mThumbPosition:I
-Landroid/widget/FastScroller;->mThumbRange:F
-Landroid/widget/FastScroller;->mUpdatingLayout:Z
-Landroid/widget/FastScroller;->mWidth:I
-Landroid/widget/FastScroller;->onInterceptHoverEvent(Landroid/view/MotionEvent;)Z
-Landroid/widget/FastScroller;->onItemCountChanged(II)V
-Landroid/widget/FastScroller;->onResolvePointerIcon(Landroid/view/MotionEvent;I)Landroid/view/PointerIcon;
-Landroid/widget/FastScroller;->onScroll(III)V
-Landroid/widget/FastScroller;->onSectionsChanged()V
-Landroid/widget/FastScroller;->onStateDependencyChanged(Z)V
-Landroid/widget/FastScroller;->OVERLAY_ABOVE_THUMB:I
-Landroid/widget/FastScroller;->OVERLAY_AT_THUMB:I
-Landroid/widget/FastScroller;->OVERLAY_FLOATING:I
-Landroid/widget/FastScroller;->postAutoHide()V
-Landroid/widget/FastScroller;->PREVIEW_LEFT:I
-Landroid/widget/FastScroller;->PREVIEW_RIGHT:I
-Landroid/widget/FastScroller;->refreshDrawablePressedState()V
-Landroid/widget/FastScroller;->RIGHT:Landroid/util/Property;
-Landroid/widget/FastScroller;->scrollTo(F)V
-Landroid/widget/FastScroller;->setAlwaysShow(Z)V
-Landroid/widget/FastScroller;->setEnabled(Z)V
-Landroid/widget/FastScroller;->setScrollbarPosition(I)V
-Landroid/widget/FastScroller;->setScrollBarStyle(I)V
-Landroid/widget/FastScroller;->setStyle(I)V
-Landroid/widget/FastScroller;->setThumbPos(F)V
-Landroid/widget/FastScroller;->startPendingDrag()V
-Landroid/widget/FastScroller;->STATE_DRAGGING:I
-Landroid/widget/FastScroller;->STATE_NONE:I
-Landroid/widget/FastScroller;->STATE_VISIBLE:I
-Landroid/widget/FastScroller;->stop()V
-Landroid/widget/FastScroller;->TAP_TIMEOUT:J
-Landroid/widget/FastScroller;->THUMB_POSITION_INSIDE:I
-Landroid/widget/FastScroller;->THUMB_POSITION_MIDPOINT:I
-Landroid/widget/FastScroller;->TOP:Landroid/util/Property;
-Landroid/widget/FastScroller;->transitionPreviewLayout(I)Z
-Landroid/widget/FastScroller;->transitionToDragging()V
-Landroid/widget/FastScroller;->transitionToHidden()V
-Landroid/widget/FastScroller;->transitionToVisible()V
-Landroid/widget/FastScroller;->updateAppearance()V
-Landroid/widget/FastScroller;->updateContainerRect()V
-Landroid/widget/FastScroller;->updateLayout()V
-Landroid/widget/FastScroller;->updateLongList(II)V
-Landroid/widget/FastScroller;->updateOffsetAndRange()V
-Landroid/widget/Filter$Delayer;
-Landroid/widget/Filter$Delayer;->getPostingDelay(Ljava/lang/CharSequence;)J
-Landroid/widget/Filter$RequestArguments;
-Landroid/widget/Filter$RequestArguments;-><init>()V
-Landroid/widget/Filter$RequestArguments;->constraint:Ljava/lang/CharSequence;
-Landroid/widget/Filter$RequestArguments;->listener:Landroid/widget/Filter$FilterListener;
-Landroid/widget/Filter$RequestArguments;->results:Landroid/widget/Filter$FilterResults;
-Landroid/widget/Filter$RequestHandler;
-Landroid/widget/Filter$RequestHandler;-><init>(Landroid/os/Looper;)V
-Landroid/widget/Filter$ResultsHandler;
-Landroid/widget/Filter$ResultsHandler;-><init>()V
-Landroid/widget/Filter;->FILTER_TOKEN:I
-Landroid/widget/Filter;->FINISH_TOKEN:I
-Landroid/widget/Filter;->LOG_TAG:Ljava/lang/String;
-Landroid/widget/Filter;->mDelayer:Landroid/widget/Filter$Delayer;
-Landroid/widget/Filter;->mLock:Ljava/lang/Object;
-Landroid/widget/Filter;->mResultHandler:Landroid/os/Handler;
-Landroid/widget/Filter;->mThreadHandler:Landroid/os/Handler;
-Landroid/widget/Filter;->THREAD_NAME:Ljava/lang/String;
-Landroid/widget/ForwardingListener$DisallowIntercept;
-Landroid/widget/ForwardingListener$DisallowIntercept;-><init>()V
-Landroid/widget/ForwardingListener$TriggerLongPress;
-Landroid/widget/ForwardingListener$TriggerLongPress;-><init>()V
-Landroid/widget/ForwardingListener;
-Landroid/widget/ForwardingListener;-><init>(Landroid/view/View;)V
-Landroid/widget/ForwardingListener;->clearCallbacks()V
-Landroid/widget/ForwardingListener;->getPopup()Lcom/android/internal/view/menu/ShowableListMenu;
-Landroid/widget/ForwardingListener;->mActivePointerId:I
-Landroid/widget/ForwardingListener;->mDisallowIntercept:Ljava/lang/Runnable;
-Landroid/widget/ForwardingListener;->mForwarding:Z
-Landroid/widget/ForwardingListener;->mLongPressTimeout:I
-Landroid/widget/ForwardingListener;->mScaledTouchSlop:F
-Landroid/widget/ForwardingListener;->mSrc:Landroid/view/View;
-Landroid/widget/ForwardingListener;->mTapTimeout:I
-Landroid/widget/ForwardingListener;->mTriggerLongPress:Ljava/lang/Runnable;
-Landroid/widget/ForwardingListener;->onForwardingStarted()Z
-Landroid/widget/ForwardingListener;->onForwardingStopped()Z
-Landroid/widget/ForwardingListener;->onLongPress()V
-Landroid/widget/ForwardingListener;->onTouchForwarded(Landroid/view/MotionEvent;)Z
-Landroid/widget/ForwardingListener;->onTouchObserved(Landroid/view/MotionEvent;)Z
-Landroid/widget/FrameLayout;->DEFAULT_CHILD_GRAVITY:I
-Landroid/widget/FrameLayout;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/widget/FrameLayout;->getPaddingBottomWithForeground()I
-Landroid/widget/FrameLayout;->getPaddingLeftWithForeground()I
-Landroid/widget/FrameLayout;->getPaddingRightWithForeground()I
-Landroid/widget/FrameLayout;->getPaddingTopWithForeground()I
-Landroid/widget/FrameLayout;->layoutChildren(IIIIZ)V
-Landroid/widget/FrameLayout;->mMatchParentChildren:Ljava/util/ArrayList;
-Landroid/widget/Gallery$FlingRunnable;
-Landroid/widget/Gallery$FlingRunnable;-><init>()V
-Landroid/widget/Gallery$FlingRunnable;->endFling(Z)V
-Landroid/widget/Gallery$FlingRunnable;->mLastFlingX:I
-Landroid/widget/Gallery$FlingRunnable;->mScroller:Landroid/widget/Scroller;
-Landroid/widget/Gallery$FlingRunnable;->startCommon()V
-Landroid/widget/Gallery$FlingRunnable;->startUsingDistance(I)V
-Landroid/widget/Gallery$FlingRunnable;->stop(Z)V
-Landroid/widget/Gallery;->calculateTop(Landroid/view/View;Z)I
-Landroid/widget/Gallery;->detachOffScreenChildren(Z)V
-Landroid/widget/Gallery;->dispatchLongPress(Landroid/view/View;IJFFZ)Z
-Landroid/widget/Gallery;->dispatchPress(Landroid/view/View;)V
-Landroid/widget/Gallery;->dispatchUnpress()V
-Landroid/widget/Gallery;->fillToGalleryLeftLtr()V
-Landroid/widget/Gallery;->fillToGalleryLeftRtl()V
-Landroid/widget/Gallery;->fillToGalleryRightLtr()V
-Landroid/widget/Gallery;->fillToGalleryRightRtl()V
-Landroid/widget/Gallery;->getChildHeight(Landroid/view/View;)I
-Landroid/widget/Gallery;->getLimitedMotionScrollAmount(ZI)I
-Landroid/widget/Gallery;->layout(IZ)V
-Landroid/widget/Gallery;->localLOGV:Z
-Landroid/widget/Gallery;->mAnimationDuration:I
-Landroid/widget/Gallery;->mContextMenuInfo:Landroid/widget/AdapterView$AdapterContextMenuInfo;
-Landroid/widget/Gallery;->mDisableSuppressSelectionChangedRunnable:Ljava/lang/Runnable;
-Landroid/widget/Gallery;->mGravity:I
-Landroid/widget/Gallery;->mIsFirstScroll:Z
-Landroid/widget/Gallery;->mIsRtl:Z
-Landroid/widget/Gallery;->mLeftMost:I
-Landroid/widget/Gallery;->mReceivedInvokeKeyDown:Z
-Landroid/widget/Gallery;->mRightMost:I
-Landroid/widget/Gallery;->mSelectedCenterOffset:I
-Landroid/widget/Gallery;->mShouldCallbackDuringFling:Z
-Landroid/widget/Gallery;->mShouldCallbackOnUnselectedItemClick:Z
-Landroid/widget/Gallery;->mShouldStopFling:Z
-Landroid/widget/Gallery;->mSuppressSelectionChanged:Z
-Landroid/widget/Gallery;->mUnselectedAlpha:F
-Landroid/widget/Gallery;->offsetChildrenLeftAndRight(I)V
-Landroid/widget/Gallery;->onCancel()V
-Landroid/widget/Gallery;->onFinishedMovement()V
-Landroid/widget/Gallery;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/Gallery;->onUp()V
-Landroid/widget/Gallery;->performAccessibilityActionInternal(ILandroid/os/Bundle;)Z
-Landroid/widget/Gallery;->scrollIntoSlots()V
-Landroid/widget/Gallery;->scrollToChild(I)Z
-Landroid/widget/Gallery;->SCROLL_TO_FLING_UNCERTAINTY_TIMEOUT:I
-Landroid/widget/Gallery;->selectionChanged()V
-Landroid/widget/Gallery;->setCallbackOnUnselectedItemClick(Z)V
-Landroid/widget/Gallery;->setSelectedPositionInt(I)V
-Landroid/widget/Gallery;->setSelectionToCenterChild()V
-Landroid/widget/Gallery;->setUpChild(Landroid/view/View;IIZ)V
-Landroid/widget/Gallery;->showContextMenuForChildInternal(Landroid/view/View;FFZ)Z
-Landroid/widget/Gallery;->showContextMenuInternal(FFZ)Z
-Landroid/widget/Gallery;->TAG:Ljava/lang/String;
-Landroid/widget/Gallery;->updateSelectedItemMetadata()V
-Landroid/widget/GridLayout$Alignment;-><init>()V
-Landroid/widget/GridLayout$Alignment;->getAlignmentValue(Landroid/view/View;II)I
-Landroid/widget/GridLayout$Alignment;->getBounds()Landroid/widget/GridLayout$Bounds;
-Landroid/widget/GridLayout$Alignment;->getGravityOffset(Landroid/view/View;I)I
-Landroid/widget/GridLayout$Alignment;->getSizeInCell(Landroid/view/View;II)I
-Landroid/widget/GridLayout$AlignmentMode;
-Landroid/widget/GridLayout$Arc;
-Landroid/widget/GridLayout$Arc;-><init>(Landroid/widget/GridLayout$Interval;Landroid/widget/GridLayout$MutableInt;)V
-Landroid/widget/GridLayout$Arc;->span:Landroid/widget/GridLayout$Interval;
-Landroid/widget/GridLayout$Arc;->valid:Z
-Landroid/widget/GridLayout$Arc;->value:Landroid/widget/GridLayout$MutableInt;
-Landroid/widget/GridLayout$Assoc;
-Landroid/widget/GridLayout$Assoc;-><init>(Ljava/lang/Class;Ljava/lang/Class;)V
-Landroid/widget/GridLayout$Assoc;->keyType:Ljava/lang/Class;
-Landroid/widget/GridLayout$Assoc;->of(Ljava/lang/Class;Ljava/lang/Class;)Landroid/widget/GridLayout$Assoc;
-Landroid/widget/GridLayout$Assoc;->pack()Landroid/widget/GridLayout$PackedMap;
-Landroid/widget/GridLayout$Assoc;->put(Ljava/lang/Object;Ljava/lang/Object;)V
-Landroid/widget/GridLayout$Assoc;->valueType:Ljava/lang/Class;
-Landroid/widget/GridLayout$Axis;
-Landroid/widget/GridLayout$Axis;-><init>(Z)V
-Landroid/widget/GridLayout$Axis;->addComponentSizes(Ljava/util/List;Landroid/widget/GridLayout$PackedMap;)V
-Landroid/widget/GridLayout$Axis;->arcs:[Landroid/widget/GridLayout$Arc;
-Landroid/widget/GridLayout$Axis;->arcsToString(Ljava/util/List;)Ljava/lang/String;
-Landroid/widget/GridLayout$Axis;->arcsValid:Z
-Landroid/widget/GridLayout$Axis;->backwardLinks:Landroid/widget/GridLayout$PackedMap;
-Landroid/widget/GridLayout$Axis;->backwardLinksValid:Z
-Landroid/widget/GridLayout$Axis;->calculateMaxIndex()I
-Landroid/widget/GridLayout$Axis;->calculateTotalWeight()F
-Landroid/widget/GridLayout$Axis;->COMPLETE:I
-Landroid/widget/GridLayout$Axis;->computeArcs()V
-Landroid/widget/GridLayout$Axis;->computeGroupBounds()V
-Landroid/widget/GridLayout$Axis;->computeHasWeights()Z
-Landroid/widget/GridLayout$Axis;->computeLinks(Landroid/widget/GridLayout$PackedMap;Z)V
-Landroid/widget/GridLayout$Axis;->computeLocations([I)V
-Landroid/widget/GridLayout$Axis;->computeMargins(Z)V
-Landroid/widget/GridLayout$Axis;->createArcs()[Landroid/widget/GridLayout$Arc;
-Landroid/widget/GridLayout$Axis;->createGroupBounds()Landroid/widget/GridLayout$PackedMap;
-Landroid/widget/GridLayout$Axis;->createLinks(Z)Landroid/widget/GridLayout$PackedMap;
-Landroid/widget/GridLayout$Axis;->definedCount:I
-Landroid/widget/GridLayout$Axis;->deltas:[I
-Landroid/widget/GridLayout$Axis;->forwardLinks:Landroid/widget/GridLayout$PackedMap;
-Landroid/widget/GridLayout$Axis;->forwardLinksValid:Z
-Landroid/widget/GridLayout$Axis;->getArcs()[Landroid/widget/GridLayout$Arc;
-Landroid/widget/GridLayout$Axis;->getBackwardLinks()Landroid/widget/GridLayout$PackedMap;
-Landroid/widget/GridLayout$Axis;->getCount()I
-Landroid/widget/GridLayout$Axis;->getDeltas()[I
-Landroid/widget/GridLayout$Axis;->getForwardLinks()Landroid/widget/GridLayout$PackedMap;
-Landroid/widget/GridLayout$Axis;->getGroupBounds()Landroid/widget/GridLayout$PackedMap;
-Landroid/widget/GridLayout$Axis;->getLeadingMargins()[I
-Landroid/widget/GridLayout$Axis;->getLocations()[I
-Landroid/widget/GridLayout$Axis;->getMaxIndex()I
-Landroid/widget/GridLayout$Axis;->getMeasure(I)I
-Landroid/widget/GridLayout$Axis;->getMeasure(II)I
-Landroid/widget/GridLayout$Axis;->getTrailingMargins()[I
-Landroid/widget/GridLayout$Axis;->groupArcsByFirstVertex([Landroid/widget/GridLayout$Arc;)[[Landroid/widget/GridLayout$Arc;
-Landroid/widget/GridLayout$Axis;->groupBounds:Landroid/widget/GridLayout$PackedMap;
-Landroid/widget/GridLayout$Axis;->groupBoundsValid:Z
-Landroid/widget/GridLayout$Axis;->hasWeights()Z
-Landroid/widget/GridLayout$Axis;->hasWeights:Z
-Landroid/widget/GridLayout$Axis;->hasWeightsValid:Z
-Landroid/widget/GridLayout$Axis;->horizontal:Z
-Landroid/widget/GridLayout$Axis;->include(Ljava/util/List;Landroid/widget/GridLayout$Interval;Landroid/widget/GridLayout$MutableInt;)V
-Landroid/widget/GridLayout$Axis;->include(Ljava/util/List;Landroid/widget/GridLayout$Interval;Landroid/widget/GridLayout$MutableInt;Z)V
-Landroid/widget/GridLayout$Axis;->init([I)V
-Landroid/widget/GridLayout$Axis;->invalidateStructure()V
-Landroid/widget/GridLayout$Axis;->invalidateValues()V
-Landroid/widget/GridLayout$Axis;->isOrderPreserved()Z
-Landroid/widget/GridLayout$Axis;->layout(I)V
-Landroid/widget/GridLayout$Axis;->leadingMargins:[I
-Landroid/widget/GridLayout$Axis;->leadingMarginsValid:Z
-Landroid/widget/GridLayout$Axis;->locations:[I
-Landroid/widget/GridLayout$Axis;->locationsValid:Z
-Landroid/widget/GridLayout$Axis;->logError(Ljava/lang/String;[Landroid/widget/GridLayout$Arc;[Z)V
-Landroid/widget/GridLayout$Axis;->maxIndex:I
-Landroid/widget/GridLayout$Axis;->NEW:I
-Landroid/widget/GridLayout$Axis;->orderPreserved:Z
-Landroid/widget/GridLayout$Axis;->parentMax:Landroid/widget/GridLayout$MutableInt;
-Landroid/widget/GridLayout$Axis;->parentMin:Landroid/widget/GridLayout$MutableInt;
-Landroid/widget/GridLayout$Axis;->PENDING:I
-Landroid/widget/GridLayout$Axis;->relax([ILandroid/widget/GridLayout$Arc;)Z
-Landroid/widget/GridLayout$Axis;->setCount(I)V
-Landroid/widget/GridLayout$Axis;->setOrderPreserved(Z)V
-Landroid/widget/GridLayout$Axis;->setParentConstraints(II)V
-Landroid/widget/GridLayout$Axis;->shareOutDelta(IF)V
-Landroid/widget/GridLayout$Axis;->size([I)I
-Landroid/widget/GridLayout$Axis;->solve([I)Z
-Landroid/widget/GridLayout$Axis;->solve([Landroid/widget/GridLayout$Arc;[I)Z
-Landroid/widget/GridLayout$Axis;->solve([Landroid/widget/GridLayout$Arc;[IZ)Z
-Landroid/widget/GridLayout$Axis;->solveAndDistributeSpace([I)V
-Landroid/widget/GridLayout$Axis;->topologicalSort(Ljava/util/List;)[Landroid/widget/GridLayout$Arc;
-Landroid/widget/GridLayout$Axis;->topologicalSort([Landroid/widget/GridLayout$Arc;)[Landroid/widget/GridLayout$Arc;
-Landroid/widget/GridLayout$Axis;->trailingMargins:[I
-Landroid/widget/GridLayout$Axis;->trailingMarginsValid:Z
-Landroid/widget/GridLayout$Bounds;
-Landroid/widget/GridLayout$Bounds;-><init>()V
-Landroid/widget/GridLayout$Bounds;->after:I
-Landroid/widget/GridLayout$Bounds;->before:I
-Landroid/widget/GridLayout$Bounds;->flexibility:I
-Landroid/widget/GridLayout$Bounds;->getOffset(Landroid/widget/GridLayout;Landroid/view/View;Landroid/widget/GridLayout$Alignment;IZ)I
-Landroid/widget/GridLayout$Bounds;->include(II)V
-Landroid/widget/GridLayout$Bounds;->include(Landroid/widget/GridLayout;Landroid/view/View;Landroid/widget/GridLayout$Spec;Landroid/widget/GridLayout$Axis;I)V
-Landroid/widget/GridLayout$Bounds;->reset()V
-Landroid/widget/GridLayout$Bounds;->size(Z)I
-Landroid/widget/GridLayout$Interval;
-Landroid/widget/GridLayout$Interval;-><init>(II)V
-Landroid/widget/GridLayout$Interval;->inverse()Landroid/widget/GridLayout$Interval;
-Landroid/widget/GridLayout$Interval;->max:I
-Landroid/widget/GridLayout$Interval;->min:I
-Landroid/widget/GridLayout$Interval;->size()I
-Landroid/widget/GridLayout$LayoutParams;-><init>(IIIIIILandroid/widget/GridLayout$Spec;Landroid/widget/GridLayout$Spec;)V
-Landroid/widget/GridLayout$LayoutParams;->BOTTOM_MARGIN:I
-Landroid/widget/GridLayout$LayoutParams;->COLUMN:I
-Landroid/widget/GridLayout$LayoutParams;->COLUMN_SPAN:I
-Landroid/widget/GridLayout$LayoutParams;->COLUMN_WEIGHT:I
-Landroid/widget/GridLayout$LayoutParams;->DEFAULT_COLUMN:I
-Landroid/widget/GridLayout$LayoutParams;->DEFAULT_HEIGHT:I
-Landroid/widget/GridLayout$LayoutParams;->DEFAULT_MARGIN:I
-Landroid/widget/GridLayout$LayoutParams;->DEFAULT_ROW:I
-Landroid/widget/GridLayout$LayoutParams;->DEFAULT_SPAN:Landroid/widget/GridLayout$Interval;
-Landroid/widget/GridLayout$LayoutParams;->DEFAULT_SPAN_SIZE:I
-Landroid/widget/GridLayout$LayoutParams;->DEFAULT_WIDTH:I
-Landroid/widget/GridLayout$LayoutParams;->GRAVITY:I
-Landroid/widget/GridLayout$LayoutParams;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/widget/GridLayout$LayoutParams;->LEFT_MARGIN:I
-Landroid/widget/GridLayout$LayoutParams;->MARGIN:I
-Landroid/widget/GridLayout$LayoutParams;->reInitSuper(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/widget/GridLayout$LayoutParams;->RIGHT_MARGIN:I
-Landroid/widget/GridLayout$LayoutParams;->ROW:I
-Landroid/widget/GridLayout$LayoutParams;->ROW_SPAN:I
-Landroid/widget/GridLayout$LayoutParams;->ROW_WEIGHT:I
-Landroid/widget/GridLayout$LayoutParams;->setColumnSpecSpan(Landroid/widget/GridLayout$Interval;)V
-Landroid/widget/GridLayout$LayoutParams;->setRowSpecSpan(Landroid/widget/GridLayout$Interval;)V
-Landroid/widget/GridLayout$LayoutParams;->TOP_MARGIN:I
-Landroid/widget/GridLayout$MutableInt;
-Landroid/widget/GridLayout$MutableInt;-><init>()V
-Landroid/widget/GridLayout$MutableInt;-><init>(I)V
-Landroid/widget/GridLayout$MutableInt;->reset()V
-Landroid/widget/GridLayout$MutableInt;->value:I
-Landroid/widget/GridLayout$Orientation;
-Landroid/widget/GridLayout$PackedMap;
-Landroid/widget/GridLayout$PackedMap;-><init>([Ljava/lang/Object;[Ljava/lang/Object;)V
-Landroid/widget/GridLayout$PackedMap;->compact([Ljava/lang/Object;[I)[Ljava/lang/Object;
-Landroid/widget/GridLayout$PackedMap;->createIndex([Ljava/lang/Object;)[I
-Landroid/widget/GridLayout$PackedMap;->getValue(I)Ljava/lang/Object;
-Landroid/widget/GridLayout$PackedMap;->index:[I
-Landroid/widget/GridLayout$PackedMap;->keys:[Ljava/lang/Object;
-Landroid/widget/GridLayout$PackedMap;->values:[Ljava/lang/Object;
-Landroid/widget/GridLayout$Spec;-><init>(ZIILandroid/widget/GridLayout$Alignment;F)V
-Landroid/widget/GridLayout$Spec;-><init>(ZLandroid/widget/GridLayout$Interval;Landroid/widget/GridLayout$Alignment;F)V
-Landroid/widget/GridLayout$Spec;->alignment:Landroid/widget/GridLayout$Alignment;
-Landroid/widget/GridLayout$Spec;->copyWriteAlignment(Landroid/widget/GridLayout$Alignment;)Landroid/widget/GridLayout$Spec;
-Landroid/widget/GridLayout$Spec;->copyWriteSpan(Landroid/widget/GridLayout$Interval;)Landroid/widget/GridLayout$Spec;
-Landroid/widget/GridLayout$Spec;->DEFAULT_WEIGHT:F
-Landroid/widget/GridLayout$Spec;->getAbsoluteAlignment(Z)Landroid/widget/GridLayout$Alignment;
-Landroid/widget/GridLayout$Spec;->getFlexibility()I
-Landroid/widget/GridLayout$Spec;->span:Landroid/widget/GridLayout$Interval;
-Landroid/widget/GridLayout$Spec;->startDefined:Z
-Landroid/widget/GridLayout$Spec;->UNDEFINED:Landroid/widget/GridLayout$Spec;
-Landroid/widget/GridLayout$Spec;->weight:F
-Landroid/widget/GridLayout;->adjust(II)I
-Landroid/widget/GridLayout;->ALIGNMENT_MODE:I
-Landroid/widget/GridLayout;->append([Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
-Landroid/widget/GridLayout;->canStretch(I)Z
-Landroid/widget/GridLayout;->CAN_STRETCH:I
-Landroid/widget/GridLayout;->checkLayoutParams(Landroid/widget/GridLayout$LayoutParams;Z)V
-Landroid/widget/GridLayout;->clip(Landroid/widget/GridLayout$Interval;ZI)I
-Landroid/widget/GridLayout;->COLUMN_COUNT:I
-Landroid/widget/GridLayout;->COLUMN_ORDER_PRESERVED:I
-Landroid/widget/GridLayout;->computeLayoutParamsHashCode()I
-Landroid/widget/GridLayout;->consistencyCheck()V
-Landroid/widget/GridLayout;->createSwitchingAlignment(Landroid/widget/GridLayout$Alignment;Landroid/widget/GridLayout$Alignment;)Landroid/widget/GridLayout$Alignment;
-Landroid/widget/GridLayout;->DEFAULT_ALIGNMENT_MODE:I
-Landroid/widget/GridLayout;->DEFAULT_CONTAINER_MARGIN:I
-Landroid/widget/GridLayout;->DEFAULT_COUNT:I
-Landroid/widget/GridLayout;->DEFAULT_ORDER_PRESERVED:Z
-Landroid/widget/GridLayout;->DEFAULT_ORIENTATION:I
-Landroid/widget/GridLayout;->DEFAULT_USE_DEFAULT_MARGINS:Z
-Landroid/widget/GridLayout;->drawLine(Landroid/graphics/Canvas;IIIILandroid/graphics/Paint;)V
-Landroid/widget/GridLayout;->fits([IIII)Z
-Landroid/widget/GridLayout;->getAlignment(IZ)Landroid/widget/GridLayout$Alignment;
-Landroid/widget/GridLayout;->getDefaultMargin(Landroid/view/View;Landroid/widget/GridLayout$LayoutParams;ZZ)I
-Landroid/widget/GridLayout;->getDefaultMargin(Landroid/view/View;ZZ)I
-Landroid/widget/GridLayout;->getDefaultMargin(Landroid/view/View;ZZZ)I
-Landroid/widget/GridLayout;->getLayoutParams(Landroid/view/View;)Landroid/widget/GridLayout$LayoutParams;
-Landroid/widget/GridLayout;->getMargin(Landroid/view/View;ZZ)I
-Landroid/widget/GridLayout;->getMargin1(Landroid/view/View;ZZ)I
-Landroid/widget/GridLayout;->getMeasurement(Landroid/view/View;Z)I
-Landroid/widget/GridLayout;->getMeasurementIncludingMargin(Landroid/view/View;Z)I
-Landroid/widget/GridLayout;->getPrinter()Landroid/util/Printer;
-Landroid/widget/GridLayout;->getTotalMargin(Landroid/view/View;Z)I
-Landroid/widget/GridLayout;->handleInvalidParams(Ljava/lang/String;)V
-Landroid/widget/GridLayout;->INFLEXIBLE:I
-Landroid/widget/GridLayout;->invalidateStructure()V
-Landroid/widget/GridLayout;->invalidateValues()V
-Landroid/widget/GridLayout;->LEADING:Landroid/widget/GridLayout$Alignment;
-Landroid/widget/GridLayout;->LOG_PRINTER:Landroid/util/Printer;
-Landroid/widget/GridLayout;->mAlignmentMode:I
-Landroid/widget/GridLayout;->max2([II)I
-Landroid/widget/GridLayout;->MAX_SIZE:I
-Landroid/widget/GridLayout;->mDefaultGap:I
-Landroid/widget/GridLayout;->measureChildrenWithMargins(IIZ)V
-Landroid/widget/GridLayout;->measureChildWithMargins2(Landroid/view/View;IIII)V
-Landroid/widget/GridLayout;->mHorizontalAxis:Landroid/widget/GridLayout$Axis;
-Landroid/widget/GridLayout;->mLastLayoutParamsHashCode:I
-Landroid/widget/GridLayout;->mOrientation:I
-Landroid/widget/GridLayout;->mPrinter:Landroid/util/Printer;
-Landroid/widget/GridLayout;->mUseDefaultMargins:Z
-Landroid/widget/GridLayout;->mVerticalAxis:Landroid/widget/GridLayout$Axis;
-Landroid/widget/GridLayout;->NO_PRINTER:Landroid/util/Printer;
-Landroid/widget/GridLayout;->onChildVisibilityChanged(Landroid/view/View;II)V
-Landroid/widget/GridLayout;->onDebugDraw(Landroid/graphics/Canvas;)V
-Landroid/widget/GridLayout;->onDebugDrawMargins(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
-Landroid/widget/GridLayout;->onSetLayoutParams(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
-Landroid/widget/GridLayout;->ORIENTATION:I
-Landroid/widget/GridLayout;->procrusteanFill([IIII)V
-Landroid/widget/GridLayout;->ROW_COUNT:I
-Landroid/widget/GridLayout;->ROW_ORDER_PRESERVED:I
-Landroid/widget/GridLayout;->setCellGroup(Landroid/widget/GridLayout$LayoutParams;IIII)V
-Landroid/widget/GridLayout;->setPrinter(Landroid/util/Printer;)V
-Landroid/widget/GridLayout;->TRAILING:Landroid/widget/GridLayout$Alignment;
-Landroid/widget/GridLayout;->UNINITIALIZED_HASH:I
-Landroid/widget/GridLayout;->USE_DEFAULT_MARGINS:I
-Landroid/widget/GridLayout;->validateLayoutParams()V
-Landroid/widget/GridView$StretchMode;
-Landroid/widget/GridView;->adjustForBottomFadingEdge(Landroid/view/View;II)V
-Landroid/widget/GridView;->adjustForTopFadingEdge(Landroid/view/View;II)V
-Landroid/widget/GridView;->adjustViewsUpOrDown()V
-Landroid/widget/GridView;->arrowScroll(I)Z
-Landroid/widget/GridView;->commonKey(IILandroid/view/KeyEvent;)Z
-Landroid/widget/GridView;->correctTooHigh(III)V
-Landroid/widget/GridView;->correctTooLow(III)V
-Landroid/widget/GridView;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/widget/GridView;->fillFromBottom(II)Landroid/view/View;
-Landroid/widget/GridView;->fillFromSelection(III)Landroid/view/View;
-Landroid/widget/GridView;->fillFromTop(I)Landroid/view/View;
-Landroid/widget/GridView;->fillGap(Z)V
-Landroid/widget/GridView;->fillSelection(II)Landroid/view/View;
-Landroid/widget/GridView;->fillSpecific(II)Landroid/view/View;
-Landroid/widget/GridView;->findMotionRow(I)I
-Landroid/widget/GridView;->fullScroll(I)Z
-Landroid/widget/GridView;->getBottomSelectionPixel(IIII)I
-Landroid/widget/GridView;->getTopSelectionPixel(III)I
-Landroid/widget/GridView;->isCandidateSelection(II)Z
-Landroid/widget/GridView;->lookForSelectablePosition(IZ)I
-Landroid/widget/GridView;->makeAndAddView(IIZIZI)Landroid/view/View;
-Landroid/widget/GridView;->makeRow(IIZ)Landroid/view/View;
-Landroid/widget/GridView;->mGravity:I
-Landroid/widget/GridView;->moveSelection(III)Landroid/view/View;
-Landroid/widget/GridView;->mReferenceView:Landroid/view/View;
-Landroid/widget/GridView;->mReferenceViewInSelectedRow:Landroid/view/View;
-Landroid/widget/GridView;->mStretchMode:I
-Landroid/widget/GridView;->mTempRect:Landroid/graphics/Rect;
-Landroid/widget/GridView;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/GridView;->pageScroll(I)Z
-Landroid/widget/GridView;->performAccessibilityActionInternal(ILandroid/os/Bundle;)Z
-Landroid/widget/GridView;->pinToBottom(I)V
-Landroid/widget/GridView;->pinToTop(I)V
-Landroid/widget/GridView;->setSelectionInt(I)V
-Landroid/widget/GridView;->setupChild(Landroid/view/View;IIZIZZI)V
-Landroid/widget/HeaderViewListAdapter;->areAllListInfosSelectable(Ljava/util/ArrayList;)Z
-Landroid/widget/HeaderViewListAdapter;->EMPTY_INFO_LIST:Ljava/util/ArrayList;
-Landroid/widget/HeaderViewListAdapter;->mAreAllFixedViewsSelectable:Z
-Landroid/widget/HeaderViewListAdapter;->mIsFilterable:Z
-Landroid/widget/HorizontalScrollView$SavedState;
-Landroid/widget/HorizontalScrollView$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/HorizontalScrollView$SavedState;-><init>(Landroid/os/Parcelable;)V
-Landroid/widget/HorizontalScrollView$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/widget/HorizontalScrollView$SavedState;->scrollOffsetFromStart:I
-Landroid/widget/HorizontalScrollView;->ANIMATED_SCROLL_GAP:I
-Landroid/widget/HorizontalScrollView;->canScroll()Z
-Landroid/widget/HorizontalScrollView;->clamp(III)I
-Landroid/widget/HorizontalScrollView;->doScrollX(I)V
-Landroid/widget/HorizontalScrollView;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/widget/HorizontalScrollView;->findFocusableViewInBounds(ZII)Landroid/view/View;
-Landroid/widget/HorizontalScrollView;->findFocusableViewInMyBounds(ZILandroid/view/View;)Landroid/view/View;
-Landroid/widget/HorizontalScrollView;->getScrollRange()I
-Landroid/widget/HorizontalScrollView;->inChild(II)Z
-Landroid/widget/HorizontalScrollView;->initOrResetVelocityTracker()V
-Landroid/widget/HorizontalScrollView;->initScrollView()V
-Landroid/widget/HorizontalScrollView;->initVelocityTrackerIfNotExists()V
-Landroid/widget/HorizontalScrollView;->INVALID_POINTER:I
-Landroid/widget/HorizontalScrollView;->isOffScreen(Landroid/view/View;)Z
-Landroid/widget/HorizontalScrollView;->isViewDescendantOf(Landroid/view/View;Landroid/view/View;)Z
-Landroid/widget/HorizontalScrollView;->isWithinDeltaOfScreen(Landroid/view/View;I)Z
-Landroid/widget/HorizontalScrollView;->mActivePointerId:I
-Landroid/widget/HorizontalScrollView;->MAX_SCROLL_FACTOR:F
-Landroid/widget/HorizontalScrollView;->mFillViewport:Z
-Landroid/widget/HorizontalScrollView;->mHorizontalScrollFactor:F
-Landroid/widget/HorizontalScrollView;->mIsLayoutDirty:Z
-Landroid/widget/HorizontalScrollView;->mLastScroll:J
-Landroid/widget/HorizontalScrollView;->mMaximumVelocity:I
-Landroid/widget/HorizontalScrollView;->mMinimumVelocity:I
-Landroid/widget/HorizontalScrollView;->mSavedState:Landroid/widget/HorizontalScrollView$SavedState;
-Landroid/widget/HorizontalScrollView;->mSmoothScrollingEnabled:Z
-Landroid/widget/HorizontalScrollView;->mTempRect:Landroid/graphics/Rect;
-Landroid/widget/HorizontalScrollView;->mTouchSlop:I
-Landroid/widget/HorizontalScrollView;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/widget/HorizontalScrollView;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/HorizontalScrollView;->onSecondaryPointerUp(Landroid/view/MotionEvent;)V
-Landroid/widget/HorizontalScrollView;->performAccessibilityActionInternal(ILandroid/os/Bundle;)Z
-Landroid/widget/HorizontalScrollView;->scrollAndFocus(III)Z
-Landroid/widget/HorizontalScrollView;->scrollToChild(Landroid/view/View;)V
-Landroid/widget/HorizontalScrollView;->scrollToChildRect(Landroid/graphics/Rect;Z)Z
-Landroid/widget/HorizontalScrollView;->TAG:Ljava/lang/String;
-Landroid/widget/ImageView$ImageDrawableCallback;
-Landroid/widget/ImageView$ImageDrawableCallback;-><init>(Landroid/graphics/drawable/Drawable;Landroid/net/Uri;I)V
-Landroid/widget/ImageView$ImageDrawableCallback;->drawable:Landroid/graphics/drawable/Drawable;
-Landroid/widget/ImageView$ImageDrawableCallback;->resource:I
-Landroid/widget/ImageView$ImageDrawableCallback;->uri:Landroid/net/Uri;
-Landroid/widget/ImageView$ScaleType;-><init>(I)V
-Landroid/widget/ImageView$ScaleType;->nativeInt:I
-Landroid/widget/ImageView;->applyColorMod()V
-Landroid/widget/ImageView;->applyImageTint()V
-Landroid/widget/ImageView;->configureBounds()V
-Landroid/widget/ImageView;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/widget/ImageView;->getDrawableFromUri(Landroid/net/Uri;)Landroid/graphics/drawable/Drawable;
-Landroid/widget/ImageView;->initImageView()V
-Landroid/widget/ImageView;->isFilledByImage()Z
-Landroid/widget/ImageView;->LOG_TAG:Ljava/lang/String;
-Landroid/widget/ImageView;->mBaseline:I
-Landroid/widget/ImageView;->mBaselineAlignBottom:Z
-Landroid/widget/ImageView;->mColorFilter:Landroid/graphics/ColorFilter;
-Landroid/widget/ImageView;->mColorMod:Z
-Landroid/widget/ImageView;->mDrawableTintList:Landroid/content/res/ColorStateList;
-Landroid/widget/ImageView;->mDrawableTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/widget/ImageView;->mHasColorFilter:Z
-Landroid/widget/ImageView;->mHasDrawableTint:Z
-Landroid/widget/ImageView;->mHasDrawableTintMode:Z
-Landroid/widget/ImageView;->mHaveFrame:Z
-Landroid/widget/ImageView;->mLevel:I
-Landroid/widget/ImageView;->mMatrix:Landroid/graphics/Matrix;
-Landroid/widget/ImageView;->mMergeState:Z
-Landroid/widget/ImageView;->mScaleType:Landroid/widget/ImageView$ScaleType;
-Landroid/widget/ImageView;->mState:[I
-Landroid/widget/ImageView;->mTempDst:Landroid/graphics/RectF;
-Landroid/widget/ImageView;->mTempSrc:Landroid/graphics/RectF;
-Landroid/widget/ImageView;->mViewAlphaScale:I
-Landroid/widget/ImageView;->mXfermode:Landroid/graphics/Xfermode;
-Landroid/widget/ImageView;->onPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/widget/ImageView;->resolveAdjustedSize(III)I
-Landroid/widget/ImageView;->sCompatAdjustViewBounds:Z
-Landroid/widget/ImageView;->sCompatDone:Z
-Landroid/widget/ImageView;->sCompatDrawableVisibilityDispatch:Z
-Landroid/widget/ImageView;->sCompatUseCorrectStreamDensity:Z
-Landroid/widget/ImageView;->setImageIconAsync(Landroid/graphics/drawable/Icon;)Ljava/lang/Runnable;
-Landroid/widget/ImageView;->setXfermode(Landroid/graphics/Xfermode;)V
-Landroid/widget/ImageView;->sS2FArray:[Landroid/graphics/Matrix$ScaleToFit;
-Landroid/widget/ImageView;->sScaleTypeArray:[Landroid/widget/ImageView$ScaleType;
-Landroid/widget/LinearLayout$DividerMode;
-Landroid/widget/LinearLayout$OrientationMode;
-Landroid/widget/LinearLayout;->allViewsAreGoneBefore(I)Z
-Landroid/widget/LinearLayout;->drawDividersHorizontal(Landroid/graphics/Canvas;)V
-Landroid/widget/LinearLayout;->drawDividersVertical(Landroid/graphics/Canvas;)V
-Landroid/widget/LinearLayout;->drawHorizontalDivider(Landroid/graphics/Canvas;I)V
-Landroid/widget/LinearLayout;->drawVerticalDivider(Landroid/graphics/Canvas;I)V
-Landroid/widget/LinearLayout;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/widget/LinearLayout;->forceUniformHeight(II)V
-Landroid/widget/LinearLayout;->forceUniformWidth(II)V
-Landroid/widget/LinearLayout;->getChildrenSkipCount(Landroid/view/View;I)I
-Landroid/widget/LinearLayout;->getDividerWidth()I
-Landroid/widget/LinearLayout;->getLastNonGoneChild()Landroid/view/View;
-Landroid/widget/LinearLayout;->getLocationOffset(Landroid/view/View;)I
-Landroid/widget/LinearLayout;->getNextLocationOffset(Landroid/view/View;)I
-Landroid/widget/LinearLayout;->getVirtualChildAt(I)Landroid/view/View;
-Landroid/widget/LinearLayout;->getVirtualChildCount()I
-Landroid/widget/LinearLayout;->hasDividerBeforeChildAt(I)Z
-Landroid/widget/LinearLayout;->INDEX_CENTER_VERTICAL:I
-Landroid/widget/LinearLayout;->INDEX_FILL:I
-Landroid/widget/LinearLayout;->isShowingDividers()Z
-Landroid/widget/LinearLayout;->layoutHorizontal(IIII)V
-Landroid/widget/LinearLayout;->layoutVertical(IIII)V
-Landroid/widget/LinearLayout;->mAllowInconsistentMeasurement:Z
-Landroid/widget/LinearLayout;->mBaselineAligned:Z
-Landroid/widget/LinearLayout;->mBaselineAlignedChildIndex:I
-Landroid/widget/LinearLayout;->mBaselineChildTop:I
-Landroid/widget/LinearLayout;->mDividerHeight:I
-Landroid/widget/LinearLayout;->mDividerPadding:I
-Landroid/widget/LinearLayout;->mDividerWidth:I
-Landroid/widget/LinearLayout;->measureChildBeforeLayout(Landroid/view/View;IIIII)V
-Landroid/widget/LinearLayout;->measureHorizontal(II)V
-Landroid/widget/LinearLayout;->measureNullChild(I)I
-Landroid/widget/LinearLayout;->measureVertical(II)V
-Landroid/widget/LinearLayout;->mLayoutDirection:I
-Landroid/widget/LinearLayout;->mOrientation:I
-Landroid/widget/LinearLayout;->mShowDividers:I
-Landroid/widget/LinearLayout;->mWeightSum:F
-Landroid/widget/LinearLayout;->sCompatibilityDone:Z
-Landroid/widget/LinearLayout;->setChildFrame(Landroid/view/View;IIII)V
-Landroid/widget/LinearLayout;->sRemeasureWeightedChildren:Z
-Landroid/widget/LinearLayout;->VERTICAL_GRAVITY_COUNT:I
-Landroid/widget/ListPopupWindow$ListSelectorHider;
-Landroid/widget/ListPopupWindow$ListSelectorHider;-><init>()V
-Landroid/widget/ListPopupWindow$PopupDataSetObserver;
-Landroid/widget/ListPopupWindow$PopupDataSetObserver;-><init>()V
-Landroid/widget/ListPopupWindow$PopupScrollListener;
-Landroid/widget/ListPopupWindow$PopupScrollListener;-><init>()V
-Landroid/widget/ListPopupWindow$PopupTouchInterceptor;
-Landroid/widget/ListPopupWindow$PopupTouchInterceptor;-><init>()V
-Landroid/widget/ListPopupWindow$ResizePopupRunnable;
-Landroid/widget/ListPopupWindow$ResizePopupRunnable;-><init>()V
-Landroid/widget/ListPopupWindow;->createDropDownListView(Landroid/content/Context;Z)Landroid/widget/DropDownListView;
-Landroid/widget/ListPopupWindow;->DEBUG:Z
-Landroid/widget/ListPopupWindow;->EXPAND_LIST_TIMEOUT:I
-Landroid/widget/ListPopupWindow;->mAdapter:Landroid/widget/ListAdapter;
-Landroid/widget/ListPopupWindow;->mContext:Landroid/content/Context;
-Landroid/widget/ListPopupWindow;->mDropDownAlwaysVisible:Z
-Landroid/widget/ListPopupWindow;->mDropDownAnchorView:Landroid/view/View;
-Landroid/widget/ListPopupWindow;->mDropDownGravity:I
-Landroid/widget/ListPopupWindow;->mDropDownHeight:I
-Landroid/widget/ListPopupWindow;->mDropDownHorizontalOffset:I
-Landroid/widget/ListPopupWindow;->mDropDownListHighlight:Landroid/graphics/drawable/Drawable;
-Landroid/widget/ListPopupWindow;->mDropDownVerticalOffset:I
-Landroid/widget/ListPopupWindow;->mDropDownVerticalOffsetSet:Z
-Landroid/widget/ListPopupWindow;->mDropDownWidth:I
-Landroid/widget/ListPopupWindow;->mDropDownWindowLayoutType:I
-Landroid/widget/ListPopupWindow;->mEpicenterBounds:Landroid/graphics/Rect;
-Landroid/widget/ListPopupWindow;->mForceIgnoreOutsideTouch:Z
-Landroid/widget/ListPopupWindow;->mHandler:Landroid/os/Handler;
-Landroid/widget/ListPopupWindow;->mHideSelector:Landroid/widget/ListPopupWindow$ListSelectorHider;
-Landroid/widget/ListPopupWindow;->mIsAnimatedFromAnchor:Z
-Landroid/widget/ListPopupWindow;->mItemClickListener:Landroid/widget/AdapterView$OnItemClickListener;
-Landroid/widget/ListPopupWindow;->mItemSelectedListener:Landroid/widget/AdapterView$OnItemSelectedListener;
-Landroid/widget/ListPopupWindow;->mListItemExpandMaximum:I
-Landroid/widget/ListPopupWindow;->mModal:Z
-Landroid/widget/ListPopupWindow;->mObserver:Landroid/database/DataSetObserver;
-Landroid/widget/ListPopupWindow;->mOverlapAnchor:Z
-Landroid/widget/ListPopupWindow;->mOverlapAnchorSet:Z
-Landroid/widget/ListPopupWindow;->mPromptPosition:I
-Landroid/widget/ListPopupWindow;->mPromptView:Landroid/view/View;
-Landroid/widget/ListPopupWindow;->mResizePopupRunnable:Landroid/widget/ListPopupWindow$ResizePopupRunnable;
-Landroid/widget/ListPopupWindow;->mScrollListener:Landroid/widget/ListPopupWindow$PopupScrollListener;
-Landroid/widget/ListPopupWindow;->mShowDropDownRunnable:Ljava/lang/Runnable;
-Landroid/widget/ListPopupWindow;->mTempRect:Landroid/graphics/Rect;
-Landroid/widget/ListPopupWindow;->mTouchInterceptor:Landroid/widget/ListPopupWindow$PopupTouchInterceptor;
-Landroid/widget/ListPopupWindow;->removePromptView()V
-Landroid/widget/ListPopupWindow;->setEpicenterBounds(Landroid/graphics/Rect;)V
-Landroid/widget/ListPopupWindow;->setOverlapAnchor(Z)V
-Landroid/widget/ListPopupWindow;->TAG:Ljava/lang/String;
-Landroid/widget/ListView$ArrowScrollFocusResult;
-Landroid/widget/ListView$ArrowScrollFocusResult;-><init>()V
-Landroid/widget/ListView$ArrowScrollFocusResult;->getAmountToScroll()I
-Landroid/widget/ListView$ArrowScrollFocusResult;->getSelectedPosition()I
-Landroid/widget/ListView$ArrowScrollFocusResult;->mAmountToScroll:I
-Landroid/widget/ListView$ArrowScrollFocusResult;->mSelectedPosition:I
-Landroid/widget/ListView$ArrowScrollFocusResult;->populate(II)V
-Landroid/widget/ListView$FocusSelector;
-Landroid/widget/ListView$FocusSelector;-><init>()V
-Landroid/widget/ListView$FocusSelector;->mAction:I
-Landroid/widget/ListView$FocusSelector;->mPosition:I
-Landroid/widget/ListView$FocusSelector;->mPositionTop:I
-Landroid/widget/ListView$FocusSelector;->onLayoutComplete()V
-Landroid/widget/ListView$FocusSelector;->setupFocusIfValid(I)Ljava/lang/Runnable;
-Landroid/widget/ListView$FocusSelector;->setupForSetSelection(II)Landroid/widget/ListView$FocusSelector;
-Landroid/widget/ListView$FocusSelector;->STATE_REQUEST_FOCUS:I
-Landroid/widget/ListView$FocusSelector;->STATE_SET_SELECTION:I
-Landroid/widget/ListView$FocusSelector;->STATE_WAIT_FOR_LAYOUT:I
-Landroid/widget/ListView;->addViewAbove(Landroid/view/View;I)Landroid/view/View;
-Landroid/widget/ListView;->addViewBelow(Landroid/view/View;I)Landroid/view/View;
-Landroid/widget/ListView;->adjustViewsUpOrDown()V
-Landroid/widget/ListView;->amountToScroll(II)I
-Landroid/widget/ListView;->amountToScrollToNewFocus(ILandroid/view/View;I)I
-Landroid/widget/ListView;->arrowScrollFocused(I)Landroid/widget/ListView$ArrowScrollFocusResult;
-Landroid/widget/ListView;->arrowScrollImpl(I)Z
-Landroid/widget/ListView;->clearRecycledState(Ljava/util/ArrayList;)V
-Landroid/widget/ListView;->commonKey(IILandroid/view/KeyEvent;)Z
-Landroid/widget/ListView;->dispatchDataSetObserverOnChangedInternal()V
-Landroid/widget/ListView;->distanceToView(Landroid/view/View;)I
-Landroid/widget/ListView;->drawDivider(Landroid/graphics/Canvas;Landroid/graphics/Rect;I)V
-Landroid/widget/ListView;->drawOverscrollFooter(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;Landroid/graphics/Rect;)V
-Landroid/widget/ListView;->drawOverscrollHeader(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;Landroid/graphics/Rect;)V
-Landroid/widget/ListView;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/widget/ListView;->fillAboveAndBelow(Landroid/view/View;I)V
-Landroid/widget/ListView;->fillFromMiddle(II)Landroid/view/View;
-Landroid/widget/ListView;->fillFromSelection(III)Landroid/view/View;
-Landroid/widget/ListView;->fillFromTop(I)Landroid/view/View;
-Landroid/widget/ListView;->fillGap(Z)V
-Landroid/widget/ListView;->findMotionRow(I)I
-Landroid/widget/ListView;->findViewByPredicateInHeadersOrFooters(Ljava/util/ArrayList;Ljava/util/function/Predicate;Landroid/view/View;)Landroid/view/View;
-Landroid/widget/ListView;->findViewByPredicateTraversal(Ljava/util/function/Predicate;Landroid/view/View;)Landroid/view/View;
-Landroid/widget/ListView;->findViewInHeadersOrFooters(Ljava/util/ArrayList;I)Landroid/view/View;
-Landroid/widget/ListView;->findViewWithTagInHeadersOrFooters(Ljava/util/ArrayList;Ljava/lang/Object;)Landroid/view/View;
-Landroid/widget/ListView;->fullScroll(I)Z
-Landroid/widget/ListView;->getArrowScrollPreviewLength()I
-Landroid/widget/ListView;->getBottomSelectionPixel(III)I
-Landroid/widget/ListView;->getTopSelectionPixel(III)I
-Landroid/widget/ListView;->handleHorizontalFocusWithinListItem(I)Z
-Landroid/widget/ListView;->handleNewSelectionChange(Landroid/view/View;IIZ)V
-Landroid/widget/ListView;->isViewAncestorOf(Landroid/view/View;Landroid/view/View;)Z
-Landroid/widget/ListView;->lookForSelectablePositionAfter(IIZ)I
-Landroid/widget/ListView;->lookForSelectablePositionOnScreen(I)I
-Landroid/widget/ListView;->mArrowScrollFocusResult:Landroid/widget/ListView$ArrowScrollFocusResult;
-Landroid/widget/ListView;->MAX_SCROLL_FACTOR:F
-Landroid/widget/ListView;->mDividerIsOpaque:Z
-Landroid/widget/ListView;->mDividerPaint:Landroid/graphics/Paint;
-Landroid/widget/ListView;->measureAndAdjustDown(Landroid/view/View;II)V
-Landroid/widget/ListView;->measureItem(Landroid/view/View;)V
-Landroid/widget/ListView;->measureScrapChild(Landroid/view/View;III)V
-Landroid/widget/ListView;->mFocusSelector:Landroid/widget/ListView$FocusSelector;
-Landroid/widget/ListView;->mFooterDividersEnabled:Z
-Landroid/widget/ListView;->mHeaderDividersEnabled:Z
-Landroid/widget/ListView;->MIN_SCROLL_PREVIEW_PIXELS:I
-Landroid/widget/ListView;->mIsCacheColorOpaque:Z
-Landroid/widget/ListView;->mItemsCanFocus:Z
-Landroid/widget/ListView;->mOverScrollFooter:Landroid/graphics/drawable/Drawable;
-Landroid/widget/ListView;->mOverScrollHeader:Landroid/graphics/drawable/Drawable;
-Landroid/widget/ListView;->moveSelection(Landroid/view/View;Landroid/view/View;III)Landroid/view/View;
-Landroid/widget/ListView;->mTempRect:Landroid/graphics/Rect;
-Landroid/widget/ListView;->nextSelectedPositionForDirection(Landroid/view/View;II)I
-Landroid/widget/ListView;->NO_POSITION:I
-Landroid/widget/ListView;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/ListView;->pageScroll(I)Z
-Landroid/widget/ListView;->performAccessibilityActionInternal(ILandroid/os/Bundle;)Z
-Landroid/widget/ListView;->positionOfNewFocus(Landroid/view/View;)I
-Landroid/widget/ListView;->recycleOnMeasure()Z
-Landroid/widget/ListView;->relayoutMeasuredItem(Landroid/view/View;)V
-Landroid/widget/ListView;->removeFixedViewInfo(Landroid/view/View;Ljava/util/ArrayList;)V
-Landroid/widget/ListView;->removeUnusedFixedViews(Ljava/util/List;)V
-Landroid/widget/ListView;->resetList()V
-Landroid/widget/ListView;->setupChild(Landroid/view/View;IIZIZZ)V
-Landroid/widget/ListView;->shouldAdjustHeightForDivider(I)Z
-Landroid/widget/ListView;->showingBottomFadingEdge()Z
-Landroid/widget/ListView;->showingTopFadingEdge()Z
-Landroid/widget/ListView;->TAG:Ljava/lang/String;
-Landroid/widget/ListView;->wrapHeaderListAdapterInternal()V
-Landroid/widget/ListView;->wrapHeaderListAdapterInternal(Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/widget/ListAdapter;)Landroid/widget/HeaderViewListAdapter;
-Landroid/widget/Magnifier$InternalPopupWindow;
-Landroid/widget/Magnifier$InternalPopupWindow;-><init>(Landroid/content/Context;Landroid/view/Display;Landroid/view/Surface;IIFFLandroid/os/Handler;Ljava/lang/Object;Landroid/widget/Magnifier$Callback;)V
-Landroid/widget/Magnifier$InternalPopupWindow;->CONTENT_BITMAP_ALPHA:I
-Landroid/widget/Magnifier$InternalPopupWindow;->createRenderNodeForBitmap(Ljava/lang/String;FF)Landroid/view/RenderNode;
-Landroid/widget/Magnifier$InternalPopupWindow;->destroy()V
-Landroid/widget/Magnifier$InternalPopupWindow;->doDraw()V
-Landroid/widget/Magnifier$InternalPopupWindow;->mBitmap:Landroid/graphics/Bitmap;
-Landroid/widget/Magnifier$InternalPopupWindow;->mBitmapRenderNode:Landroid/view/RenderNode;
-Landroid/widget/Magnifier$InternalPopupWindow;->mCallback:Landroid/widget/Magnifier$Callback;
-Landroid/widget/Magnifier$InternalPopupWindow;->mContentHeight:I
-Landroid/widget/Magnifier$InternalPopupWindow;->mContentWidth:I
-Landroid/widget/Magnifier$InternalPopupWindow;->mDestroyLock:Ljava/lang/Object;
-Landroid/widget/Magnifier$InternalPopupWindow;->mDisplay:Landroid/view/Display;
-Landroid/widget/Magnifier$InternalPopupWindow;->mFirstDraw:Z
-Landroid/widget/Magnifier$InternalPopupWindow;->mFrameDrawScheduled:Z
-Landroid/widget/Magnifier$InternalPopupWindow;->mHandler:Landroid/os/Handler;
-Landroid/widget/Magnifier$InternalPopupWindow;->mLastDrawContentPositionX:I
-Landroid/widget/Magnifier$InternalPopupWindow;->mLastDrawContentPositionY:I
-Landroid/widget/Magnifier$InternalPopupWindow;->mLock:Ljava/lang/Object;
-Landroid/widget/Magnifier$InternalPopupWindow;->mMagnifierUpdater:Ljava/lang/Runnable;
-Landroid/widget/Magnifier$InternalPopupWindow;->mOffsetX:I
-Landroid/widget/Magnifier$InternalPopupWindow;->mOffsetY:I
-Landroid/widget/Magnifier$InternalPopupWindow;->mPendingWindowPositionUpdate:Z
-Landroid/widget/Magnifier$InternalPopupWindow;->mRenderer:Landroid/view/ThreadedRenderer$SimpleRenderer;
-Landroid/widget/Magnifier$InternalPopupWindow;->mSurface:Landroid/view/Surface;
-Landroid/widget/Magnifier$InternalPopupWindow;->mSurfaceControl:Landroid/view/SurfaceControl;
-Landroid/widget/Magnifier$InternalPopupWindow;->mSurfaceHeight:I
-Landroid/widget/Magnifier$InternalPopupWindow;->mSurfaceSession:Landroid/view/SurfaceSession;
-Landroid/widget/Magnifier$InternalPopupWindow;->mSurfaceWidth:I
-Landroid/widget/Magnifier$InternalPopupWindow;->mWindowPositionX:I
-Landroid/widget/Magnifier$InternalPopupWindow;->mWindowPositionY:I
-Landroid/widget/Magnifier$InternalPopupWindow;->requestUpdate()V
-Landroid/widget/Magnifier$InternalPopupWindow;->setContentPositionForNextDraw(II)V
-Landroid/widget/Magnifier$InternalPopupWindow;->SURFACE_Z:I
-Landroid/widget/Magnifier$InternalPopupWindow;->updateContent(Landroid/graphics/Bitmap;)V
-Landroid/widget/Magnifier$SurfaceInfo;
-Landroid/widget/Magnifier$SurfaceInfo;-><init>(Landroid/view/Surface;IIZ)V
-Landroid/widget/Magnifier$SurfaceInfo;->mHeight:I
-Landroid/widget/Magnifier$SurfaceInfo;->mIsMainWindowSurface:Z
-Landroid/widget/Magnifier$SurfaceInfo;->mSurface:Landroid/view/Surface;
-Landroid/widget/Magnifier$SurfaceInfo;->mWidth:I
-Landroid/widget/Magnifier$SurfaceInfo;->NULL:Landroid/widget/Magnifier$SurfaceInfo;
-Landroid/widget/Magnifier;->getDeviceDefaultDialogCornerRadius()F
-Landroid/widget/Magnifier;->getWindowCoords()Landroid/graphics/Point;
-Landroid/widget/Magnifier;->mBitmapHeight:I
-Landroid/widget/Magnifier;->mBitmapWidth:I
-Landroid/widget/Magnifier;->mCallback:Landroid/widget/Magnifier$Callback;
-Landroid/widget/Magnifier;->mCenterZoomCoords:Landroid/graphics/Point;
-Landroid/widget/Magnifier;->mClampedCenterZoomCoords:Landroid/graphics/Point;
-Landroid/widget/Magnifier;->mContentCopySurface:Landroid/widget/Magnifier$SurfaceInfo;
-Landroid/widget/Magnifier;->mLock:Ljava/lang/Object;
-Landroid/widget/Magnifier;->mParentSurface:Landroid/widget/Magnifier$SurfaceInfo;
-Landroid/widget/Magnifier;->mPixelCopyRequestRect:Landroid/graphics/Rect;
-Landroid/widget/Magnifier;->mPrevPosInView:Landroid/graphics/PointF;
-Landroid/widget/Magnifier;->mPrevStartCoordsInSurface:Landroid/graphics/Point;
-Landroid/widget/Magnifier;->mView:Landroid/view/View;
-Landroid/widget/Magnifier;->mViewCoordinatesInSurface:[I
-Landroid/widget/Magnifier;->mWindow:Landroid/widget/Magnifier$InternalPopupWindow;
-Landroid/widget/Magnifier;->mWindowCoords:Landroid/graphics/Point;
-Landroid/widget/Magnifier;->mWindowCornerRadius:F
-Landroid/widget/Magnifier;->mWindowElevation:F
-Landroid/widget/Magnifier;->mWindowHeight:I
-Landroid/widget/Magnifier;->mWindowWidth:I
-Landroid/widget/Magnifier;->mZoom:F
-Landroid/widget/Magnifier;->NONEXISTENT_PREVIOUS_CONFIG_VALUE:I
-Landroid/widget/Magnifier;->obtainContentCoordinates(FF)V
-Landroid/widget/Magnifier;->obtainSurfaces()V
-Landroid/widget/Magnifier;->obtainWindowCoordinates()V
-Landroid/widget/Magnifier;->performPixelCopy(IIZ)V
-Landroid/widget/Magnifier;->sPixelCopyHandlerThread:Landroid/os/HandlerThread;
-Landroid/widget/MediaController;->disableUnsupportedButtons()V
-Landroid/widget/MediaController;->doPauseResume()V
-Landroid/widget/MediaController;->initControllerView(Landroid/view/View;)V
-Landroid/widget/MediaController;->initFloatingWindow()V
-Landroid/widget/MediaController;->initFloatingWindowLayout()V
-Landroid/widget/MediaController;->installPrevNextListeners()V
-Landroid/widget/MediaController;->mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
-Landroid/widget/MediaController;->makeControllerView()Landroid/view/View;
-Landroid/widget/MediaController;->mDragging:Z
-Landroid/widget/MediaController;->mFadeOut:Ljava/lang/Runnable;
-Landroid/widget/MediaController;->mFormatBuilder:Ljava/lang/StringBuilder;
-Landroid/widget/MediaController;->mFormatter:Ljava/util/Formatter;
-Landroid/widget/MediaController;->mFromXml:Z
-Landroid/widget/MediaController;->mLayoutChangeListener:Landroid/view/View$OnLayoutChangeListener;
-Landroid/widget/MediaController;->mListenersSet:Z
-Landroid/widget/MediaController;->mNextListener:Landroid/view/View$OnClickListener;
-Landroid/widget/MediaController;->mPauseDescription:Ljava/lang/CharSequence;
-Landroid/widget/MediaController;->mPauseListener:Landroid/view/View$OnClickListener;
-Landroid/widget/MediaController;->mPlayDescription:Ljava/lang/CharSequence;
-Landroid/widget/MediaController;->mPrevListener:Landroid/view/View$OnClickListener;
-Landroid/widget/MediaController;->mShowProgress:Ljava/lang/Runnable;
-Landroid/widget/MediaController;->mTouchListener:Landroid/view/View$OnTouchListener;
-Landroid/widget/MediaController;->mUseFastForward:Z
-Landroid/widget/MediaController;->sDefaultTimeout:I
-Landroid/widget/MediaController;->setProgress()I
-Landroid/widget/MediaController;->stringForTime(I)Ljava/lang/String;
-Landroid/widget/MediaController;->updateFloatingWindowLayout()V
-Landroid/widget/MediaControlView2$Button;
-Landroid/widget/MediaControlView2$OnFullScreenListener;
-Landroid/widget/MediaControlView2$OnFullScreenListener;->onFullScreen(Landroid/view/View;Z)V
-Landroid/widget/MediaControlView2;
-Landroid/widget/MediaControlView2;-><init>(Landroid/content/Context;)V
-Landroid/widget/MediaControlView2;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/widget/MediaControlView2;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/widget/MediaControlView2;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/widget/MediaControlView2;->BUTTON_ASPECT_RATIO:I
-Landroid/widget/MediaControlView2;->BUTTON_FFWD:I
-Landroid/widget/MediaControlView2;->BUTTON_FULL_SCREEN:I
-Landroid/widget/MediaControlView2;->BUTTON_MUTE:I
-Landroid/widget/MediaControlView2;->BUTTON_NEXT:I
-Landroid/widget/MediaControlView2;->BUTTON_OVERFLOW:I
-Landroid/widget/MediaControlView2;->BUTTON_PLAY_PAUSE:I
-Landroid/widget/MediaControlView2;->BUTTON_PREV:I
-Landroid/widget/MediaControlView2;->BUTTON_REW:I
-Landroid/widget/MediaControlView2;->BUTTON_SETTINGS:I
-Landroid/widget/MediaControlView2;->BUTTON_SUBTITLE:I
-Landroid/widget/MediaControlView2;->requestPlayButtonFocus()V
-Landroid/widget/MediaControlView2;->setButtonVisibility(II)V
-Landroid/widget/MediaControlView2;->setController(Landroid/media/session/MediaController;)V
-Landroid/widget/MediaControlView2;->setMediaSessionToken(Landroid/media/SessionToken2;)V
-Landroid/widget/MediaControlView2;->setOnFullScreenListener(Landroid/widget/MediaControlView2$OnFullScreenListener;)V
-Landroid/widget/MenuItemHoverListener;
-Landroid/widget/MenuItemHoverListener;->onItemHoverEnter(Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/MenuItem;)V
-Landroid/widget/MenuItemHoverListener;->onItemHoverExit(Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/MenuItem;)V
-Landroid/widget/MenuPopupWindow$MenuDropDownListView;
-Landroid/widget/MenuPopupWindow$MenuDropDownListView;-><init>(Landroid/content/Context;Z)V
-Landroid/widget/MenuPopupWindow$MenuDropDownListView;->clearSelection()V
-Landroid/widget/MenuPopupWindow$MenuDropDownListView;->mAdvanceKey:I
-Landroid/widget/MenuPopupWindow$MenuDropDownListView;->mHoveredMenuItem:Landroid/view/MenuItem;
-Landroid/widget/MenuPopupWindow$MenuDropDownListView;->mHoverListener:Landroid/widget/MenuItemHoverListener;
-Landroid/widget/MenuPopupWindow$MenuDropDownListView;->mRetreatKey:I
-Landroid/widget/MenuPopupWindow$MenuDropDownListView;->setHoverListener(Landroid/widget/MenuItemHoverListener;)V
-Landroid/widget/MenuPopupWindow;
-Landroid/widget/MenuPopupWindow;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/widget/MenuPopupWindow;->createDropDownListView(Landroid/content/Context;Z)Landroid/widget/DropDownListView;
-Landroid/widget/MenuPopupWindow;->mHoverListener:Landroid/widget/MenuItemHoverListener;
-Landroid/widget/MenuPopupWindow;->onItemHoverEnter(Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/MenuItem;)V
-Landroid/widget/MenuPopupWindow;->onItemHoverExit(Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/MenuItem;)V
-Landroid/widget/MenuPopupWindow;->setEnterTransition(Landroid/transition/Transition;)V
-Landroid/widget/MenuPopupWindow;->setExitTransition(Landroid/transition/Transition;)V
-Landroid/widget/MenuPopupWindow;->setHoverListener(Landroid/widget/MenuItemHoverListener;)V
-Landroid/widget/MenuPopupWindow;->setTouchModal(Z)V
-Landroid/widget/MultiAutoCompleteTextView;->finishInit()V
-Landroid/widget/MultiAutoCompleteTextView;->mTokenizer:Landroid/widget/MultiAutoCompleteTextView$Tokenizer;
-Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;
-Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;-><init>()V
-Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;->createAccessibilityNodeInfoForNumberPicker(IIII)Landroid/view/accessibility/AccessibilityNodeInfo;
-Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;->createAccessibilityNodeInfoForVirtualButton(ILjava/lang/String;IIII)Landroid/view/accessibility/AccessibilityNodeInfo;
-Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;->createAccessibiltyNodeInfoForInputText(IIII)Landroid/view/accessibility/AccessibilityNodeInfo;
-Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;->findAccessibilityNodeInfosByTextInChild(Ljava/lang/String;ILjava/util/List;)V
-Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;->getVirtualDecrementButtonText()Ljava/lang/String;
-Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;->getVirtualIncrementButtonText()Ljava/lang/String;
-Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;->hasVirtualDecrementButton()Z
-Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;->hasVirtualIncrementButton()Z
-Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;->mAccessibilityFocusedView:I
-Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;->mTempArray:[I
-Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;->mTempRect:Landroid/graphics/Rect;
-Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;->sendAccessibilityEventForVirtualButton(IILjava/lang/String;)V
-Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;->sendAccessibilityEventForVirtualText(I)V
-Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;->sendAccessibilityEventForVirtualView(II)V
-Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;->UNDEFINED:I
-Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;->VIRTUAL_VIEW_ID_DECREMENT:I
-Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;->VIRTUAL_VIEW_ID_INCREMENT:I
-Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;->VIRTUAL_VIEW_ID_INPUT:I
-Landroid/widget/NumberPicker$BeginSoftInputOnLongPressCommand;
-Landroid/widget/NumberPicker$BeginSoftInputOnLongPressCommand;-><init>()V
-Landroid/widget/NumberPicker$ChangeCurrentByOneFromLongPressCommand;
-Landroid/widget/NumberPicker$ChangeCurrentByOneFromLongPressCommand;-><init>()V
-Landroid/widget/NumberPicker$ChangeCurrentByOneFromLongPressCommand;->mIncrement:Z
-Landroid/widget/NumberPicker$ChangeCurrentByOneFromLongPressCommand;->setStep(Z)V
-Landroid/widget/NumberPicker$CustomEditText;
-Landroid/widget/NumberPicker$CustomEditText;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/widget/NumberPicker$InputTextFilter;
-Landroid/widget/NumberPicker$InputTextFilter;-><init>()V
-Landroid/widget/NumberPicker$OnScrollListener$ScrollState;
-Landroid/widget/NumberPicker$PressedStateHelper;
-Landroid/widget/NumberPicker$PressedStateHelper;-><init>()V
-Landroid/widget/NumberPicker$PressedStateHelper;->buttonPressDelayed(I)V
-Landroid/widget/NumberPicker$PressedStateHelper;->buttonTapped(I)V
-Landroid/widget/NumberPicker$PressedStateHelper;->BUTTON_DECREMENT:I
-Landroid/widget/NumberPicker$PressedStateHelper;->BUTTON_INCREMENT:I
-Landroid/widget/NumberPicker$PressedStateHelper;->cancel()V
-Landroid/widget/NumberPicker$PressedStateHelper;->mManagedButton:I
-Landroid/widget/NumberPicker$PressedStateHelper;->mMode:I
-Landroid/widget/NumberPicker$PressedStateHelper;->MODE_PRESS:I
-Landroid/widget/NumberPicker$PressedStateHelper;->MODE_TAPPED:I
-Landroid/widget/NumberPicker$SetSelectionCommand;
-Landroid/widget/NumberPicker$SetSelectionCommand;-><init>(Landroid/widget/EditText;)V
-Landroid/widget/NumberPicker$SetSelectionCommand;->cancel()V
-Landroid/widget/NumberPicker$SetSelectionCommand;->mInputText:Landroid/widget/EditText;
-Landroid/widget/NumberPicker$SetSelectionCommand;->mPosted:Z
-Landroid/widget/NumberPicker$SetSelectionCommand;->mSelectionEnd:I
-Landroid/widget/NumberPicker$SetSelectionCommand;->mSelectionStart:I
-Landroid/widget/NumberPicker$SetSelectionCommand;->post(II)V
-Landroid/widget/NumberPicker$TwoDigitFormatter;
-Landroid/widget/NumberPicker$TwoDigitFormatter;-><init>()V
-Landroid/widget/NumberPicker$TwoDigitFormatter;->createFormatter(Ljava/util/Locale;)Ljava/util/Formatter;
-Landroid/widget/NumberPicker$TwoDigitFormatter;->getZeroDigit(Ljava/util/Locale;)C
-Landroid/widget/NumberPicker$TwoDigitFormatter;->init(Ljava/util/Locale;)V
-Landroid/widget/NumberPicker$TwoDigitFormatter;->mArgs:[Ljava/lang/Object;
-Landroid/widget/NumberPicker$TwoDigitFormatter;->mBuilder:Ljava/lang/StringBuilder;
-Landroid/widget/NumberPicker$TwoDigitFormatter;->mFmt:Ljava/util/Formatter;
-Landroid/widget/NumberPicker$TwoDigitFormatter;->mZeroDigit:C
-Landroid/widget/NumberPicker;->decrementSelectorIndices([I)V
-Landroid/widget/NumberPicker;->DEFAULT_LAYOUT_RESOURCE_ID:I
-Landroid/widget/NumberPicker;->DEFAULT_LONG_PRESS_UPDATE_INTERVAL:J
-Landroid/widget/NumberPicker;->DIGIT_CHARACTERS:[C
-Landroid/widget/NumberPicker;->ensureCachedScrollSelectorValue(I)V
-Landroid/widget/NumberPicker;->ensureScrollWheelAdjusted()Z
-Landroid/widget/NumberPicker;->fling(I)V
-Landroid/widget/NumberPicker;->formatNumber(I)Ljava/lang/String;
-Landroid/widget/NumberPicker;->formatNumberWithLocale(I)Ljava/lang/String;
-Landroid/widget/NumberPicker;->getSelectedPos(Ljava/lang/String;)I
-Landroid/widget/NumberPicker;->getWrappedSelectorIndex(I)I
-Landroid/widget/NumberPicker;->hideSoftInput()V
-Landroid/widget/NumberPicker;->incrementSelectorIndices([I)V
-Landroid/widget/NumberPicker;->initializeFadingEdges()V
-Landroid/widget/NumberPicker;->initializeSelectorWheel()V
-Landroid/widget/NumberPicker;->mAccessibilityNodeProvider:Landroid/widget/NumberPicker$AccessibilityNodeProviderImpl;
-Landroid/widget/NumberPicker;->mAdjustScroller:Landroid/widget/Scroller;
-Landroid/widget/NumberPicker;->makeMeasureSpec(II)I
-Landroid/widget/NumberPicker;->mBeginSoftInputOnLongPressCommand:Landroid/widget/NumberPicker$BeginSoftInputOnLongPressCommand;
-Landroid/widget/NumberPicker;->mBottomSelectionDividerBottom:I
-Landroid/widget/NumberPicker;->mChangeCurrentByOneFromLongPressCommand:Landroid/widget/NumberPicker$ChangeCurrentByOneFromLongPressCommand;
-Landroid/widget/NumberPicker;->mComputeMaxWidth:Z
-Landroid/widget/NumberPicker;->mCurrentScrollOffset:I
-Landroid/widget/NumberPicker;->mDecrementButton:Landroid/widget/ImageButton;
-Landroid/widget/NumberPicker;->mDecrementVirtualButtonPressed:Z
-Landroid/widget/NumberPicker;->mDisplayedValues:[Ljava/lang/String;
-Landroid/widget/NumberPicker;->mFormatter:Landroid/widget/NumberPicker$Formatter;
-Landroid/widget/NumberPicker;->mHasSelectorWheel:Z
-Landroid/widget/NumberPicker;->mHideWheelUntilFocused:Z
-Landroid/widget/NumberPicker;->mIgnoreMoveEvents:Z
-Landroid/widget/NumberPicker;->mIncrementButton:Landroid/widget/ImageButton;
-Landroid/widget/NumberPicker;->mIncrementVirtualButtonPressed:Z
-Landroid/widget/NumberPicker;->mInitialScrollOffset:I
-Landroid/widget/NumberPicker;->mLastDownEventTime:J
-Landroid/widget/NumberPicker;->mLastDownEventY:F
-Landroid/widget/NumberPicker;->mLastDownOrMoveEventY:F
-Landroid/widget/NumberPicker;->mLastHandledDownDpadKeyCode:I
-Landroid/widget/NumberPicker;->mLastHoveredChildVirtualViewId:I
-Landroid/widget/NumberPicker;->mLongPressUpdateInterval:J
-Landroid/widget/NumberPicker;->mMaxHeight:I
-Landroid/widget/NumberPicker;->mMaxWidth:I
-Landroid/widget/NumberPicker;->mMinimumFlingVelocity:I
-Landroid/widget/NumberPicker;->mMinValue:I
-Landroid/widget/NumberPicker;->mOnScrollListener:Landroid/widget/NumberPicker$OnScrollListener;
-Landroid/widget/NumberPicker;->moveToFinalScrollerPosition(Landroid/widget/Scroller;)Z
-Landroid/widget/NumberPicker;->mPerformClickOnTap:Z
-Landroid/widget/NumberPicker;->mPressedStateHelper:Landroid/widget/NumberPicker$PressedStateHelper;
-Landroid/widget/NumberPicker;->mPreviousScrollerY:I
-Landroid/widget/NumberPicker;->mScrollState:I
-Landroid/widget/NumberPicker;->mSelectionDividersDistance:I
-Landroid/widget/NumberPicker;->mSelectorElementHeight:I
-Landroid/widget/NumberPicker;->mSelectorIndexToStringCache:Landroid/util/SparseArray;
-Landroid/widget/NumberPicker;->mSelectorTextGapHeight:I
-Landroid/widget/NumberPicker;->mSetSelectionCommand:Landroid/widget/NumberPicker$SetSelectionCommand;
-Landroid/widget/NumberPicker;->mSolidColor:I
-Landroid/widget/NumberPicker;->mTopSelectionDividerTop:I
-Landroid/widget/NumberPicker;->mTouchSlop:I
-Landroid/widget/NumberPicker;->mValue:I
-Landroid/widget/NumberPicker;->mVelocityTracker:Landroid/view/VelocityTracker;
-Landroid/widget/NumberPicker;->mVirtualButtonPressedDrawable:Landroid/graphics/drawable/Drawable;
-Landroid/widget/NumberPicker;->mWrapSelectorWheel:Z
-Landroid/widget/NumberPicker;->mWrapSelectorWheelPreferred:Z
-Landroid/widget/NumberPicker;->notifyChange(II)V
-Landroid/widget/NumberPicker;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/widget/NumberPicker;->onResolveDrawables(I)V
-Landroid/widget/NumberPicker;->onScrollerFinished(Landroid/widget/Scroller;)V
-Landroid/widget/NumberPicker;->onScrollStateChange(I)V
-Landroid/widget/NumberPicker;->postBeginSoftInputOnLongPressCommand()V
-Landroid/widget/NumberPicker;->postChangeCurrentByOneFromLongPress(ZJ)V
-Landroid/widget/NumberPicker;->postSetSelectionCommand(II)V
-Landroid/widget/NumberPicker;->removeAllCallbacks()V
-Landroid/widget/NumberPicker;->removeBeginSoftInputCommand()V
-Landroid/widget/NumberPicker;->removeChangeCurrentByOneFromLongPress()V
-Landroid/widget/NumberPicker;->resolveSizeAndStateRespectingMinSize(III)I
-Landroid/widget/NumberPicker;->SELECTOR_ADJUSTMENT_DURATION_MILLIS:I
-Landroid/widget/NumberPicker;->SELECTOR_MAX_FLING_VELOCITY_ADJUSTMENT:I
-Landroid/widget/NumberPicker;->setValueInternal(IZ)V
-Landroid/widget/NumberPicker;->showSoftInput()V
-Landroid/widget/NumberPicker;->SIZE_UNSPECIFIED:I
-Landroid/widget/NumberPicker;->SNAP_SCROLL_DURATION:I
-Landroid/widget/NumberPicker;->sTwoDigitFormatter:Landroid/widget/NumberPicker$TwoDigitFormatter;
-Landroid/widget/NumberPicker;->TOP_AND_BOTTOM_FADING_EDGE_STRENGTH:F
-Landroid/widget/NumberPicker;->tryComputeMaxWidth()V
-Landroid/widget/NumberPicker;->UNSCALED_DEFAULT_SELECTION_DIVIDERS_DISTANCE:I
-Landroid/widget/NumberPicker;->UNSCALED_DEFAULT_SELECTION_DIVIDER_HEIGHT:I
-Landroid/widget/NumberPicker;->updateInputTextView()Z
-Landroid/widget/NumberPicker;->updateWrapSelectorWheel()V
-Landroid/widget/NumberPicker;->validateInputTextView(Landroid/view/View;)V
-Landroid/widget/OverScroller$SplineOverScroller;
-Landroid/widget/OverScroller$SplineOverScroller;-><init>(Landroid/content/Context;)V
-Landroid/widget/OverScroller$SplineOverScroller;->adjustDuration(III)V
-Landroid/widget/OverScroller$SplineOverScroller;->BALLISTIC:I
-Landroid/widget/OverScroller$SplineOverScroller;->continueWhenFinished()Z
-Landroid/widget/OverScroller$SplineOverScroller;->CUBIC:I
-Landroid/widget/OverScroller$SplineOverScroller;->DECELERATION_RATE:F
-Landroid/widget/OverScroller$SplineOverScroller;->END_TENSION:F
-Landroid/widget/OverScroller$SplineOverScroller;->extendDuration(I)V
-Landroid/widget/OverScroller$SplineOverScroller;->finish()V
-Landroid/widget/OverScroller$SplineOverScroller;->fitOnBounceCurve(III)V
-Landroid/widget/OverScroller$SplineOverScroller;->fling(IIIII)V
-Landroid/widget/OverScroller$SplineOverScroller;->getDeceleration(I)F
-Landroid/widget/OverScroller$SplineOverScroller;->getSplineDeceleration(I)D
-Landroid/widget/OverScroller$SplineOverScroller;->getSplineFlingDistance(I)D
-Landroid/widget/OverScroller$SplineOverScroller;->getSplineFlingDuration(I)I
-Landroid/widget/OverScroller$SplineOverScroller;->GRAVITY:F
-Landroid/widget/OverScroller$SplineOverScroller;->INFLEXION:F
-Landroid/widget/OverScroller$SplineOverScroller;->mCurrentPosition:I
-Landroid/widget/OverScroller$SplineOverScroller;->mDeceleration:F
-Landroid/widget/OverScroller$SplineOverScroller;->mDuration:I
-Landroid/widget/OverScroller$SplineOverScroller;->mFinal:I
-Landroid/widget/OverScroller$SplineOverScroller;->mFinished:Z
-Landroid/widget/OverScroller$SplineOverScroller;->mFlingFriction:F
-Landroid/widget/OverScroller$SplineOverScroller;->mOver:I
-Landroid/widget/OverScroller$SplineOverScroller;->mPhysicalCoeff:F
-Landroid/widget/OverScroller$SplineOverScroller;->mSplineDistance:I
-Landroid/widget/OverScroller$SplineOverScroller;->mSplineDuration:I
-Landroid/widget/OverScroller$SplineOverScroller;->mStart:I
-Landroid/widget/OverScroller$SplineOverScroller;->mStartTime:J
-Landroid/widget/OverScroller$SplineOverScroller;->mState:I
-Landroid/widget/OverScroller$SplineOverScroller;->mVelocity:I
-Landroid/widget/OverScroller$SplineOverScroller;->NB_SAMPLES:I
-Landroid/widget/OverScroller$SplineOverScroller;->notifyEdgeReached(III)V
-Landroid/widget/OverScroller$SplineOverScroller;->onEdgeReached()V
-Landroid/widget/OverScroller$SplineOverScroller;->P1:F
-Landroid/widget/OverScroller$SplineOverScroller;->P2:F
-Landroid/widget/OverScroller$SplineOverScroller;->setFinalPosition(I)V
-Landroid/widget/OverScroller$SplineOverScroller;->setFriction(F)V
-Landroid/widget/OverScroller$SplineOverScroller;->SPLINE:I
-Landroid/widget/OverScroller$SplineOverScroller;->SPLINE_POSITION:[F
-Landroid/widget/OverScroller$SplineOverScroller;->SPLINE_TIME:[F
-Landroid/widget/OverScroller$SplineOverScroller;->springback(III)Z
-Landroid/widget/OverScroller$SplineOverScroller;->startAfterEdge(IIII)V
-Landroid/widget/OverScroller$SplineOverScroller;->startBounceAfterEdge(III)V
-Landroid/widget/OverScroller$SplineOverScroller;->startScroll(III)V
-Landroid/widget/OverScroller$SplineOverScroller;->startSpringback(III)V
-Landroid/widget/OverScroller$SplineOverScroller;->START_TENSION:F
-Landroid/widget/OverScroller$SplineOverScroller;->update()Z
-Landroid/widget/OverScroller$SplineOverScroller;->updateScroll(F)V
-Landroid/widget/OverScroller;->DEFAULT_DURATION:I
-Landroid/widget/OverScroller;->FLING_MODE:I
-Landroid/widget/OverScroller;->getDuration()I
-Landroid/widget/OverScroller;->mFlywheel:Z
-Landroid/widget/OverScroller;->mMode:I
-Landroid/widget/OverScroller;->mScrollerX:Landroid/widget/OverScroller$SplineOverScroller;
-Landroid/widget/OverScroller;->SCROLL_MODE:I
-Landroid/widget/OverScroller;->setFinalX(I)V
-Landroid/widget/OverScroller;->setFinalY(I)V
-Landroid/widget/OverScroller;->timePassed()I
-Landroid/widget/PopupMenu;->mAnchor:Landroid/view/View;
-Landroid/widget/PopupMenu;->mDragListener:Landroid/view/View$OnTouchListener;
-Landroid/widget/PopupMenu;->mMenu:Lcom/android/internal/view/menu/MenuBuilder;
-Landroid/widget/PopupMenu;->mMenuItemClickListener:Landroid/widget/PopupMenu$OnMenuItemClickListener;
-Landroid/widget/PopupMenu;->mOnDismissListener:Landroid/widget/PopupMenu$OnDismissListener;
-Landroid/widget/PopupWindow$PopupBackgroundView;
-Landroid/widget/PopupWindow$PopupBackgroundView;-><init>(Landroid/content/Context;)V
-Landroid/widget/PopupWindow$PopupDecorView;
-Landroid/widget/PopupWindow$PopupDecorView;-><init>(Landroid/content/Context;)V
-Landroid/widget/PopupWindow$PopupDecorView;->cancelTransitions()V
-Landroid/widget/PopupWindow$PopupDecorView;->mCleanupAfterExit:Ljava/lang/Runnable;
-Landroid/widget/PopupWindow$PopupDecorView;->mOnAnchorRootDetachedListener:Landroid/view/View$OnAttachStateChangeListener;
-Landroid/widget/PopupWindow$PopupDecorView;->requestEnterTransition(Landroid/transition/Transition;)V
-Landroid/widget/PopupWindow$PopupDecorView;->requestKeyboardShortcuts(Ljava/util/List;I)V
-Landroid/widget/PopupWindow$PopupDecorView;->startEnterTransition(Landroid/transition/Transition;)V
-Landroid/widget/PopupWindow$PopupDecorView;->startExitTransition(Landroid/transition/Transition;Landroid/view/View;Landroid/graphics/Rect;Landroid/transition/Transition$TransitionListener;)V
-Landroid/widget/PopupWindow;->ABOVE_ANCHOR_STATE_SET:[I
-Landroid/widget/PopupWindow;->alignToAnchor()V
-Landroid/widget/PopupWindow;->ANIMATION_STYLE_DEFAULT:I
-Landroid/widget/PopupWindow;->attachToAnchor(Landroid/view/View;III)V
-Landroid/widget/PopupWindow;->computeFlags(I)I
-Landroid/widget/PopupWindow;->computeGravity()I
-Landroid/widget/PopupWindow;->createBackgroundView(Landroid/view/View;)Landroid/widget/PopupWindow$PopupBackgroundView;
-Landroid/widget/PopupWindow;->createDecorView(Landroid/view/View;)Landroid/widget/PopupWindow$PopupDecorView;
-Landroid/widget/PopupWindow;->DEFAULT_ANCHORED_GRAVITY:I
-Landroid/widget/PopupWindow;->detachFromAnchor()V
-Landroid/widget/PopupWindow;->dismissImmediate(Landroid/view/View;Landroid/view/ViewGroup;Landroid/view/View;)V
-Landroid/widget/PopupWindow;->findDropDownPosition(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;IIIIIZ)Z
-Landroid/widget/PopupWindow;->getAllowScrollingAnchorParent()Z
-Landroid/widget/PopupWindow;->getAnchor()Landroid/view/View;
-Landroid/widget/PopupWindow;->getAppRootView(Landroid/view/View;)Landroid/view/View;
-Landroid/widget/PopupWindow;->getDecorViewLayoutParams()Landroid/view/WindowManager$LayoutParams;
-Landroid/widget/PopupWindow;->getOnDismissListener()Landroid/widget/PopupWindow$OnDismissListener;
-Landroid/widget/PopupWindow;->getTransition(I)Landroid/transition/Transition;
-Landroid/widget/PopupWindow;->getTransitionEpicenter()Landroid/graphics/Rect;
-Landroid/widget/PopupWindow;->hasContentView()Z
-Landroid/widget/PopupWindow;->hasDecorView()Z
-Landroid/widget/PopupWindow;->isLayoutInScreenEnabled()Z
-Landroid/widget/PopupWindow;->isLayoutInsetDecor()Z
-Landroid/widget/PopupWindow;->isTransitioningToDismiss()Z
-Landroid/widget/PopupWindow;->mAllowScrollingAnchorParent:Z
-Landroid/widget/PopupWindow;->mAnchoredGravity:I
-Landroid/widget/PopupWindow;->mAnchorRoot:Ljava/lang/ref/WeakReference;
-Landroid/widget/PopupWindow;->mAnchorXoff:I
-Landroid/widget/PopupWindow;->mAnchorYoff:I
-Landroid/widget/PopupWindow;->mAttachedInDecor:Z
-Landroid/widget/PopupWindow;->mAttachedInDecorSet:Z
-Landroid/widget/PopupWindow;->mBackground:Landroid/graphics/drawable/Drawable;
-Landroid/widget/PopupWindow;->mClippingEnabled:Z
-Landroid/widget/PopupWindow;->mClipToScreen:Z
-Landroid/widget/PopupWindow;->mElevation:F
-Landroid/widget/PopupWindow;->mEnterTransition:Landroid/transition/Transition;
-Landroid/widget/PopupWindow;->mEpicenterBounds:Landroid/graphics/Rect;
-Landroid/widget/PopupWindow;->mExitTransition:Landroid/transition/Transition;
-Landroid/widget/PopupWindow;->mFocusable:Z
-Landroid/widget/PopupWindow;->mGravity:I
-Landroid/widget/PopupWindow;->mHeight:I
-Landroid/widget/PopupWindow;->mIgnoreCheekPress:Z
-Landroid/widget/PopupWindow;->mInputMethodMode:I
-Landroid/widget/PopupWindow;->mIsAnchorRootAttached:Z
-Landroid/widget/PopupWindow;->mIsTransitioningToDismiss:Z
-Landroid/widget/PopupWindow;->mLayoutInsetDecor:Z
-Landroid/widget/PopupWindow;->mOnAnchorDetachedListener:Landroid/view/View$OnAttachStateChangeListener;
-Landroid/widget/PopupWindow;->mOnAnchorRootDetachedListener:Landroid/view/View$OnAttachStateChangeListener;
-Landroid/widget/PopupWindow;->mOnLayoutChangeListener:Landroid/view/View$OnLayoutChangeListener;
-Landroid/widget/PopupWindow;->mOutsideTouchable:Z
-Landroid/widget/PopupWindow;->mParentRootView:Ljava/lang/ref/WeakReference;
-Landroid/widget/PopupWindow;->mPopupViewInitialLayoutDirectionInherited:Z
-Landroid/widget/PopupWindow;->mSoftInputMode:I
-Landroid/widget/PopupWindow;->mSplitTouchEnabled:I
-Landroid/widget/PopupWindow;->mTempRect:Landroid/graphics/Rect;
-Landroid/widget/PopupWindow;->mTmpAppLocation:[I
-Landroid/widget/PopupWindow;->mTmpDrawingLocation:[I
-Landroid/widget/PopupWindow;->mTmpScreenLocation:[I
-Landroid/widget/PopupWindow;->mTouchable:Z
-Landroid/widget/PopupWindow;->mWidth:I
-Landroid/widget/PopupWindow;->positionInDisplayHorizontal(Landroid/view/WindowManager$LayoutParams;IIIIIZ)Z
-Landroid/widget/PopupWindow;->positionInDisplayVertical(Landroid/view/WindowManager$LayoutParams;IIIIIZ)Z
-Landroid/widget/PopupWindow;->setDropDown(Z)V
-Landroid/widget/PopupWindow;->setLayoutDirectionFromAnchor()V
-Landroid/widget/PopupWindow;->setShowing(Z)V
-Landroid/widget/PopupWindow;->setTransitioningToDismiss(Z)V
-Landroid/widget/PopupWindow;->tryFitHorizontal(Landroid/view/WindowManager$LayoutParams;IIIIIIIZ)Z
-Landroid/widget/PopupWindow;->tryFitVertical(Landroid/view/WindowManager$LayoutParams;IIIIIIIZ)Z
-Landroid/widget/PopupWindow;->update(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;)V
-Landroid/widget/PopupWindow;->update(Landroid/view/View;ZIIII)V
-Landroid/widget/ProgressBar$AccessibilityEventSender;
-Landroid/widget/ProgressBar$AccessibilityEventSender;-><init>()V
-Landroid/widget/ProgressBar$ProgressTintInfo;
-Landroid/widget/ProgressBar$ProgressTintInfo;-><init>()V
-Landroid/widget/ProgressBar$ProgressTintInfo;->mHasIndeterminateTint:Z
-Landroid/widget/ProgressBar$ProgressTintInfo;->mHasIndeterminateTintMode:Z
-Landroid/widget/ProgressBar$ProgressTintInfo;->mHasProgressBackgroundTint:Z
-Landroid/widget/ProgressBar$ProgressTintInfo;->mHasProgressBackgroundTintMode:Z
-Landroid/widget/ProgressBar$ProgressTintInfo;->mHasProgressTint:Z
-Landroid/widget/ProgressBar$ProgressTintInfo;->mHasProgressTintMode:Z
-Landroid/widget/ProgressBar$ProgressTintInfo;->mHasSecondaryProgressTint:Z
-Landroid/widget/ProgressBar$ProgressTintInfo;->mHasSecondaryProgressTintMode:Z
-Landroid/widget/ProgressBar$ProgressTintInfo;->mIndeterminateTintList:Landroid/content/res/ColorStateList;
-Landroid/widget/ProgressBar$ProgressTintInfo;->mIndeterminateTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/widget/ProgressBar$ProgressTintInfo;->mProgressBackgroundTintList:Landroid/content/res/ColorStateList;
-Landroid/widget/ProgressBar$ProgressTintInfo;->mProgressBackgroundTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/widget/ProgressBar$ProgressTintInfo;->mProgressTintList:Landroid/content/res/ColorStateList;
-Landroid/widget/ProgressBar$ProgressTintInfo;->mProgressTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/widget/ProgressBar$ProgressTintInfo;->mSecondaryProgressTintList:Landroid/content/res/ColorStateList;
-Landroid/widget/ProgressBar$ProgressTintInfo;->mSecondaryProgressTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/widget/ProgressBar$RefreshData;
-Landroid/widget/ProgressBar$RefreshData;-><init>()V
-Landroid/widget/ProgressBar$RefreshData;->animate:Z
-Landroid/widget/ProgressBar$RefreshData;->fromUser:Z
-Landroid/widget/ProgressBar$RefreshData;->id:I
-Landroid/widget/ProgressBar$RefreshData;->obtain(IIZZ)Landroid/widget/ProgressBar$RefreshData;
-Landroid/widget/ProgressBar$RefreshData;->POOL_MAX:I
-Landroid/widget/ProgressBar$RefreshData;->progress:I
-Landroid/widget/ProgressBar$RefreshData;->recycle()V
-Landroid/widget/ProgressBar$RefreshData;->sPool:Landroid/util/Pools$SynchronizedPool;
-Landroid/widget/ProgressBar$RefreshProgressRunnable;
-Landroid/widget/ProgressBar$RefreshProgressRunnable;-><init>()V
-Landroid/widget/ProgressBar$SavedState;
-Landroid/widget/ProgressBar$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/ProgressBar$SavedState;-><init>(Landroid/os/Parcelable;)V
-Landroid/widget/ProgressBar$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/widget/ProgressBar$SavedState;->progress:I
-Landroid/widget/ProgressBar$SavedState;->secondaryProgress:I
-Landroid/widget/ProgressBar;->applyIndeterminateTint()V
-Landroid/widget/ProgressBar;->applyPrimaryProgressTint()V
-Landroid/widget/ProgressBar;->applyProgressBackgroundTint()V
-Landroid/widget/ProgressBar;->applyProgressTints()V
-Landroid/widget/ProgressBar;->applySecondaryProgressTint()V
-Landroid/widget/ProgressBar;->doRefreshProgress(IIZZZ)V
-Landroid/widget/ProgressBar;->drawTrack(Landroid/graphics/Canvas;)V
-Landroid/widget/ProgressBar;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/widget/ProgressBar;->getCurrentDrawable()Landroid/graphics/drawable/Drawable;
-Landroid/widget/ProgressBar;->getDrawableShape()Landroid/graphics/drawable/shapes/Shape;
-Landroid/widget/ProgressBar;->getMirrorForRtl()Z
-Landroid/widget/ProgressBar;->getTintTarget(IZ)Landroid/graphics/drawable/Drawable;
-Landroid/widget/ProgressBar;->initProgressBar()V
-Landroid/widget/ProgressBar;->mAccessibilityEventSender:Landroid/widget/ProgressBar$AccessibilityEventSender;
-Landroid/widget/ProgressBar;->mAggregatedIsVisible:Z
-Landroid/widget/ProgressBar;->mAnimation:Landroid/view/animation/AlphaAnimation;
-Landroid/widget/ProgressBar;->mAttached:Z
-Landroid/widget/ProgressBar;->MAX_LEVEL:I
-Landroid/widget/ProgressBar;->mBehavior:I
-Landroid/widget/ProgressBar;->mHasAnimation:Z
-Landroid/widget/ProgressBar;->mIndeterminateDrawable:Landroid/graphics/drawable/Drawable;
-Landroid/widget/ProgressBar;->mInDrawing:Z
-Landroid/widget/ProgressBar;->mInterpolator:Landroid/view/animation/Interpolator;
-Landroid/widget/ProgressBar;->mMax:I
-Landroid/widget/ProgressBar;->mMaxInitialized:Z
-Landroid/widget/ProgressBar;->mMaxWidth:I
-Landroid/widget/ProgressBar;->mMin:I
-Landroid/widget/ProgressBar;->mMinInitialized:Z
-Landroid/widget/ProgressBar;->mNoInvalidate:Z
-Landroid/widget/ProgressBar;->mProgress:I
-Landroid/widget/ProgressBar;->mProgressDrawable:Landroid/graphics/drawable/Drawable;
-Landroid/widget/ProgressBar;->mProgressTintInfo:Landroid/widget/ProgressBar$ProgressTintInfo;
-Landroid/widget/ProgressBar;->mRefreshData:Ljava/util/ArrayList;
-Landroid/widget/ProgressBar;->mRefreshIsPosted:Z
-Landroid/widget/ProgressBar;->mRefreshProgressRunnable:Landroid/widget/ProgressBar$RefreshProgressRunnable;
-Landroid/widget/ProgressBar;->mSampleWidth:I
-Landroid/widget/ProgressBar;->mSecondaryProgress:I
-Landroid/widget/ProgressBar;->mShouldStartAnimationDrawable:Z
-Landroid/widget/ProgressBar;->mTransformation:Landroid/view/animation/Transformation;
-Landroid/widget/ProgressBar;->mUiThreadId:J
-Landroid/widget/ProgressBar;->mVisualProgress:F
-Landroid/widget/ProgressBar;->needsTileify(Landroid/graphics/drawable/Drawable;)Z
-Landroid/widget/ProgressBar;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/widget/ProgressBar;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/ProgressBar;->onProgressRefresh(FZI)V
-Landroid/widget/ProgressBar;->onResolveDrawables(I)V
-Landroid/widget/ProgressBar;->onVisualProgressChanged(IF)V
-Landroid/widget/ProgressBar;->PROGRESS_ANIM_DURATION:I
-Landroid/widget/ProgressBar;->PROGRESS_ANIM_INTERPOLATOR:Landroid/view/animation/DecelerateInterpolator;
-Landroid/widget/ProgressBar;->scheduleAccessibilityEventSender()V
-Landroid/widget/ProgressBar;->setVisualProgress(IF)V
-Landroid/widget/ProgressBar;->swapCurrentDrawable(Landroid/graphics/drawable/Drawable;)V
-Landroid/widget/ProgressBar;->tileifyIndeterminate(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;
-Landroid/widget/ProgressBar;->TIMEOUT_SEND_ACCESSIBILITY_EVENT:I
-Landroid/widget/ProgressBar;->updateDrawableBounds(II)V
-Landroid/widget/ProgressBar;->updateDrawableState()V
-Landroid/widget/ProgressBar;->VISUAL_PROGRESS:Landroid/util/FloatProperty;
-Landroid/widget/QuickContactBadge$QueryHandler;
-Landroid/widget/QuickContactBadge$QueryHandler;-><init>(Landroid/content/ContentResolver;)V
-Landroid/widget/QuickContactBadge;->EMAIL_ID_COLUMN_INDEX:I
-Landroid/widget/QuickContactBadge;->EMAIL_LOOKUP_PROJECTION:[Ljava/lang/String;
-Landroid/widget/QuickContactBadge;->EMAIL_LOOKUP_STRING_COLUMN_INDEX:I
-Landroid/widget/QuickContactBadge;->EXTRA_URI_CONTENT:Ljava/lang/String;
-Landroid/widget/QuickContactBadge;->isAssigned()Z
-Landroid/widget/QuickContactBadge;->mContactEmail:Ljava/lang/String;
-Landroid/widget/QuickContactBadge;->mContactPhone:Ljava/lang/String;
-Landroid/widget/QuickContactBadge;->mContactUri:Landroid/net/Uri;
-Landroid/widget/QuickContactBadge;->mDefaultAvatar:Landroid/graphics/drawable/Drawable;
-Landroid/widget/QuickContactBadge;->mExtras:Landroid/os/Bundle;
-Landroid/widget/QuickContactBadge;->mPrioritizedMimeType:Ljava/lang/String;
-Landroid/widget/QuickContactBadge;->mQueryHandler:Landroid/widget/QuickContactBadge$QueryHandler;
-Landroid/widget/QuickContactBadge;->onContactUriChanged()V
-Landroid/widget/QuickContactBadge;->PHONE_ID_COLUMN_INDEX:I
-Landroid/widget/QuickContactBadge;->PHONE_LOOKUP_PROJECTION:[Ljava/lang/String;
-Landroid/widget/QuickContactBadge;->PHONE_LOOKUP_STRING_COLUMN_INDEX:I
-Landroid/widget/QuickContactBadge;->TOKEN_EMAIL_LOOKUP:I
-Landroid/widget/QuickContactBadge;->TOKEN_EMAIL_LOOKUP_AND_TRIGGER:I
-Landroid/widget/QuickContactBadge;->TOKEN_PHONE_LOOKUP:I
-Landroid/widget/QuickContactBadge;->TOKEN_PHONE_LOOKUP_AND_TRIGGER:I
-Landroid/widget/RadialTimePickerView$OnValueSelectedListener;
-Landroid/widget/RadialTimePickerView$OnValueSelectedListener;->onValueSelected(IIZ)V
-Landroid/widget/RadialTimePickerView$PickerType;
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;-><init>()V
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->adjustPicker(I)V
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->getBoundsForVirtualView(ILandroid/graphics/Rect;)V
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->getCircularDiff(III)I
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->getTypeFromId(I)I
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->getValueFromId(I)I
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->getVirtualViewAt(FF)I
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->getVirtualViewDescription(II)Ljava/lang/CharSequence;
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->getVirtualViewIdAfter(II)I
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->getVisibleVirtualViews(Landroid/util/IntArray;)V
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->hour12To24(II)I
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->hour24To12(I)I
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->isVirtualViewSelected(II)Z
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->makeId(II)I
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->MASK_TYPE:I
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->MASK_VALUE:I
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->MINUTE_INCREMENT:I
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->mTempRect:Landroid/graphics/Rect;
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->onPerformActionForVirtualView(IILandroid/os/Bundle;)Z
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->onPopulateEventForVirtualView(ILandroid/view/accessibility/AccessibilityEvent;)V
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->onPopulateNodeForVirtualView(ILandroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->SHIFT_TYPE:I
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->SHIFT_VALUE:I
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->TYPE_HOUR:I
-Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;->TYPE_MINUTE:I
-Landroid/widget/RadialTimePickerView;
-Landroid/widget/RadialTimePickerView;-><init>(Landroid/content/Context;)V
-Landroid/widget/RadialTimePickerView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/widget/RadialTimePickerView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/widget/RadialTimePickerView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/widget/RadialTimePickerView;->AM:I
-Landroid/widget/RadialTimePickerView;->animatePicker(ZJ)V
-Landroid/widget/RadialTimePickerView;->ANIM_DURATION_NORMAL:I
-Landroid/widget/RadialTimePickerView;->ANIM_DURATION_TOUCH:I
-Landroid/widget/RadialTimePickerView;->applyAttributes(Landroid/util/AttributeSet;II)V
-Landroid/widget/RadialTimePickerView;->calculatePositions(Landroid/graphics/Paint;FFFF[F[F)V
-Landroid/widget/RadialTimePickerView;->calculatePositionsHours()V
-Landroid/widget/RadialTimePickerView;->calculatePositionsMinutes()V
-Landroid/widget/RadialTimePickerView;->COS_30:[F
-Landroid/widget/RadialTimePickerView;->DEGREES_FOR_ONE_HOUR:I
-Landroid/widget/RadialTimePickerView;->DEGREES_FOR_ONE_MINUTE:I
-Landroid/widget/RadialTimePickerView;->drawCenter(Landroid/graphics/Canvas;F)V
-Landroid/widget/RadialTimePickerView;->drawCircleBackground(Landroid/graphics/Canvas;)V
-Landroid/widget/RadialTimePickerView;->drawHours(Landroid/graphics/Canvas;Landroid/graphics/Path;F)V
-Landroid/widget/RadialTimePickerView;->drawHoursClipped(Landroid/graphics/Canvas;IZ)V
-Landroid/widget/RadialTimePickerView;->drawMinutes(Landroid/graphics/Canvas;Landroid/graphics/Path;F)V
-Landroid/widget/RadialTimePickerView;->drawMinutesClipped(Landroid/graphics/Canvas;IZ)V
-Landroid/widget/RadialTimePickerView;->drawSelector(Landroid/graphics/Canvas;Landroid/graphics/Path;)V
-Landroid/widget/RadialTimePickerView;->drawTextElements(Landroid/graphics/Canvas;FLandroid/graphics/Typeface;Landroid/content/res/ColorStateList;[Ljava/lang/String;[F[FLandroid/graphics/Paint;IZIZ)V
-Landroid/widget/RadialTimePickerView;->getAmOrPm()I
-Landroid/widget/RadialTimePickerView;->getCurrentHour()I
-Landroid/widget/RadialTimePickerView;->getCurrentItemShowing()I
-Landroid/widget/RadialTimePickerView;->getCurrentMinute()I
-Landroid/widget/RadialTimePickerView;->getDegreesForHour(I)I
-Landroid/widget/RadialTimePickerView;->getDegreesForMinute(I)I
-Landroid/widget/RadialTimePickerView;->getDegreesFromXY(FFZ)I
-Landroid/widget/RadialTimePickerView;->getHourForDegrees(IZ)I
-Landroid/widget/RadialTimePickerView;->getInnerCircleForHour(I)Z
-Landroid/widget/RadialTimePickerView;->getInnerCircleFromXY(FF)Z
-Landroid/widget/RadialTimePickerView;->getMinuteForDegrees(I)I
-Landroid/widget/RadialTimePickerView;->getMultipliedAlpha(II)I
-Landroid/widget/RadialTimePickerView;->handleTouchInput(FFZZ)Z
-Landroid/widget/RadialTimePickerView;->HOURS:I
-Landroid/widget/RadialTimePickerView;->HOURS_INNER:I
-Landroid/widget/RadialTimePickerView;->HOURS_IN_CIRCLE:I
-Landroid/widget/RadialTimePickerView;->HOURS_NUMBERS:[I
-Landroid/widget/RadialTimePickerView;->HOURS_NUMBERS_24:[I
-Landroid/widget/RadialTimePickerView;->HOURS_TO_MINUTES:Landroid/util/FloatProperty;
-Landroid/widget/RadialTimePickerView;->initData()V
-Landroid/widget/RadialTimePickerView;->initHoursAndMinutesText()V
-Landroid/widget/RadialTimePickerView;->initialize(IIZ)V
-Landroid/widget/RadialTimePickerView;->mAmOrPm:I
-Landroid/widget/RadialTimePickerView;->mCenterDotRadius:I
-Landroid/widget/RadialTimePickerView;->mChangedDuringTouch:Z
-Landroid/widget/RadialTimePickerView;->mCircleRadius:I
-Landroid/widget/RadialTimePickerView;->mDisabledAlpha:F
-Landroid/widget/RadialTimePickerView;->mHalfwayDist:I
-Landroid/widget/RadialTimePickerView;->mHours12Texts:[Ljava/lang/String;
-Landroid/widget/RadialTimePickerView;->mHoursToMinutes:F
-Landroid/widget/RadialTimePickerView;->mHoursToMinutesAnimator:Landroid/animation/ObjectAnimator;
-Landroid/widget/RadialTimePickerView;->mInnerHours24Texts:[Ljava/lang/String;
-Landroid/widget/RadialTimePickerView;->mInnerTextHours:[Ljava/lang/String;
-Landroid/widget/RadialTimePickerView;->mInnerTextX:[F
-Landroid/widget/RadialTimePickerView;->mInnerTextY:[F
-Landroid/widget/RadialTimePickerView;->mInputEnabled:Z
-Landroid/widget/RadialTimePickerView;->MINUTES:I
-Landroid/widget/RadialTimePickerView;->MINUTES_IN_CIRCLE:I
-Landroid/widget/RadialTimePickerView;->MINUTES_NUMBERS:[I
-Landroid/widget/RadialTimePickerView;->mIs24HourMode:Z
-Landroid/widget/RadialTimePickerView;->mIsOnInnerCircle:Z
-Landroid/widget/RadialTimePickerView;->MISSING_COLOR:I
-Landroid/widget/RadialTimePickerView;->mListener:Landroid/widget/RadialTimePickerView$OnValueSelectedListener;
-Landroid/widget/RadialTimePickerView;->mMaxDistForOuterNumber:I
-Landroid/widget/RadialTimePickerView;->mMinDistForInnerNumber:I
-Landroid/widget/RadialTimePickerView;->mMinutesText:[Ljava/lang/String;
-Landroid/widget/RadialTimePickerView;->mMinutesTexts:[Ljava/lang/String;
-Landroid/widget/RadialTimePickerView;->mOuterHours24Texts:[Ljava/lang/String;
-Landroid/widget/RadialTimePickerView;->mOuterTextHours:[Ljava/lang/String;
-Landroid/widget/RadialTimePickerView;->mOuterTextX:[[F
-Landroid/widget/RadialTimePickerView;->mOuterTextY:[[F
-Landroid/widget/RadialTimePickerView;->mPaint:[Landroid/graphics/Paint;
-Landroid/widget/RadialTimePickerView;->mPaintBackground:Landroid/graphics/Paint;
-Landroid/widget/RadialTimePickerView;->mPaintCenter:Landroid/graphics/Paint;
-Landroid/widget/RadialTimePickerView;->mPaintSelector:[Landroid/graphics/Paint;
-Landroid/widget/RadialTimePickerView;->mSelectionDegrees:[I
-Landroid/widget/RadialTimePickerView;->mSelectorColor:I
-Landroid/widget/RadialTimePickerView;->mSelectorDotColor:I
-Landroid/widget/RadialTimePickerView;->mSelectorDotRadius:I
-Landroid/widget/RadialTimePickerView;->mSelectorPath:Landroid/graphics/Path;
-Landroid/widget/RadialTimePickerView;->mSelectorRadius:I
-Landroid/widget/RadialTimePickerView;->mSelectorStroke:I
-Landroid/widget/RadialTimePickerView;->mShowHours:Z
-Landroid/widget/RadialTimePickerView;->mTextColor:[Landroid/content/res/ColorStateList;
-Landroid/widget/RadialTimePickerView;->mTextInset:[I
-Landroid/widget/RadialTimePickerView;->mTextSize:[I
-Landroid/widget/RadialTimePickerView;->mTouchHelper:Landroid/widget/RadialTimePickerView$RadialPickerTouchHelper;
-Landroid/widget/RadialTimePickerView;->mTypeface:Landroid/graphics/Typeface;
-Landroid/widget/RadialTimePickerView;->mXCenter:I
-Landroid/widget/RadialTimePickerView;->mYCenter:I
-Landroid/widget/RadialTimePickerView;->NUM_POSITIONS:I
-Landroid/widget/RadialTimePickerView;->PM:I
-Landroid/widget/RadialTimePickerView;->preparePrefer30sMap()V
-Landroid/widget/RadialTimePickerView;->SELECTOR_CIRCLE:I
-Landroid/widget/RadialTimePickerView;->SELECTOR_DOT:I
-Landroid/widget/RadialTimePickerView;->SELECTOR_LINE:I
-Landroid/widget/RadialTimePickerView;->setAmOrPm(I)Z
-Landroid/widget/RadialTimePickerView;->setCurrentHour(I)V
-Landroid/widget/RadialTimePickerView;->setCurrentHourInternal(IZZ)V
-Landroid/widget/RadialTimePickerView;->setCurrentItemShowing(IZ)V
-Landroid/widget/RadialTimePickerView;->setCurrentMinute(I)V
-Landroid/widget/RadialTimePickerView;->setCurrentMinuteInternal(IZ)V
-Landroid/widget/RadialTimePickerView;->setInputEnabled(Z)V
-Landroid/widget/RadialTimePickerView;->setOnValueSelectedListener(Landroid/widget/RadialTimePickerView$OnValueSelectedListener;)V
-Landroid/widget/RadialTimePickerView;->showHours(Z)V
-Landroid/widget/RadialTimePickerView;->showMinutes(Z)V
-Landroid/widget/RadialTimePickerView;->showPicker(ZZ)V
-Landroid/widget/RadialTimePickerView;->SIN_30:[F
-Landroid/widget/RadialTimePickerView;->snapOnly30s(II)I
-Landroid/widget/RadialTimePickerView;->snapPrefer30s(I)I
-Landroid/widget/RadialTimePickerView;->SNAP_PREFER_30S_MAP:[I
-Landroid/widget/RadialTimePickerView;->TAG:Ljava/lang/String;
-Landroid/widget/RadioGroup$CheckedStateTracker;
-Landroid/widget/RadioGroup$CheckedStateTracker;-><init>()V
-Landroid/widget/RadioGroup$PassThroughHierarchyChangeListener;
-Landroid/widget/RadioGroup$PassThroughHierarchyChangeListener;-><init>()V
-Landroid/widget/RadioGroup$PassThroughHierarchyChangeListener;->mOnHierarchyChangeListener:Landroid/view/ViewGroup$OnHierarchyChangeListener;
-Landroid/widget/RadioGroup;->init()V
-Landroid/widget/RadioGroup;->LOG_TAG:Ljava/lang/String;
-Landroid/widget/RadioGroup;->mCheckedId:I
-Landroid/widget/RadioGroup;->mInitialCheckedId:I
-Landroid/widget/RadioGroup;->mPassThroughListener:Landroid/widget/RadioGroup$PassThroughHierarchyChangeListener;
-Landroid/widget/RadioGroup;->mProtectFromCheckedChange:Z
-Landroid/widget/RadioGroup;->setCheckedId(I)V
-Landroid/widget/RadioGroup;->setCheckedStateForView(IZ)V
-Landroid/widget/RatingBar;->canUserSetProgress()Z
-Landroid/widget/RatingBar;->dispatchRatingChange(Z)V
-Landroid/widget/RatingBar;->getDrawableShape()Landroid/graphics/drawable/shapes/Shape;
-Landroid/widget/RatingBar;->getProgressPerStar()F
-Landroid/widget/RatingBar;->mNumStars:I
-Landroid/widget/RatingBar;->mProgressOnStartTracking:I
-Landroid/widget/RatingBar;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/RatingBar;->onKeyChange()V
-Landroid/widget/RatingBar;->onProgressRefresh(FZI)V
-Landroid/widget/RatingBar;->onStartTrackingTouch()V
-Landroid/widget/RatingBar;->onStopTrackingTouch()V
-Landroid/widget/RatingBar;->updateSecondaryProgress(I)V
-Landroid/widget/RelativeLayout$DependencyGraph$Node;
-Landroid/widget/RelativeLayout$DependencyGraph$Node;->acquire(Landroid/view/View;)Landroid/widget/RelativeLayout$DependencyGraph$Node;
-Landroid/widget/RelativeLayout$DependencyGraph$Node;->dependencies:Landroid/util/SparseArray;
-Landroid/widget/RelativeLayout$DependencyGraph$Node;->dependents:Landroid/util/ArrayMap;
-Landroid/widget/RelativeLayout$DependencyGraph$Node;->POOL_LIMIT:I
-Landroid/widget/RelativeLayout$DependencyGraph$Node;->release()V
-Landroid/widget/RelativeLayout$DependencyGraph$Node;->sPool:Landroid/util/Pools$SynchronizedPool;
-Landroid/widget/RelativeLayout$DependencyGraph$Node;->view:Landroid/view/View;
-Landroid/widget/RelativeLayout$DependencyGraph;
-Landroid/widget/RelativeLayout$DependencyGraph;-><init>()V
-Landroid/widget/RelativeLayout$DependencyGraph;->add(Landroid/view/View;)V
-Landroid/widget/RelativeLayout$DependencyGraph;->clear()V
-Landroid/widget/RelativeLayout$DependencyGraph;->findRoots([I)Ljava/util/ArrayDeque;
-Landroid/widget/RelativeLayout$DependencyGraph;->getSortedViews([Landroid/view/View;[[I)V
-Landroid/widget/RelativeLayout$DependencyGraph;->mKeyNodes:Landroid/util/SparseArray;
-Landroid/widget/RelativeLayout$DependencyGraph;->mNodes:Ljava/util/ArrayList;
-Landroid/widget/RelativeLayout$DependencyGraph;->mRoots:Ljava/util/ArrayDeque;
-Landroid/widget/RelativeLayout$LayoutParams;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/widget/RelativeLayout$LayoutParams;->getRules(I)[I
-Landroid/widget/RelativeLayout$LayoutParams;->hasRelativeRules()Z
-Landroid/widget/RelativeLayout$LayoutParams;->isRelativeRule(I)Z
-Landroid/widget/RelativeLayout$LayoutParams;->mInitialRules:[I
-Landroid/widget/RelativeLayout$LayoutParams;->mIsRtlCompatibilityMode:Z
-Landroid/widget/RelativeLayout$LayoutParams;->mNeedsLayoutResolution:Z
-Landroid/widget/RelativeLayout$LayoutParams;->mRules:[I
-Landroid/widget/RelativeLayout$LayoutParams;->mRulesChanged:Z
-Landroid/widget/RelativeLayout$LayoutParams;->resolveRules(I)V
-Landroid/widget/RelativeLayout$LayoutParams;->shouldResolveLayoutDirection(I)Z
-Landroid/widget/RelativeLayout$TopToBottomLeftToRightComparator;
-Landroid/widget/RelativeLayout$TopToBottomLeftToRightComparator;-><init>()V
-Landroid/widget/RelativeLayout$TopToBottomLeftToRightComparator;->compare(Landroid/view/View;Landroid/view/View;)I
-Landroid/widget/RelativeLayout;->applyHorizontalSizeRules(Landroid/widget/RelativeLayout$LayoutParams;I[I)V
-Landroid/widget/RelativeLayout;->applyVerticalSizeRules(Landroid/widget/RelativeLayout$LayoutParams;II)V
-Landroid/widget/RelativeLayout;->centerHorizontal(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;I)V
-Landroid/widget/RelativeLayout;->centerVertical(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;I)V
-Landroid/widget/RelativeLayout;->compareLayoutPosition(Landroid/widget/RelativeLayout$LayoutParams;Landroid/widget/RelativeLayout$LayoutParams;)I
-Landroid/widget/RelativeLayout;->DEFAULT_WIDTH:I
-Landroid/widget/RelativeLayout;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
-Landroid/widget/RelativeLayout;->getChildMeasureSpec(IIIIIIII)I
-Landroid/widget/RelativeLayout;->getRelatedView([II)Landroid/view/View;
-Landroid/widget/RelativeLayout;->getRelatedViewBaselineOffset([I)I
-Landroid/widget/RelativeLayout;->getRelatedViewParams([II)Landroid/widget/RelativeLayout$LayoutParams;
-Landroid/widget/RelativeLayout;->initFromAttributes(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/widget/RelativeLayout;->mAllowBrokenMeasureSpecs:Z
-Landroid/widget/RelativeLayout;->mBaselineView:Landroid/view/View;
-Landroid/widget/RelativeLayout;->mContentBounds:Landroid/graphics/Rect;
-Landroid/widget/RelativeLayout;->mDirtyHierarchy:Z
-Landroid/widget/RelativeLayout;->measureChild(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;II)V
-Landroid/widget/RelativeLayout;->measureChildHorizontal(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;II)V
-Landroid/widget/RelativeLayout;->mGraph:Landroid/widget/RelativeLayout$DependencyGraph;
-Landroid/widget/RelativeLayout;->mIgnoreGravity:I
-Landroid/widget/RelativeLayout;->mMeasureVerticalWithPaddingMargin:Z
-Landroid/widget/RelativeLayout;->mSelfBounds:Landroid/graphics/Rect;
-Landroid/widget/RelativeLayout;->mSortedHorizontalChildren:[Landroid/view/View;
-Landroid/widget/RelativeLayout;->mSortedVerticalChildren:[Landroid/view/View;
-Landroid/widget/RelativeLayout;->mTopToBottomLeftToRightSet:Ljava/util/SortedSet;
-Landroid/widget/RelativeLayout;->positionAtEdge(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;I)V
-Landroid/widget/RelativeLayout;->positionChildHorizontal(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;IZ)Z
-Landroid/widget/RelativeLayout;->positionChildVertical(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;IZ)Z
-Landroid/widget/RelativeLayout;->queryCompatibilityModes(Landroid/content/Context;)V
-Landroid/widget/RelativeLayout;->RULES_HORIZONTAL:[I
-Landroid/widget/RelativeLayout;->RULES_VERTICAL:[I
-Landroid/widget/RelativeLayout;->sortChildren()V
-Landroid/widget/RelativeLayout;->VALUE_NOT_SET:I
-Landroid/widget/RelativeLayout;->VERB_COUNT:I
-Landroid/widget/RemoteViews$Action;
-Landroid/widget/RemoteViews$Action;-><init>()V
-Landroid/widget/RemoteViews$Action;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews$Action;->getActionTag()I
-Landroid/widget/RemoteViews$Action;->getUniqueKey()Ljava/lang/String;
-Landroid/widget/RemoteViews$Action;->hasSameAppInfo(Landroid/content/pm/ApplicationInfo;)Z
-Landroid/widget/RemoteViews$Action;->initActionAsync(Landroid/widget/RemoteViews$ViewTree;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/widget/RemoteViews$Action;
-Landroid/widget/RemoteViews$Action;->MERGE_APPEND:I
-Landroid/widget/RemoteViews$Action;->MERGE_IGNORE:I
-Landroid/widget/RemoteViews$Action;->MERGE_REPLACE:I
-Landroid/widget/RemoteViews$Action;->prefersAsyncApply()Z
-Landroid/widget/RemoteViews$Action;->setBitmapCache(Landroid/widget/RemoteViews$BitmapCache;)V
-Landroid/widget/RemoteViews$Action;->visitUris(Ljava/util/function/Consumer;)V
-Landroid/widget/RemoteViews$ActionException;-><init>(Ljava/lang/Throwable;)V
-Landroid/widget/RemoteViews$AsyncApplyTask;
-Landroid/widget/RemoteViews$AsyncApplyTask;-><init>(Landroid/widget/RemoteViews;Landroid/view/ViewGroup;Landroid/content/Context;Landroid/widget/RemoteViews$OnViewAppliedListener;Landroid/widget/RemoteViews$OnClickHandler;Landroid/view/View;)V
-Landroid/widget/RemoteViews$AsyncApplyTask;->doInBackground([[Ljava/lang/Void;)Landroid/widget/RemoteViews$ViewTree;
-Landroid/widget/RemoteViews$AsyncApplyTask;->mActions:[Landroid/widget/RemoteViews$Action;
-Landroid/widget/RemoteViews$AsyncApplyTask;->mContext:Landroid/content/Context;
-Landroid/widget/RemoteViews$AsyncApplyTask;->mError:Ljava/lang/Exception;
-Landroid/widget/RemoteViews$AsyncApplyTask;->mHandler:Landroid/widget/RemoteViews$OnClickHandler;
-Landroid/widget/RemoteViews$AsyncApplyTask;->mListener:Landroid/widget/RemoteViews$OnViewAppliedListener;
-Landroid/widget/RemoteViews$AsyncApplyTask;->mParent:Landroid/view/ViewGroup;
-Landroid/widget/RemoteViews$AsyncApplyTask;->mResult:Landroid/view/View;
-Landroid/widget/RemoteViews$AsyncApplyTask;->mRV:Landroid/widget/RemoteViews;
-Landroid/widget/RemoteViews$AsyncApplyTask;->mTree:Landroid/widget/RemoteViews$ViewTree;
-Landroid/widget/RemoteViews$AsyncApplyTask;->onPostExecute(Landroid/widget/RemoteViews$ViewTree;)V
-Landroid/widget/RemoteViews$BitmapCache;
-Landroid/widget/RemoteViews$BitmapCache;-><init>()V
-Landroid/widget/RemoteViews$BitmapCache;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/RemoteViews$BitmapCache;->getBitmapForId(I)Landroid/graphics/Bitmap;
-Landroid/widget/RemoteViews$BitmapCache;->getBitmapId(Landroid/graphics/Bitmap;)I
-Landroid/widget/RemoteViews$BitmapCache;->getBitmapMemory()I
-Landroid/widget/RemoteViews$BitmapCache;->mBitmapMemory:I
-Landroid/widget/RemoteViews$BitmapCache;->writeBitmapsToParcel(Landroid/os/Parcel;I)V
-Landroid/widget/RemoteViews$BitmapReflectionAction;
-Landroid/widget/RemoteViews$BitmapReflectionAction;-><init>(ILjava/lang/String;Landroid/graphics/Bitmap;)V
-Landroid/widget/RemoteViews$BitmapReflectionAction;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/RemoteViews$BitmapReflectionAction;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews$BitmapReflectionAction;->bitmapId:I
-Landroid/widget/RemoteViews$BitmapReflectionAction;->getActionTag()I
-Landroid/widget/RemoteViews$BitmapReflectionAction;->setBitmapCache(Landroid/widget/RemoteViews$BitmapCache;)V
-Landroid/widget/RemoteViews$LayoutParamAction;
-Landroid/widget/RemoteViews$LayoutParamAction;-><init>(III)V
-Landroid/widget/RemoteViews$LayoutParamAction;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/RemoteViews$LayoutParamAction;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews$LayoutParamAction;->getActionTag()I
-Landroid/widget/RemoteViews$LayoutParamAction;->getUniqueKey()Ljava/lang/String;
-Landroid/widget/RemoteViews$LayoutParamAction;->LAYOUT_MARGIN_BOTTOM_DIMEN:I
-Landroid/widget/RemoteViews$LayoutParamAction;->LAYOUT_MARGIN_END:I
-Landroid/widget/RemoteViews$LayoutParamAction;->LAYOUT_MARGIN_END_DIMEN:I
-Landroid/widget/RemoteViews$LayoutParamAction;->LAYOUT_WIDTH:I
-Landroid/widget/RemoteViews$LayoutParamAction;->mProperty:I
-Landroid/widget/RemoteViews$LayoutParamAction;->mValue:I
-Landroid/widget/RemoteViews$LayoutParamAction;->resolveDimenPixelOffset(Landroid/view/View;I)I
-Landroid/widget/RemoteViews$MethodArgs;
-Landroid/widget/RemoteViews$MethodArgs;-><init>()V
-Landroid/widget/RemoteViews$MethodArgs;->asyncMethod:Ljava/lang/invoke/MethodHandle;
-Landroid/widget/RemoteViews$MethodArgs;->asyncMethodName:Ljava/lang/String;
-Landroid/widget/RemoteViews$MethodArgs;->syncMethod:Ljava/lang/invoke/MethodHandle;
-Landroid/widget/RemoteViews$MethodKey;
-Landroid/widget/RemoteViews$MethodKey;-><init>()V
-Landroid/widget/RemoteViews$MethodKey;->methodName:Ljava/lang/String;
-Landroid/widget/RemoteViews$MethodKey;->paramClass:Ljava/lang/Class;
-Landroid/widget/RemoteViews$MethodKey;->set(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)V
-Landroid/widget/RemoteViews$MethodKey;->targetClass:Ljava/lang/Class;
-Landroid/widget/RemoteViews$OnClickHandler;
-Landroid/widget/RemoteViews$OnClickHandler;->mEnterAnimationId:I
-Landroid/widget/RemoteViews$OnClickHandler;->onClickHandler(Landroid/view/View;Landroid/app/PendingIntent;Landroid/content/Intent;I)Z
-Landroid/widget/RemoteViews$OnClickHandler;->setEnterAnimationId(I)V
-Landroid/widget/RemoteViews$OnViewAppliedListener;
-Landroid/widget/RemoteViews$OnViewAppliedListener;->onError(Ljava/lang/Exception;)V
-Landroid/widget/RemoteViews$OnViewAppliedListener;->onViewApplied(Landroid/view/View;)V
-Landroid/widget/RemoteViews$OverrideTextColorsAction;
-Landroid/widget/RemoteViews$OverrideTextColorsAction;-><init>(I)V
-Landroid/widget/RemoteViews$OverrideTextColorsAction;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/RemoteViews$OverrideTextColorsAction;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews$OverrideTextColorsAction;->getActionTag()I
-Landroid/widget/RemoteViews$OverrideTextColorsAction;->textColor:I
-Landroid/widget/RemoteViews$ReflectionAction;
-Landroid/widget/RemoteViews$ReflectionAction;-><init>(ILjava/lang/String;ILjava/lang/Object;)V
-Landroid/widget/RemoteViews$ReflectionAction;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/RemoteViews$ReflectionAction;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews$ReflectionAction;->BITMAP:I
-Landroid/widget/RemoteViews$ReflectionAction;->BOOLEAN:I
-Landroid/widget/RemoteViews$ReflectionAction;->BUNDLE:I
-Landroid/widget/RemoteViews$ReflectionAction;->BYTE:I
-Landroid/widget/RemoteViews$ReflectionAction;->CHAR:I
-Landroid/widget/RemoteViews$ReflectionAction;->CHAR_SEQUENCE:I
-Landroid/widget/RemoteViews$ReflectionAction;->COLOR_STATE_LIST:I
-Landroid/widget/RemoteViews$ReflectionAction;->DOUBLE:I
-Landroid/widget/RemoteViews$ReflectionAction;->FLOAT:I
-Landroid/widget/RemoteViews$ReflectionAction;->getActionTag()I
-Landroid/widget/RemoteViews$ReflectionAction;->getParameterType()Ljava/lang/Class;
-Landroid/widget/RemoteViews$ReflectionAction;->getUniqueKey()Ljava/lang/String;
-Landroid/widget/RemoteViews$ReflectionAction;->ICON:I
-Landroid/widget/RemoteViews$ReflectionAction;->initActionAsync(Landroid/widget/RemoteViews$ViewTree;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/widget/RemoteViews$Action;
-Landroid/widget/RemoteViews$ReflectionAction;->INT:I
-Landroid/widget/RemoteViews$ReflectionAction;->INTENT:I
-Landroid/widget/RemoteViews$ReflectionAction;->LONG:I
-Landroid/widget/RemoteViews$ReflectionAction;->mergeBehavior()I
-Landroid/widget/RemoteViews$ReflectionAction;->prefersAsyncApply()Z
-Landroid/widget/RemoteViews$ReflectionAction;->SHORT:I
-Landroid/widget/RemoteViews$ReflectionAction;->STRING:I
-Landroid/widget/RemoteViews$ReflectionAction;->type:I
-Landroid/widget/RemoteViews$ReflectionAction;->URI:I
-Landroid/widget/RemoteViews$ReflectionAction;->visitUris(Ljava/util/function/Consumer;)V
-Landroid/widget/RemoteViews$RemoteViewsContextWrapper;
-Landroid/widget/RemoteViews$RemoteViewsContextWrapper;-><init>(Landroid/content/Context;Landroid/content/Context;)V
-Landroid/widget/RemoteViews$RemoteViewsContextWrapper;->mContextForResources:Landroid/content/Context;
-Landroid/widget/RemoteViews$RunnableAction;
-Landroid/widget/RemoteViews$RunnableAction;-><init>(Ljava/lang/Runnable;)V
-Landroid/widget/RemoteViews$RunnableAction;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews$RunnableAction;->mRunnable:Ljava/lang/Runnable;
-Landroid/widget/RemoteViews$RuntimeAction;
-Landroid/widget/RemoteViews$RuntimeAction;-><init>()V
-Landroid/widget/RemoteViews$RuntimeAction;->getActionTag()I
-Landroid/widget/RemoteViews$SetDrawableTint;
-Landroid/widget/RemoteViews$SetDrawableTint;-><init>(IZILandroid/graphics/PorterDuff$Mode;)V
-Landroid/widget/RemoteViews$SetDrawableTint;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/RemoteViews$SetDrawableTint;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews$SetDrawableTint;->colorFilter:I
-Landroid/widget/RemoteViews$SetDrawableTint;->filterMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/widget/RemoteViews$SetDrawableTint;->getActionTag()I
-Landroid/widget/RemoteViews$SetDrawableTint;->targetBackground:Z
-Landroid/widget/RemoteViews$SetEmptyView;
-Landroid/widget/RemoteViews$SetEmptyView;-><init>(II)V
-Landroid/widget/RemoteViews$SetEmptyView;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/RemoteViews$SetEmptyView;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews$SetEmptyView;->emptyViewId:I
-Landroid/widget/RemoteViews$SetEmptyView;->getActionTag()I
-Landroid/widget/RemoteViews$SetOnClickFillInIntent;
-Landroid/widget/RemoteViews$SetOnClickFillInIntent;-><init>(ILandroid/content/Intent;)V
-Landroid/widget/RemoteViews$SetOnClickFillInIntent;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/RemoteViews$SetOnClickFillInIntent;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews$SetOnClickFillInIntent;->fillInIntent:Landroid/content/Intent;
-Landroid/widget/RemoteViews$SetOnClickFillInIntent;->getActionTag()I
-Landroid/widget/RemoteViews$SetOnClickPendingIntent;
-Landroid/widget/RemoteViews$SetOnClickPendingIntent;-><init>(ILandroid/app/PendingIntent;)V
-Landroid/widget/RemoteViews$SetOnClickPendingIntent;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/RemoteViews$SetOnClickPendingIntent;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews$SetOnClickPendingIntent;->getActionTag()I
-Landroid/widget/RemoteViews$SetPendingIntentTemplate;
-Landroid/widget/RemoteViews$SetPendingIntentTemplate;-><init>(ILandroid/app/PendingIntent;)V
-Landroid/widget/RemoteViews$SetPendingIntentTemplate;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/RemoteViews$SetPendingIntentTemplate;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews$SetPendingIntentTemplate;->getActionTag()I
-Landroid/widget/RemoteViews$SetRemoteInputsAction;
-Landroid/widget/RemoteViews$SetRemoteInputsAction;-><init>(I[Landroid/app/RemoteInput;)V
-Landroid/widget/RemoteViews$SetRemoteInputsAction;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/RemoteViews$SetRemoteInputsAction;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews$SetRemoteInputsAction;->getActionTag()I
-Landroid/widget/RemoteViews$SetRemoteInputsAction;->remoteInputs:[Landroid/os/Parcelable;
-Landroid/widget/RemoteViews$SetRemoteViewsAdapterIntent;
-Landroid/widget/RemoteViews$SetRemoteViewsAdapterIntent;-><init>(ILandroid/content/Intent;)V
-Landroid/widget/RemoteViews$SetRemoteViewsAdapterIntent;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/RemoteViews$SetRemoteViewsAdapterIntent;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews$SetRemoteViewsAdapterIntent;->getActionTag()I
-Landroid/widget/RemoteViews$SetRemoteViewsAdapterIntent;->initActionAsync(Landroid/widget/RemoteViews$ViewTree;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/widget/RemoteViews$Action;
-Landroid/widget/RemoteViews$SetRemoteViewsAdapterIntent;->intent:Landroid/content/Intent;
-Landroid/widget/RemoteViews$SetRemoteViewsAdapterIntent;->isAsync:Z
-Landroid/widget/RemoteViews$SetRemoteViewsAdapterList;
-Landroid/widget/RemoteViews$SetRemoteViewsAdapterList;-><init>(ILjava/util/ArrayList;I)V
-Landroid/widget/RemoteViews$SetRemoteViewsAdapterList;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/RemoteViews$SetRemoteViewsAdapterList;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews$SetRemoteViewsAdapterList;->getActionTag()I
-Landroid/widget/RemoteViews$SetRemoteViewsAdapterList;->list:Ljava/util/ArrayList;
-Landroid/widget/RemoteViews$SetRemoteViewsAdapterList;->viewTypeCount:I
-Landroid/widget/RemoteViews$TextViewDrawableAction;
-Landroid/widget/RemoteViews$TextViewDrawableAction;-><init>(IZIIII)V
-Landroid/widget/RemoteViews$TextViewDrawableAction;-><init>(IZLandroid/graphics/drawable/Icon;Landroid/graphics/drawable/Icon;Landroid/graphics/drawable/Icon;Landroid/graphics/drawable/Icon;)V
-Landroid/widget/RemoteViews$TextViewDrawableAction;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/RemoteViews$TextViewDrawableAction;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews$TextViewDrawableAction;->d1:I
-Landroid/widget/RemoteViews$TextViewDrawableAction;->d2:I
-Landroid/widget/RemoteViews$TextViewDrawableAction;->d3:I
-Landroid/widget/RemoteViews$TextViewDrawableAction;->d4:I
-Landroid/widget/RemoteViews$TextViewDrawableAction;->drawablesLoaded:Z
-Landroid/widget/RemoteViews$TextViewDrawableAction;->getActionTag()I
-Landroid/widget/RemoteViews$TextViewDrawableAction;->i1:Landroid/graphics/drawable/Icon;
-Landroid/widget/RemoteViews$TextViewDrawableAction;->i2:Landroid/graphics/drawable/Icon;
-Landroid/widget/RemoteViews$TextViewDrawableAction;->i3:Landroid/graphics/drawable/Icon;
-Landroid/widget/RemoteViews$TextViewDrawableAction;->i4:Landroid/graphics/drawable/Icon;
-Landroid/widget/RemoteViews$TextViewDrawableAction;->id1:Landroid/graphics/drawable/Drawable;
-Landroid/widget/RemoteViews$TextViewDrawableAction;->id2:Landroid/graphics/drawable/Drawable;
-Landroid/widget/RemoteViews$TextViewDrawableAction;->id3:Landroid/graphics/drawable/Drawable;
-Landroid/widget/RemoteViews$TextViewDrawableAction;->id4:Landroid/graphics/drawable/Drawable;
-Landroid/widget/RemoteViews$TextViewDrawableAction;->initActionAsync(Landroid/widget/RemoteViews$ViewTree;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/widget/RemoteViews$Action;
-Landroid/widget/RemoteViews$TextViewDrawableAction;->isRelative:Z
-Landroid/widget/RemoteViews$TextViewDrawableAction;->prefersAsyncApply()Z
-Landroid/widget/RemoteViews$TextViewDrawableAction;->useIcons:Z
-Landroid/widget/RemoteViews$TextViewDrawableAction;->visitUris(Ljava/util/function/Consumer;)V
-Landroid/widget/RemoteViews$TextViewSizeAction;
-Landroid/widget/RemoteViews$TextViewSizeAction;-><init>(IIF)V
-Landroid/widget/RemoteViews$TextViewSizeAction;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/RemoteViews$TextViewSizeAction;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews$TextViewSizeAction;->getActionTag()I
-Landroid/widget/RemoteViews$TextViewSizeAction;->size:F
-Landroid/widget/RemoteViews$TextViewSizeAction;->units:I
-Landroid/widget/RemoteViews$ViewContentNavigation;
-Landroid/widget/RemoteViews$ViewContentNavigation;-><init>(IZ)V
-Landroid/widget/RemoteViews$ViewContentNavigation;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/RemoteViews$ViewContentNavigation;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews$ViewContentNavigation;->getActionTag()I
-Landroid/widget/RemoteViews$ViewContentNavigation;->mergeBehavior()I
-Landroid/widget/RemoteViews$ViewContentNavigation;->mNext:Z
-Landroid/widget/RemoteViews$ViewGroupActionAdd;
-Landroid/widget/RemoteViews$ViewGroupActionAdd;-><init>(ILandroid/widget/RemoteViews;)V
-Landroid/widget/RemoteViews$ViewGroupActionAdd;-><init>(ILandroid/widget/RemoteViews;I)V
-Landroid/widget/RemoteViews$ViewGroupActionAdd;-><init>(Landroid/os/Parcel;Landroid/widget/RemoteViews$BitmapCache;Landroid/content/pm/ApplicationInfo;ILjava/util/Map;)V
-Landroid/widget/RemoteViews$ViewGroupActionAdd;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews$ViewGroupActionAdd;->getActionTag()I
-Landroid/widget/RemoteViews$ViewGroupActionAdd;->hasSameAppInfo(Landroid/content/pm/ApplicationInfo;)Z
-Landroid/widget/RemoteViews$ViewGroupActionAdd;->initActionAsync(Landroid/widget/RemoteViews$ViewTree;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/widget/RemoteViews$Action;
-Landroid/widget/RemoteViews$ViewGroupActionAdd;->mergeBehavior()I
-Landroid/widget/RemoteViews$ViewGroupActionAdd;->mIndex:I
-Landroid/widget/RemoteViews$ViewGroupActionAdd;->prefersAsyncApply()Z
-Landroid/widget/RemoteViews$ViewGroupActionAdd;->setBitmapCache(Landroid/widget/RemoteViews$BitmapCache;)V
-Landroid/widget/RemoteViews$ViewGroupActionRemove;
-Landroid/widget/RemoteViews$ViewGroupActionRemove;-><init>(I)V
-Landroid/widget/RemoteViews$ViewGroupActionRemove;-><init>(II)V
-Landroid/widget/RemoteViews$ViewGroupActionRemove;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/RemoteViews$ViewGroupActionRemove;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews$ViewGroupActionRemove;->getActionTag()I
-Landroid/widget/RemoteViews$ViewGroupActionRemove;->initActionAsync(Landroid/widget/RemoteViews$ViewTree;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/widget/RemoteViews$Action;
-Landroid/widget/RemoteViews$ViewGroupActionRemove;->mergeBehavior()I
-Landroid/widget/RemoteViews$ViewGroupActionRemove;->mViewIdToKeep:I
-Landroid/widget/RemoteViews$ViewGroupActionRemove;->removeAllViewsExceptIdToKeep(Landroid/view/ViewGroup;)V
-Landroid/widget/RemoteViews$ViewGroupActionRemove;->REMOVE_ALL_VIEWS_ID:I
-Landroid/widget/RemoteViews$ViewPaddingAction;
-Landroid/widget/RemoteViews$ViewPaddingAction;-><init>(IIIII)V
-Landroid/widget/RemoteViews$ViewPaddingAction;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/RemoteViews$ViewPaddingAction;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews$ViewPaddingAction;->bottom:I
-Landroid/widget/RemoteViews$ViewPaddingAction;->getActionTag()I
-Landroid/widget/RemoteViews$ViewPaddingAction;->left:I
-Landroid/widget/RemoteViews$ViewPaddingAction;->right:I
-Landroid/widget/RemoteViews$ViewPaddingAction;->top:I
-Landroid/widget/RemoteViews$ViewTree;
-Landroid/widget/RemoteViews$ViewTree;-><init>(Landroid/view/View;)V
-Landroid/widget/RemoteViews$ViewTree;->addChild(Landroid/widget/RemoteViews$ViewTree;)V
-Landroid/widget/RemoteViews$ViewTree;->addChild(Landroid/widget/RemoteViews$ViewTree;I)V
-Landroid/widget/RemoteViews$ViewTree;->addViewChild(Landroid/view/View;)V
-Landroid/widget/RemoteViews$ViewTree;->createTree()V
-Landroid/widget/RemoteViews$ViewTree;->findViewById(I)Landroid/view/View;
-Landroid/widget/RemoteViews$ViewTree;->findViewTreeById(I)Landroid/widget/RemoteViews$ViewTree;
-Landroid/widget/RemoteViews$ViewTree;->INSERT_AT_END_INDEX:I
-Landroid/widget/RemoteViews$ViewTree;->mChildren:Ljava/util/ArrayList;
-Landroid/widget/RemoteViews$ViewTree;->mRoot:Landroid/view/View;
-Landroid/widget/RemoteViews$ViewTree;->replaceView(Landroid/view/View;)V
-Landroid/widget/RemoteViews;-><init>(Landroid/content/pm/ApplicationInfo;I)V
-Landroid/widget/RemoteViews;-><init>(Landroid/os/Parcel;Landroid/widget/RemoteViews$BitmapCache;Landroid/content/pm/ApplicationInfo;ILjava/util/Map;)V
-Landroid/widget/RemoteViews;-><init>(Ljava/lang/String;II)V
-Landroid/widget/RemoteViews;->ACTION_NOOP:Landroid/widget/RemoteViews$Action;
-Landroid/widget/RemoteViews;->addAction(Landroid/widget/RemoteViews$Action;)V
-Landroid/widget/RemoteViews;->apply(Landroid/content/Context;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/view/View;
-Landroid/widget/RemoteViews;->applyAsync(Landroid/content/Context;Landroid/view/ViewGroup;Ljava/util/concurrent/Executor;Landroid/widget/RemoteViews$OnViewAppliedListener;)Landroid/os/CancellationSignal;
-Landroid/widget/RemoteViews;->applyAsync(Landroid/content/Context;Landroid/view/ViewGroup;Ljava/util/concurrent/Executor;Landroid/widget/RemoteViews$OnViewAppliedListener;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/os/CancellationSignal;
-Landroid/widget/RemoteViews;->BITMAP_REFLECTION_ACTION_TAG:I
-Landroid/widget/RemoteViews;->configureRemoteViewsAsChild(Landroid/widget/RemoteViews;)V
-Landroid/widget/RemoteViews;->DEFAULT_ON_CLICK_HANDLER:Landroid/widget/RemoteViews$OnClickHandler;
-Landroid/widget/RemoteViews;->EXTRA_REMOTEADAPTER_APPWIDGET_ID:Ljava/lang/String;
-Landroid/widget/RemoteViews;->getActionFromParcel(Landroid/os/Parcel;I)Landroid/widget/RemoteViews$Action;
-Landroid/widget/RemoteViews;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
-Landroid/widget/RemoteViews;->getAsyncApplyTask(Landroid/content/Context;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnViewAppliedListener;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/widget/RemoteViews$AsyncApplyTask;
-Landroid/widget/RemoteViews;->getContextForResources(Landroid/content/Context;)Landroid/content/Context;
-Landroid/widget/RemoteViews;->getMethod(Landroid/view/View;Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/invoke/MethodHandle;
-Landroid/widget/RemoteViews;->getParameters(Ljava/lang/Class;)Ljava/lang/String;
-Landroid/widget/RemoteViews;->getRemoteViewsToApply(Landroid/content/Context;)Landroid/widget/RemoteViews;
-Landroid/widget/RemoteViews;->getSequenceNumber()I
-Landroid/widget/RemoteViews;->getSourceBounds(Landroid/view/View;)Landroid/graphics/Rect;
-Landroid/widget/RemoteViews;->hasLandscapeAndPortraitLayouts()Z
-Landroid/widget/RemoteViews;->hasSameAppInfo(Landroid/content/pm/ApplicationInfo;)Z
-Landroid/widget/RemoteViews;->inflateView(Landroid/content/Context;Landroid/widget/RemoteViews;Landroid/view/ViewGroup;)Landroid/view/View;
-Landroid/widget/RemoteViews;->isReapplyDisallowed()Z
-Landroid/widget/RemoteViews;->LAYOUT_PARAM_ACTION_TAG:I
-Landroid/widget/RemoteViews;->loadTransitionOverride(Landroid/content/Context;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews;->LOG_TAG:Ljava/lang/String;
-Landroid/widget/RemoteViews;->mApplyThemeResId:I
-Landroid/widget/RemoteViews;->MAX_NESTED_VIEWS:I
-Landroid/widget/RemoteViews;->mClassCookies:Ljava/util/Map;
-Landroid/widget/RemoteViews;->mIsRoot:Z
-Landroid/widget/RemoteViews;->mIsWidgetCollectionChild:Z
-Landroid/widget/RemoteViews;->mLandscape:Landroid/widget/RemoteViews;
-Landroid/widget/RemoteViews;->MODE_HAS_LANDSCAPE_AND_PORTRAIT:I
-Landroid/widget/RemoteViews;->MODE_NORMAL:I
-Landroid/widget/RemoteViews;->mReapplyDisallowed:Z
-Landroid/widget/RemoteViews;->overrideTextColors(I)V
-Landroid/widget/RemoteViews;->OVERRIDE_TEXT_COLORS_TAG:I
-Landroid/widget/RemoteViews;->performApply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews;->prefersAsyncApply()Z
-Landroid/widget/RemoteViews;->readActionsFromParcel(Landroid/os/Parcel;I)V
-Landroid/widget/RemoteViews;->reapply(Landroid/content/Context;Landroid/view/View;Landroid/widget/RemoteViews$OnClickHandler;)V
-Landroid/widget/RemoteViews;->reapplyAsync(Landroid/content/Context;Landroid/view/View;Ljava/util/concurrent/Executor;Landroid/widget/RemoteViews$OnViewAppliedListener;)Landroid/os/CancellationSignal;
-Landroid/widget/RemoteViews;->reapplyAsync(Landroid/content/Context;Landroid/view/View;Ljava/util/concurrent/Executor;Landroid/widget/RemoteViews$OnViewAppliedListener;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/os/CancellationSignal;
-Landroid/widget/RemoteViews;->reduceImageSizes(II)V
-Landroid/widget/RemoteViews;->REFLECTION_ACTION_TAG:I
-Landroid/widget/RemoteViews;->removeAllViewsExceptId(II)V
-Landroid/widget/RemoteViews;->setApplyTheme(I)V
-Landroid/widget/RemoteViews;->setBitmapCache(Landroid/widget/RemoteViews$BitmapCache;)V
-Landroid/widget/RemoteViews;->setColorStateList(ILjava/lang/String;Landroid/content/res/ColorStateList;)V
-Landroid/widget/RemoteViews;->setDrawableTint(IZILandroid/graphics/PorterDuff$Mode;)V
-Landroid/widget/RemoteViews;->setNotRoot()V
-Landroid/widget/RemoteViews;->setProgressBackgroundTintList(ILandroid/content/res/ColorStateList;)V
-Landroid/widget/RemoteViews;->setProgressIndeterminateTintList(ILandroid/content/res/ColorStateList;)V
-Landroid/widget/RemoteViews;->setProgressTintList(ILandroid/content/res/ColorStateList;)V
-Landroid/widget/RemoteViews;->setReapplyDisallowed()V
-Landroid/widget/RemoteViews;->setRemoteInputs(I[Landroid/app/RemoteInput;)V
-Landroid/widget/RemoteViews;->setTextColor(ILandroid/content/res/ColorStateList;)V
-Landroid/widget/RemoteViews;->setTextViewCompoundDrawables(ILandroid/graphics/drawable/Icon;Landroid/graphics/drawable/Icon;Landroid/graphics/drawable/Icon;Landroid/graphics/drawable/Icon;)V
-Landroid/widget/RemoteViews;->setTextViewCompoundDrawablesRelative(ILandroid/graphics/drawable/Icon;Landroid/graphics/drawable/Icon;Landroid/graphics/drawable/Icon;Landroid/graphics/drawable/Icon;)V
-Landroid/widget/RemoteViews;->setViewLayoutMarginBottomDimen(II)V
-Landroid/widget/RemoteViews;->setViewLayoutMarginEnd(II)V
-Landroid/widget/RemoteViews;->setViewLayoutMarginEndDimen(II)V
-Landroid/widget/RemoteViews;->setViewLayoutWidth(II)V
-Landroid/widget/RemoteViews;->SET_DRAWABLE_TINT_TAG:I
-Landroid/widget/RemoteViews;->SET_EMPTY_VIEW_ACTION_TAG:I
-Landroid/widget/RemoteViews;->SET_ON_CLICK_FILL_IN_INTENT_TAG:I
-Landroid/widget/RemoteViews;->SET_ON_CLICK_PENDING_INTENT_TAG:I
-Landroid/widget/RemoteViews;->SET_PENDING_INTENT_TEMPLATE_TAG:I
-Landroid/widget/RemoteViews;->SET_REMOTE_INPUTS_ACTION_TAG:I
-Landroid/widget/RemoteViews;->SET_REMOTE_VIEW_ADAPTER_INTENT_TAG:I
-Landroid/widget/RemoteViews;->SET_REMOTE_VIEW_ADAPTER_LIST_TAG:I
-Landroid/widget/RemoteViews;->sLookupKey:Landroid/widget/RemoteViews$MethodKey;
-Landroid/widget/RemoteViews;->sMethods:Landroid/util/ArrayMap;
-Landroid/widget/RemoteViews;->startTaskOnExecutor(Landroid/widget/RemoteViews$AsyncApplyTask;Ljava/util/concurrent/Executor;)Landroid/os/CancellationSignal;
-Landroid/widget/RemoteViews;->TEXT_VIEW_DRAWABLE_ACTION_TAG:I
-Landroid/widget/RemoteViews;->TEXT_VIEW_SIZE_ACTION_TAG:I
-Landroid/widget/RemoteViews;->VIEW_CONTENT_NAVIGATION_TAG:I
-Landroid/widget/RemoteViews;->VIEW_GROUP_ACTION_ADD_TAG:I
-Landroid/widget/RemoteViews;->VIEW_GROUP_ACTION_REMOVE_TAG:I
-Landroid/widget/RemoteViews;->VIEW_PADDING_ACTION_TAG:I
-Landroid/widget/RemoteViews;->visitIconUri(Landroid/graphics/drawable/Icon;Ljava/util/function/Consumer;)V
-Landroid/widget/RemoteViews;->visitUris(Ljava/util/function/Consumer;)V
-Landroid/widget/RemoteViews;->writeActionsToParcel(Landroid/os/Parcel;)V
-Landroid/widget/RemoteViewsAdapter$AsyncRemoteAdapterAction;
-Landroid/widget/RemoteViewsAdapter$AsyncRemoteAdapterAction;-><init>(Landroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;Landroid/content/Intent;)V
-Landroid/widget/RemoteViewsAdapter$AsyncRemoteAdapterAction;->mCallback:Landroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;
-Landroid/widget/RemoteViewsAdapter$AsyncRemoteAdapterAction;->mIntent:Landroid/content/Intent;
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;-><init>(I)V
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->commitTemporaryMetaData()V
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->containsMetaDataAt(I)Z
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->containsRemoteViewAt(I)Z
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->getFarthestPositionFrom(I[I)I
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->getMetaData()Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->getMetaDataAt(I)Landroid/widget/RemoteViewsAdapter$RemoteViewsIndexMetaData;
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->getNextIndexToLoad()I
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->getRemoteViewsAt(I)Landroid/widget/RemoteViews;
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->getRemoteViewsBitmapMemoryUsage()I
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->getTemporaryMetaData()Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->insert(ILandroid/widget/RemoteViews;J[I)V
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->mIndexMetaData:Landroid/util/SparseArray;
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->mIndexRemoteViews:Landroid/util/SparseArray;
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->mIndicesToLoad:Landroid/util/SparseBooleanArray;
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->mLastRequestedIndex:I
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->mMaxCount:I
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->mMaxCountSlack:I
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->mMetaData:Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->mPreloadLowerBound:I
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->mPreloadUpperBound:I
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->mTemporaryMetaData:Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->queuePositionsToBePreloadedFromRequestedPosition(I)Z
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->queueRequestedPositionToLoad(I)V
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->reset()V
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->sMaxCountSlackPercent:F
-Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;->sMaxMemoryLimitInBytes:I
-Landroid/widget/RemoteViewsAdapter$HandlerThreadExecutor;
-Landroid/widget/RemoteViewsAdapter$HandlerThreadExecutor;-><init>(Landroid/os/HandlerThread;)V
-Landroid/widget/RemoteViewsAdapter$HandlerThreadExecutor;->mThread:Landroid/os/HandlerThread;
-Landroid/widget/RemoteViewsAdapter$LoadingViewTemplate;
-Landroid/widget/RemoteViewsAdapter$LoadingViewTemplate;-><init>(Landroid/widget/RemoteViews;Landroid/content/Context;)V
-Landroid/widget/RemoteViewsAdapter$LoadingViewTemplate;->defaultHeight:I
-Landroid/widget/RemoteViewsAdapter$LoadingViewTemplate;->loadFirstViewHeight(Landroid/widget/RemoteViews;Landroid/content/Context;Ljava/util/concurrent/Executor;)V
-Landroid/widget/RemoteViewsAdapter$LoadingViewTemplate;->remoteViews:Landroid/widget/RemoteViews;
-Landroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;
-Landroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;->deferNotifyDataSetChanged()V
-Landroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;->onRemoteAdapterConnected()Z
-Landroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;->onRemoteAdapterDisconnected()V
-Landroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;->setRemoteViewsAdapter(Landroid/content/Intent;Z)V
-Landroid/widget/RemoteViewsAdapter$RemoteServiceHandler;
-Landroid/widget/RemoteViewsAdapter$RemoteServiceHandler;-><init>(Landroid/os/Looper;Landroid/widget/RemoteViewsAdapter;Landroid/content/Context;)V
-Landroid/widget/RemoteViewsAdapter$RemoteServiceHandler;->enqueueDeferredUnbindServiceMessage()V
-Landroid/widget/RemoteViewsAdapter$RemoteServiceHandler;->mAdapter:Ljava/lang/ref/WeakReference;
-Landroid/widget/RemoteViewsAdapter$RemoteServiceHandler;->mBindRequested:Z
-Landroid/widget/RemoteViewsAdapter$RemoteServiceHandler;->mContext:Landroid/content/Context;
-Landroid/widget/RemoteViewsAdapter$RemoteServiceHandler;->mNotifyDataSetChangedPending:Z
-Landroid/widget/RemoteViewsAdapter$RemoteServiceHandler;->mRemoteViewsFactory:Lcom/android/internal/widget/IRemoteViewsFactory;
-Landroid/widget/RemoteViewsAdapter$RemoteServiceHandler;->sendNotifyDataSetChange(Z)Z
-Landroid/widget/RemoteViewsAdapter$RemoteServiceHandler;->unbindNow()V
-Landroid/widget/RemoteViewsAdapter$RemoteViewsCacheKey;
-Landroid/widget/RemoteViewsAdapter$RemoteViewsCacheKey;-><init>(Landroid/content/Intent$FilterComparison;I)V
-Landroid/widget/RemoteViewsAdapter$RemoteViewsCacheKey;->filter:Landroid/content/Intent$FilterComparison;
-Landroid/widget/RemoteViewsAdapter$RemoteViewsCacheKey;->widgetId:I
-Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayout;
-Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayout;-><init>(Landroid/content/Context;Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;)V
-Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayout;->cacheIndex:I
-Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayout;->getRemoteContext()Landroid/content/Context;
-Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayout;->mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
-Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayout;->onRemoteViewsLoaded(Landroid/widget/RemoteViews;Landroid/widget/RemoteViews$OnClickHandler;Z)V
-Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayoutRefSet;
-Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayoutRefSet;-><init>()V
-Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayoutRefSet;->add(ILandroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayout;)V
-Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayoutRefSet;->notifyOnRemoteViewsLoaded(ILandroid/widget/RemoteViews;)V
-Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayoutRefSet;->removeView(Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayout;)V
-Landroid/widget/RemoteViewsAdapter$RemoteViewsIndexMetaData;
-Landroid/widget/RemoteViewsAdapter$RemoteViewsIndexMetaData;-><init>(Landroid/widget/RemoteViews;J)V
-Landroid/widget/RemoteViewsAdapter$RemoteViewsIndexMetaData;->itemId:J
-Landroid/widget/RemoteViewsAdapter$RemoteViewsIndexMetaData;->set(Landroid/widget/RemoteViews;J)V
-Landroid/widget/RemoteViewsAdapter$RemoteViewsIndexMetaData;->typeId:I
-Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
-Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;-><init>()V
-Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;->count:I
-Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;->getLoadingTemplate(Landroid/content/Context;)Landroid/widget/RemoteViewsAdapter$LoadingViewTemplate;
-Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;->getMappedViewType(I)I
-Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;->hasStableIds:Z
-Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;->isViewTypeInRange(I)Z
-Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;->loadingTemplate:Landroid/widget/RemoteViewsAdapter$LoadingViewTemplate;
-Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;->mTypeIdIndexMap:Landroid/util/SparseIntArray;
-Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;->reset()V
-Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;->set(Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;)V
-Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;->viewTypeCount:I
-Landroid/widget/RemoteViewsAdapter;
-Landroid/widget/RemoteViewsAdapter;-><init>(Landroid/content/Context;Landroid/content/Intent;Landroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;Z)V
-Landroid/widget/RemoteViewsAdapter;->DEFAULT_CACHE_SIZE:I
-Landroid/widget/RemoteViewsAdapter;->DEFAULT_LOADING_VIEW_HEIGHT:I
-Landroid/widget/RemoteViewsAdapter;->getVisibleWindow(I)[I
-Landroid/widget/RemoteViewsAdapter;->mAppWidgetId:I
-Landroid/widget/RemoteViewsAdapter;->mAsyncViewLoadExecutor:Ljava/util/concurrent/Executor;
-Landroid/widget/RemoteViewsAdapter;->mCallback:Landroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;
-Landroid/widget/RemoteViewsAdapter;->mContext:Landroid/content/Context;
-Landroid/widget/RemoteViewsAdapter;->mDataReady:Z
-Landroid/widget/RemoteViewsAdapter;->mIntent:Landroid/content/Intent;
-Landroid/widget/RemoteViewsAdapter;->mLastRemoteViewAppInfo:Landroid/content/pm/ApplicationInfo;
-Landroid/widget/RemoteViewsAdapter;->mMainHandler:Landroid/os/Handler;
-Landroid/widget/RemoteViewsAdapter;->mRemoteViewsOnClickHandler:Landroid/widget/RemoteViews$OnClickHandler;
-Landroid/widget/RemoteViewsAdapter;->mRequestedViews:Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayoutRefSet;
-Landroid/widget/RemoteViewsAdapter;->mServiceHandler:Landroid/widget/RemoteViewsAdapter$RemoteServiceHandler;
-Landroid/widget/RemoteViewsAdapter;->MSG_LOAD_NEXT_ITEM:I
-Landroid/widget/RemoteViewsAdapter;->MSG_MAIN_HANDLER_COMMIT_METADATA:I
-Landroid/widget/RemoteViewsAdapter;->MSG_MAIN_HANDLER_REMOTE_ADAPTER_CONNECTED:I
-Landroid/widget/RemoteViewsAdapter;->MSG_MAIN_HANDLER_REMOTE_ADAPTER_DISCONNECTED:I
-Landroid/widget/RemoteViewsAdapter;->MSG_MAIN_HANDLER_REMOTE_VIEWS_LOADED:I
-Landroid/widget/RemoteViewsAdapter;->MSG_MAIN_HANDLER_SUPER_NOTIFY_DATA_SET_CHANGED:I
-Landroid/widget/RemoteViewsAdapter;->MSG_NOTIFY_DATA_SET_CHANGED:I
-Landroid/widget/RemoteViewsAdapter;->MSG_REQUEST_BIND:I
-Landroid/widget/RemoteViewsAdapter;->MSG_UNBIND_SERVICE:I
-Landroid/widget/RemoteViewsAdapter;->mVisibleWindowLowerBound:I
-Landroid/widget/RemoteViewsAdapter;->mVisibleWindowUpperBound:I
-Landroid/widget/RemoteViewsAdapter;->REMOTE_VIEWS_CACHE_DURATION:I
-Landroid/widget/RemoteViewsAdapter;->requestBindService()V
-Landroid/widget/RemoteViewsAdapter;->sCachedRemoteViewsCaches:Ljava/util/HashMap;
-Landroid/widget/RemoteViewsAdapter;->sCacheRemovalQueue:Landroid/os/Handler;
-Landroid/widget/RemoteViewsAdapter;->sCacheRemovalThread:Landroid/os/HandlerThread;
-Landroid/widget/RemoteViewsAdapter;->sRemoteViewsCacheRemoveRunnables:Ljava/util/HashMap;
-Landroid/widget/RemoteViewsAdapter;->superNotifyDataSetChanged()V
-Landroid/widget/RemoteViewsAdapter;->TAG:Ljava/lang/String;
-Landroid/widget/RemoteViewsAdapter;->UNBIND_SERVICE_DELAY:I
-Landroid/widget/RemoteViewsAdapter;->updateRemoteViews(Lcom/android/internal/widget/IRemoteViewsFactory;IZ)V
-Landroid/widget/RemoteViewsAdapter;->updateTemporaryMetaData(Lcom/android/internal/widget/IRemoteViewsFactory;)V
-Landroid/widget/RemoteViewsListAdapter;
-Landroid/widget/RemoteViewsListAdapter;-><init>(Landroid/content/Context;Ljava/util/ArrayList;I)V
-Landroid/widget/RemoteViewsListAdapter;->init()V
-Landroid/widget/RemoteViewsListAdapter;->mContext:Landroid/content/Context;
-Landroid/widget/RemoteViewsListAdapter;->mRemoteViewsList:Ljava/util/ArrayList;
-Landroid/widget/RemoteViewsListAdapter;->mViewTypeCount:I
-Landroid/widget/RemoteViewsListAdapter;->mViewTypes:Ljava/util/ArrayList;
-Landroid/widget/RemoteViewsListAdapter;->setViewsList(Ljava/util/ArrayList;)V
-Landroid/widget/RemoteViewsService$RemoteViewsFactoryAdapter;
-Landroid/widget/RemoteViewsService$RemoteViewsFactoryAdapter;-><init>(Landroid/widget/RemoteViewsService$RemoteViewsFactory;Z)V
-Landroid/widget/RemoteViewsService$RemoteViewsFactoryAdapter;->getCount()I
-Landroid/widget/RemoteViewsService$RemoteViewsFactoryAdapter;->getItemId(I)J
-Landroid/widget/RemoteViewsService$RemoteViewsFactoryAdapter;->getLoadingView()Landroid/widget/RemoteViews;
-Landroid/widget/RemoteViewsService$RemoteViewsFactoryAdapter;->getViewAt(I)Landroid/widget/RemoteViews;
-Landroid/widget/RemoteViewsService$RemoteViewsFactoryAdapter;->getViewTypeCount()I
-Landroid/widget/RemoteViewsService$RemoteViewsFactoryAdapter;->hasStableIds()Z
-Landroid/widget/RemoteViewsService$RemoteViewsFactoryAdapter;->isCreated()Z
-Landroid/widget/RemoteViewsService$RemoteViewsFactoryAdapter;->mFactory:Landroid/widget/RemoteViewsService$RemoteViewsFactory;
-Landroid/widget/RemoteViewsService$RemoteViewsFactoryAdapter;->mIsCreated:Z
-Landroid/widget/RemoteViewsService$RemoteViewsFactoryAdapter;->onDataSetChanged()V
-Landroid/widget/RemoteViewsService$RemoteViewsFactoryAdapter;->onDataSetChangedAsync()V
-Landroid/widget/RemoteViewsService$RemoteViewsFactoryAdapter;->onDestroy(Landroid/content/Intent;)V
-Landroid/widget/RemoteViewsService;->LOG_TAG:Ljava/lang/String;
-Landroid/widget/RemoteViewsService;->sLock:Ljava/lang/Object;
-Landroid/widget/RemoteViewsService;->sRemoteViewFactories:Ljava/util/HashMap;
-Landroid/widget/ResourceCursorAdapter;->mDropDownInflater:Landroid/view/LayoutInflater;
-Landroid/widget/ResourceCursorAdapter;->mDropDownLayout:I
-Landroid/widget/ResourceCursorAdapter;->mInflater:Landroid/view/LayoutInflater;
-Landroid/widget/ResourceCursorAdapter;->mLayout:I
-Landroid/widget/ResourceCursorTreeAdapter;->mChildLayout:I
-Landroid/widget/ResourceCursorTreeAdapter;->mCollapsedGroupLayout:I
-Landroid/widget/ResourceCursorTreeAdapter;->mExpandedGroupLayout:I
-Landroid/widget/ResourceCursorTreeAdapter;->mInflater:Landroid/view/LayoutInflater;
-Landroid/widget/ResourceCursorTreeAdapter;->mLastChildLayout:I
-Landroid/widget/RtlSpacingHelper;
-Landroid/widget/RtlSpacingHelper;-><init>()V
-Landroid/widget/RtlSpacingHelper;->getEnd()I
-Landroid/widget/RtlSpacingHelper;->getLeft()I
-Landroid/widget/RtlSpacingHelper;->getRight()I
-Landroid/widget/RtlSpacingHelper;->getStart()I
-Landroid/widget/RtlSpacingHelper;->mEnd:I
-Landroid/widget/RtlSpacingHelper;->mExplicitLeft:I
-Landroid/widget/RtlSpacingHelper;->mExplicitRight:I
-Landroid/widget/RtlSpacingHelper;->mIsRelative:Z
-Landroid/widget/RtlSpacingHelper;->mIsRtl:Z
-Landroid/widget/RtlSpacingHelper;->mLeft:I
-Landroid/widget/RtlSpacingHelper;->mRight:I
-Landroid/widget/RtlSpacingHelper;->mStart:I
-Landroid/widget/RtlSpacingHelper;->setAbsolute(II)V
-Landroid/widget/RtlSpacingHelper;->setDirection(Z)V
-Landroid/widget/RtlSpacingHelper;->setRelative(II)V
-Landroid/widget/RtlSpacingHelper;->UNDEFINED:I
-Landroid/widget/ScrollBarDrawable;
-Landroid/widget/ScrollBarDrawable;->drawThumb(Landroid/graphics/Canvas;Landroid/graphics/Rect;IIZ)V
-Landroid/widget/ScrollBarDrawable;->drawTrack(Landroid/graphics/Canvas;Landroid/graphics/Rect;Z)V
-Landroid/widget/ScrollBarDrawable;->getAlwaysDrawHorizontalTrack()Z
-Landroid/widget/ScrollBarDrawable;->getAlwaysDrawVerticalTrack()Z
-Landroid/widget/ScrollBarDrawable;->getSize(Z)I
-Landroid/widget/ScrollBarDrawable;->mAlpha:I
-Landroid/widget/ScrollBarDrawable;->mAlwaysDrawHorizontalTrack:Z
-Landroid/widget/ScrollBarDrawable;->mAlwaysDrawVerticalTrack:Z
-Landroid/widget/ScrollBarDrawable;->mBoundsChanged:Z
-Landroid/widget/ScrollBarDrawable;->mColorFilter:Landroid/graphics/ColorFilter;
-Landroid/widget/ScrollBarDrawable;->mExtent:I
-Landroid/widget/ScrollBarDrawable;->mHasSetAlpha:Z
-Landroid/widget/ScrollBarDrawable;->mHasSetColorFilter:Z
-Landroid/widget/ScrollBarDrawable;->mHorizontalThumb:Landroid/graphics/drawable/Drawable;
-Landroid/widget/ScrollBarDrawable;->mHorizontalTrack:Landroid/graphics/drawable/Drawable;
-Landroid/widget/ScrollBarDrawable;->mMutated:Z
-Landroid/widget/ScrollBarDrawable;->mOffset:I
-Landroid/widget/ScrollBarDrawable;->mRange:I
-Landroid/widget/ScrollBarDrawable;->mRangeChanged:Z
-Landroid/widget/ScrollBarDrawable;->mVertical:Z
-Landroid/widget/ScrollBarDrawable;->mVerticalTrack:Landroid/graphics/drawable/Drawable;
-Landroid/widget/ScrollBarDrawable;->propagateCurrentState(Landroid/graphics/drawable/Drawable;)V
-Landroid/widget/ScrollBarDrawable;->setAlwaysDrawHorizontalTrack(Z)V
-Landroid/widget/ScrollBarDrawable;->setAlwaysDrawVerticalTrack(Z)V
-Landroid/widget/ScrollBarDrawable;->setHorizontalTrackDrawable(Landroid/graphics/drawable/Drawable;)V
-Landroid/widget/ScrollBarDrawable;->setParameters(IIIZ)V
-Landroid/widget/ScrollBarDrawable;->setVerticalTrackDrawable(Landroid/graphics/drawable/Drawable;)V
-Landroid/widget/Scroller$ViscousFluidInterpolator;
-Landroid/widget/Scroller$ViscousFluidInterpolator;-><init>()V
-Landroid/widget/Scroller$ViscousFluidInterpolator;->viscousFluid(F)F
-Landroid/widget/Scroller$ViscousFluidInterpolator;->VISCOUS_FLUID_NORMALIZE:F
-Landroid/widget/Scroller$ViscousFluidInterpolator;->VISCOUS_FLUID_OFFSET:F
-Landroid/widget/Scroller$ViscousFluidInterpolator;->VISCOUS_FLUID_SCALE:F
-Landroid/widget/Scroller;->computeDeceleration(F)F
-Landroid/widget/Scroller;->DEFAULT_DURATION:I
-Landroid/widget/Scroller;->END_TENSION:F
-Landroid/widget/Scroller;->FLING_MODE:I
-Landroid/widget/Scroller;->getSplineDeceleration(F)D
-Landroid/widget/Scroller;->getSplineFlingDistance(F)D
-Landroid/widget/Scroller;->getSplineFlingDuration(F)I
-Landroid/widget/Scroller;->isScrollingInDirection(FF)Z
-Landroid/widget/Scroller;->mCurrVelocity:F
-Landroid/widget/Scroller;->mCurrX:I
-Landroid/widget/Scroller;->mCurrY:I
-Landroid/widget/Scroller;->mDeltaX:F
-Landroid/widget/Scroller;->mDeltaY:F
-Landroid/widget/Scroller;->mDistance:I
-Landroid/widget/Scroller;->mDurationReciprocal:F
-Landroid/widget/Scroller;->mFinalX:I
-Landroid/widget/Scroller;->mFinalY:I
-Landroid/widget/Scroller;->mFinished:Z
-Landroid/widget/Scroller;->mFlingFriction:F
-Landroid/widget/Scroller;->mFlywheel:Z
-Landroid/widget/Scroller;->mMaxX:I
-Landroid/widget/Scroller;->mMaxY:I
-Landroid/widget/Scroller;->mMinX:I
-Landroid/widget/Scroller;->mMinY:I
-Landroid/widget/Scroller;->mMode:I
-Landroid/widget/Scroller;->mPpi:F
-Landroid/widget/Scroller;->mStartTime:J
-Landroid/widget/Scroller;->mStartX:I
-Landroid/widget/Scroller;->mStartY:I
-Landroid/widget/Scroller;->mVelocity:F
-Landroid/widget/Scroller;->NB_SAMPLES:I
-Landroid/widget/Scroller;->P1:F
-Landroid/widget/Scroller;->P2:F
-Landroid/widget/Scroller;->SCROLL_MODE:I
-Landroid/widget/Scroller;->SPLINE_POSITION:[F
-Landroid/widget/Scroller;->SPLINE_TIME:[F
-Landroid/widget/Scroller;->START_TENSION:F
-Landroid/widget/ScrollView$SavedState;
-Landroid/widget/ScrollView$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/ScrollView$SavedState;-><init>(Landroid/os/Parcelable;)V
-Landroid/widget/ScrollView$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/widget/ScrollView$SavedState;->scrollPosition:I
-Landroid/widget/ScrollView;->ANIMATED_SCROLL_GAP:I
-Landroid/widget/ScrollView;->clamp(III)I
-Landroid/widget/ScrollView;->doScrollY(I)V
-Landroid/widget/ScrollView;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/widget/ScrollView;->findFocusableViewInBounds(ZII)Landroid/view/View;
-Landroid/widget/ScrollView;->flingWithNestedDispatch(I)V
-Landroid/widget/ScrollView;->getScrollRange()I
-Landroid/widget/ScrollView;->inChild(II)Z
-Landroid/widget/ScrollView;->initOrResetVelocityTracker()V
-Landroid/widget/ScrollView;->initScrollView()V
-Landroid/widget/ScrollView;->initVelocityTrackerIfNotExists()V
-Landroid/widget/ScrollView;->INVALID_POINTER:I
-Landroid/widget/ScrollView;->isOffScreen(Landroid/view/View;)Z
-Landroid/widget/ScrollView;->isViewDescendantOf(Landroid/view/View;Landroid/view/View;)Z
-Landroid/widget/ScrollView;->isWithinDeltaOfScreen(Landroid/view/View;II)Z
-Landroid/widget/ScrollView;->mActivePointerId:I
-Landroid/widget/ScrollView;->MAX_SCROLL_FACTOR:F
-Landroid/widget/ScrollView;->mFillViewport:Z
-Landroid/widget/ScrollView;->mIsLayoutDirty:Z
-Landroid/widget/ScrollView;->mMaximumVelocity:I
-Landroid/widget/ScrollView;->mNestedYOffset:I
-Landroid/widget/ScrollView;->mSavedState:Landroid/widget/ScrollView$SavedState;
-Landroid/widget/ScrollView;->mScrollConsumed:[I
-Landroid/widget/ScrollView;->mScrollOffset:[I
-Landroid/widget/ScrollView;->mScrollStrictSpan:Landroid/os/StrictMode$Span;
-Landroid/widget/ScrollView;->mSmoothScrollingEnabled:Z
-Landroid/widget/ScrollView;->mTempRect:Landroid/graphics/Rect;
-Landroid/widget/ScrollView;->mTouchSlop:I
-Landroid/widget/ScrollView;->mVerticalScrollFactor:F
-Landroid/widget/ScrollView;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/widget/ScrollView;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/ScrollView;->onSecondaryPointerUp(Landroid/view/MotionEvent;)V
-Landroid/widget/ScrollView;->performAccessibilityActionInternal(ILandroid/os/Bundle;)Z
-Landroid/widget/ScrollView;->recycleVelocityTracker()V
-Landroid/widget/ScrollView;->scrollAndFocus(III)Z
-Landroid/widget/ScrollView;->scrollToChild(Landroid/view/View;)V
-Landroid/widget/ScrollView;->scrollToChildRect(Landroid/graphics/Rect;Z)Z
-Landroid/widget/ScrollView;->TAG:Ljava/lang/String;
-Landroid/widget/SearchView$SavedState;
-Landroid/widget/SearchView$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/SearchView$SavedState;-><init>(Landroid/os/Parcelable;)V
-Landroid/widget/SearchView$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/widget/SearchView$SavedState;->isIconified:Z
-Landroid/widget/SearchView$SearchAutoComplete;
-Landroid/widget/SearchView$SearchAutoComplete;-><init>(Landroid/content/Context;)V
-Landroid/widget/SearchView$SearchAutoComplete;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/widget/SearchView$SearchAutoComplete;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/widget/SearchView$SearchAutoComplete;->getSearchViewTextMinWidthDp()I
-Landroid/widget/SearchView$SearchAutoComplete;->isEmpty()Z
-Landroid/widget/SearchView$SearchAutoComplete;->mHasPendingShowSoftInputRequest:Z
-Landroid/widget/SearchView$SearchAutoComplete;->mRunShowSoftInputIfNecessary:Ljava/lang/Runnable;
-Landroid/widget/SearchView$SearchAutoComplete;->mSearchView:Landroid/widget/SearchView;
-Landroid/widget/SearchView$SearchAutoComplete;->mThreshold:I
-Landroid/widget/SearchView$SearchAutoComplete;->setImeVisibility(Z)V
-Landroid/widget/SearchView$SearchAutoComplete;->setSearchView(Landroid/widget/SearchView;)V
-Landroid/widget/SearchView$SearchAutoComplete;->showSoftInputIfNecessary()V
-Landroid/widget/SearchView$UpdatableTouchDelegate;
-Landroid/widget/SearchView$UpdatableTouchDelegate;-><init>(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/View;)V
-Landroid/widget/SearchView$UpdatableTouchDelegate;->mActualBounds:Landroid/graphics/Rect;
-Landroid/widget/SearchView$UpdatableTouchDelegate;->mDelegateTargeted:Z
-Landroid/widget/SearchView$UpdatableTouchDelegate;->mDelegateView:Landroid/view/View;
-Landroid/widget/SearchView$UpdatableTouchDelegate;->mSlop:I
-Landroid/widget/SearchView$UpdatableTouchDelegate;->mSlopBounds:Landroid/graphics/Rect;
-Landroid/widget/SearchView$UpdatableTouchDelegate;->mTargetBounds:Landroid/graphics/Rect;
-Landroid/widget/SearchView$UpdatableTouchDelegate;->setBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-Landroid/widget/SearchView;->adjustDropDownSizeAndPosition()V
-Landroid/widget/SearchView;->createIntent(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Landroid/content/Intent;
-Landroid/widget/SearchView;->createIntentFromSuggestion(Landroid/database/Cursor;ILjava/lang/String;)Landroid/content/Intent;
-Landroid/widget/SearchView;->createVoiceAppSearchIntent(Landroid/content/Intent;Landroid/app/SearchableInfo;)Landroid/content/Intent;
-Landroid/widget/SearchView;->createVoiceWebSearchIntent(Landroid/content/Intent;Landroid/app/SearchableInfo;)Landroid/content/Intent;
-Landroid/widget/SearchView;->DBG:Z
-Landroid/widget/SearchView;->dismissSuggestions()V
-Landroid/widget/SearchView;->forceSuggestionQuery()V
-Landroid/widget/SearchView;->getActionKeyMessage(Landroid/database/Cursor;Landroid/app/SearchableInfo$ActionKeyInfo;)Ljava/lang/String;
-Landroid/widget/SearchView;->getChildBoundsWithinSearchView(Landroid/view/View;Landroid/graphics/Rect;)V
-Landroid/widget/SearchView;->getDecoratedHint(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-Landroid/widget/SearchView;->getPreferredHeight()I
-Landroid/widget/SearchView;->getPreferredWidth()I
-Landroid/widget/SearchView;->getSuggestionCommitIconResId()I
-Landroid/widget/SearchView;->getSuggestionRowLayout()I
-Landroid/widget/SearchView;->hasVoiceSearch()Z
-Landroid/widget/SearchView;->IME_OPTION_NO_MICROPHONE:Ljava/lang/String;
-Landroid/widget/SearchView;->isLandscapeMode(Landroid/content/Context;)Z
-Landroid/widget/SearchView;->isSubmitAreaEnabled()Z
-Landroid/widget/SearchView;->launchIntent(Landroid/content/Intent;)V
-Landroid/widget/SearchView;->launchQuerySearch(ILjava/lang/String;Ljava/lang/String;)V
-Landroid/widget/SearchView;->launchSuggestion(IILjava/lang/String;)Z
-Landroid/widget/SearchView;->LOG_TAG:Ljava/lang/String;
-Landroid/widget/SearchView;->mAppSearchData:Landroid/os/Bundle;
-Landroid/widget/SearchView;->mCollapsedIcon:Landroid/widget/ImageView;
-Landroid/widget/SearchView;->mDefaultQueryHint:Ljava/lang/CharSequence;
-Landroid/widget/SearchView;->mDropDownAnchor:Landroid/view/View;
-Landroid/widget/SearchView;->mGoButton:Landroid/widget/ImageView;
-Landroid/widget/SearchView;->mMaxWidth:I
-Landroid/widget/SearchView;->mOldQueryText:Ljava/lang/CharSequence;
-Landroid/widget/SearchView;->mOnCloseListener:Landroid/widget/SearchView$OnCloseListener;
-Landroid/widget/SearchView;->mOnEditorActionListener:Landroid/widget/TextView$OnEditorActionListener;
-Landroid/widget/SearchView;->mOnItemSelectedListener:Landroid/widget/AdapterView$OnItemSelectedListener;
-Landroid/widget/SearchView;->mOnQueryTextFocusChangeListener:Landroid/view/View$OnFocusChangeListener;
-Landroid/widget/SearchView;->mOnSearchClickListener:Landroid/view/View$OnClickListener;
-Landroid/widget/SearchView;->mOnSuggestionListener:Landroid/widget/SearchView$OnSuggestionListener;
-Landroid/widget/SearchView;->mOutsideDrawablesCache:Ljava/util/WeakHashMap;
-Landroid/widget/SearchView;->mQueryHint:Ljava/lang/CharSequence;
-Landroid/widget/SearchView;->mQueryRefinement:Z
-Landroid/widget/SearchView;->mReleaseCursorRunnable:Ljava/lang/Runnable;
-Landroid/widget/SearchView;->mSearchable:Landroid/app/SearchableInfo;
-Landroid/widget/SearchView;->mSearchSrcTextViewBounds:Landroid/graphics/Rect;
-Landroid/widget/SearchView;->mSearchSrtTextViewBoundsExpanded:Landroid/graphics/Rect;
-Landroid/widget/SearchView;->mSubmitButtonEnabled:Z
-Landroid/widget/SearchView;->mSuggestionCommitIconResId:I
-Landroid/widget/SearchView;->mSuggestionRowLayout:I
-Landroid/widget/SearchView;->mTemp2:[I
-Landroid/widget/SearchView;->mTemp:[I
-Landroid/widget/SearchView;->mTextKeyListener:Landroid/view/View$OnKeyListener;
-Landroid/widget/SearchView;->mTextWatcher:Landroid/text/TextWatcher;
-Landroid/widget/SearchView;->mTouchDelegate:Landroid/widget/SearchView$UpdatableTouchDelegate;
-Landroid/widget/SearchView;->mUpdateDrawableStateRunnable:Ljava/lang/Runnable;
-Landroid/widget/SearchView;->mVoiceAppSearchIntent:Landroid/content/Intent;
-Landroid/widget/SearchView;->mVoiceWebSearchIntent:Landroid/content/Intent;
-Landroid/widget/SearchView;->onItemClicked(IILjava/lang/String;)Z
-Landroid/widget/SearchView;->onItemSelected(I)Z
-Landroid/widget/SearchView;->onQueryRefine(Ljava/lang/CharSequence;)V
-Landroid/widget/SearchView;->onSearchClicked()V
-Landroid/widget/SearchView;->onSubmitQuery()V
-Landroid/widget/SearchView;->onSuggestionsKey(Landroid/view/View;ILandroid/view/KeyEvent;)Z
-Landroid/widget/SearchView;->onTextChanged(Ljava/lang/CharSequence;)V
-Landroid/widget/SearchView;->onTextFocusChanged()V
-Landroid/widget/SearchView;->onVoiceClicked()V
-Landroid/widget/SearchView;->postUpdateFocusedState()V
-Landroid/widget/SearchView;->rewriteQueryFromSuggestion(I)V
-Landroid/widget/SearchView;->setAppSearchData(Landroid/os/Bundle;)V
-Landroid/widget/SearchView;->updateCloseButton()V
-Landroid/widget/SearchView;->updateFocusedState()V
-Landroid/widget/SearchView;->updateQueryHint()V
-Landroid/widget/SearchView;->updateSearchAutoComplete()V
-Landroid/widget/SearchView;->updateVoiceButton(Z)V
-Landroid/widget/SeekBar;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/SeekBar;->onStartTrackingTouch()V
-Landroid/widget/SeekBar;->onStopTrackingTouch()V
-Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;
-Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;-><init>(Landroid/widget/TextView;)V
-Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;->countWordsBackward(I)I
-Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;->countWordsForward(I)I
-Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;->endTextClassificationSession()V
-Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;->getWidetType(Landroid/widget/TextView;)Ljava/lang/String;
-Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;->getWordDelta(II)[I
-Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;->hasActiveClassificationSession()Z
-Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;->isEditTextLogger()Z
-Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;->isWhitespace(II)Z
-Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;->logSelectionAction(IIILandroid/view/textclassifier/TextClassification;)V
-Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;->logSelectionModified(IILandroid/view/textclassifier/TextClassification;Landroid/view/textclassifier/TextSelection;)V
-Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;->logSelectionStarted(Landroid/view/textclassifier/TextClassifier;Ljava/lang/CharSequence;II)V
-Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;->LOG_TAG:Ljava/lang/String;
-Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;->mClassificationSession:Landroid/view/textclassifier/TextClassifier;
-Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;->mEditTextLogger:Z
-Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;->mStartIndex:I
-Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;->mText:Ljava/lang/String;
-Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;->mTokenIterator:Ljava/text/BreakIterator;
-Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;->PATTERN_WHITESPACE:Ljava/util/regex/Pattern;
-Landroid/widget/SelectionActionModeHelper$SelectionResult;
-Landroid/widget/SelectionActionModeHelper$SelectionResult;-><init>(IILandroid/view/textclassifier/TextClassification;Landroid/view/textclassifier/TextSelection;)V
-Landroid/widget/SelectionActionModeHelper$SelectionResult;->mClassification:Landroid/view/textclassifier/TextClassification;
-Landroid/widget/SelectionActionModeHelper$SelectionResult;->mEnd:I
-Landroid/widget/SelectionActionModeHelper$SelectionResult;->mSelection:Landroid/view/textclassifier/TextSelection;
-Landroid/widget/SelectionActionModeHelper$SelectionResult;->mStart:I
-Landroid/widget/SelectionActionModeHelper$SelectionTracker$LogAbandonRunnable;
-Landroid/widget/SelectionActionModeHelper$SelectionTracker$LogAbandonRunnable;-><init>()V
-Landroid/widget/SelectionActionModeHelper$SelectionTracker$LogAbandonRunnable;->flush()V
-Landroid/widget/SelectionActionModeHelper$SelectionTracker$LogAbandonRunnable;->mIsPending:Z
-Landroid/widget/SelectionActionModeHelper$SelectionTracker$LogAbandonRunnable;->schedule(I)V
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;-><init>(Landroid/widget/TextView;)V
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;->isSelectionStarted()Z
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;->mAllowReset:Z
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;->maybeInvalidateLogger()V
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;->mDelayedLogAbandon:Landroid/widget/SelectionActionModeHelper$SelectionTracker$LogAbandonRunnable;
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;->mLogger:Landroid/widget/SelectionActionModeHelper$SelectionMetricsLogger;
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;->mOriginalEnd:I
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;->mOriginalStart:I
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;->mSelectionEnd:I
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;->mSelectionStart:I
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;->mTextView:Landroid/widget/TextView;
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;->onClassifiedSelection(Landroid/widget/SelectionActionModeHelper$SelectionResult;)V
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;->onLinkSelected(Landroid/widget/SelectionActionModeHelper$SelectionResult;)V
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;->onOriginalSelection(Ljava/lang/CharSequence;IIZ)V
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;->onSelectionAction(IIILandroid/view/textclassifier/TextClassification;)V
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;->onSelectionDestroyed()V
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;->onSelectionUpdated(IILandroid/view/textclassifier/TextClassification;)V
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;->onSmartSelection(Landroid/widget/SelectionActionModeHelper$SelectionResult;)V
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;->onTextChanged(IILandroid/view/textclassifier/TextClassification;)V
-Landroid/widget/SelectionActionModeHelper$SelectionTracker;->resetSelection(ILandroid/widget/Editor;)Z
-Landroid/widget/SelectionActionModeHelper$TextClassificationAsyncTask;
-Landroid/widget/SelectionActionModeHelper$TextClassificationAsyncTask;-><init>(Landroid/widget/TextView;ILjava/util/function/Supplier;Ljava/util/function/Consumer;Ljava/util/function/Supplier;)V
-Landroid/widget/SelectionActionModeHelper$TextClassificationAsyncTask;->doInBackground([[Ljava/lang/Void;)Landroid/widget/SelectionActionModeHelper$SelectionResult;
-Landroid/widget/SelectionActionModeHelper$TextClassificationAsyncTask;->mOriginalText:Ljava/lang/String;
-Landroid/widget/SelectionActionModeHelper$TextClassificationAsyncTask;->mSelectionResultCallback:Ljava/util/function/Consumer;
-Landroid/widget/SelectionActionModeHelper$TextClassificationAsyncTask;->mSelectionResultSupplier:Ljava/util/function/Supplier;
-Landroid/widget/SelectionActionModeHelper$TextClassificationAsyncTask;->mTextView:Landroid/widget/TextView;
-Landroid/widget/SelectionActionModeHelper$TextClassificationAsyncTask;->mTimeOutDuration:I
-Landroid/widget/SelectionActionModeHelper$TextClassificationAsyncTask;->mTimeOutResultSupplier:Ljava/util/function/Supplier;
-Landroid/widget/SelectionActionModeHelper$TextClassificationAsyncTask;->onPostExecute(Landroid/widget/SelectionActionModeHelper$SelectionResult;)V
-Landroid/widget/SelectionActionModeHelper$TextClassificationAsyncTask;->onTimeOut()V
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;-><init>(Landroid/content/Context;Ljava/util/function/Supplier;Ljava/lang/CharSequence;IILandroid/os/LocaleList;)V
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->classifyText()Landroid/widget/SelectionActionModeHelper$SelectionResult;
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->getOriginalSelection()Landroid/widget/SelectionActionModeHelper$SelectionResult;
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->getTimeoutDuration()I
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->init(Ljava/util/function/Supplier;Ljava/lang/CharSequence;IILandroid/os/LocaleList;)V
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->isDarkLaunchEnabled()Z
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->mContext:Landroid/content/Context;
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->mDefaultLocales:Landroid/os/LocaleList;
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->mHot:Z
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->mLastClassificationLocales:Landroid/os/LocaleList;
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->mLastClassificationResult:Landroid/widget/SelectionActionModeHelper$SelectionResult;
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->mLastClassificationSelectionEnd:I
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->mLastClassificationSelectionStart:I
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->mLastClassificationText:Ljava/lang/CharSequence;
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->mRelativeEnd:I
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->mRelativeStart:I
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->mSelectionEnd:I
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->mSelectionStart:I
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->mText:Ljava/lang/String;
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->mTextClassifier:Ljava/util/function/Supplier;
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->mTrimmedText:Ljava/lang/CharSequence;
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->mTrimStart:I
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->performClassification(Landroid/view/textclassifier/TextSelection;)Landroid/widget/SelectionActionModeHelper$SelectionResult;
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->suggestSelection()Landroid/widget/SelectionActionModeHelper$SelectionResult;
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->trimText()V
-Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;->TRIM_DELTA:I
-Landroid/widget/SelectionActionModeHelper;
-Landroid/widget/SelectionActionModeHelper;-><init>(Landroid/widget/Editor;)V
-Landroid/widget/SelectionActionModeHelper;->cancelAsyncTask()V
-Landroid/widget/SelectionActionModeHelper;->cancelSmartSelectAnimation()V
-Landroid/widget/SelectionActionModeHelper;->convertSelectionToRectangles(Landroid/text/Layout;II)Ljava/util/List;
-Landroid/widget/SelectionActionModeHelper;->getActionType(I)I
-Landroid/widget/SelectionActionModeHelper;->getText(Landroid/widget/TextView;)Ljava/lang/CharSequence;
-Landroid/widget/SelectionActionModeHelper;->getTextClassification()Landroid/view/textclassifier/TextClassification;
-Landroid/widget/SelectionActionModeHelper;->getTextClassificationSettings()Landroid/view/textclassifier/TextClassificationConstants;
-Landroid/widget/SelectionActionModeHelper;->invalidateActionMode(Landroid/widget/SelectionActionModeHelper$SelectionResult;)V
-Landroid/widget/SelectionActionModeHelper;->invalidateActionModeAsync()V
-Landroid/widget/SelectionActionModeHelper;->isDrawingHighlight()Z
-Landroid/widget/SelectionActionModeHelper;->LOG_TAG:Ljava/lang/String;
-Landroid/widget/SelectionActionModeHelper;->mEditor:Landroid/widget/Editor;
-Landroid/widget/SelectionActionModeHelper;->mergeRectangleIntoList(Ljava/util/List;Landroid/graphics/RectF;Ljava/util/function/Function;Ljava/util/function/Function;)V
-Landroid/widget/SelectionActionModeHelper;->movePointInsideNearestRectangle(Landroid/graphics/PointF;Ljava/util/List;Ljava/util/function/Function;)Landroid/graphics/PointF;
-Landroid/widget/SelectionActionModeHelper;->mSelectionTracker:Landroid/widget/SelectionActionModeHelper$SelectionTracker;
-Landroid/widget/SelectionActionModeHelper;->mSmartSelectSprite:Landroid/widget/SmartSelectSprite;
-Landroid/widget/SelectionActionModeHelper;->mTextClassification:Landroid/view/textclassifier/TextClassification;
-Landroid/widget/SelectionActionModeHelper;->mTextClassificationAsyncTask:Landroid/os/AsyncTask;
-Landroid/widget/SelectionActionModeHelper;->mTextClassificationHelper:Landroid/widget/SelectionActionModeHelper$TextClassificationHelper;
-Landroid/widget/SelectionActionModeHelper;->mTextView:Landroid/widget/TextView;
-Landroid/widget/SelectionActionModeHelper;->onDestroyActionMode()V
-Landroid/widget/SelectionActionModeHelper;->onDraw(Landroid/graphics/Canvas;)V
-Landroid/widget/SelectionActionModeHelper;->onSelectionAction(I)V
-Landroid/widget/SelectionActionModeHelper;->onSelectionDrag()V
-Landroid/widget/SelectionActionModeHelper;->onTextChanged(II)V
-Landroid/widget/SelectionActionModeHelper;->resetSelection(I)Z
-Landroid/widget/SelectionActionModeHelper;->resetTextClassificationHelper()V
-Landroid/widget/SelectionActionModeHelper;->resetTextClassificationHelper(II)V
-Landroid/widget/SelectionActionModeHelper;->skipTextClassification()Z
-Landroid/widget/SelectionActionModeHelper;->startActionMode(ILandroid/widget/SelectionActionModeHelper$SelectionResult;)V
-Landroid/widget/SelectionActionModeHelper;->startLinkActionMode(Landroid/widget/SelectionActionModeHelper$SelectionResult;)V
-Landroid/widget/SelectionActionModeHelper;->startLinkActionModeAsync(II)V
-Landroid/widget/SelectionActionModeHelper;->startSelectionActionMode(Landroid/widget/SelectionActionModeHelper$SelectionResult;)V
-Landroid/widget/SelectionActionModeHelper;->startSelectionActionModeAsync(Z)V
-Landroid/widget/SelectionActionModeHelper;->startSelectionActionModeWithSmartSelectAnimation(Landroid/widget/SelectionActionModeHelper$SelectionResult;)V
-Landroid/widget/ShareActionProvider$ShareActivityChooserModelPolicy;
-Landroid/widget/ShareActionProvider$ShareActivityChooserModelPolicy;-><init>()V
-Landroid/widget/ShareActionProvider$ShareActivityChooserModelPolicy;->onChooseActivity(Landroid/widget/ActivityChooserModel;Landroid/content/Intent;)Z
-Landroid/widget/ShareActionProvider$ShareMenuItemOnMenuItemClickListener;
-Landroid/widget/ShareActionProvider$ShareMenuItemOnMenuItemClickListener;-><init>()V
-Landroid/widget/ShareActionProvider;->DEFAULT_INITIAL_ACTIVITY_COUNT:I
-Landroid/widget/ShareActionProvider;->mContext:Landroid/content/Context;
-Landroid/widget/ShareActionProvider;->mMaxShownActivityCount:I
-Landroid/widget/ShareActionProvider;->mOnChooseActivityListener:Landroid/widget/ActivityChooserModel$OnChooseActivityListener;
-Landroid/widget/ShareActionProvider;->mOnMenuItemClickListener:Landroid/widget/ShareActionProvider$ShareMenuItemOnMenuItemClickListener;
-Landroid/widget/ShareActionProvider;->mOnShareTargetSelectedListener:Landroid/widget/ShareActionProvider$OnShareTargetSelectedListener;
-Landroid/widget/ShareActionProvider;->mShareHistoryFileName:Ljava/lang/String;
-Landroid/widget/ShareActionProvider;->setActivityChooserPolicyIfNeeded()V
-Landroid/widget/SimpleAdapter$SimpleFilter;
-Landroid/widget/SimpleAdapter$SimpleFilter;-><init>()V
-Landroid/widget/SimpleAdapter;->bindView(ILandroid/view/View;)V
-Landroid/widget/SimpleAdapter;->createViewFromResource(Landroid/view/LayoutInflater;ILandroid/view/View;Landroid/view/ViewGroup;I)Landroid/view/View;
-Landroid/widget/SimpleAdapter;->mDropDownInflater:Landroid/view/LayoutInflater;
-Landroid/widget/SimpleAdapter;->mDropDownResource:I
-Landroid/widget/SimpleAdapter;->mFilter:Landroid/widget/SimpleAdapter$SimpleFilter;
-Landroid/widget/SimpleAdapter;->mFrom:[Ljava/lang/String;
-Landroid/widget/SimpleAdapter;->mInflater:Landroid/view/LayoutInflater;
-Landroid/widget/SimpleAdapter;->mResource:I
-Landroid/widget/SimpleAdapter;->mTo:[I
-Landroid/widget/SimpleAdapter;->mUnfilteredData:Ljava/util/ArrayList;
-Landroid/widget/SimpleAdapter;->mViewBinder:Landroid/widget/SimpleAdapter$ViewBinder;
-Landroid/widget/SimpleCursorAdapter;->findColumns(Landroid/database/Cursor;[Ljava/lang/String;)V
-Landroid/widget/SimpleCursorAdapter;->mCursorToStringConverter:Landroid/widget/SimpleCursorAdapter$CursorToStringConverter;
-Landroid/widget/SimpleCursorAdapter;->mOriginalFrom:[Ljava/lang/String;
-Landroid/widget/SimpleCursorAdapter;->mStringConversionColumn:I
-Landroid/widget/SimpleCursorAdapter;->mViewBinder:Landroid/widget/SimpleCursorAdapter$ViewBinder;
-Landroid/widget/SimpleCursorTreeAdapter;->bindView(Landroid/view/View;Landroid/content/Context;Landroid/database/Cursor;[I[I)V
-Landroid/widget/SimpleCursorTreeAdapter;->init([Ljava/lang/String;[I[Ljava/lang/String;[I)V
-Landroid/widget/SimpleCursorTreeAdapter;->initFromColumns(Landroid/database/Cursor;[Ljava/lang/String;[I)V
-Landroid/widget/SimpleCursorTreeAdapter;->mChildFrom:[I
-Landroid/widget/SimpleCursorTreeAdapter;->mChildFromNames:[Ljava/lang/String;
-Landroid/widget/SimpleCursorTreeAdapter;->mChildTo:[I
-Landroid/widget/SimpleCursorTreeAdapter;->mGroupFrom:[I
-Landroid/widget/SimpleCursorTreeAdapter;->mGroupFromNames:[Ljava/lang/String;
-Landroid/widget/SimpleCursorTreeAdapter;->mGroupTo:[I
-Landroid/widget/SimpleCursorTreeAdapter;->mViewBinder:Landroid/widget/SimpleCursorTreeAdapter$ViewBinder;
-Landroid/widget/SimpleExpandableListAdapter;->bindView(Landroid/view/View;Ljava/util/Map;[Ljava/lang/String;[I)V
-Landroid/widget/SimpleExpandableListAdapter;->mChildData:Ljava/util/List;
-Landroid/widget/SimpleExpandableListAdapter;->mChildFrom:[Ljava/lang/String;
-Landroid/widget/SimpleExpandableListAdapter;->mChildLayout:I
-Landroid/widget/SimpleExpandableListAdapter;->mChildTo:[I
-Landroid/widget/SimpleExpandableListAdapter;->mCollapsedGroupLayout:I
-Landroid/widget/SimpleExpandableListAdapter;->mExpandedGroupLayout:I
-Landroid/widget/SimpleExpandableListAdapter;->mGroupData:Ljava/util/List;
-Landroid/widget/SimpleExpandableListAdapter;->mGroupFrom:[Ljava/lang/String;
-Landroid/widget/SimpleExpandableListAdapter;->mGroupTo:[I
-Landroid/widget/SimpleExpandableListAdapter;->mInflater:Landroid/view/LayoutInflater;
-Landroid/widget/SimpleExpandableListAdapter;->mLastChildLayout:I
-Landroid/widget/SlidingDrawer$DrawerToggler;
-Landroid/widget/SlidingDrawer$DrawerToggler;-><init>()V
-Landroid/widget/SlidingDrawer;->animateClose(IZ)V
-Landroid/widget/SlidingDrawer;->animateOpen(IZ)V
-Landroid/widget/SlidingDrawer;->ANIMATION_FRAME_DURATION:I
-Landroid/widget/SlidingDrawer;->closeDrawer()V
-Landroid/widget/SlidingDrawer;->COLLAPSED_FULL_CLOSED:I
-Landroid/widget/SlidingDrawer;->doAnimation()V
-Landroid/widget/SlidingDrawer;->EXPANDED_FULL_OPEN:I
-Landroid/widget/SlidingDrawer;->incrementAnimation()V
-Landroid/widget/SlidingDrawer;->mAllowSingleTap:Z
-Landroid/widget/SlidingDrawer;->mAnimatedAcceleration:F
-Landroid/widget/SlidingDrawer;->mAnimatedVelocity:F
-Landroid/widget/SlidingDrawer;->mAnimateOnClick:Z
-Landroid/widget/SlidingDrawer;->mAnimating:Z
-Landroid/widget/SlidingDrawer;->mAnimationLastTime:J
-Landroid/widget/SlidingDrawer;->mAnimationPosition:F
-Landroid/widget/SlidingDrawer;->MAXIMUM_ACCELERATION:F
-Landroid/widget/SlidingDrawer;->MAXIMUM_MAJOR_VELOCITY:F
-Landroid/widget/SlidingDrawer;->MAXIMUM_MINOR_VELOCITY:F
-Landroid/widget/SlidingDrawer;->MAXIMUM_TAP_VELOCITY:F
-Landroid/widget/SlidingDrawer;->mBottomOffset:I
-Landroid/widget/SlidingDrawer;->mContent:Landroid/view/View;
-Landroid/widget/SlidingDrawer;->mContentId:I
-Landroid/widget/SlidingDrawer;->mCurrentAnimationTime:J
-Landroid/widget/SlidingDrawer;->mExpanded:Z
-Landroid/widget/SlidingDrawer;->mFrame:Landroid/graphics/Rect;
-Landroid/widget/SlidingDrawer;->mHandle:Landroid/view/View;
-Landroid/widget/SlidingDrawer;->mHandleHeight:I
-Landroid/widget/SlidingDrawer;->mHandleId:I
-Landroid/widget/SlidingDrawer;->mHandleWidth:I
-Landroid/widget/SlidingDrawer;->mInvalidate:Landroid/graphics/Rect;
-Landroid/widget/SlidingDrawer;->mLocked:Z
-Landroid/widget/SlidingDrawer;->mMaximumAcceleration:I
-Landroid/widget/SlidingDrawer;->mMaximumMajorVelocity:I
-Landroid/widget/SlidingDrawer;->mMaximumMinorVelocity:I
-Landroid/widget/SlidingDrawer;->mMaximumTapVelocity:I
-Landroid/widget/SlidingDrawer;->mOnDrawerCloseListener:Landroid/widget/SlidingDrawer$OnDrawerCloseListener;
-Landroid/widget/SlidingDrawer;->mOnDrawerOpenListener:Landroid/widget/SlidingDrawer$OnDrawerOpenListener;
-Landroid/widget/SlidingDrawer;->mOnDrawerScrollListener:Landroid/widget/SlidingDrawer$OnDrawerScrollListener;
-Landroid/widget/SlidingDrawer;->moveHandle(I)V
-Landroid/widget/SlidingDrawer;->mSlidingRunnable:Ljava/lang/Runnable;
-Landroid/widget/SlidingDrawer;->mTapThreshold:I
-Landroid/widget/SlidingDrawer;->mVelocityUnits:I
-Landroid/widget/SlidingDrawer;->mVertical:Z
-Landroid/widget/SlidingDrawer;->openDrawer()V
-Landroid/widget/SlidingDrawer;->performFling(IFZZ)V
-Landroid/widget/SlidingDrawer;->stopTracking(Z)V
-Landroid/widget/SlidingDrawer;->TAP_THRESHOLD:I
-Landroid/widget/SlidingDrawer;->VELOCITY_UNITS:I
-Landroid/widget/SmartSelectSprite$RectangleList$DisplayType;
-Landroid/widget/SmartSelectSprite$RectangleList$DisplayType;->POLYGON:I
-Landroid/widget/SmartSelectSprite$RectangleList$DisplayType;->RECTANGLES:I
-Landroid/widget/SmartSelectSprite$RectangleList;
-Landroid/widget/SmartSelectSprite$RectangleList;-><init>(Ljava/util/List;)V
-Landroid/widget/SmartSelectSprite$RectangleList;->drawPolygon(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
-Landroid/widget/SmartSelectSprite$RectangleList;->drawRectangles(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
-Landroid/widget/SmartSelectSprite$RectangleList;->generateOutlinePolygonPath(Ljava/util/List;)Landroid/graphics/Path;
-Landroid/widget/SmartSelectSprite$RectangleList;->getTotalWidth()I
-Landroid/widget/SmartSelectSprite$RectangleList;->mDisplayType:I
-Landroid/widget/SmartSelectSprite$RectangleList;->mOutlinePolygonPath:Landroid/graphics/Path;
-Landroid/widget/SmartSelectSprite$RectangleList;->mRectangles:Ljava/util/List;
-Landroid/widget/SmartSelectSprite$RectangleList;->mReversedRectangles:Ljava/util/List;
-Landroid/widget/SmartSelectSprite$RectangleList;->PROPERTY_LEFT_BOUNDARY:Ljava/lang/String;
-Landroid/widget/SmartSelectSprite$RectangleList;->PROPERTY_RIGHT_BOUNDARY:Ljava/lang/String;
-Landroid/widget/SmartSelectSprite$RectangleList;->setDisplayType(I)V
-Landroid/widget/SmartSelectSprite$RectangleList;->setLeftBoundary(F)V
-Landroid/widget/SmartSelectSprite$RectangleList;->setRightBoundary(F)V
-Landroid/widget/SmartSelectSprite$RectangleWithTextSelectionLayout;
-Landroid/widget/SmartSelectSprite$RectangleWithTextSelectionLayout;-><init>(Landroid/graphics/RectF;I)V
-Landroid/widget/SmartSelectSprite$RectangleWithTextSelectionLayout;->getRectangle()Landroid/graphics/RectF;
-Landroid/widget/SmartSelectSprite$RectangleWithTextSelectionLayout;->getTextSelectionLayout()I
-Landroid/widget/SmartSelectSprite$RectangleWithTextSelectionLayout;->mRectangle:Landroid/graphics/RectF;
-Landroid/widget/SmartSelectSprite$RectangleWithTextSelectionLayout;->mTextSelectionLayout:I
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape$ExpansionDirection;
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape$ExpansionDirection;->CENTER:I
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape$ExpansionDirection;->LEFT:I
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape$ExpansionDirection;->RIGHT:I
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape;
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape;-><init>(Landroid/graphics/RectF;IZ)V
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape;->getAdjustedCornerRadius()F
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape;->getBoundingWidth()F
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape;->getCornerRadius()F
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape;->getRoundRatio()F
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape;->invert(I)I
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape;->mBoundingRectangle:Landroid/graphics/RectF;
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape;->mBoundingWidth:F
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape;->mClipPath:Landroid/graphics/Path;
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape;->mDrawRect:Landroid/graphics/RectF;
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape;->mExpansionDirection:I
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape;->mInverted:Z
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape;->mLeftBoundary:F
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape;->mRightBoundary:F
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape;->mRoundRatio:F
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape;->PROPERTY_ROUND_RATIO:Ljava/lang/String;
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape;->setEndBoundary(F)V
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape;->setRoundRatio(F)V
-Landroid/widget/SmartSelectSprite$RoundedRectangleShape;->setStartBoundary(F)V
-Landroid/widget/SmartSelectSprite;
-Landroid/widget/SmartSelectSprite;-><init>(Landroid/content/Context;ILjava/lang/Runnable;)V
-Landroid/widget/SmartSelectSprite;->cancelAnimation()V
-Landroid/widget/SmartSelectSprite;->contains(Landroid/graphics/RectF;Landroid/graphics/PointF;)Z
-Landroid/widget/SmartSelectSprite;->CORNER_DURATION:I
-Landroid/widget/SmartSelectSprite;->createAnimator(Landroid/widget/SmartSelectSprite$RectangleList;FFLjava/util/List;Landroid/animation/ValueAnimator$AnimatorUpdateListener;Ljava/lang/Runnable;)Landroid/animation/Animator;
-Landroid/widget/SmartSelectSprite;->createCornerAnimator(Landroid/widget/SmartSelectSprite$RoundedRectangleShape;Landroid/animation/ValueAnimator$AnimatorUpdateListener;)Landroid/animation/ObjectAnimator;
-Landroid/widget/SmartSelectSprite;->draw(Landroid/graphics/Canvas;)V
-Landroid/widget/SmartSelectSprite;->EXPAND_DURATION:I
-Landroid/widget/SmartSelectSprite;->generateDirections(Landroid/widget/SmartSelectSprite$RectangleWithTextSelectionLayout;Ljava/util/List;)[I
-Landroid/widget/SmartSelectSprite;->isAnimationActive()Z
-Landroid/widget/SmartSelectSprite;->mActiveAnimator:Landroid/animation/Animator;
-Landroid/widget/SmartSelectSprite;->mCornerInterpolator:Landroid/view/animation/Interpolator;
-Landroid/widget/SmartSelectSprite;->mExistingDrawable:Landroid/graphics/drawable/Drawable;
-Landroid/widget/SmartSelectSprite;->mExistingRectangleList:Landroid/widget/SmartSelectSprite$RectangleList;
-Landroid/widget/SmartSelectSprite;->mExpandInterpolator:Landroid/view/animation/Interpolator;
-Landroid/widget/SmartSelectSprite;->mFillColor:I
-Landroid/widget/SmartSelectSprite;->mInvalidator:Ljava/lang/Runnable;
-Landroid/widget/SmartSelectSprite;->RECTANGLE_COMPARATOR:Ljava/util/Comparator;
-Landroid/widget/SmartSelectSprite;->removeExistingDrawables()V
-Landroid/widget/SmartSelectSprite;->setUpAnimatorListener(Landroid/animation/Animator;Ljava/lang/Runnable;)V
-Landroid/widget/SmartSelectSprite;->startAnimation(Landroid/graphics/PointF;Ljava/util/List;Ljava/lang/Runnable;)V
-Landroid/widget/Space;->getDefaultSize2(II)I
-Landroid/widget/SpellChecker$SpellParser;
-Landroid/widget/SpellChecker$SpellParser;-><init>()V
-Landroid/widget/SpellChecker$SpellParser;->isFinished()Z
-Landroid/widget/SpellChecker$SpellParser;->mRange:Ljava/lang/Object;
-Landroid/widget/SpellChecker$SpellParser;->parse()V
-Landroid/widget/SpellChecker$SpellParser;->parse(II)V
-Landroid/widget/SpellChecker$SpellParser;->removeRangeSpan(Landroid/text/Editable;)V
-Landroid/widget/SpellChecker$SpellParser;->removeSpansAt(Landroid/text/Editable;I[Ljava/lang/Object;)V
-Landroid/widget/SpellChecker$SpellParser;->setRangeSpan(Landroid/text/Editable;II)V
-Landroid/widget/SpellChecker$SpellParser;->stop()V
-Landroid/widget/SpellChecker;
-Landroid/widget/SpellChecker;-><init>(Landroid/widget/TextView;)V
-Landroid/widget/SpellChecker;->addSpellCheckSpan(Landroid/text/Editable;II)V
-Landroid/widget/SpellChecker;->AVERAGE_WORD_LENGTH:I
-Landroid/widget/SpellChecker;->closeSession()V
-Landroid/widget/SpellChecker;->createMisspelledSuggestionSpan(Landroid/text/Editable;Landroid/view/textservice/SuggestionsInfo;Landroid/text/style/SpellCheckSpan;II)V
-Landroid/widget/SpellChecker;->DBG:Z
-Landroid/widget/SpellChecker;->haveWordBoundariesChanged(Landroid/text/Editable;IIII)Z
-Landroid/widget/SpellChecker;->isSessionActive()Z
-Landroid/widget/SpellChecker;->MAX_NUMBER_OF_WORDS:I
-Landroid/widget/SpellChecker;->mCookie:I
-Landroid/widget/SpellChecker;->mCurrentLocale:Ljava/util/Locale;
-Landroid/widget/SpellChecker;->mIds:[I
-Landroid/widget/SpellChecker;->MIN_SENTENCE_LENGTH:I
-Landroid/widget/SpellChecker;->mIsSentenceSpellCheckSupported:Z
-Landroid/widget/SpellChecker;->mLength:I
-Landroid/widget/SpellChecker;->mSpanSequenceCounter:I
-Landroid/widget/SpellChecker;->mSpellCheckerSession:Landroid/view/textservice/SpellCheckerSession;
-Landroid/widget/SpellChecker;->mSpellCheckSpans:[Landroid/text/style/SpellCheckSpan;
-Landroid/widget/SpellChecker;->mSpellParsers:[Landroid/widget/SpellChecker$SpellParser;
-Landroid/widget/SpellChecker;->mSpellRunnable:Ljava/lang/Runnable;
-Landroid/widget/SpellChecker;->mSuggestionSpanCache:Landroid/util/LruCache;
-Landroid/widget/SpellChecker;->mTextServicesManager:Landroid/view/textservice/TextServicesManager;
-Landroid/widget/SpellChecker;->mTextView:Landroid/widget/TextView;
-Landroid/widget/SpellChecker;->mWordIterator:Landroid/text/method/WordIterator;
-Landroid/widget/SpellChecker;->nextSpellCheckSpanIndex()I
-Landroid/widget/SpellChecker;->onGetSuggestionsInternal(Landroid/view/textservice/SuggestionsInfo;II)Landroid/text/style/SpellCheckSpan;
-Landroid/widget/SpellChecker;->onSelectionChanged()V
-Landroid/widget/SpellChecker;->onSpellCheckSpanRemoved(Landroid/text/style/SpellCheckSpan;)V
-Landroid/widget/SpellChecker;->resetSession()V
-Landroid/widget/SpellChecker;->scheduleNewSpellCheck()V
-Landroid/widget/SpellChecker;->setLocale(Ljava/util/Locale;)V
-Landroid/widget/SpellChecker;->spellCheck()V
-Landroid/widget/SpellChecker;->spellCheck(II)V
-Landroid/widget/SpellChecker;->SPELL_PAUSE_DURATION:I
-Landroid/widget/SpellChecker;->SUGGESTION_SPAN_CACHE_SIZE:I
-Landroid/widget/SpellChecker;->TAG:Ljava/lang/String;
-Landroid/widget/SpellChecker;->USE_SPAN_RANGE:I
-Landroid/widget/SpellChecker;->WORD_ITERATOR_INTERVAL:I
-Landroid/widget/Spinner$DialogPopup;
-Landroid/widget/Spinner$DialogPopup;-><init>()V
-Landroid/widget/Spinner$DialogPopup;->dismiss()V
-Landroid/widget/Spinner$DialogPopup;->getBackground()Landroid/graphics/drawable/Drawable;
-Landroid/widget/Spinner$DialogPopup;->getHintText()Ljava/lang/CharSequence;
-Landroid/widget/Spinner$DialogPopup;->getHorizontalOffset()I
-Landroid/widget/Spinner$DialogPopup;->getVerticalOffset()I
-Landroid/widget/Spinner$DialogPopup;->mListAdapter:Landroid/widget/ListAdapter;
-Landroid/widget/Spinner$DialogPopup;->mPopup:Landroid/app/AlertDialog;
-Landroid/widget/Spinner$DialogPopup;->mPrompt:Ljava/lang/CharSequence;
-Landroid/widget/Spinner$DialogPopup;->setAdapter(Landroid/widget/ListAdapter;)V
-Landroid/widget/Spinner$DialogPopup;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
-Landroid/widget/Spinner$DialogPopup;->setHorizontalOffset(I)V
-Landroid/widget/Spinner$DialogPopup;->setPromptText(Ljava/lang/CharSequence;)V
-Landroid/widget/Spinner$DialogPopup;->setVerticalOffset(I)V
-Landroid/widget/Spinner$DialogPopup;->show(II)V
-Landroid/widget/Spinner$DropDownAdapter;
-Landroid/widget/Spinner$DropDownAdapter;-><init>(Landroid/widget/SpinnerAdapter;Landroid/content/res/Resources$Theme;)V
-Landroid/widget/Spinner$DropDownAdapter;->mAdapter:Landroid/widget/SpinnerAdapter;
-Landroid/widget/Spinner$DropDownAdapter;->mListAdapter:Landroid/widget/ListAdapter;
-Landroid/widget/Spinner$DropdownPopup;
-Landroid/widget/Spinner$DropdownPopup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/widget/Spinner$DropdownPopup;->computeContentWidth()V
-Landroid/widget/Spinner$DropdownPopup;->getHintText()Ljava/lang/CharSequence;
-Landroid/widget/Spinner$DropdownPopup;->mAdapter:Landroid/widget/ListAdapter;
-Landroid/widget/Spinner$DropdownPopup;->mHintText:Ljava/lang/CharSequence;
-Landroid/widget/Spinner$DropdownPopup;->setPromptText(Ljava/lang/CharSequence;)V
-Landroid/widget/Spinner$DropdownPopup;->show(II)V
-Landroid/widget/Spinner$SavedState;
-Landroid/widget/Spinner$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/Spinner$SavedState;-><init>(Landroid/os/Parcelable;)V
-Landroid/widget/Spinner$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/widget/Spinner$SavedState;->showDropdown:Z
-Landroid/widget/Spinner$SpinnerPopup;
-Landroid/widget/Spinner$SpinnerPopup;->dismiss()V
-Landroid/widget/Spinner$SpinnerPopup;->getBackground()Landroid/graphics/drawable/Drawable;
-Landroid/widget/Spinner$SpinnerPopup;->getHintText()Ljava/lang/CharSequence;
-Landroid/widget/Spinner$SpinnerPopup;->getHorizontalOffset()I
-Landroid/widget/Spinner$SpinnerPopup;->getVerticalOffset()I
-Landroid/widget/Spinner$SpinnerPopup;->setAdapter(Landroid/widget/ListAdapter;)V
-Landroid/widget/Spinner$SpinnerPopup;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
-Landroid/widget/Spinner$SpinnerPopup;->setHorizontalOffset(I)V
-Landroid/widget/Spinner$SpinnerPopup;->setPromptText(Ljava/lang/CharSequence;)V
-Landroid/widget/Spinner$SpinnerPopup;->setVerticalOffset(I)V
-Landroid/widget/Spinner$SpinnerPopup;->show(II)V
-Landroid/widget/Spinner;->layout(IZ)V
-Landroid/widget/Spinner;->makeView(IZ)Landroid/view/View;
-Landroid/widget/Spinner;->MAX_ITEMS_MEASURED:I
-Landroid/widget/Spinner;->mDisableChildrenWhenDisabled:Z
-Landroid/widget/Spinner;->mDropDownWidth:I
-Landroid/widget/Spinner;->measureContentWidth(Landroid/widget/SpinnerAdapter;Landroid/graphics/drawable/Drawable;)I
-Landroid/widget/Spinner;->mGravity:I
-Landroid/widget/Spinner;->MODE_THEME:I
-Landroid/widget/Spinner;->mPopupContext:Landroid/content/Context;
-Landroid/widget/Spinner;->mTempAdapter:Landroid/widget/SpinnerAdapter;
-Landroid/widget/Spinner;->mTempRect:Landroid/graphics/Rect;
-Landroid/widget/Spinner;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/Spinner;->setUpChild(Landroid/view/View;Z)V
-Landroid/widget/Spinner;->TAG:Ljava/lang/String;
-Landroid/widget/StackView$HolographicHelper;
-Landroid/widget/StackView$HolographicHelper;-><init>(Landroid/content/Context;)V
-Landroid/widget/StackView$HolographicHelper;->CLICK_FEEDBACK:I
-Landroid/widget/StackView$HolographicHelper;->createClickOutline(Landroid/view/View;I)Landroid/graphics/Bitmap;
-Landroid/widget/StackView$HolographicHelper;->createOutline(Landroid/view/View;II)Landroid/graphics/Bitmap;
-Landroid/widget/StackView$HolographicHelper;->createResOutline(Landroid/view/View;I)Landroid/graphics/Bitmap;
-Landroid/widget/StackView$HolographicHelper;->drawOutline(Landroid/graphics/Canvas;Landroid/graphics/Bitmap;)V
-Landroid/widget/StackView$HolographicHelper;->mBlurPaint:Landroid/graphics/Paint;
-Landroid/widget/StackView$HolographicHelper;->mCanvas:Landroid/graphics/Canvas;
-Landroid/widget/StackView$HolographicHelper;->mDensity:F
-Landroid/widget/StackView$HolographicHelper;->mErasePaint:Landroid/graphics/Paint;
-Landroid/widget/StackView$HolographicHelper;->mHolographicPaint:Landroid/graphics/Paint;
-Landroid/widget/StackView$HolographicHelper;->mIdentityMatrix:Landroid/graphics/Matrix;
-Landroid/widget/StackView$HolographicHelper;->mLargeBlurMaskFilter:Landroid/graphics/BlurMaskFilter;
-Landroid/widget/StackView$HolographicHelper;->mMaskCanvas:Landroid/graphics/Canvas;
-Landroid/widget/StackView$HolographicHelper;->mSmallBlurMaskFilter:Landroid/graphics/BlurMaskFilter;
-Landroid/widget/StackView$HolographicHelper;->mTmpXY:[I
-Landroid/widget/StackView$HolographicHelper;->RES_OUT:I
-Landroid/widget/StackView$LayoutParams;
-Landroid/widget/StackView$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/widget/StackView$LayoutParams;-><init>(Landroid/view/View;)V
-Landroid/widget/StackView$LayoutParams;->getInvalidateRect()Landroid/graphics/Rect;
-Landroid/widget/StackView$LayoutParams;->globalInvalidateRect:Landroid/graphics/Rect;
-Landroid/widget/StackView$LayoutParams;->horizontalOffset:I
-Landroid/widget/StackView$LayoutParams;->invalidateGlobalRegion(Landroid/view/View;Landroid/graphics/Rect;)V
-Landroid/widget/StackView$LayoutParams;->invalidateRect:Landroid/graphics/Rect;
-Landroid/widget/StackView$LayoutParams;->invalidateRectf:Landroid/graphics/RectF;
-Landroid/widget/StackView$LayoutParams;->mView:Landroid/view/View;
-Landroid/widget/StackView$LayoutParams;->parentRect:Landroid/graphics/Rect;
-Landroid/widget/StackView$LayoutParams;->resetInvalidateRect()V
-Landroid/widget/StackView$LayoutParams;->setHorizontalOffset(I)V
-Landroid/widget/StackView$LayoutParams;->setOffsets(II)V
-Landroid/widget/StackView$LayoutParams;->setVerticalOffset(I)V
-Landroid/widget/StackView$LayoutParams;->verticalOffset:I
-Landroid/widget/StackView$StackFrame;
-Landroid/widget/StackView$StackFrame;-><init>(Landroid/content/Context;)V
-Landroid/widget/StackView$StackFrame;->cancelSliderAnimator()Z
-Landroid/widget/StackView$StackFrame;->cancelTransformAnimator()Z
-Landroid/widget/StackView$StackFrame;->setSliderAnimator(Landroid/animation/ObjectAnimator;)V
-Landroid/widget/StackView$StackFrame;->setTransformAnimator(Landroid/animation/ObjectAnimator;)V
-Landroid/widget/StackView$StackFrame;->sliderAnimator:Ljava/lang/ref/WeakReference;
-Landroid/widget/StackView$StackFrame;->transformAnimator:Ljava/lang/ref/WeakReference;
-Landroid/widget/StackView$StackSlider;
-Landroid/widget/StackView$StackSlider;-><init>()V
-Landroid/widget/StackView$StackSlider;-><init>(Landroid/widget/StackView$StackSlider;)V
-Landroid/widget/StackView$StackSlider;->BEGINNING_OF_STACK_MODE:I
-Landroid/widget/StackView$StackSlider;->cubic(F)F
-Landroid/widget/StackView$StackSlider;->END_OF_STACK_MODE:I
-Landroid/widget/StackView$StackSlider;->getDuration(ZF)F
-Landroid/widget/StackView$StackSlider;->getDurationForNeutralPosition()F
-Landroid/widget/StackView$StackSlider;->getDurationForNeutralPosition(F)F
-Landroid/widget/StackView$StackSlider;->getDurationForOffscreenPosition()F
-Landroid/widget/StackView$StackSlider;->getDurationForOffscreenPosition(F)F
-Landroid/widget/StackView$StackSlider;->getXProgress()F
-Landroid/widget/StackView$StackSlider;->getYProgress()F
-Landroid/widget/StackView$StackSlider;->highlightAlphaInterpolator(F)F
-Landroid/widget/StackView$StackSlider;->mMode:I
-Landroid/widget/StackView$StackSlider;->mView:Landroid/view/View;
-Landroid/widget/StackView$StackSlider;->mXProgress:F
-Landroid/widget/StackView$StackSlider;->mYProgress:F
-Landroid/widget/StackView$StackSlider;->NORMAL_MODE:I
-Landroid/widget/StackView$StackSlider;->rotationInterpolator(F)F
-Landroid/widget/StackView$StackSlider;->setMode(I)V
-Landroid/widget/StackView$StackSlider;->setView(Landroid/view/View;)V
-Landroid/widget/StackView$StackSlider;->setXProgress(F)V
-Landroid/widget/StackView$StackSlider;->setYProgress(F)V
-Landroid/widget/StackView$StackSlider;->viewAlphaInterpolator(F)F
-Landroid/widget/StackView;->applyTransformForChildAtIndex(Landroid/view/View;I)V
-Landroid/widget/StackView;->beginGestureIfNeeded(F)V
-Landroid/widget/StackView;->createOrReuseLayoutParams(Landroid/view/View;)Landroid/widget/StackView$LayoutParams;
-Landroid/widget/StackView;->DEFAULT_ANIMATION_DURATION:I
-Landroid/widget/StackView;->FRAME_PADDING:I
-Landroid/widget/StackView;->GESTURE_NONE:I
-Landroid/widget/StackView;->GESTURE_SLIDE_DOWN:I
-Landroid/widget/StackView;->GESTURE_SLIDE_UP:I
-Landroid/widget/StackView;->getFrameForChild()Landroid/widget/FrameLayout;
-Landroid/widget/StackView;->handlePointerUp(Landroid/view/MotionEvent;)V
-Landroid/widget/StackView;->hideTapFeedback(Landroid/view/View;)V
-Landroid/widget/StackView;->initStackView()V
-Landroid/widget/StackView;->INVALID_POINTER:I
-Landroid/widget/StackView;->ITEMS_SLIDE_DOWN:I
-Landroid/widget/StackView;->ITEMS_SLIDE_UP:I
-Landroid/widget/StackView;->mActivePointerId:I
-Landroid/widget/StackView;->mClickColor:I
-Landroid/widget/StackView;->mClickFeedback:Landroid/widget/ImageView;
-Landroid/widget/StackView;->mClickFeedbackIsValid:Z
-Landroid/widget/StackView;->measureChildren()V
-Landroid/widget/StackView;->mFirstLayoutHappened:Z
-Landroid/widget/StackView;->mFramePadding:I
-Landroid/widget/StackView;->mHighlight:Landroid/widget/ImageView;
-Landroid/widget/StackView;->MINIMUM_ANIMATION_DURATION:I
-Landroid/widget/StackView;->mInitialX:F
-Landroid/widget/StackView;->mInitialY:F
-Landroid/widget/StackView;->MIN_TIME_BETWEEN_INTERACTION_AND_AUTOADVANCE:I
-Landroid/widget/StackView;->MIN_TIME_BETWEEN_SCROLLS:J
-Landroid/widget/StackView;->mLastInteractionTime:J
-Landroid/widget/StackView;->mLastScrollTime:J
-Landroid/widget/StackView;->mMaximumVelocity:I
-Landroid/widget/StackView;->mNewPerspectiveShiftX:F
-Landroid/widget/StackView;->mNewPerspectiveShiftY:F
-Landroid/widget/StackView;->mPerspectiveShiftX:F
-Landroid/widget/StackView;->mPerspectiveShiftY:F
-Landroid/widget/StackView;->mResOutColor:I
-Landroid/widget/StackView;->mSlideAmount:I
-Landroid/widget/StackView;->mStackMode:I
-Landroid/widget/StackView;->mStackSlider:Landroid/widget/StackView$StackSlider;
-Landroid/widget/StackView;->mSwipeGestureType:I
-Landroid/widget/StackView;->mSwipeThreshold:I
-Landroid/widget/StackView;->mTouchRect:Landroid/graphics/Rect;
-Landroid/widget/StackView;->mTouchSlop:I
-Landroid/widget/StackView;->mTransitionIsSetup:Z
-Landroid/widget/StackView;->mVelocityTracker:Landroid/view/VelocityTracker;
-Landroid/widget/StackView;->mYVelocity:I
-Landroid/widget/StackView;->NUM_ACTIVE_VIEWS:I
-Landroid/widget/StackView;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/StackView;->onLayout()V
-Landroid/widget/StackView;->onSecondaryPointerUp(Landroid/view/MotionEvent;)V
-Landroid/widget/StackView;->pacedScroll(Z)V
-Landroid/widget/StackView;->performAccessibilityActionInternal(ILandroid/os/Bundle;)Z
-Landroid/widget/StackView;->PERSPECTIVE_SCALE_FACTOR:F
-Landroid/widget/StackView;->PERSPECTIVE_SHIFT_FACTOR_X:F
-Landroid/widget/StackView;->PERSPECTIVE_SHIFT_FACTOR_Y:F
-Landroid/widget/StackView;->setupStackSlider(Landroid/view/View;I)V
-Landroid/widget/StackView;->sHolographicHelper:Landroid/widget/StackView$HolographicHelper;
-Landroid/widget/StackView;->showOnly(IZ)V
-Landroid/widget/StackView;->showTapFeedback(Landroid/view/View;)V
-Landroid/widget/StackView;->SLIDE_UP_RATIO:F
-Landroid/widget/StackView;->stackInvalidateRect:Landroid/graphics/Rect;
-Landroid/widget/StackView;->STACK_RELAYOUT_DURATION:I
-Landroid/widget/StackView;->SWIPE_THRESHOLD_RATIO:F
-Landroid/widget/StackView;->TAG:Ljava/lang/String;
-Landroid/widget/StackView;->transformViewAtIndex(ILandroid/view/View;Z)V
-Landroid/widget/StackView;->transformViewForTransition(IILandroid/view/View;Z)V
-Landroid/widget/StackView;->updateChildTransforms()V
-Landroid/widget/StackView;->updateClickFeedback()V
-Landroid/widget/Switch;->animateThumbToCheckedState(Z)V
-Landroid/widget/Switch;->applyThumbTint()V
-Landroid/widget/Switch;->applyTrackTint()V
-Landroid/widget/Switch;->cancelSuperTouch(Landroid/view/MotionEvent;)V
-Landroid/widget/Switch;->CHECKED_STATE_SET:[I
-Landroid/widget/Switch;->getTargetCheckedState()Z
-Landroid/widget/Switch;->getThumbOffset()I
-Landroid/widget/Switch;->getThumbScrollRange()I
-Landroid/widget/Switch;->hitThumb(FF)Z
-Landroid/widget/Switch;->makeLayout(Ljava/lang/CharSequence;)Landroid/text/Layout;
-Landroid/widget/Switch;->mHasThumbTint:Z
-Landroid/widget/Switch;->mHasThumbTintMode:Z
-Landroid/widget/Switch;->mHasTrackTint:Z
-Landroid/widget/Switch;->mHasTrackTintMode:Z
-Landroid/widget/Switch;->mMinFlingVelocity:I
-Landroid/widget/Switch;->MONOSPACE:I
-Landroid/widget/Switch;->mPositionAnimator:Landroid/animation/ObjectAnimator;
-Landroid/widget/Switch;->mShowText:Z
-Landroid/widget/Switch;->mSplitTrack:Z
-Landroid/widget/Switch;->mSwitchBottom:I
-Landroid/widget/Switch;->mSwitchLeft:I
-Landroid/widget/Switch;->mSwitchPadding:I
-Landroid/widget/Switch;->mSwitchRight:I
-Landroid/widget/Switch;->mSwitchTop:I
-Landroid/widget/Switch;->mSwitchTransformationMethod:Landroid/text/method/TransformationMethod2;
-Landroid/widget/Switch;->mTempRect:Landroid/graphics/Rect;
-Landroid/widget/Switch;->mTextColors:Landroid/content/res/ColorStateList;
-Landroid/widget/Switch;->mTextOff:Ljava/lang/CharSequence;
-Landroid/widget/Switch;->mTextOn:Ljava/lang/CharSequence;
-Landroid/widget/Switch;->mTextPaint:Landroid/text/TextPaint;
-Landroid/widget/Switch;->mThumbPosition:F
-Landroid/widget/Switch;->mThumbTextPadding:I
-Landroid/widget/Switch;->mThumbTintList:Landroid/content/res/ColorStateList;
-Landroid/widget/Switch;->mThumbTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/widget/Switch;->mTouchMode:I
-Landroid/widget/Switch;->mTouchSlop:I
-Landroid/widget/Switch;->mTouchX:F
-Landroid/widget/Switch;->mTouchY:F
-Landroid/widget/Switch;->mTrackTintList:Landroid/content/res/ColorStateList;
-Landroid/widget/Switch;->mTrackTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/widget/Switch;->mUseFallbackLineSpacing:Z
-Landroid/widget/Switch;->mVelocityTracker:Landroid/view/VelocityTracker;
-Landroid/widget/Switch;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/Switch;->onPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/widget/Switch;->onProvideAutoFillStructureForAssistOrAutofill(Landroid/view/ViewStructure;)V
-Landroid/widget/Switch;->SANS:I
-Landroid/widget/Switch;->SERIF:I
-Landroid/widget/Switch;->setSwitchTypefaceByIndex(II)V
-Landroid/widget/Switch;->stopDrag(Landroid/view/MotionEvent;)V
-Landroid/widget/Switch;->THUMB_ANIMATION_DURATION:I
-Landroid/widget/Switch;->THUMB_POS:Landroid/util/FloatProperty;
-Landroid/widget/Switch;->TOUCH_MODE_DOWN:I
-Landroid/widget/Switch;->TOUCH_MODE_DRAGGING:I
-Landroid/widget/Switch;->TOUCH_MODE_IDLE:I
-Landroid/widget/TabHost$ContentStrategy;
-Landroid/widget/TabHost$ContentStrategy;->getContentView()Landroid/view/View;
-Landroid/widget/TabHost$ContentStrategy;->tabClosed()V
-Landroid/widget/TabHost$FactoryContentStrategy;
-Landroid/widget/TabHost$FactoryContentStrategy;-><init>(Ljava/lang/CharSequence;Landroid/widget/TabHost$TabContentFactory;)V
-Landroid/widget/TabHost$FactoryContentStrategy;->getContentView()Landroid/view/View;
-Landroid/widget/TabHost$FactoryContentStrategy;->mFactory:Landroid/widget/TabHost$TabContentFactory;
-Landroid/widget/TabHost$FactoryContentStrategy;->mTabContent:Landroid/view/View;
-Landroid/widget/TabHost$FactoryContentStrategy;->mTag:Ljava/lang/CharSequence;
-Landroid/widget/TabHost$FactoryContentStrategy;->tabClosed()V
-Landroid/widget/TabHost$IndicatorStrategy;
-Landroid/widget/TabHost$IndicatorStrategy;->createIndicatorView()Landroid/view/View;
-Landroid/widget/TabHost$IntentContentStrategy;
-Landroid/widget/TabHost$IntentContentStrategy;-><init>(Ljava/lang/String;Landroid/content/Intent;)V
-Landroid/widget/TabHost$IntentContentStrategy;->mIntent:Landroid/content/Intent;
-Landroid/widget/TabHost$IntentContentStrategy;->mLaunchedView:Landroid/view/View;
-Landroid/widget/TabHost$IntentContentStrategy;->mTag:Ljava/lang/String;
-Landroid/widget/TabHost$LabelAndIconIndicatorStrategy;
-Landroid/widget/TabHost$LabelAndIconIndicatorStrategy;-><init>(Ljava/lang/CharSequence;Landroid/graphics/drawable/Drawable;)V
-Landroid/widget/TabHost$LabelAndIconIndicatorStrategy;->createIndicatorView()Landroid/view/View;
-Landroid/widget/TabHost$LabelAndIconIndicatorStrategy;->mIcon:Landroid/graphics/drawable/Drawable;
-Landroid/widget/TabHost$LabelAndIconIndicatorStrategy;->mLabel:Ljava/lang/CharSequence;
-Landroid/widget/TabHost$LabelIndicatorStrategy;
-Landroid/widget/TabHost$LabelIndicatorStrategy;-><init>(Ljava/lang/CharSequence;)V
-Landroid/widget/TabHost$LabelIndicatorStrategy;->createIndicatorView()Landroid/view/View;
-Landroid/widget/TabHost$LabelIndicatorStrategy;->mLabel:Ljava/lang/CharSequence;
-Landroid/widget/TabHost$TabSpec;-><init>(Ljava/lang/String;)V
-Landroid/widget/TabHost$TabSpec;->mTag:Ljava/lang/String;
-Landroid/widget/TabHost$ViewIdContentStrategy;
-Landroid/widget/TabHost$ViewIdContentStrategy;-><init>(I)V
-Landroid/widget/TabHost$ViewIdContentStrategy;->getContentView()Landroid/view/View;
-Landroid/widget/TabHost$ViewIdContentStrategy;->mView:Landroid/view/View;
-Landroid/widget/TabHost$ViewIdContentStrategy;->tabClosed()V
-Landroid/widget/TabHost$ViewIndicatorStrategy;
-Landroid/widget/TabHost$ViewIndicatorStrategy;-><init>(Landroid/view/View;)V
-Landroid/widget/TabHost$ViewIndicatorStrategy;->createIndicatorView()Landroid/view/View;
-Landroid/widget/TabHost$ViewIndicatorStrategy;->mView:Landroid/view/View;
-Landroid/widget/TabHost;->getTabWidgetLocation()I
-Landroid/widget/TabHost;->initTabHost()V
-Landroid/widget/TabHost;->invokeOnTabChangeListener()V
-Landroid/widget/TabHost;->mCurrentView:Landroid/view/View;
-Landroid/widget/TabHost;->mLocalActivityManager:Landroid/app/LocalActivityManager;
-Landroid/widget/TabHost;->mTabContent:Landroid/widget/FrameLayout;
-Landroid/widget/TabHost;->mTabKeyListener:Landroid/view/View$OnKeyListener;
-Landroid/widget/TabHost;->mTabLayoutId:I
-Landroid/widget/TabHost;->mTabWidget:Landroid/widget/TabWidget;
-Landroid/widget/TabHost;->sendAccessibilityEventInternal(I)V
-Landroid/widget/TabHost;->TABWIDGET_LOCATION_BOTTOM:I
-Landroid/widget/TabHost;->TABWIDGET_LOCATION_LEFT:I
-Landroid/widget/TabHost;->TABWIDGET_LOCATION_RIGHT:I
-Landroid/widget/TabHost;->TABWIDGET_LOCATION_TOP:I
-Landroid/widget/TableLayout$PassThroughHierarchyChangeListener;
-Landroid/widget/TableLayout$PassThroughHierarchyChangeListener;-><init>()V
-Landroid/widget/TableLayout$PassThroughHierarchyChangeListener;->mOnHierarchyChangeListener:Landroid/view/ViewGroup$OnHierarchyChangeListener;
-Landroid/widget/TableLayout;->findLargestCells(II)V
-Landroid/widget/TableLayout;->initTableLayout()V
-Landroid/widget/TableLayout;->mCollapsedColumns:Landroid/util/SparseBooleanArray;
-Landroid/widget/TableLayout;->measureChildBeforeLayout(Landroid/view/View;IIIII)V
-Landroid/widget/TableLayout;->measureVertical(II)V
-Landroid/widget/TableLayout;->mInitialized:Z
-Landroid/widget/TableLayout;->mMaxWidths:[I
-Landroid/widget/TableLayout;->mPassThroughListener:Landroid/widget/TableLayout$PassThroughHierarchyChangeListener;
-Landroid/widget/TableLayout;->mShrinkableColumns:Landroid/util/SparseBooleanArray;
-Landroid/widget/TableLayout;->mShrinkAllColumns:Z
-Landroid/widget/TableLayout;->mStretchableColumns:Landroid/util/SparseBooleanArray;
-Landroid/widget/TableLayout;->mStretchAllColumns:Z
-Landroid/widget/TableLayout;->mutateColumnsWidth(Landroid/util/SparseBooleanArray;ZII)V
-Landroid/widget/TableLayout;->parseColumns(Ljava/lang/String;)Landroid/util/SparseBooleanArray;
-Landroid/widget/TableLayout;->requestRowsLayout()V
-Landroid/widget/TableLayout;->shrinkAndStretchColumns(I)V
-Landroid/widget/TableLayout;->trackCollapsedColumns(Landroid/view/View;)V
-Landroid/widget/TableRow$ChildrenTracker;
-Landroid/widget/TableRow$ChildrenTracker;-><init>()V
-Landroid/widget/TableRow$ChildrenTracker;->listener:Landroid/view/ViewGroup$OnHierarchyChangeListener;
-Landroid/widget/TableRow$ChildrenTracker;->setOnHierarchyChangeListener(Landroid/view/ViewGroup$OnHierarchyChangeListener;)V
-Landroid/widget/TableRow$LayoutParams;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/widget/TableRow$LayoutParams;->LOCATION:I
-Landroid/widget/TableRow$LayoutParams;->LOCATION_NEXT:I
-Landroid/widget/TableRow$LayoutParams;->mOffset:[I
-Landroid/widget/TableRow;->getChildrenSkipCount(Landroid/view/View;I)I
-Landroid/widget/TableRow;->getColumnsWidths(II)[I
-Landroid/widget/TableRow;->getLocationOffset(Landroid/view/View;)I
-Landroid/widget/TableRow;->getNextLocationOffset(Landroid/view/View;)I
-Landroid/widget/TableRow;->initTableRow()V
-Landroid/widget/TableRow;->mapIndexAndColumns()V
-Landroid/widget/TableRow;->mChildrenTracker:Landroid/widget/TableRow$ChildrenTracker;
-Landroid/widget/TableRow;->mColumnToChildIndex:Landroid/util/SparseIntArray;
-Landroid/widget/TableRow;->mColumnWidths:[I
-Landroid/widget/TableRow;->mConstrainedColumnWidths:[I
-Landroid/widget/TableRow;->measureChildBeforeLayout(Landroid/view/View;IIIII)V
-Landroid/widget/TableRow;->measureNullChild(I)I
-Landroid/widget/TableRow;->mNumColumns:I
-Landroid/widget/TableRow;->setColumnCollapsed(IZ)V
-Landroid/widget/TableRow;->setColumnsWidthConstraints([I)V
-Landroid/widget/TabWidget$OnTabSelectionChanged;
-Landroid/widget/TabWidget$OnTabSelectionChanged;->onTabSelectionChanged(IZ)V
-Landroid/widget/TabWidget$TabClickListener;
-Landroid/widget/TabWidget$TabClickListener;-><init>(I)V
-Landroid/widget/TabWidget$TabClickListener;->mTabIndex:I
-Landroid/widget/TabWidget;->mBounds:Landroid/graphics/Rect;
-Landroid/widget/TabWidget;->measureChildBeforeLayout(Landroid/view/View;IIIII)V
-Landroid/widget/TabWidget;->measureHorizontal(II)V
-Landroid/widget/TabWidget;->mImposedTabsHeight:I
-Landroid/widget/TabWidget;->mImposedTabWidths:[I
-Landroid/widget/TabWidget;->mLeftStrip:Landroid/graphics/drawable/Drawable;
-Landroid/widget/TabWidget;->mRightStrip:Landroid/graphics/drawable/Drawable;
-Landroid/widget/TabWidget;->mSelectionChangedListener:Landroid/widget/TabWidget$OnTabSelectionChanged;
-Landroid/widget/TabWidget;->mStripMoved:Z
-Landroid/widget/TabWidget;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/widget/TextClock$FormatChangeObserver;
-Landroid/widget/TextClock$FormatChangeObserver;-><init>(Landroid/os/Handler;)V
-Landroid/widget/TextClock;->abc(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-Landroid/widget/TextClock;->chooseFormat()V
-Landroid/widget/TextClock;->createTime(Ljava/lang/String;)V
-Landroid/widget/TextClock;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/widget/TextClock;->init()V
-Landroid/widget/TextClock;->mDescFormat12:Ljava/lang/CharSequence;
-Landroid/widget/TextClock;->mDescFormat24:Ljava/lang/CharSequence;
-Landroid/widget/TextClock;->mDescFormat:Ljava/lang/CharSequence;
-Landroid/widget/TextClock;->mFormat12:Ljava/lang/CharSequence;
-Landroid/widget/TextClock;->mFormat24:Ljava/lang/CharSequence;
-Landroid/widget/TextClock;->mFormat:Ljava/lang/CharSequence;
-Landroid/widget/TextClock;->mFormatChangeObserver:Landroid/database/ContentObserver;
-Landroid/widget/TextClock;->mHasSeconds:Z
-Landroid/widget/TextClock;->mIntentReceiver:Landroid/content/BroadcastReceiver;
-Landroid/widget/TextClock;->mRegistered:Z
-Landroid/widget/TextClock;->mShouldRunTicker:Z
-Landroid/widget/TextClock;->mShowCurrentUserTime:Z
-Landroid/widget/TextClock;->mStopTicking:Z
-Landroid/widget/TextClock;->mTicker:Ljava/lang/Runnable;
-Landroid/widget/TextClock;->mTime:Ljava/util/Calendar;
-Landroid/widget/TextClock;->mTimeZone:Ljava/lang/String;
-Landroid/widget/TextClock;->refresh()V
-Landroid/widget/TextClock;->registerObserver()V
-Landroid/widget/TextClock;->registerReceiver()V
-Landroid/widget/TextClock;->setContentDescriptionFormat12Hour(Ljava/lang/CharSequence;)V
-Landroid/widget/TextClock;->setContentDescriptionFormat24Hour(Ljava/lang/CharSequence;)V
-Landroid/widget/TextClock;->setShowCurrentUserTime(Z)V
-Landroid/widget/TextClock;->unregisterObserver()V
-Landroid/widget/TextClock;->unregisterReceiver()V
-Landroid/widget/TextInputTimePickerView$OnValueTypedListener;
-Landroid/widget/TextInputTimePickerView$OnValueTypedListener;->onValueChanged(II)V
-Landroid/widget/TextInputTimePickerView;
-Landroid/widget/TextInputTimePickerView;-><init>(Landroid/content/Context;)V
-Landroid/widget/TextInputTimePickerView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/widget/TextInputTimePickerView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/widget/TextInputTimePickerView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/widget/TextInputTimePickerView;->AM:I
-Landroid/widget/TextInputTimePickerView;->AMPM:I
-Landroid/widget/TextInputTimePickerView;->getHourOfDayFromLocalizedHour(I)I
-Landroid/widget/TextInputTimePickerView;->HOURS:I
-Landroid/widget/TextInputTimePickerView;->isValidLocalizedHour(I)Z
-Landroid/widget/TextInputTimePickerView;->mAmPmSpinner:Landroid/widget/Spinner;
-Landroid/widget/TextInputTimePickerView;->mErrorLabel:Landroid/widget/TextView;
-Landroid/widget/TextInputTimePickerView;->mErrorShowing:Z
-Landroid/widget/TextInputTimePickerView;->mHourEditText:Landroid/widget/EditText;
-Landroid/widget/TextInputTimePickerView;->mHourFormatStartsAtZero:Z
-Landroid/widget/TextInputTimePickerView;->mHourLabel:Landroid/widget/TextView;
-Landroid/widget/TextInputTimePickerView;->mInputSeparatorView:Landroid/widget/TextView;
-Landroid/widget/TextInputTimePickerView;->MINUTES:I
-Landroid/widget/TextInputTimePickerView;->mIs24Hour:Z
-Landroid/widget/TextInputTimePickerView;->mListener:Landroid/widget/TextInputTimePickerView$OnValueTypedListener;
-Landroid/widget/TextInputTimePickerView;->mMinuteEditText:Landroid/widget/EditText;
-Landroid/widget/TextInputTimePickerView;->mMinuteLabel:Landroid/widget/TextView;
-Landroid/widget/TextInputTimePickerView;->parseAndSetHourInternal(Ljava/lang/String;)Z
-Landroid/widget/TextInputTimePickerView;->parseAndSetMinuteInternal(Ljava/lang/String;)Z
-Landroid/widget/TextInputTimePickerView;->PM:I
-Landroid/widget/TextInputTimePickerView;->setError(Z)V
-Landroid/widget/TextInputTimePickerView;->setHourFormat(I)V
-Landroid/widget/TextInputTimePickerView;->setListener(Landroid/widget/TextInputTimePickerView$OnValueTypedListener;)V
-Landroid/widget/TextInputTimePickerView;->updateSeparator(Ljava/lang/String;)V
-Landroid/widget/TextInputTimePickerView;->updateTextInputValues(IIIZZ)V
-Landroid/widget/TextInputTimePickerView;->validateInput()Z
-Landroid/widget/TextView$AutoSizeTextType;
-Landroid/widget/TextView$BufferType;-><init>()V
-Landroid/widget/TextView$ChangeWatcher;
-Landroid/widget/TextView$ChangeWatcher;-><init>()V
-Landroid/widget/TextView$ChangeWatcher;->mBeforeText:Ljava/lang/CharSequence;
-Landroid/widget/TextView$CharWrapper;
-Landroid/widget/TextView$CharWrapper;-><init>([CII)V
-Landroid/widget/TextView$CharWrapper;->drawText(Landroid/graphics/BaseCanvas;IIFFLandroid/graphics/Paint;)V
-Landroid/widget/TextView$CharWrapper;->drawTextRun(Landroid/graphics/BaseCanvas;IIIIFFZLandroid/graphics/Paint;)V
-Landroid/widget/TextView$CharWrapper;->getTextRunAdvances(IIIIZ[FILandroid/graphics/Paint;)F
-Landroid/widget/TextView$CharWrapper;->getTextRunCursor(IIIIILandroid/graphics/Paint;)I
-Landroid/widget/TextView$CharWrapper;->getTextWidths(II[FLandroid/graphics/Paint;)I
-Landroid/widget/TextView$CharWrapper;->mChars:[C
-Landroid/widget/TextView$CharWrapper;->measureText(IILandroid/graphics/Paint;)F
-Landroid/widget/TextView$CharWrapper;->mLength:I
-Landroid/widget/TextView$CharWrapper;->mStart:I
-Landroid/widget/TextView$CharWrapper;->set([CII)V
-Landroid/widget/TextView$Drawables;
-Landroid/widget/TextView$Drawables;-><init>(Landroid/content/Context;)V
-Landroid/widget/TextView$Drawables;->applyErrorDrawableIfNeeded(I)V
-Landroid/widget/TextView$Drawables;->BOTTOM:I
-Landroid/widget/TextView$Drawables;->DRAWABLE_LEFT:I
-Landroid/widget/TextView$Drawables;->DRAWABLE_NONE:I
-Landroid/widget/TextView$Drawables;->DRAWABLE_RIGHT:I
-Landroid/widget/TextView$Drawables;->hasMetadata()Z
-Landroid/widget/TextView$Drawables;->LEFT:I
-Landroid/widget/TextView$Drawables;->mCompoundRect:Landroid/graphics/Rect;
-Landroid/widget/TextView$Drawables;->mDrawableEnd:Landroid/graphics/drawable/Drawable;
-Landroid/widget/TextView$Drawables;->mDrawableError:Landroid/graphics/drawable/Drawable;
-Landroid/widget/TextView$Drawables;->mDrawableHeightEnd:I
-Landroid/widget/TextView$Drawables;->mDrawableHeightError:I
-Landroid/widget/TextView$Drawables;->mDrawableHeightLeft:I
-Landroid/widget/TextView$Drawables;->mDrawableHeightRight:I
-Landroid/widget/TextView$Drawables;->mDrawableHeightStart:I
-Landroid/widget/TextView$Drawables;->mDrawableHeightTemp:I
-Landroid/widget/TextView$Drawables;->mDrawableLeftInitial:Landroid/graphics/drawable/Drawable;
-Landroid/widget/TextView$Drawables;->mDrawablePadding:I
-Landroid/widget/TextView$Drawables;->mDrawableRightInitial:Landroid/graphics/drawable/Drawable;
-Landroid/widget/TextView$Drawables;->mDrawableSaved:I
-Landroid/widget/TextView$Drawables;->mDrawableSizeBottom:I
-Landroid/widget/TextView$Drawables;->mDrawableSizeEnd:I
-Landroid/widget/TextView$Drawables;->mDrawableSizeError:I
-Landroid/widget/TextView$Drawables;->mDrawableSizeLeft:I
-Landroid/widget/TextView$Drawables;->mDrawableSizeRight:I
-Landroid/widget/TextView$Drawables;->mDrawableSizeStart:I
-Landroid/widget/TextView$Drawables;->mDrawableSizeTemp:I
-Landroid/widget/TextView$Drawables;->mDrawableSizeTop:I
-Landroid/widget/TextView$Drawables;->mDrawableStart:Landroid/graphics/drawable/Drawable;
-Landroid/widget/TextView$Drawables;->mDrawableTemp:Landroid/graphics/drawable/Drawable;
-Landroid/widget/TextView$Drawables;->mDrawableWidthBottom:I
-Landroid/widget/TextView$Drawables;->mDrawableWidthTop:I
-Landroid/widget/TextView$Drawables;->mHasTint:Z
-Landroid/widget/TextView$Drawables;->mHasTintMode:Z
-Landroid/widget/TextView$Drawables;->mIsRtlCompatibilityMode:Z
-Landroid/widget/TextView$Drawables;->mOverride:Z
-Landroid/widget/TextView$Drawables;->mShowing:[Landroid/graphics/drawable/Drawable;
-Landroid/widget/TextView$Drawables;->mTintList:Landroid/content/res/ColorStateList;
-Landroid/widget/TextView$Drawables;->mTintMode:Landroid/graphics/PorterDuff$Mode;
-Landroid/widget/TextView$Drawables;->resolveWithLayoutDirection(I)Z
-Landroid/widget/TextView$Drawables;->RIGHT:I
-Landroid/widget/TextView$Drawables;->setErrorDrawable(Landroid/graphics/drawable/Drawable;Landroid/widget/TextView;)V
-Landroid/widget/TextView$Drawables;->TOP:I
-Landroid/widget/TextView$Marquee;
-Landroid/widget/TextView$Marquee;-><init>(Landroid/widget/TextView;)V
-Landroid/widget/TextView$Marquee;->getGhostOffset()F
-Landroid/widget/TextView$Marquee;->getMaxFadeScroll()F
-Landroid/widget/TextView$Marquee;->getScroll()F
-Landroid/widget/TextView$Marquee;->isRunning()Z
-Landroid/widget/TextView$Marquee;->isStopped()Z
-Landroid/widget/TextView$Marquee;->MARQUEE_DELAY:I
-Landroid/widget/TextView$Marquee;->MARQUEE_DELTA_MAX:F
-Landroid/widget/TextView$Marquee;->MARQUEE_DP_PER_SECOND:I
-Landroid/widget/TextView$Marquee;->MARQUEE_RUNNING:B
-Landroid/widget/TextView$Marquee;->MARQUEE_STARTING:B
-Landroid/widget/TextView$Marquee;->MARQUEE_STOPPED:B
-Landroid/widget/TextView$Marquee;->mChoreographer:Landroid/view/Choreographer;
-Landroid/widget/TextView$Marquee;->mFadeStop:F
-Landroid/widget/TextView$Marquee;->mGhostOffset:F
-Landroid/widget/TextView$Marquee;->mGhostStart:F
-Landroid/widget/TextView$Marquee;->mLastAnimationMs:J
-Landroid/widget/TextView$Marquee;->mMaxFadeScroll:F
-Landroid/widget/TextView$Marquee;->mMaxScroll:F
-Landroid/widget/TextView$Marquee;->mPixelsPerMs:F
-Landroid/widget/TextView$Marquee;->mRepeatLimit:I
-Landroid/widget/TextView$Marquee;->mRestartCallback:Landroid/view/Choreographer$FrameCallback;
-Landroid/widget/TextView$Marquee;->mScroll:F
-Landroid/widget/TextView$Marquee;->mStartCallback:Landroid/view/Choreographer$FrameCallback;
-Landroid/widget/TextView$Marquee;->mStatus:B
-Landroid/widget/TextView$Marquee;->mTickCallback:Landroid/view/Choreographer$FrameCallback;
-Landroid/widget/TextView$Marquee;->mView:Ljava/lang/ref/WeakReference;
-Landroid/widget/TextView$Marquee;->resetScroll()V
-Landroid/widget/TextView$Marquee;->shouldDrawGhost()Z
-Landroid/widget/TextView$Marquee;->shouldDrawLeftFade()Z
-Landroid/widget/TextView$Marquee;->start(I)V
-Landroid/widget/TextView$Marquee;->stop()V
-Landroid/widget/TextView$Marquee;->tick()V
-Landroid/widget/TextView$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/TextView$SavedState;-><init>(Landroid/os/Parcelable;)V
-Landroid/widget/TextView$SavedState;->editorState:Landroid/os/ParcelableParcel;
-Landroid/widget/TextView$SavedState;->error:Ljava/lang/CharSequence;
-Landroid/widget/TextView$SavedState;->frozenWithFocus:Z
-Landroid/widget/TextView$SavedState;->selEnd:I
-Landroid/widget/TextView$SavedState;->selStart:I
-Landroid/widget/TextView$TextAppearanceAttributes;
-Landroid/widget/TextView$TextAppearanceAttributes;-><init>()V
-Landroid/widget/TextView$TextAppearanceAttributes;->mAllCaps:Z
-Landroid/widget/TextView$TextAppearanceAttributes;->mElegant:Z
-Landroid/widget/TextView$TextAppearanceAttributes;->mFallbackLineSpacing:Z
-Landroid/widget/TextView$TextAppearanceAttributes;->mFontFamily:Ljava/lang/String;
-Landroid/widget/TextView$TextAppearanceAttributes;->mFontFamilyExplicit:Z
-Landroid/widget/TextView$TextAppearanceAttributes;->mFontFeatureSettings:Ljava/lang/String;
-Landroid/widget/TextView$TextAppearanceAttributes;->mFontTypeface:Landroid/graphics/Typeface;
-Landroid/widget/TextView$TextAppearanceAttributes;->mFontWeight:I
-Landroid/widget/TextView$TextAppearanceAttributes;->mHasElegant:Z
-Landroid/widget/TextView$TextAppearanceAttributes;->mHasFallbackLineSpacing:Z
-Landroid/widget/TextView$TextAppearanceAttributes;->mHasLetterSpacing:Z
-Landroid/widget/TextView$TextAppearanceAttributes;->mLetterSpacing:F
-Landroid/widget/TextView$TextAppearanceAttributes;->mShadowColor:I
-Landroid/widget/TextView$TextAppearanceAttributes;->mShadowDx:F
-Landroid/widget/TextView$TextAppearanceAttributes;->mShadowDy:F
-Landroid/widget/TextView$TextAppearanceAttributes;->mShadowRadius:F
-Landroid/widget/TextView$TextAppearanceAttributes;->mStyleIndex:I
-Landroid/widget/TextView$TextAppearanceAttributes;->mTextColor:Landroid/content/res/ColorStateList;
-Landroid/widget/TextView$TextAppearanceAttributes;->mTextColorHighlight:I
-Landroid/widget/TextView$TextAppearanceAttributes;->mTextColorHint:Landroid/content/res/ColorStateList;
-Landroid/widget/TextView$TextAppearanceAttributes;->mTextColorLink:Landroid/content/res/ColorStateList;
-Landroid/widget/TextView$TextAppearanceAttributes;->mTextSize:I
-Landroid/widget/TextView$TextAppearanceAttributes;->mTypefaceIndex:I
-Landroid/widget/TextView$XMLTypefaceAttr;
-Landroid/widget/TextView;->ACCESSIBILITY_ACTION_PROCESS_TEXT_START_ID:I
-Landroid/widget/TextView;->ACCESSIBILITY_ACTION_SHARE:I
-Landroid/widget/TextView;->ANIMATED_SCROLL_GAP:I
-Landroid/widget/TextView;->applyCompoundDrawableTint()V
-Landroid/widget/TextView;->applySingleLine(ZZZ)V
-Landroid/widget/TextView;->applyTextAppearance(Landroid/widget/TextView$TextAppearanceAttributes;)V
-Landroid/widget/TextView;->autoSizeText()V
-Landroid/widget/TextView;->canCopy()Z
-Landroid/widget/TextView;->canCut()Z
-Landroid/widget/TextView;->canMarquee()Z
-Landroid/widget/TextView;->canPasteAsPlainText()Z
-Landroid/widget/TextView;->canProcessText()Z
-Landroid/widget/TextView;->canRedo()Z
-Landroid/widget/TextView;->canRequestAutofill()Z
-Landroid/widget/TextView;->canSelectAllText()Z
-Landroid/widget/TextView;->canSelectText()Z
-Landroid/widget/TextView;->canShare()Z
-Landroid/widget/TextView;->canUndo()Z
-Landroid/widget/TextView;->changeListenerLocaleTo(Ljava/util/Locale;)V
-Landroid/widget/TextView;->CHANGE_WATCHER_PRIORITY:I
-Landroid/widget/TextView;->checkForResize()V
-Landroid/widget/TextView;->cleanupAutoSizePresetSizes([I)[I
-Landroid/widget/TextView;->clearAutoSizeConfiguration()V
-Landroid/widget/TextView;->convertFromViewportToContentCoordinates(Landroid/graphics/Rect;)V
-Landroid/widget/TextView;->convertToLocalHorizontalCoordinate(F)F
-Landroid/widget/TextView;->DEBUG_EXTRACT:Z
-Landroid/widget/TextView;->DECIMAL:I
-Landroid/widget/TextView;->DEFAULT_AUTO_SIZE_GRANULARITY_IN_PX:I
-Landroid/widget/TextView;->DEFAULT_AUTO_SIZE_MAX_TEXT_SIZE_IN_SP:I
-Landroid/widget/TextView;->DEFAULT_AUTO_SIZE_MIN_TEXT_SIZE_IN_SP:I
-Landroid/widget/TextView;->DEFAULT_TYPEFACE:I
-Landroid/widget/TextView;->desired(Landroid/text/Layout;)I
-Landroid/widget/TextView;->DEVICE_PROVISIONED_NO:I
-Landroid/widget/TextView;->DEVICE_PROVISIONED_UNKNOWN:I
-Landroid/widget/TextView;->DEVICE_PROVISIONED_YES:I
-Landroid/widget/TextView;->doKeyDown(ILandroid/view/KeyEvent;Landroid/view/KeyEvent;)I
-Landroid/widget/TextView;->ELLIPSIZE_END:I
-Landroid/widget/TextView;->ELLIPSIZE_MARQUEE:I
-Landroid/widget/TextView;->ELLIPSIZE_MIDDLE:I
-Landroid/widget/TextView;->ELLIPSIZE_NONE:I
-Landroid/widget/TextView;->ELLIPSIZE_NOT_SET:I
-Landroid/widget/TextView;->ELLIPSIZE_START:I
-Landroid/widget/TextView;->EMPTY_SPANNED:Landroid/text/Spanned;
-Landroid/widget/TextView;->EMS:I
-Landroid/widget/TextView;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/widget/TextView;->ensureIterableTextForAccessibilitySelectable()V
-Landroid/widget/TextView;->findLargestTextSizeWhichFits(Landroid/graphics/RectF;)I
-Landroid/widget/TextView;->fixFocusableAndClickableSettings()V
-Landroid/widget/TextView;->FLOATING_TOOLBAR_SELECT_ALL_REFRESH_DELAY:I
-Landroid/widget/TextView;->getAccessibilitySelectionEnd()I
-Landroid/widget/TextView;->getAccessibilitySelectionStart()I
-Landroid/widget/TextView;->getBaselineOffset()I
-Landroid/widget/TextView;->getBottomVerticalOffset(Z)I
-Landroid/widget/TextView;->getBoxHeight(Landroid/text/Layout;)I
-Landroid/widget/TextView;->getCustomLocaleForKeyListenerOrNull()Ljava/util/Locale;
-Landroid/widget/TextView;->getDesiredHeight()I
-Landroid/widget/TextView;->getDesiredHeight(Landroid/text/Layout;Z)I
-Landroid/widget/TextView;->getEditorForTesting()Landroid/widget/Editor;
-Landroid/widget/TextView;->getFadeHeight(Z)I
-Landroid/widget/TextView;->getFadeTop(Z)I
-Landroid/widget/TextView;->getHorizontalFadingEdgeStrength(FF)F
-Landroid/widget/TextView;->getHorizontalOffsetForDrawables()I
-Landroid/widget/TextView;->getInterestingRect(Landroid/graphics/Rect;I)V
-Landroid/widget/TextView;->getIteratorForGranularity(I)Landroid/view/AccessibilityIterators$TextSegmentIterator;
-Landroid/widget/TextView;->getLineAtCoordinateUnclamped(F)I
-Landroid/widget/TextView;->getOffsetAtCoordinate(IF)I
-Landroid/widget/TextView;->getScaledTextSize()F
-Landroid/widget/TextView;->getSelectedText()Ljava/lang/String;
-Landroid/widget/TextView;->getSpellCheckerLocale()Ljava/util/Locale;
-Landroid/widget/TextView;->getTextClassificationSession()Landroid/view/textclassifier/TextClassifier;
-Landroid/widget/TextView;->getTextServicesLocale()Ljava/util/Locale;
-Landroid/widget/TextView;->getTypefaceStyle()I
-Landroid/widget/TextView;->getUndoManager()Landroid/content/UndoManager;
-Landroid/widget/TextView;->getWordIterator()Landroid/text/method/WordIterator;
-Landroid/widget/TextView;->handleBackInTextActionModeIfNeeded(Landroid/view/KeyEvent;)Z
-Landroid/widget/TextView;->handleClick(Landroid/view/textclassifier/TextLinks$TextLinkSpan;)Z
-Landroid/widget/TextView;->handleTextChanged(Ljava/lang/CharSequence;III)V
-Landroid/widget/TextView;->hasPasswordTransformationMethod()Z
-Landroid/widget/TextView;->hasSpannableText()Z
-Landroid/widget/TextView;->hideErrorIfUnchanged()V
-Landroid/widget/TextView;->hideFloatingToolbar(I)V
-Landroid/widget/TextView;->ID_ASSIST:I
-Landroid/widget/TextView;->ID_AUTOFILL:I
-Landroid/widget/TextView;->ID_COPY:I
-Landroid/widget/TextView;->ID_CUT:I
-Landroid/widget/TextView;->ID_PASTE:I
-Landroid/widget/TextView;->ID_PASTE_AS_PLAIN_TEXT:I
-Landroid/widget/TextView;->ID_REDO:I
-Landroid/widget/TextView;->ID_REPLACE:I
-Landroid/widget/TextView;->ID_SELECT_ALL:I
-Landroid/widget/TextView;->ID_SHARE:I
-Landroid/widget/TextView;->ID_UNDO:I
-Landroid/widget/TextView;->invalidateCursor()V
-Landroid/widget/TextView;->invalidateCursor(III)V
-Landroid/widget/TextView;->invalidateCursorPath()V
-Landroid/widget/TextView;->invalidateRegion(IIZ)V
-Landroid/widget/TextView;->isAccessibilitySelectionExtendable()Z
-Landroid/widget/TextView;->isAutofillable()Z
-Landroid/widget/TextView;->isAutoSizeEnabled()Z
-Landroid/widget/TextView;->isDeviceProvisioned()Z
-Landroid/widget/TextView;->isDirectionalNavigationKey(I)Z
-Landroid/widget/TextView;->isInBatchEditMode()Z
-Landroid/widget/TextView;->isInExtractedMode()Z
-Landroid/widget/TextView;->isMarqueeFadeEnabled()Z
-Landroid/widget/TextView;->isMultilineInputType(I)Z
-Landroid/widget/TextView;->isPasswordInputType(I)Z
-Landroid/widget/TextView;->isPositionVisible(FF)Z
-Landroid/widget/TextView;->isShowingHint()Z
-Landroid/widget/TextView;->isVisiblePasswordInputType(I)Z
-Landroid/widget/TextView;->KEY_DOWN_HANDLED_BY_KEY_LISTENER:I
-Landroid/widget/TextView;->KEY_DOWN_HANDLED_BY_MOVEMENT_METHOD:I
-Landroid/widget/TextView;->KEY_EVENT_HANDLED:I
-Landroid/widget/TextView;->KEY_EVENT_NOT_HANDLED:I
-Landroid/widget/TextView;->LOG_TAG:Ljava/lang/String;
-Landroid/widget/TextView;->makeSingleLayout(ILandroid/text/BoringLayout$Metrics;ILandroid/text/Layout$Alignment;ZLandroid/text/TextUtils$TruncateAt;Z)Landroid/text/Layout;
-Landroid/widget/TextView;->MARQUEE_FADE_NORMAL:I
-Landroid/widget/TextView;->MARQUEE_FADE_SWITCH_SHOW_ELLIPSIS:I
-Landroid/widget/TextView;->MARQUEE_FADE_SWITCH_SHOW_FADE:I
-Landroid/widget/TextView;->mAutoLinkMask:I
-Landroid/widget/TextView;->mAutoSizeMaxTextSizeInPx:F
-Landroid/widget/TextView;->mAutoSizeMinTextSizeInPx:F
-Landroid/widget/TextView;->mAutoSizeStepGranularityInPx:F
-Landroid/widget/TextView;->mAutoSizeTextSizesInPx:[I
-Landroid/widget/TextView;->mAutoSizeTextType:I
-Landroid/widget/TextView;->mBreakStrategy:I
-Landroid/widget/TextView;->mCurrentSpellCheckerLocaleCache:Ljava/util/Locale;
-Landroid/widget/TextView;->mDeferScroll:I
-Landroid/widget/TextView;->mDeviceProvisionedState:I
-Landroid/widget/TextView;->mEllipsize:Landroid/text/TextUtils$TruncateAt;
-Landroid/widget/TextView;->mFilters:[Landroid/text/InputFilter;
-Landroid/widget/TextView;->mFreezesText:Z
-Landroid/widget/TextView;->mHasPresetAutoSizeValues:Z
-Landroid/widget/TextView;->mHighlightPath:Landroid/graphics/Path;
-Landroid/widget/TextView;->mHint:Ljava/lang/CharSequence;
-Landroid/widget/TextView;->mHintTextColor:Landroid/content/res/ColorStateList;
-Landroid/widget/TextView;->mHyphenationFrequency:I
-Landroid/widget/TextView;->mJustificationMode:I
-Landroid/widget/TextView;->mLastLayoutDirection:I
-Landroid/widget/TextView;->mLastScroll:J
-Landroid/widget/TextView;->mLastValueSentToAutofillManager:Ljava/lang/CharSequence;
-Landroid/widget/TextView;->mLinksClickable:Z
-Landroid/widget/TextView;->mLinkTextColor:Landroid/content/res/ColorStateList;
-Landroid/widget/TextView;->mListenerChanged:Z
-Landroid/widget/TextView;->mLocalesChanged:Z
-Landroid/widget/TextView;->mMarqueeRepeatLimit:I
-Landroid/widget/TextView;->mMovement:Landroid/text/method/MovementMethod;
-Landroid/widget/TextView;->mNeedsAutoSizeText:Z
-Landroid/widget/TextView;->MONOSPACE:I
-Landroid/widget/TextView;->mPrecomputed:Landroid/text/PrecomputedText;
-Landroid/widget/TextView;->mPreDrawListenerDetached:Z
-Landroid/widget/TextView;->mPreDrawRegistered:Z
-Landroid/widget/TextView;->mPreventDefaultMovement:Z
-Landroid/widget/TextView;->mScroller:Landroid/widget/Scroller;
-Landroid/widget/TextView;->mShadowColor:I
-Landroid/widget/TextView;->mSpannable:Landroid/text/Spannable;
-Landroid/widget/TextView;->mTempRect:Landroid/graphics/Rect;
-Landroid/widget/TextView;->mTempTextPaint:Landroid/text/TextPaint;
-Landroid/widget/TextView;->mTextClassificationSession:Landroid/view/textclassifier/TextClassifier;
-Landroid/widget/TextView;->mTextClassifier:Landroid/view/textclassifier/TextClassifier;
-Landroid/widget/TextView;->mTextColor:Landroid/content/res/ColorStateList;
-Landroid/widget/TextView;->mTextEditSuggestionContainerLayout:I
-Landroid/widget/TextView;->mTextEditSuggestionHighlightStyle:I
-Landroid/widget/TextView;->mTextEditSuggestionItemLayout:I
-Landroid/widget/TextView;->mTextId:I
-Landroid/widget/TextView;->mTextSetFromXmlOrResourceId:Z
-Landroid/widget/TextView;->mTransformation:Landroid/text/method/TransformationMethod;
-Landroid/widget/TextView;->MULTILINE_STATE_SET:[I
-Landroid/widget/TextView;->mUseFallbackLineSpacing:Z
-Landroid/widget/TextView;->mUseInternationalizedInput:Z
-Landroid/widget/TextView;->notifyAutoFillManagerAfterTextChangedIfNeeded()V
-Landroid/widget/TextView;->NO_FILTERS:[Landroid/text/InputFilter;
-Landroid/widget/TextView;->onActivityResult(IILandroid/content/Intent;)V
-Landroid/widget/TextView;->onDetachedFromWindowInternal()V
-Landroid/widget/TextView;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/widget/TextView;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/widget/TextView;->onLocaleChanged()V
-Landroid/widget/TextView;->onPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/widget/TextView;->onProvideAutoStructureForAssistOrAutofill(Landroid/view/ViewStructure;Z)V
-Landroid/widget/TextView;->onResolveDrawables(I)V
-Landroid/widget/TextView;->parseDimensionArray(Landroid/content/res/TypedArray;)[I
-Landroid/widget/TextView;->paste(IIZ)V
-Landroid/widget/TextView;->performAccessibilityActionClick(Landroid/os/Bundle;)Z
-Landroid/widget/TextView;->performAccessibilityActionInternal(ILandroid/os/Bundle;)Z
-Landroid/widget/TextView;->PIXELS:I
-Landroid/widget/TextView;->populateCharacterBounds(Landroid/view/inputmethod/CursorAnchorInfo$Builder;IIFF)V
-Landroid/widget/TextView;->preloadFontCache()V
-Landroid/widget/TextView;->prepareDrawableForDisplay(Landroid/graphics/drawable/Drawable;)V
-Landroid/widget/TextView;->PROCESS_TEXT_REQUEST_CODE:I
-Landroid/widget/TextView;->readTextAppearance(Landroid/content/Context;Landroid/content/res/TypedArray;Landroid/widget/TextView$TextAppearanceAttributes;Z)V
-Landroid/widget/TextView;->registerForPreDraw()V
-Landroid/widget/TextView;->removeAdjacentSuggestionSpans(I)V
-Landroid/widget/TextView;->removeIntersectingNonAdjacentSpans(IILjava/lang/Class;)V
-Landroid/widget/TextView;->removeMisspelledSpans(Landroid/text/Spannable;)V
-Landroid/widget/TextView;->removeParcelableSpans(Landroid/text/Spannable;II)V
-Landroid/widget/TextView;->removeSuggestionSpans(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-Landroid/widget/TextView;->replaceSelectionWithText(Ljava/lang/CharSequence;)V
-Landroid/widget/TextView;->replaceText_internal(IILjava/lang/CharSequence;)V
-Landroid/widget/TextView;->requestActionMode(Landroid/view/textclassifier/TextLinks$TextLinkSpan;)Z
-Landroid/widget/TextView;->requestAutofill()V
-Landroid/widget/TextView;->resetErrorChangedFlag()V
-Landroid/widget/TextView;->resetResolvedDrawables()V
-Landroid/widget/TextView;->resolveStyleAndSetTypeface(Landroid/graphics/Typeface;II)V
-Landroid/widget/TextView;->restartMarqueeIfNeeded()V
-Landroid/widget/TextView;->SANS:I
-Landroid/widget/TextView;->sAppearanceValues:Landroid/util/SparseIntArray;
-Landroid/widget/TextView;->selectAllText()Z
-Landroid/widget/TextView;->sendAccessibilityEventInternal(I)V
-Landroid/widget/TextView;->sendAccessibilityEventTypeViewTextChanged(Ljava/lang/CharSequence;III)V
-Landroid/widget/TextView;->sendAfterTextChanged(Landroid/text/Editable;)V
-Landroid/widget/TextView;->sendBeforeTextChanged(Ljava/lang/CharSequence;III)V
-Landroid/widget/TextView;->sendOnTextChanged(Ljava/lang/CharSequence;III)V
-Landroid/widget/TextView;->SERIF:I
-Landroid/widget/TextView;->setAccessibilitySelection(II)V
-Landroid/widget/TextView;->setCursorPosition_internal(II)V
-Landroid/widget/TextView;->setExtracting(Landroid/view/inputmethod/ExtractedTextRequest;)V
-Landroid/widget/TextView;->setFilters(Landroid/text/Editable;[Landroid/text/InputFilter;)V
-Landroid/widget/TextView;->setHintInternal(Ljava/lang/CharSequence;)V
-Landroid/widget/TextView;->setInputTypeFromEditor()V
-Landroid/widget/TextView;->setInputTypeSingleLine(Z)V
-Landroid/widget/TextView;->setKeyListenerOnly(Landroid/text/method/KeyListener;)V
-Landroid/widget/TextView;->setPrimaryClip(Landroid/content/ClipData;)Z
-Landroid/widget/TextView;->setRelativeDrawablesIfNeeded(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
-Landroid/widget/TextView;->setSpan_internal(Ljava/lang/Object;III)V
-Landroid/widget/TextView;->setTextInternal(Ljava/lang/CharSequence;)V
-Landroid/widget/TextView;->setTextSizeInternal(IFZ)V
-Landroid/widget/TextView;->setTypefaceFromAttrs(Landroid/graphics/Typeface;Ljava/lang/String;III)V
-Landroid/widget/TextView;->setUndoManager(Landroid/content/UndoManager;Ljava/lang/String;)V
-Landroid/widget/TextView;->setupAutoSizeText()Z
-Landroid/widget/TextView;->setupAutoSizeUniformPresetSizes(Landroid/content/res/TypedArray;)V
-Landroid/widget/TextView;->setupAutoSizeUniformPresetSizesConfiguration()Z
-Landroid/widget/TextView;->shareSelectedText()V
-Landroid/widget/TextView;->shouldAdvanceFocusOnEnter()Z
-Landroid/widget/TextView;->shouldAdvanceFocusOnTab()Z
-Landroid/widget/TextView;->SIGNED:I
-Landroid/widget/TextView;->sLastCutCopyOrTextChangedTime:J
-Landroid/widget/TextView;->spanChange(Landroid/text/Spanned;Ljava/lang/Object;IIII)V
-Landroid/widget/TextView;->stopMarquee()V
-Landroid/widget/TextView;->suggestedSizeFitsInSpace(ILandroid/graphics/RectF;)Z
-Landroid/widget/TextView;->supportsAutoSizeText()Z
-Landroid/widget/TextView;->TEMP_POSITION:[F
-Landroid/widget/TextView;->TEMP_RECTF:Landroid/graphics/RectF;
-Landroid/widget/TextView;->textCanBeSelected()Z
-Landroid/widget/TextView;->UNKNOWN_BORING:Landroid/text/BoringLayout$Metrics;
-Landroid/widget/TextView;->unregisterForPreDraw()V
-Landroid/widget/TextView;->UNSET_AUTO_SIZE_UNIFORM_CONFIGURATION_VALUE:F
-Landroid/widget/TextView;->updateAfterEdit()V
-Landroid/widget/TextView;->updateTextColors()V
-Landroid/widget/TextView;->updateTextServicesLocaleAsync()V
-Landroid/widget/TextView;->useDynamicLayout()Z
-Landroid/widget/TextView;->usesNoOpTextClassifier()Z
-Landroid/widget/TextView;->validateAndSetAutoSizeTextTypeUniformConfiguration(FFF)V
-Landroid/widget/TextView;->VERY_WIDE:I
-Landroid/widget/TextView;->viewClicked(Landroid/view/inputmethod/InputMethodManager;)V
-Landroid/widget/TextView;->viewportToContentHorizontalOffset()I
-Landroid/widget/TextViewMetrics;
-Landroid/widget/TextViewMetrics;-><init>()V
-Landroid/widget/TextViewMetrics;->SUBTYPE_LONG_PRESS_DRAG_AND_DROP:I
-Landroid/widget/TextViewMetrics;->SUBTYPE_LONG_PRESS_OTHER:I
-Landroid/widget/TextViewMetrics;->SUBTYPE_LONG_PRESS_SELECTION:I
-Landroid/widget/TimePicker$AbstractTimePickerDelegate$SavedState;
-Landroid/widget/TimePicker$AbstractTimePickerDelegate$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/TimePicker$AbstractTimePickerDelegate$SavedState;-><init>(Landroid/os/Parcelable;IIZ)V
-Landroid/widget/TimePicker$AbstractTimePickerDelegate$SavedState;-><init>(Landroid/os/Parcelable;IIZI)V
-Landroid/widget/TimePicker$AbstractTimePickerDelegate$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/widget/TimePicker$AbstractTimePickerDelegate$SavedState;->getCurrentItemShowing()I
-Landroid/widget/TimePicker$AbstractTimePickerDelegate$SavedState;->getHour()I
-Landroid/widget/TimePicker$AbstractTimePickerDelegate$SavedState;->getMinute()I
-Landroid/widget/TimePicker$AbstractTimePickerDelegate$SavedState;->is24HourMode()Z
-Landroid/widget/TimePicker$AbstractTimePickerDelegate$SavedState;->mCurrentItemShowing:I
-Landroid/widget/TimePicker$AbstractTimePickerDelegate$SavedState;->mHour:I
-Landroid/widget/TimePicker$AbstractTimePickerDelegate$SavedState;->mIs24HourMode:Z
-Landroid/widget/TimePicker$AbstractTimePickerDelegate$SavedState;->mMinute:I
-Landroid/widget/TimePicker$AbstractTimePickerDelegate;
-Landroid/widget/TimePicker$AbstractTimePickerDelegate;-><init>(Landroid/widget/TimePicker;Landroid/content/Context;)V
-Landroid/widget/TimePicker$AbstractTimePickerDelegate;->autofill(Landroid/view/autofill/AutofillValue;)V
-Landroid/widget/TimePicker$AbstractTimePickerDelegate;->getAutofillValue()Landroid/view/autofill/AutofillValue;
-Landroid/widget/TimePicker$AbstractTimePickerDelegate;->mAutoFillChangeListener:Landroid/widget/TimePicker$OnTimeChangedListener;
-Landroid/widget/TimePicker$AbstractTimePickerDelegate;->mAutofilledValue:J
-Landroid/widget/TimePicker$AbstractTimePickerDelegate;->mContext:Landroid/content/Context;
-Landroid/widget/TimePicker$AbstractTimePickerDelegate;->mDelegator:Landroid/widget/TimePicker;
-Landroid/widget/TimePicker$AbstractTimePickerDelegate;->mLocale:Ljava/util/Locale;
-Landroid/widget/TimePicker$AbstractTimePickerDelegate;->mOnTimeChangedListener:Landroid/widget/TimePicker$OnTimeChangedListener;
-Landroid/widget/TimePicker$AbstractTimePickerDelegate;->resetAutofilledValue()V
-Landroid/widget/TimePicker$AbstractTimePickerDelegate;->setAutoFillChangeListener(Landroid/widget/TimePicker$OnTimeChangedListener;)V
-Landroid/widget/TimePicker$AbstractTimePickerDelegate;->setOnTimeChangedListener(Landroid/widget/TimePicker$OnTimeChangedListener;)V
-Landroid/widget/TimePicker$TimePickerDelegate;
-Landroid/widget/TimePicker$TimePickerDelegate;->autofill(Landroid/view/autofill/AutofillValue;)V
-Landroid/widget/TimePicker$TimePickerDelegate;->dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
-Landroid/widget/TimePicker$TimePickerDelegate;->getAmView()Landroid/view/View;
-Landroid/widget/TimePicker$TimePickerDelegate;->getAutofillValue()Landroid/view/autofill/AutofillValue;
-Landroid/widget/TimePicker$TimePickerDelegate;->getBaseline()I
-Landroid/widget/TimePicker$TimePickerDelegate;->getHour()I
-Landroid/widget/TimePicker$TimePickerDelegate;->getHourView()Landroid/view/View;
-Landroid/widget/TimePicker$TimePickerDelegate;->getMinute()I
-Landroid/widget/TimePicker$TimePickerDelegate;->getMinuteView()Landroid/view/View;
-Landroid/widget/TimePicker$TimePickerDelegate;->getPmView()Landroid/view/View;
-Landroid/widget/TimePicker$TimePickerDelegate;->is24Hour()Z
-Landroid/widget/TimePicker$TimePickerDelegate;->isEnabled()Z
-Landroid/widget/TimePicker$TimePickerDelegate;->onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/widget/TimePicker$TimePickerDelegate;->onRestoreInstanceState(Landroid/os/Parcelable;)V
-Landroid/widget/TimePicker$TimePickerDelegate;->onSaveInstanceState(Landroid/os/Parcelable;)Landroid/os/Parcelable;
-Landroid/widget/TimePicker$TimePickerDelegate;->setAutoFillChangeListener(Landroid/widget/TimePicker$OnTimeChangedListener;)V
-Landroid/widget/TimePicker$TimePickerDelegate;->setDate(II)V
-Landroid/widget/TimePicker$TimePickerDelegate;->setEnabled(Z)V
-Landroid/widget/TimePicker$TimePickerDelegate;->setHour(I)V
-Landroid/widget/TimePicker$TimePickerDelegate;->setIs24Hour(Z)V
-Landroid/widget/TimePicker$TimePickerDelegate;->setMinute(I)V
-Landroid/widget/TimePicker$TimePickerDelegate;->setOnTimeChangedListener(Landroid/widget/TimePicker$OnTimeChangedListener;)V
-Landroid/widget/TimePicker$TimePickerDelegate;->validateInput()Z
-Landroid/widget/TimePicker$TimePickerMode;
-Landroid/widget/TimePicker;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
-Landroid/widget/TimePicker;->getAmPmStrings(Landroid/content/Context;)[Ljava/lang/String;
-Landroid/widget/TimePicker;->LOG_TAG:Ljava/lang/String;
-Landroid/widget/TimePicker;->mMode:I
-Landroid/widget/Toast$Duration;
-Landroid/widget/Toast$TN;
-Landroid/widget/Toast$TN;-><init>(Ljava/lang/String;Landroid/os/Looper;)V
-Landroid/widget/Toast$TN;->cancel()V
-Landroid/widget/Toast$TN;->CANCEL:I
-Landroid/widget/Toast$TN;->handleShow(Landroid/os/IBinder;)V
-Landroid/widget/Toast$TN;->hide()V
-Landroid/widget/Toast$TN;->HIDE:I
-Landroid/widget/Toast$TN;->LONG_DURATION_TIMEOUT:J
-Landroid/widget/Toast$TN;->mDuration:I
-Landroid/widget/Toast$TN;->mHandler:Landroid/os/Handler;
-Landroid/widget/Toast$TN;->mHorizontalMargin:F
-Landroid/widget/Toast$TN;->mPackageName:Ljava/lang/String;
-Landroid/widget/Toast$TN;->mVerticalMargin:F
-Landroid/widget/Toast$TN;->mWM:Landroid/view/WindowManager;
-Landroid/widget/Toast$TN;->mX:I
-Landroid/widget/Toast$TN;->SHORT_DURATION_TIMEOUT:J
-Landroid/widget/Toast$TN;->SHOW:I
-Landroid/widget/Toast$TN;->trySendAccessibilityEvent()V
-Landroid/widget/Toast;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
-Landroid/widget/Toast;->localLOGV:Z
-Landroid/widget/Toast;->makeText(Landroid/content/Context;Landroid/os/Looper;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
-Landroid/widget/Toast;->mContext:Landroid/content/Context;
-Landroid/widget/Toast;->mNextView:Landroid/view/View;
-Landroid/widget/Toast;->TAG:Ljava/lang/String;
-Landroid/widget/ToggleButton;->mDisabledAlpha:F
-Landroid/widget/ToggleButton;->mIndicatorDrawable:Landroid/graphics/drawable/Drawable;
-Landroid/widget/ToggleButton;->mTextOff:Ljava/lang/CharSequence;
-Landroid/widget/ToggleButton;->mTextOn:Ljava/lang/CharSequence;
-Landroid/widget/ToggleButton;->NO_ALPHA:I
-Landroid/widget/ToggleButton;->syncTextState()V
-Landroid/widget/ToggleButton;->updateReferenceToIndicatorDrawable(Landroid/graphics/drawable/Drawable;)V
-Landroid/widget/Toolbar$ExpandedActionViewMenuPresenter;
-Landroid/widget/Toolbar$ExpandedActionViewMenuPresenter;-><init>()V
-Landroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->collapseItemActionView(Lcom/android/internal/view/menu/MenuBuilder;Lcom/android/internal/view/menu/MenuItemImpl;)Z
-Landroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->expandItemActionView(Lcom/android/internal/view/menu/MenuBuilder;Lcom/android/internal/view/menu/MenuItemImpl;)Z
-Landroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->flagActionItems()Z
-Landroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->getId()I
-Landroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->getMenuView(Landroid/view/ViewGroup;)Lcom/android/internal/view/menu/MenuView;
-Landroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->initForMenu(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;)V
-Landroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->mCurrentExpandedItem:Lcom/android/internal/view/menu/MenuItemImpl;
-Landroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->mMenu:Lcom/android/internal/view/menu/MenuBuilder;
-Landroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->onCloseMenu(Lcom/android/internal/view/menu/MenuBuilder;Z)V
-Landroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->onRestoreInstanceState(Landroid/os/Parcelable;)V
-Landroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->onSaveInstanceState()Landroid/os/Parcelable;
-Landroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->onSubMenuSelected(Lcom/android/internal/view/menu/SubMenuBuilder;)Z
-Landroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->setCallback(Lcom/android/internal/view/menu/MenuPresenter$Callback;)V
-Landroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->updateMenuView(Z)V
-Landroid/widget/Toolbar$LayoutParams;->CUSTOM:I
-Landroid/widget/Toolbar$LayoutParams;->EXPANDED:I
-Landroid/widget/Toolbar$LayoutParams;->mViewType:I
-Landroid/widget/Toolbar$LayoutParams;->SYSTEM:I
-Landroid/widget/Toolbar$SavedState;
-Landroid/widget/Toolbar$SavedState;-><init>(Landroid/os/Parcel;)V
-Landroid/widget/Toolbar$SavedState;-><init>(Landroid/os/Parcelable;)V
-Landroid/widget/Toolbar$SavedState;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/widget/Toolbar$SavedState;->expandedMenuItemId:I
-Landroid/widget/Toolbar$SavedState;->isOverflowOpen:Z
-Landroid/widget/Toolbar;->addChildrenForExpandedActionView()V
-Landroid/widget/Toolbar;->addCustomViewsWithGravity(Ljava/util/List;I)V
-Landroid/widget/Toolbar;->addSystemView(Landroid/view/View;Z)V
-Landroid/widget/Toolbar;->canShowOverflowMenu()Z
-Landroid/widget/Toolbar;->ensureCollapseButtonView()V
-Landroid/widget/Toolbar;->ensureContentInsets()V
-Landroid/widget/Toolbar;->ensureLogoView()V
-Landroid/widget/Toolbar;->ensureMenu()V
-Landroid/widget/Toolbar;->ensureMenuView()V
-Landroid/widget/Toolbar;->ensureNavButtonView()V
-Landroid/widget/Toolbar;->getChildHorizontalGravity(I)I
-Landroid/widget/Toolbar;->getChildTop(Landroid/view/View;I)I
-Landroid/widget/Toolbar;->getChildVerticalGravity(I)I
-Landroid/widget/Toolbar;->getHorizontalMargins(Landroid/view/View;)I
-Landroid/widget/Toolbar;->getMenuInflater()Landroid/view/MenuInflater;
-Landroid/widget/Toolbar;->getOuterActionMenuPresenter()Landroid/widget/ActionMenuPresenter;
-Landroid/widget/Toolbar;->getPopupContext()Landroid/content/Context;
-Landroid/widget/Toolbar;->getVerticalMargins(Landroid/view/View;)I
-Landroid/widget/Toolbar;->getViewListMeasuredWidth(Ljava/util/List;[I)I
-Landroid/widget/Toolbar;->getWrapper()Lcom/android/internal/widget/DecorToolbar;
-Landroid/widget/Toolbar;->isChildOrHidden(Landroid/view/View;)Z
-Landroid/widget/Toolbar;->isCustomView(Landroid/view/View;)Z
-Landroid/widget/Toolbar;->isOverflowMenuShowPending()Z
-Landroid/widget/Toolbar;->isTitleTruncated()Z
-Landroid/widget/Toolbar;->layoutChildLeft(Landroid/view/View;I[II)I
-Landroid/widget/Toolbar;->layoutChildRight(Landroid/view/View;I[II)I
-Landroid/widget/Toolbar;->mActionMenuPresenterCallback:Lcom/android/internal/view/menu/MenuPresenter$Callback;
-Landroid/widget/Toolbar;->mButtonGravity:I
-Landroid/widget/Toolbar;->mCollapseButtonView:Landroid/widget/ImageButton;
-Landroid/widget/Toolbar;->mCollapseDescription:Ljava/lang/CharSequence;
-Landroid/widget/Toolbar;->mCollapseIcon:Landroid/graphics/drawable/Drawable;
-Landroid/widget/Toolbar;->mCollapsible:Z
-Landroid/widget/Toolbar;->mContentInsetEndWithActions:I
-Landroid/widget/Toolbar;->mContentInsets:Landroid/widget/RtlSpacingHelper;
-Landroid/widget/Toolbar;->mContentInsetStartWithNavigation:I
-Landroid/widget/Toolbar;->measureChildCollapseMargins(Landroid/view/View;IIII[I)I
-Landroid/widget/Toolbar;->measureChildConstrained(Landroid/view/View;IIIII)V
-Landroid/widget/Toolbar;->mEatingTouch:Z
-Landroid/widget/Toolbar;->mExpandedActionView:Landroid/view/View;
-Landroid/widget/Toolbar;->mExpandedMenuPresenter:Landroid/widget/Toolbar$ExpandedActionViewMenuPresenter;
-Landroid/widget/Toolbar;->mGravity:I
-Landroid/widget/Toolbar;->mHiddenViews:Ljava/util/ArrayList;
-Landroid/widget/Toolbar;->mLogoView:Landroid/widget/ImageView;
-Landroid/widget/Toolbar;->mMaxButtonHeight:I
-Landroid/widget/Toolbar;->mMenuBuilderCallback:Lcom/android/internal/view/menu/MenuBuilder$Callback;
-Landroid/widget/Toolbar;->mMenuView:Landroid/widget/ActionMenuView;
-Landroid/widget/Toolbar;->mMenuViewItemClickListener:Landroid/widget/ActionMenuView$OnMenuItemClickListener;
-Landroid/widget/Toolbar;->mNavButtonStyle:I
-Landroid/widget/Toolbar;->mOnMenuItemClickListener:Landroid/widget/Toolbar$OnMenuItemClickListener;
-Landroid/widget/Toolbar;->mOuterActionMenuPresenter:Landroid/widget/ActionMenuPresenter;
-Landroid/widget/Toolbar;->mPopupContext:Landroid/content/Context;
-Landroid/widget/Toolbar;->mPopupTheme:I
-Landroid/widget/Toolbar;->mShowOverflowMenuRunnable:Ljava/lang/Runnable;
-Landroid/widget/Toolbar;->mSubtitleText:Ljava/lang/CharSequence;
-Landroid/widget/Toolbar;->mSubtitleTextAppearance:I
-Landroid/widget/Toolbar;->mSubtitleTextColor:I
-Landroid/widget/Toolbar;->mSubtitleTextView:Landroid/widget/TextView;
-Landroid/widget/Toolbar;->mTempMargins:[I
-Landroid/widget/Toolbar;->mTempViews:Ljava/util/ArrayList;
-Landroid/widget/Toolbar;->mTitleText:Ljava/lang/CharSequence;
-Landroid/widget/Toolbar;->mTitleTextAppearance:I
-Landroid/widget/Toolbar;->mTitleTextColor:I
-Landroid/widget/Toolbar;->mWrapper:Lcom/android/internal/widget/ToolbarWidgetWrapper;
-Landroid/widget/Toolbar;->onSetLayoutParams(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
-Landroid/widget/Toolbar;->postShowOverflowMenu()V
-Landroid/widget/Toolbar;->removeChildrenForExpandedActionView()V
-Landroid/widget/Toolbar;->setCollapsible(Z)V
-Landroid/widget/Toolbar;->setMenu(Lcom/android/internal/view/menu/MenuBuilder;Landroid/widget/ActionMenuPresenter;)V
-Landroid/widget/Toolbar;->setMenuCallbacks(Lcom/android/internal/view/menu/MenuPresenter$Callback;Lcom/android/internal/view/menu/MenuBuilder$Callback;)V
-Landroid/widget/Toolbar;->shouldCollapse()Z
-Landroid/widget/Toolbar;->shouldLayout(Landroid/view/View;)Z
-Landroid/widget/Toolbar;->TAG:Ljava/lang/String;
-Landroid/widget/TwoLineListItem;->mText1:Landroid/widget/TextView;
-Landroid/widget/TwoLineListItem;->mText2:Landroid/widget/TextView;
-Landroid/widget/VideoView2$OnCustomActionListener;
-Landroid/widget/VideoView2$OnCustomActionListener;->onCustomAction(Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/widget/VideoView2$OnFullScreenRequestListener;
-Landroid/widget/VideoView2$OnFullScreenRequestListener;->onFullScreenRequest(Landroid/view/View;Z)V
-Landroid/widget/VideoView2$OnViewTypeChangedListener;
-Landroid/widget/VideoView2$ViewType;
-Landroid/widget/VideoView2;
-Landroid/widget/VideoView2;-><init>(Landroid/content/Context;)V
-Landroid/widget/VideoView2;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/widget/VideoView2;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/widget/VideoView2;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Landroid/widget/VideoView2;->getMediaControlView2()Landroid/widget/MediaControlView2;
-Landroid/widget/VideoView2;->getMediaMetadata()Landroid/media/MediaMetadata2;
-Landroid/widget/VideoView2;->getMediaSessionToken()Landroid/media/SessionToken2;
-Landroid/widget/VideoView2;->getViewType()I
-Landroid/widget/VideoView2;->isSubtitleEnabled()Z
-Landroid/widget/VideoView2;->setAudioAttributes(Landroid/media/AudioAttributes;)V
-Landroid/widget/VideoView2;->setAudioFocusRequest(I)V
-Landroid/widget/VideoView2;->setCustomActions(Ljava/util/List;Ljava/util/concurrent/Executor;Landroid/widget/VideoView2$OnCustomActionListener;)V
-Landroid/widget/VideoView2;->setDataSource(Landroid/media/DataSourceDesc;)V
-Landroid/widget/VideoView2;->setFullScreenRequestListener(Landroid/widget/VideoView2$OnFullScreenRequestListener;)V
-Landroid/widget/VideoView2;->setMediaControlView2(Landroid/widget/MediaControlView2;J)V
-Landroid/widget/VideoView2;->setMediaItem(Landroid/media/MediaItem2;)V
-Landroid/widget/VideoView2;->setMediaMetadata(Landroid/media/MediaMetadata2;)V
-Landroid/widget/VideoView2;->setSpeed(F)V
-Landroid/widget/VideoView2;->setSubtitleEnabled(Z)V
-Landroid/widget/VideoView2;->setVideoUri(Landroid/net/Uri;)V
-Landroid/widget/VideoView2;->setVideoUri(Landroid/net/Uri;Ljava/util/Map;)V
-Landroid/widget/VideoView2;->setViewType(I)V
-Landroid/widget/VideoView2;->VIEW_TYPE_SURFACEVIEW:I
-Landroid/widget/VideoView2;->VIEW_TYPE_TEXTUREVIEW:I
-Landroid/widget/VideoView;->attachMediaController()V
-Landroid/widget/VideoView;->getSubtitleLooper()Landroid/os/Looper;
-Landroid/widget/VideoView;->isInPlaybackState()Z
-Landroid/widget/VideoView;->mAudioAttributes:Landroid/media/AudioAttributes;
-Landroid/widget/VideoView;->mAudioFocusType:I
-Landroid/widget/VideoView;->mAudioManager:Landroid/media/AudioManager;
-Landroid/widget/VideoView;->mAudioSession:I
-Landroid/widget/VideoView;->mBufferingUpdateListener:Landroid/media/MediaPlayer$OnBufferingUpdateListener;
-Landroid/widget/VideoView;->mCanPause:Z
-Landroid/widget/VideoView;->mCanSeekBack:Z
-Landroid/widget/VideoView;->mCanSeekForward:Z
-Landroid/widget/VideoView;->mCompletionListener:Landroid/media/MediaPlayer$OnCompletionListener;
-Landroid/widget/VideoView;->measureAndLayoutSubtitleWidget()V
-Landroid/widget/VideoView;->mInfoListener:Landroid/media/MediaPlayer$OnInfoListener;
-Landroid/widget/VideoView;->mOnCompletionListener:Landroid/media/MediaPlayer$OnCompletionListener;
-Landroid/widget/VideoView;->mOnErrorListener:Landroid/media/MediaPlayer$OnErrorListener;
-Landroid/widget/VideoView;->mOnInfoListener:Landroid/media/MediaPlayer$OnInfoListener;
-Landroid/widget/VideoView;->mOnPreparedListener:Landroid/media/MediaPlayer$OnPreparedListener;
-Landroid/widget/VideoView;->mPendingSubtitleTracks:Ljava/util/Vector;
-Landroid/widget/VideoView;->mSeekWhenPrepared:I
-Landroid/widget/VideoView;->mSizeChangedListener:Landroid/media/MediaPlayer$OnVideoSizeChangedListener;
-Landroid/widget/VideoView;->mSubtitlesChangedListener:Landroid/media/SubtitleTrack$RenderingWidget$OnChangedListener;
-Landroid/widget/VideoView;->mSubtitleWidget:Landroid/media/SubtitleTrack$RenderingWidget;
-Landroid/widget/VideoView;->mSurfaceHeight:I
-Landroid/widget/VideoView;->mSurfaceWidth:I
-Landroid/widget/VideoView;->openVideo()V
-Landroid/widget/VideoView;->setSubtitleWidget(Landroid/media/SubtitleTrack$RenderingWidget;)V
-Landroid/widget/VideoView;->STATE_ERROR:I
-Landroid/widget/VideoView;->STATE_PAUSED:I
-Landroid/widget/VideoView;->STATE_PLAYBACK_COMPLETED:I
-Landroid/widget/VideoView;->STATE_PLAYING:I
-Landroid/widget/VideoView;->STATE_PREPARED:I
-Landroid/widget/VideoView;->STATE_PREPARING:I
-Landroid/widget/VideoView;->TAG:Ljava/lang/String;
-Landroid/widget/VideoView;->toggleMediaControlsVisiblity()V
-Landroid/widget/ViewAnimator;->initViewAnimator(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/widget/ViewAnimator;->mAnimateFirstTime:Z
-Landroid/widget/ViewAnimator;->mInAnimation:Landroid/view/animation/Animation;
-Landroid/widget/ViewAnimator;->mOutAnimation:Landroid/view/animation/Animation;
-Landroid/widget/ViewAnimator;->showOnly(I)V
-Landroid/widget/ViewFlipper;->DEFAULT_INTERVAL:I
-Landroid/widget/ViewFlipper;->LOGD:Z
-Landroid/widget/ViewFlipper;->mAutoStart:Z
-Landroid/widget/ViewFlipper;->mFlipInterval:I
-Landroid/widget/ViewFlipper;->mFlipRunnable:Ljava/lang/Runnable;
-Landroid/widget/ViewFlipper;->mReceiver:Landroid/content/BroadcastReceiver;
-Landroid/widget/ViewFlipper;->mRunning:Z
-Landroid/widget/ViewFlipper;->mStarted:Z
-Landroid/widget/ViewFlipper;->mVisible:Z
-Landroid/widget/ViewFlipper;->TAG:Ljava/lang/String;
-Landroid/widget/ViewFlipper;->updateRunning()V
-Landroid/widget/ViewSwitcher;->mFactory:Landroid/widget/ViewSwitcher$ViewFactory;
-Landroid/widget/ViewSwitcher;->obtainView()Landroid/view/View;
-Landroid/widget/ZoomButton;->mIsInLongpress:Z
-Landroid/widget/ZoomButton;->mRunnable:Ljava/lang/Runnable;
-Landroid/widget/ZoomButton;->mZoomSpeed:J
-Landroid/widget/ZoomButtonsController$Container;
-Landroid/widget/ZoomButtonsController$Container;-><init>(Landroid/content/Context;)V
-Landroid/widget/ZoomButtonsController;->createContainer()Landroid/widget/FrameLayout;
-Landroid/widget/ZoomButtonsController;->dismissControlsDelayed(I)V
-Landroid/widget/ZoomButtonsController;->findViewForTouch(II)Landroid/view/View;
-Landroid/widget/ZoomButtonsController;->isInterestingKey(I)Z
-Landroid/widget/ZoomButtonsController;->mAutoDismissControls:Z
-Landroid/widget/ZoomButtonsController;->mCallback:Landroid/widget/ZoomButtonsController$OnZoomListener;
-Landroid/widget/ZoomButtonsController;->mConfigurationChangedFilter:Landroid/content/IntentFilter;
-Landroid/widget/ZoomButtonsController;->mConfigurationChangedReceiver:Landroid/content/BroadcastReceiver;
-Landroid/widget/ZoomButtonsController;->mContainer:Landroid/widget/FrameLayout;
-Landroid/widget/ZoomButtonsController;->mContainerLayoutParams:Landroid/view/WindowManager$LayoutParams;
-Landroid/widget/ZoomButtonsController;->mContainerRawLocation:[I
-Landroid/widget/ZoomButtonsController;->mContext:Landroid/content/Context;
-Landroid/widget/ZoomButtonsController;->mControls:Landroid/widget/ZoomControls;
-Landroid/widget/ZoomButtonsController;->mHandler:Landroid/os/Handler;
-Landroid/widget/ZoomButtonsController;->mIsVisible:Z
-Landroid/widget/ZoomButtonsController;->mOwnerView:Landroid/view/View;
-Landroid/widget/ZoomButtonsController;->mOwnerViewRawLocation:[I
-Landroid/widget/ZoomButtonsController;->mPostedVisibleInitializer:Ljava/lang/Runnable;
-Landroid/widget/ZoomButtonsController;->mReleaseTouchListenerOnUp:Z
-Landroid/widget/ZoomButtonsController;->MSG_DISMISS_ZOOM_CONTROLS:I
-Landroid/widget/ZoomButtonsController;->MSG_POST_CONFIGURATION_CHANGED:I
-Landroid/widget/ZoomButtonsController;->MSG_POST_SET_VISIBLE:I
-Landroid/widget/ZoomButtonsController;->mTempIntArray:[I
-Landroid/widget/ZoomButtonsController;->mTempRect:Landroid/graphics/Rect;
-Landroid/widget/ZoomButtonsController;->mTouchPaddingScaledSq:I
-Landroid/widget/ZoomButtonsController;->mTouchTargetView:Landroid/view/View;
-Landroid/widget/ZoomButtonsController;->mTouchTargetWindowLocation:[I
-Landroid/widget/ZoomButtonsController;->mWindowManager:Landroid/view/WindowManager;
-Landroid/widget/ZoomButtonsController;->onContainerKey(Landroid/view/KeyEvent;)Z
-Landroid/widget/ZoomButtonsController;->onPostConfigurationChanged()V
-Landroid/widget/ZoomButtonsController;->refreshPositioningVariables()V
-Landroid/widget/ZoomButtonsController;->setTouchTargetView(Landroid/view/View;)V
-Landroid/widget/ZoomButtonsController;->TAG:Ljava/lang/String;
-Landroid/widget/ZoomButtonsController;->ZOOM_CONTROLS_TIMEOUT:I
-Landroid/widget/ZoomButtonsController;->ZOOM_CONTROLS_TOUCH_PADDING:I
-Landroid/widget/ZoomControls;->fade(IFF)V
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;-><init>(Ljava/lang/String;)V
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->ableToExtractLongerNdd()Z
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->ableToFormat:Z
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->accruedInput:Ljava/lang/StringBuilder;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->accruedInputWithoutFormatting:Ljava/lang/StringBuilder;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->appendNationalNumber(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->attemptToChooseFormattingPattern()Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->attemptToChoosePatternWithPrefixExtracted()Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->attemptToExtractCountryCallingCode()Z
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->attemptToExtractIdd()Z
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->attemptToFormatAccruedDigits()Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->CHARACTER_CLASS_PATTERN:Ljava/util/regex/Pattern;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->createFormattingTemplate(Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;)Z
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->currentFormattingPattern:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->currentMetadata:Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->currentOutput:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->defaultCountry:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->defaultMetadata:Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->DIGIT_PATTERN:Ljava/util/regex/Pattern;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->DIGIT_PLACEHOLDER:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->ELIGIBLE_FORMAT_PATTERN:Ljava/util/regex/Pattern;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->EMPTY_METADATA:Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->extractedNationalPrefix:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->formattingTemplate:Ljava/lang/StringBuilder;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->getAvailableFormats(Ljava/lang/String;)V
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->getExtractedNationalPrefix()Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->getFormattingTemplate(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->getMetadataForRegion(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->inputAccruedNationalNumber()Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->inputDigitHelper(C)Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->inputDigitWithOptionToRememberPosition(CZ)Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->inputHasFormatting:Z
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->isCompleteNumber:Z
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->isDigitOrLeadingPlusSign(C)Z
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->isExpectingCountryCallingCode:Z
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->isFormatEligible(Ljava/lang/String;)Z
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->isNanpaNumberWithNationalPrefix()Z
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->lastMatchPosition:I
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->maybeCreateNewTemplate()Z
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->MIN_LEADING_DIGITS_LENGTH:I
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->narrowDownPossibleFormats(Ljava/lang/String;)V
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->nationalNumber:Ljava/lang/StringBuilder;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->NATIONAL_PREFIX_SEPARATORS_PATTERN:Ljava/util/regex/Pattern;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->normalizeAndAccrueDigitsAndPlusSign(CZ)C
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->originalPosition:I
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->phoneUtil:Lcom/android/i18n/phonenumbers/PhoneNumberUtil;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->positionToRemember:I
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->possibleFormats:Ljava/util/List;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->prefixBeforeNationalNumber:Ljava/lang/StringBuilder;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->regexCache:Lcom/android/i18n/phonenumbers/internal/RegexCache;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->removeNationalPrefixFromNationalNumber()Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->SEPARATOR_BEFORE_NATIONAL_NUMBER:C
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->shouldAddSpaceAfterNationalPrefix:Z
-Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;->STANDALONE_DIGIT_PATTERN:Ljava/util/regex/Pattern;
-Lcom/android/i18n/phonenumbers/MetadataSource;
-Lcom/android/i18n/phonenumbers/MetadataSource;->getMetadataForNonGeographicalRegion(I)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-Lcom/android/i18n/phonenumbers/MetadataSource;->getMetadataForRegion(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-Lcom/android/i18n/phonenumbers/NumberParseException$ErrorType;-><init>()V
-Lcom/android/i18n/phonenumbers/NumberParseException;->errorType:Lcom/android/i18n/phonenumbers/NumberParseException$ErrorType;
-Lcom/android/i18n/phonenumbers/NumberParseException;->message:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->domesticCarrierCodeFormattingRule_:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->format_:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->hasDomesticCarrierCodeFormattingRule:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->hasFormat:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->hasNationalPrefixFormattingRule:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->hasNationalPrefixOptionalWhenFormatting:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->hasPattern:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->leadingDigitsPattern_:Ljava/util/List;
-Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->nationalPrefixFormattingRule_:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->nationalPrefixOptionalWhenFormatting_:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->pattern_:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->carrierSpecific_:Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->countryCode_:I
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->emergency_:Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->fixedLine_:Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->generalDesc_:Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasCarrierSpecific:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasCountryCode:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasEmergency:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasFixedLine:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasGeneralDesc:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasId:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasInternationalPrefix:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasLeadingDigits:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasLeadingZeroPossible:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasMainCountryForCode:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasMobile:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasMobileNumberPortableRegion:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasNationalPrefix:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasNationalPrefixForParsing:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasNationalPrefixTransformRule:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasNoInternationalDialling:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasPager:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasPersonalNumber:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasPreferredExtnPrefix:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasPreferredInternationalPrefix:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasPremiumRate:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasSameMobileAndFixedLinePattern:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasSharedCost:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasShortCode:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasSmsServices:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasStandardRate:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasTollFree:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasUan:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasVoicemail:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasVoip:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->id_:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->internationalPrefix_:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->intlNumberFormat_:Ljava/util/List;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->leadingDigits_:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->leadingZeroPossible_:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->mainCountryForCode_:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->mobileNumberPortableRegion_:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->mobile_:Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->nationalPrefixForParsing_:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->nationalPrefixTransformRule_:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->nationalPrefix_:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->noInternationalDialling_:Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->numberFormat_:Ljava/util/List;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->pager_:Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->personalNumber_:Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->preferredExtnPrefix_:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->preferredInternationalPrefix_:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->premiumRate_:Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->sameMobileAndFixedLinePattern_:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->sharedCost_:Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->shortCode_:Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->smsServices_:Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->standardRate_:Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->tollFree_:Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->uan_:Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->voicemail_:Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->voip_:Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadataCollection;->metadata_:Ljava/util/List;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;->exampleNumber_:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;->hasExampleNumber:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;->hasNationalNumberPattern:Z
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;->nationalNumberPattern_:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;->possibleLengthLocalOnly_:Ljava/util/List;
-Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;->possibleLength_:Ljava/util/List;
-Lcom/android/i18n/phonenumbers/Phonemetadata;-><init>()V
-Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber$CountryCodeSource;-><init>()V
-Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->countryCodeSource_:Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber$CountryCodeSource;
-Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->countryCode_:I
-Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->extension_:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->hasCountryCode:Z
-Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->hasCountryCodeSource:Z
-Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->hasExtension:Z
-Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->hasItalianLeadingZero:Z
-Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->hasNationalNumber:Z
-Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->hasNumberOfLeadingZeros:Z
-Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->hasPreferredDomesticCarrierCode:Z
-Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->hasRawInput:Z
-Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->italianLeadingZero_:Z
-Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->nationalNumber_:J
-Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->numberOfLeadingZeros_:I
-Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->preferredDomesticCarrierCode_:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->rawInput_:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/Phonenumber;-><init>()V
-Lcom/android/i18n/phonenumbers/PhoneNumberMatch;-><init>(ILjava/lang/String;Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)V
-Lcom/android/i18n/phonenumbers/PhoneNumberMatch;->number:Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
-Lcom/android/i18n/phonenumbers/PhoneNumberMatch;->rawString:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberMatch;->start:I
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil$Leniency;-><init>()V
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil$Leniency;->verify(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/PhoneNumberUtil;)Z
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil$MatchType;-><init>()V
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;-><init>()V
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;-><init>()V
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil$ValidationResult;-><init>()V
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;-><init>(Lcom/android/i18n/phonenumbers/MetadataSource;Ljava/util/Map;)V
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->ALL_PLUS_NUMBER_GROUPING_SYMBOLS:Ljava/util/Map;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->ALPHA_MAPPINGS:Ljava/util/Map;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->ALPHA_PHONE_MAPPINGS:Ljava/util/Map;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->buildNationalNumberForParsing(Ljava/lang/String;Ljava/lang/StringBuilder;)V
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->CAPTURING_DIGIT_PATTERN:Ljava/util/regex/Pattern;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->CAPTURING_EXTN_DIGITS:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->CC_STRING:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->checkRegionForParsing(Ljava/lang/CharSequence;Ljava/lang/String;)Z
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->chooseFormattingPatternForNumber(Ljava/util/List;Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->COLOMBIA_MOBILE_TO_FIXED_LINE_PREFIX:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->copyCoreFieldsOnly(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->countryCallingCodeToRegionCodeMap:Ljava/util/Map;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->countryCodesForNonGeographicalRegion:Ljava/util/Set;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->createExtnPattern(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->createInstance(Lcom/android/i18n/phonenumbers/MetadataSource;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->DEFAULT_EXTN_PREFIX:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->descHasData(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Z
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->descHasPossibleNumberData(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Z
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->DIALLABLE_CHAR_MAPPINGS:Ljava/util/Map;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->DIGITS:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->EXTN_PATTERN:Ljava/util/regex/Pattern;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->EXTN_PATTERNS_FOR_MATCHING:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->EXTN_PATTERNS_FOR_PARSING:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->extractCountryCode(Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;)I
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->extractPossibleNumber(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->FG_STRING:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->FIRST_GROUP_ONLY_PREFIX_PATTERN:Ljava/util/regex/Pattern;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->FIRST_GROUP_PATTERN:Ljava/util/regex/Pattern;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->formatNsn(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;)Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->formatNsn(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;Ljava/lang/CharSequence;)Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->formatNsnUsingPattern(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;)Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->formatNsnUsingPattern(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;Ljava/lang/CharSequence;)Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->formattingRuleHasFirstGroupOnly(Ljava/lang/String;)Z
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->GEO_MOBILE_COUNTRIES:Ljava/util/Set;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->GEO_MOBILE_COUNTRIES_WITHOUT_MOBILE_AREA_CODES:Ljava/util/Set;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->getCountryCodeForValidRegion(Ljava/lang/String;)I
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->getMetadataForNonGeographicalRegion(I)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->getMetadataForRegion(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->getMetadataForRegionOrCallingCode(ILjava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNumberDescByType(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNumberTypeHelper(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->getRegionCodeForNumberFromRegionList(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/util/List;)Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->getSupportedTypesForMetadata(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;)Ljava/util/Set;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->hasFormattingPatternForNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Z
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->hasValidCountryCallingCode(I)Z
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->instance:Lcom/android/i18n/phonenumbers/PhoneNumberUtil;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->isNationalNumberSuffixOfTheOther(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Z
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->isNumberMatchingDesc(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Z
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->isValidRegionCode(Ljava/lang/String;)Z
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->isViablePhoneNumber(Ljava/lang/CharSequence;)Z
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->logger:Ljava/util/logging/Logger;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->matcherApi:Lcom/android/i18n/phonenumbers/internal/MatcherApi;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->MAX_INPUT_STRING_LENGTH:I
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->MAX_LENGTH_COUNTRY_CODE:I
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->MAX_LENGTH_FOR_NSN:I
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->maybeAppendFormattedExtension(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;Ljava/lang/StringBuilder;)V
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->maybeExtractCountryCode(Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Ljava/lang/StringBuilder;ZLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)I
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->maybeStripExtension(Ljava/lang/StringBuilder;)Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->maybeStripInternationalPrefixAndNormalize(Ljava/lang/StringBuilder;Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber$CountryCodeSource;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->maybeStripNationalPrefixAndCarrierCode(Ljava/lang/StringBuilder;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Ljava/lang/StringBuilder;)Z
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->metadataSource:Lcom/android/i18n/phonenumbers/MetadataSource;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->MIN_LENGTH_FOR_NSN:I
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->MOBILE_TOKEN_MAPPINGS:Ljava/util/Map;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->nanpaRegions:Ljava/util/Set;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->NANPA_COUNTRY_CODE:I
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->NON_DIGITS_PATTERN:Ljava/util/regex/Pattern;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->normalize(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->normalizeDigits(Ljava/lang/CharSequence;Z)Ljava/lang/StringBuilder;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->normalizeHelper(Ljava/lang/CharSequence;Ljava/util/Map;Z)Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->NP_STRING:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->parseHelper(Ljava/lang/CharSequence;Ljava/lang/String;ZZLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)V
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->parsePrefixAsIdd(Ljava/util/regex/Pattern;Ljava/lang/StringBuilder;)Z
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->PLUS_CHARS:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->PLUS_CHARS_PATTERN:Ljava/util/regex/Pattern;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->PLUS_SIGN:C
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->prefixNumberWithCountryCallingCode(ILcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;Ljava/lang/StringBuilder;)V
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->rawInputContainsNationalPrefix(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->regexCache:Lcom/android/i18n/phonenumbers/internal/RegexCache;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->REGEX_FLAGS:I
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->RFC3966_EXTN_PREFIX:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->RFC3966_ISDN_SUBADDRESS:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->RFC3966_PHONE_CONTEXT:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->RFC3966_PREFIX:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->SECOND_NUMBER_START:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->SECOND_NUMBER_START_PATTERN:Ljava/util/regex/Pattern;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->SEPARATOR_PATTERN:Ljava/util/regex/Pattern;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->setInstance(Lcom/android/i18n/phonenumbers/PhoneNumberUtil;)V
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->setItalianLeadingZerosForPhoneNumber(Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)V
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->SINGLE_INTERNATIONAL_PREFIX:Ljava/util/regex/Pattern;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->STAR_SIGN:C
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->supportedRegions:Ljava/util/Set;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->testNumberLength(Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$ValidationResult;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->testNumberLength(Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$ValidationResult;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->UNKNOWN_REGION:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->UNWANTED_END_CHARS:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->UNWANTED_END_CHAR_PATTERN:Ljava/util/regex/Pattern;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->VALID_ALPHA:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->VALID_ALPHA_PHONE_PATTERN:Ljava/util/regex/Pattern;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->VALID_PHONE_NUMBER:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->VALID_PHONE_NUMBER_PATTERN:Ljava/util/regex/Pattern;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->VALID_PUNCTUATION:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->VALID_START_CHAR:Ljava/lang/String;
-Lcom/android/i18n/phonenumbers/PhoneNumberUtil;->VALID_START_CHAR_PATTERN:Ljava/util/regex/Pattern;
-Lcom/android/ims/ImsConfigListener$Stub$Proxy;
-Lcom/android/ims/ImsConfigListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/ImsConfigListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/ImsConfigListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/ImsConfigListener$Stub$Proxy;->onGetFeatureResponse(IIII)V
-Lcom/android/ims/ImsConfigListener$Stub$Proxy;->onGetVideoQuality(II)V
-Lcom/android/ims/ImsConfigListener$Stub$Proxy;->onSetFeatureResponse(IIII)V
-Lcom/android/ims/ImsConfigListener$Stub$Proxy;->onSetVideoQuality(I)V
-Lcom/android/ims/ImsConfigListener$Stub;
-Lcom/android/ims/ImsConfigListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/ImsConfigListener;
-Lcom/android/ims/ImsConfigListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/ImsConfigListener$Stub;->TRANSACTION_onGetFeatureResponse:I
-Lcom/android/ims/ImsConfigListener$Stub;->TRANSACTION_onGetVideoQuality:I
-Lcom/android/ims/ImsConfigListener$Stub;->TRANSACTION_onSetFeatureResponse:I
-Lcom/android/ims/ImsConfigListener$Stub;->TRANSACTION_onSetVideoQuality:I
-Lcom/android/ims/ImsConfigListener;
-Lcom/android/ims/ImsConfigListener;->onGetFeatureResponse(IIII)V
-Lcom/android/ims/ImsConfigListener;->onGetVideoQuality(II)V
-Lcom/android/ims/ImsConfigListener;->onSetVideoQuality(I)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->accept(ILandroid/telephony/ims/ImsStreamMediaProfile;)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->close()V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->deflect(Ljava/lang/String;)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->extendToConference([Ljava/lang/String;)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->getCallId()Ljava/lang/String;
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->getCallProfile()Landroid/telephony/ims/ImsCallProfile;
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->getLocalCallProfile()Landroid/telephony/ims/ImsCallProfile;
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->getProperty(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->getRemoteCallProfile()Landroid/telephony/ims/ImsCallProfile;
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->getState()I
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->getVideoCallProvider()Lcom/android/ims/internal/IImsVideoCallProvider;
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->hold(Landroid/telephony/ims/ImsStreamMediaProfile;)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->inviteParticipants([Ljava/lang/String;)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->isInCall()Z
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->isMultiparty()Z
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->merge()V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->reject(I)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->removeParticipants([Ljava/lang/String;)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->resume(Landroid/telephony/ims/ImsStreamMediaProfile;)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->sendDtmf(CLandroid/os/Message;)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->sendRttMessage(Ljava/lang/String;)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->sendRttModifyRequest(Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->sendRttModifyResponse(Z)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->sendUssd(Ljava/lang/String;)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->setListener(Landroid/telephony/ims/aidl/IImsCallSessionListener;)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->setMute(Z)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->start(Ljava/lang/String;Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->startConference([Ljava/lang/String;Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->startDtmf(C)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->stopDtmf()V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->terminate(I)V
-Lcom/android/ims/internal/IImsCallSession$Stub$Proxy;->update(ILandroid/telephony/ims/ImsStreamMediaProfile;)V
-Lcom/android/ims/internal/IImsCallSession$Stub;
-Lcom/android/ims/internal/IImsCallSession$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_accept:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_close:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_deflect:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_extendToConference:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_getCallId:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_getCallProfile:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_getLocalCallProfile:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_getProperty:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_getRemoteCallProfile:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_getState:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_getVideoCallProvider:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_hold:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_inviteParticipants:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_isInCall:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_isMultiparty:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_merge:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_reject:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_removeParticipants:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_resume:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_sendDtmf:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_sendRttMessage:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_sendRttModifyRequest:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_sendRttModifyResponse:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_sendUssd:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_setListener:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_setMute:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_start:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_startConference:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_startDtmf:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_stopDtmf:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_terminate:I
-Lcom/android/ims/internal/IImsCallSession$Stub;->TRANSACTION_update:I
-Lcom/android/ims/internal/IImsCallSession;
-Lcom/android/ims/internal/IImsCallSession;->accept(ILandroid/telephony/ims/ImsStreamMediaProfile;)V
-Lcom/android/ims/internal/IImsCallSession;->close()V
-Lcom/android/ims/internal/IImsCallSession;->deflect(Ljava/lang/String;)V
-Lcom/android/ims/internal/IImsCallSession;->extendToConference([Ljava/lang/String;)V
-Lcom/android/ims/internal/IImsCallSession;->getCallId()Ljava/lang/String;
-Lcom/android/ims/internal/IImsCallSession;->getCallProfile()Landroid/telephony/ims/ImsCallProfile;
-Lcom/android/ims/internal/IImsCallSession;->getLocalCallProfile()Landroid/telephony/ims/ImsCallProfile;
-Lcom/android/ims/internal/IImsCallSession;->getProperty(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/ims/internal/IImsCallSession;->getRemoteCallProfile()Landroid/telephony/ims/ImsCallProfile;
-Lcom/android/ims/internal/IImsCallSession;->getState()I
-Lcom/android/ims/internal/IImsCallSession;->getVideoCallProvider()Lcom/android/ims/internal/IImsVideoCallProvider;
-Lcom/android/ims/internal/IImsCallSession;->hold(Landroid/telephony/ims/ImsStreamMediaProfile;)V
-Lcom/android/ims/internal/IImsCallSession;->inviteParticipants([Ljava/lang/String;)V
-Lcom/android/ims/internal/IImsCallSession;->isInCall()Z
-Lcom/android/ims/internal/IImsCallSession;->isMultiparty()Z
-Lcom/android/ims/internal/IImsCallSession;->merge()V
-Lcom/android/ims/internal/IImsCallSession;->reject(I)V
-Lcom/android/ims/internal/IImsCallSession;->removeParticipants([Ljava/lang/String;)V
-Lcom/android/ims/internal/IImsCallSession;->resume(Landroid/telephony/ims/ImsStreamMediaProfile;)V
-Lcom/android/ims/internal/IImsCallSession;->sendDtmf(CLandroid/os/Message;)V
-Lcom/android/ims/internal/IImsCallSession;->sendRttMessage(Ljava/lang/String;)V
-Lcom/android/ims/internal/IImsCallSession;->sendRttModifyRequest(Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSession;->sendRttModifyResponse(Z)V
-Lcom/android/ims/internal/IImsCallSession;->sendUssd(Ljava/lang/String;)V
-Lcom/android/ims/internal/IImsCallSession;->setListener(Landroid/telephony/ims/aidl/IImsCallSessionListener;)V
-Lcom/android/ims/internal/IImsCallSession;->setMute(Z)V
-Lcom/android/ims/internal/IImsCallSession;->start(Ljava/lang/String;Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSession;->startConference([Ljava/lang/String;Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSession;->startDtmf(C)V
-Lcom/android/ims/internal/IImsCallSession;->stopDtmf()V
-Lcom/android/ims/internal/IImsCallSession;->terminate(I)V
-Lcom/android/ims/internal/IImsCallSession;->update(ILandroid/telephony/ims/ImsStreamMediaProfile;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionConferenceExtended(Lcom/android/ims/internal/IImsCallSession;Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionConferenceExtendFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionConferenceExtendReceived(Lcom/android/ims/internal/IImsCallSession;Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionConferenceStateUpdated(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsConferenceState;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionHandover(Lcom/android/ims/internal/IImsCallSession;IILandroid/telephony/ims/ImsReasonInfo;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionHandoverFailed(Lcom/android/ims/internal/IImsCallSession;IILandroid/telephony/ims/ImsReasonInfo;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionHeld(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionHoldFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionHoldReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionInviteParticipantsRequestDelivered(Lcom/android/ims/internal/IImsCallSession;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionInviteParticipantsRequestFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionMayHandover(Lcom/android/ims/internal/IImsCallSession;II)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionMergeComplete(Lcom/android/ims/internal/IImsCallSession;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionMergeFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionMergeStarted(Lcom/android/ims/internal/IImsCallSession;Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionMultipartyStateChanged(Lcom/android/ims/internal/IImsCallSession;Z)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionProgressing(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsStreamMediaProfile;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionRemoveParticipantsRequestDelivered(Lcom/android/ims/internal/IImsCallSession;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionRemoveParticipantsRequestFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionResumed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionResumeFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionResumeReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionRttMessageReceived(Ljava/lang/String;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionRttModifyRequestReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionRttModifyResponseReceived(I)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionStarted(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionStartFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionSuppServiceReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsSuppServiceNotification;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionTerminated(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionTtyModeReceived(Lcom/android/ims/internal/IImsCallSession;I)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionUpdated(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionUpdateFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionUpdateReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->callSessionUssdMessageReceived(Lcom/android/ims/internal/IImsCallSession;ILjava/lang/String;)V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/IImsCallSessionListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;-><init>()V
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsCallSessionListener;
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionConferenceExtended:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionConferenceExtendFailed:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionConferenceExtendReceived:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionConferenceStateUpdated:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionHandover:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionHandoverFailed:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionHeld:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionHoldFailed:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionHoldReceived:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionInviteParticipantsRequestDelivered:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionInviteParticipantsRequestFailed:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionMayHandover:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionMergeComplete:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionMergeFailed:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionMergeStarted:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionMultipartyStateChanged:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionProgressing:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionRemoveParticipantsRequestDelivered:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionRemoveParticipantsRequestFailed:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionResumed:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionResumeFailed:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionResumeReceived:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionRttMessageReceived:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionRttModifyRequestReceived:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionRttModifyResponseReceived:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionStarted:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionStartFailed:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionSuppServiceReceived:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionTerminated:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionTtyModeReceived:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionUpdated:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionUpdateFailed:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionUpdateReceived:I
-Lcom/android/ims/internal/IImsCallSessionListener$Stub;->TRANSACTION_callSessionUssdMessageReceived:I
-Lcom/android/ims/internal/IImsCallSessionListener;
-Lcom/android/ims/internal/IImsCallSessionListener;->callSessionConferenceExtended(Lcom/android/ims/internal/IImsCallSession;Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSessionListener;->callSessionConferenceExtendFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Lcom/android/ims/internal/IImsCallSessionListener;->callSessionConferenceExtendReceived(Lcom/android/ims/internal/IImsCallSession;Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSessionListener;->callSessionMayHandover(Lcom/android/ims/internal/IImsCallSession;II)V
-Lcom/android/ims/internal/IImsCallSessionListener;->callSessionRemoveParticipantsRequestDelivered(Lcom/android/ims/internal/IImsCallSession;)V
-Lcom/android/ims/internal/IImsCallSessionListener;->callSessionRemoveParticipantsRequestFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Lcom/android/ims/internal/IImsCallSessionListener;->callSessionRttMessageReceived(Ljava/lang/String;)V
-Lcom/android/ims/internal/IImsCallSessionListener;->callSessionRttModifyRequestReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSessionListener;->callSessionRttModifyResponseReceived(I)V
-Lcom/android/ims/internal/IImsCallSessionListener;->callSessionUpdateFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-Lcom/android/ims/internal/IImsCallSessionListener;->callSessionUpdateReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-Lcom/android/ims/internal/IImsCallSessionListener;->callSessionUssdMessageReceived(Lcom/android/ims/internal/IImsCallSession;ILjava/lang/String;)V
-Lcom/android/ims/internal/IImsConfig$Stub$Proxy;
-Lcom/android/ims/internal/IImsConfig$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/IImsConfig$Stub$Proxy;->getFeatureValue(IILcom/android/ims/ImsConfigListener;)V
-Lcom/android/ims/internal/IImsConfig$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/IImsConfig$Stub$Proxy;->getProvisionedStringValue(I)Ljava/lang/String;
-Lcom/android/ims/internal/IImsConfig$Stub$Proxy;->getProvisionedValue(I)I
-Lcom/android/ims/internal/IImsConfig$Stub$Proxy;->getVideoQuality(Lcom/android/ims/ImsConfigListener;)V
-Lcom/android/ims/internal/IImsConfig$Stub$Proxy;->getVolteProvisioned()Z
-Lcom/android/ims/internal/IImsConfig$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/IImsConfig$Stub$Proxy;->setFeatureValue(IIILcom/android/ims/ImsConfigListener;)V
-Lcom/android/ims/internal/IImsConfig$Stub$Proxy;->setProvisionedStringValue(ILjava/lang/String;)I
-Lcom/android/ims/internal/IImsConfig$Stub$Proxy;->setProvisionedValue(II)I
-Lcom/android/ims/internal/IImsConfig$Stub$Proxy;->setVideoQuality(ILcom/android/ims/ImsConfigListener;)V
-Lcom/android/ims/internal/IImsConfig$Stub;
-Lcom/android/ims/internal/IImsConfig$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsConfig;
-Lcom/android/ims/internal/IImsConfig$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/IImsConfig$Stub;->TRANSACTION_getFeatureValue:I
-Lcom/android/ims/internal/IImsConfig$Stub;->TRANSACTION_getProvisionedStringValue:I
-Lcom/android/ims/internal/IImsConfig$Stub;->TRANSACTION_getProvisionedValue:I
-Lcom/android/ims/internal/IImsConfig$Stub;->TRANSACTION_getVideoQuality:I
-Lcom/android/ims/internal/IImsConfig$Stub;->TRANSACTION_getVolteProvisioned:I
-Lcom/android/ims/internal/IImsConfig$Stub;->TRANSACTION_setFeatureValue:I
-Lcom/android/ims/internal/IImsConfig$Stub;->TRANSACTION_setProvisionedStringValue:I
-Lcom/android/ims/internal/IImsConfig$Stub;->TRANSACTION_setProvisionedValue:I
-Lcom/android/ims/internal/IImsConfig$Stub;->TRANSACTION_setVideoQuality:I
-Lcom/android/ims/internal/IImsConfig;
-Lcom/android/ims/internal/IImsConfig;->getFeatureValue(IILcom/android/ims/ImsConfigListener;)V
-Lcom/android/ims/internal/IImsConfig;->getProvisionedStringValue(I)Ljava/lang/String;
-Lcom/android/ims/internal/IImsConfig;->getProvisionedValue(I)I
-Lcom/android/ims/internal/IImsConfig;->getVideoQuality(Lcom/android/ims/ImsConfigListener;)V
-Lcom/android/ims/internal/IImsConfig;->getVolteProvisioned()Z
-Lcom/android/ims/internal/IImsConfig;->setFeatureValue(IIILcom/android/ims/ImsConfigListener;)V
-Lcom/android/ims/internal/IImsConfig;->setProvisionedStringValue(ILjava/lang/String;)I
-Lcom/android/ims/internal/IImsConfig;->setProvisionedValue(II)I
-Lcom/android/ims/internal/IImsConfig;->setVideoQuality(ILcom/android/ims/ImsConfigListener;)V
-Lcom/android/ims/internal/IImsEcbm$Stub$Proxy;
-Lcom/android/ims/internal/IImsEcbm$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/IImsEcbm$Stub$Proxy;->exitEmergencyCallbackMode()V
-Lcom/android/ims/internal/IImsEcbm$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/IImsEcbm$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/IImsEcbm$Stub$Proxy;->setListener(Lcom/android/ims/internal/IImsEcbmListener;)V
-Lcom/android/ims/internal/IImsEcbm$Stub;
-Lcom/android/ims/internal/IImsEcbm$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsEcbm;
-Lcom/android/ims/internal/IImsEcbm$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/IImsEcbm$Stub;->TRANSACTION_exitEmergencyCallbackMode:I
-Lcom/android/ims/internal/IImsEcbm$Stub;->TRANSACTION_setListener:I
-Lcom/android/ims/internal/IImsEcbm;
-Lcom/android/ims/internal/IImsEcbm;->exitEmergencyCallbackMode()V
-Lcom/android/ims/internal/IImsEcbm;->setListener(Lcom/android/ims/internal/IImsEcbmListener;)V
-Lcom/android/ims/internal/IImsEcbmListener$Stub$Proxy;
-Lcom/android/ims/internal/IImsEcbmListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/IImsEcbmListener$Stub$Proxy;->enteredECBM()V
-Lcom/android/ims/internal/IImsEcbmListener$Stub$Proxy;->exitedECBM()V
-Lcom/android/ims/internal/IImsEcbmListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/IImsEcbmListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/IImsEcbmListener$Stub;
-Lcom/android/ims/internal/IImsEcbmListener$Stub;-><init>()V
-Lcom/android/ims/internal/IImsEcbmListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsEcbmListener;
-Lcom/android/ims/internal/IImsEcbmListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/IImsEcbmListener$Stub;->TRANSACTION_enteredECBM:I
-Lcom/android/ims/internal/IImsEcbmListener$Stub;->TRANSACTION_exitedECBM:I
-Lcom/android/ims/internal/IImsEcbmListener;
-Lcom/android/ims/internal/IImsEcbmListener;->enteredECBM()V
-Lcom/android/ims/internal/IImsEcbmListener;->exitedECBM()V
-Lcom/android/ims/internal/IImsExternalCallStateListener$Stub$Proxy;
-Lcom/android/ims/internal/IImsExternalCallStateListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/IImsExternalCallStateListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/IImsExternalCallStateListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/IImsExternalCallStateListener$Stub$Proxy;->onImsExternalCallStateUpdate(Ljava/util/List;)V
-Lcom/android/ims/internal/IImsExternalCallStateListener$Stub;
-Lcom/android/ims/internal/IImsExternalCallStateListener$Stub;-><init>()V
-Lcom/android/ims/internal/IImsExternalCallStateListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsExternalCallStateListener;
-Lcom/android/ims/internal/IImsExternalCallStateListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/IImsExternalCallStateListener$Stub;->TRANSACTION_onImsExternalCallStateUpdate:I
-Lcom/android/ims/internal/IImsExternalCallStateListener;
-Lcom/android/ims/internal/IImsExternalCallStateListener;->onImsExternalCallStateUpdate(Ljava/util/List;)V
-Lcom/android/ims/internal/IImsFeatureStatusCallback$Stub$Proxy;
-Lcom/android/ims/internal/IImsFeatureStatusCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/IImsFeatureStatusCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/IImsFeatureStatusCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/IImsFeatureStatusCallback$Stub$Proxy;->notifyImsFeatureStatus(I)V
-Lcom/android/ims/internal/IImsFeatureStatusCallback$Stub;
-Lcom/android/ims/internal/IImsFeatureStatusCallback$Stub;-><init>()V
-Lcom/android/ims/internal/IImsFeatureStatusCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsFeatureStatusCallback;
-Lcom/android/ims/internal/IImsFeatureStatusCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/IImsFeatureStatusCallback$Stub;->TRANSACTION_notifyImsFeatureStatus:I
-Lcom/android/ims/internal/IImsFeatureStatusCallback;
-Lcom/android/ims/internal/IImsFeatureStatusCallback;->notifyImsFeatureStatus(I)V
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;->addRegistrationListener(Lcom/android/ims/internal/IImsRegistrationListener;)V
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;->createCallProfile(III)Landroid/telephony/ims/ImsCallProfile;
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;->createCallSession(ILandroid/telephony/ims/ImsCallProfile;)Lcom/android/ims/internal/IImsCallSession;
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;->endSession(I)V
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;->getConfigInterface()Lcom/android/ims/internal/IImsConfig;
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;->getEcbmInterface()Lcom/android/ims/internal/IImsEcbm;
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;->getFeatureStatus()I
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;->getMultiEndpointInterface()Lcom/android/ims/internal/IImsMultiEndpoint;
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;->getPendingCallSession(ILjava/lang/String;)Lcom/android/ims/internal/IImsCallSession;
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;->getUtInterface()Lcom/android/ims/internal/IImsUt;
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;->isConnected(II)Z
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;->isOpened()Z
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;->removeRegistrationListener(Lcom/android/ims/internal/IImsRegistrationListener;)V
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;->setUiTTYMode(ILandroid/os/Message;)V
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;->startSession(Landroid/app/PendingIntent;Lcom/android/ims/internal/IImsRegistrationListener;)I
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;->turnOffIms()V
-Lcom/android/ims/internal/IImsMMTelFeature$Stub$Proxy;->turnOnIms()V
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;-><init>()V
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsMMTelFeature;
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;->TRANSACTION_addRegistrationListener:I
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;->TRANSACTION_createCallProfile:I
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;->TRANSACTION_createCallSession:I
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;->TRANSACTION_endSession:I
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;->TRANSACTION_getConfigInterface:I
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;->TRANSACTION_getEcbmInterface:I
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;->TRANSACTION_getFeatureStatus:I
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;->TRANSACTION_getMultiEndpointInterface:I
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;->TRANSACTION_getPendingCallSession:I
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;->TRANSACTION_getUtInterface:I
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;->TRANSACTION_isConnected:I
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;->TRANSACTION_isOpened:I
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;->TRANSACTION_removeRegistrationListener:I
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;->TRANSACTION_setUiTTYMode:I
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;->TRANSACTION_startSession:I
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;->TRANSACTION_turnOffIms:I
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;->TRANSACTION_turnOnIms:I
-Lcom/android/ims/internal/IImsMMTelFeature;
-Lcom/android/ims/internal/IImsMMTelFeature;->addRegistrationListener(Lcom/android/ims/internal/IImsRegistrationListener;)V
-Lcom/android/ims/internal/IImsMMTelFeature;->createCallProfile(III)Landroid/telephony/ims/ImsCallProfile;
-Lcom/android/ims/internal/IImsMMTelFeature;->createCallSession(ILandroid/telephony/ims/ImsCallProfile;)Lcom/android/ims/internal/IImsCallSession;
-Lcom/android/ims/internal/IImsMMTelFeature;->endSession(I)V
-Lcom/android/ims/internal/IImsMMTelFeature;->getConfigInterface()Lcom/android/ims/internal/IImsConfig;
-Lcom/android/ims/internal/IImsMMTelFeature;->getEcbmInterface()Lcom/android/ims/internal/IImsEcbm;
-Lcom/android/ims/internal/IImsMMTelFeature;->getFeatureStatus()I
-Lcom/android/ims/internal/IImsMMTelFeature;->getMultiEndpointInterface()Lcom/android/ims/internal/IImsMultiEndpoint;
-Lcom/android/ims/internal/IImsMMTelFeature;->getPendingCallSession(ILjava/lang/String;)Lcom/android/ims/internal/IImsCallSession;
-Lcom/android/ims/internal/IImsMMTelFeature;->getUtInterface()Lcom/android/ims/internal/IImsUt;
-Lcom/android/ims/internal/IImsMMTelFeature;->isConnected(II)Z
-Lcom/android/ims/internal/IImsMMTelFeature;->isOpened()Z
-Lcom/android/ims/internal/IImsMMTelFeature;->removeRegistrationListener(Lcom/android/ims/internal/IImsRegistrationListener;)V
-Lcom/android/ims/internal/IImsMMTelFeature;->setUiTTYMode(ILandroid/os/Message;)V
-Lcom/android/ims/internal/IImsMMTelFeature;->startSession(Landroid/app/PendingIntent;Lcom/android/ims/internal/IImsRegistrationListener;)I
-Lcom/android/ims/internal/IImsMMTelFeature;->turnOffIms()V
-Lcom/android/ims/internal/IImsMMTelFeature;->turnOnIms()V
-Lcom/android/ims/internal/IImsMultiEndpoint$Stub$Proxy;
-Lcom/android/ims/internal/IImsMultiEndpoint$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/IImsMultiEndpoint$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/IImsMultiEndpoint$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/IImsMultiEndpoint$Stub$Proxy;->requestImsExternalCallStateInfo()V
-Lcom/android/ims/internal/IImsMultiEndpoint$Stub$Proxy;->setListener(Lcom/android/ims/internal/IImsExternalCallStateListener;)V
-Lcom/android/ims/internal/IImsMultiEndpoint$Stub;
-Lcom/android/ims/internal/IImsMultiEndpoint$Stub;-><init>()V
-Lcom/android/ims/internal/IImsMultiEndpoint$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsMultiEndpoint;
-Lcom/android/ims/internal/IImsMultiEndpoint$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/IImsMultiEndpoint$Stub;->TRANSACTION_requestImsExternalCallStateInfo:I
-Lcom/android/ims/internal/IImsMultiEndpoint$Stub;->TRANSACTION_setListener:I
-Lcom/android/ims/internal/IImsMultiEndpoint;
-Lcom/android/ims/internal/IImsMultiEndpoint;->requestImsExternalCallStateInfo()V
-Lcom/android/ims/internal/IImsMultiEndpoint;->setListener(Lcom/android/ims/internal/IImsExternalCallStateListener;)V
-Lcom/android/ims/internal/IImsRcsFeature$Stub$Proxy;
-Lcom/android/ims/internal/IImsRcsFeature$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/IImsRcsFeature$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/IImsRcsFeature$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/IImsRcsFeature$Stub;
-Lcom/android/ims/internal/IImsRcsFeature$Stub;-><init>()V
-Lcom/android/ims/internal/IImsRcsFeature$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsRcsFeature;
-Lcom/android/ims/internal/IImsRcsFeature$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/IImsRcsFeature;
-Lcom/android/ims/internal/IImsRegistrationListener$Stub$Proxy;
-Lcom/android/ims/internal/IImsRegistrationListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/IImsRegistrationListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/IImsRegistrationListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/IImsRegistrationListener$Stub$Proxy;->registrationAssociatedUriChanged([Landroid/net/Uri;)V
-Lcom/android/ims/internal/IImsRegistrationListener$Stub$Proxy;->registrationChangeFailed(ILandroid/telephony/ims/ImsReasonInfo;)V
-Lcom/android/ims/internal/IImsRegistrationListener$Stub$Proxy;->registrationConnected()V
-Lcom/android/ims/internal/IImsRegistrationListener$Stub$Proxy;->registrationConnectedWithRadioTech(I)V
-Lcom/android/ims/internal/IImsRegistrationListener$Stub$Proxy;->registrationDisconnected(Landroid/telephony/ims/ImsReasonInfo;)V
-Lcom/android/ims/internal/IImsRegistrationListener$Stub$Proxy;->registrationFeatureCapabilityChanged(I[I[I)V
-Lcom/android/ims/internal/IImsRegistrationListener$Stub$Proxy;->registrationProgressing()V
-Lcom/android/ims/internal/IImsRegistrationListener$Stub$Proxy;->registrationProgressingWithRadioTech(I)V
-Lcom/android/ims/internal/IImsRegistrationListener$Stub$Proxy;->registrationResumed()V
-Lcom/android/ims/internal/IImsRegistrationListener$Stub$Proxy;->registrationServiceCapabilityChanged(II)V
-Lcom/android/ims/internal/IImsRegistrationListener$Stub$Proxy;->registrationSuspended()V
-Lcom/android/ims/internal/IImsRegistrationListener$Stub$Proxy;->voiceMessageCountUpdate(I)V
-Lcom/android/ims/internal/IImsRegistrationListener$Stub;
-Lcom/android/ims/internal/IImsRegistrationListener$Stub;-><init>()V
-Lcom/android/ims/internal/IImsRegistrationListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsRegistrationListener;
-Lcom/android/ims/internal/IImsRegistrationListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/IImsRegistrationListener$Stub;->TRANSACTION_registrationAssociatedUriChanged:I
-Lcom/android/ims/internal/IImsRegistrationListener$Stub;->TRANSACTION_registrationChangeFailed:I
-Lcom/android/ims/internal/IImsRegistrationListener$Stub;->TRANSACTION_registrationConnected:I
-Lcom/android/ims/internal/IImsRegistrationListener$Stub;->TRANSACTION_registrationConnectedWithRadioTech:I
-Lcom/android/ims/internal/IImsRegistrationListener$Stub;->TRANSACTION_registrationDisconnected:I
-Lcom/android/ims/internal/IImsRegistrationListener$Stub;->TRANSACTION_registrationFeatureCapabilityChanged:I
-Lcom/android/ims/internal/IImsRegistrationListener$Stub;->TRANSACTION_registrationProgressing:I
-Lcom/android/ims/internal/IImsRegistrationListener$Stub;->TRANSACTION_registrationProgressingWithRadioTech:I
-Lcom/android/ims/internal/IImsRegistrationListener$Stub;->TRANSACTION_registrationResumed:I
-Lcom/android/ims/internal/IImsRegistrationListener$Stub;->TRANSACTION_registrationServiceCapabilityChanged:I
-Lcom/android/ims/internal/IImsRegistrationListener$Stub;->TRANSACTION_registrationSuspended:I
-Lcom/android/ims/internal/IImsRegistrationListener$Stub;->TRANSACTION_voiceMessageCountUpdate:I
-Lcom/android/ims/internal/IImsRegistrationListener;
-Lcom/android/ims/internal/IImsRegistrationListener;->registrationProgressing()V
-Lcom/android/ims/internal/IImsRegistrationListener;->registrationResumed()V
-Lcom/android/ims/internal/IImsRegistrationListener;->registrationServiceCapabilityChanged(II)V
-Lcom/android/ims/internal/IImsRegistrationListener;->registrationSuspended()V
-Lcom/android/ims/internal/IImsService$Stub$Proxy;
-Lcom/android/ims/internal/IImsService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/IImsService$Stub$Proxy;->addRegistrationListener(IILcom/android/ims/internal/IImsRegistrationListener;)V
-Lcom/android/ims/internal/IImsService$Stub$Proxy;->close(I)V
-Lcom/android/ims/internal/IImsService$Stub$Proxy;->createCallProfile(III)Landroid/telephony/ims/ImsCallProfile;
-Lcom/android/ims/internal/IImsService$Stub$Proxy;->createCallSession(ILandroid/telephony/ims/ImsCallProfile;Lcom/android/ims/internal/IImsCallSessionListener;)Lcom/android/ims/internal/IImsCallSession;
-Lcom/android/ims/internal/IImsService$Stub$Proxy;->getConfigInterface(I)Lcom/android/ims/internal/IImsConfig;
-Lcom/android/ims/internal/IImsService$Stub$Proxy;->getEcbmInterface(I)Lcom/android/ims/internal/IImsEcbm;
-Lcom/android/ims/internal/IImsService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/IImsService$Stub$Proxy;->getMultiEndpointInterface(I)Lcom/android/ims/internal/IImsMultiEndpoint;
-Lcom/android/ims/internal/IImsService$Stub$Proxy;->getPendingCallSession(ILjava/lang/String;)Lcom/android/ims/internal/IImsCallSession;
-Lcom/android/ims/internal/IImsService$Stub$Proxy;->getUtInterface(I)Lcom/android/ims/internal/IImsUt;
-Lcom/android/ims/internal/IImsService$Stub$Proxy;->isConnected(III)Z
-Lcom/android/ims/internal/IImsService$Stub$Proxy;->isOpened(I)Z
-Lcom/android/ims/internal/IImsService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/IImsService$Stub$Proxy;->open(IILandroid/app/PendingIntent;Lcom/android/ims/internal/IImsRegistrationListener;)I
-Lcom/android/ims/internal/IImsService$Stub$Proxy;->setRegistrationListener(ILcom/android/ims/internal/IImsRegistrationListener;)V
-Lcom/android/ims/internal/IImsService$Stub$Proxy;->setUiTTYMode(IILandroid/os/Message;)V
-Lcom/android/ims/internal/IImsService$Stub$Proxy;->turnOffIms(I)V
-Lcom/android/ims/internal/IImsService$Stub$Proxy;->turnOnIms(I)V
-Lcom/android/ims/internal/IImsService$Stub;
-Lcom/android/ims/internal/IImsService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/IImsService$Stub;->TRANSACTION_addRegistrationListener:I
-Lcom/android/ims/internal/IImsService$Stub;->TRANSACTION_close:I
-Lcom/android/ims/internal/IImsService$Stub;->TRANSACTION_createCallProfile:I
-Lcom/android/ims/internal/IImsService$Stub;->TRANSACTION_createCallSession:I
-Lcom/android/ims/internal/IImsService$Stub;->TRANSACTION_getConfigInterface:I
-Lcom/android/ims/internal/IImsService$Stub;->TRANSACTION_getEcbmInterface:I
-Lcom/android/ims/internal/IImsService$Stub;->TRANSACTION_getMultiEndpointInterface:I
-Lcom/android/ims/internal/IImsService$Stub;->TRANSACTION_getPendingCallSession:I
-Lcom/android/ims/internal/IImsService$Stub;->TRANSACTION_getUtInterface:I
-Lcom/android/ims/internal/IImsService$Stub;->TRANSACTION_isConnected:I
-Lcom/android/ims/internal/IImsService$Stub;->TRANSACTION_isOpened:I
-Lcom/android/ims/internal/IImsService$Stub;->TRANSACTION_open:I
-Lcom/android/ims/internal/IImsService$Stub;->TRANSACTION_setRegistrationListener:I
-Lcom/android/ims/internal/IImsService$Stub;->TRANSACTION_setUiTTYMode:I
-Lcom/android/ims/internal/IImsService$Stub;->TRANSACTION_turnOffIms:I
-Lcom/android/ims/internal/IImsService$Stub;->TRANSACTION_turnOnIms:I
-Lcom/android/ims/internal/IImsService;
-Lcom/android/ims/internal/IImsService;->addRegistrationListener(IILcom/android/ims/internal/IImsRegistrationListener;)V
-Lcom/android/ims/internal/IImsService;->close(I)V
-Lcom/android/ims/internal/IImsService;->createCallProfile(III)Landroid/telephony/ims/ImsCallProfile;
-Lcom/android/ims/internal/IImsService;->createCallSession(ILandroid/telephony/ims/ImsCallProfile;Lcom/android/ims/internal/IImsCallSessionListener;)Lcom/android/ims/internal/IImsCallSession;
-Lcom/android/ims/internal/IImsService;->getConfigInterface(I)Lcom/android/ims/internal/IImsConfig;
-Lcom/android/ims/internal/IImsService;->getEcbmInterface(I)Lcom/android/ims/internal/IImsEcbm;
-Lcom/android/ims/internal/IImsService;->getMultiEndpointInterface(I)Lcom/android/ims/internal/IImsMultiEndpoint;
-Lcom/android/ims/internal/IImsService;->getPendingCallSession(ILjava/lang/String;)Lcom/android/ims/internal/IImsCallSession;
-Lcom/android/ims/internal/IImsService;->getUtInterface(I)Lcom/android/ims/internal/IImsUt;
-Lcom/android/ims/internal/IImsService;->isConnected(III)Z
-Lcom/android/ims/internal/IImsService;->isOpened(I)Z
-Lcom/android/ims/internal/IImsService;->open(IILandroid/app/PendingIntent;Lcom/android/ims/internal/IImsRegistrationListener;)I
-Lcom/android/ims/internal/IImsService;->setRegistrationListener(ILcom/android/ims/internal/IImsRegistrationListener;)V
-Lcom/android/ims/internal/IImsService;->setUiTTYMode(IILandroid/os/Message;)V
-Lcom/android/ims/internal/IImsService;->turnOffIms(I)V
-Lcom/android/ims/internal/IImsService;->turnOnIms(I)V
-Lcom/android/ims/internal/IImsServiceController$Stub$Proxy;
-Lcom/android/ims/internal/IImsServiceController$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/IImsServiceController$Stub$Proxy;->createEmergencyMMTelFeature(ILcom/android/ims/internal/IImsFeatureStatusCallback;)Lcom/android/ims/internal/IImsMMTelFeature;
-Lcom/android/ims/internal/IImsServiceController$Stub$Proxy;->createMMTelFeature(ILcom/android/ims/internal/IImsFeatureStatusCallback;)Lcom/android/ims/internal/IImsMMTelFeature;
-Lcom/android/ims/internal/IImsServiceController$Stub$Proxy;->createRcsFeature(ILcom/android/ims/internal/IImsFeatureStatusCallback;)Lcom/android/ims/internal/IImsRcsFeature;
-Lcom/android/ims/internal/IImsServiceController$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/IImsServiceController$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/IImsServiceController$Stub$Proxy;->removeImsFeature(IILcom/android/ims/internal/IImsFeatureStatusCallback;)V
-Lcom/android/ims/internal/IImsServiceController$Stub;
-Lcom/android/ims/internal/IImsServiceController$Stub;-><init>()V
-Lcom/android/ims/internal/IImsServiceController$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsServiceController;
-Lcom/android/ims/internal/IImsServiceController$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/IImsServiceController$Stub;->TRANSACTION_createEmergencyMMTelFeature:I
-Lcom/android/ims/internal/IImsServiceController$Stub;->TRANSACTION_createMMTelFeature:I
-Lcom/android/ims/internal/IImsServiceController$Stub;->TRANSACTION_createRcsFeature:I
-Lcom/android/ims/internal/IImsServiceController$Stub;->TRANSACTION_removeImsFeature:I
-Lcom/android/ims/internal/IImsServiceController;
-Lcom/android/ims/internal/IImsServiceController;->createEmergencyMMTelFeature(ILcom/android/ims/internal/IImsFeatureStatusCallback;)Lcom/android/ims/internal/IImsMMTelFeature;
-Lcom/android/ims/internal/IImsServiceController;->createMMTelFeature(ILcom/android/ims/internal/IImsFeatureStatusCallback;)Lcom/android/ims/internal/IImsMMTelFeature;
-Lcom/android/ims/internal/IImsServiceController;->createRcsFeature(ILcom/android/ims/internal/IImsFeatureStatusCallback;)Lcom/android/ims/internal/IImsRcsFeature;
-Lcom/android/ims/internal/IImsServiceController;->removeImsFeature(IILcom/android/ims/internal/IImsFeatureStatusCallback;)V
-Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub$Proxy;
-Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub$Proxy;->imsFeatureCreated(II)V
-Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub$Proxy;->imsFeatureRemoved(II)V
-Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub$Proxy;->imsStatusChanged(III)V
-Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub;
-Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub;-><init>()V
-Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsServiceFeatureCallback;
-Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub;->TRANSACTION_imsFeatureCreated:I
-Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub;->TRANSACTION_imsFeatureRemoved:I
-Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub;->TRANSACTION_imsStatusChanged:I
-Lcom/android/ims/internal/IImsServiceFeatureCallback;
-Lcom/android/ims/internal/IImsServiceFeatureCallback;->imsFeatureCreated(II)V
-Lcom/android/ims/internal/IImsServiceFeatureCallback;->imsFeatureRemoved(II)V
-Lcom/android/ims/internal/IImsServiceFeatureCallback;->imsStatusChanged(III)V
-Lcom/android/ims/internal/IImsStreamMediaSession$Stub$Proxy;
-Lcom/android/ims/internal/IImsStreamMediaSession$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/IImsStreamMediaSession$Stub$Proxy;->close()V
-Lcom/android/ims/internal/IImsStreamMediaSession$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/IImsStreamMediaSession$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/IImsStreamMediaSession$Stub;
-Lcom/android/ims/internal/IImsStreamMediaSession$Stub;-><init>()V
-Lcom/android/ims/internal/IImsStreamMediaSession$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsStreamMediaSession;
-Lcom/android/ims/internal/IImsStreamMediaSession$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/IImsStreamMediaSession$Stub;->TRANSACTION_close:I
-Lcom/android/ims/internal/IImsStreamMediaSession;
-Lcom/android/ims/internal/IImsStreamMediaSession;->close()V
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->close()V
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->queryCallBarring(I)I
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->queryCallBarringForServiceClass(II)I
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->queryCallForward(ILjava/lang/String;)I
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->queryCallWaiting()I
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->queryCLIP()I
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->queryCLIR()I
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->queryCOLP()I
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->queryCOLR()I
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->setListener(Lcom/android/ims/internal/IImsUtListener;)V
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->transact(Landroid/os/Bundle;)I
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->updateCallBarring(II[Ljava/lang/String;)I
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->updateCallBarringForServiceClass(II[Ljava/lang/String;I)I
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->updateCallForward(IILjava/lang/String;II)I
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->updateCallWaiting(ZI)I
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->updateCLIP(Z)I
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->updateCLIR(I)I
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->updateCOLP(Z)I
-Lcom/android/ims/internal/IImsUt$Stub$Proxy;->updateCOLR(I)I
-Lcom/android/ims/internal/IImsUt$Stub;
-Lcom/android/ims/internal/IImsUt$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsUt;
-Lcom/android/ims/internal/IImsUt$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/IImsUt$Stub;->TRANSACTION_close:I
-Lcom/android/ims/internal/IImsUt$Stub;->TRANSACTION_queryCallBarring:I
-Lcom/android/ims/internal/IImsUt$Stub;->TRANSACTION_queryCallBarringForServiceClass:I
-Lcom/android/ims/internal/IImsUt$Stub;->TRANSACTION_queryCallForward:I
-Lcom/android/ims/internal/IImsUt$Stub;->TRANSACTION_queryCallWaiting:I
-Lcom/android/ims/internal/IImsUt$Stub;->TRANSACTION_queryCLIP:I
-Lcom/android/ims/internal/IImsUt$Stub;->TRANSACTION_queryCLIR:I
-Lcom/android/ims/internal/IImsUt$Stub;->TRANSACTION_queryCOLP:I
-Lcom/android/ims/internal/IImsUt$Stub;->TRANSACTION_queryCOLR:I
-Lcom/android/ims/internal/IImsUt$Stub;->TRANSACTION_setListener:I
-Lcom/android/ims/internal/IImsUt$Stub;->TRANSACTION_transact:I
-Lcom/android/ims/internal/IImsUt$Stub;->TRANSACTION_updateCallBarring:I
-Lcom/android/ims/internal/IImsUt$Stub;->TRANSACTION_updateCallBarringForServiceClass:I
-Lcom/android/ims/internal/IImsUt$Stub;->TRANSACTION_updateCallForward:I
-Lcom/android/ims/internal/IImsUt$Stub;->TRANSACTION_updateCallWaiting:I
-Lcom/android/ims/internal/IImsUt$Stub;->TRANSACTION_updateCLIP:I
-Lcom/android/ims/internal/IImsUt$Stub;->TRANSACTION_updateCLIR:I
-Lcom/android/ims/internal/IImsUt$Stub;->TRANSACTION_updateCOLP:I
-Lcom/android/ims/internal/IImsUt$Stub;->TRANSACTION_updateCOLR:I
-Lcom/android/ims/internal/IImsUt;
-Lcom/android/ims/internal/IImsUt;->close()V
-Lcom/android/ims/internal/IImsUt;->queryCallBarring(I)I
-Lcom/android/ims/internal/IImsUt;->queryCallBarringForServiceClass(II)I
-Lcom/android/ims/internal/IImsUt;->queryCallForward(ILjava/lang/String;)I
-Lcom/android/ims/internal/IImsUt;->queryCallWaiting()I
-Lcom/android/ims/internal/IImsUt;->queryCLIP()I
-Lcom/android/ims/internal/IImsUt;->queryCLIR()I
-Lcom/android/ims/internal/IImsUt;->queryCOLP()I
-Lcom/android/ims/internal/IImsUt;->queryCOLR()I
-Lcom/android/ims/internal/IImsUt;->setListener(Lcom/android/ims/internal/IImsUtListener;)V
-Lcom/android/ims/internal/IImsUt;->transact(Landroid/os/Bundle;)I
-Lcom/android/ims/internal/IImsUt;->updateCallBarring(II[Ljava/lang/String;)I
-Lcom/android/ims/internal/IImsUt;->updateCallBarringForServiceClass(II[Ljava/lang/String;I)I
-Lcom/android/ims/internal/IImsUt;->updateCallForward(IILjava/lang/String;II)I
-Lcom/android/ims/internal/IImsUt;->updateCallWaiting(ZI)I
-Lcom/android/ims/internal/IImsUt;->updateCLIP(Z)I
-Lcom/android/ims/internal/IImsUt;->updateCLIR(I)I
-Lcom/android/ims/internal/IImsUt;->updateCOLP(Z)I
-Lcom/android/ims/internal/IImsUt;->updateCOLR(I)I
-Lcom/android/ims/internal/IImsUtListener$Stub$Proxy;
-Lcom/android/ims/internal/IImsUtListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/IImsUtListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/IImsUtListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/IImsUtListener$Stub$Proxy;->onSupplementaryServiceIndication(Landroid/telephony/ims/ImsSsData;)V
-Lcom/android/ims/internal/IImsUtListener$Stub$Proxy;->utConfigurationCallBarringQueried(Lcom/android/ims/internal/IImsUt;I[Landroid/telephony/ims/ImsSsInfo;)V
-Lcom/android/ims/internal/IImsUtListener$Stub$Proxy;->utConfigurationCallForwardQueried(Lcom/android/ims/internal/IImsUt;I[Landroid/telephony/ims/ImsCallForwardInfo;)V
-Lcom/android/ims/internal/IImsUtListener$Stub$Proxy;->utConfigurationCallWaitingQueried(Lcom/android/ims/internal/IImsUt;I[Landroid/telephony/ims/ImsSsInfo;)V
-Lcom/android/ims/internal/IImsUtListener$Stub$Proxy;->utConfigurationQueried(Lcom/android/ims/internal/IImsUt;ILandroid/os/Bundle;)V
-Lcom/android/ims/internal/IImsUtListener$Stub$Proxy;->utConfigurationQueryFailed(Lcom/android/ims/internal/IImsUt;ILandroid/telephony/ims/ImsReasonInfo;)V
-Lcom/android/ims/internal/IImsUtListener$Stub$Proxy;->utConfigurationUpdated(Lcom/android/ims/internal/IImsUt;I)V
-Lcom/android/ims/internal/IImsUtListener$Stub$Proxy;->utConfigurationUpdateFailed(Lcom/android/ims/internal/IImsUt;ILandroid/telephony/ims/ImsReasonInfo;)V
-Lcom/android/ims/internal/IImsUtListener$Stub;
-Lcom/android/ims/internal/IImsUtListener$Stub;-><init>()V
-Lcom/android/ims/internal/IImsUtListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsUtListener;
-Lcom/android/ims/internal/IImsUtListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/IImsUtListener$Stub;->TRANSACTION_onSupplementaryServiceIndication:I
-Lcom/android/ims/internal/IImsUtListener$Stub;->TRANSACTION_utConfigurationCallBarringQueried:I
-Lcom/android/ims/internal/IImsUtListener$Stub;->TRANSACTION_utConfigurationCallForwardQueried:I
-Lcom/android/ims/internal/IImsUtListener$Stub;->TRANSACTION_utConfigurationCallWaitingQueried:I
-Lcom/android/ims/internal/IImsUtListener$Stub;->TRANSACTION_utConfigurationQueried:I
-Lcom/android/ims/internal/IImsUtListener$Stub;->TRANSACTION_utConfigurationQueryFailed:I
-Lcom/android/ims/internal/IImsUtListener$Stub;->TRANSACTION_utConfigurationUpdated:I
-Lcom/android/ims/internal/IImsUtListener$Stub;->TRANSACTION_utConfigurationUpdateFailed:I
-Lcom/android/ims/internal/IImsUtListener;
-Lcom/android/ims/internal/IImsUtListener;->onSupplementaryServiceIndication(Landroid/telephony/ims/ImsSsData;)V
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub$Proxy;
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub$Proxy;->changeCallDataUsage(J)V
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub$Proxy;->changeCameraCapabilities(Landroid/telecom/VideoProfile$CameraCapabilities;)V
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub$Proxy;->changePeerDimensions(II)V
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub$Proxy;->changeVideoQuality(I)V
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub$Proxy;->handleCallSessionEvent(I)V
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub$Proxy;->receiveSessionModifyRequest(Landroid/telecom/VideoProfile;)V
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub$Proxy;->receiveSessionModifyResponse(ILandroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub;
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub;-><init>()V
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsVideoCallCallback;
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub;->TRANSACTION_changeCallDataUsage:I
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub;->TRANSACTION_changeCameraCapabilities:I
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub;->TRANSACTION_changePeerDimensions:I
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub;->TRANSACTION_changeVideoQuality:I
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub;->TRANSACTION_handleCallSessionEvent:I
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub;->TRANSACTION_receiveSessionModifyRequest:I
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub;->TRANSACTION_receiveSessionModifyResponse:I
-Lcom/android/ims/internal/IImsVideoCallCallback;
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub$Proxy;
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub$Proxy;->requestCallDataUsage()V
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub$Proxy;->requestCameraCapabilities()V
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub$Proxy;->sendSessionModifyRequest(Landroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub$Proxy;->sendSessionModifyResponse(Landroid/telecom/VideoProfile;)V
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub$Proxy;->setCallback(Lcom/android/ims/internal/IImsVideoCallCallback;)V
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub$Proxy;->setCamera(Ljava/lang/String;I)V
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub$Proxy;->setDeviceOrientation(I)V
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub$Proxy;->setDisplaySurface(Landroid/view/Surface;)V
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub$Proxy;->setPauseImage(Landroid/net/Uri;)V
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub$Proxy;->setPreviewSurface(Landroid/view/Surface;)V
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub$Proxy;->setZoom(F)V
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub;
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsVideoCallProvider;
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub;->TRANSACTION_requestCallDataUsage:I
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub;->TRANSACTION_requestCameraCapabilities:I
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub;->TRANSACTION_sendSessionModifyRequest:I
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub;->TRANSACTION_sendSessionModifyResponse:I
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub;->TRANSACTION_setCallback:I
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub;->TRANSACTION_setCamera:I
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub;->TRANSACTION_setDeviceOrientation:I
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub;->TRANSACTION_setDisplaySurface:I
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub;->TRANSACTION_setPauseImage:I
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub;->TRANSACTION_setPreviewSurface:I
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub;->TRANSACTION_setZoom:I
-Lcom/android/ims/internal/IImsVideoCallProvider;
-Lcom/android/ims/internal/IImsVideoCallProvider;->requestCallDataUsage()V
-Lcom/android/ims/internal/IImsVideoCallProvider;->requestCameraCapabilities()V
-Lcom/android/ims/internal/IImsVideoCallProvider;->sendSessionModifyRequest(Landroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V
-Lcom/android/ims/internal/IImsVideoCallProvider;->sendSessionModifyResponse(Landroid/telecom/VideoProfile;)V
-Lcom/android/ims/internal/IImsVideoCallProvider;->setCamera(Ljava/lang/String;I)V
-Lcom/android/ims/internal/IImsVideoCallProvider;->setDeviceOrientation(I)V
-Lcom/android/ims/internal/IImsVideoCallProvider;->setDisplaySurface(Landroid/view/Surface;)V
-Lcom/android/ims/internal/IImsVideoCallProvider;->setPauseImage(Landroid/net/Uri;)V
-Lcom/android/ims/internal/IImsVideoCallProvider;->setPreviewSurface(Landroid/view/Surface;)V
-Lcom/android/ims/internal/IImsVideoCallProvider;->setZoom(F)V
-Lcom/android/ims/internal/uce/common/CapInfo;
-Lcom/android/ims/internal/uce/common/CapInfo;-><init>(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/common/CapInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/ims/internal/uce/common/CapInfo;->getExts()[Ljava/lang/String;
-Lcom/android/ims/internal/uce/common/CapInfo;->mCapTimestamp:J
-Lcom/android/ims/internal/uce/common/CapInfo;->mCdViaPresenceSupported:Z
-Lcom/android/ims/internal/uce/common/CapInfo;->mExts:[Ljava/lang/String;
-Lcom/android/ims/internal/uce/common/CapInfo;->mFtHttpSupported:Z
-Lcom/android/ims/internal/uce/common/CapInfo;->mFtSnFSupported:Z
-Lcom/android/ims/internal/uce/common/CapInfo;->mFtSupported:Z
-Lcom/android/ims/internal/uce/common/CapInfo;->mFtThumbSupported:Z
-Lcom/android/ims/internal/uce/common/CapInfo;->mFullSnFGroupChatSupported:Z
-Lcom/android/ims/internal/uce/common/CapInfo;->mGeoPullFtSupported:Z
-Lcom/android/ims/internal/uce/common/CapInfo;->mGeoPullSupported:Z
-Lcom/android/ims/internal/uce/common/CapInfo;->mGeoPushSupported:Z
-Lcom/android/ims/internal/uce/common/CapInfo;->mImSupported:Z
-Lcom/android/ims/internal/uce/common/CapInfo;->mIpVideoSupported:Z
-Lcom/android/ims/internal/uce/common/CapInfo;->mIpVoiceSupported:Z
-Lcom/android/ims/internal/uce/common/CapInfo;->mIsSupported:Z
-Lcom/android/ims/internal/uce/common/CapInfo;->mRcsIpVideoCallSupported:Z
-Lcom/android/ims/internal/uce/common/CapInfo;->mRcsIpVideoOnlyCallSupported:Z
-Lcom/android/ims/internal/uce/common/CapInfo;->mRcsIpVoiceCallSupported:Z
-Lcom/android/ims/internal/uce/common/CapInfo;->mSmSupported:Z
-Lcom/android/ims/internal/uce/common/CapInfo;->mSpSupported:Z
-Lcom/android/ims/internal/uce/common/CapInfo;->mVsDuringCSSupported:Z
-Lcom/android/ims/internal/uce/common/CapInfo;->mVsSupported:Z
-Lcom/android/ims/internal/uce/common/CapInfo;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/common/StatusCode;-><init>(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/common/StatusCode;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/ims/internal/uce/common/StatusCode;->mStatusCode:I
-Lcom/android/ims/internal/uce/common/StatusCode;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/common/StatusCode;->UCE_FAILURE:I
-Lcom/android/ims/internal/uce/common/StatusCode;->UCE_FETCH_ERROR:I
-Lcom/android/ims/internal/uce/common/StatusCode;->UCE_INSUFFICIENT_MEMORY:I
-Lcom/android/ims/internal/uce/common/StatusCode;->UCE_INVALID_LISTENER_HANDLE:I
-Lcom/android/ims/internal/uce/common/StatusCode;->UCE_INVALID_PARAM:I
-Lcom/android/ims/internal/uce/common/StatusCode;->UCE_INVALID_SERVICE_HANDLE:I
-Lcom/android/ims/internal/uce/common/StatusCode;->UCE_LOST_NET:I
-Lcom/android/ims/internal/uce/common/StatusCode;->UCE_NOT_FOUND:I
-Lcom/android/ims/internal/uce/common/StatusCode;->UCE_NOT_SUPPORTED:I
-Lcom/android/ims/internal/uce/common/StatusCode;->UCE_NO_CHANGE_IN_CAP:I
-Lcom/android/ims/internal/uce/common/StatusCode;->UCE_REQUEST_TIMEOUT:I
-Lcom/android/ims/internal/uce/common/StatusCode;->UCE_SERVICE_UNAVAILABLE:I
-Lcom/android/ims/internal/uce/common/StatusCode;->UCE_SERVICE_UNKNOWN:I
-Lcom/android/ims/internal/uce/common/StatusCode;->UCE_SUCCESS:I
-Lcom/android/ims/internal/uce/common/StatusCode;->UCE_SUCCESS_ASYC_UPDATE:I
-Lcom/android/ims/internal/uce/common/UceLong;
-Lcom/android/ims/internal/uce/common/UceLong;-><init>(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/common/UceLong;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/ims/internal/uce/common/UceLong;->getUceLongInstance()Lcom/android/ims/internal/uce/common/UceLong;
-Lcom/android/ims/internal/uce/common/UceLong;->mClientId:I
-Lcom/android/ims/internal/uce/common/UceLong;->mUceLong:J
-Lcom/android/ims/internal/uce/common/UceLong;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/common/UceLong;->writeToParcel(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub$Proxy;
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub$Proxy;->cmdStatus(Lcom/android/ims/internal/uce/options/OptionsCmdStatus;)V
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub$Proxy;->getVersionCb(Ljava/lang/String;)V
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub$Proxy;->incomingOptions(Ljava/lang/String;Lcom/android/ims/internal/uce/options/OptionsCapInfo;I)V
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub$Proxy;->serviceAvailable(Lcom/android/ims/internal/uce/common/StatusCode;)V
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub$Proxy;->serviceUnavailable(Lcom/android/ims/internal/uce/common/StatusCode;)V
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub$Proxy;->sipResponseReceived(Ljava/lang/String;Lcom/android/ims/internal/uce/options/OptionsSipResponse;Lcom/android/ims/internal/uce/options/OptionsCapInfo;)V
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub;
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub;-><init>()V
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/uce/options/IOptionsListener;
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub;->TRANSACTION_cmdStatus:I
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub;->TRANSACTION_getVersionCb:I
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub;->TRANSACTION_incomingOptions:I
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub;->TRANSACTION_serviceAvailable:I
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub;->TRANSACTION_serviceUnavailable:I
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub;->TRANSACTION_sipResponseReceived:I
-Lcom/android/ims/internal/uce/options/IOptionsListener;
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub$Proxy;
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub$Proxy;->addListener(ILcom/android/ims/internal/uce/options/IOptionsListener;Lcom/android/ims/internal/uce/common/UceLong;)Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub$Proxy;->getContactCap(ILjava/lang/String;I)Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub$Proxy;->getContactListCap(I[Ljava/lang/String;I)Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub$Proxy;->getMyInfo(II)Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub$Proxy;->getVersion(I)Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub$Proxy;->removeListener(ILcom/android/ims/internal/uce/common/UceLong;)Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub$Proxy;->responseIncomingOptions(IIILjava/lang/String;Lcom/android/ims/internal/uce/options/OptionsCapInfo;Z)Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub$Proxy;->setMyInfo(ILcom/android/ims/internal/uce/common/CapInfo;I)Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub;
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/uce/options/IOptionsService;
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub;->TRANSACTION_addListener:I
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub;->TRANSACTION_getContactCap:I
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub;->TRANSACTION_getContactListCap:I
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub;->TRANSACTION_getMyInfo:I
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub;->TRANSACTION_getVersion:I
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub;->TRANSACTION_removeListener:I
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub;->TRANSACTION_responseIncomingOptions:I
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub;->TRANSACTION_setMyInfo:I
-Lcom/android/ims/internal/uce/options/IOptionsService;
-Lcom/android/ims/internal/uce/options/OptionsCapInfo;
-Lcom/android/ims/internal/uce/options/OptionsCapInfo;-><init>(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/options/OptionsCapInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/ims/internal/uce/options/OptionsCapInfo;->getOptionsCapInfoInstance()Lcom/android/ims/internal/uce/options/OptionsCapInfo;
-Lcom/android/ims/internal/uce/options/OptionsCapInfo;->mCapInfo:Lcom/android/ims/internal/uce/common/CapInfo;
-Lcom/android/ims/internal/uce/options/OptionsCapInfo;->mSdp:Ljava/lang/String;
-Lcom/android/ims/internal/uce/options/OptionsCapInfo;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/options/OptionsCmdId;
-Lcom/android/ims/internal/uce/options/OptionsCmdId;-><init>(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/options/OptionsCmdId;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/ims/internal/uce/options/OptionsCmdId;->getCmdId()I
-Lcom/android/ims/internal/uce/options/OptionsCmdId;->mCmdId:I
-Lcom/android/ims/internal/uce/options/OptionsCmdId;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/options/OptionsCmdId;->UCE_OPTIONS_CMD_GETCONTACTCAP:I
-Lcom/android/ims/internal/uce/options/OptionsCmdId;->UCE_OPTIONS_CMD_GETCONTACTLISTCAP:I
-Lcom/android/ims/internal/uce/options/OptionsCmdId;->UCE_OPTIONS_CMD_GETMYCDINFO:I
-Lcom/android/ims/internal/uce/options/OptionsCmdId;->UCE_OPTIONS_CMD_GET_VERSION:I
-Lcom/android/ims/internal/uce/options/OptionsCmdId;->UCE_OPTIONS_CMD_RESPONSEINCOMINGOPTIONS:I
-Lcom/android/ims/internal/uce/options/OptionsCmdId;->UCE_OPTIONS_CMD_SETMYCDINFO:I
-Lcom/android/ims/internal/uce/options/OptionsCmdId;->UCE_OPTIONS_CMD_UNKNOWN:I
-Lcom/android/ims/internal/uce/options/OptionsCmdStatus;
-Lcom/android/ims/internal/uce/options/OptionsCmdStatus;-><init>(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/options/OptionsCmdStatus;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/ims/internal/uce/options/OptionsCmdStatus;->getCapInfo()Lcom/android/ims/internal/uce/common/CapInfo;
-Lcom/android/ims/internal/uce/options/OptionsCmdStatus;->getCmdId()Lcom/android/ims/internal/uce/options/OptionsCmdId;
-Lcom/android/ims/internal/uce/options/OptionsCmdStatus;->getOptionsCmdStatusInstance()Lcom/android/ims/internal/uce/options/OptionsCmdStatus;
-Lcom/android/ims/internal/uce/options/OptionsCmdStatus;->getStatus()Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/options/OptionsCmdStatus;->getUserData()I
-Lcom/android/ims/internal/uce/options/OptionsCmdStatus;->mCapInfo:Lcom/android/ims/internal/uce/common/CapInfo;
-Lcom/android/ims/internal/uce/options/OptionsCmdStatus;->mCmdId:Lcom/android/ims/internal/uce/options/OptionsCmdId;
-Lcom/android/ims/internal/uce/options/OptionsCmdStatus;->mStatus:Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/options/OptionsCmdStatus;->mUserData:I
-Lcom/android/ims/internal/uce/options/OptionsCmdStatus;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/options/OptionsSipResponse;
-Lcom/android/ims/internal/uce/options/OptionsSipResponse;-><init>(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/options/OptionsSipResponse;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/ims/internal/uce/options/OptionsSipResponse;->getCmdId()Lcom/android/ims/internal/uce/options/OptionsCmdId;
-Lcom/android/ims/internal/uce/options/OptionsSipResponse;->getReasonPhrase()Ljava/lang/String;
-Lcom/android/ims/internal/uce/options/OptionsSipResponse;->getRequestId()I
-Lcom/android/ims/internal/uce/options/OptionsSipResponse;->getRetryAfter()I
-Lcom/android/ims/internal/uce/options/OptionsSipResponse;->getSipResponseCode()I
-Lcom/android/ims/internal/uce/options/OptionsSipResponse;->mCmdId:Lcom/android/ims/internal/uce/options/OptionsCmdId;
-Lcom/android/ims/internal/uce/options/OptionsSipResponse;->mReasonPhrase:Ljava/lang/String;
-Lcom/android/ims/internal/uce/options/OptionsSipResponse;->mRequestId:I
-Lcom/android/ims/internal/uce/options/OptionsSipResponse;->mRetryAfter:I
-Lcom/android/ims/internal/uce/options/OptionsSipResponse;->mSipResponseCode:I
-Lcom/android/ims/internal/uce/options/OptionsSipResponse;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;->capInfoReceived(Ljava/lang/String;[Lcom/android/ims/internal/uce/presence/PresTupleInfo;)V
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;->cmdStatus(Lcom/android/ims/internal/uce/presence/PresCmdStatus;)V
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;->getVersionCb(Ljava/lang/String;)V
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;->listCapInfoReceived(Lcom/android/ims/internal/uce/presence/PresRlmiInfo;[Lcom/android/ims/internal/uce/presence/PresResInfo;)V
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;->publishTriggering(Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;)V
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;->serviceAvailable(Lcom/android/ims/internal/uce/common/StatusCode;)V
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;->serviceUnAvailable(Lcom/android/ims/internal/uce/common/StatusCode;)V
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;->sipResponseReceived(Lcom/android/ims/internal/uce/presence/PresSipResponse;)V
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;->unpublishMessageSent()V
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub;
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub;-><init>()V
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/uce/presence/IPresenceListener;
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub;->TRANSACTION_capInfoReceived:I
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub;->TRANSACTION_cmdStatus:I
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub;->TRANSACTION_getVersionCb:I
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub;->TRANSACTION_listCapInfoReceived:I
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub;->TRANSACTION_publishTriggering:I
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub;->TRANSACTION_serviceAvailable:I
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub;->TRANSACTION_serviceUnAvailable:I
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub;->TRANSACTION_sipResponseReceived:I
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub;->TRANSACTION_unpublishMessageSent:I
-Lcom/android/ims/internal/uce/presence/IPresenceListener;
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub$Proxy;
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub$Proxy;->addListener(ILcom/android/ims/internal/uce/presence/IPresenceListener;Lcom/android/ims/internal/uce/common/UceLong;)Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub$Proxy;->getContactCap(ILjava/lang/String;I)Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub$Proxy;->getContactListCap(I[Ljava/lang/String;I)Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub$Proxy;->getVersion(I)Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub$Proxy;->publishMyCap(ILcom/android/ims/internal/uce/presence/PresCapInfo;I)Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub$Proxy;->reenableService(II)Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub$Proxy;->removeListener(ILcom/android/ims/internal/uce/common/UceLong;)Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub$Proxy;->setNewFeatureTag(ILjava/lang/String;Lcom/android/ims/internal/uce/presence/PresServiceInfo;I)Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub;
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/uce/presence/IPresenceService;
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub;->TRANSACTION_addListener:I
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub;->TRANSACTION_getContactCap:I
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub;->TRANSACTION_getContactListCap:I
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub;->TRANSACTION_getVersion:I
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub;->TRANSACTION_publishMyCap:I
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub;->TRANSACTION_reenableService:I
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub;->TRANSACTION_removeListener:I
-Lcom/android/ims/internal/uce/presence/IPresenceService$Stub;->TRANSACTION_setNewFeatureTag:I
-Lcom/android/ims/internal/uce/presence/IPresenceService;
-Lcom/android/ims/internal/uce/presence/PresCapInfo;
-Lcom/android/ims/internal/uce/presence/PresCapInfo;-><init>()V
-Lcom/android/ims/internal/uce/presence/PresCapInfo;-><init>(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresCapInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/ims/internal/uce/presence/PresCapInfo;->mCapInfo:Lcom/android/ims/internal/uce/common/CapInfo;
-Lcom/android/ims/internal/uce/presence/PresCapInfo;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresCapInfo;->setCapInfo(Lcom/android/ims/internal/uce/common/CapInfo;)V
-Lcom/android/ims/internal/uce/presence/PresCapInfo;->setContactUri(Ljava/lang/String;)V
-Lcom/android/ims/internal/uce/presence/PresCmdId;
-Lcom/android/ims/internal/uce/presence/PresCmdId;-><init>(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresCmdId;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/ims/internal/uce/presence/PresCmdId;->getCmdId()I
-Lcom/android/ims/internal/uce/presence/PresCmdId;->mCmdId:I
-Lcom/android/ims/internal/uce/presence/PresCmdId;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresCmdId;->UCE_PRES_CMD_GETCONTACTCAP:I
-Lcom/android/ims/internal/uce/presence/PresCmdId;->UCE_PRES_CMD_GETCONTACTLISTCAP:I
-Lcom/android/ims/internal/uce/presence/PresCmdId;->UCE_PRES_CMD_GET_VERSION:I
-Lcom/android/ims/internal/uce/presence/PresCmdId;->UCE_PRES_CMD_PUBLISHMYCAP:I
-Lcom/android/ims/internal/uce/presence/PresCmdId;->UCE_PRES_CMD_REENABLE_SERVICE:I
-Lcom/android/ims/internal/uce/presence/PresCmdId;->UCE_PRES_CMD_SETNEWFEATURETAG:I
-Lcom/android/ims/internal/uce/presence/PresCmdId;->UCE_PRES_CMD_UNKNOWN:I
-Lcom/android/ims/internal/uce/presence/PresCmdStatus;
-Lcom/android/ims/internal/uce/presence/PresCmdStatus;-><init>(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresCmdStatus;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/ims/internal/uce/presence/PresCmdStatus;->getCmdId()Lcom/android/ims/internal/uce/presence/PresCmdId;
-Lcom/android/ims/internal/uce/presence/PresCmdStatus;->getRequestId()I
-Lcom/android/ims/internal/uce/presence/PresCmdStatus;->getStatus()Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/presence/PresCmdStatus;->getUserData()I
-Lcom/android/ims/internal/uce/presence/PresCmdStatus;->mCmdId:Lcom/android/ims/internal/uce/presence/PresCmdId;
-Lcom/android/ims/internal/uce/presence/PresCmdStatus;->mRequestId:I
-Lcom/android/ims/internal/uce/presence/PresCmdStatus;->mStatus:Lcom/android/ims/internal/uce/common/StatusCode;
-Lcom/android/ims/internal/uce/presence/PresCmdStatus;->mUserData:I
-Lcom/android/ims/internal/uce/presence/PresCmdStatus;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;
-Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;-><init>(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;->getPublishTrigeerType()I
-Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;->mPublishTriggerType:I
-Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;->UCE_PRES_PUBLISH_TRIGGER_ETAG_EXPIRED:I
-Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;->UCE_PRES_PUBLISH_TRIGGER_MOVE_TO_2G:I
-Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;->UCE_PRES_PUBLISH_TRIGGER_MOVE_TO_3G:I
-Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;->UCE_PRES_PUBLISH_TRIGGER_MOVE_TO_EHRPD:I
-Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;->UCE_PRES_PUBLISH_TRIGGER_MOVE_TO_HSPAPLUS:I
-Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;->UCE_PRES_PUBLISH_TRIGGER_MOVE_TO_IWLAN:I
-Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;->UCE_PRES_PUBLISH_TRIGGER_MOVE_TO_LTE_VOPS_DISABLED:I
-Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;->UCE_PRES_PUBLISH_TRIGGER_MOVE_TO_LTE_VOPS_ENABLED:I
-Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;->UCE_PRES_PUBLISH_TRIGGER_MOVE_TO_WLAN:I
-Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;->UCE_PRES_PUBLISH_TRIGGER_UNKNOWN:I
-Lcom/android/ims/internal/uce/presence/PresResInfo;
-Lcom/android/ims/internal/uce/presence/PresResInfo;-><init>(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresResInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/ims/internal/uce/presence/PresResInfo;->getDisplayName()Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresResInfo;->getInstanceInfo()Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;
-Lcom/android/ims/internal/uce/presence/PresResInfo;->getResUri()Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresResInfo;->mDisplayName:Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresResInfo;->mInstanceInfo:Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;
-Lcom/android/ims/internal/uce/presence/PresResInfo;->mResUri:Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresResInfo;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;
-Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;-><init>(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->getPresentityUri()Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->getReason()Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->getResId()Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->getResInstanceState()I
-Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->getTupleInfo()[Lcom/android/ims/internal/uce/presence/PresTupleInfo;
-Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->mId:Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->mPresentityUri:Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->mReason:Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->mResInstanceState:I
-Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->mTupleInfoArray:[Lcom/android/ims/internal/uce/presence/PresTupleInfo;
-Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->UCE_PRES_RES_INSTANCE_STATE_ACTIVE:I
-Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->UCE_PRES_RES_INSTANCE_STATE_PENDING:I
-Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->UCE_PRES_RES_INSTANCE_STATE_TERMINATED:I
-Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->UCE_PRES_RES_INSTANCE_STATE_UNKNOWN:I
-Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->UCE_PRES_RES_INSTANCE_UNKNOWN:I
-Lcom/android/ims/internal/uce/presence/PresRlmiInfo;
-Lcom/android/ims/internal/uce/presence/PresRlmiInfo;-><init>(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->getListName()Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->getPresSubscriptionState()Lcom/android/ims/internal/uce/presence/PresSubscriptionState;
-Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->getRequestId()I
-Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->getSubscriptionExpireTime()I
-Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->getSubscriptionTerminatedReason()Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->getUri()Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->getVersion()I
-Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->isFullState()Z
-Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->mFullState:Z
-Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->mListName:Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->mPresSubscriptionState:Lcom/android/ims/internal/uce/presence/PresSubscriptionState;
-Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->mRequestId:I
-Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->mSubscriptionExpireTime:I
-Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->mSubscriptionTerminatedReason:Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->mUri:Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->mVersion:I
-Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresServiceInfo;
-Lcom/android/ims/internal/uce/presence/PresServiceInfo;-><init>()V
-Lcom/android/ims/internal/uce/presence/PresServiceInfo;-><init>(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresServiceInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/ims/internal/uce/presence/PresServiceInfo;->mMediaCap:I
-Lcom/android/ims/internal/uce/presence/PresServiceInfo;->mServiceDesc:Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresServiceInfo;->mServiceID:Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresServiceInfo;->mServiceVer:Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresServiceInfo;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresServiceInfo;->setMediaType(I)V
-Lcom/android/ims/internal/uce/presence/PresServiceInfo;->setServiceDesc(Ljava/lang/String;)V
-Lcom/android/ims/internal/uce/presence/PresServiceInfo;->setServiceId(Ljava/lang/String;)V
-Lcom/android/ims/internal/uce/presence/PresServiceInfo;->setServiceVer(Ljava/lang/String;)V
-Lcom/android/ims/internal/uce/presence/PresServiceInfo;->UCE_PRES_MEDIA_CAP_FULL_AUDIO_AND_VIDEO:I
-Lcom/android/ims/internal/uce/presence/PresServiceInfo;->UCE_PRES_MEDIA_CAP_FULL_AUDIO_ONLY:I
-Lcom/android/ims/internal/uce/presence/PresServiceInfo;->UCE_PRES_MEDIA_CAP_NONE:I
-Lcom/android/ims/internal/uce/presence/PresServiceInfo;->UCE_PRES_MEDIA_CAP_UNKNOWN:I
-Lcom/android/ims/internal/uce/presence/PresSipResponse;
-Lcom/android/ims/internal/uce/presence/PresSipResponse;-><init>(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresSipResponse;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/ims/internal/uce/presence/PresSipResponse;->mCmdId:Lcom/android/ims/internal/uce/presence/PresCmdId;
-Lcom/android/ims/internal/uce/presence/PresSipResponse;->mReasonPhrase:Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresSipResponse;->mRequestId:I
-Lcom/android/ims/internal/uce/presence/PresSipResponse;->mRetryAfter:I
-Lcom/android/ims/internal/uce/presence/PresSipResponse;->mSipResponseCode:I
-Lcom/android/ims/internal/uce/presence/PresSipResponse;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresSubscriptionState;
-Lcom/android/ims/internal/uce/presence/PresSubscriptionState;-><init>(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresSubscriptionState;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/ims/internal/uce/presence/PresSubscriptionState;->getPresSubscriptionStateValue()I
-Lcom/android/ims/internal/uce/presence/PresSubscriptionState;->mPresSubscriptionState:I
-Lcom/android/ims/internal/uce/presence/PresSubscriptionState;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresSubscriptionState;->UCE_PRES_SUBSCRIPTION_STATE_ACTIVE:I
-Lcom/android/ims/internal/uce/presence/PresSubscriptionState;->UCE_PRES_SUBSCRIPTION_STATE_PENDING:I
-Lcom/android/ims/internal/uce/presence/PresSubscriptionState;->UCE_PRES_SUBSCRIPTION_STATE_TERMINATED:I
-Lcom/android/ims/internal/uce/presence/PresSubscriptionState;->UCE_PRES_SUBSCRIPTION_STATE_UNKNOWN:I
-Lcom/android/ims/internal/uce/presence/PresTupleInfo;
-Lcom/android/ims/internal/uce/presence/PresTupleInfo;-><init>(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/presence/PresTupleInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/ims/internal/uce/presence/PresTupleInfo;->getContactUri()Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresTupleInfo;->getFeatureTag()Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresTupleInfo;->getTimestamp()Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresTupleInfo;->mContactUri:Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresTupleInfo;->mFeatureTag:Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresTupleInfo;->mTimestamp:Ljava/lang/String;
-Lcom/android/ims/internal/uce/presence/PresTupleInfo;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/ims/internal/uce/uceservice/IUceListener$Stub$Proxy;
-Lcom/android/ims/internal/uce/uceservice/IUceListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/uce/uceservice/IUceListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/uce/uceservice/IUceListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/uce/uceservice/IUceListener$Stub$Proxy;->setStatus(I)V
-Lcom/android/ims/internal/uce/uceservice/IUceListener$Stub;
-Lcom/android/ims/internal/uce/uceservice/IUceListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/uce/uceservice/IUceListener;
-Lcom/android/ims/internal/uce/uceservice/IUceListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/uce/uceservice/IUceListener$Stub;->TRANSACTION_setStatus:I
-Lcom/android/ims/internal/uce/uceservice/IUceListener;
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;->createOptionsService(Lcom/android/ims/internal/uce/options/IOptionsListener;Lcom/android/ims/internal/uce/common/UceLong;)I
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;->createPresenceService(Lcom/android/ims/internal/uce/presence/IPresenceListener;Lcom/android/ims/internal/uce/common/UceLong;)I
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;->destroyOptionsService(I)V
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;->destroyPresenceService(I)V
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;->getOptionsService()Lcom/android/ims/internal/uce/options/IOptionsService;
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;->getPresenceService()Lcom/android/ims/internal/uce/presence/IPresenceService;
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;->getServiceStatus()Z
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;->isServiceStarted()Z
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;->startService(Lcom/android/ims/internal/uce/uceservice/IUceListener;)Z
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;->stopService()Z
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub;
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/uce/uceservice/IUceService;
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub;->TRANSACTION_createOptionsService:I
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub;->TRANSACTION_createPresenceService:I
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub;->TRANSACTION_destroyOptionsService:I
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub;->TRANSACTION_destroyPresenceService:I
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub;->TRANSACTION_getOptionsService:I
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub;->TRANSACTION_getPresenceService:I
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub;->TRANSACTION_getServiceStatus:I
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub;->TRANSACTION_isServiceStarted:I
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub;->TRANSACTION_startService:I
-Lcom/android/ims/internal/uce/uceservice/IUceService$Stub;->TRANSACTION_stopService:I
-Lcom/android/ims/internal/uce/uceservice/IUceService;
-Lcom/android/internal/app/AlertController$AlertParams$OnPrepareListViewListener;
-Lcom/android/internal/app/AlertController$AlertParams$OnPrepareListViewListener;->onPrepareListView(Landroid/widget/ListView;)V
-Lcom/android/internal/app/AlertController$AlertParams;
-Lcom/android/internal/app/AlertController$AlertParams;->createListView(Lcom/android/internal/app/AlertController;)V
-Lcom/android/internal/app/AlertController$AlertParams;->mForceInverseBackground:Z
-Lcom/android/internal/app/AlertController$AlertParams;->mIconAttrId:I
-Lcom/android/internal/app/AlertController$AlertParams;->mOnPrepareListViewListener:Lcom/android/internal/app/AlertController$AlertParams$OnPrepareListViewListener;
-Lcom/android/internal/app/AlertController$AlertParams;->mRecycleOnMeasure:Z
-Lcom/android/internal/app/AlertController$AlertParams;->mViewLayoutResId:I
-Lcom/android/internal/app/AlertController$AlertParams;->mViewSpacingBottom:I
-Lcom/android/internal/app/AlertController$AlertParams;->mViewSpacingLeft:I
-Lcom/android/internal/app/AlertController$AlertParams;->mViewSpacingRight:I
-Lcom/android/internal/app/AlertController$AlertParams;->mViewSpacingSpecified:Z
-Lcom/android/internal/app/AlertController$AlertParams;->mViewSpacingTop:I
-Lcom/android/internal/app/AlertController$ButtonHandler;
-Lcom/android/internal/app/AlertController$ButtonHandler;-><init>(Landroid/content/DialogInterface;)V
-Lcom/android/internal/app/AlertController$ButtonHandler;->mDialog:Ljava/lang/ref/WeakReference;
-Lcom/android/internal/app/AlertController$ButtonHandler;->MSG_DISMISS_DIALOG:I
-Lcom/android/internal/app/AlertController$CheckedItemAdapter;
-Lcom/android/internal/app/AlertController$CheckedItemAdapter;-><init>(Landroid/content/Context;II[Ljava/lang/CharSequence;)V
-Lcom/android/internal/app/AlertController$RecycleListView;
-Lcom/android/internal/app/AlertController$RecycleListView;->mPaddingBottomNoButtons:I
-Lcom/android/internal/app/AlertController$RecycleListView;->mPaddingTopNoTitle:I
-Lcom/android/internal/app/AlertController$RecycleListView;->mRecycleOnMeasure:Z
-Lcom/android/internal/app/AlertController$RecycleListView;->recycleOnMeasure()Z
-Lcom/android/internal/app/AlertController$RecycleListView;->setHasDecor(ZZ)V
-Lcom/android/internal/app/AlertController;
-Lcom/android/internal/app/AlertController;->canTextInput(Landroid/view/View;)Z
-Lcom/android/internal/app/AlertController;->centerButton(Landroid/widget/Button;)V
-Lcom/android/internal/app/AlertController;->create(Landroid/content/Context;Landroid/content/DialogInterface;Landroid/view/Window;)Lcom/android/internal/app/AlertController;
-Lcom/android/internal/app/AlertController;->getIconAttributeResId(I)I
-Lcom/android/internal/app/AlertController;->installContent(Lcom/android/internal/app/AlertController$AlertParams;)V
-Lcom/android/internal/app/AlertController;->mAdapter:Landroid/widget/ListAdapter;
-Lcom/android/internal/app/AlertController;->mAlertDialogLayout:I
-Lcom/android/internal/app/AlertController;->manageScrollIndicators(Landroid/view/View;Landroid/view/View;Landroid/view/View;)V
-Lcom/android/internal/app/AlertController;->mButtonHandler:Landroid/view/View$OnClickListener;
-Lcom/android/internal/app/AlertController;->mButtonNegative:Landroid/widget/Button;
-Lcom/android/internal/app/AlertController;->mButtonNegativeMessage:Landroid/os/Message;
-Lcom/android/internal/app/AlertController;->mButtonNegativeText:Ljava/lang/CharSequence;
-Lcom/android/internal/app/AlertController;->mButtonNeutral:Landroid/widget/Button;
-Lcom/android/internal/app/AlertController;->mButtonNeutralMessage:Landroid/os/Message;
-Lcom/android/internal/app/AlertController;->mButtonNeutralText:Ljava/lang/CharSequence;
-Lcom/android/internal/app/AlertController;->mButtonPanelLayoutHint:I
-Lcom/android/internal/app/AlertController;->mButtonPanelSideLayout:I
-Lcom/android/internal/app/AlertController;->mButtonPositive:Landroid/widget/Button;
-Lcom/android/internal/app/AlertController;->mButtonPositiveMessage:Landroid/os/Message;
-Lcom/android/internal/app/AlertController;->mButtonPositiveText:Ljava/lang/CharSequence;
-Lcom/android/internal/app/AlertController;->mCheckedItem:I
-Lcom/android/internal/app/AlertController;->mContext:Landroid/content/Context;
-Lcom/android/internal/app/AlertController;->mDialogInterface:Landroid/content/DialogInterface;
-Lcom/android/internal/app/AlertController;->mHandler:Landroid/os/Handler;
-Lcom/android/internal/app/AlertController;->mIcon:Landroid/graphics/drawable/Drawable;
-Lcom/android/internal/app/AlertController;->mIconId:I
-Lcom/android/internal/app/AlertController;->mIconView:Landroid/widget/ImageView;
-Lcom/android/internal/app/AlertController;->MICRO:I
-Lcom/android/internal/app/AlertController;->mListItemLayout:I
-Lcom/android/internal/app/AlertController;->mListLayout:I
-Lcom/android/internal/app/AlertController;->mListView:Landroid/widget/ListView;
-Lcom/android/internal/app/AlertController;->mMessage:Ljava/lang/CharSequence;
-Lcom/android/internal/app/AlertController;->mMessageHyphenationFrequency:Ljava/lang/Integer;
-Lcom/android/internal/app/AlertController;->mMessageMovementMethod:Landroid/text/method/MovementMethod;
-Lcom/android/internal/app/AlertController;->mMessageView:Landroid/widget/TextView;
-Lcom/android/internal/app/AlertController;->mMultiChoiceItemLayout:I
-Lcom/android/internal/app/AlertController;->mScrollView:Landroid/widget/ScrollView;
-Lcom/android/internal/app/AlertController;->mShowTitle:Z
-Lcom/android/internal/app/AlertController;->mSingleChoiceItemLayout:I
-Lcom/android/internal/app/AlertController;->mTitleView:Landroid/widget/TextView;
-Lcom/android/internal/app/AlertController;->mViewLayoutResId:I
-Lcom/android/internal/app/AlertController;->mViewSpacingBottom:I
-Lcom/android/internal/app/AlertController;->mViewSpacingLeft:I
-Lcom/android/internal/app/AlertController;->mViewSpacingRight:I
-Lcom/android/internal/app/AlertController;->mViewSpacingSpecified:Z
-Lcom/android/internal/app/AlertController;->mViewSpacingTop:I
-Lcom/android/internal/app/AlertController;->mWindow:Landroid/view/Window;
-Lcom/android/internal/app/AlertController;->resolvePanel(Landroid/view/View;Landroid/view/View;)Landroid/view/ViewGroup;
-Lcom/android/internal/app/AlertController;->selectContentView()I
-Lcom/android/internal/app/AlertController;->setBackground(Landroid/content/res/TypedArray;Landroid/view/View;Landroid/view/View;Landroid/view/View;Landroid/view/View;ZZZ)V
-Lcom/android/internal/app/AlertController;->setButtonPanelLayoutHint(I)V
-Lcom/android/internal/app/AlertController;->setInverseBackgroundForced(Z)V
-Lcom/android/internal/app/AlertController;->setMessageHyphenationFrequency(I)V
-Lcom/android/internal/app/AlertController;->setMessageMovementMethod(Landroid/text/method/MovementMethod;)V
-Lcom/android/internal/app/AlertController;->setupButtons(Landroid/view/ViewGroup;)V
-Lcom/android/internal/app/AlertController;->setupContent(Landroid/view/ViewGroup;)V
-Lcom/android/internal/app/AlertController;->setupCustomContent(Landroid/view/ViewGroup;)V
-Lcom/android/internal/app/AlertController;->setupTitle(Landroid/view/ViewGroup;)V
-Lcom/android/internal/app/AlertController;->setupView()V
-Lcom/android/internal/app/AlertController;->setView(I)V
-Lcom/android/internal/app/AlertController;->setView(Landroid/view/View;IIII)V
-Lcom/android/internal/app/AlertController;->shouldCenterSingleButton(Landroid/content/Context;)Z
-Lcom/android/internal/app/EventLogTags;
-Lcom/android/internal/app/EventLogTags;-><init>()V
-Lcom/android/internal/app/EventLogTags;->HARMFUL_APP_WARNING_LAUNCH_ANYWAY:I
-Lcom/android/internal/app/EventLogTags;->HARMFUL_APP_WARNING_UNINSTALL:I
-Lcom/android/internal/app/EventLogTags;->writeHarmfulAppWarningLaunchAnyway(Ljava/lang/String;)V
-Lcom/android/internal/app/EventLogTags;->writeHarmfulAppWarningUninstall(Ljava/lang/String;)V
-Lcom/android/internal/app/IAppOpsActiveCallback$Stub$Proxy;
-Lcom/android/internal/app/IAppOpsActiveCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/app/IAppOpsActiveCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/app/IAppOpsActiveCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/app/IAppOpsActiveCallback$Stub$Proxy;->opActiveChanged(IILjava/lang/String;Z)V
-Lcom/android/internal/app/IAppOpsActiveCallback$Stub;
-Lcom/android/internal/app/IAppOpsActiveCallback$Stub;-><init>()V
-Lcom/android/internal/app/IAppOpsActiveCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IAppOpsActiveCallback;
-Lcom/android/internal/app/IAppOpsActiveCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/app/IAppOpsActiveCallback$Stub;->TRANSACTION_opActiveChanged:I
-Lcom/android/internal/app/IAppOpsActiveCallback;
-Lcom/android/internal/app/IAppOpsActiveCallback;->opActiveChanged(IILjava/lang/String;Z)V
-Lcom/android/internal/app/IAppOpsCallback$Stub$Proxy;
-Lcom/android/internal/app/IAppOpsCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/app/IAppOpsCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/app/IAppOpsCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/app/IAppOpsCallback$Stub$Proxy;->opChanged(IILjava/lang/String;)V
-Lcom/android/internal/app/IAppOpsCallback$Stub;
-Lcom/android/internal/app/IAppOpsCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IAppOpsCallback;
-Lcom/android/internal/app/IAppOpsCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/app/IAppOpsCallback$Stub;->TRANSACTION_opChanged:I
-Lcom/android/internal/app/IAppOpsCallback;
-Lcom/android/internal/app/IAppOpsCallback;->opChanged(IILjava/lang/String;)V
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->checkAudioOperation(IIILjava/lang/String;)I
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->checkPackage(ILjava/lang/String;)I
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->finishOperation(Landroid/os/IBinder;IILjava/lang/String;)V
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->getOpsForPackage(ILjava/lang/String;[I)Ljava/util/List;
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->getPackagesForOps([I)Ljava/util/List;
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->getToken(Landroid/os/IBinder;)Landroid/os/IBinder;
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->getUidOps(I[I)Ljava/util/List;
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->isOperationActive(IILjava/lang/String;)Z
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->noteOperation(IILjava/lang/String;)I
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->noteProxyOperation(ILjava/lang/String;ILjava/lang/String;)I
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->permissionToOpCode(Ljava/lang/String;)I
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->removeUser(I)V
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->resetAllModes(ILjava/lang/String;)V
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->setAudioRestriction(IIII[Ljava/lang/String;)V
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->setUidMode(III)V
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->setUserRestriction(IZLandroid/os/IBinder;I[Ljava/lang/String;)V
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->setUserRestrictions(Landroid/os/Bundle;Landroid/os/IBinder;I)V
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Z)I
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->startWatchingActive([ILcom/android/internal/app/IAppOpsActiveCallback;)V
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->startWatchingMode(ILjava/lang/String;Lcom/android/internal/app/IAppOpsCallback;)V
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->startWatchingModeWithFlags(ILjava/lang/String;ILcom/android/internal/app/IAppOpsCallback;)V
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->stopWatchingActive(Lcom/android/internal/app/IAppOpsActiveCallback;)V
-Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->stopWatchingMode(Lcom/android/internal/app/IAppOpsCallback;)V
-Lcom/android/internal/app/IAppOpsService$Stub;
-Lcom/android/internal/app/IAppOpsService$Stub;-><init>()V
-Lcom/android/internal/app/IAppOpsService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_getToken:I
-Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_getUidOps:I
-Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_isOperationActive:I
-Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_permissionToOpCode:I
-Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_startWatchingActive:I
-Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_startWatchingModeWithFlags:I
-Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_stopWatchingActive:I
-Lcom/android/internal/app/IAppOpsService;
-Lcom/android/internal/app/IAppOpsService;->checkAudioOperation(IIILjava/lang/String;)I
-Lcom/android/internal/app/IAppOpsService;->checkOperation(IILjava/lang/String;)I
-Lcom/android/internal/app/IAppOpsService;->checkPackage(ILjava/lang/String;)I
-Lcom/android/internal/app/IAppOpsService;->getToken(Landroid/os/IBinder;)Landroid/os/IBinder;
-Lcom/android/internal/app/IAppOpsService;->getUidOps(I[I)Ljava/util/List;
-Lcom/android/internal/app/IAppOpsService;->isOperationActive(IILjava/lang/String;)Z
-Lcom/android/internal/app/IAppOpsService;->noteOperation(IILjava/lang/String;)I
-Lcom/android/internal/app/IAppOpsService;->noteProxyOperation(ILjava/lang/String;ILjava/lang/String;)I
-Lcom/android/internal/app/IAppOpsService;->permissionToOpCode(Ljava/lang/String;)I
-Lcom/android/internal/app/IAppOpsService;->removeUser(I)V
-Lcom/android/internal/app/IAppOpsService;->setAudioRestriction(IIII[Ljava/lang/String;)V
-Lcom/android/internal/app/IAppOpsService;->setUidMode(III)V
-Lcom/android/internal/app/IAppOpsService;->setUserRestriction(IZLandroid/os/IBinder;I[Ljava/lang/String;)V
-Lcom/android/internal/app/IAppOpsService;->setUserRestrictions(Landroid/os/Bundle;Landroid/os/IBinder;I)V
-Lcom/android/internal/app/IAppOpsService;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Z)I
-Lcom/android/internal/app/IAppOpsService;->startWatchingActive([ILcom/android/internal/app/IAppOpsActiveCallback;)V
-Lcom/android/internal/app/IAppOpsService;->startWatchingMode(ILjava/lang/String;Lcom/android/internal/app/IAppOpsCallback;)V
-Lcom/android/internal/app/IAppOpsService;->startWatchingModeWithFlags(ILjava/lang/String;ILcom/android/internal/app/IAppOpsCallback;)V
-Lcom/android/internal/app/IAppOpsService;->stopWatchingActive(Lcom/android/internal/app/IAppOpsActiveCallback;)V
-Lcom/android/internal/app/IAppOpsService;->stopWatchingMode(Lcom/android/internal/app/IAppOpsCallback;)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->computeBatteryTimeRemaining()J
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->computeChargeTimeRemaining()J
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->getAwakeTimeBattery()J
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->getAwakeTimePlugged()J
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->getCellularBatteryStats()Landroid/os/connectivity/CellularBatteryStats;
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->getGpsBatteryStats()Landroid/os/connectivity/GpsBatteryStats;
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->getStatistics()[B
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->getStatisticsStream()Landroid/os/ParcelFileDescriptor;
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->getWifiBatteryStats()Landroid/os/connectivity/WifiBatteryStats;
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->isCharging()Z
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteBleScanResults(Landroid/os/WorkSource;I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteBleScanStarted(Landroid/os/WorkSource;Z)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteBleScanStopped(Landroid/os/WorkSource;Z)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteBluetoothControllerActivity(Landroid/bluetooth/BluetoothActivityEnergyInfo;)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteChangeWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;ILandroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteConnectivityChanged(ILjava/lang/String;)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteDeviceIdleMode(ILjava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteEvent(ILjava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteFlashlightOff(I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteFlashlightOn(I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteFullWifiLockAcquired(I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteFullWifiLockAcquiredFromSource(Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteFullWifiLockReleased(I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteFullWifiLockReleasedFromSource(Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteGpsChanged(Landroid/os/WorkSource;Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteGpsSignalQuality(I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteInteractive(Z)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteJobFinish(Ljava/lang/String;II)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteJobStart(Ljava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteLongPartialWakelockFinish(Ljava/lang/String;Ljava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteLongPartialWakelockFinishFromSource(Ljava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteLongPartialWakelockStart(Ljava/lang/String;Ljava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteLongPartialWakelockStartFromSource(Ljava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteMobileRadioPowerState(IJI)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteModemControllerActivity(Landroid/telephony/ModemActivityInfo;)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteNetworkInterfaceType(Ljava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteNetworkStatsEnabled()V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->notePhoneDataConnectionState(IZ)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->notePhoneOff()V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->notePhoneOn()V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->notePhoneSignalStrength(Landroid/telephony/SignalStrength;)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->notePhoneState(I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteResetAudio()V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteResetBleScan()V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteResetCamera()V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteResetFlashlight()V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteResetVideo()V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteScreenBrightness(I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteScreenState(I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteStartAudio(I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteStartCamera(I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteStartSensor(II)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteStartVideo(I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteStartWakelock(IILjava/lang/String;Ljava/lang/String;IZ)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteStartWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteStopAudio(I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteStopCamera(I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteStopSensor(II)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteStopVideo(I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteStopWakelock(IILjava/lang/String;Ljava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteStopWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteSyncFinish(Ljava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteSyncStart(Ljava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteUserActivity(II)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteVibratorOff(I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteVibratorOn(IJ)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteWakeUp(Ljava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteWifiBatchedScanStartedFromSource(Landroid/os/WorkSource;I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteWifiBatchedScanStoppedFromSource(Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteWifiControllerActivity(Landroid/net/wifi/WifiActivityEnergyInfo;)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteWifiMulticastDisabled(I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteWifiMulticastEnabled(I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteWifiOff()V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteWifiOn()V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteWifiRadioPowerState(IJI)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteWifiRssiChanged(I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteWifiRunning(Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteWifiRunningChanged(Landroid/os/WorkSource;Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteWifiScanStarted(I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteWifiScanStartedFromSource(Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteWifiScanStopped(I)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteWifiScanStoppedFromSource(Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteWifiState(ILjava/lang/String;)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteWifiStopped(Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteWifiSupplicantStateChanged(IZ)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->setBatteryState(IIIIIIII)V
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->takeUidSnapshot(I)Landroid/os/health/HealthStatsParceler;
-Lcom/android/internal/app/IBatteryStats$Stub$Proxy;->takeUidSnapshots([I)[Landroid/os/health/HealthStatsParceler;
-Lcom/android/internal/app/IBatteryStats$Stub;
-Lcom/android/internal/app/IBatteryStats$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_computeBatteryTimeRemaining:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_computeChargeTimeRemaining:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_getAwakeTimeBattery:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_getAwakeTimePlugged:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_getCellularBatteryStats:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_getGpsBatteryStats:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_getStatistics:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_getStatisticsStream:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_getWifiBatteryStats:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_isCharging:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteBleScanResults:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteBleScanStarted:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteBleScanStopped:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteBluetoothControllerActivity:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteChangeWakelockFromSource:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteConnectivityChanged:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteDeviceIdleMode:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteEvent:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteFlashlightOff:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteFlashlightOn:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteFullWifiLockAcquired:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteFullWifiLockAcquiredFromSource:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteFullWifiLockReleased:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteFullWifiLockReleasedFromSource:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteGpsChanged:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteGpsSignalQuality:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteInteractive:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteJobFinish:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteJobStart:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteLongPartialWakelockFinish:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteLongPartialWakelockFinishFromSource:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteLongPartialWakelockStart:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteLongPartialWakelockStartFromSource:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteMobileRadioPowerState:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteModemControllerActivity:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteNetworkInterfaceType:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteNetworkStatsEnabled:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_notePhoneDataConnectionState:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_notePhoneOff:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_notePhoneOn:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_notePhoneSignalStrength:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_notePhoneState:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteResetAudio:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteResetBleScan:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteResetCamera:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteResetFlashlight:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteResetVideo:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteScreenBrightness:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteScreenState:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteStartAudio:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteStartCamera:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteStartSensor:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteStartVideo:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteStartWakelock:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteStartWakelockFromSource:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteStopAudio:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteStopCamera:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteStopSensor:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteStopVideo:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteStopWakelock:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteStopWakelockFromSource:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteSyncFinish:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteSyncStart:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteUserActivity:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteVibratorOff:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteVibratorOn:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteWakeUp:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteWifiBatchedScanStartedFromSource:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteWifiBatchedScanStoppedFromSource:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteWifiControllerActivity:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteWifiMulticastDisabled:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteWifiMulticastEnabled:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteWifiOff:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteWifiOn:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteWifiRadioPowerState:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteWifiRssiChanged:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteWifiRunning:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteWifiRunningChanged:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteWifiScanStarted:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteWifiScanStartedFromSource:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteWifiScanStopped:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteWifiScanStoppedFromSource:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteWifiState:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteWifiStopped:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_noteWifiSupplicantStateChanged:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_setBatteryState:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_takeUidSnapshot:I
-Lcom/android/internal/app/IBatteryStats$Stub;->TRANSACTION_takeUidSnapshots:I
-Lcom/android/internal/app/IBatteryStats;
-Lcom/android/internal/app/IBatteryStats;->computeBatteryTimeRemaining()J
-Lcom/android/internal/app/IBatteryStats;->getAwakeTimePlugged()J
-Lcom/android/internal/app/IBatteryStats;->getCellularBatteryStats()Landroid/os/connectivity/CellularBatteryStats;
-Lcom/android/internal/app/IBatteryStats;->getGpsBatteryStats()Landroid/os/connectivity/GpsBatteryStats;
-Lcom/android/internal/app/IBatteryStats;->getStatisticsStream()Landroid/os/ParcelFileDescriptor;
-Lcom/android/internal/app/IBatteryStats;->getWifiBatteryStats()Landroid/os/connectivity/WifiBatteryStats;
-Lcom/android/internal/app/IBatteryStats;->noteBleScanResults(Landroid/os/WorkSource;I)V
-Lcom/android/internal/app/IBatteryStats;->noteBleScanStarted(Landroid/os/WorkSource;Z)V
-Lcom/android/internal/app/IBatteryStats;->noteBleScanStopped(Landroid/os/WorkSource;Z)V
-Lcom/android/internal/app/IBatteryStats;->noteBluetoothControllerActivity(Landroid/bluetooth/BluetoothActivityEnergyInfo;)V
-Lcom/android/internal/app/IBatteryStats;->noteChangeWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;ILandroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
-Lcom/android/internal/app/IBatteryStats;->noteConnectivityChanged(ILjava/lang/String;)V
-Lcom/android/internal/app/IBatteryStats;->noteDeviceIdleMode(ILjava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats;->noteEvent(ILjava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats;->noteFlashlightOff(I)V
-Lcom/android/internal/app/IBatteryStats;->noteFlashlightOn(I)V
-Lcom/android/internal/app/IBatteryStats;->noteFullWifiLockAcquiredFromSource(Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats;->noteFullWifiLockReleasedFromSource(Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats;->noteGpsChanged(Landroid/os/WorkSource;Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats;->noteGpsSignalQuality(I)V
-Lcom/android/internal/app/IBatteryStats;->noteInteractive(Z)V
-Lcom/android/internal/app/IBatteryStats;->noteJobFinish(Ljava/lang/String;II)V
-Lcom/android/internal/app/IBatteryStats;->noteJobStart(Ljava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats;->noteLongPartialWakelockFinish(Ljava/lang/String;Ljava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats;->noteLongPartialWakelockFinishFromSource(Ljava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats;->noteLongPartialWakelockStart(Ljava/lang/String;Ljava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats;->noteLongPartialWakelockStartFromSource(Ljava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats;->noteMobileRadioPowerState(IJI)V
-Lcom/android/internal/app/IBatteryStats;->noteModemControllerActivity(Landroid/telephony/ModemActivityInfo;)V
-Lcom/android/internal/app/IBatteryStats;->noteNetworkInterfaceType(Ljava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats;->noteNetworkStatsEnabled()V
-Lcom/android/internal/app/IBatteryStats;->noteResetAudio()V
-Lcom/android/internal/app/IBatteryStats;->noteResetBleScan()V
-Lcom/android/internal/app/IBatteryStats;->noteResetCamera()V
-Lcom/android/internal/app/IBatteryStats;->noteResetFlashlight()V
-Lcom/android/internal/app/IBatteryStats;->noteResetVideo()V
-Lcom/android/internal/app/IBatteryStats;->noteScreenState(I)V
-Lcom/android/internal/app/IBatteryStats;->noteStartAudio(I)V
-Lcom/android/internal/app/IBatteryStats;->noteStartCamera(I)V
-Lcom/android/internal/app/IBatteryStats;->noteStartVideo(I)V
-Lcom/android/internal/app/IBatteryStats;->noteStartWakelock(IILjava/lang/String;Ljava/lang/String;IZ)V
-Lcom/android/internal/app/IBatteryStats;->noteStartWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
-Lcom/android/internal/app/IBatteryStats;->noteStopAudio(I)V
-Lcom/android/internal/app/IBatteryStats;->noteStopCamera(I)V
-Lcom/android/internal/app/IBatteryStats;->noteStopVideo(I)V
-Lcom/android/internal/app/IBatteryStats;->noteStopWakelock(IILjava/lang/String;Ljava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats;->noteStopWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats;->noteSyncFinish(Ljava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats;->noteSyncStart(Ljava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats;->noteVibratorOff(I)V
-Lcom/android/internal/app/IBatteryStats;->noteVibratorOn(IJ)V
-Lcom/android/internal/app/IBatteryStats;->noteWakeUp(Ljava/lang/String;I)V
-Lcom/android/internal/app/IBatteryStats;->noteWifiBatchedScanStartedFromSource(Landroid/os/WorkSource;I)V
-Lcom/android/internal/app/IBatteryStats;->noteWifiBatchedScanStoppedFromSource(Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats;->noteWifiControllerActivity(Landroid/net/wifi/WifiActivityEnergyInfo;)V
-Lcom/android/internal/app/IBatteryStats;->noteWifiOff()V
-Lcom/android/internal/app/IBatteryStats;->noteWifiOn()V
-Lcom/android/internal/app/IBatteryStats;->noteWifiRadioPowerState(IJI)V
-Lcom/android/internal/app/IBatteryStats;->noteWifiRssiChanged(I)V
-Lcom/android/internal/app/IBatteryStats;->noteWifiRunning(Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats;->noteWifiRunningChanged(Landroid/os/WorkSource;Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats;->noteWifiScanStarted(I)V
-Lcom/android/internal/app/IBatteryStats;->noteWifiScanStartedFromSource(Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats;->noteWifiScanStopped(I)V
-Lcom/android/internal/app/IBatteryStats;->noteWifiScanStoppedFromSource(Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats;->noteWifiState(ILjava/lang/String;)V
-Lcom/android/internal/app/IBatteryStats;->noteWifiStopped(Landroid/os/WorkSource;)V
-Lcom/android/internal/app/IBatteryStats;->noteWifiSupplicantStateChanged(IZ)V
-Lcom/android/internal/app/IBatteryStats;->setBatteryState(IIIIIIII)V
-Lcom/android/internal/app/IBatteryStats;->takeUidSnapshot(I)Landroid/os/health/HealthStatsParceler;
-Lcom/android/internal/app/IBatteryStats;->takeUidSnapshots([I)[Landroid/os/health/HealthStatsParceler;
-Lcom/android/internal/app/IMediaContainerService$Stub$Proxy;
-Lcom/android/internal/app/IMediaContainerService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/app/IMediaContainerService$Stub$Proxy;->calculateInstalledSize(Ljava/lang/String;Ljava/lang/String;)J
-Lcom/android/internal/app/IMediaContainerService$Stub$Proxy;->clearDirectory(Ljava/lang/String;)V
-Lcom/android/internal/app/IMediaContainerService$Stub$Proxy;->copyPackage(Ljava/lang/String;Lcom/android/internal/os/IParcelFileDescriptorFactory;)I
-Lcom/android/internal/app/IMediaContainerService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/app/IMediaContainerService$Stub$Proxy;->getMinimalPackageInfo(Ljava/lang/String;ILjava/lang/String;)Landroid/content/pm/PackageInfoLite;
-Lcom/android/internal/app/IMediaContainerService$Stub$Proxy;->getObbInfo(Ljava/lang/String;)Landroid/content/res/ObbInfo;
-Lcom/android/internal/app/IMediaContainerService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/app/IMediaContainerService$Stub;
-Lcom/android/internal/app/IMediaContainerService$Stub;-><init>()V
-Lcom/android/internal/app/IMediaContainerService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/app/IMediaContainerService$Stub;->TRANSACTION_calculateInstalledSize:I
-Lcom/android/internal/app/IMediaContainerService$Stub;->TRANSACTION_clearDirectory:I
-Lcom/android/internal/app/IMediaContainerService$Stub;->TRANSACTION_copyPackage:I
-Lcom/android/internal/app/IMediaContainerService$Stub;->TRANSACTION_getMinimalPackageInfo:I
-Lcom/android/internal/app/IMediaContainerService$Stub;->TRANSACTION_getObbInfo:I
-Lcom/android/internal/app/IMediaContainerService;
-Lcom/android/internal/app/IMediaContainerService;->calculateInstalledSize(Ljava/lang/String;Ljava/lang/String;)J
-Lcom/android/internal/app/IMediaContainerService;->clearDirectory(Ljava/lang/String;)V
-Lcom/android/internal/app/IMediaContainerService;->copyPackage(Ljava/lang/String;Lcom/android/internal/os/IParcelFileDescriptorFactory;)I
-Lcom/android/internal/app/IMediaContainerService;->getMinimalPackageInfo(Ljava/lang/String;ILjava/lang/String;)Landroid/content/pm/PackageInfoLite;
-Lcom/android/internal/app/IMediaContainerService;->getObbInfo(Ljava/lang/String;)Landroid/content/res/ObbInfo;
-Lcom/android/internal/app/ISoundTriggerService$Stub$Proxy;
-Lcom/android/internal/app/ISoundTriggerService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/app/ISoundTriggerService$Stub$Proxy;->deleteSoundModel(Landroid/os/ParcelUuid;)V
-Lcom/android/internal/app/ISoundTriggerService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/app/ISoundTriggerService$Stub$Proxy;->getSoundModel(Landroid/os/ParcelUuid;)Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;
-Lcom/android/internal/app/ISoundTriggerService$Stub$Proxy;->isRecognitionActive(Landroid/os/ParcelUuid;)Z
-Lcom/android/internal/app/ISoundTriggerService$Stub$Proxy;->loadGenericSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;)I
-Lcom/android/internal/app/ISoundTriggerService$Stub$Proxy;->loadKeyphraseSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;)I
-Lcom/android/internal/app/ISoundTriggerService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/app/ISoundTriggerService$Stub$Proxy;->startRecognition(Landroid/os/ParcelUuid;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
-Lcom/android/internal/app/ISoundTriggerService$Stub$Proxy;->startRecognitionForIntent(Landroid/os/ParcelUuid;Landroid/app/PendingIntent;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
-Lcom/android/internal/app/ISoundTriggerService$Stub$Proxy;->startRecognitionForService(Landroid/os/ParcelUuid;Landroid/os/Bundle;Landroid/content/ComponentName;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
-Lcom/android/internal/app/ISoundTriggerService$Stub$Proxy;->stopRecognition(Landroid/os/ParcelUuid;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;)I
-Lcom/android/internal/app/ISoundTriggerService$Stub$Proxy;->stopRecognitionForIntent(Landroid/os/ParcelUuid;)I
-Lcom/android/internal/app/ISoundTriggerService$Stub$Proxy;->unloadSoundModel(Landroid/os/ParcelUuid;)I
-Lcom/android/internal/app/ISoundTriggerService$Stub$Proxy;->updateSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;)V
-Lcom/android/internal/app/ISoundTriggerService$Stub;
-Lcom/android/internal/app/ISoundTriggerService$Stub;-><init>()V
-Lcom/android/internal/app/ISoundTriggerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/ISoundTriggerService;
-Lcom/android/internal/app/ISoundTriggerService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/app/ISoundTriggerService$Stub;->TRANSACTION_deleteSoundModel:I
-Lcom/android/internal/app/ISoundTriggerService$Stub;->TRANSACTION_getSoundModel:I
-Lcom/android/internal/app/ISoundTriggerService$Stub;->TRANSACTION_isRecognitionActive:I
-Lcom/android/internal/app/ISoundTriggerService$Stub;->TRANSACTION_loadGenericSoundModel:I
-Lcom/android/internal/app/ISoundTriggerService$Stub;->TRANSACTION_loadKeyphraseSoundModel:I
-Lcom/android/internal/app/ISoundTriggerService$Stub;->TRANSACTION_startRecognition:I
-Lcom/android/internal/app/ISoundTriggerService$Stub;->TRANSACTION_startRecognitionForIntent:I
-Lcom/android/internal/app/ISoundTriggerService$Stub;->TRANSACTION_startRecognitionForService:I
-Lcom/android/internal/app/ISoundTriggerService$Stub;->TRANSACTION_stopRecognition:I
-Lcom/android/internal/app/ISoundTriggerService$Stub;->TRANSACTION_stopRecognitionForIntent:I
-Lcom/android/internal/app/ISoundTriggerService$Stub;->TRANSACTION_unloadSoundModel:I
-Lcom/android/internal/app/ISoundTriggerService$Stub;->TRANSACTION_updateSoundModel:I
-Lcom/android/internal/app/ISoundTriggerService;
-Lcom/android/internal/app/ISoundTriggerService;->deleteSoundModel(Landroid/os/ParcelUuid;)V
-Lcom/android/internal/app/ISoundTriggerService;->getSoundModel(Landroid/os/ParcelUuid;)Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;
-Lcom/android/internal/app/ISoundTriggerService;->isRecognitionActive(Landroid/os/ParcelUuid;)Z
-Lcom/android/internal/app/ISoundTriggerService;->loadGenericSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;)I
-Lcom/android/internal/app/ISoundTriggerService;->loadKeyphraseSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;)I
-Lcom/android/internal/app/ISoundTriggerService;->startRecognition(Landroid/os/ParcelUuid;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
-Lcom/android/internal/app/ISoundTriggerService;->startRecognitionForIntent(Landroid/os/ParcelUuid;Landroid/app/PendingIntent;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
-Lcom/android/internal/app/ISoundTriggerService;->startRecognitionForService(Landroid/os/ParcelUuid;Landroid/os/Bundle;Landroid/content/ComponentName;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
-Lcom/android/internal/app/ISoundTriggerService;->stopRecognition(Landroid/os/ParcelUuid;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;)I
-Lcom/android/internal/app/ISoundTriggerService;->stopRecognitionForIntent(Landroid/os/ParcelUuid;)I
-Lcom/android/internal/app/ISoundTriggerService;->unloadSoundModel(Landroid/os/ParcelUuid;)I
-Lcom/android/internal/app/ISoundTriggerService;->updateSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;)V
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->activeServiceSupportsAssist()Z
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->activeServiceSupportsLaunchFromKeyguard()Z
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->closeSystemDialogs(Landroid/os/IBinder;)V
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->deleteKeyphraseSoundModel(ILjava/lang/String;)I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->deliverNewSession(Landroid/os/IBinder;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)Z
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->finish(Landroid/os/IBinder;)V
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->getActiveServiceComponentName()Landroid/content/ComponentName;
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->getDisabledShowContext()I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->getDspModuleProperties(Landroid/service/voice/IVoiceInteractionService;)Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->getKeyphraseSoundModel(ILjava/lang/String;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->getUserDisabledShowContext()I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->hideCurrentSession()V
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->hideSessionFromSession(Landroid/os/IBinder;)Z
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->isEnrolledForKeyphrase(Landroid/service/voice/IVoiceInteractionService;ILjava/lang/String;)Z
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->isSessionRunning()Z
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->launchVoiceAssistFromKeyguard()V
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->onLockscreenShown()V
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->registerVoiceInteractionSessionListener(Lcom/android/internal/app/IVoiceInteractionSessionListener;)V
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->setDisabledShowContext(I)V
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->setKeepAwake(Landroid/os/IBinder;Z)V
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->showSession(Landroid/service/voice/IVoiceInteractionService;Landroid/os/Bundle;I)V
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->showSessionForActiveService(Landroid/os/Bundle;ILcom/android/internal/app/IVoiceInteractionSessionShowCallback;Landroid/os/IBinder;)Z
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->startAssistantActivity(Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;)I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->startRecognition(Landroid/service/voice/IVoiceInteractionService;ILjava/lang/String;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->startVoiceActivity(Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;)I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->stopRecognition(Landroid/service/voice/IVoiceInteractionService;ILandroid/hardware/soundtrigger/IRecognitionStatusCallback;)I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->updateKeyphraseSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;)I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;-><init>()V
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_activeServiceSupportsAssist:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_activeServiceSupportsLaunchFromKeyguard:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_closeSystemDialogs:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_deleteKeyphraseSoundModel:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_deliverNewSession:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_finish:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_getActiveServiceComponentName:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_getDisabledShowContext:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_getDspModuleProperties:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_getKeyphraseSoundModel:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_getUserDisabledShowContext:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_hideCurrentSession:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_hideSessionFromSession:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_isEnrolledForKeyphrase:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_isSessionRunning:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_launchVoiceAssistFromKeyguard:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_onLockscreenShown:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_registerVoiceInteractionSessionListener:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_setDisabledShowContext:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_setKeepAwake:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_showSession:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_showSessionForActiveService:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_showSessionFromSession:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_startAssistantActivity:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_startRecognition:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_startVoiceActivity:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_stopRecognition:I
-Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->TRANSACTION_updateKeyphraseSoundModel:I
-Lcom/android/internal/app/IVoiceInteractionManagerService;
-Lcom/android/internal/app/IVoiceInteractionManagerService;->activeServiceSupportsAssist()Z
-Lcom/android/internal/app/IVoiceInteractionManagerService;->activeServiceSupportsLaunchFromKeyguard()Z
-Lcom/android/internal/app/IVoiceInteractionManagerService;->closeSystemDialogs(Landroid/os/IBinder;)V
-Lcom/android/internal/app/IVoiceInteractionManagerService;->deleteKeyphraseSoundModel(ILjava/lang/String;)I
-Lcom/android/internal/app/IVoiceInteractionManagerService;->deliverNewSession(Landroid/os/IBinder;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)Z
-Lcom/android/internal/app/IVoiceInteractionManagerService;->finish(Landroid/os/IBinder;)V
-Lcom/android/internal/app/IVoiceInteractionManagerService;->getActiveServiceComponentName()Landroid/content/ComponentName;
-Lcom/android/internal/app/IVoiceInteractionManagerService;->getDisabledShowContext()I
-Lcom/android/internal/app/IVoiceInteractionManagerService;->getDspModuleProperties(Landroid/service/voice/IVoiceInteractionService;)Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;
-Lcom/android/internal/app/IVoiceInteractionManagerService;->getUserDisabledShowContext()I
-Lcom/android/internal/app/IVoiceInteractionManagerService;->hideCurrentSession()V
-Lcom/android/internal/app/IVoiceInteractionManagerService;->hideSessionFromSession(Landroid/os/IBinder;)Z
-Lcom/android/internal/app/IVoiceInteractionManagerService;->isEnrolledForKeyphrase(Landroid/service/voice/IVoiceInteractionService;ILjava/lang/String;)Z
-Lcom/android/internal/app/IVoiceInteractionManagerService;->isSessionRunning()Z
-Lcom/android/internal/app/IVoiceInteractionManagerService;->launchVoiceAssistFromKeyguard()V
-Lcom/android/internal/app/IVoiceInteractionManagerService;->onLockscreenShown()V
-Lcom/android/internal/app/IVoiceInteractionManagerService;->registerVoiceInteractionSessionListener(Lcom/android/internal/app/IVoiceInteractionSessionListener;)V
-Lcom/android/internal/app/IVoiceInteractionManagerService;->setDisabledShowContext(I)V
-Lcom/android/internal/app/IVoiceInteractionManagerService;->setKeepAwake(Landroid/os/IBinder;Z)V
-Lcom/android/internal/app/IVoiceInteractionManagerService;->showSession(Landroid/service/voice/IVoiceInteractionService;Landroid/os/Bundle;I)V
-Lcom/android/internal/app/IVoiceInteractionManagerService;->showSessionForActiveService(Landroid/os/Bundle;ILcom/android/internal/app/IVoiceInteractionSessionShowCallback;Landroid/os/IBinder;)Z
-Lcom/android/internal/app/IVoiceInteractionManagerService;->showSessionFromSession(Landroid/os/IBinder;Landroid/os/Bundle;I)Z
-Lcom/android/internal/app/IVoiceInteractionManagerService;->startAssistantActivity(Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;)I
-Lcom/android/internal/app/IVoiceInteractionManagerService;->startRecognition(Landroid/service/voice/IVoiceInteractionService;ILjava/lang/String;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
-Lcom/android/internal/app/IVoiceInteractionManagerService;->startVoiceActivity(Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;)I
-Lcom/android/internal/app/IVoiceInteractionManagerService;->stopRecognition(Landroid/service/voice/IVoiceInteractionService;ILandroid/hardware/soundtrigger/IRecognitionStatusCallback;)I
-Lcom/android/internal/app/IVoiceInteractionManagerService;->updateKeyphraseSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;)I
-Lcom/android/internal/app/IVoiceInteractionSessionListener$Stub$Proxy;
-Lcom/android/internal/app/IVoiceInteractionSessionListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/app/IVoiceInteractionSessionListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/app/IVoiceInteractionSessionListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/app/IVoiceInteractionSessionListener$Stub$Proxy;->onVoiceSessionHidden()V
-Lcom/android/internal/app/IVoiceInteractionSessionListener$Stub$Proxy;->onVoiceSessionShown()V
-Lcom/android/internal/app/IVoiceInteractionSessionListener$Stub;
-Lcom/android/internal/app/IVoiceInteractionSessionListener$Stub;-><init>()V
-Lcom/android/internal/app/IVoiceInteractionSessionListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IVoiceInteractionSessionListener;
-Lcom/android/internal/app/IVoiceInteractionSessionListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/app/IVoiceInteractionSessionListener$Stub;->TRANSACTION_onVoiceSessionHidden:I
-Lcom/android/internal/app/IVoiceInteractionSessionListener$Stub;->TRANSACTION_onVoiceSessionShown:I
-Lcom/android/internal/app/IVoiceInteractionSessionListener;
-Lcom/android/internal/app/IVoiceInteractionSessionListener;->onVoiceSessionHidden()V
-Lcom/android/internal/app/IVoiceInteractionSessionListener;->onVoiceSessionShown()V
-Lcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub$Proxy;
-Lcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub$Proxy;->onFailed()V
-Lcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub$Proxy;->onShown()V
-Lcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub;
-Lcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub;-><init>()V
-Lcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IVoiceInteractionSessionShowCallback;
-Lcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub;->TRANSACTION_onFailed:I
-Lcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub;->TRANSACTION_onShown:I
-Lcom/android/internal/app/IVoiceInteractionSessionShowCallback;
-Lcom/android/internal/app/IVoiceInteractionSessionShowCallback;->onFailed()V
-Lcom/android/internal/app/IVoiceInteractionSessionShowCallback;->onShown()V
-Lcom/android/internal/app/IVoiceInteractor$Stub$Proxy;
-Lcom/android/internal/app/IVoiceInteractor$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/app/IVoiceInteractor$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/app/IVoiceInteractor$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/app/IVoiceInteractor$Stub$Proxy;->startAbortVoice(Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;Landroid/app/VoiceInteractor$Prompt;Landroid/os/Bundle;)Lcom/android/internal/app/IVoiceInteractorRequest;
-Lcom/android/internal/app/IVoiceInteractor$Stub$Proxy;->startCommand(Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;Ljava/lang/String;Landroid/os/Bundle;)Lcom/android/internal/app/IVoiceInteractorRequest;
-Lcom/android/internal/app/IVoiceInteractor$Stub$Proxy;->startCompleteVoice(Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;Landroid/app/VoiceInteractor$Prompt;Landroid/os/Bundle;)Lcom/android/internal/app/IVoiceInteractorRequest;
-Lcom/android/internal/app/IVoiceInteractor$Stub$Proxy;->startConfirmation(Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;Landroid/app/VoiceInteractor$Prompt;Landroid/os/Bundle;)Lcom/android/internal/app/IVoiceInteractorRequest;
-Lcom/android/internal/app/IVoiceInteractor$Stub$Proxy;->startPickOption(Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;Landroid/app/VoiceInteractor$Prompt;[Landroid/app/VoiceInteractor$PickOptionRequest$Option;Landroid/os/Bundle;)Lcom/android/internal/app/IVoiceInteractorRequest;
-Lcom/android/internal/app/IVoiceInteractor$Stub$Proxy;->supportsCommands(Ljava/lang/String;[Ljava/lang/String;)[Z
-Lcom/android/internal/app/IVoiceInteractor$Stub;
-Lcom/android/internal/app/IVoiceInteractor$Stub;-><init>()V
-Lcom/android/internal/app/IVoiceInteractor$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IVoiceInteractor;
-Lcom/android/internal/app/IVoiceInteractor$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/app/IVoiceInteractor$Stub;->TRANSACTION_startAbortVoice:I
-Lcom/android/internal/app/IVoiceInteractor$Stub;->TRANSACTION_startCommand:I
-Lcom/android/internal/app/IVoiceInteractor$Stub;->TRANSACTION_startCompleteVoice:I
-Lcom/android/internal/app/IVoiceInteractor$Stub;->TRANSACTION_startConfirmation:I
-Lcom/android/internal/app/IVoiceInteractor$Stub;->TRANSACTION_startPickOption:I
-Lcom/android/internal/app/IVoiceInteractor$Stub;->TRANSACTION_supportsCommands:I
-Lcom/android/internal/app/IVoiceInteractor;
-Lcom/android/internal/app/IVoiceInteractor;->startAbortVoice(Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;Landroid/app/VoiceInteractor$Prompt;Landroid/os/Bundle;)Lcom/android/internal/app/IVoiceInteractorRequest;
-Lcom/android/internal/app/IVoiceInteractor;->startCommand(Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;Ljava/lang/String;Landroid/os/Bundle;)Lcom/android/internal/app/IVoiceInteractorRequest;
-Lcom/android/internal/app/IVoiceInteractor;->startCompleteVoice(Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;Landroid/app/VoiceInteractor$Prompt;Landroid/os/Bundle;)Lcom/android/internal/app/IVoiceInteractorRequest;
-Lcom/android/internal/app/IVoiceInteractor;->startConfirmation(Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;Landroid/app/VoiceInteractor$Prompt;Landroid/os/Bundle;)Lcom/android/internal/app/IVoiceInteractorRequest;
-Lcom/android/internal/app/IVoiceInteractor;->startPickOption(Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;Landroid/app/VoiceInteractor$Prompt;[Landroid/app/VoiceInteractor$PickOptionRequest$Option;Landroid/os/Bundle;)Lcom/android/internal/app/IVoiceInteractorRequest;
-Lcom/android/internal/app/IVoiceInteractor;->supportsCommands(Ljava/lang/String;[Ljava/lang/String;)[Z
-Lcom/android/internal/app/IVoiceInteractorCallback$Stub$Proxy;
-Lcom/android/internal/app/IVoiceInteractorCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/app/IVoiceInteractorCallback$Stub$Proxy;->deliverAbortVoiceResult(Lcom/android/internal/app/IVoiceInteractorRequest;Landroid/os/Bundle;)V
-Lcom/android/internal/app/IVoiceInteractorCallback$Stub$Proxy;->deliverCancel(Lcom/android/internal/app/IVoiceInteractorRequest;)V
-Lcom/android/internal/app/IVoiceInteractorCallback$Stub$Proxy;->deliverCommandResult(Lcom/android/internal/app/IVoiceInteractorRequest;ZLandroid/os/Bundle;)V
-Lcom/android/internal/app/IVoiceInteractorCallback$Stub$Proxy;->deliverCompleteVoiceResult(Lcom/android/internal/app/IVoiceInteractorRequest;Landroid/os/Bundle;)V
-Lcom/android/internal/app/IVoiceInteractorCallback$Stub$Proxy;->deliverConfirmationResult(Lcom/android/internal/app/IVoiceInteractorRequest;ZLandroid/os/Bundle;)V
-Lcom/android/internal/app/IVoiceInteractorCallback$Stub$Proxy;->deliverPickOptionResult(Lcom/android/internal/app/IVoiceInteractorRequest;Z[Landroid/app/VoiceInteractor$PickOptionRequest$Option;Landroid/os/Bundle;)V
-Lcom/android/internal/app/IVoiceInteractorCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/app/IVoiceInteractorCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/app/IVoiceInteractorCallback$Stub;
-Lcom/android/internal/app/IVoiceInteractorCallback$Stub;-><init>()V
-Lcom/android/internal/app/IVoiceInteractorCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IVoiceInteractorCallback;
-Lcom/android/internal/app/IVoiceInteractorCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/app/IVoiceInteractorCallback$Stub;->TRANSACTION_deliverAbortVoiceResult:I
-Lcom/android/internal/app/IVoiceInteractorCallback$Stub;->TRANSACTION_deliverCancel:I
-Lcom/android/internal/app/IVoiceInteractorCallback$Stub;->TRANSACTION_deliverCommandResult:I
-Lcom/android/internal/app/IVoiceInteractorCallback$Stub;->TRANSACTION_deliverCompleteVoiceResult:I
-Lcom/android/internal/app/IVoiceInteractorCallback$Stub;->TRANSACTION_deliverConfirmationResult:I
-Lcom/android/internal/app/IVoiceInteractorCallback$Stub;->TRANSACTION_deliverPickOptionResult:I
-Lcom/android/internal/app/IVoiceInteractorCallback;
-Lcom/android/internal/app/IVoiceInteractorCallback;->deliverAbortVoiceResult(Lcom/android/internal/app/IVoiceInteractorRequest;Landroid/os/Bundle;)V
-Lcom/android/internal/app/IVoiceInteractorCallback;->deliverCancel(Lcom/android/internal/app/IVoiceInteractorRequest;)V
-Lcom/android/internal/app/IVoiceInteractorCallback;->deliverCommandResult(Lcom/android/internal/app/IVoiceInteractorRequest;ZLandroid/os/Bundle;)V
-Lcom/android/internal/app/IVoiceInteractorCallback;->deliverCompleteVoiceResult(Lcom/android/internal/app/IVoiceInteractorRequest;Landroid/os/Bundle;)V
-Lcom/android/internal/app/IVoiceInteractorCallback;->deliverConfirmationResult(Lcom/android/internal/app/IVoiceInteractorRequest;ZLandroid/os/Bundle;)V
-Lcom/android/internal/app/IVoiceInteractorCallback;->deliverPickOptionResult(Lcom/android/internal/app/IVoiceInteractorRequest;Z[Landroid/app/VoiceInteractor$PickOptionRequest$Option;Landroid/os/Bundle;)V
-Lcom/android/internal/app/IVoiceInteractorRequest$Stub$Proxy;
-Lcom/android/internal/app/IVoiceInteractorRequest$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/app/IVoiceInteractorRequest$Stub$Proxy;->cancel()V
-Lcom/android/internal/app/IVoiceInteractorRequest$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/app/IVoiceInteractorRequest$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/app/IVoiceInteractorRequest$Stub;
-Lcom/android/internal/app/IVoiceInteractorRequest$Stub;-><init>()V
-Lcom/android/internal/app/IVoiceInteractorRequest$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IVoiceInteractorRequest;
-Lcom/android/internal/app/IVoiceInteractorRequest$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/app/IVoiceInteractorRequest$Stub;->TRANSACTION_cancel:I
-Lcom/android/internal/app/IVoiceInteractorRequest;
-Lcom/android/internal/app/IVoiceInteractorRequest;->cancel()V
-Lcom/android/internal/appwidget/IAppWidgetHost$Stub$Proxy;
-Lcom/android/internal/appwidget/IAppWidgetHost$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/appwidget/IAppWidgetHost$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/appwidget/IAppWidgetHost$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/appwidget/IAppWidgetHost$Stub$Proxy;->providerChanged(ILandroid/appwidget/AppWidgetProviderInfo;)V
-Lcom/android/internal/appwidget/IAppWidgetHost$Stub$Proxy;->providersChanged()V
-Lcom/android/internal/appwidget/IAppWidgetHost$Stub$Proxy;->updateAppWidget(ILandroid/widget/RemoteViews;)V
-Lcom/android/internal/appwidget/IAppWidgetHost$Stub$Proxy;->viewDataChanged(II)V
-Lcom/android/internal/appwidget/IAppWidgetHost$Stub;
-Lcom/android/internal/appwidget/IAppWidgetHost$Stub;-><init>()V
-Lcom/android/internal/appwidget/IAppWidgetHost$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/appwidget/IAppWidgetHost;
-Lcom/android/internal/appwidget/IAppWidgetHost$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/appwidget/IAppWidgetHost$Stub;->TRANSACTION_providerChanged:I
-Lcom/android/internal/appwidget/IAppWidgetHost$Stub;->TRANSACTION_providersChanged:I
-Lcom/android/internal/appwidget/IAppWidgetHost$Stub;->TRANSACTION_updateAppWidget:I
-Lcom/android/internal/appwidget/IAppWidgetHost$Stub;->TRANSACTION_viewDataChanged:I
-Lcom/android/internal/appwidget/IAppWidgetHost;
-Lcom/android/internal/appwidget/IAppWidgetHost;->providersChanged()V
-Lcom/android/internal/appwidget/IAppWidgetHost;->viewDataChanged(II)V
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->allocateAppWidgetId(Ljava/lang/String;I)I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->bindAppWidgetId(Ljava/lang/String;IILandroid/content/ComponentName;Landroid/os/Bundle;)Z
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->bindRemoteViewsService(Ljava/lang/String;ILandroid/content/Intent;Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/app/IServiceConnection;I)Z
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->createAppWidgetConfigIntentSender(Ljava/lang/String;II)Landroid/content/IntentSender;
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->deleteAllHosts()V
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->deleteAppWidgetId(Ljava/lang/String;I)V
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->deleteHost(Ljava/lang/String;I)V
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->getAppWidgetIds(Landroid/content/ComponentName;)[I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->getAppWidgetIdsForHost(Ljava/lang/String;I)[I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->getAppWidgetInfo(Ljava/lang/String;I)Landroid/appwidget/AppWidgetProviderInfo;
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->getAppWidgetOptions(Ljava/lang/String;I)Landroid/os/Bundle;
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->getAppWidgetViews(Ljava/lang/String;I)Landroid/widget/RemoteViews;
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->getInstalledProvidersForProfile(IILjava/lang/String;)Landroid/content/pm/ParceledListSlice;
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->hasBindAppWidgetPermission(Ljava/lang/String;I)Z
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->isBoundWidgetPackage(Ljava/lang/String;I)Z
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->isRequestPinAppWidgetSupported()Z
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->notifyAppWidgetViewDataChanged(Ljava/lang/String;[II)V
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->partiallyUpdateAppWidgetIds(Ljava/lang/String;[ILandroid/widget/RemoteViews;)V
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->requestPinAppWidget(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/Bundle;Landroid/content/IntentSender;)Z
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->setBindAppWidgetPermission(Ljava/lang/String;IZ)V
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->startListening(Lcom/android/internal/appwidget/IAppWidgetHost;Ljava/lang/String;I[I)Landroid/content/pm/ParceledListSlice;
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->stopListening(Ljava/lang/String;I)V
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->updateAppWidgetIds(Ljava/lang/String;[ILandroid/widget/RemoteViews;)V
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->updateAppWidgetOptions(Ljava/lang/String;ILandroid/os/Bundle;)V
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->updateAppWidgetProvider(Landroid/content/ComponentName;Landroid/widget/RemoteViews;)V
-Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->updateAppWidgetProviderInfo(Landroid/content/ComponentName;Ljava/lang/String;)V
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_allocateAppWidgetId:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_bindRemoteViewsService:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_createAppWidgetConfigIntentSender:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_deleteAllHosts:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_deleteAppWidgetId:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_deleteHost:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_getAppWidgetIds:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_getAppWidgetIdsForHost:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_getAppWidgetInfo:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_getAppWidgetOptions:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_getAppWidgetViews:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_getInstalledProvidersForProfile:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_hasBindAppWidgetPermission:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_isBoundWidgetPackage:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_isRequestPinAppWidgetSupported:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_notifyAppWidgetViewDataChanged:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_partiallyUpdateAppWidgetIds:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_requestPinAppWidget:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_setBindAppWidgetPermission:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_startListening:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_stopListening:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_updateAppWidgetIds:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_updateAppWidgetOptions:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_updateAppWidgetProvider:I
-Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_updateAppWidgetProviderInfo:I
-Lcom/android/internal/appwidget/IAppWidgetService;
-Lcom/android/internal/appwidget/IAppWidgetService;->allocateAppWidgetId(Ljava/lang/String;I)I
-Lcom/android/internal/appwidget/IAppWidgetService;->createAppWidgetConfigIntentSender(Ljava/lang/String;II)Landroid/content/IntentSender;
-Lcom/android/internal/appwidget/IAppWidgetService;->deleteAllHosts()V
-Lcom/android/internal/appwidget/IAppWidgetService;->deleteAppWidgetId(Ljava/lang/String;I)V
-Lcom/android/internal/appwidget/IAppWidgetService;->deleteHost(Ljava/lang/String;I)V
-Lcom/android/internal/appwidget/IAppWidgetService;->getAppWidgetIdsForHost(Ljava/lang/String;I)[I
-Lcom/android/internal/appwidget/IAppWidgetService;->getAppWidgetInfo(Ljava/lang/String;I)Landroid/appwidget/AppWidgetProviderInfo;
-Lcom/android/internal/appwidget/IAppWidgetService;->getAppWidgetOptions(Ljava/lang/String;I)Landroid/os/Bundle;
-Lcom/android/internal/appwidget/IAppWidgetService;->getInstalledProvidersForProfile(IILjava/lang/String;)Landroid/content/pm/ParceledListSlice;
-Lcom/android/internal/appwidget/IAppWidgetService;->hasBindAppWidgetPermission(Ljava/lang/String;I)Z
-Lcom/android/internal/appwidget/IAppWidgetService;->isBoundWidgetPackage(Ljava/lang/String;I)Z
-Lcom/android/internal/appwidget/IAppWidgetService;->isRequestPinAppWidgetSupported()Z
-Lcom/android/internal/appwidget/IAppWidgetService;->notifyAppWidgetViewDataChanged(Ljava/lang/String;[II)V
-Lcom/android/internal/appwidget/IAppWidgetService;->partiallyUpdateAppWidgetIds(Ljava/lang/String;[ILandroid/widget/RemoteViews;)V
-Lcom/android/internal/appwidget/IAppWidgetService;->requestPinAppWidget(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/Bundle;Landroid/content/IntentSender;)Z
-Lcom/android/internal/appwidget/IAppWidgetService;->setBindAppWidgetPermission(Ljava/lang/String;IZ)V
-Lcom/android/internal/appwidget/IAppWidgetService;->startListening(Lcom/android/internal/appwidget/IAppWidgetHost;Ljava/lang/String;I[I)Landroid/content/pm/ParceledListSlice;
-Lcom/android/internal/appwidget/IAppWidgetService;->stopListening(Ljava/lang/String;I)V
-Lcom/android/internal/appwidget/IAppWidgetService;->updateAppWidgetIds(Ljava/lang/String;[ILandroid/widget/RemoteViews;)V
-Lcom/android/internal/appwidget/IAppWidgetService;->updateAppWidgetOptions(Ljava/lang/String;ILandroid/os/Bundle;)V
-Lcom/android/internal/appwidget/IAppWidgetService;->updateAppWidgetProvider(Landroid/content/ComponentName;Landroid/widget/RemoteViews;)V
-Lcom/android/internal/appwidget/IAppWidgetService;->updateAppWidgetProviderInfo(Landroid/content/ComponentName;Ljava/lang/String;)V
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->abortFullRestore()I
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->cancelFullBackup()V
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->checkFullBackupSize(J)I
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->clearBackupData(Landroid/content/pm/PackageInfo;)I
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->configurationIntent()Landroid/content/Intent;
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->currentDestinationString()Ljava/lang/String;
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->dataManagementIntent()Landroid/content/Intent;
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->dataManagementLabel()Ljava/lang/String;
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->finishBackup()I
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->finishRestore()V
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->getAvailableRestoreSets()[Landroid/app/backup/RestoreSet;
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->getBackupQuota(Ljava/lang/String;Z)J
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->getCurrentRestoreSet()J
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->getNextFullRestoreDataChunk(Landroid/os/ParcelFileDescriptor;)I
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->getRestoreData(Landroid/os/ParcelFileDescriptor;)I
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->getTransportFlags()I
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->initializeDevice()I
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->isAppEligibleForBackup(Landroid/content/pm/PackageInfo;Z)Z
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->name()Ljava/lang/String;
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->nextRestorePackage()Landroid/app/backup/RestoreDescription;
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->performBackup(Landroid/content/pm/PackageInfo;Landroid/os/ParcelFileDescriptor;I)I
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->performFullBackup(Landroid/content/pm/PackageInfo;Landroid/os/ParcelFileDescriptor;I)I
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->requestBackupTime()J
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->requestFullBackupTime()J
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->sendBackupData(I)I
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->startRestore(J[Landroid/content/pm/PackageInfo;)I
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;->transportDirName()Ljava/lang/String;
-Lcom/android/internal/backup/IBackupTransport$Stub;
-Lcom/android/internal/backup/IBackupTransport$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_abortFullRestore:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_cancelFullBackup:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_checkFullBackupSize:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_clearBackupData:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_configurationIntent:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_currentDestinationString:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_dataManagementIntent:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_dataManagementLabel:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_finishBackup:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_finishRestore:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_getAvailableRestoreSets:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_getBackupQuota:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_getCurrentRestoreSet:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_getNextFullRestoreDataChunk:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_getRestoreData:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_getTransportFlags:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_initializeDevice:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_isAppEligibleForBackup:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_name:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_nextRestorePackage:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_performBackup:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_performFullBackup:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_requestBackupTime:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_requestFullBackupTime:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_sendBackupData:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_startRestore:I
-Lcom/android/internal/backup/IBackupTransport$Stub;->TRANSACTION_transportDirName:I
-Lcom/android/internal/backup/IBackupTransport;
-Lcom/android/internal/backup/IBackupTransport;->abortFullRestore()I
-Lcom/android/internal/backup/IBackupTransport;->cancelFullBackup()V
-Lcom/android/internal/backup/IBackupTransport;->checkFullBackupSize(J)I
-Lcom/android/internal/backup/IBackupTransport;->configurationIntent()Landroid/content/Intent;
-Lcom/android/internal/backup/IBackupTransport;->currentDestinationString()Ljava/lang/String;
-Lcom/android/internal/backup/IBackupTransport;->dataManagementIntent()Landroid/content/Intent;
-Lcom/android/internal/backup/IBackupTransport;->dataManagementLabel()Ljava/lang/String;
-Lcom/android/internal/backup/IBackupTransport;->getAvailableRestoreSets()[Landroid/app/backup/RestoreSet;
-Lcom/android/internal/backup/IBackupTransport;->getBackupQuota(Ljava/lang/String;Z)J
-Lcom/android/internal/backup/IBackupTransport;->getCurrentRestoreSet()J
-Lcom/android/internal/backup/IBackupTransport;->getNextFullRestoreDataChunk(Landroid/os/ParcelFileDescriptor;)I
-Lcom/android/internal/backup/IBackupTransport;->getTransportFlags()I
-Lcom/android/internal/backup/IBackupTransport;->isAppEligibleForBackup(Landroid/content/pm/PackageInfo;Z)Z
-Lcom/android/internal/backup/IBackupTransport;->name()Ljava/lang/String;
-Lcom/android/internal/backup/IBackupTransport;->nextRestorePackage()Landroid/app/backup/RestoreDescription;
-Lcom/android/internal/backup/IBackupTransport;->performBackup(Landroid/content/pm/PackageInfo;Landroid/os/ParcelFileDescriptor;I)I
-Lcom/android/internal/backup/IBackupTransport;->performFullBackup(Landroid/content/pm/PackageInfo;Landroid/os/ParcelFileDescriptor;I)I
-Lcom/android/internal/backup/IBackupTransport;->requestFullBackupTime()J
-Lcom/android/internal/backup/IBackupTransport;->sendBackupData(I)I
-Lcom/android/internal/backup/IObbBackupService$Stub$Proxy;
-Lcom/android/internal/backup/IObbBackupService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/backup/IObbBackupService$Stub$Proxy;->backupObbs(Ljava/lang/String;Landroid/os/ParcelFileDescriptor;ILandroid/app/backup/IBackupManager;)V
-Lcom/android/internal/backup/IObbBackupService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/backup/IObbBackupService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/backup/IObbBackupService$Stub$Proxy;->restoreObbFile(Ljava/lang/String;Landroid/os/ParcelFileDescriptor;JILjava/lang/String;JJILandroid/app/backup/IBackupManager;)V
-Lcom/android/internal/backup/IObbBackupService$Stub;
-Lcom/android/internal/backup/IObbBackupService$Stub;-><init>()V
-Lcom/android/internal/backup/IObbBackupService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/backup/IObbBackupService;
-Lcom/android/internal/backup/IObbBackupService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/backup/IObbBackupService$Stub;->TRANSACTION_backupObbs:I
-Lcom/android/internal/backup/IObbBackupService$Stub;->TRANSACTION_restoreObbFile:I
-Lcom/android/internal/backup/IObbBackupService;
-Lcom/android/internal/backup/IObbBackupService;->backupObbs(Ljava/lang/String;Landroid/os/ParcelFileDescriptor;ILandroid/app/backup/IBackupManager;)V
-Lcom/android/internal/backup/IObbBackupService;->restoreObbFile(Ljava/lang/String;Landroid/os/ParcelFileDescriptor;JILjava/lang/String;JJILandroid/app/backup/IBackupManager;)V
-Lcom/android/internal/content/PackageMonitor;
-Lcom/android/internal/content/PackageMonitor;->anyPackagesAppearing()Z
-Lcom/android/internal/content/PackageMonitor;->anyPackagesDisappearing()Z
-Lcom/android/internal/content/PackageMonitor;->didSomePackagesChange()Z
-Lcom/android/internal/content/PackageMonitor;->getChangingUserId()I
-Lcom/android/internal/content/PackageMonitor;->getPackageName(Landroid/content/Intent;)Ljava/lang/String;
-Lcom/android/internal/content/PackageMonitor;->getRegisteredHandler()Landroid/os/Handler;
-Lcom/android/internal/content/PackageMonitor;->isComponentModified(Ljava/lang/String;)Z
-Lcom/android/internal/content/PackageMonitor;->isPackageAppearing(Ljava/lang/String;)I
-Lcom/android/internal/content/PackageMonitor;->isPackageUpdating(Ljava/lang/String;)Z
-Lcom/android/internal/content/PackageMonitor;->isReplacing()Z
-Lcom/android/internal/content/PackageMonitor;->mAppearingPackages:[Ljava/lang/String;
-Lcom/android/internal/content/PackageMonitor;->mChangeType:I
-Lcom/android/internal/content/PackageMonitor;->mChangeUserId:I
-Lcom/android/internal/content/PackageMonitor;->mDisappearingPackages:[Ljava/lang/String;
-Lcom/android/internal/content/PackageMonitor;->mModifiedComponents:[Ljava/lang/String;
-Lcom/android/internal/content/PackageMonitor;->mModifiedPackages:[Ljava/lang/String;
-Lcom/android/internal/content/PackageMonitor;->mRegisteredContext:Landroid/content/Context;
-Lcom/android/internal/content/PackageMonitor;->mRegisteredHandler:Landroid/os/Handler;
-Lcom/android/internal/content/PackageMonitor;->mSomePackagesChanged:Z
-Lcom/android/internal/content/PackageMonitor;->mTempArray:[Ljava/lang/String;
-Lcom/android/internal/content/PackageMonitor;->mUpdatingPackages:Ljava/util/HashSet;
-Lcom/android/internal/content/PackageMonitor;->onBeginPackageChanges()V
-Lcom/android/internal/content/PackageMonitor;->onFinishPackageChanges()V
-Lcom/android/internal/content/PackageMonitor;->onHandleForceStop(Landroid/content/Intent;[Ljava/lang/String;IZ)Z
-Lcom/android/internal/content/PackageMonitor;->onHandleUserStop(Landroid/content/Intent;I)V
-Lcom/android/internal/content/PackageMonitor;->onPackageAdded(Ljava/lang/String;I)V
-Lcom/android/internal/content/PackageMonitor;->onPackageAppeared(Ljava/lang/String;I)V
-Lcom/android/internal/content/PackageMonitor;->onPackageDataCleared(Ljava/lang/String;I)V
-Lcom/android/internal/content/PackageMonitor;->onPackageDisappeared(Ljava/lang/String;I)V
-Lcom/android/internal/content/PackageMonitor;->onPackageModified(Ljava/lang/String;)V
-Lcom/android/internal/content/PackageMonitor;->onPackageRemovedAllUsers(Ljava/lang/String;I)V
-Lcom/android/internal/content/PackageMonitor;->onPackagesAvailable([Ljava/lang/String;)V
-Lcom/android/internal/content/PackageMonitor;->onPackagesSuspended([Ljava/lang/String;)V
-Lcom/android/internal/content/PackageMonitor;->onPackagesSuspended([Ljava/lang/String;Landroid/os/Bundle;)V
-Lcom/android/internal/content/PackageMonitor;->onPackagesUnavailable([Ljava/lang/String;)V
-Lcom/android/internal/content/PackageMonitor;->onPackagesUnsuspended([Ljava/lang/String;)V
-Lcom/android/internal/content/PackageMonitor;->onPackageUpdateFinished(Ljava/lang/String;I)V
-Lcom/android/internal/content/PackageMonitor;->onPackageUpdateStarted(Ljava/lang/String;I)V
-Lcom/android/internal/content/PackageMonitor;->onSomePackagesChanged()V
-Lcom/android/internal/content/PackageMonitor;->onUidRemoved(I)V
-Lcom/android/internal/content/PackageMonitor;->PACKAGE_PERMANENT_CHANGE:I
-Lcom/android/internal/content/PackageMonitor;->PACKAGE_TEMPORARY_CHANGE:I
-Lcom/android/internal/content/PackageMonitor;->PACKAGE_UNCHANGED:I
-Lcom/android/internal/content/PackageMonitor;->PACKAGE_UPDATING:I
-Lcom/android/internal/content/PackageMonitor;->register(Landroid/content/Context;Landroid/os/UserHandle;ZLandroid/os/Handler;)V
-Lcom/android/internal/content/PackageMonitor;->sExternalFilt:Landroid/content/IntentFilter;
-Lcom/android/internal/content/PackageMonitor;->sNonDataFilt:Landroid/content/IntentFilter;
-Lcom/android/internal/content/PackageMonitor;->sPackageFilt:Landroid/content/IntentFilter;
-Lcom/android/internal/content/ReferrerIntent;
-Lcom/android/internal/content/ReferrerIntent;-><init>(Landroid/os/Parcel;)V
-Lcom/android/internal/content/ReferrerIntent;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/internal/location/ILocationProvider$Stub$Proxy;
-Lcom/android/internal/location/ILocationProvider$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/location/ILocationProvider$Stub$Proxy;->disable()V
-Lcom/android/internal/location/ILocationProvider$Stub$Proxy;->enable()V
-Lcom/android/internal/location/ILocationProvider$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/location/ILocationProvider$Stub$Proxy;->getProperties()Lcom/android/internal/location/ProviderProperties;
-Lcom/android/internal/location/ILocationProvider$Stub$Proxy;->getStatus(Landroid/os/Bundle;)I
-Lcom/android/internal/location/ILocationProvider$Stub$Proxy;->getStatusUpdateTime()J
-Lcom/android/internal/location/ILocationProvider$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/location/ILocationProvider$Stub$Proxy;->sendExtraCommand(Ljava/lang/String;Landroid/os/Bundle;)Z
-Lcom/android/internal/location/ILocationProvider$Stub$Proxy;->setRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
-Lcom/android/internal/location/ILocationProvider$Stub;
-Lcom/android/internal/location/ILocationProvider$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/location/ILocationProvider$Stub;->TRANSACTION_disable:I
-Lcom/android/internal/location/ILocationProvider$Stub;->TRANSACTION_enable:I
-Lcom/android/internal/location/ILocationProvider$Stub;->TRANSACTION_getProperties:I
-Lcom/android/internal/location/ILocationProvider$Stub;->TRANSACTION_getStatus:I
-Lcom/android/internal/location/ILocationProvider$Stub;->TRANSACTION_getStatusUpdateTime:I
-Lcom/android/internal/location/ILocationProvider$Stub;->TRANSACTION_sendExtraCommand:I
-Lcom/android/internal/location/ILocationProvider$Stub;->TRANSACTION_setRequest:I
-Lcom/android/internal/location/ILocationProvider;
-Lcom/android/internal/location/ProviderProperties;
-Lcom/android/internal/location/ProviderProperties;-><init>(ZZZZZZZII)V
-Lcom/android/internal/location/ProviderProperties;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/internal/location/ProviderProperties;->mAccuracy:I
-Lcom/android/internal/location/ProviderProperties;->mHasMonetaryCost:Z
-Lcom/android/internal/location/ProviderProperties;->mPowerRequirement:I
-Lcom/android/internal/location/ProviderProperties;->mRequiresCell:Z
-Lcom/android/internal/location/ProviderProperties;->mRequiresNetwork:Z
-Lcom/android/internal/location/ProviderProperties;->mRequiresSatellite:Z
-Lcom/android/internal/location/ProviderProperties;->mSupportsAltitude:Z
-Lcom/android/internal/location/ProviderProperties;->mSupportsBearing:Z
-Lcom/android/internal/location/ProviderProperties;->mSupportsSpeed:Z
-Lcom/android/internal/location/ProviderRequest;
-Lcom/android/internal/location/ProviderRequest;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/internal/location/ProviderRequest;->lowPowerMode:Z
-Lcom/android/internal/logging/EventLogTags;
-Lcom/android/internal/logging/EventLogTags;-><init>()V
-Lcom/android/internal/logging/EventLogTags;->COMMIT_SYS_CONFIG_FILE:I
-Lcom/android/internal/logging/EventLogTags;->SYSUI_ACTION:I
-Lcom/android/internal/logging/EventLogTags;->SYSUI_COUNT:I
-Lcom/android/internal/logging/EventLogTags;->SYSUI_HISTOGRAM:I
-Lcom/android/internal/logging/EventLogTags;->SYSUI_LATENCY:I
-Lcom/android/internal/logging/EventLogTags;->SYSUI_MULTI_ACTION:I
-Lcom/android/internal/logging/EventLogTags;->SYSUI_VIEW_VISIBILITY:I
-Lcom/android/internal/logging/EventLogTags;->writeCommitSysConfigFile(Ljava/lang/String;J)V
-Lcom/android/internal/logging/EventLogTags;->writeSysuiAction(ILjava/lang/String;)V
-Lcom/android/internal/logging/EventLogTags;->writeSysuiCount(Ljava/lang/String;I)V
-Lcom/android/internal/logging/EventLogTags;->writeSysuiHistogram(Ljava/lang/String;I)V
-Lcom/android/internal/logging/EventLogTags;->writeSysuiLatency(II)V
-Lcom/android/internal/logging/EventLogTags;->writeSysuiMultiAction([Ljava/lang/Object;)V
-Lcom/android/internal/logging/EventLogTags;->writeSysuiViewVisibility(II)V
-Lcom/android/internal/logging/MetricsLogger;
-Lcom/android/internal/logging/MetricsLogger;->action(I)V
-Lcom/android/internal/logging/MetricsLogger;->action(II)V
-Lcom/android/internal/logging/MetricsLogger;->action(ILjava/lang/String;)V
-Lcom/android/internal/logging/MetricsLogger;->action(IZ)V
-Lcom/android/internal/logging/MetricsLogger;->action(Landroid/content/Context;I)V
-Lcom/android/internal/logging/MetricsLogger;->action(Landroid/content/Context;II)V
-Lcom/android/internal/logging/MetricsLogger;->action(Landroid/content/Context;ILjava/lang/String;)V
-Lcom/android/internal/logging/MetricsLogger;->action(Landroid/content/Context;IZ)V
-Lcom/android/internal/logging/MetricsLogger;->action(Landroid/metrics/LogMaker;)V
-Lcom/android/internal/logging/MetricsLogger;->count(Landroid/content/Context;Ljava/lang/String;I)V
-Lcom/android/internal/logging/MetricsLogger;->count(Ljava/lang/String;I)V
-Lcom/android/internal/logging/MetricsLogger;->getLogger()Lcom/android/internal/logging/MetricsLogger;
-Lcom/android/internal/logging/MetricsLogger;->hidden(I)V
-Lcom/android/internal/logging/MetricsLogger;->hidden(Landroid/content/Context;I)V
-Lcom/android/internal/logging/MetricsLogger;->histogram(Landroid/content/Context;Ljava/lang/String;I)V
-Lcom/android/internal/logging/MetricsLogger;->histogram(Ljava/lang/String;I)V
-Lcom/android/internal/logging/MetricsLogger;->LOGTAG:I
-Lcom/android/internal/logging/MetricsLogger;->saveLog([Ljava/lang/Object;)V
-Lcom/android/internal/logging/MetricsLogger;->sMetricsLogger:Lcom/android/internal/logging/MetricsLogger;
-Lcom/android/internal/logging/MetricsLogger;->VIEW_UNKNOWN:I
-Lcom/android/internal/logging/MetricsLogger;->visibility(II)V
-Lcom/android/internal/logging/MetricsLogger;->visibility(IZ)V
-Lcom/android/internal/logging/MetricsLogger;->visibility(Landroid/content/Context;II)V
-Lcom/android/internal/logging/MetricsLogger;->visibility(Landroid/content/Context;IZ)V
-Lcom/android/internal/logging/MetricsLogger;->visible(I)V
-Lcom/android/internal/logging/MetricsLogger;->visible(Landroid/content/Context;I)V
-Lcom/android/internal/net/INetworkWatchlistManager$Stub$Proxy;
-Lcom/android/internal/net/INetworkWatchlistManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/net/INetworkWatchlistManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/net/INetworkWatchlistManager$Stub$Proxy;->getWatchlistConfigHash()[B
-Lcom/android/internal/net/INetworkWatchlistManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/net/INetworkWatchlistManager$Stub$Proxy;->reloadWatchlist()V
-Lcom/android/internal/net/INetworkWatchlistManager$Stub$Proxy;->reportWatchlistIfNecessary()V
-Lcom/android/internal/net/INetworkWatchlistManager$Stub$Proxy;->startWatchlistLogging()Z
-Lcom/android/internal/net/INetworkWatchlistManager$Stub$Proxy;->stopWatchlistLogging()Z
-Lcom/android/internal/net/INetworkWatchlistManager$Stub;
-Lcom/android/internal/net/INetworkWatchlistManager$Stub;-><init>()V
-Lcom/android/internal/net/INetworkWatchlistManager$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/net/INetworkWatchlistManager;
-Lcom/android/internal/net/INetworkWatchlistManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/net/INetworkWatchlistManager$Stub;->TRANSACTION_getWatchlistConfigHash:I
-Lcom/android/internal/net/INetworkWatchlistManager$Stub;->TRANSACTION_reloadWatchlist:I
-Lcom/android/internal/net/INetworkWatchlistManager$Stub;->TRANSACTION_reportWatchlistIfNecessary:I
-Lcom/android/internal/net/INetworkWatchlistManager$Stub;->TRANSACTION_startWatchlistLogging:I
-Lcom/android/internal/net/INetworkWatchlistManager$Stub;->TRANSACTION_stopWatchlistLogging:I
-Lcom/android/internal/net/INetworkWatchlistManager;
-Lcom/android/internal/net/INetworkWatchlistManager;->getWatchlistConfigHash()[B
-Lcom/android/internal/net/INetworkWatchlistManager;->reloadWatchlist()V
-Lcom/android/internal/net/INetworkWatchlistManager;->reportWatchlistIfNecessary()V
-Lcom/android/internal/net/INetworkWatchlistManager;->startWatchlistLogging()Z
-Lcom/android/internal/net/INetworkWatchlistManager;->stopWatchlistLogging()Z
-Lcom/android/internal/net/LegacyVpnInfo;
-Lcom/android/internal/net/LegacyVpnInfo;->intent:Landroid/app/PendingIntent;
-Lcom/android/internal/net/LegacyVpnInfo;->stateFromNetworkInfo(Landroid/net/NetworkInfo;)I
-Lcom/android/internal/net/LegacyVpnInfo;->STATE_CONNECTED:I
-Lcom/android/internal/net/LegacyVpnInfo;->STATE_CONNECTING:I
-Lcom/android/internal/net/LegacyVpnInfo;->STATE_DISCONNECTED:I
-Lcom/android/internal/net/LegacyVpnInfo;->STATE_FAILED:I
-Lcom/android/internal/net/LegacyVpnInfo;->STATE_INITIALIZING:I
-Lcom/android/internal/net/LegacyVpnInfo;->STATE_TIMEOUT:I
-Lcom/android/internal/net/LegacyVpnInfo;->TAG:Ljava/lang/String;
-Lcom/android/internal/net/NetworkStatsFactory;
-Lcom/android/internal/net/NetworkStatsFactory;-><init>()V
-Lcom/android/internal/net/NetworkStatsFactory;-><init>(Ljava/io/File;Z)V
-Lcom/android/internal/net/NetworkStatsFactory;->apply464xlatAdjustments(Landroid/net/NetworkStats;Landroid/net/NetworkStats;)V
-Lcom/android/internal/net/NetworkStatsFactory;->assertEquals(Landroid/net/NetworkStats;Landroid/net/NetworkStats;)V
-Lcom/android/internal/net/NetworkStatsFactory;->augmentWithStackedInterfaces([Ljava/lang/String;)[Ljava/lang/String;
-Lcom/android/internal/net/NetworkStatsFactory;->clearStackedIfaces()V
-Lcom/android/internal/net/NetworkStatsFactory;->javaReadNetworkStatsDetail(Ljava/io/File;I[Ljava/lang/String;I)Landroid/net/NetworkStats;
-Lcom/android/internal/net/NetworkStatsFactory;->mStatsXtIfaceAll:Ljava/io/File;
-Lcom/android/internal/net/NetworkStatsFactory;->mStatsXtIfaceFmt:Ljava/io/File;
-Lcom/android/internal/net/NetworkStatsFactory;->mStatsXtUid:Ljava/io/File;
-Lcom/android/internal/net/NetworkStatsFactory;->mUseBpfStats:Z
-Lcom/android/internal/net/NetworkStatsFactory;->nativeReadNetworkStatsDetail(Landroid/net/NetworkStats;Ljava/lang/String;I[Ljava/lang/String;IZ)I
-Lcom/android/internal/net/NetworkStatsFactory;->nativeReadNetworkStatsDev(Landroid/net/NetworkStats;)I
-Lcom/android/internal/net/NetworkStatsFactory;->noteStackedIface(Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/net/NetworkStatsFactory;->readBpfNetworkStatsDev()Landroid/net/NetworkStats;
-Lcom/android/internal/net/NetworkStatsFactory;->readNetworkStatsDetail()Landroid/net/NetworkStats;
-Lcom/android/internal/net/NetworkStatsFactory;->readNetworkStatsDetail(I[Ljava/lang/String;ILandroid/net/NetworkStats;)Landroid/net/NetworkStats;
-Lcom/android/internal/net/NetworkStatsFactory;->readNetworkStatsDetailInternal(I[Ljava/lang/String;ILandroid/net/NetworkStats;)Landroid/net/NetworkStats;
-Lcom/android/internal/net/NetworkStatsFactory;->readNetworkStatsSummaryDev()Landroid/net/NetworkStats;
-Lcom/android/internal/net/NetworkStatsFactory;->readNetworkStatsSummaryXt()Landroid/net/NetworkStats;
-Lcom/android/internal/net/NetworkStatsFactory;->SANITY_CHECK_NATIVE:Z
-Lcom/android/internal/net/NetworkStatsFactory;->sStackedIfaces:Ljava/util/concurrent/ConcurrentHashMap;
-Lcom/android/internal/net/NetworkStatsFactory;->TAG:Ljava/lang/String;
-Lcom/android/internal/net/NetworkStatsFactory;->USE_NATIVE_PARSING:Z
-Lcom/android/internal/net/VpnConfig;
-Lcom/android/internal/net/VpnConfig;->addLegacyAddresses(Ljava/lang/String;)V
-Lcom/android/internal/net/VpnConfig;->addLegacyRoutes(Ljava/lang/String;)V
-Lcom/android/internal/net/VpnConfig;->addresses:Ljava/util/List;
-Lcom/android/internal/net/VpnConfig;->allowBypass:Z
-Lcom/android/internal/net/VpnConfig;->allowedApplications:Ljava/util/List;
-Lcom/android/internal/net/VpnConfig;->allowIPv4:Z
-Lcom/android/internal/net/VpnConfig;->allowIPv6:Z
-Lcom/android/internal/net/VpnConfig;->blocking:Z
-Lcom/android/internal/net/VpnConfig;->configureIntent:Landroid/app/PendingIntent;
-Lcom/android/internal/net/VpnConfig;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/internal/net/VpnConfig;->DIALOGS_PACKAGE:Ljava/lang/String;
-Lcom/android/internal/net/VpnConfig;->disallowedApplications:Ljava/util/List;
-Lcom/android/internal/net/VpnConfig;->dnsServers:Ljava/util/List;
-Lcom/android/internal/net/VpnConfig;->getIntentForConfirmation()Landroid/content/Intent;
-Lcom/android/internal/net/VpnConfig;->getIntentForStatusPanel(Landroid/content/Context;)Landroid/app/PendingIntent;
-Lcom/android/internal/net/VpnConfig;->getVpnLabel(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/CharSequence;
-Lcom/android/internal/net/VpnConfig;->interfaze:Ljava/lang/String;
-Lcom/android/internal/net/VpnConfig;->legacy:Z
-Lcom/android/internal/net/VpnConfig;->LEGACY_VPN:Ljava/lang/String;
-Lcom/android/internal/net/VpnConfig;->mtu:I
-Lcom/android/internal/net/VpnConfig;->routes:Ljava/util/List;
-Lcom/android/internal/net/VpnConfig;->searchDomains:Ljava/util/List;
-Lcom/android/internal/net/VpnConfig;->SERVICE_INTERFACE:Ljava/lang/String;
-Lcom/android/internal/net/VpnConfig;->session:Ljava/lang/String;
-Lcom/android/internal/net/VpnConfig;->startTime:J
-Lcom/android/internal/net/VpnConfig;->underlyingNetworks:[Landroid/net/Network;
-Lcom/android/internal/net/VpnConfig;->updateAllowedFamilies(Ljava/net/InetAddress;)V
-Lcom/android/internal/net/VpnConfig;->user:Ljava/lang/String;
-Lcom/android/internal/net/VpnInfo;
-Lcom/android/internal/net/VpnInfo;-><init>()V
-Lcom/android/internal/net/VpnInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/internal/net/VpnInfo;->ownerUid:I
-Lcom/android/internal/net/VpnInfo;->primaryUnderlyingIface:Ljava/lang/String;
-Lcom/android/internal/net/VpnInfo;->vpnIface:Ljava/lang/String;
-Lcom/android/internal/net/VpnProfile;
-Lcom/android/internal/net/VpnProfile;-><init>(Ljava/lang/String;)V
-Lcom/android/internal/net/VpnProfile;->areDnsAddressesNumeric()Z
-Lcom/android/internal/net/VpnProfile;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/internal/net/VpnProfile;->dnsServers:Ljava/lang/String;
-Lcom/android/internal/net/VpnProfile;->encode()[B
-Lcom/android/internal/net/VpnProfile;->hasDns()Z
-Lcom/android/internal/net/VpnProfile;->ipsecCaCert:Ljava/lang/String;
-Lcom/android/internal/net/VpnProfile;->ipsecIdentifier:Ljava/lang/String;
-Lcom/android/internal/net/VpnProfile;->ipsecSecret:Ljava/lang/String;
-Lcom/android/internal/net/VpnProfile;->ipsecServerCert:Ljava/lang/String;
-Lcom/android/internal/net/VpnProfile;->ipsecUserCert:Ljava/lang/String;
-Lcom/android/internal/net/VpnProfile;->isServerAddressNumeric()Z
-Lcom/android/internal/net/VpnProfile;->isTypeValidForLockdown()Z
-Lcom/android/internal/net/VpnProfile;->isValidLockdownProfile()Z
-Lcom/android/internal/net/VpnProfile;->l2tpSecret:Ljava/lang/String;
-Lcom/android/internal/net/VpnProfile;->mppe:Z
-Lcom/android/internal/net/VpnProfile;->password:Ljava/lang/String;
-Lcom/android/internal/net/VpnProfile;->routes:Ljava/lang/String;
-Lcom/android/internal/net/VpnProfile;->searchDomains:Ljava/lang/String;
-Lcom/android/internal/net/VpnProfile;->TAG:Ljava/lang/String;
-Lcom/android/internal/net/VpnProfile;->TYPE_IPSEC_HYBRID_RSA:I
-Lcom/android/internal/net/VpnProfile;->TYPE_IPSEC_XAUTH_PSK:I
-Lcom/android/internal/net/VpnProfile;->TYPE_IPSEC_XAUTH_RSA:I
-Lcom/android/internal/net/VpnProfile;->TYPE_L2TP_IPSEC_PSK:I
-Lcom/android/internal/net/VpnProfile;->TYPE_L2TP_IPSEC_RSA:I
-Lcom/android/internal/net/VpnProfile;->TYPE_MAX:I
-Lcom/android/internal/net/VpnProfile;->TYPE_PPTP:I
-Lcom/android/internal/os/AppFuseMount;
-Lcom/android/internal/os/AppFuseMount;-><init>(ILandroid/os/ParcelFileDescriptor;)V
-Lcom/android/internal/os/AppFuseMount;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/internal/os/AppFuseMount;->fd:Landroid/os/ParcelFileDescriptor;
-Lcom/android/internal/os/AppFuseMount;->mountPointId:I
-Lcom/android/internal/os/AtomicFile;
-Lcom/android/internal/os/AtomicFile;->delete()V
-Lcom/android/internal/os/AtomicFile;->exists()Z
-Lcom/android/internal/os/AtomicFile;->mBackupName:Ljava/io/File;
-Lcom/android/internal/os/AtomicFile;->mBaseName:Ljava/io/File;
-Lcom/android/internal/os/BatterySipper$DrainType;
-Lcom/android/internal/os/BatterySipper$DrainType;-><init>()V
-Lcom/android/internal/os/BatterySipper$DrainType;->AMBIENT_DISPLAY:Lcom/android/internal/os/BatterySipper$DrainType;
-Lcom/android/internal/os/BatterySipper$DrainType;->BLUETOOTH:Lcom/android/internal/os/BatterySipper$DrainType;
-Lcom/android/internal/os/BatterySipper$DrainType;->CAMERA:Lcom/android/internal/os/BatterySipper$DrainType;
-Lcom/android/internal/os/BatterySipper$DrainType;->CELL:Lcom/android/internal/os/BatterySipper$DrainType;
-Lcom/android/internal/os/BatterySipper$DrainType;->FLASHLIGHT:Lcom/android/internal/os/BatterySipper$DrainType;
-Lcom/android/internal/os/BatterySipper$DrainType;->IDLE:Lcom/android/internal/os/BatterySipper$DrainType;
-Lcom/android/internal/os/BatterySipper$DrainType;->MEMORY:Lcom/android/internal/os/BatterySipper$DrainType;
-Lcom/android/internal/os/BatterySipper$DrainType;->OVERCOUNTED:Lcom/android/internal/os/BatterySipper$DrainType;
-Lcom/android/internal/os/BatterySipper$DrainType;->PHONE:Lcom/android/internal/os/BatterySipper$DrainType;
-Lcom/android/internal/os/BatterySipper$DrainType;->SCREEN:Lcom/android/internal/os/BatterySipper$DrainType;
-Lcom/android/internal/os/BatterySipper$DrainType;->UNACCOUNTED:Lcom/android/internal/os/BatterySipper$DrainType;
-Lcom/android/internal/os/BatterySipper$DrainType;->USER:Lcom/android/internal/os/BatterySipper$DrainType;
-Lcom/android/internal/os/BatterySipper$DrainType;->valueOf(Ljava/lang/String;)Lcom/android/internal/os/BatterySipper$DrainType;
-Lcom/android/internal/os/BatterySipper$DrainType;->WIFI:Lcom/android/internal/os/BatterySipper$DrainType;
-Lcom/android/internal/os/BatterySipper;
-Lcom/android/internal/os/BatterySipper;->audioPowerMah:D
-Lcom/android/internal/os/BatterySipper;->audioTimeMs:J
-Lcom/android/internal/os/BatterySipper;->bluetoothPowerMah:D
-Lcom/android/internal/os/BatterySipper;->bluetoothRunningTimeMs:J
-Lcom/android/internal/os/BatterySipper;->btRxBytes:J
-Lcom/android/internal/os/BatterySipper;->btTxBytes:J
-Lcom/android/internal/os/BatterySipper;->cameraPowerMah:D
-Lcom/android/internal/os/BatterySipper;->cameraTimeMs:J
-Lcom/android/internal/os/BatterySipper;->compareTo(Lcom/android/internal/os/BatterySipper;)I
-Lcom/android/internal/os/BatterySipper;->computeMobilemspp()V
-Lcom/android/internal/os/BatterySipper;->flashlightPowerMah:D
-Lcom/android/internal/os/BatterySipper;->flashlightTimeMs:J
-Lcom/android/internal/os/BatterySipper;->gpsPowerMah:D
-Lcom/android/internal/os/BatterySipper;->mobileActive:J
-Lcom/android/internal/os/BatterySipper;->mobileActiveCount:I
-Lcom/android/internal/os/BatterySipper;->mobilemspp:D
-Lcom/android/internal/os/BatterySipper;->mobileRadioPowerMah:D
-Lcom/android/internal/os/BatterySipper;->mobileRxBytes:J
-Lcom/android/internal/os/BatterySipper;->mobileRxPackets:J
-Lcom/android/internal/os/BatterySipper;->mobileTxBytes:J
-Lcom/android/internal/os/BatterySipper;->mobileTxPackets:J
-Lcom/android/internal/os/BatterySipper;->noCoveragePercent:D
-Lcom/android/internal/os/BatterySipper;->percent:D
-Lcom/android/internal/os/BatterySipper;->proportionalSmearMah:D
-Lcom/android/internal/os/BatterySipper;->screenPowerMah:D
-Lcom/android/internal/os/BatterySipper;->sensorPowerMah:D
-Lcom/android/internal/os/BatterySipper;->shouldHide:Z
-Lcom/android/internal/os/BatterySipper;->sumPower()D
-Lcom/android/internal/os/BatterySipper;->totalSmearedPowerMah:D
-Lcom/android/internal/os/BatterySipper;->usagePowerMah:D
-Lcom/android/internal/os/BatterySipper;->videoPowerMah:D
-Lcom/android/internal/os/BatterySipper;->videoTimeMs:J
-Lcom/android/internal/os/BatterySipper;->wakeLockPowerMah:D
-Lcom/android/internal/os/BatterySipper;->wifiPowerMah:D
-Lcom/android/internal/os/BatterySipper;->wifiRxBytes:J
-Lcom/android/internal/os/BatterySipper;->wifiRxPackets:J
-Lcom/android/internal/os/BatterySipper;->wifiTxBytes:J
-Lcom/android/internal/os/BatterySipper;->wifiTxPackets:J
-Lcom/android/internal/os/BatteryStatsHelper;
-Lcom/android/internal/os/BatteryStatsHelper;->addAmbientDisplayUsage()V
-Lcom/android/internal/os/BatteryStatsHelper;->addBluetoothUsage()V
-Lcom/android/internal/os/BatteryStatsHelper;->addEntry(Lcom/android/internal/os/BatterySipper$DrainType;JD)Lcom/android/internal/os/BatterySipper;
-Lcom/android/internal/os/BatteryStatsHelper;->addIdleUsage()V
-Lcom/android/internal/os/BatteryStatsHelper;->addMemoryUsage()V
-Lcom/android/internal/os/BatteryStatsHelper;->addPhoneUsage()V
-Lcom/android/internal/os/BatteryStatsHelper;->addRadioUsage()V
-Lcom/android/internal/os/BatteryStatsHelper;->addScreenUsage()V
-Lcom/android/internal/os/BatteryStatsHelper;->addUserUsage()V
-Lcom/android/internal/os/BatteryStatsHelper;->addWiFiUsage()V
-Lcom/android/internal/os/BatteryStatsHelper;->aggregateSippers(Lcom/android/internal/os/BatterySipper;Ljava/util/List;Ljava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsHelper;->checkHasBluetoothPowerReporting(Landroid/os/BatteryStats;Lcom/android/internal/os/PowerProfile;)Z
-Lcom/android/internal/os/BatteryStatsHelper;->checkHasWifiPowerReporting(Landroid/os/BatteryStats;Lcom/android/internal/os/PowerProfile;)Z
-Lcom/android/internal/os/BatteryStatsHelper;->checkWifiOnly(Landroid/content/Context;)Z
-Lcom/android/internal/os/BatteryStatsHelper;->convertMsToUs(J)J
-Lcom/android/internal/os/BatteryStatsHelper;->convertUsToMs(J)J
-Lcom/android/internal/os/BatteryStatsHelper;->create(Landroid/os/BatteryStats;)V
-Lcom/android/internal/os/BatteryStatsHelper;->DEBUG:Z
-Lcom/android/internal/os/BatteryStatsHelper;->getComputedPower()D
-Lcom/android/internal/os/BatteryStatsHelper;->getForegroundActivityTotalTimeUs(Landroid/os/BatteryStats$Uid;J)J
-Lcom/android/internal/os/BatteryStatsHelper;->getMaxDrainedPower()D
-Lcom/android/internal/os/BatteryStatsHelper;->getMaxRealPower()D
-Lcom/android/internal/os/BatteryStatsHelper;->getMinDrainedPower()D
-Lcom/android/internal/os/BatteryStatsHelper;->getMobilemsppList()Ljava/util/List;
-Lcom/android/internal/os/BatteryStatsHelper;->getPowerProfile()Lcom/android/internal/os/PowerProfile;
-Lcom/android/internal/os/BatteryStatsHelper;->getProcessForegroundTimeMs(Landroid/os/BatteryStats$Uid;I)J
-Lcom/android/internal/os/BatteryStatsHelper;->getStats(Lcom/android/internal/app/IBatteryStats;)Lcom/android/internal/os/BatteryStatsImpl;
-Lcom/android/internal/os/BatteryStatsHelper;->getStatsPeriod()J
-Lcom/android/internal/os/BatteryStatsHelper;->getStatsType()I
-Lcom/android/internal/os/BatteryStatsHelper;->isTypeService(Lcom/android/internal/os/BatterySipper;)Z
-Lcom/android/internal/os/BatteryStatsHelper;->isTypeSystem(Lcom/android/internal/os/BatterySipper;)Z
-Lcom/android/internal/os/BatteryStatsHelper;->makeFilePath(Landroid/content/Context;Ljava/lang/String;)Ljava/io/File;
-Lcom/android/internal/os/BatteryStatsHelper;->makemAh(D)Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsHelper;->mBatteryBroadcast:Landroid/content/Intent;
-Lcom/android/internal/os/BatteryStatsHelper;->mBatteryRealtimeUs:J
-Lcom/android/internal/os/BatteryStatsHelper;->mBatteryTimeRemainingUs:J
-Lcom/android/internal/os/BatteryStatsHelper;->mBatteryUptimeUs:J
-Lcom/android/internal/os/BatteryStatsHelper;->mBluetoothPowerCalculator:Lcom/android/internal/os/PowerCalculator;
-Lcom/android/internal/os/BatteryStatsHelper;->mBluetoothSippers:Ljava/util/List;
-Lcom/android/internal/os/BatteryStatsHelper;->mCameraPowerCalculator:Lcom/android/internal/os/PowerCalculator;
-Lcom/android/internal/os/BatteryStatsHelper;->mChargeTimeRemainingUs:J
-Lcom/android/internal/os/BatteryStatsHelper;->mCollectBatteryBroadcast:Z
-Lcom/android/internal/os/BatteryStatsHelper;->mComputedPower:D
-Lcom/android/internal/os/BatteryStatsHelper;->mContext:Landroid/content/Context;
-Lcom/android/internal/os/BatteryStatsHelper;->mCpuPowerCalculator:Lcom/android/internal/os/PowerCalculator;
-Lcom/android/internal/os/BatteryStatsHelper;->mFlashlightPowerCalculator:Lcom/android/internal/os/PowerCalculator;
-Lcom/android/internal/os/BatteryStatsHelper;->mHasBluetoothPowerReporting:Z
-Lcom/android/internal/os/BatteryStatsHelper;->mHasWifiPowerReporting:Z
-Lcom/android/internal/os/BatteryStatsHelper;->mMaxDrainedPower:D
-Lcom/android/internal/os/BatteryStatsHelper;->mMaxPower:D
-Lcom/android/internal/os/BatteryStatsHelper;->mMaxRealPower:D
-Lcom/android/internal/os/BatteryStatsHelper;->mMediaPowerCalculator:Lcom/android/internal/os/PowerCalculator;
-Lcom/android/internal/os/BatteryStatsHelper;->mMemoryPowerCalculator:Lcom/android/internal/os/PowerCalculator;
-Lcom/android/internal/os/BatteryStatsHelper;->mMinDrainedPower:D
-Lcom/android/internal/os/BatteryStatsHelper;->mMobilemsppList:Ljava/util/List;
-Lcom/android/internal/os/BatteryStatsHelper;->mMobileRadioPowerCalculator:Lcom/android/internal/os/MobileRadioPowerCalculator;
-Lcom/android/internal/os/BatteryStatsHelper;->mPackageManager:Landroid/content/pm/PackageManager;
-Lcom/android/internal/os/BatteryStatsHelper;->mRawRealtimeUs:J
-Lcom/android/internal/os/BatteryStatsHelper;->mRawUptimeUs:J
-Lcom/android/internal/os/BatteryStatsHelper;->mSensorPowerCalculator:Lcom/android/internal/os/PowerCalculator;
-Lcom/android/internal/os/BatteryStatsHelper;->mServicepackageArray:[Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsHelper;->mStats:Landroid/os/BatteryStats;
-Lcom/android/internal/os/BatteryStatsHelper;->mStatsPeriod:J
-Lcom/android/internal/os/BatteryStatsHelper;->mStatsType:I
-Lcom/android/internal/os/BatteryStatsHelper;->mSystemPackageArray:[Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsHelper;->mTotalPower:D
-Lcom/android/internal/os/BatteryStatsHelper;->mTypeBatteryRealtimeUs:J
-Lcom/android/internal/os/BatteryStatsHelper;->mTypeBatteryUptimeUs:J
-Lcom/android/internal/os/BatteryStatsHelper;->mUserSippers:Landroid/util/SparseArray;
-Lcom/android/internal/os/BatteryStatsHelper;->mWakelockPowerCalculator:Lcom/android/internal/os/PowerCalculator;
-Lcom/android/internal/os/BatteryStatsHelper;->mWifiOnly:Z
-Lcom/android/internal/os/BatteryStatsHelper;->mWifiPowerCalculator:Lcom/android/internal/os/PowerCalculator;
-Lcom/android/internal/os/BatteryStatsHelper;->mWifiSippers:Ljava/util/List;
-Lcom/android/internal/os/BatteryStatsHelper;->processAppUsage(Landroid/util/SparseArray;)V
-Lcom/android/internal/os/BatteryStatsHelper;->processMiscUsage()V
-Lcom/android/internal/os/BatteryStatsHelper;->readFully(Ljava/io/FileInputStream;)[B
-Lcom/android/internal/os/BatteryStatsHelper;->readFully(Ljava/io/FileInputStream;I)[B
-Lcom/android/internal/os/BatteryStatsHelper;->refreshStats(ILandroid/util/SparseArray;JJ)V
-Lcom/android/internal/os/BatteryStatsHelper;->removeHiddenBatterySippers(Ljava/util/List;)D
-Lcom/android/internal/os/BatteryStatsHelper;->sBatteryBroadcastXfer:Landroid/content/Intent;
-Lcom/android/internal/os/BatteryStatsHelper;->setPackageManager(Landroid/content/pm/PackageManager;)V
-Lcom/android/internal/os/BatteryStatsHelper;->setServicePackageArray([Ljava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsHelper;->setSystemPackageArray([Ljava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsHelper;->sFileXfer:Landroid/util/ArrayMap;
-Lcom/android/internal/os/BatteryStatsHelper;->shouldHideSipper(Lcom/android/internal/os/BatterySipper;)Z
-Lcom/android/internal/os/BatteryStatsHelper;->smearScreenBatterySipper(Ljava/util/List;Lcom/android/internal/os/BatterySipper;)V
-Lcom/android/internal/os/BatteryStatsHelper;->sStatsXfer:Landroid/os/BatteryStats;
-Lcom/android/internal/os/BatteryStatsHelper;->statsFromFile(Landroid/content/Context;Ljava/lang/String;)Landroid/os/BatteryStats;
-Lcom/android/internal/os/BatteryStatsHelper;->storeStatsHistoryInFile(Ljava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsHelper;->TAG:Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
-Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;->abortLastDuration(Lcom/android/internal/os/BatteryStatsImpl;)V
-Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;->addDuration(Lcom/android/internal/os/BatteryStatsImpl;J)V
-Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;->computeCurrentCountLocked()I
-Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;->computeOverage(J)J
-Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;->computeRunTimeLocked(J)J
-Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;->logState(Landroid/util/Printer;Ljava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;->mInDischarge:Z
-Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;->mLastAddedDuration:J
-Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;->mLastAddedTime:J
-Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;->mUid:Lcom/android/internal/os/BatteryStatsImpl$Uid;
-Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;->onTimeStarted(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;->onTimeStopped(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;->recomputeLastDuration(JZ)V
-Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;->reset(Z)Z
-Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;->writeToParcel(Landroid/os/Parcel;J)V
-Lcom/android/internal/os/BatteryStatsImpl$BatteryCallback;
-Lcom/android/internal/os/BatteryStatsImpl$BatteryCallback;->batteryNeedsCpuUpdate()V
-Lcom/android/internal/os/BatteryStatsImpl$BatteryCallback;->batteryPowerChanged(Z)V
-Lcom/android/internal/os/BatteryStatsImpl$BatteryCallback;->batterySendBroadcast(Landroid/content/Intent;)V
-Lcom/android/internal/os/BatteryStatsImpl$BatteryCallback;->batteryStatsReset()V
-Lcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;
-Lcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;-><init>()V
-Lcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;->energy:J
-Lcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;->idleTimeMs:J
-Lcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;->rxTimeMs:J
-Lcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;->set(Landroid/bluetooth/BluetoothActivityEnergyInfo;)V
-Lcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;->txTimeMs:J
-Lcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;->uidRxBytes:Landroid/util/SparseLongArray;
-Lcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;->uidTxBytes:Landroid/util/SparseLongArray;
-Lcom/android/internal/os/BatteryStatsImpl$Clocks;
-Lcom/android/internal/os/BatteryStatsImpl$Clocks;->elapsedRealtime()J
-Lcom/android/internal/os/BatteryStatsImpl$Clocks;->uptimeMillis()J
-Lcom/android/internal/os/BatteryStatsImpl$Constants;
-Lcom/android/internal/os/BatteryStatsImpl$Constants;-><init>(Landroid/os/Handler;)V
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->BATTERY_LEVEL_COLLECTION_DELAY_MS:J
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->DEFAULT_BATTERY_LEVEL_COLLECTION_DELAY_MS:J
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->DEFAULT_EXTERNAL_STATS_COLLECTION_RATE_LIMIT_MS:J
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->DEFAULT_KERNEL_UID_READERS_THROTTLE_TIME:J
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->DEFAULT_PROC_STATE_CPU_TIMES_READ_DELAY_MS:J
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->DEFAULT_TRACK_CPU_ACTIVE_CLUSTER_TIME:Z
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->DEFAULT_TRACK_CPU_TIMES_BY_PROC_STATE:Z
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->DEFAULT_UID_REMOVE_DELAY_MS:J
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->dumpLocked(Ljava/io/PrintWriter;)V
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->EXTERNAL_STATS_COLLECTION_RATE_LIMIT_MS:J
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->KERNEL_UID_READERS_THROTTLE_TIME:J
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->KEY_BATTERY_LEVEL_COLLECTION_DELAY_MS:Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->KEY_EXTERNAL_STATS_COLLECTION_RATE_LIMIT_MS:Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->KEY_KERNEL_UID_READERS_THROTTLE_TIME:Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->KEY_PROC_STATE_CPU_TIMES_READ_DELAY_MS:Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->KEY_TRACK_CPU_ACTIVE_CLUSTER_TIME:Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->KEY_TRACK_CPU_TIMES_BY_PROC_STATE:Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->KEY_UID_REMOVE_DELAY_MS:Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->mParser:Landroid/util/KeyValueListParser;
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->mResolver:Landroid/content/ContentResolver;
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->PROC_STATE_CPU_TIMES_READ_DELAY_MS:J
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->startObserving(Landroid/content/ContentResolver;)V
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->TRACK_CPU_ACTIVE_CLUSTER_TIME:Z
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->TRACK_CPU_TIMES_BY_PROC_STATE:Z
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->UID_REMOVE_DELAY_MS:J
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->updateConstants()V
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->updateKernelUidReadersThrottleTime(JJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->updateProcStateCpuTimesReadDelayMs(JJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->updateTrackCpuTimesByProcStateLocked(ZZ)V
-Lcom/android/internal/os/BatteryStatsImpl$Constants;->updateUidRemoveDelay(J)V
-Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;
-Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;I)V
-Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;ILandroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->detach()V
-Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getIdleTimeCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getPowerCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getRxTimeCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getScanTimeCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getSleepTimeCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getTxTimeCounters()[Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->mIdleTimeMillis:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->mPowerDrainMaMs:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->mRxTimeMillis:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->mScanTimeMillis:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->mSleepTimeMillis:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->mTxTimeMillis:[Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->readSummaryFromParcel(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->reset(Z)V
-Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->writeSummaryToParcel(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Counter;
-Lcom/android/internal/os/BatteryStatsImpl$Counter;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
-Lcom/android/internal/os/BatteryStatsImpl$Counter;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Counter;->addAtomic(I)V
-Lcom/android/internal/os/BatteryStatsImpl$Counter;->detach()V
-Lcom/android/internal/os/BatteryStatsImpl$Counter;->getCountLocked(I)I
-Lcom/android/internal/os/BatteryStatsImpl$Counter;->logState(Landroid/util/Printer;Ljava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsImpl$Counter;->mLoadedCount:I
-Lcom/android/internal/os/BatteryStatsImpl$Counter;->mPluggedCount:I
-Lcom/android/internal/os/BatteryStatsImpl$Counter;->mTimeBase:Lcom/android/internal/os/BatteryStatsImpl$TimeBase;
-Lcom/android/internal/os/BatteryStatsImpl$Counter;->mUnpluggedCount:I
-Lcom/android/internal/os/BatteryStatsImpl$Counter;->onTimeStarted(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Counter;->onTimeStopped(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Counter;->readCounterFromParcel(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)Lcom/android/internal/os/BatteryStatsImpl$Counter;
-Lcom/android/internal/os/BatteryStatsImpl$Counter;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Counter;->reset(Z)V
-Lcom/android/internal/os/BatteryStatsImpl$Counter;->stepAtomic()V
-Lcom/android/internal/os/BatteryStatsImpl$Counter;->writeCounterToParcel(Landroid/os/Parcel;Lcom/android/internal/os/BatteryStatsImpl$Counter;)V
-Lcom/android/internal/os/BatteryStatsImpl$Counter;->writeSummaryFromParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Counter;->writeToParcel(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
-Lcom/android/internal/os/BatteryStatsImpl$DualTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
-Lcom/android/internal/os/BatteryStatsImpl$DualTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$DualTimer;->detach()V
-Lcom/android/internal/os/BatteryStatsImpl$DualTimer;->getSubTimer()Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;
-Lcom/android/internal/os/BatteryStatsImpl$DualTimer;->mSubTimer:Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;
-Lcom/android/internal/os/BatteryStatsImpl$DualTimer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$DualTimer;->reset(Z)Z
-Lcom/android/internal/os/BatteryStatsImpl$DualTimer;->startRunningLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$DualTimer;->stopAllRunningLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$DualTimer;->stopRunningLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$DualTimer;->writeSummaryFromParcelLocked(Landroid/os/Parcel;J)V
-Lcom/android/internal/os/BatteryStatsImpl$DualTimer;->writeToParcel(Landroid/os/Parcel;J)V
-Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;
-Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
-Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;->getCurrentDurationMsLocked(J)J
-Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;->getMaxDurationMsLocked(J)J
-Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;->getTotalDurationMsLocked(J)J
-Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;->logState(Landroid/util/Printer;Ljava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;->mCurrentDurationMs:J
-Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;->mMaxDurationMs:J
-Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;->mStartTimeMs:J
-Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;->mTotalDurationMs:J
-Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;->onTimeStarted(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;->onTimeStopped(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;->reset(Z)Z
-Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;->startRunningLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;->stopRunningLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;->writeSummaryFromParcelLocked(Landroid/os/Parcel;J)V
-Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;->writeToParcel(Landroid/os/Parcel;J)V
-Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;
-Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->cancelCpuSyncDueToWakelockChange()V
-Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->scheduleCopyFromAllUidsCpuTimes(ZZ)Ljava/util/concurrent/Future;
-Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->scheduleCpuSyncDueToRemovedUid(I)Ljava/util/concurrent/Future;
-Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->scheduleCpuSyncDueToScreenStateChange(ZZ)Ljava/util/concurrent/Future;
-Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->scheduleCpuSyncDueToSettingChange()Ljava/util/concurrent/Future;
-Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->scheduleCpuSyncDueToWakelockChange(J)Ljava/util/concurrent/Future;
-Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->scheduleReadProcStateCpuTimes(ZZJ)Ljava/util/concurrent/Future;
-Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->scheduleSync(Ljava/lang/String;I)Ljava/util/concurrent/Future;
-Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->scheduleSyncDueToBatteryLevelChange(J)Ljava/util/concurrent/Future;
-Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->UPDATE_ALL:I
-Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->UPDATE_BT:I
-Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->UPDATE_CPU:I
-Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->UPDATE_RADIO:I
-Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->UPDATE_RPM:I
-Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->UPDATE_WIFI:I
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->addCountLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->addCountLocked(JZ)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->detach()V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->getCountLocked(I)J
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->logState(Landroid/util/Printer;Ljava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->mCount:J
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->mCurrentCount:J
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->mLoadedCount:J
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->mTimeBase:Lcom/android/internal/os/BatteryStatsImpl$TimeBase;
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->mUnpluggedCount:J
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->onTimeStarted(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->onTimeStopped(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->reset(Z)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->update(J)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->update(JZ)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->writeSummaryFromParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->writeToParcel(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->addCountLocked([J)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->addCountLocked([JZ)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->copyArray([J[J)[J
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->detach()V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->fillArray([JJ)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->getCountsLocked(I)[J
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->getSize()I
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->logState(Landroid/util/Printer;Ljava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->mCounts:[J
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->mLoadedCounts:[J
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->mTimeBase:Lcom/android/internal/os/BatteryStatsImpl$TimeBase;
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->mUnpluggedCounts:[J
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->onTimeStarted(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->onTimeStopped(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->readFromParcel(Landroid/os/Parcel;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->readSummaryFromParcelLocked(Landroid/os/Parcel;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->reset(Z)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->subtract([J[J)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->writeSummaryToParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->writeSummaryToParcelLocked(Landroid/os/Parcel;Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->writeToParcel(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->writeToParcel(Landroid/os/Parcel;Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;)V
-Lcom/android/internal/os/BatteryStatsImpl$MyHandler;
-Lcom/android/internal/os/BatteryStatsImpl$MyHandler;-><init>(Landroid/os/Looper;)V
-Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;
-Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;-><init>(I)V
-Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->add(Ljava/lang/String;Ljava/lang/Object;)V
-Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->cleanup()V
-Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->clear()V
-Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->getMap()Landroid/util/ArrayMap;
-Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->instantiateObject()Ljava/lang/Object;
-Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->mActiveOverflow:Landroid/util/ArrayMap;
-Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->mCurOverflow:Ljava/lang/Object;
-Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->mLastCleanupTime:J
-Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->mLastClearTime:J
-Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->mLastOverflowFinishTime:J
-Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->mLastOverflowTime:J
-Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->mMap:Landroid/util/ArrayMap;
-Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->mUid:I
-Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->OVERFLOW_NAME:Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->startObject(Ljava/lang/String;)Ljava/lang/Object;
-Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->stopObject(Ljava/lang/String;)Ljava/lang/Object;
-Lcom/android/internal/os/BatteryStatsImpl$PlatformIdleStateCallback;
-Lcom/android/internal/os/BatteryStatsImpl$PlatformIdleStateCallback;->fillLowPowerStats(Lcom/android/internal/os/RpmStats;)V
-Lcom/android/internal/os/BatteryStatsImpl$PlatformIdleStateCallback;->getPlatformLowPowerStats()Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl$PlatformIdleStateCallback;->getSubsystemLowPowerStats()Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->add(JI)V
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->computeCurrentCountLocked()I
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->computeRunTimeLocked(J)J
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->endSample()V
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->getUpdateVersion()I
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->logState(Landroid/util/Printer;Ljava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->mCurrentReportedCount:I
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->mCurrentReportedTotalTime:J
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->mTimeBaseRunning:Z
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->mTrackingReportedValues:Z
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->mUnpluggedReportedCount:I
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->mUnpluggedReportedTotalTime:J
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->mUpdateVersion:I
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->onTimeStarted(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->onTimeStopped(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->reset(Z)Z
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->setUpdateVersion(I)V
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->update(JI)V
-Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->writeToParcel(Landroid/os/Parcel;J)V
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->computeCurrentCountLocked()I
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->computeRunTimeLocked(J)J
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->isRunningLocked()Z
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->logState(Landroid/util/Printer;Ljava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->mAcquireTime:J
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->mInList:Z
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->mNesting:I
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->mTimeout:J
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->mTimerPool:Ljava/util/ArrayList;
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->mUid:Lcom/android/internal/os/BatteryStatsImpl$Uid;
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->mUpdateTime:J
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->onTimeStopped(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->refreshTimersLocked(JLjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;)J
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->reset(Z)Z
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->setMark(J)V
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->setTimeout(J)V
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->startRunningLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->stopAllRunningLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->stopRunningLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->writeToParcel(Landroid/os/Parcel;J)V
-Lcom/android/internal/os/BatteryStatsImpl$SystemClocks;
-Lcom/android/internal/os/BatteryStatsImpl$SystemClocks;-><init>()V
-Lcom/android/internal/os/BatteryStatsImpl$SystemClocks;->elapsedRealtime()J
-Lcom/android/internal/os/BatteryStatsImpl$SystemClocks;->uptimeMillis()J
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;-><init>()V
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->add(Lcom/android/internal/os/BatteryStatsImpl$TimeBaseObs;)V
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->computeRealtime(JI)J
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->computeUptime(JI)J
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->getRealtime(J)J
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->getRealtimeStart()J
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->getUptime(J)J
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->getUptimeStart()J
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->hasObserver(Lcom/android/internal/os/BatteryStatsImpl$TimeBaseObs;)Z
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->init(JJ)V
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->isRunning()Z
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->mObservers:Ljava/util/ArrayList;
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->mPastRealtime:J
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->mPastUptime:J
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->mRealtime:J
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->mRealtimeStart:J
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->mRunning:Z
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->mUnpluggedRealtime:J
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->mUnpluggedUptime:J
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->mUptime:J
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->mUptimeStart:J
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->readSummaryFromParcel(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->remove(Lcom/android/internal/os/BatteryStatsImpl$TimeBaseObs;)V
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->reset(JJ)V
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->setRunning(ZJJ)Z
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->writeSummaryToParcel(Landroid/os/Parcel;JJ)V
-Lcom/android/internal/os/BatteryStatsImpl$TimeBase;->writeToParcel(Landroid/os/Parcel;JJ)V
-Lcom/android/internal/os/BatteryStatsImpl$TimeBaseObs;
-Lcom/android/internal/os/BatteryStatsImpl$TimeBaseObs;->onTimeStarted(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$TimeBaseObs;->onTimeStopped(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl$Timer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;ILcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
-Lcom/android/internal/os/BatteryStatsImpl$Timer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;ILcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->computeCurrentCountLocked()I
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->computeRunTimeLocked(J)J
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->detach()V
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->getTimeSinceMarkLocked(J)J
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->logState(Landroid/util/Printer;Ljava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->mClocks:Lcom/android/internal/os/BatteryStatsImpl$Clocks;
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->mCount:I
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->mLastCount:I
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->mLastTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->mLoadedCount:I
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->mLoadedTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->mTimeBase:Lcom/android/internal/os/BatteryStatsImpl$TimeBase;
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->mTimeBeforeMark:J
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->mTotalTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->mType:I
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->mUnpluggedCount:I
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->mUnpluggedTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->onTimeStarted(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->onTimeStopped(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->reset(Z)Z
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->writeSummaryFromParcelLocked(Landroid/os/Parcel;J)V
-Lcom/android/internal/os/BatteryStatsImpl$Timer;->writeToParcel(Landroid/os/Parcel;J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;-><init>(Lcom/android/internal/os/BatteryStatsImpl;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->detach()V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getLaunches(I)I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getLaunchTimeToNowLocked(J)J
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getStarts(I)I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getStartTime(JI)J
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getStartTimeToNowLocked(J)J
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->mBsi:Lcom/android/internal/os/BatteryStatsImpl;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->mLastLaunches:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->mLastStarts:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->mLastStartTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->mLaunched:Z
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->mLaunchedSince:J
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->mLaunchedTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->mLaunches:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->mLoadedLaunches:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->mLoadedStarts:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->mLoadedStartTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->mPkg:Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->mRunning:Z
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->mRunningSince:J
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->mStarts:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->mStartTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->mUnpluggedLaunches:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->mUnpluggedStarts:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->mUnpluggedStartTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->onTimeStarted(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->onTimeStopped(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->readFromParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->writeToParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;-><init>(Lcom/android/internal/os/BatteryStatsImpl;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->detach()V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->getServiceStats()Landroid/util/ArrayMap;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->getWakeupAlarmStats()Landroid/util/ArrayMap;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->mBsi:Lcom/android/internal/os/BatteryStatsImpl;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->mServiceStats:Landroid/util/ArrayMap;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->mWakeupAlarms:Landroid/util/ArrayMap;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->newServiceStatsLocked()Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->noteWakeupAlarmLocked(Ljava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->onTimeStarted(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->onTimeStopped(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->readFromParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->writeToParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Ljava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addCpuTimeLocked(IIZ)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addExcessiveCpu(JJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->countExcessivePowers()I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->detach()V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getExcessivePower(I)Landroid/os/BatteryStats$Uid$Proc$ExcessivePower;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getNumAnrs(I)I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getNumCrashes(I)I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->incNumAnrsLocked()V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->incNumCrashesLocked()V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->isActive()Z
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mActive:Z
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mBsi:Lcom/android/internal/os/BatteryStatsImpl;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mExcessivePower:Ljava/util/ArrayList;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mForegroundTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mLoadedForegroundTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mLoadedNumAnrs:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mLoadedNumCrashes:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mLoadedStarts:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mLoadedSystemTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mLoadedUserTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mName:Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mNumAnrs:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mNumCrashes:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mStarts:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mSystemTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mUnpluggedForegroundTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mUnpluggedNumAnrs:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mUnpluggedNumCrashes:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mUnpluggedStarts:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mUnpluggedSystemTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mUnpluggedUserTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->mUserTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->onTimeStarted(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->onTimeStopped(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->readExcessivePowerFromParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->readFromParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->writeExcessivePowerToParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->writeToParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Lcom/android/internal/os/BatteryStatsImpl$Uid;I)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->getSensorBackgroundTime()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->mBsi:Lcom/android/internal/os/BatteryStatsImpl;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->mHandle:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->mTimer:Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->mUid:Lcom/android/internal/os/BatteryStatsImpl$Uid;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->readFromParcelLocked(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->readTimersFromParcel(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->reset()Z
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->writeToParcelLocked(Landroid/os/Parcel;J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Lcom/android/internal/os/BatteryStatsImpl$Uid;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->mBsi:Lcom/android/internal/os/BatteryStatsImpl;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->mTimerDraw:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->mTimerFull:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->mTimerPartial:Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->mTimerWindow:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->mUid:Lcom/android/internal/os/BatteryStatsImpl$Uid;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->readDualTimerFromParcel(ILjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->readFromParcelLocked(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->readStopwatchTimerFromParcel(ILjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->reset()Z
-Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->writeToParcelLocked(Landroid/os/Parcel;J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;-><init>(Lcom/android/internal/os/BatteryStatsImpl;I)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->addIsolatedUid(I)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->addProcStateScreenOffTimesMs(I[JZ)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->addProcStateTimesMs(I[JZ)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->createAggregatedPartialWakelockTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->createAudioTurnedOnTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->createBluetoothScanResultBgCounterLocked()Lcom/android/internal/os/BatteryStatsImpl$Counter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->createBluetoothScanResultCounterLocked()Lcom/android/internal/os/BatteryStatsImpl$Counter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->createBluetoothScanTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->createBluetoothUnoptimizedScanTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->createCameraTurnedOnTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->createFlashlightTurnedOnTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->createForegroundActivityTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->createForegroundServiceTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->createVibratorOnTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->createVideoTurnedOnTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getAggregatedPartialWakelockTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getAudioTurnedOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getBatteryStats()Lcom/android/internal/os/BatteryStatsImpl;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanBackgroundTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanResultBgCounter()Lcom/android/internal/os/BatteryStatsImpl$Counter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanResultCounter()Lcom/android/internal/os/BatteryStatsImpl$Counter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothUnoptimizedScanBackgroundTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothUnoptimizedScanTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getCameraTurnedOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getCpuActiveTime()J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getCpuClusterTimes()[J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getCpuFreqTimes(I)[J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getCpuFreqTimes(II)[J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getDeferredJobsCheckinLineLocked(Ljava/lang/StringBuilder;I)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getDeferredJobsLineLocked(Ljava/lang/StringBuilder;I)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getFlashlightTurnedOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getForegroundActivityTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getForegroundServiceTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getFullWifiLockTime(JI)J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getJobCompletionStats()Landroid/util/ArrayMap;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getJobStats()Landroid/util/ArrayMap;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getMobileRadioActiveCount(I)I
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getMobileRadioActiveTime(I)J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getMobileRadioApWakeupCount(I)J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getModemControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getMulticastWakelockStats()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getNetworkActivityBytes(II)J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getNetworkActivityPackets(II)J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getOrCreateBluetoothControllerActivityLocked()Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getOrCreateModemControllerActivityLocked()Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getOrCreateWifiControllerActivityLocked()Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getPackageStats()Landroid/util/ArrayMap;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getPackageStatsLocked(Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getPidStats()Landroid/util/SparseArray;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getPidStatsLocked(I)Landroid/os/BatteryStats$Uid$Pid;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getProcessStateTime(IJI)J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getProcessStateTimer(I)Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getProcessStatsLocked(Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getScreenOffCpuFreqTimes(I)[J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getScreenOffCpuFreqTimes(II)[J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getSensorTimerLocked(IZ)Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getServiceStatsLocked(Ljava/lang/String;Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getSyncStats()Landroid/util/ArrayMap;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getSystemCpuTimeUs(I)J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getTimeAtCpuSpeed(III)J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getUserActivityCount(II)I
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getUserCpuTimeUs(I)J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getVibratorOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getVideoTurnedOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getWakelockTimerLocked(Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;I)Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiBatchedScanCount(II)I
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiBatchedScanTime(IJI)J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiMulticastTime(JI)J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiRadioApWakeupCount(I)J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiScanActualTime(J)J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiScanBackgroundCount(I)I
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiScanBackgroundTime(J)J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiScanBackgroundTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiScanCount(I)I
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiScanTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->hasNetworkActivity()Z
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->hasUserActivity()Z
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->initNetworkActivityLocked()V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->initUserActivityLocked()V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->isInBackground()Z
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mAggregatedPartialWakelockTimer:Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->makeProcessState(ILandroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->makeWifiBatchedScanBin(ILandroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mAudioTurnedOnTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mBluetoothControllerActivity:Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mBluetoothScanResultBgCounter:Lcom/android/internal/os/BatteryStatsImpl$Counter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mBluetoothScanResultCounter:Lcom/android/internal/os/BatteryStatsImpl$Counter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mBluetoothScanTimer:Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mBluetoothUnoptimizedScanTimer:Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mBsi:Lcom/android/internal/os/BatteryStatsImpl;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mCameraTurnedOnTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mChildUids:Landroid/util/IntArray;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mCpuActiveTimeMs:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mCpuClusterSpeedTimesUs:[[Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mCpuClusterTimesMs:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mCpuFreqTimeMs:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mCurStepSystemTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mCurStepUserTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mFlashlightTurnedOnTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mForegroundActivityTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mForegroundServiceTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mFullWifiLockOut:Z
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mFullWifiLockTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mInForegroundService:Z
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mJobCompletions:Landroid/util/ArrayMap;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mJobsDeferredCount:Lcom/android/internal/os/BatteryStatsImpl$Counter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mJobsDeferredEventCount:Lcom/android/internal/os/BatteryStatsImpl$Counter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mJobsFreshnessBuckets:[Lcom/android/internal/os/BatteryStatsImpl$Counter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mJobsFreshnessTimeMs:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mJobStats:Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mLastStepSystemTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mLastStepUserTime:J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mMobileRadioActiveCount:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mMobileRadioActiveTime:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mMobileRadioApWakeupCount:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mModemControllerActivity:Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mNetworkByteActivityCounters:[Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mNetworkPacketActivityCounters:[Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mOnBatteryBackgroundTimeBase:Lcom/android/internal/os/BatteryStatsImpl$TimeBase;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mOnBatteryScreenOffBackgroundTimeBase:Lcom/android/internal/os/BatteryStatsImpl$TimeBase;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mPackageStats:Landroid/util/ArrayMap;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mPids:Landroid/util/SparseArray;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mProcessState:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mProcessStateTimer:[Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mProcessStats:Landroid/util/ArrayMap;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mProcStateScreenOffTimeMs:[Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mProcStateTimeMs:[Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mScreenOffCpuFreqTimeMs:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mSensorStats:Landroid/util/SparseArray;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mSyncStats:Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mSystemCpuTime:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mUid:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mUserActivityCounters:[Lcom/android/internal/os/BatteryStatsImpl$Counter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mUserCpuTime:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mVibratorOnTimer:Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mVideoTurnedOnTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mWakelockStats:Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mWifiBatchedScanBinStarted:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mWifiBatchedScanTimer:[Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mWifiControllerActivity:Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mWifiMulticastEnabled:Z
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mWifiMulticastTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mWifiRadioApWakeupCount:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mWifiRunning:Z
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mWifiRunningTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mWifiScanStarted:Z
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->mWifiScanTimer:Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteActivityPausedLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteActivityResumedLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteAudioTurnedOffLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteAudioTurnedOnLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteBluetoothScanResultsLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteBluetoothScanStartedLocked(JZ)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteBluetoothScanStoppedLocked(JZ)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteCameraTurnedOffLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteCameraTurnedOnLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteFlashlightTurnedOffLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteFlashlightTurnedOnLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteForegroundServicePausedLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteForegroundServiceResumedLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteFullWifiLockAcquiredLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteFullWifiLockReleasedLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteJobsDeferredLocked(IJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteMobileRadioActiveTimeLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteMobileRadioApWakeupLocked()V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteNetworkActivityLocked(IJJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteResetAudioLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteResetBluetoothScanLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteResetCameraLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteResetFlashlightLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteResetVideoLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteStartGps(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteStartJobLocked(Ljava/lang/String;J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteStartSensor(IJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteStartSyncLocked(Ljava/lang/String;J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteStartWakeLocked(ILjava/lang/String;IJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopGps(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopJobLocked(Ljava/lang/String;JI)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopSensor(IJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopSyncLocked(Ljava/lang/String;J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopWakeLocked(ILjava/lang/String;IJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteUserActivityLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteVibratorOffLocked()V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteVibratorOnLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteVideoTurnedOffLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteVideoTurnedOnLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiBatchedScanStartedLocked(IJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiBatchedScanStoppedLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiMulticastDisabledLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiMulticastEnabledLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiRadioApWakeupLocked()V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiRunningLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiScanStartedLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiScanStoppedLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiStoppedLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->NO_BATCHED_SCAN_STARTED:I
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->nullIfAllZeros(Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;I)[J
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->readFromParcelLocked(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->readJobCompletionsFromParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->readJobSummaryFromParcelLocked(Ljava/lang/String;Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->readSyncSummaryFromParcelLocked(Ljava/lang/String;Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->readWakeSummaryFromParcelLocked(Ljava/lang/String;Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->removeIsolatedUid(I)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->reportExcessiveCpuLocked(Ljava/lang/String;JJ)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->reset(JJ)Z
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->setProcessStateForTest(I)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->updateOnBatteryBgTimeBase(JJ)Z
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->updateOnBatteryScreenOffBgTimeBase(JJ)Z
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->updateUidProcessStateLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->writeJobCompletionsToParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl$Uid;->writeToParcelLocked(Landroid/os/Parcel;JJ)V
-Lcom/android/internal/os/BatteryStatsImpl$UidToRemove;
-Lcom/android/internal/os/BatteryStatsImpl$UidToRemove;-><init>(IIJ)V
-Lcom/android/internal/os/BatteryStatsImpl$UidToRemove;-><init>(IJ)V
-Lcom/android/internal/os/BatteryStatsImpl$UidToRemove;->endUid:I
-Lcom/android/internal/os/BatteryStatsImpl$UidToRemove;->remove()V
-Lcom/android/internal/os/BatteryStatsImpl$UidToRemove;->startUid:I
-Lcom/android/internal/os/BatteryStatsImpl$UidToRemove;->timeAddedInQueue:J
-Lcom/android/internal/os/BatteryStatsImpl$UserInfoProvider;
-Lcom/android/internal/os/BatteryStatsImpl$UserInfoProvider;-><init>()V
-Lcom/android/internal/os/BatteryStatsImpl$UserInfoProvider;->exists(I)Z
-Lcom/android/internal/os/BatteryStatsImpl$UserInfoProvider;->getUserIds()[I
-Lcom/android/internal/os/BatteryStatsImpl$UserInfoProvider;->refreshUserIds()V
-Lcom/android/internal/os/BatteryStatsImpl$UserInfoProvider;->userIds:[I
-Lcom/android/internal/os/BatteryStatsImpl;
-Lcom/android/internal/os/BatteryStatsImpl;-><init>()V
-Lcom/android/internal/os/BatteryStatsImpl;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;)V
-Lcom/android/internal/os/BatteryStatsImpl;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Ljava/io/File;Landroid/os/Handler;Lcom/android/internal/os/BatteryStatsImpl$PlatformIdleStateCallback;Lcom/android/internal/os/BatteryStatsImpl$UserInfoProvider;)V
-Lcom/android/internal/os/BatteryStatsImpl;-><init>(Ljava/io/File;Landroid/os/Handler;Lcom/android/internal/os/BatteryStatsImpl$PlatformIdleStateCallback;Lcom/android/internal/os/BatteryStatsImpl$UserInfoProvider;)V
-Lcom/android/internal/os/BatteryStatsImpl;->addCpuTimes([J[J)[J
-Lcom/android/internal/os/BatteryStatsImpl;->addHistoryBufferLocked(JBLandroid/os/BatteryStats$HistoryItem;)V
-Lcom/android/internal/os/BatteryStatsImpl;->addHistoryBufferLocked(JLandroid/os/BatteryStats$HistoryItem;)V
-Lcom/android/internal/os/BatteryStatsImpl;->addHistoryEventLocked(JJILjava/lang/String;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->addHistoryRecordInnerLocked(JLandroid/os/BatteryStats$HistoryItem;)V
-Lcom/android/internal/os/BatteryStatsImpl;->addHistoryRecordLocked(JJ)V
-Lcom/android/internal/os/BatteryStatsImpl;->addHistoryRecordLocked(JJBLandroid/os/BatteryStats$HistoryItem;)V
-Lcom/android/internal/os/BatteryStatsImpl;->addHistoryRecordLocked(Landroid/os/BatteryStats$HistoryItem;)V
-Lcom/android/internal/os/BatteryStatsImpl;->addIsolatedUidLocked(II)V
-Lcom/android/internal/os/BatteryStatsImpl;->addModemTxPowerToHistory(Landroid/telephony/ModemActivityInfo;)V
-Lcom/android/internal/os/BatteryStatsImpl;->addPackageChange(Landroid/os/BatteryStats$PackageChange;)V
-Lcom/android/internal/os/BatteryStatsImpl;->aggregateLastWakeupUptimeLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl;->BATTERY_DELTA_LEVEL_FLAG:I
-Lcom/android/internal/os/BatteryStatsImpl;->BATTERY_PLUGGED_NONE:I
-Lcom/android/internal/os/BatteryStatsImpl;->buildBatteryLevelInt(Landroid/os/BatteryStats$HistoryItem;)I
-Lcom/android/internal/os/BatteryStatsImpl;->buildStateInt(Landroid/os/BatteryStats$HistoryItem;)I
-Lcom/android/internal/os/BatteryStatsImpl;->clearHistoryLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->clearPendingRemovedUids()V
-Lcom/android/internal/os/BatteryStatsImpl;->commitCurrentHistoryBatchLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->computeBatteryScreenOffRealtime(JI)J
-Lcom/android/internal/os/BatteryStatsImpl;->computeBatteryScreenOffUptime(JI)J
-Lcom/android/internal/os/BatteryStatsImpl;->computeChargeTimeRemaining(J)J
-Lcom/android/internal/os/BatteryStatsImpl;->computeHistoryStepDetails(Landroid/os/BatteryStats$HistoryStepDetails;Landroid/os/BatteryStats$HistoryStepDetails;)V
-Lcom/android/internal/os/BatteryStatsImpl;->computeRealtime(JI)J
-Lcom/android/internal/os/BatteryStatsImpl;->computeTimePerLevel([JI)J
-Lcom/android/internal/os/BatteryStatsImpl;->computeUptime(JI)J
-Lcom/android/internal/os/BatteryStatsImpl;->copyFromAllUidsCpuTimes()V
-Lcom/android/internal/os/BatteryStatsImpl;->copyFromAllUidsCpuTimes(ZZ)V
-Lcom/android/internal/os/BatteryStatsImpl;->DEBUG:Z
-Lcom/android/internal/os/BatteryStatsImpl;->DEBUG_ENERGY:Z
-Lcom/android/internal/os/BatteryStatsImpl;->DEBUG_ENERGY_CPU:Z
-Lcom/android/internal/os/BatteryStatsImpl;->DEBUG_HISTORY:Z
-Lcom/android/internal/os/BatteryStatsImpl;->DEBUG_MEMORY:Z
-Lcom/android/internal/os/BatteryStatsImpl;->DELAY_UPDATE_WAKELOCKS:J
-Lcom/android/internal/os/BatteryStatsImpl;->DELTA_BATTERY_CHARGE_FLAG:I
-Lcom/android/internal/os/BatteryStatsImpl;->DELTA_BATTERY_LEVEL_FLAG:I
-Lcom/android/internal/os/BatteryStatsImpl;->DELTA_EVENT_FLAG:I
-Lcom/android/internal/os/BatteryStatsImpl;->DELTA_STATE2_FLAG:I
-Lcom/android/internal/os/BatteryStatsImpl;->DELTA_STATE_FLAG:I
-Lcom/android/internal/os/BatteryStatsImpl;->DELTA_STATE_MASK:I
-Lcom/android/internal/os/BatteryStatsImpl;->DELTA_TIME_ABS:I
-Lcom/android/internal/os/BatteryStatsImpl;->DELTA_TIME_INT:I
-Lcom/android/internal/os/BatteryStatsImpl;->DELTA_TIME_LONG:I
-Lcom/android/internal/os/BatteryStatsImpl;->DELTA_TIME_MASK:I
-Lcom/android/internal/os/BatteryStatsImpl;->DELTA_WAKELOCK_FLAG:I
-Lcom/android/internal/os/BatteryStatsImpl;->detachLongCounterIfNotNull(Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;)V
-Lcom/android/internal/os/BatteryStatsImpl;->detachTimerIfNotNull(Lcom/android/internal/os/BatteryStatsImpl$Timer;)V
-Lcom/android/internal/os/BatteryStatsImpl;->dumpConstantsLocked(Ljava/io/PrintWriter;)V
-Lcom/android/internal/os/BatteryStatsImpl;->dumpCpuStatsLocked(Ljava/io/PrintWriter;)V
-Lcom/android/internal/os/BatteryStatsImpl;->dumpLocked(Landroid/content/Context;Ljava/io/PrintWriter;IIJ)V
-Lcom/android/internal/os/BatteryStatsImpl;->ensureStartClockTime(J)Z
-Lcom/android/internal/os/BatteryStatsImpl;->excludeFromStringArray([Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl;->finishAddingCpuLocked(IIIIIIII)V
-Lcom/android/internal/os/BatteryStatsImpl;->finishIteratingHistoryLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->finishIteratingOldHistoryLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->fixPhoneServiceState(II)I
-Lcom/android/internal/os/BatteryStatsImpl;->getAttributionUid(ILandroid/os/WorkSource$WorkChain;)I
-Lcom/android/internal/os/BatteryStatsImpl;->getAvailableUidStatsLocked(I)Lcom/android/internal/os/BatteryStatsImpl$Uid;
-Lcom/android/internal/os/BatteryStatsImpl;->getBatteryUptime(J)J
-Lcom/android/internal/os/BatteryStatsImpl;->getBatteryUptimeLocked()J
-Lcom/android/internal/os/BatteryStatsImpl;->getBluetoothControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-Lcom/android/internal/os/BatteryStatsImpl;->getBluetoothScanTime(JI)J
-Lcom/android/internal/os/BatteryStatsImpl;->getCameraOnTime(JI)J
-Lcom/android/internal/os/BatteryStatsImpl;->getCellularBatteryStats()Landroid/os/connectivity/CellularBatteryStats;
-Lcom/android/internal/os/BatteryStatsImpl;->getChargeLevelStepTracker()Landroid/os/BatteryStats$LevelStepTracker;
-Lcom/android/internal/os/BatteryStatsImpl;->getCpuFreqs()[J
-Lcom/android/internal/os/BatteryStatsImpl;->getCurrentDailyStartTime()J
-Lcom/android/internal/os/BatteryStatsImpl;->getDailyChargeLevelStepTracker()Landroid/os/BatteryStats$LevelStepTracker;
-Lcom/android/internal/os/BatteryStatsImpl;->getDailyDischargeLevelStepTracker()Landroid/os/BatteryStats$LevelStepTracker;
-Lcom/android/internal/os/BatteryStatsImpl;->getDailyItemLocked(I)Landroid/os/BatteryStats$DailyItem;
-Lcom/android/internal/os/BatteryStatsImpl;->getDailyPackageChanges()Ljava/util/ArrayList;
-Lcom/android/internal/os/BatteryStatsImpl;->getDeltaModemActivityInfo(Landroid/telephony/ModemActivityInfo;)Landroid/telephony/ModemActivityInfo;
-Lcom/android/internal/os/BatteryStatsImpl;->getDeviceIdleModeCount(II)I
-Lcom/android/internal/os/BatteryStatsImpl;->getDeviceIdleModeTime(IJI)J
-Lcom/android/internal/os/BatteryStatsImpl;->getDeviceIdlingCount(II)I
-Lcom/android/internal/os/BatteryStatsImpl;->getDeviceIdlingTime(IJI)J
-Lcom/android/internal/os/BatteryStatsImpl;->getDischargeAmountScreenDoze()I
-Lcom/android/internal/os/BatteryStatsImpl;->getDischargeAmountScreenDozeSinceCharge()I
-Lcom/android/internal/os/BatteryStatsImpl;->getDischargeAmountScreenOffSinceCharge()I
-Lcom/android/internal/os/BatteryStatsImpl;->getDischargeAmountScreenOnSinceCharge()I
-Lcom/android/internal/os/BatteryStatsImpl;->getDischargeCurrentLevelLocked()I
-Lcom/android/internal/os/BatteryStatsImpl;->getDischargeLevelStepTracker()Landroid/os/BatteryStats$LevelStepTracker;
-Lcom/android/internal/os/BatteryStatsImpl;->getDischargeStartLevelLocked()I
-Lcom/android/internal/os/BatteryStatsImpl;->getEndPlatformVersion()Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl;->getEstimatedBatteryCapacity()I
-Lcom/android/internal/os/BatteryStatsImpl;->getExternalStatsCollectionRateLimitMs()J
-Lcom/android/internal/os/BatteryStatsImpl;->getFlashlightOnCount(I)J
-Lcom/android/internal/os/BatteryStatsImpl;->getFlashlightOnTime(JI)J
-Lcom/android/internal/os/BatteryStatsImpl;->getGpsBatteryDrainMaMs()J
-Lcom/android/internal/os/BatteryStatsImpl;->getGpsBatteryStats()Landroid/os/connectivity/GpsBatteryStats;
-Lcom/android/internal/os/BatteryStatsImpl;->getGpsSignalQualityTime(IJI)J
-Lcom/android/internal/os/BatteryStatsImpl;->getHighDischargeAmountSinceCharge()I
-Lcom/android/internal/os/BatteryStatsImpl;->getHistoryBaseTime()J
-Lcom/android/internal/os/BatteryStatsImpl;->getHistoryStringPoolBytes()I
-Lcom/android/internal/os/BatteryStatsImpl;->getHistoryStringPoolSize()I
-Lcom/android/internal/os/BatteryStatsImpl;->getHistoryTagPoolString(I)Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl;->getHistoryTagPoolUid(I)I
-Lcom/android/internal/os/BatteryStatsImpl;->getHistoryTotalSize()I
-Lcom/android/internal/os/BatteryStatsImpl;->getHistoryUsedSize()I
-Lcom/android/internal/os/BatteryStatsImpl;->getInteractiveTime(JI)J
-Lcom/android/internal/os/BatteryStatsImpl;->getIsOnBattery()Z
-Lcom/android/internal/os/BatteryStatsImpl;->getKernelMemoryStats()Landroid/util/LongSparseArray;
-Lcom/android/internal/os/BatteryStatsImpl;->getKernelMemoryTimerLocked(J)Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->getKernelWakelockTimerLocked(Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->getLongestDeviceIdleModeTime(I)J
-Lcom/android/internal/os/BatteryStatsImpl;->getLowDischargeAmountSinceCharge()I
-Lcom/android/internal/os/BatteryStatsImpl;->getMaxLearnedBatteryCapacity()I
-Lcom/android/internal/os/BatteryStatsImpl;->getMinLearnedBatteryCapacity()I
-Lcom/android/internal/os/BatteryStatsImpl;->getMobileIfaces()[Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveAdjustedTime(I)J
-Lcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveCount(I)I
-Lcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveUnknownCount(I)I
-Lcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveUnknownTime(I)J
-Lcom/android/internal/os/BatteryStatsImpl;->getModemControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-Lcom/android/internal/os/BatteryStatsImpl;->getNetworkActivityPackets(II)J
-Lcom/android/internal/os/BatteryStatsImpl;->getNextMaxDailyDeadline()J
-Lcom/android/internal/os/BatteryStatsImpl;->getNextMinDailyDeadline()J
-Lcom/android/internal/os/BatteryStatsImpl;->getNextOldHistoryLocked(Landroid/os/BatteryStats$HistoryItem;)Z
-Lcom/android/internal/os/BatteryStatsImpl;->getNumConnectivityChange(I)I
-Lcom/android/internal/os/BatteryStatsImpl;->getParcelVersion()I
-Lcom/android/internal/os/BatteryStatsImpl;->getPhoneDataConnectionTimer(I)Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl;->getPhoneOnCount(I)I
-Lcom/android/internal/os/BatteryStatsImpl;->getPhoneSignalScanningTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl;->getPhoneSignalStrengthTimer(I)Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl;->getPowerManagerWakeLockLevel(I)I
-Lcom/android/internal/os/BatteryStatsImpl;->getPowerSaveModeEnabledCount(I)I
-Lcom/android/internal/os/BatteryStatsImpl;->getPowerSaveModeEnabledTime(JI)J
-Lcom/android/internal/os/BatteryStatsImpl;->getProcessWakeTime(IIJ)J
-Lcom/android/internal/os/BatteryStatsImpl;->getRpmStats()Ljava/util/Map;
-Lcom/android/internal/os/BatteryStatsImpl;->getRpmTimerLocked(Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->getScreenBrightnessTimer(I)Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl;->getScreenDozeCount(I)I
-Lcom/android/internal/os/BatteryStatsImpl;->getScreenDozeTime(JI)J
-Lcom/android/internal/os/BatteryStatsImpl;->getScreenOffRpmStats()Ljava/util/Map;
-Lcom/android/internal/os/BatteryStatsImpl;->getScreenOffRpmTimerLocked(Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->getScreenOnCount(I)I
-Lcom/android/internal/os/BatteryStatsImpl;->getStartClockTime()J
-Lcom/android/internal/os/BatteryStatsImpl;->getStartCount()I
-Lcom/android/internal/os/BatteryStatsImpl;->getStartPlatformVersion()Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl;->getUahDischarge(I)J
-Lcom/android/internal/os/BatteryStatsImpl;->getUahDischargeDeepDoze(I)J
-Lcom/android/internal/os/BatteryStatsImpl;->getUahDischargeLightDoze(I)J
-Lcom/android/internal/os/BatteryStatsImpl;->getUahDischargeScreenDoze(I)J
-Lcom/android/internal/os/BatteryStatsImpl;->getUahDischargeScreenOff(I)J
-Lcom/android/internal/os/BatteryStatsImpl;->getWakeupReasonStats()Ljava/util/Map;
-Lcom/android/internal/os/BatteryStatsImpl;->getWakeupReasonTimerLocked(Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->getWifiActiveTime(JI)J
-Lcom/android/internal/os/BatteryStatsImpl;->getWifiBatteryStats()Landroid/os/connectivity/WifiBatteryStats;
-Lcom/android/internal/os/BatteryStatsImpl;->getWifiControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-Lcom/android/internal/os/BatteryStatsImpl;->getWifiIfaces()[Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl;->getWifiMulticastWakelockCount(I)I
-Lcom/android/internal/os/BatteryStatsImpl;->getWifiMulticastWakelockTime(JI)J
-Lcom/android/internal/os/BatteryStatsImpl;->getWifiSignalStrengthCount(II)I
-Lcom/android/internal/os/BatteryStatsImpl;->getWifiSignalStrengthTime(IJI)J
-Lcom/android/internal/os/BatteryStatsImpl;->getWifiSignalStrengthTimer(I)Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl;->getWifiStateCount(II)I
-Lcom/android/internal/os/BatteryStatsImpl;->getWifiStateTime(IJI)J
-Lcom/android/internal/os/BatteryStatsImpl;->getWifiStateTimer(I)Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl;->getWifiSupplStateCount(II)I
-Lcom/android/internal/os/BatteryStatsImpl;->getWifiSupplStateTime(IJI)J
-Lcom/android/internal/os/BatteryStatsImpl;->getWifiSupplStateTimer(I)Lcom/android/internal/os/BatteryStatsImpl$Timer;
-Lcom/android/internal/os/BatteryStatsImpl;->hasBluetoothActivityReporting()Z
-Lcom/android/internal/os/BatteryStatsImpl;->hasModemActivityReporting()Z
-Lcom/android/internal/os/BatteryStatsImpl;->hasWifiActivityReporting()Z
-Lcom/android/internal/os/BatteryStatsImpl;->includeInStringArray([Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl;->init(Lcom/android/internal/os/BatteryStatsImpl$Clocks;)V
-Lcom/android/internal/os/BatteryStatsImpl;->initActiveHistoryEventsLocked(JJ)V
-Lcom/android/internal/os/BatteryStatsImpl;->initDischarge()V
-Lcom/android/internal/os/BatteryStatsImpl;->initKernelSingleUidTimeReaderLocked()Z
-Lcom/android/internal/os/BatteryStatsImpl;->initTimes(JJ)V
-Lcom/android/internal/os/BatteryStatsImpl;->isCharging()Z
-Lcom/android/internal/os/BatteryStatsImpl;->isOnBattery(II)Z
-Lcom/android/internal/os/BatteryStatsImpl;->isOnBatteryLocked()Z
-Lcom/android/internal/os/BatteryStatsImpl;->isOnBatteryScreenOffLocked()Z
-Lcom/android/internal/os/BatteryStatsImpl;->isScreenDoze(I)Z
-Lcom/android/internal/os/BatteryStatsImpl;->isScreenOff(I)Z
-Lcom/android/internal/os/BatteryStatsImpl;->isScreenOn(I)Z
-Lcom/android/internal/os/BatteryStatsImpl;->mActiveEvents:Landroid/os/BatteryStats$HistoryEventTracker;
-Lcom/android/internal/os/BatteryStatsImpl;->mActiveHistoryStates2:I
-Lcom/android/internal/os/BatteryStatsImpl;->mActiveHistoryStates:I
-Lcom/android/internal/os/BatteryStatsImpl;->MAGIC:I
-Lcom/android/internal/os/BatteryStatsImpl;->mapUid(I)I
-Lcom/android/internal/os/BatteryStatsImpl;->markPartialTimersAsEligible()V
-Lcom/android/internal/os/BatteryStatsImpl;->mAudioOnNesting:I
-Lcom/android/internal/os/BatteryStatsImpl;->mAudioOnTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mAudioTurnedOnTimers:Ljava/util/ArrayList;
-Lcom/android/internal/os/BatteryStatsImpl;->MAX_DAILY_ITEMS:I
-Lcom/android/internal/os/BatteryStatsImpl;->MAX_HISTORY_BUFFER:I
-Lcom/android/internal/os/BatteryStatsImpl;->MAX_HISTORY_ITEMS:I
-Lcom/android/internal/os/BatteryStatsImpl;->MAX_LEVEL_STEPS:I
-Lcom/android/internal/os/BatteryStatsImpl;->MAX_MAX_HISTORY_BUFFER:I
-Lcom/android/internal/os/BatteryStatsImpl;->MAX_MAX_HISTORY_ITEMS:I
-Lcom/android/internal/os/BatteryStatsImpl;->MAX_WAKELOCKS_PER_UID:I
-Lcom/android/internal/os/BatteryStatsImpl;->mBluetoothActivity:Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;
-Lcom/android/internal/os/BatteryStatsImpl;->mBluetoothScanNesting:I
-Lcom/android/internal/os/BatteryStatsImpl;->mBluetoothScanOnTimers:Ljava/util/ArrayList;
-Lcom/android/internal/os/BatteryStatsImpl;->mBluetoothScanTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mCallback:Lcom/android/internal/os/BatteryStatsImpl$BatteryCallback;
-Lcom/android/internal/os/BatteryStatsImpl;->mCameraOnNesting:I
-Lcom/android/internal/os/BatteryStatsImpl;->mCameraOnTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mCameraTurnedOnTimers:Ljava/util/ArrayList;
-Lcom/android/internal/os/BatteryStatsImpl;->mChangedStates2:I
-Lcom/android/internal/os/BatteryStatsImpl;->mChangedStates:I
-Lcom/android/internal/os/BatteryStatsImpl;->mChargeStepTracker:Landroid/os/BatteryStats$LevelStepTracker;
-Lcom/android/internal/os/BatteryStatsImpl;->mCharging:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mCheckinFile:Lcom/android/internal/os/AtomicFile;
-Lcom/android/internal/os/BatteryStatsImpl;->mClocks:Lcom/android/internal/os/BatteryStatsImpl$Clocks;
-Lcom/android/internal/os/BatteryStatsImpl;->mConstants:Lcom/android/internal/os/BatteryStatsImpl$Constants;
-Lcom/android/internal/os/BatteryStatsImpl;->mCpuFreqs:[J
-Lcom/android/internal/os/BatteryStatsImpl;->mCpuTimeReadsTrackingStartTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mCurHistoryStepDetails:Landroid/os/BatteryStats$HistoryStepDetails;
-Lcom/android/internal/os/BatteryStatsImpl;->mCurrentBatteryLevel:I
-Lcom/android/internal/os/BatteryStatsImpl;->mCurStepCpuSystemTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mCurStepCpuUserTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mCurStepMode:I
-Lcom/android/internal/os/BatteryStatsImpl;->mCurStepStatIdleTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mCurStepStatIOWaitTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mCurStepStatIrqTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mCurStepStatSoftIrqTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mCurStepStatSystemTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mCurStepStatUserTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mDailyChargeStepTracker:Landroid/os/BatteryStats$LevelStepTracker;
-Lcom/android/internal/os/BatteryStatsImpl;->mDailyDischargeStepTracker:Landroid/os/BatteryStats$LevelStepTracker;
-Lcom/android/internal/os/BatteryStatsImpl;->mDailyFile:Lcom/android/internal/os/AtomicFile;
-Lcom/android/internal/os/BatteryStatsImpl;->mDailyItems:Ljava/util/ArrayList;
-Lcom/android/internal/os/BatteryStatsImpl;->mDailyPackageChanges:Ljava/util/ArrayList;
-Lcom/android/internal/os/BatteryStatsImpl;->mDailyStartTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mDeviceIdleMode:I
-Lcom/android/internal/os/BatteryStatsImpl;->mDeviceIdleModeFullTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mDeviceIdleModeLightTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mDeviceIdling:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mDeviceIdlingTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mDeviceLightIdling:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mDeviceLightIdlingTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mDischargeAmountScreenDoze:I
-Lcom/android/internal/os/BatteryStatsImpl;->mDischargeAmountScreenDozeSinceCharge:I
-Lcom/android/internal/os/BatteryStatsImpl;->mDischargeAmountScreenOff:I
-Lcom/android/internal/os/BatteryStatsImpl;->mDischargeAmountScreenOffSinceCharge:I
-Lcom/android/internal/os/BatteryStatsImpl;->mDischargeAmountScreenOn:I
-Lcom/android/internal/os/BatteryStatsImpl;->mDischargeAmountScreenOnSinceCharge:I
-Lcom/android/internal/os/BatteryStatsImpl;->mDischargeCounter:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl;->mDischargeCurrentLevel:I
-Lcom/android/internal/os/BatteryStatsImpl;->mDischargeDeepDozeCounter:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl;->mDischargeLightDozeCounter:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl;->mDischargePlugLevel:I
-Lcom/android/internal/os/BatteryStatsImpl;->mDischargeScreenDozeCounter:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl;->mDischargeScreenDozeUnplugLevel:I
-Lcom/android/internal/os/BatteryStatsImpl;->mDischargeScreenOffCounter:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl;->mDischargeScreenOffUnplugLevel:I
-Lcom/android/internal/os/BatteryStatsImpl;->mDischargeScreenOnUnplugLevel:I
-Lcom/android/internal/os/BatteryStatsImpl;->mDischargeStartLevel:I
-Lcom/android/internal/os/BatteryStatsImpl;->mDischargeStepTracker:Landroid/os/BatteryStats$LevelStepTracker;
-Lcom/android/internal/os/BatteryStatsImpl;->mDischargeUnplugLevel:I
-Lcom/android/internal/os/BatteryStatsImpl;->mDistributeWakelockCpu:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mDrawTimers:Ljava/util/ArrayList;
-Lcom/android/internal/os/BatteryStatsImpl;->mEndPlatformVersion:Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl;->mEstimatedBatteryCapacity:I
-Lcom/android/internal/os/BatteryStatsImpl;->mExternalSync:Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;
-Lcom/android/internal/os/BatteryStatsImpl;->mFile:Lcom/android/internal/util/JournaledFile;
-Lcom/android/internal/os/BatteryStatsImpl;->mFlashlightOnNesting:I
-Lcom/android/internal/os/BatteryStatsImpl;->mFlashlightOnTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mFlashlightTurnedOnTimers:Ljava/util/ArrayList;
-Lcom/android/internal/os/BatteryStatsImpl;->mFullWifiLockTimers:Ljava/util/ArrayList;
-Lcom/android/internal/os/BatteryStatsImpl;->mGlobalWifiRunning:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mGlobalWifiRunningTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mGpsNesting:I
-Lcom/android/internal/os/BatteryStatsImpl;->mGpsSignalQualityBin:I
-Lcom/android/internal/os/BatteryStatsImpl;->mGpsSignalQualityTimer:[Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mHandler:Landroid/os/Handler;
-Lcom/android/internal/os/BatteryStatsImpl;->mHasBluetoothReporting:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mHasModemReporting:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mHasWifiReporting:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mHaveBatteryLevel:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mHighDischargeAmountSinceCharge:I
-Lcom/android/internal/os/BatteryStatsImpl;->mHistory:Landroid/os/BatteryStats$HistoryItem;
-Lcom/android/internal/os/BatteryStatsImpl;->mHistoryAddTmp:Landroid/os/BatteryStats$HistoryItem;
-Lcom/android/internal/os/BatteryStatsImpl;->mHistoryBaseTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mHistoryBuffer:Landroid/os/Parcel;
-Lcom/android/internal/os/BatteryStatsImpl;->mHistoryBufferLastPos:I
-Lcom/android/internal/os/BatteryStatsImpl;->mHistoryCache:Landroid/os/BatteryStats$HistoryItem;
-Lcom/android/internal/os/BatteryStatsImpl;->mHistoryCur:Landroid/os/BatteryStats$HistoryItem;
-Lcom/android/internal/os/BatteryStatsImpl;->mHistoryEnd:Landroid/os/BatteryStats$HistoryItem;
-Lcom/android/internal/os/BatteryStatsImpl;->mHistoryIterator:Landroid/os/BatteryStats$HistoryItem;
-Lcom/android/internal/os/BatteryStatsImpl;->mHistoryLastEnd:Landroid/os/BatteryStats$HistoryItem;
-Lcom/android/internal/os/BatteryStatsImpl;->mHistoryLastLastWritten:Landroid/os/BatteryStats$HistoryItem;
-Lcom/android/internal/os/BatteryStatsImpl;->mHistoryLastWritten:Landroid/os/BatteryStats$HistoryItem;
-Lcom/android/internal/os/BatteryStatsImpl;->mHistoryOverflow:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mHistoryReadTmp:Landroid/os/BatteryStats$HistoryItem;
-Lcom/android/internal/os/BatteryStatsImpl;->mHistoryTagPool:Ljava/util/HashMap;
-Lcom/android/internal/os/BatteryStatsImpl;->mInitialAcquireWakeName:Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl;->mInitialAcquireWakeUid:I
-Lcom/android/internal/os/BatteryStatsImpl;->mInitStepMode:I
-Lcom/android/internal/os/BatteryStatsImpl;->mInteractive:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mInteractiveTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mIsCellularTxPowerHigh:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mIsolatedUids:Landroid/util/SparseIntArray;
-Lcom/android/internal/os/BatteryStatsImpl;->mIteratingHistory:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mKernelCpuSpeedReaders:[Lcom/android/internal/os/KernelCpuSpeedReader;
-Lcom/android/internal/os/BatteryStatsImpl;->mKernelMemoryBandwidthStats:Lcom/android/internal/os/KernelMemoryBandwidthStats;
-Lcom/android/internal/os/BatteryStatsImpl;->mKernelMemoryStats:Landroid/util/LongSparseArray;
-Lcom/android/internal/os/BatteryStatsImpl;->mKernelSingleUidTimeReader:Lcom/android/internal/os/KernelSingleUidTimeReader;
-Lcom/android/internal/os/BatteryStatsImpl;->mKernelUidCpuActiveTimeReader:Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
-Lcom/android/internal/os/BatteryStatsImpl;->mKernelUidCpuClusterTimeReader:Lcom/android/internal/os/KernelUidCpuClusterTimeReader;
-Lcom/android/internal/os/BatteryStatsImpl;->mKernelUidCpuFreqTimeReader:Lcom/android/internal/os/KernelUidCpuFreqTimeReader;
-Lcom/android/internal/os/BatteryStatsImpl;->mKernelUidCpuTimeReader:Lcom/android/internal/os/KernelUidCpuTimeReader;
-Lcom/android/internal/os/BatteryStatsImpl;->mKernelWakelockReader:Lcom/android/internal/os/KernelWakelockReader;
-Lcom/android/internal/os/BatteryStatsImpl;->mKernelWakelockStats:Ljava/util/HashMap;
-Lcom/android/internal/os/BatteryStatsImpl;->mLastBluetoothActivityInfo:Lcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;
-Lcom/android/internal/os/BatteryStatsImpl;->mLastChargeStepLevel:I
-Lcom/android/internal/os/BatteryStatsImpl;->mLastChargingStateLevel:I
-Lcom/android/internal/os/BatteryStatsImpl;->mLastDischargeStepLevel:I
-Lcom/android/internal/os/BatteryStatsImpl;->mLastHistoryElapsedRealtime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mLastHistoryStepDetails:Landroid/os/BatteryStats$HistoryStepDetails;
-Lcom/android/internal/os/BatteryStatsImpl;->mLastHistoryStepLevel:B
-Lcom/android/internal/os/BatteryStatsImpl;->mLastIdleTimeStart:J
-Lcom/android/internal/os/BatteryStatsImpl;->mLastModemActivityInfo:Landroid/telephony/ModemActivityInfo;
-Lcom/android/internal/os/BatteryStatsImpl;->mLastModemNetworkStats:Landroid/net/NetworkStats;
-Lcom/android/internal/os/BatteryStatsImpl;->mLastPartialTimers:Ljava/util/ArrayList;
-Lcom/android/internal/os/BatteryStatsImpl;->mLastRpmStatsUpdateTimeMs:J
-Lcom/android/internal/os/BatteryStatsImpl;->mLastStepCpuSystemTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mLastStepCpuUserTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mLastStepStatIdleTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mLastStepStatIOWaitTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mLastStepStatIrqTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mLastStepStatSoftIrqTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mLastStepStatSystemTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mLastStepStatUserTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mLastWakeupReason:Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl;->mLastWakeupUptimeMs:J
-Lcom/android/internal/os/BatteryStatsImpl;->mLastWifiNetworkStats:Landroid/net/NetworkStats;
-Lcom/android/internal/os/BatteryStatsImpl;->mLastWriteTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mLoadedNumConnectivityChange:I
-Lcom/android/internal/os/BatteryStatsImpl;->mLongestFullIdleTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mLongestLightIdleTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mLowDischargeAmountSinceCharge:I
-Lcom/android/internal/os/BatteryStatsImpl;->mMaxChargeStepLevel:I
-Lcom/android/internal/os/BatteryStatsImpl;->mMaxLearnedBatteryCapacity:I
-Lcom/android/internal/os/BatteryStatsImpl;->mMinDischargeStepLevel:I
-Lcom/android/internal/os/BatteryStatsImpl;->mMinLearnedBatteryCapacity:I
-Lcom/android/internal/os/BatteryStatsImpl;->mMobileRadioActiveAdjustedTime:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl;->mMobileRadioActivePerAppTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mMobileRadioActiveStartTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mMobileRadioActiveTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mMobileRadioActiveUnknownCount:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl;->mMobileRadioActiveUnknownTime:Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl;->mMobileRadioPowerState:I
-Lcom/android/internal/os/BatteryStatsImpl;->mModemActivity:Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;
-Lcom/android/internal/os/BatteryStatsImpl;->mModemIfaces:[Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl;->mModemNetworkLock:Ljava/lang/Object;
-Lcom/android/internal/os/BatteryStatsImpl;->mModStepMode:I
-Lcom/android/internal/os/BatteryStatsImpl;->mNetworkByteActivityCounters:[Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl;->mNetworkPacketActivityCounters:[Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-Lcom/android/internal/os/BatteryStatsImpl;->mNetworkStatsFactory:Lcom/android/internal/net/NetworkStatsFactory;
-Lcom/android/internal/os/BatteryStatsImpl;->mNetworkStatsPool:Landroid/util/Pools$Pool;
-Lcom/android/internal/os/BatteryStatsImpl;->mNextHistoryTagIdx:I
-Lcom/android/internal/os/BatteryStatsImpl;->mNextMaxDailyDeadline:J
-Lcom/android/internal/os/BatteryStatsImpl;->mNextMinDailyDeadline:J
-Lcom/android/internal/os/BatteryStatsImpl;->mNoAutoReset:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mNumAllUidCpuTimeReads:I
-Lcom/android/internal/os/BatteryStatsImpl;->mNumBatchedSingleUidCpuTimeReads:J
-Lcom/android/internal/os/BatteryStatsImpl;->mNumConnectivityChange:I
-Lcom/android/internal/os/BatteryStatsImpl;->mNumHistoryItems:I
-Lcom/android/internal/os/BatteryStatsImpl;->mNumHistoryTagChars:I
-Lcom/android/internal/os/BatteryStatsImpl;->mNumSingleUidCpuTimeReads:J
-Lcom/android/internal/os/BatteryStatsImpl;->mNumUidsRemoved:I
-Lcom/android/internal/os/BatteryStatsImpl;->mOnBattery:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mOnBatteryInternal:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mOnBatteryScreenOffTimeBase:Lcom/android/internal/os/BatteryStatsImpl$TimeBase;
-Lcom/android/internal/os/BatteryStatsImpl;->mOnBatteryTimeBase:Lcom/android/internal/os/BatteryStatsImpl$TimeBase;
-Lcom/android/internal/os/BatteryStatsImpl;->mPendingRemovedUids:Ljava/util/Queue;
-Lcom/android/internal/os/BatteryStatsImpl;->mPendingUids:Landroid/util/SparseIntArray;
-Lcom/android/internal/os/BatteryStatsImpl;->mPendingWrite:Landroid/os/Parcel;
-Lcom/android/internal/os/BatteryStatsImpl;->mPerProcStateCpuTimesAvailable:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mPhoneDataConnectionsTimer:[Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mPhoneDataConnectionType:I
-Lcom/android/internal/os/BatteryStatsImpl;->mPhoneOn:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mPhoneOnTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mPhoneServiceState:I
-Lcom/android/internal/os/BatteryStatsImpl;->mPhoneServiceStateRaw:I
-Lcom/android/internal/os/BatteryStatsImpl;->mPhoneSignalScanningTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mPhoneSignalStrengthBin:I
-Lcom/android/internal/os/BatteryStatsImpl;->mPhoneSignalStrengthBinRaw:I
-Lcom/android/internal/os/BatteryStatsImpl;->mPhoneSignalStrengthsTimer:[Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mPhoneSimStateRaw:I
-Lcom/android/internal/os/BatteryStatsImpl;->mPlatformIdleStateCallback:Lcom/android/internal/os/BatteryStatsImpl$PlatformIdleStateCallback;
-Lcom/android/internal/os/BatteryStatsImpl;->mPowerProfile:Lcom/android/internal/os/PowerProfile;
-Lcom/android/internal/os/BatteryStatsImpl;->mPowerSaveModeEnabled:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mPowerSaveModeEnabledTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mPretendScreenOff:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mReadHistoryChars:I
-Lcom/android/internal/os/BatteryStatsImpl;->mReadHistoryStepDetails:Landroid/os/BatteryStats$HistoryStepDetails;
-Lcom/android/internal/os/BatteryStatsImpl;->mReadHistoryStrings:[Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl;->mReadHistoryUids:[I
-Lcom/android/internal/os/BatteryStatsImpl;->mReadOverflow:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mRealtime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mRealtimeStart:J
-Lcom/android/internal/os/BatteryStatsImpl;->mRecordAllHistory:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mRecordingHistory:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mRpmStats:Ljava/util/HashMap;
-Lcom/android/internal/os/BatteryStatsImpl;->mScreenBrightnessBin:I
-Lcom/android/internal/os/BatteryStatsImpl;->mScreenBrightnessTimer:[Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mScreenDozeTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mScreenOffRpmStats:Ljava/util/HashMap;
-Lcom/android/internal/os/BatteryStatsImpl;->mScreenOnTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mScreenState:I
-Lcom/android/internal/os/BatteryStatsImpl;->mSensorNesting:I
-Lcom/android/internal/os/BatteryStatsImpl;->mSensorTimers:Landroid/util/SparseArray;
-Lcom/android/internal/os/BatteryStatsImpl;->MSG_REPORT_CHARGING:I
-Lcom/android/internal/os/BatteryStatsImpl;->MSG_REPORT_CPU_UPDATE_NEEDED:I
-Lcom/android/internal/os/BatteryStatsImpl;->MSG_REPORT_POWER_CHANGE:I
-Lcom/android/internal/os/BatteryStatsImpl;->MSG_REPORT_RESET_STATS:I
-Lcom/android/internal/os/BatteryStatsImpl;->mShuttingDown:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mStartClockTime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mStartCount:I
-Lcom/android/internal/os/BatteryStatsImpl;->mStartPlatformVersion:Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl;->mTempTotalCpuSystemTimeUs:J
-Lcom/android/internal/os/BatteryStatsImpl;->mTempTotalCpuUserTimeUs:J
-Lcom/android/internal/os/BatteryStatsImpl;->mTmpHistoryStepDetails:Landroid/os/BatteryStats$HistoryStepDetails;
-Lcom/android/internal/os/BatteryStatsImpl;->mTmpRpmStats:Lcom/android/internal/os/RpmStats;
-Lcom/android/internal/os/BatteryStatsImpl;->mTmpWakelockStats:Lcom/android/internal/os/KernelWakelockStats;
-Lcom/android/internal/os/BatteryStatsImpl;->mTrackRunningHistoryElapsedRealtime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mTrackRunningHistoryUptime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mUidStats:Landroid/util/SparseArray;
-Lcom/android/internal/os/BatteryStatsImpl;->mUnpluggedNumConnectivityChange:I
-Lcom/android/internal/os/BatteryStatsImpl;->mUptime:J
-Lcom/android/internal/os/BatteryStatsImpl;->mUptimeStart:J
-Lcom/android/internal/os/BatteryStatsImpl;->mUsbDataState:I
-Lcom/android/internal/os/BatteryStatsImpl;->mUserInfoProvider:Lcom/android/internal/os/BatteryStatsImpl$UserInfoProvider;
-Lcom/android/internal/os/BatteryStatsImpl;->mVideoOnNesting:I
-Lcom/android/internal/os/BatteryStatsImpl;->mVideoOnTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mVideoTurnedOnTimers:Ljava/util/ArrayList;
-Lcom/android/internal/os/BatteryStatsImpl;->mWakeLockAllocationsUs:[[J
-Lcom/android/internal/os/BatteryStatsImpl;->mWakeLockImportant:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mWakeLockNesting:I
-Lcom/android/internal/os/BatteryStatsImpl;->mWakeupReasonStats:Ljava/util/HashMap;
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiActiveTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiActivity:Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiBatchedScanTimers:Landroid/util/SparseArray;
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiFullLockNesting:I
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiIfaces:[Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiMulticastNesting:I
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiMulticastTimers:Ljava/util/ArrayList;
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiMulticastWakelockTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiNetworkLock:Ljava/lang/Object;
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiOn:Z
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiOnTimer:Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiRadioPowerState:I
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiRunningTimers:Ljava/util/ArrayList;
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiScanNesting:I
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiScanTimers:Ljava/util/ArrayList;
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiSignalStrengthBin:I
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiSignalStrengthsTimer:[Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiState:I
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiStateTimer:[Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiSupplState:I
-Lcom/android/internal/os/BatteryStatsImpl;->mWifiSupplStateTimer:[Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl;->mWriteLock:Ljava/util/concurrent/locks/ReentrantLock;
-Lcom/android/internal/os/BatteryStatsImpl;->noteActivityPausedLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteActivityResumedLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteAlarmFinishLocked(Ljava/lang/String;Landroid/os/WorkSource;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteAlarmStartLocked(Ljava/lang/String;Landroid/os/WorkSource;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteAlarmStartOrFinishLocked(ILjava/lang/String;Landroid/os/WorkSource;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteBluetoothScanResultsFromSourceLocked(Landroid/os/WorkSource;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteBluetoothScanStartedFromSourceLocked(Landroid/os/WorkSource;Z)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteBluetoothScanStartedLocked(Landroid/os/WorkSource$WorkChain;IZ)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteBluetoothScanStoppedFromSourceLocked(Landroid/os/WorkSource;Z)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteBluetoothScanStoppedLocked(Landroid/os/WorkSource$WorkChain;IZ)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteCameraOffLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteCameraOnLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteChangeWakelockFromSourceLocked(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;ILandroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteConnectivityChangedLocked(ILjava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteCurrentTimeChangedLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->noteDeviceIdleModeLocked(ILjava/lang/String;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteEventLocked(ILjava/lang/String;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteFlashlightOffLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteFlashlightOnLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteFullWifiLockAcquiredFromSourceLocked(Landroid/os/WorkSource;)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteFullWifiLockReleasedFromSourceLocked(Landroid/os/WorkSource;)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteGpsChangedLocked(Landroid/os/WorkSource;Landroid/os/WorkSource;)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteGpsSignalQualityLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteInteractiveLocked(Z)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteJobFinishLocked(Ljava/lang/String;II)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteJobsDeferredLocked(IIJ)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteJobStartLocked(Ljava/lang/String;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteLongPartialWakelockFinish(Ljava/lang/String;Ljava/lang/String;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteLongPartialWakelockFinishFromSource(Ljava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteLongPartialWakeLockFinishInternal(Ljava/lang/String;Ljava/lang/String;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteLongPartialWakelockStart(Ljava/lang/String;Ljava/lang/String;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteLongPartialWakelockStartFromSource(Ljava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteLongPartialWakeLockStartInternal(Ljava/lang/String;Ljava/lang/String;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteMobileRadioApWakeupLocked(JJI)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteMobileRadioPowerStateLocked(IJI)Z
-Lcom/android/internal/os/BatteryStatsImpl;->noteNetworkInterfaceTypeLocked(Ljava/lang/String;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->notePackageInstalledLocked(Ljava/lang/String;J)V
-Lcom/android/internal/os/BatteryStatsImpl;->notePackageUninstalledLocked(Ljava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsImpl;->notePhoneStateLocked(II)V
-Lcom/android/internal/os/BatteryStatsImpl;->notePowerSaveModeLocked(Z)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteProcessAnrLocked(Ljava/lang/String;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteProcessCrashLocked(Ljava/lang/String;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteProcessDiedLocked(II)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteProcessFinishLocked(Ljava/lang/String;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteProcessStartLocked(Ljava/lang/String;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteResetAudioLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->noteResetBluetoothScanLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->noteResetCameraLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->noteResetFlashlightLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->noteResetVideoLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->noteScreenStateLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteStartGpsLocked(ILandroid/os/WorkSource$WorkChain;)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteStartSensorLocked(II)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteStartWakeFromSourceLocked(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteStartWakeLocked(IILandroid/os/WorkSource$WorkChain;Ljava/lang/String;Ljava/lang/String;IZJJ)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteStopGpsLocked(ILandroid/os/WorkSource$WorkChain;)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteStopSensorLocked(II)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteStopWakeFromSourceLocked(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteStopWakeLocked(IILandroid/os/WorkSource$WorkChain;Ljava/lang/String;Ljava/lang/String;IJJ)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteSyncFinishLocked(Ljava/lang/String;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteSyncStartLocked(Ljava/lang/String;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteUidProcessStateLocked(II)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteUsbConnectionStateLocked(Z)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteVibratorOffLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteVibratorOnLocked(IJ)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWakeUpLocked(Ljava/lang/String;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWakeupReasonLocked(Ljava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWakupAlarmLocked(Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWifiBatchedScanStartedFromSourceLocked(Landroid/os/WorkSource;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWifiBatchedScanStartedLocked(II)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWifiBatchedScanStoppedFromSourceLocked(Landroid/os/WorkSource;)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWifiBatchedScanStoppedLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWifiOffLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWifiOnLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWifiRadioApWakeupLocked(JJI)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWifiRadioPowerState(IJI)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWifiRssiChangedLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWifiRunningChangedLocked(Landroid/os/WorkSource;Landroid/os/WorkSource;)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWifiRunningLocked(Landroid/os/WorkSource;)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWifiScanStartedFromSourceLocked(Landroid/os/WorkSource;)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWifiScanStartedLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWifiScanStoppedFromSourceLocked(Landroid/os/WorkSource;)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWifiScanStoppedLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWifiStateLocked(ILjava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWifiStoppedLocked(Landroid/os/WorkSource;)V
-Lcom/android/internal/os/BatteryStatsImpl;->noteWifiSupplicantStateChangedLocked(IZ)V
-Lcom/android/internal/os/BatteryStatsImpl;->NUM_BT_TX_LEVELS:I
-Lcom/android/internal/os/BatteryStatsImpl;->NUM_WIFI_TX_LEVELS:I
-Lcom/android/internal/os/BatteryStatsImpl;->onCleanupUserLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->onUserRemovedLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->postBatteryNeedsCpuUpdateMsg()V
-Lcom/android/internal/os/BatteryStatsImpl;->prepareForDumpLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->pullPendingStateUpdatesLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->readBatteryLevelInt(ILandroid/os/BatteryStats$HistoryItem;)V
-Lcom/android/internal/os/BatteryStatsImpl;->readDailyItemsLocked(Lorg/xmlpull/v1/XmlPullParser;)V
-Lcom/android/internal/os/BatteryStatsImpl;->readDailyItemTagDetailsLocked(Lorg/xmlpull/v1/XmlPullParser;Landroid/os/BatteryStats$DailyItem;ZLjava/lang/String;)V
-Lcom/android/internal/os/BatteryStatsImpl;->readDailyItemTagLocked(Lorg/xmlpull/v1/XmlPullParser;)V
-Lcom/android/internal/os/BatteryStatsImpl;->readDailyStatsLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl;->readFromParcelLocked(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl;->readHistory(Landroid/os/Parcel;Z)V
-Lcom/android/internal/os/BatteryStatsImpl;->readHistoryDelta(Landroid/os/Parcel;Landroid/os/BatteryStats$HistoryItem;)V
-Lcom/android/internal/os/BatteryStatsImpl;->readHistoryTag(ILandroid/os/BatteryStats$HistoryTag;)V
-Lcom/android/internal/os/BatteryStatsImpl;->readKernelUidCpuActiveTimesLocked(Z)V
-Lcom/android/internal/os/BatteryStatsImpl;->readKernelUidCpuClusterTimesLocked(Z)V
-Lcom/android/internal/os/BatteryStatsImpl;->readKernelUidCpuFreqTimesLocked(Ljava/util/ArrayList;ZZ)V
-Lcom/android/internal/os/BatteryStatsImpl;->readKernelUidCpuTimesLocked(Ljava/util/ArrayList;Landroid/util/SparseLongArray;Z)V
-Lcom/android/internal/os/BatteryStatsImpl;->readNetworkStatsLocked([Ljava/lang/String;)Landroid/net/NetworkStats;
-Lcom/android/internal/os/BatteryStatsImpl;->readOldHistory(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl;->readSummaryFromParcel(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl;->recordCurrentTimeChangeLocked(JJJ)V
-Lcom/android/internal/os/BatteryStatsImpl;->recordDailyStatsIfNeededLocked(Z)V
-Lcom/android/internal/os/BatteryStatsImpl;->recordDailyStatsLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->recordShutdownLocked(JJ)V
-Lcom/android/internal/os/BatteryStatsImpl;->registerUsbStateReceiver(Landroid/content/Context;)V
-Lcom/android/internal/os/BatteryStatsImpl;->removeIsolatedUidLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->reportChangesToStatsLog(Landroid/os/BatteryStats$HistoryItem;III)V
-Lcom/android/internal/os/BatteryStatsImpl;->reportExcessiveCpuLocked(ILjava/lang/String;JJ)V
-Lcom/android/internal/os/BatteryStatsImpl;->requestImmediateCpuUpdate()V
-Lcom/android/internal/os/BatteryStatsImpl;->requestWakelockCpuUpdate()V
-Lcom/android/internal/os/BatteryStatsImpl;->resetAllStatsCmdLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->resetAllStatsLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->resetLongCounterIfNotNull(Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;Z)V
-Lcom/android/internal/os/BatteryStatsImpl;->resetTimerIfNotNull(Lcom/android/internal/os/BatteryStatsImpl$DualTimer;Z)Z
-Lcom/android/internal/os/BatteryStatsImpl;->resetTimerIfNotNull(Lcom/android/internal/os/BatteryStatsImpl$Timer;Z)Z
-Lcom/android/internal/os/BatteryStatsImpl;->RPM_STATS_UPDATE_FREQ_MS:J
-Lcom/android/internal/os/BatteryStatsImpl;->scheduleRemoveIsolatedUidLocked(II)V
-Lcom/android/internal/os/BatteryStatsImpl;->scheduleSyncExternalStatsLocked(Ljava/lang/String;I)V
-Lcom/android/internal/os/BatteryStatsImpl;->setBatteryStateLocked(IIIIIIII)V
-Lcom/android/internal/os/BatteryStatsImpl;->setCallback(Lcom/android/internal/os/BatteryStatsImpl$BatteryCallback;)V
-Lcom/android/internal/os/BatteryStatsImpl;->setChargingLocked(Z)Z
-Lcom/android/internal/os/BatteryStatsImpl;->setExternalStatsSyncLocked(Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;)V
-Lcom/android/internal/os/BatteryStatsImpl;->setNoAutoReset(Z)V
-Lcom/android/internal/os/BatteryStatsImpl;->setOnBatteryLocked(JJZIII)V
-Lcom/android/internal/os/BatteryStatsImpl;->setPowerProfileLocked(Lcom/android/internal/os/PowerProfile;)V
-Lcom/android/internal/os/BatteryStatsImpl;->setPretendScreenOff(Z)V
-Lcom/android/internal/os/BatteryStatsImpl;->setRadioScanningTimeoutLocked(J)V
-Lcom/android/internal/os/BatteryStatsImpl;->setRecordAllHistoryLocked(Z)V
-Lcom/android/internal/os/BatteryStatsImpl;->shutdownLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->startAddingCpuLocked()Z
-Lcom/android/internal/os/BatteryStatsImpl;->startIteratingOldHistoryLocked()Z
-Lcom/android/internal/os/BatteryStatsImpl;->startRecordingHistory(JJZ)V
-Lcom/android/internal/os/BatteryStatsImpl;->STATE_BATTERY_HEALTH_MASK:I
-Lcom/android/internal/os/BatteryStatsImpl;->STATE_BATTERY_HEALTH_SHIFT:I
-Lcom/android/internal/os/BatteryStatsImpl;->STATE_BATTERY_MASK:I
-Lcom/android/internal/os/BatteryStatsImpl;->STATE_BATTERY_PLUG_MASK:I
-Lcom/android/internal/os/BatteryStatsImpl;->STATE_BATTERY_PLUG_SHIFT:I
-Lcom/android/internal/os/BatteryStatsImpl;->STATE_BATTERY_STATUS_MASK:I
-Lcom/android/internal/os/BatteryStatsImpl;->STATE_BATTERY_STATUS_SHIFT:I
-Lcom/android/internal/os/BatteryStatsImpl;->stopAllGpsSignalQualityTimersLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->stopAllPhoneSignalStrengthTimersLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->stopAllWifiSignalStrengthTimersLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->systemServicesReady(Landroid/content/Context;)V
-Lcom/android/internal/os/BatteryStatsImpl;->TAG:Ljava/lang/String;
-Lcom/android/internal/os/BatteryStatsImpl;->trackPerProcStateCpuTimes()Z
-Lcom/android/internal/os/BatteryStatsImpl;->updateAllPhoneStateLocked(III)V
-Lcom/android/internal/os/BatteryStatsImpl;->updateBatteryPropertiesLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->updateBluetoothStateLocked(Landroid/bluetooth/BluetoothActivityEnergyInfo;)V
-Lcom/android/internal/os/BatteryStatsImpl;->updateClusterSpeedTimes(Landroid/util/SparseLongArray;Z)V
-Lcom/android/internal/os/BatteryStatsImpl;->updateCpuTimeLocked(ZZ)V
-Lcom/android/internal/os/BatteryStatsImpl;->updateDailyDeadlineLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->updateDischargeScreenLevelsLocked(II)V
-Lcom/android/internal/os/BatteryStatsImpl;->updateKernelMemoryBandwidthLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->updateKernelWakelocksLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->updateMobileRadioState(Landroid/telephony/ModemActivityInfo;)V
-Lcom/android/internal/os/BatteryStatsImpl;->updateNewDischargeScreenLevelLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->updateOldDischargeScreenLevelLocked(I)V
-Lcom/android/internal/os/BatteryStatsImpl;->updateProcStateCpuTimes(ZZ)V
-Lcom/android/internal/os/BatteryStatsImpl;->updateRpmStatsLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->updateTimeBasesLocked(ZIJJ)V
-Lcom/android/internal/os/BatteryStatsImpl;->updateWifiState(Landroid/net/wifi/WifiActivityEnergyInfo;)V
-Lcom/android/internal/os/BatteryStatsImpl;->USB_DATA_CONNECTED:I
-Lcom/android/internal/os/BatteryStatsImpl;->USB_DATA_DISCONNECTED:I
-Lcom/android/internal/os/BatteryStatsImpl;->USB_DATA_UNKNOWN:I
-Lcom/android/internal/os/BatteryStatsImpl;->USE_OLD_HISTORY:Z
-Lcom/android/internal/os/BatteryStatsImpl;->VERSION:I
-Lcom/android/internal/os/BatteryStatsImpl;->WAKE_LOCK_WEIGHT:I
-Lcom/android/internal/os/BatteryStatsImpl;->writeAsyncLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->writeDailyItemsLocked(Lorg/xmlpull/v1/XmlSerializer;)V
-Lcom/android/internal/os/BatteryStatsImpl;->writeDailyLevelSteps(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Landroid/os/BatteryStats$LevelStepTracker;Ljava/lang/StringBuilder;)V
-Lcom/android/internal/os/BatteryStatsImpl;->writeHistory(Landroid/os/Parcel;ZZ)V
-Lcom/android/internal/os/BatteryStatsImpl;->writeHistoryDelta(Landroid/os/Parcel;Landroid/os/BatteryStats$HistoryItem;Landroid/os/BatteryStats$HistoryItem;)V
-Lcom/android/internal/os/BatteryStatsImpl;->writeHistoryTag(Landroid/os/BatteryStats$HistoryTag;)I
-Lcom/android/internal/os/BatteryStatsImpl;->writeLocked(Z)V
-Lcom/android/internal/os/BatteryStatsImpl;->writeOldHistory(Landroid/os/Parcel;)V
-Lcom/android/internal/os/BatteryStatsImpl;->writeSummaryToParcel(Landroid/os/Parcel;Z)V
-Lcom/android/internal/os/BatteryStatsImpl;->writeSyncLocked()V
-Lcom/android/internal/os/BatteryStatsImpl;->writeToParcelLocked(Landroid/os/Parcel;ZI)V
-Lcom/android/internal/os/BatteryStatsImpl;->writeToParcelWithoutUids(Landroid/os/Parcel;I)V
-Lcom/android/internal/os/FuseAppLoop$Args;
-Lcom/android/internal/os/FuseAppLoop$Args;-><init>()V
-Lcom/android/internal/os/FuseAppLoop$Args;->data:[B
-Lcom/android/internal/os/FuseAppLoop$Args;->entry:Lcom/android/internal/os/FuseAppLoop$CallbackEntry;
-Lcom/android/internal/os/FuseAppLoop$Args;->inode:J
-Lcom/android/internal/os/FuseAppLoop$Args;->offset:J
-Lcom/android/internal/os/FuseAppLoop$Args;->size:I
-Lcom/android/internal/os/FuseAppLoop$Args;->unique:J
-Lcom/android/internal/os/FuseAppLoop$BytesMap;
-Lcom/android/internal/os/FuseAppLoop$BytesMap;-><init>()V
-Lcom/android/internal/os/FuseAppLoop$BytesMap;->clear()V
-Lcom/android/internal/os/FuseAppLoop$BytesMap;->mEntries:Ljava/util/Map;
-Lcom/android/internal/os/FuseAppLoop$BytesMap;->startUsing(J)[B
-Lcom/android/internal/os/FuseAppLoop$BytesMap;->stopUsing(J)V
-Lcom/android/internal/os/FuseAppLoop$BytesMapEntry;
-Lcom/android/internal/os/FuseAppLoop$BytesMapEntry;-><init>()V
-Lcom/android/internal/os/FuseAppLoop$BytesMapEntry;->bytes:[B
-Lcom/android/internal/os/FuseAppLoop$BytesMapEntry;->counter:I
-Lcom/android/internal/os/FuseAppLoop$CallbackEntry;
-Lcom/android/internal/os/FuseAppLoop$CallbackEntry;-><init>(Landroid/os/ProxyFileDescriptorCallback;Landroid/os/Handler;)V
-Lcom/android/internal/os/FuseAppLoop$CallbackEntry;->callback:Landroid/os/ProxyFileDescriptorCallback;
-Lcom/android/internal/os/FuseAppLoop$CallbackEntry;->getThreadId()J
-Lcom/android/internal/os/FuseAppLoop$CallbackEntry;->handler:Landroid/os/Handler;
-Lcom/android/internal/os/FuseAppLoop$CallbackEntry;->opened:Z
-Lcom/android/internal/os/FuseAppLoop$UnmountedException;
-Lcom/android/internal/os/FuseAppLoop$UnmountedException;-><init>()V
-Lcom/android/internal/os/FuseAppLoop;
-Lcom/android/internal/os/FuseAppLoop;-><init>(ILandroid/os/ParcelFileDescriptor;Ljava/util/concurrent/ThreadFactory;)V
-Lcom/android/internal/os/FuseAppLoop;->ARGS_POOL_SIZE:I
-Lcom/android/internal/os/FuseAppLoop;->checkInode(J)I
-Lcom/android/internal/os/FuseAppLoop;->DEBUG:Z
-Lcom/android/internal/os/FuseAppLoop;->FUSE_FSYNC:I
-Lcom/android/internal/os/FuseAppLoop;->FUSE_GETATTR:I
-Lcom/android/internal/os/FuseAppLoop;->FUSE_LOOKUP:I
-Lcom/android/internal/os/FuseAppLoop;->FUSE_MAX_WRITE:I
-Lcom/android/internal/os/FuseAppLoop;->FUSE_OK:I
-Lcom/android/internal/os/FuseAppLoop;->FUSE_OPEN:I
-Lcom/android/internal/os/FuseAppLoop;->FUSE_READ:I
-Lcom/android/internal/os/FuseAppLoop;->FUSE_RELEASE:I
-Lcom/android/internal/os/FuseAppLoop;->FUSE_WRITE:I
-Lcom/android/internal/os/FuseAppLoop;->getCallbackEntryOrThrowLocked(J)Lcom/android/internal/os/FuseAppLoop$CallbackEntry;
-Lcom/android/internal/os/FuseAppLoop;->getError(Ljava/lang/Exception;)I
-Lcom/android/internal/os/FuseAppLoop;->getMountPointId()I
-Lcom/android/internal/os/FuseAppLoop;->mArgsPool:Ljava/util/LinkedList;
-Lcom/android/internal/os/FuseAppLoop;->mBytesMap:Lcom/android/internal/os/FuseAppLoop$BytesMap;
-Lcom/android/internal/os/FuseAppLoop;->mCallbackMap:Landroid/util/SparseArray;
-Lcom/android/internal/os/FuseAppLoop;->mInstance:J
-Lcom/android/internal/os/FuseAppLoop;->MIN_INODE:I
-Lcom/android/internal/os/FuseAppLoop;->mLock:Ljava/lang/Object;
-Lcom/android/internal/os/FuseAppLoop;->mMountPointId:I
-Lcom/android/internal/os/FuseAppLoop;->mNextInode:I
-Lcom/android/internal/os/FuseAppLoop;->mThread:Ljava/lang/Thread;
-Lcom/android/internal/os/FuseAppLoop;->native_delete(J)V
-Lcom/android/internal/os/FuseAppLoop;->native_new(I)J
-Lcom/android/internal/os/FuseAppLoop;->native_replyGetAttr(JJJJ)V
-Lcom/android/internal/os/FuseAppLoop;->native_replyLookup(JJJJ)V
-Lcom/android/internal/os/FuseAppLoop;->native_replyOpen(JJJ)V
-Lcom/android/internal/os/FuseAppLoop;->native_replyRead(JJI[B)V
-Lcom/android/internal/os/FuseAppLoop;->native_replySimple(JJI)V
-Lcom/android/internal/os/FuseAppLoop;->native_replyWrite(JJI)V
-Lcom/android/internal/os/FuseAppLoop;->native_start(J)V
-Lcom/android/internal/os/FuseAppLoop;->recycleLocked(Lcom/android/internal/os/FuseAppLoop$Args;)V
-Lcom/android/internal/os/FuseAppLoop;->registerCallback(Landroid/os/ProxyFileDescriptorCallback;Landroid/os/Handler;)I
-Lcom/android/internal/os/FuseAppLoop;->replySimpleLocked(JI)V
-Lcom/android/internal/os/FuseAppLoop;->ROOT_INODE:I
-Lcom/android/internal/os/FuseAppLoop;->sDefaultThreadFactory:Ljava/util/concurrent/ThreadFactory;
-Lcom/android/internal/os/FuseAppLoop;->TAG:Ljava/lang/String;
-Lcom/android/internal/os/FuseAppLoop;->unregisterCallback(I)V
-Lcom/android/internal/os/FuseUnavailableMountException;
-Lcom/android/internal/os/FuseUnavailableMountException;-><init>(I)V
-Lcom/android/internal/os/HandlerCaller$Callback;
-Lcom/android/internal/os/HandlerCaller$Callback;->executeMessage(Landroid/os/Message;)V
-Lcom/android/internal/os/HandlerCaller$MyHandler;
-Lcom/android/internal/os/HandlerCaller$MyHandler;-><init>(Landroid/os/Looper;Z)V
-Lcom/android/internal/os/HandlerCaller;
-Lcom/android/internal/os/HandlerCaller;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/internal/os/HandlerCaller$Callback;Z)V
-Lcom/android/internal/os/HandlerCaller;->executeOrSendMessage(Landroid/os/Message;)V
-Lcom/android/internal/os/HandlerCaller;->getHandler()Landroid/os/Handler;
-Lcom/android/internal/os/HandlerCaller;->hasMessages(I)Z
-Lcom/android/internal/os/HandlerCaller;->mCallback:Lcom/android/internal/os/HandlerCaller$Callback;
-Lcom/android/internal/os/HandlerCaller;->mH:Landroid/os/Handler;
-Lcom/android/internal/os/HandlerCaller;->mMainLooper:Landroid/os/Looper;
-Lcom/android/internal/os/HandlerCaller;->obtainMessageBO(IZLjava/lang/Object;)Landroid/os/Message;
-Lcom/android/internal/os/HandlerCaller;->obtainMessageBOO(IZLjava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
-Lcom/android/internal/os/HandlerCaller;->obtainMessageI(II)Landroid/os/Message;
-Lcom/android/internal/os/HandlerCaller;->obtainMessageII(III)Landroid/os/Message;
-Lcom/android/internal/os/HandlerCaller;->obtainMessageIIII(IIIII)Landroid/os/Message;
-Lcom/android/internal/os/HandlerCaller;->obtainMessageIIIIII(IIIIIII)Landroid/os/Message;
-Lcom/android/internal/os/HandlerCaller;->obtainMessageIIIIO(IIIIILjava/lang/Object;)Landroid/os/Message;
-Lcom/android/internal/os/HandlerCaller;->obtainMessageIIO(IIILjava/lang/Object;)Landroid/os/Message;
-Lcom/android/internal/os/HandlerCaller;->obtainMessageIIOO(IIILjava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
-Lcom/android/internal/os/HandlerCaller;->obtainMessageIIOOO(IIILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
-Lcom/android/internal/os/HandlerCaller;->obtainMessageIIOOOO(IIILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
-Lcom/android/internal/os/HandlerCaller;->obtainMessageIOOO(IILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
-Lcom/android/internal/os/HandlerCaller;->obtainMessageOOOO(ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
-Lcom/android/internal/os/HandlerCaller;->obtainMessageOOOOII(ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;II)Landroid/os/Message;
-Lcom/android/internal/os/HandlerCaller;->obtainMessageOOOOO(ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
-Lcom/android/internal/os/HandlerCaller;->removeMessages(I)V
-Lcom/android/internal/os/HandlerCaller;->removeMessages(ILjava/lang/Object;)V
-Lcom/android/internal/os/HandlerCaller;->sendMessageAndWait(Landroid/os/Message;)Lcom/android/internal/os/SomeArgs;
-Lcom/android/internal/os/HandlerCaller;->sendMessageDelayed(Landroid/os/Message;J)V
-Lcom/android/internal/os/IDropBoxManagerService$Stub$Proxy;
-Lcom/android/internal/os/IDropBoxManagerService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/os/IDropBoxManagerService$Stub$Proxy;->add(Landroid/os/DropBoxManager$Entry;)V
-Lcom/android/internal/os/IDropBoxManagerService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/os/IDropBoxManagerService$Stub$Proxy;->getNextEntry(Ljava/lang/String;J)Landroid/os/DropBoxManager$Entry;
-Lcom/android/internal/os/IDropBoxManagerService$Stub$Proxy;->isTagEnabled(Ljava/lang/String;)Z
-Lcom/android/internal/os/IDropBoxManagerService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/os/IDropBoxManagerService$Stub;
-Lcom/android/internal/os/IDropBoxManagerService$Stub;-><init>()V
-Lcom/android/internal/os/IDropBoxManagerService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/os/IDropBoxManagerService$Stub;->TRANSACTION_add:I
-Lcom/android/internal/os/IDropBoxManagerService$Stub;->TRANSACTION_getNextEntry:I
-Lcom/android/internal/os/IDropBoxManagerService$Stub;->TRANSACTION_isTagEnabled:I
-Lcom/android/internal/os/IDropBoxManagerService;
-Lcom/android/internal/os/IDropBoxManagerService;->add(Landroid/os/DropBoxManager$Entry;)V
-Lcom/android/internal/os/IDropBoxManagerService;->isTagEnabled(Ljava/lang/String;)Z
-Lcom/android/internal/os/IParcelFileDescriptorFactory$Stub$Proxy;
-Lcom/android/internal/os/IParcelFileDescriptorFactory$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/os/IParcelFileDescriptorFactory$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/os/IParcelFileDescriptorFactory$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/os/IParcelFileDescriptorFactory$Stub$Proxy;->open(Ljava/lang/String;I)Landroid/os/ParcelFileDescriptor;
-Lcom/android/internal/os/IParcelFileDescriptorFactory$Stub;
-Lcom/android/internal/os/IParcelFileDescriptorFactory$Stub;-><init>()V
-Lcom/android/internal/os/IParcelFileDescriptorFactory$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/os/IParcelFileDescriptorFactory;
-Lcom/android/internal/os/IParcelFileDescriptorFactory$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/os/IParcelFileDescriptorFactory$Stub;->TRANSACTION_open:I
-Lcom/android/internal/os/IParcelFileDescriptorFactory;
-Lcom/android/internal/os/IParcelFileDescriptorFactory;->open(Ljava/lang/String;I)Landroid/os/ParcelFileDescriptor;
-Lcom/android/internal/os/IResultReceiver$Stub$Proxy;
-Lcom/android/internal/os/IResultReceiver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/os/IResultReceiver$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/os/IResultReceiver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/os/IResultReceiver$Stub$Proxy;->send(ILandroid/os/Bundle;)V
-Lcom/android/internal/os/IResultReceiver$Stub;
-Lcom/android/internal/os/IResultReceiver$Stub;-><init>()V
-Lcom/android/internal/os/IResultReceiver$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/os/IResultReceiver;
-Lcom/android/internal/os/IResultReceiver$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/os/IResultReceiver$Stub;->TRANSACTION_send:I
-Lcom/android/internal/os/IResultReceiver;
-Lcom/android/internal/os/IResultReceiver;->send(ILandroid/os/Bundle;)V
-Lcom/android/internal/os/IShellCallback$Stub$Proxy;
-Lcom/android/internal/os/IShellCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/os/IShellCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/os/IShellCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/os/IShellCallback$Stub$Proxy;->openFile(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-Lcom/android/internal/os/IShellCallback$Stub;
-Lcom/android/internal/os/IShellCallback$Stub;-><init>()V
-Lcom/android/internal/os/IShellCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/os/IShellCallback;
-Lcom/android/internal/os/IShellCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/os/IShellCallback$Stub;->TRANSACTION_openFile:I
-Lcom/android/internal/os/IShellCallback;
-Lcom/android/internal/os/IShellCallback;->openFile(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-Lcom/android/internal/os/KernelCpuProcReader;
-Lcom/android/internal/os/KernelCpuProcReader;-><init>(Ljava/lang/String;)V
-Lcom/android/internal/os/KernelCpuProcReader;->DEFAULT_THROTTLE_INTERVAL:J
-Lcom/android/internal/os/KernelCpuProcReader;->ERROR_THRESHOLD:I
-Lcom/android/internal/os/KernelCpuProcReader;->getActiveTimeReaderInstance()Lcom/android/internal/os/KernelCpuProcReader;
-Lcom/android/internal/os/KernelCpuProcReader;->getClusterTimeReaderInstance()Lcom/android/internal/os/KernelCpuProcReader;
-Lcom/android/internal/os/KernelCpuProcReader;->getFreqTimeReaderInstance()Lcom/android/internal/os/KernelCpuProcReader;
-Lcom/android/internal/os/KernelCpuProcReader;->INITIAL_BUFFER_SIZE:I
-Lcom/android/internal/os/KernelCpuProcReader;->mActiveTimeReader:Lcom/android/internal/os/KernelCpuProcReader;
-Lcom/android/internal/os/KernelCpuProcReader;->MAX_BUFFER_SIZE:I
-Lcom/android/internal/os/KernelCpuProcReader;->mBuffer:Ljava/nio/ByteBuffer;
-Lcom/android/internal/os/KernelCpuProcReader;->mClusterTimeReader:Lcom/android/internal/os/KernelCpuProcReader;
-Lcom/android/internal/os/KernelCpuProcReader;->mErrors:I
-Lcom/android/internal/os/KernelCpuProcReader;->mFreqTimeReader:Lcom/android/internal/os/KernelCpuProcReader;
-Lcom/android/internal/os/KernelCpuProcReader;->mLastReadTime:J
-Lcom/android/internal/os/KernelCpuProcReader;->mProc:Ljava/nio/file/Path;
-Lcom/android/internal/os/KernelCpuProcReader;->mThrottleInterval:J
-Lcom/android/internal/os/KernelCpuProcReader;->PROC_UID_ACTIVE_TIME:Ljava/lang/String;
-Lcom/android/internal/os/KernelCpuProcReader;->PROC_UID_CLUSTER_TIME:Ljava/lang/String;
-Lcom/android/internal/os/KernelCpuProcReader;->PROC_UID_FREQ_TIME:Ljava/lang/String;
-Lcom/android/internal/os/KernelCpuProcReader;->readBytes()Ljava/nio/ByteBuffer;
-Lcom/android/internal/os/KernelCpuProcReader;->resize()Z
-Lcom/android/internal/os/KernelCpuProcReader;->setThrottleInterval(J)V
-Lcom/android/internal/os/KernelCpuProcReader;->TAG:Ljava/lang/String;
-Lcom/android/internal/os/KernelCpuSpeedReader;
-Lcom/android/internal/os/KernelCpuSpeedReader;-><init>(II)V
-Lcom/android/internal/os/KernelCpuSpeedReader;->mDeltaSpeedTimesMs:[J
-Lcom/android/internal/os/KernelCpuSpeedReader;->mJiffyMillis:J
-Lcom/android/internal/os/KernelCpuSpeedReader;->mLastSpeedTimesMs:[J
-Lcom/android/internal/os/KernelCpuSpeedReader;->mNumSpeedSteps:I
-Lcom/android/internal/os/KernelCpuSpeedReader;->mProcFile:Ljava/lang/String;
-Lcom/android/internal/os/KernelCpuSpeedReader;->readAbsolute()[J
-Lcom/android/internal/os/KernelCpuSpeedReader;->readDelta()[J
-Lcom/android/internal/os/KernelCpuSpeedReader;->TAG:Ljava/lang/String;
-Lcom/android/internal/os/KernelMemoryBandwidthStats;
-Lcom/android/internal/os/KernelMemoryBandwidthStats;-><init>()V
-Lcom/android/internal/os/KernelMemoryBandwidthStats;->DEBUG:Z
-Lcom/android/internal/os/KernelMemoryBandwidthStats;->getBandwidthEntries()Landroid/util/LongSparseLongArray;
-Lcom/android/internal/os/KernelMemoryBandwidthStats;->mBandwidthEntries:Landroid/util/LongSparseLongArray;
-Lcom/android/internal/os/KernelMemoryBandwidthStats;->mStatsDoNotExist:Z
-Lcom/android/internal/os/KernelMemoryBandwidthStats;->mSysfsFile:Ljava/lang/String;
-Lcom/android/internal/os/KernelMemoryBandwidthStats;->parseStats(Ljava/io/BufferedReader;)V
-Lcom/android/internal/os/KernelMemoryBandwidthStats;->TAG:Ljava/lang/String;
-Lcom/android/internal/os/KernelMemoryBandwidthStats;->updateStats()V
-Lcom/android/internal/os/KernelSingleUidTimeReader$Injector;
-Lcom/android/internal/os/KernelSingleUidTimeReader$Injector;-><init>()V
-Lcom/android/internal/os/KernelSingleUidTimeReader$Injector;->readData(Ljava/lang/String;)[B
-Lcom/android/internal/os/KernelSingleUidTimeReader;
-Lcom/android/internal/os/KernelSingleUidTimeReader;-><init>(I)V
-Lcom/android/internal/os/KernelSingleUidTimeReader;-><init>(ILcom/android/internal/os/KernelSingleUidTimeReader$Injector;)V
-Lcom/android/internal/os/KernelSingleUidTimeReader;->computeDelta(I[J)[J
-Lcom/android/internal/os/KernelSingleUidTimeReader;->DBG:Z
-Lcom/android/internal/os/KernelSingleUidTimeReader;->getDeltaLocked([J[J)[J
-Lcom/android/internal/os/KernelSingleUidTimeReader;->getLastUidCpuTimeMs()Landroid/util/SparseArray;
-Lcom/android/internal/os/KernelSingleUidTimeReader;->hasStaleData()Z
-Lcom/android/internal/os/KernelSingleUidTimeReader;->markDataAsStale(Z)V
-Lcom/android/internal/os/KernelSingleUidTimeReader;->mCpuFreqsCount:I
-Lcom/android/internal/os/KernelSingleUidTimeReader;->mCpuFreqsCountVerified:Z
-Lcom/android/internal/os/KernelSingleUidTimeReader;->mHasStaleData:Z
-Lcom/android/internal/os/KernelSingleUidTimeReader;->mInjector:Lcom/android/internal/os/KernelSingleUidTimeReader$Injector;
-Lcom/android/internal/os/KernelSingleUidTimeReader;->mLastUidCpuTimeMs:Landroid/util/SparseArray;
-Lcom/android/internal/os/KernelSingleUidTimeReader;->mReadErrorCounter:I
-Lcom/android/internal/os/KernelSingleUidTimeReader;->mSingleUidCpuTimesAvailable:Z
-Lcom/android/internal/os/KernelSingleUidTimeReader;->PROC_FILE_DIR:Ljava/lang/String;
-Lcom/android/internal/os/KernelSingleUidTimeReader;->PROC_FILE_NAME:Ljava/lang/String;
-Lcom/android/internal/os/KernelSingleUidTimeReader;->readCpuTimesFromByteBuffer(Ljava/nio/ByteBuffer;)[J
-Lcom/android/internal/os/KernelSingleUidTimeReader;->readDeltaMs(I)[J
-Lcom/android/internal/os/KernelSingleUidTimeReader;->removeUid(I)V
-Lcom/android/internal/os/KernelSingleUidTimeReader;->removeUidsInRange(II)V
-Lcom/android/internal/os/KernelSingleUidTimeReader;->setAllUidsCpuTimesMs(Landroid/util/SparseArray;)V
-Lcom/android/internal/os/KernelSingleUidTimeReader;->setSingleUidCpuTimesAvailable(Z)V
-Lcom/android/internal/os/KernelSingleUidTimeReader;->singleUidCpuTimesAvailable()Z
-Lcom/android/internal/os/KernelSingleUidTimeReader;->TAG:Ljava/lang/String;
-Lcom/android/internal/os/KernelSingleUidTimeReader;->TOTAL_READ_ERROR_COUNT:I
-Lcom/android/internal/os/KernelSingleUidTimeReader;->verifyCpuFreqsCount(ILjava/lang/String;)V
-Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;
-Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;->onUidCpuActiveTime(IJ)V
-Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
-Lcom/android/internal/os/KernelUidCpuActiveTimeReader;-><init>()V
-Lcom/android/internal/os/KernelUidCpuActiveTimeReader;-><init>(Lcom/android/internal/os/KernelCpuProcReader;)V
-Lcom/android/internal/os/KernelUidCpuActiveTimeReader;->mCores:I
-Lcom/android/internal/os/KernelUidCpuActiveTimeReader;->mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
-Lcom/android/internal/os/KernelUidCpuActiveTimeReader;->mProcReader:Lcom/android/internal/os/KernelCpuProcReader;
-Lcom/android/internal/os/KernelUidCpuActiveTimeReader;->readAbsolute(Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;)V
-Lcom/android/internal/os/KernelUidCpuActiveTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;)V
-Lcom/android/internal/os/KernelUidCpuActiveTimeReader;->readImpl(Ljava/util/function/Consumer;)V
-Lcom/android/internal/os/KernelUidCpuActiveTimeReader;->removeUid(I)V
-Lcom/android/internal/os/KernelUidCpuActiveTimeReader;->removeUidsInRange(II)V
-Lcom/android/internal/os/KernelUidCpuActiveTimeReader;->sumActiveTime(Ljava/nio/IntBuffer;)D
-Lcom/android/internal/os/KernelUidCpuActiveTimeReader;->TAG:Ljava/lang/String;
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader$Callback;
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader$Callback;->onUidCpuPolicyTime(I[J)V
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader;
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader;-><init>()V
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader;-><init>(Lcom/android/internal/os/KernelCpuProcReader;)V
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader;->mCurTime:[D
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader;->mCurTimeRounded:[J
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader;->mDeltaTime:[J
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader;->mLastUidPolicyTimeMs:Landroid/util/SparseArray;
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader;->mNumClusters:I
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader;->mNumCores:I
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader;->mNumCoresOnCluster:[I
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader;->mProcReader:Lcom/android/internal/os/KernelCpuProcReader;
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader;->readAbsolute(Lcom/android/internal/os/KernelUidCpuClusterTimeReader$Callback;)V
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader;->readCoreInfo(Ljava/nio/IntBuffer;I)Z
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelUidCpuClusterTimeReader$Callback;)V
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader;->readImpl(Ljava/util/function/Consumer;)V
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader;->removeUid(I)V
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader;->removeUidsInRange(II)V
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader;->sumClusterTime(Ljava/nio/IntBuffer;[D)Z
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader;->TAG:Ljava/lang/String;
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader$Callback;
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader$Callback;->onUidCpuFreqTime(I[J)V
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;-><init>()V
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;-><init>(Lcom/android/internal/os/KernelCpuProcReader;)V
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->allUidTimesAvailable()Z
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->extractClusterInfoFromProcFileFreqs()Landroid/util/IntArray;
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->getAllUidCpuFreqTimeMs()Landroid/util/SparseArray;
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->getFreqTimeForUid(Ljava/nio/IntBuffer;[J)Z
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->mAllUidTimesAvailable:Z
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->mCpuFreqs:[J
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->mCpuFreqsCount:I
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->mCurTimes:[J
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->mDeltaTimes:[J
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->mLastUidCpuFreqTimeMs:Landroid/util/SparseArray;
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->mPerClusterTimesAvailable:Z
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->mProcReader:Lcom/android/internal/os/KernelCpuProcReader;
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->mReadErrorCounter:I
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->perClusterTimesAvailable()Z
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->readAbsolute(Lcom/android/internal/os/KernelUidCpuFreqTimeReader$Callback;)V
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelUidCpuFreqTimeReader$Callback;)V
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->readFreqs(Lcom/android/internal/os/PowerProfile;)[J
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->readFreqs(Ljava/io/BufferedReader;Lcom/android/internal/os/PowerProfile;)[J
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->readImpl(Ljava/util/function/Consumer;)V
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->removeUid(I)V
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->removeUidsInRange(II)V
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->TAG:Ljava/lang/String;
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->TOTAL_READ_ERROR_COUNT:I
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;->UID_TIMES_PROC_FILE:Ljava/lang/String;
-Lcom/android/internal/os/KernelUidCpuTimeReader$Callback;
-Lcom/android/internal/os/KernelUidCpuTimeReader$Callback;->onUidCpuTime(IJJ)V
-Lcom/android/internal/os/KernelUidCpuTimeReader;
-Lcom/android/internal/os/KernelUidCpuTimeReader;-><init>()V
-Lcom/android/internal/os/KernelUidCpuTimeReader;->mLastSystemTimeUs:Landroid/util/SparseLongArray;
-Lcom/android/internal/os/KernelUidCpuTimeReader;->mLastTimeReadUs:J
-Lcom/android/internal/os/KernelUidCpuTimeReader;->mLastUserTimeUs:Landroid/util/SparseLongArray;
-Lcom/android/internal/os/KernelUidCpuTimeReader;->readAbsolute(Lcom/android/internal/os/KernelUidCpuTimeReader$Callback;)V
-Lcom/android/internal/os/KernelUidCpuTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelUidCpuTimeReader$Callback;)V
-Lcom/android/internal/os/KernelUidCpuTimeReader;->removeUid(I)V
-Lcom/android/internal/os/KernelUidCpuTimeReader;->removeUidsFromKernelModule(II)V
-Lcom/android/internal/os/KernelUidCpuTimeReader;->removeUidsInRange(II)V
-Lcom/android/internal/os/KernelUidCpuTimeReader;->sProcFile:Ljava/lang/String;
-Lcom/android/internal/os/KernelUidCpuTimeReader;->sRemoveUidProcFile:Ljava/lang/String;
-Lcom/android/internal/os/KernelUidCpuTimeReader;->TAG:Ljava/lang/String;
-Lcom/android/internal/os/KernelUidCpuTimeReaderBase$Callback;
-Lcom/android/internal/os/KernelUidCpuTimeReaderBase;
-Lcom/android/internal/os/KernelUidCpuTimeReaderBase;-><init>()V
-Lcom/android/internal/os/KernelUidCpuTimeReaderBase;->DEBUG:Z
-Lcom/android/internal/os/KernelUidCpuTimeReaderBase;->DEFAULT_THROTTLE_INTERVAL:J
-Lcom/android/internal/os/KernelUidCpuTimeReaderBase;->mLastTimeReadMs:J
-Lcom/android/internal/os/KernelUidCpuTimeReaderBase;->mThrottleInterval:J
-Lcom/android/internal/os/KernelUidCpuTimeReaderBase;->readDelta(Lcom/android/internal/os/KernelUidCpuTimeReaderBase$Callback;)V
-Lcom/android/internal/os/KernelUidCpuTimeReaderBase;->readDeltaImpl(Lcom/android/internal/os/KernelUidCpuTimeReaderBase$Callback;)V
-Lcom/android/internal/os/KernelUidCpuTimeReaderBase;->setThrottleInterval(J)V
-Lcom/android/internal/os/KernelUidCpuTimeReaderBase;->TAG:Ljava/lang/String;
-Lcom/android/internal/os/KernelWakelockReader;
-Lcom/android/internal/os/KernelWakelockReader;-><init>()V
-Lcom/android/internal/os/KernelWakelockReader;->mProcWakelocksData:[J
-Lcom/android/internal/os/KernelWakelockReader;->mProcWakelocksName:[Ljava/lang/String;
-Lcom/android/internal/os/KernelWakelockReader;->parseProcWakelocks([BIZLcom/android/internal/os/KernelWakelockStats;)Lcom/android/internal/os/KernelWakelockStats;
-Lcom/android/internal/os/KernelWakelockReader;->PROC_WAKELOCKS_FORMAT:[I
-Lcom/android/internal/os/KernelWakelockReader;->readKernelWakelockStats(Lcom/android/internal/os/KernelWakelockStats;)Lcom/android/internal/os/KernelWakelockStats;
-Lcom/android/internal/os/KernelWakelockReader;->sKernelWakelockUpdateVersion:I
-Lcom/android/internal/os/KernelWakelockReader;->sWakelockFile:Ljava/lang/String;
-Lcom/android/internal/os/KernelWakelockReader;->sWakeupSourceFile:Ljava/lang/String;
-Lcom/android/internal/os/KernelWakelockReader;->TAG:Ljava/lang/String;
-Lcom/android/internal/os/KernelWakelockReader;->WAKEUP_SOURCES_FORMAT:[I
-Lcom/android/internal/os/KernelWakelockStats$Entry;
-Lcom/android/internal/os/KernelWakelockStats$Entry;-><init>(IJI)V
-Lcom/android/internal/os/KernelWakelockStats$Entry;->mCount:I
-Lcom/android/internal/os/KernelWakelockStats$Entry;->mTotalTime:J
-Lcom/android/internal/os/KernelWakelockStats$Entry;->mVersion:I
-Lcom/android/internal/os/KernelWakelockStats;
-Lcom/android/internal/os/KernelWakelockStats;-><init>()V
-Lcom/android/internal/os/KernelWakelockStats;->kernelWakelockVersion:I
-Lcom/android/internal/os/MobileRadioPowerCalculator;
-Lcom/android/internal/os/MobileRadioPowerCalculator;-><init>(Lcom/android/internal/os/PowerProfile;Landroid/os/BatteryStats;)V
-Lcom/android/internal/os/MobileRadioPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
-Lcom/android/internal/os/MobileRadioPowerCalculator;->calculateRemaining(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats;JJI)V
-Lcom/android/internal/os/MobileRadioPowerCalculator;->DEBUG:Z
-Lcom/android/internal/os/MobileRadioPowerCalculator;->getMobilePowerPerPacket(JI)D
-Lcom/android/internal/os/MobileRadioPowerCalculator;->mPowerBins:[D
-Lcom/android/internal/os/MobileRadioPowerCalculator;->mPowerRadioOn:D
-Lcom/android/internal/os/MobileRadioPowerCalculator;->mPowerScan:D
-Lcom/android/internal/os/MobileRadioPowerCalculator;->mStats:Landroid/os/BatteryStats;
-Lcom/android/internal/os/MobileRadioPowerCalculator;->mTotalAppMobileActiveMs:J
-Lcom/android/internal/os/MobileRadioPowerCalculator;->reset()V
-Lcom/android/internal/os/MobileRadioPowerCalculator;->reset(Landroid/os/BatteryStats;)V
-Lcom/android/internal/os/MobileRadioPowerCalculator;->TAG:Ljava/lang/String;
-Lcom/android/internal/os/PowerCalculator;
-Lcom/android/internal/os/PowerCalculator;-><init>()V
-Lcom/android/internal/os/PowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
-Lcom/android/internal/os/PowerCalculator;->calculateRemaining(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats;JJI)V
-Lcom/android/internal/os/PowerCalculator;->reset()V
-Lcom/android/internal/os/PowerProfile$CpuClusterKey;
-Lcom/android/internal/os/PowerProfile$CpuClusterKey;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
-Lcom/android/internal/os/PowerProfile$CpuClusterKey;->clusterPowerKey:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile$CpuClusterKey;->corePowerKey:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile$CpuClusterKey;->freqKey:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile$CpuClusterKey;->numCpus:I
-Lcom/android/internal/os/PowerProfile;
-Lcom/android/internal/os/PowerProfile;-><init>(Landroid/content/Context;Z)V
-Lcom/android/internal/os/PowerProfile;->ATTR_NAME:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->CPU_CLUSTER_POWER_COUNT:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->CPU_CORE_POWER_PREFIX:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->CPU_CORE_SPEED_PREFIX:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->CPU_PER_CLUSTER_CORE_COUNT:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->getAveragePowerForCpuCluster(I)D
-Lcom/android/internal/os/PowerProfile;->getAveragePowerForCpuCore(II)D
-Lcom/android/internal/os/PowerProfile;->getAveragePowerOrDefault(Ljava/lang/String;D)D
-Lcom/android/internal/os/PowerProfile;->getNumCoresInCpuCluster(I)I
-Lcom/android/internal/os/PowerProfile;->getNumElements(Ljava/lang/String;)I
-Lcom/android/internal/os/PowerProfile;->initCpuClusters()V
-Lcom/android/internal/os/PowerProfile;->mCpuClusters:[Lcom/android/internal/os/PowerProfile$CpuClusterKey;
-Lcom/android/internal/os/PowerProfile;->POWER_AMBIENT_DISPLAY:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_AUDIO:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_BATTERY_CAPACITY:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_BLUETOOTH_ACTIVE:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_BLUETOOTH_CONTROLLER_IDLE:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_BLUETOOTH_CONTROLLER_OPERATING_VOLTAGE:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_BLUETOOTH_CONTROLLER_RX:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_BLUETOOTH_CONTROLLER_TX:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_CAMERA:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_CPU_SUSPEND:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_FLASHLIGHT:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_GPS_OPERATING_VOLTAGE:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_GPS_SIGNAL_QUALITY_BASED:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_MEMORY:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_MODEM_CONTROLLER_IDLE:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_MODEM_CONTROLLER_OPERATING_VOLTAGE:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_MODEM_CONTROLLER_RX:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_MODEM_CONTROLLER_SLEEP:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_MODEM_CONTROLLER_TX:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_VIDEO:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_WIFI_BATCHED_SCAN:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_WIFI_CONTROLLER_IDLE:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_WIFI_CONTROLLER_OPERATING_VOLTAGE:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_WIFI_CONTROLLER_RX:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_WIFI_CONTROLLER_TX:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->POWER_WIFI_CONTROLLER_TX_LEVELS:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->readPowerValuesFromXml(Landroid/content/Context;Z)V
-Lcom/android/internal/os/PowerProfile;->sLock:Ljava/lang/Object;
-Lcom/android/internal/os/PowerProfile;->sPowerArrayMap:Ljava/util/HashMap;
-Lcom/android/internal/os/PowerProfile;->sPowerItemMap:Ljava/util/HashMap;
-Lcom/android/internal/os/PowerProfile;->TAG_ARRAY:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->TAG_ARRAYITEM:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->TAG_DEVICE:Ljava/lang/String;
-Lcom/android/internal/os/PowerProfile;->TAG_ITEM:Ljava/lang/String;
-Lcom/android/internal/os/RpmStats$PowerStateElement;
-Lcom/android/internal/os/RpmStats$PowerStateElement;-><init>(JI)V
-Lcom/android/internal/os/RpmStats$PowerStateElement;->mCount:I
-Lcom/android/internal/os/RpmStats$PowerStateElement;->mTimeMs:J
-Lcom/android/internal/os/RpmStats$PowerStatePlatformSleepState;
-Lcom/android/internal/os/RpmStats$PowerStatePlatformSleepState;-><init>()V
-Lcom/android/internal/os/RpmStats$PowerStatePlatformSleepState;->mCount:I
-Lcom/android/internal/os/RpmStats$PowerStatePlatformSleepState;->mTimeMs:J
-Lcom/android/internal/os/RpmStats$PowerStatePlatformSleepState;->mVoters:Ljava/util/Map;
-Lcom/android/internal/os/RpmStats$PowerStatePlatformSleepState;->putVoter(Ljava/lang/String;JI)V
-Lcom/android/internal/os/RpmStats$PowerStateSubsystem;
-Lcom/android/internal/os/RpmStats$PowerStateSubsystem;-><init>()V
-Lcom/android/internal/os/RpmStats$PowerStateSubsystem;->mStates:Ljava/util/Map;
-Lcom/android/internal/os/RpmStats$PowerStateSubsystem;->putState(Ljava/lang/String;JI)V
-Lcom/android/internal/os/RpmStats;
-Lcom/android/internal/os/RpmStats;-><init>()V
-Lcom/android/internal/os/RpmStats;->getAndUpdatePlatformState(Ljava/lang/String;JI)Lcom/android/internal/os/RpmStats$PowerStatePlatformSleepState;
-Lcom/android/internal/os/RpmStats;->getSubsystem(Ljava/lang/String;)Lcom/android/internal/os/RpmStats$PowerStateSubsystem;
-Lcom/android/internal/os/RpmStats;->mPlatformLowPowerStats:Ljava/util/Map;
-Lcom/android/internal/os/RpmStats;->mSubsystemLowPowerStats:Ljava/util/Map;
-Lcom/android/internal/os/SomeArgs;
-Lcom/android/internal/os/SomeArgs;-><init>()V
-Lcom/android/internal/os/SomeArgs;->arg4:Ljava/lang/Object;
-Lcom/android/internal/os/SomeArgs;->arg5:Ljava/lang/Object;
-Lcom/android/internal/os/SomeArgs;->arg6:Ljava/lang/Object;
-Lcom/android/internal/os/SomeArgs;->arg7:Ljava/lang/Object;
-Lcom/android/internal/os/SomeArgs;->arg8:Ljava/lang/Object;
-Lcom/android/internal/os/SomeArgs;->arg9:Ljava/lang/Object;
-Lcom/android/internal/os/SomeArgs;->argi1:I
-Lcom/android/internal/os/SomeArgs;->argi4:I
-Lcom/android/internal/os/SomeArgs;->argi5:I
-Lcom/android/internal/os/SomeArgs;->argi6:I
-Lcom/android/internal/os/SomeArgs;->clear()V
-Lcom/android/internal/os/SomeArgs;->complete()V
-Lcom/android/internal/os/SomeArgs;->MAX_POOL_SIZE:I
-Lcom/android/internal/os/SomeArgs;->mInPool:Z
-Lcom/android/internal/os/SomeArgs;->mNext:Lcom/android/internal/os/SomeArgs;
-Lcom/android/internal/os/SomeArgs;->mWaitState:I
-Lcom/android/internal/os/SomeArgs;->sPool:Lcom/android/internal/os/SomeArgs;
-Lcom/android/internal/os/SomeArgs;->sPoolLock:Ljava/lang/Object;
-Lcom/android/internal/os/SomeArgs;->sPoolSize:I
-Lcom/android/internal/os/SomeArgs;->WAIT_FINISHED:I
-Lcom/android/internal/os/SomeArgs;->WAIT_NONE:I
-Lcom/android/internal/os/SomeArgs;->WAIT_WAITING:I
-Lcom/android/internal/policy/IKeyguardDismissCallback$Stub$Proxy;
-Lcom/android/internal/policy/IKeyguardDismissCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/policy/IKeyguardDismissCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/policy/IKeyguardDismissCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/policy/IKeyguardDismissCallback$Stub$Proxy;->onDismissCancelled()V
-Lcom/android/internal/policy/IKeyguardDismissCallback$Stub$Proxy;->onDismissError()V
-Lcom/android/internal/policy/IKeyguardDismissCallback$Stub$Proxy;->onDismissSucceeded()V
-Lcom/android/internal/policy/IKeyguardDismissCallback$Stub;
-Lcom/android/internal/policy/IKeyguardDismissCallback$Stub;-><init>()V
-Lcom/android/internal/policy/IKeyguardDismissCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/policy/IKeyguardDismissCallback;
-Lcom/android/internal/policy/IKeyguardDismissCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/policy/IKeyguardDismissCallback$Stub;->TRANSACTION_onDismissCancelled:I
-Lcom/android/internal/policy/IKeyguardDismissCallback$Stub;->TRANSACTION_onDismissError:I
-Lcom/android/internal/policy/IKeyguardDismissCallback$Stub;->TRANSACTION_onDismissSucceeded:I
-Lcom/android/internal/policy/IKeyguardDismissCallback;
-Lcom/android/internal/policy/IKeyguardDismissCallback;->onDismissCancelled()V
-Lcom/android/internal/policy/IKeyguardDismissCallback;->onDismissError()V
-Lcom/android/internal/policy/IKeyguardDismissCallback;->onDismissSucceeded()V
-Lcom/android/internal/policy/IKeyguardDrawnCallback$Stub$Proxy;
-Lcom/android/internal/policy/IKeyguardDrawnCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/policy/IKeyguardDrawnCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/policy/IKeyguardDrawnCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/policy/IKeyguardDrawnCallback$Stub$Proxy;->onDrawn()V
-Lcom/android/internal/policy/IKeyguardDrawnCallback$Stub;
-Lcom/android/internal/policy/IKeyguardDrawnCallback$Stub;-><init>()V
-Lcom/android/internal/policy/IKeyguardDrawnCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/policy/IKeyguardDrawnCallback;
-Lcom/android/internal/policy/IKeyguardDrawnCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/policy/IKeyguardDrawnCallback$Stub;->TRANSACTION_onDrawn:I
-Lcom/android/internal/policy/IKeyguardDrawnCallback;
-Lcom/android/internal/policy/IKeyguardDrawnCallback;->onDrawn()V
-Lcom/android/internal/policy/IKeyguardExitCallback$Stub$Proxy;
-Lcom/android/internal/policy/IKeyguardExitCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/policy/IKeyguardExitCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/policy/IKeyguardExitCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/policy/IKeyguardExitCallback$Stub$Proxy;->onKeyguardExitResult(Z)V
-Lcom/android/internal/policy/IKeyguardExitCallback$Stub;
-Lcom/android/internal/policy/IKeyguardExitCallback$Stub;-><init>()V
-Lcom/android/internal/policy/IKeyguardExitCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/policy/IKeyguardExitCallback;
-Lcom/android/internal/policy/IKeyguardExitCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/policy/IKeyguardExitCallback$Stub;->TRANSACTION_onKeyguardExitResult:I
-Lcom/android/internal/policy/IKeyguardExitCallback;
-Lcom/android/internal/policy/IKeyguardExitCallback;->onKeyguardExitResult(Z)V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->addStateMonitorCallback(Lcom/android/internal/policy/IKeyguardStateCallback;)V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->dismiss(Lcom/android/internal/policy/IKeyguardDismissCallback;Ljava/lang/CharSequence;)V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->doKeyguardTimeout(Landroid/os/Bundle;)V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onBootCompleted()V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onDreamingStarted()V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onDreamingStopped()V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onFinishedGoingToSleep(IZ)V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onFinishedWakingUp()V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onScreenTurnedOff()V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onScreenTurnedOn()V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onScreenTurningOff()V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onScreenTurningOn(Lcom/android/internal/policy/IKeyguardDrawnCallback;)V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onShortPowerPressedGoHome()V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onStartedGoingToSleep(I)V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onStartedWakingUp()V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onSystemReady()V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->setCurrentUser(I)V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->setKeyguardEnabled(Z)V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->setOccluded(ZZ)V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->setSwitchingUser(Z)V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->startKeyguardExitAnimation(JJ)V
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;->verifyUnlock(Lcom/android/internal/policy/IKeyguardExitCallback;)V
-Lcom/android/internal/policy/IKeyguardService$Stub;
-Lcom/android/internal/policy/IKeyguardService$Stub;-><init>()V
-Lcom/android/internal/policy/IKeyguardService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_addStateMonitorCallback:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_dismiss:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_doKeyguardTimeout:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_onBootCompleted:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_onDreamingStarted:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_onDreamingStopped:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_onFinishedGoingToSleep:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_onFinishedWakingUp:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_onScreenTurnedOff:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_onScreenTurnedOn:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_onScreenTurningOff:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_onScreenTurningOn:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_onShortPowerPressedGoHome:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_onStartedGoingToSleep:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_onStartedWakingUp:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_onSystemReady:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_setCurrentUser:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_setKeyguardEnabled:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_setOccluded:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_setSwitchingUser:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_startKeyguardExitAnimation:I
-Lcom/android/internal/policy/IKeyguardService$Stub;->TRANSACTION_verifyUnlock:I
-Lcom/android/internal/policy/IKeyguardService;
-Lcom/android/internal/policy/IKeyguardService;->addStateMonitorCallback(Lcom/android/internal/policy/IKeyguardStateCallback;)V
-Lcom/android/internal/policy/IKeyguardService;->dismiss(Lcom/android/internal/policy/IKeyguardDismissCallback;Ljava/lang/CharSequence;)V
-Lcom/android/internal/policy/IKeyguardService;->onBootCompleted()V
-Lcom/android/internal/policy/IKeyguardService;->onDreamingStarted()V
-Lcom/android/internal/policy/IKeyguardService;->onDreamingStopped()V
-Lcom/android/internal/policy/IKeyguardService;->onFinishedGoingToSleep(IZ)V
-Lcom/android/internal/policy/IKeyguardService;->onFinishedWakingUp()V
-Lcom/android/internal/policy/IKeyguardService;->onScreenTurnedOff()V
-Lcom/android/internal/policy/IKeyguardService;->onScreenTurnedOn()V
-Lcom/android/internal/policy/IKeyguardService;->onScreenTurningOff()V
-Lcom/android/internal/policy/IKeyguardService;->onScreenTurningOn(Lcom/android/internal/policy/IKeyguardDrawnCallback;)V
-Lcom/android/internal/policy/IKeyguardService;->onShortPowerPressedGoHome()V
-Lcom/android/internal/policy/IKeyguardService;->onStartedGoingToSleep(I)V
-Lcom/android/internal/policy/IKeyguardService;->onStartedWakingUp()V
-Lcom/android/internal/policy/IKeyguardService;->onSystemReady()V
-Lcom/android/internal/policy/IKeyguardService;->setCurrentUser(I)V
-Lcom/android/internal/policy/IKeyguardService;->setOccluded(ZZ)V
-Lcom/android/internal/policy/IKeyguardService;->setSwitchingUser(Z)V
-Lcom/android/internal/policy/IKeyguardService;->startKeyguardExitAnimation(JJ)V
-Lcom/android/internal/policy/IKeyguardService;->verifyUnlock(Lcom/android/internal/policy/IKeyguardExitCallback;)V
-Lcom/android/internal/policy/IKeyguardStateCallback$Stub$Proxy;
-Lcom/android/internal/policy/IKeyguardStateCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/policy/IKeyguardStateCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/policy/IKeyguardStateCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/policy/IKeyguardStateCallback$Stub$Proxy;->onHasLockscreenWallpaperChanged(Z)V
-Lcom/android/internal/policy/IKeyguardStateCallback$Stub$Proxy;->onInputRestrictedStateChanged(Z)V
-Lcom/android/internal/policy/IKeyguardStateCallback$Stub$Proxy;->onShowingStateChanged(Z)V
-Lcom/android/internal/policy/IKeyguardStateCallback$Stub$Proxy;->onSimSecureStateChanged(Z)V
-Lcom/android/internal/policy/IKeyguardStateCallback$Stub$Proxy;->onTrustedChanged(Z)V
-Lcom/android/internal/policy/IKeyguardStateCallback$Stub;
-Lcom/android/internal/policy/IKeyguardStateCallback$Stub;-><init>()V
-Lcom/android/internal/policy/IKeyguardStateCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/policy/IKeyguardStateCallback$Stub;->TRANSACTION_onHasLockscreenWallpaperChanged:I
-Lcom/android/internal/policy/IKeyguardStateCallback$Stub;->TRANSACTION_onInputRestrictedStateChanged:I
-Lcom/android/internal/policy/IKeyguardStateCallback$Stub;->TRANSACTION_onShowingStateChanged:I
-Lcom/android/internal/policy/IKeyguardStateCallback$Stub;->TRANSACTION_onSimSecureStateChanged:I
-Lcom/android/internal/policy/IKeyguardStateCallback$Stub;->TRANSACTION_onTrustedChanged:I
-Lcom/android/internal/policy/IKeyguardStateCallback;
-Lcom/android/internal/policy/IKeyguardStateCallback;->onHasLockscreenWallpaperChanged(Z)V
-Lcom/android/internal/policy/IKeyguardStateCallback;->onInputRestrictedStateChanged(Z)V
-Lcom/android/internal/policy/IKeyguardStateCallback;->onShowingStateChanged(Z)V
-Lcom/android/internal/policy/IKeyguardStateCallback;->onSimSecureStateChanged(Z)V
-Lcom/android/internal/policy/IKeyguardStateCallback;->onTrustedChanged(Z)V
-Lcom/android/internal/policy/IShortcutService$Stub$Proxy;
-Lcom/android/internal/policy/IShortcutService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/policy/IShortcutService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/policy/IShortcutService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/policy/IShortcutService$Stub$Proxy;->notifyShortcutKeyPressed(J)V
-Lcom/android/internal/policy/IShortcutService$Stub;
-Lcom/android/internal/policy/IShortcutService$Stub;-><init>()V
-Lcom/android/internal/policy/IShortcutService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/policy/IShortcutService;
-Lcom/android/internal/policy/IShortcutService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/policy/IShortcutService$Stub;->TRANSACTION_notifyShortcutKeyPressed:I
-Lcom/android/internal/policy/IShortcutService;
-Lcom/android/internal/policy/IShortcutService;->notifyShortcutKeyPressed(J)V
-Lcom/android/internal/R$anim;
-Lcom/android/internal/R$anim;-><init>()V
-Lcom/android/internal/R$anim;->accelerate_decelerate_interpolator:I
-Lcom/android/internal/R$anim;->accelerate_interpolator:I
-Lcom/android/internal/R$anim;->activity_close_exit:I
-Lcom/android/internal/R$anim;->activity_open_enter:I
-Lcom/android/internal/R$anim;->activity_translucent_close_exit:I
-Lcom/android/internal/R$anim;->activity_translucent_open_enter:I
-Lcom/android/internal/R$anim;->anticipate_interpolator:I
-Lcom/android/internal/R$anim;->anticipate_overshoot_interpolator:I
-Lcom/android/internal/R$anim;->app_starting_exit:I
-Lcom/android/internal/R$anim;->bounce_interpolator:I
-Lcom/android/internal/R$anim;->cross_profile_apps_thumbnail_enter:I
-Lcom/android/internal/R$anim;->cycle_interpolator:I
-Lcom/android/internal/R$anim;->decelerate_interpolator:I
-Lcom/android/internal/R$anim;->dock_bottom_enter:I
-Lcom/android/internal/R$anim;->dock_bottom_exit:I
-Lcom/android/internal/R$anim;->dock_bottom_exit_keyguard:I
-Lcom/android/internal/R$anim;->dock_left_enter:I
-Lcom/android/internal/R$anim;->dock_left_exit:I
-Lcom/android/internal/R$anim;->dock_right_enter:I
-Lcom/android/internal/R$anim;->dock_right_exit:I
-Lcom/android/internal/R$anim;->dock_top_enter:I
-Lcom/android/internal/R$anim;->dock_top_exit:I
-Lcom/android/internal/R$anim;->fade_out:I
-Lcom/android/internal/R$anim;->launch_task_behind_source:I
-Lcom/android/internal/R$anim;->linear_interpolator:I
-Lcom/android/internal/R$anim;->lock_screen_behind_enter:I
-Lcom/android/internal/R$anim;->lock_screen_behind_enter_fade_in:I
-Lcom/android/internal/R$anim;->lock_screen_behind_enter_wallpaper:I
-Lcom/android/internal/R$anim;->lock_screen_wallpaper_exit:I
-Lcom/android/internal/R$anim;->overshoot_interpolator:I
-Lcom/android/internal/R$anim;->push_down_in:I
-Lcom/android/internal/R$anim;->push_down_out:I
-Lcom/android/internal/R$anim;->push_up_in:I
-Lcom/android/internal/R$anim;->push_up_out:I
-Lcom/android/internal/R$anim;->rotation_animation_enter:I
-Lcom/android/internal/R$anim;->rotation_animation_jump_exit:I
-Lcom/android/internal/R$anim;->rotation_animation_xfade_exit:I
-Lcom/android/internal/R$anim;->screen_rotate_0_enter:I
-Lcom/android/internal/R$anim;->screen_rotate_0_exit:I
-Lcom/android/internal/R$anim;->screen_rotate_0_frame:I
-Lcom/android/internal/R$anim;->screen_rotate_180_enter:I
-Lcom/android/internal/R$anim;->screen_rotate_180_exit:I
-Lcom/android/internal/R$anim;->screen_rotate_180_frame:I
-Lcom/android/internal/R$anim;->screen_rotate_finish_enter:I
-Lcom/android/internal/R$anim;->screen_rotate_finish_exit:I
-Lcom/android/internal/R$anim;->screen_rotate_finish_frame:I
-Lcom/android/internal/R$anim;->screen_rotate_minus_90_enter:I
-Lcom/android/internal/R$anim;->screen_rotate_minus_90_exit:I
-Lcom/android/internal/R$anim;->screen_rotate_minus_90_frame:I
-Lcom/android/internal/R$anim;->screen_rotate_plus_90_enter:I
-Lcom/android/internal/R$anim;->screen_rotate_plus_90_exit:I
-Lcom/android/internal/R$anim;->screen_rotate_plus_90_frame:I
-Lcom/android/internal/R$anim;->screen_rotate_start_enter:I
-Lcom/android/internal/R$anim;->screen_rotate_start_exit:I
-Lcom/android/internal/R$anim;->screen_rotate_start_frame:I
-Lcom/android/internal/R$anim;->screen_user_enter:I
-Lcom/android/internal/R$anim;->screen_user_exit:I
-Lcom/android/internal/R$anim;->slide_in_child_bottom:I
-Lcom/android/internal/R$anim;->slide_in_left:I
-Lcom/android/internal/R$anim;->slide_in_right:I
-Lcom/android/internal/R$anim;->slide_out_left:I
-Lcom/android/internal/R$anim;->slide_out_right:I
-Lcom/android/internal/R$anim;->task_open_enter:I
-Lcom/android/internal/R$anim;->task_open_enter_cross_profile_apps:I
-Lcom/android/internal/R$anim;->task_open_exit:I
-Lcom/android/internal/R$anim;->voice_activity_close_enter:I
-Lcom/android/internal/R$anim;->voice_activity_close_exit:I
-Lcom/android/internal/R$anim;->voice_activity_open_enter:I
-Lcom/android/internal/R$anim;->voice_activity_open_exit:I
-Lcom/android/internal/R$anim;->wallpaper_open_exit:I
-Lcom/android/internal/R$anim;->window_move_from_decor:I
-Lcom/android/internal/R$animator;
-Lcom/android/internal/R$animator;-><init>()V
-Lcom/android/internal/R$animator;->fade_in:I
-Lcom/android/internal/R$animator;->fade_out:I
-Lcom/android/internal/R$array;
-Lcom/android/internal/R$array;-><init>()V
-Lcom/android/internal/R$array;->carrier_properties:I
-Lcom/android/internal/R$array;->common_nicknames:I
-Lcom/android/internal/R$array;->config_allowedGlobalInstantAppSettings:I
-Lcom/android/internal/R$array;->config_allowedManagedServicesOnLowRamDevices:I
-Lcom/android/internal/R$array;->config_allowedSecureInstantAppSettings:I
-Lcom/android/internal/R$array;->config_allowedSystemInstantAppSettings:I
-Lcom/android/internal/R$array;->config_apfEthTypeBlackList:I
-Lcom/android/internal/R$array;->config_autoBrightnessButtonBacklightValues:I
-Lcom/android/internal/R$array;->config_autoBrightnessDisplayValuesNits:I
-Lcom/android/internal/R$array;->config_autoBrightnessKeyboardBacklightValues:I
-Lcom/android/internal/R$array;->config_autoRotationTiltTolerance:I
-Lcom/android/internal/R$array;->config_availableColorModes:I
-Lcom/android/internal/R$array;->config_batteryPackageTypeService:I
-Lcom/android/internal/R$array;->config_batteryPackageTypeSystem:I
-Lcom/android/internal/R$array;->config_calendarDateVibePattern:I
-Lcom/android/internal/R$array;->config_callBarringMMI:I
-Lcom/android/internal/R$array;->config_cdma_dun_supported_types:I
-Lcom/android/internal/R$array;->config_cdma_home_system:I
-Lcom/android/internal/R$array;->config_cdma_international_roaming_indicators:I
-Lcom/android/internal/R$array;->config_cell_retries_per_error_code:I
-Lcom/android/internal/R$array;->config_clockTickVibePattern:I
-Lcom/android/internal/R$array;->config_convert_to_emergency_number_map:I
-Lcom/android/internal/R$array;->config_defaultFirstUserRestrictions:I
-Lcom/android/internal/R$array;->config_defaultNotificationVibePattern:I
-Lcom/android/internal/R$array;->config_defaultPinnerServiceFiles:I
-Lcom/android/internal/R$array;->config_default_vm_number:I
-Lcom/android/internal/R$array;->config_deviceSpecificSystemServices:I
-Lcom/android/internal/R$array;->config_disabledUntilUsedPreinstalledImes:I
-Lcom/android/internal/R$array;->config_dynamicHysteresisBrightLevels:I
-Lcom/android/internal/R$array;->config_dynamicHysteresisDarkLevels:I
-Lcom/android/internal/R$array;->config_dynamicHysteresisLuxLevels:I
-Lcom/android/internal/R$array;->config_emergency_mcc_codes:I
-Lcom/android/internal/R$array;->config_ephemeralResolverPackage:I
-Lcom/android/internal/R$array;->config_ethernet_interfaces:I
-Lcom/android/internal/R$array;->config_globalActionsList:I
-Lcom/android/internal/R$array;->config_gpsParameters:I
-Lcom/android/internal/R$array;->config_hideWhenDisabled_packageNames:I
-Lcom/android/internal/R$array;->config_keyboardTapVibePattern:I
-Lcom/android/internal/R$array;->config_keySystemUuidMapping:I
-Lcom/android/internal/R$array;->config_locationProviderPackageNames:I
-Lcom/android/internal/R$array;->config_longPressVibePattern:I
-Lcom/android/internal/R$array;->config_minimumBrightnessCurveLux:I
-Lcom/android/internal/R$array;->config_minimumBrightnessCurveNits:I
-Lcom/android/internal/R$array;->config_mobile_tcp_buffers:I
-Lcom/android/internal/R$array;->config_networkNotifySwitches:I
-Lcom/android/internal/R$array;->config_nightDisplayColorTemperatureCoefficients:I
-Lcom/android/internal/R$array;->config_nightDisplayColorTemperatureCoefficientsNative:I
-Lcom/android/internal/R$array;->config_nonBlockableNotificationPackages:I
-Lcom/android/internal/R$array;->config_notificationFallbackVibePattern:I
-Lcom/android/internal/R$array;->config_notificationSignalExtractors:I
-Lcom/android/internal/R$array;->config_oemUsbModeOverride:I
-Lcom/android/internal/R$array;->config_protectedNetworks:I
-Lcom/android/internal/R$array;->config_ringtoneEffectUris:I
-Lcom/android/internal/R$array;->config_safeModeEnabledVibePattern:I
-Lcom/android/internal/R$array;->config_screenBrightnessBacklight:I
-Lcom/android/internal/R$array;->config_screenBrightnessNits:I
-Lcom/android/internal/R$array;->config_serialPorts:I
-Lcom/android/internal/R$array;->config_statusBarIcons:I
-Lcom/android/internal/R$array;->config_system_condition_providers:I
-Lcom/android/internal/R$array;->config_telephonyEuiccDeviceCapabilities:I
-Lcom/android/internal/R$array;->config_telephonyHardware:I
-Lcom/android/internal/R$array;->config_testLocationProviders:I
-Lcom/android/internal/R$array;->config_tether_apndata:I
-Lcom/android/internal/R$array;->config_tether_dhcp_range:I
-Lcom/android/internal/R$array;->config_twoDigitNumberPattern:I
-Lcom/android/internal/R$array;->config_usbHostBlacklist:I
-Lcom/android/internal/R$array;->config_virtualKeyVibePattern:I
-Lcom/android/internal/R$array;->config_vvmSmsFilterRegexes:I
-Lcom/android/internal/R$array;->config_wearActivityModeRadios:I
-Lcom/android/internal/R$array;->dial_string_replace:I
-Lcom/android/internal/R$array;->disallowed_apps_managed_device:I
-Lcom/android/internal/R$array;->disallowed_apps_managed_profile:I
-Lcom/android/internal/R$array;->disallowed_apps_managed_user:I
-Lcom/android/internal/R$array;->emailAddressTypes:I
-Lcom/android/internal/R$array;->fingerprint_acquired_vendor:I
-Lcom/android/internal/R$array;->fingerprint_error_vendor:I
-Lcom/android/internal/R$array;->imProtocols:I
-Lcom/android/internal/R$array;->networkAttributes:I
-Lcom/android/internal/R$array;->networks_not_clear_data:I
-Lcom/android/internal/R$array;->network_switch_type_name:I
-Lcom/android/internal/R$array;->no_ems_support_sim_operators:I
-Lcom/android/internal/R$array;->organizationTypes:I
-Lcom/android/internal/R$array;->phoneTypes:I
-Lcom/android/internal/R$array;->postalAddressTypes:I
-Lcom/android/internal/R$array;->preloaded_color_state_lists:I
-Lcom/android/internal/R$array;->preloaded_drawables:I
-Lcom/android/internal/R$array;->preloaded_freeform_multi_window_drawables:I
-Lcom/android/internal/R$array;->radioAttributes:I
-Lcom/android/internal/R$array;->required_apps_managed_device:I
-Lcom/android/internal/R$array;->required_apps_managed_profile:I
-Lcom/android/internal/R$array;->required_apps_managed_user:I
-Lcom/android/internal/R$array;->resolver_target_actions_pin:I
-Lcom/android/internal/R$array;->resolver_target_actions_unpin:I
-Lcom/android/internal/R$array;->sim_colors:I
-Lcom/android/internal/R$array;->special_locale_codes:I
-Lcom/android/internal/R$array;->special_locale_names:I
-Lcom/android/internal/R$array;->supported_locales:I
-Lcom/android/internal/R$array;->vendor_disallowed_apps_managed_device:I
-Lcom/android/internal/R$array;->vendor_disallowed_apps_managed_profile:I
-Lcom/android/internal/R$array;->vendor_disallowed_apps_managed_user:I
-Lcom/android/internal/R$array;->vendor_required_apps_managed_device:I
-Lcom/android/internal/R$array;->vendor_required_apps_managed_profile:I
-Lcom/android/internal/R$array;->vendor_required_apps_managed_user:I
-Lcom/android/internal/R$array;->wfcOperatorErrorAlertMessages:I
-Lcom/android/internal/R$array;->wfcOperatorErrorNotificationMessages:I
-Lcom/android/internal/R$array;->wfcSpnFormats:I
-Lcom/android/internal/R$attr;
-Lcom/android/internal/R$attr;-><init>()V
-Lcom/android/internal/R$attr;->absListViewStyle:I
-Lcom/android/internal/R$attr;->accessibilityEventTypes:I
-Lcom/android/internal/R$attr;->accessibilityFeedbackType:I
-Lcom/android/internal/R$attr;->accessibilityFlags:I
-Lcom/android/internal/R$attr;->accessibilityFocusedDrawable:I
-Lcom/android/internal/R$attr;->accessibilityHeading:I
-Lcom/android/internal/R$attr;->accessibilityLiveRegion:I
-Lcom/android/internal/R$attr;->accessibilityPaneTitle:I
-Lcom/android/internal/R$attr;->accessibilityTraversalAfter:I
-Lcom/android/internal/R$attr;->accessibilityTraversalBefore:I
-Lcom/android/internal/R$attr;->accountPreferences:I
-Lcom/android/internal/R$attr;->accountType:I
-Lcom/android/internal/R$attr;->action:I
-Lcom/android/internal/R$attr;->actionBarDivider:I
-Lcom/android/internal/R$attr;->actionBarItemBackground:I
-Lcom/android/internal/R$attr;->actionBarPopupTheme:I
-Lcom/android/internal/R$attr;->actionBarSize:I
-Lcom/android/internal/R$attr;->actionBarSplitStyle:I
-Lcom/android/internal/R$attr;->actionBarTabBarStyle:I
-Lcom/android/internal/R$attr;->actionBarTabStyle:I
-Lcom/android/internal/R$attr;->actionBarTabTextStyle:I
-Lcom/android/internal/R$attr;->actionBarTheme:I
-Lcom/android/internal/R$attr;->actionBarWidgetTheme:I
-Lcom/android/internal/R$attr;->actionButtonStyle:I
-Lcom/android/internal/R$attr;->actionDropDownStyle:I
-Lcom/android/internal/R$attr;->actionLayout:I
-Lcom/android/internal/R$attr;->actionMenuTextAppearance:I
-Lcom/android/internal/R$attr;->actionMenuTextColor:I
-Lcom/android/internal/R$attr;->actionModeBackground:I
-Lcom/android/internal/R$attr;->actionModeCloseButtonStyle:I
-Lcom/android/internal/R$attr;->actionModeCloseDrawable:I
-Lcom/android/internal/R$attr;->actionModeCopyDrawable:I
-Lcom/android/internal/R$attr;->actionModeCutDrawable:I
-Lcom/android/internal/R$attr;->actionModeFindDrawable:I
-Lcom/android/internal/R$attr;->actionModePasteDrawable:I
-Lcom/android/internal/R$attr;->actionModePopupWindowStyle:I
-Lcom/android/internal/R$attr;->actionModeSelectAllDrawable:I
-Lcom/android/internal/R$attr;->actionModeShareDrawable:I
-Lcom/android/internal/R$attr;->actionModeSplitBackground:I
-Lcom/android/internal/R$attr;->actionModeStyle:I
-Lcom/android/internal/R$attr;->actionModeWebSearchDrawable:I
-Lcom/android/internal/R$attr;->actionOverflowButtonStyle:I
-Lcom/android/internal/R$attr;->actionOverflowMenuStyle:I
-Lcom/android/internal/R$attr;->actionProviderClass:I
-Lcom/android/internal/R$attr;->actionViewClass:I
-Lcom/android/internal/R$attr;->activatedBackgroundIndicator:I
-Lcom/android/internal/R$attr;->activityCloseEnterAnimation:I
-Lcom/android/internal/R$attr;->activityCloseExitAnimation:I
-Lcom/android/internal/R$attr;->activityOpenEnterAnimation:I
-Lcom/android/internal/R$attr;->activityOpenExitAnimation:I
-Lcom/android/internal/R$attr;->addPrintersActivity:I
-Lcom/android/internal/R$attr;->addStatesFromChildren:I
-Lcom/android/internal/R$attr;->adjustViewBounds:I
-Lcom/android/internal/R$attr;->advancedPrintOptionsActivity:I
-Lcom/android/internal/R$attr;->alertDialogCenterButtons:I
-Lcom/android/internal/R$attr;->alertDialogIcon:I
-Lcom/android/internal/R$attr;->alertDialogStyle:I
-Lcom/android/internal/R$attr;->alertDialogTheme:I
-Lcom/android/internal/R$attr;->alignmentMode:I
-Lcom/android/internal/R$attr;->allContactsName:I
-Lcom/android/internal/R$attr;->allowBackup:I
-Lcom/android/internal/R$attr;->allowClearUserData:I
-Lcom/android/internal/R$attr;->allowEmbedded:I
-Lcom/android/internal/R$attr;->allowParallelSyncs:I
-Lcom/android/internal/R$attr;->allowSingleTap:I
-Lcom/android/internal/R$attr;->allowTaskReparenting:I
-Lcom/android/internal/R$attr;->allowUndo:I
-Lcom/android/internal/R$attr;->alpha:I
-Lcom/android/internal/R$attr;->alphabeticModifiers:I
-Lcom/android/internal/R$attr;->alphabeticShortcut:I
-Lcom/android/internal/R$attr;->alwaysDrawnWithCache:I
-Lcom/android/internal/R$attr;->alwaysRetainTaskState:I
-Lcom/android/internal/R$attr;->ambientShadowAlpha:I
-Lcom/android/internal/R$attr;->amPmBackgroundColor:I
-Lcom/android/internal/R$attr;->amPmTextColor:I
-Lcom/android/internal/R$attr;->angle:I
-Lcom/android/internal/R$attr;->animateFirstView:I
-Lcom/android/internal/R$attr;->animateLayoutChanges:I
-Lcom/android/internal/R$attr;->animateOnClick:I
-Lcom/android/internal/R$attr;->animation:I
-Lcom/android/internal/R$attr;->animationCache:I
-Lcom/android/internal/R$attr;->animationDuration:I
-Lcom/android/internal/R$attr;->animationOrder:I
-Lcom/android/internal/R$attr;->animationResolution:I
-Lcom/android/internal/R$attr;->antialias:I
-Lcom/android/internal/R$attr;->anyDensity:I
-Lcom/android/internal/R$attr;->apduServiceBanner:I
-Lcom/android/internal/R$attr;->apiKey:I
-Lcom/android/internal/R$attr;->appCategory:I
-Lcom/android/internal/R$attr;->appComponentFactory:I
-Lcom/android/internal/R$attr;->author:I
-Lcom/android/internal/R$attr;->authorities:I
-Lcom/android/internal/R$attr;->autoAdvanceViewId:I
-Lcom/android/internal/R$attr;->autoCompleteTextViewStyle:I
-Lcom/android/internal/R$attr;->autofillDatasetPickerMaxHeight:I
-Lcom/android/internal/R$attr;->autofillDatasetPickerMaxWidth:I
-Lcom/android/internal/R$attr;->autofilledHighlight:I
-Lcom/android/internal/R$attr;->autofillHints:I
-Lcom/android/internal/R$attr;->autofillSaveCustomSubtitleMaxHeight:I
-Lcom/android/internal/R$attr;->autoLink:I
-Lcom/android/internal/R$attr;->autoMirrored:I
-Lcom/android/internal/R$attr;->autoRemoveFromRecents:I
-Lcom/android/internal/R$attr;->autoSizeMaxTextSize:I
-Lcom/android/internal/R$attr;->autoSizeMinTextSize:I
-Lcom/android/internal/R$attr;->autoSizePresetSizes:I
-Lcom/android/internal/R$attr;->autoSizeStepGranularity:I
-Lcom/android/internal/R$attr;->autoSizeTextType:I
-Lcom/android/internal/R$attr;->autoStart:I
-Lcom/android/internal/R$attr;->autoText:I
-Lcom/android/internal/R$attr;->autoUrlDetect:I
-Lcom/android/internal/R$attr;->autoVerify:I
-Lcom/android/internal/R$attr;->background:I
-Lcom/android/internal/R$attr;->backgroundDimAmount:I
-Lcom/android/internal/R$attr;->backgroundDimEnabled:I
-Lcom/android/internal/R$attr;->backgroundSplit:I
-Lcom/android/internal/R$attr;->backgroundStacked:I
-Lcom/android/internal/R$attr;->backgroundTint:I
-Lcom/android/internal/R$attr;->backgroundTintMode:I
-Lcom/android/internal/R$attr;->backupAgent:I
-Lcom/android/internal/R$attr;->backupInForeground:I
-Lcom/android/internal/R$attr;->banner:I
-Lcom/android/internal/R$attr;->baseline:I
-Lcom/android/internal/R$attr;->baselineAlignBottom:I
-Lcom/android/internal/R$attr;->baselineAligned:I
-Lcom/android/internal/R$attr;->baselineAlignedChildIndex:I
-Lcom/android/internal/R$attr;->bitmap:I
-Lcom/android/internal/R$attr;->borderlessButtonStyle:I
-Lcom/android/internal/R$attr;->bottom:I
-Lcom/android/internal/R$attr;->bottomBright:I
-Lcom/android/internal/R$attr;->bottomDark:I
-Lcom/android/internal/R$attr;->bottomLeftRadius:I
-Lcom/android/internal/R$attr;->bottomMedium:I
-Lcom/android/internal/R$attr;->bottomOffset:I
-Lcom/android/internal/R$attr;->bottomRightRadius:I
-Lcom/android/internal/R$attr;->breadCrumbShortTitle:I
-Lcom/android/internal/R$attr;->breadCrumbTitle:I
-Lcom/android/internal/R$attr;->breakStrategy:I
-Lcom/android/internal/R$attr;->bufferType:I
-Lcom/android/internal/R$attr;->button:I
-Lcom/android/internal/R$attr;->buttonBarButtonStyle:I
-Lcom/android/internal/R$attr;->buttonBarNegativeButtonStyle:I
-Lcom/android/internal/R$attr;->buttonBarNeutralButtonStyle:I
-Lcom/android/internal/R$attr;->buttonBarPositiveButtonStyle:I
-Lcom/android/internal/R$attr;->buttonBarStyle:I
-Lcom/android/internal/R$attr;->buttonCornerRadius:I
-Lcom/android/internal/R$attr;->buttonGravity:I
-Lcom/android/internal/R$attr;->buttonStyleInset:I
-Lcom/android/internal/R$attr;->buttonStyleSmall:I
-Lcom/android/internal/R$attr;->buttonStyleToggle:I
-Lcom/android/internal/R$attr;->buttonTint:I
-Lcom/android/internal/R$attr;->buttonTintMode:I
-Lcom/android/internal/R$attr;->cacheColorHint:I
-Lcom/android/internal/R$attr;->calendarTextColor:I
-Lcom/android/internal/R$attr;->calendarViewShown:I
-Lcom/android/internal/R$attr;->calendarViewStyle:I
-Lcom/android/internal/R$attr;->canControlMagnification:I
-Lcom/android/internal/R$attr;->candidatesTextStyleSpans:I
-Lcom/android/internal/R$attr;->canPerformGestures:I
-Lcom/android/internal/R$attr;->canRecord:I
-Lcom/android/internal/R$attr;->canRequestEnhancedWebAccessibility:I
-Lcom/android/internal/R$attr;->canRequestFilterKeyEvents:I
-Lcom/android/internal/R$attr;->canRequestFingerprintGestures:I
-Lcom/android/internal/R$attr;->canRequestTouchExplorationMode:I
-Lcom/android/internal/R$attr;->canRetrieveWindowContent:I
-Lcom/android/internal/R$attr;->cantSaveState:I
-Lcom/android/internal/R$attr;->capitalize:I
-Lcom/android/internal/R$attr;->category:I
-Lcom/android/internal/R$attr;->centerBright:I
-Lcom/android/internal/R$attr;->centerColor:I
-Lcom/android/internal/R$attr;->centerDark:I
-Lcom/android/internal/R$attr;->centerMedium:I
-Lcom/android/internal/R$attr;->centerX:I
-Lcom/android/internal/R$attr;->centerY:I
-Lcom/android/internal/R$attr;->certDigest:I
-Lcom/android/internal/R$attr;->checkable:I
-Lcom/android/internal/R$attr;->checkableBehavior:I
-Lcom/android/internal/R$attr;->checkBoxPreferenceStyle:I
-Lcom/android/internal/R$attr;->checkboxStyle:I
-Lcom/android/internal/R$attr;->checked:I
-Lcom/android/internal/R$attr;->checkedButton:I
-Lcom/android/internal/R$attr;->checkedTextViewStyle:I
-Lcom/android/internal/R$attr;->checkMark:I
-Lcom/android/internal/R$attr;->checkMarkGravity:I
-Lcom/android/internal/R$attr;->checkMarkTint:I
-Lcom/android/internal/R$attr;->checkMarkTintMode:I
-Lcom/android/internal/R$attr;->childDivider:I
-Lcom/android/internal/R$attr;->childIndicator:I
-Lcom/android/internal/R$attr;->childIndicatorEnd:I
-Lcom/android/internal/R$attr;->childIndicatorLeft:I
-Lcom/android/internal/R$attr;->childIndicatorRight:I
-Lcom/android/internal/R$attr;->childIndicatorStart:I
-Lcom/android/internal/R$attr;->choiceMode:I
-Lcom/android/internal/R$attr;->classLoader:I
-Lcom/android/internal/R$attr;->clearTaskOnLaunch:I
-Lcom/android/internal/R$attr;->clickable:I
-Lcom/android/internal/R$attr;->clipChildren:I
-Lcom/android/internal/R$attr;->clipOrientation:I
-Lcom/android/internal/R$attr;->clipToPadding:I
-Lcom/android/internal/R$attr;->closeIcon:I
-Lcom/android/internal/R$attr;->closeItemLayout:I
-Lcom/android/internal/R$attr;->codes:I
-Lcom/android/internal/R$attr;->collapseColumns:I
-Lcom/android/internal/R$attr;->collapseContentDescription:I
-Lcom/android/internal/R$attr;->collapseIcon:I
-Lcom/android/internal/R$attr;->color:I
-Lcom/android/internal/R$attr;->colorAccent:I
-Lcom/android/internal/R$attr;->colorActivatedHighlight:I
-Lcom/android/internal/R$attr;->colorBackground:I
-Lcom/android/internal/R$attr;->colorBackgroundCacheHint:I
-Lcom/android/internal/R$attr;->colorBackgroundFloating:I
-Lcom/android/internal/R$attr;->colorButtonNormal:I
-Lcom/android/internal/R$attr;->colorControlActivated:I
-Lcom/android/internal/R$attr;->colorControlHighlight:I
-Lcom/android/internal/R$attr;->colorControlNormal:I
-Lcom/android/internal/R$attr;->colorEdgeEffect:I
-Lcom/android/internal/R$attr;->colorError:I
-Lcom/android/internal/R$attr;->colorFocusedHighlight:I
-Lcom/android/internal/R$attr;->colorForeground:I
-Lcom/android/internal/R$attr;->colorForegroundInverse:I
-Lcom/android/internal/R$attr;->colorLongPressedHighlight:I
-Lcom/android/internal/R$attr;->colorMode:I
-Lcom/android/internal/R$attr;->colorMultiSelectHighlight:I
-Lcom/android/internal/R$attr;->colorPressedHighlight:I
-Lcom/android/internal/R$attr;->colorPrimary:I
-Lcom/android/internal/R$attr;->colorPrimaryDark:I
-Lcom/android/internal/R$attr;->colorProgressBackgroundNormal:I
-Lcom/android/internal/R$attr;->colorSecondary:I
-Lcom/android/internal/R$attr;->columnCount:I
-Lcom/android/internal/R$attr;->columnDelay:I
-Lcom/android/internal/R$attr;->columnOrderPreserved:I
-Lcom/android/internal/R$attr;->columnWidth:I
-Lcom/android/internal/R$attr;->commitIcon:I
-Lcom/android/internal/R$attr;->compatibleWidthLimitDp:I
-Lcom/android/internal/R$attr;->compileSdkVersion:I
-Lcom/android/internal/R$attr;->compileSdkVersionCodename:I
-Lcom/android/internal/R$attr;->completionHint:I
-Lcom/android/internal/R$attr;->completionHintView:I
-Lcom/android/internal/R$attr;->completionThreshold:I
-Lcom/android/internal/R$attr;->configChanges:I
-Lcom/android/internal/R$attr;->configure:I
-Lcom/android/internal/R$attr;->constantSize:I
-Lcom/android/internal/R$attr;->content:I
-Lcom/android/internal/R$attr;->contentAgeHint:I
-Lcom/android/internal/R$attr;->contentAuthority:I
-Lcom/android/internal/R$attr;->contentDescription:I
-Lcom/android/internal/R$attr;->contentInsetEnd:I
-Lcom/android/internal/R$attr;->contentInsetEndWithActions:I
-Lcom/android/internal/R$attr;->contentInsetLeft:I
-Lcom/android/internal/R$attr;->contentInsetRight:I
-Lcom/android/internal/R$attr;->contentInsetStart:I
-Lcom/android/internal/R$attr;->contentInsetStartWithNavigation:I
-Lcom/android/internal/R$attr;->contextClickable:I
-Lcom/android/internal/R$attr;->contextDescription:I
-Lcom/android/internal/R$attr;->contextPopupMenuStyle:I
-Lcom/android/internal/R$attr;->contextUri:I
-Lcom/android/internal/R$attr;->controlX1:I
-Lcom/android/internal/R$attr;->controlX2:I
-Lcom/android/internal/R$attr;->controlY1:I
-Lcom/android/internal/R$attr;->controlY2:I
-Lcom/android/internal/R$attr;->countDown:I
-Lcom/android/internal/R$attr;->country:I
-Lcom/android/internal/R$attr;->cropToPadding:I
-Lcom/android/internal/R$attr;->cursorVisible:I
-Lcom/android/internal/R$attr;->customNavigationLayout:I
-Lcom/android/internal/R$attr;->customTokens:I
-Lcom/android/internal/R$attr;->cycles:I
-Lcom/android/internal/R$attr;->dashGap:I
-Lcom/android/internal/R$attr;->dashWidth:I
-Lcom/android/internal/R$attr;->data:I
-Lcom/android/internal/R$attr;->datePickerDialogTheme:I
-Lcom/android/internal/R$attr;->datePickerMode:I
-Lcom/android/internal/R$attr;->datePickerStyle:I
-Lcom/android/internal/R$attr;->dateTextAppearance:I
-Lcom/android/internal/R$attr;->dayOfWeekBackground:I
-Lcom/android/internal/R$attr;->dayOfWeekTextAppearance:I
-Lcom/android/internal/R$attr;->debuggable:I
-Lcom/android/internal/R$attr;->defaultFocusHighlightEnabled:I
-Lcom/android/internal/R$attr;->defaultHeight:I
-Lcom/android/internal/R$attr;->defaultToDeviceProtectedStorage:I
-Lcom/android/internal/R$attr;->defaultValue:I
-Lcom/android/internal/R$attr;->defaultWidth:I
-Lcom/android/internal/R$attr;->delay:I
-Lcom/android/internal/R$attr;->dependency:I
-Lcom/android/internal/R$attr;->descendantFocusability:I
-Lcom/android/internal/R$attr;->detachWallpaper:I
-Lcom/android/internal/R$attr;->detailColumn:I
-Lcom/android/internal/R$attr;->detailsElementBackground:I
-Lcom/android/internal/R$attr;->detailSocialSummary:I
-Lcom/android/internal/R$attr;->dial:I
-Lcom/android/internal/R$attr;->dialogCornerRadius:I
-Lcom/android/internal/R$attr;->dialogCustomTitleDecorLayout:I
-Lcom/android/internal/R$attr;->dialogIcon:I
-Lcom/android/internal/R$attr;->dialogLayout:I
-Lcom/android/internal/R$attr;->dialogMessage:I
-Lcom/android/internal/R$attr;->dialogPreferenceStyle:I
-Lcom/android/internal/R$attr;->dialogPreferredPadding:I
-Lcom/android/internal/R$attr;->dialogTheme:I
-Lcom/android/internal/R$attr;->dialogTitle:I
-Lcom/android/internal/R$attr;->dialogTitleDecorLayout:I
-Lcom/android/internal/R$attr;->dialogTitleIconsDecorLayout:I
-Lcom/android/internal/R$attr;->digits:I
-Lcom/android/internal/R$attr;->directBootAware:I
-Lcom/android/internal/R$attr;->direction:I
-Lcom/android/internal/R$attr;->directionDescriptions:I
-Lcom/android/internal/R$attr;->directionPriority:I
-Lcom/android/internal/R$attr;->disabledAlpha:I
-Lcom/android/internal/R$attr;->disableDependentsState:I
-Lcom/android/internal/R$attr;->displayOptions:I
-Lcom/android/internal/R$attr;->dither:I
-Lcom/android/internal/R$attr;->divider:I
-Lcom/android/internal/R$attr;->dividerHeight:I
-Lcom/android/internal/R$attr;->dividerHorizontal:I
-Lcom/android/internal/R$attr;->dividerPadding:I
-Lcom/android/internal/R$attr;->dividerVertical:I
-Lcom/android/internal/R$attr;->documentLaunchMode:I
-Lcom/android/internal/R$attr;->drawable:I
-Lcom/android/internal/R$attr;->drawableBottom:I
-Lcom/android/internal/R$attr;->drawableEnd:I
-Lcom/android/internal/R$attr;->drawableLeft:I
-Lcom/android/internal/R$attr;->drawablePadding:I
-Lcom/android/internal/R$attr;->drawableRight:I
-Lcom/android/internal/R$attr;->drawableStart:I
-Lcom/android/internal/R$attr;->drawableTint:I
-Lcom/android/internal/R$attr;->drawableTintMode:I
-Lcom/android/internal/R$attr;->drawableTop:I
-Lcom/android/internal/R$attr;->drawingCacheQuality:I
-Lcom/android/internal/R$attr;->drawSelectorOnTop:I
-Lcom/android/internal/R$attr;->dropDownAnchor:I
-Lcom/android/internal/R$attr;->dropDownHeight:I
-Lcom/android/internal/R$attr;->dropDownHintAppearance:I
-Lcom/android/internal/R$attr;->dropDownHorizontalOffset:I
-Lcom/android/internal/R$attr;->dropDownItemStyle:I
-Lcom/android/internal/R$attr;->dropDownListViewStyle:I
-Lcom/android/internal/R$attr;->dropDownSelector:I
-Lcom/android/internal/R$attr;->dropDownSpinnerStyle:I
-Lcom/android/internal/R$attr;->dropDownVerticalOffset:I
-Lcom/android/internal/R$attr;->dropDownWidth:I
-Lcom/android/internal/R$attr;->duplicateParentState:I
-Lcom/android/internal/R$attr;->duration:I
-Lcom/android/internal/R$attr;->editable:I
-Lcom/android/internal/R$attr;->editorExtras:I
-Lcom/android/internal/R$attr;->editTextBackground:I
-Lcom/android/internal/R$attr;->editTextColor:I
-Lcom/android/internal/R$attr;->editTextPreferenceStyle:I
-Lcom/android/internal/R$attr;->elegantTextHeight:I
-Lcom/android/internal/R$attr;->elevation:I
-Lcom/android/internal/R$attr;->ellipsize:I
-Lcom/android/internal/R$attr;->ems:I
-Lcom/android/internal/R$attr;->enabled:I
-Lcom/android/internal/R$attr;->enableVrMode:I
-Lcom/android/internal/R$attr;->end:I
-Lcom/android/internal/R$attr;->endColor:I
-Lcom/android/internal/R$attr;->endX:I
-Lcom/android/internal/R$attr;->endY:I
-Lcom/android/internal/R$attr;->endYear:I
-Lcom/android/internal/R$attr;->enterFadeDuration:I
-Lcom/android/internal/R$attr;->entries:I
-Lcom/android/internal/R$attr;->entryValues:I
-Lcom/android/internal/R$attr;->eventsInterceptionEnabled:I
-Lcom/android/internal/R$attr;->excludeClass:I
-Lcom/android/internal/R$attr;->excludeFromRecents:I
-Lcom/android/internal/R$attr;->excludeId:I
-Lcom/android/internal/R$attr;->excludeName:I
-Lcom/android/internal/R$attr;->exitFadeDuration:I
-Lcom/android/internal/R$attr;->expandableListPreferredChildIndicatorLeft:I
-Lcom/android/internal/R$attr;->expandableListPreferredChildIndicatorRight:I
-Lcom/android/internal/R$attr;->expandableListPreferredChildPaddingLeft:I
-Lcom/android/internal/R$attr;->expandableListPreferredItemIndicatorLeft:I
-Lcom/android/internal/R$attr;->expandableListPreferredItemIndicatorRight:I
-Lcom/android/internal/R$attr;->expandableListPreferredItemPaddingLeft:I
-Lcom/android/internal/R$attr;->expandableListViewStyle:I
-Lcom/android/internal/R$attr;->expandableListViewWhiteStyle:I
-Lcom/android/internal/R$attr;->exported:I
-Lcom/android/internal/R$attr;->externalRouteEnabledDrawable:I
-Lcom/android/internal/R$attr;->externalService:I
-Lcom/android/internal/R$attr;->extractNativeLibs:I
-Lcom/android/internal/R$attr;->extraTension:I
-Lcom/android/internal/R$attr;->factor:I
-Lcom/android/internal/R$attr;->fadeDuration:I
-Lcom/android/internal/R$attr;->fadeEnabled:I
-Lcom/android/internal/R$attr;->fadeOffset:I
-Lcom/android/internal/R$attr;->fadeScrollbars:I
-Lcom/android/internal/R$attr;->fadingEdge:I
-Lcom/android/internal/R$attr;->fadingEdgeLength:I
-Lcom/android/internal/R$attr;->fadingMode:I
-Lcom/android/internal/R$attr;->fallbackLineSpacing:I
-Lcom/android/internal/R$attr;->fastScrollAlwaysVisible:I
-Lcom/android/internal/R$attr;->fastScrollEnabled:I
-Lcom/android/internal/R$attr;->fastScrollOverlayPosition:I
-Lcom/android/internal/R$attr;->fastScrollPreviewBackgroundLeft:I
-Lcom/android/internal/R$attr;->fastScrollPreviewBackgroundRight:I
-Lcom/android/internal/R$attr;->fastScrollStyle:I
-Lcom/android/internal/R$attr;->fastScrollTextColor:I
-Lcom/android/internal/R$attr;->fastScrollThumbDrawable:I
-Lcom/android/internal/R$attr;->fastScrollTrackDrawable:I
-Lcom/android/internal/R$attr;->fillAfter:I
-Lcom/android/internal/R$attr;->fillAlpha:I
-Lcom/android/internal/R$attr;->fillBefore:I
-Lcom/android/internal/R$attr;->fillColor:I
-Lcom/android/internal/R$attr;->fillEnabled:I
-Lcom/android/internal/R$attr;->fillType:I
-Lcom/android/internal/R$attr;->fillViewport:I
-Lcom/android/internal/R$attr;->filter:I
-Lcom/android/internal/R$attr;->filterTouchesWhenObscured:I
-Lcom/android/internal/R$attr;->fingerprintAuthDrawable:I
-Lcom/android/internal/R$attr;->finishOnCloseSystemDialogs:I
-Lcom/android/internal/R$attr;->finishOnTaskLaunch:I
-Lcom/android/internal/R$attr;->firstBaselineToTopHeight:I
-Lcom/android/internal/R$attr;->firstDayOfWeek:I
-Lcom/android/internal/R$attr;->fitsSystemWindows:I
-Lcom/android/internal/R$attr;->flipInterval:I
-Lcom/android/internal/R$attr;->floatingToolbarDividerColor:I
-Lcom/android/internal/R$attr;->focusable:I
-Lcom/android/internal/R$attr;->focusableInTouchMode:I
-Lcom/android/internal/R$attr;->focusedByDefault:I
-Lcom/android/internal/R$attr;->focusedMonthDateColor:I
-Lcom/android/internal/R$attr;->font:I
-Lcom/android/internal/R$attr;->fontFamily:I
-Lcom/android/internal/R$attr;->fontFeatureSettings:I
-Lcom/android/internal/R$attr;->fontProviderAuthority:I
-Lcom/android/internal/R$attr;->fontProviderCerts:I
-Lcom/android/internal/R$attr;->fontProviderPackage:I
-Lcom/android/internal/R$attr;->fontProviderQuery:I
-Lcom/android/internal/R$attr;->fontStyle:I
-Lcom/android/internal/R$attr;->fontVariationSettings:I
-Lcom/android/internal/R$attr;->fontWeight:I
-Lcom/android/internal/R$attr;->footerDividersEnabled:I
-Lcom/android/internal/R$attr;->forceHasOverlappingRendering:I
-Lcom/android/internal/R$attr;->foreground:I
-Lcom/android/internal/R$attr;->foregroundGravity:I
-Lcom/android/internal/R$attr;->foregroundTint:I
-Lcom/android/internal/R$attr;->foregroundTintMode:I
-Lcom/android/internal/R$attr;->format12Hour:I
-Lcom/android/internal/R$attr;->format24Hour:I
-Lcom/android/internal/R$attr;->format:I
-Lcom/android/internal/R$attr;->fraction:I
-Lcom/android/internal/R$attr;->fragment:I
-Lcom/android/internal/R$attr;->fragmentAllowEnterTransitionOverlap:I
-Lcom/android/internal/R$attr;->fragmentAllowReturnTransitionOverlap:I
-Lcom/android/internal/R$attr;->fragmentBreadCrumbsStyle:I
-Lcom/android/internal/R$attr;->fragmentCloseEnterAnimation:I
-Lcom/android/internal/R$attr;->fragmentCloseExitAnimation:I
-Lcom/android/internal/R$attr;->fragmentEnterTransition:I
-Lcom/android/internal/R$attr;->fragmentExitTransition:I
-Lcom/android/internal/R$attr;->fragmentFadeEnterAnimation:I
-Lcom/android/internal/R$attr;->fragmentFadeExitAnimation:I
-Lcom/android/internal/R$attr;->fragmentOpenEnterAnimation:I
-Lcom/android/internal/R$attr;->fragmentOpenExitAnimation:I
-Lcom/android/internal/R$attr;->fragmentReenterTransition:I
-Lcom/android/internal/R$attr;->fragmentReturnTransition:I
-Lcom/android/internal/R$attr;->fragmentSharedElementEnterTransition:I
-Lcom/android/internal/R$attr;->fragmentSharedElementReturnTransition:I
-Lcom/android/internal/R$attr;->freezesText:I
-Lcom/android/internal/R$attr;->fromAlpha:I
-Lcom/android/internal/R$attr;->fromDegrees:I
-Lcom/android/internal/R$attr;->fromId:I
-Lcom/android/internal/R$attr;->fromScene:I
-Lcom/android/internal/R$attr;->fromXDelta:I
-Lcom/android/internal/R$attr;->fromXScale:I
-Lcom/android/internal/R$attr;->fromYDelta:I
-Lcom/android/internal/R$attr;->fromYScale:I
-Lcom/android/internal/R$attr;->fullBackupContent:I
-Lcom/android/internal/R$attr;->fullBackupOnly:I
-Lcom/android/internal/R$attr;->fullBright:I
-Lcom/android/internal/R$attr;->fullDark:I
-Lcom/android/internal/R$attr;->functionalTest:I
-Lcom/android/internal/R$attr;->galleryItemBackground:I
-Lcom/android/internal/R$attr;->galleryStyle:I
-Lcom/android/internal/R$attr;->gestureColor:I
-Lcom/android/internal/R$attr;->gestureOverlayViewStyle:I
-Lcom/android/internal/R$attr;->gestureStrokeAngleThreshold:I
-Lcom/android/internal/R$attr;->gestureStrokeLengthThreshold:I
-Lcom/android/internal/R$attr;->gestureStrokeSquarenessThreshold:I
-Lcom/android/internal/R$attr;->gestureStrokeType:I
-Lcom/android/internal/R$attr;->gestureStrokeWidth:I
-Lcom/android/internal/R$attr;->glEsVersion:I
-Lcom/android/internal/R$attr;->goIcon:I
-Lcom/android/internal/R$attr;->gradientRadius:I
-Lcom/android/internal/R$attr;->grantUriPermissions:I
-Lcom/android/internal/R$attr;->gravity:I
-Lcom/android/internal/R$attr;->gridViewStyle:I
-Lcom/android/internal/R$attr;->groupIndicator:I
-Lcom/android/internal/R$attr;->handle:I
-Lcom/android/internal/R$attr;->handleProfiling:I
-Lcom/android/internal/R$attr;->hand_hour:I
-Lcom/android/internal/R$attr;->hand_minute:I
-Lcom/android/internal/R$attr;->hapticFeedbackEnabled:I
-Lcom/android/internal/R$attr;->hardwareAccelerated:I
-Lcom/android/internal/R$attr;->hasCode:I
-Lcom/android/internal/R$attr;->hash:I
-Lcom/android/internal/R$attr;->headerAmPmTextAppearance:I
-Lcom/android/internal/R$attr;->headerBackground:I
-Lcom/android/internal/R$attr;->headerDayOfMonthTextAppearance:I
-Lcom/android/internal/R$attr;->headerDividersEnabled:I
-Lcom/android/internal/R$attr;->headerMonthTextAppearance:I
-Lcom/android/internal/R$attr;->headerTimeTextAppearance:I
-Lcom/android/internal/R$attr;->headerYearTextAppearance:I
-Lcom/android/internal/R$attr;->height:I
-Lcom/android/internal/R$attr;->hideOnContentScroll:I
-Lcom/android/internal/R$attr;->hint:I
-Lcom/android/internal/R$attr;->homeAsUpIndicator:I
-Lcom/android/internal/R$attr;->homeLayout:I
-Lcom/android/internal/R$attr;->horizontalDivider:I
-Lcom/android/internal/R$attr;->horizontalGap:I
-Lcom/android/internal/R$attr;->horizontalScrollViewStyle:I
-Lcom/android/internal/R$attr;->horizontalSpacing:I
-Lcom/android/internal/R$attr;->host:I
-Lcom/android/internal/R$attr;->hotSpotX:I
-Lcom/android/internal/R$attr;->hotSpotY:I
-Lcom/android/internal/R$attr;->hyphenationFrequency:I
-Lcom/android/internal/R$attr;->icon:I
-Lcom/android/internal/R$attr;->iconifiedByDefault:I
-Lcom/android/internal/R$attr;->iconPreview:I
-Lcom/android/internal/R$attr;->iconSpaceReserved:I
-Lcom/android/internal/R$attr;->iconTint:I
-Lcom/android/internal/R$attr;->iconTintMode:I
-Lcom/android/internal/R$attr;->id:I
-Lcom/android/internal/R$attr;->ignoreGravity:I
-Lcom/android/internal/R$attr;->imageButtonStyle:I
-Lcom/android/internal/R$attr;->imageWellStyle:I
-Lcom/android/internal/R$attr;->imeActionId:I
-Lcom/android/internal/R$attr;->imeActionLabel:I
-Lcom/android/internal/R$attr;->imeExtractEnterAnimation:I
-Lcom/android/internal/R$attr;->imeExtractExitAnimation:I
-Lcom/android/internal/R$attr;->imeFullscreenBackground:I
-Lcom/android/internal/R$attr;->imeOptions:I
-Lcom/android/internal/R$attr;->imeSubtypeExtraValue:I
-Lcom/android/internal/R$attr;->imeSubtypeLocale:I
-Lcom/android/internal/R$attr;->imeSubtypeMode:I
-Lcom/android/internal/R$attr;->immersive:I
-Lcom/android/internal/R$attr;->importantForAccessibility:I
-Lcom/android/internal/R$attr;->importantForAutofill:I
-Lcom/android/internal/R$attr;->inAnimation:I
-Lcom/android/internal/R$attr;->includeFontPadding:I
-Lcom/android/internal/R$attr;->includeInGlobalSearch:I
-Lcom/android/internal/R$attr;->indeterminate:I
-Lcom/android/internal/R$attr;->indeterminateBehavior:I
-Lcom/android/internal/R$attr;->indeterminateDrawable:I
-Lcom/android/internal/R$attr;->indeterminateDuration:I
-Lcom/android/internal/R$attr;->indeterminateOnly:I
-Lcom/android/internal/R$attr;->indeterminateProgressStyle:I
-Lcom/android/internal/R$attr;->indeterminateTint:I
-Lcom/android/internal/R$attr;->indeterminateTintMode:I
-Lcom/android/internal/R$attr;->indicatorEnd:I
-Lcom/android/internal/R$attr;->indicatorLeft:I
-Lcom/android/internal/R$attr;->indicatorRight:I
-Lcom/android/internal/R$attr;->indicatorStart:I
-Lcom/android/internal/R$attr;->inflatedId:I
-Lcom/android/internal/R$attr;->initialKeyguardLayout:I
-Lcom/android/internal/R$attr;->initialLayout:I
-Lcom/android/internal/R$attr;->initOrder:I
-Lcom/android/internal/R$attr;->innerRadius:I
-Lcom/android/internal/R$attr;->innerRadiusRatio:I
-Lcom/android/internal/R$attr;->inputMethod:I
-Lcom/android/internal/R$attr;->inputType:I
-Lcom/android/internal/R$attr;->inset:I
-Lcom/android/internal/R$attr;->insetBottom:I
-Lcom/android/internal/R$attr;->insetLeft:I
-Lcom/android/internal/R$attr;->insetRight:I
-Lcom/android/internal/R$attr;->insetTop:I
-Lcom/android/internal/R$attr;->installLocation:I
-Lcom/android/internal/R$attr;->interpolator:I
-Lcom/android/internal/R$attr;->isAlwaysSyncable:I
-Lcom/android/internal/R$attr;->isAsciiCapable:I
-Lcom/android/internal/R$attr;->isAuxiliary:I
-Lcom/android/internal/R$attr;->isDefault:I
-Lcom/android/internal/R$attr;->isFeatureSplit:I
-Lcom/android/internal/R$attr;->isGame:I
-Lcom/android/internal/R$attr;->isIndicator:I
-Lcom/android/internal/R$attr;->isLightTheme:I
-Lcom/android/internal/R$attr;->isModifier:I
-Lcom/android/internal/R$attr;->isolatedProcess:I
-Lcom/android/internal/R$attr;->isolatedSplits:I
-Lcom/android/internal/R$attr;->isRepeatable:I
-Lcom/android/internal/R$attr;->isScrollContainer:I
-Lcom/android/internal/R$attr;->isStatic:I
-Lcom/android/internal/R$attr;->isSticky:I
-Lcom/android/internal/R$attr;->isVrOnly:I
-Lcom/android/internal/R$attr;->itemBackground:I
-Lcom/android/internal/R$attr;->itemIconDisabledAlpha:I
-Lcom/android/internal/R$attr;->itemPadding:I
-Lcom/android/internal/R$attr;->itemTextAppearance:I
-Lcom/android/internal/R$attr;->justificationMode:I
-Lcom/android/internal/R$attr;->keepScreenOn:I
-Lcom/android/internal/R$attr;->key:I
-Lcom/android/internal/R$attr;->keyBackground:I
-Lcom/android/internal/R$attr;->keyboardLayout:I
-Lcom/android/internal/R$attr;->keyboardMode:I
-Lcom/android/internal/R$attr;->keyboardNavigationCluster:I
-Lcom/android/internal/R$attr;->keyboardViewStyle:I
-Lcom/android/internal/R$attr;->keycode:I
-Lcom/android/internal/R$attr;->keyEdgeFlags:I
-Lcom/android/internal/R$attr;->keyHeight:I
-Lcom/android/internal/R$attr;->keyIcon:I
-Lcom/android/internal/R$attr;->keyLabel:I
-Lcom/android/internal/R$attr;->keyOutputText:I
-Lcom/android/internal/R$attr;->keyPreviewHeight:I
-Lcom/android/internal/R$attr;->keyPreviewLayout:I
-Lcom/android/internal/R$attr;->keyPreviewOffset:I
-Lcom/android/internal/R$attr;->keySet:I
-Lcom/android/internal/R$attr;->keyTextColor:I
-Lcom/android/internal/R$attr;->keyTextSize:I
-Lcom/android/internal/R$attr;->keyWidth:I
-Lcom/android/internal/R$attr;->killAfterRestore:I
-Lcom/android/internal/R$attr;->label:I
-Lcom/android/internal/R$attr;->labelFor:I
-Lcom/android/internal/R$attr;->labelTextSize:I
-Lcom/android/internal/R$attr;->languageTag:I
-Lcom/android/internal/R$attr;->largeHeap:I
-Lcom/android/internal/R$attr;->largeScreens:I
-Lcom/android/internal/R$attr;->largestWidthLimitDp:I
-Lcom/android/internal/R$attr;->lastBaselineToBottomHeight:I
-Lcom/android/internal/R$attr;->launchMode:I
-Lcom/android/internal/R$attr;->launchTaskBehindSourceAnimation:I
-Lcom/android/internal/R$attr;->launchTaskBehindTargetAnimation:I
-Lcom/android/internal/R$attr;->layerType:I
-Lcom/android/internal/R$attr;->layout:I
-Lcom/android/internal/R$attr;->layoutAnimation:I
-Lcom/android/internal/R$attr;->layoutDirection:I
-Lcom/android/internal/R$attr;->layoutMode:I
-Lcom/android/internal/R$attr;->layout_above:I
-Lcom/android/internal/R$attr;->layout_alignBaseline:I
-Lcom/android/internal/R$attr;->layout_alignBottom:I
-Lcom/android/internal/R$attr;->layout_alignEnd:I
-Lcom/android/internal/R$attr;->layout_alignLeft:I
-Lcom/android/internal/R$attr;->layout_alignParentBottom:I
-Lcom/android/internal/R$attr;->layout_alignParentEnd:I
-Lcom/android/internal/R$attr;->layout_alignParentLeft:I
-Lcom/android/internal/R$attr;->layout_alignParentRight:I
-Lcom/android/internal/R$attr;->layout_alignParentStart:I
-Lcom/android/internal/R$attr;->layout_alignParentTop:I
-Lcom/android/internal/R$attr;->layout_alignRight:I
-Lcom/android/internal/R$attr;->layout_alignStart:I
-Lcom/android/internal/R$attr;->layout_alignTop:I
-Lcom/android/internal/R$attr;->layout_alignWithParentIfMissing:I
-Lcom/android/internal/R$attr;->layout_below:I
-Lcom/android/internal/R$attr;->layout_centerHorizontal:I
-Lcom/android/internal/R$attr;->layout_centerInParent:I
-Lcom/android/internal/R$attr;->layout_centerVertical:I
-Lcom/android/internal/R$attr;->layout_column:I
-Lcom/android/internal/R$attr;->layout_columnSpan:I
-Lcom/android/internal/R$attr;->layout_columnWeight:I
-Lcom/android/internal/R$attr;->layout_gravity:I
-Lcom/android/internal/R$attr;->layout_height:I
-Lcom/android/internal/R$attr;->layout_margin:I
-Lcom/android/internal/R$attr;->layout_marginBottom:I
-Lcom/android/internal/R$attr;->layout_marginEnd:I
-Lcom/android/internal/R$attr;->layout_marginHorizontal:I
-Lcom/android/internal/R$attr;->layout_marginLeft:I
-Lcom/android/internal/R$attr;->layout_marginRight:I
-Lcom/android/internal/R$attr;->layout_marginStart:I
-Lcom/android/internal/R$attr;->layout_marginTop:I
-Lcom/android/internal/R$attr;->layout_marginVertical:I
-Lcom/android/internal/R$attr;->layout_row:I
-Lcom/android/internal/R$attr;->layout_rowSpan:I
-Lcom/android/internal/R$attr;->layout_rowWeight:I
-Lcom/android/internal/R$attr;->layout_scale:I
-Lcom/android/internal/R$attr;->layout_span:I
-Lcom/android/internal/R$attr;->layout_toEndOf:I
-Lcom/android/internal/R$attr;->layout_toLeftOf:I
-Lcom/android/internal/R$attr;->layout_toRightOf:I
-Lcom/android/internal/R$attr;->layout_toStartOf:I
-Lcom/android/internal/R$attr;->layout_weight:I
-Lcom/android/internal/R$attr;->layout_width:I
-Lcom/android/internal/R$attr;->layout_x:I
-Lcom/android/internal/R$attr;->layout_y:I
-Lcom/android/internal/R$attr;->left:I
-Lcom/android/internal/R$attr;->letterSpacing:I
-Lcom/android/internal/R$attr;->level:I
-Lcom/android/internal/R$attr;->lightRadius:I
-Lcom/android/internal/R$attr;->lightY:I
-Lcom/android/internal/R$attr;->lightZ:I
-Lcom/android/internal/R$attr;->lineHeight:I
-Lcom/android/internal/R$attr;->lines:I
-Lcom/android/internal/R$attr;->lineSpacingExtra:I
-Lcom/android/internal/R$attr;->lineSpacingMultiplier:I
-Lcom/android/internal/R$attr;->linksClickable:I
-Lcom/android/internal/R$attr;->listChoiceBackgroundIndicator:I
-Lcom/android/internal/R$attr;->listChoiceIndicatorMultiple:I
-Lcom/android/internal/R$attr;->listChoiceIndicatorSingle:I
-Lcom/android/internal/R$attr;->listDivider:I
-Lcom/android/internal/R$attr;->listDividerAlertDialog:I
-Lcom/android/internal/R$attr;->listMenuViewStyle:I
-Lcom/android/internal/R$attr;->listPopupWindowStyle:I
-Lcom/android/internal/R$attr;->listPreferredItemHeight:I
-Lcom/android/internal/R$attr;->listPreferredItemHeightLarge:I
-Lcom/android/internal/R$attr;->listPreferredItemHeightSmall:I
-Lcom/android/internal/R$attr;->listPreferredItemPaddingEnd:I
-Lcom/android/internal/R$attr;->listPreferredItemPaddingLeft:I
-Lcom/android/internal/R$attr;->listPreferredItemPaddingRight:I
-Lcom/android/internal/R$attr;->listPreferredItemPaddingStart:I
-Lcom/android/internal/R$attr;->listSelector:I
-Lcom/android/internal/R$attr;->listSeparatorTextViewStyle:I
-Lcom/android/internal/R$attr;->listViewStyle:I
-Lcom/android/internal/R$attr;->listViewWhiteStyle:I
-Lcom/android/internal/R$attr;->lockPatternStyle:I
-Lcom/android/internal/R$attr;->lockTaskMode:I
-Lcom/android/internal/R$attr;->logo:I
-Lcom/android/internal/R$attr;->logoDescription:I
-Lcom/android/internal/R$attr;->longClickable:I
-Lcom/android/internal/R$attr;->loopViews:I
-Lcom/android/internal/R$attr;->manageSpaceActivity:I
-Lcom/android/internal/R$attr;->marqueeRepeatLimit:I
-Lcom/android/internal/R$attr;->matchOrder:I
-Lcom/android/internal/R$attr;->max:I
-Lcom/android/internal/R$attr;->maxAspectRatio:I
-Lcom/android/internal/R$attr;->maxButtonHeight:I
-Lcom/android/internal/R$attr;->maxDate:I
-Lcom/android/internal/R$attr;->maxEms:I
-Lcom/android/internal/R$attr;->maxHeight:I
-Lcom/android/internal/R$attr;->maximumAngle:I
-Lcom/android/internal/R$attr;->maxItemsPerRow:I
-Lcom/android/internal/R$attr;->maxLength:I
-Lcom/android/internal/R$attr;->maxLevel:I
-Lcom/android/internal/R$attr;->maxLines:I
-Lcom/android/internal/R$attr;->maxLongVersionCode:I
-Lcom/android/internal/R$attr;->maxRecents:I
-Lcom/android/internal/R$attr;->maxRows:I
-Lcom/android/internal/R$attr;->maxSdkVersion:I
-Lcom/android/internal/R$attr;->maxWidth:I
-Lcom/android/internal/R$attr;->measureAllChildren:I
-Lcom/android/internal/R$attr;->measureWithLargestChild:I
-Lcom/android/internal/R$attr;->mediaRouteButtonStyle:I
-Lcom/android/internal/R$attr;->mediaRouteTypes:I
-Lcom/android/internal/R$attr;->menuCategory:I
-Lcom/android/internal/R$attr;->mimeType:I
-Lcom/android/internal/R$attr;->min:I
-Lcom/android/internal/R$attr;->minDate:I
-Lcom/android/internal/R$attr;->minEms:I
-Lcom/android/internal/R$attr;->minHeight:I
-Lcom/android/internal/R$attr;->minimumHorizontalAngle:I
-Lcom/android/internal/R$attr;->minimumVerticalAngle:I
-Lcom/android/internal/R$attr;->minLevel:I
-Lcom/android/internal/R$attr;->minLines:I
-Lcom/android/internal/R$attr;->minResizeHeight:I
-Lcom/android/internal/R$attr;->minResizeWidth:I
-Lcom/android/internal/R$attr;->minSdkVersion:I
-Lcom/android/internal/R$attr;->minWidth:I
-Lcom/android/internal/R$attr;->mipMap:I
-Lcom/android/internal/R$attr;->mirrorForRtl:I
-Lcom/android/internal/R$attr;->mode:I
-Lcom/android/internal/R$attr;->moreIcon:I
-Lcom/android/internal/R$attr;->multiArch:I
-Lcom/android/internal/R$attr;->multiprocess:I
-Lcom/android/internal/R$attr;->name:I
-Lcom/android/internal/R$attr;->navigationBarColor:I
-Lcom/android/internal/R$attr;->navigationBarDividerColor:I
-Lcom/android/internal/R$attr;->navigationContentDescription:I
-Lcom/android/internal/R$attr;->navigationIcon:I
-Lcom/android/internal/R$attr;->navigationMode:I
-Lcom/android/internal/R$attr;->negativeButtonText:I
-Lcom/android/internal/R$attr;->nestedScrollingEnabled:I
-Lcom/android/internal/R$attr;->networkSecurityConfig:I
-Lcom/android/internal/R$attr;->nextClusterForward:I
-Lcom/android/internal/R$attr;->nextFocusDown:I
-Lcom/android/internal/R$attr;->nextFocusForward:I
-Lcom/android/internal/R$attr;->nextFocusLeft:I
-Lcom/android/internal/R$attr;->nextFocusRight:I
-Lcom/android/internal/R$attr;->nextFocusUp:I
-Lcom/android/internal/R$attr;->noHistory:I
-Lcom/android/internal/R$attr;->normalScreens:I
-Lcom/android/internal/R$attr;->notificationTimeout:I
-Lcom/android/internal/R$attr;->numberPickerStyle:I
-Lcom/android/internal/R$attr;->numbersBackgroundColor:I
-Lcom/android/internal/R$attr;->numbersInnerTextColor:I
-Lcom/android/internal/R$attr;->numbersSelectorColor:I
-Lcom/android/internal/R$attr;->numbersTextColor:I
-Lcom/android/internal/R$attr;->numColumns:I
-Lcom/android/internal/R$attr;->numeric:I
-Lcom/android/internal/R$attr;->numericModifiers:I
-Lcom/android/internal/R$attr;->numericShortcut:I
-Lcom/android/internal/R$attr;->numStars:I
-Lcom/android/internal/R$attr;->offset:I
-Lcom/android/internal/R$attr;->onClick:I
-Lcom/android/internal/R$attr;->oneshot:I
-Lcom/android/internal/R$attr;->opacity:I
-Lcom/android/internal/R$attr;->order:I
-Lcom/android/internal/R$attr;->orderInCategory:I
-Lcom/android/internal/R$attr;->ordering:I
-Lcom/android/internal/R$attr;->orderingFromXml:I
-Lcom/android/internal/R$attr;->orientation:I
-Lcom/android/internal/R$attr;->outAnimation:I
-Lcom/android/internal/R$attr;->outlineAmbientShadowColor:I
-Lcom/android/internal/R$attr;->outlineProvider:I
-Lcom/android/internal/R$attr;->outlineSpotShadowColor:I
-Lcom/android/internal/R$attr;->overlapAnchor:I
-Lcom/android/internal/R$attr;->overridesImplicitlyEnabledSubtype:I
-Lcom/android/internal/R$attr;->overScrollFooter:I
-Lcom/android/internal/R$attr;->overScrollHeader:I
-Lcom/android/internal/R$attr;->overScrollMode:I
-Lcom/android/internal/R$attr;->packageNames:I
-Lcom/android/internal/R$attr;->padding:I
-Lcom/android/internal/R$attr;->paddingBottom:I
-Lcom/android/internal/R$attr;->paddingEnd:I
-Lcom/android/internal/R$attr;->paddingHorizontal:I
-Lcom/android/internal/R$attr;->paddingLeft:I
-Lcom/android/internal/R$attr;->paddingMode:I
-Lcom/android/internal/R$attr;->paddingRight:I
-Lcom/android/internal/R$attr;->paddingStart:I
-Lcom/android/internal/R$attr;->paddingTop:I
-Lcom/android/internal/R$attr;->paddingVertical:I
-Lcom/android/internal/R$attr;->panelBackground:I
-Lcom/android/internal/R$attr;->panelColorBackground:I
-Lcom/android/internal/R$attr;->panelColorForeground:I
-Lcom/android/internal/R$attr;->panelFullBackground:I
-Lcom/android/internal/R$attr;->panelTextAppearance:I
-Lcom/android/internal/R$attr;->parentActivityName:I
-Lcom/android/internal/R$attr;->password:I
-Lcom/android/internal/R$attr;->path:I
-Lcom/android/internal/R$attr;->pathData:I
-Lcom/android/internal/R$attr;->pathPattern:I
-Lcom/android/internal/R$attr;->pathPrefix:I
-Lcom/android/internal/R$attr;->patternPathData:I
-Lcom/android/internal/R$attr;->permission:I
-Lcom/android/internal/R$attr;->permissionFlags:I
-Lcom/android/internal/R$attr;->permissionGroup:I
-Lcom/android/internal/R$attr;->permissionGroupFlags:I
-Lcom/android/internal/R$attr;->persistableMode:I
-Lcom/android/internal/R$attr;->persistent:I
-Lcom/android/internal/R$attr;->persistentDrawingCache:I
-Lcom/android/internal/R$attr;->persistentWhenFeatureAvailable:I
-Lcom/android/internal/R$attr;->phoneNumber:I
-Lcom/android/internal/R$attr;->pivotX:I
-Lcom/android/internal/R$attr;->pivotY:I
-Lcom/android/internal/R$attr;->pointerIcon:I
-Lcom/android/internal/R$attr;->popupAnimationStyle:I
-Lcom/android/internal/R$attr;->popupBackground:I
-Lcom/android/internal/R$attr;->popupCharacters:I
-Lcom/android/internal/R$attr;->popupElevation:I
-Lcom/android/internal/R$attr;->popupEnterTransition:I
-Lcom/android/internal/R$attr;->popupExitTransition:I
-Lcom/android/internal/R$attr;->popupKeyboard:I
-Lcom/android/internal/R$attr;->popupLayout:I
-Lcom/android/internal/R$attr;->popupMenuStyle:I
-Lcom/android/internal/R$attr;->popupTheme:I
-Lcom/android/internal/R$attr;->port:I
-Lcom/android/internal/R$attr;->positiveButtonText:I
-Lcom/android/internal/R$attr;->preferenceActivityStyle:I
-Lcom/android/internal/R$attr;->preferenceCategoryStyle:I
-Lcom/android/internal/R$attr;->preferenceFragmentStyle:I
-Lcom/android/internal/R$attr;->preferenceFrameLayoutStyle:I
-Lcom/android/internal/R$attr;->preferenceInformationStyle:I
-Lcom/android/internal/R$attr;->preferenceLayoutChild:I
-Lcom/android/internal/R$attr;->preferenceScreenStyle:I
-Lcom/android/internal/R$attr;->preferenceStyle:I
-Lcom/android/internal/R$attr;->presentationTheme:I
-Lcom/android/internal/R$attr;->previewImage:I
-Lcom/android/internal/R$attr;->primaryContentAlpha:I
-Lcom/android/internal/R$attr;->priority:I
-Lcom/android/internal/R$attr;->privateImeOptions:I
-Lcom/android/internal/R$attr;->process:I
-Lcom/android/internal/R$attr;->progress:I
-Lcom/android/internal/R$attr;->progressBackgroundTint:I
-Lcom/android/internal/R$attr;->progressBackgroundTintMode:I
-Lcom/android/internal/R$attr;->progressBarPadding:I
-Lcom/android/internal/R$attr;->progressBarStyle:I
-Lcom/android/internal/R$attr;->progressBarStyleHorizontal:I
-Lcom/android/internal/R$attr;->progressBarStyleInverse:I
-Lcom/android/internal/R$attr;->progressBarStyleLarge:I
-Lcom/android/internal/R$attr;->progressBarStyleLargeInverse:I
-Lcom/android/internal/R$attr;->progressBarStyleSmall:I
-Lcom/android/internal/R$attr;->progressBarStyleSmallInverse:I
-Lcom/android/internal/R$attr;->progressBarStyleSmallTitle:I
-Lcom/android/internal/R$attr;->progressDrawable:I
-Lcom/android/internal/R$attr;->progressTint:I
-Lcom/android/internal/R$attr;->progressTintMode:I
-Lcom/android/internal/R$attr;->prompt:I
-Lcom/android/internal/R$attr;->propertyName:I
-Lcom/android/internal/R$attr;->propertyXName:I
-Lcom/android/internal/R$attr;->propertyYName:I
-Lcom/android/internal/R$attr;->protectionLevel:I
-Lcom/android/internal/R$attr;->publicKey:I
-Lcom/android/internal/R$attr;->queryActionMsg:I
-Lcom/android/internal/R$attr;->queryAfterZeroResults:I
-Lcom/android/internal/R$attr;->queryBackground:I
-Lcom/android/internal/R$attr;->queryHint:I
-Lcom/android/internal/R$attr;->quickContactBadgeStyleSmallWindowLarge:I
-Lcom/android/internal/R$attr;->quickContactBadgeStyleSmallWindowMedium:I
-Lcom/android/internal/R$attr;->quickContactBadgeStyleSmallWindowSmall:I
-Lcom/android/internal/R$attr;->quickContactBadgeStyleWindowLarge:I
-Lcom/android/internal/R$attr;->quickContactBadgeStyleWindowMedium:I
-Lcom/android/internal/R$attr;->quickContactBadgeStyleWindowSmall:I
-Lcom/android/internal/R$attr;->radioButtonStyle:I
-Lcom/android/internal/R$attr;->radius:I
-Lcom/android/internal/R$attr;->rating:I
-Lcom/android/internal/R$attr;->ratingBarStyle:I
-Lcom/android/internal/R$attr;->ratingBarStyleIndicator:I
-Lcom/android/internal/R$attr;->ratingBarStyleSmall:I
-Lcom/android/internal/R$attr;->readPermission:I
-Lcom/android/internal/R$attr;->recognitionService:I
-Lcom/android/internal/R$attr;->recreateOnConfigChanges:I
-Lcom/android/internal/R$attr;->recycleEnabled:I
-Lcom/android/internal/R$attr;->relinquishTaskIdentity:I
-Lcom/android/internal/R$attr;->reparent:I
-Lcom/android/internal/R$attr;->reparentWithOverlay:I
-Lcom/android/internal/R$attr;->repeatCount:I
-Lcom/android/internal/R$attr;->repeatMode:I
-Lcom/android/internal/R$attr;->reqFiveWayNav:I
-Lcom/android/internal/R$attr;->reqHardKeyboard:I
-Lcom/android/internal/R$attr;->reqKeyboardType:I
-Lcom/android/internal/R$attr;->reqNavigation:I
-Lcom/android/internal/R$attr;->reqTouchScreen:I
-Lcom/android/internal/R$attr;->required:I
-Lcom/android/internal/R$attr;->requiredAccountType:I
-Lcom/android/internal/R$attr;->requireDeviceUnlock:I
-Lcom/android/internal/R$attr;->requiredFeature:I
-Lcom/android/internal/R$attr;->requiredForAllUsers:I
-Lcom/android/internal/R$attr;->requiredNotFeature:I
-Lcom/android/internal/R$attr;->requiredSystemPropertyName:I
-Lcom/android/internal/R$attr;->requiredSystemPropertyValue:I
-Lcom/android/internal/R$attr;->requiresFadingEdge:I
-Lcom/android/internal/R$attr;->requiresSmallestWidthDp:I
-Lcom/android/internal/R$attr;->resizeable:I
-Lcom/android/internal/R$attr;->resizeableActivity:I
-Lcom/android/internal/R$attr;->resizeClip:I
-Lcom/android/internal/R$attr;->resizeMode:I
-Lcom/android/internal/R$attr;->resource:I
-Lcom/android/internal/R$attr;->restoreAnyVersion:I
-Lcom/android/internal/R$attr;->restoreNeedsApplication:I
-Lcom/android/internal/R$attr;->restrictedAccountType:I
-Lcom/android/internal/R$attr;->restrictionType:I
-Lcom/android/internal/R$attr;->resumeWhilePausing:I
-Lcom/android/internal/R$attr;->reversible:I
-Lcom/android/internal/R$attr;->revisionCode:I
-Lcom/android/internal/R$attr;->right:I
-Lcom/android/internal/R$attr;->ringtonePreferenceStyle:I
-Lcom/android/internal/R$attr;->ringtoneType:I
-Lcom/android/internal/R$attr;->rotation:I
-Lcom/android/internal/R$attr;->rotationAnimation:I
-Lcom/android/internal/R$attr;->rotationX:I
-Lcom/android/internal/R$attr;->rotationY:I
-Lcom/android/internal/R$attr;->roundIcon:I
-Lcom/android/internal/R$attr;->rowCount:I
-Lcom/android/internal/R$attr;->rowDelay:I
-Lcom/android/internal/R$attr;->rowEdgeFlags:I
-Lcom/android/internal/R$attr;->rowHeight:I
-Lcom/android/internal/R$attr;->rowOrderPreserved:I
-Lcom/android/internal/R$attr;->saveEnabled:I
-Lcom/android/internal/R$attr;->scaleGravity:I
-Lcom/android/internal/R$attr;->scaleHeight:I
-Lcom/android/internal/R$attr;->scaleType:I
-Lcom/android/internal/R$attr;->scaleWidth:I
-Lcom/android/internal/R$attr;->scaleX:I
-Lcom/android/internal/R$attr;->scaleY:I
-Lcom/android/internal/R$attr;->scheme:I
-Lcom/android/internal/R$attr;->screenDensity:I
-Lcom/android/internal/R$attr;->screenOrientation:I
-Lcom/android/internal/R$attr;->screenReaderFocusable:I
-Lcom/android/internal/R$attr;->screenSize:I
-Lcom/android/internal/R$attr;->scrollbarAlwaysDrawHorizontalTrack:I
-Lcom/android/internal/R$attr;->scrollbarAlwaysDrawVerticalTrack:I
-Lcom/android/internal/R$attr;->scrollbarDefaultDelayBeforeFade:I
-Lcom/android/internal/R$attr;->scrollbarFadeDuration:I
-Lcom/android/internal/R$attr;->scrollbars:I
-Lcom/android/internal/R$attr;->scrollbarSize:I
-Lcom/android/internal/R$attr;->scrollbarStyle:I
-Lcom/android/internal/R$attr;->scrollbarThumbHorizontal:I
-Lcom/android/internal/R$attr;->scrollbarThumbVertical:I
-Lcom/android/internal/R$attr;->scrollbarTrackHorizontal:I
-Lcom/android/internal/R$attr;->scrollbarTrackVertical:I
-Lcom/android/internal/R$attr;->scrollHorizontally:I
-Lcom/android/internal/R$attr;->scrollIndicators:I
-Lcom/android/internal/R$attr;->scrollingCache:I
-Lcom/android/internal/R$attr;->scrollViewStyle:I
-Lcom/android/internal/R$attr;->scrollX:I
-Lcom/android/internal/R$attr;->scrollY:I
-Lcom/android/internal/R$attr;->searchButtonText:I
-Lcom/android/internal/R$attr;->searchDialogTheme:I
-Lcom/android/internal/R$attr;->searchHintIcon:I
-Lcom/android/internal/R$attr;->searchIcon:I
-Lcom/android/internal/R$attr;->searchKeyphrase:I
-Lcom/android/internal/R$attr;->searchKeyphraseId:I
-Lcom/android/internal/R$attr;->searchKeyphraseRecognitionFlags:I
-Lcom/android/internal/R$attr;->searchKeyphraseSupportedLocales:I
-Lcom/android/internal/R$attr;->searchMode:I
-Lcom/android/internal/R$attr;->searchSettingsDescription:I
-Lcom/android/internal/R$attr;->searchSuggestAuthority:I
-Lcom/android/internal/R$attr;->searchSuggestIntentAction:I
-Lcom/android/internal/R$attr;->searchSuggestIntentData:I
-Lcom/android/internal/R$attr;->searchSuggestPath:I
-Lcom/android/internal/R$attr;->searchSuggestSelection:I
-Lcom/android/internal/R$attr;->searchSuggestThreshold:I
-Lcom/android/internal/R$attr;->searchViewStyle:I
-Lcom/android/internal/R$attr;->secondaryContentAlpha:I
-Lcom/android/internal/R$attr;->secondaryProgress:I
-Lcom/android/internal/R$attr;->secondaryProgressTint:I
-Lcom/android/internal/R$attr;->secondaryProgressTintMode:I
-Lcom/android/internal/R$attr;->seekBarDialogPreferenceStyle:I
-Lcom/android/internal/R$attr;->seekBarPreferenceStyle:I
-Lcom/android/internal/R$attr;->seekBarStyle:I
-Lcom/android/internal/R$attr;->segmentedButtonStyle:I
-Lcom/android/internal/R$attr;->selectable:I
-Lcom/android/internal/R$attr;->selectableItemBackground:I
-Lcom/android/internal/R$attr;->selectableItemBackgroundBorderless:I
-Lcom/android/internal/R$attr;->selectAllOnFocus:I
-Lcom/android/internal/R$attr;->selectedDateVerticalBar:I
-Lcom/android/internal/R$attr;->selectedWeekBackgroundColor:I
-Lcom/android/internal/R$attr;->sessionService:I
-Lcom/android/internal/R$attr;->settingsActivity:I
-Lcom/android/internal/R$attr;->setupActivity:I
-Lcom/android/internal/R$attr;->shadowColor:I
-Lcom/android/internal/R$attr;->shadowDx:I
-Lcom/android/internal/R$attr;->shadowDy:I
-Lcom/android/internal/R$attr;->shadowRadius:I
-Lcom/android/internal/R$attr;->shape:I
-Lcom/android/internal/R$attr;->sharedUserId:I
-Lcom/android/internal/R$attr;->sharedUserLabel:I
-Lcom/android/internal/R$attr;->shareInterpolator:I
-Lcom/android/internal/R$attr;->shortcutDisabledMessage:I
-Lcom/android/internal/R$attr;->shortcutId:I
-Lcom/android/internal/R$attr;->shortcutLongLabel:I
-Lcom/android/internal/R$attr;->shortcutShortLabel:I
-Lcom/android/internal/R$attr;->shouldDisableView:I
-Lcom/android/internal/R$attr;->showAsAction:I
-Lcom/android/internal/R$attr;->showDefault:I
-Lcom/android/internal/R$attr;->showDividers:I
-Lcom/android/internal/R$attr;->showForAllUsers:I
-Lcom/android/internal/R$attr;->showMetadataInPreview:I
-Lcom/android/internal/R$attr;->shownWeekCount:I
-Lcom/android/internal/R$attr;->showOnLockScreen:I
-Lcom/android/internal/R$attr;->showSilent:I
-Lcom/android/internal/R$attr;->showText:I
-Lcom/android/internal/R$attr;->showWeekNumber:I
-Lcom/android/internal/R$attr;->showWhenLocked:I
-Lcom/android/internal/R$attr;->shrinkColumns:I
-Lcom/android/internal/R$attr;->singleLine:I
-Lcom/android/internal/R$attr;->singleLineTitle:I
-Lcom/android/internal/R$attr;->singleUser:I
-Lcom/android/internal/R$attr;->slideEdge:I
-Lcom/android/internal/R$attr;->smallIcon:I
-Lcom/android/internal/R$attr;->smallScreens:I
-Lcom/android/internal/R$attr;->smoothScrollbar:I
-Lcom/android/internal/R$attr;->solidColor:I
-Lcom/android/internal/R$attr;->soundEffectsEnabled:I
-Lcom/android/internal/R$attr;->spacing:I
-Lcom/android/internal/R$attr;->spinnerDropDownItemStyle:I
-Lcom/android/internal/R$attr;->spinnerItemStyle:I
-Lcom/android/internal/R$attr;->spinnerMode:I
-Lcom/android/internal/R$attr;->spinnersShown:I
-Lcom/android/internal/R$attr;->spinnerStyle:I
-Lcom/android/internal/R$attr;->splitMotionEvents:I
-Lcom/android/internal/R$attr;->splitName:I
-Lcom/android/internal/R$attr;->splitTrack:I
-Lcom/android/internal/R$attr;->spotShadowAlpha:I
-Lcom/android/internal/R$attr;->src:I
-Lcom/android/internal/R$attr;->ssp:I
-Lcom/android/internal/R$attr;->sspPattern:I
-Lcom/android/internal/R$attr;->sspPrefix:I
-Lcom/android/internal/R$attr;->stackFromBottom:I
-Lcom/android/internal/R$attr;->stackViewStyle:I
-Lcom/android/internal/R$attr;->starStyle:I
-Lcom/android/internal/R$attr;->start:I
-Lcom/android/internal/R$attr;->startColor:I
-Lcom/android/internal/R$attr;->startDelay:I
-Lcom/android/internal/R$attr;->startOffset:I
-Lcom/android/internal/R$attr;->startX:I
-Lcom/android/internal/R$attr;->startY:I
-Lcom/android/internal/R$attr;->startYear:I
-Lcom/android/internal/R$attr;->stateListAnimator:I
-Lcom/android/internal/R$attr;->stateNotNeeded:I
-Lcom/android/internal/R$attr;->state_accelerated:I
-Lcom/android/internal/R$attr;->state_activated:I
-Lcom/android/internal/R$attr;->state_active:I
-Lcom/android/internal/R$attr;->state_checkable:I
-Lcom/android/internal/R$attr;->state_checked:I
-Lcom/android/internal/R$attr;->state_drag_can_accept:I
-Lcom/android/internal/R$attr;->state_drag_hovered:I
-Lcom/android/internal/R$attr;->state_empty:I
-Lcom/android/internal/R$attr;->state_enabled:I
-Lcom/android/internal/R$attr;->state_expanded:I
-Lcom/android/internal/R$attr;->state_first:I
-Lcom/android/internal/R$attr;->state_hovered:I
-Lcom/android/internal/R$attr;->state_last:I
-Lcom/android/internal/R$attr;->state_long_pressable:I
-Lcom/android/internal/R$attr;->state_middle:I
-Lcom/android/internal/R$attr;->state_multiline:I
-Lcom/android/internal/R$attr;->state_single:I
-Lcom/android/internal/R$attr;->state_window_focused:I
-Lcom/android/internal/R$attr;->staticWallpaperPreview:I
-Lcom/android/internal/R$attr;->statusBarColor:I
-Lcom/android/internal/R$attr;->stepSize:I
-Lcom/android/internal/R$attr;->stopWithTask:I
-Lcom/android/internal/R$attr;->streamType:I
-Lcom/android/internal/R$attr;->stretchColumns:I
-Lcom/android/internal/R$attr;->stretchMode:I
-Lcom/android/internal/R$attr;->strokeAlpha:I
-Lcom/android/internal/R$attr;->strokeColor:I
-Lcom/android/internal/R$attr;->strokeLineCap:I
-Lcom/android/internal/R$attr;->strokeLineJoin:I
-Lcom/android/internal/R$attr;->strokeMiterLimit:I
-Lcom/android/internal/R$attr;->strokeWidth:I
-Lcom/android/internal/R$attr;->subMenuArrow:I
-Lcom/android/internal/R$attr;->submitBackground:I
-Lcom/android/internal/R$attr;->subtitle:I
-Lcom/android/internal/R$attr;->subtitleTextAppearance:I
-Lcom/android/internal/R$attr;->subtitleTextColor:I
-Lcom/android/internal/R$attr;->subtitleTextStyle:I
-Lcom/android/internal/R$attr;->subtypeExtraValue:I
-Lcom/android/internal/R$attr;->subtypeId:I
-Lcom/android/internal/R$attr;->subtypeLocale:I
-Lcom/android/internal/R$attr;->suggestActionMsg:I
-Lcom/android/internal/R$attr;->suggestActionMsgColumn:I
-Lcom/android/internal/R$attr;->suggestionRowLayout:I
-Lcom/android/internal/R$attr;->summary:I
-Lcom/android/internal/R$attr;->summaryColumn:I
-Lcom/android/internal/R$attr;->summaryOff:I
-Lcom/android/internal/R$attr;->summaryOn:I
-Lcom/android/internal/R$attr;->supportsAssist:I
-Lcom/android/internal/R$attr;->supportsLaunchVoiceAssistFromKeyguard:I
-Lcom/android/internal/R$attr;->supportsLocalInteraction:I
-Lcom/android/internal/R$attr;->supportsPictureInPicture:I
-Lcom/android/internal/R$attr;->supportsRtl:I
-Lcom/android/internal/R$attr;->supportsSwitchingToNextInputMethod:I
-Lcom/android/internal/R$attr;->supportsUploading:I
-Lcom/android/internal/R$attr;->switchMinWidth:I
-Lcom/android/internal/R$attr;->switchPadding:I
-Lcom/android/internal/R$attr;->switchPreferenceStyle:I
-Lcom/android/internal/R$attr;->switchTextAppearance:I
-Lcom/android/internal/R$attr;->switchTextOff:I
-Lcom/android/internal/R$attr;->switchTextOn:I
-Lcom/android/internal/R$attr;->syncable:I
-Lcom/android/internal/R$attr;->tabStripEnabled:I
-Lcom/android/internal/R$attr;->tabStripLeft:I
-Lcom/android/internal/R$attr;->tabStripRight:I
-Lcom/android/internal/R$attr;->tabWidgetStyle:I
-Lcom/android/internal/R$attr;->tag:I
-Lcom/android/internal/R$attr;->targetActivity:I
-Lcom/android/internal/R$attr;->targetClass:I
-Lcom/android/internal/R$attr;->targetDescriptions:I
-Lcom/android/internal/R$attr;->targetId:I
-Lcom/android/internal/R$attr;->targetName:I
-Lcom/android/internal/R$attr;->targetPackage:I
-Lcom/android/internal/R$attr;->targetProcesses:I
-Lcom/android/internal/R$attr;->targetSandboxVersion:I
-Lcom/android/internal/R$attr;->targetSdkVersion:I
-Lcom/android/internal/R$attr;->taskAffinity:I
-Lcom/android/internal/R$attr;->taskCloseEnterAnimation:I
-Lcom/android/internal/R$attr;->taskCloseExitAnimation:I
-Lcom/android/internal/R$attr;->taskOpenEnterAnimation:I
-Lcom/android/internal/R$attr;->taskOpenExitAnimation:I
-Lcom/android/internal/R$attr;->taskToBackEnterAnimation:I
-Lcom/android/internal/R$attr;->taskToBackExitAnimation:I
-Lcom/android/internal/R$attr;->taskToFrontEnterAnimation:I
-Lcom/android/internal/R$attr;->taskToFrontExitAnimation:I
-Lcom/android/internal/R$attr;->tension:I
-Lcom/android/internal/R$attr;->testOnly:I
-Lcom/android/internal/R$attr;->textAlignment:I
-Lcom/android/internal/R$attr;->textAllCaps:I
-Lcom/android/internal/R$attr;->textAppearance:I
-Lcom/android/internal/R$attr;->textAppearanceAutoCorrectionSuggestion:I
-Lcom/android/internal/R$attr;->textAppearanceButton:I
-Lcom/android/internal/R$attr;->textAppearanceEasyCorrectSuggestion:I
-Lcom/android/internal/R$attr;->textAppearanceInverse:I
-Lcom/android/internal/R$attr;->textAppearanceLarge:I
-Lcom/android/internal/R$attr;->textAppearanceLargeInverse:I
-Lcom/android/internal/R$attr;->textAppearanceLargePopupMenu:I
-Lcom/android/internal/R$attr;->textAppearanceListItem:I
-Lcom/android/internal/R$attr;->textAppearanceListItemSecondary:I
-Lcom/android/internal/R$attr;->textAppearanceListItemSmall:I
-Lcom/android/internal/R$attr;->textAppearanceMedium:I
-Lcom/android/internal/R$attr;->textAppearanceMediumInverse:I
-Lcom/android/internal/R$attr;->textAppearanceMisspelledSuggestion:I
-Lcom/android/internal/R$attr;->textAppearancePopupMenuHeader:I
-Lcom/android/internal/R$attr;->textAppearanceSearchResultSubtitle:I
-Lcom/android/internal/R$attr;->textAppearanceSearchResultTitle:I
-Lcom/android/internal/R$attr;->textAppearanceSmall:I
-Lcom/android/internal/R$attr;->textAppearanceSmallInverse:I
-Lcom/android/internal/R$attr;->textAppearanceSmallPopupMenu:I
-Lcom/android/internal/R$attr;->textCheckMark:I
-Lcom/android/internal/R$attr;->textCheckMarkInverse:I
-Lcom/android/internal/R$attr;->textColor:I
-Lcom/android/internal/R$attr;->textColorAlertDialogListItem:I
-Lcom/android/internal/R$attr;->textColorHighlight:I
-Lcom/android/internal/R$attr;->textColorHighlightInverse:I
-Lcom/android/internal/R$attr;->textColorHint:I
-Lcom/android/internal/R$attr;->textColorHintInverse:I
-Lcom/android/internal/R$attr;->textColorLink:I
-Lcom/android/internal/R$attr;->textColorLinkInverse:I
-Lcom/android/internal/R$attr;->textColorPrimary:I
-Lcom/android/internal/R$attr;->textColorPrimaryDisableOnly:I
-Lcom/android/internal/R$attr;->textColorPrimaryInverse:I
-Lcom/android/internal/R$attr;->textColorPrimaryInverseDisableOnly:I
-Lcom/android/internal/R$attr;->textColorPrimaryInverseNoDisable:I
-Lcom/android/internal/R$attr;->textColorPrimaryNoDisable:I
-Lcom/android/internal/R$attr;->textColorSearchUrl:I
-Lcom/android/internal/R$attr;->textColorSecondary:I
-Lcom/android/internal/R$attr;->textColorSecondaryInverse:I
-Lcom/android/internal/R$attr;->textColorSecondaryInverseNoDisable:I
-Lcom/android/internal/R$attr;->textColorSecondaryNoDisable:I
-Lcom/android/internal/R$attr;->textColorTertiary:I
-Lcom/android/internal/R$attr;->textColorTertiaryInverse:I
-Lcom/android/internal/R$attr;->textCursorDrawable:I
-Lcom/android/internal/R$attr;->textDirection:I
-Lcom/android/internal/R$attr;->textEditNoPasteWindowLayout:I
-Lcom/android/internal/R$attr;->textEditPasteWindowLayout:I
-Lcom/android/internal/R$attr;->textEditSideNoPasteWindowLayout:I
-Lcom/android/internal/R$attr;->textEditSidePasteWindowLayout:I
-Lcom/android/internal/R$attr;->textEditSuggestionItemLayout:I
-Lcom/android/internal/R$attr;->textFilterEnabled:I
-Lcom/android/internal/R$attr;->textFontWeight:I
-Lcom/android/internal/R$attr;->textIsSelectable:I
-Lcom/android/internal/R$attr;->textOff:I
-Lcom/android/internal/R$attr;->textOn:I
-Lcom/android/internal/R$attr;->textScaleX:I
-Lcom/android/internal/R$attr;->textSelectHandle:I
-Lcom/android/internal/R$attr;->textSelectHandleLeft:I
-Lcom/android/internal/R$attr;->textSelectHandleRight:I
-Lcom/android/internal/R$attr;->textSelectHandleWindowStyle:I
-Lcom/android/internal/R$attr;->textSize:I
-Lcom/android/internal/R$attr;->textStyle:I
-Lcom/android/internal/R$attr;->textSuggestionsWindowStyle:I
-Lcom/android/internal/R$attr;->textViewStyle:I
-Lcom/android/internal/R$attr;->theme:I
-Lcom/android/internal/R$attr;->thickness:I
-Lcom/android/internal/R$attr;->thicknessRatio:I
-Lcom/android/internal/R$attr;->thumb:I
-Lcom/android/internal/R$attr;->thumbnail:I
-Lcom/android/internal/R$attr;->thumbOffset:I
-Lcom/android/internal/R$attr;->thumbPosition:I
-Lcom/android/internal/R$attr;->thumbTextPadding:I
-Lcom/android/internal/R$attr;->thumbTint:I
-Lcom/android/internal/R$attr;->thumbTintMode:I
-Lcom/android/internal/R$attr;->tickMark:I
-Lcom/android/internal/R$attr;->tickMarkTint:I
-Lcom/android/internal/R$attr;->tickMarkTintMode:I
-Lcom/android/internal/R$attr;->tileMode:I
-Lcom/android/internal/R$attr;->tileModeX:I
-Lcom/android/internal/R$attr;->tileModeY:I
-Lcom/android/internal/R$attr;->timePickerDialogTheme:I
-Lcom/android/internal/R$attr;->timePickerMode:I
-Lcom/android/internal/R$attr;->timePickerStyle:I
-Lcom/android/internal/R$attr;->timeZone:I
-Lcom/android/internal/R$attr;->tint:I
-Lcom/android/internal/R$attr;->tintMode:I
-Lcom/android/internal/R$attr;->titleCondensed:I
-Lcom/android/internal/R$attr;->titleMargin:I
-Lcom/android/internal/R$attr;->titleMarginBottom:I
-Lcom/android/internal/R$attr;->titleMarginEnd:I
-Lcom/android/internal/R$attr;->titleMarginStart:I
-Lcom/android/internal/R$attr;->titleMarginTop:I
-Lcom/android/internal/R$attr;->titleTextAppearance:I
-Lcom/android/internal/R$attr;->titleTextColor:I
-Lcom/android/internal/R$attr;->titleTextStyle:I
-Lcom/android/internal/R$attr;->toAlpha:I
-Lcom/android/internal/R$attr;->toDegrees:I
-Lcom/android/internal/R$attr;->toId:I
-Lcom/android/internal/R$attr;->toolbarStyle:I
-Lcom/android/internal/R$attr;->tooltipText:I
-Lcom/android/internal/R$attr;->top:I
-Lcom/android/internal/R$attr;->topBright:I
-Lcom/android/internal/R$attr;->topDark:I
-Lcom/android/internal/R$attr;->topLeftRadius:I
-Lcom/android/internal/R$attr;->topOffset:I
-Lcom/android/internal/R$attr;->topRightRadius:I
-Lcom/android/internal/R$attr;->toScene:I
-Lcom/android/internal/R$attr;->touchscreenBlocksFocus:I
-Lcom/android/internal/R$attr;->toXDelta:I
-Lcom/android/internal/R$attr;->toXScale:I
-Lcom/android/internal/R$attr;->toYDelta:I
-Lcom/android/internal/R$attr;->toYScale:I
-Lcom/android/internal/R$attr;->track:I
-Lcom/android/internal/R$attr;->trackTint:I
-Lcom/android/internal/R$attr;->trackTintMode:I
-Lcom/android/internal/R$attr;->transcriptMode:I
-Lcom/android/internal/R$attr;->transformPivotX:I
-Lcom/android/internal/R$attr;->transformPivotY:I
-Lcom/android/internal/R$attr;->transition:I
-Lcom/android/internal/R$attr;->transitionGroup:I
-Lcom/android/internal/R$attr;->transitionName:I
-Lcom/android/internal/R$attr;->transitionOrdering:I
-Lcom/android/internal/R$attr;->transitionVisibilityMode:I
-Lcom/android/internal/R$attr;->translateX:I
-Lcom/android/internal/R$attr;->translateY:I
-Lcom/android/internal/R$attr;->translationX:I
-Lcom/android/internal/R$attr;->translationY:I
-Lcom/android/internal/R$attr;->translationZ:I
-Lcom/android/internal/R$attr;->trimPathEnd:I
-Lcom/android/internal/R$attr;->trimPathOffset:I
-Lcom/android/internal/R$attr;->trimPathStart:I
-Lcom/android/internal/R$attr;->ttcIndex:I
-Lcom/android/internal/R$attr;->tunerCount:I
-Lcom/android/internal/R$attr;->turnScreenOn:I
-Lcom/android/internal/R$attr;->type:I
-Lcom/android/internal/R$attr;->typeface:I
-Lcom/android/internal/R$attr;->uiOptions:I
-Lcom/android/internal/R$attr;->uncertainGestureColor:I
-Lcom/android/internal/R$attr;->unfocusedMonthDateColor:I
-Lcom/android/internal/R$attr;->unselectedAlpha:I
-Lcom/android/internal/R$attr;->updatePeriodMillis:I
-Lcom/android/internal/R$attr;->use32bitAbi:I
-Lcom/android/internal/R$attr;->useDefaultMargins:I
-Lcom/android/internal/R$attr;->useIntrinsicSizeAsMinimum:I
-Lcom/android/internal/R$attr;->useLevel:I
-Lcom/android/internal/R$attr;->userRestriction:I
-Lcom/android/internal/R$attr;->userVisible:I
-Lcom/android/internal/R$attr;->usesCleartextTraffic:I
-Lcom/android/internal/R$attr;->value:I
-Lcom/android/internal/R$attr;->valueFrom:I
-Lcom/android/internal/R$attr;->valueTo:I
-Lcom/android/internal/R$attr;->valueType:I
-Lcom/android/internal/R$attr;->variablePadding:I
-Lcom/android/internal/R$attr;->vendor:I
-Lcom/android/internal/R$attr;->version:I
-Lcom/android/internal/R$attr;->versionCode:I
-Lcom/android/internal/R$attr;->versionCodeMajor:I
-Lcom/android/internal/R$attr;->versionMajor:I
-Lcom/android/internal/R$attr;->versionName:I
-Lcom/android/internal/R$attr;->verticalCorrection:I
-Lcom/android/internal/R$attr;->verticalDivider:I
-Lcom/android/internal/R$attr;->verticalGap:I
-Lcom/android/internal/R$attr;->verticalScrollbarPosition:I
-Lcom/android/internal/R$attr;->verticalSpacing:I
-Lcom/android/internal/R$attr;->viewportHeight:I
-Lcom/android/internal/R$attr;->viewportWidth:I
-Lcom/android/internal/R$attr;->visibility:I
-Lcom/android/internal/R$attr;->visible:I
-Lcom/android/internal/R$attr;->visibleToInstantApps:I
-Lcom/android/internal/R$attr;->vmSafeMode:I
-Lcom/android/internal/R$attr;->voiceIcon:I
-Lcom/android/internal/R$attr;->voiceLanguage:I
-Lcom/android/internal/R$attr;->voiceLanguageModel:I
-Lcom/android/internal/R$attr;->voiceMaxResults:I
-Lcom/android/internal/R$attr;->voicePromptText:I
-Lcom/android/internal/R$attr;->voiceSearchMode:I
-Lcom/android/internal/R$attr;->wallpaperCloseEnterAnimation:I
-Lcom/android/internal/R$attr;->wallpaperCloseExitAnimation:I
-Lcom/android/internal/R$attr;->wallpaperIntraCloseEnterAnimation:I
-Lcom/android/internal/R$attr;->wallpaperIntraCloseExitAnimation:I
-Lcom/android/internal/R$attr;->wallpaperIntraOpenEnterAnimation:I
-Lcom/android/internal/R$attr;->wallpaperIntraOpenExitAnimation:I
-Lcom/android/internal/R$attr;->wallpaperOpenEnterAnimation:I
-Lcom/android/internal/R$attr;->wallpaperOpenExitAnimation:I
-Lcom/android/internal/R$attr;->webTextViewStyle:I
-Lcom/android/internal/R$attr;->weekDayTextAppearance:I
-Lcom/android/internal/R$attr;->weekNumberColor:I
-Lcom/android/internal/R$attr;->weekSeparatorLineColor:I
-Lcom/android/internal/R$attr;->weightSum:I
-Lcom/android/internal/R$attr;->widgetCategory:I
-Lcom/android/internal/R$attr;->widgetFeatures:I
-Lcom/android/internal/R$attr;->widgetLayout:I
-Lcom/android/internal/R$attr;->width:I
-Lcom/android/internal/R$attr;->windowActionBar:I
-Lcom/android/internal/R$attr;->windowActionBarFullscreenDecorLayout:I
-Lcom/android/internal/R$attr;->windowActionBarOverlay:I
-Lcom/android/internal/R$attr;->windowActionModeOverlay:I
-Lcom/android/internal/R$attr;->windowActivityTransitions:I
-Lcom/android/internal/R$attr;->windowAllowEnterTransitionOverlap:I
-Lcom/android/internal/R$attr;->windowAllowReturnTransitionOverlap:I
-Lcom/android/internal/R$attr;->windowAnimationStyle:I
-Lcom/android/internal/R$attr;->windowBackground:I
-Lcom/android/internal/R$attr;->windowBackgroundFallback:I
-Lcom/android/internal/R$attr;->windowClipToOutline:I
-Lcom/android/internal/R$attr;->windowCloseOnTouchOutside:I
-Lcom/android/internal/R$attr;->windowContentOverlay:I
-Lcom/android/internal/R$attr;->windowContentTransitionManager:I
-Lcom/android/internal/R$attr;->windowContentTransitions:I
-Lcom/android/internal/R$attr;->windowDisablePreview:I
-Lcom/android/internal/R$attr;->windowDrawsSystemBarBackgrounds:I
-Lcom/android/internal/R$attr;->windowElevation:I
-Lcom/android/internal/R$attr;->windowEnableSplitTouch:I
-Lcom/android/internal/R$attr;->windowEnterAnimation:I
-Lcom/android/internal/R$attr;->windowEnterTransition:I
-Lcom/android/internal/R$attr;->windowExitAnimation:I
-Lcom/android/internal/R$attr;->windowExitTransition:I
-Lcom/android/internal/R$attr;->windowFixedHeightMajor:I
-Lcom/android/internal/R$attr;->windowFixedHeightMinor:I
-Lcom/android/internal/R$attr;->windowFixedWidthMajor:I
-Lcom/android/internal/R$attr;->windowFixedWidthMinor:I
-Lcom/android/internal/R$attr;->windowFrame:I
-Lcom/android/internal/R$attr;->windowFullscreen:I
-Lcom/android/internal/R$attr;->windowHideAnimation:I
-Lcom/android/internal/R$attr;->windowIsFloating:I
-Lcom/android/internal/R$attr;->windowIsTranslucent:I
-Lcom/android/internal/R$attr;->windowLayoutInDisplayCutoutMode:I
-Lcom/android/internal/R$attr;->windowLightNavigationBar:I
-Lcom/android/internal/R$attr;->windowLightStatusBar:I
-Lcom/android/internal/R$attr;->windowMinWidthMajor:I
-Lcom/android/internal/R$attr;->windowMinWidthMinor:I
-Lcom/android/internal/R$attr;->windowNoDisplay:I
-Lcom/android/internal/R$attr;->windowNoTitle:I
-Lcom/android/internal/R$attr;->windowOverscan:I
-Lcom/android/internal/R$attr;->windowReenterTransition:I
-Lcom/android/internal/R$attr;->windowReturnTransition:I
-Lcom/android/internal/R$attr;->windowSharedElementEnterTransition:I
-Lcom/android/internal/R$attr;->windowSharedElementExitTransition:I
-Lcom/android/internal/R$attr;->windowSharedElementReenterTransition:I
-Lcom/android/internal/R$attr;->windowSharedElementReturnTransition:I
-Lcom/android/internal/R$attr;->windowSharedElementsUseOverlay:I
-Lcom/android/internal/R$attr;->windowShowAnimation:I
-Lcom/android/internal/R$attr;->windowShowWallpaper:I
-Lcom/android/internal/R$attr;->windowSoftInputMode:I
-Lcom/android/internal/R$attr;->windowSplashscreenContent:I
-Lcom/android/internal/R$attr;->windowSwipeToDismiss:I
-Lcom/android/internal/R$attr;->windowTitleBackgroundStyle:I
-Lcom/android/internal/R$attr;->windowTitleSize:I
-Lcom/android/internal/R$attr;->windowTitleStyle:I
-Lcom/android/internal/R$attr;->windowTransitionBackgroundFadeDuration:I
-Lcom/android/internal/R$attr;->windowTranslucentNavigation:I
-Lcom/android/internal/R$attr;->windowTranslucentStatus:I
-Lcom/android/internal/R$attr;->writePermission:I
-Lcom/android/internal/R$attr;->x:I
-Lcom/android/internal/R$attr;->xlargeScreens:I
-Lcom/android/internal/R$attr;->y:I
-Lcom/android/internal/R$attr;->yearListItemTextAppearance:I
-Lcom/android/internal/R$attr;->yearListSelectorColor:I
-Lcom/android/internal/R$attr;->yesNoPreferenceStyle:I
-Lcom/android/internal/R$attr;->zAdjustment:I
-Lcom/android/internal/R$bool;
-Lcom/android/internal/R$bool;->action_bar_embed_tabs:I
-Lcom/android/internal/R$bool;->action_bar_expanded_action_views_exclusive:I
-Lcom/android/internal/R$bool;->config_allow3rdPartyAppOnInternal:I
-Lcom/android/internal/R$bool;->config_allowAllRotations:I
-Lcom/android/internal/R$bool;->config_allowAnimationsInLowPowerMode:I
-Lcom/android/internal/R$bool;->config_allowAutoBrightnessWhileDozing:I
-Lcom/android/internal/R$bool;->config_allowDisablingAssistDisclosure:I
-Lcom/android/internal/R$bool;->config_allowEscrowTokenForTrustAgent:I
-Lcom/android/internal/R$bool;->config_allowPriorityVibrationsInLowPowerMode:I
-Lcom/android/internal/R$bool;->config_allowStartActivityForLongPressOnPowerInSetup:I
-Lcom/android/internal/R$bool;->config_allowTheaterModeWakeFromCameraLens:I
-Lcom/android/internal/R$bool;->config_allowTheaterModeWakeFromDock:I
-Lcom/android/internal/R$bool;->config_allowTheaterModeWakeFromGesture:I
-Lcom/android/internal/R$bool;->config_allowTheaterModeWakeFromKey:I
-Lcom/android/internal/R$bool;->config_allowTheaterModeWakeFromLidSwitch:I
-Lcom/android/internal/R$bool;->config_allowTheaterModeWakeFromMotion:I
-Lcom/android/internal/R$bool;->config_allowTheaterModeWakeFromMotionWhenNotDreaming:I
-Lcom/android/internal/R$bool;->config_allowTheaterModeWakeFromPowerKey:I
-Lcom/android/internal/R$bool;->config_allowTheaterModeWakeFromUnplug:I
-Lcom/android/internal/R$bool;->config_allowTheaterModeWakeFromWindowLayout:I
-Lcom/android/internal/R$bool;->config_alwaysUseCdmaRssi:I
-Lcom/android/internal/R$bool;->config_animateScreenLights:I
-Lcom/android/internal/R$bool;->config_annoy_dianne:I
-Lcom/android/internal/R$bool;->config_apfDrop802_3Frames:I
-Lcom/android/internal/R$bool;->config_autoBrightnessResetAmbientLuxAfterWarmUp:I
-Lcom/android/internal/R$bool;->config_autoPowerModePreferWristTilt:I
-Lcom/android/internal/R$bool;->config_autoPowerModePrefetchLocation:I
-Lcom/android/internal/R$bool;->config_auto_attach_data_on_creation:I
-Lcom/android/internal/R$bool;->config_avoidGfxAccel:I
-Lcom/android/internal/R$bool;->config_bluetooth_address_validation:I
-Lcom/android/internal/R$bool;->config_bluetooth_default_profiles:I
-Lcom/android/internal/R$bool;->config_bluetooth_hfp_inband_ringing_support:I
-Lcom/android/internal/R$bool;->config_bluetooth_le_peripheral_mode_supported:I
-Lcom/android/internal/R$bool;->config_bluetooth_pan_enable_autoconnect:I
-Lcom/android/internal/R$bool;->config_bluetooth_reload_supported_profiles_when_enabled:I
-Lcom/android/internal/R$bool;->config_bluetooth_sco_off_call:I
-Lcom/android/internal/R$bool;->config_built_in_sip_phone:I
-Lcom/android/internal/R$bool;->config_cameraDoubleTapPowerGestureEnabled:I
-Lcom/android/internal/R$bool;->config_camera_sound_forced:I
-Lcom/android/internal/R$bool;->config_carDockEnablesAccelerometer:I
-Lcom/android/internal/R$bool;->config_carrier_volte_available:I
-Lcom/android/internal/R$bool;->config_carrier_volte_tty_supported:I
-Lcom/android/internal/R$bool;->config_carrier_vt_available:I
-Lcom/android/internal/R$bool;->config_carrier_wfc_ims_available:I
-Lcom/android/internal/R$bool;->config_cellBroadcastAppLinks:I
-Lcom/android/internal/R$bool;->config_checkWallpaperAtBoot:I
-Lcom/android/internal/R$bool;->config_customUserSwitchUi:I
-Lcom/android/internal/R$bool;->config_defaultInTouchMode:I
-Lcom/android/internal/R$bool;->config_defaultWindowFeatureContextMenu:I
-Lcom/android/internal/R$bool;->config_defaultWindowFeatureOptionsPanel:I
-Lcom/android/internal/R$bool;->config_deskDockEnablesAccelerometer:I
-Lcom/android/internal/R$bool;->config_device_respects_hold_carrier_config:I
-Lcom/android/internal/R$bool;->config_device_volte_available:I
-Lcom/android/internal/R$bool;->config_device_vt_available:I
-Lcom/android/internal/R$bool;->config_device_wfc_ims_available:I
-Lcom/android/internal/R$bool;->config_disableLockscreenByDefault:I
-Lcom/android/internal/R$bool;->config_disableMenuKeyInLockScreen:I
-Lcom/android/internal/R$bool;->config_disableTransitionAnimation:I
-Lcom/android/internal/R$bool;->config_disableUsbPermissionDialogs:I
-Lcom/android/internal/R$bool;->config_displayBlanksAfterDoze:I
-Lcom/android/internal/R$bool;->config_displayBrightnessBucketsInDoze:I
-Lcom/android/internal/R$bool;->config_display_no_service_when_sim_unready:I
-Lcom/android/internal/R$bool;->config_dontPreferApn:I
-Lcom/android/internal/R$bool;->config_dozeAfterScreenOffByDefault:I
-Lcom/android/internal/R$bool;->config_dozeAlwaysOnDisplayAvailable:I
-Lcom/android/internal/R$bool;->config_dozePulsePickup:I
-Lcom/android/internal/R$bool;->config_dreamsActivatedOnDockByDefault:I
-Lcom/android/internal/R$bool;->config_dreamsActivatedOnSleepByDefault:I
-Lcom/android/internal/R$bool;->config_dreamsEnabledByDefault:I
-Lcom/android/internal/R$bool;->config_dreamsEnabledOnBattery:I
-Lcom/android/internal/R$bool;->config_dreamsSupported:I
-Lcom/android/internal/R$bool;->config_duplicate_port_omadm_wappush:I
-Lcom/android/internal/R$bool;->config_dynamic_bind_ims:I
-Lcom/android/internal/R$bool;->config_eap_sim_based_auth_supported:I
-Lcom/android/internal/R$bool;->config_enableActivityRecognitionHardwareOverlay:I
-Lcom/android/internal/R$bool;->config_enableAppWidgetService:I
-Lcom/android/internal/R$bool;->config_enableAutoPowerModes:I
-Lcom/android/internal/R$bool;->config_enableBurnInProtection:I
-Lcom/android/internal/R$bool;->config_enableCarDockHomeLaunch:I
-Lcom/android/internal/R$bool;->config_enableCredentialFactoryResetProtection:I
-Lcom/android/internal/R$bool;->config_enableFusedLocationOverlay:I
-Lcom/android/internal/R$bool;->config_enableGeocoderOverlay:I
-Lcom/android/internal/R$bool;->config_enableGeofenceOverlay:I
-Lcom/android/internal/R$bool;->config_enableHapticTextHandle:I
-Lcom/android/internal/R$bool;->config_enableHardwareFlpOverlay:I
-Lcom/android/internal/R$bool;->config_enableLockBeforeUnlockScreen:I
-Lcom/android/internal/R$bool;->config_enableLockScreenRotation:I
-Lcom/android/internal/R$bool;->config_enableLockScreenTranslucentDecor:I
-Lcom/android/internal/R$bool;->config_enableMultiUserUI:I
-Lcom/android/internal/R$bool;->config_enableNetworkLocationOverlay:I
-Lcom/android/internal/R$bool;->config_enableNewAutoSelectNetworkUI:I
-Lcom/android/internal/R$bool;->config_enableNightMode:I
-Lcom/android/internal/R$bool;->config_enableScreenshotChord:I
-Lcom/android/internal/R$bool;->config_enableTranslucentDecor:I
-Lcom/android/internal/R$bool;->config_enableUpdateableTimeZoneRules:I
-Lcom/android/internal/R$bool;->config_enableWallpaperService:I
-Lcom/android/internal/R$bool;->config_enableWifiDisplay:I
-Lcom/android/internal/R$bool;->config_enable_emergency_call_while_sim_locked:I
-Lcom/android/internal/R$bool;->config_enable_puk_unlock_screen:I
-Lcom/android/internal/R$bool;->config_fillMainBuiltInDisplayCutout:I
-Lcom/android/internal/R$bool;->config_fingerprintSupportsGestures:I
-Lcom/android/internal/R$bool;->config_forceDefaultOrientation:I
-Lcom/android/internal/R$bool;->config_forceWindowDrawsStatusBarBackground:I
-Lcom/android/internal/R$bool;->config_freeformWindowManagement:I
-Lcom/android/internal/R$bool;->config_goToSleepOnButtonPressTheaterMode:I
-Lcom/android/internal/R$bool;->config_guestUserEphemeral:I
-Lcom/android/internal/R$bool;->config_handleVolumeKeysInWindowManager:I
-Lcom/android/internal/R$bool;->config_hasPermanentDpad:I
-Lcom/android/internal/R$bool;->config_hasRecents:I
-Lcom/android/internal/R$bool;->config_hotswapCapable:I
-Lcom/android/internal/R$bool;->config_keepRestrictedProfilesInBackground:I
-Lcom/android/internal/R$bool;->config_lidControlsScreenLock:I
-Lcom/android/internal/R$bool;->config_lidControlsSleep:I
-Lcom/android/internal/R$bool;->config_localDisplaysMirrorContent:I
-Lcom/android/internal/R$bool;->config_localDisplaysPrivate:I
-Lcom/android/internal/R$bool;->config_lockDayNightMode:I
-Lcom/android/internal/R$bool;->config_lockUiMode:I
-Lcom/android/internal/R$bool;->config_LTE_eri_for_network_name:I
-Lcom/android/internal/R$bool;->config_mainBuiltInDisplayIsRound:I
-Lcom/android/internal/R$bool;->config_networkSamplingWakesDevice:I
-Lcom/android/internal/R$bool;->config_nightDisplayAvailable:I
-Lcom/android/internal/R$bool;->config_noHomeScreen:I
-Lcom/android/internal/R$bool;->config_notificationBadging:I
-Lcom/android/internal/R$bool;->config_notificationHeaderClickableForExpand:I
-Lcom/android/internal/R$bool;->config_overrideRemoteViewsActivityTransition:I
-Lcom/android/internal/R$bool;->config_permissionReviewRequired:I
-Lcom/android/internal/R$bool;->config_pinnerCameraApp:I
-Lcom/android/internal/R$bool;->config_powerDecoupleAutoSuspendModeFromDisplay:I
-Lcom/android/internal/R$bool;->config_powerDecoupleInteractiveModeFromDisplay:I
-Lcom/android/internal/R$bool;->config_quickSettingsSupported:I
-Lcom/android/internal/R$bool;->config_requireCallCapableAccountForHandle:I
-Lcom/android/internal/R$bool;->config_requireRadioPowerOffOnSimRefreshReset:I
-Lcom/android/internal/R$bool;->config_restartRadioAfterProvisioning:I
-Lcom/android/internal/R$bool;->config_restart_radio_on_pdp_fail_regular_deactivation:I
-Lcom/android/internal/R$bool;->config_reverseDefaultRotation:I
-Lcom/android/internal/R$bool;->config_safe_media_volume_enabled:I
-Lcom/android/internal/R$bool;->config_sendAudioBecomingNoisy:I
-Lcom/android/internal/R$bool;->config_sendPackageName:I
-Lcom/android/internal/R$bool;->config_setColorTransformAccelerated:I
-Lcom/android/internal/R$bool;->config_sf_limitedAlpha:I
-Lcom/android/internal/R$bool;->config_sf_slowBlur:I
-Lcom/android/internal/R$bool;->config_showAreaUpdateInfoSettings:I
-Lcom/android/internal/R$bool;->config_showMenuShortcutsWhenKeyboardPresent:I
-Lcom/android/internal/R$bool;->config_showSysuiShutdown:I
-Lcom/android/internal/R$bool;->config_single_volume:I
-Lcom/android/internal/R$bool;->config_sip_wifi_only:I
-Lcom/android/internal/R$bool;->config_skipScreenOnBrightnessRamp:I
-Lcom/android/internal/R$bool;->config_smart_battery_available:I
-Lcom/android/internal/R$bool;->config_sms_capable:I
-Lcom/android/internal/R$bool;->config_sms_decode_gsm_8bit_data:I
-Lcom/android/internal/R$bool;->config_sms_force_7bit_encoding:I
-Lcom/android/internal/R$bool;->config_sms_utf8_support:I
-Lcom/android/internal/R$bool;->config_speed_up_audio_on_mt_calls:I
-Lcom/android/internal/R$bool;->config_stkNoAlphaUsrCnf:I
-Lcom/android/internal/R$bool;->config_strongAuthRequiredOnBoot:I
-Lcom/android/internal/R$bool;->config_supportAudioSourceUnprocessed:I
-Lcom/android/internal/R$bool;->config_supportAutoRotation:I
-Lcom/android/internal/R$bool;->config_supportBluetoothPersistedState:I
-Lcom/android/internal/R$bool;->config_supportDoubleTapWake:I
-Lcom/android/internal/R$bool;->config_supportLongPressPowerWhenNonInteractive:I
-Lcom/android/internal/R$bool;->config_supportMicNearUltrasound:I
-Lcom/android/internal/R$bool;->config_supportPreRebootSecurityLogs:I
-Lcom/android/internal/R$bool;->config_supportsMultiDisplay:I
-Lcom/android/internal/R$bool;->config_supportsMultiWindow:I
-Lcom/android/internal/R$bool;->config_supportSpeakerNearUltrasound:I
-Lcom/android/internal/R$bool;->config_supportsSplitScreenMultiWindow:I
-Lcom/android/internal/R$bool;->config_supportSystemNavigationKeys:I
-Lcom/android/internal/R$bool;->config_suspendWhenScreenOffDueToProximity:I
-Lcom/android/internal/R$bool;->config_sustainedPerformanceModeSupported:I
-Lcom/android/internal/R$bool;->config_swipeDisambiguation:I
-Lcom/android/internal/R$bool;->config_swipe_up_gesture_default:I
-Lcom/android/internal/R$bool;->config_swipe_up_gesture_setting_available:I
-Lcom/android/internal/R$bool;->config_switch_phone_on_voice_reg_state_change:I
-Lcom/android/internal/R$bool;->config_syncstorageengine_masterSyncAutomatically:I
-Lcom/android/internal/R$bool;->config_timeZoneRulesUpdateTrackingEnabled:I
-Lcom/android/internal/R$bool;->config_tintNotificationActionButtons:I
-Lcom/android/internal/R$bool;->config_ui_enableFadingMarquee:I
-Lcom/android/internal/R$bool;->config_unplugTurnsOnScreen:I
-Lcom/android/internal/R$bool;->config_usbChargingMessage:I
-Lcom/android/internal/R$bool;->config_useAttentionLight:I
-Lcom/android/internal/R$bool;->config_useDefaultFocusHighlight:I
-Lcom/android/internal/R$bool;->config_useDevInputEventForAudioJack:I
-Lcom/android/internal/R$bool;->config_useFixedVolume:I
-Lcom/android/internal/R$bool;->config_useRoundIcon:I
-Lcom/android/internal/R$bool;->config_user_notification_of_restrictied_mobile_access:I
-Lcom/android/internal/R$bool;->config_useVideoPauseWorkaround:I
-Lcom/android/internal/R$bool;->config_useVolumeKeySounds:I
-Lcom/android/internal/R$bool;->config_use_sim_language_file:I
-Lcom/android/internal/R$bool;->config_use_strict_phone_number_comparation:I
-Lcom/android/internal/R$bool;->config_use_voip_mode_for_ims:I
-Lcom/android/internal/R$bool;->config_voice_capable:I
-Lcom/android/internal/R$bool;->config_volumeHushGestureEnabled:I
-Lcom/android/internal/R$bool;->config_wifiDisplaySupportsProtectedBuffers:I
-Lcom/android/internal/R$bool;->config_wifi_background_scan_support:I
-Lcom/android/internal/R$bool;->config_wifi_batched_scan_supported:I
-Lcom/android/internal/R$bool;->config_wifi_convert_apband_5ghz_to_any:I
-Lcom/android/internal/R$bool;->config_wifi_dual_band_support:I
-Lcom/android/internal/R$bool;->config_wifi_enable_disconnection_debounce:I
-Lcom/android/internal/R$bool;->config_wifi_enable_wifi_firmware_debugging:I
-Lcom/android/internal/R$bool;->config_wifi_fast_bss_transition_enabled:I
-Lcom/android/internal/R$bool;->config_wifi_framework_cellular_handover_enable_user_triggered_adjustment:I
-Lcom/android/internal/R$bool;->config_wifi_framework_enable_associated_network_selection:I
-Lcom/android/internal/R$bool;->config_wifi_framework_enable_voice_call_sar_tx_power_limit:I
-Lcom/android/internal/R$bool;->config_wifi_framework_use_single_radio_chain_scan_results_network_selection:I
-Lcom/android/internal/R$bool;->config_wifi_only_link_same_credential_configurations:I
-Lcom/android/internal/R$bool;->config_wifi_revert_country_code_on_cellular_loss:I
-Lcom/android/internal/R$bool;->config_wifi_softap_acs_supported:I
-Lcom/android/internal/R$bool;->config_wifi_softap_ieee80211ac_supported:I
-Lcom/android/internal/R$bool;->config_wifi_turn_off_during_emergency_call:I
-Lcom/android/internal/R$bool;->config_wimaxEnabled:I
-Lcom/android/internal/R$bool;->config_windowEnableCircularEmulatorDisplayOverlay:I
-Lcom/android/internal/R$bool;->config_windowShowCircularMask:I
-Lcom/android/internal/R$bool;->db_compatibility_wal_supported:I
-Lcom/android/internal/R$bool;->enable_pbap_pce_profile:I
-Lcom/android/internal/R$bool;->imsServiceAllowTurnOff:I
-Lcom/android/internal/R$bool;->preferences_prefer_dual_pane:I
-Lcom/android/internal/R$bool;->show_ongoing_ime_switcher:I
-Lcom/android/internal/R$bool;->skipHoldBeforeMerge:I
-Lcom/android/internal/R$bool;->skip_restoring_network_selection:I
-Lcom/android/internal/R$bool;->split_action_bar_is_narrow:I
-Lcom/android/internal/R$bool;->target_honeycomb_needs_options_menu:I
-Lcom/android/internal/R$bool;->use_lock_pattern_drawable:I
-Lcom/android/internal/R$color;
-Lcom/android/internal/R$color;-><init>()V
-Lcom/android/internal/R$color;->background_dark:I
-Lcom/android/internal/R$color;->background_light:I
-Lcom/android/internal/R$color;->black:I
-Lcom/android/internal/R$color;->car_body1_light:I
-Lcom/android/internal/R$color;->car_card_dark:I
-Lcom/android/internal/R$color;->car_user_switcher_user_image_bgcolor:I
-Lcom/android/internal/R$color;->car_user_switcher_user_image_fgcolor:I
-Lcom/android/internal/R$color;->chooser_service_row_background_color:I
-Lcom/android/internal/R$color;->config_defaultNotificationColor:I
-Lcom/android/internal/R$color;->darker_gray:I
-Lcom/android/internal/R$color;->decor_button_dark_color:I
-Lcom/android/internal/R$color;->decor_button_light_color:I
-Lcom/android/internal/R$color;->decor_view_status_guard:I
-Lcom/android/internal/R$color;->holo_blue_bright:I
-Lcom/android/internal/R$color;->holo_blue_dark:I
-Lcom/android/internal/R$color;->holo_blue_light:I
-Lcom/android/internal/R$color;->holo_green_dark:I
-Lcom/android/internal/R$color;->holo_green_light:I
-Lcom/android/internal/R$color;->holo_orange_dark:I
-Lcom/android/internal/R$color;->holo_orange_light:I
-Lcom/android/internal/R$color;->holo_purple:I
-Lcom/android/internal/R$color;->holo_red_dark:I
-Lcom/android/internal/R$color;->holo_red_light:I
-Lcom/android/internal/R$color;->instant_app_badge:I
-Lcom/android/internal/R$color;->lock_pattern_view_regular_color:I
-Lcom/android/internal/R$color;->lock_pattern_view_success_color:I
-Lcom/android/internal/R$color;->material_grey_300:I
-Lcom/android/internal/R$color;->notification_action_list:I
-Lcom/android/internal/R$color;->notification_default_color_dark:I
-Lcom/android/internal/R$color;->notification_default_color_light:I
-Lcom/android/internal/R$color;->notification_material_background_color:I
-Lcom/android/internal/R$color;->notification_primary_text_color_dark:I
-Lcom/android/internal/R$color;->notification_primary_text_color_light:I
-Lcom/android/internal/R$color;->notification_progress_background_color:I
-Lcom/android/internal/R$color;->notification_secondary_text_color_dark:I
-Lcom/android/internal/R$color;->notification_secondary_text_color_light:I
-Lcom/android/internal/R$color;->primary_text_dark:I
-Lcom/android/internal/R$color;->primary_text_dark_nodisable:I
-Lcom/android/internal/R$color;->primary_text_light:I
-Lcom/android/internal/R$color;->primary_text_light_nodisable:I
-Lcom/android/internal/R$color;->profile_badge_1:I
-Lcom/android/internal/R$color;->profile_badge_2:I
-Lcom/android/internal/R$color;->profile_badge_3:I
-Lcom/android/internal/R$color;->resize_shadow_end_color:I
-Lcom/android/internal/R$color;->resize_shadow_start_color:I
-Lcom/android/internal/R$color;->secondary_text_dark:I
-Lcom/android/internal/R$color;->secondary_text_dark_nodisable:I
-Lcom/android/internal/R$color;->secondary_text_light:I
-Lcom/android/internal/R$color;->secondary_text_light_nodisable:I
-Lcom/android/internal/R$color;->system_bar_background_semi_transparent:I
-Lcom/android/internal/R$color;->system_notification_accent_color:I
-Lcom/android/internal/R$color;->tab_indicator_text:I
-Lcom/android/internal/R$color;->tab_indicator_text_v4:I
-Lcom/android/internal/R$color;->tertiary_text_dark:I
-Lcom/android/internal/R$color;->tertiary_text_light:I
-Lcom/android/internal/R$color;->text_color_primary:I
-Lcom/android/internal/R$color;->timepicker_default_ampm_selected_background_color_material:I
-Lcom/android/internal/R$color;->timepicker_default_ampm_unselected_background_color_material:I
-Lcom/android/internal/R$color;->timepicker_default_numbers_background_color_material:I
-Lcom/android/internal/R$color;->timepicker_default_selector_color_material:I
-Lcom/android/internal/R$color;->timepicker_default_text_color_material:I
-Lcom/android/internal/R$color;->transparent:I
-Lcom/android/internal/R$color;->user_icon_1:I
-Lcom/android/internal/R$color;->user_icon_2:I
-Lcom/android/internal/R$color;->user_icon_3:I
-Lcom/android/internal/R$color;->user_icon_4:I
-Lcom/android/internal/R$color;->user_icon_5:I
-Lcom/android/internal/R$color;->user_icon_6:I
-Lcom/android/internal/R$color;->user_icon_7:I
-Lcom/android/internal/R$color;->user_icon_8:I
-Lcom/android/internal/R$color;->user_icon_default_gray:I
-Lcom/android/internal/R$color;->user_icon_default_white:I
-Lcom/android/internal/R$color;->white:I
-Lcom/android/internal/R$color;->widget_edittext_dark:I
-Lcom/android/internal/R$dimen;
-Lcom/android/internal/R$dimen;->accessibility_magnification_indicator_width:I
-Lcom/android/internal/R$dimen;->accessibility_touch_slop:I
-Lcom/android/internal/R$dimen;->action_bar_stacked_max_height:I
-Lcom/android/internal/R$dimen;->action_bar_stacked_tab_max_width:I
-Lcom/android/internal/R$dimen;->alert_dialog_round_padding:I
-Lcom/android/internal/R$dimen;->app_icon_size:I
-Lcom/android/internal/R$dimen;->autofill_dataset_picker_max_height:I
-Lcom/android/internal/R$dimen;->autofill_dataset_picker_max_width:I
-Lcom/android/internal/R$dimen;->autofill_save_custom_subtitle_max_height:I
-Lcom/android/internal/R$dimen;->autofill_save_icon_max_size:I
-Lcom/android/internal/R$dimen;->button_inset_vertical_material:I
-Lcom/android/internal/R$dimen;->car_body1_size:I
-Lcom/android/internal/R$dimen;->car_fullscreen_user_pod_icon_text_size:I
-Lcom/android/internal/R$dimen;->car_fullscreen_user_pod_image_avatar_height:I
-Lcom/android/internal/R$dimen;->car_fullscreen_user_pod_image_avatar_width:I
-Lcom/android/internal/R$dimen;->car_padding_4:I
-Lcom/android/internal/R$dimen;->cascading_menus_min_smallest_width:I
-Lcom/android/internal/R$dimen;->chooser_service_spacing:I
-Lcom/android/internal/R$dimen;->circular_display_mask_thickness:I
-Lcom/android/internal/R$dimen;->config_appTransitionAnimationDurationScaleDefault:I
-Lcom/android/internal/R$dimen;->config_horizontalScrollFactor:I
-Lcom/android/internal/R$dimen;->config_inCallNotificationVolume:I
-Lcom/android/internal/R$dimen;->config_mediaMetadataBitmapMaxSize:I
-Lcom/android/internal/R$dimen;->config_minScalingSpan:I
-Lcom/android/internal/R$dimen;->config_minScalingTouchMajor:I
-Lcom/android/internal/R$dimen;->config_minScrollbarTouchTarget:I
-Lcom/android/internal/R$dimen;->config_pictureInPictureAspectRatioLimitForMinSize:I
-Lcom/android/internal/R$dimen;->config_pictureInPictureDefaultAspectRatio:I
-Lcom/android/internal/R$dimen;->config_pictureInPictureDefaultSizePercent:I
-Lcom/android/internal/R$dimen;->config_pictureInPictureMaxAspectRatio:I
-Lcom/android/internal/R$dimen;->config_pictureInPictureMinAspectRatio:I
-Lcom/android/internal/R$dimen;->config_prefDialogWidth:I
-Lcom/android/internal/R$dimen;->config_screen_magnification_scaling_threshold:I
-Lcom/android/internal/R$dimen;->config_scrollbarSize:I
-Lcom/android/internal/R$dimen;->config_scrollFactor:I
-Lcom/android/internal/R$dimen;->config_verticalScrollFactor:I
-Lcom/android/internal/R$dimen;->config_viewConfigurationHoverSlop:I
-Lcom/android/internal/R$dimen;->config_viewConfigurationTouchSlop:I
-Lcom/android/internal/R$dimen;->config_viewMaxFlingVelocity:I
-Lcom/android/internal/R$dimen;->config_viewMinFlingVelocity:I
-Lcom/android/internal/R$dimen;->content_rect_bottom_clip_allowance:I
-Lcom/android/internal/R$dimen;->cross_profile_apps_thumbnail_size:I
-Lcom/android/internal/R$dimen;->datepicker_view_animator_height:I
-Lcom/android/internal/R$dimen;->datepicker_year_label_height:I
-Lcom/android/internal/R$dimen;->date_picker_day_height:I
-Lcom/android/internal/R$dimen;->date_picker_day_of_week_height:I
-Lcom/android/internal/R$dimen;->date_picker_day_of_week_text_size:I
-Lcom/android/internal/R$dimen;->date_picker_day_selector_radius:I
-Lcom/android/internal/R$dimen;->date_picker_day_text_size:I
-Lcom/android/internal/R$dimen;->date_picker_day_width:I
-Lcom/android/internal/R$dimen;->date_picker_month_height:I
-Lcom/android/internal/R$dimen;->date_picker_month_text_size:I
-Lcom/android/internal/R$dimen;->day_picker_padding_top:I
-Lcom/android/internal/R$dimen;->default_app_widget_padding_bottom:I
-Lcom/android/internal/R$dimen;->default_app_widget_padding_left:I
-Lcom/android/internal/R$dimen;->default_app_widget_padding_right:I
-Lcom/android/internal/R$dimen;->default_app_widget_padding_top:I
-Lcom/android/internal/R$dimen;->default_gap:I
-Lcom/android/internal/R$dimen;->default_minimal_size_pip_resizable_task:I
-Lcom/android/internal/R$dimen;->default_minimal_size_resizable_task:I
-Lcom/android/internal/R$dimen;->dialog_min_width_major:I
-Lcom/android/internal/R$dimen;->dialog_min_width_minor:I
-Lcom/android/internal/R$dimen;->docked_stack_divider_insets:I
-Lcom/android/internal/R$dimen;->docked_stack_divider_thickness:I
-Lcom/android/internal/R$dimen;->docked_stack_minimize_thickness:I
-Lcom/android/internal/R$dimen;->dropdownitem_icon_width:I
-Lcom/android/internal/R$dimen;->dropdownitem_text_padding_left:I
-Lcom/android/internal/R$dimen;->emphasized_button_stroke_width:I
-Lcom/android/internal/R$dimen;->fast_scroller_minimum_touch_target:I
-Lcom/android/internal/R$dimen;->floating_toolbar_height:I
-Lcom/android/internal/R$dimen;->floating_toolbar_horizontal_margin:I
-Lcom/android/internal/R$dimen;->floating_toolbar_icon_text_spacing:I
-Lcom/android/internal/R$dimen;->floating_toolbar_maximum_overflow_height:I
-Lcom/android/internal/R$dimen;->floating_toolbar_menu_button_minimum_width:I
-Lcom/android/internal/R$dimen;->floating_toolbar_menu_button_side_padding:I
-Lcom/android/internal/R$dimen;->floating_toolbar_minimum_overflow_height:I
-Lcom/android/internal/R$dimen;->floating_toolbar_overflow_side_padding:I
-Lcom/android/internal/R$dimen;->floating_toolbar_preferred_width:I
-Lcom/android/internal/R$dimen;->floating_toolbar_text_size:I
-Lcom/android/internal/R$dimen;->floating_toolbar_vertical_margin:I
-Lcom/android/internal/R$dimen;->immersive_mode_cling_width:I
-Lcom/android/internal/R$dimen;->input_extract_action_button_height:I
-Lcom/android/internal/R$dimen;->input_extract_action_button_width:I
-Lcom/android/internal/R$dimen;->item_touch_helper_swipe_escape_max_velocity:I
-Lcom/android/internal/R$dimen;->item_touch_helper_swipe_escape_velocity:I
-Lcom/android/internal/R$dimen;->lock_pattern_dot_line_width:I
-Lcom/android/internal/R$dimen;->lock_pattern_dot_size:I
-Lcom/android/internal/R$dimen;->lock_pattern_dot_size_activated:I
-Lcom/android/internal/R$dimen;->magnifier_elevation:I
-Lcom/android/internal/R$dimen;->magnifier_height:I
-Lcom/android/internal/R$dimen;->magnifier_offset:I
-Lcom/android/internal/R$dimen;->magnifier_width:I
-Lcom/android/internal/R$dimen;->magnifier_zoom_scale:I
-Lcom/android/internal/R$dimen;->media_notification_expanded_image_margin_bottom:I
-Lcom/android/internal/R$dimen;->messaging_avatar_size:I
-Lcom/android/internal/R$dimen;->messaging_group_sending_progress_size:I
-Lcom/android/internal/R$dimen;->messaging_image_extra_spacing:I
-Lcom/android/internal/R$dimen;->messaging_image_max_height:I
-Lcom/android/internal/R$dimen;->messaging_image_min_size:I
-Lcom/android/internal/R$dimen;->messaging_image_rounding:I
-Lcom/android/internal/R$dimen;->navigation_bar_height_car_mode:I
-Lcom/android/internal/R$dimen;->navigation_bar_height_landscape_car_mode:I
-Lcom/android/internal/R$dimen;->navigation_bar_width_car_mode:I
-Lcom/android/internal/R$dimen;->notification_action_disabled_alpha:I
-Lcom/android/internal/R$dimen;->notification_action_emphasized_height:I
-Lcom/android/internal/R$dimen;->notification_action_list_height:I
-Lcom/android/internal/R$dimen;->notification_badge_size:I
-Lcom/android/internal/R$dimen;->notification_big_picture_max_height:I
-Lcom/android/internal/R$dimen;->notification_big_picture_max_height_low_ram:I
-Lcom/android/internal/R$dimen;->notification_big_picture_max_width:I
-Lcom/android/internal/R$dimen;->notification_big_picture_max_width_low_ram:I
-Lcom/android/internal/R$dimen;->notification_content_image_margin_end:I
-Lcom/android/internal/R$dimen;->notification_content_margin:I
-Lcom/android/internal/R$dimen;->notification_content_margin_end:I
-Lcom/android/internal/R$dimen;->notification_content_margin_start:I
-Lcom/android/internal/R$dimen;->notification_content_margin_top:I
-Lcom/android/internal/R$dimen;->notification_custom_view_max_image_height:I
-Lcom/android/internal/R$dimen;->notification_custom_view_max_image_height_low_ram:I
-Lcom/android/internal/R$dimen;->notification_custom_view_max_image_width:I
-Lcom/android/internal/R$dimen;->notification_custom_view_max_image_width_low_ram:I
-Lcom/android/internal/R$dimen;->notification_expand_button_padding_top:I
-Lcom/android/internal/R$dimen;->notification_header_app_name_margin_start:I
-Lcom/android/internal/R$dimen;->notification_header_background_height:I
-Lcom/android/internal/R$dimen;->notification_header_expand_icon_size:I
-Lcom/android/internal/R$dimen;->notification_header_height:I
-Lcom/android/internal/R$dimen;->notification_header_icon_margin_end:I
-Lcom/android/internal/R$dimen;->notification_header_icon_size:I
-Lcom/android/internal/R$dimen;->notification_header_separating_margin:I
-Lcom/android/internal/R$dimen;->notification_header_shrink_min_width:I
-Lcom/android/internal/R$dimen;->notification_inbox_item_top_padding:I
-Lcom/android/internal/R$dimen;->notification_large_icon_circle_padding:I
-Lcom/android/internal/R$dimen;->notification_large_icon_height:I
-Lcom/android/internal/R$dimen;->notification_large_icon_width:I
-Lcom/android/internal/R$dimen;->notification_media_image_margin_end:I
-Lcom/android/internal/R$dimen;->notification_media_image_max_height:I
-Lcom/android/internal/R$dimen;->notification_media_image_max_height_low_ram:I
-Lcom/android/internal/R$dimen;->notification_media_image_max_width:I
-Lcom/android/internal/R$dimen;->notification_media_image_max_width_low_ram:I
-Lcom/android/internal/R$dimen;->notification_messaging_spacing:I
-Lcom/android/internal/R$dimen;->notification_min_content_height:I
-Lcom/android/internal/R$dimen;->notification_reply_inset:I
-Lcom/android/internal/R$dimen;->notification_right_icon_size:I
-Lcom/android/internal/R$dimen;->notification_right_icon_size_low_ram:I
-Lcom/android/internal/R$dimen;->notification_secondary_text_disabled_alpha:I
-Lcom/android/internal/R$dimen;->notification_subtext_size:I
-Lcom/android/internal/R$dimen;->notification_text_margin_top:I
-Lcom/android/internal/R$dimen;->notification_text_size:I
-Lcom/android/internal/R$dimen;->notification_title_text_size:I
-Lcom/android/internal/R$dimen;->notification_top_pad:I
-Lcom/android/internal/R$dimen;->notification_top_pad_large_text:I
-Lcom/android/internal/R$dimen;->notification_top_pad_large_text_narrow:I
-Lcom/android/internal/R$dimen;->notification_top_pad_narrow:I
-Lcom/android/internal/R$dimen;->password_keyboard_spacebar_vertical_correction:I
-Lcom/android/internal/R$dimen;->pip_fling_deceleration:I
-Lcom/android/internal/R$dimen;->pip_minimized_visible_size:I
-Lcom/android/internal/R$dimen;->preference_fragment_padding_bottom:I
-Lcom/android/internal/R$dimen;->preference_fragment_padding_side:I
-Lcom/android/internal/R$dimen;->quick_qs_offset_height:I
-Lcom/android/internal/R$dimen;->quick_qs_total_height:I
-Lcom/android/internal/R$dimen;->resize_shadow_size:I
-Lcom/android/internal/R$dimen;->search_view_preferred_height:I
-Lcom/android/internal/R$dimen;->search_view_preferred_width:I
-Lcom/android/internal/R$dimen;->slice_icon_size:I
-Lcom/android/internal/R$dimen;->slice_padding:I
-Lcom/android/internal/R$dimen;->slice_shortcut_size:I
-Lcom/android/internal/R$dimen;->status_bar_height_landscape:I
-Lcom/android/internal/R$dimen;->status_bar_height_portrait:I
-Lcom/android/internal/R$dimen;->status_bar_icon_size:I
-Lcom/android/internal/R$dimen;->subtitle_corner_radius:I
-Lcom/android/internal/R$dimen;->subtitle_outline_width:I
-Lcom/android/internal/R$dimen;->subtitle_shadow_offset:I
-Lcom/android/internal/R$dimen;->subtitle_shadow_radius:I
-Lcom/android/internal/R$dimen;->task_height_of_minimized_mode:I
-Lcom/android/internal/R$dimen;->textview_error_popup_default_width:I
-Lcom/android/internal/R$dimen;->text_handle_min_size:I
-Lcom/android/internal/R$dimen;->text_size_small_material:I
-Lcom/android/internal/R$dimen;->thumbnail_height:I
-Lcom/android/internal/R$dimen;->thumbnail_width:I
-Lcom/android/internal/R$dimen;->timepicker_center_dot_radius:I
-Lcom/android/internal/R$dimen;->timepicker_selector_dot_radius:I
-Lcom/android/internal/R$dimen;->timepicker_selector_radius:I
-Lcom/android/internal/R$dimen;->timepicker_selector_stroke:I
-Lcom/android/internal/R$dimen;->timepicker_text_inset_inner:I
-Lcom/android/internal/R$dimen;->timepicker_text_inset_normal:I
-Lcom/android/internal/R$dimen;->timepicker_text_size_inner:I
-Lcom/android/internal/R$dimen;->timepicker_text_size_normal:I
-Lcom/android/internal/R$dimen;->tooltip_precise_anchor_extra_offset:I
-Lcom/android/internal/R$dimen;->tooltip_precise_anchor_threshold:I
-Lcom/android/internal/R$dimen;->tooltip_y_offset_non_touch:I
-Lcom/android/internal/R$dimen;->tooltip_y_offset_touch:I
-Lcom/android/internal/R$drawable;
-Lcom/android/internal/R$drawable;-><init>()V
-Lcom/android/internal/R$drawable;->alert_dark_frame:I
-Lcom/android/internal/R$drawable;->alert_light_frame:I
-Lcom/android/internal/R$drawable;->alert_window_layer:I
-Lcom/android/internal/R$drawable;->arrow_down_float:I
-Lcom/android/internal/R$drawable;->arrow_up_float:I
-Lcom/android/internal/R$drawable;->autofilled_highlight:I
-Lcom/android/internal/R$drawable;->autofill_dataset_picker_background:I
-Lcom/android/internal/R$drawable;->bottom_bar:I
-Lcom/android/internal/R$drawable;->btn_clock_material:I
-Lcom/android/internal/R$drawable;->btn_default:I
-Lcom/android/internal/R$drawable;->btn_default_small:I
-Lcom/android/internal/R$drawable;->btn_dialog:I
-Lcom/android/internal/R$drawable;->btn_dropdown:I
-Lcom/android/internal/R$drawable;->btn_keyboard_key_material:I
-Lcom/android/internal/R$drawable;->btn_minus:I
-Lcom/android/internal/R$drawable;->btn_plus:I
-Lcom/android/internal/R$drawable;->btn_radio:I
-Lcom/android/internal/R$drawable;->btn_star:I
-Lcom/android/internal/R$drawable;->btn_star_big_off:I
-Lcom/android/internal/R$drawable;->btn_star_big_on:I
-Lcom/android/internal/R$drawable;->button_onoff_indicator_off:I
-Lcom/android/internal/R$drawable;->button_onoff_indicator_on:I
-Lcom/android/internal/R$drawable;->call_contact:I
-Lcom/android/internal/R$drawable;->checkbox_off_background:I
-Lcom/android/internal/R$drawable;->checkbox_on_background:I
-Lcom/android/internal/R$drawable;->cling_arrow_up:I
-Lcom/android/internal/R$drawable;->cling_bg:I
-Lcom/android/internal/R$drawable;->cling_button:I
-Lcom/android/internal/R$drawable;->clock_dial:I
-Lcom/android/internal/R$drawable;->clock_hand_hour:I
-Lcom/android/internal/R$drawable;->clock_hand_minute:I
-Lcom/android/internal/R$drawable;->create_contact:I
-Lcom/android/internal/R$drawable;->dark_header:I
-Lcom/android/internal/R$drawable;->decor_caption_title_focused:I
-Lcom/android/internal/R$drawable;->decor_close_button_dark:I
-Lcom/android/internal/R$drawable;->decor_close_button_light:I
-Lcom/android/internal/R$drawable;->decor_maximize_button_dark:I
-Lcom/android/internal/R$drawable;->decor_maximize_button_light:I
-Lcom/android/internal/R$drawable;->default_lock_wallpaper:I
-Lcom/android/internal/R$drawable;->default_wallpaper:I
-Lcom/android/internal/R$drawable;->dialog_frame:I
-Lcom/android/internal/R$drawable;->dialog_holo_dark_frame:I
-Lcom/android/internal/R$drawable;->dialog_holo_light_frame:I
-Lcom/android/internal/R$drawable;->divider_horizontal_bright:I
-Lcom/android/internal/R$drawable;->divider_horizontal_dark:I
-Lcom/android/internal/R$drawable;->divider_horizontal_dim_dark:I
-Lcom/android/internal/R$drawable;->divider_horizontal_textfield:I
-Lcom/android/internal/R$drawable;->editbox_background:I
-Lcom/android/internal/R$drawable;->editbox_background_normal:I
-Lcom/android/internal/R$drawable;->editbox_dropdown_dark_frame:I
-Lcom/android/internal/R$drawable;->editbox_dropdown_light_frame:I
-Lcom/android/internal/R$drawable;->edit_text:I
-Lcom/android/internal/R$drawable;->emergency_icon:I
-Lcom/android/internal/R$drawable;->emo_im_angel:I
-Lcom/android/internal/R$drawable;->emo_im_cool:I
-Lcom/android/internal/R$drawable;->emo_im_crying:I
-Lcom/android/internal/R$drawable;->emo_im_embarrassed:I
-Lcom/android/internal/R$drawable;->emo_im_foot_in_mouth:I
-Lcom/android/internal/R$drawable;->emo_im_happy:I
-Lcom/android/internal/R$drawable;->emo_im_kissing:I
-Lcom/android/internal/R$drawable;->emo_im_laughing:I
-Lcom/android/internal/R$drawable;->emo_im_lips_are_sealed:I
-Lcom/android/internal/R$drawable;->emo_im_money_mouth:I
-Lcom/android/internal/R$drawable;->emo_im_sad:I
-Lcom/android/internal/R$drawable;->emo_im_surprised:I
-Lcom/android/internal/R$drawable;->emo_im_tongue_sticking_out:I
-Lcom/android/internal/R$drawable;->emo_im_undecided:I
-Lcom/android/internal/R$drawable;->emo_im_winking:I
-Lcom/android/internal/R$drawable;->emo_im_wtf:I
-Lcom/android/internal/R$drawable;->emo_im_yelling:I
-Lcom/android/internal/R$drawable;->emulator_circular_window_overlay:I
-Lcom/android/internal/R$drawable;->expander_close_holo_dark:I
-Lcom/android/internal/R$drawable;->expander_ic_maximized:I
-Lcom/android/internal/R$drawable;->expander_ic_minimized:I
-Lcom/android/internal/R$drawable;->expander_open_holo_dark:I
-Lcom/android/internal/R$drawable;->ft_avd_toarrow:I
-Lcom/android/internal/R$drawable;->ft_avd_toarrow_animation:I
-Lcom/android/internal/R$drawable;->ft_avd_tooverflow:I
-Lcom/android/internal/R$drawable;->ft_avd_tooverflow_animation:I
-Lcom/android/internal/R$drawable;->gallery_thumb:I
-Lcom/android/internal/R$drawable;->ic_accessibility_magnification:I
-Lcom/android/internal/R$drawable;->ic_account_circle:I
-Lcom/android/internal/R$drawable;->ic_action_assist_focused:I
-Lcom/android/internal/R$drawable;->ic_alert_window_layer:I
-Lcom/android/internal/R$drawable;->ic_arrow_forward:I
-Lcom/android/internal/R$drawable;->ic_audio_alarm:I
-Lcom/android/internal/R$drawable;->ic_audio_alarm_mute:I
-Lcom/android/internal/R$drawable;->ic_audio_media:I
-Lcom/android/internal/R$drawable;->ic_audio_media_mute:I
-Lcom/android/internal/R$drawable;->ic_audio_notification:I
-Lcom/android/internal/R$drawable;->ic_audio_notification_mute:I
-Lcom/android/internal/R$drawable;->ic_audio_ring_notif:I
-Lcom/android/internal/R$drawable;->ic_audio_ring_notif_mute:I
-Lcom/android/internal/R$drawable;->ic_audio_ring_notif_vibrate:I
-Lcom/android/internal/R$drawable;->ic_audio_vol:I
-Lcom/android/internal/R$drawable;->ic_audio_vol_mute:I
-Lcom/android/internal/R$drawable;->ic_btn_speak_now:I
-Lcom/android/internal/R$drawable;->ic_bullet_key_permission:I
-Lcom/android/internal/R$drawable;->ic_camera:I
-Lcom/android/internal/R$drawable;->ic_check_circle_24px:I
-Lcom/android/internal/R$drawable;->ic_collapse_bundle:I
-Lcom/android/internal/R$drawable;->ic_collapse_notification:I
-Lcom/android/internal/R$drawable;->ic_contact_picture:I
-Lcom/android/internal/R$drawable;->ic_corp_badge:I
-Lcom/android/internal/R$drawable;->ic_corp_badge_case:I
-Lcom/android/internal/R$drawable;->ic_corp_badge_color:I
-Lcom/android/internal/R$drawable;->ic_corp_badge_no_background:I
-Lcom/android/internal/R$drawable;->ic_corp_badge_off:I
-Lcom/android/internal/R$drawable;->ic_corp_icon:I
-Lcom/android/internal/R$drawable;->ic_corp_icon_badge_case:I
-Lcom/android/internal/R$drawable;->ic_corp_icon_badge_color:I
-Lcom/android/internal/R$drawable;->ic_corp_icon_badge_shadow:I
-Lcom/android/internal/R$drawable;->ic_corp_statusbar_icon:I
-Lcom/android/internal/R$drawable;->ic_corp_user_badge:I
-Lcom/android/internal/R$drawable;->ic_delete:I
-Lcom/android/internal/R$drawable;->ic_dialog_alert:I
-Lcom/android/internal/R$drawable;->ic_dialog_alert_material:I
-Lcom/android/internal/R$drawable;->ic_dialog_dialer:I
-Lcom/android/internal/R$drawable;->ic_dialog_email:I
-Lcom/android/internal/R$drawable;->ic_dialog_info:I
-Lcom/android/internal/R$drawable;->ic_dialog_map:I
-Lcom/android/internal/R$drawable;->ic_dialog_usb:I
-Lcom/android/internal/R$drawable;->ic_dnd_block_notifications:I
-Lcom/android/internal/R$drawable;->ic_doc_apk:I
-Lcom/android/internal/R$drawable;->ic_doc_audio:I
-Lcom/android/internal/R$drawable;->ic_doc_certificate:I
-Lcom/android/internal/R$drawable;->ic_doc_codes:I
-Lcom/android/internal/R$drawable;->ic_doc_compressed:I
-Lcom/android/internal/R$drawable;->ic_doc_contact:I
-Lcom/android/internal/R$drawable;->ic_doc_document:I
-Lcom/android/internal/R$drawable;->ic_doc_event:I
-Lcom/android/internal/R$drawable;->ic_doc_excel:I
-Lcom/android/internal/R$drawable;->ic_doc_folder:I
-Lcom/android/internal/R$drawable;->ic_doc_font:I
-Lcom/android/internal/R$drawable;->ic_doc_generic:I
-Lcom/android/internal/R$drawable;->ic_doc_image:I
-Lcom/android/internal/R$drawable;->ic_doc_pdf:I
-Lcom/android/internal/R$drawable;->ic_doc_powerpoint:I
-Lcom/android/internal/R$drawable;->ic_doc_presentation:I
-Lcom/android/internal/R$drawable;->ic_doc_spreadsheet:I
-Lcom/android/internal/R$drawable;->ic_doc_text:I
-Lcom/android/internal/R$drawable;->ic_doc_video:I
-Lcom/android/internal/R$drawable;->ic_doc_word:I
-Lcom/android/internal/R$drawable;->ic_eject_24dp:I
-Lcom/android/internal/R$drawable;->ic_emergency:I
-Lcom/android/internal/R$drawable;->ic_expand_bundle:I
-Lcom/android/internal/R$drawable;->ic_expand_notification:I
-Lcom/android/internal/R$drawable;->ic_folder_24dp:I
-Lcom/android/internal/R$drawable;->ic_grayedout_printer:I
-Lcom/android/internal/R$drawable;->ic_info_outline:I
-Lcom/android/internal/R$drawable;->ic_input_add:I
-Lcom/android/internal/R$drawable;->ic_input_delete:I
-Lcom/android/internal/R$drawable;->ic_input_extract_action_done:I
-Lcom/android/internal/R$drawable;->ic_input_extract_action_go:I
-Lcom/android/internal/R$drawable;->ic_input_extract_action_next:I
-Lcom/android/internal/R$drawable;->ic_input_extract_action_previous:I
-Lcom/android/internal/R$drawable;->ic_input_extract_action_return:I
-Lcom/android/internal/R$drawable;->ic_input_extract_action_search:I
-Lcom/android/internal/R$drawable;->ic_input_extract_action_send:I
-Lcom/android/internal/R$drawable;->ic_input_get:I
-Lcom/android/internal/R$drawable;->ic_instant_icon_badge_bolt:I
-Lcom/android/internal/R$drawable;->ic_jog_dial_sound_off:I
-Lcom/android/internal/R$drawable;->ic_jog_dial_sound_on:I
-Lcom/android/internal/R$drawable;->ic_jog_dial_unlock:I
-Lcom/android/internal/R$drawable;->ic_jog_dial_vibrate_on:I
-Lcom/android/internal/R$drawable;->ic_lock_airplane_mode:I
-Lcom/android/internal/R$drawable;->ic_lock_airplane_mode_off:I
-Lcom/android/internal/R$drawable;->ic_lock_bugreport:I
-Lcom/android/internal/R$drawable;->ic_lock_idle_alarm:I
-Lcom/android/internal/R$drawable;->ic_lock_idle_charging:I
-Lcom/android/internal/R$drawable;->ic_lock_idle_lock:I
-Lcom/android/internal/R$drawable;->ic_lock_idle_low_battery:I
-Lcom/android/internal/R$drawable;->ic_lock_lock:I
-Lcom/android/internal/R$drawable;->ic_lock_lockdown:I
-Lcom/android/internal/R$drawable;->ic_lock_power_off:I
-Lcom/android/internal/R$drawable;->ic_lock_silent_mode:I
-Lcom/android/internal/R$drawable;->ic_lock_silent_mode_off:I
-Lcom/android/internal/R$drawable;->ic_logout:I
-Lcom/android/internal/R$drawable;->ic_media_ff:I
-Lcom/android/internal/R$drawable;->ic_media_next:I
-Lcom/android/internal/R$drawable;->ic_media_pause:I
-Lcom/android/internal/R$drawable;->ic_media_play:I
-Lcom/android/internal/R$drawable;->ic_media_previous:I
-Lcom/android/internal/R$drawable;->ic_media_rew:I
-Lcom/android/internal/R$drawable;->ic_media_route_off_holo_dark:I
-Lcom/android/internal/R$drawable;->ic_media_route_off_holo_light:I
-Lcom/android/internal/R$drawable;->ic_media_stop:I
-Lcom/android/internal/R$drawable;->ic_media_video_poster:I
-Lcom/android/internal/R$drawable;->ic_menu_add:I
-Lcom/android/internal/R$drawable;->ic_menu_agenda:I
-Lcom/android/internal/R$drawable;->ic_menu_always_landscape_portrait:I
-Lcom/android/internal/R$drawable;->ic_menu_archive:I
-Lcom/android/internal/R$drawable;->ic_menu_call:I
-Lcom/android/internal/R$drawable;->ic_menu_camera:I
-Lcom/android/internal/R$drawable;->ic_menu_cc:I
-Lcom/android/internal/R$drawable;->ic_menu_compass:I
-Lcom/android/internal/R$drawable;->ic_menu_crop:I
-Lcom/android/internal/R$drawable;->ic_menu_day:I
-Lcom/android/internal/R$drawable;->ic_menu_delete:I
-Lcom/android/internal/R$drawable;->ic_menu_directions:I
-Lcom/android/internal/R$drawable;->ic_menu_edit:I
-Lcom/android/internal/R$drawable;->ic_menu_gallery:I
-Lcom/android/internal/R$drawable;->ic_menu_goto:I
-Lcom/android/internal/R$drawable;->ic_menu_help:I
-Lcom/android/internal/R$drawable;->ic_menu_info_details:I
-Lcom/android/internal/R$drawable;->ic_menu_manage:I
-Lcom/android/internal/R$drawable;->ic_menu_mapmode:I
-Lcom/android/internal/R$drawable;->ic_menu_month:I
-Lcom/android/internal/R$drawable;->ic_menu_more:I
-Lcom/android/internal/R$drawable;->ic_menu_moreoverflow_normal_holo_dark:I
-Lcom/android/internal/R$drawable;->ic_menu_mylocation:I
-Lcom/android/internal/R$drawable;->ic_menu_myplaces:I
-Lcom/android/internal/R$drawable;->ic_menu_my_calendar:I
-Lcom/android/internal/R$drawable;->ic_menu_play_clip:I
-Lcom/android/internal/R$drawable;->ic_menu_preferences:I
-Lcom/android/internal/R$drawable;->ic_menu_recent_history:I
-Lcom/android/internal/R$drawable;->ic_menu_refresh:I
-Lcom/android/internal/R$drawable;->ic_menu_report_image:I
-Lcom/android/internal/R$drawable;->ic_menu_revert:I
-Lcom/android/internal/R$drawable;->ic_menu_rotate:I
-Lcom/android/internal/R$drawable;->ic_menu_save:I
-Lcom/android/internal/R$drawable;->ic_menu_search:I
-Lcom/android/internal/R$drawable;->ic_menu_send:I
-Lcom/android/internal/R$drawable;->ic_menu_set_as:I
-Lcom/android/internal/R$drawable;->ic_menu_share:I
-Lcom/android/internal/R$drawable;->ic_menu_slideshow:I
-Lcom/android/internal/R$drawable;->ic_menu_sort_alphabetically:I
-Lcom/android/internal/R$drawable;->ic_menu_sort_by_size:I
-Lcom/android/internal/R$drawable;->ic_menu_today:I
-Lcom/android/internal/R$drawable;->ic_menu_upload:I
-Lcom/android/internal/R$drawable;->ic_menu_upload_you_tube:I
-Lcom/android/internal/R$drawable;->ic_menu_view:I
-Lcom/android/internal/R$drawable;->ic_menu_week:I
-Lcom/android/internal/R$drawable;->ic_menu_zoom:I
-Lcom/android/internal/R$drawable;->ic_mic:I
-Lcom/android/internal/R$drawable;->ic_more_items:I
-Lcom/android/internal/R$drawable;->ic_notification_clear_all:I
-Lcom/android/internal/R$drawable;->ic_notification_ime_default:I
-Lcom/android/internal/R$drawable;->ic_notification_overlay:I
-Lcom/android/internal/R$drawable;->ic_partial_secure:I
-Lcom/android/internal/R$drawable;->ic_permission:I
-Lcom/android/internal/R$drawable;->ic_perm_device_info:I
-Lcom/android/internal/R$drawable;->ic_popup_disk_full:I
-Lcom/android/internal/R$drawable;->ic_popup_reminder:I
-Lcom/android/internal/R$drawable;->ic_popup_sync:I
-Lcom/android/internal/R$drawable;->ic_print:I
-Lcom/android/internal/R$drawable;->ic_print_error:I
-Lcom/android/internal/R$drawable;->ic_qs_battery_saver:I
-Lcom/android/internal/R$drawable;->ic_restart:I
-Lcom/android/internal/R$drawable;->ic_screenshot:I
-Lcom/android/internal/R$drawable;->ic_sd_card_48dp:I
-Lcom/android/internal/R$drawable;->ic_search_category_default:I
-Lcom/android/internal/R$drawable;->ic_secure:I
-Lcom/android/internal/R$drawable;->ic_settings:I
-Lcom/android/internal/R$drawable;->ic_settings_24dp:I
-Lcom/android/internal/R$drawable;->ic_settings_language:I
-Lcom/android/internal/R$drawable;->ic_signal_cellular_alt_24px:I
-Lcom/android/internal/R$drawable;->ic_signal_wifi_badged_0_bars:I
-Lcom/android/internal/R$drawable;->ic_signal_wifi_badged_1_bar:I
-Lcom/android/internal/R$drawable;->ic_signal_wifi_badged_2_bars:I
-Lcom/android/internal/R$drawable;->ic_signal_wifi_badged_3_bars:I
-Lcom/android/internal/R$drawable;->ic_signal_wifi_badged_4k:I
-Lcom/android/internal/R$drawable;->ic_signal_wifi_badged_4_bars:I
-Lcom/android/internal/R$drawable;->ic_signal_wifi_badged_hd:I
-Lcom/android/internal/R$drawable;->ic_signal_wifi_badged_ld:I
-Lcom/android/internal/R$drawable;->ic_signal_wifi_badged_sd:I
-Lcom/android/internal/R$drawable;->ic_sim_card_multi_24px_clr:I
-Lcom/android/internal/R$drawable;->ic_sim_card_multi_48px_clr:I
-Lcom/android/internal/R$drawable;->ic_storage_48dp:I
-Lcom/android/internal/R$drawable;->ic_text_dot:I
-Lcom/android/internal/R$drawable;->ic_usb_48dp:I
-Lcom/android/internal/R$drawable;->ic_user_secure:I
-Lcom/android/internal/R$drawable;->ic_voice_search:I
-Lcom/android/internal/R$drawable;->ic_volume:I
-Lcom/android/internal/R$drawable;->ic_wifi_settings:I
-Lcom/android/internal/R$drawable;->ic_wifi_signal_0:I
-Lcom/android/internal/R$drawable;->ic_wifi_signal_1:I
-Lcom/android/internal/R$drawable;->ic_wifi_signal_2:I
-Lcom/android/internal/R$drawable;->ic_wifi_signal_3:I
-Lcom/android/internal/R$drawable;->ic_wifi_signal_4:I
-Lcom/android/internal/R$drawable;->ic_zen_24dp:I
-Lcom/android/internal/R$drawable;->indicator_input_error:I
-Lcom/android/internal/R$drawable;->jog_dial_arrow_long_left_green:I
-Lcom/android/internal/R$drawable;->jog_dial_arrow_long_right_red:I
-Lcom/android/internal/R$drawable;->jog_dial_arrow_short_left_and_right:I
-Lcom/android/internal/R$drawable;->jog_dial_bg:I
-Lcom/android/internal/R$drawable;->jog_dial_dimple:I
-Lcom/android/internal/R$drawable;->jog_dial_dimple_dim:I
-Lcom/android/internal/R$drawable;->jog_tab_bar_left_generic:I
-Lcom/android/internal/R$drawable;->jog_tab_bar_left_unlock:I
-Lcom/android/internal/R$drawable;->jog_tab_bar_right_generic:I
-Lcom/android/internal/R$drawable;->jog_tab_bar_right_sound_off:I
-Lcom/android/internal/R$drawable;->jog_tab_bar_right_sound_on:I
-Lcom/android/internal/R$drawable;->jog_tab_left_generic:I
-Lcom/android/internal/R$drawable;->jog_tab_left_unlock:I
-Lcom/android/internal/R$drawable;->jog_tab_right_generic:I
-Lcom/android/internal/R$drawable;->jog_tab_right_sound_off:I
-Lcom/android/internal/R$drawable;->jog_tab_right_sound_on:I
-Lcom/android/internal/R$drawable;->jog_tab_target_gray:I
-Lcom/android/internal/R$drawable;->jog_tab_target_green:I
-Lcom/android/internal/R$drawable;->jog_tab_target_yellow:I
-Lcom/android/internal/R$drawable;->list_selector_background:I
-Lcom/android/internal/R$drawable;->list_selector_pressed_holo_dark:I
-Lcom/android/internal/R$drawable;->lockscreen_notselected:I
-Lcom/android/internal/R$drawable;->lockscreen_selected:I
-Lcom/android/internal/R$drawable;->magnified_region_frame:I
-Lcom/android/internal/R$drawable;->menuitem_background:I
-Lcom/android/internal/R$drawable;->menu_background:I
-Lcom/android/internal/R$drawable;->menu_frame:I
-Lcom/android/internal/R$drawable;->menu_full_frame:I
-Lcom/android/internal/R$drawable;->messaging_user:I
-Lcom/android/internal/R$drawable;->notification_template_icon_bg:I
-Lcom/android/internal/R$drawable;->notification_template_icon_low_bg:I
-Lcom/android/internal/R$drawable;->picture_emergency:I
-Lcom/android/internal/R$drawable;->picture_frame:I
-Lcom/android/internal/R$drawable;->platlogo:I
-Lcom/android/internal/R$drawable;->platlogo_m:I
-Lcom/android/internal/R$drawable;->popup_bottom_bright:I
-Lcom/android/internal/R$drawable;->popup_bottom_dark:I
-Lcom/android/internal/R$drawable;->popup_bottom_medium:I
-Lcom/android/internal/R$drawable;->popup_center_bright:I
-Lcom/android/internal/R$drawable;->popup_center_dark:I
-Lcom/android/internal/R$drawable;->popup_full_bright:I
-Lcom/android/internal/R$drawable;->popup_full_dark:I
-Lcom/android/internal/R$drawable;->popup_top_bright:I
-Lcom/android/internal/R$drawable;->popup_top_dark:I
-Lcom/android/internal/R$drawable;->presence_audio_away:I
-Lcom/android/internal/R$drawable;->presence_audio_busy:I
-Lcom/android/internal/R$drawable;->presence_audio_online:I
-Lcom/android/internal/R$drawable;->presence_away:I
-Lcom/android/internal/R$drawable;->presence_busy:I
-Lcom/android/internal/R$drawable;->presence_invisible:I
-Lcom/android/internal/R$drawable;->presence_offline:I
-Lcom/android/internal/R$drawable;->presence_online:I
-Lcom/android/internal/R$drawable;->presence_video_away:I
-Lcom/android/internal/R$drawable;->presence_video_busy:I
-Lcom/android/internal/R$drawable;->presence_video_online:I
-Lcom/android/internal/R$drawable;->progress_horizontal:I
-Lcom/android/internal/R$drawable;->progress_indeterminate_horizontal:I
-Lcom/android/internal/R$drawable;->quickcontact_badge_overlay_dark:I
-Lcom/android/internal/R$drawable;->radiobutton_off_background:I
-Lcom/android/internal/R$drawable;->radiobutton_on_background:I
-Lcom/android/internal/R$drawable;->resolver_icon_placeholder:I
-Lcom/android/internal/R$drawable;->screen_background_dark:I
-Lcom/android/internal/R$drawable;->screen_background_dark_transparent:I
-Lcom/android/internal/R$drawable;->screen_background_light:I
-Lcom/android/internal/R$drawable;->screen_background_light_transparent:I
-Lcom/android/internal/R$drawable;->scroll_indicator_material:I
-Lcom/android/internal/R$drawable;->scrubber_control_disabled_holo:I
-Lcom/android/internal/R$drawable;->scrubber_control_selector_holo:I
-Lcom/android/internal/R$drawable;->scrubber_progress_horizontal_holo_dark:I
-Lcom/android/internal/R$drawable;->search_spinner:I
-Lcom/android/internal/R$drawable;->sim_dark_blue:I
-Lcom/android/internal/R$drawable;->sim_dark_green:I
-Lcom/android/internal/R$drawable;->sim_dark_orange:I
-Lcom/android/internal/R$drawable;->sim_dark_purple:I
-Lcom/android/internal/R$drawable;->sim_light_blue:I
-Lcom/android/internal/R$drawable;->sim_light_green:I
-Lcom/android/internal/R$drawable;->sim_light_orange:I
-Lcom/android/internal/R$drawable;->sim_light_purple:I
-Lcom/android/internal/R$drawable;->spinner_background:I
-Lcom/android/internal/R$drawable;->spinner_dropdown_background:I
-Lcom/android/internal/R$drawable;->star_big_off:I
-Lcom/android/internal/R$drawable;->star_big_on:I
-Lcom/android/internal/R$drawable;->star_off:I
-Lcom/android/internal/R$drawable;->star_on:I
-Lcom/android/internal/R$drawable;->status_bar_background:I
-Lcom/android/internal/R$drawable;->status_bar_item_app_background:I
-Lcom/android/internal/R$drawable;->status_bar_item_background:I
-Lcom/android/internal/R$drawable;->stat_notify_call_mute:I
-Lcom/android/internal/R$drawable;->stat_notify_car_mode:I
-Lcom/android/internal/R$drawable;->stat_notify_chat:I
-Lcom/android/internal/R$drawable;->stat_notify_disabled_data:I
-Lcom/android/internal/R$drawable;->stat_notify_disk_full:I
-Lcom/android/internal/R$drawable;->stat_notify_error:I
-Lcom/android/internal/R$drawable;->stat_notify_missed_call:I
-Lcom/android/internal/R$drawable;->stat_notify_mmcc_indication_icn:I
-Lcom/android/internal/R$drawable;->stat_notify_more:I
-Lcom/android/internal/R$drawable;->stat_notify_rssi_in_range:I
-Lcom/android/internal/R$drawable;->stat_notify_sdcard:I
-Lcom/android/internal/R$drawable;->stat_notify_sdcard_prepare:I
-Lcom/android/internal/R$drawable;->stat_notify_sdcard_usb:I
-Lcom/android/internal/R$drawable;->stat_notify_sim_toolkit:I
-Lcom/android/internal/R$drawable;->stat_notify_sync:I
-Lcom/android/internal/R$drawable;->stat_notify_sync_error:I
-Lcom/android/internal/R$drawable;->stat_notify_sync_noanim:I
-Lcom/android/internal/R$drawable;->stat_notify_voicemail:I
-Lcom/android/internal/R$drawable;->stat_notify_wifi_in_range:I
-Lcom/android/internal/R$drawable;->stat_sys_adb:I
-Lcom/android/internal/R$drawable;->stat_sys_battery:I
-Lcom/android/internal/R$drawable;->stat_sys_battery_charge:I
-Lcom/android/internal/R$drawable;->stat_sys_battery_unknown:I
-Lcom/android/internal/R$drawable;->stat_sys_certificate_info:I
-Lcom/android/internal/R$drawable;->stat_sys_data_bluetooth:I
-Lcom/android/internal/R$drawable;->stat_sys_data_usb:I
-Lcom/android/internal/R$drawable;->stat_sys_download_done:I
-Lcom/android/internal/R$drawable;->stat_sys_gps_on:I
-Lcom/android/internal/R$drawable;->stat_sys_headset:I
-Lcom/android/internal/R$drawable;->stat_sys_phone_call:I
-Lcom/android/internal/R$drawable;->stat_sys_phone_call_forward:I
-Lcom/android/internal/R$drawable;->stat_sys_phone_call_on_hold:I
-Lcom/android/internal/R$drawable;->stat_sys_speakerphone:I
-Lcom/android/internal/R$drawable;->stat_sys_tether_bluetooth:I
-Lcom/android/internal/R$drawable;->stat_sys_tether_general:I
-Lcom/android/internal/R$drawable;->stat_sys_tether_usb:I
-Lcom/android/internal/R$drawable;->stat_sys_tether_wifi:I
-Lcom/android/internal/R$drawable;->stat_sys_throttled:I
-Lcom/android/internal/R$drawable;->stat_sys_upload:I
-Lcom/android/internal/R$drawable;->stat_sys_upload_done:I
-Lcom/android/internal/R$drawable;->stat_sys_vitals:I
-Lcom/android/internal/R$drawable;->stat_sys_vp_phone_call:I
-Lcom/android/internal/R$drawable;->stat_sys_vp_phone_call_on_hold:I
-Lcom/android/internal/R$drawable;->stat_sys_warning:I
-Lcom/android/internal/R$drawable;->sym_action_call:I
-Lcom/android/internal/R$drawable;->sym_action_chat:I
-Lcom/android/internal/R$drawable;->sym_action_email:I
-Lcom/android/internal/R$drawable;->sym_app_on_sd_unavailable_icon:I
-Lcom/android/internal/R$drawable;->sym_call_incoming:I
-Lcom/android/internal/R$drawable;->sym_call_missed:I
-Lcom/android/internal/R$drawable;->sym_call_outgoing:I
-Lcom/android/internal/R$drawable;->sym_contact_card:I
-Lcom/android/internal/R$drawable;->sym_def_app_icon:I
-Lcom/android/internal/R$drawable;->sym_keyboard_return_holo:I
-Lcom/android/internal/R$drawable;->sym_keyboard_shift:I
-Lcom/android/internal/R$drawable;->sym_keyboard_shift_locked:I
-Lcom/android/internal/R$drawable;->tab_bottom_left:I
-Lcom/android/internal/R$drawable;->tab_bottom_left_v4:I
-Lcom/android/internal/R$drawable;->tab_bottom_right:I
-Lcom/android/internal/R$drawable;->tab_bottom_right_v4:I
-Lcom/android/internal/R$drawable;->tab_indicator_v4:I
-Lcom/android/internal/R$drawable;->text_edit_paste_window:I
-Lcom/android/internal/R$drawable;->text_edit_side_paste_window:I
-Lcom/android/internal/R$drawable;->title_bar:I
-Lcom/android/internal/R$drawable;->title_bar_medium:I
-Lcom/android/internal/R$drawable;->title_bar_tall:I
-Lcom/android/internal/R$drawable;->toast_frame:I
-Lcom/android/internal/R$drawable;->unknown_image:I
-Lcom/android/internal/R$drawable;->unlock_default:I
-Lcom/android/internal/R$drawable;->unlock_halo:I
-Lcom/android/internal/R$drawable;->unlock_ring:I
-Lcom/android/internal/R$drawable;->unlock_wave:I
-Lcom/android/internal/R$drawable;->vpn_connected:I
-Lcom/android/internal/R$drawable;->vpn_disconnected:I
-Lcom/android/internal/R$drawable;->zoom_plate:I
-Lcom/android/internal/R$fraction;
-Lcom/android/internal/R$fraction;-><init>()V
-Lcom/android/internal/R$fraction;->config_dimBehindFadeDuration:I
-Lcom/android/internal/R$fraction;->config_maximumScreenDimRatio:I
-Lcom/android/internal/R$fraction;->config_screenAutoBrightnessDozeScaleFactor:I
-Lcom/android/internal/R$fraction;->docked_stack_divider_fixed_ratio:I
-Lcom/android/internal/R$fraction;->input_extract_action_margin_bottom:I
-Lcom/android/internal/R$fraction;->input_extract_layout_height:I
-Lcom/android/internal/R$fraction;->input_extract_layout_padding_left:I
-Lcom/android/internal/R$fraction;->input_extract_layout_padding_left_no_action:I
-Lcom/android/internal/R$fraction;->input_extract_layout_padding_right:I
-Lcom/android/internal/R$fraction;->input_extract_text_margin_bottom:I
-Lcom/android/internal/R$fraction;->thumbnail_fullscreen_scale:I
-Lcom/android/internal/R$id;
-Lcom/android/internal/R$id;-><init>()V
-Lcom/android/internal/R$id;->accessibilityActionClickOnClickableSpan:I
-Lcom/android/internal/R$id;->accessibilityActionContextClick:I
-Lcom/android/internal/R$id;->accessibilityActionHideTooltip:I
-Lcom/android/internal/R$id;->accessibilityActionMoveWindow:I
-Lcom/android/internal/R$id;->accessibilityActionScrollDown:I
-Lcom/android/internal/R$id;->accessibilityActionScrollLeft:I
-Lcom/android/internal/R$id;->accessibilityActionScrollRight:I
-Lcom/android/internal/R$id;->accessibilityActionScrollToPosition:I
-Lcom/android/internal/R$id;->accessibilityActionScrollUp:I
-Lcom/android/internal/R$id;->accessibilityActionSetProgress:I
-Lcom/android/internal/R$id;->accessibilityActionShowOnScreen:I
-Lcom/android/internal/R$id;->accessibilityActionShowTooltip:I
-Lcom/android/internal/R$id;->accessibility_button_chooser_grid:I
-Lcom/android/internal/R$id;->accessibility_button_prompt:I
-Lcom/android/internal/R$id;->accessibility_button_target_icon:I
-Lcom/android/internal/R$id;->accessibility_button_target_label:I
-Lcom/android/internal/R$id;->account_row_icon:I
-Lcom/android/internal/R$id;->account_row_text:I
-Lcom/android/internal/R$id;->action0:I
-Lcom/android/internal/R$id;->action1:I
-Lcom/android/internal/R$id;->action2:I
-Lcom/android/internal/R$id;->actions:I
-Lcom/android/internal/R$id;->actions_container:I
-Lcom/android/internal/R$id;->action_bar:I
-Lcom/android/internal/R$id;->action_bar_container:I
-Lcom/android/internal/R$id;->action_bar_spinner:I
-Lcom/android/internal/R$id;->action_bar_subtitle:I
-Lcom/android/internal/R$id;->action_bar_title:I
-Lcom/android/internal/R$id;->action_context_bar:I
-Lcom/android/internal/R$id;->action_menu_presenter:I
-Lcom/android/internal/R$id;->action_mode_bar_stub:I
-Lcom/android/internal/R$id;->action_mode_close_button:I
-Lcom/android/internal/R$id;->activity_chooser_view_content:I
-Lcom/android/internal/R$id;->addToDictionary:I
-Lcom/android/internal/R$id;->addToDictionaryButton:I
-Lcom/android/internal/R$id;->aerr_app_info:I
-Lcom/android/internal/R$id;->aerr_close:I
-Lcom/android/internal/R$id;->aerr_mute:I
-Lcom/android/internal/R$id;->aerr_report:I
-Lcom/android/internal/R$id;->aerr_restart:I
-Lcom/android/internal/R$id;->aerr_wait:I
-Lcom/android/internal/R$id;->alwaysUse:I
-Lcom/android/internal/R$id;->ampm_layout:I
-Lcom/android/internal/R$id;->am_label:I
-Lcom/android/internal/R$id;->am_pm_spinner:I
-Lcom/android/internal/R$id;->animator:I
-Lcom/android/internal/R$id;->app_name_text:I
-Lcom/android/internal/R$id;->app_ops:I
-Lcom/android/internal/R$id;->ask_checkbox:I
-Lcom/android/internal/R$id;->autofill:I
-Lcom/android/internal/R$id;->autofill_dataset_footer:I
-Lcom/android/internal/R$id;->autofill_dataset_header:I
-Lcom/android/internal/R$id;->autofill_dataset_icon:I
-Lcom/android/internal/R$id;->autofill_dataset_list:I
-Lcom/android/internal/R$id;->autofill_dataset_picker:I
-Lcom/android/internal/R$id;->autofill_dataset_title:I
-Lcom/android/internal/R$id;->autofill_save_custom_subtitle:I
-Lcom/android/internal/R$id;->autofill_save_icon:I
-Lcom/android/internal/R$id;->autofill_save_no:I
-Lcom/android/internal/R$id;->autofill_save_title:I
-Lcom/android/internal/R$id;->autofill_save_yes:I
-Lcom/android/internal/R$id;->big_picture:I
-Lcom/android/internal/R$id;->big_text:I
-Lcom/android/internal/R$id;->breadcrumb_section:I
-Lcom/android/internal/R$id;->button0:I
-Lcom/android/internal/R$id;->button1:I
-Lcom/android/internal/R$id;->button2:I
-Lcom/android/internal/R$id;->button3:I
-Lcom/android/internal/R$id;->button4:I
-Lcom/android/internal/R$id;->button5:I
-Lcom/android/internal/R$id;->button6:I
-Lcom/android/internal/R$id;->button7:I
-Lcom/android/internal/R$id;->button_always:I
-Lcom/android/internal/R$id;->button_bar:I
-Lcom/android/internal/R$id;->button_once:I
-Lcom/android/internal/R$id;->by_common:I
-Lcom/android/internal/R$id;->by_org:I
-Lcom/android/internal/R$id;->by_org_unit:I
-Lcom/android/internal/R$id;->calendar_view:I
-Lcom/android/internal/R$id;->candidatesArea:I
-Lcom/android/internal/R$id;->characterPicker:I
-Lcom/android/internal/R$id;->checkbox:I
-Lcom/android/internal/R$id;->chronometer:I
-Lcom/android/internal/R$id;->clearDefaultHint:I
-Lcom/android/internal/R$id;->close_window:I
-Lcom/android/internal/R$id;->compat_checkbox:I
-Lcom/android/internal/R$id;->copy:I
-Lcom/android/internal/R$id;->copyUrl:I
-Lcom/android/internal/R$id;->cross_task_transition:I
-Lcom/android/internal/R$id;->current_scene:I
-Lcom/android/internal/R$id;->cut:I
-Lcom/android/internal/R$id;->date:I
-Lcom/android/internal/R$id;->date_picker_day_picker:I
-Lcom/android/internal/R$id;->date_picker_header:I
-Lcom/android/internal/R$id;->date_picker_header_date:I
-Lcom/android/internal/R$id;->date_picker_header_year:I
-Lcom/android/internal/R$id;->date_picker_year_picker:I
-Lcom/android/internal/R$id;->day_names:I
-Lcom/android/internal/R$id;->day_picker_view_pager:I
-Lcom/android/internal/R$id;->decor_content_parent:I
-Lcom/android/internal/R$id;->decrement:I
-Lcom/android/internal/R$id;->default_activity_button:I
-Lcom/android/internal/R$id;->deleteButton:I
-Lcom/android/internal/R$id;->divider:I
-Lcom/android/internal/R$id;->edit_query:I
-Lcom/android/internal/R$id;->eight:I
-Lcom/android/internal/R$id;->empty:I
-Lcom/android/internal/R$id;->enter_pin_section:I
-Lcom/android/internal/R$id;->expand_activities_button:I
-Lcom/android/internal/R$id;->expand_button:I
-Lcom/android/internal/R$id;->expires_on:I
-Lcom/android/internal/R$id;->extractArea:I
-Lcom/android/internal/R$id;->ffwd:I
-Lcom/android/internal/R$id;->fillInIntent:I
-Lcom/android/internal/R$id;->find:I
-Lcom/android/internal/R$id;->five:I
-Lcom/android/internal/R$id;->floating_toolbar_menu_item_image:I
-Lcom/android/internal/R$id;->floating_toolbar_menu_item_text:I
-Lcom/android/internal/R$id;->four:I
-Lcom/android/internal/R$id;->fullscreenArea:I
-Lcom/android/internal/R$id;->group_divider:I
-Lcom/android/internal/R$id;->group_message_container:I
-Lcom/android/internal/R$id;->hard_keyboard_section:I
-Lcom/android/internal/R$id;->hard_keyboard_switch:I
-Lcom/android/internal/R$id;->headers:I
-Lcom/android/internal/R$id;->header_text:I
-Lcom/android/internal/R$id;->header_text_divider:I
-Lcom/android/internal/R$id;->header_text_secondary:I
-Lcom/android/internal/R$id;->header_text_secondary_divider:I
-Lcom/android/internal/R$id;->hint:I
-Lcom/android/internal/R$id;->home:I
-Lcom/android/internal/R$id;->hour:I
-Lcom/android/internal/R$id;->hours:I
-Lcom/android/internal/R$id;->icon1:I
-Lcom/android/internal/R$id;->icon2:I
-Lcom/android/internal/R$id;->icon_frame:I
-Lcom/android/internal/R$id;->icon_menu_presenter:I
-Lcom/android/internal/R$id;->image:I
-Lcom/android/internal/R$id;->inbox_text0:I
-Lcom/android/internal/R$id;->inbox_text1:I
-Lcom/android/internal/R$id;->inbox_text2:I
-Lcom/android/internal/R$id;->inbox_text3:I
-Lcom/android/internal/R$id;->inbox_text4:I
-Lcom/android/internal/R$id;->inbox_text5:I
-Lcom/android/internal/R$id;->inbox_text6:I
-Lcom/android/internal/R$id;->increment:I
-Lcom/android/internal/R$id;->info:I
-Lcom/android/internal/R$id;->input:I
-Lcom/android/internal/R$id;->inputArea:I
-Lcom/android/internal/R$id;->inputExtractAccessories:I
-Lcom/android/internal/R$id;->inputExtractAction:I
-Lcom/android/internal/R$id;->inputExtractEditText:I
-Lcom/android/internal/R$id;->input_header:I
-Lcom/android/internal/R$id;->input_hour:I
-Lcom/android/internal/R$id;->input_minute:I
-Lcom/android/internal/R$id;->input_mode:I
-Lcom/android/internal/R$id;->input_separator:I
-Lcom/android/internal/R$id;->insertion_handle:I
-Lcom/android/internal/R$id;->internalEmpty:I
-Lcom/android/internal/R$id;->issued_on:I
-Lcom/android/internal/R$id;->item_touch_helper_previous_elevation:I
-Lcom/android/internal/R$id;->label_error:I
-Lcom/android/internal/R$id;->label_hour:I
-Lcom/android/internal/R$id;->label_minute:I
-Lcom/android/internal/R$id;->leftSpacer:I
-Lcom/android/internal/R$id;->left_icon:I
-Lcom/android/internal/R$id;->list:I
-Lcom/android/internal/R$id;->listContainer:I
-Lcom/android/internal/R$id;->list_container:I
-Lcom/android/internal/R$id;->list_footer:I
-Lcom/android/internal/R$id;->list_menu_presenter:I
-Lcom/android/internal/R$id;->locale:I
-Lcom/android/internal/R$id;->locale_search_menu:I
-Lcom/android/internal/R$id;->lock_screen:I
-Lcom/android/internal/R$id;->mask:I
-Lcom/android/internal/R$id;->maximize_window:I
-Lcom/android/internal/R$id;->media_route_control_frame:I
-Lcom/android/internal/R$id;->media_route_extended_settings_button:I
-Lcom/android/internal/R$id;->media_route_list:I
-Lcom/android/internal/R$id;->media_route_volume_layout:I
-Lcom/android/internal/R$id;->media_route_volume_slider:I
-Lcom/android/internal/R$id;->message_icon:I
-Lcom/android/internal/R$id;->message_name:I
-Lcom/android/internal/R$id;->message_text:I
-Lcom/android/internal/R$id;->messaging_group_icon_container:I
-Lcom/android/internal/R$id;->messaging_group_sending_progress:I
-Lcom/android/internal/R$id;->messaging_group_sending_progress_container:I
-Lcom/android/internal/R$id;->mic:I
-Lcom/android/internal/R$id;->minutes:I
-Lcom/android/internal/R$id;->mode_normal:I
-Lcom/android/internal/R$id;->month_name:I
-Lcom/android/internal/R$id;->month_view:I
-Lcom/android/internal/R$id;->navigationBarBackground:I
-Lcom/android/internal/R$id;->new_app_action:I
-Lcom/android/internal/R$id;->new_app_description:I
-Lcom/android/internal/R$id;->new_app_icon:I
-Lcom/android/internal/R$id;->next:I
-Lcom/android/internal/R$id;->next_button:I
-Lcom/android/internal/R$id;->nine:I
-Lcom/android/internal/R$id;->notification_action_list_margin_target:I
-Lcom/android/internal/R$id;->notification_content_container:I
-Lcom/android/internal/R$id;->notification_main_column:I
-Lcom/android/internal/R$id;->notification_material_reply_container:I
-Lcom/android/internal/R$id;->notification_material_reply_progress:I
-Lcom/android/internal/R$id;->notification_material_reply_text_1:I
-Lcom/android/internal/R$id;->notification_material_reply_text_1_container:I
-Lcom/android/internal/R$id;->notification_material_reply_text_2:I
-Lcom/android/internal/R$id;->notification_material_reply_text_3:I
-Lcom/android/internal/R$id;->notification_messaging:I
-Lcom/android/internal/R$id;->no_applications_message:I
-Lcom/android/internal/R$id;->no_permissions:I
-Lcom/android/internal/R$id;->numberpicker_input:I
-Lcom/android/internal/R$id;->old_app_action:I
-Lcom/android/internal/R$id;->old_app_icon:I
-Lcom/android/internal/R$id;->one:I
-Lcom/android/internal/R$id;->option1:I
-Lcom/android/internal/R$id;->option2:I
-Lcom/android/internal/R$id;->option3:I
-Lcom/android/internal/R$id;->original_app_icon:I
-Lcom/android/internal/R$id;->original_message:I
-Lcom/android/internal/R$id;->overflow:I
-Lcom/android/internal/R$id;->overlay_display_window_texture:I
-Lcom/android/internal/R$id;->overlay_display_window_title:I
-Lcom/android/internal/R$id;->parentMatrix:I
-Lcom/android/internal/R$id;->paste:I
-Lcom/android/internal/R$id;->pasteAsPlainText:I
-Lcom/android/internal/R$id;->permission_group:I
-Lcom/android/internal/R$id;->permission_list:I
-Lcom/android/internal/R$id;->perms_list:I
-Lcom/android/internal/R$id;->perm_icon:I
-Lcom/android/internal/R$id;->perm_name:I
-Lcom/android/internal/R$id;->pickers:I
-Lcom/android/internal/R$id;->pin_cancel_button:I
-Lcom/android/internal/R$id;->pin_confirm_text:I
-Lcom/android/internal/R$id;->pin_error_message:I
-Lcom/android/internal/R$id;->pin_new_text:I
-Lcom/android/internal/R$id;->pin_ok_button:I
-Lcom/android/internal/R$id;->pin_text:I
-Lcom/android/internal/R$id;->placeholder:I
-Lcom/android/internal/R$id;->pm_label:I
-Lcom/android/internal/R$id;->prefs:I
-Lcom/android/internal/R$id;->prefs_container:I
-Lcom/android/internal/R$id;->prefs_frame:I
-Lcom/android/internal/R$id;->prev:I
-Lcom/android/internal/R$id;->primary:I
-Lcom/android/internal/R$id;->profile_badge:I
-Lcom/android/internal/R$id;->profile_button:I
-Lcom/android/internal/R$id;->progressContainer:I
-Lcom/android/internal/R$id;->progress_circular:I
-Lcom/android/internal/R$id;->progress_horizontal:I
-Lcom/android/internal/R$id;->progress_number:I
-Lcom/android/internal/R$id;->progress_percent:I
-Lcom/android/internal/R$id;->radial_picker:I
-Lcom/android/internal/R$id;->radio:I
-Lcom/android/internal/R$id;->reask_hint:I
-Lcom/android/internal/R$id;->remote_input:I
-Lcom/android/internal/R$id;->remote_input_progress:I
-Lcom/android/internal/R$id;->remote_input_send:I
-Lcom/android/internal/R$id;->replaceText:I
-Lcom/android/internal/R$id;->replace_app_icon:I
-Lcom/android/internal/R$id;->replace_message:I
-Lcom/android/internal/R$id;->reply_icon_action:I
-Lcom/android/internal/R$id;->resolver_list:I
-Lcom/android/internal/R$id;->rew:I
-Lcom/android/internal/R$id;->rightSpacer:I
-Lcom/android/internal/R$id;->right_icon_container:I
-Lcom/android/internal/R$id;->rowTypeId:I
-Lcom/android/internal/R$id;->scene_layoutid_cache:I
-Lcom/android/internal/R$id;->scrollView:I
-Lcom/android/internal/R$id;->search_app_icon:I
-Lcom/android/internal/R$id;->search_badge:I
-Lcom/android/internal/R$id;->search_bar:I
-Lcom/android/internal/R$id;->search_button:I
-Lcom/android/internal/R$id;->search_close_btn:I
-Lcom/android/internal/R$id;->search_edit_frame:I
-Lcom/android/internal/R$id;->search_go_btn:I
-Lcom/android/internal/R$id;->search_mag_icon:I
-Lcom/android/internal/R$id;->search_plate:I
-Lcom/android/internal/R$id;->search_view:I
-Lcom/android/internal/R$id;->search_voice_btn:I
-Lcom/android/internal/R$id;->secondaryProgress:I
-Lcom/android/internal/R$id;->seekbar:I
-Lcom/android/internal/R$id;->selectAll:I
-Lcom/android/internal/R$id;->selectedIcon:I
-Lcom/android/internal/R$id;->selection_end_handle:I
-Lcom/android/internal/R$id;->selection_start_handle:I
-Lcom/android/internal/R$id;->selectTextMode:I
-Lcom/android/internal/R$id;->select_all:I
-Lcom/android/internal/R$id;->separator:I
-Lcom/android/internal/R$id;->serial_number:I
-Lcom/android/internal/R$id;->seven:I
-Lcom/android/internal/R$id;->sha1_fingerprint:I
-Lcom/android/internal/R$id;->sha256_fingerprint:I
-Lcom/android/internal/R$id;->shareText:I
-Lcom/android/internal/R$id;->six:I
-Lcom/android/internal/R$id;->skip_button:I
-Lcom/android/internal/R$id;->smart_reply_container:I
-Lcom/android/internal/R$id;->sms_short_code_confirm_message:I
-Lcom/android/internal/R$id;->sms_short_code_detail_layout:I
-Lcom/android/internal/R$id;->sms_short_code_detail_message:I
-Lcom/android/internal/R$id;->sms_short_code_remember_choice_checkbox:I
-Lcom/android/internal/R$id;->sms_short_code_remember_undo_instruction:I
-Lcom/android/internal/R$id;->spacer:I
-Lcom/android/internal/R$id;->split_action_bar:I
-Lcom/android/internal/R$id;->startSelectingText:I
-Lcom/android/internal/R$id;->status:I
-Lcom/android/internal/R$id;->statusBarBackground:I
-Lcom/android/internal/R$id;->stopSelectingText:I
-Lcom/android/internal/R$id;->submenuarrow:I
-Lcom/android/internal/R$id;->submit_area:I
-Lcom/android/internal/R$id;->suggestionContainer:I
-Lcom/android/internal/R$id;->suggestionWindowContainer:I
-Lcom/android/internal/R$id;->summary:I
-Lcom/android/internal/R$id;->switchInputMethod:I
-Lcom/android/internal/R$id;->switch_new:I
-Lcom/android/internal/R$id;->switch_old:I
-Lcom/android/internal/R$id;->switch_widget:I
-Lcom/android/internal/R$id;->tabhost:I
-Lcom/android/internal/R$id;->tag_alpha_animator:I
-Lcom/android/internal/R$id;->tag_is_first_layout:I
-Lcom/android/internal/R$id;->tag_layout_top:I
-Lcom/android/internal/R$id;->tag_top_animator:I
-Lcom/android/internal/R$id;->tag_top_override:I
-Lcom/android/internal/R$id;->target_badge:I
-Lcom/android/internal/R$id;->textAssist:I
-Lcom/android/internal/R$id;->textSpacerNoButtons:I
-Lcom/android/internal/R$id;->textSpacerNoTitle:I
-Lcom/android/internal/R$id;->text_line_1:I
-Lcom/android/internal/R$id;->three:I
-Lcom/android/internal/R$id;->timePickerLayout:I
-Lcom/android/internal/R$id;->time_divider:I
-Lcom/android/internal/R$id;->time_header:I
-Lcom/android/internal/R$id;->titleDividerNoCustom:I
-Lcom/android/internal/R$id;->toggle:I
-Lcom/android/internal/R$id;->toggle_mode:I
-Lcom/android/internal/R$id;->to_common:I
-Lcom/android/internal/R$id;->to_org:I
-Lcom/android/internal/R$id;->to_org_unit:I
-Lcom/android/internal/R$id;->transitionPosition:I
-Lcom/android/internal/R$id;->transitionTransform:I
-Lcom/android/internal/R$id;->two:I
-Lcom/android/internal/R$id;->undo:I
-Lcom/android/internal/R$id;->user_loading:I
-Lcom/android/internal/R$id;->user_loading_avatar:I
-Lcom/android/internal/R$id;->value:I
-Lcom/android/internal/R$id;->websearch:I
-Lcom/android/internal/R$id;->widget_frame:I
-Lcom/android/internal/R$id;->wifi_p2p_wps_pin:I
-Lcom/android/internal/R$id;->work_widget_app_icon:I
-Lcom/android/internal/R$id;->work_widget_badge_icon:I
-Lcom/android/internal/R$id;->work_widget_mask_frame:I
-Lcom/android/internal/R$id;->zero:I
-Lcom/android/internal/R$id;->zoomIn:I
-Lcom/android/internal/R$id;->zoomOut:I
-Lcom/android/internal/R$integer;
-Lcom/android/internal/R$integer;-><init>()V
-Lcom/android/internal/R$integer;->autofill_max_visible_datasets:I
-Lcom/android/internal/R$integer;->config_activeTaskDurationHours:I
-Lcom/android/internal/R$integer;->config_autoBrightnessBrighteningLightDebounce:I
-Lcom/android/internal/R$integer;->config_autoBrightnessDarkeningLightDebounce:I
-Lcom/android/internal/R$integer;->config_autoBrightnessInitialLightSensorRate:I
-Lcom/android/internal/R$integer;->config_autoBrightnessLightSensorRate:I
-Lcom/android/internal/R$integer;->config_autoPowerModeAnyMotionSensor:I
-Lcom/android/internal/R$integer;->config_autoPowerModeThresholdAngle:I
-Lcom/android/internal/R$integer;->config_bluetooth_idle_cur_ma:I
-Lcom/android/internal/R$integer;->config_bluetooth_max_advertisers:I
-Lcom/android/internal/R$integer;->config_bluetooth_max_connected_audio_devices:I
-Lcom/android/internal/R$integer;->config_bluetooth_max_scan_filters:I
-Lcom/android/internal/R$integer;->config_bluetooth_operating_voltage_mv:I
-Lcom/android/internal/R$integer;->config_bluetooth_rx_cur_ma:I
-Lcom/android/internal/R$integer;->config_bluetooth_tx_cur_ma:I
-Lcom/android/internal/R$integer;->config_brightness_ramp_rate_fast:I
-Lcom/android/internal/R$integer;->config_brightness_ramp_rate_slow:I
-Lcom/android/internal/R$integer;->config_burnInProtectionMaxHorizontalOffset:I
-Lcom/android/internal/R$integer;->config_burnInProtectionMaxRadius:I
-Lcom/android/internal/R$integer;->config_burnInProtectionMaxVerticalOffset:I
-Lcom/android/internal/R$integer;->config_burnInProtectionMinHorizontalOffset:I
-Lcom/android/internal/R$integer;->config_burnInProtectionMinVerticalOffset:I
-Lcom/android/internal/R$integer;->config_cameraLaunchGestureSensorType:I
-Lcom/android/internal/R$integer;->config_cameraLiftTriggerSensorType:I
-Lcom/android/internal/R$integer;->config_carDockKeepsScreenOn:I
-Lcom/android/internal/R$integer;->config_carDockRotation:I
-Lcom/android/internal/R$integer;->config_cdma_3waycall_flash_delay:I
-Lcom/android/internal/R$integer;->config_criticalBatteryWarningLevel:I
-Lcom/android/internal/R$integer;->config_cursorWindowSize:I
-Lcom/android/internal/R$integer;->config_datause_notification_type:I
-Lcom/android/internal/R$integer;->config_datause_polling_period_sec:I
-Lcom/android/internal/R$integer;->config_datause_threshold_bytes:I
-Lcom/android/internal/R$integer;->config_datause_throttle_kbitsps:I
-Lcom/android/internal/R$integer;->config_defaultDisplayDefaultColorMode:I
-Lcom/android/internal/R$integer;->config_defaultHapticFeedbackIntensity:I
-Lcom/android/internal/R$integer;->config_defaultNightDisplayAutoMode:I
-Lcom/android/internal/R$integer;->config_defaultNightDisplayCustomEndTime:I
-Lcom/android/internal/R$integer;->config_defaultNightDisplayCustomStartTime:I
-Lcom/android/internal/R$integer;->config_defaultNightMode:I
-Lcom/android/internal/R$integer;->config_defaultNotificationLedOff:I
-Lcom/android/internal/R$integer;->config_defaultNotificationLedOn:I
-Lcom/android/internal/R$integer;->config_defaultNotificationVibrationIntensity:I
-Lcom/android/internal/R$integer;->config_defaultPictureInPictureGravity:I
-Lcom/android/internal/R$integer;->config_defaultUiModeType:I
-Lcom/android/internal/R$integer;->config_defaultVibrationAmplitude:I
-Lcom/android/internal/R$integer;->config_deskDockKeepsScreenOn:I
-Lcom/android/internal/R$integer;->config_deskDockRotation:I
-Lcom/android/internal/R$integer;->config_dockedStackDividerSnapMode:I
-Lcom/android/internal/R$integer;->config_doublePressOnPowerBehavior:I
-Lcom/android/internal/R$integer;->config_doubleTapOnHomeBehavior:I
-Lcom/android/internal/R$integer;->config_downloadDataDirLowSpaceThreshold:I
-Lcom/android/internal/R$integer;->config_downloadDataDirSize:I
-Lcom/android/internal/R$integer;->config_drawLockTimeoutMillis:I
-Lcom/android/internal/R$integer;->config_dreamsBatteryLevelDrainCutoff:I
-Lcom/android/internal/R$integer;->config_dreamsBatteryLevelMinimumWhenNotPowered:I
-Lcom/android/internal/R$integer;->config_dreamsBatteryLevelMinimumWhenPowered:I
-Lcom/android/internal/R$integer;->config_externalHardKeyboardBehavior:I
-Lcom/android/internal/R$integer;->config_extraFreeKbytesAbsolute:I
-Lcom/android/internal/R$integer;->config_extraFreeKbytesAdjust:I
-Lcom/android/internal/R$integer;->config_fingerprintMaxTemplatesPerUser:I
-Lcom/android/internal/R$integer;->config_globalActionsKeyTimeout:I
-Lcom/android/internal/R$integer;->config_immersive_mode_confirmation_panic:I
-Lcom/android/internal/R$integer;->config_jobSchedulerIdleWindowSlop:I
-Lcom/android/internal/R$integer;->config_jobSchedulerInactivityIdleThreshold:I
-Lcom/android/internal/R$integer;->config_keepPreloadsMinDays:I
-Lcom/android/internal/R$integer;->config_lidKeyboardAccessibility:I
-Lcom/android/internal/R$integer;->config_lidNavigationAccessibility:I
-Lcom/android/internal/R$integer;->config_lidOpenRotation:I
-Lcom/android/internal/R$integer;->config_lightSensorWarmupTime:I
-Lcom/android/internal/R$integer;->config_lockSoundVolumeDb:I
-Lcom/android/internal/R$integer;->config_longAnimTime:I
-Lcom/android/internal/R$integer;->config_longPressOnBackBehavior:I
-Lcom/android/internal/R$integer;->config_longPressOnHomeBehavior:I
-Lcom/android/internal/R$integer;->config_longPressOnPowerBehavior:I
-Lcom/android/internal/R$integer;->config_lowBatteryAutoTriggerDefaultLevel:I
-Lcom/android/internal/R$integer;->config_lowBatteryCloseWarningBump:I
-Lcom/android/internal/R$integer;->config_lowBatteryWarningLevel:I
-Lcom/android/internal/R$integer;->config_lowMemoryKillerMinFreeKbytesAbsolute:I
-Lcom/android/internal/R$integer;->config_lowMemoryKillerMinFreeKbytesAdjust:I
-Lcom/android/internal/R$integer;->config_MaxConcurrentDownloadsAllowed:I
-Lcom/android/internal/R$integer;->config_maximumScreenDimDuration:I
-Lcom/android/internal/R$integer;->config_maxNumVisibleRecentTasks:I
-Lcom/android/internal/R$integer;->config_maxNumVisibleRecentTasks_grid:I
-Lcom/android/internal/R$integer;->config_maxNumVisibleRecentTasks_lowRam:I
-Lcom/android/internal/R$integer;->config_maxResolverActivityColumns:I
-Lcom/android/internal/R$integer;->config_maxUiWidth:I
-Lcom/android/internal/R$integer;->config_max_pan_devices:I
-Lcom/android/internal/R$integer;->config_mdc_initial_max_retry:I
-Lcom/android/internal/R$integer;->config_mediumAnimTime:I
-Lcom/android/internal/R$integer;->config_minimumScreenOffTimeout:I
-Lcom/android/internal/R$integer;->config_minNumVisibleRecentTasks:I
-Lcom/android/internal/R$integer;->config_minNumVisibleRecentTasks_grid:I
-Lcom/android/internal/R$integer;->config_minNumVisibleRecentTasks_lowRam:I
-Lcom/android/internal/R$integer;->config_mobile_hotspot_provision_check_period:I
-Lcom/android/internal/R$integer;->config_mobile_mtu:I
-Lcom/android/internal/R$integer;->config_multiuserMaximumUsers:I
-Lcom/android/internal/R$integer;->config_multiuserMaxRunningUsers:I
-Lcom/android/internal/R$integer;->config_navBarOpacityMode:I
-Lcom/android/internal/R$integer;->config_networkAvoidBadWifi:I
-Lcom/android/internal/R$integer;->config_networkDefaultDailyMultipathQuotaBytes:I
-Lcom/android/internal/R$integer;->config_networkMeteredMultipathPreference:I
-Lcom/android/internal/R$integer;->config_networkNotifySwitchType:I
-Lcom/android/internal/R$integer;->config_networkPolicyDefaultWarning:I
-Lcom/android/internal/R$integer;->config_networkTransitionTimeout:I
-Lcom/android/internal/R$integer;->config_networkWakeupPacketMark:I
-Lcom/android/internal/R$integer;->config_networkWakeupPacketMask:I
-Lcom/android/internal/R$integer;->config_nightDisplayColorTemperatureDefault:I
-Lcom/android/internal/R$integer;->config_nightDisplayColorTemperatureMax:I
-Lcom/android/internal/R$integer;->config_nightDisplayColorTemperatureMin:I
-Lcom/android/internal/R$integer;->config_notificationsBatteryFullARGB:I
-Lcom/android/internal/R$integer;->config_notificationsBatteryLedOff:I
-Lcom/android/internal/R$integer;->config_notificationsBatteryLedOn:I
-Lcom/android/internal/R$integer;->config_notificationsBatteryLowARGB:I
-Lcom/android/internal/R$integer;->config_notificationsBatteryMediumARGB:I
-Lcom/android/internal/R$integer;->config_notificationServiceArchiveSize:I
-Lcom/android/internal/R$integer;->config_ntpPollingInterval:I
-Lcom/android/internal/R$integer;->config_ntpPollingIntervalShorter:I
-Lcom/android/internal/R$integer;->config_ntpRetry:I
-Lcom/android/internal/R$integer;->config_ntpThreshold:I
-Lcom/android/internal/R$integer;->config_ntpTimeout:I
-Lcom/android/internal/R$integer;->config_num_physical_slots:I
-Lcom/android/internal/R$integer;->config_overrideHasPermanentMenuKey:I
-Lcom/android/internal/R$integer;->config_pictureInPictureSnapMode:I
-Lcom/android/internal/R$integer;->config_previousVibrationsDumpLimit:I
-Lcom/android/internal/R$integer;->config_radioScanningTimeout:I
-Lcom/android/internal/R$integer;->config_safe_media_volume_index:I
-Lcom/android/internal/R$integer;->config_safe_media_volume_usb_mB:I
-Lcom/android/internal/R$integer;->config_screenBrightnessDark:I
-Lcom/android/internal/R$integer;->config_screenBrightnessDoze:I
-Lcom/android/internal/R$integer;->config_screenBrightnessForVrSettingDefault:I
-Lcom/android/internal/R$integer;->config_screenBrightnessForVrSettingMaximum:I
-Lcom/android/internal/R$integer;->config_screenBrightnessForVrSettingMinimum:I
-Lcom/android/internal/R$integer;->config_screenBrightnessSettingDefault:I
-Lcom/android/internal/R$integer;->config_screen_magnification_multi_tap_adjustment:I
-Lcom/android/internal/R$integer;->config_shortAnimTime:I
-Lcom/android/internal/R$integer;->config_shortPressOnPowerBehavior:I
-Lcom/android/internal/R$integer;->config_shortPressOnSleepBehavior:I
-Lcom/android/internal/R$integer;->config_shutdownBatteryTemperature:I
-Lcom/android/internal/R$integer;->config_soundEffectVolumeDb:I
-Lcom/android/internal/R$integer;->config_stableDeviceDisplayHeight:I
-Lcom/android/internal/R$integer;->config_stableDeviceDisplayWidth:I
-Lcom/android/internal/R$integer;->config_storageManagerDaystoRetainDefault:I
-Lcom/android/internal/R$integer;->config_timeZoneRulesCheckRetryCount:I
-Lcom/android/internal/R$integer;->config_timeZoneRulesCheckTimeMillisAllowed:I
-Lcom/android/internal/R$integer;->config_triplePressOnPowerBehavior:I
-Lcom/android/internal/R$integer;->config_undockedHdmiRotation:I
-Lcom/android/internal/R$integer;->config_valid_wappush_index:I
-Lcom/android/internal/R$integer;->config_veryLongPressOnPowerBehavior:I
-Lcom/android/internal/R$integer;->config_veryLongPressTimeout:I
-Lcom/android/internal/R$integer;->config_virtualKeyQuietTimeMillis:I
-Lcom/android/internal/R$integer;->config_volte_replacement_rat:I
-Lcom/android/internal/R$integer;->config_wifi_associated_short_scan_interval:I
-Lcom/android/internal/R$integer;->config_wifi_disconnected_short_scan_interval:I
-Lcom/android/internal/R$integer;->config_wifi_framework_5GHz_preference_boost_factor:I
-Lcom/android/internal/R$integer;->config_wifi_framework_5GHz_preference_boost_threshold:I
-Lcom/android/internal/R$integer;->config_wifi_framework_5GHz_preference_penalty_threshold:I
-Lcom/android/internal/R$integer;->config_wifi_framework_associated_full_scan_backoff:I
-Lcom/android/internal/R$integer;->config_wifi_framework_associated_full_scan_max_interval:I
-Lcom/android/internal/R$integer;->config_wifi_framework_associated_full_scan_max_total_dwell_time:I
-Lcom/android/internal/R$integer;->config_wifi_framework_associated_full_scan_rx_packet_threshold:I
-Lcom/android/internal/R$integer;->config_wifi_framework_associated_full_scan_tx_packet_threshold:I
-Lcom/android/internal/R$integer;->config_wifi_framework_associated_partial_scan_max_num_active_channels:I
-Lcom/android/internal/R$integer;->config_wifi_framework_associated_partial_scan_rx_packet_threshold:I
-Lcom/android/internal/R$integer;->config_wifi_framework_associated_partial_scan_tx_packet_threshold:I
-Lcom/android/internal/R$integer;->config_wifi_framework_current_network_boost:I
-Lcom/android/internal/R$integer;->config_wifi_framework_LAST_SELECTION_AWARD:I
-Lcom/android/internal/R$integer;->config_wifi_framework_max_rx_rate_for_full_scan:I
-Lcom/android/internal/R$integer;->config_wifi_framework_max_tx_rate_for_full_scan:I
-Lcom/android/internal/R$integer;->config_wifi_framework_min_rx_rate_for_staying_on_network:I
-Lcom/android/internal/R$integer;->config_wifi_framework_min_tx_rate_for_staying_on_network:I
-Lcom/android/internal/R$integer;->config_wifi_framework_network_switch_rx_packet_threshold:I
-Lcom/android/internal/R$integer;->config_wifi_framework_network_switch_tx_packet_threshold:I
-Lcom/android/internal/R$integer;->config_wifi_framework_PASSPOINT_SECURITY_AWARD:I
-Lcom/android/internal/R$integer;->config_wifi_framework_RSSI_SCORE_OFFSET:I
-Lcom/android/internal/R$integer;->config_wifi_framework_RSSI_SCORE_SLOPE:I
-Lcom/android/internal/R$integer;->config_wifi_framework_SAME_BSSID_AWARD:I
-Lcom/android/internal/R$integer;->config_wifi_framework_scan_interval:I
-Lcom/android/internal/R$integer;->config_wifi_framework_scan_result_rssi_level_patchup_value:I
-Lcom/android/internal/R$integer;->config_wifi_framework_SECURITY_AWARD:I
-Lcom/android/internal/R$integer;->config_wifi_framework_soft_ap_timeout_delay:I
-Lcom/android/internal/R$integer;->config_wifi_framework_wifi_score_bad_link_speed_24:I
-Lcom/android/internal/R$integer;->config_wifi_framework_wifi_score_bad_link_speed_5:I
-Lcom/android/internal/R$integer;->config_wifi_framework_wifi_score_bad_rssi_threshold_24GHz:I
-Lcom/android/internal/R$integer;->config_wifi_framework_wifi_score_bad_rssi_threshold_5GHz:I
-Lcom/android/internal/R$integer;->config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz:I
-Lcom/android/internal/R$integer;->config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz:I
-Lcom/android/internal/R$integer;->config_wifi_framework_wifi_score_good_link_speed_24:I
-Lcom/android/internal/R$integer;->config_wifi_framework_wifi_score_good_link_speed_5:I
-Lcom/android/internal/R$integer;->config_wifi_framework_wifi_score_good_rssi_threshold_24GHz:I
-Lcom/android/internal/R$integer;->config_wifi_framework_wifi_score_good_rssi_threshold_5GHz:I
-Lcom/android/internal/R$integer;->config_wifi_framework_wifi_score_low_rssi_threshold_24GHz:I
-Lcom/android/internal/R$integer;->config_wifi_framework_wifi_score_low_rssi_threshold_5GHz:I
-Lcom/android/internal/R$integer;->config_wifi_logger_ring_buffer_default_size_limit_kb:I
-Lcom/android/internal/R$integer;->config_wifi_logger_ring_buffer_verbose_size_limit_kb:I
-Lcom/android/internal/R$integer;->config_wifi_network_switching_blacklist_time:I
-Lcom/android/internal/R$integer;->config_wifi_no_network_periodic_scan_interval:I
-Lcom/android/internal/R$integer;->config_wifi_scan_interval_p2p_connected:I
-Lcom/android/internal/R$integer;->config_wifi_supplicant_scan_interval:I
-Lcom/android/internal/R$integer;->config_windowOutsetBottom:I
-Lcom/android/internal/R$integer;->config_zen_repeat_callers_threshold:I
-Lcom/android/internal/R$integer;->date_picker_mode:I
-Lcom/android/internal/R$integer;->db_connection_pool_size:I
-Lcom/android/internal/R$integer;->db_default_idle_connection_timeout:I
-Lcom/android/internal/R$integer;->db_journal_size_limit:I
-Lcom/android/internal/R$integer;->db_wal_autocheckpoint:I
-Lcom/android/internal/R$integer;->default_data_warning_level_mb:I
-Lcom/android/internal/R$integer;->dock_enter_exit_duration:I
-Lcom/android/internal/R$integer;->status_bar_notification_info_maxnum:I
-Lcom/android/internal/R$integer;->thumbnail_width_tv:I
-Lcom/android/internal/R$integer;->time_picker_mode:I
-Lcom/android/internal/R$interpolator;
-Lcom/android/internal/R$interpolator;-><init>()V
-Lcom/android/internal/R$interpolator;->accelerate_decelerate:I
-Lcom/android/internal/R$interpolator;->accelerate_quad:I
-Lcom/android/internal/R$interpolator;->accelerate_quint:I
-Lcom/android/internal/R$interpolator;->anticipate:I
-Lcom/android/internal/R$interpolator;->anticipate_overshoot:I
-Lcom/android/internal/R$interpolator;->bounce:I
-Lcom/android/internal/R$interpolator;->cycle:I
-Lcom/android/internal/R$interpolator;->decelerate_quad:I
-Lcom/android/internal/R$interpolator;->decelerate_quint:I
-Lcom/android/internal/R$interpolator;->fast_out_extra_slow_in:I
-Lcom/android/internal/R$interpolator;->fast_out_linear_in:I
-Lcom/android/internal/R$interpolator;->fast_out_slow_in:I
-Lcom/android/internal/R$interpolator;->linear:I
-Lcom/android/internal/R$interpolator;->linear_out_slow_in:I
-Lcom/android/internal/R$interpolator;->overshoot:I
-Lcom/android/internal/R$layout;
-Lcom/android/internal/R$layout;-><init>()V
-Lcom/android/internal/R$layout;->accessibility_button_chooser:I
-Lcom/android/internal/R$layout;->accessibility_button_chooser_item:I
-Lcom/android/internal/R$layout;->action_bar_home:I
-Lcom/android/internal/R$layout;->action_bar_title_item:I
-Lcom/android/internal/R$layout;->action_bar_up_container:I
-Lcom/android/internal/R$layout;->action_menu_item_layout:I
-Lcom/android/internal/R$layout;->action_menu_layout:I
-Lcom/android/internal/R$layout;->action_mode_close_item:I
-Lcom/android/internal/R$layout;->activity_chooser_view:I
-Lcom/android/internal/R$layout;->activity_chooser_view_list_item:I
-Lcom/android/internal/R$layout;->activity_list:I
-Lcom/android/internal/R$layout;->activity_list_item:I
-Lcom/android/internal/R$layout;->activity_list_item_2:I
-Lcom/android/internal/R$layout;->alert_dialog:I
-Lcom/android/internal/R$layout;->alert_dialog_progress:I
-Lcom/android/internal/R$layout;->always_use_checkbox:I
-Lcom/android/internal/R$layout;->am_compat_mode_dialog:I
-Lcom/android/internal/R$layout;->app_anr_dialog:I
-Lcom/android/internal/R$layout;->app_error_dialog:I
-Lcom/android/internal/R$layout;->app_not_authorized:I
-Lcom/android/internal/R$layout;->app_permission_item:I
-Lcom/android/internal/R$layout;->app_permission_item_money:I
-Lcom/android/internal/R$layout;->app_permission_item_old:I
-Lcom/android/internal/R$layout;->app_perms_summary:I
-Lcom/android/internal/R$layout;->autofill_dataset_picker:I
-Lcom/android/internal/R$layout;->autofill_dataset_picker_fullscreen:I
-Lcom/android/internal/R$layout;->autofill_dataset_picker_header_footer:I
-Lcom/android/internal/R$layout;->autofill_save:I
-Lcom/android/internal/R$layout;->auto_complete_list:I
-Lcom/android/internal/R$layout;->browser_link_context_header:I
-Lcom/android/internal/R$layout;->calendar_view:I
-Lcom/android/internal/R$layout;->car_user_switching_dialog:I
-Lcom/android/internal/R$layout;->cascading_menu_item_layout:I
-Lcom/android/internal/R$layout;->character_picker:I
-Lcom/android/internal/R$layout;->character_picker_button:I
-Lcom/android/internal/R$layout;->chooser_grid:I
-Lcom/android/internal/R$layout;->chooser_row:I
-Lcom/android/internal/R$layout;->choose_account:I
-Lcom/android/internal/R$layout;->choose_account_row:I
-Lcom/android/internal/R$layout;->choose_account_type:I
-Lcom/android/internal/R$layout;->choose_type_and_account:I
-Lcom/android/internal/R$layout;->common_tab_settings:I
-Lcom/android/internal/R$layout;->date_picker_dialog:I
-Lcom/android/internal/R$layout;->date_picker_legacy:I
-Lcom/android/internal/R$layout;->date_picker_material:I
-Lcom/android/internal/R$layout;->date_picker_month_item_material:I
-Lcom/android/internal/R$layout;->day_picker_content_material:I
-Lcom/android/internal/R$layout;->decor_caption:I
-Lcom/android/internal/R$layout;->expandable_list_content:I
-Lcom/android/internal/R$layout;->expanded_menu_layout:I
-Lcom/android/internal/R$layout;->floating_popup_close_overflow_button:I
-Lcom/android/internal/R$layout;->floating_popup_container:I
-Lcom/android/internal/R$layout;->floating_popup_menu_button:I
-Lcom/android/internal/R$layout;->floating_popup_open_overflow_button:I
-Lcom/android/internal/R$layout;->floating_popup_overflow_button:I
-Lcom/android/internal/R$layout;->fragment_bread_crumbs:I
-Lcom/android/internal/R$layout;->fragment_bread_crumb_item:I
-Lcom/android/internal/R$layout;->global_actions:I
-Lcom/android/internal/R$layout;->global_actions_item:I
-Lcom/android/internal/R$layout;->global_actions_silent_mode:I
-Lcom/android/internal/R$layout;->grant_credentials_permission:I
-Lcom/android/internal/R$layout;->harmful_app_warning_dialog:I
-Lcom/android/internal/R$layout;->heavy_weight_switcher:I
-Lcom/android/internal/R$layout;->icon_menu_item_layout:I
-Lcom/android/internal/R$layout;->icon_menu_layout:I
-Lcom/android/internal/R$layout;->immersive_mode_cling:I
-Lcom/android/internal/R$layout;->input_method:I
-Lcom/android/internal/R$layout;->input_method_extract_view:I
-Lcom/android/internal/R$layout;->input_method_switch_dialog_title:I
-Lcom/android/internal/R$layout;->input_method_switch_item:I
-Lcom/android/internal/R$layout;->js_prompt:I
-Lcom/android/internal/R$layout;->language_picker_item:I
-Lcom/android/internal/R$layout;->language_picker_section_header:I
-Lcom/android/internal/R$layout;->launch_warning:I
-Lcom/android/internal/R$layout;->list_content:I
-Lcom/android/internal/R$layout;->list_content_simple:I
-Lcom/android/internal/R$layout;->list_menu_item_checkbox:I
-Lcom/android/internal/R$layout;->list_menu_item_icon:I
-Lcom/android/internal/R$layout;->list_menu_item_layout:I
-Lcom/android/internal/R$layout;->list_menu_item_radio:I
-Lcom/android/internal/R$layout;->locale_picker_item:I
-Lcom/android/internal/R$layout;->media_controller:I
-Lcom/android/internal/R$layout;->media_route_chooser_dialog:I
-Lcom/android/internal/R$layout;->media_route_controller_dialog:I
-Lcom/android/internal/R$layout;->media_route_list_item:I
-Lcom/android/internal/R$layout;->notification_intruder_content:I
-Lcom/android/internal/R$layout;->notification_material_action:I
-Lcom/android/internal/R$layout;->notification_material_action_emphasized:I
-Lcom/android/internal/R$layout;->notification_material_action_list:I
-Lcom/android/internal/R$layout;->notification_material_action_tombstone:I
-Lcom/android/internal/R$layout;->notification_material_media_action:I
-Lcom/android/internal/R$layout;->notification_template_ambient_header:I
-Lcom/android/internal/R$layout;->notification_template_header:I
-Lcom/android/internal/R$layout;->notification_template_material_ambient:I
-Lcom/android/internal/R$layout;->notification_template_material_big_base:I
-Lcom/android/internal/R$layout;->notification_template_material_big_media:I
-Lcom/android/internal/R$layout;->notification_template_material_big_picture:I
-Lcom/android/internal/R$layout;->notification_template_material_big_text:I
-Lcom/android/internal/R$layout;->notification_template_material_inbox:I
-Lcom/android/internal/R$layout;->notification_template_material_media:I
-Lcom/android/internal/R$layout;->notification_template_material_messaging:I
-Lcom/android/internal/R$layout;->notification_template_messaging_group:I
-Lcom/android/internal/R$layout;->notification_template_messaging_image_message:I
-Lcom/android/internal/R$layout;->notification_template_messaging_text_message:I
-Lcom/android/internal/R$layout;->number_picker:I
-Lcom/android/internal/R$layout;->overlay_display_window:I
-Lcom/android/internal/R$layout;->permissions_package_list_item:I
-Lcom/android/internal/R$layout;->popup_menu_header_item_layout:I
-Lcom/android/internal/R$layout;->popup_menu_item_layout:I
-Lcom/android/internal/R$layout;->preference:I
-Lcom/android/internal/R$layout;->preference_category:I
-Lcom/android/internal/R$layout;->preference_list_content:I
-Lcom/android/internal/R$layout;->preference_list_content_single:I
-Lcom/android/internal/R$layout;->preference_list_fragment:I
-Lcom/android/internal/R$layout;->preference_widget_seekbar:I
-Lcom/android/internal/R$layout;->progress_dialog:I
-Lcom/android/internal/R$layout;->recent_apps_dialog:I
-Lcom/android/internal/R$layout;->remote_views_adapter_default_loading_view:I
-Lcom/android/internal/R$layout;->resolver_different_item_header:I
-Lcom/android/internal/R$layout;->resolver_list:I
-Lcom/android/internal/R$layout;->resolver_list_with_default:I
-Lcom/android/internal/R$layout;->resolve_grid_item:I
-Lcom/android/internal/R$layout;->resolve_list_item:I
-Lcom/android/internal/R$layout;->restrictions_pin_challenge:I
-Lcom/android/internal/R$layout;->restrictions_pin_setup:I
-Lcom/android/internal/R$layout;->safe_mode:I
-Lcom/android/internal/R$layout;->screen_action_bar:I
-Lcom/android/internal/R$layout;->screen_custom_title:I
-Lcom/android/internal/R$layout;->screen_progress:I
-Lcom/android/internal/R$layout;->screen_simple:I
-Lcom/android/internal/R$layout;->screen_simple_overlay_action_mode:I
-Lcom/android/internal/R$layout;->screen_swipe_dismiss:I
-Lcom/android/internal/R$layout;->screen_title_icons:I
-Lcom/android/internal/R$layout;->search_bar:I
-Lcom/android/internal/R$layout;->search_dropdown_item_icons_2line:I
-Lcom/android/internal/R$layout;->search_view:I
-Lcom/android/internal/R$layout;->select_dialog_item:I
-Lcom/android/internal/R$layout;->select_dialog_multichoice_material:I
-Lcom/android/internal/R$layout;->select_dialog_singlechoice_holo:I
-Lcom/android/internal/R$layout;->select_dialog_singlechoice_material:I
-Lcom/android/internal/R$layout;->shutdown_dialog:I
-Lcom/android/internal/R$layout;->simple_account_item:I
-Lcom/android/internal/R$layout;->simple_dropdown_hint:I
-Lcom/android/internal/R$layout;->simple_dropdown_item_1line:I
-Lcom/android/internal/R$layout;->simple_expandable_list_item_1:I
-Lcom/android/internal/R$layout;->simple_expandable_list_item_2:I
-Lcom/android/internal/R$layout;->simple_gallery_item:I
-Lcom/android/internal/R$layout;->simple_list_item_1:I
-Lcom/android/internal/R$layout;->simple_list_item_2:I
-Lcom/android/internal/R$layout;->simple_list_item_2_single_choice:I
-Lcom/android/internal/R$layout;->simple_list_item_activated_1:I
-Lcom/android/internal/R$layout;->simple_list_item_activated_2:I
-Lcom/android/internal/R$layout;->simple_list_item_checked:I
-Lcom/android/internal/R$layout;->simple_list_item_multiple_choice:I
-Lcom/android/internal/R$layout;->simple_list_item_single_choice:I
-Lcom/android/internal/R$layout;->simple_selectable_list_item:I
-Lcom/android/internal/R$layout;->simple_spinner_dropdown_item:I
-Lcom/android/internal/R$layout;->simple_spinner_item:I
-Lcom/android/internal/R$layout;->slice_grid:I
-Lcom/android/internal/R$layout;->slice_message:I
-Lcom/android/internal/R$layout;->slice_message_local:I
-Lcom/android/internal/R$layout;->slice_remote_input:I
-Lcom/android/internal/R$layout;->slice_secondary_text:I
-Lcom/android/internal/R$layout;->slice_small_template:I
-Lcom/android/internal/R$layout;->slice_title:I
-Lcom/android/internal/R$layout;->sms_short_code_confirmation_dialog:I
-Lcom/android/internal/R$layout;->ssl_certificate:I
-Lcom/android/internal/R$layout;->status_bar_latest_event_content:I
-Lcom/android/internal/R$layout;->tab_content:I
-Lcom/android/internal/R$layout;->tab_indicator_holo:I
-Lcom/android/internal/R$layout;->test_list_item:I
-Lcom/android/internal/R$layout;->textview_hint:I
-Lcom/android/internal/R$layout;->text_drag_thumbnail:I
-Lcom/android/internal/R$layout;->text_edit_action_popup_text:I
-Lcom/android/internal/R$layout;->time_picker_dialog:I
-Lcom/android/internal/R$layout;->time_picker_header_material:I
-Lcom/android/internal/R$layout;->time_picker_legacy:I
-Lcom/android/internal/R$layout;->time_picker_material:I
-Lcom/android/internal/R$layout;->time_picker_text_input_material:I
-Lcom/android/internal/R$layout;->tooltip:I
-Lcom/android/internal/R$layout;->transient_notification:I
-Lcom/android/internal/R$layout;->two_line_list_item:I
-Lcom/android/internal/R$layout;->typing_filter:I
-Lcom/android/internal/R$layout;->unsupported_compile_sdk_dialog_content:I
-Lcom/android/internal/R$layout;->unsupported_display_size_dialog_content:I
-Lcom/android/internal/R$layout;->user_switching_dialog:I
-Lcom/android/internal/R$layout;->voice_interaction_session:I
-Lcom/android/internal/R$layout;->webview_select_singlechoice:I
-Lcom/android/internal/R$layout;->web_text_view_dropdown:I
-Lcom/android/internal/R$layout;->wifi_p2p_dialog:I
-Lcom/android/internal/R$layout;->wifi_p2p_dialog_row:I
-Lcom/android/internal/R$layout;->work_widget_mask_view:I
-Lcom/android/internal/R$layout;->year_label_text_view:I
-Lcom/android/internal/R$layout;->zoom_container:I
-Lcom/android/internal/R$layout;->zoom_controls:I
-Lcom/android/internal/R$menu;
-Lcom/android/internal/R$menu;-><init>()V
-Lcom/android/internal/R$menu;->language_selection_list:I
-Lcom/android/internal/R$menu;->webview_copy:I
-Lcom/android/internal/R$menu;->webview_find:I
-Lcom/android/internal/R$mipmap;
-Lcom/android/internal/R$mipmap;-><init>()V
-Lcom/android/internal/R$mipmap;->sym_def_app_icon:I
-Lcom/android/internal/R$plurals;
-Lcom/android/internal/R$plurals;-><init>()V
-Lcom/android/internal/R$plurals;->autofill_picker_some_suggestions:I
-Lcom/android/internal/R$plurals;->bugreport_countdown:I
-Lcom/android/internal/R$plurals;->duration_days_relative:I
-Lcom/android/internal/R$plurals;->duration_days_relative_future:I
-Lcom/android/internal/R$plurals;->duration_days_shortest:I
-Lcom/android/internal/R$plurals;->duration_days_shortest_future:I
-Lcom/android/internal/R$plurals;->duration_hours_relative:I
-Lcom/android/internal/R$plurals;->duration_hours_relative_future:I
-Lcom/android/internal/R$plurals;->duration_hours_shortest:I
-Lcom/android/internal/R$plurals;->duration_hours_shortest_future:I
-Lcom/android/internal/R$plurals;->duration_minutes_relative:I
-Lcom/android/internal/R$plurals;->duration_minutes_relative_future:I
-Lcom/android/internal/R$plurals;->duration_minutes_shortest:I
-Lcom/android/internal/R$plurals;->duration_minutes_shortest_future:I
-Lcom/android/internal/R$plurals;->duration_years_relative:I
-Lcom/android/internal/R$plurals;->duration_years_relative_future:I
-Lcom/android/internal/R$plurals;->duration_years_shortest:I
-Lcom/android/internal/R$plurals;->duration_years_shortest_future:I
-Lcom/android/internal/R$plurals;->last_num_days:I
-Lcom/android/internal/R$plurals;->pinpuk_attempts:I
-Lcom/android/internal/R$plurals;->restr_pin_countdown:I
-Lcom/android/internal/R$plurals;->selected_count:I
-Lcom/android/internal/R$plurals;->ssl_ca_cert_warning:I
-Lcom/android/internal/R$plurals;->wifi_available:I
-Lcom/android/internal/R$plurals;->wifi_available_detailed:I
-Lcom/android/internal/R$plurals;->zen_mode_duration_hours:I
-Lcom/android/internal/R$plurals;->zen_mode_duration_hours_short:I
-Lcom/android/internal/R$plurals;->zen_mode_duration_hours_summary:I
-Lcom/android/internal/R$plurals;->zen_mode_duration_hours_summary_short:I
-Lcom/android/internal/R$plurals;->zen_mode_duration_minutes:I
-Lcom/android/internal/R$plurals;->zen_mode_duration_minutes_short:I
-Lcom/android/internal/R$plurals;->zen_mode_duration_minutes_summary:I
-Lcom/android/internal/R$plurals;->zen_mode_duration_minutes_summary_short:I
-Lcom/android/internal/R$raw;
-Lcom/android/internal/R$raw;-><init>()V
-Lcom/android/internal/R$raw;->color_fade_frag:I
-Lcom/android/internal/R$raw;->color_fade_vert:I
-Lcom/android/internal/R$raw;->fallbackring:I
-Lcom/android/internal/R$raw;->fallback_categories:I
-Lcom/android/internal/R$string;
-Lcom/android/internal/R$string;-><init>()V
-Lcom/android/internal/R$string;->accept:I
-Lcom/android/internal/R$string;->accessibility_binding_label:I
-Lcom/android/internal/R$string;->accessibility_magnification_chooser_text:I
-Lcom/android/internal/R$string;->accessibility_shortcut_disabling_service:I
-Lcom/android/internal/R$string;->accessibility_shortcut_enabling_service:I
-Lcom/android/internal/R$string;->accessibility_shortcut_toogle_warning:I
-Lcom/android/internal/R$string;->accessibility_shortcut_warning_dialog_title:I
-Lcom/android/internal/R$string;->action_bar_home_description:I
-Lcom/android/internal/R$string;->action_bar_home_description_format:I
-Lcom/android/internal/R$string;->action_bar_home_subtitle_description_format:I
-Lcom/android/internal/R$string;->action_bar_up_description:I
-Lcom/android/internal/R$string;->activitychooserview_choose_application:I
-Lcom/android/internal/R$string;->activitychooserview_choose_application_error:I
-Lcom/android/internal/R$string;->activity_chooser_view_see_all:I
-Lcom/android/internal/R$string;->activity_resolver_work_profiles_support:I
-Lcom/android/internal/R$string;->adb_active_notification_message:I
-Lcom/android/internal/R$string;->adb_active_notification_title:I
-Lcom/android/internal/R$string;->adb_debugging_notification_channel_tv:I
-Lcom/android/internal/R$string;->addToDictionary:I
-Lcom/android/internal/R$string;->add_account_button_label:I
-Lcom/android/internal/R$string;->add_calendar_event:I
-Lcom/android/internal/R$string;->add_calendar_event_desc:I
-Lcom/android/internal/R$string;->add_contact:I
-Lcom/android/internal/R$string;->add_contact_desc:I
-Lcom/android/internal/R$string;->aerr_application:I
-Lcom/android/internal/R$string;->aerr_application_repeated:I
-Lcom/android/internal/R$string;->aerr_process:I
-Lcom/android/internal/R$string;->aerr_process_repeated:I
-Lcom/android/internal/R$string;->alert_windows_notification_channel_group_name:I
-Lcom/android/internal/R$string;->alert_windows_notification_channel_name:I
-Lcom/android/internal/R$string;->alert_windows_notification_message:I
-Lcom/android/internal/R$string;->alert_windows_notification_title:I
-Lcom/android/internal/R$string;->alert_windows_notification_turn_off_action:I
-Lcom/android/internal/R$string;->alternate_eri_file:I
-Lcom/android/internal/R$string;->alwaysUse:I
-Lcom/android/internal/R$string;->android_preparing_apk:I
-Lcom/android/internal/R$string;->android_start_title:I
-Lcom/android/internal/R$string;->android_system_label:I
-Lcom/android/internal/R$string;->android_upgrading_apk:I
-Lcom/android/internal/R$string;->android_upgrading_complete:I
-Lcom/android/internal/R$string;->android_upgrading_fstrim:I
-Lcom/android/internal/R$string;->android_upgrading_notification_title:I
-Lcom/android/internal/R$string;->android_upgrading_starting_apps:I
-Lcom/android/internal/R$string;->android_upgrading_title:I
-Lcom/android/internal/R$string;->anr_activity_application:I
-Lcom/android/internal/R$string;->anr_activity_process:I
-Lcom/android/internal/R$string;->anr_application_process:I
-Lcom/android/internal/R$string;->anr_process:I
-Lcom/android/internal/R$string;->anr_title:I
-Lcom/android/internal/R$string;->app_category_audio:I
-Lcom/android/internal/R$string;->app_category_game:I
-Lcom/android/internal/R$string;->app_category_image:I
-Lcom/android/internal/R$string;->app_category_maps:I
-Lcom/android/internal/R$string;->app_category_news:I
-Lcom/android/internal/R$string;->app_category_productivity:I
-Lcom/android/internal/R$string;->app_category_social:I
-Lcom/android/internal/R$string;->app_category_video:I
-Lcom/android/internal/R$string;->app_running_notification_text:I
-Lcom/android/internal/R$string;->app_running_notification_title:I
-Lcom/android/internal/R$string;->app_suspended_default_message:I
-Lcom/android/internal/R$string;->app_suspended_more_details:I
-Lcom/android/internal/R$string;->app_suspended_title:I
-Lcom/android/internal/R$string;->autofill:I
-Lcom/android/internal/R$string;->autofill_address_line_1_label_re:I
-Lcom/android/internal/R$string;->autofill_address_line_1_re:I
-Lcom/android/internal/R$string;->autofill_address_line_2_re:I
-Lcom/android/internal/R$string;->autofill_address_line_3_re:I
-Lcom/android/internal/R$string;->autofill_address_name_separator:I
-Lcom/android/internal/R$string;->autofill_address_summary_format:I
-Lcom/android/internal/R$string;->autofill_address_summary_name_format:I
-Lcom/android/internal/R$string;->autofill_address_summary_separator:I
-Lcom/android/internal/R$string;->autofill_address_type_same_as_re:I
-Lcom/android/internal/R$string;->autofill_address_type_use_my_re:I
-Lcom/android/internal/R$string;->autofill_area:I
-Lcom/android/internal/R$string;->autofill_area_code_notext_re:I
-Lcom/android/internal/R$string;->autofill_area_code_re:I
-Lcom/android/internal/R$string;->autofill_attention_ignored_re:I
-Lcom/android/internal/R$string;->autofill_billing_designator_re:I
-Lcom/android/internal/R$string;->autofill_card_cvc_re:I
-Lcom/android/internal/R$string;->autofill_card_ignored_re:I
-Lcom/android/internal/R$string;->autofill_card_number_re:I
-Lcom/android/internal/R$string;->autofill_city_re:I
-Lcom/android/internal/R$string;->autofill_company_re:I
-Lcom/android/internal/R$string;->autofill_country_code_re:I
-Lcom/android/internal/R$string;->autofill_country_re:I
-Lcom/android/internal/R$string;->autofill_county:I
-Lcom/android/internal/R$string;->autofill_department:I
-Lcom/android/internal/R$string;->autofill_district:I
-Lcom/android/internal/R$string;->autofill_email_re:I
-Lcom/android/internal/R$string;->autofill_emirate:I
-Lcom/android/internal/R$string;->autofill_error_cannot_autofill:I
-Lcom/android/internal/R$string;->autofill_expiration_date_re:I
-Lcom/android/internal/R$string;->autofill_expiration_month_re:I
-Lcom/android/internal/R$string;->autofill_fax_re:I
-Lcom/android/internal/R$string;->autofill_first_name_re:I
-Lcom/android/internal/R$string;->autofill_island:I
-Lcom/android/internal/R$string;->autofill_last_name_re:I
-Lcom/android/internal/R$string;->autofill_middle_initial_re:I
-Lcom/android/internal/R$string;->autofill_middle_name_re:I
-Lcom/android/internal/R$string;->autofill_name_on_card_contextual_re:I
-Lcom/android/internal/R$string;->autofill_name_on_card_re:I
-Lcom/android/internal/R$string;->autofill_name_re:I
-Lcom/android/internal/R$string;->autofill_name_specific_re:I
-Lcom/android/internal/R$string;->autofill_parish:I
-Lcom/android/internal/R$string;->autofill_phone_extension_re:I
-Lcom/android/internal/R$string;->autofill_phone_prefix_re:I
-Lcom/android/internal/R$string;->autofill_phone_prefix_separator_re:I
-Lcom/android/internal/R$string;->autofill_phone_re:I
-Lcom/android/internal/R$string;->autofill_phone_suffix_re:I
-Lcom/android/internal/R$string;->autofill_phone_suffix_separator_re:I
-Lcom/android/internal/R$string;->autofill_picker_accessibility_title:I
-Lcom/android/internal/R$string;->autofill_picker_no_suggestions:I
-Lcom/android/internal/R$string;->autofill_postal_code:I
-Lcom/android/internal/R$string;->autofill_prefecture:I
-Lcom/android/internal/R$string;->autofill_province:I
-Lcom/android/internal/R$string;->autofill_region_ignored_re:I
-Lcom/android/internal/R$string;->autofill_save_accessibility_title:I
-Lcom/android/internal/R$string;->autofill_save_no:I
-Lcom/android/internal/R$string;->autofill_save_title:I
-Lcom/android/internal/R$string;->autofill_save_title_with_2types:I
-Lcom/android/internal/R$string;->autofill_save_title_with_3types:I
-Lcom/android/internal/R$string;->autofill_save_title_with_type:I
-Lcom/android/internal/R$string;->autofill_save_type_address:I
-Lcom/android/internal/R$string;->autofill_save_type_credit_card:I
-Lcom/android/internal/R$string;->autofill_save_type_email_address:I
-Lcom/android/internal/R$string;->autofill_save_type_password:I
-Lcom/android/internal/R$string;->autofill_save_type_username:I
-Lcom/android/internal/R$string;->autofill_save_yes:I
-Lcom/android/internal/R$string;->autofill_shipping_designator_re:I
-Lcom/android/internal/R$string;->autofill_state:I
-Lcom/android/internal/R$string;->autofill_state_re:I
-Lcom/android/internal/R$string;->autofill_this_form:I
-Lcom/android/internal/R$string;->autofill_username_re:I
-Lcom/android/internal/R$string;->autofill_window_title:I
-Lcom/android/internal/R$string;->autofill_zip_4_re:I
-Lcom/android/internal/R$string;->autofill_zip_code:I
-Lcom/android/internal/R$string;->autofill_zip_code_re:I
-Lcom/android/internal/R$string;->badPin:I
-Lcom/android/internal/R$string;->badPuk:I
-Lcom/android/internal/R$string;->BaMmi:I
-Lcom/android/internal/R$string;->battery_saver_description:I
-Lcom/android/internal/R$string;->battery_saver_description_with_learn_more:I
-Lcom/android/internal/R$string;->bluetooth_a2dp_audio_route_name:I
-Lcom/android/internal/R$string;->browse:I
-Lcom/android/internal/R$string;->browse_desc:I
-Lcom/android/internal/R$string;->bugreport_message:I
-Lcom/android/internal/R$string;->bugreport_option_full_summary:I
-Lcom/android/internal/R$string;->bugreport_option_full_title:I
-Lcom/android/internal/R$string;->bugreport_option_interactive_summary:I
-Lcom/android/internal/R$string;->bugreport_option_interactive_title:I
-Lcom/android/internal/R$string;->bugreport_status:I
-Lcom/android/internal/R$string;->bugreport_title:I
-Lcom/android/internal/R$string;->capability_desc_canCaptureFingerprintGestures:I
-Lcom/android/internal/R$string;->capability_desc_canControlMagnification:I
-Lcom/android/internal/R$string;->capability_desc_canPerformGestures:I
-Lcom/android/internal/R$string;->capability_desc_canRequestFilterKeyEvents:I
-Lcom/android/internal/R$string;->capability_desc_canRequestTouchExploration:I
-Lcom/android/internal/R$string;->capability_desc_canRetrieveWindowContent:I
-Lcom/android/internal/R$string;->capability_title_canCaptureFingerprintGestures:I
-Lcom/android/internal/R$string;->capability_title_canControlMagnification:I
-Lcom/android/internal/R$string;->capability_title_canPerformGestures:I
-Lcom/android/internal/R$string;->capability_title_canRequestFilterKeyEvents:I
-Lcom/android/internal/R$string;->capability_title_canRequestTouchExploration:I
-Lcom/android/internal/R$string;->capability_title_canRetrieveWindowContent:I
-Lcom/android/internal/R$string;->carrier_app_notification_text:I
-Lcom/android/internal/R$string;->carrier_app_notification_title:I
-Lcom/android/internal/R$string;->car_loading_profile:I
-Lcom/android/internal/R$string;->car_mode_disable_notification_message:I
-Lcom/android/internal/R$string;->car_mode_disable_notification_title:I
-Lcom/android/internal/R$string;->CfMmi:I
-Lcom/android/internal/R$string;->cfTemplateForwarded:I
-Lcom/android/internal/R$string;->cfTemplateForwardedTime:I
-Lcom/android/internal/R$string;->cfTemplateNotForwarded:I
-Lcom/android/internal/R$string;->cfTemplateRegistered:I
-Lcom/android/internal/R$string;->cfTemplateRegisteredTime:I
-Lcom/android/internal/R$string;->chooseActivity:I
-Lcom/android/internal/R$string;->chooser_wallpaper:I
-Lcom/android/internal/R$string;->chooseUsbActivity:I
-Lcom/android/internal/R$string;->ClipMmi:I
-Lcom/android/internal/R$string;->CLIRDefaultOffNextCallOff:I
-Lcom/android/internal/R$string;->CLIRDefaultOffNextCallOn:I
-Lcom/android/internal/R$string;->CLIRDefaultOnNextCallOff:I
-Lcom/android/internal/R$string;->CLIRDefaultOnNextCallOn:I
-Lcom/android/internal/R$string;->ClirMmi:I
-Lcom/android/internal/R$string;->CLIRPermanent:I
-Lcom/android/internal/R$string;->color_correction_feature_name:I
-Lcom/android/internal/R$string;->color_inversion_feature_name:I
-Lcom/android/internal/R$string;->ColpMmi:I
-Lcom/android/internal/R$string;->ColrMmi:I
-Lcom/android/internal/R$string;->common_last_name_prefixes:I
-Lcom/android/internal/R$string;->common_name_conjunctions:I
-Lcom/android/internal/R$string;->common_name_prefixes:I
-Lcom/android/internal/R$string;->common_name_suffixes:I
-Lcom/android/internal/R$string;->condition_provider_service_binding_label:I
-Lcom/android/internal/R$string;->conference_call:I
-Lcom/android/internal/R$string;->config_activityRecognitionHardwarePackageName:I
-Lcom/android/internal/R$string;->config_appsAuthorizedForSharedAccounts:I
-Lcom/android/internal/R$string;->config_appsNotReportingCrashes:I
-Lcom/android/internal/R$string;->config_batterySaverDeviceSpecificConfig:I
-Lcom/android/internal/R$string;->config_cameraLaunchGestureSensorStringType:I
-Lcom/android/internal/R$string;->config_cameraLiftTriggerSensorStringType:I
-Lcom/android/internal/R$string;->config_carrierAppInstallDialogComponent:I
-Lcom/android/internal/R$string;->config_chooseAccountActivity:I
-Lcom/android/internal/R$string;->config_chooseTypeAndAccountActivity:I
-Lcom/android/internal/R$string;->config_customAdbPublicKeyConfirmationComponent:I
-Lcom/android/internal/R$string;->config_customAdbPublicKeyConfirmationSecondaryUserComponent:I
-Lcom/android/internal/R$string;->config_customResolverActivity:I
-Lcom/android/internal/R$string;->config_customVpnAlwaysOnDisconnectedDialogComponent:I
-Lcom/android/internal/R$string;->config_customVpnConfirmDialogComponent:I
-Lcom/android/internal/R$string;->config_dataUsageSummaryComponent:I
-Lcom/android/internal/R$string;->config_datause_iface:I
-Lcom/android/internal/R$string;->config_defaultAccessibilityService:I
-Lcom/android/internal/R$string;->config_defaultAssistantAccessPackage:I
-Lcom/android/internal/R$string;->config_defaultAutofillService:I
-Lcom/android/internal/R$string;->config_defaultCellBroadcastReceiverPkg:I
-Lcom/android/internal/R$string;->config_defaultDndAccessPackages:I
-Lcom/android/internal/R$string;->config_defaultListenerAccessPackages:I
-Lcom/android/internal/R$string;->config_defaultNetworkRecommendationProviderPackage:I
-Lcom/android/internal/R$string;->config_defaultNetworkScorerPackageName:I
-Lcom/android/internal/R$string;->config_defaultPictureInPictureScreenEdgeInsets:I
-Lcom/android/internal/R$string;->config_defaultTextClassifierPackage:I
-Lcom/android/internal/R$string;->config_defaultTrustAgent:I
-Lcom/android/internal/R$string;->config_default_dns_server:I
-Lcom/android/internal/R$string;->config_deviceProvisioningPackage:I
-Lcom/android/internal/R$string;->config_deviceSpecificAudioService:I
-Lcom/android/internal/R$string;->config_deviceSpecificDevicePolicyManagerService:I
-Lcom/android/internal/R$string;->config_doubleTouchGestureEnableFile:I
-Lcom/android/internal/R$string;->config_dozeComponent:I
-Lcom/android/internal/R$string;->config_dozeDoubleTapSensorType:I
-Lcom/android/internal/R$string;->config_dozeLongPressSensorType:I
-Lcom/android/internal/R$string;->config_dreamsDefaultComponent:I
-Lcom/android/internal/R$string;->config_emergency_call_number:I
-Lcom/android/internal/R$string;->config_ethernet_iface_regex:I
-Lcom/android/internal/R$string;->config_ethernet_tcp_buffers:I
-Lcom/android/internal/R$string;->config_feedbackIntentExtraKey:I
-Lcom/android/internal/R$string;->config_feedbackIntentNameKey:I
-Lcom/android/internal/R$string;->config_forceVoiceInteractionServicePackage:I
-Lcom/android/internal/R$string;->config_fusedLocationProviderPackageName:I
-Lcom/android/internal/R$string;->config_geocoderProviderPackageName:I
-Lcom/android/internal/R$string;->config_geofenceProviderPackageName:I
-Lcom/android/internal/R$string;->config_hardwareFlpPackageName:I
-Lcom/android/internal/R$string;->config_headlineFontFamily:I
-Lcom/android/internal/R$string;->config_headlineFontFamilyLight:I
-Lcom/android/internal/R$string;->config_headlineFontFamilyMedium:I
-Lcom/android/internal/R$string;->config_helpIntentExtraKey:I
-Lcom/android/internal/R$string;->config_helpIntentNameKey:I
-Lcom/android/internal/R$string;->config_helpPackageNameKey:I
-Lcom/android/internal/R$string;->config_helpPackageNameValue:I
-Lcom/android/internal/R$string;->config_iccHotswapPromptForRestartDialogComponent:I
-Lcom/android/internal/R$string;->config_icon_mask:I
-Lcom/android/internal/R$string;->config_ims_package:I
-Lcom/android/internal/R$string;->config_inCallNotificationSound:I
-Lcom/android/internal/R$string;->config_keyguardComponent:I
-Lcom/android/internal/R$string;->config_mainBuiltInDisplayCutout:I
-Lcom/android/internal/R$string;->config_managed_provisioning_package:I
-Lcom/android/internal/R$string;->config_mediaProjectionPermissionDialogComponent:I
-Lcom/android/internal/R$string;->config_mms_user_agent:I
-Lcom/android/internal/R$string;->config_mms_user_agent_profile_url:I
-Lcom/android/internal/R$string;->config_mobile_hotspot_provision_app_no_ui:I
-Lcom/android/internal/R$string;->config_mobile_hotspot_provision_response:I
-Lcom/android/internal/R$string;->config_networkLocationProviderPackageName:I
-Lcom/android/internal/R$string;->config_networkOverLimitComponent:I
-Lcom/android/internal/R$string;->config_ntpServer:I
-Lcom/android/internal/R$string;->config_packagedKeyboardName:I
-Lcom/android/internal/R$string;->config_persistentDataPackageName:I
-Lcom/android/internal/R$string;->config_radio_access_family:I
-Lcom/android/internal/R$string;->config_recentsComponentName:I
-Lcom/android/internal/R$string;->config_timeZoneRulesDataPackage:I
-Lcom/android/internal/R$string;->config_timeZoneRulesUpdaterPackage:I
-Lcom/android/internal/R$string;->config_tvRemoteServicePackage:I
-Lcom/android/internal/R$string;->config_UsbDeviceConnectionHandling_component:I
-Lcom/android/internal/R$string;->config_useragentprofile_url:I
-Lcom/android/internal/R$string;->config_wallpaperCropperPackage:I
-Lcom/android/internal/R$string;->config_wallpaperManagerServiceName:I
-Lcom/android/internal/R$string;->config_wifi_framework_sap_2G_channel_list:I
-Lcom/android/internal/R$string;->config_wifi_p2p_device_type:I
-Lcom/android/internal/R$string;->config_wifi_random_mac_oui:I
-Lcom/android/internal/R$string;->config_wifi_tcp_buffers:I
-Lcom/android/internal/R$string;->config_wifi_tether_enable:I
-Lcom/android/internal/R$string;->config_wimaxManagerClassname:I
-Lcom/android/internal/R$string;->config_wimaxNativeLibLocation:I
-Lcom/android/internal/R$string;->config_wimaxServiceClassname:I
-Lcom/android/internal/R$string;->config_wimaxServiceJarLocation:I
-Lcom/android/internal/R$string;->config_wimaxStateTrackerClassname:I
-Lcom/android/internal/R$string;->config_wlan_data_service_package:I
-Lcom/android/internal/R$string;->config_wlan_network_service_package:I
-Lcom/android/internal/R$string;->config_wwan_data_service_package:I
-Lcom/android/internal/R$string;->config_wwan_network_service_package:I
-Lcom/android/internal/R$string;->contentServiceSync:I
-Lcom/android/internal/R$string;->contentServiceSyncNotificationTitle:I
-Lcom/android/internal/R$string;->contentServiceTooManyDeletesNotificationDesc:I
-Lcom/android/internal/R$string;->copy:I
-Lcom/android/internal/R$string;->copyUrl:I
-Lcom/android/internal/R$string;->country_selection_title:I
-Lcom/android/internal/R$string;->create_contact_using:I
-Lcom/android/internal/R$string;->cut:I
-Lcom/android/internal/R$string;->CwMmi:I
-Lcom/android/internal/R$string;->data_saver_description:I
-Lcom/android/internal/R$string;->data_saver_enable_button:I
-Lcom/android/internal/R$string;->data_saver_enable_title:I
-Lcom/android/internal/R$string;->data_usage_limit_body:I
-Lcom/android/internal/R$string;->data_usage_limit_snoozed_body:I
-Lcom/android/internal/R$string;->data_usage_mobile_limit_snoozed_title:I
-Lcom/android/internal/R$string;->data_usage_mobile_limit_title:I
-Lcom/android/internal/R$string;->data_usage_rapid_app_body:I
-Lcom/android/internal/R$string;->data_usage_rapid_body:I
-Lcom/android/internal/R$string;->data_usage_rapid_title:I
-Lcom/android/internal/R$string;->data_usage_restricted_body:I
-Lcom/android/internal/R$string;->data_usage_restricted_title:I
-Lcom/android/internal/R$string;->data_usage_warning_body:I
-Lcom/android/internal/R$string;->data_usage_warning_title:I
-Lcom/android/internal/R$string;->data_usage_wifi_limit_snoozed_title:I
-Lcom/android/internal/R$string;->data_usage_wifi_limit_title:I
-Lcom/android/internal/R$string;->date_and_time:I
-Lcom/android/internal/R$string;->date_picker_day_of_week_typeface:I
-Lcom/android/internal/R$string;->date_picker_day_typeface:I
-Lcom/android/internal/R$string;->date_picker_decrement_day_button:I
-Lcom/android/internal/R$string;->date_picker_decrement_month_button:I
-Lcom/android/internal/R$string;->date_picker_decrement_year_button:I
-Lcom/android/internal/R$string;->date_picker_dialog_title:I
-Lcom/android/internal/R$string;->date_picker_increment_day_button:I
-Lcom/android/internal/R$string;->date_picker_increment_month_button:I
-Lcom/android/internal/R$string;->date_picker_increment_year_button:I
-Lcom/android/internal/R$string;->date_picker_month_typeface:I
-Lcom/android/internal/R$string;->date_picker_next_month_button:I
-Lcom/android/internal/R$string;->date_picker_prev_month_button:I
-Lcom/android/internal/R$string;->date_time:I
-Lcom/android/internal/R$string;->date_time_done:I
-Lcom/android/internal/R$string;->date_time_set:I
-Lcom/android/internal/R$string;->db_default_journal_mode:I
-Lcom/android/internal/R$string;->db_default_sync_mode:I
-Lcom/android/internal/R$string;->db_wal_sync_mode:I
-Lcom/android/internal/R$string;->decline:I
-Lcom/android/internal/R$string;->decline_remote_bugreport_action:I
-Lcom/android/internal/R$string;->defaultMsisdnAlphaTag:I
-Lcom/android/internal/R$string;->defaultVoiceMailAlphaTag:I
-Lcom/android/internal/R$string;->default_audio_route_category_name:I
-Lcom/android/internal/R$string;->default_audio_route_name:I
-Lcom/android/internal/R$string;->default_audio_route_name_dock_speakers:I
-Lcom/android/internal/R$string;->default_audio_route_name_hdmi:I
-Lcom/android/internal/R$string;->default_audio_route_name_headphones:I
-Lcom/android/internal/R$string;->default_audio_route_name_usb:I
-Lcom/android/internal/R$string;->default_browser:I
-Lcom/android/internal/R$string;->default_notification_channel_label:I
-Lcom/android/internal/R$string;->default_sms_application:I
-Lcom/android/internal/R$string;->default_wallpaper_component:I
-Lcom/android/internal/R$string;->delete:I
-Lcom/android/internal/R$string;->deleted_key:I
-Lcom/android/internal/R$string;->deleteText:I
-Lcom/android/internal/R$string;->demo_restarting_message:I
-Lcom/android/internal/R$string;->demo_starting_message:I
-Lcom/android/internal/R$string;->deprecated_target_sdk_app_store:I
-Lcom/android/internal/R$string;->deprecated_target_sdk_message:I
-Lcom/android/internal/R$string;->description_target_unlock_tablet:I
-Lcom/android/internal/R$string;->device_storage_monitor_notification_channel:I
-Lcom/android/internal/R$string;->dial:I
-Lcom/android/internal/R$string;->dialog_alert_title:I
-Lcom/android/internal/R$string;->dial_desc:I
-Lcom/android/internal/R$string;->dial_number_using:I
-Lcom/android/internal/R$string;->disable_accessibility_shortcut:I
-Lcom/android/internal/R$string;->disable_tether_notification_message:I
-Lcom/android/internal/R$string;->disable_tether_notification_title:I
-Lcom/android/internal/R$string;->display_manager_built_in_display_name:I
-Lcom/android/internal/R$string;->display_manager_hdmi_display_name:I
-Lcom/android/internal/R$string;->display_manager_overlay_display_name:I
-Lcom/android/internal/R$string;->display_manager_overlay_display_secure_suffix:I
-Lcom/android/internal/R$string;->display_manager_overlay_display_title:I
-Lcom/android/internal/R$string;->dlg_ok:I
-Lcom/android/internal/R$string;->done_label:I
-Lcom/android/internal/R$string;->double_tap_toast:I
-Lcom/android/internal/R$string;->dump_heap_notification:I
-Lcom/android/internal/R$string;->dump_heap_notification_detail:I
-Lcom/android/internal/R$string;->dump_heap_text:I
-Lcom/android/internal/R$string;->dump_heap_title:I
-Lcom/android/internal/R$string;->elapsed_time_short_format_h_mm_ss:I
-Lcom/android/internal/R$string;->elapsed_time_short_format_mm_ss:I
-Lcom/android/internal/R$string;->email:I
-Lcom/android/internal/R$string;->emailTypeCustom:I
-Lcom/android/internal/R$string;->emailTypeHome:I
-Lcom/android/internal/R$string;->emailTypeMobile:I
-Lcom/android/internal/R$string;->emailTypeOther:I
-Lcom/android/internal/R$string;->emailTypeWork:I
-Lcom/android/internal/R$string;->email_desc:I
-Lcom/android/internal/R$string;->EmergencyCallWarningSummary:I
-Lcom/android/internal/R$string;->EmergencyCallWarningTitle:I
-Lcom/android/internal/R$string;->emergency_calls_only:I
-Lcom/android/internal/R$string;->emergency_call_dialog_number_for_display:I
-Lcom/android/internal/R$string;->emptyPhoneNumber:I
-Lcom/android/internal/R$string;->enablePin:I
-Lcom/android/internal/R$string;->enable_explore_by_touch_warning_message:I
-Lcom/android/internal/R$string;->error_message_change_not_allowed:I
-Lcom/android/internal/R$string;->error_message_title:I
-Lcom/android/internal/R$string;->etws_primary_default_message_earthquake:I
-Lcom/android/internal/R$string;->etws_primary_default_message_earthquake_and_tsunami:I
-Lcom/android/internal/R$string;->etws_primary_default_message_others:I
-Lcom/android/internal/R$string;->etws_primary_default_message_test:I
-Lcom/android/internal/R$string;->etws_primary_default_message_tsunami:I
-Lcom/android/internal/R$string;->eventTypeAnniversary:I
-Lcom/android/internal/R$string;->eventTypeBirthday:I
-Lcom/android/internal/R$string;->eventTypeCustom:I
-Lcom/android/internal/R$string;->eventTypeOther:I
-Lcom/android/internal/R$string;->expand_action_accessibility:I
-Lcom/android/internal/R$string;->expand_button_content_description_collapsed:I
-Lcom/android/internal/R$string;->expand_button_content_description_expanded:I
-Lcom/android/internal/R$string;->ext_media_badremoval_notification_message:I
-Lcom/android/internal/R$string;->ext_media_badremoval_notification_title:I
-Lcom/android/internal/R$string;->ext_media_browse_action:I
-Lcom/android/internal/R$string;->ext_media_checking_notification_message:I
-Lcom/android/internal/R$string;->ext_media_checking_notification_title:I
-Lcom/android/internal/R$string;->ext_media_init_action:I
-Lcom/android/internal/R$string;->ext_media_missing_message:I
-Lcom/android/internal/R$string;->ext_media_missing_title:I
-Lcom/android/internal/R$string;->ext_media_move_failure_message:I
-Lcom/android/internal/R$string;->ext_media_move_failure_title:I
-Lcom/android/internal/R$string;->ext_media_move_specific_title:I
-Lcom/android/internal/R$string;->ext_media_move_success_message:I
-Lcom/android/internal/R$string;->ext_media_move_success_title:I
-Lcom/android/internal/R$string;->ext_media_move_title:I
-Lcom/android/internal/R$string;->ext_media_new_notification_message:I
-Lcom/android/internal/R$string;->ext_media_nomedia_notification_message:I
-Lcom/android/internal/R$string;->ext_media_nomedia_notification_title:I
-Lcom/android/internal/R$string;->ext_media_ready_notification_message:I
-Lcom/android/internal/R$string;->ext_media_status_bad_removal:I
-Lcom/android/internal/R$string;->ext_media_status_checking:I
-Lcom/android/internal/R$string;->ext_media_status_ejecting:I
-Lcom/android/internal/R$string;->ext_media_status_formatting:I
-Lcom/android/internal/R$string;->ext_media_status_missing:I
-Lcom/android/internal/R$string;->ext_media_status_mounted:I
-Lcom/android/internal/R$string;->ext_media_status_mounted_ro:I
-Lcom/android/internal/R$string;->ext_media_status_removed:I
-Lcom/android/internal/R$string;->ext_media_status_unmountable:I
-Lcom/android/internal/R$string;->ext_media_status_unmounted:I
-Lcom/android/internal/R$string;->ext_media_status_unsupported:I
-Lcom/android/internal/R$string;->ext_media_unmountable_notification_message:I
-Lcom/android/internal/R$string;->ext_media_unmountable_notification_title:I
-Lcom/android/internal/R$string;->ext_media_unmounting_notification_message:I
-Lcom/android/internal/R$string;->ext_media_unmounting_notification_title:I
-Lcom/android/internal/R$string;->ext_media_unmount_action:I
-Lcom/android/internal/R$string;->ext_media_unsupported_notification_message:I
-Lcom/android/internal/R$string;->ext_media_unsupported_notification_title:I
-Lcom/android/internal/R$string;->faceunlock_multiple_failures:I
-Lcom/android/internal/R$string;->factorytest_failed:I
-Lcom/android/internal/R$string;->factorytest_not_system:I
-Lcom/android/internal/R$string;->factorytest_no_action:I
-Lcom/android/internal/R$string;->factorytest_reboot:I
-Lcom/android/internal/R$string;->factory_reset_message:I
-Lcom/android/internal/R$string;->factory_reset_warning:I
-Lcom/android/internal/R$string;->failed_to_copy_to_clipboard:I
-Lcom/android/internal/R$string;->fast_scroll_alphabet:I
-Lcom/android/internal/R$string;->fileSizeSuffix:I
-Lcom/android/internal/R$string;->fingerprint_acquired_imager_dirty:I
-Lcom/android/internal/R$string;->fingerprint_acquired_insufficient:I
-Lcom/android/internal/R$string;->fingerprint_acquired_partial:I
-Lcom/android/internal/R$string;->fingerprint_acquired_too_fast:I
-Lcom/android/internal/R$string;->fingerprint_acquired_too_slow:I
-Lcom/android/internal/R$string;->fingerprint_authenticated:I
-Lcom/android/internal/R$string;->fingerprint_error_canceled:I
-Lcom/android/internal/R$string;->fingerprint_error_hw_not_available:I
-Lcom/android/internal/R$string;->fingerprint_error_hw_not_present:I
-Lcom/android/internal/R$string;->fingerprint_error_lockout:I
-Lcom/android/internal/R$string;->fingerprint_error_lockout_permanent:I
-Lcom/android/internal/R$string;->fingerprint_error_no_fingerprints:I
-Lcom/android/internal/R$string;->fingerprint_error_no_space:I
-Lcom/android/internal/R$string;->fingerprint_error_timeout:I
-Lcom/android/internal/R$string;->fingerprint_error_unable_to_process:I
-Lcom/android/internal/R$string;->fingerprint_error_user_canceled:I
-Lcom/android/internal/R$string;->fingerprint_icon_content_description:I
-Lcom/android/internal/R$string;->fingerprint_name_template:I
-Lcom/android/internal/R$string;->fingerprint_not_recognized:I
-Lcom/android/internal/R$string;->floating_toolbar_close_overflow_description:I
-Lcom/android/internal/R$string;->floating_toolbar_open_overflow_description:I
-Lcom/android/internal/R$string;->force_close:I
-Lcom/android/internal/R$string;->foreground_service_apps_in_background:I
-Lcom/android/internal/R$string;->foreground_service_app_in_background:I
-Lcom/android/internal/R$string;->foreground_service_multiple_separator:I
-Lcom/android/internal/R$string;->foreground_service_tap_for_details:I
-Lcom/android/internal/R$string;->forward_intent_to_owner:I
-Lcom/android/internal/R$string;->forward_intent_to_work:I
-Lcom/android/internal/R$string;->gadget_host_error_inflating:I
-Lcom/android/internal/R$string;->global_actions:I
-Lcom/android/internal/R$string;->global_actions_airplane_mode_off_status:I
-Lcom/android/internal/R$string;->global_actions_airplane_mode_on_status:I
-Lcom/android/internal/R$string;->global_actions_toggle_airplane_mode:I
-Lcom/android/internal/R$string;->global_action_assist:I
-Lcom/android/internal/R$string;->global_action_battery_saver_off_status:I
-Lcom/android/internal/R$string;->global_action_battery_saver_on_status:I
-Lcom/android/internal/R$string;->global_action_bug_report:I
-Lcom/android/internal/R$string;->global_action_emergency:I
-Lcom/android/internal/R$string;->global_action_lockdown:I
-Lcom/android/internal/R$string;->global_action_logout:I
-Lcom/android/internal/R$string;->global_action_power_off:I
-Lcom/android/internal/R$string;->global_action_restart:I
-Lcom/android/internal/R$string;->global_action_screenshot:I
-Lcom/android/internal/R$string;->global_action_settings:I
-Lcom/android/internal/R$string;->global_action_silent_mode_off_status:I
-Lcom/android/internal/R$string;->global_action_silent_mode_on_status:I
-Lcom/android/internal/R$string;->global_action_toggle_battery_saver:I
-Lcom/android/internal/R$string;->global_action_toggle_silent_mode:I
-Lcom/android/internal/R$string;->global_action_voice_assist:I
-Lcom/android/internal/R$string;->gpsNotifMessage:I
-Lcom/android/internal/R$string;->gpsNotifTicker:I
-Lcom/android/internal/R$string;->gpsNotifTitle:I
-Lcom/android/internal/R$string;->gpsVerifNo:I
-Lcom/android/internal/R$string;->gpsVerifYes:I
-Lcom/android/internal/R$string;->grant_permissions_header_text:I
-Lcom/android/internal/R$string;->granularity_label_character:I
-Lcom/android/internal/R$string;->granularity_label_line:I
-Lcom/android/internal/R$string;->granularity_label_link:I
-Lcom/android/internal/R$string;->granularity_label_word:I
-Lcom/android/internal/R$string;->gsm_alphabet_default_charset:I
-Lcom/android/internal/R$string;->hardware:I
-Lcom/android/internal/R$string;->harmful_app_warning_open_anyway:I
-Lcom/android/internal/R$string;->harmful_app_warning_title:I
-Lcom/android/internal/R$string;->harmful_app_warning_uninstall:I
-Lcom/android/internal/R$string;->heavy_weight_notification:I
-Lcom/android/internal/R$string;->heavy_weight_notification_detail:I
-Lcom/android/internal/R$string;->hour_picker_description:I
-Lcom/android/internal/R$string;->httpError:I
-Lcom/android/internal/R$string;->httpErrorAuth:I
-Lcom/android/internal/R$string;->httpErrorBadUrl:I
-Lcom/android/internal/R$string;->httpErrorConnect:I
-Lcom/android/internal/R$string;->httpErrorFailedSslHandshake:I
-Lcom/android/internal/R$string;->httpErrorFile:I
-Lcom/android/internal/R$string;->httpErrorFileNotFound:I
-Lcom/android/internal/R$string;->httpErrorIO:I
-Lcom/android/internal/R$string;->httpErrorLookup:I
-Lcom/android/internal/R$string;->httpErrorOk:I
-Lcom/android/internal/R$string;->httpErrorProxyAuth:I
-Lcom/android/internal/R$string;->httpErrorRedirectLoop:I
-Lcom/android/internal/R$string;->httpErrorTimeout:I
-Lcom/android/internal/R$string;->httpErrorTooManyRequests:I
-Lcom/android/internal/R$string;->httpErrorUnsupportedAuthScheme:I
-Lcom/android/internal/R$string;->httpErrorUnsupportedScheme:I
-Lcom/android/internal/R$string;->image_wallpaper_component:I
-Lcom/android/internal/R$string;->imei:I
-Lcom/android/internal/R$string;->ime_action_default:I
-Lcom/android/internal/R$string;->ime_action_done:I
-Lcom/android/internal/R$string;->ime_action_go:I
-Lcom/android/internal/R$string;->ime_action_next:I
-Lcom/android/internal/R$string;->ime_action_previous:I
-Lcom/android/internal/R$string;->ime_action_search:I
-Lcom/android/internal/R$string;->ime_action_send:I
-Lcom/android/internal/R$string;->importance_from_person:I
-Lcom/android/internal/R$string;->importance_from_user:I
-Lcom/android/internal/R$string;->imProtocolAim:I
-Lcom/android/internal/R$string;->imProtocolCustom:I
-Lcom/android/internal/R$string;->imProtocolGoogleTalk:I
-Lcom/android/internal/R$string;->imProtocolIcq:I
-Lcom/android/internal/R$string;->imProtocolJabber:I
-Lcom/android/internal/R$string;->imProtocolMsn:I
-Lcom/android/internal/R$string;->imProtocolNetMeeting:I
-Lcom/android/internal/R$string;->imProtocolQq:I
-Lcom/android/internal/R$string;->imProtocolSkype:I
-Lcom/android/internal/R$string;->imProtocolYahoo:I
-Lcom/android/internal/R$string;->imTypeCustom:I
-Lcom/android/internal/R$string;->imTypeHome:I
-Lcom/android/internal/R$string;->imTypeOther:I
-Lcom/android/internal/R$string;->imTypeWork:I
-Lcom/android/internal/R$string;->inputMethod:I
-Lcom/android/internal/R$string;->input_method_binding_label:I
-Lcom/android/internal/R$string;->install_carrier_app_notification_button:I
-Lcom/android/internal/R$string;->install_carrier_app_notification_text:I
-Lcom/android/internal/R$string;->install_carrier_app_notification_text_app_name:I
-Lcom/android/internal/R$string;->install_carrier_app_notification_title:I
-Lcom/android/internal/R$string;->invalidPin:I
-Lcom/android/internal/R$string;->invalidPuk:I
-Lcom/android/internal/R$string;->js_dialog_before_unload:I
-Lcom/android/internal/R$string;->js_dialog_before_unload_negative_button:I
-Lcom/android/internal/R$string;->js_dialog_before_unload_positive_button:I
-Lcom/android/internal/R$string;->js_dialog_before_unload_title:I
-Lcom/android/internal/R$string;->js_dialog_title:I
-Lcom/android/internal/R$string;->js_dialog_title_default:I
-Lcom/android/internal/R$string;->keyboardview_keycode_alt:I
-Lcom/android/internal/R$string;->keyboardview_keycode_cancel:I
-Lcom/android/internal/R$string;->keyboardview_keycode_delete:I
-Lcom/android/internal/R$string;->keyboardview_keycode_done:I
-Lcom/android/internal/R$string;->keyboardview_keycode_enter:I
-Lcom/android/internal/R$string;->keyboardview_keycode_mode_change:I
-Lcom/android/internal/R$string;->keyboardview_keycode_shift:I
-Lcom/android/internal/R$string;->keyguard_accessibility_password_unlock:I
-Lcom/android/internal/R$string;->keyguard_accessibility_pattern_unlock:I
-Lcom/android/internal/R$string;->keyguard_accessibility_pin_unlock:I
-Lcom/android/internal/R$string;->keyguard_accessibility_sim_pin_unlock:I
-Lcom/android/internal/R$string;->keyguard_accessibility_sim_puk_unlock:I
-Lcom/android/internal/R$string;->kg_text_message_separator:I
-Lcom/android/internal/R$string;->language_picker_section_all:I
-Lcom/android/internal/R$string;->language_picker_section_suggested:I
-Lcom/android/internal/R$string;->language_selection_title:I
-Lcom/android/internal/R$string;->last_month:I
-Lcom/android/internal/R$string;->launchBrowserDefault:I
-Lcom/android/internal/R$string;->launch_warning_original:I
-Lcom/android/internal/R$string;->launch_warning_replace:I
-Lcom/android/internal/R$string;->launch_warning_title:I
-Lcom/android/internal/R$string;->leave_accessibility_shortcut_on:I
-Lcom/android/internal/R$string;->lockscreen_access_pattern_area:I
-Lcom/android/internal/R$string;->lockscreen_access_pattern_cell_added:I
-Lcom/android/internal/R$string;->lockscreen_access_pattern_cell_added_verbose:I
-Lcom/android/internal/R$string;->lockscreen_access_pattern_cleared:I
-Lcom/android/internal/R$string;->lockscreen_access_pattern_detected:I
-Lcom/android/internal/R$string;->lockscreen_access_pattern_start:I
-Lcom/android/internal/R$string;->lockscreen_carrier_default:I
-Lcom/android/internal/R$string;->lockscreen_emergency_call:I
-Lcom/android/internal/R$string;->lockscreen_return_to_call:I
-Lcom/android/internal/R$string;->lockscreen_storage_locked:I
-Lcom/android/internal/R$string;->lockscreen_transport_pause_description:I
-Lcom/android/internal/R$string;->lockscreen_transport_play_description:I
-Lcom/android/internal/R$string;->lock_to_app_unlock_password:I
-Lcom/android/internal/R$string;->lock_to_app_unlock_pattern:I
-Lcom/android/internal/R$string;->lock_to_app_unlock_pin:I
-Lcom/android/internal/R$string;->low_internal_storage_view_text:I
-Lcom/android/internal/R$string;->low_internal_storage_view_text_no_boot:I
-Lcom/android/internal/R$string;->low_internal_storage_view_title:I
-Lcom/android/internal/R$string;->low_memory:I
-Lcom/android/internal/R$string;->managed_profile_label:I
-Lcom/android/internal/R$string;->managed_profile_label_badge:I
-Lcom/android/internal/R$string;->managed_profile_label_badge_2:I
-Lcom/android/internal/R$string;->managed_profile_label_badge_3:I
-Lcom/android/internal/R$string;->map_desc:I
-Lcom/android/internal/R$string;->mediasize_chinese_om_dai_pa_kai:I
-Lcom/android/internal/R$string;->mediasize_chinese_om_jurro_ku_kai:I
-Lcom/android/internal/R$string;->mediasize_chinese_om_pa_kai:I
-Lcom/android/internal/R$string;->mediasize_chinese_prc_10:I
-Lcom/android/internal/R$string;->mediasize_chinese_prc_16k:I
-Lcom/android/internal/R$string;->mediasize_chinese_prc_1:I
-Lcom/android/internal/R$string;->mediasize_chinese_prc_2:I
-Lcom/android/internal/R$string;->mediasize_chinese_prc_3:I
-Lcom/android/internal/R$string;->mediasize_chinese_prc_4:I
-Lcom/android/internal/R$string;->mediasize_chinese_prc_5:I
-Lcom/android/internal/R$string;->mediasize_chinese_prc_6:I
-Lcom/android/internal/R$string;->mediasize_chinese_prc_7:I
-Lcom/android/internal/R$string;->mediasize_chinese_prc_8:I
-Lcom/android/internal/R$string;->mediasize_chinese_prc_9:I
-Lcom/android/internal/R$string;->mediasize_chinese_roc_16k:I
-Lcom/android/internal/R$string;->mediasize_chinese_roc_8k:I
-Lcom/android/internal/R$string;->mediasize_iso_a0:I
-Lcom/android/internal/R$string;->mediasize_iso_a10:I
-Lcom/android/internal/R$string;->mediasize_iso_a1:I
-Lcom/android/internal/R$string;->mediasize_iso_a2:I
-Lcom/android/internal/R$string;->mediasize_iso_a3:I
-Lcom/android/internal/R$string;->mediasize_iso_a4:I
-Lcom/android/internal/R$string;->mediasize_iso_a5:I
-Lcom/android/internal/R$string;->mediasize_iso_a6:I
-Lcom/android/internal/R$string;->mediasize_iso_a7:I
-Lcom/android/internal/R$string;->mediasize_iso_a8:I
-Lcom/android/internal/R$string;->mediasize_iso_a9:I
-Lcom/android/internal/R$string;->mediasize_iso_b0:I
-Lcom/android/internal/R$string;->mediasize_iso_b10:I
-Lcom/android/internal/R$string;->mediasize_iso_b1:I
-Lcom/android/internal/R$string;->mediasize_iso_b2:I
-Lcom/android/internal/R$string;->mediasize_iso_b3:I
-Lcom/android/internal/R$string;->mediasize_iso_b4:I
-Lcom/android/internal/R$string;->mediasize_iso_b5:I
-Lcom/android/internal/R$string;->mediasize_iso_b6:I
-Lcom/android/internal/R$string;->mediasize_iso_b7:I
-Lcom/android/internal/R$string;->mediasize_iso_b8:I
-Lcom/android/internal/R$string;->mediasize_iso_b9:I
-Lcom/android/internal/R$string;->mediasize_iso_c0:I
-Lcom/android/internal/R$string;->mediasize_iso_c10:I
-Lcom/android/internal/R$string;->mediasize_iso_c1:I
-Lcom/android/internal/R$string;->mediasize_iso_c2:I
-Lcom/android/internal/R$string;->mediasize_iso_c3:I
-Lcom/android/internal/R$string;->mediasize_iso_c4:I
-Lcom/android/internal/R$string;->mediasize_iso_c5:I
-Lcom/android/internal/R$string;->mediasize_iso_c6:I
-Lcom/android/internal/R$string;->mediasize_iso_c7:I
-Lcom/android/internal/R$string;->mediasize_iso_c8:I
-Lcom/android/internal/R$string;->mediasize_iso_c9:I
-Lcom/android/internal/R$string;->mediasize_japanese_chou2:I
-Lcom/android/internal/R$string;->mediasize_japanese_chou3:I
-Lcom/android/internal/R$string;->mediasize_japanese_chou4:I
-Lcom/android/internal/R$string;->mediasize_japanese_hagaki:I
-Lcom/android/internal/R$string;->mediasize_japanese_jis_b0:I
-Lcom/android/internal/R$string;->mediasize_japanese_jis_b10:I
-Lcom/android/internal/R$string;->mediasize_japanese_jis_b1:I
-Lcom/android/internal/R$string;->mediasize_japanese_jis_b2:I
-Lcom/android/internal/R$string;->mediasize_japanese_jis_b3:I
-Lcom/android/internal/R$string;->mediasize_japanese_jis_b4:I
-Lcom/android/internal/R$string;->mediasize_japanese_jis_b5:I
-Lcom/android/internal/R$string;->mediasize_japanese_jis_b6:I
-Lcom/android/internal/R$string;->mediasize_japanese_jis_b7:I
-Lcom/android/internal/R$string;->mediasize_japanese_jis_b8:I
-Lcom/android/internal/R$string;->mediasize_japanese_jis_b9:I
-Lcom/android/internal/R$string;->mediasize_japanese_jis_exec:I
-Lcom/android/internal/R$string;->mediasize_japanese_kahu:I
-Lcom/android/internal/R$string;->mediasize_japanese_kaku2:I
-Lcom/android/internal/R$string;->mediasize_japanese_oufuku:I
-Lcom/android/internal/R$string;->mediasize_japanese_you4:I
-Lcom/android/internal/R$string;->mediasize_na_foolscap:I
-Lcom/android/internal/R$string;->mediasize_na_gvrnmt_letter:I
-Lcom/android/internal/R$string;->mediasize_na_index_3x5:I
-Lcom/android/internal/R$string;->mediasize_na_index_4x6:I
-Lcom/android/internal/R$string;->mediasize_na_index_5x8:I
-Lcom/android/internal/R$string;->mediasize_na_junior_legal:I
-Lcom/android/internal/R$string;->mediasize_na_ledger:I
-Lcom/android/internal/R$string;->mediasize_na_legal:I
-Lcom/android/internal/R$string;->mediasize_na_letter:I
-Lcom/android/internal/R$string;->mediasize_na_monarch:I
-Lcom/android/internal/R$string;->mediasize_na_quarto:I
-Lcom/android/internal/R$string;->mediasize_na_tabloid:I
-Lcom/android/internal/R$string;->mediasize_unknown_landscape:I
-Lcom/android/internal/R$string;->mediasize_unknown_portrait:I
-Lcom/android/internal/R$string;->media_route_chooser_title:I
-Lcom/android/internal/R$string;->media_route_chooser_title_for_remote_display:I
-Lcom/android/internal/R$string;->media_route_controller_disconnect:I
-Lcom/android/internal/R$string;->media_route_status_available:I
-Lcom/android/internal/R$string;->media_route_status_connecting:I
-Lcom/android/internal/R$string;->media_route_status_in_use:I
-Lcom/android/internal/R$string;->media_route_status_not_available:I
-Lcom/android/internal/R$string;->media_route_status_scanning:I
-Lcom/android/internal/R$string;->meid:I
-Lcom/android/internal/R$string;->menu_alt_shortcut_label:I
-Lcom/android/internal/R$string;->menu_ctrl_shortcut_label:I
-Lcom/android/internal/R$string;->menu_delete_shortcut_label:I
-Lcom/android/internal/R$string;->menu_enter_shortcut_label:I
-Lcom/android/internal/R$string;->menu_function_shortcut_label:I
-Lcom/android/internal/R$string;->menu_meta_shortcut_label:I
-Lcom/android/internal/R$string;->menu_shift_shortcut_label:I
-Lcom/android/internal/R$string;->menu_space_shortcut_label:I
-Lcom/android/internal/R$string;->menu_sym_shortcut_label:I
-Lcom/android/internal/R$string;->Midnight:I
-Lcom/android/internal/R$string;->midnight:I
-Lcom/android/internal/R$string;->minute_picker_description:I
-Lcom/android/internal/R$string;->mismatchPin:I
-Lcom/android/internal/R$string;->mmcc_authentication_reject:I
-Lcom/android/internal/R$string;->mmcc_authentication_reject_msim_template:I
-Lcom/android/internal/R$string;->mmcc_illegal_me:I
-Lcom/android/internal/R$string;->mmcc_illegal_me_msim_template:I
-Lcom/android/internal/R$string;->mmcc_illegal_ms:I
-Lcom/android/internal/R$string;->mmcc_illegal_ms_msim_template:I
-Lcom/android/internal/R$string;->mmcc_imsi_unknown_in_hlr:I
-Lcom/android/internal/R$string;->mmcc_imsi_unknown_in_hlr_msim_template:I
-Lcom/android/internal/R$string;->mmiComplete:I
-Lcom/android/internal/R$string;->mmiError:I
-Lcom/android/internal/R$string;->mmiErrorWhileRoaming:I
-Lcom/android/internal/R$string;->mmiFdnError:I
-Lcom/android/internal/R$string;->mobile_provisioning_apn:I
-Lcom/android/internal/R$string;->mobile_provisioning_url:I
-Lcom/android/internal/R$string;->month_day_year:I
-Lcom/android/internal/R$string;->more_item_label:I
-Lcom/android/internal/R$string;->muted_by:I
-Lcom/android/internal/R$string;->needPuk2:I
-Lcom/android/internal/R$string;->needPuk:I
-Lcom/android/internal/R$string;->negative_duration:I
-Lcom/android/internal/R$string;->NetworkPreferenceSwitchSummary:I
-Lcom/android/internal/R$string;->NetworkPreferenceSwitchTitle:I
-Lcom/android/internal/R$string;->network_available_sign_in:I
-Lcom/android/internal/R$string;->network_available_sign_in_detailed:I
-Lcom/android/internal/R$string;->network_logging_notification_text:I
-Lcom/android/internal/R$string;->network_logging_notification_title:I
-Lcom/android/internal/R$string;->network_switch_metered:I
-Lcom/android/internal/R$string;->network_switch_metered_detail:I
-Lcom/android/internal/R$string;->network_switch_metered_toast:I
-Lcom/android/internal/R$string;->network_switch_type_name_unknown:I
-Lcom/android/internal/R$string;->new_app_action:I
-Lcom/android/internal/R$string;->new_app_description:I
-Lcom/android/internal/R$string;->new_sms_notification_content:I
-Lcom/android/internal/R$string;->new_sms_notification_title:I
-Lcom/android/internal/R$string;->no:I
-Lcom/android/internal/R$string;->noApplications:I
-Lcom/android/internal/R$string;->Noon:I
-Lcom/android/internal/R$string;->noon:I
-Lcom/android/internal/R$string;->notification_app_name_settings:I
-Lcom/android/internal/R$string;->notification_app_name_system:I
-Lcom/android/internal/R$string;->notification_channel_account:I
-Lcom/android/internal/R$string;->notification_channel_alerts:I
-Lcom/android/internal/R$string;->notification_channel_call_forward:I
-Lcom/android/internal/R$string;->notification_channel_car_mode:I
-Lcom/android/internal/R$string;->notification_channel_developer:I
-Lcom/android/internal/R$string;->notification_channel_device_admin:I
-Lcom/android/internal/R$string;->notification_channel_do_not_disturb:I
-Lcom/android/internal/R$string;->notification_channel_emergency_callback:I
-Lcom/android/internal/R$string;->notification_channel_foreground_service:I
-Lcom/android/internal/R$string;->notification_channel_heavy_weight_app:I
-Lcom/android/internal/R$string;->notification_channel_mobile_data_status:I
-Lcom/android/internal/R$string;->notification_channel_network_alert:I
-Lcom/android/internal/R$string;->notification_channel_network_alerts:I
-Lcom/android/internal/R$string;->notification_channel_network_available:I
-Lcom/android/internal/R$string;->notification_channel_network_status:I
-Lcom/android/internal/R$string;->notification_channel_physical_keyboard:I
-Lcom/android/internal/R$string;->notification_channel_retail_mode:I
-Lcom/android/internal/R$string;->notification_channel_security:I
-Lcom/android/internal/R$string;->notification_channel_sim:I
-Lcom/android/internal/R$string;->notification_channel_sms:I
-Lcom/android/internal/R$string;->notification_channel_system_changes:I
-Lcom/android/internal/R$string;->notification_channel_updates:I
-Lcom/android/internal/R$string;->notification_channel_usb:I
-Lcom/android/internal/R$string;->notification_channel_virtual_keyboard:I
-Lcom/android/internal/R$string;->notification_channel_voice_mail:I
-Lcom/android/internal/R$string;->notification_channel_vpn:I
-Lcom/android/internal/R$string;->notification_channel_wfc:I
-Lcom/android/internal/R$string;->notification_header_divider_symbol_with_spaces:I
-Lcom/android/internal/R$string;->notification_hidden_text:I
-Lcom/android/internal/R$string;->notification_inbox_ellipsis:I
-Lcom/android/internal/R$string;->notification_listener_binding_label:I
-Lcom/android/internal/R$string;->notification_messaging_title_template:I
-Lcom/android/internal/R$string;->notification_ranker_binding_label:I
-Lcom/android/internal/R$string;->now_string_shortest:I
-Lcom/android/internal/R$string;->no_file_chosen:I
-Lcom/android/internal/R$string;->number_picker_increment_scroll_action:I
-Lcom/android/internal/R$string;->number_picker_increment_scroll_mode:I
-Lcom/android/internal/R$string;->older:I
-Lcom/android/internal/R$string;->old_app_action:I
-Lcom/android/internal/R$string;->open_permission_deny:I
-Lcom/android/internal/R$string;->orgTypeCustom:I
-Lcom/android/internal/R$string;->orgTypeOther:I
-Lcom/android/internal/R$string;->orgTypeWork:I
-Lcom/android/internal/R$string;->owner_name:I
-Lcom/android/internal/R$string;->package_deleted_device_owner:I
-Lcom/android/internal/R$string;->package_installed_device_owner:I
-Lcom/android/internal/R$string;->package_updated_device_owner:I
-Lcom/android/internal/R$string;->passwordIncorrect:I
-Lcom/android/internal/R$string;->paste:I
-Lcom/android/internal/R$string;->paste_as_plain_text:I
-Lcom/android/internal/R$string;->peerTtyModeFull:I
-Lcom/android/internal/R$string;->peerTtyModeHco:I
-Lcom/android/internal/R$string;->peerTtyModeOff:I
-Lcom/android/internal/R$string;->peerTtyModeVco:I
-Lcom/android/internal/R$string;->permission_request_notification_with_subtitle:I
-Lcom/android/internal/R$string;->perms_description_app:I
-Lcom/android/internal/R$string;->perms_new_perm_prefix:I
-Lcom/android/internal/R$string;->phoneTypeAssistant:I
-Lcom/android/internal/R$string;->phoneTypeCallback:I
-Lcom/android/internal/R$string;->phoneTypeCar:I
-Lcom/android/internal/R$string;->phoneTypeCompanyMain:I
-Lcom/android/internal/R$string;->phoneTypeCustom:I
-Lcom/android/internal/R$string;->phoneTypeFaxHome:I
-Lcom/android/internal/R$string;->phoneTypeFaxWork:I
-Lcom/android/internal/R$string;->phoneTypeHome:I
-Lcom/android/internal/R$string;->phoneTypeIsdn:I
-Lcom/android/internal/R$string;->phoneTypeMain:I
-Lcom/android/internal/R$string;->phoneTypeMms:I
-Lcom/android/internal/R$string;->phoneTypeMobile:I
-Lcom/android/internal/R$string;->phoneTypeOther:I
-Lcom/android/internal/R$string;->phoneTypeOtherFax:I
-Lcom/android/internal/R$string;->phoneTypePager:I
-Lcom/android/internal/R$string;->phoneTypeRadio:I
-Lcom/android/internal/R$string;->phoneTypeTelex:I
-Lcom/android/internal/R$string;->phoneTypeTtyTdd:I
-Lcom/android/internal/R$string;->phoneTypeWork:I
-Lcom/android/internal/R$string;->phoneTypeWorkMobile:I
-Lcom/android/internal/R$string;->phoneTypeWorkPager:I
-Lcom/android/internal/R$string;->PinMmi:I
-Lcom/android/internal/R$string;->policydesc_disableCamera:I
-Lcom/android/internal/R$string;->policydesc_disableKeyguardFeatures:I
-Lcom/android/internal/R$string;->policydesc_encryptedStorage:I
-Lcom/android/internal/R$string;->policydesc_expirePassword:I
-Lcom/android/internal/R$string;->policydesc_forceLock:I
-Lcom/android/internal/R$string;->policydesc_limitPassword:I
-Lcom/android/internal/R$string;->policydesc_resetPassword:I
-Lcom/android/internal/R$string;->policydesc_setGlobalProxy:I
-Lcom/android/internal/R$string;->policydesc_watchLogin:I
-Lcom/android/internal/R$string;->policydesc_watchLogin_secondaryUser:I
-Lcom/android/internal/R$string;->policydesc_wipeData:I
-Lcom/android/internal/R$string;->policydesc_wipeData_secondaryUser:I
-Lcom/android/internal/R$string;->policylab_disableCamera:I
-Lcom/android/internal/R$string;->policylab_disableKeyguardFeatures:I
-Lcom/android/internal/R$string;->policylab_encryptedStorage:I
-Lcom/android/internal/R$string;->policylab_expirePassword:I
-Lcom/android/internal/R$string;->policylab_forceLock:I
-Lcom/android/internal/R$string;->policylab_limitPassword:I
-Lcom/android/internal/R$string;->policylab_resetPassword:I
-Lcom/android/internal/R$string;->policylab_setGlobalProxy:I
-Lcom/android/internal/R$string;->policylab_watchLogin:I
-Lcom/android/internal/R$string;->policylab_wipeData:I
-Lcom/android/internal/R$string;->policylab_wipeData_secondaryUser:I
-Lcom/android/internal/R$string;->popup_window_default_title:I
-Lcom/android/internal/R$string;->postalTypeCustom:I
-Lcom/android/internal/R$string;->postalTypeHome:I
-Lcom/android/internal/R$string;->postalTypeOther:I
-Lcom/android/internal/R$string;->postalTypeWork:I
-Lcom/android/internal/R$string;->power_off:I
-Lcom/android/internal/R$string;->prepend_shortcut_label:I
-Lcom/android/internal/R$string;->preposition_for_date:I
-Lcom/android/internal/R$string;->preposition_for_time:I
-Lcom/android/internal/R$string;->printing_disabled_by:I
-Lcom/android/internal/R$string;->print_service_installed_message:I
-Lcom/android/internal/R$string;->print_service_installed_title:I
-Lcom/android/internal/R$string;->profile_encrypted_detail:I
-Lcom/android/internal/R$string;->profile_encrypted_message:I
-Lcom/android/internal/R$string;->progress_erasing:I
-Lcom/android/internal/R$string;->prohibit_manual_network_selection_in_gobal_mode:I
-Lcom/android/internal/R$string;->PwdMmi:I
-Lcom/android/internal/R$string;->quick_contacts_not_available:I
-Lcom/android/internal/R$string;->radial_numbers_typeface:I
-Lcom/android/internal/R$string;->reason_service_unavailable:I
-Lcom/android/internal/R$string;->reason_unknown:I
-Lcom/android/internal/R$string;->reboot_safemode_confirm:I
-Lcom/android/internal/R$string;->reboot_safemode_title:I
-Lcom/android/internal/R$string;->reboot_to_reset_message:I
-Lcom/android/internal/R$string;->reboot_to_reset_title:I
-Lcom/android/internal/R$string;->reboot_to_update_package:I
-Lcom/android/internal/R$string;->reboot_to_update_prepare:I
-Lcom/android/internal/R$string;->reboot_to_update_reboot:I
-Lcom/android/internal/R$string;->reboot_to_update_title:I
-Lcom/android/internal/R$string;->region_picker_section_all:I
-Lcom/android/internal/R$string;->relationTypeAssistant:I
-Lcom/android/internal/R$string;->relationTypeBrother:I
-Lcom/android/internal/R$string;->relationTypeChild:I
-Lcom/android/internal/R$string;->relationTypeDomesticPartner:I
-Lcom/android/internal/R$string;->relationTypeFather:I
-Lcom/android/internal/R$string;->relationTypeFriend:I
-Lcom/android/internal/R$string;->relationTypeManager:I
-Lcom/android/internal/R$string;->relationTypeMother:I
-Lcom/android/internal/R$string;->relationTypeParent:I
-Lcom/android/internal/R$string;->relationTypePartner:I
-Lcom/android/internal/R$string;->relationTypeReferredBy:I
-Lcom/android/internal/R$string;->relationTypeRelative:I
-Lcom/android/internal/R$string;->relationTypeSister:I
-Lcom/android/internal/R$string;->relationTypeSpouse:I
-Lcom/android/internal/R$string;->relative_time:I
-Lcom/android/internal/R$string;->replace:I
-Lcom/android/internal/R$string;->report:I
-Lcom/android/internal/R$string;->reset:I
-Lcom/android/internal/R$string;->RestrictedOnAllVoiceTitle:I
-Lcom/android/internal/R$string;->RestrictedOnDataTitle:I
-Lcom/android/internal/R$string;->RestrictedOnEmergencyTitle:I
-Lcom/android/internal/R$string;->RestrictedOnNormalTitle:I
-Lcom/android/internal/R$string;->RestrictedStateContent:I
-Lcom/android/internal/R$string;->RestrictedStateContentMsimTemplate:I
-Lcom/android/internal/R$string;->restr_pin_enter_admin_pin:I
-Lcom/android/internal/R$string;->restr_pin_enter_pin:I
-Lcom/android/internal/R$string;->restr_pin_incorrect:I
-Lcom/android/internal/R$string;->restr_pin_try_later:I
-Lcom/android/internal/R$string;->revoke:I
-Lcom/android/internal/R$string;->ringtone_default:I
-Lcom/android/internal/R$string;->ringtone_default_with_actual:I
-Lcom/android/internal/R$string;->ringtone_picker_title:I
-Lcom/android/internal/R$string;->ringtone_picker_title_alarm:I
-Lcom/android/internal/R$string;->ringtone_picker_title_notification:I
-Lcom/android/internal/R$string;->ringtone_silent:I
-Lcom/android/internal/R$string;->ringtone_unknown:I
-Lcom/android/internal/R$string;->roamingText0:I
-Lcom/android/internal/R$string;->roamingText10:I
-Lcom/android/internal/R$string;->roamingText11:I
-Lcom/android/internal/R$string;->roamingText12:I
-Lcom/android/internal/R$string;->roamingText1:I
-Lcom/android/internal/R$string;->roamingText2:I
-Lcom/android/internal/R$string;->roamingText3:I
-Lcom/android/internal/R$string;->roamingText4:I
-Lcom/android/internal/R$string;->roamingText5:I
-Lcom/android/internal/R$string;->roamingText6:I
-Lcom/android/internal/R$string;->roamingText7:I
-Lcom/android/internal/R$string;->roamingText8:I
-Lcom/android/internal/R$string;->roamingText9:I
-Lcom/android/internal/R$string;->roamingTextSearching:I
-Lcom/android/internal/R$string;->safe_media_volume_warning:I
-Lcom/android/internal/R$string;->sans_serif:I
-Lcom/android/internal/R$string;->save_password_label:I
-Lcom/android/internal/R$string;->save_password_message:I
-Lcom/android/internal/R$string;->save_password_never:I
-Lcom/android/internal/R$string;->save_password_notnow:I
-Lcom/android/internal/R$string;->save_password_remember:I
-Lcom/android/internal/R$string;->screenshot_edit:I
-Lcom/android/internal/R$string;->search_go:I
-Lcom/android/internal/R$string;->search_language_hint:I
-Lcom/android/internal/R$string;->selectAll:I
-Lcom/android/internal/R$string;->selectTextMode:I
-Lcom/android/internal/R$string;->select_day:I
-Lcom/android/internal/R$string;->select_hours:I
-Lcom/android/internal/R$string;->select_input_method:I
-Lcom/android/internal/R$string;->select_keyboard_layout_notification_message:I
-Lcom/android/internal/R$string;->select_keyboard_layout_notification_title:I
-Lcom/android/internal/R$string;->select_minutes:I
-Lcom/android/internal/R$string;->select_year:I
-Lcom/android/internal/R$string;->sending:I
-Lcom/android/internal/R$string;->sendText:I
-Lcom/android/internal/R$string;->serviceClassData:I
-Lcom/android/internal/R$string;->serviceClassDataAsync:I
-Lcom/android/internal/R$string;->serviceClassDataSync:I
-Lcom/android/internal/R$string;->serviceClassFAX:I
-Lcom/android/internal/R$string;->serviceClassPacket:I
-Lcom/android/internal/R$string;->serviceClassPAD:I
-Lcom/android/internal/R$string;->serviceClassSMS:I
-Lcom/android/internal/R$string;->serviceClassVoice:I
-Lcom/android/internal/R$string;->serviceDisabled:I
-Lcom/android/internal/R$string;->serviceEnabled:I
-Lcom/android/internal/R$string;->serviceEnabledFor:I
-Lcom/android/internal/R$string;->serviceErased:I
-Lcom/android/internal/R$string;->serviceNotProvisioned:I
-Lcom/android/internal/R$string;->serviceRegistered:I
-Lcom/android/internal/R$string;->SetupCallDefault:I
-Lcom/android/internal/R$string;->setup_autofill:I
-Lcom/android/internal/R$string;->shareactionprovider_share_with:I
-Lcom/android/internal/R$string;->shareactionprovider_share_with_application:I
-Lcom/android/internal/R$string;->share_remote_bugreport_action:I
-Lcom/android/internal/R$string;->share_remote_bugreport_notification_message_finished:I
-Lcom/android/internal/R$string;->share_remote_bugreport_notification_title:I
-Lcom/android/internal/R$string;->sharing_remote_bugreport_notification_title:I
-Lcom/android/internal/R$string;->shortcut_disabled_reason_unknown:I
-Lcom/android/internal/R$string;->shortcut_restored_on_lower_version:I
-Lcom/android/internal/R$string;->shortcut_restore_not_supported:I
-Lcom/android/internal/R$string;->shortcut_restore_signature_mismatch:I
-Lcom/android/internal/R$string;->shortcut_restore_unknown_issue:I
-Lcom/android/internal/R$string;->shutdown_confirm:I
-Lcom/android/internal/R$string;->shutdown_confirm_question:I
-Lcom/android/internal/R$string;->shutdown_progress:I
-Lcom/android/internal/R$string;->sim_added_message:I
-Lcom/android/internal/R$string;->sim_added_title:I
-Lcom/android/internal/R$string;->sim_removed_message:I
-Lcom/android/internal/R$string;->sim_removed_title:I
-Lcom/android/internal/R$string;->sim_restart_button:I
-Lcom/android/internal/R$string;->sipAddressTypeCustom:I
-Lcom/android/internal/R$string;->sipAddressTypeHome:I
-Lcom/android/internal/R$string;->sipAddressTypeOther:I
-Lcom/android/internal/R$string;->sipAddressTypeWork:I
-Lcom/android/internal/R$string;->slices_permission_request:I
-Lcom/android/internal/R$string;->slice_more_content:I
-Lcom/android/internal/R$string;->sms:I
-Lcom/android/internal/R$string;->sms_control_message:I
-Lcom/android/internal/R$string;->sms_control_no:I
-Lcom/android/internal/R$string;->sms_control_title:I
-Lcom/android/internal/R$string;->sms_control_yes:I
-Lcom/android/internal/R$string;->sms_desc:I
-Lcom/android/internal/R$string;->sms_premium_short_code_details:I
-Lcom/android/internal/R$string;->sms_short_code_confirm_allow:I
-Lcom/android/internal/R$string;->sms_short_code_confirm_always_allow:I
-Lcom/android/internal/R$string;->sms_short_code_confirm_deny:I
-Lcom/android/internal/R$string;->sms_short_code_confirm_message:I
-Lcom/android/internal/R$string;->sms_short_code_confirm_never_allow:I
-Lcom/android/internal/R$string;->sms_short_code_details:I
-Lcom/android/internal/R$string;->sms_short_code_remember_undo_instruction:I
-Lcom/android/internal/R$string;->smv_application:I
-Lcom/android/internal/R$string;->smv_process:I
-Lcom/android/internal/R$string;->ssl_ca_cert_noti_by_administrator:I
-Lcom/android/internal/R$string;->ssl_ca_cert_noti_by_unknown:I
-Lcom/android/internal/R$string;->ssl_ca_cert_noti_managed:I
-Lcom/android/internal/R$string;->ssl_certificate:I
-Lcom/android/internal/R$string;->ssl_certificate_is_valid:I
-Lcom/android/internal/R$string;->status_bar_airplane:I
-Lcom/android/internal/R$string;->status_bar_alarm_clock:I
-Lcom/android/internal/R$string;->status_bar_battery:I
-Lcom/android/internal/R$string;->status_bar_bluetooth:I
-Lcom/android/internal/R$string;->status_bar_cast:I
-Lcom/android/internal/R$string;->status_bar_cdma_eri:I
-Lcom/android/internal/R$string;->status_bar_clock:I
-Lcom/android/internal/R$string;->status_bar_data_connection:I
-Lcom/android/internal/R$string;->status_bar_data_saver:I
-Lcom/android/internal/R$string;->status_bar_ethernet:I
-Lcom/android/internal/R$string;->status_bar_headset:I
-Lcom/android/internal/R$string;->status_bar_hotspot:I
-Lcom/android/internal/R$string;->status_bar_ime:I
-Lcom/android/internal/R$string;->status_bar_location:I
-Lcom/android/internal/R$string;->status_bar_managed_profile:I
-Lcom/android/internal/R$string;->status_bar_mobile:I
-Lcom/android/internal/R$string;->status_bar_mute:I
-Lcom/android/internal/R$string;->status_bar_nfc:I
-Lcom/android/internal/R$string;->status_bar_notification_info_overflow:I
-Lcom/android/internal/R$string;->status_bar_phone_evdo_signal:I
-Lcom/android/internal/R$string;->status_bar_phone_signal:I
-Lcom/android/internal/R$string;->status_bar_rotate:I
-Lcom/android/internal/R$string;->status_bar_secure:I
-Lcom/android/internal/R$string;->status_bar_speakerphone:I
-Lcom/android/internal/R$string;->status_bar_sync_active:I
-Lcom/android/internal/R$string;->status_bar_sync_failing:I
-Lcom/android/internal/R$string;->status_bar_tty:I
-Lcom/android/internal/R$string;->status_bar_volume:I
-Lcom/android/internal/R$string;->status_bar_vpn:I
-Lcom/android/internal/R$string;->status_bar_wifi:I
-Lcom/android/internal/R$string;->status_bar_zen:I
-Lcom/android/internal/R$string;->stk_cc_ss_to_dial:I
-Lcom/android/internal/R$string;->stk_cc_ss_to_dial_video:I
-Lcom/android/internal/R$string;->stk_cc_ss_to_ss:I
-Lcom/android/internal/R$string;->stk_cc_ss_to_ussd:I
-Lcom/android/internal/R$string;->stk_cc_ussd_to_dial:I
-Lcom/android/internal/R$string;->stk_cc_ussd_to_dial_video:I
-Lcom/android/internal/R$string;->stk_cc_ussd_to_ss:I
-Lcom/android/internal/R$string;->stk_cc_ussd_to_ussd:I
-Lcom/android/internal/R$string;->storage_internal:I
-Lcom/android/internal/R$string;->storage_sd_card:I
-Lcom/android/internal/R$string;->storage_sd_card_label:I
-Lcom/android/internal/R$string;->storage_usb:I
-Lcom/android/internal/R$string;->storage_usb_drive:I
-Lcom/android/internal/R$string;->storage_usb_drive_label:I
-Lcom/android/internal/R$string;->submit:I
-Lcom/android/internal/R$string;->suspended_widget_accessibility:I
-Lcom/android/internal/R$string;->sync_binding_label:I
-Lcom/android/internal/R$string;->sync_do_nothing:I
-Lcom/android/internal/R$string;->sync_really_delete:I
-Lcom/android/internal/R$string;->sync_too_many_deletes_desc:I
-Lcom/android/internal/R$string;->sync_undo_deletes:I
-Lcom/android/internal/R$string;->system_error_manufacturer:I
-Lcom/android/internal/R$string;->system_error_wipe_data:I
-Lcom/android/internal/R$string;->system_ui_date_pattern:I
-Lcom/android/internal/R$string;->taking_remote_bugreport_notification_title:I
-Lcom/android/internal/R$string;->tethered_notification_message:I
-Lcom/android/internal/R$string;->tethered_notification_title:I
-Lcom/android/internal/R$string;->textSelectionCABTitle:I
-Lcom/android/internal/R$string;->text_copied:I
-Lcom/android/internal/R$string;->time_of_day:I
-Lcom/android/internal/R$string;->time_picker_decrement_hour_button:I
-Lcom/android/internal/R$string;->time_picker_decrement_minute_button:I
-Lcom/android/internal/R$string;->time_picker_decrement_set_am_button:I
-Lcom/android/internal/R$string;->time_picker_dialog_title:I
-Lcom/android/internal/R$string;->time_picker_increment_hour_button:I
-Lcom/android/internal/R$string;->time_picker_increment_minute_button:I
-Lcom/android/internal/R$string;->time_picker_increment_set_pm_button:I
-Lcom/android/internal/R$string;->time_picker_radial_mode_description:I
-Lcom/android/internal/R$string;->time_picker_text_input_mode_description:I
-Lcom/android/internal/R$string;->time_placeholder:I
-Lcom/android/internal/R$string;->tooltip_popup_title:I
-Lcom/android/internal/R$string;->undo:I
-Lcom/android/internal/R$string;->unknownName:I
-Lcom/android/internal/R$string;->unsupported_compile_sdk_check_update:I
-Lcom/android/internal/R$string;->unsupported_compile_sdk_message:I
-Lcom/android/internal/R$string;->unsupported_display_size_message:I
-Lcom/android/internal/R$string;->untitled:I
-Lcom/android/internal/R$string;->upload_file:I
-Lcom/android/internal/R$string;->usb_accessory_notification_title:I
-Lcom/android/internal/R$string;->usb_charging_notification_title:I
-Lcom/android/internal/R$string;->usb_midi_notification_title:I
-Lcom/android/internal/R$string;->usb_midi_peripheral_manufacturer_name:I
-Lcom/android/internal/R$string;->usb_midi_peripheral_name:I
-Lcom/android/internal/R$string;->usb_midi_peripheral_product_name:I
-Lcom/android/internal/R$string;->usb_mtp_launch_notification_description:I
-Lcom/android/internal/R$string;->usb_mtp_launch_notification_title:I
-Lcom/android/internal/R$string;->usb_mtp_notification_title:I
-Lcom/android/internal/R$string;->usb_notification_message:I
-Lcom/android/internal/R$string;->usb_power_notification_message:I
-Lcom/android/internal/R$string;->usb_ptp_notification_title:I
-Lcom/android/internal/R$string;->usb_supplying_notification_title:I
-Lcom/android/internal/R$string;->usb_tether_notification_title:I
-Lcom/android/internal/R$string;->usb_unsupported_audio_accessory_message:I
-Lcom/android/internal/R$string;->usb_unsupported_audio_accessory_title:I
-Lcom/android/internal/R$string;->user_creation_account_exists:I
-Lcom/android/internal/R$string;->user_creation_adding:I
-Lcom/android/internal/R$string;->user_encrypted_detail:I
-Lcom/android/internal/R$string;->user_encrypted_message:I
-Lcom/android/internal/R$string;->user_encrypted_title:I
-Lcom/android/internal/R$string;->user_logging_out_message:I
-Lcom/android/internal/R$string;->user_owner_label:I
-Lcom/android/internal/R$string;->user_switched:I
-Lcom/android/internal/R$string;->user_switching_message:I
-Lcom/android/internal/R$string;->VideoView_error_button:I
-Lcom/android/internal/R$string;->VideoView_error_text_invalid_progressive_playback:I
-Lcom/android/internal/R$string;->VideoView_error_text_unknown:I
-Lcom/android/internal/R$string;->VideoView_error_title:I
-Lcom/android/internal/R$string;->view_calendar:I
-Lcom/android/internal/R$string;->view_calendar_desc:I
-Lcom/android/internal/R$string;->view_flight:I
-Lcom/android/internal/R$string;->view_flight_desc:I
-Lcom/android/internal/R$string;->volume_alarm:I
-Lcom/android/internal/R$string;->volume_dialog_ringer_guidance_silent:I
-Lcom/android/internal/R$string;->volume_dialog_ringer_guidance_vibrate:I
-Lcom/android/internal/R$string;->volume_icon_description_bluetooth:I
-Lcom/android/internal/R$string;->volume_icon_description_incall:I
-Lcom/android/internal/R$string;->volume_icon_description_media:I
-Lcom/android/internal/R$string;->volume_icon_description_notification:I
-Lcom/android/internal/R$string;->volume_icon_description_ringer:I
-Lcom/android/internal/R$string;->vpn_lockdown_config:I
-Lcom/android/internal/R$string;->vpn_lockdown_connected:I
-Lcom/android/internal/R$string;->vpn_lockdown_connecting:I
-Lcom/android/internal/R$string;->vpn_lockdown_disconnected:I
-Lcom/android/internal/R$string;->vpn_lockdown_error:I
-Lcom/android/internal/R$string;->vpn_text:I
-Lcom/android/internal/R$string;->vpn_text_long:I
-Lcom/android/internal/R$string;->vpn_title:I
-Lcom/android/internal/R$string;->vpn_title_long:I
-Lcom/android/internal/R$string;->vr_listener_binding_label:I
-Lcom/android/internal/R$string;->wait:I
-Lcom/android/internal/R$string;->wallpaper_binding_label:I
-Lcom/android/internal/R$string;->webpage_unresponsive:I
-Lcom/android/internal/R$string;->websearch:I
-Lcom/android/internal/R$string;->wfcRegErrorTitle:I
-Lcom/android/internal/R$string;->wfc_mode_cellular_preferred_summary:I
-Lcom/android/internal/R$string;->wfc_mode_wifi_only_summary:I
-Lcom/android/internal/R$string;->wfc_mode_wifi_preferred_summary:I
-Lcom/android/internal/R$string;->whichApplicationLabel:I
-Lcom/android/internal/R$string;->whichApplicationNamed:I
-Lcom/android/internal/R$string;->whichEditApplication:I
-Lcom/android/internal/R$string;->whichEditApplicationLabel:I
-Lcom/android/internal/R$string;->whichEditApplicationNamed:I
-Lcom/android/internal/R$string;->whichHomeApplication:I
-Lcom/android/internal/R$string;->whichHomeApplicationLabel:I
-Lcom/android/internal/R$string;->whichHomeApplicationNamed:I
-Lcom/android/internal/R$string;->whichImageCaptureApplication:I
-Lcom/android/internal/R$string;->whichImageCaptureApplicationLabel:I
-Lcom/android/internal/R$string;->whichImageCaptureApplicationNamed:I
-Lcom/android/internal/R$string;->whichSendApplication:I
-Lcom/android/internal/R$string;->whichSendApplicationLabel:I
-Lcom/android/internal/R$string;->whichSendApplicationNamed:I
-Lcom/android/internal/R$string;->whichSendToApplication:I
-Lcom/android/internal/R$string;->whichSendToApplicationLabel:I
-Lcom/android/internal/R$string;->whichSendToApplicationNamed:I
-Lcom/android/internal/R$string;->whichViewApplication:I
-Lcom/android/internal/R$string;->whichViewApplicationLabel:I
-Lcom/android/internal/R$string;->whichViewApplicationNamed:I
-Lcom/android/internal/R$string;->widget_default_class_name:I
-Lcom/android/internal/R$string;->widget_default_package_name:I
-Lcom/android/internal/R$string;->wifi_available_action_all_networks:I
-Lcom/android/internal/R$string;->wifi_available_action_connect:I
-Lcom/android/internal/R$string;->wifi_available_carrier_network_title:I
-Lcom/android/internal/R$string;->wifi_available_content_failed_to_connect:I
-Lcom/android/internal/R$string;->wifi_available_sign_in:I
-Lcom/android/internal/R$string;->wifi_available_title:I
-Lcom/android/internal/R$string;->wifi_available_title_connected:I
-Lcom/android/internal/R$string;->wifi_available_title_connecting:I
-Lcom/android/internal/R$string;->wifi_available_title_failed_to_connect:I
-Lcom/android/internal/R$string;->wifi_calling_off_summary:I
-Lcom/android/internal/R$string;->wifi_connect_alert_message:I
-Lcom/android/internal/R$string;->wifi_connect_alert_title:I
-Lcom/android/internal/R$string;->wifi_connect_default_application:I
-Lcom/android/internal/R$string;->wifi_localhotspot_configure_ssid_default:I
-Lcom/android/internal/R$string;->wifi_no_internet:I
-Lcom/android/internal/R$string;->wifi_no_internet_detailed:I
-Lcom/android/internal/R$string;->wifi_p2p_dialog_title:I
-Lcom/android/internal/R$string;->wifi_p2p_enabled_notification_message:I
-Lcom/android/internal/R$string;->wifi_p2p_enabled_notification_title:I
-Lcom/android/internal/R$string;->wifi_p2p_failed_message:I
-Lcom/android/internal/R$string;->wifi_p2p_frequency_conflict_message:I
-Lcom/android/internal/R$string;->wifi_p2p_from_message:I
-Lcom/android/internal/R$string;->wifi_p2p_invitation_sent_title:I
-Lcom/android/internal/R$string;->wifi_p2p_invitation_to_connect_title:I
-Lcom/android/internal/R$string;->wifi_p2p_show_pin_message:I
-Lcom/android/internal/R$string;->wifi_p2p_to_message:I
-Lcom/android/internal/R$string;->wifi_p2p_turnon_message:I
-Lcom/android/internal/R$string;->wifi_tether_configure_ssid_default:I
-Lcom/android/internal/R$string;->wifi_wakeup_enabled_content:I
-Lcom/android/internal/R$string;->wifi_wakeup_enabled_title:I
-Lcom/android/internal/R$string;->wifi_wakeup_onboarding_action_disable:I
-Lcom/android/internal/R$string;->wifi_wakeup_onboarding_subtext:I
-Lcom/android/internal/R$string;->wifi_wakeup_onboarding_title:I
-Lcom/android/internal/R$string;->wifi_watchdog_network_disabled:I
-Lcom/android/internal/R$string;->wifi_watchdog_network_disabled_detailed:I
-Lcom/android/internal/R$string;->wireless_display_route_description:I
-Lcom/android/internal/R$string;->work_mode_off_message:I
-Lcom/android/internal/R$string;->work_mode_off_title:I
-Lcom/android/internal/R$string;->work_mode_turn_on:I
-Lcom/android/internal/R$string;->work_profile_deleted:I
-Lcom/android/internal/R$string;->work_profile_deleted_description_dpm_wipe:I
-Lcom/android/internal/R$string;->work_profile_deleted_details:I
-Lcom/android/internal/R$string;->work_profile_deleted_reason_maximum_password_failure:I
-Lcom/android/internal/R$string;->write_fail_reason_cancelled:I
-Lcom/android/internal/R$string;->write_fail_reason_cannot_write:I
-Lcom/android/internal/R$string;->yes:I
-Lcom/android/internal/R$string;->zen_mode_alarm:I
-Lcom/android/internal/R$string;->zen_mode_default_events_name:I
-Lcom/android/internal/R$string;->zen_mode_default_every_night_name:I
-Lcom/android/internal/R$string;->zen_mode_default_weekends_name:I
-Lcom/android/internal/R$string;->zen_mode_default_weeknights_name:I
-Lcom/android/internal/R$string;->zen_mode_downtime_feature_name:I
-Lcom/android/internal/R$string;->zen_mode_feature_name:I
-Lcom/android/internal/R$string;->zen_mode_forever:I
-Lcom/android/internal/R$string;->zen_mode_forever_dnd:I
-Lcom/android/internal/R$string;->zen_mode_rule_name_combination:I
-Lcom/android/internal/R$string;->zen_mode_until:I
-Lcom/android/internal/R$string;->zen_upgrade_notification_content:I
-Lcom/android/internal/R$string;->zen_upgrade_notification_title:I
-Lcom/android/internal/R$string;->zen_upgrade_notification_visd_content:I
-Lcom/android/internal/R$string;->zen_upgrade_notification_visd_title:I
-Lcom/android/internal/R$style;
-Lcom/android/internal/R$style;-><init>()V
-Lcom/android/internal/R$style;->ActiveWallpaperSettings:I
-Lcom/android/internal/R$style;->Animation:I
-Lcom/android/internal/R$style;->Animation_Activity:I
-Lcom/android/internal/R$style;->Animation_Dialog:I
-Lcom/android/internal/R$style;->Animation_Dream:I
-Lcom/android/internal/R$style;->Animation_ImmersiveModeConfirmation:I
-Lcom/android/internal/R$style;->Animation_InputMethod:I
-Lcom/android/internal/R$style;->Animation_InputMethodFancy:I
-Lcom/android/internal/R$style;->Animation_LockScreen:I
-Lcom/android/internal/R$style;->Animation_RecentApplications:I
-Lcom/android/internal/R$style;->Animation_Toast:I
-Lcom/android/internal/R$style;->Animation_Tooltip:I
-Lcom/android/internal/R$style;->Animation_Translucent:I
-Lcom/android/internal/R$style;->Animation_TypingFilter:I
-Lcom/android/internal/R$style;->Animation_TypingFilterRestore:I
-Lcom/android/internal/R$style;->Animation_VolumePanel:I
-Lcom/android/internal/R$style;->Animation_Wallpaper:I
-Lcom/android/internal/R$style;->Animation_ZoomButtons:I
-Lcom/android/internal/R$style;->AutofillDatasetPicker:I
-Lcom/android/internal/R$style;->AutofillHalfScreenAnimation:I
-Lcom/android/internal/R$style;->AutofillSaveAnimation:I
-Lcom/android/internal/R$style;->ButtonBar:I
-Lcom/android/internal/R$style;->DeviceDefault_ButtonBar:I
-Lcom/android/internal/R$style;->DeviceDefault_ButtonBar_AlertDialog:I
-Lcom/android/internal/R$style;->DeviceDefault_Light_ButtonBar:I
-Lcom/android/internal/R$style;->DeviceDefault_Light_ButtonBar_AlertDialog:I
-Lcom/android/internal/R$style;->DeviceDefault_Light_SegmentedButton:I
-Lcom/android/internal/R$style;->DeviceDefault_SegmentedButton:I
-Lcom/android/internal/R$style;->Holo_ButtonBar:I
-Lcom/android/internal/R$style;->Holo_ButtonBar_AlertDialog:I
-Lcom/android/internal/R$style;->Holo_Light_ButtonBar:I
-Lcom/android/internal/R$style;->Holo_Light_ButtonBar_AlertDialog:I
-Lcom/android/internal/R$style;->Holo_Light_SegmentedButton:I
-Lcom/android/internal/R$style;->Holo_SegmentedButton:I
-Lcom/android/internal/R$style;->LargePointer:I
-Lcom/android/internal/R$style;->MediaButton:I
-Lcom/android/internal/R$style;->MediaButton_Ffwd:I
-Lcom/android/internal/R$style;->MediaButton_Next:I
-Lcom/android/internal/R$style;->MediaButton_Pause:I
-Lcom/android/internal/R$style;->MediaButton_Play:I
-Lcom/android/internal/R$style;->MediaButton_Previous:I
-Lcom/android/internal/R$style;->MediaButton_Rew:I
-Lcom/android/internal/R$style;->Pointer:I
-Lcom/android/internal/R$style;->PreviewWallpaperSettings:I
-Lcom/android/internal/R$style;->TextAppearance:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_DialogWindowTitle:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Large:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Large_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Medium:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Medium_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_SearchResult_Subtitle:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_SearchResult_Title:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Small:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Small_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_ActionBar_Menu:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_ActionBar_Title:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_ActionMode_Title:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_Button:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_DropDownHint:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_DropDownItem:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_EditText:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_IconMenu_Item:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_PopupMenu:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_PopupMenu_Large:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_PopupMenu_Small:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_TabWidget:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_TextView:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_TextView_PopupMenu:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem:I
-Lcom/android/internal/R$style;->TextAppearance_DeviceDefault_WindowTitle:I
-Lcom/android/internal/R$style;->TextAppearance_DialogWindowTitle:I
-Lcom/android/internal/R$style;->TextAppearance_Holo:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_DialogWindowTitle:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Large:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Large_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Medium:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Medium_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_SearchResult_Subtitle:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_SearchResult_Title:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Small:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Small_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_ActionBar_Menu:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_ActionBar_Subtitle:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_ActionBar_Title:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_ActionBar_Title_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_ActionMode_Subtitle:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_ActionMode_Title:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_ActionMode_Title_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_Button:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_DropDownHint:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_DropDownItem:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_EditText:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_IconMenu_Item:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_PopupMenu:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_PopupMenu_Large:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_PopupMenu_Small:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_TabWidget:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_TextView:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_TextView_PopupMenu:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_Widget_TextView_SpinnerItem:I
-Lcom/android/internal/R$style;->TextAppearance_Holo_WindowTitle:I
-Lcom/android/internal/R$style;->TextAppearance_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_Large:I
-Lcom/android/internal/R$style;->TextAppearance_Large_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_Material:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Body1:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Body2:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Button:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Caption:I
-Lcom/android/internal/R$style;->TextAppearance_Material_DatePicker_List_YearLabel:I
-Lcom/android/internal/R$style;->TextAppearance_Material_DatePicker_List_YearLabel_Activated:I
-Lcom/android/internal/R$style;->TextAppearance_Material_DialogWindowTitle:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Display1:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Display2:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Display3:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Display4:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Headline:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Large:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Large_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Medium:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Medium_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Menu:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Notification:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Notification_Emphasis:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Notification_Info:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Notification_Line2:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Notification_Time:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Notification_Title:I
-Lcom/android/internal/R$style;->TextAppearance_Material_SearchResult_Subtitle:I
-Lcom/android/internal/R$style;->TextAppearance_Material_SearchResult_Title:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Small:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Small_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Subhead:I
-Lcom/android/internal/R$style;->TextAppearance_Material_TimePicker_TimeLabel:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Title:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_ActionBar_Menu:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_ActionBar_Subtitle:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_ActionBar_Subtitle_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_ActionBar_Title:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_ActionBar_Title_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_ActionMode_Subtitle:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_ActionMode_Subtitle_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_ActionMode_Title:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_ActionMode_Title_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_Button:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_Button_Borderless_Colored:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_Button_Colored:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_Button_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_Calendar_Day:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_Calendar_DayOfWeek:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_Calendar_Month:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_DropDownHint:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_DropDownItem:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_EditText:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_IconMenu_Item:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_PopupMenu:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_PopupMenu_Large:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_PopupMenu_Small:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_TabWidget:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_TextView:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_TextView_PopupMenu:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_TextView_SpinnerItem:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_Toolbar_Subtitle:I
-Lcom/android/internal/R$style;->TextAppearance_Material_Widget_Toolbar_Title:I
-Lcom/android/internal/R$style;->TextAppearance_Material_WindowTitle:I
-Lcom/android/internal/R$style;->TextAppearance_Medium:I
-Lcom/android/internal/R$style;->TextAppearance_Medium_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_SearchResult_Subtitle:I
-Lcom/android/internal/R$style;->TextAppearance_SearchResult_Title:I
-Lcom/android/internal/R$style;->TextAppearance_SlidingTabActive:I
-Lcom/android/internal/R$style;->TextAppearance_SlidingTabNormal:I
-Lcom/android/internal/R$style;->TextAppearance_Small:I
-Lcom/android/internal/R$style;->TextAppearance_Small_Inverse:I
-Lcom/android/internal/R$style;->TextAppearance_StatusBar_EventContent:I
-Lcom/android/internal/R$style;->TextAppearance_StatusBar_EventContent_Title:I
-Lcom/android/internal/R$style;->TextAppearance_StatusBar_Icon:I
-Lcom/android/internal/R$style;->TextAppearance_StatusBar_Title:I
-Lcom/android/internal/R$style;->TextAppearance_SuggestionHighlight:I
-Lcom/android/internal/R$style;->TextAppearance_Theme:I
-Lcom/android/internal/R$style;->TextAppearance_Theme_Dialog:I
-Lcom/android/internal/R$style;->TextAppearance_Widget:I
-Lcom/android/internal/R$style;->TextAppearance_Widget_Button:I
-Lcom/android/internal/R$style;->TextAppearance_Widget_DropDownHint:I
-Lcom/android/internal/R$style;->TextAppearance_Widget_DropDownItem:I
-Lcom/android/internal/R$style;->TextAppearance_Widget_EditText:I
-Lcom/android/internal/R$style;->TextAppearance_Widget_IconMenu_Item:I
-Lcom/android/internal/R$style;->TextAppearance_Widget_PopupMenu_Large:I
-Lcom/android/internal/R$style;->TextAppearance_Widget_PopupMenu_Small:I
-Lcom/android/internal/R$style;->TextAppearance_Widget_TabWidget:I
-Lcom/android/internal/R$style;->TextAppearance_Widget_TextView:I
-Lcom/android/internal/R$style;->TextAppearance_Widget_TextView_PopupMenu:I
-Lcom/android/internal/R$style;->TextAppearance_Widget_TextView_SpinnerItem:I
-Lcom/android/internal/R$style;->TextAppearance_WindowTitle:I
-Lcom/android/internal/R$style;->ThemeOverlay:I
-Lcom/android/internal/R$style;->ThemeOverlay_Material:I
-Lcom/android/internal/R$style;->ThemeOverlay_Material_ActionBar:I
-Lcom/android/internal/R$style;->ThemeOverlay_Material_Dark:I
-Lcom/android/internal/R$style;->ThemeOverlay_Material_Dark_ActionBar:I
-Lcom/android/internal/R$style;->ThemeOverlay_Material_Dialog:I
-Lcom/android/internal/R$style;->ThemeOverlay_Material_Dialog_Alert:I
-Lcom/android/internal/R$style;->ThemeOverlay_Material_Light:I
-Lcom/android/internal/R$style;->Theme_Black:I
-Lcom/android/internal/R$style;->Theme_Black_NoTitleBar:I
-Lcom/android/internal/R$style;->Theme_Black_NoTitleBar_Fullscreen:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Autofill:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Autofill_Save:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Dialog:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_DialogWhenLarge:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_DialogWhenLarge_NoActionBar:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Dialog_Alert:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Dialog_MinWidth:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Dialog_NoActionBar:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Dialog_NoActionBar_MinWidth:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Dialog_NoFrame:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_InputMethod:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Light:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Light_DarkActionBar:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Light_Dialog:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Light_DialogWhenLarge:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Light_Dialog_Alert:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Light_Dialog_MinWidth:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Light_Dialog_NoActionBar:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Light_NoActionBar:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Light_NoActionBar_Fullscreen:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Light_NoActionBar_Overscan:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Light_NoActionBar_TranslucentDecor:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Light_Panel:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_NoActionBar:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_NoActionBar_Fullscreen:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_NoActionBar_Overscan:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_NoActionBar_TranslucentDecor:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Panel:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_QuickSettings:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Resolver:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Settings:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_System:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_VoiceInteractionSession:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Wallpaper:I
-Lcom/android/internal/R$style;->Theme_DeviceDefault_Wallpaper_NoTitleBar:I
-Lcom/android/internal/R$style;->Theme_Dialog:I
-Lcom/android/internal/R$style;->Theme_Dialog_AppError:I
-Lcom/android/internal/R$style;->Theme_Dialog_RecentApplications:I
-Lcom/android/internal/R$style;->Theme_ExpandedMenu:I
-Lcom/android/internal/R$style;->Theme_Holo:I
-Lcom/android/internal/R$style;->Theme_Holo_Dialog:I
-Lcom/android/internal/R$style;->Theme_Holo_DialogWhenLarge:I
-Lcom/android/internal/R$style;->Theme_Holo_DialogWhenLarge_NoActionBar:I
-Lcom/android/internal/R$style;->Theme_Holo_Dialog_Alert:I
-Lcom/android/internal/R$style;->Theme_Holo_Dialog_MinWidth:I
-Lcom/android/internal/R$style;->Theme_Holo_Dialog_NoActionBar:I
-Lcom/android/internal/R$style;->Theme_Holo_Dialog_NoActionBar_MinWidth:I
-Lcom/android/internal/R$style;->Theme_Holo_InputMethod:I
-Lcom/android/internal/R$style;->Theme_Holo_Light_DarkActionBar:I
-Lcom/android/internal/R$style;->Theme_Holo_Light_Dialog:I
-Lcom/android/internal/R$style;->Theme_Holo_Light_DialogWhenLarge:I
-Lcom/android/internal/R$style;->Theme_Holo_Light_DialogWhenLarge_NoActionBar:I
-Lcom/android/internal/R$style;->Theme_Holo_Light_Dialog_Alert:I
-Lcom/android/internal/R$style;->Theme_Holo_Light_Dialog_MinWidth:I
-Lcom/android/internal/R$style;->Theme_Holo_Light_Dialog_NoActionBar:I
-Lcom/android/internal/R$style;->Theme_Holo_Light_Dialog_NoActionBar_MinWidth:I
-Lcom/android/internal/R$style;->Theme_Holo_Light_NoActionBar:I
-Lcom/android/internal/R$style;->Theme_Holo_Light_NoActionBar_Fullscreen:I
-Lcom/android/internal/R$style;->Theme_Holo_Light_NoActionBar_Overscan:I
-Lcom/android/internal/R$style;->Theme_Holo_Light_NoActionBar_TranslucentDecor:I
-Lcom/android/internal/R$style;->Theme_Holo_Light_Panel:I
-Lcom/android/internal/R$style;->Theme_Holo_NoActionBar:I
-Lcom/android/internal/R$style;->Theme_Holo_NoActionBar_Fullscreen:I
-Lcom/android/internal/R$style;->Theme_Holo_NoActionBar_Overscan:I
-Lcom/android/internal/R$style;->Theme_Holo_NoActionBar_TranslucentDecor:I
-Lcom/android/internal/R$style;->Theme_Holo_Panel:I
-Lcom/android/internal/R$style;->Theme_Holo_Wallpaper:I
-Lcom/android/internal/R$style;->Theme_Holo_Wallpaper_NoTitleBar:I
-Lcom/android/internal/R$style;->Theme_IconMenu:I
-Lcom/android/internal/R$style;->Theme_InputMethod:I
-Lcom/android/internal/R$style;->Theme_Leanback_Dialog_Alert:I
-Lcom/android/internal/R$style;->Theme_Leanback_FormWizard:I
-Lcom/android/internal/R$style;->Theme_Light_NoTitleBar:I
-Lcom/android/internal/R$style;->Theme_Light_NoTitleBar_Fullscreen:I
-Lcom/android/internal/R$style;->Theme_Light_Panel:I
-Lcom/android/internal/R$style;->Theme_Light_WallpaperSettings:I
-Lcom/android/internal/R$style;->Theme_Material:I
-Lcom/android/internal/R$style;->Theme_Material_Dialog:I
-Lcom/android/internal/R$style;->Theme_Material_DialogWhenLarge:I
-Lcom/android/internal/R$style;->Theme_Material_DialogWhenLarge_NoActionBar:I
-Lcom/android/internal/R$style;->Theme_Material_Dialog_Alert:I
-Lcom/android/internal/R$style;->Theme_Material_Dialog_MinWidth:I
-Lcom/android/internal/R$style;->Theme_Material_Dialog_NoActionBar:I
-Lcom/android/internal/R$style;->Theme_Material_Dialog_NoActionBar_MinWidth:I
-Lcom/android/internal/R$style;->Theme_Material_Dialog_Presentation:I
-Lcom/android/internal/R$style;->Theme_Material_InputMethod:I
-Lcom/android/internal/R$style;->Theme_Material_Light:I
-Lcom/android/internal/R$style;->Theme_Material_Light_DarkActionBar:I
-Lcom/android/internal/R$style;->Theme_Material_Light_Dialog:I
-Lcom/android/internal/R$style;->Theme_Material_Light_DialogWhenLarge:I
-Lcom/android/internal/R$style;->Theme_Material_Light_DialogWhenLarge_DarkActionBar:I
-Lcom/android/internal/R$style;->Theme_Material_Light_DialogWhenLarge_NoActionBar:I
-Lcom/android/internal/R$style;->Theme_Material_Light_Dialog_Alert:I
-Lcom/android/internal/R$style;->Theme_Material_Light_Dialog_MinWidth:I
-Lcom/android/internal/R$style;->Theme_Material_Light_Dialog_NoActionBar:I
-Lcom/android/internal/R$style;->Theme_Material_Light_Dialog_NoActionBar_MinWidth:I
-Lcom/android/internal/R$style;->Theme_Material_Light_Dialog_Presentation:I
-Lcom/android/internal/R$style;->Theme_Material_Light_LightStatusBar:I
-Lcom/android/internal/R$style;->Theme_Material_Light_NoActionBar:I
-Lcom/android/internal/R$style;->Theme_Material_Light_NoActionBar_Fullscreen:I
-Lcom/android/internal/R$style;->Theme_Material_Light_NoActionBar_Overscan:I
-Lcom/android/internal/R$style;->Theme_Material_Light_NoActionBar_TranslucentDecor:I
-Lcom/android/internal/R$style;->Theme_Material_Light_Panel:I
-Lcom/android/internal/R$style;->Theme_Material_Light_Voice:I
-Lcom/android/internal/R$style;->Theme_Material_NoActionBar:I
-Lcom/android/internal/R$style;->Theme_Material_NoActionBar_Fullscreen:I
-Lcom/android/internal/R$style;->Theme_Material_NoActionBar_Overscan:I
-Lcom/android/internal/R$style;->Theme_Material_NoActionBar_TranslucentDecor:I
-Lcom/android/internal/R$style;->Theme_Material_Panel:I
-Lcom/android/internal/R$style;->Theme_Material_Settings:I
-Lcom/android/internal/R$style;->Theme_Material_Voice:I
-Lcom/android/internal/R$style;->Theme_Material_Wallpaper:I
-Lcom/android/internal/R$style;->Theme_Material_Wallpaper_NoTitleBar:I
-Lcom/android/internal/R$style;->Theme_NoDisplay:I
-Lcom/android/internal/R$style;->Theme_NoTitleBar:I
-Lcom/android/internal/R$style;->Theme_NoTitleBar_Fullscreen:I
-Lcom/android/internal/R$style;->Theme_NoTitleBar_OverlayActionModes:I
-Lcom/android/internal/R$style;->Theme_Panel:I
-Lcom/android/internal/R$style;->Theme_Toast:I
-Lcom/android/internal/R$style;->Theme_Translucent:I
-Lcom/android/internal/R$style;->Theme_Translucent_NoTitleBar:I
-Lcom/android/internal/R$style;->Theme_Translucent_NoTitleBar_Fullscreen:I
-Lcom/android/internal/R$style;->Theme_Wallpaper:I
-Lcom/android/internal/R$style;->Theme_WallpaperSettings:I
-Lcom/android/internal/R$style;->Theme_Wallpaper_NoTitleBar:I
-Lcom/android/internal/R$style;->Theme_Wallpaper_NoTitleBar_Fullscreen:I
-Lcom/android/internal/R$style;->Theme_WithActionBar:I
-Lcom/android/internal/R$style;->Widget:I
-Lcom/android/internal/R$style;->Widget_AbsListView:I
-Lcom/android/internal/R$style;->Widget_ActionBar:I
-Lcom/android/internal/R$style;->Widget_ActionBar_TabBar:I
-Lcom/android/internal/R$style;->Widget_ActionBar_TabText:I
-Lcom/android/internal/R$style;->Widget_ActionBar_TabView:I
-Lcom/android/internal/R$style;->Widget_ActionButton:I
-Lcom/android/internal/R$style;->Widget_ActionButton_CloseMode:I
-Lcom/android/internal/R$style;->Widget_ActionButton_Overflow:I
-Lcom/android/internal/R$style;->Widget_AutoCompleteTextView:I
-Lcom/android/internal/R$style;->Widget_Button:I
-Lcom/android/internal/R$style;->Widget_Button_Inset:I
-Lcom/android/internal/R$style;->Widget_Button_Small:I
-Lcom/android/internal/R$style;->Widget_Button_Toggle:I
-Lcom/android/internal/R$style;->Widget_CalendarView:I
-Lcom/android/internal/R$style;->Widget_CompoundButton:I
-Lcom/android/internal/R$style;->Widget_CompoundButton_CheckBox:I
-Lcom/android/internal/R$style;->Widget_CompoundButton_RadioButton:I
-Lcom/android/internal/R$style;->Widget_CompoundButton_Star:I
-Lcom/android/internal/R$style;->Widget_DatePicker:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ActionBar:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ActionBar_Solid:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ActionBar_TabBar:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ActionBar_TabText:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ActionBar_TabView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ActionButton:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ActionButton_CloseMode:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ActionButton_Overflow:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ActionButton_TextButton:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ActionMode:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_AutoCompleteTextView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Button:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Button_Borderless:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Button_Borderless_Colored:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Button_Borderless_Small:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Button_Colored:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Button_Inset:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Button_Small:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Button_Toggle:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_CalendarView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_CheckedTextView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_CompoundButton_CheckBox:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_CompoundButton_RadioButton:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_CompoundButton_Star:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_DatePicker:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_DropDownItem:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_DropDownItem_Spinner:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_EditText:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ExpandableListView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_FastScroll:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_GridView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_HorizontalScrollView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ImageButton:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ActionBar:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ActionBar_Solid:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ActionBar_Solid_Inverse:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ActionBar_TabBar:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ActionBar_TabText:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ActionBar_TabText_Inverse:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ActionBar_TabView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ActionBar_TabView_Inverse:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ActionButton:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ActionButton_CloseMode:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ActionButton_Overflow:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ActionMode:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ActionMode_Inverse:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_AutoCompleteTextView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_Button:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_Button_Borderless_Small:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_Button_Inset:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_Button_Small:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_Button_Toggle:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_CalendarView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_CheckedTextView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_CompoundButton_CheckBox:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_CompoundButton_RadioButton:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_CompoundButton_Star:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_DropDownItem:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_DropDownItem_Spinner:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_EditText:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ExpandableListView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_FastScroll:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_GridView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_HorizontalScrollView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ImageButton:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ListPopupWindow:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ListView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ListView_DropDown:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_MediaRouteButton:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_PopupMenu:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_PopupWindow:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ProgressBar:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ProgressBar_Horizontal:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ProgressBar_Inverse:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ProgressBar_Large:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ProgressBar_Large_Inverse:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ProgressBar_Small:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ProgressBar_Small_Inverse:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ProgressBar_Small_Title:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_RatingBar:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_RatingBar_Indicator:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_RatingBar_Small:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_ScrollView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_SeekBar:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_Spinner:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_StackView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_Tab:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_TabWidget:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_TextView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_TextView_SpinnerItem:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_WebTextView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Light_WebView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ListPopupWindow:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ListView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ListView_DropDown:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_MediaRouteButton:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_PopupMenu:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_PopupWindow:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ProgressBar:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ProgressBar_Horizontal:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ProgressBar_Large:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ProgressBar_Small:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ProgressBar_Small_Title:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_RatingBar:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_RatingBar_Indicator:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_RatingBar_Small:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_ScrollView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_SeekBar:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Spinner:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_StackView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_Tab:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_TabWidget:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_TextView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_TextView_SpinnerItem:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_WebTextView:I
-Lcom/android/internal/R$style;->Widget_DeviceDefault_WebView:I
-Lcom/android/internal/R$style;->Widget_DropDownItem:I
-Lcom/android/internal/R$style;->Widget_DropDownItem_Spinner:I
-Lcom/android/internal/R$style;->Widget_EditText:I
-Lcom/android/internal/R$style;->Widget_ExpandableListView:I
-Lcom/android/internal/R$style;->Widget_FastScroll:I
-Lcom/android/internal/R$style;->Widget_FragmentBreadCrumbs:I
-Lcom/android/internal/R$style;->Widget_Gallery:I
-Lcom/android/internal/R$style;->Widget_GridView:I
-Lcom/android/internal/R$style;->Widget_Holo:I
-Lcom/android/internal/R$style;->Widget_Holo_ActionBar:I
-Lcom/android/internal/R$style;->Widget_Holo_ActionBar_Solid:I
-Lcom/android/internal/R$style;->Widget_Holo_ActionBar_TabBar:I
-Lcom/android/internal/R$style;->Widget_Holo_ActionBar_TabText:I
-Lcom/android/internal/R$style;->Widget_Holo_ActionBar_TabView:I
-Lcom/android/internal/R$style;->Widget_Holo_ActionButton:I
-Lcom/android/internal/R$style;->Widget_Holo_ActionButton_CloseMode:I
-Lcom/android/internal/R$style;->Widget_Holo_ActionButton_Overflow:I
-Lcom/android/internal/R$style;->Widget_Holo_ActionButton_TextButton:I
-Lcom/android/internal/R$style;->Widget_Holo_ActionMode:I
-Lcom/android/internal/R$style;->Widget_Holo_AutoCompleteTextView:I
-Lcom/android/internal/R$style;->Widget_Holo_Button:I
-Lcom/android/internal/R$style;->Widget_Holo_Button_Borderless:I
-Lcom/android/internal/R$style;->Widget_Holo_Button_Borderless_Small:I
-Lcom/android/internal/R$style;->Widget_Holo_Button_Inset:I
-Lcom/android/internal/R$style;->Widget_Holo_Button_Small:I
-Lcom/android/internal/R$style;->Widget_Holo_Button_Toggle:I
-Lcom/android/internal/R$style;->Widget_Holo_CalendarView:I
-Lcom/android/internal/R$style;->Widget_Holo_CheckedTextView:I
-Lcom/android/internal/R$style;->Widget_Holo_CompoundButton_CheckBox:I
-Lcom/android/internal/R$style;->Widget_Holo_CompoundButton_RadioButton:I
-Lcom/android/internal/R$style;->Widget_Holo_CompoundButton_Star:I
-Lcom/android/internal/R$style;->Widget_Holo_DatePicker:I
-Lcom/android/internal/R$style;->Widget_Holo_DropDownItem:I
-Lcom/android/internal/R$style;->Widget_Holo_DropDownItem_Spinner:I
-Lcom/android/internal/R$style;->Widget_Holo_EditText:I
-Lcom/android/internal/R$style;->Widget_Holo_ExpandableListView:I
-Lcom/android/internal/R$style;->Widget_Holo_GridView:I
-Lcom/android/internal/R$style;->Widget_Holo_HorizontalScrollView:I
-Lcom/android/internal/R$style;->Widget_Holo_ImageButton:I
-Lcom/android/internal/R$style;->Widget_Holo_Light:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ActionBar:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ActionBar_Solid:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ActionBar_Solid_Inverse:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ActionBar_TabBar:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ActionBar_TabBar_Inverse:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ActionBar_TabText:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ActionBar_TabText_Inverse:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ActionBar_TabView:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ActionBar_TabView_Inverse:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ActionButton:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ActionButton_CloseMode:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ActionButton_Overflow:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ActionMode:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ActionMode_Inverse:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_AutoCompleteTextView:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_Button:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_Button_Borderless_Small:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_Button_Inset:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_Button_Small:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_Button_Toggle:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_CalendarView:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_CheckedTextView:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_CompoundButton_CheckBox:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_CompoundButton_RadioButton:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_CompoundButton_Star:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_DropDownItem:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_DropDownItem_Spinner:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_EditText:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ExpandableListView:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_GridView:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_HorizontalScrollView:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ImageButton:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ListPopupWindow:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ListView:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ListView_DropDown:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_MediaRouteButton:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_PopupMenu:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_PopupWindow:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ProgressBar:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ProgressBar_Horizontal:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ProgressBar_Inverse:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ProgressBar_Large:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ProgressBar_Large_Inverse:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ProgressBar_Small:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ProgressBar_Small_Inverse:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ProgressBar_Small_Title:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_RatingBar:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_RatingBar_Indicator:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_RatingBar_Small:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_ScrollView:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_SeekBar:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_Spinner:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_Tab:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_TabWidget:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_TextView:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_TextView_SpinnerItem:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_WebTextView:I
-Lcom/android/internal/R$style;->Widget_Holo_Light_WebView:I
-Lcom/android/internal/R$style;->Widget_Holo_ListPopupWindow:I
-Lcom/android/internal/R$style;->Widget_Holo_ListView:I
-Lcom/android/internal/R$style;->Widget_Holo_ListView_DropDown:I
-Lcom/android/internal/R$style;->Widget_Holo_MediaRouteButton:I
-Lcom/android/internal/R$style;->Widget_Holo_PopupMenu:I
-Lcom/android/internal/R$style;->Widget_Holo_PopupWindow:I
-Lcom/android/internal/R$style;->Widget_Holo_ProgressBar:I
-Lcom/android/internal/R$style;->Widget_Holo_ProgressBar_Horizontal:I
-Lcom/android/internal/R$style;->Widget_Holo_ProgressBar_Large:I
-Lcom/android/internal/R$style;->Widget_Holo_ProgressBar_Small:I
-Lcom/android/internal/R$style;->Widget_Holo_ProgressBar_Small_Title:I
-Lcom/android/internal/R$style;->Widget_Holo_RatingBar:I
-Lcom/android/internal/R$style;->Widget_Holo_RatingBar_Indicator:I
-Lcom/android/internal/R$style;->Widget_Holo_RatingBar_Small:I
-Lcom/android/internal/R$style;->Widget_Holo_ScrollView:I
-Lcom/android/internal/R$style;->Widget_Holo_SeekBar:I
-Lcom/android/internal/R$style;->Widget_Holo_Spinner:I
-Lcom/android/internal/R$style;->Widget_Holo_Tab:I
-Lcom/android/internal/R$style;->Widget_Holo_TabWidget:I
-Lcom/android/internal/R$style;->Widget_Holo_TextView:I
-Lcom/android/internal/R$style;->Widget_Holo_TextView_SpinnerItem:I
-Lcom/android/internal/R$style;->Widget_Holo_WebTextView:I
-Lcom/android/internal/R$style;->Widget_Holo_WebView:I
-Lcom/android/internal/R$style;->Widget_ImageButton:I
-Lcom/android/internal/R$style;->Widget_ImageWell:I
-Lcom/android/internal/R$style;->Widget_KeyboardView:I
-Lcom/android/internal/R$style;->Widget_ListPopupWindow:I
-Lcom/android/internal/R$style;->Widget_ListView:I
-Lcom/android/internal/R$style;->Widget_ListView_DropDown:I
-Lcom/android/internal/R$style;->Widget_ListView_Menu:I
-Lcom/android/internal/R$style;->Widget_ListView_White:I
-Lcom/android/internal/R$style;->Widget_LockPatternView:I
-Lcom/android/internal/R$style;->Widget_Material:I
-Lcom/android/internal/R$style;->Widget_Material_ActionBar:I
-Lcom/android/internal/R$style;->Widget_Material_ActionBar_Solid:I
-Lcom/android/internal/R$style;->Widget_Material_ActionBar_TabBar:I
-Lcom/android/internal/R$style;->Widget_Material_ActionBar_TabText:I
-Lcom/android/internal/R$style;->Widget_Material_ActionBar_TabView:I
-Lcom/android/internal/R$style;->Widget_Material_ActionButton:I
-Lcom/android/internal/R$style;->Widget_Material_ActionButton_CloseMode:I
-Lcom/android/internal/R$style;->Widget_Material_ActionButton_Overflow:I
-Lcom/android/internal/R$style;->Widget_Material_ActionMode:I
-Lcom/android/internal/R$style;->Widget_Material_AutoCompleteTextView:I
-Lcom/android/internal/R$style;->Widget_Material_Button:I
-Lcom/android/internal/R$style;->Widget_Material_ButtonBar:I
-Lcom/android/internal/R$style;->Widget_Material_ButtonBar_AlertDialog:I
-Lcom/android/internal/R$style;->Widget_Material_Button_Borderless:I
-Lcom/android/internal/R$style;->Widget_Material_Button_Borderless_Colored:I
-Lcom/android/internal/R$style;->Widget_Material_Button_Borderless_Small:I
-Lcom/android/internal/R$style;->Widget_Material_Button_Colored:I
-Lcom/android/internal/R$style;->Widget_Material_Button_Inset:I
-Lcom/android/internal/R$style;->Widget_Material_Button_Small:I
-Lcom/android/internal/R$style;->Widget_Material_Button_Toggle:I
-Lcom/android/internal/R$style;->Widget_Material_CalendarView:I
-Lcom/android/internal/R$style;->Widget_Material_CheckedTextView:I
-Lcom/android/internal/R$style;->Widget_Material_CompoundButton_CheckBox:I
-Lcom/android/internal/R$style;->Widget_Material_CompoundButton_RadioButton:I
-Lcom/android/internal/R$style;->Widget_Material_CompoundButton_Star:I
-Lcom/android/internal/R$style;->Widget_Material_CompoundButton_Switch:I
-Lcom/android/internal/R$style;->Widget_Material_DatePicker:I
-Lcom/android/internal/R$style;->Widget_Material_DropDownItem:I
-Lcom/android/internal/R$style;->Widget_Material_DropDownItem_Spinner:I
-Lcom/android/internal/R$style;->Widget_Material_EditText:I
-Lcom/android/internal/R$style;->Widget_Material_ExpandableListView:I
-Lcom/android/internal/R$style;->Widget_Material_FastScroll:I
-Lcom/android/internal/R$style;->Widget_Material_GridView:I
-Lcom/android/internal/R$style;->Widget_Material_HorizontalScrollView:I
-Lcom/android/internal/R$style;->Widget_Material_ImageButton:I
-Lcom/android/internal/R$style;->Widget_Material_Light:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ActionBar:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ActionBar_Solid:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ActionBar_TabBar:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ActionBar_TabText:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ActionBar_TabView:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ActionButton:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ActionButton_CloseMode:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ActionButton_Overflow:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ActionMode:I
-Lcom/android/internal/R$style;->Widget_Material_Light_AutoCompleteTextView:I
-Lcom/android/internal/R$style;->Widget_Material_Light_Button:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ButtonBar:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ButtonBar_AlertDialog:I
-Lcom/android/internal/R$style;->Widget_Material_Light_Button_Borderless:I
-Lcom/android/internal/R$style;->Widget_Material_Light_Button_Borderless_Colored:I
-Lcom/android/internal/R$style;->Widget_Material_Light_Button_Borderless_Small:I
-Lcom/android/internal/R$style;->Widget_Material_Light_Button_Inset:I
-Lcom/android/internal/R$style;->Widget_Material_Light_Button_Small:I
-Lcom/android/internal/R$style;->Widget_Material_Light_Button_Toggle:I
-Lcom/android/internal/R$style;->Widget_Material_Light_CalendarView:I
-Lcom/android/internal/R$style;->Widget_Material_Light_CheckedTextView:I
-Lcom/android/internal/R$style;->Widget_Material_Light_CompoundButton_CheckBox:I
-Lcom/android/internal/R$style;->Widget_Material_Light_CompoundButton_RadioButton:I
-Lcom/android/internal/R$style;->Widget_Material_Light_CompoundButton_Star:I
-Lcom/android/internal/R$style;->Widget_Material_Light_CompoundButton_Switch:I
-Lcom/android/internal/R$style;->Widget_Material_Light_DatePicker:I
-Lcom/android/internal/R$style;->Widget_Material_Light_DropDownItem:I
-Lcom/android/internal/R$style;->Widget_Material_Light_DropDownItem_Spinner:I
-Lcom/android/internal/R$style;->Widget_Material_Light_EditText:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ExpandableListView:I
-Lcom/android/internal/R$style;->Widget_Material_Light_FastScroll:I
-Lcom/android/internal/R$style;->Widget_Material_Light_GridView:I
-Lcom/android/internal/R$style;->Widget_Material_Light_HorizontalScrollView:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ImageButton:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ListPopupWindow:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ListView:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ListView_DropDown:I
-Lcom/android/internal/R$style;->Widget_Material_Light_MediaRouteButton:I
-Lcom/android/internal/R$style;->Widget_Material_Light_NumberPicker:I
-Lcom/android/internal/R$style;->Widget_Material_Light_PopupMenu:I
-Lcom/android/internal/R$style;->Widget_Material_Light_PopupMenu_Overflow:I
-Lcom/android/internal/R$style;->Widget_Material_Light_PopupWindow:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ProgressBar:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ProgressBar_Horizontal:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ProgressBar_Inverse:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ProgressBar_Large:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ProgressBar_Large_Inverse:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ProgressBar_Small:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ProgressBar_Small_Inverse:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ProgressBar_Small_Title:I
-Lcom/android/internal/R$style;->Widget_Material_Light_RatingBar:I
-Lcom/android/internal/R$style;->Widget_Material_Light_RatingBar_Indicator:I
-Lcom/android/internal/R$style;->Widget_Material_Light_RatingBar_Small:I
-Lcom/android/internal/R$style;->Widget_Material_Light_ScrollView:I
-Lcom/android/internal/R$style;->Widget_Material_Light_SearchView:I
-Lcom/android/internal/R$style;->Widget_Material_Light_SeekBar:I
-Lcom/android/internal/R$style;->Widget_Material_Light_SegmentedButton:I
-Lcom/android/internal/R$style;->Widget_Material_Light_Spinner:I
-Lcom/android/internal/R$style;->Widget_Material_Light_Spinner_Underlined:I
-Lcom/android/internal/R$style;->Widget_Material_Light_StackView:I
-Lcom/android/internal/R$style;->Widget_Material_Light_Tab:I
-Lcom/android/internal/R$style;->Widget_Material_Light_TabWidget:I
-Lcom/android/internal/R$style;->Widget_Material_Light_TextView:I
-Lcom/android/internal/R$style;->Widget_Material_Light_TextView_SpinnerItem:I
-Lcom/android/internal/R$style;->Widget_Material_Light_TimePicker:I
-Lcom/android/internal/R$style;->Widget_Material_Light_WebTextView:I
-Lcom/android/internal/R$style;->Widget_Material_Light_WebView:I
-Lcom/android/internal/R$style;->Widget_Material_ListPopupWindow:I
-Lcom/android/internal/R$style;->Widget_Material_ListView:I
-Lcom/android/internal/R$style;->Widget_Material_ListView_DropDown:I
-Lcom/android/internal/R$style;->Widget_Material_MediaRouteButton:I
-Lcom/android/internal/R$style;->Widget_Material_NumberPicker:I
-Lcom/android/internal/R$style;->Widget_Material_PopupMenu:I
-Lcom/android/internal/R$style;->Widget_Material_PopupMenu_Overflow:I
-Lcom/android/internal/R$style;->Widget_Material_PopupWindow:I
-Lcom/android/internal/R$style;->Widget_Material_ProgressBar:I
-Lcom/android/internal/R$style;->Widget_Material_ProgressBar_Horizontal:I
-Lcom/android/internal/R$style;->Widget_Material_ProgressBar_Large:I
-Lcom/android/internal/R$style;->Widget_Material_ProgressBar_Small:I
-Lcom/android/internal/R$style;->Widget_Material_ProgressBar_Small_Title:I
-Lcom/android/internal/R$style;->Widget_Material_RatingBar:I
-Lcom/android/internal/R$style;->Widget_Material_RatingBar_Indicator:I
-Lcom/android/internal/R$style;->Widget_Material_RatingBar_Small:I
-Lcom/android/internal/R$style;->Widget_Material_ScrollView:I
-Lcom/android/internal/R$style;->Widget_Material_SearchView:I
-Lcom/android/internal/R$style;->Widget_Material_SeekBar:I
-Lcom/android/internal/R$style;->Widget_Material_SeekBar_Discrete:I
-Lcom/android/internal/R$style;->Widget_Material_SegmentedButton:I
-Lcom/android/internal/R$style;->Widget_Material_Spinner:I
-Lcom/android/internal/R$style;->Widget_Material_Spinner_Underlined:I
-Lcom/android/internal/R$style;->Widget_Material_StackView:I
-Lcom/android/internal/R$style;->Widget_Material_Tab:I
-Lcom/android/internal/R$style;->Widget_Material_TabWidget:I
-Lcom/android/internal/R$style;->Widget_Material_TextView:I
-Lcom/android/internal/R$style;->Widget_Material_TextView_SpinnerItem:I
-Lcom/android/internal/R$style;->Widget_Material_TimePicker:I
-Lcom/android/internal/R$style;->Widget_Material_Toolbar:I
-Lcom/android/internal/R$style;->Widget_Material_Toolbar_Button_Navigation:I
-Lcom/android/internal/R$style;->Widget_Material_WebTextView:I
-Lcom/android/internal/R$style;->Widget_Material_WebView:I
-Lcom/android/internal/R$style;->Widget_PopupMenu:I
-Lcom/android/internal/R$style;->Widget_PopupWindow:I
-Lcom/android/internal/R$style;->Widget_ProgressBar:I
-Lcom/android/internal/R$style;->Widget_ProgressBar_Horizontal:I
-Lcom/android/internal/R$style;->Widget_ProgressBar_Inverse:I
-Lcom/android/internal/R$style;->Widget_ProgressBar_Large:I
-Lcom/android/internal/R$style;->Widget_ProgressBar_Large_Inverse:I
-Lcom/android/internal/R$style;->Widget_ProgressBar_Small:I
-Lcom/android/internal/R$style;->Widget_ProgressBar_Small_Inverse:I
-Lcom/android/internal/R$style;->Widget_RatingBar:I
-Lcom/android/internal/R$style;->Widget_ScrollView:I
-Lcom/android/internal/R$style;->Widget_SeekBar:I
-Lcom/android/internal/R$style;->Widget_Spinner:I
-Lcom/android/internal/R$style;->Widget_Spinner_DropDown:I
-Lcom/android/internal/R$style;->Widget_StackView:I
-Lcom/android/internal/R$style;->Widget_TabWidget:I
-Lcom/android/internal/R$style;->Widget_TextView:I
-Lcom/android/internal/R$style;->Widget_TextView_PopupMenu:I
-Lcom/android/internal/R$style;->Widget_TextView_SpinnerItem:I
-Lcom/android/internal/R$style;->Widget_Toolbar:I
-Lcom/android/internal/R$style;->Widget_Toolbar_Button_Navigation:I
-Lcom/android/internal/R$style;->Widget_WebView:I
-Lcom/android/internal/R$styleable;
-Lcom/android/internal/R$styleable;->AbsListView_fastScrollStyle:I
-Lcom/android/internal/R$styleable;->AbsoluteLayout_Layout:[I
-Lcom/android/internal/R$styleable;->AbsoluteLayout_Layout_layout_x:I
-Lcom/android/internal/R$styleable;->AbsoluteLayout_Layout_layout_y:I
-Lcom/android/internal/R$styleable;->AbsSpinner_entries:I
-Lcom/android/internal/R$styleable;->AccelerateInterpolator:[I
-Lcom/android/internal/R$styleable;->AccelerateInterpolator_factor:I
-Lcom/android/internal/R$styleable;->AccessibilityService:[I
-Lcom/android/internal/R$styleable;->AccessibilityService_accessibilityEventTypes:I
-Lcom/android/internal/R$styleable;->AccessibilityService_accessibilityFeedbackType:I
-Lcom/android/internal/R$styleable;->AccessibilityService_accessibilityFlags:I
-Lcom/android/internal/R$styleable;->AccessibilityService_canControlMagnification:I
-Lcom/android/internal/R$styleable;->AccessibilityService_canPerformGestures:I
-Lcom/android/internal/R$styleable;->AccessibilityService_canRequestEnhancedWebAccessibility:I
-Lcom/android/internal/R$styleable;->AccessibilityService_canRequestFilterKeyEvents:I
-Lcom/android/internal/R$styleable;->AccessibilityService_canRequestFingerprintGestures:I
-Lcom/android/internal/R$styleable;->AccessibilityService_canRequestTouchExplorationMode:I
-Lcom/android/internal/R$styleable;->AccessibilityService_canRetrieveWindowContent:I
-Lcom/android/internal/R$styleable;->AccessibilityService_description:I
-Lcom/android/internal/R$styleable;->AccessibilityService_notificationTimeout:I
-Lcom/android/internal/R$styleable;->AccessibilityService_packageNames:I
-Lcom/android/internal/R$styleable;->AccessibilityService_settingsActivity:I
-Lcom/android/internal/R$styleable;->AccessibilityService_summary:I
-Lcom/android/internal/R$styleable;->ActionBar:[I
-Lcom/android/internal/R$styleable;->ActionBar_background:I
-Lcom/android/internal/R$styleable;->ActionBar_backgroundSplit:I
-Lcom/android/internal/R$styleable;->ActionBar_backgroundStacked:I
-Lcom/android/internal/R$styleable;->ActionBar_contentInsetEnd:I
-Lcom/android/internal/R$styleable;->ActionBar_contentInsetEndWithActions:I
-Lcom/android/internal/R$styleable;->ActionBar_contentInsetLeft:I
-Lcom/android/internal/R$styleable;->ActionBar_contentInsetRight:I
-Lcom/android/internal/R$styleable;->ActionBar_contentInsetStart:I
-Lcom/android/internal/R$styleable;->ActionBar_contentInsetStartWithNavigation:I
-Lcom/android/internal/R$styleable;->ActionBar_customNavigationLayout:I
-Lcom/android/internal/R$styleable;->ActionBar_displayOptions:I
-Lcom/android/internal/R$styleable;->ActionBar_divider:I
-Lcom/android/internal/R$styleable;->ActionBar_elevation:I
-Lcom/android/internal/R$styleable;->ActionBar_height:I
-Lcom/android/internal/R$styleable;->ActionBar_hideOnContentScroll:I
-Lcom/android/internal/R$styleable;->ActionBar_homeAsUpIndicator:I
-Lcom/android/internal/R$styleable;->ActionBar_homeLayout:I
-Lcom/android/internal/R$styleable;->ActionBar_icon:I
-Lcom/android/internal/R$styleable;->ActionBar_indeterminateProgressStyle:I
-Lcom/android/internal/R$styleable;->ActionBar_itemPadding:I
-Lcom/android/internal/R$styleable;->ActionBar_LayoutParams:[I
-Lcom/android/internal/R$styleable;->ActionBar_LayoutParams_layout_gravity:I
-Lcom/android/internal/R$styleable;->ActionBar_logo:I
-Lcom/android/internal/R$styleable;->ActionBar_navigationMode:I
-Lcom/android/internal/R$styleable;->ActionBar_popupTheme:I
-Lcom/android/internal/R$styleable;->ActionBar_progressBarPadding:I
-Lcom/android/internal/R$styleable;->ActionBar_progressBarStyle:I
-Lcom/android/internal/R$styleable;->ActionBar_subtitle:I
-Lcom/android/internal/R$styleable;->ActionBar_subtitleTextStyle:I
-Lcom/android/internal/R$styleable;->ActionBar_title:I
-Lcom/android/internal/R$styleable;->ActionBar_titleTextStyle:I
-Lcom/android/internal/R$styleable;->ActionMenuItemView:[I
-Lcom/android/internal/R$styleable;->ActionMenuItemView_minWidth:I
-Lcom/android/internal/R$styleable;->ActionMode_background:I
-Lcom/android/internal/R$styleable;->ActionMode_backgroundSplit:I
-Lcom/android/internal/R$styleable;->ActionMode_closeItemLayout:I
-Lcom/android/internal/R$styleable;->ActionMode_height:I
-Lcom/android/internal/R$styleable;->ActionMode_subtitleTextStyle:I
-Lcom/android/internal/R$styleable;->ActionMode_titleTextStyle:I
-Lcom/android/internal/R$styleable;->ActivityChooserView:[I
-Lcom/android/internal/R$styleable;->ActivityChooserView_expandActivityOverflowButtonDrawable:I
-Lcom/android/internal/R$styleable;->ActivityChooserView_initialActivityCount:I
-Lcom/android/internal/R$styleable;->ActivityTaskDescription:[I
-Lcom/android/internal/R$styleable;->ActivityTaskDescription_colorBackground:I
-Lcom/android/internal/R$styleable;->ActivityTaskDescription_colorPrimary:I
-Lcom/android/internal/R$styleable;->ActivityTaskDescription_navigationBarColor:I
-Lcom/android/internal/R$styleable;->ActivityTaskDescription_statusBarColor:I
-Lcom/android/internal/R$styleable;->AdapterViewAnimator_animateFirstView:I
-Lcom/android/internal/R$styleable;->AdapterViewAnimator_inAnimation:I
-Lcom/android/internal/R$styleable;->AdapterViewAnimator_loopViews:I
-Lcom/android/internal/R$styleable;->AdapterViewAnimator_outAnimation:I
-Lcom/android/internal/R$styleable;->AdapterViewFlipper_autoStart:I
-Lcom/android/internal/R$styleable;->AdapterViewFlipper_flipInterval:I
-Lcom/android/internal/R$styleable;->AdaptiveIconDrawableLayer:[I
-Lcom/android/internal/R$styleable;->AdaptiveIconDrawableLayer_drawable:I
-Lcom/android/internal/R$styleable;->AidFilter:[I
-Lcom/android/internal/R$styleable;->AidFilter_name:I
-Lcom/android/internal/R$styleable;->AidGroup:[I
-Lcom/android/internal/R$styleable;->AidGroup_category:I
-Lcom/android/internal/R$styleable;->AidGroup_description:I
-Lcom/android/internal/R$styleable;->AidPrefixFilter:[I
-Lcom/android/internal/R$styleable;->AidPrefixFilter_name:I
-Lcom/android/internal/R$styleable;->AlertDialog_bottomBright:I
-Lcom/android/internal/R$styleable;->AlertDialog_bottomDark:I
-Lcom/android/internal/R$styleable;->AlertDialog_bottomMedium:I
-Lcom/android/internal/R$styleable;->AlertDialog_buttonPanelSideLayout:I
-Lcom/android/internal/R$styleable;->AlertDialog_centerBright:I
-Lcom/android/internal/R$styleable;->AlertDialog_centerDark:I
-Lcom/android/internal/R$styleable;->AlertDialog_centerMedium:I
-Lcom/android/internal/R$styleable;->AlertDialog_controllerType:I
-Lcom/android/internal/R$styleable;->AlertDialog_fullBright:I
-Lcom/android/internal/R$styleable;->AlertDialog_fullDark:I
-Lcom/android/internal/R$styleable;->AlertDialog_horizontalProgressLayout:I
-Lcom/android/internal/R$styleable;->AlertDialog_layout:I
-Lcom/android/internal/R$styleable;->AlertDialog_listItemLayout:I
-Lcom/android/internal/R$styleable;->AlertDialog_listLayout:I
-Lcom/android/internal/R$styleable;->AlertDialog_multiChoiceItemLayout:I
-Lcom/android/internal/R$styleable;->AlertDialog_needsDefaultBackgrounds:I
-Lcom/android/internal/R$styleable;->AlertDialog_progressLayout:I
-Lcom/android/internal/R$styleable;->AlertDialog_selectionScrollOffset:I
-Lcom/android/internal/R$styleable;->AlertDialog_showTitle:I
-Lcom/android/internal/R$styleable;->AlertDialog_singleChoiceItemLayout:I
-Lcom/android/internal/R$styleable;->AlertDialog_topBright:I
-Lcom/android/internal/R$styleable;->AlertDialog_topDark:I
-Lcom/android/internal/R$styleable;->AlphaAnimation:[I
-Lcom/android/internal/R$styleable;->AlphaAnimation_fromAlpha:I
-Lcom/android/internal/R$styleable;->AlphaAnimation_toAlpha:I
-Lcom/android/internal/R$styleable;->AnalogClock_dial:I
-Lcom/android/internal/R$styleable;->AnalogClock_hand_hour:I
-Lcom/android/internal/R$styleable;->AnalogClock_hand_minute:I
-Lcom/android/internal/R$styleable;->AndroidManifestAction:[I
-Lcom/android/internal/R$styleable;->AndroidManifestAction_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivityAlias_banner:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivityAlias_description:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivityAlias_enabled:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivityAlias_exported:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivityAlias_icon:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivityAlias_label:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivityAlias_logo:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivityAlias_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivityAlias_parentActivityName:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivityAlias_permission:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivityAlias_roundIcon:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivityAlias_targetActivity:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_allowEmbedded:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_alwaysFocusable:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_alwaysRetainTaskState:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_autoRemoveFromRecents:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_banner:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_clearTaskOnLaunch:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_colorMode:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_directBootAware:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_documentLaunchMode:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_enableVrMode:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_finishOnCloseSystemDialogs:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_finishOnTaskLaunch:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_lockTaskMode:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_maxAspectRatio:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_maxRecents:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_multiprocess:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_parentActivityName:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_persistableMode:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_recreateOnConfigChanges:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_relinquishTaskIdentity:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_resizeableActivity:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_resumeWhilePausing:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_rotationAnimation:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_roundIcon:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_showForAllUsers:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_showOnLockScreen:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_showWhenLocked:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_singleUser:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_splitName:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_stateNotNeeded:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_supportsPictureInPicture:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_systemUserOnly:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_turnScreenOn:I
-Lcom/android/internal/R$styleable;->AndroidManifestActivity_visibleToInstantApps:I
-Lcom/android/internal/R$styleable;->AndroidManifestAdditionalCertificate:[I
-Lcom/android/internal/R$styleable;->AndroidManifestAdditionalCertificate_certDigest:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_allowBackup:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_allowClearUserData:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_allowTaskReparenting:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_appCategory:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_appComponentFactory:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_backupAgent:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_backupInForeground:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_banner:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_cantSaveState:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_classLoader:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_debuggable:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_defaultToDeviceProtectedStorage:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_description:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_directBootAware:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_extractNativeLibs:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_fullBackupContent:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_fullBackupOnly:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_hasCode:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_icon:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_isGame:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_killAfterRestore:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_logo:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_manageSpaceActivity:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_maxAspectRatio:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_multiArch:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_networkSecurityConfig:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_persistent:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_persistentWhenFeatureAvailable:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_requiredAccountType:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_requiredForAllUsers:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_resizeableActivity:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_restoreAnyVersion:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_restoreNeedsApplication:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_restrictedAccountType:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_roundIcon:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_taskAffinity:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_testOnly:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_usesCleartextTraffic:I
-Lcom/android/internal/R$styleable;->AndroidManifestApplication_vmSafeMode:I
-Lcom/android/internal/R$styleable;->AndroidManifestCategory:[I
-Lcom/android/internal/R$styleable;->AndroidManifestCategory_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestCompatibleScreensScreen:[I
-Lcom/android/internal/R$styleable;->AndroidManifestCompatibleScreensScreen_screenDensity:I
-Lcom/android/internal/R$styleable;->AndroidManifestCompatibleScreensScreen_screenSize:I
-Lcom/android/internal/R$styleable;->AndroidManifestData_host:I
-Lcom/android/internal/R$styleable;->AndroidManifestData_mimeType:I
-Lcom/android/internal/R$styleable;->AndroidManifestData_path:I
-Lcom/android/internal/R$styleable;->AndroidManifestData_pathAdvancedPattern:I
-Lcom/android/internal/R$styleable;->AndroidManifestData_pathPattern:I
-Lcom/android/internal/R$styleable;->AndroidManifestData_pathPrefix:I
-Lcom/android/internal/R$styleable;->AndroidManifestData_port:I
-Lcom/android/internal/R$styleable;->AndroidManifestData_scheme:I
-Lcom/android/internal/R$styleable;->AndroidManifestData_ssp:I
-Lcom/android/internal/R$styleable;->AndroidManifestData_sspPattern:I
-Lcom/android/internal/R$styleable;->AndroidManifestData_sspPrefix:I
-Lcom/android/internal/R$styleable;->AndroidManifestFeatureGroup:[I
-Lcom/android/internal/R$styleable;->AndroidManifestFeatureGroup_label:I
-Lcom/android/internal/R$styleable;->AndroidManifestGrantUriPermission_path:I
-Lcom/android/internal/R$styleable;->AndroidManifestGrantUriPermission_pathPattern:I
-Lcom/android/internal/R$styleable;->AndroidManifestGrantUriPermission_pathPrefix:I
-Lcom/android/internal/R$styleable;->AndroidManifestInstrumentation_banner:I
-Lcom/android/internal/R$styleable;->AndroidManifestInstrumentation_functionalTest:I
-Lcom/android/internal/R$styleable;->AndroidManifestInstrumentation_handleProfiling:I
-Lcom/android/internal/R$styleable;->AndroidManifestInstrumentation_icon:I
-Lcom/android/internal/R$styleable;->AndroidManifestInstrumentation_label:I
-Lcom/android/internal/R$styleable;->AndroidManifestInstrumentation_logo:I
-Lcom/android/internal/R$styleable;->AndroidManifestInstrumentation_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestInstrumentation_roundIcon:I
-Lcom/android/internal/R$styleable;->AndroidManifestInstrumentation_targetPackage:I
-Lcom/android/internal/R$styleable;->AndroidManifestInstrumentation_targetProcesses:I
-Lcom/android/internal/R$styleable;->AndroidManifestIntentFilter_autoVerify:I
-Lcom/android/internal/R$styleable;->AndroidManifestIntentFilter_banner:I
-Lcom/android/internal/R$styleable;->AndroidManifestIntentFilter_icon:I
-Lcom/android/internal/R$styleable;->AndroidManifestIntentFilter_label:I
-Lcom/android/internal/R$styleable;->AndroidManifestIntentFilter_logo:I
-Lcom/android/internal/R$styleable;->AndroidManifestIntentFilter_order:I
-Lcom/android/internal/R$styleable;->AndroidManifestIntentFilter_roundIcon:I
-Lcom/android/internal/R$styleable;->AndroidManifestKeySet:[I
-Lcom/android/internal/R$styleable;->AndroidManifestKeySet_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestLayout:[I
-Lcom/android/internal/R$styleable;->AndroidManifestLayout_defaultHeight:I
-Lcom/android/internal/R$styleable;->AndroidManifestLayout_defaultWidth:I
-Lcom/android/internal/R$styleable;->AndroidManifestLayout_gravity:I
-Lcom/android/internal/R$styleable;->AndroidManifestLayout_minHeight:I
-Lcom/android/internal/R$styleable;->AndroidManifestLayout_minWidth:I
-Lcom/android/internal/R$styleable;->AndroidManifestLibrary:[I
-Lcom/android/internal/R$styleable;->AndroidManifestLibrary_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestOriginalPackage_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestPackageVerifier_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestPackageVerifier_publicKey:I
-Lcom/android/internal/R$styleable;->AndroidManifestPathPermission_path:I
-Lcom/android/internal/R$styleable;->AndroidManifestPathPermission_pathAdvancedPattern:I
-Lcom/android/internal/R$styleable;->AndroidManifestPathPermission_pathPattern:I
-Lcom/android/internal/R$styleable;->AndroidManifestPathPermission_pathPrefix:I
-Lcom/android/internal/R$styleable;->AndroidManifestPathPermission_permission:I
-Lcom/android/internal/R$styleable;->AndroidManifestPathPermission_readPermission:I
-Lcom/android/internal/R$styleable;->AndroidManifestPathPermission_writePermission:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermissionGroup_banner:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermissionGroup_description:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermissionGroup_icon:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermissionGroup_label:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermissionGroup_logo:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermissionGroup_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermissionGroup_permissionGroupFlags:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermissionGroup_priority:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermissionGroup_request:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermissionGroup_roundIcon:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermissionTree_banner:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermissionTree_icon:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermissionTree_label:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermissionTree_logo:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermissionTree_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermissionTree_roundIcon:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermission_banner:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermission_description:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermission_icon:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermission_label:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermission_logo:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermission_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermission_permissionFlags:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermission_permissionGroup:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermission_protectionLevel:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermission_request:I
-Lcom/android/internal/R$styleable;->AndroidManifestPermission_roundIcon:I
-Lcom/android/internal/R$styleable;->AndroidManifestProtectedBroadcast_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_authorities:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_banner:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_description:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_directBootAware:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_enabled:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_exported:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_grantUriPermissions:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_icon:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_initOrder:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_label:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_logo:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_multiprocess:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_permission:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_process:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_readPermission:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_roundIcon:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_singleUser:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_splitName:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_syncable:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_visibleToInstantApps:I
-Lcom/android/internal/R$styleable;->AndroidManifestProvider_writePermission:I
-Lcom/android/internal/R$styleable;->AndroidManifestPublicKey:[I
-Lcom/android/internal/R$styleable;->AndroidManifestPublicKey_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestPublicKey_value:I
-Lcom/android/internal/R$styleable;->AndroidManifestReceiver:[I
-Lcom/android/internal/R$styleable;->AndroidManifestReceiver_banner:I
-Lcom/android/internal/R$styleable;->AndroidManifestReceiver_description:I
-Lcom/android/internal/R$styleable;->AndroidManifestReceiver_directBootAware:I
-Lcom/android/internal/R$styleable;->AndroidManifestReceiver_enabled:I
-Lcom/android/internal/R$styleable;->AndroidManifestReceiver_exported:I
-Lcom/android/internal/R$styleable;->AndroidManifestReceiver_icon:I
-Lcom/android/internal/R$styleable;->AndroidManifestReceiver_label:I
-Lcom/android/internal/R$styleable;->AndroidManifestReceiver_logo:I
-Lcom/android/internal/R$styleable;->AndroidManifestReceiver_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestReceiver_permission:I
-Lcom/android/internal/R$styleable;->AndroidManifestReceiver_process:I
-Lcom/android/internal/R$styleable;->AndroidManifestReceiver_roundIcon:I
-Lcom/android/internal/R$styleable;->AndroidManifestReceiver_singleUser:I
-Lcom/android/internal/R$styleable;->AndroidManifestResourceOverlay:[I
-Lcom/android/internal/R$styleable;->AndroidManifestResourceOverlay_category:I
-Lcom/android/internal/R$styleable;->AndroidManifestResourceOverlay_isStatic:I
-Lcom/android/internal/R$styleable;->AndroidManifestResourceOverlay_priority:I
-Lcom/android/internal/R$styleable;->AndroidManifestResourceOverlay_requiredSystemPropertyName:I
-Lcom/android/internal/R$styleable;->AndroidManifestResourceOverlay_requiredSystemPropertyValue:I
-Lcom/android/internal/R$styleable;->AndroidManifestResourceOverlay_targetPackage:I
-Lcom/android/internal/R$styleable;->AndroidManifestRestrictUpdate:[I
-Lcom/android/internal/R$styleable;->AndroidManifestRestrictUpdate_hash:I
-Lcom/android/internal/R$styleable;->AndroidManifestService_banner:I
-Lcom/android/internal/R$styleable;->AndroidManifestService_description:I
-Lcom/android/internal/R$styleable;->AndroidManifestService_directBootAware:I
-Lcom/android/internal/R$styleable;->AndroidManifestService_externalService:I
-Lcom/android/internal/R$styleable;->AndroidManifestService_icon:I
-Lcom/android/internal/R$styleable;->AndroidManifestService_isolatedProcess:I
-Lcom/android/internal/R$styleable;->AndroidManifestService_label:I
-Lcom/android/internal/R$styleable;->AndroidManifestService_logo:I
-Lcom/android/internal/R$styleable;->AndroidManifestService_roundIcon:I
-Lcom/android/internal/R$styleable;->AndroidManifestService_singleUser:I
-Lcom/android/internal/R$styleable;->AndroidManifestService_splitName:I
-Lcom/android/internal/R$styleable;->AndroidManifestService_stopWithTask:I
-Lcom/android/internal/R$styleable;->AndroidManifestService_visibleToInstantApps:I
-Lcom/android/internal/R$styleable;->AndroidManifestStaticLibrary:[I
-Lcom/android/internal/R$styleable;->AndroidManifestStaticLibrary_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestStaticLibrary_version:I
-Lcom/android/internal/R$styleable;->AndroidManifestStaticLibrary_versionMajor:I
-Lcom/android/internal/R$styleable;->AndroidManifestSupportsInputInputType:[I
-Lcom/android/internal/R$styleable;->AndroidManifestSupportsInputInputType_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestSupportsScreens_anyDensity:I
-Lcom/android/internal/R$styleable;->AndroidManifestSupportsScreens_compatibleWidthLimitDp:I
-Lcom/android/internal/R$styleable;->AndroidManifestSupportsScreens_largeScreens:I
-Lcom/android/internal/R$styleable;->AndroidManifestSupportsScreens_largestWidthLimitDp:I
-Lcom/android/internal/R$styleable;->AndroidManifestSupportsScreens_normalScreens:I
-Lcom/android/internal/R$styleable;->AndroidManifestSupportsScreens_requiresSmallestWidthDp:I
-Lcom/android/internal/R$styleable;->AndroidManifestSupportsScreens_resizeable:I
-Lcom/android/internal/R$styleable;->AndroidManifestSupportsScreens_smallScreens:I
-Lcom/android/internal/R$styleable;->AndroidManifestSupportsScreens_xlargeScreens:I
-Lcom/android/internal/R$styleable;->AndroidManifestUpgradeKeySet:[I
-Lcom/android/internal/R$styleable;->AndroidManifestUpgradeKeySet_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesConfiguration_reqFiveWayNav:I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesConfiguration_reqHardKeyboard:I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesConfiguration_reqKeyboardType:I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesConfiguration_reqNavigation:I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesConfiguration_reqTouchScreen:I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesFeature_glEsVersion:I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesFeature_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesFeature_required:I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesFeature_version:I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesLibrary_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesLibrary_required:I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesPermission_maxSdkVersion:I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesPermission_requiredFeature:I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesPermission_requiredNotFeature:I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesSdk_maxSdkVersion:I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesSplit:[I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesSplit_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesStaticLibrary:[I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesStaticLibrary_certDigest:I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesStaticLibrary_name:I
-Lcom/android/internal/R$styleable;->AndroidManifestUsesStaticLibrary_version:I
-Lcom/android/internal/R$styleable;->AndroidManifest_compileSdkVersion:I
-Lcom/android/internal/R$styleable;->AndroidManifest_compileSdkVersionCodename:I
-Lcom/android/internal/R$styleable;->AndroidManifest_isFeatureSplit:I
-Lcom/android/internal/R$styleable;->AndroidManifest_isolatedSplits:I
-Lcom/android/internal/R$styleable;->AndroidManifest_revisionCode:I
-Lcom/android/internal/R$styleable;->AndroidManifest_sharedUserLabel:I
-Lcom/android/internal/R$styleable;->AndroidManifest_targetSandboxVersion:I
-Lcom/android/internal/R$styleable;->AndroidManifest_versionCodeMajor:I
-Lcom/android/internal/R$styleable;->AnimatedImageDrawable:[I
-Lcom/android/internal/R$styleable;->AnimatedImageDrawable_autoMirrored:I
-Lcom/android/internal/R$styleable;->AnimatedImageDrawable_autoStart:I
-Lcom/android/internal/R$styleable;->AnimatedImageDrawable_repeatCount:I
-Lcom/android/internal/R$styleable;->AnimatedImageDrawable_src:I
-Lcom/android/internal/R$styleable;->AnimatedRotateDrawable:[I
-Lcom/android/internal/R$styleable;->AnimatedRotateDrawable_drawable:I
-Lcom/android/internal/R$styleable;->AnimatedRotateDrawable_frameDuration:I
-Lcom/android/internal/R$styleable;->AnimatedRotateDrawable_framesCount:I
-Lcom/android/internal/R$styleable;->AnimatedRotateDrawable_pivotX:I
-Lcom/android/internal/R$styleable;->AnimatedRotateDrawable_pivotY:I
-Lcom/android/internal/R$styleable;->AnimatedRotateDrawable_visible:I
-Lcom/android/internal/R$styleable;->AnimatedStateListDrawable:[I
-Lcom/android/internal/R$styleable;->AnimatedStateListDrawableItem:[I
-Lcom/android/internal/R$styleable;->AnimatedStateListDrawableItem_drawable:I
-Lcom/android/internal/R$styleable;->AnimatedStateListDrawableItem_id:I
-Lcom/android/internal/R$styleable;->AnimatedStateListDrawableTransition:[I
-Lcom/android/internal/R$styleable;->AnimatedStateListDrawableTransition_drawable:I
-Lcom/android/internal/R$styleable;->AnimatedStateListDrawableTransition_fromId:I
-Lcom/android/internal/R$styleable;->AnimatedStateListDrawableTransition_reversible:I
-Lcom/android/internal/R$styleable;->AnimatedStateListDrawableTransition_toId:I
-Lcom/android/internal/R$styleable;->AnimatedStateListDrawable_autoMirrored:I
-Lcom/android/internal/R$styleable;->AnimatedStateListDrawable_constantSize:I
-Lcom/android/internal/R$styleable;->AnimatedStateListDrawable_dither:I
-Lcom/android/internal/R$styleable;->AnimatedStateListDrawable_enterFadeDuration:I
-Lcom/android/internal/R$styleable;->AnimatedStateListDrawable_exitFadeDuration:I
-Lcom/android/internal/R$styleable;->AnimatedStateListDrawable_variablePadding:I
-Lcom/android/internal/R$styleable;->AnimatedStateListDrawable_visible:I
-Lcom/android/internal/R$styleable;->AnimatedVectorDrawable:[I
-Lcom/android/internal/R$styleable;->AnimatedVectorDrawableTarget:[I
-Lcom/android/internal/R$styleable;->AnimatedVectorDrawableTarget_animation:I
-Lcom/android/internal/R$styleable;->AnimatedVectorDrawableTarget_name:I
-Lcom/android/internal/R$styleable;->AnimatedVectorDrawable_drawable:I
-Lcom/android/internal/R$styleable;->Animation:[I
-Lcom/android/internal/R$styleable;->AnimationDrawable:[I
-Lcom/android/internal/R$styleable;->AnimationDrawableItem:[I
-Lcom/android/internal/R$styleable;->AnimationDrawableItem_drawable:I
-Lcom/android/internal/R$styleable;->AnimationDrawableItem_duration:I
-Lcom/android/internal/R$styleable;->AnimationDrawable_oneshot:I
-Lcom/android/internal/R$styleable;->AnimationDrawable_variablePadding:I
-Lcom/android/internal/R$styleable;->AnimationDrawable_visible:I
-Lcom/android/internal/R$styleable;->AnimationScaleListDrawable:[I
-Lcom/android/internal/R$styleable;->AnimationScaleListDrawableItem:[I
-Lcom/android/internal/R$styleable;->AnimationScaleListDrawableItem_drawable:I
-Lcom/android/internal/R$styleable;->AnimationSet:[I
-Lcom/android/internal/R$styleable;->AnimationSet_duration:I
-Lcom/android/internal/R$styleable;->AnimationSet_fillAfter:I
-Lcom/android/internal/R$styleable;->AnimationSet_fillBefore:I
-Lcom/android/internal/R$styleable;->AnimationSet_repeatMode:I
-Lcom/android/internal/R$styleable;->AnimationSet_shareInterpolator:I
-Lcom/android/internal/R$styleable;->AnimationSet_startOffset:I
-Lcom/android/internal/R$styleable;->Animation_background:I
-Lcom/android/internal/R$styleable;->Animation_detachWallpaper:I
-Lcom/android/internal/R$styleable;->Animation_duration:I
-Lcom/android/internal/R$styleable;->Animation_fillAfter:I
-Lcom/android/internal/R$styleable;->Animation_fillBefore:I
-Lcom/android/internal/R$styleable;->Animation_fillEnabled:I
-Lcom/android/internal/R$styleable;->Animation_interpolator:I
-Lcom/android/internal/R$styleable;->Animation_repeatCount:I
-Lcom/android/internal/R$styleable;->Animation_repeatMode:I
-Lcom/android/internal/R$styleable;->Animation_showWallpaper:I
-Lcom/android/internal/R$styleable;->Animation_startOffset:I
-Lcom/android/internal/R$styleable;->Animation_zAdjustment:I
-Lcom/android/internal/R$styleable;->Animator:[I
-Lcom/android/internal/R$styleable;->AnimatorSet:[I
-Lcom/android/internal/R$styleable;->AnimatorSet_ordering:I
-Lcom/android/internal/R$styleable;->Animator_duration:I
-Lcom/android/internal/R$styleable;->Animator_interpolator:I
-Lcom/android/internal/R$styleable;->Animator_removeBeforeMRelease:I
-Lcom/android/internal/R$styleable;->Animator_repeatCount:I
-Lcom/android/internal/R$styleable;->Animator_repeatMode:I
-Lcom/android/internal/R$styleable;->Animator_startOffset:I
-Lcom/android/internal/R$styleable;->Animator_valueFrom:I
-Lcom/android/internal/R$styleable;->Animator_valueTo:I
-Lcom/android/internal/R$styleable;->Animator_valueType:I
-Lcom/android/internal/R$styleable;->AnticipateInterpolator:[I
-Lcom/android/internal/R$styleable;->AnticipateInterpolator_tension:I
-Lcom/android/internal/R$styleable;->AnticipateOvershootInterpolator:[I
-Lcom/android/internal/R$styleable;->AnticipateOvershootInterpolator_extraTension:I
-Lcom/android/internal/R$styleable;->AnticipateOvershootInterpolator_tension:I
-Lcom/android/internal/R$styleable;->AppWidgetProviderInfo_autoAdvanceViewId:I
-Lcom/android/internal/R$styleable;->AppWidgetProviderInfo_configure:I
-Lcom/android/internal/R$styleable;->AppWidgetProviderInfo_initialKeyguardLayout:I
-Lcom/android/internal/R$styleable;->AppWidgetProviderInfo_initialLayout:I
-Lcom/android/internal/R$styleable;->AppWidgetProviderInfo_minHeight:I
-Lcom/android/internal/R$styleable;->AppWidgetProviderInfo_minResizeHeight:I
-Lcom/android/internal/R$styleable;->AppWidgetProviderInfo_minResizeWidth:I
-Lcom/android/internal/R$styleable;->AppWidgetProviderInfo_minWidth:I
-Lcom/android/internal/R$styleable;->AppWidgetProviderInfo_previewImage:I
-Lcom/android/internal/R$styleable;->AppWidgetProviderInfo_resizeMode:I
-Lcom/android/internal/R$styleable;->AppWidgetProviderInfo_updatePeriodMillis:I
-Lcom/android/internal/R$styleable;->AppWidgetProviderInfo_widgetCategory:I
-Lcom/android/internal/R$styleable;->AppWidgetProviderInfo_widgetFeatures:I
-Lcom/android/internal/R$styleable;->ArcMotion:[I
-Lcom/android/internal/R$styleable;->ArcMotion_maximumAngle:I
-Lcom/android/internal/R$styleable;->ArcMotion_minimumHorizontalAngle:I
-Lcom/android/internal/R$styleable;->ArcMotion_minimumVerticalAngle:I
-Lcom/android/internal/R$styleable;->AutoCompleteTextView_completionHint:I
-Lcom/android/internal/R$styleable;->AutoCompleteTextView_completionHintView:I
-Lcom/android/internal/R$styleable;->AutoCompleteTextView_completionThreshold:I
-Lcom/android/internal/R$styleable;->AutoCompleteTextView_dropDownAnchor:I
-Lcom/android/internal/R$styleable;->AutoCompleteTextView_dropDownHeight:I
-Lcom/android/internal/R$styleable;->AutoCompleteTextView_dropDownSelector:I
-Lcom/android/internal/R$styleable;->AutoCompleteTextView_dropDownWidth:I
-Lcom/android/internal/R$styleable;->AutoCompleteTextView_inputType:I
-Lcom/android/internal/R$styleable;->AutoCompleteTextView_popupTheme:I
-Lcom/android/internal/R$styleable;->AutofillService:[I
-Lcom/android/internal/R$styleable;->AutofillService_CompatibilityPackage:[I
-Lcom/android/internal/R$styleable;->AutofillService_CompatibilityPackage_maxLongVersionCode:I
-Lcom/android/internal/R$styleable;->AutofillService_CompatibilityPackage_name:I
-Lcom/android/internal/R$styleable;->AutofillService_settingsActivity:I
-Lcom/android/internal/R$styleable;->BitmapDrawable:[I
-Lcom/android/internal/R$styleable;->BitmapDrawable_alpha:I
-Lcom/android/internal/R$styleable;->BitmapDrawable_antialias:I
-Lcom/android/internal/R$styleable;->BitmapDrawable_autoMirrored:I
-Lcom/android/internal/R$styleable;->BitmapDrawable_dither:I
-Lcom/android/internal/R$styleable;->BitmapDrawable_filter:I
-Lcom/android/internal/R$styleable;->BitmapDrawable_gravity:I
-Lcom/android/internal/R$styleable;->BitmapDrawable_mipMap:I
-Lcom/android/internal/R$styleable;->BitmapDrawable_src:I
-Lcom/android/internal/R$styleable;->BitmapDrawable_tileMode:I
-Lcom/android/internal/R$styleable;->BitmapDrawable_tileModeX:I
-Lcom/android/internal/R$styleable;->BitmapDrawable_tileModeY:I
-Lcom/android/internal/R$styleable;->BitmapDrawable_tint:I
-Lcom/android/internal/R$styleable;->BitmapDrawable_tintMode:I
-Lcom/android/internal/R$styleable;->Button:[I
-Lcom/android/internal/R$styleable;->ButtonBarLayout:[I
-Lcom/android/internal/R$styleable;->ButtonBarLayout_allowStacking:I
-Lcom/android/internal/R$styleable;->CalendarView:[I
-Lcom/android/internal/R$styleable;->CalendarView_calendarViewMode:I
-Lcom/android/internal/R$styleable;->CalendarView_dateTextAppearance:I
-Lcom/android/internal/R$styleable;->CalendarView_dayHighlightColor:I
-Lcom/android/internal/R$styleable;->CalendarView_daySelectorColor:I
-Lcom/android/internal/R$styleable;->CalendarView_firstDayOfWeek:I
-Lcom/android/internal/R$styleable;->CalendarView_focusedMonthDateColor:I
-Lcom/android/internal/R$styleable;->CalendarView_maxDate:I
-Lcom/android/internal/R$styleable;->CalendarView_minDate:I
-Lcom/android/internal/R$styleable;->CalendarView_monthTextAppearance:I
-Lcom/android/internal/R$styleable;->CalendarView_selectedDateVerticalBar:I
-Lcom/android/internal/R$styleable;->CalendarView_selectedWeekBackgroundColor:I
-Lcom/android/internal/R$styleable;->CalendarView_shownWeekCount:I
-Lcom/android/internal/R$styleable;->CalendarView_showWeekNumber:I
-Lcom/android/internal/R$styleable;->CalendarView_unfocusedMonthDateColor:I
-Lcom/android/internal/R$styleable;->CalendarView_weekDayTextAppearance:I
-Lcom/android/internal/R$styleable;->CalendarView_weekNumberColor:I
-Lcom/android/internal/R$styleable;->CalendarView_weekSeparatorLineColor:I
-Lcom/android/internal/R$styleable;->ChangeBounds:[I
-Lcom/android/internal/R$styleable;->ChangeBounds_resizeClip:I
-Lcom/android/internal/R$styleable;->ChangeTransform:[I
-Lcom/android/internal/R$styleable;->ChangeTransform_reparent:I
-Lcom/android/internal/R$styleable;->ChangeTransform_reparentWithOverlay:I
-Lcom/android/internal/R$styleable;->CheckedTextView_checkMarkGravity:I
-Lcom/android/internal/R$styleable;->CheckedTextView_checkMarkTint:I
-Lcom/android/internal/R$styleable;->CheckedTextView_checkMarkTintMode:I
-Lcom/android/internal/R$styleable;->Chronometer:[I
-Lcom/android/internal/R$styleable;->Chronometer_countDown:I
-Lcom/android/internal/R$styleable;->Chronometer_format:I
-Lcom/android/internal/R$styleable;->ClipDrawable:[I
-Lcom/android/internal/R$styleable;->ClipDrawable_clipOrientation:I
-Lcom/android/internal/R$styleable;->ClipDrawable_drawable:I
-Lcom/android/internal/R$styleable;->ClipDrawable_gravity:I
-Lcom/android/internal/R$styleable;->ClipRectAnimation:[I
-Lcom/android/internal/R$styleable;->ClipRectAnimation_fromBottom:I
-Lcom/android/internal/R$styleable;->ClipRectAnimation_fromLeft:I
-Lcom/android/internal/R$styleable;->ClipRectAnimation_fromRight:I
-Lcom/android/internal/R$styleable;->ClipRectAnimation_fromTop:I
-Lcom/android/internal/R$styleable;->ClipRectAnimation_toBottom:I
-Lcom/android/internal/R$styleable;->ClipRectAnimation_toLeft:I
-Lcom/android/internal/R$styleable;->ClipRectAnimation_toRight:I
-Lcom/android/internal/R$styleable;->ClipRectAnimation_toTop:I
-Lcom/android/internal/R$styleable;->ColorDrawable:[I
-Lcom/android/internal/R$styleable;->ColorDrawable_color:I
-Lcom/android/internal/R$styleable;->ColorStateListItem:[I
-Lcom/android/internal/R$styleable;->ColorStateListItem_alpha:I
-Lcom/android/internal/R$styleable;->ColorStateListItem_color:I
-Lcom/android/internal/R$styleable;->CompoundButton_buttonTint:I
-Lcom/android/internal/R$styleable;->CompoundButton_buttonTintMode:I
-Lcom/android/internal/R$styleable;->ContactsDataKind_allContactsName:I
-Lcom/android/internal/R$styleable;->ContactsDataKind_detailColumn:I
-Lcom/android/internal/R$styleable;->ContactsDataKind_detailSocialSummary:I
-Lcom/android/internal/R$styleable;->ContactsDataKind_icon:I
-Lcom/android/internal/R$styleable;->ContactsDataKind_mimeType:I
-Lcom/android/internal/R$styleable;->ContactsDataKind_summaryColumn:I
-Lcom/android/internal/R$styleable;->CycleInterpolator_cycles:I
-Lcom/android/internal/R$styleable;->DatePicker_calendarTextColor:I
-Lcom/android/internal/R$styleable;->DatePicker_calendarViewShown:I
-Lcom/android/internal/R$styleable;->DatePicker_datePickerMode:I
-Lcom/android/internal/R$styleable;->DatePicker_dayOfWeekBackground:I
-Lcom/android/internal/R$styleable;->DatePicker_dayOfWeekTextAppearance:I
-Lcom/android/internal/R$styleable;->DatePicker_dialogMode:I
-Lcom/android/internal/R$styleable;->DatePicker_endYear:I
-Lcom/android/internal/R$styleable;->DatePicker_firstDayOfWeek:I
-Lcom/android/internal/R$styleable;->DatePicker_headerBackground:I
-Lcom/android/internal/R$styleable;->DatePicker_headerDayOfMonthTextAppearance:I
-Lcom/android/internal/R$styleable;->DatePicker_headerMonthTextAppearance:I
-Lcom/android/internal/R$styleable;->DatePicker_headerTextColor:I
-Lcom/android/internal/R$styleable;->DatePicker_headerYearTextAppearance:I
-Lcom/android/internal/R$styleable;->DatePicker_internalLayout:I
-Lcom/android/internal/R$styleable;->DatePicker_legacyLayout:I
-Lcom/android/internal/R$styleable;->DatePicker_maxDate:I
-Lcom/android/internal/R$styleable;->DatePicker_minDate:I
-Lcom/android/internal/R$styleable;->DatePicker_spinnersShown:I
-Lcom/android/internal/R$styleable;->DatePicker_startYear:I
-Lcom/android/internal/R$styleable;->DatePicker_yearListItemActivatedTextAppearance:I
-Lcom/android/internal/R$styleable;->DatePicker_yearListItemTextAppearance:I
-Lcom/android/internal/R$styleable;->DatePicker_yearListSelectorColor:I
-Lcom/android/internal/R$styleable;->DateTimeView:[I
-Lcom/android/internal/R$styleable;->DateTimeView_showRelative:I
-Lcom/android/internal/R$styleable;->DecelerateInterpolator:[I
-Lcom/android/internal/R$styleable;->DecelerateInterpolator_factor:I
-Lcom/android/internal/R$styleable;->DeviceAdmin:[I
-Lcom/android/internal/R$styleable;->DeviceAdmin_visible:I
-Lcom/android/internal/R$styleable;->DialogPreference_dialogIcon:I
-Lcom/android/internal/R$styleable;->DialogPreference_dialogLayout:I
-Lcom/android/internal/R$styleable;->DialogPreference_dialogMessage:I
-Lcom/android/internal/R$styleable;->DialogPreference_negativeButtonText:I
-Lcom/android/internal/R$styleable;->DialogPreference_positiveButtonText:I
-Lcom/android/internal/R$styleable;->Drawable:[I
-Lcom/android/internal/R$styleable;->DrawableCorners:[I
-Lcom/android/internal/R$styleable;->DrawableCorners_bottomLeftRadius:I
-Lcom/android/internal/R$styleable;->DrawableCorners_bottomRightRadius:I
-Lcom/android/internal/R$styleable;->DrawableCorners_radius:I
-Lcom/android/internal/R$styleable;->DrawableCorners_topLeftRadius:I
-Lcom/android/internal/R$styleable;->DrawableCorners_topRightRadius:I
-Lcom/android/internal/R$styleable;->DrawableStates:[I
-Lcom/android/internal/R$styleable;->DrawableStates_state_accelerated:I
-Lcom/android/internal/R$styleable;->DrawableStates_state_accessibility_focused:I
-Lcom/android/internal/R$styleable;->DrawableStates_state_activated:I
-Lcom/android/internal/R$styleable;->DrawableStates_state_active:I
-Lcom/android/internal/R$styleable;->DrawableStates_state_checkable:I
-Lcom/android/internal/R$styleable;->DrawableStates_state_checked:I
-Lcom/android/internal/R$styleable;->DrawableStates_state_drag_can_accept:I
-Lcom/android/internal/R$styleable;->DrawableStates_state_drag_hovered:I
-Lcom/android/internal/R$styleable;->DrawableStates_state_enabled:I
-Lcom/android/internal/R$styleable;->DrawableStates_state_first:I
-Lcom/android/internal/R$styleable;->DrawableStates_state_focused:I
-Lcom/android/internal/R$styleable;->DrawableStates_state_hovered:I
-Lcom/android/internal/R$styleable;->DrawableStates_state_last:I
-Lcom/android/internal/R$styleable;->DrawableStates_state_middle:I
-Lcom/android/internal/R$styleable;->DrawableStates_state_pressed:I
-Lcom/android/internal/R$styleable;->DrawableStates_state_selected:I
-Lcom/android/internal/R$styleable;->DrawableStates_state_single:I
-Lcom/android/internal/R$styleable;->DrawableStates_state_window_focused:I
-Lcom/android/internal/R$styleable;->DrawableWrapper:[I
-Lcom/android/internal/R$styleable;->DrawableWrapper_drawable:I
-Lcom/android/internal/R$styleable;->Drawable_autoMirrored:I
-Lcom/android/internal/R$styleable;->Drawable_visible:I
-Lcom/android/internal/R$styleable;->Dream_settingsActivity:I
-Lcom/android/internal/R$styleable;->EditText:[I
-Lcom/android/internal/R$styleable;->EpicenterTranslateClipReveal:[I
-Lcom/android/internal/R$styleable;->EpicenterTranslateClipReveal_interpolatorX:I
-Lcom/android/internal/R$styleable;->EpicenterTranslateClipReveal_interpolatorY:I
-Lcom/android/internal/R$styleable;->EpicenterTranslateClipReveal_interpolatorZ:I
-Lcom/android/internal/R$styleable;->ExpandableListChildIndicatorState:[I
-Lcom/android/internal/R$styleable;->ExpandableListChildIndicatorState_state_last:I
-Lcom/android/internal/R$styleable;->ExpandableListGroupIndicatorState:[I
-Lcom/android/internal/R$styleable;->ExpandableListGroupIndicatorState_state_empty:I
-Lcom/android/internal/R$styleable;->ExpandableListGroupIndicatorState_state_expanded:I
-Lcom/android/internal/R$styleable;->ExpandableListView:[I
-Lcom/android/internal/R$styleable;->ExpandableListView_childDivider:I
-Lcom/android/internal/R$styleable;->ExpandableListView_childIndicator:I
-Lcom/android/internal/R$styleable;->ExpandableListView_childIndicatorEnd:I
-Lcom/android/internal/R$styleable;->ExpandableListView_childIndicatorLeft:I
-Lcom/android/internal/R$styleable;->ExpandableListView_childIndicatorRight:I
-Lcom/android/internal/R$styleable;->ExpandableListView_childIndicatorStart:I
-Lcom/android/internal/R$styleable;->ExpandableListView_groupIndicator:I
-Lcom/android/internal/R$styleable;->ExpandableListView_indicatorEnd:I
-Lcom/android/internal/R$styleable;->ExpandableListView_indicatorLeft:I
-Lcom/android/internal/R$styleable;->ExpandableListView_indicatorRight:I
-Lcom/android/internal/R$styleable;->ExpandableListView_indicatorStart:I
-Lcom/android/internal/R$styleable;->Extra:[I
-Lcom/android/internal/R$styleable;->Extra_name:I
-Lcom/android/internal/R$styleable;->Extra_value:I
-Lcom/android/internal/R$styleable;->Fade:[I
-Lcom/android/internal/R$styleable;->Fade_fadingMode:I
-Lcom/android/internal/R$styleable;->FastScroll_backgroundLeft:I
-Lcom/android/internal/R$styleable;->FastScroll_backgroundRight:I
-Lcom/android/internal/R$styleable;->FastScroll_minHeight:I
-Lcom/android/internal/R$styleable;->FastScroll_minWidth:I
-Lcom/android/internal/R$styleable;->FastScroll_padding:I
-Lcom/android/internal/R$styleable;->FastScroll_position:I
-Lcom/android/internal/R$styleable;->FastScroll_textAppearance:I
-Lcom/android/internal/R$styleable;->FastScroll_textColor:I
-Lcom/android/internal/R$styleable;->FastScroll_textSize:I
-Lcom/android/internal/R$styleable;->FastScroll_thumbDrawable:I
-Lcom/android/internal/R$styleable;->FastScroll_thumbMinHeight:I
-Lcom/android/internal/R$styleable;->FastScroll_thumbMinWidth:I
-Lcom/android/internal/R$styleable;->FastScroll_thumbPosition:I
-Lcom/android/internal/R$styleable;->FastScroll_trackDrawable:I
-Lcom/android/internal/R$styleable;->FontFamily:[I
-Lcom/android/internal/R$styleable;->FontFamilyFont:[I
-Lcom/android/internal/R$styleable;->FontFamilyFont_font:I
-Lcom/android/internal/R$styleable;->FontFamilyFont_fontStyle:I
-Lcom/android/internal/R$styleable;->FontFamilyFont_fontVariationSettings:I
-Lcom/android/internal/R$styleable;->FontFamilyFont_fontWeight:I
-Lcom/android/internal/R$styleable;->FontFamilyFont_ttcIndex:I
-Lcom/android/internal/R$styleable;->FontFamily_fontProviderAuthority:I
-Lcom/android/internal/R$styleable;->FontFamily_fontProviderCerts:I
-Lcom/android/internal/R$styleable;->FontFamily_fontProviderPackage:I
-Lcom/android/internal/R$styleable;->FontFamily_fontProviderQuery:I
-Lcom/android/internal/R$styleable;->Fragment:[I
-Lcom/android/internal/R$styleable;->FragmentAnimation:[I
-Lcom/android/internal/R$styleable;->FragmentAnimation_fragmentCloseEnterAnimation:I
-Lcom/android/internal/R$styleable;->FragmentAnimation_fragmentCloseExitAnimation:I
-Lcom/android/internal/R$styleable;->FragmentAnimation_fragmentFadeEnterAnimation:I
-Lcom/android/internal/R$styleable;->FragmentAnimation_fragmentFadeExitAnimation:I
-Lcom/android/internal/R$styleable;->FragmentAnimation_fragmentOpenEnterAnimation:I
-Lcom/android/internal/R$styleable;->FragmentAnimation_fragmentOpenExitAnimation:I
-Lcom/android/internal/R$styleable;->FragmentBreadCrumbs:[I
-Lcom/android/internal/R$styleable;->FragmentBreadCrumbs_gravity:I
-Lcom/android/internal/R$styleable;->FragmentBreadCrumbs_itemColor:I
-Lcom/android/internal/R$styleable;->FragmentBreadCrumbs_itemLayout:I
-Lcom/android/internal/R$styleable;->Fragment_fragmentAllowEnterTransitionOverlap:I
-Lcom/android/internal/R$styleable;->Fragment_fragmentAllowReturnTransitionOverlap:I
-Lcom/android/internal/R$styleable;->Fragment_fragmentEnterTransition:I
-Lcom/android/internal/R$styleable;->Fragment_fragmentExitTransition:I
-Lcom/android/internal/R$styleable;->Fragment_fragmentReenterTransition:I
-Lcom/android/internal/R$styleable;->Fragment_fragmentReturnTransition:I
-Lcom/android/internal/R$styleable;->Fragment_fragmentSharedElementEnterTransition:I
-Lcom/android/internal/R$styleable;->Fragment_fragmentSharedElementReturnTransition:I
-Lcom/android/internal/R$styleable;->Fragment_id:I
-Lcom/android/internal/R$styleable;->Fragment_name:I
-Lcom/android/internal/R$styleable;->Fragment_tag:I
-Lcom/android/internal/R$styleable;->FrameLayout_Layout_layout_gravity:I
-Lcom/android/internal/R$styleable;->FrameLayout_measureAllChildren:I
-Lcom/android/internal/R$styleable;->Gallery_animationDuration:I
-Lcom/android/internal/R$styleable;->Gallery_gravity:I
-Lcom/android/internal/R$styleable;->Gallery_spacing:I
-Lcom/android/internal/R$styleable;->Gallery_unselectedAlpha:I
-Lcom/android/internal/R$styleable;->GestureOverlayView:[I
-Lcom/android/internal/R$styleable;->GestureOverlayView_eventsInterceptionEnabled:I
-Lcom/android/internal/R$styleable;->GestureOverlayView_fadeDuration:I
-Lcom/android/internal/R$styleable;->GestureOverlayView_fadeEnabled:I
-Lcom/android/internal/R$styleable;->GestureOverlayView_fadeOffset:I
-Lcom/android/internal/R$styleable;->GestureOverlayView_gestureColor:I
-Lcom/android/internal/R$styleable;->GestureOverlayView_gestureStrokeAngleThreshold:I
-Lcom/android/internal/R$styleable;->GestureOverlayView_gestureStrokeLengthThreshold:I
-Lcom/android/internal/R$styleable;->GestureOverlayView_gestureStrokeSquarenessThreshold:I
-Lcom/android/internal/R$styleable;->GestureOverlayView_gestureStrokeType:I
-Lcom/android/internal/R$styleable;->GestureOverlayView_gestureStrokeWidth:I
-Lcom/android/internal/R$styleable;->GestureOverlayView_orientation:I
-Lcom/android/internal/R$styleable;->GestureOverlayView_uncertainGestureColor:I
-Lcom/android/internal/R$styleable;->GlowPadView:[I
-Lcom/android/internal/R$styleable;->GlowPadView_directionDescriptions:I
-Lcom/android/internal/R$styleable;->GlowPadView_targetDescriptions:I
-Lcom/android/internal/R$styleable;->GradientColor:[I
-Lcom/android/internal/R$styleable;->GradientColorItem:[I
-Lcom/android/internal/R$styleable;->GradientColorItem_color:I
-Lcom/android/internal/R$styleable;->GradientColorItem_offset:I
-Lcom/android/internal/R$styleable;->GradientColor_centerColor:I
-Lcom/android/internal/R$styleable;->GradientColor_centerX:I
-Lcom/android/internal/R$styleable;->GradientColor_centerY:I
-Lcom/android/internal/R$styleable;->GradientColor_endColor:I
-Lcom/android/internal/R$styleable;->GradientColor_endX:I
-Lcom/android/internal/R$styleable;->GradientColor_endY:I
-Lcom/android/internal/R$styleable;->GradientColor_gradientRadius:I
-Lcom/android/internal/R$styleable;->GradientColor_startColor:I
-Lcom/android/internal/R$styleable;->GradientColor_startX:I
-Lcom/android/internal/R$styleable;->GradientColor_startY:I
-Lcom/android/internal/R$styleable;->GradientColor_tileMode:I
-Lcom/android/internal/R$styleable;->GradientColor_type:I
-Lcom/android/internal/R$styleable;->GradientDrawable:[I
-Lcom/android/internal/R$styleable;->GradientDrawableGradient:[I
-Lcom/android/internal/R$styleable;->GradientDrawableGradient_angle:I
-Lcom/android/internal/R$styleable;->GradientDrawableGradient_centerColor:I
-Lcom/android/internal/R$styleable;->GradientDrawableGradient_centerX:I
-Lcom/android/internal/R$styleable;->GradientDrawableGradient_centerY:I
-Lcom/android/internal/R$styleable;->GradientDrawableGradient_endColor:I
-Lcom/android/internal/R$styleable;->GradientDrawableGradient_gradientRadius:I
-Lcom/android/internal/R$styleable;->GradientDrawableGradient_startColor:I
-Lcom/android/internal/R$styleable;->GradientDrawableGradient_type:I
-Lcom/android/internal/R$styleable;->GradientDrawableGradient_useLevel:I
-Lcom/android/internal/R$styleable;->GradientDrawablePadding:[I
-Lcom/android/internal/R$styleable;->GradientDrawablePadding_bottom:I
-Lcom/android/internal/R$styleable;->GradientDrawablePadding_left:I
-Lcom/android/internal/R$styleable;->GradientDrawablePadding_right:I
-Lcom/android/internal/R$styleable;->GradientDrawablePadding_top:I
-Lcom/android/internal/R$styleable;->GradientDrawableSize:[I
-Lcom/android/internal/R$styleable;->GradientDrawableSize_height:I
-Lcom/android/internal/R$styleable;->GradientDrawableSize_width:I
-Lcom/android/internal/R$styleable;->GradientDrawableSolid:[I
-Lcom/android/internal/R$styleable;->GradientDrawableSolid_color:I
-Lcom/android/internal/R$styleable;->GradientDrawableStroke:[I
-Lcom/android/internal/R$styleable;->GradientDrawableStroke_color:I
-Lcom/android/internal/R$styleable;->GradientDrawableStroke_dashGap:I
-Lcom/android/internal/R$styleable;->GradientDrawableStroke_dashWidth:I
-Lcom/android/internal/R$styleable;->GradientDrawableStroke_width:I
-Lcom/android/internal/R$styleable;->GradientDrawable_dither:I
-Lcom/android/internal/R$styleable;->GradientDrawable_innerRadius:I
-Lcom/android/internal/R$styleable;->GradientDrawable_innerRadiusRatio:I
-Lcom/android/internal/R$styleable;->GradientDrawable_opticalInsetBottom:I
-Lcom/android/internal/R$styleable;->GradientDrawable_opticalInsetLeft:I
-Lcom/android/internal/R$styleable;->GradientDrawable_opticalInsetRight:I
-Lcom/android/internal/R$styleable;->GradientDrawable_opticalInsetTop:I
-Lcom/android/internal/R$styleable;->GradientDrawable_shape:I
-Lcom/android/internal/R$styleable;->GradientDrawable_thickness:I
-Lcom/android/internal/R$styleable;->GradientDrawable_thicknessRatio:I
-Lcom/android/internal/R$styleable;->GradientDrawable_tint:I
-Lcom/android/internal/R$styleable;->GradientDrawable_tintMode:I
-Lcom/android/internal/R$styleable;->GradientDrawable_useLevel:I
-Lcom/android/internal/R$styleable;->GradientDrawable_visible:I
-Lcom/android/internal/R$styleable;->GridLayout:[I
-Lcom/android/internal/R$styleable;->GridLayoutAnimation:[I
-Lcom/android/internal/R$styleable;->GridLayoutAnimation_columnDelay:I
-Lcom/android/internal/R$styleable;->GridLayoutAnimation_direction:I
-Lcom/android/internal/R$styleable;->GridLayoutAnimation_directionPriority:I
-Lcom/android/internal/R$styleable;->GridLayoutAnimation_rowDelay:I
-Lcom/android/internal/R$styleable;->GridLayout_alignmentMode:I
-Lcom/android/internal/R$styleable;->GridLayout_columnCount:I
-Lcom/android/internal/R$styleable;->GridLayout_columnOrderPreserved:I
-Lcom/android/internal/R$styleable;->GridLayout_Layout:[I
-Lcom/android/internal/R$styleable;->GridLayout_Layout_layout_column:I
-Lcom/android/internal/R$styleable;->GridLayout_Layout_layout_columnSpan:I
-Lcom/android/internal/R$styleable;->GridLayout_Layout_layout_columnWeight:I
-Lcom/android/internal/R$styleable;->GridLayout_Layout_layout_gravity:I
-Lcom/android/internal/R$styleable;->GridLayout_Layout_layout_row:I
-Lcom/android/internal/R$styleable;->GridLayout_Layout_layout_rowSpan:I
-Lcom/android/internal/R$styleable;->GridLayout_Layout_layout_rowWeight:I
-Lcom/android/internal/R$styleable;->GridLayout_orientation:I
-Lcom/android/internal/R$styleable;->GridLayout_rowCount:I
-Lcom/android/internal/R$styleable;->GridLayout_rowOrderPreserved:I
-Lcom/android/internal/R$styleable;->GridLayout_useDefaultMargins:I
-Lcom/android/internal/R$styleable;->GridView_columnWidth:I
-Lcom/android/internal/R$styleable;->GridView_gravity:I
-Lcom/android/internal/R$styleable;->GridView_horizontalSpacing:I
-Lcom/android/internal/R$styleable;->GridView_numColumns:I
-Lcom/android/internal/R$styleable;->GridView_stretchMode:I
-Lcom/android/internal/R$styleable;->GridView_verticalSpacing:I
-Lcom/android/internal/R$styleable;->HorizontalScrollView:[I
-Lcom/android/internal/R$styleable;->HorizontalScrollView_fillViewport:I
-Lcom/android/internal/R$styleable;->HostApduService:[I
-Lcom/android/internal/R$styleable;->HostApduService_apduServiceBanner:I
-Lcom/android/internal/R$styleable;->HostApduService_description:I
-Lcom/android/internal/R$styleable;->HostApduService_requireDeviceUnlock:I
-Lcom/android/internal/R$styleable;->HostApduService_settingsActivity:I
-Lcom/android/internal/R$styleable;->HostNfcFService:[I
-Lcom/android/internal/R$styleable;->HostNfcFService_description:I
-Lcom/android/internal/R$styleable;->Icon:[I
-Lcom/android/internal/R$styleable;->IconDefault:[I
-Lcom/android/internal/R$styleable;->IconDefault_icon:I
-Lcom/android/internal/R$styleable;->IconMenuView_maxItems:I
-Lcom/android/internal/R$styleable;->IconMenuView_maxItemsPerRow:I
-Lcom/android/internal/R$styleable;->IconMenuView_maxRows:I
-Lcom/android/internal/R$styleable;->IconMenuView_moreIcon:I
-Lcom/android/internal/R$styleable;->IconMenuView_rowHeight:I
-Lcom/android/internal/R$styleable;->Icon_icon:I
-Lcom/android/internal/R$styleable;->Icon_mimeType:I
-Lcom/android/internal/R$styleable;->ImageSwitcher:[I
-Lcom/android/internal/R$styleable;->ImageView_adjustViewBounds:I
-Lcom/android/internal/R$styleable;->ImageView_baseline:I
-Lcom/android/internal/R$styleable;->ImageView_baselineAlignBottom:I
-Lcom/android/internal/R$styleable;->ImageView_cropToPadding:I
-Lcom/android/internal/R$styleable;->ImageView_drawableAlpha:I
-Lcom/android/internal/R$styleable;->ImageView_maxHeight:I
-Lcom/android/internal/R$styleable;->ImageView_maxWidth:I
-Lcom/android/internal/R$styleable;->ImageView_tint:I
-Lcom/android/internal/R$styleable;->ImageView_tintMode:I
-Lcom/android/internal/R$styleable;->Include:[I
-Lcom/android/internal/R$styleable;->Include_id:I
-Lcom/android/internal/R$styleable;->Include_visibility:I
-Lcom/android/internal/R$styleable;->InputExtras:[I
-Lcom/android/internal/R$styleable;->InputMethod:[I
-Lcom/android/internal/R$styleable;->InputMethodService:[I
-Lcom/android/internal/R$styleable;->InputMethodService_imeExtractEnterAnimation:I
-Lcom/android/internal/R$styleable;->InputMethodService_imeExtractExitAnimation:I
-Lcom/android/internal/R$styleable;->InputMethodService_imeFullscreenBackground:I
-Lcom/android/internal/R$styleable;->InputMethod_isDefault:I
-Lcom/android/internal/R$styleable;->InputMethod_isVrOnly:I
-Lcom/android/internal/R$styleable;->InputMethod_settingsActivity:I
-Lcom/android/internal/R$styleable;->InputMethod_Subtype:[I
-Lcom/android/internal/R$styleable;->InputMethod_Subtype_icon:I
-Lcom/android/internal/R$styleable;->InputMethod_Subtype_imeSubtypeExtraValue:I
-Lcom/android/internal/R$styleable;->InputMethod_Subtype_imeSubtypeLocale:I
-Lcom/android/internal/R$styleable;->InputMethod_Subtype_imeSubtypeMode:I
-Lcom/android/internal/R$styleable;->InputMethod_Subtype_isAsciiCapable:I
-Lcom/android/internal/R$styleable;->InputMethod_Subtype_isAuxiliary:I
-Lcom/android/internal/R$styleable;->InputMethod_Subtype_label:I
-Lcom/android/internal/R$styleable;->InputMethod_Subtype_languageTag:I
-Lcom/android/internal/R$styleable;->InputMethod_Subtype_overridesImplicitlyEnabledSubtype:I
-Lcom/android/internal/R$styleable;->InputMethod_Subtype_subtypeId:I
-Lcom/android/internal/R$styleable;->InputMethod_supportsSwitchingToNextInputMethod:I
-Lcom/android/internal/R$styleable;->InputMethod___removed2:I
-Lcom/android/internal/R$styleable;->InsetDrawable:[I
-Lcom/android/internal/R$styleable;->InsetDrawable_drawable:I
-Lcom/android/internal/R$styleable;->InsetDrawable_inset:I
-Lcom/android/internal/R$styleable;->InsetDrawable_insetBottom:I
-Lcom/android/internal/R$styleable;->InsetDrawable_insetLeft:I
-Lcom/android/internal/R$styleable;->InsetDrawable_insetRight:I
-Lcom/android/internal/R$styleable;->InsetDrawable_insetTop:I
-Lcom/android/internal/R$styleable;->InsetDrawable_visible:I
-Lcom/android/internal/R$styleable;->Intent:[I
-Lcom/android/internal/R$styleable;->IntentCategory:[I
-Lcom/android/internal/R$styleable;->IntentCategory_name:I
-Lcom/android/internal/R$styleable;->Intent_action:I
-Lcom/android/internal/R$styleable;->Intent_data:I
-Lcom/android/internal/R$styleable;->Intent_mimeType:I
-Lcom/android/internal/R$styleable;->Intent_targetClass:I
-Lcom/android/internal/R$styleable;->Intent_targetPackage:I
-Lcom/android/internal/R$styleable;->KeyboardLayout:[I
-Lcom/android/internal/R$styleable;->KeyboardLayout_keyboardLayout:I
-Lcom/android/internal/R$styleable;->KeyboardLayout_label:I
-Lcom/android/internal/R$styleable;->KeyboardLayout_locale:I
-Lcom/android/internal/R$styleable;->KeyboardLayout_name:I
-Lcom/android/internal/R$styleable;->KeyboardLayout_productId:I
-Lcom/android/internal/R$styleable;->KeyboardLayout_vendorId:I
-Lcom/android/internal/R$styleable;->KeyboardViewPreviewState:[I
-Lcom/android/internal/R$styleable;->KeyboardViewPreviewState_state_long_pressable:I
-Lcom/android/internal/R$styleable;->KeyboardView_keyBackground:I
-Lcom/android/internal/R$styleable;->KeyboardView_keyboardViewStyle:I
-Lcom/android/internal/R$styleable;->KeyboardView_keyPreviewHeight:I
-Lcom/android/internal/R$styleable;->KeyboardView_keyPreviewLayout:I
-Lcom/android/internal/R$styleable;->KeyboardView_keyPreviewOffset:I
-Lcom/android/internal/R$styleable;->KeyboardView_keyTextColor:I
-Lcom/android/internal/R$styleable;->KeyboardView_keyTextSize:I
-Lcom/android/internal/R$styleable;->KeyboardView_labelTextSize:I
-Lcom/android/internal/R$styleable;->KeyboardView_popupLayout:I
-Lcom/android/internal/R$styleable;->KeyboardView_shadowColor:I
-Lcom/android/internal/R$styleable;->KeyboardView_shadowRadius:I
-Lcom/android/internal/R$styleable;->KeyboardView_verticalCorrection:I
-Lcom/android/internal/R$styleable;->Keyboard_horizontalGap:I
-Lcom/android/internal/R$styleable;->Keyboard_keyHeight:I
-Lcom/android/internal/R$styleable;->Keyboard_keyWidth:I
-Lcom/android/internal/R$styleable;->Keyboard_Key_codes:I
-Lcom/android/internal/R$styleable;->Keyboard_Key_iconPreview:I
-Lcom/android/internal/R$styleable;->Keyboard_Key_isModifier:I
-Lcom/android/internal/R$styleable;->Keyboard_Key_isRepeatable:I
-Lcom/android/internal/R$styleable;->Keyboard_Key_isSticky:I
-Lcom/android/internal/R$styleable;->Keyboard_Key_keyboardMode:I
-Lcom/android/internal/R$styleable;->Keyboard_Key_keyEdgeFlags:I
-Lcom/android/internal/R$styleable;->Keyboard_Key_keyIcon:I
-Lcom/android/internal/R$styleable;->Keyboard_Key_keyLabel:I
-Lcom/android/internal/R$styleable;->Keyboard_Key_keyOutputText:I
-Lcom/android/internal/R$styleable;->Keyboard_Key_popupCharacters:I
-Lcom/android/internal/R$styleable;->Keyboard_Key_popupKeyboard:I
-Lcom/android/internal/R$styleable;->Keyboard_Row_keyboardMode:I
-Lcom/android/internal/R$styleable;->Keyboard_Row_rowEdgeFlags:I
-Lcom/android/internal/R$styleable;->Keyboard_verticalGap:I
-Lcom/android/internal/R$styleable;->Keyframe:[I
-Lcom/android/internal/R$styleable;->Keyframe_fraction:I
-Lcom/android/internal/R$styleable;->Keyframe_interpolator:I
-Lcom/android/internal/R$styleable;->Keyframe_value:I
-Lcom/android/internal/R$styleable;->Keyframe_valueType:I
-Lcom/android/internal/R$styleable;->KeyguardGlowStripView:[I
-Lcom/android/internal/R$styleable;->KeyguardGlowStripView_dotSize:I
-Lcom/android/internal/R$styleable;->KeyguardGlowStripView_glowDot:I
-Lcom/android/internal/R$styleable;->KeyguardGlowStripView_leftToRight:I
-Lcom/android/internal/R$styleable;->KeyguardGlowStripView_numDots:I
-Lcom/android/internal/R$styleable;->LayerDrawable:[I
-Lcom/android/internal/R$styleable;->LayerDrawableItem:[I
-Lcom/android/internal/R$styleable;->LayerDrawableItem_bottom:I
-Lcom/android/internal/R$styleable;->LayerDrawableItem_drawable:I
-Lcom/android/internal/R$styleable;->LayerDrawableItem_end:I
-Lcom/android/internal/R$styleable;->LayerDrawableItem_gravity:I
-Lcom/android/internal/R$styleable;->LayerDrawableItem_height:I
-Lcom/android/internal/R$styleable;->LayerDrawableItem_id:I
-Lcom/android/internal/R$styleable;->LayerDrawableItem_left:I
-Lcom/android/internal/R$styleable;->LayerDrawableItem_right:I
-Lcom/android/internal/R$styleable;->LayerDrawableItem_start:I
-Lcom/android/internal/R$styleable;->LayerDrawableItem_top:I
-Lcom/android/internal/R$styleable;->LayerDrawableItem_width:I
-Lcom/android/internal/R$styleable;->LayerDrawable_autoMirrored:I
-Lcom/android/internal/R$styleable;->LayerDrawable_opacity:I
-Lcom/android/internal/R$styleable;->LayerDrawable_paddingBottom:I
-Lcom/android/internal/R$styleable;->LayerDrawable_paddingEnd:I
-Lcom/android/internal/R$styleable;->LayerDrawable_paddingLeft:I
-Lcom/android/internal/R$styleable;->LayerDrawable_paddingMode:I
-Lcom/android/internal/R$styleable;->LayerDrawable_paddingRight:I
-Lcom/android/internal/R$styleable;->LayerDrawable_paddingStart:I
-Lcom/android/internal/R$styleable;->LayerDrawable_paddingTop:I
-Lcom/android/internal/R$styleable;->LayoutAnimation:[I
-Lcom/android/internal/R$styleable;->LayoutAnimation_animation:I
-Lcom/android/internal/R$styleable;->LayoutAnimation_animationOrder:I
-Lcom/android/internal/R$styleable;->LayoutAnimation_delay:I
-Lcom/android/internal/R$styleable;->LayoutAnimation_interpolator:I
-Lcom/android/internal/R$styleable;->LevelListDrawableItem:[I
-Lcom/android/internal/R$styleable;->LevelListDrawableItem_drawable:I
-Lcom/android/internal/R$styleable;->LevelListDrawableItem_maxLevel:I
-Lcom/android/internal/R$styleable;->LevelListDrawableItem_minLevel:I
-Lcom/android/internal/R$styleable;->Lighting:[I
-Lcom/android/internal/R$styleable;->Lighting_ambientShadowAlpha:I
-Lcom/android/internal/R$styleable;->Lighting_lightRadius:I
-Lcom/android/internal/R$styleable;->Lighting_lightY:I
-Lcom/android/internal/R$styleable;->Lighting_lightZ:I
-Lcom/android/internal/R$styleable;->Lighting_spotShadowAlpha:I
-Lcom/android/internal/R$styleable;->LinearLayout_baselineAligned:I
-Lcom/android/internal/R$styleable;->LinearLayout_baselineAlignedChildIndex:I
-Lcom/android/internal/R$styleable;->LinearLayout_divider:I
-Lcom/android/internal/R$styleable;->LinearLayout_dividerPadding:I
-Lcom/android/internal/R$styleable;->LinearLayout_gravity:I
-Lcom/android/internal/R$styleable;->LinearLayout_Layout:[I
-Lcom/android/internal/R$styleable;->LinearLayout_Layout_layout_gravity:I
-Lcom/android/internal/R$styleable;->LinearLayout_Layout_layout_height:I
-Lcom/android/internal/R$styleable;->LinearLayout_Layout_layout_weight:I
-Lcom/android/internal/R$styleable;->LinearLayout_Layout_layout_width:I
-Lcom/android/internal/R$styleable;->LinearLayout_measureWithLargestChild:I
-Lcom/android/internal/R$styleable;->LinearLayout_orientation:I
-Lcom/android/internal/R$styleable;->LinearLayout_showDividers:I
-Lcom/android/internal/R$styleable;->LinearLayout_weightSum:I
-Lcom/android/internal/R$styleable;->ListPopupWindow:[I
-Lcom/android/internal/R$styleable;->ListPopupWindow_dropDownHorizontalOffset:I
-Lcom/android/internal/R$styleable;->ListPopupWindow_dropDownVerticalOffset:I
-Lcom/android/internal/R$styleable;->ListPreference_entryValues:I
-Lcom/android/internal/R$styleable;->LockPatternView:[I
-Lcom/android/internal/R$styleable;->LockPatternView_aspect:I
-Lcom/android/internal/R$styleable;->LockPatternView_errorColor:I
-Lcom/android/internal/R$styleable;->LockPatternView_pathColor:I
-Lcom/android/internal/R$styleable;->LockPatternView_regularColor:I
-Lcom/android/internal/R$styleable;->LockPatternView_successColor:I
-Lcom/android/internal/R$styleable;->MaterialProgressDrawable:[I
-Lcom/android/internal/R$styleable;->MaterialProgressDrawable_color:I
-Lcom/android/internal/R$styleable;->MaterialProgressDrawable_height:I
-Lcom/android/internal/R$styleable;->MaterialProgressDrawable_innerRadius:I
-Lcom/android/internal/R$styleable;->MaterialProgressDrawable_thickness:I
-Lcom/android/internal/R$styleable;->MaterialProgressDrawable_visible:I
-Lcom/android/internal/R$styleable;->MaterialProgressDrawable_width:I
-Lcom/android/internal/R$styleable;->MediaRouteButton:[I
-Lcom/android/internal/R$styleable;->MediaRouteButton_externalRouteEnabledDrawable:I
-Lcom/android/internal/R$styleable;->MediaRouteButton_mediaRouteTypes:I
-Lcom/android/internal/R$styleable;->MediaRouteButton_minHeight:I
-Lcom/android/internal/R$styleable;->MediaRouteButton_minWidth:I
-Lcom/android/internal/R$styleable;->Menu:[I
-Lcom/android/internal/R$styleable;->MenuGroup_checkableBehavior:I
-Lcom/android/internal/R$styleable;->MenuGroup_enabled:I
-Lcom/android/internal/R$styleable;->MenuGroup_id:I
-Lcom/android/internal/R$styleable;->MenuGroup_menuCategory:I
-Lcom/android/internal/R$styleable;->MenuGroup_orderInCategory:I
-Lcom/android/internal/R$styleable;->MenuGroup_visible:I
-Lcom/android/internal/R$styleable;->MenuItemCheckedFocusedState:[I
-Lcom/android/internal/R$styleable;->MenuItemCheckedFocusedState_state_checkable:I
-Lcom/android/internal/R$styleable;->MenuItemCheckedFocusedState_state_checked:I
-Lcom/android/internal/R$styleable;->MenuItemCheckedFocusedState_state_focused:I
-Lcom/android/internal/R$styleable;->MenuItemCheckedState:[I
-Lcom/android/internal/R$styleable;->MenuItemCheckedState_state_checkable:I
-Lcom/android/internal/R$styleable;->MenuItemCheckedState_state_checked:I
-Lcom/android/internal/R$styleable;->MenuItemUncheckedFocusedState:[I
-Lcom/android/internal/R$styleable;->MenuItemUncheckedFocusedState_state_checkable:I
-Lcom/android/internal/R$styleable;->MenuItemUncheckedFocusedState_state_focused:I
-Lcom/android/internal/R$styleable;->MenuItemUncheckedState:[I
-Lcom/android/internal/R$styleable;->MenuItemUncheckedState_state_checkable:I
-Lcom/android/internal/R$styleable;->MenuItem_actionLayout:I
-Lcom/android/internal/R$styleable;->MenuItem_actionProviderClass:I
-Lcom/android/internal/R$styleable;->MenuItem_actionViewClass:I
-Lcom/android/internal/R$styleable;->MenuItem_alphabeticModifiers:I
-Lcom/android/internal/R$styleable;->MenuItem_alphabeticShortcut:I
-Lcom/android/internal/R$styleable;->MenuItem_checkable:I
-Lcom/android/internal/R$styleable;->MenuItem_checked:I
-Lcom/android/internal/R$styleable;->MenuItem_contentDescription:I
-Lcom/android/internal/R$styleable;->MenuItem_enabled:I
-Lcom/android/internal/R$styleable;->MenuItem_icon:I
-Lcom/android/internal/R$styleable;->MenuItem_iconTint:I
-Lcom/android/internal/R$styleable;->MenuItem_iconTintMode:I
-Lcom/android/internal/R$styleable;->MenuItem_id:I
-Lcom/android/internal/R$styleable;->MenuItem_menuCategory:I
-Lcom/android/internal/R$styleable;->MenuItem_numericModifiers:I
-Lcom/android/internal/R$styleable;->MenuItem_numericShortcut:I
-Lcom/android/internal/R$styleable;->MenuItem_onClick:I
-Lcom/android/internal/R$styleable;->MenuItem_orderInCategory:I
-Lcom/android/internal/R$styleable;->MenuItem_showAsAction:I
-Lcom/android/internal/R$styleable;->MenuItem_title:I
-Lcom/android/internal/R$styleable;->MenuItem_titleCondensed:I
-Lcom/android/internal/R$styleable;->MenuItem_tooltipText:I
-Lcom/android/internal/R$styleable;->MenuItem_visible:I
-Lcom/android/internal/R$styleable;->MenuView_headerBackground:I
-Lcom/android/internal/R$styleable;->MenuView_horizontalDivider:I
-Lcom/android/internal/R$styleable;->MenuView_itemBackground:I
-Lcom/android/internal/R$styleable;->MenuView_itemIconDisabledAlpha:I
-Lcom/android/internal/R$styleable;->MenuView_itemTextAppearance:I
-Lcom/android/internal/R$styleable;->MenuView_preserveIconSpacing:I
-Lcom/android/internal/R$styleable;->MenuView_subMenuArrow:I
-Lcom/android/internal/R$styleable;->MenuView_verticalDivider:I
-Lcom/android/internal/R$styleable;->MenuView_windowAnimationStyle:I
-Lcom/android/internal/R$styleable;->MessagingLinearLayout:[I
-Lcom/android/internal/R$styleable;->MessagingLinearLayout_spacing:I
-Lcom/android/internal/R$styleable;->MultiSelectListPreference:[I
-Lcom/android/internal/R$styleable;->MultiSelectListPreference_entries:I
-Lcom/android/internal/R$styleable;->MultiSelectListPreference_entryValues:I
-Lcom/android/internal/R$styleable;->Nfcid2Filter:[I
-Lcom/android/internal/R$styleable;->Nfcid2Filter_name:I
-Lcom/android/internal/R$styleable;->NinePatchDrawable:[I
-Lcom/android/internal/R$styleable;->NinePatchDrawable_alpha:I
-Lcom/android/internal/R$styleable;->NinePatchDrawable_autoMirrored:I
-Lcom/android/internal/R$styleable;->NinePatchDrawable_dither:I
-Lcom/android/internal/R$styleable;->NinePatchDrawable_src:I
-Lcom/android/internal/R$styleable;->NinePatchDrawable_tint:I
-Lcom/android/internal/R$styleable;->NinePatchDrawable_tintMode:I
-Lcom/android/internal/R$styleable;->NotificationTheme:[I
-Lcom/android/internal/R$styleable;->NotificationTheme_notificationHeaderAppNameVisibility:I
-Lcom/android/internal/R$styleable;->NotificationTheme_notificationHeaderIconSize:I
-Lcom/android/internal/R$styleable;->NotificationTheme_notificationHeaderStyle:I
-Lcom/android/internal/R$styleable;->NotificationTheme_notificationHeaderTextAppearance:I
-Lcom/android/internal/R$styleable;->NumberPicker_hideWheelUntilFocused:I
-Lcom/android/internal/R$styleable;->NumberPicker_internalLayout:I
-Lcom/android/internal/R$styleable;->NumberPicker_internalMaxHeight:I
-Lcom/android/internal/R$styleable;->NumberPicker_internalMaxWidth:I
-Lcom/android/internal/R$styleable;->NumberPicker_internalMinHeight:I
-Lcom/android/internal/R$styleable;->NumberPicker_internalMinWidth:I
-Lcom/android/internal/R$styleable;->NumberPicker_selectionDivider:I
-Lcom/android/internal/R$styleable;->NumberPicker_selectionDividerHeight:I
-Lcom/android/internal/R$styleable;->NumberPicker_selectionDividersDistance:I
-Lcom/android/internal/R$styleable;->NumberPicker_solidColor:I
-Lcom/android/internal/R$styleable;->NumberPicker_virtualButtonPressedDrawable:I
-Lcom/android/internal/R$styleable;->OffHostApduService:[I
-Lcom/android/internal/R$styleable;->OffHostApduService_apduServiceBanner:I
-Lcom/android/internal/R$styleable;->OffHostApduService_description:I
-Lcom/android/internal/R$styleable;->OffHostApduService_settingsActivity:I
-Lcom/android/internal/R$styleable;->OvershootInterpolator:[I
-Lcom/android/internal/R$styleable;->OvershootInterpolator_tension:I
-Lcom/android/internal/R$styleable;->PagedView:[I
-Lcom/android/internal/R$styleable;->PagedView_pageSpacing:I
-Lcom/android/internal/R$styleable;->PagedView_scrollIndicatorPaddingLeft:I
-Lcom/android/internal/R$styleable;->PagedView_scrollIndicatorPaddingRight:I
-Lcom/android/internal/R$styleable;->PathInterpolator:[I
-Lcom/android/internal/R$styleable;->PathInterpolator_controlX1:I
-Lcom/android/internal/R$styleable;->PathInterpolator_controlX2:I
-Lcom/android/internal/R$styleable;->PathInterpolator_controlY1:I
-Lcom/android/internal/R$styleable;->PathInterpolator_controlY2:I
-Lcom/android/internal/R$styleable;->PathInterpolator_pathData:I
-Lcom/android/internal/R$styleable;->PatternPathMotion:[I
-Lcom/android/internal/R$styleable;->PatternPathMotion_patternPathData:I
-Lcom/android/internal/R$styleable;->Pointer:[I
-Lcom/android/internal/R$styleable;->PointerIcon:[I
-Lcom/android/internal/R$styleable;->PointerIcon_bitmap:I
-Lcom/android/internal/R$styleable;->PointerIcon_hotSpotX:I
-Lcom/android/internal/R$styleable;->PointerIcon_hotSpotY:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconAlias:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconAllScroll:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconArrow:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconCell:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconContextMenu:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconCopy:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconCrosshair:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconGrab:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconGrabbing:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconHand:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconHelp:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconHorizontalDoubleArrow:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconNodrop:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconSpotAnchor:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconSpotHover:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconSpotTouch:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconText:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconTopLeftDiagonalDoubleArrow:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconTopRightDiagonalDoubleArrow:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconVerticalDoubleArrow:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconVerticalText:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconWait:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconZoomIn:I
-Lcom/android/internal/R$styleable;->Pointer_pointerIconZoomOut:I
-Lcom/android/internal/R$styleable;->PopupWindowBackgroundState:[I
-Lcom/android/internal/R$styleable;->PopupWindowBackgroundState_state_above_anchor:I
-Lcom/android/internal/R$styleable;->PopupWindow_overlapAnchor:I
-Lcom/android/internal/R$styleable;->PopupWindow_popupElevation:I
-Lcom/android/internal/R$styleable;->PopupWindow_popupEnterTransition:I
-Lcom/android/internal/R$styleable;->PopupWindow_popupExitTransition:I
-Lcom/android/internal/R$styleable;->PreferenceActivity:[I
-Lcom/android/internal/R$styleable;->PreferenceActivity_headerLayout:I
-Lcom/android/internal/R$styleable;->PreferenceActivity_headerRemoveIconIfEmpty:I
-Lcom/android/internal/R$styleable;->PreferenceActivity_layout:I
-Lcom/android/internal/R$styleable;->PreferenceFragment:[I
-Lcom/android/internal/R$styleable;->PreferenceFragment_divider:I
-Lcom/android/internal/R$styleable;->PreferenceFragment_layout:I
-Lcom/android/internal/R$styleable;->PreferenceFrameLayout:[I
-Lcom/android/internal/R$styleable;->PreferenceFrameLayout_borderBottom:I
-Lcom/android/internal/R$styleable;->PreferenceFrameLayout_borderLeft:I
-Lcom/android/internal/R$styleable;->PreferenceFrameLayout_borderRight:I
-Lcom/android/internal/R$styleable;->PreferenceFrameLayout_borderTop:I
-Lcom/android/internal/R$styleable;->PreferenceFrameLayout_Layout:[I
-Lcom/android/internal/R$styleable;->PreferenceFrameLayout_Layout_layout_removeBorders:I
-Lcom/android/internal/R$styleable;->PreferenceHeader:[I
-Lcom/android/internal/R$styleable;->PreferenceHeader_breadCrumbShortTitle:I
-Lcom/android/internal/R$styleable;->PreferenceHeader_breadCrumbTitle:I
-Lcom/android/internal/R$styleable;->PreferenceHeader_fragment:I
-Lcom/android/internal/R$styleable;->PreferenceHeader_icon:I
-Lcom/android/internal/R$styleable;->PreferenceHeader_id:I
-Lcom/android/internal/R$styleable;->PreferenceHeader_summary:I
-Lcom/android/internal/R$styleable;->PreferenceHeader_title:I
-Lcom/android/internal/R$styleable;->PreferenceScreen:[I
-Lcom/android/internal/R$styleable;->PreferenceScreen_divider:I
-Lcom/android/internal/R$styleable;->PreferenceScreen_screenLayout:I
-Lcom/android/internal/R$styleable;->Preference_iconSpaceReserved:I
-Lcom/android/internal/R$styleable;->Preference_recycleEnabled:I
-Lcom/android/internal/R$styleable;->Preference_singleLineTitle:I
-Lcom/android/internal/R$styleable;->PrintService:[I
-Lcom/android/internal/R$styleable;->PrintService_addPrintersActivity:I
-Lcom/android/internal/R$styleable;->PrintService_advancedPrintOptionsActivity:I
-Lcom/android/internal/R$styleable;->PrintService_settingsActivity:I
-Lcom/android/internal/R$styleable;->PrintService_vendor:I
-Lcom/android/internal/R$styleable;->ProgressBar_animationResolution:I
-Lcom/android/internal/R$styleable;->ProgressBar_backgroundTint:I
-Lcom/android/internal/R$styleable;->ProgressBar_backgroundTintMode:I
-Lcom/android/internal/R$styleable;->ProgressBar_indeterminate:I
-Lcom/android/internal/R$styleable;->ProgressBar_indeterminateBehavior:I
-Lcom/android/internal/R$styleable;->ProgressBar_indeterminateDrawable:I
-Lcom/android/internal/R$styleable;->ProgressBar_indeterminateDuration:I
-Lcom/android/internal/R$styleable;->ProgressBar_indeterminateOnly:I
-Lcom/android/internal/R$styleable;->ProgressBar_indeterminateTint:I
-Lcom/android/internal/R$styleable;->ProgressBar_indeterminateTintMode:I
-Lcom/android/internal/R$styleable;->ProgressBar_interpolator:I
-Lcom/android/internal/R$styleable;->ProgressBar_max:I
-Lcom/android/internal/R$styleable;->ProgressBar_maxHeight:I
-Lcom/android/internal/R$styleable;->ProgressBar_maxWidth:I
-Lcom/android/internal/R$styleable;->ProgressBar_min:I
-Lcom/android/internal/R$styleable;->ProgressBar_minHeight:I
-Lcom/android/internal/R$styleable;->ProgressBar_minWidth:I
-Lcom/android/internal/R$styleable;->ProgressBar_mirrorForRtl:I
-Lcom/android/internal/R$styleable;->ProgressBar_progress:I
-Lcom/android/internal/R$styleable;->ProgressBar_progressBackgroundTint:I
-Lcom/android/internal/R$styleable;->ProgressBar_progressBackgroundTintMode:I
-Lcom/android/internal/R$styleable;->ProgressBar_progressDrawable:I
-Lcom/android/internal/R$styleable;->ProgressBar_progressTint:I
-Lcom/android/internal/R$styleable;->ProgressBar_progressTintMode:I
-Lcom/android/internal/R$styleable;->ProgressBar_secondaryProgress:I
-Lcom/android/internal/R$styleable;->ProgressBar_secondaryProgressTint:I
-Lcom/android/internal/R$styleable;->ProgressBar_secondaryProgressTintMode:I
-Lcom/android/internal/R$styleable;->PropertyAnimator:[I
-Lcom/android/internal/R$styleable;->PropertyAnimator_pathData:I
-Lcom/android/internal/R$styleable;->PropertyAnimator_propertyName:I
-Lcom/android/internal/R$styleable;->PropertyAnimator_propertyXName:I
-Lcom/android/internal/R$styleable;->PropertyAnimator_propertyYName:I
-Lcom/android/internal/R$styleable;->PropertyValuesHolder:[I
-Lcom/android/internal/R$styleable;->PropertyValuesHolder_propertyName:I
-Lcom/android/internal/R$styleable;->PropertyValuesHolder_valueFrom:I
-Lcom/android/internal/R$styleable;->PropertyValuesHolder_valueTo:I
-Lcom/android/internal/R$styleable;->PropertyValuesHolder_valueType:I
-Lcom/android/internal/R$styleable;->QuickContactBadge_quickContactWindowSize:I
-Lcom/android/internal/R$styleable;->RadioGroup:[I
-Lcom/android/internal/R$styleable;->RadioGroup_checkedButton:I
-Lcom/android/internal/R$styleable;->RadioGroup_orientation:I
-Lcom/android/internal/R$styleable;->RatingBar:[I
-Lcom/android/internal/R$styleable;->RatingBar_isIndicator:I
-Lcom/android/internal/R$styleable;->RatingBar_numStars:I
-Lcom/android/internal/R$styleable;->RatingBar_rating:I
-Lcom/android/internal/R$styleable;->RatingBar_stepSize:I
-Lcom/android/internal/R$styleable;->RatingDefinition:[I
-Lcom/android/internal/R$styleable;->RatingDefinition_contentAgeHint:I
-Lcom/android/internal/R$styleable;->RatingDefinition_description:I
-Lcom/android/internal/R$styleable;->RatingDefinition_name:I
-Lcom/android/internal/R$styleable;->RatingDefinition_title:I
-Lcom/android/internal/R$styleable;->RatingSystemDefinition:[I
-Lcom/android/internal/R$styleable;->RatingSystemDefinition_country:I
-Lcom/android/internal/R$styleable;->RatingSystemDefinition_description:I
-Lcom/android/internal/R$styleable;->RatingSystemDefinition_name:I
-Lcom/android/internal/R$styleable;->RatingSystemDefinition_title:I
-Lcom/android/internal/R$styleable;->RecognitionService:[I
-Lcom/android/internal/R$styleable;->RecognitionService_settingsActivity:I
-Lcom/android/internal/R$styleable;->RecycleListView:[I
-Lcom/android/internal/R$styleable;->RecycleListView_paddingBottomNoButtons:I
-Lcom/android/internal/R$styleable;->RecycleListView_paddingTopNoTitle:I
-Lcom/android/internal/R$styleable;->RecyclerView:[I
-Lcom/android/internal/R$styleable;->RecyclerView_descendantFocusability:I
-Lcom/android/internal/R$styleable;->RecyclerView_layoutManager:I
-Lcom/android/internal/R$styleable;->RecyclerView_orientation:I
-Lcom/android/internal/R$styleable;->RecyclerView_reverseLayout:I
-Lcom/android/internal/R$styleable;->RecyclerView_spanCount:I
-Lcom/android/internal/R$styleable;->RecyclerView_stackFromEnd:I
-Lcom/android/internal/R$styleable;->RelativeLayout:[I
-Lcom/android/internal/R$styleable;->RelativeLayout_gravity:I
-Lcom/android/internal/R$styleable;->RelativeLayout_ignoreGravity:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout:[I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_above:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_alignBaseline:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_alignBottom:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_alignEnd:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_alignLeft:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_alignParentBottom:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_alignParentEnd:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_alignParentLeft:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_alignParentRight:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_alignParentStart:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_alignParentTop:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_alignRight:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_alignStart:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_alignTop:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_alignWithParentIfMissing:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_below:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_centerHorizontal:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_centerInParent:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_centerVertical:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_toEndOf:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_toLeftOf:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_toRightOf:I
-Lcom/android/internal/R$styleable;->RelativeLayout_Layout_layout_toStartOf:I
-Lcom/android/internal/R$styleable;->ResolverDrawerLayout:[I
-Lcom/android/internal/R$styleable;->ResolverDrawerLayout_LayoutParams:[I
-Lcom/android/internal/R$styleable;->ResolverDrawerLayout_LayoutParams_layout_alwaysShow:I
-Lcom/android/internal/R$styleable;->ResolverDrawerLayout_LayoutParams_layout_gravity:I
-Lcom/android/internal/R$styleable;->ResolverDrawerLayout_LayoutParams_layout_hasNestedScrollIndicator:I
-Lcom/android/internal/R$styleable;->ResolverDrawerLayout_LayoutParams_layout_ignoreOffset:I
-Lcom/android/internal/R$styleable;->ResolverDrawerLayout_maxCollapsedHeight:I
-Lcom/android/internal/R$styleable;->ResolverDrawerLayout_maxCollapsedHeightSmall:I
-Lcom/android/internal/R$styleable;->ResolverDrawerLayout_maxWidth:I
-Lcom/android/internal/R$styleable;->ResolverDrawerLayout_showAtTop:I
-Lcom/android/internal/R$styleable;->RestrictionEntry:[I
-Lcom/android/internal/R$styleable;->RestrictionEntry_defaultValue:I
-Lcom/android/internal/R$styleable;->RestrictionEntry_description:I
-Lcom/android/internal/R$styleable;->RestrictionEntry_entries:I
-Lcom/android/internal/R$styleable;->RestrictionEntry_entryValues:I
-Lcom/android/internal/R$styleable;->RestrictionEntry_key:I
-Lcom/android/internal/R$styleable;->RestrictionEntry_restrictionType:I
-Lcom/android/internal/R$styleable;->RestrictionEntry_title:I
-Lcom/android/internal/R$styleable;->RingtonePreference_ringtoneType:I
-Lcom/android/internal/R$styleable;->RingtonePreference_showDefault:I
-Lcom/android/internal/R$styleable;->RingtonePreference_showSilent:I
-Lcom/android/internal/R$styleable;->RippleDrawable:[I
-Lcom/android/internal/R$styleable;->RippleDrawable_color:I
-Lcom/android/internal/R$styleable;->RippleDrawable_radius:I
-Lcom/android/internal/R$styleable;->RotateAnimation:[I
-Lcom/android/internal/R$styleable;->RotateAnimation_fromDegrees:I
-Lcom/android/internal/R$styleable;->RotateAnimation_pivotX:I
-Lcom/android/internal/R$styleable;->RotateAnimation_pivotY:I
-Lcom/android/internal/R$styleable;->RotateAnimation_toDegrees:I
-Lcom/android/internal/R$styleable;->RotateDrawable:[I
-Lcom/android/internal/R$styleable;->RotateDrawable_drawable:I
-Lcom/android/internal/R$styleable;->RotateDrawable_fromDegrees:I
-Lcom/android/internal/R$styleable;->RotateDrawable_pivotX:I
-Lcom/android/internal/R$styleable;->RotateDrawable_pivotY:I
-Lcom/android/internal/R$styleable;->RotateDrawable_toDegrees:I
-Lcom/android/internal/R$styleable;->RotateDrawable_visible:I
-Lcom/android/internal/R$styleable;->ScaleAnimation:[I
-Lcom/android/internal/R$styleable;->ScaleAnimation_fromXScale:I
-Lcom/android/internal/R$styleable;->ScaleAnimation_fromYScale:I
-Lcom/android/internal/R$styleable;->ScaleAnimation_pivotX:I
-Lcom/android/internal/R$styleable;->ScaleAnimation_pivotY:I
-Lcom/android/internal/R$styleable;->ScaleAnimation_toXScale:I
-Lcom/android/internal/R$styleable;->ScaleAnimation_toYScale:I
-Lcom/android/internal/R$styleable;->ScaleDrawable:[I
-Lcom/android/internal/R$styleable;->ScaleDrawable_drawable:I
-Lcom/android/internal/R$styleable;->ScaleDrawable_level:I
-Lcom/android/internal/R$styleable;->ScaleDrawable_scaleGravity:I
-Lcom/android/internal/R$styleable;->ScaleDrawable_scaleHeight:I
-Lcom/android/internal/R$styleable;->ScaleDrawable_scaleWidth:I
-Lcom/android/internal/R$styleable;->ScaleDrawable_useIntrinsicSizeAsMinimum:I
-Lcom/android/internal/R$styleable;->SearchableActionKey_keycode:I
-Lcom/android/internal/R$styleable;->SearchableActionKey_queryActionMsg:I
-Lcom/android/internal/R$styleable;->SearchableActionKey_suggestActionMsg:I
-Lcom/android/internal/R$styleable;->SearchableActionKey_suggestActionMsgColumn:I
-Lcom/android/internal/R$styleable;->Searchable_autoUrlDetect:I
-Lcom/android/internal/R$styleable;->Searchable_hint:I
-Lcom/android/internal/R$styleable;->Searchable_icon:I
-Lcom/android/internal/R$styleable;->Searchable_imeOptions:I
-Lcom/android/internal/R$styleable;->Searchable_includeInGlobalSearch:I
-Lcom/android/internal/R$styleable;->Searchable_inputType:I
-Lcom/android/internal/R$styleable;->Searchable_label:I
-Lcom/android/internal/R$styleable;->Searchable_queryAfterZeroResults:I
-Lcom/android/internal/R$styleable;->Searchable_searchButtonText:I
-Lcom/android/internal/R$styleable;->Searchable_searchMode:I
-Lcom/android/internal/R$styleable;->Searchable_searchSettingsDescription:I
-Lcom/android/internal/R$styleable;->Searchable_searchSuggestAuthority:I
-Lcom/android/internal/R$styleable;->Searchable_searchSuggestIntentAction:I
-Lcom/android/internal/R$styleable;->Searchable_searchSuggestIntentData:I
-Lcom/android/internal/R$styleable;->Searchable_searchSuggestPath:I
-Lcom/android/internal/R$styleable;->Searchable_searchSuggestSelection:I
-Lcom/android/internal/R$styleable;->Searchable_searchSuggestThreshold:I
-Lcom/android/internal/R$styleable;->Searchable_voiceLanguage:I
-Lcom/android/internal/R$styleable;->Searchable_voiceLanguageModel:I
-Lcom/android/internal/R$styleable;->Searchable_voiceMaxResults:I
-Lcom/android/internal/R$styleable;->Searchable_voicePromptText:I
-Lcom/android/internal/R$styleable;->Searchable_voiceSearchMode:I
-Lcom/android/internal/R$styleable;->SearchView:[I
-Lcom/android/internal/R$styleable;->SearchView_closeIcon:I
-Lcom/android/internal/R$styleable;->SearchView_commitIcon:I
-Lcom/android/internal/R$styleable;->SearchView_defaultQueryHint:I
-Lcom/android/internal/R$styleable;->SearchView_goIcon:I
-Lcom/android/internal/R$styleable;->SearchView_iconifiedByDefault:I
-Lcom/android/internal/R$styleable;->SearchView_imeOptions:I
-Lcom/android/internal/R$styleable;->SearchView_inputType:I
-Lcom/android/internal/R$styleable;->SearchView_layout:I
-Lcom/android/internal/R$styleable;->SearchView_maxWidth:I
-Lcom/android/internal/R$styleable;->SearchView_queryBackground:I
-Lcom/android/internal/R$styleable;->SearchView_queryHint:I
-Lcom/android/internal/R$styleable;->SearchView_searchHintIcon:I
-Lcom/android/internal/R$styleable;->SearchView_searchIcon:I
-Lcom/android/internal/R$styleable;->SearchView_submitBackground:I
-Lcom/android/internal/R$styleable;->SearchView_suggestionRowLayout:I
-Lcom/android/internal/R$styleable;->SearchView_voiceIcon:I
-Lcom/android/internal/R$styleable;->SeekBar:[I
-Lcom/android/internal/R$styleable;->SeekBarPreference:[I
-Lcom/android/internal/R$styleable;->SeekBarPreference_adjustable:I
-Lcom/android/internal/R$styleable;->SeekBarPreference_layout:I
-Lcom/android/internal/R$styleable;->SeekBarPreference_showSeekBarValue:I
-Lcom/android/internal/R$styleable;->SeekBar_splitTrack:I
-Lcom/android/internal/R$styleable;->SeekBar_thumb:I
-Lcom/android/internal/R$styleable;->SeekBar_thumbOffset:I
-Lcom/android/internal/R$styleable;->SeekBar_thumbTint:I
-Lcom/android/internal/R$styleable;->SeekBar_thumbTintMode:I
-Lcom/android/internal/R$styleable;->SeekBar_tickMark:I
-Lcom/android/internal/R$styleable;->SeekBar_tickMarkTint:I
-Lcom/android/internal/R$styleable;->SeekBar_tickMarkTintMode:I
-Lcom/android/internal/R$styleable;->SeekBar_useDisabledAlpha:I
-Lcom/android/internal/R$styleable;->SelectionModeDrawables_actionModeCopyDrawable:I
-Lcom/android/internal/R$styleable;->SelectionModeDrawables_actionModeCutDrawable:I
-Lcom/android/internal/R$styleable;->SelectionModeDrawables_actionModePasteDrawable:I
-Lcom/android/internal/R$styleable;->SelectionModeDrawables_actionModeSelectAllDrawable:I
-Lcom/android/internal/R$styleable;->SettingInjectorService:[I
-Lcom/android/internal/R$styleable;->SettingInjectorService_icon:I
-Lcom/android/internal/R$styleable;->SettingInjectorService_settingsActivity:I
-Lcom/android/internal/R$styleable;->SettingInjectorService_title:I
-Lcom/android/internal/R$styleable;->SettingInjectorService_userRestriction:I
-Lcom/android/internal/R$styleable;->ShapeDrawable:[I
-Lcom/android/internal/R$styleable;->ShapeDrawablePadding:[I
-Lcom/android/internal/R$styleable;->ShapeDrawablePadding_bottom:I
-Lcom/android/internal/R$styleable;->ShapeDrawablePadding_left:I
-Lcom/android/internal/R$styleable;->ShapeDrawablePadding_right:I
-Lcom/android/internal/R$styleable;->ShapeDrawablePadding_top:I
-Lcom/android/internal/R$styleable;->ShapeDrawable_color:I
-Lcom/android/internal/R$styleable;->ShapeDrawable_dither:I
-Lcom/android/internal/R$styleable;->ShapeDrawable_height:I
-Lcom/android/internal/R$styleable;->ShapeDrawable_tint:I
-Lcom/android/internal/R$styleable;->ShapeDrawable_tintMode:I
-Lcom/android/internal/R$styleable;->ShapeDrawable_width:I
-Lcom/android/internal/R$styleable;->Shortcut:[I
-Lcom/android/internal/R$styleable;->ShortcutCategories:[I
-Lcom/android/internal/R$styleable;->ShortcutCategories_name:I
-Lcom/android/internal/R$styleable;->Shortcut_enabled:I
-Lcom/android/internal/R$styleable;->Shortcut_icon:I
-Lcom/android/internal/R$styleable;->Shortcut_shortcutDisabledMessage:I
-Lcom/android/internal/R$styleable;->Shortcut_shortcutId:I
-Lcom/android/internal/R$styleable;->Shortcut_shortcutLongLabel:I
-Lcom/android/internal/R$styleable;->Shortcut_shortcutShortLabel:I
-Lcom/android/internal/R$styleable;->Slide:[I
-Lcom/android/internal/R$styleable;->Slide_slideEdge:I
-Lcom/android/internal/R$styleable;->SlidingDrawer:[I
-Lcom/android/internal/R$styleable;->SlidingDrawer_allowSingleTap:I
-Lcom/android/internal/R$styleable;->SlidingDrawer_animateOnClick:I
-Lcom/android/internal/R$styleable;->SlidingDrawer_bottomOffset:I
-Lcom/android/internal/R$styleable;->SlidingDrawer_content:I
-Lcom/android/internal/R$styleable;->SlidingDrawer_handle:I
-Lcom/android/internal/R$styleable;->SlidingDrawer_orientation:I
-Lcom/android/internal/R$styleable;->SlidingDrawer_topOffset:I
-Lcom/android/internal/R$styleable;->SlidingTab:[I
-Lcom/android/internal/R$styleable;->SlidingTab_orientation:I
-Lcom/android/internal/R$styleable;->SpellChecker:[I
-Lcom/android/internal/R$styleable;->SpellChecker_label:I
-Lcom/android/internal/R$styleable;->SpellChecker_settingsActivity:I
-Lcom/android/internal/R$styleable;->SpellChecker_Subtype:[I
-Lcom/android/internal/R$styleable;->SpellChecker_Subtype_label:I
-Lcom/android/internal/R$styleable;->SpellChecker_Subtype_languageTag:I
-Lcom/android/internal/R$styleable;->SpellChecker_Subtype_subtypeExtraValue:I
-Lcom/android/internal/R$styleable;->SpellChecker_Subtype_subtypeId:I
-Lcom/android/internal/R$styleable;->SpellChecker_Subtype_subtypeLocale:I
-Lcom/android/internal/R$styleable;->Spinner:[I
-Lcom/android/internal/R$styleable;->Spinner_disableChildrenWhenDisabled:I
-Lcom/android/internal/R$styleable;->Spinner_dropDownSelector:I
-Lcom/android/internal/R$styleable;->Spinner_dropDownWidth:I
-Lcom/android/internal/R$styleable;->Spinner_gravity:I
-Lcom/android/internal/R$styleable;->Spinner_popupBackground:I
-Lcom/android/internal/R$styleable;->Spinner_popupElevation:I
-Lcom/android/internal/R$styleable;->Spinner_popupPromptView:I
-Lcom/android/internal/R$styleable;->Spinner_popupTheme:I
-Lcom/android/internal/R$styleable;->Spinner_prompt:I
-Lcom/android/internal/R$styleable;->Spinner_spinnerMode:I
-Lcom/android/internal/R$styleable;->StackView:[I
-Lcom/android/internal/R$styleable;->StackView_clickColor:I
-Lcom/android/internal/R$styleable;->StackView_resOutColor:I
-Lcom/android/internal/R$styleable;->StateListAnimatorItem:[I
-Lcom/android/internal/R$styleable;->StateListAnimatorItem_animation:I
-Lcom/android/internal/R$styleable;->StateListDrawable:[I
-Lcom/android/internal/R$styleable;->StateListDrawableItem:[I
-Lcom/android/internal/R$styleable;->StateListDrawableItem_drawable:I
-Lcom/android/internal/R$styleable;->StateListDrawable_autoMirrored:I
-Lcom/android/internal/R$styleable;->StateListDrawable_constantSize:I
-Lcom/android/internal/R$styleable;->StateListDrawable_dither:I
-Lcom/android/internal/R$styleable;->StateListDrawable_enterFadeDuration:I
-Lcom/android/internal/R$styleable;->StateListDrawable_exitFadeDuration:I
-Lcom/android/internal/R$styleable;->StateListDrawable_variablePadding:I
-Lcom/android/internal/R$styleable;->StateListDrawable_visible:I
-Lcom/android/internal/R$styleable;->Storage:[I
-Lcom/android/internal/R$styleable;->Storage_allowMassStorage:I
-Lcom/android/internal/R$styleable;->Storage_emulated:I
-Lcom/android/internal/R$styleable;->Storage_maxFileSize:I
-Lcom/android/internal/R$styleable;->Storage_mountPoint:I
-Lcom/android/internal/R$styleable;->Storage_mtpReserve:I
-Lcom/android/internal/R$styleable;->Storage_primary:I
-Lcom/android/internal/R$styleable;->Storage_removable:I
-Lcom/android/internal/R$styleable;->Storage_storageDescription:I
-Lcom/android/internal/R$styleable;->SuggestionSpan:[I
-Lcom/android/internal/R$styleable;->SuggestionSpan_textUnderlineColor:I
-Lcom/android/internal/R$styleable;->SuggestionSpan_textUnderlineThickness:I
-Lcom/android/internal/R$styleable;->SwitchPreference_disableDependentsState:I
-Lcom/android/internal/R$styleable;->SwitchPreference_summaryOff:I
-Lcom/android/internal/R$styleable;->SwitchPreference_summaryOn:I
-Lcom/android/internal/R$styleable;->SwitchPreference_switchTextOff:I
-Lcom/android/internal/R$styleable;->SwitchPreference_switchTextOn:I
-Lcom/android/internal/R$styleable;->Switch_showText:I
-Lcom/android/internal/R$styleable;->Switch_splitTrack:I
-Lcom/android/internal/R$styleable;->Switch_switchMinWidth:I
-Lcom/android/internal/R$styleable;->Switch_switchPadding:I
-Lcom/android/internal/R$styleable;->Switch_switchTextAppearance:I
-Lcom/android/internal/R$styleable;->Switch_textOff:I
-Lcom/android/internal/R$styleable;->Switch_textOn:I
-Lcom/android/internal/R$styleable;->Switch_thumb:I
-Lcom/android/internal/R$styleable;->Switch_thumbTextPadding:I
-Lcom/android/internal/R$styleable;->Switch_thumbTint:I
-Lcom/android/internal/R$styleable;->Switch_thumbTintMode:I
-Lcom/android/internal/R$styleable;->Switch_track:I
-Lcom/android/internal/R$styleable;->Switch_trackTint:I
-Lcom/android/internal/R$styleable;->Switch_trackTintMode:I
-Lcom/android/internal/R$styleable;->SystemCodeFilter:[I
-Lcom/android/internal/R$styleable;->SystemCodeFilter_name:I
-Lcom/android/internal/R$styleable;->T3tPmmFilter:[I
-Lcom/android/internal/R$styleable;->T3tPmmFilter_name:I
-Lcom/android/internal/R$styleable;->TableLayout:[I
-Lcom/android/internal/R$styleable;->TableLayout_collapseColumns:I
-Lcom/android/internal/R$styleable;->TableLayout_shrinkColumns:I
-Lcom/android/internal/R$styleable;->TableLayout_stretchColumns:I
-Lcom/android/internal/R$styleable;->TableRow:[I
-Lcom/android/internal/R$styleable;->TableRow_Cell:[I
-Lcom/android/internal/R$styleable;->TableRow_Cell_layout_column:I
-Lcom/android/internal/R$styleable;->TableRow_Cell_layout_span:I
-Lcom/android/internal/R$styleable;->TabWidget_divider:I
-Lcom/android/internal/R$styleable;->TabWidget_tabLayout:I
-Lcom/android/internal/R$styleable;->TabWidget_tabStripEnabled:I
-Lcom/android/internal/R$styleable;->TabWidget_tabStripLeft:I
-Lcom/android/internal/R$styleable;->TabWidget_tabStripRight:I
-Lcom/android/internal/R$styleable;->TextAppearance_elegantTextHeight:I
-Lcom/android/internal/R$styleable;->TextAppearance_fallbackLineSpacing:I
-Lcom/android/internal/R$styleable;->TextAppearance_fontFeatureSettings:I
-Lcom/android/internal/R$styleable;->TextAppearance_letterSpacing:I
-Lcom/android/internal/R$styleable;->TextAppearance_shadowColor:I
-Lcom/android/internal/R$styleable;->TextAppearance_shadowDx:I
-Lcom/android/internal/R$styleable;->TextAppearance_shadowDy:I
-Lcom/android/internal/R$styleable;->TextAppearance_shadowRadius:I
-Lcom/android/internal/R$styleable;->TextAppearance_textFontWeight:I
-Lcom/android/internal/R$styleable;->TextClock_format12Hour:I
-Lcom/android/internal/R$styleable;->TextClock_format24Hour:I
-Lcom/android/internal/R$styleable;->TextClock_timeZone:I
-Lcom/android/internal/R$styleable;->TextSwitcher:[I
-Lcom/android/internal/R$styleable;->TextToSpeechEngine:[I
-Lcom/android/internal/R$styleable;->TextToSpeechEngine_settingsActivity:I
-Lcom/android/internal/R$styleable;->TextViewMultiLineBackgroundState:[I
-Lcom/android/internal/R$styleable;->TextViewMultiLineBackgroundState_state_multiline:I
-Lcom/android/internal/R$styleable;->TextView_allowUndo:I
-Lcom/android/internal/R$styleable;->TextView_autoSizeMaxTextSize:I
-Lcom/android/internal/R$styleable;->TextView_autoSizeMinTextSize:I
-Lcom/android/internal/R$styleable;->TextView_autoSizePresetSizes:I
-Lcom/android/internal/R$styleable;->TextView_autoSizeStepGranularity:I
-Lcom/android/internal/R$styleable;->TextView_autoSizeTextType:I
-Lcom/android/internal/R$styleable;->TextView_breakStrategy:I
-Lcom/android/internal/R$styleable;->TextView_drawableTint:I
-Lcom/android/internal/R$styleable;->TextView_drawableTintMode:I
-Lcom/android/internal/R$styleable;->TextView_elegantTextHeight:I
-Lcom/android/internal/R$styleable;->TextView_fallbackLineSpacing:I
-Lcom/android/internal/R$styleable;->TextView_firstBaselineToTopHeight:I
-Lcom/android/internal/R$styleable;->TextView_fontFamily:I
-Lcom/android/internal/R$styleable;->TextView_fontFeatureSettings:I
-Lcom/android/internal/R$styleable;->TextView_hyphenationFrequency:I
-Lcom/android/internal/R$styleable;->TextView_justificationMode:I
-Lcom/android/internal/R$styleable;->TextView_lastBaselineToBottomHeight:I
-Lcom/android/internal/R$styleable;->TextView_letterSpacing:I
-Lcom/android/internal/R$styleable;->TextView_lineHeight:I
-Lcom/android/internal/R$styleable;->TextView_textEditNoPasteWindowLayout:I
-Lcom/android/internal/R$styleable;->TextView_textEditPasteWindowLayout:I
-Lcom/android/internal/R$styleable;->TextView_textEditSideNoPasteWindowLayout:I
-Lcom/android/internal/R$styleable;->TextView_textEditSidePasteWindowLayout:I
-Lcom/android/internal/R$styleable;->TextView_textEditSuggestionContainerLayout:I
-Lcom/android/internal/R$styleable;->TextView_textEditSuggestionHighlightStyle:I
-Lcom/android/internal/R$styleable;->TextView_textFontWeight:I
-Lcom/android/internal/R$styleable;->Theme_absListViewStyle:I
-Lcom/android/internal/R$styleable;->Theme_accessibilityFocusedDrawable:I
-Lcom/android/internal/R$styleable;->Theme_actionBarDivider:I
-Lcom/android/internal/R$styleable;->Theme_actionBarItemBackground:I
-Lcom/android/internal/R$styleable;->Theme_actionBarPopupTheme:I
-Lcom/android/internal/R$styleable;->Theme_actionBarSize:I
-Lcom/android/internal/R$styleable;->Theme_actionBarSplitStyle:I
-Lcom/android/internal/R$styleable;->Theme_actionBarStyle:I
-Lcom/android/internal/R$styleable;->Theme_actionBarTabBarStyle:I
-Lcom/android/internal/R$styleable;->Theme_actionBarTabStyle:I
-Lcom/android/internal/R$styleable;->Theme_actionBarTabTextStyle:I
-Lcom/android/internal/R$styleable;->Theme_actionBarTheme:I
-Lcom/android/internal/R$styleable;->Theme_actionBarWidgetTheme:I
-Lcom/android/internal/R$styleable;->Theme_actionButtonStyle:I
-Lcom/android/internal/R$styleable;->Theme_actionDropDownStyle:I
-Lcom/android/internal/R$styleable;->Theme_actionMenuTextAppearance:I
-Lcom/android/internal/R$styleable;->Theme_actionMenuTextColor:I
-Lcom/android/internal/R$styleable;->Theme_actionModeBackground:I
-Lcom/android/internal/R$styleable;->Theme_actionModeCloseButtonStyle:I
-Lcom/android/internal/R$styleable;->Theme_actionModeCloseDrawable:I
-Lcom/android/internal/R$styleable;->Theme_actionModeCopyDrawable:I
-Lcom/android/internal/R$styleable;->Theme_actionModeCutDrawable:I
-Lcom/android/internal/R$styleable;->Theme_actionModeFindDrawable:I
-Lcom/android/internal/R$styleable;->Theme_actionModePasteDrawable:I
-Lcom/android/internal/R$styleable;->Theme_actionModePopupWindowStyle:I
-Lcom/android/internal/R$styleable;->Theme_actionModeSelectAllDrawable:I
-Lcom/android/internal/R$styleable;->Theme_actionModeShareDrawable:I
-Lcom/android/internal/R$styleable;->Theme_actionModeSplitBackground:I
-Lcom/android/internal/R$styleable;->Theme_actionModeStyle:I
-Lcom/android/internal/R$styleable;->Theme_actionModeWebSearchDrawable:I
-Lcom/android/internal/R$styleable;->Theme_actionOverflowButtonStyle:I
-Lcom/android/internal/R$styleable;->Theme_actionOverflowMenuStyle:I
-Lcom/android/internal/R$styleable;->Theme_activatedBackgroundIndicator:I
-Lcom/android/internal/R$styleable;->Theme_activityChooserViewStyle:I
-Lcom/android/internal/R$styleable;->Theme_alertDialogButtonGroupStyle:I
-Lcom/android/internal/R$styleable;->Theme_alertDialogCenterButtons:I
-Lcom/android/internal/R$styleable;->Theme_alertDialogIcon:I
-Lcom/android/internal/R$styleable;->Theme_alertDialogStyle:I
-Lcom/android/internal/R$styleable;->Theme_alertDialogTheme:I
-Lcom/android/internal/R$styleable;->Theme_ambientShadowAlpha:I
-Lcom/android/internal/R$styleable;->Theme_autoCompleteTextViewStyle:I
-Lcom/android/internal/R$styleable;->Theme_autofillDatasetPickerMaxHeight:I
-Lcom/android/internal/R$styleable;->Theme_autofillDatasetPickerMaxWidth:I
-Lcom/android/internal/R$styleable;->Theme_autofilledHighlight:I
-Lcom/android/internal/R$styleable;->Theme_autofillSaveCustomSubtitleMaxHeight:I
-Lcom/android/internal/R$styleable;->Theme_backgroundDimAmount:I
-Lcom/android/internal/R$styleable;->Theme_backgroundDimEnabled:I
-Lcom/android/internal/R$styleable;->Theme_borderlessButtonStyle:I
-Lcom/android/internal/R$styleable;->Theme_buttonBarButtonStyle:I
-Lcom/android/internal/R$styleable;->Theme_buttonBarNegativeButtonStyle:I
-Lcom/android/internal/R$styleable;->Theme_buttonBarNeutralButtonStyle:I
-Lcom/android/internal/R$styleable;->Theme_buttonBarPositiveButtonStyle:I
-Lcom/android/internal/R$styleable;->Theme_buttonBarStyle:I
-Lcom/android/internal/R$styleable;->Theme_buttonCornerRadius:I
-Lcom/android/internal/R$styleable;->Theme_buttonStyle:I
-Lcom/android/internal/R$styleable;->Theme_buttonStyleInset:I
-Lcom/android/internal/R$styleable;->Theme_buttonStyleSmall:I
-Lcom/android/internal/R$styleable;->Theme_buttonStyleToggle:I
-Lcom/android/internal/R$styleable;->Theme_calendarViewStyle:I
-Lcom/android/internal/R$styleable;->Theme_candidatesTextStyleSpans:I
-Lcom/android/internal/R$styleable;->Theme_checkBoxPreferenceStyle:I
-Lcom/android/internal/R$styleable;->Theme_checkboxStyle:I
-Lcom/android/internal/R$styleable;->Theme_checkedTextViewStyle:I
-Lcom/android/internal/R$styleable;->Theme_colorAccent:I
-Lcom/android/internal/R$styleable;->Theme_colorActivatedHighlight:I
-Lcom/android/internal/R$styleable;->Theme_colorBackground:I
-Lcom/android/internal/R$styleable;->Theme_colorBackgroundCacheHint:I
-Lcom/android/internal/R$styleable;->Theme_colorBackgroundFloating:I
-Lcom/android/internal/R$styleable;->Theme_colorButtonNormal:I
-Lcom/android/internal/R$styleable;->Theme_colorControlActivated:I
-Lcom/android/internal/R$styleable;->Theme_colorControlHighlight:I
-Lcom/android/internal/R$styleable;->Theme_colorControlNormal:I
-Lcom/android/internal/R$styleable;->Theme_colorEdgeEffect:I
-Lcom/android/internal/R$styleable;->Theme_colorError:I
-Lcom/android/internal/R$styleable;->Theme_colorFocusedHighlight:I
-Lcom/android/internal/R$styleable;->Theme_colorForeground:I
-Lcom/android/internal/R$styleable;->Theme_colorForegroundInverse:I
-Lcom/android/internal/R$styleable;->Theme_colorLongPressedHighlight:I
-Lcom/android/internal/R$styleable;->Theme_colorMultiSelectHighlight:I
-Lcom/android/internal/R$styleable;->Theme_colorPressedHighlight:I
-Lcom/android/internal/R$styleable;->Theme_colorPrimary:I
-Lcom/android/internal/R$styleable;->Theme_colorPrimaryDark:I
-Lcom/android/internal/R$styleable;->Theme_colorProgressBackgroundNormal:I
-Lcom/android/internal/R$styleable;->Theme_colorSecondary:I
-Lcom/android/internal/R$styleable;->Theme_colorSwitchThumbNormal:I
-Lcom/android/internal/R$styleable;->Theme_contextPopupMenuStyle:I
-Lcom/android/internal/R$styleable;->Theme_datePickerDialogTheme:I
-Lcom/android/internal/R$styleable;->Theme_datePickerStyle:I
-Lcom/android/internal/R$styleable;->Theme_detailsElementBackground:I
-Lcom/android/internal/R$styleable;->Theme_dialogCornerRadius:I
-Lcom/android/internal/R$styleable;->Theme_dialogCustomTitleDecorLayout:I
-Lcom/android/internal/R$styleable;->Theme_dialogPreferenceStyle:I
-Lcom/android/internal/R$styleable;->Theme_dialogPreferredPadding:I
-Lcom/android/internal/R$styleable;->Theme_dialogTheme:I
-Lcom/android/internal/R$styleable;->Theme_dialogTitleDecorLayout:I
-Lcom/android/internal/R$styleable;->Theme_dialogTitleIconsDecorLayout:I
-Lcom/android/internal/R$styleable;->Theme_disabledAlpha:I
-Lcom/android/internal/R$styleable;->Theme_dividerHorizontal:I
-Lcom/android/internal/R$styleable;->Theme_dividerVertical:I
-Lcom/android/internal/R$styleable;->Theme_dropDownHintAppearance:I
-Lcom/android/internal/R$styleable;->Theme_dropDownItemStyle:I
-Lcom/android/internal/R$styleable;->Theme_dropdownListPreferredItemHeight:I
-Lcom/android/internal/R$styleable;->Theme_dropDownListViewStyle:I
-Lcom/android/internal/R$styleable;->Theme_dropDownSpinnerStyle:I
-Lcom/android/internal/R$styleable;->Theme_editTextBackground:I
-Lcom/android/internal/R$styleable;->Theme_editTextColor:I
-Lcom/android/internal/R$styleable;->Theme_editTextPreferenceStyle:I
-Lcom/android/internal/R$styleable;->Theme_editTextStyle:I
-Lcom/android/internal/R$styleable;->Theme_errorMessageAboveBackground:I
-Lcom/android/internal/R$styleable;->Theme_errorMessageBackground:I
-Lcom/android/internal/R$styleable;->Theme_expandableListPreferredChildIndicatorLeft:I
-Lcom/android/internal/R$styleable;->Theme_expandableListPreferredChildIndicatorRight:I
-Lcom/android/internal/R$styleable;->Theme_expandableListPreferredChildPaddingLeft:I
-Lcom/android/internal/R$styleable;->Theme_expandableListPreferredItemIndicatorLeft:I
-Lcom/android/internal/R$styleable;->Theme_expandableListPreferredItemIndicatorRight:I
-Lcom/android/internal/R$styleable;->Theme_expandableListPreferredItemPaddingLeft:I
-Lcom/android/internal/R$styleable;->Theme_expandableListViewStyle:I
-Lcom/android/internal/R$styleable;->Theme_expandableListViewWhiteStyle:I
-Lcom/android/internal/R$styleable;->Theme_fastScrollOverlayPosition:I
-Lcom/android/internal/R$styleable;->Theme_fastScrollPreviewBackgroundLeft:I
-Lcom/android/internal/R$styleable;->Theme_fastScrollPreviewBackgroundRight:I
-Lcom/android/internal/R$styleable;->Theme_fastScrollTextColor:I
-Lcom/android/internal/R$styleable;->Theme_fastScrollThumbDrawable:I
-Lcom/android/internal/R$styleable;->Theme_fastScrollTrackDrawable:I
-Lcom/android/internal/R$styleable;->Theme_findOnPageNextDrawable:I
-Lcom/android/internal/R$styleable;->Theme_findOnPagePreviousDrawable:I
-Lcom/android/internal/R$styleable;->Theme_fingerprintAuthDrawable:I
-Lcom/android/internal/R$styleable;->Theme_floatingToolbarCloseDrawable:I
-Lcom/android/internal/R$styleable;->Theme_floatingToolbarDividerColor:I
-Lcom/android/internal/R$styleable;->Theme_floatingToolbarForegroundColor:I
-Lcom/android/internal/R$styleable;->Theme_floatingToolbarItemBackgroundBorderlessDrawable:I
-Lcom/android/internal/R$styleable;->Theme_floatingToolbarItemBackgroundDrawable:I
-Lcom/android/internal/R$styleable;->Theme_floatingToolbarOpenDrawable:I
-Lcom/android/internal/R$styleable;->Theme_floatingToolbarPopupBackgroundDrawable:I
-Lcom/android/internal/R$styleable;->Theme_fragmentBreadCrumbsStyle:I
-Lcom/android/internal/R$styleable;->Theme_galleryItemBackground:I
-Lcom/android/internal/R$styleable;->Theme_galleryStyle:I
-Lcom/android/internal/R$styleable;->Theme_gestureOverlayViewStyle:I
-Lcom/android/internal/R$styleable;->Theme_gridViewStyle:I
-Lcom/android/internal/R$styleable;->Theme_homeAsUpIndicator:I
-Lcom/android/internal/R$styleable;->Theme_horizontalScrollViewStyle:I
-Lcom/android/internal/R$styleable;->Theme_imageButtonStyle:I
-Lcom/android/internal/R$styleable;->Theme_imageWellStyle:I
-Lcom/android/internal/R$styleable;->Theme_isLightTheme:I
-Lcom/android/internal/R$styleable;->Theme_lightRadius:I
-Lcom/android/internal/R$styleable;->Theme_lightY:I
-Lcom/android/internal/R$styleable;->Theme_lightZ:I
-Lcom/android/internal/R$styleable;->Theme_listChoiceBackgroundIndicator:I
-Lcom/android/internal/R$styleable;->Theme_listChoiceIndicatorMultiple:I
-Lcom/android/internal/R$styleable;->Theme_listChoiceIndicatorSingle:I
-Lcom/android/internal/R$styleable;->Theme_listDivider:I
-Lcom/android/internal/R$styleable;->Theme_listDividerAlertDialog:I
-Lcom/android/internal/R$styleable;->Theme_listMenuViewStyle:I
-Lcom/android/internal/R$styleable;->Theme_listPopupWindowStyle:I
-Lcom/android/internal/R$styleable;->Theme_listPreferredItemHeight:I
-Lcom/android/internal/R$styleable;->Theme_listPreferredItemHeightLarge:I
-Lcom/android/internal/R$styleable;->Theme_listPreferredItemHeightSmall:I
-Lcom/android/internal/R$styleable;->Theme_listPreferredItemPaddingEnd:I
-Lcom/android/internal/R$styleable;->Theme_listPreferredItemPaddingLeft:I
-Lcom/android/internal/R$styleable;->Theme_listPreferredItemPaddingRight:I
-Lcom/android/internal/R$styleable;->Theme_listPreferredItemPaddingStart:I
-Lcom/android/internal/R$styleable;->Theme_listSeparatorTextViewStyle:I
-Lcom/android/internal/R$styleable;->Theme_listViewStyle:I
-Lcom/android/internal/R$styleable;->Theme_listViewWhiteStyle:I
-Lcom/android/internal/R$styleable;->Theme_mapViewStyle:I
-Lcom/android/internal/R$styleable;->Theme_mediaRouteButtonStyle:I
-Lcom/android/internal/R$styleable;->Theme_numberPickerStyle:I
-Lcom/android/internal/R$styleable;->Theme_panelBackground:I
-Lcom/android/internal/R$styleable;->Theme_panelColorBackground:I
-Lcom/android/internal/R$styleable;->Theme_panelColorForeground:I
-Lcom/android/internal/R$styleable;->Theme_panelFullBackground:I
-Lcom/android/internal/R$styleable;->Theme_panelMenuIsCompact:I
-Lcom/android/internal/R$styleable;->Theme_panelMenuListTheme:I
-Lcom/android/internal/R$styleable;->Theme_panelMenuListWidth:I
-Lcom/android/internal/R$styleable;->Theme_panelTextAppearance:I
-Lcom/android/internal/R$styleable;->Theme_popupMenuStyle:I
-Lcom/android/internal/R$styleable;->Theme_popupWindowStyle:I
-Lcom/android/internal/R$styleable;->Theme_preferenceActivityStyle:I
-Lcom/android/internal/R$styleable;->Theme_preferenceCategoryStyle:I
-Lcom/android/internal/R$styleable;->Theme_preferenceFragmentListStyle:I
-Lcom/android/internal/R$styleable;->Theme_preferenceFragmentPaddingSide:I
-Lcom/android/internal/R$styleable;->Theme_preferenceFragmentStyle:I
-Lcom/android/internal/R$styleable;->Theme_preferenceFrameLayoutStyle:I
-Lcom/android/internal/R$styleable;->Theme_preferenceHeaderPanelStyle:I
-Lcom/android/internal/R$styleable;->Theme_preferenceInformationStyle:I
-Lcom/android/internal/R$styleable;->Theme_preferenceLayoutChild:I
-Lcom/android/internal/R$styleable;->Theme_preferenceListStyle:I
-Lcom/android/internal/R$styleable;->Theme_preferencePanelStyle:I
-Lcom/android/internal/R$styleable;->Theme_preferenceScreenStyle:I
-Lcom/android/internal/R$styleable;->Theme_preferenceStyle:I
-Lcom/android/internal/R$styleable;->Theme_presentationTheme:I
-Lcom/android/internal/R$styleable;->Theme_primaryContentAlpha:I
-Lcom/android/internal/R$styleable;->Theme_progressBarCornerRadius:I
-Lcom/android/internal/R$styleable;->Theme_progressBarStyle:I
-Lcom/android/internal/R$styleable;->Theme_progressBarStyleHorizontal:I
-Lcom/android/internal/R$styleable;->Theme_progressBarStyleInverse:I
-Lcom/android/internal/R$styleable;->Theme_progressBarStyleLarge:I
-Lcom/android/internal/R$styleable;->Theme_progressBarStyleLargeInverse:I
-Lcom/android/internal/R$styleable;->Theme_progressBarStyleSmall:I
-Lcom/android/internal/R$styleable;->Theme_progressBarStyleSmallInverse:I
-Lcom/android/internal/R$styleable;->Theme_progressBarStyleSmallTitle:I
-Lcom/android/internal/R$styleable;->Theme_quickContactBadgeOverlay:I
-Lcom/android/internal/R$styleable;->Theme_quickContactBadgeStyleSmallWindowLarge:I
-Lcom/android/internal/R$styleable;->Theme_quickContactBadgeStyleSmallWindowMedium:I
-Lcom/android/internal/R$styleable;->Theme_quickContactBadgeStyleSmallWindowSmall:I
-Lcom/android/internal/R$styleable;->Theme_quickContactBadgeStyleWindowLarge:I
-Lcom/android/internal/R$styleable;->Theme_quickContactBadgeStyleWindowMedium:I
-Lcom/android/internal/R$styleable;->Theme_quickContactBadgeStyleWindowSmall:I
-Lcom/android/internal/R$styleable;->Theme_radioButtonStyle:I
-Lcom/android/internal/R$styleable;->Theme_ratingBarStyle:I
-Lcom/android/internal/R$styleable;->Theme_ratingBarStyleIndicator:I
-Lcom/android/internal/R$styleable;->Theme_ratingBarStyleSmall:I
-Lcom/android/internal/R$styleable;->Theme_ringtonePreferenceStyle:I
-Lcom/android/internal/R$styleable;->Theme_scrollViewStyle:I
-Lcom/android/internal/R$styleable;->Theme_searchDialogTheme:I
-Lcom/android/internal/R$styleable;->Theme_searchResultListItemHeight:I
-Lcom/android/internal/R$styleable;->Theme_searchViewStyle:I
-Lcom/android/internal/R$styleable;->Theme_searchWidgetCorpusItemBackground:I
-Lcom/android/internal/R$styleable;->Theme_secondaryContentAlpha:I
-Lcom/android/internal/R$styleable;->Theme_seekBarDialogPreferenceStyle:I
-Lcom/android/internal/R$styleable;->Theme_seekBarPreferenceStyle:I
-Lcom/android/internal/R$styleable;->Theme_seekBarStyle:I
-Lcom/android/internal/R$styleable;->Theme_segmentedButtonStyle:I
-Lcom/android/internal/R$styleable;->Theme_selectableItemBackground:I
-Lcom/android/internal/R$styleable;->Theme_selectableItemBackgroundBorderless:I
-Lcom/android/internal/R$styleable;->Theme_spinnerDropDownItemStyle:I
-Lcom/android/internal/R$styleable;->Theme_spinnerItemStyle:I
-Lcom/android/internal/R$styleable;->Theme_spinnerStyle:I
-Lcom/android/internal/R$styleable;->Theme_spotShadowAlpha:I
-Lcom/android/internal/R$styleable;->Theme_stackViewStyle:I
-Lcom/android/internal/R$styleable;->Theme_starStyle:I
-Lcom/android/internal/R$styleable;->Theme_switchPreferenceStyle:I
-Lcom/android/internal/R$styleable;->Theme_switchStyle:I
-Lcom/android/internal/R$styleable;->Theme_tabWidgetStyle:I
-Lcom/android/internal/R$styleable;->Theme_textAppearance:I
-Lcom/android/internal/R$styleable;->Theme_textAppearanceAutoCorrectionSuggestion:I
-Lcom/android/internal/R$styleable;->Theme_textAppearanceButton:I
-Lcom/android/internal/R$styleable;->Theme_textAppearanceEasyCorrectSuggestion:I
-Lcom/android/internal/R$styleable;->Theme_textAppearanceInverse:I
-Lcom/android/internal/R$styleable;->Theme_textAppearanceLarge:I
-Lcom/android/internal/R$styleable;->Theme_textAppearanceLargeInverse:I
-Lcom/android/internal/R$styleable;->Theme_textAppearanceLargePopupMenu:I
-Lcom/android/internal/R$styleable;->Theme_textAppearanceListItem:I
-Lcom/android/internal/R$styleable;->Theme_textAppearanceListItemSecondary:I
-Lcom/android/internal/R$styleable;->Theme_textAppearanceListItemSmall:I
-Lcom/android/internal/R$styleable;->Theme_textAppearanceMedium:I
-Lcom/android/internal/R$styleable;->Theme_textAppearanceMediumInverse:I
-Lcom/android/internal/R$styleable;->Theme_textAppearanceMisspelledSuggestion:I
-Lcom/android/internal/R$styleable;->Theme_textAppearancePopupMenuHeader:I
-Lcom/android/internal/R$styleable;->Theme_textAppearanceSearchResultSubtitle:I
-Lcom/android/internal/R$styleable;->Theme_textAppearanceSearchResultTitle:I
-Lcom/android/internal/R$styleable;->Theme_textAppearanceSmall:I
-Lcom/android/internal/R$styleable;->Theme_textAppearanceSmallInverse:I
-Lcom/android/internal/R$styleable;->Theme_textAppearanceSmallPopupMenu:I
-Lcom/android/internal/R$styleable;->Theme_textCheckMark:I
-Lcom/android/internal/R$styleable;->Theme_textCheckMarkInverse:I
-Lcom/android/internal/R$styleable;->Theme_textColorAlertDialogListItem:I
-Lcom/android/internal/R$styleable;->Theme_textColorHighlightInverse:I
-Lcom/android/internal/R$styleable;->Theme_textColorHintInverse:I
-Lcom/android/internal/R$styleable;->Theme_textColorLinkInverse:I
-Lcom/android/internal/R$styleable;->Theme_textColorPrimary:I
-Lcom/android/internal/R$styleable;->Theme_textColorPrimaryActivated:I
-Lcom/android/internal/R$styleable;->Theme_textColorPrimaryDisableOnly:I
-Lcom/android/internal/R$styleable;->Theme_textColorPrimaryInverse:I
-Lcom/android/internal/R$styleable;->Theme_textColorPrimaryInverseDisableOnly:I
-Lcom/android/internal/R$styleable;->Theme_textColorPrimaryInverseNoDisable:I
-Lcom/android/internal/R$styleable;->Theme_textColorPrimaryNoDisable:I
-Lcom/android/internal/R$styleable;->Theme_textColorSearchUrl:I
-Lcom/android/internal/R$styleable;->Theme_textColorSecondary:I
-Lcom/android/internal/R$styleable;->Theme_textColorSecondaryActivated:I
-Lcom/android/internal/R$styleable;->Theme_textColorSecondaryInverse:I
-Lcom/android/internal/R$styleable;->Theme_textColorSecondaryInverseNoDisable:I
-Lcom/android/internal/R$styleable;->Theme_textColorSecondaryNoDisable:I
-Lcom/android/internal/R$styleable;->Theme_textColorTertiary:I
-Lcom/android/internal/R$styleable;->Theme_textColorTertiaryInverse:I
-Lcom/android/internal/R$styleable;->Theme_textEditNoPasteWindowLayout:I
-Lcom/android/internal/R$styleable;->Theme_textEditPasteWindowLayout:I
-Lcom/android/internal/R$styleable;->Theme_textEditSideNoPasteWindowLayout:I
-Lcom/android/internal/R$styleable;->Theme_textEditSidePasteWindowLayout:I
-Lcom/android/internal/R$styleable;->Theme_textEditSuggestionContainerLayout:I
-Lcom/android/internal/R$styleable;->Theme_textEditSuggestionHighlightStyle:I
-Lcom/android/internal/R$styleable;->Theme_textEditSuggestionItemLayout:I
-Lcom/android/internal/R$styleable;->Theme_textSelectHandle:I
-Lcom/android/internal/R$styleable;->Theme_textSelectHandleLeft:I
-Lcom/android/internal/R$styleable;->Theme_textSelectHandleRight:I
-Lcom/android/internal/R$styleable;->Theme_textSelectHandleWindowStyle:I
-Lcom/android/internal/R$styleable;->Theme_textSuggestionsWindowStyle:I
-Lcom/android/internal/R$styleable;->Theme_textUnderlineColor:I
-Lcom/android/internal/R$styleable;->Theme_textUnderlineThickness:I
-Lcom/android/internal/R$styleable;->Theme_textViewStyle:I
-Lcom/android/internal/R$styleable;->Theme_timePickerDialogTheme:I
-Lcom/android/internal/R$styleable;->Theme_timePickerStyle:I
-Lcom/android/internal/R$styleable;->Theme_toastFrameBackground:I
-Lcom/android/internal/R$styleable;->Theme_toolbarStyle:I
-Lcom/android/internal/R$styleable;->Theme_tooltipBackgroundColor:I
-Lcom/android/internal/R$styleable;->Theme_tooltipForegroundColor:I
-Lcom/android/internal/R$styleable;->Theme_tooltipFrameBackground:I
-Lcom/android/internal/R$styleable;->Theme_webTextViewStyle:I
-Lcom/android/internal/R$styleable;->Theme_webViewStyle:I
-Lcom/android/internal/R$styleable;->Theme_windowActionBar:I
-Lcom/android/internal/R$styleable;->Theme_windowActionBarFullscreenDecorLayout:I
-Lcom/android/internal/R$styleable;->Theme_windowActionBarOverlay:I
-Lcom/android/internal/R$styleable;->Theme_windowActionModeOverlay:I
-Lcom/android/internal/R$styleable;->Theme_windowActivityTransitions:I
-Lcom/android/internal/R$styleable;->Theme_windowAllowEnterTransitionOverlap:I
-Lcom/android/internal/R$styleable;->Theme_windowAllowReturnTransitionOverlap:I
-Lcom/android/internal/R$styleable;->Theme_windowAnimationStyle:I
-Lcom/android/internal/R$styleable;->Theme_windowBackground:I
-Lcom/android/internal/R$styleable;->Theme_windowBackgroundFallback:I
-Lcom/android/internal/R$styleable;->Theme_windowCloseOnTouchOutside:I
-Lcom/android/internal/R$styleable;->Theme_windowContentOverlay:I
-Lcom/android/internal/R$styleable;->Theme_windowContentTransitionManager:I
-Lcom/android/internal/R$styleable;->Theme_windowContentTransitions:I
-Lcom/android/internal/R$styleable;->Theme_windowDisablePreview:I
-Lcom/android/internal/R$styleable;->Theme_windowEnableSplitTouch:I
-Lcom/android/internal/R$styleable;->Theme_windowEnterTransition:I
-Lcom/android/internal/R$styleable;->Theme_windowExitTransition:I
-Lcom/android/internal/R$styleable;->Theme_windowFrame:I
-Lcom/android/internal/R$styleable;->Theme_windowFullscreen:I
-Lcom/android/internal/R$styleable;->Theme_windowIsFloating:I
-Lcom/android/internal/R$styleable;->Theme_windowIsTranslucent:I
-Lcom/android/internal/R$styleable;->Theme_windowNoDisplay:I
-Lcom/android/internal/R$styleable;->Theme_windowNoTitle:I
-Lcom/android/internal/R$styleable;->Theme_windowOverscan:I
-Lcom/android/internal/R$styleable;->Theme_windowReenterTransition:I
-Lcom/android/internal/R$styleable;->Theme_windowReturnTransition:I
-Lcom/android/internal/R$styleable;->Theme_windowSharedElementEnterTransition:I
-Lcom/android/internal/R$styleable;->Theme_windowSharedElementExitTransition:I
-Lcom/android/internal/R$styleable;->Theme_windowSharedElementReenterTransition:I
-Lcom/android/internal/R$styleable;->Theme_windowSharedElementReturnTransition:I
-Lcom/android/internal/R$styleable;->Theme_windowSharedElementsUseOverlay:I
-Lcom/android/internal/R$styleable;->Theme_windowShowWallpaper:I
-Lcom/android/internal/R$styleable;->Theme_windowSoftInputMode:I
-Lcom/android/internal/R$styleable;->Theme_windowSwipeToDismiss:I
-Lcom/android/internal/R$styleable;->Theme_windowTitleBackgroundStyle:I
-Lcom/android/internal/R$styleable;->Theme_windowTitleSize:I
-Lcom/android/internal/R$styleable;->Theme_windowTitleStyle:I
-Lcom/android/internal/R$styleable;->Theme_windowTransitionBackgroundFadeDuration:I
-Lcom/android/internal/R$styleable;->Theme_windowTranslucentNavigation:I
-Lcom/android/internal/R$styleable;->Theme_windowTranslucentStatus:I
-Lcom/android/internal/R$styleable;->Theme_yesNoPreferenceStyle:I
-Lcom/android/internal/R$styleable;->TimePicker:[I
-Lcom/android/internal/R$styleable;->TimePicker_amPmBackgroundColor:I
-Lcom/android/internal/R$styleable;->TimePicker_amPmTextColor:I
-Lcom/android/internal/R$styleable;->TimePicker_dialogMode:I
-Lcom/android/internal/R$styleable;->TimePicker_headerAmPmTextAppearance:I
-Lcom/android/internal/R$styleable;->TimePicker_headerBackground:I
-Lcom/android/internal/R$styleable;->TimePicker_headerTextColor:I
-Lcom/android/internal/R$styleable;->TimePicker_headerTimeTextAppearance:I
-Lcom/android/internal/R$styleable;->TimePicker_internalLayout:I
-Lcom/android/internal/R$styleable;->TimePicker_legacyLayout:I
-Lcom/android/internal/R$styleable;->TimePicker_numbersBackgroundColor:I
-Lcom/android/internal/R$styleable;->TimePicker_numbersInnerTextColor:I
-Lcom/android/internal/R$styleable;->TimePicker_numbersSelectorColor:I
-Lcom/android/internal/R$styleable;->TimePicker_numbersTextColor:I
-Lcom/android/internal/R$styleable;->TimePicker_timePickerMode:I
-Lcom/android/internal/R$styleable;->ToggleButton:[I
-Lcom/android/internal/R$styleable;->ToggleButton_disabledAlpha:I
-Lcom/android/internal/R$styleable;->ToggleButton_textOff:I
-Lcom/android/internal/R$styleable;->ToggleButton_textOn:I
-Lcom/android/internal/R$styleable;->Toolbar:[I
-Lcom/android/internal/R$styleable;->Toolbar_buttonGravity:I
-Lcom/android/internal/R$styleable;->Toolbar_collapseContentDescription:I
-Lcom/android/internal/R$styleable;->Toolbar_collapseIcon:I
-Lcom/android/internal/R$styleable;->Toolbar_contentInsetEnd:I
-Lcom/android/internal/R$styleable;->Toolbar_contentInsetEndWithActions:I
-Lcom/android/internal/R$styleable;->Toolbar_contentInsetLeft:I
-Lcom/android/internal/R$styleable;->Toolbar_contentInsetRight:I
-Lcom/android/internal/R$styleable;->Toolbar_contentInsetStart:I
-Lcom/android/internal/R$styleable;->Toolbar_contentInsetStartWithNavigation:I
-Lcom/android/internal/R$styleable;->Toolbar_gravity:I
-Lcom/android/internal/R$styleable;->Toolbar_LayoutParams:[I
-Lcom/android/internal/R$styleable;->Toolbar_LayoutParams_layout_gravity:I
-Lcom/android/internal/R$styleable;->Toolbar_logo:I
-Lcom/android/internal/R$styleable;->Toolbar_logoDescription:I
-Lcom/android/internal/R$styleable;->Toolbar_maxButtonHeight:I
-Lcom/android/internal/R$styleable;->Toolbar_navigationButtonStyle:I
-Lcom/android/internal/R$styleable;->Toolbar_navigationContentDescription:I
-Lcom/android/internal/R$styleable;->Toolbar_navigationIcon:I
-Lcom/android/internal/R$styleable;->Toolbar_popupTheme:I
-Lcom/android/internal/R$styleable;->Toolbar_subtitle:I
-Lcom/android/internal/R$styleable;->Toolbar_subtitleTextAppearance:I
-Lcom/android/internal/R$styleable;->Toolbar_subtitleTextColor:I
-Lcom/android/internal/R$styleable;->Toolbar_title:I
-Lcom/android/internal/R$styleable;->Toolbar_titleMargin:I
-Lcom/android/internal/R$styleable;->Toolbar_titleMarginBottom:I
-Lcom/android/internal/R$styleable;->Toolbar_titleMarginEnd:I
-Lcom/android/internal/R$styleable;->Toolbar_titleMarginStart:I
-Lcom/android/internal/R$styleable;->Toolbar_titleMarginTop:I
-Lcom/android/internal/R$styleable;->Toolbar_titleTextAppearance:I
-Lcom/android/internal/R$styleable;->Toolbar_titleTextColor:I
-Lcom/android/internal/R$styleable;->Transition:[I
-Lcom/android/internal/R$styleable;->TransitionManager:[I
-Lcom/android/internal/R$styleable;->TransitionManager_fromScene:I
-Lcom/android/internal/R$styleable;->TransitionManager_toScene:I
-Lcom/android/internal/R$styleable;->TransitionManager_transition:I
-Lcom/android/internal/R$styleable;->TransitionSet:[I
-Lcom/android/internal/R$styleable;->TransitionSet_transitionOrdering:I
-Lcom/android/internal/R$styleable;->TransitionTarget:[I
-Lcom/android/internal/R$styleable;->TransitionTarget_excludeClass:I
-Lcom/android/internal/R$styleable;->TransitionTarget_excludeId:I
-Lcom/android/internal/R$styleable;->TransitionTarget_excludeName:I
-Lcom/android/internal/R$styleable;->TransitionTarget_targetClass:I
-Lcom/android/internal/R$styleable;->TransitionTarget_targetId:I
-Lcom/android/internal/R$styleable;->TransitionTarget_targetName:I
-Lcom/android/internal/R$styleable;->Transition_duration:I
-Lcom/android/internal/R$styleable;->Transition_interpolator:I
-Lcom/android/internal/R$styleable;->Transition_matchOrder:I
-Lcom/android/internal/R$styleable;->Transition_startDelay:I
-Lcom/android/internal/R$styleable;->TranslateAnimation:[I
-Lcom/android/internal/R$styleable;->TranslateAnimation_fromXDelta:I
-Lcom/android/internal/R$styleable;->TranslateAnimation_fromYDelta:I
-Lcom/android/internal/R$styleable;->TranslateAnimation_toXDelta:I
-Lcom/android/internal/R$styleable;->TranslateAnimation_toYDelta:I
-Lcom/android/internal/R$styleable;->TrustAgent:[I
-Lcom/android/internal/R$styleable;->TrustAgent_settingsActivity:I
-Lcom/android/internal/R$styleable;->TrustAgent_summary:I
-Lcom/android/internal/R$styleable;->TrustAgent_title:I
-Lcom/android/internal/R$styleable;->TrustAgent_unlockProfile:I
-Lcom/android/internal/R$styleable;->TvInputService:[I
-Lcom/android/internal/R$styleable;->TvInputService_canRecord:I
-Lcom/android/internal/R$styleable;->TvInputService_settingsActivity:I
-Lcom/android/internal/R$styleable;->TvInputService_setupActivity:I
-Lcom/android/internal/R$styleable;->TvInputService_tunerCount:I
-Lcom/android/internal/R$styleable;->TwoLineListItem_mode:I
-Lcom/android/internal/R$styleable;->VectorDrawable:[I
-Lcom/android/internal/R$styleable;->VectorDrawableClipPath:[I
-Lcom/android/internal/R$styleable;->VectorDrawableClipPath_name:I
-Lcom/android/internal/R$styleable;->VectorDrawableClipPath_pathData:I
-Lcom/android/internal/R$styleable;->VectorDrawableGroup:[I
-Lcom/android/internal/R$styleable;->VectorDrawableGroup_name:I
-Lcom/android/internal/R$styleable;->VectorDrawableGroup_pivotX:I
-Lcom/android/internal/R$styleable;->VectorDrawableGroup_pivotY:I
-Lcom/android/internal/R$styleable;->VectorDrawableGroup_rotation:I
-Lcom/android/internal/R$styleable;->VectorDrawableGroup_scaleX:I
-Lcom/android/internal/R$styleable;->VectorDrawableGroup_scaleY:I
-Lcom/android/internal/R$styleable;->VectorDrawableGroup_translateX:I
-Lcom/android/internal/R$styleable;->VectorDrawableGroup_translateY:I
-Lcom/android/internal/R$styleable;->VectorDrawablePath:[I
-Lcom/android/internal/R$styleable;->VectorDrawablePath_fillAlpha:I
-Lcom/android/internal/R$styleable;->VectorDrawablePath_fillColor:I
-Lcom/android/internal/R$styleable;->VectorDrawablePath_fillType:I
-Lcom/android/internal/R$styleable;->VectorDrawablePath_name:I
-Lcom/android/internal/R$styleable;->VectorDrawablePath_pathData:I
-Lcom/android/internal/R$styleable;->VectorDrawablePath_strokeAlpha:I
-Lcom/android/internal/R$styleable;->VectorDrawablePath_strokeColor:I
-Lcom/android/internal/R$styleable;->VectorDrawablePath_strokeLineCap:I
-Lcom/android/internal/R$styleable;->VectorDrawablePath_strokeLineJoin:I
-Lcom/android/internal/R$styleable;->VectorDrawablePath_strokeMiterLimit:I
-Lcom/android/internal/R$styleable;->VectorDrawablePath_strokeWidth:I
-Lcom/android/internal/R$styleable;->VectorDrawablePath_trimPathEnd:I
-Lcom/android/internal/R$styleable;->VectorDrawablePath_trimPathOffset:I
-Lcom/android/internal/R$styleable;->VectorDrawablePath_trimPathStart:I
-Lcom/android/internal/R$styleable;->VectorDrawable_alpha:I
-Lcom/android/internal/R$styleable;->VectorDrawable_autoMirrored:I
-Lcom/android/internal/R$styleable;->VectorDrawable_height:I
-Lcom/android/internal/R$styleable;->VectorDrawable_name:I
-Lcom/android/internal/R$styleable;->VectorDrawable_opticalInsetBottom:I
-Lcom/android/internal/R$styleable;->VectorDrawable_opticalInsetLeft:I
-Lcom/android/internal/R$styleable;->VectorDrawable_opticalInsetRight:I
-Lcom/android/internal/R$styleable;->VectorDrawable_opticalInsetTop:I
-Lcom/android/internal/R$styleable;->VectorDrawable_tint:I
-Lcom/android/internal/R$styleable;->VectorDrawable_tintMode:I
-Lcom/android/internal/R$styleable;->VectorDrawable_viewportHeight:I
-Lcom/android/internal/R$styleable;->VectorDrawable_viewportWidth:I
-Lcom/android/internal/R$styleable;->VectorDrawable_width:I
-Lcom/android/internal/R$styleable;->VerticalSlider_Layout:[I
-Lcom/android/internal/R$styleable;->VerticalSlider_Layout_layout_scale:I
-Lcom/android/internal/R$styleable;->VideoView2:[I
-Lcom/android/internal/R$styleable;->VideoView2_enableControlView:I
-Lcom/android/internal/R$styleable;->VideoView2_enableSubtitle:I
-Lcom/android/internal/R$styleable;->VideoView2_viewType:I
-Lcom/android/internal/R$styleable;->ViewAnimator_animateFirstView:I
-Lcom/android/internal/R$styleable;->ViewAnimator_inAnimation:I
-Lcom/android/internal/R$styleable;->ViewAnimator_outAnimation:I
-Lcom/android/internal/R$styleable;->ViewDrawableStates:[I
-Lcom/android/internal/R$styleable;->ViewDrawableStates_state_accelerated:I
-Lcom/android/internal/R$styleable;->ViewDrawableStates_state_activated:I
-Lcom/android/internal/R$styleable;->ViewDrawableStates_state_drag_can_accept:I
-Lcom/android/internal/R$styleable;->ViewDrawableStates_state_drag_hovered:I
-Lcom/android/internal/R$styleable;->ViewDrawableStates_state_enabled:I
-Lcom/android/internal/R$styleable;->ViewDrawableStates_state_focused:I
-Lcom/android/internal/R$styleable;->ViewDrawableStates_state_hovered:I
-Lcom/android/internal/R$styleable;->ViewDrawableStates_state_pressed:I
-Lcom/android/internal/R$styleable;->ViewDrawableStates_state_selected:I
-Lcom/android/internal/R$styleable;->ViewDrawableStates_state_window_focused:I
-Lcom/android/internal/R$styleable;->ViewFlipper_autoStart:I
-Lcom/android/internal/R$styleable;->ViewFlipper_flipInterval:I
-Lcom/android/internal/R$styleable;->ViewGroup:[I
-Lcom/android/internal/R$styleable;->ViewGroup_addStatesFromChildren:I
-Lcom/android/internal/R$styleable;->ViewGroup_alwaysDrawnWithCache:I
-Lcom/android/internal/R$styleable;->ViewGroup_animateLayoutChanges:I
-Lcom/android/internal/R$styleable;->ViewGroup_animationCache:I
-Lcom/android/internal/R$styleable;->ViewGroup_clipChildren:I
-Lcom/android/internal/R$styleable;->ViewGroup_clipToPadding:I
-Lcom/android/internal/R$styleable;->ViewGroup_descendantFocusability:I
-Lcom/android/internal/R$styleable;->ViewGroup_layoutAnimation:I
-Lcom/android/internal/R$styleable;->ViewGroup_layoutMode:I
-Lcom/android/internal/R$styleable;->ViewGroup_MarginLayout:[I
-Lcom/android/internal/R$styleable;->ViewGroup_MarginLayout_layout_height:I
-Lcom/android/internal/R$styleable;->ViewGroup_MarginLayout_layout_margin:I
-Lcom/android/internal/R$styleable;->ViewGroup_MarginLayout_layout_marginBottom:I
-Lcom/android/internal/R$styleable;->ViewGroup_MarginLayout_layout_marginEnd:I
-Lcom/android/internal/R$styleable;->ViewGroup_MarginLayout_layout_marginHorizontal:I
-Lcom/android/internal/R$styleable;->ViewGroup_MarginLayout_layout_marginLeft:I
-Lcom/android/internal/R$styleable;->ViewGroup_MarginLayout_layout_marginRight:I
-Lcom/android/internal/R$styleable;->ViewGroup_MarginLayout_layout_marginStart:I
-Lcom/android/internal/R$styleable;->ViewGroup_MarginLayout_layout_marginTop:I
-Lcom/android/internal/R$styleable;->ViewGroup_MarginLayout_layout_marginVertical:I
-Lcom/android/internal/R$styleable;->ViewGroup_MarginLayout_layout_width:I
-Lcom/android/internal/R$styleable;->ViewGroup_persistentDrawingCache:I
-Lcom/android/internal/R$styleable;->ViewGroup_splitMotionEvents:I
-Lcom/android/internal/R$styleable;->ViewGroup_touchscreenBlocksFocus:I
-Lcom/android/internal/R$styleable;->ViewGroup_transitionGroup:I
-Lcom/android/internal/R$styleable;->ViewStub_id:I
-Lcom/android/internal/R$styleable;->ViewSwitcher:[I
-Lcom/android/internal/R$styleable;->ViewTag:[I
-Lcom/android/internal/R$styleable;->ViewTag_id:I
-Lcom/android/internal/R$styleable;->ViewTag_value:I
-Lcom/android/internal/R$styleable;->View_accessibilityHeading:I
-Lcom/android/internal/R$styleable;->View_accessibilityLiveRegion:I
-Lcom/android/internal/R$styleable;->View_accessibilityPaneTitle:I
-Lcom/android/internal/R$styleable;->View_accessibilityTraversalAfter:I
-Lcom/android/internal/R$styleable;->View_accessibilityTraversalBefore:I
-Lcom/android/internal/R$styleable;->View_alpha:I
-Lcom/android/internal/R$styleable;->View_autofillHints:I
-Lcom/android/internal/R$styleable;->View_backgroundTint:I
-Lcom/android/internal/R$styleable;->View_backgroundTintMode:I
-Lcom/android/internal/R$styleable;->View_contentDescription:I
-Lcom/android/internal/R$styleable;->View_contextClickable:I
-Lcom/android/internal/R$styleable;->View_defaultFocusHighlightEnabled:I
-Lcom/android/internal/R$styleable;->View_drawingCacheQuality:I
-Lcom/android/internal/R$styleable;->View_duplicateParentState:I
-Lcom/android/internal/R$styleable;->View_elevation:I
-Lcom/android/internal/R$styleable;->View_fadeScrollbars:I
-Lcom/android/internal/R$styleable;->View_fadingEdge:I
-Lcom/android/internal/R$styleable;->View_fadingEdgeLength:I
-Lcom/android/internal/R$styleable;->View_filterTouchesWhenObscured:I
-Lcom/android/internal/R$styleable;->View_fitsSystemWindows:I
-Lcom/android/internal/R$styleable;->View_focusableInTouchMode:I
-Lcom/android/internal/R$styleable;->View_focusedByDefault:I
-Lcom/android/internal/R$styleable;->View_forceHasOverlappingRendering:I
-Lcom/android/internal/R$styleable;->View_foreground:I
-Lcom/android/internal/R$styleable;->View_foregroundGravity:I
-Lcom/android/internal/R$styleable;->View_foregroundInsidePadding:I
-Lcom/android/internal/R$styleable;->View_foregroundTint:I
-Lcom/android/internal/R$styleable;->View_foregroundTintMode:I
-Lcom/android/internal/R$styleable;->View_hapticFeedbackEnabled:I
-Lcom/android/internal/R$styleable;->View_importantForAccessibility:I
-Lcom/android/internal/R$styleable;->View_importantForAutofill:I
-Lcom/android/internal/R$styleable;->View_isScrollContainer:I
-Lcom/android/internal/R$styleable;->View_keepScreenOn:I
-Lcom/android/internal/R$styleable;->View_keyboardNavigationCluster:I
-Lcom/android/internal/R$styleable;->View_labelFor:I
-Lcom/android/internal/R$styleable;->View_layerType:I
-Lcom/android/internal/R$styleable;->View_layoutDirection:I
-Lcom/android/internal/R$styleable;->View_minHeight:I
-Lcom/android/internal/R$styleable;->View_minWidth:I
-Lcom/android/internal/R$styleable;->View_nestedScrollingEnabled:I
-Lcom/android/internal/R$styleable;->View_nextClusterForward:I
-Lcom/android/internal/R$styleable;->View_nextFocusDown:I
-Lcom/android/internal/R$styleable;->View_nextFocusForward:I
-Lcom/android/internal/R$styleable;->View_nextFocusLeft:I
-Lcom/android/internal/R$styleable;->View_nextFocusRight:I
-Lcom/android/internal/R$styleable;->View_nextFocusUp:I
-Lcom/android/internal/R$styleable;->View_onClick:I
-Lcom/android/internal/R$styleable;->View_outlineAmbientShadowColor:I
-Lcom/android/internal/R$styleable;->View_outlineProvider:I
-Lcom/android/internal/R$styleable;->View_outlineSpotShadowColor:I
-Lcom/android/internal/R$styleable;->View_overScrollMode:I
-Lcom/android/internal/R$styleable;->View_padding:I
-Lcom/android/internal/R$styleable;->View_paddingBottom:I
-Lcom/android/internal/R$styleable;->View_paddingEnd:I
-Lcom/android/internal/R$styleable;->View_paddingHorizontal:I
-Lcom/android/internal/R$styleable;->View_paddingLeft:I
-Lcom/android/internal/R$styleable;->View_paddingRight:I
-Lcom/android/internal/R$styleable;->View_paddingStart:I
-Lcom/android/internal/R$styleable;->View_paddingTop:I
-Lcom/android/internal/R$styleable;->View_paddingVertical:I
-Lcom/android/internal/R$styleable;->View_pointerIcon:I
-Lcom/android/internal/R$styleable;->View_requiresFadingEdge:I
-Lcom/android/internal/R$styleable;->View_rotation:I
-Lcom/android/internal/R$styleable;->View_rotationX:I
-Lcom/android/internal/R$styleable;->View_rotationY:I
-Lcom/android/internal/R$styleable;->View_saveEnabled:I
-Lcom/android/internal/R$styleable;->View_scaleX:I
-Lcom/android/internal/R$styleable;->View_scaleY:I
-Lcom/android/internal/R$styleable;->View_screenReaderFocusable:I
-Lcom/android/internal/R$styleable;->View_scrollbarAlwaysDrawHorizontalTrack:I
-Lcom/android/internal/R$styleable;->View_scrollbarAlwaysDrawVerticalTrack:I
-Lcom/android/internal/R$styleable;->View_scrollbarDefaultDelayBeforeFade:I
-Lcom/android/internal/R$styleable;->View_scrollbarFadeDuration:I
-Lcom/android/internal/R$styleable;->View_scrollbars:I
-Lcom/android/internal/R$styleable;->View_scrollbarSize:I
-Lcom/android/internal/R$styleable;->View_scrollbarStyle:I
-Lcom/android/internal/R$styleable;->View_scrollbarThumbHorizontal:I
-Lcom/android/internal/R$styleable;->View_scrollbarThumbVertical:I
-Lcom/android/internal/R$styleable;->View_scrollbarTrackHorizontal:I
-Lcom/android/internal/R$styleable;->View_scrollbarTrackVertical:I
-Lcom/android/internal/R$styleable;->View_scrollIndicators:I
-Lcom/android/internal/R$styleable;->View_scrollX:I
-Lcom/android/internal/R$styleable;->View_scrollY:I
-Lcom/android/internal/R$styleable;->View_soundEffectsEnabled:I
-Lcom/android/internal/R$styleable;->View_stateListAnimator:I
-Lcom/android/internal/R$styleable;->View_tag:I
-Lcom/android/internal/R$styleable;->View_textAlignment:I
-Lcom/android/internal/R$styleable;->View_textDirection:I
-Lcom/android/internal/R$styleable;->View_theme:I
-Lcom/android/internal/R$styleable;->View_tooltipText:I
-Lcom/android/internal/R$styleable;->View_transformPivotX:I
-Lcom/android/internal/R$styleable;->View_transformPivotY:I
-Lcom/android/internal/R$styleable;->View_transitionName:I
-Lcom/android/internal/R$styleable;->View_translationX:I
-Lcom/android/internal/R$styleable;->View_translationY:I
-Lcom/android/internal/R$styleable;->View_translationZ:I
-Lcom/android/internal/R$styleable;->View_verticalScrollbarPosition:I
-Lcom/android/internal/R$styleable;->View_visibility:I
-Lcom/android/internal/R$styleable;->View___removed0:I
-Lcom/android/internal/R$styleable;->View___removed1:I
-Lcom/android/internal/R$styleable;->View___removed3:I
-Lcom/android/internal/R$styleable;->VisibilityTransition:[I
-Lcom/android/internal/R$styleable;->VisibilityTransition_transitionVisibilityMode:I
-Lcom/android/internal/R$styleable;->VoiceEnrollmentApplication:[I
-Lcom/android/internal/R$styleable;->VoiceEnrollmentApplication_searchKeyphrase:I
-Lcom/android/internal/R$styleable;->VoiceEnrollmentApplication_searchKeyphraseId:I
-Lcom/android/internal/R$styleable;->VoiceEnrollmentApplication_searchKeyphraseRecognitionFlags:I
-Lcom/android/internal/R$styleable;->VoiceEnrollmentApplication_searchKeyphraseSupportedLocales:I
-Lcom/android/internal/R$styleable;->VoiceInteractionService:[I
-Lcom/android/internal/R$styleable;->VoiceInteractionService_recognitionService:I
-Lcom/android/internal/R$styleable;->VoiceInteractionService_sessionService:I
-Lcom/android/internal/R$styleable;->VoiceInteractionService_settingsActivity:I
-Lcom/android/internal/R$styleable;->VoiceInteractionService_supportsAssist:I
-Lcom/android/internal/R$styleable;->VoiceInteractionService_supportsLaunchVoiceAssistFromKeyguard:I
-Lcom/android/internal/R$styleable;->VoiceInteractionService_supportsLocalInteraction:I
-Lcom/android/internal/R$styleable;->VoiceInteractionSession:[I
-Lcom/android/internal/R$styleable;->VolumePreference:[I
-Lcom/android/internal/R$styleable;->VolumePreference_streamType:I
-Lcom/android/internal/R$styleable;->Wallpaper:[I
-Lcom/android/internal/R$styleable;->WallpaperPreviewInfo_staticWallpaperPreview:I
-Lcom/android/internal/R$styleable;->Wallpaper_author:I
-Lcom/android/internal/R$styleable;->Wallpaper_contextDescription:I
-Lcom/android/internal/R$styleable;->Wallpaper_contextUri:I
-Lcom/android/internal/R$styleable;->Wallpaper_description:I
-Lcom/android/internal/R$styleable;->Wallpaper_settingsActivity:I
-Lcom/android/internal/R$styleable;->Wallpaper_showMetadataInPreview:I
-Lcom/android/internal/R$styleable;->Wallpaper_supportsAmbientMode:I
-Lcom/android/internal/R$styleable;->Wallpaper_thumbnail:I
-Lcom/android/internal/R$styleable;->WeightedLinearLayout:[I
-Lcom/android/internal/R$styleable;->WeightedLinearLayout_majorWeightMax:I
-Lcom/android/internal/R$styleable;->WeightedLinearLayout_majorWeightMin:I
-Lcom/android/internal/R$styleable;->WeightedLinearLayout_minorWeightMax:I
-Lcom/android/internal/R$styleable;->WeightedLinearLayout_minorWeightMin:I
-Lcom/android/internal/R$styleable;->WindowAnimation_activityCloseEnterAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_activityCloseExitAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_activityOpenEnterAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_activityOpenExitAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_activityOpenRemoteViewsEnterAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_launchTaskBehindSourceAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_launchTaskBehindTargetAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_taskCloseEnterAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_taskCloseExitAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_taskOpenEnterAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_taskOpenExitAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_taskToBackEnterAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_taskToBackExitAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_taskToFrontEnterAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_taskToFrontExitAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_wallpaperCloseEnterAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_wallpaperCloseExitAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_wallpaperIntraCloseEnterAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_wallpaperIntraCloseExitAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_wallpaperIntraOpenEnterAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_wallpaperIntraOpenExitAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_wallpaperOpenEnterAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_wallpaperOpenExitAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_windowEnterAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_windowExitAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_windowHideAnimation:I
-Lcom/android/internal/R$styleable;->WindowAnimation_windowShowAnimation:I
-Lcom/android/internal/R$styleable;->Window_backgroundDimAmount:I
-Lcom/android/internal/R$styleable;->Window_backgroundDimEnabled:I
-Lcom/android/internal/R$styleable;->Window_navigationBarColor:I
-Lcom/android/internal/R$styleable;->Window_navigationBarDividerColor:I
-Lcom/android/internal/R$styleable;->Window_statusBarColor:I
-Lcom/android/internal/R$styleable;->Window_textColor:I
-Lcom/android/internal/R$styleable;->Window_windowActionBar:I
-Lcom/android/internal/R$styleable;->Window_windowActionBarOverlay:I
-Lcom/android/internal/R$styleable;->Window_windowActionModeOverlay:I
-Lcom/android/internal/R$styleable;->Window_windowActivityTransitions:I
-Lcom/android/internal/R$styleable;->Window_windowAllowEnterTransitionOverlap:I
-Lcom/android/internal/R$styleable;->Window_windowAllowReturnTransitionOverlap:I
-Lcom/android/internal/R$styleable;->Window_windowAnimationStyle:I
-Lcom/android/internal/R$styleable;->Window_windowBackgroundFallback:I
-Lcom/android/internal/R$styleable;->Window_windowClipToOutline:I
-Lcom/android/internal/R$styleable;->Window_windowCloseOnTouchOutside:I
-Lcom/android/internal/R$styleable;->Window_windowContentOverlay:I
-Lcom/android/internal/R$styleable;->Window_windowContentTransitionManager:I
-Lcom/android/internal/R$styleable;->Window_windowContentTransitions:I
-Lcom/android/internal/R$styleable;->Window_windowDisablePreview:I
-Lcom/android/internal/R$styleable;->Window_windowDrawsSystemBarBackgrounds:I
-Lcom/android/internal/R$styleable;->Window_windowElevation:I
-Lcom/android/internal/R$styleable;->Window_windowEnableSplitTouch:I
-Lcom/android/internal/R$styleable;->Window_windowEnterTransition:I
-Lcom/android/internal/R$styleable;->Window_windowExitTransition:I
-Lcom/android/internal/R$styleable;->Window_windowFixedHeightMajor:I
-Lcom/android/internal/R$styleable;->Window_windowFixedHeightMinor:I
-Lcom/android/internal/R$styleable;->Window_windowFixedWidthMajor:I
-Lcom/android/internal/R$styleable;->Window_windowFixedWidthMinor:I
-Lcom/android/internal/R$styleable;->Window_windowFrame:I
-Lcom/android/internal/R$styleable;->Window_windowLayoutInDisplayCutoutMode:I
-Lcom/android/internal/R$styleable;->Window_windowLightNavigationBar:I
-Lcom/android/internal/R$styleable;->Window_windowLightStatusBar:I
-Lcom/android/internal/R$styleable;->Window_windowMinWidthMajor:I
-Lcom/android/internal/R$styleable;->Window_windowMinWidthMinor:I
-Lcom/android/internal/R$styleable;->Window_windowNoDisplay:I
-Lcom/android/internal/R$styleable;->Window_windowNoTitle:I
-Lcom/android/internal/R$styleable;->Window_windowOutsetBottom:I
-Lcom/android/internal/R$styleable;->Window_windowOverscan:I
-Lcom/android/internal/R$styleable;->Window_windowReenterTransition:I
-Lcom/android/internal/R$styleable;->Window_windowReturnTransition:I
-Lcom/android/internal/R$styleable;->Window_windowSharedElementEnterTransition:I
-Lcom/android/internal/R$styleable;->Window_windowSharedElementExitTransition:I
-Lcom/android/internal/R$styleable;->Window_windowSharedElementReenterTransition:I
-Lcom/android/internal/R$styleable;->Window_windowSharedElementReturnTransition:I
-Lcom/android/internal/R$styleable;->Window_windowSharedElementsUseOverlay:I
-Lcom/android/internal/R$styleable;->Window_windowSoftInputMode:I
-Lcom/android/internal/R$styleable;->Window_windowSplashscreenContent:I
-Lcom/android/internal/R$styleable;->Window_windowSwipeToDismiss:I
-Lcom/android/internal/R$styleable;->Window_windowTransitionBackgroundFadeDuration:I
-Lcom/android/internal/R$styleable;->Window_windowTranslucentNavigation:I
-Lcom/android/internal/R$styleable;->Window_windowTranslucentStatus:I
-Lcom/android/internal/R$transition;
-Lcom/android/internal/R$transition;-><init>()V
-Lcom/android/internal/R$transition;->explode:I
-Lcom/android/internal/R$transition;->fade:I
-Lcom/android/internal/R$transition;->move:I
-Lcom/android/internal/R$transition;->no_transition:I
-Lcom/android/internal/R$transition;->slide_bottom:I
-Lcom/android/internal/R$transition;->slide_left:I
-Lcom/android/internal/R$transition;->slide_right:I
-Lcom/android/internal/R$transition;->slide_top:I
-Lcom/android/internal/R$xml;
-Lcom/android/internal/R$xml;-><init>()V
-Lcom/android/internal/R$xml;->apns:I
-Lcom/android/internal/R$xml;->audio_assets:I
-Lcom/android/internal/R$xml;->autotext:I
-Lcom/android/internal/R$xml;->bookmarks:I
-Lcom/android/internal/R$xml;->color_extraction:I
-Lcom/android/internal/R$xml;->config_webview_packages:I
-Lcom/android/internal/R$xml;->default_zen_mode_config:I
-Lcom/android/internal/R$xml;->global_keys:I
-Lcom/android/internal/R$xml;->password_kbd_numeric:I
-Lcom/android/internal/R$xml;->password_kbd_qwerty:I
-Lcom/android/internal/R$xml;->password_kbd_qwerty_shifted:I
-Lcom/android/internal/R$xml;->password_kbd_symbols:I
-Lcom/android/internal/R$xml;->password_kbd_symbols_shift:I
-Lcom/android/internal/R$xml;->power_profile_test:I
-Lcom/android/internal/R$xml;->sms_7bit_translation_table:I
-Lcom/android/internal/R$xml;->sms_short_codes:I
-Lcom/android/internal/R$xml;->storage_list:I
-Lcom/android/internal/R;
-Lcom/android/internal/R;-><init>()V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->addQsTile(Landroid/content/ComponentName;)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->animateCollapsePanels()V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->animateExpandNotificationsPanel()V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->animateExpandSettingsPanel(Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->appTransitionCancelled()V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->appTransitionFinished()V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->appTransitionPending()V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->appTransitionStarting(JJ)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->cancelPreloadRecentApps()V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->clickQsTile(Landroid/content/ComponentName;)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->disable(II)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->dismissKeyboardShortcutsMenu()V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->handleSystemKey(I)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->hideFingerprintDialog()V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->hideRecentApps(ZZ)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->onCameraLaunchGestureDetected(I)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->onFingerprintAuthenticated()V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->onFingerprintError(Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->onFingerprintHelp(Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->onProposedRotationChanged(IZ)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->preloadRecentApps()V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->removeIcon(Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->remQsTile(Landroid/content/ComponentName;)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->setIcon(Ljava/lang/String;Lcom/android/internal/statusbar/StatusBarIcon;)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->setImeWindowStatus(Landroid/os/IBinder;IIZ)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->setSystemUiVisibility(IIIILandroid/graphics/Rect;Landroid/graphics/Rect;)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->setTopAppHidesStatusBar(Z)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->setWindowState(II)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->showAssistDisclosure()V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->showFingerprintDialog(Landroid/os/Bundle;Landroid/hardware/biometrics/IBiometricPromptReceiver;)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->showGlobalActionsMenu()V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->showPictureInPictureMenu()V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->showPinningEnterExitToast(Z)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->showPinningEscapeToast()V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->showRecentApps(Z)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->showScreenPinningRequest(I)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->showShutdownUi(ZLjava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->showWirelessChargingAnimation(I)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->startAssist(Landroid/os/Bundle;)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->toggleKeyboardShortcutsMenu(I)V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->togglePanel()V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->toggleRecentApps()V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->toggleSplitScreen()V
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->topAppWindowChanged(Z)V
-Lcom/android/internal/statusbar/IStatusBar$Stub;
-Lcom/android/internal/statusbar/IStatusBar$Stub;-><init>()V
-Lcom/android/internal/statusbar/IStatusBar$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_addQsTile:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_animateCollapsePanels:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_animateExpandNotificationsPanel:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_animateExpandSettingsPanel:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_appTransitionCancelled:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_appTransitionFinished:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_appTransitionPending:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_appTransitionStarting:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_cancelPreloadRecentApps:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_clickQsTile:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_disable:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_dismissKeyboardShortcutsMenu:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_handleSystemKey:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_hideFingerprintDialog:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_hideRecentApps:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_onCameraLaunchGestureDetected:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_onFingerprintAuthenticated:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_onFingerprintError:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_onFingerprintHelp:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_onProposedRotationChanged:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_preloadRecentApps:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_removeIcon:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_remQsTile:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_setIcon:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_setImeWindowStatus:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_setSystemUiVisibility:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_setTopAppHidesStatusBar:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_setWindowState:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_showAssistDisclosure:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_showFingerprintDialog:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_showGlobalActionsMenu:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_showPictureInPictureMenu:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_showPinningEnterExitToast:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_showPinningEscapeToast:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_showRecentApps:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_showScreenPinningRequest:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_showShutdownUi:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_showWirelessChargingAnimation:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_startAssist:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_toggleKeyboardShortcutsMenu:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_togglePanel:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_toggleRecentApps:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_toggleSplitScreen:I
-Lcom/android/internal/statusbar/IStatusBar$Stub;->TRANSACTION_topAppWindowChanged:I
-Lcom/android/internal/statusbar/IStatusBar;
-Lcom/android/internal/statusbar/IStatusBar;->addQsTile(Landroid/content/ComponentName;)V
-Lcom/android/internal/statusbar/IStatusBar;->animateCollapsePanels()V
-Lcom/android/internal/statusbar/IStatusBar;->animateExpandNotificationsPanel()V
-Lcom/android/internal/statusbar/IStatusBar;->animateExpandSettingsPanel(Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBar;->appTransitionCancelled()V
-Lcom/android/internal/statusbar/IStatusBar;->appTransitionFinished()V
-Lcom/android/internal/statusbar/IStatusBar;->appTransitionPending()V
-Lcom/android/internal/statusbar/IStatusBar;->appTransitionStarting(JJ)V
-Lcom/android/internal/statusbar/IStatusBar;->cancelPreloadRecentApps()V
-Lcom/android/internal/statusbar/IStatusBar;->clickQsTile(Landroid/content/ComponentName;)V
-Lcom/android/internal/statusbar/IStatusBar;->disable(II)V
-Lcom/android/internal/statusbar/IStatusBar;->dismissKeyboardShortcutsMenu()V
-Lcom/android/internal/statusbar/IStatusBar;->handleSystemKey(I)V
-Lcom/android/internal/statusbar/IStatusBar;->hideFingerprintDialog()V
-Lcom/android/internal/statusbar/IStatusBar;->hideRecentApps(ZZ)V
-Lcom/android/internal/statusbar/IStatusBar;->onCameraLaunchGestureDetected(I)V
-Lcom/android/internal/statusbar/IStatusBar;->onFingerprintAuthenticated()V
-Lcom/android/internal/statusbar/IStatusBar;->onFingerprintError(Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBar;->onFingerprintHelp(Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBar;->onProposedRotationChanged(IZ)V
-Lcom/android/internal/statusbar/IStatusBar;->preloadRecentApps()V
-Lcom/android/internal/statusbar/IStatusBar;->removeIcon(Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBar;->remQsTile(Landroid/content/ComponentName;)V
-Lcom/android/internal/statusbar/IStatusBar;->setIcon(Ljava/lang/String;Lcom/android/internal/statusbar/StatusBarIcon;)V
-Lcom/android/internal/statusbar/IStatusBar;->setImeWindowStatus(Landroid/os/IBinder;IIZ)V
-Lcom/android/internal/statusbar/IStatusBar;->setSystemUiVisibility(IIIILandroid/graphics/Rect;Landroid/graphics/Rect;)V
-Lcom/android/internal/statusbar/IStatusBar;->setTopAppHidesStatusBar(Z)V
-Lcom/android/internal/statusbar/IStatusBar;->setWindowState(II)V
-Lcom/android/internal/statusbar/IStatusBar;->showAssistDisclosure()V
-Lcom/android/internal/statusbar/IStatusBar;->showFingerprintDialog(Landroid/os/Bundle;Landroid/hardware/biometrics/IBiometricPromptReceiver;)V
-Lcom/android/internal/statusbar/IStatusBar;->showGlobalActionsMenu()V
-Lcom/android/internal/statusbar/IStatusBar;->showPictureInPictureMenu()V
-Lcom/android/internal/statusbar/IStatusBar;->showPinningEnterExitToast(Z)V
-Lcom/android/internal/statusbar/IStatusBar;->showPinningEscapeToast()V
-Lcom/android/internal/statusbar/IStatusBar;->showRecentApps(Z)V
-Lcom/android/internal/statusbar/IStatusBar;->showScreenPinningRequest(I)V
-Lcom/android/internal/statusbar/IStatusBar;->showShutdownUi(ZLjava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBar;->showWirelessChargingAnimation(I)V
-Lcom/android/internal/statusbar/IStatusBar;->startAssist(Landroid/os/Bundle;)V
-Lcom/android/internal/statusbar/IStatusBar;->toggleKeyboardShortcutsMenu(I)V
-Lcom/android/internal/statusbar/IStatusBar;->togglePanel()V
-Lcom/android/internal/statusbar/IStatusBar;->toggleRecentApps()V
-Lcom/android/internal/statusbar/IStatusBar;->toggleSplitScreen()V
-Lcom/android/internal/statusbar/IStatusBar;->topAppWindowChanged(Z)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->addTile(Landroid/content/ComponentName;)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->clearNotificationEffects()V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->clickTile(Landroid/content/ComponentName;)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->collapsePanels()V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->disable(ILandroid/os/IBinder;Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->disable2(ILandroid/os/IBinder;Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->disable2ForUser(ILandroid/os/IBinder;Ljava/lang/String;I)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->disableForUser(ILandroid/os/IBinder;Ljava/lang/String;I)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->expandNotificationsPanel()V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->expandSettingsPanel(Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->handleSystemKey(I)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->hideFingerprintDialog()V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->onClearAllNotifications(I)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->onFingerprintAuthenticated()V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->onFingerprintError(Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->onFingerprintHelp(Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->onGlobalActionsHidden()V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->onGlobalActionsShown()V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->onNotificationActionClick(Ljava/lang/String;ILcom/android/internal/statusbar/NotificationVisibility;)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->onNotificationClear(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ILcom/android/internal/statusbar/NotificationVisibility;)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->onNotificationClick(Ljava/lang/String;Lcom/android/internal/statusbar/NotificationVisibility;)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->onNotificationDirectReplied(Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->onNotificationError(Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;I)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->onNotificationExpansionChanged(Ljava/lang/String;ZZ)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->onNotificationSettingsViewed(Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->onNotificationSmartRepliesAdded(Ljava/lang/String;I)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->onNotificationSmartReplySent(Ljava/lang/String;I)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->onNotificationVisibilityChanged([Lcom/android/internal/statusbar/NotificationVisibility;[Lcom/android/internal/statusbar/NotificationVisibility;)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->onPanelHidden()V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->onPanelRevealed(ZI)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->reboot(Z)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->registerStatusBar(Lcom/android/internal/statusbar/IStatusBar;Ljava/util/List;Ljava/util/List;[ILjava/util/List;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->removeIcon(Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->remTile(Landroid/content/ComponentName;)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->setIcon(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->setIconVisibility(Ljava/lang/String;Z)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->setImeWindowStatus(Landroid/os/IBinder;IIZ)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->setSystemUiVisibility(IILjava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->showFingerprintDialog(Landroid/os/Bundle;Landroid/hardware/biometrics/IBiometricPromptReceiver;)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->showPinningEnterExitToast(Z)V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->showPinningEscapeToast()V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->shutdown()V
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->togglePanel()V
-Lcom/android/internal/statusbar/IStatusBarService$Stub;
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_addTile:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_clearNotificationEffects:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_clickTile:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_collapsePanels:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_disable2:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_disable2ForUser:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_disable:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_disableForUser:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_expandNotificationsPanel:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_expandSettingsPanel:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_handleSystemKey:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_hideFingerprintDialog:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_onClearAllNotifications:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_onFingerprintAuthenticated:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_onFingerprintError:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_onFingerprintHelp:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_onGlobalActionsHidden:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_onGlobalActionsShown:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_onNotificationActionClick:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_onNotificationClear:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_onNotificationClick:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_onNotificationDirectReplied:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_onNotificationError:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_onNotificationExpansionChanged:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_onNotificationSettingsViewed:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_onNotificationSmartRepliesAdded:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_onNotificationSmartReplySent:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_onNotificationVisibilityChanged:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_onPanelHidden:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_onPanelRevealed:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_reboot:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_registerStatusBar:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_removeIcon:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_remTile:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_setIcon:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_setIconVisibility:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_setImeWindowStatus:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_setSystemUiVisibility:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_showFingerprintDialog:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_showPinningEnterExitToast:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_showPinningEscapeToast:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_shutdown:I
-Lcom/android/internal/statusbar/IStatusBarService$Stub;->TRANSACTION_togglePanel:I
-Lcom/android/internal/statusbar/IStatusBarService;
-Lcom/android/internal/statusbar/IStatusBarService;->addTile(Landroid/content/ComponentName;)V
-Lcom/android/internal/statusbar/IStatusBarService;->clearNotificationEffects()V
-Lcom/android/internal/statusbar/IStatusBarService;->clickTile(Landroid/content/ComponentName;)V
-Lcom/android/internal/statusbar/IStatusBarService;->disable2(ILandroid/os/IBinder;Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBarService;->disable2ForUser(ILandroid/os/IBinder;Ljava/lang/String;I)V
-Lcom/android/internal/statusbar/IStatusBarService;->disableForUser(ILandroid/os/IBinder;Ljava/lang/String;I)V
-Lcom/android/internal/statusbar/IStatusBarService;->expandSettingsPanel(Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBarService;->hideFingerprintDialog()V
-Lcom/android/internal/statusbar/IStatusBarService;->onClearAllNotifications(I)V
-Lcom/android/internal/statusbar/IStatusBarService;->onFingerprintAuthenticated()V
-Lcom/android/internal/statusbar/IStatusBarService;->onFingerprintError(Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBarService;->onFingerprintHelp(Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBarService;->onGlobalActionsHidden()V
-Lcom/android/internal/statusbar/IStatusBarService;->onGlobalActionsShown()V
-Lcom/android/internal/statusbar/IStatusBarService;->onNotificationActionClick(Ljava/lang/String;ILcom/android/internal/statusbar/NotificationVisibility;)V
-Lcom/android/internal/statusbar/IStatusBarService;->onNotificationClear(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ILcom/android/internal/statusbar/NotificationVisibility;)V
-Lcom/android/internal/statusbar/IStatusBarService;->onNotificationClick(Ljava/lang/String;Lcom/android/internal/statusbar/NotificationVisibility;)V
-Lcom/android/internal/statusbar/IStatusBarService;->onNotificationDirectReplied(Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBarService;->onNotificationError(Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;I)V
-Lcom/android/internal/statusbar/IStatusBarService;->onNotificationExpansionChanged(Ljava/lang/String;ZZ)V
-Lcom/android/internal/statusbar/IStatusBarService;->onNotificationSettingsViewed(Ljava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBarService;->onNotificationSmartRepliesAdded(Ljava/lang/String;I)V
-Lcom/android/internal/statusbar/IStatusBarService;->onNotificationSmartReplySent(Ljava/lang/String;I)V
-Lcom/android/internal/statusbar/IStatusBarService;->onNotificationVisibilityChanged([Lcom/android/internal/statusbar/NotificationVisibility;[Lcom/android/internal/statusbar/NotificationVisibility;)V
-Lcom/android/internal/statusbar/IStatusBarService;->onPanelHidden()V
-Lcom/android/internal/statusbar/IStatusBarService;->onPanelRevealed(ZI)V
-Lcom/android/internal/statusbar/IStatusBarService;->reboot(Z)V
-Lcom/android/internal/statusbar/IStatusBarService;->registerStatusBar(Lcom/android/internal/statusbar/IStatusBar;Ljava/util/List;Ljava/util/List;[ILjava/util/List;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-Lcom/android/internal/statusbar/IStatusBarService;->remTile(Landroid/content/ComponentName;)V
-Lcom/android/internal/statusbar/IStatusBarService;->setIcon(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBarService;->setImeWindowStatus(Landroid/os/IBinder;IIZ)V
-Lcom/android/internal/statusbar/IStatusBarService;->setSystemUiVisibility(IILjava/lang/String;)V
-Lcom/android/internal/statusbar/IStatusBarService;->showFingerprintDialog(Landroid/os/Bundle;Landroid/hardware/biometrics/IBiometricPromptReceiver;)V
-Lcom/android/internal/statusbar/IStatusBarService;->showPinningEnterExitToast(Z)V
-Lcom/android/internal/statusbar/IStatusBarService;->showPinningEscapeToast()V
-Lcom/android/internal/statusbar/IStatusBarService;->shutdown()V
-Lcom/android/internal/statusbar/IStatusBarService;->togglePanel()V
-Lcom/android/internal/statusbar/NotificationVisibility;
-Lcom/android/internal/statusbar/NotificationVisibility;-><init>()V
-Lcom/android/internal/statusbar/NotificationVisibility;-><init>(Ljava/lang/String;IIZ)V
-Lcom/android/internal/statusbar/NotificationVisibility;->count:I
-Lcom/android/internal/statusbar/NotificationVisibility;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/internal/statusbar/NotificationVisibility;->id:I
-Lcom/android/internal/statusbar/NotificationVisibility;->key:Ljava/lang/String;
-Lcom/android/internal/statusbar/NotificationVisibility;->MAX_POOL_SIZE:I
-Lcom/android/internal/statusbar/NotificationVisibility;->obtain()Lcom/android/internal/statusbar/NotificationVisibility;
-Lcom/android/internal/statusbar/NotificationVisibility;->obtain(Landroid/os/Parcel;)Lcom/android/internal/statusbar/NotificationVisibility;
-Lcom/android/internal/statusbar/NotificationVisibility;->obtain(Ljava/lang/String;IIZ)Lcom/android/internal/statusbar/NotificationVisibility;
-Lcom/android/internal/statusbar/NotificationVisibility;->rank:I
-Lcom/android/internal/statusbar/NotificationVisibility;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/internal/statusbar/NotificationVisibility;->recycle()V
-Lcom/android/internal/statusbar/NotificationVisibility;->sNexrId:I
-Lcom/android/internal/statusbar/NotificationVisibility;->sPool:Ljava/util/ArrayDeque;
-Lcom/android/internal/statusbar/NotificationVisibility;->TAG:Ljava/lang/String;
-Lcom/android/internal/statusbar/NotificationVisibility;->visible:Z
-Lcom/android/internal/statusbar/StatusBarIcon;
-Lcom/android/internal/statusbar/StatusBarIcon;-><init>(Landroid/os/Parcel;)V
-Lcom/android/internal/statusbar/StatusBarIcon;-><init>(Landroid/os/UserHandle;Ljava/lang/String;Landroid/graphics/drawable/Icon;IILjava/lang/CharSequence;)V
-Lcom/android/internal/statusbar/StatusBarIcon;-><init>(Ljava/lang/String;Landroid/os/UserHandle;IIILjava/lang/CharSequence;)V
-Lcom/android/internal/statusbar/StatusBarIcon;->contentDescription:Ljava/lang/CharSequence;
-Lcom/android/internal/statusbar/StatusBarIcon;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/internal/statusbar/StatusBarIcon;->icon:Landroid/graphics/drawable/Icon;
-Lcom/android/internal/statusbar/StatusBarIcon;->iconLevel:I
-Lcom/android/internal/statusbar/StatusBarIcon;->number:I
-Lcom/android/internal/statusbar/StatusBarIcon;->pkg:Ljava/lang/String;
-Lcom/android/internal/statusbar/StatusBarIcon;->readFromParcel(Landroid/os/Parcel;)V
-Lcom/android/internal/statusbar/StatusBarIcon;->user:Landroid/os/UserHandle;
-Lcom/android/internal/statusbar/StatusBarIcon;->visible:Z
-Lcom/android/internal/telecom/ICallScreeningAdapter$Stub$Proxy;
-Lcom/android/internal/telecom/ICallScreeningAdapter$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/telecom/ICallScreeningAdapter$Stub$Proxy;->allowCall(Ljava/lang/String;)V
-Lcom/android/internal/telecom/ICallScreeningAdapter$Stub$Proxy;->disallowCall(Ljava/lang/String;ZZZ)V
-Lcom/android/internal/telecom/ICallScreeningAdapter$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telecom/ICallScreeningAdapter$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/telecom/ICallScreeningAdapter$Stub;
-Lcom/android/internal/telecom/ICallScreeningAdapter$Stub;-><init>()V
-Lcom/android/internal/telecom/ICallScreeningAdapter$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/ICallScreeningAdapter;
-Lcom/android/internal/telecom/ICallScreeningAdapter$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telecom/ICallScreeningAdapter$Stub;->TRANSACTION_allowCall:I
-Lcom/android/internal/telecom/ICallScreeningAdapter$Stub;->TRANSACTION_disallowCall:I
-Lcom/android/internal/telecom/ICallScreeningAdapter;
-Lcom/android/internal/telecom/ICallScreeningAdapter;->allowCall(Ljava/lang/String;)V
-Lcom/android/internal/telecom/ICallScreeningAdapter;->disallowCall(Ljava/lang/String;ZZZ)V
-Lcom/android/internal/telecom/ICallScreeningService$Stub$Proxy;
-Lcom/android/internal/telecom/ICallScreeningService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/telecom/ICallScreeningService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telecom/ICallScreeningService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/telecom/ICallScreeningService$Stub$Proxy;->screenCall(Lcom/android/internal/telecom/ICallScreeningAdapter;Landroid/telecom/ParcelableCall;)V
-Lcom/android/internal/telecom/ICallScreeningService$Stub;
-Lcom/android/internal/telecom/ICallScreeningService$Stub;-><init>()V
-Lcom/android/internal/telecom/ICallScreeningService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/ICallScreeningService;
-Lcom/android/internal/telecom/ICallScreeningService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telecom/ICallScreeningService$Stub;->TRANSACTION_screenCall:I
-Lcom/android/internal/telecom/ICallScreeningService;
-Lcom/android/internal/telecom/ICallScreeningService;->screenCall(Lcom/android/internal/telecom/ICallScreeningAdapter;Landroid/telecom/ParcelableCall;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->abort(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->addConnectionServiceAdapter(Lcom/android/internal/telecom/IConnectionServiceAdapter;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->answer(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->answerVideo(Ljava/lang/String;ILandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->conference(Ljava/lang/String;Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->connectionServiceFocusGained(Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->connectionServiceFocusLost(Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->createConnection(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Landroid/telecom/ConnectionRequest;ZZLandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->createConnectionComplete(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->createConnectionFailed(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Landroid/telecom/ConnectionRequest;ZLandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->deflect(Ljava/lang/String;Landroid/net/Uri;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->disconnect(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->handoverComplete(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->handoverFailed(Ljava/lang/String;Landroid/telecom/ConnectionRequest;ILandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->hold(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->mergeConference(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->onCallAudioStateChanged(Ljava/lang/String;Landroid/telecom/CallAudioState;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->onExtrasChanged(Ljava/lang/String;Landroid/os/Bundle;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->onPostDialContinue(Ljava/lang/String;ZLandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->playDtmfTone(Ljava/lang/String;CLandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->pullExternalCall(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->reject(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->rejectWithMessage(Ljava/lang/String;Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->removeConnectionServiceAdapter(Lcom/android/internal/telecom/IConnectionServiceAdapter;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->respondToRttUpgradeRequest(Ljava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->sendCallEvent(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->silence(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->splitFromConference(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->startRtt(Ljava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->stopDtmfTone(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->stopRtt(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->swapConference(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;->unhold(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService$Stub;
-Lcom/android/internal/telecom/IConnectionService$Stub;-><init>()V
-Lcom/android/internal/telecom/IConnectionService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/IConnectionService;
-Lcom/android/internal/telecom/IConnectionService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_abort:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_addConnectionServiceAdapter:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_answer:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_answerVideo:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_conference:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_connectionServiceFocusGained:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_connectionServiceFocusLost:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_createConnection:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_createConnectionComplete:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_createConnectionFailed:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_deflect:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_disconnect:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_handoverComplete:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_handoverFailed:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_hold:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_mergeConference:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_onCallAudioStateChanged:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_onExtrasChanged:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_onPostDialContinue:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_playDtmfTone:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_pullExternalCall:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_reject:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_rejectWithMessage:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_removeConnectionServiceAdapter:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_respondToRttUpgradeRequest:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_sendCallEvent:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_silence:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_splitFromConference:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_startRtt:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_stopDtmfTone:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_stopRtt:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_swapConference:I
-Lcom/android/internal/telecom/IConnectionService$Stub;->TRANSACTION_unhold:I
-Lcom/android/internal/telecom/IConnectionService;
-Lcom/android/internal/telecom/IConnectionService;->abort(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->addConnectionServiceAdapter(Lcom/android/internal/telecom/IConnectionServiceAdapter;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->answer(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->answerVideo(Ljava/lang/String;ILandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->conference(Ljava/lang/String;Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->connectionServiceFocusGained(Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->connectionServiceFocusLost(Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->createConnection(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Landroid/telecom/ConnectionRequest;ZZLandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->createConnectionComplete(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->createConnectionFailed(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Landroid/telecom/ConnectionRequest;ZLandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->deflect(Ljava/lang/String;Landroid/net/Uri;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->disconnect(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->handoverComplete(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->handoverFailed(Ljava/lang/String;Landroid/telecom/ConnectionRequest;ILandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->hold(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->mergeConference(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->onCallAudioStateChanged(Ljava/lang/String;Landroid/telecom/CallAudioState;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->onExtrasChanged(Ljava/lang/String;Landroid/os/Bundle;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->onPostDialContinue(Ljava/lang/String;ZLandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->playDtmfTone(Ljava/lang/String;CLandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->pullExternalCall(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->reject(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->rejectWithMessage(Ljava/lang/String;Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->removeConnectionServiceAdapter(Lcom/android/internal/telecom/IConnectionServiceAdapter;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->respondToRttUpgradeRequest(Ljava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->sendCallEvent(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->silence(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->splitFromConference(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->startRtt(Ljava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->stopDtmfTone(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->stopRtt(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->swapConference(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionService;->unhold(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->addConferenceCall(Ljava/lang/String;Landroid/telecom/ParcelableConference;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->addExistingConnection(Ljava/lang/String;Landroid/telecom/ParcelableConnection;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->handleCreateConnectionComplete(Ljava/lang/String;Landroid/telecom/ConnectionRequest;Landroid/telecom/ParcelableConnection;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->onConnectionEvent(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->onConnectionServiceFocusReleased(Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->onPhoneAccountChanged(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->onPostDialChar(Ljava/lang/String;CLandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->onPostDialWait(Ljava/lang/String;Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->onRemoteRttRequest(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->onRttInitiationFailure(Ljava/lang/String;ILandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->onRttInitiationSuccess(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->onRttSessionRemotelyTerminated(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->putExtras(Ljava/lang/String;Landroid/os/Bundle;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->queryRemoteConnectionServices(Lcom/android/internal/telecom/RemoteServiceCallback;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->removeCall(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->removeExtras(Ljava/lang/String;Ljava/util/List;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setActive(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setAddress(Ljava/lang/String;Landroid/net/Uri;ILandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setAudioRoute(Ljava/lang/String;ILjava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setCallerDisplayName(Ljava/lang/String;Ljava/lang/String;ILandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setConferenceableConnections(Ljava/lang/String;Ljava/util/List;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setConferenceMergeFailed(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setConnectionCapabilities(Ljava/lang/String;ILandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setConnectionProperties(Ljava/lang/String;ILandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setDialing(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setDisconnected(Ljava/lang/String;Landroid/telecom/DisconnectCause;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setIsConferenced(Ljava/lang/String;Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setIsVoipAudioMode(Ljava/lang/String;ZLandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setOnHold(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setPulling(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setRingbackRequested(Ljava/lang/String;ZLandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setRinging(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setStatusHints(Ljava/lang/String;Landroid/telecom/StatusHints;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setVideoProvider(Ljava/lang/String;Lcom/android/internal/telecom/IVideoProvider;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setVideoState(Ljava/lang/String;ILandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;-><init>()V
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/IConnectionServiceAdapter;
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_addConferenceCall:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_addExistingConnection:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_handleCreateConnectionComplete:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_onConnectionEvent:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_onConnectionServiceFocusReleased:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_onPhoneAccountChanged:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_onPostDialChar:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_onPostDialWait:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_onRemoteRttRequest:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_onRttInitiationFailure:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_onRttInitiationSuccess:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_onRttSessionRemotelyTerminated:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_putExtras:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_queryRemoteConnectionServices:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_removeCall:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_removeExtras:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_setActive:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_setAddress:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_setAudioRoute:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_setCallerDisplayName:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_setConferenceableConnections:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_setConferenceMergeFailed:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_setConnectionCapabilities:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_setConnectionProperties:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_setDialing:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_setDisconnected:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_setIsConferenced:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_setIsVoipAudioMode:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_setOnHold:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_setPulling:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_setRingbackRequested:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_setRinging:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_setStatusHints:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_setVideoProvider:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->TRANSACTION_setVideoState:I
-Lcom/android/internal/telecom/IConnectionServiceAdapter;
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->addConferenceCall(Ljava/lang/String;Landroid/telecom/ParcelableConference;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->addExistingConnection(Ljava/lang/String;Landroid/telecom/ParcelableConnection;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->handleCreateConnectionComplete(Ljava/lang/String;Landroid/telecom/ConnectionRequest;Landroid/telecom/ParcelableConnection;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->onConnectionEvent(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->onConnectionServiceFocusReleased(Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->onPhoneAccountChanged(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->onPostDialChar(Ljava/lang/String;CLandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->onPostDialWait(Ljava/lang/String;Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->onRemoteRttRequest(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->onRttInitiationFailure(Ljava/lang/String;ILandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->onRttInitiationSuccess(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->onRttSessionRemotelyTerminated(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->putExtras(Ljava/lang/String;Landroid/os/Bundle;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->queryRemoteConnectionServices(Lcom/android/internal/telecom/RemoteServiceCallback;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->removeCall(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->removeExtras(Ljava/lang/String;Ljava/util/List;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->setActive(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->setAddress(Ljava/lang/String;Landroid/net/Uri;ILandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->setAudioRoute(Ljava/lang/String;ILjava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->setCallerDisplayName(Ljava/lang/String;Ljava/lang/String;ILandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->setConferenceableConnections(Ljava/lang/String;Ljava/util/List;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->setConferenceMergeFailed(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->setConnectionCapabilities(Ljava/lang/String;ILandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->setConnectionProperties(Ljava/lang/String;ILandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->setDialing(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->setDisconnected(Ljava/lang/String;Landroid/telecom/DisconnectCause;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->setIsConferenced(Ljava/lang/String;Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->setIsVoipAudioMode(Ljava/lang/String;ZLandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->setOnHold(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->setPulling(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->setRingbackRequested(Ljava/lang/String;ZLandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->setRinging(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->setStatusHints(Ljava/lang/String;Landroid/telecom/StatusHints;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->setVideoProvider(Ljava/lang/String;Lcom/android/internal/telecom/IVideoProvider;Landroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IConnectionServiceAdapter;->setVideoState(Ljava/lang/String;ILandroid/telecom/Logging/Session$Info;)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->answerCall(Ljava/lang/String;I)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->conference(Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->deflectCall(Ljava/lang/String;Landroid/net/Uri;)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->disconnectCall(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->handoverTo(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;ILandroid/os/Bundle;)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->holdCall(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->mergeConference(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->mute(Z)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->phoneAccountSelected(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;Z)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->playDtmfTone(Ljava/lang/String;C)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->postDialContinue(Ljava/lang/String;Z)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->pullExternalCall(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->putExtras(Ljava/lang/String;Landroid/os/Bundle;)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->rejectCall(Ljava/lang/String;ZLjava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->removeExtras(Ljava/lang/String;Ljava/util/List;)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->respondToRttRequest(Ljava/lang/String;IZ)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->sendCallEvent(Ljava/lang/String;Ljava/lang/String;ILandroid/os/Bundle;)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->sendRttRequest(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->setAudioRoute(ILjava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->setRttMode(Ljava/lang/String;I)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->splitFromConference(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->stopDtmfTone(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->stopRtt(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->swapConference(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->turnOffProximitySensor(Z)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->turnOnProximitySensor()V
-Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->unholdCall(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter$Stub;
-Lcom/android/internal/telecom/IInCallAdapter$Stub;-><init>()V
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/IInCallAdapter;
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_answerCall:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_conference:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_deflectCall:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_disconnectCall:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_handoverTo:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_holdCall:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_mergeConference:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_mute:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_phoneAccountSelected:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_playDtmfTone:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_postDialContinue:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_pullExternalCall:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_putExtras:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_rejectCall:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_removeExtras:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_respondToRttRequest:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_sendCallEvent:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_sendRttRequest:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_setAudioRoute:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_setRttMode:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_splitFromConference:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_stopDtmfTone:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_stopRtt:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_swapConference:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_turnOffProximitySensor:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_turnOnProximitySensor:I
-Lcom/android/internal/telecom/IInCallAdapter$Stub;->TRANSACTION_unholdCall:I
-Lcom/android/internal/telecom/IInCallAdapter;
-Lcom/android/internal/telecom/IInCallAdapter;->answerCall(Ljava/lang/String;I)V
-Lcom/android/internal/telecom/IInCallAdapter;->conference(Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter;->deflectCall(Ljava/lang/String;Landroid/net/Uri;)V
-Lcom/android/internal/telecom/IInCallAdapter;->disconnectCall(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter;->handoverTo(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;ILandroid/os/Bundle;)V
-Lcom/android/internal/telecom/IInCallAdapter;->holdCall(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter;->mergeConference(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter;->mute(Z)V
-Lcom/android/internal/telecom/IInCallAdapter;->phoneAccountSelected(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;Z)V
-Lcom/android/internal/telecom/IInCallAdapter;->playDtmfTone(Ljava/lang/String;C)V
-Lcom/android/internal/telecom/IInCallAdapter;->postDialContinue(Ljava/lang/String;Z)V
-Lcom/android/internal/telecom/IInCallAdapter;->pullExternalCall(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter;->putExtras(Ljava/lang/String;Landroid/os/Bundle;)V
-Lcom/android/internal/telecom/IInCallAdapter;->rejectCall(Ljava/lang/String;ZLjava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter;->removeExtras(Ljava/lang/String;Ljava/util/List;)V
-Lcom/android/internal/telecom/IInCallAdapter;->respondToRttRequest(Ljava/lang/String;IZ)V
-Lcom/android/internal/telecom/IInCallAdapter;->sendCallEvent(Ljava/lang/String;Ljava/lang/String;ILandroid/os/Bundle;)V
-Lcom/android/internal/telecom/IInCallAdapter;->sendRttRequest(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter;->setAudioRoute(ILjava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter;->setRttMode(Ljava/lang/String;I)V
-Lcom/android/internal/telecom/IInCallAdapter;->splitFromConference(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter;->stopDtmfTone(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter;->stopRtt(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter;->swapConference(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallAdapter;->turnOffProximitySensor(Z)V
-Lcom/android/internal/telecom/IInCallAdapter;->turnOnProximitySensor()V
-Lcom/android/internal/telecom/IInCallAdapter;->unholdCall(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallService$Stub$Proxy;
-Lcom/android/internal/telecom/IInCallService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/telecom/IInCallService$Stub$Proxy;->addCall(Landroid/telecom/ParcelableCall;)V
-Lcom/android/internal/telecom/IInCallService$Stub$Proxy;->bringToForeground(Z)V
-Lcom/android/internal/telecom/IInCallService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telecom/IInCallService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/telecom/IInCallService$Stub$Proxy;->onCallAudioStateChanged(Landroid/telecom/CallAudioState;)V
-Lcom/android/internal/telecom/IInCallService$Stub$Proxy;->onCanAddCallChanged(Z)V
-Lcom/android/internal/telecom/IInCallService$Stub$Proxy;->onConnectionEvent(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V
-Lcom/android/internal/telecom/IInCallService$Stub$Proxy;->onHandoverComplete(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallService$Stub$Proxy;->onHandoverFailed(Ljava/lang/String;I)V
-Lcom/android/internal/telecom/IInCallService$Stub$Proxy;->onRttInitiationFailure(Ljava/lang/String;I)V
-Lcom/android/internal/telecom/IInCallService$Stub$Proxy;->onRttUpgradeRequest(Ljava/lang/String;I)V
-Lcom/android/internal/telecom/IInCallService$Stub$Proxy;->setInCallAdapter(Lcom/android/internal/telecom/IInCallAdapter;)V
-Lcom/android/internal/telecom/IInCallService$Stub$Proxy;->setPostDial(Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallService$Stub$Proxy;->setPostDialWait(Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallService$Stub$Proxy;->silenceRinger()V
-Lcom/android/internal/telecom/IInCallService$Stub$Proxy;->updateCall(Landroid/telecom/ParcelableCall;)V
-Lcom/android/internal/telecom/IInCallService$Stub;
-Lcom/android/internal/telecom/IInCallService$Stub;-><init>()V
-Lcom/android/internal/telecom/IInCallService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/IInCallService;
-Lcom/android/internal/telecom/IInCallService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telecom/IInCallService$Stub;->TRANSACTION_addCall:I
-Lcom/android/internal/telecom/IInCallService$Stub;->TRANSACTION_bringToForeground:I
-Lcom/android/internal/telecom/IInCallService$Stub;->TRANSACTION_onCallAudioStateChanged:I
-Lcom/android/internal/telecom/IInCallService$Stub;->TRANSACTION_onCanAddCallChanged:I
-Lcom/android/internal/telecom/IInCallService$Stub;->TRANSACTION_onConnectionEvent:I
-Lcom/android/internal/telecom/IInCallService$Stub;->TRANSACTION_onHandoverComplete:I
-Lcom/android/internal/telecom/IInCallService$Stub;->TRANSACTION_onHandoverFailed:I
-Lcom/android/internal/telecom/IInCallService$Stub;->TRANSACTION_onRttInitiationFailure:I
-Lcom/android/internal/telecom/IInCallService$Stub;->TRANSACTION_onRttUpgradeRequest:I
-Lcom/android/internal/telecom/IInCallService$Stub;->TRANSACTION_setInCallAdapter:I
-Lcom/android/internal/telecom/IInCallService$Stub;->TRANSACTION_setPostDial:I
-Lcom/android/internal/telecom/IInCallService$Stub;->TRANSACTION_setPostDialWait:I
-Lcom/android/internal/telecom/IInCallService$Stub;->TRANSACTION_silenceRinger:I
-Lcom/android/internal/telecom/IInCallService$Stub;->TRANSACTION_updateCall:I
-Lcom/android/internal/telecom/IInCallService;
-Lcom/android/internal/telecom/IInCallService;->addCall(Landroid/telecom/ParcelableCall;)V
-Lcom/android/internal/telecom/IInCallService;->bringToForeground(Z)V
-Lcom/android/internal/telecom/IInCallService;->onCallAudioStateChanged(Landroid/telecom/CallAudioState;)V
-Lcom/android/internal/telecom/IInCallService;->onCanAddCallChanged(Z)V
-Lcom/android/internal/telecom/IInCallService;->onConnectionEvent(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V
-Lcom/android/internal/telecom/IInCallService;->onHandoverComplete(Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallService;->onHandoverFailed(Ljava/lang/String;I)V
-Lcom/android/internal/telecom/IInCallService;->onRttInitiationFailure(Ljava/lang/String;I)V
-Lcom/android/internal/telecom/IInCallService;->onRttUpgradeRequest(Ljava/lang/String;I)V
-Lcom/android/internal/telecom/IInCallService;->setInCallAdapter(Lcom/android/internal/telecom/IInCallAdapter;)V
-Lcom/android/internal/telecom/IInCallService;->setPostDial(Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallService;->setPostDialWait(Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telecom/IInCallService;->silenceRinger()V
-Lcom/android/internal/telecom/IInCallService;->updateCall(Landroid/telecom/ParcelableCall;)V
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->acceptHandover(Landroid/net/Uri;ILandroid/telecom/PhoneAccountHandle;)V
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->acceptRingingCall(Ljava/lang/String;)V
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->acceptRingingCallWithVideoState(Ljava/lang/String;I)V
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->addNewIncomingCall(Landroid/telecom/PhoneAccountHandle;Landroid/os/Bundle;)V
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->addNewUnknownCall(Landroid/telecom/PhoneAccountHandle;Landroid/os/Bundle;)V
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->cancelMissedCallsNotification(Ljava/lang/String;)V
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->clearAccounts(Ljava/lang/String;)V
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->createManageBlockedNumbersIntent()Landroid/content/Intent;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->dumpCallAnalytics()Landroid/telecom/TelecomAnalytics;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->enablePhoneAccount(Landroid/telecom/PhoneAccountHandle;Z)Z
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->endCall(Ljava/lang/String;)Z
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getAdnUriForPhoneAccount(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;)Landroid/net/Uri;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getAllPhoneAccountHandles()Ljava/util/List;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getAllPhoneAccounts()Ljava/util/List;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getAllPhoneAccountsCount()I
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getCallCapablePhoneAccounts(ZLjava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getCallState()I
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getCurrentTtyMode(Ljava/lang/String;)I
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getDefaultDialerPackage()Ljava/lang/String;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getDefaultOutgoingPhoneAccount(Ljava/lang/String;Ljava/lang/String;)Landroid/telecom/PhoneAccountHandle;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getDefaultPhoneApp()Landroid/content/ComponentName;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getLine1Number(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getPhoneAccount(Landroid/telecom/PhoneAccountHandle;)Landroid/telecom/PhoneAccount;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getPhoneAccountsForPackage(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getPhoneAccountsSupportingScheme(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getSelfManagedPhoneAccounts(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getSimCallManager()Landroid/telecom/PhoneAccountHandle;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getSimCallManagerForUser(I)Landroid/telecom/PhoneAccountHandle;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getSystemDialerPackage()Ljava/lang/String;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getUserSelectedOutgoingPhoneAccount()Landroid/telecom/PhoneAccountHandle;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getVoiceMailNumber(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->handlePinMmi(Ljava/lang/String;Ljava/lang/String;)Z
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->handlePinMmiForPhoneAccount(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Ljava/lang/String;)Z
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->isInCall(Ljava/lang/String;)Z
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->isIncomingCallPermitted(Landroid/telecom/PhoneAccountHandle;)Z
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->isInManagedCall(Ljava/lang/String;)Z
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->isOutgoingCallPermitted(Landroid/telecom/PhoneAccountHandle;)Z
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->isRinging(Ljava/lang/String;)Z
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->isTtySupported(Ljava/lang/String;)Z
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->isVoiceMailNumber(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Ljava/lang/String;)Z
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->placeCall(Landroid/net/Uri;Landroid/os/Bundle;Ljava/lang/String;)V
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->registerPhoneAccount(Landroid/telecom/PhoneAccount;)V
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->setDefaultDialer(Ljava/lang/String;)Z
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->setUserSelectedOutgoingPhoneAccount(Landroid/telecom/PhoneAccountHandle;)V
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->showInCallScreen(ZLjava/lang/String;)V
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->silenceRinger(Ljava/lang/String;)V
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->unregisterPhoneAccount(Landroid/telecom/PhoneAccountHandle;)V
-Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;->waitOnHandlers()V
-Lcom/android/internal/telecom/ITelecomService$Stub;
-Lcom/android/internal/telecom/ITelecomService$Stub;-><init>()V
-Lcom/android/internal/telecom/ITelecomService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_acceptHandover:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_acceptRingingCall:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_acceptRingingCallWithVideoState:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_addNewIncomingCall:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_addNewUnknownCall:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_cancelMissedCallsNotification:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_clearAccounts:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_createManageBlockedNumbersIntent:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_dumpCallAnalytics:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_enablePhoneAccount:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_endCall:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_getAdnUriForPhoneAccount:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_getAllPhoneAccountHandles:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_getAllPhoneAccounts:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_getAllPhoneAccountsCount:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_getCallCapablePhoneAccounts:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_getCallState:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_getCurrentTtyMode:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_getDefaultDialerPackage:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_getDefaultOutgoingPhoneAccount:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_getDefaultPhoneApp:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_getLine1Number:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_getPhoneAccount:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_getPhoneAccountsForPackage:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_getPhoneAccountsSupportingScheme:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_getSelfManagedPhoneAccounts:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_getSimCallManager:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_getSimCallManagerForUser:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_getSystemDialerPackage:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_getUserSelectedOutgoingPhoneAccount:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_getVoiceMailNumber:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_handlePinMmi:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_handlePinMmiForPhoneAccount:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_isInCall:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_isIncomingCallPermitted:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_isInManagedCall:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_isOutgoingCallPermitted:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_isRinging:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_isTtySupported:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_isVoiceMailNumber:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_placeCall:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_registerPhoneAccount:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_setDefaultDialer:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_setUserSelectedOutgoingPhoneAccount:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_showInCallScreen:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_silenceRinger:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_unregisterPhoneAccount:I
-Lcom/android/internal/telecom/ITelecomService$Stub;->TRANSACTION_waitOnHandlers:I
-Lcom/android/internal/telecom/ITelecomService;
-Lcom/android/internal/telecom/ITelecomService;->acceptHandover(Landroid/net/Uri;ILandroid/telecom/PhoneAccountHandle;)V
-Lcom/android/internal/telecom/ITelecomService;->acceptRingingCall(Ljava/lang/String;)V
-Lcom/android/internal/telecom/ITelecomService;->acceptRingingCallWithVideoState(Ljava/lang/String;I)V
-Lcom/android/internal/telecom/ITelecomService;->addNewIncomingCall(Landroid/telecom/PhoneAccountHandle;Landroid/os/Bundle;)V
-Lcom/android/internal/telecom/ITelecomService;->addNewUnknownCall(Landroid/telecom/PhoneAccountHandle;Landroid/os/Bundle;)V
-Lcom/android/internal/telecom/ITelecomService;->cancelMissedCallsNotification(Ljava/lang/String;)V
-Lcom/android/internal/telecom/ITelecomService;->clearAccounts(Ljava/lang/String;)V
-Lcom/android/internal/telecom/ITelecomService;->createManageBlockedNumbersIntent()Landroid/content/Intent;
-Lcom/android/internal/telecom/ITelecomService;->dumpCallAnalytics()Landroid/telecom/TelecomAnalytics;
-Lcom/android/internal/telecom/ITelecomService;->enablePhoneAccount(Landroid/telecom/PhoneAccountHandle;Z)Z
-Lcom/android/internal/telecom/ITelecomService;->endCall(Ljava/lang/String;)Z
-Lcom/android/internal/telecom/ITelecomService;->getAdnUriForPhoneAccount(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;)Landroid/net/Uri;
-Lcom/android/internal/telecom/ITelecomService;->getAllPhoneAccountHandles()Ljava/util/List;
-Lcom/android/internal/telecom/ITelecomService;->getAllPhoneAccounts()Ljava/util/List;
-Lcom/android/internal/telecom/ITelecomService;->getAllPhoneAccountsCount()I
-Lcom/android/internal/telecom/ITelecomService;->getCallCapablePhoneAccounts(ZLjava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telecom/ITelecomService;->getCurrentTtyMode(Ljava/lang/String;)I
-Lcom/android/internal/telecom/ITelecomService;->getDefaultDialerPackage()Ljava/lang/String;
-Lcom/android/internal/telecom/ITelecomService;->getDefaultOutgoingPhoneAccount(Ljava/lang/String;Ljava/lang/String;)Landroid/telecom/PhoneAccountHandle;
-Lcom/android/internal/telecom/ITelecomService;->getDefaultPhoneApp()Landroid/content/ComponentName;
-Lcom/android/internal/telecom/ITelecomService;->getLine1Number(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telecom/ITelecomService;->getPhoneAccount(Landroid/telecom/PhoneAccountHandle;)Landroid/telecom/PhoneAccount;
-Lcom/android/internal/telecom/ITelecomService;->getPhoneAccountsForPackage(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telecom/ITelecomService;->getPhoneAccountsSupportingScheme(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telecom/ITelecomService;->getSelfManagedPhoneAccounts(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telecom/ITelecomService;->getSimCallManager()Landroid/telecom/PhoneAccountHandle;
-Lcom/android/internal/telecom/ITelecomService;->getSimCallManagerForUser(I)Landroid/telecom/PhoneAccountHandle;
-Lcom/android/internal/telecom/ITelecomService;->getSystemDialerPackage()Ljava/lang/String;
-Lcom/android/internal/telecom/ITelecomService;->getUserSelectedOutgoingPhoneAccount()Landroid/telecom/PhoneAccountHandle;
-Lcom/android/internal/telecom/ITelecomService;->getVoiceMailNumber(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telecom/ITelecomService;->handlePinMmi(Ljava/lang/String;Ljava/lang/String;)Z
-Lcom/android/internal/telecom/ITelecomService;->handlePinMmiForPhoneAccount(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Ljava/lang/String;)Z
-Lcom/android/internal/telecom/ITelecomService;->isInCall(Ljava/lang/String;)Z
-Lcom/android/internal/telecom/ITelecomService;->isIncomingCallPermitted(Landroid/telecom/PhoneAccountHandle;)Z
-Lcom/android/internal/telecom/ITelecomService;->isInManagedCall(Ljava/lang/String;)Z
-Lcom/android/internal/telecom/ITelecomService;->isOutgoingCallPermitted(Landroid/telecom/PhoneAccountHandle;)Z
-Lcom/android/internal/telecom/ITelecomService;->isRinging(Ljava/lang/String;)Z
-Lcom/android/internal/telecom/ITelecomService;->isTtySupported(Ljava/lang/String;)Z
-Lcom/android/internal/telecom/ITelecomService;->isVoiceMailNumber(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Ljava/lang/String;)Z
-Lcom/android/internal/telecom/ITelecomService;->placeCall(Landroid/net/Uri;Landroid/os/Bundle;Ljava/lang/String;)V
-Lcom/android/internal/telecom/ITelecomService;->registerPhoneAccount(Landroid/telecom/PhoneAccount;)V
-Lcom/android/internal/telecom/ITelecomService;->setDefaultDialer(Ljava/lang/String;)Z
-Lcom/android/internal/telecom/ITelecomService;->setUserSelectedOutgoingPhoneAccount(Landroid/telecom/PhoneAccountHandle;)V
-Lcom/android/internal/telecom/ITelecomService;->showInCallScreen(ZLjava/lang/String;)V
-Lcom/android/internal/telecom/ITelecomService;->silenceRinger(Ljava/lang/String;)V
-Lcom/android/internal/telecom/ITelecomService;->unregisterPhoneAccount(Landroid/telecom/PhoneAccountHandle;)V
-Lcom/android/internal/telecom/ITelecomService;->waitOnHandlers()V
-Lcom/android/internal/telecom/IVideoCallback$Stub$Proxy;
-Lcom/android/internal/telecom/IVideoCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/telecom/IVideoCallback$Stub$Proxy;->changeCallDataUsage(J)V
-Lcom/android/internal/telecom/IVideoCallback$Stub$Proxy;->changeCameraCapabilities(Landroid/telecom/VideoProfile$CameraCapabilities;)V
-Lcom/android/internal/telecom/IVideoCallback$Stub$Proxy;->changePeerDimensions(II)V
-Lcom/android/internal/telecom/IVideoCallback$Stub$Proxy;->changeVideoQuality(I)V
-Lcom/android/internal/telecom/IVideoCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telecom/IVideoCallback$Stub$Proxy;->handleCallSessionEvent(I)V
-Lcom/android/internal/telecom/IVideoCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/telecom/IVideoCallback$Stub$Proxy;->receiveSessionModifyRequest(Landroid/telecom/VideoProfile;)V
-Lcom/android/internal/telecom/IVideoCallback$Stub$Proxy;->receiveSessionModifyResponse(ILandroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V
-Lcom/android/internal/telecom/IVideoCallback$Stub;
-Lcom/android/internal/telecom/IVideoCallback$Stub;-><init>()V
-Lcom/android/internal/telecom/IVideoCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/IVideoCallback;
-Lcom/android/internal/telecom/IVideoCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telecom/IVideoCallback$Stub;->TRANSACTION_changeCallDataUsage:I
-Lcom/android/internal/telecom/IVideoCallback$Stub;->TRANSACTION_changeCameraCapabilities:I
-Lcom/android/internal/telecom/IVideoCallback$Stub;->TRANSACTION_changePeerDimensions:I
-Lcom/android/internal/telecom/IVideoCallback$Stub;->TRANSACTION_changeVideoQuality:I
-Lcom/android/internal/telecom/IVideoCallback$Stub;->TRANSACTION_handleCallSessionEvent:I
-Lcom/android/internal/telecom/IVideoCallback$Stub;->TRANSACTION_receiveSessionModifyRequest:I
-Lcom/android/internal/telecom/IVideoCallback$Stub;->TRANSACTION_receiveSessionModifyResponse:I
-Lcom/android/internal/telecom/IVideoCallback;
-Lcom/android/internal/telecom/IVideoCallback;->changeCallDataUsage(J)V
-Lcom/android/internal/telecom/IVideoCallback;->changeCameraCapabilities(Landroid/telecom/VideoProfile$CameraCapabilities;)V
-Lcom/android/internal/telecom/IVideoCallback;->changePeerDimensions(II)V
-Lcom/android/internal/telecom/IVideoCallback;->changeVideoQuality(I)V
-Lcom/android/internal/telecom/IVideoCallback;->handleCallSessionEvent(I)V
-Lcom/android/internal/telecom/IVideoCallback;->receiveSessionModifyRequest(Landroid/telecom/VideoProfile;)V
-Lcom/android/internal/telecom/IVideoCallback;->receiveSessionModifyResponse(ILandroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V
-Lcom/android/internal/telecom/IVideoProvider$Stub$Proxy;
-Lcom/android/internal/telecom/IVideoProvider$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/telecom/IVideoProvider$Stub$Proxy;->addVideoCallback(Landroid/os/IBinder;)V
-Lcom/android/internal/telecom/IVideoProvider$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telecom/IVideoProvider$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/telecom/IVideoProvider$Stub$Proxy;->removeVideoCallback(Landroid/os/IBinder;)V
-Lcom/android/internal/telecom/IVideoProvider$Stub$Proxy;->requestCallDataUsage()V
-Lcom/android/internal/telecom/IVideoProvider$Stub$Proxy;->requestCameraCapabilities()V
-Lcom/android/internal/telecom/IVideoProvider$Stub$Proxy;->sendSessionModifyRequest(Landroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V
-Lcom/android/internal/telecom/IVideoProvider$Stub$Proxy;->sendSessionModifyResponse(Landroid/telecom/VideoProfile;)V
-Lcom/android/internal/telecom/IVideoProvider$Stub$Proxy;->setCamera(Ljava/lang/String;Ljava/lang/String;I)V
-Lcom/android/internal/telecom/IVideoProvider$Stub$Proxy;->setDeviceOrientation(I)V
-Lcom/android/internal/telecom/IVideoProvider$Stub$Proxy;->setDisplaySurface(Landroid/view/Surface;)V
-Lcom/android/internal/telecom/IVideoProvider$Stub$Proxy;->setPauseImage(Landroid/net/Uri;)V
-Lcom/android/internal/telecom/IVideoProvider$Stub$Proxy;->setPreviewSurface(Landroid/view/Surface;)V
-Lcom/android/internal/telecom/IVideoProvider$Stub$Proxy;->setZoom(F)V
-Lcom/android/internal/telecom/IVideoProvider$Stub;
-Lcom/android/internal/telecom/IVideoProvider$Stub;-><init>()V
-Lcom/android/internal/telecom/IVideoProvider$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/IVideoProvider;
-Lcom/android/internal/telecom/IVideoProvider$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telecom/IVideoProvider$Stub;->TRANSACTION_addVideoCallback:I
-Lcom/android/internal/telecom/IVideoProvider$Stub;->TRANSACTION_removeVideoCallback:I
-Lcom/android/internal/telecom/IVideoProvider$Stub;->TRANSACTION_requestCallDataUsage:I
-Lcom/android/internal/telecom/IVideoProvider$Stub;->TRANSACTION_requestCameraCapabilities:I
-Lcom/android/internal/telecom/IVideoProvider$Stub;->TRANSACTION_sendSessionModifyRequest:I
-Lcom/android/internal/telecom/IVideoProvider$Stub;->TRANSACTION_sendSessionModifyResponse:I
-Lcom/android/internal/telecom/IVideoProvider$Stub;->TRANSACTION_setCamera:I
-Lcom/android/internal/telecom/IVideoProvider$Stub;->TRANSACTION_setDeviceOrientation:I
-Lcom/android/internal/telecom/IVideoProvider$Stub;->TRANSACTION_setDisplaySurface:I
-Lcom/android/internal/telecom/IVideoProvider$Stub;->TRANSACTION_setPauseImage:I
-Lcom/android/internal/telecom/IVideoProvider$Stub;->TRANSACTION_setPreviewSurface:I
-Lcom/android/internal/telecom/IVideoProvider$Stub;->TRANSACTION_setZoom:I
-Lcom/android/internal/telecom/IVideoProvider;
-Lcom/android/internal/telecom/IVideoProvider;->addVideoCallback(Landroid/os/IBinder;)V
-Lcom/android/internal/telecom/IVideoProvider;->removeVideoCallback(Landroid/os/IBinder;)V
-Lcom/android/internal/telecom/IVideoProvider;->requestCallDataUsage()V
-Lcom/android/internal/telecom/IVideoProvider;->requestCameraCapabilities()V
-Lcom/android/internal/telecom/IVideoProvider;->sendSessionModifyRequest(Landroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V
-Lcom/android/internal/telecom/IVideoProvider;->sendSessionModifyResponse(Landroid/telecom/VideoProfile;)V
-Lcom/android/internal/telecom/IVideoProvider;->setCamera(Ljava/lang/String;Ljava/lang/String;I)V
-Lcom/android/internal/telecom/IVideoProvider;->setDeviceOrientation(I)V
-Lcom/android/internal/telecom/IVideoProvider;->setDisplaySurface(Landroid/view/Surface;)V
-Lcom/android/internal/telecom/IVideoProvider;->setPauseImage(Landroid/net/Uri;)V
-Lcom/android/internal/telecom/IVideoProvider;->setPreviewSurface(Landroid/view/Surface;)V
-Lcom/android/internal/telecom/IVideoProvider;->setZoom(F)V
-Lcom/android/internal/telecom/RemoteServiceCallback$Stub$Proxy;
-Lcom/android/internal/telecom/RemoteServiceCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/telecom/RemoteServiceCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telecom/RemoteServiceCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/telecom/RemoteServiceCallback$Stub$Proxy;->onError()V
-Lcom/android/internal/telecom/RemoteServiceCallback$Stub$Proxy;->onResult(Ljava/util/List;Ljava/util/List;)V
-Lcom/android/internal/telecom/RemoteServiceCallback$Stub;
-Lcom/android/internal/telecom/RemoteServiceCallback$Stub;-><init>()V
-Lcom/android/internal/telecom/RemoteServiceCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/RemoteServiceCallback;
-Lcom/android/internal/telecom/RemoteServiceCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telecom/RemoteServiceCallback$Stub;->TRANSACTION_onError:I
-Lcom/android/internal/telecom/RemoteServiceCallback$Stub;->TRANSACTION_onResult:I
-Lcom/android/internal/telecom/RemoteServiceCallback;
-Lcom/android/internal/telecom/RemoteServiceCallback;->onError()V
-Lcom/android/internal/telecom/RemoteServiceCallback;->onResult(Ljava/util/List;Ljava/util/List;)V
-Lcom/android/internal/telephony/CallerInfo;
-Lcom/android/internal/telephony/CallerInfo;->cachedPhoto:Landroid/graphics/drawable/Drawable;
-Lcom/android/internal/telephony/CallerInfo;->cachedPhotoIcon:Landroid/graphics/Bitmap;
-Lcom/android/internal/telephony/CallerInfo;->cnapName:Ljava/lang/String;
-Lcom/android/internal/telephony/CallerInfo;->contactDisplayPhotoUri:Landroid/net/Uri;
-Lcom/android/internal/telephony/CallerInfo;->contactExists:Z
-Lcom/android/internal/telephony/CallerInfo;->contactRefUri:Landroid/net/Uri;
-Lcom/android/internal/telephony/CallerInfo;->contactRingtoneUri:Landroid/net/Uri;
-Lcom/android/internal/telephony/CallerInfo;->doSecondaryLookupIfNecessary(Landroid/content/Context;Ljava/lang/String;Lcom/android/internal/telephony/CallerInfo;)Lcom/android/internal/telephony/CallerInfo;
-Lcom/android/internal/telephony/CallerInfo;->geoDescription:Ljava/lang/String;
-Lcom/android/internal/telephony/CallerInfo;->getCallerInfo(Landroid/content/Context;Landroid/net/Uri;Landroid/database/Cursor;)Lcom/android/internal/telephony/CallerInfo;
-Lcom/android/internal/telephony/CallerInfo;->getColumnIndexForPersonId(Landroid/net/Uri;Landroid/database/Cursor;)I
-Lcom/android/internal/telephony/CallerInfo;->getCurrentCountryIso(Landroid/content/Context;)Ljava/lang/String;
-Lcom/android/internal/telephony/CallerInfo;->getCurrentCountryIso(Landroid/content/Context;Ljava/util/Locale;)Ljava/lang/String;
-Lcom/android/internal/telephony/CallerInfo;->getGeoDescription(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/CallerInfo;->isCachedPhotoCurrent:Z
-Lcom/android/internal/telephony/CallerInfo;->isEmergencyNumber()Z
-Lcom/android/internal/telephony/CallerInfo;->isVoiceMailNumber()Z
-Lcom/android/internal/telephony/CallerInfo;->lookupKey:Ljava/lang/String;
-Lcom/android/internal/telephony/CallerInfo;->markAsEmergency(Landroid/content/Context;)Lcom/android/internal/telephony/CallerInfo;
-Lcom/android/internal/telephony/CallerInfo;->markAsVoiceMail()Lcom/android/internal/telephony/CallerInfo;
-Lcom/android/internal/telephony/CallerInfo;->markAsVoiceMail(I)Lcom/android/internal/telephony/CallerInfo;
-Lcom/android/internal/telephony/CallerInfo;->mIsEmergency:Z
-Lcom/android/internal/telephony/CallerInfo;->mIsVoiceMail:Z
-Lcom/android/internal/telephony/CallerInfo;->namePresentation:I
-Lcom/android/internal/telephony/CallerInfo;->needUpdate:Z
-Lcom/android/internal/telephony/CallerInfo;->normalize(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/CallerInfo;->normalizedNumber:Ljava/lang/String;
-Lcom/android/internal/telephony/CallerInfo;->numberPresentation:I
-Lcom/android/internal/telephony/CallerInfo;->phoneLabel:Ljava/lang/String;
-Lcom/android/internal/telephony/CallerInfo;->photoResource:I
-Lcom/android/internal/telephony/CallerInfo;->shouldSendToVoicemail:Z
-Lcom/android/internal/telephony/CallerInfo;->TAG:Ljava/lang/String;
-Lcom/android/internal/telephony/CallerInfo;->updateGeoDescription(Landroid/content/Context;Ljava/lang/String;)V
-Lcom/android/internal/telephony/CallerInfo;->userType:J
-Lcom/android/internal/telephony/CallerInfo;->USER_TYPE_CURRENT:J
-Lcom/android/internal/telephony/CallerInfo;->USER_TYPE_WORK:J
-Lcom/android/internal/telephony/CallerInfo;->VDBG:Z
-Lcom/android/internal/telephony/CellNetworkScanResult;
-Lcom/android/internal/telephony/CellNetworkScanResult;-><init>(ILjava/util/List;)V
-Lcom/android/internal/telephony/CellNetworkScanResult;-><init>(Landroid/os/Parcel;)V
-Lcom/android/internal/telephony/CellNetworkScanResult;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/internal/telephony/CellNetworkScanResult;->getOperators()Ljava/util/List;
-Lcom/android/internal/telephony/CellNetworkScanResult;->getStatus()I
-Lcom/android/internal/telephony/CellNetworkScanResult;->mOperators:Ljava/util/List;
-Lcom/android/internal/telephony/CellNetworkScanResult;->mStatus:I
-Lcom/android/internal/telephony/CellNetworkScanResult;->STATUS_RADIO_GENERIC_FAILURE:I
-Lcom/android/internal/telephony/CellNetworkScanResult;->STATUS_RADIO_NOT_AVAILABLE:I
-Lcom/android/internal/telephony/CellNetworkScanResult;->STATUS_SUCCESS:I
-Lcom/android/internal/telephony/CellNetworkScanResult;->STATUS_UNKNOWN_ERROR:I
-Lcom/android/internal/telephony/EncodeException;
-Lcom/android/internal/telephony/EncodeException;-><init>()V
-Lcom/android/internal/telephony/GsmAlphabet$LanguagePairCount;
-Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;
-Lcom/android/internal/telephony/GsmAlphabet;
-Lcom/android/internal/telephony/GsmAlphabet;-><init>()V
-Lcom/android/internal/telephony/GsmAlphabet;->charToGsmExtended(C)I
-Lcom/android/internal/telephony/GsmAlphabet;->countGsmSeptets(C)I
-Lcom/android/internal/telephony/GsmAlphabet;->countGsmSeptets(Ljava/lang/CharSequence;Z)Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;
-Lcom/android/internal/telephony/GsmAlphabet;->countGsmSeptetsUsingTables(Ljava/lang/CharSequence;ZII)I
-Lcom/android/internal/telephony/GsmAlphabet;->enableCountrySpecificEncodings()V
-Lcom/android/internal/telephony/GsmAlphabet;->getEnabledLockingShiftTables()[I
-Lcom/android/internal/telephony/GsmAlphabet;->getEnabledSingleShiftTables()[I
-Lcom/android/internal/telephony/GsmAlphabet;->gsmExtendedToChar(I)C
-Lcom/android/internal/telephony/GsmAlphabet;->GSM_EXTENDED_ESCAPE:B
-Lcom/android/internal/telephony/GsmAlphabet;->isGsmSeptets(C)Z
-Lcom/android/internal/telephony/GsmAlphabet;->sDisableCountryEncodingCheck:Z
-Lcom/android/internal/telephony/GsmAlphabet;->setEnabledLockingShiftTables([I)V
-Lcom/android/internal/telephony/GsmAlphabet;->setEnabledSingleShiftTables([I)V
-Lcom/android/internal/telephony/GsmAlphabet;->stringToGsm7BitPacked(Ljava/lang/String;II)[B
-Lcom/android/internal/telephony/GsmAlphabet;->stringToGsm7BitPackedWithHeader(Ljava/lang/String;[B)[B
-Lcom/android/internal/telephony/GsmAlphabet;->stringToGsm8BitUnpackedField(Ljava/lang/String;[BII)V
-Lcom/android/internal/telephony/GsmAlphabet;->TAG:Ljava/lang/String;
-Lcom/android/internal/telephony/GsmAlphabet;->UDH_SEPTET_COST_CONCATENATED_MESSAGE:I
-Lcom/android/internal/telephony/GsmAlphabet;->UDH_SEPTET_COST_LENGTH:I
-Lcom/android/internal/telephony/GsmAlphabet;->UDH_SEPTET_COST_ONE_SHIFT_TABLE:I
-Lcom/android/internal/telephony/GsmAlphabet;->UDH_SEPTET_COST_TWO_SHIFT_TABLES:I
-Lcom/android/internal/telephony/IApnSourceService$Stub$Proxy;
-Lcom/android/internal/telephony/IApnSourceService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/telephony/IApnSourceService$Stub$Proxy;->getApns()[Landroid/content/ContentValues;
-Lcom/android/internal/telephony/IApnSourceService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telephony/IApnSourceService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/telephony/IApnSourceService$Stub;
-Lcom/android/internal/telephony/IApnSourceService$Stub;-><init>()V
-Lcom/android/internal/telephony/IApnSourceService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IApnSourceService;
-Lcom/android/internal/telephony/IApnSourceService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telephony/IApnSourceService$Stub;->TRANSACTION_getApns:I
-Lcom/android/internal/telephony/IApnSourceService;
-Lcom/android/internal/telephony/IApnSourceService;->getApns()[Landroid/content/ContentValues;
-Lcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;
-Lcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;->getConfigForSubId(I)Landroid/os/PersistableBundle;
-Lcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;->getDefaultCarrierServicePackageName()Ljava/lang/String;
-Lcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;->notifyConfigChangedForSubId(I)V
-Lcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;->updateConfigForPhoneId(ILjava/lang/String;)V
-Lcom/android/internal/telephony/ICarrierConfigLoader$Stub;
-Lcom/android/internal/telephony/ICarrierConfigLoader$Stub;-><init>()V
-Lcom/android/internal/telephony/ICarrierConfigLoader$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ICarrierConfigLoader;
-Lcom/android/internal/telephony/ICarrierConfigLoader$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telephony/ICarrierConfigLoader$Stub;->TRANSACTION_getConfigForSubId:I
-Lcom/android/internal/telephony/ICarrierConfigLoader$Stub;->TRANSACTION_getDefaultCarrierServicePackageName:I
-Lcom/android/internal/telephony/ICarrierConfigLoader$Stub;->TRANSACTION_notifyConfigChangedForSubId:I
-Lcom/android/internal/telephony/ICarrierConfigLoader$Stub;->TRANSACTION_updateConfigForPhoneId:I
-Lcom/android/internal/telephony/ICarrierConfigLoader;
-Lcom/android/internal/telephony/ICarrierConfigLoader;->getDefaultCarrierServicePackageName()Ljava/lang/String;
-Lcom/android/internal/telephony/ICarrierConfigLoader;->notifyConfigChangedForSubId(I)V
-Lcom/android/internal/telephony/ICarrierConfigLoader;->updateConfigForPhoneId(ILjava/lang/String;)V
-Lcom/android/internal/telephony/IMms$Stub$Proxy;
-Lcom/android/internal/telephony/IMms$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/telephony/IMms$Stub$Proxy;->addMultimediaMessageDraft(Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
-Lcom/android/internal/telephony/IMms$Stub$Proxy;->addTextMessageDraft(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
-Lcom/android/internal/telephony/IMms$Stub$Proxy;->archiveStoredConversation(Ljava/lang/String;JZ)Z
-Lcom/android/internal/telephony/IMms$Stub$Proxy;->deleteStoredConversation(Ljava/lang/String;J)Z
-Lcom/android/internal/telephony/IMms$Stub$Proxy;->deleteStoredMessage(Ljava/lang/String;Landroid/net/Uri;)Z
-Lcom/android/internal/telephony/IMms$Stub$Proxy;->downloadMessage(ILjava/lang/String;Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/IMms$Stub$Proxy;->getAutoPersisting()Z
-Lcom/android/internal/telephony/IMms$Stub$Proxy;->getCarrierConfigValues(I)Landroid/os/Bundle;
-Lcom/android/internal/telephony/IMms$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telephony/IMms$Stub$Proxy;->importMultimediaMessage(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;JZZ)Landroid/net/Uri;
-Lcom/android/internal/telephony/IMms$Stub$Proxy;->importTextMessage(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;JZZ)Landroid/net/Uri;
-Lcom/android/internal/telephony/IMms$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/telephony/IMms$Stub$Proxy;->sendMessage(ILjava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/IMms$Stub$Proxy;->sendStoredMessage(ILjava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/IMms$Stub$Proxy;->setAutoPersisting(Ljava/lang/String;Z)V
-Lcom/android/internal/telephony/IMms$Stub$Proxy;->updateStoredMessageStatus(Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;)Z
-Lcom/android/internal/telephony/IMms$Stub;
-Lcom/android/internal/telephony/IMms$Stub;-><init>()V
-Lcom/android/internal/telephony/IMms$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telephony/IMms$Stub;->TRANSACTION_addMultimediaMessageDraft:I
-Lcom/android/internal/telephony/IMms$Stub;->TRANSACTION_addTextMessageDraft:I
-Lcom/android/internal/telephony/IMms$Stub;->TRANSACTION_archiveStoredConversation:I
-Lcom/android/internal/telephony/IMms$Stub;->TRANSACTION_deleteStoredConversation:I
-Lcom/android/internal/telephony/IMms$Stub;->TRANSACTION_deleteStoredMessage:I
-Lcom/android/internal/telephony/IMms$Stub;->TRANSACTION_downloadMessage:I
-Lcom/android/internal/telephony/IMms$Stub;->TRANSACTION_getAutoPersisting:I
-Lcom/android/internal/telephony/IMms$Stub;->TRANSACTION_getCarrierConfigValues:I
-Lcom/android/internal/telephony/IMms$Stub;->TRANSACTION_importMultimediaMessage:I
-Lcom/android/internal/telephony/IMms$Stub;->TRANSACTION_importTextMessage:I
-Lcom/android/internal/telephony/IMms$Stub;->TRANSACTION_sendMessage:I
-Lcom/android/internal/telephony/IMms$Stub;->TRANSACTION_sendStoredMessage:I
-Lcom/android/internal/telephony/IMms$Stub;->TRANSACTION_setAutoPersisting:I
-Lcom/android/internal/telephony/IMms$Stub;->TRANSACTION_updateStoredMessageStatus:I
-Lcom/android/internal/telephony/IMms;
-Lcom/android/internal/telephony/IMms;->addMultimediaMessageDraft(Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
-Lcom/android/internal/telephony/IMms;->addTextMessageDraft(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
-Lcom/android/internal/telephony/IMms;->archiveStoredConversation(Ljava/lang/String;JZ)Z
-Lcom/android/internal/telephony/IMms;->deleteStoredConversation(Ljava/lang/String;J)Z
-Lcom/android/internal/telephony/IMms;->deleteStoredMessage(Ljava/lang/String;Landroid/net/Uri;)Z
-Lcom/android/internal/telephony/IMms;->downloadMessage(ILjava/lang/String;Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/IMms;->getAutoPersisting()Z
-Lcom/android/internal/telephony/IMms;->getCarrierConfigValues(I)Landroid/os/Bundle;
-Lcom/android/internal/telephony/IMms;->importMultimediaMessage(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;JZZ)Landroid/net/Uri;
-Lcom/android/internal/telephony/IMms;->importTextMessage(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;JZZ)Landroid/net/Uri;
-Lcom/android/internal/telephony/IMms;->sendMessage(ILjava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/IMms;->sendStoredMessage(ILjava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/IMms;->setAutoPersisting(Ljava/lang/String;Z)V
-Lcom/android/internal/telephony/IMms;->updateStoredMessageStatus(Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;)Z
-Lcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub$Proxy;
-Lcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub$Proxy;->onSubscriptionsChanged()V
-Lcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub;
-Lcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub;-><init>()V
-Lcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;
-Lcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub;->TRANSACTION_onSubscriptionsChanged:I
-Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;
-Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;->onSubscriptionsChanged()V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onCallForwardingIndicatorChanged(Z)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onCallStateChanged(ILjava/lang/String;)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onCarrierNetworkChange(Z)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onCellInfoChanged(Ljava/util/List;)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onCellLocationChanged(Landroid/os/Bundle;)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onDataActivationStateChanged(I)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onDataActivity(I)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onDataConnectionRealTimeInfoChanged(Landroid/telephony/DataConnectionRealTimeInfo;)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onDataConnectionStateChanged(II)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onMessageWaitingIndicatorChanged(Z)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onOemHookRawEvent([B)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onOtaspChanged(I)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onPhysicalChannelConfigurationChanged(Ljava/util/List;)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onPreciseCallStateChanged(Landroid/telephony/PreciseCallState;)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onPreciseDataConnectionStateChanged(Landroid/telephony/PreciseDataConnectionState;)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onServiceStateChanged(Landroid/telephony/ServiceState;)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onSignalStrengthChanged(I)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onSignalStrengthsChanged(Landroid/telephony/SignalStrength;)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onUserMobileDataStateChanged(Z)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onVoiceActivationStateChanged(I)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onVoLteServiceStateChanged(Landroid/telephony/VoLteServiceState;)V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;-><init>()V
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onCallForwardingIndicatorChanged:I
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onCallStateChanged:I
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onCarrierNetworkChange:I
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onCellInfoChanged:I
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onCellLocationChanged:I
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onDataActivationStateChanged:I
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onDataActivity:I
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onDataConnectionRealTimeInfoChanged:I
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onDataConnectionStateChanged:I
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onMessageWaitingIndicatorChanged:I
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onOemHookRawEvent:I
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onOtaspChanged:I
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onPhysicalChannelConfigurationChanged:I
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onPreciseCallStateChanged:I
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onPreciseDataConnectionStateChanged:I
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onServiceStateChanged:I
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onSignalStrengthChanged:I
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onSignalStrengthsChanged:I
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onUserMobileDataStateChanged:I
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onVoiceActivationStateChanged:I
-Lcom/android/internal/telephony/IPhoneStateListener$Stub;->TRANSACTION_onVoLteServiceStateChanged:I
-Lcom/android/internal/telephony/IPhoneStateListener;
-Lcom/android/internal/telephony/IPhoneStateListener;->onCarrierNetworkChange(Z)V
-Lcom/android/internal/telephony/IPhoneStateListener;->onCellInfoChanged(Ljava/util/List;)V
-Lcom/android/internal/telephony/IPhoneStateListener;->onDataActivationStateChanged(I)V
-Lcom/android/internal/telephony/IPhoneStateListener;->onDataConnectionRealTimeInfoChanged(Landroid/telephony/DataConnectionRealTimeInfo;)V
-Lcom/android/internal/telephony/IPhoneStateListener;->onOemHookRawEvent([B)V
-Lcom/android/internal/telephony/IPhoneStateListener;->onOtaspChanged(I)V
-Lcom/android/internal/telephony/IPhoneStateListener;->onPhysicalChannelConfigurationChanged(Ljava/util/List;)V
-Lcom/android/internal/telephony/IPhoneStateListener;->onPreciseCallStateChanged(Landroid/telephony/PreciseCallState;)V
-Lcom/android/internal/telephony/IPhoneStateListener;->onPreciseDataConnectionStateChanged(Landroid/telephony/PreciseDataConnectionState;)V
-Lcom/android/internal/telephony/IPhoneStateListener;->onUserMobileDataStateChanged(Z)V
-Lcom/android/internal/telephony/IPhoneStateListener;->onVoiceActivationStateChanged(I)V
-Lcom/android/internal/telephony/IPhoneStateListener;->onVoLteServiceStateChanged(Landroid/telephony/VoLteServiceState;)V
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getCarrierInfoForImsiEncryption(IILjava/lang/String;)Landroid/telephony/ImsiEncryptionInfo;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getCompleteVoiceMailNumber()Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getCompleteVoiceMailNumberForSubscriber(I)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getDeviceIdForPhone(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getDeviceSvn(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getDeviceSvnUsingSubId(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getGroupIdLevel1ForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getIccSerialNumber(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getIccSerialNumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getIccSimChallengeResponse(IIILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getImeiForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getIsimDomain(I)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getIsimImpi(I)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getIsimImpu(I)[Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getIsimIst(I)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getIsimPcscf(I)[Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getLine1AlphaTag(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getLine1AlphaTagForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getLine1Number(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getLine1NumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getMsisdn(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getMsisdnForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getNaiForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getSubscriberId(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getSubscriberIdForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getVoiceMailAlphaTag(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getVoiceMailAlphaTagForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getVoiceMailNumber(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getVoiceMailNumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->resetCarrierKeysForImsiEncryption(ILjava/lang/String;)V
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->setCarrierInfoForImsiEncryption(ILjava/lang/String;Landroid/telephony/ImsiEncryptionInfo;)V
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getCarrierInfoForImsiEncryption:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getCompleteVoiceMailNumber:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getCompleteVoiceMailNumberForSubscriber:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getDeviceIdForPhone:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getDeviceSvn:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getDeviceSvnUsingSubId:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getGroupIdLevel1ForSubscriber:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getIccSerialNumber:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getIccSerialNumberForSubscriber:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getIccSimChallengeResponse:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getImeiForSubscriber:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getIsimDomain:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getIsimImpi:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getIsimImpu:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getIsimIst:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getIsimPcscf:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getLine1AlphaTag:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getLine1AlphaTagForSubscriber:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getLine1Number:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getLine1NumberForSubscriber:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getMsisdn:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getMsisdnForSubscriber:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getNaiForSubscriber:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getSubscriberId:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getSubscriberIdForSubscriber:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getVoiceMailAlphaTag:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getVoiceMailAlphaTagForSubscriber:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getVoiceMailNumber:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_getVoiceMailNumberForSubscriber:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_resetCarrierKeysForImsiEncryption:I
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->TRANSACTION_setCarrierInfoForImsiEncryption:I
-Lcom/android/internal/telephony/IPhoneSubInfo;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getCarrierInfoForImsiEncryption(IILjava/lang/String;)Landroid/telephony/ImsiEncryptionInfo;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getCompleteVoiceMailNumber()Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getCompleteVoiceMailNumberForSubscriber(I)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getDeviceId(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getDeviceIdForPhone(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getDeviceSvn(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getDeviceSvnUsingSubId(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getGroupIdLevel1ForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getIccSerialNumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getIccSimChallengeResponse(IIILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getImeiForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getIsimDomain(I)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getIsimImpi(I)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getIsimImpu(I)[Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getIsimIst(I)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getIsimPcscf(I)[Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getLine1AlphaTag(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getLine1AlphaTagForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getLine1Number(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getLine1NumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getMsisdn(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getMsisdnForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getNaiForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getSubscriberIdForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getVoiceMailAlphaTag(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getVoiceMailAlphaTagForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getVoiceMailNumber(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->getVoiceMailNumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IPhoneSubInfo;->resetCarrierKeysForImsiEncryption(ILjava/lang/String;)V
-Lcom/android/internal/telephony/IPhoneSubInfo;->setCarrierInfoForImsiEncryption(ILjava/lang/String;Landroid/telephony/ImsiEncryptionInfo;)V
-Lcom/android/internal/telephony/ISms$Stub$Proxy;
-Lcom/android/internal/telephony/ISms$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->copyMessageToIccEfForSubscriber(ILjava/lang/String;I[B[B)Z
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->createAppSpecificSmsToken(ILjava/lang/String;Landroid/app/PendingIntent;)Ljava/lang/String;
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->disableCellBroadcastForSubscriber(III)Z
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->disableCellBroadcastRangeForSubscriber(IIII)Z
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->enableCellBroadcastForSubscriber(III)Z
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->enableCellBroadcastRangeForSubscriber(IIII)Z
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->getAllMessagesFromIccEfForSubscriber(ILjava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->getImsSmsFormatForSubscriber(I)Ljava/lang/String;
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->getPreferredSmsSubscription()I
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->getPremiumSmsPermission(Ljava/lang/String;)I
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->getPremiumSmsPermissionForSubscriber(ILjava/lang/String;)I
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->injectSmsPduForSubscriber(I[BLjava/lang/String;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->isImsSmsSupportedForSubscriber(I)Z
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->isSMSPromptEnabled()Z
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->isSmsSimPickActivityNeeded(I)Z
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->sendDataForSubscriber(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->sendDataForSubscriberWithSelfPermissions(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->sendMultipartTextForSubscriber(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;Z)V
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->sendMultipartTextForSubscriberWithOptions(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZIZI)V
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->sendStoredMultipartText(ILjava/lang/String;Landroid/net/Uri;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->sendStoredText(ILjava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->sendTextForSubscriber(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->sendTextForSubscriberWithOptions(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;ZIZI)V
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->sendTextForSubscriberWithSelfPermissions(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->setPremiumSmsPermission(Ljava/lang/String;I)V
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->setPremiumSmsPermissionForSubscriber(ILjava/lang/String;I)V
-Lcom/android/internal/telephony/ISms$Stub$Proxy;->updateMessageOnIccEfForSubscriber(ILjava/lang/String;II[B)Z
-Lcom/android/internal/telephony/ISms$Stub;
-Lcom/android/internal/telephony/ISms$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_copyMessageToIccEfForSubscriber:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_createAppSpecificSmsToken:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_disableCellBroadcastForSubscriber:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_disableCellBroadcastRangeForSubscriber:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_enableCellBroadcastForSubscriber:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_enableCellBroadcastRangeForSubscriber:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_getAllMessagesFromIccEfForSubscriber:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_getImsSmsFormatForSubscriber:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_getPreferredSmsSubscription:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_getPremiumSmsPermission:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_getPremiumSmsPermissionForSubscriber:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_injectSmsPduForSubscriber:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_isImsSmsSupportedForSubscriber:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_isSMSPromptEnabled:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_isSmsSimPickActivityNeeded:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_sendDataForSubscriber:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_sendDataForSubscriberWithSelfPermissions:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_sendMultipartTextForSubscriber:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_sendMultipartTextForSubscriberWithOptions:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_sendStoredMultipartText:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_sendStoredText:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_sendTextForSubscriber:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_sendTextForSubscriberWithOptions:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_sendTextForSubscriberWithSelfPermissions:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_setPremiumSmsPermission:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_setPremiumSmsPermissionForSubscriber:I
-Lcom/android/internal/telephony/ISms$Stub;->TRANSACTION_updateMessageOnIccEfForSubscriber:I
-Lcom/android/internal/telephony/ISms;
-Lcom/android/internal/telephony/ISms;->copyMessageToIccEfForSubscriber(ILjava/lang/String;I[B[B)Z
-Lcom/android/internal/telephony/ISms;->createAppSpecificSmsToken(ILjava/lang/String;Landroid/app/PendingIntent;)Ljava/lang/String;
-Lcom/android/internal/telephony/ISms;->disableCellBroadcastForSubscriber(III)Z
-Lcom/android/internal/telephony/ISms;->disableCellBroadcastRangeForSubscriber(IIII)Z
-Lcom/android/internal/telephony/ISms;->enableCellBroadcastForSubscriber(III)Z
-Lcom/android/internal/telephony/ISms;->enableCellBroadcastRangeForSubscriber(IIII)Z
-Lcom/android/internal/telephony/ISms;->getAllMessagesFromIccEfForSubscriber(ILjava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telephony/ISms;->getImsSmsFormatForSubscriber(I)Ljava/lang/String;
-Lcom/android/internal/telephony/ISms;->getPreferredSmsSubscription()I
-Lcom/android/internal/telephony/ISms;->getPremiumSmsPermission(Ljava/lang/String;)I
-Lcom/android/internal/telephony/ISms;->getPremiumSmsPermissionForSubscriber(ILjava/lang/String;)I
-Lcom/android/internal/telephony/ISms;->injectSmsPduForSubscriber(I[BLjava/lang/String;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/ISms;->isImsSmsSupportedForSubscriber(I)Z
-Lcom/android/internal/telephony/ISms;->isSMSPromptEnabled()Z
-Lcom/android/internal/telephony/ISms;->isSmsSimPickActivityNeeded(I)Z
-Lcom/android/internal/telephony/ISms;->sendDataForSubscriber(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/ISms;->sendDataForSubscriberWithSelfPermissions(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/ISms;->sendMultipartTextForSubscriber(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;Z)V
-Lcom/android/internal/telephony/ISms;->sendMultipartTextForSubscriberWithOptions(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZIZI)V
-Lcom/android/internal/telephony/ISms;->sendStoredMultipartText(ILjava/lang/String;Landroid/net/Uri;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
-Lcom/android/internal/telephony/ISms;->sendStoredText(ILjava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/ISms;->sendTextForSubscriber(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
-Lcom/android/internal/telephony/ISms;->sendTextForSubscriberWithOptions(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;ZIZI)V
-Lcom/android/internal/telephony/ISms;->sendTextForSubscriberWithSelfPermissions(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
-Lcom/android/internal/telephony/ISms;->setPremiumSmsPermission(Ljava/lang/String;I)V
-Lcom/android/internal/telephony/ISms;->setPremiumSmsPermissionForSubscriber(ILjava/lang/String;I)V
-Lcom/android/internal/telephony/ISms;->updateMessageOnIccEfForSubscriber(ILjava/lang/String;II[B)Z
-Lcom/android/internal/telephony/ISub$Stub$Proxy;
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->addSubInfoRecord(Ljava/lang/String;I)I
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->clearDefaultsForInactiveSubIds()V
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->clearSubInfo()I
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getAccessibleSubscriptionInfoList(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubIdList()[I
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubInfoCount(Ljava/lang/String;)I
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubInfoCountMax()I
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubscriptionInfo(ILjava/lang/String;)Landroid/telephony/SubscriptionInfo;
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubscriptionInfoForIccId(Ljava/lang/String;Ljava/lang/String;)Landroid/telephony/SubscriptionInfo;
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubscriptionInfoForSimSlotIndex(ILjava/lang/String;)Landroid/telephony/SubscriptionInfo;
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubscriptionInfoList(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getAllSubInfoCount(Ljava/lang/String;)I
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getAllSubInfoList(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getAvailableSubscriptionInfoList(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultDataSubId()I
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultSmsSubId()I
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultSubId()I
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultVoiceSubId()I
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getPhoneId(I)I
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getSimStateForSlotIndex(I)I
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getSlotIndex(I)I
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getSubId(I)[I
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->getSubscriptionProperty(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->isActiveSubId(I)Z
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->requestEmbeddedSubscriptionInfoListRefresh()V
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->setDataRoaming(II)I
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->setDefaultDataSubId(I)V
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->setDefaultSmsSubId(I)V
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->setDefaultVoiceSubId(I)V
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->setDisplayName(Ljava/lang/String;I)I
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->setDisplayNameUsingSrc(Ljava/lang/String;IJ)I
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->setDisplayNumber(Ljava/lang/String;I)I
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->setIconTint(II)I
-Lcom/android/internal/telephony/ISub$Stub$Proxy;->setSubscriptionProperty(ILjava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telephony/ISub$Stub;
-Lcom/android/internal/telephony/ISub$Stub;-><init>()V
-Lcom/android/internal/telephony/ISub$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_addSubInfoRecord:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_clearDefaultsForInactiveSubIds:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_clearSubInfo:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_getAccessibleSubscriptionInfoList:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_getActiveSubIdList:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_getActiveSubInfoCount:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_getActiveSubInfoCountMax:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_getActiveSubscriptionInfo:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_getActiveSubscriptionInfoForIccId:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_getActiveSubscriptionInfoForSimSlotIndex:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_getActiveSubscriptionInfoList:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_getAllSubInfoCount:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_getAllSubInfoList:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_getAvailableSubscriptionInfoList:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_getDefaultDataSubId:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_getDefaultSmsSubId:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_getDefaultSubId:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_getDefaultVoiceSubId:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_getPhoneId:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_getSimStateForSlotIndex:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_getSlotIndex:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_getSubId:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_getSubscriptionProperty:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_isActiveSubId:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_requestEmbeddedSubscriptionInfoListRefresh:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_setDataRoaming:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_setDefaultDataSubId:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_setDefaultSmsSubId:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_setDefaultVoiceSubId:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_setDisplayName:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_setDisplayNameUsingSrc:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_setDisplayNumber:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_setIconTint:I
-Lcom/android/internal/telephony/ISub$Stub;->TRANSACTION_setSubscriptionProperty:I
-Lcom/android/internal/telephony/ISub;
-Lcom/android/internal/telephony/ISub;->addSubInfoRecord(Ljava/lang/String;I)I
-Lcom/android/internal/telephony/ISub;->clearDefaultsForInactiveSubIds()V
-Lcom/android/internal/telephony/ISub;->clearSubInfo()I
-Lcom/android/internal/telephony/ISub;->getAccessibleSubscriptionInfoList(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telephony/ISub;->getActiveSubInfoCount(Ljava/lang/String;)I
-Lcom/android/internal/telephony/ISub;->getActiveSubInfoCountMax()I
-Lcom/android/internal/telephony/ISub;->getActiveSubscriptionInfo(ILjava/lang/String;)Landroid/telephony/SubscriptionInfo;
-Lcom/android/internal/telephony/ISub;->getActiveSubscriptionInfoForIccId(Ljava/lang/String;Ljava/lang/String;)Landroid/telephony/SubscriptionInfo;
-Lcom/android/internal/telephony/ISub;->getActiveSubscriptionInfoForSimSlotIndex(ILjava/lang/String;)Landroid/telephony/SubscriptionInfo;
-Lcom/android/internal/telephony/ISub;->getActiveSubscriptionInfoList(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telephony/ISub;->getAllSubInfoCount(Ljava/lang/String;)I
-Lcom/android/internal/telephony/ISub;->getAllSubInfoList(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telephony/ISub;->getAvailableSubscriptionInfoList(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telephony/ISub;->getDefaultSmsSubId()I
-Lcom/android/internal/telephony/ISub;->getDefaultVoiceSubId()I
-Lcom/android/internal/telephony/ISub;->getPhoneId(I)I
-Lcom/android/internal/telephony/ISub;->getSimStateForSlotIndex(I)I
-Lcom/android/internal/telephony/ISub;->getSlotIndex(I)I
-Lcom/android/internal/telephony/ISub;->getSubId(I)[I
-Lcom/android/internal/telephony/ISub;->getSubscriptionProperty(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ISub;->isActiveSubId(I)Z
-Lcom/android/internal/telephony/ISub;->requestEmbeddedSubscriptionInfoListRefresh()V
-Lcom/android/internal/telephony/ISub;->setDataRoaming(II)I
-Lcom/android/internal/telephony/ISub;->setDefaultSmsSubId(I)V
-Lcom/android/internal/telephony/ISub;->setDefaultVoiceSubId(I)V
-Lcom/android/internal/telephony/ISub;->setDisplayName(Ljava/lang/String;I)I
-Lcom/android/internal/telephony/ISub;->setDisplayNameUsingSrc(Ljava/lang/String;IJ)I
-Lcom/android/internal/telephony/ISub;->setDisplayNumber(Ljava/lang/String;I)I
-Lcom/android/internal/telephony/ISub;->setIconTint(II)I
-Lcom/android/internal/telephony/ISub;->setSubscriptionProperty(ILjava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->answerRingingCall()V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->answerRingingCallForSubscriber(I)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->call(Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->canChangeDtmfToneLength()Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->carrierActionReportDefaultNetworkStatus(IZ)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->carrierActionSetMeteredApnsEnabled(IZ)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->carrierActionSetRadioEnabled(IZ)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->checkCarrierPrivilegesForPackage(Ljava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->checkCarrierPrivilegesForPackageAnyPhone(Ljava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->dial(Ljava/lang/String;)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->disableDataConnectivity()Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->disableIms(I)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->disableLocationUpdates()V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->disableLocationUpdatesForSubscriber(I)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->disableVisualVoicemailSmsFilter(Ljava/lang/String;I)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->enableDataConnectivity()Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->enableIms(I)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->enableLocationUpdates()V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->enableLocationUpdatesForSubscriber(I)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->enableVideoCalling(Z)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->enableVisualVoicemailSmsFilter(Ljava/lang/String;ILandroid/telephony/VisualVoicemailSmsFilterSettings;)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->factoryReset(I)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getActivePhoneType()I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getActivePhoneTypeForSlot(I)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getActiveVisualVoicemailSmsFilterSettings(I)Landroid/telephony/VisualVoicemailSmsFilterSettings;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getAidForAppType(II)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getAllCellInfo(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getAllowedCarriers(I)Ljava/util/List;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCalculatedPreferredNetworkType(Ljava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCallState()I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCallStateForSlot(I)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCarrierIdListVersion(I)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCarrierPackageNamesForIntentAndPhone(Landroid/content/Intent;I)Ljava/util/List;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCarrierPrivilegeStatus(I)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCarrierPrivilegeStatusForUid(II)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCdmaEriIconIndex(Ljava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCdmaEriIconIndexForSubscriber(ILjava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCdmaEriIconMode(Ljava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCdmaEriIconModeForSubscriber(ILjava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCdmaEriText(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCdmaEriTextForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCdmaMdn(I)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCdmaMin(I)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCdmaPrlVersion(I)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCellLocation(Ljava/lang/String;)Landroid/os/Bundle;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCellNetworkScanResults(I)Lcom/android/internal/telephony/CellNetworkScanResult;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getClientRequestStats(Ljava/lang/String;I)Ljava/util/List;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDataActivationState(ILjava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDataActivity()I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDataEnabled(I)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDataNetworkType(Ljava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDataNetworkTypeForSubscriber(ILjava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDataState()I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDefaultSim()I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDeviceSoftwareVersionForSlot(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getEmergencyCallbackMode(I)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getEsn(I)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getForbiddenPlmns(IILjava/lang/String;)[Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getImeiForSlot(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getImsConfig(II)Landroid/telephony/ims/aidl/IImsConfig;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getImsRegistration(II)Landroid/telephony/ims/aidl/IImsRegistration;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getImsRegTechnologyForMmTel(I)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getImsService(IZ)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getLine1AlphaTagForDisplay(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getLine1NumberForDisplay(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getLocaleFromDefaultSim()Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getLteOnCdmaMode(Ljava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getLteOnCdmaModeForSubscriber(ILjava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getMeidForSlot(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getMergedSubscriberIds(Ljava/lang/String;)[Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getMmTelFeatureAndListen(ILcom/android/ims/internal/IImsServiceFeatureCallback;)Landroid/telephony/ims/aidl/IImsMmTelFeature;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getNeighboringCellInfo(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getNetworkCountryIsoForPhone(I)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getNetworkType()I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getNetworkTypeForSubscriber(ILjava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getPackagesWithCarrierPrivileges()Ljava/util/List;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getPcscfAddress(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getPreferredNetworkType(I)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getRadioAccessFamily(ILjava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getRcsFeatureAndListen(ILcom/android/ims/internal/IImsServiceFeatureCallback;)Landroid/telephony/ims/aidl/IImsRcsFeature;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getServiceStateForSubscriber(ILjava/lang/String;)Landroid/telephony/ServiceState;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getSignalStrength(I)Landroid/telephony/SignalStrength;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getSubIdForPhoneAccount(Landroid/telecom/PhoneAccount;)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getSubscriptionCarrierId(I)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getSubscriptionCarrierName(I)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getTelephonyHistograms()Ljava/util/List;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getTetherApnRequired()I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getUiccSlotsInfo()[Landroid/telephony/UiccSlotInfo;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getVisualVoicemailPackageName(Ljava/lang/String;I)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getVisualVoicemailSettings(Ljava/lang/String;I)Landroid/os/Bundle;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getVisualVoicemailSmsFilterSettings(Ljava/lang/String;I)Landroid/telephony/VisualVoicemailSmsFilterSettings;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getVoiceActivationState(ILjava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getVoicemailRingtoneUri(Landroid/telecom/PhoneAccountHandle;)Landroid/net/Uri;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getVoiceMessageCount()I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getVoiceMessageCountForSubscriber(I)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getVoiceNetworkTypeForSubscriber(ILjava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getVtDataUsage(IZ)Landroid/net/NetworkStats;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->handlePinMmi(Ljava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->handlePinMmiForSubscriber(ILjava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->handleUssdRequest(ILjava/lang/String;Landroid/os/ResultReceiver;)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->hasIccCard()Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->hasIccCardUsingSlotIndex(I)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->iccCloseLogicalChannel(II)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->iccExchangeSimIO(IIIIIILjava/lang/String;)[B
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->iccOpenLogicalChannel(ILjava/lang/String;Ljava/lang/String;I)Landroid/telephony/IccOpenLogicalChannelResponse;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->iccTransmitApduBasicChannel(ILjava/lang/String;IIIIILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->iccTransmitApduLogicalChannel(IIIIIIILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->invokeOemRilRequestRaw([B[B)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isConcurrentVoiceAndDataAllowed(I)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isDataConnectivityPossible(I)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isDataEnabled(I)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isHearingAidCompatibilitySupported()Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isIdle(Ljava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isIdleForSubscriber(ILjava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isImsRegistered(I)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isOffhook(Ljava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isOffhookForSubscriber(ILjava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isRadioOnForSubscriber(ILjava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isResolvingImsBinding()Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isRinging(Ljava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isRingingForSubscriber(ILjava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isTtyModeSupported()Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isUserDataEnabled(I)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isVideoCallingEnabled(Ljava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isVideoTelephonyAvailable(I)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isVoicemailVibrationEnabled(Landroid/telecom/PhoneAccountHandle;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isVolteAvailable(I)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isWifiCallingAvailable(I)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isWorldPhone()Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->needMobileRadioShutdown()Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->needsOtaServiceProvisioning()Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->nvReadItem(I)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->nvResetConfig(I)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->nvWriteCdmaPrl([B)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->nvWriteItem(ILjava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->refreshUiccProfile(I)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->requestModemActivityInfo(Landroid/os/ResultReceiver;)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->requestNetworkScan(ILandroid/telephony/NetworkScanRequest;Landroid/os/Messenger;Landroid/os/IBinder;)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->sendDialerSpecialCode(Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->sendEnvelopeWithStatus(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->sendVisualVoicemailSmsForSubscriber(Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setAllowedCarriers(ILjava/util/List;)I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setCarrierTestOverride(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setCellInfoListRate(I)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setDataActivationState(II)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setImsRegistrationState(Z)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setImsService(IZLjava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setLine1NumberForDisplayForSubscriber(ILjava/lang/String;Ljava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setNetworkSelectionModeAutomatic(I)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setNetworkSelectionModeManual(ILjava/lang/String;Z)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setOperatorBrandOverride(ILjava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setPolicyDataEnabled(ZI)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setPreferredNetworkType(II)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setRadio(Z)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setRadioCapability([Landroid/telephony/RadioAccessFamily;)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setRadioForSubscriber(IZ)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setRadioIndicationUpdateMode(III)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setRadioPower(Z)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setRoamingOverride(ILjava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setSimPowerStateForSlot(II)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setUserDataEnabled(IZ)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setVoiceActivationState(II)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setVoiceMailNumber(ILjava/lang/String;Ljava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setVoicemailRingtoneUri(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;Landroid/net/Uri;)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->setVoicemailVibrationEnabled(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;Z)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->shutdownMobileRadios()V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->silenceRinger()V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->stopNetworkScan(II)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->supplyPin(Ljava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->supplyPinForSubscriber(ILjava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->supplyPinReportResult(Ljava/lang/String;)[I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->supplyPinReportResultForSubscriber(ILjava/lang/String;)[I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->supplyPuk(Ljava/lang/String;Ljava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->supplyPukForSubscriber(ILjava/lang/String;Ljava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->supplyPukReportResult(Ljava/lang/String;Ljava/lang/String;)[I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->supplyPukReportResultForSubscriber(ILjava/lang/String;Ljava/lang/String;)[I
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->switchSlots([I)Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->toggleRadioOnOff()V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->toggleRadioOnOffForSubscriber(I)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->updateServiceLocation()V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->updateServiceLocationForSubscriber(I)V
-Lcom/android/internal/telephony/ITelephony$Stub;
-Lcom/android/internal/telephony/ITelephony$Stub;-><init>()V
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_answerRingingCallForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_canChangeDtmfToneLength:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_carrierActionReportDefaultNetworkStatus:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_carrierActionSetMeteredApnsEnabled:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_carrierActionSetRadioEnabled:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_checkCarrierPrivilegesForPackage:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_checkCarrierPrivilegesForPackageAnyPhone:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_disableDataConnectivity:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_disableIms:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_disableLocationUpdates:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_disableLocationUpdatesForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_disableVisualVoicemailSmsFilter:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_enableDataConnectivity:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_enableIms:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_enableLocationUpdates:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_enableLocationUpdatesForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_enableVideoCalling:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_enableVisualVoicemailSmsFilter:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_endCallForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_factoryReset:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getActivePhoneType:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getActivePhoneTypeForSlot:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getActiveVisualVoicemailSmsFilterSettings:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getAidForAppType:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getAllCellInfo:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getAllowedCarriers:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getCalculatedPreferredNetworkType:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getCallState:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getCallStateForSlot:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getCarrierIdListVersion:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getCarrierPackageNamesForIntentAndPhone:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getCarrierPrivilegeStatus:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getCarrierPrivilegeStatusForUid:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getCdmaEriIconIndex:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getCdmaEriIconIndexForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getCdmaEriIconMode:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getCdmaEriIconModeForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getCdmaEriText:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getCdmaEriTextForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getCdmaMdn:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getCdmaMin:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getCdmaPrlVersion:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getCellLocation:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getCellNetworkScanResults:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getClientRequestStats:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getDataActivationState:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getDataActivity:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getDataEnabled:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getDataNetworkType:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getDataNetworkTypeForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getDataState:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getDefaultSim:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getDeviceSoftwareVersionForSlot:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getEmergencyCallbackMode:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getEsn:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getForbiddenPlmns:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getImeiForSlot:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getImsConfig:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getImsRegistration:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getImsRegTechnologyForMmTel:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getImsService:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getLine1AlphaTagForDisplay:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getLine1NumberForDisplay:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getLocaleFromDefaultSim:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getLteOnCdmaMode:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getLteOnCdmaModeForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getMeidForSlot:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getMergedSubscriberIds:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getMmTelFeatureAndListen:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getNeighboringCellInfo:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getNetworkCountryIsoForPhone:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getNetworkType:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getNetworkTypeForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getPackagesWithCarrierPrivileges:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getPcscfAddress:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getPreferredNetworkType:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getRadioAccessFamily:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getRcsFeatureAndListen:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getServiceStateForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getSignalStrength:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getSubIdForPhoneAccount:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getSubscriptionCarrierId:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getSubscriptionCarrierName:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getTelephonyHistograms:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getTetherApnRequired:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getUiccSlotsInfo:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getVisualVoicemailPackageName:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getVisualVoicemailSettings:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getVisualVoicemailSmsFilterSettings:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getVoiceActivationState:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getVoicemailRingtoneUri:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getVoiceMessageCount:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getVoiceMessageCountForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getVoiceNetworkTypeForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getVtDataUsage:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_handlePinMmi:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_handlePinMmiForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_handleUssdRequest:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_hasIccCard:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_hasIccCardUsingSlotIndex:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_iccCloseLogicalChannel:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_iccExchangeSimIO:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_iccOpenLogicalChannel:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_iccTransmitApduBasicChannel:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_iccTransmitApduLogicalChannel:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_invokeOemRilRequestRaw:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isConcurrentVoiceAndDataAllowed:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isDataConnectivityPossible:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isDataEnabled:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isHearingAidCompatibilitySupported:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isIdle:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isIdleForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isImsRegistered:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isOffhook:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isOffhookForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isRadioOn:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isRadioOnForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isResolvingImsBinding:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isRinging:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isRingingForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isTtyModeSupported:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isUserDataEnabled:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isVideoCallingEnabled:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isVideoTelephonyAvailable:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isVoicemailVibrationEnabled:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isVolteAvailable:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isWifiCallingAvailable:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_isWorldPhone:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_needMobileRadioShutdown:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_needsOtaServiceProvisioning:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_nvReadItem:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_nvResetConfig:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_nvWriteCdmaPrl:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_nvWriteItem:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_refreshUiccProfile:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_requestModemActivityInfo:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_requestNetworkScan:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_sendDialerSpecialCode:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_sendEnvelopeWithStatus:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_sendVisualVoicemailSmsForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setAllowedCarriers:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setCarrierTestOverride:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setCellInfoListRate:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setDataActivationState:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setImsRegistrationState:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setImsService:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setLine1NumberForDisplayForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setNetworkSelectionModeAutomatic:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setNetworkSelectionModeManual:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setOperatorBrandOverride:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setPolicyDataEnabled:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setPreferredNetworkType:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setRadio:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setRadioCapability:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setRadioForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setRadioIndicationUpdateMode:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setRadioPower:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setRoamingOverride:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setSimPowerStateForSlot:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setUserDataEnabled:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setVoiceActivationState:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setVoiceMailNumber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setVoicemailRingtoneUri:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_setVoicemailVibrationEnabled:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_shutdownMobileRadios:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_silenceRinger:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_stopNetworkScan:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_supplyPin:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_supplyPinForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_supplyPinReportResult:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_supplyPinReportResultForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_supplyPuk:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_supplyPukForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_supplyPukReportResult:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_supplyPukReportResultForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_switchSlots:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_toggleRadioOnOff:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_toggleRadioOnOffForSubscriber:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_updateServiceLocation:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_updateServiceLocationForSubscriber:I
-Lcom/android/internal/telephony/ITelephony;
-Lcom/android/internal/telephony/ITelephony;->answerRingingCallForSubscriber(I)V
-Lcom/android/internal/telephony/ITelephony;->canChangeDtmfToneLength()Z
-Lcom/android/internal/telephony/ITelephony;->carrierActionReportDefaultNetworkStatus(IZ)V
-Lcom/android/internal/telephony/ITelephony;->carrierActionSetMeteredApnsEnabled(IZ)V
-Lcom/android/internal/telephony/ITelephony;->carrierActionSetRadioEnabled(IZ)V
-Lcom/android/internal/telephony/ITelephony;->checkCarrierPrivilegesForPackage(Ljava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony;->checkCarrierPrivilegesForPackageAnyPhone(Ljava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony;->disableIms(I)V
-Lcom/android/internal/telephony/ITelephony;->disableLocationUpdatesForSubscriber(I)V
-Lcom/android/internal/telephony/ITelephony;->disableVisualVoicemailSmsFilter(Ljava/lang/String;I)V
-Lcom/android/internal/telephony/ITelephony;->enableIms(I)V
-Lcom/android/internal/telephony/ITelephony;->enableLocationUpdatesForSubscriber(I)V
-Lcom/android/internal/telephony/ITelephony;->enableVideoCalling(Z)V
-Lcom/android/internal/telephony/ITelephony;->enableVisualVoicemailSmsFilter(Ljava/lang/String;ILandroid/telephony/VisualVoicemailSmsFilterSettings;)V
-Lcom/android/internal/telephony/ITelephony;->factoryReset(I)V
-Lcom/android/internal/telephony/ITelephony;->getActivePhoneTypeForSlot(I)I
-Lcom/android/internal/telephony/ITelephony;->getActiveVisualVoicemailSmsFilterSettings(I)Landroid/telephony/VisualVoicemailSmsFilterSettings;
-Lcom/android/internal/telephony/ITelephony;->getAidForAppType(II)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getAllCellInfo(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telephony/ITelephony;->getAllowedCarriers(I)Ljava/util/List;
-Lcom/android/internal/telephony/ITelephony;->getCalculatedPreferredNetworkType(Ljava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony;->getCallStateForSlot(I)I
-Lcom/android/internal/telephony/ITelephony;->getCarrierIdListVersion(I)I
-Lcom/android/internal/telephony/ITelephony;->getCarrierPackageNamesForIntentAndPhone(Landroid/content/Intent;I)Ljava/util/List;
-Lcom/android/internal/telephony/ITelephony;->getCarrierPrivilegeStatus(I)I
-Lcom/android/internal/telephony/ITelephony;->getCarrierPrivilegeStatusForUid(II)I
-Lcom/android/internal/telephony/ITelephony;->getCdmaEriIconIndex(Ljava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony;->getCdmaEriIconIndexForSubscriber(ILjava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony;->getCdmaEriIconMode(Ljava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony;->getCdmaEriIconModeForSubscriber(ILjava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony;->getCdmaEriText(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getCdmaEriTextForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getCdmaMdn(I)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getCdmaMin(I)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getCdmaPrlVersion(I)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getCellLocation(Ljava/lang/String;)Landroid/os/Bundle;
-Lcom/android/internal/telephony/ITelephony;->getCellNetworkScanResults(I)Lcom/android/internal/telephony/CellNetworkScanResult;
-Lcom/android/internal/telephony/ITelephony;->getClientRequestStats(Ljava/lang/String;I)Ljava/util/List;
-Lcom/android/internal/telephony/ITelephony;->getDataActivationState(ILjava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony;->getDataNetworkType(Ljava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony;->getDataNetworkTypeForSubscriber(ILjava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony;->getDefaultSim()I
-Lcom/android/internal/telephony/ITelephony;->getDeviceId(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getDeviceSoftwareVersionForSlot(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getEmergencyCallbackMode(I)Z
-Lcom/android/internal/telephony/ITelephony;->getEsn(I)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getForbiddenPlmns(IILjava/lang/String;)[Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getImeiForSlot(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getImsConfig(II)Landroid/telephony/ims/aidl/IImsConfig;
-Lcom/android/internal/telephony/ITelephony;->getImsRegistration(II)Landroid/telephony/ims/aidl/IImsRegistration;
-Lcom/android/internal/telephony/ITelephony;->getImsRegTechnologyForMmTel(I)I
-Lcom/android/internal/telephony/ITelephony;->getImsService(IZ)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getLine1AlphaTagForDisplay(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getLine1NumberForDisplay(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getLocaleFromDefaultSim()Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getLteOnCdmaMode(Ljava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony;->getLteOnCdmaModeForSubscriber(ILjava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony;->getMeidForSlot(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getMergedSubscriberIds(Ljava/lang/String;)[Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getMmTelFeatureAndListen(ILcom/android/ims/internal/IImsServiceFeatureCallback;)Landroid/telephony/ims/aidl/IImsMmTelFeature;
-Lcom/android/internal/telephony/ITelephony;->getNeighboringCellInfo(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telephony/ITelephony;->getNetworkCountryIsoForPhone(I)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getNetworkTypeForSubscriber(ILjava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony;->getPackagesWithCarrierPrivileges()Ljava/util/List;
-Lcom/android/internal/telephony/ITelephony;->getPcscfAddress(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getPreferredNetworkType(I)I
-Lcom/android/internal/telephony/ITelephony;->getRadioAccessFamily(ILjava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony;->getRcsFeatureAndListen(ILcom/android/ims/internal/IImsServiceFeatureCallback;)Landroid/telephony/ims/aidl/IImsRcsFeature;
-Lcom/android/internal/telephony/ITelephony;->getServiceStateForSubscriber(ILjava/lang/String;)Landroid/telephony/ServiceState;
-Lcom/android/internal/telephony/ITelephony;->getSignalStrength(I)Landroid/telephony/SignalStrength;
-Lcom/android/internal/telephony/ITelephony;->getSubIdForPhoneAccount(Landroid/telecom/PhoneAccount;)I
-Lcom/android/internal/telephony/ITelephony;->getSubscriptionCarrierId(I)I
-Lcom/android/internal/telephony/ITelephony;->getSubscriptionCarrierName(I)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getTelephonyHistograms()Ljava/util/List;
-Lcom/android/internal/telephony/ITelephony;->getTetherApnRequired()I
-Lcom/android/internal/telephony/ITelephony;->getUiccSlotsInfo()[Landroid/telephony/UiccSlotInfo;
-Lcom/android/internal/telephony/ITelephony;->getVisualVoicemailPackageName(Ljava/lang/String;I)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->getVisualVoicemailSettings(Ljava/lang/String;I)Landroid/os/Bundle;
-Lcom/android/internal/telephony/ITelephony;->getVisualVoicemailSmsFilterSettings(Ljava/lang/String;I)Landroid/telephony/VisualVoicemailSmsFilterSettings;
-Lcom/android/internal/telephony/ITelephony;->getVoiceActivationState(ILjava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony;->getVoicemailRingtoneUri(Landroid/telecom/PhoneAccountHandle;)Landroid/net/Uri;
-Lcom/android/internal/telephony/ITelephony;->getVoiceMessageCountForSubscriber(I)I
-Lcom/android/internal/telephony/ITelephony;->getVoiceNetworkTypeForSubscriber(ILjava/lang/String;)I
-Lcom/android/internal/telephony/ITelephony;->getVtDataUsage(IZ)Landroid/net/NetworkStats;
-Lcom/android/internal/telephony/ITelephony;->handleUssdRequest(ILjava/lang/String;Landroid/os/ResultReceiver;)V
-Lcom/android/internal/telephony/ITelephony;->hasIccCardUsingSlotIndex(I)Z
-Lcom/android/internal/telephony/ITelephony;->iccExchangeSimIO(IIIIIILjava/lang/String;)[B
-Lcom/android/internal/telephony/ITelephony;->iccOpenLogicalChannel(ILjava/lang/String;Ljava/lang/String;I)Landroid/telephony/IccOpenLogicalChannelResponse;
-Lcom/android/internal/telephony/ITelephony;->iccTransmitApduBasicChannel(ILjava/lang/String;IIIIILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->invokeOemRilRequestRaw([B[B)I
-Lcom/android/internal/telephony/ITelephony;->isConcurrentVoiceAndDataAllowed(I)Z
-Lcom/android/internal/telephony/ITelephony;->isDataConnectivityPossible(I)Z
-Lcom/android/internal/telephony/ITelephony;->isDataEnabled(I)Z
-Lcom/android/internal/telephony/ITelephony;->isHearingAidCompatibilitySupported()Z
-Lcom/android/internal/telephony/ITelephony;->isImsRegistered(I)Z
-Lcom/android/internal/telephony/ITelephony;->isOffhook(Ljava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony;->isOffhookForSubscriber(ILjava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony;->isRadioOn(Ljava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony;->isResolvingImsBinding()Z
-Lcom/android/internal/telephony/ITelephony;->isRingingForSubscriber(ILjava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony;->isTtyModeSupported()Z
-Lcom/android/internal/telephony/ITelephony;->isUserDataEnabled(I)Z
-Lcom/android/internal/telephony/ITelephony;->isVideoCallingEnabled(Ljava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony;->isVideoTelephonyAvailable(I)Z
-Lcom/android/internal/telephony/ITelephony;->isVoicemailVibrationEnabled(Landroid/telecom/PhoneAccountHandle;)Z
-Lcom/android/internal/telephony/ITelephony;->isVolteAvailable(I)Z
-Lcom/android/internal/telephony/ITelephony;->isWifiCallingAvailable(I)Z
-Lcom/android/internal/telephony/ITelephony;->isWorldPhone()Z
-Lcom/android/internal/telephony/ITelephony;->needMobileRadioShutdown()Z
-Lcom/android/internal/telephony/ITelephony;->needsOtaServiceProvisioning()Z
-Lcom/android/internal/telephony/ITelephony;->nvReadItem(I)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->nvResetConfig(I)Z
-Lcom/android/internal/telephony/ITelephony;->nvWriteCdmaPrl([B)Z
-Lcom/android/internal/telephony/ITelephony;->nvWriteItem(ILjava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony;->refreshUiccProfile(I)V
-Lcom/android/internal/telephony/ITelephony;->requestModemActivityInfo(Landroid/os/ResultReceiver;)V
-Lcom/android/internal/telephony/ITelephony;->requestNetworkScan(ILandroid/telephony/NetworkScanRequest;Landroid/os/Messenger;Landroid/os/IBinder;)I
-Lcom/android/internal/telephony/ITelephony;->sendDialerSpecialCode(Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telephony/ITelephony;->sendEnvelopeWithStatus(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->sendVisualVoicemailSmsForSubscriber(Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/ITelephony;->setAllowedCarriers(ILjava/util/List;)I
-Lcom/android/internal/telephony/ITelephony;->setCarrierTestOverride(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telephony/ITelephony;->setCellInfoListRate(I)V
-Lcom/android/internal/telephony/ITelephony;->setDataActivationState(II)V
-Lcom/android/internal/telephony/ITelephony;->setImsRegistrationState(Z)V
-Lcom/android/internal/telephony/ITelephony;->setImsService(IZLjava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony;->setLine1NumberForDisplayForSubscriber(ILjava/lang/String;Ljava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony;->setNetworkSelectionModeAutomatic(I)V
-Lcom/android/internal/telephony/ITelephony;->setNetworkSelectionModeManual(ILjava/lang/String;Z)Z
-Lcom/android/internal/telephony/ITelephony;->setOperatorBrandOverride(ILjava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony;->setPolicyDataEnabled(ZI)V
-Lcom/android/internal/telephony/ITelephony;->setPreferredNetworkType(II)Z
-Lcom/android/internal/telephony/ITelephony;->setRadioCapability([Landroid/telephony/RadioAccessFamily;)V
-Lcom/android/internal/telephony/ITelephony;->setRadioForSubscriber(IZ)Z
-Lcom/android/internal/telephony/ITelephony;->setRadioIndicationUpdateMode(III)V
-Lcom/android/internal/telephony/ITelephony;->setRadioPower(Z)Z
-Lcom/android/internal/telephony/ITelephony;->setRoamingOverride(ILjava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;)Z
-Lcom/android/internal/telephony/ITelephony;->setSimPowerStateForSlot(II)V
-Lcom/android/internal/telephony/ITelephony;->setUserDataEnabled(IZ)V
-Lcom/android/internal/telephony/ITelephony;->setVoiceActivationState(II)V
-Lcom/android/internal/telephony/ITelephony;->setVoiceMailNumber(ILjava/lang/String;Ljava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony;->setVoicemailRingtoneUri(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;Landroid/net/Uri;)V
-Lcom/android/internal/telephony/ITelephony;->setVoicemailVibrationEnabled(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;Z)V
-Lcom/android/internal/telephony/ITelephony;->shutdownMobileRadios()V
-Lcom/android/internal/telephony/ITelephony;->stopNetworkScan(II)V
-Lcom/android/internal/telephony/ITelephony;->supplyPinForSubscriber(ILjava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony;->supplyPinReportResult(Ljava/lang/String;)[I
-Lcom/android/internal/telephony/ITelephony;->supplyPinReportResultForSubscriber(ILjava/lang/String;)[I
-Lcom/android/internal/telephony/ITelephony;->supplyPuk(Ljava/lang/String;Ljava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony;->supplyPukForSubscriber(ILjava/lang/String;Ljava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony;->supplyPukReportResult(Ljava/lang/String;Ljava/lang/String;)[I
-Lcom/android/internal/telephony/ITelephony;->supplyPukReportResultForSubscriber(ILjava/lang/String;Ljava/lang/String;)[I
-Lcom/android/internal/telephony/ITelephony;->switchSlots([I)Z
-Lcom/android/internal/telephony/ITelephony;->toggleRadioOnOffForSubscriber(I)V
-Lcom/android/internal/telephony/ITelephony;->updateServiceLocationForSubscriber(I)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->addOnSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->listen(Ljava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;IZ)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->listenForSubscriber(ILjava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;IZ)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyCallForwardingChanged(Z)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyCallForwardingChangedForSubscriber(IZ)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyCallState(ILjava/lang/String;)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyCallStateForPhoneId(IIILjava/lang/String;)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyCarrierNetworkChange(Z)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyCellInfo(Ljava/util/List;)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyCellInfoForSubscriber(ILjava/util/List;)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyCellLocation(Landroid/os/Bundle;)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyCellLocationForSubscriber(ILandroid/os/Bundle;)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyDataActivity(I)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyDataActivityForSubscriber(II)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyDataConnection(IZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;IZ)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyDataConnectionFailed(Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyDataConnectionFailedForSubscriber(ILjava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyDataConnectionForSubscriber(IIZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;IZ)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyDisconnectCause(II)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyMessageWaitingChangedForPhoneId(IIZ)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyOemHookRawEventForSubscriber(I[B)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyOtaspChanged(I)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyPhysicalChannelConfiguration(Ljava/util/List;)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyPhysicalChannelConfigurationForSubscriber(ILjava/util/List;)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyPreciseCallState(III)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyPreciseDataConnectionFailed(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyServiceStateForPhoneId(IILandroid/telephony/ServiceState;)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifySignalStrengthForPhoneId(IILandroid/telephony/SignalStrength;)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifySimActivationStateChangedForPhoneId(IIII)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifySubscriptionInfoChanged()V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyUserMobileDataStateChangedForPhoneId(IIZ)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyVoLteServiceStateChanged(Landroid/telephony/VoLteServiceState;)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->removeOnSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_addOnSubscriptionsChangedListener:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_listen:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_listenForSubscriber:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyCallForwardingChanged:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyCallForwardingChangedForSubscriber:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyCallState:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyCallStateForPhoneId:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyCarrierNetworkChange:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyCellInfo:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyCellInfoForSubscriber:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyCellLocation:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyCellLocationForSubscriber:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyDataActivity:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyDataActivityForSubscriber:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyDataConnection:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyDataConnectionFailed:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyDataConnectionFailedForSubscriber:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyDataConnectionForSubscriber:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyDisconnectCause:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyMessageWaitingChangedForPhoneId:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyOemHookRawEventForSubscriber:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyOtaspChanged:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyPhysicalChannelConfiguration:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyPhysicalChannelConfigurationForSubscriber:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyPreciseCallState:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyPreciseDataConnectionFailed:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyServiceStateForPhoneId:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifySignalStrengthForPhoneId:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifySimActivationStateChangedForPhoneId:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifySubscriptionInfoChanged:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyUserMobileDataStateChangedForPhoneId:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_notifyVoLteServiceStateChanged:I
-Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->TRANSACTION_removeOnSubscriptionsChangedListener:I
-Lcom/android/internal/telephony/ITelephonyRegistry;
-Lcom/android/internal/telephony/ITelephonyRegistry;->addOnSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->listenForSubscriber(ILjava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;IZ)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifyCallForwardingChangedForSubscriber(IZ)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifyCallStateForPhoneId(IIILjava/lang/String;)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifyCarrierNetworkChange(Z)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifyCellInfoForSubscriber(ILjava/util/List;)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifyCellLocationForSubscriber(ILandroid/os/Bundle;)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifyDataActivityForSubscriber(II)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifyDataConnection(IZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;IZ)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifyDataConnectionFailedForSubscriber(ILjava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifyDataConnectionForSubscriber(IIZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;IZ)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifyDisconnectCause(II)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifyMessageWaitingChangedForPhoneId(IIZ)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifyOemHookRawEventForSubscriber(I[B)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifyPhysicalChannelConfiguration(Ljava/util/List;)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifyPhysicalChannelConfigurationForSubscriber(ILjava/util/List;)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifyPreciseCallState(III)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifyPreciseDataConnectionFailed(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifyServiceStateForPhoneId(IILandroid/telephony/ServiceState;)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifySignalStrengthForPhoneId(IILandroid/telephony/SignalStrength;)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifySimActivationStateChangedForPhoneId(IIII)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifySubscriptionInfoChanged()V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifyUserMobileDataStateChangedForPhoneId(IIZ)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->notifyVoLteServiceStateChanged(Landroid/telephony/VoLteServiceState;)V
-Lcom/android/internal/telephony/ITelephonyRegistry;->removeOnSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
-Lcom/android/internal/telephony/IWapPushManager$Stub$Proxy;
-Lcom/android/internal/telephony/IWapPushManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/telephony/IWapPushManager$Stub$Proxy;->addPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZZ)Z
-Lcom/android/internal/telephony/IWapPushManager$Stub$Proxy;->deletePackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-Lcom/android/internal/telephony/IWapPushManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/telephony/IWapPushManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/telephony/IWapPushManager$Stub$Proxy;->processMessage(Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;)I
-Lcom/android/internal/telephony/IWapPushManager$Stub$Proxy;->updatePackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZZ)Z
-Lcom/android/internal/telephony/IWapPushManager$Stub;
-Lcom/android/internal/telephony/IWapPushManager$Stub;-><init>()V
-Lcom/android/internal/telephony/IWapPushManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telephony/IWapPushManager$Stub;->TRANSACTION_addPackage:I
-Lcom/android/internal/telephony/IWapPushManager$Stub;->TRANSACTION_deletePackage:I
-Lcom/android/internal/telephony/IWapPushManager$Stub;->TRANSACTION_processMessage:I
-Lcom/android/internal/telephony/IWapPushManager$Stub;->TRANSACTION_updatePackage:I
-Lcom/android/internal/telephony/IWapPushManager;
-Lcom/android/internal/telephony/IWapPushManager;->processMessage(Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;)I
-Lcom/android/internal/telephony/OperatorInfo$State;
-Lcom/android/internal/telephony/OperatorInfo$State;-><init>()V
-Lcom/android/internal/telephony/OperatorInfo$State;->AVAILABLE:Lcom/android/internal/telephony/OperatorInfo$State;
-Lcom/android/internal/telephony/OperatorInfo$State;->UNKNOWN:Lcom/android/internal/telephony/OperatorInfo$State;
-Lcom/android/internal/telephony/OperatorInfo$State;->valueOf(Ljava/lang/String;)Lcom/android/internal/telephony/OperatorInfo$State;
-Lcom/android/internal/telephony/OperatorInfo$State;->values()[Lcom/android/internal/telephony/OperatorInfo$State;
-Lcom/android/internal/telephony/OperatorInfo;
-Lcom/android/internal/telephony/SmsAddress;
-Lcom/android/internal/telephony/SmsAddress;-><init>()V
-Lcom/android/internal/telephony/SmsAddress;->address:Ljava/lang/String;
-Lcom/android/internal/telephony/SmsAddress;->couldBeEmailGateway()Z
-Lcom/android/internal/telephony/SmsAddress;->getAddressString()Ljava/lang/String;
-Lcom/android/internal/telephony/SmsAddress;->isAlphanumeric()Z
-Lcom/android/internal/telephony/SmsAddress;->isNetworkSpecific()Z
-Lcom/android/internal/telephony/SmsAddress;->ton:I
-Lcom/android/internal/telephony/SmsAddress;->TON_ABBREVIATED:I
-Lcom/android/internal/telephony/SmsAddress;->TON_ALPHANUMERIC:I
-Lcom/android/internal/telephony/SmsAddress;->TON_INTERNATIONAL:I
-Lcom/android/internal/telephony/SmsAddress;->TON_NATIONAL:I
-Lcom/android/internal/telephony/SmsAddress;->TON_NETWORK:I
-Lcom/android/internal/telephony/SmsAddress;->TON_SUBSCRIBER:I
-Lcom/android/internal/telephony/SmsAddress;->TON_UNKNOWN:I
-Lcom/android/internal/telephony/SmsConstants$MessageClass;
-Lcom/android/internal/telephony/SmsConstants$MessageClass;-><init>()V
-Lcom/android/internal/telephony/SmsConstants$MessageClass;->valueOf(Ljava/lang/String;)Lcom/android/internal/telephony/SmsConstants$MessageClass;
-Lcom/android/internal/telephony/SmsConstants$MessageClass;->values()[Lcom/android/internal/telephony/SmsConstants$MessageClass;
-Lcom/android/internal/telephony/SmsConstants;
-Lcom/android/internal/telephony/SmsConstants;-><init>()V
-Lcom/android/internal/telephony/SmsConstants;->ENCODING_16BIT:I
-Lcom/android/internal/telephony/SmsConstants;->ENCODING_7BIT:I
-Lcom/android/internal/telephony/SmsConstants;->ENCODING_8BIT:I
-Lcom/android/internal/telephony/SmsConstants;->ENCODING_KSC5601:I
-Lcom/android/internal/telephony/SmsConstants;->ENCODING_UNKNOWN:I
-Lcom/android/internal/telephony/SmsConstants;->FORMAT_3GPP2:Ljava/lang/String;
-Lcom/android/internal/telephony/SmsConstants;->FORMAT_3GPP:Ljava/lang/String;
-Lcom/android/internal/telephony/SmsConstants;->FORMAT_UNKNOWN:Ljava/lang/String;
-Lcom/android/internal/telephony/SmsConstants;->MAX_USER_DATA_BYTES:I
-Lcom/android/internal/telephony/SmsConstants;->MAX_USER_DATA_BYTES_WITH_HEADER:I
-Lcom/android/internal/telephony/SmsConstants;->MAX_USER_DATA_SEPTETS:I
-Lcom/android/internal/telephony/SmsConstants;->MAX_USER_DATA_SEPTETS_WITH_HEADER:I
-Lcom/android/internal/telephony/SmsHeader$ConcatRef;
-Lcom/android/internal/telephony/SmsHeader$ConcatRef;->isEightBits:Z
-Lcom/android/internal/telephony/SmsHeader$MiscElt;
-Lcom/android/internal/telephony/SmsHeader$MiscElt;-><init>()V
-Lcom/android/internal/telephony/SmsHeader$MiscElt;->data:[B
-Lcom/android/internal/telephony/SmsHeader$MiscElt;->id:I
-Lcom/android/internal/telephony/SmsHeader$PortAddrs;
-Lcom/android/internal/telephony/SmsHeader$PortAddrs;->areEightBits:Z
-Lcom/android/internal/telephony/SmsHeader$SpecialSmsMsg;
-Lcom/android/internal/telephony/SmsHeader$SpecialSmsMsg;-><init>()V
-Lcom/android/internal/telephony/SmsHeader$SpecialSmsMsg;->msgCount:I
-Lcom/android/internal/telephony/SmsHeader$SpecialSmsMsg;->msgIndType:I
-Lcom/android/internal/telephony/SmsHeader;
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_APPLICATION_PORT_ADDRESSING_16_BIT:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_APPLICATION_PORT_ADDRESSING_8_BIT:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_CHARACTER_SIZE_WVG_OBJECT:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_COMPRESSION_CONTROL:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_CONCATENATED_16_BIT_REFERENCE:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_CONCATENATED_8_BIT_REFERENCE:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_ENHANCED_VOICE_MAIL_INFORMATION:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_EXTENDED_OBJECT:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_EXTENDED_OBJECT_DATA_REQUEST_CMD:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_HYPERLINK_FORMAT_ELEMENT:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_LARGE_ANIMATION:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_LARGE_PICTURE:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_NATIONAL_LANGUAGE_LOCKING_SHIFT:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_NATIONAL_LANGUAGE_SINGLE_SHIFT:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_OBJECT_DISTR_INDICATOR:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_PREDEFINED_ANIMATION:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_PREDEFINED_SOUND:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_REPLY_ADDRESS_ELEMENT:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_REUSED_EXTENDED_OBJECT:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_RFC_822_EMAIL_HEADER:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_SMALL_ANIMATION:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_SMALL_PICTURE:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_SMSC_CONTROL_PARAMS:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_SPECIAL_SMS_MESSAGE_INDICATION:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_STANDARD_WVG_OBJECT:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_TEXT_FORMATTING:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_UDH_SOURCE_INDICATION:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_USER_DEFINED_SOUND:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_USER_PROMPT_INDICATOR:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_VARIABLE_PICTURE:I
-Lcom/android/internal/telephony/SmsHeader;->ELT_ID_WIRELESS_CTRL_MSG_PROTOCOL:I
-Lcom/android/internal/telephony/SmsHeader;->miscEltList:Ljava/util/ArrayList;
-Lcom/android/internal/telephony/SmsHeader;->PORT_WAP_PUSH:I
-Lcom/android/internal/telephony/SmsHeader;->PORT_WAP_WSP:I
-Lcom/android/internal/telephony/SmsHeader;->specialSmsMsgList:Ljava/util/ArrayList;
-Lcom/android/internal/telephony/SmsMessageBase$SubmitPduBase;
-Lcom/android/internal/telephony/SmsMessageBase$SubmitPduBase;-><init>()V
-Lcom/android/internal/telephony/SmsMessageBase;
-Lcom/android/internal/telephony/SmsMessageBase;->calcUnicodeEncodingDetails(Ljava/lang/CharSequence;)Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;
-Lcom/android/internal/telephony/SmsMessageBase;->extractEmailAddressFromMessageBody()V
-Lcom/android/internal/telephony/SmsMessageBase;->findNextUnicodePosition(IILjava/lang/CharSequence;)I
-Lcom/android/internal/telephony/SmsMessageBase;->getEmailBody()Ljava/lang/String;
-Lcom/android/internal/telephony/SmsMessageBase;->getEmailFrom()Ljava/lang/String;
-Lcom/android/internal/telephony/SmsMessageBase;->getIndexOnIcc()I
-Lcom/android/internal/telephony/SmsMessageBase;->getMessageClass()Lcom/android/internal/telephony/SmsConstants$MessageClass;
-Lcom/android/internal/telephony/SmsMessageBase;->getPdu()[B
-Lcom/android/internal/telephony/SmsMessageBase;->getStatusOnIcc()I
-Lcom/android/internal/telephony/SmsMessageBase;->isCphsMwiMessage()Z
-Lcom/android/internal/telephony/SmsMessageBase;->isEmail()Z
-Lcom/android/internal/telephony/SmsMessageBase;->isMWIClearMessage()Z
-Lcom/android/internal/telephony/SmsMessageBase;->isMwiDontStore()Z
-Lcom/android/internal/telephony/SmsMessageBase;->isMWISetMessage()Z
-Lcom/android/internal/telephony/SmsMessageBase;->mEmailBody:Ljava/lang/String;
-Lcom/android/internal/telephony/SmsMessageBase;->mEmailFrom:Ljava/lang/String;
-Lcom/android/internal/telephony/SmsMessageBase;->mIndexOnIcc:I
-Lcom/android/internal/telephony/SmsMessageBase;->mIsEmail:Z
-Lcom/android/internal/telephony/SmsMessageBase;->mPseudoSubject:Ljava/lang/String;
-Lcom/android/internal/telephony/SmsMessageBase;->mScTimeMillis:J
-Lcom/android/internal/telephony/SmsMessageBase;->mStatusOnIcc:I
-Lcom/android/internal/telephony/SmsMessageBase;->mUserData:[B
-Lcom/android/internal/telephony/SmsMessageBase;->parseMessageBody()V
-Lcom/android/internal/telephony/SmsRawData;
-Lcom/android/internal/telephony/SmsRawData;->data:[B
-Lcom/android/internal/textservice/ISpellCheckerService$Stub$Proxy;
-Lcom/android/internal/textservice/ISpellCheckerService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/textservice/ISpellCheckerService$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/textservice/ISpellCheckerService$Stub$Proxy;->getISpellCheckerSession(Ljava/lang/String;Lcom/android/internal/textservice/ISpellCheckerSessionListener;Landroid/os/Bundle;Lcom/android/internal/textservice/ISpellCheckerServiceCallback;)V
-Lcom/android/internal/textservice/ISpellCheckerService$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/textservice/ISpellCheckerService$Stub;
-Lcom/android/internal/textservice/ISpellCheckerService$Stub;-><init>()V
-Lcom/android/internal/textservice/ISpellCheckerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/textservice/ISpellCheckerService;
-Lcom/android/internal/textservice/ISpellCheckerService$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/textservice/ISpellCheckerService$Stub;->TRANSACTION_getISpellCheckerSession:I
-Lcom/android/internal/textservice/ISpellCheckerService;
-Lcom/android/internal/textservice/ISpellCheckerService;->getISpellCheckerSession(Ljava/lang/String;Lcom/android/internal/textservice/ISpellCheckerSessionListener;Landroid/os/Bundle;Lcom/android/internal/textservice/ISpellCheckerServiceCallback;)V
-Lcom/android/internal/textservice/ISpellCheckerServiceCallback$Stub$Proxy;
-Lcom/android/internal/textservice/ISpellCheckerServiceCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/textservice/ISpellCheckerServiceCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/textservice/ISpellCheckerServiceCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/textservice/ISpellCheckerServiceCallback$Stub$Proxy;->onSessionCreated(Lcom/android/internal/textservice/ISpellCheckerSession;)V
-Lcom/android/internal/textservice/ISpellCheckerServiceCallback$Stub;
-Lcom/android/internal/textservice/ISpellCheckerServiceCallback$Stub;-><init>()V
-Lcom/android/internal/textservice/ISpellCheckerServiceCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/textservice/ISpellCheckerServiceCallback;
-Lcom/android/internal/textservice/ISpellCheckerServiceCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/textservice/ISpellCheckerServiceCallback$Stub;->TRANSACTION_onSessionCreated:I
-Lcom/android/internal/textservice/ISpellCheckerServiceCallback;
-Lcom/android/internal/textservice/ISpellCheckerServiceCallback;->onSessionCreated(Lcom/android/internal/textservice/ISpellCheckerSession;)V
-Lcom/android/internal/textservice/ISpellCheckerSession$Stub$Proxy;
-Lcom/android/internal/textservice/ISpellCheckerSession$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/textservice/ISpellCheckerSession$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/textservice/ISpellCheckerSession$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/textservice/ISpellCheckerSession$Stub$Proxy;->onCancel()V
-Lcom/android/internal/textservice/ISpellCheckerSession$Stub$Proxy;->onClose()V
-Lcom/android/internal/textservice/ISpellCheckerSession$Stub$Proxy;->onGetSentenceSuggestionsMultiple([Landroid/view/textservice/TextInfo;I)V
-Lcom/android/internal/textservice/ISpellCheckerSession$Stub$Proxy;->onGetSuggestionsMultiple([Landroid/view/textservice/TextInfo;IZ)V
-Lcom/android/internal/textservice/ISpellCheckerSession$Stub;
-Lcom/android/internal/textservice/ISpellCheckerSession$Stub;-><init>()V
-Lcom/android/internal/textservice/ISpellCheckerSession$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/textservice/ISpellCheckerSession;
-Lcom/android/internal/textservice/ISpellCheckerSession$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/textservice/ISpellCheckerSession$Stub;->TRANSACTION_onCancel:I
-Lcom/android/internal/textservice/ISpellCheckerSession$Stub;->TRANSACTION_onClose:I
-Lcom/android/internal/textservice/ISpellCheckerSession$Stub;->TRANSACTION_onGetSentenceSuggestionsMultiple:I
-Lcom/android/internal/textservice/ISpellCheckerSession$Stub;->TRANSACTION_onGetSuggestionsMultiple:I
-Lcom/android/internal/textservice/ISpellCheckerSession;
-Lcom/android/internal/textservice/ISpellCheckerSession;->onCancel()V
-Lcom/android/internal/textservice/ISpellCheckerSession;->onClose()V
-Lcom/android/internal/textservice/ISpellCheckerSession;->onGetSentenceSuggestionsMultiple([Landroid/view/textservice/TextInfo;I)V
-Lcom/android/internal/textservice/ISpellCheckerSession;->onGetSuggestionsMultiple([Landroid/view/textservice/TextInfo;IZ)V
-Lcom/android/internal/textservice/ISpellCheckerSessionListener$Stub$Proxy;
-Lcom/android/internal/textservice/ISpellCheckerSessionListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/textservice/ISpellCheckerSessionListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/textservice/ISpellCheckerSessionListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/textservice/ISpellCheckerSessionListener$Stub$Proxy;->onGetSentenceSuggestions([Landroid/view/textservice/SentenceSuggestionsInfo;)V
-Lcom/android/internal/textservice/ISpellCheckerSessionListener$Stub$Proxy;->onGetSuggestions([Landroid/view/textservice/SuggestionsInfo;)V
-Lcom/android/internal/textservice/ISpellCheckerSessionListener$Stub;
-Lcom/android/internal/textservice/ISpellCheckerSessionListener$Stub;-><init>()V
-Lcom/android/internal/textservice/ISpellCheckerSessionListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/textservice/ISpellCheckerSessionListener;
-Lcom/android/internal/textservice/ISpellCheckerSessionListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/textservice/ISpellCheckerSessionListener$Stub;->TRANSACTION_onGetSentenceSuggestions:I
-Lcom/android/internal/textservice/ISpellCheckerSessionListener$Stub;->TRANSACTION_onGetSuggestions:I
-Lcom/android/internal/textservice/ISpellCheckerSessionListener;
-Lcom/android/internal/textservice/ISpellCheckerSessionListener;->onGetSentenceSuggestions([Landroid/view/textservice/SentenceSuggestionsInfo;)V
-Lcom/android/internal/textservice/ISpellCheckerSessionListener;->onGetSuggestions([Landroid/view/textservice/SuggestionsInfo;)V
-Lcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;
-Lcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;->finishSpellCheckerService(Lcom/android/internal/textservice/ISpellCheckerSessionListener;)V
-Lcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;->getCurrentSpellChecker(Ljava/lang/String;)Landroid/view/textservice/SpellCheckerInfo;
-Lcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;->getCurrentSpellCheckerSubtype(Ljava/lang/String;Z)Landroid/view/textservice/SpellCheckerSubtype;
-Lcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;->getEnabledSpellCheckers()[Landroid/view/textservice/SpellCheckerInfo;
-Lcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;->getSpellCheckerService(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/textservice/ITextServicesSessionListener;Lcom/android/internal/textservice/ISpellCheckerSessionListener;Landroid/os/Bundle;)V
-Lcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;->isSpellCheckerEnabled()Z
-Lcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/textservice/ITextServicesManager$Stub;
-Lcom/android/internal/textservice/ITextServicesManager$Stub;-><init>()V
-Lcom/android/internal/textservice/ITextServicesManager$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/textservice/ITextServicesManager;
-Lcom/android/internal/textservice/ITextServicesManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/textservice/ITextServicesManager$Stub;->TRANSACTION_finishSpellCheckerService:I
-Lcom/android/internal/textservice/ITextServicesManager$Stub;->TRANSACTION_getCurrentSpellChecker:I
-Lcom/android/internal/textservice/ITextServicesManager$Stub;->TRANSACTION_getCurrentSpellCheckerSubtype:I
-Lcom/android/internal/textservice/ITextServicesManager$Stub;->TRANSACTION_getEnabledSpellCheckers:I
-Lcom/android/internal/textservice/ITextServicesManager$Stub;->TRANSACTION_getSpellCheckerService:I
-Lcom/android/internal/textservice/ITextServicesManager$Stub;->TRANSACTION_isSpellCheckerEnabled:I
-Lcom/android/internal/textservice/ITextServicesManager;
-Lcom/android/internal/textservice/ITextServicesManager;->finishSpellCheckerService(Lcom/android/internal/textservice/ISpellCheckerSessionListener;)V
-Lcom/android/internal/textservice/ITextServicesManager;->getCurrentSpellChecker(Ljava/lang/String;)Landroid/view/textservice/SpellCheckerInfo;
-Lcom/android/internal/textservice/ITextServicesManager;->getCurrentSpellCheckerSubtype(Ljava/lang/String;Z)Landroid/view/textservice/SpellCheckerSubtype;
-Lcom/android/internal/textservice/ITextServicesManager;->getEnabledSpellCheckers()[Landroid/view/textservice/SpellCheckerInfo;
-Lcom/android/internal/textservice/ITextServicesManager;->getSpellCheckerService(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/textservice/ITextServicesSessionListener;Lcom/android/internal/textservice/ISpellCheckerSessionListener;Landroid/os/Bundle;)V
-Lcom/android/internal/textservice/ITextServicesManager;->isSpellCheckerEnabled()Z
-Lcom/android/internal/textservice/ITextServicesSessionListener$Stub$Proxy;
-Lcom/android/internal/textservice/ITextServicesSessionListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/textservice/ITextServicesSessionListener$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/textservice/ITextServicesSessionListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/textservice/ITextServicesSessionListener$Stub$Proxy;->onServiceConnected(Lcom/android/internal/textservice/ISpellCheckerSession;)V
-Lcom/android/internal/textservice/ITextServicesSessionListener$Stub;
-Lcom/android/internal/textservice/ITextServicesSessionListener$Stub;-><init>()V
-Lcom/android/internal/textservice/ITextServicesSessionListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/textservice/ITextServicesSessionListener;
-Lcom/android/internal/textservice/ITextServicesSessionListener$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/textservice/ITextServicesSessionListener$Stub;->TRANSACTION_onServiceConnected:I
-Lcom/android/internal/textservice/ITextServicesSessionListener;
-Lcom/android/internal/textservice/ITextServicesSessionListener;->onServiceConnected(Lcom/android/internal/textservice/ISpellCheckerSession;)V
-Lcom/android/internal/util/AsyncChannel$AsyncChannelConnection;
-Lcom/android/internal/util/AsyncChannel$AsyncChannelConnection;-><init>()V
-Lcom/android/internal/util/AsyncChannel$DeathMonitor;
-Lcom/android/internal/util/AsyncChannel$DeathMonitor;-><init>()V
-Lcom/android/internal/util/AsyncChannel$SyncMessenger$SyncHandler;
-Lcom/android/internal/util/AsyncChannel$SyncMessenger$SyncHandler;-><init>(Landroid/os/Looper;)V
-Lcom/android/internal/util/AsyncChannel$SyncMessenger$SyncHandler;->mLockObject:Ljava/lang/Object;
-Lcom/android/internal/util/AsyncChannel$SyncMessenger$SyncHandler;->mResultMsg:Landroid/os/Message;
-Lcom/android/internal/util/AsyncChannel$SyncMessenger;
-Lcom/android/internal/util/AsyncChannel$SyncMessenger;-><init>()V
-Lcom/android/internal/util/AsyncChannel$SyncMessenger;->mHandler:Lcom/android/internal/util/AsyncChannel$SyncMessenger$SyncHandler;
-Lcom/android/internal/util/AsyncChannel$SyncMessenger;->mHandlerThread:Landroid/os/HandlerThread;
-Lcom/android/internal/util/AsyncChannel$SyncMessenger;->mMessenger:Landroid/os/Messenger;
-Lcom/android/internal/util/AsyncChannel$SyncMessenger;->obtain()Lcom/android/internal/util/AsyncChannel$SyncMessenger;
-Lcom/android/internal/util/AsyncChannel$SyncMessenger;->recycle()V
-Lcom/android/internal/util/AsyncChannel$SyncMessenger;->sCount:I
-Lcom/android/internal/util/AsyncChannel$SyncMessenger;->sendMessageSynchronously(Landroid/os/Messenger;Landroid/os/Message;)Landroid/os/Message;
-Lcom/android/internal/util/AsyncChannel$SyncMessenger;->sStack:Ljava/util/Stack;
-Lcom/android/internal/util/AsyncChannel;
-Lcom/android/internal/util/AsyncChannel;->BASE:I
-Lcom/android/internal/util/AsyncChannel;->CMD_CHANNEL_DISCONNECT:I
-Lcom/android/internal/util/AsyncChannel;->CMD_CHANNEL_DISCONNECTED:I
-Lcom/android/internal/util/AsyncChannel;->CMD_CHANNEL_FULLY_CONNECTED:I
-Lcom/android/internal/util/AsyncChannel;->CMD_TO_STRING_COUNT:I
-Lcom/android/internal/util/AsyncChannel;->connect(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Handler;)V
-Lcom/android/internal/util/AsyncChannel;->connect(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/Class;)V
-Lcom/android/internal/util/AsyncChannel;->connect(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/util/AsyncChannel;->connect(Lcom/android/internal/util/AsyncService;Landroid/os/Messenger;)V
-Lcom/android/internal/util/AsyncChannel;->connectSrcHandlerToPackageSync(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/String;Ljava/lang/String;)I
-Lcom/android/internal/util/AsyncChannel;->connectSync(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Handler;)I
-Lcom/android/internal/util/AsyncChannel;->DBG:Z
-Lcom/android/internal/util/AsyncChannel;->disconnected()V
-Lcom/android/internal/util/AsyncChannel;->fullyConnectSync(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Handler;)I
-Lcom/android/internal/util/AsyncChannel;->linkToDeathMonitor()Z
-Lcom/android/internal/util/AsyncChannel;->log(Ljava/lang/String;)V
-Lcom/android/internal/util/AsyncChannel;->mConnection:Lcom/android/internal/util/AsyncChannel$AsyncChannelConnection;
-Lcom/android/internal/util/AsyncChannel;->mDeathMonitor:Lcom/android/internal/util/AsyncChannel$DeathMonitor;
-Lcom/android/internal/util/AsyncChannel;->mDstMessenger:Landroid/os/Messenger;
-Lcom/android/internal/util/AsyncChannel;->mSrcContext:Landroid/content/Context;
-Lcom/android/internal/util/AsyncChannel;->mSrcHandler:Landroid/os/Handler;
-Lcom/android/internal/util/AsyncChannel;->mSrcMessenger:Landroid/os/Messenger;
-Lcom/android/internal/util/AsyncChannel;->replyDisconnected(I)V
-Lcom/android/internal/util/AsyncChannel;->replyHalfConnected(I)V
-Lcom/android/internal/util/AsyncChannel;->replyToMessage(Landroid/os/Message;III)V
-Lcom/android/internal/util/AsyncChannel;->sCmdToString:[Ljava/lang/String;
-Lcom/android/internal/util/AsyncChannel;->sendMessage(ILjava/lang/Object;)V
-Lcom/android/internal/util/AsyncChannel;->sendMessageSynchronously(I)Landroid/os/Message;
-Lcom/android/internal/util/AsyncChannel;->sendMessageSynchronously(II)Landroid/os/Message;
-Lcom/android/internal/util/AsyncChannel;->sendMessageSynchronously(IIILjava/lang/Object;)Landroid/os/Message;
-Lcom/android/internal/util/AsyncChannel;->sendMessageSynchronously(ILjava/lang/Object;)Landroid/os/Message;
-Lcom/android/internal/util/AsyncChannel;->STATUS_BINDING_UNSUCCESSFUL:I
-Lcom/android/internal/util/AsyncChannel;->STATUS_FULL_CONNECTION_REFUSED_ALREADY_CONNECTED:I
-Lcom/android/internal/util/AsyncChannel;->STATUS_REMOTE_DISCONNECTION:I
-Lcom/android/internal/util/AsyncChannel;->STATUS_SEND_UNSUCCESSFUL:I
-Lcom/android/internal/util/AsyncChannel;->TAG:Ljava/lang/String;
-Lcom/android/internal/util/AsyncService$AsyncServiceInfo;
-Lcom/android/internal/util/AsyncService$AsyncServiceInfo;-><init>()V
-Lcom/android/internal/util/AsyncService$AsyncServiceInfo;->mHandler:Landroid/os/Handler;
-Lcom/android/internal/util/AsyncService$AsyncServiceInfo;->mRestartFlags:I
-Lcom/android/internal/util/AsyncService;
-Lcom/android/internal/util/AsyncService;-><init>()V
-Lcom/android/internal/util/AsyncService;->CMD_ASYNC_SERVICE_DESTROY:I
-Lcom/android/internal/util/AsyncService;->CMD_ASYNC_SERVICE_ON_START_INTENT:I
-Lcom/android/internal/util/AsyncService;->createHandler()Lcom/android/internal/util/AsyncService$AsyncServiceInfo;
-Lcom/android/internal/util/AsyncService;->DBG:Z
-Lcom/android/internal/util/AsyncService;->getHandler()Landroid/os/Handler;
-Lcom/android/internal/util/AsyncService;->mAsyncServiceInfo:Lcom/android/internal/util/AsyncService$AsyncServiceInfo;
-Lcom/android/internal/util/AsyncService;->mHandler:Landroid/os/Handler;
-Lcom/android/internal/util/AsyncService;->mMessenger:Landroid/os/Messenger;
-Lcom/android/internal/util/AsyncService;->TAG:Ljava/lang/String;
-Lcom/android/internal/util/ExponentiallyBucketedHistogram;
-Lcom/android/internal/util/ExponentiallyBucketedHistogram;-><init>(I)V
-Lcom/android/internal/util/ExponentiallyBucketedHistogram;->add(I)V
-Lcom/android/internal/util/ExponentiallyBucketedHistogram;->log(Ljava/lang/String;Ljava/lang/CharSequence;)V
-Lcom/android/internal/util/ExponentiallyBucketedHistogram;->mData:[I
-Lcom/android/internal/util/ExponentiallyBucketedHistogram;->reset()V
-Lcom/android/internal/util/FastPrintWriter$DummyWriter;
-Lcom/android/internal/util/FastPrintWriter$DummyWriter;-><init>()V
-Lcom/android/internal/util/FastPrintWriter;
-Lcom/android/internal/util/FastPrintWriter;-><init>(Landroid/util/Printer;)V
-Lcom/android/internal/util/FastPrintWriter;-><init>(Landroid/util/Printer;I)V
-Lcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/OutputStream;Z)V
-Lcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/OutputStream;ZI)V
-Lcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/Writer;)V
-Lcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/Writer;Z)V
-Lcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/Writer;ZI)V
-Lcom/android/internal/util/FastPrintWriter;->appendLocked(C)V
-Lcom/android/internal/util/FastPrintWriter;->appendLocked(Ljava/lang/String;II)V
-Lcom/android/internal/util/FastPrintWriter;->appendLocked([CII)V
-Lcom/android/internal/util/FastPrintWriter;->flushBytesLocked()V
-Lcom/android/internal/util/FastPrintWriter;->flushLocked()V
-Lcom/android/internal/util/FastPrintWriter;->initDefaultEncoder()V
-Lcom/android/internal/util/FastPrintWriter;->initEncoder(Ljava/lang/String;)V
-Lcom/android/internal/util/FastPrintWriter;->mAutoFlush:Z
-Lcom/android/internal/util/FastPrintWriter;->mBufferLen:I
-Lcom/android/internal/util/FastPrintWriter;->mBytes:Ljava/nio/ByteBuffer;
-Lcom/android/internal/util/FastPrintWriter;->mCharset:Ljava/nio/charset/CharsetEncoder;
-Lcom/android/internal/util/FastPrintWriter;->mIoError:Z
-Lcom/android/internal/util/FastPrintWriter;->mOutputStream:Ljava/io/OutputStream;
-Lcom/android/internal/util/FastPrintWriter;->mPos:I
-Lcom/android/internal/util/FastPrintWriter;->mPrinter:Landroid/util/Printer;
-Lcom/android/internal/util/FastPrintWriter;->mSeparator:Ljava/lang/String;
-Lcom/android/internal/util/FastPrintWriter;->mText:[C
-Lcom/android/internal/util/FastPrintWriter;->mWriter:Ljava/io/Writer;
-Lcom/android/internal/util/FunctionalUtils$RemoteExceptionIgnoringConsumer;
-Lcom/android/internal/util/FunctionalUtils$RemoteExceptionIgnoringConsumer;->acceptOrThrow(Ljava/lang/Object;)V
-Lcom/android/internal/util/FunctionalUtils$ThrowingConsumer;
-Lcom/android/internal/util/FunctionalUtils$ThrowingConsumer;->acceptOrThrow(Ljava/lang/Object;)V
-Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;
-Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;->runOrThrow()V
-Lcom/android/internal/util/FunctionalUtils$ThrowingSupplier;
-Lcom/android/internal/util/FunctionalUtils$ThrowingSupplier;->getOrThrow()Ljava/lang/Object;
-Lcom/android/internal/util/FunctionalUtils;
-Lcom/android/internal/util/FunctionalUtils;-><init>()V
-Lcom/android/internal/util/FunctionalUtils;->handleExceptions(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;Ljava/util/function/Consumer;)Ljava/lang/Runnable;
-Lcom/android/internal/util/FunctionalUtils;->ignoreRemoteException(Lcom/android/internal/util/FunctionalUtils$RemoteExceptionIgnoringConsumer;)Ljava/util/function/Consumer;
-Lcom/android/internal/util/FunctionalUtils;->uncheckExceptions(Lcom/android/internal/util/FunctionalUtils$ThrowingConsumer;)Ljava/util/function/Consumer;
-Lcom/android/internal/util/ImageUtils;
-Lcom/android/internal/util/ImageUtils;-><init>()V
-Lcom/android/internal/util/ImageUtils;->ALPHA_TOLERANCE:I
-Lcom/android/internal/util/ImageUtils;->buildScaledBitmap(Landroid/graphics/drawable/Drawable;II)Landroid/graphics/Bitmap;
-Lcom/android/internal/util/ImageUtils;->COMPACT_BITMAP_SIZE:I
-Lcom/android/internal/util/ImageUtils;->ensureBufferSize(I)V
-Lcom/android/internal/util/ImageUtils;->isGrayscale(I)Z
-Lcom/android/internal/util/ImageUtils;->isGrayscale(Landroid/graphics/Bitmap;)Z
-Lcom/android/internal/util/ImageUtils;->mTempBuffer:[I
-Lcom/android/internal/util/ImageUtils;->mTempCompactBitmap:Landroid/graphics/Bitmap;
-Lcom/android/internal/util/ImageUtils;->mTempCompactBitmapCanvas:Landroid/graphics/Canvas;
-Lcom/android/internal/util/ImageUtils;->mTempCompactBitmapPaint:Landroid/graphics/Paint;
-Lcom/android/internal/util/ImageUtils;->mTempMatrix:Landroid/graphics/Matrix;
-Lcom/android/internal/util/ImageUtils;->TOLERANCE:I
-Lcom/android/internal/util/IndentingPrintWriter;
-Lcom/android/internal/util/IndentingPrintWriter;-><init>(Ljava/io/Writer;Ljava/lang/String;I)V
-Lcom/android/internal/util/IndentingPrintWriter;->maybeWriteIndent()V
-Lcom/android/internal/util/IndentingPrintWriter;->mCurrentIndent:[C
-Lcom/android/internal/util/IndentingPrintWriter;->mCurrentLength:I
-Lcom/android/internal/util/IndentingPrintWriter;->mEmptyLine:Z
-Lcom/android/internal/util/IndentingPrintWriter;->mIndentBuilder:Ljava/lang/StringBuilder;
-Lcom/android/internal/util/IndentingPrintWriter;->mSingleChar:[C
-Lcom/android/internal/util/IndentingPrintWriter;->mSingleIndent:Ljava/lang/String;
-Lcom/android/internal/util/IndentingPrintWriter;->mWrapLength:I
-Lcom/android/internal/util/IndentingPrintWriter;->printHexPair(Ljava/lang/String;I)Lcom/android/internal/util/IndentingPrintWriter;
-Lcom/android/internal/util/IndentingPrintWriter;->printPair(Ljava/lang/String;Ljava/lang/Object;)Lcom/android/internal/util/IndentingPrintWriter;
-Lcom/android/internal/util/IndentingPrintWriter;->printPair(Ljava/lang/String;[Ljava/lang/Object;)Lcom/android/internal/util/IndentingPrintWriter;
-Lcom/android/internal/util/IndentingPrintWriter;->setIndent(I)Lcom/android/internal/util/IndentingPrintWriter;
-Lcom/android/internal/util/IndentingPrintWriter;->setIndent(Ljava/lang/String;)Lcom/android/internal/util/IndentingPrintWriter;
-Lcom/android/internal/util/JournaledFile;
-Lcom/android/internal/util/JournaledFile;->mReal:Ljava/io/File;
-Lcom/android/internal/util/JournaledFile;->mTemp:Ljava/io/File;
-Lcom/android/internal/util/JournaledFile;->mWriting:Z
-Lcom/android/internal/util/LocalLogProto;
-Lcom/android/internal/util/LocalLogProto;-><init>()V
-Lcom/android/internal/util/LocalLogProto;->LINES:J
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;-><init>()V
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->calculateContrast(II)D
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->calculateLuminance(I)D
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->colorToHSL(I[F)V
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->colorToLAB(I[D)V
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->colorToXYZ(I[D)V
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->compositeAlpha(II)I
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->compositeColors(II)I
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->compositeComponent(IIIII)I
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->constrain(FFF)F
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->constrain(III)I
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->getTempDouble3Array()[D
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->HSLToColor([F)I
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->LABToColor(DDD)I
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->LABToXYZ(DDD[D)V
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->MIN_ALPHA_SEARCH_MAX_ITERATIONS:I
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->MIN_ALPHA_SEARCH_PRECISION:I
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->pivotXyzComponent(D)D
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->RGBToHSL(III[F)V
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->RGBToLAB(III[D)V
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->RGBToXYZ(III[D)V
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->TEMP_ARRAY:Ljava/lang/ThreadLocal;
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->XYZToColor(DDD)I
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->XYZToLAB(DDD[D)V
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->XYZ_EPSILON:D
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->XYZ_KAPPA:D
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->XYZ_WHITE_REFERENCE_X:D
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->XYZ_WHITE_REFERENCE_Y:D
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->XYZ_WHITE_REFERENCE_Z:D
-Lcom/android/internal/util/NotificationColorUtil;
-Lcom/android/internal/util/NotificationColorUtil;-><init>(Landroid/content/Context;)V
-Lcom/android/internal/util/NotificationColorUtil;->calculateContrast(II)D
-Lcom/android/internal/util/NotificationColorUtil;->calculateLuminance(I)D
-Lcom/android/internal/util/NotificationColorUtil;->changeColorLightness(II)I
-Lcom/android/internal/util/NotificationColorUtil;->clearColorSpans(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-Lcom/android/internal/util/NotificationColorUtil;->compositeColors(II)I
-Lcom/android/internal/util/NotificationColorUtil;->contrastChange(III)Ljava/lang/String;
-Lcom/android/internal/util/NotificationColorUtil;->DEBUG:Z
-Lcom/android/internal/util/NotificationColorUtil;->ensureContrast(IIZD)I
-Lcom/android/internal/util/NotificationColorUtil;->ensureLargeTextContrast(IIZ)I
-Lcom/android/internal/util/NotificationColorUtil;->ensureTextBackgroundColor(III)I
-Lcom/android/internal/util/NotificationColorUtil;->ensureTextContrast(IIZ)I
-Lcom/android/internal/util/NotificationColorUtil;->ensureTextContrastOnBlack(I)I
-Lcom/android/internal/util/NotificationColorUtil;->findAlphaToMeetContrast(IID)I
-Lcom/android/internal/util/NotificationColorUtil;->findContrastColor(IIZD)I
-Lcom/android/internal/util/NotificationColorUtil;->findContrastColorAgainstDark(IIZD)I
-Lcom/android/internal/util/NotificationColorUtil;->getInstance(Landroid/content/Context;)Lcom/android/internal/util/NotificationColorUtil;
-Lcom/android/internal/util/NotificationColorUtil;->getShiftedColor(II)I
-Lcom/android/internal/util/NotificationColorUtil;->invertCharSequenceColors(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-Lcom/android/internal/util/NotificationColorUtil;->isColorLight(I)Z
-Lcom/android/internal/util/NotificationColorUtil;->isGrayscaleIcon(Landroid/content/Context;I)Z
-Lcom/android/internal/util/NotificationColorUtil;->isGrayscaleIcon(Landroid/content/Context;Landroid/graphics/drawable/Icon;)Z
-Lcom/android/internal/util/NotificationColorUtil;->isGrayscaleIcon(Landroid/graphics/Bitmap;)Z
-Lcom/android/internal/util/NotificationColorUtil;->isGrayscaleIcon(Landroid/graphics/drawable/Drawable;)Z
-Lcom/android/internal/util/NotificationColorUtil;->mGrayscaleBitmapCache:Ljava/util/WeakHashMap;
-Lcom/android/internal/util/NotificationColorUtil;->mGrayscaleIconMaxSize:I
-Lcom/android/internal/util/NotificationColorUtil;->mImageUtils:Lcom/android/internal/util/ImageUtils;
-Lcom/android/internal/util/NotificationColorUtil;->processColor(I)I
-Lcom/android/internal/util/NotificationColorUtil;->processTextAppearanceSpan(Landroid/text/style/TextAppearanceSpan;)Landroid/text/style/TextAppearanceSpan;
-Lcom/android/internal/util/NotificationColorUtil;->resolveAmbientColor(Landroid/content/Context;I)I
-Lcom/android/internal/util/NotificationColorUtil;->resolveColor(Landroid/content/Context;I)I
-Lcom/android/internal/util/NotificationColorUtil;->resolveContrastColor(Landroid/content/Context;II)I
-Lcom/android/internal/util/NotificationColorUtil;->resolveContrastColor(Landroid/content/Context;IIZ)I
-Lcom/android/internal/util/NotificationColorUtil;->resolveDefaultColor(Landroid/content/Context;I)I
-Lcom/android/internal/util/NotificationColorUtil;->resolvePrimaryColor(Landroid/content/Context;I)I
-Lcom/android/internal/util/NotificationColorUtil;->resolveSecondaryColor(Landroid/content/Context;I)I
-Lcom/android/internal/util/NotificationColorUtil;->satisfiesTextContrast(II)Z
-Lcom/android/internal/util/NotificationColorUtil;->shouldUseDark(I)Z
-Lcom/android/internal/util/NotificationColorUtil;->sInstance:Lcom/android/internal/util/NotificationColorUtil;
-Lcom/android/internal/util/NotificationColorUtil;->sLock:Ljava/lang/Object;
-Lcom/android/internal/util/NotificationColorUtil;->TAG:Ljava/lang/String;
-Lcom/android/internal/util/StatLogger;
-Lcom/android/internal/util/StatLogger;-><init>([Ljava/lang/String;)V
-Lcom/android/internal/util/StatLogger;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-Lcom/android/internal/util/StatLogger;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-Lcom/android/internal/util/StatLogger;->dumpProto(Landroid/util/proto/ProtoOutputStream;J)V
-Lcom/android/internal/util/StatLogger;->getTime()J
-Lcom/android/internal/util/StatLogger;->logDurationStat(IJ)J
-Lcom/android/internal/util/StatLogger;->mCallsPerSecond:[I
-Lcom/android/internal/util/StatLogger;->mCountStats:[I
-Lcom/android/internal/util/StatLogger;->mDurationPerSecond:[J
-Lcom/android/internal/util/StatLogger;->mDurationStats:[J
-Lcom/android/internal/util/StatLogger;->mLabels:[Ljava/lang/String;
-Lcom/android/internal/util/StatLogger;->mLock:Ljava/lang/Object;
-Lcom/android/internal/util/StatLogger;->mMaxCallsPerSecond:[I
-Lcom/android/internal/util/StatLogger;->mMaxDurationPerSecond:[J
-Lcom/android/internal/util/StatLogger;->mMaxDurationStats:[J
-Lcom/android/internal/util/StatLogger;->mNextTickTime:J
-Lcom/android/internal/util/StatLogger;->SIZE:I
-Lcom/android/internal/util/StatLogger;->TAG:Ljava/lang/String;
-Lcom/android/internal/util/TokenBucket;
-Lcom/android/internal/util/TokenBucket;-><init>(II)V
-Lcom/android/internal/util/TokenBucket;-><init>(III)V
-Lcom/android/internal/util/TokenBucket;->available()I
-Lcom/android/internal/util/TokenBucket;->capacity()I
-Lcom/android/internal/util/TokenBucket;->fill()V
-Lcom/android/internal/util/TokenBucket;->get()Z
-Lcom/android/internal/util/TokenBucket;->get(I)I
-Lcom/android/internal/util/TokenBucket;->has()Z
-Lcom/android/internal/util/TokenBucket;->mAvailable:I
-Lcom/android/internal/util/TokenBucket;->mCapacity:I
-Lcom/android/internal/util/TokenBucket;->mFillDelta:I
-Lcom/android/internal/util/TokenBucket;->mLastFill:J
-Lcom/android/internal/util/TokenBucket;->reset(I)V
-Lcom/android/internal/util/TokenBucket;->scaledTime()J
-Lcom/android/internal/util/TypedProperties$ParseException;
-Lcom/android/internal/util/TypedProperties$ParseException;-><init>(Ljava/io/StreamTokenizer;Ljava/lang/String;)V
-Lcom/android/internal/util/TypedProperties$TypeException;
-Lcom/android/internal/util/TypedProperties$TypeException;-><init>(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;)V
-Lcom/android/internal/util/TypedProperties;
-Lcom/android/internal/util/TypedProperties;-><init>()V
-Lcom/android/internal/util/TypedProperties;->getBoolean(Ljava/lang/String;)Z
-Lcom/android/internal/util/TypedProperties;->getBoolean(Ljava/lang/String;Z)Z
-Lcom/android/internal/util/TypedProperties;->getByte(Ljava/lang/String;)B
-Lcom/android/internal/util/TypedProperties;->getByte(Ljava/lang/String;B)B
-Lcom/android/internal/util/TypedProperties;->getDouble(Ljava/lang/String;)D
-Lcom/android/internal/util/TypedProperties;->getDouble(Ljava/lang/String;D)D
-Lcom/android/internal/util/TypedProperties;->getFloat(Ljava/lang/String;)F
-Lcom/android/internal/util/TypedProperties;->getFloat(Ljava/lang/String;F)F
-Lcom/android/internal/util/TypedProperties;->getInt(Ljava/lang/String;)I
-Lcom/android/internal/util/TypedProperties;->getInt(Ljava/lang/String;I)I
-Lcom/android/internal/util/TypedProperties;->getLong(Ljava/lang/String;)J
-Lcom/android/internal/util/TypedProperties;->getLong(Ljava/lang/String;J)J
-Lcom/android/internal/util/TypedProperties;->getShort(Ljava/lang/String;)S
-Lcom/android/internal/util/TypedProperties;->getShort(Ljava/lang/String;S)S
-Lcom/android/internal/util/TypedProperties;->getString(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/util/TypedProperties;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/util/TypedProperties;->getStringInfo(Ljava/lang/String;)I
-Lcom/android/internal/util/TypedProperties;->initTokenizer(Ljava/io/Reader;)Ljava/io/StreamTokenizer;
-Lcom/android/internal/util/TypedProperties;->interpretType(Ljava/lang/String;)I
-Lcom/android/internal/util/TypedProperties;->load(Ljava/io/Reader;)V
-Lcom/android/internal/util/TypedProperties;->NULL_STRING:Ljava/lang/String;
-Lcom/android/internal/util/TypedProperties;->parse(Ljava/io/Reader;Ljava/util/Map;)V
-Lcom/android/internal/util/TypedProperties;->parseValue(Ljava/io/StreamTokenizer;I)Ljava/lang/Object;
-Lcom/android/internal/util/TypedProperties;->STRING_NOT_SET:I
-Lcom/android/internal/util/TypedProperties;->STRING_NULL:I
-Lcom/android/internal/util/TypedProperties;->STRING_SET:I
-Lcom/android/internal/util/TypedProperties;->STRING_TYPE_MISMATCH:I
-Lcom/android/internal/util/TypedProperties;->TYPE_BOOLEAN:I
-Lcom/android/internal/util/TypedProperties;->TYPE_BYTE:I
-Lcom/android/internal/util/TypedProperties;->TYPE_DOUBLE:I
-Lcom/android/internal/util/TypedProperties;->TYPE_ERROR:I
-Lcom/android/internal/util/TypedProperties;->TYPE_FLOAT:I
-Lcom/android/internal/util/TypedProperties;->TYPE_INT:I
-Lcom/android/internal/util/TypedProperties;->TYPE_LONG:I
-Lcom/android/internal/util/TypedProperties;->TYPE_SHORT:I
-Lcom/android/internal/util/TypedProperties;->TYPE_STRING:I
-Lcom/android/internal/util/TypedProperties;->TYPE_UNSET:I
-Lcom/android/internal/util/VirtualRefBasePtr;
-Lcom/android/internal/util/VirtualRefBasePtr;-><init>(J)V
-Lcom/android/internal/util/VirtualRefBasePtr;->get()J
-Lcom/android/internal/util/VirtualRefBasePtr;->mNativePtr:J
-Lcom/android/internal/util/VirtualRefBasePtr;->nDecStrong(J)V
-Lcom/android/internal/util/VirtualRefBasePtr;->nIncStrong(J)V
-Lcom/android/internal/util/VirtualRefBasePtr;->release()V
-Lcom/android/internal/util/XmlUtils$ReadMapCallback;
-Lcom/android/internal/util/XmlUtils$ReadMapCallback;->readThisUnknownObjectXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/Object;
-Lcom/android/internal/util/XmlUtils$WriteMapCallback;
-Lcom/android/internal/util/XmlUtils$WriteMapCallback;->writeUnknownObject(Ljava/lang/Object;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
-Lcom/android/internal/util/XmlUtils;
-Lcom/android/internal/util/XmlUtils;-><init>()V
-Lcom/android/internal/util/XmlUtils;->convertValueToList(Ljava/lang/CharSequence;[Ljava/lang/String;I)I
-Lcom/android/internal/util/XmlUtils;->convertValueToUnsignedInt(Ljava/lang/String;I)I
-Lcom/android/internal/util/XmlUtils;->nextElementWithin(Lorg/xmlpull/v1/XmlPullParser;I)Z
-Lcom/android/internal/util/XmlUtils;->parseUnsignedIntAttribute(Ljava/lang/CharSequence;)I
-Lcom/android/internal/util/XmlUtils;->readBitmapAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/graphics/Bitmap;
-Lcom/android/internal/util/XmlUtils;->readBooleanAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
-Lcom/android/internal/util/XmlUtils;->readBooleanAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Z)Z
-Lcom/android/internal/util/XmlUtils;->readByteArrayAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)[B
-Lcom/android/internal/util/XmlUtils;->readFloatAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)F
-Lcom/android/internal/util/XmlUtils;->readIntAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)I
-Lcom/android/internal/util/XmlUtils;->readIntAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
-Lcom/android/internal/util/XmlUtils;->readListXml(Ljava/io/InputStream;)Ljava/util/ArrayList;
-Lcom/android/internal/util/XmlUtils;->readLongAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)J
-Lcom/android/internal/util/XmlUtils;->readLongAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
-Lcom/android/internal/util/XmlUtils;->readSetXml(Ljava/io/InputStream;)Ljava/util/HashSet;
-Lcom/android/internal/util/XmlUtils;->readStringAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/util/XmlUtils;->readThisArrayMapXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;Lcom/android/internal/util/XmlUtils$ReadMapCallback;)Landroid/util/ArrayMap;
-Lcom/android/internal/util/XmlUtils;->readThisBooleanArrayXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;)[Z
-Lcom/android/internal/util/XmlUtils;->readThisByteArrayXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;)[B
-Lcom/android/internal/util/XmlUtils;->readThisDoubleArrayXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;)[D
-Lcom/android/internal/util/XmlUtils;->readThisIntArrayXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;)[I
-Lcom/android/internal/util/XmlUtils;->readThisListXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;)Ljava/util/ArrayList;
-Lcom/android/internal/util/XmlUtils;->readThisListXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;Lcom/android/internal/util/XmlUtils$ReadMapCallback;Z)Ljava/util/ArrayList;
-Lcom/android/internal/util/XmlUtils;->readThisLongArrayXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;)[J
-Lcom/android/internal/util/XmlUtils;->readThisMapXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;)Ljava/util/HashMap;
-Lcom/android/internal/util/XmlUtils;->readThisMapXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;Lcom/android/internal/util/XmlUtils$ReadMapCallback;)Ljava/util/HashMap;
-Lcom/android/internal/util/XmlUtils;->readThisPrimitiveValueXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/Object;
-Lcom/android/internal/util/XmlUtils;->readThisSetXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;)Ljava/util/HashSet;
-Lcom/android/internal/util/XmlUtils;->readThisSetXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;Lcom/android/internal/util/XmlUtils$ReadMapCallback;Z)Ljava/util/HashSet;
-Lcom/android/internal/util/XmlUtils;->readThisStringArrayXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
-Lcom/android/internal/util/XmlUtils;->readThisValueXml(Lorg/xmlpull/v1/XmlPullParser;[Ljava/lang/String;Lcom/android/internal/util/XmlUtils$ReadMapCallback;Z)Ljava/lang/Object;
-Lcom/android/internal/util/XmlUtils;->readUriAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/net/Uri;
-Lcom/android/internal/util/XmlUtils;->readValueXml(Lorg/xmlpull/v1/XmlPullParser;[Ljava/lang/String;)Ljava/lang/Object;
-Lcom/android/internal/util/XmlUtils;->STRING_ARRAY_SEPARATOR:Ljava/lang/String;
-Lcom/android/internal/util/XmlUtils;->writeBitmapAttribute(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Landroid/graphics/Bitmap;)V
-Lcom/android/internal/util/XmlUtils;->writeBooleanArrayXml([ZLjava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
-Lcom/android/internal/util/XmlUtils;->writeBooleanAttribute(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Z)V
-Lcom/android/internal/util/XmlUtils;->writeByteArrayAttribute(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;[B)V
-Lcom/android/internal/util/XmlUtils;->writeByteArrayXml([BLjava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
-Lcom/android/internal/util/XmlUtils;->writeDoubleArrayXml([DLjava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
-Lcom/android/internal/util/XmlUtils;->writeFloatAttribute(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;F)V
-Lcom/android/internal/util/XmlUtils;->writeIntArrayXml([ILjava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
-Lcom/android/internal/util/XmlUtils;->writeIntAttribute(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;I)V
-Lcom/android/internal/util/XmlUtils;->writeListXml(Ljava/util/List;Ljava/io/OutputStream;)V
-Lcom/android/internal/util/XmlUtils;->writeListXml(Ljava/util/List;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
-Lcom/android/internal/util/XmlUtils;->writeLongArrayXml([JLjava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
-Lcom/android/internal/util/XmlUtils;->writeLongAttribute(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;J)V
-Lcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
-Lcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;Lcom/android/internal/util/XmlUtils$WriteMapCallback;)V
-Lcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Lorg/xmlpull/v1/XmlSerializer;Lcom/android/internal/util/XmlUtils$WriteMapCallback;)V
-Lcom/android/internal/util/XmlUtils;->writeSetXml(Ljava/util/Set;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
-Lcom/android/internal/util/XmlUtils;->writeStringArrayXml([Ljava/lang/String;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
-Lcom/android/internal/util/XmlUtils;->writeStringAttribute(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Ljava/lang/CharSequence;)V
-Lcom/android/internal/util/XmlUtils;->writeUriAttribute(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Landroid/net/Uri;)V
-Lcom/android/internal/util/XmlUtils;->writeValueXml(Ljava/lang/Object;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
-Lcom/android/internal/util/XmlUtils;->writeValueXml(Ljava/lang/Object;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;Lcom/android/internal/util/XmlUtils$WriteMapCallback;)V
-Lcom/android/internal/view/BaseIWindow;
-Lcom/android/internal/view/BaseIWindow;->closeSystemDialogs(Ljava/lang/String;)V
-Lcom/android/internal/view/BaseIWindow;->dispatchAppVisibility(Z)V
-Lcom/android/internal/view/BaseIWindow;->dispatchDragEvent(Landroid/view/DragEvent;)V
-Lcom/android/internal/view/BaseIWindow;->dispatchGetNewSurface()V
-Lcom/android/internal/view/BaseIWindow;->dispatchPointerCaptureChanged(Z)V
-Lcom/android/internal/view/BaseIWindow;->dispatchSystemUiVisibilityChanged(IIII)V
-Lcom/android/internal/view/BaseIWindow;->dispatchWallpaperCommand(Ljava/lang/String;IIILandroid/os/Bundle;Z)V
-Lcom/android/internal/view/BaseIWindow;->dispatchWallpaperOffsets(FFFFZ)V
-Lcom/android/internal/view/BaseIWindow;->dispatchWindowShown()V
-Lcom/android/internal/view/BaseIWindow;->executeCommand(Ljava/lang/String;Ljava/lang/String;Landroid/os/ParcelFileDescriptor;)V
-Lcom/android/internal/view/BaseIWindow;->moved(II)V
-Lcom/android/internal/view/BaseIWindow;->mSeq:I
-Lcom/android/internal/view/BaseIWindow;->mSession:Landroid/view/IWindowSession;
-Lcom/android/internal/view/BaseIWindow;->requestAppKeyboardShortcuts(Lcom/android/internal/os/IResultReceiver;I)V
-Lcom/android/internal/view/BaseIWindow;->resized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
-Lcom/android/internal/view/BaseIWindow;->setSession(Landroid/view/IWindowSession;)V
-Lcom/android/internal/view/BaseIWindow;->updatePointerIcon(FF)V
-Lcom/android/internal/view/BaseIWindow;->windowFocusChanged(ZZ)V
-Lcom/android/internal/view/BaseSurfaceHolder;
-Lcom/android/internal/view/BaseSurfaceHolder;-><init>()V
-Lcom/android/internal/view/BaseSurfaceHolder;->DEBUG:Z
-Lcom/android/internal/view/BaseSurfaceHolder;->getCallbacks()[Landroid/view/SurfaceHolder$Callback;
-Lcom/android/internal/view/BaseSurfaceHolder;->getRequestedFormat()I
-Lcom/android/internal/view/BaseSurfaceHolder;->getRequestedHeight()I
-Lcom/android/internal/view/BaseSurfaceHolder;->getRequestedType()I
-Lcom/android/internal/view/BaseSurfaceHolder;->getRequestedWidth()I
-Lcom/android/internal/view/BaseSurfaceHolder;->internalLockCanvas(Landroid/graphics/Rect;Z)Landroid/graphics/Canvas;
-Lcom/android/internal/view/BaseSurfaceHolder;->mCallbacks:Ljava/util/ArrayList;
-Lcom/android/internal/view/BaseSurfaceHolder;->mGottenCallbacks:[Landroid/view/SurfaceHolder$Callback;
-Lcom/android/internal/view/BaseSurfaceHolder;->mHaveGottenCallbacks:Z
-Lcom/android/internal/view/BaseSurfaceHolder;->mLastLockTime:J
-Lcom/android/internal/view/BaseSurfaceHolder;->mRequestedFormat:I
-Lcom/android/internal/view/BaseSurfaceHolder;->mRequestedHeight:I
-Lcom/android/internal/view/BaseSurfaceHolder;->mRequestedType:I
-Lcom/android/internal/view/BaseSurfaceHolder;->mRequestedWidth:I
-Lcom/android/internal/view/BaseSurfaceHolder;->mSurface:Landroid/view/Surface;
-Lcom/android/internal/view/BaseSurfaceHolder;->mSurfaceFrame:Landroid/graphics/Rect;
-Lcom/android/internal/view/BaseSurfaceHolder;->mSurfaceLock:Ljava/util/concurrent/locks/ReentrantLock;
-Lcom/android/internal/view/BaseSurfaceHolder;->mTmpDirty:Landroid/graphics/Rect;
-Lcom/android/internal/view/BaseSurfaceHolder;->mType:I
-Lcom/android/internal/view/BaseSurfaceHolder;->onAllowLockCanvas()Z
-Lcom/android/internal/view/BaseSurfaceHolder;->onRelayoutContainer()V
-Lcom/android/internal/view/BaseSurfaceHolder;->onUpdateSurface()V
-Lcom/android/internal/view/BaseSurfaceHolder;->setSurfaceFrameSize(II)V
-Lcom/android/internal/view/BaseSurfaceHolder;->TAG:Ljava/lang/String;
-Lcom/android/internal/view/BaseSurfaceHolder;->ungetCallbacks()V
-Lcom/android/internal/view/IDragAndDropPermissions$Stub$Proxy;
-Lcom/android/internal/view/IDragAndDropPermissions$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/view/IDragAndDropPermissions$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/view/IDragAndDropPermissions$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/view/IDragAndDropPermissions$Stub$Proxy;->release()V
-Lcom/android/internal/view/IDragAndDropPermissions$Stub$Proxy;->take(Landroid/os/IBinder;)V
-Lcom/android/internal/view/IDragAndDropPermissions$Stub$Proxy;->takeTransient(Landroid/os/IBinder;)V
-Lcom/android/internal/view/IDragAndDropPermissions$Stub;
-Lcom/android/internal/view/IDragAndDropPermissions$Stub;-><init>()V
-Lcom/android/internal/view/IDragAndDropPermissions$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IDragAndDropPermissions;
-Lcom/android/internal/view/IDragAndDropPermissions$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/view/IDragAndDropPermissions$Stub;->TRANSACTION_release:I
-Lcom/android/internal/view/IDragAndDropPermissions$Stub;->TRANSACTION_take:I
-Lcom/android/internal/view/IDragAndDropPermissions$Stub;->TRANSACTION_takeTransient:I
-Lcom/android/internal/view/IDragAndDropPermissions;
-Lcom/android/internal/view/IDragAndDropPermissions;->release()V
-Lcom/android/internal/view/IDragAndDropPermissions;->take(Landroid/os/IBinder;)V
-Lcom/android/internal/view/IDragAndDropPermissions;->takeTransient(Landroid/os/IBinder;)V
-Lcom/android/internal/view/IInputConnectionWrapper$MyHandler;
-Lcom/android/internal/view/IInputConnectionWrapper$MyHandler;-><init>(Landroid/os/Looper;)V
-Lcom/android/internal/view/IInputConnectionWrapper;
-Lcom/android/internal/view/IInputConnectionWrapper;-><init>(Landroid/os/Looper;Landroid/view/inputmethod/InputConnection;)V
-Lcom/android/internal/view/IInputConnectionWrapper;->beginBatchEdit()V
-Lcom/android/internal/view/IInputConnectionWrapper;->clearMetaKeyStates(I)V
-Lcom/android/internal/view/IInputConnectionWrapper;->closeConnection()V
-Lcom/android/internal/view/IInputConnectionWrapper;->commitCompletion(Landroid/view/inputmethod/CompletionInfo;)V
-Lcom/android/internal/view/IInputConnectionWrapper;->commitContent(Landroid/view/inputmethod/InputContentInfo;ILandroid/os/Bundle;ILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputConnectionWrapper;->commitCorrection(Landroid/view/inputmethod/CorrectionInfo;)V
-Lcom/android/internal/view/IInputConnectionWrapper;->commitText(Ljava/lang/CharSequence;I)V
-Lcom/android/internal/view/IInputConnectionWrapper;->DEBUG:Z
-Lcom/android/internal/view/IInputConnectionWrapper;->deleteSurroundingText(II)V
-Lcom/android/internal/view/IInputConnectionWrapper;->deleteSurroundingTextInCodePoints(II)V
-Lcom/android/internal/view/IInputConnectionWrapper;->dispatchMessage(Landroid/os/Message;)V
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_BEGIN_BATCH_EDIT:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_CLEAR_META_KEY_STATES:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_CLOSE_CONNECTION:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_COMMIT_COMPLETION:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_COMMIT_CONTENT:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_COMMIT_CORRECTION:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_COMMIT_TEXT:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_DELETE_SURROUNDING_TEXT:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_DELETE_SURROUNDING_TEXT_IN_CODE_POINTS:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_END_BATCH_EDIT:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_FINISH_COMPOSING_TEXT:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_GET_CURSOR_CAPS_MODE:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_GET_EXTRACTED_TEXT:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_GET_SELECTED_TEXT:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_GET_TEXT_AFTER_CURSOR:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_GET_TEXT_BEFORE_CURSOR:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_PERFORM_CONTEXT_MENU_ACTION:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_PERFORM_EDITOR_ACTION:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_PERFORM_PRIVATE_COMMAND:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_REQUEST_UPDATE_CURSOR_ANCHOR_INFO:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_SEND_KEY_EVENT:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_SET_COMPOSING_REGION:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_SET_COMPOSING_TEXT:I
-Lcom/android/internal/view/IInputConnectionWrapper;->DO_SET_SELECTION:I
-Lcom/android/internal/view/IInputConnectionWrapper;->endBatchEdit()V
-Lcom/android/internal/view/IInputConnectionWrapper;->executeMessage(Landroid/os/Message;)V
-Lcom/android/internal/view/IInputConnectionWrapper;->finishComposingText()V
-Lcom/android/internal/view/IInputConnectionWrapper;->getCursorCapsMode(IILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputConnectionWrapper;->getExtractedText(Landroid/view/inputmethod/ExtractedTextRequest;IILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputConnectionWrapper;->getInputConnection()Landroid/view/inputmethod/InputConnection;
-Lcom/android/internal/view/IInputConnectionWrapper;->getSelectedText(IILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputConnectionWrapper;->getTextAfterCursor(IIILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputConnectionWrapper;->getTextBeforeCursor(IIILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputConnectionWrapper;->isActive()Z
-Lcom/android/internal/view/IInputConnectionWrapper;->isFinished()Z
-Lcom/android/internal/view/IInputConnectionWrapper;->mFinished:Z
-Lcom/android/internal/view/IInputConnectionWrapper;->mH:Landroid/os/Handler;
-Lcom/android/internal/view/IInputConnectionWrapper;->mMainLooper:Landroid/os/Looper;
-Lcom/android/internal/view/IInputConnectionWrapper;->obtainMessage(I)Landroid/os/Message;
-Lcom/android/internal/view/IInputConnectionWrapper;->obtainMessageII(III)Landroid/os/Message;
-Lcom/android/internal/view/IInputConnectionWrapper;->obtainMessageIISC(IIIILcom/android/internal/view/IInputContextCallback;)Landroid/os/Message;
-Lcom/android/internal/view/IInputConnectionWrapper;->obtainMessageIO(IILjava/lang/Object;)Landroid/os/Message;
-Lcom/android/internal/view/IInputConnectionWrapper;->obtainMessageIOOSC(IILjava/lang/Object;Ljava/lang/Object;ILcom/android/internal/view/IInputContextCallback;)Landroid/os/Message;
-Lcom/android/internal/view/IInputConnectionWrapper;->obtainMessageIOSC(IILjava/lang/Object;ILcom/android/internal/view/IInputContextCallback;)Landroid/os/Message;
-Lcom/android/internal/view/IInputConnectionWrapper;->obtainMessageISC(IIILcom/android/internal/view/IInputContextCallback;)Landroid/os/Message;
-Lcom/android/internal/view/IInputConnectionWrapper;->obtainMessageO(ILjava/lang/Object;)Landroid/os/Message;
-Lcom/android/internal/view/IInputConnectionWrapper;->obtainMessageOO(ILjava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
-Lcom/android/internal/view/IInputConnectionWrapper;->onUserAction()V
-Lcom/android/internal/view/IInputConnectionWrapper;->performContextMenuAction(I)V
-Lcom/android/internal/view/IInputConnectionWrapper;->performEditorAction(I)V
-Lcom/android/internal/view/IInputConnectionWrapper;->performPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V
-Lcom/android/internal/view/IInputConnectionWrapper;->requestUpdateCursorAnchorInfo(IILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputConnectionWrapper;->sendKeyEvent(Landroid/view/KeyEvent;)V
-Lcom/android/internal/view/IInputConnectionWrapper;->setComposingRegion(II)V
-Lcom/android/internal/view/IInputConnectionWrapper;->setComposingText(Ljava/lang/CharSequence;I)V
-Lcom/android/internal/view/IInputConnectionWrapper;->setSelection(II)V
-Lcom/android/internal/view/IInputConnectionWrapper;->TAG:Ljava/lang/String;
-Lcom/android/internal/view/IInputContext$Stub$Proxy;
-Lcom/android/internal/view/IInputContext$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->beginBatchEdit()V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->clearMetaKeyStates(I)V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->commitCompletion(Landroid/view/inputmethod/CompletionInfo;)V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->commitContent(Landroid/view/inputmethod/InputContentInfo;ILandroid/os/Bundle;ILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->commitCorrection(Landroid/view/inputmethod/CorrectionInfo;)V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->commitText(Ljava/lang/CharSequence;I)V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->deleteSurroundingText(II)V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->deleteSurroundingTextInCodePoints(II)V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->endBatchEdit()V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->finishComposingText()V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->getCursorCapsMode(IILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->getExtractedText(Landroid/view/inputmethod/ExtractedTextRequest;IILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->getSelectedText(IILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->getTextAfterCursor(IIILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->getTextBeforeCursor(IIILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->performContextMenuAction(I)V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->performEditorAction(I)V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->performPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->requestUpdateCursorAnchorInfo(IILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->sendKeyEvent(Landroid/view/KeyEvent;)V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->setComposingRegion(II)V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->setComposingText(Ljava/lang/CharSequence;I)V
-Lcom/android/internal/view/IInputContext$Stub$Proxy;->setSelection(II)V
-Lcom/android/internal/view/IInputContext$Stub;
-Lcom/android/internal/view/IInputContext$Stub;-><init>()V
-Lcom/android/internal/view/IInputContext$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IInputContext;
-Lcom/android/internal/view/IInputContext$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_beginBatchEdit:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_clearMetaKeyStates:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_commitCompletion:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_commitContent:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_commitCorrection:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_commitText:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_deleteSurroundingText:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_deleteSurroundingTextInCodePoints:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_endBatchEdit:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_finishComposingText:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_getCursorCapsMode:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_getExtractedText:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_getSelectedText:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_getTextAfterCursor:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_getTextBeforeCursor:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_performContextMenuAction:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_performEditorAction:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_performPrivateCommand:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_requestUpdateCursorAnchorInfo:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_sendKeyEvent:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_setComposingRegion:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_setComposingText:I
-Lcom/android/internal/view/IInputContext$Stub;->TRANSACTION_setSelection:I
-Lcom/android/internal/view/IInputContext;
-Lcom/android/internal/view/IInputContext;->beginBatchEdit()V
-Lcom/android/internal/view/IInputContext;->clearMetaKeyStates(I)V
-Lcom/android/internal/view/IInputContext;->commitCompletion(Landroid/view/inputmethod/CompletionInfo;)V
-Lcom/android/internal/view/IInputContext;->commitContent(Landroid/view/inputmethod/InputContentInfo;ILandroid/os/Bundle;ILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputContext;->commitCorrection(Landroid/view/inputmethod/CorrectionInfo;)V
-Lcom/android/internal/view/IInputContext;->commitText(Ljava/lang/CharSequence;I)V
-Lcom/android/internal/view/IInputContext;->deleteSurroundingText(II)V
-Lcom/android/internal/view/IInputContext;->deleteSurroundingTextInCodePoints(II)V
-Lcom/android/internal/view/IInputContext;->endBatchEdit()V
-Lcom/android/internal/view/IInputContext;->finishComposingText()V
-Lcom/android/internal/view/IInputContext;->getCursorCapsMode(IILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputContext;->getExtractedText(Landroid/view/inputmethod/ExtractedTextRequest;IILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputContext;->getSelectedText(IILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputContext;->getTextAfterCursor(IIILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputContext;->getTextBeforeCursor(IIILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputContext;->performContextMenuAction(I)V
-Lcom/android/internal/view/IInputContext;->performEditorAction(I)V
-Lcom/android/internal/view/IInputContext;->performPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V
-Lcom/android/internal/view/IInputContext;->requestUpdateCursorAnchorInfo(IILcom/android/internal/view/IInputContextCallback;)V
-Lcom/android/internal/view/IInputContext;->sendKeyEvent(Landroid/view/KeyEvent;)V
-Lcom/android/internal/view/IInputContext;->setComposingRegion(II)V
-Lcom/android/internal/view/IInputContext;->setComposingText(Ljava/lang/CharSequence;I)V
-Lcom/android/internal/view/IInputContext;->setSelection(II)V
-Lcom/android/internal/view/IInputContextCallback$Stub$Proxy;
-Lcom/android/internal/view/IInputContextCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/view/IInputContextCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/view/IInputContextCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setCommitContentResult(ZI)V
-Lcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setCursorCapsMode(II)V
-Lcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setExtractedText(Landroid/view/inputmethod/ExtractedText;I)V
-Lcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setRequestUpdateCursorAnchorInfoResult(ZI)V
-Lcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setSelectedText(Ljava/lang/CharSequence;I)V
-Lcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setTextAfterCursor(Ljava/lang/CharSequence;I)V
-Lcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setTextBeforeCursor(Ljava/lang/CharSequence;I)V
-Lcom/android/internal/view/IInputContextCallback$Stub;
-Lcom/android/internal/view/IInputContextCallback$Stub;-><init>()V
-Lcom/android/internal/view/IInputContextCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IInputContextCallback;
-Lcom/android/internal/view/IInputContextCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/view/IInputContextCallback$Stub;->TRANSACTION_setCommitContentResult:I
-Lcom/android/internal/view/IInputContextCallback$Stub;->TRANSACTION_setCursorCapsMode:I
-Lcom/android/internal/view/IInputContextCallback$Stub;->TRANSACTION_setExtractedText:I
-Lcom/android/internal/view/IInputContextCallback$Stub;->TRANSACTION_setRequestUpdateCursorAnchorInfoResult:I
-Lcom/android/internal/view/IInputContextCallback$Stub;->TRANSACTION_setSelectedText:I
-Lcom/android/internal/view/IInputContextCallback$Stub;->TRANSACTION_setTextAfterCursor:I
-Lcom/android/internal/view/IInputContextCallback$Stub;->TRANSACTION_setTextBeforeCursor:I
-Lcom/android/internal/view/IInputContextCallback;
-Lcom/android/internal/view/IInputContextCallback;->setCommitContentResult(ZI)V
-Lcom/android/internal/view/IInputContextCallback;->setCursorCapsMode(II)V
-Lcom/android/internal/view/IInputContextCallback;->setExtractedText(Landroid/view/inputmethod/ExtractedText;I)V
-Lcom/android/internal/view/IInputContextCallback;->setRequestUpdateCursorAnchorInfoResult(ZI)V
-Lcom/android/internal/view/IInputContextCallback;->setSelectedText(Ljava/lang/CharSequence;I)V
-Lcom/android/internal/view/IInputContextCallback;->setTextAfterCursor(Ljava/lang/CharSequence;I)V
-Lcom/android/internal/view/IInputContextCallback;->setTextBeforeCursor(Ljava/lang/CharSequence;I)V
-Lcom/android/internal/view/IInputMethod$Stub$Proxy;
-Lcom/android/internal/view/IInputMethod$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/view/IInputMethod$Stub$Proxy;->attachToken(Landroid/os/IBinder;)V
-Lcom/android/internal/view/IInputMethod$Stub$Proxy;->bindInput(Landroid/view/inputmethod/InputBinding;)V
-Lcom/android/internal/view/IInputMethod$Stub$Proxy;->changeInputMethodSubtype(Landroid/view/inputmethod/InputMethodSubtype;)V
-Lcom/android/internal/view/IInputMethod$Stub$Proxy;->createSession(Landroid/view/InputChannel;Lcom/android/internal/view/IInputSessionCallback;)V
-Lcom/android/internal/view/IInputMethod$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/view/IInputMethod$Stub$Proxy;->hideSoftInput(ILandroid/os/ResultReceiver;)V
-Lcom/android/internal/view/IInputMethod$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/view/IInputMethod$Stub$Proxy;->revokeSession(Lcom/android/internal/view/IInputMethodSession;)V
-Lcom/android/internal/view/IInputMethod$Stub$Proxy;->setSessionEnabled(Lcom/android/internal/view/IInputMethodSession;Z)V
-Lcom/android/internal/view/IInputMethod$Stub$Proxy;->showSoftInput(ILandroid/os/ResultReceiver;)V
-Lcom/android/internal/view/IInputMethod$Stub$Proxy;->startInput(Landroid/os/IBinder;Lcom/android/internal/view/IInputContext;ILandroid/view/inputmethod/EditorInfo;Z)V
-Lcom/android/internal/view/IInputMethod$Stub$Proxy;->unbindInput()V
-Lcom/android/internal/view/IInputMethod$Stub;
-Lcom/android/internal/view/IInputMethod$Stub;-><init>()V
-Lcom/android/internal/view/IInputMethod$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/view/IInputMethod$Stub;->TRANSACTION_attachToken:I
-Lcom/android/internal/view/IInputMethod$Stub;->TRANSACTION_bindInput:I
-Lcom/android/internal/view/IInputMethod$Stub;->TRANSACTION_changeInputMethodSubtype:I
-Lcom/android/internal/view/IInputMethod$Stub;->TRANSACTION_createSession:I
-Lcom/android/internal/view/IInputMethod$Stub;->TRANSACTION_hideSoftInput:I
-Lcom/android/internal/view/IInputMethod$Stub;->TRANSACTION_revokeSession:I
-Lcom/android/internal/view/IInputMethod$Stub;->TRANSACTION_setSessionEnabled:I
-Lcom/android/internal/view/IInputMethod$Stub;->TRANSACTION_showSoftInput:I
-Lcom/android/internal/view/IInputMethod$Stub;->TRANSACTION_startInput:I
-Lcom/android/internal/view/IInputMethod$Stub;->TRANSACTION_unbindInput:I
-Lcom/android/internal/view/IInputMethod;
-Lcom/android/internal/view/IInputMethod;->changeInputMethodSubtype(Landroid/view/inputmethod/InputMethodSubtype;)V
-Lcom/android/internal/view/IInputMethod;->createSession(Landroid/view/InputChannel;Lcom/android/internal/view/IInputSessionCallback;)V
-Lcom/android/internal/view/IInputMethod;->revokeSession(Lcom/android/internal/view/IInputMethodSession;)V
-Lcom/android/internal/view/IInputMethod;->startInput(Landroid/os/IBinder;Lcom/android/internal/view/IInputContext;ILandroid/view/inputmethod/EditorInfo;Z)V
-Lcom/android/internal/view/IInputMethodClient$Stub$Proxy;
-Lcom/android/internal/view/IInputMethodClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/view/IInputMethodClient$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/view/IInputMethodClient$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/view/IInputMethodClient$Stub$Proxy;->onBindMethod(Lcom/android/internal/view/InputBindResult;)V
-Lcom/android/internal/view/IInputMethodClient$Stub$Proxy;->onUnbindMethod(II)V
-Lcom/android/internal/view/IInputMethodClient$Stub$Proxy;->reportFullscreenMode(Z)V
-Lcom/android/internal/view/IInputMethodClient$Stub$Proxy;->setActive(ZZ)V
-Lcom/android/internal/view/IInputMethodClient$Stub$Proxy;->setUserActionNotificationSequenceNumber(I)V
-Lcom/android/internal/view/IInputMethodClient$Stub$Proxy;->setUsingInputMethod(Z)V
-Lcom/android/internal/view/IInputMethodClient$Stub;
-Lcom/android/internal/view/IInputMethodClient$Stub;-><init>()V
-Lcom/android/internal/view/IInputMethodClient$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IInputMethodClient;
-Lcom/android/internal/view/IInputMethodClient$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/view/IInputMethodClient$Stub;->TRANSACTION_onBindMethod:I
-Lcom/android/internal/view/IInputMethodClient$Stub;->TRANSACTION_onUnbindMethod:I
-Lcom/android/internal/view/IInputMethodClient$Stub;->TRANSACTION_reportFullscreenMode:I
-Lcom/android/internal/view/IInputMethodClient$Stub;->TRANSACTION_setActive:I
-Lcom/android/internal/view/IInputMethodClient$Stub;->TRANSACTION_setUserActionNotificationSequenceNumber:I
-Lcom/android/internal/view/IInputMethodClient$Stub;->TRANSACTION_setUsingInputMethod:I
-Lcom/android/internal/view/IInputMethodClient;
-Lcom/android/internal/view/IInputMethodClient;->onUnbindMethod(II)V
-Lcom/android/internal/view/IInputMethodClient;->reportFullscreenMode(Z)V
-Lcom/android/internal/view/IInputMethodClient;->setActive(ZZ)V
-Lcom/android/internal/view/IInputMethodClient;->setUserActionNotificationSequenceNumber(I)V
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->addClient(Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;II)V
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->clearLastInputMethodWindowForTransition(Landroid/os/IBinder;)V
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->createInputContentUriToken(Landroid/os/IBinder;Landroid/net/Uri;Ljava/lang/String;)Lcom/android/internal/inputmethod/IInputContentUriToken;
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->finishInput(Lcom/android/internal/view/IInputMethodClient;)V
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getCurrentInputMethodSubtype()Landroid/view/inputmethod/InputMethodSubtype;
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getEnabledInputMethodSubtypeList(Ljava/lang/String;Z)Ljava/util/List;
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getInputMethodList()Ljava/util/List;
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getInputMethodWindowVisibleHeight()I
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getLastInputMethodSubtype()Landroid/view/inputmethod/InputMethodSubtype;
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getShortcutInputMethodsAndSubtypes()Ljava/util/List;
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getVrInputMethodList()Ljava/util/List;
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->hideMySoftInput(Landroid/os/IBinder;I)V
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->hideSoftInput(Lcom/android/internal/view/IInputMethodClient;ILandroid/os/ResultReceiver;)Z
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->isInputMethodPickerShownForTest()Z
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->notifySuggestionPicked(Landroid/text/style/SuggestionSpan;Ljava/lang/String;I)Z
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->notifyUserAction(I)V
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->registerSuggestionSpansForNotification([Landroid/text/style/SuggestionSpan;)V
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->removeClient(Lcom/android/internal/view/IInputMethodClient;)V
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->reportFullscreenMode(Landroid/os/IBinder;Z)V
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->setAdditionalInputMethodSubtypes(Ljava/lang/String;[Landroid/view/inputmethod/InputMethodSubtype;)V
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->setCurrentInputMethodSubtype(Landroid/view/inputmethod/InputMethodSubtype;)Z
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->setImeWindowStatus(Landroid/os/IBinder;Landroid/os/IBinder;II)V
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->setInputMethod(Landroid/os/IBinder;Ljava/lang/String;)V
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->setInputMethodAndSubtype(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/inputmethod/InputMethodSubtype;)V
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->shouldOfferSwitchingToNextInputMethod(Landroid/os/IBinder;)Z
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->showInputMethodAndSubtypeEnablerFromClient(Lcom/android/internal/view/IInputMethodClient;Ljava/lang/String;)V
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->showInputMethodPickerFromClient(Lcom/android/internal/view/IInputMethodClient;I)V
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->showMySoftInput(Landroid/os/IBinder;I)V
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->showSoftInput(Lcom/android/internal/view/IInputMethodClient;ILandroid/os/ResultReceiver;)Z
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->startInputOrWindowGainedFocus(ILcom/android/internal/view/IInputMethodClient;Landroid/os/IBinder;IIILandroid/view/inputmethod/EditorInfo;Lcom/android/internal/view/IInputContext;II)Lcom/android/internal/view/InputBindResult;
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->switchToNextInputMethod(Landroid/os/IBinder;Z)Z
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->switchToPreviousInputMethod(Landroid/os/IBinder;)Z
-Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->updateStatusIcon(Landroid/os/IBinder;Ljava/lang/String;I)V
-Lcom/android/internal/view/IInputMethodManager$Stub;
-Lcom/android/internal/view/IInputMethodManager$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_addClient:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_clearLastInputMethodWindowForTransition:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_createInputContentUriToken:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_finishInput:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_getCurrentInputMethodSubtype:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_getEnabledInputMethodList:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_getEnabledInputMethodSubtypeList:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_getInputMethodList:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_getInputMethodWindowVisibleHeight:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_getLastInputMethodSubtype:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_getShortcutInputMethodsAndSubtypes:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_getVrInputMethodList:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_hideMySoftInput:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_hideSoftInput:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_isInputMethodPickerShownForTest:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_notifySuggestionPicked:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_notifyUserAction:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_registerSuggestionSpansForNotification:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_removeClient:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_reportFullscreenMode:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_setAdditionalInputMethodSubtypes:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_setCurrentInputMethodSubtype:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_setImeWindowStatus:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_setInputMethod:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_setInputMethodAndSubtype:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_shouldOfferSwitchingToNextInputMethod:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_showInputMethodAndSubtypeEnablerFromClient:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_showInputMethodPickerFromClient:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_showMySoftInput:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_showSoftInput:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_startInputOrWindowGainedFocus:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_switchToNextInputMethod:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_switchToPreviousInputMethod:I
-Lcom/android/internal/view/IInputMethodManager$Stub;->TRANSACTION_updateStatusIcon:I
-Lcom/android/internal/view/IInputMethodManager;
-Lcom/android/internal/view/IInputMethodManager;->clearLastInputMethodWindowForTransition(Landroid/os/IBinder;)V
-Lcom/android/internal/view/IInputMethodManager;->createInputContentUriToken(Landroid/os/IBinder;Landroid/net/Uri;Ljava/lang/String;)Lcom/android/internal/inputmethod/IInputContentUriToken;
-Lcom/android/internal/view/IInputMethodManager;->finishInput(Lcom/android/internal/view/IInputMethodClient;)V
-Lcom/android/internal/view/IInputMethodManager;->getCurrentInputMethodSubtype()Landroid/view/inputmethod/InputMethodSubtype;
-Lcom/android/internal/view/IInputMethodManager;->getEnabledInputMethodList()Ljava/util/List;
-Lcom/android/internal/view/IInputMethodManager;->getEnabledInputMethodSubtypeList(Ljava/lang/String;Z)Ljava/util/List;
-Lcom/android/internal/view/IInputMethodManager;->getInputMethodList()Ljava/util/List;
-Lcom/android/internal/view/IInputMethodManager;->getInputMethodWindowVisibleHeight()I
-Lcom/android/internal/view/IInputMethodManager;->getLastInputMethodSubtype()Landroid/view/inputmethod/InputMethodSubtype;
-Lcom/android/internal/view/IInputMethodManager;->getShortcutInputMethodsAndSubtypes()Ljava/util/List;
-Lcom/android/internal/view/IInputMethodManager;->getVrInputMethodList()Ljava/util/List;
-Lcom/android/internal/view/IInputMethodManager;->hideMySoftInput(Landroid/os/IBinder;I)V
-Lcom/android/internal/view/IInputMethodManager;->hideSoftInput(Lcom/android/internal/view/IInputMethodClient;ILandroid/os/ResultReceiver;)Z
-Lcom/android/internal/view/IInputMethodManager;->isInputMethodPickerShownForTest()Z
-Lcom/android/internal/view/IInputMethodManager;->notifySuggestionPicked(Landroid/text/style/SuggestionSpan;Ljava/lang/String;I)Z
-Lcom/android/internal/view/IInputMethodManager;->notifyUserAction(I)V
-Lcom/android/internal/view/IInputMethodManager;->registerSuggestionSpansForNotification([Landroid/text/style/SuggestionSpan;)V
-Lcom/android/internal/view/IInputMethodManager;->reportFullscreenMode(Landroid/os/IBinder;Z)V
-Lcom/android/internal/view/IInputMethodManager;->setAdditionalInputMethodSubtypes(Ljava/lang/String;[Landroid/view/inputmethod/InputMethodSubtype;)V
-Lcom/android/internal/view/IInputMethodManager;->setCurrentInputMethodSubtype(Landroid/view/inputmethod/InputMethodSubtype;)Z
-Lcom/android/internal/view/IInputMethodManager;->setImeWindowStatus(Landroid/os/IBinder;Landroid/os/IBinder;II)V
-Lcom/android/internal/view/IInputMethodManager;->setInputMethod(Landroid/os/IBinder;Ljava/lang/String;)V
-Lcom/android/internal/view/IInputMethodManager;->setInputMethodAndSubtype(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/inputmethod/InputMethodSubtype;)V
-Lcom/android/internal/view/IInputMethodManager;->shouldOfferSwitchingToNextInputMethod(Landroid/os/IBinder;)Z
-Lcom/android/internal/view/IInputMethodManager;->showInputMethodAndSubtypeEnablerFromClient(Lcom/android/internal/view/IInputMethodClient;Ljava/lang/String;)V
-Lcom/android/internal/view/IInputMethodManager;->showInputMethodPickerFromClient(Lcom/android/internal/view/IInputMethodClient;I)V
-Lcom/android/internal/view/IInputMethodManager;->showMySoftInput(Landroid/os/IBinder;I)V
-Lcom/android/internal/view/IInputMethodManager;->showSoftInput(Lcom/android/internal/view/IInputMethodClient;ILandroid/os/ResultReceiver;)Z
-Lcom/android/internal/view/IInputMethodManager;->startInputOrWindowGainedFocus(ILcom/android/internal/view/IInputMethodClient;Landroid/os/IBinder;IIILandroid/view/inputmethod/EditorInfo;Lcom/android/internal/view/IInputContext;II)Lcom/android/internal/view/InputBindResult;
-Lcom/android/internal/view/IInputMethodManager;->switchToNextInputMethod(Landroid/os/IBinder;Z)Z
-Lcom/android/internal/view/IInputMethodManager;->switchToPreviousInputMethod(Landroid/os/IBinder;)Z
-Lcom/android/internal/view/IInputMethodManager;->updateStatusIcon(Landroid/os/IBinder;Ljava/lang/String;I)V
-Lcom/android/internal/view/IInputMethodSession$Stub$Proxy;
-Lcom/android/internal/view/IInputMethodSession$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/view/IInputMethodSession$Stub$Proxy;->appPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V
-Lcom/android/internal/view/IInputMethodSession$Stub$Proxy;->displayCompletions([Landroid/view/inputmethod/CompletionInfo;)V
-Lcom/android/internal/view/IInputMethodSession$Stub$Proxy;->finishInput()V
-Lcom/android/internal/view/IInputMethodSession$Stub$Proxy;->finishSession()V
-Lcom/android/internal/view/IInputMethodSession$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/view/IInputMethodSession$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/view/IInputMethodSession$Stub$Proxy;->toggleSoftInput(II)V
-Lcom/android/internal/view/IInputMethodSession$Stub$Proxy;->updateCursor(Landroid/graphics/Rect;)V
-Lcom/android/internal/view/IInputMethodSession$Stub$Proxy;->updateCursorAnchorInfo(Landroid/view/inputmethod/CursorAnchorInfo;)V
-Lcom/android/internal/view/IInputMethodSession$Stub$Proxy;->updateExtractedText(ILandroid/view/inputmethod/ExtractedText;)V
-Lcom/android/internal/view/IInputMethodSession$Stub$Proxy;->updateSelection(IIIIII)V
-Lcom/android/internal/view/IInputMethodSession$Stub$Proxy;->viewClicked(Z)V
-Lcom/android/internal/view/IInputMethodSession$Stub;
-Lcom/android/internal/view/IInputMethodSession$Stub;-><init>()V
-Lcom/android/internal/view/IInputMethodSession$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/view/IInputMethodSession$Stub;->TRANSACTION_appPrivateCommand:I
-Lcom/android/internal/view/IInputMethodSession$Stub;->TRANSACTION_displayCompletions:I
-Lcom/android/internal/view/IInputMethodSession$Stub;->TRANSACTION_finishInput:I
-Lcom/android/internal/view/IInputMethodSession$Stub;->TRANSACTION_finishSession:I
-Lcom/android/internal/view/IInputMethodSession$Stub;->TRANSACTION_toggleSoftInput:I
-Lcom/android/internal/view/IInputMethodSession$Stub;->TRANSACTION_updateCursor:I
-Lcom/android/internal/view/IInputMethodSession$Stub;->TRANSACTION_updateCursorAnchorInfo:I
-Lcom/android/internal/view/IInputMethodSession$Stub;->TRANSACTION_updateExtractedText:I
-Lcom/android/internal/view/IInputMethodSession$Stub;->TRANSACTION_updateSelection:I
-Lcom/android/internal/view/IInputMethodSession$Stub;->TRANSACTION_viewClicked:I
-Lcom/android/internal/view/IInputMethodSession;
-Lcom/android/internal/view/IInputMethodSession;->appPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V
-Lcom/android/internal/view/IInputMethodSession;->displayCompletions([Landroid/view/inputmethod/CompletionInfo;)V
-Lcom/android/internal/view/IInputMethodSession;->finishInput()V
-Lcom/android/internal/view/IInputMethodSession;->finishSession()V
-Lcom/android/internal/view/IInputMethodSession;->toggleSoftInput(II)V
-Lcom/android/internal/view/IInputMethodSession;->updateCursor(Landroid/graphics/Rect;)V
-Lcom/android/internal/view/IInputMethodSession;->updateCursorAnchorInfo(Landroid/view/inputmethod/CursorAnchorInfo;)V
-Lcom/android/internal/view/IInputMethodSession;->updateExtractedText(ILandroid/view/inputmethod/ExtractedText;)V
-Lcom/android/internal/view/IInputMethodSession;->updateSelection(IIIIII)V
-Lcom/android/internal/view/IInputMethodSession;->viewClicked(Z)V
-Lcom/android/internal/view/IInputSessionCallback$Stub$Proxy;
-Lcom/android/internal/view/IInputSessionCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/view/IInputSessionCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/view/IInputSessionCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/view/IInputSessionCallback$Stub$Proxy;->sessionCreated(Lcom/android/internal/view/IInputMethodSession;)V
-Lcom/android/internal/view/IInputSessionCallback$Stub;
-Lcom/android/internal/view/IInputSessionCallback$Stub;-><init>()V
-Lcom/android/internal/view/IInputSessionCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IInputSessionCallback;
-Lcom/android/internal/view/IInputSessionCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/view/IInputSessionCallback$Stub;->TRANSACTION_sessionCreated:I
-Lcom/android/internal/view/IInputSessionCallback;
-Lcom/android/internal/view/IInputSessionCallback;->sessionCreated(Lcom/android/internal/view/IInputMethodSession;)V
-Lcom/android/internal/view/InputBindResult$ResultCode;
-Lcom/android/internal/view/InputBindResult$ResultCode;->ERROR_IME_NOT_CONNECTED:I
-Lcom/android/internal/view/InputBindResult$ResultCode;->ERROR_INVALID_PACKAGE_NAME:I
-Lcom/android/internal/view/InputBindResult$ResultCode;->ERROR_INVALID_USER:I
-Lcom/android/internal/view/InputBindResult$ResultCode;->ERROR_NOT_IME_TARGET_WINDOW:I
-Lcom/android/internal/view/InputBindResult$ResultCode;->ERROR_NO_EDITOR:I
-Lcom/android/internal/view/InputBindResult$ResultCode;->ERROR_NO_IME:I
-Lcom/android/internal/view/InputBindResult$ResultCode;->ERROR_NULL:I
-Lcom/android/internal/view/InputBindResult$ResultCode;->ERROR_NULL_EDITOR_INFO:I
-Lcom/android/internal/view/InputBindResult$ResultCode;->ERROR_SYSTEM_NOT_READY:I
-Lcom/android/internal/view/InputBindResult$ResultCode;->SUCCESS_REPORT_WINDOW_FOCUS_ONLY:I
-Lcom/android/internal/view/InputBindResult$ResultCode;->SUCCESS_WAITING_IME_BINDING:I
-Lcom/android/internal/view/InputBindResult$ResultCode;->SUCCESS_WAITING_IME_SESSION:I
-Lcom/android/internal/view/InputBindResult$ResultCode;->SUCCESS_WITH_IME_SESSION:I
-Lcom/android/internal/view/InputBindResult;
-Lcom/android/internal/view/InputBindResult;-><init>(ILcom/android/internal/view/IInputMethodSession;Landroid/view/InputChannel;Ljava/lang/String;II)V
-Lcom/android/internal/view/InputBindResult;-><init>(Landroid/os/Parcel;)V
-Lcom/android/internal/view/InputBindResult;->channel:Landroid/view/InputChannel;
-Lcom/android/internal/view/InputBindResult;->error(I)Lcom/android/internal/view/InputBindResult;
-Lcom/android/internal/view/InputBindResult;->getResultString()Ljava/lang/String;
-Lcom/android/internal/view/InputBindResult;->id:Ljava/lang/String;
-Lcom/android/internal/view/InputBindResult;->IME_NOT_CONNECTED:Lcom/android/internal/view/InputBindResult;
-Lcom/android/internal/view/InputBindResult;->INVALID_PACKAGE_NAME:Lcom/android/internal/view/InputBindResult;
-Lcom/android/internal/view/InputBindResult;->INVALID_USER:Lcom/android/internal/view/InputBindResult;
-Lcom/android/internal/view/InputBindResult;->NOT_IME_TARGET_WINDOW:Lcom/android/internal/view/InputBindResult;
-Lcom/android/internal/view/InputBindResult;->NO_EDITOR:Lcom/android/internal/view/InputBindResult;
-Lcom/android/internal/view/InputBindResult;->NO_IME:Lcom/android/internal/view/InputBindResult;
-Lcom/android/internal/view/InputBindResult;->NULL:Lcom/android/internal/view/InputBindResult;
-Lcom/android/internal/view/InputBindResult;->NULL_EDITOR_INFO:Lcom/android/internal/view/InputBindResult;
-Lcom/android/internal/view/InputBindResult;->result:I
-Lcom/android/internal/view/InputBindResult;->sequence:I
-Lcom/android/internal/view/InputBindResult;->userActionNotificationSequenceNumber:I
-Lcom/android/internal/view/InputMethodClient$StartInputReason;
-Lcom/android/internal/view/InputMethodClient$UnbindReason;
-Lcom/android/internal/view/InputMethodClient;
-Lcom/android/internal/view/InputMethodClient;-><init>()V
-Lcom/android/internal/view/InputMethodClient;->getStartInputReason(I)Ljava/lang/String;
-Lcom/android/internal/view/InputMethodClient;->getUnbindReason(I)Ljava/lang/String;
-Lcom/android/internal/view/InputMethodClient;->softInputModeToString(I)Ljava/lang/String;
-Lcom/android/internal/view/InputMethodClient;->START_INPUT_REASON_ACTIVATED_BY_IMMS:I
-Lcom/android/internal/view/InputMethodClient;->START_INPUT_REASON_APP_CALLED_RESTART_INPUT_API:I
-Lcom/android/internal/view/InputMethodClient;->START_INPUT_REASON_BOUND_TO_IMMS:I
-Lcom/android/internal/view/InputMethodClient;->START_INPUT_REASON_CHECK_FOCUS:I
-Lcom/android/internal/view/InputMethodClient;->START_INPUT_REASON_DEACTIVATED_BY_IMMS:I
-Lcom/android/internal/view/InputMethodClient;->START_INPUT_REASON_SESSION_CREATED_BY_IME:I
-Lcom/android/internal/view/InputMethodClient;->START_INPUT_REASON_UNBOUND_FROM_IMMS:I
-Lcom/android/internal/view/InputMethodClient;->START_INPUT_REASON_UNSPECIFIED:I
-Lcom/android/internal/view/InputMethodClient;->START_INPUT_REASON_WINDOW_FOCUS_GAIN:I
-Lcom/android/internal/view/InputMethodClient;->START_INPUT_REASON_WINDOW_FOCUS_GAIN_REPORT_ONLY:I
-Lcom/android/internal/view/InputMethodClient;->UNBIND_REASON_DISCONNECT_IME:I
-Lcom/android/internal/view/InputMethodClient;->UNBIND_REASON_NO_IME:I
-Lcom/android/internal/view/InputMethodClient;->UNBIND_REASON_SWITCH_CLIENT:I
-Lcom/android/internal/view/InputMethodClient;->UNBIND_REASON_SWITCH_IME:I
-Lcom/android/internal/view/InputMethodClient;->UNBIND_REASON_SWITCH_IME_FAILED:I
-Lcom/android/internal/view/InputMethodClient;->UNBIND_REASON_SWITCH_USER:I
-Lcom/android/internal/view/InputMethodClient;->UNBIND_REASON_UNSPECIFIED:I
-Lcom/android/internal/view/menu/ActionMenuItemView$ActionMenuItemForwardingListener;
-Lcom/android/internal/view/menu/ActionMenuItemView$ActionMenuItemForwardingListener;-><init>()V
-Lcom/android/internal/view/menu/ActionMenuItemView$ActionMenuItemForwardingListener;->getPopup()Lcom/android/internal/view/menu/ShowableListMenu;
-Lcom/android/internal/view/menu/ActionMenuItemView$ActionMenuItemForwardingListener;->onForwardingStarted()Z
-Lcom/android/internal/view/menu/ActionMenuItemView$PopupCallback;
-Lcom/android/internal/view/menu/ActionMenuItemView$PopupCallback;-><init>()V
-Lcom/android/internal/view/menu/ActionMenuItemView$PopupCallback;->getPopup()Lcom/android/internal/view/menu/ShowableListMenu;
-Lcom/android/internal/view/menu/ActionMenuItemView;
-Lcom/android/internal/view/menu/ActionMenuItemView;-><init>(Landroid/content/Context;)V
-Lcom/android/internal/view/menu/ActionMenuItemView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Lcom/android/internal/view/menu/ActionMenuItemView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Lcom/android/internal/view/menu/ActionMenuItemView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Lcom/android/internal/view/menu/ActionMenuItemView;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
-Lcom/android/internal/view/menu/ActionMenuItemView;->getItemData()Lcom/android/internal/view/menu/MenuItemImpl;
-Lcom/android/internal/view/menu/ActionMenuItemView;->initialize(Lcom/android/internal/view/menu/MenuItemImpl;I)V
-Lcom/android/internal/view/menu/ActionMenuItemView;->mAllowTextWithIcon:Z
-Lcom/android/internal/view/menu/ActionMenuItemView;->MAX_ICON_SIZE:I
-Lcom/android/internal/view/menu/ActionMenuItemView;->mExpandedFormat:Z
-Lcom/android/internal/view/menu/ActionMenuItemView;->mForwardingListener:Landroid/widget/ForwardingListener;
-Lcom/android/internal/view/menu/ActionMenuItemView;->mIcon:Landroid/graphics/drawable/Drawable;
-Lcom/android/internal/view/menu/ActionMenuItemView;->mItemData:Lcom/android/internal/view/menu/MenuItemImpl;
-Lcom/android/internal/view/menu/ActionMenuItemView;->mItemInvoker:Lcom/android/internal/view/menu/MenuBuilder$ItemInvoker;
-Lcom/android/internal/view/menu/ActionMenuItemView;->mMaxIconSize:I
-Lcom/android/internal/view/menu/ActionMenuItemView;->mMinWidth:I
-Lcom/android/internal/view/menu/ActionMenuItemView;->mPopupCallback:Lcom/android/internal/view/menu/ActionMenuItemView$PopupCallback;
-Lcom/android/internal/view/menu/ActionMenuItemView;->mSavedPaddingLeft:I
-Lcom/android/internal/view/menu/ActionMenuItemView;->mTitle:Ljava/lang/CharSequence;
-Lcom/android/internal/view/menu/ActionMenuItemView;->needsDividerAfter()Z
-Lcom/android/internal/view/menu/ActionMenuItemView;->needsDividerBefore()Z
-Lcom/android/internal/view/menu/ActionMenuItemView;->onPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-Lcom/android/internal/view/menu/ActionMenuItemView;->prefersCondensedTitle()Z
-Lcom/android/internal/view/menu/ActionMenuItemView;->setCheckable(Z)V
-Lcom/android/internal/view/menu/ActionMenuItemView;->setChecked(Z)V
-Lcom/android/internal/view/menu/ActionMenuItemView;->setExpandedFormat(Z)V
-Lcom/android/internal/view/menu/ActionMenuItemView;->setIcon(Landroid/graphics/drawable/Drawable;)V
-Lcom/android/internal/view/menu/ActionMenuItemView;->setItemInvoker(Lcom/android/internal/view/menu/MenuBuilder$ItemInvoker;)V
-Lcom/android/internal/view/menu/ActionMenuItemView;->setPopupCallback(Lcom/android/internal/view/menu/ActionMenuItemView$PopupCallback;)V
-Lcom/android/internal/view/menu/ActionMenuItemView;->setShortcut(ZC)V
-Lcom/android/internal/view/menu/ActionMenuItemView;->setTitle(Ljava/lang/CharSequence;)V
-Lcom/android/internal/view/menu/ActionMenuItemView;->shouldAllowTextWithIcon()Z
-Lcom/android/internal/view/menu/ActionMenuItemView;->showsIcon()Z
-Lcom/android/internal/view/menu/ActionMenuItemView;->TAG:Ljava/lang/String;
-Lcom/android/internal/view/menu/ActionMenuItemView;->updateTextButtonVisibility()V
-Lcom/android/internal/view/menu/BaseMenuPresenter;
-Lcom/android/internal/view/menu/BaseMenuPresenter;-><init>(Landroid/content/Context;II)V
-Lcom/android/internal/view/menu/BaseMenuPresenter;->addItemView(Landroid/view/View;I)V
-Lcom/android/internal/view/menu/BaseMenuPresenter;->bindItemView(Lcom/android/internal/view/menu/MenuItemImpl;Lcom/android/internal/view/menu/MenuView$ItemView;)V
-Lcom/android/internal/view/menu/BaseMenuPresenter;->collapseItemActionView(Lcom/android/internal/view/menu/MenuBuilder;Lcom/android/internal/view/menu/MenuItemImpl;)Z
-Lcom/android/internal/view/menu/BaseMenuPresenter;->createItemView(Landroid/view/ViewGroup;)Lcom/android/internal/view/menu/MenuView$ItemView;
-Lcom/android/internal/view/menu/BaseMenuPresenter;->expandItemActionView(Lcom/android/internal/view/menu/MenuBuilder;Lcom/android/internal/view/menu/MenuItemImpl;)Z
-Lcom/android/internal/view/menu/BaseMenuPresenter;->filterLeftoverView(Landroid/view/ViewGroup;I)Z
-Lcom/android/internal/view/menu/BaseMenuPresenter;->flagActionItems()Z
-Lcom/android/internal/view/menu/BaseMenuPresenter;->getCallback()Lcom/android/internal/view/menu/MenuPresenter$Callback;
-Lcom/android/internal/view/menu/BaseMenuPresenter;->getId()I
-Lcom/android/internal/view/menu/BaseMenuPresenter;->getItemView(Lcom/android/internal/view/menu/MenuItemImpl;Landroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
-Lcom/android/internal/view/menu/BaseMenuPresenter;->getMenuView(Landroid/view/ViewGroup;)Lcom/android/internal/view/menu/MenuView;
-Lcom/android/internal/view/menu/BaseMenuPresenter;->initForMenu(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;)V
-Lcom/android/internal/view/menu/BaseMenuPresenter;->mCallback:Lcom/android/internal/view/menu/MenuPresenter$Callback;
-Lcom/android/internal/view/menu/BaseMenuPresenter;->mContext:Landroid/content/Context;
-Lcom/android/internal/view/menu/BaseMenuPresenter;->mId:I
-Lcom/android/internal/view/menu/BaseMenuPresenter;->mInflater:Landroid/view/LayoutInflater;
-Lcom/android/internal/view/menu/BaseMenuPresenter;->mItemLayoutRes:I
-Lcom/android/internal/view/menu/BaseMenuPresenter;->mMenu:Lcom/android/internal/view/menu/MenuBuilder;
-Lcom/android/internal/view/menu/BaseMenuPresenter;->mMenuLayoutRes:I
-Lcom/android/internal/view/menu/BaseMenuPresenter;->mMenuView:Lcom/android/internal/view/menu/MenuView;
-Lcom/android/internal/view/menu/BaseMenuPresenter;->mSystemContext:Landroid/content/Context;
-Lcom/android/internal/view/menu/BaseMenuPresenter;->mSystemInflater:Landroid/view/LayoutInflater;
-Lcom/android/internal/view/menu/BaseMenuPresenter;->onCloseMenu(Lcom/android/internal/view/menu/MenuBuilder;Z)V
-Lcom/android/internal/view/menu/BaseMenuPresenter;->onSubMenuSelected(Lcom/android/internal/view/menu/SubMenuBuilder;)Z
-Lcom/android/internal/view/menu/BaseMenuPresenter;->setCallback(Lcom/android/internal/view/menu/MenuPresenter$Callback;)V
-Lcom/android/internal/view/menu/BaseMenuPresenter;->setId(I)V
-Lcom/android/internal/view/menu/BaseMenuPresenter;->shouldIncludeItem(ILcom/android/internal/view/menu/MenuItemImpl;)Z
-Lcom/android/internal/view/menu/BaseMenuPresenter;->updateMenuView(Z)V
-Lcom/android/internal/view/menu/MenuAdapter;
-Lcom/android/internal/view/menu/MenuAdapter;-><init>(Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/LayoutInflater;ZI)V
-Lcom/android/internal/view/menu/MenuAdapter;->findExpandedIndex()V
-Lcom/android/internal/view/menu/MenuAdapter;->getAdapterMenu()Lcom/android/internal/view/menu/MenuBuilder;
-Lcom/android/internal/view/menu/MenuAdapter;->getForceShowIcon()Z
-Lcom/android/internal/view/menu/MenuAdapter;->mAdapterMenu:Lcom/android/internal/view/menu/MenuBuilder;
-Lcom/android/internal/view/menu/MenuAdapter;->mExpandedIndex:I
-Lcom/android/internal/view/menu/MenuAdapter;->mForceShowIcon:Z
-Lcom/android/internal/view/menu/MenuAdapter;->mInflater:Landroid/view/LayoutInflater;
-Lcom/android/internal/view/menu/MenuAdapter;->mItemLayoutRes:I
-Lcom/android/internal/view/menu/MenuAdapter;->mOverflowOnly:Z
-Lcom/android/internal/view/menu/MenuAdapter;->setForceShowIcon(Z)V
-Lcom/android/internal/view/menu/MenuBuilder$Callback;
-Lcom/android/internal/view/menu/MenuBuilder$ItemInvoker;
-Lcom/android/internal/view/menu/MenuBuilder$ItemInvoker;->invokeItem(Lcom/android/internal/view/menu/MenuItemImpl;)Z
-Lcom/android/internal/view/menu/MenuBuilder;
-Lcom/android/internal/view/menu/MenuBuilder;->ACTION_VIEW_STATES_KEY:Ljava/lang/String;
-Lcom/android/internal/view/menu/MenuBuilder;->addInternal(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
-Lcom/android/internal/view/menu/MenuBuilder;->changeMenuMode()V
-Lcom/android/internal/view/menu/MenuBuilder;->clearAll()V
-Lcom/android/internal/view/menu/MenuBuilder;->clearHeader()V
-Lcom/android/internal/view/menu/MenuBuilder;->close(Z)V
-Lcom/android/internal/view/menu/MenuBuilder;->createNewMenuItem(IIIILjava/lang/CharSequence;I)Lcom/android/internal/view/menu/MenuItemImpl;
-Lcom/android/internal/view/menu/MenuBuilder;->dispatchMenuItemSelected(Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/MenuItem;)Z
-Lcom/android/internal/view/menu/MenuBuilder;->dispatchPresenterUpdate(Z)V
-Lcom/android/internal/view/menu/MenuBuilder;->dispatchRestoreInstanceState(Landroid/os/Bundle;)V
-Lcom/android/internal/view/menu/MenuBuilder;->dispatchSaveInstanceState(Landroid/os/Bundle;)V
-Lcom/android/internal/view/menu/MenuBuilder;->dispatchSubMenuSelected(Lcom/android/internal/view/menu/SubMenuBuilder;Lcom/android/internal/view/menu/MenuPresenter;)Z
-Lcom/android/internal/view/menu/MenuBuilder;->EXPANDED_ACTION_VIEW_ID:Ljava/lang/String;
-Lcom/android/internal/view/menu/MenuBuilder;->expandItemActionView(Lcom/android/internal/view/menu/MenuItemImpl;)Z
-Lcom/android/internal/view/menu/MenuBuilder;->findGroupIndex(I)I
-Lcom/android/internal/view/menu/MenuBuilder;->findGroupIndex(II)I
-Lcom/android/internal/view/menu/MenuBuilder;->findInsertIndex(Ljava/util/ArrayList;I)I
-Lcom/android/internal/view/menu/MenuBuilder;->findItemIndex(I)I
-Lcom/android/internal/view/menu/MenuBuilder;->findItemsWithShortcutForKey(Ljava/util/List;ILandroid/view/KeyEvent;)V
-Lcom/android/internal/view/menu/MenuBuilder;->findItemWithShortcutForKey(ILandroid/view/KeyEvent;)Lcom/android/internal/view/menu/MenuItemImpl;
-Lcom/android/internal/view/menu/MenuBuilder;->flagActionItems()V
-Lcom/android/internal/view/menu/MenuBuilder;->getActionItems()Ljava/util/ArrayList;
-Lcom/android/internal/view/menu/MenuBuilder;->getActionViewStatesKey()Ljava/lang/String;
-Lcom/android/internal/view/menu/MenuBuilder;->getExpandedItem()Lcom/android/internal/view/menu/MenuItemImpl;
-Lcom/android/internal/view/menu/MenuBuilder;->getHeaderView()Landroid/view/View;
-Lcom/android/internal/view/menu/MenuBuilder;->getOptionalIconsVisible()Z
-Lcom/android/internal/view/menu/MenuBuilder;->getOrdering(I)I
-Lcom/android/internal/view/menu/MenuBuilder;->getResources()Landroid/content/res/Resources;
-Lcom/android/internal/view/menu/MenuBuilder;->isGroupDividerEnabled()Z
-Lcom/android/internal/view/menu/MenuBuilder;->isQwertyMode()Z
-Lcom/android/internal/view/menu/MenuBuilder;->isShortcutsVisible()Z
-Lcom/android/internal/view/menu/MenuBuilder;->mActionItems:Ljava/util/ArrayList;
-Lcom/android/internal/view/menu/MenuBuilder;->mCallback:Lcom/android/internal/view/menu/MenuBuilder$Callback;
-Lcom/android/internal/view/menu/MenuBuilder;->mCurrentMenuInfo:Landroid/view/ContextMenu$ContextMenuInfo;
-Lcom/android/internal/view/menu/MenuBuilder;->mDefaultShowAsAction:I
-Lcom/android/internal/view/menu/MenuBuilder;->mExpandedItem:Lcom/android/internal/view/menu/MenuItemImpl;
-Lcom/android/internal/view/menu/MenuBuilder;->mFrozenViewStates:Landroid/util/SparseArray;
-Lcom/android/internal/view/menu/MenuBuilder;->mGroupDividerEnabled:Z
-Lcom/android/internal/view/menu/MenuBuilder;->mHeaderIcon:Landroid/graphics/drawable/Drawable;
-Lcom/android/internal/view/menu/MenuBuilder;->mHeaderTitle:Ljava/lang/CharSequence;
-Lcom/android/internal/view/menu/MenuBuilder;->mHeaderView:Landroid/view/View;
-Lcom/android/internal/view/menu/MenuBuilder;->mIsActionItemsStale:Z
-Lcom/android/internal/view/menu/MenuBuilder;->mIsClosing:Z
-Lcom/android/internal/view/menu/MenuBuilder;->mIsVisibleItemsStale:Z
-Lcom/android/internal/view/menu/MenuBuilder;->mItems:Ljava/util/ArrayList;
-Lcom/android/internal/view/menu/MenuBuilder;->mItemsChangedWhileDispatchPrevented:Z
-Lcom/android/internal/view/menu/MenuBuilder;->mNonActionItems:Ljava/util/ArrayList;
-Lcom/android/internal/view/menu/MenuBuilder;->mOptionalIconsVisible:Z
-Lcom/android/internal/view/menu/MenuBuilder;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList;
-Lcom/android/internal/view/menu/MenuBuilder;->mPreventDispatchingItemsChanged:Z
-Lcom/android/internal/view/menu/MenuBuilder;->mQwertyMode:Z
-Lcom/android/internal/view/menu/MenuBuilder;->mResources:Landroid/content/res/Resources;
-Lcom/android/internal/view/menu/MenuBuilder;->mShortcutsVisible:Z
-Lcom/android/internal/view/menu/MenuBuilder;->mTempShortcutItemList:Ljava/util/ArrayList;
-Lcom/android/internal/view/menu/MenuBuilder;->mVisibleItems:Ljava/util/ArrayList;
-Lcom/android/internal/view/menu/MenuBuilder;->onItemActionRequestChanged(Lcom/android/internal/view/menu/MenuItemImpl;)V
-Lcom/android/internal/view/menu/MenuBuilder;->onItemsChanged(Z)V
-Lcom/android/internal/view/menu/MenuBuilder;->onItemVisibleChanged(Lcom/android/internal/view/menu/MenuItemImpl;)V
-Lcom/android/internal/view/menu/MenuBuilder;->performItemAction(Landroid/view/MenuItem;I)Z
-Lcom/android/internal/view/menu/MenuBuilder;->performItemAction(Landroid/view/MenuItem;Lcom/android/internal/view/menu/MenuPresenter;I)Z
-Lcom/android/internal/view/menu/MenuBuilder;->PRESENTER_KEY:Ljava/lang/String;
-Lcom/android/internal/view/menu/MenuBuilder;->removeItemAt(I)V
-Lcom/android/internal/view/menu/MenuBuilder;->removeItemAtInt(IZ)V
-Lcom/android/internal/view/menu/MenuBuilder;->restoreActionViewStates(Landroid/os/Bundle;)V
-Lcom/android/internal/view/menu/MenuBuilder;->restorePresenterStates(Landroid/os/Bundle;)V
-Lcom/android/internal/view/menu/MenuBuilder;->saveActionViewStates(Landroid/os/Bundle;)V
-Lcom/android/internal/view/menu/MenuBuilder;->savePresenterStates(Landroid/os/Bundle;)V
-Lcom/android/internal/view/menu/MenuBuilder;->sCategoryToOrder:[I
-Lcom/android/internal/view/menu/MenuBuilder;->setExclusiveItemChecked(Landroid/view/MenuItem;)V
-Lcom/android/internal/view/menu/MenuBuilder;->setHeaderIconInt(I)Lcom/android/internal/view/menu/MenuBuilder;
-Lcom/android/internal/view/menu/MenuBuilder;->setHeaderIconInt(Landroid/graphics/drawable/Drawable;)Lcom/android/internal/view/menu/MenuBuilder;
-Lcom/android/internal/view/menu/MenuBuilder;->setHeaderInternal(ILjava/lang/CharSequence;ILandroid/graphics/drawable/Drawable;Landroid/view/View;)V
-Lcom/android/internal/view/menu/MenuBuilder;->setHeaderTitleInt(I)Lcom/android/internal/view/menu/MenuBuilder;
-Lcom/android/internal/view/menu/MenuBuilder;->setHeaderTitleInt(Ljava/lang/CharSequence;)Lcom/android/internal/view/menu/MenuBuilder;
-Lcom/android/internal/view/menu/MenuBuilder;->setHeaderViewInt(Landroid/view/View;)Lcom/android/internal/view/menu/MenuBuilder;
-Lcom/android/internal/view/menu/MenuBuilder;->setShortcutsVisible(Z)V
-Lcom/android/internal/view/menu/MenuBuilder;->setShortcutsVisibleInner(Z)V
-Lcom/android/internal/view/menu/MenuBuilder;->TAG:Ljava/lang/String;
-Lcom/android/internal/view/menu/MenuHelper;
-Lcom/android/internal/view/menu/MenuHelper;->dismiss()V
-Lcom/android/internal/view/menu/MenuHelper;->setPresenterCallback(Lcom/android/internal/view/menu/MenuPresenter$Callback;)V
-Lcom/android/internal/view/menu/MenuItemImpl;
-Lcom/android/internal/view/menu/MenuItemImpl;-><init>(Lcom/android/internal/view/menu/MenuBuilder;IIIILjava/lang/CharSequence;I)V
-Lcom/android/internal/view/menu/MenuItemImpl;->actionFormatChanged()V
-Lcom/android/internal/view/menu/MenuItemImpl;->appendModifier(Ljava/lang/StringBuilder;IILjava/lang/String;)V
-Lcom/android/internal/view/menu/MenuItemImpl;->applyIconTintIfNecessary(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;
-Lcom/android/internal/view/menu/MenuItemImpl;->CHECKABLE:I
-Lcom/android/internal/view/menu/MenuItemImpl;->CHECKED:I
-Lcom/android/internal/view/menu/MenuItemImpl;->ENABLED:I
-Lcom/android/internal/view/menu/MenuItemImpl;->EXCLUSIVE:I
-Lcom/android/internal/view/menu/MenuItemImpl;->getCallback()Ljava/lang/Runnable;
-Lcom/android/internal/view/menu/MenuItemImpl;->getOrdering()I
-Lcom/android/internal/view/menu/MenuItemImpl;->getShortcut()C
-Lcom/android/internal/view/menu/MenuItemImpl;->getShortcutLabel()Ljava/lang/String;
-Lcom/android/internal/view/menu/MenuItemImpl;->getTitleForItemView(Lcom/android/internal/view/menu/MenuView$ItemView;)Ljava/lang/CharSequence;
-Lcom/android/internal/view/menu/MenuItemImpl;->hasCollapsibleActionView()Z
-Lcom/android/internal/view/menu/MenuItemImpl;->HIDDEN:I
-Lcom/android/internal/view/menu/MenuItemImpl;->isExclusiveCheckable()Z
-Lcom/android/internal/view/menu/MenuItemImpl;->IS_ACTION:I
-Lcom/android/internal/view/menu/MenuItemImpl;->mActionProvider:Landroid/view/ActionProvider;
-Lcom/android/internal/view/menu/MenuItemImpl;->mActionView:Landroid/view/View;
-Lcom/android/internal/view/menu/MenuItemImpl;->mCategoryOrder:I
-Lcom/android/internal/view/menu/MenuItemImpl;->mClickListener:Landroid/view/MenuItem$OnMenuItemClickListener;
-Lcom/android/internal/view/menu/MenuItemImpl;->mContentDescription:Ljava/lang/CharSequence;
-Lcom/android/internal/view/menu/MenuItemImpl;->mFlags:I
-Lcom/android/internal/view/menu/MenuItemImpl;->mGroup:I
-Lcom/android/internal/view/menu/MenuItemImpl;->mHasIconTint:Z
-Lcom/android/internal/view/menu/MenuItemImpl;->mHasIconTintMode:Z
-Lcom/android/internal/view/menu/MenuItemImpl;->mIconDrawable:Landroid/graphics/drawable/Drawable;
-Lcom/android/internal/view/menu/MenuItemImpl;->mIconTintList:Landroid/content/res/ColorStateList;
-Lcom/android/internal/view/menu/MenuItemImpl;->mIconTintMode:Landroid/graphics/PorterDuff$Mode;
-Lcom/android/internal/view/menu/MenuItemImpl;->mId:I
-Lcom/android/internal/view/menu/MenuItemImpl;->mIntent:Landroid/content/Intent;
-Lcom/android/internal/view/menu/MenuItemImpl;->mIsActionViewExpanded:Z
-Lcom/android/internal/view/menu/MenuItemImpl;->mItemCallback:Ljava/lang/Runnable;
-Lcom/android/internal/view/menu/MenuItemImpl;->mMenu:Lcom/android/internal/view/menu/MenuBuilder;
-Lcom/android/internal/view/menu/MenuItemImpl;->mMenuInfo:Landroid/view/ContextMenu$ContextMenuInfo;
-Lcom/android/internal/view/menu/MenuItemImpl;->mNeedToApplyIconTint:Z
-Lcom/android/internal/view/menu/MenuItemImpl;->mOnActionExpandListener:Landroid/view/MenuItem$OnActionExpandListener;
-Lcom/android/internal/view/menu/MenuItemImpl;->mOrdering:I
-Lcom/android/internal/view/menu/MenuItemImpl;->mShortcutAlphabeticChar:C
-Lcom/android/internal/view/menu/MenuItemImpl;->mShortcutAlphabeticModifiers:I
-Lcom/android/internal/view/menu/MenuItemImpl;->mShortcutNumericChar:C
-Lcom/android/internal/view/menu/MenuItemImpl;->mShortcutNumericModifiers:I
-Lcom/android/internal/view/menu/MenuItemImpl;->mShowAsAction:I
-Lcom/android/internal/view/menu/MenuItemImpl;->mSubMenu:Lcom/android/internal/view/menu/SubMenuBuilder;
-Lcom/android/internal/view/menu/MenuItemImpl;->mTitle:Ljava/lang/CharSequence;
-Lcom/android/internal/view/menu/MenuItemImpl;->mTitleCondensed:Ljava/lang/CharSequence;
-Lcom/android/internal/view/menu/MenuItemImpl;->mTooltipText:Ljava/lang/CharSequence;
-Lcom/android/internal/view/menu/MenuItemImpl;->NO_ICON:I
-Lcom/android/internal/view/menu/MenuItemImpl;->requiresOverflow()Z
-Lcom/android/internal/view/menu/MenuItemImpl;->setCallback(Ljava/lang/Runnable;)Landroid/view/MenuItem;
-Lcom/android/internal/view/menu/MenuItemImpl;->setCheckedInt(Z)V
-Lcom/android/internal/view/menu/MenuItemImpl;->setIsActionButton(Z)V
-Lcom/android/internal/view/menu/MenuItemImpl;->setSubMenu(Lcom/android/internal/view/menu/SubMenuBuilder;)V
-Lcom/android/internal/view/menu/MenuItemImpl;->setVisibleInt(Z)Z
-Lcom/android/internal/view/menu/MenuItemImpl;->shouldShowIcon()Z
-Lcom/android/internal/view/menu/MenuItemImpl;->shouldShowShortcut()Z
-Lcom/android/internal/view/menu/MenuItemImpl;->showsTextAsAction()Z
-Lcom/android/internal/view/menu/MenuItemImpl;->SHOW_AS_ACTION_MASK:I
-Lcom/android/internal/view/menu/MenuItemImpl;->TAG:Ljava/lang/String;
-Lcom/android/internal/view/menu/MenuPopup;
-Lcom/android/internal/view/menu/MenuPopup;-><init>()V
-Lcom/android/internal/view/menu/MenuPopup;->addMenu(Lcom/android/internal/view/menu/MenuBuilder;)V
-Lcom/android/internal/view/menu/MenuPopup;->collapseItemActionView(Lcom/android/internal/view/menu/MenuBuilder;Lcom/android/internal/view/menu/MenuItemImpl;)Z
-Lcom/android/internal/view/menu/MenuPopup;->expandItemActionView(Lcom/android/internal/view/menu/MenuBuilder;Lcom/android/internal/view/menu/MenuItemImpl;)Z
-Lcom/android/internal/view/menu/MenuPopup;->getEpicenterBounds()Landroid/graphics/Rect;
-Lcom/android/internal/view/menu/MenuPopup;->getId()I
-Lcom/android/internal/view/menu/MenuPopup;->getMenuView(Landroid/view/ViewGroup;)Lcom/android/internal/view/menu/MenuView;
-Lcom/android/internal/view/menu/MenuPopup;->initForMenu(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;)V
-Lcom/android/internal/view/menu/MenuPopup;->measureIndividualMenuWidth(Landroid/widget/ListAdapter;Landroid/view/ViewGroup;Landroid/content/Context;I)I
-Lcom/android/internal/view/menu/MenuPopup;->mEpicenterBounds:Landroid/graphics/Rect;
-Lcom/android/internal/view/menu/MenuPopup;->setAnchorView(Landroid/view/View;)V
-Lcom/android/internal/view/menu/MenuPopup;->setEpicenterBounds(Landroid/graphics/Rect;)V
-Lcom/android/internal/view/menu/MenuPopup;->setForceShowIcon(Z)V
-Lcom/android/internal/view/menu/MenuPopup;->setGravity(I)V
-Lcom/android/internal/view/menu/MenuPopup;->setHorizontalOffset(I)V
-Lcom/android/internal/view/menu/MenuPopup;->setOnDismissListener(Landroid/widget/PopupWindow$OnDismissListener;)V
-Lcom/android/internal/view/menu/MenuPopup;->setShowTitle(Z)V
-Lcom/android/internal/view/menu/MenuPopup;->setVerticalOffset(I)V
-Lcom/android/internal/view/menu/MenuPopup;->shouldPreserveIconSpacing(Lcom/android/internal/view/menu/MenuBuilder;)Z
-Lcom/android/internal/view/menu/MenuPopup;->toMenuAdapter(Landroid/widget/ListAdapter;)Lcom/android/internal/view/menu/MenuAdapter;
-Lcom/android/internal/view/menu/MenuPopupHelper;
-Lcom/android/internal/view/menu/MenuPopupHelper;-><init>(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/View;ZI)V
-Lcom/android/internal/view/menu/MenuPopupHelper;-><init>(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/View;ZII)V
-Lcom/android/internal/view/menu/MenuPopupHelper;->createPopup()Lcom/android/internal/view/menu/MenuPopup;
-Lcom/android/internal/view/menu/MenuPopupHelper;->getGravity()I
-Lcom/android/internal/view/menu/MenuPopupHelper;->isShowing()Z
-Lcom/android/internal/view/menu/MenuPopupHelper;->mAnchorView:Landroid/view/View;
-Lcom/android/internal/view/menu/MenuPopupHelper;->mContext:Landroid/content/Context;
-Lcom/android/internal/view/menu/MenuPopupHelper;->mDropDownGravity:I
-Lcom/android/internal/view/menu/MenuPopupHelper;->mInternalOnDismissListener:Landroid/widget/PopupWindow$OnDismissListener;
-Lcom/android/internal/view/menu/MenuPopupHelper;->mMenu:Lcom/android/internal/view/menu/MenuBuilder;
-Lcom/android/internal/view/menu/MenuPopupHelper;->mOnDismissListener:Landroid/widget/PopupWindow$OnDismissListener;
-Lcom/android/internal/view/menu/MenuPopupHelper;->mOverflowOnly:Z
-Lcom/android/internal/view/menu/MenuPopupHelper;->mPopup:Lcom/android/internal/view/menu/MenuPopup;
-Lcom/android/internal/view/menu/MenuPopupHelper;->mPopupStyleAttr:I
-Lcom/android/internal/view/menu/MenuPopupHelper;->mPopupStyleRes:I
-Lcom/android/internal/view/menu/MenuPopupHelper;->mPresenterCallback:Lcom/android/internal/view/menu/MenuPresenter$Callback;
-Lcom/android/internal/view/menu/MenuPopupHelper;->onDismiss()V
-Lcom/android/internal/view/menu/MenuPopupHelper;->setOnDismissListener(Landroid/widget/PopupWindow$OnDismissListener;)V
-Lcom/android/internal/view/menu/MenuPopupHelper;->setPresenterCallback(Lcom/android/internal/view/menu/MenuPresenter$Callback;)V
-Lcom/android/internal/view/menu/MenuPopupHelper;->show(II)V
-Lcom/android/internal/view/menu/MenuPopupHelper;->showPopup(IIZZ)V
-Lcom/android/internal/view/menu/MenuPopupHelper;->TOUCH_EPICENTER_SIZE_DP:I
-Lcom/android/internal/view/menu/MenuPopupHelper;->tryShow(II)Z
-Lcom/android/internal/view/menu/MenuPresenter$Callback;
-Lcom/android/internal/view/menu/MenuPresenter$Callback;->onCloseMenu(Lcom/android/internal/view/menu/MenuBuilder;Z)V
-Lcom/android/internal/view/menu/MenuPresenter;
-Lcom/android/internal/view/menu/MenuPresenter;->collapseItemActionView(Lcom/android/internal/view/menu/MenuBuilder;Lcom/android/internal/view/menu/MenuItemImpl;)Z
-Lcom/android/internal/view/menu/MenuPresenter;->expandItemActionView(Lcom/android/internal/view/menu/MenuBuilder;Lcom/android/internal/view/menu/MenuItemImpl;)Z
-Lcom/android/internal/view/menu/MenuPresenter;->flagActionItems()Z
-Lcom/android/internal/view/menu/MenuPresenter;->getId()I
-Lcom/android/internal/view/menu/MenuPresenter;->getMenuView(Landroid/view/ViewGroup;)Lcom/android/internal/view/menu/MenuView;
-Lcom/android/internal/view/menu/MenuPresenter;->initForMenu(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;)V
-Lcom/android/internal/view/menu/MenuPresenter;->onCloseMenu(Lcom/android/internal/view/menu/MenuBuilder;Z)V
-Lcom/android/internal/view/menu/MenuPresenter;->onRestoreInstanceState(Landroid/os/Parcelable;)V
-Lcom/android/internal/view/menu/MenuPresenter;->onSaveInstanceState()Landroid/os/Parcelable;
-Lcom/android/internal/view/menu/MenuPresenter;->onSubMenuSelected(Lcom/android/internal/view/menu/SubMenuBuilder;)Z
-Lcom/android/internal/view/menu/MenuPresenter;->setCallback(Lcom/android/internal/view/menu/MenuPresenter$Callback;)V
-Lcom/android/internal/view/menu/MenuPresenter;->updateMenuView(Z)V
-Lcom/android/internal/view/menu/MenuView$ItemView;
-Lcom/android/internal/view/menu/MenuView$ItemView;->initialize(Lcom/android/internal/view/menu/MenuItemImpl;I)V
-Lcom/android/internal/view/menu/MenuView$ItemView;->prefersCondensedTitle()Z
-Lcom/android/internal/view/menu/MenuView$ItemView;->setCheckable(Z)V
-Lcom/android/internal/view/menu/MenuView$ItemView;->setChecked(Z)V
-Lcom/android/internal/view/menu/MenuView$ItemView;->setEnabled(Z)V
-Lcom/android/internal/view/menu/MenuView$ItemView;->setIcon(Landroid/graphics/drawable/Drawable;)V
-Lcom/android/internal/view/menu/MenuView$ItemView;->setShortcut(ZC)V
-Lcom/android/internal/view/menu/MenuView$ItemView;->setTitle(Ljava/lang/CharSequence;)V
-Lcom/android/internal/view/menu/MenuView$ItemView;->showsIcon()Z
-Lcom/android/internal/view/menu/MenuView;
-Lcom/android/internal/view/menu/MenuView;->initialize(Lcom/android/internal/view/menu/MenuBuilder;)V
-Lcom/android/internal/view/menu/ShowableListMenu;
-Lcom/android/internal/view/menu/ShowableListMenu;->dismiss()V
-Lcom/android/internal/view/menu/ShowableListMenu;->getListView()Landroid/widget/ListView;
-Lcom/android/internal/view/menu/ShowableListMenu;->isShowing()Z
-Lcom/android/internal/view/menu/ShowableListMenu;->show()V
-Lcom/android/internal/view/menu/SubMenuBuilder;
-Lcom/android/internal/view/menu/SubMenuBuilder;-><init>(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;Lcom/android/internal/view/menu/MenuItemImpl;)V
-Lcom/android/internal/view/menu/SubMenuBuilder;->collapseItemActionView(Lcom/android/internal/view/menu/MenuItemImpl;)Z
-Lcom/android/internal/view/menu/SubMenuBuilder;->dispatchMenuItemSelected(Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/MenuItem;)Z
-Lcom/android/internal/view/menu/SubMenuBuilder;->expandItemActionView(Lcom/android/internal/view/menu/MenuItemImpl;)Z
-Lcom/android/internal/view/menu/SubMenuBuilder;->getActionViewStatesKey()Ljava/lang/String;
-Lcom/android/internal/view/menu/SubMenuBuilder;->getParentMenu()Landroid/view/Menu;
-Lcom/android/internal/view/menu/SubMenuBuilder;->isGroupDividerEnabled()Z
-Lcom/android/internal/view/menu/SubMenuBuilder;->isQwertyMode()Z
-Lcom/android/internal/view/menu/SubMenuBuilder;->isShortcutsVisible()Z
-Lcom/android/internal/view/menu/SubMenuBuilder;->mItem:Lcom/android/internal/view/menu/MenuItemImpl;
-Lcom/android/internal/view/menu/SubMenuBuilder;->mParentMenu:Lcom/android/internal/view/menu/MenuBuilder;
-Lcom/android/internal/view/menu/SubMenuBuilder;->setShortcutsVisible(Z)V
-Lcom/android/internal/view/OneShotPreDrawListener;
-Lcom/android/internal/view/OneShotPreDrawListener;-><init>(Landroid/view/View;ZLjava/lang/Runnable;)V
-Lcom/android/internal/view/OneShotPreDrawListener;->add(Landroid/view/View;Ljava/lang/Runnable;)Lcom/android/internal/view/OneShotPreDrawListener;
-Lcom/android/internal/view/OneShotPreDrawListener;->add(Landroid/view/View;ZLjava/lang/Runnable;)Lcom/android/internal/view/OneShotPreDrawListener;
-Lcom/android/internal/view/OneShotPreDrawListener;->mReturnValue:Z
-Lcom/android/internal/view/OneShotPreDrawListener;->mRunnable:Ljava/lang/Runnable;
-Lcom/android/internal/view/OneShotPreDrawListener;->mView:Landroid/view/View;
-Lcom/android/internal/view/OneShotPreDrawListener;->mViewTreeObserver:Landroid/view/ViewTreeObserver;
-Lcom/android/internal/view/OneShotPreDrawListener;->removeListener()V
-Lcom/android/internal/view/TooltipPopup;
-Lcom/android/internal/view/TooltipPopup;-><init>(Landroid/content/Context;)V
-Lcom/android/internal/view/TooltipPopup;->computePosition(Landroid/view/View;IIZLandroid/view/WindowManager$LayoutParams;)V
-Lcom/android/internal/view/TooltipPopup;->getContentView()Landroid/view/View;
-Lcom/android/internal/view/TooltipPopup;->hide()V
-Lcom/android/internal/view/TooltipPopup;->isShowing()Z
-Lcom/android/internal/view/TooltipPopup;->mContentView:Landroid/view/View;
-Lcom/android/internal/view/TooltipPopup;->mContext:Landroid/content/Context;
-Lcom/android/internal/view/TooltipPopup;->mLayoutParams:Landroid/view/WindowManager$LayoutParams;
-Lcom/android/internal/view/TooltipPopup;->mMessageView:Landroid/widget/TextView;
-Lcom/android/internal/view/TooltipPopup;->mTmpAnchorPos:[I
-Lcom/android/internal/view/TooltipPopup;->mTmpAppPos:[I
-Lcom/android/internal/view/TooltipPopup;->mTmpDisplayFrame:Landroid/graphics/Rect;
-Lcom/android/internal/view/TooltipPopup;->show(Landroid/view/View;IIZLjava/lang/CharSequence;)V
-Lcom/android/internal/view/TooltipPopup;->TAG:Ljava/lang/String;
-Lcom/android/internal/widget/AutoScrollHelper$AbsListViewAutoScroller;
-Lcom/android/internal/widget/AutoScrollHelper$AbsListViewAutoScroller;-><init>(Landroid/widget/AbsListView;)V
-Lcom/android/internal/widget/AutoScrollHelper$AbsListViewAutoScroller;->canTargetScrollHorizontally(I)Z
-Lcom/android/internal/widget/AutoScrollHelper$AbsListViewAutoScroller;->canTargetScrollVertically(I)Z
-Lcom/android/internal/widget/AutoScrollHelper$AbsListViewAutoScroller;->mTarget:Landroid/widget/AbsListView;
-Lcom/android/internal/widget/AutoScrollHelper$AbsListViewAutoScroller;->scrollTargetBy(II)V
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;-><init>()V
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->computeScrollDelta()V
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->getDeltaX()I
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->getDeltaY()I
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->getHorizontalDirection()I
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->getValueAt(J)F
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->getVerticalDirection()I
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->interpolateValue(F)F
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->isFinished()Z
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->mDeltaTime:J
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->mDeltaX:I
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->mDeltaY:I
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->mEffectiveRampDown:I
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->mRampDownDuration:I
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->mRampUpDuration:I
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->mStartTime:J
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->mStopTime:J
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->mStopValue:F
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->mTargetVelocityX:F
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->mTargetVelocityY:F
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->requestStop()V
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->setRampDownDuration(I)V
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->setRampUpDuration(I)V
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->setTargetVelocity(FF)V
-Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;->start()V
-Lcom/android/internal/widget/AutoScrollHelper$ScrollAnimationRunnable;
-Lcom/android/internal/widget/AutoScrollHelper$ScrollAnimationRunnable;-><init>()V
-Lcom/android/internal/widget/AutoScrollHelper;
-Lcom/android/internal/widget/AutoScrollHelper;-><init>(Landroid/view/View;)V
-Lcom/android/internal/widget/AutoScrollHelper;->cancelTargetTouch()V
-Lcom/android/internal/widget/AutoScrollHelper;->canTargetScrollHorizontally(I)Z
-Lcom/android/internal/widget/AutoScrollHelper;->canTargetScrollVertically(I)Z
-Lcom/android/internal/widget/AutoScrollHelper;->computeTargetVelocity(IFFF)F
-Lcom/android/internal/widget/AutoScrollHelper;->constrain(FFF)F
-Lcom/android/internal/widget/AutoScrollHelper;->constrain(III)I
-Lcom/android/internal/widget/AutoScrollHelper;->constrainEdgeValue(FF)F
-Lcom/android/internal/widget/AutoScrollHelper;->DEFAULT_ACTIVATION_DELAY:I
-Lcom/android/internal/widget/AutoScrollHelper;->DEFAULT_EDGE_TYPE:I
-Lcom/android/internal/widget/AutoScrollHelper;->DEFAULT_MAXIMUM_EDGE:F
-Lcom/android/internal/widget/AutoScrollHelper;->DEFAULT_MAXIMUM_VELOCITY_DIPS:I
-Lcom/android/internal/widget/AutoScrollHelper;->DEFAULT_MINIMUM_VELOCITY_DIPS:I
-Lcom/android/internal/widget/AutoScrollHelper;->DEFAULT_RAMP_DOWN_DURATION:I
-Lcom/android/internal/widget/AutoScrollHelper;->DEFAULT_RAMP_UP_DURATION:I
-Lcom/android/internal/widget/AutoScrollHelper;->DEFAULT_RELATIVE_EDGE:F
-Lcom/android/internal/widget/AutoScrollHelper;->DEFAULT_RELATIVE_VELOCITY:F
-Lcom/android/internal/widget/AutoScrollHelper;->EDGE_TYPE_INSIDE:I
-Lcom/android/internal/widget/AutoScrollHelper;->EDGE_TYPE_INSIDE_EXTEND:I
-Lcom/android/internal/widget/AutoScrollHelper;->EDGE_TYPE_OUTSIDE:I
-Lcom/android/internal/widget/AutoScrollHelper;->getEdgeValue(FFFF)F
-Lcom/android/internal/widget/AutoScrollHelper;->HORIZONTAL:I
-Lcom/android/internal/widget/AutoScrollHelper;->isEnabled()Z
-Lcom/android/internal/widget/AutoScrollHelper;->isExclusive()Z
-Lcom/android/internal/widget/AutoScrollHelper;->mActivationDelay:I
-Lcom/android/internal/widget/AutoScrollHelper;->mAlreadyDelayed:Z
-Lcom/android/internal/widget/AutoScrollHelper;->mAnimating:Z
-Lcom/android/internal/widget/AutoScrollHelper;->mEdgeInterpolator:Landroid/view/animation/Interpolator;
-Lcom/android/internal/widget/AutoScrollHelper;->mEdgeType:I
-Lcom/android/internal/widget/AutoScrollHelper;->mEnabled:Z
-Lcom/android/internal/widget/AutoScrollHelper;->mExclusive:Z
-Lcom/android/internal/widget/AutoScrollHelper;->mMaximumEdges:[F
-Lcom/android/internal/widget/AutoScrollHelper;->mMaximumVelocity:[F
-Lcom/android/internal/widget/AutoScrollHelper;->mMinimumVelocity:[F
-Lcom/android/internal/widget/AutoScrollHelper;->mNeedsCancel:Z
-Lcom/android/internal/widget/AutoScrollHelper;->mNeedsReset:Z
-Lcom/android/internal/widget/AutoScrollHelper;->mRelativeEdges:[F
-Lcom/android/internal/widget/AutoScrollHelper;->mRelativeVelocity:[F
-Lcom/android/internal/widget/AutoScrollHelper;->mRunnable:Ljava/lang/Runnable;
-Lcom/android/internal/widget/AutoScrollHelper;->mScroller:Lcom/android/internal/widget/AutoScrollHelper$ClampedScroller;
-Lcom/android/internal/widget/AutoScrollHelper;->mTarget:Landroid/view/View;
-Lcom/android/internal/widget/AutoScrollHelper;->NO_MAX:F
-Lcom/android/internal/widget/AutoScrollHelper;->NO_MIN:F
-Lcom/android/internal/widget/AutoScrollHelper;->RELATIVE_UNSPECIFIED:F
-Lcom/android/internal/widget/AutoScrollHelper;->requestStop()V
-Lcom/android/internal/widget/AutoScrollHelper;->scrollTargetBy(II)V
-Lcom/android/internal/widget/AutoScrollHelper;->setActivationDelay(I)Lcom/android/internal/widget/AutoScrollHelper;
-Lcom/android/internal/widget/AutoScrollHelper;->setEdgeType(I)Lcom/android/internal/widget/AutoScrollHelper;
-Lcom/android/internal/widget/AutoScrollHelper;->setEnabled(Z)Lcom/android/internal/widget/AutoScrollHelper;
-Lcom/android/internal/widget/AutoScrollHelper;->setExclusive(Z)Lcom/android/internal/widget/AutoScrollHelper;
-Lcom/android/internal/widget/AutoScrollHelper;->setMaximumEdges(FF)Lcom/android/internal/widget/AutoScrollHelper;
-Lcom/android/internal/widget/AutoScrollHelper;->setMaximumVelocity(FF)Lcom/android/internal/widget/AutoScrollHelper;
-Lcom/android/internal/widget/AutoScrollHelper;->setMinimumVelocity(FF)Lcom/android/internal/widget/AutoScrollHelper;
-Lcom/android/internal/widget/AutoScrollHelper;->setRampDownDuration(I)Lcom/android/internal/widget/AutoScrollHelper;
-Lcom/android/internal/widget/AutoScrollHelper;->setRampUpDuration(I)Lcom/android/internal/widget/AutoScrollHelper;
-Lcom/android/internal/widget/AutoScrollHelper;->setRelativeEdges(FF)Lcom/android/internal/widget/AutoScrollHelper;
-Lcom/android/internal/widget/AutoScrollHelper;->setRelativeVelocity(FF)Lcom/android/internal/widget/AutoScrollHelper;
-Lcom/android/internal/widget/AutoScrollHelper;->shouldAnimate()Z
-Lcom/android/internal/widget/AutoScrollHelper;->startAnimating()V
-Lcom/android/internal/widget/AutoScrollHelper;->VERTICAL:I
-Lcom/android/internal/widget/CachingIconView;
-Lcom/android/internal/widget/CachingIconView;->mDesiredVisibility:I
-Lcom/android/internal/widget/CachingIconView;->mForceHidden:Z
-Lcom/android/internal/widget/CachingIconView;->mInternalSetDrawable:Z
-Lcom/android/internal/widget/CachingIconView;->mLastPackage:Ljava/lang/String;
-Lcom/android/internal/widget/CachingIconView;->mLastResId:I
-Lcom/android/internal/widget/CachingIconView;->normalizeIconPackage(Landroid/graphics/drawable/Icon;)Ljava/lang/String;
-Lcom/android/internal/widget/CachingIconView;->resetCache()V
-Lcom/android/internal/widget/CachingIconView;->setForceHidden(Z)V
-Lcom/android/internal/widget/CachingIconView;->setImageIconAsync(Landroid/graphics/drawable/Icon;)Ljava/lang/Runnable;
-Lcom/android/internal/widget/CachingIconView;->setImageResourceAsync(I)Ljava/lang/Runnable;
-Lcom/android/internal/widget/CachingIconView;->setImageURIAsync(Landroid/net/Uri;)Ljava/lang/Runnable;
-Lcom/android/internal/widget/CachingIconView;->testAndSetCache(I)Z
-Lcom/android/internal/widget/CachingIconView;->testAndSetCache(Landroid/graphics/drawable/Icon;)Z
-Lcom/android/internal/widget/CachingIconView;->updateVisibility()V
-Lcom/android/internal/widget/DecorToolbar;
-Lcom/android/internal/widget/DecorToolbar;->animateToVisibility(I)V
-Lcom/android/internal/widget/DecorToolbar;->canShowOverflowMenu()Z
-Lcom/android/internal/widget/DecorToolbar;->canSplit()Z
-Lcom/android/internal/widget/DecorToolbar;->collapseActionView()V
-Lcom/android/internal/widget/DecorToolbar;->dismissPopupMenus()V
-Lcom/android/internal/widget/DecorToolbar;->getContext()Landroid/content/Context;
-Lcom/android/internal/widget/DecorToolbar;->getCustomView()Landroid/view/View;
-Lcom/android/internal/widget/DecorToolbar;->getDisplayOptions()I
-Lcom/android/internal/widget/DecorToolbar;->getDropdownItemCount()I
-Lcom/android/internal/widget/DecorToolbar;->getDropdownSelectedPosition()I
-Lcom/android/internal/widget/DecorToolbar;->getHeight()I
-Lcom/android/internal/widget/DecorToolbar;->getMenu()Landroid/view/Menu;
-Lcom/android/internal/widget/DecorToolbar;->getNavigationMode()I
-Lcom/android/internal/widget/DecorToolbar;->getSubtitle()Ljava/lang/CharSequence;
-Lcom/android/internal/widget/DecorToolbar;->getTitle()Ljava/lang/CharSequence;
-Lcom/android/internal/widget/DecorToolbar;->getViewGroup()Landroid/view/ViewGroup;
-Lcom/android/internal/widget/DecorToolbar;->getVisibility()I
-Lcom/android/internal/widget/DecorToolbar;->hasEmbeddedTabs()Z
-Lcom/android/internal/widget/DecorToolbar;->hasExpandedActionView()Z
-Lcom/android/internal/widget/DecorToolbar;->hasIcon()Z
-Lcom/android/internal/widget/DecorToolbar;->hasLogo()Z
-Lcom/android/internal/widget/DecorToolbar;->hideOverflowMenu()Z
-Lcom/android/internal/widget/DecorToolbar;->initIndeterminateProgress()V
-Lcom/android/internal/widget/DecorToolbar;->initProgress()V
-Lcom/android/internal/widget/DecorToolbar;->isOverflowMenuShowing()Z
-Lcom/android/internal/widget/DecorToolbar;->isOverflowMenuShowPending()Z
-Lcom/android/internal/widget/DecorToolbar;->isSplit()Z
-Lcom/android/internal/widget/DecorToolbar;->isTitleTruncated()Z
-Lcom/android/internal/widget/DecorToolbar;->restoreHierarchyState(Landroid/util/SparseArray;)V
-Lcom/android/internal/widget/DecorToolbar;->saveHierarchyState(Landroid/util/SparseArray;)V
-Lcom/android/internal/widget/DecorToolbar;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
-Lcom/android/internal/widget/DecorToolbar;->setCollapsible(Z)V
-Lcom/android/internal/widget/DecorToolbar;->setCustomView(Landroid/view/View;)V
-Lcom/android/internal/widget/DecorToolbar;->setDefaultNavigationContentDescription(I)V
-Lcom/android/internal/widget/DecorToolbar;->setDefaultNavigationIcon(Landroid/graphics/drawable/Drawable;)V
-Lcom/android/internal/widget/DecorToolbar;->setDisplayOptions(I)V
-Lcom/android/internal/widget/DecorToolbar;->setDropdownParams(Landroid/widget/SpinnerAdapter;Landroid/widget/AdapterView$OnItemSelectedListener;)V
-Lcom/android/internal/widget/DecorToolbar;->setDropdownSelectedPosition(I)V
-Lcom/android/internal/widget/DecorToolbar;->setEmbeddedTabView(Lcom/android/internal/widget/ScrollingTabContainerView;)V
-Lcom/android/internal/widget/DecorToolbar;->setHomeButtonEnabled(Z)V
-Lcom/android/internal/widget/DecorToolbar;->setIcon(I)V
-Lcom/android/internal/widget/DecorToolbar;->setIcon(Landroid/graphics/drawable/Drawable;)V
-Lcom/android/internal/widget/DecorToolbar;->setLogo(I)V
-Lcom/android/internal/widget/DecorToolbar;->setLogo(Landroid/graphics/drawable/Drawable;)V
-Lcom/android/internal/widget/DecorToolbar;->setMenu(Landroid/view/Menu;Lcom/android/internal/view/menu/MenuPresenter$Callback;)V
-Lcom/android/internal/widget/DecorToolbar;->setMenuCallbacks(Lcom/android/internal/view/menu/MenuPresenter$Callback;Lcom/android/internal/view/menu/MenuBuilder$Callback;)V
-Lcom/android/internal/widget/DecorToolbar;->setMenuPrepared()V
-Lcom/android/internal/widget/DecorToolbar;->setNavigationContentDescription(I)V
-Lcom/android/internal/widget/DecorToolbar;->setNavigationContentDescription(Ljava/lang/CharSequence;)V
-Lcom/android/internal/widget/DecorToolbar;->setNavigationIcon(I)V
-Lcom/android/internal/widget/DecorToolbar;->setNavigationIcon(Landroid/graphics/drawable/Drawable;)V
-Lcom/android/internal/widget/DecorToolbar;->setNavigationMode(I)V
-Lcom/android/internal/widget/DecorToolbar;->setSplitToolbar(Z)V
-Lcom/android/internal/widget/DecorToolbar;->setSplitView(Landroid/view/ViewGroup;)V
-Lcom/android/internal/widget/DecorToolbar;->setSplitWhenNarrow(Z)V
-Lcom/android/internal/widget/DecorToolbar;->setSubtitle(Ljava/lang/CharSequence;)V
-Lcom/android/internal/widget/DecorToolbar;->setTitle(Ljava/lang/CharSequence;)V
-Lcom/android/internal/widget/DecorToolbar;->setupAnimatorToVisibility(IJ)Landroid/animation/Animator;
-Lcom/android/internal/widget/DecorToolbar;->setVisibility(I)V
-Lcom/android/internal/widget/DecorToolbar;->setWindowCallback(Landroid/view/Window$Callback;)V
-Lcom/android/internal/widget/DecorToolbar;->setWindowTitle(Ljava/lang/CharSequence;)V
-Lcom/android/internal/widget/DecorToolbar;->showOverflowMenu()Z
-Lcom/android/internal/widget/ExploreByTouchHelper$ExploreByTouchNodeProvider;
-Lcom/android/internal/widget/ExploreByTouchHelper$ExploreByTouchNodeProvider;-><init>()V
-Lcom/android/internal/widget/ExploreByTouchHelper;
-Lcom/android/internal/widget/ExploreByTouchHelper;-><init>(Landroid/view/View;)V
-Lcom/android/internal/widget/ExploreByTouchHelper;->clearAccessibilityFocus(I)Z
-Lcom/android/internal/widget/ExploreByTouchHelper;->createEvent(II)Landroid/view/accessibility/AccessibilityEvent;
-Lcom/android/internal/widget/ExploreByTouchHelper;->createEventForChild(II)Landroid/view/accessibility/AccessibilityEvent;
-Lcom/android/internal/widget/ExploreByTouchHelper;->createEventForHost(I)Landroid/view/accessibility/AccessibilityEvent;
-Lcom/android/internal/widget/ExploreByTouchHelper;->createNode(I)Landroid/view/accessibility/AccessibilityNodeInfo;
-Lcom/android/internal/widget/ExploreByTouchHelper;->createNodeForChild(I)Landroid/view/accessibility/AccessibilityNodeInfo;
-Lcom/android/internal/widget/ExploreByTouchHelper;->createNodeForHost()Landroid/view/accessibility/AccessibilityNodeInfo;
-Lcom/android/internal/widget/ExploreByTouchHelper;->DEFAULT_CLASS_NAME:Ljava/lang/String;
-Lcom/android/internal/widget/ExploreByTouchHelper;->dispatchHoverEvent(Landroid/view/MotionEvent;)Z
-Lcom/android/internal/widget/ExploreByTouchHelper;->ensureTempRects()V
-Lcom/android/internal/widget/ExploreByTouchHelper;->getFocusedVirtualView()I
-Lcom/android/internal/widget/ExploreByTouchHelper;->getVirtualViewAt(FF)I
-Lcom/android/internal/widget/ExploreByTouchHelper;->getVisibleVirtualViews(Landroid/util/IntArray;)V
-Lcom/android/internal/widget/ExploreByTouchHelper;->HOST_ID:I
-Lcom/android/internal/widget/ExploreByTouchHelper;->intersectVisibleToUser(Landroid/graphics/Rect;)Z
-Lcom/android/internal/widget/ExploreByTouchHelper;->invalidateRoot()V
-Lcom/android/internal/widget/ExploreByTouchHelper;->invalidateVirtualView(I)V
-Lcom/android/internal/widget/ExploreByTouchHelper;->invalidateVirtualView(II)V
-Lcom/android/internal/widget/ExploreByTouchHelper;->INVALID_ID:I
-Lcom/android/internal/widget/ExploreByTouchHelper;->INVALID_PARENT_BOUNDS:Landroid/graphics/Rect;
-Lcom/android/internal/widget/ExploreByTouchHelper;->isAccessibilityFocused(I)Z
-Lcom/android/internal/widget/ExploreByTouchHelper;->manageFocusForChild(II)Z
-Lcom/android/internal/widget/ExploreByTouchHelper;->mContext:Landroid/content/Context;
-Lcom/android/internal/widget/ExploreByTouchHelper;->mFocusedVirtualViewId:I
-Lcom/android/internal/widget/ExploreByTouchHelper;->mHoveredVirtualViewId:I
-Lcom/android/internal/widget/ExploreByTouchHelper;->mManager:Landroid/view/accessibility/AccessibilityManager;
-Lcom/android/internal/widget/ExploreByTouchHelper;->mNodeProvider:Lcom/android/internal/widget/ExploreByTouchHelper$ExploreByTouchNodeProvider;
-Lcom/android/internal/widget/ExploreByTouchHelper;->mTempArray:Landroid/util/IntArray;
-Lcom/android/internal/widget/ExploreByTouchHelper;->mTempGlobalRect:[I
-Lcom/android/internal/widget/ExploreByTouchHelper;->mTempParentRect:Landroid/graphics/Rect;
-Lcom/android/internal/widget/ExploreByTouchHelper;->mTempScreenRect:Landroid/graphics/Rect;
-Lcom/android/internal/widget/ExploreByTouchHelper;->mTempVisibleRect:Landroid/graphics/Rect;
-Lcom/android/internal/widget/ExploreByTouchHelper;->mView:Landroid/view/View;
-Lcom/android/internal/widget/ExploreByTouchHelper;->onPerformActionForVirtualView(IILandroid/os/Bundle;)Z
-Lcom/android/internal/widget/ExploreByTouchHelper;->onPopulateEventForHost(Landroid/view/accessibility/AccessibilityEvent;)V
-Lcom/android/internal/widget/ExploreByTouchHelper;->onPopulateEventForVirtualView(ILandroid/view/accessibility/AccessibilityEvent;)V
-Lcom/android/internal/widget/ExploreByTouchHelper;->onPopulateNodeForHost(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Lcom/android/internal/widget/ExploreByTouchHelper;->onPopulateNodeForVirtualView(ILandroid/view/accessibility/AccessibilityNodeInfo;)V
-Lcom/android/internal/widget/ExploreByTouchHelper;->performAction(IILandroid/os/Bundle;)Z
-Lcom/android/internal/widget/ExploreByTouchHelper;->performActionForChild(IILandroid/os/Bundle;)Z
-Lcom/android/internal/widget/ExploreByTouchHelper;->performActionForHost(ILandroid/os/Bundle;)Z
-Lcom/android/internal/widget/ExploreByTouchHelper;->requestAccessibilityFocus(I)Z
-Lcom/android/internal/widget/ExploreByTouchHelper;->sendEventForVirtualView(II)Z
-Lcom/android/internal/widget/ExploreByTouchHelper;->updateHoveredVirtualView(I)V
-Lcom/android/internal/widget/ICheckCredentialProgressCallback$Stub$Proxy;
-Lcom/android/internal/widget/ICheckCredentialProgressCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/widget/ICheckCredentialProgressCallback$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/widget/ICheckCredentialProgressCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/widget/ICheckCredentialProgressCallback$Stub$Proxy;->onCredentialVerified()V
-Lcom/android/internal/widget/ICheckCredentialProgressCallback$Stub;
-Lcom/android/internal/widget/ICheckCredentialProgressCallback$Stub;-><init>()V
-Lcom/android/internal/widget/ICheckCredentialProgressCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/widget/ICheckCredentialProgressCallback;
-Lcom/android/internal/widget/ICheckCredentialProgressCallback$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/widget/ICheckCredentialProgressCallback$Stub;->TRANSACTION_onCredentialVerified:I
-Lcom/android/internal/widget/ICheckCredentialProgressCallback;
-Lcom/android/internal/widget/ICheckCredentialProgressCallback;->onCredentialVerified()V
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->checkCredential(Ljava/lang/String;IILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/internal/widget/VerifyCredentialResponse;
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->checkVoldPassword(I)Z
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->closeSession(Ljava/lang/String;)V
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->generateKey(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->getBoolean(Ljava/lang/String;ZI)Z
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->getHashFactor(Ljava/lang/String;I)[B
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->getKey(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->getKeyChainSnapshot()Landroid/security/keystore/recovery/KeyChainSnapshot;
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->getLong(Ljava/lang/String;JI)J
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->getRecoverySecretTypes()[I
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->getRecoveryStatus()Ljava/util/Map;
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->getSeparateProfileChallengeEnabled(I)Z
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->getStrongAuthForUser(I)I
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->havePassword(I)Z
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->havePattern(I)Z
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->importKey(Ljava/lang/String;[B)Ljava/lang/String;
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->initRecoveryServiceWithSigFile(Ljava/lang/String;[B[B)V
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->recoverKeyChainSnapshot(Ljava/lang/String;[BLjava/util/List;)Ljava/util/Map;
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->registerStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->removeKey(Ljava/lang/String;)V
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->requireStrongAuth(II)V
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->resetKeyStore(I)V
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->setBoolean(Ljava/lang/String;ZI)V
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->setLockCredential(Ljava/lang/String;ILjava/lang/String;II)V
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->setLong(Ljava/lang/String;JI)V
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->setRecoverySecretTypes([I)V
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->setRecoveryStatus(Ljava/lang/String;I)V
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->setSeparateProfileChallengeEnabled(IZLjava/lang/String;)V
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->setServerParams([B)V
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->setSnapshotCreatedPendingIntent(Landroid/app/PendingIntent;)V
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->setString(Ljava/lang/String;Ljava/lang/String;I)V
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->startRecoverySessionWithCertPath(Ljava/lang/String;Ljava/lang/String;Landroid/security/keystore/recovery/RecoveryCertPath;[B[BLjava/util/List;)[B
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->systemReady()V
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->unregisterStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->userPresent(I)V
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->verifyCredential(Ljava/lang/String;IJI)Lcom/android/internal/widget/VerifyCredentialResponse;
-Lcom/android/internal/widget/ILockSettings$Stub$Proxy;->verifyTiedProfileChallenge(Ljava/lang/String;IJI)Lcom/android/internal/widget/VerifyCredentialResponse;
-Lcom/android/internal/widget/ILockSettings$Stub;
-Lcom/android/internal/widget/ILockSettings$Stub;-><init>()V
-Lcom/android/internal/widget/ILockSettings$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_checkCredential:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_checkVoldPassword:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_closeSession:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_generateKey:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_getBoolean:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_getHashFactor:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_getKey:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_getKeyChainSnapshot:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_getLong:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_getRecoverySecretTypes:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_getRecoveryStatus:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_getSeparateProfileChallengeEnabled:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_getString:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_getStrongAuthForUser:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_havePassword:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_havePattern:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_importKey:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_initRecoveryServiceWithSigFile:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_recoverKeyChainSnapshot:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_registerStrongAuthTracker:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_removeKey:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_requireStrongAuth:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_resetKeyStore:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_setBoolean:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_setLockCredential:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_setLong:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_setRecoverySecretTypes:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_setRecoveryStatus:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_setSeparateProfileChallengeEnabled:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_setServerParams:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_setSnapshotCreatedPendingIntent:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_setString:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_startRecoverySessionWithCertPath:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_systemReady:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_unregisterStrongAuthTracker:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_userPresent:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_verifyCredential:I
-Lcom/android/internal/widget/ILockSettings$Stub;->TRANSACTION_verifyTiedProfileChallenge:I
-Lcom/android/internal/widget/ILockSettings;
-Lcom/android/internal/widget/ILockSettings;->checkCredential(Ljava/lang/String;IILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/internal/widget/VerifyCredentialResponse;
-Lcom/android/internal/widget/ILockSettings;->checkVoldPassword(I)Z
-Lcom/android/internal/widget/ILockSettings;->closeSession(Ljava/lang/String;)V
-Lcom/android/internal/widget/ILockSettings;->generateKey(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/widget/ILockSettings;->getHashFactor(Ljava/lang/String;I)[B
-Lcom/android/internal/widget/ILockSettings;->getKey(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/widget/ILockSettings;->getKeyChainSnapshot()Landroid/security/keystore/recovery/KeyChainSnapshot;
-Lcom/android/internal/widget/ILockSettings;->getRecoverySecretTypes()[I
-Lcom/android/internal/widget/ILockSettings;->getRecoveryStatus()Ljava/util/Map;
-Lcom/android/internal/widget/ILockSettings;->getSeparateProfileChallengeEnabled(I)Z
-Lcom/android/internal/widget/ILockSettings;->getStrongAuthForUser(I)I
-Lcom/android/internal/widget/ILockSettings;->importKey(Ljava/lang/String;[B)Ljava/lang/String;
-Lcom/android/internal/widget/ILockSettings;->initRecoveryServiceWithSigFile(Ljava/lang/String;[B[B)V
-Lcom/android/internal/widget/ILockSettings;->recoverKeyChainSnapshot(Ljava/lang/String;[BLjava/util/List;)Ljava/util/Map;
-Lcom/android/internal/widget/ILockSettings;->registerStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
-Lcom/android/internal/widget/ILockSettings;->removeKey(Ljava/lang/String;)V
-Lcom/android/internal/widget/ILockSettings;->requireStrongAuth(II)V
-Lcom/android/internal/widget/ILockSettings;->resetKeyStore(I)V
-Lcom/android/internal/widget/ILockSettings;->setLockCredential(Ljava/lang/String;ILjava/lang/String;II)V
-Lcom/android/internal/widget/ILockSettings;->setRecoverySecretTypes([I)V
-Lcom/android/internal/widget/ILockSettings;->setRecoveryStatus(Ljava/lang/String;I)V
-Lcom/android/internal/widget/ILockSettings;->setSeparateProfileChallengeEnabled(IZLjava/lang/String;)V
-Lcom/android/internal/widget/ILockSettings;->setServerParams([B)V
-Lcom/android/internal/widget/ILockSettings;->setSnapshotCreatedPendingIntent(Landroid/app/PendingIntent;)V
-Lcom/android/internal/widget/ILockSettings;->startRecoverySessionWithCertPath(Ljava/lang/String;Ljava/lang/String;Landroid/security/keystore/recovery/RecoveryCertPath;[B[BLjava/util/List;)[B
-Lcom/android/internal/widget/ILockSettings;->systemReady()V
-Lcom/android/internal/widget/ILockSettings;->unregisterStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
-Lcom/android/internal/widget/ILockSettings;->userPresent(I)V
-Lcom/android/internal/widget/ILockSettings;->verifyCredential(Ljava/lang/String;IJI)Lcom/android/internal/widget/VerifyCredentialResponse;
-Lcom/android/internal/widget/ILockSettings;->verifyTiedProfileChallenge(Ljava/lang/String;IJI)Lcom/android/internal/widget/VerifyCredentialResponse;
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub$Proxy;
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub$Proxy;->getCount()I
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub$Proxy;->getItemId(I)J
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub$Proxy;->getLoadingView()Landroid/widget/RemoteViews;
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub$Proxy;->getViewAt(I)Landroid/widget/RemoteViews;
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub$Proxy;->getViewTypeCount()I
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub$Proxy;->hasStableIds()Z
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub$Proxy;->isCreated()Z
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub$Proxy;->mRemote:Landroid/os/IBinder;
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub$Proxy;->onDataSetChanged()V
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub$Proxy;->onDataSetChangedAsync()V
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub$Proxy;->onDestroy(Landroid/content/Intent;)V
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub;
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub;-><init>()V
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub;->TRANSACTION_getCount:I
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub;->TRANSACTION_getItemId:I
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub;->TRANSACTION_getLoadingView:I
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub;->TRANSACTION_getViewAt:I
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub;->TRANSACTION_getViewTypeCount:I
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub;->TRANSACTION_hasStableIds:I
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub;->TRANSACTION_isCreated:I
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub;->TRANSACTION_onDataSetChanged:I
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub;->TRANSACTION_onDataSetChangedAsync:I
-Lcom/android/internal/widget/IRemoteViewsFactory$Stub;->TRANSACTION_onDestroy:I
-Lcom/android/internal/widget/IRemoteViewsFactory;
-Lcom/android/internal/widget/IRemoteViewsFactory;->onDataSetChangedAsync()V
-Lcom/android/internal/widget/IRemoteViewsFactory;->onDestroy(Landroid/content/Intent;)V
-Lcom/android/internal/widget/ScrollingTabContainerView$TabAdapter;
-Lcom/android/internal/widget/ScrollingTabContainerView$TabAdapter;-><init>(Landroid/content/Context;)V
-Lcom/android/internal/widget/ScrollingTabContainerView$TabAdapter;->mDropDownContext:Landroid/content/Context;
-Lcom/android/internal/widget/ScrollingTabContainerView$TabAdapter;->setDropDownViewContext(Landroid/content/Context;)V
-Lcom/android/internal/widget/ScrollingTabContainerView$TabClickListener;
-Lcom/android/internal/widget/ScrollingTabContainerView$TabClickListener;-><init>()V
-Lcom/android/internal/widget/ScrollingTabContainerView$TabView;
-Lcom/android/internal/widget/ScrollingTabContainerView$TabView;-><init>(Landroid/content/Context;Landroid/app/ActionBar$Tab;Z)V
-Lcom/android/internal/widget/ScrollingTabContainerView$TabView;->bindTab(Landroid/app/ActionBar$Tab;)V
-Lcom/android/internal/widget/ScrollingTabContainerView$TabView;->getTab()Landroid/app/ActionBar$Tab;
-Lcom/android/internal/widget/ScrollingTabContainerView$TabView;->mCustomView:Landroid/view/View;
-Lcom/android/internal/widget/ScrollingTabContainerView$TabView;->mIconView:Landroid/widget/ImageView;
-Lcom/android/internal/widget/ScrollingTabContainerView$TabView;->mTab:Landroid/app/ActionBar$Tab;
-Lcom/android/internal/widget/ScrollingTabContainerView$TabView;->mTextView:Landroid/widget/TextView;
-Lcom/android/internal/widget/ScrollingTabContainerView$TabView;->update()V
-Lcom/android/internal/widget/ScrollingTabContainerView$VisibilityAnimListener;
-Lcom/android/internal/widget/ScrollingTabContainerView$VisibilityAnimListener;-><init>()V
-Lcom/android/internal/widget/ScrollingTabContainerView$VisibilityAnimListener;->mCanceled:Z
-Lcom/android/internal/widget/ScrollingTabContainerView$VisibilityAnimListener;->mFinalVisibility:I
-Lcom/android/internal/widget/ScrollingTabContainerView$VisibilityAnimListener;->withFinalVisibility(I)Lcom/android/internal/widget/ScrollingTabContainerView$VisibilityAnimListener;
-Lcom/android/internal/widget/ScrollingTabContainerView;
-Lcom/android/internal/widget/ScrollingTabContainerView;->createSpinner()Landroid/widget/Spinner;
-Lcom/android/internal/widget/ScrollingTabContainerView;->createTabLayout()Landroid/widget/LinearLayout;
-Lcom/android/internal/widget/ScrollingTabContainerView;->createTabView(Landroid/content/Context;Landroid/app/ActionBar$Tab;Z)Lcom/android/internal/widget/ScrollingTabContainerView$TabView;
-Lcom/android/internal/widget/ScrollingTabContainerView;->FADE_DURATION:I
-Lcom/android/internal/widget/ScrollingTabContainerView;->isCollapsed()Z
-Lcom/android/internal/widget/ScrollingTabContainerView;->mAllowCollapse:Z
-Lcom/android/internal/widget/ScrollingTabContainerView;->mContentHeight:I
-Lcom/android/internal/widget/ScrollingTabContainerView;->mMaxTabWidth:I
-Lcom/android/internal/widget/ScrollingTabContainerView;->mSelectedTabIndex:I
-Lcom/android/internal/widget/ScrollingTabContainerView;->mStackedTabMaxWidth:I
-Lcom/android/internal/widget/ScrollingTabContainerView;->mTabClickListener:Lcom/android/internal/widget/ScrollingTabContainerView$TabClickListener;
-Lcom/android/internal/widget/ScrollingTabContainerView;->mTabLayout:Landroid/widget/LinearLayout;
-Lcom/android/internal/widget/ScrollingTabContainerView;->mTabSelector:Ljava/lang/Runnable;
-Lcom/android/internal/widget/ScrollingTabContainerView;->mTabSpinner:Landroid/widget/Spinner;
-Lcom/android/internal/widget/ScrollingTabContainerView;->mVisAnimListener:Lcom/android/internal/widget/ScrollingTabContainerView$VisibilityAnimListener;
-Lcom/android/internal/widget/ScrollingTabContainerView;->mVisibilityAnim:Landroid/animation/Animator;
-Lcom/android/internal/widget/ScrollingTabContainerView;->performCollapse()V
-Lcom/android/internal/widget/ScrollingTabContainerView;->performExpand()Z
-Lcom/android/internal/widget/ScrollingTabContainerView;->sAlphaInterpolator:Landroid/animation/TimeInterpolator;
-Lcom/android/internal/widget/ScrollingTabContainerView;->setContentHeight(I)V
-Lcom/android/internal/widget/ScrollingTabContainerView;->TAG:Ljava/lang/String;
-Lcom/android/internal/widget/SubtitleView;
-Lcom/android/internal/widget/SubtitleView;-><init>(Landroid/content/Context;)V
-Lcom/android/internal/widget/SubtitleView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Lcom/android/internal/widget/SubtitleView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Lcom/android/internal/widget/SubtitleView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-Lcom/android/internal/widget/SubtitleView;->COLOR_BEVEL_DARK:I
-Lcom/android/internal/widget/SubtitleView;->COLOR_BEVEL_LIGHT:I
-Lcom/android/internal/widget/SubtitleView;->computeMeasurements(I)Z
-Lcom/android/internal/widget/SubtitleView;->INNER_PADDING_RATIO:F
-Lcom/android/internal/widget/SubtitleView;->mAlignment:Landroid/text/Layout$Alignment;
-Lcom/android/internal/widget/SubtitleView;->mBackgroundColor:I
-Lcom/android/internal/widget/SubtitleView;->mCornerRadius:F
-Lcom/android/internal/widget/SubtitleView;->mEdgeColor:I
-Lcom/android/internal/widget/SubtitleView;->mEdgeType:I
-Lcom/android/internal/widget/SubtitleView;->mForegroundColor:I
-Lcom/android/internal/widget/SubtitleView;->mHasMeasurements:Z
-Lcom/android/internal/widget/SubtitleView;->mInnerPaddingX:I
-Lcom/android/internal/widget/SubtitleView;->mLastMeasuredWidth:I
-Lcom/android/internal/widget/SubtitleView;->mLayout:Landroid/text/StaticLayout;
-Lcom/android/internal/widget/SubtitleView;->mLineBounds:Landroid/graphics/RectF;
-Lcom/android/internal/widget/SubtitleView;->mOutlineWidth:F
-Lcom/android/internal/widget/SubtitleView;->mPaint:Landroid/graphics/Paint;
-Lcom/android/internal/widget/SubtitleView;->mShadowOffsetX:F
-Lcom/android/internal/widget/SubtitleView;->mShadowOffsetY:F
-Lcom/android/internal/widget/SubtitleView;->mShadowRadius:F
-Lcom/android/internal/widget/SubtitleView;->mSpacingAdd:F
-Lcom/android/internal/widget/SubtitleView;->mSpacingMult:F
-Lcom/android/internal/widget/SubtitleView;->mText:Landroid/text/SpannableStringBuilder;
-Lcom/android/internal/widget/SubtitleView;->mTextPaint:Landroid/text/TextPaint;
-Lcom/android/internal/widget/SubtitleView;->setAlignment(Landroid/text/Layout$Alignment;)V
-Lcom/android/internal/widget/SubtitleView;->setEdgeColor(I)V
-Lcom/android/internal/widget/SubtitleView;->setEdgeType(I)V
-Lcom/android/internal/widget/SubtitleView;->setForegroundColor(I)V
-Lcom/android/internal/widget/SubtitleView;->setStyle(I)V
-Lcom/android/internal/widget/SubtitleView;->setText(I)V
-Lcom/android/internal/widget/SubtitleView;->setText(Ljava/lang/CharSequence;)V
-Lcom/android/internal/widget/SubtitleView;->setTextSize(F)V
-Lcom/android/internal/widget/SubtitleView;->setTypeface(Landroid/graphics/Typeface;)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;-><init>(Landroid/widget/Toolbar;Z)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;-><init>(Landroid/widget/Toolbar;ZI)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->AFFECTS_LOGO_MASK:I
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->animateToVisibility(I)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->canShowOverflowMenu()Z
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->canSplit()Z
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->collapseActionView()V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->DEFAULT_FADE_DURATION_MS:J
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->detectDisplayOptions()I
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->dismissPopupMenus()V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->ensureSpinner()V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->getContext()Landroid/content/Context;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->getCustomView()Landroid/view/View;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->getDisplayOptions()I
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->getDropdownItemCount()I
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->getDropdownSelectedPosition()I
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->getHeight()I
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->getMenu()Landroid/view/Menu;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->getNavigationMode()I
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->getSubtitle()Ljava/lang/CharSequence;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->getTitle()Ljava/lang/CharSequence;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->getViewGroup()Landroid/view/ViewGroup;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->getVisibility()I
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->hasEmbeddedTabs()Z
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->hasExpandedActionView()Z
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->hasIcon()Z
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->hasLogo()Z
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->hideOverflowMenu()Z
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->initIndeterminateProgress()V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->initProgress()V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->isOverflowMenuShowing()Z
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->isOverflowMenuShowPending()Z
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->isSplit()Z
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->isTitleTruncated()Z
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->mActionMenuPresenter:Landroid/widget/ActionMenuPresenter;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->mCustomView:Landroid/view/View;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->mDefaultNavigationContentDescription:I
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->mDefaultNavigationIcon:Landroid/graphics/drawable/Drawable;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->mDisplayOpts:I
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->mHomeDescription:Ljava/lang/CharSequence;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->mIcon:Landroid/graphics/drawable/Drawable;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->mLogo:Landroid/graphics/drawable/Drawable;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->mMenuPrepared:Z
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->mNavIcon:Landroid/graphics/drawable/Drawable;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->mNavigationMode:I
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->mSpinner:Landroid/widget/Spinner;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->mSubtitle:Ljava/lang/CharSequence;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->mTabView:Landroid/view/View;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->mTitle:Ljava/lang/CharSequence;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->mTitleSet:Z
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->mToolbar:Landroid/widget/Toolbar;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->mWindowCallback:Landroid/view/Window$Callback;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->restoreHierarchyState(Landroid/util/SparseArray;)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->saveHierarchyState(Landroid/util/SparseArray;)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setCollapsible(Z)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setCustomView(Landroid/view/View;)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setDefaultNavigationContentDescription(I)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setDefaultNavigationIcon(Landroid/graphics/drawable/Drawable;)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setDisplayOptions(I)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setDropdownParams(Landroid/widget/SpinnerAdapter;Landroid/widget/AdapterView$OnItemSelectedListener;)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setDropdownSelectedPosition(I)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setEmbeddedTabView(Lcom/android/internal/widget/ScrollingTabContainerView;)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setHomeButtonEnabled(Z)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setIcon(I)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setIcon(Landroid/graphics/drawable/Drawable;)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setLogo(I)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setLogo(Landroid/graphics/drawable/Drawable;)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setMenu(Landroid/view/Menu;Lcom/android/internal/view/menu/MenuPresenter$Callback;)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setMenuCallbacks(Lcom/android/internal/view/menu/MenuPresenter$Callback;Lcom/android/internal/view/menu/MenuBuilder$Callback;)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setMenuPrepared()V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setNavigationContentDescription(I)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setNavigationContentDescription(Ljava/lang/CharSequence;)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setNavigationIcon(I)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setNavigationIcon(Landroid/graphics/drawable/Drawable;)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setNavigationMode(I)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setSplitToolbar(Z)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setSplitView(Landroid/view/ViewGroup;)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setSplitWhenNarrow(Z)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setSubtitle(Ljava/lang/CharSequence;)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setTitle(Ljava/lang/CharSequence;)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setTitleInt(Ljava/lang/CharSequence;)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setupAnimatorToVisibility(IJ)Landroid/animation/Animator;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setVisibility(I)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setWindowCallback(Landroid/view/Window$Callback;)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->setWindowTitle(Ljava/lang/CharSequence;)V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->showOverflowMenu()Z
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->TAG:Ljava/lang/String;
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->updateHomeAccessibility()V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->updateNavigationIcon()V
-Lcom/android/internal/widget/ToolbarWidgetWrapper;->updateToolbarLogo()V
-Lcom/android/internal/widget/VerifyCredentialResponse;
-Lcom/android/internal/widget/VerifyCredentialResponse;-><init>()V
-Lcom/android/internal/widget/VerifyCredentialResponse;-><init>(I)V
-Lcom/android/internal/widget/VerifyCredentialResponse;-><init>(II[B)V
-Lcom/android/internal/widget/VerifyCredentialResponse;-><init>([B)V
-Lcom/android/internal/widget/VerifyCredentialResponse;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/internal/widget/VerifyCredentialResponse;->ERROR:Lcom/android/internal/widget/VerifyCredentialResponse;
-Lcom/android/internal/widget/VerifyCredentialResponse;->fromGateKeeperResponse(Landroid/service/gatekeeper/GateKeeperResponse;)Lcom/android/internal/widget/VerifyCredentialResponse;
-Lcom/android/internal/widget/VerifyCredentialResponse;->getPayload()[B
-Lcom/android/internal/widget/VerifyCredentialResponse;->getResponseCode()I
-Lcom/android/internal/widget/VerifyCredentialResponse;->getTimeout()I
-Lcom/android/internal/widget/VerifyCredentialResponse;->mPayload:[B
-Lcom/android/internal/widget/VerifyCredentialResponse;->mResponseCode:I
-Lcom/android/internal/widget/VerifyCredentialResponse;->mTimeout:I
-Lcom/android/internal/widget/VerifyCredentialResponse;->OK:Lcom/android/internal/widget/VerifyCredentialResponse;
-Lcom/android/internal/widget/VerifyCredentialResponse;->RESPONSE_ERROR:I
-Lcom/android/internal/widget/VerifyCredentialResponse;->RESPONSE_OK:I
-Lcom/android/internal/widget/VerifyCredentialResponse;->RESPONSE_RETRY:I
-Lcom/android/internal/widget/VerifyCredentialResponse;->setPayload([B)V
-Lcom/android/internal/widget/VerifyCredentialResponse;->setTimeout(I)V
-Lcom/android/internal/widget/VerifyCredentialResponse;->stripPayload()Lcom/android/internal/widget/VerifyCredentialResponse;
-Lcom/android/internal/widget/VerifyCredentialResponse;->TAG:Ljava/lang/String;
-Lcom/android/okhttp/Address;
-Lcom/android/okhttp/Address;-><init>(Ljava/lang/String;ILcom/android/okhttp/Dns;Ljavax/net/SocketFactory;Ljavax/net/ssl/SSLSocketFactory;Ljavax/net/ssl/HostnameVerifier;Lcom/android/okhttp/CertificatePinner;Lcom/android/okhttp/Authenticator;Ljava/net/Proxy;Ljava/util/List;Ljava/util/List;Ljava/net/ProxySelector;)V
-Lcom/android/okhttp/Address;->authenticator:Lcom/android/okhttp/Authenticator;
-Lcom/android/okhttp/Address;->certificatePinner:Lcom/android/okhttp/CertificatePinner;
-Lcom/android/okhttp/Address;->connectionSpecs:Ljava/util/List;
-Lcom/android/okhttp/Address;->dns:Lcom/android/okhttp/Dns;
-Lcom/android/okhttp/Address;->getAuthenticator()Lcom/android/okhttp/Authenticator;
-Lcom/android/okhttp/Address;->getCertificatePinner()Lcom/android/okhttp/CertificatePinner;
-Lcom/android/okhttp/Address;->getConnectionSpecs()Ljava/util/List;
-Lcom/android/okhttp/Address;->getDns()Lcom/android/okhttp/Dns;
-Lcom/android/okhttp/Address;->getHostnameVerifier()Ljavax/net/ssl/HostnameVerifier;
-Lcom/android/okhttp/Address;->getProtocols()Ljava/util/List;
-Lcom/android/okhttp/Address;->getProxy()Ljava/net/Proxy;
-Lcom/android/okhttp/Address;->getProxySelector()Ljava/net/ProxySelector;
-Lcom/android/okhttp/Address;->getSocketFactory()Ljavax/net/SocketFactory;
-Lcom/android/okhttp/Address;->getSslSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
-Lcom/android/okhttp/Address;->getUriHost()Ljava/lang/String;
-Lcom/android/okhttp/Address;->getUriPort()I
-Lcom/android/okhttp/Address;->hostnameVerifier:Ljavax/net/ssl/HostnameVerifier;
-Lcom/android/okhttp/Address;->protocols:Ljava/util/List;
-Lcom/android/okhttp/Address;->proxy:Ljava/net/Proxy;
-Lcom/android/okhttp/Address;->proxySelector:Ljava/net/ProxySelector;
-Lcom/android/okhttp/Address;->socketFactory:Ljavax/net/SocketFactory;
-Lcom/android/okhttp/Address;->sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
-Lcom/android/okhttp/Address;->url()Lcom/android/okhttp/HttpUrl;
-Lcom/android/okhttp/Address;->url:Lcom/android/okhttp/HttpUrl;
-Lcom/android/okhttp/AndroidShimResponseCache;
-Lcom/android/okhttp/AndroidShimResponseCache;-><init>(Lcom/android/okhttp/Cache;)V
-Lcom/android/okhttp/AndroidShimResponseCache;->close()V
-Lcom/android/okhttp/AndroidShimResponseCache;->create(Ljava/io/File;J)Lcom/android/okhttp/AndroidShimResponseCache;
-Lcom/android/okhttp/AndroidShimResponseCache;->delegate:Lcom/android/okhttp/Cache;
-Lcom/android/okhttp/AndroidShimResponseCache;->delete()V
-Lcom/android/okhttp/AndroidShimResponseCache;->flush()V
-Lcom/android/okhttp/AndroidShimResponseCache;->getCache()Lcom/android/okhttp/Cache;
-Lcom/android/okhttp/AndroidShimResponseCache;->getHitCount()I
-Lcom/android/okhttp/AndroidShimResponseCache;->getNetworkCount()I
-Lcom/android/okhttp/AndroidShimResponseCache;->getRequestCount()I
-Lcom/android/okhttp/AndroidShimResponseCache;->isEquivalent(Ljava/io/File;J)Z
-Lcom/android/okhttp/AndroidShimResponseCache;->maxSize()J
-Lcom/android/okhttp/AndroidShimResponseCache;->size()J
-Lcom/android/okhttp/Authenticator;
-Lcom/android/okhttp/Authenticator;->authenticate(Ljava/net/Proxy;Lcom/android/okhttp/Response;)Lcom/android/okhttp/Request;
-Lcom/android/okhttp/Authenticator;->authenticateProxy(Ljava/net/Proxy;Lcom/android/okhttp/Response;)Lcom/android/okhttp/Request;
-Lcom/android/okhttp/Cache$CacheRequestImpl;
-Lcom/android/okhttp/Cache$CacheRequestImpl;-><init>(Lcom/android/okhttp/internal/DiskLruCache$Editor;)V
-Lcom/android/okhttp/Cache$CacheRequestImpl;->abort()V
-Lcom/android/okhttp/Cache$CacheRequestImpl;->body()Lcom/android/okhttp/okio/Sink;
-Lcom/android/okhttp/Cache$CacheRequestImpl;->body:Lcom/android/okhttp/okio/Sink;
-Lcom/android/okhttp/Cache$CacheRequestImpl;->cacheOut:Lcom/android/okhttp/okio/Sink;
-Lcom/android/okhttp/Cache$CacheRequestImpl;->done:Z
-Lcom/android/okhttp/Cache$CacheRequestImpl;->editor:Lcom/android/okhttp/internal/DiskLruCache$Editor;
-Lcom/android/okhttp/Cache$CacheResponseBody;
-Lcom/android/okhttp/Cache$CacheResponseBody;-><init>(Lcom/android/okhttp/internal/DiskLruCache$Snapshot;Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/okhttp/Cache$CacheResponseBody;->bodySource:Lcom/android/okhttp/okio/BufferedSource;
-Lcom/android/okhttp/Cache$CacheResponseBody;->contentLength()J
-Lcom/android/okhttp/Cache$CacheResponseBody;->contentLength:Ljava/lang/String;
-Lcom/android/okhttp/Cache$CacheResponseBody;->contentType()Lcom/android/okhttp/MediaType;
-Lcom/android/okhttp/Cache$CacheResponseBody;->contentType:Ljava/lang/String;
-Lcom/android/okhttp/Cache$CacheResponseBody;->snapshot:Lcom/android/okhttp/internal/DiskLruCache$Snapshot;
-Lcom/android/okhttp/Cache$CacheResponseBody;->source()Lcom/android/okhttp/okio/BufferedSource;
-Lcom/android/okhttp/Cache$Entry;
-Lcom/android/okhttp/Cache$Entry;-><init>(Lcom/android/okhttp/okio/Source;)V
-Lcom/android/okhttp/Cache$Entry;-><init>(Lcom/android/okhttp/Response;)V
-Lcom/android/okhttp/Cache$Entry;->code:I
-Lcom/android/okhttp/Cache$Entry;->handshake:Lcom/android/okhttp/Handshake;
-Lcom/android/okhttp/Cache$Entry;->isHttps()Z
-Lcom/android/okhttp/Cache$Entry;->matches(Lcom/android/okhttp/Request;Lcom/android/okhttp/Response;)Z
-Lcom/android/okhttp/Cache$Entry;->message:Ljava/lang/String;
-Lcom/android/okhttp/Cache$Entry;->protocol:Lcom/android/okhttp/Protocol;
-Lcom/android/okhttp/Cache$Entry;->readCertificateList(Lcom/android/okhttp/okio/BufferedSource;)Ljava/util/List;
-Lcom/android/okhttp/Cache$Entry;->requestMethod:Ljava/lang/String;
-Lcom/android/okhttp/Cache$Entry;->response(Lcom/android/okhttp/Request;Lcom/android/okhttp/internal/DiskLruCache$Snapshot;)Lcom/android/okhttp/Response;
-Lcom/android/okhttp/Cache$Entry;->responseHeaders:Lcom/android/okhttp/Headers;
-Lcom/android/okhttp/Cache$Entry;->url:Ljava/lang/String;
-Lcom/android/okhttp/Cache$Entry;->varyHeaders:Lcom/android/okhttp/Headers;
-Lcom/android/okhttp/Cache$Entry;->writeCertList(Lcom/android/okhttp/okio/BufferedSink;Ljava/util/List;)V
-Lcom/android/okhttp/Cache$Entry;->writeTo(Lcom/android/okhttp/internal/DiskLruCache$Editor;)V
-Lcom/android/okhttp/Cache;
-Lcom/android/okhttp/Cache;-><init>(Ljava/io/File;J)V
-Lcom/android/okhttp/Cache;-><init>(Ljava/io/File;JLcom/android/okhttp/internal/io/FileSystem;)V
-Lcom/android/okhttp/Cache;->abortQuietly(Lcom/android/okhttp/internal/DiskLruCache$Editor;)V
-Lcom/android/okhttp/Cache;->cache:Lcom/android/okhttp/internal/DiskLruCache;
-Lcom/android/okhttp/Cache;->close()V
-Lcom/android/okhttp/Cache;->delete()V
-Lcom/android/okhttp/Cache;->ENTRY_BODY:I
-Lcom/android/okhttp/Cache;->ENTRY_COUNT:I
-Lcom/android/okhttp/Cache;->ENTRY_METADATA:I
-Lcom/android/okhttp/Cache;->evictAll()V
-Lcom/android/okhttp/Cache;->flush()V
-Lcom/android/okhttp/Cache;->get(Lcom/android/okhttp/Request;)Lcom/android/okhttp/Response;
-Lcom/android/okhttp/Cache;->getDirectory()Ljava/io/File;
-Lcom/android/okhttp/Cache;->getHitCount()I
-Lcom/android/okhttp/Cache;->getMaxSize()J
-Lcom/android/okhttp/Cache;->getNetworkCount()I
-Lcom/android/okhttp/Cache;->getRequestCount()I
-Lcom/android/okhttp/Cache;->getSize()J
-Lcom/android/okhttp/Cache;->getWriteAbortCount()I
-Lcom/android/okhttp/Cache;->getWriteSuccessCount()I
-Lcom/android/okhttp/Cache;->hitCount:I
-Lcom/android/okhttp/Cache;->initialize()V
-Lcom/android/okhttp/Cache;->internalCache:Lcom/android/okhttp/internal/InternalCache;
-Lcom/android/okhttp/Cache;->isClosed()Z
-Lcom/android/okhttp/Cache;->networkCount:I
-Lcom/android/okhttp/Cache;->put(Lcom/android/okhttp/Response;)Lcom/android/okhttp/internal/http/CacheRequest;
-Lcom/android/okhttp/Cache;->readInt(Lcom/android/okhttp/okio/BufferedSource;)I
-Lcom/android/okhttp/Cache;->remove(Lcom/android/okhttp/Request;)V
-Lcom/android/okhttp/Cache;->requestCount:I
-Lcom/android/okhttp/Cache;->trackConditionalCacheHit()V
-Lcom/android/okhttp/Cache;->trackResponse(Lcom/android/okhttp/internal/http/CacheStrategy;)V
-Lcom/android/okhttp/Cache;->update(Lcom/android/okhttp/Response;Lcom/android/okhttp/Response;)V
-Lcom/android/okhttp/Cache;->urls()Ljava/util/Iterator;
-Lcom/android/okhttp/Cache;->urlToKey(Lcom/android/okhttp/Request;)Ljava/lang/String;
-Lcom/android/okhttp/Cache;->VERSION:I
-Lcom/android/okhttp/Cache;->writeAbortCount:I
-Lcom/android/okhttp/Cache;->writeSuccessCount:I
-Lcom/android/okhttp/CacheControl$Builder;
-Lcom/android/okhttp/CacheControl$Builder;-><init>()V
-Lcom/android/okhttp/CacheControl$Builder;->build()Lcom/android/okhttp/CacheControl;
-Lcom/android/okhttp/CacheControl$Builder;->maxAge(ILjava/util/concurrent/TimeUnit;)Lcom/android/okhttp/CacheControl$Builder;
-Lcom/android/okhttp/CacheControl$Builder;->maxAgeSeconds:I
-Lcom/android/okhttp/CacheControl$Builder;->maxStale(ILjava/util/concurrent/TimeUnit;)Lcom/android/okhttp/CacheControl$Builder;
-Lcom/android/okhttp/CacheControl$Builder;->maxStaleSeconds:I
-Lcom/android/okhttp/CacheControl$Builder;->minFresh(ILjava/util/concurrent/TimeUnit;)Lcom/android/okhttp/CacheControl$Builder;
-Lcom/android/okhttp/CacheControl$Builder;->minFreshSeconds:I
-Lcom/android/okhttp/CacheControl$Builder;->noCache()Lcom/android/okhttp/CacheControl$Builder;
-Lcom/android/okhttp/CacheControl$Builder;->noCache:Z
-Lcom/android/okhttp/CacheControl$Builder;->noStore()Lcom/android/okhttp/CacheControl$Builder;
-Lcom/android/okhttp/CacheControl$Builder;->noStore:Z
-Lcom/android/okhttp/CacheControl$Builder;->noTransform()Lcom/android/okhttp/CacheControl$Builder;
-Lcom/android/okhttp/CacheControl$Builder;->noTransform:Z
-Lcom/android/okhttp/CacheControl$Builder;->onlyIfCached()Lcom/android/okhttp/CacheControl$Builder;
-Lcom/android/okhttp/CacheControl$Builder;->onlyIfCached:Z
-Lcom/android/okhttp/CacheControl;
-Lcom/android/okhttp/CacheControl;-><init>(Lcom/android/okhttp/CacheControl$Builder;)V
-Lcom/android/okhttp/CacheControl;-><init>(ZZIIZZZIIZZLjava/lang/String;)V
-Lcom/android/okhttp/CacheControl;->FORCE_CACHE:Lcom/android/okhttp/CacheControl;
-Lcom/android/okhttp/CacheControl;->FORCE_NETWORK:Lcom/android/okhttp/CacheControl;
-Lcom/android/okhttp/CacheControl;->headerValue()Ljava/lang/String;
-Lcom/android/okhttp/CacheControl;->headerValue:Ljava/lang/String;
-Lcom/android/okhttp/CacheControl;->isPrivate()Z
-Lcom/android/okhttp/CacheControl;->isPrivate:Z
-Lcom/android/okhttp/CacheControl;->isPublic()Z
-Lcom/android/okhttp/CacheControl;->isPublic:Z
-Lcom/android/okhttp/CacheControl;->maxAgeSeconds()I
-Lcom/android/okhttp/CacheControl;->maxAgeSeconds:I
-Lcom/android/okhttp/CacheControl;->maxStaleSeconds()I
-Lcom/android/okhttp/CacheControl;->maxStaleSeconds:I
-Lcom/android/okhttp/CacheControl;->minFreshSeconds()I
-Lcom/android/okhttp/CacheControl;->minFreshSeconds:I
-Lcom/android/okhttp/CacheControl;->mustRevalidate()Z
-Lcom/android/okhttp/CacheControl;->mustRevalidate:Z
-Lcom/android/okhttp/CacheControl;->noCache()Z
-Lcom/android/okhttp/CacheControl;->noCache:Z
-Lcom/android/okhttp/CacheControl;->noStore()Z
-Lcom/android/okhttp/CacheControl;->noStore:Z
-Lcom/android/okhttp/CacheControl;->noTransform()Z
-Lcom/android/okhttp/CacheControl;->noTransform:Z
-Lcom/android/okhttp/CacheControl;->onlyIfCached()Z
-Lcom/android/okhttp/CacheControl;->onlyIfCached:Z
-Lcom/android/okhttp/CacheControl;->parse(Lcom/android/okhttp/Headers;)Lcom/android/okhttp/CacheControl;
-Lcom/android/okhttp/CacheControl;->sMaxAgeSeconds()I
-Lcom/android/okhttp/CacheControl;->sMaxAgeSeconds:I
-Lcom/android/okhttp/Call$ApplicationInterceptorChain;
-Lcom/android/okhttp/Call$ApplicationInterceptorChain;-><init>(ILcom/android/okhttp/Request;Z)V
-Lcom/android/okhttp/Call$ApplicationInterceptorChain;->connection()Lcom/android/okhttp/Connection;
-Lcom/android/okhttp/Call$ApplicationInterceptorChain;->forWebSocket:Z
-Lcom/android/okhttp/Call$ApplicationInterceptorChain;->index:I
-Lcom/android/okhttp/Call$ApplicationInterceptorChain;->proceed(Lcom/android/okhttp/Request;)Lcom/android/okhttp/Response;
-Lcom/android/okhttp/Call$ApplicationInterceptorChain;->request()Lcom/android/okhttp/Request;
-Lcom/android/okhttp/Call$ApplicationInterceptorChain;->request:Lcom/android/okhttp/Request;
-Lcom/android/okhttp/Call$AsyncCall;
-Lcom/android/okhttp/Call$AsyncCall;-><init>(Lcom/android/okhttp/Callback;Z)V
-Lcom/android/okhttp/Call$AsyncCall;->cancel()V
-Lcom/android/okhttp/Call$AsyncCall;->execute()V
-Lcom/android/okhttp/Call$AsyncCall;->forWebSocket:Z
-Lcom/android/okhttp/Call$AsyncCall;->get()Lcom/android/okhttp/Call;
-Lcom/android/okhttp/Call$AsyncCall;->host()Ljava/lang/String;
-Lcom/android/okhttp/Call$AsyncCall;->request()Lcom/android/okhttp/Request;
-Lcom/android/okhttp/Call$AsyncCall;->responseCallback:Lcom/android/okhttp/Callback;
-Lcom/android/okhttp/Call$AsyncCall;->tag()Ljava/lang/Object;
-Lcom/android/okhttp/Call;
-Lcom/android/okhttp/Call;-><init>(Lcom/android/okhttp/OkHttpClient;Lcom/android/okhttp/Request;)V
-Lcom/android/okhttp/Call;->cancel()V
-Lcom/android/okhttp/Call;->canceled:Z
-Lcom/android/okhttp/Call;->client:Lcom/android/okhttp/OkHttpClient;
-Lcom/android/okhttp/Call;->engine:Lcom/android/okhttp/internal/http/HttpEngine;
-Lcom/android/okhttp/Call;->enqueue(Lcom/android/okhttp/Callback;)V
-Lcom/android/okhttp/Call;->enqueue(Lcom/android/okhttp/Callback;Z)V
-Lcom/android/okhttp/Call;->execute()Lcom/android/okhttp/Response;
-Lcom/android/okhttp/Call;->executed:Z
-Lcom/android/okhttp/Call;->getResponse(Lcom/android/okhttp/Request;Z)Lcom/android/okhttp/Response;
-Lcom/android/okhttp/Call;->getResponseWithInterceptorChain(Z)Lcom/android/okhttp/Response;
-Lcom/android/okhttp/Call;->isCanceled()Z
-Lcom/android/okhttp/Call;->isExecuted()Z
-Lcom/android/okhttp/Call;->originalRequest:Lcom/android/okhttp/Request;
-Lcom/android/okhttp/Call;->tag()Ljava/lang/Object;
-Lcom/android/okhttp/Call;->toLoggableString()Ljava/lang/String;
-Lcom/android/okhttp/Callback;
-Lcom/android/okhttp/Callback;->onFailure(Lcom/android/okhttp/Request;Ljava/io/IOException;)V
-Lcom/android/okhttp/Callback;->onResponse(Lcom/android/okhttp/Response;)V
-Lcom/android/okhttp/CertificatePinner$Builder;
-Lcom/android/okhttp/CertificatePinner$Builder;-><init>()V
-Lcom/android/okhttp/CertificatePinner$Builder;->add(Ljava/lang/String;[[Ljava/lang/String;)Lcom/android/okhttp/CertificatePinner$Builder;
-Lcom/android/okhttp/CertificatePinner$Builder;->build()Lcom/android/okhttp/CertificatePinner;
-Lcom/android/okhttp/CertificatePinner$Builder;->hostnameToPins:Ljava/util/Map;
-Lcom/android/okhttp/CertificatePinner;
-Lcom/android/okhttp/CertificatePinner;-><init>(Lcom/android/okhttp/CertificatePinner$Builder;)V
-Lcom/android/okhttp/CertificatePinner;->check(Ljava/lang/String;Ljava/util/List;)V
-Lcom/android/okhttp/CertificatePinner;->check(Ljava/lang/String;[[Ljava/security/cert/Certificate;)V
-Lcom/android/okhttp/CertificatePinner;->DEFAULT:Lcom/android/okhttp/CertificatePinner;
-Lcom/android/okhttp/CertificatePinner;->findMatchingPins(Ljava/lang/String;)Ljava/util/Set;
-Lcom/android/okhttp/CertificatePinner;->hostnameToPins:Ljava/util/Map;
-Lcom/android/okhttp/CertificatePinner;->pin(Ljava/security/cert/Certificate;)Ljava/lang/String;
-Lcom/android/okhttp/CertificatePinner;->sha1(Ljava/security/cert/X509Certificate;)Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/Challenge;
-Lcom/android/okhttp/Challenge;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/okhttp/Challenge;->getRealm()Ljava/lang/String;
-Lcom/android/okhttp/Challenge;->getScheme()Ljava/lang/String;
-Lcom/android/okhttp/Challenge;->realm:Ljava/lang/String;
-Lcom/android/okhttp/Challenge;->scheme:Ljava/lang/String;
-Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;-><init>(Ljava/lang/String;IIII)V
-Lcom/android/okhttp/CipherSuite;->forJavaName(Ljava/lang/String;)Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->javaName:Ljava/lang/String;
-Lcom/android/okhttp/CipherSuite;->TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DHE_DSS_WITH_AES_128_CBC_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DHE_DSS_WITH_AES_128_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DHE_DSS_WITH_AES_128_GCM_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DHE_DSS_WITH_AES_256_CBC_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DHE_DSS_WITH_AES_256_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DHE_DSS_WITH_AES_256_GCM_SHA384:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DHE_DSS_WITH_DES_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DHE_RSA_WITH_AES_128_CBC_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DHE_RSA_WITH_AES_128_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DHE_RSA_WITH_AES_128_GCM_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DHE_RSA_WITH_AES_256_CBC_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DHE_RSA_WITH_AES_256_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DHE_RSA_WITH_AES_256_GCM_SHA384:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DHE_RSA_WITH_DES_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DH_anon_EXPORT_WITH_RC4_40_MD5:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DH_anon_WITH_3DES_EDE_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DH_anon_WITH_AES_128_CBC_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DH_anon_WITH_AES_128_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DH_anon_WITH_AES_128_GCM_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DH_anon_WITH_AES_256_CBC_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DH_anon_WITH_AES_256_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DH_anon_WITH_AES_256_GCM_SHA384:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DH_anon_WITH_DES_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_DH_anon_WITH_RC4_128_MD5:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDHE_ECDSA_WITH_NULL_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDHE_ECDSA_WITH_RC4_128_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDHE_RSA_WITH_NULL_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDHE_RSA_WITH_RC4_128_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_anon_WITH_AES_128_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_anon_WITH_AES_256_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_anon_WITH_NULL_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_anon_WITH_RC4_128_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_ECDSA_WITH_NULL_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_ECDSA_WITH_RC4_128_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_RSA_WITH_AES_128_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_RSA_WITH_AES_256_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_RSA_WITH_NULL_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_ECDH_RSA_WITH_RC4_128_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_EMPTY_RENEGOTIATION_INFO_SCSV:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_KRB5_EXPORT_WITH_RC4_40_MD5:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_KRB5_EXPORT_WITH_RC4_40_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_KRB5_WITH_3DES_EDE_CBC_MD5:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_KRB5_WITH_3DES_EDE_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_KRB5_WITH_DES_CBC_MD5:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_KRB5_WITH_DES_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_KRB5_WITH_RC4_128_MD5:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_KRB5_WITH_RC4_128_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_RSA_EXPORT_WITH_DES40_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_RSA_EXPORT_WITH_RC4_40_MD5:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_RSA_WITH_3DES_EDE_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_RSA_WITH_AES_128_CBC_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_RSA_WITH_AES_128_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_RSA_WITH_AES_128_GCM_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_RSA_WITH_AES_256_CBC_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_RSA_WITH_AES_256_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_RSA_WITH_AES_256_GCM_SHA384:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_RSA_WITH_DES_CBC_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_RSA_WITH_NULL_MD5:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_RSA_WITH_NULL_SHA256:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_RSA_WITH_NULL_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_RSA_WITH_RC4_128_MD5:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->TLS_RSA_WITH_RC4_128_SHA:Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->valueOf(Ljava/lang/String;)Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/CipherSuite;->values()[Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/Connection;
-Lcom/android/okhttp/Connection;->getHandshake()Lcom/android/okhttp/Handshake;
-Lcom/android/okhttp/Connection;->getProtocol()Lcom/android/okhttp/Protocol;
-Lcom/android/okhttp/Connection;->getRoute()Lcom/android/okhttp/Route;
-Lcom/android/okhttp/ConnectionPool;
-Lcom/android/okhttp/ConnectionPool;-><init>(IJ)V
-Lcom/android/okhttp/ConnectionPool;-><init>(IJLjava/util/concurrent/TimeUnit;)V
-Lcom/android/okhttp/ConnectionPool;->cleanup(J)J
-Lcom/android/okhttp/ConnectionPool;->cleanupRunnable:Ljava/lang/Runnable;
-Lcom/android/okhttp/ConnectionPool;->connectionBecameIdle(Lcom/android/okhttp/internal/io/RealConnection;)Z
-Lcom/android/okhttp/ConnectionPool;->DEFAULT_KEEP_ALIVE_DURATION_MS:J
-Lcom/android/okhttp/ConnectionPool;->evictAll()V
-Lcom/android/okhttp/ConnectionPool;->executor:Ljava/util/concurrent/Executor;
-Lcom/android/okhttp/ConnectionPool;->get(Lcom/android/okhttp/Address;Lcom/android/okhttp/internal/http/StreamAllocation;)Lcom/android/okhttp/internal/io/RealConnection;
-Lcom/android/okhttp/ConnectionPool;->getConnectionCount()I
-Lcom/android/okhttp/ConnectionPool;->getDefault()Lcom/android/okhttp/ConnectionPool;
-Lcom/android/okhttp/ConnectionPool;->getHttpConnectionCount()I
-Lcom/android/okhttp/ConnectionPool;->getIdleConnectionCount()I
-Lcom/android/okhttp/ConnectionPool;->getMultiplexedConnectionCount()I
-Lcom/android/okhttp/ConnectionPool;->getSpdyConnectionCount()I
-Lcom/android/okhttp/ConnectionPool;->pruneAndGetAllocationCount(Lcom/android/okhttp/internal/io/RealConnection;J)I
-Lcom/android/okhttp/ConnectionPool;->put(Lcom/android/okhttp/internal/io/RealConnection;)V
-Lcom/android/okhttp/ConnectionPool;->routeDatabase:Lcom/android/okhttp/internal/RouteDatabase;
-Lcom/android/okhttp/ConnectionPool;->setCleanupRunnableForTest(Ljava/lang/Runnable;)V
-Lcom/android/okhttp/ConnectionSpec$Builder;
-Lcom/android/okhttp/ConnectionSpec$Builder;-><init>(Lcom/android/okhttp/ConnectionSpec;)V
-Lcom/android/okhttp/ConnectionSpec$Builder;-><init>(Z)V
-Lcom/android/okhttp/ConnectionSpec$Builder;->allEnabledCipherSuites()Lcom/android/okhttp/ConnectionSpec$Builder;
-Lcom/android/okhttp/ConnectionSpec$Builder;->allEnabledTlsVersions()Lcom/android/okhttp/ConnectionSpec$Builder;
-Lcom/android/okhttp/ConnectionSpec$Builder;->build()Lcom/android/okhttp/ConnectionSpec;
-Lcom/android/okhttp/ConnectionSpec$Builder;->cipherSuites([[Lcom/android/okhttp/CipherSuite;)Lcom/android/okhttp/ConnectionSpec$Builder;
-Lcom/android/okhttp/ConnectionSpec$Builder;->cipherSuites([[Ljava/lang/String;)Lcom/android/okhttp/ConnectionSpec$Builder;
-Lcom/android/okhttp/ConnectionSpec$Builder;->cipherSuites:[Ljava/lang/String;
-Lcom/android/okhttp/ConnectionSpec$Builder;->supportsTlsExtensions(Z)Lcom/android/okhttp/ConnectionSpec$Builder;
-Lcom/android/okhttp/ConnectionSpec$Builder;->supportsTlsExtensions:Z
-Lcom/android/okhttp/ConnectionSpec$Builder;->tls:Z
-Lcom/android/okhttp/ConnectionSpec$Builder;->tlsVersions([[Lcom/android/okhttp/TlsVersion;)Lcom/android/okhttp/ConnectionSpec$Builder;
-Lcom/android/okhttp/ConnectionSpec$Builder;->tlsVersions([[Ljava/lang/String;)Lcom/android/okhttp/ConnectionSpec$Builder;
-Lcom/android/okhttp/ConnectionSpec$Builder;->tlsVersions:[Ljava/lang/String;
-Lcom/android/okhttp/ConnectionSpec;
-Lcom/android/okhttp/ConnectionSpec;-><init>(Lcom/android/okhttp/ConnectionSpec$Builder;)V
-Lcom/android/okhttp/ConnectionSpec;->apply(Ljavax/net/ssl/SSLSocket;Z)V
-Lcom/android/okhttp/ConnectionSpec;->APPROVED_CIPHER_SUITES:[Lcom/android/okhttp/CipherSuite;
-Lcom/android/okhttp/ConnectionSpec;->cipherSuites()Ljava/util/List;
-Lcom/android/okhttp/ConnectionSpec;->cipherSuites:[Ljava/lang/String;
-Lcom/android/okhttp/ConnectionSpec;->CLEARTEXT:Lcom/android/okhttp/ConnectionSpec;
-Lcom/android/okhttp/ConnectionSpec;->COMPATIBLE_TLS:Lcom/android/okhttp/ConnectionSpec;
-Lcom/android/okhttp/ConnectionSpec;->isCompatible(Ljavax/net/ssl/SSLSocket;)Z
-Lcom/android/okhttp/ConnectionSpec;->isTls()Z
-Lcom/android/okhttp/ConnectionSpec;->MODERN_TLS:Lcom/android/okhttp/ConnectionSpec;
-Lcom/android/okhttp/ConnectionSpec;->nonEmptyIntersection([Ljava/lang/String;[Ljava/lang/String;)Z
-Lcom/android/okhttp/ConnectionSpec;->supportedSpec(Ljavax/net/ssl/SSLSocket;Z)Lcom/android/okhttp/ConnectionSpec;
-Lcom/android/okhttp/ConnectionSpec;->supportsTlsExtensions()Z
-Lcom/android/okhttp/ConnectionSpec;->supportsTlsExtensions:Z
-Lcom/android/okhttp/ConnectionSpec;->tls:Z
-Lcom/android/okhttp/ConnectionSpec;->tlsVersions()Ljava/util/List;
-Lcom/android/okhttp/ConnectionSpec;->tlsVersions:[Ljava/lang/String;
-Lcom/android/okhttp/Dispatcher;
-Lcom/android/okhttp/Dispatcher;-><init>()V
-Lcom/android/okhttp/Dispatcher;-><init>(Ljava/util/concurrent/ExecutorService;)V
-Lcom/android/okhttp/Dispatcher;->cancel(Ljava/lang/Object;)V
-Lcom/android/okhttp/Dispatcher;->enqueue(Lcom/android/okhttp/Call$AsyncCall;)V
-Lcom/android/okhttp/Dispatcher;->executed(Lcom/android/okhttp/Call;)V
-Lcom/android/okhttp/Dispatcher;->executedCalls:Ljava/util/Deque;
-Lcom/android/okhttp/Dispatcher;->executorService:Ljava/util/concurrent/ExecutorService;
-Lcom/android/okhttp/Dispatcher;->finished(Lcom/android/okhttp/Call$AsyncCall;)V
-Lcom/android/okhttp/Dispatcher;->finished(Lcom/android/okhttp/Call;)V
-Lcom/android/okhttp/Dispatcher;->getExecutorService()Ljava/util/concurrent/ExecutorService;
-Lcom/android/okhttp/Dispatcher;->getMaxRequests()I
-Lcom/android/okhttp/Dispatcher;->getMaxRequestsPerHost()I
-Lcom/android/okhttp/Dispatcher;->getQueuedCallCount()I
-Lcom/android/okhttp/Dispatcher;->getRunningCallCount()I
-Lcom/android/okhttp/Dispatcher;->maxRequests:I
-Lcom/android/okhttp/Dispatcher;->maxRequestsPerHost:I
-Lcom/android/okhttp/Dispatcher;->promoteCalls()V
-Lcom/android/okhttp/Dispatcher;->readyCalls:Ljava/util/Deque;
-Lcom/android/okhttp/Dispatcher;->runningCalls:Ljava/util/Deque;
-Lcom/android/okhttp/Dispatcher;->runningCallsForHost(Lcom/android/okhttp/Call$AsyncCall;)I
-Lcom/android/okhttp/Dispatcher;->setMaxRequests(I)V
-Lcom/android/okhttp/Dispatcher;->setMaxRequestsPerHost(I)V
-Lcom/android/okhttp/Dns;
-Lcom/android/okhttp/Dns;->lookup(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/okhttp/Dns;->SYSTEM:Lcom/android/okhttp/Dns;
-Lcom/android/okhttp/Handshake;
-Lcom/android/okhttp/Handshake;-><init>(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
-Lcom/android/okhttp/Handshake;->cipherSuite()Ljava/lang/String;
-Lcom/android/okhttp/Handshake;->cipherSuite:Ljava/lang/String;
-Lcom/android/okhttp/Handshake;->get(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)Lcom/android/okhttp/Handshake;
-Lcom/android/okhttp/Handshake;->get(Ljavax/net/ssl/SSLSession;)Lcom/android/okhttp/Handshake;
-Lcom/android/okhttp/Handshake;->localCertificates()Ljava/util/List;
-Lcom/android/okhttp/Handshake;->localCertificates:Ljava/util/List;
-Lcom/android/okhttp/Handshake;->localPrincipal()Ljava/security/Principal;
-Lcom/android/okhttp/Handshake;->peerCertificates()Ljava/util/List;
-Lcom/android/okhttp/Handshake;->peerCertificates:Ljava/util/List;
-Lcom/android/okhttp/Handshake;->peerPrincipal()Ljava/security/Principal;
-Lcom/android/okhttp/Headers$Builder;
-Lcom/android/okhttp/Headers$Builder;-><init>()V
-Lcom/android/okhttp/Headers$Builder;->add(Ljava/lang/String;)Lcom/android/okhttp/Headers$Builder;
-Lcom/android/okhttp/Headers$Builder;->add(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/Headers$Builder;
-Lcom/android/okhttp/Headers$Builder;->addLenient(Ljava/lang/String;)Lcom/android/okhttp/Headers$Builder;
-Lcom/android/okhttp/Headers$Builder;->addLenient(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/Headers$Builder;
-Lcom/android/okhttp/Headers$Builder;->build()Lcom/android/okhttp/Headers;
-Lcom/android/okhttp/Headers$Builder;->checkNameAndValue(Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/okhttp/Headers$Builder;->get(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/okhttp/Headers$Builder;->namesAndValues:Ljava/util/List;
-Lcom/android/okhttp/Headers$Builder;->removeAll(Ljava/lang/String;)Lcom/android/okhttp/Headers$Builder;
-Lcom/android/okhttp/Headers$Builder;->set(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/Headers$Builder;
-Lcom/android/okhttp/Headers;
-Lcom/android/okhttp/Headers;-><init>(Lcom/android/okhttp/Headers$Builder;)V
-Lcom/android/okhttp/Headers;-><init>([Ljava/lang/String;)V
-Lcom/android/okhttp/Headers;->get(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/okhttp/Headers;->get([Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/okhttp/Headers;->getDate(Ljava/lang/String;)Ljava/util/Date;
-Lcom/android/okhttp/Headers;->name(I)Ljava/lang/String;
-Lcom/android/okhttp/Headers;->names()Ljava/util/Set;
-Lcom/android/okhttp/Headers;->namesAndValues:[Ljava/lang/String;
-Lcom/android/okhttp/Headers;->newBuilder()Lcom/android/okhttp/Headers$Builder;
-Lcom/android/okhttp/Headers;->of(Ljava/util/Map;)Lcom/android/okhttp/Headers;
-Lcom/android/okhttp/Headers;->of([[Ljava/lang/String;)Lcom/android/okhttp/Headers;
-Lcom/android/okhttp/Headers;->size()I
-Lcom/android/okhttp/Headers;->toMultimap()Ljava/util/Map;
-Lcom/android/okhttp/Headers;->value(I)Ljava/lang/String;
-Lcom/android/okhttp/Headers;->values(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/okhttp/HttpUrl$Builder$ParseResult;
-Lcom/android/okhttp/HttpUrl$Builder$ParseResult;-><init>()V
-Lcom/android/okhttp/HttpUrl$Builder$ParseResult;->INVALID_HOST:Lcom/android/okhttp/HttpUrl$Builder$ParseResult;
-Lcom/android/okhttp/HttpUrl$Builder$ParseResult;->INVALID_PORT:Lcom/android/okhttp/HttpUrl$Builder$ParseResult;
-Lcom/android/okhttp/HttpUrl$Builder$ParseResult;->MISSING_SCHEME:Lcom/android/okhttp/HttpUrl$Builder$ParseResult;
-Lcom/android/okhttp/HttpUrl$Builder$ParseResult;->SUCCESS:Lcom/android/okhttp/HttpUrl$Builder$ParseResult;
-Lcom/android/okhttp/HttpUrl$Builder$ParseResult;->UNSUPPORTED_SCHEME:Lcom/android/okhttp/HttpUrl$Builder$ParseResult;
-Lcom/android/okhttp/HttpUrl$Builder$ParseResult;->valueOf(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder$ParseResult;
-Lcom/android/okhttp/HttpUrl$Builder$ParseResult;->values()[Lcom/android/okhttp/HttpUrl$Builder$ParseResult;
-Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;-><init>()V
-Lcom/android/okhttp/HttpUrl$Builder;->addEncodedPathSegment(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->addEncodedQueryParameter(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->addPathSegment(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->addQueryParameter(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->canonicalizeHost(Ljava/lang/String;II)Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl$Builder;->containsInvalidHostnameAsciiCodes(Ljava/lang/String;)Z
-Lcom/android/okhttp/HttpUrl$Builder;->decodeIpv4Suffix(Ljava/lang/String;II[BI)Z
-Lcom/android/okhttp/HttpUrl$Builder;->decodeIpv6(Ljava/lang/String;II)Ljava/net/InetAddress;
-Lcom/android/okhttp/HttpUrl$Builder;->domainToAscii(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl$Builder;->effectivePort()I
-Lcom/android/okhttp/HttpUrl$Builder;->encodedFragment(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->encodedFragment:Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl$Builder;->encodedPassword(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->encodedPassword:Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl$Builder;->encodedPath(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->encodedPathSegments:Ljava/util/List;
-Lcom/android/okhttp/HttpUrl$Builder;->encodedQuery(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->encodedQueryNamesAndValues:Ljava/util/List;
-Lcom/android/okhttp/HttpUrl$Builder;->encodedUsername(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->encodedUsername:Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl$Builder;->fragment(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->host(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->host:Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl$Builder;->inet6AddressToAscii([B)Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl$Builder;->isDot(Ljava/lang/String;)Z
-Lcom/android/okhttp/HttpUrl$Builder;->isDotDot(Ljava/lang/String;)Z
-Lcom/android/okhttp/HttpUrl$Builder;->parse(Lcom/android/okhttp/HttpUrl;Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder$ParseResult;
-Lcom/android/okhttp/HttpUrl$Builder;->parsePort(Ljava/lang/String;II)I
-Lcom/android/okhttp/HttpUrl$Builder;->password(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->pop()V
-Lcom/android/okhttp/HttpUrl$Builder;->port(I)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->port:I
-Lcom/android/okhttp/HttpUrl$Builder;->portColonOffset(Ljava/lang/String;II)I
-Lcom/android/okhttp/HttpUrl$Builder;->push(Ljava/lang/String;IIZZ)V
-Lcom/android/okhttp/HttpUrl$Builder;->query(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->reencodeForUri()Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->removeAllCanonicalQueryParameters(Ljava/lang/String;)V
-Lcom/android/okhttp/HttpUrl$Builder;->removeAllEncodedQueryParameters(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->removeAllQueryParameters(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->removePathSegment(I)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->resolvePath(Ljava/lang/String;II)V
-Lcom/android/okhttp/HttpUrl$Builder;->scheme(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->scheme:Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl$Builder;->schemeDelimiterOffset(Ljava/lang/String;II)I
-Lcom/android/okhttp/HttpUrl$Builder;->setEncodedPathSegment(ILjava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->setEncodedQueryParameter(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->setPathSegment(ILjava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->setQueryParameter(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl$Builder;->skipLeadingAsciiWhitespace(Ljava/lang/String;II)I
-Lcom/android/okhttp/HttpUrl$Builder;->skipTrailingAsciiWhitespace(Ljava/lang/String;II)I
-Lcom/android/okhttp/HttpUrl$Builder;->slashCount(Ljava/lang/String;II)I
-Lcom/android/okhttp/HttpUrl$Builder;->username(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
-Lcom/android/okhttp/HttpUrl;
-Lcom/android/okhttp/HttpUrl;-><init>(Lcom/android/okhttp/HttpUrl$Builder;)V
-Lcom/android/okhttp/HttpUrl;->canonicalize(Lcom/android/okhttp/okio/Buffer;Ljava/lang/String;IILjava/lang/String;ZZZZ)V
-Lcom/android/okhttp/HttpUrl;->canonicalize(Ljava/lang/String;IILjava/lang/String;ZZZZ)Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->canonicalize(Ljava/lang/String;Ljava/lang/String;ZZZZ)Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->decodeHexDigit(C)I
-Lcom/android/okhttp/HttpUrl;->defaultPort(Ljava/lang/String;)I
-Lcom/android/okhttp/HttpUrl;->delimiterOffset(Ljava/lang/String;IILjava/lang/String;)I
-Lcom/android/okhttp/HttpUrl;->encodedFragment()Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->encodedPassword()Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->encodedPathSegments()Ljava/util/List;
-Lcom/android/okhttp/HttpUrl;->encodedQuery()Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->encodedUsername()Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->FORM_ENCODE_SET:Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->fragment()Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->fragment:Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->FRAGMENT_ENCODE_SET:Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->FRAGMENT_ENCODE_SET_URI:Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->get(Ljava/net/URI;)Lcom/android/okhttp/HttpUrl;
-Lcom/android/okhttp/HttpUrl;->get(Ljava/net/URL;)Lcom/android/okhttp/HttpUrl;
-Lcom/android/okhttp/HttpUrl;->getChecked(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl;
-Lcom/android/okhttp/HttpUrl;->HEX_DIGITS:[C
-Lcom/android/okhttp/HttpUrl;->host()Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->host:Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->isHttps()Z
-Lcom/android/okhttp/HttpUrl;->namesAndValuesToQueryString(Ljava/lang/StringBuilder;Ljava/util/List;)V
-Lcom/android/okhttp/HttpUrl;->password()Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->password:Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->PASSWORD_ENCODE_SET:Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->pathSegments()Ljava/util/List;
-Lcom/android/okhttp/HttpUrl;->pathSegments:Ljava/util/List;
-Lcom/android/okhttp/HttpUrl;->pathSegmentsToString(Ljava/lang/StringBuilder;Ljava/util/List;)V
-Lcom/android/okhttp/HttpUrl;->pathSize()I
-Lcom/android/okhttp/HttpUrl;->PATH_SEGMENT_ENCODE_SET:Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->PATH_SEGMENT_ENCODE_SET_URI:Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->percentDecode(Lcom/android/okhttp/okio/Buffer;Ljava/lang/String;IIZ)V
-Lcom/android/okhttp/HttpUrl;->percentDecode(Ljava/lang/String;IIZ)Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->percentDecode(Ljava/lang/String;Z)Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->percentDecode(Ljava/util/List;Z)Ljava/util/List;
-Lcom/android/okhttp/HttpUrl;->percentEncoded(Ljava/lang/String;II)Z
-Lcom/android/okhttp/HttpUrl;->port()I
-Lcom/android/okhttp/HttpUrl;->port:I
-Lcom/android/okhttp/HttpUrl;->queryNamesAndValues:Ljava/util/List;
-Lcom/android/okhttp/HttpUrl;->queryParameter(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->queryParameterName(I)Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->queryParameterNames()Ljava/util/Set;
-Lcom/android/okhttp/HttpUrl;->queryParameterValue(I)Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->queryParameterValues(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/okhttp/HttpUrl;->querySize()I
-Lcom/android/okhttp/HttpUrl;->queryStringToNamesAndValues(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/okhttp/HttpUrl;->QUERY_COMPONENT_ENCODE_SET:Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->QUERY_COMPONENT_ENCODE_SET_URI:Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->QUERY_ENCODE_SET:Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->resolve(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl;
-Lcom/android/okhttp/HttpUrl;->scheme()Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->scheme:Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->uri()Ljava/net/URI;
-Lcom/android/okhttp/HttpUrl;->url()Ljava/net/URL;
-Lcom/android/okhttp/HttpUrl;->url:Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->username()Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->username:Ljava/lang/String;
-Lcom/android/okhttp/HttpUrl;->USERNAME_ENCODE_SET:Ljava/lang/String;
-Lcom/android/okhttp/Interceptor$Chain;
-Lcom/android/okhttp/Interceptor$Chain;->connection()Lcom/android/okhttp/Connection;
-Lcom/android/okhttp/Interceptor$Chain;->proceed(Lcom/android/okhttp/Request;)Lcom/android/okhttp/Response;
-Lcom/android/okhttp/Interceptor$Chain;->request()Lcom/android/okhttp/Request;
-Lcom/android/okhttp/Interceptor;
-Lcom/android/okhttp/Interceptor;->intercept(Lcom/android/okhttp/Interceptor$Chain;)Lcom/android/okhttp/Response;
-Lcom/android/okhttp/internal/http/CacheRequest;
-Lcom/android/okhttp/internal/http/CacheRequest;->abort()V
-Lcom/android/okhttp/internal/http/CacheRequest;->body()Lcom/android/okhttp/okio/Sink;
-Lcom/android/okhttp/internal/http/CacheStrategy$Factory;
-Lcom/android/okhttp/internal/http/CacheStrategy$Factory;-><init>(JLcom/android/okhttp/Request;Lcom/android/okhttp/Response;)V
-Lcom/android/okhttp/internal/http/CacheStrategy$Factory;->ageSeconds:I
-Lcom/android/okhttp/internal/http/CacheStrategy$Factory;->cacheResponse:Lcom/android/okhttp/Response;
-Lcom/android/okhttp/internal/http/CacheStrategy$Factory;->cacheResponseAge()J
-Lcom/android/okhttp/internal/http/CacheStrategy$Factory;->computeFreshnessLifetime()J
-Lcom/android/okhttp/internal/http/CacheStrategy$Factory;->etag:Ljava/lang/String;
-Lcom/android/okhttp/internal/http/CacheStrategy$Factory;->expires:Ljava/util/Date;
-Lcom/android/okhttp/internal/http/CacheStrategy$Factory;->get()Lcom/android/okhttp/internal/http/CacheStrategy;
-Lcom/android/okhttp/internal/http/CacheStrategy$Factory;->getCandidate()Lcom/android/okhttp/internal/http/CacheStrategy;
-Lcom/android/okhttp/internal/http/CacheStrategy$Factory;->hasConditions(Lcom/android/okhttp/Request;)Z
-Lcom/android/okhttp/internal/http/CacheStrategy$Factory;->isFreshnessLifetimeHeuristic()Z
-Lcom/android/okhttp/internal/http/CacheStrategy$Factory;->lastModified:Ljava/util/Date;
-Lcom/android/okhttp/internal/http/CacheStrategy$Factory;->lastModifiedString:Ljava/lang/String;
-Lcom/android/okhttp/internal/http/CacheStrategy$Factory;->nowMillis:J
-Lcom/android/okhttp/internal/http/CacheStrategy$Factory;->receivedResponseMillis:J
-Lcom/android/okhttp/internal/http/CacheStrategy$Factory;->request:Lcom/android/okhttp/Request;
-Lcom/android/okhttp/internal/http/CacheStrategy$Factory;->sentRequestMillis:J
-Lcom/android/okhttp/internal/http/CacheStrategy$Factory;->servedDate:Ljava/util/Date;
-Lcom/android/okhttp/internal/http/CacheStrategy$Factory;->servedDateString:Ljava/lang/String;
-Lcom/android/okhttp/internal/http/CacheStrategy;
-Lcom/android/okhttp/internal/http/CacheStrategy;-><init>(Lcom/android/okhttp/Request;Lcom/android/okhttp/Response;)V
-Lcom/android/okhttp/internal/http/CacheStrategy;->cacheResponse:Lcom/android/okhttp/Response;
-Lcom/android/okhttp/internal/http/CacheStrategy;->isCacheable(Lcom/android/okhttp/Response;Lcom/android/okhttp/Request;)Z
-Lcom/android/okhttp/internal/http/CacheStrategy;->networkRequest:Lcom/android/okhttp/Request;
-Lcom/android/okhttp/internal/http/HttpEngine$NetworkInterceptorChain;
-Lcom/android/okhttp/internal/http/HttpEngine$NetworkInterceptorChain;-><init>(ILcom/android/okhttp/Request;)V
-Lcom/android/okhttp/internal/http/HttpEngine$NetworkInterceptorChain;->calls:I
-Lcom/android/okhttp/internal/http/HttpEngine$NetworkInterceptorChain;->connection()Lcom/android/okhttp/Connection;
-Lcom/android/okhttp/internal/http/HttpEngine$NetworkInterceptorChain;->index:I
-Lcom/android/okhttp/internal/http/HttpEngine$NetworkInterceptorChain;->proceed(Lcom/android/okhttp/Request;)Lcom/android/okhttp/Response;
-Lcom/android/okhttp/internal/http/HttpEngine$NetworkInterceptorChain;->request()Lcom/android/okhttp/Request;
-Lcom/android/okhttp/internal/http/HttpEngine$NetworkInterceptorChain;->request:Lcom/android/okhttp/Request;
-Lcom/android/okhttp/internal/http/HttpEngine;
-Lcom/android/okhttp/internal/http/HttpEngine;-><init>(Lcom/android/okhttp/OkHttpClient;Lcom/android/okhttp/Request;ZZZLcom/android/okhttp/internal/http/StreamAllocation;Lcom/android/okhttp/internal/http/RetryableSink;Lcom/android/okhttp/Response;)V
-Lcom/android/okhttp/internal/http/HttpEngine;->bufferedRequestBody:Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/internal/http/HttpEngine;->bufferRequestBody:Z
-Lcom/android/okhttp/internal/http/HttpEngine;->cacheResponse:Lcom/android/okhttp/Response;
-Lcom/android/okhttp/internal/http/HttpEngine;->cacheStrategy:Lcom/android/okhttp/internal/http/CacheStrategy;
-Lcom/android/okhttp/internal/http/HttpEngine;->cacheWritingResponse(Lcom/android/okhttp/internal/http/CacheRequest;Lcom/android/okhttp/Response;)Lcom/android/okhttp/Response;
-Lcom/android/okhttp/internal/http/HttpEngine;->callerWritesRequestBody:Z
-Lcom/android/okhttp/internal/http/HttpEngine;->cancel()V
-Lcom/android/okhttp/internal/http/HttpEngine;->client:Lcom/android/okhttp/OkHttpClient;
-Lcom/android/okhttp/internal/http/HttpEngine;->close()Lcom/android/okhttp/internal/http/StreamAllocation;
-Lcom/android/okhttp/internal/http/HttpEngine;->combine(Lcom/android/okhttp/Headers;Lcom/android/okhttp/Headers;)Lcom/android/okhttp/Headers;
-Lcom/android/okhttp/internal/http/HttpEngine;->connect()Lcom/android/okhttp/internal/http/HttpStream;
-Lcom/android/okhttp/internal/http/HttpEngine;->createAddress(Lcom/android/okhttp/OkHttpClient;Lcom/android/okhttp/Request;)Lcom/android/okhttp/Address;
-Lcom/android/okhttp/internal/http/HttpEngine;->EMPTY_BODY:Lcom/android/okhttp/ResponseBody;
-Lcom/android/okhttp/internal/http/HttpEngine;->followUpRequest()Lcom/android/okhttp/Request;
-Lcom/android/okhttp/internal/http/HttpEngine;->forWebSocket:Z
-Lcom/android/okhttp/internal/http/HttpEngine;->getBufferedRequestBody()Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/internal/http/HttpEngine;->getRequest()Lcom/android/okhttp/Request;
-Lcom/android/okhttp/internal/http/HttpEngine;->getRequestBody()Lcom/android/okhttp/okio/Sink;
-Lcom/android/okhttp/internal/http/HttpEngine;->getResponse()Lcom/android/okhttp/Response;
-Lcom/android/okhttp/internal/http/HttpEngine;->hasBody(Lcom/android/okhttp/Response;)Z
-Lcom/android/okhttp/internal/http/HttpEngine;->MAX_FOLLOW_UPS:I
-Lcom/android/okhttp/internal/http/HttpEngine;->maybeCache()V
-Lcom/android/okhttp/internal/http/HttpEngine;->permitsRequestBody(Lcom/android/okhttp/Request;)Z
-Lcom/android/okhttp/internal/http/HttpEngine;->readNetworkResponse()Lcom/android/okhttp/Response;
-Lcom/android/okhttp/internal/http/HttpEngine;->receiveHeaders(Lcom/android/okhttp/Headers;)V
-Lcom/android/okhttp/internal/http/HttpEngine;->recover(Lcom/android/okhttp/internal/http/RouteException;)Lcom/android/okhttp/internal/http/HttpEngine;
-Lcom/android/okhttp/internal/http/HttpEngine;->recover(Ljava/io/IOException;)Lcom/android/okhttp/internal/http/HttpEngine;
-Lcom/android/okhttp/internal/http/HttpEngine;->recover(Ljava/io/IOException;Lcom/android/okhttp/okio/Sink;)Lcom/android/okhttp/internal/http/HttpEngine;
-Lcom/android/okhttp/internal/http/HttpEngine;->releaseStreamAllocation()V
-Lcom/android/okhttp/internal/http/HttpEngine;->requestBodyOut:Lcom/android/okhttp/okio/Sink;
-Lcom/android/okhttp/internal/http/HttpEngine;->sameConnection(Lcom/android/okhttp/HttpUrl;)Z
-Lcom/android/okhttp/internal/http/HttpEngine;->storeRequest:Lcom/android/okhttp/internal/http/CacheRequest;
-Lcom/android/okhttp/internal/http/HttpEngine;->streamAllocation:Lcom/android/okhttp/internal/http/StreamAllocation;
-Lcom/android/okhttp/internal/http/HttpEngine;->stripBody(Lcom/android/okhttp/Response;)Lcom/android/okhttp/Response;
-Lcom/android/okhttp/internal/http/HttpEngine;->transparentGzip:Z
-Lcom/android/okhttp/internal/http/HttpEngine;->unzip(Lcom/android/okhttp/Response;)Lcom/android/okhttp/Response;
-Lcom/android/okhttp/internal/http/HttpEngine;->userRequest:Lcom/android/okhttp/Request;
-Lcom/android/okhttp/internal/http/HttpEngine;->validate(Lcom/android/okhttp/Response;Lcom/android/okhttp/Response;)Z
-Lcom/android/okhttp/internal/http/HttpStream;
-Lcom/android/okhttp/internal/http/HttpStream;->cancel()V
-Lcom/android/okhttp/internal/http/HttpStream;->createRequestBody(Lcom/android/okhttp/Request;J)Lcom/android/okhttp/okio/Sink;
-Lcom/android/okhttp/internal/http/HttpStream;->DISCARD_STREAM_TIMEOUT_MILLIS:I
-Lcom/android/okhttp/internal/http/HttpStream;->finishRequest()V
-Lcom/android/okhttp/internal/http/HttpStream;->openResponseBody(Lcom/android/okhttp/Response;)Lcom/android/okhttp/ResponseBody;
-Lcom/android/okhttp/internal/http/HttpStream;->readResponseHeaders()Lcom/android/okhttp/Response$Builder;
-Lcom/android/okhttp/internal/http/HttpStream;->setHttpEngine(Lcom/android/okhttp/internal/http/HttpEngine;)V
-Lcom/android/okhttp/internal/http/HttpStream;->writeRequestBody(Lcom/android/okhttp/internal/http/RetryableSink;)V
-Lcom/android/okhttp/internal/http/HttpStream;->writeRequestHeaders(Lcom/android/okhttp/Request;)V
-Lcom/android/okhttp/internal/http/RequestException;
-Lcom/android/okhttp/internal/http/RequestException;-><init>(Ljava/io/IOException;)V
-Lcom/android/okhttp/internal/http/RetryableSink;
-Lcom/android/okhttp/internal/http/RetryableSink;-><init>()V
-Lcom/android/okhttp/internal/http/RetryableSink;-><init>(I)V
-Lcom/android/okhttp/internal/http/RetryableSink;->closed:Z
-Lcom/android/okhttp/internal/http/RetryableSink;->content:Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/internal/http/RetryableSink;->contentLength()J
-Lcom/android/okhttp/internal/http/RetryableSink;->limit:I
-Lcom/android/okhttp/internal/http/RetryableSink;->timeout()Lcom/android/okhttp/okio/Timeout;
-Lcom/android/okhttp/internal/http/RetryableSink;->write(Lcom/android/okhttp/okio/Buffer;J)V
-Lcom/android/okhttp/internal/http/RetryableSink;->writeToSocket(Lcom/android/okhttp/okio/Sink;)V
-Lcom/android/okhttp/internal/http/RouteException;
-Lcom/android/okhttp/internal/http/RouteException;-><init>(Ljava/io/IOException;)V
-Lcom/android/okhttp/internal/http/RouteException;->addConnectException(Ljava/io/IOException;)V
-Lcom/android/okhttp/internal/http/RouteException;->addSuppressedExceptionMethod:Ljava/lang/reflect/Method;
-Lcom/android/okhttp/internal/http/RouteException;->addSuppressedIfPossible(Ljava/io/IOException;Ljava/io/IOException;)V
-Lcom/android/okhttp/internal/http/RouteException;->getLastConnectException()Ljava/io/IOException;
-Lcom/android/okhttp/internal/http/RouteException;->lastException:Ljava/io/IOException;
-Lcom/android/okhttp/internal/http/RouteSelector;
-Lcom/android/okhttp/internal/http/RouteSelector;-><init>(Lcom/android/okhttp/Address;Lcom/android/okhttp/internal/RouteDatabase;)V
-Lcom/android/okhttp/internal/http/RouteSelector;->address:Lcom/android/okhttp/Address;
-Lcom/android/okhttp/internal/http/RouteSelector;->connectFailed(Lcom/android/okhttp/Route;Ljava/io/IOException;)V
-Lcom/android/okhttp/internal/http/RouteSelector;->getHostString(Ljava/net/InetSocketAddress;)Ljava/lang/String;
-Lcom/android/okhttp/internal/http/RouteSelector;->hasNextInetSocketAddress()Z
-Lcom/android/okhttp/internal/http/RouteSelector;->hasNextPostponed()Z
-Lcom/android/okhttp/internal/http/RouteSelector;->hasNextProxy()Z
-Lcom/android/okhttp/internal/http/RouteSelector;->inetSocketAddresses:Ljava/util/List;
-Lcom/android/okhttp/internal/http/RouteSelector;->lastInetSocketAddress:Ljava/net/InetSocketAddress;
-Lcom/android/okhttp/internal/http/RouteSelector;->lastProxy:Ljava/net/Proxy;
-Lcom/android/okhttp/internal/http/RouteSelector;->next()Lcom/android/okhttp/Route;
-Lcom/android/okhttp/internal/http/RouteSelector;->nextInetSocketAddress()Ljava/net/InetSocketAddress;
-Lcom/android/okhttp/internal/http/RouteSelector;->nextInetSocketAddressIndex:I
-Lcom/android/okhttp/internal/http/RouteSelector;->nextPostponed()Lcom/android/okhttp/Route;
-Lcom/android/okhttp/internal/http/RouteSelector;->nextProxy()Ljava/net/Proxy;
-Lcom/android/okhttp/internal/http/RouteSelector;->nextProxyIndex:I
-Lcom/android/okhttp/internal/http/RouteSelector;->postponedRoutes:Ljava/util/List;
-Lcom/android/okhttp/internal/http/RouteSelector;->proxies:Ljava/util/List;
-Lcom/android/okhttp/internal/http/RouteSelector;->resetNextInetSocketAddress(Ljava/net/Proxy;)V
-Lcom/android/okhttp/internal/http/RouteSelector;->resetNextProxy(Lcom/android/okhttp/HttpUrl;Ljava/net/Proxy;)V
-Lcom/android/okhttp/internal/http/RouteSelector;->routeDatabase:Lcom/android/okhttp/internal/RouteDatabase;
-Lcom/android/okhttp/internal/http/StreamAllocation;
-Lcom/android/okhttp/internal/http/StreamAllocation;-><init>(Lcom/android/okhttp/ConnectionPool;Lcom/android/okhttp/Address;)V
-Lcom/android/okhttp/internal/http/StreamAllocation;->acquire(Lcom/android/okhttp/internal/io/RealConnection;)V
-Lcom/android/okhttp/internal/http/StreamAllocation;->address:Lcom/android/okhttp/Address;
-Lcom/android/okhttp/internal/http/StreamAllocation;->cancel()V
-Lcom/android/okhttp/internal/http/StreamAllocation;->canceled:Z
-Lcom/android/okhttp/internal/http/StreamAllocation;->connection()Lcom/android/okhttp/internal/io/RealConnection;
-Lcom/android/okhttp/internal/http/StreamAllocation;->connection:Lcom/android/okhttp/internal/io/RealConnection;
-Lcom/android/okhttp/internal/http/StreamAllocation;->connectionFailed()V
-Lcom/android/okhttp/internal/http/StreamAllocation;->connectionFailed(Ljava/io/IOException;)V
-Lcom/android/okhttp/internal/http/StreamAllocation;->connectionPool:Lcom/android/okhttp/ConnectionPool;
-Lcom/android/okhttp/internal/http/StreamAllocation;->deallocate(ZZZ)V
-Lcom/android/okhttp/internal/http/StreamAllocation;->findConnection(IIIZ)Lcom/android/okhttp/internal/io/RealConnection;
-Lcom/android/okhttp/internal/http/StreamAllocation;->findHealthyConnection(IIIZZ)Lcom/android/okhttp/internal/io/RealConnection;
-Lcom/android/okhttp/internal/http/StreamAllocation;->isRecoverable(Lcom/android/okhttp/internal/http/RouteException;)Z
-Lcom/android/okhttp/internal/http/StreamAllocation;->isRecoverable(Ljava/io/IOException;)Z
-Lcom/android/okhttp/internal/http/StreamAllocation;->newStream(IIIZZ)Lcom/android/okhttp/internal/http/HttpStream;
-Lcom/android/okhttp/internal/http/StreamAllocation;->noNewStreams()V
-Lcom/android/okhttp/internal/http/StreamAllocation;->recover(Lcom/android/okhttp/internal/http/RouteException;)Z
-Lcom/android/okhttp/internal/http/StreamAllocation;->recover(Ljava/io/IOException;Lcom/android/okhttp/okio/Sink;)Z
-Lcom/android/okhttp/internal/http/StreamAllocation;->release()V
-Lcom/android/okhttp/internal/http/StreamAllocation;->release(Lcom/android/okhttp/internal/io/RealConnection;)V
-Lcom/android/okhttp/internal/http/StreamAllocation;->released:Z
-Lcom/android/okhttp/internal/http/StreamAllocation;->routeDatabase()Lcom/android/okhttp/internal/RouteDatabase;
-Lcom/android/okhttp/internal/http/StreamAllocation;->routeSelector:Lcom/android/okhttp/internal/http/RouteSelector;
-Lcom/android/okhttp/internal/http/StreamAllocation;->stream()Lcom/android/okhttp/internal/http/HttpStream;
-Lcom/android/okhttp/internal/http/StreamAllocation;->stream:Lcom/android/okhttp/internal/http/HttpStream;
-Lcom/android/okhttp/internal/http/StreamAllocation;->streamFinished(Lcom/android/okhttp/internal/http/HttpStream;)V
-Lcom/android/okhttp/MediaType;
-Lcom/android/okhttp/MediaType;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/okhttp/MediaType;->charset()Ljava/nio/charset/Charset;
-Lcom/android/okhttp/MediaType;->charset(Ljava/nio/charset/Charset;)Ljava/nio/charset/Charset;
-Lcom/android/okhttp/MediaType;->charset:Ljava/lang/String;
-Lcom/android/okhttp/MediaType;->mediaType:Ljava/lang/String;
-Lcom/android/okhttp/MediaType;->PARAMETER:Ljava/util/regex/Pattern;
-Lcom/android/okhttp/MediaType;->parse(Ljava/lang/String;)Lcom/android/okhttp/MediaType;
-Lcom/android/okhttp/MediaType;->QUOTED:Ljava/lang/String;
-Lcom/android/okhttp/MediaType;->subtype()Ljava/lang/String;
-Lcom/android/okhttp/MediaType;->subtype:Ljava/lang/String;
-Lcom/android/okhttp/MediaType;->TOKEN:Ljava/lang/String;
-Lcom/android/okhttp/MediaType;->type()Ljava/lang/String;
-Lcom/android/okhttp/MediaType;->type:Ljava/lang/String;
-Lcom/android/okhttp/MediaType;->TYPE_SUBTYPE:Ljava/util/regex/Pattern;
-Lcom/android/okhttp/OkCacheContainer;
-Lcom/android/okhttp/OkCacheContainer;->getCache()Lcom/android/okhttp/Cache;
-Lcom/android/okhttp/OkHttpClient;
-Lcom/android/okhttp/OkHttpClient;-><init>(Lcom/android/okhttp/OkHttpClient;)V
-Lcom/android/okhttp/OkHttpClient;->authenticator:Lcom/android/okhttp/Authenticator;
-Lcom/android/okhttp/OkHttpClient;->cache:Lcom/android/okhttp/Cache;
-Lcom/android/okhttp/OkHttpClient;->cancel(Ljava/lang/Object;)Lcom/android/okhttp/OkHttpClient;
-Lcom/android/okhttp/OkHttpClient;->certificatePinner:Lcom/android/okhttp/CertificatePinner;
-Lcom/android/okhttp/OkHttpClient;->connectionSpecs:Ljava/util/List;
-Lcom/android/okhttp/OkHttpClient;->connectTimeout:I
-Lcom/android/okhttp/OkHttpClient;->cookieHandler:Ljava/net/CookieHandler;
-Lcom/android/okhttp/OkHttpClient;->copyWithDefaults()Lcom/android/okhttp/OkHttpClient;
-Lcom/android/okhttp/OkHttpClient;->defaultSslSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
-Lcom/android/okhttp/OkHttpClient;->DEFAULT_CONNECTION_SPECS:Ljava/util/List;
-Lcom/android/okhttp/OkHttpClient;->dispatcher:Lcom/android/okhttp/Dispatcher;
-Lcom/android/okhttp/OkHttpClient;->followRedirects:Z
-Lcom/android/okhttp/OkHttpClient;->followSslRedirects:Z
-Lcom/android/okhttp/OkHttpClient;->getAuthenticator()Lcom/android/okhttp/Authenticator;
-Lcom/android/okhttp/OkHttpClient;->getCache()Lcom/android/okhttp/Cache;
-Lcom/android/okhttp/OkHttpClient;->getCertificatePinner()Lcom/android/okhttp/CertificatePinner;
-Lcom/android/okhttp/OkHttpClient;->getConnectionSpecs()Ljava/util/List;
-Lcom/android/okhttp/OkHttpClient;->getConnectTimeout()I
-Lcom/android/okhttp/OkHttpClient;->getDefaultSSLSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
-Lcom/android/okhttp/OkHttpClient;->getDispatcher()Lcom/android/okhttp/Dispatcher;
-Lcom/android/okhttp/OkHttpClient;->getDns()Lcom/android/okhttp/Dns;
-Lcom/android/okhttp/OkHttpClient;->getFollowRedirects()Z
-Lcom/android/okhttp/OkHttpClient;->getFollowSslRedirects()Z
-Lcom/android/okhttp/OkHttpClient;->getProtocols()Ljava/util/List;
-Lcom/android/okhttp/OkHttpClient;->getReadTimeout()I
-Lcom/android/okhttp/OkHttpClient;->getRetryOnConnectionFailure()Z
-Lcom/android/okhttp/OkHttpClient;->getSocketFactory()Ljavax/net/SocketFactory;
-Lcom/android/okhttp/OkHttpClient;->getWriteTimeout()I
-Lcom/android/okhttp/OkHttpClient;->hostnameVerifier:Ljavax/net/ssl/HostnameVerifier;
-Lcom/android/okhttp/OkHttpClient;->interceptors()Ljava/util/List;
-Lcom/android/okhttp/OkHttpClient;->interceptors:Ljava/util/List;
-Lcom/android/okhttp/OkHttpClient;->internalCache()Lcom/android/okhttp/internal/InternalCache;
-Lcom/android/okhttp/OkHttpClient;->internalCache:Lcom/android/okhttp/internal/InternalCache;
-Lcom/android/okhttp/OkHttpClient;->networkInterceptors()Ljava/util/List;
-Lcom/android/okhttp/OkHttpClient;->networkInterceptors:Ljava/util/List;
-Lcom/android/okhttp/OkHttpClient;->newCall(Lcom/android/okhttp/Request;)Lcom/android/okhttp/Call;
-Lcom/android/okhttp/OkHttpClient;->protocols:Ljava/util/List;
-Lcom/android/okhttp/OkHttpClient;->proxy:Ljava/net/Proxy;
-Lcom/android/okhttp/OkHttpClient;->proxySelector:Ljava/net/ProxySelector;
-Lcom/android/okhttp/OkHttpClient;->readTimeout:I
-Lcom/android/okhttp/OkHttpClient;->retryOnConnectionFailure:Z
-Lcom/android/okhttp/OkHttpClient;->routeDatabase()Lcom/android/okhttp/internal/RouteDatabase;
-Lcom/android/okhttp/OkHttpClient;->routeDatabase:Lcom/android/okhttp/internal/RouteDatabase;
-Lcom/android/okhttp/OkHttpClient;->setAuthenticator(Lcom/android/okhttp/Authenticator;)Lcom/android/okhttp/OkHttpClient;
-Lcom/android/okhttp/OkHttpClient;->setCache(Lcom/android/okhttp/Cache;)Lcom/android/okhttp/OkHttpClient;
-Lcom/android/okhttp/OkHttpClient;->setCertificatePinner(Lcom/android/okhttp/CertificatePinner;)Lcom/android/okhttp/OkHttpClient;
-Lcom/android/okhttp/OkHttpClient;->setConnectionPool(Lcom/android/okhttp/ConnectionPool;)Lcom/android/okhttp/OkHttpClient;
-Lcom/android/okhttp/OkHttpClient;->setConnectionSpecs(Ljava/util/List;)Lcom/android/okhttp/OkHttpClient;
-Lcom/android/okhttp/OkHttpClient;->setConnectTimeout(JLjava/util/concurrent/TimeUnit;)V
-Lcom/android/okhttp/OkHttpClient;->setCookieHandler(Ljava/net/CookieHandler;)Lcom/android/okhttp/OkHttpClient;
-Lcom/android/okhttp/OkHttpClient;->setDispatcher(Lcom/android/okhttp/Dispatcher;)Lcom/android/okhttp/OkHttpClient;
-Lcom/android/okhttp/OkHttpClient;->setDns(Lcom/android/okhttp/Dns;)Lcom/android/okhttp/OkHttpClient;
-Lcom/android/okhttp/OkHttpClient;->setFollowRedirects(Z)V
-Lcom/android/okhttp/OkHttpClient;->setFollowSslRedirects(Z)Lcom/android/okhttp/OkHttpClient;
-Lcom/android/okhttp/OkHttpClient;->setHostnameVerifier(Ljavax/net/ssl/HostnameVerifier;)Lcom/android/okhttp/OkHttpClient;
-Lcom/android/okhttp/OkHttpClient;->setInternalCache(Lcom/android/okhttp/internal/InternalCache;)V
-Lcom/android/okhttp/OkHttpClient;->setProxy(Ljava/net/Proxy;)Lcom/android/okhttp/OkHttpClient;
-Lcom/android/okhttp/OkHttpClient;->setProxySelector(Ljava/net/ProxySelector;)Lcom/android/okhttp/OkHttpClient;
-Lcom/android/okhttp/OkHttpClient;->setReadTimeout(JLjava/util/concurrent/TimeUnit;)V
-Lcom/android/okhttp/OkHttpClient;->setSocketFactory(Ljavax/net/SocketFactory;)Lcom/android/okhttp/OkHttpClient;
-Lcom/android/okhttp/OkHttpClient;->setSslSocketFactory(Ljavax/net/ssl/SSLSocketFactory;)Lcom/android/okhttp/OkHttpClient;
-Lcom/android/okhttp/OkHttpClient;->setWriteTimeout(JLjava/util/concurrent/TimeUnit;)V
-Lcom/android/okhttp/OkHttpClient;->socketFactory:Ljavax/net/SocketFactory;
-Lcom/android/okhttp/OkHttpClient;->sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
-Lcom/android/okhttp/OkHttpClient;->writeTimeout:I
-Lcom/android/okhttp/okio/AsyncTimeout$Watchdog;
-Lcom/android/okhttp/okio/AsyncTimeout$Watchdog;-><init>()V
-Lcom/android/okhttp/okio/AsyncTimeout;
-Lcom/android/okhttp/okio/AsyncTimeout;-><init>()V
-Lcom/android/okhttp/okio/AsyncTimeout;->awaitTimeout()Lcom/android/okhttp/okio/AsyncTimeout;
-Lcom/android/okhttp/okio/AsyncTimeout;->cancelScheduledTimeout(Lcom/android/okhttp/okio/AsyncTimeout;)Z
-Lcom/android/okhttp/okio/AsyncTimeout;->enter()V
-Lcom/android/okhttp/okio/AsyncTimeout;->exit()Z
-Lcom/android/okhttp/okio/AsyncTimeout;->exit(Ljava/io/IOException;)Ljava/io/IOException;
-Lcom/android/okhttp/okio/AsyncTimeout;->exit(Z)V
-Lcom/android/okhttp/okio/AsyncTimeout;->head:Lcom/android/okhttp/okio/AsyncTimeout;
-Lcom/android/okhttp/okio/AsyncTimeout;->inQueue:Z
-Lcom/android/okhttp/okio/AsyncTimeout;->newTimeoutException(Ljava/io/IOException;)Ljava/io/IOException;
-Lcom/android/okhttp/okio/AsyncTimeout;->next:Lcom/android/okhttp/okio/AsyncTimeout;
-Lcom/android/okhttp/okio/AsyncTimeout;->remainingNanos(J)J
-Lcom/android/okhttp/okio/AsyncTimeout;->scheduleTimeout(Lcom/android/okhttp/okio/AsyncTimeout;JZ)V
-Lcom/android/okhttp/okio/AsyncTimeout;->sink(Lcom/android/okhttp/okio/Sink;)Lcom/android/okhttp/okio/Sink;
-Lcom/android/okhttp/okio/AsyncTimeout;->source(Lcom/android/okhttp/okio/Source;)Lcom/android/okhttp/okio/Source;
-Lcom/android/okhttp/okio/AsyncTimeout;->timedOut()V
-Lcom/android/okhttp/okio/AsyncTimeout;->timeoutAt:J
-Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;-><init>()V
-Lcom/android/okhttp/okio/Buffer;->buffer()Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->clear()V
-Lcom/android/okhttp/okio/Buffer;->completeSegmentByteCount()J
-Lcom/android/okhttp/okio/Buffer;->copyTo(Lcom/android/okhttp/okio/Buffer;JJ)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->copyTo(Ljava/io/OutputStream;)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->copyTo(Ljava/io/OutputStream;JJ)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->DIGITS:[B
-Lcom/android/okhttp/okio/Buffer;->emit()Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/Buffer;->emitCompleteSegments()Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->emitCompleteSegments()Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/Buffer;->exhausted()Z
-Lcom/android/okhttp/okio/Buffer;->getByte(J)B
-Lcom/android/okhttp/okio/Buffer;->head:Lcom/android/okhttp/okio/Segment;
-Lcom/android/okhttp/okio/Buffer;->indexOf(B)J
-Lcom/android/okhttp/okio/Buffer;->indexOf(BJ)J
-Lcom/android/okhttp/okio/Buffer;->indexOf(Lcom/android/okhttp/okio/ByteString;)J
-Lcom/android/okhttp/okio/Buffer;->indexOf(Lcom/android/okhttp/okio/ByteString;J)J
-Lcom/android/okhttp/okio/Buffer;->indexOfElement(Lcom/android/okhttp/okio/ByteString;)J
-Lcom/android/okhttp/okio/Buffer;->indexOfElement(Lcom/android/okhttp/okio/ByteString;J)J
-Lcom/android/okhttp/okio/Buffer;->inputStream()Ljava/io/InputStream;
-Lcom/android/okhttp/okio/Buffer;->outputStream()Ljava/io/OutputStream;
-Lcom/android/okhttp/okio/Buffer;->rangeEquals(JLcom/android/okhttp/okio/ByteString;)Z
-Lcom/android/okhttp/okio/Buffer;->read(Lcom/android/okhttp/okio/Buffer;J)J
-Lcom/android/okhttp/okio/Buffer;->read([B)I
-Lcom/android/okhttp/okio/Buffer;->read([BII)I
-Lcom/android/okhttp/okio/Buffer;->readAll(Lcom/android/okhttp/okio/Sink;)J
-Lcom/android/okhttp/okio/Buffer;->readByte()B
-Lcom/android/okhttp/okio/Buffer;->readByteArray()[B
-Lcom/android/okhttp/okio/Buffer;->readByteArray(J)[B
-Lcom/android/okhttp/okio/Buffer;->readByteString()Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/Buffer;->readByteString(J)Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/Buffer;->readDecimalLong()J
-Lcom/android/okhttp/okio/Buffer;->readFrom(Ljava/io/InputStream;)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->readFrom(Ljava/io/InputStream;J)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->readFrom(Ljava/io/InputStream;JZ)V
-Lcom/android/okhttp/okio/Buffer;->readFully(Lcom/android/okhttp/okio/Buffer;J)V
-Lcom/android/okhttp/okio/Buffer;->readFully([B)V
-Lcom/android/okhttp/okio/Buffer;->readHexadecimalUnsignedLong()J
-Lcom/android/okhttp/okio/Buffer;->readInt()I
-Lcom/android/okhttp/okio/Buffer;->readIntLe()I
-Lcom/android/okhttp/okio/Buffer;->readLong()J
-Lcom/android/okhttp/okio/Buffer;->readLongLe()J
-Lcom/android/okhttp/okio/Buffer;->readShort()S
-Lcom/android/okhttp/okio/Buffer;->readShortLe()S
-Lcom/android/okhttp/okio/Buffer;->readString(JLjava/nio/charset/Charset;)Ljava/lang/String;
-Lcom/android/okhttp/okio/Buffer;->readString(Ljava/nio/charset/Charset;)Ljava/lang/String;
-Lcom/android/okhttp/okio/Buffer;->readUtf8()Ljava/lang/String;
-Lcom/android/okhttp/okio/Buffer;->readUtf8(J)Ljava/lang/String;
-Lcom/android/okhttp/okio/Buffer;->readUtf8CodePoint()I
-Lcom/android/okhttp/okio/Buffer;->readUtf8Line()Ljava/lang/String;
-Lcom/android/okhttp/okio/Buffer;->readUtf8Line(J)Ljava/lang/String;
-Lcom/android/okhttp/okio/Buffer;->readUtf8LineStrict()Ljava/lang/String;
-Lcom/android/okhttp/okio/Buffer;->REPLACEMENT_CHARACTER:I
-Lcom/android/okhttp/okio/Buffer;->request(J)Z
-Lcom/android/okhttp/okio/Buffer;->require(J)V
-Lcom/android/okhttp/okio/Buffer;->segmentSizes()Ljava/util/List;
-Lcom/android/okhttp/okio/Buffer;->size()J
-Lcom/android/okhttp/okio/Buffer;->size:J
-Lcom/android/okhttp/okio/Buffer;->skip(J)V
-Lcom/android/okhttp/okio/Buffer;->snapshot()Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/Buffer;->snapshot(I)Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/Buffer;->timeout()Lcom/android/okhttp/okio/Timeout;
-Lcom/android/okhttp/okio/Buffer;->writableSegment(I)Lcom/android/okhttp/okio/Segment;
-Lcom/android/okhttp/okio/Buffer;->write(Lcom/android/okhttp/okio/Buffer;J)V
-Lcom/android/okhttp/okio/Buffer;->write(Lcom/android/okhttp/okio/ByteString;)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->write(Lcom/android/okhttp/okio/ByteString;)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/Buffer;->write(Lcom/android/okhttp/okio/Source;J)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/Buffer;->write([B)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->write([B)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/Buffer;->write([BII)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->write([BII)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/Buffer;->writeAll(Lcom/android/okhttp/okio/Source;)J
-Lcom/android/okhttp/okio/Buffer;->writeByte(I)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->writeByte(I)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/Buffer;->writeDecimalLong(J)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->writeDecimalLong(J)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/Buffer;->writeHexadecimalUnsignedLong(J)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->writeHexadecimalUnsignedLong(J)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/Buffer;->writeInt(I)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->writeInt(I)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/Buffer;->writeIntLe(I)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->writeIntLe(I)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/Buffer;->writeLong(J)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->writeLong(J)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/Buffer;->writeLongLe(J)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->writeLongLe(J)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/Buffer;->writeShort(I)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->writeShort(I)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/Buffer;->writeShortLe(I)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->writeShortLe(I)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/Buffer;->writeString(Ljava/lang/String;IILjava/nio/charset/Charset;)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->writeString(Ljava/lang/String;IILjava/nio/charset/Charset;)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/Buffer;->writeString(Ljava/lang/String;Ljava/nio/charset/Charset;)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->writeString(Ljava/lang/String;Ljava/nio/charset/Charset;)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/Buffer;->writeTo(Ljava/io/OutputStream;)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->writeTo(Ljava/io/OutputStream;J)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->writeUtf8(Ljava/lang/String;)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->writeUtf8(Ljava/lang/String;)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/Buffer;->writeUtf8(Ljava/lang/String;II)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->writeUtf8(Ljava/lang/String;II)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/Buffer;->writeUtf8CodePoint(I)Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/Buffer;->writeUtf8CodePoint(I)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;->buffer()Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/BufferedSink;->emit()Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;->emitCompleteSegments()Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;->outputStream()Ljava/io/OutputStream;
-Lcom/android/okhttp/okio/BufferedSink;->write(Lcom/android/okhttp/okio/ByteString;)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;->write(Lcom/android/okhttp/okio/Source;J)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;->write([B)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;->write([BII)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;->writeAll(Lcom/android/okhttp/okio/Source;)J
-Lcom/android/okhttp/okio/BufferedSink;->writeByte(I)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;->writeDecimalLong(J)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;->writeHexadecimalUnsignedLong(J)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;->writeInt(I)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;->writeIntLe(I)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;->writeLong(J)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;->writeLongLe(J)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;->writeShort(I)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;->writeShortLe(I)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;->writeString(Ljava/lang/String;IILjava/nio/charset/Charset;)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;->writeString(Ljava/lang/String;Ljava/nio/charset/Charset;)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;->writeUtf8(Ljava/lang/String;II)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSink;->writeUtf8CodePoint(I)Lcom/android/okhttp/okio/BufferedSink;
-Lcom/android/okhttp/okio/BufferedSource;
-Lcom/android/okhttp/okio/BufferedSource;->buffer()Lcom/android/okhttp/okio/Buffer;
-Lcom/android/okhttp/okio/BufferedSource;->exhausted()Z
-Lcom/android/okhttp/okio/BufferedSource;->indexOf(B)J
-Lcom/android/okhttp/okio/BufferedSource;->indexOf(BJ)J
-Lcom/android/okhttp/okio/BufferedSource;->indexOf(Lcom/android/okhttp/okio/ByteString;)J
-Lcom/android/okhttp/okio/BufferedSource;->indexOf(Lcom/android/okhttp/okio/ByteString;J)J
-Lcom/android/okhttp/okio/BufferedSource;->indexOfElement(Lcom/android/okhttp/okio/ByteString;)J
-Lcom/android/okhttp/okio/BufferedSource;->indexOfElement(Lcom/android/okhttp/okio/ByteString;J)J
-Lcom/android/okhttp/okio/BufferedSource;->inputStream()Ljava/io/InputStream;
-Lcom/android/okhttp/okio/BufferedSource;->read([B)I
-Lcom/android/okhttp/okio/BufferedSource;->read([BII)I
-Lcom/android/okhttp/okio/BufferedSource;->readAll(Lcom/android/okhttp/okio/Sink;)J
-Lcom/android/okhttp/okio/BufferedSource;->readByte()B
-Lcom/android/okhttp/okio/BufferedSource;->readByteArray()[B
-Lcom/android/okhttp/okio/BufferedSource;->readByteArray(J)[B
-Lcom/android/okhttp/okio/BufferedSource;->readByteString()Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/BufferedSource;->readByteString(J)Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/BufferedSource;->readDecimalLong()J
-Lcom/android/okhttp/okio/BufferedSource;->readFully(Lcom/android/okhttp/okio/Buffer;J)V
-Lcom/android/okhttp/okio/BufferedSource;->readFully([B)V
-Lcom/android/okhttp/okio/BufferedSource;->readHexadecimalUnsignedLong()J
-Lcom/android/okhttp/okio/BufferedSource;->readInt()I
-Lcom/android/okhttp/okio/BufferedSource;->readIntLe()I
-Lcom/android/okhttp/okio/BufferedSource;->readLong()J
-Lcom/android/okhttp/okio/BufferedSource;->readLongLe()J
-Lcom/android/okhttp/okio/BufferedSource;->readShort()S
-Lcom/android/okhttp/okio/BufferedSource;->readShortLe()S
-Lcom/android/okhttp/okio/BufferedSource;->readString(JLjava/nio/charset/Charset;)Ljava/lang/String;
-Lcom/android/okhttp/okio/BufferedSource;->readString(Ljava/nio/charset/Charset;)Ljava/lang/String;
-Lcom/android/okhttp/okio/BufferedSource;->readUtf8()Ljava/lang/String;
-Lcom/android/okhttp/okio/BufferedSource;->readUtf8(J)Ljava/lang/String;
-Lcom/android/okhttp/okio/BufferedSource;->readUtf8CodePoint()I
-Lcom/android/okhttp/okio/BufferedSource;->readUtf8Line()Ljava/lang/String;
-Lcom/android/okhttp/okio/BufferedSource;->readUtf8LineStrict()Ljava/lang/String;
-Lcom/android/okhttp/okio/BufferedSource;->request(J)Z
-Lcom/android/okhttp/okio/BufferedSource;->require(J)V
-Lcom/android/okhttp/okio/BufferedSource;->skip(J)V
-Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/ByteString;-><init>([B)V
-Lcom/android/okhttp/okio/ByteString;->base64()Ljava/lang/String;
-Lcom/android/okhttp/okio/ByteString;->base64Url()Ljava/lang/String;
-Lcom/android/okhttp/okio/ByteString;->compareTo(Lcom/android/okhttp/okio/ByteString;)I
-Lcom/android/okhttp/okio/ByteString;->compareTo(Ljava/lang/Object;)I
-Lcom/android/okhttp/okio/ByteString;->data:[B
-Lcom/android/okhttp/okio/ByteString;->decodeBase64(Ljava/lang/String;)Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/ByteString;->decodeHex(Ljava/lang/String;)Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/ByteString;->decodeHexDigit(C)I
-Lcom/android/okhttp/okio/ByteString;->digest(Ljava/lang/String;)Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/ByteString;->EMPTY:Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/ByteString;->encodeUtf8(Ljava/lang/String;)Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/ByteString;->getByte(I)B
-Lcom/android/okhttp/okio/ByteString;->hashCode:I
-Lcom/android/okhttp/okio/ByteString;->hex()Ljava/lang/String;
-Lcom/android/okhttp/okio/ByteString;->HEX_DIGITS:[C
-Lcom/android/okhttp/okio/ByteString;->md5()Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/ByteString;->of([BII)Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/ByteString;->of([[B)Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/ByteString;->rangeEquals(ILcom/android/okhttp/okio/ByteString;II)Z
-Lcom/android/okhttp/okio/ByteString;->rangeEquals(I[BII)Z
-Lcom/android/okhttp/okio/ByteString;->read(Ljava/io/InputStream;I)Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/ByteString;->sha256()Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/ByteString;->size()I
-Lcom/android/okhttp/okio/ByteString;->substring(I)Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/ByteString;->substring(II)Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/ByteString;->toAsciiLowercase()Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/ByteString;->toAsciiUppercase()Lcom/android/okhttp/okio/ByteString;
-Lcom/android/okhttp/okio/ByteString;->toByteArray()[B
-Lcom/android/okhttp/okio/ByteString;->utf8()Ljava/lang/String;
-Lcom/android/okhttp/okio/ByteString;->utf8:Ljava/lang/String;
-Lcom/android/okhttp/okio/ByteString;->write(Lcom/android/okhttp/okio/Buffer;)V
-Lcom/android/okhttp/okio/ByteString;->write(Ljava/io/OutputStream;)V
-Lcom/android/okhttp/okio/Segment;
-Lcom/android/okhttp/okio/Segment;-><init>()V
-Lcom/android/okhttp/okio/Segment;-><init>(Lcom/android/okhttp/okio/Segment;)V
-Lcom/android/okhttp/okio/Segment;-><init>([BII)V
-Lcom/android/okhttp/okio/Segment;->compact()V
-Lcom/android/okhttp/okio/Segment;->data:[B
-Lcom/android/okhttp/okio/Segment;->limit:I
-Lcom/android/okhttp/okio/Segment;->next:Lcom/android/okhttp/okio/Segment;
-Lcom/android/okhttp/okio/Segment;->owner:Z
-Lcom/android/okhttp/okio/Segment;->pop()Lcom/android/okhttp/okio/Segment;
-Lcom/android/okhttp/okio/Segment;->pos:I
-Lcom/android/okhttp/okio/Segment;->prev:Lcom/android/okhttp/okio/Segment;
-Lcom/android/okhttp/okio/Segment;->push(Lcom/android/okhttp/okio/Segment;)Lcom/android/okhttp/okio/Segment;
-Lcom/android/okhttp/okio/Segment;->shared:Z
-Lcom/android/okhttp/okio/Segment;->SIZE:I
-Lcom/android/okhttp/okio/Segment;->split(I)Lcom/android/okhttp/okio/Segment;
-Lcom/android/okhttp/okio/Segment;->writeTo(Lcom/android/okhttp/okio/Segment;I)V
-Lcom/android/okhttp/okio/Sink;
-Lcom/android/okhttp/okio/Sink;->timeout()Lcom/android/okhttp/okio/Timeout;
-Lcom/android/okhttp/okio/Sink;->write(Lcom/android/okhttp/okio/Buffer;J)V
-Lcom/android/okhttp/okio/Source;
-Lcom/android/okhttp/okio/Source;->read(Lcom/android/okhttp/okio/Buffer;J)J
-Lcom/android/okhttp/okio/Source;->timeout()Lcom/android/okhttp/okio/Timeout;
-Lcom/android/okhttp/okio/Timeout;
-Lcom/android/okhttp/okio/Timeout;-><init>()V
-Lcom/android/okhttp/okio/Timeout;->clearDeadline()Lcom/android/okhttp/okio/Timeout;
-Lcom/android/okhttp/okio/Timeout;->clearTimeout()Lcom/android/okhttp/okio/Timeout;
-Lcom/android/okhttp/okio/Timeout;->deadline(JLjava/util/concurrent/TimeUnit;)Lcom/android/okhttp/okio/Timeout;
-Lcom/android/okhttp/okio/Timeout;->deadlineNanoTime()J
-Lcom/android/okhttp/okio/Timeout;->deadlineNanoTime(J)Lcom/android/okhttp/okio/Timeout;
-Lcom/android/okhttp/okio/Timeout;->deadlineNanoTime:J
-Lcom/android/okhttp/okio/Timeout;->hasDeadline()Z
-Lcom/android/okhttp/okio/Timeout;->hasDeadline:Z
-Lcom/android/okhttp/okio/Timeout;->NONE:Lcom/android/okhttp/okio/Timeout;
-Lcom/android/okhttp/okio/Timeout;->throwIfReached()V
-Lcom/android/okhttp/okio/Timeout;->timeout(JLjava/util/concurrent/TimeUnit;)Lcom/android/okhttp/okio/Timeout;
-Lcom/android/okhttp/okio/Timeout;->timeoutNanos()J
-Lcom/android/okhttp/okio/Timeout;->timeoutNanos:J
-Lcom/android/okhttp/Protocol;
-Lcom/android/okhttp/Protocol;-><init>(Ljava/lang/String;)V
-Lcom/android/okhttp/Protocol;->get(Ljava/lang/String;)Lcom/android/okhttp/Protocol;
-Lcom/android/okhttp/Protocol;->HTTP_1_0:Lcom/android/okhttp/Protocol;
-Lcom/android/okhttp/Protocol;->HTTP_1_1:Lcom/android/okhttp/Protocol;
-Lcom/android/okhttp/Protocol;->HTTP_2:Lcom/android/okhttp/Protocol;
-Lcom/android/okhttp/Protocol;->protocol:Ljava/lang/String;
-Lcom/android/okhttp/Protocol;->SPDY_3:Lcom/android/okhttp/Protocol;
-Lcom/android/okhttp/Protocol;->valueOf(Ljava/lang/String;)Lcom/android/okhttp/Protocol;
-Lcom/android/okhttp/Protocol;->values()[Lcom/android/okhttp/Protocol;
-Lcom/android/okhttp/Request$Builder;
-Lcom/android/okhttp/Request$Builder;-><init>()V
-Lcom/android/okhttp/Request$Builder;-><init>(Lcom/android/okhttp/Request;)V
-Lcom/android/okhttp/Request$Builder;->addHeader(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/Request$Builder;
-Lcom/android/okhttp/Request$Builder;->body:Lcom/android/okhttp/RequestBody;
-Lcom/android/okhttp/Request$Builder;->build()Lcom/android/okhttp/Request;
-Lcom/android/okhttp/Request$Builder;->cacheControl(Lcom/android/okhttp/CacheControl;)Lcom/android/okhttp/Request$Builder;
-Lcom/android/okhttp/Request$Builder;->delete()Lcom/android/okhttp/Request$Builder;
-Lcom/android/okhttp/Request$Builder;->delete(Lcom/android/okhttp/RequestBody;)Lcom/android/okhttp/Request$Builder;
-Lcom/android/okhttp/Request$Builder;->get()Lcom/android/okhttp/Request$Builder;
-Lcom/android/okhttp/Request$Builder;->head()Lcom/android/okhttp/Request$Builder;
-Lcom/android/okhttp/Request$Builder;->header(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/Request$Builder;
-Lcom/android/okhttp/Request$Builder;->headers(Lcom/android/okhttp/Headers;)Lcom/android/okhttp/Request$Builder;
-Lcom/android/okhttp/Request$Builder;->headers:Lcom/android/okhttp/Headers$Builder;
-Lcom/android/okhttp/Request$Builder;->method(Ljava/lang/String;Lcom/android/okhttp/RequestBody;)Lcom/android/okhttp/Request$Builder;
-Lcom/android/okhttp/Request$Builder;->method:Ljava/lang/String;
-Lcom/android/okhttp/Request$Builder;->patch(Lcom/android/okhttp/RequestBody;)Lcom/android/okhttp/Request$Builder;
-Lcom/android/okhttp/Request$Builder;->post(Lcom/android/okhttp/RequestBody;)Lcom/android/okhttp/Request$Builder;
-Lcom/android/okhttp/Request$Builder;->put(Lcom/android/okhttp/RequestBody;)Lcom/android/okhttp/Request$Builder;
-Lcom/android/okhttp/Request$Builder;->removeHeader(Ljava/lang/String;)Lcom/android/okhttp/Request$Builder;
-Lcom/android/okhttp/Request$Builder;->tag(Ljava/lang/Object;)Lcom/android/okhttp/Request$Builder;
-Lcom/android/okhttp/Request$Builder;->tag:Ljava/lang/Object;
-Lcom/android/okhttp/Request$Builder;->url(Lcom/android/okhttp/HttpUrl;)Lcom/android/okhttp/Request$Builder;
-Lcom/android/okhttp/Request$Builder;->url(Ljava/lang/String;)Lcom/android/okhttp/Request$Builder;
-Lcom/android/okhttp/Request$Builder;->url(Ljava/net/URL;)Lcom/android/okhttp/Request$Builder;
-Lcom/android/okhttp/Request$Builder;->url:Lcom/android/okhttp/HttpUrl;
-Lcom/android/okhttp/Request;
-Lcom/android/okhttp/Request;-><init>(Lcom/android/okhttp/Request$Builder;)V
-Lcom/android/okhttp/Request;->body()Lcom/android/okhttp/RequestBody;
-Lcom/android/okhttp/Request;->body:Lcom/android/okhttp/RequestBody;
-Lcom/android/okhttp/Request;->cacheControl()Lcom/android/okhttp/CacheControl;
-Lcom/android/okhttp/Request;->cacheControl:Lcom/android/okhttp/CacheControl;
-Lcom/android/okhttp/Request;->header(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/okhttp/Request;->headers()Lcom/android/okhttp/Headers;
-Lcom/android/okhttp/Request;->headers(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/okhttp/Request;->httpUrl()Lcom/android/okhttp/HttpUrl;
-Lcom/android/okhttp/Request;->isHttps()Z
-Lcom/android/okhttp/Request;->javaNetUri:Ljava/net/URI;
-Lcom/android/okhttp/Request;->javaNetUrl:Ljava/net/URL;
-Lcom/android/okhttp/Request;->method()Ljava/lang/String;
-Lcom/android/okhttp/Request;->newBuilder()Lcom/android/okhttp/Request$Builder;
-Lcom/android/okhttp/Request;->tag()Ljava/lang/Object;
-Lcom/android/okhttp/Request;->tag:Ljava/lang/Object;
-Lcom/android/okhttp/Request;->uri()Ljava/net/URI;
-Lcom/android/okhttp/Request;->url()Ljava/net/URL;
-Lcom/android/okhttp/Request;->urlString()Ljava/lang/String;
-Lcom/android/okhttp/RequestBody;
-Lcom/android/okhttp/RequestBody;-><init>()V
-Lcom/android/okhttp/RequestBody;->contentLength()J
-Lcom/android/okhttp/RequestBody;->contentType()Lcom/android/okhttp/MediaType;
-Lcom/android/okhttp/RequestBody;->create(Lcom/android/okhttp/MediaType;Lcom/android/okhttp/okio/ByteString;)Lcom/android/okhttp/RequestBody;
-Lcom/android/okhttp/RequestBody;->create(Lcom/android/okhttp/MediaType;Ljava/io/File;)Lcom/android/okhttp/RequestBody;
-Lcom/android/okhttp/RequestBody;->create(Lcom/android/okhttp/MediaType;Ljava/lang/String;)Lcom/android/okhttp/RequestBody;
-Lcom/android/okhttp/RequestBody;->create(Lcom/android/okhttp/MediaType;[B)Lcom/android/okhttp/RequestBody;
-Lcom/android/okhttp/RequestBody;->create(Lcom/android/okhttp/MediaType;[BII)Lcom/android/okhttp/RequestBody;
-Lcom/android/okhttp/RequestBody;->writeTo(Lcom/android/okhttp/okio/BufferedSink;)V
-Lcom/android/okhttp/Response$Builder;
-Lcom/android/okhttp/Response$Builder;-><init>()V
-Lcom/android/okhttp/Response$Builder;-><init>(Lcom/android/okhttp/Response;)V
-Lcom/android/okhttp/Response$Builder;->addHeader(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/Response$Builder;
-Lcom/android/okhttp/Response$Builder;->body(Lcom/android/okhttp/ResponseBody;)Lcom/android/okhttp/Response$Builder;
-Lcom/android/okhttp/Response$Builder;->body:Lcom/android/okhttp/ResponseBody;
-Lcom/android/okhttp/Response$Builder;->build()Lcom/android/okhttp/Response;
-Lcom/android/okhttp/Response$Builder;->cacheResponse(Lcom/android/okhttp/Response;)Lcom/android/okhttp/Response$Builder;
-Lcom/android/okhttp/Response$Builder;->cacheResponse:Lcom/android/okhttp/Response;
-Lcom/android/okhttp/Response$Builder;->checkPriorResponse(Lcom/android/okhttp/Response;)V
-Lcom/android/okhttp/Response$Builder;->checkSupportResponse(Ljava/lang/String;Lcom/android/okhttp/Response;)V
-Lcom/android/okhttp/Response$Builder;->code(I)Lcom/android/okhttp/Response$Builder;
-Lcom/android/okhttp/Response$Builder;->code:I
-Lcom/android/okhttp/Response$Builder;->handshake(Lcom/android/okhttp/Handshake;)Lcom/android/okhttp/Response$Builder;
-Lcom/android/okhttp/Response$Builder;->handshake:Lcom/android/okhttp/Handshake;
-Lcom/android/okhttp/Response$Builder;->header(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/Response$Builder;
-Lcom/android/okhttp/Response$Builder;->headers(Lcom/android/okhttp/Headers;)Lcom/android/okhttp/Response$Builder;
-Lcom/android/okhttp/Response$Builder;->headers:Lcom/android/okhttp/Headers$Builder;
-Lcom/android/okhttp/Response$Builder;->message(Ljava/lang/String;)Lcom/android/okhttp/Response$Builder;
-Lcom/android/okhttp/Response$Builder;->message:Ljava/lang/String;
-Lcom/android/okhttp/Response$Builder;->networkResponse(Lcom/android/okhttp/Response;)Lcom/android/okhttp/Response$Builder;
-Lcom/android/okhttp/Response$Builder;->networkResponse:Lcom/android/okhttp/Response;
-Lcom/android/okhttp/Response$Builder;->priorResponse(Lcom/android/okhttp/Response;)Lcom/android/okhttp/Response$Builder;
-Lcom/android/okhttp/Response$Builder;->priorResponse:Lcom/android/okhttp/Response;
-Lcom/android/okhttp/Response$Builder;->protocol(Lcom/android/okhttp/Protocol;)Lcom/android/okhttp/Response$Builder;
-Lcom/android/okhttp/Response$Builder;->protocol:Lcom/android/okhttp/Protocol;
-Lcom/android/okhttp/Response$Builder;->removeHeader(Ljava/lang/String;)Lcom/android/okhttp/Response$Builder;
-Lcom/android/okhttp/Response$Builder;->request(Lcom/android/okhttp/Request;)Lcom/android/okhttp/Response$Builder;
-Lcom/android/okhttp/Response$Builder;->request:Lcom/android/okhttp/Request;
-Lcom/android/okhttp/Response;
-Lcom/android/okhttp/Response;-><init>(Lcom/android/okhttp/Response$Builder;)V
-Lcom/android/okhttp/Response;->body()Lcom/android/okhttp/ResponseBody;
-Lcom/android/okhttp/Response;->body:Lcom/android/okhttp/ResponseBody;
-Lcom/android/okhttp/Response;->cacheControl()Lcom/android/okhttp/CacheControl;
-Lcom/android/okhttp/Response;->cacheControl:Lcom/android/okhttp/CacheControl;
-Lcom/android/okhttp/Response;->cacheResponse()Lcom/android/okhttp/Response;
-Lcom/android/okhttp/Response;->cacheResponse:Lcom/android/okhttp/Response;
-Lcom/android/okhttp/Response;->challenges()Ljava/util/List;
-Lcom/android/okhttp/Response;->code()I
-Lcom/android/okhttp/Response;->handshake()Lcom/android/okhttp/Handshake;
-Lcom/android/okhttp/Response;->handshake:Lcom/android/okhttp/Handshake;
-Lcom/android/okhttp/Response;->header(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/okhttp/Response;->header(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/okhttp/Response;->headers()Lcom/android/okhttp/Headers;
-Lcom/android/okhttp/Response;->headers(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/okhttp/Response;->isRedirect()Z
-Lcom/android/okhttp/Response;->isSuccessful()Z
-Lcom/android/okhttp/Response;->message()Ljava/lang/String;
-Lcom/android/okhttp/Response;->networkResponse()Lcom/android/okhttp/Response;
-Lcom/android/okhttp/Response;->newBuilder()Lcom/android/okhttp/Response$Builder;
-Lcom/android/okhttp/Response;->priorResponse()Lcom/android/okhttp/Response;
-Lcom/android/okhttp/Response;->priorResponse:Lcom/android/okhttp/Response;
-Lcom/android/okhttp/Response;->protocol()Lcom/android/okhttp/Protocol;
-Lcom/android/okhttp/Response;->request()Lcom/android/okhttp/Request;
-Lcom/android/okhttp/Response;->request:Lcom/android/okhttp/Request;
-Lcom/android/okhttp/ResponseBody;
-Lcom/android/okhttp/ResponseBody;-><init>()V
-Lcom/android/okhttp/ResponseBody;->bytes()[B
-Lcom/android/okhttp/ResponseBody;->byteStream()Ljava/io/InputStream;
-Lcom/android/okhttp/ResponseBody;->charset()Ljava/nio/charset/Charset;
-Lcom/android/okhttp/ResponseBody;->charStream()Ljava/io/Reader;
-Lcom/android/okhttp/ResponseBody;->contentLength()J
-Lcom/android/okhttp/ResponseBody;->contentType()Lcom/android/okhttp/MediaType;
-Lcom/android/okhttp/ResponseBody;->create(Lcom/android/okhttp/MediaType;JLcom/android/okhttp/okio/BufferedSource;)Lcom/android/okhttp/ResponseBody;
-Lcom/android/okhttp/ResponseBody;->create(Lcom/android/okhttp/MediaType;Ljava/lang/String;)Lcom/android/okhttp/ResponseBody;
-Lcom/android/okhttp/ResponseBody;->create(Lcom/android/okhttp/MediaType;[B)Lcom/android/okhttp/ResponseBody;
-Lcom/android/okhttp/ResponseBody;->reader:Ljava/io/Reader;
-Lcom/android/okhttp/ResponseBody;->source()Lcom/android/okhttp/okio/BufferedSource;
-Lcom/android/okhttp/ResponseBody;->string()Ljava/lang/String;
-Lcom/android/okhttp/Route;
-Lcom/android/okhttp/Route;-><init>(Lcom/android/okhttp/Address;Ljava/net/Proxy;Ljava/net/InetSocketAddress;)V
-Lcom/android/okhttp/Route;->address:Lcom/android/okhttp/Address;
-Lcom/android/okhttp/Route;->getAddress()Lcom/android/okhttp/Address;
-Lcom/android/okhttp/Route;->getProxy()Ljava/net/Proxy;
-Lcom/android/okhttp/Route;->getSocketAddress()Ljava/net/InetSocketAddress;
-Lcom/android/okhttp/Route;->inetSocketAddress:Ljava/net/InetSocketAddress;
-Lcom/android/okhttp/Route;->proxy:Ljava/net/Proxy;
-Lcom/android/okhttp/Route;->requiresTunnel()Z
-Lcom/android/okhttp/TlsVersion;
-Lcom/android/okhttp/TlsVersion;-><init>(Ljava/lang/String;)V
-Lcom/android/okhttp/TlsVersion;->forJavaName(Ljava/lang/String;)Lcom/android/okhttp/TlsVersion;
-Lcom/android/okhttp/TlsVersion;->javaName()Ljava/lang/String;
-Lcom/android/okhttp/TlsVersion;->javaName:Ljava/lang/String;
-Lcom/android/okhttp/TlsVersion;->SSL_3_0:Lcom/android/okhttp/TlsVersion;
-Lcom/android/okhttp/TlsVersion;->TLS_1_0:Lcom/android/okhttp/TlsVersion;
-Lcom/android/okhttp/TlsVersion;->TLS_1_1:Lcom/android/okhttp/TlsVersion;
-Lcom/android/okhttp/TlsVersion;->TLS_1_2:Lcom/android/okhttp/TlsVersion;
-Lcom/android/okhttp/TlsVersion;->valueOf(Ljava/lang/String;)Lcom/android/okhttp/TlsVersion;
-Lcom/android/okhttp/TlsVersion;->values()[Lcom/android/okhttp/TlsVersion;
-Lcom/android/org/conscrypt/AbstractConscryptSocket;
-Lcom/android/org/conscrypt/AbstractConscryptSocket;-><init>()V
-Lcom/android/org/conscrypt/AbstractConscryptSocket;-><init>(Ljava/lang/String;I)V
-Lcom/android/org/conscrypt/AbstractConscryptSocket;-><init>(Ljava/lang/String;ILjava/net/InetAddress;I)V
-Lcom/android/org/conscrypt/AbstractConscryptSocket;-><init>(Ljava/net/InetAddress;I)V
-Lcom/android/org/conscrypt/AbstractConscryptSocket;-><init>(Ljava/net/InetAddress;ILjava/net/InetAddress;I)V
-Lcom/android/org/conscrypt/AbstractConscryptSocket;->getFileDescriptor$()Ljava/io/FileDescriptor;
-Lcom/android/org/conscrypt/AbstractConscryptSocket;->getTlsUnique()[B
-Lcom/android/org/conscrypt/AbstractConscryptSocket;->peerInfoProvider()Lcom/android/org/conscrypt/PeerInfoProvider;
-Lcom/android/org/conscrypt/AbstractConscryptSocket;->setApplicationProtocolSelector(Lcom/android/org/conscrypt/ApplicationProtocolSelector;)V
-Lcom/android/org/conscrypt/ApplicationProtocolSelector;
-Lcom/android/org/conscrypt/ApplicationProtocolSelector;-><init>()V
-Lcom/android/org/conscrypt/ApplicationProtocolSelector;->selectApplicationProtocol(Ljavax/net/ssl/SSLEngine;Ljava/util/List;)Ljava/lang/String;
-Lcom/android/org/conscrypt/ApplicationProtocolSelector;->selectApplicationProtocol(Ljavax/net/ssl/SSLSocket;Ljava/util/List;)Ljava/lang/String;
-Lcom/android/org/conscrypt/ApplicationProtocolSelectorAdapter;
-Lcom/android/org/conscrypt/ApplicationProtocolSelectorAdapter;-><init>(Ljavax/net/ssl/SSLEngine;Lcom/android/org/conscrypt/ApplicationProtocolSelector;)V
-Lcom/android/org/conscrypt/ApplicationProtocolSelectorAdapter;-><init>(Ljavax/net/ssl/SSLSocket;Lcom/android/org/conscrypt/ApplicationProtocolSelector;)V
-Lcom/android/org/conscrypt/ApplicationProtocolSelectorAdapter;->engine:Ljavax/net/ssl/SSLEngine;
-Lcom/android/org/conscrypt/ApplicationProtocolSelectorAdapter;->NO_PROTOCOL_SELECTED:I
-Lcom/android/org/conscrypt/ApplicationProtocolSelectorAdapter;->selectApplicationProtocol([B)I
-Lcom/android/org/conscrypt/ApplicationProtocolSelectorAdapter;->selector:Lcom/android/org/conscrypt/ApplicationProtocolSelector;
-Lcom/android/org/conscrypt/ApplicationProtocolSelectorAdapter;->socket:Ljavax/net/ssl/SSLSocket;
-Lcom/android/org/conscrypt/CertBlacklist;
-Lcom/android/org/conscrypt/CertBlacklist;-><init>(Ljava/util/Set;Ljava/util/Set;)V
-Lcom/android/org/conscrypt/CertBlacklist;->closeQuietly(Ljava/io/Closeable;)V
-Lcom/android/org/conscrypt/CertBlacklist;->getDefault()Lcom/android/org/conscrypt/CertBlacklist;
-Lcom/android/org/conscrypt/CertBlacklist;->HEX_TABLE:[B
-Lcom/android/org/conscrypt/CertBlacklist;->isHex(Ljava/lang/String;)Z
-Lcom/android/org/conscrypt/CertBlacklist;->isPubkeyHash(Ljava/lang/String;)Z
-Lcom/android/org/conscrypt/CertBlacklist;->isPublicKeyBlackListed(Ljava/security/PublicKey;)Z
-Lcom/android/org/conscrypt/CertBlacklist;->isSerialNumberBlackListed(Ljava/math/BigInteger;)Z
-Lcom/android/org/conscrypt/CertBlacklist;->logger:Ljava/util/logging/Logger;
-Lcom/android/org/conscrypt/CertBlacklist;->pubkeyBlacklist:Ljava/util/Set;
-Lcom/android/org/conscrypt/CertBlacklist;->readBlacklist(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/org/conscrypt/CertBlacklist;->readFileAsBytes(Ljava/lang/String;)Ljava/io/ByteArrayOutputStream;
-Lcom/android/org/conscrypt/CertBlacklist;->readFileAsString(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/org/conscrypt/CertBlacklist;->readPublicKeyBlackList(Ljava/lang/String;)Ljava/util/Set;
-Lcom/android/org/conscrypt/CertBlacklist;->readSerialBlackList(Ljava/lang/String;)Ljava/util/Set;
-Lcom/android/org/conscrypt/CertBlacklist;->serialBlacklist:Ljava/util/Set;
-Lcom/android/org/conscrypt/CertBlacklist;->toHex([B)[B
-Lcom/android/org/conscrypt/CertificatePriorityComparator;
-Lcom/android/org/conscrypt/CertificatePriorityComparator;-><init>()V
-Lcom/android/org/conscrypt/CertificatePriorityComparator;->ALGORITHM_OID_PRIORITY_MAP:Ljava/util/Map;
-Lcom/android/org/conscrypt/CertificatePriorityComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-Lcom/android/org/conscrypt/CertificatePriorityComparator;->compare(Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;)I
-Lcom/android/org/conscrypt/CertificatePriorityComparator;->compareKeyAlgorithm(Ljava/security/PublicKey;Ljava/security/PublicKey;)I
-Lcom/android/org/conscrypt/CertificatePriorityComparator;->compareKeySize(Ljava/security/PublicKey;Ljava/security/PublicKey;)I
-Lcom/android/org/conscrypt/CertificatePriorityComparator;->compareSignatureAlgorithm(Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;)I
-Lcom/android/org/conscrypt/CertificatePriorityComparator;->compareStrength(Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;)I
-Lcom/android/org/conscrypt/CertificatePriorityComparator;->getKeySize(Ljava/security/PublicKey;)I
-Lcom/android/org/conscrypt/CertificatePriorityComparator;->PRIORITY_MD5:Ljava/lang/Integer;
-Lcom/android/org/conscrypt/CertificatePriorityComparator;->PRIORITY_SHA1:Ljava/lang/Integer;
-Lcom/android/org/conscrypt/CertificatePriorityComparator;->PRIORITY_SHA224:Ljava/lang/Integer;
-Lcom/android/org/conscrypt/CertificatePriorityComparator;->PRIORITY_SHA256:Ljava/lang/Integer;
-Lcom/android/org/conscrypt/CertificatePriorityComparator;->PRIORITY_SHA384:Ljava/lang/Integer;
-Lcom/android/org/conscrypt/CertificatePriorityComparator;->PRIORITY_SHA512:Ljava/lang/Integer;
-Lcom/android/org/conscrypt/CertificatePriorityComparator;->PRIORITY_UNKNOWN:Ljava/lang/Integer;
-Lcom/android/org/conscrypt/CertPinManager;
-Lcom/android/org/conscrypt/CertPinManager;->checkChainPinning(Ljava/lang/String;Ljava/util/List;)V
-Lcom/android/org/conscrypt/ConscryptSocketBase;
-Lcom/android/org/conscrypt/ConscryptSocketBase;-><init>()V
-Lcom/android/org/conscrypt/ConscryptSocketBase;-><init>(Ljava/lang/String;I)V
-Lcom/android/org/conscrypt/ConscryptSocketBase;-><init>(Ljava/lang/String;ILjava/net/InetAddress;I)V
-Lcom/android/org/conscrypt/ConscryptSocketBase;-><init>(Ljava/net/InetAddress;I)V
-Lcom/android/org/conscrypt/ConscryptSocketBase;-><init>(Ljava/net/InetAddress;ILjava/net/InetAddress;I)V
-Lcom/android/org/conscrypt/ConscryptSocketBase;-><init>(Ljava/net/Socket;Ljava/lang/String;IZ)V
-Lcom/android/org/conscrypt/ConscryptSocketBase;->autoClose:Z
-Lcom/android/org/conscrypt/ConscryptSocketBase;->checkOpen()V
-Lcom/android/org/conscrypt/ConscryptSocketBase;->getActiveSession()Ljavax/net/ssl/SSLSession;
-Lcom/android/org/conscrypt/ConscryptSocketBase;->getFileDescriptor$()Ljava/io/FileDescriptor;
-Lcom/android/org/conscrypt/ConscryptSocketBase;->isDelegating()Z
-Lcom/android/org/conscrypt/ConscryptSocketBase;->listeners:Ljava/util/List;
-Lcom/android/org/conscrypt/ConscryptSocketBase;->notifyHandshakeCompletedListeners()V
-Lcom/android/org/conscrypt/ConscryptSocketBase;->peerHostname:Ljava/lang/String;
-Lcom/android/org/conscrypt/ConscryptSocketBase;->peerInfoProvider()Lcom/android/org/conscrypt/PeerInfoProvider;
-Lcom/android/org/conscrypt/ConscryptSocketBase;->peerInfoProvider:Lcom/android/org/conscrypt/PeerInfoProvider;
-Lcom/android/org/conscrypt/ConscryptSocketBase;->peerPort:I
-Lcom/android/org/conscrypt/ConscryptSocketBase;->readTimeoutMilliseconds:I
-Lcom/android/org/conscrypt/ConscryptSocketBase;->setApplicationProtocolSelector(Lcom/android/org/conscrypt/ApplicationProtocolSelectorAdapter;)V
-Lcom/android/org/conscrypt/NativeRef$EC_GROUP;
-Lcom/android/org/conscrypt/NativeRef$EC_GROUP;-><init>(J)V
-Lcom/android/org/conscrypt/NativeRef$EC_GROUP;->doFree(J)V
-Lcom/android/org/conscrypt/NativeRef$EC_POINT;
-Lcom/android/org/conscrypt/NativeRef$EC_POINT;-><init>(J)V
-Lcom/android/org/conscrypt/NativeRef$EC_POINT;->doFree(J)V
-Lcom/android/org/conscrypt/NativeRef$EVP_CIPHER_CTX;
-Lcom/android/org/conscrypt/NativeRef$EVP_CIPHER_CTX;-><init>(J)V
-Lcom/android/org/conscrypt/NativeRef$EVP_CIPHER_CTX;->doFree(J)V
-Lcom/android/org/conscrypt/NativeRef$EVP_MD_CTX;
-Lcom/android/org/conscrypt/NativeRef$EVP_MD_CTX;-><init>(J)V
-Lcom/android/org/conscrypt/NativeRef$EVP_MD_CTX;->doFree(J)V
-Lcom/android/org/conscrypt/NativeRef$EVP_PKEY;
-Lcom/android/org/conscrypt/NativeRef$EVP_PKEY;-><init>(J)V
-Lcom/android/org/conscrypt/NativeRef$EVP_PKEY;->doFree(J)V
-Lcom/android/org/conscrypt/NativeRef$EVP_PKEY_CTX;
-Lcom/android/org/conscrypt/NativeRef$EVP_PKEY_CTX;-><init>(J)V
-Lcom/android/org/conscrypt/NativeRef$EVP_PKEY_CTX;->doFree(J)V
-Lcom/android/org/conscrypt/NativeRef$HMAC_CTX;
-Lcom/android/org/conscrypt/NativeRef$HMAC_CTX;-><init>(J)V
-Lcom/android/org/conscrypt/NativeRef$HMAC_CTX;->doFree(J)V
-Lcom/android/org/conscrypt/NativeRef$SSL_SESSION;
-Lcom/android/org/conscrypt/NativeRef$SSL_SESSION;-><init>(J)V
-Lcom/android/org/conscrypt/NativeRef$SSL_SESSION;->doFree(J)V
-Lcom/android/org/conscrypt/NativeRef;
-Lcom/android/org/conscrypt/NativeRef;-><init>(J)V
-Lcom/android/org/conscrypt/NativeRef;->context:J
-Lcom/android/org/conscrypt/NativeRef;->doFree(J)V
-Lcom/android/org/conscrypt/OpenSSLKey;
-Lcom/android/org/conscrypt/OpenSSLKey;-><init>(JZ)V
-Lcom/android/org/conscrypt/OpenSSLKey;->ctx:Lcom/android/org/conscrypt/NativeRef$EVP_PKEY;
-Lcom/android/org/conscrypt/OpenSSLKey;->fromECPrivateKeyForTLSStackOnly(Ljava/security/PrivateKey;Ljava/security/spec/ECParameterSpec;)Lcom/android/org/conscrypt/OpenSSLKey;
-Lcom/android/org/conscrypt/OpenSSLKey;->fromKeyMaterial(Ljava/security/PrivateKey;)Lcom/android/org/conscrypt/OpenSSLKey;
-Lcom/android/org/conscrypt/OpenSSLKey;->fromPrivateKeyForTLSStackOnly(Ljava/security/PrivateKey;Ljava/security/PublicKey;)Lcom/android/org/conscrypt/OpenSSLKey;
-Lcom/android/org/conscrypt/OpenSSLKey;->fromPrivateKeyPemInputStream(Ljava/io/InputStream;)Lcom/android/org/conscrypt/OpenSSLKey;
-Lcom/android/org/conscrypt/OpenSSLKey;->fromPublicKey(Ljava/security/PublicKey;)Lcom/android/org/conscrypt/OpenSSLKey;
-Lcom/android/org/conscrypt/OpenSSLKey;->fromPublicKeyPemInputStream(Ljava/io/InputStream;)Lcom/android/org/conscrypt/OpenSSLKey;
-Lcom/android/org/conscrypt/OpenSSLKey;->getOpenSSLKey(Ljava/security/PrivateKey;)Lcom/android/org/conscrypt/OpenSSLKey;
-Lcom/android/org/conscrypt/OpenSSLKey;->getPrivateKey()Ljava/security/PrivateKey;
-Lcom/android/org/conscrypt/OpenSSLKey;->getPrivateKey(Ljava/security/spec/PKCS8EncodedKeySpec;I)Ljava/security/PrivateKey;
-Lcom/android/org/conscrypt/OpenSSLKey;->getPublicKey(Ljava/security/spec/X509EncodedKeySpec;I)Ljava/security/PublicKey;
-Lcom/android/org/conscrypt/OpenSSLKey;->isWrapped()Z
-Lcom/android/org/conscrypt/OpenSSLKey;->wrapJCAPrivateKeyForTLSStackOnly(Ljava/security/PrivateKey;Ljava/security/PublicKey;)Lcom/android/org/conscrypt/OpenSSLKey;
-Lcom/android/org/conscrypt/OpenSSLKey;->wrapped:Z
-Lcom/android/org/conscrypt/OpenSSLKey;->wrapPrivateKey(Ljava/security/PrivateKey;)Lcom/android/org/conscrypt/OpenSSLKey;
-Lcom/android/org/conscrypt/OpenSSLSocketImpl;
-Lcom/android/org/conscrypt/OpenSSLSocketImpl;-><init>()V
-Lcom/android/org/conscrypt/OpenSSLSocketImpl;-><init>(Ljava/lang/String;I)V
-Lcom/android/org/conscrypt/OpenSSLSocketImpl;-><init>(Ljava/lang/String;ILjava/net/InetAddress;I)V
-Lcom/android/org/conscrypt/OpenSSLSocketImpl;-><init>(Ljava/net/InetAddress;I)V
-Lcom/android/org/conscrypt/OpenSSLSocketImpl;-><init>(Ljava/net/InetAddress;ILjava/net/InetAddress;I)V
-Lcom/android/org/conscrypt/OpenSSLSocketImpl;-><init>(Ljava/net/Socket;Ljava/lang/String;IZ)V
-Lcom/android/org/conscrypt/OpenSSLSocketImpl;->getFileDescriptor$()Ljava/io/FileDescriptor;
-Lcom/android/org/conscrypt/OpenSSLX509Certificate;
-Lcom/android/org/conscrypt/OpenSSLX509Certificate;-><init>(J)V
-Lcom/android/org/conscrypt/OpenSSLX509Certificate;-><init>(JLjava/util/Date;Ljava/util/Date;)V
-Lcom/android/org/conscrypt/OpenSSLX509Certificate;->alternativeNameArrayToList([[Ljava/lang/Object;)Ljava/util/Collection;
-Lcom/android/org/conscrypt/OpenSSLX509Certificate;->fromCertificate(Ljava/security/cert/Certificate;)Lcom/android/org/conscrypt/OpenSSLX509Certificate;
-Lcom/android/org/conscrypt/OpenSSLX509Certificate;->fromPkcs7DerInputStream(Ljava/io/InputStream;)Ljava/util/List;
-Lcom/android/org/conscrypt/OpenSSLX509Certificate;->fromPkcs7PemInputStream(Ljava/io/InputStream;)Ljava/util/List;
-Lcom/android/org/conscrypt/OpenSSLX509Certificate;->fromX509Der([B)Lcom/android/org/conscrypt/OpenSSLX509Certificate;
-Lcom/android/org/conscrypt/OpenSSLX509Certificate;->fromX509DerInputStream(Ljava/io/InputStream;)Lcom/android/org/conscrypt/OpenSSLX509Certificate;
-Lcom/android/org/conscrypt/OpenSSLX509Certificate;->getContext()J
-Lcom/android/org/conscrypt/OpenSSLX509Certificate;->mHashCode:Ljava/lang/Integer;
-Lcom/android/org/conscrypt/OpenSSLX509Certificate;->notAfter:Ljava/util/Date;
-Lcom/android/org/conscrypt/OpenSSLX509Certificate;->notBefore:Ljava/util/Date;
-Lcom/android/org/conscrypt/OpenSSLX509Certificate;->toDate(J)Ljava/util/Date;
-Lcom/android/org/conscrypt/OpenSSLX509Certificate;->verifyInternal(Ljava/security/PublicKey;Ljava/lang/String;)V
-Lcom/android/org/conscrypt/OpenSSLX509Certificate;->verifyOpenSSL(Lcom/android/org/conscrypt/OpenSSLKey;)V
-Lcom/android/org/conscrypt/OpenSSLX509Certificate;->withDeletedExtension(Ljava/lang/String;)Lcom/android/org/conscrypt/OpenSSLX509Certificate;
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory$Parser;
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory$Parser;-><init>()V
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory$Parser;->fromPkcs7DerInputStream(Ljava/io/InputStream;)Ljava/util/List;
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory$Parser;->fromPkcs7PemInputStream(Ljava/io/InputStream;)Ljava/util/List;
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory$Parser;->fromX509DerInputStream(Ljava/io/InputStream;)Ljava/lang/Object;
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory$Parser;->fromX509PemInputStream(Ljava/io/InputStream;)Ljava/lang/Object;
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory$Parser;->generateItem(Ljava/io/InputStream;)Ljava/lang/Object;
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory$Parser;->generateItems(Ljava/io/InputStream;)Ljava/util/Collection;
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory$ParsingException;
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory$ParsingException;-><init>(Ljava/lang/Exception;)V
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory$ParsingException;-><init>(Ljava/lang/String;)V
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory$ParsingException;-><init>(Ljava/lang/String;Ljava/lang/Exception;)V
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory;
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory;-><init>()V
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory;->certificateParser:Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory$Parser;
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory;->crlParser:Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory$Parser;
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory;->PKCS7_MARKER:[B
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory;->PUSHBACK_SIZE:I
-Lcom/android/org/conscrypt/OpenSSLX509CRL;
-Lcom/android/org/conscrypt/OpenSSLX509CRL;-><init>(J)V
-Lcom/android/org/conscrypt/OpenSSLX509CRL;->fromPkcs7DerInputStream(Ljava/io/InputStream;)Ljava/util/List;
-Lcom/android/org/conscrypt/OpenSSLX509CRL;->fromPkcs7PemInputStream(Ljava/io/InputStream;)Ljava/util/List;
-Lcom/android/org/conscrypt/OpenSSLX509CRL;->fromX509DerInputStream(Ljava/io/InputStream;)Lcom/android/org/conscrypt/OpenSSLX509CRL;
-Lcom/android/org/conscrypt/OpenSSLX509CRL;->fromX509PemInputStream(Ljava/io/InputStream;)Lcom/android/org/conscrypt/OpenSSLX509CRL;
-Lcom/android/org/conscrypt/OpenSSLX509CRL;->mContext:J
-Lcom/android/org/conscrypt/OpenSSLX509CRL;->nextUpdate:Ljava/util/Date;
-Lcom/android/org/conscrypt/OpenSSLX509CRL;->thisUpdate:Ljava/util/Date;
-Lcom/android/org/conscrypt/OpenSSLX509CRL;->toDate(J)Ljava/util/Date;
-Lcom/android/org/conscrypt/OpenSSLX509CRL;->verifyInternal(Ljava/security/PublicKey;Ljava/lang/String;)V
-Lcom/android/org/conscrypt/OpenSSLX509CRL;->verifyOpenSSL(Lcom/android/org/conscrypt/OpenSSLKey;)V
-Lcom/android/org/conscrypt/PeerInfoProvider;
-Lcom/android/org/conscrypt/PeerInfoProvider;-><init>()V
-Lcom/android/org/conscrypt/PeerInfoProvider;->forHostAndPort(Ljava/lang/String;I)Lcom/android/org/conscrypt/PeerInfoProvider;
-Lcom/android/org/conscrypt/PeerInfoProvider;->getHostname()Ljava/lang/String;
-Lcom/android/org/conscrypt/PeerInfoProvider;->getHostnameOrIP()Ljava/lang/String;
-Lcom/android/org/conscrypt/PeerInfoProvider;->getPort()I
-Lcom/android/org/conscrypt/PeerInfoProvider;->nullProvider()Lcom/android/org/conscrypt/PeerInfoProvider;
-Lcom/android/org/conscrypt/PeerInfoProvider;->NULL_PEER_INFO_PROVIDER:Lcom/android/org/conscrypt/PeerInfoProvider;
-Lcom/android/org/conscrypt/SSLClientSessionCache;
-Lcom/android/org/conscrypt/SSLClientSessionCache;->getSessionData(Ljava/lang/String;I)[B
-Lcom/android/org/conscrypt/SSLClientSessionCache;->putSessionData(Ljavax/net/ssl/SSLSession;[B)V
-Lcom/android/org/conscrypt/TrustedCertificateIndex;
-Lcom/android/org/conscrypt/TrustedCertificateIndex;-><init>()V
-Lcom/android/org/conscrypt/TrustedCertificateIndex;-><init>(Ljava/util/Set;)V
-Lcom/android/org/conscrypt/TrustedCertificateIndex;->findAllByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
-Lcom/android/org/conscrypt/TrustedCertificateIndex;->findByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/security/cert/TrustAnchor;
-Lcom/android/org/conscrypt/TrustedCertificateIndex;->findBySubjectAndPublicKey(Ljava/security/cert/X509Certificate;)Ljava/security/cert/TrustAnchor;
-Lcom/android/org/conscrypt/TrustedCertificateIndex;->findBySubjectAndPublicKey(Ljava/security/cert/X509Certificate;Ljava/util/Collection;)Ljava/security/cert/TrustAnchor;
-Lcom/android/org/conscrypt/TrustedCertificateIndex;->index(Ljava/security/cert/TrustAnchor;)V
-Lcom/android/org/conscrypt/TrustedCertificateIndex;->index(Ljava/security/cert/X509Certificate;)Ljava/security/cert/TrustAnchor;
-Lcom/android/org/conscrypt/TrustedCertificateIndex;->index(Ljava/util/Set;)V
-Lcom/android/org/conscrypt/TrustedCertificateIndex;->reset()V
-Lcom/android/org/conscrypt/TrustedCertificateIndex;->reset(Ljava/util/Set;)V
-Lcom/android/org/conscrypt/TrustedCertificateIndex;->subjectToTrustAnchors:Ljava/util/Map;
-Lcom/android/org/conscrypt/TrustedCertificateStore$CertSelector;
-Lcom/android/org/conscrypt/TrustedCertificateStore$CertSelector;->match(Ljava/security/cert/X509Certificate;)Z
-Lcom/android/org/conscrypt/TrustedCertificateStore$PreloadHolder;
-Lcom/android/org/conscrypt/TrustedCertificateStore$PreloadHolder;-><init>()V
-Lcom/android/org/conscrypt/TrustedCertificateStore$PreloadHolder;->defaultCaCertsAddedDir:Ljava/io/File;
-Lcom/android/org/conscrypt/TrustedCertificateStore$PreloadHolder;->defaultCaCertsDeletedDir:Ljava/io/File;
-Lcom/android/org/conscrypt/TrustedCertificateStore$PreloadHolder;->defaultCaCertsSystemDir:Ljava/io/File;
-Lcom/android/org/conscrypt/TrustedCertificateStore;
-Lcom/android/org/conscrypt/TrustedCertificateStore;-><init>(Ljava/io/File;Ljava/io/File;Ljava/io/File;)V
-Lcom/android/org/conscrypt/TrustedCertificateStore;->addAliases(Ljava/util/Set;Ljava/lang/String;Ljava/io/File;)V
-Lcom/android/org/conscrypt/TrustedCertificateStore;->addedDir:Ljava/io/File;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->aliases()Ljava/util/Set;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->allSystemAliases()Ljava/util/Set;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->CERT_FACTORY:Ljava/security/cert/CertificateFactory;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->containsAlias(Ljava/lang/String;)Z
-Lcom/android/org/conscrypt/TrustedCertificateStore;->containsAlias(Ljava/lang/String;Z)Z
-Lcom/android/org/conscrypt/TrustedCertificateStore;->convertToOpenSSLIfNeeded(Ljava/security/cert/X509Certificate;)Lcom/android/org/conscrypt/OpenSSLX509Certificate;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->deleteCertificateEntry(Ljava/lang/String;)V
-Lcom/android/org/conscrypt/TrustedCertificateStore;->deletedDir:Ljava/io/File;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->file(Ljava/io/File;Ljava/lang/String;I)Ljava/io/File;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->fileForAlias(Ljava/lang/String;)Ljava/io/File;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->findAllIssuers(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->findCert(Ljava/io/File;Ljavax/security/auth/x500/X500Principal;Lcom/android/org/conscrypt/TrustedCertificateStore$CertSelector;Ljava/lang/Class;)Ljava/lang/Object;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->findIssuer(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->getCertificate(Ljava/lang/String;)Ljava/security/cert/Certificate;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->getCertificate(Ljava/lang/String;Z)Ljava/security/cert/Certificate;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->getCertificateAlias(Ljava/security/cert/Certificate;)Ljava/lang/String;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->getCertificateAlias(Ljava/security/cert/Certificate;Z)Ljava/lang/String;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->getCertificateFile(Ljava/io/File;Ljava/security/cert/X509Certificate;)Ljava/io/File;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->getCreationDate(Ljava/lang/String;)Ljava/util/Date;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->getTrustAnchor(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->hash(Ljavax/security/auth/x500/X500Principal;)Ljava/lang/String;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->installCertificate(Ljava/security/cert/X509Certificate;)V
-Lcom/android/org/conscrypt/TrustedCertificateStore;->isDeletedSystemCertificate(Ljava/security/cert/X509Certificate;)Z
-Lcom/android/org/conscrypt/TrustedCertificateStore;->isSelfIssuedCertificate(Lcom/android/org/conscrypt/OpenSSLX509Certificate;)Z
-Lcom/android/org/conscrypt/TrustedCertificateStore;->isSystem(Ljava/lang/String;)Z
-Lcom/android/org/conscrypt/TrustedCertificateStore;->isTombstone(Ljava/io/File;)Z
-Lcom/android/org/conscrypt/TrustedCertificateStore;->isUser(Ljava/lang/String;)Z
-Lcom/android/org/conscrypt/TrustedCertificateStore;->isUserAddedCertificate(Ljava/security/cert/X509Certificate;)Z
-Lcom/android/org/conscrypt/TrustedCertificateStore;->PREFIX_SYSTEM:Ljava/lang/String;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->PREFIX_USER:Ljava/lang/String;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->readCertificate(Ljava/io/File;)Ljava/security/cert/X509Certificate;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->removeUnnecessaryTombstones(Ljava/lang/String;)V
-Lcom/android/org/conscrypt/TrustedCertificateStore;->setDefaultUserDirectory(Ljava/io/File;)V
-Lcom/android/org/conscrypt/TrustedCertificateStore;->systemDir:Ljava/io/File;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->userAliases()Ljava/util/Set;
-Lcom/android/org/conscrypt/TrustedCertificateStore;->writeCertificate(Ljava/io/File;Ljava/security/cert/X509Certificate;)V
-Lcom/android/org/conscrypt/TrustManagerImpl$ExtendedKeyUsagePKIXCertPathChecker;
-Lcom/android/org/conscrypt/TrustManagerImpl$ExtendedKeyUsagePKIXCertPathChecker;-><init>(ZLjava/security/cert/X509Certificate;)V
-Lcom/android/org/conscrypt/TrustManagerImpl$ExtendedKeyUsagePKIXCertPathChecker;->clientAuth:Z
-Lcom/android/org/conscrypt/TrustManagerImpl$ExtendedKeyUsagePKIXCertPathChecker;->EKU_anyExtendedKeyUsage:Ljava/lang/String;
-Lcom/android/org/conscrypt/TrustManagerImpl$ExtendedKeyUsagePKIXCertPathChecker;->EKU_clientAuth:Ljava/lang/String;
-Lcom/android/org/conscrypt/TrustManagerImpl$ExtendedKeyUsagePKIXCertPathChecker;->EKU_msSGC:Ljava/lang/String;
-Lcom/android/org/conscrypt/TrustManagerImpl$ExtendedKeyUsagePKIXCertPathChecker;->EKU_nsSGC:Ljava/lang/String;
-Lcom/android/org/conscrypt/TrustManagerImpl$ExtendedKeyUsagePKIXCertPathChecker;->EKU_OID:Ljava/lang/String;
-Lcom/android/org/conscrypt/TrustManagerImpl$ExtendedKeyUsagePKIXCertPathChecker;->EKU_serverAuth:Ljava/lang/String;
-Lcom/android/org/conscrypt/TrustManagerImpl$ExtendedKeyUsagePKIXCertPathChecker;->leaf:Ljava/security/cert/X509Certificate;
-Lcom/android/org/conscrypt/TrustManagerImpl$ExtendedKeyUsagePKIXCertPathChecker;->SUPPORTED_EXTENSIONS:Ljava/util/Set;
-Lcom/android/org/conscrypt/TrustManagerImpl$TrustAnchorComparator;
-Lcom/android/org/conscrypt/TrustManagerImpl$TrustAnchorComparator;-><init>()V
-Lcom/android/org/conscrypt/TrustManagerImpl$TrustAnchorComparator;->CERT_COMPARATOR:Lcom/android/org/conscrypt/CertificatePriorityComparator;
-Lcom/android/org/conscrypt/TrustManagerImpl$TrustAnchorComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-Lcom/android/org/conscrypt/TrustManagerImpl$TrustAnchorComparator;->compare(Ljava/security/cert/TrustAnchor;Ljava/security/cert/TrustAnchor;)I
-Lcom/android/org/conscrypt/TrustManagerImpl;
-Lcom/android/org/conscrypt/TrustManagerImpl;-><init>(Ljava/security/KeyStore;Lcom/android/org/conscrypt/CertPinManager;)V
-Lcom/android/org/conscrypt/TrustManagerImpl;-><init>(Ljava/security/KeyStore;Lcom/android/org/conscrypt/CertPinManager;Lcom/android/org/conscrypt/TrustedCertificateStore;)V
-Lcom/android/org/conscrypt/TrustManagerImpl;-><init>(Ljava/security/KeyStore;Lcom/android/org/conscrypt/CertPinManager;Lcom/android/org/conscrypt/TrustedCertificateStore;Lcom/android/org/conscrypt/CertBlacklist;)V
-Lcom/android/org/conscrypt/TrustManagerImpl;-><init>(Ljava/security/KeyStore;Lcom/android/org/conscrypt/CertPinManager;Lcom/android/org/conscrypt/TrustedCertificateStore;Lcom/android/org/conscrypt/CertBlacklist;Lcom/android/org/conscrypt/ct/CTLogStore;Lcom/android/org/conscrypt/ct/CTVerifier;Lcom/android/org/conscrypt/ct/CTPolicy;)V
-Lcom/android/org/conscrypt/TrustManagerImpl;->acceptedIssuers(Ljava/security/KeyStore;)[Ljava/security/cert/X509Certificate;
-Lcom/android/org/conscrypt/TrustManagerImpl;->acceptedIssuers:[Ljava/security/cert/X509Certificate;
-Lcom/android/org/conscrypt/TrustManagerImpl;->blacklist:Lcom/android/org/conscrypt/CertBlacklist;
-Lcom/android/org/conscrypt/TrustManagerImpl;->checkBlacklist(Ljava/security/cert/X509Certificate;)V
-Lcom/android/org/conscrypt/TrustManagerImpl;->checkClientTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
-Lcom/android/org/conscrypt/TrustManagerImpl;->checkCT(Ljava/lang/String;Ljava/util/List;[B[B)V
-Lcom/android/org/conscrypt/TrustManagerImpl;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljavax/net/ssl/SSLSession;)Ljava/util/List;
-Lcom/android/org/conscrypt/TrustManagerImpl;->checkTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljavax/net/ssl/SSLSession;Ljavax/net/ssl/SSLParameters;Z)Ljava/util/List;
-Lcom/android/org/conscrypt/TrustManagerImpl;->checkTrusted([Ljava/security/cert/X509Certificate;[B[BLjava/lang/String;Ljava/lang/String;Z)Ljava/util/List;
-Lcom/android/org/conscrypt/TrustManagerImpl;->checkTrustedRecursive([Ljava/security/cert/X509Certificate;[B[BLjava/lang/String;ZLjava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/Set;)Ljava/util/List;
-Lcom/android/org/conscrypt/TrustManagerImpl;->ctEnabledOverride:Z
-Lcom/android/org/conscrypt/TrustManagerImpl;->ctPolicy:Lcom/android/org/conscrypt/ct/CTPolicy;
-Lcom/android/org/conscrypt/TrustManagerImpl;->ctVerifier:Lcom/android/org/conscrypt/ct/CTVerifier;
-Lcom/android/org/conscrypt/TrustManagerImpl;->err:Ljava/lang/Exception;
-Lcom/android/org/conscrypt/TrustManagerImpl;->factory:Ljava/security/cert/CertificateFactory;
-Lcom/android/org/conscrypt/TrustManagerImpl;->findAllTrustAnchorsByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
-Lcom/android/org/conscrypt/TrustManagerImpl;->findTrustAnchorBySubjectAndPublicKey(Ljava/security/cert/X509Certificate;)Ljava/security/cert/TrustAnchor;
-Lcom/android/org/conscrypt/TrustManagerImpl;->getHandshakeSessionOrThrow(Ljavax/net/ssl/SSLSocket;)Ljavax/net/ssl/SSLSession;
-Lcom/android/org/conscrypt/TrustManagerImpl;->getOcspDataFromSession(Ljavax/net/ssl/SSLSession;)[B
-Lcom/android/org/conscrypt/TrustManagerImpl;->getTlsSctDataFromSession(Ljavax/net/ssl/SSLSession;)[B
-Lcom/android/org/conscrypt/TrustManagerImpl;->getTrustedChainForServer([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;)Ljava/util/List;
-Lcom/android/org/conscrypt/TrustManagerImpl;->getTrustedChainForServer([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljavax/net/ssl/SSLEngine;)Ljava/util/List;
-Lcom/android/org/conscrypt/TrustManagerImpl;->handleTrustStorageUpdate()V
-Lcom/android/org/conscrypt/TrustManagerImpl;->intermediateIndex:Lcom/android/org/conscrypt/TrustedCertificateIndex;
-Lcom/android/org/conscrypt/TrustManagerImpl;->isUserAddedCertificate(Ljava/security/cert/X509Certificate;)Z
-Lcom/android/org/conscrypt/TrustManagerImpl;->pinManager:Lcom/android/org/conscrypt/CertPinManager;
-Lcom/android/org/conscrypt/TrustManagerImpl;->rootKeyStore:Ljava/security/KeyStore;
-Lcom/android/org/conscrypt/TrustManagerImpl;->setCTEnabledOverride(Z)V
-Lcom/android/org/conscrypt/TrustManagerImpl;->setCTPolicy(Lcom/android/org/conscrypt/ct/CTPolicy;)V
-Lcom/android/org/conscrypt/TrustManagerImpl;->setCTVerifier(Lcom/android/org/conscrypt/ct/CTVerifier;)V
-Lcom/android/org/conscrypt/TrustManagerImpl;->setOcspResponses(Ljava/security/cert/PKIXParameters;Ljava/security/cert/X509Certificate;[B)V
-Lcom/android/org/conscrypt/TrustManagerImpl;->sortPotentialAnchors(Ljava/util/Set;)Ljava/util/Collection;
-Lcom/android/org/conscrypt/TrustManagerImpl;->trustAnchors([Ljava/security/cert/X509Certificate;)Ljava/util/Set;
-Lcom/android/org/conscrypt/TrustManagerImpl;->trustedCertificateIndex:Lcom/android/org/conscrypt/TrustedCertificateIndex;
-Lcom/android/org/conscrypt/TrustManagerImpl;->trustedCertificateStore:Lcom/android/org/conscrypt/TrustedCertificateStore;
-Lcom/android/org/conscrypt/TrustManagerImpl;->TRUST_ANCHOR_COMPARATOR:Lcom/android/org/conscrypt/TrustManagerImpl$TrustAnchorComparator;
-Lcom/android/org/conscrypt/TrustManagerImpl;->validator:Ljava/security/cert/CertPathValidator;
-Lcom/android/org/conscrypt/TrustManagerImpl;->verifyChain(Ljava/util/List;Ljava/util/List;Ljava/lang/String;Z[B[B)Ljava/util/List;
-Ldalvik/annotation/KnownFailure;
-Ldalvik/bytecode/OpcodeInfo;-><init>()V
-Ldalvik/bytecode/OpcodeInfo;->isInvoke(I)Z
-Ldalvik/system/AllocationLimitError;
-Ldalvik/system/AllocationLimitError;-><init>()V
-Ldalvik/system/AllocationLimitError;-><init>(Ljava/lang/String;)V
-Ldalvik/system/AnnotatedStackTraceElement;
-Ldalvik/system/AnnotatedStackTraceElement;-><init>()V
-Ldalvik/system/AnnotatedStackTraceElement;->blockedOn:Ljava/lang/Object;
-Ldalvik/system/AnnotatedStackTraceElement;->getBlockedOn()Ljava/lang/Object;
-Ldalvik/system/AnnotatedStackTraceElement;->getHeldLocks()[Ljava/lang/Object;
-Ldalvik/system/AnnotatedStackTraceElement;->getStackTraceElement()Ljava/lang/StackTraceElement;
-Ldalvik/system/AnnotatedStackTraceElement;->heldLocks:[Ljava/lang/Object;
-Ldalvik/system/AnnotatedStackTraceElement;->stackTraceElement:Ljava/lang/StackTraceElement;
-Ldalvik/system/BaseDexClassLoader$Reporter;
-Ldalvik/system/BaseDexClassLoader$Reporter;->report(Ljava/util/List;Ljava/util/List;)V
-Ldalvik/system/BaseDexClassLoader;-><init>([Ljava/nio/ByteBuffer;Ljava/lang/ClassLoader;)V
-Ldalvik/system/BaseDexClassLoader;->addNativePath(Ljava/util/Collection;)V
-Ldalvik/system/BaseDexClassLoader;->getReporter()Ldalvik/system/BaseDexClassLoader$Reporter;
-Ldalvik/system/BaseDexClassLoader;->reportClassLoaderChain()V
-Ldalvik/system/BaseDexClassLoader;->reporter:Ldalvik/system/BaseDexClassLoader$Reporter;
-Ldalvik/system/BaseDexClassLoader;->setReporter(Ldalvik/system/BaseDexClassLoader$Reporter;)V
-Ldalvik/system/BlockGuard$BlockGuardPolicyException;
-Ldalvik/system/BlockGuard$BlockGuardPolicyException;-><init>(II)V
-Ldalvik/system/BlockGuard$BlockGuardPolicyException;->getPolicy()I
-Ldalvik/system/BlockGuard$BlockGuardPolicyException;->getPolicyViolation()I
-Ldalvik/system/BlockGuard$Policy;
-Ldalvik/system/BlockGuard$Policy;->getPolicyMask()I
-Ldalvik/system/BlockGuard$Policy;->onUnbufferedIO()V
-Ldalvik/system/BlockGuard$Policy;->onWriteToDisk()V
-Ldalvik/system/BlockGuard;
-Ldalvik/system/BlockGuard;-><init>()V
-Ldalvik/system/BlockGuard;->DISALLOW_DISK_READ:I
-Ldalvik/system/BlockGuard;->DISALLOW_DISK_WRITE:I
-Ldalvik/system/BlockGuard;->DISALLOW_NETWORK:I
-Ldalvik/system/BlockGuard;->PASS_RESTRICTIONS_VIA_RPC:I
-Ldalvik/system/BlockGuard;->PENALTY_DEATH:I
-Ldalvik/system/BlockGuard;->PENALTY_DIALOG:I
-Ldalvik/system/BlockGuard;->PENALTY_LOG:I
-Ldalvik/system/ClassExt;
-Ldalvik/system/ClassExt;-><init>()V
-Ldalvik/system/ClassExt;->obsoleteDexCaches:[Ljava/lang/Object;
-Ldalvik/system/ClassExt;->obsoleteMethods:Ljava/lang/Object;
-Ldalvik/system/ClassExt;->originalDexFile:Ljava/lang/Object;
-Ldalvik/system/ClassExt;->verifyError:Ljava/lang/Object;
-Ldalvik/system/CloseGuard$DefaultReporter;
-Ldalvik/system/CloseGuard$DefaultReporter;->report(Ljava/lang/String;Ljava/lang/Throwable;)V
-Ldalvik/system/CloseGuard$Reporter;
-Ldalvik/system/CloseGuard$Tracker;
-Ldalvik/system/CloseGuard$Tracker;->close(Ljava/lang/Throwable;)V
-Ldalvik/system/CloseGuard$Tracker;->open(Ljava/lang/Throwable;)V
-Ldalvik/system/CloseGuard;
-Ldalvik/system/CloseGuard;->closerNameOrAllocationInfo:Ljava/lang/Object;
-Ldalvik/system/CloseGuard;->currentTracker:Ldalvik/system/CloseGuard$Tracker;
-Ldalvik/system/CloseGuard;->getReporter()Ldalvik/system/CloseGuard$Reporter;
-Ldalvik/system/CloseGuard;->getTracker()Ldalvik/system/CloseGuard$Tracker;
-Ldalvik/system/CloseGuard;->isEnabled()Z
-Ldalvik/system/CloseGuard;->reporter:Ldalvik/system/CloseGuard$Reporter;
-Ldalvik/system/CloseGuard;->setTracker(Ldalvik/system/CloseGuard$Tracker;)V
-Ldalvik/system/CloseGuard;->stackAndTrackingEnabled:Z
-Ldalvik/system/DalvikLogging;
-Ldalvik/system/DalvikLogging;-><init>()V
-Ldalvik/system/DalvikLogging;->loggerNameToTag(Ljava/lang/String;)Ljava/lang/String;
-Ldalvik/system/DalvikLogHandler;
-Ldalvik/system/DalvikLogHandler;->publish(Ljava/util/logging/Logger;Ljava/lang/String;Ljava/util/logging/Level;Ljava/lang/String;)V
-Ldalvik/system/DexFile$DFEnum;
-Ldalvik/system/DexFile$DFEnum;-><init>(Ldalvik/system/DexFile;)V
-Ldalvik/system/DexFile$DFEnum;->mIndex:I
-Ldalvik/system/DexFile$OptimizationInfo;
-Ldalvik/system/DexFile$OptimizationInfo;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Ldalvik/system/DexFile$OptimizationInfo;->getReason()Ljava/lang/String;
-Ldalvik/system/DexFile$OptimizationInfo;->getStatus()Ljava/lang/String;
-Ldalvik/system/DexFile$OptimizationInfo;->reason:Ljava/lang/String;
-Ldalvik/system/DexFile$OptimizationInfo;->status:Ljava/lang/String;
-Ldalvik/system/DexFile;-><init>(Ljava/io/File;Ljava/lang/ClassLoader;[Ldalvik/system/DexPathList$Element;)V
-Ldalvik/system/DexFile;-><init>(Ljava/lang/String;Ljava/lang/ClassLoader;[Ldalvik/system/DexPathList$Element;)V
-Ldalvik/system/DexFile;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/ClassLoader;[Ldalvik/system/DexPathList$Element;)V
-Ldalvik/system/DexFile;-><init>(Ljava/nio/ByteBuffer;)V
-Ldalvik/system/DexFile;->closeDexFile(Ljava/lang/Object;)Z
-Ldalvik/system/DexFile;->createCookieWithArray([BII)Ljava/lang/Object;
-Ldalvik/system/DexFile;->createCookieWithDirectBuffer(Ljava/nio/ByteBuffer;II)Ljava/lang/Object;
-Ldalvik/system/DexFile;->defineClass(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/Object;Ldalvik/system/DexFile;Ljava/util/List;)Ljava/lang/Class;
-Ldalvik/system/DexFile;->defineClassNative(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/Object;Ldalvik/system/DexFile;)Ljava/lang/Class;
-Ldalvik/system/DexFile;->DEX2OAT_FOR_BOOT_IMAGE:I
-Ldalvik/system/DexFile;->DEX2OAT_FOR_FILTER:I
-Ldalvik/system/DexFile;->DEX2OAT_FOR_RELOCATION:I
-Ldalvik/system/DexFile;->DEX2OAT_FROM_SCRATCH:I
-Ldalvik/system/DexFile;->getDexFileOptimizationInfo(Ljava/lang/String;Ljava/lang/String;)Ldalvik/system/DexFile$OptimizationInfo;
-Ldalvik/system/DexFile;->getDexFileOptimizationStatus(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-Ldalvik/system/DexFile;->getDexFileOutputPaths(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-Ldalvik/system/DexFile;->getDexFileStatus(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Ldalvik/system/DexFile;->getDexOptNeeded(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)I
-Ldalvik/system/DexFile;->getDexOptNeeded(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)I
-Ldalvik/system/DexFile;->getNonProfileGuidedCompilerFilter(Ljava/lang/String;)Ljava/lang/String;
-Ldalvik/system/DexFile;->getSafeModeCompilerFilter(Ljava/lang/String;)Ljava/lang/String;
-Ldalvik/system/DexFile;->getStaticSizeOfDexFile()J
-Ldalvik/system/DexFile;->getStaticSizeOfDexFile(Ljava/lang/Object;)J
-Ldalvik/system/DexFile;->isBackedByOatFile(Ljava/lang/Object;)Z
-Ldalvik/system/DexFile;->isProfileGuidedCompilerFilter(Ljava/lang/String;)Z
-Ldalvik/system/DexFile;->isValidCompilerFilter(Ljava/lang/String;)Z
-Ldalvik/system/DexFile;->NO_DEXOPT_NEEDED:I
-Ldalvik/system/DexFile;->openInMemoryDexFile(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
-Ldalvik/system/DexFile;->setTrusted()V
-Ldalvik/system/DexFile;->setTrusted(Ljava/lang/Object;)V
-Ldalvik/system/DexPathList$Element;
-Ldalvik/system/DexPathList$Element;-><init>(Ldalvik/system/DexFile;)V
-Ldalvik/system/DexPathList$Element;-><init>(Ljava/io/File;)V
-Ldalvik/system/DexPathList$Element;->findClass(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/List;)Ljava/lang/Class;
-Ldalvik/system/DexPathList$Element;->findResource(Ljava/lang/String;)Ljava/net/URL;
-Ldalvik/system/DexPathList$Element;->getDexPath()Ljava/lang/String;
-Ldalvik/system/DexPathList$Element;->initialized:Z
-Ldalvik/system/DexPathList$Element;->maybeInit()V
-Ldalvik/system/DexPathList$Element;->urlHandler:Llibcore/io/ClassPathURLStreamHandler;
-Ldalvik/system/DexPathList$NativeLibraryElement;
-Ldalvik/system/DexPathList$NativeLibraryElement;-><init>(Ljava/io/File;Ljava/lang/String;)V
-Ldalvik/system/DexPathList$NativeLibraryElement;->findNativeLibrary(Ljava/lang/String;)Ljava/lang/String;
-Ldalvik/system/DexPathList$NativeLibraryElement;->initialized:Z
-Ldalvik/system/DexPathList$NativeLibraryElement;->maybeInit()V
-Ldalvik/system/DexPathList$NativeLibraryElement;->urlHandler:Llibcore/io/ClassPathURLStreamHandler;
-Ldalvik/system/DexPathList$NativeLibraryElement;->zipDir:Ljava/lang/String;
-Ldalvik/system/DexPathList;
-Ldalvik/system/DexPathList;-><init>(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Z)V
-Ldalvik/system/DexPathList;-><init>(Ljava/lang/ClassLoader;[Ljava/nio/ByteBuffer;)V
-Ldalvik/system/DexPathList;->addDexPath(Ljava/lang/String;Ljava/io/File;Z)V
-Ldalvik/system/DexPathList;->DEX_SUFFIX:Ljava/lang/String;
-Ldalvik/system/DexPathList;->findClass(Ljava/lang/String;Ljava/util/List;)Ljava/lang/Class;
-Ldalvik/system/DexPathList;->findLibrary(Ljava/lang/String;)Ljava/lang/String;
-Ldalvik/system/DexPathList;->findResource(Ljava/lang/String;)Ljava/net/URL;
-Ldalvik/system/DexPathList;->findResources(Ljava/lang/String;)Ljava/util/Enumeration;
-Ldalvik/system/DexPathList;->getDexPaths()Ljava/util/List;
-Ldalvik/system/DexPathList;->getNativeLibraryDirectories()Ljava/util/List;
-Ldalvik/system/DexPathList;->makeDexElements(Ljava/util/List;Ljava/io/File;Ljava/util/List;Ljava/lang/ClassLoader;Z)[Ldalvik/system/DexPathList$Element;
-Ldalvik/system/DexPathList;->optimizedPathFor(Ljava/io/File;Ljava/io/File;)Ljava/lang/String;
-Ldalvik/system/DexPathList;->splitDexPath(Ljava/lang/String;)Ljava/util/List;
-Ldalvik/system/DexPathList;->zipSeparator:Ljava/lang/String;
-Ldalvik/system/EmulatedStackFrame$Range;
-Ldalvik/system/EmulatedStackFrame$Range;-><init>(IIII)V
-Ldalvik/system/EmulatedStackFrame$Range;->all(Ljava/lang/invoke/MethodType;)Ldalvik/system/EmulatedStackFrame$Range;
-Ldalvik/system/EmulatedStackFrame$Range;->numBytes:I
-Ldalvik/system/EmulatedStackFrame$Range;->numReferences:I
-Ldalvik/system/EmulatedStackFrame$Range;->of(Ljava/lang/invoke/MethodType;II)Ldalvik/system/EmulatedStackFrame$Range;
-Ldalvik/system/EmulatedStackFrame$Range;->referencesStart:I
-Ldalvik/system/EmulatedStackFrame$Range;->stackFrameStart:I
-Ldalvik/system/EmulatedStackFrame$StackFrameAccessor;
-Ldalvik/system/EmulatedStackFrame$StackFrameAccessor;-><init>()V
-Ldalvik/system/EmulatedStackFrame$StackFrameAccessor;->argumentIdx:I
-Ldalvik/system/EmulatedStackFrame$StackFrameAccessor;->attach(Ldalvik/system/EmulatedStackFrame;)Ldalvik/system/EmulatedStackFrame$StackFrameAccessor;
-Ldalvik/system/EmulatedStackFrame$StackFrameAccessor;->attach(Ldalvik/system/EmulatedStackFrame;III)Ldalvik/system/EmulatedStackFrame$StackFrameAccessor;
-Ldalvik/system/EmulatedStackFrame$StackFrameAccessor;->checkType(Ljava/lang/Class;)V
-Ldalvik/system/EmulatedStackFrame$StackFrameAccessor;->copyNext(Ldalvik/system/EmulatedStackFrame$StackFrameReader;Ldalvik/system/EmulatedStackFrame$StackFrameWriter;Ljava/lang/Class;)V
-Ldalvik/system/EmulatedStackFrame$StackFrameAccessor;->frame:Ldalvik/system/EmulatedStackFrame;
-Ldalvik/system/EmulatedStackFrame$StackFrameAccessor;->frameBuf:Ljava/nio/ByteBuffer;
-Ldalvik/system/EmulatedStackFrame$StackFrameAccessor;->makeReturnValueAccessor()V
-Ldalvik/system/EmulatedStackFrame$StackFrameAccessor;->numArgs:I
-Ldalvik/system/EmulatedStackFrame$StackFrameAccessor;->referencesOffset:I
-Ldalvik/system/EmulatedStackFrame$StackFrameAccessor;->RETURN_VALUE_IDX:I
-Ldalvik/system/EmulatedStackFrame$StackFrameReader;
-Ldalvik/system/EmulatedStackFrame$StackFrameReader;-><init>()V
-Ldalvik/system/EmulatedStackFrame$StackFrameReader;->nextBoolean()Z
-Ldalvik/system/EmulatedStackFrame$StackFrameReader;->nextByte()B
-Ldalvik/system/EmulatedStackFrame$StackFrameReader;->nextChar()C
-Ldalvik/system/EmulatedStackFrame$StackFrameReader;->nextDouble()D
-Ldalvik/system/EmulatedStackFrame$StackFrameReader;->nextFloat()F
-Ldalvik/system/EmulatedStackFrame$StackFrameReader;->nextInt()I
-Ldalvik/system/EmulatedStackFrame$StackFrameReader;->nextLong()J
-Ldalvik/system/EmulatedStackFrame$StackFrameReader;->nextReference(Ljava/lang/Class;)Ljava/lang/Object;
-Ldalvik/system/EmulatedStackFrame$StackFrameReader;->nextShort()S
-Ldalvik/system/EmulatedStackFrame$StackFrameWriter;
-Ldalvik/system/EmulatedStackFrame$StackFrameWriter;-><init>()V
-Ldalvik/system/EmulatedStackFrame$StackFrameWriter;->putNextBoolean(Z)V
-Ldalvik/system/EmulatedStackFrame$StackFrameWriter;->putNextByte(B)V
-Ldalvik/system/EmulatedStackFrame$StackFrameWriter;->putNextChar(C)V
-Ldalvik/system/EmulatedStackFrame$StackFrameWriter;->putNextDouble(D)V
-Ldalvik/system/EmulatedStackFrame$StackFrameWriter;->putNextFloat(F)V
-Ldalvik/system/EmulatedStackFrame$StackFrameWriter;->putNextInt(I)V
-Ldalvik/system/EmulatedStackFrame$StackFrameWriter;->putNextLong(J)V
-Ldalvik/system/EmulatedStackFrame$StackFrameWriter;->putNextReference(Ljava/lang/Object;Ljava/lang/Class;)V
-Ldalvik/system/EmulatedStackFrame$StackFrameWriter;->putNextShort(S)V
-Ldalvik/system/EmulatedStackFrame;
-Ldalvik/system/EmulatedStackFrame;-><init>(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;[B)V
-Ldalvik/system/EmulatedStackFrame;->callsiteType:Ljava/lang/invoke/MethodType;
-Ldalvik/system/EmulatedStackFrame;->copyRangeTo(Ldalvik/system/EmulatedStackFrame;Ldalvik/system/EmulatedStackFrame$Range;II)V
-Ldalvik/system/EmulatedStackFrame;->copyReturnValueTo(Ldalvik/system/EmulatedStackFrame;)V
-Ldalvik/system/EmulatedStackFrame;->create(Ljava/lang/invoke/MethodType;)Ldalvik/system/EmulatedStackFrame;
-Ldalvik/system/EmulatedStackFrame;->getCallsiteType()Ljava/lang/invoke/MethodType;
-Ldalvik/system/EmulatedStackFrame;->getMethodType()Ljava/lang/invoke/MethodType;
-Ldalvik/system/EmulatedStackFrame;->getReference(ILjava/lang/Class;)Ljava/lang/Object;
-Ldalvik/system/EmulatedStackFrame;->getSize(Ljava/lang/Class;)I
-Ldalvik/system/EmulatedStackFrame;->is64BitPrimitive(Ljava/lang/Class;)Z
-Ldalvik/system/EmulatedStackFrame;->references:[Ljava/lang/Object;
-Ldalvik/system/EmulatedStackFrame;->setReference(ILjava/lang/Object;)V
-Ldalvik/system/EmulatedStackFrame;->setReturnValueTo(Ljava/lang/Object;)V
-Ldalvik/system/EmulatedStackFrame;->stackFrame:[B
-Ldalvik/system/EmulatedStackFrame;->type:Ljava/lang/invoke/MethodType;
-Ldalvik/system/PotentialDeadlockError;
-Ldalvik/system/PotentialDeadlockError;-><init>()V
-Ldalvik/system/PotentialDeadlockError;-><init>(Ljava/lang/String;)V
-Ldalvik/system/SocketTagger;
-Ldalvik/system/SocketTagger;-><init>()V
-Ldalvik/system/SocketTagger;->set(Ldalvik/system/SocketTagger;)V
-Ldalvik/system/SocketTagger;->tag(Ljava/io/FileDescriptor;)V
-Ldalvik/system/SocketTagger;->tag(Ljava/net/DatagramSocket;)V
-Ldalvik/system/SocketTagger;->tagger:Ldalvik/system/SocketTagger;
-Ldalvik/system/SocketTagger;->untag(Ljava/io/FileDescriptor;)V
-Ldalvik/system/SocketTagger;->untag(Ljava/net/DatagramSocket;)V
-Ldalvik/system/TemporaryDirectory;
-Ldalvik/system/TemporaryDirectory;-><init>()V
-Ldalvik/system/TemporaryDirectory;->setUpDirectory(Ljava/io/File;)V
-Ldalvik/system/TemporaryDirectory;->setUpDirectory(Ljava/lang/String;)V
-Ldalvik/system/VMDebug;
-Ldalvik/system/VMDebug;-><init>()V
-Ldalvik/system/VMDebug;->attachAgent(Ljava/lang/String;)V
-Ldalvik/system/VMDebug;->attachAgent(Ljava/lang/String;Ljava/lang/ClassLoader;)V
-Ldalvik/system/VMDebug;->cacheRegisterMap(Ljava/lang/String;)Z
-Ldalvik/system/VMDebug;->checkBufferSize(I)I
-Ldalvik/system/VMDebug;->countInstancesOfClass(Ljava/lang/Class;Z)J
-Ldalvik/system/VMDebug;->countInstancesOfClasses([Ljava/lang/Class;Z)[J
-Ldalvik/system/VMDebug;->crash()V
-Ldalvik/system/VMDebug;->dumpHprofData(Ljava/lang/String;)V
-Ldalvik/system/VMDebug;->dumpHprofData(Ljava/lang/String;I)V
-Ldalvik/system/VMDebug;->dumpHprofData(Ljava/lang/String;Ljava/io/FileDescriptor;)V
-Ldalvik/system/VMDebug;->dumpHprofDataDdms()V
-Ldalvik/system/VMDebug;->getAllocCount(I)I
-Ldalvik/system/VMDebug;->getHeapSpaceStats([J)V
-Ldalvik/system/VMDebug;->getInstancesOfClasses([Ljava/lang/Class;Z)[[Ljava/lang/Object;
-Ldalvik/system/VMDebug;->getInstructionCount([I)V
-Ldalvik/system/VMDebug;->getLoadedClassCount()I
-Ldalvik/system/VMDebug;->getMethodTracingMode()I
-Ldalvik/system/VMDebug;->getRuntimeStat(Ljava/lang/String;)Ljava/lang/String;
-Ldalvik/system/VMDebug;->getRuntimeStatInternal(I)Ljava/lang/String;
-Ldalvik/system/VMDebug;->getRuntimeStats()Ljava/util/Map;
-Ldalvik/system/VMDebug;->getRuntimeStatsInternal()[Ljava/lang/String;
-Ldalvik/system/VMDebug;->getVmFeatureList()[Ljava/lang/String;
-Ldalvik/system/VMDebug;->infopoint(I)V
-Ldalvik/system/VMDebug;->isDebuggingEnabled()Z
-Ldalvik/system/VMDebug;->KIND_ALLOCATED_BYTES:I
-Ldalvik/system/VMDebug;->KIND_ALLOCATED_OBJECTS:I
-Ldalvik/system/VMDebug;->KIND_ALL_COUNTS:I
-Ldalvik/system/VMDebug;->KIND_CLASS_INIT_COUNT:I
-Ldalvik/system/VMDebug;->KIND_CLASS_INIT_TIME:I
-Ldalvik/system/VMDebug;->KIND_EXT_ALLOCATED_BYTES:I
-Ldalvik/system/VMDebug;->KIND_EXT_ALLOCATED_OBJECTS:I
-Ldalvik/system/VMDebug;->KIND_EXT_FREED_BYTES:I
-Ldalvik/system/VMDebug;->KIND_EXT_FREED_OBJECTS:I
-Ldalvik/system/VMDebug;->KIND_FREED_BYTES:I
-Ldalvik/system/VMDebug;->KIND_FREED_OBJECTS:I
-Ldalvik/system/VMDebug;->KIND_GC_INVOCATIONS:I
-Ldalvik/system/VMDebug;->KIND_GLOBAL_ALLOCATED_BYTES:I
-Ldalvik/system/VMDebug;->KIND_GLOBAL_ALLOCATED_OBJECTS:I
-Ldalvik/system/VMDebug;->KIND_GLOBAL_CLASS_INIT_COUNT:I
-Ldalvik/system/VMDebug;->KIND_GLOBAL_CLASS_INIT_TIME:I
-Ldalvik/system/VMDebug;->KIND_GLOBAL_EXT_ALLOCATED_BYTES:I
-Ldalvik/system/VMDebug;->KIND_GLOBAL_EXT_ALLOCATED_OBJECTS:I
-Ldalvik/system/VMDebug;->KIND_GLOBAL_EXT_FREED_BYTES:I
-Ldalvik/system/VMDebug;->KIND_GLOBAL_EXT_FREED_OBJECTS:I
-Ldalvik/system/VMDebug;->KIND_GLOBAL_FREED_BYTES:I
-Ldalvik/system/VMDebug;->KIND_GLOBAL_FREED_OBJECTS:I
-Ldalvik/system/VMDebug;->KIND_GLOBAL_GC_INVOCATIONS:I
-Ldalvik/system/VMDebug;->KIND_THREAD_ALLOCATED_BYTES:I
-Ldalvik/system/VMDebug;->KIND_THREAD_ALLOCATED_OBJECTS:I
-Ldalvik/system/VMDebug;->KIND_THREAD_CLASS_INIT_COUNT:I
-Ldalvik/system/VMDebug;->KIND_THREAD_CLASS_INIT_TIME:I
-Ldalvik/system/VMDebug;->KIND_THREAD_EXT_ALLOCATED_BYTES:I
-Ldalvik/system/VMDebug;->KIND_THREAD_EXT_ALLOCATED_OBJECTS:I
-Ldalvik/system/VMDebug;->KIND_THREAD_EXT_FREED_BYTES:I
-Ldalvik/system/VMDebug;->KIND_THREAD_EXT_FREED_OBJECTS:I
-Ldalvik/system/VMDebug;->KIND_THREAD_FREED_BYTES:I
-Ldalvik/system/VMDebug;->KIND_THREAD_FREED_OBJECTS:I
-Ldalvik/system/VMDebug;->KIND_THREAD_GC_INVOCATIONS:I
-Ldalvik/system/VMDebug;->lastDebuggerActivity()J
-Ldalvik/system/VMDebug;->nativeAttachAgent(Ljava/lang/String;Ljava/lang/ClassLoader;)V
-Ldalvik/system/VMDebug;->printLoadedClasses(I)V
-Ldalvik/system/VMDebug;->resetAllocCount(I)V
-Ldalvik/system/VMDebug;->resetInstructionCount()V
-Ldalvik/system/VMDebug;->runtimeStatsMap:Ljava/util/HashMap;
-Ldalvik/system/VMDebug;->setAllocationLimit(I)I
-Ldalvik/system/VMDebug;->setGlobalAllocationLimit(I)I
-Ldalvik/system/VMDebug;->startAllocCounting()V
-Ldalvik/system/VMDebug;->startClassPrep()V
-Ldalvik/system/VMDebug;->startEmulatorTracing()V
-Ldalvik/system/VMDebug;->startGC()V
-Ldalvik/system/VMDebug;->startInstructionCounting()V
-Ldalvik/system/VMDebug;->startMethodTracing()V
-Ldalvik/system/VMDebug;->startMethodTracing(Ljava/lang/String;IIZI)V
-Ldalvik/system/VMDebug;->startMethodTracing(Ljava/lang/String;Ljava/io/FileDescriptor;IIZI)V
-Ldalvik/system/VMDebug;->startMethodTracing(Ljava/lang/String;Ljava/io/FileDescriptor;IIZIZ)V
-Ldalvik/system/VMDebug;->startMethodTracingDdms(IIZI)V
-Ldalvik/system/VMDebug;->startMethodTracingDdmsImpl(IIZI)V
-Ldalvik/system/VMDebug;->startMethodTracingFd(Ljava/lang/String;IIIZIZ)V
-Ldalvik/system/VMDebug;->startMethodTracingFilename(Ljava/lang/String;IIZI)V
-Ldalvik/system/VMDebug;->stopAllocCounting()V
-Ldalvik/system/VMDebug;->stopEmulatorTracing()V
-Ldalvik/system/VMDebug;->stopInstructionCounting()V
-Ldalvik/system/VMDebug;->stopMethodTracing()V
-Ldalvik/system/VMDebug;->threadCpuTimeNanos()J
-Ldalvik/system/VMDebug;->TRACE_COUNT_ALLOCS:I
-Ldalvik/system/VMRuntime;
-Ldalvik/system/VMRuntime;-><init>()V
-Ldalvik/system/VMRuntime;->ABI_TO_INSTRUCTION_SET_MAP:Ljava/util/Map;
-Ldalvik/system/VMRuntime;->bootClassPath()Ljava/lang/String;
-Ldalvik/system/VMRuntime;->clampGrowthLimit()V
-Ldalvik/system/VMRuntime;->classPath()Ljava/lang/String;
-Ldalvik/system/VMRuntime;->concurrentGC()V
-Ldalvik/system/VMRuntime;->didPruneDalvikCache()Z
-Ldalvik/system/VMRuntime;->disableJitCompilation()V
-Ldalvik/system/VMRuntime;->getTargetHeapUtilization()F
-Ldalvik/system/VMRuntime;->getTargetSdkVersion()I
-Ldalvik/system/VMRuntime;->hasUsedHiddenApi()Z
-Ldalvik/system/VMRuntime;->is64BitInstructionSet(Ljava/lang/String;)Z
-Ldalvik/system/VMRuntime;->isBootClassPathOnDisk(Ljava/lang/String;)Z
-Ldalvik/system/VMRuntime;->isCheckJniEnabled()Z
-Ldalvik/system/VMRuntime;->isDebuggerActive()Z
-Ldalvik/system/VMRuntime;->isJavaDebuggable()Z
-Ldalvik/system/VMRuntime;->isNativeDebuggable()Z
-Ldalvik/system/VMRuntime;->nativeSetTargetHeapUtilization(F)V
-Ldalvik/system/VMRuntime;->newUnpaddedArray(Ljava/lang/Class;I)Ljava/lang/Object;
-Ldalvik/system/VMRuntime;->nonSdkApiUsageConsumer:Ljava/util/function/Consumer;
-Ldalvik/system/VMRuntime;->preloadDexCaches()V
-Ldalvik/system/VMRuntime;->properties()[Ljava/lang/String;
-Ldalvik/system/VMRuntime;->registerAppInfo(Ljava/lang/String;[Ljava/lang/String;)V
-Ldalvik/system/VMRuntime;->registerSensitiveThread()V
-Ldalvik/system/VMRuntime;->requestConcurrentGC()V
-Ldalvik/system/VMRuntime;->requestHeapTrim()V
-Ldalvik/system/VMRuntime;->runHeapTasks()V
-Ldalvik/system/VMRuntime;->SDK_VERSION_CUR_DEVELOPMENT:I
-Ldalvik/system/VMRuntime;->setDedupeHiddenApiWarnings(Z)V
-Ldalvik/system/VMRuntime;->setHiddenApiAccessLogSamplingRate(I)V
-Ldalvik/system/VMRuntime;->setNonSdkApiUsageConsumer(Ljava/util/function/Consumer;)V
-Ldalvik/system/VMRuntime;->setProcessPackageName(Ljava/lang/String;)V
-Ldalvik/system/VMRuntime;->setSystemDaemonThreadPriority()V
-Ldalvik/system/VMRuntime;->setTargetSdkVersionNative(I)V
-Ldalvik/system/VMRuntime;->startHeapTaskProcessor()V
-Ldalvik/system/VMRuntime;->startJitCompilation()V
-Ldalvik/system/VMRuntime;->stopHeapTaskProcessor()V
-Ldalvik/system/VMRuntime;->targetSdkVersion:I
-Ldalvik/system/VMRuntime;->THE_ONE:Ldalvik/system/VMRuntime;
-Ldalvik/system/VMRuntime;->trimHeap()V
-Ldalvik/system/VMRuntime;->updateProcessState(I)V
-Ldalvik/system/VMRuntime;->vmVersion()Ljava/lang/String;
-Ldalvik/system/VMStack;
-Ldalvik/system/VMStack;-><init>()V
-Ldalvik/system/VMStack;->getAnnotatedThreadStackTrace(Ljava/lang/Thread;)[Ldalvik/system/AnnotatedStackTraceElement;
-Ldalvik/system/VMStack;->getClosestUserClassLoader()Ljava/lang/ClassLoader;
-Ldalvik/system/VMStack;->getStackClass1()Ljava/lang/Class;
-Ldalvik/system/ZygoteHooks;
-Ldalvik/system/ZygoteHooks;-><init>()V
-Ldalvik/system/ZygoteHooks;->nativePostForkChild(JIZZLjava/lang/String;)V
-Ldalvik/system/ZygoteHooks;->nativePreFork()J
-Ldalvik/system/ZygoteHooks;->postForkChild(IZZLjava/lang/String;)V
-Ldalvik/system/ZygoteHooks;->postForkCommon()V
-Ldalvik/system/ZygoteHooks;->preFork()V
-Ldalvik/system/ZygoteHooks;->startZygoteNoThreadCreation()V
-Ldalvik/system/ZygoteHooks;->stopZygoteNoThreadCreation()V
-Ldalvik/system/ZygoteHooks;->token:J
-Ldalvik/system/ZygoteHooks;->waitUntilAllThreadsStopped()V
-Ljava/awt/font/NumericShaper$Range;-><init>(III)V
-Ljava/awt/font/NumericShaper$Range;->base:I
-Ljava/awt/font/NumericShaper$Range;->end:I
-Ljava/awt/font/NumericShaper$Range;->getDigitBase()I
-Ljava/awt/font/NumericShaper$Range;->getNumericBase()C
-Ljava/awt/font/NumericShaper$Range;->indexToRange(I)Ljava/awt/font/NumericShaper$Range;
-Ljava/awt/font/NumericShaper$Range;->inRange(I)Z
-Ljava/awt/font/NumericShaper$Range;->maskToRangeSet(I)Ljava/util/Set;
-Ljava/awt/font/NumericShaper$Range;->start:I
-Ljava/awt/font/NumericShaper$Range;->toRangeIndex(Ljava/awt/font/NumericShaper$Range;)I
-Ljava/awt/font/NumericShaper$Range;->toRangeMask(Ljava/util/Set;)I
-Ljava/awt/font/NumericShaper;-><init>(II)V
-Ljava/awt/font/NumericShaper;-><init>(Ljava/awt/font/NumericShaper$Range;Ljava/util/Set;)V
-Ljava/awt/font/NumericShaper;->ARABIC_KEY:I
-Ljava/awt/font/NumericShaper;->bases:[C
-Ljava/awt/font/NumericShaper;->BENGALI_KEY:I
-Ljava/awt/font/NumericShaper;->BSEARCH_THRESHOLD:I
-Ljava/awt/font/NumericShaper;->checkParams([CII)V
-Ljava/awt/font/NumericShaper;->contexts:[C
-Ljava/awt/font/NumericShaper;->CONTEXTUAL_MASK:I
-Ljava/awt/font/NumericShaper;->ctCache:I
-Ljava/awt/font/NumericShaper;->ctCacheLimit:I
-Ljava/awt/font/NumericShaper;->currentRange:Ljava/awt/font/NumericShaper$Range;
-Ljava/awt/font/NumericShaper;->DEVANAGARI_KEY:I
-Ljava/awt/font/NumericShaper;->EASTERN_ARABIC_KEY:I
-Ljava/awt/font/NumericShaper;->ETHIOPIC_KEY:I
-Ljava/awt/font/NumericShaper;->EUROPEAN_KEY:I
-Ljava/awt/font/NumericShaper;->getContextKey(C)I
-Ljava/awt/font/NumericShaper;->getHighBit(I)I
-Ljava/awt/font/NumericShaper;->getKeyFromMask(I)I
-Ljava/awt/font/NumericShaper;->GUJARATI_KEY:I
-Ljava/awt/font/NumericShaper;->GURMUKHI_KEY:I
-Ljava/awt/font/NumericShaper;->isStrongDirectional(C)Z
-Ljava/awt/font/NumericShaper;->KANNADA_KEY:I
-Ljava/awt/font/NumericShaper;->key:I
-Ljava/awt/font/NumericShaper;->KHMER_KEY:I
-Ljava/awt/font/NumericShaper;->LAO_KEY:I
-Ljava/awt/font/NumericShaper;->MALAYALAM_KEY:I
-Ljava/awt/font/NumericShaper;->mask:I
-Ljava/awt/font/NumericShaper;->MONGOLIAN_KEY:I
-Ljava/awt/font/NumericShaper;->MYANMAR_KEY:I
-Ljava/awt/font/NumericShaper;->NUM_KEYS:I
-Ljava/awt/font/NumericShaper;->ORIYA_KEY:I
-Ljava/awt/font/NumericShaper;->rangeArray:[Ljava/awt/font/NumericShaper$Range;
-Ljava/awt/font/NumericShaper;->rangeForCodePoint(I)Ljava/awt/font/NumericShaper$Range;
-Ljava/awt/font/NumericShaper;->rangeSet:Ljava/util/Set;
-Ljava/awt/font/NumericShaper;->search(I[III)I
-Ljava/awt/font/NumericShaper;->shapeContextually([CIII)V
-Ljava/awt/font/NumericShaper;->shapeContextually([CIILjava/awt/font/NumericShaper$Range;)V
-Ljava/awt/font/NumericShaper;->shapeNonContextually([CII)V
-Ljava/awt/font/NumericShaper;->shapingRange:Ljava/awt/font/NumericShaper$Range;
-Ljava/awt/font/NumericShaper;->stCache:I
-Ljava/awt/font/NumericShaper;->strongTable:[I
-Ljava/awt/font/NumericShaper;->TAMIL_KEY:I
-Ljava/awt/font/NumericShaper;->TELUGU_KEY:I
-Ljava/awt/font/NumericShaper;->THAI_KEY:I
-Ljava/awt/font/NumericShaper;->TIBETAN_KEY:I
-Ljava/awt/font/TextAttribute;->instanceMap:Ljava/util/Map;
-Ljava/beans/ChangeListenerMap;
-Ljava/beans/ChangeListenerMap;-><init>()V
-Ljava/beans/ChangeListenerMap;->add(Ljava/lang/String;Ljava/util/EventListener;)V
-Ljava/beans/ChangeListenerMap;->extract(Ljava/util/EventListener;)Ljava/util/EventListener;
-Ljava/beans/ChangeListenerMap;->get(Ljava/lang/String;)[Ljava/util/EventListener;
-Ljava/beans/ChangeListenerMap;->getEntries()Ljava/util/Set;
-Ljava/beans/ChangeListenerMap;->getListeners()[Ljava/util/EventListener;
-Ljava/beans/ChangeListenerMap;->getListeners(Ljava/lang/String;)[Ljava/util/EventListener;
-Ljava/beans/ChangeListenerMap;->hasListeners(Ljava/lang/String;)Z
-Ljava/beans/ChangeListenerMap;->map:Ljava/util/Map;
-Ljava/beans/ChangeListenerMap;->newArray(I)[Ljava/util/EventListener;
-Ljava/beans/ChangeListenerMap;->newProxy(Ljava/lang/String;Ljava/util/EventListener;)Ljava/util/EventListener;
-Ljava/beans/ChangeListenerMap;->remove(Ljava/lang/String;Ljava/util/EventListener;)V
-Ljava/beans/ChangeListenerMap;->set(Ljava/lang/String;[Ljava/util/EventListener;)V
-Ljava/beans/IndexedPropertyChangeEvent;->appendTo(Ljava/lang/StringBuilder;)V
-Ljava/beans/IndexedPropertyChangeEvent;->index:I
-Ljava/beans/PropertyChangeEvent;->appendTo(Ljava/lang/StringBuilder;)V
-Ljava/beans/PropertyChangeEvent;->newValue:Ljava/lang/Object;
-Ljava/beans/PropertyChangeEvent;->oldValue:Ljava/lang/Object;
-Ljava/beans/PropertyChangeEvent;->propagationId:Ljava/lang/Object;
-Ljava/beans/PropertyChangeEvent;->propertyName:Ljava/lang/String;
-Ljava/beans/PropertyChangeListenerProxy;->propertyName:Ljava/lang/String;
-Ljava/beans/PropertyChangeSupport$PropertyChangeListenerMap;
-Ljava/beans/PropertyChangeSupport$PropertyChangeListenerMap;-><init>()V
-Ljava/beans/PropertyChangeSupport$PropertyChangeListenerMap;->EMPTY:[Ljava/beans/PropertyChangeListener;
-Ljava/beans/PropertyChangeSupport$PropertyChangeListenerMap;->extract(Ljava/beans/PropertyChangeListener;)Ljava/beans/PropertyChangeListener;
-Ljava/beans/PropertyChangeSupport$PropertyChangeListenerMap;->newArray(I)[Ljava/beans/PropertyChangeListener;
-Ljava/beans/PropertyChangeSupport$PropertyChangeListenerMap;->newProxy(Ljava/lang/String;Ljava/beans/PropertyChangeListener;)Ljava/beans/PropertyChangeListener;
-Ljava/beans/PropertyChangeSupport;->fire([Ljava/beans/PropertyChangeListener;Ljava/beans/PropertyChangeEvent;)V
-Ljava/beans/PropertyChangeSupport;->map:Ljava/beans/PropertyChangeSupport$PropertyChangeListenerMap;
-Ljava/beans/PropertyChangeSupport;->source:Ljava/lang/Object;
-Ljava/io/BufferedInputStream;->bufUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
-Ljava/io/BufferedInputStream;->DEFAULT_BUFFER_SIZE:I
-Ljava/io/BufferedInputStream;->fill()V
-Ljava/io/BufferedInputStream;->getBufIfOpen()[B
-Ljava/io/BufferedInputStream;->getInIfOpen()Ljava/io/InputStream;
-Ljava/io/BufferedInputStream;->MAX_BUFFER_SIZE:I
-Ljava/io/BufferedInputStream;->read1([BII)I
-Ljava/io/BufferedOutputStream;->flushBuffer()V
-Ljava/io/BufferedReader;->cb:[C
-Ljava/io/BufferedReader;->defaultCharBufferSize:I
-Ljava/io/BufferedReader;->defaultExpectedLineLength:I
-Ljava/io/BufferedReader;->ensureOpen()V
-Ljava/io/BufferedReader;->fill()V
-Ljava/io/BufferedReader;->in:Ljava/io/Reader;
-Ljava/io/BufferedReader;->INVALIDATED:I
-Ljava/io/BufferedReader;->markedChar:I
-Ljava/io/BufferedReader;->markedSkipLF:Z
-Ljava/io/BufferedReader;->nChars:I
-Ljava/io/BufferedReader;->nextChar:I
-Ljava/io/BufferedReader;->read1([CII)I
-Ljava/io/BufferedReader;->readAheadLimit:I
-Ljava/io/BufferedReader;->readLine(Z)Ljava/lang/String;
-Ljava/io/BufferedReader;->skipLF:Z
-Ljava/io/BufferedReader;->UNMARKED:I
-Ljava/io/BufferedWriter;->cb:[C
-Ljava/io/BufferedWriter;->defaultCharBufferSize:I
-Ljava/io/BufferedWriter;->ensureOpen()V
-Ljava/io/BufferedWriter;->flushBuffer()V
-Ljava/io/BufferedWriter;->lineSeparator:Ljava/lang/String;
-Ljava/io/BufferedWriter;->min(II)I
-Ljava/io/BufferedWriter;->nChars:I
-Ljava/io/BufferedWriter;->nextChar:I
-Ljava/io/BufferedWriter;->out:Ljava/io/Writer;
-Ljava/io/ByteArrayOutputStream;->ensureCapacity(I)V
-Ljava/io/ByteArrayOutputStream;->grow(I)V
-Ljava/io/ByteArrayOutputStream;->hugeCapacity(I)I
-Ljava/io/ByteArrayOutputStream;->MAX_ARRAY_SIZE:I
-Ljava/io/CharArrayReader;->ensureOpen()V
-Ljava/io/Console$LineReader;
-Ljava/io/Console$LineReader;-><init>(Ljava/io/Reader;)V
-Ljava/io/Console$LineReader;->cb:[C
-Ljava/io/Console$LineReader;->in:Ljava/io/Reader;
-Ljava/io/Console$LineReader;->leftoverLF:Z
-Ljava/io/Console$LineReader;->nChars:I
-Ljava/io/Console$LineReader;->nextChar:I
-Ljava/io/Console;-><init>()V
-Ljava/io/Console;-><init>(Ljava/io/InputStream;Ljava/io/OutputStream;)V
-Ljava/io/Console;->cons:Ljava/io/Console;
-Ljava/io/Console;->console()Ljava/io/Console;
-Ljava/io/Console;->cs:Ljava/nio/charset/Charset;
-Ljava/io/Console;->echo(Z)Z
-Ljava/io/Console;->echoOff:Z
-Ljava/io/Console;->formatter:Ljava/util/Formatter;
-Ljava/io/Console;->grow()[C
-Ljava/io/Console;->istty()Z
-Ljava/io/Console;->out:Ljava/io/Writer;
-Ljava/io/Console;->pw:Ljava/io/PrintWriter;
-Ljava/io/Console;->rcb:[C
-Ljava/io/Console;->reader:Ljava/io/Reader;
-Ljava/io/Console;->readline(Z)[C
-Ljava/io/Console;->readLock:Ljava/lang/Object;
-Ljava/io/Console;->writeLock:Ljava/lang/Object;
-Ljava/io/DataInputStream;->bytearr:[B
-Ljava/io/DataInputStream;->chararr:[C
-Ljava/io/DataInputStream;->lineBuffer:[C
-Ljava/io/DataInputStream;->readBuffer:[B
-Ljava/io/DataOutputStream;->bytearr:[B
-Ljava/io/DataOutputStream;->incCount(I)V
-Ljava/io/DataOutputStream;->writeBuffer:[B
-Ljava/io/DataOutputStream;->writeUTF(Ljava/lang/String;Ljava/io/DataOutput;)I
-Ljava/io/File$PathStatus;
-Ljava/io/File$PathStatus;-><init>()V
-Ljava/io/File$PathStatus;->CHECKED:Ljava/io/File$PathStatus;
-Ljava/io/File$PathStatus;->INVALID:Ljava/io/File$PathStatus;
-Ljava/io/File$PathStatus;->valueOf(Ljava/lang/String;)Ljava/io/File$PathStatus;
-Ljava/io/File$PathStatus;->values()[Ljava/io/File$PathStatus;
-Ljava/io/File$TempDirectory;
-Ljava/io/File$TempDirectory;-><init>()V
-Ljava/io/File$TempDirectory;->generateFile(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;
-Ljava/io/File;-><init>(Ljava/lang/String;I)V
-Ljava/io/File;-><init>(Ljava/lang/String;Ljava/io/File;)V
-Ljava/io/File;->getPrefixLength()I
-Ljava/io/File;->isInvalid()Z
-Ljava/io/File;->PATH_OFFSET:J
-Ljava/io/File;->PREFIX_LENGTH_OFFSET:J
-Ljava/io/File;->slashify(Ljava/lang/String;Z)Ljava/lang/String;
-Ljava/io/File;->UNSAFE:Lsun/misc/Unsafe;
-Ljava/io/FileDescriptor;-><init>(I)V
-Ljava/io/FileDescriptor;->dupFd(I)Ljava/io/FileDescriptor;
-Ljava/io/FileDescriptor;->isSocket(I)Z
-Ljava/io/FileInputStream$UseManualSkipException;
-Ljava/io/FileInputStream$UseManualSkipException;-><init>()V
-Ljava/io/FileInputStream;-><init>(Ljava/io/FileDescriptor;Z)V
-Ljava/io/FileInputStream;->available0()I
-Ljava/io/FileInputStream;->channel:Ljava/nio/channels/FileChannel;
-Ljava/io/FileInputStream;->closed:Z
-Ljava/io/FileInputStream;->closeLock:Ljava/lang/Object;
-Ljava/io/FileInputStream;->guard:Ldalvik/system/CloseGuard;
-Ljava/io/FileInputStream;->isFdOwner:Z
-Ljava/io/FileInputStream;->open(Ljava/lang/String;)V
-Ljava/io/FileInputStream;->open0(Ljava/lang/String;)V
-Ljava/io/FileInputStream;->path:Ljava/lang/String;
-Ljava/io/FileInputStream;->skip0(J)J
-Ljava/io/FileInputStream;->tracker:Llibcore/io/IoTracker;
-Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Ljava/io/FileOutputStream;-><init>(Ljava/io/FileDescriptor;Z)V
-Ljava/io/FileOutputStream;->append:Z
-Ljava/io/FileOutputStream;->closed:Z
-Ljava/io/FileOutputStream;->closeLock:Ljava/lang/Object;
-Ljava/io/FileOutputStream;->guard:Ldalvik/system/CloseGuard;
-Ljava/io/FileOutputStream;->isFdOwner:Z
-Ljava/io/FileOutputStream;->open(Ljava/lang/String;Z)V
-Ljava/io/FileOutputStream;->open0(Ljava/lang/String;Z)V
-Ljava/io/FileOutputStream;->path:Ljava/lang/String;
-Ljava/io/FileOutputStream;->tracker:Llibcore/io/IoTracker;
-Ljava/io/FileSystem;
-Ljava/io/FileSystem;-><init>()V
-Ljava/io/FileSystem;->ACCESS_EXECUTE:I
-Ljava/io/FileSystem;->ACCESS_OK:I
-Ljava/io/FileSystem;->ACCESS_READ:I
-Ljava/io/FileSystem;->ACCESS_WRITE:I
-Ljava/io/FileSystem;->BA_DIRECTORY:I
-Ljava/io/FileSystem;->BA_EXISTS:I
-Ljava/io/FileSystem;->BA_HIDDEN:I
-Ljava/io/FileSystem;->BA_REGULAR:I
-Ljava/io/FileSystem;->getBooleanProperty(Ljava/lang/String;Z)Z
-Ljava/io/FileSystem;->SPACE_FREE:I
-Ljava/io/FileSystem;->SPACE_TOTAL:I
-Ljava/io/FileSystem;->SPACE_USABLE:I
-Ljava/io/FileSystem;->useCanonCaches:Z
-Ljava/io/FileSystem;->useCanonPrefixCache:Z
-Ljava/io/InputStream;->MAX_SKIP_BUFFER_SIZE:I
-Ljava/io/InputStreamReader;->sd:Lsun/nio/cs/StreamDecoder;
-Ljava/io/InterruptedIOException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-Ljava/io/InterruptedIOException;-><init>(Ljava/lang/Throwable;)V
-Ljava/io/LineNumberInputStream;->lineNumber:I
-Ljava/io/LineNumberInputStream;->markLineNumber:I
-Ljava/io/LineNumberInputStream;->markPushBack:I
-Ljava/io/LineNumberInputStream;->pushBack:I
-Ljava/io/LineNumberReader;->lineNumber:I
-Ljava/io/LineNumberReader;->markedLineNumber:I
-Ljava/io/LineNumberReader;->markedSkipLF:Z
-Ljava/io/LineNumberReader;->maxSkipBufferSize:I
-Ljava/io/LineNumberReader;->skipBuffer:[C
-Ljava/io/LineNumberReader;->skipLF:Z
-Ljava/io/ObjectInputStream$BlockDataInputStream;
-Ljava/io/ObjectInputStream$BlockDataInputStream;-><init>(Ljava/io/InputStream;)V
-Ljava/io/ObjectInputStream$BlockDataInputStream;->blkmode:Z
-Ljava/io/ObjectInputStream$BlockDataInputStream;->buf:[B
-Ljava/io/ObjectInputStream$BlockDataInputStream;->cbuf:[C
-Ljava/io/ObjectInputStream$BlockDataInputStream;->CHAR_BUF_SIZE:I
-Ljava/io/ObjectInputStream$BlockDataInputStream;->currentBlockRemaining()I
-Ljava/io/ObjectInputStream$BlockDataInputStream;->din:Ljava/io/DataInputStream;
-Ljava/io/ObjectInputStream$BlockDataInputStream;->end:I
-Ljava/io/ObjectInputStream$BlockDataInputStream;->getBlockDataMode()Z
-Ljava/io/ObjectInputStream$BlockDataInputStream;->hbuf:[B
-Ljava/io/ObjectInputStream$BlockDataInputStream;->HEADER_BLOCKED:I
-Ljava/io/ObjectInputStream$BlockDataInputStream;->in:Ljava/io/ObjectInputStream$PeekInputStream;
-Ljava/io/ObjectInputStream$BlockDataInputStream;->MAX_BLOCK_SIZE:I
-Ljava/io/ObjectInputStream$BlockDataInputStream;->MAX_HEADER_SIZE:I
-Ljava/io/ObjectInputStream$BlockDataInputStream;->peek()I
-Ljava/io/ObjectInputStream$BlockDataInputStream;->peekByte()B
-Ljava/io/ObjectInputStream$BlockDataInputStream;->pos:I
-Ljava/io/ObjectInputStream$BlockDataInputStream;->read([BIIZ)I
-Ljava/io/ObjectInputStream$BlockDataInputStream;->readBlockHeader(Z)I
-Ljava/io/ObjectInputStream$BlockDataInputStream;->readBooleans([ZII)V
-Ljava/io/ObjectInputStream$BlockDataInputStream;->readChars([CII)V
-Ljava/io/ObjectInputStream$BlockDataInputStream;->readDoubles([DII)V
-Ljava/io/ObjectInputStream$BlockDataInputStream;->readFloats([FII)V
-Ljava/io/ObjectInputStream$BlockDataInputStream;->readFully([BIIZ)V
-Ljava/io/ObjectInputStream$BlockDataInputStream;->readInts([III)V
-Ljava/io/ObjectInputStream$BlockDataInputStream;->readLongs([JII)V
-Ljava/io/ObjectInputStream$BlockDataInputStream;->readLongUTF()Ljava/lang/String;
-Ljava/io/ObjectInputStream$BlockDataInputStream;->readShorts([SII)V
-Ljava/io/ObjectInputStream$BlockDataInputStream;->readUTFBody(J)Ljava/lang/String;
-Ljava/io/ObjectInputStream$BlockDataInputStream;->readUTFChar(Ljava/lang/StringBuilder;J)I
-Ljava/io/ObjectInputStream$BlockDataInputStream;->readUTFSpan(Ljava/lang/StringBuilder;J)J
-Ljava/io/ObjectInputStream$BlockDataInputStream;->refill()V
-Ljava/io/ObjectInputStream$BlockDataInputStream;->setBlockDataMode(Z)Z
-Ljava/io/ObjectInputStream$BlockDataInputStream;->skipBlockData()V
-Ljava/io/ObjectInputStream$BlockDataInputStream;->unread:I
-Ljava/io/ObjectInputStream$Caches;
-Ljava/io/ObjectInputStream$Caches;-><init>()V
-Ljava/io/ObjectInputStream$Caches;->subclassAudits:Ljava/util/concurrent/ConcurrentMap;
-Ljava/io/ObjectInputStream$Caches;->subclassAuditsQueue:Ljava/lang/ref/ReferenceQueue;
-Ljava/io/ObjectInputStream$GetFieldImpl;
-Ljava/io/ObjectInputStream$GetFieldImpl;-><init>(Ljava/io/ObjectStreamClass;)V
-Ljava/io/ObjectInputStream$GetFieldImpl;->desc:Ljava/io/ObjectStreamClass;
-Ljava/io/ObjectInputStream$GetFieldImpl;->getFieldOffset(Ljava/lang/String;Ljava/lang/Class;)I
-Ljava/io/ObjectInputStream$GetFieldImpl;->objHandles:[I
-Ljava/io/ObjectInputStream$GetFieldImpl;->objVals:[Ljava/lang/Object;
-Ljava/io/ObjectInputStream$GetFieldImpl;->primVals:[B
-Ljava/io/ObjectInputStream$GetFieldImpl;->readFields()V
-Ljava/io/ObjectInputStream$HandleTable$HandleList;
-Ljava/io/ObjectInputStream$HandleTable$HandleList;-><init>()V
-Ljava/io/ObjectInputStream$HandleTable$HandleList;->add(I)V
-Ljava/io/ObjectInputStream$HandleTable$HandleList;->get(I)I
-Ljava/io/ObjectInputStream$HandleTable$HandleList;->list:[I
-Ljava/io/ObjectInputStream$HandleTable$HandleList;->size()I
-Ljava/io/ObjectInputStream$HandleTable$HandleList;->size:I
-Ljava/io/ObjectInputStream$HandleTable;
-Ljava/io/ObjectInputStream$HandleTable;-><init>(I)V
-Ljava/io/ObjectInputStream$HandleTable;->assign(Ljava/lang/Object;)I
-Ljava/io/ObjectInputStream$HandleTable;->clear()V
-Ljava/io/ObjectInputStream$HandleTable;->deps:[Ljava/io/ObjectInputStream$HandleTable$HandleList;
-Ljava/io/ObjectInputStream$HandleTable;->entries:[Ljava/lang/Object;
-Ljava/io/ObjectInputStream$HandleTable;->finish(I)V
-Ljava/io/ObjectInputStream$HandleTable;->grow()V
-Ljava/io/ObjectInputStream$HandleTable;->lookupException(I)Ljava/lang/ClassNotFoundException;
-Ljava/io/ObjectInputStream$HandleTable;->lookupObject(I)Ljava/lang/Object;
-Ljava/io/ObjectInputStream$HandleTable;->lowDep:I
-Ljava/io/ObjectInputStream$HandleTable;->markDependency(II)V
-Ljava/io/ObjectInputStream$HandleTable;->markException(ILjava/lang/ClassNotFoundException;)V
-Ljava/io/ObjectInputStream$HandleTable;->setObject(ILjava/lang/Object;)V
-Ljava/io/ObjectInputStream$HandleTable;->size()I
-Ljava/io/ObjectInputStream$HandleTable;->size:I
-Ljava/io/ObjectInputStream$HandleTable;->status:[B
-Ljava/io/ObjectInputStream$HandleTable;->STATUS_EXCEPTION:B
-Ljava/io/ObjectInputStream$HandleTable;->STATUS_OK:B
-Ljava/io/ObjectInputStream$HandleTable;->STATUS_UNKNOWN:B
-Ljava/io/ObjectInputStream$PeekInputStream;
-Ljava/io/ObjectInputStream$PeekInputStream;-><init>(Ljava/io/InputStream;)V
-Ljava/io/ObjectInputStream$PeekInputStream;->in:Ljava/io/InputStream;
-Ljava/io/ObjectInputStream$PeekInputStream;->peek()I
-Ljava/io/ObjectInputStream$PeekInputStream;->peekb:I
-Ljava/io/ObjectInputStream$PeekInputStream;->readFully([BII)V
-Ljava/io/ObjectInputStream$ValidationList$Callback;
-Ljava/io/ObjectInputStream$ValidationList$Callback;-><init>(Ljava/io/ObjectInputValidation;ILjava/io/ObjectInputStream$ValidationList$Callback;Ljava/security/AccessControlContext;)V
-Ljava/io/ObjectInputStream$ValidationList$Callback;->acc:Ljava/security/AccessControlContext;
-Ljava/io/ObjectInputStream$ValidationList$Callback;->next:Ljava/io/ObjectInputStream$ValidationList$Callback;
-Ljava/io/ObjectInputStream$ValidationList$Callback;->obj:Ljava/io/ObjectInputValidation;
-Ljava/io/ObjectInputStream$ValidationList$Callback;->priority:I
-Ljava/io/ObjectInputStream$ValidationList;
-Ljava/io/ObjectInputStream$ValidationList;-><init>()V
-Ljava/io/ObjectInputStream$ValidationList;->clear()V
-Ljava/io/ObjectInputStream$ValidationList;->doCallbacks()V
-Ljava/io/ObjectInputStream$ValidationList;->list:Ljava/io/ObjectInputStream$ValidationList$Callback;
-Ljava/io/ObjectInputStream$ValidationList;->register(Ljava/io/ObjectInputValidation;I)V
-Ljava/io/ObjectInputStream;->auditSubclass(Ljava/lang/Class;)Z
-Ljava/io/ObjectInputStream;->checkResolve(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/io/ObjectInputStream;->clear()V
-Ljava/io/ObjectInputStream;->cloneArray(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/io/ObjectInputStream;->closed:Z
-Ljava/io/ObjectInputStream;->curContext:Ljava/io/SerialCallbackContext;
-Ljava/io/ObjectInputStream;->defaultDataEnd:Z
-Ljava/io/ObjectInputStream;->defaultReadFields(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
-Ljava/io/ObjectInputStream;->depth:I
-Ljava/io/ObjectInputStream;->enableOverride:Z
-Ljava/io/ObjectInputStream;->enableResolve:Z
-Ljava/io/ObjectInputStream;->handleReset()V
-Ljava/io/ObjectInputStream;->handles:Ljava/io/ObjectInputStream$HandleTable;
-Ljava/io/ObjectInputStream;->isCustomSubclass()Z
-Ljava/io/ObjectInputStream;->latestUserDefinedLoader()Ljava/lang/ClassLoader;
-Ljava/io/ObjectInputStream;->NULL_HANDLE:I
-Ljava/io/ObjectInputStream;->passHandle:I
-Ljava/io/ObjectInputStream;->primClasses:Ljava/util/HashMap;
-Ljava/io/ObjectInputStream;->primVals:[B
-Ljava/io/ObjectInputStream;->readArray(Z)Ljava/lang/Object;
-Ljava/io/ObjectInputStream;->readClass(Z)Ljava/lang/Class;
-Ljava/io/ObjectInputStream;->readClassDesc(Z)Ljava/io/ObjectStreamClass;
-Ljava/io/ObjectInputStream;->readEnum(Z)Ljava/lang/Enum;
-Ljava/io/ObjectInputStream;->readExternalData(Ljava/io/Externalizable;Ljava/io/ObjectStreamClass;)V
-Ljava/io/ObjectInputStream;->readFatalException()Ljava/io/IOException;
-Ljava/io/ObjectInputStream;->readHandle(Z)Ljava/lang/Object;
-Ljava/io/ObjectInputStream;->readNonProxyDesc(Z)Ljava/io/ObjectStreamClass;
-Ljava/io/ObjectInputStream;->readNull()Ljava/lang/Object;
-Ljava/io/ObjectInputStream;->readObject0(Z)Ljava/lang/Object;
-Ljava/io/ObjectInputStream;->readOrdinaryObject(Z)Ljava/lang/Object;
-Ljava/io/ObjectInputStream;->readProxyDesc(Z)Ljava/io/ObjectStreamClass;
-Ljava/io/ObjectInputStream;->readSerialData(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
-Ljava/io/ObjectInputStream;->readString(Z)Ljava/lang/String;
-Ljava/io/ObjectInputStream;->readTypeString()Ljava/lang/String;
-Ljava/io/ObjectInputStream;->skipCustomData()V
-Ljava/io/ObjectInputStream;->unsharedMarker:Ljava/lang/Object;
-Ljava/io/ObjectInputStream;->verifySubclass()V
-Ljava/io/ObjectInputStream;->vlist:Ljava/io/ObjectInputStream$ValidationList;
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;-><init>(Ljava/io/OutputStream;)V
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->blkmode:Z
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->buf:[B
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->cbuf:[C
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->CHAR_BUF_SIZE:I
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->dout:Ljava/io/DataOutputStream;
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->drain()V
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->getBlockDataMode()Z
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->getUTFLength(Ljava/lang/String;)J
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->hbuf:[B
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->MAX_BLOCK_SIZE:I
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->MAX_HEADER_SIZE:I
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->out:Ljava/io/OutputStream;
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->pos:I
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->setBlockDataMode(Z)Z
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->warnIfClosed()V
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->warnOnceWhenWriting:Z
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->write([BIIZ)V
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->writeBlockHeader(I)V
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->writeBooleans([ZII)V
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->writeChars([CII)V
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->writeDoubles([DII)V
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->writeFloats([FII)V
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->writeInts([III)V
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->writeLongs([JII)V
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->writeLongUTF(Ljava/lang/String;)V
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->writeLongUTF(Ljava/lang/String;J)V
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->writeShorts([SII)V
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->writeUTF(Ljava/lang/String;J)V
-Ljava/io/ObjectOutputStream$BlockDataOutputStream;->writeUTFBody(Ljava/lang/String;)V
-Ljava/io/ObjectOutputStream$Caches;
-Ljava/io/ObjectOutputStream$Caches;-><init>()V
-Ljava/io/ObjectOutputStream$Caches;->subclassAudits:Ljava/util/concurrent/ConcurrentMap;
-Ljava/io/ObjectOutputStream$Caches;->subclassAuditsQueue:Ljava/lang/ref/ReferenceQueue;
-Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
-Ljava/io/ObjectOutputStream$DebugTraceInfoStack;-><init>()V
-Ljava/io/ObjectOutputStream$DebugTraceInfoStack;->clear()V
-Ljava/io/ObjectOutputStream$DebugTraceInfoStack;->pop()V
-Ljava/io/ObjectOutputStream$DebugTraceInfoStack;->push(Ljava/lang/String;)V
-Ljava/io/ObjectOutputStream$DebugTraceInfoStack;->stack:Ljava/util/List;
-Ljava/io/ObjectOutputStream$HandleTable;
-Ljava/io/ObjectOutputStream$HandleTable;-><init>(IF)V
-Ljava/io/ObjectOutputStream$HandleTable;->assign(Ljava/lang/Object;)I
-Ljava/io/ObjectOutputStream$HandleTable;->clear()V
-Ljava/io/ObjectOutputStream$HandleTable;->growEntries()V
-Ljava/io/ObjectOutputStream$HandleTable;->growSpine()V
-Ljava/io/ObjectOutputStream$HandleTable;->hash(Ljava/lang/Object;)I
-Ljava/io/ObjectOutputStream$HandleTable;->insert(Ljava/lang/Object;I)V
-Ljava/io/ObjectOutputStream$HandleTable;->loadFactor:F
-Ljava/io/ObjectOutputStream$HandleTable;->lookup(Ljava/lang/Object;)I
-Ljava/io/ObjectOutputStream$HandleTable;->next:[I
-Ljava/io/ObjectOutputStream$HandleTable;->objs:[Ljava/lang/Object;
-Ljava/io/ObjectOutputStream$HandleTable;->size()I
-Ljava/io/ObjectOutputStream$HandleTable;->size:I
-Ljava/io/ObjectOutputStream$HandleTable;->spine:[I
-Ljava/io/ObjectOutputStream$HandleTable;->threshold:I
-Ljava/io/ObjectOutputStream$PutFieldImpl;
-Ljava/io/ObjectOutputStream$PutFieldImpl;-><init>(Ljava/io/ObjectStreamClass;)V
-Ljava/io/ObjectOutputStream$PutFieldImpl;->desc:Ljava/io/ObjectStreamClass;
-Ljava/io/ObjectOutputStream$PutFieldImpl;->getFieldOffset(Ljava/lang/String;Ljava/lang/Class;)I
-Ljava/io/ObjectOutputStream$PutFieldImpl;->objVals:[Ljava/lang/Object;
-Ljava/io/ObjectOutputStream$PutFieldImpl;->primVals:[B
-Ljava/io/ObjectOutputStream$PutFieldImpl;->writeFields()V
-Ljava/io/ObjectOutputStream$ReplaceTable;
-Ljava/io/ObjectOutputStream$ReplaceTable;-><init>(IF)V
-Ljava/io/ObjectOutputStream$ReplaceTable;->assign(Ljava/lang/Object;Ljava/lang/Object;)V
-Ljava/io/ObjectOutputStream$ReplaceTable;->clear()V
-Ljava/io/ObjectOutputStream$ReplaceTable;->grow()V
-Ljava/io/ObjectOutputStream$ReplaceTable;->htab:Ljava/io/ObjectOutputStream$HandleTable;
-Ljava/io/ObjectOutputStream$ReplaceTable;->lookup(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/io/ObjectOutputStream$ReplaceTable;->reps:[Ljava/lang/Object;
-Ljava/io/ObjectOutputStream$ReplaceTable;->size()I
-Ljava/io/ObjectOutputStream;->auditSubclass(Ljava/lang/Class;)Z
-Ljava/io/ObjectOutputStream;->bout:Ljava/io/ObjectOutputStream$BlockDataOutputStream;
-Ljava/io/ObjectOutputStream;->clear()V
-Ljava/io/ObjectOutputStream;->curContext:Ljava/io/SerialCallbackContext;
-Ljava/io/ObjectOutputStream;->curPut:Ljava/io/ObjectOutputStream$PutFieldImpl;
-Ljava/io/ObjectOutputStream;->debugInfoStack:Ljava/io/ObjectOutputStream$DebugTraceInfoStack;
-Ljava/io/ObjectOutputStream;->defaultWriteFields(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
-Ljava/io/ObjectOutputStream;->depth:I
-Ljava/io/ObjectOutputStream;->doublesToBytes([DI[BII)V
-Ljava/io/ObjectOutputStream;->enableOverride:Z
-Ljava/io/ObjectOutputStream;->enableReplace:Z
-Ljava/io/ObjectOutputStream;->extendedDebugInfo:Z
-Ljava/io/ObjectOutputStream;->floatsToBytes([FI[BII)V
-Ljava/io/ObjectOutputStream;->getProtocolVersion()I
-Ljava/io/ObjectOutputStream;->handles:Ljava/io/ObjectOutputStream$HandleTable;
-Ljava/io/ObjectOutputStream;->isCustomSubclass()Z
-Ljava/io/ObjectOutputStream;->primVals:[B
-Ljava/io/ObjectOutputStream;->subs:Ljava/io/ObjectOutputStream$ReplaceTable;
-Ljava/io/ObjectOutputStream;->verifySubclass()V
-Ljava/io/ObjectOutputStream;->writeArray(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Z)V
-Ljava/io/ObjectOutputStream;->writeClass(Ljava/lang/Class;Z)V
-Ljava/io/ObjectOutputStream;->writeClassDesc(Ljava/io/ObjectStreamClass;Z)V
-Ljava/io/ObjectOutputStream;->writeEnum(Ljava/lang/Enum;Ljava/io/ObjectStreamClass;Z)V
-Ljava/io/ObjectOutputStream;->writeExternalData(Ljava/io/Externalizable;)V
-Ljava/io/ObjectOutputStream;->writeFatalException(Ljava/io/IOException;)V
-Ljava/io/ObjectOutputStream;->writeHandle(I)V
-Ljava/io/ObjectOutputStream;->writeNonProxyDesc(Ljava/io/ObjectStreamClass;Z)V
-Ljava/io/ObjectOutputStream;->writeNull()V
-Ljava/io/ObjectOutputStream;->writeObject0(Ljava/lang/Object;Z)V
-Ljava/io/ObjectOutputStream;->writeOrdinaryObject(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Z)V
-Ljava/io/ObjectOutputStream;->writeProxyDesc(Ljava/io/ObjectStreamClass;Z)V
-Ljava/io/ObjectOutputStream;->writeSerialData(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
-Ljava/io/ObjectOutputStream;->writeString(Ljava/lang/String;Z)V
-Ljava/io/ObjectOutputStream;->writeTypeString(Ljava/lang/String;)V
-Ljava/io/ObjectStreamClass$Caches;
-Ljava/io/ObjectStreamClass$Caches;-><init>()V
-Ljava/io/ObjectStreamClass$Caches;->localDescs:Ljava/util/concurrent/ConcurrentMap;
-Ljava/io/ObjectStreamClass$Caches;->localDescsQueue:Ljava/lang/ref/ReferenceQueue;
-Ljava/io/ObjectStreamClass$Caches;->reflectors:Ljava/util/concurrent/ConcurrentMap;
-Ljava/io/ObjectStreamClass$Caches;->reflectorsQueue:Ljava/lang/ref/ReferenceQueue;
-Ljava/io/ObjectStreamClass$ClassDataSlot;
-Ljava/io/ObjectStreamClass$ClassDataSlot;-><init>(Ljava/io/ObjectStreamClass;Z)V
-Ljava/io/ObjectStreamClass$ClassDataSlot;->desc:Ljava/io/ObjectStreamClass;
-Ljava/io/ObjectStreamClass$ClassDataSlot;->hasData:Z
-Ljava/io/ObjectStreamClass$EntryFuture;
-Ljava/io/ObjectStreamClass$EntryFuture;-><init>()V
-Ljava/io/ObjectStreamClass$EntryFuture;->entry:Ljava/lang/Object;
-Ljava/io/ObjectStreamClass$EntryFuture;->get()Ljava/lang/Object;
-Ljava/io/ObjectStreamClass$EntryFuture;->getOwner()Ljava/lang/Thread;
-Ljava/io/ObjectStreamClass$EntryFuture;->owner:Ljava/lang/Thread;
-Ljava/io/ObjectStreamClass$EntryFuture;->set(Ljava/lang/Object;)Z
-Ljava/io/ObjectStreamClass$EntryFuture;->unset:Ljava/lang/Object;
-Ljava/io/ObjectStreamClass$ExceptionInfo;
-Ljava/io/ObjectStreamClass$ExceptionInfo;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Ljava/io/ObjectStreamClass$ExceptionInfo;->className:Ljava/lang/String;
-Ljava/io/ObjectStreamClass$ExceptionInfo;->message:Ljava/lang/String;
-Ljava/io/ObjectStreamClass$ExceptionInfo;->newInvalidClassException()Ljava/io/InvalidClassException;
-Ljava/io/ObjectStreamClass$FieldReflector;
-Ljava/io/ObjectStreamClass$FieldReflector;-><init>([Ljava/io/ObjectStreamField;)V
-Ljava/io/ObjectStreamClass$FieldReflector;->fields:[Ljava/io/ObjectStreamField;
-Ljava/io/ObjectStreamClass$FieldReflector;->getFields()[Ljava/io/ObjectStreamField;
-Ljava/io/ObjectStreamClass$FieldReflector;->getObjFieldValues(Ljava/lang/Object;[Ljava/lang/Object;)V
-Ljava/io/ObjectStreamClass$FieldReflector;->getPrimFieldValues(Ljava/lang/Object;[B)V
-Ljava/io/ObjectStreamClass$FieldReflector;->numPrimFields:I
-Ljava/io/ObjectStreamClass$FieldReflector;->offsets:[I
-Ljava/io/ObjectStreamClass$FieldReflector;->readKeys:[J
-Ljava/io/ObjectStreamClass$FieldReflector;->setObjFieldValues(Ljava/lang/Object;[Ljava/lang/Object;)V
-Ljava/io/ObjectStreamClass$FieldReflector;->setPrimFieldValues(Ljava/lang/Object;[B)V
-Ljava/io/ObjectStreamClass$FieldReflector;->typeCodes:[C
-Ljava/io/ObjectStreamClass$FieldReflector;->types:[Ljava/lang/Class;
-Ljava/io/ObjectStreamClass$FieldReflector;->unsafe:Lsun/misc/Unsafe;
-Ljava/io/ObjectStreamClass$FieldReflector;->writeKeys:[J
-Ljava/io/ObjectStreamClass$FieldReflectorKey;
-Ljava/io/ObjectStreamClass$FieldReflectorKey;-><init>(Ljava/lang/Class;[Ljava/io/ObjectStreamField;Ljava/lang/ref/ReferenceQueue;)V
-Ljava/io/ObjectStreamClass$FieldReflectorKey;->hash:I
-Ljava/io/ObjectStreamClass$FieldReflectorKey;->nullClass:Z
-Ljava/io/ObjectStreamClass$FieldReflectorKey;->sigs:Ljava/lang/String;
-Ljava/io/ObjectStreamClass$MemberSignature;
-Ljava/io/ObjectStreamClass$MemberSignature;-><init>(Ljava/lang/reflect/Constructor;)V
-Ljava/io/ObjectStreamClass$MemberSignature;-><init>(Ljava/lang/reflect/Field;)V
-Ljava/io/ObjectStreamClass$MemberSignature;-><init>(Ljava/lang/reflect/Method;)V
-Ljava/io/ObjectStreamClass$MemberSignature;->member:Ljava/lang/reflect/Member;
-Ljava/io/ObjectStreamClass$MemberSignature;->name:Ljava/lang/String;
-Ljava/io/ObjectStreamClass$MemberSignature;->signature:Ljava/lang/String;
-Ljava/io/ObjectStreamClass$WeakClassKey;
-Ljava/io/ObjectStreamClass$WeakClassKey;-><init>(Ljava/lang/Class;Ljava/lang/ref/ReferenceQueue;)V
-Ljava/io/ObjectStreamClass$WeakClassKey;->hash:I
-Ljava/io/ObjectStreamClass;-><init>()V
-Ljava/io/ObjectStreamClass;-><init>(Ljava/lang/Class;)V
-Ljava/io/ObjectStreamClass;->checkDefaultSerialize()V
-Ljava/io/ObjectStreamClass;->checkDeserialize()V
-Ljava/io/ObjectStreamClass;->checkSerialize()V
-Ljava/io/ObjectStreamClass;->cl:Ljava/lang/Class;
-Ljava/io/ObjectStreamClass;->classNamesEqual(Ljava/lang/String;Ljava/lang/String;)Z
-Ljava/io/ObjectStreamClass;->cons:Ljava/lang/reflect/Constructor;
-Ljava/io/ObjectStreamClass;->dataLayout:[Ljava/io/ObjectStreamClass$ClassDataSlot;
-Ljava/io/ObjectStreamClass;->defaultSerializeEx:Ljava/io/ObjectStreamClass$ExceptionInfo;
-Ljava/io/ObjectStreamClass;->deserializeEx:Ljava/io/ObjectStreamClass$ExceptionInfo;
-Ljava/io/ObjectStreamClass;->externalizable:Z
-Ljava/io/ObjectStreamClass;->fieldRefl:Ljava/io/ObjectStreamClass$FieldReflector;
-Ljava/io/ObjectStreamClass;->getClassDataLayout()[Ljava/io/ObjectStreamClass$ClassDataSlot;
-Ljava/io/ObjectStreamClass;->getClassDataLayout0()[Ljava/io/ObjectStreamClass$ClassDataSlot;
-Ljava/io/ObjectStreamClass;->getClassSignature(Ljava/lang/Class;)Ljava/lang/String;
-Ljava/io/ObjectStreamClass;->getDeclaredSerialFields(Ljava/lang/Class;)[Ljava/io/ObjectStreamField;
-Ljava/io/ObjectStreamClass;->getDeclaredSUID(Ljava/lang/Class;)Ljava/lang/Long;
-Ljava/io/ObjectStreamClass;->getDefaultSerialFields(Ljava/lang/Class;)[Ljava/io/ObjectStreamField;
-Ljava/io/ObjectStreamClass;->getExternalizableConstructor(Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
-Ljava/io/ObjectStreamClass;->getField(Ljava/lang/String;Ljava/lang/Class;)Ljava/io/ObjectStreamField;
-Ljava/io/ObjectStreamClass;->getFields(Z)[Ljava/io/ObjectStreamField;
-Ljava/io/ObjectStreamClass;->getInheritableMethod(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/reflect/Method;
-Ljava/io/ObjectStreamClass;->getMethodSignature([Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/String;
-Ljava/io/ObjectStreamClass;->getObjFieldValues(Ljava/lang/Object;[Ljava/lang/Object;)V
-Ljava/io/ObjectStreamClass;->getPackageName(Ljava/lang/Class;)Ljava/lang/String;
-Ljava/io/ObjectStreamClass;->getPrimFieldValues(Ljava/lang/Object;[B)V
-Ljava/io/ObjectStreamClass;->getPrivateMethod(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/reflect/Method;
-Ljava/io/ObjectStreamClass;->getReflector([Ljava/io/ObjectStreamField;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectStreamClass$FieldReflector;
-Ljava/io/ObjectStreamClass;->getResolveException()Ljava/lang/ClassNotFoundException;
-Ljava/io/ObjectStreamClass;->getSerialFields(Ljava/lang/Class;)[Ljava/io/ObjectStreamField;
-Ljava/io/ObjectStreamClass;->getSerializableConstructor(Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
-Ljava/io/ObjectStreamClass;->getSuperDesc()Ljava/io/ObjectStreamClass;
-Ljava/io/ObjectStreamClass;->getVariantFor(Ljava/lang/Class;)Ljava/io/ObjectStreamClass;
-Ljava/io/ObjectStreamClass;->hasBlockExternalData()Z
-Ljava/io/ObjectStreamClass;->hasBlockExternalData:Z
-Ljava/io/ObjectStreamClass;->hasReadResolveMethod()Z
-Ljava/io/ObjectStreamClass;->hasStaticInitializer(Ljava/lang/Class;Z)Z
-Ljava/io/ObjectStreamClass;->hasWriteObjectData:Z
-Ljava/io/ObjectStreamClass;->hasWriteObjectMethod()Z
-Ljava/io/ObjectStreamClass;->hasWriteReplaceMethod()Z
-Ljava/io/ObjectStreamClass;->initialized:Z
-Ljava/io/ObjectStreamClass;->initNonProxy(Ljava/io/ObjectStreamClass;Ljava/lang/Class;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
-Ljava/io/ObjectStreamClass;->initProxy(Ljava/lang/Class;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
-Ljava/io/ObjectStreamClass;->invokeReadObject(Ljava/lang/Object;Ljava/io/ObjectInputStream;)V
-Ljava/io/ObjectStreamClass;->invokeReadObjectNoData(Ljava/lang/Object;)V
-Ljava/io/ObjectStreamClass;->invokeReadResolve(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/io/ObjectStreamClass;->invokeWriteObject(Ljava/lang/Object;Ljava/io/ObjectOutputStream;)V
-Ljava/io/ObjectStreamClass;->invokeWriteReplace(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/io/ObjectStreamClass;->isEnum()Z
-Ljava/io/ObjectStreamClass;->isEnum:Z
-Ljava/io/ObjectStreamClass;->isExternalizable()Z
-Ljava/io/ObjectStreamClass;->isInstantiable()Z
-Ljava/io/ObjectStreamClass;->isProxy()Z
-Ljava/io/ObjectStreamClass;->isProxy:Z
-Ljava/io/ObjectStreamClass;->isSerializable()Z
-Ljava/io/ObjectStreamClass;->localDesc:Ljava/io/ObjectStreamClass;
-Ljava/io/ObjectStreamClass;->lookup(Ljava/lang/Class;Z)Ljava/io/ObjectStreamClass;
-Ljava/io/ObjectStreamClass;->matchFields([Ljava/io/ObjectStreamField;Ljava/io/ObjectStreamClass;)[Ljava/io/ObjectStreamField;
-Ljava/io/ObjectStreamClass;->MAX_SDK_TARGET_FOR_CLINIT_UIDGEN_WORKAROUND:I
-Ljava/io/ObjectStreamClass;->name:Ljava/lang/String;
-Ljava/io/ObjectStreamClass;->numObjFields:I
-Ljava/io/ObjectStreamClass;->packageEquals(Ljava/lang/Class;Ljava/lang/Class;)Z
-Ljava/io/ObjectStreamClass;->primDataSize:I
-Ljava/io/ObjectStreamClass;->processQueue(Ljava/lang/ref/ReferenceQueue;Ljava/util/concurrent/ConcurrentMap;)V
-Ljava/io/ObjectStreamClass;->readNonProxy(Ljava/io/ObjectInputStream;)V
-Ljava/io/ObjectStreamClass;->readObjectMethod:Ljava/lang/reflect/Method;
-Ljava/io/ObjectStreamClass;->readObjectNoDataMethod:Ljava/lang/reflect/Method;
-Ljava/io/ObjectStreamClass;->readResolveMethod:Ljava/lang/reflect/Method;
-Ljava/io/ObjectStreamClass;->requireInitialized()V
-Ljava/io/ObjectStreamClass;->resolveEx:Ljava/lang/ClassNotFoundException;
-Ljava/io/ObjectStreamClass;->serializable:Z
-Ljava/io/ObjectStreamClass;->serializeEx:Ljava/io/ObjectStreamClass$ExceptionInfo;
-Ljava/io/ObjectStreamClass;->setObjFieldValues(Ljava/lang/Object;[Ljava/lang/Object;)V
-Ljava/io/ObjectStreamClass;->setPrimFieldValues(Ljava/lang/Object;[B)V
-Ljava/io/ObjectStreamClass;->suid:Ljava/lang/Long;
-Ljava/io/ObjectStreamClass;->superDesc:Ljava/io/ObjectStreamClass;
-Ljava/io/ObjectStreamClass;->throwMiscException(Ljava/lang/Throwable;)V
-Ljava/io/ObjectStreamClass;->writeNonProxy(Ljava/io/ObjectOutputStream;)V
-Ljava/io/ObjectStreamClass;->writeObjectMethod:Ljava/lang/reflect/Method;
-Ljava/io/ObjectStreamClass;->writeReplaceMethod:Ljava/lang/reflect/Method;
-Ljava/io/ObjectStreamField;-><init>(Ljava/lang/reflect/Field;ZZ)V
-Ljava/io/ObjectStreamField;-><init>(Ljava/lang/String;Ljava/lang/String;Z)V
-Ljava/io/ObjectStreamField;->field:Ljava/lang/reflect/Field;
-Ljava/io/ObjectStreamField;->getClassSignature(Ljava/lang/Class;)Ljava/lang/String;
-Ljava/io/ObjectStreamField;->getSignature()Ljava/lang/String;
-Ljava/io/ObjectStreamField;->name:Ljava/lang/String;
-Ljava/io/ObjectStreamField;->offset:I
-Ljava/io/ObjectStreamField;->signature:Ljava/lang/String;
-Ljava/io/ObjectStreamField;->type:Ljava/lang/Class;
-Ljava/io/ObjectStreamField;->unshared:Z
-Ljava/io/OptionalDataException;-><init>(I)V
-Ljava/io/OptionalDataException;-><init>(Z)V
-Ljava/io/OutputStreamWriter;->flushBuffer()V
-Ljava/io/OutputStreamWriter;->se:Lsun/nio/cs/StreamEncoder;
-Ljava/io/PipedInputStream;->awaitSpace()V
-Ljava/io/PipedInputStream;->checkStateForReceive()V
-Ljava/io/PipedInputStream;->closedByReader:Z
-Ljava/io/PipedInputStream;->closedByWriter:Z
-Ljava/io/PipedInputStream;->connected:Z
-Ljava/io/PipedInputStream;->DEFAULT_PIPE_SIZE:I
-Ljava/io/PipedInputStream;->initPipe(I)V
-Ljava/io/PipedInputStream;->readSide:Ljava/lang/Thread;
-Ljava/io/PipedInputStream;->receive([BII)V
-Ljava/io/PipedInputStream;->receivedLast()V
-Ljava/io/PipedInputStream;->writeSide:Ljava/lang/Thread;
-Ljava/io/PipedOutputStream;->sink:Ljava/io/PipedInputStream;
-Ljava/io/PipedReader;->buffer:[C
-Ljava/io/PipedReader;->closedByReader:Z
-Ljava/io/PipedReader;->closedByWriter:Z
-Ljava/io/PipedReader;->connected:Z
-Ljava/io/PipedReader;->DEFAULT_PIPE_SIZE:I
-Ljava/io/PipedReader;->in:I
-Ljava/io/PipedReader;->initPipe(I)V
-Ljava/io/PipedReader;->out:I
-Ljava/io/PipedReader;->readSide:Ljava/lang/Thread;
-Ljava/io/PipedReader;->receive(I)V
-Ljava/io/PipedReader;->receive([CII)V
-Ljava/io/PipedReader;->receivedLast()V
-Ljava/io/PipedReader;->writeSide:Ljava/lang/Thread;
-Ljava/io/PipedWriter;->closed:Z
-Ljava/io/PipedWriter;->sink:Ljava/io/PipedReader;
-Ljava/io/PrintStream;-><init>(ZLjava/io/OutputStream;)V
-Ljava/io/PrintStream;-><init>(ZLjava/io/OutputStream;Ljava/nio/charset/Charset;)V
-Ljava/io/PrintStream;-><init>(ZLjava/nio/charset/Charset;Ljava/io/OutputStream;)V
-Ljava/io/PrintStream;->autoFlush:Z
-Ljava/io/PrintStream;->charOut:Ljava/io/OutputStreamWriter;
-Ljava/io/PrintStream;->charset:Ljava/nio/charset/Charset;
-Ljava/io/PrintStream;->closing:Z
-Ljava/io/PrintStream;->ensureOpen()V
-Ljava/io/PrintStream;->formatter:Ljava/util/Formatter;
-Ljava/io/PrintStream;->getTextOut()Ljava/io/BufferedWriter;
-Ljava/io/PrintStream;->newLine()V
-Ljava/io/PrintStream;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
-Ljava/io/PrintStream;->textOut:Ljava/io/BufferedWriter;
-Ljava/io/PrintStream;->toCharset(Ljava/lang/String;)Ljava/nio/charset/Charset;
-Ljava/io/PrintStream;->trouble:Z
-Ljava/io/PrintStream;->write(Ljava/lang/String;)V
-Ljava/io/PrintStream;->write([C)V
-Ljava/io/PrintWriter;-><init>(Ljava/nio/charset/Charset;Ljava/io/File;)V
-Ljava/io/PrintWriter;->autoFlush:Z
-Ljava/io/PrintWriter;->ensureOpen()V
-Ljava/io/PrintWriter;->formatter:Ljava/util/Formatter;
-Ljava/io/PrintWriter;->lineSeparator:Ljava/lang/String;
-Ljava/io/PrintWriter;->newLine()V
-Ljava/io/PrintWriter;->psOut:Ljava/io/PrintStream;
-Ljava/io/PrintWriter;->toCharset(Ljava/lang/String;)Ljava/nio/charset/Charset;
-Ljava/io/PrintWriter;->trouble:Z
-Ljava/io/PushbackInputStream;->ensureOpen()V
-Ljava/io/PushbackReader;->buf:[C
-Ljava/io/PushbackReader;->ensureOpen()V
-Ljava/io/PushbackReader;->pos:I
-Ljava/io/RandomAccessFile;->channel:Ljava/nio/channels/FileChannel;
-Ljava/io/RandomAccessFile;->closed:Z
-Ljava/io/RandomAccessFile;->closeLock:Ljava/lang/Object;
-Ljava/io/RandomAccessFile;->flushAfterWrite:I
-Ljava/io/RandomAccessFile;->FLUSH_FDATASYNC:I
-Ljava/io/RandomAccessFile;->FLUSH_FSYNC:I
-Ljava/io/RandomAccessFile;->FLUSH_NONE:I
-Ljava/io/RandomAccessFile;->guard:Ldalvik/system/CloseGuard;
-Ljava/io/RandomAccessFile;->ioTracker:Llibcore/io/IoTracker;
-Ljava/io/RandomAccessFile;->maybeSync()V
-Ljava/io/RandomAccessFile;->mode:I
-Ljava/io/RandomAccessFile;->path:Ljava/lang/String;
-Ljava/io/RandomAccessFile;->readBytes([BII)I
-Ljava/io/RandomAccessFile;->rw:Z
-Ljava/io/RandomAccessFile;->scratch:[B
-Ljava/io/RandomAccessFile;->writeBytes([BII)V
-Ljava/io/Reader;->maxSkipBufferSize:I
-Ljava/io/Reader;->skipBuffer:[C
-Ljava/io/SequenceInputStream;->e:Ljava/util/Enumeration;
-Ljava/io/SequenceInputStream;->in:Ljava/io/InputStream;
-Ljava/io/SequenceInputStream;->nextStream()V
-Ljava/io/SerialCallbackContext;
-Ljava/io/SerialCallbackContext;-><init>(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
-Ljava/io/SerialCallbackContext;->check()V
-Ljava/io/SerialCallbackContext;->checkAndSetUsed()V
-Ljava/io/SerialCallbackContext;->desc:Ljava/io/ObjectStreamClass;
-Ljava/io/SerialCallbackContext;->getDesc()Ljava/io/ObjectStreamClass;
-Ljava/io/SerialCallbackContext;->getObj()Ljava/lang/Object;
-Ljava/io/SerialCallbackContext;->obj:Ljava/lang/Object;
-Ljava/io/SerialCallbackContext;->setUsed()V
-Ljava/io/SerialCallbackContext;->thread:Ljava/lang/Thread;
-Ljava/io/StreamTokenizer;-><init>()V
-Ljava/io/StreamTokenizer;->buf:[C
-Ljava/io/StreamTokenizer;->ctype:[B
-Ljava/io/StreamTokenizer;->CT_ALPHA:B
-Ljava/io/StreamTokenizer;->CT_COMMENT:B
-Ljava/io/StreamTokenizer;->CT_DIGIT:B
-Ljava/io/StreamTokenizer;->CT_QUOTE:B
-Ljava/io/StreamTokenizer;->CT_WHITESPACE:B
-Ljava/io/StreamTokenizer;->eolIsSignificantP:Z
-Ljava/io/StreamTokenizer;->forceLower:Z
-Ljava/io/StreamTokenizer;->input:Ljava/io/InputStream;
-Ljava/io/StreamTokenizer;->LINENO:I
-Ljava/io/StreamTokenizer;->NEED_CHAR:I
-Ljava/io/StreamTokenizer;->peekc:I
-Ljava/io/StreamTokenizer;->pushedBack:Z
-Ljava/io/StreamTokenizer;->read()I
-Ljava/io/StreamTokenizer;->reader:Ljava/io/Reader;
-Ljava/io/StreamTokenizer;->SKIP_LF:I
-Ljava/io/StreamTokenizer;->slashSlashCommentsP:Z
-Ljava/io/StreamTokenizer;->slashStarCommentsP:Z
-Ljava/io/StreamTokenizer;->TT_NOTHING:I
-Ljava/io/StringReader;->ensureOpen()V
-Ljava/io/StringReader;->length:I
-Ljava/io/StringReader;->mark:I
-Ljava/io/StringReader;->next:I
-Ljava/io/StringReader;->str:Ljava/lang/String;
-Ljava/io/StringWriter;->buf:Ljava/lang/StringBuffer;
-Ljava/io/Writer;->writeBuffer:[C
-Ljava/io/Writer;->WRITE_BUFFER_SIZE:I
-Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;-><init>()V
-Ljava/lang/AbstractStringBuilder;-><init>(I)V
-Ljava/lang/AbstractStringBuilder;->append(D)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->append(F)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->append(I)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->append(J)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->append(Ljava/lang/AbstractStringBuilder;)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->append(Ljava/lang/Object;)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->append(Ljava/lang/String;)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->append(Ljava/lang/StringBuffer;)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->append(Z)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->append([C)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->append([CII)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->appendCodePoint(I)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->appendNull()Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->capacity()I
-Ljava/lang/AbstractStringBuilder;->codePointAt(I)I
-Ljava/lang/AbstractStringBuilder;->codePointBefore(I)I
-Ljava/lang/AbstractStringBuilder;->codePointCount(II)I
-Ljava/lang/AbstractStringBuilder;->count:I
-Ljava/lang/AbstractStringBuilder;->delete(II)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->deleteCharAt(I)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->ensureCapacity(I)V
-Ljava/lang/AbstractStringBuilder;->ensureCapacityInternal(I)V
-Ljava/lang/AbstractStringBuilder;->getChars(II[CI)V
-Ljava/lang/AbstractStringBuilder;->getValue()[C
-Ljava/lang/AbstractStringBuilder;->hugeCapacity(I)I
-Ljava/lang/AbstractStringBuilder;->indexOf(Ljava/lang/String;)I
-Ljava/lang/AbstractStringBuilder;->indexOf(Ljava/lang/String;I)I
-Ljava/lang/AbstractStringBuilder;->insert(IC)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->insert(ID)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->insert(IF)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->insert(II)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->insert(IJ)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->insert(ILjava/lang/CharSequence;)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->insert(ILjava/lang/CharSequence;II)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->insert(ILjava/lang/Object;)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->insert(ILjava/lang/String;)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->insert(IZ)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->insert(I[C)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->insert(I[CII)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->lastIndexOf(Ljava/lang/String;)I
-Ljava/lang/AbstractStringBuilder;->lastIndexOf(Ljava/lang/String;I)I
-Ljava/lang/AbstractStringBuilder;->MAX_ARRAY_SIZE:I
-Ljava/lang/AbstractStringBuilder;->newCapacity(I)I
-Ljava/lang/AbstractStringBuilder;->offsetByCodePoints(II)I
-Ljava/lang/AbstractStringBuilder;->replace(IILjava/lang/String;)Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->reverse()Ljava/lang/AbstractStringBuilder;
-Ljava/lang/AbstractStringBuilder;->reverseAllValidSurrogatePairs()V
-Ljava/lang/AbstractStringBuilder;->setCharAt(IC)V
-Ljava/lang/AbstractStringBuilder;->setLength(I)V
-Ljava/lang/AbstractStringBuilder;->substring(I)Ljava/lang/String;
-Ljava/lang/AbstractStringBuilder;->substring(II)Ljava/lang/String;
-Ljava/lang/AbstractStringBuilder;->trimToSize()V
-Ljava/lang/AndroidHardcodedSystemProperties;
-Ljava/lang/AndroidHardcodedSystemProperties;-><init>()V
-Ljava/lang/AndroidHardcodedSystemProperties;->JAVA_VERSION:Ljava/lang/String;
-Ljava/lang/AndroidHardcodedSystemProperties;->STATIC_PROPERTIES:[[Ljava/lang/String;
-Ljava/lang/annotation/AnnotationTypeMismatchException;->element:Ljava/lang/reflect/Method;
-Ljava/lang/annotation/AnnotationTypeMismatchException;->foundType:Ljava/lang/String;
-Ljava/lang/annotation/ElementType;-><init>()V
-Ljava/lang/annotation/IncompleteAnnotationException;->annotationType:Ljava/lang/Class;
-Ljava/lang/annotation/IncompleteAnnotationException;->elementName:Ljava/lang/String;
-Ljava/lang/annotation/RetentionPolicy;-><init>()V
-Ljava/lang/ArrayIndexOutOfBoundsException;-><init>(II)V
-Ljava/lang/ArrayIndexOutOfBoundsException;-><init>(III)V
-Ljava/lang/AssertionError;-><init>(Ljava/lang/String;)V
-Ljava/lang/Byte$ByteCache;
-Ljava/lang/Byte$ByteCache;-><init>()V
-Ljava/lang/Byte$ByteCache;->cache:[Ljava/lang/Byte;
-Ljava/lang/Byte;->DIGITS:[C
-Ljava/lang/Byte;->UPPER_CASE_DIGITS:[C
-Ljava/lang/Character$CharacterCache;
-Ljava/lang/Character$CharacterCache;-><init>()V
-Ljava/lang/Character$CharacterCache;->cache:[Ljava/lang/Character;
-Ljava/lang/Character$Subset;->name:Ljava/lang/String;
-Ljava/lang/Character$UnicodeBlock;-><init>(Ljava/lang/String;)V
-Ljava/lang/Character$UnicodeBlock;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Ljava/lang/Character$UnicodeBlock;-><init>(Ljava/lang/String;Z)V
-Ljava/lang/Character$UnicodeBlock;-><init>(Ljava/lang/String;[[Ljava/lang/String;)V
-Ljava/lang/Character$UnicodeBlock;->blocks:[Ljava/lang/Character$UnicodeBlock;
-Ljava/lang/Character$UnicodeBlock;->blockStarts:[I
-Ljava/lang/Character$UnicodeBlock;->map:Ljava/util/Map;
-Ljava/lang/Character$UnicodeScript;-><init>()V
-Ljava/lang/Character$UnicodeScript;->aliases:Ljava/util/HashMap;
-Ljava/lang/Character$UnicodeScript;->scripts:[Ljava/lang/Character$UnicodeScript;
-Ljava/lang/Character$UnicodeScript;->scriptStarts:[I
-Ljava/lang/Character;->codePointAtImpl([CII)I
-Ljava/lang/Character;->codePointBeforeImpl([CII)I
-Ljava/lang/Character;->codePointCountImpl([CII)I
-Ljava/lang/Character;->digitImpl(II)I
-Ljava/lang/Character;->DIRECTIONALITY:[B
-Ljava/lang/Character;->ERROR:I
-Ljava/lang/Character;->getDirectionalityImpl(I)B
-Ljava/lang/Character;->getNameImpl(I)Ljava/lang/String;
-Ljava/lang/Character;->getNumericValueImpl(I)I
-Ljava/lang/Character;->getTypeImpl(I)I
-Ljava/lang/Character;->isAlphabeticImpl(I)Z
-Ljava/lang/Character;->isDefinedImpl(I)Z
-Ljava/lang/Character;->isDigitImpl(I)Z
-Ljava/lang/Character;->isIdentifierIgnorableImpl(I)Z
-Ljava/lang/Character;->isIdeographicImpl(I)Z
-Ljava/lang/Character;->isLetterImpl(I)Z
-Ljava/lang/Character;->isLetterOrDigitImpl(I)Z
-Ljava/lang/Character;->isLowerCaseImpl(I)Z
-Ljava/lang/Character;->isMirroredImpl(I)Z
-Ljava/lang/Character;->isSpaceCharImpl(I)Z
-Ljava/lang/Character;->isTitleCaseImpl(I)Z
-Ljava/lang/Character;->isUnicodeIdentifierPartImpl(I)Z
-Ljava/lang/Character;->isUnicodeIdentifierStartImpl(I)Z
-Ljava/lang/Character;->isUpperCaseImpl(I)Z
-Ljava/lang/Character;->isWhitespaceImpl(I)Z
-Ljava/lang/Character;->offsetByCodePointsImpl([CIIII)I
-Ljava/lang/Character;->toLowerCaseImpl(I)I
-Ljava/lang/Character;->toSurrogates(I[CI)V
-Ljava/lang/Character;->toTitleCaseImpl(I)I
-Ljava/lang/Character;->toUpperCaseImpl(I)I
-Ljava/lang/Class$Caches;
-Ljava/lang/Class$Caches;-><init>()V
-Ljava/lang/Class$Caches;->genericInterfaces:Llibcore/util/BasicLruCache;
-Ljava/lang/Class;->ANNOTATION:I
-Ljava/lang/Class;->cannotCastMsg(Ljava/lang/Object;)Ljava/lang/String;
-Ljava/lang/Class;->classFlags:I
-Ljava/lang/Class;->classForName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
-Ljava/lang/Class;->classNameImpliesTopLevel()Z
-Ljava/lang/Class;->classSize:I
-Ljava/lang/Class;->componentType:Ljava/lang/Class;
-Ljava/lang/Class;->copiedMethodsOffset:S
-Ljava/lang/Class;->dexTypeIndex:I
-Ljava/lang/Class;->ENUM:I
-Ljava/lang/Class;->extData:Ldalvik/system/ClassExt;
-Ljava/lang/Class;->FINALIZABLE:I
-Ljava/lang/Class;->findInterfaceMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
-Ljava/lang/Class;->getAccessFlags()I
-Ljava/lang/Class;->getConstructor0([Ljava/lang/Class;I)Ljava/lang/reflect/Constructor;
-Ljava/lang/Class;->getDeclaredConstructorInternal([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
-Ljava/lang/Class;->getDeclaredConstructorsInternal(Z)[Ljava/lang/reflect/Constructor;
-Ljava/lang/Class;->getDeclaredFieldsUnchecked(Z)[Ljava/lang/reflect/Field;
-Ljava/lang/Class;->getDeclaredMethodInternal(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
-Ljava/lang/Class;->getEnclosingConstructorNative()Ljava/lang/reflect/Constructor;
-Ljava/lang/Class;->getEnclosingMethodNative()Ljava/lang/reflect/Method;
-Ljava/lang/Class;->getEnumConstantsShared()[Ljava/lang/Object;
-Ljava/lang/Class;->getInnerClassFlags(I)I
-Ljava/lang/Class;->getInnerClassName()Ljava/lang/String;
-Ljava/lang/Class;->getInstanceMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
-Ljava/lang/Class;->getInterfacesInternal()[Ljava/lang/Class;
-Ljava/lang/Class;->getNameNative()Ljava/lang/String;
-Ljava/lang/Class;->getPackageName$()Ljava/lang/String;
-Ljava/lang/Class;->getPrimitiveClass(Ljava/lang/String;)Ljava/lang/Class;
-Ljava/lang/Class;->getPublicDeclaredFields()[Ljava/lang/reflect/Field;
-Ljava/lang/Class;->getPublicFieldRecursive(Ljava/lang/String;)Ljava/lang/reflect/Field;
-Ljava/lang/Class;->getPublicFieldsRecursive(Ljava/util/List;)V
-Ljava/lang/Class;->getPublicMethodRecursive(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
-Ljava/lang/Class;->getPublicMethodsInternal(Ljava/util/List;)V
-Ljava/lang/Class;->getSignatureAnnotation()[Ljava/lang/String;
-Ljava/lang/Class;->getSignatureAttribute()Ljava/lang/String;
-Ljava/lang/Class;->iFields:J
-Ljava/lang/Class;->isDeclaredAnnotationPresent(Ljava/lang/Class;)Z
-Ljava/lang/Class;->isFinalizable()Z
-Ljava/lang/Class;->isLocalOrAnonymousClass()Z
-Ljava/lang/Class;->isProxy()Z
-Ljava/lang/Class;->methods:J
-Ljava/lang/Class;->numReferenceInstanceFields:I
-Ljava/lang/Class;->numReferenceStaticFields:I
-Ljava/lang/Class;->objectSizeAllocFastPath:I
-Ljava/lang/Class;->primitiveType:I
-Ljava/lang/Class;->referenceInstanceOffsets:I
-Ljava/lang/Class;->resolveName(Ljava/lang/String;)Ljava/lang/String;
-Ljava/lang/Class;->sFields:J
-Ljava/lang/Class;->superClass:Ljava/lang/Class;
-Ljava/lang/Class;->SYNTHETIC:I
-Ljava/lang/Class;->virtualMethodsOffset:S
-Ljava/lang/Class;->vtable:Ljava/lang/Object;
-Ljava/lang/ClassLoader$SystemClassLoader;
-Ljava/lang/ClassLoader$SystemClassLoader;-><init>()V
-Ljava/lang/ClassLoader$SystemClassLoader;->loader:Ljava/lang/ClassLoader;
-Ljava/lang/ClassLoader;-><init>(Ljava/lang/Void;Ljava/lang/ClassLoader;)V
-Ljava/lang/ClassLoader;->allocator:J
-Ljava/lang/ClassLoader;->checkCreateClassLoader()Ljava/lang/Void;
-Ljava/lang/ClassLoader;->classTable:J
-Ljava/lang/ClassLoader;->createSystemClassLoader()Ljava/lang/ClassLoader;
-Ljava/lang/ClassLoader;->findBootstrapClassOrNull(Ljava/lang/String;)Ljava/lang/Class;
-Ljava/lang/ClassLoader;->getBootstrapResource(Ljava/lang/String;)Ljava/net/URL;
-Ljava/lang/ClassLoader;->getBootstrapResources(Ljava/lang/String;)Ljava/util/Enumeration;
-Ljava/lang/ClassLoader;->packages:Ljava/util/HashMap;
-Ljava/lang/ClassLoader;->proxyCache:Ljava/util/Map;
-Ljava/lang/ClassNotFoundException;->ex:Ljava/lang/Throwable;
-Ljava/lang/Compiler;-><init>()V
-Ljava/lang/Daemons$Daemon;
-Ljava/lang/Daemons$Daemon;-><init>(Ljava/lang/String;)V
-Ljava/lang/Daemons$Daemon;->getStackTrace()[Ljava/lang/StackTraceElement;
-Ljava/lang/Daemons$Daemon;->interrupt()V
-Ljava/lang/Daemons$Daemon;->interrupt(Ljava/lang/Thread;)V
-Ljava/lang/Daemons$Daemon;->name:Ljava/lang/String;
-Ljava/lang/Daemons$Daemon;->postZygoteFork:Z
-Ljava/lang/Daemons$Daemon;->runInternal()V
-Ljava/lang/Daemons$Daemon;->startInternal()V
-Ljava/lang/Daemons$Daemon;->startPostZygoteFork()V
-Ljava/lang/Daemons$FinalizerDaemon;
-Ljava/lang/Daemons$FinalizerDaemon;-><init>()V
-Ljava/lang/Daemons$FinalizerDaemon;->doFinalize(Ljava/lang/ref/FinalizerReference;)V
-Ljava/lang/Daemons$FinalizerDaemon;->progressCounter:Ljava/util/concurrent/atomic/AtomicInteger;
-Ljava/lang/Daemons$FinalizerDaemon;->queue:Ljava/lang/ref/ReferenceQueue;
-Ljava/lang/Daemons$FinalizerDaemon;->runInternal()V
-Ljava/lang/Daemons$FinalizerWatchdogDaemon;
-Ljava/lang/Daemons$FinalizerWatchdogDaemon;-><init>()V
-Ljava/lang/Daemons$FinalizerWatchdogDaemon;->finalizerTimedOut(Ljava/lang/Object;)V
-Ljava/lang/Daemons$FinalizerWatchdogDaemon;->getNeedToWork()Z
-Ljava/lang/Daemons$FinalizerWatchdogDaemon;->goToSleep()V
-Ljava/lang/Daemons$FinalizerWatchdogDaemon;->needToWork:Z
-Ljava/lang/Daemons$FinalizerWatchdogDaemon;->runInternal()V
-Ljava/lang/Daemons$FinalizerWatchdogDaemon;->sleepFor(J)Z
-Ljava/lang/Daemons$FinalizerWatchdogDaemon;->sleepUntilNeeded()Z
-Ljava/lang/Daemons$FinalizerWatchdogDaemon;->waitForFinalization()Ljava/lang/Object;
-Ljava/lang/Daemons$FinalizerWatchdogDaemon;->wakeUp()V
-Ljava/lang/Daemons$HeapTaskDaemon;
-Ljava/lang/Daemons$HeapTaskDaemon;-><init>()V
-Ljava/lang/Daemons$HeapTaskDaemon;->INSTANCE:Ljava/lang/Daemons$HeapTaskDaemon;
-Ljava/lang/Daemons$HeapTaskDaemon;->interrupt(Ljava/lang/Thread;)V
-Ljava/lang/Daemons$HeapTaskDaemon;->runInternal()V
-Ljava/lang/Daemons$ReferenceQueueDaemon;
-Ljava/lang/Daemons$ReferenceQueueDaemon;-><init>()V
-Ljava/lang/Daemons$ReferenceQueueDaemon;->runInternal()V
-Ljava/lang/Daemons;
-Ljava/lang/Daemons;-><init>()V
-Ljava/lang/Daemons;->NANOS_PER_MILLI:I
-Ljava/lang/Daemons;->NANOS_PER_SECOND:I
-Ljava/lang/Daemons;->requestGC()V
-Ljava/lang/Daemons;->startPostZygoteFork()V
-Ljava/lang/Enum;->sharedConstantsCache:Llibcore/util/BasicLruCache;
-Ljava/lang/EnumConstantNotPresentException;->constantName:Ljava/lang/String;
-Ljava/lang/EnumConstantNotPresentException;->enumType:Ljava/lang/Class;
-Ljava/lang/ExceptionInInitializerError;->exception:Ljava/lang/Throwable;
-Ljava/lang/FindBugsSuppressWarnings;
-Ljava/lang/InheritableThreadLocal;->createMap(Ljava/lang/Thread;Ljava/lang/Object;)V
-Ljava/lang/InheritableThreadLocal;->getMap(Ljava/lang/Thread;)Ljava/lang/ThreadLocal$ThreadLocalMap;
-Ljava/lang/Integer$IntegerCache;
-Ljava/lang/Integer$IntegerCache;-><init>()V
-Ljava/lang/Integer$IntegerCache;->cache:[Ljava/lang/Integer;
-Ljava/lang/Integer$IntegerCache;->high:I
-Ljava/lang/Integer$IntegerCache;->low:I
-Ljava/lang/Integer;->DigitOnes:[C
-Ljava/lang/Integer;->digits:[C
-Ljava/lang/Integer;->DigitTens:[C
-Ljava/lang/Integer;->formatUnsignedInt(II[CII)I
-Ljava/lang/Integer;->getChars(II[C)V
-Ljava/lang/Integer;->sizeTable:[I
-Ljava/lang/Integer;->SMALL_NEG_VALUES:[Ljava/lang/String;
-Ljava/lang/Integer;->SMALL_NONNEG_VALUES:[Ljava/lang/String;
-Ljava/lang/Integer;->stringSize(I)I
-Ljava/lang/Integer;->toUnsignedString0(II)Ljava/lang/String;
-Ljava/lang/invoke/CallSite;-><init>(Ljava/lang/invoke/MethodHandle;)V
-Ljava/lang/invoke/CallSite;-><init>(Ljava/lang/invoke/MethodType;)V
-Ljava/lang/invoke/CallSite;-><init>(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)V
-Ljava/lang/invoke/CallSite;->checkTargetChange(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
-Ljava/lang/invoke/CallSite;->getTargetVolatile()Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/CallSite;->GET_TARGET:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/CallSite;->initializeGetTarget()V
-Ljava/lang/invoke/CallSite;->makeDynamicInvoker()Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/CallSite;->setTargetNormal(Ljava/lang/invoke/MethodHandle;)V
-Ljava/lang/invoke/CallSite;->setTargetVolatile(Ljava/lang/invoke/MethodHandle;)V
-Ljava/lang/invoke/CallSite;->target:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/CallSite;->TARGET_OFFSET:J
-Ljava/lang/invoke/CallSite;->wrongTargetType(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/WrongMethodTypeException;
-Ljava/lang/invoke/ConstantCallSite;->isFrozen:Z
-Ljava/lang/invoke/MethodHandle$PolymorphicSignature;
-Ljava/lang/invoke/MethodHandle;-><init>(JILjava/lang/invoke/MethodType;)V
-Ljava/lang/invoke/MethodHandle;->artFieldOrMethod:J
-Ljava/lang/invoke/MethodHandle;->asCollectorChecks(Ljava/lang/Class;I)Z
-Ljava/lang/invoke/MethodHandle;->asSpreaderChecks(Ljava/lang/Class;I)Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/MethodHandle;->cachedSpreadInvoker:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/MethodHandle;->duplicate()Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/MethodHandle;->getHandleKind()I
-Ljava/lang/invoke/MethodHandle;->handleKind:I
-Ljava/lang/invoke/MethodHandle;->IGET:I
-Ljava/lang/invoke/MethodHandle;->INVOKE_CALLSITE_TRANSFORM:I
-Ljava/lang/invoke/MethodHandle;->INVOKE_DIRECT:I
-Ljava/lang/invoke/MethodHandle;->INVOKE_INTERFACE:I
-Ljava/lang/invoke/MethodHandle;->INVOKE_STATIC:I
-Ljava/lang/invoke/MethodHandle;->INVOKE_SUPER:I
-Ljava/lang/invoke/MethodHandle;->INVOKE_TRANSFORM:I
-Ljava/lang/invoke/MethodHandle;->INVOKE_VAR_HANDLE:I
-Ljava/lang/invoke/MethodHandle;->INVOKE_VAR_HANDLE_EXACT:I
-Ljava/lang/invoke/MethodHandle;->INVOKE_VIRTUAL:I
-Ljava/lang/invoke/MethodHandle;->IPUT:I
-Ljava/lang/invoke/MethodHandle;->nominalType:Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/MethodHandle;->SGET:I
-Ljava/lang/invoke/MethodHandle;->spreadArrayChecks(Ljava/lang/Class;I)V
-Ljava/lang/invoke/MethodHandle;->SPUT:I
-Ljava/lang/invoke/MethodHandle;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/MethodHandle;->transformInternal(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/MethodHandle;->type:Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/MethodHandleImpl$HandleInfo;
-Ljava/lang/invoke/MethodHandleImpl$HandleInfo;-><init>(Ljava/lang/reflect/Member;Ljava/lang/invoke/MethodHandle;)V
-Ljava/lang/invoke/MethodHandleImpl$HandleInfo;->handle:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/MethodHandleImpl$HandleInfo;->member:Ljava/lang/reflect/Member;
-Ljava/lang/invoke/MethodHandleImpl;
-Ljava/lang/invoke/MethodHandleImpl;-><init>(JILjava/lang/invoke/MethodType;)V
-Ljava/lang/invoke/MethodHandleImpl;->getMemberInternal()Ljava/lang/reflect/Member;
-Ljava/lang/invoke/MethodHandleImpl;->info:Ljava/lang/invoke/MethodHandleImpl$HandleInfo;
-Ljava/lang/invoke/MethodHandleImpl;->reveal()Ljava/lang/invoke/MethodHandleInfo;
-Ljava/lang/invoke/MethodHandles$Lookup;-><init>(Ljava/lang/Class;)V
-Ljava/lang/invoke/MethodHandles$Lookup;->accessFailedMessage(Ljava/lang/Class;Ljava/lang/Class;I)Ljava/lang/String;
-Ljava/lang/invoke/MethodHandles$Lookup;->allowedModes:I
-Ljava/lang/invoke/MethodHandles$Lookup;->ALL_MODES:I
-Ljava/lang/invoke/MethodHandles$Lookup;->checkAccess(Ljava/lang/Class;Ljava/lang/Class;ILjava/lang/String;)V
-Ljava/lang/invoke/MethodHandles$Lookup;->checkReturnType(Ljava/lang/reflect/Method;Ljava/lang/invoke/MethodType;)V
-Ljava/lang/invoke/MethodHandles$Lookup;->checkSpecialCaller(Ljava/lang/Class;)V
-Ljava/lang/invoke/MethodHandles$Lookup;->checkUnprivilegedlookupClass(Ljava/lang/Class;I)V
-Ljava/lang/invoke/MethodHandles$Lookup;->commonFieldChecks(Ljava/lang/reflect/Field;Ljava/lang/Class;Ljava/lang/Class;ZZ)V
-Ljava/lang/invoke/MethodHandles$Lookup;->createMethodHandle(Ljava/lang/reflect/Method;ILjava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/MethodHandles$Lookup;->createMethodHandleForConstructor(Ljava/lang/reflect/Constructor;)Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/MethodHandles$Lookup;->findAccessor(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/MethodHandles$Lookup;->findAccessor(Ljava/lang/reflect/Field;Ljava/lang/Class;Ljava/lang/Class;IZ)Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/MethodHandles$Lookup;->findFieldOfType(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Field;
-Ljava/lang/invoke/MethodHandles$Lookup;->findSpecial(Ljava/lang/reflect/Method;Ljava/lang/invoke/MethodType;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/MethodHandles$Lookup;->findStaticVarHandle(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
-Ljava/lang/invoke/MethodHandles$Lookup;->findVarHandle(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
-Ljava/lang/invoke/MethodHandles$Lookup;->findVirtualForMH(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/MethodHandles$Lookup;->findVirtualForVH(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/MethodHandles$Lookup;->fixmods(I)I
-Ljava/lang/invoke/MethodHandles$Lookup;->hasPrivateAccess()Z
-Ljava/lang/invoke/MethodHandles$Lookup;->initMethodType(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/MethodHandles$Lookup;->lookupClass:Ljava/lang/Class;
-Ljava/lang/invoke/MethodHandles$Lookup;->PUBLIC_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
-Ljava/lang/invoke/MethodHandles$Lookup;->throwMakeAccessException(Ljava/lang/String;Ljava/lang/Object;)V
-Ljava/lang/invoke/MethodHandles$Lookup;->unreflectVarHandle(Ljava/lang/reflect/Field;)Ljava/lang/invoke/VarHandle;
-Ljava/lang/invoke/MethodHandles;-><init>()V
-Ljava/lang/invoke/MethodHandles;->arrayElementGetter([BI)B
-Ljava/lang/invoke/MethodHandles;->arrayElementGetter([CI)C
-Ljava/lang/invoke/MethodHandles;->arrayElementGetter([DI)D
-Ljava/lang/invoke/MethodHandles;->arrayElementGetter([FI)F
-Ljava/lang/invoke/MethodHandles;->arrayElementGetter([II)I
-Ljava/lang/invoke/MethodHandles;->arrayElementGetter([JI)J
-Ljava/lang/invoke/MethodHandles;->arrayElementGetter([SI)S
-Ljava/lang/invoke/MethodHandles;->arrayElementGetter([ZI)Z
-Ljava/lang/invoke/MethodHandles;->arrayElementSetter([BIB)V
-Ljava/lang/invoke/MethodHandles;->arrayElementSetter([CIC)V
-Ljava/lang/invoke/MethodHandles;->arrayElementSetter([DID)V
-Ljava/lang/invoke/MethodHandles;->arrayElementSetter([FIF)V
-Ljava/lang/invoke/MethodHandles;->arrayElementSetter([III)V
-Ljava/lang/invoke/MethodHandles;->arrayElementSetter([JIJ)V
-Ljava/lang/invoke/MethodHandles;->arrayElementSetter([SIS)V
-Ljava/lang/invoke/MethodHandles;->arrayElementSetter([ZIZ)V
-Ljava/lang/invoke/MethodHandles;->arrayElementVarHandle(Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
-Ljava/lang/invoke/MethodHandles;->byteArrayViewVarHandle(Ljava/lang/Class;Ljava/nio/ByteOrder;)Ljava/lang/invoke/VarHandle;
-Ljava/lang/invoke/MethodHandles;->byteBufferViewVarHandle(Ljava/lang/Class;Ljava/nio/ByteOrder;)Ljava/lang/invoke/VarHandle;
-Ljava/lang/invoke/MethodHandles;->checkClassIsArray(Ljava/lang/Class;)V
-Ljava/lang/invoke/MethodHandles;->checkTypeIsViewable(Ljava/lang/Class;)V
-Ljava/lang/invoke/MethodHandles;->collectArgumentsChecks(Ljava/lang/invoke/MethodHandle;ILjava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/MethodHandles;->copyTypes(Ljava/util/List;)Ljava/util/List;
-Ljava/lang/invoke/MethodHandles;->dropArgumentChecks(Ljava/lang/invoke/MethodType;ILjava/util/List;)I
-Ljava/lang/invoke/MethodHandles;->explicitCastArgumentsChecks(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)V
-Ljava/lang/invoke/MethodHandles;->filterArgumentChecks(Ljava/lang/invoke/MethodHandle;ILjava/lang/invoke/MethodHandle;)V
-Ljava/lang/invoke/MethodHandles;->filterArgumentsCheckArity(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)V
-Ljava/lang/invoke/MethodHandles;->filterReturnValueChecks(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;)V
-Ljava/lang/invoke/MethodHandles;->foldArgumentChecks(ILjava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;)Ljava/lang/Class;
-Ljava/lang/invoke/MethodHandles;->getMethodHandleImpl(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandleImpl;
-Ljava/lang/invoke/MethodHandles;->identity(B)B
-Ljava/lang/invoke/MethodHandles;->identity(C)C
-Ljava/lang/invoke/MethodHandles;->identity(D)D
-Ljava/lang/invoke/MethodHandles;->identity(F)F
-Ljava/lang/invoke/MethodHandles;->identity(I)I
-Ljava/lang/invoke/MethodHandles;->identity(J)J
-Ljava/lang/invoke/MethodHandles;->identity(S)S
-Ljava/lang/invoke/MethodHandles;->identity(Z)Z
-Ljava/lang/invoke/MethodHandles;->insertArgumentsChecks(Ljava/lang/invoke/MethodHandle;II)[Ljava/lang/Class;
-Ljava/lang/invoke/MethodHandles;->methodHandleForVarHandleAccessor(Ljava/lang/invoke/VarHandle$AccessMode;Ljava/lang/invoke/MethodType;Z)Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/MethodHandles;->misMatchedTypes(Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;)Ljava/lang/RuntimeException;
-Ljava/lang/invoke/MethodHandles;->permuteArgumentChecks([ILjava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;)Z
-Ljava/lang/invoke/MethodHandles;->varHandleExactInvoker(Ljava/lang/invoke/VarHandle$AccessMode;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/MethodHandles;->varHandleInvoker(Ljava/lang/invoke/VarHandle$AccessMode;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/MethodType$ConcurrentWeakInternSet$WeakEntry;
-Ljava/lang/invoke/MethodType$ConcurrentWeakInternSet$WeakEntry;-><init>(Ljava/lang/Object;)V
-Ljava/lang/invoke/MethodType$ConcurrentWeakInternSet$WeakEntry;-><init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
-Ljava/lang/invoke/MethodType$ConcurrentWeakInternSet$WeakEntry;->hashcode:I
-Ljava/lang/invoke/MethodType$ConcurrentWeakInternSet;
-Ljava/lang/invoke/MethodType$ConcurrentWeakInternSet;-><init>()V
-Ljava/lang/invoke/MethodType$ConcurrentWeakInternSet;->add(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/lang/invoke/MethodType$ConcurrentWeakInternSet;->expungeStaleElements()V
-Ljava/lang/invoke/MethodType$ConcurrentWeakInternSet;->get(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/lang/invoke/MethodType$ConcurrentWeakInternSet;->map:Ljava/util/concurrent/ConcurrentMap;
-Ljava/lang/invoke/MethodType$ConcurrentWeakInternSet;->stale:Ljava/lang/ref/ReferenceQueue;
-Ljava/lang/invoke/MethodType;-><init>()V
-Ljava/lang/invoke/MethodType;-><init>(Ljava/lang/Class;[Ljava/lang/Class;Z)V
-Ljava/lang/invoke/MethodType;-><init>([Ljava/lang/Class;Ljava/lang/Class;)V
-Ljava/lang/invoke/MethodType;->asCollectorType(Ljava/lang/Class;I)Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/MethodType;->asSpreaderType(Ljava/lang/Class;I)Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/MethodType;->basicType()Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/MethodType;->canConvert(Ljava/lang/Class;Ljava/lang/Class;)Z
-Ljava/lang/invoke/MethodType;->canConvertParameters([Ljava/lang/Class;[Ljava/lang/Class;)Z
-Ljava/lang/invoke/MethodType;->checkPtype(Ljava/lang/Class;)V
-Ljava/lang/invoke/MethodType;->checkPtypes([Ljava/lang/Class;)I
-Ljava/lang/invoke/MethodType;->checkRtype(Ljava/lang/Class;)V
-Ljava/lang/invoke/MethodType;->checkSlotCount(I)V
-Ljava/lang/invoke/MethodType;->equals(Ljava/lang/invoke/MethodType;)Z
-Ljava/lang/invoke/MethodType;->explicitCastEquivalentToAsType(Ljava/lang/Class;Ljava/lang/Class;)Z
-Ljava/lang/invoke/MethodType;->explicitCastEquivalentToAsType(Ljava/lang/invoke/MethodType;)Z
-Ljava/lang/invoke/MethodType;->form()Ljava/lang/invoke/MethodTypeForm;
-Ljava/lang/invoke/MethodType;->form:Ljava/lang/invoke/MethodTypeForm;
-Ljava/lang/invoke/MethodType;->internTable:Ljava/lang/invoke/MethodType$ConcurrentWeakInternSet;
-Ljava/lang/invoke/MethodType;->invokerType()Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/MethodType;->isConvertibleTo(Ljava/lang/invoke/MethodType;)Z
-Ljava/lang/invoke/MethodType;->isGeneric()Z
-Ljava/lang/invoke/MethodType;->lastParameterType()Ljava/lang/Class;
-Ljava/lang/invoke/MethodType;->leadingReferenceParameter()Ljava/lang/Class;
-Ljava/lang/invoke/MethodType;->listToArray(Ljava/util/List;)[Ljava/lang/Class;
-Ljava/lang/invoke/MethodType;->makeImpl(Ljava/lang/Class;[Ljava/lang/Class;Z)Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/MethodType;->MAX_JVM_ARITY:I
-Ljava/lang/invoke/MethodType;->MAX_MH_ARITY:I
-Ljava/lang/invoke/MethodType;->MAX_MH_INVOKER_ARITY:I
-Ljava/lang/invoke/MethodType;->methodDescriptor:Ljava/lang/String;
-Ljava/lang/invoke/MethodType;->MethodType_init(Ljava/lang/Class;[Ljava/lang/Class;)V
-Ljava/lang/invoke/MethodType;->newIndexOutOfBoundsException(Ljava/lang/Object;)Ljava/lang/IndexOutOfBoundsException;
-Ljava/lang/invoke/MethodType;->NO_PTYPES:[Ljava/lang/Class;
-Ljava/lang/invoke/MethodType;->objectOnlyTypes:[Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/MethodType;->parameterSlotCount()I
-Ljava/lang/invoke/MethodType;->ptypes()[Ljava/lang/Class;
-Ljava/lang/invoke/MethodType;->ptypes:[Ljava/lang/Class;
-Ljava/lang/invoke/MethodType;->ptypesOffset:J
-Ljava/lang/invoke/MethodType;->replaceParameterTypes(II[[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/MethodType;->rtype()Ljava/lang/Class;
-Ljava/lang/invoke/MethodType;->rtype:Ljava/lang/Class;
-Ljava/lang/invoke/MethodType;->rtypeOffset:J
-Ljava/lang/invoke/MethodType;->toFieldDescriptorString(Ljava/lang/Class;)Ljava/lang/String;
-Ljava/lang/invoke/MethodType;->unwrapWithNoPrims(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/MethodType;->wrapAlt:Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/MethodType;->wrapWithPrims(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/MethodTypeForm;
-Ljava/lang/invoke/MethodTypeForm;-><init>(Ljava/lang/invoke/MethodType;)V
-Ljava/lang/invoke/MethodTypeForm;->argCounts:J
-Ljava/lang/invoke/MethodTypeForm;->argSlotToParameter(I)I
-Ljava/lang/invoke/MethodTypeForm;->argToSlotTable:[I
-Ljava/lang/invoke/MethodTypeForm;->assertIsBasicType()Z
-Ljava/lang/invoke/MethodTypeForm;->basicType()Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/MethodTypeForm;->basicType:Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/MethodTypeForm;->canonicalize(Ljava/lang/Class;I)Ljava/lang/Class;
-Ljava/lang/invoke/MethodTypeForm;->canonicalize(Ljava/lang/invoke/MethodType;II)Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/MethodTypeForm;->canonicalizeAll([Ljava/lang/Class;I)[Ljava/lang/Class;
-Ljava/lang/invoke/MethodTypeForm;->ERASE:I
-Ljava/lang/invoke/MethodTypeForm;->erasedType()Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/MethodTypeForm;->erasedType:Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/MethodTypeForm;->findForm(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodTypeForm;
-Ljava/lang/invoke/MethodTypeForm;->hasLongPrimitives()Z
-Ljava/lang/invoke/MethodTypeForm;->hasNonVoidPrimitives()Z
-Ljava/lang/invoke/MethodTypeForm;->hasPrimitives()Z
-Ljava/lang/invoke/MethodTypeForm;->INTS:I
-Ljava/lang/invoke/MethodTypeForm;->longPrimitiveParameterCount()I
-Ljava/lang/invoke/MethodTypeForm;->longPrimitiveReturnCount()I
-Ljava/lang/invoke/MethodTypeForm;->LONGS:I
-Ljava/lang/invoke/MethodTypeForm;->NO_CHANGE:I
-Ljava/lang/invoke/MethodTypeForm;->pack(IIII)J
-Ljava/lang/invoke/MethodTypeForm;->parameterCount()I
-Ljava/lang/invoke/MethodTypeForm;->parameterSlotCount()I
-Ljava/lang/invoke/MethodTypeForm;->parameterToArgSlot(I)I
-Ljava/lang/invoke/MethodTypeForm;->primCounts:J
-Ljava/lang/invoke/MethodTypeForm;->primitiveParameterCount()I
-Ljava/lang/invoke/MethodTypeForm;->primitiveReturnCount()I
-Ljava/lang/invoke/MethodTypeForm;->RAW_RETURN:I
-Ljava/lang/invoke/MethodTypeForm;->returnCount()I
-Ljava/lang/invoke/MethodTypeForm;->returnSlotCount()I
-Ljava/lang/invoke/MethodTypeForm;->slotToArgTable:[I
-Ljava/lang/invoke/MethodTypeForm;->unpack(JI)C
-Ljava/lang/invoke/MethodTypeForm;->UNWRAP:I
-Ljava/lang/invoke/MethodTypeForm;->WRAP:I
-Ljava/lang/invoke/Stable;
-Ljava/lang/invoke/Transformers$AlwaysThrow;
-Ljava/lang/invoke/Transformers$AlwaysThrow;-><init>(Ljava/lang/Class;Ljava/lang/Class;)V
-Ljava/lang/invoke/Transformers$AlwaysThrow;->exceptionType:Ljava/lang/Class;
-Ljava/lang/invoke/Transformers$AlwaysThrow;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$BindTo;
-Ljava/lang/invoke/Transformers$BindTo;-><init>(Ljava/lang/invoke/MethodHandle;Ljava/lang/Object;)V
-Ljava/lang/invoke/Transformers$BindTo;->delegate:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$BindTo;->range:Ldalvik/system/EmulatedStackFrame$Range;
-Ljava/lang/invoke/Transformers$BindTo;->receiver:Ljava/lang/Object;
-Ljava/lang/invoke/Transformers$BindTo;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$CatchException;
-Ljava/lang/invoke/Transformers$CatchException;-><init>(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;)V
-Ljava/lang/invoke/Transformers$CatchException;->exType:Ljava/lang/Class;
-Ljava/lang/invoke/Transformers$CatchException;->handler:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$CatchException;->handlerArgsRange:Ldalvik/system/EmulatedStackFrame$Range;
-Ljava/lang/invoke/Transformers$CatchException;->target:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$CatchException;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$CollectArguments;
-Ljava/lang/invoke/Transformers$CollectArguments;-><init>(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;ILjava/lang/invoke/MethodType;)V
-Ljava/lang/invoke/Transformers$CollectArguments;->collector:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$CollectArguments;->collectorRange:Ldalvik/system/EmulatedStackFrame$Range;
-Ljava/lang/invoke/Transformers$CollectArguments;->pos:I
-Ljava/lang/invoke/Transformers$CollectArguments;->range1:Ldalvik/system/EmulatedStackFrame$Range;
-Ljava/lang/invoke/Transformers$CollectArguments;->range2:Ldalvik/system/EmulatedStackFrame$Range;
-Ljava/lang/invoke/Transformers$CollectArguments;->referencesOffset:I
-Ljava/lang/invoke/Transformers$CollectArguments;->stackFrameOffset:I
-Ljava/lang/invoke/Transformers$CollectArguments;->target:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$CollectArguments;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$Collector;
-Ljava/lang/invoke/Transformers$Collector;-><init>(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;I)V
-Ljava/lang/invoke/Transformers$Collector;->arrayOffset:I
-Ljava/lang/invoke/Transformers$Collector;->arrayTypeChar:C
-Ljava/lang/invoke/Transformers$Collector;->copyRange:Ldalvik/system/EmulatedStackFrame$Range;
-Ljava/lang/invoke/Transformers$Collector;->numArrayArgs:I
-Ljava/lang/invoke/Transformers$Collector;->target:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$Collector;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$Constant;
-Ljava/lang/invoke/Transformers$Constant;-><init>(Ljava/lang/Class;Ljava/lang/Object;)V
-Ljava/lang/invoke/Transformers$Constant;->asDouble:D
-Ljava/lang/invoke/Transformers$Constant;->asFloat:F
-Ljava/lang/invoke/Transformers$Constant;->asInt:I
-Ljava/lang/invoke/Transformers$Constant;->asLong:J
-Ljava/lang/invoke/Transformers$Constant;->asReference:Ljava/lang/Object;
-Ljava/lang/invoke/Transformers$Constant;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$Constant;->type:Ljava/lang/Class;
-Ljava/lang/invoke/Transformers$Constant;->typeChar:C
-Ljava/lang/invoke/Transformers$Construct;
-Ljava/lang/invoke/Transformers$Construct;-><init>(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)V
-Ljava/lang/invoke/Transformers$Construct;->callerRange:Ldalvik/system/EmulatedStackFrame$Range;
-Ljava/lang/invoke/Transformers$Construct;->checkInstantiable(Ljava/lang/Class;)V
-Ljava/lang/invoke/Transformers$Construct;->constructorHandle:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$Construct;->getConstructorHandle()Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$Construct;->isAbstract(Ljava/lang/Class;)Z
-Ljava/lang/invoke/Transformers$Construct;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$DropArguments;
-Ljava/lang/invoke/Transformers$DropArguments;-><init>(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;II)V
-Ljava/lang/invoke/Transformers$DropArguments;->delegate:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$DropArguments;->range1:Ldalvik/system/EmulatedStackFrame$Range;
-Ljava/lang/invoke/Transformers$DropArguments;->range2:Ldalvik/system/EmulatedStackFrame$Range;
-Ljava/lang/invoke/Transformers$DropArguments;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;-><init>(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)V
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->box(Ldalvik/system/EmulatedStackFrame$StackFrameReader;Ljava/lang/Class;Ldalvik/system/EmulatedStackFrame$StackFrameWriter;Ljava/lang/Class;)V
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->explicitCast(Ldalvik/system/EmulatedStackFrame$StackFrameReader;Ljava/lang/Class;Ldalvik/system/EmulatedStackFrame$StackFrameWriter;Ljava/lang/Class;)V
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->explicitCastArguments(Ldalvik/system/EmulatedStackFrame;Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->explicitCastFromBoolean(ZLdalvik/system/EmulatedStackFrame$StackFrameWriter;Ljava/lang/Class;)V
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->explicitCastPrimitives(Ldalvik/system/EmulatedStackFrame$StackFrameReader;Ljava/lang/Class;Ldalvik/system/EmulatedStackFrame$StackFrameWriter;Ljava/lang/Class;)V
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->explicitCastReturnValue(Ldalvik/system/EmulatedStackFrame;Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->explicitCastToBoolean(Ldalvik/system/EmulatedStackFrame$StackFrameReader;Ljava/lang/Class;Ldalvik/system/EmulatedStackFrame$StackFrameWriter;)V
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->readPrimitiveAsByte(Ldalvik/system/EmulatedStackFrame$StackFrameReader;Ljava/lang/Class;)B
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->readPrimitiveAsChar(Ldalvik/system/EmulatedStackFrame$StackFrameReader;Ljava/lang/Class;)C
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->readPrimitiveAsDouble(Ldalvik/system/EmulatedStackFrame$StackFrameReader;Ljava/lang/Class;)D
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->readPrimitiveAsFloat(Ldalvik/system/EmulatedStackFrame$StackFrameReader;Ljava/lang/Class;)F
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->readPrimitiveAsInt(Ldalvik/system/EmulatedStackFrame$StackFrameReader;Ljava/lang/Class;)I
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->readPrimitiveAsLong(Ldalvik/system/EmulatedStackFrame$StackFrameReader;Ljava/lang/Class;)J
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->readPrimitiveAsShort(Ldalvik/system/EmulatedStackFrame$StackFrameReader;Ljava/lang/Class;)S
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->target:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->throwUnexpectedType(Ljava/lang/Class;)V
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->toBoolean(B)Z
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->unbox(Ljava/lang/Object;Ljava/lang/Class;Ldalvik/system/EmulatedStackFrame$StackFrameWriter;Ljava/lang/Class;)V
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->unboxNonNull(Ljava/lang/Object;Ljava/lang/Class;Ldalvik/system/EmulatedStackFrame$StackFrameWriter;Ljava/lang/Class;)V
-Ljava/lang/invoke/Transformers$ExplicitCastArguments;->unboxNull(Ldalvik/system/EmulatedStackFrame$StackFrameWriter;Ljava/lang/Class;)V
-Ljava/lang/invoke/Transformers$FilterArguments;
-Ljava/lang/invoke/Transformers$FilterArguments;-><init>(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)V
-Ljava/lang/invoke/Transformers$FilterArguments;->deriveType(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/Transformers$FilterArguments;->filters:[Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$FilterArguments;->pos:I
-Ljava/lang/invoke/Transformers$FilterArguments;->target:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$FilterArguments;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$FilterReturnValue;
-Ljava/lang/invoke/Transformers$FilterReturnValue;-><init>(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
-Ljava/lang/invoke/Transformers$FilterReturnValue;->allArgs:Ldalvik/system/EmulatedStackFrame$Range;
-Ljava/lang/invoke/Transformers$FilterReturnValue;->filter:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$FilterReturnValue;->target:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$FilterReturnValue;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$FoldArguments;
-Ljava/lang/invoke/Transformers$FoldArguments;-><init>(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
-Ljava/lang/invoke/Transformers$FoldArguments;->combiner:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$FoldArguments;->combinerArgs:Ldalvik/system/EmulatedStackFrame$Range;
-Ljava/lang/invoke/Transformers$FoldArguments;->deriveType(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/Transformers$FoldArguments;->referencesOffset:I
-Ljava/lang/invoke/Transformers$FoldArguments;->stackFrameOffset:I
-Ljava/lang/invoke/Transformers$FoldArguments;->target:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$FoldArguments;->targetArgs:Ldalvik/system/EmulatedStackFrame$Range;
-Ljava/lang/invoke/Transformers$FoldArguments;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$GuardWithTest;
-Ljava/lang/invoke/Transformers$GuardWithTest;-><init>(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
-Ljava/lang/invoke/Transformers$GuardWithTest;->fallback:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$GuardWithTest;->target:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$GuardWithTest;->test:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$GuardWithTest;->testArgsRange:Ldalvik/system/EmulatedStackFrame$Range;
-Ljava/lang/invoke/Transformers$GuardWithTest;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$InsertArguments;
-Ljava/lang/invoke/Transformers$InsertArguments;-><init>(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)V
-Ljava/lang/invoke/Transformers$InsertArguments;->pos:I
-Ljava/lang/invoke/Transformers$InsertArguments;->range1:Ldalvik/system/EmulatedStackFrame$Range;
-Ljava/lang/invoke/Transformers$InsertArguments;->range2:Ldalvik/system/EmulatedStackFrame$Range;
-Ljava/lang/invoke/Transformers$InsertArguments;->target:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$InsertArguments;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$InsertArguments;->values:[Ljava/lang/Object;
-Ljava/lang/invoke/Transformers$Invoker;
-Ljava/lang/invoke/Transformers$Invoker;-><init>(Ljava/lang/invoke/MethodType;Z)V
-Ljava/lang/invoke/Transformers$Invoker;->copyRange:Ldalvik/system/EmulatedStackFrame$Range;
-Ljava/lang/invoke/Transformers$Invoker;->isExactInvoker:Z
-Ljava/lang/invoke/Transformers$Invoker;->targetType:Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/Transformers$Invoker;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$PermuteArguments;
-Ljava/lang/invoke/Transformers$PermuteArguments;-><init>(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;[I)V
-Ljava/lang/invoke/Transformers$PermuteArguments;->reorder:[I
-Ljava/lang/invoke/Transformers$PermuteArguments;->target:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$PermuteArguments;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$ReferenceArrayElementGetter;
-Ljava/lang/invoke/Transformers$ReferenceArrayElementGetter;-><init>(Ljava/lang/Class;)V
-Ljava/lang/invoke/Transformers$ReferenceArrayElementGetter;->arrayClass:Ljava/lang/Class;
-Ljava/lang/invoke/Transformers$ReferenceArrayElementGetter;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$ReferenceArrayElementSetter;
-Ljava/lang/invoke/Transformers$ReferenceArrayElementSetter;-><init>(Ljava/lang/Class;)V
-Ljava/lang/invoke/Transformers$ReferenceArrayElementSetter;->arrayClass:Ljava/lang/Class;
-Ljava/lang/invoke/Transformers$ReferenceArrayElementSetter;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$ReferenceIdentity;
-Ljava/lang/invoke/Transformers$ReferenceIdentity;-><init>(Ljava/lang/Class;)V
-Ljava/lang/invoke/Transformers$ReferenceIdentity;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$ReferenceIdentity;->type:Ljava/lang/Class;
-Ljava/lang/invoke/Transformers$Spreader;
-Ljava/lang/invoke/Transformers$Spreader;-><init>(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;I)V
-Ljava/lang/invoke/Transformers$Spreader;->arrayOffset:I
-Ljava/lang/invoke/Transformers$Spreader;->arrayTypeChar:C
-Ljava/lang/invoke/Transformers$Spreader;->copyRange:Ldalvik/system/EmulatedStackFrame$Range;
-Ljava/lang/invoke/Transformers$Spreader;->numArrayArgs:I
-Ljava/lang/invoke/Transformers$Spreader;->spreadArray([BLdalvik/system/EmulatedStackFrame$StackFrameWriter;Ljava/lang/invoke/MethodType;II)V
-Ljava/lang/invoke/Transformers$Spreader;->spreadArray([CLdalvik/system/EmulatedStackFrame$StackFrameWriter;Ljava/lang/invoke/MethodType;II)V
-Ljava/lang/invoke/Transformers$Spreader;->spreadArray([DLdalvik/system/EmulatedStackFrame$StackFrameWriter;Ljava/lang/invoke/MethodType;II)V
-Ljava/lang/invoke/Transformers$Spreader;->spreadArray([FLdalvik/system/EmulatedStackFrame$StackFrameWriter;Ljava/lang/invoke/MethodType;II)V
-Ljava/lang/invoke/Transformers$Spreader;->spreadArray([ILdalvik/system/EmulatedStackFrame$StackFrameWriter;Ljava/lang/invoke/MethodType;II)V
-Ljava/lang/invoke/Transformers$Spreader;->spreadArray([JLdalvik/system/EmulatedStackFrame$StackFrameWriter;Ljava/lang/invoke/MethodType;II)V
-Ljava/lang/invoke/Transformers$Spreader;->spreadArray([Ljava/lang/Object;Ldalvik/system/EmulatedStackFrame$StackFrameWriter;Ljava/lang/invoke/MethodType;II)V
-Ljava/lang/invoke/Transformers$Spreader;->spreadArray([SLdalvik/system/EmulatedStackFrame$StackFrameWriter;Ljava/lang/invoke/MethodType;II)V
-Ljava/lang/invoke/Transformers$Spreader;->spreadArray([ZLdalvik/system/EmulatedStackFrame$StackFrameWriter;Ljava/lang/invoke/MethodType;II)V
-Ljava/lang/invoke/Transformers$Spreader;->target:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$Spreader;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$Transformer;
-Ljava/lang/invoke/Transformers$Transformer;-><init>(Ljava/lang/invoke/MethodType;)V
-Ljava/lang/invoke/Transformers$Transformer;-><init>(Ljava/lang/invoke/MethodType;I)V
-Ljava/lang/invoke/Transformers$VarargsCollector;
-Ljava/lang/invoke/Transformers$VarargsCollector;-><init>(Ljava/lang/invoke/MethodHandle;)V
-Ljava/lang/invoke/Transformers$VarargsCollector;->arityArgumentsConvertible([Ljava/lang/Class;ILjava/lang/Class;)Z
-Ljava/lang/invoke/Transformers$VarargsCollector;->booleanArray(Ldalvik/system/EmulatedStackFrame$StackFrameReader;[Ljava/lang/Class;II)Ljava/lang/Object;
-Ljava/lang/invoke/Transformers$VarargsCollector;->byteArray(Ldalvik/system/EmulatedStackFrame$StackFrameReader;[Ljava/lang/Class;II)Ljava/lang/Object;
-Ljava/lang/invoke/Transformers$VarargsCollector;->charArray(Ldalvik/system/EmulatedStackFrame$StackFrameReader;[Ljava/lang/Class;II)Ljava/lang/Object;
-Ljava/lang/invoke/Transformers$VarargsCollector;->collectArguments(CLjava/lang/Class;Ldalvik/system/EmulatedStackFrame$StackFrameReader;[Ljava/lang/Class;II)Ljava/lang/Object;
-Ljava/lang/invoke/Transformers$VarargsCollector;->copyParameter(Ldalvik/system/EmulatedStackFrame$StackFrameReader;Ldalvik/system/EmulatedStackFrame$StackFrameWriter;Ljava/lang/Class;)V
-Ljava/lang/invoke/Transformers$VarargsCollector;->doubleArray(Ldalvik/system/EmulatedStackFrame$StackFrameReader;[Ljava/lang/Class;II)Ljava/lang/Object;
-Ljava/lang/invoke/Transformers$VarargsCollector;->floatArray(Ldalvik/system/EmulatedStackFrame$StackFrameReader;[Ljava/lang/Class;II)Ljava/lang/Object;
-Ljava/lang/invoke/Transformers$VarargsCollector;->intArray(Ldalvik/system/EmulatedStackFrame$StackFrameReader;[Ljava/lang/Class;II)Ljava/lang/Object;
-Ljava/lang/invoke/Transformers$VarargsCollector;->lastParameterTypeIsAnArray([Ljava/lang/Class;)Z
-Ljava/lang/invoke/Transformers$VarargsCollector;->longArray(Ldalvik/system/EmulatedStackFrame$StackFrameReader;[Ljava/lang/Class;II)Ljava/lang/Object;
-Ljava/lang/invoke/Transformers$VarargsCollector;->makeArityArray(Ljava/lang/invoke/MethodType;Ldalvik/system/EmulatedStackFrame$StackFrameReader;ILjava/lang/Class;)Ljava/lang/Object;
-Ljava/lang/invoke/Transformers$VarargsCollector;->makeTargetFrameType(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/Transformers$VarargsCollector;->prepareFrame(Ldalvik/system/EmulatedStackFrame;Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers$VarargsCollector;->referenceArray(Ldalvik/system/EmulatedStackFrame$StackFrameReader;[Ljava/lang/Class;Ljava/lang/Class;II)Ljava/lang/Object;
-Ljava/lang/invoke/Transformers$VarargsCollector;->shortArray(Ldalvik/system/EmulatedStackFrame$StackFrameReader;[Ljava/lang/Class;II)Ljava/lang/Object;
-Ljava/lang/invoke/Transformers$VarargsCollector;->target:Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/Transformers$VarargsCollector;->throwWrongMethodTypeException(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;)V
-Ljava/lang/invoke/Transformers$VarargsCollector;->transform(Ldalvik/system/EmulatedStackFrame;)V
-Ljava/lang/invoke/Transformers;
-Ljava/lang/invoke/Transformers;-><init>()V
-Ljava/lang/invoke/Transformers;->TRANSFORM_INTERNAL:Ljava/lang/reflect/Method;
-Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;-><init>(Ljava/lang/String;Ljava/lang/invoke/VarHandle$AccessType;)V
-Ljava/lang/invoke/VarHandle$AccessMode;->at:Ljava/lang/invoke/VarHandle$AccessType;
-Ljava/lang/invoke/VarHandle$AccessMode;->COMPARE_AND_EXCHANGE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->COMPARE_AND_EXCHANGE_ACQUIRE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->COMPARE_AND_EXCHANGE_RELEASE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->COMPARE_AND_SET:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->GET:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->GET_ACQUIRE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->GET_AND_ADD:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->GET_AND_ADD_ACQUIRE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->GET_AND_ADD_RELEASE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->GET_AND_BITWISE_AND:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->GET_AND_BITWISE_AND_ACQUIRE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->GET_AND_BITWISE_AND_RELEASE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->GET_AND_BITWISE_OR:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->GET_AND_BITWISE_OR_ACQUIRE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->GET_AND_BITWISE_OR_RELEASE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->GET_AND_BITWISE_XOR:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->GET_AND_BITWISE_XOR_ACQUIRE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->GET_AND_BITWISE_XOR_RELEASE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->GET_AND_SET:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->GET_AND_SET_ACQUIRE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->GET_AND_SET_RELEASE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->GET_OPAQUE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->GET_VOLATILE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->methodName()Ljava/lang/String;
-Ljava/lang/invoke/VarHandle$AccessMode;->methodName:Ljava/lang/String;
-Ljava/lang/invoke/VarHandle$AccessMode;->methodNameToAccessMode:Ljava/util/Map;
-Ljava/lang/invoke/VarHandle$AccessMode;->SET:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->SET_OPAQUE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->SET_RELEASE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->SET_VOLATILE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->valueFromMethodName(Ljava/lang/String;)Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->valueOf(Ljava/lang/String;)Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->values()[Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->WEAK_COMPARE_AND_SET:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->WEAK_COMPARE_AND_SET_ACQUIRE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->WEAK_COMPARE_AND_SET_PLAIN:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessMode;->WEAK_COMPARE_AND_SET_RELEASE:Ljava/lang/invoke/VarHandle$AccessMode;
-Ljava/lang/invoke/VarHandle$AccessType;
-Ljava/lang/invoke/VarHandle$AccessType;-><init>()V
-Ljava/lang/invoke/VarHandle$AccessType;->accessModeType(Ljava/lang/Class;Ljava/lang/Class;[[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/VarHandle$AccessType;->allocateParameters(ILjava/lang/Class;[[Ljava/lang/Class;)[Ljava/lang/Class;
-Ljava/lang/invoke/VarHandle$AccessType;->COMPARE_AND_EXCHANGE:Ljava/lang/invoke/VarHandle$AccessType;
-Ljava/lang/invoke/VarHandle$AccessType;->COMPARE_AND_SWAP:Ljava/lang/invoke/VarHandle$AccessType;
-Ljava/lang/invoke/VarHandle$AccessType;->fillParameters([Ljava/lang/Class;Ljava/lang/Class;[[Ljava/lang/Class;)I
-Ljava/lang/invoke/VarHandle$AccessType;->GET:Ljava/lang/invoke/VarHandle$AccessType;
-Ljava/lang/invoke/VarHandle$AccessType;->GET_AND_UPDATE:Ljava/lang/invoke/VarHandle$AccessType;
-Ljava/lang/invoke/VarHandle$AccessType;->GET_AND_UPDATE_BITWISE:Ljava/lang/invoke/VarHandle$AccessType;
-Ljava/lang/invoke/VarHandle$AccessType;->GET_AND_UPDATE_NUMERIC:Ljava/lang/invoke/VarHandle$AccessType;
-Ljava/lang/invoke/VarHandle$AccessType;->SET:Ljava/lang/invoke/VarHandle$AccessType;
-Ljava/lang/invoke/VarHandle$AccessType;->valueOf(Ljava/lang/String;)Ljava/lang/invoke/VarHandle$AccessType;
-Ljava/lang/invoke/VarHandle$AccessType;->values()[Ljava/lang/invoke/VarHandle$AccessType;
-Ljava/lang/invoke/VarHandle;
-Ljava/lang/invoke/VarHandle;-><init>(Ljava/lang/Class;Ljava/lang/Class;ZLjava/lang/Class;Ljava/lang/Class;)V
-Ljava/lang/invoke/VarHandle;-><init>(Ljava/lang/Class;Z)V
-Ljava/lang/invoke/VarHandle;-><init>(Ljava/lang/Class;ZLjava/lang/Class;)V
-Ljava/lang/invoke/VarHandle;->accessModesBitMask:I
-Ljava/lang/invoke/VarHandle;->accessModeType(Ljava/lang/invoke/VarHandle$AccessMode;)Ljava/lang/invoke/MethodType;
-Ljava/lang/invoke/VarHandle;->accessTypesToBitMask(Ljava/util/EnumSet;)I
-Ljava/lang/invoke/VarHandle;->alignedAccessModesBitMask(Ljava/lang/Class;Z)I
-Ljava/lang/invoke/VarHandle;->ALL_MODES_BIT_MASK:I
-Ljava/lang/invoke/VarHandle;->ATOMIC_UPDATE_ACCESS_MODES_BIT_MASK:I
-Ljava/lang/invoke/VarHandle;->BITWISE_ATOMIC_UPDATE_ACCESS_MODES_BIT_MASK:I
-Ljava/lang/invoke/VarHandle;->coordinateType0:Ljava/lang/Class;
-Ljava/lang/invoke/VarHandle;->coordinateType1:Ljava/lang/Class;
-Ljava/lang/invoke/VarHandle;->coordinateTypes()Ljava/util/List;
-Ljava/lang/invoke/VarHandle;->isAccessModeSupported(Ljava/lang/invoke/VarHandle$AccessMode;)Z
-Ljava/lang/invoke/VarHandle;->NUMERIC_ATOMIC_UPDATE_ACCESS_MODES_BIT_MASK:I
-Ljava/lang/invoke/VarHandle;->READ_ACCESS_MODES_BIT_MASK:I
-Ljava/lang/invoke/VarHandle;->toMethodHandle(Ljava/lang/invoke/VarHandle$AccessMode;)Ljava/lang/invoke/MethodHandle;
-Ljava/lang/invoke/VarHandle;->unalignedAccessModesBitMask(Ljava/lang/Class;)I
-Ljava/lang/invoke/VarHandle;->UNSAFE:Lsun/misc/Unsafe;
-Ljava/lang/invoke/VarHandle;->varType()Ljava/lang/Class;
-Ljava/lang/invoke/VarHandle;->varType:Ljava/lang/Class;
-Ljava/lang/invoke/VarHandle;->WRITE_ACCESS_MODES_BIT_MASK:I
-Ljava/lang/invoke/WrongMethodTypeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-Ljava/lang/invoke/WrongMethodTypeException;-><init>(Ljava/lang/Throwable;)V
-Ljava/lang/Long$LongCache;
-Ljava/lang/Long$LongCache;-><init>()V
-Ljava/lang/Long$LongCache;->cache:[Ljava/lang/Long;
-Ljava/lang/Long;->formatUnsignedLong(JI[CII)I
-Ljava/lang/Long;->getChars(JI[C)V
-Ljava/lang/Long;->stringSize(J)I
-Ljava/lang/Long;->toUnsignedBigInteger(J)Ljava/math/BigInteger;
-Ljava/lang/Long;->toUnsignedString0(JI)Ljava/lang/String;
-Ljava/lang/Math$RandomNumberGeneratorHolder;
-Ljava/lang/Math$RandomNumberGeneratorHolder;-><init>()V
-Ljava/lang/Math$RandomNumberGeneratorHolder;->randomNumberGenerator:Ljava/util/Random;
-Ljava/lang/Math;-><init>()V
-Ljava/lang/Math;->negativeZeroDoubleBits:J
-Ljava/lang/Math;->negativeZeroFloatBits:J
-Ljava/lang/Math;->powerOfTwoD(I)D
-Ljava/lang/Math;->powerOfTwoF(I)F
-Ljava/lang/Math;->randomIntInternal()I
-Ljava/lang/Math;->randomLongInternal()J
-Ljava/lang/Math;->setRandomSeedInternal(J)V
-Ljava/lang/Math;->twoToTheDoubleScaleDown:D
-Ljava/lang/Math;->twoToTheDoubleScaleUp:D
-Ljava/lang/NoClassDefFoundError;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-Ljava/lang/NumberFormatException;->forInputString(Ljava/lang/String;)Ljava/lang/NumberFormatException;
-Ljava/lang/Object;->identityHashCodeNative(Ljava/lang/Object;)I
-Ljava/lang/Object;->internalClone()Ljava/lang/Object;
-Ljava/lang/Object;->shadow$_klass_:Ljava/lang/Class;
-Ljava/lang/Object;->shadow$_monitor_:I
-Ljava/lang/Package;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;Ljava/lang/ClassLoader;)V
-Ljava/lang/Package;-><init>(Ljava/lang/String;Ljava/util/jar/Manifest;Ljava/net/URL;Ljava/lang/ClassLoader;)V
-Ljava/lang/Package;->defineSystemPackage(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Package;
-Ljava/lang/Package;->getPackage(Ljava/lang/Class;)Ljava/lang/Package;
-Ljava/lang/Package;->getPackageInfo()Ljava/lang/Class;
-Ljava/lang/Package;->getSystemPackage(Ljava/lang/String;)Ljava/lang/Package;
-Ljava/lang/Package;->getSystemPackage0(Ljava/lang/String;)Ljava/lang/String;
-Ljava/lang/Package;->getSystemPackages()[Ljava/lang/Package;
-Ljava/lang/Package;->getSystemPackages0()[Ljava/lang/String;
-Ljava/lang/Package;->implTitle:Ljava/lang/String;
-Ljava/lang/Package;->implVendor:Ljava/lang/String;
-Ljava/lang/Package;->implVersion:Ljava/lang/String;
-Ljava/lang/Package;->loader:Ljava/lang/ClassLoader;
-Ljava/lang/Package;->loadManifest(Ljava/lang/String;)Ljava/util/jar/Manifest;
-Ljava/lang/Package;->mans:Ljava/util/Map;
-Ljava/lang/Package;->packageInfo:Ljava/lang/Class;
-Ljava/lang/Package;->pkgName:Ljava/lang/String;
-Ljava/lang/Package;->pkgs:Ljava/util/Map;
-Ljava/lang/Package;->sealBase:Ljava/net/URL;
-Ljava/lang/Package;->specTitle:Ljava/lang/String;
-Ljava/lang/Package;->specVendor:Ljava/lang/String;
-Ljava/lang/Package;->specVersion:Ljava/lang/String;
-Ljava/lang/Package;->urls:Ljava/util/Map;
-Ljava/lang/ProcessBuilder$NullInputStream;
-Ljava/lang/ProcessBuilder$NullInputStream;-><init>()V
-Ljava/lang/ProcessBuilder$NullInputStream;->INSTANCE:Ljava/lang/ProcessBuilder$NullInputStream;
-Ljava/lang/ProcessBuilder$NullOutputStream;
-Ljava/lang/ProcessBuilder$NullOutputStream;-><init>()V
-Ljava/lang/ProcessBuilder$NullOutputStream;->INSTANCE:Ljava/lang/ProcessBuilder$NullOutputStream;
-Ljava/lang/ProcessBuilder$Redirect$Type;-><init>()V
-Ljava/lang/ProcessBuilder$Redirect;-><init>()V
-Ljava/lang/ProcessBuilder$Redirect;->append()Z
-Ljava/lang/ProcessBuilder;->command:Ljava/util/List;
-Ljava/lang/ProcessBuilder;->directory:Ljava/io/File;
-Ljava/lang/ProcessBuilder;->environment([Ljava/lang/String;)Ljava/lang/ProcessBuilder;
-Ljava/lang/ProcessBuilder;->environment:Ljava/util/Map;
-Ljava/lang/ProcessBuilder;->redirectErrorStream:Z
-Ljava/lang/ProcessBuilder;->redirects()[Ljava/lang/ProcessBuilder$Redirect;
-Ljava/lang/ProcessBuilder;->redirects:[Ljava/lang/ProcessBuilder$Redirect;
-Ljava/lang/ref/FinalizerReference$Sentinel;
-Ljava/lang/ref/FinalizerReference$Sentinel;-><init>()V
-Ljava/lang/ref/FinalizerReference$Sentinel;->awaitFinalization(J)V
-Ljava/lang/ref/FinalizerReference$Sentinel;->finalized:Z
-Ljava/lang/ref/FinalizerReference;
-Ljava/lang/ref/FinalizerReference;-><init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
-Ljava/lang/ref/FinalizerReference;->enqueueSentinelReference(Ljava/lang/ref/FinalizerReference$Sentinel;)Z
-Ljava/lang/ref/FinalizerReference;->finalizeAllEnqueued(J)V
-Ljava/lang/ref/FinalizerReference;->getReferent()Ljava/lang/Object;
-Ljava/lang/ref/FinalizerReference;->LIST_LOCK:Ljava/lang/Object;
-Ljava/lang/ref/FinalizerReference;->makeCircularListIfUnenqueued()Z
-Ljava/lang/ref/FinalizerReference;->prev:Ljava/lang/ref/FinalizerReference;
-Ljava/lang/ref/FinalizerReference;->zombie:Ljava/lang/Object;
-Ljava/lang/ref/Reference$SinkHolder;
-Ljava/lang/ref/Reference$SinkHolder;-><init>()V
-Ljava/lang/ref/Reference$SinkHolder;->finalize_count:I
-Ljava/lang/ref/Reference$SinkHolder;->sink:Ljava/lang/Object;
-Ljava/lang/ref/Reference$SinkHolder;->sinkUser:Ljava/lang/Object;
-Ljava/lang/ref/Reference;-><init>(Ljava/lang/Object;)V
-Ljava/lang/ref/Reference;-><init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
-Ljava/lang/ref/Reference;->clearReferent()V
-Ljava/lang/ref/Reference;->disableIntrinsic:Z
-Ljava/lang/ref/Reference;->pendingNext:Ljava/lang/ref/Reference;
-Ljava/lang/ref/Reference;->queue:Ljava/lang/ref/ReferenceQueue;
-Ljava/lang/ref/Reference;->queueNext:Ljava/lang/ref/Reference;
-Ljava/lang/ref/Reference;->slowPathEnabled:Z
-Ljava/lang/ref/ReferenceQueue;->enqueue(Ljava/lang/ref/Reference;)Z
-Ljava/lang/ref/ReferenceQueue;->enqueueLocked(Ljava/lang/ref/Reference;)Z
-Ljava/lang/ref/ReferenceQueue;->enqueuePending(Ljava/lang/ref/Reference;)V
-Ljava/lang/ref/ReferenceQueue;->head:Ljava/lang/ref/Reference;
-Ljava/lang/ref/ReferenceQueue;->isEnqueued(Ljava/lang/ref/Reference;)Z
-Ljava/lang/ref/ReferenceQueue;->lock:Ljava/lang/Object;
-Ljava/lang/ref/ReferenceQueue;->reallyPollLocked()Ljava/lang/ref/Reference;
-Ljava/lang/ref/ReferenceQueue;->sQueueNextUnenqueued:Ljava/lang/ref/Reference;
-Ljava/lang/ref/ReferenceQueue;->tail:Ljava/lang/ref/Reference;
-Ljava/lang/ref/ReferenceQueue;->unenqueued:Ljava/lang/ref/Reference;
-Ljava/lang/ref/SoftReference;->clock:J
-Ljava/lang/ref/SoftReference;->timestamp:J
-Ljava/lang/reflect/AccessibleObject;->setAccessible0(Ljava/lang/reflect/AccessibleObject;Z)V
-Ljava/lang/reflect/Array;-><init>()V
-Ljava/lang/reflect/Array;->badArray(Ljava/lang/Object;)Ljava/lang/RuntimeException;
-Ljava/lang/reflect/Array;->createMultiArray(Ljava/lang/Class;[I)Ljava/lang/Object;
-Ljava/lang/reflect/Array;->createObjectArray(Ljava/lang/Class;I)Ljava/lang/Object;
-Ljava/lang/reflect/Array;->incompatibleType(Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;
-Ljava/lang/reflect/Array;->newArray(Ljava/lang/Class;I)Ljava/lang/Object;
-Ljava/lang/reflect/Array;->notAnArray(Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;
-Ljava/lang/reflect/Constructor;-><init>()V
-Ljava/lang/reflect/Constructor;-><init>(Ljava/lang/Class;Ljava/lang/Class;)V
-Ljava/lang/reflect/Constructor;->hasGenericInformation()Z
-Ljava/lang/reflect/Constructor;->newInstance0([[Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/lang/reflect/Constructor;->newInstanceFromSerialization(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Object;
-Ljava/lang/reflect/Constructor;->ORDER_BY_SIGNATURE:Ljava/util/Comparator;
-Ljava/lang/reflect/Constructor;->serializationClass:Ljava/lang/Class;
-Ljava/lang/reflect/Constructor;->serializationCtor:Ljava/lang/Class;
-Ljava/lang/reflect/Constructor;->specificToGenericStringHeader(Ljava/lang/StringBuilder;)V
-Ljava/lang/reflect/Constructor;->specificToStringHeader(Ljava/lang/StringBuilder;)V
-Ljava/lang/reflect/Executable$GenericInfo;
-Ljava/lang/reflect/Executable$GenericInfo;-><init>(Llibcore/reflect/ListOfTypes;Llibcore/reflect/ListOfTypes;Ljava/lang/reflect/Type;[Ljava/lang/reflect/TypeVariable;)V
-Ljava/lang/reflect/Executable$GenericInfo;->formalTypeParameters:[Ljava/lang/reflect/TypeVariable;
-Ljava/lang/reflect/Executable$GenericInfo;->genericExceptionTypes:Llibcore/reflect/ListOfTypes;
-Ljava/lang/reflect/Executable$GenericInfo;->genericParameterTypes:Llibcore/reflect/ListOfTypes;
-Ljava/lang/reflect/Executable$GenericInfo;->genericReturnType:Ljava/lang/reflect/Type;
-Ljava/lang/reflect/Executable;-><init>()V
-Ljava/lang/reflect/Executable;->accessFlags:I
-Ljava/lang/reflect/Executable;->compareMethodParametersInternal(Ljava/lang/reflect/Method;)I
-Ljava/lang/reflect/Executable;->declaringClass:Ljava/lang/Class;
-Ljava/lang/reflect/Executable;->declaringClassOfOverriddenMethod:Ljava/lang/Class;
-Ljava/lang/reflect/Executable;->dexMethodIndex:I
-Ljava/lang/reflect/Executable;->equalNameAndParametersInternal(Ljava/lang/reflect/Method;)Z
-Ljava/lang/reflect/Executable;->equalParamTypes([Ljava/lang/Class;[Ljava/lang/Class;)Z
-Ljava/lang/reflect/Executable;->fixMethodFlags(I)I
-Ljava/lang/reflect/Executable;->getAccessFlags()I
-Ljava/lang/reflect/Executable;->getAllGenericParameterTypes()[Ljava/lang/reflect/Type;
-Ljava/lang/reflect/Executable;->getAnnotationNative(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
-Ljava/lang/reflect/Executable;->getArtMethod()J
-Ljava/lang/reflect/Executable;->getDeclaredAnnotationsNative()[Ljava/lang/annotation/Annotation;
-Ljava/lang/reflect/Executable;->getDeclaringClassInternal()Ljava/lang/Class;
-Ljava/lang/reflect/Executable;->getMethodNameInternal()Ljava/lang/String;
-Ljava/lang/reflect/Executable;->getMethodOrConstructorGenericInfoInternal()Ljava/lang/reflect/Executable$GenericInfo;
-Ljava/lang/reflect/Executable;->getMethodReturnTypeInternal()Ljava/lang/Class;
-Ljava/lang/reflect/Executable;->getModifiersInternal()I
-Ljava/lang/reflect/Executable;->getParameterAnnotationsInternal()[[Ljava/lang/annotation/Annotation;
-Ljava/lang/reflect/Executable;->getParameterAnnotationsNative()[[Ljava/lang/annotation/Annotation;
-Ljava/lang/reflect/Executable;->getParameterCountInternal()I
-Ljava/lang/reflect/Executable;->getParameters0()[Ljava/lang/reflect/Parameter;
-Ljava/lang/reflect/Executable;->getParameterTypesInternal()[Ljava/lang/Class;
-Ljava/lang/reflect/Executable;->getSignatureAnnotation()[Ljava/lang/String;
-Ljava/lang/reflect/Executable;->getSignatureAttribute()Ljava/lang/String;
-Ljava/lang/reflect/Executable;->hasGenericInformation()Z
-Ljava/lang/reflect/Executable;->hasGenericInformationInternal()Z
-Ljava/lang/reflect/Executable;->hasRealParameterData()Z
-Ljava/lang/reflect/Executable;->hasRealParameterData:Z
-Ljava/lang/reflect/Executable;->isAnnotationPresentNative(Ljava/lang/Class;)Z
-Ljava/lang/reflect/Executable;->isBridgeMethodInternal()Z
-Ljava/lang/reflect/Executable;->isDefaultMethodInternal()Z
-Ljava/lang/reflect/Executable;->parameters:[Ljava/lang/reflect/Parameter;
-Ljava/lang/reflect/Executable;->printModifiersIfNonzero(Ljava/lang/StringBuilder;IZ)V
-Ljava/lang/reflect/Executable;->privateGetParameters()[Ljava/lang/reflect/Parameter;
-Ljava/lang/reflect/Executable;->separateWithCommas([Ljava/lang/Class;Ljava/lang/StringBuilder;)V
-Ljava/lang/reflect/Executable;->sharedToGenericString(IZ)Ljava/lang/String;
-Ljava/lang/reflect/Executable;->sharedToString(IZ[Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
-Ljava/lang/reflect/Executable;->specificToGenericStringHeader(Ljava/lang/StringBuilder;)V
-Ljava/lang/reflect/Executable;->specificToStringHeader(Ljava/lang/StringBuilder;)V
-Ljava/lang/reflect/Executable;->synthesizeAllParams()[Ljava/lang/reflect/Parameter;
-Ljava/lang/reflect/Executable;->verifyParameters([Ljava/lang/reflect/Parameter;)V
-Ljava/lang/reflect/Field;-><init>()V
-Ljava/lang/reflect/Field;->declaringClass:Ljava/lang/Class;
-Ljava/lang/reflect/Field;->dexFieldIndex:I
-Ljava/lang/reflect/Field;->getAnnotationNative(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
-Ljava/lang/reflect/Field;->getArtField()J
-Ljava/lang/reflect/Field;->getDexFieldIndex()I
-Ljava/lang/reflect/Field;->getNameInternal()Ljava/lang/String;
-Ljava/lang/reflect/Field;->getSignatureAnnotation()[Ljava/lang/String;
-Ljava/lang/reflect/Field;->getSignatureAttribute()Ljava/lang/String;
-Ljava/lang/reflect/Field;->isAnnotationPresentNative(Ljava/lang/Class;)Z
-Ljava/lang/reflect/Field;->offset:I
-Ljava/lang/reflect/Field;->type:Ljava/lang/Class;
-Ljava/lang/reflect/InvocationTargetException;->target:Ljava/lang/Throwable;
-Ljava/lang/reflect/Method;-><init>()V
-Ljava/lang/reflect/Method;->equalNameAndParameters(Ljava/lang/reflect/Method;)Z
-Ljava/lang/reflect/Method;->hasGenericInformation()Z
-Ljava/lang/reflect/Method;->ORDER_BY_SIGNATURE:Ljava/util/Comparator;
-Ljava/lang/reflect/Method;->specificToGenericStringHeader(Ljava/lang/StringBuilder;)V
-Ljava/lang/reflect/Method;->specificToStringHeader(Ljava/lang/StringBuilder;)V
-Ljava/lang/reflect/Modifier;->ACCESS_MODIFIERS:I
-Ljava/lang/reflect/Modifier;->ANNOTATION:I
-Ljava/lang/reflect/Modifier;->BRIDGE:I
-Ljava/lang/reflect/Modifier;->CLASS_MODIFIERS:I
-Ljava/lang/reflect/Modifier;->CONSTRUCTOR:I
-Ljava/lang/reflect/Modifier;->CONSTRUCTOR_MODIFIERS:I
-Ljava/lang/reflect/Modifier;->DEFAULT:I
-Ljava/lang/reflect/Modifier;->ENUM:I
-Ljava/lang/reflect/Modifier;->FIELD_MODIFIERS:I
-Ljava/lang/reflect/Modifier;->INTERFACE_MODIFIERS:I
-Ljava/lang/reflect/Modifier;->isConstructor(I)Z
-Ljava/lang/reflect/Modifier;->isMandated(I)Z
-Ljava/lang/reflect/Modifier;->isSynthetic(I)Z
-Ljava/lang/reflect/Modifier;->MANDATED:I
-Ljava/lang/reflect/Modifier;->METHOD_MODIFIERS:I
-Ljava/lang/reflect/Modifier;->PARAMETER_MODIFIERS:I
-Ljava/lang/reflect/Modifier;->SYNTHETIC:I
-Ljava/lang/reflect/Modifier;->VARARGS:I
-Ljava/lang/reflect/Parameter;->executable:Ljava/lang/reflect/Executable;
-Ljava/lang/reflect/Parameter;->getAnnotationNative(Ljava/lang/reflect/Executable;ILjava/lang/Class;)Ljava/lang/annotation/Annotation;
-Ljava/lang/reflect/Parameter;->getRealName()Ljava/lang/String;
-Ljava/lang/reflect/Parameter;->index:I
-Ljava/lang/reflect/Parameter;->modifiers:I
-Ljava/lang/reflect/Parameter;->name:Ljava/lang/String;
-Ljava/lang/reflect/Parameter;->parameterClassCache:Ljava/lang/Class;
-Ljava/lang/reflect/Parameter;->parameterTypeCache:Ljava/lang/reflect/Type;
-Ljava/lang/reflect/Proxy$Key1;
-Ljava/lang/reflect/Proxy$Key1;-><init>(Ljava/lang/Class;)V
-Ljava/lang/reflect/Proxy$Key1;->hash:I
-Ljava/lang/reflect/Proxy$Key2;
-Ljava/lang/reflect/Proxy$Key2;-><init>(Ljava/lang/Class;Ljava/lang/Class;)V
-Ljava/lang/reflect/Proxy$Key2;->hash:I
-Ljava/lang/reflect/Proxy$Key2;->ref2:Ljava/lang/ref/WeakReference;
-Ljava/lang/reflect/Proxy$KeyFactory;
-Ljava/lang/reflect/Proxy$KeyFactory;-><init>()V
-Ljava/lang/reflect/Proxy$KeyFactory;->apply(Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Object;
-Ljava/lang/reflect/Proxy$KeyX;
-Ljava/lang/reflect/Proxy$KeyX;-><init>([Ljava/lang/Class;)V
-Ljava/lang/reflect/Proxy$KeyX;->equals([Ljava/lang/ref/WeakReference;[Ljava/lang/ref/WeakReference;)Z
-Ljava/lang/reflect/Proxy$KeyX;->hash:I
-Ljava/lang/reflect/Proxy$KeyX;->refs:[Ljava/lang/ref/WeakReference;
-Ljava/lang/reflect/Proxy$ProxyClassFactory;
-Ljava/lang/reflect/Proxy$ProxyClassFactory;-><init>()V
-Ljava/lang/reflect/Proxy$ProxyClassFactory;->apply(Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Class;
-Ljava/lang/reflect/Proxy$ProxyClassFactory;->nextUniqueNumber:Ljava/util/concurrent/atomic/AtomicLong;
-Ljava/lang/reflect/Proxy$ProxyClassFactory;->proxyClassNamePrefix:Ljava/lang/String;
-Ljava/lang/reflect/Proxy;-><init>()V
-Ljava/lang/reflect/Proxy;->constructorParams:[Ljava/lang/Class;
-Ljava/lang/reflect/Proxy;->deduplicateAndGetExceptions(Ljava/util/List;)Ljava/util/List;
-Ljava/lang/reflect/Proxy;->generateProxy(Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/ClassLoader;[Ljava/lang/reflect/Method;[[Ljava/lang/Class;)Ljava/lang/Class;
-Ljava/lang/reflect/Proxy;->getMethods([Ljava/lang/Class;)Ljava/util/List;
-Ljava/lang/reflect/Proxy;->getMethodsRecursive([Ljava/lang/Class;Ljava/util/List;)V
-Ljava/lang/reflect/Proxy;->getProxyClass0(Ljava/lang/ClassLoader;[[Ljava/lang/Class;)Ljava/lang/Class;
-Ljava/lang/reflect/Proxy;->intersectExceptions([Ljava/lang/Class;[Ljava/lang/Class;)[Ljava/lang/Class;
-Ljava/lang/reflect/Proxy;->key0:Ljava/lang/Object;
-Ljava/lang/reflect/Proxy;->ORDER_BY_SIGNATURE_AND_SUBTYPE:Ljava/util/Comparator;
-Ljava/lang/reflect/Proxy;->proxyClassCache:Ljava/lang/reflect/WeakCache;
-Ljava/lang/reflect/Proxy;->validateReturnTypes(Ljava/util/List;)V
-Ljava/lang/reflect/UndeclaredThrowableException;->undeclaredThrowable:Ljava/lang/Throwable;
-Ljava/lang/reflect/WeakCache$CacheKey;
-Ljava/lang/reflect/WeakCache$CacheKey;-><init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
-Ljava/lang/reflect/WeakCache$CacheKey;->expungeFrom(Ljava/util/concurrent/ConcurrentMap;Ljava/util/concurrent/ConcurrentMap;)V
-Ljava/lang/reflect/WeakCache$CacheKey;->hash:I
-Ljava/lang/reflect/WeakCache$CacheKey;->NULL_KEY:Ljava/lang/Object;
-Ljava/lang/reflect/WeakCache$CacheKey;->valueOf(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)Ljava/lang/Object;
-Ljava/lang/reflect/WeakCache$CacheValue;
-Ljava/lang/reflect/WeakCache$CacheValue;-><init>(Ljava/lang/Object;)V
-Ljava/lang/reflect/WeakCache$CacheValue;->hash:I
-Ljava/lang/reflect/WeakCache$Factory;
-Ljava/lang/reflect/WeakCache$Factory;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/concurrent/ConcurrentMap;)V
-Ljava/lang/reflect/WeakCache$Factory;->key:Ljava/lang/Object;
-Ljava/lang/reflect/WeakCache$Factory;->parameter:Ljava/lang/Object;
-Ljava/lang/reflect/WeakCache$Factory;->subKey:Ljava/lang/Object;
-Ljava/lang/reflect/WeakCache$Factory;->valuesMap:Ljava/util/concurrent/ConcurrentMap;
-Ljava/lang/reflect/WeakCache$LookupValue;
-Ljava/lang/reflect/WeakCache$LookupValue;-><init>(Ljava/lang/Object;)V
-Ljava/lang/reflect/WeakCache$LookupValue;->value:Ljava/lang/Object;
-Ljava/lang/reflect/WeakCache$Value;
-Ljava/lang/reflect/WeakCache;
-Ljava/lang/reflect/WeakCache;-><init>(Ljava/util/function/BiFunction;Ljava/util/function/BiFunction;)V
-Ljava/lang/reflect/WeakCache;->containsValue(Ljava/lang/Object;)Z
-Ljava/lang/reflect/WeakCache;->expungeStaleEntries()V
-Ljava/lang/reflect/WeakCache;->get(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/lang/reflect/WeakCache;->map:Ljava/util/concurrent/ConcurrentMap;
-Ljava/lang/reflect/WeakCache;->refQueue:Ljava/lang/ref/ReferenceQueue;
-Ljava/lang/reflect/WeakCache;->reverseMap:Ljava/util/concurrent/ConcurrentMap;
-Ljava/lang/reflect/WeakCache;->size()I
-Ljava/lang/reflect/WeakCache;->subKeyFactory:Ljava/util/function/BiFunction;
-Ljava/lang/reflect/WeakCache;->valueFactory:Ljava/util/function/BiFunction;
-Ljava/lang/Runtime;->checkTargetSdkVersionForLoad(Ljava/lang/String;)V
-Ljava/lang/Runtime;->currentRuntime:Ljava/lang/Runtime;
-Ljava/lang/Runtime;->finalizeOnExit:Z
-Ljava/lang/Runtime;->getLibPaths()[Ljava/lang/String;
-Ljava/lang/Runtime;->initLibPaths()[Ljava/lang/String;
-Ljava/lang/Runtime;->load0(Ljava/lang/Class;Ljava/lang/String;)V
-Ljava/lang/Runtime;->nativeExit(I)V
-Ljava/lang/Runtime;->runFinalization0()V
-Ljava/lang/Runtime;->shutdownHooks:Ljava/util/List;
-Ljava/lang/Runtime;->shuttingDown:Z
-Ljava/lang/Runtime;->tracingMethods:Z
-Ljava/lang/Short$ShortCache;
-Ljava/lang/Short$ShortCache;-><init>()V
-Ljava/lang/Short$ShortCache;->cache:[Ljava/lang/Short;
-Ljava/lang/StrictMath$RandomNumberGeneratorHolder;
-Ljava/lang/StrictMath$RandomNumberGeneratorHolder;-><init>()V
-Ljava/lang/StrictMath$RandomNumberGeneratorHolder;->randomNumberGenerator:Ljava/util/Random;
-Ljava/lang/StrictMath;-><init>()V
-Ljava/lang/StrictMath;->floorOrCeil(DDDD)D
-Ljava/lang/String$CaseInsensitiveComparator;
-Ljava/lang/String$CaseInsensitiveComparator;-><init>()V
-Ljava/lang/String$CaseInsensitiveComparator;->compare(Ljava/lang/String;Ljava/lang/String;)I
-Ljava/lang/String;->doReplace(CC)Ljava/lang/String;
-Ljava/lang/String;->fastSubstring(II)Ljava/lang/String;
-Ljava/lang/String;->getChars([CI)V
-Ljava/lang/String;->indexOf(Ljava/lang/String;Ljava/lang/String;I)I
-Ljava/lang/String;->indexOfSupplementary(II)I
-Ljava/lang/String;->lastIndexOf(Ljava/lang/String;Ljava/lang/String;I)I
-Ljava/lang/String;->lastIndexOfSupplementary(II)I
-Ljava/lang/String;->nonSyncContentEquals(Ljava/lang/AbstractStringBuilder;)Z
-Ljava/lang/StringBuffer;->append(Ljava/lang/AbstractStringBuilder;)Ljava/lang/StringBuffer;
-Ljava/lang/StringBuffer;->toStringCache:[C
-Ljava/lang/StringIndexOutOfBoundsException;-><init>(II)V
-Ljava/lang/StringIndexOutOfBoundsException;-><init>(III)V
-Ljava/lang/StringIndexOutOfBoundsException;-><init>(Ljava/lang/String;I)V
-Ljava/lang/StringIndexOutOfBoundsException;-><init>(Ljava/lang/String;II)V
-Ljava/lang/System$PropertiesWithNonOverrideableDefaults;
-Ljava/lang/System$PropertiesWithNonOverrideableDefaults;-><init>(Ljava/util/Properties;)V
-Ljava/lang/System$PropertiesWithNonOverrideableDefaults;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/lang/System;->addLegacyLocaleSystemProperties()V
-Ljava/lang/System;->arraycopy([DI[DII)V
-Ljava/lang/System;->arraycopyBooleanUnchecked([ZI[ZII)V
-Ljava/lang/System;->arraycopyByteUnchecked([BI[BII)V
-Ljava/lang/System;->arraycopyCharUnchecked([CI[CII)V
-Ljava/lang/System;->arraycopyDoubleUnchecked([DI[DII)V
-Ljava/lang/System;->arraycopyFloatUnchecked([FI[FII)V
-Ljava/lang/System;->arraycopyIntUnchecked([II[III)V
-Ljava/lang/System;->arraycopyLongUnchecked([JI[JII)V
-Ljava/lang/System;->arraycopyShortUnchecked([SI[SII)V
-Ljava/lang/System;->ARRAYCOPY_SHORT_BOOLEAN_ARRAY_THRESHOLD:I
-Ljava/lang/System;->ARRAYCOPY_SHORT_BYTE_ARRAY_THRESHOLD:I
-Ljava/lang/System;->ARRAYCOPY_SHORT_CHAR_ARRAY_THRESHOLD:I
-Ljava/lang/System;->ARRAYCOPY_SHORT_DOUBLE_ARRAY_THRESHOLD:I
-Ljava/lang/System;->ARRAYCOPY_SHORT_FLOAT_ARRAY_THRESHOLD:I
-Ljava/lang/System;->ARRAYCOPY_SHORT_INT_ARRAY_THRESHOLD:I
-Ljava/lang/System;->ARRAYCOPY_SHORT_LONG_ARRAY_THRESHOLD:I
-Ljava/lang/System;->ARRAYCOPY_SHORT_SHORT_ARRAY_THRESHOLD:I
-Ljava/lang/System;->checkKey(Ljava/lang/String;)V
-Ljava/lang/System;->cons:Ljava/io/Console;
-Ljava/lang/System;->initProperties()Ljava/util/Properties;
-Ljava/lang/System;->initUnchangeableSystemProperties()Ljava/util/Properties;
-Ljava/lang/System;->justRanFinalization:Z
-Ljava/lang/System;->lineSeparator:Ljava/lang/String;
-Ljava/lang/System;->LOCK:Ljava/lang/Object;
-Ljava/lang/System;->logI(Ljava/lang/String;)V
-Ljava/lang/System;->logI(Ljava/lang/String;Ljava/lang/Throwable;)V
-Ljava/lang/System;->logW(Ljava/lang/String;)V
-Ljava/lang/System;->newPrintStream(Ljava/io/FileOutputStream;Ljava/lang/String;)Ljava/io/PrintStream;
-Ljava/lang/System;->parsePropertyAssignments(Ljava/util/Properties;[Ljava/lang/String;)V
-Ljava/lang/System;->props:Ljava/util/Properties;
-Ljava/lang/System;->runGC:Z
-Ljava/lang/System;->setDefaultChangeableProperties(Ljava/util/Properties;)Ljava/util/Properties;
-Ljava/lang/System;->setErr0(Ljava/io/PrintStream;)V
-Ljava/lang/System;->setIn0(Ljava/io/InputStream;)V
-Ljava/lang/System;->setOut0(Ljava/io/PrintStream;)V
-Ljava/lang/System;->setUnchangeableSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
-Ljava/lang/System;->specialProperties()[Ljava/lang/String;
-Ljava/lang/System;->unchangeableProps:Ljava/util/Properties;
-Ljava/lang/Thread$Caches;
-Ljava/lang/Thread$Caches;-><init>()V
-Ljava/lang/Thread$Caches;->subclassAudits:Ljava/util/concurrent/ConcurrentMap;
-Ljava/lang/Thread$Caches;->subclassAuditsQueue:Ljava/lang/ref/ReferenceQueue;
-Ljava/lang/Thread$ParkState;
-Ljava/lang/Thread$ParkState;-><init>()V
-Ljava/lang/Thread$ParkState;->PARKED:I
-Ljava/lang/Thread$ParkState;->PREEMPTIVELY_UNPARKED:I
-Ljava/lang/Thread$ParkState;->UNPARKED:I
-Ljava/lang/Thread$State;-><init>()V
-Ljava/lang/Thread$WeakClassKey;
-Ljava/lang/Thread$WeakClassKey;-><init>(Ljava/lang/Class;Ljava/lang/ref/ReferenceQueue;)V
-Ljava/lang/Thread$WeakClassKey;->hash:I
-Ljava/lang/Thread;->auditSubclass(Ljava/lang/Class;)Z
-Ljava/lang/Thread;->blockedOn(Lsun/nio/ch/Interruptible;)V
-Ljava/lang/Thread;->blocker:Lsun/nio/ch/Interruptible;
-Ljava/lang/Thread;->blockerLock:Ljava/lang/Object;
-Ljava/lang/Thread;->defaultUncaughtExceptionHandler:Ljava/lang/Thread$UncaughtExceptionHandler;
-Ljava/lang/Thread;->eetop:J
-Ljava/lang/Thread;->EMPTY_STACK_TRACE:[Ljava/lang/StackTraceElement;
-Ljava/lang/Thread;->exit()V
-Ljava/lang/Thread;->init(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V
-Ljava/lang/Thread;->init2(Ljava/lang/Thread;)V
-Ljava/lang/Thread;->isCCLOverridden(Ljava/lang/Class;)Z
-Ljava/lang/Thread;->NANOS_PER_MILLI:I
-Ljava/lang/Thread;->nativeCreate(Ljava/lang/Thread;JZ)V
-Ljava/lang/Thread;->nativeGetStatus(Z)I
-Ljava/lang/Thread;->nativeHoldsLock(Ljava/lang/Object;)Z
-Ljava/lang/Thread;->nativeInterrupt()V
-Ljava/lang/Thread;->nativeParkEventPointer:J
-Ljava/lang/Thread;->nativeSetName(Ljava/lang/String;)V
-Ljava/lang/Thread;->nativeSetPriority(I)V
-Ljava/lang/Thread;->nextThreadID()J
-Ljava/lang/Thread;->nextThreadNum()I
-Ljava/lang/Thread;->parkFor$(J)V
-Ljava/lang/Thread;->parkState:I
-Ljava/lang/Thread;->parkUntil$(J)V
-Ljava/lang/Thread;->processQueue(Ljava/lang/ref/ReferenceQueue;Ljava/util/concurrent/ConcurrentMap;)V
-Ljava/lang/Thread;->setUncaughtExceptionPreHandler(Ljava/lang/Thread$UncaughtExceptionHandler;)V
-Ljava/lang/Thread;->single_step:Z
-Ljava/lang/Thread;->sleep(Ljava/lang/Object;JI)V
-Ljava/lang/Thread;->stackSize:J
-Ljava/lang/Thread;->started:Z
-Ljava/lang/Thread;->stillborn:Z
-Ljava/lang/Thread;->SUBCLASS_IMPLEMENTATION_PERMISSION:Ljava/lang/RuntimePermission;
-Ljava/lang/Thread;->threadInitNumber:I
-Ljava/lang/Thread;->threadLocalRandomProbe:I
-Ljava/lang/Thread;->threadLocalRandomSecondarySeed:I
-Ljava/lang/Thread;->threadLocalRandomSeed:J
-Ljava/lang/Thread;->threadQ:Ljava/lang/Thread;
-Ljava/lang/Thread;->threadStatus:I
-Ljava/lang/Thread;->tid:J
-Ljava/lang/Thread;->uncaughtExceptionHandler:Ljava/lang/Thread$UncaughtExceptionHandler;
-Ljava/lang/Thread;->uncaughtExceptionPreHandler:Ljava/lang/Thread$UncaughtExceptionHandler;
-Ljava/lang/Thread;->unpark$()V
-Ljava/lang/ThreadGroup;-><init>()V
-Ljava/lang/ThreadGroup;-><init>(Ljava/lang/Void;Ljava/lang/ThreadGroup;Ljava/lang/String;)V
-Ljava/lang/ThreadGroup;->add(Ljava/lang/ThreadGroup;)V
-Ljava/lang/ThreadGroup;->addUnstarted()V
-Ljava/lang/ThreadGroup;->checkParentAccess(Ljava/lang/ThreadGroup;)Ljava/lang/Void;
-Ljava/lang/ThreadGroup;->daemon:Z
-Ljava/lang/ThreadGroup;->destroyed:Z
-Ljava/lang/ThreadGroup;->enumerate([Ljava/lang/Thread;IZ)I
-Ljava/lang/ThreadGroup;->enumerate([Ljava/lang/ThreadGroup;IZ)I
-Ljava/lang/ThreadGroup;->list(Ljava/io/PrintStream;I)V
-Ljava/lang/ThreadGroup;->maxPriority:I
-Ljava/lang/ThreadGroup;->nthreads:I
-Ljava/lang/ThreadGroup;->nUnstartedThreads:I
-Ljava/lang/ThreadGroup;->remove(Ljava/lang/Thread;)V
-Ljava/lang/ThreadGroup;->remove(Ljava/lang/ThreadGroup;)V
-Ljava/lang/ThreadGroup;->stopOrSuspend(Z)Z
-Ljava/lang/ThreadGroup;->threads:[Ljava/lang/Thread;
-Ljava/lang/ThreadGroup;->threadStartFailed(Ljava/lang/Thread;)V
-Ljava/lang/ThreadGroup;->vmAllowSuspension:Z
-Ljava/lang/ThreadLocal$SuppliedThreadLocal;
-Ljava/lang/ThreadLocal$SuppliedThreadLocal;-><init>(Ljava/util/function/Supplier;)V
-Ljava/lang/ThreadLocal$SuppliedThreadLocal;->supplier:Ljava/util/function/Supplier;
-Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;
-Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;-><init>(Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
-Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;->value:Ljava/lang/Object;
-Ljava/lang/ThreadLocal$ThreadLocalMap;
-Ljava/lang/ThreadLocal$ThreadLocalMap;-><init>(Ljava/lang/ThreadLocal$ThreadLocalMap;)V
-Ljava/lang/ThreadLocal$ThreadLocalMap;-><init>(Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
-Ljava/lang/ThreadLocal$ThreadLocalMap;->cleanSomeSlots(II)Z
-Ljava/lang/ThreadLocal$ThreadLocalMap;->expungeStaleEntries()V
-Ljava/lang/ThreadLocal$ThreadLocalMap;->expungeStaleEntry(I)I
-Ljava/lang/ThreadLocal$ThreadLocalMap;->getEntry(Ljava/lang/ThreadLocal;)Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;
-Ljava/lang/ThreadLocal$ThreadLocalMap;->getEntryAfterMiss(Ljava/lang/ThreadLocal;ILjava/lang/ThreadLocal$ThreadLocalMap$Entry;)Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;
-Ljava/lang/ThreadLocal$ThreadLocalMap;->INITIAL_CAPACITY:I
-Ljava/lang/ThreadLocal$ThreadLocalMap;->nextIndex(II)I
-Ljava/lang/ThreadLocal$ThreadLocalMap;->prevIndex(II)I
-Ljava/lang/ThreadLocal$ThreadLocalMap;->rehash()V
-Ljava/lang/ThreadLocal$ThreadLocalMap;->remove(Ljava/lang/ThreadLocal;)V
-Ljava/lang/ThreadLocal$ThreadLocalMap;->replaceStaleEntry(Ljava/lang/ThreadLocal;Ljava/lang/Object;I)V
-Ljava/lang/ThreadLocal$ThreadLocalMap;->resize()V
-Ljava/lang/ThreadLocal$ThreadLocalMap;->set(Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
-Ljava/lang/ThreadLocal$ThreadLocalMap;->setThreshold(I)V
-Ljava/lang/ThreadLocal$ThreadLocalMap;->size:I
-Ljava/lang/ThreadLocal$ThreadLocalMap;->table:[Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;
-Ljava/lang/ThreadLocal$ThreadLocalMap;->threshold:I
-Ljava/lang/ThreadLocal;->childValue(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/lang/ThreadLocal;->createInheritedMap(Ljava/lang/ThreadLocal$ThreadLocalMap;)Ljava/lang/ThreadLocal$ThreadLocalMap;
-Ljava/lang/ThreadLocal;->createMap(Ljava/lang/Thread;Ljava/lang/Object;)V
-Ljava/lang/ThreadLocal;->HASH_INCREMENT:I
-Ljava/lang/ThreadLocal;->nextHashCode()I
-Ljava/lang/ThreadLocal;->nextHashCode:Ljava/util/concurrent/atomic/AtomicInteger;
-Ljava/lang/ThreadLocal;->setInitialValue()Ljava/lang/Object;
-Ljava/lang/ThreadLocal;->threadLocalHashCode:I
-Ljava/lang/Throwable$PrintStreamOrWriter;
-Ljava/lang/Throwable$PrintStreamOrWriter;-><init>()V
-Ljava/lang/Throwable$PrintStreamOrWriter;->lock()Ljava/lang/Object;
-Ljava/lang/Throwable$PrintStreamOrWriter;->println(Ljava/lang/Object;)V
-Ljava/lang/Throwable$SentinelHolder;
-Ljava/lang/Throwable$SentinelHolder;-><init>()V
-Ljava/lang/Throwable$SentinelHolder;->STACK_TRACE_ELEMENT_SENTINEL:Ljava/lang/StackTraceElement;
-Ljava/lang/Throwable$SentinelHolder;->STACK_TRACE_SENTINEL:[Ljava/lang/StackTraceElement;
-Ljava/lang/Throwable$WrappedPrintStream;
-Ljava/lang/Throwable$WrappedPrintStream;-><init>(Ljava/io/PrintStream;)V
-Ljava/lang/Throwable$WrappedPrintStream;->lock()Ljava/lang/Object;
-Ljava/lang/Throwable$WrappedPrintStream;->println(Ljava/lang/Object;)V
-Ljava/lang/Throwable$WrappedPrintStream;->printStream:Ljava/io/PrintStream;
-Ljava/lang/Throwable$WrappedPrintWriter;
-Ljava/lang/Throwable$WrappedPrintWriter;-><init>(Ljava/io/PrintWriter;)V
-Ljava/lang/Throwable$WrappedPrintWriter;->lock()Ljava/lang/Object;
-Ljava/lang/Throwable$WrappedPrintWriter;->println(Ljava/lang/Object;)V
-Ljava/lang/Throwable$WrappedPrintWriter;->printWriter:Ljava/io/PrintWriter;
-Ljava/lang/Throwable;->CAUSE_CAPTION:Ljava/lang/String;
-Ljava/lang/Throwable;->EMPTY_THROWABLE_ARRAY:[Ljava/lang/Throwable;
-Ljava/lang/Throwable;->nativeGetStackTrace(Ljava/lang/Object;)[Ljava/lang/StackTraceElement;
-Ljava/lang/Throwable;->NULL_CAUSE_MESSAGE:Ljava/lang/String;
-Ljava/lang/Throwable;->printEnclosedStackTrace(Ljava/lang/Throwable$PrintStreamOrWriter;[Ljava/lang/StackTraceElement;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
-Ljava/lang/Throwable;->SELF_SUPPRESSION_MESSAGE:Ljava/lang/String;
-Ljava/lang/Throwable;->SUPPRESSED_CAPTION:Ljava/lang/String;
-Ljava/lang/TypeNotPresentException;->typeName:Ljava/lang/String;
-Ljava/math/BigDecimal;-><init>(II)V
-Ljava/math/BigDecimal;-><init>(JI)V
-Ljava/math/BigDecimal;->addAndMult10(Ljava/math/BigDecimal;Ljava/math/BigDecimal;I)Ljava/math/BigDecimal;
-Ljava/math/BigDecimal;->approxPrecision()I
-Ljava/math/BigDecimal;->bitLength(I)I
-Ljava/math/BigDecimal;->bitLength(J)I
-Ljava/math/BigDecimal;->bitLength:I
-Ljava/math/BigDecimal;->BI_SCALED_BY_ZERO:[Ljava/math/BigDecimal;
-Ljava/math/BigDecimal;->BI_SCALED_BY_ZERO_LENGTH:I
-Ljava/math/BigDecimal;->CH_ZEROS:[C
-Ljava/math/BigDecimal;->compareAbsoluteValues(JJ)I
-Ljava/math/BigDecimal;->compareForRounding(JJ)I
-Ljava/math/BigDecimal;->decimalDigitsInLong(J)I
-Ljava/math/BigDecimal;->divideBigIntegers(Ljava/math/BigInteger;Ljava/math/BigInteger;ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
-Ljava/math/BigDecimal;->dividePrimitiveLongs(JJILjava/math/RoundingMode;)Ljava/math/BigDecimal;
-Ljava/math/BigDecimal;->FIVE_POW:[Ljava/math/BigInteger;
-Ljava/math/BigDecimal;->getUnscaledValue()Ljava/math/BigInteger;
-Ljava/math/BigDecimal;->hashCode:I
-Ljava/math/BigDecimal;->inplaceRound(Ljava/math/MathContext;)V
-Ljava/math/BigDecimal;->intVal:Ljava/math/BigInteger;
-Ljava/math/BigDecimal;->isZero()Z
-Ljava/math/BigDecimal;->LOG10_2:D
-Ljava/math/BigDecimal;->LONG_FIVE_POW:[J
-Ljava/math/BigDecimal;->LONG_FIVE_POW_BIT_LENGTH:[I
-Ljava/math/BigDecimal;->LONG_POWERS_OF_TEN_BIT_LENGTH:[I
-Ljava/math/BigDecimal;->movePoint(J)Ljava/math/BigDecimal;
-Ljava/math/BigDecimal;->precision:I
-Ljava/math/BigDecimal;->roundingBehavior(IILjava/math/RoundingMode;)I
-Ljava/math/BigDecimal;->safeLongToInt(J)I
-Ljava/math/BigDecimal;->scale:I
-Ljava/math/BigDecimal;->setUnscaledValue(Ljava/math/BigInteger;)V
-Ljava/math/BigDecimal;->smallRound(Ljava/math/MathContext;I)V
-Ljava/math/BigDecimal;->smallValue:J
-Ljava/math/BigDecimal;->TEN_POW:[Ljava/math/BigInteger;
-Ljava/math/BigDecimal;->toStringImage:Ljava/lang/String;
-Ljava/math/BigDecimal;->valueExact(I)J
-Ljava/math/BigDecimal;->zeroScaledBy(J)Ljava/math/BigDecimal;
-Ljava/math/BigDecimal;->ZERO_SCALED_BY:[Ljava/math/BigDecimal;
-Ljava/math/BigInt;
-Ljava/math/BigInt;-><init>()V
-Ljava/math/BigInt;->add(Ljava/math/BigInt;)V
-Ljava/math/BigInt;->addition(Ljava/math/BigInt;Ljava/math/BigInt;)Ljava/math/BigInt;
-Ljava/math/BigInt;->addPositiveInt(I)V
-Ljava/math/BigInt;->bigEndianMagnitude()[B
-Ljava/math/BigInt;->bigExp(Ljava/math/BigInt;Ljava/math/BigInt;)Ljava/math/BigInt;
-Ljava/math/BigInt;->bignum:J
-Ljava/math/BigInt;->bitLength()I
-Ljava/math/BigInt;->checkString(Ljava/lang/String;I)Ljava/lang/String;
-Ljava/math/BigInt;->cmp(Ljava/math/BigInt;Ljava/math/BigInt;)I
-Ljava/math/BigInt;->copy()Ljava/math/BigInt;
-Ljava/math/BigInt;->decString()Ljava/lang/String;
-Ljava/math/BigInt;->division(Ljava/math/BigInt;Ljava/math/BigInt;Ljava/math/BigInt;Ljava/math/BigInt;)V
-Ljava/math/BigInt;->exp(Ljava/math/BigInt;I)Ljava/math/BigInt;
-Ljava/math/BigInt;->gcd(Ljava/math/BigInt;Ljava/math/BigInt;)Ljava/math/BigInt;
-Ljava/math/BigInt;->generatePrimeDefault(I)Ljava/math/BigInt;
-Ljava/math/BigInt;->hasNativeBignum()Z
-Ljava/math/BigInt;->hexString()Ljava/lang/String;
-Ljava/math/BigInt;->invalidBigInteger(Ljava/lang/String;)Ljava/lang/NumberFormatException;
-Ljava/math/BigInt;->isBitSet(I)Z
-Ljava/math/BigInt;->isPrime(I)Z
-Ljava/math/BigInt;->littleEndianIntsMagnitude()[I
-Ljava/math/BigInt;->longInt()J
-Ljava/math/BigInt;->makeValid()V
-Ljava/math/BigInt;->modExp(Ljava/math/BigInt;Ljava/math/BigInt;Ljava/math/BigInt;)Ljava/math/BigInt;
-Ljava/math/BigInt;->modInverse(Ljava/math/BigInt;Ljava/math/BigInt;)Ljava/math/BigInt;
-Ljava/math/BigInt;->modulus(Ljava/math/BigInt;Ljava/math/BigInt;)Ljava/math/BigInt;
-Ljava/math/BigInt;->multiplyByPositiveInt(I)V
-Ljava/math/BigInt;->newBigInt()Ljava/math/BigInt;
-Ljava/math/BigInt;->product(Ljava/math/BigInt;Ljava/math/BigInt;)Ljava/math/BigInt;
-Ljava/math/BigInt;->putBigEndian([BZ)V
-Ljava/math/BigInt;->putBigEndianTwosComplement([B)V
-Ljava/math/BigInt;->putCopy(Ljava/math/BigInt;)V
-Ljava/math/BigInt;->putDecString(Ljava/lang/String;)V
-Ljava/math/BigInt;->putHexString(Ljava/lang/String;)V
-Ljava/math/BigInt;->putLittleEndianInts([IZ)V
-Ljava/math/BigInt;->putLongInt(J)V
-Ljava/math/BigInt;->putULongInt(JZ)V
-Ljava/math/BigInt;->registry:Llibcore/util/NativeAllocationRegistry;
-Ljava/math/BigInt;->remainderByPositiveInt(Ljava/math/BigInt;I)I
-Ljava/math/BigInt;->setSign(I)V
-Ljava/math/BigInt;->shift(I)V
-Ljava/math/BigInt;->shift(Ljava/math/BigInt;I)Ljava/math/BigInt;
-Ljava/math/BigInt;->sign()I
-Ljava/math/BigInt;->subtraction(Ljava/math/BigInt;Ljava/math/BigInt;)Ljava/math/BigInt;
-Ljava/math/BigInt;->toAscii(Ljava/lang/String;I)Ljava/lang/String;
-Ljava/math/BigInt;->twosCompFitsIntoBytes(I)Z
-Ljava/math/BigInteger;-><init>(II[I)V
-Ljava/math/BigInteger;-><init>(IJ)V
-Ljava/math/BigInteger;-><init>(Ljava/math/BigInt;)V
-Ljava/math/BigInteger;->bigInt:Ljava/math/BigInt;
-Ljava/math/BigInteger;->copy()Ljava/math/BigInteger;
-Ljava/math/BigInteger;->digits:[I
-Ljava/math/BigInteger;->firstNonzeroDigit:I
-Ljava/math/BigInteger;->getBigInt()Ljava/math/BigInt;
-Ljava/math/BigInteger;->getFirstNonzeroDigit()I
-Ljava/math/BigInteger;->hashCode:I
-Ljava/math/BigInteger;->inplaceAdd([III)I
-Ljava/math/BigInteger;->isSmallPrime(I)Z
-Ljava/math/BigInteger;->javaIsValid:Z
-Ljava/math/BigInteger;->magnitude:[B
-Ljava/math/BigInteger;->MINUS_ONE:Ljava/math/BigInteger;
-Ljava/math/BigInteger;->multiplyByInt([I[III)I
-Ljava/math/BigInteger;->nativeIsValid:Z
-Ljava/math/BigInteger;->numberLength:I
-Ljava/math/BigInteger;->parseFromString(Ljava/math/BigInteger;Ljava/lang/String;I)V
-Ljava/math/BigInteger;->prepareJavaRepresentation()V
-Ljava/math/BigInteger;->setBigInt(Ljava/math/BigInt;)V
-Ljava/math/BigInteger;->setJavaRepresentation(II[I)V
-Ljava/math/BigInteger;->shiftLeftOneBit()Ljava/math/BigInteger;
-Ljava/math/BigInteger;->sign:I
-Ljava/math/BigInteger;->signum:I
-Ljava/math/BigInteger;->SMALL_VALUES:[Ljava/math/BigInteger;
-Ljava/math/BigInteger;->twosComplement()[B
-Ljava/math/MathContext;->checkValid()V
-Ljava/math/MathContext;->invalidMathContext(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/IllegalArgumentException;
-Ljava/math/MathContext;->precision:I
-Ljava/math/MathContext;->roundingMode:Ljava/math/RoundingMode;
-Ljava/math/RoundingMode;-><init>(I)V
-Ljava/math/RoundingMode;->bigDecimalRM:I
-Ljava/net/Authenticator$RequestorType;-><init>()V
-Ljava/net/Authenticator;->requestingAuthType:Ljava/net/Authenticator$RequestorType;
-Ljava/net/Authenticator;->requestingHost:Ljava/lang/String;
-Ljava/net/Authenticator;->requestingPort:I
-Ljava/net/Authenticator;->requestingPrompt:Ljava/lang/String;
-Ljava/net/Authenticator;->requestingProtocol:Ljava/lang/String;
-Ljava/net/Authenticator;->requestingScheme:Ljava/lang/String;
-Ljava/net/Authenticator;->requestingSite:Ljava/net/InetAddress;
-Ljava/net/Authenticator;->requestingURL:Ljava/net/URL;
-Ljava/net/Authenticator;->reset()V
-Ljava/net/BindException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-Ljava/net/ConnectException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-Ljava/net/CookieHandler;->cookieHandler:Ljava/net/CookieHandler;
-Ljava/net/CookieManager$CookiePathComparator;
-Ljava/net/CookieManager$CookiePathComparator;-><init>()V
-Ljava/net/CookieManager$CookiePathComparator;->compare(Ljava/net/HttpCookie;Ljava/net/HttpCookie;)I
-Ljava/net/CookieManager;->cookieJar:Ljava/net/CookieStore;
-Ljava/net/CookieManager;->isInPortList(Ljava/lang/String;I)Z
-Ljava/net/CookieManager;->normalizePath(Ljava/lang/String;)Ljava/lang/String;
-Ljava/net/CookieManager;->pathMatches(Ljava/net/URI;Ljava/net/HttpCookie;)Z
-Ljava/net/CookieManager;->policyCallback:Ljava/net/CookiePolicy;
-Ljava/net/CookieManager;->shouldAcceptInternal(Ljava/net/URI;Ljava/net/HttpCookie;)Z
-Ljava/net/CookieManager;->sortByPath(Ljava/util/List;)Ljava/util/List;
-Ljava/net/DatagramPacket;->address:Ljava/net/InetAddress;
-Ljava/net/DatagramPacket;->buf:[B
-Ljava/net/DatagramPacket;->bufLength:I
-Ljava/net/DatagramPacket;->length:I
-Ljava/net/DatagramPacket;->offset:I
-Ljava/net/DatagramPacket;->port:I
-Ljava/net/DatagramPacket;->setReceivedLength(I)V
-Ljava/net/DatagramSocket;->bound:Z
-Ljava/net/DatagramSocket;->bytesLeftToFilter:I
-Ljava/net/DatagramSocket;->checkAddress(Ljava/net/InetAddress;Ljava/lang/String;)V
-Ljava/net/DatagramSocket;->checkFiltering(Ljava/net/DatagramPacket;)Z
-Ljava/net/DatagramSocket;->checkOldImpl()V
-Ljava/net/DatagramSocket;->closed:Z
-Ljava/net/DatagramSocket;->closeLock:Ljava/lang/Object;
-Ljava/net/DatagramSocket;->connectedAddress:Ljava/net/InetAddress;
-Ljava/net/DatagramSocket;->connectedPort:I
-Ljava/net/DatagramSocket;->connectInternal(Ljava/net/InetAddress;I)V
-Ljava/net/DatagramSocket;->connectState:I
-Ljava/net/DatagramSocket;->created:Z
-Ljava/net/DatagramSocket;->createImpl()V
-Ljava/net/DatagramSocket;->explicitFilter:Z
-Ljava/net/DatagramSocket;->factory:Ljava/net/DatagramSocketImplFactory;
-Ljava/net/DatagramSocket;->getImpl()Ljava/net/DatagramSocketImpl;
-Ljava/net/DatagramSocket;->implClass:Ljava/lang/Class;
-Ljava/net/DatagramSocket;->oldImpl:Z
-Ljava/net/DatagramSocket;->pendingConnectException:Ljava/net/SocketException;
-Ljava/net/DatagramSocket;->ST_CONNECTED:I
-Ljava/net/DatagramSocket;->ST_CONNECTED_NO_IMPL:I
-Ljava/net/DatagramSocket;->ST_NOT_CONNECTED:I
-Ljava/net/DatagramSocketImpl;->dataAvailable()I
-Ljava/net/DatagramSocketImpl;->getDatagramSocket()Ljava/net/DatagramSocket;
-Ljava/net/DatagramSocketImpl;->getOption(Ljava/net/SocketOption;)Ljava/lang/Object;
-Ljava/net/DatagramSocketImpl;->setDatagramSocket(Ljava/net/DatagramSocket;)V
-Ljava/net/DatagramSocketImpl;->setOption(Ljava/net/SocketOption;Ljava/lang/Object;)V
-Ljava/net/DatagramSocketImpl;->socket:Ljava/net/DatagramSocket;
-Ljava/net/HttpCookie$CookieAttributeAssignor;
-Ljava/net/HttpCookie$CookieAttributeAssignor;->assign(Ljava/net/HttpCookie;Ljava/lang/String;Ljava/lang/String;)V
-Ljava/net/HttpCookie;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Ljava/net/HttpCookie;->assignAttribute(Ljava/net/HttpCookie;Ljava/lang/String;Ljava/lang/String;)V
-Ljava/net/HttpCookie;->equalsIgnoreCase(Ljava/lang/String;Ljava/lang/String;)Z
-Ljava/net/HttpCookie;->GMT:Ljava/util/TimeZone;
-Ljava/net/HttpCookie;->guessCookieVersion(Ljava/lang/String;)I
-Ljava/net/HttpCookie;->header()Ljava/lang/String;
-Ljava/net/HttpCookie;->isFullyQualifiedDomainName(Ljava/lang/String;I)Z
-Ljava/net/HttpCookie;->isToken(Ljava/lang/String;)Z
-Ljava/net/HttpCookie;->MAX_AGE_UNSPECIFIED:J
-Ljava/net/HttpCookie;->parse(Ljava/lang/String;Z)Ljava/util/List;
-Ljava/net/HttpCookie;->parseInternal(Ljava/lang/String;Z)Ljava/net/HttpCookie;
-Ljava/net/HttpCookie;->RESERVED_NAMES:Ljava/util/Set;
-Ljava/net/HttpCookie;->SET_COOKIE2:Ljava/lang/String;
-Ljava/net/HttpCookie;->SET_COOKIE:Ljava/lang/String;
-Ljava/net/HttpCookie;->splitMultiCookies(Ljava/lang/String;)Ljava/util/List;
-Ljava/net/HttpCookie;->startsWithIgnoreCase(Ljava/lang/String;Ljava/lang/String;)Z
-Ljava/net/HttpCookie;->stripOffSurroundingQuote(Ljava/lang/String;)Ljava/lang/String;
-Ljava/net/HttpCookie;->toNetscapeHeaderString()Ljava/lang/String;
-Ljava/net/HttpCookie;->toRFC2965HeaderString()Ljava/lang/String;
-Ljava/net/HttpRetryException;->location:Ljava/lang/String;
-Ljava/net/HttpRetryException;->responseCode:I
-Ljava/net/HttpURLConnection;->DEFAULT_CHUNK_SIZE:I
-Ljava/net/HttpURLConnection;->followRedirects:Z
-Ljava/net/HttpURLConnection;->methods:[Ljava/lang/String;
-Ljava/net/IDN;-><init>()V
-Ljava/net/IDN;->convertFullStop(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
-Ljava/net/IDN;->isLabelSeperator(C)Z
-Ljava/net/Inet4Address;-><init>(Ljava/lang/String;I)V
-Ljava/net/Inet4Address;-><init>(Ljava/lang/String;[B)V
-Ljava/net/Inet4Address;->INADDRSZ:I
-Ljava/net/Inet4Address;->LOOPBACK:Ljava/net/InetAddress;
-Ljava/net/Inet4Address;->numericToTextFormat([B)Ljava/lang/String;
-Ljava/net/Inet6Address$Inet6AddressHolder;
-Ljava/net/Inet6Address$Inet6AddressHolder;-><init>()V
-Ljava/net/Inet6Address$Inet6AddressHolder;-><init>([BIZLjava/net/NetworkInterface;Z)V
-Ljava/net/Inet6Address$Inet6AddressHolder;->init([BI)V
-Ljava/net/Inet6Address$Inet6AddressHolder;->init([BLjava/net/NetworkInterface;)V
-Ljava/net/Inet6Address$Inet6AddressHolder;->isAnyLocalAddress()Z
-Ljava/net/Inet6Address$Inet6AddressHolder;->isIPv4CompatibleAddress()Z
-Ljava/net/Inet6Address$Inet6AddressHolder;->isLinkLocalAddress()Z
-Ljava/net/Inet6Address$Inet6AddressHolder;->isLoopbackAddress()Z
-Ljava/net/Inet6Address$Inet6AddressHolder;->isMCGlobal()Z
-Ljava/net/Inet6Address$Inet6AddressHolder;->isMCLinkLocal()Z
-Ljava/net/Inet6Address$Inet6AddressHolder;->isMCNodeLocal()Z
-Ljava/net/Inet6Address$Inet6AddressHolder;->isMCOrgLocal()Z
-Ljava/net/Inet6Address$Inet6AddressHolder;->isMCSiteLocal()Z
-Ljava/net/Inet6Address$Inet6AddressHolder;->isMulticastAddress()Z
-Ljava/net/Inet6Address$Inet6AddressHolder;->isSiteLocalAddress()Z
-Ljava/net/Inet6Address$Inet6AddressHolder;->scope_ifname_set:Z
-Ljava/net/Inet6Address$Inet6AddressHolder;->setAddr([B)V
-Ljava/net/Inet6Address;-><init>(Ljava/lang/String;[B)V
-Ljava/net/Inet6Address;-><init>(Ljava/lang/String;[BI)V
-Ljava/net/Inet6Address;-><init>(Ljava/lang/String;[BLjava/lang/String;)V
-Ljava/net/Inet6Address;-><init>(Ljava/lang/String;[BLjava/net/NetworkInterface;)V
-Ljava/net/Inet6Address;->deriveNumericScope(Ljava/lang/String;)I
-Ljava/net/Inet6Address;->deriveNumericScope([BLjava/net/NetworkInterface;)I
-Ljava/net/Inet6Address;->FIELDS_OFFSET:J
-Ljava/net/Inet6Address;->INADDRSZ:I
-Ljava/net/Inet6Address;->initif(Ljava/lang/String;[BLjava/net/NetworkInterface;)V
-Ljava/net/Inet6Address;->initstr(Ljava/lang/String;[BLjava/lang/String;)V
-Ljava/net/Inet6Address;->INT16SZ:I
-Ljava/net/Inet6Address;->isDifferentLocalAddressType([B[B)Z
-Ljava/net/Inet6Address;->isLinkLocalAddress([B)Z
-Ljava/net/Inet6Address;->isSiteLocalAddress([B)Z
-Ljava/net/Inet6Address;->LOOPBACK:Ljava/net/InetAddress;
-Ljava/net/Inet6Address;->numericToTextFormat([B)Ljava/lang/String;
-Ljava/net/Inet6Address;->UNSAFE:Lsun/misc/Unsafe;
-Ljava/net/InetAddress$InetAddressHolder;
-Ljava/net/InetAddress$InetAddressHolder;-><init>()V
-Ljava/net/InetAddress$InetAddressHolder;-><init>(Ljava/lang/String;II)V
-Ljava/net/InetAddress$InetAddressHolder;->getAddress()I
-Ljava/net/InetAddress$InetAddressHolder;->getFamily()I
-Ljava/net/InetAddress$InetAddressHolder;->getHostName()Ljava/lang/String;
-Ljava/net/InetAddress$InetAddressHolder;->getOriginalHostName()Ljava/lang/String;
-Ljava/net/InetAddress$InetAddressHolder;->init(Ljava/lang/String;I)V
-Ljava/net/InetAddress;-><init>()V
-Ljava/net/InetAddress;->anyLocalAddress()Ljava/net/InetAddress;
-Ljava/net/InetAddress;->BOOT_CLASSLOADER:Ljava/lang/ClassLoader;
-Ljava/net/InetAddress;->canonicalHostName:Ljava/lang/String;
-Ljava/net/InetAddress;->disallowDeprecatedFormats(Ljava/lang/String;Ljava/net/InetAddress;)Ljava/net/InetAddress;
-Ljava/net/InetAddress;->getAllByName0(Ljava/lang/String;Z)[Ljava/net/InetAddress;
-Ljava/net/InetAddress;->getByAddress(Ljava/lang/String;[BI)Ljava/net/InetAddress;
-Ljava/net/InetAddress;->getByNameOnNet(Ljava/lang/String;I)Ljava/net/InetAddress;
-Ljava/net/InetAddress;->getHostFromNameService(Ljava/net/InetAddress;)Ljava/lang/String;
-Ljava/net/InetAddress;->getHostName(Z)Ljava/lang/String;
-Ljava/net/InetAddress;->impl:Ljava/net/InetAddressImpl;
-Ljava/net/InetAddress;->isReachableByICMP(I)Z
-Ljava/net/InetAddress;->nameService:Lsun/net/spi/nameservice/NameService;
-Ljava/net/InetAddress;->NETID_UNSET:I
-Ljava/net/InetAddress;->parseNumericAddressNoThrow(Ljava/lang/String;)Ljava/net/InetAddress;
-Ljava/net/InetAddress;->readObjectNoData(Ljava/io/ObjectInputStream;)V
-Ljava/net/InetAddressImpl;
-Ljava/net/InetAddressImpl;->anyLocalAddress()Ljava/net/InetAddress;
-Ljava/net/InetAddressImpl;->clearAddressCache()V
-Ljava/net/InetAddressImpl;->getHostByAddr([B)Ljava/lang/String;
-Ljava/net/InetAddressImpl;->isReachable(Ljava/net/InetAddress;ILjava/net/NetworkInterface;I)Z
-Ljava/net/InetAddressImpl;->lookupAllHostAddr(Ljava/lang/String;I)[Ljava/net/InetAddress;
-Ljava/net/InetAddressImpl;->loopbackAddresses()[Ljava/net/InetAddress;
-Ljava/net/InetSocketAddress$InetSocketAddressHolder;
-Ljava/net/InetSocketAddress$InetSocketAddressHolder;-><init>(Ljava/lang/String;Ljava/net/InetAddress;I)V
-Ljava/net/InetSocketAddress$InetSocketAddressHolder;->addr:Ljava/net/InetAddress;
-Ljava/net/InetSocketAddress$InetSocketAddressHolder;->getAddress()Ljava/net/InetAddress;
-Ljava/net/InetSocketAddress$InetSocketAddressHolder;->getHostName()Ljava/lang/String;
-Ljava/net/InetSocketAddress$InetSocketAddressHolder;->getHostString()Ljava/lang/String;
-Ljava/net/InetSocketAddress$InetSocketAddressHolder;->getPort()I
-Ljava/net/InetSocketAddress$InetSocketAddressHolder;->hostname:Ljava/lang/String;
-Ljava/net/InetSocketAddress$InetSocketAddressHolder;->isUnresolved()Z
-Ljava/net/InetSocketAddress$InetSocketAddressHolder;->port:I
-Ljava/net/InetSocketAddress;-><init>()V
-Ljava/net/InetSocketAddress;-><init>(ILjava/lang/String;)V
-Ljava/net/InetSocketAddress;->checkHost(Ljava/lang/String;)Ljava/lang/String;
-Ljava/net/InetSocketAddress;->checkPort(I)I
-Ljava/net/InetSocketAddress;->FIELDS_OFFSET:J
-Ljava/net/InetSocketAddress;->UNSAFE:Lsun/misc/Unsafe;
-Ljava/net/InMemoryCookieStore;
-Ljava/net/InMemoryCookieStore;-><init>()V
-Ljava/net/InMemoryCookieStore;-><init>(I)V
-Ljava/net/InMemoryCookieStore;->addIndex(Ljava/util/Map;Ljava/lang/Object;Ljava/net/HttpCookie;)V
-Ljava/net/InMemoryCookieStore;->applyMCompatibility:Z
-Ljava/net/InMemoryCookieStore;->getEffectiveURI(Ljava/net/URI;)Ljava/net/URI;
-Ljava/net/InMemoryCookieStore;->getInternal1(Ljava/util/List;Ljava/util/Map;Ljava/lang/String;)V
-Ljava/net/InMemoryCookieStore;->getInternal2(Ljava/util/List;Ljava/util/Map;Ljava/lang/Comparable;)V
-Ljava/net/InMemoryCookieStore;->lock:Ljava/util/concurrent/locks/ReentrantLock;
-Ljava/net/InMemoryCookieStore;->netscapeDomainMatches(Ljava/lang/String;Ljava/lang/String;)Z
-Ljava/net/InMemoryCookieStore;->uriIndex:Ljava/util/Map;
-Ljava/net/InterfaceAddress;-><init>(Ljava/net/InetAddress;Ljava/net/Inet4Address;Ljava/net/InetAddress;)V
-Ljava/net/InterfaceAddress;->address:Ljava/net/InetAddress;
-Ljava/net/InterfaceAddress;->broadcast:Ljava/net/Inet4Address;
-Ljava/net/InterfaceAddress;->countPrefixLength(Ljava/net/InetAddress;)S
-Ljava/net/InterfaceAddress;->maskLength:S
-Ljava/net/JarURLConnection;->entryName:Ljava/lang/String;
-Ljava/net/JarURLConnection;->jarFileURL:Ljava/net/URL;
-Ljava/net/JarURLConnection;->parseSpecs(Ljava/net/URL;)V
-Ljava/net/MulticastSocket;->infAddress:Ljava/net/InetAddress;
-Ljava/net/MulticastSocket;->infLock:Ljava/lang/Object;
-Ljava/net/MulticastSocket;->interfaceSet:Z
-Ljava/net/MulticastSocket;->ttlLock:Ljava/lang/Object;
-Ljava/net/NetworkInterface;-><init>()V
-Ljava/net/NetworkInterface;-><init>(Ljava/lang/String;I[Ljava/net/InetAddress;)V
-Ljava/net/NetworkInterface;->addrs:[Ljava/net/InetAddress;
-Ljava/net/NetworkInterface;->bindings:[Ljava/net/InterfaceAddress;
-Ljava/net/NetworkInterface;->childs:Ljava/util/List;
-Ljava/net/NetworkInterface;->defaultIndex:I
-Ljava/net/NetworkInterface;->defaultInterface:Ljava/net/NetworkInterface;
-Ljava/net/NetworkInterface;->displayName:Ljava/lang/String;
-Ljava/net/NetworkInterface;->getAll()[Ljava/net/NetworkInterface;
-Ljava/net/NetworkInterface;->getDefault()Ljava/net/NetworkInterface;
-Ljava/net/NetworkInterface;->getFlags()I
-Ljava/net/NetworkInterface;->hardwareAddr:[B
-Ljava/net/NetworkInterface;->index:I
-Ljava/net/NetworkInterface;->name:Ljava/lang/String;
-Ljava/net/NetworkInterface;->parent:Ljava/net/NetworkInterface;
-Ljava/net/NetworkInterface;->virtual:Z
-Ljava/net/PasswordAuthentication;->password:[C
-Ljava/net/PasswordAuthentication;->userName:Ljava/lang/String;
-Ljava/net/PortUnreachableException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-Ljava/net/ProtocolException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-Ljava/net/Proxy$Type;-><init>()V
-Ljava/net/Proxy;->sa:Ljava/net/SocketAddress;
-Ljava/net/Proxy;->type:Ljava/net/Proxy$Type;
-Ljava/net/ProxySelector;->theProxySelector:Ljava/net/ProxySelector;
-Ljava/net/ResponseCache;->theResponseCache:Ljava/net/ResponseCache;
-Ljava/net/ServerSocket;-><init>(Ljava/net/SocketImpl;)V
-Ljava/net/ServerSocket;->bound:Z
-Ljava/net/ServerSocket;->checkOldImpl()V
-Ljava/net/ServerSocket;->closed:Z
-Ljava/net/ServerSocket;->closeLock:Ljava/lang/Object;
-Ljava/net/ServerSocket;->created:Z
-Ljava/net/ServerSocket;->createImpl()V
-Ljava/net/ServerSocket;->getFileDescriptor$()Ljava/io/FileDescriptor;
-Ljava/net/ServerSocket;->getImpl()Ljava/net/SocketImpl;
-Ljava/net/ServerSocket;->impl:Ljava/net/SocketImpl;
-Ljava/net/ServerSocket;->oldImpl:Z
-Ljava/net/ServerSocket;->setBound()V
-Ljava/net/ServerSocket;->setCreated()V
-Ljava/net/ServerSocket;->setImpl()V
-Ljava/net/Socket;-><init>([Ljava/net/InetAddress;ILjava/net/SocketAddress;Z)V
-Ljava/net/Socket;->bound:Z
-Ljava/net/Socket;->checkAddress(Ljava/net/InetAddress;Ljava/lang/String;)V
-Ljava/net/Socket;->checkOldImpl()V
-Ljava/net/Socket;->closed:Z
-Ljava/net/Socket;->closeLock:Ljava/lang/Object;
-Ljava/net/Socket;->connected:Z
-Ljava/net/Socket;->created:Z
-Ljava/net/Socket;->createImpl(Z)V
-Ljava/net/Socket;->getImpl()Ljava/net/SocketImpl;
-Ljava/net/Socket;->nonNullAddress(Ljava/net/InetAddress;)[Ljava/net/InetAddress;
-Ljava/net/Socket;->oldImpl:Z
-Ljava/net/Socket;->postAccept()V
-Ljava/net/Socket;->setBound()V
-Ljava/net/Socket;->setConnected()V
-Ljava/net/Socket;->setCreated()V
-Ljava/net/Socket;->setImpl()V
-Ljava/net/Socket;->shutIn:Z
-Ljava/net/Socket;->shutOut:Z
-Ljava/net/SocketException;-><init>(Ljava/lang/Throwable;)V
-Ljava/net/SocketImpl;->getFD$()Ljava/io/FileDescriptor;
-Ljava/net/SocketImpl;->getOption(Ljava/net/SocketOption;)Ljava/lang/Object;
-Ljava/net/SocketImpl;->getServerSocket()Ljava/net/ServerSocket;
-Ljava/net/SocketImpl;->getSocket()Ljava/net/Socket;
-Ljava/net/SocketImpl;->reset()V
-Ljava/net/SocketImpl;->setOption(Ljava/net/SocketOption;Ljava/lang/Object;)V
-Ljava/net/SocketImpl;->setServerSocket(Ljava/net/ServerSocket;)V
-Ljava/net/SocketImpl;->setSocket(Ljava/net/Socket;)V
-Ljava/net/SocketTimeoutException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-Ljava/net/SocketTimeoutException;-><init>(Ljava/lang/Throwable;)V
-Ljava/net/StandardProtocolFamily;-><init>()V
-Ljava/net/StandardSocketOptions$StdSocketOption;
-Ljava/net/StandardSocketOptions$StdSocketOption;-><init>(Ljava/lang/String;Ljava/lang/Class;)V
-Ljava/net/StandardSocketOptions$StdSocketOption;->name:Ljava/lang/String;
-Ljava/net/StandardSocketOptions$StdSocketOption;->type:Ljava/lang/Class;
-Ljava/net/StandardSocketOptions;-><init>()V
-Ljava/net/URI$Parser;
-Ljava/net/URI$Parser;-><init>(Ljava/lang/String;)V
-Ljava/net/URI$Parser;->at(IIC)Z
-Ljava/net/URI$Parser;->at(IILjava/lang/String;)Z
-Ljava/net/URI$Parser;->charAt(I)C
-Ljava/net/URI$Parser;->checkChar(IJJLjava/lang/String;)V
-Ljava/net/URI$Parser;->checkChars(IIJJLjava/lang/String;)V
-Ljava/net/URI$Parser;->fail(Ljava/lang/String;)V
-Ljava/net/URI$Parser;->fail(Ljava/lang/String;I)V
-Ljava/net/URI$Parser;->failExpecting(Ljava/lang/String;I)V
-Ljava/net/URI$Parser;->failExpecting(Ljava/lang/String;Ljava/lang/String;I)V
-Ljava/net/URI$Parser;->input:Ljava/lang/String;
-Ljava/net/URI$Parser;->ipv6byteCount:I
-Ljava/net/URI$Parser;->parse(Z)V
-Ljava/net/URI$Parser;->parseAuthority(II)I
-Ljava/net/URI$Parser;->parseHierarchical(II)I
-Ljava/net/URI$Parser;->parseHostname(II)I
-Ljava/net/URI$Parser;->parseIPv4Address(II)I
-Ljava/net/URI$Parser;->parseIPv6Reference(II)I
-Ljava/net/URI$Parser;->parseServer(II)I
-Ljava/net/URI$Parser;->requireServerAuthority:Z
-Ljava/net/URI$Parser;->scan(IIC)I
-Ljava/net/URI$Parser;->scan(IIJJ)I
-Ljava/net/URI$Parser;->scan(IILjava/lang/String;Ljava/lang/String;)I
-Ljava/net/URI$Parser;->scanByte(II)I
-Ljava/net/URI$Parser;->scanEscape(IIC)I
-Ljava/net/URI$Parser;->scanHexPost(II)I
-Ljava/net/URI$Parser;->scanHexSeq(II)I
-Ljava/net/URI$Parser;->scanIPv4Address(IIZ)I
-Ljava/net/URI$Parser;->substring(II)Ljava/lang/String;
-Ljava/net/URI$Parser;->takeIPv4Address(IILjava/lang/String;)I
-Ljava/net/URI;-><init>()V
-Ljava/net/URI;->appendAuthority(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
-Ljava/net/URI;->appendEncoded(Ljava/lang/StringBuffer;C)V
-Ljava/net/URI;->appendEscape(Ljava/lang/StringBuffer;B)V
-Ljava/net/URI;->appendFragment(Ljava/lang/StringBuffer;Ljava/lang/String;)V
-Ljava/net/URI;->appendSchemeSpecificPart(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
-Ljava/net/URI;->authority:Ljava/lang/String;
-Ljava/net/URI;->checkPath(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Ljava/net/URI;->compare(Ljava/lang/String;Ljava/lang/String;)I
-Ljava/net/URI;->compareIgnoringCase(Ljava/lang/String;Ljava/lang/String;)I
-Ljava/net/URI;->decode(C)I
-Ljava/net/URI;->decode(CC)B
-Ljava/net/URI;->decode(Ljava/lang/String;)Ljava/lang/String;
-Ljava/net/URI;->decodedAuthority:Ljava/lang/String;
-Ljava/net/URI;->decodedFragment:Ljava/lang/String;
-Ljava/net/URI;->decodedPath:Ljava/lang/String;
-Ljava/net/URI;->decodedQuery:Ljava/lang/String;
-Ljava/net/URI;->decodedSchemeSpecificPart:Ljava/lang/String;
-Ljava/net/URI;->decodedUserInfo:Ljava/lang/String;
-Ljava/net/URI;->defineSchemeSpecificPart()V
-Ljava/net/URI;->defineString()V
-Ljava/net/URI;->encode(Ljava/lang/String;)Ljava/lang/String;
-Ljava/net/URI;->equal(Ljava/lang/String;Ljava/lang/String;)Z
-Ljava/net/URI;->equalIgnoringCase(Ljava/lang/String;Ljava/lang/String;)Z
-Ljava/net/URI;->hash(ILjava/lang/String;)I
-Ljava/net/URI;->hash:I
-Ljava/net/URI;->hashIgnoringCase(ILjava/lang/String;)I
-Ljava/net/URI;->hexDigits:[C
-Ljava/net/URI;->highMask(CC)J
-Ljava/net/URI;->highMask(Ljava/lang/String;)J
-Ljava/net/URI;->H_ALPHA:J
-Ljava/net/URI;->H_ALPHANUM:J
-Ljava/net/URI;->H_DASH:J
-Ljava/net/URI;->H_DIGIT:J
-Ljava/net/URI;->H_DOT:J
-Ljava/net/URI;->H_ESCAPED:J
-Ljava/net/URI;->H_HEX:J
-Ljava/net/URI;->H_LEFT_BRACKET:J
-Ljava/net/URI;->H_LOWALPHA:J
-Ljava/net/URI;->H_MARK:J
-Ljava/net/URI;->H_PATH:J
-Ljava/net/URI;->H_PCHAR:J
-Ljava/net/URI;->H_REG_NAME:J
-Ljava/net/URI;->H_RESERVED:J
-Ljava/net/URI;->H_SCHEME:J
-Ljava/net/URI;->H_SERVER:J
-Ljava/net/URI;->H_SERVER_PERCENT:J
-Ljava/net/URI;->H_UNDERSCORE:J
-Ljava/net/URI;->H_UNRESERVED:J
-Ljava/net/URI;->H_UPALPHA:J
-Ljava/net/URI;->H_URIC:J
-Ljava/net/URI;->H_URIC_NO_SLASH:J
-Ljava/net/URI;->H_USERINFO:J
-Ljava/net/URI;->join([C[I)I
-Ljava/net/URI;->lowMask(CC)J
-Ljava/net/URI;->lowMask(Ljava/lang/String;)J
-Ljava/net/URI;->L_ALPHA:J
-Ljava/net/URI;->L_ALPHANUM:J
-Ljava/net/URI;->L_DASH:J
-Ljava/net/URI;->L_DIGIT:J
-Ljava/net/URI;->L_DOT:J
-Ljava/net/URI;->L_ESCAPED:J
-Ljava/net/URI;->L_HEX:J
-Ljava/net/URI;->L_LEFT_BRACKET:J
-Ljava/net/URI;->L_LOWALPHA:J
-Ljava/net/URI;->L_MARK:J
-Ljava/net/URI;->L_PATH:J
-Ljava/net/URI;->L_PCHAR:J
-Ljava/net/URI;->L_REG_NAME:J
-Ljava/net/URI;->L_RESERVED:J
-Ljava/net/URI;->L_SCHEME:J
-Ljava/net/URI;->L_SERVER:J
-Ljava/net/URI;->L_SERVER_PERCENT:J
-Ljava/net/URI;->L_UNDERSCORE:J
-Ljava/net/URI;->L_UNRESERVED:J
-Ljava/net/URI;->L_UPALPHA:J
-Ljava/net/URI;->L_URIC:J
-Ljava/net/URI;->L_URIC_NO_SLASH:J
-Ljava/net/URI;->L_USERINFO:J
-Ljava/net/URI;->match(CJJ)Z
-Ljava/net/URI;->maybeAddLeadingDot([C[I)V
-Ljava/net/URI;->needsNormalization(Ljava/lang/String;)I
-Ljava/net/URI;->normalize(Ljava/lang/String;)Ljava/lang/String;
-Ljava/net/URI;->normalize(Ljava/lang/String;Z)Ljava/lang/String;
-Ljava/net/URI;->normalize(Ljava/net/URI;)Ljava/net/URI;
-Ljava/net/URI;->normalizedHash(ILjava/lang/String;)I
-Ljava/net/URI;->path:Ljava/lang/String;
-Ljava/net/URI;->quote(Ljava/lang/String;JJ)Ljava/lang/String;
-Ljava/net/URI;->relativize(Ljava/net/URI;Ljava/net/URI;)Ljava/net/URI;
-Ljava/net/URI;->removeDots([C[IZ)V
-Ljava/net/URI;->resolve(Ljava/net/URI;Ljava/net/URI;)Ljava/net/URI;
-Ljava/net/URI;->resolvePath(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
-Ljava/net/URI;->scheme:Ljava/lang/String;
-Ljava/net/URI;->schemeSpecificPart:Ljava/lang/String;
-Ljava/net/URI;->split([C[I)V
-Ljava/net/URI;->toLower(C)I
-Ljava/net/URI;->toString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Ljava/net/URI;->toUpper(C)I
-Ljava/net/URI;->userInfo:Ljava/lang/String;
-Ljava/net/URISyntaxException;->index:I
-Ljava/net/URISyntaxException;->input:Ljava/lang/String;
-Ljava/net/URL;->authority:Ljava/lang/String;
-Ljava/net/URL;->BUILTIN_HANDLER_CLASS_NAMES:Ljava/util/Set;
-Ljava/net/URL;->checkSpecifyHandler(Ljava/lang/SecurityManager;)V
-Ljava/net/URL;->createBuiltinHandler(Ljava/lang/String;)Ljava/net/URLStreamHandler;
-Ljava/net/URL;->createBuiltinHandlerClassNames()Ljava/util/Set;
-Ljava/net/URL;->fabricateNewURL()Ljava/net/URL;
-Ljava/net/URL;->file:Ljava/lang/String;
-Ljava/net/URL;->getURLStreamHandler(Ljava/lang/String;)Ljava/net/URLStreamHandler;
-Ljava/net/URL;->hashCode:I
-Ljava/net/URL;->host:Ljava/lang/String;
-Ljava/net/URL;->hostAddress:Ljava/net/InetAddress;
-Ljava/net/URL;->isBuiltinStreamHandler(Ljava/lang/String;)Z
-Ljava/net/URL;->isValidProtocol(Ljava/lang/String;)Z
-Ljava/net/URL;->path:Ljava/lang/String;
-Ljava/net/URL;->port:I
-Ljava/net/URL;->protocolPathProp:Ljava/lang/String;
-Ljava/net/URL;->query:Ljava/lang/String;
-Ljava/net/URL;->ref:Ljava/lang/String;
-Ljava/net/URL;->resetState()V
-Ljava/net/URL;->set(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
-Ljava/net/URL;->set(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Ljava/net/URL;->setDeserializedFields(Ljava/net/URLStreamHandler;)Ljava/net/URL;
-Ljava/net/URL;->setSerializedHashCode(I)V
-Ljava/net/URL;->streamHandlerLock:Ljava/lang/Object;
-Ljava/net/URL;->tempState:Ljava/net/UrlDeserializedState;
-Ljava/net/URL;->userInfo:Ljava/lang/String;
-Ljava/net/URLClassLoader;-><init>([Ljava/net/URL;Ljava/lang/ClassLoader;Ljava/security/AccessControlContext;)V
-Ljava/net/URLClassLoader;-><init>([Ljava/net/URL;Ljava/security/AccessControlContext;)V
-Ljava/net/URLClassLoader;->closeables:Ljava/util/WeakHashMap;
-Ljava/net/URLClassLoader;->defineClass(Ljava/lang/String;Lsun/misc/Resource;)Ljava/lang/Class;
-Ljava/net/URLClassLoader;->definePackageInternal(Ljava/lang/String;Ljava/util/jar/Manifest;Ljava/net/URL;)V
-Ljava/net/URLClassLoader;->getAndVerifyPackage(Ljava/lang/String;Ljava/util/jar/Manifest;Ljava/net/URL;)Ljava/lang/Package;
-Ljava/net/URLClassLoader;->isSealed(Ljava/lang/String;Ljava/util/jar/Manifest;)Z
-Ljava/net/URLConnection;->checkfpx(Ljava/io/InputStream;)Z
-Ljava/net/URLConnection;->connectTimeout:I
-Ljava/net/URLConnection;->contentClassPrefix:Ljava/lang/String;
-Ljava/net/URLConnection;->contentPathProp:Ljava/lang/String;
-Ljava/net/URLConnection;->defaultAllowUserInteraction:Z
-Ljava/net/URLConnection;->defaultUseCaches:Z
-Ljava/net/URLConnection;->factory:Ljava/net/ContentHandlerFactory;
-Ljava/net/URLConnection;->fileNameMap:Ljava/net/FileNameMap;
-Ljava/net/URLConnection;->getContentHandler()Ljava/net/ContentHandler;
-Ljava/net/URLConnection;->getContentHandlerPkgPrefixes()Ljava/lang/String;
-Ljava/net/URLConnection;->handlers:Ljava/util/Hashtable;
-Ljava/net/URLConnection;->lookupContentHandlerClassFor(Ljava/lang/String;)Ljava/net/ContentHandler;
-Ljava/net/URLConnection;->readBytes([IILjava/io/InputStream;)I
-Ljava/net/URLConnection;->readTimeout:I
-Ljava/net/URLConnection;->requests:Lsun/net/www/MessageHeader;
-Ljava/net/URLConnection;->skipForward(Ljava/io/InputStream;J)J
-Ljava/net/URLConnection;->stripOffParameters(Ljava/lang/String;)Ljava/lang/String;
-Ljava/net/URLConnection;->typeToPackageName(Ljava/lang/String;)Ljava/lang/String;
-Ljava/net/URLDecoder;->dfltEncName:Ljava/lang/String;
-Ljava/net/URLDecoder;->isValidHexChar(C)Z
-Ljava/net/UrlDeserializedState;
-Ljava/net/UrlDeserializedState;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
-Ljava/net/UrlDeserializedState;->authority:Ljava/lang/String;
-Ljava/net/UrlDeserializedState;->file:Ljava/lang/String;
-Ljava/net/UrlDeserializedState;->getAuthority()Ljava/lang/String;
-Ljava/net/UrlDeserializedState;->getFile()Ljava/lang/String;
-Ljava/net/UrlDeserializedState;->getHashCode()I
-Ljava/net/UrlDeserializedState;->getHost()Ljava/lang/String;
-Ljava/net/UrlDeserializedState;->getPort()I
-Ljava/net/UrlDeserializedState;->getProtocol()Ljava/lang/String;
-Ljava/net/UrlDeserializedState;->getRef()Ljava/lang/String;
-Ljava/net/UrlDeserializedState;->hashCode:I
-Ljava/net/UrlDeserializedState;->host:Ljava/lang/String;
-Ljava/net/UrlDeserializedState;->port:I
-Ljava/net/UrlDeserializedState;->protocol:Ljava/lang/String;
-Ljava/net/UrlDeserializedState;->reconstituteUrlString()Ljava/lang/String;
-Ljava/net/UrlDeserializedState;->ref:Ljava/lang/String;
-Ljava/net/URLEncoder;-><init>()V
-Ljava/net/URLEncoder;->caseDiff:I
-Ljava/net/URLEncoder;->dfltEncName:Ljava/lang/String;
-Ljava/net/URLEncoder;->dontNeedEncoding:Ljava/util/BitSet;
-Ljava/nio/Buffer;-><init>(IIIII)V
-Ljava/nio/Buffer;->checkBounds(III)V
-Ljava/nio/Buffer;->checkIndex(I)I
-Ljava/nio/Buffer;->checkIndex(II)I
-Ljava/nio/Buffer;->discardMark()V
-Ljava/nio/Buffer;->getElementSizeShift()I
-Ljava/nio/Buffer;->mark:I
-Ljava/nio/Buffer;->markValue()I
-Ljava/nio/Buffer;->nextGetIndex()I
-Ljava/nio/Buffer;->nextGetIndex(I)I
-Ljava/nio/Buffer;->nextPutIndex()I
-Ljava/nio/Buffer;->nextPutIndex(I)I
-Ljava/nio/Buffer;->SPLITERATOR_CHARACTERISTICS:I
-Ljava/nio/Buffer;->truncate()V
-Ljava/nio/ByteBuffer;-><init>(IIII)V
-Ljava/nio/ByteBuffer;-><init>(IIII[BI)V
-Ljava/nio/ByteBuffer;->bigEndian:Z
-Ljava/nio/ByteBuffer;->compare(BB)I
-Ljava/nio/ByteBuffer;->equals(BB)Z
-Ljava/nio/ByteBuffer;->getCharUnchecked(I)C
-Ljava/nio/ByteBuffer;->getDoubleUnchecked(I)D
-Ljava/nio/ByteBuffer;->getFloatUnchecked(I)F
-Ljava/nio/ByteBuffer;->getIntUnchecked(I)I
-Ljava/nio/ByteBuffer;->getLongUnchecked(I)J
-Ljava/nio/ByteBuffer;->getShortUnchecked(I)S
-Ljava/nio/ByteBuffer;->getUnchecked(I[CII)V
-Ljava/nio/ByteBuffer;->getUnchecked(I[DII)V
-Ljava/nio/ByteBuffer;->getUnchecked(I[FII)V
-Ljava/nio/ByteBuffer;->getUnchecked(I[III)V
-Ljava/nio/ByteBuffer;->getUnchecked(I[JII)V
-Ljava/nio/ByteBuffer;->getUnchecked(I[SII)V
-Ljava/nio/ByteBuffer;->isAccessible()Z
-Ljava/nio/ByteBuffer;->nativeByteOrder:Z
-Ljava/nio/ByteBuffer;->putCharUnchecked(IC)V
-Ljava/nio/ByteBuffer;->putDoubleUnchecked(ID)V
-Ljava/nio/ByteBuffer;->putFloatUnchecked(IF)V
-Ljava/nio/ByteBuffer;->putIntUnchecked(II)V
-Ljava/nio/ByteBuffer;->putLongUnchecked(IJ)V
-Ljava/nio/ByteBuffer;->putShortUnchecked(IS)V
-Ljava/nio/ByteBuffer;->putUnchecked(I[CII)V
-Ljava/nio/ByteBuffer;->putUnchecked(I[DII)V
-Ljava/nio/ByteBuffer;->putUnchecked(I[FII)V
-Ljava/nio/ByteBuffer;->putUnchecked(I[III)V
-Ljava/nio/ByteBuffer;->putUnchecked(I[JII)V
-Ljava/nio/ByteBuffer;->putUnchecked(I[SII)V
-Ljava/nio/ByteBuffer;->setAccessible(Z)V
-Ljava/nio/ByteBuffer;->_get(I)B
-Ljava/nio/ByteBuffer;->_put(IB)V
-Ljava/nio/ByteOrder;-><init>(Ljava/lang/String;)V
-Ljava/nio/ByteOrder;->name:Ljava/lang/String;
-Ljava/nio/channels/AsynchronousChannelGroup;->provider:Ljava/nio/channels/spi/AsynchronousChannelProvider;
-Ljava/nio/channels/AsynchronousFileChannel;->NO_ATTRIBUTES:[Ljava/nio/file/attribute/FileAttribute;
-Ljava/nio/channels/AsynchronousServerSocketChannel;->provider:Ljava/nio/channels/spi/AsynchronousChannelProvider;
-Ljava/nio/channels/AsynchronousSocketChannel;->provider:Ljava/nio/channels/spi/AsynchronousChannelProvider;
-Ljava/nio/channels/Channels$ReadableByteChannelImpl;
-Ljava/nio/channels/Channels$ReadableByteChannelImpl;-><init>(Ljava/io/InputStream;)V
-Ljava/nio/channels/Channels$ReadableByteChannelImpl;->buf:[B
-Ljava/nio/channels/Channels$ReadableByteChannelImpl;->in:Ljava/io/InputStream;
-Ljava/nio/channels/Channels$ReadableByteChannelImpl;->open:Z
-Ljava/nio/channels/Channels$ReadableByteChannelImpl;->readLock:Ljava/lang/Object;
-Ljava/nio/channels/Channels$ReadableByteChannelImpl;->TRANSFER_SIZE:I
-Ljava/nio/channels/Channels$WritableByteChannelImpl;
-Ljava/nio/channels/Channels$WritableByteChannelImpl;-><init>(Ljava/io/OutputStream;)V
-Ljava/nio/channels/Channels$WritableByteChannelImpl;->buf:[B
-Ljava/nio/channels/Channels$WritableByteChannelImpl;->open:Z
-Ljava/nio/channels/Channels$WritableByteChannelImpl;->out:Ljava/io/OutputStream;
-Ljava/nio/channels/Channels$WritableByteChannelImpl;->TRANSFER_SIZE:I
-Ljava/nio/channels/Channels$WritableByteChannelImpl;->writeLock:Ljava/lang/Object;
-Ljava/nio/channels/Channels;-><init>()V
-Ljava/nio/channels/Channels;->checkNotNull(Ljava/lang/Object;Ljava/lang/String;)V
-Ljava/nio/channels/Channels;->writeFully(Ljava/nio/channels/WritableByteChannel;Ljava/nio/ByteBuffer;)V
-Ljava/nio/channels/Channels;->writeFullyImpl(Ljava/nio/channels/WritableByteChannel;Ljava/nio/ByteBuffer;)V
-Ljava/nio/channels/FileChannel$MapMode;-><init>(Ljava/lang/String;)V
-Ljava/nio/channels/FileChannel$MapMode;->name:Ljava/lang/String;
-Ljava/nio/channels/FileChannel;->NO_ATTRIBUTES:[Ljava/nio/file/attribute/FileAttribute;
-Ljava/nio/channels/FileLock;->channel:Ljava/nio/channels/Channel;
-Ljava/nio/channels/FileLock;->position:J
-Ljava/nio/channels/FileLock;->shared:Z
-Ljava/nio/channels/FileLock;->size:J
-Ljava/nio/channels/SelectionKey;->attachment:Ljava/lang/Object;
-Ljava/nio/channels/SelectionKey;->attachmentUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
-Ljava/nio/channels/spi/AbstractInterruptibleChannel;->blockedOn(Lsun/nio/ch/Interruptible;)V
-Ljava/nio/channels/spi/AbstractInterruptibleChannel;->closeLock:Ljava/lang/Object;
-Ljava/nio/channels/spi/AbstractInterruptibleChannel;->interrupted:Ljava/lang/Thread;
-Ljava/nio/channels/spi/AbstractInterruptibleChannel;->interruptor:Lsun/nio/ch/Interruptible;
-Ljava/nio/channels/spi/AbstractInterruptibleChannel;->open:Z
-Ljava/nio/channels/spi/AbstractSelectableChannel;->addKey(Ljava/nio/channels/SelectionKey;)V
-Ljava/nio/channels/spi/AbstractSelectableChannel;->blocking:Z
-Ljava/nio/channels/spi/AbstractSelectableChannel;->findKey(Ljava/nio/channels/Selector;)Ljava/nio/channels/SelectionKey;
-Ljava/nio/channels/spi/AbstractSelectableChannel;->haveValidKeys()Z
-Ljava/nio/channels/spi/AbstractSelectableChannel;->keyCount:I
-Ljava/nio/channels/spi/AbstractSelectableChannel;->keyLock:Ljava/lang/Object;
-Ljava/nio/channels/spi/AbstractSelectableChannel;->keys:[Ljava/nio/channels/SelectionKey;
-Ljava/nio/channels/spi/AbstractSelectableChannel;->provider:Ljava/nio/channels/spi/SelectorProvider;
-Ljava/nio/channels/spi/AbstractSelectableChannel;->regLock:Ljava/lang/Object;
-Ljava/nio/channels/spi/AbstractSelectableChannel;->removeKey(Ljava/nio/channels/SelectionKey;)V
-Ljava/nio/channels/spi/AbstractSelectionKey;->invalidate()V
-Ljava/nio/channels/spi/AbstractSelectionKey;->valid:Z
-Ljava/nio/channels/spi/AbstractSelector;->cancel(Ljava/nio/channels/SelectionKey;)V
-Ljava/nio/channels/spi/AbstractSelector;->cancelledKeys:Ljava/util/Set;
-Ljava/nio/channels/spi/AbstractSelector;->interruptor:Lsun/nio/ch/Interruptible;
-Ljava/nio/channels/spi/AbstractSelector;->provider:Ljava/nio/channels/spi/SelectorProvider;
-Ljava/nio/channels/spi/AbstractSelector;->selectorOpen:Ljava/util/concurrent/atomic/AtomicBoolean;
-Ljava/nio/channels/spi/AsynchronousChannelProvider$ProviderHolder;
-Ljava/nio/channels/spi/AsynchronousChannelProvider$ProviderHolder;-><init>()V
-Ljava/nio/channels/spi/AsynchronousChannelProvider$ProviderHolder;->load()Ljava/nio/channels/spi/AsynchronousChannelProvider;
-Ljava/nio/channels/spi/AsynchronousChannelProvider$ProviderHolder;->loadProviderAsService()Ljava/nio/channels/spi/AsynchronousChannelProvider;
-Ljava/nio/channels/spi/AsynchronousChannelProvider$ProviderHolder;->loadProviderFromProperty()Ljava/nio/channels/spi/AsynchronousChannelProvider;
-Ljava/nio/channels/spi/AsynchronousChannelProvider$ProviderHolder;->provider:Ljava/nio/channels/spi/AsynchronousChannelProvider;
-Ljava/nio/channels/spi/AsynchronousChannelProvider;-><init>(Ljava/lang/Void;)V
-Ljava/nio/channels/spi/AsynchronousChannelProvider;->checkPermission()Ljava/lang/Void;
-Ljava/nio/channels/spi/SelectorProvider;->loadProviderAsService()Z
-Ljava/nio/channels/spi/SelectorProvider;->loadProviderFromProperty()Z
-Ljava/nio/channels/spi/SelectorProvider;->lock:Ljava/lang/Object;
-Ljava/nio/channels/spi/SelectorProvider;->provider:Ljava/nio/channels/spi/SelectorProvider;
-Ljava/nio/CharBuffer;-><init>(IIII)V
-Ljava/nio/CharBuffer;-><init>(IIII[CI)V
-Ljava/nio/CharBuffer;->compare(CC)I
-Ljava/nio/CharBuffer;->equals(CC)Z
-Ljava/nio/CharBuffer;->getUnchecked(I)C
-Ljava/nio/CharBuffer;->hb:[C
-Ljava/nio/CharBuffer;->isReadOnly:Z
-Ljava/nio/CharBuffer;->offset:I
-Ljava/nio/charset/Charset;->aliases:[Ljava/lang/String;
-Ljava/nio/charset/Charset;->aliasSet:Ljava/util/Set;
-Ljava/nio/charset/Charset;->atBugLevel(Ljava/lang/String;)Z
-Ljava/nio/charset/Charset;->bugLevel:Ljava/lang/String;
-Ljava/nio/charset/Charset;->cache(Ljava/lang/String;Ljava/nio/charset/Charset;)V
-Ljava/nio/charset/Charset;->cache1:Ljava/util/Map$Entry;
-Ljava/nio/charset/Charset;->cache2:Ljava/util/HashMap;
-Ljava/nio/charset/Charset;->checkName(Ljava/lang/String;)V
-Ljava/nio/charset/Charset;->forNameUEE(Ljava/lang/String;)Ljava/nio/charset/Charset;
-Ljava/nio/charset/Charset;->gate:Ljava/lang/ThreadLocal;
-Ljava/nio/charset/Charset;->lookup(Ljava/lang/String;)Ljava/nio/charset/Charset;
-Ljava/nio/charset/Charset;->lookup2(Ljava/lang/String;)Ljava/nio/charset/Charset;
-Ljava/nio/charset/Charset;->lookupViaProviders(Ljava/lang/String;)Ljava/nio/charset/Charset;
-Ljava/nio/charset/Charset;->name:Ljava/lang/String;
-Ljava/nio/charset/Charset;->providers()Ljava/util/Iterator;
-Ljava/nio/charset/Charset;->put(Ljava/util/Iterator;Ljava/util/Map;)V
-Ljava/nio/charset/CharsetDecoder;-><init>(Ljava/nio/charset/Charset;FFLjava/lang/String;)V
-Ljava/nio/charset/CharsetDecoder;->averageCharsPerByte:F
-Ljava/nio/charset/CharsetDecoder;->charset:Ljava/nio/charset/Charset;
-Ljava/nio/charset/CharsetDecoder;->malformedInputAction:Ljava/nio/charset/CodingErrorAction;
-Ljava/nio/charset/CharsetDecoder;->maxCharsPerByte:F
-Ljava/nio/charset/CharsetDecoder;->replacement:Ljava/lang/String;
-Ljava/nio/charset/CharsetDecoder;->state:I
-Ljava/nio/charset/CharsetDecoder;->stateNames:[Ljava/lang/String;
-Ljava/nio/charset/CharsetDecoder;->ST_CODING:I
-Ljava/nio/charset/CharsetDecoder;->ST_END:I
-Ljava/nio/charset/CharsetDecoder;->ST_FLUSHED:I
-Ljava/nio/charset/CharsetDecoder;->ST_RESET:I
-Ljava/nio/charset/CharsetDecoder;->throwIllegalStateException(II)V
-Ljava/nio/charset/CharsetDecoder;->unmappableCharacterAction:Ljava/nio/charset/CodingErrorAction;
-Ljava/nio/charset/CharsetEncoder;-><init>(Ljava/nio/charset/Charset;FF[BZ)V
-Ljava/nio/charset/CharsetEncoder;->averageBytesPerChar:F
-Ljava/nio/charset/CharsetEncoder;->cachedDecoder:Ljava/lang/ref/WeakReference;
-Ljava/nio/charset/CharsetEncoder;->charset:Ljava/nio/charset/Charset;
-Ljava/nio/charset/CharsetEncoder;->malformedInputAction:Ljava/nio/charset/CodingErrorAction;
-Ljava/nio/charset/CharsetEncoder;->maxBytesPerChar:F
-Ljava/nio/charset/CharsetEncoder;->replacement:[B
-Ljava/nio/charset/CharsetEncoder;->state:I
-Ljava/nio/charset/CharsetEncoder;->stateNames:[Ljava/lang/String;
-Ljava/nio/charset/CharsetEncoder;->ST_CODING:I
-Ljava/nio/charset/CharsetEncoder;->ST_END:I
-Ljava/nio/charset/CharsetEncoder;->ST_FLUSHED:I
-Ljava/nio/charset/CharsetEncoder;->ST_RESET:I
-Ljava/nio/charset/CharsetEncoder;->throwIllegalStateException(II)V
-Ljava/nio/charset/CharsetEncoder;->unmappableCharacterAction:Ljava/nio/charset/CodingErrorAction;
-Ljava/nio/charset/CoderResult$Cache;
-Ljava/nio/charset/CoderResult$Cache;-><init>()V
-Ljava/nio/charset/CoderResult$Cache;->cache:Ljava/util/Map;
-Ljava/nio/charset/CoderResult$Cache;->create(I)Ljava/nio/charset/CoderResult;
-Ljava/nio/charset/CoderResult$Cache;->get(I)Ljava/nio/charset/CoderResult;
-Ljava/nio/charset/CoderResult;-><init>(II)V
-Ljava/nio/charset/CoderResult;->CR_ERROR_MIN:I
-Ljava/nio/charset/CoderResult;->CR_MALFORMED:I
-Ljava/nio/charset/CoderResult;->CR_OVERFLOW:I
-Ljava/nio/charset/CoderResult;->CR_UNDERFLOW:I
-Ljava/nio/charset/CoderResult;->CR_UNMAPPABLE:I
-Ljava/nio/charset/CoderResult;->length:I
-Ljava/nio/charset/CoderResult;->malformedCache:Ljava/nio/charset/CoderResult$Cache;
-Ljava/nio/charset/CoderResult;->names:[Ljava/lang/String;
-Ljava/nio/charset/CoderResult;->type:I
-Ljava/nio/charset/CoderResult;->unmappableCache:Ljava/nio/charset/CoderResult$Cache;
-Ljava/nio/charset/CodingErrorAction;-><init>(Ljava/lang/String;)V
-Ljava/nio/charset/CodingErrorAction;->name:Ljava/lang/String;
-Ljava/nio/charset/IllegalCharsetNameException;->charsetName:Ljava/lang/String;
-Ljava/nio/charset/MalformedInputException;->inputLength:I
-Ljava/nio/charset/ModifiedUtf8;
-Ljava/nio/charset/ModifiedUtf8;-><init>()V
-Ljava/nio/charset/ModifiedUtf8;->countBytes(Ljava/lang/String;Z)J
-Ljava/nio/charset/ModifiedUtf8;->decode([B[CII)Ljava/lang/String;
-Ljava/nio/charset/ModifiedUtf8;->encode(Ljava/lang/String;)[B
-Ljava/nio/charset/ModifiedUtf8;->encode([BILjava/lang/String;)V
-Ljava/nio/charset/StandardCharsets;-><init>()V
-Ljava/nio/charset/UnmappableCharacterException;->inputLength:I
-Ljava/nio/charset/UnsupportedCharsetException;->charsetName:Ljava/lang/String;
-Ljava/nio/DirectByteBuffer$MemoryRef;
-Ljava/nio/DirectByteBuffer$MemoryRef;-><init>(I)V
-Ljava/nio/DirectByteBuffer$MemoryRef;-><init>(JLjava/lang/Object;)V
-Ljava/nio/DirectByteBuffer$MemoryRef;->allocatedAddress:J
-Ljava/nio/DirectByteBuffer$MemoryRef;->buffer:[B
-Ljava/nio/DirectByteBuffer$MemoryRef;->free()V
-Ljava/nio/DirectByteBuffer$MemoryRef;->isAccessible:Z
-Ljava/nio/DirectByteBuffer$MemoryRef;->isFreed:Z
-Ljava/nio/DirectByteBuffer$MemoryRef;->offset:I
-Ljava/nio/DirectByteBuffer$MemoryRef;->originalBufferObject:Ljava/lang/Object;
-Ljava/nio/DirectByteBuffer;
-Ljava/nio/DirectByteBuffer;-><init>(IJLjava/io/FileDescriptor;Ljava/lang/Runnable;Z)V
-Ljava/nio/DirectByteBuffer;-><init>(ILjava/nio/DirectByteBuffer$MemoryRef;)V
-Ljava/nio/DirectByteBuffer;-><init>(Ljava/nio/DirectByteBuffer$MemoryRef;IIIII)V
-Ljava/nio/DirectByteBuffer;-><init>(Ljava/nio/DirectByteBuffer$MemoryRef;IIIIIZ)V
-Ljava/nio/DirectByteBuffer;->cleaner:Lsun/misc/Cleaner;
-Ljava/nio/DirectByteBuffer;->get(J)B
-Ljava/nio/DirectByteBuffer;->getCharUnchecked(I)C
-Ljava/nio/DirectByteBuffer;->getDouble(J)D
-Ljava/nio/DirectByteBuffer;->getDoubleUnchecked(I)D
-Ljava/nio/DirectByteBuffer;->getFloat(J)F
-Ljava/nio/DirectByteBuffer;->getFloatUnchecked(I)F
-Ljava/nio/DirectByteBuffer;->getInt(J)I
-Ljava/nio/DirectByteBuffer;->getIntUnchecked(I)I
-Ljava/nio/DirectByteBuffer;->getLong(J)J
-Ljava/nio/DirectByteBuffer;->getLongUnchecked(I)J
-Ljava/nio/DirectByteBuffer;->getShort(J)S
-Ljava/nio/DirectByteBuffer;->getShortUnchecked(I)S
-Ljava/nio/DirectByteBuffer;->getUnchecked(I[CII)V
-Ljava/nio/DirectByteBuffer;->getUnchecked(I[DII)V
-Ljava/nio/DirectByteBuffer;->getUnchecked(I[FII)V
-Ljava/nio/DirectByteBuffer;->getUnchecked(I[III)V
-Ljava/nio/DirectByteBuffer;->getUnchecked(I[JII)V
-Ljava/nio/DirectByteBuffer;->getUnchecked(I[SII)V
-Ljava/nio/DirectByteBuffer;->isAccessible()Z
-Ljava/nio/DirectByteBuffer;->ix(I)J
-Ljava/nio/DirectByteBuffer;->memoryRef:Ljava/nio/DirectByteBuffer$MemoryRef;
-Ljava/nio/DirectByteBuffer;->put(JB)Ljava/nio/ByteBuffer;
-Ljava/nio/DirectByteBuffer;->putChar(JC)Ljava/nio/ByteBuffer;
-Ljava/nio/DirectByteBuffer;->putCharUnchecked(IC)V
-Ljava/nio/DirectByteBuffer;->putDouble(JD)Ljava/nio/ByteBuffer;
-Ljava/nio/DirectByteBuffer;->putDoubleUnchecked(ID)V
-Ljava/nio/DirectByteBuffer;->putFloat(JF)Ljava/nio/ByteBuffer;
-Ljava/nio/DirectByteBuffer;->putFloatUnchecked(IF)V
-Ljava/nio/DirectByteBuffer;->putInt(JI)Ljava/nio/ByteBuffer;
-Ljava/nio/DirectByteBuffer;->putIntUnchecked(II)V
-Ljava/nio/DirectByteBuffer;->putLong(JJ)Ljava/nio/ByteBuffer;
-Ljava/nio/DirectByteBuffer;->putLongUnchecked(IJ)V
-Ljava/nio/DirectByteBuffer;->putShort(JS)Ljava/nio/ByteBuffer;
-Ljava/nio/DirectByteBuffer;->putShortUnchecked(IS)V
-Ljava/nio/DirectByteBuffer;->putUnchecked(I[CII)V
-Ljava/nio/DirectByteBuffer;->putUnchecked(I[DII)V
-Ljava/nio/DirectByteBuffer;->putUnchecked(I[FII)V
-Ljava/nio/DirectByteBuffer;->putUnchecked(I[III)V
-Ljava/nio/DirectByteBuffer;->putUnchecked(I[JII)V
-Ljava/nio/DirectByteBuffer;->putUnchecked(I[SII)V
-Ljava/nio/DirectByteBuffer;->setAccessible(Z)V
-Ljava/nio/DirectByteBuffer;->_get(I)B
-Ljava/nio/DirectByteBuffer;->_put(IB)V
-Ljava/nio/DoubleBuffer;-><init>(IIII)V
-Ljava/nio/DoubleBuffer;-><init>(IIII[DI)V
-Ljava/nio/DoubleBuffer;->compare(DD)I
-Ljava/nio/DoubleBuffer;->equals(DD)Z
-Ljava/nio/DoubleBuffer;->hb:[D
-Ljava/nio/DoubleBuffer;->isReadOnly:Z
-Ljava/nio/DoubleBuffer;->offset:I
-Ljava/nio/file/AccessMode;-><init>()V
-Ljava/nio/file/attribute/AclEntry$Builder;-><init>(Ljava/nio/file/attribute/AclEntryType;Ljava/nio/file/attribute/UserPrincipal;Ljava/util/Set;Ljava/util/Set;)V
-Ljava/nio/file/attribute/AclEntry$Builder;->checkSet(Ljava/util/Set;Ljava/lang/Class;)V
-Ljava/nio/file/attribute/AclEntry$Builder;->flags:Ljava/util/Set;
-Ljava/nio/file/attribute/AclEntry$Builder;->perms:Ljava/util/Set;
-Ljava/nio/file/attribute/AclEntry$Builder;->type:Ljava/nio/file/attribute/AclEntryType;
-Ljava/nio/file/attribute/AclEntry$Builder;->who:Ljava/nio/file/attribute/UserPrincipal;
-Ljava/nio/file/attribute/AclEntry;-><init>(Ljava/nio/file/attribute/AclEntryType;Ljava/nio/file/attribute/UserPrincipal;Ljava/util/Set;Ljava/util/Set;)V
-Ljava/nio/file/attribute/AclEntry;->flags:Ljava/util/Set;
-Ljava/nio/file/attribute/AclEntry;->hash(ILjava/lang/Object;)I
-Ljava/nio/file/attribute/AclEntry;->hash:I
-Ljava/nio/file/attribute/AclEntry;->perms:Ljava/util/Set;
-Ljava/nio/file/attribute/AclEntry;->type:Ljava/nio/file/attribute/AclEntryType;
-Ljava/nio/file/attribute/AclEntry;->who:Ljava/nio/file/attribute/UserPrincipal;
-Ljava/nio/file/attribute/AclEntryFlag;-><init>()V
-Ljava/nio/file/attribute/AclEntryPermission;-><init>()V
-Ljava/nio/file/attribute/AclEntryType;-><init>()V
-Ljava/nio/file/attribute/FileTime;-><init>(JLjava/util/concurrent/TimeUnit;Ljava/time/Instant;)V
-Ljava/nio/file/attribute/FileTime;->append(Ljava/lang/StringBuilder;II)Ljava/lang/StringBuilder;
-Ljava/nio/file/attribute/FileTime;->DAYS_PER_10000_YEARS:J
-Ljava/nio/file/attribute/FileTime;->HOURS_PER_DAY:J
-Ljava/nio/file/attribute/FileTime;->instant:Ljava/time/Instant;
-Ljava/nio/file/attribute/FileTime;->MAX_SECOND:J
-Ljava/nio/file/attribute/FileTime;->MICROS_PER_SECOND:J
-Ljava/nio/file/attribute/FileTime;->MILLIS_PER_SECOND:J
-Ljava/nio/file/attribute/FileTime;->MINUTES_PER_HOUR:J
-Ljava/nio/file/attribute/FileTime;->MIN_SECOND:J
-Ljava/nio/file/attribute/FileTime;->NANOS_PER_MICRO:I
-Ljava/nio/file/attribute/FileTime;->NANOS_PER_MILLI:I
-Ljava/nio/file/attribute/FileTime;->NANOS_PER_SECOND:J
-Ljava/nio/file/attribute/FileTime;->scale(JJJ)J
-Ljava/nio/file/attribute/FileTime;->SECONDS_0000_TO_1970:J
-Ljava/nio/file/attribute/FileTime;->SECONDS_PER_10000_YEARS:J
-Ljava/nio/file/attribute/FileTime;->SECONDS_PER_DAY:J
-Ljava/nio/file/attribute/FileTime;->SECONDS_PER_HOUR:J
-Ljava/nio/file/attribute/FileTime;->SECONDS_PER_MINUTE:J
-Ljava/nio/file/attribute/FileTime;->toDays()J
-Ljava/nio/file/attribute/FileTime;->toExcessNanos(J)J
-Ljava/nio/file/attribute/FileTime;->unit:Ljava/util/concurrent/TimeUnit;
-Ljava/nio/file/attribute/FileTime;->value:J
-Ljava/nio/file/attribute/FileTime;->valueAsString:Ljava/lang/String;
-Ljava/nio/file/attribute/PosixFilePermission;-><init>()V
-Ljava/nio/file/attribute/PosixFilePermissions;-><init>()V
-Ljava/nio/file/attribute/PosixFilePermissions;->isR(C)Z
-Ljava/nio/file/attribute/PosixFilePermissions;->isSet(CC)Z
-Ljava/nio/file/attribute/PosixFilePermissions;->isW(C)Z
-Ljava/nio/file/attribute/PosixFilePermissions;->isX(C)Z
-Ljava/nio/file/attribute/PosixFilePermissions;->writeBits(Ljava/lang/StringBuilder;ZZZ)V
-Ljava/nio/file/attribute/UserPrincipalNotFoundException;->name:Ljava/lang/String;
-Ljava/nio/file/Files$AcceptAllFilter;
-Ljava/nio/file/Files$AcceptAllFilter;-><init>()V
-Ljava/nio/file/Files$AcceptAllFilter;->accept(Ljava/nio/file/Path;)Z
-Ljava/nio/file/Files$AcceptAllFilter;->FILTER:Ljava/nio/file/Files$AcceptAllFilter;
-Ljava/nio/file/Files$FileTypeDetectors;
-Ljava/nio/file/Files$FileTypeDetectors;-><init>()V
-Ljava/nio/file/Files$FileTypeDetectors;->createDefaultFileTypeDetector()Ljava/nio/file/spi/FileTypeDetector;
-Ljava/nio/file/Files$FileTypeDetectors;->defaultFileTypeDetector:Ljava/nio/file/spi/FileTypeDetector;
-Ljava/nio/file/Files$FileTypeDetectors;->installeDetectors:Ljava/util/List;
-Ljava/nio/file/Files$FileTypeDetectors;->loadInstalledDetectors()Ljava/util/List;
-Ljava/nio/file/Files;-><init>()V
-Ljava/nio/file/Files;->asUncheckedRunnable(Ljava/io/Closeable;)Ljava/lang/Runnable;
-Ljava/nio/file/Files;->BUFFER_SIZE:I
-Ljava/nio/file/Files;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;)J
-Ljava/nio/file/Files;->createAndCheckIsDirectory(Ljava/nio/file/Path;[[Ljava/nio/file/attribute/FileAttribute;)V
-Ljava/nio/file/Files;->followLinks([[Ljava/nio/file/LinkOption;)Z
-Ljava/nio/file/Files;->isAccessible(Ljava/nio/file/Path;[[Ljava/nio/file/AccessMode;)Z
-Ljava/nio/file/Files;->MAX_BUFFER_SIZE:I
-Ljava/nio/file/Files;->provider(Ljava/nio/file/Path;)Ljava/nio/file/spi/FileSystemProvider;
-Ljava/nio/file/Files;->read(Ljava/io/InputStream;I)[B
-Ljava/nio/file/FileSystemException;->file:Ljava/lang/String;
-Ljava/nio/file/FileSystemException;->other:Ljava/lang/String;
-Ljava/nio/file/FileSystems$DefaultFileSystemHolder;
-Ljava/nio/file/FileSystems$DefaultFileSystemHolder;-><init>()V
-Ljava/nio/file/FileSystems$DefaultFileSystemHolder;->defaultFileSystem()Ljava/nio/file/FileSystem;
-Ljava/nio/file/FileSystems$DefaultFileSystemHolder;->defaultFileSystem:Ljava/nio/file/FileSystem;
-Ljava/nio/file/FileSystems$DefaultFileSystemHolder;->getDefaultProvider()Ljava/nio/file/spi/FileSystemProvider;
-Ljava/nio/file/FileSystems;-><init>()V
-Ljava/nio/file/FileVisitOption;-><init>()V
-Ljava/nio/file/FileVisitResult;-><init>()V
-Ljava/nio/file/InvalidPathException;->index:I
-Ljava/nio/file/InvalidPathException;->input:Ljava/lang/String;
-Ljava/nio/file/LinkOption;-><init>()V
-Ljava/nio/file/LinkPermission;->checkName(Ljava/lang/String;)V
-Ljava/nio/file/Paths;-><init>()V
-Ljava/nio/file/spi/FileSystemProvider;-><init>(Ljava/lang/Void;)V
-Ljava/nio/file/spi/FileSystemProvider;->checkPermission()Ljava/lang/Void;
-Ljava/nio/file/spi/FileSystemProvider;->installedProviders:Ljava/util/List;
-Ljava/nio/file/spi/FileSystemProvider;->loadingProviders:Z
-Ljava/nio/file/spi/FileSystemProvider;->loadInstalledProviders()Ljava/util/List;
-Ljava/nio/file/spi/FileSystemProvider;->lock:Ljava/lang/Object;
-Ljava/nio/file/spi/FileTypeDetector;-><init>(Ljava/lang/Void;)V
-Ljava/nio/file/spi/FileTypeDetector;->checkPermission()Ljava/lang/Void;
-Ljava/nio/file/StandardCopyOption;-><init>()V
-Ljava/nio/file/StandardOpenOption;-><init>()V
-Ljava/nio/file/StandardWatchEventKinds$StdWatchEventKind;
-Ljava/nio/file/StandardWatchEventKinds$StdWatchEventKind;-><init>(Ljava/lang/String;Ljava/lang/Class;)V
-Ljava/nio/file/StandardWatchEventKinds$StdWatchEventKind;->name:Ljava/lang/String;
-Ljava/nio/file/StandardWatchEventKinds$StdWatchEventKind;->type:Ljava/lang/Class;
-Ljava/nio/file/StandardWatchEventKinds;-><init>()V
-Ljava/nio/FloatBuffer;-><init>(IIII)V
-Ljava/nio/FloatBuffer;-><init>(IIII[FI)V
-Ljava/nio/FloatBuffer;->compare(FF)I
-Ljava/nio/FloatBuffer;->equals(FF)Z
-Ljava/nio/FloatBuffer;->hb:[F
-Ljava/nio/FloatBuffer;->isReadOnly:Z
-Ljava/nio/FloatBuffer;->offset:I
-Ljava/nio/IntBuffer;-><init>(IIII)V
-Ljava/nio/IntBuffer;-><init>(IIII[II)V
-Ljava/nio/IntBuffer;->compare(II)I
-Ljava/nio/IntBuffer;->equals(II)Z
-Ljava/nio/IntBuffer;->hb:[I
-Ljava/nio/IntBuffer;->isReadOnly:Z
-Ljava/nio/IntBuffer;->offset:I
-Ljava/nio/LongBuffer;-><init>(IIII)V
-Ljava/nio/LongBuffer;-><init>(IIII[JI)V
-Ljava/nio/LongBuffer;->compare(JJ)I
-Ljava/nio/LongBuffer;->equals(JJ)Z
-Ljava/nio/LongBuffer;->hb:[J
-Ljava/nio/LongBuffer;->isReadOnly:Z
-Ljava/nio/LongBuffer;->offset:I
-Ljava/nio/MappedByteBuffer;-><init>(IIII)V
-Ljava/nio/MappedByteBuffer;-><init>(IIIILjava/io/FileDescriptor;)V
-Ljava/nio/MappedByteBuffer;-><init>(IIII[BI)V
-Ljava/nio/MappedByteBuffer;->checkMapped()V
-Ljava/nio/MappedByteBuffer;->fd:Ljava/io/FileDescriptor;
-Ljava/nio/MappedByteBuffer;->force0(Ljava/io/FileDescriptor;JJ)V
-Ljava/nio/MappedByteBuffer;->isLoaded0(JJI)Z
-Ljava/nio/MappedByteBuffer;->load0(JJ)V
-Ljava/nio/MappedByteBuffer;->mappingAddress(J)J
-Ljava/nio/MappedByteBuffer;->mappingLength(J)J
-Ljava/nio/MappedByteBuffer;->mappingOffset()J
-Ljava/nio/MappedByteBuffer;->unused:B
-Ljava/nio/NIOAccess;
-Ljava/nio/NIOAccess;-><init>()V
-Ljava/nio/NioUtils;
-Ljava/nio/NioUtils;-><init>()V
-Ljava/nio/NioUtils;->getFD(Ljava/nio/channels/FileChannel;)Ljava/io/FileDescriptor;
-Ljava/nio/NioUtils;->newFileChannel(Ljava/io/Closeable;Ljava/io/FileDescriptor;I)Ljava/nio/channels/FileChannel;
-Ljava/nio/ShortBuffer;-><init>(IIII)V
-Ljava/nio/ShortBuffer;-><init>(IIII[SI)V
-Ljava/nio/ShortBuffer;->compare(SS)I
-Ljava/nio/ShortBuffer;->equals(SS)Z
-Ljava/nio/ShortBuffer;->hb:[S
-Ljava/nio/ShortBuffer;->isReadOnly:Z
-Ljava/nio/ShortBuffer;->offset:I
-Ljava/security/AccessControlException;->perm:Ljava/security/Permission;
-Ljava/security/AccessController;-><init>()V
-Ljava/security/AlgorithmParameterGenerator;->algorithm:Ljava/lang/String;
-Ljava/security/AlgorithmParameterGenerator;->paramGenSpi:Ljava/security/AlgorithmParameterGeneratorSpi;
-Ljava/security/AlgorithmParameterGenerator;->provider:Ljava/security/Provider;
-Ljava/security/AlgorithmParameters;->algorithm:Ljava/lang/String;
-Ljava/security/AlgorithmParameters;->initialized:Z
-Ljava/security/AlgorithmParameters;->paramSpi:Ljava/security/AlgorithmParametersSpi;
-Ljava/security/AlgorithmParameters;->provider:Ljava/security/Provider;
-Ljava/security/cert/Certificate$CertificateRep;->data:[B
-Ljava/security/cert/Certificate$CertificateRep;->type:Ljava/lang/String;
-Ljava/security/cert/Certificate;->hash:I
-Ljava/security/cert/Certificate;->type:Ljava/lang/String;
-Ljava/security/cert/CertificateFactory;->certFacSpi:Ljava/security/cert/CertificateFactorySpi;
-Ljava/security/cert/CertificateFactory;->provider:Ljava/security/Provider;
-Ljava/security/cert/CertificateFactory;->type:Ljava/lang/String;
-Ljava/security/cert/CertificateRevokedException;->authority:Ljavax/security/auth/x500/X500Principal;
-Ljava/security/cert/CertificateRevokedException;->extensions:Ljava/util/Map;
-Ljava/security/cert/CertificateRevokedException;->reason:Ljava/security/cert/CRLReason;
-Ljava/security/cert/CertificateRevokedException;->revocationDate:Ljava/util/Date;
-Ljava/security/cert/CertPath$CertPathRep;->data:[B
-Ljava/security/cert/CertPath$CertPathRep;->type:Ljava/lang/String;
-Ljava/security/cert/CertPath;->type:Ljava/lang/String;
-Ljava/security/cert/CertPathBuilder;->algorithm:Ljava/lang/String;
-Ljava/security/cert/CertPathBuilder;->builderSpi:Ljava/security/cert/CertPathBuilderSpi;
-Ljava/security/cert/CertPathBuilder;->CPB_TYPE:Ljava/lang/String;
-Ljava/security/cert/CertPathBuilder;->provider:Ljava/security/Provider;
-Ljava/security/cert/CertPathValidator;->algorithm:Ljava/lang/String;
-Ljava/security/cert/CertPathValidator;->CPV_TYPE:Ljava/lang/String;
-Ljava/security/cert/CertPathValidator;->provider:Ljava/security/Provider;
-Ljava/security/cert/CertPathValidator;->validatorSpi:Ljava/security/cert/CertPathValidatorSpi;
-Ljava/security/cert/CertPathValidatorException$BasicReason;-><init>()V
-Ljava/security/cert/CertPathValidatorException;->certPath:Ljava/security/cert/CertPath;
-Ljava/security/cert/CertPathValidatorException;->index:I
-Ljava/security/cert/CertPathValidatorException;->reason:Ljava/security/cert/CertPathValidatorException$Reason;
-Ljava/security/cert/CertStore;->CERTSTORE_TYPE:Ljava/lang/String;
-Ljava/security/cert/CertStore;->handleException(Ljava/security/NoSuchAlgorithmException;)Ljava/security/cert/CertStore;
-Ljava/security/cert/CertStore;->params:Ljava/security/cert/CertStoreParameters;
-Ljava/security/cert/CertStore;->provider:Ljava/security/Provider;
-Ljava/security/cert/CertStore;->storeSpi:Ljava/security/cert/CertStoreSpi;
-Ljava/security/cert/CertStore;->type:Ljava/lang/String;
-Ljava/security/cert/CollectionCertStoreParameters;->coll:Ljava/util/Collection;
-Ljava/security/cert/CRL;->type:Ljava/lang/String;
-Ljava/security/cert/CRLReason;-><init>()V
-Ljava/security/cert/LDAPCertStoreParameters;->LDAP_DEFAULT_PORT:I
-Ljava/security/cert/LDAPCertStoreParameters;->port:I
-Ljava/security/cert/LDAPCertStoreParameters;->serverName:Ljava/lang/String;
-Ljava/security/cert/PKIXBuilderParameters;->maxPathLength:I
-Ljava/security/cert/PKIXCertPathBuilderResult;->certPath:Ljava/security/cert/CertPath;
-Ljava/security/cert/PKIXCertPathValidatorResult;->policyTree:Ljava/security/cert/PolicyNode;
-Ljava/security/cert/PKIXCertPathValidatorResult;->subjectPublicKey:Ljava/security/PublicKey;
-Ljava/security/cert/PKIXCertPathValidatorResult;->trustAnchor:Ljava/security/cert/TrustAnchor;
-Ljava/security/cert/PKIXParameters;->anyPolicyInhibited:Z
-Ljava/security/cert/PKIXParameters;->certPathCheckers:Ljava/util/List;
-Ljava/security/cert/PKIXParameters;->certSelector:Ljava/security/cert/CertSelector;
-Ljava/security/cert/PKIXParameters;->certStores:Ljava/util/List;
-Ljava/security/cert/PKIXParameters;->date:Ljava/util/Date;
-Ljava/security/cert/PKIXParameters;->explicitPolicyRequired:Z
-Ljava/security/cert/PKIXParameters;->policyMappingInhibited:Z
-Ljava/security/cert/PKIXParameters;->policyQualifiersRejected:Z
-Ljava/security/cert/PKIXParameters;->revocationEnabled:Z
-Ljava/security/cert/PKIXParameters;->sigProvider:Ljava/lang/String;
-Ljava/security/cert/PKIXParameters;->unmodInitialPolicies:Ljava/util/Set;
-Ljava/security/cert/PKIXParameters;->unmodTrustAnchors:Ljava/util/Set;
-Ljava/security/cert/PKIXReason;-><init>()V
-Ljava/security/cert/PKIXRevocationChecker$Option;-><init>()V
-Ljava/security/cert/PKIXRevocationChecker;->ocspExtensions:Ljava/util/List;
-Ljava/security/cert/PKIXRevocationChecker;->ocspResponder:Ljava/net/URI;
-Ljava/security/cert/PKIXRevocationChecker;->ocspResponderCert:Ljava/security/cert/X509Certificate;
-Ljava/security/cert/PKIXRevocationChecker;->ocspResponses:Ljava/util/Map;
-Ljava/security/cert/PKIXRevocationChecker;->options:Ljava/util/Set;
-Ljava/security/cert/PolicyQualifierInfo;->mData:[B
-Ljava/security/cert/PolicyQualifierInfo;->mEncoded:[B
-Ljava/security/cert/PolicyQualifierInfo;->mId:Ljava/lang/String;
-Ljava/security/cert/PolicyQualifierInfo;->pqiString:Ljava/lang/String;
-Ljava/security/cert/TrustAnchor;->caName:Ljava/lang/String;
-Ljava/security/cert/TrustAnchor;->caPrincipal:Ljavax/security/auth/x500/X500Principal;
-Ljava/security/cert/TrustAnchor;->nc:Lsun/security/x509/NameConstraintsExtension;
-Ljava/security/cert/TrustAnchor;->ncBytes:[B
-Ljava/security/cert/TrustAnchor;->pubKey:Ljava/security/PublicKey;
-Ljava/security/cert/TrustAnchor;->setNameConstraints([B)V
-Ljava/security/cert/TrustAnchor;->trustedCert:Ljava/security/cert/X509Certificate;
-Ljava/security/cert/X509Certificate;->issuerX500Principal:Ljavax/security/auth/x500/X500Principal;
-Ljava/security/cert/X509Certificate;->subjectX500Principal:Ljavax/security/auth/x500/X500Principal;
-Ljava/security/cert/X509CertSelector;->addPathToNameInternal(ILjava/lang/Object;)V
-Ljava/security/cert/X509CertSelector;->addSubjectAlternativeNameInternal(ILjava/lang/Object;)V
-Ljava/security/cert/X509CertSelector;->ANY_EXTENDED_KEY_USAGE:Lsun/security/util/ObjectIdentifier;
-Ljava/security/cert/X509CertSelector;->authorityKeyID:[B
-Ljava/security/cert/X509CertSelector;->basicConstraints:I
-Ljava/security/cert/X509CertSelector;->certificateValid:Ljava/util/Date;
-Ljava/security/cert/X509CertSelector;->CERT_POLICIES_ID:I
-Ljava/security/cert/X509CertSelector;->cloneAndCheckNames(Ljava/util/Collection;)Ljava/util/Set;
-Ljava/security/cert/X509CertSelector;->cloneNames(Ljava/util/Collection;)Ljava/util/Set;
-Ljava/security/cert/X509CertSelector;->cloneSet(Ljava/util/Set;)Ljava/util/Set;
-Ljava/security/cert/X509CertSelector;->debug:Lsun/security/util/Debug;
-Ljava/security/cert/X509CertSelector;->equalNames(Ljava/util/Collection;Ljava/util/Collection;)Z
-Ljava/security/cert/X509CertSelector;->EXTENDED_KEY_USAGE_ID:I
-Ljava/security/cert/X509CertSelector;->EXTENSION_OIDS:[Ljava/lang/String;
-Ljava/security/cert/X509CertSelector;->FALSE:Ljava/lang/Boolean;
-Ljava/security/cert/X509CertSelector;->getExtensionObject(Ljava/security/cert/X509Certificate;I)Ljava/security/cert/Extension;
-Ljava/security/cert/X509CertSelector;->issuer:Ljavax/security/auth/x500/X500Principal;
-Ljava/security/cert/X509CertSelector;->keyPurposeOIDSet:Ljava/util/Set;
-Ljava/security/cert/X509CertSelector;->keyPurposeSet:Ljava/util/Set;
-Ljava/security/cert/X509CertSelector;->keyUsage:[Z
-Ljava/security/cert/X509CertSelector;->keyUsageToString([Z)Ljava/lang/String;
-Ljava/security/cert/X509CertSelector;->makeGeneralNameInterface(ILjava/lang/Object;)Lsun/security/x509/GeneralNameInterface;
-Ljava/security/cert/X509CertSelector;->matchAllSubjectAltNames:Z
-Ljava/security/cert/X509CertSelector;->matchAuthorityKeyID(Ljava/security/cert/X509Certificate;)Z
-Ljava/security/cert/X509CertSelector;->matchBasicConstraints(Ljava/security/cert/X509Certificate;)Z
-Ljava/security/cert/X509CertSelector;->matchExcluded(Lsun/security/x509/GeneralSubtrees;)Z
-Ljava/security/cert/X509CertSelector;->matchExtendedKeyUsage(Ljava/security/cert/X509Certificate;)Z
-Ljava/security/cert/X509CertSelector;->matchKeyUsage(Ljava/security/cert/X509Certificate;)Z
-Ljava/security/cert/X509CertSelector;->matchNameConstraints(Ljava/security/cert/X509Certificate;)Z
-Ljava/security/cert/X509CertSelector;->matchPathToNames(Ljava/security/cert/X509Certificate;)Z
-Ljava/security/cert/X509CertSelector;->matchPermitted(Lsun/security/x509/GeneralSubtrees;)Z
-Ljava/security/cert/X509CertSelector;->matchPolicy(Ljava/security/cert/X509Certificate;)Z
-Ljava/security/cert/X509CertSelector;->matchPrivateKeyValid(Ljava/security/cert/X509Certificate;)Z
-Ljava/security/cert/X509CertSelector;->matchSubjectAlternativeNames(Ljava/security/cert/X509Certificate;)Z
-Ljava/security/cert/X509CertSelector;->matchSubjectKeyID(Ljava/security/cert/X509Certificate;)Z
-Ljava/security/cert/X509CertSelector;->matchSubjectPublicKeyAlgID(Ljava/security/cert/X509Certificate;)Z
-Ljava/security/cert/X509CertSelector;->NAME_ANY:I
-Ljava/security/cert/X509CertSelector;->NAME_CONSTRAINTS_ID:I
-Ljava/security/cert/X509CertSelector;->NAME_DIRECTORY:I
-Ljava/security/cert/X509CertSelector;->NAME_DNS:I
-Ljava/security/cert/X509CertSelector;->NAME_EDI:I
-Ljava/security/cert/X509CertSelector;->NAME_IP:I
-Ljava/security/cert/X509CertSelector;->NAME_OID:I
-Ljava/security/cert/X509CertSelector;->NAME_RFC822:I
-Ljava/security/cert/X509CertSelector;->NAME_URI:I
-Ljava/security/cert/X509CertSelector;->NAME_X400:I
-Ljava/security/cert/X509CertSelector;->nc:Lsun/security/x509/NameConstraintsExtension;
-Ljava/security/cert/X509CertSelector;->ncBytes:[B
-Ljava/security/cert/X509CertSelector;->NUM_OF_EXTENSIONS:I
-Ljava/security/cert/X509CertSelector;->parseNames(Ljava/util/Collection;)Ljava/util/Set;
-Ljava/security/cert/X509CertSelector;->pathToGeneralNames:Ljava/util/Set;
-Ljava/security/cert/X509CertSelector;->pathToNames:Ljava/util/Set;
-Ljava/security/cert/X509CertSelector;->policy:Lsun/security/x509/CertificatePolicySet;
-Ljava/security/cert/X509CertSelector;->policySet:Ljava/util/Set;
-Ljava/security/cert/X509CertSelector;->privateKeyValid:Ljava/util/Date;
-Ljava/security/cert/X509CertSelector;->PRIVATE_KEY_USAGE_ID:I
-Ljava/security/cert/X509CertSelector;->serialNumber:Ljava/math/BigInteger;
-Ljava/security/cert/X509CertSelector;->setPathToNamesInternal(Ljava/util/Set;)V
-Ljava/security/cert/X509CertSelector;->subject:Ljavax/security/auth/x500/X500Principal;
-Ljava/security/cert/X509CertSelector;->subjectAlternativeGeneralNames:Ljava/util/Set;
-Ljava/security/cert/X509CertSelector;->subjectAlternativeNames:Ljava/util/Set;
-Ljava/security/cert/X509CertSelector;->subjectKeyID:[B
-Ljava/security/cert/X509CertSelector;->subjectPublicKey:Ljava/security/PublicKey;
-Ljava/security/cert/X509CertSelector;->subjectPublicKeyAlgID:Lsun/security/util/ObjectIdentifier;
-Ljava/security/cert/X509CertSelector;->subjectPublicKeyBytes:[B
-Ljava/security/cert/X509CertSelector;->SUBJECT_ALT_NAME_ID:I
-Ljava/security/cert/X509CertSelector;->x509Cert:Ljava/security/cert/X509Certificate;
-Ljava/security/cert/X509CRL;->issuerPrincipal:Ljavax/security/auth/x500/X500Principal;
-Ljava/security/cert/X509CRLSelector;->addIssuerNameInternal(Ljava/lang/Object;Ljavax/security/auth/x500/X500Principal;)V
-Ljava/security/cert/X509CRLSelector;->certChecking:Ljava/security/cert/X509Certificate;
-Ljava/security/cert/X509CRLSelector;->cloneAndCheckIssuerNames(Ljava/util/Collection;)Ljava/util/HashSet;
-Ljava/security/cert/X509CRLSelector;->cloneIssuerNames(Ljava/util/Collection;)Ljava/util/HashSet;
-Ljava/security/cert/X509CRLSelector;->dateAndTime:Ljava/util/Date;
-Ljava/security/cert/X509CRLSelector;->debug:Lsun/security/util/Debug;
-Ljava/security/cert/X509CRLSelector;->issuerNames:Ljava/util/HashSet;
-Ljava/security/cert/X509CRLSelector;->issuerX500Principals:Ljava/util/HashSet;
-Ljava/security/cert/X509CRLSelector;->maxCRL:Ljava/math/BigInteger;
-Ljava/security/cert/X509CRLSelector;->minCRL:Ljava/math/BigInteger;
-Ljava/security/cert/X509CRLSelector;->parseIssuerNames(Ljava/util/Collection;)Ljava/util/HashSet;
-Ljava/security/cert/X509CRLSelector;->setDateAndTime(Ljava/util/Date;J)V
-Ljava/security/cert/X509CRLSelector;->skew:J
-Ljava/security/CodeSigner;->myhash:I
-Ljava/security/CodeSigner;->signerCertPath:Ljava/security/cert/CertPath;
-Ljava/security/CodeSigner;->timestamp:Ljava/security/Timestamp;
-Ljava/security/CodeSource;->location:Ljava/net/URL;
-Ljava/security/CryptoPrimitive;-><init>()V
-Ljava/security/DigestInputStream;->on:Z
-Ljava/security/DigestOutputStream;->on:Z
-Ljava/security/DomainLoadStoreParameter;->configuration:Ljava/net/URI;
-Ljava/security/DomainLoadStoreParameter;->protectionParams:Ljava/util/Map;
-Ljava/security/GuardedObject;->guard:Ljava/security/Guard;
-Ljava/security/GuardedObject;->object:Ljava/lang/Object;
-Ljava/security/Identity;->certificates:Ljava/util/Vector;
-Ljava/security/Identity;->check(Ljava/lang/String;)V
-Ljava/security/Identity;->fullName()Ljava/lang/String;
-Ljava/security/Identity;->info:Ljava/lang/String;
-Ljava/security/Identity;->keyEquals(Ljava/security/PublicKey;Ljava/security/PublicKey;)Z
-Ljava/security/Identity;->name:Ljava/lang/String;
-Ljava/security/Identity;->printCertificates()Ljava/lang/String;
-Ljava/security/Identity;->printKeys()Ljava/lang/String;
-Ljava/security/Identity;->publicKey:Ljava/security/PublicKey;
-Ljava/security/Identity;->scope:Ljava/security/IdentityScope;
-Ljava/security/IdentityScope;->check(Ljava/lang/String;)V
-Ljava/security/IdentityScope;->initializeSystemScope()V
-Ljava/security/IdentityScope;->scope:Ljava/security/IdentityScope;
-Ljava/security/KeyFactory;-><init>(Ljava/lang/String;)V
-Ljava/security/KeyFactory;->algorithm:Ljava/lang/String;
-Ljava/security/KeyFactory;->debug:Lsun/security/util/Debug;
-Ljava/security/KeyFactory;->lock:Ljava/lang/Object;
-Ljava/security/KeyFactory;->nextSpi(Ljava/security/KeyFactorySpi;)Ljava/security/KeyFactorySpi;
-Ljava/security/KeyFactory;->provider:Ljava/security/Provider;
-Ljava/security/KeyFactory;->serviceIterator:Ljava/util/Iterator;
-Ljava/security/KeyFactory;->spi:Ljava/security/KeyFactorySpi;
-Ljava/security/KeyPair;->privateKey:Ljava/security/PrivateKey;
-Ljava/security/KeyPair;->publicKey:Ljava/security/PublicKey;
-Ljava/security/KeyPairGenerator$Delegate;
-Ljava/security/KeyPairGenerator$Delegate;-><init>(Ljava/security/KeyPairGeneratorSpi;Ljava/lang/String;)V
-Ljava/security/KeyPairGenerator$Delegate;-><init>(Lsun/security/jca/GetInstance$Instance;Ljava/util/Iterator;Ljava/lang/String;)V
-Ljava/security/KeyPairGenerator$Delegate;->disableFailover()V
-Ljava/security/KeyPairGenerator$Delegate;->initKeySize:I
-Ljava/security/KeyPairGenerator$Delegate;->initParams:Ljava/security/spec/AlgorithmParameterSpec;
-Ljava/security/KeyPairGenerator$Delegate;->initRandom:Ljava/security/SecureRandom;
-Ljava/security/KeyPairGenerator$Delegate;->initType:I
-Ljava/security/KeyPairGenerator$Delegate;->I_NONE:I
-Ljava/security/KeyPairGenerator$Delegate;->I_PARAMS:I
-Ljava/security/KeyPairGenerator$Delegate;->I_SIZE:I
-Ljava/security/KeyPairGenerator$Delegate;->lock:Ljava/lang/Object;
-Ljava/security/KeyPairGenerator$Delegate;->nextSpi(Ljava/security/KeyPairGeneratorSpi;Z)Ljava/security/KeyPairGeneratorSpi;
-Ljava/security/KeyPairGenerator$Delegate;->serviceIterator:Ljava/util/Iterator;
-Ljava/security/KeyPairGenerator$Delegate;->spi:Ljava/security/KeyPairGeneratorSpi;
-Ljava/security/KeyPairGenerator;->algorithm:Ljava/lang/String;
-Ljava/security/KeyPairGenerator;->disableFailover()V
-Ljava/security/KeyPairGenerator;->provider:Ljava/security/Provider;
-Ljava/security/KeyRep$Type;-><init>()V
-Ljava/security/KeyRep;->algorithm:Ljava/lang/String;
-Ljava/security/KeyRep;->encoded:[B
-Ljava/security/KeyRep;->format:Ljava/lang/String;
-Ljava/security/KeyRep;->PKCS8:Ljava/lang/String;
-Ljava/security/KeyRep;->RAW:Ljava/lang/String;
-Ljava/security/KeyRep;->type:Ljava/security/KeyRep$Type;
-Ljava/security/KeyRep;->X509:Ljava/lang/String;
-Ljava/security/KeyStore$Builder$FileBuilder;
-Ljava/security/KeyStore$Builder$FileBuilder;-><init>(Ljava/lang/String;Ljava/security/Provider;Ljava/io/File;Ljava/security/KeyStore$ProtectionParameter;Ljava/security/AccessControlContext;)V
-Ljava/security/KeyStore$Builder$FileBuilder;->context:Ljava/security/AccessControlContext;
-Ljava/security/KeyStore$Builder$FileBuilder;->file:Ljava/io/File;
-Ljava/security/KeyStore$Builder$FileBuilder;->keyProtection:Ljava/security/KeyStore$ProtectionParameter;
-Ljava/security/KeyStore$Builder$FileBuilder;->keyStore:Ljava/security/KeyStore;
-Ljava/security/KeyStore$Builder$FileBuilder;->oldException:Ljava/lang/Throwable;
-Ljava/security/KeyStore$Builder$FileBuilder;->protection:Ljava/security/KeyStore$ProtectionParameter;
-Ljava/security/KeyStore$Builder$FileBuilder;->provider:Ljava/security/Provider;
-Ljava/security/KeyStore$Builder$FileBuilder;->type:Ljava/lang/String;
-Ljava/security/KeyStore$Builder;->MAX_CALLBACK_TRIES:I
-Ljava/security/KeyStore$CallbackHandlerProtection;->handler:Ljavax/security/auth/callback/CallbackHandler;
-Ljava/security/KeyStore$PasswordProtection;->destroyed:Z
-Ljava/security/KeyStore$PasswordProtection;->password:[C
-Ljava/security/KeyStore$PasswordProtection;->protectionAlgorithm:Ljava/lang/String;
-Ljava/security/KeyStore$PasswordProtection;->protectionParameters:Ljava/security/spec/AlgorithmParameterSpec;
-Ljava/security/KeyStore$PrivateKeyEntry;->attributes:Ljava/util/Set;
-Ljava/security/KeyStore$PrivateKeyEntry;->chain:[Ljava/security/cert/Certificate;
-Ljava/security/KeyStore$PrivateKeyEntry;->privKey:Ljava/security/PrivateKey;
-Ljava/security/KeyStore$SecretKeyEntry;->attributes:Ljava/util/Set;
-Ljava/security/KeyStore$SecretKeyEntry;->sKey:Ljavax/crypto/SecretKey;
-Ljava/security/KeyStore$SimpleLoadStoreParameter;
-Ljava/security/KeyStore$SimpleLoadStoreParameter;-><init>(Ljava/security/KeyStore$ProtectionParameter;)V
-Ljava/security/KeyStore$SimpleLoadStoreParameter;->protection:Ljava/security/KeyStore$ProtectionParameter;
-Ljava/security/KeyStore$TrustedCertificateEntry;->attributes:Ljava/util/Set;
-Ljava/security/KeyStore$TrustedCertificateEntry;->cert:Ljava/security/cert/Certificate;
-Ljava/security/KeyStore;->initialized:Z
-Ljava/security/KeyStore;->KEYSTORE_TYPE:Ljava/lang/String;
-Ljava/security/KeyStore;->provider:Ljava/security/Provider;
-Ljava/security/KeyStore;->type:Ljava/lang/String;
-Ljava/security/MessageDigest$Delegate;
-Ljava/security/MessageDigest$Delegate;-><init>(Ljava/security/MessageDigestSpi;Ljava/lang/String;)V
-Ljava/security/MessageDigest$Delegate;->digestSpi:Ljava/security/MessageDigestSpi;
-Ljava/security/MessageDigest;->algorithm:Ljava/lang/String;
-Ljava/security/MessageDigest;->INITIAL:I
-Ljava/security/MessageDigest;->IN_PROGRESS:I
-Ljava/security/MessageDigest;->provider:Ljava/security/Provider;
-Ljava/security/MessageDigest;->state:I
-Ljava/security/MessageDigestSpi;->tempArray:[B
-Ljava/security/Permission;->name:Ljava/lang/String;
-Ljava/security/PKCS12Attribute;->COLON_SEPARATED_HEX_PAIRS:Ljava/util/regex/Pattern;
-Ljava/security/PKCS12Attribute;->encode(Lsun/security/util/ObjectIdentifier;[Ljava/lang/String;)[B
-Ljava/security/PKCS12Attribute;->encoded:[B
-Ljava/security/PKCS12Attribute;->hashValue:I
-Ljava/security/PKCS12Attribute;->name:Ljava/lang/String;
-Ljava/security/PKCS12Attribute;->parse([B)V
-Ljava/security/PKCS12Attribute;->value:Ljava/lang/String;
-Ljava/security/Policy$UnsupportedEmptyCollection;
-Ljava/security/Policy$UnsupportedEmptyCollection;-><init>()V
-Ljava/security/PrivilegedActionException;->exception:Ljava/lang/Exception;
-Ljava/security/Provider$EngineDescription;
-Ljava/security/Provider$EngineDescription;-><init>(Ljava/lang/String;ZLjava/lang/String;)V
-Ljava/security/Provider$EngineDescription;->constructorParameterClass:Ljava/lang/Class;
-Ljava/security/Provider$EngineDescription;->constructorParameterClassName:Ljava/lang/String;
-Ljava/security/Provider$EngineDescription;->getConstructorParameterClass()Ljava/lang/Class;
-Ljava/security/Provider$EngineDescription;->name:Ljava/lang/String;
-Ljava/security/Provider$EngineDescription;->supportsParameter:Z
-Ljava/security/Provider$Service;-><init>(Ljava/security/Provider;)V
-Ljava/security/Provider$Service;->addAlias(Ljava/lang/String;)V
-Ljava/security/Provider$Service;->addAttribute(Ljava/lang/String;Ljava/lang/String;)V
-Ljava/security/Provider$Service;->algorithm:Ljava/lang/String;
-Ljava/security/Provider$Service;->aliases:Ljava/util/List;
-Ljava/security/Provider$Service;->attributes:Ljava/util/Map;
-Ljava/security/Provider$Service;->CLASS0:[Ljava/lang/Class;
-Ljava/security/Provider$Service;->className:Ljava/lang/String;
-Ljava/security/Provider$Service;->classRef:Ljava/lang/ref/Reference;
-Ljava/security/Provider$Service;->getAliases()Ljava/util/List;
-Ljava/security/Provider$Service;->getImplClass()Ljava/lang/Class;
-Ljava/security/Provider$Service;->getKeyClass(Ljava/lang/String;)Ljava/lang/Class;
-Ljava/security/Provider$Service;->hasKeyAttributes()Z
-Ljava/security/Provider$Service;->hasKeyAttributes:Ljava/lang/Boolean;
-Ljava/security/Provider$Service;->isValid()Z
-Ljava/security/Provider$Service;->newInstanceGeneric(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/security/Provider$Service;->provider:Ljava/security/Provider;
-Ljava/security/Provider$Service;->registered:Z
-Ljava/security/Provider$Service;->supportedClasses:[Ljava/lang/Class;
-Ljava/security/Provider$Service;->supportedFormats:[Ljava/lang/String;
-Ljava/security/Provider$Service;->supportsKeyClass(Ljava/security/Key;)Z
-Ljava/security/Provider$Service;->supportsKeyFormat(Ljava/security/Key;)Z
-Ljava/security/Provider$Service;->type:Ljava/lang/String;
-Ljava/security/Provider$ServiceKey;
-Ljava/security/Provider$ServiceKey;-><init>(Ljava/lang/String;Ljava/lang/String;Z)V
-Ljava/security/Provider$ServiceKey;->algorithm:Ljava/lang/String;
-Ljava/security/Provider$ServiceKey;->matches(Ljava/lang/String;Ljava/lang/String;)Z
-Ljava/security/Provider$ServiceKey;->originalAlgorithm:Ljava/lang/String;
-Ljava/security/Provider$ServiceKey;->type:Ljava/lang/String;
-Ljava/security/Provider$UString;
-Ljava/security/Provider$UString;-><init>(Ljava/lang/String;)V
-Ljava/security/Provider$UString;->lowerString:Ljava/lang/String;
-Ljava/security/Provider$UString;->string:Ljava/lang/String;
-Ljava/security/Provider;->addEngine(Ljava/lang/String;ZLjava/lang/String;)V
-Ljava/security/Provider;->ALIAS_LENGTH:I
-Ljava/security/Provider;->ALIAS_PREFIX:Ljava/lang/String;
-Ljava/security/Provider;->ALIAS_PREFIX_LOWER:Ljava/lang/String;
-Ljava/security/Provider;->check(Ljava/lang/String;)V
-Ljava/security/Provider;->checkInitialized()V
-Ljava/security/Provider;->checkLegacy(Ljava/lang/Object;)Z
-Ljava/security/Provider;->debug:Lsun/security/util/Debug;
-Ljava/security/Provider;->ensureLegacyParsed()V
-Ljava/security/Provider;->entrySet:Ljava/util/Set;
-Ljava/security/Provider;->entrySetCallCount:I
-Ljava/security/Provider;->getEngineName(Ljava/lang/String;)Ljava/lang/String;
-Ljava/security/Provider;->getTypeAndAlgorithm(Ljava/lang/String;)[Ljava/lang/String;
-Ljava/security/Provider;->implClear()V
-Ljava/security/Provider;->implCompute(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
-Ljava/security/Provider;->implComputeIfAbsent(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
-Ljava/security/Provider;->implComputeIfPresent(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
-Ljava/security/Provider;->implMerge(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
-Ljava/security/Provider;->implPut(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/security/Provider;->implPutAll(Ljava/util/Map;)V
-Ljava/security/Provider;->implPutIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/security/Provider;->implRemove(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/security/Provider;->implRemove(Ljava/lang/Object;Ljava/lang/Object;)Z
-Ljava/security/Provider;->implRemoveService(Ljava/security/Provider$Service;)V
-Ljava/security/Provider;->implReplace(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/security/Provider;->implReplace(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
-Ljava/security/Provider;->implReplaceAll(Ljava/util/function/BiFunction;)V
-Ljava/security/Provider;->info:Ljava/lang/String;
-Ljava/security/Provider;->initialized:Z
-Ljava/security/Provider;->isRegistered()Z
-Ljava/security/Provider;->knownEngines:Ljava/util/Map;
-Ljava/security/Provider;->legacyChanged:Z
-Ljava/security/Provider;->legacyMap:Ljava/util/Map;
-Ljava/security/Provider;->legacyStrings:Ljava/util/Map;
-Ljava/security/Provider;->name:Ljava/lang/String;
-Ljava/security/Provider;->parseLegacyPut(Ljava/lang/String;Ljava/lang/String;)V
-Ljava/security/Provider;->previousKey:Ljava/security/Provider$ServiceKey;
-Ljava/security/Provider;->putId()V
-Ljava/security/Provider;->putPropertyStrings(Ljava/security/Provider$Service;)V
-Ljava/security/Provider;->registered:Z
-Ljava/security/Provider;->removeInvalidServices(Ljava/util/Map;)V
-Ljava/security/Provider;->removePropertyStrings(Ljava/security/Provider$Service;)V
-Ljava/security/Provider;->serviceMap:Ljava/util/Map;
-Ljava/security/Provider;->servicesChanged:Z
-Ljava/security/Provider;->serviceSet:Ljava/util/Set;
-Ljava/security/Provider;->setRegistered()V
-Ljava/security/Provider;->setUnregistered()V
-Ljava/security/Provider;->version:D
-Ljava/security/Provider;->warmUpServiceProvision()V
-Ljava/security/SecureClassLoader;->check()V
-Ljava/security/SecureClassLoader;->debug:Lsun/security/util/Debug;
-Ljava/security/SecureClassLoader;->getProtectionDomain(Ljava/security/CodeSource;)Ljava/security/ProtectionDomain;
-Ljava/security/SecureClassLoader;->initialized:Z
-Ljava/security/SecureClassLoader;->pdcache:Ljava/util/HashMap;
-Ljava/security/SecureRandom$StrongPatternHolder;
-Ljava/security/SecureRandom$StrongPatternHolder;-><init>()V
-Ljava/security/SecureRandom$StrongPatternHolder;->pattern:Ljava/util/regex/Pattern;
-Ljava/security/SecureRandom;-><init>(Ljava/security/SecureRandomSpi;Ljava/security/Provider;Ljava/lang/String;)V
-Ljava/security/SecureRandom;->algorithm:Ljava/lang/String;
-Ljava/security/SecureRandom;->counter:J
-Ljava/security/SecureRandom;->digest:Ljava/security/MessageDigest;
-Ljava/security/SecureRandom;->getDefaultPRNG(Z[B)V
-Ljava/security/SecureRandom;->getPrngAlgorithm()Ljava/lang/String;
-Ljava/security/SecureRandom;->getSecureRandomSpi()Ljava/security/SecureRandomSpi;
-Ljava/security/SecureRandom;->longToByteArray(J)[B
-Ljava/security/SecureRandom;->provider:Ljava/security/Provider;
-Ljava/security/SecureRandom;->randomBytes:[B
-Ljava/security/SecureRandom;->randomBytesUsed:I
-Ljava/security/SecureRandom;->secureRandomSpi:Ljava/security/SecureRandomSpi;
-Ljava/security/SecureRandom;->seedGenerator:Ljava/security/SecureRandom;
-Ljava/security/SecureRandom;->state:[B
-Ljava/security/Security$ProviderProperty;
-Ljava/security/Security$ProviderProperty;-><init>()V
-Ljava/security/Security$ProviderProperty;->className:Ljava/lang/String;
-Ljava/security/Security$ProviderProperty;->provider:Ljava/security/Provider;
-Ljava/security/Security;-><init>()V
-Ljava/security/Security;->getAllQualifyingCandidates(Ljava/lang/String;Ljava/lang/String;[Ljava/security/Provider;)Ljava/util/LinkedHashSet;
-Ljava/security/Security;->getFilterComponents(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-Ljava/security/Security;->getImpl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/Object;
-Ljava/security/Security;->getImpl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)[Ljava/lang/Object;
-Ljava/security/Security;->getImpl(Ljava/lang/String;Ljava/lang/String;Ljava/security/Provider;)[Ljava/lang/Object;
-Ljava/security/Security;->getImpl(Ljava/lang/String;Ljava/lang/String;Ljava/security/Provider;Ljava/lang/Object;)[Ljava/lang/Object;
-Ljava/security/Security;->getProviderProperty(Ljava/lang/String;)Ljava/security/Security$ProviderProperty;
-Ljava/security/Security;->getProviderProperty(Ljava/lang/String;Ljava/security/Provider;)Ljava/lang/String;
-Ljava/security/Security;->getProvidersNotUsingCache(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/security/Provider;)Ljava/util/LinkedHashSet;
-Ljava/security/Security;->getSpiClass(Ljava/lang/String;)Ljava/lang/Class;
-Ljava/security/Security;->getVersion()I
-Ljava/security/Security;->increaseVersion()V
-Ljava/security/Security;->initializeStatic()V
-Ljava/security/Security;->invalidateSMCache(Ljava/lang/String;)V
-Ljava/security/Security;->isConstraintSatisfied(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-Ljava/security/Security;->isCriterionSatisfied(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-Ljava/security/Security;->isStandardAttr(Ljava/lang/String;)Z
-Ljava/security/Security;->props:Ljava/util/Properties;
-Ljava/security/Security;->spiMap:Ljava/util/Map;
-Ljava/security/Security;->version:Ljava/util/concurrent/atomic/AtomicInteger;
-Ljava/security/Signature$CipherAdapter;
-Ljava/security/Signature$CipherAdapter;-><init>(Ljavax/crypto/Cipher;)V
-Ljava/security/Signature$CipherAdapter;->cipher:Ljavax/crypto/Cipher;
-Ljava/security/Signature$CipherAdapter;->data:Ljava/io/ByteArrayOutputStream;
-Ljava/security/Signature$Delegate;
-Ljava/security/Signature$Delegate;-><init>(Ljava/lang/String;)V
-Ljava/security/Signature$Delegate;-><init>(Ljava/security/SignatureSpi;Ljava/lang/String;)V
-Ljava/security/Signature$Delegate;->chooseFirstProvider()V
-Ljava/security/Signature$Delegate;->chooseProvider(ILjava/security/Key;Ljava/security/SecureRandom;)V
-Ljava/security/Signature$Delegate;->getCurrentSpi()Ljava/security/SignatureSpi;
-Ljava/security/Signature$Delegate;->init(Ljava/security/SignatureSpi;ILjava/security/Key;Ljava/security/SecureRandom;)V
-Ljava/security/Signature$Delegate;->I_PRIV:I
-Ljava/security/Signature$Delegate;->I_PRIV_SR:I
-Ljava/security/Signature$Delegate;->I_PUB:I
-Ljava/security/Signature$Delegate;->lock:Ljava/lang/Object;
-Ljava/security/Signature$Delegate;->newInstance(Ljava/security/Provider$Service;)Ljava/security/SignatureSpi;
-Ljava/security/Signature$Delegate;->sigSpi:Ljava/security/SignatureSpi;
-Ljava/security/Signature$Delegate;->warnCount:I
-Ljava/security/Signature;->algorithm:Ljava/lang/String;
-Ljava/security/Signature;->chooseFirstProvider()V
-Ljava/security/Signature;->getCurrentSpi()Ljava/security/SignatureSpi;
-Ljava/security/Signature;->getInstanceRSA(Ljava/security/Provider;)Ljava/security/Signature;
-Ljava/security/Signature;->isSpi(Ljava/security/Provider$Service;)Z
-Ljava/security/Signature;->provider:Ljava/security/Provider;
-Ljava/security/Signature;->rsaIds:Ljava/util/List;
-Ljava/security/Signature;->RSA_CIPHER:Ljava/lang/String;
-Ljava/security/Signature;->RSA_SIGNATURE:Ljava/lang/String;
-Ljava/security/Signature;->signatureInfo:Ljava/util/Map;
-Ljava/security/SignedObject;->content:[B
-Ljava/security/SignedObject;->sign(Ljava/security/PrivateKey;Ljava/security/Signature;)V
-Ljava/security/SignedObject;->signature:[B
-Ljava/security/SignedObject;->thealgorithm:Ljava/lang/String;
-Ljava/security/Signer;->check(Ljava/lang/String;)V
-Ljava/security/Signer;->printKeys()Ljava/lang/String;
-Ljava/security/Signer;->privateKey:Ljava/security/PrivateKey;
-Ljava/security/spec/DSAParameterSpec;->g:Ljava/math/BigInteger;
-Ljava/security/spec/DSAParameterSpec;->p:Ljava/math/BigInteger;
-Ljava/security/spec/DSAParameterSpec;->q:Ljava/math/BigInteger;
-Ljava/security/spec/DSAPrivateKeySpec;->g:Ljava/math/BigInteger;
-Ljava/security/spec/DSAPrivateKeySpec;->p:Ljava/math/BigInteger;
-Ljava/security/spec/DSAPrivateKeySpec;->q:Ljava/math/BigInteger;
-Ljava/security/spec/DSAPrivateKeySpec;->x:Ljava/math/BigInteger;
-Ljava/security/spec/DSAPublicKeySpec;->g:Ljava/math/BigInteger;
-Ljava/security/spec/DSAPublicKeySpec;->p:Ljava/math/BigInteger;
-Ljava/security/spec/DSAPublicKeySpec;->q:Ljava/math/BigInteger;
-Ljava/security/spec/DSAPublicKeySpec;->y:Ljava/math/BigInteger;
-Ljava/security/spec/ECFieldF2m;->ks:[I
-Ljava/security/spec/ECFieldF2m;->m:I
-Ljava/security/spec/ECFieldF2m;->rp:Ljava/math/BigInteger;
-Ljava/security/spec/ECFieldFp;->p:Ljava/math/BigInteger;
-Ljava/security/spec/ECGenParameterSpec;->name:Ljava/lang/String;
-Ljava/security/spec/ECParameterSpec;->curve:Ljava/security/spec/EllipticCurve;
-Ljava/security/spec/ECParameterSpec;->curveName:Ljava/lang/String;
-Ljava/security/spec/ECParameterSpec;->g:Ljava/security/spec/ECPoint;
-Ljava/security/spec/ECParameterSpec;->h:I
-Ljava/security/spec/ECParameterSpec;->n:Ljava/math/BigInteger;
-Ljava/security/spec/ECPoint;-><init>()V
-Ljava/security/spec/ECPoint;->x:Ljava/math/BigInteger;
-Ljava/security/spec/ECPoint;->y:Ljava/math/BigInteger;
-Ljava/security/spec/ECPrivateKeySpec;->params:Ljava/security/spec/ECParameterSpec;
-Ljava/security/spec/ECPrivateKeySpec;->s:Ljava/math/BigInteger;
-Ljava/security/spec/ECPublicKeySpec;->params:Ljava/security/spec/ECParameterSpec;
-Ljava/security/spec/ECPublicKeySpec;->w:Ljava/security/spec/ECPoint;
-Ljava/security/spec/EllipticCurve;->a:Ljava/math/BigInteger;
-Ljava/security/spec/EllipticCurve;->b:Ljava/math/BigInteger;
-Ljava/security/spec/EllipticCurve;->checkValidity(Ljava/security/spec/ECField;Ljava/math/BigInteger;Ljava/lang/String;)V
-Ljava/security/spec/EllipticCurve;->field:Ljava/security/spec/ECField;
-Ljava/security/spec/EllipticCurve;->seed:[B
-Ljava/security/spec/EncodedKeySpec;->encodedKey:[B
-Ljava/security/spec/MGF1ParameterSpec;->mdName:Ljava/lang/String;
-Ljava/security/spec/PSSParameterSpec;-><init>()V
-Ljava/security/spec/PSSParameterSpec;->mdName:Ljava/lang/String;
-Ljava/security/spec/PSSParameterSpec;->mgfName:Ljava/lang/String;
-Ljava/security/spec/PSSParameterSpec;->mgfSpec:Ljava/security/spec/AlgorithmParameterSpec;
-Ljava/security/spec/PSSParameterSpec;->saltLen:I
-Ljava/security/spec/PSSParameterSpec;->trailerField:I
-Ljava/security/spec/RSAKeyGenParameterSpec;->keysize:I
-Ljava/security/spec/RSAKeyGenParameterSpec;->publicExponent:Ljava/math/BigInteger;
-Ljava/security/spec/RSAMultiPrimePrivateCrtKeySpec;->crtCoefficient:Ljava/math/BigInteger;
-Ljava/security/spec/RSAMultiPrimePrivateCrtKeySpec;->otherPrimeInfo:[Ljava/security/spec/RSAOtherPrimeInfo;
-Ljava/security/spec/RSAMultiPrimePrivateCrtKeySpec;->primeExponentP:Ljava/math/BigInteger;
-Ljava/security/spec/RSAMultiPrimePrivateCrtKeySpec;->primeExponentQ:Ljava/math/BigInteger;
-Ljava/security/spec/RSAMultiPrimePrivateCrtKeySpec;->primeP:Ljava/math/BigInteger;
-Ljava/security/spec/RSAMultiPrimePrivateCrtKeySpec;->primeQ:Ljava/math/BigInteger;
-Ljava/security/spec/RSAMultiPrimePrivateCrtKeySpec;->publicExponent:Ljava/math/BigInteger;
-Ljava/security/spec/RSAOtherPrimeInfo;->crtCoefficient:Ljava/math/BigInteger;
-Ljava/security/spec/RSAOtherPrimeInfo;->prime:Ljava/math/BigInteger;
-Ljava/security/spec/RSAOtherPrimeInfo;->primeExponent:Ljava/math/BigInteger;
-Ljava/security/spec/RSAPrivateCrtKeySpec;->crtCoefficient:Ljava/math/BigInteger;
-Ljava/security/spec/RSAPrivateCrtKeySpec;->primeExponentP:Ljava/math/BigInteger;
-Ljava/security/spec/RSAPrivateCrtKeySpec;->primeExponentQ:Ljava/math/BigInteger;
-Ljava/security/spec/RSAPrivateCrtKeySpec;->primeP:Ljava/math/BigInteger;
-Ljava/security/spec/RSAPrivateCrtKeySpec;->primeQ:Ljava/math/BigInteger;
-Ljava/security/spec/RSAPrivateCrtKeySpec;->publicExponent:Ljava/math/BigInteger;
-Ljava/security/spec/RSAPrivateKeySpec;->modulus:Ljava/math/BigInteger;
-Ljava/security/spec/RSAPrivateKeySpec;->privateExponent:Ljava/math/BigInteger;
-Ljava/security/spec/RSAPublicKeySpec;->modulus:Ljava/math/BigInteger;
-Ljava/security/spec/RSAPublicKeySpec;->publicExponent:Ljava/math/BigInteger;
-Ljava/security/Timestamp;->myhash:I
-Ljava/security/Timestamp;->signerCertPath:Ljava/security/cert/CertPath;
-Ljava/security/Timestamp;->timestamp:Ljava/util/Date;
-Ljava/sql/BatchUpdateException;->updateCounts:[I
-Ljava/sql/ClientInfoStatus;-><init>()V
-Ljava/sql/DataTruncation;->dataSize:I
-Ljava/sql/DataTruncation;->index:I
-Ljava/sql/DataTruncation;->parameter:Z
-Ljava/sql/DataTruncation;->read:Z
-Ljava/sql/DataTruncation;->transferSize:I
-Ljava/sql/DriverInfo;
-Ljava/sql/DriverInfo;-><init>(Ljava/sql/Driver;)V
-Ljava/sql/DriverInfo;->driver:Ljava/sql/Driver;
-Ljava/sql/DriverManager;-><init>()V
-Ljava/sql/DriverManager;->getConnection(Ljava/lang/String;Ljava/util/Properties;Ljava/lang/ClassLoader;)Ljava/sql/Connection;
-Ljava/sql/DriverManager;->isDriverAllowed(Ljava/sql/Driver;Ljava/lang/ClassLoader;)Z
-Ljava/sql/DriverManager;->loadInitialDrivers()V
-Ljava/sql/DriverManager;->loginTimeout:I
-Ljava/sql/DriverManager;->logStream:Ljava/io/PrintStream;
-Ljava/sql/DriverManager;->logSync:Ljava/lang/Object;
-Ljava/sql/DriverManager;->logWriter:Ljava/io/PrintWriter;
-Ljava/sql/DriverManager;->registeredDrivers:Ljava/util/concurrent/CopyOnWriteArrayList;
-Ljava/sql/DriverManager;->SET_LOG_PERMISSION:Ljava/sql/SQLPermission;
-Ljava/sql/RowIdLifetime;-><init>()V
-Ljava/sql/SQLClientInfoException;->failedProperties:Ljava/util/Map;
-Ljava/sql/SQLException;->next:Ljava/sql/SQLException;
-Ljava/sql/SQLException;->nextUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
-Ljava/sql/SQLException;->SQLState:Ljava/lang/String;
-Ljava/sql/SQLException;->vendorCode:I
-Ljava/sql/Timestamp;->nanos:I
-Ljava/sql/Types;-><init>()V
-Ljava/text/Annotation;->value:Ljava/lang/Object;
-Ljava/text/AttributedCharacterIterator$Attribute;->instanceMap:Ljava/util/Map;
-Ljava/text/AttributedCharacterIterator$Attribute;->name:Ljava/lang/String;
-Ljava/text/AttributedString$AttributedStringIterator;
-Ljava/text/AttributedString$AttributedStringIterator;-><init>([Ljava/text/AttributedCharacterIterator$Attribute;II)V
-Ljava/text/AttributedString$AttributedStringIterator;->beginIndex:I
-Ljava/text/AttributedString$AttributedStringIterator;->currentIndex:I
-Ljava/text/AttributedString$AttributedStringIterator;->currentRunIndex:I
-Ljava/text/AttributedString$AttributedStringIterator;->currentRunLimit:I
-Ljava/text/AttributedString$AttributedStringIterator;->currentRunStart:I
-Ljava/text/AttributedString$AttributedStringIterator;->endIndex:I
-Ljava/text/AttributedString$AttributedStringIterator;->getString()Ljava/text/AttributedString;
-Ljava/text/AttributedString$AttributedStringIterator;->internalSetIndex(I)C
-Ljava/text/AttributedString$AttributedStringIterator;->relevantAttributes:[Ljava/text/AttributedCharacterIterator$Attribute;
-Ljava/text/AttributedString$AttributedStringIterator;->updateRunInfo()V
-Ljava/text/AttributedString$AttributeMap;
-Ljava/text/AttributedString$AttributeMap;-><init>(III)V
-Ljava/text/AttributedString$AttributeMap;->beginIndex:I
-Ljava/text/AttributedString$AttributeMap;->endIndex:I
-Ljava/text/AttributedString$AttributeMap;->runIndex:I
-Ljava/text/AttributedString;-><init>([Ljava/text/AttributedCharacterIterator;)V
-Ljava/text/AttributedString;->addAttributeImpl(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
-Ljava/text/AttributedString;->addAttributeRunData(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
-Ljava/text/AttributedString;->appendContents(Ljava/lang/StringBuffer;Ljava/text/CharacterIterator;)V
-Ljava/text/AttributedString;->ARRAY_SIZE_INCREMENT:I
-Ljava/text/AttributedString;->attributeValuesMatch(Ljava/util/Set;II)Z
-Ljava/text/AttributedString;->charAt(I)C
-Ljava/text/AttributedString;->createRunAttributeDataVectors()V
-Ljava/text/AttributedString;->ensureRunBreak(I)I
-Ljava/text/AttributedString;->ensureRunBreak(IZ)I
-Ljava/text/AttributedString;->getAttribute(Ljava/text/AttributedCharacterIterator$Attribute;I)Ljava/lang/Object;
-Ljava/text/AttributedString;->getAttributeCheckRange(Ljava/text/AttributedCharacterIterator$Attribute;III)Ljava/lang/Object;
-Ljava/text/AttributedString;->length()I
-Ljava/text/AttributedString;->mapsDiffer(Ljava/util/Map;Ljava/util/Map;)Z
-Ljava/text/AttributedString;->runArraySize:I
-Ljava/text/AttributedString;->runAttributes:[Ljava/util/Vector;
-Ljava/text/AttributedString;->runAttributeValues:[Ljava/util/Vector;
-Ljava/text/AttributedString;->runCount:I
-Ljava/text/AttributedString;->runStarts:[I
-Ljava/text/AttributedString;->setAttributes(Ljava/util/Map;I)V
-Ljava/text/AttributedString;->text:Ljava/lang/String;
-Ljava/text/AttributedString;->valuesMatch(Ljava/lang/Object;Ljava/lang/Object;)Z
-Ljava/text/Bidi;-><init>(Landroid/icu/text/Bidi;)V
-Ljava/text/Bidi;->bidiBase:Landroid/icu/text/Bidi;
-Ljava/text/Bidi;->translateConstToIcu(I)I
-Ljava/text/CalendarBuilder;
-Ljava/text/CalendarBuilder;-><init>()V
-Ljava/text/CalendarBuilder;->addYear(I)Ljava/text/CalendarBuilder;
-Ljava/text/CalendarBuilder;->clear(I)Ljava/text/CalendarBuilder;
-Ljava/text/CalendarBuilder;->COMPUTED:I
-Ljava/text/CalendarBuilder;->establish(Ljava/util/Calendar;)Ljava/util/Calendar;
-Ljava/text/CalendarBuilder;->field:[I
-Ljava/text/CalendarBuilder;->ISO_DAY_OF_WEEK:I
-Ljava/text/CalendarBuilder;->isSet(I)Z
-Ljava/text/CalendarBuilder;->isValidDayOfWeek(I)Z
-Ljava/text/CalendarBuilder;->maxFieldIndex:I
-Ljava/text/CalendarBuilder;->MAX_FIELD:I
-Ljava/text/CalendarBuilder;->MINIMUM_USER_STAMP:I
-Ljava/text/CalendarBuilder;->nextStamp:I
-Ljava/text/CalendarBuilder;->set(II)Ljava/text/CalendarBuilder;
-Ljava/text/CalendarBuilder;->toCalendarDayOfWeek(I)I
-Ljava/text/CalendarBuilder;->toISODayOfWeek(I)I
-Ljava/text/CalendarBuilder;->UNSET:I
-Ljava/text/CalendarBuilder;->WEEK_YEAR:I
-Ljava/text/ChoiceFormat;->choiceFormats:[Ljava/lang/String;
-Ljava/text/ChoiceFormat;->choiceLimits:[D
-Ljava/text/ChoiceFormat;->doubleArraySize([D)[D
-Ljava/text/ChoiceFormat;->doubleArraySize([Ljava/lang/String;)[Ljava/lang/String;
-Ljava/text/ChoiceFormat;->EXPONENT:J
-Ljava/text/ChoiceFormat;->POSITIVEINFINITY:J
-Ljava/text/ChoiceFormat;->SIGN:J
-Ljava/text/CollationElementIterator;-><init>(Landroid/icu/text/CollationElementIterator;)V
-Ljava/text/CollationElementIterator;->icuIterator:Landroid/icu/text/CollationElementIterator;
-Ljava/text/CollationKey;->source:Ljava/lang/String;
-Ljava/text/Collator;-><init>(Landroid/icu/text/Collator;)V
-Ljava/text/Collator;->decompositionMode_ICU_Java(I)I
-Ljava/text/Collator;->decompositionMode_Java_ICU(I)I
-Ljava/text/DateFormat$Field;->calendarField:I
-Ljava/text/DateFormat$Field;->calendarToFieldMapping:[Ljava/text/DateFormat$Field;
-Ljava/text/DateFormat$Field;->instanceMap:Ljava/util/Map;
-Ljava/text/DateFormat;->get(IIILjava/util/Locale;)Ljava/text/DateFormat;
-Ljava/text/DateFormat;->set24HourTimePref(Ljava/lang/Boolean;)V
-Ljava/text/DateFormatSymbols;->ampms:[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->cachedHashCode:I
-Ljava/text/DateFormatSymbols;->cachedInstances:Ljava/util/concurrent/ConcurrentMap;
-Ljava/text/DateFormatSymbols;->copyMembers(Ljava/text/DateFormatSymbols;Ljava/text/DateFormatSymbols;)V
-Ljava/text/DateFormatSymbols;->currentSerialVersion:I
-Ljava/text/DateFormatSymbols;->eras:[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->getCachedInstance(Ljava/util/Locale;)Ljava/text/DateFormatSymbols;
-Ljava/text/DateFormatSymbols;->getInstanceRef(Ljava/util/Locale;)Ljava/text/DateFormatSymbols;
-Ljava/text/DateFormatSymbols;->getShortStandAloneMonths()[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->getShortStandAloneWeekdays()[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->getStandAloneMonths()[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->getStandAloneWeekdays()[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->getTinyMonths()[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->getTinyStandAloneMonths()[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->getTinyStandAloneWeekdays()[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->getTinyWeekdays()[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->getZoneIndex(Ljava/lang/String;)I
-Ljava/text/DateFormatSymbols;->getZoneStringsImpl(Z)[[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->getZoneStringsWrapper()[[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->initializeData(Ljava/util/Locale;)V
-Ljava/text/DateFormatSymbols;->initializeSupplementaryData(Llibcore/icu/LocaleData;)V
-Ljava/text/DateFormatSymbols;->internalZoneStrings()[[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->isSubclassObject()Z
-Ljava/text/DateFormatSymbols;->isZoneStringsSet:Z
-Ljava/text/DateFormatSymbols;->lastZoneIndex:I
-Ljava/text/DateFormatSymbols;->locale:Ljava/util/Locale;
-Ljava/text/DateFormatSymbols;->localPatternChars:Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->millisPerHour:I
-Ljava/text/DateFormatSymbols;->months:[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->patternChars:Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->PATTERN_AM_PM:I
-Ljava/text/DateFormatSymbols;->PATTERN_DAY_OF_MONTH:I
-Ljava/text/DateFormatSymbols;->PATTERN_DAY_OF_WEEK:I
-Ljava/text/DateFormatSymbols;->PATTERN_DAY_OF_WEEK_IN_MONTH:I
-Ljava/text/DateFormatSymbols;->PATTERN_DAY_OF_YEAR:I
-Ljava/text/DateFormatSymbols;->PATTERN_DAY_PERIOD:I
-Ljava/text/DateFormatSymbols;->PATTERN_ERA:I
-Ljava/text/DateFormatSymbols;->PATTERN_FLEXIBLE_DAY_PERIOD:I
-Ljava/text/DateFormatSymbols;->PATTERN_HOUR0:I
-Ljava/text/DateFormatSymbols;->PATTERN_HOUR1:I
-Ljava/text/DateFormatSymbols;->PATTERN_HOUR_OF_DAY0:I
-Ljava/text/DateFormatSymbols;->PATTERN_HOUR_OF_DAY1:I
-Ljava/text/DateFormatSymbols;->PATTERN_ISO_DAY_OF_WEEK:I
-Ljava/text/DateFormatSymbols;->PATTERN_ISO_ZONE:I
-Ljava/text/DateFormatSymbols;->PATTERN_MILLISECOND:I
-Ljava/text/DateFormatSymbols;->PATTERN_MINUTE:I
-Ljava/text/DateFormatSymbols;->PATTERN_MONTH:I
-Ljava/text/DateFormatSymbols;->PATTERN_MONTH_STANDALONE:I
-Ljava/text/DateFormatSymbols;->PATTERN_SECOND:I
-Ljava/text/DateFormatSymbols;->PATTERN_STANDALONE_DAY_OF_WEEK:I
-Ljava/text/DateFormatSymbols;->PATTERN_WEEK_OF_MONTH:I
-Ljava/text/DateFormatSymbols;->PATTERN_WEEK_OF_YEAR:I
-Ljava/text/DateFormatSymbols;->PATTERN_WEEK_YEAR:I
-Ljava/text/DateFormatSymbols;->PATTERN_YEAR:I
-Ljava/text/DateFormatSymbols;->PATTERN_ZONE_NAME:I
-Ljava/text/DateFormatSymbols;->PATTERN_ZONE_VALUE:I
-Ljava/text/DateFormatSymbols;->serialVersionOnStream:I
-Ljava/text/DateFormatSymbols;->shortMonths:[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->shortStandAloneMonths:[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->shortStandAloneWeekdays:[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->shortWeekdays:[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->standAloneMonths:[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->standAloneWeekdays:[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->tinyMonths:[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->tinyStandAloneMonths:[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->tinyStandAloneWeekdays:[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->tinyWeekdays:[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->weekdays:[Ljava/lang/String;
-Ljava/text/DateFormatSymbols;->zoneStrings:[[Ljava/lang/String;
-Ljava/text/DecimalFormat;->adjustForCurrencyDefaultFractionDigits()V
-Ljava/text/DecimalFormat;->compareIcuRoundingIncrement(Landroid/icu/text/DecimalFormat_ICU58_Android;)Z
-Ljava/text/DecimalFormat;->convertRoundingMode(Ljava/math/RoundingMode;)I
-Ljava/text/DecimalFormat;->currentSerialVersion:I
-Ljava/text/DecimalFormat;->DOUBLE_FRACTION_DIGITS:I
-Ljava/text/DecimalFormat;->DOUBLE_INTEGER_DIGITS:I
-Ljava/text/DecimalFormat;->format(Ljava/math/BigDecimal;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
-Ljava/text/DecimalFormat;->format(Ljava/math/BigInteger;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
-Ljava/text/DecimalFormat;->getIcuFieldPosition(Ljava/text/FieldPosition;)Ljava/text/FieldPosition;
-Ljava/text/DecimalFormat;->icuDecimalFormat:Landroid/icu/text/DecimalFormat_ICU58_Android;
-Ljava/text/DecimalFormat;->initPattern(Ljava/lang/String;)V
-Ljava/text/DecimalFormat;->maximumFractionDigits:I
-Ljava/text/DecimalFormat;->maximumIntegerDigits:I
-Ljava/text/DecimalFormat;->MAXIMUM_FRACTION_DIGITS:I
-Ljava/text/DecimalFormat;->MAXIMUM_INTEGER_DIGITS:I
-Ljava/text/DecimalFormat;->minimumFractionDigits:I
-Ljava/text/DecimalFormat;->minimumIntegerDigits:I
-Ljava/text/DecimalFormat;->roundingMode:Ljava/math/RoundingMode;
-Ljava/text/DecimalFormat;->symbols:Ljava/text/DecimalFormatSymbols;
-Ljava/text/DecimalFormat;->toJavaFieldAttribute(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/text/NumberFormat$Field;
-Ljava/text/DecimalFormat;->updateFieldsFromIcu()V
-Ljava/text/DecimalFormatSymbols;->cachedIcuDFS:Landroid/icu/text/DecimalFormatSymbols;
-Ljava/text/DecimalFormatSymbols;->currency:Ljava/util/Currency;
-Ljava/text/DecimalFormatSymbols;->currencySymbol:Ljava/lang/String;
-Ljava/text/DecimalFormatSymbols;->currentSerialVersion:I
-Ljava/text/DecimalFormatSymbols;->decimalSeparator:C
-Ljava/text/DecimalFormatSymbols;->digit:C
-Ljava/text/DecimalFormatSymbols;->exponential:C
-Ljava/text/DecimalFormatSymbols;->exponentialSeparator:Ljava/lang/String;
-Ljava/text/DecimalFormatSymbols;->fromIcuInstance(Landroid/icu/text/DecimalFormatSymbols;)Ljava/text/DecimalFormatSymbols;
-Ljava/text/DecimalFormatSymbols;->getExponentialSymbol()C
-Ljava/text/DecimalFormatSymbols;->getIcuDecimalFormatSymbols()Landroid/icu/text/DecimalFormatSymbols;
-Ljava/text/DecimalFormatSymbols;->getMinusSignString()Ljava/lang/String;
-Ljava/text/DecimalFormatSymbols;->groupingSeparator:C
-Ljava/text/DecimalFormatSymbols;->infinity:Ljava/lang/String;
-Ljava/text/DecimalFormatSymbols;->initialize(Ljava/util/Locale;)V
-Ljava/text/DecimalFormatSymbols;->intlCurrencySymbol:Ljava/lang/String;
-Ljava/text/DecimalFormatSymbols;->locale:Ljava/util/Locale;
-Ljava/text/DecimalFormatSymbols;->maybeStripMarkers(Ljava/lang/String;C)C
-Ljava/text/DecimalFormatSymbols;->minusSign:C
-Ljava/text/DecimalFormatSymbols;->monetarySeparator:C
-Ljava/text/DecimalFormatSymbols;->NaN:Ljava/lang/String;
-Ljava/text/DecimalFormatSymbols;->patternSeparator:C
-Ljava/text/DecimalFormatSymbols;->percent:C
-Ljava/text/DecimalFormatSymbols;->perMill:C
-Ljava/text/DecimalFormatSymbols;->serialVersionOnStream:I
-Ljava/text/DecimalFormatSymbols;->setExponentialSymbol(C)V
-Ljava/text/DecimalFormatSymbols;->zeroDigit:C
-Ljava/text/FieldPosition$Delegate;
-Ljava/text/FieldPosition$Delegate;-><init>()V
-Ljava/text/FieldPosition$Delegate;->encounteredField:Z
-Ljava/text/FieldPosition$Delegate;->formatted(ILjava/text/Format$Field;Ljava/lang/Object;IILjava/lang/StringBuffer;)V
-Ljava/text/FieldPosition$Delegate;->formatted(Ljava/text/Format$Field;Ljava/lang/Object;IILjava/lang/StringBuffer;)V
-Ljava/text/FieldPosition;->attribute:Ljava/text/Format$Field;
-Ljava/text/FieldPosition;->beginIndex:I
-Ljava/text/FieldPosition;->endIndex:I
-Ljava/text/FieldPosition;->field:I
-Ljava/text/FieldPosition;->getFieldDelegate()Ljava/text/Format$FieldDelegate;
-Ljava/text/FieldPosition;->matchesField(Ljava/text/Format$Field;)Z
-Ljava/text/FieldPosition;->matchesField(Ljava/text/Format$Field;I)Z
-Ljava/text/Format$FieldDelegate;
-Ljava/text/Format$FieldDelegate;->formatted(ILjava/text/Format$Field;Ljava/lang/Object;IILjava/lang/StringBuffer;)V
-Ljava/text/Format$FieldDelegate;->formatted(Ljava/text/Format$Field;Ljava/lang/Object;IILjava/lang/StringBuffer;)V
-Ljava/text/Format;->createAttributedCharacterIterator(Ljava/lang/String;)Ljava/text/AttributedCharacterIterator;
-Ljava/text/Format;->createAttributedCharacterIterator(Ljava/lang/String;Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;)Ljava/text/AttributedCharacterIterator;
-Ljava/text/Format;->createAttributedCharacterIterator(Ljava/text/AttributedCharacterIterator;Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;)Ljava/text/AttributedCharacterIterator;
-Ljava/text/Format;->createAttributedCharacterIterator([Ljava/text/AttributedCharacterIterator;)Ljava/text/AttributedCharacterIterator;
-Ljava/text/MessageFormat;->append(Ljava/lang/StringBuffer;Ljava/text/CharacterIterator;)V
-Ljava/text/MessageFormat;->argumentNumbers:[I
-Ljava/text/MessageFormat;->copyAndFixQuotes(Ljava/lang/String;IILjava/lang/StringBuilder;)V
-Ljava/text/MessageFormat;->DATE_TIME_MODIFIERS:[I
-Ljava/text/MessageFormat;->DATE_TIME_MODIFIER_KEYWORDS:[Ljava/lang/String;
-Ljava/text/MessageFormat;->findKeyword(Ljava/lang/String;[Ljava/lang/String;)I
-Ljava/text/MessageFormat;->formats:[Ljava/text/Format;
-Ljava/text/MessageFormat;->INITIAL_FORMATS:I
-Ljava/text/MessageFormat;->locale:Ljava/util/Locale;
-Ljava/text/MessageFormat;->makeFormat(II[Ljava/lang/StringBuilder;)V
-Ljava/text/MessageFormat;->maxOffset:I
-Ljava/text/MessageFormat;->MODIFIER_CURRENCY:I
-Ljava/text/MessageFormat;->MODIFIER_DEFAULT:I
-Ljava/text/MessageFormat;->MODIFIER_FULL:I
-Ljava/text/MessageFormat;->MODIFIER_INTEGER:I
-Ljava/text/MessageFormat;->MODIFIER_LONG:I
-Ljava/text/MessageFormat;->MODIFIER_MEDIUM:I
-Ljava/text/MessageFormat;->MODIFIER_PERCENT:I
-Ljava/text/MessageFormat;->MODIFIER_SHORT:I
-Ljava/text/MessageFormat;->NUMBER_MODIFIER_KEYWORDS:[Ljava/lang/String;
-Ljava/text/MessageFormat;->offsets:[I
-Ljava/text/MessageFormat;->pattern:Ljava/lang/String;
-Ljava/text/MessageFormat;->SEG_INDEX:I
-Ljava/text/MessageFormat;->SEG_MODIFIER:I
-Ljava/text/MessageFormat;->SEG_RAW:I
-Ljava/text/MessageFormat;->SEG_TYPE:I
-Ljava/text/MessageFormat;->subformat([Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;Ljava/util/List;)Ljava/lang/StringBuffer;
-Ljava/text/MessageFormat;->TYPE_CHOICE:I
-Ljava/text/MessageFormat;->TYPE_DATE:I
-Ljava/text/MessageFormat;->TYPE_KEYWORDS:[Ljava/lang/String;
-Ljava/text/MessageFormat;->TYPE_NULL:I
-Ljava/text/MessageFormat;->TYPE_NUMBER:I
-Ljava/text/MessageFormat;->TYPE_TIME:I
-Ljava/text/Normalizer$Form;-><init>(Landroid/icu/text/Normalizer$Mode;)V
-Ljava/text/Normalizer$Form;->icuMode:Landroid/icu/text/Normalizer$Mode;
-Ljava/text/Normalizer;-><init>()V
-Ljava/text/NumberFormat$Field;->instanceMap:Ljava/util/Map;
-Ljava/text/NumberFormat;->CURRENCYSTYLE:I
-Ljava/text/NumberFormat;->currentSerialVersion:I
-Ljava/text/NumberFormat;->groupingUsed:Z
-Ljava/text/NumberFormat;->INTEGERSTYLE:I
-Ljava/text/NumberFormat;->maxFractionDigits:B
-Ljava/text/NumberFormat;->maximumFractionDigits:I
-Ljava/text/NumberFormat;->maximumIntegerDigits:I
-Ljava/text/NumberFormat;->maxIntegerDigits:B
-Ljava/text/NumberFormat;->minFractionDigits:B
-Ljava/text/NumberFormat;->minimumFractionDigits:I
-Ljava/text/NumberFormat;->minimumIntegerDigits:I
-Ljava/text/NumberFormat;->minIntegerDigits:B
-Ljava/text/NumberFormat;->NUMBERSTYLE:I
-Ljava/text/NumberFormat;->parseIntegerOnly:Z
-Ljava/text/NumberFormat;->PERCENTSTYLE:I
-Ljava/text/NumberFormat;->serialVersionOnStream:I
-Ljava/text/ParseException;->errorOffset:I
-Ljava/text/ParsePosition;->errorIndex:I
-Ljava/text/ParsePosition;->index:I
-Ljava/text/RuleBasedCollator;-><init>(Landroid/icu/text/RuleBasedCollator;)V
-Ljava/text/RuleBasedCollator;->collAsICU()Landroid/icu/text/RuleBasedCollator;
-Ljava/text/SimpleDateFormat;-><init>(IILjava/util/Locale;)V
-Ljava/text/SimpleDateFormat;->cachedNumberFormatData:Ljava/util/concurrent/ConcurrentMap;
-Ljava/text/SimpleDateFormat;->checkNegativeNumberExpression()V
-Ljava/text/SimpleDateFormat;->compile(Ljava/lang/String;)[C
-Ljava/text/SimpleDateFormat;->compiledPattern:[C
-Ljava/text/SimpleDateFormat;->currentSerialVersion:I
-Ljava/text/SimpleDateFormat;->defaultCenturyStart:Ljava/util/Date;
-Ljava/text/SimpleDateFormat;->defaultCenturyStartYear:I
-Ljava/text/SimpleDateFormat;->DST_NAME_TYPES:Ljava/util/Set;
-Ljava/text/SimpleDateFormat;->encode(IILjava/lang/StringBuilder;)V
-Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;Ljava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;)Ljava/lang/StringBuffer;
-Ljava/text/SimpleDateFormat;->formatData:Ljava/text/DateFormatSymbols;
-Ljava/text/SimpleDateFormat;->formatMonth(IIILjava/lang/StringBuffer;ZZ)Ljava/lang/String;
-Ljava/text/SimpleDateFormat;->formatWeekday(IIZZ)Ljava/lang/String;
-Ljava/text/SimpleDateFormat;->getCalendarName()Ljava/lang/String;
-Ljava/text/SimpleDateFormat;->getDateTimeFormat(IILjava/util/Locale;)Ljava/lang/String;
-Ljava/text/SimpleDateFormat;->getTimeZoneNames()Landroid/icu/text/TimeZoneNames;
-Ljava/text/SimpleDateFormat;->GMT:Ljava/lang/String;
-Ljava/text/SimpleDateFormat;->hasFollowingMinusSign:Z
-Ljava/text/SimpleDateFormat;->initialize(Ljava/util/Locale;)V
-Ljava/text/SimpleDateFormat;->initializeCalendar(Ljava/util/Locale;)V
-Ljava/text/SimpleDateFormat;->initializeDefaultCentury()V
-Ljava/text/SimpleDateFormat;->isDigit(C)Z
-Ljava/text/SimpleDateFormat;->isGregorianCalendar()Z
-Ljava/text/SimpleDateFormat;->locale:Ljava/util/Locale;
-Ljava/text/SimpleDateFormat;->matchString(Ljava/lang/String;IILjava/util/Map;Ljava/text/CalendarBuilder;)I
-Ljava/text/SimpleDateFormat;->matchString(Ljava/lang/String;II[Ljava/lang/String;Ljava/text/CalendarBuilder;)I
-Ljava/text/SimpleDateFormat;->matchZoneString(Ljava/lang/String;I[Ljava/lang/String;)I
-Ljava/text/SimpleDateFormat;->MILLIS_PER_MINUTE:I
-Ljava/text/SimpleDateFormat;->minusSign:C
-Ljava/text/SimpleDateFormat;->NAME_TYPES:Ljava/util/EnumSet;
-Ljava/text/SimpleDateFormat;->originalNumberFormat:Ljava/text/NumberFormat;
-Ljava/text/SimpleDateFormat;->originalNumberPattern:Ljava/lang/String;
-Ljava/text/SimpleDateFormat;->parseAmbiguousDatesAsAfter(Ljava/util/Date;)V
-Ljava/text/SimpleDateFormat;->parseInternal(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date;
-Ljava/text/SimpleDateFormat;->parseMonth(Ljava/lang/String;IIIILjava/text/ParsePosition;ZZLjava/text/CalendarBuilder;)I
-Ljava/text/SimpleDateFormat;->parseWeekday(Ljava/lang/String;IIZZLjava/text/CalendarBuilder;)I
-Ljava/text/SimpleDateFormat;->pattern:Ljava/lang/String;
-Ljava/text/SimpleDateFormat;->PATTERN_INDEX_TO_CALENDAR_FIELD:[I
-Ljava/text/SimpleDateFormat;->PATTERN_INDEX_TO_DATE_FORMAT_FIELD:[I
-Ljava/text/SimpleDateFormat;->PATTERN_INDEX_TO_DATE_FORMAT_FIELD_ID:[Ljava/text/DateFormat$Field;
-Ljava/text/SimpleDateFormat;->serialVersionOnStream:I
-Ljava/text/SimpleDateFormat;->subFormat(IILjava/text/Format$FieldDelegate;Ljava/lang/StringBuffer;Z)V
-Ljava/text/SimpleDateFormat;->subParse(Ljava/lang/String;IIIZ[ZLjava/text/ParsePosition;ZLjava/text/CalendarBuilder;)I
-Ljava/text/SimpleDateFormat;->subParseNumericZone(Ljava/lang/String;IIIZLjava/text/CalendarBuilder;)I
-Ljava/text/SimpleDateFormat;->subParseZoneString(Ljava/lang/String;ILjava/text/CalendarBuilder;)I
-Ljava/text/SimpleDateFormat;->subParseZoneStringFromICU(Ljava/lang/String;ILjava/text/CalendarBuilder;)I
-Ljava/text/SimpleDateFormat;->subParseZoneStringFromSymbols(Ljava/lang/String;ILjava/text/CalendarBuilder;)I
-Ljava/text/SimpleDateFormat;->TAG_QUOTE_ASCII_CHAR:I
-Ljava/text/SimpleDateFormat;->TAG_QUOTE_CHARS:I
-Ljava/text/SimpleDateFormat;->timeZoneNames:Landroid/icu/text/TimeZoneNames;
-Ljava/text/SimpleDateFormat;->translatePattern(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Ljava/text/SimpleDateFormat;->useDateFormatSymbols()Z
-Ljava/text/SimpleDateFormat;->useDateFormatSymbols:Z
-Ljava/text/SimpleDateFormat;->zeroDigit:C
-Ljava/text/SimpleDateFormat;->zeroPaddingNumber(IIILjava/lang/StringBuffer;)V
-Ljava/text/StringCharacterIterator;->begin:I
-Ljava/text/StringCharacterIterator;->end:I
-Ljava/text/StringCharacterIterator;->pos:I
-Ljava/text/StringCharacterIterator;->text:Ljava/lang/String;
-Ljava/time/chrono/AbstractChronology;->addFieldValue(Ljava/util/Map;Ljava/time/temporal/ChronoField;J)V
-Ljava/time/chrono/AbstractChronology;->CHRONOS_BY_ID:Ljava/util/concurrent/ConcurrentHashMap;
-Ljava/time/chrono/AbstractChronology;->CHRONOS_BY_TYPE:Ljava/util/concurrent/ConcurrentHashMap;
-Ljava/time/chrono/AbstractChronology;->DATE_ORDER:Ljava/util/Comparator;
-Ljava/time/chrono/AbstractChronology;->DATE_TIME_ORDER:Ljava/util/Comparator;
-Ljava/time/chrono/AbstractChronology;->getAvailableChronologies()Ljava/util/Set;
-Ljava/time/chrono/AbstractChronology;->initCache()Z
-Ljava/time/chrono/AbstractChronology;->INSTANT_ORDER:Ljava/util/Comparator;
-Ljava/time/chrono/AbstractChronology;->of(Ljava/lang/String;)Ljava/time/chrono/Chronology;
-Ljava/time/chrono/AbstractChronology;->of0(Ljava/lang/String;)Ljava/time/chrono/Chronology;
-Ljava/time/chrono/AbstractChronology;->ofLocale(Ljava/util/Locale;)Ljava/time/chrono/Chronology;
-Ljava/time/chrono/AbstractChronology;->readExternal(Ljava/io/DataInput;)Ljava/time/chrono/Chronology;
-Ljava/time/chrono/AbstractChronology;->registerChrono(Ljava/time/chrono/Chronology;)Ljava/time/chrono/Chronology;
-Ljava/time/chrono/AbstractChronology;->registerChrono(Ljava/time/chrono/Chronology;Ljava/lang/String;)Ljava/time/chrono/Chronology;
-Ljava/time/chrono/AbstractChronology;->resolveAligned(Ljava/time/chrono/ChronoLocalDate;JJJ)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/chrono/AbstractChronology;->resolveProlepticMonth(Ljava/util/Map;Ljava/time/format/ResolverStyle;)V
-Ljava/time/chrono/AbstractChronology;->resolveYAA(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/chrono/AbstractChronology;->resolveYAD(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/chrono/AbstractChronology;->resolveYD(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/chrono/AbstractChronology;->resolveYearOfEra(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/chrono/AbstractChronology;->resolveYMAA(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/chrono/AbstractChronology;->resolveYMAD(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/chrono/AbstractChronology;->resolveYMD(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/chrono/AbstractChronology;->writeExternal(Ljava/io/DataOutput;)V
-Ljava/time/chrono/ChronoLocalDateImpl;
-Ljava/time/chrono/ChronoLocalDateImpl;-><init>()V
-Ljava/time/chrono/ChronoLocalDateImpl;->daysUntil(Ljava/time/chrono/ChronoLocalDate;)J
-Ljava/time/chrono/ChronoLocalDateImpl;->ensureValid(Ljava/time/chrono/Chronology;Ljava/time/temporal/Temporal;)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/chrono/ChronoLocalDateImpl;->minusDays(J)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/chrono/ChronoLocalDateImpl;->minusMonths(J)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/chrono/ChronoLocalDateImpl;->minusWeeks(J)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/chrono/ChronoLocalDateImpl;->minusYears(J)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/chrono/ChronoLocalDateImpl;->monthsUntil(Ljava/time/chrono/ChronoLocalDate;)J
-Ljava/time/chrono/ChronoLocalDateImpl;->plusDays(J)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/chrono/ChronoLocalDateImpl;->plusMonths(J)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/chrono/ChronoLocalDateImpl;->plusWeeks(J)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/chrono/ChronoLocalDateImpl;->plusYears(J)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/chrono/HijrahChronology;-><init>(Ljava/lang/String;)V
-Ljava/time/chrono/HijrahChronology;->calendarProperties:Ljava/util/Properties;
-Ljava/time/chrono/HijrahChronology;->calendarType:Ljava/lang/String;
-Ljava/time/chrono/HijrahChronology;->checkCalendarInit()V
-Ljava/time/chrono/HijrahChronology;->checkValidDayOfYear(I)V
-Ljava/time/chrono/HijrahChronology;->checkValidMonth(I)V
-Ljava/time/chrono/HijrahChronology;->checkValidYear(J)I
-Ljava/time/chrono/HijrahChronology;->createEpochMonths(IIILjava/util/Map;)[I
-Ljava/time/chrono/HijrahChronology;->epochDayToEpochMonth(I)I
-Ljava/time/chrono/HijrahChronology;->epochMonthLength(I)I
-Ljava/time/chrono/HijrahChronology;->epochMonthToEpochDay(I)I
-Ljava/time/chrono/HijrahChronology;->epochMonthToMonth(I)I
-Ljava/time/chrono/HijrahChronology;->epochMonthToYear(I)I
-Ljava/time/chrono/HijrahChronology;->getDayOfYear(II)I
-Ljava/time/chrono/HijrahChronology;->getEpochDay(III)J
-Ljava/time/chrono/HijrahChronology;->getHijrahDateInfo(I)[I
-Ljava/time/chrono/HijrahChronology;->getMaximumDayOfYear()I
-Ljava/time/chrono/HijrahChronology;->getMaximumMonthLength()I
-Ljava/time/chrono/HijrahChronology;->getMaximumYear()I
-Ljava/time/chrono/HijrahChronology;->getMinimumMonthLength()I
-Ljava/time/chrono/HijrahChronology;->getMinimumYear()I
-Ljava/time/chrono/HijrahChronology;->getMonthLength(II)I
-Ljava/time/chrono/HijrahChronology;->getSmallestMaximumDayOfYear()I
-Ljava/time/chrono/HijrahChronology;->getYearLength(I)I
-Ljava/time/chrono/HijrahChronology;->hijrahEpochMonthStartDays:[I
-Ljava/time/chrono/HijrahChronology;->hijrahStartEpochMonth:I
-Ljava/time/chrono/HijrahChronology;->initComplete:Z
-Ljava/time/chrono/HijrahChronology;->KEY_ID:Ljava/lang/String;
-Ljava/time/chrono/HijrahChronology;->KEY_ISO_START:Ljava/lang/String;
-Ljava/time/chrono/HijrahChronology;->KEY_TYPE:Ljava/lang/String;
-Ljava/time/chrono/HijrahChronology;->KEY_VERSION:Ljava/lang/String;
-Ljava/time/chrono/HijrahChronology;->loadCalendarData()V
-Ljava/time/chrono/HijrahChronology;->maxEpochDay:I
-Ljava/time/chrono/HijrahChronology;->maxMonthLength:I
-Ljava/time/chrono/HijrahChronology;->maxYearLength:I
-Ljava/time/chrono/HijrahChronology;->minEpochDay:I
-Ljava/time/chrono/HijrahChronology;->minMonthLength:I
-Ljava/time/chrono/HijrahChronology;->minYearLength:I
-Ljava/time/chrono/HijrahChronology;->parseMonths(Ljava/lang/String;)[I
-Ljava/time/chrono/HijrahChronology;->parseYMD(Ljava/lang/String;)[I
-Ljava/time/chrono/HijrahChronology;->PROP_PREFIX:Ljava/lang/String;
-Ljava/time/chrono/HijrahChronology;->PROP_TYPE_SUFFIX:Ljava/lang/String;
-Ljava/time/chrono/HijrahChronology;->readConfigProperties(Ljava/lang/String;)Ljava/util/Properties;
-Ljava/time/chrono/HijrahChronology;->registerVariants()V
-Ljava/time/chrono/HijrahChronology;->typeId:Ljava/lang/String;
-Ljava/time/chrono/HijrahChronology;->yearMonthToDayOfYear(II)I
-Ljava/time/chrono/HijrahChronology;->yearToEpochMonth(I)I
-Ljava/time/chrono/HijrahDate;-><init>(Ljava/time/chrono/HijrahChronology;III)V
-Ljava/time/chrono/HijrahDate;-><init>(Ljava/time/chrono/HijrahChronology;J)V
-Ljava/time/chrono/HijrahDate;->chrono:Ljava/time/chrono/HijrahChronology;
-Ljava/time/chrono/HijrahDate;->dayOfMonth:I
-Ljava/time/chrono/HijrahDate;->getDayOfWeek()I
-Ljava/time/chrono/HijrahDate;->getDayOfYear()I
-Ljava/time/chrono/HijrahDate;->getEraValue()I
-Ljava/time/chrono/HijrahDate;->getProlepticMonth()J
-Ljava/time/chrono/HijrahDate;->minusDays(J)Ljava/time/chrono/HijrahDate;
-Ljava/time/chrono/HijrahDate;->minusMonths(J)Ljava/time/chrono/HijrahDate;
-Ljava/time/chrono/HijrahDate;->minusWeeks(J)Ljava/time/chrono/HijrahDate;
-Ljava/time/chrono/HijrahDate;->minusYears(J)Ljava/time/chrono/HijrahDate;
-Ljava/time/chrono/HijrahDate;->monthOfYear:I
-Ljava/time/chrono/HijrahDate;->of(Ljava/time/chrono/HijrahChronology;III)Ljava/time/chrono/HijrahDate;
-Ljava/time/chrono/HijrahDate;->ofEpochDay(Ljava/time/chrono/HijrahChronology;J)Ljava/time/chrono/HijrahDate;
-Ljava/time/chrono/HijrahDate;->plusDays(J)Ljava/time/chrono/HijrahDate;
-Ljava/time/chrono/HijrahDate;->plusMonths(J)Ljava/time/chrono/HijrahDate;
-Ljava/time/chrono/HijrahDate;->plusWeeks(J)Ljava/time/chrono/HijrahDate;
-Ljava/time/chrono/HijrahDate;->plusYears(J)Ljava/time/chrono/HijrahDate;
-Ljava/time/chrono/HijrahDate;->prolepticYear:I
-Ljava/time/chrono/HijrahDate;->readExternal(Ljava/io/ObjectInput;)Ljava/time/chrono/HijrahDate;
-Ljava/time/chrono/HijrahDate;->resolvePreviousValid(III)Ljava/time/chrono/HijrahDate;
-Ljava/time/chrono/HijrahDate;->writeExternal(Ljava/io/ObjectOutput;)V
-Ljava/time/chrono/HijrahEra;-><init>()V
-Ljava/time/chrono/IsoChronology;-><init>()V
-Ljava/time/chrono/IsoChronology;->resolveProlepticMonth(Ljava/util/Map;Ljava/time/format/ResolverStyle;)V
-Ljava/time/chrono/IsoChronology;->resolveYearOfEra(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/LocalDate;
-Ljava/time/chrono/IsoChronology;->resolveYMD(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/LocalDate;
-Ljava/time/chrono/IsoEra;-><init>()V
-Ljava/time/chrono/JapaneseChronology;-><init>()V
-Ljava/time/chrono/JapaneseChronology;->createCalendar()Ljava/util/Calendar;
-Ljava/time/chrono/JapaneseChronology;->getCurrentEra()Ljava/time/chrono/JapaneseEra;
-Ljava/time/chrono/JapaneseChronology;->JCAL:Lsun/util/calendar/LocalGregorianCalendar;
-Ljava/time/chrono/JapaneseChronology;->LOCALE:Ljava/util/Locale;
-Ljava/time/chrono/JapaneseChronology;->prolepticYearLenient(Ljava/time/chrono/JapaneseEra;I)I
-Ljava/time/chrono/JapaneseChronology;->resolveYD(Ljava/time/chrono/JapaneseEra;ILjava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/chrono/JapaneseChronology;->resolveYearOfEra(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/chrono/JapaneseChronology;->resolveYMD(Ljava/time/chrono/JapaneseEra;ILjava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/chrono/JapaneseDate;-><init>(Ljava/time/chrono/JapaneseEra;ILjava/time/LocalDate;)V
-Ljava/time/chrono/JapaneseDate;-><init>(Ljava/time/LocalDate;)V
-Ljava/time/chrono/JapaneseDate;->era:Ljava/time/chrono/JapaneseEra;
-Ljava/time/chrono/JapaneseDate;->isoDate:Ljava/time/LocalDate;
-Ljava/time/chrono/JapaneseDate;->MEIJI_6_ISODATE:Ljava/time/LocalDate;
-Ljava/time/chrono/JapaneseDate;->minusDays(J)Ljava/time/chrono/JapaneseDate;
-Ljava/time/chrono/JapaneseDate;->minusMonths(J)Ljava/time/chrono/JapaneseDate;
-Ljava/time/chrono/JapaneseDate;->minusWeeks(J)Ljava/time/chrono/JapaneseDate;
-Ljava/time/chrono/JapaneseDate;->minusYears(J)Ljava/time/chrono/JapaneseDate;
-Ljava/time/chrono/JapaneseDate;->ofYearDay(Ljava/time/chrono/JapaneseEra;II)Ljava/time/chrono/JapaneseDate;
-Ljava/time/chrono/JapaneseDate;->plusDays(J)Ljava/time/chrono/JapaneseDate;
-Ljava/time/chrono/JapaneseDate;->plusMonths(J)Ljava/time/chrono/JapaneseDate;
-Ljava/time/chrono/JapaneseDate;->plusWeeks(J)Ljava/time/chrono/JapaneseDate;
-Ljava/time/chrono/JapaneseDate;->plusYears(J)Ljava/time/chrono/JapaneseDate;
-Ljava/time/chrono/JapaneseDate;->readExternal(Ljava/io/DataInput;)Ljava/time/chrono/JapaneseDate;
-Ljava/time/chrono/JapaneseDate;->toPrivateJapaneseDate(Ljava/time/LocalDate;)Lsun/util/calendar/LocalGregorianCalendar$Date;
-Ljava/time/chrono/JapaneseDate;->with(Ljava/time/LocalDate;)Ljava/time/chrono/JapaneseDate;
-Ljava/time/chrono/JapaneseDate;->withYear(I)Ljava/time/chrono/JapaneseDate;
-Ljava/time/chrono/JapaneseDate;->withYear(Ljava/time/chrono/JapaneseEra;I)Ljava/time/chrono/JapaneseDate;
-Ljava/time/chrono/JapaneseDate;->writeExternal(Ljava/io/DataOutput;)V
-Ljava/time/chrono/JapaneseDate;->yearOfEra:I
-Ljava/time/chrono/JapaneseEra;-><init>(ILjava/time/LocalDate;)V
-Ljava/time/chrono/JapaneseEra;->eraValue:I
-Ljava/time/chrono/JapaneseEra;->ERA_CONFIG:[Lsun/util/calendar/Era;
-Ljava/time/chrono/JapaneseEra;->ERA_OFFSET:I
-Ljava/time/chrono/JapaneseEra;->from(Ljava/time/LocalDate;)Ljava/time/chrono/JapaneseEra;
-Ljava/time/chrono/JapaneseEra;->getAbbreviation()Ljava/lang/String;
-Ljava/time/chrono/JapaneseEra;->getName()Ljava/lang/String;
-Ljava/time/chrono/JapaneseEra;->getPrivateEra()Lsun/util/calendar/Era;
-Ljava/time/chrono/JapaneseEra;->KNOWN_ERAS:[Ljava/time/chrono/JapaneseEra;
-Ljava/time/chrono/JapaneseEra;->N_ERA_CONSTANTS:I
-Ljava/time/chrono/JapaneseEra;->ordinal(I)I
-Ljava/time/chrono/JapaneseEra;->privateEraFrom(Ljava/time/LocalDate;)Lsun/util/calendar/Era;
-Ljava/time/chrono/JapaneseEra;->readExternal(Ljava/io/DataInput;)Ljava/time/chrono/JapaneseEra;
-Ljava/time/chrono/JapaneseEra;->since:Ljava/time/LocalDate;
-Ljava/time/chrono/JapaneseEra;->toJapaneseEra(Lsun/util/calendar/Era;)Ljava/time/chrono/JapaneseEra;
-Ljava/time/chrono/JapaneseEra;->writeExternal(Ljava/io/DataOutput;)V
-Ljava/time/chrono/MinguoChronology;-><init>()V
-Ljava/time/chrono/MinguoChronology;->YEARS_DIFFERENCE:I
-Ljava/time/chrono/MinguoDate;-><init>(Ljava/time/LocalDate;)V
-Ljava/time/chrono/MinguoDate;->getProlepticMonth()J
-Ljava/time/chrono/MinguoDate;->getProlepticYear()I
-Ljava/time/chrono/MinguoDate;->isoDate:Ljava/time/LocalDate;
-Ljava/time/chrono/MinguoDate;->minusDays(J)Ljava/time/chrono/MinguoDate;
-Ljava/time/chrono/MinguoDate;->minusMonths(J)Ljava/time/chrono/MinguoDate;
-Ljava/time/chrono/MinguoDate;->minusWeeks(J)Ljava/time/chrono/MinguoDate;
-Ljava/time/chrono/MinguoDate;->minusYears(J)Ljava/time/chrono/MinguoDate;
-Ljava/time/chrono/MinguoDate;->plusDays(J)Ljava/time/chrono/MinguoDate;
-Ljava/time/chrono/MinguoDate;->plusMonths(J)Ljava/time/chrono/MinguoDate;
-Ljava/time/chrono/MinguoDate;->plusWeeks(J)Ljava/time/chrono/MinguoDate;
-Ljava/time/chrono/MinguoDate;->plusYears(J)Ljava/time/chrono/MinguoDate;
-Ljava/time/chrono/MinguoDate;->readExternal(Ljava/io/DataInput;)Ljava/time/chrono/MinguoDate;
-Ljava/time/chrono/MinguoDate;->with(Ljava/time/LocalDate;)Ljava/time/chrono/MinguoDate;
-Ljava/time/chrono/MinguoDate;->writeExternal(Ljava/io/DataOutput;)V
-Ljava/time/chrono/MinguoEra;-><init>()V
-Ljava/time/chrono/ThaiBuddhistChronology;-><init>()V
-Ljava/time/chrono/ThaiBuddhistChronology;->ERA_FULL_NAMES:Ljava/util/HashMap;
-Ljava/time/chrono/ThaiBuddhistChronology;->ERA_NARROW_NAMES:Ljava/util/HashMap;
-Ljava/time/chrono/ThaiBuddhistChronology;->ERA_SHORT_NAMES:Ljava/util/HashMap;
-Ljava/time/chrono/ThaiBuddhistChronology;->FALLBACK_LANGUAGE:Ljava/lang/String;
-Ljava/time/chrono/ThaiBuddhistChronology;->TARGET_LANGUAGE:Ljava/lang/String;
-Ljava/time/chrono/ThaiBuddhistChronology;->YEARS_DIFFERENCE:I
-Ljava/time/chrono/ThaiBuddhistDate;-><init>(Ljava/time/LocalDate;)V
-Ljava/time/chrono/ThaiBuddhistDate;->getProlepticMonth()J
-Ljava/time/chrono/ThaiBuddhistDate;->getProlepticYear()I
-Ljava/time/chrono/ThaiBuddhistDate;->isoDate:Ljava/time/LocalDate;
-Ljava/time/chrono/ThaiBuddhistDate;->minusDays(J)Ljava/time/chrono/ThaiBuddhistDate;
-Ljava/time/chrono/ThaiBuddhistDate;->minusMonths(J)Ljava/time/chrono/ThaiBuddhistDate;
-Ljava/time/chrono/ThaiBuddhistDate;->minusWeeks(J)Ljava/time/chrono/ThaiBuddhistDate;
-Ljava/time/chrono/ThaiBuddhistDate;->minusYears(J)Ljava/time/chrono/ThaiBuddhistDate;
-Ljava/time/chrono/ThaiBuddhistDate;->plusDays(J)Ljava/time/chrono/ThaiBuddhistDate;
-Ljava/time/chrono/ThaiBuddhistDate;->plusMonths(J)Ljava/time/chrono/ThaiBuddhistDate;
-Ljava/time/chrono/ThaiBuddhistDate;->plusWeeks(J)Ljava/time/chrono/ThaiBuddhistDate;
-Ljava/time/chrono/ThaiBuddhistDate;->plusYears(J)Ljava/time/chrono/ThaiBuddhistDate;
-Ljava/time/chrono/ThaiBuddhistDate;->readExternal(Ljava/io/DataInput;)Ljava/time/chrono/ThaiBuddhistDate;
-Ljava/time/chrono/ThaiBuddhistDate;->with(Ljava/time/LocalDate;)Ljava/time/chrono/ThaiBuddhistDate;
-Ljava/time/chrono/ThaiBuddhistDate;->writeExternal(Ljava/io/DataOutput;)V
-Ljava/time/chrono/ThaiBuddhistEra;-><init>()V
-Ljava/time/Clock$FixedClock;
-Ljava/time/Clock$FixedClock;-><init>(Ljava/time/Instant;Ljava/time/ZoneId;)V
-Ljava/time/Clock$FixedClock;->instant:Ljava/time/Instant;
-Ljava/time/Clock$FixedClock;->zone:Ljava/time/ZoneId;
-Ljava/time/Clock$OffsetClock;
-Ljava/time/Clock$OffsetClock;-><init>(Ljava/time/Clock;Ljava/time/Duration;)V
-Ljava/time/Clock$OffsetClock;->baseClock:Ljava/time/Clock;
-Ljava/time/Clock$OffsetClock;->offset:Ljava/time/Duration;
-Ljava/time/Clock$SystemClock;
-Ljava/time/Clock$SystemClock;-><init>(Ljava/time/ZoneId;)V
-Ljava/time/Clock$SystemClock;->zone:Ljava/time/ZoneId;
-Ljava/time/Clock$TickClock;
-Ljava/time/Clock$TickClock;-><init>(Ljava/time/Clock;J)V
-Ljava/time/Clock$TickClock;->baseClock:Ljava/time/Clock;
-Ljava/time/Clock$TickClock;->tickNanos:J
-Ljava/time/DayOfWeek;-><init>()V
-Ljava/time/DayOfWeek;->ENUMS:[Ljava/time/DayOfWeek;
-Ljava/time/Duration$DurationUnits;
-Ljava/time/Duration$DurationUnits;-><init>()V
-Ljava/time/Duration$DurationUnits;->UNITS:Ljava/util/List;
-Ljava/time/Duration;-><init>(JI)V
-Ljava/time/Duration;->BI_NANOS_PER_SECOND:Ljava/math/BigInteger;
-Ljava/time/Duration;->create(JI)Ljava/time/Duration;
-Ljava/time/Duration;->create(Ljava/math/BigDecimal;)Ljava/time/Duration;
-Ljava/time/Duration;->create(ZJJJJI)Ljava/time/Duration;
-Ljava/time/Duration;->nanos:I
-Ljava/time/Duration;->parseFraction(Ljava/lang/CharSequence;Ljava/lang/String;I)I
-Ljava/time/Duration;->parseNumber(Ljava/lang/CharSequence;Ljava/lang/String;ILjava/lang/String;)J
-Ljava/time/Duration;->PATTERN:Ljava/util/regex/Pattern;
-Ljava/time/Duration;->plus(JJ)Ljava/time/Duration;
-Ljava/time/Duration;->readExternal(Ljava/io/DataInput;)Ljava/time/Duration;
-Ljava/time/Duration;->seconds:J
-Ljava/time/Duration;->writeExternal(Ljava/io/DataOutput;)V
-Ljava/time/format/DateTimeFormatter$ClassicFormat;
-Ljava/time/format/DateTimeFormatter$ClassicFormat;-><init>(Ljava/time/format/DateTimeFormatter;Ljava/time/temporal/TemporalQuery;)V
-Ljava/time/format/DateTimeFormatter$ClassicFormat;->formatter:Ljava/time/format/DateTimeFormatter;
-Ljava/time/format/DateTimeFormatter$ClassicFormat;->parseType:Ljava/time/temporal/TemporalQuery;
-Ljava/time/format/DateTimeFormatter;-><init>(Ljava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;Ljava/util/Locale;Ljava/time/format/DecimalStyle;Ljava/time/format/ResolverStyle;Ljava/util/Set;Ljava/time/chrono/Chronology;Ljava/time/ZoneId;)V
-Ljava/time/format/DateTimeFormatter;->chrono:Ljava/time/chrono/Chronology;
-Ljava/time/format/DateTimeFormatter;->createError(Ljava/lang/CharSequence;Ljava/lang/RuntimeException;)Ljava/time/format/DateTimeParseException;
-Ljava/time/format/DateTimeFormatter;->decimalStyle:Ljava/time/format/DecimalStyle;
-Ljava/time/format/DateTimeFormatter;->locale:Ljava/util/Locale;
-Ljava/time/format/DateTimeFormatter;->PARSED_EXCESS_DAYS:Ljava/time/temporal/TemporalQuery;
-Ljava/time/format/DateTimeFormatter;->PARSED_LEAP_SECOND:Ljava/time/temporal/TemporalQuery;
-Ljava/time/format/DateTimeFormatter;->parseResolved0(Ljava/lang/CharSequence;Ljava/text/ParsePosition;)Ljava/time/temporal/TemporalAccessor;
-Ljava/time/format/DateTimeFormatter;->parseUnresolved0(Ljava/lang/CharSequence;Ljava/text/ParsePosition;)Ljava/time/format/DateTimeParseContext;
-Ljava/time/format/DateTimeFormatter;->printerParser:Ljava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;
-Ljava/time/format/DateTimeFormatter;->resolverFields:Ljava/util/Set;
-Ljava/time/format/DateTimeFormatter;->resolverStyle:Ljava/time/format/ResolverStyle;
-Ljava/time/format/DateTimeFormatter;->toPrinterParser(Z)Ljava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;
-Ljava/time/format/DateTimeFormatter;->zone:Ljava/time/ZoneId;
-Ljava/time/format/DateTimeFormatterBuilder$CharLiteralPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$CharLiteralPrinterParser;-><init>(C)V
-Ljava/time/format/DateTimeFormatterBuilder$CharLiteralPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-Ljava/time/format/DateTimeFormatterBuilder$CharLiteralPrinterParser;->literal:C
-Ljava/time/format/DateTimeFormatterBuilder$CharLiteralPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-Ljava/time/format/DateTimeFormatterBuilder$ChronoPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$ChronoPrinterParser;-><init>(Ljava/time/format/TextStyle;)V
-Ljava/time/format/DateTimeFormatterBuilder$ChronoPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-Ljava/time/format/DateTimeFormatterBuilder$ChronoPrinterParser;->getChronologyName(Ljava/time/chrono/Chronology;Ljava/util/Locale;)Ljava/lang/String;
-Ljava/time/format/DateTimeFormatterBuilder$ChronoPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-Ljava/time/format/DateTimeFormatterBuilder$ChronoPrinterParser;->textStyle:Ljava/time/format/TextStyle;
-Ljava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;-><init>(Ljava/util/List;Z)V
-Ljava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;-><init>([Ljava/time/format/DateTimeFormatterBuilder$DateTimePrinterParser;Z)V
-Ljava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-Ljava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;->optional:Z
-Ljava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-Ljava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;->printerParsers:[Ljava/time/format/DateTimeFormatterBuilder$DateTimePrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;->withOptional(Z)Ljava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$DateTimePrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$DateTimePrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-Ljava/time/format/DateTimeFormatterBuilder$DateTimePrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-Ljava/time/format/DateTimeFormatterBuilder$DefaultValueParser;
-Ljava/time/format/DateTimeFormatterBuilder$DefaultValueParser;-><init>(Ljava/time/temporal/TemporalField;J)V
-Ljava/time/format/DateTimeFormatterBuilder$DefaultValueParser;->field:Ljava/time/temporal/TemporalField;
-Ljava/time/format/DateTimeFormatterBuilder$DefaultValueParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-Ljava/time/format/DateTimeFormatterBuilder$DefaultValueParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-Ljava/time/format/DateTimeFormatterBuilder$DefaultValueParser;->value:J
-Ljava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;-><init>(Ljava/time/temporal/TemporalField;IIZ)V
-Ljava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->convertFromFraction(Ljava/math/BigDecimal;)J
-Ljava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->convertToFraction(J)Ljava/math/BigDecimal;
-Ljava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->decimalPoint:Z
-Ljava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->field:Ljava/time/temporal/TemporalField;
-Ljava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-Ljava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->maxWidth:I
-Ljava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->minWidth:I
-Ljava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-Ljava/time/format/DateTimeFormatterBuilder$InstantPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$InstantPrinterParser;-><init>(I)V
-Ljava/time/format/DateTimeFormatterBuilder$InstantPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-Ljava/time/format/DateTimeFormatterBuilder$InstantPrinterParser;->fractionalDigits:I
-Ljava/time/format/DateTimeFormatterBuilder$InstantPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-Ljava/time/format/DateTimeFormatterBuilder$InstantPrinterParser;->SECONDS_0000_TO_1970:J
-Ljava/time/format/DateTimeFormatterBuilder$InstantPrinterParser;->SECONDS_PER_10000_YEARS:J
-Ljava/time/format/DateTimeFormatterBuilder$LocalizedOffsetIdPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$LocalizedOffsetIdPrinterParser;-><init>(Ljava/time/format/TextStyle;)V
-Ljava/time/format/DateTimeFormatterBuilder$LocalizedOffsetIdPrinterParser;->appendHMS(Ljava/lang/StringBuilder;I)Ljava/lang/StringBuilder;
-Ljava/time/format/DateTimeFormatterBuilder$LocalizedOffsetIdPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-Ljava/time/format/DateTimeFormatterBuilder$LocalizedOffsetIdPrinterParser;->getDigit(Ljava/lang/CharSequence;I)I
-Ljava/time/format/DateTimeFormatterBuilder$LocalizedOffsetIdPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-Ljava/time/format/DateTimeFormatterBuilder$LocalizedOffsetIdPrinterParser;->style:Ljava/time/format/TextStyle;
-Ljava/time/format/DateTimeFormatterBuilder$LocalizedPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$LocalizedPrinterParser;-><init>(Ljava/time/format/FormatStyle;Ljava/time/format/FormatStyle;)V
-Ljava/time/format/DateTimeFormatterBuilder$LocalizedPrinterParser;->dateStyle:Ljava/time/format/FormatStyle;
-Ljava/time/format/DateTimeFormatterBuilder$LocalizedPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-Ljava/time/format/DateTimeFormatterBuilder$LocalizedPrinterParser;->formatter(Ljava/util/Locale;Ljava/time/chrono/Chronology;)Ljava/time/format/DateTimeFormatter;
-Ljava/time/format/DateTimeFormatterBuilder$LocalizedPrinterParser;->FORMATTER_CACHE:Ljava/util/concurrent/ConcurrentMap;
-Ljava/time/format/DateTimeFormatterBuilder$LocalizedPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-Ljava/time/format/DateTimeFormatterBuilder$LocalizedPrinterParser;->timeStyle:Ljava/time/format/FormatStyle;
-Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;-><init>(Ljava/time/temporal/TemporalField;IILjava/time/format/SignStyle;)V
-Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;-><init>(Ljava/time/temporal/TemporalField;IILjava/time/format/SignStyle;I)V
-Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->EXCEED_POINTS:[J
-Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->field:Ljava/time/temporal/TemporalField;
-Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->getValue(Ljava/time/format/DateTimePrintContext;J)J
-Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->isFixedWidth(Ljava/time/format/DateTimeParseContext;)Z
-Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->maxWidth:I
-Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->minWidth:I
-Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->setValue(Ljava/time/format/DateTimeParseContext;JII)I
-Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->signStyle:Ljava/time/format/SignStyle;
-Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->subsequentWidth:I
-Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->withFixedWidth()Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->withSubsequentWidth(I)Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;->checkPattern(Ljava/lang/String;)I
-Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;->INSTANCE_ID_Z:Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;->INSTANCE_ID_ZERO:Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;->noOffsetText:Ljava/lang/String;
-Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;->parseNumber([IILjava/lang/CharSequence;Z)Z
-Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;->PATTERNS:[Ljava/lang/String;
-Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;->type:I
-Ljava/time/format/DateTimeFormatterBuilder$PadPrinterParserDecorator;
-Ljava/time/format/DateTimeFormatterBuilder$PadPrinterParserDecorator;-><init>(Ljava/time/format/DateTimeFormatterBuilder$DateTimePrinterParser;IC)V
-Ljava/time/format/DateTimeFormatterBuilder$PadPrinterParserDecorator;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-Ljava/time/format/DateTimeFormatterBuilder$PadPrinterParserDecorator;->padChar:C
-Ljava/time/format/DateTimeFormatterBuilder$PadPrinterParserDecorator;->padWidth:I
-Ljava/time/format/DateTimeFormatterBuilder$PadPrinterParserDecorator;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-Ljava/time/format/DateTimeFormatterBuilder$PadPrinterParserDecorator;->printerParser:Ljava/time/format/DateTimeFormatterBuilder$DateTimePrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree$CI;
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree$CI;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;)V
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree$CI;->isEqual(CC)Z
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree$CI;->newNode(Ljava/lang/String;Ljava/lang/String;Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;)Ljava/time/format/DateTimeFormatterBuilder$PrefixTree$CI;
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree$CI;->prefixOf(Ljava/lang/CharSequence;II)Z
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree$LENIENT;
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree$LENIENT;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;)V
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree$LENIENT;->isLenientChar(C)Z
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree$LENIENT;->match(Ljava/lang/CharSequence;Ljava/text/ParsePosition;)Ljava/lang/String;
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree$LENIENT;->newNode(Ljava/lang/String;Ljava/lang/String;Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;)Ljava/time/format/DateTimeFormatterBuilder$PrefixTree$CI;
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree$LENIENT;->toKey(Ljava/lang/String;)Ljava/lang/String;
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;)V
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;->add(Ljava/lang/String;Ljava/lang/String;)Z
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;->add0(Ljava/lang/String;Ljava/lang/String;)Z
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;->c0:C
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;->child:Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;->copyTree()Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;->isEqual(CC)Z
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;->key:Ljava/lang/String;
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;->match(Ljava/lang/CharSequence;II)Ljava/lang/String;
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;->match(Ljava/lang/CharSequence;Ljava/text/ParsePosition;)Ljava/lang/String;
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;->newNode(Ljava/lang/String;Ljava/lang/String;Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;)Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;->newTree(Ljava/time/format/DateTimeParseContext;)Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;->newTree(Ljava/util/Set;Ljava/time/format/DateTimeParseContext;)Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;->prefixLength(Ljava/lang/String;)I
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;->prefixOf(Ljava/lang/CharSequence;II)Z
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;->sibling:Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;->toKey(Ljava/lang/String;)Ljava/lang/String;
-Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;->value:Ljava/lang/String;
-Ljava/time/format/DateTimeFormatterBuilder$ReducedPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$ReducedPrinterParser;-><init>(Ljava/time/temporal/TemporalField;IIILjava/time/chrono/ChronoLocalDate;)V
-Ljava/time/format/DateTimeFormatterBuilder$ReducedPrinterParser;-><init>(Ljava/time/temporal/TemporalField;IIILjava/time/chrono/ChronoLocalDate;I)V
-Ljava/time/format/DateTimeFormatterBuilder$ReducedPrinterParser;->baseDate:Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/format/DateTimeFormatterBuilder$ReducedPrinterParser;->baseValue:I
-Ljava/time/format/DateTimeFormatterBuilder$ReducedPrinterParser;->BASE_DATE:Ljava/time/LocalDate;
-Ljava/time/format/DateTimeFormatterBuilder$ReducedPrinterParser;->getValue(Ljava/time/format/DateTimePrintContext;J)J
-Ljava/time/format/DateTimeFormatterBuilder$ReducedPrinterParser;->isFixedWidth(Ljava/time/format/DateTimeParseContext;)Z
-Ljava/time/format/DateTimeFormatterBuilder$ReducedPrinterParser;->setValue(Ljava/time/format/DateTimeParseContext;JII)I
-Ljava/time/format/DateTimeFormatterBuilder$ReducedPrinterParser;->withFixedWidth()Ljava/time/format/DateTimeFormatterBuilder$ReducedPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$ReducedPrinterParser;->withSubsequentWidth(I)Ljava/time/format/DateTimeFormatterBuilder$ReducedPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$SettingsParser;
-Ljava/time/format/DateTimeFormatterBuilder$SettingsParser;-><init>()V
-Ljava/time/format/DateTimeFormatterBuilder$SettingsParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-Ljava/time/format/DateTimeFormatterBuilder$SettingsParser;->INSENSITIVE:Ljava/time/format/DateTimeFormatterBuilder$SettingsParser;
-Ljava/time/format/DateTimeFormatterBuilder$SettingsParser;->LENIENT:Ljava/time/format/DateTimeFormatterBuilder$SettingsParser;
-Ljava/time/format/DateTimeFormatterBuilder$SettingsParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-Ljava/time/format/DateTimeFormatterBuilder$SettingsParser;->SENSITIVE:Ljava/time/format/DateTimeFormatterBuilder$SettingsParser;
-Ljava/time/format/DateTimeFormatterBuilder$SettingsParser;->STRICT:Ljava/time/format/DateTimeFormatterBuilder$SettingsParser;
-Ljava/time/format/DateTimeFormatterBuilder$SettingsParser;->valueOf(Ljava/lang/String;)Ljava/time/format/DateTimeFormatterBuilder$SettingsParser;
-Ljava/time/format/DateTimeFormatterBuilder$SettingsParser;->values()[Ljava/time/format/DateTimeFormatterBuilder$SettingsParser;
-Ljava/time/format/DateTimeFormatterBuilder$StringLiteralPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$StringLiteralPrinterParser;-><init>(Ljava/lang/String;)V
-Ljava/time/format/DateTimeFormatterBuilder$StringLiteralPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-Ljava/time/format/DateTimeFormatterBuilder$StringLiteralPrinterParser;->literal:Ljava/lang/String;
-Ljava/time/format/DateTimeFormatterBuilder$StringLiteralPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-Ljava/time/format/DateTimeFormatterBuilder$TextPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$TextPrinterParser;-><init>(Ljava/time/temporal/TemporalField;Ljava/time/format/TextStyle;Ljava/time/format/DateTimeTextProvider;)V
-Ljava/time/format/DateTimeFormatterBuilder$TextPrinterParser;->field:Ljava/time/temporal/TemporalField;
-Ljava/time/format/DateTimeFormatterBuilder$TextPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-Ljava/time/format/DateTimeFormatterBuilder$TextPrinterParser;->numberPrinterParser()Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$TextPrinterParser;->numberPrinterParser:Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$TextPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-Ljava/time/format/DateTimeFormatterBuilder$TextPrinterParser;->provider:Ljava/time/format/DateTimeTextProvider;
-Ljava/time/format/DateTimeFormatterBuilder$TextPrinterParser;->textStyle:Ljava/time/format/TextStyle;
-Ljava/time/format/DateTimeFormatterBuilder$WeekBasedFieldPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$WeekBasedFieldPrinterParser;-><init>(CI)V
-Ljava/time/format/DateTimeFormatterBuilder$WeekBasedFieldPrinterParser;->chr:C
-Ljava/time/format/DateTimeFormatterBuilder$WeekBasedFieldPrinterParser;->count:I
-Ljava/time/format/DateTimeFormatterBuilder$WeekBasedFieldPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-Ljava/time/format/DateTimeFormatterBuilder$WeekBasedFieldPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-Ljava/time/format/DateTimeFormatterBuilder$WeekBasedFieldPrinterParser;->printerParser(Ljava/util/Locale;)Ljava/time/format/DateTimeFormatterBuilder$DateTimePrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser;-><init>(Ljava/time/temporal/TemporalQuery;Ljava/lang/String;)V
-Ljava/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser;->cachedPrefixTree:Ljava/util/Map$Entry;
-Ljava/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser;->cachedPrefixTreeCI:Ljava/util/Map$Entry;
-Ljava/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser;->description:Ljava/lang/String;
-Ljava/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-Ljava/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser;->getTree(Ljava/time/format/DateTimeParseContext;)Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;
-Ljava/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-Ljava/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser;->parseOffsetBased(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;IILjava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;)I
-Ljava/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser;->query:Ljava/time/temporal/TemporalQuery;
-Ljava/time/format/DateTimeFormatterBuilder$ZoneTextPrinterParser;
-Ljava/time/format/DateTimeFormatterBuilder$ZoneTextPrinterParser;-><init>(Ljava/time/format/TextStyle;Ljava/util/Set;)V
-Ljava/time/format/DateTimeFormatterBuilder$ZoneTextPrinterParser;->cache:Ljava/util/Map;
-Ljava/time/format/DateTimeFormatterBuilder$ZoneTextPrinterParser;->cachedTree:Ljava/util/Map;
-Ljava/time/format/DateTimeFormatterBuilder$ZoneTextPrinterParser;->cachedTreeCI:Ljava/util/Map;
-Ljava/time/format/DateTimeFormatterBuilder$ZoneTextPrinterParser;->DST:I
-Ljava/time/format/DateTimeFormatterBuilder$ZoneTextPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-Ljava/time/format/DateTimeFormatterBuilder$ZoneTextPrinterParser;->FULL_TYPES:[Landroid/icu/text/TimeZoneNames$NameType;
-Ljava/time/format/DateTimeFormatterBuilder$ZoneTextPrinterParser;->GENERIC:I
-Ljava/time/format/DateTimeFormatterBuilder$ZoneTextPrinterParser;->getDisplayName(Ljava/lang/String;ILjava/util/Locale;)Ljava/lang/String;
-Ljava/time/format/DateTimeFormatterBuilder$ZoneTextPrinterParser;->getTree(Ljava/time/format/DateTimeParseContext;)Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;
-Ljava/time/format/DateTimeFormatterBuilder$ZoneTextPrinterParser;->preferredZones:Ljava/util/Set;
-Ljava/time/format/DateTimeFormatterBuilder$ZoneTextPrinterParser;->SHORT_TYPES:[Landroid/icu/text/TimeZoneNames$NameType;
-Ljava/time/format/DateTimeFormatterBuilder$ZoneTextPrinterParser;->STD:I
-Ljava/time/format/DateTimeFormatterBuilder$ZoneTextPrinterParser;->textStyle:Ljava/time/format/TextStyle;
-Ljava/time/format/DateTimeFormatterBuilder$ZoneTextPrinterParser;->TYPES:[Landroid/icu/text/TimeZoneNames$NameType;
-Ljava/time/format/DateTimeFormatterBuilder;-><init>(Ljava/time/format/DateTimeFormatterBuilder;Z)V
-Ljava/time/format/DateTimeFormatterBuilder;->active:Ljava/time/format/DateTimeFormatterBuilder;
-Ljava/time/format/DateTimeFormatterBuilder;->appendInternal(Ljava/time/format/DateTimeFormatterBuilder$DateTimePrinterParser;)I
-Ljava/time/format/DateTimeFormatterBuilder;->appendValue(Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;)Ljava/time/format/DateTimeFormatterBuilder;
-Ljava/time/format/DateTimeFormatterBuilder;->convertStyle(Ljava/time/format/FormatStyle;)I
-Ljava/time/format/DateTimeFormatterBuilder;->FIELD_MAP:Ljava/util/Map;
-Ljava/time/format/DateTimeFormatterBuilder;->LENGTH_SORT:Ljava/util/Comparator;
-Ljava/time/format/DateTimeFormatterBuilder;->optional:Z
-Ljava/time/format/DateTimeFormatterBuilder;->padNextChar:C
-Ljava/time/format/DateTimeFormatterBuilder;->padNextWidth:I
-Ljava/time/format/DateTimeFormatterBuilder;->parent:Ljava/time/format/DateTimeFormatterBuilder;
-Ljava/time/format/DateTimeFormatterBuilder;->parseField(CILjava/time/temporal/TemporalField;)V
-Ljava/time/format/DateTimeFormatterBuilder;->parsePattern(Ljava/lang/String;)V
-Ljava/time/format/DateTimeFormatterBuilder;->printerParsers:Ljava/util/List;
-Ljava/time/format/DateTimeFormatterBuilder;->QUERY_REGION_ONLY:Ljava/time/temporal/TemporalQuery;
-Ljava/time/format/DateTimeFormatterBuilder;->toFormatter(Ljava/time/format/ResolverStyle;Ljava/time/chrono/Chronology;)Ljava/time/format/DateTimeFormatter;
-Ljava/time/format/DateTimeFormatterBuilder;->toFormatter(Ljava/util/Locale;Ljava/time/format/ResolverStyle;Ljava/time/chrono/Chronology;)Ljava/time/format/DateTimeFormatter;
-Ljava/time/format/DateTimeFormatterBuilder;->valueParserIndex:I
-Ljava/time/format/DateTimeParseContext;
-Ljava/time/format/DateTimeParseContext;-><init>(Ljava/time/format/DateTimeFormatter;)V
-Ljava/time/format/DateTimeParseContext;->addChronoChangedListener(Ljava/util/function/Consumer;)V
-Ljava/time/format/DateTimeParseContext;->caseSensitive:Z
-Ljava/time/format/DateTimeParseContext;->charEquals(CC)Z
-Ljava/time/format/DateTimeParseContext;->charEqualsIgnoreCase(CC)Z
-Ljava/time/format/DateTimeParseContext;->chronoListeners:Ljava/util/ArrayList;
-Ljava/time/format/DateTimeParseContext;->copy()Ljava/time/format/DateTimeParseContext;
-Ljava/time/format/DateTimeParseContext;->currentParsed()Ljava/time/format/Parsed;
-Ljava/time/format/DateTimeParseContext;->endOptional(Z)V
-Ljava/time/format/DateTimeParseContext;->formatter:Ljava/time/format/DateTimeFormatter;
-Ljava/time/format/DateTimeParseContext;->getDecimalStyle()Ljava/time/format/DecimalStyle;
-Ljava/time/format/DateTimeParseContext;->getEffectiveChronology()Ljava/time/chrono/Chronology;
-Ljava/time/format/DateTimeParseContext;->getLocale()Ljava/util/Locale;
-Ljava/time/format/DateTimeParseContext;->getParsed(Ljava/time/temporal/TemporalField;)Ljava/lang/Long;
-Ljava/time/format/DateTimeParseContext;->isCaseSensitive()Z
-Ljava/time/format/DateTimeParseContext;->isStrict()Z
-Ljava/time/format/DateTimeParseContext;->parsed:Ljava/util/ArrayList;
-Ljava/time/format/DateTimeParseContext;->setCaseSensitive(Z)V
-Ljava/time/format/DateTimeParseContext;->setParsed(Ljava/time/chrono/Chronology;)V
-Ljava/time/format/DateTimeParseContext;->setParsed(Ljava/time/ZoneId;)V
-Ljava/time/format/DateTimeParseContext;->setParsedField(Ljava/time/temporal/TemporalField;JII)I
-Ljava/time/format/DateTimeParseContext;->setParsedLeapSecond()V
-Ljava/time/format/DateTimeParseContext;->setStrict(Z)V
-Ljava/time/format/DateTimeParseContext;->startOptional()V
-Ljava/time/format/DateTimeParseContext;->strict:Z
-Ljava/time/format/DateTimeParseContext;->subSequenceEquals(Ljava/lang/CharSequence;ILjava/lang/CharSequence;II)Z
-Ljava/time/format/DateTimeParseContext;->toResolved(Ljava/time/format/ResolverStyle;Ljava/util/Set;)Ljava/time/temporal/TemporalAccessor;
-Ljava/time/format/DateTimeParseContext;->toUnresolved()Ljava/time/format/Parsed;
-Ljava/time/format/DateTimeParseException;->errorIndex:I
-Ljava/time/format/DateTimeParseException;->parsedString:Ljava/lang/String;
-Ljava/time/format/DateTimePrintContext;
-Ljava/time/format/DateTimePrintContext;-><init>(Ljava/time/temporal/TemporalAccessor;Ljava/time/format/DateTimeFormatter;)V
-Ljava/time/format/DateTimePrintContext;->adjust(Ljava/time/temporal/TemporalAccessor;Ljava/time/format/DateTimeFormatter;)Ljava/time/temporal/TemporalAccessor;
-Ljava/time/format/DateTimePrintContext;->endOptional()V
-Ljava/time/format/DateTimePrintContext;->formatter:Ljava/time/format/DateTimeFormatter;
-Ljava/time/format/DateTimePrintContext;->getDecimalStyle()Ljava/time/format/DecimalStyle;
-Ljava/time/format/DateTimePrintContext;->getLocale()Ljava/util/Locale;
-Ljava/time/format/DateTimePrintContext;->getTemporal()Ljava/time/temporal/TemporalAccessor;
-Ljava/time/format/DateTimePrintContext;->getValue(Ljava/time/temporal/TemporalField;)Ljava/lang/Long;
-Ljava/time/format/DateTimePrintContext;->getValue(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
-Ljava/time/format/DateTimePrintContext;->optional:I
-Ljava/time/format/DateTimePrintContext;->startOptional()V
-Ljava/time/format/DateTimePrintContext;->temporal:Ljava/time/temporal/TemporalAccessor;
-Ljava/time/format/DateTimeTextProvider$LocaleStore;
-Ljava/time/format/DateTimeTextProvider$LocaleStore;-><init>(Ljava/util/Map;)V
-Ljava/time/format/DateTimeTextProvider$LocaleStore;->getText(JLjava/time/format/TextStyle;)Ljava/lang/String;
-Ljava/time/format/DateTimeTextProvider$LocaleStore;->getTextIterator(Ljava/time/format/TextStyle;)Ljava/util/Iterator;
-Ljava/time/format/DateTimeTextProvider$LocaleStore;->parsable:Ljava/util/Map;
-Ljava/time/format/DateTimeTextProvider$LocaleStore;->valueTextMap:Ljava/util/Map;
-Ljava/time/format/DateTimeTextProvider;
-Ljava/time/format/DateTimeTextProvider;-><init>()V
-Ljava/time/format/DateTimeTextProvider;->CACHE:Ljava/util/concurrent/ConcurrentMap;
-Ljava/time/format/DateTimeTextProvider;->COMPARATOR:Ljava/util/Comparator;
-Ljava/time/format/DateTimeTextProvider;->createEntry(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
-Ljava/time/format/DateTimeTextProvider;->createStore(Ljava/time/temporal/TemporalField;Ljava/util/Locale;)Ljava/lang/Object;
-Ljava/time/format/DateTimeTextProvider;->extractQuarters(Landroid/icu/impl/ICUResourceBundle;Ljava/lang/String;)Ljava/util/Map;
-Ljava/time/format/DateTimeTextProvider;->findStore(Ljava/time/temporal/TemporalField;Ljava/util/Locale;)Ljava/lang/Object;
-Ljava/time/format/DateTimeTextProvider;->getInstance()Ljava/time/format/DateTimeTextProvider;
-Ljava/time/format/DateTimeTextProvider;->getText(Ljava/time/chrono/Chronology;Ljava/time/temporal/TemporalField;JLjava/time/format/TextStyle;Ljava/util/Locale;)Ljava/lang/String;
-Ljava/time/format/DateTimeTextProvider;->getText(Ljava/time/temporal/TemporalField;JLjava/time/format/TextStyle;Ljava/util/Locale;)Ljava/lang/String;
-Ljava/time/format/DateTimeTextProvider;->getTextIterator(Ljava/time/chrono/Chronology;Ljava/time/temporal/TemporalField;Ljava/time/format/TextStyle;Ljava/util/Locale;)Ljava/util/Iterator;
-Ljava/time/format/DateTimeTextProvider;->getTextIterator(Ljava/time/temporal/TemporalField;Ljava/time/format/TextStyle;Ljava/util/Locale;)Ljava/util/Iterator;
-Ljava/time/format/DateTimeTextProvider;->toWeekDay(I)I
-Ljava/time/format/DecimalStyle;-><init>(CCCC)V
-Ljava/time/format/DecimalStyle;->CACHE:Ljava/util/concurrent/ConcurrentMap;
-Ljava/time/format/DecimalStyle;->convertNumberToI18N(Ljava/lang/String;)Ljava/lang/String;
-Ljava/time/format/DecimalStyle;->convertToDigit(C)I
-Ljava/time/format/DecimalStyle;->create(Ljava/util/Locale;)Ljava/time/format/DecimalStyle;
-Ljava/time/format/DecimalStyle;->decimalSeparator:C
-Ljava/time/format/DecimalStyle;->negativeSign:C
-Ljava/time/format/DecimalStyle;->positiveSign:C
-Ljava/time/format/DecimalStyle;->zeroDigit:C
-Ljava/time/format/FormatStyle;-><init>()V
-Ljava/time/format/Parsed;
-Ljava/time/format/Parsed;-><init>()V
-Ljava/time/format/Parsed;->chrono:Ljava/time/chrono/Chronology;
-Ljava/time/format/Parsed;->copy()Ljava/time/format/Parsed;
-Ljava/time/format/Parsed;->crossCheck()V
-Ljava/time/format/Parsed;->crossCheck(Ljava/time/temporal/TemporalAccessor;)V
-Ljava/time/format/Parsed;->date:Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/format/Parsed;->excessDays:Ljava/time/Period;
-Ljava/time/format/Parsed;->fieldValues:Ljava/util/Map;
-Ljava/time/format/Parsed;->leapSecond:Z
-Ljava/time/format/Parsed;->resolve(Ljava/time/format/ResolverStyle;Ljava/util/Set;)Ljava/time/temporal/TemporalAccessor;
-Ljava/time/format/Parsed;->resolveDateFields()V
-Ljava/time/format/Parsed;->resolveFields()V
-Ljava/time/format/Parsed;->resolveFractional()V
-Ljava/time/format/Parsed;->resolveInstant()V
-Ljava/time/format/Parsed;->resolveInstantFields()V
-Ljava/time/format/Parsed;->resolveInstantFields0(Ljava/time/ZoneId;)V
-Ljava/time/format/Parsed;->resolvePeriod()V
-Ljava/time/format/Parsed;->resolverStyle:Ljava/time/format/ResolverStyle;
-Ljava/time/format/Parsed;->resolveTime(JJJJ)V
-Ljava/time/format/Parsed;->resolveTimeFields()V
-Ljava/time/format/Parsed;->resolveTimeLenient()V
-Ljava/time/format/Parsed;->time:Ljava/time/LocalTime;
-Ljava/time/format/Parsed;->updateCheckConflict(Ljava/time/chrono/ChronoLocalDate;)V
-Ljava/time/format/Parsed;->updateCheckConflict(Ljava/time/LocalTime;Ljava/time/Period;)V
-Ljava/time/format/Parsed;->updateCheckConflict(Ljava/time/temporal/TemporalField;Ljava/time/temporal/TemporalField;Ljava/lang/Long;)V
-Ljava/time/format/Parsed;->zone:Ljava/time/ZoneId;
-Ljava/time/format/ResolverStyle;-><init>()V
-Ljava/time/format/SignStyle;-><init>()V
-Ljava/time/format/SignStyle;->parse(ZZZ)Z
-Ljava/time/format/TextStyle;-><init>(II)V
-Ljava/time/format/TextStyle;->calendarStyle:I
-Ljava/time/format/TextStyle;->toCalendarStyle()I
-Ljava/time/format/TextStyle;->zoneNameStyleIndex()I
-Ljava/time/format/TextStyle;->zoneNameStyleIndex:I
-Ljava/time/Instant;-><init>(JI)V
-Ljava/time/Instant;->create(JI)Ljava/time/Instant;
-Ljava/time/Instant;->MAX_SECOND:J
-Ljava/time/Instant;->MIN_SECOND:J
-Ljava/time/Instant;->nanos:I
-Ljava/time/Instant;->nanosUntil(Ljava/time/Instant;)J
-Ljava/time/Instant;->plus(JJ)Ljava/time/Instant;
-Ljava/time/Instant;->readExternal(Ljava/io/DataInput;)Ljava/time/Instant;
-Ljava/time/Instant;->seconds:J
-Ljava/time/Instant;->secondsUntil(Ljava/time/Instant;)J
-Ljava/time/Instant;->writeExternal(Ljava/io/DataOutput;)V
-Ljava/time/LocalDate;-><init>(III)V
-Ljava/time/LocalDate;->compareTo0(Ljava/time/LocalDate;)I
-Ljava/time/LocalDate;->create(III)Ljava/time/LocalDate;
-Ljava/time/LocalDate;->day:S
-Ljava/time/LocalDate;->daysUntil(Ljava/time/LocalDate;)J
-Ljava/time/LocalDate;->DAYS_0000_TO_1970:J
-Ljava/time/LocalDate;->DAYS_PER_CYCLE:I
-Ljava/time/LocalDate;->get0(Ljava/time/temporal/TemporalField;)I
-Ljava/time/LocalDate;->getProlepticMonth()J
-Ljava/time/LocalDate;->month:S
-Ljava/time/LocalDate;->monthsUntil(Ljava/time/LocalDate;)J
-Ljava/time/LocalDate;->readExternal(Ljava/io/DataInput;)Ljava/time/LocalDate;
-Ljava/time/LocalDate;->resolvePreviousValid(III)Ljava/time/LocalDate;
-Ljava/time/LocalDate;->writeExternal(Ljava/io/DataOutput;)V
-Ljava/time/LocalDate;->year:I
-Ljava/time/LocalDateTime;-><init>(Ljava/time/LocalDate;Ljava/time/LocalTime;)V
-Ljava/time/LocalDateTime;->compareTo0(Ljava/time/LocalDateTime;)I
-Ljava/time/LocalDateTime;->date:Ljava/time/LocalDate;
-Ljava/time/LocalDateTime;->plusWithOverflow(Ljava/time/LocalDate;JJJJI)Ljava/time/LocalDateTime;
-Ljava/time/LocalDateTime;->readExternal(Ljava/io/DataInput;)Ljava/time/LocalDateTime;
-Ljava/time/LocalDateTime;->time:Ljava/time/LocalTime;
-Ljava/time/LocalDateTime;->with(Ljava/time/LocalDate;Ljava/time/LocalTime;)Ljava/time/LocalDateTime;
-Ljava/time/LocalDateTime;->writeExternal(Ljava/io/DataOutput;)V
-Ljava/time/LocalTime;-><init>(IIII)V
-Ljava/time/LocalTime;->create(IIII)Ljava/time/LocalTime;
-Ljava/time/LocalTime;->get0(Ljava/time/temporal/TemporalField;)I
-Ljava/time/LocalTime;->hour:B
-Ljava/time/LocalTime;->HOURS:[Ljava/time/LocalTime;
-Ljava/time/LocalTime;->HOURS_PER_DAY:I
-Ljava/time/LocalTime;->MICROS_PER_DAY:J
-Ljava/time/LocalTime;->MILLIS_PER_DAY:J
-Ljava/time/LocalTime;->minute:B
-Ljava/time/LocalTime;->MINUTES_PER_DAY:I
-Ljava/time/LocalTime;->MINUTES_PER_HOUR:I
-Ljava/time/LocalTime;->nano:I
-Ljava/time/LocalTime;->NANOS_PER_DAY:J
-Ljava/time/LocalTime;->NANOS_PER_HOUR:J
-Ljava/time/LocalTime;->NANOS_PER_MINUTE:J
-Ljava/time/LocalTime;->NANOS_PER_SECOND:J
-Ljava/time/LocalTime;->readExternal(Ljava/io/DataInput;)Ljava/time/LocalTime;
-Ljava/time/LocalTime;->second:B
-Ljava/time/LocalTime;->SECONDS_PER_DAY:I
-Ljava/time/LocalTime;->SECONDS_PER_HOUR:I
-Ljava/time/LocalTime;->SECONDS_PER_MINUTE:I
-Ljava/time/LocalTime;->writeExternal(Ljava/io/DataOutput;)V
-Ljava/time/Month;-><init>()V
-Ljava/time/Month;->ENUMS:[Ljava/time/Month;
-Ljava/time/MonthDay;-><init>(II)V
-Ljava/time/MonthDay;->day:I
-Ljava/time/MonthDay;->month:I
-Ljava/time/MonthDay;->PARSER:Ljava/time/format/DateTimeFormatter;
-Ljava/time/MonthDay;->readExternal(Ljava/io/DataInput;)Ljava/time/MonthDay;
-Ljava/time/MonthDay;->writeExternal(Ljava/io/DataOutput;)V
-Ljava/time/OffsetDateTime;->compareInstant(Ljava/time/OffsetDateTime;Ljava/time/OffsetDateTime;)I
-Ljava/time/OffsetDateTime;->dateTime:Ljava/time/LocalDateTime;
-Ljava/time/OffsetDateTime;->offset:Ljava/time/ZoneOffset;
-Ljava/time/OffsetDateTime;->readExternal(Ljava/io/ObjectInput;)Ljava/time/OffsetDateTime;
-Ljava/time/OffsetDateTime;->with(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;)Ljava/time/OffsetDateTime;
-Ljava/time/OffsetDateTime;->writeExternal(Ljava/io/ObjectOutput;)V
-Ljava/time/OffsetTime;-><init>(Ljava/time/LocalTime;Ljava/time/ZoneOffset;)V
-Ljava/time/OffsetTime;->offset:Ljava/time/ZoneOffset;
-Ljava/time/OffsetTime;->readExternal(Ljava/io/ObjectInput;)Ljava/time/OffsetTime;
-Ljava/time/OffsetTime;->time:Ljava/time/LocalTime;
-Ljava/time/OffsetTime;->toEpochNano()J
-Ljava/time/OffsetTime;->with(Ljava/time/LocalTime;Ljava/time/ZoneOffset;)Ljava/time/OffsetTime;
-Ljava/time/OffsetTime;->writeExternal(Ljava/io/ObjectOutput;)V
-Ljava/time/Period;-><init>(III)V
-Ljava/time/Period;->create(III)Ljava/time/Period;
-Ljava/time/Period;->days:I
-Ljava/time/Period;->months:I
-Ljava/time/Period;->parseNumber(Ljava/lang/CharSequence;Ljava/lang/String;I)I
-Ljava/time/Period;->PATTERN:Ljava/util/regex/Pattern;
-Ljava/time/Period;->readExternal(Ljava/io/DataInput;)Ljava/time/Period;
-Ljava/time/Period;->SUPPORTED_UNITS:Ljava/util/List;
-Ljava/time/Period;->validateChrono(Ljava/time/temporal/TemporalAccessor;)V
-Ljava/time/Period;->writeExternal(Ljava/io/DataOutput;)V
-Ljava/time/Period;->years:I
-Ljava/time/temporal/ChronoField;-><init>(Ljava/lang/String;Ljava/time/temporal/TemporalUnit;Ljava/time/temporal/TemporalUnit;Ljava/time/temporal/ValueRange;)V
-Ljava/time/temporal/ChronoField;-><init>(Ljava/lang/String;Ljava/time/temporal/TemporalUnit;Ljava/time/temporal/TemporalUnit;Ljava/time/temporal/ValueRange;Ljava/lang/String;)V
-Ljava/time/temporal/ChronoField;->baseUnit:Ljava/time/temporal/TemporalUnit;
-Ljava/time/temporal/ChronoField;->displayNameKey:Ljava/lang/String;
-Ljava/time/temporal/ChronoField;->getIcuFieldNumber(Ljava/time/temporal/ChronoField;)I
-Ljava/time/temporal/ChronoField;->name:Ljava/lang/String;
-Ljava/time/temporal/ChronoField;->range:Ljava/time/temporal/ValueRange;
-Ljava/time/temporal/ChronoField;->rangeUnit:Ljava/time/temporal/TemporalUnit;
-Ljava/time/temporal/ChronoUnit;-><init>(Ljava/lang/String;Ljava/time/Duration;)V
-Ljava/time/temporal/ChronoUnit;->duration:Ljava/time/Duration;
-Ljava/time/temporal/ChronoUnit;->name:Ljava/lang/String;
-Ljava/time/temporal/IsoFields$Field;
-Ljava/time/temporal/IsoFields$Field;-><init>()V
-Ljava/time/temporal/IsoFields$Field;->DAY_OF_QUARTER:Ljava/time/temporal/IsoFields$Field;
-Ljava/time/temporal/IsoFields$Field;->ensureIso(Ljava/time/temporal/TemporalAccessor;)V
-Ljava/time/temporal/IsoFields$Field;->getWeek(Ljava/time/LocalDate;)I
-Ljava/time/temporal/IsoFields$Field;->getWeekBasedYear(Ljava/time/LocalDate;)I
-Ljava/time/temporal/IsoFields$Field;->getWeekRange(I)I
-Ljava/time/temporal/IsoFields$Field;->getWeekRange(Ljava/time/LocalDate;)Ljava/time/temporal/ValueRange;
-Ljava/time/temporal/IsoFields$Field;->isIso(Ljava/time/temporal/TemporalAccessor;)Z
-Ljava/time/temporal/IsoFields$Field;->QUARTER_DAYS:[I
-Ljava/time/temporal/IsoFields$Field;->QUARTER_OF_YEAR:Ljava/time/temporal/IsoFields$Field;
-Ljava/time/temporal/IsoFields$Field;->valueOf(Ljava/lang/String;)Ljava/time/temporal/IsoFields$Field;
-Ljava/time/temporal/IsoFields$Field;->values()[Ljava/time/temporal/IsoFields$Field;
-Ljava/time/temporal/IsoFields$Field;->WEEK_BASED_YEAR:Ljava/time/temporal/IsoFields$Field;
-Ljava/time/temporal/IsoFields$Field;->WEEK_OF_WEEK_BASED_YEAR:Ljava/time/temporal/IsoFields$Field;
-Ljava/time/temporal/IsoFields$Unit;
-Ljava/time/temporal/IsoFields$Unit;-><init>(Ljava/lang/String;Ljava/time/Duration;)V
-Ljava/time/temporal/IsoFields$Unit;->duration:Ljava/time/Duration;
-Ljava/time/temporal/IsoFields$Unit;->name:Ljava/lang/String;
-Ljava/time/temporal/IsoFields$Unit;->QUARTER_YEARS:Ljava/time/temporal/IsoFields$Unit;
-Ljava/time/temporal/IsoFields$Unit;->valueOf(Ljava/lang/String;)Ljava/time/temporal/IsoFields$Unit;
-Ljava/time/temporal/IsoFields$Unit;->values()[Ljava/time/temporal/IsoFields$Unit;
-Ljava/time/temporal/IsoFields$Unit;->WEEK_BASED_YEARS:Ljava/time/temporal/IsoFields$Unit;
-Ljava/time/temporal/IsoFields;-><init>()V
-Ljava/time/temporal/JulianFields$Field;
-Ljava/time/temporal/JulianFields$Field;-><init>(Ljava/lang/String;Ljava/time/temporal/TemporalUnit;Ljava/time/temporal/TemporalUnit;J)V
-Ljava/time/temporal/JulianFields$Field;->baseUnit:Ljava/time/temporal/TemporalUnit;
-Ljava/time/temporal/JulianFields$Field;->JULIAN_DAY:Ljava/time/temporal/JulianFields$Field;
-Ljava/time/temporal/JulianFields$Field;->MODIFIED_JULIAN_DAY:Ljava/time/temporal/JulianFields$Field;
-Ljava/time/temporal/JulianFields$Field;->name:Ljava/lang/String;
-Ljava/time/temporal/JulianFields$Field;->offset:J
-Ljava/time/temporal/JulianFields$Field;->range:Ljava/time/temporal/ValueRange;
-Ljava/time/temporal/JulianFields$Field;->rangeUnit:Ljava/time/temporal/TemporalUnit;
-Ljava/time/temporal/JulianFields$Field;->RATA_DIE:Ljava/time/temporal/JulianFields$Field;
-Ljava/time/temporal/JulianFields$Field;->valueOf(Ljava/lang/String;)Ljava/time/temporal/JulianFields$Field;
-Ljava/time/temporal/JulianFields$Field;->values()[Ljava/time/temporal/JulianFields$Field;
-Ljava/time/temporal/JulianFields;-><init>()V
-Ljava/time/temporal/JulianFields;->JULIAN_DAY_OFFSET:J
-Ljava/time/temporal/TemporalAdjusters;-><init>()V
-Ljava/time/temporal/TemporalQueries;-><init>()V
-Ljava/time/temporal/TemporalQueries;->CHRONO:Ljava/time/temporal/TemporalQuery;
-Ljava/time/temporal/TemporalQueries;->LOCAL_DATE:Ljava/time/temporal/TemporalQuery;
-Ljava/time/temporal/TemporalQueries;->LOCAL_TIME:Ljava/time/temporal/TemporalQuery;
-Ljava/time/temporal/TemporalQueries;->OFFSET:Ljava/time/temporal/TemporalQuery;
-Ljava/time/temporal/TemporalQueries;->PRECISION:Ljava/time/temporal/TemporalQuery;
-Ljava/time/temporal/TemporalQueries;->ZONE:Ljava/time/temporal/TemporalQuery;
-Ljava/time/temporal/TemporalQueries;->ZONE_ID:Ljava/time/temporal/TemporalQuery;
-Ljava/time/temporal/ValueRange;-><init>(JJJJ)V
-Ljava/time/temporal/ValueRange;->genInvalidFieldMessage(Ljava/time/temporal/TemporalField;J)Ljava/lang/String;
-Ljava/time/temporal/ValueRange;->maxLargest:J
-Ljava/time/temporal/ValueRange;->maxSmallest:J
-Ljava/time/temporal/ValueRange;->minLargest:J
-Ljava/time/temporal/ValueRange;->minSmallest:J
-Ljava/time/temporal/WeekFields$ComputedDayOfField;
-Ljava/time/temporal/WeekFields$ComputedDayOfField;-><init>(Ljava/lang/String;Ljava/time/temporal/WeekFields;Ljava/time/temporal/TemporalUnit;Ljava/time/temporal/TemporalUnit;Ljava/time/temporal/ValueRange;)V
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->baseUnit:Ljava/time/temporal/TemporalUnit;
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->computeWeek(II)I
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->DAY_OF_WEEK_RANGE:Ljava/time/temporal/ValueRange;
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->localizedDayOfWeek(I)I
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->localizedDayOfWeek(Ljava/time/temporal/TemporalAccessor;)I
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->localizedWeekBasedYear(Ljava/time/temporal/TemporalAccessor;)I
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->localizedWeekOfMonth(Ljava/time/temporal/TemporalAccessor;)J
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->localizedWeekOfWeekBasedYear(Ljava/time/temporal/TemporalAccessor;)I
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->localizedWeekOfYear(Ljava/time/temporal/TemporalAccessor;)J
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->name:Ljava/lang/String;
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->ofDayOfWeekField(Ljava/time/temporal/WeekFields;)Ljava/time/temporal/WeekFields$ComputedDayOfField;
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->ofWeekBasedYear(Ljava/time/chrono/Chronology;III)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->ofWeekBasedYearField(Ljava/time/temporal/WeekFields;)Ljava/time/temporal/WeekFields$ComputedDayOfField;
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->ofWeekOfMonthField(Ljava/time/temporal/WeekFields;)Ljava/time/temporal/WeekFields$ComputedDayOfField;
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->ofWeekOfWeekBasedYearField(Ljava/time/temporal/WeekFields;)Ljava/time/temporal/WeekFields$ComputedDayOfField;
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->ofWeekOfYearField(Ljava/time/temporal/WeekFields;)Ljava/time/temporal/WeekFields$ComputedDayOfField;
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->range:Ljava/time/temporal/ValueRange;
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->rangeByWeek(Ljava/time/temporal/TemporalAccessor;Ljava/time/temporal/TemporalField;)Ljava/time/temporal/ValueRange;
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->rangeUnit:Ljava/time/temporal/TemporalUnit;
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->rangeWeekOfWeekBasedYear(Ljava/time/temporal/TemporalAccessor;)Ljava/time/temporal/ValueRange;
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->resolveWBY(Ljava/util/Map;Ljava/time/chrono/Chronology;ILjava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->resolveWoM(Ljava/util/Map;Ljava/time/chrono/Chronology;IJJILjava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->resolveWoY(Ljava/util/Map;Ljava/time/chrono/Chronology;IJILjava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->startOfWeekOffset(II)I
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->weekDef:Ljava/time/temporal/WeekFields;
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->WEEK_OF_MONTH_RANGE:Ljava/time/temporal/ValueRange;
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->WEEK_OF_WEEK_BASED_YEAR_RANGE:Ljava/time/temporal/ValueRange;
-Ljava/time/temporal/WeekFields$ComputedDayOfField;->WEEK_OF_YEAR_RANGE:Ljava/time/temporal/ValueRange;
-Ljava/time/temporal/WeekFields;-><init>(Ljava/time/DayOfWeek;I)V
-Ljava/time/temporal/WeekFields;->CACHE:Ljava/util/concurrent/ConcurrentMap;
-Ljava/time/temporal/WeekFields;->dayOfWeek:Ljava/time/temporal/TemporalField;
-Ljava/time/temporal/WeekFields;->firstDayOfWeek:Ljava/time/DayOfWeek;
-Ljava/time/temporal/WeekFields;->minimalDays:I
-Ljava/time/temporal/WeekFields;->weekBasedYear:Ljava/time/temporal/TemporalField;
-Ljava/time/temporal/WeekFields;->weekOfMonth:Ljava/time/temporal/TemporalField;
-Ljava/time/temporal/WeekFields;->weekOfWeekBasedYear:Ljava/time/temporal/TemporalField;
-Ljava/time/temporal/WeekFields;->weekOfYear:Ljava/time/temporal/TemporalField;
-Ljava/time/Year;-><init>(I)V
-Ljava/time/Year;->PARSER:Ljava/time/format/DateTimeFormatter;
-Ljava/time/Year;->readExternal(Ljava/io/DataInput;)Ljava/time/Year;
-Ljava/time/Year;->writeExternal(Ljava/io/DataOutput;)V
-Ljava/time/Year;->year:I
-Ljava/time/YearMonth;-><init>(II)V
-Ljava/time/YearMonth;->getProlepticMonth()J
-Ljava/time/YearMonth;->month:I
-Ljava/time/YearMonth;->PARSER:Ljava/time/format/DateTimeFormatter;
-Ljava/time/YearMonth;->readExternal(Ljava/io/DataInput;)Ljava/time/YearMonth;
-Ljava/time/YearMonth;->with(II)Ljava/time/YearMonth;
-Ljava/time/YearMonth;->writeExternal(Ljava/io/DataOutput;)V
-Ljava/time/YearMonth;->year:I
-Ljava/time/zone/ZoneOffsetTransition;-><init>(JLjava/time/ZoneOffset;Ljava/time/ZoneOffset;)V
-Ljava/time/zone/ZoneOffsetTransition;-><init>(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)V
-Ljava/time/zone/ZoneOffsetTransition;->getDurationSeconds()I
-Ljava/time/zone/ZoneOffsetTransition;->getValidOffsets()Ljava/util/List;
-Ljava/time/zone/ZoneOffsetTransition;->offsetAfter:Ljava/time/ZoneOffset;
-Ljava/time/zone/ZoneOffsetTransition;->offsetBefore:Ljava/time/ZoneOffset;
-Ljava/time/zone/ZoneOffsetTransition;->readExternal(Ljava/io/DataInput;)Ljava/time/zone/ZoneOffsetTransition;
-Ljava/time/zone/ZoneOffsetTransition;->transition:Ljava/time/LocalDateTime;
-Ljava/time/zone/ZoneOffsetTransition;->writeExternal(Ljava/io/DataOutput;)V
-Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;-><init>()V
-Ljava/time/zone/ZoneOffsetTransitionRule;-><init>(Ljava/time/Month;ILjava/time/DayOfWeek;Ljava/time/LocalTime;ZLjava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)V
-Ljava/time/zone/ZoneOffsetTransitionRule;->dom:B
-Ljava/time/zone/ZoneOffsetTransitionRule;->dow:Ljava/time/DayOfWeek;
-Ljava/time/zone/ZoneOffsetTransitionRule;->month:Ljava/time/Month;
-Ljava/time/zone/ZoneOffsetTransitionRule;->offsetAfter:Ljava/time/ZoneOffset;
-Ljava/time/zone/ZoneOffsetTransitionRule;->offsetBefore:Ljava/time/ZoneOffset;
-Ljava/time/zone/ZoneOffsetTransitionRule;->readExternal(Ljava/io/DataInput;)Ljava/time/zone/ZoneOffsetTransitionRule;
-Ljava/time/zone/ZoneOffsetTransitionRule;->standardOffset:Ljava/time/ZoneOffset;
-Ljava/time/zone/ZoneOffsetTransitionRule;->time:Ljava/time/LocalTime;
-Ljava/time/zone/ZoneOffsetTransitionRule;->timeDefinition:Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;
-Ljava/time/zone/ZoneOffsetTransitionRule;->timeEndOfDay:Z
-Ljava/time/zone/ZoneOffsetTransitionRule;->writeExternal(Ljava/io/DataOutput;)V
-Ljava/time/zone/ZoneRules;-><init>(Ljava/time/ZoneOffset;)V
-Ljava/time/zone/ZoneRules;-><init>(Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/util/List;Ljava/util/List;Ljava/util/List;)V
-Ljava/time/zone/ZoneRules;-><init>([J[Ljava/time/ZoneOffset;[J[Ljava/time/ZoneOffset;[Ljava/time/zone/ZoneOffsetTransitionRule;)V
-Ljava/time/zone/ZoneRules;->EMPTY_LASTRULES:[Ljava/time/zone/ZoneOffsetTransitionRule;
-Ljava/time/zone/ZoneRules;->EMPTY_LDT_ARRAY:[Ljava/time/LocalDateTime;
-Ljava/time/zone/ZoneRules;->EMPTY_LONG_ARRAY:[J
-Ljava/time/zone/ZoneRules;->findOffsetInfo(Ljava/time/LocalDateTime;Ljava/time/zone/ZoneOffsetTransition;)Ljava/lang/Object;
-Ljava/time/zone/ZoneRules;->findTransitionArray(I)[Ljava/time/zone/ZoneOffsetTransition;
-Ljava/time/zone/ZoneRules;->findYear(JLjava/time/ZoneOffset;)I
-Ljava/time/zone/ZoneRules;->getOffsetInfo(Ljava/time/LocalDateTime;)Ljava/lang/Object;
-Ljava/time/zone/ZoneRules;->lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
-Ljava/time/zone/ZoneRules;->lastRulesCache:Ljava/util/concurrent/ConcurrentMap;
-Ljava/time/zone/ZoneRules;->LAST_CACHED_YEAR:I
-Ljava/time/zone/ZoneRules;->readExternal(Ljava/io/DataInput;)Ljava/time/zone/ZoneRules;
-Ljava/time/zone/ZoneRules;->savingsInstantTransitions:[J
-Ljava/time/zone/ZoneRules;->savingsLocalTransitions:[Ljava/time/LocalDateTime;
-Ljava/time/zone/ZoneRules;->standardOffsets:[Ljava/time/ZoneOffset;
-Ljava/time/zone/ZoneRules;->standardTransitions:[J
-Ljava/time/zone/ZoneRules;->wallOffsets:[Ljava/time/ZoneOffset;
-Ljava/time/zone/ZoneRules;->writeExternal(Ljava/io/DataOutput;)V
-Ljava/time/ZonedDateTime;-><init>(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneId;)V
-Ljava/time/ZonedDateTime;->create(JILjava/time/ZoneId;)Ljava/time/ZonedDateTime;
-Ljava/time/ZonedDateTime;->dateTime:Ljava/time/LocalDateTime;
-Ljava/time/ZonedDateTime;->offset:Ljava/time/ZoneOffset;
-Ljava/time/ZonedDateTime;->ofLenient(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
-Ljava/time/ZonedDateTime;->readExternal(Ljava/io/ObjectInput;)Ljava/time/ZonedDateTime;
-Ljava/time/ZonedDateTime;->resolveInstant(Ljava/time/LocalDateTime;)Ljava/time/ZonedDateTime;
-Ljava/time/ZonedDateTime;->resolveLocal(Ljava/time/LocalDateTime;)Ljava/time/ZonedDateTime;
-Ljava/time/ZonedDateTime;->resolveOffset(Ljava/time/ZoneOffset;)Ljava/time/ZonedDateTime;
-Ljava/time/ZonedDateTime;->writeExternal(Ljava/io/DataOutput;)V
-Ljava/time/ZonedDateTime;->zone:Ljava/time/ZoneId;
-Ljava/time/ZoneId;-><init>()V
-Ljava/time/ZoneId;->ofWithPrefix(Ljava/lang/String;IZ)Ljava/time/ZoneId;
-Ljava/time/ZoneId;->toTemporal()Ljava/time/temporal/TemporalAccessor;
-Ljava/time/ZoneId;->write(Ljava/io/DataOutput;)V
-Ljava/time/ZoneOffset;-><init>(I)V
-Ljava/time/ZoneOffset;->buildId(I)Ljava/lang/String;
-Ljava/time/ZoneOffset;->id:Ljava/lang/String;
-Ljava/time/ZoneOffset;->ID_CACHE:Ljava/util/concurrent/ConcurrentMap;
-Ljava/time/ZoneOffset;->MAX_SECONDS:I
-Ljava/time/ZoneOffset;->parseNumber(Ljava/lang/CharSequence;IZ)I
-Ljava/time/ZoneOffset;->readExternal(Ljava/io/DataInput;)Ljava/time/ZoneOffset;
-Ljava/time/ZoneOffset;->SECONDS_CACHE:Ljava/util/concurrent/ConcurrentMap;
-Ljava/time/ZoneOffset;->totalSeconds(III)I
-Ljava/time/ZoneOffset;->totalSeconds:I
-Ljava/time/ZoneOffset;->validate(III)V
-Ljava/time/ZoneOffset;->write(Ljava/io/DataOutput;)V
-Ljava/time/ZoneOffset;->writeExternal(Ljava/io/DataOutput;)V
-Ljava/util/AbstractCollection;->finishToArray([Ljava/lang/Object;Ljava/util/Iterator;)[Ljava/lang/Object;
-Ljava/util/AbstractCollection;->hugeCapacity(I)I
-Ljava/util/AbstractCollection;->MAX_ARRAY_SIZE:I
-Ljava/util/AbstractList$Itr;
-Ljava/util/AbstractList$Itr;-><init>()V
-Ljava/util/AbstractList$Itr;->checkForComodification()V
-Ljava/util/AbstractList$Itr;->cursor:I
-Ljava/util/AbstractList$Itr;->expectedModCount:I
-Ljava/util/AbstractList$Itr;->lastRet:I
-Ljava/util/AbstractList$ListItr;
-Ljava/util/AbstractList$ListItr;-><init>(I)V
-Ljava/util/AbstractList;->outOfBoundsMsg(I)Ljava/lang/String;
-Ljava/util/AbstractList;->rangeCheckForAdd(I)V
-Ljava/util/AbstractMap$SimpleEntry;->key:Ljava/lang/Object;
-Ljava/util/AbstractMap$SimpleEntry;->value:Ljava/lang/Object;
-Ljava/util/AbstractMap$SimpleImmutableEntry;->key:Ljava/lang/Object;
-Ljava/util/AbstractMap$SimpleImmutableEntry;->value:Ljava/lang/Object;
-Ljava/util/AbstractMap;->eq(Ljava/lang/Object;Ljava/lang/Object;)Z
-Ljava/util/AbstractMap;->keySet:Ljava/util/Set;
-Ljava/util/AbstractMap;->values:Ljava/util/Collection;
-Ljava/util/ArrayDeque$DeqIterator;
-Ljava/util/ArrayDeque$DeqIterator;-><init>()V
-Ljava/util/ArrayDeque$DeqIterator;->cursor:I
-Ljava/util/ArrayDeque$DeqIterator;->fence:I
-Ljava/util/ArrayDeque$DeqIterator;->lastRet:I
-Ljava/util/ArrayDeque$DeqSpliterator;
-Ljava/util/ArrayDeque$DeqSpliterator;-><init>(Ljava/util/ArrayDeque;II)V
-Ljava/util/ArrayDeque$DeqSpliterator;->deq:Ljava/util/ArrayDeque;
-Ljava/util/ArrayDeque$DeqSpliterator;->fence:I
-Ljava/util/ArrayDeque$DeqSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/ArrayDeque$DeqSpliterator;->getFence()I
-Ljava/util/ArrayDeque$DeqSpliterator;->index:I
-Ljava/util/ArrayDeque$DeqSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/ArrayDeque$DescendingIterator;
-Ljava/util/ArrayDeque$DescendingIterator;-><init>()V
-Ljava/util/ArrayDeque$DescendingIterator;->cursor:I
-Ljava/util/ArrayDeque$DescendingIterator;->fence:I
-Ljava/util/ArrayDeque$DescendingIterator;->lastRet:I
-Ljava/util/ArrayDeque;->allocateElements(I)V
-Ljava/util/ArrayDeque;->checkInvariants()V
-Ljava/util/ArrayDeque;->delete(I)Z
-Ljava/util/ArrayDeque;->doubleCapacity()V
-Ljava/util/ArrayDeque;->MIN_INITIAL_CAPACITY:I
-Ljava/util/ArrayList$ArrayListSpliterator;
-Ljava/util/ArrayList$ArrayListSpliterator;-><init>(Ljava/util/ArrayList;III)V
-Ljava/util/ArrayList$ArrayListSpliterator;->expectedModCount:I
-Ljava/util/ArrayList$ArrayListSpliterator;->fence:I
-Ljava/util/ArrayList$ArrayListSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/ArrayList$ArrayListSpliterator;->getFence()I
-Ljava/util/ArrayList$ArrayListSpliterator;->index:I
-Ljava/util/ArrayList$ArrayListSpliterator;->list:Ljava/util/ArrayList;
-Ljava/util/ArrayList$ArrayListSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/ArrayList$Itr;
-Ljava/util/ArrayList$Itr;-><init>()V
-Ljava/util/ArrayList$Itr;->cursor:I
-Ljava/util/ArrayList$Itr;->expectedModCount:I
-Ljava/util/ArrayList$Itr;->lastRet:I
-Ljava/util/ArrayList$Itr;->limit:I
-Ljava/util/ArrayList$ListItr;
-Ljava/util/ArrayList$ListItr;-><init>(I)V
-Ljava/util/ArrayList$SubList;
-Ljava/util/ArrayList$SubList;-><init>(Ljava/util/AbstractList;III)V
-Ljava/util/ArrayList$SubList;->outOfBoundsMsg(I)Ljava/lang/String;
-Ljava/util/ArrayList;->batchRemove(Ljava/util/Collection;Z)Z
-Ljava/util/ArrayList;->DEFAULTCAPACITY_EMPTY_ELEMENTDATA:[Ljava/lang/Object;
-Ljava/util/ArrayList;->DEFAULT_CAPACITY:I
-Ljava/util/ArrayList;->EMPTY_ELEMENTDATA:[Ljava/lang/Object;
-Ljava/util/ArrayList;->ensureCapacityInternal(I)V
-Ljava/util/ArrayList;->ensureExplicitCapacity(I)V
-Ljava/util/ArrayList;->fastRemove(I)V
-Ljava/util/ArrayList;->grow(I)V
-Ljava/util/ArrayList;->hugeCapacity(I)I
-Ljava/util/ArrayList;->MAX_ARRAY_SIZE:I
-Ljava/util/ArrayList;->outOfBoundsMsg(I)Ljava/lang/String;
-Ljava/util/ArrayList;->subListRangeCheck(III)V
-Ljava/util/Arrays$ArrayList;
-Ljava/util/Arrays$ArrayList;-><init>([Ljava/lang/Object;)V
-Ljava/util/Arrays$ArrayList;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/Arrays$NaturalOrder;
-Ljava/util/Arrays$NaturalOrder;-><init>()V
-Ljava/util/Arrays$NaturalOrder;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-Ljava/util/Arrays$NaturalOrder;->INSTANCE:Ljava/util/Arrays$NaturalOrder;
-Ljava/util/Arrays;-><init>()V
-Ljava/util/Arrays;->binarySearch0([BIIB)I
-Ljava/util/Arrays;->binarySearch0([CIIC)I
-Ljava/util/Arrays;->binarySearch0([DIID)I
-Ljava/util/Arrays;->binarySearch0([FIIF)I
-Ljava/util/Arrays;->binarySearch0([IIII)I
-Ljava/util/Arrays;->binarySearch0([JIIJ)I
-Ljava/util/Arrays;->binarySearch0([Ljava/lang/Object;IILjava/lang/Object;)I
-Ljava/util/Arrays;->binarySearch0([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I
-Ljava/util/Arrays;->binarySearch0([SIIS)I
-Ljava/util/Arrays;->deepEquals0(Ljava/lang/Object;Ljava/lang/Object;)Z
-Ljava/util/Arrays;->INSERTIONSORT_THRESHOLD:I
-Ljava/util/Arrays;->mergeSort([Ljava/lang/Object;[Ljava/lang/Object;III)V
-Ljava/util/Arrays;->MIN_ARRAY_SORT_GRAN:I
-Ljava/util/Arrays;->rangeCheck(III)V
-Ljava/util/Arrays;->swap([Ljava/lang/Object;II)V
-Ljava/util/Base64$DecInputStream;
-Ljava/util/Base64$DecInputStream;-><init>(Ljava/io/InputStream;[IZ)V
-Ljava/util/Base64$DecInputStream;->base64:[I
-Ljava/util/Base64$DecInputStream;->bits:I
-Ljava/util/Base64$DecInputStream;->closed:Z
-Ljava/util/Base64$DecInputStream;->eof:Z
-Ljava/util/Base64$DecInputStream;->is:Ljava/io/InputStream;
-Ljava/util/Base64$DecInputStream;->isMIME:Z
-Ljava/util/Base64$DecInputStream;->nextin:I
-Ljava/util/Base64$DecInputStream;->nextout:I
-Ljava/util/Base64$DecInputStream;->sbBuf:[B
-Ljava/util/Base64$Decoder;-><init>(ZZ)V
-Ljava/util/Base64$Decoder;->decode0([BII[B)I
-Ljava/util/Base64$Decoder;->fromBase64:[I
-Ljava/util/Base64$Decoder;->fromBase64URL:[I
-Ljava/util/Base64$Decoder;->isMIME:Z
-Ljava/util/Base64$Decoder;->isURL:Z
-Ljava/util/Base64$Decoder;->outLength([BII)I
-Ljava/util/Base64$Decoder;->RFC2045:Ljava/util/Base64$Decoder;
-Ljava/util/Base64$Decoder;->RFC4648:Ljava/util/Base64$Decoder;
-Ljava/util/Base64$Decoder;->RFC4648_URLSAFE:Ljava/util/Base64$Decoder;
-Ljava/util/Base64$Encoder;-><init>(Z[BIZ)V
-Ljava/util/Base64$Encoder;->CRLF:[B
-Ljava/util/Base64$Encoder;->doPadding:Z
-Ljava/util/Base64$Encoder;->encode0([BII[B)I
-Ljava/util/Base64$Encoder;->isURL:Z
-Ljava/util/Base64$Encoder;->linemax:I
-Ljava/util/Base64$Encoder;->MIMELINEMAX:I
-Ljava/util/Base64$Encoder;->newline:[B
-Ljava/util/Base64$Encoder;->outLength(I)I
-Ljava/util/Base64$Encoder;->RFC2045:Ljava/util/Base64$Encoder;
-Ljava/util/Base64$Encoder;->RFC4648:Ljava/util/Base64$Encoder;
-Ljava/util/Base64$Encoder;->RFC4648_URLSAFE:Ljava/util/Base64$Encoder;
-Ljava/util/Base64$Encoder;->toBase64:[C
-Ljava/util/Base64$Encoder;->toBase64URL:[C
-Ljava/util/Base64$EncOutputStream;
-Ljava/util/Base64$EncOutputStream;-><init>(Ljava/io/OutputStream;[C[BIZ)V
-Ljava/util/Base64$EncOutputStream;->b0:I
-Ljava/util/Base64$EncOutputStream;->b1:I
-Ljava/util/Base64$EncOutputStream;->b2:I
-Ljava/util/Base64$EncOutputStream;->base64:[C
-Ljava/util/Base64$EncOutputStream;->checkNewline()V
-Ljava/util/Base64$EncOutputStream;->closed:Z
-Ljava/util/Base64$EncOutputStream;->doPadding:Z
-Ljava/util/Base64$EncOutputStream;->leftover:I
-Ljava/util/Base64$EncOutputStream;->linemax:I
-Ljava/util/Base64$EncOutputStream;->linepos:I
-Ljava/util/Base64$EncOutputStream;->newline:[B
-Ljava/util/Base64;-><init>()V
-Ljava/util/BitSet;-><init>([J)V
-Ljava/util/BitSet;->ADDRESS_BITS_PER_WORD:I
-Ljava/util/BitSet;->BITS_PER_WORD:I
-Ljava/util/BitSet;->BIT_INDEX_MASK:I
-Ljava/util/BitSet;->checkInvariants()V
-Ljava/util/BitSet;->checkRange(II)V
-Ljava/util/BitSet;->ensureCapacity(I)V
-Ljava/util/BitSet;->expandTo(I)V
-Ljava/util/BitSet;->initWords(I)V
-Ljava/util/BitSet;->recalculateWordsInUse()V
-Ljava/util/BitSet;->sizeIsSticky:Z
-Ljava/util/BitSet;->trimToSize()V
-Ljava/util/BitSet;->wordIndex(I)I
-Ljava/util/BitSet;->words:[J
-Ljava/util/BitSet;->wordsInUse:I
-Ljava/util/BitSet;->WORD_MASK:J
-Ljava/util/Calendar$AvailableCalendarTypes;
-Ljava/util/Calendar$AvailableCalendarTypes;-><init>()V
-Ljava/util/Calendar$AvailableCalendarTypes;->SET:Ljava/util/Set;
-Ljava/util/Calendar$Builder;->allocateFields()V
-Ljava/util/Calendar$Builder;->fields:[I
-Ljava/util/Calendar$Builder;->firstDayOfWeek:I
-Ljava/util/Calendar$Builder;->instant:J
-Ljava/util/Calendar$Builder;->internalSet(II)V
-Ljava/util/Calendar$Builder;->isInstantSet()Z
-Ljava/util/Calendar$Builder;->isSet(I)Z
-Ljava/util/Calendar$Builder;->isValidWeekParameter(I)Z
-Ljava/util/Calendar$Builder;->lenient:Z
-Ljava/util/Calendar$Builder;->locale:Ljava/util/Locale;
-Ljava/util/Calendar$Builder;->maxFieldIndex:I
-Ljava/util/Calendar$Builder;->minimalDaysInFirstWeek:I
-Ljava/util/Calendar$Builder;->nextStamp:I
-Ljava/util/Calendar$Builder;->NFIELDS:I
-Ljava/util/Calendar$Builder;->type:Ljava/lang/String;
-Ljava/util/Calendar$Builder;->WEEK_YEAR:I
-Ljava/util/Calendar$Builder;->zone:Ljava/util/TimeZone;
-Ljava/util/Calendar$CalendarAccessControlContext;
-Ljava/util/Calendar$CalendarAccessControlContext;-><init>()V
-Ljava/util/Calendar$CalendarAccessControlContext;->INSTANCE:Ljava/security/AccessControlContext;
-Ljava/util/Calendar;->adjustStamp()V
-Ljava/util/Calendar;->aggregateStamp(II)I
-Ljava/util/Calendar;->ALL_FIELDS:I
-Ljava/util/Calendar;->AM_PM_MASK:I
-Ljava/util/Calendar;->appendValue(Ljava/lang/StringBuilder;Ljava/lang/String;ZJ)V
-Ljava/util/Calendar;->areAllFieldsSet:Z
-Ljava/util/Calendar;->cachedLocaleData:Ljava/util/concurrent/ConcurrentMap;
-Ljava/util/Calendar;->checkDisplayNameParams(IIIILjava/util/Locale;I)Z
-Ljava/util/Calendar;->compareTo(J)I
-Ljava/util/Calendar;->COMPUTED:I
-Ljava/util/Calendar;->createCalendar(Ljava/util/TimeZone;Ljava/util/Locale;)Ljava/util/Calendar;
-Ljava/util/Calendar;->currentSerialVersion:I
-Ljava/util/Calendar;->DATE_MASK:I
-Ljava/util/Calendar;->DAY_OF_MONTH_MASK:I
-Ljava/util/Calendar;->DAY_OF_WEEK_IN_MONTH_MASK:I
-Ljava/util/Calendar;->DAY_OF_WEEK_MASK:I
-Ljava/util/Calendar;->DAY_OF_YEAR_MASK:I
-Ljava/util/Calendar;->DST_OFFSET_MASK:I
-Ljava/util/Calendar;->ERA_MASK:I
-Ljava/util/Calendar;->FIELD_NAME:[Ljava/lang/String;
-Ljava/util/Calendar;->firstDayOfWeek:I
-Ljava/util/Calendar;->getBaseStyle(I)I
-Ljava/util/Calendar;->getDisplayNamesImpl(IILjava/util/Locale;)Ljava/util/Map;
-Ljava/util/Calendar;->getFieldName(I)Ljava/lang/String;
-Ljava/util/Calendar;->getFieldStrings(IILjava/text/DateFormatSymbols;)[Ljava/lang/String;
-Ljava/util/Calendar;->getJapaneseImperialInstance(Ljava/util/TimeZone;Ljava/util/Locale;)Ljava/util/Calendar;
-Ljava/util/Calendar;->getMillisOf(Ljava/util/Calendar;)J
-Ljava/util/Calendar;->getSetStateFields()I
-Ljava/util/Calendar;->getZone()Ljava/util/TimeZone;
-Ljava/util/Calendar;->HOUR_MASK:I
-Ljava/util/Calendar;->HOUR_OF_DAY_MASK:I
-Ljava/util/Calendar;->internalSet(II)V
-Ljava/util/Calendar;->invalidateWeekFields()V
-Ljava/util/Calendar;->isExternallySet(I)Z
-Ljava/util/Calendar;->isFieldSet(II)Z
-Ljava/util/Calendar;->isFullyNormalized()Z
-Ljava/util/Calendar;->isNarrowFormatStyle(I)Z
-Ljava/util/Calendar;->isNarrowStyle(I)Z
-Ljava/util/Calendar;->isPartiallyNormalized()Z
-Ljava/util/Calendar;->isStandaloneStyle(I)Z
-Ljava/util/Calendar;->lenient:Z
-Ljava/util/Calendar;->MILLISECOND_MASK:I
-Ljava/util/Calendar;->minimalDaysInFirstWeek:I
-Ljava/util/Calendar;->MINIMUM_USER_STAMP:I
-Ljava/util/Calendar;->MINUTE_MASK:I
-Ljava/util/Calendar;->MONTH_MASK:I
-Ljava/util/Calendar;->nextStamp:I
-Ljava/util/Calendar;->SECOND_MASK:I
-Ljava/util/Calendar;->selectFields()I
-Ljava/util/Calendar;->serialVersionOnStream:I
-Ljava/util/Calendar;->setFieldsComputed(I)V
-Ljava/util/Calendar;->setFieldsNormalized(I)V
-Ljava/util/Calendar;->setUnnormalized()V
-Ljava/util/Calendar;->setWeekCountData(Ljava/util/Locale;)V
-Ljava/util/Calendar;->setZoneShared(Z)V
-Ljava/util/Calendar;->sharedZone:Z
-Ljava/util/Calendar;->stamp:[I
-Ljava/util/Calendar;->STANDALONE_MASK:I
-Ljava/util/Calendar;->toStandaloneStyle(I)I
-Ljava/util/Calendar;->UNSET:I
-Ljava/util/Calendar;->updateTime()V
-Ljava/util/Calendar;->WEEK_OF_MONTH_MASK:I
-Ljava/util/Calendar;->WEEK_OF_YEAR_MASK:I
-Ljava/util/Calendar;->YEAR_MASK:I
-Ljava/util/Calendar;->ZONE_OFFSET_MASK:I
-Ljava/util/Collections$AsLIFOQueue;
-Ljava/util/Collections$AsLIFOQueue;-><init>(Ljava/util/Deque;)V
-Ljava/util/Collections$AsLIFOQueue;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/Collections$AsLIFOQueue;->q:Ljava/util/Deque;
-Ljava/util/Collections$CheckedCollection;
-Ljava/util/Collections$CheckedCollection;-><init>(Ljava/util/Collection;Ljava/lang/Class;)V
-Ljava/util/Collections$CheckedCollection;->badElementMsg(Ljava/lang/Object;)Ljava/lang/String;
-Ljava/util/Collections$CheckedCollection;->c:Ljava/util/Collection;
-Ljava/util/Collections$CheckedCollection;->checkedCopyOf(Ljava/util/Collection;)Ljava/util/Collection;
-Ljava/util/Collections$CheckedCollection;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/Collections$CheckedCollection;->type:Ljava/lang/Class;
-Ljava/util/Collections$CheckedCollection;->typeCheck(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/Collections$CheckedCollection;->zeroLengthElementArray()[Ljava/lang/Object;
-Ljava/util/Collections$CheckedCollection;->zeroLengthElementArray:[Ljava/lang/Object;
-Ljava/util/Collections$CheckedList;
-Ljava/util/Collections$CheckedList;-><init>(Ljava/util/List;Ljava/lang/Class;)V
-Ljava/util/Collections$CheckedList;->list:Ljava/util/List;
-Ljava/util/Collections$CheckedMap$CheckedEntrySet$CheckedEntry;
-Ljava/util/Collections$CheckedMap$CheckedEntrySet$CheckedEntry;-><init>(Ljava/util/Map$Entry;Ljava/lang/Class;)V
-Ljava/util/Collections$CheckedMap$CheckedEntrySet$CheckedEntry;->badValueMsg(Ljava/lang/Object;)Ljava/lang/String;
-Ljava/util/Collections$CheckedMap$CheckedEntrySet$CheckedEntry;->e:Ljava/util/Map$Entry;
-Ljava/util/Collections$CheckedMap$CheckedEntrySet$CheckedEntry;->valueType:Ljava/lang/Class;
-Ljava/util/Collections$CheckedMap$CheckedEntrySet;
-Ljava/util/Collections$CheckedMap$CheckedEntrySet;-><init>(Ljava/util/Set;Ljava/lang/Class;)V
-Ljava/util/Collections$CheckedMap$CheckedEntrySet;->add(Ljava/util/Map$Entry;)Z
-Ljava/util/Collections$CheckedMap$CheckedEntrySet;->addAll(Ljava/util/Collection;)Z
-Ljava/util/Collections$CheckedMap$CheckedEntrySet;->batchRemove(Ljava/util/Collection;Z)Z
-Ljava/util/Collections$CheckedMap$CheckedEntrySet;->checkedEntry(Ljava/util/Map$Entry;Ljava/lang/Class;)Ljava/util/Collections$CheckedMap$CheckedEntrySet$CheckedEntry;
-Ljava/util/Collections$CheckedMap$CheckedEntrySet;->s:Ljava/util/Set;
-Ljava/util/Collections$CheckedMap$CheckedEntrySet;->valueType:Ljava/lang/Class;
-Ljava/util/Collections$CheckedMap;
-Ljava/util/Collections$CheckedMap;-><init>(Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Class;)V
-Ljava/util/Collections$CheckedMap;->badKeyMsg(Ljava/lang/Object;)Ljava/lang/String;
-Ljava/util/Collections$CheckedMap;->badValueMsg(Ljava/lang/Object;)Ljava/lang/String;
-Ljava/util/Collections$CheckedMap;->entrySet:Ljava/util/Set;
-Ljava/util/Collections$CheckedMap;->keyType:Ljava/lang/Class;
-Ljava/util/Collections$CheckedMap;->m:Ljava/util/Map;
-Ljava/util/Collections$CheckedMap;->typeCheck(Ljava/lang/Object;Ljava/lang/Object;)V
-Ljava/util/Collections$CheckedMap;->typeCheck(Ljava/util/function/BiFunction;)Ljava/util/function/BiFunction;
-Ljava/util/Collections$CheckedMap;->valueType:Ljava/lang/Class;
-Ljava/util/Collections$CheckedNavigableMap;
-Ljava/util/Collections$CheckedNavigableMap;-><init>(Ljava/util/NavigableMap;Ljava/lang/Class;Ljava/lang/Class;)V
-Ljava/util/Collections$CheckedNavigableMap;->nm:Ljava/util/NavigableMap;
-Ljava/util/Collections$CheckedNavigableSet;
-Ljava/util/Collections$CheckedNavigableSet;-><init>(Ljava/util/NavigableSet;Ljava/lang/Class;)V
-Ljava/util/Collections$CheckedNavigableSet;->ns:Ljava/util/NavigableSet;
-Ljava/util/Collections$CheckedQueue;
-Ljava/util/Collections$CheckedQueue;-><init>(Ljava/util/Queue;Ljava/lang/Class;)V
-Ljava/util/Collections$CheckedQueue;->queue:Ljava/util/Queue;
-Ljava/util/Collections$CheckedRandomAccessList;
-Ljava/util/Collections$CheckedRandomAccessList;-><init>(Ljava/util/List;Ljava/lang/Class;)V
-Ljava/util/Collections$CheckedSet;
-Ljava/util/Collections$CheckedSet;-><init>(Ljava/util/Set;Ljava/lang/Class;)V
-Ljava/util/Collections$CheckedSortedMap;
-Ljava/util/Collections$CheckedSortedMap;-><init>(Ljava/util/SortedMap;Ljava/lang/Class;Ljava/lang/Class;)V
-Ljava/util/Collections$CheckedSortedMap;->sm:Ljava/util/SortedMap;
-Ljava/util/Collections$CheckedSortedSet;
-Ljava/util/Collections$CheckedSortedSet;-><init>(Ljava/util/SortedSet;Ljava/lang/Class;)V
-Ljava/util/Collections$CheckedSortedSet;->ss:Ljava/util/SortedSet;
-Ljava/util/Collections$CopiesList;
-Ljava/util/Collections$CopiesList;-><init>(ILjava/lang/Object;)V
-Ljava/util/Collections$CopiesList;->element:Ljava/lang/Object;
-Ljava/util/Collections$CopiesList;->n:I
-Ljava/util/Collections$EmptyEnumeration;
-Ljava/util/Collections$EmptyEnumeration;-><init>()V
-Ljava/util/Collections$EmptyEnumeration;->EMPTY_ENUMERATION:Ljava/util/Collections$EmptyEnumeration;
-Ljava/util/Collections$EmptyIterator;
-Ljava/util/Collections$EmptyIterator;-><init>()V
-Ljava/util/Collections$EmptyIterator;->EMPTY_ITERATOR:Ljava/util/Collections$EmptyIterator;
-Ljava/util/Collections$EmptyList;
-Ljava/util/Collections$EmptyList;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/Collections$EmptyListIterator;
-Ljava/util/Collections$EmptyListIterator;-><init>()V
-Ljava/util/Collections$EmptyListIterator;->EMPTY_ITERATOR:Ljava/util/Collections$EmptyListIterator;
-Ljava/util/Collections$EmptyMap;
-Ljava/util/Collections$EmptySet;
-Ljava/util/Collections$EmptySet;-><init>()V
-Ljava/util/Collections$EmptySet;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/Collections$ReverseComparator2;
-Ljava/util/Collections$ReverseComparator2;-><init>(Ljava/util/Comparator;)V
-Ljava/util/Collections$ReverseComparator2;->cmp:Ljava/util/Comparator;
-Ljava/util/Collections$ReverseComparator;
-Ljava/util/Collections$ReverseComparator;-><init>()V
-Ljava/util/Collections$ReverseComparator;->compare(Ljava/lang/Comparable;Ljava/lang/Comparable;)I
-Ljava/util/Collections$ReverseComparator;->REVERSE_ORDER:Ljava/util/Collections$ReverseComparator;
-Ljava/util/Collections$SetFromMap;
-Ljava/util/Collections$SetFromMap;-><init>(Ljava/util/Map;)V
-Ljava/util/Collections$SetFromMap;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/Collections$SetFromMap;->m:Ljava/util/Map;
-Ljava/util/Collections$SetFromMap;->s:Ljava/util/Set;
-Ljava/util/Collections$SingletonList;
-Ljava/util/Collections$SingletonList;-><init>(Ljava/lang/Object;)V
-Ljava/util/Collections$SingletonList;->element:Ljava/lang/Object;
-Ljava/util/Collections$SingletonList;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/Collections$SingletonMap;
-Ljava/util/Collections$SingletonMap;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
-Ljava/util/Collections$SingletonMap;->entrySet:Ljava/util/Set;
-Ljava/util/Collections$SingletonMap;->k:Ljava/lang/Object;
-Ljava/util/Collections$SingletonMap;->keySet:Ljava/util/Set;
-Ljava/util/Collections$SingletonMap;->v:Ljava/lang/Object;
-Ljava/util/Collections$SingletonMap;->values:Ljava/util/Collection;
-Ljava/util/Collections$SingletonSet;
-Ljava/util/Collections$SingletonSet;-><init>(Ljava/lang/Object;)V
-Ljava/util/Collections$SingletonSet;->element:Ljava/lang/Object;
-Ljava/util/Collections$SingletonSet;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/Collections$SynchronizedCollection;
-Ljava/util/Collections$SynchronizedCollection;-><init>(Ljava/util/Collection;)V
-Ljava/util/Collections$SynchronizedCollection;-><init>(Ljava/util/Collection;Ljava/lang/Object;)V
-Ljava/util/Collections$SynchronizedCollection;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/Collections$SynchronizedCollection;->mutex:Ljava/lang/Object;
-Ljava/util/Collections$SynchronizedList;
-Ljava/util/Collections$SynchronizedList;-><init>(Ljava/util/List;)V
-Ljava/util/Collections$SynchronizedList;-><init>(Ljava/util/List;Ljava/lang/Object;)V
-Ljava/util/Collections$SynchronizedMap;
-Ljava/util/Collections$SynchronizedMap;-><init>(Ljava/util/Map;)V
-Ljava/util/Collections$SynchronizedMap;-><init>(Ljava/util/Map;Ljava/lang/Object;)V
-Ljava/util/Collections$SynchronizedMap;->entrySet:Ljava/util/Set;
-Ljava/util/Collections$SynchronizedMap;->keySet:Ljava/util/Set;
-Ljava/util/Collections$SynchronizedMap;->mutex:Ljava/lang/Object;
-Ljava/util/Collections$SynchronizedMap;->values:Ljava/util/Collection;
-Ljava/util/Collections$SynchronizedNavigableMap;
-Ljava/util/Collections$SynchronizedNavigableMap;-><init>(Ljava/util/NavigableMap;)V
-Ljava/util/Collections$SynchronizedNavigableMap;-><init>(Ljava/util/NavigableMap;Ljava/lang/Object;)V
-Ljava/util/Collections$SynchronizedNavigableMap;->nm:Ljava/util/NavigableMap;
-Ljava/util/Collections$SynchronizedNavigableSet;
-Ljava/util/Collections$SynchronizedNavigableSet;-><init>(Ljava/util/NavigableSet;)V
-Ljava/util/Collections$SynchronizedNavigableSet;-><init>(Ljava/util/NavigableSet;Ljava/lang/Object;)V
-Ljava/util/Collections$SynchronizedNavigableSet;->ns:Ljava/util/NavigableSet;
-Ljava/util/Collections$SynchronizedRandomAccessList;
-Ljava/util/Collections$SynchronizedRandomAccessList;-><init>(Ljava/util/List;)V
-Ljava/util/Collections$SynchronizedRandomAccessList;-><init>(Ljava/util/List;Ljava/lang/Object;)V
-Ljava/util/Collections$SynchronizedSet;
-Ljava/util/Collections$SynchronizedSet;-><init>(Ljava/util/Set;)V
-Ljava/util/Collections$SynchronizedSet;-><init>(Ljava/util/Set;Ljava/lang/Object;)V
-Ljava/util/Collections$SynchronizedSortedMap;
-Ljava/util/Collections$SynchronizedSortedMap;-><init>(Ljava/util/SortedMap;)V
-Ljava/util/Collections$SynchronizedSortedMap;-><init>(Ljava/util/SortedMap;Ljava/lang/Object;)V
-Ljava/util/Collections$SynchronizedSortedMap;->sm:Ljava/util/SortedMap;
-Ljava/util/Collections$SynchronizedSortedSet;
-Ljava/util/Collections$SynchronizedSortedSet;-><init>(Ljava/util/SortedSet;)V
-Ljava/util/Collections$SynchronizedSortedSet;-><init>(Ljava/util/SortedSet;Ljava/lang/Object;)V
-Ljava/util/Collections$SynchronizedSortedSet;->ss:Ljava/util/SortedSet;
-Ljava/util/Collections$UnmodifiableCollection;
-Ljava/util/Collections$UnmodifiableCollection;-><init>(Ljava/util/Collection;)V
-Ljava/util/Collections$UnmodifiableCollection;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/Collections$UnmodifiableList;
-Ljava/util/Collections$UnmodifiableList;-><init>(Ljava/util/List;)V
-Ljava/util/Collections$UnmodifiableList;->list:Ljava/util/List;
-Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry;
-Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry;-><init>(Ljava/util/Map$Entry;)V
-Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry;->e:Ljava/util/Map$Entry;
-Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntrySetSpliterator;
-Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntrySetSpliterator;-><init>(Ljava/util/Spliterator;)V
-Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntrySetSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntrySetSpliterator;->s:Ljava/util/Spliterator;
-Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntrySetSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet;
-Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet;-><init>(Ljava/util/Set;)V
-Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet;->entryConsumer(Ljava/util/function/Consumer;)Ljava/util/function/Consumer;
-Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/Collections$UnmodifiableMap;
-Ljava/util/Collections$UnmodifiableMap;-><init>(Ljava/util/Map;)V
-Ljava/util/Collections$UnmodifiableMap;->entrySet:Ljava/util/Set;
-Ljava/util/Collections$UnmodifiableMap;->keySet:Ljava/util/Set;
-Ljava/util/Collections$UnmodifiableMap;->values:Ljava/util/Collection;
-Ljava/util/Collections$UnmodifiableNavigableMap$EmptyNavigableMap;
-Ljava/util/Collections$UnmodifiableNavigableMap$EmptyNavigableMap;-><init>()V
-Ljava/util/Collections$UnmodifiableNavigableMap;
-Ljava/util/Collections$UnmodifiableNavigableMap;-><init>(Ljava/util/NavigableMap;)V
-Ljava/util/Collections$UnmodifiableNavigableMap;->EMPTY_NAVIGABLE_MAP:Ljava/util/Collections$UnmodifiableNavigableMap$EmptyNavigableMap;
-Ljava/util/Collections$UnmodifiableNavigableMap;->nm:Ljava/util/NavigableMap;
-Ljava/util/Collections$UnmodifiableNavigableSet$EmptyNavigableSet;
-Ljava/util/Collections$UnmodifiableNavigableSet$EmptyNavigableSet;-><init>()V
-Ljava/util/Collections$UnmodifiableNavigableSet;
-Ljava/util/Collections$UnmodifiableNavigableSet;-><init>(Ljava/util/NavigableSet;)V
-Ljava/util/Collections$UnmodifiableNavigableSet;->EMPTY_NAVIGABLE_SET:Ljava/util/NavigableSet;
-Ljava/util/Collections$UnmodifiableNavigableSet;->ns:Ljava/util/NavigableSet;
-Ljava/util/Collections$UnmodifiableRandomAccessList;
-Ljava/util/Collections$UnmodifiableRandomAccessList;-><init>(Ljava/util/List;)V
-Ljava/util/Collections$UnmodifiableSet;
-Ljava/util/Collections$UnmodifiableSet;-><init>(Ljava/util/Set;)V
-Ljava/util/Collections$UnmodifiableSortedMap;
-Ljava/util/Collections$UnmodifiableSortedMap;-><init>(Ljava/util/SortedMap;)V
-Ljava/util/Collections$UnmodifiableSortedMap;->sm:Ljava/util/SortedMap;
-Ljava/util/Collections$UnmodifiableSortedSet;
-Ljava/util/Collections$UnmodifiableSortedSet;-><init>(Ljava/util/SortedSet;)V
-Ljava/util/Collections$UnmodifiableSortedSet;->ss:Ljava/util/SortedSet;
-Ljava/util/Collections;-><init>()V
-Ljava/util/Collections;->BINARYSEARCH_THRESHOLD:I
-Ljava/util/Collections;->COPY_THRESHOLD:I
-Ljava/util/Collections;->eq(Ljava/lang/Object;Ljava/lang/Object;)Z
-Ljava/util/Collections;->FILL_THRESHOLD:I
-Ljava/util/Collections;->get(Ljava/util/ListIterator;I)Ljava/lang/Object;
-Ljava/util/Collections;->indexedBinarySearch(Ljava/util/List;Ljava/lang/Object;)I
-Ljava/util/Collections;->indexedBinarySearch(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I
-Ljava/util/Collections;->INDEXOFSUBLIST_THRESHOLD:I
-Ljava/util/Collections;->iteratorBinarySearch(Ljava/util/List;Ljava/lang/Object;)I
-Ljava/util/Collections;->iteratorBinarySearch(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I
-Ljava/util/Collections;->r:Ljava/util/Random;
-Ljava/util/Collections;->REPLACEALL_THRESHOLD:I
-Ljava/util/Collections;->REVERSE_THRESHOLD:I
-Ljava/util/Collections;->rotate1(Ljava/util/List;I)V
-Ljava/util/Collections;->rotate2(Ljava/util/List;I)V
-Ljava/util/Collections;->ROTATE_THRESHOLD:I
-Ljava/util/Collections;->SHUFFLE_THRESHOLD:I
-Ljava/util/Collections;->singletonIterator(Ljava/lang/Object;)Ljava/util/Iterator;
-Ljava/util/Collections;->singletonSpliterator(Ljava/lang/Object;)Ljava/util/Spliterator;
-Ljava/util/Collections;->swap([Ljava/lang/Object;II)V
-Ljava/util/Collections;->synchronizedCollection(Ljava/util/Collection;Ljava/lang/Object;)Ljava/util/Collection;
-Ljava/util/Collections;->synchronizedList(Ljava/util/List;Ljava/lang/Object;)Ljava/util/List;
-Ljava/util/Collections;->synchronizedSet(Ljava/util/Set;Ljava/lang/Object;)Ljava/util/Set;
-Ljava/util/Collections;->zeroLengthArray(Ljava/lang/Class;)[Ljava/lang/Object;
-Ljava/util/concurrent/AbstractExecutorService;->cancelAll(Ljava/util/ArrayList;)V
-Ljava/util/concurrent/AbstractExecutorService;->cancelAll(Ljava/util/ArrayList;I)V
-Ljava/util/concurrent/AbstractExecutorService;->doInvokeAny(Ljava/util/Collection;ZJ)Ljava/lang/Object;
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;-><init>()V
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;->cursor:I
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;->detach()V
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;->DETACHED:I
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;->distance(III)I
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;->incCursor(I)I
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;->incorporateDequeues()V
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;->invalidated(IIJI)Z
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;->isDetached()Z
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;->lastItem:Ljava/lang/Object;
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;->lastRet:I
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;->nextIndex:I
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;->nextItem:Ljava/lang/Object;
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;->NONE:I
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;->noNext()V
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;->prevCycles:I
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;->prevTakeIndex:I
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;->REMOVED:I
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;->removedAt(I)Z
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;->shutdown()V
-Ljava/util/concurrent/ArrayBlockingQueue$Itr;->takeIndexWrapped()Z
-Ljava/util/concurrent/ArrayBlockingQueue$Itrs$Node;
-Ljava/util/concurrent/ArrayBlockingQueue$Itrs$Node;-><init>(Ljava/util/concurrent/ArrayBlockingQueue$Itr;Ljava/util/concurrent/ArrayBlockingQueue$Itrs$Node;)V
-Ljava/util/concurrent/ArrayBlockingQueue$Itrs$Node;->next:Ljava/util/concurrent/ArrayBlockingQueue$Itrs$Node;
-Ljava/util/concurrent/ArrayBlockingQueue$Itrs;
-Ljava/util/concurrent/ArrayBlockingQueue$Itrs;-><init>(Ljava/util/concurrent/ArrayBlockingQueue$Itr;)V
-Ljava/util/concurrent/ArrayBlockingQueue$Itrs;->cycles:I
-Ljava/util/concurrent/ArrayBlockingQueue$Itrs;->doSomeSweeping(Z)V
-Ljava/util/concurrent/ArrayBlockingQueue$Itrs;->elementDequeued()V
-Ljava/util/concurrent/ArrayBlockingQueue$Itrs;->head:Ljava/util/concurrent/ArrayBlockingQueue$Itrs$Node;
-Ljava/util/concurrent/ArrayBlockingQueue$Itrs;->LONG_SWEEP_PROBES:I
-Ljava/util/concurrent/ArrayBlockingQueue$Itrs;->queueIsEmpty()V
-Ljava/util/concurrent/ArrayBlockingQueue$Itrs;->register(Ljava/util/concurrent/ArrayBlockingQueue$Itr;)V
-Ljava/util/concurrent/ArrayBlockingQueue$Itrs;->removedAt(I)V
-Ljava/util/concurrent/ArrayBlockingQueue$Itrs;->SHORT_SWEEP_PROBES:I
-Ljava/util/concurrent/ArrayBlockingQueue$Itrs;->sweeper:Ljava/util/concurrent/ArrayBlockingQueue$Itrs$Node;
-Ljava/util/concurrent/ArrayBlockingQueue$Itrs;->takeIndexWrapped()V
-Ljava/util/concurrent/ArrayBlockingQueue;->count:I
-Ljava/util/concurrent/ArrayBlockingQueue;->dec(I)I
-Ljava/util/concurrent/ArrayBlockingQueue;->dequeue()Ljava/lang/Object;
-Ljava/util/concurrent/ArrayBlockingQueue;->enqueue(Ljava/lang/Object;)V
-Ljava/util/concurrent/ArrayBlockingQueue;->itemAt(I)Ljava/lang/Object;
-Ljava/util/concurrent/ArrayBlockingQueue;->items:[Ljava/lang/Object;
-Ljava/util/concurrent/ArrayBlockingQueue;->itrs:Ljava/util/concurrent/ArrayBlockingQueue$Itrs;
-Ljava/util/concurrent/ArrayBlockingQueue;->lock:Ljava/util/concurrent/locks/ReentrantLock;
-Ljava/util/concurrent/ArrayBlockingQueue;->notEmpty:Ljava/util/concurrent/locks/Condition;
-Ljava/util/concurrent/ArrayBlockingQueue;->notFull:Ljava/util/concurrent/locks/Condition;
-Ljava/util/concurrent/ArrayBlockingQueue;->putIndex:I
-Ljava/util/concurrent/ArrayBlockingQueue;->removeAt(I)V
-Ljava/util/concurrent/ArrayBlockingQueue;->takeIndex:I
-Ljava/util/concurrent/atomic/AtomicBoolean;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/atomic/AtomicBoolean;->value:I
-Ljava/util/concurrent/atomic/AtomicBoolean;->VALUE:J
-Ljava/util/concurrent/atomic/AtomicInteger;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/atomic/AtomicInteger;->VALUE:J
-Ljava/util/concurrent/atomic/AtomicIntegerArray;->ABASE:I
-Ljava/util/concurrent/atomic/AtomicIntegerArray;->array:[I
-Ljava/util/concurrent/atomic/AtomicIntegerArray;->ASHIFT:I
-Ljava/util/concurrent/atomic/AtomicIntegerArray;->byteOffset(I)J
-Ljava/util/concurrent/atomic/AtomicIntegerArray;->checkedByteOffset(I)J
-Ljava/util/concurrent/atomic/AtomicIntegerArray;->compareAndSetRaw(JII)Z
-Ljava/util/concurrent/atomic/AtomicIntegerArray;->getRaw(J)I
-Ljava/util/concurrent/atomic/AtomicIntegerArray;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;
-Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;-><init>(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
-Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->accessCheck(Ljava/lang/Object;)V
-Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->cclass:Ljava/lang/Class;
-Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->offset:J
-Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->tclass:Ljava/lang/Class;
-Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->throwAccessCheckException(Ljava/lang/Object;)V
-Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/atomic/AtomicLong;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/atomic/AtomicLong;->VALUE:J
-Ljava/util/concurrent/atomic/AtomicLong;->value:J
-Ljava/util/concurrent/atomic/AtomicLong;->VMSupportsCS8()Z
-Ljava/util/concurrent/atomic/AtomicLong;->VM_SUPPORTS_LONG_CAS:Z
-Ljava/util/concurrent/atomic/AtomicLongArray;->ABASE:I
-Ljava/util/concurrent/atomic/AtomicLongArray;->array:[J
-Ljava/util/concurrent/atomic/AtomicLongArray;->ASHIFT:I
-Ljava/util/concurrent/atomic/AtomicLongArray;->byteOffset(I)J
-Ljava/util/concurrent/atomic/AtomicLongArray;->checkedByteOffset(I)J
-Ljava/util/concurrent/atomic/AtomicLongArray;->compareAndSetRaw(JJJ)Z
-Ljava/util/concurrent/atomic/AtomicLongArray;->getRaw(J)J
-Ljava/util/concurrent/atomic/AtomicLongArray;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;
-Ljava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;-><init>(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
-Ljava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;->accessCheck(Ljava/lang/Object;)V
-Ljava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;->cclass:Ljava/lang/Class;
-Ljava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;->offset:J
-Ljava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;->tclass:Ljava/lang/Class;
-Ljava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;->throwAccessCheckException(Ljava/lang/Object;)V
-Ljava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater;
-Ljava/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater;-><init>(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
-Ljava/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater;->accessCheck(Ljava/lang/Object;)V
-Ljava/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater;->accessCheckException(Ljava/lang/Object;)Ljava/lang/RuntimeException;
-Ljava/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater;->cclass:Ljava/lang/Class;
-Ljava/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater;->offset:J
-Ljava/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater;->tclass:Ljava/lang/Class;
-Ljava/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/atomic/AtomicMarkableReference$Pair;
-Ljava/util/concurrent/atomic/AtomicMarkableReference$Pair;-><init>(Ljava/lang/Object;Z)V
-Ljava/util/concurrent/atomic/AtomicMarkableReference$Pair;->mark:Z
-Ljava/util/concurrent/atomic/AtomicMarkableReference$Pair;->of(Ljava/lang/Object;Z)Ljava/util/concurrent/atomic/AtomicMarkableReference$Pair;
-Ljava/util/concurrent/atomic/AtomicMarkableReference$Pair;->reference:Ljava/lang/Object;
-Ljava/util/concurrent/atomic/AtomicMarkableReference;->casPair(Ljava/util/concurrent/atomic/AtomicMarkableReference$Pair;Ljava/util/concurrent/atomic/AtomicMarkableReference$Pair;)Z
-Ljava/util/concurrent/atomic/AtomicMarkableReference;->PAIR:J
-Ljava/util/concurrent/atomic/AtomicMarkableReference;->pair:Ljava/util/concurrent/atomic/AtomicMarkableReference$Pair;
-Ljava/util/concurrent/atomic/AtomicMarkableReference;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/atomic/AtomicReference;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/atomic/AtomicReference;->VALUE:J
-Ljava/util/concurrent/atomic/AtomicReference;->value:Ljava/lang/Object;
-Ljava/util/concurrent/atomic/AtomicReferenceArray;->ABASE:I
-Ljava/util/concurrent/atomic/AtomicReferenceArray;->ARRAY:J
-Ljava/util/concurrent/atomic/AtomicReferenceArray;->array:[Ljava/lang/Object;
-Ljava/util/concurrent/atomic/AtomicReferenceArray;->ASHIFT:I
-Ljava/util/concurrent/atomic/AtomicReferenceArray;->byteOffset(I)J
-Ljava/util/concurrent/atomic/AtomicReferenceArray;->checkedByteOffset(I)J
-Ljava/util/concurrent/atomic/AtomicReferenceArray;->compareAndSetRaw(JLjava/lang/Object;Ljava/lang/Object;)Z
-Ljava/util/concurrent/atomic/AtomicReferenceArray;->getRaw(J)Ljava/lang/Object;
-Ljava/util/concurrent/atomic/AtomicReferenceArray;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;
-Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;-><init>(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
-Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;->accessCheck(Ljava/lang/Object;)V
-Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;->cclass:Ljava/lang/Class;
-Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;->offset:J
-Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;->tclass:Ljava/lang/Class;
-Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;->throwAccessCheckException(Ljava/lang/Object;)V
-Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;->throwCCE()V
-Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;->valueCheck(Ljava/lang/Object;)V
-Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;->vclass:Ljava/lang/Class;
-Ljava/util/concurrent/atomic/AtomicStampedReference$Pair;
-Ljava/util/concurrent/atomic/AtomicStampedReference$Pair;-><init>(Ljava/lang/Object;I)V
-Ljava/util/concurrent/atomic/AtomicStampedReference$Pair;->of(Ljava/lang/Object;I)Ljava/util/concurrent/atomic/AtomicStampedReference$Pair;
-Ljava/util/concurrent/atomic/AtomicStampedReference$Pair;->reference:Ljava/lang/Object;
-Ljava/util/concurrent/atomic/AtomicStampedReference$Pair;->stamp:I
-Ljava/util/concurrent/atomic/AtomicStampedReference;->casPair(Ljava/util/concurrent/atomic/AtomicStampedReference$Pair;Ljava/util/concurrent/atomic/AtomicStampedReference$Pair;)Z
-Ljava/util/concurrent/atomic/AtomicStampedReference;->PAIR:J
-Ljava/util/concurrent/atomic/AtomicStampedReference;->pair:Ljava/util/concurrent/atomic/AtomicStampedReference$Pair;
-Ljava/util/concurrent/atomic/AtomicStampedReference;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/atomic/DoubleAccumulator$SerializationProxy;
-Ljava/util/concurrent/atomic/DoubleAccumulator$SerializationProxy;-><init>(DLjava/util/function/DoubleBinaryOperator;J)V
-Ljava/util/concurrent/atomic/DoubleAccumulator$SerializationProxy;->function:Ljava/util/function/DoubleBinaryOperator;
-Ljava/util/concurrent/atomic/DoubleAccumulator$SerializationProxy;->identity:J
-Ljava/util/concurrent/atomic/DoubleAccumulator$SerializationProxy;->value:D
-Ljava/util/concurrent/atomic/DoubleAccumulator;->function:Ljava/util/function/DoubleBinaryOperator;
-Ljava/util/concurrent/atomic/DoubleAccumulator;->identity:J
-Ljava/util/concurrent/atomic/DoubleAdder$SerializationProxy;
-Ljava/util/concurrent/atomic/DoubleAdder$SerializationProxy;-><init>(Ljava/util/concurrent/atomic/DoubleAdder;)V
-Ljava/util/concurrent/atomic/DoubleAdder$SerializationProxy;->value:D
-Ljava/util/concurrent/atomic/LongAccumulator$SerializationProxy;
-Ljava/util/concurrent/atomic/LongAccumulator$SerializationProxy;-><init>(JLjava/util/function/LongBinaryOperator;J)V
-Ljava/util/concurrent/atomic/LongAccumulator$SerializationProxy;->function:Ljava/util/function/LongBinaryOperator;
-Ljava/util/concurrent/atomic/LongAccumulator$SerializationProxy;->identity:J
-Ljava/util/concurrent/atomic/LongAccumulator$SerializationProxy;->value:J
-Ljava/util/concurrent/atomic/LongAccumulator;->function:Ljava/util/function/LongBinaryOperator;
-Ljava/util/concurrent/atomic/LongAccumulator;->identity:J
-Ljava/util/concurrent/atomic/LongAdder$SerializationProxy;
-Ljava/util/concurrent/atomic/LongAdder$SerializationProxy;-><init>(Ljava/util/concurrent/atomic/LongAdder;)V
-Ljava/util/concurrent/atomic/LongAdder$SerializationProxy;->value:J
-Ljava/util/concurrent/atomic/Striped64$Cell;
-Ljava/util/concurrent/atomic/Striped64$Cell;-><init>(J)V
-Ljava/util/concurrent/atomic/Striped64$Cell;->cas(JJ)Z
-Ljava/util/concurrent/atomic/Striped64$Cell;->reset()V
-Ljava/util/concurrent/atomic/Striped64$Cell;->reset(J)V
-Ljava/util/concurrent/atomic/Striped64$Cell;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/atomic/Striped64$Cell;->VALUE:J
-Ljava/util/concurrent/atomic/Striped64$Cell;->value:J
-Ljava/util/concurrent/atomic/Striped64;
-Ljava/util/concurrent/atomic/Striped64;-><init>()V
-Ljava/util/concurrent/atomic/Striped64;->advanceProbe(I)I
-Ljava/util/concurrent/atomic/Striped64;->apply(Ljava/util/function/DoubleBinaryOperator;JD)J
-Ljava/util/concurrent/atomic/Striped64;->BASE:J
-Ljava/util/concurrent/atomic/Striped64;->base:J
-Ljava/util/concurrent/atomic/Striped64;->casBase(JJ)Z
-Ljava/util/concurrent/atomic/Striped64;->casCellsBusy()Z
-Ljava/util/concurrent/atomic/Striped64;->cells:[Ljava/util/concurrent/atomic/Striped64$Cell;
-Ljava/util/concurrent/atomic/Striped64;->cellsBusy:I
-Ljava/util/concurrent/atomic/Striped64;->CELLSBUSY:J
-Ljava/util/concurrent/atomic/Striped64;->doubleAccumulate(DLjava/util/function/DoubleBinaryOperator;Z)V
-Ljava/util/concurrent/atomic/Striped64;->getProbe()I
-Ljava/util/concurrent/atomic/Striped64;->longAccumulate(JLjava/util/function/LongBinaryOperator;Z)V
-Ljava/util/concurrent/atomic/Striped64;->NCPU:I
-Ljava/util/concurrent/atomic/Striped64;->PROBE:J
-Ljava/util/concurrent/atomic/Striped64;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/CompletableFuture$AltResult;
-Ljava/util/concurrent/CompletableFuture$AltResult;-><init>(Ljava/lang/Throwable;)V
-Ljava/util/concurrent/CompletableFuture$AltResult;->ex:Ljava/lang/Throwable;
-Ljava/util/concurrent/CompletableFuture$AsyncRun;
-Ljava/util/concurrent/CompletableFuture$AsyncRun;-><init>(Ljava/util/concurrent/CompletableFuture;Ljava/lang/Runnable;)V
-Ljava/util/concurrent/CompletableFuture$AsyncRun;->dep:Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$AsyncRun;->fn:Ljava/lang/Runnable;
-Ljava/util/concurrent/CompletableFuture$AsyncRun;->setRawResult(Ljava/lang/Void;)V
-Ljava/util/concurrent/CompletableFuture$AsyncSupply;
-Ljava/util/concurrent/CompletableFuture$AsyncSupply;-><init>(Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Supplier;)V
-Ljava/util/concurrent/CompletableFuture$AsyncSupply;->dep:Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$AsyncSupply;->fn:Ljava/util/function/Supplier;
-Ljava/util/concurrent/CompletableFuture$AsyncSupply;->setRawResult(Ljava/lang/Void;)V
-Ljava/util/concurrent/CompletableFuture$BiAccept;
-Ljava/util/concurrent/CompletableFuture$BiAccept;-><init>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiConsumer;)V
-Ljava/util/concurrent/CompletableFuture$BiAccept;->fn:Ljava/util/function/BiConsumer;
-Ljava/util/concurrent/CompletableFuture$BiAccept;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$BiApply;
-Ljava/util/concurrent/CompletableFuture$BiApply;-><init>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiFunction;)V
-Ljava/util/concurrent/CompletableFuture$BiApply;->fn:Ljava/util/function/BiFunction;
-Ljava/util/concurrent/CompletableFuture$BiApply;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$BiCompletion;
-Ljava/util/concurrent/CompletableFuture$BiCompletion;-><init>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)V
-Ljava/util/concurrent/CompletableFuture$BiCompletion;->snd:Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$BiRelay;
-Ljava/util/concurrent/CompletableFuture$BiRelay;-><init>(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)V
-Ljava/util/concurrent/CompletableFuture$BiRelay;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$BiRun;
-Ljava/util/concurrent/CompletableFuture$BiRun;-><init>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/lang/Runnable;)V
-Ljava/util/concurrent/CompletableFuture$BiRun;->fn:Ljava/lang/Runnable;
-Ljava/util/concurrent/CompletableFuture$BiRun;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$Canceller;
-Ljava/util/concurrent/CompletableFuture$Canceller;-><init>(Ljava/util/concurrent/Future;)V
-Ljava/util/concurrent/CompletableFuture$Canceller;->accept(Ljava/lang/Object;Ljava/lang/Throwable;)V
-Ljava/util/concurrent/CompletableFuture$Canceller;->f:Ljava/util/concurrent/Future;
-Ljava/util/concurrent/CompletableFuture$CoCompletion;
-Ljava/util/concurrent/CompletableFuture$CoCompletion;-><init>(Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
-Ljava/util/concurrent/CompletableFuture$CoCompletion;->base:Ljava/util/concurrent/CompletableFuture$BiCompletion;
-Ljava/util/concurrent/CompletableFuture$CoCompletion;->isLive()Z
-Ljava/util/concurrent/CompletableFuture$CoCompletion;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$Completion;
-Ljava/util/concurrent/CompletableFuture$Completion;-><init>()V
-Ljava/util/concurrent/CompletableFuture$Completion;->isLive()Z
-Ljava/util/concurrent/CompletableFuture$Completion;->next:Ljava/util/concurrent/CompletableFuture$Completion;
-Ljava/util/concurrent/CompletableFuture$Completion;->setRawResult(Ljava/lang/Void;)V
-Ljava/util/concurrent/CompletableFuture$Completion;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$DelayedCompleter;
-Ljava/util/concurrent/CompletableFuture$DelayedCompleter;-><init>(Ljava/util/concurrent/CompletableFuture;Ljava/lang/Object;)V
-Ljava/util/concurrent/CompletableFuture$DelayedCompleter;->f:Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$DelayedCompleter;->u:Ljava/lang/Object;
-Ljava/util/concurrent/CompletableFuture$DelayedExecutor;
-Ljava/util/concurrent/CompletableFuture$DelayedExecutor;-><init>(JLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/Executor;)V
-Ljava/util/concurrent/CompletableFuture$DelayedExecutor;->delay:J
-Ljava/util/concurrent/CompletableFuture$DelayedExecutor;->executor:Ljava/util/concurrent/Executor;
-Ljava/util/concurrent/CompletableFuture$DelayedExecutor;->unit:Ljava/util/concurrent/TimeUnit;
-Ljava/util/concurrent/CompletableFuture$Delayer$DaemonThreadFactory;
-Ljava/util/concurrent/CompletableFuture$Delayer$DaemonThreadFactory;-><init>()V
-Ljava/util/concurrent/CompletableFuture$Delayer;
-Ljava/util/concurrent/CompletableFuture$Delayer;-><init>()V
-Ljava/util/concurrent/CompletableFuture$Delayer;->delay(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
-Ljava/util/concurrent/CompletableFuture$Delayer;->delayer:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
-Ljava/util/concurrent/CompletableFuture$MinimalStage;
-Ljava/util/concurrent/CompletableFuture$MinimalStage;-><init>()V
-Ljava/util/concurrent/CompletableFuture$MinimalStage;-><init>(Ljava/lang/Object;)V
-Ljava/util/concurrent/CompletableFuture$MinimalStage;->completeAsync(Ljava/util/function/Supplier;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$MinimalStage;->completeAsync(Ljava/util/function/Supplier;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$MinimalStage;->completeOnTimeout(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$MinimalStage;->newIncompleteFuture()Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$MinimalStage;->orTimeout(JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$OrAccept;
-Ljava/util/concurrent/CompletableFuture$OrAccept;-><init>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/CompletableFuture$OrAccept;->fn:Ljava/util/function/Consumer;
-Ljava/util/concurrent/CompletableFuture$OrAccept;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$OrApply;
-Ljava/util/concurrent/CompletableFuture$OrApply;-><init>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;)V
-Ljava/util/concurrent/CompletableFuture$OrApply;->fn:Ljava/util/function/Function;
-Ljava/util/concurrent/CompletableFuture$OrApply;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$OrRelay;
-Ljava/util/concurrent/CompletableFuture$OrRelay;-><init>(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)V
-Ljava/util/concurrent/CompletableFuture$OrRelay;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$OrRun;
-Ljava/util/concurrent/CompletableFuture$OrRun;-><init>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/lang/Runnable;)V
-Ljava/util/concurrent/CompletableFuture$OrRun;->fn:Ljava/lang/Runnable;
-Ljava/util/concurrent/CompletableFuture$OrRun;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$Signaller;
-Ljava/util/concurrent/CompletableFuture$Signaller;-><init>(ZJJ)V
-Ljava/util/concurrent/CompletableFuture$Signaller;->deadline:J
-Ljava/util/concurrent/CompletableFuture$Signaller;->interrupted:Z
-Ljava/util/concurrent/CompletableFuture$Signaller;->interruptible:Z
-Ljava/util/concurrent/CompletableFuture$Signaller;->isLive()Z
-Ljava/util/concurrent/CompletableFuture$Signaller;->nanos:J
-Ljava/util/concurrent/CompletableFuture$Signaller;->thread:Ljava/lang/Thread;
-Ljava/util/concurrent/CompletableFuture$Signaller;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$TaskSubmitter;
-Ljava/util/concurrent/CompletableFuture$TaskSubmitter;-><init>(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)V
-Ljava/util/concurrent/CompletableFuture$TaskSubmitter;->action:Ljava/lang/Runnable;
-Ljava/util/concurrent/CompletableFuture$TaskSubmitter;->executor:Ljava/util/concurrent/Executor;
-Ljava/util/concurrent/CompletableFuture$ThreadPerTaskExecutor;
-Ljava/util/concurrent/CompletableFuture$ThreadPerTaskExecutor;-><init>()V
-Ljava/util/concurrent/CompletableFuture$Timeout;
-Ljava/util/concurrent/CompletableFuture$Timeout;-><init>(Ljava/util/concurrent/CompletableFuture;)V
-Ljava/util/concurrent/CompletableFuture$Timeout;->f:Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$UniAccept;
-Ljava/util/concurrent/CompletableFuture$UniAccept;-><init>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/CompletableFuture$UniAccept;->fn:Ljava/util/function/Consumer;
-Ljava/util/concurrent/CompletableFuture$UniAccept;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$UniApply;
-Ljava/util/concurrent/CompletableFuture$UniApply;-><init>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;)V
-Ljava/util/concurrent/CompletableFuture$UniApply;->fn:Ljava/util/function/Function;
-Ljava/util/concurrent/CompletableFuture$UniApply;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$UniCompletion;
-Ljava/util/concurrent/CompletableFuture$UniCompletion;-><init>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)V
-Ljava/util/concurrent/CompletableFuture$UniCompletion;->claim()Z
-Ljava/util/concurrent/CompletableFuture$UniCompletion;->dep:Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$UniCompletion;->executor:Ljava/util/concurrent/Executor;
-Ljava/util/concurrent/CompletableFuture$UniCompletion;->isLive()Z
-Ljava/util/concurrent/CompletableFuture$UniCompletion;->src:Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$UniCompose;
-Ljava/util/concurrent/CompletableFuture$UniCompose;-><init>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;)V
-Ljava/util/concurrent/CompletableFuture$UniCompose;->fn:Ljava/util/function/Function;
-Ljava/util/concurrent/CompletableFuture$UniCompose;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$UniExceptionally;
-Ljava/util/concurrent/CompletableFuture$UniExceptionally;-><init>(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;)V
-Ljava/util/concurrent/CompletableFuture$UniExceptionally;->fn:Ljava/util/function/Function;
-Ljava/util/concurrent/CompletableFuture$UniExceptionally;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$UniHandle;
-Ljava/util/concurrent/CompletableFuture$UniHandle;-><init>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiFunction;)V
-Ljava/util/concurrent/CompletableFuture$UniHandle;->fn:Ljava/util/function/BiFunction;
-Ljava/util/concurrent/CompletableFuture$UniHandle;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$UniRelay;
-Ljava/util/concurrent/CompletableFuture$UniRelay;-><init>(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)V
-Ljava/util/concurrent/CompletableFuture$UniRelay;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$UniRun;
-Ljava/util/concurrent/CompletableFuture$UniRun;-><init>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/lang/Runnable;)V
-Ljava/util/concurrent/CompletableFuture$UniRun;->fn:Ljava/lang/Runnable;
-Ljava/util/concurrent/CompletableFuture$UniRun;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture$UniWhenComplete;
-Ljava/util/concurrent/CompletableFuture$UniWhenComplete;-><init>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiConsumer;)V
-Ljava/util/concurrent/CompletableFuture$UniWhenComplete;->fn:Ljava/util/function/BiConsumer;
-Ljava/util/concurrent/CompletableFuture$UniWhenComplete;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;-><init>(Ljava/lang/Object;)V
-Ljava/util/concurrent/CompletableFuture;->andTree([Ljava/util/concurrent/CompletableFuture;II)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->ASYNC:I
-Ljava/util/concurrent/CompletableFuture;->asyncRunStage(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->asyncSupplyStage(Ljava/util/concurrent/Executor;Ljava/util/function/Supplier;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->ASYNC_POOL:Ljava/util/concurrent/Executor;
-Ljava/util/concurrent/CompletableFuture;->biAccept(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiConsumer;Ljava/util/concurrent/CompletableFuture$BiAccept;)Z
-Ljava/util/concurrent/CompletableFuture;->biAcceptStage(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->biApply(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiFunction;Ljava/util/concurrent/CompletableFuture$BiApply;)Z
-Ljava/util/concurrent/CompletableFuture;->biApplyStage(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->bipush(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
-Ljava/util/concurrent/CompletableFuture;->biRelay(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)Z
-Ljava/util/concurrent/CompletableFuture;->biRun(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/lang/Runnable;Ljava/util/concurrent/CompletableFuture$BiRun;)Z
-Ljava/util/concurrent/CompletableFuture;->biRunStage(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->casStack(Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;)Z
-Ljava/util/concurrent/CompletableFuture;->cleanStack()V
-Ljava/util/concurrent/CompletableFuture;->completeAsync(Ljava/util/function/Supplier;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->completeAsync(Ljava/util/function/Supplier;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->completedStage(Ljava/lang/Object;)Ljava/util/concurrent/CompletionStage;
-Ljava/util/concurrent/CompletableFuture;->completeNull()Z
-Ljava/util/concurrent/CompletableFuture;->completeOnTimeout(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->completeRelay(Ljava/lang/Object;)Z
-Ljava/util/concurrent/CompletableFuture;->completeThrowable(Ljava/lang/Throwable;)Z
-Ljava/util/concurrent/CompletableFuture;->completeThrowable(Ljava/lang/Throwable;Ljava/lang/Object;)Z
-Ljava/util/concurrent/CompletableFuture;->completeValue(Ljava/lang/Object;)Z
-Ljava/util/concurrent/CompletableFuture;->copy()Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->defaultExecutor()Ljava/util/concurrent/Executor;
-Ljava/util/concurrent/CompletableFuture;->delayedExecutor(JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/Executor;
-Ljava/util/concurrent/CompletableFuture;->delayedExecutor(JLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
-Ljava/util/concurrent/CompletableFuture;->encodeOutcome(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/Object;
-Ljava/util/concurrent/CompletableFuture;->encodeRelay(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/concurrent/CompletableFuture;->encodeThrowable(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture$AltResult;
-Ljava/util/concurrent/CompletableFuture;->encodeThrowable(Ljava/lang/Throwable;Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/concurrent/CompletableFuture;->encodeValue(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/concurrent/CompletableFuture;->failedFuture(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->failedStage(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletionStage;
-Ljava/util/concurrent/CompletableFuture;->internalComplete(Ljava/lang/Object;)Z
-Ljava/util/concurrent/CompletableFuture;->lazySetNext(Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;)V
-Ljava/util/concurrent/CompletableFuture;->minimalCompletionStage()Ljava/util/concurrent/CompletionStage;
-Ljava/util/concurrent/CompletableFuture;->NESTED:I
-Ljava/util/concurrent/CompletableFuture;->newIncompleteFuture()Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->NEXT:J
-Ljava/util/concurrent/CompletableFuture;->NIL:Ljava/util/concurrent/CompletableFuture$AltResult;
-Ljava/util/concurrent/CompletableFuture;->orAccept(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Consumer;Ljava/util/concurrent/CompletableFuture$OrAccept;)Z
-Ljava/util/concurrent/CompletableFuture;->orAcceptStage(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->orApply(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;Ljava/util/concurrent/CompletableFuture$OrApply;)Z
-Ljava/util/concurrent/CompletableFuture;->orApplyStage(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->orpush(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
-Ljava/util/concurrent/CompletableFuture;->orRelay(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)Z
-Ljava/util/concurrent/CompletableFuture;->orRun(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/lang/Runnable;Ljava/util/concurrent/CompletableFuture$OrRun;)Z
-Ljava/util/concurrent/CompletableFuture;->orRunStage(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->orTimeout(JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->orTree([Ljava/util/concurrent/CompletableFuture;II)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->postComplete()V
-Ljava/util/concurrent/CompletableFuture;->postFire(Ljava/util/concurrent/CompletableFuture;I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->postFire(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;I)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->push(Ljava/util/concurrent/CompletableFuture$UniCompletion;)V
-Ljava/util/concurrent/CompletableFuture;->pushStack(Ljava/util/concurrent/CompletableFuture$Completion;)V
-Ljava/util/concurrent/CompletableFuture;->reportGet(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/concurrent/CompletableFuture;->reportJoin(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/concurrent/CompletableFuture;->RESULT:J
-Ljava/util/concurrent/CompletableFuture;->result:Ljava/lang/Object;
-Ljava/util/concurrent/CompletableFuture;->screenExecutor(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
-Ljava/util/concurrent/CompletableFuture;->SPINS:I
-Ljava/util/concurrent/CompletableFuture;->STACK:J
-Ljava/util/concurrent/CompletableFuture;->stack:Ljava/util/concurrent/CompletableFuture$Completion;
-Ljava/util/concurrent/CompletableFuture;->SYNC:I
-Ljava/util/concurrent/CompletableFuture;->timedGet(J)Ljava/lang/Object;
-Ljava/util/concurrent/CompletableFuture;->tryPushStack(Ljava/util/concurrent/CompletableFuture$Completion;)Z
-Ljava/util/concurrent/CompletableFuture;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/CompletableFuture;->uniAccept(Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Consumer;Ljava/util/concurrent/CompletableFuture$UniAccept;)Z
-Ljava/util/concurrent/CompletableFuture;->uniAcceptStage(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->uniApply(Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;Ljava/util/concurrent/CompletableFuture$UniApply;)Z
-Ljava/util/concurrent/CompletableFuture;->uniApplyStage(Ljava/util/concurrent/Executor;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->uniAsMinimalStage()Ljava/util/concurrent/CompletableFuture$MinimalStage;
-Ljava/util/concurrent/CompletableFuture;->uniCompose(Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;Ljava/util/concurrent/CompletableFuture$UniCompose;)Z
-Ljava/util/concurrent/CompletableFuture;->uniComposeStage(Ljava/util/concurrent/Executor;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->uniCopyStage()Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->uniExceptionally(Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;Ljava/util/concurrent/CompletableFuture$UniExceptionally;)Z
-Ljava/util/concurrent/CompletableFuture;->uniExceptionallyStage(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->uniHandle(Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiFunction;Ljava/util/concurrent/CompletableFuture$UniHandle;)Z
-Ljava/util/concurrent/CompletableFuture;->uniHandleStage(Ljava/util/concurrent/Executor;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->uniRelay(Ljava/util/concurrent/CompletableFuture;)Z
-Ljava/util/concurrent/CompletableFuture;->uniRun(Ljava/util/concurrent/CompletableFuture;Ljava/lang/Runnable;Ljava/util/concurrent/CompletableFuture$UniRun;)Z
-Ljava/util/concurrent/CompletableFuture;->uniRunStage(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->uniWhenComplete(Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiConsumer;Ljava/util/concurrent/CompletableFuture$UniWhenComplete;)Z
-Ljava/util/concurrent/CompletableFuture;->uniWhenCompleteStage(Ljava/util/concurrent/Executor;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
-Ljava/util/concurrent/CompletableFuture;->USE_COMMON_POOL:Z
-Ljava/util/concurrent/CompletableFuture;->waitingGet(Z)Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentHashMap$BaseIterator;
-Ljava/util/concurrent/ConcurrentHashMap$BaseIterator;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIILjava/util/concurrent/ConcurrentHashMap;)V
-Ljava/util/concurrent/ConcurrentHashMap$BaseIterator;->hasNext()Z
-Ljava/util/concurrent/ConcurrentHashMap$BaseIterator;->lastReturned:Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap$BaseIterator;->map:Ljava/util/concurrent/ConcurrentHashMap;
-Ljava/util/concurrent/ConcurrentHashMap$BaseIterator;->remove()V
-Ljava/util/concurrent/ConcurrentHashMap$BulkTask;
-Ljava/util/concurrent/ConcurrentHashMap$BulkTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;)V
-Ljava/util/concurrent/ConcurrentHashMap$BulkTask;->advance()Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap$BulkTask;->baseIndex:I
-Ljava/util/concurrent/ConcurrentHashMap$BulkTask;->baseLimit:I
-Ljava/util/concurrent/ConcurrentHashMap$BulkTask;->baseSize:I
-Ljava/util/concurrent/ConcurrentHashMap$BulkTask;->batch:I
-Ljava/util/concurrent/ConcurrentHashMap$BulkTask;->index:I
-Ljava/util/concurrent/ConcurrentHashMap$BulkTask;->next:Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap$BulkTask;->pushState([Ljava/util/concurrent/ConcurrentHashMap$Node;II)V
-Ljava/util/concurrent/ConcurrentHashMap$BulkTask;->recoverState(I)V
-Ljava/util/concurrent/ConcurrentHashMap$BulkTask;->spare:Ljava/util/concurrent/ConcurrentHashMap$TableStack;
-Ljava/util/concurrent/ConcurrentHashMap$BulkTask;->stack:Ljava/util/concurrent/ConcurrentHashMap$TableStack;
-Ljava/util/concurrent/ConcurrentHashMap$BulkTask;->tab:[Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap$CollectionView;
-Ljava/util/concurrent/ConcurrentHashMap$CollectionView;-><init>(Ljava/util/concurrent/ConcurrentHashMap;)V
-Ljava/util/concurrent/ConcurrentHashMap$CollectionView;->getMap()Ljava/util/concurrent/ConcurrentHashMap;
-Ljava/util/concurrent/ConcurrentHashMap$CollectionView;->map:Ljava/util/concurrent/ConcurrentHashMap;
-Ljava/util/concurrent/ConcurrentHashMap$CollectionView;->OOME_MSG:Ljava/lang/String;
-Ljava/util/concurrent/ConcurrentHashMap$CounterCell;
-Ljava/util/concurrent/ConcurrentHashMap$CounterCell;-><init>(J)V
-Ljava/util/concurrent/ConcurrentHashMap$CounterCell;->value:J
-Ljava/util/concurrent/ConcurrentHashMap$EntryIterator;
-Ljava/util/concurrent/ConcurrentHashMap$EntryIterator;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIILjava/util/concurrent/ConcurrentHashMap;)V
-Ljava/util/concurrent/ConcurrentHashMap$EntrySetView;
-Ljava/util/concurrent/ConcurrentHashMap$EntrySetView;-><init>(Ljava/util/concurrent/ConcurrentHashMap;)V
-Ljava/util/concurrent/ConcurrentHashMap$EntrySetView;->add(Ljava/util/Map$Entry;)Z
-Ljava/util/concurrent/ConcurrentHashMap$EntrySetView;->addAll(Ljava/util/Collection;)Z
-Ljava/util/concurrent/ConcurrentHashMap$EntrySetView;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/ConcurrentHashMap$EntrySetView;->removeIf(Ljava/util/function/Predicate;)Z
-Ljava/util/concurrent/ConcurrentHashMap$EntrySpliterator;
-Ljava/util/concurrent/ConcurrentHashMap$EntrySpliterator;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIIJLjava/util/concurrent/ConcurrentHashMap;)V
-Ljava/util/concurrent/ConcurrentHashMap$EntrySpliterator;->est:J
-Ljava/util/concurrent/ConcurrentHashMap$EntrySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/ConcurrentHashMap$EntrySpliterator;->map:Ljava/util/concurrent/ConcurrentHashMap;
-Ljava/util/concurrent/ConcurrentHashMap$EntrySpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/concurrent/ConcurrentHashMap$ForEachEntryTask;
-Ljava/util/concurrent/ConcurrentHashMap$ForEachEntryTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/ConcurrentHashMap$ForEachEntryTask;->action:Ljava/util/function/Consumer;
-Ljava/util/concurrent/ConcurrentHashMap$ForEachKeyTask;
-Ljava/util/concurrent/ConcurrentHashMap$ForEachKeyTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/ConcurrentHashMap$ForEachKeyTask;->action:Ljava/util/function/Consumer;
-Ljava/util/concurrent/ConcurrentHashMap$ForEachMappingTask;
-Ljava/util/concurrent/ConcurrentHashMap$ForEachMappingTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/function/BiConsumer;)V
-Ljava/util/concurrent/ConcurrentHashMap$ForEachMappingTask;->action:Ljava/util/function/BiConsumer;
-Ljava/util/concurrent/ConcurrentHashMap$ForEachTransformedEntryTask;
-Ljava/util/concurrent/ConcurrentHashMap$ForEachTransformedEntryTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/function/Function;Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/ConcurrentHashMap$ForEachTransformedEntryTask;->action:Ljava/util/function/Consumer;
-Ljava/util/concurrent/ConcurrentHashMap$ForEachTransformedEntryTask;->transformer:Ljava/util/function/Function;
-Ljava/util/concurrent/ConcurrentHashMap$ForEachTransformedKeyTask;
-Ljava/util/concurrent/ConcurrentHashMap$ForEachTransformedKeyTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/function/Function;Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/ConcurrentHashMap$ForEachTransformedKeyTask;->action:Ljava/util/function/Consumer;
-Ljava/util/concurrent/ConcurrentHashMap$ForEachTransformedKeyTask;->transformer:Ljava/util/function/Function;
-Ljava/util/concurrent/ConcurrentHashMap$ForEachTransformedMappingTask;
-Ljava/util/concurrent/ConcurrentHashMap$ForEachTransformedMappingTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/function/BiFunction;Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/ConcurrentHashMap$ForEachTransformedMappingTask;->action:Ljava/util/function/Consumer;
-Ljava/util/concurrent/ConcurrentHashMap$ForEachTransformedMappingTask;->transformer:Ljava/util/function/BiFunction;
-Ljava/util/concurrent/ConcurrentHashMap$ForEachTransformedValueTask;
-Ljava/util/concurrent/ConcurrentHashMap$ForEachTransformedValueTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/function/Function;Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/ConcurrentHashMap$ForEachTransformedValueTask;->action:Ljava/util/function/Consumer;
-Ljava/util/concurrent/ConcurrentHashMap$ForEachTransformedValueTask;->transformer:Ljava/util/function/Function;
-Ljava/util/concurrent/ConcurrentHashMap$ForEachValueTask;
-Ljava/util/concurrent/ConcurrentHashMap$ForEachValueTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/ConcurrentHashMap$ForEachValueTask;->action:Ljava/util/function/Consumer;
-Ljava/util/concurrent/ConcurrentHashMap$ForwardingNode;
-Ljava/util/concurrent/ConcurrentHashMap$ForwardingNode;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;)V
-Ljava/util/concurrent/ConcurrentHashMap$ForwardingNode;->find(ILjava/lang/Object;)Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap$ForwardingNode;->nextTable:[Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap$KeyIterator;
-Ljava/util/concurrent/ConcurrentHashMap$KeyIterator;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIILjava/util/concurrent/ConcurrentHashMap;)V
-Ljava/util/concurrent/ConcurrentHashMap$KeySetView;-><init>(Ljava/util/concurrent/ConcurrentHashMap;Ljava/lang/Object;)V
-Ljava/util/concurrent/ConcurrentHashMap$KeySetView;->value:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentHashMap$KeySpliterator;
-Ljava/util/concurrent/ConcurrentHashMap$KeySpliterator;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIIJ)V
-Ljava/util/concurrent/ConcurrentHashMap$KeySpliterator;->est:J
-Ljava/util/concurrent/ConcurrentHashMap$KeySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/ConcurrentHashMap$KeySpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/concurrent/ConcurrentHashMap$MapEntry;
-Ljava/util/concurrent/ConcurrentHashMap$MapEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/concurrent/ConcurrentHashMap;)V
-Ljava/util/concurrent/ConcurrentHashMap$MapEntry;->key:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentHashMap$MapEntry;->map:Ljava/util/concurrent/ConcurrentHashMap;
-Ljava/util/concurrent/ConcurrentHashMap$MapEntry;->val:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesTask;Ljava/util/function/Function;Ljava/util/function/BiFunction;)V
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesTask;->nextRight:Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesTask;->reducer:Ljava/util/function/BiFunction;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesTask;->result:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesTask;->rights:Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesTask;->transformer:Ljava/util/function/Function;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToDoubleTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToDoubleTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToDoubleTask;Ljava/util/function/ToDoubleFunction;DLjava/util/function/DoubleBinaryOperator;)V
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToDoubleTask;->basis:D
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToDoubleTask;->nextRight:Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToDoubleTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToDoubleTask;->reducer:Ljava/util/function/DoubleBinaryOperator;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToDoubleTask;->result:D
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToDoubleTask;->rights:Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToDoubleTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToDoubleTask;->transformer:Ljava/util/function/ToDoubleFunction;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToIntTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToIntTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToIntTask;Ljava/util/function/ToIntFunction;ILjava/util/function/IntBinaryOperator;)V
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToIntTask;->basis:I
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToIntTask;->nextRight:Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToIntTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToIntTask;->reducer:Ljava/util/function/IntBinaryOperator;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToIntTask;->result:I
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToIntTask;->rights:Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToIntTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToIntTask;->transformer:Ljava/util/function/ToIntFunction;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToLongTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToLongTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToLongTask;Ljava/util/function/ToLongFunction;JLjava/util/function/LongBinaryOperator;)V
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToLongTask;->basis:J
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToLongTask;->nextRight:Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToLongTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToLongTask;->reducer:Ljava/util/function/LongBinaryOperator;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToLongTask;->result:J
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToLongTask;->rights:Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToLongTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToLongTask;->transformer:Ljava/util/function/ToLongFunction;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysTask;Ljava/util/function/Function;Ljava/util/function/BiFunction;)V
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysTask;->nextRight:Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysTask;->reducer:Ljava/util/function/BiFunction;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysTask;->result:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysTask;->rights:Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysTask;->transformer:Ljava/util/function/Function;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToDoubleTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToDoubleTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToDoubleTask;Ljava/util/function/ToDoubleFunction;DLjava/util/function/DoubleBinaryOperator;)V
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToDoubleTask;->basis:D
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToDoubleTask;->nextRight:Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToDoubleTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToDoubleTask;->reducer:Ljava/util/function/DoubleBinaryOperator;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToDoubleTask;->result:D
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToDoubleTask;->rights:Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToDoubleTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToDoubleTask;->transformer:Ljava/util/function/ToDoubleFunction;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToIntTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToIntTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToIntTask;Ljava/util/function/ToIntFunction;ILjava/util/function/IntBinaryOperator;)V
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToIntTask;->basis:I
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToIntTask;->nextRight:Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToIntTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToIntTask;->reducer:Ljava/util/function/IntBinaryOperator;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToIntTask;->result:I
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToIntTask;->rights:Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToIntTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToIntTask;->transformer:Ljava/util/function/ToIntFunction;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToLongTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToLongTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToLongTask;Ljava/util/function/ToLongFunction;JLjava/util/function/LongBinaryOperator;)V
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToLongTask;->basis:J
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToLongTask;->nextRight:Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToLongTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToLongTask;->reducer:Ljava/util/function/LongBinaryOperator;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToLongTask;->result:J
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToLongTask;->rights:Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToLongTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceKeysToLongTask;->transformer:Ljava/util/function/ToLongFunction;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsTask;Ljava/util/function/BiFunction;Ljava/util/function/BiFunction;)V
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsTask;->nextRight:Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsTask;->reducer:Ljava/util/function/BiFunction;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsTask;->result:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsTask;->rights:Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsTask;->transformer:Ljava/util/function/BiFunction;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToDoubleTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToDoubleTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToDoubleTask;Ljava/util/function/ToDoubleBiFunction;DLjava/util/function/DoubleBinaryOperator;)V
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToDoubleTask;->basis:D
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToDoubleTask;->nextRight:Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToDoubleTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToDoubleTask;->reducer:Ljava/util/function/DoubleBinaryOperator;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToDoubleTask;->result:D
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToDoubleTask;->rights:Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToDoubleTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToDoubleTask;->transformer:Ljava/util/function/ToDoubleBiFunction;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToIntTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToIntTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToIntTask;Ljava/util/function/ToIntBiFunction;ILjava/util/function/IntBinaryOperator;)V
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToIntTask;->basis:I
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToIntTask;->nextRight:Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToIntTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToIntTask;->reducer:Ljava/util/function/IntBinaryOperator;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToIntTask;->result:I
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToIntTask;->rights:Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToIntTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToIntTask;->transformer:Ljava/util/function/ToIntBiFunction;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToLongTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToLongTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToLongTask;Ljava/util/function/ToLongBiFunction;JLjava/util/function/LongBinaryOperator;)V
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToLongTask;->basis:J
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToLongTask;->nextRight:Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToLongTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToLongTask;->reducer:Ljava/util/function/LongBinaryOperator;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToLongTask;->result:J
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToLongTask;->rights:Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToLongTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceMappingsToLongTask;->transformer:Ljava/util/function/ToLongBiFunction;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesTask;Ljava/util/function/Function;Ljava/util/function/BiFunction;)V
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesTask;->nextRight:Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesTask;->reducer:Ljava/util/function/BiFunction;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesTask;->result:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesTask;->rights:Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesTask;->transformer:Ljava/util/function/Function;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToDoubleTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToDoubleTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToDoubleTask;Ljava/util/function/ToDoubleFunction;DLjava/util/function/DoubleBinaryOperator;)V
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToDoubleTask;->basis:D
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToDoubleTask;->nextRight:Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToDoubleTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToDoubleTask;->reducer:Ljava/util/function/DoubleBinaryOperator;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToDoubleTask;->result:D
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToDoubleTask;->rights:Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToDoubleTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToDoubleTask;->transformer:Ljava/util/function/ToDoubleFunction;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToIntTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToIntTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToIntTask;Ljava/util/function/ToIntFunction;ILjava/util/function/IntBinaryOperator;)V
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToIntTask;->basis:I
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToIntTask;->nextRight:Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToIntTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToIntTask;->reducer:Ljava/util/function/IntBinaryOperator;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToIntTask;->result:I
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToIntTask;->rights:Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToIntTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToIntTask;->transformer:Ljava/util/function/ToIntFunction;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToLongTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToLongTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToLongTask;Ljava/util/function/ToLongFunction;JLjava/util/function/LongBinaryOperator;)V
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToLongTask;->basis:J
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToLongTask;->nextRight:Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToLongTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToLongTask;->reducer:Ljava/util/function/LongBinaryOperator;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToLongTask;->result:J
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToLongTask;->rights:Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToLongTask;
-Ljava/util/concurrent/ConcurrentHashMap$MapReduceValuesToLongTask;->transformer:Ljava/util/function/ToLongFunction;
-Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap$Node;-><init>(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/concurrent/ConcurrentHashMap$Node;)V
-Ljava/util/concurrent/ConcurrentHashMap$Node;->find(ILjava/lang/Object;)Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap$Node;->hash:I
-Ljava/util/concurrent/ConcurrentHashMap$Node;->key:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentHashMap$Node;->next:Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap$Node;->val:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask;
-Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask;Ljava/util/function/BiFunction;)V
-Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask;->nextRight:Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask;
-Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask;->reducer:Ljava/util/function/BiFunction;
-Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask;->result:Ljava/util/Map$Entry;
-Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask;->rights:Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask;
-Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask;
-Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask;Ljava/util/function/BiFunction;)V
-Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask;->nextRight:Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask;
-Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask;->reducer:Ljava/util/function/BiFunction;
-Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask;->result:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask;->rights:Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask;
-Ljava/util/concurrent/ConcurrentHashMap$ReduceValuesTask;
-Ljava/util/concurrent/ConcurrentHashMap$ReduceValuesTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$ReduceValuesTask;Ljava/util/function/BiFunction;)V
-Ljava/util/concurrent/ConcurrentHashMap$ReduceValuesTask;->nextRight:Ljava/util/concurrent/ConcurrentHashMap$ReduceValuesTask;
-Ljava/util/concurrent/ConcurrentHashMap$ReduceValuesTask;->reducer:Ljava/util/function/BiFunction;
-Ljava/util/concurrent/ConcurrentHashMap$ReduceValuesTask;->result:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentHashMap$ReduceValuesTask;->rights:Ljava/util/concurrent/ConcurrentHashMap$ReduceValuesTask;
-Ljava/util/concurrent/ConcurrentHashMap$ReservationNode;
-Ljava/util/concurrent/ConcurrentHashMap$ReservationNode;-><init>()V
-Ljava/util/concurrent/ConcurrentHashMap$ReservationNode;->find(ILjava/lang/Object;)Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap$SearchEntriesTask;
-Ljava/util/concurrent/ConcurrentHashMap$SearchEntriesTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/function/Function;Ljava/util/concurrent/atomic/AtomicReference;)V
-Ljava/util/concurrent/ConcurrentHashMap$SearchEntriesTask;->result:Ljava/util/concurrent/atomic/AtomicReference;
-Ljava/util/concurrent/ConcurrentHashMap$SearchEntriesTask;->searchFunction:Ljava/util/function/Function;
-Ljava/util/concurrent/ConcurrentHashMap$SearchKeysTask;
-Ljava/util/concurrent/ConcurrentHashMap$SearchKeysTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/function/Function;Ljava/util/concurrent/atomic/AtomicReference;)V
-Ljava/util/concurrent/ConcurrentHashMap$SearchKeysTask;->result:Ljava/util/concurrent/atomic/AtomicReference;
-Ljava/util/concurrent/ConcurrentHashMap$SearchKeysTask;->searchFunction:Ljava/util/function/Function;
-Ljava/util/concurrent/ConcurrentHashMap$SearchMappingsTask;
-Ljava/util/concurrent/ConcurrentHashMap$SearchMappingsTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/function/BiFunction;Ljava/util/concurrent/atomic/AtomicReference;)V
-Ljava/util/concurrent/ConcurrentHashMap$SearchMappingsTask;->result:Ljava/util/concurrent/atomic/AtomicReference;
-Ljava/util/concurrent/ConcurrentHashMap$SearchMappingsTask;->searchFunction:Ljava/util/function/BiFunction;
-Ljava/util/concurrent/ConcurrentHashMap$SearchValuesTask;
-Ljava/util/concurrent/ConcurrentHashMap$SearchValuesTask;-><init>(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/function/Function;Ljava/util/concurrent/atomic/AtomicReference;)V
-Ljava/util/concurrent/ConcurrentHashMap$SearchValuesTask;->result:Ljava/util/concurrent/atomic/AtomicReference;
-Ljava/util/concurrent/ConcurrentHashMap$SearchValuesTask;->searchFunction:Ljava/util/function/Function;
-Ljava/util/concurrent/ConcurrentHashMap$Segment;
-Ljava/util/concurrent/ConcurrentHashMap$Segment;-><init>(F)V
-Ljava/util/concurrent/ConcurrentHashMap$Segment;->loadFactor:F
-Ljava/util/concurrent/ConcurrentHashMap$TableStack;
-Ljava/util/concurrent/ConcurrentHashMap$TableStack;-><init>()V
-Ljava/util/concurrent/ConcurrentHashMap$TableStack;->index:I
-Ljava/util/concurrent/ConcurrentHashMap$TableStack;->length:I
-Ljava/util/concurrent/ConcurrentHashMap$TableStack;->next:Ljava/util/concurrent/ConcurrentHashMap$TableStack;
-Ljava/util/concurrent/ConcurrentHashMap$TableStack;->tab:[Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap$Traverser;
-Ljava/util/concurrent/ConcurrentHashMap$Traverser;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;III)V
-Ljava/util/concurrent/ConcurrentHashMap$Traverser;->advance()Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap$Traverser;->baseIndex:I
-Ljava/util/concurrent/ConcurrentHashMap$Traverser;->baseLimit:I
-Ljava/util/concurrent/ConcurrentHashMap$Traverser;->baseSize:I
-Ljava/util/concurrent/ConcurrentHashMap$Traverser;->index:I
-Ljava/util/concurrent/ConcurrentHashMap$Traverser;->next:Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap$Traverser;->pushState([Ljava/util/concurrent/ConcurrentHashMap$Node;II)V
-Ljava/util/concurrent/ConcurrentHashMap$Traverser;->recoverState(I)V
-Ljava/util/concurrent/ConcurrentHashMap$Traverser;->spare:Ljava/util/concurrent/ConcurrentHashMap$TableStack;
-Ljava/util/concurrent/ConcurrentHashMap$Traverser;->stack:Ljava/util/concurrent/ConcurrentHashMap$TableStack;
-Ljava/util/concurrent/ConcurrentHashMap$Traverser;->tab:[Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;-><init>(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)V
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->balanceDeletion(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->balanceInsertion(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->checkInvariants(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Z
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->contendedLock()V
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->find(ILjava/lang/Object;)Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->first:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->lockRoot()V
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->lockState:I
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->LOCKSTATE:J
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->putTreeVal(ILjava/lang/Object;Ljava/lang/Object;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->READER:I
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->removeTreeNode(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Z
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->root:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->rotateLeft(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->rotateRight(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->tieBreakOrder(Ljava/lang/Object;Ljava/lang/Object;)I
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->unlockRoot()V
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->WAITER:I
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->waiter:Ljava/lang/Thread;
-Ljava/util/concurrent/ConcurrentHashMap$TreeBin;->WRITER:I
-Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-Ljava/util/concurrent/ConcurrentHashMap$TreeNode;-><init>(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)V
-Ljava/util/concurrent/ConcurrentHashMap$TreeNode;->find(ILjava/lang/Object;)Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap$TreeNode;->findTreeNode(ILjava/lang/Object;Ljava/lang/Class;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-Ljava/util/concurrent/ConcurrentHashMap$TreeNode;->left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-Ljava/util/concurrent/ConcurrentHashMap$TreeNode;->parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-Ljava/util/concurrent/ConcurrentHashMap$TreeNode;->prev:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-Ljava/util/concurrent/ConcurrentHashMap$TreeNode;->red:Z
-Ljava/util/concurrent/ConcurrentHashMap$TreeNode;->right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-Ljava/util/concurrent/ConcurrentHashMap$ValueIterator;
-Ljava/util/concurrent/ConcurrentHashMap$ValueIterator;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIILjava/util/concurrent/ConcurrentHashMap;)V
-Ljava/util/concurrent/ConcurrentHashMap$ValueSpliterator;
-Ljava/util/concurrent/ConcurrentHashMap$ValueSpliterator;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIIJ)V
-Ljava/util/concurrent/ConcurrentHashMap$ValueSpliterator;->est:J
-Ljava/util/concurrent/ConcurrentHashMap$ValueSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/ConcurrentHashMap$ValueSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/concurrent/ConcurrentHashMap$ValuesView;
-Ljava/util/concurrent/ConcurrentHashMap$ValuesView;-><init>(Ljava/util/concurrent/ConcurrentHashMap;)V
-Ljava/util/concurrent/ConcurrentHashMap$ValuesView;->add(Ljava/lang/Object;)Z
-Ljava/util/concurrent/ConcurrentHashMap$ValuesView;->addAll(Ljava/util/Collection;)Z
-Ljava/util/concurrent/ConcurrentHashMap$ValuesView;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/ConcurrentHashMap$ValuesView;->removeIf(Ljava/util/function/Predicate;)Z
-Ljava/util/concurrent/ConcurrentHashMap;->ABASE:I
-Ljava/util/concurrent/ConcurrentHashMap;->addCount(JI)V
-Ljava/util/concurrent/ConcurrentHashMap;->ASHIFT:I
-Ljava/util/concurrent/ConcurrentHashMap;->BASECOUNT:J
-Ljava/util/concurrent/ConcurrentHashMap;->baseCount:J
-Ljava/util/concurrent/ConcurrentHashMap;->batchFor(J)I
-Ljava/util/concurrent/ConcurrentHashMap;->casTabAt([Ljava/util/concurrent/ConcurrentHashMap$Node;ILjava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$Node;)Z
-Ljava/util/concurrent/ConcurrentHashMap;->cellsBusy:I
-Ljava/util/concurrent/ConcurrentHashMap;->CELLSBUSY:J
-Ljava/util/concurrent/ConcurrentHashMap;->CELLVALUE:J
-Ljava/util/concurrent/ConcurrentHashMap;->comparableClassFor(Ljava/lang/Object;)Ljava/lang/Class;
-Ljava/util/concurrent/ConcurrentHashMap;->compareComparables(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;)I
-Ljava/util/concurrent/ConcurrentHashMap;->counterCells:[Ljava/util/concurrent/ConcurrentHashMap$CounterCell;
-Ljava/util/concurrent/ConcurrentHashMap;->DEFAULT_CAPACITY:I
-Ljava/util/concurrent/ConcurrentHashMap;->DEFAULT_CONCURRENCY_LEVEL:I
-Ljava/util/concurrent/ConcurrentHashMap;->entrySet:Ljava/util/concurrent/ConcurrentHashMap$EntrySetView;
-Ljava/util/concurrent/ConcurrentHashMap;->fullAddCount(JZ)V
-Ljava/util/concurrent/ConcurrentHashMap;->HASH_BITS:I
-Ljava/util/concurrent/ConcurrentHashMap;->helpTransfer([Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$Node;)[Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap;->initTable()[Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap;->keySet:Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
-Ljava/util/concurrent/ConcurrentHashMap;->LOAD_FACTOR:F
-Ljava/util/concurrent/ConcurrentHashMap;->MAXIMUM_CAPACITY:I
-Ljava/util/concurrent/ConcurrentHashMap;->MAX_ARRAY_SIZE:I
-Ljava/util/concurrent/ConcurrentHashMap;->MAX_RESIZERS:I
-Ljava/util/concurrent/ConcurrentHashMap;->MIN_TRANSFER_STRIDE:I
-Ljava/util/concurrent/ConcurrentHashMap;->MIN_TREEIFY_CAPACITY:I
-Ljava/util/concurrent/ConcurrentHashMap;->MOVED:I
-Ljava/util/concurrent/ConcurrentHashMap;->NCPU:I
-Ljava/util/concurrent/ConcurrentHashMap;->nextTable:[Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap;->putVal(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentHashMap;->removeEntryIf(Ljava/util/function/Predicate;)Z
-Ljava/util/concurrent/ConcurrentHashMap;->removeValueIf(Ljava/util/function/Predicate;)Z
-Ljava/util/concurrent/ConcurrentHashMap;->replaceNode(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentHashMap;->RESERVED:I
-Ljava/util/concurrent/ConcurrentHashMap;->resizeStamp(I)I
-Ljava/util/concurrent/ConcurrentHashMap;->RESIZE_STAMP_BITS:I
-Ljava/util/concurrent/ConcurrentHashMap;->RESIZE_STAMP_SHIFT:I
-Ljava/util/concurrent/ConcurrentHashMap;->setTabAt([Ljava/util/concurrent/ConcurrentHashMap$Node;ILjava/util/concurrent/ConcurrentHashMap$Node;)V
-Ljava/util/concurrent/ConcurrentHashMap;->sizeCtl:I
-Ljava/util/concurrent/ConcurrentHashMap;->SIZECTL:J
-Ljava/util/concurrent/ConcurrentHashMap;->spread(I)I
-Ljava/util/concurrent/ConcurrentHashMap;->sumCount()J
-Ljava/util/concurrent/ConcurrentHashMap;->tabAt([Ljava/util/concurrent/ConcurrentHashMap$Node;I)Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap;->table:[Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap;->tableSizeFor(I)I
-Ljava/util/concurrent/ConcurrentHashMap;->transfer([Ljava/util/concurrent/ConcurrentHashMap$Node;[Ljava/util/concurrent/ConcurrentHashMap$Node;)V
-Ljava/util/concurrent/ConcurrentHashMap;->transferIndex:I
-Ljava/util/concurrent/ConcurrentHashMap;->TRANSFERINDEX:J
-Ljava/util/concurrent/ConcurrentHashMap;->TREEBIN:I
-Ljava/util/concurrent/ConcurrentHashMap;->treeifyBin([Ljava/util/concurrent/ConcurrentHashMap$Node;I)V
-Ljava/util/concurrent/ConcurrentHashMap;->TREEIFY_THRESHOLD:I
-Ljava/util/concurrent/ConcurrentHashMap;->tryPresize(I)V
-Ljava/util/concurrent/ConcurrentHashMap;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/ConcurrentHashMap;->untreeify(Ljava/util/concurrent/ConcurrentHashMap$Node;)Ljava/util/concurrent/ConcurrentHashMap$Node;
-Ljava/util/concurrent/ConcurrentHashMap;->UNTREEIFY_THRESHOLD:I
-Ljava/util/concurrent/ConcurrentHashMap;->values:Ljava/util/concurrent/ConcurrentHashMap$ValuesView;
-Ljava/util/concurrent/ConcurrentLinkedDeque$AbstractItr;
-Ljava/util/concurrent/ConcurrentLinkedDeque$AbstractItr;-><init>()V
-Ljava/util/concurrent/ConcurrentLinkedDeque$AbstractItr;->advance()V
-Ljava/util/concurrent/ConcurrentLinkedDeque$AbstractItr;->lastRet:Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque$AbstractItr;->nextItem:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentLinkedDeque$AbstractItr;->nextNode(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque$AbstractItr;->nextNode:Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque$AbstractItr;->startNode()Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque$CLDSpliterator;
-Ljava/util/concurrent/ConcurrentLinkedDeque$CLDSpliterator;-><init>(Ljava/util/concurrent/ConcurrentLinkedDeque;)V
-Ljava/util/concurrent/ConcurrentLinkedDeque$CLDSpliterator;->batch:I
-Ljava/util/concurrent/ConcurrentLinkedDeque$CLDSpliterator;->current:Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque$CLDSpliterator;->exhausted:Z
-Ljava/util/concurrent/ConcurrentLinkedDeque$CLDSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/ConcurrentLinkedDeque$CLDSpliterator;->MAX_BATCH:I
-Ljava/util/concurrent/ConcurrentLinkedDeque$CLDSpliterator;->queue:Ljava/util/concurrent/ConcurrentLinkedDeque;
-Ljava/util/concurrent/ConcurrentLinkedDeque$CLDSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/concurrent/ConcurrentLinkedDeque$DescendingItr;
-Ljava/util/concurrent/ConcurrentLinkedDeque$DescendingItr;-><init>()V
-Ljava/util/concurrent/ConcurrentLinkedDeque$DescendingItr;->nextNode(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque$DescendingItr;->startNode()Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque$Itr;
-Ljava/util/concurrent/ConcurrentLinkedDeque$Itr;-><init>()V
-Ljava/util/concurrent/ConcurrentLinkedDeque$Itr;->nextNode(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque$Itr;->startNode()Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque$Node;-><init>()V
-Ljava/util/concurrent/ConcurrentLinkedDeque$Node;-><init>(Ljava/lang/Object;)V
-Ljava/util/concurrent/ConcurrentLinkedDeque$Node;->casItem(Ljava/lang/Object;Ljava/lang/Object;)Z
-Ljava/util/concurrent/ConcurrentLinkedDeque$Node;->casNext(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)Z
-Ljava/util/concurrent/ConcurrentLinkedDeque$Node;->casPrev(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)Z
-Ljava/util/concurrent/ConcurrentLinkedDeque$Node;->ITEM:J
-Ljava/util/concurrent/ConcurrentLinkedDeque$Node;->item:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentLinkedDeque$Node;->lazySetNext(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)V
-Ljava/util/concurrent/ConcurrentLinkedDeque$Node;->lazySetPrev(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)V
-Ljava/util/concurrent/ConcurrentLinkedDeque$Node;->NEXT:J
-Ljava/util/concurrent/ConcurrentLinkedDeque$Node;->next:Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque$Node;->PREV:J
-Ljava/util/concurrent/ConcurrentLinkedDeque$Node;->prev:Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque$Node;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/ConcurrentLinkedDeque;->casHead(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)Z
-Ljava/util/concurrent/ConcurrentLinkedDeque;->casTail(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)Z
-Ljava/util/concurrent/ConcurrentLinkedDeque;->first()Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque;->HEAD:J
-Ljava/util/concurrent/ConcurrentLinkedDeque;->head:Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque;->HOPS:I
-Ljava/util/concurrent/ConcurrentLinkedDeque;->initHeadTail(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)V
-Ljava/util/concurrent/ConcurrentLinkedDeque;->last()Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque;->linkFirst(Ljava/lang/Object;)V
-Ljava/util/concurrent/ConcurrentLinkedDeque;->linkLast(Ljava/lang/Object;)V
-Ljava/util/concurrent/ConcurrentLinkedDeque;->nextTerminator()Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque;->NEXT_TERMINATOR:Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque;->pred(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque;->prevTerminator()Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque;->PREV_TERMINATOR:Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque;->screenNullResult(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentLinkedDeque;->skipDeletedPredecessors(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)V
-Ljava/util/concurrent/ConcurrentLinkedDeque;->skipDeletedSuccessors(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)V
-Ljava/util/concurrent/ConcurrentLinkedDeque;->succ(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque;->TAIL:J
-Ljava/util/concurrent/ConcurrentLinkedDeque;->tail:Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-Ljava/util/concurrent/ConcurrentLinkedDeque;->toArrayInternal([Ljava/lang/Object;)[Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentLinkedDeque;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/ConcurrentLinkedDeque;->unlink(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)V
-Ljava/util/concurrent/ConcurrentLinkedDeque;->unlinkFirst(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)V
-Ljava/util/concurrent/ConcurrentLinkedDeque;->unlinkLast(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)V
-Ljava/util/concurrent/ConcurrentLinkedDeque;->updateHead()V
-Ljava/util/concurrent/ConcurrentLinkedDeque;->updateTail()V
-Ljava/util/concurrent/ConcurrentLinkedQueue$CLQSpliterator;
-Ljava/util/concurrent/ConcurrentLinkedQueue$CLQSpliterator;-><init>(Ljava/util/concurrent/ConcurrentLinkedQueue;)V
-Ljava/util/concurrent/ConcurrentLinkedQueue$CLQSpliterator;->batch:I
-Ljava/util/concurrent/ConcurrentLinkedQueue$CLQSpliterator;->current:Ljava/util/concurrent/ConcurrentLinkedQueue$Node;
-Ljava/util/concurrent/ConcurrentLinkedQueue$CLQSpliterator;->exhausted:Z
-Ljava/util/concurrent/ConcurrentLinkedQueue$CLQSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/ConcurrentLinkedQueue$CLQSpliterator;->MAX_BATCH:I
-Ljava/util/concurrent/ConcurrentLinkedQueue$CLQSpliterator;->queue:Ljava/util/concurrent/ConcurrentLinkedQueue;
-Ljava/util/concurrent/ConcurrentLinkedQueue$CLQSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/concurrent/ConcurrentLinkedQueue$Itr;
-Ljava/util/concurrent/ConcurrentLinkedQueue$Itr;-><init>()V
-Ljava/util/concurrent/ConcurrentLinkedQueue$Itr;->lastRet:Ljava/util/concurrent/ConcurrentLinkedQueue$Node;
-Ljava/util/concurrent/ConcurrentLinkedQueue$Itr;->nextItem:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentLinkedQueue$Itr;->nextNode:Ljava/util/concurrent/ConcurrentLinkedQueue$Node;
-Ljava/util/concurrent/ConcurrentLinkedQueue$Node;
-Ljava/util/concurrent/ConcurrentLinkedQueue$Node;-><init>()V
-Ljava/util/concurrent/ConcurrentLinkedQueue$Node;->item:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentLinkedQueue$Node;->next:Ljava/util/concurrent/ConcurrentLinkedQueue$Node;
-Ljava/util/concurrent/ConcurrentLinkedQueue;->casHead(Ljava/util/concurrent/ConcurrentLinkedQueue$Node;Ljava/util/concurrent/ConcurrentLinkedQueue$Node;)Z
-Ljava/util/concurrent/ConcurrentLinkedQueue;->casItem(Ljava/util/concurrent/ConcurrentLinkedQueue$Node;Ljava/lang/Object;Ljava/lang/Object;)Z
-Ljava/util/concurrent/ConcurrentLinkedQueue;->casNext(Ljava/util/concurrent/ConcurrentLinkedQueue$Node;Ljava/util/concurrent/ConcurrentLinkedQueue$Node;Ljava/util/concurrent/ConcurrentLinkedQueue$Node;)Z
-Ljava/util/concurrent/ConcurrentLinkedQueue;->casTail(Ljava/util/concurrent/ConcurrentLinkedQueue$Node;Ljava/util/concurrent/ConcurrentLinkedQueue$Node;)Z
-Ljava/util/concurrent/ConcurrentLinkedQueue;->first()Ljava/util/concurrent/ConcurrentLinkedQueue$Node;
-Ljava/util/concurrent/ConcurrentLinkedQueue;->HEAD:J
-Ljava/util/concurrent/ConcurrentLinkedQueue;->head:Ljava/util/concurrent/ConcurrentLinkedQueue$Node;
-Ljava/util/concurrent/ConcurrentLinkedQueue;->ITEM:J
-Ljava/util/concurrent/ConcurrentLinkedQueue;->lazySetNext(Ljava/util/concurrent/ConcurrentLinkedQueue$Node;Ljava/util/concurrent/ConcurrentLinkedQueue$Node;)V
-Ljava/util/concurrent/ConcurrentLinkedQueue;->newNode(Ljava/lang/Object;)Ljava/util/concurrent/ConcurrentLinkedQueue$Node;
-Ljava/util/concurrent/ConcurrentLinkedQueue;->NEXT:J
-Ljava/util/concurrent/ConcurrentLinkedQueue;->succ(Ljava/util/concurrent/ConcurrentLinkedQueue$Node;)Ljava/util/concurrent/ConcurrentLinkedQueue$Node;
-Ljava/util/concurrent/ConcurrentLinkedQueue;->TAIL:J
-Ljava/util/concurrent/ConcurrentLinkedQueue;->tail:Ljava/util/concurrent/ConcurrentLinkedQueue$Node;
-Ljava/util/concurrent/ConcurrentLinkedQueue;->toArrayInternal([Ljava/lang/Object;)[Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentLinkedQueue;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/ConcurrentLinkedQueue;->updateHead(Ljava/util/concurrent/ConcurrentLinkedQueue$Node;Ljava/util/concurrent/ConcurrentLinkedQueue$Node;)V
-Ljava/util/concurrent/ConcurrentSkipListMap$CSLMSpliterator;
-Ljava/util/concurrent/ConcurrentSkipListMap$CSLMSpliterator;-><init>(Ljava/util/Comparator;Ljava/util/concurrent/ConcurrentSkipListMap$Index;Ljava/util/concurrent/ConcurrentSkipListMap$Node;Ljava/lang/Object;I)V
-Ljava/util/concurrent/ConcurrentSkipListMap$CSLMSpliterator;->comparator:Ljava/util/Comparator;
-Ljava/util/concurrent/ConcurrentSkipListMap$CSLMSpliterator;->current:Ljava/util/concurrent/ConcurrentSkipListMap$Node;
-Ljava/util/concurrent/ConcurrentSkipListMap$CSLMSpliterator;->est:I
-Ljava/util/concurrent/ConcurrentSkipListMap$CSLMSpliterator;->estimateSize()J
-Ljava/util/concurrent/ConcurrentSkipListMap$CSLMSpliterator;->fence:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentSkipListMap$CSLMSpliterator;->row:Ljava/util/concurrent/ConcurrentSkipListMap$Index;
-Ljava/util/concurrent/ConcurrentSkipListMap$EntryIterator;
-Ljava/util/concurrent/ConcurrentSkipListMap$EntryIterator;-><init>()V
-Ljava/util/concurrent/ConcurrentSkipListMap$EntrySet;
-Ljava/util/concurrent/ConcurrentSkipListMap$EntrySet;-><init>(Ljava/util/concurrent/ConcurrentNavigableMap;)V
-Ljava/util/concurrent/ConcurrentSkipListMap$EntrySet;->m:Ljava/util/concurrent/ConcurrentNavigableMap;
-Ljava/util/concurrent/ConcurrentSkipListMap$EntrySet;->removeIf(Ljava/util/function/Predicate;)Z
-Ljava/util/concurrent/ConcurrentSkipListMap$EntrySpliterator;
-Ljava/util/concurrent/ConcurrentSkipListMap$EntrySpliterator;-><init>(Ljava/util/Comparator;Ljava/util/concurrent/ConcurrentSkipListMap$Index;Ljava/util/concurrent/ConcurrentSkipListMap$Node;Ljava/lang/Object;I)V
-Ljava/util/concurrent/ConcurrentSkipListMap$EntrySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/ConcurrentSkipListMap$EntrySpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/concurrent/ConcurrentSkipListMap$HeadIndex;
-Ljava/util/concurrent/ConcurrentSkipListMap$HeadIndex;-><init>(Ljava/util/concurrent/ConcurrentSkipListMap$Node;Ljava/util/concurrent/ConcurrentSkipListMap$Index;Ljava/util/concurrent/ConcurrentSkipListMap$Index;I)V
-Ljava/util/concurrent/ConcurrentSkipListMap$HeadIndex;->level:I
-Ljava/util/concurrent/ConcurrentSkipListMap$Index;
-Ljava/util/concurrent/ConcurrentSkipListMap$Index;-><init>(Ljava/util/concurrent/ConcurrentSkipListMap$Node;Ljava/util/concurrent/ConcurrentSkipListMap$Index;Ljava/util/concurrent/ConcurrentSkipListMap$Index;)V
-Ljava/util/concurrent/ConcurrentSkipListMap$Index;->casRight(Ljava/util/concurrent/ConcurrentSkipListMap$Index;Ljava/util/concurrent/ConcurrentSkipListMap$Index;)Z
-Ljava/util/concurrent/ConcurrentSkipListMap$Index;->down:Ljava/util/concurrent/ConcurrentSkipListMap$Index;
-Ljava/util/concurrent/ConcurrentSkipListMap$Index;->indexesDeletedNode()Z
-Ljava/util/concurrent/ConcurrentSkipListMap$Index;->link(Ljava/util/concurrent/ConcurrentSkipListMap$Index;Ljava/util/concurrent/ConcurrentSkipListMap$Index;)Z
-Ljava/util/concurrent/ConcurrentSkipListMap$Index;->node:Ljava/util/concurrent/ConcurrentSkipListMap$Node;
-Ljava/util/concurrent/ConcurrentSkipListMap$Index;->RIGHT:J
-Ljava/util/concurrent/ConcurrentSkipListMap$Index;->right:Ljava/util/concurrent/ConcurrentSkipListMap$Index;
-Ljava/util/concurrent/ConcurrentSkipListMap$Index;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/ConcurrentSkipListMap$Index;->unlink(Ljava/util/concurrent/ConcurrentSkipListMap$Index;)Z
-Ljava/util/concurrent/ConcurrentSkipListMap$Iter;
-Ljava/util/concurrent/ConcurrentSkipListMap$Iter;-><init>()V
-Ljava/util/concurrent/ConcurrentSkipListMap$Iter;->advance()V
-Ljava/util/concurrent/ConcurrentSkipListMap$Iter;->lastReturned:Ljava/util/concurrent/ConcurrentSkipListMap$Node;
-Ljava/util/concurrent/ConcurrentSkipListMap$Iter;->next:Ljava/util/concurrent/ConcurrentSkipListMap$Node;
-Ljava/util/concurrent/ConcurrentSkipListMap$Iter;->nextValue:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentSkipListMap$KeyIterator;
-Ljava/util/concurrent/ConcurrentSkipListMap$KeyIterator;-><init>()V
-Ljava/util/concurrent/ConcurrentSkipListMap$KeySet;
-Ljava/util/concurrent/ConcurrentSkipListMap$KeySet;-><init>(Ljava/util/concurrent/ConcurrentNavigableMap;)V
-Ljava/util/concurrent/ConcurrentSkipListMap$KeySet;->ceiling(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentSkipListMap$KeySet;->floor(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentSkipListMap$KeySet;->headSet(Ljava/lang/Object;)Ljava/util/NavigableSet;
-Ljava/util/concurrent/ConcurrentSkipListMap$KeySet;->headSet(Ljava/lang/Object;Z)Ljava/util/NavigableSet;
-Ljava/util/concurrent/ConcurrentSkipListMap$KeySet;->higher(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentSkipListMap$KeySet;->lower(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentSkipListMap$KeySet;->m:Ljava/util/concurrent/ConcurrentNavigableMap;
-Ljava/util/concurrent/ConcurrentSkipListMap$KeySet;->subSet(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/NavigableSet;
-Ljava/util/concurrent/ConcurrentSkipListMap$KeySet;->subSet(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/NavigableSet;
-Ljava/util/concurrent/ConcurrentSkipListMap$KeySet;->tailSet(Ljava/lang/Object;)Ljava/util/NavigableSet;
-Ljava/util/concurrent/ConcurrentSkipListMap$KeySet;->tailSet(Ljava/lang/Object;Z)Ljava/util/NavigableSet;
-Ljava/util/concurrent/ConcurrentSkipListMap$KeySpliterator;
-Ljava/util/concurrent/ConcurrentSkipListMap$KeySpliterator;-><init>(Ljava/util/Comparator;Ljava/util/concurrent/ConcurrentSkipListMap$Index;Ljava/util/concurrent/ConcurrentSkipListMap$Node;Ljava/lang/Object;I)V
-Ljava/util/concurrent/ConcurrentSkipListMap$KeySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/ConcurrentSkipListMap$KeySpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/concurrent/ConcurrentSkipListMap$Node;
-Ljava/util/concurrent/ConcurrentSkipListMap$Node;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/concurrent/ConcurrentSkipListMap$Node;)V
-Ljava/util/concurrent/ConcurrentSkipListMap$Node;-><init>(Ljava/util/concurrent/ConcurrentSkipListMap$Node;)V
-Ljava/util/concurrent/ConcurrentSkipListMap$Node;->appendMarker(Ljava/util/concurrent/ConcurrentSkipListMap$Node;)Z
-Ljava/util/concurrent/ConcurrentSkipListMap$Node;->casNext(Ljava/util/concurrent/ConcurrentSkipListMap$Node;Ljava/util/concurrent/ConcurrentSkipListMap$Node;)Z
-Ljava/util/concurrent/ConcurrentSkipListMap$Node;->casValue(Ljava/lang/Object;Ljava/lang/Object;)Z
-Ljava/util/concurrent/ConcurrentSkipListMap$Node;->createSnapshot()Ljava/util/AbstractMap$SimpleImmutableEntry;
-Ljava/util/concurrent/ConcurrentSkipListMap$Node;->getValidValue()Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentSkipListMap$Node;->helpDelete(Ljava/util/concurrent/ConcurrentSkipListMap$Node;Ljava/util/concurrent/ConcurrentSkipListMap$Node;)V
-Ljava/util/concurrent/ConcurrentSkipListMap$Node;->isBaseHeader()Z
-Ljava/util/concurrent/ConcurrentSkipListMap$Node;->isMarker()Z
-Ljava/util/concurrent/ConcurrentSkipListMap$Node;->key:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentSkipListMap$Node;->NEXT:J
-Ljava/util/concurrent/ConcurrentSkipListMap$Node;->next:Ljava/util/concurrent/ConcurrentSkipListMap$Node;
-Ljava/util/concurrent/ConcurrentSkipListMap$Node;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/ConcurrentSkipListMap$Node;->VALUE:J
-Ljava/util/concurrent/ConcurrentSkipListMap$Node;->value:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapEntryIterator;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapEntryIterator;-><init>()V
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter;-><init>()V
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter;->advance()V
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter;->ascend()V
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter;->descend()V
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter;->lastReturned:Ljava/util/concurrent/ConcurrentSkipListMap$Node;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter;->next:Ljava/util/concurrent/ConcurrentSkipListMap$Node;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter;->nextValue:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapKeyIterator;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapKeyIterator;-><init>()V
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapValueIterator;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapValueIterator;-><init>()V
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;-><init>(Ljava/util/concurrent/ConcurrentSkipListMap;Ljava/lang/Object;ZLjava/lang/Object;ZZ)V
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->checkKeyBounds(Ljava/lang/Object;Ljava/util/Comparator;)V
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->entrySetView:Ljava/util/Set;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->getNearEntry(Ljava/lang/Object;I)Ljava/util/Map$Entry;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->getNearKey(Ljava/lang/Object;I)Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->hi:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->highestEntry()Ljava/util/Map$Entry;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->highestKey()Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->hiInclusive:Z
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->hiNode(Ljava/util/Comparator;)Ljava/util/concurrent/ConcurrentSkipListMap$Node;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->inBounds(Ljava/lang/Object;Ljava/util/Comparator;)Z
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->isBeforeEnd(Ljava/util/concurrent/ConcurrentSkipListMap$Node;Ljava/util/Comparator;)Z
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->isDescending:Z
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->keySetView:Ljava/util/concurrent/ConcurrentSkipListMap$KeySet;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->lo:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->loInclusive:Z
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->loNode(Ljava/util/Comparator;)Ljava/util/concurrent/ConcurrentSkipListMap$Node;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->lowestEntry()Ljava/util/Map$Entry;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->lowestKey()Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->m:Ljava/util/concurrent/ConcurrentSkipListMap;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->newSubMap(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->removeHighest()Ljava/util/Map$Entry;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->removeLowest()Ljava/util/Map$Entry;
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->tooHigh(Ljava/lang/Object;Ljava/util/Comparator;)Z
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->tooLow(Ljava/lang/Object;Ljava/util/Comparator;)Z
-Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->valuesView:Ljava/util/Collection;
-Ljava/util/concurrent/ConcurrentSkipListMap$ValueIterator;
-Ljava/util/concurrent/ConcurrentSkipListMap$ValueIterator;-><init>()V
-Ljava/util/concurrent/ConcurrentSkipListMap$Values;
-Ljava/util/concurrent/ConcurrentSkipListMap$Values;-><init>(Ljava/util/concurrent/ConcurrentNavigableMap;)V
-Ljava/util/concurrent/ConcurrentSkipListMap$Values;->m:Ljava/util/concurrent/ConcurrentNavigableMap;
-Ljava/util/concurrent/ConcurrentSkipListMap$Values;->removeIf(Ljava/util/function/Predicate;)Z
-Ljava/util/concurrent/ConcurrentSkipListMap$ValueSpliterator;
-Ljava/util/concurrent/ConcurrentSkipListMap$ValueSpliterator;-><init>(Ljava/util/Comparator;Ljava/util/concurrent/ConcurrentSkipListMap$Index;Ljava/util/concurrent/ConcurrentSkipListMap$Node;Ljava/lang/Object;I)V
-Ljava/util/concurrent/ConcurrentSkipListMap$ValueSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/ConcurrentSkipListMap$ValueSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/concurrent/ConcurrentSkipListMap;->BASE_HEADER:Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentSkipListMap;->buildFromSorted(Ljava/util/SortedMap;)V
-Ljava/util/concurrent/ConcurrentSkipListMap;->casHead(Ljava/util/concurrent/ConcurrentSkipListMap$HeadIndex;Ljava/util/concurrent/ConcurrentSkipListMap$HeadIndex;)Z
-Ljava/util/concurrent/ConcurrentSkipListMap;->clearIndexToFirst()V
-Ljava/util/concurrent/ConcurrentSkipListMap;->comparator:Ljava/util/Comparator;
-Ljava/util/concurrent/ConcurrentSkipListMap;->cpr(Ljava/util/Comparator;Ljava/lang/Object;Ljava/lang/Object;)I
-Ljava/util/concurrent/ConcurrentSkipListMap;->descendingMap:Ljava/util/concurrent/ConcurrentNavigableMap;
-Ljava/util/concurrent/ConcurrentSkipListMap;->doGet(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentSkipListMap;->doPut(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentSkipListMap;->doRemove(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/concurrent/ConcurrentSkipListMap;->doRemoveFirstEntry()Ljava/util/Map$Entry;
-Ljava/util/concurrent/ConcurrentSkipListMap;->doRemoveLastEntry()Ljava/util/Map$Entry;
-Ljava/util/concurrent/ConcurrentSkipListMap;->entrySet:Ljava/util/concurrent/ConcurrentSkipListMap$EntrySet;
-Ljava/util/concurrent/ConcurrentSkipListMap;->entrySpliterator()Ljava/util/concurrent/ConcurrentSkipListMap$EntrySpliterator;
-Ljava/util/concurrent/ConcurrentSkipListMap;->EQ:I
-Ljava/util/concurrent/ConcurrentSkipListMap;->findFirst()Ljava/util/concurrent/ConcurrentSkipListMap$Node;
-Ljava/util/concurrent/ConcurrentSkipListMap;->findLast()Ljava/util/concurrent/ConcurrentSkipListMap$Node;
-Ljava/util/concurrent/ConcurrentSkipListMap;->findNear(Ljava/lang/Object;ILjava/util/Comparator;)Ljava/util/concurrent/ConcurrentSkipListMap$Node;
-Ljava/util/concurrent/ConcurrentSkipListMap;->findNode(Ljava/lang/Object;)Ljava/util/concurrent/ConcurrentSkipListMap$Node;
-Ljava/util/concurrent/ConcurrentSkipListMap;->findPredecessor(Ljava/lang/Object;Ljava/util/Comparator;)Ljava/util/concurrent/ConcurrentSkipListMap$Node;
-Ljava/util/concurrent/ConcurrentSkipListMap;->findPredecessorOfLast()Ljava/util/concurrent/ConcurrentSkipListMap$Node;
-Ljava/util/concurrent/ConcurrentSkipListMap;->getNear(Ljava/lang/Object;I)Ljava/util/AbstractMap$SimpleImmutableEntry;
-Ljava/util/concurrent/ConcurrentSkipListMap;->GT:I
-Ljava/util/concurrent/ConcurrentSkipListMap;->HEAD:J
-Ljava/util/concurrent/ConcurrentSkipListMap;->head:Ljava/util/concurrent/ConcurrentSkipListMap$HeadIndex;
-Ljava/util/concurrent/ConcurrentSkipListMap;->initialize()V
-Ljava/util/concurrent/ConcurrentSkipListMap;->keySet:Ljava/util/concurrent/ConcurrentSkipListMap$KeySet;
-Ljava/util/concurrent/ConcurrentSkipListMap;->keySpliterator()Ljava/util/concurrent/ConcurrentSkipListMap$KeySpliterator;
-Ljava/util/concurrent/ConcurrentSkipListMap;->LT:I
-Ljava/util/concurrent/ConcurrentSkipListMap;->removeEntryIf(Ljava/util/function/Predicate;)Z
-Ljava/util/concurrent/ConcurrentSkipListMap;->removeValueIf(Ljava/util/function/Predicate;)Z
-Ljava/util/concurrent/ConcurrentSkipListMap;->toList(Ljava/util/Collection;)Ljava/util/List;
-Ljava/util/concurrent/ConcurrentSkipListMap;->tryReduceLevel()V
-Ljava/util/concurrent/ConcurrentSkipListMap;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/ConcurrentSkipListMap;->values:Ljava/util/concurrent/ConcurrentSkipListMap$Values;
-Ljava/util/concurrent/ConcurrentSkipListMap;->valueSpliterator()Ljava/util/concurrent/ConcurrentSkipListMap$ValueSpliterator;
-Ljava/util/concurrent/ConcurrentSkipListSet;-><init>(Ljava/util/concurrent/ConcurrentNavigableMap;)V
-Ljava/util/concurrent/ConcurrentSkipListSet;->m:Ljava/util/concurrent/ConcurrentNavigableMap;
-Ljava/util/concurrent/ConcurrentSkipListSet;->MAP:J
-Ljava/util/concurrent/ConcurrentSkipListSet;->setMap(Ljava/util/concurrent/ConcurrentNavigableMap;)V
-Ljava/util/concurrent/ConcurrentSkipListSet;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator;
-Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator;-><init>([Ljava/lang/Object;I)V
-Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator;->cursor:I
-Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator;->snapshot:[Ljava/lang/Object;
-Ljava/util/concurrent/CopyOnWriteArrayList$COWSubList;
-Ljava/util/concurrent/CopyOnWriteArrayList$COWSubList;-><init>(Ljava/util/concurrent/CopyOnWriteArrayList;II)V
-Ljava/util/concurrent/CopyOnWriteArrayList$COWSubList;->checkForComodification()V
-Ljava/util/concurrent/CopyOnWriteArrayList$COWSubList;->expectedArray:[Ljava/lang/Object;
-Ljava/util/concurrent/CopyOnWriteArrayList$COWSubList;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/CopyOnWriteArrayList$COWSubList;->l:Ljava/util/concurrent/CopyOnWriteArrayList;
-Ljava/util/concurrent/CopyOnWriteArrayList$COWSubList;->offset:I
-Ljava/util/concurrent/CopyOnWriteArrayList$COWSubList;->rangeCheck(I)V
-Ljava/util/concurrent/CopyOnWriteArrayList$COWSubList;->size:I
-Ljava/util/concurrent/CopyOnWriteArrayList$COWSubListIterator;
-Ljava/util/concurrent/CopyOnWriteArrayList$COWSubListIterator;-><init>(Ljava/util/List;III)V
-Ljava/util/concurrent/CopyOnWriteArrayList$COWSubListIterator;->it:Ljava/util/ListIterator;
-Ljava/util/concurrent/CopyOnWriteArrayList$COWSubListIterator;->offset:I
-Ljava/util/concurrent/CopyOnWriteArrayList$COWSubListIterator;->size:I
-Ljava/util/concurrent/CopyOnWriteArrayList;->addIfAbsent(Ljava/lang/Object;[Ljava/lang/Object;)Z
-Ljava/util/concurrent/CopyOnWriteArrayList;->get([Ljava/lang/Object;I)Ljava/lang/Object;
-Ljava/util/concurrent/CopyOnWriteArrayList;->getArray()[Ljava/lang/Object;
-Ljava/util/concurrent/CopyOnWriteArrayList;->indexOf(Ljava/lang/Object;[Ljava/lang/Object;II)I
-Ljava/util/concurrent/CopyOnWriteArrayList;->lastIndexOf(Ljava/lang/Object;[Ljava/lang/Object;I)I
-Ljava/util/concurrent/CopyOnWriteArrayList;->LOCK:J
-Ljava/util/concurrent/CopyOnWriteArrayList;->lock:Ljava/lang/Object;
-Ljava/util/concurrent/CopyOnWriteArrayList;->outOfBounds(II)Ljava/lang/String;
-Ljava/util/concurrent/CopyOnWriteArrayList;->remove(Ljava/lang/Object;[Ljava/lang/Object;I)Z
-Ljava/util/concurrent/CopyOnWriteArrayList;->removeRange(II)V
-Ljava/util/concurrent/CopyOnWriteArrayList;->resetLock()V
-Ljava/util/concurrent/CopyOnWriteArrayList;->setArray([Ljava/lang/Object;)V
-Ljava/util/concurrent/CopyOnWriteArrayList;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/CopyOnWriteArraySet;->compareSets([Ljava/lang/Object;Ljava/util/Set;)I
-Ljava/util/concurrent/CountDownLatch$Sync;
-Ljava/util/concurrent/CountDownLatch$Sync;-><init>(I)V
-Ljava/util/concurrent/CountDownLatch$Sync;->getCount()I
-Ljava/util/concurrent/CountDownLatch;->sync:Ljava/util/concurrent/CountDownLatch$Sync;
-Ljava/util/concurrent/CountedCompleter;->completer:Ljava/util/concurrent/CountedCompleter;
-Ljava/util/concurrent/CountedCompleter;->internalPropagateException(Ljava/lang/Throwable;)V
-Ljava/util/concurrent/CountedCompleter;->pending:I
-Ljava/util/concurrent/CountedCompleter;->PENDING:J
-Ljava/util/concurrent/CountedCompleter;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/CyclicBarrier$Generation;
-Ljava/util/concurrent/CyclicBarrier$Generation;-><init>()V
-Ljava/util/concurrent/CyclicBarrier$Generation;->broken:Z
-Ljava/util/concurrent/CyclicBarrier;->barrierCommand:Ljava/lang/Runnable;
-Ljava/util/concurrent/CyclicBarrier;->breakBarrier()V
-Ljava/util/concurrent/CyclicBarrier;->count:I
-Ljava/util/concurrent/CyclicBarrier;->dowait(ZJ)I
-Ljava/util/concurrent/CyclicBarrier;->generation:Ljava/util/concurrent/CyclicBarrier$Generation;
-Ljava/util/concurrent/CyclicBarrier;->lock:Ljava/util/concurrent/locks/ReentrantLock;
-Ljava/util/concurrent/CyclicBarrier;->nextGeneration()V
-Ljava/util/concurrent/CyclicBarrier;->parties:I
-Ljava/util/concurrent/CyclicBarrier;->trip:Ljava/util/concurrent/locks/Condition;
-Ljava/util/concurrent/DelayQueue$Itr;
-Ljava/util/concurrent/DelayQueue$Itr;-><init>([Ljava/lang/Object;)V
-Ljava/util/concurrent/DelayQueue$Itr;->array:[Ljava/lang/Object;
-Ljava/util/concurrent/DelayQueue$Itr;->cursor:I
-Ljava/util/concurrent/DelayQueue$Itr;->lastRet:I
-Ljava/util/concurrent/DelayQueue;->available:Ljava/util/concurrent/locks/Condition;
-Ljava/util/concurrent/DelayQueue;->leader:Ljava/lang/Thread;
-Ljava/util/concurrent/DelayQueue;->lock:Ljava/util/concurrent/locks/ReentrantLock;
-Ljava/util/concurrent/DelayQueue;->peekExpired()Ljava/util/concurrent/Delayed;
-Ljava/util/concurrent/DelayQueue;->q:Ljava/util/PriorityQueue;
-Ljava/util/concurrent/DelayQueue;->removeEQ(Ljava/lang/Object;)V
-Ljava/util/concurrent/Exchanger$Node;
-Ljava/util/concurrent/Exchanger$Node;-><init>()V
-Ljava/util/concurrent/Exchanger$Node;->bound:I
-Ljava/util/concurrent/Exchanger$Node;->collides:I
-Ljava/util/concurrent/Exchanger$Node;->hash:I
-Ljava/util/concurrent/Exchanger$Node;->index:I
-Ljava/util/concurrent/Exchanger$Node;->item:Ljava/lang/Object;
-Ljava/util/concurrent/Exchanger$Node;->match:Ljava/lang/Object;
-Ljava/util/concurrent/Exchanger$Node;->parked:Ljava/lang/Thread;
-Ljava/util/concurrent/Exchanger$Participant;
-Ljava/util/concurrent/Exchanger$Participant;-><init>()V
-Ljava/util/concurrent/Exchanger;->ABASE:I
-Ljava/util/concurrent/Exchanger;->arena:[Ljava/util/concurrent/Exchanger$Node;
-Ljava/util/concurrent/Exchanger;->arenaExchange(Ljava/lang/Object;ZJ)Ljava/lang/Object;
-Ljava/util/concurrent/Exchanger;->ASHIFT:I
-Ljava/util/concurrent/Exchanger;->BLOCKER:J
-Ljava/util/concurrent/Exchanger;->bound:I
-Ljava/util/concurrent/Exchanger;->BOUND:J
-Ljava/util/concurrent/Exchanger;->FULL:I
-Ljava/util/concurrent/Exchanger;->MATCH:J
-Ljava/util/concurrent/Exchanger;->MMASK:I
-Ljava/util/concurrent/Exchanger;->NCPU:I
-Ljava/util/concurrent/Exchanger;->NULL_ITEM:Ljava/lang/Object;
-Ljava/util/concurrent/Exchanger;->participant:Ljava/util/concurrent/Exchanger$Participant;
-Ljava/util/concurrent/Exchanger;->SEQ:I
-Ljava/util/concurrent/Exchanger;->SLOT:J
-Ljava/util/concurrent/Exchanger;->slot:Ljava/util/concurrent/Exchanger$Node;
-Ljava/util/concurrent/Exchanger;->slotExchange(Ljava/lang/Object;ZJ)Ljava/lang/Object;
-Ljava/util/concurrent/Exchanger;->SPINS:I
-Ljava/util/concurrent/Exchanger;->TIMED_OUT:Ljava/lang/Object;
-Ljava/util/concurrent/Exchanger;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/ExecutorCompletionService$QueueingFuture;
-Ljava/util/concurrent/ExecutorCompletionService$QueueingFuture;-><init>(Ljava/util/concurrent/RunnableFuture;Ljava/util/concurrent/BlockingQueue;)V
-Ljava/util/concurrent/ExecutorCompletionService$QueueingFuture;->completionQueue:Ljava/util/concurrent/BlockingQueue;
-Ljava/util/concurrent/ExecutorCompletionService$QueueingFuture;->task:Ljava/util/concurrent/Future;
-Ljava/util/concurrent/ExecutorCompletionService;->aes:Ljava/util/concurrent/AbstractExecutorService;
-Ljava/util/concurrent/ExecutorCompletionService;->completionQueue:Ljava/util/concurrent/BlockingQueue;
-Ljava/util/concurrent/ExecutorCompletionService;->executor:Ljava/util/concurrent/Executor;
-Ljava/util/concurrent/ExecutorCompletionService;->newTaskFor(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/RunnableFuture;
-Ljava/util/concurrent/ExecutorCompletionService;->newTaskFor(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/RunnableFuture;
-Ljava/util/concurrent/Executors$DefaultThreadFactory;
-Ljava/util/concurrent/Executors$DefaultThreadFactory;-><init>()V
-Ljava/util/concurrent/Executors$DefaultThreadFactory;->group:Ljava/lang/ThreadGroup;
-Ljava/util/concurrent/Executors$DefaultThreadFactory;->namePrefix:Ljava/lang/String;
-Ljava/util/concurrent/Executors$DefaultThreadFactory;->poolNumber:Ljava/util/concurrent/atomic/AtomicInteger;
-Ljava/util/concurrent/Executors$DefaultThreadFactory;->threadNumber:Ljava/util/concurrent/atomic/AtomicInteger;
-Ljava/util/concurrent/Executors$DelegatedExecutorService;
-Ljava/util/concurrent/Executors$DelegatedExecutorService;-><init>(Ljava/util/concurrent/ExecutorService;)V
-Ljava/util/concurrent/Executors$DelegatedExecutorService;->e:Ljava/util/concurrent/ExecutorService;
-Ljava/util/concurrent/Executors$DelegatedScheduledExecutorService;
-Ljava/util/concurrent/Executors$DelegatedScheduledExecutorService;-><init>(Ljava/util/concurrent/ScheduledExecutorService;)V
-Ljava/util/concurrent/Executors$DelegatedScheduledExecutorService;->e:Ljava/util/concurrent/ScheduledExecutorService;
-Ljava/util/concurrent/Executors$FinalizableDelegatedExecutorService;
-Ljava/util/concurrent/Executors$FinalizableDelegatedExecutorService;-><init>(Ljava/util/concurrent/ExecutorService;)V
-Ljava/util/concurrent/Executors$PrivilegedCallable;
-Ljava/util/concurrent/Executors$PrivilegedCallable;-><init>(Ljava/util/concurrent/Callable;)V
-Ljava/util/concurrent/Executors$PrivilegedCallable;->acc:Ljava/security/AccessControlContext;
-Ljava/util/concurrent/Executors$PrivilegedCallable;->task:Ljava/util/concurrent/Callable;
-Ljava/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader;
-Ljava/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader;-><init>(Ljava/util/concurrent/Callable;)V
-Ljava/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader;->acc:Ljava/security/AccessControlContext;
-Ljava/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader;->ccl:Ljava/lang/ClassLoader;
-Ljava/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader;->task:Ljava/util/concurrent/Callable;
-Ljava/util/concurrent/Executors$PrivilegedThreadFactory;
-Ljava/util/concurrent/Executors$PrivilegedThreadFactory;-><init>()V
-Ljava/util/concurrent/Executors$PrivilegedThreadFactory;->acc:Ljava/security/AccessControlContext;
-Ljava/util/concurrent/Executors$PrivilegedThreadFactory;->ccl:Ljava/lang/ClassLoader;
-Ljava/util/concurrent/Executors$RunnableAdapter;
-Ljava/util/concurrent/Executors$RunnableAdapter;-><init>(Ljava/lang/Runnable;Ljava/lang/Object;)V
-Ljava/util/concurrent/Executors$RunnableAdapter;->result:Ljava/lang/Object;
-Ljava/util/concurrent/Executors;-><init>()V
-Ljava/util/concurrent/ForkJoinPool$AuxState;
-Ljava/util/concurrent/ForkJoinPool$AuxState;-><init>()V
-Ljava/util/concurrent/ForkJoinPool$AuxState;->indexSeed:J
-Ljava/util/concurrent/ForkJoinPool$AuxState;->stealCount:J
-Ljava/util/concurrent/ForkJoinPool$DefaultForkJoinWorkerThreadFactory;
-Ljava/util/concurrent/ForkJoinPool$DefaultForkJoinWorkerThreadFactory;-><init>()V
-Ljava/util/concurrent/ForkJoinPool$EmptyTask;
-Ljava/util/concurrent/ForkJoinPool$EmptyTask;-><init>()V
-Ljava/util/concurrent/ForkJoinPool$EmptyTask;->setRawResult(Ljava/lang/Void;)V
-Ljava/util/concurrent/ForkJoinPool$InnocuousForkJoinWorkerThreadFactory;
-Ljava/util/concurrent/ForkJoinPool$InnocuousForkJoinWorkerThreadFactory;-><init>()V
-Ljava/util/concurrent/ForkJoinPool$InnocuousForkJoinWorkerThreadFactory;->innocuousAcc:Ljava/security/AccessControlContext;
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;-><init>(Ljava/util/concurrent/ForkJoinPool;Ljava/util/concurrent/ForkJoinWorkerThread;)V
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->ABASE:I
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->array:[Ljava/util/concurrent/ForkJoinTask;
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->ASHIFT:I
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->base:I
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->cancelAll()V
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->config:I
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->currentJoin:Ljava/util/concurrent/ForkJoinTask;
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->currentSteal:Ljava/util/concurrent/ForkJoinTask;
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->getPoolIndex()I
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->growAndSharedPush(Ljava/util/concurrent/ForkJoinTask;)V
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->growArray()[Ljava/util/concurrent/ForkJoinTask;
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->hint:I
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->INITIAL_QUEUE_CAPACITY:I
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->isApparentlyUnblocked()Z
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->isEmpty()Z
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->localPollAndExec()V
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->localPopAndExec()V
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->MAXIMUM_QUEUE_CAPACITY:I
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->nextLocalTask()Ljava/util/concurrent/ForkJoinTask;
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->nsteals:I
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->owner:Ljava/util/concurrent/ForkJoinWorkerThread;
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->parker:Ljava/lang/Thread;
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->peek()Ljava/util/concurrent/ForkJoinTask;
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->poll()Ljava/util/concurrent/ForkJoinTask;
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->pollAndExecCC(Ljava/util/concurrent/CountedCompleter;)I
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->pollAt(I)Ljava/util/concurrent/ForkJoinTask;
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->pool:Ljava/util/concurrent/ForkJoinPool;
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->pop()Ljava/util/concurrent/ForkJoinTask;
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->popCC(Ljava/util/concurrent/CountedCompleter;I)Ljava/util/concurrent/CountedCompleter;
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->push(Ljava/util/concurrent/ForkJoinTask;)V
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->qlock:I
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->QLOCK:J
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->queueSize()I
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->runTask(Ljava/util/concurrent/ForkJoinTask;)V
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->scanState:I
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->sharedPush(Ljava/util/concurrent/ForkJoinTask;)I
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->stackPred:I
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->top:I
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->transferStealCount(Ljava/util/concurrent/ForkJoinPool;)V
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->tryRemoveAndExec(Ljava/util/concurrent/ForkJoinTask;)Z
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->trySharedUnpush(Ljava/util/concurrent/ForkJoinTask;)Z
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->tryUnpush(Ljava/util/concurrent/ForkJoinTask;)Z
-Ljava/util/concurrent/ForkJoinPool$WorkQueue;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/ForkJoinPool;-><init>(ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;ILjava/lang/String;)V
-Ljava/util/concurrent/ForkJoinPool;->ABASE:I
-Ljava/util/concurrent/ForkJoinPool;->AC_MASK:J
-Ljava/util/concurrent/ForkJoinPool;->AC_SHIFT:I
-Ljava/util/concurrent/ForkJoinPool;->AC_UNIT:J
-Ljava/util/concurrent/ForkJoinPool;->ADD_WORKER:J
-Ljava/util/concurrent/ForkJoinPool;->ASHIFT:I
-Ljava/util/concurrent/ForkJoinPool;->auxState:Ljava/util/concurrent/ForkJoinPool$AuxState;
-Ljava/util/concurrent/ForkJoinPool;->awaitJoin(Ljava/util/concurrent/ForkJoinPool$WorkQueue;Ljava/util/concurrent/ForkJoinTask;J)I
-Ljava/util/concurrent/ForkJoinPool;->awaitWork(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)I
-Ljava/util/concurrent/ForkJoinPool;->checkFactory(Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;)Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
-Ljava/util/concurrent/ForkJoinPool;->checkParallelism(I)I
-Ljava/util/concurrent/ForkJoinPool;->checkPermission()V
-Ljava/util/concurrent/ForkJoinPool;->common:Ljava/util/concurrent/ForkJoinPool;
-Ljava/util/concurrent/ForkJoinPool;->commonSubmitterQueue()Ljava/util/concurrent/ForkJoinPool$WorkQueue;
-Ljava/util/concurrent/ForkJoinPool;->COMMON_MAX_SPARES:I
-Ljava/util/concurrent/ForkJoinPool;->COMMON_PARALLELISM:I
-Ljava/util/concurrent/ForkJoinPool;->config:I
-Ljava/util/concurrent/ForkJoinPool;->createWorker(Z)Z
-Ljava/util/concurrent/ForkJoinPool;->CTL:J
-Ljava/util/concurrent/ForkJoinPool;->ctl:J
-Ljava/util/concurrent/ForkJoinPool;->DEFAULT_COMMON_MAX_SPARES:I
-Ljava/util/concurrent/ForkJoinPool;->deregisterWorker(Ljava/util/concurrent/ForkJoinWorkerThread;Ljava/lang/Throwable;)V
-Ljava/util/concurrent/ForkJoinPool;->EVENMASK:I
-Ljava/util/concurrent/ForkJoinPool;->externalHelpComplete(Ljava/util/concurrent/CountedCompleter;I)I
-Ljava/util/concurrent/ForkJoinPool;->externalPush(Ljava/util/concurrent/ForkJoinTask;)V
-Ljava/util/concurrent/ForkJoinPool;->externalSubmit(Ljava/util/concurrent/ForkJoinTask;)Ljava/util/concurrent/ForkJoinTask;
-Ljava/util/concurrent/ForkJoinPool;->factory:Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
-Ljava/util/concurrent/ForkJoinPool;->FIFO_QUEUE:I
-Ljava/util/concurrent/ForkJoinPool;->findNonEmptyStealQueue()Ljava/util/concurrent/ForkJoinPool$WorkQueue;
-Ljava/util/concurrent/ForkJoinPool;->getSurplusQueuedTaskCount()I
-Ljava/util/concurrent/ForkJoinPool;->helpComplete(Ljava/util/concurrent/ForkJoinPool$WorkQueue;Ljava/util/concurrent/CountedCompleter;I)I
-Ljava/util/concurrent/ForkJoinPool;->helpQuiescePool(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V
-Ljava/util/concurrent/ForkJoinPool;->helpStealer(Ljava/util/concurrent/ForkJoinPool$WorkQueue;Ljava/util/concurrent/ForkJoinTask;)V
-Ljava/util/concurrent/ForkJoinPool;->IDLE_TIMEOUT_MS:J
-Ljava/util/concurrent/ForkJoinPool;->inactivate(Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)V
-Ljava/util/concurrent/ForkJoinPool;->IS_OWNED:I
-Ljava/util/concurrent/ForkJoinPool;->LIFO_QUEUE:I
-Ljava/util/concurrent/ForkJoinPool;->makeCommonPool()Ljava/util/concurrent/ForkJoinPool;
-Ljava/util/concurrent/ForkJoinPool;->MAX_CAP:I
-Ljava/util/concurrent/ForkJoinPool;->MODE_MASK:I
-Ljava/util/concurrent/ForkJoinPool;->modifyThreadPermission:Ljava/lang/RuntimePermission;
-Ljava/util/concurrent/ForkJoinPool;->nextPoolId()I
-Ljava/util/concurrent/ForkJoinPool;->nextTaskFor(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)Ljava/util/concurrent/ForkJoinTask;
-Ljava/util/concurrent/ForkJoinPool;->POLL_LIMIT:I
-Ljava/util/concurrent/ForkJoinPool;->poolNumberSequence:I
-Ljava/util/concurrent/ForkJoinPool;->quiesceCommonPool()V
-Ljava/util/concurrent/ForkJoinPool;->registerWorker(Ljava/util/concurrent/ForkJoinWorkerThread;)Ljava/util/concurrent/ForkJoinPool$WorkQueue;
-Ljava/util/concurrent/ForkJoinPool;->runState:I
-Ljava/util/concurrent/ForkJoinPool;->RUNSTATE:J
-Ljava/util/concurrent/ForkJoinPool;->runWorker(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V
-Ljava/util/concurrent/ForkJoinPool;->scan(Ljava/util/concurrent/ForkJoinPool$WorkQueue;III)I
-Ljava/util/concurrent/ForkJoinPool;->SEED_INCREMENT:I
-Ljava/util/concurrent/ForkJoinPool;->SHUTDOWN:I
-Ljava/util/concurrent/ForkJoinPool;->signalWork()V
-Ljava/util/concurrent/ForkJoinPool;->SMASK:I
-Ljava/util/concurrent/ForkJoinPool;->SPARE_WORKER:I
-Ljava/util/concurrent/ForkJoinPool;->SP_MASK:J
-Ljava/util/concurrent/ForkJoinPool;->SQMASK:I
-Ljava/util/concurrent/ForkJoinPool;->SS_SEQ:I
-Ljava/util/concurrent/ForkJoinPool;->STARTED:I
-Ljava/util/concurrent/ForkJoinPool;->STOP:I
-Ljava/util/concurrent/ForkJoinPool;->TC_MASK:J
-Ljava/util/concurrent/ForkJoinPool;->TC_SHIFT:I
-Ljava/util/concurrent/ForkJoinPool;->TC_UNIT:J
-Ljava/util/concurrent/ForkJoinPool;->TERMINATED:I
-Ljava/util/concurrent/ForkJoinPool;->timedAwaitWork(Ljava/util/concurrent/ForkJoinPool$WorkQueue;J)I
-Ljava/util/concurrent/ForkJoinPool;->TIMEOUT_SLOP_MS:J
-Ljava/util/concurrent/ForkJoinPool;->tryAddWorker(J)V
-Ljava/util/concurrent/ForkJoinPool;->tryCompensate(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)Z
-Ljava/util/concurrent/ForkJoinPool;->tryCreateExternalQueue(I)V
-Ljava/util/concurrent/ForkJoinPool;->tryDropSpare(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)Z
-Ljava/util/concurrent/ForkJoinPool;->tryExternalUnpush(Ljava/util/concurrent/ForkJoinTask;)Z
-Ljava/util/concurrent/ForkJoinPool;->tryInitialize(Z)V
-Ljava/util/concurrent/ForkJoinPool;->tryReactivate(Ljava/util/concurrent/ForkJoinPool$WorkQueue;[Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)V
-Ljava/util/concurrent/ForkJoinPool;->tryRelease(JLjava/util/concurrent/ForkJoinPool$WorkQueue;J)Z
-Ljava/util/concurrent/ForkJoinPool;->tryTerminate(ZZ)I
-Ljava/util/concurrent/ForkJoinPool;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/ForkJoinPool;->UC_MASK:J
-Ljava/util/concurrent/ForkJoinPool;->ueh:Ljava/lang/Thread$UncaughtExceptionHandler;
-Ljava/util/concurrent/ForkJoinPool;->UNREGISTERED:I
-Ljava/util/concurrent/ForkJoinPool;->UNSIGNALLED:I
-Ljava/util/concurrent/ForkJoinPool;->workerNamePrefix:Ljava/lang/String;
-Ljava/util/concurrent/ForkJoinPool;->workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
-Ljava/util/concurrent/ForkJoinTask$AdaptedCallable;
-Ljava/util/concurrent/ForkJoinTask$AdaptedCallable;-><init>(Ljava/util/concurrent/Callable;)V
-Ljava/util/concurrent/ForkJoinTask$AdaptedCallable;->callable:Ljava/util/concurrent/Callable;
-Ljava/util/concurrent/ForkJoinTask$AdaptedCallable;->result:Ljava/lang/Object;
-Ljava/util/concurrent/ForkJoinTask$AdaptedCallable;->setRawResult(Ljava/lang/Object;)V
-Ljava/util/concurrent/ForkJoinTask$AdaptedRunnable;
-Ljava/util/concurrent/ForkJoinTask$AdaptedRunnable;-><init>(Ljava/lang/Runnable;Ljava/lang/Object;)V
-Ljava/util/concurrent/ForkJoinTask$AdaptedRunnable;->result:Ljava/lang/Object;
-Ljava/util/concurrent/ForkJoinTask$AdaptedRunnable;->runnable:Ljava/lang/Runnable;
-Ljava/util/concurrent/ForkJoinTask$AdaptedRunnable;->setRawResult(Ljava/lang/Object;)V
-Ljava/util/concurrent/ForkJoinTask$AdaptedRunnableAction;
-Ljava/util/concurrent/ForkJoinTask$AdaptedRunnableAction;-><init>(Ljava/lang/Runnable;)V
-Ljava/util/concurrent/ForkJoinTask$AdaptedRunnableAction;->runnable:Ljava/lang/Runnable;
-Ljava/util/concurrent/ForkJoinTask$AdaptedRunnableAction;->setRawResult(Ljava/lang/Void;)V
-Ljava/util/concurrent/ForkJoinTask$ExceptionNode;
-Ljava/util/concurrent/ForkJoinTask$ExceptionNode;-><init>(Ljava/util/concurrent/ForkJoinTask;Ljava/lang/Throwable;Ljava/util/concurrent/ForkJoinTask$ExceptionNode;Ljava/lang/ref/ReferenceQueue;)V
-Ljava/util/concurrent/ForkJoinTask$ExceptionNode;->ex:Ljava/lang/Throwable;
-Ljava/util/concurrent/ForkJoinTask$ExceptionNode;->hashCode:I
-Ljava/util/concurrent/ForkJoinTask$ExceptionNode;->next:Ljava/util/concurrent/ForkJoinTask$ExceptionNode;
-Ljava/util/concurrent/ForkJoinTask$ExceptionNode;->thrower:J
-Ljava/util/concurrent/ForkJoinTask$RunnableExecuteAction;
-Ljava/util/concurrent/ForkJoinTask$RunnableExecuteAction;-><init>(Ljava/lang/Runnable;)V
-Ljava/util/concurrent/ForkJoinTask$RunnableExecuteAction;->internalPropagateException(Ljava/lang/Throwable;)V
-Ljava/util/concurrent/ForkJoinTask$RunnableExecuteAction;->runnable:Ljava/lang/Runnable;
-Ljava/util/concurrent/ForkJoinTask$RunnableExecuteAction;->setRawResult(Ljava/lang/Void;)V
-Ljava/util/concurrent/ForkJoinTask;->cancelIgnoringExceptions(Ljava/util/concurrent/ForkJoinTask;)V
-Ljava/util/concurrent/ForkJoinTask;->CANCELLED:I
-Ljava/util/concurrent/ForkJoinTask;->clearExceptionalCompletion()V
-Ljava/util/concurrent/ForkJoinTask;->doExec()I
-Ljava/util/concurrent/ForkJoinTask;->doInvoke()I
-Ljava/util/concurrent/ForkJoinTask;->doJoin()I
-Ljava/util/concurrent/ForkJoinTask;->DONE_MASK:I
-Ljava/util/concurrent/ForkJoinTask;->EXCEPTIONAL:I
-Ljava/util/concurrent/ForkJoinTask;->exceptionTable:[Ljava/util/concurrent/ForkJoinTask$ExceptionNode;
-Ljava/util/concurrent/ForkJoinTask;->exceptionTableLock:Ljava/util/concurrent/locks/ReentrantLock;
-Ljava/util/concurrent/ForkJoinTask;->exceptionTableRefQueue:Ljava/lang/ref/ReferenceQueue;
-Ljava/util/concurrent/ForkJoinTask;->EXCEPTION_MAP_CAPACITY:I
-Ljava/util/concurrent/ForkJoinTask;->expungeStaleExceptions()V
-Ljava/util/concurrent/ForkJoinTask;->externalAwaitDone()I
-Ljava/util/concurrent/ForkJoinTask;->externalInterruptibleAwaitDone()I
-Ljava/util/concurrent/ForkJoinTask;->getThrowableException()Ljava/lang/Throwable;
-Ljava/util/concurrent/ForkJoinTask;->helpExpungeStaleExceptions()V
-Ljava/util/concurrent/ForkJoinTask;->internalPropagateException(Ljava/lang/Throwable;)V
-Ljava/util/concurrent/ForkJoinTask;->internalWait(J)V
-Ljava/util/concurrent/ForkJoinTask;->NORMAL:I
-Ljava/util/concurrent/ForkJoinTask;->pollSubmission()Ljava/util/concurrent/ForkJoinTask;
-Ljava/util/concurrent/ForkJoinTask;->recordExceptionalCompletion(Ljava/lang/Throwable;)I
-Ljava/util/concurrent/ForkJoinTask;->reportException(I)V
-Ljava/util/concurrent/ForkJoinTask;->rethrow(Ljava/lang/Throwable;)V
-Ljava/util/concurrent/ForkJoinTask;->setCompletion(I)I
-Ljava/util/concurrent/ForkJoinTask;->setExceptionalCompletion(Ljava/lang/Throwable;)I
-Ljava/util/concurrent/ForkJoinTask;->SIGNAL:I
-Ljava/util/concurrent/ForkJoinTask;->SMASK:I
-Ljava/util/concurrent/ForkJoinTask;->status:I
-Ljava/util/concurrent/ForkJoinTask;->STATUS:J
-Ljava/util/concurrent/ForkJoinTask;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/ForkJoinTask;->uncheckedThrow(Ljava/lang/Throwable;)V
-Ljava/util/concurrent/ForkJoinWorkerThread$InnocuousForkJoinWorkerThread;
-Ljava/util/concurrent/ForkJoinWorkerThread$InnocuousForkJoinWorkerThread;-><init>(Ljava/util/concurrent/ForkJoinPool;)V
-Ljava/util/concurrent/ForkJoinWorkerThread$InnocuousForkJoinWorkerThread;->afterTopLevelExec()V
-Ljava/util/concurrent/ForkJoinWorkerThread$InnocuousForkJoinWorkerThread;->createThreadGroup()Ljava/lang/ThreadGroup;
-Ljava/util/concurrent/ForkJoinWorkerThread$InnocuousForkJoinWorkerThread;->innocuousThreadGroup:Ljava/lang/ThreadGroup;
-Ljava/util/concurrent/ForkJoinWorkerThread$InnocuousForkJoinWorkerThread;->INNOCUOUS_ACC:Ljava/security/AccessControlContext;
-Ljava/util/concurrent/ForkJoinWorkerThread;-><init>(Ljava/util/concurrent/ForkJoinPool;Ljava/lang/ThreadGroup;Ljava/security/AccessControlContext;)V
-Ljava/util/concurrent/ForkJoinWorkerThread;->afterTopLevelExec()V
-Ljava/util/concurrent/ForkJoinWorkerThread;->eraseThreadLocals()V
-Ljava/util/concurrent/ForkJoinWorkerThread;->INHERITABLETHREADLOCALS:J
-Ljava/util/concurrent/ForkJoinWorkerThread;->INHERITEDACCESSCONTROLCONTEXT:J
-Ljava/util/concurrent/ForkJoinWorkerThread;->pool:Ljava/util/concurrent/ForkJoinPool;
-Ljava/util/concurrent/ForkJoinWorkerThread;->THREADLOCALS:J
-Ljava/util/concurrent/ForkJoinWorkerThread;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/ForkJoinWorkerThread;->workQueue:Ljava/util/concurrent/ForkJoinPool$WorkQueue;
-Ljava/util/concurrent/FutureTask$WaitNode;
-Ljava/util/concurrent/FutureTask$WaitNode;-><init>()V
-Ljava/util/concurrent/FutureTask$WaitNode;->next:Ljava/util/concurrent/FutureTask$WaitNode;
-Ljava/util/concurrent/FutureTask$WaitNode;->thread:Ljava/lang/Thread;
-Ljava/util/concurrent/FutureTask;->awaitDone(ZJ)I
-Ljava/util/concurrent/FutureTask;->CANCELLED:I
-Ljava/util/concurrent/FutureTask;->COMPLETING:I
-Ljava/util/concurrent/FutureTask;->finishCompletion()V
-Ljava/util/concurrent/FutureTask;->handlePossibleCancellationInterrupt(I)V
-Ljava/util/concurrent/FutureTask;->INTERRUPTED:I
-Ljava/util/concurrent/FutureTask;->INTERRUPTING:I
-Ljava/util/concurrent/FutureTask;->NEW:I
-Ljava/util/concurrent/FutureTask;->NORMAL:I
-Ljava/util/concurrent/FutureTask;->removeWaiter(Ljava/util/concurrent/FutureTask$WaitNode;)V
-Ljava/util/concurrent/FutureTask;->report(I)Ljava/lang/Object;
-Ljava/util/concurrent/FutureTask;->RUNNER:J
-Ljava/util/concurrent/FutureTask;->runner:Ljava/lang/Thread;
-Ljava/util/concurrent/FutureTask;->STATE:J
-Ljava/util/concurrent/FutureTask;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/FutureTask;->WAITERS:J
-Ljava/util/concurrent/FutureTask;->waiters:Ljava/util/concurrent/FutureTask$WaitNode;
-Ljava/util/concurrent/LinkedBlockingDeque$AbstractItr;
-Ljava/util/concurrent/LinkedBlockingDeque$AbstractItr;-><init>()V
-Ljava/util/concurrent/LinkedBlockingDeque$AbstractItr;->advance()V
-Ljava/util/concurrent/LinkedBlockingDeque$AbstractItr;->firstNode()Ljava/util/concurrent/LinkedBlockingDeque$Node;
-Ljava/util/concurrent/LinkedBlockingDeque$AbstractItr;->lastRet:Ljava/util/concurrent/LinkedBlockingDeque$Node;
-Ljava/util/concurrent/LinkedBlockingDeque$AbstractItr;->next:Ljava/util/concurrent/LinkedBlockingDeque$Node;
-Ljava/util/concurrent/LinkedBlockingDeque$AbstractItr;->nextItem:Ljava/lang/Object;
-Ljava/util/concurrent/LinkedBlockingDeque$AbstractItr;->nextNode(Ljava/util/concurrent/LinkedBlockingDeque$Node;)Ljava/util/concurrent/LinkedBlockingDeque$Node;
-Ljava/util/concurrent/LinkedBlockingDeque$AbstractItr;->succ(Ljava/util/concurrent/LinkedBlockingDeque$Node;)Ljava/util/concurrent/LinkedBlockingDeque$Node;
-Ljava/util/concurrent/LinkedBlockingDeque$DescendingItr;
-Ljava/util/concurrent/LinkedBlockingDeque$DescendingItr;-><init>()V
-Ljava/util/concurrent/LinkedBlockingDeque$DescendingItr;->firstNode()Ljava/util/concurrent/LinkedBlockingDeque$Node;
-Ljava/util/concurrent/LinkedBlockingDeque$DescendingItr;->nextNode(Ljava/util/concurrent/LinkedBlockingDeque$Node;)Ljava/util/concurrent/LinkedBlockingDeque$Node;
-Ljava/util/concurrent/LinkedBlockingDeque$Itr;
-Ljava/util/concurrent/LinkedBlockingDeque$Itr;-><init>()V
-Ljava/util/concurrent/LinkedBlockingDeque$Itr;->firstNode()Ljava/util/concurrent/LinkedBlockingDeque$Node;
-Ljava/util/concurrent/LinkedBlockingDeque$Itr;->nextNode(Ljava/util/concurrent/LinkedBlockingDeque$Node;)Ljava/util/concurrent/LinkedBlockingDeque$Node;
-Ljava/util/concurrent/LinkedBlockingDeque$LBDSpliterator;
-Ljava/util/concurrent/LinkedBlockingDeque$LBDSpliterator;-><init>(Ljava/util/concurrent/LinkedBlockingDeque;)V
-Ljava/util/concurrent/LinkedBlockingDeque$LBDSpliterator;->batch:I
-Ljava/util/concurrent/LinkedBlockingDeque$LBDSpliterator;->current:Ljava/util/concurrent/LinkedBlockingDeque$Node;
-Ljava/util/concurrent/LinkedBlockingDeque$LBDSpliterator;->est:J
-Ljava/util/concurrent/LinkedBlockingDeque$LBDSpliterator;->exhausted:Z
-Ljava/util/concurrent/LinkedBlockingDeque$LBDSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/LinkedBlockingDeque$LBDSpliterator;->MAX_BATCH:I
-Ljava/util/concurrent/LinkedBlockingDeque$LBDSpliterator;->queue:Ljava/util/concurrent/LinkedBlockingDeque;
-Ljava/util/concurrent/LinkedBlockingDeque$LBDSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/concurrent/LinkedBlockingDeque$Node;
-Ljava/util/concurrent/LinkedBlockingDeque$Node;-><init>(Ljava/lang/Object;)V
-Ljava/util/concurrent/LinkedBlockingDeque$Node;->item:Ljava/lang/Object;
-Ljava/util/concurrent/LinkedBlockingDeque$Node;->next:Ljava/util/concurrent/LinkedBlockingDeque$Node;
-Ljava/util/concurrent/LinkedBlockingDeque$Node;->prev:Ljava/util/concurrent/LinkedBlockingDeque$Node;
-Ljava/util/concurrent/LinkedBlockingDeque;->capacity:I
-Ljava/util/concurrent/LinkedBlockingDeque;->count:I
-Ljava/util/concurrent/LinkedBlockingDeque;->last:Ljava/util/concurrent/LinkedBlockingDeque$Node;
-Ljava/util/concurrent/LinkedBlockingDeque;->linkFirst(Ljava/util/concurrent/LinkedBlockingDeque$Node;)Z
-Ljava/util/concurrent/LinkedBlockingDeque;->linkLast(Ljava/util/concurrent/LinkedBlockingDeque$Node;)Z
-Ljava/util/concurrent/LinkedBlockingDeque;->notEmpty:Ljava/util/concurrent/locks/Condition;
-Ljava/util/concurrent/LinkedBlockingDeque;->notFull:Ljava/util/concurrent/locks/Condition;
-Ljava/util/concurrent/LinkedBlockingDeque;->unlink(Ljava/util/concurrent/LinkedBlockingDeque$Node;)V
-Ljava/util/concurrent/LinkedBlockingDeque;->unlinkFirst()Ljava/lang/Object;
-Ljava/util/concurrent/LinkedBlockingDeque;->unlinkLast()Ljava/lang/Object;
-Ljava/util/concurrent/LinkedBlockingQueue$Itr;
-Ljava/util/concurrent/LinkedBlockingQueue$Itr;-><init>()V
-Ljava/util/concurrent/LinkedBlockingQueue$Itr;->current:Ljava/util/concurrent/LinkedBlockingQueue$Node;
-Ljava/util/concurrent/LinkedBlockingQueue$Itr;->currentElement:Ljava/lang/Object;
-Ljava/util/concurrent/LinkedBlockingQueue$Itr;->lastRet:Ljava/util/concurrent/LinkedBlockingQueue$Node;
-Ljava/util/concurrent/LinkedBlockingQueue$LBQSpliterator;
-Ljava/util/concurrent/LinkedBlockingQueue$LBQSpliterator;-><init>(Ljava/util/concurrent/LinkedBlockingQueue;)V
-Ljava/util/concurrent/LinkedBlockingQueue$LBQSpliterator;->batch:I
-Ljava/util/concurrent/LinkedBlockingQueue$LBQSpliterator;->current:Ljava/util/concurrent/LinkedBlockingQueue$Node;
-Ljava/util/concurrent/LinkedBlockingQueue$LBQSpliterator;->est:J
-Ljava/util/concurrent/LinkedBlockingQueue$LBQSpliterator;->exhausted:Z
-Ljava/util/concurrent/LinkedBlockingQueue$LBQSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/LinkedBlockingQueue$LBQSpliterator;->MAX_BATCH:I
-Ljava/util/concurrent/LinkedBlockingQueue$LBQSpliterator;->queue:Ljava/util/concurrent/LinkedBlockingQueue;
-Ljava/util/concurrent/LinkedBlockingQueue$LBQSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/concurrent/LinkedBlockingQueue$Node;
-Ljava/util/concurrent/LinkedBlockingQueue$Node;-><init>(Ljava/lang/Object;)V
-Ljava/util/concurrent/LinkedBlockingQueue$Node;->item:Ljava/lang/Object;
-Ljava/util/concurrent/LinkedBlockingQueue$Node;->next:Ljava/util/concurrent/LinkedBlockingQueue$Node;
-Ljava/util/concurrent/LinkedBlockingQueue;->count:Ljava/util/concurrent/atomic/AtomicInteger;
-Ljava/util/concurrent/LinkedBlockingQueue;->dequeue()Ljava/lang/Object;
-Ljava/util/concurrent/LinkedBlockingQueue;->enqueue(Ljava/util/concurrent/LinkedBlockingQueue$Node;)V
-Ljava/util/concurrent/LinkedBlockingQueue;->fullyLock()V
-Ljava/util/concurrent/LinkedBlockingQueue;->fullyUnlock()V
-Ljava/util/concurrent/LinkedBlockingQueue;->last:Ljava/util/concurrent/LinkedBlockingQueue$Node;
-Ljava/util/concurrent/LinkedBlockingQueue;->notEmpty:Ljava/util/concurrent/locks/Condition;
-Ljava/util/concurrent/LinkedBlockingQueue;->notFull:Ljava/util/concurrent/locks/Condition;
-Ljava/util/concurrent/LinkedBlockingQueue;->signalNotEmpty()V
-Ljava/util/concurrent/LinkedBlockingQueue;->signalNotFull()V
-Ljava/util/concurrent/LinkedBlockingQueue;->unlink(Ljava/util/concurrent/LinkedBlockingQueue$Node;Ljava/util/concurrent/LinkedBlockingQueue$Node;)V
-Ljava/util/concurrent/LinkedTransferQueue$Itr;
-Ljava/util/concurrent/LinkedTransferQueue$Itr;-><init>()V
-Ljava/util/concurrent/LinkedTransferQueue$Itr;->advance(Ljava/util/concurrent/LinkedTransferQueue$Node;)V
-Ljava/util/concurrent/LinkedTransferQueue$Itr;->lastPred:Ljava/util/concurrent/LinkedTransferQueue$Node;
-Ljava/util/concurrent/LinkedTransferQueue$Itr;->lastRet:Ljava/util/concurrent/LinkedTransferQueue$Node;
-Ljava/util/concurrent/LinkedTransferQueue$Itr;->nextItem:Ljava/lang/Object;
-Ljava/util/concurrent/LinkedTransferQueue$Itr;->nextNode:Ljava/util/concurrent/LinkedTransferQueue$Node;
-Ljava/util/concurrent/LinkedTransferQueue$LTQSpliterator;
-Ljava/util/concurrent/LinkedTransferQueue$LTQSpliterator;-><init>()V
-Ljava/util/concurrent/LinkedTransferQueue$LTQSpliterator;->batch:I
-Ljava/util/concurrent/LinkedTransferQueue$LTQSpliterator;->current:Ljava/util/concurrent/LinkedTransferQueue$Node;
-Ljava/util/concurrent/LinkedTransferQueue$LTQSpliterator;->exhausted:Z
-Ljava/util/concurrent/LinkedTransferQueue$LTQSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/LinkedTransferQueue$LTQSpliterator;->MAX_BATCH:I
-Ljava/util/concurrent/LinkedTransferQueue$LTQSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/concurrent/LinkedTransferQueue$Node;
-Ljava/util/concurrent/LinkedTransferQueue$Node;-><init>(Ljava/lang/Object;Z)V
-Ljava/util/concurrent/LinkedTransferQueue$Node;->cannotPrecede(Z)Z
-Ljava/util/concurrent/LinkedTransferQueue$Node;->casItem(Ljava/lang/Object;Ljava/lang/Object;)Z
-Ljava/util/concurrent/LinkedTransferQueue$Node;->casNext(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
-Ljava/util/concurrent/LinkedTransferQueue$Node;->forgetContents()V
-Ljava/util/concurrent/LinkedTransferQueue$Node;->forgetNext()V
-Ljava/util/concurrent/LinkedTransferQueue$Node;->isData:Z
-Ljava/util/concurrent/LinkedTransferQueue$Node;->isMatched()Z
-Ljava/util/concurrent/LinkedTransferQueue$Node;->isUnmatchedRequest()Z
-Ljava/util/concurrent/LinkedTransferQueue$Node;->ITEM:J
-Ljava/util/concurrent/LinkedTransferQueue$Node;->item:Ljava/lang/Object;
-Ljava/util/concurrent/LinkedTransferQueue$Node;->NEXT:J
-Ljava/util/concurrent/LinkedTransferQueue$Node;->next:Ljava/util/concurrent/LinkedTransferQueue$Node;
-Ljava/util/concurrent/LinkedTransferQueue$Node;->tryMatchData()Z
-Ljava/util/concurrent/LinkedTransferQueue$Node;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/LinkedTransferQueue$Node;->WAITER:J
-Ljava/util/concurrent/LinkedTransferQueue$Node;->waiter:Ljava/lang/Thread;
-Ljava/util/concurrent/LinkedTransferQueue;->ASYNC:I
-Ljava/util/concurrent/LinkedTransferQueue;->awaitMatch(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/lang/Object;ZJ)Ljava/lang/Object;
-Ljava/util/concurrent/LinkedTransferQueue;->casHead(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
-Ljava/util/concurrent/LinkedTransferQueue;->casSweepVotes(II)Z
-Ljava/util/concurrent/LinkedTransferQueue;->casTail(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
-Ljava/util/concurrent/LinkedTransferQueue;->CHAINED_SPINS:I
-Ljava/util/concurrent/LinkedTransferQueue;->countOfMode(Z)I
-Ljava/util/concurrent/LinkedTransferQueue;->findAndRemove(Ljava/lang/Object;)Z
-Ljava/util/concurrent/LinkedTransferQueue;->firstDataNode()Ljava/util/concurrent/LinkedTransferQueue$Node;
-Ljava/util/concurrent/LinkedTransferQueue;->FRONT_SPINS:I
-Ljava/util/concurrent/LinkedTransferQueue;->HEAD:J
-Ljava/util/concurrent/LinkedTransferQueue;->head:Ljava/util/concurrent/LinkedTransferQueue$Node;
-Ljava/util/concurrent/LinkedTransferQueue;->MP:Z
-Ljava/util/concurrent/LinkedTransferQueue;->NOW:I
-Ljava/util/concurrent/LinkedTransferQueue;->spinsFor(Ljava/util/concurrent/LinkedTransferQueue$Node;Z)I
-Ljava/util/concurrent/LinkedTransferQueue;->succ(Ljava/util/concurrent/LinkedTransferQueue$Node;)Ljava/util/concurrent/LinkedTransferQueue$Node;
-Ljava/util/concurrent/LinkedTransferQueue;->sweep()V
-Ljava/util/concurrent/LinkedTransferQueue;->sweepVotes:I
-Ljava/util/concurrent/LinkedTransferQueue;->SWEEPVOTES:J
-Ljava/util/concurrent/LinkedTransferQueue;->SWEEP_THRESHOLD:I
-Ljava/util/concurrent/LinkedTransferQueue;->SYNC:I
-Ljava/util/concurrent/LinkedTransferQueue;->TAIL:J
-Ljava/util/concurrent/LinkedTransferQueue;->tail:Ljava/util/concurrent/LinkedTransferQueue$Node;
-Ljava/util/concurrent/LinkedTransferQueue;->TIMED:I
-Ljava/util/concurrent/LinkedTransferQueue;->toArrayInternal([Ljava/lang/Object;)[Ljava/lang/Object;
-Ljava/util/concurrent/LinkedTransferQueue;->tryAppend(Ljava/util/concurrent/LinkedTransferQueue$Node;Z)Ljava/util/concurrent/LinkedTransferQueue$Node;
-Ljava/util/concurrent/LinkedTransferQueue;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/LinkedTransferQueue;->unsplice(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)V
-Ljava/util/concurrent/LinkedTransferQueue;->xfer(Ljava/lang/Object;ZIJ)Ljava/lang/Object;
-Ljava/util/concurrent/locks/AbstractOwnableSynchronizer;->exclusiveOwnerThread:Ljava/lang/Thread;
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject;->addConditionWaiter()Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject;->checkInterruptWhileWaiting(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)I
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject;->doSignal(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)V
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject;->doSignalAll(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)V
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject;->firstWaiter:Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject;->isOwnedBy(Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;)Z
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject;->lastWaiter:Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject;->REINTERRUPT:I
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject;->reportInterruptAfterWait(I)V
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject;->THROW_IE:I
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject;->unlinkCancelledWaiters()V
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->acquireQueued(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;J)Z
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->addWaiter(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->apparentlyFirstQueuedIsExclusive()Z
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->cancelAcquire(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)V
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->compareAndSetTail(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->doAcquireInterruptibly(J)V
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->doAcquireNanos(JJ)Z
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->doAcquireShared(J)V
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->doAcquireSharedInterruptibly(J)V
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->doAcquireSharedNanos(JJ)Z
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->doReleaseShared()V
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->enq(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->findNodeFromTail(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->fullGetFirstQueuedThread()Ljava/lang/Thread;
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->fullyRelease(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)J
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->HEAD:J
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->head:Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->initializeSyncQueue()V
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->isOnSyncQueue(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->parkAndCheckInterrupt()Z
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->selfInterrupt()V
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->setHead(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)V
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->setHeadAndPropagate(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;J)V
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->shouldParkAfterFailedAcquire(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->SPIN_FOR_TIMEOUT_THRESHOLD:J
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->STATE:J
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->state:J
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->TAIL:J
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->tail:Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->transferAfterCancelledWait(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->transferForSignal(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->unparkSuccessor(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)V
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->addConditionWaiter()Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->checkInterruptWhileWaiting(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)I
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->doSignal(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)V
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->doSignalAll(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)V
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->firstWaiter:Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->isOwnedBy(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;)Z
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->lastWaiter:Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->REINTERRUPT:I
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->reportInterruptAfterWait(I)V
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->THROW_IE:I
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->unlinkCancelledWaiters()V
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;-><init>()V
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;-><init>(I)V
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;-><init>(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)V
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->CANCELLED:I
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->compareAndSetNext(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->compareAndSetWaitStatus(II)Z
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->CONDITION:I
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->EXCLUSIVE:Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->isShared()Z
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->NEXT:J
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->next:Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->nextWaiter:Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->predecessor()Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->PREV:J
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->prev:Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->PROPAGATE:I
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->SHARED:Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->SIGNAL:I
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->THREAD:J
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->thread:Ljava/lang/Thread;
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->waitStatus:I
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->WAITSTATUS:J
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->acquireQueued(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;I)Z
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->addWaiter(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->apparentlyFirstQueuedIsExclusive()Z
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->cancelAcquire(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)V
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->compareAndSetTail(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->doAcquireInterruptibly(I)V
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->doAcquireNanos(IJ)Z
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->doAcquireShared(I)V
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->doAcquireSharedInterruptibly(I)V
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->doAcquireSharedNanos(IJ)Z
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->doReleaseShared()V
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->enq(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->findNodeFromTail(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->fullGetFirstQueuedThread()Ljava/lang/Thread;
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->fullyRelease(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)I
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->HEAD:J
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->head:Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->initializeSyncQueue()V
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->isOnSyncQueue(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->parkAndCheckInterrupt()Z
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->selfInterrupt()V
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->setHead(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)V
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->setHeadAndPropagate(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;I)V
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->shouldParkAfterFailedAcquire(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->SPIN_FOR_TIMEOUT_THRESHOLD:J
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->state:I
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->STATE:J
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->TAIL:J
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->tail:Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->transferAfterCancelledWait(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->transferForSignal(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->unparkSuccessor(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)V
-Ljava/util/concurrent/locks/LockSupport;-><init>()V
-Ljava/util/concurrent/locks/LockSupport;->nextSecondarySeed()I
-Ljava/util/concurrent/locks/LockSupport;->PARKBLOCKER:J
-Ljava/util/concurrent/locks/LockSupport;->SECONDARY:J
-Ljava/util/concurrent/locks/LockSupport;->setBlocker(Ljava/lang/Thread;Ljava/lang/Object;)V
-Ljava/util/concurrent/locks/LockSupport;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/locks/ReentrantLock$FairSync;
-Ljava/util/concurrent/locks/ReentrantLock$FairSync;-><init>()V
-Ljava/util/concurrent/locks/ReentrantLock$FairSync;->lock()V
-Ljava/util/concurrent/locks/ReentrantLock$NonfairSync;
-Ljava/util/concurrent/locks/ReentrantLock$NonfairSync;-><init>()V
-Ljava/util/concurrent/locks/ReentrantLock$NonfairSync;->lock()V
-Ljava/util/concurrent/locks/ReentrantLock$Sync;
-Ljava/util/concurrent/locks/ReentrantLock$Sync;-><init>()V
-Ljava/util/concurrent/locks/ReentrantLock$Sync;->getHoldCount()I
-Ljava/util/concurrent/locks/ReentrantLock$Sync;->getOwner()Ljava/lang/Thread;
-Ljava/util/concurrent/locks/ReentrantLock$Sync;->isLocked()Z
-Ljava/util/concurrent/locks/ReentrantLock$Sync;->lock()V
-Ljava/util/concurrent/locks/ReentrantLock$Sync;->newCondition()Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;
-Ljava/util/concurrent/locks/ReentrantLock$Sync;->nonfairTryAcquire(I)Z
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$FairSync;
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$FairSync;-><init>()V
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$FairSync;->readerShouldBlock()Z
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$FairSync;->writerShouldBlock()Z
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync;
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync;-><init>()V
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync;->readerShouldBlock()Z
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync;->writerShouldBlock()Z
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;->sync:Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter;
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter;-><init>()V
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter;->count:I
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter;->tid:J
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter;
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter;-><init>()V
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;-><init>()V
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->cachedHoldCounter:Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter;
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->exclusiveCount(I)I
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->EXCLUSIVE_MASK:I
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->firstReader:Ljava/lang/Thread;
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->firstReaderHoldCount:I
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->fullTryAcquireShared(Ljava/lang/Thread;)I
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->getCount()I
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->getOwner()Ljava/lang/Thread;
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->getReadHoldCount()I
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->getReadLockCount()I
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->getWriteHoldCount()I
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->isWriteLocked()Z
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->MAX_COUNT:I
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->newCondition()Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->readerShouldBlock()Z
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->readHolds:Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter;
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->sharedCount(I)I
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->SHARED_SHIFT:I
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->SHARED_UNIT:I
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->tryReadLock()Z
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->tryWriteLock()Z
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->unmatchedUnlockException()Ljava/lang/IllegalMonitorStateException;
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->writerShouldBlock()Z
-Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->sync:Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;
-Ljava/util/concurrent/locks/ReentrantReadWriteLock;->getThreadId(Ljava/lang/Thread;)J
-Ljava/util/concurrent/locks/ReentrantReadWriteLock;->readerLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
-Ljava/util/concurrent/locks/ReentrantReadWriteLock;->sync:Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;
-Ljava/util/concurrent/locks/ReentrantReadWriteLock;->TID:J
-Ljava/util/concurrent/locks/ReentrantReadWriteLock;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writerLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
-Ljava/util/concurrent/locks/StampedLock$ReadLockView;
-Ljava/util/concurrent/locks/StampedLock$ReadLockView;-><init>()V
-Ljava/util/concurrent/locks/StampedLock$ReadWriteLockView;
-Ljava/util/concurrent/locks/StampedLock$ReadWriteLockView;-><init>()V
-Ljava/util/concurrent/locks/StampedLock$WNode;
-Ljava/util/concurrent/locks/StampedLock$WNode;-><init>(ILjava/util/concurrent/locks/StampedLock$WNode;)V
-Ljava/util/concurrent/locks/StampedLock$WNode;->cowait:Ljava/util/concurrent/locks/StampedLock$WNode;
-Ljava/util/concurrent/locks/StampedLock$WNode;->mode:I
-Ljava/util/concurrent/locks/StampedLock$WNode;->next:Ljava/util/concurrent/locks/StampedLock$WNode;
-Ljava/util/concurrent/locks/StampedLock$WNode;->prev:Ljava/util/concurrent/locks/StampedLock$WNode;
-Ljava/util/concurrent/locks/StampedLock$WNode;->status:I
-Ljava/util/concurrent/locks/StampedLock$WNode;->thread:Ljava/lang/Thread;
-Ljava/util/concurrent/locks/StampedLock$WriteLockView;
-Ljava/util/concurrent/locks/StampedLock$WriteLockView;-><init>()V
-Ljava/util/concurrent/locks/StampedLock;->ABITS:J
-Ljava/util/concurrent/locks/StampedLock;->acquireRead(ZJ)J
-Ljava/util/concurrent/locks/StampedLock;->acquireWrite(ZJ)J
-Ljava/util/concurrent/locks/StampedLock;->CANCELLED:I
-Ljava/util/concurrent/locks/StampedLock;->cancelWaiter(Ljava/util/concurrent/locks/StampedLock$WNode;Ljava/util/concurrent/locks/StampedLock$WNode;Z)J
-Ljava/util/concurrent/locks/StampedLock;->getReadLockCount(J)I
-Ljava/util/concurrent/locks/StampedLock;->HEAD_SPINS:I
-Ljava/util/concurrent/locks/StampedLock;->INTERRUPTED:J
-Ljava/util/concurrent/locks/StampedLock;->LG_READERS:I
-Ljava/util/concurrent/locks/StampedLock;->MAX_HEAD_SPINS:I
-Ljava/util/concurrent/locks/StampedLock;->NCPU:I
-Ljava/util/concurrent/locks/StampedLock;->ORIGIN:J
-Ljava/util/concurrent/locks/StampedLock;->OVERFLOW_YIELD_RATE:I
-Ljava/util/concurrent/locks/StampedLock;->PARKBLOCKER:J
-Ljava/util/concurrent/locks/StampedLock;->RBITS:J
-Ljava/util/concurrent/locks/StampedLock;->readerOverflow:I
-Ljava/util/concurrent/locks/StampedLock;->readLockView:Ljava/util/concurrent/locks/StampedLock$ReadLockView;
-Ljava/util/concurrent/locks/StampedLock;->readWriteLockView:Ljava/util/concurrent/locks/StampedLock$ReadWriteLockView;
-Ljava/util/concurrent/locks/StampedLock;->release(Ljava/util/concurrent/locks/StampedLock$WNode;)V
-Ljava/util/concurrent/locks/StampedLock;->RFULL:J
-Ljava/util/concurrent/locks/StampedLock;->RMODE:I
-Ljava/util/concurrent/locks/StampedLock;->RUNIT:J
-Ljava/util/concurrent/locks/StampedLock;->SBITS:J
-Ljava/util/concurrent/locks/StampedLock;->SPINS:I
-Ljava/util/concurrent/locks/StampedLock;->STATE:J
-Ljava/util/concurrent/locks/StampedLock;->state:J
-Ljava/util/concurrent/locks/StampedLock;->tryDecReaderOverflow(J)J
-Ljava/util/concurrent/locks/StampedLock;->tryIncReaderOverflow(J)J
-Ljava/util/concurrent/locks/StampedLock;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/locks/StampedLock;->unstampedUnlockRead()V
-Ljava/util/concurrent/locks/StampedLock;->unstampedUnlockWrite()V
-Ljava/util/concurrent/locks/StampedLock;->WAITING:I
-Ljava/util/concurrent/locks/StampedLock;->WBIT:J
-Ljava/util/concurrent/locks/StampedLock;->WCOWAIT:J
-Ljava/util/concurrent/locks/StampedLock;->WHEAD:J
-Ljava/util/concurrent/locks/StampedLock;->whead:Ljava/util/concurrent/locks/StampedLock$WNode;
-Ljava/util/concurrent/locks/StampedLock;->WMODE:I
-Ljava/util/concurrent/locks/StampedLock;->WNEXT:J
-Ljava/util/concurrent/locks/StampedLock;->writeLockView:Ljava/util/concurrent/locks/StampedLock$WriteLockView;
-Ljava/util/concurrent/locks/StampedLock;->WSTATUS:J
-Ljava/util/concurrent/locks/StampedLock;->WTAIL:J
-Ljava/util/concurrent/locks/StampedLock;->wtail:Ljava/util/concurrent/locks/StampedLock$WNode;
-Ljava/util/concurrent/Phaser$QNode;
-Ljava/util/concurrent/Phaser$QNode;-><init>(Ljava/util/concurrent/Phaser;IZZJ)V
-Ljava/util/concurrent/Phaser$QNode;->deadline:J
-Ljava/util/concurrent/Phaser$QNode;->interruptible:Z
-Ljava/util/concurrent/Phaser$QNode;->nanos:J
-Ljava/util/concurrent/Phaser$QNode;->next:Ljava/util/concurrent/Phaser$QNode;
-Ljava/util/concurrent/Phaser$QNode;->phase:I
-Ljava/util/concurrent/Phaser$QNode;->phaser:Ljava/util/concurrent/Phaser;
-Ljava/util/concurrent/Phaser$QNode;->thread:Ljava/lang/Thread;
-Ljava/util/concurrent/Phaser$QNode;->timed:Z
-Ljava/util/concurrent/Phaser$QNode;->wasInterrupted:Z
-Ljava/util/concurrent/Phaser;->abortWait(I)I
-Ljava/util/concurrent/Phaser;->arrivedOf(J)I
-Ljava/util/concurrent/Phaser;->badArrive(J)Ljava/lang/String;
-Ljava/util/concurrent/Phaser;->badRegister(J)Ljava/lang/String;
-Ljava/util/concurrent/Phaser;->COUNTS_MASK:J
-Ljava/util/concurrent/Phaser;->doArrive(I)I
-Ljava/util/concurrent/Phaser;->doRegister(I)I
-Ljava/util/concurrent/Phaser;->EMPTY:I
-Ljava/util/concurrent/Phaser;->evenQ:Ljava/util/concurrent/atomic/AtomicReference;
-Ljava/util/concurrent/Phaser;->internalAwaitAdvance(ILjava/util/concurrent/Phaser$QNode;)I
-Ljava/util/concurrent/Phaser;->MAX_PARTIES:I
-Ljava/util/concurrent/Phaser;->MAX_PHASE:I
-Ljava/util/concurrent/Phaser;->NCPU:I
-Ljava/util/concurrent/Phaser;->oddQ:Ljava/util/concurrent/atomic/AtomicReference;
-Ljava/util/concurrent/Phaser;->ONE_ARRIVAL:I
-Ljava/util/concurrent/Phaser;->ONE_DEREGISTER:I
-Ljava/util/concurrent/Phaser;->ONE_PARTY:I
-Ljava/util/concurrent/Phaser;->parent:Ljava/util/concurrent/Phaser;
-Ljava/util/concurrent/Phaser;->partiesOf(J)I
-Ljava/util/concurrent/Phaser;->PARTIES_MASK:J
-Ljava/util/concurrent/Phaser;->PARTIES_SHIFT:I
-Ljava/util/concurrent/Phaser;->phaseOf(J)I
-Ljava/util/concurrent/Phaser;->PHASE_SHIFT:I
-Ljava/util/concurrent/Phaser;->queueFor(I)Ljava/util/concurrent/atomic/AtomicReference;
-Ljava/util/concurrent/Phaser;->reconcileState()J
-Ljava/util/concurrent/Phaser;->releaseWaiters(I)V
-Ljava/util/concurrent/Phaser;->root:Ljava/util/concurrent/Phaser;
-Ljava/util/concurrent/Phaser;->SPINS_PER_ARRIVAL:I
-Ljava/util/concurrent/Phaser;->STATE:J
-Ljava/util/concurrent/Phaser;->state:J
-Ljava/util/concurrent/Phaser;->stateToString(J)Ljava/lang/String;
-Ljava/util/concurrent/Phaser;->TERMINATION_BIT:J
-Ljava/util/concurrent/Phaser;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/Phaser;->unarrivedOf(J)I
-Ljava/util/concurrent/Phaser;->UNARRIVED_MASK:I
-Ljava/util/concurrent/PriorityBlockingQueue$Itr;
-Ljava/util/concurrent/PriorityBlockingQueue$Itr;-><init>([Ljava/lang/Object;)V
-Ljava/util/concurrent/PriorityBlockingQueue$Itr;->array:[Ljava/lang/Object;
-Ljava/util/concurrent/PriorityBlockingQueue$Itr;->cursor:I
-Ljava/util/concurrent/PriorityBlockingQueue$Itr;->lastRet:I
-Ljava/util/concurrent/PriorityBlockingQueue$PBQSpliterator;
-Ljava/util/concurrent/PriorityBlockingQueue$PBQSpliterator;-><init>(Ljava/util/concurrent/PriorityBlockingQueue;[Ljava/lang/Object;II)V
-Ljava/util/concurrent/PriorityBlockingQueue$PBQSpliterator;->array:[Ljava/lang/Object;
-Ljava/util/concurrent/PriorityBlockingQueue$PBQSpliterator;->fence:I
-Ljava/util/concurrent/PriorityBlockingQueue$PBQSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/concurrent/PriorityBlockingQueue$PBQSpliterator;->getFence()I
-Ljava/util/concurrent/PriorityBlockingQueue$PBQSpliterator;->index:I
-Ljava/util/concurrent/PriorityBlockingQueue$PBQSpliterator;->queue:Ljava/util/concurrent/PriorityBlockingQueue;
-Ljava/util/concurrent/PriorityBlockingQueue$PBQSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/concurrent/PriorityBlockingQueue;->allocationSpinLock:I
-Ljava/util/concurrent/PriorityBlockingQueue;->ALLOCATIONSPINLOCK:J
-Ljava/util/concurrent/PriorityBlockingQueue;->comparator:Ljava/util/Comparator;
-Ljava/util/concurrent/PriorityBlockingQueue;->DEFAULT_INITIAL_CAPACITY:I
-Ljava/util/concurrent/PriorityBlockingQueue;->heapify()V
-Ljava/util/concurrent/PriorityBlockingQueue;->indexOf(Ljava/lang/Object;)I
-Ljava/util/concurrent/PriorityBlockingQueue;->MAX_ARRAY_SIZE:I
-Ljava/util/concurrent/PriorityBlockingQueue;->q:Ljava/util/PriorityQueue;
-Ljava/util/concurrent/PriorityBlockingQueue;->queue:[Ljava/lang/Object;
-Ljava/util/concurrent/PriorityBlockingQueue;->removeAt(I)V
-Ljava/util/concurrent/PriorityBlockingQueue;->removeEQ(Ljava/lang/Object;)V
-Ljava/util/concurrent/PriorityBlockingQueue;->siftDownComparable(ILjava/lang/Object;[Ljava/lang/Object;I)V
-Ljava/util/concurrent/PriorityBlockingQueue;->siftDownUsingComparator(ILjava/lang/Object;[Ljava/lang/Object;ILjava/util/Comparator;)V
-Ljava/util/concurrent/PriorityBlockingQueue;->siftUpComparable(ILjava/lang/Object;[Ljava/lang/Object;)V
-Ljava/util/concurrent/PriorityBlockingQueue;->siftUpUsingComparator(ILjava/lang/Object;[Ljava/lang/Object;Ljava/util/Comparator;)V
-Ljava/util/concurrent/PriorityBlockingQueue;->size:I
-Ljava/util/concurrent/PriorityBlockingQueue;->tryGrow([Ljava/lang/Object;I)V
-Ljava/util/concurrent/PriorityBlockingQueue;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/RecursiveTask;->result:Ljava/lang/Object;
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue$Itr;
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue$Itr;-><init>([Ljava/util/concurrent/RunnableScheduledFuture;)V
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue$Itr;->array:[Ljava/util/concurrent/RunnableScheduledFuture;
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue$Itr;->cursor:I
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue$Itr;->lastRet:I
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;-><init>()V
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->add(Ljava/lang/Runnable;)Z
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->available:Ljava/util/concurrent/locks/Condition;
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->drainTo(Ljava/util/Collection;)I
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->drainTo(Ljava/util/Collection;I)I
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->finishPoll(Ljava/util/concurrent/RunnableScheduledFuture;)Ljava/util/concurrent/RunnableScheduledFuture;
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->grow()V
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->indexOf(Ljava/lang/Object;)I
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->INITIAL_CAPACITY:I
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->leader:Ljava/lang/Thread;
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->lock:Ljava/util/concurrent/locks/ReentrantLock;
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->offer(Ljava/lang/Runnable;)Z
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->offer(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Z
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->peekExpired()Ljava/util/concurrent/RunnableScheduledFuture;
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->put(Ljava/lang/Runnable;)V
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->queue:[Ljava/util/concurrent/RunnableScheduledFuture;
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->setIndex(Ljava/util/concurrent/RunnableScheduledFuture;I)V
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->siftDown(ILjava/util/concurrent/RunnableScheduledFuture;)V
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->siftUp(ILjava/util/concurrent/RunnableScheduledFuture;)V
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->size:I
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;-><init>(Ljava/lang/Runnable;Ljava/lang/Object;JJ)V
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;-><init>(Ljava/lang/Runnable;Ljava/lang/Object;JJJ)V
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;-><init>(Ljava/util/concurrent/Callable;JJ)V
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;->compareTo(Ljava/util/concurrent/Delayed;)I
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;->heapIndex:I
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;->outerTask:Ljava/util/concurrent/RunnableScheduledFuture;
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;->period:J
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;->sequenceNumber:J
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;->setNextRunTime()V
-Ljava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;->time:J
-Ljava/util/concurrent/ScheduledThreadPoolExecutor;->canRunInCurrentRunState(Z)Z
-Ljava/util/concurrent/ScheduledThreadPoolExecutor;->continueExistingPeriodicTasksAfterShutdown:Z
-Ljava/util/concurrent/ScheduledThreadPoolExecutor;->DEFAULT_KEEPALIVE_MILLIS:J
-Ljava/util/concurrent/ScheduledThreadPoolExecutor;->delayedExecute(Ljava/util/concurrent/RunnableScheduledFuture;)V
-Ljava/util/concurrent/ScheduledThreadPoolExecutor;->executeExistingDelayedTasksAfterShutdown:Z
-Ljava/util/concurrent/ScheduledThreadPoolExecutor;->onShutdown()V
-Ljava/util/concurrent/ScheduledThreadPoolExecutor;->overflowFree(J)J
-Ljava/util/concurrent/ScheduledThreadPoolExecutor;->reExecutePeriodic(Ljava/util/concurrent/RunnableScheduledFuture;)V
-Ljava/util/concurrent/ScheduledThreadPoolExecutor;->removeOnCancel:Z
-Ljava/util/concurrent/ScheduledThreadPoolExecutor;->sequencer:Ljava/util/concurrent/atomic/AtomicLong;
-Ljava/util/concurrent/ScheduledThreadPoolExecutor;->triggerTime(J)J
-Ljava/util/concurrent/ScheduledThreadPoolExecutor;->triggerTime(JLjava/util/concurrent/TimeUnit;)J
-Ljava/util/concurrent/Semaphore$FairSync;
-Ljava/util/concurrent/Semaphore$FairSync;-><init>(I)V
-Ljava/util/concurrent/Semaphore$NonfairSync;
-Ljava/util/concurrent/Semaphore$NonfairSync;-><init>(I)V
-Ljava/util/concurrent/Semaphore$Sync;
-Ljava/util/concurrent/Semaphore$Sync;-><init>(I)V
-Ljava/util/concurrent/Semaphore$Sync;->drainPermits()I
-Ljava/util/concurrent/Semaphore$Sync;->getPermits()I
-Ljava/util/concurrent/Semaphore$Sync;->nonfairTryAcquireShared(I)I
-Ljava/util/concurrent/Semaphore$Sync;->reducePermits(I)V
-Ljava/util/concurrent/Semaphore;->sync:Ljava/util/concurrent/Semaphore$Sync;
-Ljava/util/concurrent/SynchronousQueue$FifoWaitQueue;
-Ljava/util/concurrent/SynchronousQueue$FifoWaitQueue;-><init>()V
-Ljava/util/concurrent/SynchronousQueue$LifoWaitQueue;
-Ljava/util/concurrent/SynchronousQueue$LifoWaitQueue;-><init>()V
-Ljava/util/concurrent/SynchronousQueue$Transferer;
-Ljava/util/concurrent/SynchronousQueue$Transferer;-><init>()V
-Ljava/util/concurrent/SynchronousQueue$Transferer;->transfer(Ljava/lang/Object;ZJ)Ljava/lang/Object;
-Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;
-Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;-><init>(Ljava/lang/Object;Z)V
-Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;->casItem(Ljava/lang/Object;Ljava/lang/Object;)Z
-Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;->casNext(Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;)Z
-Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;->isCancelled()Z
-Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;->isData:Z
-Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;->isOffList()Z
-Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;->ITEM:J
-Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;->item:Ljava/lang/Object;
-Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;->NEXT:J
-Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;->next:Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;
-Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;->tryCancel(Ljava/lang/Object;)V
-Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;->waiter:Ljava/lang/Thread;
-Ljava/util/concurrent/SynchronousQueue$TransferQueue;
-Ljava/util/concurrent/SynchronousQueue$TransferQueue;-><init>()V
-Ljava/util/concurrent/SynchronousQueue$TransferQueue;->advanceHead(Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;)V
-Ljava/util/concurrent/SynchronousQueue$TransferQueue;->advanceTail(Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;)V
-Ljava/util/concurrent/SynchronousQueue$TransferQueue;->awaitFulfill(Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;Ljava/lang/Object;ZJ)Ljava/lang/Object;
-Ljava/util/concurrent/SynchronousQueue$TransferQueue;->casCleanMe(Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;)Z
-Ljava/util/concurrent/SynchronousQueue$TransferQueue;->clean(Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;)V
-Ljava/util/concurrent/SynchronousQueue$TransferQueue;->CLEANME:J
-Ljava/util/concurrent/SynchronousQueue$TransferQueue;->cleanMe:Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;
-Ljava/util/concurrent/SynchronousQueue$TransferQueue;->HEAD:J
-Ljava/util/concurrent/SynchronousQueue$TransferQueue;->head:Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;
-Ljava/util/concurrent/SynchronousQueue$TransferQueue;->TAIL:J
-Ljava/util/concurrent/SynchronousQueue$TransferQueue;->tail:Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;
-Ljava/util/concurrent/SynchronousQueue$TransferQueue;->transfer(Ljava/lang/Object;ZJ)Ljava/lang/Object;
-Ljava/util/concurrent/SynchronousQueue$TransferQueue;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;
-Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;-><init>(Ljava/lang/Object;)V
-Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;->casNext(Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;)Z
-Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;->isCancelled()Z
-Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;->item:Ljava/lang/Object;
-Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;->MATCH:J
-Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;->match:Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;
-Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;->mode:I
-Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;->NEXT:J
-Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;->next:Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;
-Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;->tryCancel()V
-Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;->tryMatch(Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;)Z
-Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;->waiter:Ljava/lang/Thread;
-Ljava/util/concurrent/SynchronousQueue$TransferStack;
-Ljava/util/concurrent/SynchronousQueue$TransferStack;-><init>()V
-Ljava/util/concurrent/SynchronousQueue$TransferStack;->awaitFulfill(Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;ZJ)Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;
-Ljava/util/concurrent/SynchronousQueue$TransferStack;->casHead(Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;)Z
-Ljava/util/concurrent/SynchronousQueue$TransferStack;->clean(Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;)V
-Ljava/util/concurrent/SynchronousQueue$TransferStack;->DATA:I
-Ljava/util/concurrent/SynchronousQueue$TransferStack;->FULFILLING:I
-Ljava/util/concurrent/SynchronousQueue$TransferStack;->HEAD:J
-Ljava/util/concurrent/SynchronousQueue$TransferStack;->head:Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;
-Ljava/util/concurrent/SynchronousQueue$TransferStack;->isFulfilling(I)Z
-Ljava/util/concurrent/SynchronousQueue$TransferStack;->REQUEST:I
-Ljava/util/concurrent/SynchronousQueue$TransferStack;->shouldSpin(Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;)Z
-Ljava/util/concurrent/SynchronousQueue$TransferStack;->snode(Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;Ljava/lang/Object;Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;I)Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;
-Ljava/util/concurrent/SynchronousQueue$TransferStack;->transfer(Ljava/lang/Object;ZJ)Ljava/lang/Object;
-Ljava/util/concurrent/SynchronousQueue$TransferStack;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/SynchronousQueue$WaitQueue;
-Ljava/util/concurrent/SynchronousQueue$WaitQueue;-><init>()V
-Ljava/util/concurrent/SynchronousQueue;->MAX_TIMED_SPINS:I
-Ljava/util/concurrent/SynchronousQueue;->MAX_UNTIMED_SPINS:I
-Ljava/util/concurrent/SynchronousQueue;->qlock:Ljava/util/concurrent/locks/ReentrantLock;
-Ljava/util/concurrent/SynchronousQueue;->SPIN_FOR_TIMEOUT_THRESHOLD:J
-Ljava/util/concurrent/SynchronousQueue;->transferer:Ljava/util/concurrent/SynchronousQueue$Transferer;
-Ljava/util/concurrent/SynchronousQueue;->waitingConsumers:Ljava/util/concurrent/SynchronousQueue$WaitQueue;
-Ljava/util/concurrent/SynchronousQueue;->waitingProducers:Ljava/util/concurrent/SynchronousQueue$WaitQueue;
-Ljava/util/concurrent/ThreadLocalRandom$RandomDoublesSpliterator;
-Ljava/util/concurrent/ThreadLocalRandom$RandomDoublesSpliterator;-><init>(JJDD)V
-Ljava/util/concurrent/ThreadLocalRandom$RandomDoublesSpliterator;->bound:D
-Ljava/util/concurrent/ThreadLocalRandom$RandomDoublesSpliterator;->fence:J
-Ljava/util/concurrent/ThreadLocalRandom$RandomDoublesSpliterator;->index:J
-Ljava/util/concurrent/ThreadLocalRandom$RandomDoublesSpliterator;->origin:D
-Ljava/util/concurrent/ThreadLocalRandom$RandomIntsSpliterator;
-Ljava/util/concurrent/ThreadLocalRandom$RandomIntsSpliterator;-><init>(JJII)V
-Ljava/util/concurrent/ThreadLocalRandom$RandomIntsSpliterator;->bound:I
-Ljava/util/concurrent/ThreadLocalRandom$RandomIntsSpliterator;->fence:J
-Ljava/util/concurrent/ThreadLocalRandom$RandomIntsSpliterator;->index:J
-Ljava/util/concurrent/ThreadLocalRandom$RandomIntsSpliterator;->origin:I
-Ljava/util/concurrent/ThreadLocalRandom$RandomLongsSpliterator;
-Ljava/util/concurrent/ThreadLocalRandom$RandomLongsSpliterator;-><init>(JJJJ)V
-Ljava/util/concurrent/ThreadLocalRandom$RandomLongsSpliterator;->bound:J
-Ljava/util/concurrent/ThreadLocalRandom$RandomLongsSpliterator;->fence:J
-Ljava/util/concurrent/ThreadLocalRandom$RandomLongsSpliterator;->index:J
-Ljava/util/concurrent/ThreadLocalRandom$RandomLongsSpliterator;->origin:J
-Ljava/util/concurrent/ThreadLocalRandom;-><init>()V
-Ljava/util/concurrent/ThreadLocalRandom;->advanceProbe(I)I
-Ljava/util/concurrent/ThreadLocalRandom;->BAD_BOUND:Ljava/lang/String;
-Ljava/util/concurrent/ThreadLocalRandom;->BAD_RANGE:Ljava/lang/String;
-Ljava/util/concurrent/ThreadLocalRandom;->BAD_SIZE:Ljava/lang/String;
-Ljava/util/concurrent/ThreadLocalRandom;->DOUBLE_UNIT:D
-Ljava/util/concurrent/ThreadLocalRandom;->FLOAT_UNIT:F
-Ljava/util/concurrent/ThreadLocalRandom;->GAMMA:J
-Ljava/util/concurrent/ThreadLocalRandom;->getProbe()I
-Ljava/util/concurrent/ThreadLocalRandom;->initialized:Z
-Ljava/util/concurrent/ThreadLocalRandom;->instance:Ljava/util/concurrent/ThreadLocalRandom;
-Ljava/util/concurrent/ThreadLocalRandom;->internalNextDouble(DD)D
-Ljava/util/concurrent/ThreadLocalRandom;->internalNextInt(II)I
-Ljava/util/concurrent/ThreadLocalRandom;->internalNextLong(JJ)J
-Ljava/util/concurrent/ThreadLocalRandom;->localInit()V
-Ljava/util/concurrent/ThreadLocalRandom;->mix32(J)I
-Ljava/util/concurrent/ThreadLocalRandom;->mix64(J)J
-Ljava/util/concurrent/ThreadLocalRandom;->nextLocalGaussian:Ljava/lang/ThreadLocal;
-Ljava/util/concurrent/ThreadLocalRandom;->nextSecondarySeed()I
-Ljava/util/concurrent/ThreadLocalRandom;->nextSeed()J
-Ljava/util/concurrent/ThreadLocalRandom;->PROBE:J
-Ljava/util/concurrent/ThreadLocalRandom;->probeGenerator:Ljava/util/concurrent/atomic/AtomicInteger;
-Ljava/util/concurrent/ThreadLocalRandom;->PROBE_INCREMENT:I
-Ljava/util/concurrent/ThreadLocalRandom;->SECONDARY:J
-Ljava/util/concurrent/ThreadLocalRandom;->SEED:J
-Ljava/util/concurrent/ThreadLocalRandom;->seeder:Ljava/util/concurrent/atomic/AtomicLong;
-Ljava/util/concurrent/ThreadLocalRandom;->SEEDER_INCREMENT:J
-Ljava/util/concurrent/ThreadLocalRandom;->U:Lsun/misc/Unsafe;
-Ljava/util/concurrent/ThreadPoolExecutor$Worker;
-Ljava/util/concurrent/ThreadPoolExecutor$Worker;-><init>(Ljava/lang/Runnable;)V
-Ljava/util/concurrent/ThreadPoolExecutor$Worker;->completedTasks:J
-Ljava/util/concurrent/ThreadPoolExecutor$Worker;->firstTask:Ljava/lang/Runnable;
-Ljava/util/concurrent/ThreadPoolExecutor$Worker;->interruptIfStarted()V
-Ljava/util/concurrent/ThreadPoolExecutor$Worker;->isLocked()Z
-Ljava/util/concurrent/ThreadPoolExecutor$Worker;->lock()V
-Ljava/util/concurrent/ThreadPoolExecutor$Worker;->thread:Ljava/lang/Thread;
-Ljava/util/concurrent/ThreadPoolExecutor$Worker;->tryLock()Z
-Ljava/util/concurrent/ThreadPoolExecutor$Worker;->unlock()V
-Ljava/util/concurrent/ThreadPoolExecutor;->addWorker(Ljava/lang/Runnable;Z)Z
-Ljava/util/concurrent/ThreadPoolExecutor;->addWorkerFailed(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V
-Ljava/util/concurrent/ThreadPoolExecutor;->advanceRunState(I)V
-Ljava/util/concurrent/ThreadPoolExecutor;->CAPACITY:I
-Ljava/util/concurrent/ThreadPoolExecutor;->checkShutdownAccess()V
-Ljava/util/concurrent/ThreadPoolExecutor;->compareAndDecrementWorkerCount(I)Z
-Ljava/util/concurrent/ThreadPoolExecutor;->compareAndIncrementWorkerCount(I)Z
-Ljava/util/concurrent/ThreadPoolExecutor;->completedTaskCount:J
-Ljava/util/concurrent/ThreadPoolExecutor;->corePoolSize:I
-Ljava/util/concurrent/ThreadPoolExecutor;->COUNT_BITS:I
-Ljava/util/concurrent/ThreadPoolExecutor;->ctlOf(II)I
-Ljava/util/concurrent/ThreadPoolExecutor;->decrementWorkerCount()V
-Ljava/util/concurrent/ThreadPoolExecutor;->drainQueue()Ljava/util/List;
-Ljava/util/concurrent/ThreadPoolExecutor;->ensurePrestart()V
-Ljava/util/concurrent/ThreadPoolExecutor;->getTask()Ljava/lang/Runnable;
-Ljava/util/concurrent/ThreadPoolExecutor;->handler:Ljava/util/concurrent/RejectedExecutionHandler;
-Ljava/util/concurrent/ThreadPoolExecutor;->interruptIdleWorkers()V
-Ljava/util/concurrent/ThreadPoolExecutor;->interruptIdleWorkers(Z)V
-Ljava/util/concurrent/ThreadPoolExecutor;->interruptWorkers()V
-Ljava/util/concurrent/ThreadPoolExecutor;->isRunning(I)Z
-Ljava/util/concurrent/ThreadPoolExecutor;->isRunningOrShutdown(Z)Z
-Ljava/util/concurrent/ThreadPoolExecutor;->keepAliveTime:J
-Ljava/util/concurrent/ThreadPoolExecutor;->largestPoolSize:I
-Ljava/util/concurrent/ThreadPoolExecutor;->maximumPoolSize:I
-Ljava/util/concurrent/ThreadPoolExecutor;->ONLY_ONE:Z
-Ljava/util/concurrent/ThreadPoolExecutor;->onShutdown()V
-Ljava/util/concurrent/ThreadPoolExecutor;->processWorkerExit(Ljava/util/concurrent/ThreadPoolExecutor$Worker;Z)V
-Ljava/util/concurrent/ThreadPoolExecutor;->reject(Ljava/lang/Runnable;)V
-Ljava/util/concurrent/ThreadPoolExecutor;->RUNNING:I
-Ljava/util/concurrent/ThreadPoolExecutor;->runStateAtLeast(II)Z
-Ljava/util/concurrent/ThreadPoolExecutor;->runStateLessThan(II)Z
-Ljava/util/concurrent/ThreadPoolExecutor;->runStateOf(I)I
-Ljava/util/concurrent/ThreadPoolExecutor;->runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V
-Ljava/util/concurrent/ThreadPoolExecutor;->SHUTDOWN:I
-Ljava/util/concurrent/ThreadPoolExecutor;->shutdownPerm:Ljava/lang/RuntimePermission;
-Ljava/util/concurrent/ThreadPoolExecutor;->STOP:I
-Ljava/util/concurrent/ThreadPoolExecutor;->TERMINATED:I
-Ljava/util/concurrent/ThreadPoolExecutor;->termination:Ljava/util/concurrent/locks/Condition;
-Ljava/util/concurrent/ThreadPoolExecutor;->threadFactory:Ljava/util/concurrent/ThreadFactory;
-Ljava/util/concurrent/ThreadPoolExecutor;->TIDYING:I
-Ljava/util/concurrent/ThreadPoolExecutor;->tryTerminate()V
-Ljava/util/concurrent/ThreadPoolExecutor;->workerCountOf(I)I
-Ljava/util/concurrent/ThreadPoolExecutor;->workers:Ljava/util/HashSet;
-Ljava/util/concurrent/ThreadPoolExecutor;->workQueue:Ljava/util/concurrent/BlockingQueue;
-Ljava/util/concurrent/TimeUnit;-><init>()V
-Ljava/util/concurrent/TimeUnit;->C0:J
-Ljava/util/concurrent/TimeUnit;->C1:J
-Ljava/util/concurrent/TimeUnit;->C2:J
-Ljava/util/concurrent/TimeUnit;->C3:J
-Ljava/util/concurrent/TimeUnit;->C4:J
-Ljava/util/concurrent/TimeUnit;->C5:J
-Ljava/util/concurrent/TimeUnit;->C6:J
-Ljava/util/concurrent/TimeUnit;->excessNanos(JJ)I
-Ljava/util/concurrent/TimeUnit;->MAX:J
-Ljava/util/concurrent/TimeUnit;->x(JJJ)J
-Ljava/util/Currency;-><init>(Landroid/icu/util/Currency;)V
-Ljava/util/Currency;->available:Ljava/util/HashSet;
-Ljava/util/Currency;->currencyCode:Ljava/lang/String;
-Ljava/util/Currency;->icuCurrency:Landroid/icu/util/Currency;
-Ljava/util/Currency;->instances:Ljava/util/concurrent/ConcurrentMap;
-Ljava/util/Date;->cdate:Lsun/util/calendar/BaseCalendar$Date;
-Ljava/util/Date;->convertToAbbr(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
-Ljava/util/Date;->defaultCenturyStart:I
-Ljava/util/Date;->fastTime:J
-Ljava/util/Date;->gcal:Lsun/util/calendar/BaseCalendar;
-Ljava/util/Date;->getCalendarDate()Lsun/util/calendar/BaseCalendar$Date;
-Ljava/util/Date;->getCalendarSystem(I)Lsun/util/calendar/BaseCalendar;
-Ljava/util/Date;->getCalendarSystem(J)Lsun/util/calendar/BaseCalendar;
-Ljava/util/Date;->getCalendarSystem(Lsun/util/calendar/BaseCalendar$Date;)Lsun/util/calendar/BaseCalendar;
-Ljava/util/Date;->getJulianCalendar()Lsun/util/calendar/BaseCalendar;
-Ljava/util/Date;->getMillisOf(Ljava/util/Date;)J
-Ljava/util/Date;->getTimeImpl()J
-Ljava/util/Date;->jcal:Lsun/util/calendar/BaseCalendar;
-Ljava/util/Date;->normalize()Lsun/util/calendar/BaseCalendar$Date;
-Ljava/util/Date;->normalize(Lsun/util/calendar/BaseCalendar$Date;)Lsun/util/calendar/BaseCalendar$Date;
-Ljava/util/Date;->ttb:[I
-Ljava/util/Date;->wtb:[Ljava/lang/String;
-Ljava/util/DoubleSummaryStatistics;->count:J
-Ljava/util/DoubleSummaryStatistics;->max:D
-Ljava/util/DoubleSummaryStatistics;->min:D
-Ljava/util/DoubleSummaryStatistics;->simpleSum:D
-Ljava/util/DoubleSummaryStatistics;->sum:D
-Ljava/util/DoubleSummaryStatistics;->sumCompensation:D
-Ljava/util/DoubleSummaryStatistics;->sumWithCompensation(D)V
-Ljava/util/DuplicateFormatFlagsException;->flags:Ljava/lang/String;
-Ljava/util/EnumMap$EntryIterator$Entry;
-Ljava/util/EnumMap$EntryIterator$Entry;-><init>(I)V
-Ljava/util/EnumMap$EntryIterator$Entry;->checkIndexForEntryUse()V
-Ljava/util/EnumMap$EntryIterator$Entry;->index:I
-Ljava/util/EnumMap$EntryIterator;
-Ljava/util/EnumMap$EntryIterator;-><init>()V
-Ljava/util/EnumMap$EntryIterator;->lastReturnedEntry:Ljava/util/EnumMap$EntryIterator$Entry;
-Ljava/util/EnumMap$EntrySet;
-Ljava/util/EnumMap$EntrySet;-><init>()V
-Ljava/util/EnumMap$EntrySet;->fillEntryArray([Ljava/lang/Object;)[Ljava/lang/Object;
-Ljava/util/EnumMap$EnumMapIterator;
-Ljava/util/EnumMap$EnumMapIterator;-><init>()V
-Ljava/util/EnumMap$EnumMapIterator;->checkLastReturnedIndex()V
-Ljava/util/EnumMap$EnumMapIterator;->index:I
-Ljava/util/EnumMap$EnumMapIterator;->lastReturnedIndex:I
-Ljava/util/EnumMap$KeyIterator;
-Ljava/util/EnumMap$KeyIterator;-><init>()V
-Ljava/util/EnumMap$KeySet;
-Ljava/util/EnumMap$KeySet;-><init>()V
-Ljava/util/EnumMap$ValueIterator;
-Ljava/util/EnumMap$ValueIterator;-><init>()V
-Ljava/util/EnumMap$Values;
-Ljava/util/EnumMap$Values;-><init>()V
-Ljava/util/EnumMap;->containsMapping(Ljava/lang/Object;Ljava/lang/Object;)Z
-Ljava/util/EnumMap;->entryHashCode(I)I
-Ljava/util/EnumMap;->entrySet:Ljava/util/Set;
-Ljava/util/EnumMap;->equals(Ljava/util/EnumMap;)Z
-Ljava/util/EnumMap;->getKeyUniverse(Ljava/lang/Class;)[Ljava/lang/Enum;
-Ljava/util/EnumMap;->isValidKey(Ljava/lang/Object;)Z
-Ljava/util/EnumMap;->keyUniverse:[Ljava/lang/Enum;
-Ljava/util/EnumMap;->maskNull(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/EnumMap;->NULL:Ljava/lang/Object;
-Ljava/util/EnumMap;->removeMapping(Ljava/lang/Object;Ljava/lang/Object;)Z
-Ljava/util/EnumMap;->size:I
-Ljava/util/EnumMap;->typeCheck(Ljava/lang/Enum;)V
-Ljava/util/EnumMap;->unmaskNull(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/EnumMap;->vals:[Ljava/lang/Object;
-Ljava/util/EnumMap;->ZERO_LENGTH_ENUM_ARRAY:[Ljava/lang/Enum;
-Ljava/util/EnumSet$SerializationProxy;
-Ljava/util/EnumSet$SerializationProxy;-><init>(Ljava/util/EnumSet;)V
-Ljava/util/EnumSet$SerializationProxy;->elements:[Ljava/lang/Enum;
-Ljava/util/EnumSet$SerializationProxy;->elementType:Ljava/lang/Class;
-Ljava/util/EnumSet;-><init>(Ljava/lang/Class;[Ljava/lang/Enum;)V
-Ljava/util/EnumSet;->addAll()V
-Ljava/util/EnumSet;->addRange(Ljava/lang/Enum;Ljava/lang/Enum;)V
-Ljava/util/EnumSet;->complement()V
-Ljava/util/EnumSet;->getUniverse(Ljava/lang/Class;)[Ljava/lang/Enum;
-Ljava/util/EnumSet;->typeCheck(Ljava/lang/Enum;)V
-Ljava/util/EnumSet;->universe:[Ljava/lang/Enum;
-Ljava/util/EnumSet;->ZERO_LENGTH_ENUM_ARRAY:[Ljava/lang/Enum;
-Ljava/util/EventListenerProxy;->listener:Ljava/util/EventListener;
-Ljava/util/FormatFlagsConversionMismatchException;->c:C
-Ljava/util/FormatFlagsConversionMismatchException;->f:Ljava/lang/String;
-Ljava/util/FormattableFlags;-><init>()V
-Ljava/util/Formatter$BigDecimalLayoutForm;-><init>()V
-Ljava/util/Formatter$Conversion;
-Ljava/util/Formatter$Conversion;-><init>()V
-Ljava/util/Formatter$Conversion;->BOOLEAN:C
-Ljava/util/Formatter$Conversion;->BOOLEAN_UPPER:C
-Ljava/util/Formatter$Conversion;->CHARACTER:C
-Ljava/util/Formatter$Conversion;->CHARACTER_UPPER:C
-Ljava/util/Formatter$Conversion;->DATE_TIME:C
-Ljava/util/Formatter$Conversion;->DATE_TIME_UPPER:C
-Ljava/util/Formatter$Conversion;->DECIMAL_FLOAT:C
-Ljava/util/Formatter$Conversion;->DECIMAL_INTEGER:C
-Ljava/util/Formatter$Conversion;->GENERAL:C
-Ljava/util/Formatter$Conversion;->GENERAL_UPPER:C
-Ljava/util/Formatter$Conversion;->HASHCODE:C
-Ljava/util/Formatter$Conversion;->HASHCODE_UPPER:C
-Ljava/util/Formatter$Conversion;->HEXADECIMAL_FLOAT:C
-Ljava/util/Formatter$Conversion;->HEXADECIMAL_FLOAT_UPPER:C
-Ljava/util/Formatter$Conversion;->HEXADECIMAL_INTEGER:C
-Ljava/util/Formatter$Conversion;->HEXADECIMAL_INTEGER_UPPER:C
-Ljava/util/Formatter$Conversion;->isCharacter(C)Z
-Ljava/util/Formatter$Conversion;->isFloat(C)Z
-Ljava/util/Formatter$Conversion;->isGeneral(C)Z
-Ljava/util/Formatter$Conversion;->isInteger(C)Z
-Ljava/util/Formatter$Conversion;->isText(C)Z
-Ljava/util/Formatter$Conversion;->isValid(C)Z
-Ljava/util/Formatter$Conversion;->LINE_SEPARATOR:C
-Ljava/util/Formatter$Conversion;->OCTAL_INTEGER:C
-Ljava/util/Formatter$Conversion;->PERCENT_SIGN:C
-Ljava/util/Formatter$Conversion;->SCIENTIFIC:C
-Ljava/util/Formatter$Conversion;->SCIENTIFIC_UPPER:C
-Ljava/util/Formatter$Conversion;->STRING:C
-Ljava/util/Formatter$Conversion;->STRING_UPPER:C
-Ljava/util/Formatter$DateTime;
-Ljava/util/Formatter$DateTime;-><init>()V
-Ljava/util/Formatter$DateTime;->AM_PM:C
-Ljava/util/Formatter$DateTime;->CENTURY:C
-Ljava/util/Formatter$DateTime;->DATE:C
-Ljava/util/Formatter$DateTime;->DATE_TIME:C
-Ljava/util/Formatter$DateTime;->DAY_OF_MONTH:C
-Ljava/util/Formatter$DateTime;->DAY_OF_MONTH_0:C
-Ljava/util/Formatter$DateTime;->DAY_OF_YEAR:C
-Ljava/util/Formatter$DateTime;->HOUR:C
-Ljava/util/Formatter$DateTime;->HOUR_0:C
-Ljava/util/Formatter$DateTime;->HOUR_OF_DAY:C
-Ljava/util/Formatter$DateTime;->HOUR_OF_DAY_0:C
-Ljava/util/Formatter$DateTime;->ISO_STANDARD_DATE:C
-Ljava/util/Formatter$DateTime;->isValid(C)Z
-Ljava/util/Formatter$DateTime;->MILLISECOND:C
-Ljava/util/Formatter$DateTime;->MILLISECOND_SINCE_EPOCH:C
-Ljava/util/Formatter$DateTime;->MINUTE:C
-Ljava/util/Formatter$DateTime;->MONTH:C
-Ljava/util/Formatter$DateTime;->NAME_OF_DAY:C
-Ljava/util/Formatter$DateTime;->NAME_OF_DAY_ABBREV:C
-Ljava/util/Formatter$DateTime;->NAME_OF_MONTH:C
-Ljava/util/Formatter$DateTime;->NAME_OF_MONTH_ABBREV:C
-Ljava/util/Formatter$DateTime;->NAME_OF_MONTH_ABBREV_X:C
-Ljava/util/Formatter$DateTime;->NANOSECOND:C
-Ljava/util/Formatter$DateTime;->SECOND:C
-Ljava/util/Formatter$DateTime;->SECONDS_SINCE_EPOCH:C
-Ljava/util/Formatter$DateTime;->TIME:C
-Ljava/util/Formatter$DateTime;->TIME_12_HOUR:C
-Ljava/util/Formatter$DateTime;->TIME_24_HOUR:C
-Ljava/util/Formatter$DateTime;->YEAR_2:C
-Ljava/util/Formatter$DateTime;->YEAR_4:C
-Ljava/util/Formatter$DateTime;->ZONE:C
-Ljava/util/Formatter$DateTime;->ZONE_NUMERIC:C
-Ljava/util/Formatter$FixedString;
-Ljava/util/Formatter$FixedString;-><init>(Ljava/lang/String;)V
-Ljava/util/Formatter$FixedString;->index()I
-Ljava/util/Formatter$FixedString;->print(Ljava/lang/Object;Ljava/util/Locale;)V
-Ljava/util/Formatter$FixedString;->s:Ljava/lang/String;
-Ljava/util/Formatter$Flags;
-Ljava/util/Formatter$Flags;-><init>(I)V
-Ljava/util/Formatter$Flags;->add(Ljava/util/Formatter$Flags;)Ljava/util/Formatter$Flags;
-Ljava/util/Formatter$Flags;->ALTERNATE:Ljava/util/Formatter$Flags;
-Ljava/util/Formatter$Flags;->contains(Ljava/util/Formatter$Flags;)Z
-Ljava/util/Formatter$Flags;->dup()Ljava/util/Formatter$Flags;
-Ljava/util/Formatter$Flags;->flags:I
-Ljava/util/Formatter$Flags;->GROUP:Ljava/util/Formatter$Flags;
-Ljava/util/Formatter$Flags;->LEADING_SPACE:Ljava/util/Formatter$Flags;
-Ljava/util/Formatter$Flags;->LEFT_JUSTIFY:Ljava/util/Formatter$Flags;
-Ljava/util/Formatter$Flags;->NONE:Ljava/util/Formatter$Flags;
-Ljava/util/Formatter$Flags;->PARENTHESES:Ljava/util/Formatter$Flags;
-Ljava/util/Formatter$Flags;->parse(C)Ljava/util/Formatter$Flags;
-Ljava/util/Formatter$Flags;->parse(Ljava/lang/String;)Ljava/util/Formatter$Flags;
-Ljava/util/Formatter$Flags;->PLUS:Ljava/util/Formatter$Flags;
-Ljava/util/Formatter$Flags;->PREVIOUS:Ljava/util/Formatter$Flags;
-Ljava/util/Formatter$Flags;->remove(Ljava/util/Formatter$Flags;)Ljava/util/Formatter$Flags;
-Ljava/util/Formatter$Flags;->toString(Ljava/util/Formatter$Flags;)Ljava/lang/String;
-Ljava/util/Formatter$Flags;->UPPERCASE:Ljava/util/Formatter$Flags;
-Ljava/util/Formatter$Flags;->valueOf()I
-Ljava/util/Formatter$Flags;->ZERO_PAD:Ljava/util/Formatter$Flags;
-Ljava/util/Formatter$FormatSpecifier$BigDecimalLayout;
-Ljava/util/Formatter$FormatSpecifier$BigDecimalLayout;-><init>(Ljava/math/BigInteger;ILjava/util/Formatter$BigDecimalLayoutForm;)V
-Ljava/util/Formatter$FormatSpecifier$BigDecimalLayout;->dot:Z
-Ljava/util/Formatter$FormatSpecifier$BigDecimalLayout;->exp:Ljava/lang/StringBuilder;
-Ljava/util/Formatter$FormatSpecifier$BigDecimalLayout;->exponent()[C
-Ljava/util/Formatter$FormatSpecifier$BigDecimalLayout;->hasDot()Z
-Ljava/util/Formatter$FormatSpecifier$BigDecimalLayout;->layout(Ljava/math/BigInteger;ILjava/util/Formatter$BigDecimalLayoutForm;)V
-Ljava/util/Formatter$FormatSpecifier$BigDecimalLayout;->layoutChars()[C
-Ljava/util/Formatter$FormatSpecifier$BigDecimalLayout;->mant:Ljava/lang/StringBuilder;
-Ljava/util/Formatter$FormatSpecifier$BigDecimalLayout;->mantissa()[C
-Ljava/util/Formatter$FormatSpecifier$BigDecimalLayout;->scale()I
-Ljava/util/Formatter$FormatSpecifier$BigDecimalLayout;->scale:I
-Ljava/util/Formatter$FormatSpecifier$BigDecimalLayout;->toCharArray(Ljava/lang/StringBuilder;)[C
-Ljava/util/Formatter$FormatSpecifier;
-Ljava/util/Formatter$FormatSpecifier;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Ljava/util/Formatter$FormatSpecifier;->addDot([C)[C
-Ljava/util/Formatter$FormatSpecifier;->addZeros([CI)[C
-Ljava/util/Formatter$FormatSpecifier;->adjustWidth(ILjava/util/Formatter$Flags;Z)I
-Ljava/util/Formatter$FormatSpecifier;->c:C
-Ljava/util/Formatter$FormatSpecifier;->checkBadFlags([[Ljava/util/Formatter$Flags;)V
-Ljava/util/Formatter$FormatSpecifier;->checkCharacter()V
-Ljava/util/Formatter$FormatSpecifier;->checkDateTime()V
-Ljava/util/Formatter$FormatSpecifier;->checkFloat()V
-Ljava/util/Formatter$FormatSpecifier;->checkGeneral()V
-Ljava/util/Formatter$FormatSpecifier;->checkInteger()V
-Ljava/util/Formatter$FormatSpecifier;->checkNumeric()V
-Ljava/util/Formatter$FormatSpecifier;->checkText()V
-Ljava/util/Formatter$FormatSpecifier;->conversion()C
-Ljava/util/Formatter$FormatSpecifier;->conversion(Ljava/lang/String;)C
-Ljava/util/Formatter$FormatSpecifier;->dt:Z
-Ljava/util/Formatter$FormatSpecifier;->f:Ljava/util/Formatter$Flags;
-Ljava/util/Formatter$FormatSpecifier;->failConversion(CLjava/lang/Object;)V
-Ljava/util/Formatter$FormatSpecifier;->failMismatch(Ljava/util/Formatter$Flags;C)V
-Ljava/util/Formatter$FormatSpecifier;->flags()Ljava/util/Formatter$Flags;
-Ljava/util/Formatter$FormatSpecifier;->flags(Ljava/lang/String;)Ljava/util/Formatter$Flags;
-Ljava/util/Formatter$FormatSpecifier;->getZero(Ljava/util/Locale;)C
-Ljava/util/Formatter$FormatSpecifier;->hexDouble(DI)Ljava/lang/String;
-Ljava/util/Formatter$FormatSpecifier;->index()I
-Ljava/util/Formatter$FormatSpecifier;->index(Ljava/lang/String;)I
-Ljava/util/Formatter$FormatSpecifier;->index:I
-Ljava/util/Formatter$FormatSpecifier;->justify(Ljava/lang/String;)Ljava/lang/String;
-Ljava/util/Formatter$FormatSpecifier;->leadingSign(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
-Ljava/util/Formatter$FormatSpecifier;->localizedMagnitude(Ljava/lang/StringBuilder;JLjava/util/Formatter$Flags;ILjava/util/Locale;)Ljava/lang/StringBuilder;
-Ljava/util/Formatter$FormatSpecifier;->localizedMagnitude(Ljava/lang/StringBuilder;[CLjava/util/Formatter$Flags;ILjava/util/Locale;)Ljava/lang/StringBuilder;
-Ljava/util/Formatter$FormatSpecifier;->precision()I
-Ljava/util/Formatter$FormatSpecifier;->precision(Ljava/lang/String;)I
-Ljava/util/Formatter$FormatSpecifier;->precision:I
-Ljava/util/Formatter$FormatSpecifier;->print(BLjava/util/Locale;)V
-Ljava/util/Formatter$FormatSpecifier;->print(DLjava/util/Locale;)V
-Ljava/util/Formatter$FormatSpecifier;->print(FLjava/util/Locale;)V
-Ljava/util/Formatter$FormatSpecifier;->print(ILjava/util/Locale;)V
-Ljava/util/Formatter$FormatSpecifier;->print(JLjava/util/Locale;)V
-Ljava/util/Formatter$FormatSpecifier;->print(Ljava/lang/Object;Ljava/util/Locale;)V
-Ljava/util/Formatter$FormatSpecifier;->print(Ljava/lang/String;)V
-Ljava/util/Formatter$FormatSpecifier;->print(Ljava/lang/StringBuilder;DLjava/util/Locale;Ljava/util/Formatter$Flags;CIZ)V
-Ljava/util/Formatter$FormatSpecifier;->print(Ljava/lang/StringBuilder;Ljava/math/BigDecimal;Ljava/util/Locale;Ljava/util/Formatter$Flags;CIZ)V
-Ljava/util/Formatter$FormatSpecifier;->print(Ljava/lang/StringBuilder;Ljava/time/temporal/TemporalAccessor;CLjava/util/Locale;)Ljava/lang/Appendable;
-Ljava/util/Formatter$FormatSpecifier;->print(Ljava/lang/StringBuilder;Ljava/util/Calendar;CLjava/util/Locale;)Ljava/lang/Appendable;
-Ljava/util/Formatter$FormatSpecifier;->print(Ljava/math/BigDecimal;Ljava/util/Locale;)V
-Ljava/util/Formatter$FormatSpecifier;->print(Ljava/math/BigInteger;Ljava/util/Locale;)V
-Ljava/util/Formatter$FormatSpecifier;->print(Ljava/time/temporal/TemporalAccessor;CLjava/util/Locale;)V
-Ljava/util/Formatter$FormatSpecifier;->print(Ljava/util/Calendar;CLjava/util/Locale;)V
-Ljava/util/Formatter$FormatSpecifier;->print(SLjava/util/Locale;)V
-Ljava/util/Formatter$FormatSpecifier;->printBoolean(Ljava/lang/Object;)V
-Ljava/util/Formatter$FormatSpecifier;->printCharacter(Ljava/lang/Object;)V
-Ljava/util/Formatter$FormatSpecifier;->printDateTime(Ljava/lang/Object;Ljava/util/Locale;)V
-Ljava/util/Formatter$FormatSpecifier;->printFloat(Ljava/lang/Object;Ljava/util/Locale;)V
-Ljava/util/Formatter$FormatSpecifier;->printHashCode(Ljava/lang/Object;)V
-Ljava/util/Formatter$FormatSpecifier;->printInteger(Ljava/lang/Object;Ljava/util/Locale;)V
-Ljava/util/Formatter$FormatSpecifier;->printString(Ljava/lang/Object;Ljava/util/Locale;)V
-Ljava/util/Formatter$FormatSpecifier;->trailingSign(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
-Ljava/util/Formatter$FormatSpecifier;->trailingZeros([CI)[C
-Ljava/util/Formatter$FormatSpecifier;->width()I
-Ljava/util/Formatter$FormatSpecifier;->width(Ljava/lang/String;)I
-Ljava/util/Formatter$FormatSpecifier;->width:I
-Ljava/util/Formatter$FormatSpecifierParser;
-Ljava/util/Formatter$FormatSpecifierParser;-><init>(Ljava/lang/String;I)V
-Ljava/util/Formatter$FormatSpecifierParser;->advance()C
-Ljava/util/Formatter$FormatSpecifierParser;->back(I)V
-Ljava/util/Formatter$FormatSpecifierParser;->conv:Ljava/lang/String;
-Ljava/util/Formatter$FormatSpecifierParser;->cursor:I
-Ljava/util/Formatter$FormatSpecifierParser;->FLAGS:Ljava/lang/String;
-Ljava/util/Formatter$FormatSpecifierParser;->flags:Ljava/lang/String;
-Ljava/util/Formatter$FormatSpecifierParser;->format:Ljava/lang/String;
-Ljava/util/Formatter$FormatSpecifierParser;->fs:Ljava/util/Formatter$FormatSpecifier;
-Ljava/util/Formatter$FormatSpecifierParser;->getEndIdx()I
-Ljava/util/Formatter$FormatSpecifierParser;->getFormatSpecifier()Ljava/util/Formatter$FormatSpecifier;
-Ljava/util/Formatter$FormatSpecifierParser;->index:Ljava/lang/String;
-Ljava/util/Formatter$FormatSpecifierParser;->isEnd()Z
-Ljava/util/Formatter$FormatSpecifierParser;->nextInt()Ljava/lang/String;
-Ljava/util/Formatter$FormatSpecifierParser;->nextIsInt()Z
-Ljava/util/Formatter$FormatSpecifierParser;->peek()C
-Ljava/util/Formatter$FormatSpecifierParser;->precision:Ljava/lang/String;
-Ljava/util/Formatter$FormatSpecifierParser;->tT:Ljava/lang/String;
-Ljava/util/Formatter$FormatSpecifierParser;->width:Ljava/lang/String;
-Ljava/util/Formatter$FormatString;
-Ljava/util/Formatter$FormatString;->index()I
-Ljava/util/Formatter$FormatString;->print(Ljava/lang/Object;Ljava/util/Locale;)V
-Ljava/util/Formatter;-><init>(Ljava/nio/charset/Charset;Ljava/util/Locale;Ljava/io/File;)V
-Ljava/util/Formatter;-><init>(Ljava/util/Locale;Ljava/lang/Appendable;)V
-Ljava/util/Formatter;->a:Ljava/lang/Appendable;
-Ljava/util/Formatter;->ensureOpen()V
-Ljava/util/Formatter;->getZero(Ljava/util/Locale;)C
-Ljava/util/Formatter;->l:Ljava/util/Locale;
-Ljava/util/Formatter;->lastException:Ljava/io/IOException;
-Ljava/util/Formatter;->MAX_FD_CHARS:I
-Ljava/util/Formatter;->nonNullAppendable(Ljava/lang/Appendable;)Ljava/lang/Appendable;
-Ljava/util/Formatter;->parse(Ljava/lang/String;)[Ljava/util/Formatter$FormatString;
-Ljava/util/Formatter;->scaleUp:D
-Ljava/util/Formatter;->toCharset(Ljava/lang/String;)Ljava/nio/charset/Charset;
-Ljava/util/Formatter;->zero:C
-Ljava/util/GregorianCalendar;-><init>(IIIIIII)V
-Ljava/util/GregorianCalendar;-><init>(J)V
-Ljava/util/GregorianCalendar;-><init>(Ljava/util/TimeZone;Ljava/util/Locale;Z)V
-Ljava/util/GregorianCalendar;->actualMonthLength()I
-Ljava/util/GregorianCalendar;->adjustDstOffsetForInvalidWallClock(JLjava/util/TimeZone;I)I
-Ljava/util/GregorianCalendar;->adjustForZoneAndDaylightSavingsTime(IJLjava/util/TimeZone;)J
-Ljava/util/GregorianCalendar;->BCE:I
-Ljava/util/GregorianCalendar;->cachedFixedDate:J
-Ljava/util/GregorianCalendar;->calsys:Lsun/util/calendar/BaseCalendar;
-Ljava/util/GregorianCalendar;->cdate:Lsun/util/calendar/BaseCalendar$Date;
-Ljava/util/GregorianCalendar;->CE:I
-Ljava/util/GregorianCalendar;->computeFields(II)I
-Ljava/util/GregorianCalendar;->DEFAULT_GREGORIAN_CUTOVER:J
-Ljava/util/GregorianCalendar;->EPOCH_OFFSET:I
-Ljava/util/GregorianCalendar;->EPOCH_YEAR:I
-Ljava/util/GregorianCalendar;->gcal:Lsun/util/calendar/Gregorian;
-Ljava/util/GregorianCalendar;->gdate:Lsun/util/calendar/BaseCalendar$Date;
-Ljava/util/GregorianCalendar;->getCalendarDate(J)Lsun/util/calendar/BaseCalendar$Date;
-Ljava/util/GregorianCalendar;->getCurrentFixedDate()J
-Ljava/util/GregorianCalendar;->getCutoverCalendarSystem()Lsun/util/calendar/BaseCalendar;
-Ljava/util/GregorianCalendar;->getFixedDate(Lsun/util/calendar/BaseCalendar;II)J
-Ljava/util/GregorianCalendar;->getFixedDateJan1(Lsun/util/calendar/BaseCalendar$Date;J)J
-Ljava/util/GregorianCalendar;->getFixedDateMonth1(Lsun/util/calendar/BaseCalendar$Date;J)J
-Ljava/util/GregorianCalendar;->getGregorianCutoverDate()Lsun/util/calendar/BaseCalendar$Date;
-Ljava/util/GregorianCalendar;->getJulianCalendarSystem()Lsun/util/calendar/BaseCalendar;
-Ljava/util/GregorianCalendar;->getLastJulianDate()Lsun/util/calendar/BaseCalendar$Date;
-Ljava/util/GregorianCalendar;->getNormalizedCalendar()Ljava/util/GregorianCalendar;
-Ljava/util/GregorianCalendar;->getRolledValue(IIII)I
-Ljava/util/GregorianCalendar;->getWeekNumber(JJ)I
-Ljava/util/GregorianCalendar;->getYearOffsetInMillis()J
-Ljava/util/GregorianCalendar;->gregorianCutover:J
-Ljava/util/GregorianCalendar;->gregorianCutoverDate:J
-Ljava/util/GregorianCalendar;->gregorianCutoverYear:I
-Ljava/util/GregorianCalendar;->gregorianCutoverYearJulian:I
-Ljava/util/GregorianCalendar;->internalGetEra()I
-Ljava/util/GregorianCalendar;->isCutoverYear(I)Z
-Ljava/util/GregorianCalendar;->jcal:Lsun/util/calendar/JulianCalendar;
-Ljava/util/GregorianCalendar;->jeras:[Lsun/util/calendar/Era;
-Ljava/util/GregorianCalendar;->LEAP_MONTH_LENGTH:[I
-Ljava/util/GregorianCalendar;->LEAST_MAX_VALUES:[I
-Ljava/util/GregorianCalendar;->MAX_VALUES:[I
-Ljava/util/GregorianCalendar;->MIN_VALUES:[I
-Ljava/util/GregorianCalendar;->monthLength(I)I
-Ljava/util/GregorianCalendar;->monthLength(II)I
-Ljava/util/GregorianCalendar;->MONTH_LENGTH:[I
-Ljava/util/GregorianCalendar;->ONE_DAY:J
-Ljava/util/GregorianCalendar;->ONE_HOUR:I
-Ljava/util/GregorianCalendar;->ONE_MINUTE:I
-Ljava/util/GregorianCalendar;->ONE_SECOND:I
-Ljava/util/GregorianCalendar;->ONE_WEEK:J
-Ljava/util/GregorianCalendar;->originalFields:[I
-Ljava/util/GregorianCalendar;->pinDayOfMonth()V
-Ljava/util/GregorianCalendar;->setGregorianChange(J)V
-Ljava/util/GregorianCalendar;->yearLength()I
-Ljava/util/GregorianCalendar;->yearLength(I)I
-Ljava/util/GregorianCalendar;->zoneOffsets:[I
-Ljava/util/HashMap$EntryIterator;
-Ljava/util/HashMap$EntryIterator;-><init>()V
-Ljava/util/HashMap$EntrySet;
-Ljava/util/HashMap$EntrySet;-><init>()V
-Ljava/util/HashMap$EntrySet;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/HashMap$EntrySpliterator;
-Ljava/util/HashMap$EntrySpliterator;-><init>(Ljava/util/HashMap;IIII)V
-Ljava/util/HashMap$EntrySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/HashMap$EntrySpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/HashMap$HashIterator;
-Ljava/util/HashMap$HashIterator;-><init>()V
-Ljava/util/HashMap$HashIterator;->current:Ljava/util/HashMap$Node;
-Ljava/util/HashMap$HashIterator;->expectedModCount:I
-Ljava/util/HashMap$HashIterator;->index:I
-Ljava/util/HashMap$HashIterator;->next:Ljava/util/HashMap$Node;
-Ljava/util/HashMap$HashIterator;->nextNode()Ljava/util/HashMap$Node;
-Ljava/util/HashMap$HashMapSpliterator;
-Ljava/util/HashMap$HashMapSpliterator;-><init>(Ljava/util/HashMap;IIII)V
-Ljava/util/HashMap$HashMapSpliterator;->current:Ljava/util/HashMap$Node;
-Ljava/util/HashMap$HashMapSpliterator;->est:I
-Ljava/util/HashMap$HashMapSpliterator;->estimateSize()J
-Ljava/util/HashMap$HashMapSpliterator;->expectedModCount:I
-Ljava/util/HashMap$HashMapSpliterator;->fence:I
-Ljava/util/HashMap$HashMapSpliterator;->getFence()I
-Ljava/util/HashMap$HashMapSpliterator;->index:I
-Ljava/util/HashMap$HashMapSpliterator;->map:Ljava/util/HashMap;
-Ljava/util/HashMap$KeyIterator;
-Ljava/util/HashMap$KeyIterator;-><init>()V
-Ljava/util/HashMap$KeySet;
-Ljava/util/HashMap$KeySet;-><init>()V
-Ljava/util/HashMap$KeySet;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/HashMap$KeySpliterator;
-Ljava/util/HashMap$KeySpliterator;-><init>(Ljava/util/HashMap;IIII)V
-Ljava/util/HashMap$KeySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/HashMap$KeySpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/HashMap$Node;
-Ljava/util/HashMap$Node;-><init>(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)V
-Ljava/util/HashMap$Node;->hash:I
-Ljava/util/HashMap$TreeNode;
-Ljava/util/HashMap$TreeNode;-><init>(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)V
-Ljava/util/HashMap$TreeNode;->balanceDeletion(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
-Ljava/util/HashMap$TreeNode;->balanceInsertion(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
-Ljava/util/HashMap$TreeNode;->checkInvariants(Ljava/util/HashMap$TreeNode;)Z
-Ljava/util/HashMap$TreeNode;->find(ILjava/lang/Object;Ljava/lang/Class;)Ljava/util/HashMap$TreeNode;
-Ljava/util/HashMap$TreeNode;->getTreeNode(ILjava/lang/Object;)Ljava/util/HashMap$TreeNode;
-Ljava/util/HashMap$TreeNode;->left:Ljava/util/HashMap$TreeNode;
-Ljava/util/HashMap$TreeNode;->moveRootToFront([Ljava/util/HashMap$Node;Ljava/util/HashMap$TreeNode;)V
-Ljava/util/HashMap$TreeNode;->parent:Ljava/util/HashMap$TreeNode;
-Ljava/util/HashMap$TreeNode;->prev:Ljava/util/HashMap$TreeNode;
-Ljava/util/HashMap$TreeNode;->putTreeVal(Ljava/util/HashMap;[Ljava/util/HashMap$Node;ILjava/lang/Object;Ljava/lang/Object;)Ljava/util/HashMap$TreeNode;
-Ljava/util/HashMap$TreeNode;->red:Z
-Ljava/util/HashMap$TreeNode;->removeTreeNode(Ljava/util/HashMap;[Ljava/util/HashMap$Node;Z)V
-Ljava/util/HashMap$TreeNode;->right:Ljava/util/HashMap$TreeNode;
-Ljava/util/HashMap$TreeNode;->root()Ljava/util/HashMap$TreeNode;
-Ljava/util/HashMap$TreeNode;->rotateLeft(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
-Ljava/util/HashMap$TreeNode;->rotateRight(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
-Ljava/util/HashMap$TreeNode;->split(Ljava/util/HashMap;[Ljava/util/HashMap$Node;II)V
-Ljava/util/HashMap$TreeNode;->tieBreakOrder(Ljava/lang/Object;Ljava/lang/Object;)I
-Ljava/util/HashMap$TreeNode;->treeify([Ljava/util/HashMap$Node;)V
-Ljava/util/HashMap$TreeNode;->untreeify(Ljava/util/HashMap;)Ljava/util/HashMap$Node;
-Ljava/util/HashMap$ValueIterator;
-Ljava/util/HashMap$ValueIterator;-><init>()V
-Ljava/util/HashMap$Values;
-Ljava/util/HashMap$Values;-><init>()V
-Ljava/util/HashMap$Values;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/HashMap$ValueSpliterator;
-Ljava/util/HashMap$ValueSpliterator;-><init>(Ljava/util/HashMap;IIII)V
-Ljava/util/HashMap$ValueSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/HashMap$ValueSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/HashMap;->afterNodeAccess(Ljava/util/HashMap$Node;)V
-Ljava/util/HashMap;->afterNodeInsertion(Z)V
-Ljava/util/HashMap;->afterNodeRemoval(Ljava/util/HashMap$Node;)V
-Ljava/util/HashMap;->capacity()I
-Ljava/util/HashMap;->comparableClassFor(Ljava/lang/Object;)Ljava/lang/Class;
-Ljava/util/HashMap;->compareComparables(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;)I
-Ljava/util/HashMap;->DEFAULT_INITIAL_CAPACITY:I
-Ljava/util/HashMap;->DEFAULT_LOAD_FACTOR:F
-Ljava/util/HashMap;->entrySet:Ljava/util/Set;
-Ljava/util/HashMap;->getNode(ILjava/lang/Object;)Ljava/util/HashMap$Node;
-Ljava/util/HashMap;->hash(Ljava/lang/Object;)I
-Ljava/util/HashMap;->internalWriteEntries(Ljava/io/ObjectOutputStream;)V
-Ljava/util/HashMap;->loadFactor()F
-Ljava/util/HashMap;->loadFactor:F
-Ljava/util/HashMap;->MAXIMUM_CAPACITY:I
-Ljava/util/HashMap;->MIN_TREEIFY_CAPACITY:I
-Ljava/util/HashMap;->newNode(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)Ljava/util/HashMap$Node;
-Ljava/util/HashMap;->newTreeNode(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)Ljava/util/HashMap$TreeNode;
-Ljava/util/HashMap;->putMapEntries(Ljava/util/Map;Z)V
-Ljava/util/HashMap;->putVal(ILjava/lang/Object;Ljava/lang/Object;ZZ)Ljava/lang/Object;
-Ljava/util/HashMap;->reinitialize()V
-Ljava/util/HashMap;->removeNode(ILjava/lang/Object;Ljava/lang/Object;ZZ)Ljava/util/HashMap$Node;
-Ljava/util/HashMap;->replacementNode(Ljava/util/HashMap$Node;Ljava/util/HashMap$Node;)Ljava/util/HashMap$Node;
-Ljava/util/HashMap;->replacementTreeNode(Ljava/util/HashMap$Node;Ljava/util/HashMap$Node;)Ljava/util/HashMap$TreeNode;
-Ljava/util/HashMap;->resize()[Ljava/util/HashMap$Node;
-Ljava/util/HashMap;->size:I
-Ljava/util/HashMap;->tableSizeFor(I)I
-Ljava/util/HashMap;->threshold:I
-Ljava/util/HashMap;->treeifyBin([Ljava/util/HashMap$Node;I)V
-Ljava/util/HashMap;->TREEIFY_THRESHOLD:I
-Ljava/util/HashMap;->UNTREEIFY_THRESHOLD:I
-Ljava/util/HashSet;-><init>(IFZ)V
-Ljava/util/HashSet;->PRESENT:Ljava/lang/Object;
-Ljava/util/Hashtable$EntrySet;
-Ljava/util/Hashtable$EntrySet;-><init>()V
-Ljava/util/Hashtable$EntrySet;->add(Ljava/util/Map$Entry;)Z
-Ljava/util/Hashtable$Enumerator;
-Ljava/util/Hashtable$Enumerator;-><init>(IZ)V
-Ljava/util/Hashtable$Enumerator;->entry:Ljava/util/Hashtable$HashtableEntry;
-Ljava/util/Hashtable$Enumerator;->expectedModCount:I
-Ljava/util/Hashtable$Enumerator;->index:I
-Ljava/util/Hashtable$Enumerator;->iterator:Z
-Ljava/util/Hashtable$Enumerator;->lastReturned:Ljava/util/Hashtable$HashtableEntry;
-Ljava/util/Hashtable$Enumerator;->table:[Ljava/util/Hashtable$HashtableEntry;
-Ljava/util/Hashtable$Enumerator;->type:I
-Ljava/util/Hashtable$HashtableEntry;
-Ljava/util/Hashtable$HashtableEntry;-><init>(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/Hashtable$HashtableEntry;)V
-Ljava/util/Hashtable$HashtableEntry;->hash:I
-Ljava/util/Hashtable$HashtableEntry;->key:Ljava/lang/Object;
-Ljava/util/Hashtable$HashtableEntry;->next:Ljava/util/Hashtable$HashtableEntry;
-Ljava/util/Hashtable$HashtableEntry;->value:Ljava/lang/Object;
-Ljava/util/Hashtable$KeySet;
-Ljava/util/Hashtable$KeySet;-><init>()V
-Ljava/util/Hashtable$ValueCollection;
-Ljava/util/Hashtable$ValueCollection;-><init>()V
-Ljava/util/Hashtable;->addEntry(ILjava/lang/Object;Ljava/lang/Object;I)V
-Ljava/util/Hashtable;->count:I
-Ljava/util/Hashtable;->ENTRIES:I
-Ljava/util/Hashtable;->entrySet:Ljava/util/Set;
-Ljava/util/Hashtable;->getEnumeration(I)Ljava/util/Enumeration;
-Ljava/util/Hashtable;->getIterator(I)Ljava/util/Iterator;
-Ljava/util/Hashtable;->KEYS:I
-Ljava/util/Hashtable;->keySet:Ljava/util/Set;
-Ljava/util/Hashtable;->loadFactor:F
-Ljava/util/Hashtable;->MAX_ARRAY_SIZE:I
-Ljava/util/Hashtable;->modCount:I
-Ljava/util/Hashtable;->reconstitutionPut([Ljava/util/Hashtable$HashtableEntry;Ljava/lang/Object;Ljava/lang/Object;)V
-Ljava/util/Hashtable;->table:[Ljava/util/Hashtable$HashtableEntry;
-Ljava/util/Hashtable;->threshold:I
-Ljava/util/Hashtable;->VALUES:I
-Ljava/util/Hashtable;->values:Ljava/util/Collection;
-Ljava/util/IdentityHashMap$EntryIterator$Entry;
-Ljava/util/IdentityHashMap$EntryIterator$Entry;-><init>(I)V
-Ljava/util/IdentityHashMap$EntryIterator$Entry;->checkIndexForEntryUse()V
-Ljava/util/IdentityHashMap$EntryIterator$Entry;->index:I
-Ljava/util/IdentityHashMap$EntryIterator;
-Ljava/util/IdentityHashMap$EntryIterator;-><init>()V
-Ljava/util/IdentityHashMap$EntryIterator;->lastReturnedEntry:Ljava/util/IdentityHashMap$EntryIterator$Entry;
-Ljava/util/IdentityHashMap$EntrySet;
-Ljava/util/IdentityHashMap$EntrySet;-><init>()V
-Ljava/util/IdentityHashMap$EntrySpliterator;
-Ljava/util/IdentityHashMap$EntrySpliterator;-><init>(Ljava/util/IdentityHashMap;IIII)V
-Ljava/util/IdentityHashMap$EntrySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/IdentityHashMap$EntrySpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/IdentityHashMap$IdentityHashMapIterator;
-Ljava/util/IdentityHashMap$IdentityHashMapIterator;-><init>()V
-Ljava/util/IdentityHashMap$IdentityHashMapIterator;->expectedModCount:I
-Ljava/util/IdentityHashMap$IdentityHashMapIterator;->index:I
-Ljava/util/IdentityHashMap$IdentityHashMapIterator;->indexValid:Z
-Ljava/util/IdentityHashMap$IdentityHashMapIterator;->lastReturnedIndex:I
-Ljava/util/IdentityHashMap$IdentityHashMapIterator;->nextIndex()I
-Ljava/util/IdentityHashMap$IdentityHashMapIterator;->traversalTable:[Ljava/lang/Object;
-Ljava/util/IdentityHashMap$IdentityHashMapSpliterator;
-Ljava/util/IdentityHashMap$IdentityHashMapSpliterator;-><init>(Ljava/util/IdentityHashMap;IIII)V
-Ljava/util/IdentityHashMap$IdentityHashMapSpliterator;->est:I
-Ljava/util/IdentityHashMap$IdentityHashMapSpliterator;->estimateSize()J
-Ljava/util/IdentityHashMap$IdentityHashMapSpliterator;->expectedModCount:I
-Ljava/util/IdentityHashMap$IdentityHashMapSpliterator;->fence:I
-Ljava/util/IdentityHashMap$IdentityHashMapSpliterator;->getFence()I
-Ljava/util/IdentityHashMap$IdentityHashMapSpliterator;->index:I
-Ljava/util/IdentityHashMap$IdentityHashMapSpliterator;->map:Ljava/util/IdentityHashMap;
-Ljava/util/IdentityHashMap$KeyIterator;
-Ljava/util/IdentityHashMap$KeyIterator;-><init>()V
-Ljava/util/IdentityHashMap$KeySet;
-Ljava/util/IdentityHashMap$KeySet;-><init>()V
-Ljava/util/IdentityHashMap$KeySpliterator;
-Ljava/util/IdentityHashMap$KeySpliterator;-><init>(Ljava/util/IdentityHashMap;IIII)V
-Ljava/util/IdentityHashMap$KeySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/IdentityHashMap$KeySpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/IdentityHashMap$ValueIterator;
-Ljava/util/IdentityHashMap$ValueIterator;-><init>()V
-Ljava/util/IdentityHashMap$Values;
-Ljava/util/IdentityHashMap$Values;-><init>()V
-Ljava/util/IdentityHashMap$ValueSpliterator;
-Ljava/util/IdentityHashMap$ValueSpliterator;-><init>(Ljava/util/IdentityHashMap;IIII)V
-Ljava/util/IdentityHashMap$ValueSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/IdentityHashMap$ValueSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/IdentityHashMap;->capacity(I)I
-Ljava/util/IdentityHashMap;->closeDeletion(I)V
-Ljava/util/IdentityHashMap;->containsMapping(Ljava/lang/Object;Ljava/lang/Object;)Z
-Ljava/util/IdentityHashMap;->DEFAULT_CAPACITY:I
-Ljava/util/IdentityHashMap;->entrySet:Ljava/util/Set;
-Ljava/util/IdentityHashMap;->hash(Ljava/lang/Object;I)I
-Ljava/util/IdentityHashMap;->init(I)V
-Ljava/util/IdentityHashMap;->maskNull(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/IdentityHashMap;->MAXIMUM_CAPACITY:I
-Ljava/util/IdentityHashMap;->MINIMUM_CAPACITY:I
-Ljava/util/IdentityHashMap;->modCount:I
-Ljava/util/IdentityHashMap;->nextKeyIndex(II)I
-Ljava/util/IdentityHashMap;->NULL_KEY:Ljava/lang/Object;
-Ljava/util/IdentityHashMap;->putForCreate(Ljava/lang/Object;Ljava/lang/Object;)V
-Ljava/util/IdentityHashMap;->removeMapping(Ljava/lang/Object;Ljava/lang/Object;)Z
-Ljava/util/IdentityHashMap;->resize(I)Z
-Ljava/util/IdentityHashMap;->size:I
-Ljava/util/IdentityHashMap;->table:[Ljava/lang/Object;
-Ljava/util/IdentityHashMap;->unmaskNull(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/IllegalFormatCodePointException;->c:I
-Ljava/util/IllegalFormatConversionException;->arg:Ljava/lang/Class;
-Ljava/util/IllegalFormatConversionException;->c:C
-Ljava/util/IllegalFormatException;-><init>()V
-Ljava/util/IllegalFormatFlagsException;->flags:Ljava/lang/String;
-Ljava/util/IllegalFormatPrecisionException;->p:I
-Ljava/util/IllegalFormatWidthException;->w:I
-Ljava/util/IllformedLocaleException;->_errIdx:I
-Ljava/util/IntSummaryStatistics;->count:J
-Ljava/util/IntSummaryStatistics;->max:I
-Ljava/util/IntSummaryStatistics;->min:I
-Ljava/util/IntSummaryStatistics;->sum:J
-Ljava/util/jar/Attributes$Name;->hashCode:I
-Ljava/util/jar/Attributes$Name;->isAlpha(C)Z
-Ljava/util/jar/Attributes$Name;->isDigit(C)Z
-Ljava/util/jar/Attributes$Name;->isValid(C)Z
-Ljava/util/jar/Attributes$Name;->isValid(Ljava/lang/String;)Z
-Ljava/util/jar/Attributes$Name;->name:Ljava/lang/String;
-Ljava/util/jar/Attributes$Name;->NAME:Ljava/util/jar/Attributes$Name;
-Ljava/util/jar/Attributes;->read(Ljava/util/jar/Manifest$FastInputStream;[B)V
-Ljava/util/jar/Attributes;->write(Ljava/io/DataOutputStream;)V
-Ljava/util/jar/Attributes;->writeMain(Ljava/io/DataOutputStream;)V
-Ljava/util/jar/JarEntry;->attr:Ljava/util/jar/Attributes;
-Ljava/util/jar/JarEntry;->certs:[Ljava/security/cert/Certificate;
-Ljava/util/jar/JarEntry;->signers:[Ljava/security/CodeSigner;
-Ljava/util/jar/JarFile$JarEntryIterator;
-Ljava/util/jar/JarFile$JarEntryIterator;-><init>()V
-Ljava/util/jar/JarFile$JarEntryIterator;->e:Ljava/util/Enumeration;
-Ljava/util/jar/JarFile$JarFileEntry;
-Ljava/util/jar/JarFile$JarFileEntry;-><init>(Ljava/util/zip/ZipEntry;)V
-Ljava/util/jar/JarFile;->checkForSpecialAttributes()V
-Ljava/util/jar/JarFile;->CLASSPATH_CHARS:[C
-Ljava/util/jar/JarFile;->CLASSPATH_LASTOCC:[I
-Ljava/util/jar/JarFile;->CLASSPATH_OPTOSFT:[I
-Ljava/util/jar/JarFile;->getBytes(Ljava/util/zip/ZipEntry;)[B
-Ljava/util/jar/JarFile;->getManEntry()Ljava/util/jar/JarEntry;
-Ljava/util/jar/JarFile;->getManifestFromReference()Ljava/util/jar/Manifest;
-Ljava/util/jar/JarFile;->getMetaInfEntryNames()[Ljava/lang/String;
-Ljava/util/jar/JarFile;->hasCheckedSpecialAttributes:Z
-Ljava/util/jar/JarFile;->hasClassPathAttribute()Z
-Ljava/util/jar/JarFile;->hasClassPathAttribute:Z
-Ljava/util/jar/JarFile;->initializeVerifier()V
-Ljava/util/jar/JarFile;->jv:Ljava/util/jar/JarVerifier;
-Ljava/util/jar/JarFile;->jvInitialized:Z
-Ljava/util/jar/JarFile;->manEntry:Ljava/util/jar/JarEntry;
-Ljava/util/jar/JarFile;->match([C[B[I[I)Z
-Ljava/util/jar/JarFile;->maybeInstantiateVerifier()V
-Ljava/util/jar/JarFile;->META_DIR:Ljava/lang/String;
-Ljava/util/jar/JarFile;->newEntry(Ljava/util/zip/ZipEntry;)Ljava/util/jar/JarEntry;
-Ljava/util/jar/JarFile;->verify:Z
-Ljava/util/jar/JarInputStream;->checkManifest(Ljava/util/jar/JarEntry;)Ljava/util/jar/JarEntry;
-Ljava/util/jar/JarInputStream;->doVerify:Z
-Ljava/util/jar/JarInputStream;->first:Ljava/util/jar/JarEntry;
-Ljava/util/jar/JarInputStream;->getBytes(Ljava/io/InputStream;)[B
-Ljava/util/jar/JarInputStream;->jv:Ljava/util/jar/JarVerifier;
-Ljava/util/jar/JarInputStream;->man:Ljava/util/jar/Manifest;
-Ljava/util/jar/JarInputStream;->mev:Lsun/security/util/ManifestEntryVerifier;
-Ljava/util/jar/JarInputStream;->tryManifest:Z
-Ljava/util/jar/JarOutputStream;->firstEntry:Z
-Ljava/util/jar/JarOutputStream;->get16([BI)I
-Ljava/util/jar/JarOutputStream;->hasMagic([B)Z
-Ljava/util/jar/JarOutputStream;->JAR_MAGIC:I
-Ljava/util/jar/JarOutputStream;->set16([BII)V
-Ljava/util/jar/JarVerifier$VerifierCodeSource;
-Ljava/util/jar/JarVerifier$VerifierCodeSource;-><init>(Ljava/lang/Object;Ljava/net/URL;[Ljava/security/cert/Certificate;)V
-Ljava/util/jar/JarVerifier$VerifierCodeSource;-><init>(Ljava/lang/Object;Ljava/net/URL;[Ljava/security/CodeSigner;)V
-Ljava/util/jar/JarVerifier$VerifierCodeSource;->csdomain:Ljava/lang/Object;
-Ljava/util/jar/JarVerifier$VerifierCodeSource;->getPrivateCertificates()[Ljava/security/cert/Certificate;
-Ljava/util/jar/JarVerifier$VerifierCodeSource;->getPrivateSigners()[Ljava/security/CodeSigner;
-Ljava/util/jar/JarVerifier$VerifierCodeSource;->isSameDomain(Ljava/lang/Object;)Z
-Ljava/util/jar/JarVerifier$VerifierCodeSource;->vcerts:[Ljava/security/cert/Certificate;
-Ljava/util/jar/JarVerifier$VerifierCodeSource;->vlocation:Ljava/net/URL;
-Ljava/util/jar/JarVerifier$VerifierCodeSource;->vsigners:[Ljava/security/CodeSigner;
-Ljava/util/jar/JarVerifier$VerifierStream;
-Ljava/util/jar/JarVerifier$VerifierStream;-><init>(Ljava/util/jar/Manifest;Ljava/util/jar/JarEntry;Ljava/io/InputStream;Ljava/util/jar/JarVerifier;)V
-Ljava/util/jar/JarVerifier$VerifierStream;->is:Ljava/io/InputStream;
-Ljava/util/jar/JarVerifier$VerifierStream;->jv:Ljava/util/jar/JarVerifier;
-Ljava/util/jar/JarVerifier$VerifierStream;->mev:Lsun/security/util/ManifestEntryVerifier;
-Ljava/util/jar/JarVerifier$VerifierStream;->numLeft:J
-Ljava/util/jar/JarVerifier;
-Ljava/util/jar/JarVerifier;-><init>([B)V
-Ljava/util/jar/JarVerifier;->anyToVerify:Z
-Ljava/util/jar/JarVerifier;->baos:Ljava/io/ByteArrayOutputStream;
-Ljava/util/jar/JarVerifier;->beginEntry(Ljava/util/jar/JarEntry;Lsun/security/util/ManifestEntryVerifier;)V
-Ljava/util/jar/JarVerifier;->csdomain:Ljava/lang/Object;
-Ljava/util/jar/JarVerifier;->debug:Lsun/security/util/Debug;
-Ljava/util/jar/JarVerifier;->doneWithMeta()V
-Ljava/util/jar/JarVerifier;->eagerValidation:Z
-Ljava/util/jar/JarVerifier;->emptyEnumeration:Ljava/util/Enumeration;
-Ljava/util/jar/JarVerifier;->emptySigner:[Ljava/security/CodeSigner;
-Ljava/util/jar/JarVerifier;->entries2(Ljava/util/jar/JarFile;Ljava/util/Enumeration;)Ljava/util/Enumeration;
-Ljava/util/jar/JarVerifier;->entryNames(Ljava/util/jar/JarFile;[Ljava/security/CodeSource;)Ljava/util/Enumeration;
-Ljava/util/jar/JarVerifier;->findMatchingSigners(Ljava/security/CodeSource;)[Ljava/security/CodeSigner;
-Ljava/util/jar/JarVerifier;->getCerts(Ljava/lang/String;)[Ljava/security/cert/Certificate;
-Ljava/util/jar/JarVerifier;->getCerts(Ljava/util/jar/JarFile;Ljava/util/jar/JarEntry;)[Ljava/security/cert/Certificate;
-Ljava/util/jar/JarVerifier;->getCodeSigners(Ljava/lang/String;)[Ljava/security/CodeSigner;
-Ljava/util/jar/JarVerifier;->getCodeSigners(Ljava/util/jar/JarFile;Ljava/util/jar/JarEntry;)[Ljava/security/CodeSigner;
-Ljava/util/jar/JarVerifier;->getCodeSource(Ljava/net/URL;Ljava/lang/String;)Ljava/security/CodeSource;
-Ljava/util/jar/JarVerifier;->getCodeSource(Ljava/net/URL;Ljava/util/jar/JarFile;Ljava/util/jar/JarEntry;)Ljava/security/CodeSource;
-Ljava/util/jar/JarVerifier;->getCodeSources(Ljava/util/jar/JarFile;Ljava/net/URL;)[Ljava/security/CodeSource;
-Ljava/util/jar/JarVerifier;->getJarCodeSigners()Ljava/util/List;
-Ljava/util/jar/JarVerifier;->getManifestDigests()Ljava/util/List;
-Ljava/util/jar/JarVerifier;->getUnsignedCS(Ljava/net/URL;)Ljava/security/CodeSource;
-Ljava/util/jar/JarVerifier;->isSigningRelated(Ljava/lang/String;)Z
-Ljava/util/jar/JarVerifier;->jarCodeSigners:Ljava/util/List;
-Ljava/util/jar/JarVerifier;->lastURL:Ljava/net/URL;
-Ljava/util/jar/JarVerifier;->lastURLMap:Ljava/util/Map;
-Ljava/util/jar/JarVerifier;->manDig:Lsun/security/util/ManifestDigester;
-Ljava/util/jar/JarVerifier;->manifestDigests:Ljava/util/List;
-Ljava/util/jar/JarVerifier;->manifestRawBytes:[B
-Ljava/util/jar/JarVerifier;->mapSignersToCertArray([Ljava/security/CodeSigner;)[Ljava/security/cert/Certificate;
-Ljava/util/jar/JarVerifier;->mapSignersToCodeSource(Ljava/net/URL;[Ljava/security/CodeSigner;)Ljava/security/CodeSource;
-Ljava/util/jar/JarVerifier;->mapSignersToCodeSources(Ljava/net/URL;Ljava/util/List;Z)[Ljava/security/CodeSource;
-Ljava/util/jar/JarVerifier;->nothingToVerify()Z
-Ljava/util/jar/JarVerifier;->parsingBlockOrSF:Z
-Ljava/util/jar/JarVerifier;->parsingMeta:Z
-Ljava/util/jar/JarVerifier;->pendingBlocks:Ljava/util/ArrayList;
-Ljava/util/jar/JarVerifier;->processEntry(Lsun/security/util/ManifestEntryVerifier;)V
-Ljava/util/jar/JarVerifier;->setEagerValidation(Z)V
-Ljava/util/jar/JarVerifier;->sigFileData:Ljava/util/Hashtable;
-Ljava/util/jar/JarVerifier;->sigFileSigners:Ljava/util/Hashtable;
-Ljava/util/jar/JarVerifier;->signerCache:Ljava/util/ArrayList;
-Ljava/util/jar/JarVerifier;->signerMap()Ljava/util/Map;
-Ljava/util/jar/JarVerifier;->signerMap:Ljava/util/Map;
-Ljava/util/jar/JarVerifier;->signerToCodeSource:Ljava/util/Map;
-Ljava/util/jar/JarVerifier;->unsignedEntryNames(Ljava/util/jar/JarFile;)Ljava/util/Enumeration;
-Ljava/util/jar/JarVerifier;->update(ILsun/security/util/ManifestEntryVerifier;)V
-Ljava/util/jar/JarVerifier;->update(I[BIILsun/security/util/ManifestEntryVerifier;)V
-Ljava/util/jar/JarVerifier;->urlToCodeSourceMap:Ljava/util/Map;
-Ljava/util/jar/JarVerifier;->verifiedSigners:Ljava/util/Hashtable;
-Ljava/util/jar/Manifest$FastInputStream;
-Ljava/util/jar/Manifest$FastInputStream;-><init>(Ljava/io/InputStream;)V
-Ljava/util/jar/Manifest$FastInputStream;-><init>(Ljava/io/InputStream;I)V
-Ljava/util/jar/Manifest$FastInputStream;->buf:[B
-Ljava/util/jar/Manifest$FastInputStream;->count:I
-Ljava/util/jar/Manifest$FastInputStream;->fill()V
-Ljava/util/jar/Manifest$FastInputStream;->peek()B
-Ljava/util/jar/Manifest$FastInputStream;->pos:I
-Ljava/util/jar/Manifest$FastInputStream;->readLine([B)I
-Ljava/util/jar/Manifest$FastInputStream;->readLine([BII)I
-Ljava/util/jar/Manifest;->attr:Ljava/util/jar/Attributes;
-Ljava/util/jar/Manifest;->entries:Ljava/util/Map;
-Ljava/util/jar/Manifest;->make72Safe(Ljava/lang/StringBuffer;)V
-Ljava/util/jar/Manifest;->parseName([BI)Ljava/lang/String;
-Ljava/util/jar/Manifest;->toLower(I)I
-Ljava/util/jar/Pack200;-><init>()V
-Ljava/util/jar/Pack200;->newInstance(Ljava/lang/String;)Ljava/lang/Object;
-Ljava/util/jar/Pack200;->packerImpl:Ljava/lang/Class;
-Ljava/util/jar/Pack200;->PACK_PROVIDER:Ljava/lang/String;
-Ljava/util/jar/Pack200;->unpackerImpl:Ljava/lang/Class;
-Ljava/util/jar/Pack200;->UNPACK_PROVIDER:Ljava/lang/String;
-Ljava/util/LinkedHashMap$LinkedEntryIterator;
-Ljava/util/LinkedHashMap$LinkedEntryIterator;-><init>()V
-Ljava/util/LinkedHashMap$LinkedEntrySet;
-Ljava/util/LinkedHashMap$LinkedEntrySet;-><init>()V
-Ljava/util/LinkedHashMap$LinkedEntrySet;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/LinkedHashMap$LinkedHashIterator;
-Ljava/util/LinkedHashMap$LinkedHashIterator;-><init>()V
-Ljava/util/LinkedHashMap$LinkedHashIterator;->current:Ljava/util/LinkedHashMap$LinkedHashMapEntry;
-Ljava/util/LinkedHashMap$LinkedHashIterator;->expectedModCount:I
-Ljava/util/LinkedHashMap$LinkedHashIterator;->next:Ljava/util/LinkedHashMap$LinkedHashMapEntry;
-Ljava/util/LinkedHashMap$LinkedHashIterator;->nextNode()Ljava/util/LinkedHashMap$LinkedHashMapEntry;
-Ljava/util/LinkedHashMap$LinkedHashIterator;->remove()V
-Ljava/util/LinkedHashMap$LinkedHashMapEntry;
-Ljava/util/LinkedHashMap$LinkedHashMapEntry;-><init>(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)V
-Ljava/util/LinkedHashMap$LinkedHashMapEntry;->after:Ljava/util/LinkedHashMap$LinkedHashMapEntry;
-Ljava/util/LinkedHashMap$LinkedHashMapEntry;->before:Ljava/util/LinkedHashMap$LinkedHashMapEntry;
-Ljava/util/LinkedHashMap$LinkedKeyIterator;
-Ljava/util/LinkedHashMap$LinkedKeyIterator;-><init>()V
-Ljava/util/LinkedHashMap$LinkedKeySet;
-Ljava/util/LinkedHashMap$LinkedKeySet;-><init>()V
-Ljava/util/LinkedHashMap$LinkedKeySet;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/LinkedHashMap$LinkedValueIterator;
-Ljava/util/LinkedHashMap$LinkedValueIterator;-><init>()V
-Ljava/util/LinkedHashMap$LinkedValues;
-Ljava/util/LinkedHashMap$LinkedValues;-><init>()V
-Ljava/util/LinkedHashMap$LinkedValues;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/LinkedHashMap;->afterNodeAccess(Ljava/util/HashMap$Node;)V
-Ljava/util/LinkedHashMap;->afterNodeInsertion(Z)V
-Ljava/util/LinkedHashMap;->afterNodeRemoval(Ljava/util/HashMap$Node;)V
-Ljava/util/LinkedHashMap;->head:Ljava/util/LinkedHashMap$LinkedHashMapEntry;
-Ljava/util/LinkedHashMap;->internalWriteEntries(Ljava/io/ObjectOutputStream;)V
-Ljava/util/LinkedHashMap;->linkNodeLast(Ljava/util/LinkedHashMap$LinkedHashMapEntry;)V
-Ljava/util/LinkedHashMap;->newNode(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)Ljava/util/HashMap$Node;
-Ljava/util/LinkedHashMap;->newTreeNode(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)Ljava/util/HashMap$TreeNode;
-Ljava/util/LinkedHashMap;->reinitialize()V
-Ljava/util/LinkedHashMap;->replacementNode(Ljava/util/HashMap$Node;Ljava/util/HashMap$Node;)Ljava/util/HashMap$Node;
-Ljava/util/LinkedHashMap;->replacementTreeNode(Ljava/util/HashMap$Node;Ljava/util/HashMap$Node;)Ljava/util/HashMap$TreeNode;
-Ljava/util/LinkedHashMap;->tail:Ljava/util/LinkedHashMap$LinkedHashMapEntry;
-Ljava/util/LinkedHashMap;->transferLinks(Ljava/util/LinkedHashMap$LinkedHashMapEntry;Ljava/util/LinkedHashMap$LinkedHashMapEntry;)V
-Ljava/util/LinkedList$DescendingIterator;
-Ljava/util/LinkedList$DescendingIterator;-><init>()V
-Ljava/util/LinkedList$DescendingIterator;->itr:Ljava/util/LinkedList$ListItr;
-Ljava/util/LinkedList$ListItr;
-Ljava/util/LinkedList$ListItr;-><init>(I)V
-Ljava/util/LinkedList$ListItr;->checkForComodification()V
-Ljava/util/LinkedList$ListItr;->expectedModCount:I
-Ljava/util/LinkedList$ListItr;->lastReturned:Ljava/util/LinkedList$Node;
-Ljava/util/LinkedList$ListItr;->next:Ljava/util/LinkedList$Node;
-Ljava/util/LinkedList$ListItr;->nextIndex:I
-Ljava/util/LinkedList$LLSpliterator;
-Ljava/util/LinkedList$LLSpliterator;-><init>(Ljava/util/LinkedList;II)V
-Ljava/util/LinkedList$LLSpliterator;->batch:I
-Ljava/util/LinkedList$LLSpliterator;->BATCH_UNIT:I
-Ljava/util/LinkedList$LLSpliterator;->current:Ljava/util/LinkedList$Node;
-Ljava/util/LinkedList$LLSpliterator;->est:I
-Ljava/util/LinkedList$LLSpliterator;->expectedModCount:I
-Ljava/util/LinkedList$LLSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/LinkedList$LLSpliterator;->getEst()I
-Ljava/util/LinkedList$LLSpliterator;->list:Ljava/util/LinkedList;
-Ljava/util/LinkedList$LLSpliterator;->MAX_BATCH:I
-Ljava/util/LinkedList$LLSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/LinkedList$Node;
-Ljava/util/LinkedList$Node;-><init>(Ljava/util/LinkedList$Node;Ljava/lang/Object;Ljava/util/LinkedList$Node;)V
-Ljava/util/LinkedList$Node;->prev:Ljava/util/LinkedList$Node;
-Ljava/util/LinkedList;->checkElementIndex(I)V
-Ljava/util/LinkedList;->checkPositionIndex(I)V
-Ljava/util/LinkedList;->isElementIndex(I)Z
-Ljava/util/LinkedList;->isPositionIndex(I)Z
-Ljava/util/LinkedList;->last:Ljava/util/LinkedList$Node;
-Ljava/util/LinkedList;->linkBefore(Ljava/lang/Object;Ljava/util/LinkedList$Node;)V
-Ljava/util/LinkedList;->linkFirst(Ljava/lang/Object;)V
-Ljava/util/LinkedList;->linkLast(Ljava/lang/Object;)V
-Ljava/util/LinkedList;->node(I)Ljava/util/LinkedList$Node;
-Ljava/util/LinkedList;->outOfBoundsMsg(I)Ljava/lang/String;
-Ljava/util/LinkedList;->superClone()Ljava/util/LinkedList;
-Ljava/util/LinkedList;->unlink(Ljava/util/LinkedList$Node;)Ljava/lang/Object;
-Ljava/util/LinkedList;->unlinkFirst(Ljava/util/LinkedList$Node;)Ljava/lang/Object;
-Ljava/util/LinkedList;->unlinkLast(Ljava/util/LinkedList$Node;)Ljava/lang/Object;
-Ljava/util/ListResourceBundle;->loadLookup()V
-Ljava/util/ListResourceBundle;->lookup:Ljava/util/Map;
-Ljava/util/Locale$Builder;->localeBuilder:Lsun/util/locale/InternalLocaleBuilder;
-Ljava/util/Locale$Cache;
-Ljava/util/Locale$Cache;-><init>()V
-Ljava/util/Locale$Cache;->createObject(Ljava/util/Locale$LocaleKey;)Ljava/util/Locale;
-Ljava/util/Locale$Category;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Ljava/util/Locale$Category;->countryKey:Ljava/lang/String;
-Ljava/util/Locale$Category;->languageKey:Ljava/lang/String;
-Ljava/util/Locale$Category;->scriptKey:Ljava/lang/String;
-Ljava/util/Locale$Category;->variantKey:Ljava/lang/String;
-Ljava/util/Locale$FilteringMode;-><init>()V
-Ljava/util/Locale$LanguageRange;->hash:I
-Ljava/util/Locale$LanguageRange;->isSubtagIllFormed(Ljava/lang/String;Z)Z
-Ljava/util/Locale$LanguageRange;->range:Ljava/lang/String;
-Ljava/util/Locale$LanguageRange;->weight:D
-Ljava/util/Locale$LocaleKey;
-Ljava/util/Locale$LocaleKey;-><init>(Lsun/util/locale/BaseLocale;Lsun/util/locale/LocaleExtensions;)V
-Ljava/util/Locale$LocaleKey;->base:Lsun/util/locale/BaseLocale;
-Ljava/util/Locale$LocaleKey;->exts:Lsun/util/locale/LocaleExtensions;
-Ljava/util/Locale$LocaleKey;->hash:I
-Ljava/util/Locale$NoImagePreloadHolder;
-Ljava/util/Locale$NoImagePreloadHolder;-><init>()V
-Ljava/util/Locale$NoImagePreloadHolder;->defaultLocale:Ljava/util/Locale;
-Ljava/util/Locale;-><init>(Lsun/util/locale/BaseLocale;Lsun/util/locale/LocaleExtensions;)V
-Ljava/util/Locale;->adjustLanguageCode(Ljava/lang/String;)Ljava/lang/String;
-Ljava/util/Locale;->baseLocale:Lsun/util/locale/BaseLocale;
-Ljava/util/Locale;->composeList(Ljava/text/MessageFormat;[Ljava/lang/String;)[Ljava/lang/String;
-Ljava/util/Locale;->convertOldISOCodes(Ljava/lang/String;)Ljava/lang/String;
-Ljava/util/Locale;->defaultDisplayLocale:Ljava/util/Locale;
-Ljava/util/Locale;->defaultFormatLocale:Ljava/util/Locale;
-Ljava/util/Locale;->DISPLAY_COUNTRY:I
-Ljava/util/Locale;->DISPLAY_LANGUAGE:I
-Ljava/util/Locale;->DISPLAY_SCRIPT:I
-Ljava/util/Locale;->DISPLAY_VARIANT:I
-Ljava/util/Locale;->formatList([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Ljava/util/Locale;->getBaseLocale()Lsun/util/locale/BaseLocale;
-Ljava/util/Locale;->getCompatibilityExtensions(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lsun/util/locale/LocaleExtensions;
-Ljava/util/Locale;->getInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Locale;
-Ljava/util/Locale;->getInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lsun/util/locale/LocaleExtensions;)Ljava/util/Locale;
-Ljava/util/Locale;->getLocaleExtensions()Lsun/util/locale/LocaleExtensions;
-Ljava/util/Locale;->hashCodeValue:I
-Ljava/util/Locale;->initDefault()Ljava/util/Locale;
-Ljava/util/Locale;->initDefault(Ljava/util/Locale$Category;)Ljava/util/Locale;
-Ljava/util/Locale;->isAsciiAlphaNum(Ljava/lang/String;)Z
-Ljava/util/Locale;->isoCountries:[Ljava/lang/String;
-Ljava/util/Locale;->isoLanguages:[Ljava/lang/String;
-Ljava/util/Locale;->isUnicodeExtensionKey(Ljava/lang/String;)Z
-Ljava/util/Locale;->isUnM49AreaCode(Ljava/lang/String;)Z
-Ljava/util/Locale;->isValidBcp47Alpha(Ljava/lang/String;II)Z
-Ljava/util/Locale;->isValidVariantSubtag(Ljava/lang/String;)Z
-Ljava/util/Locale;->languageTag:Ljava/lang/String;
-Ljava/util/Locale;->LOCALECACHE:Ljava/util/Locale$Cache;
-Ljava/util/Locale;->localeExtensions:Lsun/util/locale/LocaleExtensions;
-Ljava/util/Locale;->normalizeAndValidateLanguage(Ljava/lang/String;Z)Ljava/lang/String;
-Ljava/util/Locale;->normalizeAndValidateRegion(Ljava/lang/String;Z)Ljava/lang/String;
-Ljava/util/Locale;->normalizeAndValidateVariant(Ljava/lang/String;)Ljava/lang/String;
-Ljava/util/Locale;->UNDETERMINED_LANGUAGE:Ljava/lang/String;
-Ljava/util/logging/ConsoleHandler;->configure()V
-Ljava/util/logging/ErrorManager;->reported:Z
-Ljava/util/logging/FileHandler$InitializationErrorManager;
-Ljava/util/logging/FileHandler$InitializationErrorManager;-><init>()V
-Ljava/util/logging/FileHandler$InitializationErrorManager;->lastException:Ljava/lang/Exception;
-Ljava/util/logging/FileHandler$MeteredStream;
-Ljava/util/logging/FileHandler$MeteredStream;-><init>(Ljava/io/OutputStream;I)V
-Ljava/util/logging/FileHandler$MeteredStream;->out:Ljava/io/OutputStream;
-Ljava/util/logging/FileHandler$MeteredStream;->written:I
-Ljava/util/logging/FileHandler;->append:Z
-Ljava/util/logging/FileHandler;->configure()V
-Ljava/util/logging/FileHandler;->count:I
-Ljava/util/logging/FileHandler;->files:[Ljava/io/File;
-Ljava/util/logging/FileHandler;->generate(Ljava/lang/String;II)Ljava/io/File;
-Ljava/util/logging/FileHandler;->isParentWritable(Ljava/nio/file/Path;)Z
-Ljava/util/logging/FileHandler;->limit:I
-Ljava/util/logging/FileHandler;->lockFileChannel:Ljava/nio/channels/FileChannel;
-Ljava/util/logging/FileHandler;->lockFileName:Ljava/lang/String;
-Ljava/util/logging/FileHandler;->locks:Ljava/util/Set;
-Ljava/util/logging/FileHandler;->MAX_LOCKS:I
-Ljava/util/logging/FileHandler;->meter:Ljava/util/logging/FileHandler$MeteredStream;
-Ljava/util/logging/FileHandler;->open(Ljava/io/File;Z)V
-Ljava/util/logging/FileHandler;->openFiles()V
-Ljava/util/logging/FileHandler;->pattern:Ljava/lang/String;
-Ljava/util/logging/FileHandler;->rotate()V
-Ljava/util/logging/Handler;->checkPermission()V
-Ljava/util/logging/Handler;->encoding:Ljava/lang/String;
-Ljava/util/logging/Handler;->errorManager:Ljava/util/logging/ErrorManager;
-Ljava/util/logging/Handler;->filter:Ljava/util/logging/Filter;
-Ljava/util/logging/Handler;->formatter:Ljava/util/logging/Formatter;
-Ljava/util/logging/Handler;->logLevel:Ljava/util/logging/Level;
-Ljava/util/logging/Handler;->manager:Ljava/util/logging/LogManager;
-Ljava/util/logging/Handler;->offValue:I
-Ljava/util/logging/Level$KnownLevel;
-Ljava/util/logging/Level$KnownLevel;-><init>(Ljava/util/logging/Level;)V
-Ljava/util/logging/Level$KnownLevel;->add(Ljava/util/logging/Level;)V
-Ljava/util/logging/Level$KnownLevel;->findByLocalizedLevelName(Ljava/lang/String;)Ljava/util/logging/Level$KnownLevel;
-Ljava/util/logging/Level$KnownLevel;->findByName(Ljava/lang/String;)Ljava/util/logging/Level$KnownLevel;
-Ljava/util/logging/Level$KnownLevel;->findByValue(I)Ljava/util/logging/Level$KnownLevel;
-Ljava/util/logging/Level$KnownLevel;->intToLevels:Ljava/util/Map;
-Ljava/util/logging/Level$KnownLevel;->levelObject:Ljava/util/logging/Level;
-Ljava/util/logging/Level$KnownLevel;->matches(Ljava/util/logging/Level;)Ljava/util/logging/Level$KnownLevel;
-Ljava/util/logging/Level$KnownLevel;->mirroredLevel:Ljava/util/logging/Level;
-Ljava/util/logging/Level$KnownLevel;->nameToLevels:Ljava/util/Map;
-Ljava/util/logging/Level;-><init>(Ljava/lang/String;ILjava/lang/String;Z)V
-Ljava/util/logging/Level;->cachedLocale:Ljava/util/Locale;
-Ljava/util/logging/Level;->computeLocalizedLevelName(Ljava/util/Locale;)Ljava/lang/String;
-Ljava/util/logging/Level;->defaultBundle:Ljava/lang/String;
-Ljava/util/logging/Level;->findLevel(Ljava/lang/String;)Ljava/util/logging/Level;
-Ljava/util/logging/Level;->getCachedLocalizedLevelName()Ljava/lang/String;
-Ljava/util/logging/Level;->getLevelName()Ljava/lang/String;
-Ljava/util/logging/Level;->getLocalizedLevelName()Ljava/lang/String;
-Ljava/util/logging/Level;->localizedLevelName:Ljava/lang/String;
-Ljava/util/logging/Level;->name:Ljava/lang/String;
-Ljava/util/logging/Level;->resourceBundleName:Ljava/lang/String;
-Ljava/util/logging/Level;->value:I
-Ljava/util/logging/Logger$LoggerBundle;
-Ljava/util/logging/Logger$LoggerBundle;-><init>(Ljava/lang/String;Ljava/util/ResourceBundle;)V
-Ljava/util/logging/Logger$LoggerBundle;->get(Ljava/lang/String;Ljava/util/ResourceBundle;)Ljava/util/logging/Logger$LoggerBundle;
-Ljava/util/logging/Logger$LoggerBundle;->isSystemBundle()Z
-Ljava/util/logging/Logger$LoggerBundle;->resourceBundleName:Ljava/lang/String;
-Ljava/util/logging/Logger$LoggerBundle;->userBundle:Ljava/util/ResourceBundle;
-Ljava/util/logging/Logger$SystemLoggerHelper;
-Ljava/util/logging/Logger$SystemLoggerHelper;-><init>()V
-Ljava/util/logging/Logger$SystemLoggerHelper;->disableCallerCheck:Z
-Ljava/util/logging/Logger$SystemLoggerHelper;->getBooleanProperty(Ljava/lang/String;)Z
-Ljava/util/logging/Logger;-><init>(Ljava/lang/String;)V
-Ljava/util/logging/Logger;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;Ljava/util/logging/LogManager;Z)V
-Ljava/util/logging/Logger;->accessCheckedHandlers()[Ljava/util/logging/Handler;
-Ljava/util/logging/Logger;->anonymous:Z
-Ljava/util/logging/Logger;->callersClassLoaderRef:Ljava/lang/ref/WeakReference;
-Ljava/util/logging/Logger;->catalog:Ljava/util/ResourceBundle;
-Ljava/util/logging/Logger;->catalogLocale:Ljava/util/Locale;
-Ljava/util/logging/Logger;->catalogName:Ljava/lang/String;
-Ljava/util/logging/Logger;->checkPermission()V
-Ljava/util/logging/Logger;->demandLogger(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)Ljava/util/logging/Logger;
-Ljava/util/logging/Logger;->doLog(Ljava/util/logging/LogRecord;)V
-Ljava/util/logging/Logger;->doLog(Ljava/util/logging/LogRecord;Ljava/lang/String;)V
-Ljava/util/logging/Logger;->doLog(Ljava/util/logging/LogRecord;Ljava/util/ResourceBundle;)V
-Ljava/util/logging/Logger;->doSetParent(Ljava/util/logging/Logger;)V
-Ljava/util/logging/Logger;->emptyHandlers:[Ljava/util/logging/Handler;
-Ljava/util/logging/Logger;->filter:Ljava/util/logging/Filter;
-Ljava/util/logging/Logger;->findResourceBundle(Ljava/lang/String;Z)Ljava/util/ResourceBundle;
-Ljava/util/logging/Logger;->findSystemResourceBundle(Ljava/util/Locale;)Ljava/util/ResourceBundle;
-Ljava/util/logging/Logger;->getCallersClassLoader()Ljava/lang/ClassLoader;
-Ljava/util/logging/Logger;->getEffectiveLoggerBundle()Ljava/util/logging/Logger$LoggerBundle;
-Ljava/util/logging/Logger;->getPlatformLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
-Ljava/util/logging/Logger;->handlers:Ljava/util/concurrent/CopyOnWriteArrayList;
-Ljava/util/logging/Logger;->isLevelInitialized()Z
-Ljava/util/logging/Logger;->isSystemLogger:Z
-Ljava/util/logging/Logger;->kids:Ljava/util/ArrayList;
-Ljava/util/logging/Logger;->levelObject:Ljava/util/logging/Level;
-Ljava/util/logging/Logger;->levelValue:I
-Ljava/util/logging/Logger;->loggerBundle:Ljava/util/logging/Logger$LoggerBundle;
-Ljava/util/logging/Logger;->manager:Ljava/util/logging/LogManager;
-Ljava/util/logging/Logger;->name:Ljava/lang/String;
-Ljava/util/logging/Logger;->NO_RESOURCE_BUNDLE:Ljava/util/logging/Logger$LoggerBundle;
-Ljava/util/logging/Logger;->offValue:I
-Ljava/util/logging/Logger;->parent:Ljava/util/logging/Logger;
-Ljava/util/logging/Logger;->removeChildLogger(Ljava/util/logging/LogManager$LoggerWeakRef;)V
-Ljava/util/logging/Logger;->setCallersClassLoaderRef(Ljava/lang/Class;)V
-Ljava/util/logging/Logger;->setLogManager(Ljava/util/logging/LogManager;)V
-Ljava/util/logging/Logger;->setupResourceInfo(Ljava/lang/String;Ljava/lang/Class;)V
-Ljava/util/logging/Logger;->SYSTEM_BUNDLE:Ljava/util/logging/Logger$LoggerBundle;
-Ljava/util/logging/Logger;->SYSTEM_LOGGER_RB_NAME:Ljava/lang/String;
-Ljava/util/logging/Logger;->updateEffectiveLevel()V
-Ljava/util/logging/Logger;->useParentHandlers:Z
-Ljava/util/logging/LogManager$Beans;
-Ljava/util/logging/LogManager$Beans;-><init>()V
-Ljava/util/logging/LogManager$Beans;->getClass(Ljava/lang/String;)Ljava/lang/Class;
-Ljava/util/logging/LogManager$Beans;->getConstructor(Ljava/lang/Class;[[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
-Ljava/util/logging/LogManager$Beans;->getMethod(Ljava/lang/Class;Ljava/lang/String;[[Ljava/lang/Class;)Ljava/lang/reflect/Method;
-Ljava/util/logging/LogManager$Beans;->invokePropertyChange(Ljava/lang/Object;Ljava/lang/Object;)V
-Ljava/util/logging/LogManager$Beans;->isBeansPresent()Z
-Ljava/util/logging/LogManager$Beans;->newPropertyChangeEvent(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/logging/LogManager$Beans;->propertyChangeEventClass:Ljava/lang/Class;
-Ljava/util/logging/LogManager$Beans;->propertyChangeListenerClass:Ljava/lang/Class;
-Ljava/util/logging/LogManager$Beans;->propertyChangeMethod:Ljava/lang/reflect/Method;
-Ljava/util/logging/LogManager$Beans;->propertyEventCtor:Ljava/lang/reflect/Constructor;
-Ljava/util/logging/LogManager$Cleaner;
-Ljava/util/logging/LogManager$Cleaner;-><init>()V
-Ljava/util/logging/LogManager$LoggerContext;
-Ljava/util/logging/LogManager$LoggerContext;-><init>()V
-Ljava/util/logging/LogManager$LoggerContext;->addLocalLogger(Ljava/util/logging/Logger;)Z
-Ljava/util/logging/LogManager$LoggerContext;->addLocalLogger(Ljava/util/logging/Logger;Ljava/util/logging/LogManager;)Z
-Ljava/util/logging/LogManager$LoggerContext;->addLocalLogger(Ljava/util/logging/Logger;Z)Z
-Ljava/util/logging/LogManager$LoggerContext;->addLocalLogger(Ljava/util/logging/Logger;ZLjava/util/logging/LogManager;)Z
-Ljava/util/logging/LogManager$LoggerContext;->demandLogger(Ljava/lang/String;Ljava/lang/String;)Ljava/util/logging/Logger;
-Ljava/util/logging/LogManager$LoggerContext;->ensureAllDefaultLoggers(Ljava/util/logging/Logger;)V
-Ljava/util/logging/LogManager$LoggerContext;->ensureDefaultLogger(Ljava/util/logging/Logger;)V
-Ljava/util/logging/LogManager$LoggerContext;->ensureInitialized()V
-Ljava/util/logging/LogManager$LoggerContext;->findLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
-Ljava/util/logging/LogManager$LoggerContext;->getGlobalLogger()Ljava/util/logging/Logger;
-Ljava/util/logging/LogManager$LoggerContext;->getLoggerNames()Ljava/util/Enumeration;
-Ljava/util/logging/LogManager$LoggerContext;->getNode(Ljava/lang/String;)Ljava/util/logging/LogManager$LogNode;
-Ljava/util/logging/LogManager$LoggerContext;->getOwner()Ljava/util/logging/LogManager;
-Ljava/util/logging/LogManager$LoggerContext;->getRootLogger()Ljava/util/logging/Logger;
-Ljava/util/logging/LogManager$LoggerContext;->namedLoggers:Ljava/util/Hashtable;
-Ljava/util/logging/LogManager$LoggerContext;->processParentHandlers(Ljava/util/logging/Logger;Ljava/lang/String;)V
-Ljava/util/logging/LogManager$LoggerContext;->removeLoggerRef(Ljava/lang/String;Ljava/util/logging/LogManager$LoggerWeakRef;)V
-Ljava/util/logging/LogManager$LoggerContext;->requiresDefaultLoggers()Z
-Ljava/util/logging/LogManager$LoggerContext;->root:Ljava/util/logging/LogManager$LogNode;
-Ljava/util/logging/LogManager$LoggerWeakRef;
-Ljava/util/logging/LogManager$LoggerWeakRef;-><init>(Ljava/util/logging/Logger;)V
-Ljava/util/logging/LogManager$LoggerWeakRef;->dispose()V
-Ljava/util/logging/LogManager$LoggerWeakRef;->disposed:Z
-Ljava/util/logging/LogManager$LoggerWeakRef;->name:Ljava/lang/String;
-Ljava/util/logging/LogManager$LoggerWeakRef;->node:Ljava/util/logging/LogManager$LogNode;
-Ljava/util/logging/LogManager$LoggerWeakRef;->parentRef:Ljava/lang/ref/WeakReference;
-Ljava/util/logging/LogManager$LoggerWeakRef;->setNode(Ljava/util/logging/LogManager$LogNode;)V
-Ljava/util/logging/LogManager$LoggerWeakRef;->setParentRef(Ljava/lang/ref/WeakReference;)V
-Ljava/util/logging/LogManager$LogNode;
-Ljava/util/logging/LogManager$LogNode;-><init>(Ljava/util/logging/LogManager$LogNode;Ljava/util/logging/LogManager$LoggerContext;)V
-Ljava/util/logging/LogManager$LogNode;->children:Ljava/util/HashMap;
-Ljava/util/logging/LogManager$LogNode;->context:Ljava/util/logging/LogManager$LoggerContext;
-Ljava/util/logging/LogManager$LogNode;->loggerRef:Ljava/util/logging/LogManager$LoggerWeakRef;
-Ljava/util/logging/LogManager$LogNode;->parent:Ljava/util/logging/LogManager$LogNode;
-Ljava/util/logging/LogManager$LogNode;->walkAndSetParent(Ljava/util/logging/Logger;)V
-Ljava/util/logging/LogManager$RootLogger;
-Ljava/util/logging/LogManager$RootLogger;-><init>()V
-Ljava/util/logging/LogManager$RootLogger;->accessCheckedHandlers()[Ljava/util/logging/Handler;
-Ljava/util/logging/LogManager$SystemLoggerContext;
-Ljava/util/logging/LogManager$SystemLoggerContext;-><init>()V
-Ljava/util/logging/LogManager$SystemLoggerContext;->demandLogger(Ljava/lang/String;Ljava/lang/String;)Ljava/util/logging/Logger;
-Ljava/util/logging/LogManager;-><init>(Ljava/lang/Void;)V
-Ljava/util/logging/LogManager;->checkPermission()V
-Ljava/util/logging/LogManager;->checkSubclassPermissions()Ljava/lang/Void;
-Ljava/util/logging/LogManager;->contexts()Ljava/util/List;
-Ljava/util/logging/LogManager;->contextsMap:Ljava/util/WeakHashMap;
-Ljava/util/logging/LogManager;->controlPermission:Ljava/security/Permission;
-Ljava/util/logging/LogManager;->deathImminent:Z
-Ljava/util/logging/LogManager;->defaultLevel:Ljava/util/logging/Level;
-Ljava/util/logging/LogManager;->demandLogger(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)Ljava/util/logging/Logger;
-Ljava/util/logging/LogManager;->demandSystemLogger(Ljava/lang/String;Ljava/lang/String;)Ljava/util/logging/Logger;
-Ljava/util/logging/LogManager;->doSetLevel(Ljava/util/logging/Logger;Ljava/util/logging/Level;)V
-Ljava/util/logging/LogManager;->doSetParent(Ljava/util/logging/Logger;Ljava/util/logging/Logger;)V
-Ljava/util/logging/LogManager;->drainLoggerRefQueueBounded()V
-Ljava/util/logging/LogManager;->ensureLogManagerInitialized()V
-Ljava/util/logging/LogManager;->getBooleanProperty(Ljava/lang/String;Z)Z
-Ljava/util/logging/LogManager;->getClassInstance(Ljava/lang/String;)Ljava/lang/Class;
-Ljava/util/logging/LogManager;->getFilterProperty(Ljava/lang/String;Ljava/util/logging/Filter;)Ljava/util/logging/Filter;
-Ljava/util/logging/LogManager;->getIntProperty(Ljava/lang/String;I)I
-Ljava/util/logging/LogManager;->getLevelProperty(Ljava/lang/String;Ljava/util/logging/Level;)Ljava/util/logging/Level;
-Ljava/util/logging/LogManager;->getStringProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Ljava/util/logging/LogManager;->getSystemContext()Ljava/util/logging/LogManager$LoggerContext;
-Ljava/util/logging/LogManager;->getUserContext()Ljava/util/logging/LogManager$LoggerContext;
-Ljava/util/logging/LogManager;->initializationDone:Z
-Ljava/util/logging/LogManager;->initializedCalled:Z
-Ljava/util/logging/LogManager;->initializedGlobalHandlers:Z
-Ljava/util/logging/LogManager;->initializeGlobalHandlers()V
-Ljava/util/logging/LogManager;->listenerMap:Ljava/util/Map;
-Ljava/util/logging/LogManager;->loadLoggerHandlers(Ljava/util/logging/Logger;Ljava/lang/String;Ljava/lang/String;)V
-Ljava/util/logging/LogManager;->loggerRefQueue:Ljava/lang/ref/ReferenceQueue;
-Ljava/util/logging/LogManager;->loggingMXBean:Ljava/util/logging/LoggingMXBean;
-Ljava/util/logging/LogManager;->manager:Ljava/util/logging/LogManager;
-Ljava/util/logging/LogManager;->MAX_ITERATIONS:I
-Ljava/util/logging/LogManager;->parseClassNames(Ljava/lang/String;)[Ljava/lang/String;
-Ljava/util/logging/LogManager;->props:Ljava/util/Properties;
-Ljava/util/logging/LogManager;->readPrimordialConfiguration()V
-Ljava/util/logging/LogManager;->readPrimordialConfiguration:Z
-Ljava/util/logging/LogManager;->resetLogger(Ljava/util/logging/Logger;)V
-Ljava/util/logging/LogManager;->rootLogger:Ljava/util/logging/Logger;
-Ljava/util/logging/LogManager;->setLevelsOnExistingLoggers()V
-Ljava/util/logging/LogManager;->systemContext:Ljava/util/logging/LogManager$LoggerContext;
-Ljava/util/logging/LogManager;->userContext:Ljava/util/logging/LogManager$LoggerContext;
-Ljava/util/logging/LogRecord;->defaultThreadID()I
-Ljava/util/logging/LogRecord;->globalSequenceNumber:Ljava/util/concurrent/atomic/AtomicLong;
-Ljava/util/logging/LogRecord;->inferCaller()V
-Ljava/util/logging/LogRecord;->isLoggerImplFrame(Ljava/lang/String;)Z
-Ljava/util/logging/LogRecord;->level:Ljava/util/logging/Level;
-Ljava/util/logging/LogRecord;->loggerName:Ljava/lang/String;
-Ljava/util/logging/LogRecord;->message:Ljava/lang/String;
-Ljava/util/logging/LogRecord;->millis:J
-Ljava/util/logging/LogRecord;->MIN_SEQUENTIAL_THREAD_ID:I
-Ljava/util/logging/LogRecord;->needToInferCaller:Z
-Ljava/util/logging/LogRecord;->nextThreadId:Ljava/util/concurrent/atomic/AtomicInteger;
-Ljava/util/logging/LogRecord;->parameters:[Ljava/lang/Object;
-Ljava/util/logging/LogRecord;->resourceBundle:Ljava/util/ResourceBundle;
-Ljava/util/logging/LogRecord;->resourceBundleName:Ljava/lang/String;
-Ljava/util/logging/LogRecord;->sequenceNumber:J
-Ljava/util/logging/LogRecord;->sourceClassName:Ljava/lang/String;
-Ljava/util/logging/LogRecord;->sourceMethodName:Ljava/lang/String;
-Ljava/util/logging/LogRecord;->threadID:I
-Ljava/util/logging/LogRecord;->threadIds:Ljava/lang/ThreadLocal;
-Ljava/util/logging/LogRecord;->thrown:Ljava/lang/Throwable;
-Ljava/util/logging/MemoryHandler;->buffer:[Ljava/util/logging/LogRecord;
-Ljava/util/logging/MemoryHandler;->configure()V
-Ljava/util/logging/MemoryHandler;->count:I
-Ljava/util/logging/MemoryHandler;->DEFAULT_SIZE:I
-Ljava/util/logging/MemoryHandler;->init()V
-Ljava/util/logging/MemoryHandler;->pushLevel:Ljava/util/logging/Level;
-Ljava/util/logging/MemoryHandler;->size:I
-Ljava/util/logging/MemoryHandler;->start:I
-Ljava/util/logging/MemoryHandler;->target:Ljava/util/logging/Handler;
-Ljava/util/logging/SimpleFormatter;->dat:Ljava/util/Date;
-Ljava/util/logging/SimpleFormatter;->format:Ljava/lang/String;
-Ljava/util/logging/SocketHandler;->configure()V
-Ljava/util/logging/SocketHandler;->connect()V
-Ljava/util/logging/SocketHandler;->host:Ljava/lang/String;
-Ljava/util/logging/SocketHandler;->port:I
-Ljava/util/logging/SocketHandler;->sock:Ljava/net/Socket;
-Ljava/util/logging/StreamHandler;->configure()V
-Ljava/util/logging/StreamHandler;->doneHeader:Z
-Ljava/util/logging/StreamHandler;->flushAndClose()V
-Ljava/util/logging/StreamHandler;->output:Ljava/io/OutputStream;
-Ljava/util/logging/StreamHandler;->writer:Ljava/io/Writer;
-Ljava/util/logging/XMLFormatter;->a2(Ljava/lang/StringBuilder;I)V
-Ljava/util/logging/XMLFormatter;->appendISO8601(Ljava/lang/StringBuilder;J)V
-Ljava/util/logging/XMLFormatter;->escape(Ljava/lang/StringBuilder;Ljava/lang/String;)V
-Ljava/util/logging/XMLFormatter;->manager:Ljava/util/logging/LogManager;
-Ljava/util/LongSummaryStatistics;->count:J
-Ljava/util/LongSummaryStatistics;->max:J
-Ljava/util/LongSummaryStatistics;->min:J
-Ljava/util/LongSummaryStatistics;->sum:J
-Ljava/util/MissingFormatArgumentException;->s:Ljava/lang/String;
-Ljava/util/MissingFormatWidthException;->s:Ljava/lang/String;
-Ljava/util/MissingResourceException;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
-Ljava/util/MissingResourceException;->className:Ljava/lang/String;
-Ljava/util/MissingResourceException;->key:Ljava/lang/String;
-Ljava/util/Objects;-><init>()V
-Ljava/util/Observable;->changed:Z
-Ljava/util/Observable;->obs:Ljava/util/Vector;
-Ljava/util/Optional;-><init>()V
-Ljava/util/Optional;-><init>(Ljava/lang/Object;)V
-Ljava/util/Optional;->EMPTY:Ljava/util/Optional;
-Ljava/util/Optional;->value:Ljava/lang/Object;
-Ljava/util/OptionalDouble;-><init>()V
-Ljava/util/OptionalDouble;-><init>(D)V
-Ljava/util/OptionalDouble;->EMPTY:Ljava/util/OptionalDouble;
-Ljava/util/OptionalDouble;->isPresent:Z
-Ljava/util/OptionalDouble;->value:D
-Ljava/util/OptionalInt;-><init>()V
-Ljava/util/OptionalInt;-><init>(I)V
-Ljava/util/OptionalInt;->EMPTY:Ljava/util/OptionalInt;
-Ljava/util/OptionalInt;->isPresent:Z
-Ljava/util/OptionalInt;->value:I
-Ljava/util/OptionalLong;-><init>()V
-Ljava/util/OptionalLong;-><init>(J)V
-Ljava/util/OptionalLong;->EMPTY:Ljava/util/OptionalLong;
-Ljava/util/OptionalLong;->isPresent:Z
-Ljava/util/OptionalLong;->value:J
-Ljava/util/prefs/AbstractPreferences$EventDispatchThread;
-Ljava/util/prefs/AbstractPreferences$EventDispatchThread;-><init>()V
-Ljava/util/prefs/AbstractPreferences$NodeAddedEvent;
-Ljava/util/prefs/AbstractPreferences$NodeAddedEvent;-><init>(Ljava/util/prefs/Preferences;Ljava/util/prefs/Preferences;)V
-Ljava/util/prefs/AbstractPreferences$NodeRemovedEvent;
-Ljava/util/prefs/AbstractPreferences$NodeRemovedEvent;-><init>(Ljava/util/prefs/Preferences;Ljava/util/prefs/Preferences;)V
-Ljava/util/prefs/AbstractPreferences;->absolutePath:Ljava/lang/String;
-Ljava/util/prefs/AbstractPreferences;->EMPTY_ABSTRACT_PREFS_ARRAY:[Ljava/util/prefs/AbstractPreferences;
-Ljava/util/prefs/AbstractPreferences;->EMPTY_STRING_ARRAY:[Ljava/lang/String;
-Ljava/util/prefs/AbstractPreferences;->enqueueNodeAddedEvent(Ljava/util/prefs/Preferences;)V
-Ljava/util/prefs/AbstractPreferences;->enqueueNodeRemovedEvent(Ljava/util/prefs/Preferences;)V
-Ljava/util/prefs/AbstractPreferences;->enqueuePreferenceChangeEvent(Ljava/lang/String;Ljava/lang/String;)V
-Ljava/util/prefs/AbstractPreferences;->eventDispatchThread:Ljava/lang/Thread;
-Ljava/util/prefs/AbstractPreferences;->eventQueue:Ljava/util/List;
-Ljava/util/prefs/AbstractPreferences;->flush2()V
-Ljava/util/prefs/AbstractPreferences;->kidCache:Ljava/util/Map;
-Ljava/util/prefs/AbstractPreferences;->name:Ljava/lang/String;
-Ljava/util/prefs/AbstractPreferences;->node(Ljava/util/StringTokenizer;)Ljava/util/prefs/Preferences;
-Ljava/util/prefs/AbstractPreferences;->nodeExists(Ljava/util/StringTokenizer;)Z
-Ljava/util/prefs/AbstractPreferences;->nodeListeners()[Ljava/util/prefs/NodeChangeListener;
-Ljava/util/prefs/AbstractPreferences;->nodeListeners:Ljava/util/ArrayList;
-Ljava/util/prefs/AbstractPreferences;->parent:Ljava/util/prefs/AbstractPreferences;
-Ljava/util/prefs/AbstractPreferences;->prefListeners()[Ljava/util/prefs/PreferenceChangeListener;
-Ljava/util/prefs/AbstractPreferences;->prefListeners:Ljava/util/ArrayList;
-Ljava/util/prefs/AbstractPreferences;->removed:Z
-Ljava/util/prefs/AbstractPreferences;->removeNode2()V
-Ljava/util/prefs/AbstractPreferences;->root:Ljava/util/prefs/AbstractPreferences;
-Ljava/util/prefs/AbstractPreferences;->startEventDispatchThreadIfNecessary()V
-Ljava/util/prefs/AbstractPreferences;->sync2()V
-Ljava/util/prefs/FileSystemPreferences$Change;
-Ljava/util/prefs/FileSystemPreferences$Change;-><init>()V
-Ljava/util/prefs/FileSystemPreferences$Change;->replay()V
-Ljava/util/prefs/FileSystemPreferences$NodeCreate;
-Ljava/util/prefs/FileSystemPreferences$NodeCreate;-><init>()V
-Ljava/util/prefs/FileSystemPreferences$NodeCreate;->replay()V
-Ljava/util/prefs/FileSystemPreferences$Put;
-Ljava/util/prefs/FileSystemPreferences$Put;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Ljava/util/prefs/FileSystemPreferences$Put;->key:Ljava/lang/String;
-Ljava/util/prefs/FileSystemPreferences$Put;->replay()V
-Ljava/util/prefs/FileSystemPreferences$Put;->value:Ljava/lang/String;
-Ljava/util/prefs/FileSystemPreferences$Remove;
-Ljava/util/prefs/FileSystemPreferences$Remove;-><init>(Ljava/lang/String;)V
-Ljava/util/prefs/FileSystemPreferences$Remove;->key:Ljava/lang/String;
-Ljava/util/prefs/FileSystemPreferences$Remove;->replay()V
-Ljava/util/prefs/FileSystemPreferences;
-Ljava/util/prefs/FileSystemPreferences;-><init>(Ljava/lang/String;Ljava/io/File;Z)V
-Ljava/util/prefs/FileSystemPreferences;-><init>(Ljava/util/prefs/FileSystemPreferences;Ljava/lang/String;)V
-Ljava/util/prefs/FileSystemPreferences;-><init>(Z)V
-Ljava/util/prefs/FileSystemPreferences;->byteArray(Ljava/lang/String;)[B
-Ljava/util/prefs/FileSystemPreferences;->changeLog:Ljava/util/List;
-Ljava/util/prefs/FileSystemPreferences;->checkLockFile0ErrorCode(I)V
-Ljava/util/prefs/FileSystemPreferences;->chmod(Ljava/lang/String;I)I
-Ljava/util/prefs/FileSystemPreferences;->dir:Ljava/io/File;
-Ljava/util/prefs/FileSystemPreferences;->dirName(Ljava/lang/String;)Ljava/lang/String;
-Ljava/util/prefs/FileSystemPreferences;->EACCES:I
-Ljava/util/prefs/FileSystemPreferences;->EAGAIN:I
-Ljava/util/prefs/FileSystemPreferences;->EMPTY_STRING_ARRAY:[Ljava/lang/String;
-Ljava/util/prefs/FileSystemPreferences;->ERROR_CODE:I
-Ljava/util/prefs/FileSystemPreferences;->getLogger()Lsun/util/logging/PlatformLogger;
-Ljava/util/prefs/FileSystemPreferences;->getSystemRoot()Ljava/util/prefs/Preferences;
-Ljava/util/prefs/FileSystemPreferences;->getUserRoot()Ljava/util/prefs/Preferences;
-Ljava/util/prefs/FileSystemPreferences;->initCacheIfNecessary()V
-Ljava/util/prefs/FileSystemPreferences;->INIT_SLEEP_TIME:I
-Ljava/util/prefs/FileSystemPreferences;->isDirChar(C)Z
-Ljava/util/prefs/FileSystemPreferences;->isSystemRootModified:Z
-Ljava/util/prefs/FileSystemPreferences;->isSystemRootWritable:Z
-Ljava/util/prefs/FileSystemPreferences;->isUserNode:Z
-Ljava/util/prefs/FileSystemPreferences;->isUserRootModified:Z
-Ljava/util/prefs/FileSystemPreferences;->isUserRootWritable:Z
-Ljava/util/prefs/FileSystemPreferences;->lastSyncTime:J
-Ljava/util/prefs/FileSystemPreferences;->loadCache()V
-Ljava/util/prefs/FileSystemPreferences;->lockFile(Z)Z
-Ljava/util/prefs/FileSystemPreferences;->lockFile0(Ljava/lang/String;IZ)[I
-Ljava/util/prefs/FileSystemPreferences;->LOCK_HANDLE:I
-Ljava/util/prefs/FileSystemPreferences;->MAX_ATTEMPTS:I
-Ljava/util/prefs/FileSystemPreferences;->nodeCreate:Ljava/util/prefs/FileSystemPreferences$NodeCreate;
-Ljava/util/prefs/FileSystemPreferences;->nodeName(Ljava/lang/String;)Ljava/lang/String;
-Ljava/util/prefs/FileSystemPreferences;->prefsCache:Ljava/util/Map;
-Ljava/util/prefs/FileSystemPreferences;->prefsFile:Ljava/io/File;
-Ljava/util/prefs/FileSystemPreferences;->replayChanges()V
-Ljava/util/prefs/FileSystemPreferences;->setupSystemRoot()V
-Ljava/util/prefs/FileSystemPreferences;->setupUserRoot()V
-Ljava/util/prefs/FileSystemPreferences;->syncSpiPrivileged()V
-Ljava/util/prefs/FileSystemPreferences;->syncWorld()V
-Ljava/util/prefs/FileSystemPreferences;->systemLockFile:Ljava/io/File;
-Ljava/util/prefs/FileSystemPreferences;->systemRoot:Ljava/util/prefs/Preferences;
-Ljava/util/prefs/FileSystemPreferences;->systemRootDir:Ljava/io/File;
-Ljava/util/prefs/FileSystemPreferences;->systemRootLockHandle:I
-Ljava/util/prefs/FileSystemPreferences;->systemRootModFile:Ljava/io/File;
-Ljava/util/prefs/FileSystemPreferences;->systemRootModTime:J
-Ljava/util/prefs/FileSystemPreferences;->tmpFile:Ljava/io/File;
-Ljava/util/prefs/FileSystemPreferences;->unlockFile()V
-Ljava/util/prefs/FileSystemPreferences;->unlockFile0(I)I
-Ljava/util/prefs/FileSystemPreferences;->userLockFile:Ljava/io/File;
-Ljava/util/prefs/FileSystemPreferences;->userRoot:Ljava/util/prefs/Preferences;
-Ljava/util/prefs/FileSystemPreferences;->userRootDir:Ljava/io/File;
-Ljava/util/prefs/FileSystemPreferences;->userRootLockHandle:I
-Ljava/util/prefs/FileSystemPreferences;->userRootModFile:Ljava/io/File;
-Ljava/util/prefs/FileSystemPreferences;->userRootModTime:J
-Ljava/util/prefs/FileSystemPreferences;->USER_READ_WRITE:I
-Ljava/util/prefs/FileSystemPreferences;->USER_RWX:I
-Ljava/util/prefs/FileSystemPreferences;->USER_RWX_ALL_RX:I
-Ljava/util/prefs/FileSystemPreferences;->USER_RW_ALL_READ:I
-Ljava/util/prefs/FileSystemPreferences;->writeBackCache()V
-Ljava/util/prefs/NodeChangeEvent;->child:Ljava/util/prefs/Preferences;
-Ljava/util/prefs/PreferenceChangeEvent;->key:Ljava/lang/String;
-Ljava/util/prefs/PreferenceChangeEvent;->newValue:Ljava/lang/String;
-Ljava/util/prefs/Preferences;->factory:Ljava/util/prefs/PreferencesFactory;
-Ljava/util/prefs/Preferences;->findPreferencesFactory()Ljava/util/prefs/PreferencesFactory;
-Ljava/util/prefs/Preferences;->nodeName(Ljava/lang/Class;)Ljava/lang/String;
-Ljava/util/prefs/Preferences;->prefsPerm:Ljava/security/Permission;
-Ljava/util/prefs/Preferences;->setPreferencesFactory(Ljava/util/prefs/PreferencesFactory;)Ljava/util/prefs/PreferencesFactory;
-Ljava/util/PriorityQueue$Itr;
-Ljava/util/PriorityQueue$Itr;-><init>()V
-Ljava/util/PriorityQueue$Itr;->cursor:I
-Ljava/util/PriorityQueue$Itr;->expectedModCount:I
-Ljava/util/PriorityQueue$Itr;->forgetMeNot:Ljava/util/ArrayDeque;
-Ljava/util/PriorityQueue$Itr;->lastRet:I
-Ljava/util/PriorityQueue$Itr;->lastRetElt:Ljava/lang/Object;
-Ljava/util/PriorityQueue$PriorityQueueSpliterator;
-Ljava/util/PriorityQueue$PriorityQueueSpliterator;-><init>(Ljava/util/PriorityQueue;III)V
-Ljava/util/PriorityQueue$PriorityQueueSpliterator;->expectedModCount:I
-Ljava/util/PriorityQueue$PriorityQueueSpliterator;->fence:I
-Ljava/util/PriorityQueue$PriorityQueueSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/PriorityQueue$PriorityQueueSpliterator;->getFence()I
-Ljava/util/PriorityQueue$PriorityQueueSpliterator;->index:I
-Ljava/util/PriorityQueue$PriorityQueueSpliterator;->pq:Ljava/util/PriorityQueue;
-Ljava/util/PriorityQueue$PriorityQueueSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/PriorityQueue;->comparator:Ljava/util/Comparator;
-Ljava/util/PriorityQueue;->DEFAULT_INITIAL_CAPACITY:I
-Ljava/util/PriorityQueue;->grow(I)V
-Ljava/util/PriorityQueue;->heapify()V
-Ljava/util/PriorityQueue;->hugeCapacity(I)I
-Ljava/util/PriorityQueue;->indexOf(Ljava/lang/Object;)I
-Ljava/util/PriorityQueue;->initElementsFromCollection(Ljava/util/Collection;)V
-Ljava/util/PriorityQueue;->initFromCollection(Ljava/util/Collection;)V
-Ljava/util/PriorityQueue;->initFromPriorityQueue(Ljava/util/PriorityQueue;)V
-Ljava/util/PriorityQueue;->MAX_ARRAY_SIZE:I
-Ljava/util/PriorityQueue;->removeAt(I)Ljava/lang/Object;
-Ljava/util/PriorityQueue;->removeEq(Ljava/lang/Object;)Z
-Ljava/util/PriorityQueue;->siftDown(ILjava/lang/Object;)V
-Ljava/util/PriorityQueue;->siftDownComparable(ILjava/lang/Object;)V
-Ljava/util/PriorityQueue;->siftDownUsingComparator(ILjava/lang/Object;)V
-Ljava/util/PriorityQueue;->siftUp(ILjava/lang/Object;)V
-Ljava/util/PriorityQueue;->siftUpComparable(ILjava/lang/Object;)V
-Ljava/util/PriorityQueue;->siftUpUsingComparator(ILjava/lang/Object;)V
-Ljava/util/Properties$LineReader;
-Ljava/util/Properties$LineReader;-><init>(Ljava/io/InputStream;)V
-Ljava/util/Properties$LineReader;-><init>(Ljava/io/Reader;)V
-Ljava/util/Properties$LineReader;->inByteBuf:[B
-Ljava/util/Properties$LineReader;->inCharBuf:[C
-Ljava/util/Properties$LineReader;->inLimit:I
-Ljava/util/Properties$LineReader;->inOff:I
-Ljava/util/Properties$LineReader;->inStream:Ljava/io/InputStream;
-Ljava/util/Properties$LineReader;->lineBuf:[C
-Ljava/util/Properties$LineReader;->reader:Ljava/io/Reader;
-Ljava/util/Properties$LineReader;->readLine()I
-Ljava/util/Properties;->enumerate(Ljava/util/Hashtable;)V
-Ljava/util/Properties;->enumerateStringProperties(Ljava/util/Hashtable;)V
-Ljava/util/Properties;->hexDigit:[C
-Ljava/util/Properties;->load0(Ljava/util/Properties$LineReader;)V
-Ljava/util/Properties;->loadConvert([CII[C)Ljava/lang/String;
-Ljava/util/Properties;->store0(Ljava/io/BufferedWriter;Ljava/lang/String;Z)V
-Ljava/util/Properties;->toHex(I)C
-Ljava/util/Properties;->writeComments(Ljava/io/BufferedWriter;Ljava/lang/String;)V
-Ljava/util/PropertyResourceBundle;->lookup:Ljava/util/Map;
-Ljava/util/Random$RandomDoublesSpliterator;
-Ljava/util/Random$RandomDoublesSpliterator;-><init>(Ljava/util/Random;JJDD)V
-Ljava/util/Random$RandomDoublesSpliterator;->bound:D
-Ljava/util/Random$RandomDoublesSpliterator;->fence:J
-Ljava/util/Random$RandomDoublesSpliterator;->index:J
-Ljava/util/Random$RandomDoublesSpliterator;->origin:D
-Ljava/util/Random$RandomDoublesSpliterator;->rng:Ljava/util/Random;
-Ljava/util/Random$RandomIntsSpliterator;
-Ljava/util/Random$RandomIntsSpliterator;-><init>(Ljava/util/Random;JJII)V
-Ljava/util/Random$RandomIntsSpliterator;->bound:I
-Ljava/util/Random$RandomIntsSpliterator;->fence:J
-Ljava/util/Random$RandomIntsSpliterator;->index:J
-Ljava/util/Random$RandomIntsSpliterator;->origin:I
-Ljava/util/Random$RandomIntsSpliterator;->rng:Ljava/util/Random;
-Ljava/util/Random$RandomLongsSpliterator;
-Ljava/util/Random$RandomLongsSpliterator;-><init>(Ljava/util/Random;JJJJ)V
-Ljava/util/Random$RandomLongsSpliterator;->bound:J
-Ljava/util/Random$RandomLongsSpliterator;->fence:J
-Ljava/util/Random$RandomLongsSpliterator;->index:J
-Ljava/util/Random$RandomLongsSpliterator;->origin:J
-Ljava/util/Random$RandomLongsSpliterator;->rng:Ljava/util/Random;
-Ljava/util/Random;->addend:J
-Ljava/util/Random;->BadBound:Ljava/lang/String;
-Ljava/util/Random;->BadRange:Ljava/lang/String;
-Ljava/util/Random;->BadSize:Ljava/lang/String;
-Ljava/util/Random;->DOUBLE_UNIT:D
-Ljava/util/Random;->haveNextNextGaussian:Z
-Ljava/util/Random;->initialScramble(J)J
-Ljava/util/Random;->internalNextDouble(DD)D
-Ljava/util/Random;->internalNextInt(II)I
-Ljava/util/Random;->internalNextLong(JJ)J
-Ljava/util/Random;->mask:J
-Ljava/util/Random;->multiplier:J
-Ljava/util/Random;->nextNextGaussian:D
-Ljava/util/Random;->resetSeed(J)V
-Ljava/util/Random;->seed:Ljava/util/concurrent/atomic/AtomicLong;
-Ljava/util/Random;->seedOffset:J
-Ljava/util/Random;->seedUniquifier:Ljava/util/concurrent/atomic/AtomicLong;
-Ljava/util/Random;->unsafe:Lsun/misc/Unsafe;
-Ljava/util/regex/Matcher$OffsetBasedMatchResult;
-Ljava/util/regex/Matcher$OffsetBasedMatchResult;-><init>(Ljava/lang/String;[I)V
-Ljava/util/regex/Matcher$OffsetBasedMatchResult;->input:Ljava/lang/String;
-Ljava/util/regex/Matcher$OffsetBasedMatchResult;->offsets:[I
-Ljava/util/regex/Matcher;-><init>(Ljava/util/regex/Pattern;Ljava/lang/CharSequence;)V
-Ljava/util/regex/Matcher;->address:J
-Ljava/util/regex/Matcher;->anchoringBounds:Z
-Ljava/util/regex/Matcher;->appendEvaluated(Ljava/lang/StringBuffer;Ljava/lang/String;)V
-Ljava/util/regex/Matcher;->ensureMatch()V
-Ljava/util/regex/Matcher;->findImpl(JI[I)Z
-Ljava/util/regex/Matcher;->findNextImpl(J[I)Z
-Ljava/util/regex/Matcher;->getMatchedGroupIndex(JLjava/lang/String;)I
-Ljava/util/regex/Matcher;->getMatchedGroupIndex0(JLjava/lang/String;)I
-Ljava/util/regex/Matcher;->getNativeFinalizer()J
-Ljava/util/regex/Matcher;->groupCountImpl(J)I
-Ljava/util/regex/Matcher;->hitEndImpl(J)Z
-Ljava/util/regex/Matcher;->input:Ljava/lang/String;
-Ljava/util/regex/Matcher;->lookingAtImpl(J[I)Z
-Ljava/util/regex/Matcher;->matchesImpl(J[I)Z
-Ljava/util/regex/Matcher;->matchFound:Z
-Ljava/util/regex/Matcher;->matchOffsets:[I
-Ljava/util/regex/Matcher;->nativeFinalizer:Ljava/lang/Runnable;
-Ljava/util/regex/Matcher;->nativeSize()I
-Ljava/util/regex/Matcher;->openImpl(J)J
-Ljava/util/regex/Matcher;->originalInput:Ljava/lang/CharSequence;
-Ljava/util/regex/Matcher;->pattern:Ljava/util/regex/Pattern;
-Ljava/util/regex/Matcher;->regionEnd:I
-Ljava/util/regex/Matcher;->regionStart:I
-Ljava/util/regex/Matcher;->registry:Llibcore/util/NativeAllocationRegistry;
-Ljava/util/regex/Matcher;->requireEndImpl(J)Z
-Ljava/util/regex/Matcher;->reset(Ljava/lang/CharSequence;II)Ljava/util/regex/Matcher;
-Ljava/util/regex/Matcher;->resetForInput()V
-Ljava/util/regex/Matcher;->setInputImpl(JLjava/lang/String;II)V
-Ljava/util/regex/Matcher;->transparentBounds:Z
-Ljava/util/regex/Matcher;->useAnchoringBoundsImpl(JZ)V
-Ljava/util/regex/Matcher;->useTransparentBoundsImpl(JZ)V
-Ljava/util/regex/Pattern;-><init>(Ljava/lang/String;I)V
-Ljava/util/regex/Pattern;->address:J
-Ljava/util/regex/Pattern;->compile()V
-Ljava/util/regex/Pattern;->compileImpl(Ljava/lang/String;I)J
-Ljava/util/regex/Pattern;->fastSplit(Ljava/lang/String;Ljava/lang/String;I)[Ljava/lang/String;
-Ljava/util/regex/Pattern;->FASTSPLIT_METACHARACTERS:Ljava/lang/String;
-Ljava/util/regex/Pattern;->flags:I
-Ljava/util/regex/Pattern;->getNativeFinalizer()J
-Ljava/util/regex/Pattern;->nativeSize()I
-Ljava/util/regex/Pattern;->pattern:Ljava/lang/String;
-Ljava/util/regex/Pattern;->registry:Llibcore/util/NativeAllocationRegistry;
-Ljava/util/regex/PatternSyntaxException;->desc:Ljava/lang/String;
-Ljava/util/regex/PatternSyntaxException;->index:I
-Ljava/util/regex/PatternSyntaxException;->nl:Ljava/lang/String;
-Ljava/util/regex/PatternSyntaxException;->pattern:Ljava/lang/String;
-Ljava/util/ResourceBundle$BundleReference;
-Ljava/util/ResourceBundle$BundleReference;-><init>(Ljava/util/ResourceBundle;Ljava/lang/ref/ReferenceQueue;Ljava/util/ResourceBundle$CacheKey;)V
-Ljava/util/ResourceBundle$BundleReference;->cacheKey:Ljava/util/ResourceBundle$CacheKey;
-Ljava/util/ResourceBundle$BundleReference;->getCacheKey()Ljava/util/ResourceBundle$CacheKey;
-Ljava/util/ResourceBundle$CacheKey;
-Ljava/util/ResourceBundle$CacheKey;-><init>(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)V
-Ljava/util/ResourceBundle$CacheKey;->calculateHashCode()V
-Ljava/util/ResourceBundle$CacheKey;->cause:Ljava/lang/Throwable;
-Ljava/util/ResourceBundle$CacheKey;->expirationTime:J
-Ljava/util/ResourceBundle$CacheKey;->format:Ljava/lang/String;
-Ljava/util/ResourceBundle$CacheKey;->getCause()Ljava/lang/Throwable;
-Ljava/util/ResourceBundle$CacheKey;->getFormat()Ljava/lang/String;
-Ljava/util/ResourceBundle$CacheKey;->getLoader()Ljava/lang/ClassLoader;
-Ljava/util/ResourceBundle$CacheKey;->getLocale()Ljava/util/Locale;
-Ljava/util/ResourceBundle$CacheKey;->getName()Ljava/lang/String;
-Ljava/util/ResourceBundle$CacheKey;->hashCodeCache:I
-Ljava/util/ResourceBundle$CacheKey;->loaderRef:Ljava/util/ResourceBundle$LoaderReference;
-Ljava/util/ResourceBundle$CacheKey;->loadTime:J
-Ljava/util/ResourceBundle$CacheKey;->locale:Ljava/util/Locale;
-Ljava/util/ResourceBundle$CacheKey;->name:Ljava/lang/String;
-Ljava/util/ResourceBundle$CacheKey;->setCause(Ljava/lang/Throwable;)V
-Ljava/util/ResourceBundle$CacheKey;->setFormat(Ljava/lang/String;)V
-Ljava/util/ResourceBundle$CacheKey;->setLocale(Ljava/util/Locale;)Ljava/util/ResourceBundle$CacheKey;
-Ljava/util/ResourceBundle$CacheKey;->setName(Ljava/lang/String;)Ljava/util/ResourceBundle$CacheKey;
-Ljava/util/ResourceBundle$CacheKeyReference;
-Ljava/util/ResourceBundle$CacheKeyReference;->getCacheKey()Ljava/util/ResourceBundle$CacheKey;
-Ljava/util/ResourceBundle$Control$CandidateListCache;
-Ljava/util/ResourceBundle$Control$CandidateListCache;-><init>()V
-Ljava/util/ResourceBundle$Control$CandidateListCache;->createObject(Lsun/util/locale/BaseLocale;)Ljava/util/List;
-Ljava/util/ResourceBundle$Control$CandidateListCache;->getDefaultList(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
-Ljava/util/ResourceBundle$Control;->CANDIDATES_CACHE:Ljava/util/ResourceBundle$Control$CandidateListCache;
-Ljava/util/ResourceBundle$Control;->INSTANCE:Ljava/util/ResourceBundle$Control;
-Ljava/util/ResourceBundle$Control;->toResourceName0(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Ljava/util/ResourceBundle$LoaderReference;
-Ljava/util/ResourceBundle$LoaderReference;-><init>(Ljava/lang/ClassLoader;Ljava/lang/ref/ReferenceQueue;Ljava/util/ResourceBundle$CacheKey;)V
-Ljava/util/ResourceBundle$LoaderReference;->cacheKey:Ljava/util/ResourceBundle$CacheKey;
-Ljava/util/ResourceBundle$LoaderReference;->getCacheKey()Ljava/util/ResourceBundle$CacheKey;
-Ljava/util/ResourceBundle$NoFallbackControl;
-Ljava/util/ResourceBundle$NoFallbackControl;-><init>(Ljava/util/List;)V
-Ljava/util/ResourceBundle$NoFallbackControl;->CLASS_ONLY_NO_FALLBACK:Ljava/util/ResourceBundle$Control;
-Ljava/util/ResourceBundle$NoFallbackControl;->NO_FALLBACK:Ljava/util/ResourceBundle$Control;
-Ljava/util/ResourceBundle$NoFallbackControl;->PROPERTIES_ONLY_NO_FALLBACK:Ljava/util/ResourceBundle$Control;
-Ljava/util/ResourceBundle$RBClassLoader;
-Ljava/util/ResourceBundle$RBClassLoader;-><init>()V
-Ljava/util/ResourceBundle$RBClassLoader;->INSTANCE:Ljava/util/ResourceBundle$RBClassLoader;
-Ljava/util/ResourceBundle$RBClassLoader;->loader:Ljava/lang/ClassLoader;
-Ljava/util/ResourceBundle$SingleFormatControl;
-Ljava/util/ResourceBundle$SingleFormatControl;-><init>(Ljava/util/List;)V
-Ljava/util/ResourceBundle$SingleFormatControl;->CLASS_ONLY:Ljava/util/ResourceBundle$Control;
-Ljava/util/ResourceBundle$SingleFormatControl;->formats:Ljava/util/List;
-Ljava/util/ResourceBundle$SingleFormatControl;->PROPERTIES_ONLY:Ljava/util/ResourceBundle$Control;
-Ljava/util/ResourceBundle;->cacheKey:Ljava/util/ResourceBundle$CacheKey;
-Ljava/util/ResourceBundle;->cacheList:Ljava/util/concurrent/ConcurrentMap;
-Ljava/util/ResourceBundle;->checkList(Ljava/util/List;)Z
-Ljava/util/ResourceBundle;->expired:Z
-Ljava/util/ResourceBundle;->findBundle(Ljava/util/ResourceBundle$CacheKey;Ljava/util/List;Ljava/util/List;ILjava/util/ResourceBundle$Control;Ljava/util/ResourceBundle;)Ljava/util/ResourceBundle;
-Ljava/util/ResourceBundle;->findBundleInCache(Ljava/util/ResourceBundle$CacheKey;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;
-Ljava/util/ResourceBundle;->getBundleImpl(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;
-Ljava/util/ResourceBundle;->getDefaultControl(Ljava/lang/String;)Ljava/util/ResourceBundle$Control;
-Ljava/util/ResourceBundle;->getLoader(Ljava/lang/ClassLoader;)Ljava/lang/ClassLoader;
-Ljava/util/ResourceBundle;->hasValidParentChain(Ljava/util/ResourceBundle;)Z
-Ljava/util/ResourceBundle;->INITIAL_CACHE_SIZE:I
-Ljava/util/ResourceBundle;->isValidBundle(Ljava/util/ResourceBundle;)Z
-Ljava/util/ResourceBundle;->keySet:Ljava/util/Set;
-Ljava/util/ResourceBundle;->loadBundle(Ljava/util/ResourceBundle$CacheKey;Ljava/util/List;Ljava/util/ResourceBundle$Control;Z)Ljava/util/ResourceBundle;
-Ljava/util/ResourceBundle;->locale:Ljava/util/Locale;
-Ljava/util/ResourceBundle;->name:Ljava/lang/String;
-Ljava/util/ResourceBundle;->NONEXISTENT_BUNDLE:Ljava/util/ResourceBundle;
-Ljava/util/ResourceBundle;->putBundleInCache(Ljava/util/ResourceBundle$CacheKey;Ljava/util/ResourceBundle;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;
-Ljava/util/ResourceBundle;->referenceQueue:Ljava/lang/ref/ReferenceQueue;
-Ljava/util/ResourceBundle;->setExpirationTime(Ljava/util/ResourceBundle$CacheKey;Ljava/util/ResourceBundle$Control;)V
-Ljava/util/ResourceBundle;->throwMissingResourceException(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Throwable;)V
-Ljava/util/Scanner;-><init>(Ljava/io/File;Ljava/nio/charset/CharsetDecoder;)V
-Ljava/util/Scanner;-><init>(Ljava/lang/Readable;Ljava/util/regex/Pattern;)V
-Ljava/util/Scanner;-><init>(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)V
-Ljava/util/Scanner;->BOOLEAN_PATTERN:Ljava/lang/String;
-Ljava/util/Scanner;->boolPattern()Ljava/util/regex/Pattern;
-Ljava/util/Scanner;->boolPattern:Ljava/util/regex/Pattern;
-Ljava/util/Scanner;->buf:Ljava/nio/CharBuffer;
-Ljava/util/Scanner;->BUFFER_SIZE:I
-Ljava/util/Scanner;->buildFloatAndDecimalPattern()V
-Ljava/util/Scanner;->buildIntegerPatternString()Ljava/lang/String;
-Ljava/util/Scanner;->cacheResult()V
-Ljava/util/Scanner;->cacheResult(Ljava/lang/String;)V
-Ljava/util/Scanner;->clearCaches()V
-Ljava/util/Scanner;->closed:Z
-Ljava/util/Scanner;->decimalPattern()Ljava/util/regex/Pattern;
-Ljava/util/Scanner;->decimalPattern:Ljava/util/regex/Pattern;
-Ljava/util/Scanner;->decimalSeparator:Ljava/lang/String;
-Ljava/util/Scanner;->defaultRadix:I
-Ljava/util/Scanner;->delimPattern:Ljava/util/regex/Pattern;
-Ljava/util/Scanner;->digits:Ljava/lang/String;
-Ljava/util/Scanner;->ensureOpen()V
-Ljava/util/Scanner;->findPatternInBuffer(Ljava/util/regex/Pattern;I)Ljava/lang/String;
-Ljava/util/Scanner;->FIND_ANY_PATTERN:Ljava/util/regex/Pattern;
-Ljava/util/Scanner;->floatPattern()Ljava/util/regex/Pattern;
-Ljava/util/Scanner;->floatPattern:Ljava/util/regex/Pattern;
-Ljava/util/Scanner;->getCachedResult()Ljava/lang/String;
-Ljava/util/Scanner;->getCompleteTokenInBuffer(Ljava/util/regex/Pattern;)Ljava/lang/String;
-Ljava/util/Scanner;->groupSeparator:Ljava/lang/String;
-Ljava/util/Scanner;->hasNextPattern:Ljava/util/regex/Pattern;
-Ljava/util/Scanner;->hasNextPosition:I
-Ljava/util/Scanner;->hasNextResult:Ljava/lang/String;
-Ljava/util/Scanner;->hasTokenInBuffer()Z
-Ljava/util/Scanner;->infinityString:Ljava/lang/String;
-Ljava/util/Scanner;->integerPattern()Ljava/util/regex/Pattern;
-Ljava/util/Scanner;->integerPattern:Ljava/util/regex/Pattern;
-Ljava/util/Scanner;->lastException:Ljava/io/IOException;
-Ljava/util/Scanner;->linePattern()Ljava/util/regex/Pattern;
-Ljava/util/Scanner;->linePattern:Ljava/util/regex/Pattern;
-Ljava/util/Scanner;->LINE_PATTERN:Ljava/lang/String;
-Ljava/util/Scanner;->LINE_SEPARATOR_PATTERN:Ljava/lang/String;
-Ljava/util/Scanner;->locale:Ljava/util/Locale;
-Ljava/util/Scanner;->makeReadable(Ljava/io/InputStream;Ljava/nio/charset/Charset;)Ljava/lang/Readable;
-Ljava/util/Scanner;->makeReadable(Ljava/nio/channels/ReadableByteChannel;)Ljava/lang/Readable;
-Ljava/util/Scanner;->makeReadable(Ljava/nio/channels/ReadableByteChannel;Ljava/nio/charset/CharsetDecoder;)Ljava/lang/Readable;
-Ljava/util/Scanner;->makeSpace()Z
-Ljava/util/Scanner;->matcher:Ljava/util/regex/Matcher;
-Ljava/util/Scanner;->matchPatternInBuffer(Ljava/util/regex/Pattern;)Ljava/lang/String;
-Ljava/util/Scanner;->matchValid:Z
-Ljava/util/Scanner;->nanString:Ljava/lang/String;
-Ljava/util/Scanner;->needInput:Z
-Ljava/util/Scanner;->negativePrefix:Ljava/lang/String;
-Ljava/util/Scanner;->negativeSuffix:Ljava/lang/String;
-Ljava/util/Scanner;->non0Digit:Ljava/lang/String;
-Ljava/util/Scanner;->NON_ASCII_DIGIT:Ljava/util/regex/Pattern;
-Ljava/util/Scanner;->patternCache:Lsun/misc/LRUCache;
-Ljava/util/Scanner;->position:I
-Ljava/util/Scanner;->positivePrefix:Ljava/lang/String;
-Ljava/util/Scanner;->positiveSuffix:Ljava/lang/String;
-Ljava/util/Scanner;->processFloatToken(Ljava/lang/String;)Ljava/lang/String;
-Ljava/util/Scanner;->processIntegerToken(Ljava/lang/String;)Ljava/lang/String;
-Ljava/util/Scanner;->radix:I
-Ljava/util/Scanner;->readInput()V
-Ljava/util/Scanner;->revertState()V
-Ljava/util/Scanner;->revertState(Z)Z
-Ljava/util/Scanner;->savedScannerPosition:I
-Ljava/util/Scanner;->saveState()V
-Ljava/util/Scanner;->separatorPattern()Ljava/util/regex/Pattern;
-Ljava/util/Scanner;->separatorPattern:Ljava/util/regex/Pattern;
-Ljava/util/Scanner;->setRadix(I)V
-Ljava/util/Scanner;->SIMPLE_GROUP_INDEX:I
-Ljava/util/Scanner;->skipped:Z
-Ljava/util/Scanner;->source:Ljava/lang/Readable;
-Ljava/util/Scanner;->sourceClosed:Z
-Ljava/util/Scanner;->throwFor()V
-Ljava/util/Scanner;->toCharset(Ljava/lang/String;)Ljava/nio/charset/Charset;
-Ljava/util/Scanner;->toDecoder(Ljava/lang/String;)Ljava/nio/charset/CharsetDecoder;
-Ljava/util/Scanner;->translateSavedIndexes(I)V
-Ljava/util/Scanner;->typeCache:Ljava/lang/Object;
-Ljava/util/Scanner;->useTypeCache()V
-Ljava/util/Scanner;->WHITESPACE_PATTERN:Ljava/util/regex/Pattern;
-Ljava/util/ServiceLoader$LazyIterator;
-Ljava/util/ServiceLoader$LazyIterator;-><init>(Ljava/lang/Class;Ljava/lang/ClassLoader;)V
-Ljava/util/ServiceLoader$LazyIterator;->configs:Ljava/util/Enumeration;
-Ljava/util/ServiceLoader$LazyIterator;->hasNextService()Z
-Ljava/util/ServiceLoader$LazyIterator;->loader:Ljava/lang/ClassLoader;
-Ljava/util/ServiceLoader$LazyIterator;->nextName:Ljava/lang/String;
-Ljava/util/ServiceLoader$LazyIterator;->nextService()Ljava/lang/Object;
-Ljava/util/ServiceLoader$LazyIterator;->pending:Ljava/util/Iterator;
-Ljava/util/ServiceLoader$LazyIterator;->service:Ljava/lang/Class;
-Ljava/util/ServiceLoader;-><init>(Ljava/lang/Class;Ljava/lang/ClassLoader;)V
-Ljava/util/ServiceLoader;->fail(Ljava/lang/Class;Ljava/lang/String;)V
-Ljava/util/ServiceLoader;->fail(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Throwable;)V
-Ljava/util/ServiceLoader;->fail(Ljava/lang/Class;Ljava/net/URL;ILjava/lang/String;)V
-Ljava/util/ServiceLoader;->loader:Ljava/lang/ClassLoader;
-Ljava/util/ServiceLoader;->loadFromSystemProperty(Ljava/lang/Class;)Ljava/lang/Object;
-Ljava/util/ServiceLoader;->lookupIterator:Ljava/util/ServiceLoader$LazyIterator;
-Ljava/util/ServiceLoader;->parse(Ljava/lang/Class;Ljava/net/URL;)Ljava/util/Iterator;
-Ljava/util/ServiceLoader;->parseLine(Ljava/lang/Class;Ljava/net/URL;Ljava/io/BufferedReader;ILjava/util/List;)I
-Ljava/util/ServiceLoader;->PREFIX:Ljava/lang/String;
-Ljava/util/ServiceLoader;->providers:Ljava/util/LinkedHashMap;
-Ljava/util/ServiceLoader;->service:Ljava/lang/Class;
-Ljava/util/SimpleTimeZone;->cacheEnd:J
-Ljava/util/SimpleTimeZone;->cacheStart:J
-Ljava/util/SimpleTimeZone;->cacheYear:J
-Ljava/util/SimpleTimeZone;->currentSerialVersion:I
-Ljava/util/SimpleTimeZone;->decodeEndRule()V
-Ljava/util/SimpleTimeZone;->decodeRules()V
-Ljava/util/SimpleTimeZone;->decodeStartRule()V
-Ljava/util/SimpleTimeZone;->DOM_MODE:I
-Ljava/util/SimpleTimeZone;->DOW_GE_DOM_MODE:I
-Ljava/util/SimpleTimeZone;->DOW_IN_MONTH_MODE:I
-Ljava/util/SimpleTimeZone;->DOW_LE_DOM_MODE:I
-Ljava/util/SimpleTimeZone;->dstSavings:I
-Ljava/util/SimpleTimeZone;->endDay:I
-Ljava/util/SimpleTimeZone;->endDayOfWeek:I
-Ljava/util/SimpleTimeZone;->endMode:I
-Ljava/util/SimpleTimeZone;->endMonth:I
-Ljava/util/SimpleTimeZone;->endTime:I
-Ljava/util/SimpleTimeZone;->endTimeMode:I
-Ljava/util/SimpleTimeZone;->gcal:Lsun/util/calendar/Gregorian;
-Ljava/util/SimpleTimeZone;->getEnd(Lsun/util/calendar/BaseCalendar;Lsun/util/calendar/BaseCalendar$Date;I)J
-Ljava/util/SimpleTimeZone;->getOffset(Lsun/util/calendar/BaseCalendar;Lsun/util/calendar/BaseCalendar$Date;IJ)I
-Ljava/util/SimpleTimeZone;->getOffsets(J[I)I
-Ljava/util/SimpleTimeZone;->getStart(Lsun/util/calendar/BaseCalendar;Lsun/util/calendar/BaseCalendar$Date;I)J
-Ljava/util/SimpleTimeZone;->getTransition(Lsun/util/calendar/BaseCalendar;Lsun/util/calendar/BaseCalendar$Date;IIIIII)J
-Ljava/util/SimpleTimeZone;->invalidateCache()V
-Ljava/util/SimpleTimeZone;->makeRulesCompatible()V
-Ljava/util/SimpleTimeZone;->millisPerDay:I
-Ljava/util/SimpleTimeZone;->millisPerHour:I
-Ljava/util/SimpleTimeZone;->monthLength:[B
-Ljava/util/SimpleTimeZone;->packRules()[B
-Ljava/util/SimpleTimeZone;->packTimes()[I
-Ljava/util/SimpleTimeZone;->rawOffset:I
-Ljava/util/SimpleTimeZone;->serialVersionOnStream:I
-Ljava/util/SimpleTimeZone;->startDay:I
-Ljava/util/SimpleTimeZone;->startDayOfWeek:I
-Ljava/util/SimpleTimeZone;->startMode:I
-Ljava/util/SimpleTimeZone;->startMonth:I
-Ljava/util/SimpleTimeZone;->startTime:I
-Ljava/util/SimpleTimeZone;->startTimeMode:I
-Ljava/util/SimpleTimeZone;->startYear:I
-Ljava/util/SimpleTimeZone;->staticLeapMonthLength:[B
-Ljava/util/SimpleTimeZone;->staticMonthLength:[B
-Ljava/util/SimpleTimeZone;->unpackRules([B)V
-Ljava/util/SimpleTimeZone;->unpackTimes([I)V
-Ljava/util/SimpleTimeZone;->useDaylight:Z
-Ljava/util/Spliterators$AbstractDoubleSpliterator$HoldingDoubleConsumer;
-Ljava/util/Spliterators$AbstractDoubleSpliterator$HoldingDoubleConsumer;-><init>()V
-Ljava/util/Spliterators$AbstractDoubleSpliterator$HoldingDoubleConsumer;->value:D
-Ljava/util/Spliterators$AbstractDoubleSpliterator;->batch:I
-Ljava/util/Spliterators$AbstractDoubleSpliterator;->BATCH_UNIT:I
-Ljava/util/Spliterators$AbstractDoubleSpliterator;->characteristics:I
-Ljava/util/Spliterators$AbstractDoubleSpliterator;->est:J
-Ljava/util/Spliterators$AbstractDoubleSpliterator;->MAX_BATCH:I
-Ljava/util/Spliterators$AbstractIntSpliterator$HoldingIntConsumer;
-Ljava/util/Spliterators$AbstractIntSpliterator$HoldingIntConsumer;-><init>()V
-Ljava/util/Spliterators$AbstractIntSpliterator$HoldingIntConsumer;->value:I
-Ljava/util/Spliterators$AbstractIntSpliterator;->batch:I
-Ljava/util/Spliterators$AbstractIntSpliterator;->BATCH_UNIT:I
-Ljava/util/Spliterators$AbstractIntSpliterator;->characteristics:I
-Ljava/util/Spliterators$AbstractIntSpliterator;->est:J
-Ljava/util/Spliterators$AbstractIntSpliterator;->MAX_BATCH:I
-Ljava/util/Spliterators$AbstractLongSpliterator$HoldingLongConsumer;
-Ljava/util/Spliterators$AbstractLongSpliterator$HoldingLongConsumer;-><init>()V
-Ljava/util/Spliterators$AbstractLongSpliterator$HoldingLongConsumer;->value:J
-Ljava/util/Spliterators$AbstractLongSpliterator;->batch:I
-Ljava/util/Spliterators$AbstractLongSpliterator;->BATCH_UNIT:I
-Ljava/util/Spliterators$AbstractLongSpliterator;->characteristics:I
-Ljava/util/Spliterators$AbstractLongSpliterator;->est:J
-Ljava/util/Spliterators$AbstractLongSpliterator;->MAX_BATCH:I
-Ljava/util/Spliterators$AbstractSpliterator$HoldingConsumer;
-Ljava/util/Spliterators$AbstractSpliterator$HoldingConsumer;-><init>()V
-Ljava/util/Spliterators$AbstractSpliterator$HoldingConsumer;->value:Ljava/lang/Object;
-Ljava/util/Spliterators$AbstractSpliterator;->batch:I
-Ljava/util/Spliterators$AbstractSpliterator;->BATCH_UNIT:I
-Ljava/util/Spliterators$AbstractSpliterator;->characteristics:I
-Ljava/util/Spliterators$AbstractSpliterator;->est:J
-Ljava/util/Spliterators$AbstractSpliterator;->MAX_BATCH:I
-Ljava/util/Spliterators$ArraySpliterator;
-Ljava/util/Spliterators$ArraySpliterator;-><init>([Ljava/lang/Object;I)V
-Ljava/util/Spliterators$ArraySpliterator;-><init>([Ljava/lang/Object;III)V
-Ljava/util/Spliterators$ArraySpliterator;->array:[Ljava/lang/Object;
-Ljava/util/Spliterators$ArraySpliterator;->characteristics:I
-Ljava/util/Spliterators$ArraySpliterator;->fence:I
-Ljava/util/Spliterators$ArraySpliterator;->index:I
-Ljava/util/Spliterators$DoubleArraySpliterator;
-Ljava/util/Spliterators$DoubleArraySpliterator;-><init>([DI)V
-Ljava/util/Spliterators$DoubleArraySpliterator;-><init>([DIII)V
-Ljava/util/Spliterators$DoubleArraySpliterator;->array:[D
-Ljava/util/Spliterators$DoubleArraySpliterator;->characteristics:I
-Ljava/util/Spliterators$DoubleArraySpliterator;->fence:I
-Ljava/util/Spliterators$DoubleArraySpliterator;->index:I
-Ljava/util/Spliterators$DoubleIteratorSpliterator;
-Ljava/util/Spliterators$DoubleIteratorSpliterator;-><init>(Ljava/util/PrimitiveIterator$OfDouble;I)V
-Ljava/util/Spliterators$DoubleIteratorSpliterator;-><init>(Ljava/util/PrimitiveIterator$OfDouble;JI)V
-Ljava/util/Spliterators$DoubleIteratorSpliterator;->batch:I
-Ljava/util/Spliterators$DoubleIteratorSpliterator;->BATCH_UNIT:I
-Ljava/util/Spliterators$DoubleIteratorSpliterator;->characteristics:I
-Ljava/util/Spliterators$DoubleIteratorSpliterator;->est:J
-Ljava/util/Spliterators$DoubleIteratorSpliterator;->it:Ljava/util/PrimitiveIterator$OfDouble;
-Ljava/util/Spliterators$DoubleIteratorSpliterator;->MAX_BATCH:I
-Ljava/util/Spliterators$EmptySpliterator$OfDouble;
-Ljava/util/Spliterators$EmptySpliterator$OfDouble;-><init>()V
-Ljava/util/Spliterators$EmptySpliterator$OfInt;
-Ljava/util/Spliterators$EmptySpliterator$OfInt;-><init>()V
-Ljava/util/Spliterators$EmptySpliterator$OfLong;
-Ljava/util/Spliterators$EmptySpliterator$OfLong;-><init>()V
-Ljava/util/Spliterators$EmptySpliterator$OfRef;
-Ljava/util/Spliterators$EmptySpliterator$OfRef;-><init>()V
-Ljava/util/Spliterators$EmptySpliterator;
-Ljava/util/Spliterators$EmptySpliterator;-><init>()V
-Ljava/util/Spliterators$EmptySpliterator;->characteristics()I
-Ljava/util/Spliterators$EmptySpliterator;->estimateSize()J
-Ljava/util/Spliterators$EmptySpliterator;->forEachRemaining(Ljava/lang/Object;)V
-Ljava/util/Spliterators$EmptySpliterator;->tryAdvance(Ljava/lang/Object;)Z
-Ljava/util/Spliterators$EmptySpliterator;->trySplit()Ljava/util/Spliterator;
-Ljava/util/Spliterators$IntArraySpliterator;
-Ljava/util/Spliterators$IntArraySpliterator;-><init>([II)V
-Ljava/util/Spliterators$IntArraySpliterator;-><init>([IIII)V
-Ljava/util/Spliterators$IntArraySpliterator;->array:[I
-Ljava/util/Spliterators$IntArraySpliterator;->characteristics:I
-Ljava/util/Spliterators$IntArraySpliterator;->fence:I
-Ljava/util/Spliterators$IntArraySpliterator;->index:I
-Ljava/util/Spliterators$IntIteratorSpliterator;
-Ljava/util/Spliterators$IntIteratorSpliterator;-><init>(Ljava/util/PrimitiveIterator$OfInt;I)V
-Ljava/util/Spliterators$IntIteratorSpliterator;-><init>(Ljava/util/PrimitiveIterator$OfInt;JI)V
-Ljava/util/Spliterators$IntIteratorSpliterator;->batch:I
-Ljava/util/Spliterators$IntIteratorSpliterator;->BATCH_UNIT:I
-Ljava/util/Spliterators$IntIteratorSpliterator;->characteristics:I
-Ljava/util/Spliterators$IntIteratorSpliterator;->est:J
-Ljava/util/Spliterators$IntIteratorSpliterator;->it:Ljava/util/PrimitiveIterator$OfInt;
-Ljava/util/Spliterators$IntIteratorSpliterator;->MAX_BATCH:I
-Ljava/util/Spliterators$IteratorSpliterator;
-Ljava/util/Spliterators$IteratorSpliterator;-><init>(Ljava/util/Collection;I)V
-Ljava/util/Spliterators$IteratorSpliterator;-><init>(Ljava/util/Iterator;I)V
-Ljava/util/Spliterators$IteratorSpliterator;-><init>(Ljava/util/Iterator;JI)V
-Ljava/util/Spliterators$IteratorSpliterator;->batch:I
-Ljava/util/Spliterators$IteratorSpliterator;->BATCH_UNIT:I
-Ljava/util/Spliterators$IteratorSpliterator;->characteristics:I
-Ljava/util/Spliterators$IteratorSpliterator;->collection:Ljava/util/Collection;
-Ljava/util/Spliterators$IteratorSpliterator;->est:J
-Ljava/util/Spliterators$IteratorSpliterator;->it:Ljava/util/Iterator;
-Ljava/util/Spliterators$IteratorSpliterator;->MAX_BATCH:I
-Ljava/util/Spliterators$LongArraySpliterator;
-Ljava/util/Spliterators$LongArraySpliterator;-><init>([JI)V
-Ljava/util/Spliterators$LongArraySpliterator;-><init>([JIII)V
-Ljava/util/Spliterators$LongArraySpliterator;->array:[J
-Ljava/util/Spliterators$LongArraySpliterator;->characteristics:I
-Ljava/util/Spliterators$LongArraySpliterator;->fence:I
-Ljava/util/Spliterators$LongArraySpliterator;->index:I
-Ljava/util/Spliterators$LongIteratorSpliterator;
-Ljava/util/Spliterators$LongIteratorSpliterator;-><init>(Ljava/util/PrimitiveIterator$OfLong;I)V
-Ljava/util/Spliterators$LongIteratorSpliterator;-><init>(Ljava/util/PrimitiveIterator$OfLong;JI)V
-Ljava/util/Spliterators$LongIteratorSpliterator;->batch:I
-Ljava/util/Spliterators$LongIteratorSpliterator;->BATCH_UNIT:I
-Ljava/util/Spliterators$LongIteratorSpliterator;->characteristics:I
-Ljava/util/Spliterators$LongIteratorSpliterator;->est:J
-Ljava/util/Spliterators$LongIteratorSpliterator;->it:Ljava/util/PrimitiveIterator$OfLong;
-Ljava/util/Spliterators$LongIteratorSpliterator;->MAX_BATCH:I
-Ljava/util/Spliterators;-><init>()V
-Ljava/util/Spliterators;->checkFromToBounds(III)V
-Ljava/util/Spliterators;->EMPTY_DOUBLE_SPLITERATOR:Ljava/util/Spliterator$OfDouble;
-Ljava/util/Spliterators;->EMPTY_INT_SPLITERATOR:Ljava/util/Spliterator$OfInt;
-Ljava/util/Spliterators;->EMPTY_LONG_SPLITERATOR:Ljava/util/Spliterator$OfLong;
-Ljava/util/Spliterators;->EMPTY_SPLITERATOR:Ljava/util/Spliterator;
-Ljava/util/SplittableRandom$RandomDoublesSpliterator;
-Ljava/util/SplittableRandom$RandomDoublesSpliterator;-><init>(Ljava/util/SplittableRandom;JJDD)V
-Ljava/util/SplittableRandom$RandomDoublesSpliterator;->bound:D
-Ljava/util/SplittableRandom$RandomDoublesSpliterator;->fence:J
-Ljava/util/SplittableRandom$RandomDoublesSpliterator;->index:J
-Ljava/util/SplittableRandom$RandomDoublesSpliterator;->origin:D
-Ljava/util/SplittableRandom$RandomDoublesSpliterator;->rng:Ljava/util/SplittableRandom;
-Ljava/util/SplittableRandom$RandomIntsSpliterator;
-Ljava/util/SplittableRandom$RandomIntsSpliterator;-><init>(Ljava/util/SplittableRandom;JJII)V
-Ljava/util/SplittableRandom$RandomIntsSpliterator;->bound:I
-Ljava/util/SplittableRandom$RandomIntsSpliterator;->fence:J
-Ljava/util/SplittableRandom$RandomIntsSpliterator;->index:J
-Ljava/util/SplittableRandom$RandomIntsSpliterator;->origin:I
-Ljava/util/SplittableRandom$RandomIntsSpliterator;->rng:Ljava/util/SplittableRandom;
-Ljava/util/SplittableRandom$RandomLongsSpliterator;
-Ljava/util/SplittableRandom$RandomLongsSpliterator;-><init>(Ljava/util/SplittableRandom;JJJJ)V
-Ljava/util/SplittableRandom$RandomLongsSpliterator;->bound:J
-Ljava/util/SplittableRandom$RandomLongsSpliterator;->fence:J
-Ljava/util/SplittableRandom$RandomLongsSpliterator;->index:J
-Ljava/util/SplittableRandom$RandomLongsSpliterator;->origin:J
-Ljava/util/SplittableRandom$RandomLongsSpliterator;->rng:Ljava/util/SplittableRandom;
-Ljava/util/SplittableRandom;-><init>(JJ)V
-Ljava/util/SplittableRandom;->BAD_BOUND:Ljava/lang/String;
-Ljava/util/SplittableRandom;->BAD_RANGE:Ljava/lang/String;
-Ljava/util/SplittableRandom;->BAD_SIZE:Ljava/lang/String;
-Ljava/util/SplittableRandom;->defaultGen:Ljava/util/concurrent/atomic/AtomicLong;
-Ljava/util/SplittableRandom;->DOUBLE_UNIT:D
-Ljava/util/SplittableRandom;->gamma:J
-Ljava/util/SplittableRandom;->GOLDEN_GAMMA:J
-Ljava/util/SplittableRandom;->internalNextDouble(DD)D
-Ljava/util/SplittableRandom;->internalNextInt(II)I
-Ljava/util/SplittableRandom;->internalNextLong(JJ)J
-Ljava/util/SplittableRandom;->mix32(J)I
-Ljava/util/SplittableRandom;->mix64(J)J
-Ljava/util/SplittableRandom;->mixGamma(J)J
-Ljava/util/SplittableRandom;->nextSeed()J
-Ljava/util/SplittableRandom;->seed:J
-Ljava/util/stream/AbstractPipeline;
-Ljava/util/stream/AbstractPipeline;-><init>(Ljava/util/function/Supplier;IZ)V
-Ljava/util/stream/AbstractPipeline;-><init>(Ljava/util/Spliterator;IZ)V
-Ljava/util/stream/AbstractPipeline;-><init>(Ljava/util/stream/AbstractPipeline;I)V
-Ljava/util/stream/AbstractPipeline;->combinedFlags:I
-Ljava/util/stream/AbstractPipeline;->copyInto(Ljava/util/stream/Sink;Ljava/util/Spliterator;)V
-Ljava/util/stream/AbstractPipeline;->copyIntoWithCancel(Ljava/util/stream/Sink;Ljava/util/Spliterator;)V
-Ljava/util/stream/AbstractPipeline;->depth:I
-Ljava/util/stream/AbstractPipeline;->evaluate(Ljava/util/Spliterator;ZLjava/util/function/IntFunction;)Ljava/util/stream/Node;
-Ljava/util/stream/AbstractPipeline;->evaluate(Ljava/util/stream/TerminalOp;)Ljava/lang/Object;
-Ljava/util/stream/AbstractPipeline;->evaluateToArrayNode(Ljava/util/function/IntFunction;)Ljava/util/stream/Node;
-Ljava/util/stream/AbstractPipeline;->evaluateToNode(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;ZLjava/util/function/IntFunction;)Ljava/util/stream/Node;
-Ljava/util/stream/AbstractPipeline;->exactOutputSizeIfKnown(Ljava/util/Spliterator;)J
-Ljava/util/stream/AbstractPipeline;->forEachWithCancel(Ljava/util/Spliterator;Ljava/util/stream/Sink;)V
-Ljava/util/stream/AbstractPipeline;->getOutputShape()Ljava/util/stream/StreamShape;
-Ljava/util/stream/AbstractPipeline;->getSourceShape()Ljava/util/stream/StreamShape;
-Ljava/util/stream/AbstractPipeline;->getStreamAndOpFlags()I
-Ljava/util/stream/AbstractPipeline;->getStreamFlags()I
-Ljava/util/stream/AbstractPipeline;->isOrdered()Z
-Ljava/util/stream/AbstractPipeline;->lazySpliterator(Ljava/util/function/Supplier;)Ljava/util/Spliterator;
-Ljava/util/stream/AbstractPipeline;->linkedOrConsumed:Z
-Ljava/util/stream/AbstractPipeline;->makeNodeBuilder(JLjava/util/function/IntFunction;)Ljava/util/stream/Node$Builder;
-Ljava/util/stream/AbstractPipeline;->MSG_CONSUMED:Ljava/lang/String;
-Ljava/util/stream/AbstractPipeline;->MSG_STREAM_LINKED:Ljava/lang/String;
-Ljava/util/stream/AbstractPipeline;->nextStage:Ljava/util/stream/AbstractPipeline;
-Ljava/util/stream/AbstractPipeline;->opEvaluateParallel(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;Ljava/util/function/IntFunction;)Ljava/util/stream/Node;
-Ljava/util/stream/AbstractPipeline;->opEvaluateParallelLazy(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/util/Spliterator;
-Ljava/util/stream/AbstractPipeline;->opIsStateful()Z
-Ljava/util/stream/AbstractPipeline;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
-Ljava/util/stream/AbstractPipeline;->parallel:Z
-Ljava/util/stream/AbstractPipeline;->previousStage:Ljava/util/stream/AbstractPipeline;
-Ljava/util/stream/AbstractPipeline;->sourceAnyStateful:Z
-Ljava/util/stream/AbstractPipeline;->sourceCloseAction:Ljava/lang/Runnable;
-Ljava/util/stream/AbstractPipeline;->sourceOrOpFlags:I
-Ljava/util/stream/AbstractPipeline;->sourceSpliterator(I)Ljava/util/Spliterator;
-Ljava/util/stream/AbstractPipeline;->sourceSpliterator:Ljava/util/Spliterator;
-Ljava/util/stream/AbstractPipeline;->sourceStage:Ljava/util/stream/AbstractPipeline;
-Ljava/util/stream/AbstractPipeline;->sourceStageSpliterator()Ljava/util/Spliterator;
-Ljava/util/stream/AbstractPipeline;->sourceSupplier:Ljava/util/function/Supplier;
-Ljava/util/stream/AbstractPipeline;->wrap(Ljava/util/stream/PipelineHelper;Ljava/util/function/Supplier;Z)Ljava/util/Spliterator;
-Ljava/util/stream/AbstractPipeline;->wrapAndCopyInto(Ljava/util/stream/Sink;Ljava/util/Spliterator;)Ljava/util/stream/Sink;
-Ljava/util/stream/AbstractPipeline;->wrapSink(Ljava/util/stream/Sink;)Ljava/util/stream/Sink;
-Ljava/util/stream/AbstractPipeline;->wrapSpliterator(Ljava/util/Spliterator;)Ljava/util/Spliterator;
-Ljava/util/stream/AbstractSpinedBuffer;
-Ljava/util/stream/AbstractSpinedBuffer;-><init>()V
-Ljava/util/stream/AbstractSpinedBuffer;-><init>(I)V
-Ljava/util/stream/AbstractSpinedBuffer;->chunkSize(I)I
-Ljava/util/stream/AbstractSpinedBuffer;->clear()V
-Ljava/util/stream/AbstractSpinedBuffer;->count()J
-Ljava/util/stream/AbstractSpinedBuffer;->elementIndex:I
-Ljava/util/stream/AbstractSpinedBuffer;->initialChunkPower:I
-Ljava/util/stream/AbstractSpinedBuffer;->isEmpty()Z
-Ljava/util/stream/AbstractSpinedBuffer;->MAX_CHUNK_POWER:I
-Ljava/util/stream/AbstractSpinedBuffer;->MIN_CHUNK_POWER:I
-Ljava/util/stream/AbstractSpinedBuffer;->MIN_CHUNK_SIZE:I
-Ljava/util/stream/AbstractSpinedBuffer;->MIN_SPINE_SIZE:I
-Ljava/util/stream/AbstractSpinedBuffer;->priorElementCount:[J
-Ljava/util/stream/AbstractSpinedBuffer;->spineIndex:I
-Ljava/util/stream/Collector$Characteristics;-><init>()V
-Ljava/util/stream/Collectors$CollectorImpl;
-Ljava/util/stream/Collectors$CollectorImpl;-><init>(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;Ljava/util/function/Function;Ljava/util/Set;)V
-Ljava/util/stream/Collectors$CollectorImpl;-><init>(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;Ljava/util/Set;)V
-Ljava/util/stream/Collectors$CollectorImpl;->accumulator:Ljava/util/function/BiConsumer;
-Ljava/util/stream/Collectors$CollectorImpl;->characteristics:Ljava/util/Set;
-Ljava/util/stream/Collectors$CollectorImpl;->combiner:Ljava/util/function/BinaryOperator;
-Ljava/util/stream/Collectors$CollectorImpl;->finisher:Ljava/util/function/Function;
-Ljava/util/stream/Collectors$CollectorImpl;->supplier:Ljava/util/function/Supplier;
-Ljava/util/stream/Collectors$Partition;
-Ljava/util/stream/Collectors$Partition;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
-Ljava/util/stream/Collectors$Partition;->forFalse:Ljava/lang/Object;
-Ljava/util/stream/Collectors$Partition;->forTrue:Ljava/lang/Object;
-Ljava/util/stream/Collectors;-><init>()V
-Ljava/util/stream/Collectors;->boxSupplier(Ljava/lang/Object;)Ljava/util/function/Supplier;
-Ljava/util/stream/Collectors;->castingIdentity()Ljava/util/function/Function;
-Ljava/util/stream/Collectors;->CH_CONCURRENT_ID:Ljava/util/Set;
-Ljava/util/stream/Collectors;->CH_CONCURRENT_NOID:Ljava/util/Set;
-Ljava/util/stream/Collectors;->CH_ID:Ljava/util/Set;
-Ljava/util/stream/Collectors;->CH_NOID:Ljava/util/Set;
-Ljava/util/stream/Collectors;->CH_UNORDERED_ID:Ljava/util/Set;
-Ljava/util/stream/Collectors;->computeFinalSum([D)D
-Ljava/util/stream/Collectors;->mapMerger(Ljava/util/function/BinaryOperator;)Ljava/util/function/BinaryOperator;
-Ljava/util/stream/Collectors;->sumWithCompensation([DD)[D
-Ljava/util/stream/Collectors;->throwingMerger()Ljava/util/function/BinaryOperator;
-Ljava/util/stream/DoublePipeline$Head;
-Ljava/util/stream/DoublePipeline$Head;-><init>(Ljava/util/function/Supplier;IZ)V
-Ljava/util/stream/DoublePipeline$Head;-><init>(Ljava/util/Spliterator;IZ)V
-Ljava/util/stream/DoublePipeline$Head;->opIsStateful()Z
-Ljava/util/stream/DoublePipeline$Head;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
-Ljava/util/stream/DoublePipeline$StatefulOp;
-Ljava/util/stream/DoublePipeline$StatefulOp;-><init>(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;I)V
-Ljava/util/stream/DoublePipeline$StatefulOp;->opEvaluateParallel(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;Ljava/util/function/IntFunction;)Ljava/util/stream/Node;
-Ljava/util/stream/DoublePipeline$StatefulOp;->opIsStateful()Z
-Ljava/util/stream/DoublePipeline$StatelessOp;
-Ljava/util/stream/DoublePipeline$StatelessOp;-><init>(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;I)V
-Ljava/util/stream/DoublePipeline$StatelessOp;->opIsStateful()Z
-Ljava/util/stream/DoublePipeline;
-Ljava/util/stream/DoublePipeline;-><init>(Ljava/util/function/Supplier;IZ)V
-Ljava/util/stream/DoublePipeline;-><init>(Ljava/util/Spliterator;IZ)V
-Ljava/util/stream/DoublePipeline;-><init>(Ljava/util/stream/AbstractPipeline;I)V
-Ljava/util/stream/DoublePipeline;->adapt(Ljava/util/Spliterator;)Ljava/util/Spliterator$OfDouble;
-Ljava/util/stream/DoublePipeline;->adapt(Ljava/util/stream/Sink;)Ljava/util/function/DoubleConsumer;
-Ljava/util/stream/DoublePipeline;->evaluateToNode(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;ZLjava/util/function/IntFunction;)Ljava/util/stream/Node;
-Ljava/util/stream/DoublePipeline;->forEachWithCancel(Ljava/util/Spliterator;Ljava/util/stream/Sink;)V
-Ljava/util/stream/DoublePipeline;->getOutputShape()Ljava/util/stream/StreamShape;
-Ljava/util/stream/DoublePipeline;->lazySpliterator(Ljava/util/function/Supplier;)Ljava/util/Spliterator$OfDouble;
-Ljava/util/stream/DoublePipeline;->makeNodeBuilder(JLjava/util/function/IntFunction;)Ljava/util/stream/Node$Builder;
-Ljava/util/stream/DoublePipeline;->wrap(Ljava/util/stream/PipelineHelper;Ljava/util/function/Supplier;Z)Ljava/util/Spliterator;
-Ljava/util/stream/IntPipeline$Head;
-Ljava/util/stream/IntPipeline$Head;-><init>(Ljava/util/function/Supplier;IZ)V
-Ljava/util/stream/IntPipeline$Head;-><init>(Ljava/util/Spliterator;IZ)V
-Ljava/util/stream/IntPipeline$Head;->opIsStateful()Z
-Ljava/util/stream/IntPipeline$Head;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
-Ljava/util/stream/IntPipeline$StatefulOp;
-Ljava/util/stream/IntPipeline$StatefulOp;-><init>(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;I)V
-Ljava/util/stream/IntPipeline$StatefulOp;->opEvaluateParallel(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;Ljava/util/function/IntFunction;)Ljava/util/stream/Node;
-Ljava/util/stream/IntPipeline$StatefulOp;->opIsStateful()Z
-Ljava/util/stream/IntPipeline$StatelessOp;
-Ljava/util/stream/IntPipeline$StatelessOp;-><init>(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;I)V
-Ljava/util/stream/IntPipeline$StatelessOp;->opIsStateful()Z
-Ljava/util/stream/IntPipeline;
-Ljava/util/stream/IntPipeline;-><init>(Ljava/util/function/Supplier;IZ)V
-Ljava/util/stream/IntPipeline;-><init>(Ljava/util/Spliterator;IZ)V
-Ljava/util/stream/IntPipeline;-><init>(Ljava/util/stream/AbstractPipeline;I)V
-Ljava/util/stream/IntPipeline;->adapt(Ljava/util/Spliterator;)Ljava/util/Spliterator$OfInt;
-Ljava/util/stream/IntPipeline;->adapt(Ljava/util/stream/Sink;)Ljava/util/function/IntConsumer;
-Ljava/util/stream/IntPipeline;->evaluateToNode(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;ZLjava/util/function/IntFunction;)Ljava/util/stream/Node;
-Ljava/util/stream/IntPipeline;->forEachWithCancel(Ljava/util/Spliterator;Ljava/util/stream/Sink;)V
-Ljava/util/stream/IntPipeline;->getOutputShape()Ljava/util/stream/StreamShape;
-Ljava/util/stream/IntPipeline;->lazySpliterator(Ljava/util/function/Supplier;)Ljava/util/Spliterator$OfInt;
-Ljava/util/stream/IntPipeline;->makeNodeBuilder(JLjava/util/function/IntFunction;)Ljava/util/stream/Node$Builder;
-Ljava/util/stream/IntPipeline;->wrap(Ljava/util/stream/PipelineHelper;Ljava/util/function/Supplier;Z)Ljava/util/Spliterator;
-Ljava/util/stream/LongPipeline$Head;
-Ljava/util/stream/LongPipeline$Head;-><init>(Ljava/util/function/Supplier;IZ)V
-Ljava/util/stream/LongPipeline$Head;-><init>(Ljava/util/Spliterator;IZ)V
-Ljava/util/stream/LongPipeline$Head;->opIsStateful()Z
-Ljava/util/stream/LongPipeline$Head;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
-Ljava/util/stream/LongPipeline$StatefulOp;
-Ljava/util/stream/LongPipeline$StatefulOp;-><init>(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;I)V
-Ljava/util/stream/LongPipeline$StatefulOp;->opEvaluateParallel(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;Ljava/util/function/IntFunction;)Ljava/util/stream/Node;
-Ljava/util/stream/LongPipeline$StatefulOp;->opIsStateful()Z
-Ljava/util/stream/LongPipeline$StatelessOp;
-Ljava/util/stream/LongPipeline$StatelessOp;-><init>(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;I)V
-Ljava/util/stream/LongPipeline$StatelessOp;->opIsStateful()Z
-Ljava/util/stream/LongPipeline;
-Ljava/util/stream/LongPipeline;-><init>(Ljava/util/function/Supplier;IZ)V
-Ljava/util/stream/LongPipeline;-><init>(Ljava/util/Spliterator;IZ)V
-Ljava/util/stream/LongPipeline;-><init>(Ljava/util/stream/AbstractPipeline;I)V
-Ljava/util/stream/LongPipeline;->adapt(Ljava/util/Spliterator;)Ljava/util/Spliterator$OfLong;
-Ljava/util/stream/LongPipeline;->adapt(Ljava/util/stream/Sink;)Ljava/util/function/LongConsumer;
-Ljava/util/stream/LongPipeline;->evaluateToNode(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;ZLjava/util/function/IntFunction;)Ljava/util/stream/Node;
-Ljava/util/stream/LongPipeline;->forEachWithCancel(Ljava/util/Spliterator;Ljava/util/stream/Sink;)V
-Ljava/util/stream/LongPipeline;->getOutputShape()Ljava/util/stream/StreamShape;
-Ljava/util/stream/LongPipeline;->lazySpliterator(Ljava/util/function/Supplier;)Ljava/util/Spliterator$OfLong;
-Ljava/util/stream/LongPipeline;->makeNodeBuilder(JLjava/util/function/IntFunction;)Ljava/util/stream/Node$Builder;
-Ljava/util/stream/LongPipeline;->wrap(Ljava/util/stream/PipelineHelper;Ljava/util/function/Supplier;Z)Ljava/util/Spliterator;
-Ljava/util/stream/Node$Builder$OfDouble;
-Ljava/util/stream/Node$Builder$OfDouble;->build()Ljava/util/stream/Node$OfDouble;
-Ljava/util/stream/Node$Builder$OfInt;
-Ljava/util/stream/Node$Builder$OfInt;->build()Ljava/util/stream/Node$OfInt;
-Ljava/util/stream/Node$Builder$OfLong;
-Ljava/util/stream/Node$Builder$OfLong;->build()Ljava/util/stream/Node$OfLong;
-Ljava/util/stream/Node$Builder;
-Ljava/util/stream/Node$Builder;->build()Ljava/util/stream/Node;
-Ljava/util/stream/Node$OfDouble;
-Ljava/util/stream/Node$OfDouble;->copyInto([Ljava/lang/Double;I)V
-Ljava/util/stream/Node$OfDouble;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/stream/Node$OfDouble;->getShape()Ljava/util/stream/StreamShape;
-Ljava/util/stream/Node$OfDouble;->newArray(I)[D
-Ljava/util/stream/Node$OfDouble;->truncate(JJLjava/util/function/IntFunction;)Ljava/util/stream/Node$OfDouble;
-Ljava/util/stream/Node$OfInt;
-Ljava/util/stream/Node$OfInt;->copyInto([Ljava/lang/Integer;I)V
-Ljava/util/stream/Node$OfInt;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/stream/Node$OfInt;->getShape()Ljava/util/stream/StreamShape;
-Ljava/util/stream/Node$OfInt;->newArray(I)[I
-Ljava/util/stream/Node$OfInt;->truncate(JJLjava/util/function/IntFunction;)Ljava/util/stream/Node$OfInt;
-Ljava/util/stream/Node$OfLong;
-Ljava/util/stream/Node$OfLong;->copyInto([Ljava/lang/Long;I)V
-Ljava/util/stream/Node$OfLong;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/stream/Node$OfLong;->getShape()Ljava/util/stream/StreamShape;
-Ljava/util/stream/Node$OfLong;->newArray(I)[J
-Ljava/util/stream/Node$OfLong;->truncate(JJLjava/util/function/IntFunction;)Ljava/util/stream/Node$OfLong;
-Ljava/util/stream/Node$OfPrimitive;
-Ljava/util/stream/Node$OfPrimitive;->asArray(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
-Ljava/util/stream/Node$OfPrimitive;->asPrimitiveArray()Ljava/lang/Object;
-Ljava/util/stream/Node$OfPrimitive;->copyInto(Ljava/lang/Object;I)V
-Ljava/util/stream/Node$OfPrimitive;->forEach(Ljava/lang/Object;)V
-Ljava/util/stream/Node$OfPrimitive;->getChild(I)Ljava/util/stream/Node$OfPrimitive;
-Ljava/util/stream/Node$OfPrimitive;->newArray(I)Ljava/lang/Object;
-Ljava/util/stream/Node$OfPrimitive;->spliterator()Ljava/util/Spliterator$OfPrimitive;
-Ljava/util/stream/Node$OfPrimitive;->truncate(JJLjava/util/function/IntFunction;)Ljava/util/stream/Node$OfPrimitive;
-Ljava/util/stream/Node;
-Ljava/util/stream/Node;->asArray(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
-Ljava/util/stream/Node;->copyInto([Ljava/lang/Object;I)V
-Ljava/util/stream/Node;->count()J
-Ljava/util/stream/Node;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/stream/Node;->getChild(I)Ljava/util/stream/Node;
-Ljava/util/stream/Node;->getChildCount()I
-Ljava/util/stream/Node;->getShape()Ljava/util/stream/StreamShape;
-Ljava/util/stream/Node;->spliterator()Ljava/util/Spliterator;
-Ljava/util/stream/Node;->truncate(JJLjava/util/function/IntFunction;)Ljava/util/stream/Node;
-Ljava/util/stream/PipelineHelper;
-Ljava/util/stream/PipelineHelper;-><init>()V
-Ljava/util/stream/PipelineHelper;->copyInto(Ljava/util/stream/Sink;Ljava/util/Spliterator;)V
-Ljava/util/stream/PipelineHelper;->copyIntoWithCancel(Ljava/util/stream/Sink;Ljava/util/Spliterator;)V
-Ljava/util/stream/PipelineHelper;->evaluate(Ljava/util/Spliterator;ZLjava/util/function/IntFunction;)Ljava/util/stream/Node;
-Ljava/util/stream/PipelineHelper;->exactOutputSizeIfKnown(Ljava/util/Spliterator;)J
-Ljava/util/stream/PipelineHelper;->getSourceShape()Ljava/util/stream/StreamShape;
-Ljava/util/stream/PipelineHelper;->getStreamAndOpFlags()I
-Ljava/util/stream/PipelineHelper;->makeNodeBuilder(JLjava/util/function/IntFunction;)Ljava/util/stream/Node$Builder;
-Ljava/util/stream/PipelineHelper;->wrapAndCopyInto(Ljava/util/stream/Sink;Ljava/util/Spliterator;)Ljava/util/stream/Sink;
-Ljava/util/stream/PipelineHelper;->wrapSink(Ljava/util/stream/Sink;)Ljava/util/stream/Sink;
-Ljava/util/stream/PipelineHelper;->wrapSpliterator(Ljava/util/Spliterator;)Ljava/util/Spliterator;
-Ljava/util/stream/ReferencePipeline$Head;
-Ljava/util/stream/ReferencePipeline$Head;-><init>(Ljava/util/function/Supplier;IZ)V
-Ljava/util/stream/ReferencePipeline$Head;-><init>(Ljava/util/Spliterator;IZ)V
-Ljava/util/stream/ReferencePipeline$Head;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/stream/ReferencePipeline$Head;->forEachOrdered(Ljava/util/function/Consumer;)V
-Ljava/util/stream/ReferencePipeline$Head;->opIsStateful()Z
-Ljava/util/stream/ReferencePipeline$Head;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
-Ljava/util/stream/ReferencePipeline$StatefulOp;
-Ljava/util/stream/ReferencePipeline$StatefulOp;-><init>(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;I)V
-Ljava/util/stream/ReferencePipeline$StatefulOp;->opEvaluateParallel(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;Ljava/util/function/IntFunction;)Ljava/util/stream/Node;
-Ljava/util/stream/ReferencePipeline$StatefulOp;->opIsStateful()Z
-Ljava/util/stream/ReferencePipeline$StatelessOp;
-Ljava/util/stream/ReferencePipeline$StatelessOp;-><init>(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;I)V
-Ljava/util/stream/ReferencePipeline$StatelessOp;->opIsStateful()Z
-Ljava/util/stream/ReferencePipeline;
-Ljava/util/stream/ReferencePipeline;-><init>(Ljava/util/function/Supplier;IZ)V
-Ljava/util/stream/ReferencePipeline;-><init>(Ljava/util/Spliterator;IZ)V
-Ljava/util/stream/ReferencePipeline;-><init>(Ljava/util/stream/AbstractPipeline;I)V
-Ljava/util/stream/ReferencePipeline;->allMatch(Ljava/util/function/Predicate;)Z
-Ljava/util/stream/ReferencePipeline;->anyMatch(Ljava/util/function/Predicate;)Z
-Ljava/util/stream/ReferencePipeline;->collect(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BiConsumer;)Ljava/lang/Object;
-Ljava/util/stream/ReferencePipeline;->collect(Ljava/util/stream/Collector;)Ljava/lang/Object;
-Ljava/util/stream/ReferencePipeline;->evaluateToNode(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;ZLjava/util/function/IntFunction;)Ljava/util/stream/Node;
-Ljava/util/stream/ReferencePipeline;->filter(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
-Ljava/util/stream/ReferencePipeline;->flatMap(Ljava/util/function/Function;)Ljava/util/stream/Stream;
-Ljava/util/stream/ReferencePipeline;->flatMapToDouble(Ljava/util/function/Function;)Ljava/util/stream/DoubleStream;
-Ljava/util/stream/ReferencePipeline;->flatMapToInt(Ljava/util/function/Function;)Ljava/util/stream/IntStream;
-Ljava/util/stream/ReferencePipeline;->flatMapToLong(Ljava/util/function/Function;)Ljava/util/stream/LongStream;
-Ljava/util/stream/ReferencePipeline;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/stream/ReferencePipeline;->forEachOrdered(Ljava/util/function/Consumer;)V
-Ljava/util/stream/ReferencePipeline;->forEachWithCancel(Ljava/util/Spliterator;Ljava/util/stream/Sink;)V
-Ljava/util/stream/ReferencePipeline;->getOutputShape()Ljava/util/stream/StreamShape;
-Ljava/util/stream/ReferencePipeline;->lazySpliterator(Ljava/util/function/Supplier;)Ljava/util/Spliterator;
-Ljava/util/stream/ReferencePipeline;->makeNodeBuilder(JLjava/util/function/IntFunction;)Ljava/util/stream/Node$Builder;
-Ljava/util/stream/ReferencePipeline;->map(Ljava/util/function/Function;)Ljava/util/stream/Stream;
-Ljava/util/stream/ReferencePipeline;->mapToDouble(Ljava/util/function/ToDoubleFunction;)Ljava/util/stream/DoubleStream;
-Ljava/util/stream/ReferencePipeline;->mapToInt(Ljava/util/function/ToIntFunction;)Ljava/util/stream/IntStream;
-Ljava/util/stream/ReferencePipeline;->mapToLong(Ljava/util/function/ToLongFunction;)Ljava/util/stream/LongStream;
-Ljava/util/stream/ReferencePipeline;->max(Ljava/util/Comparator;)Ljava/util/Optional;
-Ljava/util/stream/ReferencePipeline;->min(Ljava/util/Comparator;)Ljava/util/Optional;
-Ljava/util/stream/ReferencePipeline;->noneMatch(Ljava/util/function/Predicate;)Z
-Ljava/util/stream/ReferencePipeline;->peek(Ljava/util/function/Consumer;)Ljava/util/stream/Stream;
-Ljava/util/stream/ReferencePipeline;->reduce(Ljava/lang/Object;Ljava/util/function/BiFunction;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;
-Ljava/util/stream/ReferencePipeline;->reduce(Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;
-Ljava/util/stream/ReferencePipeline;->reduce(Ljava/util/function/BinaryOperator;)Ljava/util/Optional;
-Ljava/util/stream/ReferencePipeline;->sorted(Ljava/util/Comparator;)Ljava/util/stream/Stream;
-Ljava/util/stream/ReferencePipeline;->wrap(Ljava/util/stream/PipelineHelper;Ljava/util/function/Supplier;Z)Ljava/util/Spliterator;
-Ljava/util/stream/Sink$ChainedDouble;
-Ljava/util/stream/Sink$ChainedDouble;-><init>(Ljava/util/stream/Sink;)V
-Ljava/util/stream/Sink$ChainedDouble;->begin(J)V
-Ljava/util/stream/Sink$ChainedDouble;->cancellationRequested()Z
-Ljava/util/stream/Sink$ChainedDouble;->downstream:Ljava/util/stream/Sink;
-Ljava/util/stream/Sink$ChainedDouble;->end()V
-Ljava/util/stream/Sink$ChainedInt;
-Ljava/util/stream/Sink$ChainedInt;-><init>(Ljava/util/stream/Sink;)V
-Ljava/util/stream/Sink$ChainedInt;->begin(J)V
-Ljava/util/stream/Sink$ChainedInt;->cancellationRequested()Z
-Ljava/util/stream/Sink$ChainedInt;->downstream:Ljava/util/stream/Sink;
-Ljava/util/stream/Sink$ChainedInt;->end()V
-Ljava/util/stream/Sink$ChainedLong;
-Ljava/util/stream/Sink$ChainedLong;-><init>(Ljava/util/stream/Sink;)V
-Ljava/util/stream/Sink$ChainedLong;->begin(J)V
-Ljava/util/stream/Sink$ChainedLong;->cancellationRequested()Z
-Ljava/util/stream/Sink$ChainedLong;->downstream:Ljava/util/stream/Sink;
-Ljava/util/stream/Sink$ChainedLong;->end()V
-Ljava/util/stream/Sink$ChainedReference;
-Ljava/util/stream/Sink$ChainedReference;-><init>(Ljava/util/stream/Sink;)V
-Ljava/util/stream/Sink$ChainedReference;->begin(J)V
-Ljava/util/stream/Sink$ChainedReference;->cancellationRequested()Z
-Ljava/util/stream/Sink$ChainedReference;->downstream:Ljava/util/stream/Sink;
-Ljava/util/stream/Sink$ChainedReference;->end()V
-Ljava/util/stream/Sink$OfDouble;
-Ljava/util/stream/Sink$OfDouble;->accept(Ljava/lang/Double;)V
-Ljava/util/stream/Sink$OfInt;
-Ljava/util/stream/Sink$OfInt;->accept(Ljava/lang/Integer;)V
-Ljava/util/stream/Sink$OfLong;
-Ljava/util/stream/Sink$OfLong;->accept(Ljava/lang/Long;)V
-Ljava/util/stream/Sink;
-Ljava/util/stream/Sink;->accept(D)V
-Ljava/util/stream/Sink;->accept(I)V
-Ljava/util/stream/Sink;->accept(J)V
-Ljava/util/stream/Sink;->begin(J)V
-Ljava/util/stream/Sink;->cancellationRequested()Z
-Ljava/util/stream/Sink;->end()V
-Ljava/util/stream/SpinedBuffer$OfDouble;
-Ljava/util/stream/SpinedBuffer$OfDouble;-><init>()V
-Ljava/util/stream/SpinedBuffer$OfDouble;-><init>(I)V
-Ljava/util/stream/SpinedBuffer$OfDouble;->arrayForEach([DIILjava/util/function/DoubleConsumer;)V
-Ljava/util/stream/SpinedBuffer$OfDouble;->arrayLength([D)I
-Ljava/util/stream/SpinedBuffer$OfDouble;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/stream/SpinedBuffer$OfDouble;->get(J)D
-Ljava/util/stream/SpinedBuffer$OfDouble;->newArray(I)[D
-Ljava/util/stream/SpinedBuffer$OfDouble;->newArrayArray(I)[[D
-Ljava/util/stream/SpinedBuffer$OfInt;
-Ljava/util/stream/SpinedBuffer$OfInt;-><init>()V
-Ljava/util/stream/SpinedBuffer$OfInt;-><init>(I)V
-Ljava/util/stream/SpinedBuffer$OfInt;->arrayForEach([IIILjava/util/function/IntConsumer;)V
-Ljava/util/stream/SpinedBuffer$OfInt;->arrayLength([I)I
-Ljava/util/stream/SpinedBuffer$OfInt;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/stream/SpinedBuffer$OfInt;->get(J)I
-Ljava/util/stream/SpinedBuffer$OfInt;->newArray(I)[I
-Ljava/util/stream/SpinedBuffer$OfInt;->newArrayArray(I)[[I
-Ljava/util/stream/SpinedBuffer$OfLong;
-Ljava/util/stream/SpinedBuffer$OfLong;-><init>()V
-Ljava/util/stream/SpinedBuffer$OfLong;-><init>(I)V
-Ljava/util/stream/SpinedBuffer$OfLong;->arrayForEach([JIILjava/util/function/LongConsumer;)V
-Ljava/util/stream/SpinedBuffer$OfLong;->arrayLength([J)I
-Ljava/util/stream/SpinedBuffer$OfLong;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/stream/SpinedBuffer$OfLong;->get(J)J
-Ljava/util/stream/SpinedBuffer$OfLong;->newArray(I)[J
-Ljava/util/stream/SpinedBuffer$OfLong;->newArrayArray(I)[[J
-Ljava/util/stream/SpinedBuffer$OfPrimitive$BaseSpliterator;
-Ljava/util/stream/SpinedBuffer$OfPrimitive$BaseSpliterator;-><init>(IIII)V
-Ljava/util/stream/SpinedBuffer$OfPrimitive$BaseSpliterator;->arrayForOne(Ljava/lang/Object;ILjava/lang/Object;)V
-Ljava/util/stream/SpinedBuffer$OfPrimitive$BaseSpliterator;->arraySpliterator(Ljava/lang/Object;II)Ljava/util/Spliterator$OfPrimitive;
-Ljava/util/stream/SpinedBuffer$OfPrimitive$BaseSpliterator;->lastSpineElementFence:I
-Ljava/util/stream/SpinedBuffer$OfPrimitive$BaseSpliterator;->lastSpineIndex:I
-Ljava/util/stream/SpinedBuffer$OfPrimitive$BaseSpliterator;->newSpliterator(IIII)Ljava/util/Spliterator$OfPrimitive;
-Ljava/util/stream/SpinedBuffer$OfPrimitive$BaseSpliterator;->splChunk:Ljava/lang/Object;
-Ljava/util/stream/SpinedBuffer$OfPrimitive$BaseSpliterator;->splElementIndex:I
-Ljava/util/stream/SpinedBuffer$OfPrimitive$BaseSpliterator;->splSpineIndex:I
-Ljava/util/stream/SpinedBuffer$OfPrimitive;
-Ljava/util/stream/SpinedBuffer$OfPrimitive;-><init>()V
-Ljava/util/stream/SpinedBuffer$OfPrimitive;-><init>(I)V
-Ljava/util/stream/SpinedBuffer$OfPrimitive;->arrayForEach(Ljava/lang/Object;IILjava/lang/Object;)V
-Ljava/util/stream/SpinedBuffer$OfPrimitive;->arrayLength(Ljava/lang/Object;)I
-Ljava/util/stream/SpinedBuffer$OfPrimitive;->asPrimitiveArray()Ljava/lang/Object;
-Ljava/util/stream/SpinedBuffer$OfPrimitive;->capacity()J
-Ljava/util/stream/SpinedBuffer$OfPrimitive;->chunkFor(J)I
-Ljava/util/stream/SpinedBuffer$OfPrimitive;->clear()V
-Ljava/util/stream/SpinedBuffer$OfPrimitive;->copyInto(Ljava/lang/Object;I)V
-Ljava/util/stream/SpinedBuffer$OfPrimitive;->curChunk:Ljava/lang/Object;
-Ljava/util/stream/SpinedBuffer$OfPrimitive;->ensureCapacity(J)V
-Ljava/util/stream/SpinedBuffer$OfPrimitive;->forEach(Ljava/lang/Object;)V
-Ljava/util/stream/SpinedBuffer$OfPrimitive;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/stream/SpinedBuffer$OfPrimitive;->increaseCapacity()V
-Ljava/util/stream/SpinedBuffer$OfPrimitive;->inflateSpine()V
-Ljava/util/stream/SpinedBuffer$OfPrimitive;->newArray(I)Ljava/lang/Object;
-Ljava/util/stream/SpinedBuffer$OfPrimitive;->newArrayArray(I)[Ljava/lang/Object;
-Ljava/util/stream/SpinedBuffer$OfPrimitive;->preAccept()V
-Ljava/util/stream/SpinedBuffer$OfPrimitive;->spine:[Ljava/lang/Object;
-Ljava/util/stream/SpinedBuffer;
-Ljava/util/stream/SpinedBuffer;-><init>()V
-Ljava/util/stream/SpinedBuffer;-><init>(I)V
-Ljava/util/stream/SpinedBuffer;->accept(Ljava/lang/Object;)V
-Ljava/util/stream/SpinedBuffer;->asArray(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
-Ljava/util/stream/SpinedBuffer;->capacity()J
-Ljava/util/stream/SpinedBuffer;->clear()V
-Ljava/util/stream/SpinedBuffer;->copyInto([Ljava/lang/Object;I)V
-Ljava/util/stream/SpinedBuffer;->curChunk:[Ljava/lang/Object;
-Ljava/util/stream/SpinedBuffer;->ensureCapacity(J)V
-Ljava/util/stream/SpinedBuffer;->forEach(Ljava/util/function/Consumer;)V
-Ljava/util/stream/SpinedBuffer;->get(J)Ljava/lang/Object;
-Ljava/util/stream/SpinedBuffer;->increaseCapacity()V
-Ljava/util/stream/SpinedBuffer;->inflateSpine()V
-Ljava/util/stream/SpinedBuffer;->spine:[[Ljava/lang/Object;
-Ljava/util/stream/SpinedBuffer;->SPLITERATOR_CHARACTERISTICS:I
-Ljava/util/stream/StreamOpFlag$MaskBuilder;
-Ljava/util/stream/StreamOpFlag$MaskBuilder;-><init>(Ljava/util/Map;)V
-Ljava/util/stream/StreamOpFlag$MaskBuilder;->build()Ljava/util/Map;
-Ljava/util/stream/StreamOpFlag$MaskBuilder;->clear(Ljava/util/stream/StreamOpFlag$Type;)Ljava/util/stream/StreamOpFlag$MaskBuilder;
-Ljava/util/stream/StreamOpFlag$MaskBuilder;->map:Ljava/util/Map;
-Ljava/util/stream/StreamOpFlag$MaskBuilder;->mask(Ljava/util/stream/StreamOpFlag$Type;Ljava/lang/Integer;)Ljava/util/stream/StreamOpFlag$MaskBuilder;
-Ljava/util/stream/StreamOpFlag$MaskBuilder;->set(Ljava/util/stream/StreamOpFlag$Type;)Ljava/util/stream/StreamOpFlag$MaskBuilder;
-Ljava/util/stream/StreamOpFlag$MaskBuilder;->setAndClear(Ljava/util/stream/StreamOpFlag$Type;)Ljava/util/stream/StreamOpFlag$MaskBuilder;
-Ljava/util/stream/StreamOpFlag$Type;
-Ljava/util/stream/StreamOpFlag$Type;-><init>()V
-Ljava/util/stream/StreamOpFlag$Type;->OP:Ljava/util/stream/StreamOpFlag$Type;
-Ljava/util/stream/StreamOpFlag$Type;->SPLITERATOR:Ljava/util/stream/StreamOpFlag$Type;
-Ljava/util/stream/StreamOpFlag$Type;->STREAM:Ljava/util/stream/StreamOpFlag$Type;
-Ljava/util/stream/StreamOpFlag$Type;->TERMINAL_OP:Ljava/util/stream/StreamOpFlag$Type;
-Ljava/util/stream/StreamOpFlag$Type;->UPSTREAM_TERMINAL_OP:Ljava/util/stream/StreamOpFlag$Type;
-Ljava/util/stream/StreamOpFlag$Type;->valueOf(Ljava/lang/String;)Ljava/util/stream/StreamOpFlag$Type;
-Ljava/util/stream/StreamOpFlag$Type;->values()[Ljava/util/stream/StreamOpFlag$Type;
-Ljava/util/stream/StreamOpFlag;
-Ljava/util/stream/StreamOpFlag;-><init>(ILjava/util/stream/StreamOpFlag$MaskBuilder;)V
-Ljava/util/stream/StreamOpFlag;->bitPosition:I
-Ljava/util/stream/StreamOpFlag;->canSet(Ljava/util/stream/StreamOpFlag$Type;)Z
-Ljava/util/stream/StreamOpFlag;->clear()I
-Ljava/util/stream/StreamOpFlag;->clear:I
-Ljava/util/stream/StreamOpFlag;->CLEAR_BITS:I
-Ljava/util/stream/StreamOpFlag;->combineOpFlags(II)I
-Ljava/util/stream/StreamOpFlag;->createFlagMask()I
-Ljava/util/stream/StreamOpFlag;->createMask(Ljava/util/stream/StreamOpFlag$Type;)I
-Ljava/util/stream/StreamOpFlag;->DISTINCT:Ljava/util/stream/StreamOpFlag;
-Ljava/util/stream/StreamOpFlag;->FLAG_MASK:I
-Ljava/util/stream/StreamOpFlag;->FLAG_MASK_IS:I
-Ljava/util/stream/StreamOpFlag;->FLAG_MASK_NOT:I
-Ljava/util/stream/StreamOpFlag;->fromCharacteristics(I)I
-Ljava/util/stream/StreamOpFlag;->fromCharacteristics(Ljava/util/Spliterator;)I
-Ljava/util/stream/StreamOpFlag;->getMask(I)I
-Ljava/util/stream/StreamOpFlag;->INITIAL_OPS_VALUE:I
-Ljava/util/stream/StreamOpFlag;->isCleared(I)Z
-Ljava/util/stream/StreamOpFlag;->isKnown(I)Z
-Ljava/util/stream/StreamOpFlag;->isPreserved(I)Z
-Ljava/util/stream/StreamOpFlag;->isStreamFlag()Z
-Ljava/util/stream/StreamOpFlag;->IS_DISTINCT:I
-Ljava/util/stream/StreamOpFlag;->IS_ORDERED:I
-Ljava/util/stream/StreamOpFlag;->IS_SHORT_CIRCUIT:I
-Ljava/util/stream/StreamOpFlag;->IS_SIZED:I
-Ljava/util/stream/StreamOpFlag;->IS_SORTED:I
-Ljava/util/stream/StreamOpFlag;->maskTable:Ljava/util/Map;
-Ljava/util/stream/StreamOpFlag;->NOT_DISTINCT:I
-Ljava/util/stream/StreamOpFlag;->NOT_ORDERED:I
-Ljava/util/stream/StreamOpFlag;->NOT_SIZED:I
-Ljava/util/stream/StreamOpFlag;->NOT_SORTED:I
-Ljava/util/stream/StreamOpFlag;->OP_MASK:I
-Ljava/util/stream/StreamOpFlag;->ORDERED:Ljava/util/stream/StreamOpFlag;
-Ljava/util/stream/StreamOpFlag;->preserve:I
-Ljava/util/stream/StreamOpFlag;->PRESERVE_BITS:I
-Ljava/util/stream/StreamOpFlag;->set()I
-Ljava/util/stream/StreamOpFlag;->set(Ljava/util/stream/StreamOpFlag$Type;)Ljava/util/stream/StreamOpFlag$MaskBuilder;
-Ljava/util/stream/StreamOpFlag;->set:I
-Ljava/util/stream/StreamOpFlag;->SET_BITS:I
-Ljava/util/stream/StreamOpFlag;->SHORT_CIRCUIT:Ljava/util/stream/StreamOpFlag;
-Ljava/util/stream/StreamOpFlag;->SIZED:Ljava/util/stream/StreamOpFlag;
-Ljava/util/stream/StreamOpFlag;->SORTED:Ljava/util/stream/StreamOpFlag;
-Ljava/util/stream/StreamOpFlag;->SPLITERATOR_CHARACTERISTICS_MASK:I
-Ljava/util/stream/StreamOpFlag;->STREAM_MASK:I
-Ljava/util/stream/StreamOpFlag;->TERMINAL_OP_MASK:I
-Ljava/util/stream/StreamOpFlag;->toCharacteristics(I)I
-Ljava/util/stream/StreamOpFlag;->toStreamFlags(I)I
-Ljava/util/stream/StreamOpFlag;->UPSTREAM_TERMINAL_OP_MASK:I
-Ljava/util/stream/StreamOpFlag;->valueOf(Ljava/lang/String;)Ljava/util/stream/StreamOpFlag;
-Ljava/util/stream/StreamOpFlag;->values()[Ljava/util/stream/StreamOpFlag;
-Ljava/util/stream/StreamShape;
-Ljava/util/stream/StreamShape;-><init>()V
-Ljava/util/stream/StreamShape;->DOUBLE_VALUE:Ljava/util/stream/StreamShape;
-Ljava/util/stream/StreamShape;->INT_VALUE:Ljava/util/stream/StreamShape;
-Ljava/util/stream/StreamShape;->LONG_VALUE:Ljava/util/stream/StreamShape;
-Ljava/util/stream/StreamShape;->REFERENCE:Ljava/util/stream/StreamShape;
-Ljava/util/stream/StreamShape;->valueOf(Ljava/lang/String;)Ljava/util/stream/StreamShape;
-Ljava/util/stream/StreamShape;->values()[Ljava/util/stream/StreamShape;
-Ljava/util/stream/StreamSupport;-><init>()V
-Ljava/util/stream/TerminalOp;
-Ljava/util/stream/TerminalOp;->evaluateParallel(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/lang/Object;
-Ljava/util/stream/TerminalOp;->evaluateSequential(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/lang/Object;
-Ljava/util/stream/TerminalOp;->getOpFlags()I
-Ljava/util/stream/TerminalOp;->inputShape()Ljava/util/stream/StreamShape;
-Ljava/util/StringJoiner;->delimiter:Ljava/lang/String;
-Ljava/util/StringJoiner;->emptyValue:Ljava/lang/String;
-Ljava/util/StringJoiner;->prefix:Ljava/lang/String;
-Ljava/util/StringJoiner;->prepareBuilder()Ljava/lang/StringBuilder;
-Ljava/util/StringJoiner;->suffix:Ljava/lang/String;
-Ljava/util/StringJoiner;->value:Ljava/lang/StringBuilder;
-Ljava/util/StringTokenizer;->currentPosition:I
-Ljava/util/StringTokenizer;->delimiterCodePoints:[I
-Ljava/util/StringTokenizer;->delimiters:Ljava/lang/String;
-Ljava/util/StringTokenizer;->delimsChanged:Z
-Ljava/util/StringTokenizer;->hasSurrogates:Z
-Ljava/util/StringTokenizer;->isDelimiter(I)Z
-Ljava/util/StringTokenizer;->maxDelimCodePoint:I
-Ljava/util/StringTokenizer;->maxPosition:I
-Ljava/util/StringTokenizer;->newPosition:I
-Ljava/util/StringTokenizer;->retDelims:Z
-Ljava/util/StringTokenizer;->scanToken(I)I
-Ljava/util/StringTokenizer;->setMaxDelimCodePoint()V
-Ljava/util/StringTokenizer;->skipDelimiters(I)I
-Ljava/util/StringTokenizer;->str:Ljava/lang/String;
-Ljava/util/TaskQueue;
-Ljava/util/TaskQueue;-><init>()V
-Ljava/util/TaskQueue;->add(Ljava/util/TimerTask;)V
-Ljava/util/TaskQueue;->clear()V
-Ljava/util/TaskQueue;->fixDown(I)V
-Ljava/util/TaskQueue;->fixUp(I)V
-Ljava/util/TaskQueue;->get(I)Ljava/util/TimerTask;
-Ljava/util/TaskQueue;->getMin()Ljava/util/TimerTask;
-Ljava/util/TaskQueue;->heapify()V
-Ljava/util/TaskQueue;->isEmpty()Z
-Ljava/util/TaskQueue;->queue:[Ljava/util/TimerTask;
-Ljava/util/TaskQueue;->quickRemove(I)V
-Ljava/util/TaskQueue;->removeMin()V
-Ljava/util/TaskQueue;->rescheduleMin(J)V
-Ljava/util/TaskQueue;->size()I
-Ljava/util/TaskQueue;->size:I
-Ljava/util/Timer;->nextSerialNumber:Ljava/util/concurrent/atomic/AtomicInteger;
-Ljava/util/Timer;->queue:Ljava/util/TaskQueue;
-Ljava/util/Timer;->sched(Ljava/util/TimerTask;JJ)V
-Ljava/util/Timer;->serialNumber()I
-Ljava/util/Timer;->thread:Ljava/util/TimerThread;
-Ljava/util/Timer;->threadReaper:Ljava/lang/Object;
-Ljava/util/TimerTask;->CANCELLED:I
-Ljava/util/TimerTask;->EXECUTED:I
-Ljava/util/TimerTask;->lock:Ljava/lang/Object;
-Ljava/util/TimerTask;->nextExecutionTime:J
-Ljava/util/TimerTask;->SCHEDULED:I
-Ljava/util/TimerTask;->state:I
-Ljava/util/TimerTask;->VIRGIN:I
-Ljava/util/TimerThread;
-Ljava/util/TimerThread;-><init>(Ljava/util/TaskQueue;)V
-Ljava/util/TimerThread;->mainLoop()V
-Ljava/util/TimerThread;->newTasksMayBeScheduled:Z
-Ljava/util/TimerThread;->queue:Ljava/util/TaskQueue;
-Ljava/util/TimeZone$NoImagePreloadHolder;
-Ljava/util/TimeZone$NoImagePreloadHolder;-><init>()V
-Ljava/util/TimeZone$NoImagePreloadHolder;->CUSTOM_ZONE_ID_PATTERN:Ljava/util/regex/Pattern;
-Ljava/util/TimeZone;->appendNumber(Ljava/lang/StringBuilder;II)V
-Ljava/util/TimeZone;->createGmtOffsetString(ZZI)Ljava/lang/String;
-Ljava/util/TimeZone;->defaultTimeZone:Ljava/util/TimeZone;
-Ljava/util/TimeZone;->getCustomTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
-Ljava/util/TimeZone;->getDefaultRef()Ljava/util/TimeZone;
-Ljava/util/TimeZone;->getOffsets(J[I)I
-Ljava/util/TimeZone;->getSystemGMTOffsetID()Ljava/lang/String;
-Ljava/util/TimeZone;->getSystemTimeZoneID(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Ljava/util/TimeZone;->GMT:Ljava/util/TimeZone;
-Ljava/util/TimeZone;->ID:Ljava/lang/String;
-Ljava/util/TimeZone;->NO_TIMEZONE:Ljava/util/TimeZone;
-Ljava/util/TimeZone;->UTC:Ljava/util/TimeZone;
-Ljava/util/TreeMap$AscendingSubMap$AscendingEntrySetView;
-Ljava/util/TreeMap$AscendingSubMap$AscendingEntrySetView;-><init>()V
-Ljava/util/TreeMap$AscendingSubMap;
-Ljava/util/TreeMap$AscendingSubMap;-><init>(Ljava/util/TreeMap;ZLjava/lang/Object;ZZLjava/lang/Object;Z)V
-Ljava/util/TreeMap$AscendingSubMap;->descendingKeyIterator()Ljava/util/Iterator;
-Ljava/util/TreeMap$AscendingSubMap;->keyIterator()Ljava/util/Iterator;
-Ljava/util/TreeMap$AscendingSubMap;->keySpliterator()Ljava/util/Spliterator;
-Ljava/util/TreeMap$AscendingSubMap;->subCeiling(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$AscendingSubMap;->subFloor(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$AscendingSubMap;->subHigher(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$AscendingSubMap;->subHighest()Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$AscendingSubMap;->subLower(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$AscendingSubMap;->subLowest()Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$DescendingKeyIterator;
-Ljava/util/TreeMap$DescendingKeyIterator;-><init>(Ljava/util/TreeMap$TreeMapEntry;)V
-Ljava/util/TreeMap$DescendingKeySpliterator;
-Ljava/util/TreeMap$DescendingKeySpliterator;-><init>(Ljava/util/TreeMap;Ljava/util/TreeMap$TreeMapEntry;Ljava/util/TreeMap$TreeMapEntry;III)V
-Ljava/util/TreeMap$DescendingKeySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/TreeMap$DescendingKeySpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/TreeMap$DescendingSubMap$DescendingEntrySetView;
-Ljava/util/TreeMap$DescendingSubMap$DescendingEntrySetView;-><init>()V
-Ljava/util/TreeMap$DescendingSubMap;
-Ljava/util/TreeMap$DescendingSubMap;-><init>(Ljava/util/TreeMap;ZLjava/lang/Object;ZZLjava/lang/Object;Z)V
-Ljava/util/TreeMap$DescendingSubMap;->descendingKeyIterator()Ljava/util/Iterator;
-Ljava/util/TreeMap$DescendingSubMap;->keyIterator()Ljava/util/Iterator;
-Ljava/util/TreeMap$DescendingSubMap;->keySpliterator()Ljava/util/Spliterator;
-Ljava/util/TreeMap$DescendingSubMap;->reverseComparator:Ljava/util/Comparator;
-Ljava/util/TreeMap$DescendingSubMap;->subCeiling(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$DescendingSubMap;->subFloor(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$DescendingSubMap;->subHigher(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$DescendingSubMap;->subHighest()Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$DescendingSubMap;->subLower(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$DescendingSubMap;->subLowest()Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$EntryIterator;
-Ljava/util/TreeMap$EntryIterator;-><init>(Ljava/util/TreeMap$TreeMapEntry;)V
-Ljava/util/TreeMap$EntrySet;
-Ljava/util/TreeMap$EntrySet;-><init>()V
-Ljava/util/TreeMap$EntrySpliterator;
-Ljava/util/TreeMap$EntrySpliterator;-><init>(Ljava/util/TreeMap;Ljava/util/TreeMap$TreeMapEntry;Ljava/util/TreeMap$TreeMapEntry;III)V
-Ljava/util/TreeMap$EntrySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/TreeMap$EntrySpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/TreeMap$KeyIterator;
-Ljava/util/TreeMap$KeyIterator;-><init>(Ljava/util/TreeMap$TreeMapEntry;)V
-Ljava/util/TreeMap$KeySet;
-Ljava/util/TreeMap$KeySet;-><init>(Ljava/util/NavigableMap;)V
-Ljava/util/TreeMap$KeySet;->m:Ljava/util/NavigableMap;
-Ljava/util/TreeMap$KeySpliterator;
-Ljava/util/TreeMap$KeySpliterator;-><init>(Ljava/util/TreeMap;Ljava/util/TreeMap$TreeMapEntry;Ljava/util/TreeMap$TreeMapEntry;III)V
-Ljava/util/TreeMap$KeySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/TreeMap$KeySpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/TreeMap$NavigableSubMap$DescendingSubMapEntryIterator;
-Ljava/util/TreeMap$NavigableSubMap$DescendingSubMapEntryIterator;-><init>(Ljava/util/TreeMap$TreeMapEntry;Ljava/util/TreeMap$TreeMapEntry;)V
-Ljava/util/TreeMap$NavigableSubMap$DescendingSubMapKeyIterator;
-Ljava/util/TreeMap$NavigableSubMap$DescendingSubMapKeyIterator;-><init>(Ljava/util/TreeMap$TreeMapEntry;Ljava/util/TreeMap$TreeMapEntry;)V
-Ljava/util/TreeMap$NavigableSubMap$DescendingSubMapKeyIterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/TreeMap$NavigableSubMap$DescendingSubMapKeyIterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/TreeMap$NavigableSubMap$EntrySetView;
-Ljava/util/TreeMap$NavigableSubMap$EntrySetView;-><init>()V
-Ljava/util/TreeMap$NavigableSubMap$EntrySetView;->size:I
-Ljava/util/TreeMap$NavigableSubMap$EntrySetView;->sizeModCount:I
-Ljava/util/TreeMap$NavigableSubMap$SubMapEntryIterator;
-Ljava/util/TreeMap$NavigableSubMap$SubMapEntryIterator;-><init>(Ljava/util/TreeMap$TreeMapEntry;Ljava/util/TreeMap$TreeMapEntry;)V
-Ljava/util/TreeMap$NavigableSubMap$SubMapIterator;
-Ljava/util/TreeMap$NavigableSubMap$SubMapIterator;-><init>(Ljava/util/TreeMap$TreeMapEntry;Ljava/util/TreeMap$TreeMapEntry;)V
-Ljava/util/TreeMap$NavigableSubMap$SubMapIterator;->expectedModCount:I
-Ljava/util/TreeMap$NavigableSubMap$SubMapIterator;->fenceKey:Ljava/lang/Object;
-Ljava/util/TreeMap$NavigableSubMap$SubMapIterator;->lastReturned:Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$NavigableSubMap$SubMapIterator;->next:Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$NavigableSubMap$SubMapIterator;->nextEntry()Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$NavigableSubMap$SubMapIterator;->prevEntry()Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$NavigableSubMap$SubMapIterator;->removeAscending()V
-Ljava/util/TreeMap$NavigableSubMap$SubMapIterator;->removeDescending()V
-Ljava/util/TreeMap$NavigableSubMap$SubMapKeyIterator;
-Ljava/util/TreeMap$NavigableSubMap$SubMapKeyIterator;-><init>(Ljava/util/TreeMap$TreeMapEntry;Ljava/util/TreeMap$TreeMapEntry;)V
-Ljava/util/TreeMap$NavigableSubMap$SubMapKeyIterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/TreeMap$NavigableSubMap$SubMapKeyIterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/TreeMap$NavigableSubMap;
-Ljava/util/TreeMap$NavigableSubMap;-><init>(Ljava/util/TreeMap;ZLjava/lang/Object;ZZLjava/lang/Object;Z)V
-Ljava/util/TreeMap$NavigableSubMap;->absCeiling(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$NavigableSubMap;->absFloor(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$NavigableSubMap;->absHigher(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$NavigableSubMap;->absHighest()Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$NavigableSubMap;->absHighFence()Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$NavigableSubMap;->absLower(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$NavigableSubMap;->absLowest()Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$NavigableSubMap;->absLowFence()Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$NavigableSubMap;->descendingKeyIterator()Ljava/util/Iterator;
-Ljava/util/TreeMap$NavigableSubMap;->descendingMapView:Ljava/util/NavigableMap;
-Ljava/util/TreeMap$NavigableSubMap;->entrySetView:Ljava/util/TreeMap$NavigableSubMap$EntrySetView;
-Ljava/util/TreeMap$NavigableSubMap;->fromStart:Z
-Ljava/util/TreeMap$NavigableSubMap;->hi:Ljava/lang/Object;
-Ljava/util/TreeMap$NavigableSubMap;->hiInclusive:Z
-Ljava/util/TreeMap$NavigableSubMap;->inClosedRange(Ljava/lang/Object;)Z
-Ljava/util/TreeMap$NavigableSubMap;->inRange(Ljava/lang/Object;)Z
-Ljava/util/TreeMap$NavigableSubMap;->inRange(Ljava/lang/Object;Z)Z
-Ljava/util/TreeMap$NavigableSubMap;->keyIterator()Ljava/util/Iterator;
-Ljava/util/TreeMap$NavigableSubMap;->keySpliterator()Ljava/util/Spliterator;
-Ljava/util/TreeMap$NavigableSubMap;->lo:Ljava/lang/Object;
-Ljava/util/TreeMap$NavigableSubMap;->loInclusive:Z
-Ljava/util/TreeMap$NavigableSubMap;->m:Ljava/util/TreeMap;
-Ljava/util/TreeMap$NavigableSubMap;->navigableKeySetView:Ljava/util/TreeMap$KeySet;
-Ljava/util/TreeMap$NavigableSubMap;->subCeiling(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$NavigableSubMap;->subFloor(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$NavigableSubMap;->subHigher(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$NavigableSubMap;->subHighest()Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$NavigableSubMap;->subLower(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$NavigableSubMap;->subLowest()Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$NavigableSubMap;->toEnd:Z
-Ljava/util/TreeMap$NavigableSubMap;->tooHigh(Ljava/lang/Object;)Z
-Ljava/util/TreeMap$NavigableSubMap;->tooLow(Ljava/lang/Object;)Z
-Ljava/util/TreeMap$PrivateEntryIterator;
-Ljava/util/TreeMap$PrivateEntryIterator;-><init>(Ljava/util/TreeMap$TreeMapEntry;)V
-Ljava/util/TreeMap$PrivateEntryIterator;->expectedModCount:I
-Ljava/util/TreeMap$PrivateEntryIterator;->lastReturned:Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$PrivateEntryIterator;->next:Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$PrivateEntryIterator;->nextEntry()Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$PrivateEntryIterator;->prevEntry()Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$SubMap;
-Ljava/util/TreeMap$SubMap;-><init>()V
-Ljava/util/TreeMap$SubMap;->fromKey:Ljava/lang/Object;
-Ljava/util/TreeMap$SubMap;->fromStart:Z
-Ljava/util/TreeMap$SubMap;->toEnd:Z
-Ljava/util/TreeMap$SubMap;->toKey:Ljava/lang/Object;
-Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$TreeMapEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/TreeMap$TreeMapEntry;)V
-Ljava/util/TreeMap$TreeMapEntry;->color:Z
-Ljava/util/TreeMap$TreeMapEntry;->key:Ljava/lang/Object;
-Ljava/util/TreeMap$TreeMapEntry;->left:Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$TreeMapEntry;->parent:Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$TreeMapEntry;->right:Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$TreeMapEntry;->value:Ljava/lang/Object;
-Ljava/util/TreeMap$TreeMapSpliterator;
-Ljava/util/TreeMap$TreeMapSpliterator;-><init>(Ljava/util/TreeMap;Ljava/util/TreeMap$TreeMapEntry;Ljava/util/TreeMap$TreeMapEntry;III)V
-Ljava/util/TreeMap$TreeMapSpliterator;->current:Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$TreeMapSpliterator;->est:I
-Ljava/util/TreeMap$TreeMapSpliterator;->estimateSize()J
-Ljava/util/TreeMap$TreeMapSpliterator;->expectedModCount:I
-Ljava/util/TreeMap$TreeMapSpliterator;->fence:Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap$TreeMapSpliterator;->getEstimate()I
-Ljava/util/TreeMap$TreeMapSpliterator;->side:I
-Ljava/util/TreeMap$TreeMapSpliterator;->tree:Ljava/util/TreeMap;
-Ljava/util/TreeMap$ValueIterator;
-Ljava/util/TreeMap$ValueIterator;-><init>(Ljava/util/TreeMap$TreeMapEntry;)V
-Ljava/util/TreeMap$Values;
-Ljava/util/TreeMap$Values;-><init>()V
-Ljava/util/TreeMap$ValueSpliterator;
-Ljava/util/TreeMap$ValueSpliterator;-><init>(Ljava/util/TreeMap;Ljava/util/TreeMap$TreeMapEntry;Ljava/util/TreeMap$TreeMapEntry;III)V
-Ljava/util/TreeMap$ValueSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/TreeMap$ValueSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/TreeMap;->addAllForTreeSet(Ljava/util/SortedSet;Ljava/lang/Object;)V
-Ljava/util/TreeMap;->BLACK:Z
-Ljava/util/TreeMap;->buildFromSorted(IIIILjava/util/Iterator;Ljava/io/ObjectInputStream;Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap;->buildFromSorted(ILjava/util/Iterator;Ljava/io/ObjectInputStream;Ljava/lang/Object;)V
-Ljava/util/TreeMap;->colorOf(Ljava/util/TreeMap$TreeMapEntry;)Z
-Ljava/util/TreeMap;->comparator:Ljava/util/Comparator;
-Ljava/util/TreeMap;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-Ljava/util/TreeMap;->computeRedLevel(I)I
-Ljava/util/TreeMap;->deleteEntry(Ljava/util/TreeMap$TreeMapEntry;)V
-Ljava/util/TreeMap;->descendingKeyIterator()Ljava/util/Iterator;
-Ljava/util/TreeMap;->descendingKeySpliterator()Ljava/util/Spliterator;
-Ljava/util/TreeMap;->descendingMap:Ljava/util/NavigableMap;
-Ljava/util/TreeMap;->entrySet:Ljava/util/TreeMap$EntrySet;
-Ljava/util/TreeMap;->exportEntry(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/Map$Entry;
-Ljava/util/TreeMap;->fixAfterDeletion(Ljava/util/TreeMap$TreeMapEntry;)V
-Ljava/util/TreeMap;->fixAfterInsertion(Ljava/util/TreeMap$TreeMapEntry;)V
-Ljava/util/TreeMap;->getCeilingEntry(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap;->getEntry(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap;->getEntryUsingComparator(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap;->getFirstEntry()Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap;->getFloorEntry(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap;->getHigherEntry(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap;->getLastEntry()Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap;->getLowerEntry(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap;->key(Ljava/util/TreeMap$TreeMapEntry;)Ljava/lang/Object;
-Ljava/util/TreeMap;->keyIterator()Ljava/util/Iterator;
-Ljava/util/TreeMap;->keyOrNull(Ljava/util/TreeMap$TreeMapEntry;)Ljava/lang/Object;
-Ljava/util/TreeMap;->keySpliterator()Ljava/util/Spliterator;
-Ljava/util/TreeMap;->keySpliteratorFor(Ljava/util/NavigableMap;)Ljava/util/Spliterator;
-Ljava/util/TreeMap;->leftOf(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap;->modCount:I
-Ljava/util/TreeMap;->navigableKeySet:Ljava/util/TreeMap$KeySet;
-Ljava/util/TreeMap;->parentOf(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap;->predecessor(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap;->readTreeSet(ILjava/io/ObjectInputStream;Ljava/lang/Object;)V
-Ljava/util/TreeMap;->RED:Z
-Ljava/util/TreeMap;->rightOf(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap;->root:Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap;->rotateLeft(Ljava/util/TreeMap$TreeMapEntry;)V
-Ljava/util/TreeMap;->rotateRight(Ljava/util/TreeMap$TreeMapEntry;)V
-Ljava/util/TreeMap;->setColor(Ljava/util/TreeMap$TreeMapEntry;Z)V
-Ljava/util/TreeMap;->size:I
-Ljava/util/TreeMap;->successor(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/TreeMap$TreeMapEntry;
-Ljava/util/TreeMap;->UNBOUNDED:Ljava/lang/Object;
-Ljava/util/TreeMap;->valEquals(Ljava/lang/Object;Ljava/lang/Object;)Z
-Ljava/util/TreeSet;-><init>(Ljava/util/NavigableMap;)V
-Ljava/util/TreeSet;->m:Ljava/util/NavigableMap;
-Ljava/util/TreeSet;->PRESENT:Ljava/lang/Object;
-Ljava/util/UnknownFormatConversionException;->s:Ljava/lang/String;
-Ljava/util/UnknownFormatFlagsException;->flags:Ljava/lang/String;
-Ljava/util/UUID$Holder;
-Ljava/util/UUID$Holder;-><init>()V
-Ljava/util/UUID$Holder;->numberGenerator:Ljava/security/SecureRandom;
-Ljava/util/UUID;-><init>([B)V
-Ljava/util/UUID;->digits(JI)Ljava/lang/String;
-Ljava/util/Vector$Itr;
-Ljava/util/Vector$Itr;-><init>()V
-Ljava/util/Vector$Itr;->checkForComodification()V
-Ljava/util/Vector$Itr;->cursor:I
-Ljava/util/Vector$Itr;->expectedModCount:I
-Ljava/util/Vector$Itr;->lastRet:I
-Ljava/util/Vector$Itr;->limit:I
-Ljava/util/Vector$ListItr;
-Ljava/util/Vector$ListItr;-><init>(I)V
-Ljava/util/Vector$VectorSpliterator;
-Ljava/util/Vector$VectorSpliterator;-><init>(Ljava/util/Vector;[Ljava/lang/Object;III)V
-Ljava/util/Vector$VectorSpliterator;->array:[Ljava/lang/Object;
-Ljava/util/Vector$VectorSpliterator;->expectedModCount:I
-Ljava/util/Vector$VectorSpliterator;->fence:I
-Ljava/util/Vector$VectorSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/Vector$VectorSpliterator;->getFence()I
-Ljava/util/Vector$VectorSpliterator;->index:I
-Ljava/util/Vector$VectorSpliterator;->list:Ljava/util/Vector;
-Ljava/util/Vector$VectorSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/Vector;->ensureCapacityHelper(I)V
-Ljava/util/Vector;->grow(I)V
-Ljava/util/Vector;->hugeCapacity(I)I
-Ljava/util/Vector;->MAX_ARRAY_SIZE:I
-Ljava/util/WeakHashMap$Entry;
-Ljava/util/WeakHashMap$Entry;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;ILjava/util/WeakHashMap$Entry;)V
-Ljava/util/WeakHashMap$Entry;->hash:I
-Ljava/util/WeakHashMap$Entry;->next:Ljava/util/WeakHashMap$Entry;
-Ljava/util/WeakHashMap$Entry;->value:Ljava/lang/Object;
-Ljava/util/WeakHashMap$EntryIterator;
-Ljava/util/WeakHashMap$EntryIterator;-><init>()V
-Ljava/util/WeakHashMap$EntrySet;
-Ljava/util/WeakHashMap$EntrySet;-><init>()V
-Ljava/util/WeakHashMap$EntrySet;->deepCopy()Ljava/util/List;
-Ljava/util/WeakHashMap$EntrySpliterator;
-Ljava/util/WeakHashMap$EntrySpliterator;-><init>(Ljava/util/WeakHashMap;IIII)V
-Ljava/util/WeakHashMap$EntrySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/WeakHashMap$EntrySpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/WeakHashMap$HashIterator;
-Ljava/util/WeakHashMap$HashIterator;-><init>()V
-Ljava/util/WeakHashMap$HashIterator;->currentKey:Ljava/lang/Object;
-Ljava/util/WeakHashMap$HashIterator;->entry:Ljava/util/WeakHashMap$Entry;
-Ljava/util/WeakHashMap$HashIterator;->expectedModCount:I
-Ljava/util/WeakHashMap$HashIterator;->index:I
-Ljava/util/WeakHashMap$HashIterator;->lastReturned:Ljava/util/WeakHashMap$Entry;
-Ljava/util/WeakHashMap$HashIterator;->nextEntry()Ljava/util/WeakHashMap$Entry;
-Ljava/util/WeakHashMap$HashIterator;->nextKey:Ljava/lang/Object;
-Ljava/util/WeakHashMap$KeyIterator;
-Ljava/util/WeakHashMap$KeyIterator;-><init>()V
-Ljava/util/WeakHashMap$KeySet;
-Ljava/util/WeakHashMap$KeySet;-><init>()V
-Ljava/util/WeakHashMap$KeySpliterator;
-Ljava/util/WeakHashMap$KeySpliterator;-><init>(Ljava/util/WeakHashMap;IIII)V
-Ljava/util/WeakHashMap$KeySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/WeakHashMap$KeySpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/WeakHashMap$ValueIterator;
-Ljava/util/WeakHashMap$ValueIterator;-><init>()V
-Ljava/util/WeakHashMap$Values;
-Ljava/util/WeakHashMap$Values;-><init>()V
-Ljava/util/WeakHashMap$ValueSpliterator;
-Ljava/util/WeakHashMap$ValueSpliterator;-><init>(Ljava/util/WeakHashMap;IIII)V
-Ljava/util/WeakHashMap$ValueSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-Ljava/util/WeakHashMap$ValueSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-Ljava/util/WeakHashMap$WeakHashMapSpliterator;
-Ljava/util/WeakHashMap$WeakHashMapSpliterator;-><init>(Ljava/util/WeakHashMap;IIII)V
-Ljava/util/WeakHashMap$WeakHashMapSpliterator;->current:Ljava/util/WeakHashMap$Entry;
-Ljava/util/WeakHashMap$WeakHashMapSpliterator;->est:I
-Ljava/util/WeakHashMap$WeakHashMapSpliterator;->estimateSize()J
-Ljava/util/WeakHashMap$WeakHashMapSpliterator;->expectedModCount:I
-Ljava/util/WeakHashMap$WeakHashMapSpliterator;->fence:I
-Ljava/util/WeakHashMap$WeakHashMapSpliterator;->getFence()I
-Ljava/util/WeakHashMap$WeakHashMapSpliterator;->index:I
-Ljava/util/WeakHashMap$WeakHashMapSpliterator;->map:Ljava/util/WeakHashMap;
-Ljava/util/WeakHashMap;->containsNullValue()Z
-Ljava/util/WeakHashMap;->DEFAULT_INITIAL_CAPACITY:I
-Ljava/util/WeakHashMap;->DEFAULT_LOAD_FACTOR:F
-Ljava/util/WeakHashMap;->entrySet:Ljava/util/Set;
-Ljava/util/WeakHashMap;->eq(Ljava/lang/Object;Ljava/lang/Object;)Z
-Ljava/util/WeakHashMap;->expungeStaleEntries()V
-Ljava/util/WeakHashMap;->getEntry(Ljava/lang/Object;)Ljava/util/WeakHashMap$Entry;
-Ljava/util/WeakHashMap;->getTable()[Ljava/util/WeakHashMap$Entry;
-Ljava/util/WeakHashMap;->hash(Ljava/lang/Object;)I
-Ljava/util/WeakHashMap;->indexFor(II)I
-Ljava/util/WeakHashMap;->loadFactor:F
-Ljava/util/WeakHashMap;->maskNull(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/WeakHashMap;->MAXIMUM_CAPACITY:I
-Ljava/util/WeakHashMap;->modCount:I
-Ljava/util/WeakHashMap;->newTable(I)[Ljava/util/WeakHashMap$Entry;
-Ljava/util/WeakHashMap;->NULL_KEY:Ljava/lang/Object;
-Ljava/util/WeakHashMap;->queue:Ljava/lang/ref/ReferenceQueue;
-Ljava/util/WeakHashMap;->removeMapping(Ljava/lang/Object;)Z
-Ljava/util/WeakHashMap;->resize(I)V
-Ljava/util/WeakHashMap;->size:I
-Ljava/util/WeakHashMap;->table:[Ljava/util/WeakHashMap$Entry;
-Ljava/util/WeakHashMap;->threshold:I
-Ljava/util/WeakHashMap;->transfer([Ljava/util/WeakHashMap$Entry;[Ljava/util/WeakHashMap$Entry;)V
-Ljava/util/WeakHashMap;->unmaskNull(Ljava/lang/Object;)Ljava/lang/Object;
-Ljava/util/zip/Adler32;->adler:I
-Ljava/util/zip/Adler32;->updateByteBuffer(IJII)I
-Ljava/util/zip/Adler32;->updateBytes(I[BII)I
-Ljava/util/zip/CheckedInputStream;->cksum:Ljava/util/zip/Checksum;
-Ljava/util/zip/CheckedOutputStream;->cksum:Ljava/util/zip/Checksum;
-Ljava/util/zip/CRC32;->crc:I
-Ljava/util/zip/CRC32;->updateByteBuffer(IJII)I
-Ljava/util/zip/CRC32;->updateBytes(I[BII)I
-Ljava/util/zip/Deflater;->bytesRead:J
-Ljava/util/zip/Deflater;->bytesWritten:J
-Ljava/util/zip/Deflater;->deflateBytes(J[BIII)I
-Ljava/util/zip/Deflater;->end(J)V
-Ljava/util/zip/Deflater;->ensureOpen()V
-Ljava/util/zip/Deflater;->getAdler(J)I
-Ljava/util/zip/Deflater;->guard:Ldalvik/system/CloseGuard;
-Ljava/util/zip/Deflater;->init(IIZ)J
-Ljava/util/zip/Deflater;->reset(J)V
-Ljava/util/zip/Deflater;->setDictionary(J[BII)V
-Ljava/util/zip/Deflater;->zsRef:Ljava/util/zip/ZStreamRef;
-Ljava/util/zip/DeflaterInputStream;->ensureOpen()V
-Ljava/util/zip/DeflaterInputStream;->rbuf:[B
-Ljava/util/zip/DeflaterInputStream;->reachEOF:Z
-Ljava/util/zip/DeflaterInputStream;->usesDefaultDeflater:Z
-Ljava/util/zip/DeflaterOutputStream;->closed:Z
-Ljava/util/zip/DeflaterOutputStream;->syncFlush:Z
-Ljava/util/zip/DeflaterOutputStream;->usesDefaultDeflater:Z
-Ljava/util/zip/GZIPInputStream;->closed:Z
-Ljava/util/zip/GZIPInputStream;->ensureOpen()V
-Ljava/util/zip/GZIPInputStream;->FCOMMENT:I
-Ljava/util/zip/GZIPInputStream;->FEXTRA:I
-Ljava/util/zip/GZIPInputStream;->FHCRC:I
-Ljava/util/zip/GZIPInputStream;->FNAME:I
-Ljava/util/zip/GZIPInputStream;->FTEXT:I
-Ljava/util/zip/GZIPInputStream;->readHeader(Ljava/io/InputStream;)I
-Ljava/util/zip/GZIPInputStream;->readTrailer()Z
-Ljava/util/zip/GZIPInputStream;->readUByte(Ljava/io/InputStream;)I
-Ljava/util/zip/GZIPInputStream;->readUInt(Ljava/io/InputStream;)J
-Ljava/util/zip/GZIPInputStream;->readUShort(Ljava/io/InputStream;)I
-Ljava/util/zip/GZIPInputStream;->skipBytes(Ljava/io/InputStream;I)V
-Ljava/util/zip/GZIPInputStream;->tmpbuf:[B
-Ljava/util/zip/GZIPOutputStream;->GZIP_MAGIC:I
-Ljava/util/zip/GZIPOutputStream;->TRAILER_SIZE:I
-Ljava/util/zip/GZIPOutputStream;->writeHeader()V
-Ljava/util/zip/GZIPOutputStream;->writeInt(I[BI)V
-Ljava/util/zip/GZIPOutputStream;->writeShort(I[BI)V
-Ljava/util/zip/GZIPOutputStream;->writeTrailer([BI)V
-Ljava/util/zip/Inflater;->bytesRead:J
-Ljava/util/zip/Inflater;->bytesWritten:J
-Ljava/util/zip/Inflater;->defaultBuf:[B
-Ljava/util/zip/Inflater;->end(J)V
-Ljava/util/zip/Inflater;->ended()Z
-Ljava/util/zip/Inflater;->ensureOpen()V
-Ljava/util/zip/Inflater;->getAdler(J)I
-Ljava/util/zip/Inflater;->guard:Ldalvik/system/CloseGuard;
-Ljava/util/zip/Inflater;->inflateBytes(J[BII)I
-Ljava/util/zip/Inflater;->init(Z)J
-Ljava/util/zip/Inflater;->reset(J)V
-Ljava/util/zip/Inflater;->setDictionary(J[BII)V
-Ljava/util/zip/Inflater;->zsRef:Ljava/util/zip/ZStreamRef;
-Ljava/util/zip/InflaterInputStream;->b:[B
-Ljava/util/zip/InflaterInputStream;->ensureOpen()V
-Ljava/util/zip/InflaterInputStream;->reachEOF:Z
-Ljava/util/zip/InflaterInputStream;->singleByteBuf:[B
-Ljava/util/zip/InflaterOutputStream;->closed:Z
-Ljava/util/zip/InflaterOutputStream;->ensureOpen()V
-Ljava/util/zip/InflaterOutputStream;->usesDefaultInflater:Z
-Ljava/util/zip/InflaterOutputStream;->wbuf:[B
-Ljava/util/zip/ZipCoder;
-Ljava/util/zip/ZipCoder;-><init>(Ljava/nio/charset/Charset;)V
-Ljava/util/zip/ZipCoder;->cs:Ljava/nio/charset/Charset;
-Ljava/util/zip/ZipCoder;->dec:Ljava/nio/charset/CharsetDecoder;
-Ljava/util/zip/ZipCoder;->decoder()Ljava/nio/charset/CharsetDecoder;
-Ljava/util/zip/ZipCoder;->enc:Ljava/nio/charset/CharsetEncoder;
-Ljava/util/zip/ZipCoder;->encoder()Ljava/nio/charset/CharsetEncoder;
-Ljava/util/zip/ZipCoder;->get(Ljava/nio/charset/Charset;)Ljava/util/zip/ZipCoder;
-Ljava/util/zip/ZipCoder;->getBytes(Ljava/lang/String;)[B
-Ljava/util/zip/ZipCoder;->getBytesUTF8(Ljava/lang/String;)[B
-Ljava/util/zip/ZipCoder;->isUTF8()Z
-Ljava/util/zip/ZipCoder;->isUTF8:Z
-Ljava/util/zip/ZipCoder;->toString([B)Ljava/lang/String;
-Ljava/util/zip/ZipCoder;->toString([BI)Ljava/lang/String;
-Ljava/util/zip/ZipCoder;->toStringUTF8([BI)Ljava/lang/String;
-Ljava/util/zip/ZipCoder;->utf8:Ljava/util/zip/ZipCoder;
-Ljava/util/zip/ZipConstants;
-Ljava/util/zip/ZipEntry;-><init>()V
-Ljava/util/zip/ZipEntry;->atime:Ljava/nio/file/attribute/FileTime;
-Ljava/util/zip/ZipEntry;->comment:Ljava/lang/String;
-Ljava/util/zip/ZipEntry;->crc:J
-Ljava/util/zip/ZipEntry;->csize:J
-Ljava/util/zip/ZipEntry;->ctime:Ljava/nio/file/attribute/FileTime;
-Ljava/util/zip/ZipEntry;->dataOffset:J
-Ljava/util/zip/ZipEntry;->DOSTIME_BEFORE_1980:J
-Ljava/util/zip/ZipEntry;->extra:[B
-Ljava/util/zip/ZipEntry;->flag:I
-Ljava/util/zip/ZipEntry;->getDataOffset()J
-Ljava/util/zip/ZipEntry;->mtime:Ljava/nio/file/attribute/FileTime;
-Ljava/util/zip/ZipEntry;->name:Ljava/lang/String;
-Ljava/util/zip/ZipEntry;->setExtra0([BZ)V
-Ljava/util/zip/ZipEntry;->size:J
-Ljava/util/zip/ZipEntry;->UPPER_DOSTIME_BOUND:J
-Ljava/util/zip/ZipEntry;->xdostime:J
-Ljava/util/zip/ZipFile$ZipEntryIterator;
-Ljava/util/zip/ZipFile$ZipEntryIterator;-><init>()V
-Ljava/util/zip/ZipFile$ZipEntryIterator;->i:I
-Ljava/util/zip/ZipFile$ZipFileInflaterInputStream;
-Ljava/util/zip/ZipFile$ZipFileInflaterInputStream;-><init>(Ljava/util/zip/ZipFile$ZipFileInputStream;Ljava/util/zip/Inflater;I)V
-Ljava/util/zip/ZipFile$ZipFileInflaterInputStream;->closeRequested:Z
-Ljava/util/zip/ZipFile$ZipFileInflaterInputStream;->eof:Z
-Ljava/util/zip/ZipFile$ZipFileInflaterInputStream;->zfin:Ljava/util/zip/ZipFile$ZipFileInputStream;
-Ljava/util/zip/ZipFile$ZipFileInputStream;
-Ljava/util/zip/ZipFile$ZipFileInputStream;-><init>(J)V
-Ljava/util/zip/ZipFile$ZipFileInputStream;->jzentry:J
-Ljava/util/zip/ZipFile$ZipFileInputStream;->pos:J
-Ljava/util/zip/ZipFile$ZipFileInputStream;->rem:J
-Ljava/util/zip/ZipFile$ZipFileInputStream;->size()J
-Ljava/util/zip/ZipFile$ZipFileInputStream;->size:J
-Ljava/util/zip/ZipFile$ZipFileInputStream;->zfisCloseRequested:Z
-Ljava/util/zip/ZipFile;->closeRequested:Z
-Ljava/util/zip/ZipFile;->DEFLATED:I
-Ljava/util/zip/ZipFile;->ensureOpen()V
-Ljava/util/zip/ZipFile;->ensureOpenOrZipException()V
-Ljava/util/zip/ZipFile;->fileToRemoveOnClose:Ljava/io/File;
-Ljava/util/zip/ZipFile;->freeEntry(JJ)V
-Ljava/util/zip/ZipFile;->getCommentBytes(J)[B
-Ljava/util/zip/ZipFile;->getEntryBytes(JI)[B
-Ljava/util/zip/ZipFile;->getEntryCrc(J)J
-Ljava/util/zip/ZipFile;->getEntryCSize(J)J
-Ljava/util/zip/ZipFile;->getEntryFlag(J)I
-Ljava/util/zip/ZipFile;->getEntryMethod(J)I
-Ljava/util/zip/ZipFile;->getEntrySize(J)J
-Ljava/util/zip/ZipFile;->getEntryTime(J)J
-Ljava/util/zip/ZipFile;->getFileDescriptor()I
-Ljava/util/zip/ZipFile;->getFileDescriptor(J)I
-Ljava/util/zip/ZipFile;->getInflater()Ljava/util/zip/Inflater;
-Ljava/util/zip/ZipFile;->getNextEntry(JI)J
-Ljava/util/zip/ZipFile;->getTotal(J)I
-Ljava/util/zip/ZipFile;->getZipEntry(Ljava/lang/String;J)Ljava/util/zip/ZipEntry;
-Ljava/util/zip/ZipFile;->getZipMessage(J)Ljava/lang/String;
-Ljava/util/zip/ZipFile;->guard:Ldalvik/system/CloseGuard;
-Ljava/util/zip/ZipFile;->inflaterCache:Ljava/util/Deque;
-Ljava/util/zip/ZipFile;->JZENTRY_COMMENT:I
-Ljava/util/zip/ZipFile;->JZENTRY_EXTRA:I
-Ljava/util/zip/ZipFile;->JZENTRY_NAME:I
-Ljava/util/zip/ZipFile;->locsig:Z
-Ljava/util/zip/ZipFile;->name:Ljava/lang/String;
-Ljava/util/zip/ZipFile;->open(Ljava/lang/String;IJZ)J
-Ljava/util/zip/ZipFile;->read(JJJ[BII)I
-Ljava/util/zip/ZipFile;->releaseInflater(Ljava/util/zip/Inflater;)V
-Ljava/util/zip/ZipFile;->startsWithLOC(J)Z
-Ljava/util/zip/ZipFile;->startsWithLocHeader()Z
-Ljava/util/zip/ZipFile;->STORED:I
-Ljava/util/zip/ZipFile;->streams:Ljava/util/Map;
-Ljava/util/zip/ZipFile;->total:I
-Ljava/util/zip/ZipFile;->usemmap:Z
-Ljava/util/zip/ZipFile;->zc:Ljava/util/zip/ZipCoder;
-Ljava/util/zip/ZipInputStream;->b:[B
-Ljava/util/zip/ZipInputStream;->closed:Z
-Ljava/util/zip/ZipInputStream;->crc:Ljava/util/zip/CRC32;
-Ljava/util/zip/ZipInputStream;->DEFLATED:I
-Ljava/util/zip/ZipInputStream;->ensureOpen()V
-Ljava/util/zip/ZipInputStream;->entry:Ljava/util/zip/ZipEntry;
-Ljava/util/zip/ZipInputStream;->entryEOF:Z
-Ljava/util/zip/ZipInputStream;->readEnd(Ljava/util/zip/ZipEntry;)V
-Ljava/util/zip/ZipInputStream;->readFully([BII)V
-Ljava/util/zip/ZipInputStream;->readLOC()Ljava/util/zip/ZipEntry;
-Ljava/util/zip/ZipInputStream;->remaining:J
-Ljava/util/zip/ZipInputStream;->STORED:I
-Ljava/util/zip/ZipInputStream;->zc:Ljava/util/zip/ZipCoder;
-Ljava/util/zip/ZipOutputStream$XEntry;
-Ljava/util/zip/ZipOutputStream$XEntry;-><init>(Ljava/util/zip/ZipEntry;J)V
-Ljava/util/zip/ZipOutputStream$XEntry;->entry:Ljava/util/zip/ZipEntry;
-Ljava/util/zip/ZipOutputStream$XEntry;->offset:J
-Ljava/util/zip/ZipOutputStream;->closed:Z
-Ljava/util/zip/ZipOutputStream;->comment:[B
-Ljava/util/zip/ZipOutputStream;->crc:Ljava/util/zip/CRC32;
-Ljava/util/zip/ZipOutputStream;->current:Ljava/util/zip/ZipOutputStream$XEntry;
-Ljava/util/zip/ZipOutputStream;->ensureOpen()V
-Ljava/util/zip/ZipOutputStream;->finished:Z
-Ljava/util/zip/ZipOutputStream;->getExtraLen([B)I
-Ljava/util/zip/ZipOutputStream;->inhibitZip64:Z
-Ljava/util/zip/ZipOutputStream;->locoff:J
-Ljava/util/zip/ZipOutputStream;->version(Ljava/util/zip/ZipEntry;)I
-Ljava/util/zip/ZipOutputStream;->writeByte(I)V
-Ljava/util/zip/ZipOutputStream;->writeBytes([BII)V
-Ljava/util/zip/ZipOutputStream;->writeCEN(Ljava/util/zip/ZipOutputStream$XEntry;)V
-Ljava/util/zip/ZipOutputStream;->writeEND(JJ)V
-Ljava/util/zip/ZipOutputStream;->writeEXT(Ljava/util/zip/ZipEntry;)V
-Ljava/util/zip/ZipOutputStream;->writeExtra([B)V
-Ljava/util/zip/ZipOutputStream;->writeInt(J)V
-Ljava/util/zip/ZipOutputStream;->writeLOC(Ljava/util/zip/ZipOutputStream$XEntry;)V
-Ljava/util/zip/ZipOutputStream;->writeLong(J)V
-Ljava/util/zip/ZipOutputStream;->writeShort(I)V
-Ljava/util/zip/ZipOutputStream;->xentries:Ljava/util/Vector;
-Ljava/util/zip/ZipOutputStream;->zc:Ljava/util/zip/ZipCoder;
-Ljava/util/zip/ZStreamRef;
-Ljava/util/zip/ZStreamRef;-><init>(J)V
-Ljava/util/zip/ZStreamRef;->address()J
-Ljava/util/zip/ZStreamRef;->address:J
-Ljava/util/zip/ZStreamRef;->clear()V
-Ljavax/crypto/Cipher$CipherSpiAndProvider;
-Ljavax/crypto/Cipher$CipherSpiAndProvider;-><init>(Ljavax/crypto/CipherSpi;Ljava/security/Provider;)V
-Ljavax/crypto/Cipher$CipherSpiAndProvider;->cipherSpi:Ljavax/crypto/CipherSpi;
-Ljavax/crypto/Cipher$CipherSpiAndProvider;->provider:Ljava/security/Provider;
-Ljavax/crypto/Cipher$InitParams;
-Ljavax/crypto/Cipher$InitParams;-><init>(Ljavax/crypto/Cipher$InitType;ILjava/security/Key;Ljava/security/SecureRandom;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/AlgorithmParameters;)V
-Ljavax/crypto/Cipher$InitParams;->initType:Ljavax/crypto/Cipher$InitType;
-Ljavax/crypto/Cipher$InitParams;->key:Ljava/security/Key;
-Ljavax/crypto/Cipher$InitParams;->opmode:I
-Ljavax/crypto/Cipher$InitParams;->params:Ljava/security/AlgorithmParameters;
-Ljavax/crypto/Cipher$InitParams;->random:Ljava/security/SecureRandom;
-Ljavax/crypto/Cipher$InitParams;->spec:Ljava/security/spec/AlgorithmParameterSpec;
-Ljavax/crypto/Cipher$InitType;
-Ljavax/crypto/Cipher$InitType;-><init>()V
-Ljavax/crypto/Cipher$InitType;->ALGORITHM_PARAMS:Ljavax/crypto/Cipher$InitType;
-Ljavax/crypto/Cipher$InitType;->ALGORITHM_PARAM_SPEC:Ljavax/crypto/Cipher$InitType;
-Ljavax/crypto/Cipher$InitType;->KEY:Ljavax/crypto/Cipher$InitType;
-Ljavax/crypto/Cipher$InitType;->valueOf(Ljava/lang/String;)Ljavax/crypto/Cipher$InitType;
-Ljavax/crypto/Cipher$InitType;->values()[Ljavax/crypto/Cipher$InitType;
-Ljavax/crypto/Cipher$NeedToSet;
-Ljavax/crypto/Cipher$NeedToSet;-><init>()V
-Ljavax/crypto/Cipher$NeedToSet;->BOTH:Ljavax/crypto/Cipher$NeedToSet;
-Ljavax/crypto/Cipher$NeedToSet;->MODE:Ljavax/crypto/Cipher$NeedToSet;
-Ljavax/crypto/Cipher$NeedToSet;->NONE:Ljavax/crypto/Cipher$NeedToSet;
-Ljavax/crypto/Cipher$NeedToSet;->PADDING:Ljavax/crypto/Cipher$NeedToSet;
-Ljavax/crypto/Cipher$NeedToSet;->valueOf(Ljava/lang/String;)Ljavax/crypto/Cipher$NeedToSet;
-Ljavax/crypto/Cipher$NeedToSet;->values()[Ljavax/crypto/Cipher$NeedToSet;
-Ljavax/crypto/Cipher$SpiAndProviderUpdater;
-Ljavax/crypto/Cipher$SpiAndProviderUpdater;-><init>(Ljava/security/Provider;Ljavax/crypto/CipherSpi;)V
-Ljavax/crypto/Cipher$SpiAndProviderUpdater;->getCurrentSpi(Ljavax/crypto/CipherSpi;)Ljavax/crypto/CipherSpi;
-Ljavax/crypto/Cipher$SpiAndProviderUpdater;->initSpiLock:Ljava/lang/Object;
-Ljavax/crypto/Cipher$SpiAndProviderUpdater;->setCipherSpiImplAndProvider(Ljavax/crypto/CipherSpi;Ljava/security/Provider;)V
-Ljavax/crypto/Cipher$SpiAndProviderUpdater;->specifiedProvider:Ljava/security/Provider;
-Ljavax/crypto/Cipher$SpiAndProviderUpdater;->specifiedSpi:Ljavax/crypto/CipherSpi;
-Ljavax/crypto/Cipher$SpiAndProviderUpdater;->updateAndGetSpiAndProvider(Ljavax/crypto/Cipher$InitParams;Ljavax/crypto/CipherSpi;Ljava/security/Provider;)Ljavax/crypto/Cipher$CipherSpiAndProvider;
-Ljavax/crypto/Cipher$SpiAndProviderUpdater;->updateAndGetSpiAndProvider(Ljavax/crypto/CipherSpi;Ljava/security/Provider;)Ljavax/crypto/Cipher$CipherSpiAndProvider;
-Ljavax/crypto/Cipher$Transform;
-Ljavax/crypto/Cipher$Transform;-><init>(Ljava/lang/String;Ljavax/crypto/Cipher$NeedToSet;)V
-Ljavax/crypto/Cipher$Transform;->name:Ljava/lang/String;
-Ljavax/crypto/Cipher$Transform;->needToSet:Ljavax/crypto/Cipher$NeedToSet;
-Ljavax/crypto/Cipher;-><init>(Ljavax/crypto/CipherSpi;Ljava/security/Provider;Ljava/lang/String;[Ljava/lang/String;)V
-Ljavax/crypto/Cipher;->ATTRIBUTE_MODES:Ljava/lang/String;
-Ljavax/crypto/Cipher;->ATTRIBUTE_PADDINGS:Ljava/lang/String;
-Ljavax/crypto/Cipher;->checkCipherState()V
-Ljavax/crypto/Cipher;->checkOpmode(I)V
-Ljavax/crypto/Cipher;->chooseProvider(Ljavax/crypto/Cipher$InitType;ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/AlgorithmParameters;Ljava/security/SecureRandom;)V
-Ljavax/crypto/Cipher;->createCipher(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/Cipher;
-Ljavax/crypto/Cipher;->exmech:Ljavax/crypto/ExemptionMechanism;
-Ljavax/crypto/Cipher;->getAlgorithmParameterSpec(Ljava/security/AlgorithmParameters;)Ljava/security/spec/AlgorithmParameterSpec;
-Ljavax/crypto/Cipher;->getCurrentSpi()Ljavax/crypto/CipherSpi;
-Ljavax/crypto/Cipher;->getOpmodeString(I)Ljava/lang/String;
-Ljavax/crypto/Cipher;->initialized:Z
-Ljavax/crypto/Cipher;->KEY_USAGE_EXTENSION_OID:Ljava/lang/String;
-Ljavax/crypto/Cipher;->matchAttribute(Ljava/security/Provider$Service;Ljava/lang/String;Ljava/lang/String;)Z
-Ljavax/crypto/Cipher;->opmode:I
-Ljavax/crypto/Cipher;->provider:Ljava/security/Provider;
-Ljavax/crypto/Cipher;->spi:Ljavax/crypto/CipherSpi;
-Ljavax/crypto/Cipher;->spiAndProviderUpdater:Ljavax/crypto/Cipher$SpiAndProviderUpdater;
-Ljavax/crypto/Cipher;->tokenizedTransformation:[Ljava/lang/String;
-Ljavax/crypto/Cipher;->tokenizeTransformation(Ljava/lang/String;)[Ljava/lang/String;
-Ljavax/crypto/Cipher;->transformation:Ljava/lang/String;
-Ljavax/crypto/Cipher;->tryCombinations(Ljavax/crypto/Cipher$InitParams;Ljava/security/Provider;[Ljava/lang/String;)Ljavax/crypto/Cipher$CipherSpiAndProvider;
-Ljavax/crypto/Cipher;->tryTransformWithProvider(Ljavax/crypto/Cipher$InitParams;[Ljava/lang/String;Ljavax/crypto/Cipher$NeedToSet;Ljava/security/Provider$Service;)Ljavax/crypto/Cipher$CipherSpiAndProvider;
-Ljavax/crypto/Cipher;->updateProviderIfNeeded()V
-Ljavax/crypto/CipherInputStream;->cipher:Ljavax/crypto/Cipher;
-Ljavax/crypto/CipherInputStream;->closed:Z
-Ljavax/crypto/CipherInputStream;->done:Z
-Ljavax/crypto/CipherInputStream;->getMoreData()I
-Ljavax/crypto/CipherInputStream;->ibuffer:[B
-Ljavax/crypto/CipherInputStream;->input:Ljava/io/InputStream;
-Ljavax/crypto/CipherInputStream;->obuffer:[B
-Ljavax/crypto/CipherInputStream;->ofinish:I
-Ljavax/crypto/CipherInputStream;->ostart:I
-Ljavax/crypto/CipherOutputStream;->cipher:Ljavax/crypto/Cipher;
-Ljavax/crypto/CipherOutputStream;->closed:Z
-Ljavax/crypto/CipherOutputStream;->ibuffer:[B
-Ljavax/crypto/CipherOutputStream;->obuffer:[B
-Ljavax/crypto/CipherOutputStream;->output:Ljava/io/OutputStream;
-Ljavax/crypto/CipherSpi;->bufferCrypt(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Z)I
-Ljavax/crypto/CipherSpi;->getTempArraySize(I)I
-Ljavax/crypto/EncryptedPrivateKeyInfo;->algid:Lsun/security/x509/AlgorithmId;
-Ljavax/crypto/EncryptedPrivateKeyInfo;->checkPKCS8Encoding([B)V
-Ljavax/crypto/EncryptedPrivateKeyInfo;->checkTag(Lsun/security/util/DerValue;BLjava/lang/String;)V
-Ljavax/crypto/EncryptedPrivateKeyInfo;->encoded:[B
-Ljavax/crypto/EncryptedPrivateKeyInfo;->encryptedData:[B
-Ljavax/crypto/EncryptedPrivateKeyInfo;->getKeySpecImpl(Ljava/security/Key;Ljava/security/Provider;)Ljava/security/spec/PKCS8EncodedKeySpec;
-Ljavax/crypto/ExemptionMechanism;->done:Z
-Ljavax/crypto/ExemptionMechanism;->exmechSpi:Ljavax/crypto/ExemptionMechanismSpi;
-Ljavax/crypto/ExemptionMechanism;->initialized:Z
-Ljavax/crypto/ExemptionMechanism;->keyStored:Ljava/security/Key;
-Ljavax/crypto/ExemptionMechanism;->mechanism:Ljava/lang/String;
-Ljavax/crypto/ExemptionMechanism;->provider:Ljava/security/Provider;
-Ljavax/crypto/KeyAgreement;-><init>(Ljava/lang/String;)V
-Ljavax/crypto/KeyAgreement;->algorithm:Ljava/lang/String;
-Ljavax/crypto/KeyAgreement;->chooseFirstProvider()V
-Ljavax/crypto/KeyAgreement;->chooseProvider(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
-Ljavax/crypto/KeyAgreement;->implInit(Ljavax/crypto/KeyAgreementSpi;ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
-Ljavax/crypto/KeyAgreement;->I_NO_PARAMS:I
-Ljavax/crypto/KeyAgreement;->I_PARAMS:I
-Ljavax/crypto/KeyAgreement;->lock:Ljava/lang/Object;
-Ljavax/crypto/KeyAgreement;->provider:Ljava/security/Provider;
-Ljavax/crypto/KeyAgreement;->spi:Ljavax/crypto/KeyAgreementSpi;
-Ljavax/crypto/KeyAgreement;->warnCount:I
-Ljavax/crypto/KeyGenerator;-><init>(Ljava/lang/String;)V
-Ljavax/crypto/KeyGenerator;->algorithm:Ljava/lang/String;
-Ljavax/crypto/KeyGenerator;->disableFailover()V
-Ljavax/crypto/KeyGenerator;->initKeySize:I
-Ljavax/crypto/KeyGenerator;->initParams:Ljava/security/spec/AlgorithmParameterSpec;
-Ljavax/crypto/KeyGenerator;->initRandom:Ljava/security/SecureRandom;
-Ljavax/crypto/KeyGenerator;->initType:I
-Ljavax/crypto/KeyGenerator;->I_NONE:I
-Ljavax/crypto/KeyGenerator;->I_PARAMS:I
-Ljavax/crypto/KeyGenerator;->I_RANDOM:I
-Ljavax/crypto/KeyGenerator;->I_SIZE:I
-Ljavax/crypto/KeyGenerator;->lock:Ljava/lang/Object;
-Ljavax/crypto/KeyGenerator;->nextSpi(Ljavax/crypto/KeyGeneratorSpi;Z)Ljavax/crypto/KeyGeneratorSpi;
-Ljavax/crypto/KeyGenerator;->provider:Ljava/security/Provider;
-Ljavax/crypto/KeyGenerator;->serviceIterator:Ljava/util/Iterator;
-Ljavax/crypto/KeyGenerator;->spi:Ljavax/crypto/KeyGeneratorSpi;
-Ljavax/crypto/Mac;-><init>(Ljava/lang/String;)V
-Ljavax/crypto/Mac;->algorithm:Ljava/lang/String;
-Ljavax/crypto/Mac;->chooseFirstProvider()V
-Ljavax/crypto/Mac;->chooseProvider(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
-Ljavax/crypto/Mac;->getCurrentSpi()Ljavax/crypto/MacSpi;
-Ljavax/crypto/Mac;->initialized:Z
-Ljavax/crypto/Mac;->lock:Ljava/lang/Object;
-Ljavax/crypto/Mac;->provider:Ljava/security/Provider;
-Ljavax/crypto/Mac;->spi:Ljavax/crypto/MacSpi;
-Ljavax/crypto/Mac;->warnCount:I
-Ljavax/crypto/SealedObject;->encryptedContent:[B
-Ljavax/crypto/SealedObject;->paramsAlg:Ljava/lang/String;
-Ljavax/crypto/SealedObject;->sealAlg:Ljava/lang/String;
-Ljavax/crypto/SealedObject;->unseal(Ljava/security/Key;Ljava/lang/String;)Ljava/lang/Object;
-Ljavax/crypto/SecretKeyFactory;-><init>(Ljava/lang/String;)V
-Ljavax/crypto/SecretKeyFactory;->algorithm:Ljava/lang/String;
-Ljavax/crypto/SecretKeyFactory;->lock:Ljava/lang/Object;
-Ljavax/crypto/SecretKeyFactory;->nextSpi(Ljavax/crypto/SecretKeyFactorySpi;)Ljavax/crypto/SecretKeyFactorySpi;
-Ljavax/crypto/SecretKeyFactory;->provider:Ljava/security/Provider;
-Ljavax/crypto/SecretKeyFactory;->serviceIterator:Ljava/util/Iterator;
-Ljavax/crypto/SecretKeyFactory;->spi:Ljavax/crypto/SecretKeyFactorySpi;
-Ljavax/crypto/spec/DESedeKeySpec;->key:[B
-Ljavax/crypto/spec/DESKeySpec;->key:[B
-Ljavax/crypto/spec/DESKeySpec;->WEAK_KEYS:[[B
-Ljavax/crypto/spec/DHGenParameterSpec;->exponentSize:I
-Ljavax/crypto/spec/DHGenParameterSpec;->primeSize:I
-Ljavax/crypto/spec/DHParameterSpec;->g:Ljava/math/BigInteger;
-Ljavax/crypto/spec/DHParameterSpec;->l:I
-Ljavax/crypto/spec/DHParameterSpec;->p:Ljava/math/BigInteger;
-Ljavax/crypto/spec/DHPrivateKeySpec;->g:Ljava/math/BigInteger;
-Ljavax/crypto/spec/DHPrivateKeySpec;->p:Ljava/math/BigInteger;
-Ljavax/crypto/spec/DHPrivateKeySpec;->x:Ljava/math/BigInteger;
-Ljavax/crypto/spec/DHPublicKeySpec;->g:Ljava/math/BigInteger;
-Ljavax/crypto/spec/DHPublicKeySpec;->p:Ljava/math/BigInteger;
-Ljavax/crypto/spec/DHPublicKeySpec;->y:Ljava/math/BigInteger;
-Ljavax/crypto/spec/GCMParameterSpec;->init(I[BII)V
-Ljavax/crypto/spec/GCMParameterSpec;->iv:[B
-Ljavax/crypto/spec/GCMParameterSpec;->tLen:I
-Ljavax/crypto/spec/IvParameterSpec;->iv:[B
-Ljavax/crypto/spec/OAEPParameterSpec;-><init>()V
-Ljavax/crypto/spec/OAEPParameterSpec;->mdName:Ljava/lang/String;
-Ljavax/crypto/spec/OAEPParameterSpec;->mgfName:Ljava/lang/String;
-Ljavax/crypto/spec/OAEPParameterSpec;->mgfSpec:Ljava/security/spec/AlgorithmParameterSpec;
-Ljavax/crypto/spec/OAEPParameterSpec;->pSrc:Ljavax/crypto/spec/PSource;
-Ljavax/crypto/spec/PBEKeySpec;->iterationCount:I
-Ljavax/crypto/spec/PBEKeySpec;->keyLength:I
-Ljavax/crypto/spec/PBEKeySpec;->password:[C
-Ljavax/crypto/spec/PBEKeySpec;->salt:[B
-Ljavax/crypto/spec/PBEParameterSpec;->iterationCount:I
-Ljavax/crypto/spec/PBEParameterSpec;->paramSpec:Ljava/security/spec/AlgorithmParameterSpec;
-Ljavax/crypto/spec/PBEParameterSpec;->salt:[B
-Ljavax/crypto/spec/PSource$PSpecified;->p:[B
-Ljavax/crypto/spec/PSource;->pSrcName:Ljava/lang/String;
-Ljavax/crypto/spec/RC2ParameterSpec;->effectiveKeyBits:I
-Ljavax/crypto/spec/RC2ParameterSpec;->iv:[B
-Ljavax/crypto/spec/RC5ParameterSpec;->iv:[B
-Ljavax/crypto/spec/RC5ParameterSpec;->rounds:I
-Ljavax/crypto/spec/RC5ParameterSpec;->version:I
-Ljavax/crypto/spec/RC5ParameterSpec;->wordSize:I
-Ljavax/crypto/spec/SecretKeySpec;->algorithm:Ljava/lang/String;
-Ljavax/crypto/spec/SecretKeySpec;->key:[B
-Ljavax/microedition/khronos/egl/EGLContext;->EGL_INSTANCE:Ljavax/microedition/khronos/egl/EGL;
-Ljavax/net/ServerSocketFactory;->theFactory:Ljavax/net/ServerSocketFactory;
-Ljavax/net/SocketFactory;->setDefault(Ljavax/net/SocketFactory;)V
-Ljavax/net/SocketFactory;->theFactory:Ljavax/net/SocketFactory;
-Ljavax/net/ssl/CertPathTrustManagerParameters;->parameters:Ljava/security/cert/CertPathParameters;
-Ljavax/net/ssl/HandshakeCompletedEvent;->session:Ljavax/net/ssl/SSLSession;
-Ljavax/net/ssl/HttpsURLConnection$NoPreloadHolder;
-Ljavax/net/ssl/HttpsURLConnection$NoPreloadHolder;-><init>()V
-Ljavax/net/ssl/HttpsURLConnection$NoPreloadHolder;->defaultHostnameVerifier:Ljavax/net/ssl/HostnameVerifier;
-Ljavax/net/ssl/HttpsURLConnection$NoPreloadHolder;->originalDefaultHostnameVerifierClass:Ljava/lang/Class;
-Ljavax/net/ssl/HttpsURLConnection;->defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
-Ljavax/net/ssl/HttpsURLConnection;->sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
-Ljavax/net/ssl/KeyManagerFactory;->algorithm:Ljava/lang/String;
-Ljavax/net/ssl/KeyManagerFactory;->factorySpi:Ljavax/net/ssl/KeyManagerFactorySpi;
-Ljavax/net/ssl/KeyManagerFactory;->provider:Ljava/security/Provider;
-Ljavax/net/ssl/KeyStoreBuilderParameters;->parameters:Ljava/util/List;
-Ljavax/net/ssl/SNIHostName$SNIHostNameMatcher;
-Ljavax/net/ssl/SNIHostName$SNIHostNameMatcher;-><init>(Ljava/lang/String;)V
-Ljavax/net/ssl/SNIHostName$SNIHostNameMatcher;->pattern:Ljava/util/regex/Pattern;
-Ljavax/net/ssl/SNIHostName;->checkHostName()V
-Ljavax/net/ssl/SNIHostName;->hostname:Ljava/lang/String;
-Ljavax/net/ssl/SNIMatcher;->type:I
-Ljavax/net/ssl/SNIServerName;->encoded:[B
-Ljavax/net/ssl/SNIServerName;->HEXES:[C
-Ljavax/net/ssl/SNIServerName;->toHexString([B)Ljava/lang/String;
-Ljavax/net/ssl/SNIServerName;->type:I
-Ljavax/net/ssl/SSLContext;->contextSpi:Ljavax/net/ssl/SSLContextSpi;
-Ljavax/net/ssl/SSLContext;->defaultContext:Ljavax/net/ssl/SSLContext;
-Ljavax/net/ssl/SSLContext;->protocol:Ljava/lang/String;
-Ljavax/net/ssl/SSLContext;->provider:Ljava/security/Provider;
-Ljavax/net/ssl/SSLContextSpi;->getDefaultSocket()Ljavax/net/ssl/SSLSocket;
-Ljavax/net/ssl/SSLEngine;->peerHost:Ljava/lang/String;
-Ljavax/net/ssl/SSLEngine;->peerPort:I
-Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;-><init>()V
-Ljavax/net/ssl/SSLEngineResult$Status;-><init>()V
-Ljavax/net/ssl/SSLEngineResult;->bytesConsumed:I
-Ljavax/net/ssl/SSLEngineResult;->bytesProduced:I
-Ljavax/net/ssl/SSLEngineResult;->handshakeStatus:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
-Ljavax/net/ssl/SSLEngineResult;->status:Ljavax/net/ssl/SSLEngineResult$Status;
-Ljavax/net/ssl/SSLParameters;->algorithmConstraints:Ljava/security/AlgorithmConstraints;
-Ljavax/net/ssl/SSLParameters;->cipherSuites:[Ljava/lang/String;
-Ljavax/net/ssl/SSLParameters;->clone([Ljava/lang/String;)[Ljava/lang/String;
-Ljavax/net/ssl/SSLParameters;->identificationAlgorithm:Ljava/lang/String;
-Ljavax/net/ssl/SSLParameters;->needClientAuth:Z
-Ljavax/net/ssl/SSLParameters;->preferLocalCipherSuites:Z
-Ljavax/net/ssl/SSLParameters;->protocols:[Ljava/lang/String;
-Ljavax/net/ssl/SSLParameters;->sniMatchers:Ljava/util/Map;
-Ljavax/net/ssl/SSLParameters;->sniNames:Ljava/util/Map;
-Ljavax/net/ssl/SSLParameters;->wantClientAuth:Z
-Ljavax/net/ssl/SSLServerSocketFactory;->lastVersion:I
-Ljavax/net/ssl/SSLServerSocketFactory;->log(Ljava/lang/String;)V
-Ljavax/net/ssl/SSLSessionBindingEvent;->name:Ljava/lang/String;
-Ljavax/net/ssl/SSLSocketFactory;->DEBUG:Z
-Ljavax/net/ssl/SSLSocketFactory;->getSecurityProperty(Ljava/lang/String;)Ljava/lang/String;
-Ljavax/net/ssl/SSLSocketFactory;->lastVersion:I
-Ljavax/net/ssl/SSLSocketFactory;->log(Ljava/lang/String;)V
-Ljavax/net/ssl/StandardConstants;-><init>()V
-Ljavax/net/ssl/TrustManagerFactory;->algorithm:Ljava/lang/String;
-Ljavax/net/ssl/TrustManagerFactory;->factorySpi:Ljavax/net/ssl/TrustManagerFactorySpi;
-Ljavax/net/ssl/TrustManagerFactory;->provider:Ljava/security/Provider;
-Ljavax/security/auth/callback/PasswordCallback;->echoOn:Z
-Ljavax/security/auth/callback/PasswordCallback;->inputPassword:[C
-Ljavax/security/auth/callback/PasswordCallback;->prompt:Ljava/lang/String;
-Ljavax/security/auth/callback/UnsupportedCallbackException;->callback:Ljavax/security/auth/callback/Callback;
-Ljavax/security/auth/PrivateCredentialPermission;-><init>(Ljava/lang/String;Ljava/util/Set;)V
-Ljavax/security/auth/Subject$AuthPermissionHolder;
-Ljavax/security/auth/Subject$AuthPermissionHolder;-><init>()V
-Ljavax/security/auth/Subject$AuthPermissionHolder;->DO_AS_PERMISSION:Ljavax/security/auth/AuthPermission;
-Ljavax/security/auth/Subject$AuthPermissionHolder;->DO_AS_PRIVILEGED_PERMISSION:Ljavax/security/auth/AuthPermission;
-Ljavax/security/auth/Subject$AuthPermissionHolder;->GET_SUBJECT_PERMISSION:Ljavax/security/auth/AuthPermission;
-Ljavax/security/auth/Subject$AuthPermissionHolder;->MODIFY_PRINCIPALS_PERMISSION:Ljavax/security/auth/AuthPermission;
-Ljavax/security/auth/Subject$AuthPermissionHolder;->MODIFY_PRIVATE_CREDENTIALS_PERMISSION:Ljavax/security/auth/AuthPermission;
-Ljavax/security/auth/Subject$AuthPermissionHolder;->MODIFY_PUBLIC_CREDENTIALS_PERMISSION:Ljavax/security/auth/AuthPermission;
-Ljavax/security/auth/Subject$AuthPermissionHolder;->SET_READ_ONLY_PERMISSION:Ljavax/security/auth/AuthPermission;
-Ljavax/security/auth/Subject$ClassSet;
-Ljavax/security/auth/Subject$ClassSet;-><init>(ILjava/lang/Class;)V
-Ljavax/security/auth/Subject$ClassSet;->add(Ljava/lang/Object;)Z
-Ljavax/security/auth/Subject$ClassSet;->c:Ljava/lang/Class;
-Ljavax/security/auth/Subject$ClassSet;->populateSet()V
-Ljavax/security/auth/Subject$ClassSet;->set:Ljava/util/Set;
-Ljavax/security/auth/Subject$ClassSet;->which:I
-Ljavax/security/auth/Subject$SecureSet;
-Ljavax/security/auth/Subject$SecureSet;-><init>(Ljavax/security/auth/Subject;I)V
-Ljavax/security/auth/Subject$SecureSet;-><init>(Ljavax/security/auth/Subject;ILjava/util/Set;)V
-Ljavax/security/auth/Subject$SecureSet;->elements:Ljava/util/LinkedList;
-Ljavax/security/auth/Subject$SecureSet;->subject:Ljavax/security/auth/Subject;
-Ljavax/security/auth/Subject$SecureSet;->which:I
-Ljavax/security/auth/Subject;->createContext(Ljavax/security/auth/Subject;Ljava/security/AccessControlContext;)Ljava/security/AccessControlContext;
-Ljavax/security/auth/Subject;->getCredHashCode(Ljava/lang/Object;)I
-Ljavax/security/auth/Subject;->NULL_PD_ARRAY:[Ljava/security/ProtectionDomain;
-Ljavax/security/auth/Subject;->principals:Ljava/util/Set;
-Ljavax/security/auth/Subject;->PRINCIPAL_SET:I
-Ljavax/security/auth/Subject;->privCredentials:Ljava/util/Set;
-Ljavax/security/auth/Subject;->PRIV_CREDENTIAL_SET:I
-Ljavax/security/auth/Subject;->pubCredentials:Ljava/util/Set;
-Ljavax/security/auth/Subject;->PUB_CREDENTIAL_SET:I
-Ljavax/security/auth/Subject;->readOnly:Z
-Ljavax/security/auth/Subject;->toString(Z)Ljava/lang/String;
-Ljavax/security/auth/x500/X500Principal;-><init>(Lsun/security/x509/X500Name;)V
-Ljavax/security/auth/x500/X500Principal;->thisX500Name:Lsun/security/x509/X500Name;
-Ljavax/security/cert/X509Certificate;->DEFAULT_X509_CERT_CLASS:Ljava/lang/String;
-Ljavax/security/cert/X509Certificate;->getInst(Ljava/lang/Object;)Ljavax/security/cert/X509Certificate;
-Ljavax/security/cert/X509Certificate;->X509Provider:Ljava/lang/String;
-Ljavax/security/cert/X509Certificate;->X509_PROVIDER:Ljava/lang/String;
-Ljavax/sql/ConnectionEvent;->ex:Ljava/sql/SQLException;
-Ljavax/sql/StatementEvent;->exception:Ljava/sql/SQLException;
-Ljavax/sql/StatementEvent;->statement:Ljava/sql/PreparedStatement;
-Ljavax/xml/datatype/DatatypeConfigurationException;->causeOnJDK13OrBelow:Ljava/lang/Throwable;
-Ljavax/xml/datatype/DatatypeConfigurationException;->initCauseByReflection(Ljava/lang/Throwable;)V
-Ljavax/xml/datatype/DatatypeConfigurationException;->isJDK14OrAbove:Z
-Ljavax/xml/datatype/DatatypeConfigurationException;->printStackTrace0(Ljava/io/PrintWriter;)V
-Ljavax/xml/datatype/DatatypeConstants$Field;-><init>(Ljava/lang/String;I)V
-Ljavax/xml/datatype/DatatypeConstants$Field;->id:I
-Ljavax/xml/datatype/DatatypeConstants$Field;->str:Ljava/lang/String;
-Ljavax/xml/datatype/DatatypeConstants;-><init>()V
-Ljavax/xml/datatype/Duration;->getCalendarTimeInMillis(Ljava/util/Calendar;)J
-Ljavax/xml/datatype/Duration;->getFieldValueAsInt(Ljavax/xml/datatype/DatatypeConstants$Field;)I
-Ljavax/xml/datatype/Duration;->toString(Ljava/math/BigDecimal;)Ljava/lang/String;
-Ljavax/xml/namespace/QName;->compatibilitySerialVersionUID:J
-Ljavax/xml/namespace/QName;->defaultSerialVersionUID:J
-Ljavax/xml/namespace/QName;->localPart:Ljava/lang/String;
-Ljavax/xml/namespace/QName;->namespaceURI:Ljava/lang/String;
-Ljavax/xml/namespace/QName;->prefix:Ljava/lang/String;
-Ljavax/xml/namespace/QName;->qNameAsString:Ljava/lang/String;
-Ljavax/xml/parsers/DocumentBuilder;->DEBUG:Z
-Ljavax/xml/parsers/DocumentBuilderFactory;->coalescing:Z
-Ljavax/xml/parsers/DocumentBuilderFactory;->expandEntityRef:Z
-Ljavax/xml/parsers/DocumentBuilderFactory;->ignoreComments:Z
-Ljavax/xml/parsers/DocumentBuilderFactory;->namespaceAware:Z
-Ljavax/xml/parsers/DocumentBuilderFactory;->validating:Z
-Ljavax/xml/parsers/DocumentBuilderFactory;->whitespace:Z
-Ljavax/xml/parsers/FactoryConfigurationError;->exception:Ljava/lang/Exception;
-Ljavax/xml/parsers/SAXParser;->DEBUG:Z
-Ljavax/xml/parsers/SAXParserFactory;->namespaceAware:Z
-Ljavax/xml/parsers/SAXParserFactory;->validating:Z
-Ljavax/xml/transform/dom/DOMResult;->nextSibling:Lorg/w3c/dom/Node;
-Ljavax/xml/transform/dom/DOMResult;->node:Lorg/w3c/dom/Node;
-Ljavax/xml/transform/dom/DOMResult;->systemId:Ljava/lang/String;
-Ljavax/xml/transform/dom/DOMSource;->node:Lorg/w3c/dom/Node;
-Ljavax/xml/transform/dom/DOMSource;->systemID:Ljava/lang/String;
-Ljavax/xml/transform/OutputKeys;-><init>()V
-Ljavax/xml/transform/sax/SAXResult;->handler:Lorg/xml/sax/ContentHandler;
-Ljavax/xml/transform/sax/SAXResult;->lexhandler:Lorg/xml/sax/ext/LexicalHandler;
-Ljavax/xml/transform/sax/SAXResult;->systemId:Ljava/lang/String;
-Ljavax/xml/transform/sax/SAXSource;->inputSource:Lorg/xml/sax/InputSource;
-Ljavax/xml/transform/sax/SAXSource;->reader:Lorg/xml/sax/XMLReader;
-Ljavax/xml/transform/stream/StreamResult;->outputStream:Ljava/io/OutputStream;
-Ljavax/xml/transform/stream/StreamResult;->systemId:Ljava/lang/String;
-Ljavax/xml/transform/stream/StreamResult;->writer:Ljava/io/Writer;
-Ljavax/xml/transform/stream/StreamSource;->inputStream:Ljava/io/InputStream;
-Ljavax/xml/transform/stream/StreamSource;->publicId:Ljava/lang/String;
-Ljavax/xml/transform/stream/StreamSource;->reader:Ljava/io/Reader;
-Ljavax/xml/transform/stream/StreamSource;->systemId:Ljava/lang/String;
-Ljavax/xml/transform/TransformerException;->containedException:Ljava/lang/Throwable;
-Ljavax/xml/transform/TransformerException;->locator:Ljavax/xml/transform/SourceLocator;
-Ljavax/xml/transform/TransformerFactoryConfigurationError;->exception:Ljava/lang/Exception;
-Ljavax/xml/XMLConstants;-><init>()V
-Ljavax/xml/xpath/XPathConstants;-><init>()V
-Ljavax/xml/xpath/XPathException;->cause:Ljava/lang/Throwable;
-Llibcore/util/BasicLruCache;->maxSize:I
-Llibcore/util/BasicLruCache;->trimToSize(I)V
-Llibcore/util/NativeAllocationRegistry$CleanerRunner;
-Llibcore/util/NativeAllocationRegistry$CleanerRunner;-><init>(Lsun/misc/Cleaner;)V
-Llibcore/util/NativeAllocationRegistry$CleanerRunner;->cleaner:Lsun/misc/Cleaner;
-Llibcore/util/NativeAllocationRegistry$CleanerThunk;
-Llibcore/util/NativeAllocationRegistry$CleanerThunk;-><init>()V
-Llibcore/util/NativeAllocationRegistry$CleanerThunk;->nativePtr:J
-Llibcore/util/NativeAllocationRegistry$CleanerThunk;->setNativePtr(J)V
-Llibcore/util/NativeAllocationRegistry;->classLoader:Ljava/lang/ClassLoader;
-Llibcore/util/NativeAllocationRegistry;->freeFunction:J
-Llibcore/util/NativeAllocationRegistry;->registerNativeAllocation(J)V
-Llibcore/util/NativeAllocationRegistry;->registerNativeFree(J)V
-Llibcore/util/NativeAllocationRegistry;->size:J
-Llibcore/util/ZoneInfo$CheckedArithmeticException;
-Llibcore/util/ZoneInfo$CheckedArithmeticException;-><init>()V
-Llibcore/util/ZoneInfo$OffsetInterval;
-Llibcore/util/ZoneInfo$OffsetInterval;-><init>(IIII)V
-Llibcore/util/ZoneInfo$OffsetInterval;->containsWallTime(J)Z
-Llibcore/util/ZoneInfo$OffsetInterval;->create(Llibcore/util/ZoneInfo;I)Llibcore/util/ZoneInfo$OffsetInterval;
-Llibcore/util/ZoneInfo$OffsetInterval;->endWallTimeSeconds:I
-Llibcore/util/ZoneInfo$OffsetInterval;->getEndWallTimeSeconds()J
-Llibcore/util/ZoneInfo$OffsetInterval;->getIsDst()I
-Llibcore/util/ZoneInfo$OffsetInterval;->getStartWallTimeSeconds()J
-Llibcore/util/ZoneInfo$OffsetInterval;->getTotalOffsetSeconds()I
-Llibcore/util/ZoneInfo$OffsetInterval;->isDst:I
-Llibcore/util/ZoneInfo$OffsetInterval;->startWallTimeSeconds:I
-Llibcore/util/ZoneInfo$OffsetInterval;->totalOffsetSeconds:I
-Llibcore/util/ZoneInfo$WallTime;->calendar:Ljava/util/GregorianCalendar;
-Llibcore/util/ZoneInfo$WallTime;->copyFieldsFromCalendar()V
-Llibcore/util/ZoneInfo$WallTime;->copyFieldsToCalendar()V
-Llibcore/util/ZoneInfo$WallTime;->doWallTimeSearch(Llibcore/util/ZoneInfo;IIZ)Ljava/lang/Integer;
-Llibcore/util/ZoneInfo$WallTime;->getOffsetsOfType(Llibcore/util/ZoneInfo;II)[I
-Llibcore/util/ZoneInfo$WallTime;->gmtOffsetSeconds:I
-Llibcore/util/ZoneInfo$WallTime;->hour:I
-Llibcore/util/ZoneInfo$WallTime;->isDst:I
-Llibcore/util/ZoneInfo$WallTime;->minute:I
-Llibcore/util/ZoneInfo$WallTime;->month:I
-Llibcore/util/ZoneInfo$WallTime;->monthDay:I
-Llibcore/util/ZoneInfo$WallTime;->second:I
-Llibcore/util/ZoneInfo$WallTime;->tryOffsetAdjustments(Llibcore/util/ZoneInfo;ILlibcore/util/ZoneInfo$OffsetInterval;II)Ljava/lang/Integer;
-Llibcore/util/ZoneInfo$WallTime;->weekDay:I
-Llibcore/util/ZoneInfo$WallTime;->year:I
-Llibcore/util/ZoneInfo$WallTime;->yearDay:I
-Llibcore/util/ZoneInfo;-><init>(Ljava/lang/String;[J[B[I[BJ)V
-Llibcore/util/ZoneInfo;->checkedAdd(JI)I
-Llibcore/util/ZoneInfo;->checkedSubtract(II)I
-Llibcore/util/ZoneInfo;->findOffsetIndexForTimeInMilliseconds(J)I
-Llibcore/util/ZoneInfo;->findOffsetIndexForTimeInSeconds(J)I
-Llibcore/util/ZoneInfo;->LEAP:[I
-Llibcore/util/ZoneInfo;->mDstSavings:I
-Llibcore/util/ZoneInfo;->mEarliestRawOffset:I
-Llibcore/util/ZoneInfo;->MILLISECONDS_PER_400_YEARS:J
-Llibcore/util/ZoneInfo;->MILLISECONDS_PER_DAY:J
-Llibcore/util/ZoneInfo;->mIsDsts:[B
-Llibcore/util/ZoneInfo;->mOffsets:[I
-Llibcore/util/ZoneInfo;->mRawOffset:I
-Llibcore/util/ZoneInfo;->mTypes:[B
-Llibcore/util/ZoneInfo;->mUseDst:Z
-Llibcore/util/ZoneInfo;->NORMAL:[I
-Llibcore/util/ZoneInfo;->roundDownMillisToSeconds(J)J
-Llibcore/util/ZoneInfo;->roundUpMillisToSeconds(J)J
-Llibcore/util/ZoneInfo;->UNIX_OFFSET:J
-Lorg/apache/http/conn/ssl/AbstractVerifier;->IPV4_PATTERN:Ljava/util/regex/Pattern;
-Lorg/apache/http/conn/ssl/AbstractVerifier;->isIPv4Address(Ljava/lang/String;)Z
-Lorg/apache/http/conn/ssl/SSLSocketFactory$NoPreloadHolder;
-Lorg/apache/http/conn/ssl/SSLSocketFactory$NoPreloadHolder;-><init>()V
-Lorg/apache/http/conn/ssl/SSLSocketFactory$NoPreloadHolder;->DEFAULT_FACTORY:Lorg/apache/http/conn/ssl/SSLSocketFactory;
-Lorg/apache/http/params/HttpConnectionParams;-><init>()V
-Lorg/ccil/cowan/tagsoup/AttributesImpl;->badIndex(I)V
-Lorg/ccil/cowan/tagsoup/AttributesImpl;->ensureCapacity(I)V
-Lorg/json/JSONArray;->checkedPut(Ljava/lang/Object;)V
-Lorg/json/JSONStringer$Scope;
-Lorg/json/JSONStringer$Scope;-><init>()V
-Lorg/json/JSONStringer$Scope;->DANGLING_KEY:Lorg/json/JSONStringer$Scope;
-Lorg/json/JSONStringer$Scope;->EMPTY_ARRAY:Lorg/json/JSONStringer$Scope;
-Lorg/json/JSONStringer$Scope;->EMPTY_OBJECT:Lorg/json/JSONStringer$Scope;
-Lorg/json/JSONStringer$Scope;->NONEMPTY_ARRAY:Lorg/json/JSONStringer$Scope;
-Lorg/json/JSONStringer$Scope;->NONEMPTY_OBJECT:Lorg/json/JSONStringer$Scope;
-Lorg/json/JSONStringer$Scope;->NULL:Lorg/json/JSONStringer$Scope;
-Lorg/json/JSONStringer$Scope;->valueOf(Ljava/lang/String;)Lorg/json/JSONStringer$Scope;
-Lorg/json/JSONStringer$Scope;->values()[Lorg/json/JSONStringer$Scope;
-Lorg/w3c/dom/ls/LSSerializer;->getFilter()Lorg/w3c/dom/ls/LSSerializerFilter;
-Lorg/w3c/dom/ls/LSSerializer;->setFilter(Lorg/w3c/dom/ls/LSSerializerFilter;)V
-Lorg/w3c/dom/ls/LSSerializerFilter;
-Lorg/w3c/dom/traversal/NodeFilter;
-Lorg/w3c/dom/traversal/NodeFilter;->FILTER_ACCEPT:S
-Lorg/w3c/dom/traversal/NodeFilter;->FILTER_REJECT:S
-Lorg/w3c/dom/traversal/NodeFilter;->FILTER_SKIP:S
-Lorg/w3c/dom/traversal/NodeFilter;->SHOW_ALL:I
-Lorg/w3c/dom/traversal/NodeFilter;->SHOW_ATTRIBUTE:I
-Lorg/w3c/dom/traversal/NodeFilter;->SHOW_CDATA_SECTION:I
-Lorg/w3c/dom/traversal/NodeFilter;->SHOW_COMMENT:I
-Lorg/w3c/dom/traversal/NodeFilter;->SHOW_DOCUMENT:I
-Lorg/w3c/dom/traversal/NodeFilter;->SHOW_DOCUMENT_FRAGMENT:I
-Lorg/w3c/dom/traversal/NodeFilter;->SHOW_DOCUMENT_TYPE:I
-Lorg/w3c/dom/traversal/NodeFilter;->SHOW_ELEMENT:I
-Lorg/w3c/dom/traversal/NodeFilter;->SHOW_ENTITY:I
-Lorg/w3c/dom/traversal/NodeFilter;->SHOW_ENTITY_REFERENCE:I
-Lorg/w3c/dom/traversal/NodeFilter;->SHOW_NOTATION:I
-Lorg/w3c/dom/traversal/NodeFilter;->SHOW_PROCESSING_INSTRUCTION:I
-Lorg/w3c/dom/traversal/NodeFilter;->SHOW_TEXT:I
-Lorg/w3c/dom/traversal/NodeIterator;
-Lorg/w3c/dom/traversal/NodeIterator;->getExpandEntityReferences()Z
-Lorg/w3c/dom/traversal/NodeIterator;->getFilter()Lorg/w3c/dom/traversal/NodeFilter;
-Lorg/w3c/dom/traversal/NodeIterator;->getRoot()Lorg/w3c/dom/Node;
-Lorg/w3c/dom/traversal/NodeIterator;->getWhatToShow()I
-Lorg/w3c/dom/traversal/NodeIterator;->previousNode()Lorg/w3c/dom/Node;
-Lorg/xml/sax/helpers/AttributeListImpl;->names:Ljava/util/ArrayList;
-Lorg/xml/sax/helpers/AttributeListImpl;->types:Ljava/util/ArrayList;
-Lorg/xml/sax/helpers/AttributeListImpl;->values:Ljava/util/ArrayList;
-Lorg/xml/sax/helpers/NamespaceSupport$Context;
-Lorg/xml/sax/helpers/NamespaceSupport$Context;-><init>()V
-Lorg/xml/sax/helpers/NamespaceSupport$Context;->attributeNameTable:Ljava/util/Hashtable;
-Lorg/xml/sax/helpers/NamespaceSupport$Context;->clear()V
-Lorg/xml/sax/helpers/NamespaceSupport$Context;->copyTables()V
-Lorg/xml/sax/helpers/NamespaceSupport$Context;->declarations:Ljava/util/ArrayList;
-Lorg/xml/sax/helpers/NamespaceSupport$Context;->declarePrefix(Ljava/lang/String;Ljava/lang/String;)V
-Lorg/xml/sax/helpers/NamespaceSupport$Context;->declSeen:Z
-Lorg/xml/sax/helpers/NamespaceSupport$Context;->declsOK:Z
-Lorg/xml/sax/helpers/NamespaceSupport$Context;->defaultNS:Ljava/lang/String;
-Lorg/xml/sax/helpers/NamespaceSupport$Context;->elementNameTable:Ljava/util/Hashtable;
-Lorg/xml/sax/helpers/NamespaceSupport$Context;->getDeclaredPrefixes()Ljava/util/Enumeration;
-Lorg/xml/sax/helpers/NamespaceSupport$Context;->getPrefix(Ljava/lang/String;)Ljava/lang/String;
-Lorg/xml/sax/helpers/NamespaceSupport$Context;->getPrefixes()Ljava/util/Enumeration;
-Lorg/xml/sax/helpers/NamespaceSupport$Context;->getURI(Ljava/lang/String;)Ljava/lang/String;
-Lorg/xml/sax/helpers/NamespaceSupport$Context;->parent:Lorg/xml/sax/helpers/NamespaceSupport$Context;
-Lorg/xml/sax/helpers/NamespaceSupport$Context;->prefixTable:Ljava/util/Hashtable;
-Lorg/xml/sax/helpers/NamespaceSupport$Context;->processName(Ljava/lang/String;Z)[Ljava/lang/String;
-Lorg/xml/sax/helpers/NamespaceSupport$Context;->setParent(Lorg/xml/sax/helpers/NamespaceSupport$Context;)V
-Lorg/xml/sax/helpers/NamespaceSupport$Context;->uriTable:Ljava/util/Hashtable;
-Lorg/xml/sax/helpers/ParserAdapter$AttributeListAdapter;
-Lorg/xml/sax/helpers/ParserAdapter$AttributeListAdapter;-><init>()V
-Lorg/xml/sax/helpers/ParserAdapter$AttributeListAdapter;->qAtts:Lorg/xml/sax/AttributeList;
-Lorg/xml/sax/helpers/ParserAdapter$AttributeListAdapter;->setAttributeList(Lorg/xml/sax/AttributeList;)V
-Lorg/xml/sax/helpers/ParserAdapter;->FEATURES:Ljava/lang/String;
-Lorg/xml/sax/helpers/ParserAdapter;->NAMESPACES:Ljava/lang/String;
-Lorg/xml/sax/helpers/ParserAdapter;->NAMESPACE_PREFIXES:Ljava/lang/String;
-Lorg/xml/sax/helpers/ParserAdapter;->XMLNS_URIs:Ljava/lang/String;
-Lorg/xml/sax/helpers/ParserFactory;-><init>()V
-Lorg/xml/sax/helpers/XMLReaderAdapter$AttributesAdapter;
-Lorg/xml/sax/helpers/XMLReaderAdapter$AttributesAdapter;-><init>()V
-Lorg/xml/sax/helpers/XMLReaderAdapter$AttributesAdapter;->attributes:Lorg/xml/sax/Attributes;
-Lorg/xml/sax/helpers/XMLReaderAdapter$AttributesAdapter;->setAttributes(Lorg/xml/sax/Attributes;)V
-Lorg/xml/sax/helpers/XMLReaderFactory;-><init>()V
-Lorg/xml/sax/helpers/XMLReaderFactory;->property:Ljava/lang/String;
-Lorg/xmlpull/v1/XmlPullParserFactory;->getParserInstance()Lorg/xmlpull/v1/XmlPullParser;
-Lorg/xmlpull/v1/XmlPullParserFactory;->getSerializerInstance()Lorg/xmlpull/v1/XmlSerializer;
-Lorg/xmlpull/v1/XmlPullParserFactory;->newInstantiationException(Ljava/lang/String;Ljava/util/ArrayList;)Lorg/xmlpull/v1/XmlPullParserException;
-Lsun/misc/Cleaner;-><init>(Ljava/lang/Object;Ljava/lang/Runnable;)V
-Lsun/misc/Cleaner;->add(Lsun/misc/Cleaner;)Lsun/misc/Cleaner;
-Lsun/misc/Cleaner;->dummyQueue:Ljava/lang/ref/ReferenceQueue;
-Lsun/misc/Cleaner;->first:Lsun/misc/Cleaner;
-Lsun/misc/Cleaner;->next:Lsun/misc/Cleaner;
-Lsun/misc/Cleaner;->prev:Lsun/misc/Cleaner;
-Lsun/misc/Cleaner;->remove(Lsun/misc/Cleaner;)Z
-Lsun/misc/Cleaner;->thunk:Ljava/lang/Runnable;
-Lsun/misc/JarIndex;->addMapping(Ljava/lang/String;Ljava/lang/String;)V
-Lsun/misc/JarIndex;->addToList(Ljava/lang/String;Ljava/lang/String;Ljava/util/HashMap;)V
-Lsun/misc/JarIndex;->indexMap:Ljava/util/HashMap;
-Lsun/misc/JarIndex;->jarFiles:[Ljava/lang/String;
-Lsun/misc/JarIndex;->jarMap:Ljava/util/HashMap;
-Lsun/misc/JarIndex;->metaInfFilenames:Z
-Lsun/misc/JarIndex;->parseJars([Ljava/lang/String;)V
-Lsun/misc/LRUCache;->oa:[Ljava/lang/Object;
-Lsun/misc/LRUCache;->size:I
-Lsun/misc/MetaIndex;-><init>(Ljava/util/List;Z)V
-Lsun/misc/MetaIndex;->contents:[Ljava/lang/String;
-Lsun/misc/MetaIndex;->getJarMap()Ljava/util/Map;
-Lsun/misc/MetaIndex;->isClassOnlyJar:Z
-Lsun/misc/MetaIndex;->jarMap:Ljava/util/Map;
-Lsun/misc/Resource;->cachedInputStream()Ljava/io/InputStream;
-Lsun/misc/Resource;->cis:Ljava/io/InputStream;
-Lsun/misc/Unsafe;-><init>()V
-Lsun/misc/Unsafe;->getArrayBaseOffsetForComponentType(Ljava/lang/Class;)I
-Lsun/misc/Unsafe;->getArrayIndexScaleForComponentType(Ljava/lang/Class;)I
-Lsun/misc/URLClassPath$FileLoader;
-Lsun/misc/URLClassPath$FileLoader;-><init>(Ljava/net/URL;)V
-Lsun/misc/URLClassPath$FileLoader;->dir:Ljava/io/File;
-Lsun/misc/URLClassPath$FileLoader;->findResource(Ljava/lang/String;Z)Ljava/net/URL;
-Lsun/misc/URLClassPath$FileLoader;->getResource(Ljava/lang/String;Z)Lsun/misc/Resource;
-Lsun/misc/URLClassPath$JarLoader;
-Lsun/misc/URLClassPath$JarLoader;-><init>(Ljava/net/URL;Ljava/net/URLStreamHandler;Ljava/util/HashMap;Ljava/security/AccessControlContext;)V
-Lsun/misc/URLClassPath$JarLoader;->acc:Ljava/security/AccessControlContext;
-Lsun/misc/URLClassPath$JarLoader;->checkJar(Ljava/util/jar/JarFile;)Ljava/util/jar/JarFile;
-Lsun/misc/URLClassPath$JarLoader;->checkResource(Ljava/lang/String;ZLjava/util/jar/JarEntry;)Lsun/misc/Resource;
-Lsun/misc/URLClassPath$JarLoader;->closed:Z
-Lsun/misc/URLClassPath$JarLoader;->csu:Ljava/net/URL;
-Lsun/misc/URLClassPath$JarLoader;->ensureOpen()V
-Lsun/misc/URLClassPath$JarLoader;->findResource(Ljava/lang/String;Z)Ljava/net/URL;
-Lsun/misc/URLClassPath$JarLoader;->getClassPath()[Ljava/net/URL;
-Lsun/misc/URLClassPath$JarLoader;->getIndex()Lsun/misc/JarIndex;
-Lsun/misc/URLClassPath$JarLoader;->getJarFile(Ljava/net/URL;)Ljava/util/jar/JarFile;
-Lsun/misc/URLClassPath$JarLoader;->getResource(Ljava/lang/String;Z)Lsun/misc/Resource;
-Lsun/misc/URLClassPath$JarLoader;->getResource(Ljava/lang/String;ZLjava/util/Set;)Lsun/misc/Resource;
-Lsun/misc/URLClassPath$JarLoader;->handler:Ljava/net/URLStreamHandler;
-Lsun/misc/URLClassPath$JarLoader;->index:Lsun/misc/JarIndex;
-Lsun/misc/URLClassPath$JarLoader;->isOptimizable(Ljava/net/URL;)Z
-Lsun/misc/URLClassPath$JarLoader;->jar:Ljava/util/jar/JarFile;
-Lsun/misc/URLClassPath$JarLoader;->lmap:Ljava/util/HashMap;
-Lsun/misc/URLClassPath$JarLoader;->metaIndex:Lsun/misc/MetaIndex;
-Lsun/misc/URLClassPath$JarLoader;->parseClassPath(Ljava/net/URL;Ljava/lang/String;)[Ljava/net/URL;
-Lsun/misc/URLClassPath$JarLoader;->parseExtensionsDependencies()V
-Lsun/misc/URLClassPath$JarLoader;->validIndex(Ljava/lang/String;)Z
-Lsun/misc/URLClassPath$Loader;
-Lsun/misc/URLClassPath$Loader;-><init>(Ljava/net/URL;)V
-Lsun/misc/URLClassPath$Loader;->base:Ljava/net/URL;
-Lsun/misc/URLClassPath$Loader;->findResource(Ljava/lang/String;Z)Ljava/net/URL;
-Lsun/misc/URLClassPath$Loader;->getBaseURL()Ljava/net/URL;
-Lsun/misc/URLClassPath$Loader;->getClassPath()[Ljava/net/URL;
-Lsun/misc/URLClassPath$Loader;->getResource(Ljava/lang/String;)Lsun/misc/Resource;
-Lsun/misc/URLClassPath$Loader;->getResource(Ljava/lang/String;Z)Lsun/misc/Resource;
-Lsun/misc/URLClassPath$Loader;->jarfile:Ljava/util/jar/JarFile;
-Lsun/misc/URLClassPath;->acc:Ljava/security/AccessControlContext;
-Lsun/misc/URLClassPath;->check(Ljava/net/URL;)V
-Lsun/misc/URLClassPath;->closed:Z
-Lsun/misc/URLClassPath;->DEBUG:Z
-Lsun/misc/URLClassPath;->DEBUG_LOOKUP_CACHE:Z
-Lsun/misc/URLClassPath;->disableAllLookupCaches()V
-Lsun/misc/URLClassPath;->DISABLE_ACC_CHECKING:Z
-Lsun/misc/URLClassPath;->DISABLE_JAR_CHECKING:Z
-Lsun/misc/URLClassPath;->ensureLoaderOpened(I)Z
-Lsun/misc/URLClassPath;->getLoader(I)Lsun/misc/URLClassPath$Loader;
-Lsun/misc/URLClassPath;->getLoader(Ljava/net/URL;)Lsun/misc/URLClassPath$Loader;
-Lsun/misc/URLClassPath;->getLookupCache(Ljava/lang/String;)[I
-Lsun/misc/URLClassPath;->getLookupCacheForClassLoader(Ljava/lang/ClassLoader;Ljava/lang/String;)[I
-Lsun/misc/URLClassPath;->getLookupCacheURLs(Ljava/lang/ClassLoader;)[Ljava/net/URL;
-Lsun/misc/URLClassPath;->getNextLoader([II)Lsun/misc/URLClassPath$Loader;
-Lsun/misc/URLClassPath;->initLookupCache(Ljava/lang/ClassLoader;)V
-Lsun/misc/URLClassPath;->jarHandler:Ljava/net/URLStreamHandler;
-Lsun/misc/URLClassPath;->JAVA_VERSION:Ljava/lang/String;
-Lsun/misc/URLClassPath;->knownToNotExist(Ljava/lang/String;)Z
-Lsun/misc/URLClassPath;->knownToNotExist0(Ljava/lang/ClassLoader;Ljava/lang/String;)Z
-Lsun/misc/URLClassPath;->lookupCacheEnabled:Z
-Lsun/misc/URLClassPath;->lookupCacheLoader:Ljava/lang/ClassLoader;
-Lsun/misc/URLClassPath;->lookupCacheURLs:[Ljava/net/URL;
-Lsun/misc/URLClassPath;->path:Ljava/util/ArrayList;
-Lsun/misc/URLClassPath;->push([Ljava/net/URL;)V
-Lsun/misc/URLClassPath;->USER_AGENT_JAVA_VERSION:Ljava/lang/String;
-Lsun/misc/URLClassPath;->validateLookupCache(ILjava/lang/String;)V
-Lsun/security/pkcs/ContentInfo;->content:Lsun/security/util/DerValue;
-Lsun/security/pkcs/ContentInfo;->contentType:Lsun/security/util/ObjectIdentifier;
-Lsun/security/pkcs/ContentInfo;->crdata:[I
-Lsun/security/pkcs/ContentInfo;->data:[I
-Lsun/security/pkcs/ContentInfo;->ddata:[I
-Lsun/security/pkcs/ContentInfo;->edata:[I
-Lsun/security/pkcs/ContentInfo;->nsdata:[I
-Lsun/security/pkcs/ContentInfo;->OLD_DATA:[I
-Lsun/security/pkcs/ContentInfo;->OLD_SDATA:[I
-Lsun/security/pkcs/ContentInfo;->pkcs7:[I
-Lsun/security/pkcs/ContentInfo;->sdata:[I
-Lsun/security/pkcs/ContentInfo;->sedata:[I
-Lsun/security/pkcs/ContentInfo;->tstInfo:[I
-Lsun/security/pkcs/PKCS7$VerbatimX509Certificate;
-Lsun/security/pkcs/PKCS7$VerbatimX509Certificate;-><init>(Ljava/security/cert/X509Certificate;[B)V
-Lsun/security/pkcs/PKCS7$VerbatimX509Certificate;->encodedVerbatim:[B
-Lsun/security/pkcs/PKCS7$WrappedX509Certificate;
-Lsun/security/pkcs/PKCS7$WrappedX509Certificate;-><init>(Ljava/security/cert/X509Certificate;)V
-Lsun/security/pkcs/PKCS7$WrappedX509Certificate;->wrapped:Ljava/security/cert/X509Certificate;
-Lsun/security/pkcs/PKCS7;->certificates:[Ljava/security/cert/X509Certificate;
-Lsun/security/pkcs/PKCS7;->certIssuerNames:[Ljava/security/Principal;
-Lsun/security/pkcs/PKCS7;->contentInfo:Lsun/security/pkcs/ContentInfo;
-Lsun/security/pkcs/PKCS7;->contentType:Lsun/security/util/ObjectIdentifier;
-Lsun/security/pkcs/PKCS7;->crls:[Ljava/security/cert/X509CRL;
-Lsun/security/pkcs/PKCS7;->digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
-Lsun/security/pkcs/PKCS7;->oldStyle:Z
-Lsun/security/pkcs/PKCS7;->parse(Lsun/security/util/DerInputStream;)V
-Lsun/security/pkcs/PKCS7;->parse(Lsun/security/util/DerInputStream;Z)V
-Lsun/security/pkcs/PKCS7;->parseNetscapeCertChain(Lsun/security/util/DerValue;)V
-Lsun/security/pkcs/PKCS7;->parseOldSignedData(Lsun/security/util/DerValue;)V
-Lsun/security/pkcs/PKCS7;->parseSignedData(Lsun/security/util/DerValue;)V
-Lsun/security/pkcs/PKCS7;->populateCertIssuerNames()V
-Lsun/security/pkcs/PKCS7;->signerInfos:[Lsun/security/pkcs/SignerInfo;
-Lsun/security/pkcs/PKCS7;->version:Ljava/math/BigInteger;
-Lsun/security/pkcs/PKCS9Attribute;->BYTE_ARRAY_CLASS:Ljava/lang/Class;
-Lsun/security/pkcs/PKCS9Attribute;->debug:Lsun/security/util/Debug;
-Lsun/security/pkcs/PKCS9Attribute;->index:I
-Lsun/security/pkcs/PKCS9Attribute;->indexOf(Ljava/lang/Object;[Ljava/lang/Object;I)I
-Lsun/security/pkcs/PKCS9Attribute;->init(Lsun/security/util/ObjectIdentifier;Ljava/lang/Object;)V
-Lsun/security/pkcs/PKCS9Attribute;->NAME_OID_TABLE:Ljava/util/Hashtable;
-Lsun/security/pkcs/PKCS9Attribute;->oid:Lsun/security/util/ObjectIdentifier;
-Lsun/security/pkcs/PKCS9Attribute;->OID_NAME_TABLE:Ljava/util/Hashtable;
-Lsun/security/pkcs/PKCS9Attribute;->PKCS9_OIDS:[Lsun/security/util/ObjectIdentifier;
-Lsun/security/pkcs/PKCS9Attribute;->PKCS9_VALUE_TAGS:[[Ljava/lang/Byte;
-Lsun/security/pkcs/PKCS9Attribute;->RSA_PROPRIETARY_STR:Ljava/lang/String;
-Lsun/security/pkcs/PKCS9Attribute;->SINGLE_VALUED:[Z
-Lsun/security/pkcs/PKCS9Attribute;->SMIME_SIGNING_DESC_STR:Ljava/lang/String;
-Lsun/security/pkcs/PKCS9Attribute;->throwSingleValuedException()V
-Lsun/security/pkcs/PKCS9Attribute;->throwTagException(Ljava/lang/Byte;)V
-Lsun/security/pkcs/PKCS9Attribute;->value:Ljava/lang/Object;
-Lsun/security/pkcs/PKCS9Attribute;->VALUE_CLASSES:[Ljava/lang/Class;
-Lsun/security/pkcs/PKCS9Attributes;->attributes:Ljava/util/Hashtable;
-Lsun/security/pkcs/PKCS9Attributes;->castToDerEncoder([Ljava/lang/Object;)[Lsun/security/util/DerEncoder;
-Lsun/security/pkcs/PKCS9Attributes;->decode(Lsun/security/util/DerInputStream;)[B
-Lsun/security/pkcs/PKCS9Attributes;->derEncoding:[B
-Lsun/security/pkcs/PKCS9Attributes;->generateDerEncoding()[B
-Lsun/security/pkcs/PKCS9Attributes;->ignoreUnsupportedAttributes:Z
-Lsun/security/pkcs/PKCS9Attributes;->permittedAttributes:Ljava/util/Hashtable;
-Lsun/security/pkcs/SignerInfo;->authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
-Lsun/security/pkcs/SignerInfo;->certificateSerialNumber:Ljava/math/BigInteger;
-Lsun/security/pkcs/SignerInfo;->digestAlgorithmId:Lsun/security/x509/AlgorithmId;
-Lsun/security/pkcs/SignerInfo;->digestEncryptionAlgorithmId:Lsun/security/x509/AlgorithmId;
-Lsun/security/pkcs/SignerInfo;->DIGEST_PRIMITIVE_SET:Ljava/util/Set;
-Lsun/security/pkcs/SignerInfo;->encryptedDigest:[B
-Lsun/security/pkcs/SignerInfo;->hasTimestamp:Z
-Lsun/security/pkcs/SignerInfo;->issuerName:Lsun/security/x509/X500Name;
-Lsun/security/pkcs/SignerInfo;->JAR_DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
-Lsun/security/pkcs/SignerInfo;->SIG_PRIMITIVE_SET:Ljava/util/Set;
-Lsun/security/pkcs/SignerInfo;->timestamp:Ljava/security/Timestamp;
-Lsun/security/pkcs/SignerInfo;->unauthenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
-Lsun/security/pkcs/SignerInfo;->verify(Lsun/security/pkcs/PKCS7;)Lsun/security/pkcs/SignerInfo;
-Lsun/security/pkcs/SignerInfo;->verify(Lsun/security/pkcs/PKCS7;Ljava/io/InputStream;)Lsun/security/pkcs/SignerInfo;
-Lsun/security/pkcs/SignerInfo;->verify(Lsun/security/pkcs/PKCS7;[B)Lsun/security/pkcs/SignerInfo;
-Lsun/security/pkcs/SignerInfo;->verifyTimestamp(Lsun/security/timestamp/TimestampToken;)V
-Lsun/security/pkcs/SignerInfo;->version:Ljava/math/BigInteger;
-Lsun/security/util/AbstractAlgorithmConstraints;->checkAlgorithm([Ljava/lang/String;Ljava/lang/String;Lsun/security/util/AlgorithmDecomposer;)Z
-Lsun/security/util/AbstractAlgorithmConstraints;->getAlgorithms(Ljava/lang/String;)[Ljava/lang/String;
-Lsun/security/util/AlgorithmDecomposer;->decomposeImpl(Ljava/lang/String;)Ljava/util/Set;
-Lsun/security/util/AlgorithmDecomposer;->hasLoop(Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;)V
-Lsun/security/util/AlgorithmDecomposer;->pattern:Ljava/util/regex/Pattern;
-Lsun/security/util/AlgorithmDecomposer;->transPattern:Ljava/util/regex/Pattern;
-Lsun/security/util/BitArray;-><init>(Lsun/security/util/BitArray;)V
-Lsun/security/util/BitArray;->BITS_PER_UNIT:I
-Lsun/security/util/BitArray;->BYTES_PER_LINE:I
-Lsun/security/util/BitArray;->length:I
-Lsun/security/util/BitArray;->NYBBLE:[[B
-Lsun/security/util/BitArray;->position(I)I
-Lsun/security/util/BitArray;->repn:[B
-Lsun/security/util/BitArray;->subscript(I)I
-Lsun/security/util/CertConstraintParameters;->cert:Ljava/security/cert/X509Certificate;
-Lsun/security/util/CertConstraintParameters;->trustedMatch:Z
-Lsun/security/util/Debug;->args:Ljava/lang/String;
-Lsun/security/util/Debug;->hexDigits:[C
-Lsun/security/util/Debug;->marshal(Ljava/lang/String;)Ljava/lang/String;
-Lsun/security/util/Debug;->prefix:Ljava/lang/String;
-Lsun/security/util/DerInputBuffer;
-Lsun/security/util/DerInputBuffer;-><init>([B)V
-Lsun/security/util/DerInputBuffer;-><init>([BII)V
-Lsun/security/util/DerInputBuffer;->dup()Lsun/security/util/DerInputBuffer;
-Lsun/security/util/DerInputBuffer;->equals(Lsun/security/util/DerInputBuffer;)Z
-Lsun/security/util/DerInputBuffer;->getBigInteger(IZ)Ljava/math/BigInteger;
-Lsun/security/util/DerInputBuffer;->getBitString()[B
-Lsun/security/util/DerInputBuffer;->getBitString(I)[B
-Lsun/security/util/DerInputBuffer;->getGeneralizedTime(I)Ljava/util/Date;
-Lsun/security/util/DerInputBuffer;->getInteger(I)I
-Lsun/security/util/DerInputBuffer;->getPos()I
-Lsun/security/util/DerInputBuffer;->getSlice(II)[B
-Lsun/security/util/DerInputBuffer;->getTime(IZ)Ljava/util/Date;
-Lsun/security/util/DerInputBuffer;->getUnalignedBitString()Lsun/security/util/BitArray;
-Lsun/security/util/DerInputBuffer;->getUTCTime(I)Ljava/util/Date;
-Lsun/security/util/DerInputBuffer;->peek()I
-Lsun/security/util/DerInputBuffer;->toByteArray()[B
-Lsun/security/util/DerInputBuffer;->truncate(I)V
-Lsun/security/util/DerInputStream;-><init>(Lsun/security/util/DerInputBuffer;)V
-Lsun/security/util/DerInputStream;->buffer:Lsun/security/util/DerInputBuffer;
-Lsun/security/util/DerInputStream;->getByte()I
-Lsun/security/util/DerInputStream;->getLength()I
-Lsun/security/util/DerInputStream;->getLength(ILjava/io/InputStream;)I
-Lsun/security/util/DerInputStream;->getLength(Ljava/io/InputStream;)I
-Lsun/security/util/DerInputStream;->init([BIIZ)V
-Lsun/security/util/DerInputStream;->readString(BLjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Lsun/security/util/DerOutputStream;->lexOrder:Lsun/security/util/ByteArrayLexOrder;
-Lsun/security/util/DerOutputStream;->putIntegerContents(I)V
-Lsun/security/util/DerOutputStream;->putOrderedSet(B[Lsun/security/util/DerEncoder;Ljava/util/Comparator;)V
-Lsun/security/util/DerOutputStream;->putTime(Ljava/util/Date;B)V
-Lsun/security/util/DerOutputStream;->tagOrder:Lsun/security/util/ByteArrayTagOrder;
-Lsun/security/util/DerOutputStream;->writeString(Ljava/lang/String;BLjava/lang/String;)V
-Lsun/security/util/DerValue;-><init>(Lsun/security/util/DerInputBuffer;Z)V
-Lsun/security/util/DerValue;->append([B[B)[B
-Lsun/security/util/DerValue;->doEquals(Lsun/security/util/DerValue;Lsun/security/util/DerValue;)Z
-Lsun/security/util/DerValue;->init(BLjava/lang/String;)Lsun/security/util/DerInputStream;
-Lsun/security/util/DerValue;->init(ZLjava/io/InputStream;)Lsun/security/util/DerInputStream;
-Lsun/security/util/DerValue;->isPrivate()Z
-Lsun/security/util/DerValue;->length:I
-Lsun/security/util/DerValue;->originalEncodedForm:[B
-Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;
-Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;-><init>()V
-Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;->EQ:Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;
-Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;->GE:Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;
-Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;->GT:Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;
-Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;->LE:Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;
-Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;->LT:Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;
-Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;->NE:Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;
-Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;->of(Ljava/lang/String;)Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;
-Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;->valueOf(Ljava/lang/String;)Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;
-Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;->values()[Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;
-Lsun/security/util/DisabledAlgorithmConstraints$Constraint;
-Lsun/security/util/DisabledAlgorithmConstraints$Constraint;-><init>()V
-Lsun/security/util/DisabledAlgorithmConstraints$Constraint;->algorithm:Ljava/lang/String;
-Lsun/security/util/DisabledAlgorithmConstraints$Constraint;->nextConstraint:Lsun/security/util/DisabledAlgorithmConstraints$Constraint;
-Lsun/security/util/DisabledAlgorithmConstraints$Constraint;->permits(Ljava/security/Key;)Z
-Lsun/security/util/DisabledAlgorithmConstraints$Constraint;->permits(Lsun/security/util/CertConstraintParameters;)V
-Lsun/security/util/DisabledAlgorithmConstraints$Constraints;
-Lsun/security/util/DisabledAlgorithmConstraints$Constraints;-><init>([Ljava/lang/String;)V
-Lsun/security/util/DisabledAlgorithmConstraints$Constraints;->constraintsMap:Ljava/util/Map;
-Lsun/security/util/DisabledAlgorithmConstraints$Constraints;->getConstraints(Ljava/lang/String;)Ljava/util/Set;
-Lsun/security/util/DisabledAlgorithmConstraints$Constraints;->keySizePattern:Ljava/util/regex/Pattern;
-Lsun/security/util/DisabledAlgorithmConstraints$Constraints;->permits(Ljava/security/Key;)Z
-Lsun/security/util/DisabledAlgorithmConstraints$Constraints;->permits(Lsun/security/util/CertConstraintParameters;)V
-Lsun/security/util/DisabledAlgorithmConstraints$jdkCAConstraint;
-Lsun/security/util/DisabledAlgorithmConstraints$jdkCAConstraint;-><init>(Ljava/lang/String;)V
-Lsun/security/util/DisabledAlgorithmConstraints$jdkCAConstraint;->permits(Lsun/security/util/CertConstraintParameters;)V
-Lsun/security/util/DisabledAlgorithmConstraints$KeySizeConstraint;
-Lsun/security/util/DisabledAlgorithmConstraints$KeySizeConstraint;-><init>(Ljava/lang/String;Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;I)V
-Lsun/security/util/DisabledAlgorithmConstraints$KeySizeConstraint;->maxSize:I
-Lsun/security/util/DisabledAlgorithmConstraints$KeySizeConstraint;->minSize:I
-Lsun/security/util/DisabledAlgorithmConstraints$KeySizeConstraint;->permits(Ljava/security/Key;)Z
-Lsun/security/util/DisabledAlgorithmConstraints$KeySizeConstraint;->permits(Lsun/security/util/CertConstraintParameters;)V
-Lsun/security/util/DisabledAlgorithmConstraints$KeySizeConstraint;->permitsImpl(Ljava/security/Key;)Z
-Lsun/security/util/DisabledAlgorithmConstraints$KeySizeConstraint;->prohibitedSize:I
-Lsun/security/util/DisabledAlgorithmConstraints;->algorithmConstraints:Lsun/security/util/DisabledAlgorithmConstraints$Constraints;
-Lsun/security/util/DisabledAlgorithmConstraints;->checkConstraints(Ljava/util/Set;Ljava/lang/String;Ljava/security/Key;Ljava/security/AlgorithmParameters;)Z
-Lsun/security/util/DisabledAlgorithmConstraints;->checkConstraints(Ljava/util/Set;Lsun/security/util/CertConstraintParameters;)V
-Lsun/security/util/DisabledAlgorithmConstraints;->debug:Lsun/security/util/Debug;
-Lsun/security/util/DisabledAlgorithmConstraints;->disabledAlgorithms:[Ljava/lang/String;
-Lsun/security/util/ManifestDigester$Entry;->doOldStyle(Ljava/security/MessageDigest;[BII)V
-Lsun/security/util/ManifestDigester$Entry;->length:I
-Lsun/security/util/ManifestDigester$Entry;->lengthWithBlankLine:I
-Lsun/security/util/ManifestDigester$Entry;->offset:I
-Lsun/security/util/ManifestDigester$Entry;->oldStyle:Z
-Lsun/security/util/ManifestDigester$Entry;->rawBytes:[B
-Lsun/security/util/ManifestDigester$Position;
-Lsun/security/util/ManifestDigester$Position;-><init>()V
-Lsun/security/util/ManifestDigester$Position;->endOfFirstLine:I
-Lsun/security/util/ManifestDigester$Position;->endOfSection:I
-Lsun/security/util/ManifestDigester$Position;->startOfNext:I
-Lsun/security/util/ManifestDigester;->entries:Ljava/util/HashMap;
-Lsun/security/util/ManifestDigester;->findSection(ILsun/security/util/ManifestDigester$Position;)Z
-Lsun/security/util/ManifestDigester;->isNameAttr([BI)Z
-Lsun/security/util/ManifestDigester;->rawBytes:[B
-Lsun/security/util/ManifestEntryVerifier$SunProviderHolder;
-Lsun/security/util/ManifestEntryVerifier$SunProviderHolder;-><init>()V
-Lsun/security/util/ManifestEntryVerifier$SunProviderHolder;->instance:Ljava/security/Provider;
-Lsun/security/util/ManifestEntryVerifier;->createdDigests:Ljava/util/HashMap;
-Lsun/security/util/ManifestEntryVerifier;->debug:Lsun/security/util/Debug;
-Lsun/security/util/ManifestEntryVerifier;->digests:Ljava/util/ArrayList;
-Lsun/security/util/ManifestEntryVerifier;->entry:Ljava/util/jar/JarEntry;
-Lsun/security/util/ManifestEntryVerifier;->hexc:[C
-Lsun/security/util/ManifestEntryVerifier;->man:Ljava/util/jar/Manifest;
-Lsun/security/util/ManifestEntryVerifier;->manifestHashes:Ljava/util/ArrayList;
-Lsun/security/util/ManifestEntryVerifier;->name:Ljava/lang/String;
-Lsun/security/util/ManifestEntryVerifier;->signers:[Ljava/security/CodeSigner;
-Lsun/security/util/ManifestEntryVerifier;->skip:Z
-Lsun/security/util/ManifestEntryVerifier;->toHex([B)Ljava/lang/String;
-Lsun/security/util/ObjectIdentifier$HugeOidNotSupportedByOldJDK;
-Lsun/security/util/ObjectIdentifier$HugeOidNotSupportedByOldJDK;-><init>()V
-Lsun/security/util/ObjectIdentifier$HugeOidNotSupportedByOldJDK;->theOne:Lsun/security/util/ObjectIdentifier$HugeOidNotSupportedByOldJDK;
-Lsun/security/util/ObjectIdentifier;-><init>(Lsun/security/util/DerInputBuffer;)V
-Lsun/security/util/ObjectIdentifier;->check([B)V
-Lsun/security/util/ObjectIdentifier;->checkCount(I)V
-Lsun/security/util/ObjectIdentifier;->checkFirstComponent(I)V
-Lsun/security/util/ObjectIdentifier;->checkFirstComponent(Ljava/math/BigInteger;)V
-Lsun/security/util/ObjectIdentifier;->checkOtherComponent(II)V
-Lsun/security/util/ObjectIdentifier;->checkOtherComponent(ILjava/math/BigInteger;)V
-Lsun/security/util/ObjectIdentifier;->checkSecondComponent(II)V
-Lsun/security/util/ObjectIdentifier;->checkSecondComponent(ILjava/math/BigInteger;)V
-Lsun/security/util/ObjectIdentifier;->componentLen:I
-Lsun/security/util/ObjectIdentifier;->components:Ljava/lang/Object;
-Lsun/security/util/ObjectIdentifier;->componentsCalculated:Z
-Lsun/security/util/ObjectIdentifier;->encode(Lsun/security/util/DerOutputStream;)V
-Lsun/security/util/ObjectIdentifier;->encoding:[B
-Lsun/security/util/ObjectIdentifier;->init([II)V
-Lsun/security/util/ObjectIdentifier;->pack([BIIII)[B
-Lsun/security/util/ObjectIdentifier;->pack7Oid(I[BI)I
-Lsun/security/util/ObjectIdentifier;->pack7Oid(Ljava/math/BigInteger;[BI)I
-Lsun/security/util/ObjectIdentifier;->pack7Oid([BII[BI)I
-Lsun/security/util/ObjectIdentifier;->pack8([BII[BI)I
-Lsun/security/util/ObjectIdentifier;->stringForm:Ljava/lang/String;
-Lsun/security/util/SignatureFileVerifier;->ATTR_DIGEST:Ljava/lang/String;
-Lsun/security/util/SignatureFileVerifier;->block:Lsun/security/pkcs/PKCS7;
-Lsun/security/util/SignatureFileVerifier;->certificateFactory:Ljava/security/cert/CertificateFactory;
-Lsun/security/util/SignatureFileVerifier;->contains([Ljava/security/CodeSigner;Ljava/security/CodeSigner;)Z
-Lsun/security/util/SignatureFileVerifier;->createdDigests:Ljava/util/HashMap;
-Lsun/security/util/SignatureFileVerifier;->debug:Lsun/security/util/Debug;
-Lsun/security/util/SignatureFileVerifier;->DIGEST_PRIMITIVE_SET:Ljava/util/Set;
-Lsun/security/util/SignatureFileVerifier;->getDigest(Ljava/lang/String;)Ljava/security/MessageDigest;
-Lsun/security/util/SignatureFileVerifier;->getSigners([Lsun/security/pkcs/SignerInfo;Lsun/security/pkcs/PKCS7;)[Ljava/security/CodeSigner;
-Lsun/security/util/SignatureFileVerifier;->hexc:[C
-Lsun/security/util/SignatureFileVerifier;->isSubSet([Ljava/security/CodeSigner;[Ljava/security/CodeSigner;)Z
-Lsun/security/util/SignatureFileVerifier;->JAR_DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
-Lsun/security/util/SignatureFileVerifier;->matches([Ljava/security/CodeSigner;[Ljava/security/CodeSigner;[Ljava/security/CodeSigner;)Z
-Lsun/security/util/SignatureFileVerifier;->md:Lsun/security/util/ManifestDigester;
-Lsun/security/util/SignatureFileVerifier;->name:Ljava/lang/String;
-Lsun/security/util/SignatureFileVerifier;->processImpl(Ljava/util/Hashtable;Ljava/util/List;)V
-Lsun/security/util/SignatureFileVerifier;->sfBytes:[B
-Lsun/security/util/SignatureFileVerifier;->signerCache:Ljava/util/ArrayList;
-Lsun/security/util/SignatureFileVerifier;->toHex([B)Ljava/lang/String;
-Lsun/security/util/SignatureFileVerifier;->updateSigners([Ljava/security/CodeSigner;Ljava/util/Hashtable;Ljava/lang/String;)V
-Lsun/security/util/SignatureFileVerifier;->verifyManifestHash(Ljava/util/jar/Manifest;Lsun/security/util/ManifestDigester;Ljava/util/List;)Z
-Lsun/security/util/SignatureFileVerifier;->verifyManifestMainAttrs(Ljava/util/jar/Manifest;Lsun/security/util/ManifestDigester;)Z
-Lsun/security/util/SignatureFileVerifier;->verifySection(Ljava/util/jar/Attributes;Ljava/lang/String;Lsun/security/util/ManifestDigester;)Z
-Lsun/security/util/SignatureFileVerifier;->workaround:Z
-Lsun/security/x509/AlgorithmId;-><init>(Lsun/security/util/ObjectIdentifier;Lsun/security/util/DerValue;)V
-Lsun/security/x509/AlgorithmId;->algid:Lsun/security/util/ObjectIdentifier;
-Lsun/security/x509/AlgorithmId;->algOID(Ljava/lang/String;)Lsun/security/util/ObjectIdentifier;
-Lsun/security/x509/AlgorithmId;->algParams:Ljava/security/AlgorithmParameters;
-Lsun/security/x509/AlgorithmId;->constructedFromDer:Z
-Lsun/security/x509/AlgorithmId;->DH_data:[I
-Lsun/security/x509/AlgorithmId;->DH_PKIX_data:[I
-Lsun/security/x509/AlgorithmId;->dsaWithSHA1_PKIX_data:[I
-Lsun/security/x509/AlgorithmId;->DSA_OIW_data:[I
-Lsun/security/x509/AlgorithmId;->DSA_PKIX_data:[I
-Lsun/security/x509/AlgorithmId;->initOidTableVersion:I
-Lsun/security/x509/AlgorithmId;->md2WithRSAEncryption_data:[I
-Lsun/security/x509/AlgorithmId;->md5WithRSAEncryption_data:[I
-Lsun/security/x509/AlgorithmId;->nameTable:Ljava/util/Map;
-Lsun/security/x509/AlgorithmId;->oid([[I)Lsun/security/util/ObjectIdentifier;
-Lsun/security/x509/AlgorithmId;->oidTable:Ljava/util/Map;
-Lsun/security/x509/AlgorithmId;->reinitializeMappingTableLocked()V
-Lsun/security/x509/AlgorithmId;->RSAEncryption_data:[I
-Lsun/security/x509/AlgorithmId;->RSA_data:[I
-Lsun/security/x509/AlgorithmId;->sha1WithDSA_OIW_data:[I
-Lsun/security/x509/AlgorithmId;->sha1WithRSAEncryption_data:[I
-Lsun/security/x509/AlgorithmId;->sha1WithRSAEncryption_OIW_data:[I
-Lsun/security/x509/AlgorithmId;->sha224WithRSAEncryption_data:[I
-Lsun/security/x509/AlgorithmId;->sha256WithRSAEncryption_data:[I
-Lsun/security/x509/AlgorithmId;->sha384WithRSAEncryption_data:[I
-Lsun/security/x509/AlgorithmId;->sha512WithRSAEncryption_data:[I
-Lsun/security/x509/AlgorithmId;->shaWithDSA_OIW_data:[I
-Lsun/security/x509/AVA;-><init>(Ljava/io/Reader;)V
-Lsun/security/x509/AVA;-><init>(Ljava/io/Reader;I)V
-Lsun/security/x509/AVA;-><init>(Ljava/io/Reader;ILjava/util/Map;)V
-Lsun/security/x509/AVA;-><init>(Ljava/io/Reader;Ljava/util/Map;)V
-Lsun/security/x509/AVA;-><init>(Lsun/security/util/DerInputStream;)V
-Lsun/security/x509/AVA;-><init>(Lsun/security/util/DerValue;)V
-Lsun/security/x509/AVA;->debug:Lsun/security/util/Debug;
-Lsun/security/x509/AVA;->DEFAULT:I
-Lsun/security/x509/AVA;->escapedDefault:Ljava/lang/String;
-Lsun/security/x509/AVA;->getEmbeddedHexPair(ILjava/io/Reader;)Ljava/lang/Byte;
-Lsun/security/x509/AVA;->getEmbeddedHexString(Ljava/util/List;)Ljava/lang/String;
-Lsun/security/x509/AVA;->hexDigits:Ljava/lang/String;
-Lsun/security/x509/AVA;->isDerString(Lsun/security/util/DerValue;Z)Z
-Lsun/security/x509/AVA;->isTerminator(II)Z
-Lsun/security/x509/AVA;->oid:Lsun/security/util/ObjectIdentifier;
-Lsun/security/x509/AVA;->parseHexString(Ljava/io/Reader;I)Lsun/security/util/DerValue;
-Lsun/security/x509/AVA;->parseQuotedString(Ljava/io/Reader;Ljava/lang/StringBuilder;)Lsun/security/util/DerValue;
-Lsun/security/x509/AVA;->parseString(Ljava/io/Reader;IILjava/lang/StringBuilder;)Lsun/security/util/DerValue;
-Lsun/security/x509/AVA;->PRESERVE_OLD_DC_ENCODING:Z
-Lsun/security/x509/AVA;->readChar(Ljava/io/Reader;Ljava/lang/String;)I
-Lsun/security/x509/AVA;->RFC1779:I
-Lsun/security/x509/AVA;->RFC2253:I
-Lsun/security/x509/AVA;->specialChars1779:Ljava/lang/String;
-Lsun/security/x509/AVA;->specialChars2253:Ljava/lang/String;
-Lsun/security/x509/AVA;->specialCharsDefault:Ljava/lang/String;
-Lsun/security/x509/AVA;->toKeyword(ILjava/util/Map;)Ljava/lang/String;
-Lsun/security/x509/AVA;->toKeywordValueString(Ljava/lang/String;)Ljava/lang/String;
-Lsun/security/x509/AVA;->trailingSpace(Ljava/io/Reader;)Z
-Lsun/security/x509/AVA;->value:Lsun/security/util/DerValue;
-Lsun/security/x509/CertificatePolicyId;->id:Lsun/security/util/ObjectIdentifier;
-Lsun/security/x509/CertificatePolicySet;->ids:Ljava/util/Vector;
-Lsun/security/x509/Extension;->hashMagic:I
-Lsun/security/x509/GeneralName;->name:Lsun/security/x509/GeneralNameInterface;
-Lsun/security/x509/GeneralSubtree;->maximum:I
-Lsun/security/x509/GeneralSubtree;->minimum:I
-Lsun/security/x509/GeneralSubtree;->MIN_DEFAULT:I
-Lsun/security/x509/GeneralSubtree;->myhash:I
-Lsun/security/x509/GeneralSubtree;->name:Lsun/security/x509/GeneralName;
-Lsun/security/x509/GeneralSubtree;->TAG_MAX:B
-Lsun/security/x509/GeneralSubtree;->TAG_MIN:B
-Lsun/security/x509/GeneralSubtrees;-><init>(Lsun/security/x509/GeneralSubtrees;)V
-Lsun/security/x509/GeneralSubtrees;->createWidestSubtree(Lsun/security/x509/GeneralNameInterface;)Lsun/security/x509/GeneralSubtree;
-Lsun/security/x509/GeneralSubtrees;->getGeneralNameInterface(I)Lsun/security/x509/GeneralNameInterface;
-Lsun/security/x509/GeneralSubtrees;->getGeneralNameInterface(Lsun/security/x509/GeneralSubtree;)Lsun/security/x509/GeneralNameInterface;
-Lsun/security/x509/GeneralSubtrees;->minimize()V
-Lsun/security/x509/GeneralSubtrees;->NAME_DIFF_TYPE:I
-Lsun/security/x509/GeneralSubtrees;->NAME_MATCH:I
-Lsun/security/x509/GeneralSubtrees;->NAME_NARROWS:I
-Lsun/security/x509/GeneralSubtrees;->NAME_SAME_TYPE:I
-Lsun/security/x509/GeneralSubtrees;->NAME_WIDENS:I
-Lsun/security/x509/GeneralSubtrees;->trees:Ljava/util/List;
-Lsun/security/x509/NameConstraintsExtension;->calcMinMax()V
-Lsun/security/x509/NameConstraintsExtension;->encodeThis()V
-Lsun/security/x509/NameConstraintsExtension;->excluded:Lsun/security/x509/GeneralSubtrees;
-Lsun/security/x509/NameConstraintsExtension;->hasMax:Z
-Lsun/security/x509/NameConstraintsExtension;->hasMin:Z
-Lsun/security/x509/NameConstraintsExtension;->minMaxValid:Z
-Lsun/security/x509/NameConstraintsExtension;->permitted:Lsun/security/x509/GeneralSubtrees;
-Lsun/security/x509/NameConstraintsExtension;->TAG_EXCLUDED:B
-Lsun/security/x509/NameConstraintsExtension;->TAG_PERMITTED:B
-Lsun/security/x509/RDN;-><init>(I)V
-Lsun/security/x509/RDN;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Lsun/security/x509/RDN;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
-Lsun/security/x509/RDN;-><init>(Lsun/security/util/DerValue;)V
-Lsun/security/x509/RDN;->assertion:[Lsun/security/x509/AVA;
-Lsun/security/x509/RDN;->avaList:Ljava/util/List;
-Lsun/security/x509/RDN;->canonicalString:Ljava/lang/String;
-Lsun/security/x509/RDN;->encode(Lsun/security/util/DerOutputStream;)V
-Lsun/security/x509/RDN;->findAttribute(Lsun/security/util/ObjectIdentifier;)Lsun/security/util/DerValue;
-Lsun/security/x509/RDN;->toRFC2253StringInternal(ZLjava/util/Map;)Ljava/lang/String;
-Lsun/security/x509/X500Name;->allAvaList:Ljava/util/List;
-Lsun/security/x509/X500Name;->canonicalDn:Ljava/lang/String;
-Lsun/security/x509/X500Name;->checkNoNewLinesNorTabsAtBeginningOfDN(Ljava/lang/String;)V
-Lsun/security/x509/X500Name;->commonName_data:[I
-Lsun/security/x509/X500Name;->countQuotes(Ljava/lang/String;II)I
-Lsun/security/x509/X500Name;->countryName_data:[I
-Lsun/security/x509/X500Name;->dn:Ljava/lang/String;
-Lsun/security/x509/X500Name;->DNQUALIFIER_DATA:[I
-Lsun/security/x509/X500Name;->DOMAIN_COMPONENT_DATA:[I
-Lsun/security/x509/X500Name;->encoded:[B
-Lsun/security/x509/X500Name;->escaped(IILjava/lang/String;)Z
-Lsun/security/x509/X500Name;->findAttribute(Lsun/security/util/ObjectIdentifier;)Lsun/security/util/DerValue;
-Lsun/security/x509/X500Name;->generateDN()V
-Lsun/security/x509/X500Name;->generateRFC1779DN(Ljava/util/Map;)Ljava/lang/String;
-Lsun/security/x509/X500Name;->generateRFC2253DN(Ljava/util/Map;)Ljava/lang/String;
-Lsun/security/x509/X500Name;->GENERATIONQUALIFIER_DATA:[I
-Lsun/security/x509/X500Name;->getString(Lsun/security/util/DerValue;)Ljava/lang/String;
-Lsun/security/x509/X500Name;->GIVENNAME_DATA:[I
-Lsun/security/x509/X500Name;->INITIALS_DATA:[I
-Lsun/security/x509/X500Name;->intern(Lsun/security/util/ObjectIdentifier;)Lsun/security/util/ObjectIdentifier;
-Lsun/security/x509/X500Name;->internedOIDs:Ljava/util/Map;
-Lsun/security/x509/X500Name;->ipAddress_data:[I
-Lsun/security/x509/X500Name;->isWithinSubtree(Lsun/security/x509/X500Name;)Z
-Lsun/security/x509/X500Name;->localityName_data:[I
-Lsun/security/x509/X500Name;->names:[Lsun/security/x509/RDN;
-Lsun/security/x509/X500Name;->orgName_data:[I
-Lsun/security/x509/X500Name;->orgUnitName_data:[I
-Lsun/security/x509/X500Name;->parseDER(Lsun/security/util/DerInputStream;)V
-Lsun/security/x509/X500Name;->parseDN(Ljava/lang/String;Ljava/util/Map;)V
-Lsun/security/x509/X500Name;->parseRFC2253DN(Ljava/lang/String;)V
-Lsun/security/x509/X500Name;->principalConstructor:Ljava/lang/reflect/Constructor;
-Lsun/security/x509/X500Name;->principalField:Ljava/lang/reflect/Field;
-Lsun/security/x509/X500Name;->rdnList:Ljava/util/List;
-Lsun/security/x509/X500Name;->rfc1779Dn:Ljava/lang/String;
-Lsun/security/x509/X500Name;->rfc2253Dn:Ljava/lang/String;
-Lsun/security/x509/X500Name;->SERIALNUMBER_DATA:[I
-Lsun/security/x509/X500Name;->stateName_data:[I
-Lsun/security/x509/X500Name;->streetAddress_data:[I
-Lsun/security/x509/X500Name;->SURNAME_DATA:[I
-Lsun/security/x509/X500Name;->title_data:[I
-Lsun/security/x509/X500Name;->userid_data:[I
-Lsun/security/x509/X500Name;->x500Principal:Ljavax/security/auth/x500/X500Principal;
-Lsun/util/locale/BaseLocale$Cache;
-Lsun/util/locale/BaseLocale$Cache;-><init>()V
-Lsun/util/locale/BaseLocale$Cache;->createObject(Ljava/lang/Object;)Ljava/lang/Object;
-Lsun/util/locale/BaseLocale$Cache;->createObject(Lsun/util/locale/BaseLocale$Key;)Lsun/util/locale/BaseLocale;
-Lsun/util/locale/BaseLocale$Cache;->normalizeKey(Ljava/lang/Object;)Ljava/lang/Object;
-Lsun/util/locale/BaseLocale$Cache;->normalizeKey(Lsun/util/locale/BaseLocale$Key;)Lsun/util/locale/BaseLocale$Key;
-Lsun/util/locale/BaseLocale$Key;
-Lsun/util/locale/BaseLocale$Key;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Lsun/util/locale/BaseLocale$Key;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Lsun/util/locale/BaseLocale$Key;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
-Lsun/util/locale/BaseLocale$Key;->hash:I
-Lsun/util/locale/BaseLocale$Key;->lang:Ljava/lang/ref/SoftReference;
-Lsun/util/locale/BaseLocale$Key;->normalize(Lsun/util/locale/BaseLocale$Key;)Lsun/util/locale/BaseLocale$Key;
-Lsun/util/locale/BaseLocale$Key;->normalized:Z
-Lsun/util/locale/BaseLocale$Key;->regn:Ljava/lang/ref/SoftReference;
-Lsun/util/locale/BaseLocale$Key;->scrt:Ljava/lang/ref/SoftReference;
-Lsun/util/locale/BaseLocale$Key;->vart:Ljava/lang/ref/SoftReference;
-Lsun/util/locale/BaseLocale;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Lsun/util/locale/BaseLocale;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-Lsun/util/locale/BaseLocale;->CACHE:Lsun/util/locale/BaseLocale$Cache;
-Lsun/util/locale/BaseLocale;->hash:I
-Lsun/util/locale/BaseLocale;->language:Ljava/lang/String;
-Lsun/util/locale/BaseLocale;->region:Ljava/lang/String;
-Lsun/util/locale/BaseLocale;->script:Ljava/lang/String;
-Lsun/util/locale/BaseLocale;->variant:Ljava/lang/String;
-Lsun/util/locale/Extension;
-Lsun/util/locale/Extension;-><init>(C)V
-Lsun/util/locale/Extension;-><init>(CLjava/lang/String;)V
-Lsun/util/locale/Extension;->getID()Ljava/lang/String;
-Lsun/util/locale/Extension;->getKey()C
-Lsun/util/locale/Extension;->getValue()Ljava/lang/String;
-Lsun/util/locale/Extension;->id:Ljava/lang/String;
-Lsun/util/locale/Extension;->key:C
-Lsun/util/locale/Extension;->setValue(Ljava/lang/String;)V
-Lsun/util/locale/Extension;->value:Ljava/lang/String;
-Lsun/util/locale/InternalLocaleBuilder$CaseInsensitiveChar;
-Lsun/util/locale/InternalLocaleBuilder$CaseInsensitiveChar;-><init>(C)V
-Lsun/util/locale/InternalLocaleBuilder$CaseInsensitiveChar;-><init>(Ljava/lang/String;)V
-Lsun/util/locale/InternalLocaleBuilder$CaseInsensitiveChar;->ch:C
-Lsun/util/locale/InternalLocaleBuilder$CaseInsensitiveChar;->lowerCh:C
-Lsun/util/locale/InternalLocaleBuilder$CaseInsensitiveChar;->value()C
-Lsun/util/locale/InternalLocaleBuilder$CaseInsensitiveString;
-Lsun/util/locale/InternalLocaleBuilder$CaseInsensitiveString;-><init>(Ljava/lang/String;)V
-Lsun/util/locale/InternalLocaleBuilder$CaseInsensitiveString;->lowerStr:Ljava/lang/String;
-Lsun/util/locale/InternalLocaleBuilder$CaseInsensitiveString;->str:Ljava/lang/String;
-Lsun/util/locale/InternalLocaleBuilder$CaseInsensitiveString;->value()Ljava/lang/String;
-Lsun/util/locale/InternalLocaleBuilder;->checkVariants(Ljava/lang/String;Ljava/lang/String;)I
-Lsun/util/locale/InternalLocaleBuilder;->extensions:Ljava/util/Map;
-Lsun/util/locale/InternalLocaleBuilder;->language:Ljava/lang/String;
-Lsun/util/locale/InternalLocaleBuilder;->PRIVATEUSE_KEY:Lsun/util/locale/InternalLocaleBuilder$CaseInsensitiveChar;
-Lsun/util/locale/InternalLocaleBuilder;->region:Ljava/lang/String;
-Lsun/util/locale/InternalLocaleBuilder;->removePrivateuseVariant(Ljava/lang/String;)Ljava/lang/String;
-Lsun/util/locale/InternalLocaleBuilder;->script:Ljava/lang/String;
-Lsun/util/locale/InternalLocaleBuilder;->setExtensions(Ljava/util/List;Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder;
-Lsun/util/locale/InternalLocaleBuilder;->setUnicodeLocaleExtension(Ljava/lang/String;)V
-Lsun/util/locale/InternalLocaleBuilder;->uattributes:Ljava/util/Set;
-Lsun/util/locale/InternalLocaleBuilder;->ukeywords:Ljava/util/Map;
-Lsun/util/locale/InternalLocaleBuilder;->variant:Ljava/lang/String;
-Lsun/util/locale/LanguageTag;-><init>()V
-Lsun/util/locale/LanguageTag;->extensions:Ljava/util/List;
-Lsun/util/locale/LanguageTag;->extlangs:Ljava/util/List;
-Lsun/util/locale/LanguageTag;->GRANDFATHERED:Ljava/util/Map;
-Lsun/util/locale/LanguageTag;->language:Ljava/lang/String;
-Lsun/util/locale/LanguageTag;->parseExtensions(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z
-Lsun/util/locale/LanguageTag;->parseExtlangs(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z
-Lsun/util/locale/LanguageTag;->parseLanguage(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z
-Lsun/util/locale/LanguageTag;->parsePrivateuse(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z
-Lsun/util/locale/LanguageTag;->parseRegion(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z
-Lsun/util/locale/LanguageTag;->parseScript(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z
-Lsun/util/locale/LanguageTag;->parseVariants(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z
-Lsun/util/locale/LanguageTag;->privateuse:Ljava/lang/String;
-Lsun/util/locale/LanguageTag;->region:Ljava/lang/String;
-Lsun/util/locale/LanguageTag;->script:Ljava/lang/String;
-Lsun/util/locale/LanguageTag;->variants:Ljava/util/List;
-Lsun/util/locale/LocaleExtensions;-><init>(Ljava/lang/String;Ljava/lang/Character;Lsun/util/locale/Extension;)V
-Lsun/util/locale/LocaleExtensions;-><init>(Ljava/util/Map;Ljava/util/Set;Ljava/util/Map;)V
-Lsun/util/locale/LocaleExtensions;->extensionMap:Ljava/util/Map;
-Lsun/util/locale/LocaleExtensions;->id:Ljava/lang/String;
-Lsun/util/locale/LocaleExtensions;->toID(Ljava/util/SortedMap;)Ljava/lang/String;
-Lsun/util/locale/LocaleObjectCache$CacheEntry;
-Lsun/util/locale/LocaleObjectCache$CacheEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
-Lsun/util/locale/LocaleObjectCache$CacheEntry;->getKey()Ljava/lang/Object;
-Lsun/util/locale/LocaleObjectCache$CacheEntry;->key:Ljava/lang/Object;
-Lsun/util/locale/LocaleObjectCache;->cleanStaleEntries()V
-Lsun/util/locale/LocaleObjectCache;->map:Ljava/util/concurrent/ConcurrentMap;
-Lsun/util/locale/LocaleObjectCache;->queue:Ljava/lang/ref/ReferenceQueue;
-Lsun/util/locale/LocaleSyntaxException;->index:I
-Lsun/util/locale/ParseStatus;->errorIndex:I
-Lsun/util/locale/ParseStatus;->errorMsg:Ljava/lang/String;
-Lsun/util/locale/ParseStatus;->parseLength:I
-Lsun/util/locale/StringTokenIterator;->delimiterChar:C
-Lsun/util/locale/StringTokenIterator;->dlms:Ljava/lang/String;
-Lsun/util/locale/StringTokenIterator;->done:Z
-Lsun/util/locale/StringTokenIterator;->end:I
-Lsun/util/locale/StringTokenIterator;->nextDelimiter(I)I
-Lsun/util/locale/StringTokenIterator;->start:I
-Lsun/util/locale/StringTokenIterator;->text:Ljava/lang/String;
-Lsun/util/locale/StringTokenIterator;->token:Ljava/lang/String;
diff --git a/config/hiddenapi-light-greylist.txt b/config/hiddenapi-light-greylist.txt
index a4f13a0..ac16fd3 100644
--- a/config/hiddenapi-light-greylist.txt
+++ b/config/hiddenapi-light-greylist.txt
@@ -728,8 +728,6 @@
 Landroid/os/Environment;->buildExternalStorageAppObbDirs(Ljava/lang/String;)[Ljava/io/File;
 Landroid/os/Environment;->getDataSystemDirectory()Ljava/io/File;
 Landroid/os/Environment;->getLegacyExternalStorageObbDirectory()Ljava/io/File;
-Landroid/os/Environment;->getOemDirectory()Ljava/io/File;
-Landroid/os/Environment;->getVendorDirectory()Ljava/io/File;
 Landroid/os/Environment;->initForCurrentUser()V
 Landroid/os/Environment;->maybeTranslateEmulatedPathToInternal(Ljava/io/File;)Ljava/io/File;
 Landroid/os/Environment;->sCurrentUser:Landroid/os/Environment$UserEnvironment;
@@ -1001,8 +999,6 @@
 Landroid/os/UserHandle;->AID_CACHE_GID_START:I
 Landroid/os/UserHandle;->AID_ROOT:I
 Landroid/os/UserHandle;->AID_SHARED_GID_START:I
-Landroid/os/UserHandle;->ALL:Landroid/os/UserHandle;
-Landroid/os/UserHandle;->CURRENT:Landroid/os/UserHandle;
 Landroid/os/UserHandle;->CURRENT_OR_SELF:Landroid/os/UserHandle;
 Landroid/os/UserHandle;->ERR_GID:I
 Landroid/os/UserHandle;->formatUid(Ljava/io/PrintWriter;I)V
@@ -2080,27 +2076,20 @@
 Lcom/android/internal/telephony/ISub;->getDefaultSubId()I
 Lcom/android/internal/telephony/ISub;->setDefaultDataSubId(I)V
 Lcom/android/internal/telephony/ITelephony$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->endCall()Z
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->endCallForSubscriber(I)Z
 Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDeviceId(Ljava/lang/String;)Ljava/lang/String;
 Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isRadioOn(Ljava/lang/String;)Z
 Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->mRemote:Landroid/os/IBinder;
 Lcom/android/internal/telephony/ITelephony$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ITelephony;
 Lcom/android/internal/telephony/ITelephony$Stub;->DESCRIPTOR:Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_answerRingingCall:I
 Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_call:I
 Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_dial:I
-Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_endCall:I
 Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getDeviceId:I
-Lcom/android/internal/telephony/ITelephony;->answerRingingCall()V
 Lcom/android/internal/telephony/ITelephony;->call(Ljava/lang/String;Ljava/lang/String;)V
 Lcom/android/internal/telephony/ITelephony;->dial(Ljava/lang/String;)V
 Lcom/android/internal/telephony/ITelephony;->disableDataConnectivity()Z
 Lcom/android/internal/telephony/ITelephony;->disableLocationUpdates()V
 Lcom/android/internal/telephony/ITelephony;->enableDataConnectivity()Z
 Lcom/android/internal/telephony/ITelephony;->enableLocationUpdates()V
-Lcom/android/internal/telephony/ITelephony;->endCall()Z
-Lcom/android/internal/telephony/ITelephony;->endCallForSubscriber(I)Z
 Lcom/android/internal/telephony/ITelephony;->getActivePhoneType()I
 Lcom/android/internal/telephony/ITelephony;->getCallState()I
 Lcom/android/internal/telephony/ITelephony;->getDataActivity()I
@@ -2112,12 +2101,8 @@
 Lcom/android/internal/telephony/ITelephony;->hasIccCard()Z
 Lcom/android/internal/telephony/ITelephony;->iccCloseLogicalChannel(II)Z
 Lcom/android/internal/telephony/ITelephony;->iccTransmitApduLogicalChannel(IIIIIIILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ITelephony;->isIdle(Ljava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony;->isIdleForSubscriber(ILjava/lang/String;)Z
 Lcom/android/internal/telephony/ITelephony;->isRadioOnForSubscriber(ILjava/lang/String;)Z
-Lcom/android/internal/telephony/ITelephony;->isRinging(Ljava/lang/String;)Z
 Lcom/android/internal/telephony/ITelephony;->setRadio(Z)Z
-Lcom/android/internal/telephony/ITelephony;->silenceRinger()V
 Lcom/android/internal/telephony/ITelephony;->supplyPin(Ljava/lang/String;)Z
 Lcom/android/internal/telephony/ITelephony;->toggleRadioOnOff()V
 Lcom/android/internal/telephony/ITelephony;->updateServiceLocation()V
@@ -2138,6 +2123,7 @@
 Lcom/android/internal/telephony/SmsHeader$ConcatRef;-><init>()V
 Lcom/android/internal/telephony/SmsHeader$PortAddrs;-><init>()V
 Lcom/android/internal/telephony/SmsMessageBase;-><init>()V
+Lcom/android/internal/telephony/uicc/IccUtils;->bytesToHexString([B)Ljava/lang/String;
 Lcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 Lcom/android/internal/util/HexDump;->toHexString([BZ)Ljava/lang/String;
 Lcom/android/internal/view/BaseIWindow;-><init>()V
@@ -2226,17 +2212,11 @@
 Lcom/android/org/conscrypt/AbstractConscryptSocket;->setUseSessionTickets(Z)V
 Lcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->setHostname(Ljava/lang/String;)V
 Lcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->setUseSessionTickets(Z)V
-Lcom/android/org/conscrypt/ConscryptSocketBase;->getHostname()Ljava/lang/String;
-Lcom/android/org/conscrypt/ConscryptSocketBase;->getHostnameOrIP()Ljava/lang/String;
-Lcom/android/org/conscrypt/ConscryptSocketBase;->getSoWriteTimeout()I
-Lcom/android/org/conscrypt/ConscryptSocketBase;->setHandshakeTimeout(I)V
-Lcom/android/org/conscrypt/ConscryptSocketBase;->setHostname(Ljava/lang/String;)V
-Lcom/android/org/conscrypt/ConscryptSocketBase;->setSoWriteTimeout(I)V
-Lcom/android/org/conscrypt/ConscryptSocketBase;->socket:Ljava/net/Socket;
 Lcom/android/org/conscrypt/OpenSSLKey;-><init>(J)V
 Lcom/android/org/conscrypt/OpenSSLKey;->fromPrivateKey(Ljava/security/PrivateKey;)Lcom/android/org/conscrypt/OpenSSLKey;
 Lcom/android/org/conscrypt/OpenSSLKey;->getNativeRef()Lcom/android/org/conscrypt/NativeRef$EVP_PKEY;
 Lcom/android/org/conscrypt/OpenSSLKey;->getPublicKey()Ljava/security/PublicKey;
+Lcom/android/org/conscrypt/OpenSSLProvider;-><init>()V
 Lcom/android/org/conscrypt/OpenSSLSocketImpl;->getAlpnSelectedProtocol()[B
 Lcom/android/org/conscrypt/OpenSSLSocketImpl;->getChannelId()[B
 Lcom/android/org/conscrypt/OpenSSLSocketImpl;->getHostname()Ljava/lang/String;
@@ -2258,6 +2238,108 @@
 Lcom/android/org/conscrypt/TrustedCertificateStore;->getCertificateChain(Ljava/security/cert/X509Certificate;)Ljava/util/List;
 Lcom/android/org/conscrypt/TrustManagerImpl;-><init>(Ljava/security/KeyStore;)V
 Lcom/android/org/conscrypt/TrustManagerImpl;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
+Lcom/google/android/mms/ContentType;->getAudioTypes()Ljava/util/ArrayList;
+Lcom/google/android/mms/ContentType;->getImageTypes()Ljava/util/ArrayList;
+Lcom/google/android/mms/ContentType;->getVideoTypes()Ljava/util/ArrayList;
+Lcom/google/android/mms/ContentType;->isAudioType(Ljava/lang/String;)Z
+Lcom/google/android/mms/ContentType;->isDrmType(Ljava/lang/String;)Z
+Lcom/google/android/mms/ContentType;->isImageType(Ljava/lang/String;)Z
+Lcom/google/android/mms/ContentType;->isTextType(Ljava/lang/String;)Z
+Lcom/google/android/mms/ContentType;->isVideoType(Ljava/lang/String;)Z
+Lcom/google/android/mms/MmsException;-><init>()V
+Lcom/google/android/mms/MmsException;-><init>(Ljava/lang/String;)V
+Lcom/google/android/mms/MmsException;-><init>(Ljava/lang/Throwable;)V
+Lcom/google/android/mms/pdu/AcknowledgeInd;-><init>(I[B)V
+Lcom/google/android/mms/pdu/CharacterSets;->getMimeName(I)Ljava/lang/String;
+Lcom/google/android/mms/pdu/DeliveryInd;->getMessageId()[B
+Lcom/google/android/mms/pdu/EncodedStringValue;-><init>(I[B)V
+Lcom/google/android/mms/pdu/EncodedStringValue;-><init>(Ljava/lang/String;)V
+Lcom/google/android/mms/pdu/EncodedStringValue;-><init>([B)V
+Lcom/google/android/mms/pdu/EncodedStringValue;->concat([Lcom/google/android/mms/pdu/EncodedStringValue;)Ljava/lang/String;
+Lcom/google/android/mms/pdu/EncodedStringValue;->encodeStrings([Ljava/lang/String;)[Lcom/google/android/mms/pdu/EncodedStringValue;
+Lcom/google/android/mms/pdu/EncodedStringValue;->getString()Ljava/lang/String;
+Lcom/google/android/mms/pdu/GenericPdu;->getMessageType()I
+Lcom/google/android/mms/pdu/GenericPdu;->setFrom(Lcom/google/android/mms/pdu/EncodedStringValue;)V
+Lcom/google/android/mms/pdu/MultimediaMessagePdu;->getBody()Lcom/google/android/mms/pdu/PduBody;
+Lcom/google/android/mms/pdu/MultimediaMessagePdu;->getDate()J
+Lcom/google/android/mms/pdu/MultimediaMessagePdu;->getPriority()I
+Lcom/google/android/mms/pdu/MultimediaMessagePdu;->getSubject()Lcom/google/android/mms/pdu/EncodedStringValue;
+Lcom/google/android/mms/pdu/MultimediaMessagePdu;->getTo()[Lcom/google/android/mms/pdu/EncodedStringValue;
+Lcom/google/android/mms/pdu/MultimediaMessagePdu;->setBody(Lcom/google/android/mms/pdu/PduBody;)V
+Lcom/google/android/mms/pdu/MultimediaMessagePdu;->setDate(J)V
+Lcom/google/android/mms/pdu/MultimediaMessagePdu;->setPriority(I)V
+Lcom/google/android/mms/pdu/MultimediaMessagePdu;->setSubject(Lcom/google/android/mms/pdu/EncodedStringValue;)V
+Lcom/google/android/mms/pdu/NotificationInd;->getContentLocation()[B
+Lcom/google/android/mms/pdu/NotificationInd;->getExpiry()J
+Lcom/google/android/mms/pdu/NotificationInd;->getFrom()Lcom/google/android/mms/pdu/EncodedStringValue;
+Lcom/google/android/mms/pdu/NotificationInd;->getMessageClass()[B
+Lcom/google/android/mms/pdu/NotificationInd;->getMessageSize()J
+Lcom/google/android/mms/pdu/NotificationInd;->getSubject()Lcom/google/android/mms/pdu/EncodedStringValue;
+Lcom/google/android/mms/pdu/NotificationInd;->getTransactionId()[B
+Lcom/google/android/mms/pdu/NotificationInd;->setContentLocation([B)V
+Lcom/google/android/mms/pdu/NotifyRespInd;-><init>(I[BI)V
+Lcom/google/android/mms/pdu/PduBody;-><init>()V
+Lcom/google/android/mms/pdu/PduBody;->addPart(ILcom/google/android/mms/pdu/PduPart;)V
+Lcom/google/android/mms/pdu/PduBody;->addPart(Lcom/google/android/mms/pdu/PduPart;)Z
+Lcom/google/android/mms/pdu/PduBody;->getPart(I)Lcom/google/android/mms/pdu/PduPart;
+Lcom/google/android/mms/pdu/PduBody;->getPartByContentId(Ljava/lang/String;)Lcom/google/android/mms/pdu/PduPart;
+Lcom/google/android/mms/pdu/PduBody;->getPartByContentLocation(Ljava/lang/String;)Lcom/google/android/mms/pdu/PduPart;
+Lcom/google/android/mms/pdu/PduBody;->getPartByFileName(Ljava/lang/String;)Lcom/google/android/mms/pdu/PduPart;
+Lcom/google/android/mms/pdu/PduBody;->getPartByName(Ljava/lang/String;)Lcom/google/android/mms/pdu/PduPart;
+Lcom/google/android/mms/pdu/PduBody;->getPartsNum()I
+Lcom/google/android/mms/pdu/PduComposer;-><init>(Landroid/content/Context;Lcom/google/android/mms/pdu/GenericPdu;)V
+Lcom/google/android/mms/pdu/PduComposer;->make()[B
+Lcom/google/android/mms/pdu/PduParser;->parse()Lcom/google/android/mms/pdu/GenericPdu;
+Lcom/google/android/mms/pdu/PduPart;-><init>()V
+Lcom/google/android/mms/pdu/PduPart;->generateLocation()Ljava/lang/String;
+Lcom/google/android/mms/pdu/PduPart;->getCharset()I
+Lcom/google/android/mms/pdu/PduPart;->getContentLocation()[B
+Lcom/google/android/mms/pdu/PduPart;->getContentType()[B
+Lcom/google/android/mms/pdu/PduPart;->getData()[B
+Lcom/google/android/mms/pdu/PduPart;->getDataUri()Landroid/net/Uri;
+Lcom/google/android/mms/pdu/PduPart;->getFilename()[B
+Lcom/google/android/mms/pdu/PduPart;->getName()[B
+Lcom/google/android/mms/pdu/PduPart;->setCharset(I)V
+Lcom/google/android/mms/pdu/PduPart;->setContentId([B)V
+Lcom/google/android/mms/pdu/PduPart;->setContentLocation([B)V
+Lcom/google/android/mms/pdu/PduPart;->setContentType([B)V
+Lcom/google/android/mms/pdu/PduPart;->setData([B)V
+Lcom/google/android/mms/pdu/PduPart;->setDataUri(Landroid/net/Uri;)V
+Lcom/google/android/mms/pdu/PduPersister;->getBytes(Ljava/lang/String;)[B
+Lcom/google/android/mms/pdu/PduPersister;->getPduPersister(Landroid/content/Context;)Lcom/google/android/mms/pdu/PduPersister;
+Lcom/google/android/mms/pdu/PduPersister;->getPendingMessages(J)Landroid/database/Cursor;
+Lcom/google/android/mms/pdu/PduPersister;->load(Landroid/net/Uri;)Lcom/google/android/mms/pdu/GenericPdu;
+Lcom/google/android/mms/pdu/PduPersister;->move(Landroid/net/Uri;Landroid/net/Uri;)Landroid/net/Uri;
+Lcom/google/android/mms/pdu/PduPersister;->persist(Lcom/google/android/mms/pdu/GenericPdu;Landroid/net/Uri;ZZLjava/util/HashMap;)Landroid/net/Uri;
+Lcom/google/android/mms/pdu/PduPersister;->persistPart(Lcom/google/android/mms/pdu/PduPart;JLjava/util/HashMap;)Landroid/net/Uri;
+Lcom/google/android/mms/pdu/PduPersister;->toIsoString([B)Ljava/lang/String;
+Lcom/google/android/mms/pdu/PduPersister;->updateHeaders(Landroid/net/Uri;Lcom/google/android/mms/pdu/SendReq;)V
+Lcom/google/android/mms/pdu/PduPersister;->updateParts(Landroid/net/Uri;Lcom/google/android/mms/pdu/PduBody;Ljava/util/HashMap;)V
+Lcom/google/android/mms/pdu/ReadOrigInd;->getMessageId()[B
+Lcom/google/android/mms/pdu/ReadRecInd;-><init>(Lcom/google/android/mms/pdu/EncodedStringValue;[BII[Lcom/google/android/mms/pdu/EncodedStringValue;)V
+Lcom/google/android/mms/pdu/ReadRecInd;->setDate(J)V
+Lcom/google/android/mms/pdu/RetrieveConf;->getFrom()Lcom/google/android/mms/pdu/EncodedStringValue;
+Lcom/google/android/mms/pdu/RetrieveConf;->getMessageId()[B
+Lcom/google/android/mms/pdu/RetrieveConf;->getTransactionId()[B
+Lcom/google/android/mms/pdu/SendConf;->getMessageId()[B
+Lcom/google/android/mms/pdu/SendConf;->getResponseStatus()I
+Lcom/google/android/mms/pdu/SendConf;->getTransactionId()[B
+Lcom/google/android/mms/pdu/SendReq;-><init>()V
+Lcom/google/android/mms/pdu/SendReq;->getBcc()[Lcom/google/android/mms/pdu/EncodedStringValue;
+Lcom/google/android/mms/pdu/SendReq;->getTransactionId()[B
+Lcom/google/android/mms/pdu/SendReq;->setDeliveryReport(I)V
+Lcom/google/android/mms/pdu/SendReq;->setExpiry(J)V
+Lcom/google/android/mms/pdu/SendReq;->setMessageClass([B)V
+Lcom/google/android/mms/pdu/SendReq;->setMessageSize(J)V
+Lcom/google/android/mms/pdu/SendReq;->setReadReport(I)V
+Lcom/google/android/mms/pdu/SendReq;->setTo([Lcom/google/android/mms/pdu/EncodedStringValue;)V
+Lcom/google/android/mms/util/AbstractCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
+Lcom/google/android/mms/util/PduCache;->getInstance()Lcom/google/android/mms/util/PduCache;
+Lcom/google/android/mms/util/PduCache;->isUpdating(Landroid/net/Uri;)Z
+Lcom/google/android/mms/util/PduCache;->purge(Landroid/net/Uri;)Lcom/google/android/mms/util/PduCacheEntry;
+Lcom/google/android/mms/util/PduCache;->purgeAll()V
+Lcom/google/android/mms/util/PduCacheEntry;->getPdu()Lcom/google/android/mms/pdu/GenericPdu;
+Lcom/google/android/mms/util/SqliteWrapper;->insert(Landroid/content/Context;Landroid/content/ContentResolver;Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
 Ldalvik/system/BaseDexClassLoader;-><init>(Ljava/lang/String;Ljava/io/File;Ljava/lang/String;Ljava/lang/ClassLoader;Z)V
 Ldalvik/system/BaseDexClassLoader;->addDexPath(Ljava/lang/String;)V
 Ldalvik/system/BaseDexClassLoader;->addDexPath(Ljava/lang/String;Z)V
@@ -2564,6 +2646,7 @@
 Ljava/net/SocketException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
 Ljava/net/SocketImpl;->serverSocket:Ljava/net/ServerSocket;
 Ljava/net/SocketImpl;->socket:Ljava/net/Socket;
+Ljava/net/SocksSocketImpl;-><init>()V
 Ljava/net/URI;->fragment:Ljava/lang/String;
 Ljava/net/URI;->host:Ljava/lang/String;
 Ljava/net/URI;->port:I
diff --git a/config/preloaded-classes b/config/preloaded-classes
index 63c583f..56ca98f 100644
--- a/config/preloaded-classes
+++ b/config/preloaded-classes
@@ -1022,6 +1022,7 @@
 android.graphics.-$$Lambda$ColorSpace$Rgb$bWzafC8vMHNuVmRuTUPEFUMlfuY
 android.graphics.-$$Lambda$ColorSpace$S2rlqJvkXGTpUF6mZhvkElds8JE
 android.graphics.BaseCanvas
+android.graphics.BaseRecordingCanvas
 android.graphics.Bitmap
 android.graphics.Bitmap$1
 android.graphics.Bitmap$2
@@ -2381,7 +2382,6 @@
 android.os.-$$Lambda$StrictMode$yZJXPvy2veRNA-xL_SWdXzX_OLg
 android.os.-$$Lambda$Trace$2zLZ-Lc2kAXsVjw_nLYeNhqmGq0
 android.os.AsyncResult
-android.os.AsyncTask
 android.os.AsyncTask$1
 android.os.AsyncTask$2
 android.os.AsyncTask$3
@@ -3304,7 +3304,6 @@
 android.view.OrientationEventListener$SensorEventListenerImpl
 android.view.PointerIcon
 android.view.PointerIcon$1
-android.view.RecordingCanvas
 android.view.RenderNode
 android.view.RenderNode$NoImagePreloadHolder
 android.view.RenderNodeAnimator
diff --git a/config/preloaded-classes-blacklist b/config/preloaded-classes-blacklist
index 8b8d640..eca3bf3 100644
--- a/config/preloaded-classes-blacklist
+++ b/config/preloaded-classes-blacklist
@@ -1,4 +1,5 @@
 android.net.ConnectivityThread$Singleton
+android.os.AsyncTask
 android.os.FileObserver
 android.widget.Magnifier
 sun.nio.fs.UnixChannelFactory
diff --git a/core/java/android/accessibilityservice/AccessibilityService.java b/core/java/android/accessibilityservice/AccessibilityService.java
index 446e6cc..f2ad268 100644
--- a/core/java/android/accessibilityservice/AccessibilityService.java
+++ b/core/java/android/accessibilityservice/AccessibilityService.java
@@ -27,6 +27,7 @@
 import android.content.Intent;
 import android.content.pm.ParceledListSlice;
 import android.graphics.Region;
+import android.os.Build;
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.Looper;
@@ -73,7 +74,7 @@
  * follows the established service life cycle. Starting an accessibility service is triggered
  * exclusively by the user explicitly turning the service on in device settings. After the system
  * binds to a service, it calls {@link AccessibilityService#onServiceConnected()}. This method can
- * be overriden by clients that want to perform post binding setup.
+ * be overridden by clients that want to perform post binding setup.
  * </p>
  * <p>
  * An accessibility service stops either when the user turns it off in device settings or when
@@ -446,7 +447,7 @@
     @UnsupportedAppUsage
     private AccessibilityServiceInfo mInfo;
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private IBinder mWindowToken;
 
     private WindowManager mWindowManager;
diff --git a/core/java/android/accessibilityservice/AccessibilityServiceInfo.java b/core/java/android/accessibilityservice/AccessibilityServiceInfo.java
index f0a0e88..aa0275a 100644
--- a/core/java/android/accessibilityservice/AccessibilityServiceInfo.java
+++ b/core/java/android/accessibilityservice/AccessibilityServiceInfo.java
@@ -76,6 +76,7 @@
  * @attr ref android.R.styleable#AccessibilityService_notificationTimeout
  * @attr ref android.R.styleable#AccessibilityService_packageNames
  * @attr ref android.R.styleable#AccessibilityService_settingsActivity
+ * @attr ref android.R.styleable#AccessibilityService_minimumUiTimeout
  * @see AccessibilityService
  * @see android.view.accessibility.AccessibilityEvent
  * @see android.view.accessibility.AccessibilityManager
@@ -313,6 +314,12 @@
      */
     public static final int FLAG_REQUEST_FINGERPRINT_GESTURES = 0x00000200;
 
+    /**
+     * This flag requests that accessibility shortcut warning dialog has spoken feedback when
+     * dialog is shown.
+     */
+    public static final int FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK = 0x00000400;
+
     /** {@hide} */
     public static final int FLAG_FORCE_DIRECT_BOOT_AWARE = 0x00010000;
 
@@ -413,6 +420,7 @@
      * @see #FLAG_RETRIEVE_INTERACTIVE_WINDOWS
      * @see #FLAG_ENABLE_ACCESSIBILITY_VOLUME
      * @see #FLAG_REQUEST_ACCESSIBILITY_BUTTON
+     * @see #FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK
      */
     public int flags;
 
@@ -426,6 +434,13 @@
     public boolean crashed;
 
     /**
+     * The minimum timeout in milliseconds that UI controls need to remain on the screen.
+     *
+     * @see #setMinimumUiTimeoutMillis
+     */
+    private int mMinimumUiTimeout;
+
+    /**
      * The component name the accessibility service.
      */
     private ComponentName mComponentName;
@@ -529,6 +544,9 @@
             notificationTimeout = asAttributes.getInt(
                     com.android.internal.R.styleable.AccessibilityService_notificationTimeout,
                     0);
+            mMinimumUiTimeout = asAttributes.getInt(
+                    com.android.internal.R.styleable.AccessibilityService_minimumUiTimeout,
+                    0);
             flags = asAttributes.getInt(
                     com.android.internal.R.styleable.AccessibilityService_accessibilityFlags, 0);
             mSettingsActivityName = asAttributes.getString(
@@ -598,6 +616,7 @@
         packageNames = other.packageNames;
         feedbackType = other.feedbackType;
         notificationTimeout = other.notificationTimeout;
+        mMinimumUiTimeout = other.mMinimumUiTimeout;
         flags = other.flags;
     }
 
@@ -755,6 +774,29 @@
         return null;
     }
 
+    /**
+     * Set the minimum time that controls need to remain on the screen to support the user.
+     * <p>
+     *    <strong>This value can be dynamically set at runtime by
+     *    {@link AccessibilityService#setServiceInfo(AccessibilityServiceInfo)}.</strong>
+     * </p>
+     *
+     * @param timeout The timeout in milliseconds.
+     */
+    public void setMinimumUiTimeoutMillis(int timeout) {
+        mMinimumUiTimeout = timeout;
+    }
+
+    /**
+     * Get the minimum ui timeout.
+     *
+     * @see #setMinimumUiTimeoutMillis
+     * @return The timeout in milliseconds.
+     */
+    public int getMinimumUiTimeoutMillis() {
+        return mMinimumUiTimeout;
+    }
+
     /** {@hide} */
     public boolean isDirectBootAware() {
         return ((flags & FLAG_FORCE_DIRECT_BOOT_AWARE) != 0)
@@ -773,6 +815,7 @@
         parcel.writeStringArray(packageNames);
         parcel.writeInt(feedbackType);
         parcel.writeLong(notificationTimeout);
+        parcel.writeInt(mMinimumUiTimeout);
         parcel.writeInt(flags);
         parcel.writeInt(crashed ? 1 : 0);
         parcel.writeParcelable(mComponentName, flagz);
@@ -790,6 +833,7 @@
         packageNames = parcel.readStringArray();
         feedbackType = parcel.readInt();
         notificationTimeout = parcel.readLong();
+        mMinimumUiTimeout = parcel.readInt();
         flags = parcel.readInt();
         crashed = parcel.readInt() != 0;
         mComponentName = parcel.readParcelable(this.getClass().getClassLoader());
@@ -840,6 +884,8 @@
         stringBuilder.append(", ");
         stringBuilder.append("notificationTimeout: ").append(notificationTimeout);
         stringBuilder.append(", ");
+        stringBuilder.append("minimumUiTimeout: ").append(mMinimumUiTimeout);
+        stringBuilder.append(", ");
         appendFlags(stringBuilder, flags);
         stringBuilder.append(", ");
         stringBuilder.append("id: ").append(getId());
@@ -1011,6 +1057,8 @@
                 return "FLAG_REQUEST_ACCESSIBILITY_BUTTON";
             case FLAG_REQUEST_FINGERPRINT_GESTURES:
                 return "FLAG_REQUEST_FINGERPRINT_GESTURES";
+            case FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK:
+                return "FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK";
             default:
                 return null;
         }
diff --git a/core/java/android/accounts/Account.java b/core/java/android/accounts/Account.java
index f07f5ec..d3b2238 100644
--- a/core/java/android/accounts/Account.java
+++ b/core/java/android/accounts/Account.java
@@ -20,13 +20,14 @@
 import android.annotation.Nullable;
 import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
-import android.os.Parcelable;
 import android.os.Parcel;
+import android.os.Parcelable;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.text.TextUtils;
 import android.util.ArraySet;
 import android.util.Log;
+
 import com.android.internal.annotations.GuardedBy;
 
 import java.util.Set;
@@ -45,6 +46,7 @@
 
     public final String name;
     public final String type;
+    private String mSafeName;
     @UnsupportedAppUsage
     private final @Nullable String accessId;
 
@@ -135,4 +137,37 @@
     public String toString() {
         return "Account {name=" + name + ", type=" + type + "}";
     }
+
+    /**
+     * Return a string representation of the account that is safe to print
+     * to logs and other places where PII should be avoided.
+     * @hide
+     */
+    public String toSafeString() {
+        if (mSafeName == null) {
+            mSafeName = toSafeName(name, 'x');
+        }
+        return "Account {name=" + mSafeName + ", type=" + type + "}";
+    }
+
+    /**
+     * Given a name, replace all letter or digits with the replacement char.
+     * @param name The input name string.
+     * @param replacement the replacement character.
+     * @return the string after replacement.
+     * @hide
+     */
+    public static String toSafeName(String name, char replacement) {
+        final StringBuilder builder = new StringBuilder(64);
+        final int len = name.length();
+        for (int i = 0; i < len; i++) {
+            final char c = name.charAt(i);
+            if (Character.isLetterOrDigit(c)) {
+                builder.append(replacement);
+            } else {
+                builder.append(c);
+            }
+        }
+        return builder.toString();
+    }
 }
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java
index bf2d860..482ef2d 100644
--- a/core/java/android/app/Activity.java
+++ b/core/java/android/app/Activity.java
@@ -394,7 +394,7 @@
  *         <td>The final call you receive before your
  *             activity is destroyed.  This can happen either because the
  *             activity is finishing (someone called {@link Activity#finish} on
- *             it, or because the system is temporarily destroying this
+ *             it), or because the system is temporarily destroying this
  *             instance of the activity to save space.  You can distinguish
  *             between these two scenarios with the {@link
  *             Activity#isFinishing} method.</td>
@@ -545,12 +545,12 @@
  * <a name="SavingPersistentState"></a>
  * <h3>Saving Persistent State</h3>
  *
- * <p>There are generally two kinds of persistent state than an activity
+ * <p>There are generally two kinds of persistent state that an activity
  * will deal with: shared document-like data (typically stored in a SQLite
  * database using a {@linkplain android.content.ContentProvider content provider})
  * and internal state such as user preferences.</p>
  *
- * <p>For content provider data, we suggest that activities use a
+ * <p>For content provider data, we suggest that activities use an
  * "edit in place" user model.  That is, any edits a user makes are effectively
  * made immediately without requiring an additional confirmation step.
  * Supporting this model is generally a simple matter of following two rules:</p>
@@ -847,7 +847,7 @@
     /*package*/ ActionBar mActionBar = null;
     private boolean mEnableDefaultActionBarUp;
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private VoiceInteractor mVoiceInteractor;
 
     @UnsupportedAppUsage
@@ -1383,6 +1383,7 @@
         if (DEBUG_LIFECYCLE) Slog.v(TAG, "onResume " + this);
         getApplication().dispatchActivityResumed(this);
         mActivityTransitionState.onResume(this, isTopOfTask());
+        enableAutofillCompatibilityIfNeeded();
         if (mAutoFillResetNeeded) {
             if (!mAutoFillIgnoreFirstResumePause) {
                 View focus = getCurrentFocus();
@@ -1587,11 +1588,13 @@
      * @param outState The bundle to save the state to.
      */
     final void performSaveInstanceState(@NonNull Bundle outState) {
+        getApplication().dispatchActivityPreSaveInstanceState(this, outState);
         onSaveInstanceState(outState);
         saveManagedDialogs(outState);
         mActivityTransitionState.saveState(outState);
         storeHasCurrentPermissionRequest(outState);
         if (DEBUG_LIFECYCLE) Slog.v(TAG, "onSaveInstanceState " + this + ": " + outState);
+        getApplication().dispatchActivityPostSaveInstanceState(this, outState);
     }
 
     /**
@@ -1605,11 +1608,13 @@
      */
     final void performSaveInstanceState(@NonNull Bundle outState,
             @NonNull PersistableBundle outPersistentState) {
+        getApplication().dispatchActivityPreSaveInstanceState(this, outState);
         onSaveInstanceState(outState, outPersistentState);
         saveManagedDialogs(outState);
         storeHasCurrentPermissionRequest(outState);
         if (DEBUG_LIFECYCLE) Slog.v(TAG, "onSaveInstanceState " + this + ": " + outState +
                 ", " + outPersistentState);
+        getApplication().dispatchActivityPostSaveInstanceState(this, outState);
     }
 
     /**
@@ -1980,7 +1985,7 @@
     /**
      * Perform any final cleanup before an activity is destroyed.  This can
      * happen either because the activity is finishing (someone called
-     * {@link #finish} on it, or because the system is temporarily destroying
+     * {@link #finish} on it), or because the system is temporarily destroying
      * this instance of the activity to save space.  You can distinguish
      * between these two scenarios with the {@link #isFinishing} method.
      *
@@ -2310,7 +2315,7 @@
      *
      * @param newConfig The new device configuration.
      */
-    public void onConfigurationChanged(Configuration newConfig) {
+    public void onConfigurationChanged(@NonNull Configuration newConfig) {
         if (DEBUG_LIFECYCLE) Slog.v(TAG, "onConfigurationChanged " + this + ": " + newConfig);
         mCalled = true;
 
@@ -3523,7 +3528,7 @@
      * {@link android.view.Window#FEATURE_OPTIONS_PANEL} panel,
      * so that subclasses of Activity don't need to deal with feature codes.
      */
-    public boolean onCreatePanelMenu(int featureId, Menu menu) {
+    public boolean onCreatePanelMenu(int featureId, @NonNull Menu menu) {
         if (featureId == Window.FEATURE_OPTIONS_PANEL) {
             boolean show = onCreateOptionsMenu(menu);
             show |= mFragments.dispatchCreateOptionsMenu(menu, getMenuInflater());
@@ -3541,8 +3546,8 @@
      * panel, so that subclasses of
      * Activity don't need to deal with feature codes.
      */
-    public boolean onPreparePanel(int featureId, View view, Menu menu) {
-        if (featureId == Window.FEATURE_OPTIONS_PANEL && menu != null) {
+    public boolean onPreparePanel(int featureId, @Nullable View view, @NonNull Menu menu) {
+        if (featureId == Window.FEATURE_OPTIONS_PANEL) {
             boolean goforit = onPrepareOptionsMenu(menu);
             goforit |= mFragments.dispatchPrepareOptionsMenu(menu);
             return goforit;
@@ -3555,7 +3560,8 @@
      *
      * @return The default implementation returns true.
      */
-    public boolean onMenuOpened(int featureId, Menu menu) {
+    @Override
+    public boolean onMenuOpened(int featureId, @NonNull Menu menu) {
         if (featureId == Window.FEATURE_ACTION_BAR) {
             initWindowDecorActionBar();
             if (mActionBar != null) {
@@ -3576,7 +3582,7 @@
      * panel, so that subclasses of
      * Activity don't need to deal with feature codes.
      */
-    public boolean onMenuItemSelected(int featureId, MenuItem item) {
+    public boolean onMenuItemSelected(int featureId, @NonNull MenuItem item) {
         CharSequence titleCondensed = item.getTitleCondensed();
 
         switch (featureId) {
@@ -3626,7 +3632,7 @@
      * For context menus ({@link Window#FEATURE_CONTEXT_MENU}), the
      * {@link #onContextMenuClosed(Menu)} will be called.
      */
-    public void onPanelClosed(int featureId, Menu menu) {
+    public void onPanelClosed(int featureId, @NonNull Menu menu) {
         switch (featureId) {
             case Window.FEATURE_OPTIONS_PANEL:
                 mFragments.dispatchOptionsMenuClosed(menu);
@@ -3734,7 +3740,7 @@
      *
      * @see #onCreateOptionsMenu
      */
-    public boolean onOptionsItemSelected(MenuItem item) {
+    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
         if (mParent != null) {
             return mParent.onOptionsItemSelected(item);
         }
@@ -3958,7 +3964,7 @@
      * @return boolean Return false to allow normal context menu processing to
      *         proceed, true to consume it here.
      */
-    public boolean onContextItemSelected(MenuItem item) {
+    public boolean onContextItemSelected(@NonNull MenuItem item) {
         if (mParent != null) {
             return mParent.onContextItemSelected(item);
         }
@@ -3972,7 +3978,7 @@
      *
      * @param menu The context menu that is being closed.
      */
-    public void onContextMenuClosed(Menu menu) {
+    public void onContextMenuClosed(@NonNull Menu menu) {
         if (mParent != null) {
             mParent.onContextMenuClosed(menu);
         }
@@ -6350,7 +6356,8 @@
      * @see android.view.Window#getLayoutInflater
      */
     @Nullable
-    public View onCreateView(String name, Context context, AttributeSet attrs) {
+    public View onCreateView(@NonNull String name, @NonNull Context context,
+            @NonNull AttributeSet attrs) {
         return null;
     }
 
@@ -6364,7 +6371,9 @@
      * @see android.view.LayoutInflater#createView
      * @see android.view.Window#getLayoutInflater
      */
-    public View onCreateView(View parent, String name, Context context, AttributeSet attrs) {
+    @Nullable
+    public View onCreateView(@Nullable View parent, @NonNull String name,
+            @NonNull Context context, @NonNull AttributeSet attrs) {
         if (!"fragment".equals(name)) {
             return onCreateView(name, context, attrs);
         }
@@ -6382,11 +6391,13 @@
      * closed for you after you return.
      * @param args additional arguments to the dump request.
      */
-    public void dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args) {
+    public void dump(@NonNull String prefix, @Nullable FileDescriptor fd,
+            @NonNull PrintWriter writer, @Nullable String[] args) {
         dumpInner(prefix, fd, writer, args);
     }
 
-    void dumpInner(String prefix, FileDescriptor fd, PrintWriter writer, String[] args) {
+    void dumpInner(@NonNull String prefix, @Nullable FileDescriptor fd,
+            @NonNull PrintWriter writer, @Nullable String[] args) {
         if (args != null && args.length > 0 && args[0].equals("--autofill")) {
             dumpAutofillManager(prefix, writer);
             return;
@@ -7094,7 +7105,7 @@
 
     // ------------------ Internal API ------------------
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     final void setParent(Activity parent) {
         mParent = parent;
     }
@@ -7159,7 +7170,6 @@
         mWindow.setColorMode(info.colorMode);
 
         setAutofillCompatibilityEnabled(application.isAutofillCompatibilityEnabled());
-        enableAutofillCompatibilityIfNeeded();
     }
 
     private void enableAutofillCompatibilityIfNeeded() {
@@ -7189,6 +7199,7 @@
 
     @UnsupportedAppUsage
     final void performCreate(Bundle icicle, PersistableBundle persistentState) {
+        getApplication().dispatchActivityPreCreated(this, icicle);
         mCanEnterPictureInPicture = true;
         restoreHasCurrentPermissionRequest(icicle);
         if (persistentState != null) {
@@ -7203,14 +7214,16 @@
                 com.android.internal.R.styleable.Window_windowNoDisplay, false);
         mFragments.dispatchActivityCreated();
         mActivityTransitionState.setEnterActivityOptions(this, getActivityOptions());
+        getApplication().dispatchActivityPostCreated(this, icicle);
     }
 
-    final void performNewIntent(Intent intent) {
+    final void performNewIntent(@NonNull Intent intent) {
         mCanEnterPictureInPicture = true;
         onNewIntent(intent);
     }
 
     final void performStart(String reason) {
+        getApplication().dispatchActivityPreStarted(this);
         mActivityTransitionState.setEnterActivityOptions(this, getActivityOptions());
         mFragments.noteStateNotSaved();
         mCalled = false;
@@ -7278,6 +7291,7 @@
         }
 
         mActivityTransitionState.enterReady(this);
+        getApplication().dispatchActivityPostStarted(this);
     }
 
     /**
@@ -7332,6 +7346,7 @@
     }
 
     final void performResume(boolean followedByPause, String reason) {
+        getApplication().dispatchActivityPreResumed(this);
         performRestart(true /* start */, reason);
 
         mFragments.execPendingActions();
@@ -7381,9 +7396,11 @@
                 "Activity " + mComponent.toShortString() +
                 " did not call through to super.onPostResume()");
         }
+        getApplication().dispatchActivityPostResumed(this);
     }
 
     final void performPause() {
+        getApplication().dispatchActivityPrePaused(this);
         mDoReportFullyDrawn = false;
         mFragments.dispatchPause();
         mCalled = false;
@@ -7396,6 +7413,7 @@
                     "Activity " + mComponent.toShortString() +
                     " did not call through to super.onPause()");
         }
+        getApplication().dispatchActivityPostPaused(this);
     }
 
     final void performUserLeaving() {
@@ -7411,6 +7429,7 @@
         mCanEnterPictureInPicture = false;
 
         if (!mStopped) {
+            getApplication().dispatchActivityPreStopped(this);
             if (mWindow != null) {
                 mWindow.closeAllPanels();
             }
@@ -7445,11 +7464,13 @@
             }
 
             mStopped = true;
+            getApplication().dispatchActivityPostStopped(this);
         }
         mResumed = false;
     }
 
     final void performDestroy() {
+        getApplication().dispatchActivityPreDestroyed(this);
         mDestroyed = true;
         mWindow.destroy();
         mFragments.dispatchDestroy();
@@ -7459,6 +7480,7 @@
         if (mVoiceInteractor != null) {
             mVoiceInteractor.detachActivity();
         }
+        getApplication().dispatchActivityPostDestroyed(this);
     }
 
     final void dispatchMultiWindowModeChanged(boolean isInMultiWindowMode,
diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java
index 8354235..14b8ae4 100644
--- a/core/java/android/app/ActivityManager.java
+++ b/core/java/android/app/ActivityManager.java
@@ -776,7 +776,7 @@
     /** @hide */
     public int getPackageScreenCompatMode(String packageName) {
         try {
-            return getService().getPackageScreenCompatMode(packageName);
+            return getTaskService().getPackageScreenCompatMode(packageName);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
@@ -785,7 +785,7 @@
     /** @hide */
     public void setPackageScreenCompatMode(String packageName, int mode) {
         try {
-            getService().setPackageScreenCompatMode(packageName, mode);
+            getTaskService().setPackageScreenCompatMode(packageName, mode);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
@@ -794,7 +794,7 @@
     /** @hide */
     public boolean getPackageAskScreenCompat(String packageName) {
         try {
-            return getService().getPackageAskScreenCompat(packageName);
+            return getTaskService().getPackageAskScreenCompat(packageName);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
@@ -803,7 +803,7 @@
     /** @hide */
     public void setPackageAskScreenCompat(String packageName, boolean ask) {
         try {
-            getService().setPackageAskScreenCompat(packageName, ask);
+            getTaskService().setPackageAskScreenCompat(packageName, ask);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
@@ -1221,7 +1221,7 @@
          * @return The background color.
          * @hide
          */
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         public int getBackgroundColor() {
             return mColorBackground;
         }
@@ -3379,7 +3379,7 @@
      */
     public ConfigurationInfo getDeviceConfigurationInfo() {
         try {
-            return getService().getDeviceConfigurationInfo();
+            return getTaskService().getDeviceConfigurationInfo();
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
diff --git a/core/java/android/app/ActivityManagerInternal.java b/core/java/android/app/ActivityManagerInternal.java
index 87366db..294a3ec 100644
--- a/core/java/android/app/ActivityManagerInternal.java
+++ b/core/java/android/app/ActivityManagerInternal.java
@@ -18,11 +18,15 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.content.ComponentName;
+import android.content.IIntentReceiver;
 import android.content.IIntentSender;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.UserInfo;
+import android.os.Bundle;
 import android.os.IBinder;
+import android.os.TransactionTooLargeException;
 import android.view.RemoteAnimationAdapter;
 
 import java.util.ArrayList;
@@ -183,12 +187,6 @@
     /** Trims memory usage in the system by removing/stopping unused application processes. */
     public abstract void trimApplications();
 
-    /** Returns the screen compatibility mode for the given application. */
-    public abstract int getPackageScreenCompatMode(ApplicationInfo ai);
-
-    /** Sets the screen compatibility mode for the given application. */
-    public abstract void setPackageScreenCompatMode(ApplicationInfo ai, int mode);
-
     /** Closes all system dialogs. */
     public abstract void closeSystemDialogs(String reason);
 
@@ -201,6 +199,11 @@
     public abstract boolean hasRunningActivity(int uid, @Nullable String packageName);
 
     public abstract void updateOomAdj();
+    public abstract void updateCpuStats();
+    public abstract void updateUsageStats(
+            ComponentName activity, int uid, int userId, boolean resumed);
+    public abstract void updateForegroundTimeIfOnBattery(
+            String packageName, int uid, long cpuTimeDiff);
     public abstract void sendForegroundProfileChanged(int userId);
 
     /**
@@ -226,4 +229,20 @@
 
     /** Gets the task id for a given activity. */
     public abstract int getTaskIdForActivity(@NonNull IBinder token, boolean onlyRoot);
+
+    public abstract void setBooting(boolean booting);
+    public abstract boolean isBooting();
+    public abstract void setBooted(boolean booted);
+    public abstract boolean isBooted();
+    public abstract void finishBooting();
+
+    public abstract void tempWhitelistForPendingIntent(int callerPid, int callerUid, int targetUid,
+            long duration, String tag);
+    public abstract int broadcastIntentInPackage(String packageName, int uid, Intent intent,
+            String resolvedType, IIntentReceiver resultTo, int resultCode, String resultData,
+            Bundle resultExtras, String requiredPermission, Bundle bOptions, boolean serialized,
+            boolean sticky, int userId);
+    public abstract ComponentName startServiceInPackage(int uid, Intent service,
+            String resolvedType, boolean fgRequired, String callingPackage, int userId)
+            throws TransactionTooLargeException;
 }
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index 9120701..6754df9 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -340,7 +340,7 @@
     // An executor that performs multi-step transactions.
     private final TransactionExecutor mTransactionExecutor = new TransactionExecutor(this);
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final ResourcesManager mResourcesManager;
 
     private static final class ProviderKey {
@@ -374,7 +374,7 @@
     @UnsupportedAppUsage
     final ArrayMap<IBinder, ProviderRefCount> mProviderRefCountMap
         = new ArrayMap<IBinder, ProviderRefCount>();
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     final ArrayMap<IBinder, ProviderClientRecord> mLocalProviders
         = new ArrayMap<IBinder, ProviderClientRecord>();
     @UnsupportedAppUsage
@@ -394,7 +394,7 @@
     final GcIdler mGcIdler = new GcIdler();
     boolean mGcIdlerScheduled = false;
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     static volatile Handler sMainThreadHandler;  // set once in main()
 
     Bundle mCoreSettings = null;
@@ -456,7 +456,7 @@
         private int mLifecycleState = PRE_ON_CREATE;
 
         @VisibleForTesting
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         public ActivityClientRecord() {
             this.isForward = false;
             init();
@@ -704,7 +704,7 @@
         @UnsupportedAppUsage
         boolean persistent;
         Configuration config;
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         CompatibilityInfo compatInfo;
         String buildSerial;
 
@@ -1541,7 +1541,7 @@
 
         public void scheduleTrimMemory(int level) {
             final Runnable r = PooledLambda.obtainRunnable(ActivityThread::handleTrimMemory,
-                    ActivityThread.this, level);
+                    ActivityThread.this, level).recycleOnUse();
             // Schedule trimming memory after drawing the frame to minimize jank-risk.
             Choreographer choreographer = Choreographer.getMainThreadInstance();
             if (choreographer != null) {
@@ -2088,7 +2088,7 @@
         return mH;
     }
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public final LoadedApk getPackageInfo(String packageName, CompatibilityInfo compatInfo,
             int flags) {
         return getPackageInfo(packageName, compatInfo, flags, UserHandle.myUserId());
@@ -2131,7 +2131,7 @@
             ai = getPackageManager().getApplicationInfo(packageName,
                     PackageManager.GET_SHARED_LIBRARY_FILES
                             | PackageManager.MATCH_DEBUG_TRIAGED_MISSING,
-                    userId);
+                    (userId < 0) ? UserHandle.myUserId() : userId);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
@@ -2177,7 +2177,7 @@
         return getPackageInfo(ai, compatInfo, null, false, true, false);
     }
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public final LoadedApk peekPackageInfo(String packageName, boolean includeCode) {
         synchronized (mResourcesManager) {
             WeakReference<LoadedApk> ref;
@@ -2850,7 +2850,7 @@
         return aInfo;
     }
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public final Activity startActivityNow(Activity parent, String id,
         Intent intent, ActivityInfo activityInfo, IBinder token, Bundle state,
         Activity.NonConfigurationInstances lastNonConfigurationInstances) {
diff --git a/core/java/android/app/AlertDialog.java b/core/java/android/app/AlertDialog.java
index dbc8c5d..cf40e06 100644
--- a/core/java/android/app/AlertDialog.java
+++ b/core/java/android/app/AlertDialog.java
@@ -397,7 +397,7 @@
      * @param listener The {@link DialogInterface.OnClickListener} to use.
      * @deprecated Use
      *             {@link #setButton(int, CharSequence, android.content.DialogInterface.OnClickListener)}
-     *             with {@link DialogInterface#BUTTON_POSITIVE}
+     *             with {@link DialogInterface#BUTTON_NEUTRAL}
      */
     @Deprecated
     public void setButton3(CharSequence text, final OnClickListener listener) {
diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java
index fd92174..9c47e79 100644
--- a/core/java/android/app/AppOpsManager.java
+++ b/core/java/android/app/AppOpsManager.java
@@ -429,8 +429,8 @@
     /** @hide */
     @UnsupportedAppUsage
     public static final int OP_BLUETOOTH_SCAN = 77;
-    /** @hide Use the face authentication API. */
-    public static final int OP_USE_FACE = 78;
+    /** @hide Use the BiometricPrompt/BiometricManager APIs. */
+    public static final int OP_USE_BIOMETRIC = 78;
     /** @hide */
     @UnsupportedAppUsage
     public static final int _NUM_OP = 79;
@@ -678,8 +678,8 @@
     /** @hide */
     public static final String OPSTR_BLUETOOTH_SCAN = "android:bluetooth_scan";
 
-    /** @hide Use the face authentication API. */
-    public static final String OPSTR_USE_FACE = "android:use_face";
+    /** @hide Use the BiometricPrompt/BiometricManager APIs. */
+    public static final String OPSTR_USE_BIOMETRIC = "android:use_biometric";
 
     // Warning: If an permission is added here it also has to be added to
     // com.android.packageinstaller.permission.utils.EventLogger
@@ -818,7 +818,7 @@
             OP_MANAGE_IPSEC_TUNNELS,            // MANAGE_IPSEC_HANDOVERS
             OP_START_FOREGROUND,                // START_FOREGROUND
             OP_COARSE_LOCATION,                 // BLUETOOTH_SCAN
-            OP_USE_FACE,                        // FACE
+            OP_USE_BIOMETRIC,                   // BIOMETRIC
     };
 
     /**
@@ -903,7 +903,7 @@
             OPSTR_MANAGE_IPSEC_TUNNELS,
             OPSTR_START_FOREGROUND,
             OPSTR_BLUETOOTH_SCAN,
-            OPSTR_USE_FACE,
+            OPSTR_USE_BIOMETRIC,
     };
 
     /**
@@ -989,7 +989,7 @@
             "MANAGE_IPSEC_TUNNELS",
             "START_FOREGROUND",
             "BLUETOOTH_SCAN",
-            "USE_FACE",
+            "USE_BIOMETRIC",
     };
 
     /**
@@ -1163,7 +1163,7 @@
             null, // MANAGE_IPSEC_TUNNELS
             null, // START_FOREGROUND
             null, // maybe should be UserManager.DISALLOW_SHARE_LOCATION, //BLUETOOTH_SCAN
-            null, // USE_FACE
+            null, // USE_BIOMETRIC
     };
 
     /**
@@ -1249,7 +1249,7 @@
             false, // MANAGE_IPSEC_HANDOVERS
             false, // START_FOREGROUND
             true, // BLUETOOTH_SCAN
-            false, // USE_FACE
+            false, // USE_BIOMETRIC
     };
 
     /**
@@ -1334,7 +1334,7 @@
             AppOpsManager.MODE_ERRORED,  // MANAGE_IPSEC_TUNNELS
             AppOpsManager.MODE_ALLOWED,  // OP_START_FOREGROUND
             AppOpsManager.MODE_ALLOWED,  // OP_BLUETOOTH_SCAN
-            AppOpsManager.MODE_ALLOWED,  // USE_FACE
+            AppOpsManager.MODE_ALLOWED,  // USE_BIOMETRIC
     };
 
     /**
@@ -1423,7 +1423,7 @@
             false, // MANAGE_IPSEC_TUNNELS
             false, // START_FOREGROUND
             false, // BLUETOOTH_SCAN
-            false, // USE_FACE
+            false, // USE_BIOMETRIC
     };
 
     /**
diff --git a/core/java/android/app/Application.java b/core/java/android/app/Application.java
index 636366d..e12942f 100644
--- a/core/java/android/app/Application.java
+++ b/core/java/android/app/Application.java
@@ -65,13 +65,144 @@
     public LoadedApk mLoadedApk;
 
     public interface ActivityLifecycleCallbacks {
+
+        /**
+         * Called as the first step of the Activity being created. This is always called before
+         * {@link Activity#onCreate}.
+         */
+        default void onActivityPreCreated(@NonNull Activity activity,
+                @Nullable Bundle savedInstanceState) {
+        }
+
+        /**
+         * Called when the Activity calls {@link Activity#onCreate super.onCreate()}.
+         */
         void onActivityCreated(@NonNull Activity activity, @Nullable Bundle savedInstanceState);
+
+        /**
+         * Called as the last step of the Activity being created. This is always called after
+         * {@link Activity#onCreate}.
+         */
+        default void onActivityPostCreated(@NonNull Activity activity,
+                @Nullable Bundle savedInstanceState) {
+        }
+
+        /**
+         * Called as the first step of the Activity being started. This is always called before
+         * {@link Activity#onStart}.
+         */
+        default void onActivityPreStarted(@NonNull Activity activity) {
+        }
+
+        /**
+         * Called when the Activity calls {@link Activity#onStart super.onStart()}.
+         */
         void onActivityStarted(@NonNull Activity activity);
+
+        /**
+         * Called as the last step of the Activity being started. This is always called after
+         * {@link Activity#onStart}.
+         */
+        default void onActivityPostStarted(@NonNull Activity activity) {
+        }
+
+        /**
+         * Called as the first step of the Activity being resumed. This is always called before
+         * {@link Activity#onResume}.
+         */
+        default void onActivityPreResumed(@NonNull Activity activity) {
+        }
+
+        /**
+         * Called when the Activity calls {@link Activity#onResume super.onResume()}.
+         */
         void onActivityResumed(@NonNull Activity activity);
+
+        /**
+         * Called as the last step of the Activity being resumed. This is always called after
+         * {@link Activity#onResume} and {@link Activity#onPostResume}.
+         */
+        default void onActivityPostResumed(@NonNull Activity activity) {
+        }
+
+        /**
+         * Called as the first step of the Activity being paused. This is always called before
+         * {@link Activity#onPause}.
+         */
+        default void onActivityPrePaused(@NonNull Activity activity) {
+        }
+
+        /**
+         * Called when the Activity calls {@link Activity#onPause super.onPause()}.
+         */
         void onActivityPaused(@NonNull Activity activity);
+
+        /**
+         * Called as the last step of the Activity being paused. This is always called after
+         * {@link Activity#onPause}.
+         */
+        default void onActivityPostPaused(@NonNull Activity activity) {
+        }
+
+        /**
+         * Called as the first step of the Activity being stopped. This is always called before
+         * {@link Activity#onStop}.
+         */
+        default void onActivityPreStopped(@NonNull Activity activity) {
+        }
+
+        /**
+         * Called when the Activity calls {@link Activity#onStop super.onStop()}.
+         */
         void onActivityStopped(@NonNull Activity activity);
+
+        /**
+         * Called as the last step of the Activity being stopped. This is always called after
+         * {@link Activity#onStop}.
+         */
+        default void onActivityPostStopped(@NonNull Activity activity) {
+        }
+
+        /**
+         * Called as the first step of the Activity saving its instance state. This is always
+         * called before {@link Activity#onSaveInstanceState}.
+         */
+        default void onActivityPreSaveInstanceState(@NonNull Activity activity,
+                @NonNull Bundle outState) {
+        }
+
+        /**
+         * Called when the Activity calls
+         * {@link Activity#onSaveInstanceState super.onSaveInstanceState()}.
+         */
         void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle outState);
+
+        /**
+         * Called as the last step of the Activity saving its instance state. This is always
+         * called after{@link Activity#onSaveInstanceState}.
+         */
+        default void onActivityPostSaveInstanceState(@NonNull Activity activity,
+                @NonNull Bundle outState) {
+        }
+
+        /**
+         * Called as the first step of the Activity being destroyed. This is always called before
+         * {@link Activity#onDestroy}.
+         */
+        default void onActivityPreDestroyed(@NonNull Activity activity) {
+        }
+
+        /**
+         * Called when the Activity calls {@link Activity#onDestroy super.onDestroy()}.
+         */
         void onActivityDestroyed(@NonNull Activity activity);
+
+        /**
+         * Called as the last step of the Activity being destroyed. This is always called after
+         * {@link Activity#onDestroy}.
+         */
+        default void onActivityPostDestroyed(@NonNull Activity activity) {
+        }
     }
 
     /**
@@ -127,7 +258,7 @@
     }
 
     @CallSuper
-    public void onConfigurationChanged(Configuration newConfig) {
+    public void onConfigurationChanged(@NonNull Configuration newConfig) {
         Object[] callbacks = collectComponentCallbacks();
         if (callbacks != null) {
             for (int i=0; i<callbacks.length; i++) {
@@ -222,6 +353,18 @@
     }
 
     @UnsupportedAppUsage
+        /* package */ void dispatchActivityPreCreated(@NonNull Activity activity,
+            @Nullable Bundle savedInstanceState) {
+        Object[] callbacks = collectActivityLifecycleCallbacks();
+        if (callbacks != null) {
+            for (int i = 0; i < callbacks.length; i++) {
+                ((ActivityLifecycleCallbacks) callbacks[i]).onActivityPreCreated(activity,
+                        savedInstanceState);
+            }
+        }
+    }
+
+    @UnsupportedAppUsage
     /* package */ void dispatchActivityCreated(@NonNull Activity activity,
             @Nullable Bundle savedInstanceState) {
         Object[] callbacks = collectActivityLifecycleCallbacks();
@@ -234,6 +377,28 @@
     }
 
     @UnsupportedAppUsage
+        /* package */ void dispatchActivityPostCreated(@NonNull Activity activity,
+            @Nullable Bundle savedInstanceState) {
+        Object[] callbacks = collectActivityLifecycleCallbacks();
+        if (callbacks != null) {
+            for (int i = 0; i < callbacks.length; i++) {
+                ((ActivityLifecycleCallbacks) callbacks[i]).onActivityPostCreated(activity,
+                        savedInstanceState);
+            }
+        }
+    }
+
+    @UnsupportedAppUsage
+        /* package */ void dispatchActivityPreStarted(@NonNull Activity activity) {
+        Object[] callbacks = collectActivityLifecycleCallbacks();
+        if (callbacks != null) {
+            for (int i = 0; i < callbacks.length; i++) {
+                ((ActivityLifecycleCallbacks) callbacks[i]).onActivityPreStarted(activity);
+            }
+        }
+    }
+
+    @UnsupportedAppUsage
     /* package */ void dispatchActivityStarted(@NonNull Activity activity) {
         Object[] callbacks = collectActivityLifecycleCallbacks();
         if (callbacks != null) {
@@ -244,6 +409,26 @@
     }
 
     @UnsupportedAppUsage
+        /* package */ void dispatchActivityPostStarted(@NonNull Activity activity) {
+        Object[] callbacks = collectActivityLifecycleCallbacks();
+        if (callbacks != null) {
+            for (int i = 0; i < callbacks.length; i++) {
+                ((ActivityLifecycleCallbacks) callbacks[i]).onActivityPostStarted(activity);
+            }
+        }
+    }
+
+    @UnsupportedAppUsage
+        /* package */ void dispatchActivityPreResumed(@NonNull Activity activity) {
+        Object[] callbacks = collectActivityLifecycleCallbacks();
+        if (callbacks != null) {
+            for (int i = 0; i < callbacks.length; i++) {
+                ((ActivityLifecycleCallbacks) callbacks[i]).onActivityPreResumed(activity);
+            }
+        }
+    }
+
+    @UnsupportedAppUsage
     /* package */ void dispatchActivityResumed(@NonNull Activity activity) {
         Object[] callbacks = collectActivityLifecycleCallbacks();
         if (callbacks != null) {
@@ -254,6 +439,26 @@
     }
 
     @UnsupportedAppUsage
+        /* package */ void dispatchActivityPostResumed(@NonNull Activity activity) {
+        Object[] callbacks = collectActivityLifecycleCallbacks();
+        if (callbacks != null) {
+            for (int i = 0; i < callbacks.length; i++) {
+                ((ActivityLifecycleCallbacks) callbacks[i]).onActivityPostResumed(activity);
+            }
+        }
+    }
+
+    @UnsupportedAppUsage
+        /* package */ void dispatchActivityPrePaused(@NonNull Activity activity) {
+        Object[] callbacks = collectActivityLifecycleCallbacks();
+        if (callbacks != null) {
+            for (int i = 0; i < callbacks.length; i++) {
+                ((ActivityLifecycleCallbacks) callbacks[i]).onActivityPrePaused(activity);
+            }
+        }
+    }
+
+    @UnsupportedAppUsage
     /* package */ void dispatchActivityPaused(@NonNull Activity activity) {
         Object[] callbacks = collectActivityLifecycleCallbacks();
         if (callbacks != null) {
@@ -264,6 +469,26 @@
     }
 
     @UnsupportedAppUsage
+        /* package */ void dispatchActivityPostPaused(@NonNull Activity activity) {
+        Object[] callbacks = collectActivityLifecycleCallbacks();
+        if (callbacks != null) {
+            for (int i = 0; i < callbacks.length; i++) {
+                ((ActivityLifecycleCallbacks) callbacks[i]).onActivityPostPaused(activity);
+            }
+        }
+    }
+
+    @UnsupportedAppUsage
+        /* package */ void dispatchActivityPreStopped(@NonNull Activity activity) {
+        Object[] callbacks = collectActivityLifecycleCallbacks();
+        if (callbacks != null) {
+            for (int i = 0; i < callbacks.length; i++) {
+                ((ActivityLifecycleCallbacks) callbacks[i]).onActivityPreStopped(activity);
+            }
+        }
+    }
+
+    @UnsupportedAppUsage
     /* package */ void dispatchActivityStopped(@NonNull Activity activity) {
         Object[] callbacks = collectActivityLifecycleCallbacks();
         if (callbacks != null) {
@@ -274,6 +499,28 @@
     }
 
     @UnsupportedAppUsage
+        /* package */ void dispatchActivityPostStopped(@NonNull Activity activity) {
+        Object[] callbacks = collectActivityLifecycleCallbacks();
+        if (callbacks != null) {
+            for (int i = 0; i < callbacks.length; i++) {
+                ((ActivityLifecycleCallbacks) callbacks[i]).onActivityPostStopped(activity);
+            }
+        }
+    }
+
+    @UnsupportedAppUsage
+        /* package */ void dispatchActivityPreSaveInstanceState(@NonNull Activity activity,
+            @NonNull Bundle outState) {
+        Object[] callbacks = collectActivityLifecycleCallbacks();
+        if (callbacks != null) {
+            for (int i = 0; i < callbacks.length; i++) {
+                ((ActivityLifecycleCallbacks) callbacks[i]).onActivityPreSaveInstanceState(
+                        activity, outState);
+            }
+        }
+    }
+
+    @UnsupportedAppUsage
     /* package */ void dispatchActivitySaveInstanceState(@NonNull Activity activity,
             @NonNull Bundle outState) {
         Object[] callbacks = collectActivityLifecycleCallbacks();
@@ -286,6 +533,28 @@
     }
 
     @UnsupportedAppUsage
+        /* package */ void dispatchActivityPostSaveInstanceState(@NonNull Activity activity,
+            @NonNull Bundle outState) {
+        Object[] callbacks = collectActivityLifecycleCallbacks();
+        if (callbacks != null) {
+            for (int i = 0; i < callbacks.length; i++) {
+                ((ActivityLifecycleCallbacks) callbacks[i]).onActivityPostSaveInstanceState(
+                        activity, outState);
+            }
+        }
+    }
+
+    @UnsupportedAppUsage
+        /* package */ void dispatchActivityPreDestroyed(@NonNull Activity activity) {
+        Object[] callbacks = collectActivityLifecycleCallbacks();
+        if (callbacks != null) {
+            for (int i = 0; i < callbacks.length; i++) {
+                ((ActivityLifecycleCallbacks) callbacks[i]).onActivityPreDestroyed(activity);
+            }
+        }
+    }
+
+    @UnsupportedAppUsage
     /* package */ void dispatchActivityDestroyed(@NonNull Activity activity) {
         Object[] callbacks = collectActivityLifecycleCallbacks();
         if (callbacks != null) {
@@ -295,6 +564,16 @@
         }
     }
 
+    @UnsupportedAppUsage
+        /* package */ void dispatchActivityPostDestroyed(@NonNull Activity activity) {
+        Object[] callbacks = collectActivityLifecycleCallbacks();
+        if (callbacks != null) {
+            for (int i = 0; i < callbacks.length; i++) {
+                ((ActivityLifecycleCallbacks) callbacks[i]).onActivityPostDestroyed(activity);
+            }
+        }
+    }
+
     private Object[] collectComponentCallbacks() {
         Object[] callbacks = null;
         synchronized (mComponentCallbacks) {
diff --git a/core/java/android/app/AutomaticZenRule.java b/core/java/android/app/AutomaticZenRule.java
index cd4ace6..62f6bac 100644
--- a/core/java/android/app/AutomaticZenRule.java
+++ b/core/java/android/app/AutomaticZenRule.java
@@ -16,11 +16,14 @@
 
 package android.app;
 
+import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
+
 import android.app.NotificationManager.InterruptionFilter;
 import android.content.ComponentName;
 import android.net.Uri;
 import android.os.Parcel;
 import android.os.Parcelable;
+import android.service.notification.ZenPolicy;
 
 import java.util.Objects;
 
@@ -35,6 +38,7 @@
     private Uri conditionId;
     private ComponentName owner;
     private long creationTime;
+    private ZenPolicy mZenPolicy;
 
     /**
      * Creates an automatic zen rule.
@@ -58,7 +62,27 @@
     }
 
     /**
-     * @SystemApi
+     * Creates an automatic zen rule.
+     *
+     * @param name The name of the rule.
+     * @param owner The Condition Provider service that owns this rule.
+     * @param conditionId A representation of the state that should cause the Condition Provider
+     *                    service to apply the given interruption filter.
+     * @param policy The policy defines which notifications are allowed to interrupt the user
+     *               while this rule is active
+     * @param enabled Whether the rule is enabled.
+     */
+    public AutomaticZenRule(String name, ComponentName owner, Uri conditionId, ZenPolicy policy,
+            boolean enabled) {
+        this.name = name;
+        this.owner = owner;
+        this.conditionId = conditionId;
+        this.interruptionFilter = INTERRUPTION_FILTER_PRIORITY;
+        this.enabled = enabled;
+        this.mZenPolicy = policy;
+    }
+
+    /**
      * @hide
      */
     public AutomaticZenRule(String name, ComponentName owner, Uri conditionId,
@@ -67,6 +91,15 @@
         this.creationTime = creationTime;
     }
 
+    /**
+     * @hide
+     */
+    public AutomaticZenRule(String name, ComponentName owner, Uri conditionId, ZenPolicy policy,
+            boolean enabled, long creationTime) {
+        this(name, owner, conditionId, policy, enabled);
+        this.creationTime = creationTime;
+    }
+
     public AutomaticZenRule(Parcel source) {
         enabled = source.readInt() == 1;
         if (source.readInt() == 1) {
@@ -76,6 +109,7 @@
         conditionId = source.readParcelable(null);
         owner = source.readParcelable(null);
         creationTime = source.readLong();
+        mZenPolicy = source.readParcelable(null);
     }
 
     /**
@@ -114,6 +148,13 @@
     }
 
     /**
+     * Gets the zen policy.
+     */
+    public ZenPolicy getZenPolicy() {
+        return this.mZenPolicy.copy();
+    }
+
+    /**
      * Returns the time this rule was created, represented as milliseconds since the epoch.
      */
     public long getCreationTime() {
@@ -149,6 +190,13 @@
         this.enabled = enabled;
     }
 
+    /**
+     * Sets the zen policy.
+     */
+    public void setZenPolicy(ZenPolicy zenPolicy) {
+        this.mZenPolicy = zenPolicy;
+    }
+
     @Override
     public int describeContents() {
         return 0;
@@ -167,6 +215,7 @@
         dest.writeParcelable(conditionId, 0);
         dest.writeParcelable(owner, 0);
         dest.writeLong(creationTime);
+        dest.writeParcelable(mZenPolicy, 0);
     }
 
     @Override
@@ -178,6 +227,7 @@
                 .append(",conditionId=").append(conditionId)
                 .append(",owner=").append(owner)
                 .append(",creationTime=").append(creationTime)
+                .append(",mZenPolicy=").append(mZenPolicy)
                 .append(']').toString();
     }
 
@@ -191,12 +241,14 @@
                 && other.interruptionFilter == interruptionFilter
                 && Objects.equals(other.conditionId, conditionId)
                 && Objects.equals(other.owner, owner)
-                && other.creationTime == creationTime;
+                && other.creationTime == creationTime
+                && Objects.equals(other.mZenPolicy, mZenPolicy);
     }
 
     @Override
     public int hashCode() {
-        return Objects.hash(enabled, name, interruptionFilter, conditionId, owner, creationTime);
+        return Objects.hash(enabled, name, interruptionFilter, conditionId, owner, creationTime,
+                mZenPolicy);
     }
 
     public static final Parcelable.Creator<AutomaticZenRule> CREATOR
diff --git a/core/java/android/app/ContentProviderHolder.java b/core/java/android/app/ContentProviderHolder.java
index 1098990..2a13c71 100644
--- a/core/java/android/app/ContentProviderHolder.java
+++ b/core/java/android/app/ContentProviderHolder.java
@@ -20,6 +20,7 @@
 import android.content.ContentProviderNative;
 import android.content.IContentProvider;
 import android.content.pm.ProviderInfo;
+import android.os.Build;
 import android.os.IBinder;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -35,7 +36,7 @@
     @UnsupportedAppUsage
     public IContentProvider provider;
     public IBinder connection;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public boolean noReleaseNeeded;
 
     @UnsupportedAppUsage
diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java
index bbaaee8..77f6395 100644
--- a/core/java/android/app/ContextImpl.java
+++ b/core/java/android/app/ContextImpl.java
@@ -164,7 +164,7 @@
      * Map from preference name to generated path.
      */
     @GuardedBy("ContextImpl.class")
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private ArrayMap<String, File> mSharedPrefsPaths;
 
     @UnsupportedAppUsage
@@ -183,7 +183,7 @@
 
     @UnsupportedAppUsage
     private final String mBasePackageName;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final String mOpPackageName;
 
     private final @NonNull ResourcesManager mResourcesManager;
@@ -191,7 +191,7 @@
     private @NonNull Resources mResources;
     private @Nullable Display mDisplay; // may be null if default display
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final int mFlags;
 
     @UnsupportedAppUsage
diff --git a/core/java/android/app/DatePickerDialog.java b/core/java/android/app/DatePickerDialog.java
index 37a05f0..9d82ffa 100644
--- a/core/java/android/app/DatePickerDialog.java
+++ b/core/java/android/app/DatePickerDialog.java
@@ -239,7 +239,7 @@
          * @param year the selected year
          * @param month the selected month (0-11 for compatibility with
          *              {@link Calendar#MONTH})
-         * @param dayOfMonth th selected day of the month (1-31, depending on
+         * @param dayOfMonth the selected day of the month (1-31, depending on
          *                   month)
          */
         void onDateSet(DatePicker view, int year, int month, int dayOfMonth);
diff --git a/core/java/android/app/Dialog.java b/core/java/android/app/Dialog.java
index b7bac52..6bcfb2e 100644
--- a/core/java/android/app/Dialog.java
+++ b/core/java/android/app/Dialog.java
@@ -34,6 +34,7 @@
 import android.content.res.ResourceId;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
@@ -133,7 +134,7 @@
     private final Handler mHandler = new Handler();
 
     private static final int DISMISS = 0x43;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private static final int CANCEL = 0x44;
     private static final int SHOW = 0x45;
 
@@ -936,8 +937,8 @@
      * @see Activity#onPreparePanel(int, View, Menu)
      */
     @Override
-    public boolean onPreparePanel(int featureId, View view, Menu menu) {
-        if (featureId == Window.FEATURE_OPTIONS_PANEL && menu != null) {
+    public boolean onPreparePanel(int featureId, @Nullable View view, @NonNull Menu menu) {
+        if (featureId == Window.FEATURE_OPTIONS_PANEL) {
             return onPrepareOptionsMenu(menu) && menu.hasVisibleItems();
         }
         return true;
@@ -947,7 +948,7 @@
      * @see Activity#onMenuOpened(int, Menu)
      */
     @Override
-    public boolean onMenuOpened(int featureId, Menu menu) {
+    public boolean onMenuOpened(int featureId, @NonNull Menu menu) {
         if (featureId == Window.FEATURE_ACTION_BAR) {
             mActionBar.dispatchMenuVisibilityChanged(true);
         }
@@ -958,7 +959,7 @@
      * @see Activity#onMenuItemSelected(int, MenuItem)
      */
     @Override
-    public boolean onMenuItemSelected(int featureId, MenuItem item) {
+    public boolean onMenuItemSelected(int featureId, @NonNull MenuItem item) {
         return false;
     }
 
@@ -966,7 +967,7 @@
      * @see Activity#onPanelClosed(int, Menu)
      */
     @Override
-    public void onPanelClosed(int featureId, Menu menu) {
+    public void onPanelClosed(int featureId, @NonNull Menu menu) {
         if (featureId == Window.FEATURE_ACTION_BAR) {
             mActionBar.dispatchMenuVisibilityChanged(false);
         }
diff --git a/core/java/android/app/DownloadManager.java b/core/java/android/app/DownloadManager.java
index 35999a2..1622c06 100644
--- a/core/java/android/app/DownloadManager.java
+++ b/core/java/android/app/DownloadManager.java
@@ -879,7 +879,7 @@
          * @return this object
          * @hide
          */
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         public Query orderBy(String column, int direction) {
             if (direction != ORDER_ASCENDING && direction != ORDER_DESCENDING) {
                 throw new IllegalArgumentException("Invalid direction: " + direction);
@@ -1011,7 +1011,7 @@
     }
 
     /** {@hide} */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public void setAccessFilename(boolean accessFilename) {
         mAccessFilename = accessFilename;
     }
diff --git a/core/java/android/app/Fragment.java b/core/java/android/app/Fragment.java
index 9f4157f..49917b4 100644
--- a/core/java/android/app/Fragment.java
+++ b/core/java/android/app/Fragment.java
@@ -264,7 +264,7 @@
  */
 @Deprecated
 public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListener {
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private static final ArrayMap<String, Class<?>> sClassMap =
             new ArrayMap<String, Class<?>>();
 
diff --git a/core/java/android/app/IActivityManager.aidl b/core/java/android/app/IActivityManager.aidl
index 16360b3..519a274 100644
--- a/core/java/android/app/IActivityManager.aidl
+++ b/core/java/android/app/IActivityManager.aidl
@@ -208,8 +208,6 @@
     List<ActivityManager.RunningServiceInfo> getServices(int maxNum, int flags);
     // Retrieve running application processes in the system
     List<ActivityManager.RunningAppProcessInfo> getRunningAppProcesses();
-    // Get device configuration
-    ConfigurationInfo getDeviceConfigurationInfo();
     IBinder peekService(in Intent service, in String resolvedType, in String callingPackage);
     // Turn on/off profiling in a particular process.
     boolean profileControl(in String process, int userId, boolean start,
@@ -248,10 +246,7 @@
             boolean runGc, in String path, in ParcelFileDescriptor fd,
             in RemoteCallback finishCallback);
     boolean isUserRunning(int userid, int flags);
-    int getPackageScreenCompatMode(in String packageName);
     void setPackageScreenCompatMode(in String packageName, int mode);
-    boolean getPackageAskScreenCompat(in String packageName);
-    void setPackageAskScreenCompat(in String packageName, boolean ask);
     boolean switchUser(int userid);
     boolean removeTask(int taskId);
     void registerProcessObserver(in IProcessObserver observer);
@@ -263,7 +258,9 @@
     void killAllBackgroundProcesses();
     ContentProviderHolder getContentProviderExternal(in String name, int userId,
             in IBinder token, String tag);
+    /** @deprecated - Use {@link #removeContentProviderExternalAsUser} which takes a user ID. */
     void removeContentProviderExternal(in String name, in IBinder token);
+    void removeContentProviderExternalAsUser(in String name, in IBinder token, int userId);
     // Get memory information about the calling process.
     void getMyMemoryState(out ActivityManager.RunningAppProcessInfo outInfo);
     boolean killProcessesBelowForeground(in String reason);
diff --git a/core/java/android/app/IActivityTaskManager.aidl b/core/java/android/app/IActivityTaskManager.aidl
index 46664c6..b7b6352 100644
--- a/core/java/android/app/IActivityTaskManager.aidl
+++ b/core/java/android/app/IActivityTaskManager.aidl
@@ -344,6 +344,9 @@
     void notifyPinnedStackAnimationStarted();
     void notifyPinnedStackAnimationEnded();
 
+    // Get device configuration
+    ConfigurationInfo getDeviceConfigurationInfo();
+
     /**
      * Resizes the pinned stack.
      *
@@ -422,4 +425,9 @@
     void resumeAppSwitches();
     void setActivityController(in IActivityController watcher, boolean imAMonkey);
     void setVoiceKeepAwake(in IVoiceInteractionSession session, boolean keepAwake);
+
+    int getPackageScreenCompatMode(in String packageName);
+    void setPackageScreenCompatMode(in String packageName, int mode);
+    boolean getPackageAskScreenCompat(in String packageName);
+    void setPackageAskScreenCompat(in String packageName, boolean ask);
 }
diff --git a/core/java/android/app/INotificationManager.aidl b/core/java/android/app/INotificationManager.aidl
index 4f004d93..357420b 100644
--- a/core/java/android/app/INotificationManager.aidl
+++ b/core/java/android/app/INotificationManager.aidl
@@ -112,6 +112,7 @@
 
     ParceledListSlice getActiveNotificationsFromListener(in INotificationListener token, in String[] keys, int trim);
     ParceledListSlice getSnoozedNotificationsFromListener(in INotificationListener token, int trim);
+    void clearRequestedListenerHints(in INotificationListener token);
     void requestHintsFromListener(in INotificationListener token, int hints);
     int getHintsFromListener(in INotificationListener token);
     void requestInterruptionFilterFromListener(in INotificationListener token, int interruptionFilter);
diff --git a/core/tests/webkit/apk_with_native_libs/jni/WebViewTestJniOnLoad.cpp b/core/java/android/app/ISmsAppService.aidl
similarity index 77%
rename from core/tests/webkit/apk_with_native_libs/jni/WebViewTestJniOnLoad.cpp
rename to core/java/android/app/ISmsAppService.aidl
index 0ced4ee..1ac2ec6 100644
--- a/core/tests/webkit/apk_with_native_libs/jni/WebViewTestJniOnLoad.cpp
+++ b/core/java/android/app/ISmsAppService.aidl
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2017 The Android Open Source Project
+ * Copyright (C) 2018 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.
@@ -14,8 +14,10 @@
  * limitations under the License.
  */
 
-#include <jni.h>
+package android.app;
 
-jint JNI_OnLoad(JavaVM * /*vm*/, void * /*reserved*/) {
-    return JNI_VERSION_1_4;
+/**
+ * @hide
+ */
+interface ISmsAppService {
 }
diff --git a/core/java/android/app/KeyguardManager.java b/core/java/android/app/KeyguardManager.java
index 3085fe5..b720df8 100644
--- a/core/java/android/app/KeyguardManager.java
+++ b/core/java/android/app/KeyguardManager.java
@@ -29,6 +29,7 @@
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.os.Binder;
+import android.os.Build;
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.RemoteException;
@@ -415,7 +416,7 @@
      *
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public boolean isDeviceLocked(int userId) {
         try {
             return mTrustManager.isDeviceLocked(userId);
diff --git a/core/java/android/app/LoadedApk.java b/core/java/android/app/LoadedApk.java
index ddd9441..b827d01 100644
--- a/core/java/android/app/LoadedApk.java
+++ b/core/java/android/app/LoadedApk.java
@@ -111,7 +111,7 @@
     private String mDataDir;
     @UnsupportedAppUsage
     private String mLibDir;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private File mDataDirFile;
     private File mDeviceProtectedDataDirFile;
     private File mCredentialProtectedDataDirFile;
@@ -141,7 +141,7 @@
         = new ArrayMap<>();
     private final ArrayMap<Context, ArrayMap<BroadcastReceiver, LoadedApk.ReceiverDispatcher>> mUnregisteredReceivers
         = new ArrayMap<>();
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final ArrayMap<Context, ArrayMap<ServiceConnection, LoadedApk.ServiceDispatcher>> mServices
         = new ArrayMap<>();
     private final ArrayMap<Context, ArrayMap<ServiceConnection, LoadedApk.ServiceDispatcher>> mUnboundServices
@@ -1358,7 +1358,7 @@
         final IIntentReceiver.Stub mIIntentReceiver;
         @UnsupportedAppUsage
         final BroadcastReceiver mReceiver;
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         final Context mContext;
         final Handler mActivityThread;
         final Instrumentation mInstrumentation;
@@ -1605,7 +1605,7 @@
         private final ServiceDispatcher.InnerConnection mIServiceConnection;
         @UnsupportedAppUsage
         private final ServiceConnection mConnection;
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         private final Context mContext;
         private final Handler mActivityThread;
         private final ServiceConnectionLeaked mLocation;
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index 9dca061..81df447 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -1417,7 +1417,7 @@
         public static final int SEMANTIC_ACTION_CALL = 10;
 
         private final Bundle mExtras;
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         private Icon mIcon;
         private final RemoteInput[] mRemoteInputs;
         private boolean mAllowGeneratedReplies = true;
@@ -3499,7 +3499,7 @@
 
         /**
          * Set the small icon, which will be used to represent the notification in the
-         * status bar and content view (unless overriden there by a
+         * status bar and content view (unless overridden there by a
          * {@link #setLargeIcon(Bitmap) large icon}).
          *
          * @param icon An Icon object to use.
@@ -4440,7 +4440,7 @@
         }
 
         private CharSequence processTextSpans(CharSequence text) {
-            if (hasForegroundColor()) {
+            if (hasForegroundColor() || mInNightMode) {
                 return ContrastColorUtil.clearColorSpans(text);
             }
             return text;
@@ -8253,7 +8253,10 @@
          * <p>For custom display notifications created using {@link #setDisplayIntent},
          * the default is {@link #SIZE_MEDIUM}. All other notifications size automatically based
          * on their content.
+         *
+         * @deprecated Display intents are no longer supported.
          */
+        @Deprecated
         public static final int SIZE_DEFAULT = 0;
 
         /**
@@ -8261,7 +8264,10 @@
          * with an extra small size.
          * <p>This value is only applicable for custom display notifications created using
          * {@link #setDisplayIntent}.
+         *
+         * @deprecated Display intents are no longer supported.
          */
+        @Deprecated
         public static final int SIZE_XSMALL = 1;
 
         /**
@@ -8269,7 +8275,10 @@
          * with a small size.
          * <p>This value is only applicable for custom display notifications created using
          * {@link #setDisplayIntent}.
+         *
+         * @deprecated Display intents are no longer supported.
          */
+        @Deprecated
         public static final int SIZE_SMALL = 2;
 
         /**
@@ -8277,7 +8286,10 @@
          * with a medium size.
          * <p>This value is only applicable for custom display notifications created using
          * {@link #setDisplayIntent}.
+         *
+         * @deprecated Display intents are no longer supported.
          */
+        @Deprecated
         public static final int SIZE_MEDIUM = 3;
 
         /**
@@ -8285,7 +8297,10 @@
          * with a large size.
          * <p>This value is only applicable for custom display notifications created using
          * {@link #setDisplayIntent}.
+         *
+         * @deprecated Display intents are no longer supported.
          */
+        @Deprecated
         public static final int SIZE_LARGE = 4;
 
         /**
@@ -8293,20 +8308,29 @@
          * full screen.
          * <p>This value is only applicable for custom display notifications created using
          * {@link #setDisplayIntent}.
+         *
+         * @deprecated Display intents are no longer supported.
          */
+        @Deprecated
         public static final int SIZE_FULL_SCREEN = 5;
 
         /**
          * Sentinel value for use with {@link #setHintScreenTimeout} to keep the screen on for a
          * short amount of time when this notification is displayed on the screen. This
          * is the default value.
+         *
+         * @deprecated This feature is no longer supported.
          */
+        @Deprecated
         public static final int SCREEN_TIMEOUT_SHORT = 0;
 
         /**
          * Sentinel value for use with {@link #setHintScreenTimeout} to keep the screen on
          * for a longer amount of time when this notification is displayed on the screen.
+         *
+         * @deprecated This feature is no longer supported.
          */
+        @Deprecated
         public static final int SCREEN_TIMEOUT_LONG = -1;
 
         /** Notification extra which contains wearable extensions */
@@ -8556,7 +8580,9 @@
          * @param intent the {@link PendingIntent} for an activity
          * @return this object for method chaining
          * @see android.app.Notification.WearableExtender#getDisplayIntent
+         * @deprecated Display intents are no longer supported.
          */
+        @Deprecated
         public WearableExtender setDisplayIntent(PendingIntent intent) {
             mDisplayIntent = intent;
             return this;
@@ -8565,7 +8591,10 @@
         /**
          * Get the intent to launch inside of an activity view when displaying this
          * notification. This {@code PendingIntent} should be for an activity.
+         *
+         * @deprecated Display intents are no longer supported.
          */
+        @Deprecated
         public PendingIntent getDisplayIntent() {
             return mDisplayIntent;
         }
@@ -8579,7 +8608,9 @@
          * @param page the notification to add as another page
          * @return this object for method chaining
          * @see android.app.Notification.WearableExtender#getPages
+         * @deprecated Multiple content pages are no longer supported.
          */
+        @Deprecated
         public WearableExtender addPage(Notification page) {
             mPages.add(page);
             return this;
@@ -8594,7 +8625,9 @@
          * @param pages a list of notifications
          * @return this object for method chaining
          * @see android.app.Notification.WearableExtender#getPages
+         * @deprecated Multiple content pages are no longer supported.
          */
+        @Deprecated
         public WearableExtender addPages(List<Notification> pages) {
             mPages.addAll(pages);
             return this;
@@ -8604,7 +8637,9 @@
          * Clear all additional pages present on this builder.
          * @return this object for method chaining.
          * @see #addPage
+         * @deprecated Multiple content pages are no longer supported.
          */
+        @Deprecated
         public WearableExtender clearPages() {
             mPages.clear();
             return this;
@@ -8616,7 +8651,9 @@
          * subsequent pages. This field can be used to separate a notification into multiple
          * sections.
          * @return the pages for this notification
+         * @deprecated Multiple content pages are no longer supported.
          */
+        @Deprecated
         public List<Notification> getPages() {
             return mPages;
         }
@@ -8629,7 +8666,9 @@
          * @param background the background bitmap
          * @return this object for method chaining
          * @see android.app.Notification.WearableExtender#getBackground
+         * @deprecated Background images are no longer supported.
          */
+        @Deprecated
         public WearableExtender setBackground(Bitmap background) {
             mBackground = background;
             return this;
@@ -8642,7 +8681,9 @@
          *
          * @return the background image
          * @see android.app.Notification.WearableExtender#setBackground
+         * @deprecated Background images are no longer supported.
          */
+        @Deprecated
         public Bitmap getBackground() {
             return mBackground;
         }
@@ -8688,15 +8729,11 @@
         }
 
         /**
-         * Set an action from this notification's actions to be clickable with the content of
-         * this notification. This action will no longer display separately from the
-         * notification's content.
+         * Set an action from this notification's actions as the primary action. If the action has a
+         * {@link RemoteInput} associated with it, shortcuts to the options for that input are shown
+         * directly on the notification.
          *
-         * <p>For notifications with multiple pages, child pages can also have content actions
-         * set, although the list of available actions comes from the main notification and not
-         * from the child page's notification.
-         *
-         * @param actionIndex The index of the action to hoist onto the current notification page.
+         * @param actionIndex The index of the primary action.
          *                    If wearable actions were added to the main notification, this index
          *                    will apply to that list, otherwise it will apply to the regular
          *                    actions list.
@@ -8707,13 +8744,8 @@
         }
 
         /**
-         * Get the index of the notification action, if any, that was specified as being clickable
-         * with the content of this notification. This action will no longer display separately
-         * from the notification's content.
-         *
-         * <p>For notifications with multiple pages, child pages can also have content actions
-         * set, although the list of available actions comes from the main notification and not
-         * from the child page's notification.
+         * Get the index of the notification action, if any, that was specified as the primary
+         * action.
          *
          * <p>If wearable specific actions were added to the main notification, this index will
          * apply to that list, otherwise it will apply to the regular actions list.
@@ -8938,7 +8970,9 @@
          * qr codes, as well as other simple black-and-white tickets.
          * @param hintAmbientBigPicture {@code true} to enable converstion and ambient.
          * @return this object for method chaining
+         * @deprecated This feature is no longer supported.
          */
+        @Deprecated
         public WearableExtender setHintAmbientBigPicture(boolean hintAmbientBigPicture) {
             setFlag(FLAG_BIG_PICTURE_AMBIENT, hintAmbientBigPicture);
             return this;
@@ -8950,7 +8984,9 @@
          * qr codes, as well as other simple black-and-white tickets.
          * @return {@code true} if it should be displayed in ambient, false otherwise
          * otherwise. The default value is {@code false} if this was never set.
+         * @deprecated This feature is no longer supported.
          */
+        @Deprecated
         public boolean getHintAmbientBigPicture() {
             return (mFlags & FLAG_BIG_PICTURE_AMBIENT) != 0;
         }
diff --git a/core/java/android/app/NotificationManager.java b/core/java/android/app/NotificationManager.java
index b96b39d..07a8504 100644
--- a/core/java/android/app/NotificationManager.java
+++ b/core/java/android/app/NotificationManager.java
@@ -841,9 +841,14 @@
             List<ZenModeConfig.ZenRule> rules = service.getZenRules();
             Map<String, AutomaticZenRule> ruleMap = new HashMap<>();
             for (ZenModeConfig.ZenRule rule : rules) {
-                ruleMap.put(rule.id, new AutomaticZenRule(rule.name, rule.component,
-                        rule.conditionId, zenModeToInterruptionFilter(rule.zenMode), rule.enabled,
-                        rule.creationTime));
+                if (rule.zenPolicy == null) {
+                    ruleMap.put(rule.id, new AutomaticZenRule(rule.name, rule.component,
+                            rule.conditionId, zenModeToInterruptionFilter(rule.zenMode),
+                            rule.enabled, rule.creationTime));
+                } else {
+                    ruleMap.put(rule.id, new AutomaticZenRule(rule.name, rule.component,
+                            rule.conditionId, rule.zenPolicy, rule.enabled, rule.creationTime));
+                }
             }
             return ruleMap;
         } catch (RemoteException e) {
@@ -1631,11 +1636,14 @@
         try {
             final ParceledListSlice<StatusBarNotification> parceledList
                     = service.getAppActiveNotifications(pkg, mContext.getUserId());
-            final List<StatusBarNotification> list = parceledList.getList();
-            return list.toArray(new StatusBarNotification[list.size()]);
+            if (parceledList != null) {
+                final List<StatusBarNotification> list = parceledList.getList();
+                return list.toArray(new StatusBarNotification[list.size()]);
+            }
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
+        return new StatusBarNotification[0];
     }
 
     /**
diff --git a/core/java/android/app/ProcessMemoryState.java b/core/java/android/app/ProcessMemoryState.java
index 39db16d..9bfdae0 100644
--- a/core/java/android/app/ProcessMemoryState.java
+++ b/core/java/android/app/ProcessMemoryState.java
@@ -23,19 +23,20 @@
  * The memory stats for a process.
  * {@hide}
  */
-public class ProcessMemoryState implements Parcelable {
-    public int uid;
-    public String processName;
-    public int oomScore;
-    public long pgfault;
-    public long pgmajfault;
-    public long rssInBytes;
-    public long cacheInBytes;
-    public long swapInBytes;
+public final class ProcessMemoryState implements Parcelable {
+    public final int uid;
+    public final String processName;
+    public final int oomScore;
+    public final long pgfault;
+    public final long pgmajfault;
+    public final long rssInBytes;
+    public final long cacheInBytes;
+    public final long swapInBytes;
+    public final long rssHighWatermarkInBytes;
 
     public ProcessMemoryState(int uid, String processName, int oomScore, long pgfault,
                               long pgmajfault, long rssInBytes, long cacheInBytes,
-                              long swapInBytes) {
+                              long swapInBytes, long rssHighWatermarkInBytes) {
         this.uid = uid;
         this.processName = processName;
         this.oomScore = oomScore;
@@ -44,6 +45,7 @@
         this.rssInBytes = rssInBytes;
         this.cacheInBytes = cacheInBytes;
         this.swapInBytes = swapInBytes;
+        this.rssHighWatermarkInBytes = rssHighWatermarkInBytes;
     }
 
     private ProcessMemoryState(Parcel in) {
@@ -55,6 +57,7 @@
         rssInBytes = in.readLong();
         cacheInBytes = in.readLong();
         swapInBytes = in.readLong();
+        rssHighWatermarkInBytes = in.readLong();
     }
 
     public static final Creator<ProcessMemoryState> CREATOR = new Creator<ProcessMemoryState>() {
@@ -84,5 +87,6 @@
         parcel.writeLong(rssInBytes);
         parcel.writeLong(cacheInBytes);
         parcel.writeLong(swapInBytes);
+        parcel.writeLong(rssHighWatermarkInBytes);
     }
 }
diff --git a/core/java/android/app/SmsAppService.java b/core/java/android/app/SmsAppService.java
new file mode 100644
index 0000000..3f2b025
--- /dev/null
+++ b/core/java/android/app/SmsAppService.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+package android.app;
+
+import android.content.ComponentName;
+import android.content.Intent;
+import android.os.IBinder;
+
+/**
+ * If the default SMS app has a service that extends this class, the system always tries to bind
+ * it so that the process is always running, which allows the app to have a persistent connection
+ * to the server.
+ *
+ * <p>The service must have {@link android.telephony.TelephonyManager#ACTION_SMS_APP_SERVICE}
+ * action in the intent handler, and be protected with
+ * {@link android.Manifest.permission#BIND_SMS_APP_SERVICE}. However the service does not have to
+ * be exported.
+ *
+ * <p>Apps can use
+ * {@link android.content.pm.PackageManager#setComponentEnabledSetting(ComponentName, int, int)}
+ * to disable/enable the service. Apps should use it to disable the service when it no longer needs
+ * to be running.
+ *
+ * <p>When the owner process crashes, the service will be re-bound automatically after a
+ * back-off.
+ *
+ * <p>Note the process may still be killed if the system is under heavy memory pressure, in which
+ * case the process will be re-started later.
+ */
+public class SmsAppService extends Service {
+    private final ISmsAppService mImpl;
+
+    public SmsAppService() {
+        mImpl = new ISmsAppServiceImpl();
+    }
+
+    @Override
+    public final IBinder onBind(Intent intent) {
+        return mImpl.asBinder();
+    }
+
+    private class ISmsAppServiceImpl extends ISmsAppService.Stub {
+    }
+}
diff --git a/core/java/android/app/StatusBarManager.java b/core/java/android/app/StatusBarManager.java
index 2718bfa..bf3d885 100644
--- a/core/java/android/app/StatusBarManager.java
+++ b/core/java/android/app/StatusBarManager.java
@@ -17,6 +17,7 @@
 package android.app;
 
 import android.annotation.IntDef;
+import android.annotation.Nullable;
 import android.annotation.SystemService;
 import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
@@ -208,10 +209,11 @@
     }
 
     /**
-     * Expand the settings panel and open a subPanel, pass null to just open the settings panel.
+     * Expand the settings panel and open a subPanel. If the subpanel is null or does not have a
+     * corresponding tile, the QS panel is simply expanded
      */
     @UnsupportedAppUsage
-    public void expandSettingsPanel(String subPanel) {
+    public void expandSettingsPanel(@Nullable String subPanel) {
         try {
             final IStatusBarService svc = getService();
             if (svc != null) {
diff --git a/core/java/android/app/SystemServiceRegistry.java b/core/java/android/app/SystemServiceRegistry.java
index 003f364..0044005 100644
--- a/core/java/android/app/SystemServiceRegistry.java
+++ b/core/java/android/app/SystemServiceRegistry.java
@@ -53,6 +53,8 @@
 import android.hardware.SensorManager;
 import android.hardware.SerialManager;
 import android.hardware.SystemSensorManager;
+import android.hardware.biometrics.BiometricManager;
+import android.hardware.biometrics.IBiometricService;
 import android.hardware.camera2.CameraManager;
 import android.hardware.display.DisplayManager;
 import android.hardware.face.FaceManager;
@@ -132,6 +134,7 @@
 import android.os.Vibrator;
 import android.os.health.SystemHealthManager;
 import android.os.storage.StorageManager;
+import android.permission.PermissionManager;
 import android.print.IPrintManager;
 import android.print.PrintManager;
 import android.service.oemlock.IOemLockService;
@@ -378,7 +381,7 @@
                 new StaticServiceFetcher<InputMethodManager>() {
             @Override
             public InputMethodManager createService() {
-                return InputMethodManager.getInstance();
+                return InputMethodManager.getInstanceInternal();
             }});
 
         registerService(Context.TEXT_SERVICES_MANAGER_SERVICE, TextServicesManager.class,
@@ -818,6 +821,19 @@
                     }
                 });
 
+        registerService(Context.BIOMETRIC_SERVICE, BiometricManager.class,
+                new CachedServiceFetcher<BiometricManager>() {
+                    @Override
+                    public BiometricManager createService(ContextImpl ctx)
+                            throws ServiceNotFoundException {
+                        final IBinder binder =
+                                ServiceManager.getServiceOrThrow(Context.BIOMETRIC_SERVICE);
+                        final IBiometricService service =
+                                IBiometricService.Stub.asInterface(binder);
+                        return new BiometricManager(ctx.getOuterContext(), service);
+                    }
+                });
+
         registerService(Context.TV_INPUT_SERVICE, TvInputManager.class,
                 new CachedServiceFetcher<TvInputManager>() {
             @Override
@@ -1049,6 +1065,13 @@
                             throws ServiceNotFoundException {
                         return new TimeZoneDetector();
                     }});
+
+        registerService(Context.PERMISSION_SERVICE, PermissionManager.class,
+                new CachedServiceFetcher<PermissionManager>() {
+                    @Override
+                    public PermissionManager createService(ContextImpl ctx) {
+                        return new PermissionManager(ctx.getOuterContext());
+                    }});
     }
 
     /**
diff --git a/core/java/android/app/UiAutomation.java b/core/java/android/app/UiAutomation.java
index dbb6c3d..5a25f5a 100644
--- a/core/java/android/app/UiAutomation.java
+++ b/core/java/android/app/UiAutomation.java
@@ -29,6 +29,7 @@
 import android.graphics.Rect;
 import android.graphics.Region;
 import android.hardware.display.DisplayManagerGlobal;
+import android.os.Build;
 import android.os.Handler;
 import android.os.HandlerThread;
 import android.os.IBinder;
@@ -193,7 +194,7 @@
      *
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public UiAutomation(Looper looper, IUiAutomationConnection connection) {
         if (looper == null) {
             throw new IllegalArgumentException("Looper cannot be null!");
@@ -210,7 +211,7 @@
      *
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public void connect() {
         connect(0);
     }
@@ -282,7 +283,7 @@
      *
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public void disconnect() {
         synchronized (mLock) {
             if (mIsConnecting) {
@@ -1196,10 +1197,9 @@
                     }
                     if (listener != null) {
                         // Calling out only without a lock held.
-                        mLocalCallbackHandler.post(PooledLambda.obtainRunnable(
+                        mLocalCallbackHandler.sendMessage(PooledLambda.obtainMessage(
                                 OnAccessibilityEventListener::onAccessibilityEvent,
-                                listener, AccessibilityEvent.obtain(event))
-                                .recycleOnUse());
+                                listener, AccessibilityEvent.obtain(event)));
                     }
                 }
 
diff --git a/core/java/android/app/UiModeManager.java b/core/java/android/app/UiModeManager.java
index 4f172a4..a554882 100644
--- a/core/java/android/app/UiModeManager.java
+++ b/core/java/android/app/UiModeManager.java
@@ -25,7 +25,6 @@
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.ServiceManager.ServiceNotFoundException;
-import android.util.Log;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
@@ -214,7 +213,7 @@
     }
 
     /**
-     * Sets the night mode.
+     * Sets the system-wide night mode.
      * <p>
      * The mode can be one of:
      * <ul>
@@ -231,6 +230,12 @@
      * are only effective when the {@link Configuration#UI_MODE_TYPE_CAR car}
      * or {@link Configuration#UI_MODE_TYPE_DESK desk} mode is enabled on a
      * device. Starting in API 23, changes to night mode are always effective.
+     * <p>
+     * Changes to night mode take effect globally and will result in a configuration change
+     * (and potentially an Activity lifecycle event) being applied to all running apps.
+     * Developers interested in an app-local implementation of night mode should consider using
+     * {@link android.support.v7.app.AppCompatDelegate#setDefaultNightMode(int)} to manage the
+     * -night qualifier locally.
      *
      * @param mode the night mode to set
      * @see #getNightMode()
diff --git a/core/java/android/app/WallpaperManager.java b/core/java/android/app/WallpaperManager.java
index 2a263d6..bebe79e 100644
--- a/core/java/android/app/WallpaperManager.java
+++ b/core/java/android/app/WallpaperManager.java
@@ -1288,7 +1288,7 @@
      * requires permission {@link android.Manifest.permission#INTERACT_ACROSS_USERS_FULL}.
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public int setBitmap(Bitmap fullImage, Rect visibleCropHint,
             boolean allowBackup, @SetWallpaperFlags int which, int userId)
             throws IOException {
diff --git a/core/java/android/app/WindowConfiguration.java b/core/java/android/app/WindowConfiguration.java
index e6fb5dc..096c7aa 100644
--- a/core/java/android/app/WindowConfiguration.java
+++ b/core/java/android/app/WindowConfiguration.java
@@ -28,9 +28,13 @@
 import android.graphics.Rect;
 import android.os.Parcel;
 import android.os.Parcelable;
+import android.util.proto.ProtoInputStream;
 import android.util.proto.ProtoOutputStream;
+import android.util.proto.WireTypeMismatchException;
 import android.view.DisplayInfo;
 
+import java.io.IOException;
+
 /**
  * Class that contains windowing configuration/state for other objects that contain windows directly
  * or indirectly. E.g. Activities, Task, Displays, ...
@@ -511,6 +515,38 @@
     }
 
     /**
+     * Read from a protocol buffer input stream.
+     * Protocol buffer message definition at {@link android.app.WindowConfigurationProto}
+     *
+     * @param proto   Stream to read the WindowConfiguration object from.
+     * @param fieldId Field Id of the WindowConfiguration as defined in the parent message
+     * @hide
+     */
+    public void readFromProto(ProtoInputStream proto, long fieldId)
+            throws IOException, WireTypeMismatchException {
+        final long token = proto.start(fieldId);
+        try {
+            while (proto.nextField() != ProtoInputStream.NO_MORE_FIELDS) {
+                switch (proto.getFieldNumber()) {
+                    case (int) APP_BOUNDS:
+                        mAppBounds = new Rect();
+                        mAppBounds.readFromProto(proto, APP_BOUNDS);
+                        break;
+                    case (int) WINDOWING_MODE:
+                        mWindowingMode = proto.readInt(WINDOWING_MODE);
+                        break;
+                    case (int) ACTIVITY_TYPE:
+                        mActivityType = proto.readInt(ACTIVITY_TYPE);
+                        break;
+                }
+            }
+        } finally {
+            // Let caller handle any exceptions
+            proto.end(token);
+        }
+    }
+
+    /**
      * Returns true if the activities associated with this window configuration display a shadow
      * around their border.
      * @hide
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index 78241c8..1839263 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -1183,14 +1183,6 @@
     public static final String POLICY_DISABLE_SCREEN_CAPTURE = "policy_disable_screen_capture";
 
     /**
-     * Constant to indicate the feature of mandatory backups. Used as argument to
-     * {@link #createAdminSupportIntent(String)}.
-     * @see #setMandatoryBackupTransport(ComponentName, ComponentName)
-     * @hide
-     */
-    public static final String POLICY_MANDATORY_BACKUPS = "policy_mandatory_backups";
-
-    /**
      * Constant to indicate the feature of suspending app. Use it as the value of
      * {@link #EXTRA_RESTRICTION}.
      * @hide
@@ -1200,8 +1192,7 @@
     /**
      * A String indicating a specific restricted feature. Can be a user restriction from the
      * {@link UserManager}, e.g. {@link UserManager#DISALLOW_ADJUST_VOLUME}, or one of the values
-     * {@link #POLICY_DISABLE_CAMERA}, {@link #POLICY_DISABLE_SCREEN_CAPTURE} or
-     * {@link #POLICY_MANDATORY_BACKUPS}.
+     * {@link #POLICY_DISABLE_CAMERA} or {@link #POLICY_DISABLE_SCREEN_CAPTURE}.
      * @see #createAdminSupportIntent(String)
      * @hide
      */
@@ -3459,15 +3450,14 @@
      * @param flags Bit mask of additional options: currently supported flags are
      *            {@link #WIPE_EXTERNAL_STORAGE} and {@link #WIPE_RESET_PROTECTION_DATA}.
      * @param reason a string that contains the reason for wiping data, which can be
-     *                          presented to the user.
+     *            presented to the user. If the string is null or empty, user won't be notified.
      * @throws SecurityException if the calling application does not own an active administrator
      *             that uses {@link DeviceAdminInfo#USES_POLICY_WIPE_DATA}
      * @throws IllegalArgumentException if the input reason string is null or empty.
      */
-    public void wipeData(int flags, @NonNull CharSequence reason) {
+    public void wipeData(int flags, CharSequence reason) {
         throwIfParentInstance("wipeData");
-        Preconditions.checkNotNull(reason, "CharSequence is null");
-        wipeDataInternal(flags, reason.toString());
+        wipeDataInternal(flags, reason != null ? reason.toString() : null);
     }
 
     /**
@@ -3478,7 +3468,7 @@
      * @see #wipeData(int, CharSequence)
      * @hide
      */
-    private void wipeDataInternal(int flags, @NonNull String wipeReasonForUser) {
+    private void wipeDataInternal(int flags, String wipeReasonForUser) {
         if (mService != null) {
             try {
                 mService.wipeDataWithReason(flags, wipeReasonForUser);
@@ -6919,7 +6909,7 @@
      * @param restriction Indicates for which feature the dialog should be displayed. Can be a
      *            user restriction from {@link UserManager}, e.g.
      *            {@link UserManager#DISALLOW_ADJUST_VOLUME}, or one of the constants
-     *            {@link #POLICY_DISABLE_CAMERA}, {@link #POLICY_DISABLE_SCREEN_CAPTURE}.
+     *            {@link #POLICY_DISABLE_CAMERA} or {@link #POLICY_DISABLE_SCREEN_CAPTURE}.
      * @return Intent An intent to be used to start the dialog-activity if the restriction is
      *            set by an admin, or null if the restriction does not exist or no admin set it.
      */
@@ -8921,55 +8911,6 @@
     }
 
     /**
-     * Makes backups mandatory and enforces the usage of the specified backup transport.
-     *
-     * <p>When a {@code null} backup transport is specified, backups are made optional again.
-     * <p>Only device owner can call this method.
-     * <p>If backups were disabled and a non-null backup transport {@link ComponentName} is
-     * specified, backups will be enabled.
-     * <p> If the backup service is disabled after the mandatory backup transport has been set, the
-     * mandatory backup transport is cleared.
-     *
-     * <p>NOTE: The method shouldn't be called on the main thread.
-     *
-     * @param admin admin Which {@link DeviceAdminReceiver} this request is associated with.
-     * @param backupTransportComponent The backup transport layer to be used for mandatory backups.
-     * @return {@code true} if the backup transport was successfully set; {@code false} otherwise.
-     * @throws SecurityException if {@code admin} is not a device owner.
-     * @hide
-     */
-    @WorkerThread
-    public boolean setMandatoryBackupTransport(
-            @NonNull ComponentName admin,
-            @Nullable ComponentName backupTransportComponent) {
-        throwIfParentInstance("setMandatoryBackupTransport");
-        try {
-            return mService.setMandatoryBackupTransport(admin, backupTransportComponent);
-        } catch (RemoteException re) {
-            throw re.rethrowFromSystemServer();
-        }
-    }
-
-    /**
-     * Returns the backup transport which has to be used for backups if backups are mandatory or
-     * {@code null} if backups are not mandatory.
-     *
-     * @return a {@link ComponentName} of the backup transport layer to be used if backups are
-     *         mandatory or {@code null} if backups are not mandatory.
-     * @hide
-     */
-    @UnsupportedAppUsage
-    public ComponentName getMandatoryBackupTransport() {
-        throwIfParentInstance("getMandatoryBackupTransport");
-        try {
-            return mService.getMandatoryBackupTransport();
-        } catch (RemoteException re) {
-            throw re.rethrowFromSystemServer();
-        }
-    }
-
-
-    /**
      * Called by a device owner to control the network logging feature.
      *
      * <p> Network logs contain DNS lookup and connect() library call events. The following library
diff --git a/core/java/android/app/admin/IDevicePolicyManager.aidl b/core/java/android/app/admin/IDevicePolicyManager.aidl
index 6a5f3de..35ea250 100644
--- a/core/java/android/app/admin/IDevicePolicyManager.aidl
+++ b/core/java/android/app/admin/IDevicePolicyManager.aidl
@@ -362,8 +362,6 @@
 
     void setBackupServiceEnabled(in ComponentName admin, boolean enabled);
     boolean isBackupServiceEnabled(in ComponentName admin);
-    boolean setMandatoryBackupTransport(in ComponentName admin, in ComponentName backupTransportComponent);
-    ComponentName getMandatoryBackupTransport();
 
     void setNetworkLoggingEnabled(in ComponentName admin, boolean enabled);
     boolean isNetworkLoggingEnabled(in ComponentName admin);
diff --git a/core/java/android/app/backup/IBackupManager.aidl b/core/java/android/app/backup/IBackupManager.aidl
index 1c55d8a..3e20748 100644
--- a/core/java/android/app/backup/IBackupManager.aidl
+++ b/core/java/android/app/backup/IBackupManager.aidl
@@ -299,8 +299,7 @@
      *
      * @param transport ComponentName of the service hosting the transport. This is different from
      *                  the transport's name that is returned by {@link BackupTransport#name()}.
-     * @param listener A listener object to get a callback on the transport being selected. It may
-     *                 be {@code null}.
+     * @param listener A listener object to get a callback on the transport being selected.
      */
     void selectBackupTransportAsync(in ComponentName transport, ISelectBackupTransportCallback listener);
 
diff --git a/core/java/android/app/backup/package.html b/core/java/android/app/backup/package.html
index 8b5e3ba..dd6c254 100644
--- a/core/java/android/app/backup/package.html
+++ b/core/java/android/app/backup/package.html
@@ -11,7 +11,7 @@
 
 <p>All backup and restore operations are controlled by the {@link
 android.app.backup.BackupManager}. Each application that would
-like to enable backup and preserve its data on remote strage must implement a
+like to enable backup and preserve its data on remote storage must implement a
 backup agent. A backup agent can be built by extending either {@link android.app.backup.BackupAgent}
 or {@link android.app.backup.BackupAgentHelper}. The {@link
 android.app.backup.BackupAgentHelper} class provides a wrapper around {@link
diff --git a/core/java/android/app/job/JobInfo.java b/core/java/android/app/job/JobInfo.java
index 9baa16f..556ffa24 100644
--- a/core/java/android/app/job/JobInfo.java
+++ b/core/java/android/app/job/JobInfo.java
@@ -36,6 +36,7 @@
 import android.net.NetworkSpecifier;
 import android.net.Uri;
 import android.os.BaseBundle;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -311,7 +312,7 @@
     private final long initialBackoffMillis;
     private final int backoffPolicy;
     private final int priority;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final int flags;
 
     /**
diff --git a/core/java/android/app/usage/UsageEvents.java b/core/java/android/app/usage/UsageEvents.java
index 9f22ad1..308b39e 100644
--- a/core/java/android/app/usage/UsageEvents.java
+++ b/core/java/android/app/usage/UsageEvents.java
@@ -165,6 +165,12 @@
          */
         public static final int KEYGUARD_HIDDEN = 18;
 
+        /**
+         * Keep in sync with the greatest event type value.
+         * @hide
+         */
+        public static final int MAX_EVENT_TYPE = 18;
+
         /** @hide */
         public static final int FLAG_IS_PACKAGE_INSTANT_APP = 1 << 0;
 
@@ -176,6 +182,12 @@
         public @interface EventFlags {}
 
         /**
+         * Bitwise OR all valid flag constants to create this constant.
+         * @hide
+         */
+        public static final int VALID_FLAG_BITS = FLAG_IS_PACKAGE_INSTANT_APP;
+
+        /**
          * {@hide}
          */
         @UnsupportedAppUsage
diff --git a/core/java/android/app/usage/UsageStatsManager.java b/core/java/android/app/usage/UsageStatsManager.java
index 0994332..dbb00eb 100644
--- a/core/java/android/app/usage/UsageStatsManager.java
+++ b/core/java/android/app/usage/UsageStatsManager.java
@@ -25,6 +25,7 @@
 import android.app.PendingIntent;
 import android.content.Context;
 import android.content.pm.ParceledListSlice;
+import android.os.Build;
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.util.ArrayMap;
@@ -235,7 +236,7 @@
     @UnsupportedAppUsage
     private static final UsageEvents sEmptyResults = new UsageEvents();
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final Context mContext;
     @UnsupportedAppUsage
     private final IUsageStatsManager mService;
diff --git a/core/java/android/appwidget/AppWidgetProviderInfo.java b/core/java/android/appwidget/AppWidgetProviderInfo.java
index 53315cc..d148afb 100644
--- a/core/java/android/appwidget/AppWidgetProviderInfo.java
+++ b/core/java/android/appwidget/AppWidgetProviderInfo.java
@@ -400,7 +400,7 @@
         that.initialLayout = this.initialLayout;
         that.initialKeyguardLayout = this.initialKeyguardLayout;
         that.configure = this.configure == null ? null : this.configure.clone();
-        that.label = this.label == null ? null : this.label.substring(0);
+        that.label = this.label;
         that.icon = this.icon;
         that.previewImage = this.previewImage;
         that.autoAdvanceViewId = this.autoAdvanceViewId;
diff --git a/core/java/android/bluetooth/BluetoothA2dp.java b/core/java/android/bluetooth/BluetoothA2dp.java
index d21f76d..466b9ce 100644
--- a/core/java/android/bluetooth/BluetoothA2dp.java
+++ b/core/java/android/bluetooth/BluetoothA2dp.java
@@ -27,6 +27,7 @@
 import android.content.Intent;
 import android.content.ServiceConnection;
 import android.os.Binder;
+import android.os.Build;
 import android.os.IBinder;
 import android.os.ParcelUuid;
 import android.os.RemoteException;
@@ -571,7 +572,7 @@
      * @hide
      */
     @RequiresPermission(Manifest.permission.BLUETOOTH)
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public int getPriority(BluetoothDevice device) {
         if (VDBG) log("getPriority(" + device + ")");
         try {
diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java
index 4c655b5..654bfaf 100644
--- a/core/java/android/bluetooth/BluetoothAdapter.java
+++ b/core/java/android/bluetooth/BluetoothAdapter.java
@@ -81,7 +81,8 @@
  * {@link #getBondedDevices()}; start device discovery with
  * {@link #startDiscovery()}; or create a {@link BluetoothServerSocket} to
  * listen for incoming RFComm connection requests with {@link
- * #listenUsingRfcommWithServiceRecord(String, UUID)}; or start a scan for
+ * #listenUsingRfcommWithServiceRecord(String, UUID)}; listen for incoming L2CAP Connection-oriented
+ * Channels (CoC) connection requests with {@link #listenUsingL2capChannel()}; or start a scan for
  * Bluetooth LE devices with {@link #startLeScan(LeScanCallback callback)}.
  * </p>
  * <p>This class is thread safe.</p>
@@ -2967,7 +2968,7 @@
     /**
      * Create a secure L2CAP Connection-oriented Channel (CoC) {@link BluetoothServerSocket} and
      * assign a dynamic protocol/service multiplexer (PSM) value. This socket can be used to listen
-     * for incoming connections.
+     * for incoming connections. The supported Bluetooth transport is LE only.
      * <p>A remote device connecting to this socket will be authenticated and communication on this
      * socket will be encrypted.
      * <p>Use {@link BluetoothServerSocket#accept} to retrieve incoming connections from a listening
@@ -2977,21 +2978,16 @@
      * closed, Bluetooth is turned off, or the application exits unexpectedly.
      * <p>The mechanism of disclosing the assigned dynamic PSM value to the initiating peer is
      * defined and performed by the application.
-     * <p>Use {@link BluetoothDevice#createL2capCocSocket(int, int)} to connect to this server
+     * <p>Use {@link BluetoothDevice#createL2capChannel(int)} to connect to this server
      * socket from another Android device that is given the PSM value.
      *
-     * @param transport Bluetooth transport to use, must be {@link BluetoothDevice#TRANSPORT_LE}
      * @return an L2CAP CoC BluetoothServerSocket
      * @throws IOException on error, for example Bluetooth not available, or insufficient
      * permissions, or unable to start this CoC
-     * @hide
      */
     @RequiresPermission(Manifest.permission.BLUETOOTH)
-    public BluetoothServerSocket listenUsingL2capCoc(int transport)
+    public BluetoothServerSocket listenUsingL2capChannel()
             throws IOException {
-        if (transport != BluetoothDevice.TRANSPORT_LE) {
-            throw new IllegalArgumentException("Unsupported transport: " + transport);
-        }
         BluetoothServerSocket socket =
                             new BluetoothServerSocket(BluetoothSocket.TYPE_L2CAP_LE, true, true,
                                       SOCKET_CHANNEL_AUTO_STATIC_NO_SDP, false, false);
@@ -3005,7 +3001,7 @@
             throw new IOException("Error: Unable to assign PSM value");
         }
         if (DBG) {
-            Log.d(TAG, "listenUsingL2capCoc: set assigned PSM to "
+            Log.d(TAG, "listenUsingL2capChannel: set assigned PSM to "
                     + assignedPsm);
         }
         socket.setChannel(assignedPsm);
@@ -3014,10 +3010,23 @@
     }
 
     /**
+     * TODO: Remove this hidden method once all the SL4A and other tests are updated to use the new
+     * API name, listenUsingL2capChannel.
+     * @hide
+     */
+    @RequiresPermission(Manifest.permission.BLUETOOTH)
+    public BluetoothServerSocket listenUsingL2capCoc(int transport)
+            throws IOException {
+        Log.e(TAG, "listenUsingL2capCoc: PLEASE USE THE OFFICIAL API, listenUsingL2capChannel");
+        return listenUsingL2capChannel();
+    }
+
+    /**
      * Create an insecure L2CAP Connection-oriented Channel (CoC) {@link BluetoothServerSocket} and
-     * assign a dynamic PSM value. This socket can be used to listen for incoming connections.
+     * assign a dynamic PSM value. This socket can be used to listen for incoming connections. The
+     * supported Bluetooth transport is LE only.
      * <p>The link key is not required to be authenticated, i.e the communication may be vulnerable
-     * to man-in-the-middle attacks. Use {@link #listenUsingL2capCoc}, if an encrypted and
+     * to man-in-the-middle attacks. Use {@link #listenUsingL2capChannel}, if an encrypted and
      * authenticated communication channel is desired.
      * <p>Use {@link BluetoothServerSocket#accept} to retrieve incoming connections from a listening
      * {@link BluetoothServerSocket}.
@@ -3027,21 +3036,16 @@
      * unexpectedly.
      * <p>The mechanism of disclosing the assigned dynamic PSM value to the initiating peer is
      * defined and performed by the application.
-     * <p>Use {@link BluetoothDevice#createInsecureL2capCocSocket(int, int)} to connect to this
-     * server socket from another Android device that is given the PSM value.
+     * <p>Use {@link BluetoothDevice#createInsecureL2capChannel(int)} to connect to this server
+     * socket from another Android device that is given the PSM value.
      *
-     * @param transport Bluetooth transport to use, must be {@link BluetoothDevice#TRANSPORT_LE}
      * @return an L2CAP CoC BluetoothServerSocket
      * @throws IOException on error, for example Bluetooth not available, or insufficient
      * permissions, or unable to start this CoC
-     * @hide
      */
     @RequiresPermission(Manifest.permission.BLUETOOTH)
-    public BluetoothServerSocket listenUsingInsecureL2capCoc(int transport)
+    public BluetoothServerSocket listenUsingInsecureL2capChannel()
             throws IOException {
-        if (transport != BluetoothDevice.TRANSPORT_LE) {
-            throw new IllegalArgumentException("Unsupported transport: " + transport);
-        }
         BluetoothServerSocket socket =
                             new BluetoothServerSocket(BluetoothSocket.TYPE_L2CAP_LE, false, false,
                                       SOCKET_CHANNEL_AUTO_STATIC_NO_SDP, false, false);
@@ -3055,11 +3059,24 @@
             throw new IOException("Error: Unable to assign PSM value");
         }
         if (DBG) {
-            Log.d(TAG, "listenUsingInsecureL2capOn: set assigned PSM to "
+            Log.d(TAG, "listenUsingInsecureL2capChannel: set assigned PSM to "
                     + assignedPsm);
         }
         socket.setChannel(assignedPsm);
 
         return socket;
     }
+
+    /**
+     * TODO: Remove this hidden method once all the SL4A and other tests are updated to use the new
+     * API name, listenUsingInsecureL2capChannel.
+     * @hide
+     */
+    @RequiresPermission(Manifest.permission.BLUETOOTH)
+    public BluetoothServerSocket listenUsingInsecureL2capCoc(int transport)
+            throws IOException {
+        Log.e(TAG, "listenUsingInsecureL2capCoc: PLEASE USE THE OFFICIAL API, "
+                    + "listenUsingInsecureL2capChannel");
+        return listenUsingInsecureL2capChannel();
+    }
 }
diff --git a/core/java/android/bluetooth/BluetoothDevice.java b/core/java/android/bluetooth/BluetoothDevice.java
index 818a749..73e98cd 100644
--- a/core/java/android/bluetooth/BluetoothDevice.java
+++ b/core/java/android/bluetooth/BluetoothDevice.java
@@ -1963,8 +1963,8 @@
     /**
      * Create a Bluetooth L2CAP Connection-oriented Channel (CoC) {@link BluetoothSocket} that can
      * be used to start a secure outgoing connection to the remote device with the same dynamic
-     * protocol/service multiplexer (PSM) value.
-     * <p>This is designed to be used with {@link BluetoothAdapter#listenUsingL2capCoc(int)} for
+     * protocol/service multiplexer (PSM) value. The supported Bluetooth transport is LE only.
+     * <p>This is designed to be used with {@link BluetoothAdapter#listenUsingL2capChannel()} for
      * peer-peer Bluetooth applications.
      * <p>Use {@link BluetoothSocket#connect} to initiate the outgoing connection.
      * <p>Application using this API is responsible for obtaining PSM value from remote device.
@@ -1975,59 +1975,71 @@
      * secure socket connection is not possible, use {#link createInsecureLeL2capCocSocket(int,
      * int)}.
      *
-     * @param transport Bluetooth transport to use, must be {@link #TRANSPORT_LE}
      * @param psm dynamic PSM value from remote device
      * @return a CoC #BluetoothSocket ready for an outgoing connection
      * @throws IOException on error, for example Bluetooth not available, or insufficient
      * permissions
-     * @hide
      */
     @RequiresPermission(Manifest.permission.BLUETOOTH)
-    public BluetoothSocket createL2capCocSocket(int transport, int psm) throws IOException {
+    public BluetoothSocket createL2capChannel(int psm) throws IOException {
         if (!isBluetoothEnabled()) {
-            Log.e(TAG, "createL2capCocSocket: Bluetooth is not enabled");
+            Log.e(TAG, "createL2capChannel: Bluetooth is not enabled");
             throw new IOException();
         }
-        if (transport != BluetoothDevice.TRANSPORT_LE) {
-            throw new IllegalArgumentException("Unsupported transport: " + transport);
-        }
-        if (DBG) Log.d(TAG, "createL2capCocSocket: transport=" + transport + ", psm=" + psm);
+        if (DBG) Log.d(TAG, "createL2capChannel: psm=" + psm);
         return new BluetoothSocket(BluetoothSocket.TYPE_L2CAP_LE, -1, true, true, this, psm,
                 null);
     }
 
     /**
+     * TODO: Remove this hidden method once all the SL4A and other tests are updated to use the new
+     * API name, createL2capChannel.
+     * @hide
+     */
+    @RequiresPermission(Manifest.permission.BLUETOOTH)
+    public BluetoothSocket createL2capCocSocket(int transport, int psm) throws IOException {
+        Log.e(TAG, "createL2capCocSocket: PLEASE USE THE OFFICIAL API, createL2capChannel");
+        return createL2capChannel(psm);
+    }
+
+    /**
      * Create a Bluetooth L2CAP Connection-oriented Channel (CoC) {@link BluetoothSocket} that can
      * be used to start a secure outgoing connection to the remote device with the same dynamic
-     * protocol/service multiplexer (PSM) value.
-     * <p>This is designed to be used with {@link BluetoothAdapter#listenUsingInsecureL2capCoc(int)}
-     * for peer-peer Bluetooth applications.
+     * protocol/service multiplexer (PSM) value. The supported Bluetooth transport is LE only.
+     * <p>This is designed to be used with {@link
+     * BluetoothAdapter#listenUsingInsecureL2capChannel()} for peer-peer Bluetooth applications.
      * <p>Use {@link BluetoothSocket#connect} to initiate the outgoing connection.
      * <p>Application using this API is responsible for obtaining PSM value from remote device.
      * <p> The communication channel may not have an authenticated link key, i.e. it may be subject
-     * to man-in-the-middle attacks. Use {@link #createL2capCocSocket(int, int)} if an encrypted and
+     * to man-in-the-middle attacks. Use {@link #createL2capChannel(int)} if an encrypted and
      * authenticated communication channel is possible.
      *
-     * @param transport Bluetooth transport to use, must be {@link #TRANSPORT_LE}
      * @param psm dynamic PSM value from remote device
      * @return a CoC #BluetoothSocket ready for an outgoing connection
      * @throws IOException on error, for example Bluetooth not available, or insufficient
      * permissions
+     */
+    @RequiresPermission(Manifest.permission.BLUETOOTH)
+    public BluetoothSocket createInsecureL2capChannel(int psm) throws IOException {
+        if (!isBluetoothEnabled()) {
+            Log.e(TAG, "createInsecureL2capChannel: Bluetooth is not enabled");
+            throw new IOException();
+        }
+        if (DBG) {
+            Log.d(TAG, "createInsecureL2capChannel: psm=" + psm);
+        }
+        return new BluetoothSocket(BluetoothSocket.TYPE_L2CAP_LE, -1, false, false, this, psm,
+                null);
+    }
+
+    /**
+     * TODO: Remove this hidden method once all the SL4A and other tests are updated to use the new
+     * API name, createInsecureL2capChannel.
      * @hide
      */
     @RequiresPermission(Manifest.permission.BLUETOOTH)
     public BluetoothSocket createInsecureL2capCocSocket(int transport, int psm) throws IOException {
-        if (!isBluetoothEnabled()) {
-            Log.e(TAG, "createInsecureL2capCocSocket: Bluetooth is not enabled");
-            throw new IOException();
-        }
-        if (transport != BluetoothDevice.TRANSPORT_LE) {
-            throw new IllegalArgumentException("Unsupported transport: " + transport);
-        }
-        if (DBG) {
-            Log.d(TAG, "createInsecureL2capCocSocket: transport=" + transport + ", psm=" + psm);
-        }
-        return new BluetoothSocket(BluetoothSocket.TYPE_L2CAP_LE, -1, false, false, this, psm,
-                null);
+        Log.e(TAG, "createL2capCocSocket: PLEASE USE THE OFFICIAL API, createInsecureL2capChannel");
+        return createInsecureL2capChannel(psm);
     }
 }
diff --git a/core/java/android/bluetooth/BluetoothGatt.java b/core/java/android/bluetooth/BluetoothGatt.java
index 78248ef..29d5a1c 100644
--- a/core/java/android/bluetooth/BluetoothGatt.java
+++ b/core/java/android/bluetooth/BluetoothGatt.java
@@ -17,6 +17,7 @@
 package android.bluetooth;
 
 import android.annotation.UnsupportedAppUsage;
+import android.os.Build;
 import android.os.Handler;
 import android.os.ParcelUuid;
 import android.os.RemoteException;
@@ -52,7 +53,7 @@
     private BluetoothDevice mDevice;
     @UnsupportedAppUsage
     private boolean mAutoConnect;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private int mAuthRetryState;
     private int mConnState;
     private final Object mStateLock = new Object();
diff --git a/core/java/android/bluetooth/BluetoothMapClient.java b/core/java/android/bluetooth/BluetoothMapClient.java
index 183be5f..559a59b 100644
--- a/core/java/android/bluetooth/BluetoothMapClient.java
+++ b/core/java/android/bluetooth/BluetoothMapClient.java
@@ -73,6 +73,8 @@
     /** Connection canceled before completion. */
     public static final int RESULT_CANCELED = 2;
 
+    private static final int UPLOADING_FEATURE_BITMASK = 0x08;
+
     private final IBluetoothStateChangeCallback mBluetoothStateChangeCallback =
             new IBluetoothStateChangeCallback.Stub() {
                 public void onBluetoothStateChange(boolean up) {
@@ -395,6 +397,23 @@
         return false;
     }
 
+    /**
+     * Returns the "Uploading" feature bit value from the SDP record's
+     * MapSupportedFeatures field (see Bluetooth MAP 1.4 spec, page 114).
+     * @param device The Bluetooth device to get this value for.
+     * @return Returns true if the Uploading bit value in SDP record's
+     *         MapSupportedFeatures field is set. False is returned otherwise.
+     */
+    public boolean isUploadingSupported(BluetoothDevice device) {
+        try {
+            return (mService != null && isEnabled() && isValidDevice(device))
+                && ((mService.getSupportedFeatures(device) & UPLOADING_FEATURE_BITMASK) > 0);
+        } catch (RemoteException e) {
+            Log.e(TAG, e.getMessage());
+        }
+        return false;
+    }
+
     private final ServiceConnection mConnection = new ServiceConnection() {
         public void onServiceConnected(ComponentName className, IBinder service) {
             if (DBG) Log.d(TAG, "Proxy object connected");
diff --git a/core/java/android/bluetooth/BluetoothProfile.java b/core/java/android/bluetooth/BluetoothProfile.java
index 9777b5c..3c3a01b 100644
--- a/core/java/android/bluetooth/BluetoothProfile.java
+++ b/core/java/android/bluetooth/BluetoothProfile.java
@@ -21,6 +21,7 @@
 import android.annotation.RequiresPermission;
 import android.annotation.SystemApi;
 import android.annotation.UnsupportedAppUsage;
+import android.os.Build;
 
 import java.util.List;
 
@@ -86,7 +87,7 @@
      *
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     int PAN = 5;
 
     /**
diff --git a/core/java/android/bluetooth/BluetoothServerSocket.java b/core/java/android/bluetooth/BluetoothServerSocket.java
index ba4b5a5..5fc344a 100644
--- a/core/java/android/bluetooth/BluetoothServerSocket.java
+++ b/core/java/android/bluetooth/BluetoothServerSocket.java
@@ -203,12 +203,11 @@
     /**
      * Returns the assigned dynamic protocol/service multiplexer (PSM) value for the listening L2CAP
      * Connection-oriented Channel (CoC) server socket. This server socket must be returned by the
-     * {#link BluetoothAdapter.listenUsingL2capCoc(int)} or {#link
-     * BluetoothAdapter.listenUsingInsecureL2capCoc(int)}. The returned value is undefined if this
+     * {#link BluetoothAdapter.listenUsingL2capChannel()} or {#link
+     * BluetoothAdapter.listenUsingInsecureL2capChannel()}. The returned value is undefined if this
      * method is called on non-L2CAP server sockets.
      *
      * @return the assigned PSM or LE_PSM value depending on transport
-     * @hide
      */
     public int getPsm() {
         return mChannel;
diff --git a/core/java/android/bluetooth/BluetoothSocket.java b/core/java/android/bluetooth/BluetoothSocket.java
index 780f896..3a1e2f5 100644
--- a/core/java/android/bluetooth/BluetoothSocket.java
+++ b/core/java/android/bluetooth/BluetoothSocket.java
@@ -667,6 +667,10 @@
      * @return one of {@link #TYPE_RFCOMM}, {@link #TYPE_SCO} or {@link #TYPE_L2CAP}
      */
     public int getConnectionType() {
+        if (mType == TYPE_L2CAP_LE) {
+            // Treat the LE CoC to be the same type as L2CAP.
+            return TYPE_L2CAP;
+        }
         return mType;
     }
 
diff --git a/core/java/android/content/BroadcastReceiver.java b/core/java/android/content/BroadcastReceiver.java
index b55fe76..8691ed4 100644
--- a/core/java/android/content/BroadcastReceiver.java
+++ b/core/java/android/content/BroadcastReceiver.java
@@ -21,6 +21,7 @@
 import android.app.ActivityThread;
 import android.app.IActivityManager;
 import android.app.QueuedWork;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.IBinder;
 import android.os.RemoteException;
@@ -71,22 +72,22 @@
         /** @hide */
         public static final int TYPE_UNREGISTERED = 2;
 
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         final int mType;
         @UnsupportedAppUsage
         final boolean mOrderedHint;
         @UnsupportedAppUsage
         final boolean mInitialStickyHint;
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         final IBinder mToken;
         @UnsupportedAppUsage
         final int mSendingUser;
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         final int mFlags;
 
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         int mResultCode;
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         String mResultData;
         @UnsupportedAppUsage
         Bundle mResultExtras;
@@ -96,7 +97,7 @@
         boolean mFinished;
 
         /** @hide */
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         public PendingResult(int resultCode, String resultData, Bundle resultExtras, int type,
                 boolean ordered, boolean sticky, IBinder token, int userId, int flags) {
             mResultCode = resultCode;
diff --git a/core/java/android/content/ClipData.java b/core/java/android/content/ClipData.java
index 2b7ea66..089cf10 100644
--- a/core/java/android/content/ClipData.java
+++ b/core/java/android/content/ClipData.java
@@ -25,6 +25,7 @@
 import android.content.res.AssetFileDescriptor;
 import android.graphics.Bitmap;
 import android.net.Uri;
+import android.os.Build;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.os.StrictMode;
@@ -198,7 +199,7 @@
         final CharSequence mText;
         final String mHtmlText;
         final Intent mIntent;
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         Uri mUri;
 
         /** @hide */
diff --git a/core/java/android/content/ClipboardManager.java b/core/java/android/content/ClipboardManager.java
index 3fe17840..8760efe 100644
--- a/core/java/android/content/ClipboardManager.java
+++ b/core/java/android/content/ClipboardManager.java
@@ -95,9 +95,6 @@
      * Sets the current primary clip on the clipboard.  This is the clip that
      * is involved in normal cut and paste operations.
      *
-     * <em>If the application is not the default IME or does not have input focus this will have
-     * no effect.</em>
-     *
      * @param clip The clipped data item to set.
      * @see #getPrimaryClip()
      * @see #clearPrimaryClip()
@@ -115,9 +112,6 @@
     /**
      * Clears any current primary clip on the clipboard.
      *
-     * <em>If the application is not the default IME or does not have input focus this will have
-     * no effect.</em>
-     *
      * @see #setPrimaryClip(ClipData)
      */
     public void clearPrimaryClip() {
diff --git a/core/java/android/content/ComponentCallbacks.java b/core/java/android/content/ComponentCallbacks.java
index b96c8d3..428545d 100644
--- a/core/java/android/content/ComponentCallbacks.java
+++ b/core/java/android/content/ComponentCallbacks.java
@@ -16,6 +16,7 @@
 
 package android.content;
 
+import android.annotation.NonNull;
 import android.content.res.Configuration;
 
 /**
@@ -44,7 +45,7 @@
      *
      * @param newConfig The new device configuration.
      */
-    void onConfigurationChanged(Configuration newConfig);
+    void onConfigurationChanged(@NonNull Configuration newConfig);
 
     /**
      * This is called when the overall system is running low on memory, and
diff --git a/core/java/android/content/ContentProvider.java b/core/java/android/content/ContentProvider.java
index f5339ef..a64eead 100644
--- a/core/java/android/content/ContentProvider.java
+++ b/core/java/android/content/ContentProvider.java
@@ -37,6 +37,7 @@
 import android.net.Uri;
 import android.os.AsyncTask;
 import android.os.Binder;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.CancellationSignal;
 import android.os.IBinder;
@@ -50,6 +51,8 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import com.android.internal.annotations.VisibleForTesting;
+
 import java.io.File;
 import java.io.FileDescriptor;
 import java.io.FileNotFoundException;
@@ -57,6 +60,7 @@
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Objects;
 
 /**
  * Content providers are one of the primary building blocks of Android applications, providing
@@ -98,6 +102,7 @@
  * <p>For more information about using content providers, read the
  * <a href="{@docRoot}guide/topics/providers/content-providers.html">Content Providers</a>
  * developer guide.</p>
+ * </div>
  */
 public abstract class ContentProvider implements ComponentCallbacks2 {
 
@@ -163,7 +168,7 @@
      * in the test, which is available via {@link #getPathPermissions()}.
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public ContentProvider(
             Context context,
             String readPermission,
@@ -219,7 +224,7 @@
         @Override
         public Cursor query(String callingPkg, Uri uri, @Nullable String[] projection,
                 @Nullable Bundle queryArgs, @Nullable ICancellationSignal cancellationSignal) {
-            validateIncomingUri(uri);
+            uri = validateIncomingUri(uri);
             uri = maybeGetUriWithoutUserId(uri);
             if (enforceReadPermission(callingPkg, uri, null) != AppOpsManager.MODE_ALLOWED) {
                 // The caller has no access to the data, so return an empty cursor with
@@ -267,7 +272,7 @@
         @Override
         public String getType(Uri uri) {
             // getCallingPackage() isn't available in getType(), as the javadoc states.
-            validateIncomingUri(uri);
+            uri = validateIncomingUri(uri);
             uri = maybeGetUriWithoutUserId(uri);
             Trace.traceBegin(TRACE_TAG_DATABASE, "getType");
             try {
@@ -279,7 +284,7 @@
 
         @Override
         public Uri insert(String callingPkg, Uri uri, ContentValues initialValues) {
-            validateIncomingUri(uri);
+            uri = validateIncomingUri(uri);
             int userId = getUserIdFromUri(uri);
             uri = maybeGetUriWithoutUserId(uri);
             if (enforceWritePermission(callingPkg, uri, null) != AppOpsManager.MODE_ALLOWED) {
@@ -302,7 +307,7 @@
 
         @Override
         public int bulkInsert(String callingPkg, Uri uri, ContentValues[] initialValues) {
-            validateIncomingUri(uri);
+            uri = validateIncomingUri(uri);
             uri = maybeGetUriWithoutUserId(uri);
             if (enforceWritePermission(callingPkg, uri, null) != AppOpsManager.MODE_ALLOWED) {
                 return 0;
@@ -326,11 +331,12 @@
             for (int i = 0; i < numOperations; i++) {
                 ContentProviderOperation operation = operations.get(i);
                 Uri uri = operation.getUri();
-                validateIncomingUri(uri);
                 userIds[i] = getUserIdFromUri(uri);
-                if (userIds[i] != UserHandle.USER_CURRENT) {
-                    // Removing the user id from the uri.
-                    operation = new ContentProviderOperation(operation, true);
+                uri = validateIncomingUri(uri);
+                uri = maybeGetUriWithoutUserId(uri);
+                // Rebuild operation if we changed the Uri above
+                if (!Objects.equals(operation.getUri(), uri)) {
+                    operation = new ContentProviderOperation(operation, uri);
                     operations.set(i, operation);
                 }
                 if (operation.isReadOperation()) {
@@ -367,7 +373,7 @@
 
         @Override
         public int delete(String callingPkg, Uri uri, String selection, String[] selectionArgs) {
-            validateIncomingUri(uri);
+            uri = validateIncomingUri(uri);
             uri = maybeGetUriWithoutUserId(uri);
             if (enforceWritePermission(callingPkg, uri, null) != AppOpsManager.MODE_ALLOWED) {
                 return 0;
@@ -385,7 +391,7 @@
         @Override
         public int update(String callingPkg, Uri uri, ContentValues values, String selection,
                 String[] selectionArgs) {
-            validateIncomingUri(uri);
+            uri = validateIncomingUri(uri);
             uri = maybeGetUriWithoutUserId(uri);
             if (enforceWritePermission(callingPkg, uri, null) != AppOpsManager.MODE_ALLOWED) {
                 return 0;
@@ -404,7 +410,7 @@
         public ParcelFileDescriptor openFile(
                 String callingPkg, Uri uri, String mode, ICancellationSignal cancellationSignal,
                 IBinder callerToken) throws FileNotFoundException {
-            validateIncomingUri(uri);
+            uri = validateIncomingUri(uri);
             uri = maybeGetUriWithoutUserId(uri);
             enforceFilePermission(callingPkg, uri, mode, callerToken);
             Trace.traceBegin(TRACE_TAG_DATABASE, "openFile");
@@ -422,7 +428,7 @@
         public AssetFileDescriptor openAssetFile(
                 String callingPkg, Uri uri, String mode, ICancellationSignal cancellationSignal)
                 throws FileNotFoundException {
-            validateIncomingUri(uri);
+            uri = validateIncomingUri(uri);
             uri = maybeGetUriWithoutUserId(uri);
             enforceFilePermission(callingPkg, uri, mode, null);
             Trace.traceBegin(TRACE_TAG_DATABASE, "openAssetFile");
@@ -453,7 +459,7 @@
         @Override
         public String[] getStreamTypes(Uri uri, String mimeTypeFilter) {
             // getCallingPackage() isn't available in getType(), as the javadoc states.
-            validateIncomingUri(uri);
+            uri = validateIncomingUri(uri);
             uri = maybeGetUriWithoutUserId(uri);
             Trace.traceBegin(TRACE_TAG_DATABASE, "getStreamTypes");
             try {
@@ -467,7 +473,7 @@
         public AssetFileDescriptor openTypedAssetFile(String callingPkg, Uri uri, String mimeType,
                 Bundle opts, ICancellationSignal cancellationSignal) throws FileNotFoundException {
             Bundle.setDefusable(opts, true);
-            validateIncomingUri(uri);
+            uri = validateIncomingUri(uri);
             uri = maybeGetUriWithoutUserId(uri);
             enforceFilePermission(callingPkg, uri, "r", null);
             Trace.traceBegin(TRACE_TAG_DATABASE, "openTypedAssetFile");
@@ -488,7 +494,7 @@
 
         @Override
         public Uri canonicalize(String callingPkg, Uri uri) {
-            validateIncomingUri(uri);
+            uri = validateIncomingUri(uri);
             int userId = getUserIdFromUri(uri);
             uri = getUriWithoutUserId(uri);
             if (enforceReadPermission(callingPkg, uri, null) != AppOpsManager.MODE_ALLOWED) {
@@ -506,7 +512,7 @@
 
         @Override
         public Uri uncanonicalize(String callingPkg, Uri uri) {
-            validateIncomingUri(uri);
+            uri = validateIncomingUri(uri);
             int userId = getUserIdFromUri(uri);
             uri = getUriWithoutUserId(uri);
             if (enforceReadPermission(callingPkg, uri, null) != AppOpsManager.MODE_ALLOWED) {
@@ -525,7 +531,7 @@
         @Override
         public boolean refresh(String callingPkg, Uri uri, Bundle args,
                 ICancellationSignal cancellationSignal) throws RemoteException {
-            validateIncomingUri(uri);
+            uri = validateIncomingUri(uri);
             uri = getUriWithoutUserId(uri);
             if (enforceReadPermission(callingPkg, uri, null) != AppOpsManager.MODE_ALLOWED) {
                 return false;
@@ -1964,7 +1970,7 @@
          */
         if (mContext == null) {
             mContext = context;
-            if (context != null) {
+            if (context != null && mTransport != null) {
                 mTransport.mAppOpsManager = (AppOpsManager) context.getSystemService(
                         Context.APP_OPS_SERVICE);
             }
@@ -2073,7 +2079,8 @@
     }
 
     /** @hide */
-    private void validateIncomingUri(Uri uri) throws SecurityException {
+    @VisibleForTesting
+    public Uri validateIncomingUri(Uri uri) throws SecurityException {
         String auth = uri.getAuthority();
         if (!mSingleUser) {
             int userId = getUserIdFromAuthority(auth, UserHandle.USER_CURRENT);
@@ -2092,6 +2099,15 @@
             }
             throw new SecurityException(message);
         }
+
+        // Normalize the path by removing any empty path segments, which can be
+        // a source of security issues.
+        final String encodedPath = uri.getEncodedPath();
+        if (encodedPath != null && encodedPath.indexOf("//") != -1) {
+            return uri.buildUpon().encodedPath(encodedPath.replaceAll("//+", "/")).build();
+        } else {
+            return uri;
+        }
     }
 
     /** @hide */
diff --git a/core/java/android/content/ContentProviderClient.java b/core/java/android/content/ContentProviderClient.java
index 04be572..d315f49 100644
--- a/core/java/android/content/ContentProviderClient.java
+++ b/core/java/android/content/ContentProviderClient.java
@@ -24,6 +24,7 @@
 import android.database.Cursor;
 import android.net.Uri;
 import android.os.Binder;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.CancellationSignal;
 import android.os.DeadObjectException;
@@ -73,7 +74,7 @@
     private final ContentResolver mContentResolver;
     @UnsupportedAppUsage
     private final IContentProvider mContentProvider;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final String mPackageName;
     private final boolean mStable;
 
diff --git a/core/java/android/content/ContentProviderOperation.java b/core/java/android/content/ContentProviderOperation.java
index e3d9b19..7dc4577 100644
--- a/core/java/android/content/ContentProviderOperation.java
+++ b/core/java/android/content/ContentProviderOperation.java
@@ -101,13 +101,9 @@
     }
 
     /** @hide */
-    public ContentProviderOperation(ContentProviderOperation cpo, boolean removeUserIdFromUri) {
+    public ContentProviderOperation(ContentProviderOperation cpo, Uri withUri) {
         mType = cpo.mType;
-        if (removeUserIdFromUri) {
-            mUri = ContentProvider.getUriWithoutUserId(cpo.mUri);
-        } else {
-            mUri = cpo.mUri;
-        }
+        mUri = withUri;
         mValues = cpo.mValues;
         mSelection = cpo.mSelection;
         mSelectionArgs = cpo.mSelectionArgs;
@@ -117,14 +113,6 @@
         mYieldAllowed = cpo.mYieldAllowed;
     }
 
-    /** @hide */
-    public ContentProviderOperation getWithoutUserIdInUri() {
-        if (ContentProvider.uriHasUserId(mUri)) {
-            return new ContentProviderOperation(this, true);
-        }
-        return this;
-    }
-
     public void writeToParcel(Parcel dest, int flags) {
         dest.writeInt(mType);
         Uri.writeToParcel(dest, mUri);
diff --git a/core/java/android/content/ContentUris.java b/core/java/android/content/ContentUris.java
index dbe8a7c..fd7b372 100644
--- a/core/java/android/content/ContentUris.java
+++ b/core/java/android/content/ContentUris.java
@@ -18,6 +18,8 @@
 
 import android.net.Uri;
 
+import java.util.List;
+
 /**
 * Utility methods useful for working with {@link android.net.Uri} objects
 * that use the &quot;content&quot; (content://) scheme.
@@ -109,4 +111,30 @@
     public static Uri withAppendedId(Uri contentUri, long id) {
         return appendId(contentUri.buildUpon(), id).build();
     }
+
+    /**
+     * Removes any ID from the end of the path.
+     *
+     * @param contentUri that ends with an ID
+     * @return a new URI with the ID removed from the end of the path
+     * @throws IllegalArgumentException when the given URI has no ID to remove
+     *             from the end of the path
+     */
+    public static Uri removeId(Uri contentUri) {
+        // Verify that we have a valid ID to actually remove
+        final String last = contentUri.getLastPathSegment();
+        if (last == null) {
+            throw new IllegalArgumentException("No path segments to remove");
+        } else {
+            Long.parseLong(last);
+        }
+
+        final List<String> segments = contentUri.getPathSegments();
+        final Uri.Builder builder = contentUri.buildUpon();
+        builder.path(null);
+        for (int i = 0; i < segments.size() - 1; i++) {
+            builder.appendPath(segments.get(i));
+        }
+        return builder.build();
+    }
 }
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java
index ddd12a5..d711574 100644
--- a/core/java/android/content/Context.java
+++ b/core/java/android/content/Context.java
@@ -327,6 +327,15 @@
     public static final int BIND_ADJUST_WITH_ACTIVITY = 0x0080;
 
     /**
+     * Flag for {@link #bindService}: If binding from something better than perceptible,
+     * still set the adjust below perceptible. This would be used for bound services that can
+     * afford to be evicted when under extreme memory pressure, but should be restarted as soon
+     * as possible.
+     * @hide
+     */
+    public static final int BIND_ADJUST_BELOW_PERCEPTIBLE = 0x0100;
+
+    /**
      * @hide Flag for {@link #bindService}: allows binding to a service provided
      * by an instant app. Note that the caller may not have access to the instant
      * app providing the service which is a violation of the instant app sandbox.
@@ -3022,6 +3031,7 @@
             AUDIO_SERVICE,
             FINGERPRINT_SERVICE,
             //@hide: FACE_SERVICE,
+            BIOMETRIC_SERVICE,
             MEDIA_ROUTER_SERVICE,
             TELEPHONY_SERVICE,
             TELEPHONY_SUBSCRIPTION_SERVICE,
@@ -3078,6 +3088,7 @@
             //@hide: SYSTEM_UPDATE_SERVICE,
             //@hide: TIME_DETECTOR_SERVICE,
             //@hide: TIME_ZONE_DETECTOR_SERVICE,
+            PERMISSION_SERVICE,
     })
     @Retention(RetentionPolicy.SOURCE)
     public @interface ServiceName {}
@@ -3158,11 +3169,11 @@
      *
      * <p>Note: Instant apps, for which {@link PackageManager#isInstantApp()} returns true,
      * don't have access to the following system services: {@link #DEVICE_POLICY_SERVICE},
-     * {@link #FINGERPRINT_SERVICE}, {@link #SHORTCUT_SERVICE}, {@link #USB_SERVICE},
-     * {@link #WALLPAPER_SERVICE}, {@link #WIFI_P2P_SERVICE}, {@link #WIFI_SERVICE},
-     * {@link #WIFI_AWARE_SERVICE}. For these services this method will return <code>null</code>.
-     * Generally, if you are running as an instant app you should always check whether the result
-     * of this method is null.
+     * {@link #FINGERPRINT_SERVICE}, {@link #KEYGUARD_SERVICE}, {@link #SHORTCUT_SERVICE},
+     * {@link #USB_SERVICE}, {@link #WALLPAPER_SERVICE}, {@link #WIFI_P2P_SERVICE},
+     * {@link #WIFI_SERVICE}, {@link #WIFI_AWARE_SERVICE}. For these services this method will
+     * return <code>null</code>.  Generally, if you are running as an instant app you should always
+     * check whether the result of this method is null.
      *
      * @param name The name of the desired service.
      *
@@ -3249,11 +3260,11 @@
      *
      * <p>Note: Instant apps, for which {@link PackageManager#isInstantApp()} returns true,
      * don't have access to the following system services: {@link #DEVICE_POLICY_SERVICE},
-     * {@link #FINGERPRINT_SERVICE}, {@link #SHORTCUT_SERVICE}, {@link #USB_SERVICE},
-     * {@link #WALLPAPER_SERVICE}, {@link #WIFI_P2P_SERVICE}, {@link #WIFI_SERVICE},
-     * {@link #WIFI_AWARE_SERVICE}. For these services this method will return <code>null</code>.
-     * Generally, if you are running as an instant app you should always check whether the result
-     * of this method is null.
+     * {@link #FINGERPRINT_SERVICE}, {@link #KEYGUARD_SERVICE}, {@link #SHORTCUT_SERVICE},
+     * {@link #USB_SERVICE}, {@link #WALLPAPER_SERVICE}, {@link #WIFI_P2P_SERVICE},
+     * {@link #WIFI_SERVICE}, {@link #WIFI_AWARE_SERVICE}. For these services this method will
+     * return <code>null</code>.  Generally, if you are running as an instant app you should always
+     * check whether the result of this method is null.
      *
      * @param serviceClass The class of the desired service.
      * @return The service or null if the class is not a supported system service.
@@ -3407,7 +3418,7 @@
 
     /**
      * Use with {@link #getSystemService(String)} to retrieve a
-     * {@link android.app.NotificationManager} for controlling keyguard.
+     * {@link android.app.KeyguardManager} for controlling keyguard.
      *
      * @see #getSystemService(String)
      * @see android.app.KeyguardManager
@@ -3431,7 +3442,7 @@
      *
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public static final String COUNTRY_DETECTOR = "country_detector";
 
     /**
@@ -3672,15 +3683,6 @@
     public static final String AUDIO_SERVICE = "audio";
 
     /**
-     * Use with {@link #getSystemService(String)}
-     *
-     * @hide
-     * @see #getSystemService(String)
-     * @see com.android.server.biometrics.BiometricPromptService
-     */
-    public static final String BIOMETRIC_PROMPT_SERVICE = "biometric_prompt";
-
-    /**
      * Use with {@link #getSystemService(String)} to retrieve a
      * {@link android.hardware.fingerprint.FingerprintManager} for handling management
      * of fingerprints.
@@ -3692,7 +3694,6 @@
 
     /**
      * Use with {@link #getSystemService(String)} to retrieve a
-     * Use with {@link #getSystemService} to retrieve a
      * {@link android.hardware.face.FaceManager} for handling management
      * of face authentication.
      *
@@ -3703,6 +3704,16 @@
     public static final String FACE_SERVICE = "face";
 
     /**
+     * Use with {@link #getSystemService(String)} to retrieve a
+     * {@link android.hardware.biometrics.BiometricManager} for handling management
+     * of face authentication.
+     *
+     * @see #getSystemService
+     * @see android.hardware.biometrics.BiometricManager
+     */
+    public static final String BIOMETRIC_SERVICE = "biometric";
+
+    /**
      * Use with {@link #getSystemService} to retrieve a
      * {@link android.media.MediaRouter} for controlling and managing
      * routing of media.
@@ -3850,6 +3861,14 @@
      */
     public static final String SOUND_TRIGGER_SERVICE = "soundtrigger";
 
+    /**
+     * Official published name of the (internal) permission service.
+     *
+     * @see #getSystemService(String)
+     * @hide
+     */
+    @SystemApi
+    public static final String PERMISSION_SERVICE = "permission";
 
     /**
      * Use with {@link #getSystemService(String)} to retrieve an
@@ -4292,6 +4311,12 @@
     public static final String TIME_ZONE_DETECTOR_SERVICE = "time_zone_detector";
 
     /**
+     * Binder service name for {@link AppBindingService}.
+     * @hide
+     */
+    public static final String APP_BINDING_SERVICE = "app_binding";
+
+    /**
      * Determine whether the given permission is allowed for a particular
      * process and user ID running in the system.
      *
@@ -4792,6 +4817,7 @@
      * @hide
      */
     @SystemApi
+    @TestApi
     public Context createPackageContextAsUser(
             String packageName, @CreatePackageOptions int flags, UserHandle user)
             throws PackageManager.NameNotFoundException {
diff --git a/core/java/android/content/IContentProvider.java b/core/java/android/content/IContentProvider.java
index d814e67..044ed61 100644
--- a/core/java/android/content/IContentProvider.java
+++ b/core/java/android/content/IContentProvider.java
@@ -21,6 +21,7 @@
 import android.content.res.AssetFileDescriptor;
 import android.database.Cursor;
 import android.net.Uri;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.IBinder;
 import android.os.ICancellationSignal;
@@ -80,7 +81,7 @@
             Bundle opts, ICancellationSignal signal) throws RemoteException, FileNotFoundException;
 
     /* IPC constants */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     static final String descriptor = "android.content.IContentProvider";
 
     @UnsupportedAppUsage
diff --git a/core/java/android/content/IntentFilter.java b/core/java/android/content/IntentFilter.java
index 212e132..0469a90 100644
--- a/core/java/android/content/IntentFilter.java
+++ b/core/java/android/content/IntentFilter.java
@@ -20,6 +20,7 @@
 import android.annotation.SystemApi;
 import android.annotation.UnsupportedAppUsage;
 import android.net.Uri;
+import android.os.Build;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.os.PatternMatcher;
@@ -124,7 +125,7 @@
  *
  * <p><strong>Data Authority</strong> matches if any of the given values match
  * the Intent's data authority <em>and</em> one of the data schemes in the filter
- * has matched the Intent, <em>or</em> no authories were supplied in the filter.
+ * has matched the Intent, <em>or</em> no authorities were supplied in the filter.
  * The Intent authority is determined by calling
  * {@link Intent#getData} and {@link android.net.Uri#getAuthority} on that URI.
  * <em>Note that authority matching here is <b>case sensitive</b>, unlike
@@ -655,7 +656,7 @@
      *
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public final boolean isVerified() {
         if ((mVerifyState & STATE_NEED_VERIFY_CHECKED) == STATE_NEED_VERIFY_CHECKED) {
             return ((mVerifyState & STATE_NEED_VERIFY) == STATE_NEED_VERIFY);
diff --git a/core/java/android/content/RestrictionsManager.java b/core/java/android/content/RestrictionsManager.java
index 33395ec..bbdab04 100644
--- a/core/java/android/content/RestrictionsManager.java
+++ b/core/java/android/content/RestrictionsManager.java
@@ -25,6 +25,7 @@
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.res.TypedArray;
 import android.content.res.XmlResourceParser;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.PersistableBundle;
 import android.os.RemoteException;
@@ -403,7 +404,7 @@
     private static final String TAG_RESTRICTION = "restriction";
 
     private final Context mContext;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final IRestrictionsManager mService;
 
     /**
diff --git a/core/java/android/content/SyncRequest.java b/core/java/android/content/SyncRequest.java
index fd12d7a..c18b282 100644
--- a/core/java/android/content/SyncRequest.java
+++ b/core/java/android/content/SyncRequest.java
@@ -18,6 +18,7 @@
 
 import android.accounts.Account;
 import android.annotation.UnsupportedAppUsage;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -33,10 +34,10 @@
     @UnsupportedAppUsage
     private final Account mAccountToSync;
     /** Authority string that corresponds to a ContentProvider. */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final String mAuthority;
     /** Bundle containing user info as well as sync settings. */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final Bundle mExtras;
     /** Don't allow this sync request on metered networks. */
     private final boolean mDisallowMetered;
diff --git a/core/java/android/content/pm/AndroidHidlUpdater.java b/core/java/android/content/pm/AndroidHidlUpdater.java
new file mode 100644
index 0000000..69cc94f
--- /dev/null
+++ b/core/java/android/content/pm/AndroidHidlUpdater.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+package android.content.pm;
+
+import static android.content.pm.SharedLibraryNames.ANDROID_HIDL_BASE;
+import static android.content.pm.SharedLibraryNames.ANDROID_HIDL_MANAGER;
+
+import android.content.pm.PackageParser.Package;
+import android.os.Build;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+/**
+ * Updates a package to ensure that if it targets <= P that the android.hidl.base-V1.0-java
+ * and android.hidl.manager-V1.0-java libraries are included by default.
+ *
+ * @hide
+ */
+@VisibleForTesting
+public class AndroidHidlUpdater extends PackageSharedLibraryUpdater {
+
+    @Override
+    public void updatePackage(Package pkg) {
+        // This was the default <= P and is maintained for backwards compatibility.
+        if (pkg.applicationInfo.targetSdkVersion <= Build.VERSION_CODES.P) {
+            prefixRequiredLibrary(pkg, ANDROID_HIDL_BASE);
+            prefixRequiredLibrary(pkg, ANDROID_HIDL_MANAGER);
+        }
+    }
+}
diff --git a/core/java/android/content/pm/LauncherApps.java b/core/java/android/content/pm/LauncherApps.java
index 46877ca..44e652f 100644
--- a/core/java/android/content/pm/LauncherApps.java
+++ b/core/java/android/content/pm/LauncherApps.java
@@ -42,6 +42,7 @@
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.Icon;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
@@ -136,7 +137,7 @@
             "android.content.pm.extra.PIN_ITEM_REQUEST";
 
     private final Context mContext;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final ILauncherApps mService;
     @UnsupportedAppUsage
     private final PackageManager mPm;
diff --git a/core/java/android/content/pm/PackageBackwardCompatibility.java b/core/java/android/content/pm/PackageBackwardCompatibility.java
index a16f81b..03eefed 100644
--- a/core/java/android/content/pm/PackageBackwardCompatibility.java
+++ b/core/java/android/content/pm/PackageBackwardCompatibility.java
@@ -53,6 +53,8 @@
                 "android.content.pm.OrgApacheHttpLegacyUpdater",
                 RemoveUnnecessaryOrgApacheHttpLegacyLibrary::new);
 
+        packageUpdaters.add(new AndroidHidlUpdater());
+
         // Add this before adding AndroidTestBaseUpdater so that android.test.base comes before
         // android.test.mock.
         packageUpdaters.add(new AndroidTestRunnerSplitUpdater());
diff --git a/core/java/android/content/pm/PackageInfo.java b/core/java/android/content/pm/PackageInfo.java
index d9d1777..9e20503 100644
--- a/core/java/android/content/pm/PackageInfo.java
+++ b/core/java/android/content/pm/PackageInfo.java
@@ -234,7 +234,7 @@
     /**
      * Array of all signatures read from the package file. This is only filled
      * in if the flag {@link PackageManager#GET_SIGNATURES} was set. A package
-     * must be singed with at least one certificate which is at position zero.
+     * must be signed with at least one certificate which is at position zero.
      * The package can be signed with additional certificates which appear as
      * subsequent entries.
      *
diff --git a/core/java/android/content/pm/PackageInstaller.java b/core/java/android/content/pm/PackageInstaller.java
index 316ace1..8fab7bb 100644
--- a/core/java/android/content/pm/PackageInstaller.java
+++ b/core/java/android/content/pm/PackageInstaller.java
@@ -32,6 +32,7 @@
 import android.content.pm.PackageManager.InstallReason;
 import android.graphics.Bitmap;
 import android.net.Uri;
+import android.os.Build;
 import android.os.FileBridge;
 import android.os.Handler;
 import android.os.Looper;
@@ -960,6 +961,10 @@
          * If the installer is the device owner or the affiliated profile owner, there will be no
          * user intervention.
          *
+         * @param statusReceiver Called when the state of the session changes. Intents
+         *                       sent to this receiver contain {@link #EXTRA_STATUS}. Refer to the
+         *                       individual status codes on how to handle them.
+         *
          * @throws SecurityException if streams opened through
          *             {@link #openWrite(String, long, long)} are still open.
          *
@@ -986,7 +991,9 @@
          * that new properties are added to the session with a new API revision. In this case the
          * callers need to be updated.
          *
-         * @param statusReceiver Callbacks called when the state of the session changes.
+         * @param statusReceiver Called when the state of the session changes. Intents
+         *                       sent to this receiver contain {@link #EXTRA_STATUS}. Refer to the
+         *                       individual status codes on how to handle them.
          *
          * @hide
          */
@@ -1091,7 +1098,7 @@
         public static final int UID_UNKNOWN = -1;
 
         /** {@hide} */
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         public int mode = MODE_INVALID;
         /** {@hide} */
         @UnsupportedAppUsage
@@ -1104,13 +1111,13 @@
         @UnsupportedAppUsage
         public long sizeBytes = -1;
         /** {@hide} */
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         public String appPackageName;
         /** {@hide} */
         @UnsupportedAppUsage
         public Bitmap appIcon;
         /** {@hide} */
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         public String appLabel;
         /** {@hide} */
         public long appIconLastModified = -1;
@@ -1435,40 +1442,40 @@
     public static class SessionInfo implements Parcelable {
 
         /** {@hide} */
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         public int sessionId;
         /** {@hide} */
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         public String installerPackageName;
         /** {@hide} */
         @UnsupportedAppUsage
         public String resolvedBaseCodePath;
         /** {@hide} */
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         public float progress;
         /** {@hide} */
         @UnsupportedAppUsage
         public boolean sealed;
         /** {@hide} */
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         public boolean active;
 
         /** {@hide} */
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         public int mode;
         /** {@hide} */
         public @InstallReason int installReason;
         /** {@hide} */
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         public long sizeBytes;
         /** {@hide} */
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         public String appPackageName;
         /** {@hide} */
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         public Bitmap appIcon;
         /** {@hide} */
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         public CharSequence appLabel;
 
         /** {@hide} */
diff --git a/core/java/android/content/pm/PackageItemInfo.java b/core/java/android/content/pm/PackageItemInfo.java
index 0c70a3d..19af609 100644
--- a/core/java/android/content/pm/PackageItemInfo.java
+++ b/core/java/android/content/pm/PackageItemInfo.java
@@ -22,7 +22,6 @@
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.SystemApi;
-import android.annotation.UnsupportedAppUsage;
 import android.content.res.XmlResourceParser;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
@@ -103,8 +102,14 @@
 
     private static volatile boolean sForceSafeLabels = false;
 
-    /** {@hide} */
-    @UnsupportedAppUsage
+    /**
+     * Always use {@link #loadSafeLabel safe labels} when calling {@link #loadLabel}.
+     *
+     * @param forceSafeLabels {@code true} to enforce safe labels
+     *
+     * @hide
+     */
+    @SystemApi
     public static void setForceSafeLabels(boolean forceSafeLabels) {
         sForceSafeLabels = forceSafeLabels;
     }
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index 5b0e856..3032d16 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -1170,6 +1170,14 @@
     public static final int INSTALL_FAILED_SANDBOX_VERSION_DOWNGRADE = -27;
 
     /**
+     * Installation return code: this is passed in the {@link PackageInstaller#EXTRA_LEGACY_STATUS}
+     * if the new package requires at least one split and it was not provided.
+     *
+     * @hide
+     */
+    public static final int INSTALL_FAILED_MISSING_SPLIT = -28;
+
+    /**
      * Installation parse return code: this is passed in the
      * {@link PackageInstaller#EXTRA_LEGACY_STATUS} if the parser was given a path that is not a
      * file, or does not end with the expected '.apk' extension.
@@ -1979,6 +1987,8 @@
      * </ul>
      * A version of 1.1.0 or higher also indicates:
      * <ul>
+     * <li>The {@code VK_ANDROID_external_memory_android_hardware_buffer} extension is
+     *     supported.</li>
      * <li>{@code SYNC_FD} external semaphore and fence handles are supported.</li>
      * <li>{@code VkPhysicalDeviceSamplerYcbcrConversionFeatures::samplerYcbcrConversion} is
      *     supported.</li>
@@ -3276,11 +3286,14 @@
             @PermissionInfoFlags int flags) throws NameNotFoundException;
 
     /**
-     * Returns true if some permissions are individually controlled
+     * Returns true if some permissions are individually controlled.
+     *
+     * <p>The user usually grants and revokes permission-groups. If this option is set some
+     * dangerous system permissions can be revoked/granted by the user separately from their group.
      *
      * @hide
      */
-    @TestApi
+    @TestApi @SystemApi
     public abstract boolean arePermissionsIndividuallyControlled();
 
     /**
@@ -5922,8 +5935,8 @@
             case INSTALL_FAILED_DUPLICATE_PERMISSION: return "INSTALL_FAILED_DUPLICATE_PERMISSION";
             case INSTALL_FAILED_NO_MATCHING_ABIS: return "INSTALL_FAILED_NO_MATCHING_ABIS";
             case INSTALL_FAILED_ABORTED: return "INSTALL_FAILED_ABORTED";
-            case INSTALL_FAILED_BAD_DEX_METADATA:
-                return "INSTALL_FAILED_BAD_DEX_METADATA";
+            case INSTALL_FAILED_BAD_DEX_METADATA: return "INSTALL_FAILED_BAD_DEX_METADATA";
+            case INSTALL_FAILED_MISSING_SPLIT: return "INSTALL_FAILED_MISSING_SPLIT";
             default: return Integer.toString(status);
         }
     }
@@ -5974,6 +5987,7 @@
             case INSTALL_FAILED_DUPLICATE_PERMISSION: return PackageInstaller.STATUS_FAILURE_CONFLICT;
             case INSTALL_FAILED_NO_MATCHING_ABIS: return PackageInstaller.STATUS_FAILURE_INCOMPATIBLE;
             case INSTALL_FAILED_ABORTED: return PackageInstaller.STATUS_FAILURE_ABORTED;
+            case INSTALL_FAILED_MISSING_SPLIT: return PackageInstaller.STATUS_FAILURE_INCOMPATIBLE;
             default: return PackageInstaller.STATUS_FAILURE;
         }
     }
diff --git a/core/java/android/content/pm/PackageManagerInternal.java b/core/java/android/content/pm/PackageManagerInternal.java
index 20e1454e..b5b4432 100644
--- a/core/java/android/content/pm/PackageManagerInternal.java
+++ b/core/java/android/content/pm/PackageManagerInternal.java
@@ -136,24 +136,6 @@
     public abstract void setVoiceInteractionPackagesProvider(PackagesProvider provider);
 
     /**
-     * Sets the SMS packages provider.
-     * @param provider The packages provider.
-     */
-    public abstract void setSmsAppPackagesProvider(PackagesProvider provider);
-
-    /**
-     * Sets the dialer packages provider.
-     * @param provider The packages provider.
-     */
-    public abstract void setDialerAppPackagesProvider(PackagesProvider provider);
-
-    /**
-     * Sets the sim call manager packages provider.
-     * @param provider The packages provider.
-     */
-    public abstract void setSimCallManagerPackagesProvider(PackagesProvider provider);
-
-    /**
      * Sets the Use Open Wifi packages provider.
      * @param provider The packages provider.
      */
@@ -166,26 +148,28 @@
     public abstract void setSyncAdapterPackagesprovider(SyncAdapterPackagesProvider provider);
 
     /**
-     * Requests granting of the default permissions to the current default SMS app.
-     * @param packageName The default SMS package name.
-     * @param userId The user for which to grant the permissions.
+     * Called when the package for the default dialer changed
+     *
+     * @param packageName the new dialer package
+     * @param userId user for which the change was made
      */
-    public abstract void grantDefaultPermissionsToDefaultSmsApp(String packageName, int userId);
+    public void onDefaultDialerAppChanged(String packageName, int userId) {}
 
     /**
-     * Requests granting of the default permissions to the current default dialer app.
-     * @param packageName The default dialer package name.
-     * @param userId The user for which to grant the permissions.
+     * Called when the package for the default SMS handler changed
+     *
+     * @param packageName the new sms package
+     * @param userId user for which the change was made
      */
-    public abstract void grantDefaultPermissionsToDefaultDialerApp(String packageName, int userId);
+    public void onDefaultSmsAppChanged(String packageName, int userId) {}
 
     /**
-     * Requests granting of the default permissions to the current default sim call manager.
-     * @param packageName The default sim call manager package name.
-     * @param userId The user for which to grant the permissions.
+     * Called when the package for the default sim call manager changed
+     *
+     * @param packageName the new sms package
+     * @param userId user for which the change was made
      */
-    public abstract void grantDefaultPermissionsToDefaultSimCallManager(String packageName,
-            int userId);
+    public void onDefaultSimCallManagerAppChanged(String packageName, int userId) {}
 
     /**
      * Requests granting of the default permissions to the current default Use Open Wifi app.
@@ -446,8 +430,8 @@
          *
          * @param packageName The package to check for
          * @param uid the uid in which the package is running
-         * @return {@link USER_TRUSTED} if the user has trusted the package, {@link USER_BLOCKED}
-         * if user has blocked requests from the package, {@link USER_DEFAULT} if the user response
+         * @return {@link #USER_TRUSTED} if the user has trusted the package, {@link #USER_BLOCKED}
+         * if user has blocked requests from the package, {@link #USER_DEFAULT} if the user response
          * is not yet available
          */
         int getPackageTrustedToInstallApps(String packageName, int uid);
@@ -561,7 +545,7 @@
     /**
      * Returns a list without a change observer.
      *
-     * {@see #getPackageList(PackageListObserver)}
+     * @see #getPackageList(PackageListObserver)
      */
     public @NonNull PackageList getPackageList() {
         return getPackageList(null);
@@ -590,7 +574,16 @@
     /**
      * Returns a package object for the disabled system package name.
      */
-    public abstract @Nullable PackageParser.Package getDisabledPackage(@NonNull String packageName);
+    public abstract @Nullable PackageParser.Package getDisabledSystemPackage(
+            @NonNull String packageName);
+
+    /**
+     * Returns the package name for the disabled system package.
+     *
+     * This is equivalent to
+     * {@link #getDisabledSystemPackage(String)}.{@link PackageParser.Package#packageName}
+     */
+    public abstract @Nullable String getDisabledSystemPackageName(@NonNull String packageName);
 
     /**
      * Returns whether or not the component is the resolver activity.
@@ -619,7 +612,7 @@
      * Access may be limited based upon whether the calling or target applications
      * are instant applications.
      *
-     * @see #canAccessInstantApps(int)
+     * @see #canAccessInstantApps
      */
     public abstract boolean filterAppAccess(
             @Nullable PackageParser.Package pkg, int callingUid, int userId);
@@ -635,6 +628,9 @@
     public abstract void updatePermissionFlagsTEMP(@NonNull String permName,
             @NonNull String packageName, int flagMask, int flagValues, int userId);
 
+    /** Returns whether the given package was signed by the platform */
+    public abstract boolean isPlatformSigned(String pkg);
+
     /**
      * Returns true if it's still safe to restore data backed up from this app's version
      * that was signed with restoringFromSigHash.
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index 6d49362..f5431ca 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -40,7 +40,6 @@
 import static android.os.Trace.TRACE_TAG_PACKAGE_MANAGER;
 import static android.view.WindowManager.LayoutParams.ROTATION_ANIMATION_UNSPECIFIED;
 
-import android.Manifest;
 import android.annotation.IntDef;
 import android.annotation.IntRange;
 import android.annotation.NonNull;
@@ -73,6 +72,7 @@
 import android.os.Trace;
 import android.os.UserHandle;
 import android.os.storage.StorageManager;
+import android.permission.PermissionManager;
 import android.system.ErrnoException;
 import android.system.OsConstants;
 import android.system.StructStat;
@@ -258,19 +258,6 @@
         }
     }
 
-    /** @hide */
-    public static class SplitPermissionInfo {
-        public final String rootPerm;
-        public final String[] newPerms;
-        public final int targetSdk;
-
-        public SplitPermissionInfo(String rootPerm, String[] newPerms, int targetSdk) {
-            this.rootPerm = rootPerm;
-            this.newPerms = newPerms;
-            this.targetSdk = targetSdk;
-        }
-    }
-
     /**
      * List of new permissions that have been added since 1.0.
      * NOTE: These must be declared in SDK version order, with permissions
@@ -290,34 +277,6 @@
     };
 
     /**
-     * List of permissions that have been split into more granular or dependent
-     * permissions.
-     * @hide
-     */
-    public static final PackageParser.SplitPermissionInfo SPLIT_PERMISSIONS[] =
-        new PackageParser.SplitPermissionInfo[] {
-            // READ_EXTERNAL_STORAGE is always required when an app requests
-            // WRITE_EXTERNAL_STORAGE, because we can't have an app that has
-            // write access without read access.  The hack here with the target
-            // target SDK version ensures that this grant is always done.
-            new PackageParser.SplitPermissionInfo(android.Manifest.permission.WRITE_EXTERNAL_STORAGE,
-                    new String[] { android.Manifest.permission.READ_EXTERNAL_STORAGE },
-                    android.os.Build.VERSION_CODES.CUR_DEVELOPMENT+1),
-            new PackageParser.SplitPermissionInfo(android.Manifest.permission.READ_CONTACTS,
-                    new String[] { android.Manifest.permission.READ_CALL_LOG },
-                    android.os.Build.VERSION_CODES.JELLY_BEAN),
-            new PackageParser.SplitPermissionInfo(android.Manifest.permission.WRITE_CONTACTS,
-                    new String[] { android.Manifest.permission.WRITE_CALL_LOG },
-                    android.os.Build.VERSION_CODES.JELLY_BEAN),
-            new PackageParser.SplitPermissionInfo(Manifest.permission.ACCESS_FINE_LOCATION,
-                    new String[] { android.Manifest.permission.ACCESS_BACKGROUND_LOCATION },
-                    android.os.Build.VERSION_CODES.P0),
-            new PackageParser.SplitPermissionInfo(Manifest.permission.ACCESS_COARSE_LOCATION,
-                    new String[] { android.Manifest.permission.ACCESS_BACKGROUND_LOCATION },
-                    android.os.Build.VERSION_CODES.P0),
-    };
-
-    /**
      * @deprecated callers should move to explicitly passing around source path.
      */
     @Deprecated
@@ -493,10 +452,12 @@
         public final boolean use32bitAbi;
         public final boolean extractNativeLibs;
         public final boolean isolatedSplits;
+        public final boolean isSplitRequired;
 
         public ApkLite(String codePath, String packageName, String splitName,
                 boolean isFeatureSplit,
-                String configForSplit, String usesSplitName, int versionCode, int versionCodeMajor,
+                String configForSplit, String usesSplitName, boolean isSplitRequired,
+                int versionCode, int versionCodeMajor,
                 int revisionCode, int installLocation, List<VerifierInfo> verifiers,
                 SigningDetails signingDetails, boolean coreApp,
                 boolean debuggable, boolean multiArch, boolean use32bitAbi,
@@ -519,6 +480,7 @@
             this.use32bitAbi = use32bitAbi;
             this.extractNativeLibs = extractNativeLibs;
             this.isolatedSplits = isolatedSplits;
+            this.isSplitRequired = isSplitRequired;
         }
 
         public long getLongVersionCode() {
@@ -1736,6 +1698,7 @@
         boolean extractNativeLibs = true;
         boolean isolatedSplits = false;
         boolean isFeatureSplit = false;
+        boolean isSplitRequired = false;
         String configForSplit = null;
         String usesSplitName = null;
 
@@ -1758,6 +1721,8 @@
                 configForSplit = attrs.getAttributeValue(i);
             } else if (attr.equals("isFeatureSplit")) {
                 isFeatureSplit = attrs.getAttributeBooleanValue(i, false);
+            } else if (attr.equals("isSplitRequired")) {
+                isSplitRequired = attrs.getAttributeBooleanValue(i, false);
             }
         }
 
@@ -1813,8 +1778,8 @@
         }
 
         return new ApkLite(codePath, packageSplit.first, packageSplit.second, isFeatureSplit,
-                configForSplit, usesSplitName, versionCode, versionCodeMajor, revisionCode,
-                installLocation, verifiers, signingDetails, coreApp, debuggable,
+                configForSplit, usesSplitName, isSplitRequired, versionCode, versionCodeMajor,
+                revisionCode, installLocation, verifiers, signingDetails, coreApp, debuggable,
                 multiArch, use32bitAbi, extractNativeLibs, isolatedSplits);
     }
 
@@ -1902,7 +1867,7 @@
      * @throws XmlPullParserException
      * @throws IOException
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private Package parseBaseApk(String apkPath, Resources res, XmlResourceParser parser, int flags,
             String[] outError) throws XmlPullParserException, IOException {
         final String splitName;
@@ -2474,16 +2439,18 @@
             Slog.i(TAG, implicitPerms.toString());
         }
 
-        final int NS = PackageParser.SPLIT_PERMISSIONS.length;
+
+        final int NS = PermissionManager.SPLIT_PERMISSIONS.length;
         for (int is=0; is<NS; is++) {
-            final PackageParser.SplitPermissionInfo spi
-                    = PackageParser.SPLIT_PERMISSIONS[is];
-            if (pkg.applicationInfo.targetSdkVersion >= spi.targetSdk
-                    || !pkg.requestedPermissions.contains(spi.rootPerm)) {
+            final PermissionManager.SplitPermissionInfo spi =
+                    PermissionManager.SPLIT_PERMISSIONS[is];
+            if (pkg.applicationInfo.targetSdkVersion >= spi.getTargetSdk()
+                    || !pkg.requestedPermissions.contains(spi.getRootPermission())) {
                 continue;
             }
-            for (int in=0; in<spi.newPerms.length; in++) {
-                final String perm = spi.newPerms[in];
+            final String[] newPerms = spi.getNewPermissions();
+            for (int in = 0; in < newPerms.length; in++) {
+                final String perm = newPerms[in];
                 if (!pkg.requestedPermissions.contains(perm)) {
                     pkg.requestedPermissions.add(perm);
                 }
diff --git a/core/java/android/content/pm/ParceledListSlice.java b/core/java/android/content/pm/ParceledListSlice.java
index 2eef165..dccc524 100644
--- a/core/java/android/content/pm/ParceledListSlice.java
+++ b/core/java/android/content/pm/ParceledListSlice.java
@@ -17,6 +17,7 @@
 package android.content.pm;
 
 import android.annotation.UnsupportedAppUsage;
+import android.os.Build;
 import android.os.Parcel;
 import android.os.Parcelable;
 
@@ -72,7 +73,7 @@
     }
 
     @SuppressWarnings("unchecked")
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public static final Parcelable.ClassLoaderCreator<ParceledListSlice> CREATOR =
             new Parcelable.ClassLoaderCreator<ParceledListSlice>() {
         public ParceledListSlice createFromParcel(Parcel in) {
diff --git a/core/java/android/content/pm/SharedLibraryNames.java b/core/java/android/content/pm/SharedLibraryNames.java
index 83e8663..387d29e8 100644
--- a/core/java/android/content/pm/SharedLibraryNames.java
+++ b/core/java/android/content/pm/SharedLibraryNames.java
@@ -22,6 +22,10 @@
  */
 public class SharedLibraryNames {
 
+    static final String ANDROID_HIDL_BASE = "android.hidl.base-V1.0-java";
+
+    static final String ANDROID_HIDL_MANAGER = "android.hidl.manager-V1.0-java";
+
     static final String ANDROID_TEST_BASE = "android.test.base";
 
     static final String ANDROID_TEST_MOCK = "android.test.mock";
diff --git a/core/java/android/content/pm/ShortcutInfo.java b/core/java/android/content/pm/ShortcutInfo.java
index 546c213..ec2e2fd 100644
--- a/core/java/android/content/pm/ShortcutInfo.java
+++ b/core/java/android/content/pm/ShortcutInfo.java
@@ -30,6 +30,7 @@
 import android.content.res.Resources.NotFoundException;
 import android.graphics.Bitmap;
 import android.graphics.drawable.Icon;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -1243,7 +1244,7 @@
      * @hide
      */
     @Nullable
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public Icon getIcon() {
         return mIcon;
     }
diff --git a/core/java/android/content/pm/ShortcutManager.java b/core/java/android/content/pm/ShortcutManager.java
index 60ac1f0..2d59003 100644
--- a/core/java/android/content/pm/ShortcutManager.java
+++ b/core/java/android/content/pm/ShortcutManager.java
@@ -26,6 +26,7 @@
 import android.content.Intent;
 import android.content.IntentSender;
 import android.graphics.drawable.AdaptiveIconDrawable;
+import android.os.Build;
 import android.os.Build.VERSION_CODES;
 import android.os.RemoteException;
 import android.os.ServiceManager;
@@ -55,7 +56,7 @@
     private static final String TAG = "ShortcutManager";
 
     private final Context mContext;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final IShortcutService mService;
 
     /**
diff --git a/core/java/android/content/res/Configuration.java b/core/java/android/content/res/Configuration.java
index 121b432..799f8e5 100644
--- a/core/java/android/content/res/Configuration.java
+++ b/core/java/android/content/res/Configuration.java
@@ -46,6 +46,7 @@
 import android.annotation.TestApi;
 import android.annotation.UnsupportedAppUsage;
 import android.app.WindowConfiguration;
+import android.content.LocaleProto;
 import android.content.pm.ActivityInfo;
 import android.content.pm.ActivityInfo.Config;
 import android.os.Build;
@@ -54,7 +55,9 @@
 import android.os.Parcelable;
 import android.text.TextUtils;
 import android.util.DisplayMetrics;
+import android.util.proto.ProtoInputStream;
 import android.util.proto.ProtoOutputStream;
+import android.util.proto.WireTypeMismatchException;
 import android.view.View;
 
 import com.android.internal.util.XmlUtils;
@@ -67,6 +70,7 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.util.ArrayList;
+import java.util.List;
 import java.util.Locale;
 
 /**
@@ -1086,12 +1090,14 @@
     /**
      * Write to a protocol buffer output stream.
      * Protocol buffer message definition at {@link android.content.ConfigurationProto}
+     * Has the option to ignore fields that don't need to be persisted to disk.
      *
      * @param protoOutputStream Stream to write the Configuration object to.
      * @param fieldId           Field Id of the Configuration as defined in the parent message
+     * @param persisted         Note if this proto will be persisted to disk
      * @hide
      */
-    public void writeToProto(ProtoOutputStream protoOutputStream, long fieldId) {
+    public void writeToProto(ProtoOutputStream protoOutputStream, long fieldId, boolean persisted) {
         final long token = protoOutputStream.start(fieldId);
         protoOutputStream.write(FONT_SCALE, fontScale);
         protoOutputStream.write(MCC, mcc);
@@ -1113,13 +1119,137 @@
         protoOutputStream.write(SCREEN_HEIGHT_DP, screenHeightDp);
         protoOutputStream.write(SMALLEST_SCREEN_WIDTH_DP, smallestScreenWidthDp);
         protoOutputStream.write(DENSITY_DPI, densityDpi);
-        if (windowConfiguration != null) {
+        // For persistence, we do not care about window configuration
+        if (!persisted && windowConfiguration != null) {
             windowConfiguration.writeToProto(protoOutputStream, WINDOW_CONFIGURATION);
         }
         protoOutputStream.end(token);
     }
 
     /**
+     * Write to a protocol buffer output stream.
+     * Protocol buffer message definition at {@link android.content.ConfigurationProto}
+     *
+     * @param protoOutputStream Stream to write the Configuration object to.
+     * @param fieldId           Field Id of the Configuration as defined in the parent message
+     * @hide
+     */
+    public void writeToProto(ProtoOutputStream protoOutputStream, long fieldId) {
+        writeToProto(protoOutputStream, fieldId, false);
+    }
+
+    /**
+     * Read from a protocol buffer output stream.
+     * Protocol buffer message definition at {@link android.content.ConfigurationProto}
+     *
+     * @param protoInputStream Stream to read the Configuration object from.
+     * @param fieldId          Field Id of the Configuration as defined in the parent message
+     * @hide
+     */
+    public void readFromProto(ProtoInputStream protoInputStream, long fieldId) throws IOException {
+        final long token = protoInputStream.start(fieldId);
+        final List<Locale> list = new ArrayList();
+        try {
+            while (protoInputStream.nextField() != ProtoInputStream.NO_MORE_FIELDS) {
+                switch (protoInputStream.getFieldNumber()) {
+                    case (int) FONT_SCALE:
+                        fontScale = protoInputStream.readFloat(FONT_SCALE);
+                        break;
+                    case (int) MCC:
+                        mcc = protoInputStream.readInt(MCC);
+                        break;
+                    case (int) MNC:
+                        mnc = protoInputStream.readInt(MNC);
+                        break;
+                    case (int) LOCALES:
+                        // Parse the Locale here to handle all the repeated Locales
+                        // The LocaleList will be created when the message is completed
+                        final long localeToken = protoInputStream.start(LOCALES);
+                        String language = "";
+                        String country = "";
+                        String variant = "";
+                        try {
+                            while (protoInputStream.nextField()
+                                    != ProtoInputStream.NO_MORE_FIELDS) {
+                                switch (protoInputStream.getFieldNumber()) {
+                                    case (int) LocaleProto.LANGUAGE:
+                                        language = protoInputStream.readString(
+                                                LocaleProto.LANGUAGE);
+                                        break;
+                                    case (int) LocaleProto.COUNTRY:
+                                        country = protoInputStream.readString(LocaleProto.COUNTRY);
+                                        break;
+                                    case (int) LocaleProto.VARIANT:
+                                        variant = protoInputStream.readString(LocaleProto.VARIANT);
+                                        break;
+                                }
+                            }
+                        } catch (WireTypeMismatchException wtme) {
+                            // rethrow for caller deal with
+                            throw wtme;
+                        } finally {
+                            protoInputStream.end(localeToken);
+                            list.add(new Locale(language, country, variant));
+                        }
+                        break;
+                    case (int) SCREEN_LAYOUT:
+                        screenLayout = protoInputStream.readInt(SCREEN_LAYOUT);
+                        break;
+                    case (int) COLOR_MODE:
+                        colorMode = protoInputStream.readInt(COLOR_MODE);
+                        break;
+                    case (int) TOUCHSCREEN:
+                        touchscreen = protoInputStream.readInt(TOUCHSCREEN);
+                        break;
+                    case (int) KEYBOARD:
+                        keyboard = protoInputStream.readInt(KEYBOARD);
+                        break;
+                    case (int) KEYBOARD_HIDDEN:
+                        keyboardHidden = protoInputStream.readInt(KEYBOARD_HIDDEN);
+                        break;
+                    case (int) HARD_KEYBOARD_HIDDEN:
+                        hardKeyboardHidden = protoInputStream.readInt(HARD_KEYBOARD_HIDDEN);
+                        break;
+                    case (int) NAVIGATION:
+                        navigation = protoInputStream.readInt(NAVIGATION);
+                        break;
+                    case (int) NAVIGATION_HIDDEN:
+                        navigationHidden = protoInputStream.readInt(NAVIGATION_HIDDEN);
+                        break;
+                    case (int) ORIENTATION:
+                        orientation = protoInputStream.readInt(ORIENTATION);
+                        break;
+                    case (int) UI_MODE:
+                        uiMode = protoInputStream.readInt(UI_MODE);
+                        break;
+                    case (int) SCREEN_WIDTH_DP:
+                        screenWidthDp = protoInputStream.readInt(SCREEN_WIDTH_DP);
+                        break;
+                    case (int) SCREEN_HEIGHT_DP:
+                        screenHeightDp = protoInputStream.readInt(SCREEN_HEIGHT_DP);
+                        break;
+                    case (int) SMALLEST_SCREEN_WIDTH_DP:
+                        smallestScreenWidthDp = protoInputStream.readInt(SMALLEST_SCREEN_WIDTH_DP);
+                        break;
+                    case (int) DENSITY_DPI:
+                        densityDpi = protoInputStream.readInt(DENSITY_DPI);
+                        break;
+                    case (int) WINDOW_CONFIGURATION:
+                        windowConfiguration.readFromProto(protoInputStream, WINDOW_CONFIGURATION);
+                        break;
+                }
+            }
+        } finally {
+            // Let caller handle any exceptions
+            if (list.size() > 0) {
+                //Create the LocaleList from the collected Locales
+                setLocales(new LocaleList(list.toArray(new Locale[list.size()])));
+            }
+            protoInputStream.end(token);
+        }
+    }
+
+    /**
      * Write full {@link android.content.ResourcesConfigurationProto} to protocol buffer output
      * stream.
      *
diff --git a/core/java/android/content/res/Resources.java b/core/java/android/content/res/Resources.java
index 43e1612..88b1c88 100644
--- a/core/java/android/content/res/Resources.java
+++ b/core/java/android/content/res/Resources.java
@@ -1129,10 +1129,8 @@
      *
      * @throws NotFoundException Throws NotFoundException if the given ID does
      *         not exist or is not a floating-point value.
-     * @hide Pending API council approval.
      */
-    @UnsupportedAppUsage
-    public float getFloat(int id) {
+    public float getFloat(@DimenRes int id) {
         final TypedValue value = obtainTempTypedValue();
         try {
             mResourcesImpl.getValue(id, value, true);
diff --git a/core/java/android/content/res/package.html b/core/java/android/content/res/package.html
index 3d0bac1..3970b16 100644
--- a/core/java/android/content/res/package.html
+++ b/core/java/android/content/res/package.html
@@ -1,7 +1,7 @@
 <HTML>
 <BODY>
 <p>Contains classes for accessing application resources,
-such as raw asset files, colors, drawables, media or other other files
+such as raw asset files, colors, drawables, media, or other files
 in the package, plus important device configuration details
 (orientation, input types, etc.) that affect how the application may behave.</p>
 
@@ -9,4 +9,4 @@
 href="{@docRoot}guide/topics/resources/index.html">Application Resources</a> guide.</p>
 {@more}
 </BODY>
-</HTML>
\ No newline at end of file
+</HTML>
diff --git a/core/java/android/database/AbstractCursor.java b/core/java/android/database/AbstractCursor.java
index c6c2aa5..8bcaa45 100644
--- a/core/java/android/database/AbstractCursor.java
+++ b/core/java/android/database/AbstractCursor.java
@@ -19,6 +19,7 @@
 import android.annotation.UnsupportedAppUsage;
 import android.content.ContentResolver;
 import android.net.Uri;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.util.Log;
@@ -79,7 +80,7 @@
     private final DataSetObservable mDataSetObservable = new DataSetObservable();
     private final ContentObservable mContentObservable = new ContentObservable();
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private Bundle mExtras = Bundle.EMPTY;
 
     /* -------------------------------------------------------- */
diff --git a/core/java/android/database/sqlite/SQLiteCustomFunction.java b/core/java/android/database/sqlite/SQLiteCustomFunction.java
index ec20458..41b78d3 100644
--- a/core/java/android/database/sqlite/SQLiteCustomFunction.java
+++ b/core/java/android/database/sqlite/SQLiteCustomFunction.java
@@ -17,6 +17,7 @@
 package android.database.sqlite;
 
 import android.annotation.UnsupportedAppUsage;
+import android.os.Build;
 
 /**
  * Describes a custom SQL function.
@@ -24,7 +25,7 @@
  * @hide
  */
 public final class SQLiteCustomFunction {
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public final String name;
     @UnsupportedAppUsage
     public final int numArgs;
diff --git a/core/java/android/database/sqlite/SQLiteDatabase.java b/core/java/android/database/sqlite/SQLiteDatabase.java
index 01557c5..eb5c720 100644
--- a/core/java/android/database/sqlite/SQLiteDatabase.java
+++ b/core/java/android/database/sqlite/SQLiteDatabase.java
@@ -649,7 +649,7 @@
      * successful so far. Do not call setTransactionSuccessful before calling this. When this
      * returns a new transaction will have been created but not marked as successful.
      * @return true if the transaction was yielded
-     * @deprecated if the db is locked more than once (becuase of nested transactions) then the lock
+     * @deprecated if the db is locked more than once (because of nested transactions) then the lock
      *   will not be yielded. Use yieldIfContendedSafely instead.
      */
     @Deprecated
diff --git a/core/java/android/database/sqlite/SQLiteOpenHelper.java b/core/java/android/database/sqlite/SQLiteOpenHelper.java
index 1377806..19c6745 100644
--- a/core/java/android/database/sqlite/SQLiteOpenHelper.java
+++ b/core/java/android/database/sqlite/SQLiteOpenHelper.java
@@ -49,7 +49,7 @@
  * <p class="note"><strong>Note:</strong> this class assumes
  * monotonically increasing version numbers for upgrades.</p>
  */
-public abstract class SQLiteOpenHelper {
+public abstract class SQLiteOpenHelper implements AutoCloseable {
     private static final String TAG = SQLiteOpenHelper.class.getSimpleName();
 
     private final Context mContext;
diff --git a/core/java/android/database/sqlite/SQLiteQueryBuilder.java b/core/java/android/database/sqlite/SQLiteQueryBuilder.java
index b705ebb..4fce2d7 100644
--- a/core/java/android/database/sqlite/SQLiteQueryBuilder.java
+++ b/core/java/android/database/sqlite/SQLiteQueryBuilder.java
@@ -34,6 +34,7 @@
 
 import java.util.Arrays;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Objects;
@@ -50,6 +51,8 @@
             Pattern.compile("\\s*\\d+\\s*(,\\s*\\d+\\s*)?");
 
     private Map<String, String> mProjectionMap = null;
+    private List<Pattern> mProjectionGreylist = null;
+
     @UnsupportedAppUsage
     private String mTables = "";
     @UnsupportedAppUsage
@@ -164,6 +167,17 @@
     }
 
     /**
+     * Sets a projection greylist of columns that will be allowed through, even
+     * when {@link #setStrict(boolean)} is enabled. This provides a way for
+     * abusive custom columns like {@code COUNT(*)} to continue working.
+     *
+     * @hide
+     */
+    public void setProjectionGreylist(List<Pattern> projectionGreylist) {
+        mProjectionGreylist = projectionGreylist;
+    }
+
+    /**
      * Sets the cursor factory to be used for the query.  You can use
      * one factory for all queries on a database but it is normally
      * easier to specify the factory when doing this query.
@@ -809,6 +823,24 @@
                         continue;
                     }
 
+                    // If greylist is configured, we might be willing to let
+                    // this custom column bypass our strict checks.
+                    if (mProjectionGreylist != null) {
+                        boolean match = false;
+                        for (Pattern p : mProjectionGreylist) {
+                            if (p.matcher(userColumn).matches()) {
+                                match = true;
+                                break;
+                            }
+                        }
+
+                        if (match) {
+                            Log.w(TAG, "Allowing abusive custom column: " + userColumn);
+                            projection[i] = userColumn;
+                            continue;
+                        }
+                    }
+
                     throw new IllegalArgumentException("Invalid column "
                             + projectionIn[i]);
                 }
diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java
index 8e96f56..ac863b2 100644
--- a/core/java/android/hardware/Camera.java
+++ b/core/java/android/hardware/Camera.java
@@ -31,6 +31,7 @@
 import android.graphics.SurfaceTexture;
 import android.media.AudioAttributes;
 import android.media.IAudioService;
+import android.os.Build;
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.Looper;
@@ -165,7 +166,7 @@
     private static final int CAMERA_MSG_PREVIEW_METADATA = 0x400;
     private static final int CAMERA_MSG_FOCUS_MOVE       = 0x800;
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private long mNativeContext; // accessed by native methods
     private EventHandler mEventHandler;
     private ShutterCallback mShutterCallback;
@@ -721,7 +722,7 @@
     /**
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public native final void setPreviewSurface(Surface surface) throws IOException;
 
     /**
diff --git a/core/java/android/hardware/GeomagneticField.java b/core/java/android/hardware/GeomagneticField.java
index 94f2ac0..0d7b695 100644
--- a/core/java/android/hardware/GeomagneticField.java
+++ b/core/java/android/hardware/GeomagneticField.java
@@ -31,7 +31,7 @@
  * Android may use a newer version of the model.
  */
 public class GeomagneticField {
-    // The magnetic field at a given point, in nonoteslas in geodetic
+    // The magnetic field at a given point, in nanoteslas in geodetic
     // coordinates.
     private float mX;
     private float mY;
@@ -278,7 +278,7 @@
     }
 
     /**
-     * @return  Horizontal component of the field strength in nonoteslas.
+     * @return  Horizontal component of the field strength in nanoteslas.
      */
     public float getHorizontalStrength() {
         return (float) Math.hypot(mX, mY);
diff --git a/core/java/android/hardware/HardwareBuffer.java b/core/java/android/hardware/HardwareBuffer.java
index c17aabb..d2c0e7b 100644
--- a/core/java/android/hardware/HardwareBuffer.java
+++ b/core/java/android/hardware/HardwareBuffer.java
@@ -20,6 +20,7 @@
 import android.annotation.LongDef;
 import android.annotation.NonNull;
 import android.annotation.UnsupportedAppUsage;
+import android.os.Build;
 import android.os.Parcel;
 import android.os.Parcelable;
 
@@ -184,7 +185,7 @@
      * Private use only. See {@link #create(int, int, int, int, long)}. May also be
      * called from JNI using an already allocated native <code>HardwareBuffer</code>.
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private HardwareBuffer(long nativeObject) {
         mNativeObject = nativeObject;
 
diff --git a/core/java/android/hardware/biometrics/BiometricAuthenticator.java b/core/java/android/hardware/biometrics/BiometricAuthenticator.java
index dbb2527..c604ff1 100644
--- a/core/java/android/hardware/biometrics/BiometricAuthenticator.java
+++ b/core/java/android/hardware/biometrics/BiometricAuthenticator.java
@@ -202,31 +202,6 @@
     }
 
     /**
-     * @param error
-     * @param vendorCode
-     * @return the error string associated with this error
-     */
-    default String getErrorString(int error, int vendorCode) {
-        throw new UnsupportedOperationException("Stub!");
-    }
-
-    /**
-     * @param acquireInfo
-     * @param vendorCode
-     * @return the help string associated with this code
-     */
-    default String getAcquiredString(int acquireInfo, int vendorCode) {
-        throw new UnsupportedOperationException("Stub!");
-    }
-
-    /**
-     * @return one of {@link #TYPE_FINGERPRINT} {@link #TYPE_IRIS} or {@link #TYPE_FACE}
-     */
-    default int getType() {
-        throw new UnsupportedOperationException("Stub!");
-    }
-
-    /**
      * This call warms up the hardware and starts scanning for valid biometrics. It terminates
      * when {@link AuthenticationCallback#onAuthenticationError(int,
      * CharSequence)} is called or when {@link AuthenticationCallback#onAuthenticationSucceeded(
diff --git a/core/java/android/hardware/biometrics/BiometricManager.java b/core/java/android/hardware/biometrics/BiometricManager.java
new file mode 100644
index 0000000..eea5f9b
--- /dev/null
+++ b/core/java/android/hardware/biometrics/BiometricManager.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.hardware.biometrics;
+
+import static android.Manifest.permission.USE_BIOMETRIC;
+
+import android.annotation.RequiresPermission;
+import android.content.Context;
+import android.os.RemoteException;
+
+/**
+ * A class that contains biometric utilities. For authentication, see {@link BiometricPrompt}.
+ */
+public class BiometricManager {
+
+    private final Context mContext;
+    private final IBiometricService mService;
+
+    /**
+     * @hide
+     * @param context
+     * @param service
+     */
+    public BiometricManager(Context context, IBiometricService service) {
+        mContext = context;
+        mService = service;
+    }
+
+    /**
+     * Determine if there is at least one biometric enrolled.
+     *
+     * @return true if at least one biometric is enrolled, false otherwise
+     */
+    @RequiresPermission(USE_BIOMETRIC)
+    public boolean hasEnrolledBiometrics() {
+        try {
+            return mService.hasEnrolledBiometrics(mContext.getOpPackageName());
+        } catch (RemoteException e) {
+            return false;
+        }
+    }
+}
diff --git a/core/java/android/hardware/biometrics/BiometricPrompt.java b/core/java/android/hardware/biometrics/BiometricPrompt.java
index 1cca27d..83998cc 100644
--- a/core/java/android/hardware/biometrics/BiometricPrompt.java
+++ b/core/java/android/hardware/biometrics/BiometricPrompt.java
@@ -225,7 +225,7 @@
 
     private final IBinder mToken = new Binder();
     private final Context mContext;
-    private final IBiometricPromptService mService;
+    private final IBiometricService mService;
     private final Bundle mBundle;
     private final ButtonInfo mPositiveButtonInfo;
     private final ButtonInfo mNegativeButtonInfo;
@@ -250,8 +250,8 @@
         }
     };
 
-    IBiometricPromptServiceReceiver mBiometricPromptServiceReceiver =
-            new IBiometricPromptServiceReceiver.Stub() {
+    IBiometricServiceReceiver mBiometricServiceReceiver =
+            new IBiometricServiceReceiver.Stub() {
 
         @Override
         public void onAuthenticationSucceeded(long deviceId) throws RemoteException {
@@ -290,8 +290,8 @@
         mBundle = bundle;
         mPositiveButtonInfo = positiveButtonInfo;
         mNegativeButtonInfo = negativeButtonInfo;
-        mService = IBiometricPromptService.Stub.asInterface(
-                ServiceManager.getService(Context.BIOMETRIC_PROMPT_SERVICE));
+        mService = IBiometricService.Stub.asInterface(
+                ServiceManager.getService(Context.BIOMETRIC_SERVICE));
     }
 
     /**
@@ -348,7 +348,6 @@
          * @hide
          */
         public AuthenticationResult(CryptoObject crypto) {
-            // For compatibility, this extends from common base class as FingerprintManager does.
             // Identifier and userId is not used for BiometricPrompt.
             super(crypto, null /* identifier */, 0 /* userId */);
         }
@@ -410,8 +409,8 @@
     }
 
     /**
-     * This call warms up the fingerprint hardware, displays a system-provided dialog, and starts
-     * scanning for a fingerprint. It terminates when {@link
+     * This call warms up the biometric hardware, displays a system-provided dialog, and starts
+     * scanning for a biometric. It terminates when {@link
      * AuthenticationCallback#onAuthenticationError(int, CharSequence)} is called, when {@link
      * AuthenticationCallback#onAuthenticationSucceeded( AuthenticationResult)}, or when the user
      * dismisses the system-provided dialog, at which point the crypto object becomes invalid. This
@@ -453,8 +452,8 @@
     }
 
     /**
-     * This call warms up the fingerprint hardware, displays a system-provided dialog, and starts
-     * scanning for a fingerprint. It terminates when {@link
+     * This call warms up the biometric hardware, displays a system-provided dialog, and starts
+     * scanning for a biometric. It terminates when {@link
      * AuthenticationCallback#onAuthenticationError(int, CharSequence)} is called, when {@link
      * AuthenticationCallback#onAuthenticationSucceeded( AuthenticationResult)} is called, or when
      * the user dismisses the system-provided dialog.  This operation can be canceled by using the
@@ -516,7 +515,7 @@
             mAuthenticationCallback = callback;
             final long sessionId = crypto != null ? crypto.getOpId() : 0;
             mService.authenticate(mToken, sessionId, mContext.getUserId(),
-                    mBiometricPromptServiceReceiver, 0 /* flags */, mContext.getOpPackageName(),
+                    mBiometricServiceReceiver, 0 /* flags */, mContext.getOpPackageName(),
                     mBundle, mDialogReceiver);
         } catch (RemoteException e) {
             Log.e(TAG, "Remote exception while authenticating", e);
diff --git a/core/java/android/hardware/biometrics/IBiometricPromptService.aidl b/core/java/android/hardware/biometrics/IBiometricService.aidl
similarity index 66%
rename from core/java/android/hardware/biometrics/IBiometricPromptService.aidl
rename to core/java/android/hardware/biometrics/IBiometricService.aidl
index 2c93579..fd9d572 100644
--- a/core/java/android/hardware/biometrics/IBiometricPromptService.aidl
+++ b/core/java/android/hardware/biometrics/IBiometricService.aidl
@@ -18,21 +18,25 @@
 
 import android.os.Bundle;
 import android.hardware.biometrics.IBiometricPromptReceiver;
-import android.hardware.biometrics.IBiometricPromptServiceReceiver;
+import android.hardware.biometrics.IBiometricServiceReceiver;
 
 /**
- * Communication channel from BiometricPrompt to BiometricPromptService. The interface does not
- * expose specific biometric modalities. The system will use the default biometric for apps. On
- * devices with more than one, the choice is dictated by user preference in Settings.
+ * Communication channel from BiometricPrompt and BiometricManager to BiometricService. The
+ * interface does not expose specific biometric modalities. The system will use the default
+ * biometric for apps. On devices with more than one, the choice is dictated by user preference in
+ * Settings.
  * @hide
  */
-interface IBiometricPromptService {
+interface IBiometricService {
     // Requests authentication. The service choose the appropriate biometric to use, and show
     // the corresponding BiometricDialog.
     void authenticate(IBinder token, long sessionId, int userId,
-            IBiometricPromptServiceReceiver receiver, int flags, String opPackageName,
+            IBiometricServiceReceiver receiver, int flags, String opPackageName,
             in Bundle bundle, IBiometricPromptReceiver dialogReceiver);
 
     // Cancel authentication for the given sessionId
     void cancelAuthentication(IBinder token, String opPackageName);
+
+    // Returns true if the user has at least one enrolled biometric.
+    boolean hasEnrolledBiometrics(String opPackageName);
 }
\ No newline at end of file
diff --git a/core/java/android/hardware/biometrics/IBiometricPromptServiceReceiver.aidl b/core/java/android/hardware/biometrics/IBiometricServiceReceiver.aidl
similarity index 88%
rename from core/java/android/hardware/biometrics/IBiometricPromptServiceReceiver.aidl
rename to core/java/android/hardware/biometrics/IBiometricServiceReceiver.aidl
index 1ef6c52..71abdd2 100644
--- a/core/java/android/hardware/biometrics/IBiometricPromptServiceReceiver.aidl
+++ b/core/java/android/hardware/biometrics/IBiometricServiceReceiver.aidl
@@ -20,10 +20,10 @@
 import android.os.UserHandle;
 
 /**
- * Communication channel from the BiometricPromptService back to BiometricPrompt.
+ * Communication channel from the BiometricService back to BiometricPrompt.
  * @hide
  */
-oneway interface IBiometricPromptServiceReceiver {
+oneway interface IBiometricServiceReceiver {
     void onAuthenticationSucceeded(long deviceId);
     void onAuthenticationFailed(long deviceId);
     void onError(long deviceId, int error, String message);
diff --git a/core/java/android/hardware/camera2/CameraCharacteristics.java b/core/java/android/hardware/camera2/CameraCharacteristics.java
index 35584ae..46e66e0 100644
--- a/core/java/android/hardware/camera2/CameraCharacteristics.java
+++ b/core/java/android/hardware/camera2/CameraCharacteristics.java
@@ -188,6 +188,7 @@
     @UnsupportedAppUsage
     private final CameraMetadataNative mProperties;
     private List<CameraCharacteristics.Key<?>> mKeys;
+    private List<CameraCharacteristics.Key<?>> mKeysNeedingPermission;
     private List<CaptureRequest.Key<?>> mAvailableRequestKeys;
     private List<CaptureRequest.Key<?>> mAvailableSessionKeys;
     private List<CaptureRequest.Key<?>> mAvailablePhysicalRequestKeys;
@@ -268,11 +269,50 @@
         }
 
         mKeys = Collections.unmodifiableList(
-                getKeys(getClass(), getKeyClass(), this, filterTags));
+                getKeys(getClass(), getKeyClass(), this, filterTags, true));
         return mKeys;
     }
 
     /**
+     * <p>Returns a subset of the list returned by {@link #getKeys} with all keys that
+     * require camera clients to obtain the {@link android.Manifest.permission#CAMERA} permission.
+     * </p>
+     *
+     * <p>If an application calls {@link CameraManager#getCameraCharacteristics} without holding the
+     * {@link android.Manifest.permission#CAMERA} permission,
+     * all keys in this list will not be available, and calling {@link #get} will
+     * return null for those keys. If the application obtains the
+     * {@link android.Manifest.permission#CAMERA} permission, then the
+     * CameraCharacteristics from a call to a subsequent
+     * {@link CameraManager#getCameraCharacteristics} will have the keys available.</p>
+     *
+     * <p>The list returned is not modifiable, so any attempts to modify it will throw
+     * a {@code UnsupportedOperationException}.</p>
+     *
+     * <p>Each key is only listed once in the list. The order of the keys is undefined.</p>
+     *
+     * @return List of camera characteristic keys that require the
+     *         {@link android.Manifest.permission#CAMERA} permission. The list can be null in case
+     *         there are no currently present keys that need additional permission.
+     */
+    public List<Key<?>> getKeysNeedingPermission() {
+        if (mKeysNeedingPermission == null) {
+            Object crKey = CameraCharacteristics.Key.class;
+            Class<CameraCharacteristics.Key<?>> crKeyTyped =
+                (Class<CameraCharacteristics.Key<?>>)crKey;
+
+            int[] filterTags = get(REQUEST_CHARACTERISTIC_KEYS_NEEDING_PERMISSION);
+            if (filterTags == null) {
+                return null;
+            }
+            mKeysNeedingPermission =
+                getAvailableKeyList(CameraCharacteristics.class, crKeyTyped, filterTags,
+                        /*includeSynthetic*/ false);
+        }
+        return mKeysNeedingPermission;
+    }
+
+    /**
      * <p>Returns a subset of {@link #getAvailableCaptureRequestKeys} keys that the
      * camera device can pass as part of the capture session initialization.</p>
      *
@@ -328,17 +368,18 @@
                 return null;
             }
             mAvailableSessionKeys =
-                    getAvailableKeyList(CaptureRequest.class, crKeyTyped, filterTags);
+                    getAvailableKeyList(CaptureRequest.class, crKeyTyped, filterTags,
+                            /*includeSynthetic*/ false);
         }
         return mAvailableSessionKeys;
     }
 
     /**
      * <p>Returns a subset of {@link #getAvailableCaptureRequestKeys} keys that can
-     * be overriden for physical devices backing a logical multi-camera.</p>
+     * be overridden for physical devices backing a logical multi-camera.</p>
      *
      * <p>This is a subset of android.request.availableRequestKeys which contains a list
-     * of keys that can be overriden using {@link CaptureRequest.Builder#setPhysicalCameraKey }.
+     * of keys that can be overridden using {@link CaptureRequest.Builder#setPhysicalCameraKey }.
      * The respective value of such request key can be obtained by calling
      * {@link CaptureRequest.Builder#getPhysicalCameraKey }. Capture requests that contain
      * individual physical device requests must be built via
@@ -353,7 +394,7 @@
      *
      * <p>Each key is only listed once in the list. The order of the keys is undefined.</p>
      *
-     * @return List of keys that can be overriden in individual physical device requests.
+     * @return List of keys that can be overridden in individual physical device requests.
      * In case the camera device doesn't support such keys the list can be null.
      */
     @SuppressWarnings({"unchecked"})
@@ -367,7 +408,8 @@
                 return null;
             }
             mAvailablePhysicalRequestKeys =
-                    getAvailableKeyList(CaptureRequest.class, crKeyTyped, filterTags);
+                    getAvailableKeyList(CaptureRequest.class, crKeyTyped, filterTags,
+                            /*includeSynthetic*/ false);
         }
         return mAvailablePhysicalRequestKeys;
     }
@@ -399,7 +441,8 @@
                         + "in the characteristics");
             }
             mAvailableRequestKeys =
-                    getAvailableKeyList(CaptureRequest.class, crKeyTyped, filterTags);
+                    getAvailableKeyList(CaptureRequest.class, crKeyTyped, filterTags,
+                            /*includeSynthetic*/ true);
         }
         return mAvailableRequestKeys;
     }
@@ -430,7 +473,8 @@
                 throw new AssertionError("android.request.availableResultKeys must be non-null "
                         + "in the characteristics");
             }
-            mAvailableResultKeys = getAvailableKeyList(CaptureResult.class, crKeyTyped, filterTags);
+            mAvailableResultKeys = getAvailableKeyList(CaptureResult.class, crKeyTyped, filterTags,
+                    /*includeSynthetic*/ true);
         }
         return mAvailableResultKeys;
     }
@@ -445,13 +489,16 @@
      *
      * @param metadataClass The subclass of CameraMetadata that you want to get the keys for.
      * @param keyClass The class of the metadata key, e.g. CaptureRequest.Key.class
+     * @param filterTags An array of tags to be used for filtering
+     * @param includeSynthetic Include public syntethic tag by default.
      *
      * @return List of keys supported by this CameraDevice for metadataClass.
      *
      * @throws IllegalArgumentException if metadataClass is not a subclass of CameraMetadata
      */
     private <TKey> List<TKey>
-    getAvailableKeyList(Class<?> metadataClass, Class<TKey> keyClass, int[] filterTags) {
+    getAvailableKeyList(Class<?> metadataClass, Class<TKey> keyClass, int[] filterTags,
+            boolean includeSynthetic) {
 
         if (metadataClass.equals(CameraMetadata.class)) {
             throw new AssertionError(
@@ -462,7 +509,7 @@
         }
 
         List<TKey> staticKeyList = getKeys(
-                metadataClass, keyClass, /*instance*/null, filterTags);
+                metadataClass, keyClass, /*instance*/null, filterTags, includeSynthetic);
         return Collections.unmodifiableList(staticKeyList);
     }
 
@@ -474,6 +521,13 @@
      * REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA capability. If the camera device
      * doesn't have the capability, the return value will be an empty set. </p>
      *
+     * <p>Prior to API level 29, all returned IDs are guaranteed to be returned by {@link
+     * CameraManager#getCameraIdList}, and can be opened directly by
+     * {@link CameraManager#openCamera}. Starting from API level 29, for each of the returned ID,
+     * if it's also returned by {@link CameraManager#getCameraIdList}, it can be used as a
+     * standalone camera by {@link CameraManager#openCamera}. Otherwise, the camera ID can only be
+     * used as part of the current logical camera.</p>
+     *
      * <p>The set returned is not modifiable, so any attempts to modify it will throw
      * a {@code UnsupportedOperationException}.</p>
      *
@@ -1103,6 +1157,7 @@
      * <p><b>Limited capability</b> -
      * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
      * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      *
      * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
      * @see CameraCharacteristics#LENS_INFO_FOCUS_DISTANCE_CALIBRATION
@@ -1124,6 +1179,7 @@
      * <p><b>Limited capability</b> -
      * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
      * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      *
      * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
      * @see CameraCharacteristics#LENS_INFO_FOCUS_DISTANCE_CALIBRATION
@@ -1238,6 +1294,7 @@
      * <p><b>Units</b>:
      * Quaternion coefficients</p>
      * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      */
     @PublicKey
     public static final Key<float[]> LENS_POSE_ROTATION =
@@ -1273,6 +1330,7 @@
      * with PRIMARY_CAMERA.</p>
      * <p><b>Units</b>: Meters</p>
      * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      *
      * @see CameraCharacteristics#LENS_DISTORTION
      * @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
@@ -1344,6 +1402,7 @@
      * {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}
      * coordinate system.</p>
      * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      *
      * @see CameraCharacteristics#LENS_DISTORTION
      * @see CameraCharacteristics#LENS_POSE_ROTATION
@@ -1387,6 +1446,7 @@
      * <p><b>Units</b>:
      * Unitless coefficients.</p>
      * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      *
      * @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
      * @deprecated
@@ -1411,6 +1471,7 @@
      *   <li>{@link #LENS_POSE_REFERENCE_GYROSCOPE GYROSCOPE}</li>
      * </ul></p>
      * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      *
      * @see CameraCharacteristics#LENS_POSE_TRANSLATION
      * @see #LENS_POSE_REFERENCE_PRIMARY_CAMERA
@@ -1452,6 +1513,7 @@
      * <p><b>Units</b>:
      * Unitless coefficients.</p>
      * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      *
      * @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
      * @see CameraCharacteristics#LENS_RADIAL_DISTORTION
@@ -1860,10 +1922,10 @@
             new Key<int[]>("android.request.availableSessionKeys", int[].class);
 
     /**
-     * <p>A subset of the available request keys that can be overriden for
+     * <p>A subset of the available request keys that can be overridden for
      * physical devices backing a logical multi-camera.</p>
      * <p>This is a subset of android.request.availableRequestKeys which contains a list
-     * of keys that can be overriden using {@link CaptureRequest.Builder#setPhysicalCameraKey }.
+     * of keys that can be overridden using {@link CaptureRequest.Builder#setPhysicalCameraKey }.
      * The respective value of such request key can be obtained by calling
      * {@link CaptureRequest.Builder#getPhysicalCameraKey }. Capture requests that contain
      * individual physical device requests must be built via
@@ -1880,6 +1942,21 @@
             new Key<int[]>("android.request.availablePhysicalCameraRequestKeys", int[].class);
 
     /**
+     * <p>A list of camera characteristics keys that are only available
+     * in case the camera client has camera permission.</p>
+     * <p>The entry contains a subset of
+     * {@link android.hardware.camera2.CameraCharacteristics#getKeys } that require camera clients
+     * to acquire the {@link android.Manifest.permission#CAMERA } permission before calling
+     * {@link android.hardware.camera2.CameraManager#getCameraCharacteristics }. If the
+     * permission is not held by the camera client, then the values of the repsective properties
+     * will not be present in {@link android.hardware.camera2.CameraCharacteristics }.</p>
+     * <p>This key is available on all devices.</p>
+     * @hide
+     */
+    public static final Key<int[]> REQUEST_CHARACTERISTIC_KEYS_NEEDING_PERMISSION =
+            new Key<int[]>("android.request.characteristicKeysNeedingPermission", int[].class);
+
+    /**
      * <p>The list of image formats that are supported by this
      * camera device for output streams.</p>
      * <p>All camera devices will support JPEG and YUV_420_888 formats.</p>
@@ -2703,6 +2780,7 @@
      *   <li>{@link #SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN ISO_STUDIO_TUNGSTEN}</li>
      * </ul></p>
      * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      *
      * @see CameraCharacteristics#SENSOR_CALIBRATION_TRANSFORM1
      * @see CameraCharacteristics#SENSOR_COLOR_TRANSFORM1
@@ -2744,6 +2822,7 @@
      * <p><b>Range of valid values:</b><br>
      * Any value listed in {@link CameraCharacteristics#SENSOR_REFERENCE_ILLUMINANT1 android.sensor.referenceIlluminant1}</p>
      * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      *
      * @see CameraCharacteristics#SENSOR_CALIBRATION_TRANSFORM2
      * @see CameraCharacteristics#SENSOR_COLOR_TRANSFORM2
@@ -2766,6 +2845,7 @@
      * space under the first reference illuminant
      * ({@link CameraCharacteristics#SENSOR_REFERENCE_ILLUMINANT1 android.sensor.referenceIlluminant1}).</p>
      * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      *
      * @see CameraCharacteristics#SENSOR_REFERENCE_ILLUMINANT1
      */
@@ -2788,6 +2868,7 @@
      * <p>This matrix will only be present if the second reference
      * illuminant is present.</p>
      * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      *
      * @see CameraCharacteristics#SENSOR_REFERENCE_ILLUMINANT2
      */
@@ -2811,6 +2892,7 @@
      * match the standard white point for the first reference illuminant
      * (i.e. no chromatic adaptation will be applied by this transform).</p>
      * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      *
      * @see CameraCharacteristics#SENSOR_REFERENCE_ILLUMINANT1
      */
@@ -2836,6 +2918,7 @@
      * <p>This matrix will only be present if the second reference
      * illuminant is present.</p>
      * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      *
      * @see CameraCharacteristics#SENSOR_REFERENCE_ILLUMINANT2
      */
@@ -2857,6 +2940,7 @@
      * illuminant in the reference sensor colorspace is mapped to D50 in the
      * CIE XYZ colorspace.</p>
      * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      *
      * @see CameraCharacteristics#SENSOR_REFERENCE_ILLUMINANT1
      */
@@ -2880,6 +2964,7 @@
      * <p>This matrix will only be present if the second reference
      * illuminant is present.</p>
      * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      *
      * @see CameraCharacteristics#SENSOR_REFERENCE_ILLUMINANT2
      */
diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java
index 7ebe0f9..44d7364 100644
--- a/core/java/android/hardware/camera2/CameraManager.java
+++ b/core/java/android/hardware/camera2/CameraManager.java
@@ -34,7 +34,6 @@
 import android.os.DeadObjectException;
 import android.os.Handler;
 import android.os.IBinder;
-import android.os.Looper;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.ServiceSpecificException;
@@ -45,7 +44,6 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Comparator;
-
 import java.util.concurrent.Executor;
 import java.util.concurrent.Executors;
 import java.util.concurrent.RejectedExecutionException;
@@ -97,6 +95,9 @@
      * identifiers, while removable cameras have a unique identifier for each
      * individual device, even if they are the same model.</p>
      *
+     * <p>This list doesn't contain physical cameras that can only used as part of a logical
+     * multi-camera device.</p>
+     *
      * @return The list of currently connected camera devices.
      */
     @NonNull
@@ -234,7 +235,13 @@
      * <p>Query the capabilities of a camera device. These capabilities are
      * immutable for a given camera.</p>
      *
-     * @param cameraId The id of the camera device to query
+     * <p>From API level 29, this function can also be used to query the capabilities of physical
+     * cameras that can only be used as part of logical multi-camera. These cameras cannot not be
+     * opened directly via {@link #openCamera}</p>
+     *
+     * @param cameraId The id of the camera device to query. This could be either a standalone
+     * camera ID which can be directly opened by {@link #openCamera}, or a physical camera ID that
+     * can only used as part of a logical multi-camera.
      * @return The properties of the given camera
      *
      * @throws IllegalArgumentException if the cameraId does not match any
@@ -262,7 +269,9 @@
                         "Camera service is currently unavailable");
             }
             try {
-                if (!supportsCamera2ApiLocked(cameraId)) {
+                // First check isHiddenPhysicalCamera to avoid supportsCamera2ApiLocked throwing
+                // exception in case cameraId is a hidden physical camera.
+                if (!isHiddenPhysicalCamera(cameraId) && !supportsCamera2ApiLocked(cameraId)) {
                     // Legacy backwards compatibility path; build static info from the camera
                     // parameters
                     int id = Integer.parseInt(cameraId);
@@ -454,7 +463,7 @@
      *
      * @throws IllegalArgumentException if cameraId or the callback was null,
      * or the cameraId does not match any currently or previously available
-     * camera device.
+     * camera device returned by {@link #getCameraIdList}.
      *
      * @throws SecurityException if the application does not have permission to
      * access the camera
@@ -778,6 +787,29 @@
     }
 
     /**
+     * Queries the camera service if a cameraId is a hidden physical camera that belongs to a
+     * logical camera device.
+     *
+     * A hidden physical camera is a camera that cannot be opened by the application. But it
+     * can be used as part of a logical camera.
+     *
+     * @param cameraId a non-{@code null} camera identifier
+     * @return {@code true} if cameraId is a hidden physical camera device
+     */
+    private boolean isHiddenPhysicalCamera(String cameraId) {
+        try {
+            ICameraService cameraService = CameraManagerGlobal.get().getCameraService();
+            // If no camera service, no support
+            if (cameraService == null) return false;
+
+            return cameraService.isHiddenPhysicalCamera(cameraId);
+        } catch (RemoteException e) {
+            // Camera service is now down, no support for any API level
+        }
+        return false;
+    }
+
+    /**
      * A per-process global camera manager instance, to retain a connection to the camera service,
      * and to distribute camera availability notices to API-registered callbacks
      */
diff --git a/core/java/android/hardware/camera2/CameraMetadata.java b/core/java/android/hardware/camera2/CameraMetadata.java
index caa99d5..486b054 100644
--- a/core/java/android/hardware/camera2/CameraMetadata.java
+++ b/core/java/android/hardware/camera2/CameraMetadata.java
@@ -116,7 +116,8 @@
     public List<TKey> getKeys() {
         Class<CameraMetadata<TKey>> thisClass = (Class<CameraMetadata<TKey>>) getClass();
         return Collections.unmodifiableList(
-                getKeys(thisClass, getKeyClass(), this, /*filterTags*/null));
+                getKeys(thisClass, getKeyClass(), this, /*filterTags*/null,
+                    /*includeSynthetic*/ true));
     }
 
     /**
@@ -131,13 +132,14 @@
      * Optionally, if {@code filterTags} is not {@code null}, then filter out any keys
      * whose native {@code tag} is not in {@code filterTags}. The {@code filterTags} array will be
      * sorted as a side effect.
+     * {@code includeSynthetic} Includes public syntenthic fields by default.
      * </p>
      */
      /*package*/ @SuppressWarnings("unchecked")
     <TKey> ArrayList<TKey> getKeys(
              Class<?> type, Class<TKey> keyClass,
              CameraMetadata<TKey> instance,
-             int[] filterTags) {
+             int[] filterTags, boolean includeSynthetic) {
 
         if (DEBUG) Log.v(TAG, "getKeysStatic for " + type);
 
@@ -168,7 +170,7 @@
                 }
 
                 if (instance == null || instance.getProtected(key) != null) {
-                    if (shouldKeyBeAdded(key, field, filterTags)) {
+                    if (shouldKeyBeAdded(key, field, filterTags, includeSynthetic)) {
                         keyList.add(key);
 
                         if (DEBUG) {
@@ -215,7 +217,8 @@
     }
 
     @SuppressWarnings("rawtypes")
-    private static <TKey> boolean shouldKeyBeAdded(TKey key, Field field, int[] filterTags) {
+    private static <TKey> boolean shouldKeyBeAdded(TKey key, Field field, int[] filterTags,
+            boolean includeSynthetic) {
         if (key == null) {
             throw new NullPointerException("key must not be null");
         }
@@ -249,8 +252,7 @@
         if (field.getAnnotation(SyntheticKey.class) != null) {
             // This key is synthetic, so calling #getTag will throw IAE
 
-            // TODO: don't just assume all public+synthetic keys are always available
-            return true;
+            return includeSynthetic;
         }
 
         /*
@@ -811,8 +813,14 @@
     public static final int REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING = 10;
 
     /**
-     * <p>The camera device is a logical camera backed by two or more physical cameras that are
-     * also exposed to the application.</p>
+     * <p>The camera device is a logical camera backed by two or more physical cameras. In
+     * API level 28, the physical cameras must also be exposed to the application via
+     * {@link android.hardware.camera2.CameraManager#getCameraIdList }. Starting from API
+     * level 29, some or all physical cameras may not be independently exposed to the
+     * application, in which case the physical camera IDs will not be available in
+     * {@link android.hardware.camera2.CameraManager#getCameraIdList }. But the application
+     * can still query the physical cameras' characteristics by calling
+     * {@link android.hardware.camera2.CameraManager#getCameraCharacteristics }.</p>
      * <p>Camera application shouldn't assume that there are at most 1 rear camera and 1 front
      * camera in the system. For an application that switches between front and back cameras,
      * the recommendation is to switch between the first rear camera and the first front
diff --git a/core/java/android/hardware/camera2/CaptureResult.java b/core/java/android/hardware/camera2/CaptureResult.java
index 3c6c11d..a7e185c 100644
--- a/core/java/android/hardware/camera2/CaptureResult.java
+++ b/core/java/android/hardware/camera2/CaptureResult.java
@@ -2841,6 +2841,7 @@
      * <p><b>Units</b>:
      * Quaternion coefficients</p>
      * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      */
     @PublicKey
     public static final Key<float[]> LENS_POSE_ROTATION =
@@ -2876,6 +2877,7 @@
      * with PRIMARY_CAMERA.</p>
      * <p><b>Units</b>: Meters</p>
      * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      *
      * @see CameraCharacteristics#LENS_DISTORTION
      * @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
@@ -2947,6 +2949,7 @@
      * {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}
      * coordinate system.</p>
      * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      *
      * @see CameraCharacteristics#LENS_DISTORTION
      * @see CameraCharacteristics#LENS_POSE_ROTATION
@@ -2990,6 +2993,7 @@
      * <p><b>Units</b>:
      * Unitless coefficients.</p>
      * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      *
      * @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
      * @deprecated
@@ -3036,6 +3040,7 @@
      * <p><b>Units</b>:
      * Unitless coefficients.</p>
      * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
      *
      * @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
      * @see CameraCharacteristics#LENS_RADIAL_DISTORTION
diff --git a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
index d967fba..7810e6c 100644
--- a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
+++ b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
@@ -1889,7 +1889,7 @@
             final long ident = Binder.clearCallingIdentity();
             try {
                 CameraDeviceImpl.this.mDeviceExecutor.execute(obtainRunnable(
-                            CameraDeviceCallbacks::notifyError, this, code));
+                            CameraDeviceCallbacks::notifyError, this, code).recycleOnUse());
             } finally {
                 Binder.restoreCallingIdentity(ident);
             }
diff --git a/core/java/android/hardware/camera2/params/OutputConfiguration.java b/core/java/android/hardware/camera2/params/OutputConfiguration.java
index 1ee3c93..cb33659 100644
--- a/core/java/android/hardware/camera2/params/OutputConfiguration.java
+++ b/core/java/android/hardware/camera2/params/OutputConfiguration.java
@@ -58,7 +58,7 @@
  * execute in parallel with any {@link Surface} initialization, such as waiting for a
  * {@link android.view.SurfaceView} to be ready as part of the UI initialization.</li>
  *
- * <li>The third and most complex usage pattern inlvolves surface sharing. Once instantiated an
+ * <li>The third and most complex usage pattern involves surface sharing. Once instantiated an
  * OutputConfiguration can be enabled for surface sharing via {@link #enableSurfaceSharing}. This
  * must be done before creating a new capture session and enables calls to
  * {@link CameraCaptureSession#updateOutputConfiguration}. An OutputConfiguration with enabled
diff --git a/core/java/android/hardware/camera2/utils/CloseableLock.java b/core/java/android/hardware/camera2/utils/CloseableLock.java
index 9ac89c8..3b8beac 100644
--- a/core/java/android/hardware/camera2/utils/CloseableLock.java
+++ b/core/java/android/hardware/camera2/utils/CloseableLock.java
@@ -290,7 +290,7 @@
     /**
      * Release a single lock that was acquired.
      *
-     * <p>Any other other that is blocked and trying to acquire a lock will get a chance
+     * <p>Any other thread that is blocked and trying to acquire a lock will get a chance
      * to acquire the lock.</p>
      *
      * @throws IllegalStateException if no locks were acquired, or if the lock was already closed
diff --git a/core/java/android/hardware/display/BrightnessConfiguration.java b/core/java/android/hardware/display/BrightnessConfiguration.java
index 6d9ba77..7e52ca3 100644
--- a/core/java/android/hardware/display/BrightnessConfiguration.java
+++ b/core/java/android/hardware/display/BrightnessConfiguration.java
@@ -141,13 +141,6 @@
         private String mDescription;
 
         /**
-         * STOPSHIP remove when app has stopped using this.
-         * @hide
-         */
-        public Builder() {
-        }
-
-        /**
          * Constructs the builder with the control points for the brightness curve.
          *
          * Brightness curves must have strictly increasing ambient brightness values in lux and
@@ -159,24 +152,6 @@
          * @throws IllegalArgumentException if the nit levels are not monotonically increasing.
          */
         public Builder(float[] lux, float[] nits) {
-            setCurve(lux, nits);
-        }
-
-        /**
-         * Sets the control points for the brightness curve.
-         *
-         * Brightness curves must have strictly increasing ambient brightness values in lux and
-         * monotonically increasing display brightness values in nits. In addition, the initial
-         * control point must be 0 lux.
-         *
-         * @throws IllegalArgumentException if the initial control point is not at 0 lux.
-         * @throws IllegalArgumentException if the lux levels are not strictly increasing.
-         * @throws IllegalArgumentException if the nit levels are not monotonically increasing.
-         *
-         * STOPSHIP remove when app has stopped using this.
-         * @hide
-         */
-        public Builder setCurve(float[] lux, float[] nits) {
             Preconditions.checkNotNull(lux);
             Preconditions.checkNotNull(nits);
             if (lux.length == 0 || nits.length == 0) {
@@ -190,11 +165,10 @@
             }
             Preconditions.checkArrayElementsInRange(lux, 0, Float.MAX_VALUE, "lux");
             Preconditions.checkArrayElementsInRange(nits, 0, Float.MAX_VALUE, "nits");
-            checkMonotonic(lux, true/*strictly increasing*/, "lux");
+            checkMonotonic(lux, true /*strictly increasing*/, "lux");
             checkMonotonic(nits, false /*strictly increasing*/, "nits");
             mCurveLux = lux;
             mCurveNits = nits;
-            return this;
         }
 
         /**
diff --git a/core/java/android/hardware/face/FaceManager.java b/core/java/android/hardware/face/FaceManager.java
index 0f83c8b..873a24a 100644
--- a/core/java/android/hardware/face/FaceManager.java
+++ b/core/java/android/hardware/face/FaceManager.java
@@ -168,10 +168,11 @@
             } catch (RemoteException e) {
                 Log.w(TAG, "Remote exception while authenticating: ", e);
                 if (callback != null) {
-                    // Though this may not be a hardware issue, it will cause apps to give up or try
-                    // again later.
+                    // Though this may not be a hardware issue, it will cause apps to give up or
+                    // try again later.
                     callback.onAuthenticationError(FACE_ERROR_HW_UNAVAILABLE,
-                            getErrorString(FACE_ERROR_HW_UNAVAILABLE, 0 /* vendorCode */));
+                            getErrorString(mContext, FACE_ERROR_HW_UNAVAILABLE,
+                                0 /* vendorCode */));
                 }
             }
         }
@@ -232,27 +233,28 @@
             } catch (RemoteException e) {
                 Log.w(TAG, "Remote exception in enroll: ", e);
                 if (callback != null) {
-                    // Though this may not be a hardware issue, it will cause apps to give up or try
-                    // again later.
+                    // Though this may not be a hardware issue, it will cause apps to give up or
+                    // try again later.
                     callback.onEnrollmentError(FACE_ERROR_HW_UNAVAILABLE,
-                            getErrorString(FACE_ERROR_HW_UNAVAILABLE, 0 /* vendorCode */));
+                            getErrorString(mContext, FACE_ERROR_HW_UNAVAILABLE,
+                                0 /* vendorCode */));
                 }
             }
         }
     }
 
     /**
-     * Requests a pre-enrollment auth token to tie enrollment to the confirmation of
+     * Requests an auth token to tie sensitive operations to the confirmation of
      * existing device credentials (e.g. pin/pattern/password).
      *
      * @hide
      */
     @RequiresPermission(MANAGE_BIOMETRIC)
-    public long preEnroll() {
+    public long generateChallenge() {
         long result = 0;
         if (mService != null) {
             try {
-                result = mService.preEnroll(mToken);
+                result = mService.generateChallenge(mToken);
             } catch (RemoteException e) {
                 throw e.rethrowFromSystemServer();
             }
@@ -261,16 +263,46 @@
     }
 
     /**
-     * Finishes enrollment and cancels the current auth token.
+     * Invalidates the current auth token.
      *
      * @hide
      */
     @RequiresPermission(MANAGE_BIOMETRIC)
-    public int postEnroll() {
+    public int revokeChallenge() {
         int result = 0;
         if (mService != null) {
             try {
-                result = mService.postEnroll(mToken);
+                result = mService.revokeChallenge(mToken);
+            } catch (RemoteException e) {
+                throw e.rethrowFromSystemServer();
+            }
+        }
+        return result;
+    }
+
+    /**
+     * @hide
+     */
+    @RequiresPermission(MANAGE_BIOMETRIC)
+    public void setRequireAttention(boolean requireAttention, byte[] token) {
+        if (mService != null) {
+            try {
+                mService.setRequireAttention(requireAttention, token);
+            } catch (RemoteException e) {
+                throw e.rethrowFromSystemServer();
+            }
+        }
+    }
+
+    /**
+     * @hide
+     */
+    @RequiresPermission(MANAGE_BIOMETRIC)
+    public boolean getRequireAttention(byte[] token) {
+        boolean result = true;
+        if (mService != null) {
+            try {
+                mService.getRequireAttention(token);
             } catch (RemoteException e) {
                 throw e.rethrowFromSystemServer();
             }
@@ -315,7 +347,8 @@
                 Log.w(TAG, "Remote exception in remove: ", e);
                 if (callback != null) {
                     callback.onRemovalError(face, FACE_ERROR_HW_UNAVAILABLE,
-                            getErrorString(FACE_ERROR_HW_UNAVAILABLE, 0 /* vendorCode */));
+                            getErrorString(mContext, FACE_ERROR_HW_UNAVAILABLE,
+                                0 /* vendorCode */));
                 }
             }
         }
@@ -513,32 +546,36 @@
         }
     }
 
-    @Override
-    public String getErrorString(int errMsg, int vendorCode) {
+    /**
+     * @hide
+     */
+    public static String getErrorString(Context context, int errMsg, int vendorCode) {
         switch (errMsg) {
-            case FACE_ERROR_HW_UNAVAILABLE:
-                return mContext.getString(
-                        com.android.internal.R.string.face_error_hw_not_available);
             case FACE_ERROR_UNABLE_TO_PROCESS:
-                return mContext.getString(
+                return context.getString(
                         com.android.internal.R.string.face_error_unable_to_process);
-            case FACE_ERROR_TIMEOUT:
-                return mContext.getString(com.android.internal.R.string.face_error_timeout);
+            case FACE_ERROR_HW_UNAVAILABLE:
+                return context.getString(
+                        com.android.internal.R.string.face_error_hw_not_available);
             case FACE_ERROR_NO_SPACE:
-                return mContext.getString(com.android.internal.R.string.face_error_no_space);
+                return context.getString(com.android.internal.R.string.face_error_no_space);
+            case FACE_ERROR_TIMEOUT:
+                return context.getString(com.android.internal.R.string.face_error_timeout);
             case FACE_ERROR_CANCELED:
-                return mContext.getString(com.android.internal.R.string.face_error_canceled);
+                return context.getString(com.android.internal.R.string.face_error_canceled);
             case FACE_ERROR_LOCKOUT:
-                return mContext.getString(com.android.internal.R.string.face_error_lockout);
+                return context.getString(com.android.internal.R.string.face_error_lockout);
             case FACE_ERROR_LOCKOUT_PERMANENT:
-                return mContext.getString(
+                return context.getString(
                         com.android.internal.R.string.face_error_lockout_permanent);
+            case FACE_ERROR_USER_CANCELED:
+                return context.getString(com.android.internal.R.string.face_error_user_canceled);
             case FACE_ERROR_NOT_ENROLLED:
-                return mContext.getString(com.android.internal.R.string.face_error_not_enrolled);
+                return context.getString(com.android.internal.R.string.face_error_not_enrolled);
             case FACE_ERROR_HW_NOT_PRESENT:
-                return mContext.getString(com.android.internal.R.string.face_error_hw_not_present);
+                return context.getString(com.android.internal.R.string.face_error_hw_not_present);
             case FACE_ERROR_VENDOR: {
-                String[] msgArray = mContext.getResources().getStringArray(
+                String[] msgArray = context.getResources().getStringArray(
                         com.android.internal.R.array.face_error_vendor);
                 if (vendorCode < msgArray.length) {
                     return msgArray[vendorCode];
@@ -552,35 +589,34 @@
     /**
      * @hide
      */
-    @Override
-    public String getAcquiredString(int acquireInfo, int vendorCode) {
+    public static String getAcquiredString(Context context, int acquireInfo, int vendorCode) {
         switch (acquireInfo) {
             case FACE_ACQUIRED_GOOD:
                 return null;
             case FACE_ACQUIRED_INSUFFICIENT:
-                return mContext.getString(R.string.face_acquired_insufficient);
+                return context.getString(R.string.face_acquired_insufficient);
             case FACE_ACQUIRED_TOO_BRIGHT:
-                return mContext.getString(R.string.face_acquired_too_bright);
+                return context.getString(R.string.face_acquired_too_bright);
             case FACE_ACQUIRED_TOO_DARK:
-                return mContext.getString(R.string.face_acquired_too_dark);
+                return context.getString(R.string.face_acquired_too_dark);
             case FACE_ACQUIRED_TOO_CLOSE:
-                return mContext.getString(R.string.face_acquired_too_close);
+                return context.getString(R.string.face_acquired_too_close);
             case FACE_ACQUIRED_TOO_FAR:
-                return mContext.getString(R.string.face_acquired_too_far);
+                return context.getString(R.string.face_acquired_too_far);
             case FACE_ACQUIRED_TOO_HIGH:
-                return mContext.getString(R.string.face_acquired_too_high);
+                return context.getString(R.string.face_acquired_too_high);
             case FACE_ACQUIRED_TOO_LOW:
-                return mContext.getString(R.string.face_acquired_too_low);
+                return context.getString(R.string.face_acquired_too_low);
             case FACE_ACQUIRED_TOO_RIGHT:
-                return mContext.getString(R.string.face_acquired_too_right);
+                return context.getString(R.string.face_acquired_too_right);
             case FACE_ACQUIRED_TOO_LEFT:
-                return mContext.getString(R.string.face_acquired_too_left);
+                return context.getString(R.string.face_acquired_too_left);
             case FACE_ACQUIRED_POOR_GAZE:
-                return mContext.getString(R.string.face_acquired_poor_gaze);
+                return context.getString(R.string.face_acquired_poor_gaze);
             case FACE_ACQUIRED_NOT_DETECTED:
-                return mContext.getString(R.string.face_acquired_not_detected);
+                return context.getString(R.string.face_acquired_not_detected);
             case FACE_ACQUIRED_VENDOR: {
-                String[] msgArray = mContext.getResources().getStringArray(
+                String[] msgArray = context.getResources().getStringArray(
                         R.array.face_acquired_vendor);
                 if (vendorCode < msgArray.length) {
                     return msgArray[vendorCode];
@@ -592,18 +628,10 @@
     }
 
     /**
-     * @hide
-     */
-    @Override
-    public int getType() {
-        return TYPE_FACE;
-    }
-
-    /**
      * Used so BiometricPrompt can map the face ones onto existing public constants.
      * @hide
      */
-    public int getMappedAcquiredInfo(int acquireInfo, int vendorCode) {
+    public static int getMappedAcquiredInfo(int acquireInfo, int vendorCode) {
         switch (acquireInfo) {
             case FACE_ACQUIRED_GOOD:
                 return BiometricConstants.BIOMETRIC_ACQUIRED_GOOD;
@@ -898,13 +926,13 @@
                 ? (vendorCode + FACE_ERROR_VENDOR_BASE) : errMsgId;
         if (mEnrollmentCallback != null) {
             mEnrollmentCallback.onEnrollmentError(clientErrMsgId,
-                    getErrorString(errMsgId, vendorCode));
+                    getErrorString(mContext, errMsgId, vendorCode));
         } else if (mAuthenticationCallback != null) {
             mAuthenticationCallback.onAuthenticationError(clientErrMsgId,
-                    getErrorString(errMsgId, vendorCode));
+                    getErrorString(mContext, errMsgId, vendorCode));
         } else if (mRemovalCallback != null) {
             mRemovalCallback.onRemovalError(mRemovalFace, clientErrMsgId,
-                    getErrorString(errMsgId, vendorCode));
+                    getErrorString(mContext, errMsgId, vendorCode));
         }
     }
 
@@ -932,7 +960,7 @@
         if (mAuthenticationCallback != null) {
             mAuthenticationCallback.onAuthenticationAcquired(acquireInfo);
         }
-        final String msg = getAcquiredString(acquireInfo, vendorCode);
+        final String msg = getAcquiredString(mContext, acquireInfo, vendorCode);
         if (msg == null) {
             return;
         }
diff --git a/core/java/android/hardware/face/IFaceService.aidl b/core/java/android/hardware/face/IFaceService.aidl
index dd995c9..6681bd7 100644
--- a/core/java/android/hardware/face/IFaceService.aidl
+++ b/core/java/android/hardware/face/IFaceService.aidl
@@ -17,7 +17,7 @@
 
 import android.os.Bundle;
 import android.hardware.biometrics.IBiometricPromptReceiver;
-import android.hardware.biometrics.IBiometricPromptServiceReceiver;
+import android.hardware.biometrics.IBiometricServiceReceiver;
 import android.hardware.biometrics.IBiometricServiceLockoutResetCallback;
 import android.hardware.face.IFaceServiceReceiver;
 import android.hardware.face.Face;
@@ -34,8 +34,8 @@
 
     // This method invokes the BiometricDialog. The arguments are almost the same as above,
     // but should only be called from (BiometricPromptService).
-    void authenticateFromService(IBinder token, long sessionId, int userId,
-            IBiometricPromptServiceReceiver receiver, int flags, String opPackageName,
+    void authenticateFromService(boolean requireConfirmation, IBinder token, long sessionId,
+            int userId, IBiometricServiceReceiver receiver, int flags, String opPackageName,
             in Bundle bundle, IBiometricPromptReceiver dialogReceiver,
             int callingUid, int callingPid, int callingUserId);
 
@@ -66,10 +66,10 @@
     boolean isHardwareDetected(long deviceId, String opPackageName);
 
     // Get a pre-enrollment authentication token
-    long preEnroll(IBinder token);
+    long generateChallenge(IBinder token);
 
     // Finish an enrollment sequence and invalidate the authentication token
-    int postEnroll(IBinder token);
+    int revokeChallenge(IBinder token);
 
     // Determine if a user has at least one enrolled face
     boolean hasEnrolledFaces(int userId, String opPackageName);
@@ -94,4 +94,8 @@
 
     // Enumerate all faces
     void enumerate(IBinder token, int userId, IFaceServiceReceiver receiver);
+
+    int setRequireAttention(boolean requireAttention, in byte [] token);
+
+    boolean getRequireAttention(in byte [] token);
 }
diff --git a/core/java/android/hardware/fingerprint/FingerprintManager.java b/core/java/android/hardware/fingerprint/FingerprintManager.java
index b380a2e..a4f3ce1 100644
--- a/core/java/android/hardware/fingerprint/FingerprintManager.java
+++ b/core/java/android/hardware/fingerprint/FingerprintManager.java
@@ -426,7 +426,8 @@
                 // Though this may not be a hardware issue, it will cause apps to give up or try
                 // again later.
                 callback.onAuthenticationError(FINGERPRINT_ERROR_HW_UNAVAILABLE,
-                        getErrorString(FINGERPRINT_ERROR_HW_UNAVAILABLE, 0 /* vendorCode */));
+                        getErrorString(mContext, FINGERPRINT_ERROR_HW_UNAVAILABLE,
+                            0 /* vendorCode */));
             }
         }
     }
@@ -476,7 +477,8 @@
                 // Though this may not be a hardware issue, it will cause apps to give up or try
                 // again later.
                 callback.onEnrollmentError(FINGERPRINT_ERROR_HW_UNAVAILABLE,
-                        getErrorString(FINGERPRINT_ERROR_HW_UNAVAILABLE, 0 /* vendorCode */));
+                        getErrorString(mContext, FINGERPRINT_ERROR_HW_UNAVAILABLE,
+                            0 /* vendorCode */));
             }
         }
     }
@@ -546,7 +548,8 @@
             Slog.w(TAG, "Remote exception in remove: ", e);
             if (callback != null) {
                 callback.onRemovalError(fp, FINGERPRINT_ERROR_HW_UNAVAILABLE,
-                        getErrorString(FINGERPRINT_ERROR_HW_UNAVAILABLE, 0 /* vendorCode */));
+                        getErrorString(mContext, FINGERPRINT_ERROR_HW_UNAVAILABLE,
+                            0 /* vendorCode */));
             }
         }
     }
@@ -568,7 +571,8 @@
             Slog.w(TAG, "Remote exception in enumerate: ", e);
             if (callback != null) {
                 callback.onEnumerateError(FINGERPRINT_ERROR_HW_UNAVAILABLE,
-                        getErrorString(FINGERPRINT_ERROR_HW_UNAVAILABLE, 0 /* vendorCode */));
+                        getErrorString(mContext, FINGERPRINT_ERROR_HW_UNAVAILABLE,
+                            0 /* vendorCode */));
             }
         }
     }
@@ -862,7 +866,7 @@
         if (mAuthenticationCallback != null) {
             mAuthenticationCallback.onAuthenticationAcquired(acquireInfo);
         }
-        final String msg = getAcquiredString(acquireInfo, vendorCode);
+        final String msg = getAcquiredString(mContext, acquireInfo, vendorCode);
         if (msg == null) {
             return;
         }
@@ -882,16 +886,16 @@
                 ? (vendorCode + FINGERPRINT_ERROR_VENDOR_BASE) : errMsgId;
         if (mEnrollmentCallback != null) {
             mEnrollmentCallback.onEnrollmentError(clientErrMsgId,
-                    getErrorString(errMsgId, vendorCode));
+                    getErrorString(mContext, errMsgId, vendorCode));
         } else if (mAuthenticationCallback != null) {
             mAuthenticationCallback.onAuthenticationError(clientErrMsgId,
-                    getErrorString(errMsgId, vendorCode));
+                    getErrorString(mContext, errMsgId, vendorCode));
         } else if (mRemovalCallback != null) {
             mRemovalCallback.onRemovalError(mRemovalFingerprint, clientErrMsgId,
-                    getErrorString(errMsgId, vendorCode));
+                    getErrorString(mContext, errMsgId, vendorCode));
         } else if (mEnumerateCallback != null) {
             mEnumerateCallback.onEnumerateError(clientErrMsgId,
-                    getErrorString(errMsgId, vendorCode));
+                    getErrorString(mContext, errMsgId, vendorCode));
         }
     }
 
@@ -934,38 +938,37 @@
     /**
      * @hide
      */
-    @Override
-    public String getErrorString(int errMsg, int vendorCode) {
+    public static String getErrorString(Context context, int errMsg, int vendorCode) {
         switch (errMsg) {
             case FINGERPRINT_ERROR_UNABLE_TO_PROCESS:
-                return mContext.getString(
+                return context.getString(
                     com.android.internal.R.string.fingerprint_error_unable_to_process);
             case FINGERPRINT_ERROR_HW_UNAVAILABLE:
-                return mContext.getString(
+                return context.getString(
                     com.android.internal.R.string.fingerprint_error_hw_not_available);
             case FINGERPRINT_ERROR_NO_SPACE:
-                return mContext.getString(
+                return context.getString(
                     com.android.internal.R.string.fingerprint_error_no_space);
             case FINGERPRINT_ERROR_TIMEOUT:
-                return mContext.getString(com.android.internal.R.string.fingerprint_error_timeout);
+                return context.getString(com.android.internal.R.string.fingerprint_error_timeout);
             case FINGERPRINT_ERROR_CANCELED:
-                return mContext.getString(com.android.internal.R.string.fingerprint_error_canceled);
+                return context.getString(com.android.internal.R.string.fingerprint_error_canceled);
             case FINGERPRINT_ERROR_LOCKOUT:
-                return mContext.getString(com.android.internal.R.string.fingerprint_error_lockout);
+                return context.getString(com.android.internal.R.string.fingerprint_error_lockout);
             case FINGERPRINT_ERROR_LOCKOUT_PERMANENT:
-                return mContext.getString(
+                return context.getString(
                         com.android.internal.R.string.fingerprint_error_lockout_permanent);
             case FINGERPRINT_ERROR_USER_CANCELED:
-                return mContext.getString(
+                return context.getString(
                         com.android.internal.R.string.fingerprint_error_user_canceled);
             case FINGERPRINT_ERROR_NO_FINGERPRINTS:
-                return mContext.getString(
+                return context.getString(
                         com.android.internal.R.string.fingerprint_error_no_fingerprints);
             case FINGERPRINT_ERROR_HW_NOT_PRESENT:
-                return mContext.getString(
+                return context.getString(
                         com.android.internal.R.string.fingerprint_error_hw_not_present);
             case FINGERPRINT_ERROR_VENDOR: {
-                    String[] msgArray = mContext.getResources().getStringArray(
+                    String[] msgArray = context.getResources().getStringArray(
                             com.android.internal.R.array.fingerprint_error_vendor);
                     if (vendorCode < msgArray.length) {
                         return msgArray[vendorCode];
@@ -979,28 +982,27 @@
     /**
      * @hide
      */
-    @Override
-    public String getAcquiredString(int acquireInfo, int vendorCode) {
+    public static String getAcquiredString(Context context, int acquireInfo, int vendorCode) {
         switch (acquireInfo) {
             case FINGERPRINT_ACQUIRED_GOOD:
                 return null;
             case FINGERPRINT_ACQUIRED_PARTIAL:
-                return mContext.getString(
+                return context.getString(
                     com.android.internal.R.string.fingerprint_acquired_partial);
             case FINGERPRINT_ACQUIRED_INSUFFICIENT:
-                return mContext.getString(
+                return context.getString(
                     com.android.internal.R.string.fingerprint_acquired_insufficient);
             case FINGERPRINT_ACQUIRED_IMAGER_DIRTY:
-                return mContext.getString(
+                return context.getString(
                     com.android.internal.R.string.fingerprint_acquired_imager_dirty);
             case FINGERPRINT_ACQUIRED_TOO_SLOW:
-                return mContext.getString(
+                return context.getString(
                     com.android.internal.R.string.fingerprint_acquired_too_slow);
             case FINGERPRINT_ACQUIRED_TOO_FAST:
-                return mContext.getString(
+                return context.getString(
                     com.android.internal.R.string.fingerprint_acquired_too_fast);
             case FINGERPRINT_ACQUIRED_VENDOR: {
-                    String[] msgArray = mContext.getResources().getStringArray(
+                    String[] msgArray = context.getResources().getStringArray(
                             com.android.internal.R.array.fingerprint_acquired_vendor);
                     if (vendorCode < msgArray.length) {
                         return msgArray[vendorCode];
@@ -1011,14 +1013,6 @@
         return null;
     }
 
-    /**
-     * @hide
-     */
-    @Override
-    public int getType() {
-        return TYPE_FINGERPRINT;
-    }
-
     private IFingerprintServiceReceiver mServiceReceiver = new IFingerprintServiceReceiver.Stub() {
 
         @Override // binder call
diff --git a/core/java/android/hardware/fingerprint/IFingerprintService.aidl b/core/java/android/hardware/fingerprint/IFingerprintService.aidl
index 2b2c0b7..2662a11 100644
--- a/core/java/android/hardware/fingerprint/IFingerprintService.aidl
+++ b/core/java/android/hardware/fingerprint/IFingerprintService.aidl
@@ -17,7 +17,7 @@
 
 import android.os.Bundle;
 import android.hardware.biometrics.IBiometricPromptReceiver;
-import android.hardware.biometrics.IBiometricPromptServiceReceiver;
+import android.hardware.biometrics.IBiometricServiceReceiver;
 import android.hardware.biometrics.IBiometricServiceLockoutResetCallback;
 import android.hardware.fingerprint.IFingerprintClientActiveCallback;
 import android.hardware.fingerprint.IFingerprintServiceReceiver;
@@ -40,7 +40,7 @@
     // called from BiometricPromptService. The additional uid, pid, userId arguments should be
     // determined by BiometricPromptService.
     void authenticateFromService(IBinder token, long sessionId, int userId,
-            IBiometricPromptServiceReceiver receiver, int flags, String opPackageName,
+            IBiometricServiceReceiver receiver, int flags, String opPackageName,
             in Bundle bundle, IBiometricPromptReceiver dialogReceiver,
             int callingUid, int callingPid, int callingUserId);
 
diff --git a/core/java/android/hardware/input/InputManager.java b/core/java/android/hardware/input/InputManager.java
index 6ca5f0c..bfb7c58 100644
--- a/core/java/android/hardware/input/InputManager.java
+++ b/core/java/android/hardware/input/InputManager.java
@@ -25,6 +25,7 @@
 import android.content.Context;
 import android.media.AudioAttributes;
 import android.os.Binder;
+import android.os.Build;
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.Looper;
@@ -65,7 +66,7 @@
 
     private static InputManager sInstance;
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final IInputManager mIm;
 
     // Guarded by mInputDevicesLock
diff --git a/core/java/android/hardware/location/ContextHubBroadcastReceiver.java b/core/java/android/hardware/location/ContextHubBroadcastReceiver.java
new file mode 100644
index 0000000..e0cc8b7
--- /dev/null
+++ b/core/java/android/hardware/location/ContextHubBroadcastReceiver.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright 2018 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.
+ */
+package android.hardware.location;
+
+import android.app.PendingIntent;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.Handler;
+
+/**
+ * A BroadcastReceiver that can be used with the Context Hub Service notifications.
+ *
+ * @hide
+ */
+public class ContextHubBroadcastReceiver extends BroadcastReceiver {
+    // The context at which this receiver operates in
+    private Context mContext;
+
+    // The handler to post callbacks to when receiving Context Hub Service intents
+    private Handler mHandler;
+
+    // The callback to be invoked when receiving Context Hub Service intents
+    private ContextHubClientCallback mCallback;
+
+    // The string to use as the broadcast action for this receiver
+    private String mAction;
+
+    // True when this receiver is registered to receive Intents, false otherwise
+    private boolean mRegistered = false;
+
+    public ContextHubBroadcastReceiver(Context context, Handler handler,
+                                       ContextHubClientCallback callback, String tag) {
+        mContext = context;
+        mHandler = handler;
+        mCallback = callback;
+        mAction = tag;
+    }
+
+    /**
+     * Registers this receiver to receive Intents from the Context Hub Service. This method must
+     * only be invoked when the receiver is not registered.
+     *
+     * @throws IllegalStateException if the receiver is already registered
+     */
+    public void register() throws IllegalStateException {
+        if (mRegistered) {
+            throw new IllegalStateException(
+                "Cannot register ContextHubBroadcastReceiver multiple times");
+        }
+        IntentFilter intentFilter = new IntentFilter();
+        intentFilter.addAction(mAction);
+        mContext.registerReceiver(this, intentFilter, null /* broadcastPermission */, mHandler);
+        mRegistered = true;
+    }
+
+    /**
+     * Unregisters this receiver. This method must only be invoked if {@link #register()} is
+     * previously invoked.
+     *
+     * @throws IllegalStateException if the receiver is not yet registered
+     */
+    public void unregister() throws IllegalStateException {
+        if (!mRegistered) {
+            throw new IllegalStateException(
+                "Cannot unregister ContextHubBroadcastReceiver when not registered");
+        }
+        mContext.unregisterReceiver(this);
+        mRegistered = false;
+    }
+
+    /**
+     * Creates a new PendingIntent associated with this receiver.
+     *
+     * @param flags the flags {@link PendingIntent.Flags} to use for the PendingIntent
+     *
+     * @return a PendingIntent to receive notifications for this receiver
+     */
+    public PendingIntent getPendingIntent(@PendingIntent.Flags int flags) {
+        return PendingIntent.getBroadcast(
+            mContext, 0 /* requestCode */, new Intent(mAction), flags);
+    }
+
+    @Override
+    public void onReceive(Context context, Intent intent) {
+        // TODO: Implement this
+    }
+}
diff --git a/core/java/android/hardware/location/ContextHubClient.java b/core/java/android/hardware/location/ContextHubClient.java
index 2335203..917644d 100644
--- a/core/java/android/hardware/location/ContextHubClient.java
+++ b/core/java/android/hardware/location/ContextHubClient.java
@@ -18,6 +18,7 @@
 import android.annotation.NonNull;
 import android.annotation.RequiresPermission;
 import android.annotation.SystemApi;
+import android.app.PendingIntent;
 import android.os.RemoteException;
 
 import com.android.internal.util.Preconditions;
@@ -100,6 +101,57 @@
     }
 
     /**
+     * Registers to receive persistent intents for a given nanoapp.
+     *
+     * This method should be used if the caller wants to receive notifications even after the
+     * process exits. The client must have an open connection with the Context Hub Service (i.e. it
+     * cannot have been closed through the {@link #close()} method). If registered successfully,
+     * intents will be delivered regarding events for the specified nanoapp from the attached
+     * Context Hub. Any unicast messages for this client will also be delivered. The intent will
+     * have an extra {@link #EXTRA_EVENT_TYPE} of type {@link ContextHubManager.Event}, which will
+     * contain the type of the event. See {@link ContextHubManager.Event} for description of each
+     * event type.
+     *
+     * When the intent is received, this client can be recreated through
+     * {@link ContextHubManager.createClient(PendingIntent, ContextHubInfo,
+     * ContextHubClientCallback, Exectutor)}. When recreated, the client can be treated as the
+     * same endpoint entity from a nanoapp's perspective, and can be continued to be used to send
+     * messages even if the original process has exited.
+     *
+     * Intents will be delivered until it is unregistered through
+     * {@link #unregisterIntent(PendingIntent)}. Note that the registration of this client will
+     * continued to be maintained at the Context Hub Service until
+     * {@link #unregisterIntent(PendingIntent)} is called for registered intents.
+     *
+     * See {@link ContextHubBroadcastReceiver} for a helper class to generate the
+     * {@link PendingIntent} through a {@link BroadcastReceiver}, and maps an {@link Intent} to a
+     * {@link ContextHubClientCallback}.
+     *
+     * @param intent    The PendingIntent to register for this client
+     * @param nanoAppId the unique ID of the nanoapp to receive events for
+     * @return true on success, false otherwise
+     *
+     * @hide
+     */
+    public boolean registerIntent(@NonNull PendingIntent intent, long nanoAppId) {
+        // TODO: Implement this
+        return false;
+    }
+
+    /**
+     * Unregisters an intent previously registered via {@link #registerIntent(PendingIntent, long)}.
+     * If this intent has not been registered for this client, this method returns false.
+     *
+     * @return true on success, false otherwise
+     *
+     * @hide
+     */
+    public boolean unregisterIntent(@NonNull PendingIntent intent) {
+        // TODO: Implement this
+        return false;
+    }
+
+    /**
      * Sends a message to a nanoapp through the Context Hub Service.
      *
      * This function returns RESULT_SUCCESS if the message has reached the HAL, but
diff --git a/core/java/android/hardware/location/ContextHubManager.java b/core/java/android/hardware/location/ContextHubManager.java
index 12d0531..36f3586 100644
--- a/core/java/android/hardware/location/ContextHubManager.java
+++ b/core/java/android/hardware/location/ContextHubManager.java
@@ -16,12 +16,14 @@
 package android.hardware.location;
 
 import android.annotation.CallbackExecutor;
+import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.RequiresPermission;
 import android.annotation.SuppressLint;
 import android.annotation.SystemApi;
 import android.annotation.SystemService;
+import android.app.PendingIntent;
 import android.content.Context;
 import android.os.Handler;
 import android.os.HandlerExecutor;
@@ -33,6 +35,8 @@
 
 import com.android.internal.util.Preconditions;
 
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
 import java.util.List;
 import java.util.concurrent.Executor;
 
@@ -49,6 +53,111 @@
 public final class ContextHubManager {
     private static final String TAG = "ContextHubManager";
 
+    /**
+     * An extra of type {@link ContextHubInfo} describing the source of the event.
+     *
+     * @hide
+     */
+    public static final String EXTRA_CONTEXT_HUB_INFO =
+            "android.hardware.location.extra.CONTEXT_HUB_INFO";
+
+    /**
+     * An extra of type {@link ContextHubManager.Event} describing the event type.
+     *
+     * @hide
+     */
+    public static final String EXTRA_EVENT_TYPE = "android.hardware.location.extra.EVENT_TYPE";
+
+    /**
+     * An extra of type long describing the ID of the nanoapp an event is for.
+     *
+     * @hide
+     */
+    public static final String EXTRA_NANOAPP_ID = "android.location.hardware.extra.NANOAPP_ID";
+
+    /**
+     * An extra of type int describing the nanoapp-specific abort code.
+     *
+     * @hide
+     */
+    public static final String EXTRA_NANOAPP_ABORT_CODE =
+            "android.location.hardware.extra.NANOAPP_ABORT_CODE";
+
+    /**
+     * An extra of type {@link NanoAppMessage} describing contents of a message from a nanoapp.
+     *
+     * @hide
+     */
+    public static final String EXTRA_MESSAGE = "android.location.hardware.extra.MESSAGE";
+
+    /**
+     * Constants describing the type of events from a Context Hub.
+     * {@hide}
+     */
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef(prefix = { "EVENT_" }, value = {
+        EVENT_NANOAPP_LOADED,
+        EVENT_NANOAPP_UNLOADED,
+        EVENT_NANOAPP_ENABLED,
+        EVENT_NANOAPP_DISABLED,
+        EVENT_NANOAPP_ABORTED,
+        EVENT_NANOAPP_MESSAGE,
+        EVENT_HUB_RESET,
+    })
+    public @interface Event { }
+
+    /**
+     * An event describing that a nanoapp has been loaded. Contains the EXTRA_NANOAPP_ID extra.
+     *
+     * @hide
+     */
+    public static final int EVENT_NANOAPP_LOADED = 0;
+
+    /**
+     * An event describing that a nanoapp has been unloaded. Contains the EXTRA_NANOAPP_ID extra.
+     *
+     * @hide
+     */
+    public static final int EVENT_NANOAPP_UNLOADED = 1;
+
+    /**
+     * An event describing that a nanoapp has been enabled. Contains the EXTRA_NANOAPP_ID extra.
+     *
+     * @hide
+     */
+    public static final int EVENT_NANOAPP_ENABLED = 2;
+
+    /**
+     * An event describing that a nanoapp has been disabled. Contains the EXTRA_NANOAPP_ID extra.
+     *
+     * @hide
+     */
+    public static final int EVENT_NANOAPP_DISABLED = 3;
+
+    /**
+     * An event describing that a nanoapp has aborted. Contains the EXTRA_NANOAPP_ID and
+     * EXTRA_NANOAPP_ABORT_CODE extras.
+     *
+     * @hide
+     */
+    public static final int EVENT_NANOAPP_ABORTED = 4;
+
+    /**
+     * An event containing a message sent from a nanoapp. Contains the EXTRA_NANOAPP_ID and
+     * EXTRA_NANOAPP_MESSAGE extras.
+     *
+     * @hide
+     */
+    public static final int EVENT_NANOAPP_MESSAGE = 5;
+
+    /**
+     * An event describing that the Context Hub has reset.
+     *
+     * @hide
+     */
+    public static final int EVENT_HUB_RESET = 6;
+
+
     private final Looper mMainLooper;
     private final IContextHubService mService;
     private Callback mCallback;
@@ -682,6 +791,57 @@
     }
 
     /**
+     * Creates a ContextHubClient based on an Intent received by the Context Hub Service.
+     *
+     * This method is intended to be used after receiving an Intent received as a result of
+     * {@link ContextHubClient.registerIntent(PendingIntent, long)}, and must have been created
+     * through {@link #createClient(ContextHubInfo, ContextHubClientCallback, Executor)} or
+     * equivalent at an earlier time.
+     *
+     * @param intent   the intent that is associated with a client
+     * @param hubInfo  the hub to attach this client to
+     * @param callback the notification callback to register
+     * @param executor the executor to invoke the callback
+     * @return the registered client object
+     *
+     * @throws IllegalArgumentException if hubInfo does not represent a valid hub, or the intent
+     *                                  was not associated with a client
+     * @throws IllegalStateException    if there were too many registered clients at the service
+     * @throws NullPointerException     if intent, hubInfo, callback, or executor is null
+     *
+     * @hide
+     */
+    @NonNull public ContextHubClient createClient(
+            @NonNull PendingIntent intent, @NonNull ContextHubInfo hubInfo,
+            @NonNull ContextHubClientCallback callback,
+            @NonNull @CallbackExecutor Executor executor) {
+        // TODO: Implement this
+        throw new UnsupportedOperationException("Not implemented yet");
+    }
+
+    /**
+     * Equivalent to {@link #createClient(Intent, ContextHubInfo, ContextHubClientCallback,
+     * Executor)} with the executor using the main thread's Looper.
+     *
+     * @param intent   the intent that is associated with a client
+     * @param hubInfo  the hub to attach this client to
+     * @param callback the notification callback to register
+     * @return the registered client object
+     *
+     * @throws IllegalArgumentException if hubInfo does not represent a valid hub, or the intent
+     *                                  was not associated with a client
+     * @throws IllegalStateException    if there were too many registered clients at the service
+     * @throws NullPointerException     if intent, hubInfo, or callback is null
+     *
+     * @hide
+     */
+    @NonNull public ContextHubClient createClient(
+            @NonNull PendingIntent intent, @NonNull ContextHubInfo hubInfo,
+            @NonNull ContextHubClientCallback callback) {
+        return createClient(intent, hubInfo, callback, new HandlerExecutor(Handler.getMain()));
+    }
+
+    /**
      * Unregister a callback for receive messages from the context hub.
      *
      * @see Callback
diff --git a/core/java/android/hardware/usb/UsbManager.java b/core/java/android/hardware/usb/UsbManager.java
index ae0855a..4111941 100644
--- a/core/java/android/hardware/usb/UsbManager.java
+++ b/core/java/android/hardware/usb/UsbManager.java
@@ -32,6 +32,7 @@
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.hardware.usb.gadget.V1_0.GadgetFunction;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.ParcelFileDescriptor;
 import android.os.Process;
@@ -385,7 +386,7 @@
     /**
      * {@hide}
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public UsbManager(Context context, IUsbManager service) {
         mContext = context;
         mService = service;
diff --git a/core/java/android/inputmethodservice/AbstractInputMethodService.java b/core/java/android/inputmethodservice/AbstractInputMethodService.java
index 185215a..b0fca00 100644
--- a/core/java/android/inputmethodservice/AbstractInputMethodService.java
+++ b/core/java/android/inputmethodservice/AbstractInputMethodService.java
@@ -252,4 +252,12 @@
         return;
     }
 
+    /**
+     * Called when the user took some actions that should be taken into consideration to update the
+     * MRU list for input method rotation.
+     *
+     * @hide
+     */
+    public void notifyUserActionIfNecessary() {
+    }
 }
diff --git a/core/java/android/inputmethodservice/IInputMethodWrapper.java b/core/java/android/inputmethodservice/IInputMethodWrapper.java
index 00a1f6f..1030694 100644
--- a/core/java/android/inputmethodservice/IInputMethodWrapper.java
+++ b/core/java/android/inputmethodservice/IInputMethodWrapper.java
@@ -87,8 +87,8 @@
      * guarantees that {@link #bindInput(InputBinding)},
      * {@link #startInput(IBinder, IInputContext, int, EditorInfo, boolean)}, and
      * {@link #unbindInput()} are called with the same order as the original calls
-     * in {@link com.android.server.InputMethodManagerService}.  See {@link IBinder#FLAG_ONEWAY}
-     * for detailed semantics.</p>
+     * in {@link com.android.server.inputmethod.InputMethodManagerService}.
+     * See {@link IBinder#FLAG_ONEWAY} for detailed semantics.</p>
      */
     AtomicBoolean mIsUnbindIssued = null;
 
@@ -160,11 +160,10 @@
                 args.recycle();
                 return;
             }
-
             case DO_INITIALIZE_INTERNAL: {
                 SomeArgs args = (SomeArgs) msg.obj;
                 try {
-                    inputMethod.initializeInternal((IBinder) args.arg1,
+                    inputMethod.initializeInternal((IBinder) args.arg1, msg.arg1,
                             (IInputMethodPrivilegedOperations) args.arg2);
                 } finally {
                     args.recycle();
@@ -253,9 +252,10 @@
 
     @BinderThread
     @Override
-    public void initializeInternal(IBinder token, IInputMethodPrivilegedOperations privOps) {
+    public void initializeInternal(IBinder token, int displayId,
+            IInputMethodPrivilegedOperations privOps) {
         mCaller.executeOrSendMessage(
-                mCaller.obtainMessageOO(DO_INITIALIZE_INTERNAL, token, privOps));
+                mCaller.obtainMessageIOO(DO_INITIALIZE_INTERNAL, displayId, token, privOps));
     }
 
     @BinderThread
diff --git a/core/java/android/inputmethodservice/InputMethodService.java b/core/java/android/inputmethodservice/InputMethodService.java
index aa5cf09..f7f627e 100644
--- a/core/java/android/inputmethodservice/InputMethodService.java
+++ b/core/java/android/inputmethodservice/InputMethodService.java
@@ -16,12 +16,14 @@
 
 package android.inputmethodservice;
 
+import static android.view.Display.DEFAULT_DISPLAY;
 import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
 import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
 import static android.view.WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS;
 
 import static java.lang.annotation.RetentionPolicy.SOURCE;
 
+import android.annotation.AnyThread;
 import android.annotation.CallSuper;
 import android.annotation.DrawableRes;
 import android.annotation.IntDef;
@@ -79,9 +81,11 @@
 import android.widget.LinearLayout;
 import android.widget.TextView;
 
+import com.android.internal.annotations.GuardedBy;
 import com.android.internal.inputmethod.IInputContentUriToken;
 import com.android.internal.inputmethod.IInputMethodPrivilegedOperations;
 import com.android.internal.inputmethod.InputMethodPrivilegedOperations;
+import com.android.internal.inputmethod.InputMethodPrivilegedOperationsRegistry;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
@@ -402,13 +406,9 @@
     @BackDispositionMode
     int mBackDisposition;
 
-    /**
-     * {@code true} when the previous IME had non-empty inset at the bottom of the screen and we
-     * have not shown our own window yet.  In this situation, the previous inset continues to be
-     * shown as an empty region until it is explicitly updated. Basically we can trigger the update
-     * by calling 1) {@code mWindow.show()} or 2) {@link #clearInsetOfPreviousIme()}.
-     */
-    boolean mShouldClearInsetOfPreviousIme;
+    private Object mLock = new Object();
+    @GuardedBy("mLock")
+    private boolean mNotifyUserActionSent;
 
     @UnsupportedAppUsage
     final Insets mTmpInsets = new Insets();
@@ -455,10 +455,11 @@
          */
         @MainThread
         @Override
-        public final void initializeInternal(IBinder token,
+        public final void initializeInternal(IBinder token, int displayId,
                 IInputMethodPrivilegedOperations privilegedOperations) {
             mPrivOps.set(privilegedOperations);
-            mImm.registerInputMethodPrivOps(token, mPrivOps);
+            InputMethodPrivilegedOperationsRegistry.put(token, mPrivOps);
+            updateInputMethodDisplay(displayId);
             attachToken(token);
         }
 
@@ -478,6 +479,22 @@
 
         /**
          * {@inheritDoc}
+         * @hide
+         */
+        @MainThread
+        @Override
+        public void updateInputMethodDisplay(int displayId) {
+            // Update display for adding IME window to the right display.
+            if (displayId != DEFAULT_DISPLAY) {
+                // TODO(b/111364446) Need to address context lifecycle issue if need to re-create
+                // for update resources & configuration correctly when show soft input
+                // in non-default display.
+                updateDisplay(displayId);
+            }
+        }
+
+        /**
+         * {@inheritDoc}
          *
          * <p>Calls {@link InputMethodService#onBindInput()} when done.</p>
          */
@@ -556,7 +573,6 @@
             mShowInputFlags = 0;
             mShowInputRequested = false;
             doHideWindow();
-            clearInsetOfPreviousIme();
             if (resultReceiver != null) {
                 resultReceiver.send(wasVis != isInputViewShown()
                         ? InputMethodManager.RESULT_HIDDEN
@@ -576,7 +592,6 @@
             if (dispatchOnShowInputRequested(flags, false)) {
                 showWindow(true);
             }
-            clearInsetOfPreviousIme();
             // If user uses hard keyboard, IME button should always be shown.
             setImeWindowStatus(mapToImeWindowStatus(isInputViewShown()), mBackDisposition);
 
@@ -594,7 +609,7 @@
         @MainThread
         @Override
         public void changeInputMethodSubtype(InputMethodSubtype subtype) {
-            onCurrentInputMethodSubtypeChanged(subtype);
+            dispatchOnCurrentInputMethodSubtypeChanged(subtype);
         }
     }
 
@@ -921,9 +936,9 @@
         super.onCreate();
         mImm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
         mSettingsObserver = SettingsObserver.createAndRegister(this);
-        // If the previous IME has occupied non-empty inset in the screen, we need to decide whether
-        // we continue to use the same size of the inset or update it
-        mShouldClearInsetOfPreviousIme = (mImm.getInputMethodWindowVisibleHeight() > 0);
+        // TODO(b/111364446) Need to address context lifecycle issue if need to re-create
+        // for update resources & configuration correctly when show soft input
+        // in non-default display.
         mInflater = (LayoutInflater)getSystemService(
                 Context.LAYOUT_INFLATER_SERVICE);
         mWindow = new SoftInputWindow(this, "InputMethod", mTheme, null, null, mDispatcherState,
@@ -1004,7 +1019,7 @@
         if (mToken != null) {
             // This is completely optional, but allows us to show more explicit error messages
             // when IME developers are doing something unsupported.
-            mImm.unregisterInputMethodPrivOps(mToken);
+            InputMethodPrivilegedOperationsRegistry.remove(mToken);
         }
     }
 
@@ -1854,9 +1869,6 @@
             if (DEBUG) Log.v(TAG, "showWindow: showing!");
             onWindowShown();
             mWindow.show();
-            // Put here rather than in onWindowShown() in case people forget to call
-            // super.onWindowShown().
-            mShouldClearInsetOfPreviousIme = false;
         }
     }
 
@@ -1906,32 +1918,6 @@
     }
 
     /**
-     * Reset the inset occupied the previous IME when and only when
-     * {@link #mShouldClearInsetOfPreviousIme} is {@code true}.
-     */
-    private void clearInsetOfPreviousIme() {
-        if (DEBUG) Log.v(TAG, "clearInsetOfPreviousIme() "
-                + " mShouldClearInsetOfPreviousIme=" + mShouldClearInsetOfPreviousIme);
-        if (!mShouldClearInsetOfPreviousIme) return;
-
-        clearLastInputMethodWindowForTransition();
-        mShouldClearInsetOfPreviousIme = false;
-    }
-
-    /**
-     * Tells the system that the IME decided to not show a window and the system no longer needs to
-     * use the previous IME's inset.
-     *
-     * <p>Caveat: {@link android.inputmethodservice.InputMethodService#clearInsetOfPreviousIme()}
-     * is the only expected caller of this method.  Do not depend on this anywhere else.</p>
-     *
-     * <p>TODO: We probably need to reconsider how IME should be handled.</p>
-     */
-    private void clearLastInputMethodWindowForTransition() {
-        mPrivOps.clearLastInputMethodWindowForTransition();
-    }
-
-    /**
      * Called when a new client has bound to the input method.  This
      * may be followed by a series of {@link #onStartInput(EditorInfo, boolean)}
      * and {@link #onFinishInput()} calls as the user navigates through its
@@ -2792,6 +2778,13 @@
         }
     }
 
+    private void dispatchOnCurrentInputMethodSubtypeChanged(InputMethodSubtype newSubtype) {
+        synchronized (mLock) {
+            mNotifyUserActionSent = false;
+        }
+        onCurrentInputMethodSubtypeChanged(newSubtype);
+    }
+
     // TODO: Handle the subtype change event
     /**
      * Called when the subtype was changed.
@@ -2810,18 +2803,22 @@
     }
 
     /**
-     * @return The recommended height of the input method window.
-     * An IME author can get the last input method's height as the recommended height
-     * by calling this in
-     * {@link android.inputmethodservice.InputMethodService#onStartInputView(EditorInfo, boolean)}.
-     * If you don't need to use a predefined fixed height, you can avoid the window-resizing of IME
-     * switching by using this value as a visible inset height. It's efficient for the smooth
-     * transition between different IMEs. However, note that this may return 0 (or possibly
-     * unexpectedly low height). You should thus avoid relying on the return value of this method
-     * all the time. Please make sure to use a reasonable height for the IME.
+     * Aimed to return the previous input method's {@link Insets#contentTopInsets}, but its actual
+     * semantics has never been well defined.
+     *
+     * <p>Note that the previous document clearly mentioned that this method could return {@code 0}
+     * at any time for whatever reason.  Now this method is just always returning {@code 0}.</p>
+     *
+     * @return on Android {@link android.os.Build.VERSION_CODES#Q} and later devices this method
+     *         always returns {@code 0}
+     * @deprecated the actual behavior of this method has never been well defined.  You cannot use
+     *             this method in a reliable and predictable way
      */
+    @Deprecated
     public int getInputMethodWindowRecommendedHeight() {
-        return mImm.getInputMethodWindowVisibleHeight();
+        Log.w(TAG, "getInputMethodWindowRecommendedHeight() is deprecated and now always returns 0."
+                + " Do not use this method.");
+        return 0;
     }
 
     /**
@@ -2848,6 +2845,22 @@
     }
 
     /**
+     * {@inheritDoc}
+     * @hide
+     */
+    @AnyThread
+    @Override
+    public final void notifyUserActionIfNecessary() {
+        synchronized (mLock) {
+            if (mNotifyUserActionSent) {
+                return;
+            }
+            mPrivOps.notifyUserActionAsync();
+            mNotifyUserActionSent = true;
+        }
+    }
+
+    /**
      * Allow the receiver of {@link InputContentInfo} to obtain a temporary read-only access
      * permission to the content.
      *
@@ -2929,7 +2942,6 @@
                 + " visibleTopInsets=" + mTmpInsets.visibleTopInsets
                 + " touchableInsets=" + mTmpInsets.touchableInsets
                 + " touchableRegion=" + mTmpInsets.touchableRegion);
-        p.println(" mShouldClearInsetOfPreviousIme=" + mShouldClearInsetOfPreviousIme);
         p.println(" mSettingsObserver=" + mSettingsObserver);
     }
 }
diff --git a/core/java/android/inputmethodservice/Keyboard.java b/core/java/android/inputmethodservice/Keyboard.java
index ec5f050..51d33b2 100644
--- a/core/java/android/inputmethodservice/Keyboard.java
+++ b/core/java/android/inputmethodservice/Keyboard.java
@@ -25,6 +25,7 @@
 import android.content.res.TypedArray;
 import android.content.res.XmlResourceParser;
 import android.graphics.drawable.Drawable;
+import android.os.Build;
 import android.text.TextUtils;
 import android.util.Log;
 import android.util.TypedValue;
@@ -627,7 +628,7 @@
         rows.add(row);
     }
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     final void resize(int newWidth, int newHeight) {
         int numRows = rows.size();
         for (int rowIndex = 0; rowIndex < numRows; ++rowIndex) {
diff --git a/core/java/android/net/ConnectionInfo.aidl b/core/java/android/net/ConnectionInfo.aidl
new file mode 100644
index 0000000..07faf8b
--- /dev/null
+++ b/core/java/android/net/ConnectionInfo.aidl
@@ -0,0 +1,20 @@
+/*
+**
+** Copyright (C) 2018 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.
+*/
+
+package android.net;
+
+parcelable ConnectionInfo;
diff --git a/core/java/android/net/ConnectionInfo.java b/core/java/android/net/ConnectionInfo.java
new file mode 100644
index 0000000..58d0e05
--- /dev/null
+++ b/core/java/android/net/ConnectionInfo.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.net;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.UnknownHostException;
+
+/**
+ * Describe a network connection including local and remote address/port of a connection and the
+ * transport protocol.
+ *
+ * @hide
+ */
+public final class ConnectionInfo implements Parcelable {
+    public final int protocol;
+    public final InetSocketAddress local;
+    public final InetSocketAddress remote;
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    public ConnectionInfo(int protocol, InetSocketAddress local, InetSocketAddress remote) {
+        this.protocol = protocol;
+        this.local = local;
+        this.remote = remote;
+    }
+
+    @Override
+    public void writeToParcel(Parcel out, int flags) {
+        out.writeInt(protocol);
+        out.writeByteArray(local.getAddress().getAddress());
+        out.writeInt(local.getPort());
+        out.writeByteArray(remote.getAddress().getAddress());
+        out.writeInt(remote.getPort());
+    }
+
+    public static final Creator<ConnectionInfo> CREATOR = new Creator<ConnectionInfo>() {
+        public ConnectionInfo createFromParcel(Parcel in) {
+            int protocol = in.readInt();
+            InetAddress localAddress;
+            try {
+                localAddress = InetAddress.getByAddress(in.createByteArray());
+            } catch (UnknownHostException e) {
+                throw new IllegalArgumentException("Invalid InetAddress");
+            }
+            int localPort = in.readInt();
+            InetAddress remoteAddress;
+            try {
+                remoteAddress = InetAddress.getByAddress(in.createByteArray());
+            } catch (UnknownHostException e) {
+                throw new IllegalArgumentException("Invalid InetAddress");
+            }
+            int remotePort = in.readInt();
+            InetSocketAddress local = new InetSocketAddress(localAddress, localPort);
+            InetSocketAddress remote = new InetSocketAddress(remoteAddress, remotePort);
+            return new ConnectionInfo(protocol, local, remote);
+        }
+
+        public ConnectionInfo[] newArray(int size) {
+            return new ConnectionInfo[size];
+        }
+    };
+}
diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java
index ce18796..8333b81 100644
--- a/core/java/android/net/ConnectivityManager.java
+++ b/core/java/android/net/ConnectivityManager.java
@@ -26,7 +26,6 @@
 import android.app.PendingIntent;
 import android.content.Context;
 import android.content.Intent;
-import android.content.pm.PackageManager;
 import android.os.Binder;
 import android.os.Build.VERSION_CODES;
 import android.os.Bundle;
@@ -59,6 +58,7 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.net.InetAddress;
+import java.net.InetSocketAddress;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -3800,8 +3800,9 @@
 
     private void unsupportedStartingFrom(int version) {
         if (Process.myUid() == Process.SYSTEM_UID) {
-            // The getApplicationInfo() call we make below is not supported in system context, and
-            // we want to allow the system to use these APIs anyway.
+            // The getApplicationInfo() call we make below is not supported in system context. Let
+            // the call through here, and rely on the fact that ConnectivityService will refuse to
+            // allow the system to use these APIs anyway.
             return;
         }
 
@@ -3818,11 +3819,6 @@
     // functions by accessing ConnectivityService directly. However, it should be clear that doing
     // so is unsupported and may break in the future. http://b/22728205
     private void checkLegacyRoutingApiAccess() {
-        if (mContext.checkCallingOrSelfPermission("com.android.permission.INJECT_OMADM_SETTINGS")
-                == PackageManager.PERMISSION_GRANTED) {
-            return;
-        }
-
         unsupportedStartingFrom(VERSION_CODES.M);
     }
 
@@ -3930,4 +3926,26 @@
             throw e.rethrowFromSystemServer();
         }
     }
+
+    /**
+     * Returns the {@code uid} of the owner of a network connection.
+     *
+     * @param protocol The protocol of the connection. Only {@code IPPROTO_TCP} and
+     * {@code IPPROTO_UDP} currently supported.
+     * @param local The local {@link InetSocketAddress} of a connection.
+     * @param remote The remote {@link InetSocketAddress} of a connection.
+     *
+     * @return {@code uid} if the connection is found and the app has permission to observe it
+     * (e.g., if it is associated with the calling VPN app's tunnel) or
+     * {@link android.os.Process#INVALID_UID} if the connection is not found.
+     */
+    public int getConnectionOwnerUid(int protocol, InetSocketAddress local,
+                                     InetSocketAddress remote) {
+        ConnectionInfo connectionInfo = new ConnectionInfo(protocol, local, remote);
+        try {
+            return mService.getConnectionOwnerUid(connectionInfo);
+        } catch (RemoteException e) {
+            throw e.rethrowFromSystemServer();
+        }
+    }
 }
diff --git a/core/java/android/net/IConnectivityManager.aidl b/core/java/android/net/IConnectivityManager.aidl
index ce95b60..e7d441d 100644
--- a/core/java/android/net/IConnectivityManager.aidl
+++ b/core/java/android/net/IConnectivityManager.aidl
@@ -17,6 +17,7 @@
 package android.net;
 
 import android.app.PendingIntent;
+import android.net.ConnectionInfo;
 import android.net.LinkProperties;
 import android.net.Network;
 import android.net.NetworkCapabilities;
@@ -182,4 +183,6 @@
     String getCaptivePortalServerUrl();
 
     byte[] getNetworkWatchlistConfigHash();
+
+    int getConnectionOwnerUid(in ConnectionInfo connectionInfo);
 }
diff --git a/core/java/android/net/NetworkCapabilities.java b/core/java/android/net/NetworkCapabilities.java
index fd1e5f2..12b6f9e 100644
--- a/core/java/android/net/NetworkCapabilities.java
+++ b/core/java/android/net/NetworkCapabilities.java
@@ -21,6 +21,7 @@
 import android.annotation.TestApi;
 import android.annotation.UnsupportedAppUsage;
 import android.net.ConnectivityManager.NetworkCallback;
+import android.os.Build;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.util.ArraySet;
@@ -904,7 +905,7 @@
      *         specifier. See {@link #setNetworkSpecifier}.
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public NetworkSpecifier getNetworkSpecifier() {
         return mNetworkSpecifier;
     }
diff --git a/core/java/android/net/NetworkFactory.java b/core/java/android/net/NetworkFactory.java
index 010d72f..9c836c3 100644
--- a/core/java/android/net/NetworkFactory.java
+++ b/core/java/android/net/NetworkFactory.java
@@ -211,7 +211,7 @@
      * Called for every request every time a new NetworkRequest is seen
      * and whenever the filterScore or filterNetworkCapabilities change.
      *
-     * acceptRequest can be overriden to provide complex filter behavior
+     * acceptRequest can be overridden to provide complex filter behavior
      * for the incoming requests
      *
      * For output, this class will call {@link #needNetworkFor} and
diff --git a/core/java/android/net/NetworkSpecifier.java b/core/java/android/net/NetworkSpecifier.java
index 9ce2a5b..be2f955 100644
--- a/core/java/android/net/NetworkSpecifier.java
+++ b/core/java/android/net/NetworkSpecifier.java
@@ -35,7 +35,7 @@
     public abstract boolean satisfiedBy(NetworkSpecifier other);
 
     /**
-     * Optional method which can be overriden by concrete implementations of NetworkSpecifier to
+     * Optional method which can be overridden by concrete implementations of NetworkSpecifier to
      * check a self-reported UID. A concrete implementation may contain a UID which would be self-
      * reported by the caller (since NetworkSpecifier implementations should be non-mutable). This
      * function is called by ConnectivityService and is passed the actual UID of the caller -
diff --git a/core/java/android/net/NetworkState.java b/core/java/android/net/NetworkState.java
index c545ee2..97fb3fb 100644
--- a/core/java/android/net/NetworkState.java
+++ b/core/java/android/net/NetworkState.java
@@ -17,6 +17,7 @@
 package android.net;
 
 import android.annotation.UnsupportedAppUsage;
+import android.os.Build;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.util.Slog;
@@ -34,7 +35,7 @@
     public final NetworkInfo networkInfo;
     public final LinkProperties linkProperties;
     public final NetworkCapabilities networkCapabilities;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public final Network network;
     public final String subscriberId;
     public final String networkId;
diff --git a/core/java/android/net/SSLCertificateSocketFactory.java b/core/java/android/net/SSLCertificateSocketFactory.java
index 31494d9..abc1cac 100644
--- a/core/java/android/net/SSLCertificateSocketFactory.java
+++ b/core/java/android/net/SSLCertificateSocketFactory.java
@@ -17,6 +17,7 @@
 package android.net;
 
 import android.annotation.UnsupportedAppUsage;
+import android.os.Build;
 import android.os.SystemProperties;
 import android.util.Log;
 
@@ -87,7 +88,7 @@
  * requires root access.
  */
 public class SSLCertificateSocketFactory extends SSLSocketFactory {
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private static final String TAG = "SSLCertificateSocketFactory";
 
     @UnsupportedAppUsage
@@ -384,7 +385,7 @@
      * @throws IllegalArgumentException if the socket was not created by this factory.
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public byte[] getAlpnSelectedProtocol(Socket socket) {
         return castToOpenSSLSocket(socket).getAlpnSelectedProtocol();
     }
@@ -410,7 +411,7 @@
      *
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public void setChannelIdPrivateKey(PrivateKey privateKey) {
         mChannelIdPrivateKey = privateKey;
     }
diff --git a/core/java/android/net/Uri.java b/core/java/android/net/Uri.java
index 9bcc600..40465ce 100644
--- a/core/java/android/net/Uri.java
+++ b/core/java/android/net/Uri.java
@@ -197,7 +197,7 @@
      *
      * <p>Example: "//www.google.com/search?q=android"
      *
-     * @return the decoded scheme-specific-part
+     * @return the encoded scheme-specific-part
      */
     public abstract String getEncodedSchemeSpecificPart();
 
diff --git a/core/java/android/nfc/NfcManager.java b/core/java/android/nfc/NfcManager.java
index 71199c9..030066e 100644
--- a/core/java/android/nfc/NfcManager.java
+++ b/core/java/android/nfc/NfcManager.java
@@ -19,6 +19,7 @@
 import android.annotation.SystemService;
 import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
+import android.os.Build;
 
 /**
  * High level manager used to obtain an instance of an {@link NfcAdapter}.
@@ -45,7 +46,7 @@
     /**
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public NfcManager(Context context) {
         NfcAdapter adapter;
         context = context.getApplicationContext();
diff --git a/core/java/android/nfc/tech/MifareClassic.java b/core/java/android/nfc/tech/MifareClassic.java
index 02819a6..080e058 100644
--- a/core/java/android/nfc/tech/MifareClassic.java
+++ b/core/java/android/nfc/tech/MifareClassic.java
@@ -38,7 +38,7 @@
  * <li>MIFARE Classic Mini are 320 bytes ({@link #SIZE_MINI}), with 5 sectors each of 4 blocks.
  * <li>MIFARE Classic 1k are 1024 bytes ({@link #SIZE_1K}), with 16 sectors each of 4 blocks.
  * <li>MIFARE Classic 2k are 2048 bytes ({@link #SIZE_2K}), with 32 sectors each of 4 blocks.
- * <li>MIFARE Classic 4k} are 4096 bytes ({@link #SIZE_4K}). The first 32 sectors contain 4 blocks
+ * <li>MIFARE Classic 4k are 4096 bytes ({@link #SIZE_4K}). The first 32 sectors contain 4 blocks
  * and the last 8 sectors contain 16 blocks.
  * </ul>
  *
diff --git a/core/java/android/os/BaseBundle.java b/core/java/android/os/BaseBundle.java
index 0fef78d..3d4c00c 100644
--- a/core/java/android/os/BaseBundle.java
+++ b/core/java/android/os/BaseBundle.java
@@ -1601,12 +1601,13 @@
     private void readFromParcelInner(Parcel parcel, int length) {
         if (length < 0) {
             throw new RuntimeException("Bad length in parcel: " + length);
-
         } else if (length == 0) {
             // Empty Bundle or end of data.
             mParcelledData = NoImagePreloadHolder.EMPTY_PARCEL;
             mParcelledByNative = false;
             return;
+        } else if (length % 4 != 0) {
+            throw new IllegalStateException("Bundle length is not aligned by 4: " + length);
         }
 
         final int magic = parcel.readInt();
diff --git a/core/java/android/os/Binder.java b/core/java/android/os/Binder.java
index b9d9007..f947b5e 100644
--- a/core/java/android/os/Binder.java
+++ b/core/java/android/os/Binder.java
@@ -773,6 +773,7 @@
             if (tracingEnabled) {
                 Trace.traceBegin(Trace.TRACE_TAG_ALWAYS, getClass().getName() + ":" + code);
             }
+            ThreadLocalWorkSourceUid.set(Binder.getCallingUid());
             res = onTransact(code, data, reply, flags);
         } catch (RemoteException|RuntimeException e) {
             if (observer != null) {
@@ -793,6 +794,7 @@
             }
             res = true;
         } finally {
+            ThreadLocalWorkSourceUid.clear();
             if (tracingEnabled) {
                 Trace.traceEnd(Trace.TRACE_TAG_ALWAYS);
             }
diff --git a/core/java/android/os/Build.java b/core/java/android/os/Build.java
index 6bd2e76..8681893 100644
--- a/core/java/android/os/Build.java
+++ b/core/java/android/os/Build.java
@@ -30,6 +30,8 @@
 
 import dalvik.system.VMRuntime;
 
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Objects;
 
 /**
@@ -1083,7 +1085,67 @@
         return true;
     }
 
+    /** Build information for a particular device partition. */
+    public static class Partition {
+        /** The name identifying the system partition. */
+        public static final String PARTITION_NAME_SYSTEM = "system";
+
+        private String mName;
+        private String mFingerprint;
+        private long mTimeMs;
+
+        public Partition() {}
+
+        private Partition(String name, String fingerprint, long timeMs) {
+            mName = name;
+            mFingerprint = fingerprint;
+            mTimeMs = timeMs;
+        }
+
+        /** The name of this partition, e.g. "system", or "vendor" */
+        public String getName() {
+            return mName;
+        }
+
+        /** The build fingerprint of this partition, see {@link Build#FINGERPRINT}. */
+        public String getFingerprint() {
+            return mFingerprint;
+        }
+
+        /** The time (ms since epoch), at which this partition was built, see {@link Build#TIME}. */
+        public long getTimeMillis() {
+            return mTimeMs;
+        }
+    }
+
+    /**
+     * Get build information about partitions that have a separate fingerprint defined.
+     *
+     * The list includes partitions that are suitable candidates for over-the-air updates. This is
+     * not an exhaustive list of partitions on the device.
+     */
+    public static List<Partition> getPartitions() {
+        ArrayList<Partition> partitions = new ArrayList();
+
+        String[] names = new String[] {
+            "bootimage", "odm", "product", "product_services", Partition.PARTITION_NAME_SYSTEM,
+            "vendor"
+        };
+        for (String name : names) {
+            String fingerprint = SystemProperties.get("ro." + name + ".build.fingerprint");
+            if (TextUtils.isEmpty(fingerprint)) {
+                continue;
+            }
+            long time = getLong("ro." + name + ".build.date.utc") * 1000;
+            partitions.add(new Partition(name, fingerprint, time));
+        }
+
+        return partitions;
+    }
+
     // The following properties only make sense for internal engineering builds.
+
+    /** The time at which the build was produced, given in milliseconds since the UNIX epoch. */
     public static final long TIME = getLong("ro.build.date.utc") * 1000;
     public static final String USER = getString("ro.build.user");
     public static final String HOST = getString("ro.build.host");
diff --git a/core/java/android/os/Environment.java b/core/java/android/os/Environment.java
index 347f60f..3c43fd18 100644
--- a/core/java/android/os/Environment.java
+++ b/core/java/android/os/Environment.java
@@ -16,6 +16,7 @@
 
 package android.os;
 
+import android.annotation.SystemApi;
 import android.annotation.TestApi;
 import android.app.admin.DevicePolicyManager;
 import android.content.Context;
@@ -165,6 +166,7 @@
      *
      * @hide
      */
+    @SystemApi
     public static File getOemDirectory() {
         return DIR_OEM_ROOT;
     }
@@ -175,6 +177,7 @@
      *
      * @hide
      */
+    @SystemApi
     public static File getOdmDirectory() {
         return DIR_ODM_ROOT;
     }
@@ -184,6 +187,7 @@
      * software that should persist across simple reflashing of the "system" partition.
      * @hide
      */
+    @SystemApi
     public static File getVendorDirectory() {
         return DIR_VENDOR_ROOT;
     }
@@ -194,6 +198,7 @@
      *
      * @hide
      */
+    @SystemApi
     public static File getProductDirectory() {
         return DIR_PRODUCT_ROOT;
     }
@@ -204,6 +209,7 @@
      *
      * @hide
      */
+    @SystemApi
     public static File getProductServicesDirectory() {
         return DIR_PRODUCT_SERVICES_ROOT;
     }
@@ -1063,7 +1069,6 @@
         return cur;
     }
 
-
     /**
      * If the given path exists on emulated external storage, return the
      * translated backing path hosted on internal storage. This bypasses any
@@ -1074,8 +1079,10 @@
      * must hold {@link android.Manifest.permission#WRITE_MEDIA_STORAGE}
      * permission.
      *
+     * @deprecated disabled now that FUSE has been replaced by sdcardfs
      * @hide
      */
+    @Deprecated
     public static File maybeTranslateEmulatedPathToInternal(File path) {
         return StorageManager.maybeTranslateEmulatedPathToInternal(path);
     }
diff --git a/core/java/android/os/FileUtils.java b/core/java/android/os/FileUtils.java
index 1c8029c..a9cb0d9 100644
--- a/core/java/android/os/FileUtils.java
+++ b/core/java/android/os/FileUtils.java
@@ -16,6 +16,18 @@
 
 package android.os;
 
+import static android.os.ParcelFileDescriptor.MODE_APPEND;
+import static android.os.ParcelFileDescriptor.MODE_CREATE;
+import static android.os.ParcelFileDescriptor.MODE_READ_ONLY;
+import static android.os.ParcelFileDescriptor.MODE_READ_WRITE;
+import static android.os.ParcelFileDescriptor.MODE_TRUNCATE;
+import static android.os.ParcelFileDescriptor.MODE_WRITE_ONLY;
+import static android.system.OsConstants.O_APPEND;
+import static android.system.OsConstants.O_CREAT;
+import static android.system.OsConstants.O_RDONLY;
+import static android.system.OsConstants.O_RDWR;
+import static android.system.OsConstants.O_TRUNC;
+import static android.system.OsConstants.O_WRONLY;
 import static android.system.OsConstants.SPLICE_F_MORE;
 import static android.system.OsConstants.SPLICE_F_MOVE;
 import static android.system.OsConstants.S_ISFIFO;
@@ -1061,8 +1073,13 @@
                 mimeTypeFromExt = ContentResolver.MIME_TYPE_DEFAULT;
             }
 
-            final String extFromMimeType = MimeTypeMap.getSingleton().getExtensionFromMimeType(
-                    mimeType);
+            final String extFromMimeType;
+            if (ContentResolver.MIME_TYPE_DEFAULT.equals(mimeType)) {
+                extFromMimeType = null;
+            } else {
+                extFromMimeType = MimeTypeMap.getSingleton().getExtensionFromMimeType(mimeType);
+            }
+
             if (Objects.equals(mimeType, mimeTypeFromExt) || Objects.equals(ext, extFromMimeType)) {
                 // Extension maps back to requested MIME type; allow it
             } else {
@@ -1180,6 +1197,96 @@
     }
 
     /** {@hide} */
+    public static int translateModeStringToPosix(String mode) {
+        int res = 0;
+        if (mode.startsWith("rw")) {
+            res |= O_RDWR | O_CREAT;
+        } else if (mode.startsWith("w")) {
+            res |= O_WRONLY | O_CREAT;
+        } else if (mode.startsWith("r")) {
+            res |= O_RDONLY;
+        } else {
+            throw new IllegalArgumentException("Bad mode: " + mode);
+        }
+        if (mode.indexOf('t') != -1) {
+            res |= O_TRUNC;
+        }
+        if (mode.indexOf('a') != -1) {
+            res |= O_APPEND;
+        }
+        return res;
+    }
+
+    /** {@hide} */
+    public static String translateModePosixToString(int mode) {
+        String res = "";
+        if ((mode & O_RDWR) == O_RDWR) {
+            res += "rw";
+        } else if ((mode & O_WRONLY) == O_WRONLY) {
+            res += "w";
+        } else if ((mode & O_RDONLY) == O_RDONLY) {
+            res += "r";
+        } else {
+            throw new IllegalArgumentException("Bad mode: " + mode);
+        }
+        if ((mode & O_TRUNC) == O_TRUNC) {
+            res += "t";
+        }
+        if ((mode & O_APPEND) == O_APPEND) {
+            res += "a";
+        }
+        return res;
+    }
+
+    /** {@hide} */
+    public static int translateModePosixToPfd(int mode) {
+        int res = 0;
+        if ((mode & O_RDWR) == O_RDWR) {
+            res |= MODE_READ_WRITE;
+        } else if ((mode & O_WRONLY) == O_WRONLY) {
+            res |= MODE_WRITE_ONLY;
+        } else if ((mode & O_RDONLY) == O_RDONLY) {
+            res |= MODE_READ_ONLY;
+        } else {
+            throw new IllegalArgumentException("Bad mode: " + mode);
+        }
+        if ((mode & O_CREAT) == O_CREAT) {
+            res |= MODE_CREATE;
+        }
+        if ((mode & O_TRUNC) == O_TRUNC) {
+            res |= MODE_TRUNCATE;
+        }
+        if ((mode & O_APPEND) == O_APPEND) {
+            res |= MODE_APPEND;
+        }
+        return res;
+    }
+
+    /** {@hide} */
+    public static int translateModePfdToPosix(int mode) {
+        int res = 0;
+        if ((mode & MODE_READ_WRITE) == MODE_READ_WRITE) {
+            res |= O_RDWR;
+        } else if ((mode & MODE_WRITE_ONLY) == MODE_WRITE_ONLY) {
+            res |= O_WRONLY;
+        } else if ((mode & MODE_READ_ONLY) == MODE_READ_ONLY) {
+            res |= O_RDONLY;
+        } else {
+            throw new IllegalArgumentException("Bad mode: " + mode);
+        }
+        if ((mode & MODE_CREATE) == MODE_CREATE) {
+            res |= O_CREAT;
+        }
+        if ((mode & MODE_TRUNCATE) == MODE_TRUNCATE) {
+            res |= O_TRUNC;
+        }
+        if ((mode & MODE_APPEND) == MODE_APPEND) {
+            res |= O_APPEND;
+        }
+        return res;
+    }
+
+    /** {@hide} */
     @VisibleForTesting
     public static class MemoryPipe extends Thread implements AutoCloseable {
         private final FileDescriptor[] pipe;
diff --git a/core/java/android/os/GraphicsEnvironment.java b/core/java/android/os/GraphicsEnvironment.java
index f2e0bdd..54be639 100644
--- a/core/java/android/os/GraphicsEnvironment.java
+++ b/core/java/android/os/GraphicsEnvironment.java
@@ -44,6 +44,8 @@
     private static final boolean DEBUG = false;
     private static final String TAG = "GraphicsEnvironment";
     private static final String PROPERTY_GFX_DRIVER = "ro.gfx.driver.0";
+    private static final String ANGLE_PACKAGE_NAME = "com.android.angle";
+    private static final String GLES_MODE_METADATA_KEY = "com.android.angle.GLES_MODE";
 
     private ClassLoader mClassLoader;
     private String mLayerPath;
@@ -54,6 +56,7 @@
      */
     public void setup(Context context) {
         setupGpuLayers(context);
+        setupAngle(context);
         chooseDriver(context);
     }
 
@@ -121,7 +124,6 @@
                     }
                 }
             }
-
         }
 
         // Include the app's lib directory in all cases
@@ -131,6 +133,80 @@
     }
 
     /**
+     * Pass ANGLE details down to trigger enable logic
+     */
+    private static void setupAngle(Context context) {
+
+        String angleEnabledApp =
+                Settings.Global.getString(context.getContentResolver(),
+                                          Settings.Global.ANGLE_ENABLED_APP);
+
+        String packageName = context.getPackageName();
+
+        boolean devOptIn = false;
+        if ((angleEnabledApp != null && packageName != null)
+                && (!angleEnabledApp.isEmpty() && !packageName.isEmpty())
+                && angleEnabledApp.equals(packageName)) {
+
+            if (DEBUG) Log.v(TAG, packageName + " opted in for ANGLE via Developer Setting");
+
+            devOptIn = true;
+        }
+
+        ApplicationInfo appInfo;
+        try {
+            appInfo = context.getPackageManager().getApplicationInfo(packageName,
+                PackageManager.GET_META_DATA);
+        } catch (PackageManager.NameNotFoundException e) {
+            Log.w(TAG, "Failed to get info about current application: " + packageName);
+            return;
+        }
+
+        String appPref = "dontcare";
+        final BaseBundle metadata = appInfo.metaData;
+        if (metadata != null) {
+            final String glesMode = metadata.getString(GLES_MODE_METADATA_KEY);
+            if (glesMode != null) {
+                if (glesMode.equals("angle")) {
+                    appPref = "angle";
+                    if (DEBUG) Log.v(TAG, packageName + " opted for ANGLE via AndroidManifest");
+                } else if (glesMode.equals("native")) {
+                    appPref = "native";
+                    if (DEBUG) Log.v(TAG, packageName + " opted for NATIVE via AndroidManifest");
+                } else {
+                    Log.w(TAG, "Unrecognized GLES_MODE (\"" + glesMode + "\") for " + packageName
+                               + ". Supported values are \"angle\" or \"native\"");
+                }
+            }
+        }
+
+        ApplicationInfo angleInfo;
+        try {
+            angleInfo = context.getPackageManager().getApplicationInfo(ANGLE_PACKAGE_NAME,
+                PackageManager.MATCH_SYSTEM_ONLY);
+        } catch (PackageManager.NameNotFoundException e) {
+            Log.w(TAG, "ANGLE package '" + ANGLE_PACKAGE_NAME + "' not installed");
+            return;
+        }
+
+        String abi = chooseAbi(angleInfo);
+
+        // Build a path that includes installed native libs and APK
+        StringBuilder sb = new StringBuilder();
+        sb.append(angleInfo.nativeLibraryDir)
+            .append(File.pathSeparator)
+            .append(angleInfo.sourceDir)
+            .append("!/lib/")
+            .append(abi);
+        String paths = sb.toString();
+
+        if (DEBUG) Log.v(TAG, "ANGLE package libs: " + paths);
+
+        // Further opt-in logic is handled in native, so pass relevant info down
+        setAngleInfo(paths, packageName, appPref, devOptIn);
+    }
+
+    /**
      * Choose whether the current process should use the builtin or an updated driver.
      */
     private static void chooseDriver(Context context) {
@@ -218,4 +294,6 @@
     private static native void setLayerPaths(ClassLoader classLoader, String layerPaths);
     private static native void setDebugLayers(String layers);
     private static native void setDriverPath(String path);
+    private static native void setAngleInfo(String path, String appPackage, String appPref,
+                                            boolean devOptIn);
 }
diff --git a/core/java/android/os/Handler.java b/core/java/android/os/Handler.java
index 9b202f2..f3a9a50 100644
--- a/core/java/android/os/Handler.java
+++ b/core/java/android/os/Handler.java
@@ -33,7 +33,7 @@
  * them as they come out of the message queue.
  * 
  * <p>There are two main uses for a Handler: (1) to schedule messages and
- * runnables to be executed as some point in the future; and (2) to enqueue
+ * runnables to be executed at some point in the future; and (2) to enqueue
  * an action to be performed on a different thread than your own.
  * 
  * <p>Scheduling messages is accomplished with the
@@ -739,6 +739,8 @@
 
     private boolean enqueueMessage(MessageQueue queue, Message msg, long uptimeMillis) {
         msg.target = this;
+        msg.workSourceUid = ThreadLocalWorkSourceUid.get();
+
         if (mAsynchronous) {
             msg.setAsynchronous(true);
         }
diff --git a/core/java/android/os/Looper.java b/core/java/android/os/Looper.java
index ded3a19..5b8abab 100644
--- a/core/java/android/os/Looper.java
+++ b/core/java/android/os/Looper.java
@@ -205,6 +205,7 @@
                 token = observer.messageDispatchStarting();
             }
             try {
+                ThreadLocalWorkSourceUid.set(msg.workSourceUid);
                 msg.target.dispatchMessage(msg);
                 if (observer != null) {
                     observer.messageDispatched(token, msg);
@@ -216,6 +217,7 @@
                 }
                 throw exception;
             } finally {
+                ThreadLocalWorkSourceUid.clear();
                 if (traceTag != 0) {
                     Trace.traceEnd(traceTag);
                 }
diff --git a/core/java/android/os/Message.java b/core/java/android/os/Message.java
index 455d8ed..cd3f301 100644
--- a/core/java/android/os/Message.java
+++ b/core/java/android/os/Message.java
@@ -16,7 +16,6 @@
 
 package android.os;
 
-import android.os.MessageProto;
 import android.util.TimeUtils;
 import android.util.proto.ProtoOutputStream;
 
@@ -74,11 +73,25 @@
     public Messenger replyTo;
 
     /**
+     * Indicates that the uid is not set;
+     *
+     * @hide Only for use within the system server.
+     */
+    public static final int UID_NONE = -1;
+
+    /**
      * Optional field indicating the uid that sent the message.  This is
      * only valid for messages posted by a {@link Messenger}; otherwise,
      * it will be -1.
      */
-    public int sendingUid = -1;
+    public int sendingUid = UID_NONE;
+
+    /**
+     * Optional field indicating the uid that caused this message to be enqueued.
+     *
+     * @hide Only for use within the system server.
+     */
+    public int workSourceUid = UID_NONE;
 
     /** If set message is in use.
      * This flag is set when the message is enqueued and remains set while it
@@ -151,6 +164,7 @@
         m.obj = orig.obj;
         m.replyTo = orig.replyTo;
         m.sendingUid = orig.sendingUid;
+        m.workSourceUid = orig.workSourceUid;
         if (orig.data != null) {
             m.data = new Bundle(orig.data);
         }
@@ -301,7 +315,8 @@
         arg2 = 0;
         obj = null;
         replyTo = null;
-        sendingUid = -1;
+        sendingUid = UID_NONE;
+        workSourceUid = UID_NONE;
         when = 0;
         target = null;
         callback = null;
@@ -329,6 +344,7 @@
         this.obj = o.obj;
         this.replyTo = o.replyTo;
         this.sendingUid = o.sendingUid;
+        this.workSourceUid = o.workSourceUid;
 
         if (o.data != null) {
             this.data = (Bundle) o.data.clone();
@@ -612,6 +628,7 @@
         dest.writeBundle(data);
         Messenger.writeMessengerOrNullToParcel(replyTo, dest);
         dest.writeInt(sendingUid);
+        dest.writeInt(workSourceUid);
     }
 
     private void readFromParcel(Parcel source) {
@@ -625,5 +642,6 @@
         data = source.readBundle();
         replyTo = Messenger.readMessengerOrNullFromParcel(source);
         sendingUid = source.readInt();
+        workSourceUid = source.readInt();
     }
 }
diff --git a/core/java/android/os/ParcelFileDescriptor.java b/core/java/android/os/ParcelFileDescriptor.java
index c9edc53..a54c589 100644
--- a/core/java/android/os/ParcelFileDescriptor.java
+++ b/core/java/android/os/ParcelFileDescriptor.java
@@ -559,28 +559,7 @@
      * @throws IllegalArgumentException if the given string does not match a known file mode.
      */
     public static int parseMode(String mode) {
-        final int modeBits;
-        if ("r".equals(mode)) {
-            modeBits = ParcelFileDescriptor.MODE_READ_ONLY;
-        } else if ("w".equals(mode) || "wt".equals(mode)) {
-            modeBits = ParcelFileDescriptor.MODE_WRITE_ONLY
-                    | ParcelFileDescriptor.MODE_CREATE
-                    | ParcelFileDescriptor.MODE_TRUNCATE;
-        } else if ("wa".equals(mode)) {
-            modeBits = ParcelFileDescriptor.MODE_WRITE_ONLY
-                    | ParcelFileDescriptor.MODE_CREATE
-                    | ParcelFileDescriptor.MODE_APPEND;
-        } else if ("rw".equals(mode)) {
-            modeBits = ParcelFileDescriptor.MODE_READ_WRITE
-                    | ParcelFileDescriptor.MODE_CREATE;
-        } else if ("rwt".equals(mode)) {
-            modeBits = ParcelFileDescriptor.MODE_READ_WRITE
-                    | ParcelFileDescriptor.MODE_CREATE
-                    | ParcelFileDescriptor.MODE_TRUNCATE;
-        } else {
-            throw new IllegalArgumentException("Bad mode '" + mode + "'");
-        }
-        return modeBits;
+        return FileUtils.translateModePosixToPfd(FileUtils.translateModeStringToPosix(mode));
     }
 
     /**
diff --git a/core/java/android/os/Process.java b/core/java/android/os/Process.java
index 7caf0b1..0f64c45 100644
--- a/core/java/android/os/Process.java
+++ b/core/java/android/os/Process.java
@@ -16,6 +16,8 @@
 
 package android.os;
 
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.annotation.TestApi;
 import android.system.Os;
 import android.system.OsConstants;
@@ -40,6 +42,11 @@
     public static final String SECONDARY_ZYGOTE_SOCKET = "zygote_secondary";
 
     /**
+     * An invalid UID value.
+     */
+    public static final int INVALID_UID = -1;
+
+    /**
      * Defines the root UID.
      * @hide
      */
@@ -475,6 +482,9 @@
      * @param instructionSet null-ok the instruction set to use.
      * @param appDataDir null-ok the data directory of the app.
      * @param invokeWith null-ok the command to invoke with.
+     * @param packageName null-ok the name of the package this process belongs to.
+     * @param packagesForUid null-ok all the packages with the same uid as this process.
+     * @param visibleVols null-ok storage volumes that can be accessed by this process.
      * @param zygoteArgs Additional arguments to supply to the zygote process.
      * 
      * @return An object that describes the result of the attempt to start the process.
@@ -482,39 +492,45 @@
      * 
      * {@hide}
      */
-    public static final ProcessStartResult start(final String processClass,
-                                  final String niceName,
-                                  int uid, int gid, int[] gids,
+    public static final ProcessStartResult start(@NonNull final String processClass,
+                                  @Nullable final String niceName,
+                                  int uid, int gid, @Nullable int[] gids,
                                   int runtimeFlags, int mountExternal,
                                   int targetSdkVersion,
-                                  String seInfo,
-                                  String abi,
-                                  String instructionSet,
-                                  String appDataDir,
-                                  String invokeWith,
-                                  String packageName,
-                                  String[] zygoteArgs) {
+                                  @Nullable String seInfo,
+                                  @NonNull String abi,
+                                  @Nullable String instructionSet,
+                                  @Nullable String appDataDir,
+                                  @Nullable String invokeWith,
+                                  @Nullable String packageName,
+                                  @Nullable String[] packagesForUid,
+                                  @Nullable String[] visibleVols,
+                                  @Nullable String[] zygoteArgs) {
         return zygoteProcess.start(processClass, niceName, uid, gid, gids,
                     runtimeFlags, mountExternal, targetSdkVersion, seInfo,
-                    abi, instructionSet, appDataDir, invokeWith, packageName, zygoteArgs);
+                    abi, instructionSet, appDataDir, invokeWith, packageName,
+                    packagesForUid, visibleVols, zygoteArgs);
     }
 
     /** @hide */
-    public static final ProcessStartResult startWebView(final String processClass,
-                                  final String niceName,
-                                  int uid, int gid, int[] gids,
+    public static final ProcessStartResult startWebView(@NonNull final String processClass,
+                                  @Nullable final String niceName,
+                                  int uid, int gid, @Nullable int[] gids,
                                   int runtimeFlags, int mountExternal,
                                   int targetSdkVersion,
-                                  String seInfo,
-                                  String abi,
-                                  String instructionSet,
-                                  String appDataDir,
-                                  String invokeWith,
-                                  String packageName,
-                                  String[] zygoteArgs) {
+                                  @Nullable String seInfo,
+                                  @NonNull String abi,
+                                  @Nullable String instructionSet,
+                                  @Nullable String appDataDir,
+                                  @Nullable String invokeWith,
+                                  @Nullable String packageName,
+                                  @Nullable String[] packagesForUid,
+                                  @Nullable String[] visibleVols,
+                                  @Nullable String[] zygoteArgs) {
         return WebViewZygote.getProcess().start(processClass, niceName, uid, gid, gids,
                     runtimeFlags, mountExternal, targetSdkVersion, seInfo,
-                    abi, instructionSet, appDataDir, invokeWith, packageName, zygoteArgs);
+                    abi, instructionSet, appDataDir, invokeWith, packageName,
+                    packagesForUid, visibleVols, zygoteArgs);
     }
 
     /**
diff --git a/core/java/android/os/RecoverySystem.java b/core/java/android/os/RecoverySystem.java
index 3e8e885..8492b0c 100644
--- a/core/java/android/os/RecoverySystem.java
+++ b/core/java/android/os/RecoverySystem.java
@@ -36,16 +36,12 @@
 import android.view.Display;
 import android.view.WindowManager;
 
-import com.android.internal.logging.MetricsLogger;
-
 import libcore.io.Streams;
 
-import java.io.BufferedReader;
 import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.io.FileReader;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.io.InputStream;
@@ -97,7 +93,7 @@
     /** Used to communicate with recovery.  See bootable/recovery/recovery.cpp. */
     private static final File RECOVERY_DIR = new File("/cache/recovery");
     private static final File LOG_FILE = new File(RECOVERY_DIR, "log");
-    private static final File LAST_INSTALL_FILE = new File(RECOVERY_DIR, "last_install");
+    private static final String LAST_INSTALL_PATH = "last_install";
     private static final String LAST_PREFIX = "last_";
     private static final String ACTION_EUICC_FACTORY_RESET =
             "com.android.internal.action.EUICC_FACTORY_RESET";
@@ -935,116 +931,6 @@
         throw new IOException("Reboot failed (no permissions?)");
     }
 
-    // Read last_install; then report time (in seconds) and I/O (in MiB) for
-    // this update to tron.
-    // Only report on the reboots immediately after an OTA update.
-    private static void parseLastInstallLog(Context context) {
-        try (BufferedReader in = new BufferedReader(new FileReader(LAST_INSTALL_FILE))) {
-            String line = null;
-            int bytesWrittenInMiB = -1, bytesStashedInMiB = -1;
-            int timeTotal = -1;
-            int uncryptTime = -1;
-            int sourceVersion = -1;
-            int temperatureStart = -1;
-            int temperatureEnd = -1;
-            int temperatureMax = -1;
-            int errorCode = -1;
-            int causeCode = -1;
-
-            while ((line = in.readLine()) != null) {
-                // Here is an example of lines in last_install:
-                // ...
-                // time_total: 101
-                // bytes_written_vendor: 51074
-                // bytes_stashed_vendor: 200
-                int numIndex = line.indexOf(':');
-                if (numIndex == -1 || numIndex + 1 >= line.length()) {
-                    continue;
-                }
-                String numString = line.substring(numIndex + 1).trim();
-                long parsedNum;
-                try {
-                    parsedNum = Long.parseLong(numString);
-                } catch (NumberFormatException ignored) {
-                    Log.e(TAG, "Failed to parse numbers in " + line);
-                    continue;
-                }
-
-                final int MiB = 1024 * 1024;
-                int scaled;
-                try {
-                    if (line.startsWith("bytes")) {
-                        scaled = Math.toIntExact(parsedNum / MiB);
-                    } else {
-                        scaled = Math.toIntExact(parsedNum);
-                    }
-                } catch (ArithmeticException ignored) {
-                    Log.e(TAG, "Number overflows in " + line);
-                    continue;
-                }
-
-                if (line.startsWith("time")) {
-                    timeTotal = scaled;
-                } else if (line.startsWith("uncrypt_time")) {
-                    uncryptTime = scaled;
-                } else if (line.startsWith("source_build")) {
-                    sourceVersion = scaled;
-                } else if (line.startsWith("bytes_written")) {
-                    bytesWrittenInMiB = (bytesWrittenInMiB == -1) ? scaled :
-                            bytesWrittenInMiB + scaled;
-                } else if (line.startsWith("bytes_stashed")) {
-                    bytesStashedInMiB = (bytesStashedInMiB == -1) ? scaled :
-                            bytesStashedInMiB + scaled;
-                } else if (line.startsWith("temperature_start")) {
-                    temperatureStart = scaled;
-                } else if (line.startsWith("temperature_end")) {
-                    temperatureEnd = scaled;
-                } else if (line.startsWith("temperature_max")) {
-                    temperatureMax = scaled;
-                } else if (line.startsWith("error")) {
-                    errorCode = scaled;
-                } else if (line.startsWith("cause")) {
-                    causeCode = scaled;
-                }
-            }
-
-            // Don't report data to tron if corresponding entry isn't found in last_install.
-            if (timeTotal != -1) {
-                MetricsLogger.histogram(context, "ota_time_total", timeTotal);
-            }
-            if (uncryptTime != -1) {
-                MetricsLogger.histogram(context, "ota_uncrypt_time", uncryptTime);
-            }
-            if (sourceVersion != -1) {
-                MetricsLogger.histogram(context, "ota_source_version", sourceVersion);
-            }
-            if (bytesWrittenInMiB != -1) {
-                MetricsLogger.histogram(context, "ota_written_in_MiBs", bytesWrittenInMiB);
-            }
-            if (bytesStashedInMiB != -1) {
-                MetricsLogger.histogram(context, "ota_stashed_in_MiBs", bytesStashedInMiB);
-            }
-            if (temperatureStart != -1) {
-                MetricsLogger.histogram(context, "ota_temperature_start", temperatureStart);
-            }
-            if (temperatureEnd != -1) {
-                MetricsLogger.histogram(context, "ota_temperature_end", temperatureEnd);
-            }
-            if (temperatureMax != -1) {
-                MetricsLogger.histogram(context, "ota_temperature_max", temperatureMax);
-            }
-            if (errorCode != -1) {
-                MetricsLogger.histogram(context, "ota_non_ab_error_code", errorCode);
-            }
-            if (causeCode != -1) {
-                MetricsLogger.histogram(context, "ota_non_ab_cause_code", causeCode);
-            }
-
-        } catch (IOException e) {
-            Log.e(TAG, "Failed to read lines in last_install", e);
-        }
-    }
-
     /**
      * Called after booting to process and remove recovery-related files.
      * @return the log file from recovery, or null if none was found.
@@ -1062,9 +948,6 @@
             Log.e(TAG, "Error reading recovery log", e);
         }
 
-        if (log != null) {
-            parseLastInstallLog(context);
-        }
 
         // Only remove the OTA package if it's partially processed (uncrypt'd).
         boolean reservePackage = BLOCK_MAP_FILE.exists();
@@ -1095,7 +978,8 @@
         // GmsCore to avoid re-downloading everything again.
         String[] names = RECOVERY_DIR.list();
         for (int i = 0; names != null && i < names.length; i++) {
-            if (names[i].startsWith(LAST_PREFIX)) continue;
+            // Do not remove the last_install file since the recovery-persist takes care of it.
+            if (names[i].startsWith(LAST_PREFIX) || names[i].equals(LAST_INSTALL_PATH)) continue;
             if (reservePackage && names[i].equals(BLOCK_MAP_FILE.getName())) continue;
             if (reservePackage && names[i].equals(UNCRYPT_PACKAGE_FILE.getName())) continue;
 
diff --git a/core/java/android/os/StatsLogEventWrapper.java b/core/java/android/os/StatsLogEventWrapper.java
index b13bcac..051ab75 100644
--- a/core/java/android/os/StatsLogEventWrapper.java
+++ b/core/java/android/os/StatsLogEventWrapper.java
@@ -15,8 +15,10 @@
  */
 package android.os;
 
-import java.io.ByteArrayOutputStream;
-import java.nio.charset.StandardCharsets;
+import android.util.Slog;
+
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * Wrapper class for sending data from Android OS to StatsD.
@@ -24,39 +26,28 @@
  * @hide
  */
 public final class StatsLogEventWrapper implements Parcelable {
-    private ByteArrayOutputStream mStorage = new ByteArrayOutputStream();
+    static final boolean DEBUG = false;
+    static final String TAG = "StatsLogEventWrapper";
 
-    // Below are constants copied from log/log.h
-    private static final int EVENT_TYPE_INT = 0;  /* int32_t */
-    private static final int EVENT_TYPE_LONG = 1; /* int64_t */
-    private static final int EVENT_TYPE_STRING = 2;
-    private static final int EVENT_TYPE_LIST = 3;
-    private static final int EVENT_TYPE_FLOAT = 4;
+    // Keep in sync with FieldValue.h enums
+    private static final int EVENT_TYPE_UNKNOWN = 0;
+    private static final int EVENT_TYPE_INT = 1; /* int32_t */
+    private static final int EVENT_TYPE_LONG = 2; /* int64_t */
+    private static final int EVENT_TYPE_FLOAT = 3;
+    private static final int EVENT_TYPE_DOUBLE = 4;
+    private static final int EVENT_TYPE_STRING = 5;
+    private static final int EVENT_TYPE_STORAGE = 6;
 
-    // Keep this in sync with system/core/logcat/event.logtags
-    private static final int STATS_BUFFER_TAG_ID = 1937006964;
-    /**
-     * Creates a log_event that is binary-encoded as implemented in
-     * system/core/liblog/log_event_list.c; this allows us to use the same parsing logic in statsd
-     * for pushed and pulled data. The write* methods must be called in the same order as their
-     * field number. There is no checking that the correct number of write* methods is called.
-     * We also write an END_LIST character before beginning to write to parcel, but this END_LIST
-     * may be unnecessary.
-     *
-     * @param tag    The integer representing the tag for this event.
-     * @param fields The number of fields specified in this event.
-     */
-    public StatsLogEventWrapper(long elapsedNanos, int tag, int fields) {
-        // Write four bytes from tag, starting with least-significant bit.
-        // For pulled data, this tag number is not really used. We use the same tag number as
-        // pushed ones to be consistent.
-        write4Bytes(STATS_BUFFER_TAG_ID);
-        mStorage.write(EVENT_TYPE_LIST); // This is required to start the log entry.
-        mStorage.write(fields + 2); // Indicate number of elements in this list. +1 for the tag
-        // The first element is the elapsed realtime.
-        writeLong(elapsedNanos);
-        // The second element is the real atom tag number
-        writeInt(tag);
+    List<Integer> mTypes = new ArrayList<>();
+    List<Object> mValues = new ArrayList<>();
+    int mTag;
+    long mElapsedTimeNs;
+    long mWallClockTimeNs;
+
+    public StatsLogEventWrapper(int tag, long elapsedTimeNs, long wallClockTimeNs) {
+        this.mTag = tag;
+        this.mElapsedTimeNs = elapsedTimeNs;
+        this.mWallClockTimeNs = wallClockTimeNs;
     }
 
     /**
@@ -79,69 +70,80 @@
                 }
             };
 
-    private void write4Bytes(int val) {
-        mStorage.write(val);
-        mStorage.write(val >>> 8);
-        mStorage.write(val >>> 16);
-        mStorage.write(val >>> 24);
-    }
-
-    private void write8Bytes(long val) {
-        write4Bytes((int) (val & 0xFFFFFFFF)); // keep the lowe 32-bits
-        write4Bytes((int) (val >>> 32)); // Write the high 32-bits.
-    }
-
-    /**
-     * Adds 32-bit integer to output.
-     */
     public void writeInt(int val) {
-        mStorage.write(EVENT_TYPE_INT);
-        write4Bytes(val);
+        mTypes.add(EVENT_TYPE_INT);
+        mValues.add(val);
     }
 
-    /**
-     * Adds 64-bit long to output.
-     */
     public void writeLong(long val) {
-        mStorage.write(EVENT_TYPE_LONG);
-        write8Bytes(val);
+        mTypes.add(EVENT_TYPE_LONG);
+        mValues.add(val);
     }
 
     /**
-     * Adds a 4-byte floating point value to output.
-     */
-    public void writeFloat(float val) {
-        int v = Float.floatToIntBits(val);
-        mStorage.write(EVENT_TYPE_FLOAT);
-        write4Bytes(v);
-    }
-
-    /**
-     * Adds a string to the output.
+     * Write a string value.
      */
     public void writeString(String val) {
-        mStorage.write(EVENT_TYPE_STRING);
-        write4Bytes(val.length());
-        byte[] bytes = val.getBytes(StandardCharsets.UTF_8);
-        mStorage.write(bytes, 0, bytes.length);
+        mTypes.add(EVENT_TYPE_STRING);
+        // use empty string for null
+        mValues.add(val == null ? "" : val);
+    }
+
+    public void writeFloat(float val) {
+        mTypes.add(EVENT_TYPE_FLOAT);
+        mValues.add(val);
     }
 
     /**
-     * Adds a boolean by adding either a 1 or 0 to the output.
+     * Write a storage value.
      */
+    public void writeStorage(byte[] val) {
+        mTypes.add(EVENT_TYPE_STORAGE);
+        mValues.add(val);
+    }
+
     public void writeBoolean(boolean val) {
-        int toWrite = val ? 1 : 0;
-        mStorage.write(EVENT_TYPE_INT);
-        write4Bytes(toWrite);
+        mTypes.add(EVENT_TYPE_INT);
+        mValues.add(val ? 1 : 0);
     }
 
     /**
      * Writes the stored fields to a byte array. Will first write a new-line character to denote
      * END_LIST before writing contents to byte array.
      */
+
     public void writeToParcel(Parcel out, int flags) {
-        mStorage.write(10); // new-line character is same as END_LIST
-        out.writeByteArray(mStorage.toByteArray());
+        if (DEBUG) {
+            Slog.d(TAG,
+                    "Writing " + mTag + " " + mElapsedTimeNs + " " + mWallClockTimeNs + " and "
+                            + mTypes.size() + " elements.");
+        }
+        out.writeInt(mTag);
+        out.writeLong(mElapsedTimeNs);
+        out.writeLong(mWallClockTimeNs);
+        out.writeInt(mTypes.size());
+        for (int i = 0; i < mTypes.size(); i++) {
+            out.writeInt(mTypes.get(i));
+            switch (mTypes.get(i)) {
+                case EVENT_TYPE_INT:
+                    out.writeInt((int) mValues.get(i));
+                    break;
+                case EVENT_TYPE_LONG:
+                    out.writeLong((long) mValues.get(i));
+                    break;
+                case EVENT_TYPE_FLOAT:
+                    out.writeFloat((float) mValues.get(i));
+                    break;
+                case EVENT_TYPE_STRING:
+                    out.writeString((String) mValues.get(i));
+                    break;
+                case EVENT_TYPE_STORAGE:
+                    out.writeByteArray((byte[]) mValues.get(i));
+                    break;
+                default:
+                    break;
+            }
+        }
     }
 
     /**
diff --git a/core/java/android/os/ThreadLocalWorkSourceUid.java b/core/java/android/os/ThreadLocalWorkSourceUid.java
new file mode 100644
index 0000000..df1d275
--- /dev/null
+++ b/core/java/android/os/ThreadLocalWorkSourceUid.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.os;
+
+/**
+ * @hide Only for use within system server.
+ */
+public final class ThreadLocalWorkSourceUid {
+    public static final int UID_NONE = Message.UID_NONE;
+    private static final ThreadLocal<Integer> sWorkSourceUid =
+            ThreadLocal.withInitial(() -> UID_NONE);
+
+    /** Returns the original work source uid. */
+    public static int get() {
+        return sWorkSourceUid.get();
+    }
+
+    /** Sets the original work source uid. */
+    public static void set(int uid) {
+        sWorkSourceUid.set(uid);
+    }
+
+    /** Clears the stored work source uid. */
+    public static void clear() {
+        sWorkSourceUid.set(UID_NONE);
+    }
+
+    private ThreadLocalWorkSourceUid() {
+    }
+}
diff --git a/core/java/android/os/UserHandle.java b/core/java/android/os/UserHandle.java
index 995156a..4fe2d58 100644
--- a/core/java/android/os/UserHandle.java
+++ b/core/java/android/os/UserHandle.java
@@ -38,12 +38,16 @@
     public static final @UserIdInt int USER_ALL = -1;
 
     /** @hide A user handle to indicate all users on the device */
+    @SystemApi
+    @TestApi
     public static final UserHandle ALL = new UserHandle(USER_ALL);
 
     /** @hide A user id to indicate the currently active user */
     public static final @UserIdInt int USER_CURRENT = -2;
 
     /** @hide A user handle to indicate the current user of the device */
+    @SystemApi
+    @TestApi
     public static final UserHandle CURRENT = new UserHandle(USER_CURRENT);
 
     /** @hide A user id to indicate that we would like to send to the current
@@ -83,6 +87,7 @@
     public static final int USER_SERIAL_SYSTEM = 0;
 
     /** @hide A user handle to indicate the "system" user of the device */
+    @SystemApi
     @TestApi
     public static final UserHandle SYSTEM = new UserHandle(USER_SYSTEM);
 
diff --git a/core/java/android/os/ZygoteProcess.java b/core/java/android/os/ZygoteProcess.java
index 732d377..7fd0a4b 100644
--- a/core/java/android/os/ZygoteProcess.java
+++ b/core/java/android/os/ZygoteProcess.java
@@ -16,6 +16,8 @@
 
 package android.os;
 
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.net.LocalSocket;
 import android.net.LocalSocketAddress;
 import android.util.Log;
@@ -212,28 +214,33 @@
      * @param instructionSet null-ok the instruction set to use.
      * @param appDataDir null-ok the data directory of the app.
      * @param invokeWith null-ok the command to invoke with.
+     * @param packageName null-ok the name of the package this process belongs to.
+     * @param packagesForUid null-ok all the packages with the same uid as this process.
+     * @param visibleVols null-ok storage volumes that can be accessed by this process.
      * @param zygoteArgs Additional arguments to supply to the zygote process.
      *
      * @return An object that describes the result of the attempt to start the process.
      * @throws RuntimeException on fatal start failure
      */
-    public final Process.ProcessStartResult start(final String processClass,
+    public final Process.ProcessStartResult start(@NonNull final String processClass,
                                                   final String niceName,
-                                                  int uid, int gid, int[] gids,
+                                                  int uid, int gid, @Nullable int[] gids,
                                                   int runtimeFlags, int mountExternal,
                                                   int targetSdkVersion,
-                                                  String seInfo,
-                                                  String abi,
-                                                  String instructionSet,
-                                                  String appDataDir,
-                                                  String invokeWith,
-                                                  String packageName,
-                                                  String[] zygoteArgs) {
+                                                  @Nullable String seInfo,
+                                                  @NonNull String abi,
+                                                  @Nullable String instructionSet,
+                                                  @Nullable String appDataDir,
+                                                  @Nullable String invokeWith,
+                                                  @Nullable String packageName,
+                                                  @Nullable String[] packagesForUid,
+                                                  @Nullable String[] visibleVols,
+                                                  @Nullable String[] zygoteArgs) {
         try {
             return startViaZygote(processClass, niceName, uid, gid, gids,
                     runtimeFlags, mountExternal, targetSdkVersion, seInfo,
                     abi, instructionSet, appDataDir, invokeWith, false /* startChildZygote */,
-                    packageName, zygoteArgs);
+                    packageName, packagesForUid, visibleVols, zygoteArgs);
         } catch (ZygoteStartFailedEx ex) {
             Log.e(LOG_TAG,
                     "Starting VM process through Zygote failed");
@@ -351,24 +358,29 @@
      * @param appDataDir null-ok the data directory of the app.
      * @param startChildZygote Start a sub-zygote. This creates a new zygote process
      * that has its state cloned from this zygote process.
+     * @param packageName null-ok the name of the package this process belongs to.
+     * @param packagesForUid null-ok all the packages with the same uid as this process.
+     * @param visibleVols null-ok storage volumes that can be accessed by this process.
      * @param extraArgs Additional arguments to supply to the zygote process.
      * @return An object that describes the result of the attempt to start the process.
      * @throws ZygoteStartFailedEx if process start failed for any reason
      */
-    private Process.ProcessStartResult startViaZygote(final String processClass,
-                                                      final String niceName,
+    private Process.ProcessStartResult startViaZygote(@NonNull final String processClass,
+                                                      @Nullable final String niceName,
                                                       final int uid, final int gid,
-                                                      final int[] gids,
+                                                      @Nullable final int[] gids,
                                                       int runtimeFlags, int mountExternal,
                                                       int targetSdkVersion,
-                                                      String seInfo,
-                                                      String abi,
-                                                      String instructionSet,
-                                                      String appDataDir,
-                                                      String invokeWith,
+                                                      @Nullable String seInfo,
+                                                      @NonNull String abi,
+                                                      @Nullable String instructionSet,
+                                                      @Nullable String appDataDir,
+                                                      @Nullable String invokeWith,
                                                       boolean startChildZygote,
-                                                      String packageName,
-                                                      String[] extraArgs)
+                                                      @Nullable String packageName,
+                                                      @Nullable String[] packagesForUid,
+                                                      @Nullable String[] visibleVols,
+                                                      @Nullable String[] extraArgs)
                                                       throws ZygoteStartFailedEx {
         ArrayList<String> argsForZygote = new ArrayList<String>();
 
@@ -435,6 +447,32 @@
             argsForZygote.add("--package-name=" + packageName);
         }
 
+        if (packagesForUid != null && packagesForUid.length > 0) {
+            final StringBuilder sb = new StringBuilder();
+            sb.append("--packages-for-uid=");
+
+            for (int i = 0; i < packagesForUid.length; ++i) {
+                if (i != 0) {
+                    sb.append(',');
+                }
+                sb.append(packagesForUid[i]);
+            }
+            argsForZygote.add(sb.toString());
+        }
+
+        if (visibleVols != null && visibleVols.length > 0) {
+            final StringBuilder sb = new StringBuilder();
+            sb.append("--visible-vols=");
+
+            for (int i = 0; i < visibleVols.length; ++i) {
+                if (i != 0) {
+                    sb.append(',');
+                }
+                sb.append(visibleVols[i]);
+            }
+            argsForZygote.add(sb.toString());
+        }
+
         argsForZygote.add(processClass);
 
         if (extraArgs != null) {
@@ -742,7 +780,8 @@
             result = startViaZygote(processClass, niceName, uid, gid,
                     gids, runtimeFlags, 0 /* mountExternal */, 0 /* targetSdkVersion */, seInfo,
                     abi, instructionSet, null /* appDataDir */, null /* invokeWith */,
-                    true /* startChildZygote */, null /* packageName */, extraArgs);
+                    true /* startChildZygote */, null /* packageName */,
+                    null /* packagesForUid */, null /* visibleVolumes */, extraArgs);
         } catch (ZygoteStartFailedEx ex) {
             throw new RuntimeException("Starting child-zygote through Zygote failed", ex);
         }
diff --git a/core/java/android/os/health/SystemHealthManager.java b/core/java/android/os/health/SystemHealthManager.java
index f303674..71eda19 100644
--- a/core/java/android/os/health/SystemHealthManager.java
+++ b/core/java/android/os/health/SystemHealthManager.java
@@ -20,6 +20,7 @@
 import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.os.BatteryStats;
+import android.os.Build;
 import android.os.Process;
 import android.os.RemoteException;
 import android.os.ServiceManager;
@@ -65,7 +66,7 @@
      *
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public static SystemHealthManager from(Context context) {
         return (SystemHealthManager)context.getSystemService(Context.SYSTEM_HEALTH_SERVICE);
     }
diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java
index 8d5017b..50ca4ab 100644
--- a/core/java/android/os/storage/StorageManager.java
+++ b/core/java/android/os/storage/StorageManager.java
@@ -1521,7 +1521,11 @@
         return SystemProperties.getBoolean(PROP_HAS_ADOPTABLE, false);
     }
 
-    /** {@hide} */
+    /**
+     * @deprecated disabled now that FUSE has been replaced by sdcardfs
+     * @hide
+     */
+    @Deprecated
     public static File maybeTranslateEmulatedPathToInternal(File path) {
         // Disabled now that FUSE has been replaced by sdcardfs
         return path;
diff --git a/core/java/android/os/storage/StorageManagerInternal.java b/core/java/android/os/storage/StorageManagerInternal.java
index d850e27..1f54ea5 100644
--- a/core/java/android/os/storage/StorageManagerInternal.java
+++ b/core/java/android/os/storage/StorageManagerInternal.java
@@ -89,8 +89,13 @@
      * @param appId The appId for the given package.
      * @param sharedUserId The sharedUserId for given package if it specified
      *      {@code android:sharedUserId} in the manifest, otherwise {@code null}
-     * @param userId
+     * @param userId The userId in which the storage needs to be mounted.
      */
     public abstract void mountExternalStorageForApp(String packageName, int appId,
             String sharedUserId, int userId);
+
+    /**
+     * @return Labels of storage volumes that are visible to the given userId.
+     */
+    public abstract String[] getVisibleVolumesForUser(int userId);
 }
diff --git a/core/java/android/os/storage/StorageVolume.java b/core/java/android/os/storage/StorageVolume.java
index deff693..5bef7ee 100644
--- a/core/java/android/os/storage/StorageVolume.java
+++ b/core/java/android/os/storage/StorageVolume.java
@@ -22,6 +22,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.net.Uri;
+import android.os.Build;
 import android.os.Environment;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -249,7 +250,7 @@
     }
 
     /** {@hide} */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public UserHandle getOwner() {
         return mOwner;
     }
diff --git a/core/java/android/os/storage/VolumeInfo.java b/core/java/android/os/storage/VolumeInfo.java
index afd38369..e55afb6 100644
--- a/core/java/android/os/storage/VolumeInfo.java
+++ b/core/java/android/os/storage/VolumeInfo.java
@@ -157,7 +157,7 @@
     public final DiskInfo disk;
     public final String partGuid;
     public int mountFlags = 0;
-    public int mountUserId = -1;
+    public int mountUserId = UserHandle.USER_NULL;
     @UnsupportedAppUsage
     public int state = STATE_UNMOUNTED;
     public String fsType;
diff --git a/core/java/android/permission/PermissionManager.java b/core/java/android/permission/PermissionManager.java
new file mode 100644
index 0000000..aa44eb7
--- /dev/null
+++ b/core/java/android/permission/PermissionManager.java
@@ -0,0 +1,136 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.permission;
+
+import android.Manifest;
+import android.annotation.NonNull;
+import android.annotation.SystemApi;
+import android.annotation.SystemService;
+import android.content.Context;
+
+import com.android.internal.annotations.Immutable;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * System level service for accessing the permission capabilities of the platform.
+ *
+ * @hide
+ */
+@SystemApi
+@SystemService(Context.PERMISSION_SERVICE)
+public final class PermissionManager {
+    /**
+     * {@link android.content.pm.PackageParser} needs access without having a {@link Context}.
+     *
+     * @hide
+     */
+    public static final SplitPermissionInfo[] SPLIT_PERMISSIONS = new SplitPermissionInfo[]{
+            // READ_EXTERNAL_STORAGE is always required when an app requests
+            // WRITE_EXTERNAL_STORAGE, because we can't have an app that has
+            // write access without read access.  The hack here with the target
+            // target SDK version ensures that this grant is always done.
+            new SplitPermissionInfo(android.Manifest.permission.WRITE_EXTERNAL_STORAGE,
+                    new String[]{android.Manifest.permission.READ_EXTERNAL_STORAGE},
+                    android.os.Build.VERSION_CODES.CUR_DEVELOPMENT + 1),
+            new SplitPermissionInfo(android.Manifest.permission.READ_CONTACTS,
+                    new String[]{android.Manifest.permission.READ_CALL_LOG},
+                    android.os.Build.VERSION_CODES.JELLY_BEAN),
+            new SplitPermissionInfo(android.Manifest.permission.WRITE_CONTACTS,
+                    new String[]{android.Manifest.permission.WRITE_CALL_LOG},
+                    android.os.Build.VERSION_CODES.JELLY_BEAN),
+            new SplitPermissionInfo(Manifest.permission.ACCESS_FINE_LOCATION,
+                    new String[]{android.Manifest.permission.ACCESS_BACKGROUND_LOCATION},
+                    android.os.Build.VERSION_CODES.P0),
+            new SplitPermissionInfo(Manifest.permission.ACCESS_COARSE_LOCATION,
+                    new String[]{android.Manifest.permission.ACCESS_BACKGROUND_LOCATION},
+                    android.os.Build.VERSION_CODES.P0)};
+
+    private final @NonNull Context mContext;
+
+    /**
+     * Creates a new instance.
+     *
+     * @param context The current context in which to operate.
+     * @hide
+     */
+    public PermissionManager(@NonNull Context context) {
+        mContext = context;
+    }
+
+    /**
+     * Get list of permissions that have been split into more granular or dependent permissions.
+     *
+     * <p>E.g. before {@link android.os.Build.VERSION_CODES#P0} an app that was granted
+     * {@link Manifest.permission#ACCESS_COARSE_LOCATION} could access he location while it was in
+     * foreground and background. On platforms after {@link android.os.Build.VERSION_CODES#P0}
+     * the location permission only grants location access while the app is in foreground. This
+     * would break apps that target before {@link android.os.Build.VERSION_CODES#P0}. Hence whenever
+     * such an old app asks for a location permission (i.e. the
+     * {@link SplitPermissionInfo#getRootPermission()}), then the
+     * {@link Manifest.permission#ACCESS_BACKGROUND_LOCATION} permission (inside
+     * {@{@link SplitPermissionInfo#getNewPermissions}) is added.
+     *
+     * <p>Note: Regular apps do not have to worry about this. The platform and permission controller
+     * automatically add the new permissions where needed.
+     *
+     * @return All permissions that are split.
+     */
+    public @NonNull List<SplitPermissionInfo> getSplitPermissions() {
+        return Arrays.asList(SPLIT_PERMISSIONS);
+    }
+
+    /**
+     * A permission that was added in a previous API level might have split into several
+     * permissions. This object describes one such split.
+     */
+    @Immutable
+    public static final class SplitPermissionInfo {
+        private final @NonNull String mRootPerm;
+        private final @NonNull String[] mNewPerms;
+        private final int mTargetSdk;
+
+        /**
+         * Get the permission that is split.
+         */
+        public @NonNull String getRootPermission() {
+            return mRootPerm;
+        }
+
+        /**
+         * Get the permissions that are added.
+         */
+        public @NonNull String[] getNewPermissions() {
+            return mNewPerms;
+        }
+
+        /**
+         * Get the target API level when the permission was split.
+         */
+        public int getTargetSdk() {
+            return mTargetSdk;
+        }
+
+        private SplitPermissionInfo(@NonNull String rootPerm, @NonNull String[] newPerms,
+                int targetSdk) {
+            mRootPerm = rootPerm;
+            mNewPerms = newPerms;
+            mTargetSdk = targetSdk;
+        }
+    }
+}
diff --git a/core/java/android/permissionpresenterservice/RuntimePermissionPresenterService.java b/core/java/android/permissionpresenterservice/RuntimePermissionPresenterService.java
index e0bffae..18aea03 100644
--- a/core/java/android/permissionpresenterservice/RuntimePermissionPresenterService.java
+++ b/core/java/android/permissionpresenterservice/RuntimePermissionPresenterService.java
@@ -16,8 +16,8 @@
 
 package android.permissionpresenterservice;
 
+import android.annotation.NonNull;
 import android.annotation.SystemApi;
-import android.annotation.UnsupportedAppUsage;
 import android.app.Service;
 import android.content.Context;
 import android.content.Intent;
@@ -74,15 +74,13 @@
     public abstract List<RuntimePermissionPresentationInfo> onGetAppPermissions(String packageName);
 
     /**
-     * Revoke the permission {@code permissionName} for app {@code packageName}
+     * Revokes the permission {@code permissionName} for app {@code packageName}
      *
      * @param packageName The package for which to revoke
      * @param permissionName The permission to revoke
-     *
-     * @hide
      */
-    @UnsupportedAppUsage
-    public abstract void onRevokeRuntimePermission(String packageName, String permissionName);
+    public abstract void onRevokeRuntimePermission(@NonNull String packageName,
+            @NonNull String permissionName);
 
     @Override
     public final IBinder onBind(Intent intent) {
diff --git a/core/java/android/preference/Preference.java b/core/java/android/preference/Preference.java
index 98b69a8..2387657 100644
--- a/core/java/android/preference/Preference.java
+++ b/core/java/android/preference/Preference.java
@@ -27,6 +27,7 @@
 import android.content.SharedPreferences;
 import android.content.res.TypedArray;
 import android.graphics.drawable.Drawable;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -1167,7 +1168,7 @@
      * @return True if the Preference handled the key. Returns false by default.
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public boolean onKey(View v, int keyCode, KeyEvent event) {
         return false;
     }
diff --git a/core/java/android/preference/PreferenceManager.java b/core/java/android/preference/PreferenceManager.java
index c76c8d3..dfee1af 100644
--- a/core/java/android/preference/PreferenceManager.java
+++ b/core/java/android/preference/PreferenceManager.java
@@ -30,6 +30,7 @@
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.pm.ResolveInfo;
 import android.content.res.XmlResourceParser;
+import android.os.Build;
 import android.os.Bundle;
 import android.util.Log;
 
@@ -68,7 +69,7 @@
      * Fragment that owns this instance.
      */
     @Nullable
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private PreferenceFragment mFragment;
 
     /**
@@ -201,7 +202,7 @@
     /**
      * Sets the owning preference fragment
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     void setFragment(PreferenceFragment fragment) {
         mFragment = fragment;
     }
diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java
index 112329e..f126c49 100644
--- a/core/java/android/provider/ContactsContract.java
+++ b/core/java/android/provider/ContactsContract.java
@@ -2783,7 +2783,48 @@
          * The content:// style URI for this table, which requests a directory of
          * raw contact rows matching the selection criteria.
          */
-        public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "raw_contacts");
+        public static final Uri CONTENT_URI =
+                Uri.withAppendedPath(AUTHORITY_URI, "raw_contacts");
+
+        /**
+         * The URI to register for all raw contacts change notification.
+         *
+         * @hide
+         */
+        @SystemApi
+        @TestApi
+        public static final Uri RAW_CONTACTS_NOTIFICATION_URI =
+                Uri.parse("content://com.android.contacts.raw_contacts");
+
+        /**
+         * The URI to register for raw contacts insert notification.
+         *
+         * @hide
+         */
+        @SystemApi
+        @TestApi
+        public static final Uri RAW_CONTACTS_NOTIFICATION_INSERT_URI =
+                Uri.withAppendedPath(RAW_CONTACTS_NOTIFICATION_URI, "insert");
+
+        /**
+         * The URI to register for raw contacts update notification.
+         *
+         * @hide
+         */
+        @SystemApi
+        @TestApi
+        public static final Uri RAW_CONTACTS_NOTIFICATION_UPDATE_URI =
+                Uri.withAppendedPath(RAW_CONTACTS_NOTIFICATION_URI, "update");
+
+        /**
+         * The URI to register for raw contacts delete notification.
+         *
+         * @hide
+         */
+        @SystemApi
+        @TestApi
+        public static final Uri RAW_CONTACTS_NOTIFICATION_DELETE_URI =
+                Uri.withAppendedPath(RAW_CONTACTS_NOTIFICATION_URI, "delete");
 
         /**
          * The MIME type of the results from {@link #CONTENT_URI} when a specific
diff --git a/core/java/android/provider/DocumentsContract.java b/core/java/android/provider/DocumentsContract.java
index b12d9cf..8c40e0e 100644
--- a/core/java/android/provider/DocumentsContract.java
+++ b/core/java/android/provider/DocumentsContract.java
@@ -942,13 +942,26 @@
         return false;
     }
 
-    /** {@hide} */
+    /**
+     * Test if the given URI represents roots backed by {@link DocumentsProvider}.
+     *
+     * @see #buildRootsUri(String)
+     *
+     * {@hide}
+     */
+    public static boolean isRootsUri(Context context, @Nullable Uri uri) {
+        return isRootUri(context, uri, 1 /* pathSize */);
+    }
+
+    /**
+     * Test if the given URI represents specific root backed by {@link DocumentsProvider}.
+     *
+     * @see #buildRootUri(String, String)
+     *
+     * {@hide}
+     */
     public static boolean isRootUri(Context context, @Nullable Uri uri) {
-        if (isContentUri(uri) && isDocumentsProvider(context, uri.getAuthority())) {
-            final List<String> paths = uri.getPathSegments();
-            return (paths.size() == 2 && PATH_ROOT.equals(paths.get(0)));
-        }
-        return false;
+        return isRootUri(context, uri, 2 /* pathSize */);
     }
 
     /** {@hide} */
@@ -967,6 +980,14 @@
         return (paths.size() >= 2 && PATH_TREE.equals(paths.get(0)));
     }
 
+    private static boolean isRootUri(Context context, @Nullable Uri uri, int pathSize) {
+        if (isContentUri(uri) && isDocumentsProvider(context, uri.getAuthority())) {
+            final List<String> paths = uri.getPathSegments();
+            return (paths.size() == pathSize && PATH_ROOT.equals(paths.get(0)));
+        }
+        return false;
+    }
+
     private static boolean isDocumentsProvider(Context context, String authority) {
         final Intent intent = new Intent(PROVIDER_INTERFACE);
         final List<ResolveInfo> infos = context.getPackageManager()
@@ -1555,7 +1576,7 @@
      *
      * <p>Note, that due to internal limitations, if there is already a web link
      * intent created for the specified document but with different options,
-     * then it may be overriden.
+     * then it may be overridden.
      *
      * <p>Providers are required to show confirmation UI for all new permissions granted
      * for the linked document.
diff --git a/core/java/android/provider/DocumentsProvider.java b/core/java/android/provider/DocumentsProvider.java
index 81b1921..0e782d7 100644
--- a/core/java/android/provider/DocumentsProvider.java
+++ b/core/java/android/provider/DocumentsProvider.java
@@ -771,7 +771,7 @@
     }
 
     /**
-     * Implementation is provided by the parent class. Cannot be overriden.
+     * Implementation is provided by the parent class. Cannot be overridden.
      *
      * @see #queryRoots(String[])
      * @see #queryRecentDocuments(String, String[])
@@ -828,7 +828,7 @@
     }
 
     /**
-     * Implementation is provided by the parent class. Cannot be overriden.
+     * Implementation is provided by the parent class. Cannot be overridden.
      *
      * @see #getDocumentType(String)
      */
@@ -903,7 +903,7 @@
 
     /**
      * Implementation is provided by the parent class. Throws by default, and
-     * cannot be overriden.
+     * cannot be overridden.
      *
      * @see #createDocument(String, String, String)
      */
@@ -914,7 +914,7 @@
 
     /**
      * Implementation is provided by the parent class. Throws by default, and
-     * cannot be overriden.
+     * cannot be overridden.
      *
      * @see #deleteDocument(String)
      */
@@ -925,7 +925,7 @@
 
     /**
      * Implementation is provided by the parent class. Throws by default, and
-     * cannot be overriden.
+     * cannot be overridden.
      */
     @Override
     public final int update(
@@ -1165,7 +1165,7 @@
     }
 
     /**
-     * Implementation is provided by the parent class. Cannot be overriden.
+     * Implementation is provided by the parent class. Cannot be overridden.
      *
      * @see #openDocument(String, String, CancellationSignal)
      */
@@ -1176,7 +1176,7 @@
     }
 
     /**
-     * Implementation is provided by the parent class. Cannot be overriden.
+     * Implementation is provided by the parent class. Cannot be overridden.
      *
      * @see #openDocument(String, String, CancellationSignal)
      */
@@ -1188,7 +1188,7 @@
     }
 
     /**
-     * Implementation is provided by the parent class. Cannot be overriden.
+     * Implementation is provided by the parent class. Cannot be overridden.
      *
      * @see #openDocument(String, String, CancellationSignal)
      */
@@ -1202,7 +1202,7 @@
     }
 
     /**
-     * Implementation is provided by the parent class. Cannot be overriden.
+     * Implementation is provided by the parent class. Cannot be overridden.
      *
      * @see #openDocument(String, String, CancellationSignal)
      */
@@ -1216,7 +1216,7 @@
     }
 
     /**
-     * Implementation is provided by the parent class. Cannot be overriden.
+     * Implementation is provided by the parent class. Cannot be overridden.
      *
      * @see #openDocumentThumbnail(String, Point, CancellationSignal)
      * @see #openTypedDocument(String, String, Bundle, CancellationSignal)
@@ -1229,7 +1229,7 @@
     }
 
     /**
-     * Implementation is provided by the parent class. Cannot be overriden.
+     * Implementation is provided by the parent class. Cannot be overridden.
      *
      * @see #openDocumentThumbnail(String, Point, CancellationSignal)
      * @see #openTypedDocument(String, String, Bundle, CancellationSignal)
diff --git a/core/java/android/provider/MediaStore.java b/core/java/android/provider/MediaStore.java
index 189b7b4..828fd73 100644
--- a/core/java/android/provider/MediaStore.java
+++ b/core/java/android/provider/MediaStore.java
@@ -717,7 +717,11 @@
             /**
              * The picasa id of the image
              * <P>Type: TEXT</P>
+             *
+             * @deprecated this value was only relevant for images hosted on
+             *             Picasa, which are no longer supported.
              */
+            @Deprecated
             public static final String PICASA_ID = "picasa_id";
 
             /**
@@ -755,7 +759,12 @@
             /**
              * The mini thumb id.
              * <P>Type: INTEGER</P>
+             *
+             * @deprecated all thumbnails should be obtained via
+             *             {@link Images.Thumbnails#getThumbnail}, as this
+             *             value is no longer supported.
              */
+            @Deprecated
             public static final String MINI_THUMB_MAGIC = "mini_thumb_magic";
 
             /**
@@ -1309,18 +1318,6 @@
         }
 
         public static final class Media implements AudioColumns {
-
-            private static final String[] EXTERNAL_PATHS;
-
-            static {
-                String secondary_storage = System.getenv("SECONDARY_STORAGE");
-                if (secondary_storage != null) {
-                    EXTERNAL_PATHS = secondary_storage.split(":");
-                } else {
-                    EXTERNAL_PATHS = new String[0];
-                }
-            }
-
             /**
              * Get the content:// style URI for the audio media table on the
              * given volume.
@@ -1334,14 +1331,9 @@
             }
 
             public static Uri getContentUriForPath(String path) {
-                for (String ep : EXTERNAL_PATHS) {
-                    if (path.startsWith(ep)) {
-                        return EXTERNAL_CONTENT_URI;
-                    }
-                }
-
-                return (path.startsWith(Environment.getExternalStorageDirectory().getPath()) ?
-                        EXTERNAL_CONTENT_URI : INTERNAL_CONTENT_URI);
+                return (path.startsWith(
+                        Environment.getStorageDirectory().getAbsolutePath() + "/")
+                        ? EXTERNAL_CONTENT_URI : INTERNAL_CONTENT_URI);
             }
 
             /**
@@ -1947,7 +1939,12 @@
             /**
              * The mini thumb id.
              * <P>Type: INTEGER</P>
+             *
+             * @deprecated all thumbnails should be obtained via
+             *             {@link Images.Thumbnails#getThumbnail}, as this
+             *             value is no longer supported.
              */
+            @Deprecated
             public static final String MINI_THUMB_MAGIC = "mini_thumb_magic";
 
             /**
diff --git a/core/java/android/provider/SearchIndexablesProvider.java b/core/java/android/provider/SearchIndexablesProvider.java
index 138e77b..02a5e6f 100644
--- a/core/java/android/provider/SearchIndexablesProvider.java
+++ b/core/java/android/provider/SearchIndexablesProvider.java
@@ -181,7 +181,7 @@
     }
 
     /**
-     * Implementation is provided by the parent class. Throws by default, and cannot be overriden.
+     * Implementation is provided by the parent class. Throws by default, and cannot be overridden.
      */
     @Override
     public final Uri insert(Uri uri, ContentValues values) {
@@ -189,7 +189,7 @@
     }
 
     /**
-     * Implementation is provided by the parent class. Throws by default, and cannot be overriden.
+     * Implementation is provided by the parent class. Throws by default, and cannot be overridden.
      */
     @Override
     public final int delete(Uri uri, String selection, String[] selectionArgs) {
@@ -197,7 +197,7 @@
     }
 
     /**
-     * Implementation is provided by the parent class. Throws by default, and cannot be overriden.
+     * Implementation is provided by the parent class. Throws by default, and cannot be overridden.
      */
     @Override
     public final int update(
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index e007398..1d3cf19 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -363,6 +363,21 @@
             "android.settings.MANAGE_UNKNOWN_APP_SOURCES";
 
     /**
+     * Activity Action: Show the "Open by Default" page in a particular application's details page.
+     * <p>
+     * In some cases, a matching Activity may not exist, so ensure you safeguard against this.
+     * <p>
+     * Input: The Intent's data URI specifies the application package name
+     * to be shown, with the "package" scheme. That is "package:com.my.app".
+     * <p>
+     * Output: Nothing.
+     * @hide
+     */
+    @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
+    public static final String ACTION_APP_OPEN_BY_DEFAULT_SETTINGS =
+            "com.android.settings.APP_OPEN_BY_DEFAULT_SETTINGS";
+
+    /**
      * Activity Action: Show trusted credentials settings, opening to the user tab,
      * to allow management of installed credentials.
      * <p>
@@ -809,21 +824,6 @@
             "android.settings.APPLICATION_DETAILS_SETTINGS";
 
     /**
-     * Activity Action: Show the "Open by Default" page in a particular application's details page.
-     * <p>
-     * In some cases, a matching Activity may not exist, so ensure you safeguard against this.
-     * <p>
-     * Input: The Intent's data URI specifies the application package name
-     * to be shown, with the "package" scheme. That is "package:com.my.app".
-     * <p>
-     * Output: Nothing.
-     * @hide
-     */
-    @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
-    public static final String ACTION_APPLICATION_DETAILS_SETTINGS_OPEN_BY_DEFAULT_PAGE =
-            "android.settings.APPLICATION_DETAILS_SETTINGS_OPEN_BY_DEFAULT_PAGE";
-
-    /**
      * Activity Action: Show list of applications that have been running
      * foreground services (to the user "running in the background").
      * <p>
@@ -6508,6 +6508,25 @@
         public static final String MULTI_PRESS_TIMEOUT = "multi_press_timeout";
 
         /**
+         * Whether the user specifies a minimum ui timeout to override minimum ui timeout of
+         * accessibility service
+         *
+         * Type: int (0 for false, 1 for true)
+         * @hide
+         */
+        public static final String ACCESSIBILITY_MINIMUM_UI_TIMEOUT_ENABLED =
+                "accessibility_minimum_ui_timeout_enabled";
+
+        /**
+         * Setting that specifies ui minimum timeout in milliseconds.
+         *
+         * @see #ACCESSIBILITY_MINIMUM_UI_TIMEOUT_ENABLED
+         * @hide
+         */
+        public static final String ACCESSIBILITY_MINIMUM_UI_TIMEOUT_MS =
+                "accessibility_minimum_ui_timeout_ms";
+
+        /**
          * List of the enabled print services.
          *
          * N and beyond uses {@link #DISABLED_PRINT_SERVICES}. But this might be used in an upgrade
@@ -7248,12 +7267,12 @@
         private static final Validator DOZE_DOUBLE_TAP_GESTURE_VALIDATOR = BOOLEAN_VALIDATOR;
 
         /**
-         * Whether the device should pulse on reach gesture.
+         * Gesture that wakes up the lock screen.
          * @hide
          */
-        public static final String DOZE_REACH_GESTURE = "doze_reach_gesture";
+        public static final String DOZE_WAKE_LOCK_SCREEN_GESTURE = "doze_wake_lock_screen_gesture";
 
-        private static final Validator DOZE_REACH_GESTURE_VALIDATOR = BOOLEAN_VALIDATOR;
+        private static final Validator DOZE_WAKE_LOCK_SCREEN_GESTURE_VALIDATOR = BOOLEAN_VALIDATOR;
 
         /**
          * Gesture that wakes up the display, showing the ambient version of the status bar.
@@ -7670,6 +7689,15 @@
                 BOOLEAN_VALIDATOR;
 
         /**
+         * Whether or not face unlock is allowed for apps (through BiometricPrompt).
+         * @hide
+         */
+        public static final String FACE_UNLOCK_APP_ENABLED = "face_unlock_app_enabled";
+
+        private static final Validator FACE_UNLOCK_APP_ENABLED_VALIDATOR =
+                BOOLEAN_VALIDATOR;
+
+        /**
          * Whether the assist gesture should be enabled.
          *
          * @hide
@@ -8165,11 +8193,12 @@
             DOZE_ALWAYS_ON,
             DOZE_PICK_UP_GESTURE,
             DOZE_DOUBLE_TAP_GESTURE,
-            DOZE_REACH_GESTURE,
+            DOZE_WAKE_LOCK_SCREEN_GESTURE,
             DOZE_WAKE_SCREEN_GESTURE,
             NFC_PAYMENT_DEFAULT_COMPONENT,
             AUTOMATIC_STORAGE_MANAGER_DAYS_TO_RETAIN,
             FACE_UNLOCK_KEYGUARD_ENABLED,
+            FACE_UNLOCK_APP_ENABLED,
             ASSIST_GESTURE_ENABLED,
             ASSIST_GESTURE_SILENCE_ALERTS_ENABLED,
             ASSIST_GESTURE_WAKE_ENABLED,
@@ -8195,6 +8224,8 @@
             ZEN_SETTINGS_SUGGESTION_VIEWED,
             CHARGING_SOUNDS_ENABLED,
             CHARGING_VIBRATION_ENABLED,
+            ACCESSIBILITY_MINIMUM_UI_TIMEOUT_ENABLED,
+            ACCESSIBILITY_MINIMUM_UI_TIMEOUT_MS,
         };
 
         /**
@@ -8310,12 +8341,13 @@
             VALIDATORS.put(DOZE_ALWAYS_ON, DOZE_ALWAYS_ON_VALIDATOR);
             VALIDATORS.put(DOZE_PICK_UP_GESTURE, DOZE_PICK_UP_GESTURE_VALIDATOR);
             VALIDATORS.put(DOZE_DOUBLE_TAP_GESTURE, DOZE_DOUBLE_TAP_GESTURE_VALIDATOR);
-            VALIDATORS.put(DOZE_REACH_GESTURE, DOZE_REACH_GESTURE_VALIDATOR);
+            VALIDATORS.put(DOZE_WAKE_LOCK_SCREEN_GESTURE, DOZE_WAKE_LOCK_SCREEN_GESTURE_VALIDATOR);
             VALIDATORS.put(DOZE_WAKE_SCREEN_GESTURE, DOZE_WAKE_SCREEN_GESTURE_VALIDATOR);
             VALIDATORS.put(NFC_PAYMENT_DEFAULT_COMPONENT, NFC_PAYMENT_DEFAULT_COMPONENT_VALIDATOR);
             VALIDATORS.put(AUTOMATIC_STORAGE_MANAGER_DAYS_TO_RETAIN,
                     AUTOMATIC_STORAGE_MANAGER_DAYS_TO_RETAIN_VALIDATOR);
             VALIDATORS.put(FACE_UNLOCK_KEYGUARD_ENABLED, FACE_UNLOCK_KEYGUARD_ENABLED_VALIDATOR);
+            VALIDATORS.put(FACE_UNLOCK_APP_ENABLED, FACE_UNLOCK_APP_ENABLED_VALIDATOR);
             VALIDATORS.put(ASSIST_GESTURE_ENABLED, ASSIST_GESTURE_ENABLED_VALIDATOR);
             VALIDATORS.put(ASSIST_GESTURE_SILENCE_ALERTS_ENABLED,
                     ASSIST_GESTURE_SILENCE_ALERTS_ENABLED_VALIDATOR);
@@ -8349,6 +8381,8 @@
             VALIDATORS.put(ZEN_SETTINGS_SUGGESTION_VIEWED, BOOLEAN_VALIDATOR);
             VALIDATORS.put(CHARGING_SOUNDS_ENABLED, BOOLEAN_VALIDATOR);
             VALIDATORS.put(CHARGING_VIBRATION_ENABLED, BOOLEAN_VALIDATOR);
+            VALIDATORS.put(ACCESSIBILITY_MINIMUM_UI_TIMEOUT_ENABLED, BOOLEAN_VALIDATOR);
+            VALIDATORS.put(ACCESSIBILITY_MINIMUM_UI_TIMEOUT_MS, NON_NEGATIVE_INTEGER_VALIDATOR);
         }
 
         /**
@@ -9570,8 +9604,7 @@
          * Use the old dnsmasq DHCP server for tethering instead of the framework implementation.
          *
          * Integer values are interpreted as boolean, and the absence of an explicit setting
-         * is interpreted as |true|.
-         * TODO: make the default |false|
+         * is interpreted as |false|.
          * @hide
          */
         public static final String TETHER_ENABLE_LEGACY_DHCP_SERVER =
@@ -11514,14 +11547,6 @@
         public static final String EMERGENCY_AFFORDANCE_NEEDED = "emergency_affordance_needed";
 
         /**
-         * Enable faster emergency phone call feature.
-         * The value is a boolean (1 or 0).
-         * @hide
-         */
-        public static final String FASTER_EMERGENCY_PHONE_CALL_ENABLED =
-                "faster_emergency_phone_call_enabled";
-
-        /**
          * See RIL_PreferredNetworkType in ril.h
          * @hide
          */
@@ -11555,6 +11580,12 @@
         public static final String GPU_DEBUG_APP = "gpu_debug_app";
 
         /**
+         * App should try to use ANGLE
+         * @hide
+         */
+        public static final String ANGLE_ENABLED_APP = "angle_enabled_app";
+
+        /**
          * Ordered GPU debug layer list
          * i.e. <layer1>:<layer2>:...:<layerN>
          * @hide
diff --git a/core/java/android/security/net/config/DirectoryCertificateSource.java b/core/java/android/security/net/config/DirectoryCertificateSource.java
index 119f5d0..4f4d62a 100644
--- a/core/java/android/security/net/config/DirectoryCertificateSource.java
+++ b/core/java/android/security/net/config/DirectoryCertificateSource.java
@@ -16,26 +16,23 @@
 
 package android.security.net.config;
 
-import android.os.Environment;
-import android.os.UserHandle;
 import android.util.ArraySet;
 import android.util.Log;
-import android.util.Pair;
+
+import libcore.io.IoUtils;
+
 import java.io.BufferedInputStream;
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.InputStream;
 import java.io.IOException;
-import java.security.cert.Certificate;
+import java.io.InputStream;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
 import java.security.cert.CertificateException;
 import java.security.cert.CertificateFactory;
 import java.security.cert.X509Certificate;
 import java.util.Collections;
 import java.util.Set;
-import libcore.io.IoUtils;
-
-import com.android.org.conscrypt.Hex;
-import com.android.org.conscrypt.NativeCrypto;
 
 import javax.security.auth.x500.X500Principal;
 
@@ -192,8 +189,36 @@
     }
 
     private String getHash(X500Principal name) {
-        int hash = NativeCrypto.X509_NAME_hash_old(name);
-        return Hex.intToHexString(hash, 8);
+        int hash = hashName(name);
+        return intToHexString(hash, 8);
+    }
+
+    private static final char[] DIGITS = {
+            '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
+
+    private static String intToHexString(int i, int minWidth) {
+        int bufLen = 8;  // Max number of hex digits in an int
+        char[] buf = new char[bufLen];
+        int cursor = bufLen;
+
+        do {
+            buf[--cursor] = DIGITS[i & 0xf];
+        } while ((i >>>= 4) != 0 || (bufLen - cursor < minWidth));
+
+        return new String(buf, cursor, bufLen - cursor);
+    }
+
+    // This code matches the code in X509_NAME_hash_old() in Conscrypt, which in turn matches
+    // the names of certificate files.  It must be kept in sync.
+    private static int hashName(X500Principal principal) {
+        try {
+            byte[] digest = MessageDigest.getInstance("MD5").digest(principal.getEncoded());
+            int offset = 0;
+            return (((digest[offset++] & 0xff) << 0) | ((digest[offset++] & 0xff) << 8)
+                    | ((digest[offset++] & 0xff) << 16) | ((digest[offset] & 0xff) << 24));
+        } catch (NoSuchAlgorithmException e) {
+            throw new AssertionError(e);
+        }
     }
 
     private X509Certificate readCertificate(String file) {
diff --git a/core/java/android/service/autofill/AutofillService.java b/core/java/android/service/autofill/AutofillService.java
index 6c18b45..573d577 100644
--- a/core/java/android/service/autofill/AutofillService.java
+++ b/core/java/android/service/autofill/AutofillService.java
@@ -651,14 +651,11 @@
     /**
      * Called when the user requests the service to save the contents of a screen.
      *
-     * <p>Service must call one of the {@link SaveCallback} methods (like
-     * {@link SaveCallback#onSuccess()} or {@link SaveCallback#onFailure(CharSequence)})
-     * to notify the Android System of the result of the request.
-     *
      * <p>If the service could not handle the request right away&mdash;for example, because it must
      * launch an activity asking the user to authenticate first or because the network is
      * down&mdash;the service could keep the {@link SaveRequest request} and reuse it later,
-     * but the service must call {@link SaveCallback#onSuccess()} right away.
+     * but the service <b>must always</b> call {@link SaveCallback#onSuccess()} or
+     * {@link SaveCallback#onSuccess(android.content.IntentSender)} right away.
      *
      * <p><b>Note:</b> To retrieve the actual value of fields input by the user, the service
      * should call
diff --git a/core/java/android/service/autofill/CharSequenceTransformation.java b/core/java/android/service/autofill/CharSequenceTransformation.java
index fa6bd65..271707a 100644
--- a/core/java/android/service/autofill/CharSequenceTransformation.java
+++ b/core/java/android/service/autofill/CharSequenceTransformation.java
@@ -90,7 +90,7 @@
             try {
                 final Matcher matcher = field.first.matcher(value);
                 if (!matcher.find()) {
-                    if (sDebug) Log.d(TAG, "match for " + field.first + " failed on id " + id);
+                    if (sDebug) Log.d(TAG, "Match for " + field.first + " failed on id " + id);
                     return;
                 }
                 // replaceAll throws an exception if the subst is invalid
@@ -103,6 +103,9 @@
                 throw e;
             }
         }
+        // Cannot log converted, it might have PII
+        Log.d(TAG, "Converting text on child " + childViewId + " to " + converted.length()
+                + "_chars");
         parentTemplate.setCharSequence(childViewId, "setText", converted);
     }
 
diff --git a/core/java/android/service/autofill/CustomDescription.java b/core/java/android/service/autofill/CustomDescription.java
index b1ae7a5..fdbb1c2 100644
--- a/core/java/android/service/autofill/CustomDescription.java
+++ b/core/java/android/service/autofill/CustomDescription.java
@@ -314,7 +314,8 @@
          * is called multiple times passing the same {@code id}, only the last call will be used.
          *
          * @param id resource id of the child view.
-         * @param action action to be performed.
+         * @param action action to be performed. Must be an an implementation provided by the
+         * Android System.
          *
          * @return this builder
          *
diff --git a/core/java/android/service/autofill/FillCallback.java b/core/java/android/service/autofill/FillCallback.java
index 1695c13..06e2896 100644
--- a/core/java/android/service/autofill/FillCallback.java
+++ b/core/java/android/service/autofill/FillCallback.java
@@ -19,6 +19,7 @@
 import android.annotation.Nullable;
 import android.app.Activity;
 import android.os.RemoteException;
+import android.util.Log;
 
 /**
  * <p><code>FillCallback</code> handles autofill requests from the {@link AutofillService} into
@@ -28,6 +29,9 @@
  * <a href="/guide/topics/text/autofill-services">Build autofill services</a>.
  */
 public final class FillCallback {
+
+    private static final String TAG = "FillCallback";
+
     private final IFillCallback mCallback;
     private final int mRequestId;
     private boolean mCalled;
@@ -39,13 +43,20 @@
     }
 
     /**
-     * Notifies the Android System that an
-     * {@link AutofillService#onFillRequest(FillRequest, android.os.CancellationSignal,
-     * FillCallback)} was successfully fulfilled by the service.
+     * Notifies the Android System that a fill request
+     * ({@link AutofillService#onFillRequest(FillRequest, android.os.CancellationSignal,
+     * FillCallback)}) was successfully fulfilled by the service.
      *
-     * @param response autofill information for that activity, or {@code null} when the activity
-     * cannot be autofilled (for example, if it only contains read-only fields). See
-     * {@link FillResponse} for examples.
+     * <p>This method should always be called, even if the service doesn't have the heuristics to
+     * fulfill the request (in which case it should be called with {@code null}).
+     *
+     * <p>See the main {@link AutofillService} documentation for more details and examples.
+     *
+     * @param response autofill information for that activity, or {@code null} when the service
+     * cannot autofill the activity.
+     *
+     * @throws IllegalStateException if this method or {@link #onFailure(CharSequence)} was already
+     * called.
      */
     public void onSuccess(@Nullable FillResponse response) {
         assertNotCalled();
@@ -63,13 +74,33 @@
     }
 
     /**
-     * Notifies the Android System that an
+     * Notifies the Android System that a fill request (
      * {@link AutofillService#onFillRequest(FillRequest, android.os.CancellationSignal,
-     * FillCallback)} could not be fulfilled by the service.
+     * FillCallback)}) could not be fulfilled by the service (for example, because the user data was
+     * not available yet), so the request could be retried later.
      *
-     * @param message error message to be displayed to the user.
+     * <p><b>Note: </b>this method should not be used when the service didn't have the heursitics to
+     * fulfill the request; in this case, the service should call {@link #onSuccess(FillResponse)
+     * onSuccess(null)} instead.
+     *
+     * <p><b>Note: </b>prior to {@link android.os.Build.VERSION_CODES#Q}, this
+     * method was not working as intended and the service should always call
+     * {@link #onSuccess(FillResponse) onSuccess(null)} instead.
+     *
+     * <p><b>Note: </b>for apps targeting {@link android.os.Build.VERSION_CODES#Q} or higher, this
+     * method just logs the message on {@code logcat}; for apps targetting older SDKs, it also
+     * displays the message to user using a {@link android.widget.Toast}. Generally speaking, you
+     * should not display an error to the user if the request failed, unless the request had the
+     * {@link FillRequest#FLAG_MANUAL_REQUEST} flag.
+     *
+     * @param message error message. <b>Note: </b> this message should <b>not</b> contain PII
+     * (Personally Identifiable Information, such as username or email address).
+     *
+     * @throws IllegalStateException if this method or {@link #onSuccess(FillResponse)} was already
+     * called.
      */
     public void onFailure(@Nullable CharSequence message) {
+        Log.w(TAG, "onFailure(): " + message);
         assertNotCalled();
         mCalled = true;
         try {
diff --git a/core/java/android/service/autofill/OnClickAction.java b/core/java/android/service/autofill/OnClickAction.java
index 7439b00..8597a88 100644
--- a/core/java/android/service/autofill/OnClickAction.java
+++ b/core/java/android/service/autofill/OnClickAction.java
@@ -21,6 +21,9 @@
  *
  * <p>Typically used to switch the visibility of other views in a
  * {@link CustomDescription custom save UI}.
+ *
+ * <p><b>Note:</b> This interface is not meant to be implemented by app developers; only
+ * implementations provided by the Android System can be used in other Autofill APIs.
  */
 public interface OnClickAction {
 }
diff --git a/core/java/android/service/autofill/Sanitizer.java b/core/java/android/service/autofill/Sanitizer.java
index 38757ac..8a1310d 100644
--- a/core/java/android/service/autofill/Sanitizer.java
+++ b/core/java/android/service/autofill/Sanitizer.java
@@ -21,6 +21,9 @@
  * <p>Typically used to avoid displaying the save UI for values that are autofilled but reformatted
  * by the app&mdash;for example, if the autofill service sends a credit card number
  * value as "004815162342108" and the app automatically changes it to "0048 1516 2342 108".
+ *
+ * <p><b>Note:</b> This interface is not meant to be implemented by app developers; only
+ * implementations provided by the Android System can be used in other Autofill APIs.
  */
 public interface Sanitizer {
 }
diff --git a/core/java/android/service/autofill/SaveCallback.java b/core/java/android/service/autofill/SaveCallback.java
index 855981a..1753ecf 100644
--- a/core/java/android/service/autofill/SaveCallback.java
+++ b/core/java/android/service/autofill/SaveCallback.java
@@ -21,6 +21,7 @@
 import android.app.Activity;
 import android.content.IntentSender;
 import android.os.RemoteException;
+import android.util.Log;
 
 import com.android.internal.util.Preconditions;
 
@@ -29,6 +30,9 @@
  * autofilled.
  */
 public final class SaveCallback {
+
+    private static final String TAG = "SaveCallback";
+
     private final ISaveCallback mCallback;
     private boolean mCalled;
 
@@ -41,6 +45,9 @@
      * Notifies the Android System that an
      * {@link AutofillService#onSaveRequest(SaveRequest, SaveCallback)} was successfully handled
      * by the service.
+     *
+     * @throws IllegalStateException if this method, {@link #onSuccess(IntentSender)}, or
+     * {@link #onFailure(CharSequence)} was already called.
      */
     public void onSuccess() {
         onSuccessInternal(null);
@@ -58,6 +65,9 @@
      *
      * @param intentSender intent that will be launched from the context of activity being
      * autofilled.
+     *
+     * @throws IllegalStateException if this method, {@link #onSuccess()},
+     * or {@link #onFailure(CharSequence)} was already called.
      */
     public void onSuccess(@NonNull IntentSender intentSender) {
         onSuccessInternal(Preconditions.checkNotNull(intentSender));
@@ -73,22 +83,30 @@
         }
     }
 
+
+
+
     /**
      * Notifies the Android System that an
      * {@link AutofillService#onSaveRequest(SaveRequest, SaveCallback)} could not be handled
      * by the service.
      *
-     * <p>This method should only be called when the service could not handle the request right away
-     * and could not recover or retry it. If the service could retry or recover, it could keep
-     * the {@link SaveRequest} and call {@link #onSuccess()} instead.
+     * <p>This method is just used for logging purposes, the Android System won't call the service
+     * again in case of failures&mdash;if you need to recover from the failure, just save the
+     * {@link SaveRequest} and try again later.
      *
-     * <p><b>Note:</b> The Android System displays an UI with the supplied error message; if
-     * you prefer to show your own message, call {@link #onSuccess()} or
-     * {@link #onSuccess(IntentSender)} instead.
+     * <p><b>Note: </b>for apps targeting {@link android.os.Build.VERSION_CODES#Q} or higher, this
+     * method just logs the message on {@code logcat}; for apps targetting older SDKs, it also
+     * displays the message to user using a {@link android.widget.Toast}.
      *
-     * @param message error message to be displayed to the user.
+     * @param message error message. <b>Note: </b> this message should <b>not</b> contain PII
+     * (Personally Identifiable Information, such as username or email address).
+     *
+     * @throws IllegalStateException if this method, {@link #onSuccess()},
+     * or {@link #onSuccess(IntentSender)} was already called.
      */
     public void onFailure(CharSequence message) {
+        Log.w(TAG, "onFailure(): " + message);
         assertNotCalled();
         mCalled = true;
         try {
diff --git a/core/java/android/service/autofill/SaveInfo.java b/core/java/android/service/autofill/SaveInfo.java
index f571956..dfaf49a 100644
--- a/core/java/android/service/autofill/SaveInfo.java
+++ b/core/java/android/service/autofill/SaveInfo.java
@@ -235,12 +235,17 @@
      */
     public static final int FLAG_DONT_SAVE_ON_FINISH = 0x2;
 
+
     /**
-     * Don't trigger the autofill save UI when the autofill context associated with the response
-     * associated with this {@link SaveInfo} is {@link AutofillManager#commit() committed},
-     * but keep its {@link FillContext} so it's delivered in a future
-     * {@link AutofillService#onSaveRequest(SaveRequest, SaveCallback) save request} of an
-     * activity belonging to the same task.
+     * Postpone the autofill save UI.
+     *
+     * <p>If flag is set, the autofill save UI is not triggered when the
+     * autofill context associated with the response associated with this {@link SaveInfo} is
+     * committed (with {@link AutofillManager#commit()}). Instead, the {@link FillContext}
+     * is delivered in future fill requests (with {@link
+     * AutofillService#onFillRequest(FillRequest, android.os.CancellationSignal, FillCallback)})
+     * and save request (with {@link AutofillService#onSaveRequest(SaveRequest, SaveCallback)})
+     * of an activity belonging to the same task.
      *
      * <p>This flag should be used when the service detects that the application uses
      * multiple screens to implement an autofillable workflow (for example, one screen for the
diff --git a/core/java/android/service/autofill/Transformation.java b/core/java/android/service/autofill/Transformation.java
index aa8bc9b..de43955 100644
--- a/core/java/android/service/autofill/Transformation.java
+++ b/core/java/android/service/autofill/Transformation.java
@@ -20,6 +20,9 @@
  * template} at runtime, using the values of fields contained in the screen.
  *
  * <p>Typically used by {@link CustomDescription} to provide a customized autofill save UI.
+ *
+ * <p><b>Note:</b> This interface is not meant to be implemented by app developers; only
+ * implementations provided by the Android System can be used in other Autofill APIs.
  */
 public interface Transformation {
 }
diff --git a/core/java/android/service/dreams/DreamService.java b/core/java/android/service/dreams/DreamService.java
index 15b2aae..38de794 100644
--- a/core/java/android/service/dreams/DreamService.java
+++ b/core/java/android/service/dreams/DreamService.java
@@ -27,6 +27,7 @@
 import android.content.Intent;
 import android.graphics.PixelFormat;
 import android.graphics.drawable.ColorDrawable;
+import android.os.Build;
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.IRemoteCallback;
@@ -626,7 +627,7 @@
      * @see #startDozing
      * @hide For use by system UI components only.
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public boolean canDoze() {
         return mCanDoze;
     }
@@ -694,7 +695,7 @@
      * @see #startDozing
      * @hide For use by system UI components only.
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public void stopDozing() {
         if (mDozing) {
             mDozing = false;
@@ -716,7 +717,7 @@
      * @see #setDozing(boolean)
      * @hide For use by system UI components only.
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public boolean isDozing() {
         return mDozing;
     }
diff --git a/core/java/android/service/notification/NotificationAssistantService.java b/core/java/android/service/notification/NotificationAssistantService.java
index 26240c5..c1a3c2b 100644
--- a/core/java/android/service/notification/NotificationAssistantService.java
+++ b/core/java/android/service/notification/NotificationAssistantService.java
@@ -283,6 +283,9 @@
                         } catch (android.os.RemoteException ex) {
                             Log.v(TAG, "Unable to contact notification manager", ex);
                             throw ex.rethrowFromSystemServer();
+                        } catch (SecurityException e) {
+                            // app cannot catch and recover from this, so do on their behalf
+                            Log.w(TAG, "Enqueue adjustment failed; no longer connected", e);
                         }
                     }
                     break;
diff --git a/core/java/android/service/notification/NotificationListenerService.java b/core/java/android/service/notification/NotificationListenerService.java
index d9ed2aa..d7fe15d 100644
--- a/core/java/android/service/notification/NotificationListenerService.java
+++ b/core/java/android/service/notification/NotificationListenerService.java
@@ -280,7 +280,7 @@
 
     private final Object mLock = new Object();
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private Handler mHandler;
 
     /** @hide */
@@ -989,6 +989,21 @@
     }
 
     /**
+     * Clears listener hints set via {@link #getCurrentListenerHints()}.
+     *
+     * <p>The service should wait for the {@link #onListenerConnected()} event
+     * before performing this operation.
+     */
+    public final void clearRequestedListenerHints() {
+        if (!isBound()) return;
+        try {
+            getNotificationInterface().clearRequestedListenerHints(mWrapper);
+        } catch (android.os.RemoteException ex) {
+            Log.v(TAG, "Unable to contact notification manager", ex);
+        }
+    }
+
+    /**
      * Sets the desired {@link #getCurrentListenerHints() listener hints}.
      *
      * <p>
diff --git a/core/java/android/service/notification/ZenModeConfig.java b/core/java/android/service/notification/ZenModeConfig.java
index f90eb14..5012d77 100644
--- a/core/java/android/service/notification/ZenModeConfig.java
+++ b/core/java/android/service/notification/ZenModeConfig.java
@@ -16,6 +16,7 @@
 
 package android.service.notification;
 
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_REMINDERS;
 import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT;
 import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_LIGHTS;
 import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK;
@@ -145,6 +146,7 @@
     private static final String RULE_ATT_CONDITION_ID = "conditionId";
     private static final String RULE_ATT_CREATION_TIME = "creationTime";
     private static final String RULE_ATT_ENABLER = "enabler";
+    private static final String RULE_ATT_MODIFIED = "modified";
 
     @UnsupportedAppUsage
     public boolean allowAlarms = DEFAULT_ALLOW_ALARMS;
@@ -632,6 +634,7 @@
             Slog.i(TAG, "Updating zenMode of automatic rule " + rt.name);
             rt.zenMode = Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
         }
+        rt.modified = safeBoolean(parser, RULE_ATT_MODIFIED, false);
         return rt;
     }
 
@@ -655,6 +658,7 @@
         if (rule.condition != null) {
             writeConditionXml(rule.condition, out);
         }
+        out.attribute(null, RULE_ATT_MODIFIED, Boolean.toString(rule.modified));
     }
 
     public static Condition readConditionXml(XmlPullParser parser) {
@@ -763,6 +767,145 @@
         }
     };
 
+    /**
+     * @return notification policy based on manual and automatic rules
+     */
+    public Policy getConsolidatedNotificationPolicy() {
+        ZenPolicy policy = new ZenPolicy();
+
+        // assumption: manual rule always uses the default policy
+        for (ZenRule rule : automaticRules.values()) {
+            if (rule.isAutomaticActive()) {
+                if (rule.zenMode == Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS) {
+                    policy.apply(rule.zenPolicy);
+                }
+            }
+        }
+
+        return toNotificationPolicy(policy);
+    }
+
+    /**
+     * Converts a zenPolicy to a notificationPolicy using this ZenModeConfig's values as its
+     * defaults for all unset values in zenPolicy
+     */
+    public Policy toNotificationPolicy(ZenPolicy zenPolicy) {
+        NotificationManager.Policy defaultPolicy = toNotificationPolicy();
+        int priorityCategories = 0;
+        int suppressedVisualEffects = 0;
+        int callSenders = defaultPolicy.priorityCallSenders;
+        int messageSenders = defaultPolicy.priorityMessageSenders;
+
+        if (zenPolicy.isCategoryAllowed(ZenPolicy.PRIORITY_CATEGORY_REMINDERS,
+                isPriorityCategoryEnabled(Policy.PRIORITY_CATEGORY_REMINDERS, defaultPolicy))) {
+            priorityCategories |= PRIORITY_CATEGORY_REMINDERS;
+        }
+
+        if (zenPolicy.isCategoryAllowed(ZenPolicy.PRIORITY_CATEGORY_EVENTS,
+                isPriorityCategoryEnabled(Policy.PRIORITY_CATEGORY_EVENTS, defaultPolicy))) {
+            priorityCategories |= Policy.PRIORITY_CATEGORY_EVENTS;
+        }
+
+        if (zenPolicy.isCategoryAllowed(ZenPolicy.PRIORITY_CATEGORY_MESSAGES,
+                isPriorityCategoryEnabled(Policy.PRIORITY_CATEGORY_MESSAGES, defaultPolicy))) {
+            priorityCategories |= Policy.PRIORITY_CATEGORY_MESSAGES;
+            messageSenders = getNotificationPolicySenders(zenPolicy.getPriorityMessageSenders());
+        }
+
+        if (zenPolicy.isCategoryAllowed(ZenPolicy.PRIORITY_CATEGORY_CALLS,
+                isPriorityCategoryEnabled(Policy.PRIORITY_CATEGORY_CALLS, defaultPolicy))) {
+            priorityCategories |= Policy.PRIORITY_CATEGORY_CALLS;
+            messageSenders = getNotificationPolicySenders(zenPolicy.getPriorityCallSenders());
+        }
+
+        if (zenPolicy.isCategoryAllowed(ZenPolicy.PRIORITY_CATEGORY_REPEAT_CALLERS,
+                isPriorityCategoryEnabled(Policy.PRIORITY_CATEGORY_REPEAT_CALLERS,
+                        defaultPolicy))) {
+            priorityCategories |= Policy.PRIORITY_CATEGORY_REPEAT_CALLERS;
+        }
+
+        if (zenPolicy.isCategoryAllowed(ZenPolicy.PRIORITY_CATEGORY_ALARMS,
+                isPriorityCategoryEnabled(Policy.PRIORITY_CATEGORY_ALARMS, defaultPolicy))) {
+            priorityCategories |= Policy.PRIORITY_CATEGORY_ALARMS;
+        }
+
+        if (zenPolicy.isCategoryAllowed(ZenPolicy.PRIORITY_CATEGORY_MEDIA,
+                isPriorityCategoryEnabled(Policy.PRIORITY_CATEGORY_MEDIA, defaultPolicy))) {
+            priorityCategories |= Policy.PRIORITY_CATEGORY_MEDIA;
+        }
+
+        if (zenPolicy.isCategoryAllowed(ZenPolicy.PRIORITY_CATEGORY_SYSTEM,
+                isPriorityCategoryEnabled(Policy.PRIORITY_CATEGORY_SYSTEM, defaultPolicy))) {
+            priorityCategories |= Policy.PRIORITY_CATEGORY_SYSTEM;
+        }
+
+        if (!zenPolicy.isVisualEffectAllowed(ZenPolicy.VISUAL_EFFECT_FULL_SCREEN_INTENT,
+                isVisualEffectAllowed(Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT,
+                        defaultPolicy))) {
+            suppressedVisualEffects |= Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT;
+        }
+
+        if (!zenPolicy.isVisualEffectAllowed(ZenPolicy.VISUAL_EFFECT_LIGHTS,
+                isVisualEffectAllowed(Policy.SUPPRESSED_EFFECT_LIGHTS,
+                        defaultPolicy))) {
+            suppressedVisualEffects |= Policy.SUPPRESSED_EFFECT_LIGHTS;
+        }
+
+        if (!zenPolicy.isVisualEffectAllowed(ZenPolicy.VISUAL_EFFECT_PEEK,
+                isVisualEffectAllowed(Policy.SUPPRESSED_EFFECT_PEEK,
+                        defaultPolicy))) {
+            suppressedVisualEffects |= Policy.SUPPRESSED_EFFECT_PEEK;
+        }
+
+        if (!zenPolicy.isVisualEffectAllowed(ZenPolicy.VISUAL_EFFECT_STATUS_BAR,
+                isVisualEffectAllowed(Policy.SUPPRESSED_EFFECT_STATUS_BAR,
+                        defaultPolicy))) {
+            suppressedVisualEffects |= Policy.SUPPRESSED_EFFECT_STATUS_BAR;
+        }
+
+        if (!zenPolicy.isVisualEffectAllowed(ZenPolicy.VISUAL_EFFECT_BADGE,
+                isVisualEffectAllowed(Policy.SUPPRESSED_EFFECT_BADGE,
+                        defaultPolicy))) {
+            suppressedVisualEffects |= Policy.SUPPRESSED_EFFECT_BADGE;
+        }
+
+        if (!zenPolicy.isVisualEffectAllowed(ZenPolicy.VISUAL_EFFECT_AMBIENT,
+                isVisualEffectAllowed(Policy.SUPPRESSED_EFFECT_AMBIENT,
+                        defaultPolicy))) {
+            suppressedVisualEffects |= Policy.SUPPRESSED_EFFECT_AMBIENT;
+        }
+
+        if (!zenPolicy.isVisualEffectAllowed(ZenPolicy.VISUAL_EFFECT_NOTIFICATION_LIST,
+                isVisualEffectAllowed(Policy.SUPPRESSED_EFFECT_NOTIFICATION_LIST,
+                        defaultPolicy))) {
+            suppressedVisualEffects |= Policy.SUPPRESSED_EFFECT_NOTIFICATION_LIST;
+        }
+
+        return new NotificationManager.Policy(priorityCategories, callSenders,
+                messageSenders, suppressedVisualEffects);
+    }
+
+    private boolean isPriorityCategoryEnabled(int categoryType, Policy policy) {
+        return (policy.priorityCategories & categoryType) != 0;
+    }
+
+    private boolean isVisualEffectAllowed(int visualEffect, Policy policy) {
+        return (policy.suppressedVisualEffects & visualEffect) == 0;
+    }
+
+    private int getNotificationPolicySenders(@ZenPolicy.PeopleType int senders) {
+        switch (senders) {
+            case ZenPolicy.PEOPLE_TYPE_ANYONE:
+                return Policy.PRIORITY_SENDERS_ANY;
+            case ZenPolicy.PEOPLE_TYPE_CONTACTS:
+                return Policy.PRIORITY_SENDERS_CONTACTS;
+            case ZenPolicy.PEOPLE_TYPE_STARRED:
+            default:
+                return Policy.PRIORITY_SENDERS_STARRED;
+        }
+
+    }
+
     public Policy toNotificationPolicy() {
         int priorityCategories = 0;
         int priorityCallSenders = Policy.PRIORITY_SENDERS_CONTACTS;
@@ -1315,6 +1458,8 @@
         @UnsupportedAppUsage
         public long creationTime;        // required for automatic
         public String enabler;          // package name, only used for manual rules.
+        public ZenPolicy zenPolicy;
+        public boolean modified;    // rule has been modified from initial creation
 
         public ZenRule() { }
 
@@ -1335,6 +1480,8 @@
             if (source.readInt() == 1) {
                 enabler = source.readString();
             }
+            zenPolicy = source.readParcelable(null);
+            modified = source.readInt() == 1;
         }
 
         @Override
@@ -1369,6 +1516,8 @@
             } else {
                 dest.writeInt(0);
             }
+            dest.writeParcelable(zenPolicy, 0);
+            dest.writeInt(modified ? 1 : 0);
         }
 
         @Override
@@ -1384,6 +1533,8 @@
                     .append(",component=").append(component)
                     .append(",creationTime=").append(creationTime)
                     .append(",enabler=").append(enabler)
+                    .append(",zenPolicy=").append(zenPolicy)
+                    .append(",modified=").append(modified)
                     .append(']').toString();
         }
 
@@ -1407,7 +1558,10 @@
             if (component != null) {
                 component.writeToProto(proto, ZenRuleProto.COMPONENT);
             }
-
+            if (zenPolicy != null) {
+                zenPolicy.writeToProto(proto, ZenRuleProto.ZEN_POLICY);
+            }
+            proto.write(ZenRuleProto.MODIFIED, modified);
             proto.end(token);
         }
 
@@ -1454,9 +1608,15 @@
             if (creationTime != to.creationTime) {
                 d.addLine(item, "creationTime", creationTime, to.creationTime);
             }
-            if (enabler != to.enabler) {
+            if (!Objects.equals(enabler, to.enabler)) {
                 d.addLine(item, "enabler", enabler, to.enabler);
             }
+            if (!Objects.equals(zenPolicy, to.zenPolicy)) {
+                d.addLine(item, "zenPolicy", zenPolicy, to.zenPolicy);
+            }
+            if (modified != to.modified) {
+                d.addLine(item, "modified", modified, to.modified);
+            }
         }
 
         @Override
@@ -1472,13 +1632,15 @@
                     && Objects.equals(other.condition, condition)
                     && Objects.equals(other.component, component)
                     && Objects.equals(other.id, id)
-                    && Objects.equals(other.enabler, enabler);
+                    && Objects.equals(other.enabler, enabler)
+                    && Objects.equals(other.zenPolicy, zenPolicy)
+                    && other.modified == modified;
         }
 
         @Override
         public int hashCode() {
             return Objects.hash(enabled, snoozing, name, zenMode, conditionId, condition,
-                    component, id, enabler);
+                    component, id, enabler, zenPolicy, modified);
         }
 
         public boolean isAutomaticActive() {
diff --git a/core/java/android/service/notification/ZenPolicy.java b/core/java/android/service/notification/ZenPolicy.java
new file mode 100644
index 0000000..1ccf529
--- /dev/null
+++ b/core/java/android/service/notification/ZenPolicy.java
@@ -0,0 +1,897 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.service.notification;
+
+import android.annotation.IntDef;
+import android.app.Notification;
+import android.app.NotificationChannel;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.util.proto.ProtoOutputStream;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Objects;
+
+/**
+ * ZenPolicy determines whether to allow certain notifications and their corresponding sounds to
+ * play when a device is in Do Not Disturb mode.
+ * ZenPolicy also dictates the visual effects of notifications that are intercepted when
+ * a device is in Do Not Disturb mode.
+ */
+public final class ZenPolicy implements Parcelable {
+    private ArrayList<Integer> mPriorityCategories;
+    private ArrayList<Integer> mVisualEffects;
+    private @PeopleType int mPriorityMessages = PEOPLE_TYPE_UNSET;
+    private @PeopleType int mPriorityCalls = PEOPLE_TYPE_UNSET;
+
+    /** @hide */
+    @IntDef(prefix = { "PRIORITY_CATEGORY_" }, value = {
+            PRIORITY_CATEGORY_REMINDERS,
+            PRIORITY_CATEGORY_EVENTS,
+            PRIORITY_CATEGORY_MESSAGES,
+            PRIORITY_CATEGORY_CALLS,
+            PRIORITY_CATEGORY_REPEAT_CALLERS,
+            PRIORITY_CATEGORY_ALARMS,
+            PRIORITY_CATEGORY_MEDIA,
+            PRIORITY_CATEGORY_SYSTEM,
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface PriorityCategory {}
+
+    /** @hide */
+    public static final int PRIORITY_CATEGORY_REMINDERS = 0;
+    /** @hide */
+    public static final int PRIORITY_CATEGORY_EVENTS = 1;
+    /** @hide */
+    public static final int PRIORITY_CATEGORY_MESSAGES = 2;
+    /** @hide */
+    public static final int PRIORITY_CATEGORY_CALLS = 3;
+    /** @hide */
+    public static final int PRIORITY_CATEGORY_REPEAT_CALLERS = 4;
+    /** @hide */
+    public static final int PRIORITY_CATEGORY_ALARMS = 5;
+    /** @hide */
+    public static final int PRIORITY_CATEGORY_MEDIA = 6;
+    /** @hide */
+    public static final int PRIORITY_CATEGORY_SYSTEM = 7;
+
+    /** @hide */
+    @IntDef(prefix = { "VISUAL_EFFECT_" }, value = {
+            VISUAL_EFFECT_FULL_SCREEN_INTENT,
+            VISUAL_EFFECT_LIGHTS,
+            VISUAL_EFFECT_PEEK,
+            VISUAL_EFFECT_STATUS_BAR,
+            VISUAL_EFFECT_BADGE,
+            VISUAL_EFFECT_AMBIENT,
+            VISUAL_EFFECT_NOTIFICATION_LIST,
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface VisualEffect {}
+
+    /** @hide */
+    public static final int VISUAL_EFFECT_FULL_SCREEN_INTENT = 0;
+    /** @hide */
+    public static final int VISUAL_EFFECT_LIGHTS = 1;
+    /** @hide */
+    public static final int VISUAL_EFFECT_PEEK = 2;
+    /** @hide */
+    public static final int VISUAL_EFFECT_STATUS_BAR = 3;
+    /** @hide */
+    public static final int VISUAL_EFFECT_BADGE = 4;
+    /** @hide */
+    public static final int VISUAL_EFFECT_AMBIENT = 5;
+    /** @hide */
+    public static final int VISUAL_EFFECT_NOTIFICATION_LIST = 6;
+
+    /** @hide */
+    @IntDef(prefix = { "PEOPLE_TYPE_" }, value = {
+            PEOPLE_TYPE_UNSET,
+            PEOPLE_TYPE_ANYONE,
+            PEOPLE_TYPE_CONTACTS,
+            PEOPLE_TYPE_STARRED,
+            PEOPLE_TYPE_NONE,
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface PeopleType {}
+
+    /**
+     * Used to indicate no preference for the type of people that can bypass dnd for either
+     * calls or messages.
+     */
+    public static final int PEOPLE_TYPE_UNSET = 0;
+
+    /**
+     * Used to indicate all calls or messages can bypass dnd.
+     */
+    public static final int PEOPLE_TYPE_ANYONE = 1;
+
+    /**
+     * Used to indicate calls or messages from contacts can bypass dnd.
+     */
+    public static final int PEOPLE_TYPE_CONTACTS = 2;
+
+    /**
+     * Used to indicate calls or messages from starred contacts can bypass dnd.
+     */
+    public static final int PEOPLE_TYPE_STARRED = 3;
+
+    /**
+     * Used to indicate no calls or messages can bypass dnd.
+     */
+    public static final int PEOPLE_TYPE_NONE = 4;
+
+    /** @hide */
+    @IntDef(prefix = { "STATE_" }, value = {
+            STATE_UNSET,
+            STATE_ALLOW,
+            STATE_DISALLOW,
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface State {}
+
+    /**
+     * Indicates no preference for whether a type of sound or visual effect is or isn't allowed
+     * to play/show when DND is active.  Will default to the current set policy.
+     */
+    public static final int STATE_UNSET = 0;
+
+    /**
+     * Indicates a type of sound or visual effect is allowed to play/show when DND is active.
+     */
+    public static final int STATE_ALLOW = 1;
+
+    /**
+     * Indicates a type of sound or visual effect is not allowed to play/show when DND is active.
+     */
+    public static final int STATE_DISALLOW = 2;
+
+    /** @hide */
+    public ZenPolicy() {
+        mPriorityCategories = new ArrayList<>(Collections.nCopies(8, 0));
+        mVisualEffects = new ArrayList<>(Collections.nCopies(7, 0));
+    }
+
+    /**
+     * Message senders that can bypass DND.
+     * @return {@link #PEOPLE_TYPE_UNSET}, {@link #PEOPLE_TYPE_ANYONE},
+     * {@link #PEOPLE_TYPE_CONTACTS}, {@link #PEOPLE_TYPE_STARRED} or {@link #PEOPLE_TYPE_NONE}
+     */
+    public @PeopleType int getPriorityMessageSenders() {
+        return mPriorityMessages;
+    }
+
+    /**
+     * Callers that can bypass DND.
+     * @return {@link #PEOPLE_TYPE_UNSET}, {@link #PEOPLE_TYPE_ANYONE},
+     * {@link #PEOPLE_TYPE_CONTACTS}, {@link #PEOPLE_TYPE_STARRED} or {@link #PEOPLE_TYPE_NONE}
+     */
+    public @PeopleType int getPriorityCallSenders() {
+        return mPriorityCalls;
+    }
+
+    /**
+     * Whether this policy wants to allow notifications with category
+     * {@link Notification#CATEGORY_REMINDER} to play sounds and visually appear
+     * or to intercept them when DND is active.
+     * @return {@link #STATE_UNSET}, {@link #STATE_ALLOW} or {@link #STATE_DISALLOW}
+     */
+    public @State int getPriorityCategoryReminders() {
+        return mPriorityCategories.get(PRIORITY_CATEGORY_REMINDERS);
+    }
+
+    /**
+     * Whether this policy wants to allow notifications with category
+     * {@link Notification#CATEGORY_EVENT} to play sounds and visually appear
+     * or to intercept them when DND is active.
+     * @return {@link #STATE_UNSET}, {@link #STATE_ALLOW} or {@link #STATE_DISALLOW}
+     */
+    public @State int getPriorityCategoryEvents() {
+        return mPriorityCategories.get(PRIORITY_CATEGORY_EVENTS);
+    }
+
+    /**
+     * Whether this policy wants to allow notifications with category
+     * {@link Notification#CATEGORY_MESSAGE} to play sounds and visually appear
+     * or to intercept them when DND is active.  Types of message senders that are allowed
+     * are specified by {@link #getPriorityMessageSenders}.
+     * @return {@link #STATE_UNSET}, {@link #STATE_ALLOW} or {@link #STATE_DISALLOW}
+     */
+    public @State int getPriorityCategoryMessages() {
+        return mPriorityCategories.get(PRIORITY_CATEGORY_MESSAGES);
+    }
+
+    /**
+     * Whether this policy wants to allow notifications with category
+     * {@link Notification#CATEGORY_CALL} to play sounds and visually appear
+     * or to intercept them when DND is active.  Types of callers that are allowed
+     * are specified by {@link #getPriorityCallSenders()}.
+     * @return {@link #STATE_UNSET}, {@link #STATE_ALLOW} or {@link #STATE_DISALLOW}
+     */
+    public @State int getPriorityCategoryCalls() {
+        return mPriorityCategories.get(PRIORITY_CATEGORY_CALLS);
+    }
+
+    /**
+     * Whether this policy wants to allow repeat callers (notifications with category
+     * {@link Notification#CATEGORY_CALL} that have recently called) to play sounds and
+     * visually appear or to intercept them when DND is active.
+     * @return {@link #STATE_UNSET}, {@link #STATE_ALLOW} or {@link #STATE_DISALLOW}
+     */
+    public @State int getPriorityCategoryRepeatCallers() {
+        return mPriorityCategories.get(PRIORITY_CATEGORY_REPEAT_CALLERS);
+    }
+
+    /**
+     * Whether this policy wants to allow notifications with category
+     * {@link Notification#CATEGORY_ALARM} to play sounds and visually appear
+     * or to intercept them when DND is active.
+     * When alarms are {@link #STATE_DISALLOW disallowed}, the alarm stream will be muted when DND
+     * is active.
+     * @return {@link #STATE_UNSET}, {@link #STATE_ALLOW} or {@link #STATE_DISALLOW}
+     */
+    public @State int getPriorityCategoryAlarms() {
+        return mPriorityCategories.get(PRIORITY_CATEGORY_ALARMS);
+    }
+
+    /**
+     * Whether this policy wants to allow media notifications to play sounds and visually appear
+     * or to intercept them when DND is active.
+     * When media is {@link #STATE_DISALLOW disallowed}, the media stream will be muted when DND is
+     * active.
+     * @return {@link #STATE_UNSET}, {@link #STATE_ALLOW} or {@link #STATE_DISALLOW}
+     */
+    public @State int getPriorityCategoryMedia() {
+        return mPriorityCategories.get(PRIORITY_CATEGORY_MEDIA);
+    }
+
+    /**
+     * Whether this policy wants to allow system sounds when DND is active.
+     * When system is {@link #STATE_DISALLOW}, the system stream will be muted when DND is active.
+     * @return {@link #STATE_UNSET}, {@link #STATE_ALLOW} or {@link #STATE_DISALLOW}
+     */
+    public @State int getPriorityCategorySystem() {
+        return mPriorityCategories.get(PRIORITY_CATEGORY_SYSTEM);
+    }
+
+    /**
+     * Whether this policy allows {@link Notification#fullScreenIntent full screen intents} from
+     * notifications intercepted by DND.
+     */
+    public @State int getVisualEffectFullScreenIntent() {
+        return mVisualEffects.get(VISUAL_EFFECT_FULL_SCREEN_INTENT);
+    }
+
+    /**
+     * Whether this policy allows {@link NotificationChannel#shouldShowLights() notification
+     * lights} from notifications intercepted by DND.
+     */
+    public @State int getVisualEffectLights() {
+        return mVisualEffects.get(VISUAL_EFFECT_LIGHTS);
+    }
+
+    /**
+     * Whether this policy allows peeking from notifications intercepted by DND.
+     */
+    public @State int getVisualEffectPeek() {
+        return mVisualEffects.get(VISUAL_EFFECT_PEEK);
+    }
+
+    /**
+     * Whether this policy allows notifications intercepted by DND from appearing in the status bar
+     * on devices that support status bars.
+     */
+    public @State int getVisualEffectStatusBar() {
+        return mVisualEffects.get(VISUAL_EFFECT_STATUS_BAR);
+    }
+
+    /**
+     * Whether this policy allows {@link NotificationChannel#canShowBadge() badges} from
+     * notifications intercepted by DND on devices that support badging.
+     */
+    public @State int getVisualEffectBadge() {
+        return mVisualEffects.get(VISUAL_EFFECT_BADGE);
+    }
+
+    /**
+     * Whether this policy allows notifications intercepted by DND from appearing on ambient
+     * displays on devices that support ambient display.
+     */
+    public @State int getVisualEffectAmbient() {
+        return mVisualEffects.get(VISUAL_EFFECT_AMBIENT);
+    }
+
+    /**
+     * Whether this policy allows notifications intercepted by DND from appearing in notification
+     * list views like the notification shade or lockscreen on devices that support those
+     * views.
+     */
+    public @State int getVisualEffectNotificationList() {
+        return mVisualEffects.get(VISUAL_EFFECT_NOTIFICATION_LIST);
+    }
+
+    /**
+     * Builder class for {@link ZenPolicy} objects.
+     * Provides a convenient way to set the various fields of a {@link ZenPolicy}.  If a field
+     * is not set, it is (@link STATE_UNSET} and will not change the current set policy.
+     */
+    public static class Builder {
+        private ZenPolicy mZenPolicy;
+
+        public Builder() {
+            mZenPolicy = new ZenPolicy();
+        }
+
+        /**
+         * Builds the current ZenPolicy.
+         */
+        public ZenPolicy build() {
+            return mZenPolicy.copy();
+        }
+
+        /**
+         * Allows all notifications to bypass DND and unmutes all streams.
+         */
+        public Builder allowAllSounds() {
+            for (int i = 0; i < mZenPolicy.mPriorityCategories.size(); i++) {
+                mZenPolicy.mPriorityCategories.set(i, STATE_ALLOW);
+            }
+            mZenPolicy.mPriorityMessages = PEOPLE_TYPE_ANYONE;
+            mZenPolicy.mPriorityCalls = PEOPLE_TYPE_ANYONE;
+            return this;
+        }
+
+        /**
+         * Intercepts all notifications and prevents them from playing sounds
+         * when DND is active. Also mutes alarm, system and media streams.
+         * Notification channels can still play sounds only if they
+         * {@link NotificationChannel#canBypassDnd can bypass DND}. If no channels can bypass DND,
+         * the ringer stream is also muted.
+         */
+        public Builder disallowAllSounds() {
+            for (int i = 0; i < mZenPolicy.mPriorityCategories.size(); i++) {
+                mZenPolicy.mPriorityCategories.set(i, STATE_DISALLOW);
+            }
+            mZenPolicy.mPriorityMessages = PEOPLE_TYPE_NONE;
+            mZenPolicy.mPriorityCalls = PEOPLE_TYPE_NONE;
+            return this;
+        }
+
+        /**
+         * Allows notifications intercepted by DND to show on all surfaces when DND is active.
+         */
+        public Builder showAllVisualEffects() {
+            for (int i = 0; i < mZenPolicy.mVisualEffects.size(); i++) {
+                mZenPolicy.mVisualEffects.set(i, STATE_ALLOW);
+            }
+            return this;
+        }
+
+        /**
+         * Disallows notifications intercepted by DND from showing when DND is active.
+         */
+        public Builder hideAllVisualEffects() {
+            for (int i = 0; i < mZenPolicy.mVisualEffects.size(); i++) {
+                mZenPolicy.mVisualEffects.set(i, STATE_DISALLOW);
+            }
+            return this;
+        }
+
+        /**
+         * Unsets a priority category, neither allowing or disallowing. When applying this policy,
+         * unset categories will default to the current applied policy.
+         * @hide
+         */
+        public Builder unsetPriorityCategory(@PriorityCategory int category) {
+            mZenPolicy.mPriorityCategories.set(category, STATE_UNSET);
+
+            if (category == PRIORITY_CATEGORY_MESSAGES) {
+                mZenPolicy.mPriorityMessages = STATE_UNSET;
+            } else if (category == PRIORITY_CATEGORY_CALLS) {
+                mZenPolicy.mPriorityCalls = STATE_UNSET;
+            }
+
+            return this;
+        }
+
+        /**
+         * Unsets a visual effect, neither allowing or disallowing. When applying this policy,
+         * unset effects will default to the current applied policy.
+         * @hide
+         */
+        public Builder unsetVisualEffect(@VisualEffect int effect) {
+            mZenPolicy.mVisualEffects.set(effect, STATE_UNSET);
+            return this;
+        }
+
+        /**
+         * Whether to allow notifications with category {@link Notification#CATEGORY_REMINDER}
+         * to play sounds and visually appear or to intercept them when DND is active.
+         */
+        public Builder allowReminders(boolean allow) {
+            mZenPolicy.mPriorityCategories.set(PRIORITY_CATEGORY_REMINDERS,
+                    allow ? STATE_ALLOW : STATE_DISALLOW);
+            return this;
+        }
+
+        /**
+         * Whether to allow notifications with category {@link Notification#CATEGORY_EVENT}
+         * to play sounds and visually appear or to intercept them when DND is active.
+         */
+        public Builder allowEvents(boolean allow) {
+            mZenPolicy.mPriorityCategories.set(PRIORITY_CATEGORY_EVENTS,
+                    allow ? STATE_ALLOW : STATE_DISALLOW);
+            return this;
+        }
+
+        /**
+         * Whether to allow notifications with category {@link Notification#CATEGORY_MESSAGE}
+         * that match audienceType to play sounds and visually appear or to intercept
+         * them when DND is active.
+         * @param audienceType message senders that are allowed to bypass DND
+         */
+        public Builder allowMessages(@PeopleType int audienceType) {
+            if (audienceType == STATE_UNSET) {
+                return unsetPriorityCategory(PRIORITY_CATEGORY_MESSAGES);
+            }
+
+            if (audienceType == PEOPLE_TYPE_NONE) {
+                mZenPolicy.mPriorityCategories.set(PRIORITY_CATEGORY_MESSAGES, STATE_DISALLOW);
+            } else if (audienceType == PEOPLE_TYPE_ANYONE || audienceType == PEOPLE_TYPE_CONTACTS
+                    || audienceType == PEOPLE_TYPE_STARRED) {
+                mZenPolicy.mPriorityCategories.set(PRIORITY_CATEGORY_MESSAGES, STATE_ALLOW);
+            } else {
+                return this;
+            }
+
+            mZenPolicy.mPriorityMessages = audienceType;
+            return this;
+        }
+
+        /**
+         * Whether to allow notifications with category {@link Notification#CATEGORY_CALL}
+         * that match audienceType to play sounds and visually appear or to intercept
+         * them when DND is active.
+         * @param audienceType callers that are allowed to bypass DND
+         */
+        public Builder allowCalls(@PeopleType int audienceType) {
+            if (audienceType == STATE_UNSET) {
+                return unsetPriorityCategory(PRIORITY_CATEGORY_CALLS);
+            }
+
+            if (audienceType == PEOPLE_TYPE_NONE) {
+                mZenPolicy.mPriorityCategories.set(PRIORITY_CATEGORY_CALLS, STATE_DISALLOW);
+            } else if (audienceType == PEOPLE_TYPE_ANYONE || audienceType == PEOPLE_TYPE_CONTACTS
+                    || audienceType == PEOPLE_TYPE_STARRED) {
+                mZenPolicy.mPriorityCategories.set(PRIORITY_CATEGORY_CALLS, STATE_ALLOW);
+            } else {
+                return this;
+            }
+
+            mZenPolicy.mPriorityCalls = audienceType;
+            return this;
+        }
+
+        /**
+         * Whether to allow repeat callers (notifications with category
+         * {@link Notification#CATEGORY_CALL} that have recently called
+         * to play sounds and visually appear.
+         */
+        public Builder allowRepeatCallers(boolean allow) {
+            mZenPolicy.mPriorityCategories.set(PRIORITY_CATEGORY_REPEAT_CALLERS,
+                    allow ? STATE_ALLOW : STATE_DISALLOW);
+            return this;
+        }
+
+
+        /**
+         * Whether to allow notifications with category {@link Notification#CATEGORY_ALARM}
+         * to play sounds and visually appear or to intercept them when DND is active.
+         * Disallowing alarms will mute the alarm stream when DND is active.
+         */
+        public Builder allowAlarms(boolean allow) {
+            mZenPolicy.mPriorityCategories.set(PRIORITY_CATEGORY_ALARMS,
+                    allow ? STATE_ALLOW : STATE_DISALLOW);
+            return this;
+        }
+
+        /**
+         * Whether to allow media notifications to play sounds and visually
+         * appear or to intercept them when DND is active.
+         * Disallowing media will mute the media stream when DND is active.
+         */
+        public Builder allowMedia(boolean allow) {
+            mZenPolicy.mPriorityCategories.set(PRIORITY_CATEGORY_MEDIA,
+                    allow ? STATE_ALLOW : STATE_DISALLOW);
+            return this;
+        }
+
+        /**
+         * Whether to allow system sounds to play when DND is active.
+         * Disallowing system sounds will mute the system stream when DND is active.
+         */
+        public Builder allowSystem(boolean allow) {
+            mZenPolicy.mPriorityCategories.set(PRIORITY_CATEGORY_SYSTEM,
+                    allow ? STATE_ALLOW : STATE_DISALLOW);
+            return this;
+        }
+
+        /**
+         * Whether {@link Notification#fullScreenIntent full screen intents} that are intercepted
+         * by DND are shown.
+         */
+        public Builder showFullScreenIntent(boolean show) {
+            mZenPolicy.mVisualEffects.set(VISUAL_EFFECT_FULL_SCREEN_INTENT,
+                    show ? STATE_ALLOW : STATE_DISALLOW);
+            return this;
+        }
+
+        /**
+         * Whether {@link NotificationChannel#shouldShowLights() notification lights} from
+         * notifications intercepted by DND are blocked.
+         */
+        public Builder showLights(boolean show) {
+            mZenPolicy.mVisualEffects.set(VISUAL_EFFECT_LIGHTS,
+                    show ? STATE_ALLOW : STATE_DISALLOW);
+            return this;
+        }
+
+        /**
+         * Whether notifications intercepted by DND are prevented from peeking.
+         */
+        public Builder showPeeking(boolean show) {
+            mZenPolicy.mVisualEffects.set(VISUAL_EFFECT_PEEK,
+                    show ? STATE_ALLOW : STATE_DISALLOW);
+            return this;
+        }
+
+        /**
+         * Whether notifications intercepted by DND are prevented from appearing in the status bar
+         * on devices that support status bars.
+         */
+        public Builder showStatusBarIcons(boolean show) {
+            mZenPolicy.mVisualEffects.set(VISUAL_EFFECT_STATUS_BAR,
+                    show ? STATE_ALLOW : STATE_DISALLOW);
+            return this;
+        }
+
+        /**
+         * Whether {@link NotificationChannel#canShowBadge() badges} from
+         * notifications intercepted by DND are allowed on devices that support badging.
+         */
+        public Builder showBadges(boolean show) {
+            mZenPolicy.mVisualEffects.set(VISUAL_EFFECT_BADGE,
+                    show ? STATE_ALLOW : STATE_DISALLOW);
+            return this;
+        }
+
+        /**
+         * Whether notification intercepted by DND are prevented from appearing on ambient displays
+         * on devices that support ambient display.
+         */
+        public Builder showInAmbientDisplay(boolean show) {
+            mZenPolicy.mVisualEffects.set(VISUAL_EFFECT_AMBIENT,
+                    show ? STATE_ALLOW : STATE_DISALLOW);
+            return this;
+        }
+
+        /**
+         * Whether notification intercepted by DND are prevented from appearing in notification
+         * list views like the notification shade or lockscreen on devices that support those
+         * views.
+         */
+        public Builder showInNotificationList(boolean show) {
+            mZenPolicy.mVisualEffects.set(VISUAL_EFFECT_NOTIFICATION_LIST,
+                    show ? STATE_ALLOW : STATE_DISALLOW);
+            return this;
+        }
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeList(mPriorityCategories);
+        dest.writeList(mVisualEffects);
+        dest.writeInt(mPriorityCalls);
+        dest.writeInt(mPriorityMessages);
+    }
+
+    public static final Parcelable.Creator<ZenPolicy> CREATOR =
+            new Parcelable.Creator<ZenPolicy>() {
+        @Override
+        public ZenPolicy createFromParcel(Parcel source) {
+            ZenPolicy policy = new ZenPolicy();
+            policy.mPriorityCategories = source.readArrayList(Integer.class.getClassLoader());
+            policy.mVisualEffects = source.readArrayList(Integer.class.getClassLoader());
+            policy.mPriorityCalls = source.readInt();
+            policy.mPriorityMessages = source.readInt();
+            return policy;
+        }
+
+        @Override
+        public ZenPolicy[] newArray(int size) {
+            return new ZenPolicy[size];
+        }
+    };
+
+    @Override
+    public String toString() {
+        return new StringBuilder(ZenPolicy.class.getSimpleName())
+                .append('{')
+                .append("priorityCategories=[").append(priorityCategoriesToString())
+                .append("], visualEffects=[").append(visualEffectsToString())
+                .append(", priorityCalls=").append(stateToString(mPriorityCalls))
+                .append("], priorityMessages=").append(stateToString(mPriorityMessages))
+                .append('}')
+                .toString();
+    }
+
+
+    private String priorityCategoriesToString() {
+        StringBuilder builder = new StringBuilder();
+        for (int i = 0; i < mPriorityCategories.size(); i++) {
+            if (mPriorityCategories.get(i) != STATE_UNSET) {
+                builder.append(indexToCategory(i))
+                        .append("=")
+                        .append(stateToString(mPriorityCategories.get(i)))
+                        .append(" ");
+            }
+
+        }
+        return builder.toString();
+    }
+
+    private String visualEffectsToString() {
+        StringBuilder builder = new StringBuilder();
+        for (int i = 0; i < mVisualEffects.size(); i++) {
+            if (mVisualEffects.get(i) != STATE_UNSET) {
+                builder.append(indexToVisualEffect(i))
+                        .append("=")
+                        .append(stateToString(mVisualEffects.get(i)))
+                        .append(" ");
+            }
+
+        }
+        return builder.toString();
+    }
+
+    private String indexToVisualEffect(@VisualEffect int visualEffectIndex) {
+        switch (visualEffectIndex) {
+            case VISUAL_EFFECT_FULL_SCREEN_INTENT:
+                return "fullScreenIntent";
+            case VISUAL_EFFECT_LIGHTS:
+                return "lights";
+            case VISUAL_EFFECT_PEEK:
+                return "peek";
+            case VISUAL_EFFECT_STATUS_BAR:
+                return "statusBar";
+            case VISUAL_EFFECT_BADGE:
+                return "badge";
+            case VISUAL_EFFECT_AMBIENT:
+                return "ambient";
+            case VISUAL_EFFECT_NOTIFICATION_LIST:
+                return "notificationList";
+        }
+        return null;
+    }
+
+    private String indexToCategory(@PriorityCategory int categoryIndex) {
+        switch (categoryIndex) {
+            case PRIORITY_CATEGORY_REMINDERS:
+                return "reminders";
+            case PRIORITY_CATEGORY_EVENTS:
+                return "events";
+            case PRIORITY_CATEGORY_MESSAGES:
+                return "messages";
+            case PRIORITY_CATEGORY_CALLS:
+                return "calls";
+            case PRIORITY_CATEGORY_REPEAT_CALLERS:
+                return "repeatCallers";
+            case PRIORITY_CATEGORY_ALARMS:
+                return "alarms";
+            case PRIORITY_CATEGORY_MEDIA:
+                return "media";
+            case PRIORITY_CATEGORY_SYSTEM:
+                return "system";
+        }
+        return null;
+    }
+
+    private String stateToString(@State int state) {
+        switch (state) {
+            case STATE_UNSET:
+                return "unset";
+            case STATE_DISALLOW:
+                return "disallow";
+            case STATE_ALLOW:
+                return "allow";
+        }
+        return null;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (!(o instanceof ZenPolicy)) return false;
+        if (o == this) return true;
+        final ZenPolicy other = (ZenPolicy) o;
+
+        return Objects.equals(other.mPriorityCategories, mPriorityCategories)
+                && Objects.equals(other.mVisualEffects, mVisualEffects)
+                && other.mPriorityCalls == mPriorityCalls
+                && other.mPriorityMessages == mPriorityMessages;
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(mPriorityCategories, mVisualEffects, mPriorityCalls, mPriorityMessages);
+    }
+
+    private @ZenPolicy.State int getZenPolicyPriorityCategoryState(@PriorityCategory int
+            category) {
+        switch (category) {
+            case PRIORITY_CATEGORY_REMINDERS:
+                return getPriorityCategoryReminders();
+            case PRIORITY_CATEGORY_EVENTS:
+                return getPriorityCategoryEvents();
+            case PRIORITY_CATEGORY_MESSAGES:
+                return getPriorityCategoryMessages();
+            case PRIORITY_CATEGORY_CALLS:
+                return getPriorityCategoryCalls();
+            case PRIORITY_CATEGORY_REPEAT_CALLERS:
+                return getPriorityCategoryRepeatCallers();
+            case PRIORITY_CATEGORY_ALARMS:
+                return getPriorityCategoryAlarms();
+            case PRIORITY_CATEGORY_MEDIA:
+                return getPriorityCategoryMedia();
+            case PRIORITY_CATEGORY_SYSTEM:
+                return getPriorityCategorySystem();
+        }
+        return -1;
+    }
+
+    private @ZenPolicy.State int getZenPolicyVisualEffectState(@VisualEffect int effect) {
+        switch (effect) {
+            case VISUAL_EFFECT_FULL_SCREEN_INTENT:
+                return getVisualEffectFullScreenIntent();
+            case VISUAL_EFFECT_LIGHTS:
+                return getVisualEffectLights();
+            case VISUAL_EFFECT_PEEK:
+                return getVisualEffectPeek();
+            case VISUAL_EFFECT_STATUS_BAR:
+                return getVisualEffectStatusBar();
+            case VISUAL_EFFECT_BADGE:
+                return getVisualEffectBadge();
+            case VISUAL_EFFECT_AMBIENT:
+                return getVisualEffectAmbient();
+            case VISUAL_EFFECT_NOTIFICATION_LIST:
+                return getVisualEffectNotificationList();
+        }
+        return -1;
+    }
+
+    /** @hide */
+    public boolean isCategoryAllowed(@PriorityCategory int category, boolean defaultVal) {
+        switch (getZenPolicyPriorityCategoryState(category)) {
+            case ZenPolicy.STATE_ALLOW:
+                return true;
+            case ZenPolicy.STATE_DISALLOW:
+                return false;
+            default:
+                return defaultVal;
+        }
+    }
+
+    /** @hide */
+    public boolean isVisualEffectAllowed(@VisualEffect int effect, boolean defaultVal) {
+        switch (getZenPolicyVisualEffectState(effect)) {
+            case ZenPolicy.STATE_ALLOW:
+                return true;
+            case ZenPolicy.STATE_DISALLOW:
+                return false;
+            default:
+                return defaultVal;
+        }
+    }
+
+    /**
+     * Applies another policy on top of this policy
+     * @hide
+     */
+    public void apply(ZenPolicy policyToApply) {
+        // apply priority categories
+        for (int category = 0; category < mPriorityCategories.size(); category++) {
+            if (mPriorityCategories.get(category) == STATE_DISALLOW) {
+                // if a priority category is already disallowed by the policy, cannot allow
+                continue;
+            }
+
+            @State int newState = policyToApply.mPriorityCategories.get(category);
+            if (newState != STATE_UNSET) {
+                mPriorityCategories.set(category, newState);
+
+                if (category == PRIORITY_CATEGORY_MESSAGES
+                        && mPriorityMessages < policyToApply.mPriorityMessages) {
+                    mPriorityMessages = policyToApply.mPriorityMessages;
+                } else if (category == PRIORITY_CATEGORY_CALLS
+                        && mPriorityCalls < policyToApply.mPriorityCalls) {
+                    mPriorityCalls = policyToApply.mPriorityCalls;
+                }
+            }
+        }
+
+        // apply visual effects
+        for (int visualEffect = 0; visualEffect < mVisualEffects.size(); visualEffect++) {
+            if (mVisualEffects.get(visualEffect) == STATE_DISALLOW) {
+                // if a visual effect is already disallowed by the policy, cannot allow
+                continue;
+            }
+
+            if (policyToApply.mVisualEffects.get(visualEffect) != STATE_UNSET) {
+                mVisualEffects.set(visualEffect, policyToApply.mVisualEffects.get(visualEffect));
+            }
+        }
+    }
+
+    /**
+     * @hide
+     */
+    public void writeToProto(ProtoOutputStream proto, long fieldId) {
+        final long token = proto.start(fieldId);
+
+        proto.write(ZenPolicyProto.REMINDERS, getPriorityCategoryReminders());
+        proto.write(ZenPolicyProto.EVENTS, getPriorityCategoryEvents());
+        proto.write(ZenPolicyProto.MESSAGES, getPriorityCategoryMessages());
+        proto.write(ZenPolicyProto.CALLS, getPriorityCategoryCalls());
+        proto.write(ZenPolicyProto.REPEAT_CALLERS, getPriorityCategoryRepeatCallers());
+        proto.write(ZenPolicyProto.ALARMS, getPriorityCategoryAlarms());
+        proto.write(ZenPolicyProto.MEDIA, getPriorityCategoryMedia());
+        proto.write(ZenPolicyProto.SYSTEM, getPriorityCategorySystem());
+
+        proto.write(ZenPolicyProto.FULL_SCREEN_INTENT, getVisualEffectFullScreenIntent());
+        proto.write(ZenPolicyProto.LIGHTS, getVisualEffectLights());
+        proto.write(ZenPolicyProto.PEEK, getVisualEffectPeek());
+        proto.write(ZenPolicyProto.STATUS_BAR, getVisualEffectStatusBar());
+        proto.write(ZenPolicyProto.BADGE, getVisualEffectBadge());
+        proto.write(ZenPolicyProto.AMBIENT, getVisualEffectAmbient());
+        proto.write(ZenPolicyProto.NOTIFICATION_LIST, getVisualEffectNotificationList());
+
+        proto.write(ZenPolicyProto.PRIORITY_MESSAGES, getPriorityMessageSenders());
+        proto.write(ZenPolicyProto.PRIORITY_CALLS, getPriorityCallSenders());
+        proto.end(token);
+    }
+
+    /**
+     * Makes deep copy of this ZenPolicy.
+     * @hide
+     */
+    public ZenPolicy copy() {
+        final Parcel parcel = Parcel.obtain();
+        try {
+            writeToParcel(parcel, 0);
+            parcel.setDataPosition(0);
+            return CREATOR.createFromParcel(parcel);
+        } finally {
+            parcel.recycle();
+        }
+    }
+}
diff --git a/core/java/android/service/voice/IVoiceInteractionService.aidl b/core/java/android/service/voice/IVoiceInteractionService.aidl
index e3d68a6..24819a6 100644
--- a/core/java/android/service/voice/IVoiceInteractionService.aidl
+++ b/core/java/android/service/voice/IVoiceInteractionService.aidl
@@ -16,6 +16,8 @@
 
 package android.service.voice;
 
+import com.android.internal.app.IVoiceActionCheckCallback;
+
 /**
  * @hide
  */
@@ -24,4 +26,6 @@
     void soundModelsChanged();
     void shutdown();
     void launchVoiceAssistFromKeyguard();
+    void getActiveServiceSupportedActions(in List<String> voiceActions,
+     in IVoiceActionCheckCallback callback);
 }
diff --git a/core/java/android/service/voice/VoiceInteractionService.java b/core/java/android/service/voice/VoiceInteractionService.java
index 0bbc07e..e105fdf 100644
--- a/core/java/android/service/voice/VoiceInteractionService.java
+++ b/core/java/android/service/voice/VoiceInteractionService.java
@@ -16,6 +16,8 @@
 
 package android.service.voice;
 
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.annotation.SdkConstant;
 import android.annotation.UnsupportedAppUsage;
 import android.app.Service;
@@ -26,17 +28,22 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.IBinder;
-import android.os.Message;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.provider.Settings;
+import android.util.ArraySet;
 
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.app.IVoiceActionCheckCallback;
 import com.android.internal.app.IVoiceInteractionManagerService;
+import com.android.internal.util.function.pooled.PooledLambda;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Locale;
+import java.util.Set;
 
 /**
  * Top-level service of the current global voice interactor, which is providing
@@ -71,23 +78,43 @@
     public static final String SERVICE_META_DATA = "android.voice_interaction";
 
     IVoiceInteractionService mInterface = new IVoiceInteractionService.Stub() {
-        @Override public void ready() {
-            mHandler.sendEmptyMessage(MSG_READY);
-        }
-        @Override public void shutdown() {
-            mHandler.sendEmptyMessage(MSG_SHUTDOWN);
-        }
-        @Override public void soundModelsChanged() {
-            mHandler.sendEmptyMessage(MSG_SOUND_MODELS_CHANGED);
-        }
         @Override
-        public void launchVoiceAssistFromKeyguard() throws RemoteException {
-            mHandler.sendEmptyMessage(MSG_LAUNCH_VOICE_ASSIST_FROM_KEYGUARD);
+        public void ready() {
+            Handler.getMain().executeOrSendMessage(PooledLambda.obtainMessage(
+                    VoiceInteractionService::onReady, VoiceInteractionService.this));
+        }
+
+        @Override
+        public void shutdown() {
+            Handler.getMain().executeOrSendMessage(PooledLambda.obtainMessage(
+                    VoiceInteractionService::onShutdownInternal, VoiceInteractionService.this));
+        }
+
+        @Override
+        public void soundModelsChanged() {
+            Handler.getMain().executeOrSendMessage(PooledLambda.obtainMessage(
+                    VoiceInteractionService::onSoundModelsChangedInternal,
+                    VoiceInteractionService.this));
+        }
+
+        @Override
+        public void launchVoiceAssistFromKeyguard() {
+            Handler.getMain().executeOrSendMessage(PooledLambda.obtainMessage(
+                    VoiceInteractionService::onLaunchVoiceAssistFromKeyguard,
+                    VoiceInteractionService.this));
+        }
+
+        @Override
+        public void getActiveServiceSupportedActions(List<String> voiceActions,
+                IVoiceActionCheckCallback callback) {
+            Handler.getMain().executeOrSendMessage(
+                    PooledLambda.obtainMessage(VoiceInteractionService::onHandleVoiceActionCheck,
+                            VoiceInteractionService.this,
+                            voiceActions,
+                            callback));
         }
     };
 
-    MyHandler mHandler;
-
     IVoiceInteractionManagerService mSystemService;
 
     private final Object mLock = new Object();
@@ -96,33 +123,6 @@
 
     private AlwaysOnHotwordDetector mHotwordDetector;
 
-    static final int MSG_READY = 1;
-    static final int MSG_SHUTDOWN = 2;
-    static final int MSG_SOUND_MODELS_CHANGED = 3;
-    static final int MSG_LAUNCH_VOICE_ASSIST_FROM_KEYGUARD = 4;
-
-    class MyHandler extends Handler {
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case MSG_READY:
-                    onReady();
-                    break;
-                case MSG_SHUTDOWN:
-                    onShutdownInternal();
-                    break;
-                case MSG_SOUND_MODELS_CHANGED:
-                    onSoundModelsChangedInternal();
-                    break;
-                case MSG_LAUNCH_VOICE_ASSIST_FROM_KEYGUARD:
-                    onLaunchVoiceAssistFromKeyguard();
-                    break;
-                default:
-                    super.handleMessage(msg);
-            }
-        }
-    }
-
     /**
      * Called when a user has activated an affordance to launch voice assist from the Keyguard.
      *
@@ -186,7 +186,7 @@
      * be any combination of
      * {@link VoiceInteractionSession#SHOW_WITH_ASSIST VoiceInteractionSession.SHOW_WITH_ASSIST} and
      * {@link VoiceInteractionSession#SHOW_WITH_SCREENSHOT
-      * VoiceInteractionSession.SHOW_WITH_SCREENSHOT}
+     * VoiceInteractionSession.SHOW_WITH_SCREENSHOT}
      * to request that the system generate and deliver assist data on the current foreground
      * app as part of showing the session UI.
      */
@@ -200,10 +200,22 @@
         }
     }
 
-    @Override
-    public void onCreate() {
-        super.onCreate();
-        mHandler = new MyHandler();
+    /**
+     * Request to query for what extended voice actions this service supports. This method will
+     * be called when the system checks the supported actions of this
+     * {@link VoiceInteractionService}. Supported actions may be delivered to
+     * {@link VoiceInteractionSession} later to request a session to perform an action.
+     *
+     * <p>Voice actions are defined in support libraries and could vary based on platform context.
+     * For example, car related voice actions will be defined in car support libraries.
+     *
+     * @param voiceActions A set of checked voice actions.
+     * @return Returns a subset of checked voice actions. Additional voice actions in the
+     * returned set will be ignored. Returns null or empty set if no actions are supported.
+     */
+    @Nullable
+    public Set<String> onGetSupportedVoiceActions(@NonNull Set<String> voiceActions) {
+        return null;
     }
 
     @Override
@@ -254,6 +266,18 @@
         }
     }
 
+    private void onHandleVoiceActionCheck(List<String> voiceActions,
+            IVoiceActionCheckCallback callback) {
+        if (callback != null) {
+            try {
+                Set<String> voiceActionsSet = new ArraySet<>(voiceActions);
+                Set<String> resultSet = onGetSupportedVoiceActions(voiceActionsSet);
+                callback.onComplete(resultSet == null ? null : new ArrayList<>(resultSet));
+            } catch (RemoteException e) {
+            }
+        }
+    }
+
     /**
      * Creates an {@link AlwaysOnHotwordDetector} for the given keyphrase and locale.
      * This instance must be retained and used by the client.
@@ -289,12 +313,12 @@
     }
 
     /**
-      * Checks if a given keyphrase and locale are supported to create an
-      * {@link AlwaysOnHotwordDetector}.
-      *
-      * @return true if the keyphrase and locale combination is supported, false otherwise.
-      * @hide
-      */
+     * Checks if a given keyphrase and locale are supported to create an
+     * {@link AlwaysOnHotwordDetector}.
+     *
+     * @return true if the keyphrase and locale combination is supported, false otherwise.
+     * @hide
+     */
     @UnsupportedAppUsage
     public final boolean isKeyphraseAndLocaleSupportedForHotword(String keyphrase, Locale locale) {
         if (mKeyphraseEnrollmentInfo == null) {
diff --git a/core/java/android/service/voice/VoiceInteractionSession.java b/core/java/android/service/voice/VoiceInteractionSession.java
index 26223f7..163e3d5 100644
--- a/core/java/android/service/voice/VoiceInteractionSession.java
+++ b/core/java/android/service/voice/VoiceInteractionSession.java
@@ -115,6 +115,12 @@
      */
     public static final int SHOW_SOURCE_PUSH_TO_TALK = 1 << 5;
 
+    /**
+     * Flag for use with {@link #onShow}: indicates that the voice interaction service was invoked
+     * from a notification.
+     */
+    public static final int SHOW_SOURCE_NOTIFICATION = 1 << 6;
+
     final Context mContext;
     final HandlerCaller mHandlerCaller;
 
diff --git a/core/java/android/text/DynamicLayout.java b/core/java/android/text/DynamicLayout.java
index c46c831..c928da1 100644
--- a/core/java/android/text/DynamicLayout.java
+++ b/core/java/android/text/DynamicLayout.java
@@ -23,6 +23,7 @@
 import android.annotation.UnsupportedAppUsage;
 import android.graphics.Paint;
 import android.graphics.Rect;
+import android.os.Build;
 import android.text.style.ReplacementSpan;
 import android.text.style.UpdateLayout;
 import android.text.style.WrapTogetherSpan;
@@ -354,7 +355,7 @@
      * @deprecated Use {@link Builder} instead.
      */
     @Deprecated
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public DynamicLayout(@NonNull CharSequence base, @NonNull CharSequence display,
                          @NonNull TextPaint paint,
                          @IntRange(from = 0) int width,
diff --git a/core/java/android/text/GraphicsOperations.java b/core/java/android/text/GraphicsOperations.java
index 6edf845..6c15446 100644
--- a/core/java/android/text/GraphicsOperations.java
+++ b/core/java/android/text/GraphicsOperations.java
@@ -58,6 +58,6 @@
     /**
      * Just like {@link Paint#getTextRunCursor}.
      */
-    int getTextRunCursor(int contextStart, int contextEnd, int dir, int offset,
+    int getTextRunCursor(int contextStart, int contextEnd, boolean isRtl, int offset,
             int cursorOpt, Paint p);
 }
diff --git a/core/java/android/text/Layout.java b/core/java/android/text/Layout.java
index 33c977b..c89617f 100644
--- a/core/java/android/text/Layout.java
+++ b/core/java/android/text/Layout.java
@@ -619,7 +619,7 @@
                     previousLineBottom = lbottom;
                     int lbaseline = lbottom - getLineDescent(i);
 
-                    if (start >= spanEnd) {
+                    if (end >= spanEnd) {
                         // These should be infrequent, so we'll use this so that
                         // we don't have to check as often.
                         spanEnd = mLineBackgroundSpans.getNextTransition(start, textLength);
diff --git a/core/java/android/text/NativeLineBreaker.java b/core/java/android/text/NativeLineBreaker.java
index 2bcfa5f..94e10e8 100644
--- a/core/java/android/text/NativeLineBreaker.java
+++ b/core/java/android/text/NativeLineBreaker.java
@@ -21,6 +21,7 @@
 import android.annotation.IntRange;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.Px;
 
 import dalvik.annotation.optimization.CriticalNative;
 import dalvik.annotation.optimization.FastNative;
@@ -258,16 +259,91 @@
     /**
      * A result object of a line breaking
      */
-    public static class LineBreaks {
-        public int breakCount;
-        private static final int INITIAL_SIZE = 16;
-        public int[] breaks = new int[INITIAL_SIZE];
-        public float[] widths = new float[INITIAL_SIZE];
-        public float[] ascents = new float[INITIAL_SIZE];
-        public float[] descents = new float[INITIAL_SIZE];
-        // TODO: Introduce Hyphenator for explaining the meaning of flags.
-        public int[] flags = new int[INITIAL_SIZE];
-        // breaks, widths, and flags should all have the same length
+    public static class Result {
+        // Following two contstant must be synced with minikin's line breaker.
+        private static final int TAB_MASK = 0x20000000;
+        private static final int HYPHEN_MASK = 0xFF;
+
+        private static final NativeAllocationRegistry sRegistry = new NativeAllocationRegistry(
+                Result.class.getClassLoader(), nGetReleaseResultFunc(), 32);
+        private final long mPtr;
+
+        private Result(long ptr) {
+            mPtr = ptr;
+            sRegistry.registerNativeAllocation(this, mPtr);
+        }
+
+        /**
+         * Returns a number of line count.
+         *
+         * @return number of lines
+         */
+        public @IntRange(from = 0) int getLineCount() {
+            return nGetLineCount(mPtr);
+        }
+
+        /**
+         * Returns a break offset of the line.
+         *
+         * @param lineIndex an index of the line.
+         * @return the break offset.
+         */
+        public @IntRange(from = 0) int getLineBreakOffset(@IntRange(from = 0) int lineIndex) {
+            return nGetLineBreakOffset(mPtr, lineIndex);
+        }
+
+        /**
+         * Returns a width of the line in pixels.
+         *
+         * @param lineIndex an index of the line.
+         * @return a width of the line in pixexls
+         */
+        public @Px float getLineWidth(@IntRange(from = 0) int lineIndex) {
+            return nGetLineWidth(mPtr, lineIndex);
+        }
+
+        /**
+         * Returns an entier font ascent of the line in pixels.
+         *
+         * @param lineIndex an index of the line.
+         * @return an entier font ascent of the line in pixels.
+         */
+        public @Px float getLineAscent(@IntRange(from = 0) int lineIndex) {
+            return nGetLineAscent(mPtr, lineIndex);
+        }
+
+        /**
+         * Returns an entier font descent of the line in pixels.
+         *
+         * @param lineIndex an index of the line.
+         * @return an entier font descent of the line in pixels.
+         */
+        public @Px float getLineDescent(@IntRange(from = 0) int lineIndex) {
+            return nGetLineDescent(mPtr, lineIndex);
+        }
+
+        /**
+         * Returns true if the line has a TAB character.
+         *
+         * @param lineIndex an index of the line.
+         * @return true if the line has a TAB character
+         */
+        public boolean hasLineTab(int lineIndex) {
+            return (nGetLineFlag(mPtr, lineIndex) & TAB_MASK) != 0;
+        }
+
+        /**
+         * Returns a packed packed hyphen edit for the line.
+         *
+         * @param lineIndex an index of the line.
+         * @return a packed hyphen edit for the line.
+         * @see android.text.Hyphenator#unpackStartHyphenEdit(int)
+         * @see android.text.Hyphenator#unpackEndHyphenEdit(int)
+         * @see android.text.Hyphenator#packHyphenEdit(int,int)
+         */
+        public int getLineHyphenEdit(int lineIndex) {
+            return (nGetLineFlag(mPtr, lineIndex) & HYPHEN_MASK);
+        }
     }
 
     private static final NativeAllocationRegistry sRegistry = new NativeAllocationRegistry(
@@ -294,14 +370,12 @@
      * @param measuredPara a result of the text measurement
      * @param constraints for a single paragraph
      * @param lineNumber a line number of this paragraph
-     * @param out object to set line break information for the given paragraph
      */
-    public void computeLineBreaks(
+    public Result computeLineBreaks(
             @NonNull NativeMeasuredParagraph measuredPara,
             @NonNull ParagraphConstraints constraints,
-            @IntRange(from = 0) int lineNumber,
-            @NonNull LineBreaks out) {
-        out.breakCount = nComputeLineBreaks(
+            @IntRange(from = 0) int lineNumber) {
+        return new Result(nComputeLineBreaks(
                 mNativePtr,
 
                 // Inputs
@@ -313,17 +387,7 @@
                 constraints.mWidth,
                 constraints.mVariableTabStops,
                 constraints.mDefaultTabStop,
-                lineNumber,
-
-                // Outputs
-                out,
-                out.breaks.length,
-                out.breaks,
-                out.widths,
-                out.ascents,
-                out.descents,
-                out.flags);
-
+                lineNumber));
     }
 
     @FastNative
@@ -341,7 +405,7 @@
     // arrays do not have to be resized
     // The individual character widths will be returned in charWidths. The length of
     // charWidths must be at least the length of the text.
-    private static native int nComputeLineBreaks(
+    private static native long nComputeLineBreaks(
             /* non zero */ long nativePtr,
 
             // Inputs
@@ -353,14 +417,21 @@
             @FloatRange(from = 0.0f) float restWidth,
             @Nullable int[] variableTabStops,
             int defaultTabStop,
-            @IntRange(from = 0) int indentsOffset,
+            @IntRange(from = 0) int indentsOffset);
 
-            // Outputs
-            @NonNull LineBreaks recycle,
-            @IntRange(from  = 0) int recycleLength,
-            @NonNull int[] recycleBreaks,
-            @NonNull float[] recycleWidths,
-            @NonNull float[] recycleAscents,
-            @NonNull float[] recycleDescents,
-            @NonNull int[] recycleFlags);
+    // Result accessors
+    @CriticalNative
+    private static native int nGetLineCount(long ptr);
+    @CriticalNative
+    private static native int nGetLineBreakOffset(long ptr, int idx);
+    @CriticalNative
+    private static native float nGetLineWidth(long ptr, int idx);
+    @CriticalNative
+    private static native float nGetLineAscent(long ptr, int idx);
+    @CriticalNative
+    private static native float nGetLineDescent(long ptr, int idx);
+    @CriticalNative
+    private static native int nGetLineFlag(long ptr, int idx);
+    @CriticalNative
+    private static native long nGetReleaseResultFunc();
 }
diff --git a/core/java/android/text/SpannableStringBuilder.java b/core/java/android/text/SpannableStringBuilder.java
index 9d841e8..0d29da0 100644
--- a/core/java/android/text/SpannableStringBuilder.java
+++ b/core/java/android/text/SpannableStringBuilder.java
@@ -1551,7 +1551,7 @@
      *
      * @param contextStart the start index of the context
      * @param contextEnd the (non-inclusive) end index of the context
-     * @param dir either DIRECTION_RTL or DIRECTION_LTR
+     * @param dir 1 if the run is RTL, otherwise 0
      * @param offset the cursor position to move from
      * @param cursorOpt how to move the cursor, one of CURSOR_AFTER,
      * CURSOR_AT_OR_AFTER, CURSOR_BEFORE,
@@ -1563,21 +1563,28 @@
     @Deprecated
     public int getTextRunCursor(int contextStart, int contextEnd, int dir, int offset,
             int cursorOpt, Paint p) {
+        return getTextRunCursor(contextStart, contextEnd, dir == 1, offset, cursorOpt, p);
+    }
+
+    /** @hide */
+    @Override
+    public int getTextRunCursor(int contextStart, int contextEnd, boolean isRtl, int offset,
+            int cursorOpt, Paint p) {
 
         int ret;
 
         int contextLen = contextEnd - contextStart;
         if (contextEnd <= mGapStart) {
             ret = p.getTextRunCursor(mText, contextStart, contextLen,
-                    dir, offset, cursorOpt);
+                    isRtl, offset, cursorOpt);
         } else if (contextStart >= mGapStart) {
             ret = p.getTextRunCursor(mText, contextStart + mGapLength, contextLen,
-                    dir, offset + mGapLength, cursorOpt) - mGapLength;
+                    isRtl, offset + mGapLength, cursorOpt) - mGapLength;
         } else {
             char[] buf = TextUtils.obtain(contextLen);
             getChars(contextStart, contextEnd, buf, 0);
             ret = p.getTextRunCursor(buf, 0, contextLen,
-                    dir, offset - contextStart, cursorOpt) + contextStart;
+                    isRtl, offset - contextStart, cursorOpt) + contextStart;
             TextUtils.recycle(buf);
         }
 
@@ -1603,13 +1610,14 @@
     public boolean equals(Object o) {
         if (o instanceof Spanned &&
                 toString().equals(o.toString())) {
-            Spanned other = (Spanned) o;
+            final Spanned other = (Spanned) o;
             // Check span data
-            Object[] otherSpans = other.getSpans(0, other.length(), Object.class);
+            final Object[] otherSpans = other.getSpans(0, other.length(), Object.class);
+            final Object[] thisSpans = getSpans(0, length(), Object.class);
             if (mSpanCount == otherSpans.length) {
                 for (int i = 0; i < mSpanCount; ++i) {
-                    Object thisSpan = mSpans[i];
-                    Object otherSpan = otherSpans[i];
+                    final Object thisSpan = thisSpans[i];
+                    final Object otherSpan = otherSpans[i];
                     if (thisSpan == this) {
                         if (other != otherSpan ||
                                 getSpanStart(thisSpan) != other.getSpanStart(otherSpan) ||
diff --git a/core/java/android/text/SpannableStringInternal.java b/core/java/android/text/SpannableStringInternal.java
index 7acd539..a986633 100644
--- a/core/java/android/text/SpannableStringInternal.java
+++ b/core/java/android/text/SpannableStringInternal.java
@@ -16,12 +16,13 @@
 
 package android.text;
 
+import android.annotation.UnsupportedAppUsage;
+
 import com.android.internal.util.ArrayUtils;
 import com.android.internal.util.GrowingArrayUtils;
 
 import libcore.util.EmptyArray;
 
-import android.annotation.UnsupportedAppUsage;
 import java.lang.reflect.Array;
 
 /* package */ abstract class SpannableStringInternal
@@ -502,13 +503,14 @@
     public boolean equals(Object o) {
         if (o instanceof Spanned &&
                 toString().equals(o.toString())) {
-            Spanned other = (Spanned) o;
+            final Spanned other = (Spanned) o;
             // Check span data
-            Object[] otherSpans = other.getSpans(0, other.length(), Object.class);
+            final Object[] otherSpans = other.getSpans(0, other.length(), Object.class);
+            final Object[] thisSpans = getSpans(0, length(), Object.class);
             if (mSpanCount == otherSpans.length) {
                 for (int i = 0; i < mSpanCount; ++i) {
-                    Object thisSpan = mSpans[i];
-                    Object otherSpan = otherSpans[i];
+                    final Object thisSpan = thisSpans[i];
+                    final Object otherSpan = otherSpans[i];
                     if (thisSpan == this) {
                         if (other != otherSpan ||
                                 getSpanStart(thisSpan) != other.getSpanStart(otherSpan) ||
diff --git a/core/java/android/text/StaticLayout.java b/core/java/android/text/StaticLayout.java
index 5adb1ca..d2f0853 100644
--- a/core/java/android/text/StaticLayout.java
+++ b/core/java/android/text/StaticLayout.java
@@ -22,6 +22,7 @@
 import android.annotation.Nullable;
 import android.annotation.UnsupportedAppUsage;
 import android.graphics.Paint;
+import android.os.Build;
 import android.text.style.LeadingMarginSpan;
 import android.text.style.LeadingMarginSpan.LeadingMarginSpan2;
 import android.text.style.LineHeightSpan;
@@ -598,7 +599,14 @@
         float ellipsizedWidth = b.mEllipsizedWidth;
         TextUtils.TruncateAt ellipsize = b.mEllipsize;
         final boolean addLastLineSpacing = b.mAddLastLineLineSpacing;
-        NativeLineBreaker.LineBreaks lineBreaks = new NativeLineBreaker.LineBreaks();
+
+        int lineBreakCapacity = 0;
+        int[] breaks = null;
+        float[] lineWidths = null;
+        float[] ascents = null;
+        float[] descents = null;
+        boolean[] hasTabs = null;
+        int[] hyphenEdits = null;
 
         mLineCount = 0;
         mEllipsized = false;
@@ -731,14 +739,27 @@
             constraints.setIndent(firstWidth, firstWidthLineCount);
             constraints.setTabStops(variableTabStops, TAB_INCREMENT);
 
-            lineBreaker.computeLineBreaks(measuredPara.getNativeMeasuredParagraph(),
-                    constraints, mLineCount, lineBreaks);
-            int breakCount = lineBreaks.breakCount;
-            final int[] breaks = lineBreaks.breaks;
-            final float[] lineWidths = lineBreaks.widths;
-            final float[] ascents = lineBreaks.ascents;
-            final float[] descents = lineBreaks.descents;
-            final int[] flags = lineBreaks.flags;
+            NativeLineBreaker.Result res = lineBreaker.computeLineBreaks(
+                    measuredPara.getNativeMeasuredParagraph(), constraints, mLineCount);
+            int breakCount = res.getLineCount();
+            if (lineBreakCapacity < breakCount) {
+                lineBreakCapacity = breakCount;
+                breaks = new int[lineBreakCapacity];
+                lineWidths = new float[lineBreakCapacity];
+                ascents = new float[lineBreakCapacity];
+                descents = new float[lineBreakCapacity];
+                hasTabs = new boolean[lineBreakCapacity];
+                hyphenEdits = new int[lineBreakCapacity];
+            }
+
+            for (int i = 0; i < breakCount; ++i) {
+                breaks[i] = res.getLineBreakOffset(i);
+                lineWidths[i] = res.getLineWidth(i);
+                ascents[i] = res.getLineAscent(i);
+                descents[i] = res.getLineDescent(i);
+                hasTabs[i] = res.hasLineTab(i);
+                hyphenEdits[i] = res.getLineHyphenEdit(i);
+            }
 
             final int remainingLineCount = mMaximumVisibleLineCount - mLineCount;
             final boolean ellipsisMayBeApplied = ellipsize != null
@@ -749,7 +770,7 @@
                     && ellipsisMayBeApplied) {
                 // Calculate width
                 float width = 0;
-                int flag = 0;  // XXX May need to also have starting hyphen edit
+                boolean hasTab = false;  // XXX May need to also have starting hyphen edit
                 for (int i = remainingLineCount - 1; i < breakCount; i++) {
                     if (i == breakCount - 1) {
                         width += lineWidths[i];
@@ -758,12 +779,12 @@
                             width += measuredPara.getCharWidthAt(j - paraStart);
                         }
                     }
-                    flag |= flags[i] & TAB_MASK;
+                    hasTab |= hasTabs[i];
                 }
                 // Treat the last line and overflowed lines as a single line.
                 breaks[remainingLineCount - 1] = breaks[breakCount - 1];
                 lineWidths[remainingLineCount - 1] = width;
-                flags[remainingLineCount - 1] = flag;
+                hasTabs[remainingLineCount - 1] = hasTab;
 
                 breakCount = remainingLineCount;
             }
@@ -820,8 +841,8 @@
                     v = out(source, here, endPos,
                             ascent, descent, fmTop, fmBottom,
                             v, spacingmult, spacingadd, chooseHt, chooseHtv, fm,
-                            flags[breakIndex], needMultiply, measuredPara, bufEnd,
-                            includepad, trackpad, addLastLineSpacing, chs,
+                            hasTabs[breakIndex], hyphenEdits[breakIndex], needMultiply,
+                            measuredPara, bufEnd, includepad, trackpad, addLastLineSpacing, chs,
                             paraStart, ellipsize, ellipsizedWidth, lineWidths[breakIndex],
                             paint, moreChars);
 
@@ -859,7 +880,7 @@
                     fm.top, fm.bottom,
                     v,
                     spacingmult, spacingadd, null,
-                    null, fm, 0,
+                    null, fm, false, 0,
                     needMultiply, measuredPara, bufEnd,
                     includepad, trackpad, addLastLineSpacing, null,
                     bufStart, ellipsize,
@@ -870,7 +891,8 @@
     private int out(final CharSequence text, final int start, final int end, int above, int below,
             int top, int bottom, int v, final float spacingmult, final float spacingadd,
             final LineHeightSpan[] chooseHt, final int[] chooseHtv, final Paint.FontMetricsInt fm,
-            final int flags, final boolean needMultiply, @NonNull final MeasuredParagraph measured,
+            final boolean hasTab, final int hyphenEdit, final boolean needMultiply,
+            @NonNull final MeasuredParagraph measured,
             final int bufEnd, final boolean includePad, final boolean trackPad,
             final boolean addLastLineLineSpacing, final char[] chs,
             final int widthStart, final TextUtils.TruncateAt ellipsize, final float ellipsisWidth,
@@ -1004,8 +1026,8 @@
 
         // TODO: could move TAB to share same column as HYPHEN, simplifying this code and gaining
         // one bit for start field
-        lines[off + TAB] |= flags & TAB_MASK;
-        lines[off + HYPHEN] = flags;
+        lines[off + TAB] |= hasTab ? TAB_MASK : 0;
+        lines[off + HYPHEN] = hyphenEdit;
         lines[off + DIR] |= dir << DIR_SHIFT;
         mLineDirections[j] = measured.getDirections(start - widthStart, end - widthStart);
 
@@ -1293,7 +1315,7 @@
      *
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public int getHeight(boolean cap) {
         if (cap && mLineCount > mMaximumVisibleLineCount && mMaxLineHeight == -1
                 && Log.isLoggable(TAG, Log.WARN)) {
diff --git a/core/java/android/text/TextLine.java b/core/java/android/text/TextLine.java
index bf2d600..44dfd11 100644
--- a/core/java/android/text/TextLine.java
+++ b/core/java/android/text/TextLine.java
@@ -22,6 +22,7 @@
 import android.graphics.Canvas;
 import android.graphics.Paint;
 import android.graphics.Paint.FontMetricsInt;
+import android.os.Build;
 import android.text.Layout.Directions;
 import android.text.Layout.TabStops;
 import android.text.style.CharacterStyle;
@@ -61,7 +62,7 @@
     private TabStops mTabs;
     private char[] mChars;
     private boolean mCharsValid;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private Spanned mSpanned;
     private PrecomputedText mComputed;
 
@@ -801,14 +802,13 @@
             }
         }
 
-        int dir = runIsRtl ? Paint.DIRECTION_RTL : Paint.DIRECTION_LTR;
         int cursorOpt = after ? Paint.CURSOR_AFTER : Paint.CURSOR_BEFORE;
         if (mCharsValid) {
             return wp.getTextRunCursor(mChars, spanStart, spanLimit - spanStart,
-                    dir, offset, cursorOpt);
+                    runIsRtl, offset, cursorOpt);
         } else {
             return wp.getTextRunCursor(mText, mStart + spanStart,
-                    mStart + spanLimit, dir, mStart + offset, cursorOpt) - mStart;
+                    mStart + spanLimit, runIsRtl, mStart + offset, cursorOpt) - mStart;
         }
     }
 
@@ -1230,7 +1230,7 @@
                     // with the next chunk. So we just save the TextPaint for future comparisons
                     // and use.
                     activePaint.set(wp);
-                } else if (!wp.hasEqualAttributes(activePaint)) {
+                } else if (!equalAttributes(wp, activePaint)) {
                     // The style of the present chunk of text is substantially different from the
                     // style of the previous chunk. We need to handle the active piece of text
                     // and restart with the present chunk.
@@ -1335,4 +1335,42 @@
     }
 
     private static final int TAB_INCREMENT = 20;
+
+    private static boolean equalAttributes(@NonNull TextPaint lp, @NonNull TextPaint rp) {
+        return lp.getColorFilter() == rp.getColorFilter()
+                && lp.getMaskFilter() == rp.getMaskFilter()
+                && lp.getShader() == rp.getShader()
+                && lp.getTypeface() == rp.getTypeface()
+                && lp.getXfermode() == rp.getXfermode()
+                && lp.getTextLocales().equals(rp.getTextLocales())
+                && TextUtils.equals(lp.getFontFeatureSettings(), rp.getFontFeatureSettings())
+                && TextUtils.equals(lp.getFontVariationSettings(), rp.getFontVariationSettings())
+                && lp.getShadowLayerRadius() == rp.getShadowLayerRadius()
+                && lp.getShadowLayerDx() == rp.getShadowLayerDx()
+                && lp.getShadowLayerDy() == rp.getShadowLayerDy()
+                && lp.getShadowLayerColor() == rp.getShadowLayerColor()
+                && lp.getFlags() == rp.getFlags()
+                && lp.getHinting() == rp.getHinting()
+                && lp.getStyle() == rp.getStyle()
+                && lp.getColor() == rp.getColor()
+                && lp.getStrokeWidth() == rp.getStrokeWidth()
+                && lp.getStrokeMiter() == rp.getStrokeMiter()
+                && lp.getStrokeCap() == rp.getStrokeCap()
+                && lp.getStrokeJoin() == rp.getStrokeJoin()
+                && lp.getTextAlign() == rp.getTextAlign()
+                && lp.isElegantTextHeight() == rp.isElegantTextHeight()
+                && lp.getTextSize() == rp.getTextSize()
+                && lp.getTextScaleX() == rp.getTextScaleX()
+                && lp.getTextSkewX() == rp.getTextSkewX()
+                && lp.getLetterSpacing() == rp.getLetterSpacing()
+                && lp.getWordSpacing() == rp.getWordSpacing()
+                && lp.getHyphenEdit() == rp.getHyphenEdit()
+                && lp.bgColor == rp.bgColor
+                && lp.baselineShift == rp.baselineShift
+                && lp.linkColor == rp.linkColor
+                && lp.drawableState == rp.drawableState
+                && lp.density == rp.density
+                && lp.underlineColor == rp.underlineColor
+                && lp.underlineThickness == rp.underlineThickness;
+    }
 }
diff --git a/core/java/android/text/TextPaint.java b/core/java/android/text/TextPaint.java
index 7bcc685..d5aad33 100644
--- a/core/java/android/text/TextPaint.java
+++ b/core/java/android/text/TextPaint.java
@@ -17,7 +17,7 @@
 package android.text;
 
 import android.annotation.ColorInt;
-import android.annotation.NonNull;
+import android.annotation.Px;
 import android.annotation.UnsupportedAppUsage;
 import android.graphics.Paint;
 
@@ -37,17 +37,14 @@
     public float density = 1.0f;
     /**
      * Special value 0 means no custom underline
-     * @hide
      */
     @ColorInt
-    @UnsupportedAppUsage
     public int underlineColor = 0;
+
     /**
      * Thickness of the underline, in pixels.
-     * @hide
      */
-    @UnsupportedAppUsage
-    public float underlineThickness;
+    public @Px float underlineThickness;
 
     public TextPaint() {
         super();
@@ -78,24 +75,6 @@
     }
 
     /**
-     * Returns true if all attributes, including the attributes inherited from Paint, are equal.
-     *
-     * The caller is expected to have checked the trivial cases, like the pointers being equal,
-     * the objects having different classes, or the parameter being null.
-     * @hide
-     */
-    public boolean hasEqualAttributes(@NonNull TextPaint other) {
-        return bgColor == other.bgColor
-                && baselineShift == other.baselineShift
-                && linkColor == other.linkColor
-                && drawableState == other.drawableState
-                && density == other.density
-                && underlineColor == other.underlineColor
-                && underlineThickness == other.underlineThickness
-                && super.hasEqualAttributes((Paint) other);
-    }
-
-    /**
      * Defines a custom underline for this Paint.
      * @param color underline solid color
      * @param thickness underline thickness
diff --git a/core/java/android/text/TextWatcher.java b/core/java/android/text/TextWatcher.java
index bad09f2..a0aef69 100644
--- a/core/java/android/text/TextWatcher.java
+++ b/core/java/android/text/TextWatcher.java
@@ -17,7 +17,7 @@
 package android.text;
 
 /**
- * When an object of a type is attached to an Editable, its methods will
+ * When an object of this type is attached to an Editable, its methods will
  * be called when the text is changed.
  */
 public interface TextWatcher extends NoCopySpan {
diff --git a/core/java/android/text/method/BaseKeyListener.java b/core/java/android/text/method/BaseKeyListener.java
index 5f0a46d..d4bcd12 100644
--- a/core/java/android/text/method/BaseKeyListener.java
+++ b/core/java/android/text/method/BaseKeyListener.java
@@ -310,7 +310,7 @@
             return len;
         }
 
-        offset = paint.getTextRunCursor(text, offset, len, Paint.DIRECTION_LTR /* not used */,
+        offset = paint.getTextRunCursor(text, offset, len, false /* LTR, not used */,
                 offset, Paint.CURSOR_AFTER);
 
         return adjustReplacementSpan(text, offset, false /* move to the end */);
diff --git a/core/java/android/text/style/SuggestionSpan.java b/core/java/android/text/style/SuggestionSpan.java
index 5210447..be47320 100644
--- a/core/java/android/text/style/SuggestionSpan.java
+++ b/core/java/android/text/style/SuggestionSpan.java
@@ -420,7 +420,7 @@
             intent.putExtra(SuggestionSpan.SUGGESTION_SPAN_PICKED_HASHCODE, hashCode());
             context.sendBroadcast(intent);
         } else {
-            InputMethodManager imm = InputMethodManager.peekInstance();
+            InputMethodManager imm = context.getSystemService(InputMethodManager.class);
             if (imm != null) {
                 imm.notifySuggestionPicked(this, original, index);
             }
diff --git a/core/java/android/text/style/TextAppearanceSpan.java b/core/java/android/text/style/TextAppearanceSpan.java
index c17cfd5..2dc4f60 100644
--- a/core/java/android/text/style/TextAppearanceSpan.java
+++ b/core/java/android/text/style/TextAppearanceSpan.java
@@ -16,11 +16,13 @@
 
 package android.text.style;
 
+import android.annotation.Nullable;
 import android.content.Context;
 import android.content.res.ColorStateList;
 import android.content.res.TypedArray;
 import android.graphics.LeakyTypefaceStorage;
 import android.graphics.Typeface;
+import android.graphics.fonts.Font;
 import android.os.Parcel;
 import android.text.ParcelableSpan;
 import android.text.TextPaint;
@@ -38,6 +40,21 @@
     private final ColorStateList mTextColorLink;
     private final Typeface mTypeface;
 
+    private final int mTextFontWeight;
+
+    private final float mShadowRadius;
+    private final float mShadowDx;
+    private final float mShadowDy;
+    private final int mShadowColor;
+
+    private final boolean mHasElegantTextHeight;
+    private final boolean mElegantTextHeight;
+    private final boolean mHasLetterSpacing;
+    private final float mLetterSpacing;
+
+    private final String mFontFeatureSettings;
+    private final String mFontVariationSettings;
+
     /**
      * Uses the specified TextAppearance resource to determine the
      * text appearance.  The <code>appearance</code> should be, for example,
@@ -104,6 +121,34 @@
             }
         }
 
+        mTextFontWeight = a.getInt(com.android.internal.R.styleable
+                .TextAppearance_textFontWeight, -1);
+
+        mShadowRadius = a.getFloat(com.android.internal.R.styleable
+                .TextAppearance_shadowRadius, 0.0f);
+        mShadowDx = a.getFloat(com.android.internal.R.styleable
+                .TextAppearance_shadowDx, 0.0f);
+        mShadowDy = a.getFloat(com.android.internal.R.styleable
+                .TextAppearance_shadowDy, 0.0f);
+        mShadowColor = a.getInt(com.android.internal.R.styleable
+                .TextAppearance_shadowColor, 0);
+
+        mHasElegantTextHeight = a.hasValue(com.android.internal.R.styleable
+                .TextAppearance_elegantTextHeight);
+        mElegantTextHeight = a.getBoolean(com.android.internal.R.styleable
+                .TextAppearance_elegantTextHeight, false);
+
+        mHasLetterSpacing = a.hasValue(com.android.internal.R.styleable
+                .TextAppearance_letterSpacing);
+        mLetterSpacing = a.getFloat(com.android.internal.R.styleable
+                .TextAppearance_letterSpacing, 0.0f);
+
+        mFontFeatureSettings = a.getString(com.android.internal.R.styleable
+                .TextAppearance_fontFeatureSettings);
+
+        mFontVariationSettings = a.getString(com.android.internal.R.styleable
+                .TextAppearance_fontVariationSettings);
+
         a.recycle();
 
         if (colorList >= 0) {
@@ -129,6 +174,21 @@
         mTextColor = color;
         mTextColorLink = linkColor;
         mTypeface = null;
+
+        mTextFontWeight = -1;
+
+        mShadowRadius = 0.0f;
+        mShadowDx = 0.0f;
+        mShadowDy = 0.0f;
+        mShadowColor = 0;
+
+        mHasElegantTextHeight = false;
+        mElegantTextHeight = false;
+        mHasLetterSpacing = false;
+        mLetterSpacing = 0.0f;
+
+        mFontFeatureSettings = null;
+        mFontVariationSettings = null;
     }
 
     public TextAppearanceSpan(Parcel src) {
@@ -146,6 +206,21 @@
             mTextColorLink = null;
         }
         mTypeface = LeakyTypefaceStorage.readTypefaceFromParcel(src);
+
+        mTextFontWeight = src.readInt();
+
+        mShadowRadius = src.readFloat();
+        mShadowDx = src.readFloat();
+        mShadowDy = src.readFloat();
+        mShadowColor = src.readInt();
+
+        mHasElegantTextHeight = src.readBoolean();
+        mElegantTextHeight = src.readBoolean();
+        mHasLetterSpacing = src.readBoolean();
+        mLetterSpacing = src.readFloat();
+
+        mFontFeatureSettings = src.readString();
+        mFontVariationSettings = src.readString();
     }
 
     public int getSpanTypeId() {
@@ -183,6 +258,21 @@
             dest.writeInt(0);
         }
         LeakyTypefaceStorage.writeTypefaceToParcel(mTypeface, dest);
+
+        dest.writeInt(mTextFontWeight);
+
+        dest.writeFloat(mShadowRadius);
+        dest.writeFloat(mShadowDx);
+        dest.writeFloat(mShadowDy);
+        dest.writeInt(mShadowColor);
+
+        dest.writeBoolean(mHasElegantTextHeight);
+        dest.writeBoolean(mElegantTextHeight);
+        dest.writeBoolean(mHasLetterSpacing);
+        dest.writeFloat(mLetterSpacing);
+
+        dest.writeString(mFontFeatureSettings);
+        dest.writeString(mFontVariationSettings);
     }
 
     /**
@@ -225,6 +315,81 @@
         return mStyle;
     }
 
+    /**
+     * Returns the text font weight specified by this span, or <code>-1</code>
+     * if it does not specify one.
+     */
+    public int getTextFontWeight() {
+        return mTextFontWeight;
+    }
+
+    /**
+     * Returns the typeface specified by this span, or <code>null</code>
+     * if it does not specify one.
+     */
+    @Nullable
+    public Typeface getTypeface() {
+        return mTypeface;
+    }
+
+    /**
+     * Returns the color of the text shadow specified by this span, or <code>0</code>
+     * if it does not specify one.
+     */
+    public int getShadowColor() {
+        return mShadowColor;
+    }
+
+    /**
+     * Returns the horizontal offset of the text shadow specified by this span, or <code>0.0f</code>
+     * if it does not specify one.
+     */
+    public float getShadowDx() {
+        return mShadowDx;
+    }
+
+    /**
+     * Returns the vertical offset of the text shadow specified by this span, or <code>0.0f</code>
+     * if it does not specify one.
+     */
+    public float getShadowDy() {
+        return mShadowDy;
+    }
+
+    /**
+     * Returns the blur radius of the text shadow specified by this span, or <code>0.0f</code>
+     * if it does not specify one.
+     */
+    public float getShadowRadius() {
+        return mShadowRadius;
+    }
+
+    /**
+     * Returns the font feature settings specified by this span, or <code>null</code>
+     * if it does not specify one.
+     */
+    @Nullable
+    public String getFontFeatureSettings() {
+        return mFontFeatureSettings;
+    }
+
+    /**
+     * Returns the font variation settings specified by this span, or <code>null</code>
+     * if it does not specify one.
+     */
+    @Nullable
+    public String getFontVariationSettings() {
+        return mFontVariationSettings;
+    }
+
+    /**
+     * Returns the value of elegant height metrics flag specified by this span,
+     * or <code>false</code> if it does not specify one.
+     */
+    public boolean isElegantTextHeight() {
+        return mElegantTextHeight;
+    }
+
     @Override
     public void updateDrawState(TextPaint ds) {
         updateMeasureState(ds);
@@ -236,6 +401,10 @@
         if (mTextColorLink != null) {
             ds.linkColor = mTextColorLink.getColorForState(ds.drawableState, 0);
         }
+
+        if (mShadowColor != 0) {
+            ds.setShadowLayer(mShadowRadius, mShadowDx, mShadowDy, mShadowColor);
+        }
     }
 
     @Override
@@ -267,7 +436,16 @@
         }
 
         if (styledTypeface != null) {
-            int fake = style & ~styledTypeface.getStyle();
+            final Typeface readyTypeface;
+            if (mTextFontWeight >= 0) {
+                final int weight = Math.min(Font.FONT_WEIGHT_MAX, mTextFontWeight);
+                final boolean italic = (style & Typeface.ITALIC) != 0;
+                readyTypeface = ds.setTypeface(Typeface.create(styledTypeface, weight, italic));
+            } else {
+                readyTypeface = styledTypeface;
+            }
+
+            int fake = style & ~readyTypeface.getStyle();
 
             if ((fake & Typeface.BOLD) != 0) {
                 ds.setFakeBoldText(true);
@@ -277,11 +455,27 @@
                 ds.setTextSkewX(-0.25f);
             }
 
-            ds.setTypeface(styledTypeface);
+            ds.setTypeface(readyTypeface);
         }
 
         if (mTextSize > 0) {
             ds.setTextSize(mTextSize);
         }
+
+        if (mHasElegantTextHeight) {
+            ds.setElegantTextHeight(mElegantTextHeight);
+        }
+
+        if (mHasLetterSpacing) {
+            ds.setLetterSpacing(mLetterSpacing);
+        }
+
+        if (mFontFeatureSettings != null) {
+            ds.setFontFeatureSettings(mFontFeatureSettings);
+        }
+
+        if (mFontVariationSettings != null) {
+            ds.setFontVariationSettings(mFontVariationSettings);
+        }
     }
 }
diff --git a/core/java/android/transition/ChangeImageTransform.java b/core/java/android/transition/ChangeImageTransform.java
index d7a9120..9fa9961 100644
--- a/core/java/android/transition/ChangeImageTransform.java
+++ b/core/java/android/transition/ChangeImageTransform.java
@@ -97,22 +97,13 @@
         values.put(PROPNAME_BOUNDS, bounds);
         Matrix matrix;
         ImageView.ScaleType scaleType = imageView.getScaleType();
-        if (scaleType == ImageView.ScaleType.FIT_XY) {
-            matrix = imageView.getImageMatrix();
-            if (!matrix.isIdentity()) {
-                matrix = new Matrix(matrix);
-            } else {
-                int drawableWidth = drawable.getIntrinsicWidth();
-                int drawableHeight = drawable.getIntrinsicHeight();
-                if (drawableWidth > 0 && drawableHeight > 0) {
-                    float scaleX = ((float) bounds.width()) / drawableWidth;
-                    float scaleY = ((float) bounds.height()) / drawableHeight;
-                    matrix = new Matrix();
-                    matrix.setScale(scaleX, scaleY);
-                } else {
-                    matrix = null;
-                }
-            }
+        int drawableWidth = drawable.getIntrinsicWidth();
+        int drawableHeight = drawable.getIntrinsicHeight();
+        if (scaleType == ImageView.ScaleType.FIT_XY && drawableWidth > 0 && drawableHeight > 0) {
+            float scaleX = ((float) bounds.width()) / drawableWidth;
+            float scaleY = ((float) bounds.height()) / drawableHeight;
+            matrix = new Matrix();
+            matrix.setScale(scaleX, scaleY);
         } else {
             matrix = new Matrix(imageView.getImageMatrix());
         }
@@ -152,17 +143,13 @@
         }
         Rect startBounds = (Rect) startValues.values.get(PROPNAME_BOUNDS);
         Rect endBounds = (Rect) endValues.values.get(PROPNAME_BOUNDS);
-        if (startBounds == null || endBounds == null) {
+        Matrix startMatrix = (Matrix) startValues.values.get(PROPNAME_MATRIX);
+        Matrix endMatrix = (Matrix) endValues.values.get(PROPNAME_MATRIX);
+        if (startBounds == null || endBounds == null || startMatrix == null || endMatrix == null) {
             return null;
         }
 
-        Matrix startMatrix = (Matrix) startValues.values.get(PROPNAME_MATRIX);
-        Matrix endMatrix = (Matrix) endValues.values.get(PROPNAME_MATRIX);
-
-        boolean matricesEqual = (startMatrix == null && endMatrix == null) ||
-                (startMatrix != null && startMatrix.equals(endMatrix));
-
-        if (startBounds.equals(endBounds) && matricesEqual) {
+        if (startBounds.equals(endBounds) && startMatrix.equals(endMatrix)) {
             return null;
         }
 
@@ -172,15 +159,9 @@
         int drawableHeight = drawable.getIntrinsicHeight();
 
         ObjectAnimator animator;
-        if (drawableWidth == 0 || drawableHeight == 0) {
+        if (drawableWidth <= 0 || drawableHeight <= 0) {
             animator = createNullAnimator(imageView);
         } else {
-            if (startMatrix == null) {
-                startMatrix = Matrix.IDENTITY_MATRIX;
-            }
-            if (endMatrix == null) {
-                endMatrix = Matrix.IDENTITY_MATRIX;
-            }
             ANIMATED_TRANSFORM_PROPERTY.set(imageView, startMatrix);
             animator = createMatrixAnimator(imageView, startMatrix, endMatrix);
         }
@@ -189,7 +170,7 @@
 
     private ObjectAnimator createNullAnimator(ImageView imageView) {
         return ObjectAnimator.ofObject(imageView, ANIMATED_TRANSFORM_PROPERTY,
-                NULL_MATRIX_EVALUATOR, null, null);
+                NULL_MATRIX_EVALUATOR, Matrix.IDENTITY_MATRIX, Matrix.IDENTITY_MATRIX);
     }
 
     private ObjectAnimator createMatrixAnimator(final ImageView imageView, Matrix startMatrix,
diff --git a/core/java/android/transition/TransitionManager.java b/core/java/android/transition/TransitionManager.java
index f8e8762..4608e20 100644
--- a/core/java/android/transition/TransitionManager.java
+++ b/core/java/android/transition/TransitionManager.java
@@ -188,7 +188,13 @@
 
         final ViewGroup sceneRoot = scene.getSceneRoot();
         if (!sPendingTransitions.contains(sceneRoot)) {
+            Scene oldScene = Scene.getCurrentScene(sceneRoot);
             if (transition == null) {
+                // Notify old scene that it is being exited
+                if (oldScene != null) {
+                    oldScene.exit();
+                }
+
                 scene.enter();
             } else {
                 sPendingTransitions.add(sceneRoot);
@@ -196,7 +202,6 @@
                 Transition transitionClone = transition.clone();
                 transitionClone.setSceneRoot(sceneRoot);
 
-                Scene oldScene = Scene.getCurrentScene(sceneRoot);
                 if (oldScene != null && oldScene.isCreatedFromLayoutResource()) {
                     transitionClone.setCanRemoveViews(true);
                 }
diff --git a/core/java/android/util/ArrayMap.java b/core/java/android/util/ArrayMap.java
index 5108a79..294a179 100644
--- a/core/java/android/util/ArrayMap.java
+++ b/core/java/android/util/ArrayMap.java
@@ -71,19 +71,19 @@
     /**
      * Maximum number of entries to have in array caches.
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Allocations are an implementation detail.
     private static final int CACHE_SIZE = 10;
 
     /**
      * Special hash array value that indicates the container is immutable.
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Allocations are an implementation detail.
     static final int[] EMPTY_IMMUTABLE_INTS = new int[0];
 
     /**
      * @hide Special immutable empty ArrayMap.
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Use your own singleton empty map.
     public static final ArrayMap EMPTY = new ArrayMap<>(-1);
 
     /**
@@ -92,21 +92,21 @@
      * The first entry in the array is a pointer to the next array in the
      * list; the second entry is a pointer to the int[] hash code array for it.
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Allocations are an implementation detail.
     static Object[] mBaseCache;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Allocations are an implementation detail.
     static int mBaseCacheSize;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Allocations are an implementation detail.
     static Object[] mTwiceBaseCache;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Allocations are an implementation detail.
     static int mTwiceBaseCacheSize;
 
     final boolean mIdentityHashCode;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Hashes are an implementation detail. Use public key/value API.
     int[] mHashes;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Storage is an implementation detail. Use public key/value API.
     Object[] mArray;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Use size()
     int mSize;
     MapCollections<K, V> mCollections;
 
@@ -122,7 +122,7 @@
         }
     }
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Hashes are an implementation detail. Use indexOfKey(Object).
     int indexOf(Object key, int hash) {
         final int N = mSize;
 
@@ -161,7 +161,7 @@
         return ~end;
     }
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Use indexOf(null)
     int indexOfNull() {
         final int N = mSize;
 
@@ -200,7 +200,7 @@
         return ~end;
     }
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Allocations are an implementation detail.
     private void allocArrays(final int size) {
         if (mHashes == EMPTY_IMMUTABLE_INTS) {
             throw new UnsupportedOperationException("ArrayMap is immutable");
@@ -239,7 +239,7 @@
         mArray = new Object[size<<1];
     }
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Allocations are an implementation detail.
     private static void freeArrays(final int[] hashes, final Object[] array, final int size) {
         if (hashes.length == (BASE_SIZE*2)) {
             synchronized (ArrayMap.class) {
@@ -393,8 +393,15 @@
                 : indexOf(key, mIdentityHashCode ? System.identityHashCode(key) : key.hashCode());
     }
 
-    @UnsupportedAppUsage
-    int indexOfValue(Object value) {
+    /**
+     * Returns an index for which {@link #valueAt} would return the
+     * specified value, or a negative number if no keys map to the
+     * specified value.
+     * Beware that this is a linear search, unlike lookups by key,
+     * and that multiple keys can map to the same value and this will
+     * find only one of them.
+     */
+    public int indexOfValue(Object value) {
         final int N = mSize*2;
         final Object[] array = mArray;
         if (value == null) {
@@ -551,7 +558,7 @@
      * The array must already be large enough to contain the item.
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Storage is an implementation detail. Use put(K, V).
     public void append(K key, V value) {
         int index = mSize;
         final int hash = key == null ? 0
diff --git a/core/java/android/util/ArraySet.java b/core/java/android/util/ArraySet.java
index 526a950..d74a0fe 100644
--- a/core/java/android/util/ArraySet.java
+++ b/core/java/android/util/ArraySet.java
@@ -71,15 +71,15 @@
     static int sTwiceBaseCacheSize;
 
     final boolean mIdentityHashCode;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Hashes are an implementation detail. Use public API.
     int[] mHashes;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Storage is an implementation detail. Use public API.
     Object[] mArray;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Use size()
     int mSize;
     MapCollections<E, E> mCollections;
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Hashes are an implementation detail. Use indexOfKey(Object).
     private int indexOf(Object key, int hash) {
         final int N = mSize;
 
@@ -118,7 +118,7 @@
         return ~end;
     }
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Use indexOf(null)
     private int indexOfNull() {
         final int N = mSize;
 
@@ -157,7 +157,7 @@
         return ~end;
     }
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Allocations are an implementation detail.
     private void allocArrays(final int size) {
         if (size == (BASE_SIZE * 2)) {
             synchronized (ArraySet.class) {
@@ -215,7 +215,7 @@
         mArray = new Object[size];
     }
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Allocations are an implementation detail.
     private static void freeArrays(final int[] hashes, final Object[] array, final int size) {
         if (hashes.length == (BASE_SIZE * 2)) {
             synchronized (ArraySet.class) {
@@ -289,9 +289,10 @@
         }
     }
 
-    /** {@hide} */
-    @UnsupportedAppUsage
-    public ArraySet(Collection<E> set) {
+    /**
+     * Create a new ArraySet with items from the given collection.
+     */
+    public ArraySet(Collection<? extends E> set) {
         this();
         if (set != null) {
             addAll(set);
diff --git a/core/java/android/util/FeatureFlagUtils.java b/core/java/android/util/FeatureFlagUtils.java
index b5ade2a..183e833 100644
--- a/core/java/android/util/FeatureFlagUtils.java
+++ b/core/java/android/util/FeatureFlagUtils.java
@@ -35,18 +35,20 @@
     public static final String FFLAG_OVERRIDE_PREFIX = FFLAG_PREFIX + "override.";
     public static final String PERSIST_PREFIX = "persist." + FFLAG_OVERRIDE_PREFIX;
     public static final String HEARING_AID_SETTINGS = "settings_bluetooth_hearing_aid";
+    public static final String EMERGENCY_DIAL_SHORTCUTS = "settings_emergency_dial_shortcuts";
 
     private static final Map<String, String> DEFAULT_FLAGS;
     static {
         DEFAULT_FLAGS = new HashMap<>();
-        DEFAULT_FLAGS.put("settings_battery_display_app_list", "false");
         DEFAULT_FLAGS.put("settings_bluetooth_while_driving", "false");
         DEFAULT_FLAGS.put("settings_audio_switcher", "true");
         DEFAULT_FLAGS.put("settings_systemui_theme", "true");
         DEFAULT_FLAGS.put("settings_dynamic_homepage", "false");
         DEFAULT_FLAGS.put("settings_mobile_network_v2", "false");
         DEFAULT_FLAGS.put("settings_data_usage_v2", "false");
+        DEFAULT_FLAGS.put("settings_seamless_transfer", "false");
         DEFAULT_FLAGS.put(HEARING_AID_SETTINGS, "true");
+        DEFAULT_FLAGS.put(EMERGENCY_DIAL_SHORTCUTS, "false");
     }
 
     /**
diff --git a/core/java/android/util/LongSparseLongArray.java b/core/java/android/util/LongSparseLongArray.java
index d5af922..af163ac 100644
--- a/core/java/android/util/LongSparseLongArray.java
+++ b/core/java/android/util/LongSparseLongArray.java
@@ -46,11 +46,11 @@
  * @hide
  */
 public class LongSparseLongArray implements Cloneable {
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // The type isn't even public.
     private long[] mKeys;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // The type isn't even public.
     private long[] mValues;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // The type isn't even public.
     private int mSize;
 
     /**
diff --git a/core/java/android/util/SparseArray.java b/core/java/android/util/SparseArray.java
index aa5ca35..89ea2d3 100644
--- a/core/java/android/util/SparseArray.java
+++ b/core/java/android/util/SparseArray.java
@@ -56,11 +56,11 @@
     private static final Object DELETED = new Object();
     private boolean mGarbage = false;
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Use keyAt(int)
     private int[] mKeys;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Use valueAt(int), setValueAt(int, E)
     private Object[] mValues;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Use size()
     private int mSize;
 
     /**
diff --git a/core/java/android/util/SparseBooleanArray.java b/core/java/android/util/SparseBooleanArray.java
index 9c6b969..d4c4095 100644
--- a/core/java/android/util/SparseBooleanArray.java
+++ b/core/java/android/util/SparseBooleanArray.java
@@ -185,7 +185,9 @@
         return mValues[index];
     }
 
-    /** @hide */
+    /**
+     * Directly set the value at a particular index.
+     */
     public void setValueAt(int index, boolean value) {
         mValues[index] = value;
     }
@@ -304,10 +306,10 @@
         return buffer.toString();
     }
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Use keyAt(int)
     private int[] mKeys;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Use valueAt(int), setValueAt(int, boolean)
     private boolean[] mValues;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Use size()
     private int mSize;
 }
diff --git a/core/java/android/util/SparseIntArray.java b/core/java/android/util/SparseIntArray.java
index 1954753..9e6bad1 100644
--- a/core/java/android/util/SparseIntArray.java
+++ b/core/java/android/util/SparseIntArray.java
@@ -46,11 +46,11 @@
  * order in the case of <code>valueAt(int)</code>.</p>
  */
 public class SparseIntArray implements Cloneable {
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Use keyAt(int)
     private int[] mKeys;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Use valueAt(int), setValueAt(int, int)
     private int[] mValues;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = 28) // Use size()
     private int mSize;
 
     /**
@@ -191,7 +191,6 @@
 
     /**
      * Directly set the value at a particular index.
-     * @hide
      */
     public void setValueAt(int index, int value) {
         mValues[index] = value;
diff --git a/core/java/android/util/apk/ApkSignatureSchemeV2Verifier.java b/core/java/android/util/apk/ApkSignatureSchemeV2Verifier.java
index 533d725..1bbef8e9 100644
--- a/core/java/android/util/apk/ApkSignatureSchemeV2Verifier.java
+++ b/core/java/android/util/apk/ApkSignatureSchemeV2Verifier.java
@@ -410,11 +410,11 @@
                    NoSuchAlgorithmException {
         try (RandomAccessFile apk = new RandomAccessFile(apkPath, "r")) {
             SignatureInfo signatureInfo = findSignature(apk);
-            return ApkSigningBlockUtils.generateApkVerity(apkPath, bufferFactory, signatureInfo);
+            return VerityBuilder.generateApkVerity(apkPath, bufferFactory, signatureInfo);
         }
     }
 
-    static byte[] generateFsverityRootHash(String apkPath)
+    static byte[] generateApkVerityRootHash(String apkPath)
             throws IOException, SignatureNotFoundException, DigestException,
                    NoSuchAlgorithmException {
         try (RandomAccessFile apk = new RandomAccessFile(apkPath, "r")) {
@@ -423,7 +423,7 @@
             if (vSigner.verityRootHash == null) {
                 return null;
             }
-            return ApkVerityBuilder.generateFsverityRootHash(
+            return VerityBuilder.generateApkVerityRootHash(
                     apk, ByteBuffer.wrap(vSigner.verityRootHash), signatureInfo);
         }
     }
diff --git a/core/java/android/util/apk/ApkSignatureSchemeV3Verifier.java b/core/java/android/util/apk/ApkSignatureSchemeV3Verifier.java
index 758cd2b..1471870 100644
--- a/core/java/android/util/apk/ApkSignatureSchemeV3Verifier.java
+++ b/core/java/android/util/apk/ApkSignatureSchemeV3Verifier.java
@@ -534,11 +534,11 @@
                    NoSuchAlgorithmException {
         try (RandomAccessFile apk = new RandomAccessFile(apkPath, "r")) {
             SignatureInfo signatureInfo = findSignature(apk);
-            return ApkSigningBlockUtils.generateApkVerity(apkPath, bufferFactory, signatureInfo);
+            return VerityBuilder.generateApkVerity(apkPath, bufferFactory, signatureInfo);
         }
     }
 
-    static byte[] generateFsverityRootHash(String apkPath)
+    static byte[] generateApkVerityRootHash(String apkPath)
             throws NoSuchAlgorithmException, DigestException, IOException,
                    SignatureNotFoundException {
         try (RandomAccessFile apk = new RandomAccessFile(apkPath, "r")) {
@@ -547,7 +547,7 @@
             if (vSigner.verityRootHash == null) {
                 return null;
             }
-            return ApkVerityBuilder.generateFsverityRootHash(
+            return VerityBuilder.generateApkVerityRootHash(
                     apk, ByteBuffer.wrap(vSigner.verityRootHash), signatureInfo);
         }
     }
diff --git a/core/java/android/util/apk/ApkSignatureVerifier.java b/core/java/android/util/apk/ApkSignatureVerifier.java
index de9f55b..a299b11 100644
--- a/core/java/android/util/apk/ApkSignatureVerifier.java
+++ b/core/java/android/util/apk/ApkSignatureVerifier.java
@@ -432,16 +432,16 @@
      *
      * @return FSverity root hash
      */
-    public static byte[] generateFsverityRootHash(String apkPath)
+    public static byte[] generateApkVerityRootHash(String apkPath)
             throws NoSuchAlgorithmException, DigestException, IOException {
         // first try v3
         try {
-            return ApkSignatureSchemeV3Verifier.generateFsverityRootHash(apkPath);
+            return ApkSignatureSchemeV3Verifier.generateApkVerityRootHash(apkPath);
         } catch (SignatureNotFoundException e) {
             // try older version
         }
         try {
-            return ApkSignatureSchemeV2Verifier.generateFsverityRootHash(apkPath);
+            return ApkSignatureSchemeV2Verifier.generateApkVerityRootHash(apkPath);
         } catch (SignatureNotFoundException e) {
             return null;
         }
diff --git a/core/java/android/util/apk/ApkSigningBlockUtils.java b/core/java/android/util/apk/ApkSigningBlockUtils.java
index e247c87..87af5364 100644
--- a/core/java/android/util/apk/ApkSigningBlockUtils.java
+++ b/core/java/android/util/apk/ApkSigningBlockUtils.java
@@ -332,7 +332,7 @@
         try {
             byte[] expectedRootHash = parseVerityDigestAndVerifySourceLength(expectedDigest,
                     apk.length(), signatureInfo);
-            ApkVerityBuilder.ApkVerityResult verity = ApkVerityBuilder.generateApkVerity(apk,
+            VerityBuilder.VerityResult verity = VerityBuilder.generateApkVerityTree(apk,
                     signatureInfo, new ByteBufferFactory() {
                         @Override
                         public ByteBuffer create(int capacity) {
@@ -348,26 +348,6 @@
     }
 
     /**
-     * Generates the fsverity header and hash tree to be used by kernel for the given apk. This
-     * method does not check whether the root hash exists in the Signing Block or not.
-     *
-     * <p>The output is stored in the {@link ByteBuffer} created by the given {@link
-     * ByteBufferFactory}.
-     *
-     * @return the root hash of the generated hash tree.
-     */
-    public static byte[] generateApkVerity(String apkPath, ByteBufferFactory bufferFactory,
-            SignatureInfo signatureInfo)
-            throws IOException, SignatureNotFoundException, SecurityException, DigestException,
-                   NoSuchAlgorithmException {
-        try (RandomAccessFile apk = new RandomAccessFile(apkPath, "r")) {
-            ApkVerityBuilder.ApkVerityResult result = ApkVerityBuilder.generateApkVerity(apk,
-                    signatureInfo, bufferFactory);
-            return result.rootHash;
-        }
-    }
-
-    /**
      * Returns the ZIP End of Central Directory (EoCD) and its offset in the file.
      *
      * @throws IOException if an I/O error occurs while reading the file.
diff --git a/core/java/android/util/apk/ApkVerityBuilder.java b/core/java/android/util/apk/VerityBuilder.java
similarity index 65%
rename from core/java/android/util/apk/ApkVerityBuilder.java
rename to core/java/android/util/apk/VerityBuilder.java
index 2dd0117..443bbd8 100644
--- a/core/java/android/util/apk/ApkVerityBuilder.java
+++ b/core/java/android/util/apk/VerityBuilder.java
@@ -16,6 +16,9 @@
 
 package android.util.apk;
 
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+
 import java.io.IOException;
 import java.io.RandomAccessFile;
 import java.nio.ByteBuffer;
@@ -26,17 +29,18 @@
 import java.util.ArrayList;
 
 /**
- * ApkVerityBuilder builds the APK verity tree and the verity header, which will be used by the
- * kernel to verity the APK content on access.
+ * VerityBuilder builds the verity Merkle tree and other metadata.  The generated tree format can
+ * be stored on disk for fs-verity setup and used by kernel.  The builder support standard
+ * fs-verity, and Android specific apk-verity that requires additional kernel patches.
  *
- * <p>Unlike a regular Merkle tree, APK verity tree does not cover the content fully. Due to
- * the existing APK format, it has to skip APK Signing Block and also has some special treatment for
- * the "Central Directory offset" field of ZIP End of Central Directory.
+ * <p>Unlike a regular Merkle tree of fs-verity, the apk-verity tree does not cover the file content
+ * fully, and has to skip APK Signing Block with some special treatment for the "Central Directory
+ * offset" field of ZIP End of Central Directory.
  *
  * @hide
  */
-abstract class ApkVerityBuilder {
-    private ApkVerityBuilder() {}
+public abstract class VerityBuilder {
+    private VerityBuilder() {}
 
     private static final int CHUNK_SIZE_BYTES = 4096;  // Typical Linux block size
     private static final int DIGEST_SIZE_BYTES = 32;  // SHA-256 size
@@ -46,116 +50,138 @@
     private static final String JCA_DIGEST_ALGORITHM = "SHA-256";
     private static final byte[] DEFAULT_SALT = new byte[8];
 
-    static class ApkVerityResult {
-        public final ByteBuffer fsverityData;
+    /** Result generated by the builder. */
+    public static class VerityResult {
+        /** Raw fs-verity metadata and Merkle tree ready to be deployed on disk. */
+        public final ByteBuffer verityData;
+
+        /** Size of the Merkle tree in {@code verityData}. */
+        public final int merkleTreeSize;
+
+        /** Root hash of the Merkle tree. */
         public final byte[] rootHash;
 
-        ApkVerityResult(ByteBuffer fsverityData, byte[] rootHash) {
-            this.fsverityData = fsverityData;
+        private VerityResult(ByteBuffer verityData, int merkleTreeSize, byte[] rootHash) {
+            this.verityData = verityData;
+            this.merkleTreeSize = merkleTreeSize;
             this.rootHash = rootHash;
         }
     }
 
     /**
-     * Generates fsverity metadata and the Merkle tree into the {@link ByteBuffer} created by the
-     * {@link ByteBufferFactory}. The bytes layout in the buffer will be used by the kernel and is
-     * ready to be appended to the target file to set up fsverity. For fsverity to work, this data
-     * must be placed at the next page boundary, and the caller must add additional padding in that
-     * case.
+     * Generates the 4k, SHA-256 based Merkle tree for the given APK and stores in the {@link
+     * ByteBuffer} created by the {@link ByteBufferFactory}.  The output is suitable to be used as
+     * the on-disk format for fs-verity to use.
      *
-     * @return ApkVerityResult containing the fsverity data and the root hash of the Merkle tree.
+     * @return VerityResult containing a buffer with the generated Merkle tree stored at the
+     *         front, the tree size, and the calculated root hash.
      */
-    static ApkVerityResult generateApkVerity(RandomAccessFile apk,
-            SignatureInfo signatureInfo, ByteBufferFactory bufferFactory)
+    @NonNull
+    public static VerityResult generateFsVerityTree(@NonNull RandomAccessFile apk,
+            @NonNull ByteBufferFactory bufferFactory)
             throws IOException, SecurityException, NoSuchAlgorithmException, DigestException {
-        long signingBlockSize =
-                signatureInfo.centralDirOffset - signatureInfo.apkSigningBlockOffset;
-        long dataSize = apk.length() - signingBlockSize;
+        return generateVerityTreeInternal(apk, bufferFactory, null /* signatureInfo */,
+                false /* skipSigningBlock */);
+    }
+
+    /**
+     * Generates the 4k, SHA-256 based Merkle tree for the given APK and stores in the {@link
+     * ByteBuffer} created by the {@link ByteBufferFactory}.  The Merkle tree does not cover Signing
+     * Block specificed in {@code signatureInfo}.  The output is suitable to be used as the on-disk
+     * format for fs-verity to use (with elide and patch extensions).
+     *
+     * @return VerityResult containing a buffer with the generated Merkle tree stored at the
+     *         front, the tree size, and the calculated root hash.
+     */
+    @NonNull
+    public static VerityResult generateApkVerityTree(@NonNull RandomAccessFile apk,
+            @Nullable SignatureInfo signatureInfo, @NonNull ByteBufferFactory bufferFactory)
+            throws IOException, SecurityException, NoSuchAlgorithmException, DigestException {
+        return generateVerityTreeInternal(apk, bufferFactory, signatureInfo,
+                true /* skipSigningBlock */);
+    }
+
+    @NonNull
+    private static VerityResult generateVerityTreeInternal(@NonNull RandomAccessFile apk,
+            @NonNull ByteBufferFactory bufferFactory, @Nullable SignatureInfo signatureInfo,
+            boolean skipSigningBlock)
+            throws IOException, SecurityException, NoSuchAlgorithmException, DigestException {
+        long dataSize = apk.length();
+        if (skipSigningBlock) {
+            long signingBlockSize =
+                    signatureInfo.centralDirOffset - signatureInfo.apkSigningBlockOffset;
+            dataSize -= signingBlockSize;
+        }
         int[] levelOffset = calculateVerityLevelOffset(dataSize);
         int merkleTreeSize = levelOffset[levelOffset.length - 1];
 
         ByteBuffer output = bufferFactory.create(
                 merkleTreeSize
-                + CHUNK_SIZE_BYTES);  // maximum size of fsverity metadata
+                + CHUNK_SIZE_BYTES);  // maximum size of apk-verity metadata
         output.order(ByteOrder.LITTLE_ENDIAN);
-
         ByteBuffer tree = slice(output, 0, merkleTreeSize);
-        ByteBuffer header = slice(output, merkleTreeSize,
-                merkleTreeSize + FSVERITY_HEADER_SIZE_BYTES);
-        ByteBuffer extensions = slice(output, merkleTreeSize + FSVERITY_HEADER_SIZE_BYTES,
-                merkleTreeSize + CHUNK_SIZE_BYTES);
-        byte[] apkDigestBytes = new byte[DIGEST_SIZE_BYTES];
-        ByteBuffer apkDigest = ByteBuffer.wrap(apkDigestBytes);
-        apkDigest.order(ByteOrder.LITTLE_ENDIAN);
+        // Only use default salt in legacy case.
+        byte[] salt = skipSigningBlock ? DEFAULT_SALT : null;
+        byte[] apkRootHash = generateVerityTreeInternal(apk, signatureInfo, salt, levelOffset,
+                tree, skipSigningBlock);
+        return new VerityResult(output, merkleTreeSize, apkRootHash);
+    }
 
-        // NB: Buffer limit is set inside once finished.
-        calculateFsveritySignatureInternal(apk, signatureInfo, tree, apkDigest, header, extensions);
-
-        // Put the reverse offset to fs-verity header at the end.
-        output.position(merkleTreeSize + FSVERITY_HEADER_SIZE_BYTES + extensions.limit());
-        output.putInt(FSVERITY_HEADER_SIZE_BYTES + extensions.limit()
-                + 4);  // size of this integer right before EOF
-        output.flip();
-
-        return new ApkVerityResult(output, apkDigestBytes);
+    static void generateApkVerityFooter(@NonNull RandomAccessFile apk,
+            @NonNull SignatureInfo signatureInfo, @NonNull ByteBuffer footerOutput)
+            throws IOException {
+        footerOutput.order(ByteOrder.LITTLE_ENDIAN);
+        generateApkVerityHeader(footerOutput, apk.length(), DEFAULT_SALT);
+        long signingBlockSize =
+                signatureInfo.centralDirOffset - signatureInfo.apkSigningBlockOffset;
+        generateApkVerityExtensions(footerOutput, signatureInfo.apkSigningBlockOffset,
+                signingBlockSize, signatureInfo.eocdOffset);
     }
 
     /**
-     * Calculates the fsverity root hash for integrity measurement.  This needs to be consistent to
-     * what kernel returns.
+     * Calculates the apk-verity root hash for integrity measurement.  This needs to be consistent
+     * to what kernel returns.
      */
-    static byte[] generateFsverityRootHash(RandomAccessFile apk, ByteBuffer apkDigest,
-            SignatureInfo signatureInfo)
+    @NonNull
+    static byte[] generateApkVerityRootHash(@NonNull RandomAccessFile apk,
+            @NonNull ByteBuffer apkDigest, @NonNull SignatureInfo signatureInfo)
             throws NoSuchAlgorithmException, DigestException, IOException {
-        ByteBuffer verityBlock = ByteBuffer.allocate(CHUNK_SIZE_BYTES)
-                .order(ByteOrder.LITTLE_ENDIAN);
-        ByteBuffer header = slice(verityBlock, 0, FSVERITY_HEADER_SIZE_BYTES);
-        ByteBuffer extensions = slice(verityBlock, FSVERITY_HEADER_SIZE_BYTES,
-                CHUNK_SIZE_BYTES - FSVERITY_HEADER_SIZE_BYTES);
+        assertSigningBlockAlignedAndHasFullPages(signatureInfo);
 
-        calculateFsveritySignatureInternal(apk, signatureInfo, null, null, header, extensions);
+        ByteBuffer footer = ByteBuffer.allocate(CHUNK_SIZE_BYTES).order(ByteOrder.LITTLE_ENDIAN);
+        generateApkVerityFooter(apk, signatureInfo, footer);
+        footer.flip();
 
         MessageDigest md = MessageDigest.getInstance(JCA_DIGEST_ALGORITHM);
-        md.update(header);
-        md.update(extensions);
+        md.update(footer);
         md.update(apkDigest);
         return md.digest();
     }
 
     /**
-     * Internal method to generate various parts of FSVerity constructs, including the header,
-     * extensions, Merkle tree, and the tree's root hash.  The output buffer is flipped to the
-     * generated data size and is readey for consuming.
+     * Generates the apk-verity header and hash tree to be used by kernel for the given apk. This
+     * method does not check whether the root hash exists in the Signing Block or not.
+     *
+     * <p>The output is stored in the {@link ByteBuffer} created by the given {@link
+     * ByteBufferFactory}.
+     *
+     * @return the root hash of the generated hash tree.
      */
-    private static void calculateFsveritySignatureInternal(
-            RandomAccessFile apk, SignatureInfo signatureInfo, ByteBuffer treeOutput,
-            ByteBuffer rootHashOutput, ByteBuffer headerOutput, ByteBuffer extensionsOutput)
-            throws IOException, NoSuchAlgorithmException, DigestException {
-        assertSigningBlockAlignedAndHasFullPages(signatureInfo);
-        long signingBlockSize =
-                signatureInfo.centralDirOffset - signatureInfo.apkSigningBlockOffset;
-        long dataSize = apk.length() - signingBlockSize;
-        int[] levelOffset = calculateVerityLevelOffset(dataSize);
-
-        if (treeOutput != null) {
-            byte[] apkRootHash = generateApkVerityTree(apk, signatureInfo, DEFAULT_SALT,
-                    levelOffset, treeOutput);
-            if (rootHashOutput != null) {
-                rootHashOutput.put(apkRootHash);
-                rootHashOutput.flip();
-            }
-        }
-
-        if (headerOutput != null) {
-            headerOutput.order(ByteOrder.LITTLE_ENDIAN);
-            generateFsverityHeader(headerOutput, apk.length(), levelOffset.length - 1,
-                    DEFAULT_SALT);
-        }
-
-        if (extensionsOutput != null) {
-            extensionsOutput.order(ByteOrder.LITTLE_ENDIAN);
-            generateFsverityExtensions(extensionsOutput, signatureInfo.apkSigningBlockOffset,
-                    signingBlockSize, signatureInfo.eocdOffset);
+    @NonNull
+    static byte[] generateApkVerity(@NonNull String apkPath,
+            @NonNull ByteBufferFactory bufferFactory, @NonNull SignatureInfo signatureInfo)
+            throws IOException, SignatureNotFoundException, SecurityException, DigestException,
+                   NoSuchAlgorithmException {
+        try (RandomAccessFile apk = new RandomAccessFile(apkPath, "r")) {
+            VerityResult result = generateVerityTreeInternal(apk, bufferFactory, signatureInfo,
+                    true /* skipSigningBlock */);
+            ByteBuffer footer = slice(result.verityData, result.merkleTreeSize,
+                    result.verityData.limit());
+            generateApkVerityFooter(apk, signatureInfo, footer);
+            // Put the reverse offset to apk-verity header at the end.
+            footer.putInt(footer.position() + 4);
+            result.verityData.limit(result.merkleTreeSize + footer.position());
+            return result.rootHash;
         }
     }
 
@@ -180,11 +206,14 @@
         private final byte[] mDigestBuffer = new byte[DIGEST_SIZE_BYTES];
         private final byte[] mSalt;
 
-        private BufferedDigester(byte[] salt, ByteBuffer output) throws NoSuchAlgorithmException {
+        private BufferedDigester(@Nullable byte[] salt, @NonNull ByteBuffer output)
+                throws NoSuchAlgorithmException {
             mSalt = salt;
             mOutput = output.slice();
             mMd = MessageDigest.getInstance(JCA_DIGEST_ALGORITHM);
-            mMd.update(mSalt);
+            if (mSalt != null) {
+                mMd.update(mSalt);
+            }
             mBytesDigestedSinceReset = 0;
         }
 
@@ -211,7 +240,9 @@
                     mMd.digest(mDigestBuffer, 0, mDigestBuffer.length);
                     mOutput.put(mDigestBuffer);
                     // After digest, MessageDigest resets automatically, so no need to reset again.
-                    mMd.update(mSalt);
+                    if (mSalt != null) {
+                        mMd.update(mSalt);
+                    }
                     mBytesDigestedSinceReset = 0;
                 }
             }
@@ -252,6 +283,26 @@
     // thus the syscall overhead is not too big.
     private static final int MMAP_REGION_SIZE_BYTES = 1024 * 1024;
 
+    private static void generateFsVerityDigestAtLeafLevel(RandomAccessFile file, ByteBuffer output)
+            throws IOException, NoSuchAlgorithmException, DigestException {
+        BufferedDigester digester = new BufferedDigester(null /* salt */, output);
+
+        // 1. Digest the whole file by chunks.
+        consumeByChunk(digester,
+                new MemoryMappedFileDataSource(file.getFD(), 0, file.length()),
+                MMAP_REGION_SIZE_BYTES);
+
+        // 2. Pad 0s up to the nearest 4096-byte block before hashing.
+        int lastIncompleteChunkSize = (int) (file.length() % CHUNK_SIZE_BYTES);
+        if (lastIncompleteChunkSize != 0) {
+            digester.consume(ByteBuffer.allocate(CHUNK_SIZE_BYTES - lastIncompleteChunkSize));
+        }
+        digester.assertEmptyBuffer();
+
+        // 3. Fill up the rest of buffer with 0s.
+        digester.fillUpLastOutputChunk();
+    }
+
     private static void generateApkVerityDigestAtLeafLevel(RandomAccessFile apk,
             SignatureInfo signatureInfo, byte[] salt, ByteBuffer output)
             throws IOException, NoSuchAlgorithmException, DigestException {
@@ -297,12 +348,20 @@
         digester.fillUpLastOutputChunk();
     }
 
-    private static byte[] generateApkVerityTree(RandomAccessFile apk, SignatureInfo signatureInfo,
-            byte[] salt, int[] levelOffset, ByteBuffer output)
+    @NonNull
+    private static byte[] generateVerityTreeInternal(@NonNull RandomAccessFile apk,
+            @Nullable SignatureInfo signatureInfo, @Nullable byte[] salt,
+            @NonNull int[] levelOffset, @NonNull ByteBuffer output, boolean skipSigningBlock)
             throws IOException, NoSuchAlgorithmException, DigestException {
         // 1. Digest the apk to generate the leaf level hashes.
-        generateApkVerityDigestAtLeafLevel(apk, signatureInfo, salt, slice(output,
-                    levelOffset[levelOffset.length - 2], levelOffset[levelOffset.length - 1]));
+        if (skipSigningBlock) {
+            assertSigningBlockAlignedAndHasFullPages(signatureInfo);
+            generateApkVerityDigestAtLeafLevel(apk, signatureInfo, salt, slice(output,
+                        levelOffset[levelOffset.length - 2], levelOffset[levelOffset.length - 1]));
+        } else {
+            generateFsVerityDigestAtLeafLevel(apk, slice(output,
+                        levelOffset[levelOffset.length - 2], levelOffset[levelOffset.length - 1]));
+        }
 
         // 2. Digest the lower level hashes bottom up.
         for (int level = levelOffset.length - 3; level >= 0; level--) {
@@ -324,7 +383,7 @@
         return rootHash;
     }
 
-    private static ByteBuffer generateFsverityHeader(ByteBuffer buffer, long fileSize, int depth,
+    private static ByteBuffer generateApkVerityHeader(ByteBuffer buffer, long fileSize,
             byte[] salt) {
         if (salt.length != 8) {
             throw new IllegalArgumentException("salt is not 8 bytes long");
@@ -351,13 +410,12 @@
         buffer.put(salt);                   // salt (8 bytes)
         skip(buffer, 22);                   // reserved
 
-        buffer.flip();
         return buffer;
     }
 
-    private static ByteBuffer generateFsverityExtensions(ByteBuffer buffer, long signingBlockOffset,
-            long signingBlockSize, long eocdOffset) {
-        // Snapshot of the FSVerity structs (subject to change once upstreamed).
+    private static ByteBuffer generateApkVerityExtensions(ByteBuffer buffer,
+            long signingBlockOffset, long signingBlockSize, long eocdOffset) {
+        // Snapshot of the experimental fs-verity structs (different from upstream).
         //
         // struct fsverity_extension_elide {
         //   __le64 offset;
@@ -409,7 +467,6 @@
             skip(buffer, kPadding);      // padding
         }
 
-        buffer.flip();
         return buffer;
     }
 
@@ -442,10 +499,11 @@
         return levelOffset;
     }
 
-    private static void assertSigningBlockAlignedAndHasFullPages(SignatureInfo signatureInfo) {
+    private static void assertSigningBlockAlignedAndHasFullPages(
+            @NonNull SignatureInfo signatureInfo) {
         if (signatureInfo.apkSigningBlockOffset % CHUNK_SIZE_BYTES != 0) {
             throw new IllegalArgumentException(
-                    "APK Signing Block does not start at the page  boundary: "
+                    "APK Signing Block does not start at the page boundary: "
                     + signatureInfo.apkSigningBlockOffset);
         }
 
diff --git a/core/java/android/util/proto/ProtoInputStream.java b/core/java/android/util/proto/ProtoInputStream.java
new file mode 100644
index 0000000..209451b
--- /dev/null
+++ b/core/java/android/util/proto/ProtoInputStream.java
@@ -0,0 +1,978 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.util.proto;
+
+import android.annotation.TestApi;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+
+/**
+ * Class to read to a protobuf stream.
+ *
+ * Each read method takes an ID code from the protoc generated classes
+ * and return a value of the field. To read a nested object, call #start
+ * and then #end when you are done.
+ *
+ * The ID codes have type information embedded into them, so if you call
+ * the incorrect function you will get an IllegalArgumentException.
+ *
+ * nextField will return the field number of the next field, which can be
+ * matched to the protoc generated ID code and used to determine how to
+ * read the next field.
+ *
+ * It is STRONGLY RECOMMENDED to read from the ProtoInputStream with a switch
+ * statement wrapped in a while loop. Additionally, it is worth logging or
+ * storing unexpected fields or ones that do not match the expected wire type
+ *
+ * ex:
+ * void parseFromProto(ProtoInputStream stream) {
+ *     while(stream.nextField() != ProtoInputStream.NO_MORE_FIELDS) {
+ *         try {
+ *             switch (stream.getFieldNumber()) {
+ *                 case (int) DummyProto.NAME:
+ *                     mName = stream.readString(DummyProto.NAME);
+ *                     break;
+ *                 case (int) DummyProto.VALUE:
+ *                     mValue = stream.readInt(DummyProto.VALUE);
+ *                     break;
+ *                 default:
+ *                     LOG(TAG, "Unhandled field in proto!\n"
+ *                              + ProtoUtils.currentFieldToString(stream));
+ *             }
+ *         } catch (WireTypeMismatchException wtme) {
+ *             LOG(TAG, "Wire Type mismatch in proto!\n" + ProtoUtils.currentFieldToString(stream));
+ *         }
+ *     }
+ * }
+ *
+ * @hide
+ */
+@TestApi
+public final class ProtoInputStream extends ProtoStream {
+
+    public static final int NO_MORE_FIELDS = -1;
+
+    /**
+     * Our stream.  If there is one.
+     */
+    private InputStream mStream;
+
+    /**
+     * The field number of the current field. Will be equal to NO_MORE_FIELDS if end of message is
+     * reached
+     */
+    private int mFieldNumber;
+
+    /**
+     * The wire type of the current field
+     */
+    private int mWireType;
+
+    private static final byte STATE_STARTED_FIELD_READ = 1 << 0;
+    private static final byte STATE_READING_PACKED = 1 << 1;
+    private static final byte STATE_FIELD_MISS = 2 << 1;
+
+    /**
+     * Tracks some boolean states for the proto input stream
+     * bit 0: Started Field Read, true - tag has been read, ready to read field data.
+     * false - field data has been read, reading to start next field.
+     * bit 1: Reading Packed Field, true - currently reading values from a packed field
+     * false - not reading from packed field.
+     */
+    private byte mState = 0;
+
+    /**
+     * Keeps track of the currently read nested Objects, for end object sanity checking and debug
+     */
+    private ArrayList<Long> mExpectedObjectTokenStack = null;
+
+    /**
+     * Current nesting depth of start calls.
+     */
+    private int mDepth = -1;
+
+    /**
+     * Buffer for the to be read data. If mStream is not null, it will be constantly refilled from
+     * the stream.
+     */
+    private byte[] mBuffer;
+
+    private static final int DEFAULT_BUFFER_SIZE = 8192;
+
+    /**
+     * Size of the buffer if reading from a stream.
+     */
+    private final int mBufferSize;
+
+    /**
+     * The number of bytes that have been skipped or dropped from the buffer.
+     */
+    private int mDiscardedBytes = 0;
+
+    /**
+     * Current offset in the buffer
+     * mOffset + mDiscardedBytes = current offset in proto binary
+     */
+    private int mOffset = 0;
+
+    /**
+     * Note the offset of the last byte in the buffer. Usually will equal the size of the buffer.
+     * mEnd + mDiscardedBytes = the last known byte offset + 1
+     */
+    private int mEnd = 0;
+
+    /**
+     * Packed repeated fields are not read in one go. mPackedEnd keeps track of where the packed
+     * field ends in the proto binary if current field is packed.
+     */
+    private int mPackedEnd = 0;
+
+    /**
+     * Construct a ProtoInputStream on top of an InputStream to read a proto. Also specify the
+     * number of bytes the ProtoInputStream will buffer from the input stream
+     *
+     * @param stream from which the proto is read
+     */
+    public ProtoInputStream(InputStream stream, int bufferSize) {
+        mStream = stream;
+        if (bufferSize > 0) {
+            mBufferSize = bufferSize;
+        } else {
+            mBufferSize = DEFAULT_BUFFER_SIZE;
+        }
+        mBuffer = new byte[mBufferSize];
+    }
+
+    /**
+     * Construct a ProtoInputStream on top of an InputStream to read a proto
+     *
+     * @param stream from which the proto is read
+     */
+    public ProtoInputStream(InputStream stream) {
+        this(stream, DEFAULT_BUFFER_SIZE);
+    }
+
+    /**
+     * Construct a ProtoInputStream to read a proto directly from a byte array
+     *
+     * @param buffer - the byte array to be parsed
+     */
+    public ProtoInputStream(byte[] buffer) {
+        mBufferSize = buffer.length;
+        mEnd = buffer.length;
+        mBuffer = buffer;
+        mStream = null;
+    }
+
+    /**
+     * Get the field number of the current field.
+     */
+    public int getFieldNumber() {
+        return mFieldNumber;
+    }
+
+    /**
+     * Get the wire type of the current field.
+     *
+     * @return an int that matches one of the ProtoStream WIRE_TYPE_ constants
+     */
+    public int getWireType() {
+        if ((mState & STATE_READING_PACKED) == STATE_READING_PACKED) {
+            // mWireType got overwritten when STATE_READING_PACKED was set. Send length delimited
+            // constant instead
+            return WIRE_TYPE_LENGTH_DELIMITED;
+        }
+        return mWireType;
+    }
+
+    /**
+     * Get the current offset in the proto binary.
+     */
+    public int getOffset() {
+        return mOffset + mDiscardedBytes;
+    }
+
+    /**
+     * Reads the tag of the next field from the stream. If previous field value was not read, its
+     * data will be skipped over.
+     *
+     * @return the field number of the next field
+     * @throws IOException if an I/O error occurs
+     */
+    public int nextField() throws IOException {
+
+        if ((mState & STATE_FIELD_MISS) == STATE_FIELD_MISS) {
+            // Data from the last nextField was not used, reuse the info
+            mState &= ~STATE_FIELD_MISS;
+            return mFieldNumber;
+        }
+        if ((mState & STATE_STARTED_FIELD_READ) == STATE_STARTED_FIELD_READ) {
+            // Field data was not read, skip to the next field
+            skip();
+            mState &= ~STATE_STARTED_FIELD_READ;
+        }
+        if ((mState & STATE_READING_PACKED) == STATE_READING_PACKED) {
+            if (getOffset() < mPackedEnd) {
+                // In the middle of a packed field, return the same tag until last packed value
+                // has been read
+                mState |= STATE_STARTED_FIELD_READ;
+                return mFieldNumber;
+            } else if (getOffset() == mPackedEnd) {
+                // Reached the end of the packed field
+                mState &= ~STATE_READING_PACKED;
+            } else {
+                throw new ProtoParseException(
+                        "Unexpectedly reached end of packed field at offset 0x"
+                                + Integer.toHexString(mPackedEnd)
+                                + dumpDebugData());
+            }
+        }
+
+        if ((mDepth >= 0) && (getOffset() == getOffsetFromToken(
+                mExpectedObjectTokenStack.get(mDepth)))) {
+            // reached end of a embedded message
+            mFieldNumber = NO_MORE_FIELDS;
+        } else {
+            readTag();
+        }
+        return mFieldNumber;
+    }
+
+    /**
+     * Attempt to guess the next field. If there is a match, the field data will be ready to read.
+     * If there is no match, nextField will need to be called to get the field number
+     *
+     * @return true if fieldId matches the next field, false if not
+     */
+    public boolean isNextField(long fieldId) throws IOException {
+        if (nextField() == (int) fieldId) {
+            return true;
+        }
+        // Note to reuse the info from the nextField call in the next call.
+        mState |= STATE_FIELD_MISS;
+        return false;
+    }
+
+    /**
+     * Read a single double.
+     * Will throw if the current wire type is not fixed64
+     *
+     * @param fieldId - must match the current field number and field type
+     */
+    public double readDouble(long fieldId) throws IOException {
+        assertFreshData();
+        assertFieldNumber(fieldId);
+        checkPacked(fieldId);
+
+        double value;
+        switch ((int) ((fieldId & FIELD_TYPE_MASK)
+                >>> FIELD_TYPE_SHIFT)) {
+            case (int) (FIELD_TYPE_DOUBLE >>> FIELD_TYPE_SHIFT):
+                assertWireType(WIRE_TYPE_FIXED64);
+                value = Double.longBitsToDouble(readFixed64());
+                break;
+            default:
+                throw new IllegalArgumentException(
+                        "Requested field id (" + getFieldIdString(fieldId)
+                                + ") cannot be read as a double"
+                                + dumpDebugData());
+        }
+        // Successfully read the field
+        mState &= ~STATE_STARTED_FIELD_READ;
+        return value;
+    }
+
+    /**
+     * Read a single float.
+     * Will throw if the current wire type is not fixed32
+     *
+     * @param fieldId - must match the current field number and field type
+     */
+    public float readFloat(long fieldId) throws IOException {
+        assertFreshData();
+        assertFieldNumber(fieldId);
+        checkPacked(fieldId);
+
+        float value;
+        switch ((int) ((fieldId & FIELD_TYPE_MASK)
+                >>> FIELD_TYPE_SHIFT)) {
+            case (int) (FIELD_TYPE_FLOAT >>> FIELD_TYPE_SHIFT):
+                assertWireType(WIRE_TYPE_FIXED32);
+                value = Float.intBitsToFloat(readFixed32());
+                break;
+            default:
+                throw new IllegalArgumentException(
+                        "Requested field id (" + getFieldIdString(fieldId) + ") is not a float"
+                                + dumpDebugData());
+        }
+        // Successfully read the field
+        mState &= ~STATE_STARTED_FIELD_READ;
+        return value;
+    }
+
+    /**
+     * Read a single 32bit or varint proto type field as an int.
+     * Will throw if the current wire type is not varint or fixed32
+     *
+     * @param fieldId - must match the current field number and field type
+     */
+    public int readInt(long fieldId) throws IOException {
+        assertFreshData();
+        assertFieldNumber(fieldId);
+        checkPacked(fieldId);
+
+        int value;
+        switch ((int) ((fieldId & FIELD_TYPE_MASK)
+                >>> FIELD_TYPE_SHIFT)) {
+            case (int) (FIELD_TYPE_FIXED32 >>> FIELD_TYPE_SHIFT):
+            case (int) (FIELD_TYPE_SFIXED32 >>> FIELD_TYPE_SHIFT):
+                assertWireType(WIRE_TYPE_FIXED32);
+                value = readFixed32();
+                break;
+            case (int) (FIELD_TYPE_SINT32 >>> FIELD_TYPE_SHIFT):
+                assertWireType(WIRE_TYPE_VARINT);
+                value = decodeZigZag32((int) readVarint());
+                break;
+            case (int) (FIELD_TYPE_INT32 >>> FIELD_TYPE_SHIFT):
+            case (int) (FIELD_TYPE_UINT32 >>> FIELD_TYPE_SHIFT):
+            case (int) (FIELD_TYPE_ENUM >>> FIELD_TYPE_SHIFT):
+                assertWireType(WIRE_TYPE_VARINT);
+                value = (int) readVarint();
+                break;
+            default:
+                throw new IllegalArgumentException(
+                        "Requested field id (" + getFieldIdString(fieldId) + ") is not an int"
+                                + dumpDebugData());
+        }
+        // Successfully read the field
+        mState &= ~STATE_STARTED_FIELD_READ;
+        return value;
+    }
+
+    /**
+     * Read a single 64bit or varint proto type field as an long.
+     *
+     * @param fieldId - must match the current field number
+     */
+    public long readLong(long fieldId) throws IOException {
+        assertFreshData();
+        assertFieldNumber(fieldId);
+        checkPacked(fieldId);
+
+        long value;
+        switch ((int) ((fieldId & FIELD_TYPE_MASK)
+                >>> FIELD_TYPE_SHIFT)) {
+            case (int) (FIELD_TYPE_FIXED64 >>> FIELD_TYPE_SHIFT):
+            case (int) (FIELD_TYPE_SFIXED64 >>> FIELD_TYPE_SHIFT):
+                assertWireType(WIRE_TYPE_FIXED64);
+                value = readFixed64();
+                break;
+            case (int) (FIELD_TYPE_SINT64 >>> FIELD_TYPE_SHIFT):
+                assertWireType(WIRE_TYPE_VARINT);
+                value = decodeZigZag64(readVarint());
+                break;
+            case (int) (FIELD_TYPE_INT64 >>> FIELD_TYPE_SHIFT):
+            case (int) (FIELD_TYPE_UINT64 >>> FIELD_TYPE_SHIFT):
+                assertWireType(WIRE_TYPE_VARINT);
+                value = readVarint();
+                break;
+            default:
+                throw new IllegalArgumentException(
+                        "Requested field id (" + getFieldIdString(fieldId) + ") is not an long"
+                                + dumpDebugData());
+        }
+        // Successfully read the field
+        mState &= ~STATE_STARTED_FIELD_READ;
+        return value;
+    }
+
+    /**
+     * Read a single 32bit or varint proto type field as an boolean.
+     *
+     * @param fieldId - must match the current field number
+     */
+    public boolean readBoolean(long fieldId) throws IOException {
+        assertFreshData();
+        assertFieldNumber(fieldId);
+        checkPacked(fieldId);
+
+        boolean value;
+        switch ((int) ((fieldId & FIELD_TYPE_MASK)
+                >>> FIELD_TYPE_SHIFT)) {
+            case (int) (FIELD_TYPE_BOOL >>> FIELD_TYPE_SHIFT):
+                assertWireType(WIRE_TYPE_VARINT);
+                value = readVarint() != 0;
+                break;
+            default:
+                throw new IllegalArgumentException(
+                        "Requested field id (" + getFieldIdString(fieldId) + ") is not an boolean"
+                                + dumpDebugData());
+        }
+        // Successfully read the field
+        mState &= ~STATE_STARTED_FIELD_READ;
+        return value;
+    }
+
+    /**
+     * Read a string field
+     *
+     * @param fieldId - must match the current field number
+     */
+    public String readString(long fieldId) throws IOException {
+        assertFreshData();
+        assertFieldNumber(fieldId);
+
+        String value;
+        switch ((int) ((fieldId & FIELD_TYPE_MASK) >>> FIELD_TYPE_SHIFT)) {
+            case (int) (FIELD_TYPE_STRING >>> FIELD_TYPE_SHIFT):
+                assertWireType(WIRE_TYPE_LENGTH_DELIMITED);
+                int len = (int) readVarint();
+                value = readRawString(len);
+                break;
+            default:
+                throw new IllegalArgumentException(
+                        "Requested field id(" + getFieldIdString(fieldId)
+                                + ") is not an string"
+                                + dumpDebugData());
+        }
+        // Successfully read the field
+        mState &= ~STATE_STARTED_FIELD_READ;
+        return value;
+    }
+
+    /**
+     * Read a bytes field
+     *
+     * @param fieldId - must match the current field number
+     */
+    public byte[] readBytes(long fieldId) throws IOException {
+        assertFreshData();
+        assertFieldNumber(fieldId);
+
+        byte[] value;
+        switch ((int) ((fieldId & FIELD_TYPE_MASK) >>> FIELD_TYPE_SHIFT)) {
+            case (int) (FIELD_TYPE_MESSAGE >>> FIELD_TYPE_SHIFT):
+            case (int) (FIELD_TYPE_BYTES >>> FIELD_TYPE_SHIFT):
+                assertWireType(WIRE_TYPE_LENGTH_DELIMITED);
+                int len = (int) readVarint();
+                value = readRawBytes(len);
+                break;
+            default:
+                throw new IllegalArgumentException(
+                        "Requested field type (" + getFieldIdString(fieldId)
+                                + ") cannot be read as raw bytes"
+                                + dumpDebugData());
+        }
+        // Successfully read the field
+        mState &= ~STATE_STARTED_FIELD_READ;
+        return value;
+    }
+
+    /**
+     * Start the read of an embedded Object
+     *
+     * @param fieldId - must match the current field number
+     * @return a token. The token must be handed back when finished reading embedded Object
+     */
+    public long start(long fieldId) throws IOException {
+        assertFreshData();
+        assertFieldNumber(fieldId);
+        assertWireType(WIRE_TYPE_LENGTH_DELIMITED);
+
+        int messageSize = (int) readVarint();
+
+        if (mExpectedObjectTokenStack == null) {
+            mExpectedObjectTokenStack = new ArrayList<>();
+        }
+        if (++mDepth == mExpectedObjectTokenStack.size()) {
+            // Create a token to keep track of nested Object and extend the object stack
+            mExpectedObjectTokenStack.add(makeToken(0,
+                    (fieldId & FIELD_COUNT_REPEATED) == FIELD_COUNT_REPEATED, mDepth,
+                    (int) fieldId, getOffset() + messageSize));
+
+        } else {
+            // Create a token to keep track of nested Object
+            mExpectedObjectTokenStack.set(mDepth, makeToken(0,
+                    (fieldId & FIELD_COUNT_REPEATED) == FIELD_COUNT_REPEATED, mDepth,
+                    (int) fieldId, getOffset() + messageSize));
+        }
+
+        // Sanity check
+        if (mDepth > 0
+                && getOffsetFromToken(mExpectedObjectTokenStack.get(mDepth))
+                > getOffsetFromToken(mExpectedObjectTokenStack.get(mDepth - 1))) {
+            throw new ProtoParseException("Embedded Object ("
+                    + token2String(mExpectedObjectTokenStack.get(mDepth))
+                    + ") ends after of parent Objects's ("
+                    + token2String(mExpectedObjectTokenStack.get(mDepth - 1))
+                    + ") end"
+                    + dumpDebugData());
+        }
+        mState &= ~STATE_STARTED_FIELD_READ;
+        return mExpectedObjectTokenStack.get(mDepth);
+    }
+
+    /**
+     * Note the end of a nested object. Must be called to continue streaming the rest of the proto.
+     * end can be called mid object parse. The offset will be moved to the next field outside the
+     * object.
+     *
+     * @param token - token
+     */
+    public void end(long token) {
+        // Sanity check to make sure user is keeping track of their embedded messages
+        if (mExpectedObjectTokenStack.get(mDepth) != token) {
+            throw new ProtoParseException(
+                    "end token " + token + " does not match current message token "
+                            + mExpectedObjectTokenStack.get(mDepth)
+                            + dumpDebugData());
+        }
+        if (getOffsetFromToken(mExpectedObjectTokenStack.get(mDepth)) > getOffset()) {
+            // Did not read all of the message, skip to the end
+            incOffset(getOffsetFromToken(mExpectedObjectTokenStack.get(mDepth)) - getOffset());
+        }
+        mDepth--;
+        mState &= ~STATE_STARTED_FIELD_READ;
+    }
+
+    /**
+     * Read the tag at the start of the next field and collect field number and wire type.
+     * Will set mFieldNumber to NO_MORE_FIELDS if end of buffer/stream reached.
+     */
+    private void readTag() throws IOException {
+        fillBuffer();
+        if (mOffset >= mEnd) {
+            // reached end of the stream
+            mFieldNumber = NO_MORE_FIELDS;
+            return;
+        }
+        int tag = (int) readVarint();
+        mFieldNumber = tag >>> FIELD_ID_SHIFT;
+        mWireType = tag & WIRE_TYPE_MASK;
+        mState |= STATE_STARTED_FIELD_READ;
+    }
+
+    /**
+     * Decode a 32 bit ZigZag encoded signed int.
+     *
+     * @param n - int to decode
+     * @return the decoded signed int
+     */
+    public int decodeZigZag32(final int n) {
+        return (n >>> 1) ^ -(n & 1);
+    }
+
+    /**
+     * Decode a 64 bit ZigZag encoded signed long.
+     *
+     * @param n - long to decode
+     * @return the decoded signed long
+     */
+    public long decodeZigZag64(final long n) {
+        return (n >>> 1) ^ -(n & 1);
+    }
+
+    /**
+     * Read a varint from the buffer
+     *
+     * @return the varint as a long
+     */
+    private long readVarint() throws IOException {
+        long value = 0;
+        int shift = 0;
+        while (true) {
+            fillBuffer();
+            // Limit how much bookkeeping is done by checking how far away the end of the buffer is
+            // and directly accessing buffer up until the end.
+            final int fragment = mEnd - mOffset;
+            for (int i = 0; i < fragment; i++) {
+                byte b = mBuffer[(mOffset + i)];
+                value |= (b & 0x7FL) << shift;
+                if ((b & 0x80) == 0) {
+                    incOffset(i + 1);
+                    return value;
+                }
+                shift += 7;
+                if (shift > 63) {
+                    throw new ProtoParseException(
+                            "Varint is too large at offset 0x"
+                                    + Integer.toHexString(getOffset() + i)
+                                    + dumpDebugData());
+                }
+            }
+            // Hit the end of the buffer, do some incrementing and checking, then continue
+            incOffset(fragment);
+        }
+    }
+
+    /**
+     * Read a fixed 32 bit int from the buffer
+     *
+     * @return the fixed32 as a int
+     */
+    private int readFixed32() throws IOException {
+        // check for fast path, which is likely with a reasonable buffer size
+        if (mOffset + 4 <= mEnd) {
+            // don't bother filling buffer since we know the end is plenty far away
+            incOffset(4);
+            return (mBuffer[mOffset - 4] & 0xFF)
+                    | ((mBuffer[mOffset - 3] & 0xFF) << 8)
+                    | ((mBuffer[mOffset - 2] & 0xFF) << 16)
+                    | ((mBuffer[mOffset - 1] & 0xFF) << 24);
+        }
+
+        // the Fixed32 crosses the edge of a chunk, read the Fixed32 in multiple fragments.
+        // There will be two fragment reads except when the chunk size is 2 or less.
+        int value = 0;
+        int shift = 0;
+        int bytesLeft = 4;
+        while (bytesLeft > 0) {
+            fillBuffer();
+            // Find the number of bytes available until the end of the chunk or Fixed32
+            int fragment = (mEnd - mOffset) < bytesLeft ? (mEnd - mOffset) : bytesLeft;
+            incOffset(fragment);
+            bytesLeft -= fragment;
+            while (fragment > 0) {
+                value |= ((mBuffer[mOffset - fragment] & 0xFF) << shift);
+                fragment--;
+                shift += 8;
+            }
+        }
+        return value;
+    }
+
+    /**
+     * Read a fixed 64 bit long from the buffer
+     *
+     * @return the fixed64 as a long
+     */
+    private long readFixed64() throws IOException {
+        // check for fast path, which is likely with a reasonable buffer size
+        if (mOffset + 8 <= mEnd) {
+            // don't bother filling buffer since we know the end is plenty far away
+            incOffset(8);
+            return (mBuffer[mOffset - 8] & 0xFFL)
+                    | ((mBuffer[mOffset - 7] & 0xFFL) << 8)
+                    | ((mBuffer[mOffset - 6] & 0xFFL) << 16)
+                    | ((mBuffer[mOffset - 5] & 0xFFL) << 24)
+                    | ((mBuffer[mOffset - 4] & 0xFFL) << 32)
+                    | ((mBuffer[mOffset - 3] & 0xFFL) << 40)
+                    | ((mBuffer[mOffset - 2] & 0xFFL) << 48)
+                    | ((mBuffer[mOffset - 1] & 0xFFL) << 56);
+        }
+
+        // the Fixed64 crosses the edge of a chunk, read the Fixed64 in multiple fragments.
+        // There will be two fragment reads except when the chunk size is 6 or less.
+        long value = 0;
+        int shift = 0;
+        int bytesLeft = 8;
+        while (bytesLeft > 0) {
+            fillBuffer();
+            // Find the number of bytes available until the end of the chunk or Fixed64
+            int fragment = (mEnd - mOffset) < bytesLeft ? (mEnd - mOffset) : bytesLeft;
+            incOffset(fragment);
+            bytesLeft -= fragment;
+            while (fragment > 0) {
+                value |= ((mBuffer[(mOffset - fragment)] & 0xFFL) << shift);
+                fragment--;
+                shift += 8;
+            }
+        }
+        return value;
+    }
+
+    /**
+     * Read raw bytes from the buffer
+     *
+     * @param n - number of bytes to read
+     * @return a byte array with raw bytes
+     */
+    private byte[] readRawBytes(int n) throws IOException {
+        byte[] buffer = new byte[n];
+        int pos = 0;
+        while (mOffset + n - pos > mEnd) {
+            int fragment = mEnd - mOffset;
+            if (fragment > 0) {
+                System.arraycopy(mBuffer, mOffset, buffer, pos, fragment);
+                incOffset(fragment);
+                pos += fragment;
+            }
+            fillBuffer();
+            if (mOffset >= mEnd) {
+                throw new ProtoParseException(
+                        "Unexpectedly reached end of the InputStream at offset 0x"
+                                + Integer.toHexString(mEnd)
+                                + dumpDebugData());
+            }
+        }
+        System.arraycopy(mBuffer, mOffset, buffer, pos, n - pos);
+        incOffset(n - pos);
+        return buffer;
+    }
+
+    /**
+     * Read raw string from the buffer
+     *
+     * @param n - number of bytes to read
+     * @return a string
+     */
+    private String readRawString(int n) throws IOException {
+        fillBuffer();
+        if (mOffset + n <= mEnd) {
+            // fast path read. String is well within the current buffer
+            String value = StringFactory.newStringFromBytes(mBuffer, mOffset, n,
+                    StandardCharsets.UTF_8);
+            incOffset(n);
+            return value;
+        } else if (n <= mBufferSize) {
+            // String extends past buffer, but can be encapsulated in a buffer. Copy the first chunk
+            // of the string to the start of the buffer and then fill the rest of the buffer from
+            // the stream.
+            final int stringHead = mEnd - mOffset;
+            System.arraycopy(mBuffer, mOffset, mBuffer, 0, stringHead);
+            mEnd = stringHead + mStream.read(mBuffer, stringHead, n - stringHead);
+
+            mDiscardedBytes += mOffset;
+            mOffset = 0;
+
+            String value = StringFactory.newStringFromBytes(mBuffer, mOffset, n,
+                    StandardCharsets.UTF_8);
+            incOffset(n);
+            return value;
+        }
+        // Otherwise, the string is too large to use the buffer. Create the string from a
+        // separate byte array.
+        return StringFactory.newStringFromBytes(readRawBytes(n), 0, n, StandardCharsets.UTF_8);
+    }
+
+    /**
+     * Fill the buffer with a chunk from the stream if need be.
+     * Will skip chunks until mOffset is reached
+     */
+    private void fillBuffer() throws IOException {
+        if (mOffset >= mEnd && mStream != null) {
+            mOffset -= mEnd;
+            mDiscardedBytes += mEnd;
+            if (mOffset >= mBufferSize) {
+                int skipped = (int) mStream.skip((mOffset / mBufferSize) * mBufferSize);
+                mDiscardedBytes += skipped;
+                mOffset -= skipped;
+            }
+            mEnd = mStream.read(mBuffer);
+        }
+    }
+
+    /**
+     * Skips the rest of current field and moves to the start of the next field. This should only be
+     * called while state is STATE_STARTED_FIELD_READ
+     */
+    public void skip() throws IOException {
+        if ((mState & STATE_READING_PACKED) == STATE_READING_PACKED) {
+            incOffset(mPackedEnd - getOffset());
+        } else {
+            switch (mWireType) {
+                case WIRE_TYPE_VARINT:
+                    byte b;
+                    do {
+                        fillBuffer();
+                        b = mBuffer[mOffset];
+                        incOffset(1);
+                    } while ((b & 0x80) != 0);
+                    break;
+                case WIRE_TYPE_FIXED64:
+                    incOffset(8);
+                    break;
+                case WIRE_TYPE_LENGTH_DELIMITED:
+                    fillBuffer();
+                    int length = (int) readVarint();
+                    incOffset(length);
+                    break;
+                /*
+            case WIRE_TYPE_START_GROUP:
+                // Not implemented
+                break;
+            case WIRE_TYPE_END_GROUP:
+                // Not implemented
+                break;
+                */
+                case WIRE_TYPE_FIXED32:
+                    incOffset(4);
+                    break;
+                default:
+                    throw new ProtoParseException(
+                            "Unexpected wire type: " + mWireType + " at offset 0x"
+                                    + Integer.toHexString(mOffset)
+                                    + dumpDebugData());
+            }
+        }
+        mState &= ~STATE_STARTED_FIELD_READ;
+    }
+
+    /**
+     * Increment the offset and handle all the relevant bookkeeping
+     * Refilling the buffer when its end is reached will be handled elsewhere (ideally just before
+     * a read, to avoid unnecessary reads from stream)
+     *
+     * @param n - number of bytes to increment
+     */
+    private void incOffset(int n) {
+        mOffset += n;
+
+        if (mDepth >= 0 && getOffset() > getOffsetFromToken(
+                mExpectedObjectTokenStack.get(mDepth))) {
+            throw new ProtoParseException("Unexpectedly reached end of embedded object.  "
+                    + token2String(mExpectedObjectTokenStack.get(mDepth))
+                    + dumpDebugData());
+        }
+    }
+
+    /**
+     * Check the current wire type to determine if current numeric field is packed. If it is packed,
+     * set up to deal with the field
+     * This should only be called for primitive numeric field types.
+     *
+     * @param fieldId - used to determine what the packed wire type is.
+     */
+    private void checkPacked(long fieldId) throws IOException {
+        if (mWireType == WIRE_TYPE_LENGTH_DELIMITED) {
+            // Primitive Field is length delimited, must be a packed field.
+            final int length = (int) readVarint();
+            mPackedEnd = getOffset() + length;
+            mState |= STATE_READING_PACKED;
+
+            // Fake the wire type, based on the field type
+            switch ((int) ((fieldId & FIELD_TYPE_MASK)
+                    >>> FIELD_TYPE_SHIFT)) {
+                case (int) (FIELD_TYPE_FLOAT >>> FIELD_TYPE_SHIFT):
+                case (int) (FIELD_TYPE_FIXED32 >>> FIELD_TYPE_SHIFT):
+                case (int) (FIELD_TYPE_SFIXED32 >>> FIELD_TYPE_SHIFT):
+                    if (length % 4 != 0) {
+                        throw new IllegalArgumentException(
+                                "Requested field id (" + getFieldIdString(fieldId)
+                                        + ") packed length " + length
+                                        + " is not aligned for fixed32"
+                                        + dumpDebugData());
+                    }
+                    mWireType = WIRE_TYPE_FIXED32;
+                    break;
+                case (int) (FIELD_TYPE_DOUBLE >>> FIELD_TYPE_SHIFT):
+                case (int) (FIELD_TYPE_FIXED64 >>> FIELD_TYPE_SHIFT):
+                case (int) (FIELD_TYPE_SFIXED64 >>> FIELD_TYPE_SHIFT):
+                    if (length % 8 != 0) {
+                        throw new IllegalArgumentException(
+                                "Requested field id (" + getFieldIdString(fieldId)
+                                        + ") packed length " + length
+                                        + " is not aligned for fixed64"
+                                        + dumpDebugData());
+                    }
+                    mWireType = WIRE_TYPE_FIXED64;
+                    break;
+                case (int) (FIELD_TYPE_SINT32 >>> FIELD_TYPE_SHIFT):
+                case (int) (FIELD_TYPE_INT32 >>> FIELD_TYPE_SHIFT):
+                case (int) (FIELD_TYPE_UINT32 >>> FIELD_TYPE_SHIFT):
+                case (int) (FIELD_TYPE_SINT64 >>> FIELD_TYPE_SHIFT):
+                case (int) (FIELD_TYPE_INT64 >>> FIELD_TYPE_SHIFT):
+                case (int) (FIELD_TYPE_UINT64 >>> FIELD_TYPE_SHIFT):
+                case (int) (FIELD_TYPE_ENUM >>> FIELD_TYPE_SHIFT):
+                case (int) (FIELD_TYPE_BOOL >>> FIELD_TYPE_SHIFT):
+                    mWireType = WIRE_TYPE_VARINT;
+                    break;
+                default:
+                    throw new IllegalArgumentException(
+                            "Requested field id (" + getFieldIdString(fieldId)
+                                    + ") is not a packable field"
+                                    + dumpDebugData());
+            }
+        }
+    }
+
+
+    /**
+     * Check a field id constant against current field number
+     *
+     * @param fieldId - throws if fieldId does not match mFieldNumber
+     */
+    private void assertFieldNumber(long fieldId) {
+        if ((int) fieldId != mFieldNumber) {
+            throw new IllegalArgumentException("Requested field id (" + getFieldIdString(fieldId)
+                    + ") does not match current field number (0x" + Integer.toHexString(
+                    mFieldNumber)
+                    + ") at offset 0x" + Integer.toHexString(getOffset())
+                    + dumpDebugData());
+        }
+    }
+
+
+    /**
+     * Check a wire type against current wire type.
+     *
+     * @param wireType - throws if wireType does not match mWireType.
+     */
+    private void assertWireType(int wireType) {
+        if (wireType != mWireType) {
+            throw new WireTypeMismatchException(
+                    "Current wire type " + getWireTypeString(mWireType)
+                            + " does not match expected wire type " + getWireTypeString(wireType)
+                            + " at offset 0x" + Integer.toHexString(getOffset())
+                            + dumpDebugData());
+        }
+    }
+
+    /**
+     * Check if there is data ready to be read.
+     */
+    private void assertFreshData() {
+        if ((mState & STATE_STARTED_FIELD_READ) != STATE_STARTED_FIELD_READ) {
+            throw new ProtoParseException(
+                    "Attempting to read already read field at offset 0x" + Integer.toHexString(
+                            getOffset()) + dumpDebugData());
+        }
+    }
+
+    /**
+     * Dump debugging data about the buffer.
+     */
+    public String dumpDebugData() {
+        StringBuilder sb = new StringBuilder();
+
+        sb.append("\nmFieldNumber : 0x" + Integer.toHexString(mFieldNumber));
+        sb.append("\nmWireType : 0x" + Integer.toHexString(mWireType));
+        sb.append("\nmState : 0x" + Integer.toHexString(mState));
+        sb.append("\nmDiscardedBytes : 0x" + Integer.toHexString(mDiscardedBytes));
+        sb.append("\nmOffset : 0x" + Integer.toHexString(mOffset));
+        sb.append("\nmExpectedObjectTokenStack : ");
+        if (mExpectedObjectTokenStack == null) {
+            sb.append("null");
+        } else {
+            sb.append(mExpectedObjectTokenStack);
+        }
+        sb.append("\nmDepth : 0x" + Integer.toHexString(mDepth));
+        sb.append("\nmBuffer : ");
+        if (mBuffer == null) {
+            sb.append("null");
+        } else {
+            sb.append(mBuffer);
+        }
+        sb.append("\nmBufferSize : 0x" + Integer.toHexString(mBufferSize));
+        sb.append("\nmEnd : 0x" + Integer.toHexString(mEnd));
+
+        return sb.toString();
+    }
+}
diff --git a/core/java/android/util/proto/ProtoOutputStream.java b/core/java/android/util/proto/ProtoOutputStream.java
index a94806a..a1ee61c 100644
--- a/core/java/android/util/proto/ProtoOutputStream.java
+++ b/core/java/android/util/proto/ProtoOutputStream.java
@@ -100,88 +100,12 @@
  * errors if they are not matched.
  */
 @TestApi
-public final class ProtoOutputStream {
+public final class ProtoOutputStream extends ProtoStream {
+    /**
+     * @hide
+     */
     public static final String TAG = "ProtoOutputStream";
 
-    public static final int FIELD_ID_SHIFT = 3;
-    public static final int WIRE_TYPE_MASK = (1<<FIELD_ID_SHIFT)-1;
-    public static final int FIELD_ID_MASK = ~WIRE_TYPE_MASK;
-
-    public static final int WIRE_TYPE_VARINT = 0;
-    public static final int WIRE_TYPE_FIXED64 = 1;
-    public static final int WIRE_TYPE_LENGTH_DELIMITED = 2;
-    public static final int WIRE_TYPE_START_GROUP = 3;
-    public static final int WIRE_TYPE_END_GROUP = 4;
-    public static final int WIRE_TYPE_FIXED32 = 5;
-
-    /**
-     * Position of the field type in a (long) fieldId.
-     */
-    public static final int FIELD_TYPE_SHIFT = 32;
-
-    /**
-     * Mask for the field types stored in a fieldId.  Leaves a whole
-     * byte for future expansion, even though there are currently only 17 types.
-     */
-    public static final long FIELD_TYPE_MASK = 0x0ffL << FIELD_TYPE_SHIFT;
-
-    public static final long FIELD_TYPE_UNKNOWN = 0;
-
-    /**
-     * The types are copied from external/protobuf/src/google/protobuf/descriptor.h directly,
-     * so no extra mapping needs to be maintained in this case.
-     */
-    public static final long FIELD_TYPE_DOUBLE = 1L << FIELD_TYPE_SHIFT;
-    public static final long FIELD_TYPE_FLOAT = 2L << FIELD_TYPE_SHIFT;
-    public static final long FIELD_TYPE_INT64 = 3L << FIELD_TYPE_SHIFT;
-    public static final long FIELD_TYPE_UINT64 = 4L << FIELD_TYPE_SHIFT;
-    public static final long FIELD_TYPE_INT32 = 5L << FIELD_TYPE_SHIFT;
-    public static final long FIELD_TYPE_FIXED64 = 6L << FIELD_TYPE_SHIFT;
-    public static final long FIELD_TYPE_FIXED32 = 7L << FIELD_TYPE_SHIFT;
-    public static final long FIELD_TYPE_BOOL = 8L << FIELD_TYPE_SHIFT;
-    public static final long FIELD_TYPE_STRING = 9L << FIELD_TYPE_SHIFT;
-//  public static final long FIELD_TYPE_GROUP = 10L << FIELD_TYPE_SHIFT; // Deprecated.
-    public static final long FIELD_TYPE_MESSAGE = 11L << FIELD_TYPE_SHIFT;
-    public static final long FIELD_TYPE_BYTES = 12L << FIELD_TYPE_SHIFT;
-    public static final long FIELD_TYPE_UINT32 = 13L << FIELD_TYPE_SHIFT;
-    public static final long FIELD_TYPE_ENUM = 14L << FIELD_TYPE_SHIFT;
-    public static final long FIELD_TYPE_SFIXED32 = 15L << FIELD_TYPE_SHIFT;
-    public static final long FIELD_TYPE_SFIXED64 = 16L << FIELD_TYPE_SHIFT;
-    public static final long FIELD_TYPE_SINT32 = 17L << FIELD_TYPE_SHIFT;
-    public static final long FIELD_TYPE_SINT64 = 18L << FIELD_TYPE_SHIFT;
-
-    private static final String[] FIELD_TYPE_NAMES = new String[] {
-        "Double",
-        "Float",
-        "Int64",
-        "UInt64",
-        "Int32",
-        "Fixed64",
-        "Fixed32",
-        "Bool",
-        "String",
-        "Group",  // This field is deprecated but reserved here for indexing.
-        "Message",
-        "Bytes",
-        "UInt32",
-        "Enum",
-        "SFixed32",
-        "SFixed64",
-        "SInt32",
-        "SInt64",
-    };
-
-    //
-    // FieldId flags for whether the field is single, repeated or packed.
-    //
-    public static final int FIELD_COUNT_SHIFT = 40;
-    public static final long FIELD_COUNT_MASK = 0x0fL << FIELD_COUNT_SHIFT;
-
-    public static final long FIELD_COUNT_UNKNOWN = 0;
-    public static final long FIELD_COUNT_SINGLE = 1L << FIELD_COUNT_SHIFT;
-    public static final long FIELD_COUNT_REPEATED = 2L << FIELD_COUNT_SHIFT;
-    public static final long FIELD_COUNT_PACKED = 5L << FIELD_COUNT_SHIFT;
-
     /**
      * Our buffer.
      */
@@ -1997,94 +1921,6 @@
         }
     }
 
-    //
-    // Child objects
-    //
-
-    /**
-     * Make a token.
-     *  Bits 61-63 - tag size (So we can go backwards later if the object had not data)
-     *                - 3 bits, max value 7, max value needed 5
-     *  Bit  60    - true if the object is repeated (lets us require endObject or endRepeatedObject)
-     *  Bits 59-51 - depth (For error checking)
-     *                - 9 bits, max value 512, when checking, value is masked (if we really
-     *                  are more than 512 levels deep)
-     *  Bits 32-50 - objectId (For error checking)
-     *                - 19 bits, max value 524,288. that's a lot of objects. IDs will wrap
-     *                  because of the overflow, and only the tokens are compared.
-     *  Bits  0-31 - offset of the first size field in the buffer.
-     */
-    // VisibleForTesting
-    public static long makeToken(int tagSize, boolean repeated, int depth, int objectId,
-            int sizePos) {
-        return ((0x07L & (long)tagSize) << 61)
-                | (repeated ? (1L << 60) : 0)
-                | (0x01ffL & (long)depth) << 51
-                | (0x07ffffL & (long)objectId) << 32
-                | (0x0ffffffffL & (long)sizePos);
-    }
-
-    /**
-     * Get the encoded tag size from the token.
-     */
-    public static int getTagSizeFromToken(long token) {
-        return (int)(0x7 & (token >> 61));
-    }
-
-    /**
-     * Get whether this is a call to startObject (false) or startRepeatedObject (true).
-     */
-    public static boolean getRepeatedFromToken(long token) {
-        return (0x1 & (token >> 60)) != 0;
-    }
-
-    /**
-     * Get the nesting depth of startObject calls from the token.
-     */
-    public static int getDepthFromToken(long token) {
-        return (int)(0x01ff & (token >> 51));
-    }
-
-    /**
-     * Get the object ID from the token. The object ID is a serial number for the
-     * startObject calls that have happened on this object.  The values are truncated
-     * to 9 bits, but that is sufficient for error checking.
-     */
-    public static int getObjectIdFromToken(long token) {
-        return (int)(0x07ffff & (token >> 32));
-    }
-
-    /**
-     * Get the location of the childRawSize (the first 32 bit size field) in this object.
-     */
-    public static int getSizePosFromToken(long token) {
-        return (int)token;
-    }
-
-    /**
-     * Convert the object ID to the ordinal value -- the n-th call to startObject.
-     * The object IDs start at -1 and count backwards, so that the value is unlikely
-     * to alias with an actual size field that had been written.
-     */
-    public static int convertObjectIdToOrdinal(int objectId) {
-        return (-1 & 0x07ffff) - objectId;
-    }
-
-    /**
-     * Return a debugging string of a token.
-     */
-    public static String token2String(long token) {
-        if (token == 0L) {
-            return "Token(0)";
-        } else {
-            return "Token(val=0x" + Long.toHexString(token)
-                    + " depth=" + getDepthFromToken(token)
-                    + " object=" + convertObjectIdToOrdinal(getObjectIdFromToken(token))
-                    + " tagSize=" + getTagSizeFromToken(token)
-                    + " sizePos=" + getSizePosFromToken(token)
-                    + ')';
-        }
-    }
 
     /**
      * Start a child object.
@@ -2175,7 +2011,7 @@
         // at which to write the size.
         final int depth = getDepthFromToken(token);
         final boolean expectedRepeated = getRepeatedFromToken(token);
-        final int sizePos = getSizePosFromToken(token);
+        final int sizePos = getOffsetFromToken(token);
         final int childRawSize = mBuffer.getWritePos() - sizePos - 8;
 
         if (repeated != expectedRepeated) {
@@ -2346,56 +2182,6 @@
     }
 
     /**
-     * Get the developer-usable name of a field type.
-     */
-    private static String getFieldTypeString(long fieldType) {
-        int index = ((int)((fieldType & FIELD_TYPE_MASK) >>> FIELD_TYPE_SHIFT)) - 1;
-        if (index >= 0 && index < FIELD_TYPE_NAMES.length) {
-            return FIELD_TYPE_NAMES[index];
-        } else {
-            return null;
-        }
-    }
-
-    /**
-     * Get the developer-usable name of a field count.
-     */
-    private static String getFieldCountString(long fieldCount) {
-        if (fieldCount == FIELD_COUNT_SINGLE) {
-            return "";
-        } else if (fieldCount == FIELD_COUNT_REPEATED) {
-            return "Repeated";
-        } else if (fieldCount == FIELD_COUNT_PACKED) {
-            return "Packed";
-        } else {
-            return null;
-        }
-    }
-
-    /**
-     * Get a debug string for a fieldId.
-     */
-    private String getFieldIdString(long fieldId) {
-        final long fieldCount = fieldId & FIELD_COUNT_MASK;
-        String countString = getFieldCountString(fieldCount);
-        if (countString == null) {
-            countString = "fieldCount=" + fieldCount;
-        }
-        if (countString.length() > 0) {
-            countString += " ";
-        }
-
-        final long fieldType = fieldId & FIELD_TYPE_MASK;
-        String typeString = getFieldTypeString(fieldType);
-        if (typeString == null) {
-            typeString = "fieldType=" + fieldType;
-        }
-
-        return countString + typeString + " tag=" + ((int) fieldId)
-                + " fieldId=0x" + Long.toHexString(fieldId);
-    }
-
-    /**
      * Return how many bytes an encoded field tag will require.
      */
     private static int getTagSize(int id) {
diff --git a/core/java/android/util/proto/ProtoStream.java b/core/java/android/util/proto/ProtoStream.java
new file mode 100644
index 0000000..9e2e95a
--- /dev/null
+++ b/core/java/android/util/proto/ProtoStream.java
@@ -0,0 +1,280 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.util.proto;
+
+import android.annotation.TestApi;
+
+/**
+ * Abstract base class for both protobuf streams.
+ *
+ * Contains a set of useful constants and methods used by both
+ * ProtoOutputStream and ProtoInputStream
+ *
+ * @hide
+ */
+@TestApi
+public abstract class ProtoStream {
+
+    public static final int FIELD_ID_SHIFT = 3;
+    public static final int WIRE_TYPE_MASK = (1 << FIELD_ID_SHIFT) - 1;
+    public static final int FIELD_ID_MASK = ~WIRE_TYPE_MASK;
+
+    public static final int WIRE_TYPE_VARINT = 0;
+    public static final int WIRE_TYPE_FIXED64 = 1;
+    public static final int WIRE_TYPE_LENGTH_DELIMITED = 2;
+    public static final int WIRE_TYPE_START_GROUP = 3;
+    public static final int WIRE_TYPE_END_GROUP = 4;
+    public static final int WIRE_TYPE_FIXED32 = 5;
+
+    /**
+     * Position of the field type in a (long) fieldId.
+     */
+    public static final int FIELD_TYPE_SHIFT = 32;
+
+    /**
+     * Mask for the field types stored in a fieldId.  Leaves a whole
+     * byte for future expansion, even though there are currently only 17 types.
+     */
+    public static final long FIELD_TYPE_MASK = 0x0ffL << FIELD_TYPE_SHIFT;
+
+    public static final long FIELD_TYPE_UNKNOWN = 0;
+
+    /**
+     * The types are copied from external/protobuf/src/google/protobuf/descriptor.h directly,
+     * so no extra mapping needs to be maintained in this case.
+     */
+    public static final long FIELD_TYPE_DOUBLE = 1L << FIELD_TYPE_SHIFT;
+    public static final long FIELD_TYPE_FLOAT = 2L << FIELD_TYPE_SHIFT;
+    public static final long FIELD_TYPE_INT64 = 3L << FIELD_TYPE_SHIFT;
+    public static final long FIELD_TYPE_UINT64 = 4L << FIELD_TYPE_SHIFT;
+    public static final long FIELD_TYPE_INT32 = 5L << FIELD_TYPE_SHIFT;
+    public static final long FIELD_TYPE_FIXED64 = 6L << FIELD_TYPE_SHIFT;
+    public static final long FIELD_TYPE_FIXED32 = 7L << FIELD_TYPE_SHIFT;
+    public static final long FIELD_TYPE_BOOL = 8L << FIELD_TYPE_SHIFT;
+    public static final long FIELD_TYPE_STRING = 9L << FIELD_TYPE_SHIFT;
+    //  public static final long FIELD_TYPE_GROUP = 10L << FIELD_TYPE_SHIFT; // Deprecated.
+    public static final long FIELD_TYPE_MESSAGE = 11L << FIELD_TYPE_SHIFT;
+    public static final long FIELD_TYPE_BYTES = 12L << FIELD_TYPE_SHIFT;
+    public static final long FIELD_TYPE_UINT32 = 13L << FIELD_TYPE_SHIFT;
+    public static final long FIELD_TYPE_ENUM = 14L << FIELD_TYPE_SHIFT;
+    public static final long FIELD_TYPE_SFIXED32 = 15L << FIELD_TYPE_SHIFT;
+    public static final long FIELD_TYPE_SFIXED64 = 16L << FIELD_TYPE_SHIFT;
+    public static final long FIELD_TYPE_SINT32 = 17L << FIELD_TYPE_SHIFT;
+    public static final long FIELD_TYPE_SINT64 = 18L << FIELD_TYPE_SHIFT;
+
+    protected static final String[] FIELD_TYPE_NAMES = new String[]{
+            "Double",
+            "Float",
+            "Int64",
+            "UInt64",
+            "Int32",
+            "Fixed64",
+            "Fixed32",
+            "Bool",
+            "String",
+            "Group",  // This field is deprecated but reserved here for indexing.
+            "Message",
+            "Bytes",
+            "UInt32",
+            "Enum",
+            "SFixed32",
+            "SFixed64",
+            "SInt32",
+            "SInt64",
+    };
+
+    //
+    // FieldId flags for whether the field is single, repeated or packed.
+    //
+    public static final int FIELD_COUNT_SHIFT = 40;
+    public static final long FIELD_COUNT_MASK = 0x0fL << FIELD_COUNT_SHIFT;
+
+    public static final long FIELD_COUNT_UNKNOWN = 0;
+    public static final long FIELD_COUNT_SINGLE = 1L << FIELD_COUNT_SHIFT;
+    public static final long FIELD_COUNT_REPEATED = 2L << FIELD_COUNT_SHIFT;
+    public static final long FIELD_COUNT_PACKED = 5L << FIELD_COUNT_SHIFT;
+
+
+    /**
+     * Get the developer-usable name of a field type.
+     */
+    public static String getFieldTypeString(long fieldType) {
+        int index = ((int) ((fieldType & FIELD_TYPE_MASK) >>> FIELD_TYPE_SHIFT)) - 1;
+        if (index >= 0 && index < FIELD_TYPE_NAMES.length) {
+            return FIELD_TYPE_NAMES[index];
+        } else {
+            return null;
+        }
+    }
+
+    /**
+     * Get the developer-usable name of a field count.
+     */
+    public static String getFieldCountString(long fieldCount) {
+        if (fieldCount == FIELD_COUNT_SINGLE) {
+            return "";
+        } else if (fieldCount == FIELD_COUNT_REPEATED) {
+            return "Repeated";
+        } else if (fieldCount == FIELD_COUNT_PACKED) {
+            return "Packed";
+        } else {
+            return null;
+        }
+    }
+
+    /**
+     * Get the developer-usable name of a wire type.
+     */
+    public static String getWireTypeString(int wireType) {
+        switch (wireType) {
+            case WIRE_TYPE_VARINT:
+                return "Varint";
+            case WIRE_TYPE_FIXED64:
+                return "Fixed64";
+            case WIRE_TYPE_LENGTH_DELIMITED:
+                return "Length Delimited";
+            case WIRE_TYPE_START_GROUP:
+                return "Start Group";
+            case WIRE_TYPE_END_GROUP:
+                return "End Group";
+            case WIRE_TYPE_FIXED32:
+                return "Fixed32";
+            default:
+                return null;
+        }
+    }
+
+    /**
+     * Get a debug string for a fieldId.
+     */
+    public static String getFieldIdString(long fieldId) {
+        final long fieldCount = fieldId & FIELD_COUNT_MASK;
+        String countString = getFieldCountString(fieldCount);
+        if (countString == null) {
+            countString = "fieldCount=" + fieldCount;
+        }
+        if (countString.length() > 0) {
+            countString += " ";
+        }
+
+        final long fieldType = fieldId & FIELD_TYPE_MASK;
+        String typeString = getFieldTypeString(fieldType);
+        if (typeString == null) {
+            typeString = "fieldType=" + fieldType;
+        }
+
+        return countString + typeString + " tag=" + ((int) fieldId)
+                + " fieldId=0x" + Long.toHexString(fieldId);
+    }
+
+    /**
+     * Combine a fieldId (the field keys in the proto file) and the field flags.
+     * Mostly useful for testing because the generated code contains the fieldId
+     * constants.
+     */
+    public static long makeFieldId(int id, long fieldFlags) {
+        return fieldFlags | (((long) id) & 0x0ffffffffL);
+    }
+
+    //
+    // Child objects
+    //
+
+    /**
+     * Make a token.
+     * Bits 61-63 - tag size (So we can go backwards later if the object had not data)
+     *            - 3 bits, max value 7, max value needed 5
+     * Bit  60    - true if the object is repeated (lets us require endObject or endRepeatedObject)
+     * Bits 59-51 - depth (For error checking)
+     *            - 9 bits, max value 512, when checking, value is masked (if we really
+     *              are more than 512 levels deep)
+     * Bits 32-50 - objectId (For error checking)
+     *            - 19 bits, max value 524,288. that's a lot of objects. IDs will wrap
+     *              because of the overflow, and only the tokens are compared.
+     * Bits  0-31 - offset of interest for the object.
+     */
+    public static long makeToken(int tagSize, boolean repeated, int depth, int objectId,
+            int offset) {
+        return ((0x07L & (long) tagSize) << 61)
+                | (repeated ? (1L << 60) : 0)
+                | (0x01ffL & (long) depth) << 51
+                | (0x07ffffL & (long) objectId) << 32
+                | (0x0ffffffffL & (long) offset);
+    }
+
+    /**
+     * Get the encoded tag size from the token.
+     */
+    public static int getTagSizeFromToken(long token) {
+        return (int) (0x7 & (token >> 61));
+    }
+
+    /**
+     * Get whether this is a call to startObject (false) or startRepeatedObject (true).
+     */
+    public static boolean getRepeatedFromToken(long token) {
+        return (0x1 & (token >> 60)) != 0;
+    }
+
+    /**
+     * Get the nesting depth of startObject calls from the token.
+     */
+    public static int getDepthFromToken(long token) {
+        return (int) (0x01ff & (token >> 51));
+    }
+
+    /**
+     * Get the object ID from the token. The object ID is a serial number for the
+     * startObject calls that have happened on this object.  The values are truncated
+     * to 9 bits, but that is sufficient for error checking.
+     */
+    public static int getObjectIdFromToken(long token) {
+        return (int) (0x07ffff & (token >> 32));
+    }
+
+    /**
+     * Get the location of the offset recorded in the token.
+     */
+    public static int getOffsetFromToken(long token) {
+        return (int) token;
+    }
+
+    /**
+     * Convert the object ID to the ordinal value -- the n-th call to startObject.
+     * The object IDs start at -1 and count backwards, so that the value is unlikely
+     * to alias with an actual size field that had been written.
+     */
+    public static int convertObjectIdToOrdinal(int objectId) {
+        return (-1 & 0x07ffff) - objectId;
+    }
+
+    /**
+     * Return a debugging string of a token.
+     */
+    public static String token2String(long token) {
+        if (token == 0L) {
+            return "Token(0)";
+        } else {
+            return "Token(val=0x" + Long.toHexString(token)
+                    + " depth=" + getDepthFromToken(token)
+                    + " object=" + convertObjectIdToOrdinal(getObjectIdFromToken(token))
+                    + " tagSize=" + getTagSizeFromToken(token)
+                    + " offset=" + getOffsetFromToken(token)
+                    + ')';
+        }
+    }
+}
diff --git a/core/java/android/util/proto/ProtoUtils.java b/core/java/android/util/proto/ProtoUtils.java
index c7bbb9f..03bf590 100644
--- a/core/java/android/util/proto/ProtoUtils.java
+++ b/core/java/android/util/proto/ProtoUtils.java
@@ -19,6 +19,8 @@
 import android.util.AggStats;
 import android.util.Duration;
 
+import java.io.IOException;
+
 /**
  * This class contains a list of helper functions to write common proto in
  * //frameworks/base/core/proto/android/base directory
@@ -70,4 +72,54 @@
             }
         }
     }
+
+    /**
+     * Provide debug data about the current field as a string
+     */
+    public static String currentFieldToString(ProtoInputStream proto) throws IOException {
+        StringBuilder sb = new StringBuilder();
+
+        final int fieldNumber = proto.getFieldNumber();
+        final int wireType = proto.getWireType();
+        long fieldConstant;
+
+        sb.append("Offset : 0x" + Integer.toHexString(proto.getOffset()));
+        sb.append("\nField Number : 0x" + Integer.toHexString(proto.getFieldNumber()));
+        sb.append("\nWire Type : ");
+        switch (wireType) {
+            case ProtoStream.WIRE_TYPE_VARINT:
+                sb.append("varint");
+                fieldConstant = ProtoStream.makeFieldId(fieldNumber,
+                        ProtoStream.FIELD_COUNT_SINGLE | ProtoStream.FIELD_TYPE_INT64);
+                sb.append("\nField Value : 0x" + Long.toHexString(proto.readLong(fieldConstant)));
+                break;
+            case ProtoStream.WIRE_TYPE_FIXED64:
+                sb.append("fixed64");
+                fieldConstant = ProtoStream.makeFieldId(fieldNumber,
+                        ProtoStream.FIELD_COUNT_SINGLE | ProtoStream.FIELD_TYPE_FIXED64);
+                sb.append("\nField Value : 0x" + Long.toHexString(proto.readLong(fieldConstant)));
+                break;
+            case ProtoStream.WIRE_TYPE_LENGTH_DELIMITED:
+                sb.append("length delimited");
+                fieldConstant = ProtoStream.makeFieldId(fieldNumber,
+                        ProtoStream.FIELD_COUNT_SINGLE | ProtoStream.FIELD_TYPE_BYTES);
+                sb.append("\nField Bytes : " + proto.readBytes(fieldConstant));
+                break;
+            case ProtoStream.WIRE_TYPE_START_GROUP:
+                sb.append("start group");
+                break;
+            case ProtoStream.WIRE_TYPE_END_GROUP:
+                sb.append("end group");
+                break;
+            case ProtoStream.WIRE_TYPE_FIXED32:
+                sb.append("fixed32");
+                fieldConstant = ProtoStream.makeFieldId(fieldNumber,
+                        ProtoStream.FIELD_COUNT_SINGLE | ProtoStream.FIELD_TYPE_FIXED32);
+                sb.append("\nField Value : 0x" + Integer.toHexString(proto.readInt(fieldConstant)));
+                break;
+            default:
+                sb.append("unknown(" + proto.getWireType() + ")");
+        }
+        return sb.toString();
+    }
 }
diff --git a/core/java/android/util/proto/WireTypeMismatchException.java b/core/java/android/util/proto/WireTypeMismatchException.java
new file mode 100644
index 0000000..d90b4f8
--- /dev/null
+++ b/core/java/android/util/proto/WireTypeMismatchException.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.util.proto;
+
+import android.annotation.TestApi;
+
+/**
+ * Thrown when there is an error parsing protobuf data.
+ *
+ * @hide
+ */
+@TestApi
+public class WireTypeMismatchException extends ProtoParseException {
+
+    /**
+     * Construct a WireTypeMismatchException.
+     *
+     * @param msg The message.
+     */
+    public WireTypeMismatchException(String msg) {
+        super(msg);
+    }
+}
+
diff --git a/core/java/android/view/AccessibilityInteractionController.java b/core/java/android/view/AccessibilityInteractionController.java
index 45fa561..eb41e07 100644
--- a/core/java/android/view/AccessibilityInteractionController.java
+++ b/core/java/android/view/AccessibilityInteractionController.java
@@ -32,6 +32,7 @@
 import android.os.Parcelable;
 import android.os.Process;
 import android.os.RemoteException;
+import android.os.SystemClock;
 import android.text.style.AccessibilityClickableSpan;
 import android.text.style.ClickableSpan;
 import android.util.LongSparseArray;
@@ -702,6 +703,14 @@
                     // Handle this hidden action separately
                     succeeded = handleClickableSpanActionUiThread(
                             target, virtualDescendantId, arguments);
+                } else if (action == R.id.accessibilityActionOutsideTouch) {
+                    // trigger ACTION_OUTSIDE to notify windows
+                    final long now = SystemClock.uptimeMillis();
+                    MotionEvent event = MotionEvent.obtain(now, now, MotionEvent.ACTION_OUTSIDE,
+                            0, 0, 0);
+                    event.setSource(InputDevice.SOURCE_TOUCHSCREEN);
+                    mViewRootImpl.dispatchInputEvent(event);
+                    succeeded = true;
                 } else {
                     AccessibilityNodeProvider provider = target.getAccessibilityNodeProvider();
                     if (provider != null) {
diff --git a/core/java/android/view/Choreographer.java b/core/java/android/view/Choreographer.java
index ce16ffc..a872776 100644
--- a/core/java/android/view/Choreographer.java
+++ b/core/java/android/view/Choreographer.java
@@ -22,6 +22,7 @@
 import android.annotation.TestApi;
 import android.annotation.UnsupportedAppUsage;
 import android.hardware.display.DisplayManagerGlobal;
+import android.os.Build;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
@@ -153,7 +154,7 @@
         public String toString() { return "FRAME_CALLBACK_TOKEN"; }
     };
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final Object mLock = new Object();
 
     private final Looper mLooper;
diff --git a/core/java/android/view/DisplayListCanvas.java b/core/java/android/view/DisplayListCanvas.java
index 4b946d7..667fab5 100644
--- a/core/java/android/view/DisplayListCanvas.java
+++ b/core/java/android/view/DisplayListCanvas.java
@@ -19,6 +19,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.UnsupportedAppUsage;
+import android.graphics.BaseRecordingCanvas;
 import android.graphics.Bitmap;
 import android.graphics.CanvasProperty;
 import android.graphics.Paint;
@@ -35,7 +36,7 @@
  *
  * @hide
  */
-public final class DisplayListCanvas extends RecordingCanvas {
+public final class DisplayListCanvas extends BaseRecordingCanvas {
     // The recording canvas pool should be large enough to handle a deeply nested
     // view hierarchy because display lists are generated recursively.
     private static final int POOL_LIMIT = 25;
diff --git a/core/java/android/view/IWindowManager.aidl b/core/java/android/view/IWindowManager.aidl
index bfe1e95..3bab87a 100644
--- a/core/java/android/view/IWindowManager.aidl
+++ b/core/java/android/view/IWindowManager.aidl
@@ -17,8 +17,6 @@
 package android.view;
 
 import com.android.internal.os.IResultReceiver;
-import com.android.internal.view.IInputContext;
-import com.android.internal.view.IInputMethodClient;
 import com.android.internal.policy.IKeyguardDismissCallback;
 import com.android.internal.policy.IShortcutService;
 
@@ -71,8 +69,7 @@
     boolean stopViewServer();            // Transaction #2
     boolean isViewServerRunning();       // Transaction #3
 
-    IWindowSession openSession(in IWindowSessionCallback callback, in IInputMethodClient client,
-            in IInputContext inputContext);
+    IWindowSession openSession(in IWindowSessionCallback callback);
 
     void getInitialDisplaySize(int displayId, out Point size);
     void getBaseDisplaySize(int displayId, out Point size);
diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java
index 8641d7f..c38fcf3 100644
--- a/core/java/android/view/KeyEvent.java
+++ b/core/java/android/view/KeyEvent.java
@@ -21,6 +21,7 @@
 import android.annotation.NonNull;
 import android.annotation.TestApi;
 import android.annotation.UnsupportedAppUsage;
+import android.os.Build;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.text.method.MetaKeyKeyListener;
@@ -1256,7 +1257,7 @@
 
     @UnsupportedAppUsage
     private int mDeviceId;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private int mSource;
     private int mDisplayId;
     @UnsupportedAppUsage
@@ -1658,7 +1659,7 @@
      * @hide
      */
     @Override
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public final void recycle() {
         super.recycle();
         mCharacters = null;
diff --git a/core/java/android/view/LayoutInflater.java b/core/java/android/view/LayoutInflater.java
index c520a99..9aab419 100644
--- a/core/java/android/view/LayoutInflater.java
+++ b/core/java/android/view/LayoutInflater.java
@@ -17,6 +17,7 @@
 package android.view;
 
 import android.annotation.LayoutRes;
+import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SystemService;
 import android.annotation.UnsupportedAppUsage;
@@ -154,7 +155,9 @@
          * @return View Newly created view. Return null for the default
          *         behavior.
          */
-        public View onCreateView(String name, Context context, AttributeSet attrs);
+        @Nullable
+        View onCreateView(@NonNull String name, @NonNull Context context,
+                @NonNull AttributeSet attrs);
     }
 
     public interface Factory2 extends Factory {
@@ -172,7 +175,9 @@
          * @return View Newly created view. Return null for the default
          *         behavior.
          */
-        public View onCreateView(View parent, String name, Context context, AttributeSet attrs);
+        @Nullable
+        View onCreateView(@Nullable View parent, @NonNull String name,
+                @NonNull Context context, @NonNull AttributeSet attrs);
     }
 
     private static class FactoryMerger implements Factory2 {
@@ -186,13 +191,17 @@
             mF22 = f22;
         }
 
-        public View onCreateView(String name, Context context, AttributeSet attrs) {
+        @Nullable
+        public View onCreateView(@NonNull String name, @NonNull Context context,
+                @NonNull AttributeSet attrs) {
             View v = mF1.onCreateView(name, context, attrs);
             if (v != null) return v;
             return mF2.onCreateView(name, context, attrs);
         }
 
-        public View onCreateView(View parent, String name, Context context, AttributeSet attrs) {
+        @Nullable
+        public View onCreateView(@Nullable View parent, @NonNull String name,
+                @NonNull Context context, @NonNull AttributeSet attrs) {
             View v = mF12 != null ? mF12.onCreateView(parent, name, context, attrs)
                     : mF1.onCreateView(name, context, attrs);
             if (v != null) return v;
diff --git a/core/tests/webkit/apk_with_native_libs/src/com/google/android/xts/webview_list/WebViewLoadingTestClass.java b/core/java/android/view/NativeVectorDrawableAnimator.java
similarity index 63%
copy from core/tests/webkit/apk_with_native_libs/src/com/google/android/xts/webview_list/WebViewLoadingTestClass.java
copy to core/java/android/view/NativeVectorDrawableAnimator.java
index 0efa4b4..b0556a3 100644
--- a/core/tests/webkit/apk_with_native_libs/src/com/google/android/xts/webview_list/WebViewLoadingTestClass.java
+++ b/core/java/android/view/NativeVectorDrawableAnimator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2017 The Android Open Source Project
+ * Copyright (C) 2018 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.
@@ -14,11 +14,16 @@
  * limitations under the License.
  */
 
-
-package com.android.webview.chromium;
+package android.view;
 
 /**
- * An empty class for testing purposes.
+ * Exists just to allow for android.graphics & android.view package separation
+ *
+ * TODO: Get off of this coupling more cleanly somehow
+ *
+ * @hide
  */
-public class WebViewLoadingTestClass {
+public interface NativeVectorDrawableAnimator {
+    /** @hide */
+    long getAnimatorNativePtr();
 }
diff --git a/core/java/android/view/PointerIcon.java b/core/java/android/view/PointerIcon.java
index dc097a1..cf11fd0 100644
--- a/core/java/android/view/PointerIcon.java
+++ b/core/java/android/view/PointerIcon.java
@@ -31,6 +31,7 @@
 import android.graphics.drawable.AnimationDrawable;
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
+import android.os.Build;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.util.Log;
@@ -146,7 +147,7 @@
     private static final SparseArray<PointerIcon> gSystemIcons = new SparseArray<PointerIcon>();
     private static boolean sUseLargeIcons = false;
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final int mType;
     private int mSystemIconResourceId;
     @UnsupportedAppUsage
@@ -319,7 +320,7 @@
      * @throws IllegalArgumentException if context is null.
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public PointerIcon load(@NonNull Context context) {
         if (context == null) {
             throw new IllegalArgumentException("context must not be null");
diff --git a/core/java/android/view/RenderNode.java b/core/java/android/view/RenderNode.java
index fcea0c3..8ae9127 100644
--- a/core/java/android/view/RenderNode.java
+++ b/core/java/android/view/RenderNode.java
@@ -24,7 +24,6 @@
 import android.graphics.Outline;
 import android.graphics.Paint;
 import android.graphics.Rect;
-import android.graphics.drawable.AnimatedVectorDrawable;
 
 import dalvik.annotation.optimization.CriticalNative;
 import dalvik.annotation.optimization.FastNative;
@@ -148,12 +147,12 @@
      * @hide
      */
     final long mNativeRenderNode;
-    private final View mOwningView;
+    private final AnimationHost mAnimationHost;
 
-    private RenderNode(String name, View owningView) {
+    private RenderNode(String name, AnimationHost animationHost) {
         mNativeRenderNode = nCreate(name);
         NoImagePreloadHolder.sRegistry.registerNativeAllocation(this, mNativeRenderNode);
-        mOwningView = owningView;
+        mAnimationHost = animationHost;
     }
 
     /**
@@ -162,7 +161,7 @@
     private RenderNode(long nativePtr) {
         mNativeRenderNode = nativePtr;
         NoImagePreloadHolder.sRegistry.registerNativeAllocation(this, mNativeRenderNode);
-        mOwningView = null;
+        mAnimationHost = null;
     }
 
     /**
@@ -174,8 +173,8 @@
      * @return A new RenderNode.
      */
     @UnsupportedAppUsage
-    public static RenderNode create(String name, @Nullable View owningView) {
-        return new RenderNode(name, owningView);
+    public static RenderNode create(String name, @Nullable AnimationHost animationHost) {
+        return new RenderNode(name, animationHost);
     }
 
     /**
@@ -189,10 +188,37 @@
     }
 
     /**
+     * Listens for RenderNode position updates for synchronous window movement.
+     *
+     * This is not suitable for generic position listening, it is only designed & intended
+     * for use by things which require external position events like SurfaceView, PopupWindow, etc..
+     *
+     * @hide
+     */
+    interface PositionUpdateListener {
+
+        /**
+         * Called by native by a Rendering Worker thread to update window position
+         *
+         * @hide
+         */
+        void positionChanged(long frameNumber, int left, int top, int right, int bottom);
+
+        /**
+         * Called by native on RenderThread to notify that the view is no longer in the
+         * draw tree. UI thread is blocked at this point.
+         *
+         * @hide
+         */
+        void positionLost(long frameNumber);
+
+    }
+
+    /**
      * Enable callbacks for position changes.
      */
-    public void requestPositionUpdates(SurfaceView view) {
-        nRequestPositionUpdates(mNativeRenderNode, view);
+    public void requestPositionUpdates(PositionUpdateListener listener) {
+        nRequestPositionUpdates(mNativeRenderNode, listener);
     }
 
 
@@ -843,30 +869,72 @@
         return nGetDebugSize(mNativeRenderNode);
     }
 
+    /**
+     * Sets whether or not to allow force dark to apply to this RenderNode.
+     *
+     * Setting this to false will disable the auto-dark feature on everything this RenderNode
+     * draws, including any descendants.
+     *
+     * Setting this to true will allow this RenderNode to be automatically made dark, however
+     * a value of 'true' will not override any 'false' value in its parent chain nor will
+     * it prevent any 'false' in any of its children.
+     *
+     * @param allow Whether or not to allow force dark.
+     * @return true If the value has changed, false otherwise.
+     */
+    public boolean setAllowForceDark(boolean allow) {
+        return nSetAllowForceDark(mNativeRenderNode, allow);
+    }
+
+    /**
+     * See {@link #setAllowForceDark(boolean)}
+     *
+     * @return true if force dark is allowed (default), false if it is disabled
+     */
+    public boolean getAllowForceDark() {
+        return nGetAllowForceDark(mNativeRenderNode);
+    }
+
     ///////////////////////////////////////////////////////////////////////////
     // Animations
     ///////////////////////////////////////////////////////////////////////////
 
+    /**
+     * TODO: Figure out if this can be eliminated/refactored away
+     *
+     * For now this interface exists to de-couple RenderNode from anything View-specific in a
+     * bit of a kludge.
+     *
+     * @hide */
+    interface AnimationHost {
+        void registerAnimatingRenderNode(RenderNode animator);
+        void registerVectorDrawableAnimator(NativeVectorDrawableAnimator animator);
+        boolean isAttached();
+    }
+
+    /** @hide */
     public void addAnimator(RenderNodeAnimator animator) {
-        if (mOwningView == null || mOwningView.mAttachInfo == null) {
+        if (!isAttached()) {
             throw new IllegalStateException("Cannot start this animator on a detached view!");
         }
         nAddAnimator(mNativeRenderNode, animator.getNativeAnimator());
-        mOwningView.mAttachInfo.mViewRootImpl.registerAnimatingRenderNode(this);
+        mAnimationHost.registerAnimatingRenderNode(this);
     }
 
+    /** @hide */
     public boolean isAttached() {
-        return mOwningView != null && mOwningView.mAttachInfo != null;
+        return mAnimationHost != null && mAnimationHost.isAttached();
     }
 
-    public void registerVectorDrawableAnimator(
-            AnimatedVectorDrawable.VectorDrawableAnimatorRT animatorSet) {
-        if (mOwningView == null || mOwningView.mAttachInfo == null) {
+    /** @hide */
+    public void registerVectorDrawableAnimator(NativeVectorDrawableAnimator animatorSet) {
+        if (!isAttached()) {
             throw new IllegalStateException("Cannot start this animator on a detached view!");
         }
-        mOwningView.mAttachInfo.mViewRootImpl.registerVectorDrawableAnimator(animatorSet);
+        mAnimationHost.registerVectorDrawableAnimator(animatorSet);
     }
 
+    /** @hide */
     public void endAllAnimators() {
         nEndAllAnimators(mNativeRenderNode);
     }
@@ -880,7 +948,8 @@
     private static native long nGetNativeFinalizer();
     private static native void nOutput(long renderNode);
     private static native int nGetDebugSize(long renderNode);
-    private static native void nRequestPositionUpdates(long renderNode, SurfaceView callback);
+    private static native void nRequestPositionUpdates(long renderNode,
+            PositionUpdateListener callback);
 
     // Animations
 
@@ -1043,4 +1112,8 @@
     private static native int nGetWidth(long renderNode);
     @CriticalNative
     private static native int nGetHeight(long renderNode);
+    @CriticalNative
+    private static native boolean nSetAllowForceDark(long renderNode, boolean allowForceDark);
+    @CriticalNative
+    private static native boolean nGetAllowForceDark(long renderNode);
 }
diff --git a/core/java/android/view/Surface.java b/core/java/android/view/Surface.java
index 427f570..6fb1bba 100644
--- a/core/java/android/view/Surface.java
+++ b/core/java/android/view/Surface.java
@@ -895,6 +895,7 @@
         HwuiContext(boolean isWideColorGamut) {
             mRenderNode = RenderNode.create("HwuiCanvas", null);
             mRenderNode.setClipToBounds(false);
+            mRenderNode.setAllowForceDark(false);
             mIsWideColorGamut = isWideColorGamut;
             mHwuiRenderer = nHwuiCreate(mRenderNode.mNativeRenderNode, mNativeObject,
                     isWideColorGamut);
diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java
index 79eafa8..7271a9e 100644
--- a/core/java/android/view/SurfaceControl.java
+++ b/core/java/android/view/SurfaceControl.java
@@ -70,15 +70,8 @@
     private static native void nativeDestroy(long nativeObject);
     private static native void nativeDisconnect(long nativeObject);
 
-    private static native Bitmap nativeScreenshot(IBinder displayToken,
-            Rect sourceCrop, int width, int height, int minLayer, int maxLayer,
-            boolean allLayers, boolean useIdentityTransform, int rotation);
-    private static native GraphicBuffer nativeScreenshotToBuffer(IBinder displayToken,
-            Rect sourceCrop, int width, int height, int minLayer, int maxLayer,
-            boolean allLayers, boolean useIdentityTransform, int rotation);
-    private static native void nativeScreenshot(IBinder displayToken, Surface consumer,
-            Rect sourceCrop, int width, int height, int minLayer, int maxLayer,
-            boolean allLayers, boolean useIdentityTransform);
+    private static native GraphicBuffer nativeScreenshot(IBinder displayToken,
+            Rect sourceCrop, int width, int height, boolean useIdentityTransform, int rotation);
     private static native GraphicBuffer nativeCaptureLayers(IBinder layerHandleToken,
             Rect sourceCrop, float frameScale);
 
@@ -1189,52 +1182,39 @@
     }
 
     /**
-     * Copy the current screen contents into the provided {@link Surface}
-     *
-     * @param display The display to take the screenshot of.
-     * @param consumer The {@link Surface} to take the screenshot into.
-     * @param width The desired width of the returned bitmap; the raw
-     * screen will be scaled down to this size.
-     * @param height The desired height of the returned bitmap; the raw
-     * screen will be scaled down to this size.
-     * @param minLayer The lowest (bottom-most Z order) surface layer to
-     * include in the screenshot.
-     * @param maxLayer The highest (top-most Z order) surface layer to
-     * include in the screenshot.
-     * @param useIdentityTransform Replace whatever transformation (rotation,
-     * scaling, translation) the surface layers are currently using with the
-     * identity transformation while taking the screenshot.
-     */
-    public static void screenshot(IBinder display, Surface consumer,
-            int width, int height, int minLayer, int maxLayer,
-            boolean useIdentityTransform) {
-        screenshot(display, consumer, new Rect(), width, height, minLayer, maxLayer,
-                false, useIdentityTransform);
-    }
-
-    /**
-     * Copy the current screen contents into the provided {@link Surface}
-     *
-     * @param display The display to take the screenshot of.
-     * @param consumer The {@link Surface} to take the screenshot into.
-     * @param width The desired width of the returned bitmap; the raw
-     * screen will be scaled down to this size.
-     * @param height The desired height of the returned bitmap; the raw
-     * screen will be scaled down to this size.
-     */
-    public static void screenshot(IBinder display, Surface consumer,
-            int width, int height) {
-        screenshot(display, consumer, new Rect(), width, height, 0, 0, true, false);
-    }
-
-    /**
-     * Copy the current screen contents into the provided {@link Surface}
-     *
-     * @param display The display to take the screenshot of.
-     * @param consumer The {@link Surface} to take the screenshot into.
+     * @see SurfaceControl#screenshot(IBinder, Surface, Rect, int, int, boolean, int)
      */
     public static void screenshot(IBinder display, Surface consumer) {
-        screenshot(display, consumer, new Rect(), 0, 0, 0, 0, true, false);
+        screenshot(display, consumer, new Rect(), 0, 0, false, 0);
+    }
+
+    /**
+     * Copy the current screen contents into the provided {@link Surface}
+     *
+     * @param consumer The {@link Surface} to take the screenshot into.
+     * @see SurfaceControl#screenshotToBuffer(IBinder, Rect, int, int, boolean, int)
+     */
+    public static void screenshot(IBinder display, Surface consumer, Rect sourceCrop, int width,
+            int height, boolean useIdentityTransform, int rotation) {
+        if (consumer == null) {
+            throw new IllegalArgumentException("consumer must not be null");
+        }
+
+        final GraphicBuffer buffer = screenshotToBuffer(display, sourceCrop, width, height,
+                useIdentityTransform, rotation);
+        try {
+            consumer.attachAndQueueBuffer(buffer);
+        } catch (RuntimeException e) {
+            Log.w(TAG, "Failed to take screenshot - " + e.getMessage());
+        }
+    }
+
+    /**
+     * @see SurfaceControl#screenshot(Rect, int, int, boolean, int)}
+     */
+    @UnsupportedAppUsage
+    public static Bitmap screenshot(Rect sourceCrop, int width, int height, int rotation) {
+        return screenshot(sourceCrop, width, height, false, rotation);
     }
 
     /**
@@ -1242,79 +1222,16 @@
      * Note: If you want to modify the Bitmap in software, you will need to copy the Bitmap into
      * a software Bitmap using {@link Bitmap#copy(Bitmap.Config, boolean)}
      *
-     * CAVEAT: Versions of screenshot that return a {@link Bitmap} can
-     * be extremely slow; avoid use unless absolutely necessary; prefer
-     * the versions that use a {@link Surface} instead, such as
-     * {@link SurfaceControl#screenshot(IBinder, Surface)}.
+     * CAVEAT: Versions of screenshot that return a {@link Bitmap} can be extremely slow; avoid use
+     * unless absolutely necessary; prefer the versions that use a {@link Surface} such as
+     * {@link SurfaceControl#screenshot(IBinder, Surface)} or {@link GraphicBuffer} such as
+     * {@link SurfaceControl#screenshotToBuffer(IBinder, Rect, int, int, boolean, int)}.
      *
-     * @param sourceCrop The portion of the screen to capture into the Bitmap;
-     * caller may pass in 'new Rect()' if no cropping is desired.
-     * @param width The desired width of the returned bitmap; the raw
-     * screen will be scaled down to this size.
-     * @param height The desired height of the returned bitmap; the raw
-     * screen will be scaled down to this size.
-     * @param minLayer The lowest (bottom-most Z order) surface layer to
-     * include in the screenshot.
-     * @param maxLayer The highest (top-most Z order) surface layer to
-     * include in the screenshot.
-     * @param useIdentityTransform Replace whatever transformation (rotation,
-     * scaling, translation) the surface layers are currently using with the
-     * identity transformation while taking the screenshot.
-     * @param rotation Apply a custom clockwise rotation to the screenshot, i.e.
-     * Surface.ROTATION_0,90,180,270. Surfaceflinger will always take
-     * screenshots in its native portrait orientation by default, so this is
-     * useful for returning screenshots that are independent of device
-     * orientation.
-     * @return Returns a hardware Bitmap containing the screen contents, or null
-     * if an error occurs. Make sure to call Bitmap.recycle() as soon as
-     * possible, once its content is not needed anymore.
+     * @see SurfaceControl#screenshotToBuffer(IBinder, Rect, int, int, boolean, int)}
      */
     @UnsupportedAppUsage
     public static Bitmap screenshot(Rect sourceCrop, int width, int height,
-            int minLayer, int maxLayer, boolean useIdentityTransform,
-            int rotation) {
-        // TODO: should take the display as a parameter
-        IBinder displayToken = SurfaceControl.getBuiltInDisplay(
-                SurfaceControl.BUILT_IN_DISPLAY_ID_MAIN);
-        return nativeScreenshot(displayToken, sourceCrop, width, height,
-                minLayer, maxLayer, false, useIdentityTransform, rotation);
-    }
-
-    /**
-     * Like {@link SurfaceControl#screenshot(Rect, int, int, int, int, boolean, int)}
-     * but returns a GraphicBuffer.
-     */
-    public static GraphicBuffer screenshotToBuffer(Rect sourceCrop, int width, int height,
-            int minLayer, int maxLayer, boolean useIdentityTransform,
-            int rotation) {
-        IBinder displayToken = SurfaceControl.getBuiltInDisplay(
-                SurfaceControl.BUILT_IN_DISPLAY_ID_MAIN);
-        return nativeScreenshotToBuffer(displayToken, sourceCrop, width, height,
-                minLayer, maxLayer, false, useIdentityTransform, rotation);
-    }
-
-    /**
-     * Like {@link SurfaceControl#screenshot(Rect, int, int, int, int, boolean, int)} but
-     * includes all Surfaces in the screenshot. This will also update the orientation so it
-     * sends the correct coordinates to SF based on the rotation value.
-     *
-     * @param sourceCrop The portion of the screen to capture into the Bitmap;
-     * caller may pass in 'new Rect()' if no cropping is desired.
-     * @param width The desired width of the returned bitmap; the raw
-     * screen will be scaled down to this size.
-     * @param height The desired height of the returned bitmap; the raw
-     * screen will be scaled down to this size.
-     * @param rotation Apply a custom clockwise rotation to the screenshot, i.e.
-     * Surface.ROTATION_0,90,180,270. Surfaceflinger will always take
-     * screenshots in its native portrait orientation by default, so this is
-     * useful for returning screenshots that are independent of device
-     * orientation.
-     * @return Returns a Bitmap containing the screen contents, or null
-     * if an error occurs. Make sure to call Bitmap.recycle() as soon as
-     * possible, once its content is not needed anymore.
-     */
-    @UnsupportedAppUsage
-    public static Bitmap screenshot(Rect sourceCrop, int width, int height, int rotation) {
+            boolean useIdentityTransform, int rotation) {
         // TODO: should take the display as a parameter
         IBinder displayToken = SurfaceControl.getBuiltInDisplay(
                 SurfaceControl.BUILT_IN_DISPLAY_ID_MAIN);
@@ -1323,22 +1240,45 @@
         }
 
         SurfaceControl.rotateCropForSF(sourceCrop, rotation);
-        return nativeScreenshot(displayToken, sourceCrop, width, height, 0, 0, true,
-                false, rotation);
+        final GraphicBuffer buffer = screenshotToBuffer(displayToken, sourceCrop, width, height,
+                useIdentityTransform, rotation);
+
+        if (buffer == null) {
+            Log.w(TAG, "Failed to take screenshot");
+            return null;
+        }
+        return Bitmap.createHardwareBitmap(buffer);
     }
 
-    @UnsupportedAppUsage
-    private static void screenshot(IBinder display, Surface consumer, Rect sourceCrop,
-            int width, int height, int minLayer, int maxLayer, boolean allLayers,
-            boolean useIdentityTransform) {
+    /**
+     * Captures all the surfaces in a display and returns a {@link GraphicBuffer} with the content.
+     *
+     * @param display              The display to take the screenshot of.
+     * @param sourceCrop           The portion of the screen to capture into the Bitmap; caller may
+     *                             pass in 'new Rect()' if no cropping is desired.
+     * @param width                The desired width of the returned bitmap; the raw screen will be
+     *                             scaled down to this size; caller may pass in 0 if no scaling is
+     *                             desired.
+     * @param height               The desired height of the returned bitmap; the raw screen will
+     *                             be scaled down to this size; caller may pass in 0 if no scaling
+     *                             is desired.
+     * @param useIdentityTransform Replace whatever transformation (rotation, scaling, translation)
+     *                             the surface layers are currently using with the identity
+     *                             transformation while taking the screenshot.
+     * @param rotation             Apply a custom clockwise rotation to the screenshot, i.e.
+     *                             Surface.ROTATION_0,90,180,270. SurfaceFlinger will always take
+     *                             screenshots in its native portrait orientation by default, so
+     *                             this is useful for returning screenshots that are independent of
+     *                             device orientation.
+     * @return Returns a GraphicBuffer that contains the captured content.
+     */
+    public static GraphicBuffer screenshotToBuffer(IBinder display, Rect sourceCrop, int width,
+            int height, boolean useIdentityTransform, int rotation) {
         if (display == null) {
             throw new IllegalArgumentException("displayToken must not be null");
         }
-        if (consumer == null) {
-            throw new IllegalArgumentException("consumer must not be null");
-        }
-        nativeScreenshot(display, consumer, sourceCrop, width, height,
-                minLayer, maxLayer, allLayers, useIdentityTransform);
+
+        return nativeScreenshot(display, sourceCrop, width, height, useIdentityTransform, rotation);
     }
 
     private static void rotateCropForSF(Rect crop, int rot) {
diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java
index 514a11e..e71182c 100644
--- a/core/java/android/view/SurfaceView.java
+++ b/core/java/android/view/SurfaceView.java
@@ -209,7 +209,7 @@
 
     public SurfaceView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
         super(context, attrs, defStyleAttr, defStyleRes);
-        mRenderNode.requestPositionUpdates(this);
+        mRenderNode.requestPositionUpdates(mPositionListener);
 
         setWillNotDraw(true);
     }
@@ -826,81 +826,80 @@
 
     private Rect mRTLastReportedPosition = new Rect();
 
-    /**
-     * Called by native by a Rendering Worker thread to update the window position
-     * @hide
-     */
-    @UnsupportedAppUsage
-    public final void updateSurfacePosition_renderWorker(long frameNumber,
-            int left, int top, int right, int bottom) {
-        if (mSurfaceControl == null) {
-            return;
-        }
+    private RenderNode.PositionUpdateListener mPositionListener =
+            new RenderNode.PositionUpdateListener() {
 
-        // TODO: This is teensy bit racey in that a brand new SurfaceView moving on
-        // its 2nd frame if RenderThread is running slowly could potentially see
-        // this as false, enter the branch, get pre-empted, then this comes along
-        // and reports a new position, then the UI thread resumes and reports
-        // its position. This could therefore be de-sync'd in that interval, but
-        // the synchronization would violate the rule that RT must never block
-        // on the UI thread which would open up potential deadlocks. The risk of
-        // a single-frame desync is therefore preferable for now.
-        mRtHandlingPositionUpdates = true;
-        if (mRTLastReportedPosition.left == left
-                && mRTLastReportedPosition.top == top
-                && mRTLastReportedPosition.right == right
-                && mRTLastReportedPosition.bottom == bottom) {
-            return;
-        }
-        try {
-            if (DEBUG) {
-                Log.d(TAG, String.format("%d updateSurfacePosition RenderWorker, frameNr = %d, " +
-                        "postion = [%d, %d, %d, %d]", System.identityHashCode(this),
-                        frameNumber, left, top, right, bottom));
+        @Override
+        public void positionChanged(long frameNumber, int left, int top, int right, int bottom) {
+            if (mSurfaceControl == null) {
+                return;
             }
-            mRTLastReportedPosition.set(left, top, right, bottom);
-            setParentSpaceRectangle(mRTLastReportedPosition, frameNumber);
-            // Now overwrite mRTLastReportedPosition with our values
-        } catch (Exception ex) {
-            Log.e(TAG, "Exception from repositionChild", ex);
-        }
-    }
 
-    /**
-     * Called by native on RenderThread to notify that the view is no longer in the
-     * draw tree. UI thread is blocked at this point.
-     * @hide
-     */
-    @UnsupportedAppUsage
-    public final void surfacePositionLost_uiRtSync(long frameNumber) {
-        if (DEBUG) {
-            Log.d(TAG, String.format("%d windowPositionLost, frameNr = %d",
-                    System.identityHashCode(this), frameNumber));
+            // TODO: This is teensy bit racey in that a brand new SurfaceView moving on
+            // its 2nd frame if RenderThread is running slowly could potentially see
+            // this as false, enter the branch, get pre-empted, then this comes along
+            // and reports a new position, then the UI thread resumes and reports
+            // its position. This could therefore be de-sync'd in that interval, but
+            // the synchronization would violate the rule that RT must never block
+            // on the UI thread which would open up potential deadlocks. The risk of
+            // a single-frame desync is therefore preferable for now.
+            mRtHandlingPositionUpdates = true;
+            if (mRTLastReportedPosition.left == left
+                    && mRTLastReportedPosition.top == top
+                    && mRTLastReportedPosition.right == right
+                    && mRTLastReportedPosition.bottom == bottom) {
+                return;
+            }
+            try {
+                if (DEBUG) {
+                    Log.d(TAG, String.format(
+                            "%d updateSurfacePosition RenderWorker, frameNr = %d, "
+                                    + "postion = [%d, %d, %d, %d]",
+                            System.identityHashCode(this), frameNumber,
+                            left, top, right, bottom));
+                }
+                mRTLastReportedPosition.set(left, top, right, bottom);
+                setParentSpaceRectangle(mRTLastReportedPosition, frameNumber);
+                // Now overwrite mRTLastReportedPosition with our values
+            } catch (Exception ex) {
+                Log.e(TAG, "Exception from repositionChild", ex);
+            }
         }
-        mRTLastReportedPosition.setEmpty();
 
-        if (mSurfaceControl == null) {
-            return;
-        }
-        if (mRtHandlingPositionUpdates) {
-            mRtHandlingPositionUpdates = false;
-            // This callback will happen while the UI thread is blocked, so we can
-            // safely access other member variables at this time.
-            // So do what the UI thread would have done if RT wasn't handling position
-            // updates.
-            if (!mScreenRect.isEmpty() && !mScreenRect.equals(mRTLastReportedPosition)) {
-                try {
-                    if (DEBUG) Log.d(TAG, String.format("%d updateSurfacePosition, " +
-                            "postion = [%d, %d, %d, %d]", System.identityHashCode(this),
-                            mScreenRect.left, mScreenRect.top,
-                            mScreenRect.right, mScreenRect.bottom));
-                    setParentSpaceRectangle(mScreenRect, frameNumber);
-                } catch (Exception ex) {
-                    Log.e(TAG, "Exception configuring surface", ex);
+        @Override
+        public void positionLost(long frameNumber) {
+            if (DEBUG) {
+                Log.d(TAG, String.format("%d windowPositionLost, frameNr = %d",
+                        System.identityHashCode(this), frameNumber));
+            }
+            mRTLastReportedPosition.setEmpty();
+
+            if (mSurfaceControl == null) {
+                return;
+            }
+            if (mRtHandlingPositionUpdates) {
+                mRtHandlingPositionUpdates = false;
+                // This callback will happen while the UI thread is blocked, so we can
+                // safely access other member variables at this time.
+                // So do what the UI thread would have done if RT wasn't handling position
+                // updates.
+                if (!mScreenRect.isEmpty() && !mScreenRect.equals(mRTLastReportedPosition)) {
+                    try {
+                        if (DEBUG) {
+                            Log.d(TAG, String.format("%d updateSurfacePosition, "
+                                            + "postion = [%d, %d, %d, %d]",
+                                    System.identityHashCode(this),
+                                    mScreenRect.left, mScreenRect.top,
+                                    mScreenRect.right, mScreenRect.bottom));
+                        }
+                        setParentSpaceRectangle(mScreenRect, frameNumber);
+                    } catch (Exception ex) {
+                        Log.e(TAG, "Exception configuring surface", ex);
+                    }
                 }
             }
         }
-    }
+    };
 
     private SurfaceHolder.Callback[] getSurfaceCallbacks() {
         SurfaceHolder.Callback callbacks[];
diff --git a/core/java/android/view/ThreadedRenderer.java b/core/java/android/view/ThreadedRenderer.java
index 6737839..42690ce 100644
--- a/core/java/android/view/ThreadedRenderer.java
+++ b/core/java/android/view/ThreadedRenderer.java
@@ -25,7 +25,6 @@
 import android.graphics.Bitmap;
 import android.graphics.Point;
 import android.graphics.Rect;
-import android.graphics.drawable.AnimatedVectorDrawable;
 import android.os.IBinder;
 import android.os.ParcelFileDescriptor;
 import android.os.RemoteException;
@@ -914,8 +913,7 @@
         nRegisterAnimatingRenderNode(mRootNode.mNativeRenderNode, animator.mNativeRenderNode);
     }
 
-    void registerVectorDrawableAnimator(
-        AnimatedVectorDrawable.VectorDrawableAnimatorRT animator) {
+    void registerVectorDrawableAnimator(NativeVectorDrawableAnimator animator) {
         nRegisterVectorDrawableAnimator(mRootNode.mNativeRenderNode,
                 animator.getAnimatorNativePtr());
     }
@@ -976,6 +974,25 @@
         }
     }
 
+    /** The root of everything */
+    public @NonNull RenderNode getRootNode() {
+        return mRootNode;
+    }
+
+    private boolean mForceDark = false;
+
+    /**
+     * Whether or not the force-dark feature should be used for this renderer.
+     */
+    public boolean setForceDark(boolean enable) {
+        if (mForceDark != enable) {
+            mForceDark = enable;
+            nSetForceDark(mNativeProxy, enable);
+            return true;
+        }
+        return false;
+    }
+
     /**
      * Basic synchronous renderer. Currently only used to render the Magnifier, so use with care.
      * TODO: deduplicate against ThreadedRenderer.
@@ -1255,4 +1272,5 @@
     private static native void nSetIsolatedProcess(boolean enabled);
     private static native void nSetContextPriority(int priority);
     private static native void nAllocateBuffers(long nativeProxy, Surface window);
+    private static native void nSetForceDark(long nativeProxy, boolean enabled);
 }
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 9bc53ed..b2944d6 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -4582,7 +4582,7 @@
     /**
      * Object that handles automatic animation of view properties.
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private ViewPropertyAnimator mAnimator = null;
 
     /**
@@ -4864,7 +4864,7 @@
         setOverScrollMode(OVER_SCROLL_IF_CONTENT_SCROLLS);
         mUserPaddingStart = UNDEFINED_PADDING;
         mUserPaddingEnd = UNDEFINED_PADDING;
-        mRenderNode = RenderNode.create(getClass().getName(), this);
+        mRenderNode = RenderNode.create(getClass().getName(), new ViewAnimationHostBridge(this));
 
         if (!sCompatibilityDone && context != null) {
             final int targetSdkVersion = context.getApplicationInfo().targetSdkVersion;
@@ -5732,7 +5732,7 @@
     @UnsupportedAppUsage
     View() {
         mResources = null;
-        mRenderNode = RenderNode.create(getClass().getName(), this);
+        mRenderNode = RenderNode.create(getClass().getName(), new ViewAnimationHostBridge(this));
     }
 
     final boolean debugDraw() {
@@ -6876,7 +6876,7 @@
      * @param requestCode The request code to use.
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public void startActivityForResult(Intent intent, int requestCode) {
         mStartActivityRequestWho = "@android:view:" + System.identityHashCode(this);
         getContext().startActivityForResult(mStartActivityRequestWho, intent, requestCode, null);
@@ -7315,7 +7315,7 @@
         // Here we check whether we still need the default focus highlight, and switch it on/off.
         switchDefaultFocusHighlight();
 
-        InputMethodManager imm = InputMethodManager.peekInstance();
+        InputMethodManager imm = getContext().getSystemService(InputMethodManager.class);
         if (!gainFocus) {
             if (isPressed()) {
                 setPressed(false);
@@ -8523,6 +8523,11 @@
         }
         if (importance == IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS
                 || importance == IMPORTANT_FOR_AUTOFILL_NO) {
+            if (Log.isLoggable(AUTOFILL_LOG_TAG, Log.VERBOSE)) {
+                Log.v(AUTOFILL_LOG_TAG, "View (autofillId=" +  getAutofillViewId() + ", "
+                        + getClass() + ") is not important for autofill because its "
+                        + "importance is " + importance);
+            }
             return false;
         }
 
@@ -12476,7 +12481,7 @@
         mPrivateFlags3 &= ~PFLAG3_TEMPORARY_DETACH;
         onFinishTemporaryDetach();
         if (hasWindowFocus() && hasFocus()) {
-            InputMethodManager.getInstance().focusIn(this);
+            getContext().getSystemService(InputMethodManager.class).focusIn(this);
         }
         notifyEnterOrExitForAutoFillIfNeeded(true);
     }
@@ -12867,7 +12872,7 @@
      *        focus, false otherwise.
      */
     public void onWindowFocusChanged(boolean hasWindowFocus) {
-        InputMethodManager imm = InputMethodManager.peekInstance();
+        InputMethodManager imm = getContext().getSystemService(InputMethodManager.class);
         if (!hasWindowFocus) {
             if (isPressed()) {
                 setPressed(false);
@@ -15241,6 +15246,44 @@
     }
 
     /**
+     * Sets whether or not to allow force dark to apply to this view.
+     *
+     * Setting this to false will disable the auto-dark feature on everything this view
+     * draws, including any descendants.
+     *
+     * Setting this to true will allow this view to be automatically made dark, however
+     * a value of 'true' will not override any 'false' value in its parent chain nor will
+     * it prevent any 'false' in any of its children.
+     *
+     * The default behavior of force dark is also influenced by the Theme's
+     * {@link android.R.styleable#Theme_isLightTheme isLightTheme} attribute.
+     * If a theme is isLightTheme="false", then force dark is globally disabled for that theme.
+     *
+     * @param allow Whether or not to allow force dark.
+     *
+     * @hide
+     */
+    public void setAllowForceDark(boolean allow) {
+        if (mRenderNode.setAllowForceDark(allow)) {
+            // Currently toggling force-dark requires a new display list push to apply
+            // TODO: Make it not clobber the display list so this is just a damageSelf() instead
+            invalidate();
+        }
+    }
+
+    /**
+     * See {@link #setAllowForceDark(boolean)}
+     *
+     * @return true if force dark is allowed (default), false if it is disabled
+     *
+     * @hide
+     */
+    @ViewDebug.ExportedProperty(category = "drawing")
+    public boolean getAllowForceDark() {
+        return mRenderNode.getAllowForceDark();
+    }
+
+    /**
      * Top position of this view relative to its parent.
      *
      * @return The top of this view, in pixels.
@@ -15593,7 +15636,7 @@
     /**
      * Sets the visual z position of this view, in pixels. This is equivalent to setting the
      * {@link #setTranslationZ(float) translationZ} property to be the difference between
-     * the x value passed in and the current {@link #getElevation() elevation} property.
+     * the z value passed in and the current {@link #getElevation() elevation} property.
      *
      * @param z The visual z position of this view, in pixels.
      */
@@ -17932,7 +17975,7 @@
         rebuildOutline();
 
         if (isFocused()) {
-            InputMethodManager imm = InputMethodManager.peekInstance();
+            InputMethodManager imm = getContext().getSystemService(InputMethodManager.class);
             if (imm != null) {
                 imm.focusIn(this);
             }
@@ -18406,7 +18449,7 @@
      * communicate with the window manager.
      * @return the session object to communicate with the window manager
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     /*package*/ IWindowSession getWindowSession() {
         return mAttachInfo != null ? mAttachInfo.mSession : null;
     }
@@ -18515,7 +18558,7 @@
         onDetachedFromWindow();
         onDetachedFromWindowInternal();
 
-        InputMethodManager imm = InputMethodManager.peekInstance();
+        InputMethodManager imm = getContext().getSystemService(InputMethodManager.class);
         if (imm != null) {
             imm.onViewDetachedFromWindow(this);
         }
@@ -20561,7 +20604,8 @@
      */
     private RenderNode getDrawableRenderNode(Drawable drawable, RenderNode renderNode) {
         if (renderNode == null) {
-            renderNode = RenderNode.create(drawable.getClass().getName(), this);
+            renderNode = RenderNode.create(drawable.getClass().getName(),
+                    new ViewAnimationHostBridge(this));
             renderNode.setUsageHint(RenderNode.USAGE_BACKGROUND);
         }
 
diff --git a/core/java/android/view/ViewAnimationHostBridge.java b/core/java/android/view/ViewAnimationHostBridge.java
new file mode 100644
index 0000000..58f555d
--- /dev/null
+++ b/core/java/android/view/ViewAnimationHostBridge.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.view;
+
+/**
+ * Maps a View to a RenderNode's AnimationHost
+ *
+ * @hide
+ */
+public class ViewAnimationHostBridge implements RenderNode.AnimationHost {
+    private final View mView;
+
+    /**
+     * @param view the View to bridge to an AnimationHost
+     */
+    public ViewAnimationHostBridge(View view) {
+        mView = view;
+    }
+
+    @Override
+    public void registerAnimatingRenderNode(RenderNode animator) {
+        mView.mAttachInfo.mViewRootImpl.registerAnimatingRenderNode(animator);
+    }
+
+    @Override
+    public void registerVectorDrawableAnimator(NativeVectorDrawableAnimator animator) {
+        mView.mAttachInfo.mViewRootImpl.registerVectorDrawableAnimator(animator);
+    }
+
+    @Override
+    public boolean isAttached() {
+        return mView.mAttachInfo != null;
+    }
+}
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java
index 0119d2e..1b3e62d 100644
--- a/core/java/android/view/ViewGroup.java
+++ b/core/java/android/view/ViewGroup.java
@@ -8116,7 +8116,7 @@
         /**
          * Sets the margins, in pixels. A call to {@link android.view.View#requestLayout()} needs
          * to be done so that the new margins are taken into account. Left and right margins may be
-         * overriden by {@link android.view.View#requestLayout()} depending on layout direction.
+         * overridden by {@link android.view.View#requestLayout()} depending on layout direction.
          * Margin values should be positive.
          *
          * @param left the left margin size
@@ -8146,8 +8146,8 @@
         /**
          * Sets the relative margins, in pixels. A call to {@link android.view.View#requestLayout()}
          * needs to be done so that the new relative margins are taken into account. Left and right
-         * margins may be overriden by {@link android.view.View#requestLayout()} depending on layout
-         * direction. Margin values should be positive.
+         * margins may be overridden by {@link android.view.View#requestLayout()} depending on
+         * layout direction. Margin values should be positive.
          *
          * @param start the start margin size
          * @param top the top margin size
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 16d202b..bef8e8f 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -43,6 +43,7 @@
 import android.content.res.CompatibilityInfo;
 import android.content.res.Configuration;
 import android.content.res.Resources;
+import android.content.res.TypedArray;
 import android.graphics.Canvas;
 import android.graphics.Color;
 import android.graphics.Matrix;
@@ -52,7 +53,6 @@
 import android.graphics.PorterDuff;
 import android.graphics.Rect;
 import android.graphics.Region;
-import android.graphics.drawable.AnimatedVectorDrawable;
 import android.graphics.drawable.Drawable;
 import android.hardware.display.DisplayManager;
 import android.hardware.display.DisplayManager.DisplayListener;
@@ -239,6 +239,12 @@
     final ArrayList<WindowCallbacks> mWindowCallbacks = new ArrayList<>();
     @UnsupportedAppUsage
     final Context mContext;
+    /**
+     * TODO(b/116349163): Check if we can merge this into {@link #mContext}.
+     */
+    @NonNull
+    private Context mDisplayContext;
+
     @UnsupportedAppUsage
     final IWindowSession mWindowSession;
     @NonNull Display mDisplay;
@@ -532,6 +538,7 @@
 
     public ViewRootImpl(Context context, Display display) {
         mContext = context;
+        mDisplayContext = context.createDisplayContext(display);
         mWindowSession = WindowManagerGlobal.getWindowSession();
         mDisplay = display;
         mBasePackageName = context.getBasePackageName();
@@ -984,6 +991,9 @@
         ThreadedRenderer.invokeFunctor(functor, waitForCompletion);
     }
 
+    /**
+     * @param animator animator to register with the hardware renderer
+     */
     public void registerAnimatingRenderNode(RenderNode animator) {
         if (mAttachInfo.mThreadedRenderer != null) {
             mAttachInfo.mThreadedRenderer.registerAnimatingRenderNode(animator);
@@ -995,8 +1005,10 @@
         }
     }
 
-    public void registerVectorDrawableAnimator(
-            AnimatedVectorDrawable.VectorDrawableAnimatorRT animator) {
+    /**
+     * @param animator animator to register with the hardware renderer
+     */
+    public void registerVectorDrawableAnimator(NativeVectorDrawableAnimator animator) {
         if (mAttachInfo.mThreadedRenderer != null) {
             mAttachInfo.mThreadedRenderer.registerVectorDrawableAnimator(animator);
         }
@@ -1066,6 +1078,7 @@
                 mAttachInfo.mThreadedRenderer = ThreadedRenderer.create(mContext, translucent,
                         attrs.getTitle().toString());
                 mAttachInfo.mThreadedRenderer.setWideGamut(wideGamut);
+                updateForceDarkMode();
                 if (mAttachInfo.mThreadedRenderer != null) {
                     mAttachInfo.mHardwareAccelerated =
                             mAttachInfo.mHardwareAccelerationRequested = true;
@@ -1074,6 +1087,27 @@
         }
     }
 
+    private int getNightMode() {
+        return mContext.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+    }
+
+    private void updateForceDarkMode() {
+        if (mAttachInfo.mThreadedRenderer == null) return;
+
+        boolean nightMode = getNightMode() == Configuration.UI_MODE_NIGHT_YES;
+        TypedArray a = mContext.obtainStyledAttributes(R.styleable.Theme);
+        boolean isLightTheme = a.getBoolean(R.styleable.Theme_isLightTheme, false);
+        a.recycle();
+
+        boolean changed = mAttachInfo.mThreadedRenderer.setForceDark(nightMode);
+        changed |= mAttachInfo.mThreadedRenderer.getRootNode().setAllowForceDark(isLightTheme);
+
+        if (changed) {
+            // TODO: Don't require regenerating all display lists to apply this setting
+            invalidateWorld(mView);
+        }
+    }
+
     @UnsupportedAppUsage
     public View getView() {
         return mView;
@@ -1249,6 +1283,7 @@
         } else {
             mDisplay = preferredDisplay;
         }
+        mDisplayContext = mContext.createDisplayContext(mDisplay);
     }
 
     void pokeDrawLockIfNeeded() {
@@ -2579,7 +2614,7 @@
                     .mayUseInputMethod(mWindowAttributes.flags);
             if (imTarget != mLastWasImTarget) {
                 mLastWasImTarget = imTarget;
-                InputMethodManager imm = InputMethodManager.peekInstance();
+                InputMethodManager imm = mDisplayContext.getSystemService(InputMethodManager.class);
                 if (imm != null && imTarget) {
                     imm.onPreWindowFocus(mView, hasWindowFocus);
                     imm.onPostWindowFocus(mView, mView.findFocus(),
@@ -2695,7 +2730,7 @@
             mLastWasImTarget = WindowManager.LayoutParams
                     .mayUseInputMethod(mWindowAttributes.flags);
 
-            InputMethodManager imm = InputMethodManager.peekInstance();
+            InputMethodManager imm = mDisplayContext.getSystemService(InputMethodManager.class);
             if (imm != null && mLastWasImTarget && !isInLocalFocusMode()) {
                 imm.onPreWindowFocus(mView, hasWindowFocus);
             }
@@ -4065,6 +4100,8 @@
             mForceNextWindowRelayout = true;
             requestLayout();
         }
+
+        updateForceDarkMode();
     }
 
     /**
@@ -4329,7 +4366,8 @@
                     enqueueInputEvent(event, null, 0, true);
                 } break;
                 case MSG_CHECK_FOCUS: {
-                    InputMethodManager imm = InputMethodManager.peekInstance();
+                    InputMethodManager imm =
+                            mDisplayContext.getSystemService(InputMethodManager.class);
                     if (imm != null) {
                         imm.checkFocus();
                     }
@@ -4871,7 +4909,7 @@
         @Override
         protected int onProcess(QueuedInputEvent q) {
             if (mLastWasImTarget && !isInLocalFocusMode()) {
-                InputMethodManager imm = InputMethodManager.peekInstance();
+                InputMethodManager imm = mDisplayContext.getSystemService(InputMethodManager.class);
                 if (imm != null) {
                     final InputEvent event = q.mEvent;
                     if (DEBUG_IMF) Log.v(mTag, "Sending input event to IME: " + event);
diff --git a/core/java/android/view/Window.java b/core/java/android/view/Window.java
index f436962..982737a 100644
--- a/core/java/android/view/Window.java
+++ b/core/java/android/view/Window.java
@@ -25,6 +25,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.StyleRes;
+import android.annotation.SystemApi;
 import android.annotation.UnsupportedAppUsage;
 import android.app.WindowConfiguration;
 import android.content.Context;
@@ -422,7 +423,7 @@
          * @return boolean You must return true for the panel to be displayed;
          *         if you return false it will not be shown.
          */
-        public boolean onCreatePanelMenu(int featureId, Menu menu);
+        boolean onCreatePanelMenu(int featureId, @NonNull Menu menu);
 
         /**
          * Prepare a panel to be displayed.  This is called right before the
@@ -438,7 +439,7 @@
          *
          * @see #onCreatePanelView
          */
-        public boolean onPreparePanel(int featureId, View view, Menu menu);
+        boolean onPreparePanel(int featureId, @Nullable View view, @NonNull Menu menu);
 
         /**
          * Called when a panel's menu is opened by the user. This may also be
@@ -450,7 +451,7 @@
          * @return Return true to allow the menu to open, or false to prevent
          *         the menu from opening.
          */
-        public boolean onMenuOpened(int featureId, Menu menu);
+        boolean onMenuOpened(int featureId, @NonNull Menu menu);
 
         /**
          * Called when a panel's menu item has been selected by the user.
@@ -462,7 +463,7 @@
          *         false to perform the normal menu handling (calling its
          *         Runnable or sending a Message to its target Handler).
          */
-        public boolean onMenuItemSelected(int featureId, MenuItem item);
+        boolean onMenuItemSelected(int featureId, @NonNull MenuItem item);
 
         /**
          * This is called whenever the current window attributes change.
@@ -512,7 +513,7 @@
          * @param menu If onCreatePanelView() returned null, this is the Menu
          *            being displayed in the panel.
          */
-        public void onPanelClosed(int featureId, Menu menu);
+        void onPanelClosed(int featureId, @NonNull Menu menu);
 
         /**
          * Called when the user signals the desire to start a search.
@@ -1079,8 +1080,18 @@
         setFlags(flags, flags);
     }
 
-    /** @hide */
-    @UnsupportedAppUsage
+    /**
+     * Add private flag bits.
+     *
+     * <p>Refer to the individual flags for the permissions needed.
+     *
+     * <p>Note: Only for updateable system components (aka. mainline modules)
+     *
+     * @param flags The flag bits to add.
+     *
+     * @hide
+     */
+    @SystemApi
     public void addPrivateFlags(int flags) {
         setPrivateFlags(flags, flags);
     }
diff --git a/core/java/android/view/WindowInfo.java b/core/java/android/view/WindowInfo.java
index 7bae28a..82e9a5c 100644
--- a/core/java/android/view/WindowInfo.java
+++ b/core/java/android/view/WindowInfo.java
@@ -49,6 +49,7 @@
     public CharSequence title;
     public long accessibilityIdOfAnchor = AccessibilityNodeInfo.UNDEFINED_NODE_ID;
     public boolean inPictureInPicture;
+    public boolean hasFlagWatchOutsideTouch;
 
     private WindowInfo() {
         /* do nothing - hide constructor */
@@ -74,6 +75,7 @@
         window.title = other.title;
         window.accessibilityIdOfAnchor = other.accessibilityIdOfAnchor;
         window.inPictureInPicture = other.inPictureInPicture;
+        window.hasFlagWatchOutsideTouch = other.hasFlagWatchOutsideTouch;
 
         if (other.childTokens != null && !other.childTokens.isEmpty()) {
             if (window.childTokens == null) {
@@ -108,6 +110,7 @@
         parcel.writeCharSequence(title);
         parcel.writeLong(accessibilityIdOfAnchor);
         parcel.writeInt(inPictureInPicture ? 1 : 0);
+        parcel.writeInt(hasFlagWatchOutsideTouch ? 1 : 0);
 
         if (childTokens != null && !childTokens.isEmpty()) {
             parcel.writeInt(1);
@@ -130,6 +133,8 @@
         builder.append(", focused=").append(focused);
         builder.append(", children=").append(childTokens);
         builder.append(", accessibility anchor=").append(accessibilityIdOfAnchor);
+        builder.append(", pictureInPicture=").append(inPictureInPicture);
+        builder.append(", watchOutsideTouch=").append(hasFlagWatchOutsideTouch);
         builder.append(']');
         return builder.toString();
     }
@@ -145,6 +150,7 @@
         title = parcel.readCharSequence();
         accessibilityIdOfAnchor = parcel.readLong();
         inPictureInPicture = (parcel.readInt() == 1);
+        hasFlagWatchOutsideTouch = (parcel.readInt() == 1);
 
         final boolean hasChildren = (parcel.readInt() == 1);
         if (hasChildren) {
@@ -167,6 +173,7 @@
             childTokens.clear();
         }
         inPictureInPicture = false;
+        hasFlagWatchOutsideTouch = false;
     }
 
     public static final Parcelable.Creator<WindowInfo> CREATOR =
diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java
index 0404df0..742df5e8 100644
--- a/core/java/android/view/WindowManager.java
+++ b/core/java/android/view/WindowManager.java
@@ -1668,6 +1668,7 @@
          * this window is visible.
          * @hide
          */
+        @SystemApi
         @RequiresPermission(permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS)
         public static final int PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS = 0x00080000;
 
diff --git a/core/java/android/view/WindowManagerGlobal.java b/core/java/android/view/WindowManagerGlobal.java
index d810067..46aea80 100644
--- a/core/java/android/view/WindowManagerGlobal.java
+++ b/core/java/android/view/WindowManagerGlobal.java
@@ -23,6 +23,7 @@
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
 import android.content.res.Configuration;
+import android.os.Build;
 import android.os.IBinder;
 import android.os.RemoteException;
 import android.os.ServiceManager;
@@ -195,7 +196,10 @@
         synchronized (WindowManagerGlobal.class) {
             if (sWindowSession == null) {
                 try {
-                    InputMethodManager imm = InputMethodManager.getInstance();
+                    // Emulate the legacy behavior.  The global instance of InputMethodManager
+                    // was instantiated here.
+                    // TODO(b/116157766): Remove this hack after cleaning up @UnsupportedAppUsage
+                    InputMethodManager.ensureDefaultInstanceForDefaultDisplayIfNecessary();
                     IWindowManager windowManager = getWindowManagerService();
                     sWindowSession = windowManager.openSession(
                             new IWindowSessionCallback.Stub() {
@@ -203,8 +207,7 @@
                                 public void onAnimatorScaleChanged(float scale) {
                                     ValueAnimator.setDurationScale(scale);
                                 }
-                            },
-                            imm.getClient(), imm.getInputContext());
+                            });
                 } catch (RemoteException e) {
                     throw e.rethrowFromSystemServer();
                 }
@@ -213,7 +216,7 @@
         }
     }
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public static IWindowSession peekWindowSession() {
         synchronized (WindowManagerGlobal.class) {
             return sWindowSession;
@@ -467,7 +470,7 @@
         View view = root.getView();
 
         if (view != null) {
-            InputMethodManager imm = InputMethodManager.getInstance();
+            InputMethodManager imm = view.getContext().getSystemService(InputMethodManager.class);
             if (imm != null) {
                 imm.windowDismissed(mViews.get(index).getWindowToken());
             }
diff --git a/core/java/android/view/accessibility/AccessibilityEvent.java b/core/java/android/view/accessibility/AccessibilityEvent.java
index 3eca854..dccf9d4 100644
--- a/core/java/android/view/accessibility/AccessibilityEvent.java
+++ b/core/java/android/view/accessibility/AccessibilityEvent.java
@@ -18,6 +18,7 @@
 
 import android.annotation.IntDef;
 import android.annotation.UnsupportedAppUsage;
+import android.os.Build;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.text.TextUtils;
@@ -761,7 +762,7 @@
     private CharSequence mPackageName;
     private long mEventTime;
     int mMovementGranularity;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     int mAction;
     int mContentChangeTypes;
     int mWindowChangeTypes;
diff --git a/core/java/android/view/accessibility/AccessibilityManager.java b/core/java/android/view/accessibility/AccessibilityManager.java
index c59c491..e88682e 100644
--- a/core/java/android/view/accessibility/AccessibilityManager.java
+++ b/core/java/android/view/accessibility/AccessibilityManager.java
@@ -139,6 +139,8 @@
 
     int mRelevantEventTypes = AccessibilityEvent.TYPES_ALL_MASK;
 
+    int mMinimumUiTimeout;
+
     boolean mIsTouchExplorationEnabled;
 
     @UnsupportedAppUsage
@@ -320,6 +322,11 @@
         public void setRelevantEventTypes(int eventTypes) {
             mRelevantEventTypes = eventTypes;
         }
+
+        @Override
+        public void setMinimumUiTimeout(int uiTimeout) {
+            mMinimumUiTimeout = uiTimeout;
+        }
     };
 
     /**
@@ -827,6 +834,19 @@
     }
 
     /**
+     * Get the minimum timeout for changes to the UI needed by this user. Controls should remain
+     * on the screen for at least this long to give users time to react. Some users may need
+     * extra time to review the controls, or to reach them, or to activate assistive technology
+     * to activate the controls automatically.
+     *
+     * @return The minimum ui timeout for the current user in milliseconds.
+     * {@link Integer#MAX_VALUE} if timeout is infinite.
+     */
+    public int getMinimumUiTimeoutMillis() {
+        return mMinimumUiTimeout;
+    }
+
+    /**
      * Get the preparers that are registered for an accessibility ID
      *
      * @param id The ID of interest
@@ -1139,6 +1159,7 @@
             final long userStateAndRelevantEvents = service.addClient(mClient, mUserId);
             setStateLocked(IntPair.first(userStateAndRelevantEvents));
             mRelevantEventTypes = IntPair.second(userStateAndRelevantEvents);
+            mMinimumUiTimeout = service.getMinimumUiTimeout();
             mService = service;
         } catch (RemoteException re) {
             Log.e(LOG_TAG, "AccessibilityManagerService is dead", re);
diff --git a/core/java/android/view/accessibility/AccessibilityNodeInfo.java b/core/java/android/view/accessibility/AccessibilityNodeInfo.java
index a3fa2ce..4d3f0fc 100644
--- a/core/java/android/view/accessibility/AccessibilityNodeInfo.java
+++ b/core/java/android/view/accessibility/AccessibilityNodeInfo.java
@@ -632,6 +632,8 @@
 
     private static final int BOOLEAN_PROPERTY_IS_HEADING = 0x0200000;
 
+    private static final int BOOLEAN_PROPERTY_IS_TEXT_ENTRY_KEY = 0x0400000;
+
     /**
      * Bits that provide the id of a virtual descendant of a view.
      */
@@ -2461,6 +2463,30 @@
     }
 
     /**
+     * Returns whether node represents a text entry key that is part of a keyboard or keypad.
+     *
+     * @return {@code true} if the node is a text entry key., {@code false} otherwise.
+     */
+    public boolean isTextEntryKey() {
+        return getBooleanProperty(BOOLEAN_PROPERTY_IS_TEXT_ENTRY_KEY);
+    }
+
+    /**
+     * Sets whether the node represents a text entry key that is part of a keyboard or keypad.
+     *
+     * <p>
+     *   <strong>Note:</strong> Cannot be called from an
+     *   {@link android.accessibilityservice.AccessibilityService}.
+     *   This class is made immutable before being delivered to an AccessibilityService.
+     * </p>
+     *
+     * @param isTextEntryKey {@code true} if the node is a text entry key, {@code false} otherwise.
+     */
+    public void setTextEntryKey(boolean isTextEntryKey) {
+        setBooleanProperty(BOOLEAN_PROPERTY_IS_TEXT_ENTRY_KEY, isTextEntryKey);
+    }
+
+    /**
      * Gets the package this node comes from.
      *
      * @return The package name.
diff --git a/core/java/android/view/accessibility/IAccessibilityManager.aidl b/core/java/android/view/accessibility/IAccessibilityManager.aidl
index c93e2c1..3e2ef18 100644
--- a/core/java/android/view/accessibility/IAccessibilityManager.aidl
+++ b/core/java/android/view/accessibility/IAccessibilityManager.aidl
@@ -72,4 +72,6 @@
 
     // System process only
     boolean sendFingerprintGesture(int gestureKeyCode);
+
+    int getMinimumUiTimeout();
 }
diff --git a/core/java/android/view/accessibility/IAccessibilityManagerClient.aidl b/core/java/android/view/accessibility/IAccessibilityManagerClient.aidl
index 9cc0315..d2ddca3 100644
--- a/core/java/android/view/accessibility/IAccessibilityManagerClient.aidl
+++ b/core/java/android/view/accessibility/IAccessibilityManagerClient.aidl
@@ -29,4 +29,6 @@
     void notifyServicesStateChanged();
 
     void setRelevantEventTypes(int eventTypes);
+
+    void setMinimumUiTimeout(int uiTimeout);
 }
diff --git a/core/java/android/view/animation/DecelerateInterpolator.java b/core/java/android/view/animation/DecelerateInterpolator.java
index f89743c..2d1249d 100644
--- a/core/java/android/view/animation/DecelerateInterpolator.java
+++ b/core/java/android/view/animation/DecelerateInterpolator.java
@@ -41,8 +41,8 @@
      * Constructor
      *
      * @param factor Degree to which the animation should be eased. Setting factor to 1.0f produces
-     *        an upside-down y=x^2 parabola. Increasing factor above 1.0f makes exaggerates the
-     *        ease-out effect (i.e., it starts even faster and ends evens slower)
+     *        an upside-down y=x^2 parabola. Increasing factor above 1.0f exaggerates the
+     *        ease-out effect (i.e., it starts even faster and ends evens slower).
      */
     public DecelerateInterpolator(float factor) {
         mFactor = factor;
diff --git a/core/java/android/view/autofill/AutofillManager.java b/core/java/android/view/autofill/AutofillManager.java
index 9419e93..7abe19e79 100644
--- a/core/java/android/view/autofill/AutofillManager.java
+++ b/core/java/android/view/autofill/AutofillManager.java
@@ -45,6 +45,7 @@
 import android.util.ArrayMap;
 import android.util.ArraySet;
 import android.util.Log;
+import android.util.Slog;
 import android.util.SparseArray;
 import android.view.Choreographer;
 import android.view.KeyEvent;
@@ -300,6 +301,14 @@
      */
     public static final int STATE_UNKNOWN_COMPAT_MODE = 5;
 
+    /**
+     * Same as {@link #STATE_UNKNOWN}, but used on
+     * {@link AutofillManagerClient#setSessionFinished(int)} when the session was finished because
+     * the service failed to fullfil a request.
+     *
+     * @hide
+     */
+    public static final int STATE_UNKNOWN_FAILED = 6;
 
     /**
      * Timeout in ms for calls to the field classification service.
@@ -559,6 +568,9 @@
             // different bridge based on which activity is currently focused
             // in the current process. Since compat would be rarely used, just
             // create and register a new instance every time.
+            if (sDebug) {
+                Slog.d(TAG, "creating CompatibilityBridge for " + mContext);
+            }
             mCompatibilityBridge = new CompatibilityBridge();
         }
     }
@@ -2019,8 +2031,10 @@
      * @param newState {@link #STATE_FINISHED} (because the autofill service returned a {@code null}
      *  FillResponse), {@link #STATE_UNKNOWN} (because the session was removed),
      *  {@link #STATE_UNKNOWN_COMPAT_MODE} (beucase the session was finished when the URL bar
-     *  changed on compat mode), or {@link #STATE_DISABLED_BY_SERVICE} (because the autofill service
-     *  disabled further autofill requests for the activity).
+     *  changed on compat mode), {@link #STATE_UNKNOWN_FAILED} (because the session was finished
+     *  when the service failed to fullfil the request, or {@link #STATE_DISABLED_BY_SERVICE}
+     *  (because the autofill service or {@link #STATE_DISABLED_BY_SERVICE} (because the autofill
+     *  service disabled further autofill requests for the activity).
      */
     private void setSessionFinished(int newState) {
         synchronized (mLock) {
@@ -2028,7 +2042,7 @@
                 Log.v(TAG, "setSessionFinished(): from " + getStateAsStringLocked() + " to "
                         + getStateAsString(newState));
             }
-            if (newState == STATE_UNKNOWN_COMPAT_MODE) {
+            if (newState == STATE_UNKNOWN_COMPAT_MODE || newState == STATE_UNKNOWN_FAILED) {
                 resetSessionLocked(/* resetEnteredIds= */ true);
                 mState = STATE_UNKNOWN;
             } else {
@@ -2225,6 +2239,8 @@
                 return "DISABLED_BY_SERVICE";
             case STATE_UNKNOWN_COMPAT_MODE:
                 return "UNKNOWN_COMPAT_MODE";
+            case STATE_UNKNOWN_FAILED:
+                return "UNKNOWN_FAILED";
             default:
                 return "INVALID:" + state;
         }
diff --git a/core/java/android/view/inputmethod/InputMethod.java b/core/java/android/view/inputmethod/InputMethod.java
index f45507c..d09323d 100644
--- a/core/java/android/view/inputmethod/InputMethod.java
+++ b/core/java/android/view/inputmethod/InputMethod.java
@@ -89,14 +89,17 @@
      *
      * @param token special token for the system to identify
      *              {@link InputMethodService}
+     * @param displayId The id of the display that current IME shown.
+     *                  Used for {{@link #updateInputMethodDisplay(int)}}
      * @param privilegedOperations IPC endpoint to do some privileged
      *                             operations that are allowed only to the
      *                             current IME.
      * @hide
      */
     @MainThread
-    default void initializeInternal(IBinder token,
+    default void initializeInternal(IBinder token, int displayId,
             IInputMethodPrivilegedOperations privilegedOperations) {
+        updateInputMethodDisplay(displayId);
         attachToken(token);
     }
 
@@ -115,6 +118,16 @@
     public void attachToken(IBinder token);
 
     /**
+     * Update context display according to given displayId.
+     *
+     * @param displayId The id of the display that need to update for context.
+     * @hide
+     */
+    @MainThread
+    default void updateInputMethodDisplay(int displayId) {
+    }
+
+    /**
      * Bind a new application environment in to the input method, so that it
      * can later start and stop input processing.
      * Typically this method is called when this input method is enabled in an
diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java
index 89d9ada..ca2ccaf 100644
--- a/core/java/android/view/inputmethod/InputMethodManager.java
+++ b/core/java/android/view/inputmethod/InputMethodManager.java
@@ -30,6 +30,7 @@
 import android.content.pm.PackageManager;
 import android.graphics.Rect;
 import android.inputmethodservice.InputMethodService;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.IBinder;
@@ -56,7 +57,7 @@
 import android.view.WindowManager.LayoutParams.SoftInputModeFlags;
 import android.view.autofill.AutofillManager;
 
-import com.android.internal.inputmethod.InputMethodPrivilegedOperations;
+import com.android.internal.annotations.GuardedBy;
 import com.android.internal.inputmethod.InputMethodPrivilegedOperationsRegistry;
 import com.android.internal.os.SomeArgs;
 import com.android.internal.view.IInputConnectionWrapper;
@@ -69,6 +70,7 @@
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
+import java.lang.reflect.Proxy;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -225,6 +227,54 @@
 
     static final String PENDING_EVENT_COUNTER = "aq:imm";
 
+    /**
+     * Ensures that {@link #sInstance} becomes non-{@code null} for application that have directly
+     * or indirectly relied on {@link #sInstance} via reflection or something like that.
+     *
+     * <p>Here are scenarios we know and there could be more scenarios we are not
+     * aware of right know.</p>
+     *
+     * <ul>
+     *     <li>Apps that directly access {@link #sInstance} via reflection, which is currently
+     *     allowed because of {@link UnsupportedAppUsage} annotation.  Currently
+     *     {@link android.view.WindowManagerGlobal#getWindowSession()} is likely to guarantee that
+     *     {@link #sInstance} is not {@code null} when such an app is accessing it, but removing
+     *     that code from {@link android.view.WindowManagerGlobal#getWindowSession()} can reveal
+     *     untested code paths in their apps, which probably happen in an early startup time of that
+     *     app.</li>
+     *     <li>Apps that directly access {@link #peekInstance()} via reflection, which is currently
+     *     allowed because of {@link UnsupportedAppUsage} annotation.  Currently
+     *     {@link android.view.WindowManagerGlobal#getWindowSession()} is likely to guarantee that
+     *     {@link #peekInstance()} returns non-{@code null} object when such an app is calling
+     *     {@link #peekInstance()}, but removing that code from
+     *     {@link android.view.WindowManagerGlobal#getWindowSession()} can reveal untested code
+     *     paths in their apps, which probably happen in an early startup time of that app. The good
+     *     news is that unlike {@link #sInstance}'s case we can at least work around this scenario
+     *     by changing the semantics of {@link #peekInstance()}, which is currently defined as
+     *     "retrieve the global {@link InputMethodManager} instance, if it exists" to something that
+     *     always returns non-{@code null} {@link InputMethodManager}.  However, introducing such an
+     *     workaround can also trigger different compatibility issues if {@link #peekInstance()} was
+     *     called before {@link android.view.WindowManagerGlobal#getWindowSession()} and it expected
+     *     {@link #peekInstance()} to return {@code null} as written in the JavaDoc.</li>
+     * </ul>
+     *
+     * <p>Since this is purely a compatibility hack, this method must be used only from
+     * {@link android.view.WindowManagerGlobal#getWindowSession()} and {@link #getInstance()}.</p>
+     *
+     * <p>TODO(Bug 116157766): Remove this method once we clean up {@link UnsupportedAppUsage}.</p>
+     * @hide
+     */
+    public static void ensureDefaultInstanceForDefaultDisplayIfNecessary() {
+        getInstanceInternal();
+    }
+
+    private static final Object sLock = new Object();
+
+    /**
+     * @deprecated This cannot be compatible with multi-display. Please do not use this.
+     */
+    @Deprecated
+    @GuardedBy("sLock")
     @UnsupportedAppUsage
     static InputMethodManager sInstance;
 
@@ -335,7 +385,7 @@
     /**
      * The InputConnection that was last retrieved from the served view.
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     ControlledInputConnectionWrapper mServedInputConnectionWrapper;
     /**
      * The completions that were last provided by the served view.
@@ -353,28 +403,6 @@
     int mCursorCandEnd;
 
     /**
-     * Represents an invalid action notification sequence number.
-     * {@link com.android.server.InputMethodManagerService} always issues a positive integer for
-     * action notification sequence numbers. Thus {@code -1} is guaranteed to be different from any
-     * valid sequence number.
-     */
-    private static final int NOT_AN_ACTION_NOTIFICATION_SEQUENCE_NUMBER = -1;
-    /**
-     * The next sequence number that is to be sent to
-     * {@link com.android.server.InputMethodManagerService} via
-     * {@link IInputMethodManager#notifyUserAction(int)} at once when a user action is observed.
-     */
-    private int mNextUserActionNotificationSequenceNumber =
-            NOT_AN_ACTION_NOTIFICATION_SEQUENCE_NUMBER;
-
-    /**
-     * The last sequence number that is already sent to
-     * {@link com.android.server.InputMethodManagerService}.
-     */
-    private int mLastSentUserActionNotificationSequenceNumber =
-            NOT_AN_ACTION_NOTIFICATION_SEQUENCE_NUMBER;
-
-    /**
      * The instance that has previously been sent to the input method.
      */
     private CursorAnchorInfo mCursorAnchorInfo = null;
@@ -408,9 +436,6 @@
     final Pool<PendingEvent> mPendingEventPool = new SimplePool<>(20);
     final SparseArray<PendingEvent> mPendingEvents = new SparseArray<>(20);
 
-    private final InputMethodPrivilegedOperationsRegistry mPrivOpsRegistry =
-            new InputMethodPrivilegedOperationsRegistry();
-
     // -----------------------------------------------------------
 
     static final int MSG_DUMP = 1;
@@ -420,7 +445,6 @@
     static final int MSG_SEND_INPUT_EVENT = 5;
     static final int MSG_TIMEOUT_INPUT_EVENT = 6;
     static final int MSG_FLUSH_INPUT_EVENT = 7;
-    static final int MSG_SET_USER_ACTION_NOTIFICATION_SEQUENCE_NUMBER = 9;
     static final int MSG_REPORT_FULLSCREEN_MODE = 10;
 
     private static boolean isAutofillUIShowing(View servedView) {
@@ -557,12 +581,6 @@
                     finishedInputEvent(msg.arg1, false, false);
                     return;
                 }
-                case MSG_SET_USER_ACTION_NOTIFICATION_SEQUENCE_NUMBER: {
-                    synchronized (mH) {
-                        mNextUserActionNotificationSequenceNumber = msg.arg1;
-                    }
-                    return;
-                }
                 case MSG_REPORT_FULLSCREEN_MODE: {
                     final boolean fullscreen = msg.arg1 != 0;
                     InputConnection ic = null;
@@ -605,11 +623,6 @@
         }
 
         @Override
-        protected void onUserAction() {
-            mParentInputMethodManager.notifyUserAction();
-        }
-
-        @Override
         public String toString() {
             return "ControlledInputConnectionWrapper{"
                     + "connection=" + getInputConnection()
@@ -656,12 +669,6 @@
         }
 
         @Override
-        public void setUserActionNotificationSequenceNumber(int sequenceNumber) {
-            mH.obtainMessage(MSG_SET_USER_ACTION_NOTIFICATION_SEQUENCE_NUMBER, sequenceNumber, 0)
-                    .sendToTarget();
-        }
-
-        @Override
         public void reportFullscreenMode(boolean fullscreen) {
             mH.obtainMessage(MSG_REPORT_FULLSCREEN_MODE, fullscreen ? 1 : 0, 0)
                     .sendToTarget();
@@ -671,13 +678,63 @@
 
     final InputConnection mDummyInputConnection = new BaseInputConnection(this, false);
 
-    InputMethodManager(Looper looper) throws ServiceNotFoundException {
-        this(IInputMethodManager.Stub.asInterface(
-                ServiceManager.getServiceOrThrow(Context.INPUT_METHOD_SERVICE)), looper);
+    /**
+     * For layoutlib to clean up static objects inside {@link InputMethodManager}.
+     */
+    static void tearDownEditMode() {
+        if (!isInEditMode()) {
+            throw new UnsupportedOperationException(
+                    "This method must be called only from layoutlib");
+        }
+        synchronized (sLock) {
+            sInstance = null;
+        }
     }
 
-    InputMethodManager(IInputMethodManager service, Looper looper) {
-        mService = service;
+    /**
+     * For layoutlib to override this method to return {@code true}.
+     *
+     * @return {@code true} if the process is running for developer tools
+     * @see View#isInEditMode()
+     */
+    private static boolean isInEditMode() {
+        return false;
+    }
+
+    private static IInputMethodManager getIInputMethodManager() throws ServiceNotFoundException {
+        if (!isInEditMode()) {
+            return IInputMethodManager.Stub.asInterface(
+                    ServiceManager.getServiceOrThrow(Context.INPUT_METHOD_SERVICE));
+        }
+        // If InputMethodManager is running for layoutlib, stub out IPCs into IMMS.
+        final Class<IInputMethodManager> c = IInputMethodManager.class;
+        return (IInputMethodManager) Proxy.newProxyInstance(c.getClassLoader(),
+                new Class[]{c}, (proxy, method, args) -> {
+                    final Class<?> returnType = method.getReturnType();
+                    if (returnType == boolean.class) {
+                        return false;
+                    } else if (returnType == int.class) {
+                        return 0;
+                    } else if (returnType == long.class) {
+                        return 0L;
+                    } else if (returnType == short.class) {
+                        return 0;
+                    } else if (returnType == char.class) {
+                        return 0;
+                    } else if (returnType == byte.class) {
+                        return 0;
+                    } else if (returnType == float.class) {
+                        return 0f;
+                    } else if (returnType == double.class) {
+                        return 0.0;
+                    } else {
+                        return null;
+                    }
+                });
+    }
+
+    InputMethodManager(Looper looper) throws ServiceNotFoundException {
+        mService = getIInputMethodManager();
         mMainLooper = looper;
         mH = new H(looper);
         mIInputContext = new ControlledInputConnectionWrapper(looper,
@@ -685,17 +742,20 @@
     }
 
     /**
-     * Retrieve the global InputMethodManager instance, creating it if it
-     * doesn't already exist.
+     * Retrieve the global {@link InputMethodManager} instance, creating it if it doesn't already
+     * exist.
+     *
+     * @return global {@link InputMethodManager} instance
      * @hide
      */
-    @UnsupportedAppUsage
-    public static InputMethodManager getInstance() {
-        synchronized (InputMethodManager.class) {
+    public static InputMethodManager getInstanceInternal() {
+        synchronized (sLock) {
             if (sInstance == null) {
                 try {
-                    sInstance = new InputMethodManager(Looper.getMainLooper());
-                } catch (ServiceNotFoundException e) {
+                    final InputMethodManager imm = new InputMethodManager(Looper.getMainLooper());
+                    imm.mService.addClient(imm.mClient, imm.mIInputContext);
+                    sInstance = imm;
+                } catch (ServiceNotFoundException | RemoteException e) {
                     throw new IllegalStateException(e);
                 }
             }
@@ -704,13 +764,42 @@
     }
 
     /**
-     * Private optimization: retrieve the global InputMethodManager instance,
-     * if it exists.
+     * Deprecated. Do not use.
+     *
+     * @return global {@link InputMethodManager} instance
+     * @deprecated Use {@link Context#getSystemService(Class)} instead. This method cannot fully
+     *             support multi-display scenario.
      * @hide
      */
+    @Deprecated
+    @UnsupportedAppUsage
+    public static InputMethodManager getInstance() {
+        Log.w(TAG, "InputMethodManager.getInstance() is deprecated because it cannot be"
+                        + " compatible with multi-display."
+                        + " Use context.getSystemService(InputMethodManager.class) instead.",
+                new Throwable());
+        ensureDefaultInstanceForDefaultDisplayIfNecessary();
+        return peekInstance();
+    }
+
+    /**
+     * Deprecated. Do not use.
+     *
+     * @return {@link #sInstance}
+     * @deprecated Use {@link Context#getSystemService(Class)} instead. This method cannot fully
+     *             support multi-display scenario.
+     * @hide
+     */
+    @Deprecated
     @UnsupportedAppUsage
     public static InputMethodManager peekInstance() {
-        return sInstance;
+        Log.w(TAG, "InputMethodManager.peekInstance() is deprecated because it cannot be"
+                        + " compatible with multi-display."
+                        + " Use context.getSystemService(InputMethodManager.class) instead.",
+                new Throwable());
+        synchronized (sLock) {
+            return sInstance;
+        }
     }
 
     /** @hide */
@@ -778,7 +867,7 @@
      */
     @Deprecated
     public void showStatusIcon(IBinder imeToken, String packageName, @DrawableRes int iconId) {
-        mPrivOpsRegistry.get(imeToken).updateStatusIcon(packageName, iconId);
+        InputMethodPrivilegedOperationsRegistry.get(imeToken).updateStatusIcon(packageName, iconId);
     }
 
     /**
@@ -788,7 +877,7 @@
      */
     @Deprecated
     public void hideStatusIcon(IBinder imeToken) {
-        mPrivOpsRegistry.get(imeToken).updateStatusIcon(null, 0);
+        InputMethodPrivilegedOperationsRegistry.get(imeToken).updateStatusIcon(null, 0);
     }
 
     /** @hide */
@@ -1354,8 +1443,6 @@
                     mBindSequence = res.sequence;
                     mCurMethod = res.method;
                     mCurId = res.id;
-                    mNextUserActionNotificationSequenceNumber =
-                            res.userActionNotificationSequenceNumber;
                 } else if (res.channel != null && res.channel != mCurChannel) {
                     res.channel.dispose();
                 }
@@ -1391,6 +1478,10 @@
                     mServedView.getWindowToken() == appWindowToken) {
                 finishInputLocked();
             }
+            if (mCurRootView != null &&
+                    mCurRootView.getWindowToken() == appWindowToken) {
+                mCurRootView = null;
+            }
         }
     }
 
@@ -1831,7 +1922,7 @@
     public void setInputMethod(IBinder token, String id) {
         if (token == null) {
             // Note: null token is allowed for callers that have WRITE_SECURE_SETTINGS permission.
-            // Thus we cannot always rely on mPrivOpsRegistry unfortunately.
+            // Thus we cannot always rely on InputMethodPrivilegedOperationsRegistry unfortunately.
             // TODO(Bug 114488811): Consider deprecating null token rule.
             try {
                 mService.setInputMethod(token, id);
@@ -1840,7 +1931,7 @@
             }
             return;
         }
-        mPrivOpsRegistry.get(token).setInputMethod(id);
+        InputMethodPrivilegedOperationsRegistry.get(token).setInputMethod(id);
     }
 
     /**
@@ -1860,7 +1951,7 @@
     public void setInputMethodAndSubtype(IBinder token, String id, InputMethodSubtype subtype) {
         if (token == null) {
             // Note: null token is allowed for callers that have WRITE_SECURE_SETTINGS permission.
-            // Thus we cannot always rely on mPrivOpsRegistry unfortunately.
+            // Thus we cannot always rely on InputMethodPrivilegedOperationsRegistry unfortunately.
             // TODO(Bug 114488811): Consider deprecating null token rule.
             try {
                 mService.setInputMethodAndSubtype(token, id, subtype);
@@ -1869,7 +1960,7 @@
             }
             return;
         }
-        mPrivOpsRegistry.get(token).setInputMethodAndSubtype(id, subtype);
+        InputMethodPrivilegedOperationsRegistry.get(token).setInputMethodAndSubtype(id, subtype);
     }
 
     /**
@@ -1889,7 +1980,7 @@
      */
     @Deprecated
     public void hideSoftInputFromInputMethod(IBinder token, int flags) {
-        mPrivOpsRegistry.get(token).hideMySoftInput(flags);
+        InputMethodPrivilegedOperationsRegistry.get(token).hideMySoftInput(flags);
     }
 
     /**
@@ -1910,7 +2001,7 @@
      */
     @Deprecated
     public void showSoftInputFromInputMethod(IBinder token, int flags) {
-        mPrivOpsRegistry.get(token).showMySoftInput(flags);
+        InputMethodPrivilegedOperationsRegistry.get(token).showMySoftInput(flags);
     }
 
     /**
@@ -2189,37 +2280,16 @@
 
     /**
      * Notify that a user took some action with this input method.
+     *
+     * @deprecated Just kept to avoid possible app compat issue.
      * @hide
      */
-    @UnsupportedAppUsage
+    @Deprecated
+    @UnsupportedAppUsage(trackingBug = 114740982, maxTargetSdk = Build.VERSION_CODES.P)
     public void notifyUserAction() {
-        synchronized (mH) {
-            if (mLastSentUserActionNotificationSequenceNumber ==
-                    mNextUserActionNotificationSequenceNumber) {
-                if (DEBUG) {
-                    Log.w(TAG, "Ignoring notifyUserAction as it has already been sent."
-                            + " mLastSentUserActionNotificationSequenceNumber: "
-                            + mLastSentUserActionNotificationSequenceNumber
-                            + " mNextUserActionNotificationSequenceNumber: "
-                            + mNextUserActionNotificationSequenceNumber);
-                }
-                return;
-            }
-            try {
-                if (DEBUG) {
-                    Log.w(TAG, "notifyUserAction: "
-                            + " mLastSentUserActionNotificationSequenceNumber: "
-                            + mLastSentUserActionNotificationSequenceNumber
-                            + " mNextUserActionNotificationSequenceNumber: "
-                            + mNextUserActionNotificationSequenceNumber);
-                }
-                mService.notifyUserAction(mNextUserActionNotificationSequenceNumber);
-                mLastSentUserActionNotificationSequenceNumber =
-                        mNextUserActionNotificationSequenceNumber;
-            } catch (RemoteException e) {
-                throw e.rethrowFromSystemServer();
-            }
-        }
+        Log.w(TAG, "notifyUserAction() is a hidden method, which is now just a stub method"
+                + " that does nothing.  Leave comments in b.android.com/114740982 if your "
+                + " application still depends on the previous behavior of this method.");
     }
 
     /**
@@ -2291,7 +2361,7 @@
     public boolean switchToLastInputMethod(IBinder imeToken) {
         if (imeToken == null) {
             // Note: null token is allowed for callers that have WRITE_SECURE_SETTINGS permission.
-            // Thus we cannot always rely on mPrivOpsRegistry unfortunately.
+            // Thus we cannot always rely on InputMethodPrivilegedOperationsRegistry unfortunately.
             // TODO(Bug 114488811): Consider deprecating null token rule.
             try {
                 return mService.switchToPreviousInputMethod(imeToken);
@@ -2299,7 +2369,7 @@
                 throw e.rethrowFromSystemServer();
             }
         }
-        return mPrivOpsRegistry.get(imeToken).switchToPreviousInputMethod();
+        return InputMethodPrivilegedOperationsRegistry.get(imeToken).switchToPreviousInputMethod();
     }
 
     /**
@@ -2319,7 +2389,7 @@
     public boolean switchToNextInputMethod(IBinder imeToken, boolean onlyCurrentIme) {
         if (imeToken == null) {
             // Note: null token is allowed for callers that have WRITE_SECURE_SETTINGS permission.
-            // Thus we cannot always rely on mPrivOpsRegistry unfortunately.
+            // Thus we cannot always rely on InputMethodPrivilegedOperationsRegistry unfortunately.
             // TODO(Bug 114488811): Consider deprecating null token rule.
             try {
                 return mService.switchToNextInputMethod(imeToken, onlyCurrentIme);
@@ -2327,7 +2397,8 @@
                 throw e.rethrowFromSystemServer();
             }
         }
-        return mPrivOpsRegistry.get(imeToken).switchToNextInputMethod(onlyCurrentIme);
+        return InputMethodPrivilegedOperationsRegistry.get(imeToken)
+                .switchToNextInputMethod(onlyCurrentIme);
     }
 
     /**
@@ -2346,7 +2417,8 @@
      */
     @Deprecated
     public boolean shouldOfferSwitchingToNextInputMethod(IBinder imeToken) {
-        return mPrivOpsRegistry.get(imeToken).shouldOfferSwitchingToNextInputMethod();
+        return InputMethodPrivilegedOperationsRegistry.get(imeToken)
+                .shouldOfferSwitchingToNextInputMethod();
     }
 
     /**
@@ -2420,10 +2492,6 @@
                 + " mCursorSelEnd=" + mCursorSelEnd
                 + " mCursorCandStart=" + mCursorCandStart
                 + " mCursorCandEnd=" + mCursorCandEnd);
-        p.println("  mNextUserActionNotificationSequenceNumber="
-                + mNextUserActionNotificationSequenceNumber
-                + " mLastSentUserActionNotificationSequenceNumber="
-                + mLastSentUserActionNotificationSequenceNumber);
     }
 
     /**
@@ -2486,34 +2554,4 @@
         sb.append(",temporaryDetach=" + view.isTemporarilyDetached());
         return sb.toString();
     }
-
-    /**
-     * Called by {@link InputMethodService} so that API calls to deprecated ones defined in this
-     * class can be forwarded to {@link InputMethodPrivilegedOperations}.
-     *
-     * <p>Note: this method does not hold strong references to {@code token} and {@code ops}. The
-     * registry entry will be automatically cleared after {@code token} is garbage collected.</p>
-     *
-     * @param token IME token that is associated with {@code ops}
-     * @param ops {@link InputMethodPrivilegedOperations} that is associated with {@code token}
-     * @hide
-     */
-    public void registerInputMethodPrivOps(IBinder token, InputMethodPrivilegedOperations ops) {
-        mPrivOpsRegistry.put(token, ops);
-    }
-
-    /**
-     * Called from {@link InputMethodService#onDestroy()} to make sure that deprecated IME APIs
-     * defined in this class can no longer access to {@link InputMethodPrivilegedOperations}.
-     *
-     * <p>Note: Calling this method is optional, but at least gives more explict error message in
-     * logcat when IME developers are doing something unsupported (e.g. trying to call IME APIs
-     * after {@link InputMethodService#onDestroy()}).</p>
-     *
-     * @param token IME token to be removed.
-     * @hide
-     */
-    public void unregisterInputMethodPrivOps(IBinder token) {
-        mPrivOpsRegistry.remove(token);
-    }
 }
diff --git a/core/java/android/view/inputmethod/InputMethodSubtype.java b/core/java/android/view/inputmethod/InputMethodSubtype.java
index a7d7a8d..14c879e 100644
--- a/core/java/android/view/inputmethod/InputMethodSubtype.java
+++ b/core/java/android/view/inputmethod/InputMethodSubtype.java
@@ -28,7 +28,7 @@
 import android.text.TextUtils;
 import android.util.Slog;
 
-import com.android.internal.inputmethod.InputMethodUtils;
+import com.android.internal.inputmethod.SubtypeLocaleUtils;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -384,7 +384,7 @@
             if (!TextUtils.isEmpty(mSubtypeLanguageTag)) {
                 mCachedLocaleObj = Locale.forLanguageTag(mSubtypeLanguageTag);
             } else {
-                mCachedLocaleObj = InputMethodUtils.constructLocaleFromString(mSubtypeLocale);
+                mCachedLocaleObj = SubtypeLocaleUtils.constructLocaleFromString(mSubtypeLocale);
             }
             return mCachedLocaleObj;
         }
diff --git a/core/java/android/view/textclassifier/TextClassifierImpl.java b/core/java/android/view/textclassifier/TextClassifierImpl.java
index 29339e9..3e240cf 100644
--- a/core/java/android/view/textclassifier/TextClassifierImpl.java
+++ b/core/java/android/view/textclassifier/TextClassifierImpl.java
@@ -44,6 +44,8 @@
 import com.android.internal.util.IndentingPrintWriter;
 import com.android.internal.util.Preconditions;
 
+import com.google.android.textclassifier.AnnotatorModel;
+
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -92,7 +94,7 @@
     @GuardedBy("mLock") // Do not access outside this lock.
     private ModelFile mModel;
     @GuardedBy("mLock") // Do not access outside this lock.
-    private TextClassifierImplNative mNative;
+    private AnnotatorModel mNative;
 
     private final Object mLoggerLock = new Object();
     @GuardedBy("mLoggerLock") // Do not access outside this lock.
@@ -125,7 +127,7 @@
                     && rangeLength <= mSettings.getSuggestSelectionMaxRangeLength()) {
                 final String localesString = concatenateLocales(request.getDefaultLocales());
                 final ZonedDateTime refTime = ZonedDateTime.now();
-                final TextClassifierImplNative nativeImpl = getNative(request.getDefaultLocales());
+                final AnnotatorModel nativeImpl = getNative(request.getDefaultLocales());
                 final int start;
                 final int end;
                 if (mSettings.isModelDarkLaunchEnabled() && !request.isDarkLaunchAllowed()) {
@@ -134,7 +136,7 @@
                 } else {
                     final int[] startEnd = nativeImpl.suggestSelection(
                             string, request.getStartIndex(), request.getEndIndex(),
-                            new TextClassifierImplNative.SelectionOptions(localesString));
+                            new AnnotatorModel.SelectionOptions(localesString));
                     start = startEnd[0];
                     end = startEnd[1];
                 }
@@ -142,10 +144,10 @@
                         && start >= 0 && end <= string.length()
                         && start <= request.getStartIndex() && end >= request.getEndIndex()) {
                     final TextSelection.Builder tsBuilder = new TextSelection.Builder(start, end);
-                    final TextClassifierImplNative.ClassificationResult[] results =
+                    final AnnotatorModel.ClassificationResult[] results =
                             nativeImpl.classifyText(
                                     string, start, end,
-                                    new TextClassifierImplNative.ClassificationOptions(
+                                    new AnnotatorModel.ClassificationOptions(
                                             refTime.toInstant().toEpochMilli(),
                                             refTime.getZone().getId(),
                                             localesString));
@@ -184,11 +186,11 @@
                 final String localesString = concatenateLocales(request.getDefaultLocales());
                 final ZonedDateTime refTime = request.getReferenceTime() != null
                         ? request.getReferenceTime() : ZonedDateTime.now();
-                final TextClassifierImplNative.ClassificationResult[] results =
+                final AnnotatorModel.ClassificationResult[] results =
                         getNative(request.getDefaultLocales())
                                 .classifyText(
                                         string, request.getStartIndex(), request.getEndIndex(),
-                                        new TextClassifierImplNative.ClassificationOptions(
+                                        new AnnotatorModel.ClassificationOptions(
                                                 refTime.toInstant().toEpochMilli(),
                                                 refTime.getZone().getId(),
                                                 localesString));
@@ -228,17 +230,17 @@
                     ? request.getEntityConfig().resolveEntityListModifications(
                             getEntitiesForHints(request.getEntityConfig().getHints()))
                     : mSettings.getEntityListDefault();
-            final TextClassifierImplNative nativeImpl =
+            final AnnotatorModel nativeImpl =
                     getNative(request.getDefaultLocales());
-            final TextClassifierImplNative.AnnotatedSpan[] annotations =
+            final AnnotatorModel.AnnotatedSpan[] annotations =
                     nativeImpl.annotate(
                         textString,
-                        new TextClassifierImplNative.AnnotationOptions(
+                        new AnnotatorModel.AnnotationOptions(
                                 refTime.toInstant().toEpochMilli(),
                                         refTime.getZone().getId(),
                                 concatenateLocales(request.getDefaultLocales())));
-            for (TextClassifierImplNative.AnnotatedSpan span : annotations) {
-                final TextClassifierImplNative.ClassificationResult[] results =
+            for (AnnotatorModel.AnnotatedSpan span : annotations) {
+                final AnnotatorModel.ClassificationResult[] results =
                         span.getClassification();
                 if (results.length == 0
                         || !entitiesToIdentify.contains(results[0].getCollection())) {
@@ -297,7 +299,7 @@
         }
     }
 
-    private TextClassifierImplNative getNative(LocaleList localeList)
+    private AnnotatorModel getNative(LocaleList localeList)
             throws FileNotFoundException {
         synchronized (mLock) {
             localeList = localeList == null ? LocaleList.getEmptyLocaleList() : localeList;
@@ -310,7 +312,7 @@
                 destroyNativeIfExistsLocked();
                 final ParcelFileDescriptor fd = ParcelFileDescriptor.open(
                         new File(bestModel.getPath()), ParcelFileDescriptor.MODE_READ_ONLY);
-                mNative = new TextClassifierImplNative(fd.getFd());
+                mNative = new AnnotatorModel(fd.getFd());
                 closeAndLogError(fd);
                 mModel = bestModel;
             }
@@ -398,14 +400,14 @@
     }
 
     private TextClassification createClassificationResult(
-            TextClassifierImplNative.ClassificationResult[] classifications,
+            AnnotatorModel.ClassificationResult[] classifications,
             String text, int start, int end, @Nullable Instant referenceTime) {
         final String classifiedText = text.substring(start, end);
         final TextClassification.Builder builder = new TextClassification.Builder()
                 .setText(classifiedText);
 
         final int size = classifications.length;
-        TextClassifierImplNative.ClassificationResult highestScoringResult = null;
+        AnnotatorModel.ClassificationResult highestScoringResult = null;
         float highestScore = Float.MIN_VALUE;
         for (int i = 0; i < size; i++) {
             builder.setEntityType(classifications[i].getCollection(),
@@ -486,9 +488,9 @@
             try {
                 final ParcelFileDescriptor modelFd = ParcelFileDescriptor.open(
                         file, ParcelFileDescriptor.MODE_READ_ONLY);
-                final int version = TextClassifierImplNative.getVersion(modelFd.getFd());
+                final int version = AnnotatorModel.getVersion(modelFd.getFd());
                 final String supportedLocalesStr =
-                        TextClassifierImplNative.getLocales(modelFd.getFd());
+                        AnnotatorModel.getLocales(modelFd.getFd());
                 if (supportedLocalesStr.isEmpty()) {
                     Log.d(DEFAULT_LOG_TAG, "Ignoring " + file.getAbsolutePath());
                     return null;
@@ -676,7 +678,7 @@
         public static List<LabeledIntent> create(
                 Context context,
                 @Nullable Instant referenceTime,
-                TextClassifierImplNative.ClassificationResult classification,
+                AnnotatorModel.ClassificationResult classification,
                 String text) {
             final String type = classification.getCollection().trim().toLowerCase(Locale.ENGLISH);
             text = text.trim();
diff --git a/core/java/android/view/textclassifier/TextClassifierImplNative.java b/core/java/android/view/textclassifier/TextClassifierImplNative.java
deleted file mode 100644
index 3d4c8f2..0000000
--- a/core/java/android/view/textclassifier/TextClassifierImplNative.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
- * Copyright (C) 2017 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.
- */
-
-package android.view.textclassifier;
-
-import android.content.res.AssetFileDescriptor;
-
-/**
- * Java wrapper for TextClassifier native library interface. This library is used for detecting
- * entities in text.
- */
-final class TextClassifierImplNative {
-
-    static {
-        System.loadLibrary("textclassifier");
-    }
-
-    private final long mModelPtr;
-
-    /**
-     * Creates a new instance of TextClassifierImplNative, using the provided model image, given as
-     * a file descriptor.
-     */
-    TextClassifierImplNative(int fd) {
-        mModelPtr = nativeNew(fd);
-        if (mModelPtr == 0L) {
-            throw new IllegalArgumentException("Couldn't initialize TC from file descriptor.");
-        }
-    }
-
-    /**
-     * Creates a new instance of TextClassifierImplNative, using the provided model image, given as
-     * a file path.
-     */
-    TextClassifierImplNative(String path) {
-        mModelPtr = nativeNewFromPath(path);
-        if (mModelPtr == 0L) {
-            throw new IllegalArgumentException("Couldn't initialize TC from given file.");
-        }
-    }
-
-    /**
-     * Creates a new instance of TextClassifierImplNative, using the provided model image, given as
-     * an AssetFileDescriptor.
-     */
-    TextClassifierImplNative(AssetFileDescriptor afd) {
-        mModelPtr = nativeNewFromAssetFileDescriptor(afd, afd.getStartOffset(), afd.getLength());
-        if (mModelPtr == 0L) {
-            throw new IllegalArgumentException(
-                    "Couldn't initialize TC from given AssetFileDescriptor");
-        }
-    }
-
-    /**
-     * Given a string context and current selection, computes the SmartSelection suggestion.
-     *
-     * <p>The begin and end are character indices into the context UTF8 string. selectionBegin is
-     * the character index where the selection begins, and selectionEnd is the index of one
-     * character past the selection span.
-     *
-     * <p>The return value is an array of two ints: suggested selection beginning and end, with the
-     * same semantics as the input selectionBeginning and selectionEnd.
-     */
-    public int[] suggestSelection(
-            String context, int selectionBegin, int selectionEnd, SelectionOptions options) {
-        return nativeSuggestSelection(mModelPtr, context, selectionBegin, selectionEnd, options);
-    }
-
-    /**
-     * Given a string context and current selection, classifies the type of the selected text.
-     *
-     * <p>The begin and end params are character indices in the context string.
-     *
-     * <p>Returns an array of ClassificationResult objects with the probability scores for different
-     * collections.
-     */
-    public ClassificationResult[] classifyText(
-            String context, int selectionBegin, int selectionEnd, ClassificationOptions options) {
-        return nativeClassifyText(mModelPtr, context, selectionBegin, selectionEnd, options);
-    }
-
-    /**
-     * Annotates given input text. The annotations should cover the whole input context except for
-     * whitespaces, and are sorted by their position in the context string.
-     */
-    public AnnotatedSpan[] annotate(String text, AnnotationOptions options) {
-        return nativeAnnotate(mModelPtr, text, options);
-    }
-
-    /** Frees up the allocated memory. */
-    public void close() {
-        nativeClose(mModelPtr);
-    }
-
-    /** Returns a comma separated list of locales supported by the model as BCP 47 tags. */
-    public static String getLocales(int fd) {
-        return nativeGetLocales(fd);
-    }
-
-    /** Returns the version of the model. */
-    public static int getVersion(int fd) {
-        return nativeGetVersion(fd);
-    }
-
-    /** Represents a datetime parsing result from classifyText calls. */
-    public static final class DatetimeResult {
-        static final int GRANULARITY_YEAR = 0;
-        static final int GRANULARITY_MONTH = 1;
-        static final int GRANULARITY_WEEK = 2;
-        static final int GRANULARITY_DAY = 3;
-        static final int GRANULARITY_HOUR = 4;
-        static final int GRANULARITY_MINUTE = 5;
-        static final int GRANULARITY_SECOND = 6;
-
-        private final long mTimeMsUtc;
-        private final int mGranularity;
-
-        DatetimeResult(long timeMsUtc, int granularity) {
-            mGranularity = granularity;
-            mTimeMsUtc = timeMsUtc;
-        }
-
-        public long getTimeMsUtc() {
-            return mTimeMsUtc;
-        }
-
-        public int getGranularity() {
-            return mGranularity;
-        }
-    }
-
-    /** Represents a result of classifyText method call. */
-    public static final class ClassificationResult {
-        private final String mCollection;
-        private final float mScore;
-        private final DatetimeResult mDatetimeResult;
-
-        ClassificationResult(
-                String collection, float score, DatetimeResult datetimeResult) {
-            mCollection = collection;
-            mScore = score;
-            mDatetimeResult = datetimeResult;
-        }
-
-        public String getCollection() {
-            if (mCollection.equals(TextClassifier.TYPE_DATE) && mDatetimeResult != null) {
-                switch (mDatetimeResult.getGranularity()) {
-                    case DatetimeResult.GRANULARITY_HOUR:
-                        // fall through
-                    case DatetimeResult.GRANULARITY_MINUTE:
-                        // fall through
-                    case DatetimeResult.GRANULARITY_SECOND:
-                        return TextClassifier.TYPE_DATE_TIME;
-                    default:
-                        return TextClassifier.TYPE_DATE;
-                }
-            }
-            return mCollection;
-        }
-
-        public float getScore() {
-            return mScore;
-        }
-
-        public DatetimeResult getDatetimeResult() {
-            return mDatetimeResult;
-        }
-    }
-
-    /** Represents a result of Annotate call. */
-    public static final class AnnotatedSpan {
-        private final int mStartIndex;
-        private final int mEndIndex;
-        private final ClassificationResult[] mClassification;
-
-        AnnotatedSpan(
-                int startIndex, int endIndex, ClassificationResult[] classification) {
-            mStartIndex = startIndex;
-            mEndIndex = endIndex;
-            mClassification = classification;
-        }
-
-        public int getStartIndex() {
-            return mStartIndex;
-        }
-
-        public int getEndIndex() {
-            return mEndIndex;
-        }
-
-        public ClassificationResult[] getClassification() {
-            return mClassification;
-        }
-    }
-
-    /** Represents options for the suggestSelection call. */
-    public static final class SelectionOptions {
-        private final String mLocales;
-
-        SelectionOptions(String locales) {
-            mLocales = locales;
-        }
-
-        public String getLocales() {
-            return mLocales;
-        }
-    }
-
-    /** Represents options for the classifyText call. */
-    public static final class ClassificationOptions {
-        private final long mReferenceTimeMsUtc;
-        private final String mReferenceTimezone;
-        private final String mLocales;
-
-        ClassificationOptions(long referenceTimeMsUtc, String referenceTimezone, String locale) {
-            mReferenceTimeMsUtc = referenceTimeMsUtc;
-            mReferenceTimezone = referenceTimezone;
-            mLocales = locale;
-        }
-
-        public long getReferenceTimeMsUtc() {
-            return mReferenceTimeMsUtc;
-        }
-
-        public String getReferenceTimezone() {
-            return mReferenceTimezone;
-        }
-
-        public String getLocale() {
-            return mLocales;
-        }
-    }
-
-    /** Represents options for the Annotate call. */
-    public static final class AnnotationOptions {
-        private final long mReferenceTimeMsUtc;
-        private final String mReferenceTimezone;
-        private final String mLocales;
-
-        AnnotationOptions(long referenceTimeMsUtc, String referenceTimezone, String locale) {
-            mReferenceTimeMsUtc = referenceTimeMsUtc;
-            mReferenceTimezone = referenceTimezone;
-            mLocales = locale;
-        }
-
-        public long getReferenceTimeMsUtc() {
-            return mReferenceTimeMsUtc;
-        }
-
-        public String getReferenceTimezone() {
-            return mReferenceTimezone;
-        }
-
-        public String getLocale() {
-            return mLocales;
-        }
-    }
-
-    private static native long nativeNew(int fd);
-
-    private static native long nativeNewFromPath(String path);
-
-    private static native long nativeNewFromAssetFileDescriptor(
-            AssetFileDescriptor afd, long offset, long size);
-
-    private static native int[] nativeSuggestSelection(
-            long context,
-            String text,
-            int selectionBegin,
-            int selectionEnd,
-            SelectionOptions options);
-
-    private static native ClassificationResult[] nativeClassifyText(
-            long context,
-            String text,
-            int selectionBegin,
-            int selectionEnd,
-            ClassificationOptions options);
-
-    private static native AnnotatedSpan[] nativeAnnotate(
-            long context, String text, AnnotationOptions options);
-
-    private static native void nativeClose(long context);
-
-    private static native String nativeGetLocales(int fd);
-
-    private static native int nativeGetVersion(int fd);
-}
diff --git a/core/java/android/view/textservice/SpellCheckerSubtype.java b/core/java/android/view/textservice/SpellCheckerSubtype.java
index 026610e..d904d467 100644
--- a/core/java/android/view/textservice/SpellCheckerSubtype.java
+++ b/core/java/android/view/textservice/SpellCheckerSubtype.java
@@ -25,7 +25,7 @@
 import android.text.TextUtils;
 import android.util.Slog;
 
-import com.android.internal.inputmethod.InputMethodUtils;
+import com.android.internal.inputmethod.SubtypeLocaleUtils;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -228,7 +228,7 @@
         if (!TextUtils.isEmpty(mSubtypeLanguageTag)) {
             return Locale.forLanguageTag(mSubtypeLanguageTag);
         }
-        return InputMethodUtils.constructLocaleFromString(mSubtypeLocale);
+        return SubtypeLocaleUtils.constructLocaleFromString(mSubtypeLocale);
     }
 
     /**
diff --git a/core/java/android/webkit/CookieManager.java b/core/java/android/webkit/CookieManager.java
index ae6a2fd..23d1237 100644
--- a/core/java/android/webkit/CookieManager.java
+++ b/core/java/android/webkit/CookieManager.java
@@ -25,6 +25,13 @@
  * Cookies are manipulated according to RFC2109.
  */
 public abstract class CookieManager {
+    /**
+     * @deprecated This class should not be constructed by applications, use {@link #getInstance}
+     * instead to fetch the singleton instance.
+     */
+    // TODO(ntfschr): mark this as @SystemApi after a year.
+    @Deprecated
+    public CookieManager() {}
 
     @Override
     protected Object clone() throws CloneNotSupportedException {
diff --git a/core/java/android/webkit/RenderProcessGoneDetail.java b/core/java/android/webkit/RenderProcessGoneDetail.java
index 0843e26..9beeaa5 100644
--- a/core/java/android/webkit/RenderProcessGoneDetail.java
+++ b/core/java/android/webkit/RenderProcessGoneDetail.java
@@ -22,6 +22,13 @@
  **/
 public abstract class RenderProcessGoneDetail {
     /**
+     * @deprecated This class should not be constructed by applications.
+     */
+    // TODO(ntfschr): mark this as @SystemApi after a year.
+    @Deprecated
+    public RenderProcessGoneDetail() {}
+
+    /**
      * Indicates whether the render process was observed to crash, or whether
      * it was killed by the system.
      *
diff --git a/core/java/android/webkit/SafeBrowsingResponse.java b/core/java/android/webkit/SafeBrowsingResponse.java
index 1d3a617..ca33a0c 100644
--- a/core/java/android/webkit/SafeBrowsingResponse.java
+++ b/core/java/android/webkit/SafeBrowsingResponse.java
@@ -27,6 +27,12 @@
  * {@link android.webkit.WebView#getSafeBrowsingPrivacyPolicyUrl()}.
  */
 public abstract class SafeBrowsingResponse {
+    /**
+     * @deprecated This class should not be constructed by applications.
+     */
+    // TODO(ntfschr): mark this as @SystemApi after a year.
+    @Deprecated
+    public SafeBrowsingResponse() {}
 
     /**
      * Display the default interstitial.
@@ -36,14 +42,14 @@
     public abstract void showInterstitial(boolean allowReporting);
 
     /**
-     * Act as if the user clicked "visit this unsafe site."
+     * Act as if the user clicked the "visit this unsafe site" button.
      *
      * @param report {@code true} to enable Safe Browsing reporting.
      */
     public abstract void proceed(boolean report);
 
     /**
-     * Act as if the user clicked "back to safety."
+     * Act as if the user clicked the "back to safety" button.
      *
      * @param report {@code true} to enable Safe Browsing reporting.
      */
diff --git a/core/java/android/webkit/ServiceWorkerController.java b/core/java/android/webkit/ServiceWorkerController.java
index 3517c74..d7e0715 100644
--- a/core/java/android/webkit/ServiceWorkerController.java
+++ b/core/java/android/webkit/ServiceWorkerController.java
@@ -38,6 +38,14 @@
 public abstract class ServiceWorkerController {
 
     /**
+     * @deprecated This class should not be constructed by applications, use {@link #getInstance()}
+     * instead to fetch the singleton instance.
+     */
+    // TODO(ntfschr): mark this as @SystemApi after a year.
+    @Deprecated
+    public ServiceWorkerController() {}
+
+    /**
      * Returns the default ServiceWorkerController instance. At present there is
      * only one ServiceWorkerController instance for all WebView instances,
      * however this restriction may be relaxed in the future.
diff --git a/core/java/android/webkit/TracingController.java b/core/java/android/webkit/TracingController.java
index 05c0304..9908182 100644
--- a/core/java/android/webkit/TracingController.java
+++ b/core/java/android/webkit/TracingController.java
@@ -36,13 +36,20 @@
  * <pre class="prettyprint">
  * TracingController tracingController = TracingController.getInstance();
  * tracingController.start(new TracingConfig.Builder()
- *                  .addCategories(CATEGORIES_WEB_DEVELOPER).build());
+ *                  .addCategories(TracingConfig.CATEGORIES_WEB_DEVELOPER).build());
  * ...
  * tracingController.stop(new FileOutputStream("trace.json"),
  *                        Executors.newSingleThreadExecutor());
  * </pre></p>
  */
 public abstract class TracingController {
+    /**
+     * @deprecated This class should not be constructed by applications, use {@link #getInstance}
+     * instead to fetch the singleton instance.
+     */
+    // TODO(ntfschr): mark this as @SystemApi after a year.
+    @Deprecated
+    public TracingController() {}
 
     /**
      * Returns the default TracingController instance. At present there is
diff --git a/core/java/android/webkit/WebViewDatabase.java b/core/java/android/webkit/WebViewDatabase.java
index f6166c5..f346c60 100644
--- a/core/java/android/webkit/WebViewDatabase.java
+++ b/core/java/android/webkit/WebViewDatabase.java
@@ -31,6 +31,14 @@
  */
 public abstract class WebViewDatabase {
     /**
+     * @deprecated This class should not be constructed by applications, use {@link
+     * #getInstance(Context)} instead to fetch the singleton instance.
+     */
+    // TODO(ntfschr): mark this as @SystemApi after a year.
+    @Deprecated
+    public WebViewDatabase() {}
+
+    /**
      * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1}
      */
     protected static final String LOGTAG = "webviewdatabase";
diff --git a/core/java/android/webkit/WebViewFactory.java b/core/java/android/webkit/WebViewFactory.java
index e9a9e8f..46b1f6e 100644
--- a/core/java/android/webkit/WebViewFactory.java
+++ b/core/java/android/webkit/WebViewFactory.java
@@ -51,9 +51,6 @@
 
     private static final String CHROMIUM_WEBVIEW_FACTORY_METHOD = "create";
 
-    public static final String CHROMIUM_WEBVIEW_VMSIZE_SIZE_PROPERTY =
-            "persist.sys.webview.vmsize";
-
     private static final String LOGTAG = "WebViewFactory";
 
     private static final boolean DEBUG = false;
diff --git a/core/java/android/webkit/WebViewLibraryLoader.java b/core/java/android/webkit/WebViewLibraryLoader.java
index cabba06..5a6aeba 100644
--- a/core/java/android/webkit/WebViewLibraryLoader.java
+++ b/core/java/android/webkit/WebViewLibraryLoader.java
@@ -17,15 +17,14 @@
 package android.webkit;
 
 import android.annotation.NonNull;
-import android.annotation.Nullable;
 import android.app.ActivityManagerInternal;
-import android.content.pm.ApplicationInfo;
+import android.app.ActivityThread;
+import android.app.LoadedApk;
+import android.content.Context;
 import android.content.pm.PackageInfo;
 import android.os.Build;
 import android.os.Process;
 import android.os.RemoteException;
-import android.os.SystemProperties;
-import android.text.TextUtils;
 import android.util.Log;
 
 import com.android.internal.annotations.VisibleForTesting;
@@ -33,11 +32,7 @@
 
 import dalvik.system.VMRuntime;
 
-import java.io.File;
-import java.io.IOException;
 import java.util.Arrays;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
 
 /**
  * @hide
@@ -50,7 +45,6 @@
             "/data/misc/shared_relro/libwebviewchromium32.relro";
     private static final String CHROMIUM_WEBVIEW_NATIVE_RELRO_64 =
             "/data/misc/shared_relro/libwebviewchromium64.relro";
-    private static final long CHROMIUM_WEBVIEW_DEFAULT_VMSIZE_BYTES = 100 * 1024 * 1024;
 
     private static final boolean DEBUG = false;
 
@@ -69,18 +63,26 @@
             boolean result = false;
             boolean is64Bit = VMRuntime.getRuntime().is64Bit();
             try {
-                if (args.length != 1 || args[0] == null) {
+                if (args.length != 2 || args[0] == null || args[1] == null) {
                     Log.e(LOGTAG, "Invalid RelroFileCreator args: " + Arrays.toString(args));
                     return;
                 }
-                Log.v(LOGTAG, "RelroFileCreator (64bit = " + is64Bit + "), lib: " + args[0]);
+                String packageName = args[0];
+                String libraryFileName = args[1];
+                Log.v(LOGTAG, "RelroFileCreator (64bit = " + is64Bit + "), package: "
+                        + packageName + " library: " + libraryFileName);
                 if (!sAddressSpaceReserved) {
                     Log.e(LOGTAG, "can't create relro file; address space not reserved");
                     return;
                 }
-                result = nativeCreateRelroFile(args[0] /* path */,
+                LoadedApk apk = ActivityThread.currentActivityThread().getPackageInfo(
+                        packageName,
+                        null,
+                        Context.CONTEXT_INCLUDE_CODE | Context.CONTEXT_IGNORE_SECURITY);
+                result = nativeCreateRelroFile(libraryFileName,
                                                is64Bit ? CHROMIUM_WEBVIEW_NATIVE_RELRO_64 :
-                                                         CHROMIUM_WEBVIEW_NATIVE_RELRO_32);
+                                                         CHROMIUM_WEBVIEW_NATIVE_RELRO_32,
+                                               apk.getClassLoader());
                 if (result && DEBUG) Log.v(LOGTAG, "created relro file");
             } finally {
                 // We must do our best to always notify the update service, even if something fails.
@@ -101,7 +103,8 @@
     /**
      * Create a single relro file by invoking an isolated process that to do the actual work.
      */
-    static void createRelroFile(final boolean is64Bit, @NonNull WebViewNativeLibrary nativeLib) {
+    static void createRelroFile(final boolean is64Bit, @NonNull String packageName,
+            @NonNull String libraryFileName) {
         final String abi =
                 is64Bit ? Build.SUPPORTED_64_BIT_ABIS[0] : Build.SUPPORTED_32_BIT_ABIS[0];
 
@@ -119,13 +122,10 @@
         };
 
         try {
-            if (nativeLib == null || nativeLib.path == null) {
-                throw new IllegalArgumentException(
-                        "Native library paths to the WebView RelRo process must not be null!");
-            }
             boolean success = LocalServices.getService(ActivityManagerInternal.class)
                     .startIsolatedProcess(
-                            RelroFileCreator.class.getName(), new String[] { nativeLib.path },
+                            RelroFileCreator.class.getName(),
+                            new String[] { packageName, libraryFileName },
                             "WebViewLoader-" + abi, abi, Process.SHARED_RELRO_UID, crashHandler);
             if (!success) throw new Exception("Failed to start the relro file creator process");
         } catch (Throwable t) {
@@ -140,83 +140,50 @@
      * be called whenever we change WebView provider.
      * @return the number of relro processes started.
      */
-    static int prepareNativeLibraries(PackageInfo webviewPackageInfo)
-            throws WebViewFactory.MissingWebViewPackageException {
-        WebViewNativeLibrary nativeLib32bit =
-                getWebViewNativeLibrary(webviewPackageInfo, false /* is64bit */);
-        WebViewNativeLibrary nativeLib64bit =
-                getWebViewNativeLibrary(webviewPackageInfo, true /* is64bit */);
-        updateWebViewZygoteVmSize(nativeLib32bit, nativeLib64bit);
-
-        return createRelros(nativeLib32bit, nativeLib64bit);
+    static int prepareNativeLibraries(@NonNull PackageInfo webViewPackageInfo) {
+        // TODO(torne): new way of calculating VM size
+        // updateWebViewZygoteVmSize(nativeLib32bit, nativeLib64bit);
+        String libraryFileName = WebViewFactory.getWebViewLibrary(
+                webViewPackageInfo.applicationInfo);
+        if (libraryFileName == null) {
+            // Can't do anything with no filename, don't spawn any processes.
+            return 0;
+        }
+        return createRelros(webViewPackageInfo.packageName, libraryFileName);
     }
 
     /**
      * @return the number of relro processes started.
      */
-    private static int createRelros(@Nullable WebViewNativeLibrary nativeLib32bit,
-            @Nullable WebViewNativeLibrary nativeLib64bit) {
+    private static int createRelros(@NonNull String packageName, @NonNull String libraryFileName) {
         if (DEBUG) Log.v(LOGTAG, "creating relro files");
         int numRelros = 0;
 
         if (Build.SUPPORTED_32_BIT_ABIS.length > 0) {
-            if (nativeLib32bit == null) {
-                Log.e(LOGTAG, "No 32-bit WebView library path, skipping relro creation.");
-            } else {
-                if (DEBUG) Log.v(LOGTAG, "Create 32 bit relro");
-                createRelroFile(false /* is64Bit */, nativeLib32bit);
-                numRelros++;
-            }
+            if (DEBUG) Log.v(LOGTAG, "Create 32 bit relro");
+            createRelroFile(false /* is64Bit */, packageName, libraryFileName);
+            numRelros++;
         }
 
         if (Build.SUPPORTED_64_BIT_ABIS.length > 0) {
-            if (nativeLib64bit == null) {
-                Log.e(LOGTAG, "No 64-bit WebView library path, skipping relro creation.");
-            } else {
-                if (DEBUG) Log.v(LOGTAG, "Create 64 bit relro");
-                createRelroFile(true /* is64Bit */, nativeLib64bit);
-                numRelros++;
-            }
+            if (DEBUG) Log.v(LOGTAG, "Create 64 bit relro");
+            createRelroFile(true /* is64Bit */, packageName, libraryFileName);
+            numRelros++;
         }
         return numRelros;
     }
 
     /**
-     *
-     * @return the native WebView libraries in the new WebView APK.
-     */
-    private static void updateWebViewZygoteVmSize(
-            @Nullable WebViewNativeLibrary nativeLib32bit,
-            @Nullable WebViewNativeLibrary nativeLib64bit)
-            throws WebViewFactory.MissingWebViewPackageException {
-        // Find the native libraries of the new WebView package, to change the size of the
-        // memory region in the Zygote reserved for the library.
-        long newVmSize = 0L;
-
-        if (nativeLib32bit != null) newVmSize = Math.max(newVmSize, nativeLib32bit.size);
-        if (nativeLib64bit != null) newVmSize = Math.max(newVmSize, nativeLib64bit.size);
-
-        if (DEBUG) {
-            Log.v(LOGTAG, "Based on library size, need " + newVmSize
-                    + " bytes of address space.");
-        }
-        // The required memory can be larger than the file on disk (due to .bss), and an
-        // upgraded version of the library will likely be larger, so always attempt to
-        // reserve twice as much as we think to allow for the library to grow during this
-        // boot cycle.
-        newVmSize = Math.max(2 * newVmSize, CHROMIUM_WEBVIEW_DEFAULT_VMSIZE_BYTES);
-        Log.d(LOGTAG, "Setting new address space to " + newVmSize);
-        setWebViewZygoteVmSize(newVmSize);
-    }
-
-    /**
      * Reserve space for the native library to be loaded into.
      */
     static void reserveAddressSpaceInZygote() {
         System.loadLibrary("webviewchromium_loader");
-        long addressSpaceToReserve =
-                SystemProperties.getLong(WebViewFactory.CHROMIUM_WEBVIEW_VMSIZE_SIZE_PROPERTY,
-                CHROMIUM_WEBVIEW_DEFAULT_VMSIZE_BYTES);
+        boolean is64Bit = VMRuntime.getRuntime().is64Bit();
+        // On 64-bit address space is really cheap and we can reserve 1GB which is plenty.
+        // On 32-bit it's fairly scarce and we should keep it to a realistic number that
+        // permits some future growth but doesn't hog space: we use 100MB which is more than 2x
+        // the current requirement.
+        long addressSpaceToReserve = is64Bit ? 1 * 1024 * 1024 * 1024 : 100 * 1024 * 1024;
         sAddressSpaceReserved = nativeReserveAddressSpace(addressSpaceToReserve);
 
         if (sAddressSpaceReserved) {
@@ -253,106 +220,7 @@
         return result;
     }
 
-    /**
-     * Fetch WebView's native library paths from {@param packageInfo}.
-     * @hide
-     */
-    @Nullable
-    @VisibleForTesting
-    public static WebViewNativeLibrary getWebViewNativeLibrary(PackageInfo packageInfo,
-            boolean is64bit) throws WebViewFactory.MissingWebViewPackageException {
-        ApplicationInfo ai = packageInfo.applicationInfo;
-        final String nativeLibFileName = WebViewFactory.getWebViewLibrary(ai);
-
-        String dir = getWebViewNativeLibraryDirectory(ai, is64bit /* 64bit */);
-
-        WebViewNativeLibrary lib = findNativeLibrary(ai, nativeLibFileName,
-                is64bit ? Build.SUPPORTED_64_BIT_ABIS : Build.SUPPORTED_32_BIT_ABIS, dir);
-
-        if (DEBUG) {
-            Log.v(LOGTAG, String.format("Native %d-bit lib: %s", is64bit ? 64 : 32, lib.path));
-        }
-        return lib;
-    }
-
-    /**
-     * @return the directory of the native WebView library with bitness {@param is64bit}.
-     * @hide
-     */
-    @VisibleForTesting
-    public static String getWebViewNativeLibraryDirectory(ApplicationInfo ai, boolean is64bit) {
-        // Primary arch has the same bitness as the library we are looking for.
-        if (is64bit == VMRuntime.is64BitAbi(ai.primaryCpuAbi)) return ai.nativeLibraryDir;
-
-        // Secondary arch has the same bitness as the library we are looking for.
-        if (!TextUtils.isEmpty(ai.secondaryCpuAbi)) {
-            return ai.secondaryNativeLibraryDir;
-        }
-
-        return "";
-    }
-
-    /**
-     * @return an object describing a native WebView library given the directory path of that
-     * library, or null if the library couldn't be found.
-     */
-    @Nullable
-    private static WebViewNativeLibrary findNativeLibrary(ApplicationInfo ai,
-            String nativeLibFileName, String[] abiList, String libDirectory)
-            throws WebViewFactory.MissingWebViewPackageException {
-        if (TextUtils.isEmpty(libDirectory)) return null;
-        String libPath = libDirectory + "/" + nativeLibFileName;
-        File f = new File(libPath);
-        if (f.exists()) {
-            return new WebViewNativeLibrary(libPath, f.length());
-        } else {
-            return getLoadFromApkPath(ai.sourceDir, abiList, nativeLibFileName);
-        }
-    }
-
-    /**
-     * @hide
-     */
-    @VisibleForTesting
-    public static class WebViewNativeLibrary {
-        public final String path;
-        public final long size;
-
-        WebViewNativeLibrary(String path, long size) {
-            this.path = path;
-            this.size = size;
-        }
-    }
-
-    private static WebViewNativeLibrary getLoadFromApkPath(String apkPath,
-                                                           String[] abiList,
-                                                           String nativeLibFileName)
-            throws WebViewFactory.MissingWebViewPackageException {
-        // Search the APK for a native library conforming to a listed ABI.
-        try (ZipFile z = new ZipFile(apkPath)) {
-            for (String abi : abiList) {
-                final String entry = "lib/" + abi + "/" + nativeLibFileName;
-                ZipEntry e = z.getEntry(entry);
-                if (e != null && e.getMethod() == ZipEntry.STORED) {
-                    // Return a path formatted for dlopen() load from APK.
-                    return new WebViewNativeLibrary(apkPath + "!/" + entry, e.getSize());
-                }
-            }
-        } catch (IOException e) {
-            throw new WebViewFactory.MissingWebViewPackageException(e);
-        }
-        return null;
-    }
-
-    /**
-     * Sets the size of the memory area in which to store the relro section.
-     */
-    private static void setWebViewZygoteVmSize(long vmSize) {
-        SystemProperties.set(WebViewFactory.CHROMIUM_WEBVIEW_VMSIZE_SIZE_PROPERTY,
-                Long.toString(vmSize));
-    }
-
     static native boolean nativeReserveAddressSpace(long addressSpaceToReserve);
-    static native boolean nativeCreateRelroFile(String lib, String relro);
+    static native boolean nativeCreateRelroFile(String lib, String relro, ClassLoader clazzLoader);
     static native int nativeLoadWithRelroFile(String lib, String relro, ClassLoader clazzLoader);
 }
diff --git a/core/java/android/widget/AdapterView.java b/core/java/android/widget/AdapterView.java
index dd6c923..f3fe16e 100644
--- a/core/java/android/widget/AdapterView.java
+++ b/core/java/android/widget/AdapterView.java
@@ -682,7 +682,7 @@
 
     /**
      * Sets the currently selected item. To support accessibility subclasses that
-     * override this method must invoke the overriden super method first.
+     * override this method must invoke the overridden super method first.
      *
      * @param position Index (starting at 0) of the data item to be selected.
      */
diff --git a/core/java/android/widget/AutoCompleteTextView.java b/core/java/android/widget/AutoCompleteTextView.java
index 71d13a9..7d6564f 100644
--- a/core/java/android/widget/AutoCompleteTextView.java
+++ b/core/java/android/widget/AutoCompleteTextView.java
@@ -24,6 +24,7 @@
 import android.database.DataSetObserver;
 import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
+import android.os.Build;
 import android.text.Editable;
 import android.text.Selection;
 import android.text.TextUtils;
@@ -533,7 +534,7 @@
      *
      * @hide Pending API council approval
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public void setDropDownAnimationStyle(int animationStyle) {
         mPopup.setAnimationStyle(animationStyle);
     }
@@ -1157,7 +1158,7 @@
      * <p>Closes the drop down if present on screen.</p>
      */
     public void dismissDropDown() {
-        InputMethodManager imm = InputMethodManager.peekInstance();
+        InputMethodManager imm = getContext().getSystemService(InputMethodManager.class);
         if (imm != null) {
             imm.displayCompletions(this, null);
         }
@@ -1246,7 +1247,7 @@
     private void buildImeCompletions() {
         final ListAdapter adapter = mAdapter;
         if (adapter != null) {
-            InputMethodManager imm = InputMethodManager.peekInstance();
+            InputMethodManager imm = getContext().getSystemService(InputMethodManager.class);
             if (imm != null) {
                 final int count = Math.min(adapter.getCount(), 20);
                 CompletionInfo[] completions = new CompletionInfo[count];
diff --git a/core/java/android/widget/CursorAdapter.java b/core/java/android/widget/CursorAdapter.java
index cc8b550..e250f63 100644
--- a/core/java/android/widget/CursorAdapter.java
+++ b/core/java/android/widget/CursorAdapter.java
@@ -365,7 +365,7 @@
      * closed.
      *
      * @param newCursor The new cursor to be used.
-     * @return Returns the previously set Cursor, or null if there wasa not one.
+     * @return Returns the previously set Cursor, or null if there was not one.
      * If the given new Cursor is the same instance is the previously set
      * Cursor, null is also returned.
      */
diff --git a/core/java/android/widget/DatePickerSpinnerDelegate.java b/core/java/android/widget/DatePickerSpinnerDelegate.java
index f88a4e2..5f15110 100644
--- a/core/java/android/widget/DatePickerSpinnerDelegate.java
+++ b/core/java/android/widget/DatePickerSpinnerDelegate.java
@@ -639,7 +639,7 @@
         // changed the value via the IME and there is a next input the IME will
         // be shown, otherwise the user chose another means of changing the
         // value and having the IME up makes no sense.
-        InputMethodManager inputMethodManager = InputMethodManager.peekInstance();
+        InputMethodManager inputMethodManager = mContext.getSystemService(InputMethodManager.class);
         if (inputMethodManager != null) {
             if (inputMethodManager.isActive(mYearSpinnerInput)) {
                 mYearSpinnerInput.clearFocus();
diff --git a/core/java/android/widget/DigitalClock.java b/core/java/android/widget/DigitalClock.java
index c503ef2..8ebf303 100644
--- a/core/java/android/widget/DigitalClock.java
+++ b/core/java/android/widget/DigitalClock.java
@@ -27,7 +27,7 @@
 import java.util.Calendar;
 
 /**
- * Like AnalogClock, but digital.  Shows seconds.
+ * Like AnalogClock, but digital.
  *
  * @deprecated It is recommended you use {@link TextClock} instead.
  */
diff --git a/core/java/android/widget/Editor.java b/core/java/android/widget/Editor.java
index 4428598..9d74c98 100644
--- a/core/java/android/widget/Editor.java
+++ b/core/java/android/widget/Editor.java
@@ -388,7 +388,8 @@
                 com.android.internal.R.bool.config_enableHapticTextHandle);
 
         if (FLAG_USE_MAGNIFIER) {
-            mMagnifierAnimator = new MagnifierMotionAnimator(new Magnifier(mTextView));
+            final Magnifier magnifier = new Magnifier.Builder(mTextView).build();
+            mMagnifierAnimator = new MagnifierMotionAnimator(magnifier);
         }
     }
 
@@ -1539,6 +1540,10 @@
         }
     }
 
+    private InputMethodManager getInputMethodManager() {
+        return mTextView.getContext().getSystemService(InputMethodManager.class);
+    }
+
     public void beginBatchEdit() {
         mInBatchEditControllers = true;
         final InputMethodState ims = mInputMethodState;
@@ -1707,7 +1712,7 @@
         if (req == null) {
             return false;
         }
-        final InputMethodManager imm = InputMethodManager.peekInstance();
+        final InputMethodManager imm = getInputMethodManager();
         if (imm == null) {
             return false;
         }
@@ -1742,7 +1747,7 @@
 
     private void sendUpdateSelection() {
         if (null != mInputMethodState && mInputMethodState.mBatchEditNesting <= 0) {
-            final InputMethodManager imm = InputMethodManager.peekInstance();
+            final InputMethodManager imm = getInputMethodManager();
             if (null != imm) {
                 final int selectionStart = mTextView.getSelectionStart();
                 final int selectionEnd = mTextView.getSelectionEnd();
@@ -1768,7 +1773,7 @@
 
         final InputMethodState ims = mInputMethodState;
         if (ims != null && ims.mBatchEditNesting == 0) {
-            InputMethodManager imm = InputMethodManager.peekInstance();
+            InputMethodManager imm = getInputMethodManager();
             if (imm != null) {
                 if (imm.isActive(mTextView)) {
                     if (ims.mContentChanged || ims.mSelectionModeChanged) {
@@ -2245,7 +2250,7 @@
                 && mTextView.isTextEditable() && !mTextView.isTextSelectable()
                 && mShowSoftInputOnFocus) {
             // Show the IME to be able to replace text, except when selecting non editable text.
-            final InputMethodManager imm = InputMethodManager.peekInstance();
+            final InputMethodManager imm = getInputMethodManager();
             if (imm != null) {
                 imm.showSoftInput(mTextView, 0, null);
             }
@@ -2255,7 +2260,7 @@
 
     private boolean extractedTextModeWillBeStarted() {
         if (!(mTextView.isInExtractedMode())) {
-            final InputMethodManager imm = InputMethodManager.peekInstance();
+            final InputMethodManager imm = getInputMethodManager();
             return  imm != null && imm.isFullscreenMode();
         }
         return false;
@@ -4272,7 +4277,7 @@
             if (ims == null || ims.mBatchEditNesting > 0) {
                 return;
             }
-            final InputMethodManager imm = InputMethodManager.peekInstance();
+            final InputMethodManager imm = getInputMethodManager();
             if (null == imm) {
                 return;
             }
diff --git a/core/java/android/widget/ImageView.java b/core/java/android/widget/ImageView.java
index 0fef9a5..12cc54d 100644
--- a/core/java/android/widget/ImageView.java
+++ b/core/java/android/widget/ImageView.java
@@ -1338,7 +1338,9 @@
             return;
         }
         if (matrix == null) {
-            mDrawable.setBounds(0, 0, getWidth(), getHeight());
+            final int vwidth = getWidth() - mPaddingLeft - mPaddingRight;
+            final int vheight = getHeight() - mPaddingTop - mPaddingBottom;
+            mDrawable.setBounds(0, 0, vwidth, vheight);
         } else {
             mDrawable.setBounds(0, 0, mDrawableWidth, mDrawableHeight);
             if (mDrawMatrix == null) {
diff --git a/core/java/android/widget/LinearLayout.java b/core/java/android/widget/LinearLayout.java
index 452e903..f2e478d 100644
--- a/core/java/android/widget/LinearLayout.java
+++ b/core/java/android/widget/LinearLayout.java
@@ -653,7 +653,7 @@
     }
 
     /**
-     * <p>Returns the view at the specified index. This method can be overriden
+     * <p>Returns the view at the specified index. This method can be overridden
      * to take into account virtual children. Refer to
      * {@link android.widget.TableLayout} and {@link android.widget.TableRow}
      * for an example.</p>
@@ -1527,7 +1527,7 @@
 
     /**
      * <p>Measure the child according to the parent's measure specs. This
-     * method should be overriden by subclasses to force the sizing of
+     * method should be overridden by subclasses to force the sizing of
      * children. This method is called by {@link #measureVertical(int, int)} and
      * {@link #measureHorizontal(int, int)}.</p>
      *
diff --git a/core/java/android/widget/Magnifier.java b/core/java/android/widget/Magnifier.java
index 8e2786d..16ddd0f 100644
--- a/core/java/android/widget/Magnifier.java
+++ b/core/java/android/widget/Magnifier.java
@@ -119,8 +119,9 @@
      *
      * @param view the view for which this magnifier is attached
      *
-     * @see Builder
+     * @deprecated Please use {@link Builder} instead
      */
+    @Deprecated
     public Magnifier(@NonNull View view) {
         this(new Builder(view));
     }
diff --git a/core/java/android/widget/NumberPicker.java b/core/java/android/widget/NumberPicker.java
index b6ed22c..a28cc40 100644
--- a/core/java/android/widget/NumberPicker.java
+++ b/core/java/android/widget/NumberPicker.java
@@ -1293,7 +1293,8 @@
      * Shows the soft input for its input text.
      */
     private void showSoftInput() {
-        InputMethodManager inputMethodManager = InputMethodManager.peekInstance();
+        InputMethodManager inputMethodManager =
+                getContext().getSystemService(InputMethodManager.class);
         if (inputMethodManager != null) {
             if (mHasSelectorWheel) {
                 mInputText.setVisibility(View.VISIBLE);
@@ -1307,7 +1308,8 @@
      * Hides the soft input if it is active for the input text.
      */
     private void hideSoftInput() {
-        InputMethodManager inputMethodManager = InputMethodManager.peekInstance();
+        InputMethodManager inputMethodManager =
+                getContext().getSystemService(InputMethodManager.class);
         if (inputMethodManager != null && inputMethodManager.isActive(mInputText)) {
             inputMethodManager.hideSoftInputFromWindow(getWindowToken(), 0);
         }
diff --git a/core/java/android/widget/SearchView.java b/core/java/android/widget/SearchView.java
index 5b5950d..10e1dfb 100644
--- a/core/java/android/widget/SearchView.java
+++ b/core/java/android/widget/SearchView.java
@@ -36,6 +36,7 @@
 import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -1292,7 +1293,7 @@
         mSearchSrcTextView.dismissDropDown();
     }
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private void onCloseClicked() {
         CharSequence text = mSearchSrcTextView.getText();
         if (TextUtils.isEmpty(text)) {
@@ -1590,7 +1591,7 @@
     /**
      * Sets the text in the query box, without updating the suggestions.
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private void setQuery(CharSequence query) {
         mSearchSrcTextView.setText(query, true);
         // Move the cursor to the end
diff --git a/core/java/android/widget/ShareActionProvider.java b/core/java/android/widget/ShareActionProvider.java
index 9a24061..c78f4ac 100644
--- a/core/java/android/widget/ShareActionProvider.java
+++ b/core/java/android/widget/ShareActionProvider.java
@@ -268,7 +268,7 @@
      * Intent shareIntent = new Intent(Intent.ACTION_SEND);
      * shareIntent.setType("image/*");
      * Uri uri = Uri.fromFile(new File(getFilesDir(), "foo.jpg"));
-     * shareIntent.putExtra(Intent.EXTRA_STREAM, uri));</pre>
+     * shareIntent.putExtra(Intent.EXTRA_STREAM, uri);</pre>
      *
      * @param shareIntent The share intent.
      *
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index 0645a16..f95b3ce 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -313,6 +313,7 @@
  * @attr ref android.R.styleable#TextView_fallbackLineSpacing
  * @attr ref android.R.styleable#TextView_letterSpacing
  * @attr ref android.R.styleable#TextView_fontFeatureSettings
+ * @attr ref android.R.styleable#TextView_fontVariationSettings
  * @attr ref android.R.styleable#TextView_breakStrategy
  * @attr ref android.R.styleable#TextView_hyphenationFrequency
  * @attr ref android.R.styleable#TextView_autoSizeTextType
@@ -320,6 +321,12 @@
  * @attr ref android.R.styleable#TextView_autoSizeMaxTextSize
  * @attr ref android.R.styleable#TextView_autoSizeStepGranularity
  * @attr ref android.R.styleable#TextView_autoSizePresetSizes
+ * @attr ref android.R.styleable#TextView_textCursorDrawable
+ * @attr ref android.R.styleable#TextView_textSelectHandle
+ * @attr ref android.R.styleable#TextView_textSelectHandleLeft
+ * @attr ref android.R.styleable#TextView_textSelectHandleRight
+ * @attr ref android.R.styleable#TextView_allowUndo
+ * @attr ref android.R.styleable#TextView_enabled
  */
 @RemoteView
 public class TextView extends View implements ViewTreeObserver.OnPreDrawListener {
@@ -2155,7 +2162,7 @@
 
         if (!enabled) {
             // Hide the soft input if the currently active TextView is disabled
-            InputMethodManager imm = InputMethodManager.peekInstance();
+            InputMethodManager imm = getInputMethodManager();
             if (imm != null && imm.isActive(this)) {
                 imm.hideSoftInputFromWindow(getWindowToken(), 0);
             }
@@ -2165,7 +2172,7 @@
 
         if (enabled) {
             // Make sure IME is updated with current editor info.
-            InputMethodManager imm = InputMethodManager.peekInstance();
+            InputMethodManager imm = getInputMethodManager();
             if (imm != null) imm.restartInput(this);
         }
 
@@ -2391,7 +2398,7 @@
             if (mEditor != null) mEditor.mInputType = EditorInfo.TYPE_NULL;
         }
 
-        InputMethodManager imm = InputMethodManager.peekInstance();
+        InputMethodManager imm = getInputMethodManager();
         if (imm != null) imm.restartInput(this);
     }
 
@@ -3608,7 +3615,7 @@
     /**
      * Read the Text Appearance attributes from a given TypedArray and set its values to the given
      * set. If the TypedArray contains a value that was already set in the given attributes, that
-     * will be overriden.
+     * will be overridden.
      *
      * @param context The Context to be used
      * @param appearance The TypedArray to read properties from
@@ -4382,6 +4389,8 @@
      *
      * @see #getFontVariationSettings()
      * @see FontVariationAxis
+     *
+     * @attr ref android.R.styleable#TextView_fontVariationSettings
      */
     public boolean setFontVariationSettings(@Nullable String fontVariationSettings) {
         final String existingSettings = mTextPaint.getFontVariationSettings();
@@ -5766,7 +5775,7 @@
             Editable t = mEditableFactory.newEditable(text);
             text = t;
             setFilters(t, mFilters);
-            InputMethodManager imm = InputMethodManager.peekInstance();
+            InputMethodManager imm = getInputMethodManager();
             if (imm != null) imm.restartInput(this);
         } else if (precomputed != null) {
             if (mTextDir == null) {
@@ -6145,7 +6154,7 @@
             setTextInternal(removeSuggestionSpans(mText));
         }
 
-        InputMethodManager imm = InputMethodManager.peekInstance();
+        InputMethodManager imm = getInputMethodManager();
         if (imm != null) imm.restartInput(this);
     }
 
@@ -6433,7 +6442,7 @@
                 return;
 
             } else if (actionCode == EditorInfo.IME_ACTION_DONE) {
-                InputMethodManager imm = InputMethodManager.peekInstance();
+                InputMethodManager imm = getInputMethodManager();
                 if (imm != null && imm.isActive(this)) {
                     imm.hideSoftInputFromWindow(getWindowToken(), 0);
                 }
@@ -7899,7 +7908,7 @@
                     if (!hasOnClickListeners()) {
                         if (mMovement != null && mText instanceof Editable
                                 && mLayout != null && onCheckIsTextEditor()) {
-                            InputMethodManager imm = InputMethodManager.peekInstance();
+                            InputMethodManager imm = getInputMethodManager();
                             viewClicked(imm);
                             if (imm != null && getShowSoftInputOnFocus()) {
                                 imm.showSoftInput(this, 0);
@@ -7953,7 +7962,7 @@
                                     & KeyEvent.FLAG_EDITOR_ACTION) != 0) {
                                 // No target for next focus, but make sure the IME
                                 // if this came from it.
-                                InputMethodManager imm = InputMethodManager.peekInstance();
+                                InputMethodManager imm = getInputMethodManager();
                                 if (imm != null && imm.isActive(this)) {
                                     imm.hideSoftInputFromWindow(getWindowToken(), 0);
                                 }
@@ -10257,7 +10266,7 @@
 
             if (touchIsFinished && (isTextEditable() || textIsSelectable)) {
                 // Show the IME, except when selecting in read-only text.
-                final InputMethodManager imm = InputMethodManager.peekInstance();
+                final InputMethodManager imm = getInputMethodManager();
                 viewClicked(imm);
                 if (isTextEditable() && mEditor.mShowSoftInputOnFocus && imm != null) {
                     imm.showSoftInput(this, 0);
@@ -11296,7 +11305,7 @@
         // Show the IME, except when selecting in read-only text.
         if ((mMovement != null || onCheckIsTextEditor()) && hasSpannableText() && mLayout != null
                 && (isTextEditable() || isTextSelectable()) && isFocused()) {
-            final InputMethodManager imm = InputMethodManager.peekInstance();
+            final InputMethodManager imm = getInputMethodManager();
             viewClicked(imm);
             if (!isTextSelectable() && mEditor.mShowSoftInputOnFocus && imm != null) {
                 handled |= imm.showSoftInput(this, 0);
@@ -11364,13 +11373,17 @@
         sendAccessibilityEventUnchecked(event);
     }
 
+    private InputMethodManager getInputMethodManager() {
+        return getContext().getSystemService(InputMethodManager.class);
+    }
+
     /**
      * Returns whether this text view is a current input method target.  The
      * default implementation just checks with {@link InputMethodManager}.
      * @return True if the TextView is a current input method target; false otherwise.
      */
     public boolean isInputMethodTarget() {
-        InputMethodManager imm = InputMethodManager.peekInstance();
+        InputMethodManager imm = getInputMethodManager();
         return imm != null && imm.isActive(this);
     }
 
@@ -12488,11 +12501,11 @@
                     advancesIndex);
         }
 
-        public int getTextRunCursor(int contextStart, int contextEnd, int dir,
+        public int getTextRunCursor(int contextStart, int contextEnd, boolean isRtl,
                 int offset, int cursorOpt, Paint p) {
             int contextCount = contextEnd - contextStart;
             return p.getTextRunCursor(mChars, contextStart + mStart,
-                    contextCount, dir, offset + mStart, cursorOpt);
+                    contextCount, isRtl, offset + mStart, cursorOpt);
         }
     }
 
diff --git a/core/java/android/widget/TimePickerClockDelegate.java b/core/java/android/widget/TimePickerClockDelegate.java
index 77670b3..6a3a8f0 100644
--- a/core/java/android/widget/TimePickerClockDelegate.java
+++ b/core/java/android/widget/TimePickerClockDelegate.java
@@ -269,7 +269,7 @@
             mRadialTimePickerModeButton.setContentDescription(
                     mTextInputPickerModeEnabledDescription);
             updateTextInputPicker();
-            InputMethodManager imm = InputMethodManager.peekInstance();
+            InputMethodManager imm = mContext.getSystemService(InputMethodManager.class);
             if (imm != null) {
                 imm.hideSoftInputFromWindow(mDelegator.getWindowToken(), 0);
             }
diff --git a/core/java/android/widget/TimePickerSpinnerDelegate.java b/core/java/android/widget/TimePickerSpinnerDelegate.java
index cc79b9c..83c86d5 100644
--- a/core/java/android/widget/TimePickerSpinnerDelegate.java
+++ b/core/java/android/widget/TimePickerSpinnerDelegate.java
@@ -471,7 +471,7 @@
         // changed the value via the IME and there is a next input the IME will
         // be shown, otherwise the user chose another means of changing the
         // value and having the IME up makes no sense.
-        InputMethodManager inputMethodManager = InputMethodManager.peekInstance();
+        InputMethodManager inputMethodManager = mContext.getSystemService(InputMethodManager.class);
         if (inputMethodManager != null) {
             if (inputMethodManager.isActive(mHourSpinnerInput)) {
                 mHourSpinnerInput.clearFocus();
diff --git a/core/java/android/widget/Toast.java b/core/java/android/widget/Toast.java
index 3fbc819..10cf702 100644
--- a/core/java/android/widget/Toast.java
+++ b/core/java/android/widget/Toast.java
@@ -27,6 +27,7 @@
 import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.graphics.PixelFormat;
+import android.os.Build;
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.Looper;
@@ -443,7 +444,7 @@
          * schedule handleShow into the right thread
          */
         @Override
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         public void show(IBinder windowToken) {
             if (localLOGV) Log.v(TAG, "SHOW: " + this);
             mHandler.obtainMessage(SHOW, windowToken).sendToTarget();
diff --git a/core/java/android/widget/Toolbar.java b/core/java/android/widget/Toolbar.java
index 1bbd7e8..adb7f2f 100644
--- a/core/java/android/widget/Toolbar.java
+++ b/core/java/android/widget/Toolbar.java
@@ -29,6 +29,7 @@
 import android.content.Context;
 import android.content.res.TypedArray;
 import android.graphics.drawable.Drawable;
+import android.os.Build;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.text.Layout;
@@ -137,7 +138,7 @@
     @UnsupportedAppUsage
     private TextView mTitleTextView;
     private TextView mSubtitleTextView;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private ImageButton mNavButtonView;
     private ImageView mLogoView;
 
diff --git a/core/java/android/widget/VideoView.java b/core/java/android/widget/VideoView.java
index 14881eb..8b45d99 100644
--- a/core/java/android/widget/VideoView.java
+++ b/core/java/android/widget/VideoView.java
@@ -38,6 +38,7 @@
 import android.media.TtmlRenderer;
 import android.media.WebVttRenderer;
 import android.net.Uri;
+import android.os.Build;
 import android.os.Looper;
 import android.util.AttributeSet;
 import android.util.Log;
@@ -85,7 +86,7 @@
 
     // all possible internal states
     private static final int STATE_ERROR = -1;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private static final int STATE_IDLE = 0;
     private static final int STATE_PREPARING = 1;
     private static final int STATE_PREPARED = 2;
diff --git a/core/java/com/android/internal/accessibility/AccessibilityShortcutController.java b/core/java/com/android/internal/accessibility/AccessibilityShortcutController.java
index 90712fd..e83e79b 100644
--- a/core/java/com/android/internal/accessibility/AccessibilityShortcutController.java
+++ b/core/java/com/android/internal/accessibility/AccessibilityShortcutController.java
@@ -16,6 +16,10 @@
 
 package com.android.internal.accessibility;
 
+import static android.view.WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG;
+
+import static com.android.internal.util.ArrayUtils.convertToLongArray;
+
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.app.ActivityManager;
 import android.app.ActivityThread;
@@ -34,23 +38,23 @@
 import android.os.UserHandle;
 import android.os.Vibrator;
 import android.provider.Settings;
+import android.speech.tts.TextToSpeech;
+import android.speech.tts.Voice;
 import android.text.TextUtils;
 import android.util.ArrayMap;
 import android.util.Slog;
 import android.view.Window;
 import android.view.WindowManager;
 import android.view.accessibility.AccessibilityManager;
-
 import android.widget.Toast;
+
 import com.android.internal.R;
+import com.android.internal.util.function.pooled.PooledLambda;
 
 import java.util.Collections;
+import java.util.Locale;
 import java.util.Map;
 
-import static android.view.WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG;
-
-import static com.android.internal.util.ArrayUtils.convertToLongArray;
-
 /**
  * Class to help manage the accessibility shortcut
  */
@@ -70,6 +74,7 @@
     private static Map<ComponentName, ToggleableFrameworkFeatureInfo> sFrameworkShortcutFeaturesMap;
 
     private final Context mContext;
+    private final Handler mHandler;
     private AlertDialog mAlertDialog;
     private boolean mIsShortcutEnabled;
     private boolean mEnabledOnLockScreen;
@@ -123,6 +128,7 @@
 
     public AccessibilityShortcutController(Context context, Handler handler, int initialUserId) {
         mContext = context;
+        mHandler = handler;
         mUserId = initialUserId;
 
         // Keep track of state of shortcut settings
@@ -189,22 +195,6 @@
         final int userId = ActivityManager.getCurrentUser();
         final int dialogAlreadyShown = Settings.Secure.getIntForUser(
                 cr, Settings.Secure.ACCESSIBILITY_SHORTCUT_DIALOG_SHOWN, 0, userId);
-        // Use USAGE_ASSISTANCE_ACCESSIBILITY for TVs to ensure that TVs play the ringtone as they
-        // have less ways of providing feedback like vibration.
-        final int audioAttributesUsage = hasFeatureLeanback()
-                ? AudioAttributes.USAGE_ASSISTANCE_ACCESSIBILITY
-                : AudioAttributes.USAGE_NOTIFICATION_EVENT;
-
-        // Play a notification tone
-        final Ringtone tone =
-                RingtoneManager.getRingtone(mContext, Settings.System.DEFAULT_NOTIFICATION_URI);
-        if (tone != null) {
-            tone.setAudioAttributes(new AudioAttributes.Builder()
-                .setUsage(audioAttributesUsage)
-                .build());
-            tone.play();
-        }
-
         // Play a notification vibration
         Vibrator vibrator = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
         if ((vibrator != null) && vibrator.hasVibrator()) {
@@ -223,6 +213,9 @@
             if (mAlertDialog == null) {
                 return;
             }
+            if (!performTtsPrompt(mAlertDialog)) {
+                playNotificationTone();
+            }
             Window w = mAlertDialog.getWindow();
             WindowManager.LayoutParams attr = w.getAttributes();
             attr.type = TYPE_KEYGUARD_DIALOG;
@@ -231,6 +224,7 @@
             Settings.Secure.putIntForUser(
                     cr, Settings.Secure.ACCESSIBILITY_SHORTCUT_DIALOG_SHOWN, 1, userId);
         } else {
+            playNotificationTone();
             if (mAlertDialog != null) {
                 mAlertDialog.dismiss();
                 mAlertDialog = null;
@@ -344,6 +338,102 @@
         return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_LEANBACK);
     }
 
+    private void playNotificationTone() {
+        // Use USAGE_ASSISTANCE_ACCESSIBILITY for TVs to ensure that TVs play the ringtone as they
+        // have less ways of providing feedback like vibration.
+        final int audioAttributesUsage = hasFeatureLeanback()
+                ? AudioAttributes.USAGE_ASSISTANCE_ACCESSIBILITY
+                : AudioAttributes.USAGE_NOTIFICATION_EVENT;
+
+        // Play a notification tone
+        final Ringtone tone = mFrameworkObjectProvider.getRingtone(mContext,
+                Settings.System.DEFAULT_NOTIFICATION_URI);
+        if (tone != null) {
+            tone.setAudioAttributes(new AudioAttributes.Builder()
+                    .setUsage(audioAttributesUsage)
+                    .build());
+            tone.play();
+        }
+    }
+
+    private boolean performTtsPrompt(AlertDialog alertDialog) {
+        final AccessibilityServiceInfo serviceInfo = getInfoForTargetService();
+        if (serviceInfo == null) {
+            return false;
+        }
+        if ((serviceInfo.flags & AccessibilityServiceInfo
+                .FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK) == 0) {
+            return false;
+        }
+        final TtsPrompt tts = new TtsPrompt();
+        alertDialog.setOnDismissListener(dialog -> tts.dismiss());
+        return true;
+    }
+
+    /**
+     * Class to wrap TextToSpeech for shortcut dialog spoken feedback.
+     */
+    private class TtsPrompt implements TextToSpeech.OnInitListener {
+        private final CharSequence mText;
+        private boolean mDismiss;
+        private TextToSpeech mTts;
+
+        TtsPrompt() {
+            mText = mContext.getString(R.string.accessibility_shortcut_spoken_feedback);
+            mTts = mFrameworkObjectProvider.getTextToSpeech(mContext, this);
+        }
+
+        /**
+         * Releases the resources used by the TextToSpeech, when dialog dismiss.
+         */
+        public void dismiss() {
+            mDismiss = true;
+            mHandler.sendMessage(PooledLambda.obtainMessage(TextToSpeech::shutdown, mTts));
+        }
+
+        @Override
+        public void onInit(int status) {
+            if (status != TextToSpeech.SUCCESS) {
+                Slog.d(TAG, "Tts init fail, status=" + Integer.toString(status));
+                playNotificationTone();
+                return;
+            }
+            mHandler.sendMessage(PooledLambda.obtainMessage(TtsPrompt::play, this));
+        }
+
+        private void play() {
+            if (mDismiss) {
+                return;
+            }
+            int status = TextToSpeech.ERROR;
+            if (setLanguage(Locale.getDefault())) {
+                status = mTts.speak(mText, TextToSpeech.QUEUE_FLUSH, null, null);
+            }
+            if (status != TextToSpeech.SUCCESS) {
+                Slog.d(TAG, "Tts play fail");
+                playNotificationTone();
+            }
+        }
+
+        /**
+         * @return false if tts language is not available
+         */
+        private boolean setLanguage(final Locale locale) {
+            int status = mTts.isLanguageAvailable(locale);
+            if (status == TextToSpeech.LANG_MISSING_DATA
+                    || status == TextToSpeech.LANG_NOT_SUPPORTED) {
+                return false;
+            }
+            mTts.setLanguage(locale);
+            Voice voice = mTts.getVoice();
+            if (voice == null || (voice.getFeatures() != null && voice.getFeatures()
+                    .contains(TextToSpeech.Engine.KEY_FEATURE_NOT_INSTALLED))) {
+                return false;
+            }
+            return true;
+        }
+    }
+
     /**
      * Immutable class to hold info about framework features that can be controlled by shortcut
      */
@@ -406,5 +496,23 @@
         public Context getSystemUiContext() {
             return ActivityThread.currentActivityThread().getSystemUiContext();
         }
+
+        /**
+         * @param ctx A context for TextToSpeech
+         * @param listener TextToSpeech initialization callback
+         * @return TextToSpeech instance
+         */
+        public TextToSpeech getTextToSpeech(Context ctx, TextToSpeech.OnInitListener listener) {
+            return new TextToSpeech(ctx, listener);
+        }
+
+        /**
+         * @param ctx context for ringtone
+         * @param uri ringtone uri
+         * @return Ringtone instance
+         */
+        public Ringtone getRingtone(Context ctx, Uri uri) {
+            return RingtoneManager.getRingtone(ctx, uri);
+        }
     }
 }
diff --git a/core/java/com/android/internal/app/AssistUtils.java b/core/java/com/android/internal/app/AssistUtils.java
index 9171959..0f8295a 100644
--- a/core/java/com/android/internal/app/AssistUtils.java
+++ b/core/java/com/android/internal/app/AssistUtils.java
@@ -16,8 +16,7 @@
 
 package com.android.internal.app;
 
-import com.android.internal.R;
-
+import android.annotation.NonNull;
 import android.app.SearchManager;
 import android.content.ComponentName;
 import android.content.Context;
@@ -32,6 +31,9 @@
 import android.provider.Settings;
 import android.util.Log;
 
+import java.util.ArrayList;
+import java.util.Set;
+
 /**
  * Utility method for dealing with the assistant aspects of
  * {@link com.android.internal.app.IVoiceInteractionManagerService IVoiceInteractionManagerService}.
@@ -62,6 +64,30 @@
         return false;
     }
 
+    /**
+     * Checks the availability of a set of voice actions for the current active voice service.
+     *
+     * @param voiceActions A set of supported voice actions to be checked.
+     * @param callback     The callback which will deliver a set of supported voice actions. If
+     *                     no voice actions are supported for the given voice action set, then null
+     *                     or empty set is provided.
+     */
+    public void getActiveServiceSupportedActions(@NonNull Set<String> voiceActions,
+            @NonNull IVoiceActionCheckCallback callback) {
+        try {
+            if (mVoiceInteractionManagerService != null) {
+                mVoiceInteractionManagerService
+                        .getActiveServiceSupportedActions(new ArrayList<>(voiceActions), callback);
+            }
+        } catch (RemoteException e) {
+            Log.w(TAG, "Failed to call activeServiceSupportedActions", e);
+            try {
+                callback.onComplete(null);
+            } catch (RemoteException re) {
+            }
+        }
+    }
+
     public void launchVoiceAssistFromKeyguard() {
         try {
             if (mVoiceInteractionManagerService != null) {
@@ -157,7 +183,7 @@
             return getActiveServiceComponentName();
         }
         final SearchManager searchManager =
-            (SearchManager) mContext.getSystemService(Context.SEARCH_SERVICE);
+                (SearchManager) mContext.getSystemService(Context.SEARCH_SERVICE);
         if (searchManager == null) {
             return null;
         }
diff --git a/core/tests/webkit/apk_with_native_libs/jni/WebViewTestJniOnLoad.cpp b/core/java/com/android/internal/app/IVoiceActionCheckCallback.aidl
similarity index 74%
copy from core/tests/webkit/apk_with_native_libs/jni/WebViewTestJniOnLoad.cpp
copy to core/java/com/android/internal/app/IVoiceActionCheckCallback.aidl
index 0ced4ee..66ba93d 100644
--- a/core/tests/webkit/apk_with_native_libs/jni/WebViewTestJniOnLoad.cpp
+++ b/core/java/com/android/internal/app/IVoiceActionCheckCallback.aidl
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2017 The Android Open Source Project
+ * Copyright (C) 2018 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.
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#include <jni.h>
+package com.android.internal.app;
 
-jint JNI_OnLoad(JavaVM * /*vm*/, void * /*reserved*/) {
-    return JNI_VERSION_1_4;
+oneway interface IVoiceActionCheckCallback {
+    void onComplete(in List<String> voiceActions);
 }
diff --git a/core/java/com/android/internal/app/IVoiceInteractionManagerService.aidl b/core/java/com/android/internal/app/IVoiceInteractionManagerService.aidl
index ff75a8b..5088cca 100644
--- a/core/java/com/android/internal/app/IVoiceInteractionManagerService.aidl
+++ b/core/java/com/android/internal/app/IVoiceInteractionManagerService.aidl
@@ -20,6 +20,7 @@
 import android.content.Intent;
 import android.os.Bundle;
 
+import com.android.internal.app.IVoiceActionCheckCallback;
 import com.android.internal.app.IVoiceInteractionSessionShowCallback;
 import com.android.internal.app.IVoiceInteractor;
 import com.android.internal.app.IVoiceInteractionSessionListener;
@@ -143,4 +144,11 @@
      * Register a voice interaction listener.
      */
     void registerVoiceInteractionSessionListener(IVoiceInteractionSessionListener listener);
+
+    /**
+     * Checks the availability of a set of voice actions for the current active voice service.
+     * Returns all supported voice actions.
+     */
+    void getActiveServiceSupportedActions(in List<String> voiceActions,
+     in IVoiceActionCheckCallback callback);
 }
diff --git a/core/java/com/android/internal/app/procstats/IProcessStats.aidl b/core/java/com/android/internal/app/procstats/IProcessStats.aidl
index 44867c7..0c203ab 100644
--- a/core/java/com/android/internal/app/procstats/IProcessStats.aidl
+++ b/core/java/com/android/internal/app/procstats/IProcessStats.aidl
@@ -24,4 +24,14 @@
     byte[] getCurrentStats(out List<ParcelFileDescriptor> historic);
     ParcelFileDescriptor getStatsOverTime(long minTime);
     int getCurrentMemoryState();
+
+    /**
+     * Get stats committed after highWaterMarkMs
+     * @param highWaterMarkMs Report stats committed after this time.
+     * @param section Integer mask to indicate which sections to include in the stats.
+     * @param doAggregate Whether to aggregate the stats or keep them separated.
+     * @param List of Files of individual commits in protobuf binary or one that is merged from them.
+     */
+     long getCommittedStats(long highWaterMarkMs, int section, boolean doAggregate,
+        out List<ParcelFileDescriptor> committedStats);
 }
diff --git a/core/java/com/android/internal/app/procstats/ProcessStats.java b/core/java/com/android/internal/app/procstats/ProcessStats.java
index f6e99ba..e7ac566 100644
--- a/core/java/com/android/internal/app/procstats/ProcessStats.java
+++ b/core/java/com/android/internal/app/procstats/ProcessStats.java
@@ -158,6 +158,25 @@
             STATE_CACHED_ACTIVITY_CLIENT, STATE_CACHED_EMPTY
     };
 
+    // Should report process stats.
+    public static final int REPORT_PROC_STATS = 0x01;
+    // Should report package process stats.
+    public static final int REPORT_PKG_PROC_STATS = 0x02;
+    // Should report package service stats.
+    public static final int REPORT_PKG_SVC_STATS = 0x04;
+    // Should report package association stats.
+    public static final int REPORT_PKG_ASC_STATS = 0x08;
+    // Should report package stats.
+    public static final int REPORT_PKG_STATS = 0x0E;
+    // Should report all stats.
+    public static final int REPORT_ALL = 0x0F;
+
+    public static final int[] OPTIONS =
+            {REPORT_PROC_STATS, REPORT_PKG_PROC_STATS, REPORT_PKG_SVC_STATS, REPORT_PKG_ASC_STATS,
+                    REPORT_PKG_STATS, REPORT_ALL};
+    public static final String[] OPTIONS_STR =
+            {"proc", "pkg-proc", "pkg-svc", "pkg-asc", "pkg-all", "all"};
+
     // Current version of the parcel format.
     private static final int PARCEL_VERSION = 34;
     // In-memory Parcel magic number, used to detect attempts to unmarshall bad data
@@ -1412,7 +1431,7 @@
     }
 
     public void dumpLocked(PrintWriter pw, String reqPackage, long now, boolean dumpSummary,
-            boolean dumpDetails, boolean dumpAll, boolean activeOnly) {
+            boolean dumpDetails, boolean dumpAll, boolean activeOnly, int section) {
         long totalTime = DumpUtils.dumpSingleTime(null, null, mMemFactorDurations, mMemFactor,
                 mStartTime, now);
         boolean sepNeeded = false;
@@ -1421,176 +1440,205 @@
             mSysMemUsage.dump(pw, "  ", ALL_SCREEN_ADJ, ALL_MEM_ADJ);
             sepNeeded = true;
         }
-        ArrayMap<String, SparseArray<LongSparseArray<PackageState>>> pkgMap = mPackages.getMap();
         boolean printedHeader = false;
-        for (int ip=0; ip<pkgMap.size(); ip++) {
-            final String pkgName = pkgMap.keyAt(ip);
-            final SparseArray<LongSparseArray<PackageState>> uids = pkgMap.valueAt(ip);
-            for (int iu=0; iu<uids.size(); iu++) {
-                final int uid = uids.keyAt(iu);
-                final LongSparseArray<PackageState> vpkgs = uids.valueAt(iu);
-                for (int iv=0; iv<vpkgs.size(); iv++) {
-                    final long vers = vpkgs.keyAt(iv);
-                    final PackageState pkgState = vpkgs.valueAt(iv);
-                    final int NPROCS = pkgState.mProcesses.size();
-                    final int NSRVS = pkgState.mServices.size();
-                    final int NASCS = pkgState.mAssociations.size();
-                    final boolean pkgMatch = reqPackage == null || reqPackage.equals(pkgName);
-                    if (!pkgMatch) {
-                        boolean procMatch = false;
-                        for (int iproc=0; iproc<NPROCS; iproc++) {
-                            ProcessState proc = pkgState.mProcesses.valueAt(iproc);
-                            if (reqPackage.equals(proc.getName())) {
-                                procMatch = true;
-                                break;
+        if ((section & REPORT_PKG_STATS) != 0) {
+            ArrayMap<String, SparseArray<LongSparseArray<PackageState>>> pkgMap =
+                    mPackages.getMap();
+            for (int ip = 0; ip < pkgMap.size(); ip++) {
+                final String pkgName = pkgMap.keyAt(ip);
+                final SparseArray<LongSparseArray<PackageState>> uids = pkgMap.valueAt(ip);
+                for (int iu = 0; iu < uids.size(); iu++) {
+                    final int uid = uids.keyAt(iu);
+                    final LongSparseArray<PackageState> vpkgs = uids.valueAt(iu);
+                    for (int iv = 0; iv < vpkgs.size(); iv++) {
+                        final long vers = vpkgs.keyAt(iv);
+                        final PackageState pkgState = vpkgs.valueAt(iv);
+                        final int NPROCS = pkgState.mProcesses.size();
+                        final int NSRVS = pkgState.mServices.size();
+                        final int NASCS = pkgState.mAssociations.size();
+                        final boolean pkgMatch = reqPackage == null || reqPackage.equals(pkgName);
+                        if (!pkgMatch) {
+                            boolean procMatch = false;
+                            for (int iproc = 0; iproc < NPROCS; iproc++) {
+                                ProcessState proc = pkgState.mProcesses.valueAt(iproc);
+                                if (reqPackage.equals(proc.getName())) {
+                                    procMatch = true;
+                                    break;
+                                }
                             }
-                        }
-                        if (!procMatch) {
-                            continue;
-                        }
-                    }
-                    if (NPROCS > 0 || NSRVS > 0 || NASCS > 0) {
-                        if (!printedHeader) {
-                            if (sepNeeded) pw.println();
-                            pw.println("Per-Package Stats:");
-                            printedHeader = true;
-                            sepNeeded = true;
-                        }
-                        pw.print("  * "); pw.print(pkgName); pw.print(" / ");
-                                UserHandle.formatUid(pw, uid); pw.print(" / v");
-                                pw.print(vers); pw.println(":");
-                    }
-                    if (!dumpSummary || dumpAll) {
-                        for (int iproc=0; iproc<NPROCS; iproc++) {
-                            ProcessState proc = pkgState.mProcesses.valueAt(iproc);
-                            if (!pkgMatch && !reqPackage.equals(proc.getName())) {
+                            if (!procMatch) {
                                 continue;
                             }
-                            if (activeOnly && !proc.isInUse()) {
-                                pw.print("      (Not active: ");
-                                        pw.print(pkgState.mProcesses.keyAt(iproc)); pw.println(")");
-                                continue;
+                        }
+                        if (NPROCS > 0 || NSRVS > 0 || NASCS > 0) {
+                            if (!printedHeader) {
+                                if (sepNeeded) pw.println();
+                                pw.println("Per-Package Stats:");
+                                printedHeader = true;
+                                sepNeeded = true;
                             }
-                            pw.print("      Process ");
-                            pw.print(pkgState.mProcesses.keyAt(iproc));
-                            if (proc.getCommonProcess().isMultiPackage()) {
-                                pw.print(" (multi, ");
-                            } else {
-                                pw.print(" (unique, ");
-                            }
-                            pw.print(proc.getDurationsBucketCount());
-                            pw.print(" entries)");
+                            pw.print("  * ");
+                            pw.print(pkgName);
+                            pw.print(" / ");
+                            UserHandle.formatUid(pw, uid);
+                            pw.print(" / v");
+                            pw.print(vers);
                             pw.println(":");
-                            proc.dumpProcessState(pw, "        ", ALL_SCREEN_ADJ, ALL_MEM_ADJ,
-                                    ALL_PROC_STATES, now);
-                            proc.dumpPss(pw, "        ", ALL_SCREEN_ADJ, ALL_MEM_ADJ,
-                                    ALL_PROC_STATES, now);
-                            proc.dumpInternalLocked(pw, "        ", dumpAll);
                         }
-                    } else {
-                        ArrayList<ProcessState> procs = new ArrayList<ProcessState>();
-                        for (int iproc=0; iproc<NPROCS; iproc++) {
-                            ProcessState proc = pkgState.mProcesses.valueAt(iproc);
-                            if (!pkgMatch && !reqPackage.equals(proc.getName())) {
-                                continue;
+                        if ((section & REPORT_PKG_PROC_STATS) != 0) {
+                            if (!dumpSummary || dumpAll) {
+                                for (int iproc = 0; iproc < NPROCS; iproc++) {
+                                    ProcessState proc = pkgState.mProcesses.valueAt(iproc);
+                                    if (!pkgMatch && !reqPackage.equals(proc.getName())) {
+                                        continue;
+                                    }
+                                    if (activeOnly && !proc.isInUse()) {
+                                        pw.print("      (Not active: ");
+                                        pw.print(pkgState.mProcesses.keyAt(iproc));
+                                        pw.println(")");
+                                        continue;
+                                    }
+                                    pw.print("      Process ");
+                                    pw.print(pkgState.mProcesses.keyAt(iproc));
+                                    if (proc.getCommonProcess().isMultiPackage()) {
+                                        pw.print(" (multi, ");
+                                    } else {
+                                        pw.print(" (unique, ");
+                                    }
+                                    pw.print(proc.getDurationsBucketCount());
+                                    pw.print(" entries)");
+                                    pw.println(":");
+                                    proc.dumpProcessState(pw, "        ", ALL_SCREEN_ADJ,
+                                            ALL_MEM_ADJ,
+                                            ALL_PROC_STATES, now);
+                                    proc.dumpPss(pw, "        ", ALL_SCREEN_ADJ, ALL_MEM_ADJ,
+                                            ALL_PROC_STATES, now);
+                                    proc.dumpInternalLocked(pw, "        ", dumpAll);
+                                }
+                            } else {
+                                ArrayList<ProcessState> procs = new ArrayList<ProcessState>();
+                                for (int iproc = 0; iproc < NPROCS; iproc++) {
+                                    ProcessState proc = pkgState.mProcesses.valueAt(iproc);
+                                    if (!pkgMatch && !reqPackage.equals(proc.getName())) {
+                                        continue;
+                                    }
+                                    if (activeOnly && !proc.isInUse()) {
+                                        continue;
+                                    }
+                                    procs.add(proc);
+                                }
+                                DumpUtils.dumpProcessSummaryLocked(pw, "      ", "Prc ", procs,
+                                        ALL_SCREEN_ADJ, ALL_MEM_ADJ, NON_CACHED_PROC_STATES,
+                                        now, totalTime);
                             }
-                            if (activeOnly && !proc.isInUse()) {
-                                continue;
+                        }
+                        if ((section & REPORT_PKG_SVC_STATS) != 0) {
+                            for (int isvc = 0; isvc < NSRVS; isvc++) {
+                                ServiceState svc = pkgState.mServices.valueAt(isvc);
+                                if (!pkgMatch && !reqPackage.equals(svc.getProcessName())) {
+                                    continue;
+                                }
+                                if (activeOnly && !svc.isInUse()) {
+                                    pw.print("      (Not active service: ");
+                                    pw.print(pkgState.mServices.keyAt(isvc));
+                                    pw.println(")");
+                                    continue;
+                                }
+                                if (dumpAll) {
+                                    pw.print("      Service ");
+                                } else {
+                                    pw.print("      * Svc ");
+                                }
+                                pw.print(pkgState.mServices.keyAt(isvc));
+                                pw.println(":");
+                                pw.print("        Process: ");
+                                pw.println(svc.getProcessName());
+                                svc.dumpStats(pw, "        ", "          ", "    ",
+                                        now, totalTime, dumpSummary, dumpAll);
                             }
-                            procs.add(proc);
                         }
-                        DumpUtils.dumpProcessSummaryLocked(pw, "      ", "Prc ", procs,
-                                ALL_SCREEN_ADJ, ALL_MEM_ADJ, NON_CACHED_PROC_STATES,
-                                now, totalTime);
-                    }
-                    for (int isvc=0; isvc<NSRVS; isvc++) {
-                        ServiceState svc = pkgState.mServices.valueAt(isvc);
-                        if (!pkgMatch && !reqPackage.equals(svc.getProcessName())) {
-                            continue;
+                        if ((section & REPORT_PKG_ASC_STATS) != 0) {
+                            for (int iasc = 0; iasc < NASCS; iasc++) {
+                                AssociationState asc = pkgState.mAssociations.valueAt(iasc);
+                                if (!pkgMatch && !reqPackage.equals(asc.getProcessName())) {
+                                    continue;
+                                }
+                                if (activeOnly && !asc.isInUse()) {
+                                    pw.print("      (Not active association: ");
+                                    pw.print(pkgState.mAssociations.keyAt(iasc));
+                                    pw.println(")");
+                                    continue;
+                                }
+                                if (dumpAll) {
+                                    pw.print("      Association ");
+                                } else {
+                                    pw.print("      * Asc ");
+                                }
+                                pw.print(pkgState.mAssociations.keyAt(iasc));
+                                pw.println(":");
+                                pw.print("        Process: ");
+                                pw.println(asc.getProcessName());
+                                asc.dumpStats(pw, "        ", "          ", "    ",
+                                        now, totalTime, dumpDetails, dumpAll);
+                            }
                         }
-                        if (activeOnly && !svc.isInUse()) {
-                            pw.print("      (Not active service: ");
-                                    pw.print(pkgState.mServices.keyAt(isvc)); pw.println(")");
-                            continue;
-                        }
-                        if (dumpAll) {
-                            pw.print("      Service ");
-                        } else {
-                            pw.print("      * Svc ");
-                        }
-                        pw.print(pkgState.mServices.keyAt(isvc));
-                        pw.println(":");
-                        pw.print("        Process: "); pw.println(svc.getProcessName());
-                        svc.dumpStats(pw, "        ", "          ", "    ",
-                                now, totalTime, dumpSummary, dumpAll);
-                    }
-                    for (int iasc=0; iasc<NASCS; iasc++) {
-                        AssociationState asc = pkgState.mAssociations.valueAt(iasc);
-                        if (!pkgMatch && !reqPackage.equals(asc.getProcessName())) {
-                            continue;
-                        }
-                        if (activeOnly && !asc.isInUse()) {
-                            pw.print("      (Not active association: ");
-                            pw.print(pkgState.mAssociations.keyAt(iasc)); pw.println(")");
-                            continue;
-                        }
-                        if (dumpAll) {
-                            pw.print("      Association ");
-                        } else {
-                            pw.print("      * Asc ");
-                        }
-                        pw.print(pkgState.mAssociations.keyAt(iasc));
-                        pw.println(":");
-                        pw.print("        Process: "); pw.println(asc.getProcessName());
-                        asc.dumpStats(pw, "        ", "          ", "    ",
-                                now, totalTime, dumpDetails, dumpAll);
                     }
                 }
             }
         }
 
-        ArrayMap<String, SparseArray<ProcessState>> procMap = mProcesses.getMap();
-        printedHeader = false;
-        int numShownProcs = 0, numTotalProcs = 0;
-        for (int ip=0; ip<procMap.size(); ip++) {
-            String procName = procMap.keyAt(ip);
-            SparseArray<ProcessState> uids = procMap.valueAt(ip);
-            for (int iu=0; iu<uids.size(); iu++) {
-                int uid = uids.keyAt(iu);
-                numTotalProcs++;
-                final ProcessState proc = uids.valueAt(iu);
-                if (!proc.hasAnyData()) {
-                    continue;
+        if ((section & REPORT_PROC_STATS) != 0) {
+            ArrayMap<String, SparseArray<ProcessState>> procMap = mProcesses.getMap();
+            printedHeader = false;
+            int numShownProcs = 0, numTotalProcs = 0;
+            for (int ip = 0; ip < procMap.size(); ip++) {
+                String procName = procMap.keyAt(ip);
+                SparseArray<ProcessState> uids = procMap.valueAt(ip);
+                for (int iu = 0; iu < uids.size(); iu++) {
+                    int uid = uids.keyAt(iu);
+                    numTotalProcs++;
+                    final ProcessState proc = uids.valueAt(iu);
+                    if (!proc.hasAnyData()) {
+                        continue;
+                    }
+                    if (!proc.isMultiPackage()) {
+                        continue;
+                    }
+                    if (reqPackage != null && !reqPackage.equals(procName)
+                            && !reqPackage.equals(proc.getPackage())) {
+                        continue;
+                    }
+                    numShownProcs++;
+                    if (sepNeeded) {
+                        pw.println();
+                    }
+                    sepNeeded = true;
+                    if (!printedHeader) {
+                        pw.println("Multi-Package Common Processes:");
+                        printedHeader = true;
+                    }
+                    if (activeOnly && !proc.isInUse()) {
+                        pw.print("      (Not active: ");
+                        pw.print(procName);
+                        pw.println(")");
+                        continue;
+                    }
+                    pw.print("  * ");
+                    pw.print(procName);
+                    pw.print(" / ");
+                    UserHandle.formatUid(pw, uid);
+                    pw.print(" (");
+                    pw.print(proc.getDurationsBucketCount());
+                    pw.print(" entries)");
+                    pw.println(":");
+                    proc.dumpProcessState(pw, "        ", ALL_SCREEN_ADJ, ALL_MEM_ADJ,
+                            ALL_PROC_STATES, now);
+                    proc.dumpPss(pw, "        ", ALL_SCREEN_ADJ, ALL_MEM_ADJ, ALL_PROC_STATES, now);
+                    proc.dumpInternalLocked(pw, "        ", dumpAll);
                 }
-                if (!proc.isMultiPackage()) {
-                    continue;
-                }
-                if (reqPackage != null && !reqPackage.equals(procName)
-                        && !reqPackage.equals(proc.getPackage())) {
-                    continue;
-                }
-                numShownProcs++;
-                if (sepNeeded) {
-                    pw.println();
-                }
-                sepNeeded = true;
-                if (!printedHeader) {
-                    pw.println("Multi-Package Common Processes:");
-                    printedHeader = true;
-                }
-                if (activeOnly && !proc.isInUse()) {
-                    pw.print("      (Not active: "); pw.print(procName); pw.println(")");
-                    continue;
-                }
-                pw.print("  * "); pw.print(procName); pw.print(" / ");
-                        UserHandle.formatUid(pw, uid);
-                        pw.print(" ("); pw.print(proc.getDurationsBucketCount());
-                        pw.print(" entries)"); pw.println(":");
-                proc.dumpProcessState(pw, "        ", ALL_SCREEN_ADJ, ALL_MEM_ADJ,
-                        ALL_PROC_STATES, now);
-                proc.dumpPss(pw, "        ", ALL_SCREEN_ADJ, ALL_MEM_ADJ, ALL_PROC_STATES, now);
-                proc.dumpInternalLocked(pw, "        ", dumpAll);
             }
+            pw.print("  Total procs: "); pw.print(numShownProcs);
+            pw.print(" shown of "); pw.print(numTotalProcs); pw.println(" total");
         }
 
         if (dumpAll) {
@@ -1598,8 +1646,7 @@
                 pw.println();
             }
             sepNeeded = true;
-            pw.print("  Total procs: "); pw.print(numShownProcs);
-                    pw.print(" shown of "); pw.print(numTotalProcs); pw.println(" total");
+
             if (mTrackingAssociations.size() > 0) {
                 pw.println();
                 pw.println("Tracking associations:");
@@ -1866,7 +1913,10 @@
         return outProcs;
     }
 
-    public void dumpCheckinLocked(PrintWriter pw, String reqPackage) {
+    /**
+     * Prints checkin style stats dump.
+     */
+    public void dumpCheckinLocked(PrintWriter pw, String reqPackage, int section) {
         final long now = SystemClock.uptimeMillis();
         final ArrayMap<String, SparseArray<LongSparseArray<PackageState>>> pkgMap =
                 mPackages.getMap();
@@ -1895,50 +1945,61 @@
         }
         pw.println();
         pw.print("config,"); pw.println(mRuntime);
-        for (int ip=0; ip<pkgMap.size(); ip++) {
-            final String pkgName = pkgMap.keyAt(ip);
-            if (reqPackage != null && !reqPackage.equals(pkgName)) {
-                continue;
-            }
-            final SparseArray<LongSparseArray<PackageState>> uids = pkgMap.valueAt(ip);
-            for (int iu=0; iu<uids.size(); iu++) {
-                final int uid = uids.keyAt(iu);
-                final LongSparseArray<PackageState> vpkgs = uids.valueAt(iu);
-                for (int iv=0; iv<vpkgs.size(); iv++) {
-                    final long vers = vpkgs.keyAt(iv);
-                    final PackageState pkgState = vpkgs.valueAt(iv);
-                    final int NPROCS = pkgState.mProcesses.size();
-                    final int NSRVS = pkgState.mServices.size();
-                    final int NASCS = pkgState.mAssociations.size();
-                    for (int iproc=0; iproc<NPROCS; iproc++) {
-                        ProcessState proc = pkgState.mProcesses.valueAt(iproc);
-                        proc.dumpPackageProcCheckin(pw, pkgName, uid, vers,
-                                pkgState.mProcesses.keyAt(iproc), now);
-                    }
-                    for (int isvc=0; isvc<NSRVS; isvc++) {
-                        final String serviceName = DumpUtils.collapseString(pkgName,
-                                pkgState.mServices.keyAt(isvc));
-                        final ServiceState svc = pkgState.mServices.valueAt(isvc);
-                        svc.dumpTimesCheckin(pw, pkgName, uid, vers, serviceName, now);
-                    }
-                    for (int iasc=0; iasc<NASCS; iasc++) {
-                        final String associationName = DumpUtils.collapseString(pkgName,
-                                pkgState.mAssociations.keyAt(iasc));
-                        final AssociationState asc = pkgState.mAssociations.valueAt(iasc);
-                        asc.dumpTimesCheckin(pw, pkgName, uid, vers, associationName, now);
+
+        if ((section & REPORT_PKG_STATS) != 0) {
+            for (int ip = 0; ip < pkgMap.size(); ip++) {
+                final String pkgName = pkgMap.keyAt(ip);
+                if (reqPackage != null && !reqPackage.equals(pkgName)) {
+                    continue;
+                }
+                final SparseArray<LongSparseArray<PackageState>> uids = pkgMap.valueAt(ip);
+                for (int iu = 0; iu < uids.size(); iu++) {
+                    final int uid = uids.keyAt(iu);
+                    final LongSparseArray<PackageState> vpkgs = uids.valueAt(iu);
+                    for (int iv = 0; iv < vpkgs.size(); iv++) {
+                        final long vers = vpkgs.keyAt(iv);
+                        final PackageState pkgState = vpkgs.valueAt(iv);
+                        final int NPROCS = pkgState.mProcesses.size();
+                        final int NSRVS = pkgState.mServices.size();
+                        final int NASCS = pkgState.mAssociations.size();
+                        if ((section & REPORT_PKG_PROC_STATS) != 0) {
+                            for (int iproc = 0; iproc < NPROCS; iproc++) {
+                                ProcessState proc = pkgState.mProcesses.valueAt(iproc);
+                                proc.dumpPackageProcCheckin(pw, pkgName, uid, vers,
+                                        pkgState.mProcesses.keyAt(iproc), now);
+                            }
+                        }
+                        if ((section & REPORT_PKG_SVC_STATS) != 0) {
+                            for (int isvc = 0; isvc < NSRVS; isvc++) {
+                                final String serviceName = DumpUtils.collapseString(pkgName,
+                                        pkgState.mServices.keyAt(isvc));
+                                final ServiceState svc = pkgState.mServices.valueAt(isvc);
+                                svc.dumpTimesCheckin(pw, pkgName, uid, vers, serviceName, now);
+                            }
+                        }
+                        if ((section & REPORT_PKG_ASC_STATS) != 0) {
+                            for (int iasc = 0; iasc < NASCS; iasc++) {
+                                final String associationName = DumpUtils.collapseString(pkgName,
+                                        pkgState.mAssociations.keyAt(iasc));
+                                final AssociationState asc = pkgState.mAssociations.valueAt(iasc);
+                                asc.dumpTimesCheckin(pw, pkgName, uid, vers, associationName, now);
+                            }
+                        }
                     }
                 }
             }
         }
 
-        ArrayMap<String, SparseArray<ProcessState>> procMap = mProcesses.getMap();
-        for (int ip=0; ip<procMap.size(); ip++) {
-            String procName = procMap.keyAt(ip);
-            SparseArray<ProcessState> uids = procMap.valueAt(ip);
-            for (int iu=0; iu<uids.size(); iu++) {
-                final int uid = uids.keyAt(iu);
-                final ProcessState procState = uids.valueAt(iu);
-                procState.dumpProcCheckin(pw, procName, uid, now);
+        if ((section & REPORT_PROC_STATS) != 0) {
+            ArrayMap<String, SparseArray<ProcessState>> procMap = mProcesses.getMap();
+            for (int ip = 0; ip < procMap.size(); ip++) {
+                String procName = procMap.keyAt(ip);
+                SparseArray<ProcessState> uids = procMap.valueAt(ip);
+                for (int iu = 0; iu < uids.size(); iu++) {
+                    final int uid = uids.keyAt(iu);
+                    final ProcessState procState = uids.valueAt(iu);
+                    procState.dumpProcCheckin(pw, procName, uid, now);
+                }
             }
         }
         pw.print("total");
@@ -2013,9 +2074,10 @@
         }
     }
 
-    public void writeToProto(ProtoOutputStream proto, long fieldId, long now) {
-        final long token = proto.start(fieldId);
-
+    /**
+     * Writes to ProtoOutputStream.
+     */
+    public void writeToProto(ProtoOutputStream proto, long now, int section) {
         proto.write(ProcessStatsSectionProto.START_REALTIME_MS, mTimePeriodStartRealtime);
         proto.write(ProcessStatsSectionProto.END_REALTIME_MS,
                 mRunning ? SystemClock.elapsedRealtime() : mTimePeriodEndRealtime);
@@ -2024,15 +2086,15 @@
         proto.write(ProcessStatsSectionProto.RUNTIME, mRuntime);
         proto.write(ProcessStatsSectionProto.HAS_SWAPPED_PSS, mHasSwappedOutPss);
         boolean partial = true;
-        if ((mFlags&FLAG_SHUTDOWN) != 0) {
+        if ((mFlags & FLAG_SHUTDOWN) != 0) {
             proto.write(ProcessStatsSectionProto.STATUS, ProcessStatsSectionProto.STATUS_SHUTDOWN);
             partial = false;
         }
-        if ((mFlags&FLAG_SYSPROPS) != 0) {
+        if ((mFlags & FLAG_SYSPROPS) != 0) {
             proto.write(ProcessStatsSectionProto.STATUS, ProcessStatsSectionProto.STATUS_SYSPROPS);
             partial = false;
         }
-        if ((mFlags&FLAG_COMPLETE) != 0) {
+        if ((mFlags & FLAG_COMPLETE) != 0) {
             proto.write(ProcessStatsSectionProto.STATUS, ProcessStatsSectionProto.STATUS_COMPLETE);
             partial = false;
         }
@@ -2041,31 +2103,34 @@
         }
 
         final ArrayMap<String, SparseArray<ProcessState>> procMap = mProcesses.getMap();
-        for (int ip=0; ip<procMap.size(); ip++) {
-            final String procName = procMap.keyAt(ip);
-            final SparseArray<ProcessState> uids = procMap.valueAt(ip);
-            for (int iu=0; iu<uids.size(); iu++) {
-                final int uid = uids.keyAt(iu);
-                final ProcessState procState = uids.valueAt(iu);
-                procState.writeToProto(proto, ProcessStatsSectionProto.PROCESS_STATS, procName,
-                        uid, now);
-            }
-        }
-
-        final ArrayMap<String, SparseArray<LongSparseArray<PackageState>>> pkgMap =
-                mPackages.getMap();
-        for (int ip = 0; ip < pkgMap.size(); ip++) {
-            final SparseArray<LongSparseArray<PackageState>> uids = pkgMap.valueAt(ip);
-            for (int iu = 0; iu < uids.size(); iu++) {
-                final LongSparseArray<PackageState> vers = uids.valueAt(iu);
-                for (int iv = 0; iv < vers.size(); iv++) {
-                    final PackageState pkgState = vers.valueAt(iv);
-                    pkgState.writeToProto(proto, ProcessStatsSectionProto.PACKAGE_STATS, now);
+        if ((section & REPORT_PROC_STATS) != 0) {
+            for (int ip = 0; ip < procMap.size(); ip++) {
+                final String procName = procMap.keyAt(ip);
+                final SparseArray<ProcessState> uids = procMap.valueAt(ip);
+                for (int iu = 0; iu < uids.size(); iu++) {
+                    final int uid = uids.keyAt(iu);
+                    final ProcessState procState = uids.valueAt(iu);
+                    procState.writeToProto(proto, ProcessStatsSectionProto.PROCESS_STATS, procName,
+                            uid, now);
                 }
             }
         }
 
-        proto.end(token);
+        if ((section & REPORT_PKG_STATS) != 0) {
+            final ArrayMap<String, SparseArray<LongSparseArray<PackageState>>> pkgMap =
+                    mPackages.getMap();
+            for (int ip = 0; ip < pkgMap.size(); ip++) {
+                final SparseArray<LongSparseArray<PackageState>> uids = pkgMap.valueAt(ip);
+                for (int iu = 0; iu < uids.size(); iu++) {
+                    final LongSparseArray<PackageState> vers = uids.valueAt(iu);
+                    for (int iv = 0; iv < vers.size(); iv++) {
+                        final PackageState pkgState = vers.valueAt(iv);
+                        pkgState.writeToProto(proto, ProcessStatsSectionProto.PACKAGE_STATS, now,
+                                section);
+                    }
+                }
+            }
+        }
     }
 
     final public static class ProcessStateHolder {
@@ -2110,30 +2175,39 @@
             return as;
         }
 
-        public void writeToProto(ProtoOutputStream proto, long fieldId, long now) {
+        /**
+         * Writes the containing stats into proto, with options to choose smaller sections.
+         */
+        public void writeToProto(ProtoOutputStream proto, long fieldId, long now, int section) {
             final long token = proto.start(fieldId);
 
             proto.write(ProcessStatsPackageProto.PACKAGE, mPackageName);
             proto.write(ProcessStatsPackageProto.UID, mUid);
             proto.write(ProcessStatsPackageProto.VERSION, mVersionCode);
 
-            for (int ip = 0; ip < mProcesses.size(); ip++) {
-                final String procName = mProcesses.keyAt(ip);
-                final ProcessState procState = mProcesses.valueAt(ip);
-                procState.writeToProto(proto, ProcessStatsPackageProto.PROCESS_STATS, procName,
-                        mUid, now);
+            if ((section & ProcessStats.REPORT_PKG_PROC_STATS) != 0) {
+                for (int ip = 0; ip < mProcesses.size(); ip++) {
+                    final String procName = mProcesses.keyAt(ip);
+                    final ProcessState procState = mProcesses.valueAt(ip);
+                    procState.writeToProto(proto, ProcessStatsPackageProto.PROCESS_STATS, procName,
+                            mUid, now);
+                }
             }
 
-            for (int is = 0; is < mServices.size(); is++) {
-                final ServiceState serviceState = mServices.valueAt(is);
-                serviceState.writeToProto(proto, ProcessStatsPackageProto.SERVICE_STATS,
-                        now);
+            if ((section & ProcessStats.REPORT_PKG_SVC_STATS) != 0) {
+                for (int is = 0; is < mServices.size(); is++) {
+                    final ServiceState serviceState = mServices.valueAt(is);
+                    serviceState.writeToProto(proto, ProcessStatsPackageProto.SERVICE_STATS,
+                            now);
+                }
             }
 
-            for (int ia=0; ia<mAssociations.size(); ia++) {
-                final AssociationState ascState = mAssociations.valueAt(ia);
-                ascState.writeToProto(proto, ProcessStatsPackageProto.ASSOCIATION_STATS,
-                        now);
+            if ((section & ProcessStats.REPORT_PKG_ASC_STATS) != 0) {
+                for (int ia = 0; ia < mAssociations.size(); ia++) {
+                    final AssociationState ascState = mAssociations.valueAt(ia);
+                    ascState.writeToProto(proto, ProcessStatsPackageProto.ASSOCIATION_STATS,
+                            now);
+                }
             }
 
             proto.end(token);
diff --git a/core/java/com/android/internal/colorextraction/types/Tonal.java b/core/java/com/android/internal/colorextraction/types/Tonal.java
index 7b25a06..3fd88db 100644
--- a/core/java/com/android/internal/colorextraction/types/Tonal.java
+++ b/core/java/com/android/internal/colorextraction/types/Tonal.java
@@ -51,10 +51,8 @@
 
     private static final boolean DEBUG = true;
 
-    public static final int THRESHOLD_COLOR_LIGHT = 0xffe0e0e0;
     public static final int MAIN_COLOR_LIGHT = 0xffe0e0e0;
-    public static final int THRESHOLD_COLOR_DARK = 0xff212121;
-    public static final int MAIN_COLOR_DARK = 0xff000000;
+    public static final int MAIN_COLOR_DARK = 0xff212121;
 
     private final TonalPalette mGreyPalette;
     private final ArrayList<TonalPalette> mTonalPalettes;
@@ -197,12 +195,12 @@
         // light fallback or darker than our dark fallback.
         ColorUtils.colorToHSL(mainColor, mTmpHSL);
         final float mainLuminosity = mTmpHSL[2];
-        ColorUtils.colorToHSL(THRESHOLD_COLOR_LIGHT, mTmpHSL);
+        ColorUtils.colorToHSL(MAIN_COLOR_LIGHT, mTmpHSL);
         final float lightLuminosity = mTmpHSL[2];
         if (mainLuminosity > lightLuminosity) {
             return false;
         }
-        ColorUtils.colorToHSL(THRESHOLD_COLOR_DARK, mTmpHSL);
+        ColorUtils.colorToHSL(MAIN_COLOR_DARK, mTmpHSL);
         final float darkLuminosity = mTmpHSL[2];
         if (mainLuminosity < darkLuminosity) {
             return false;
diff --git a/core/java/com/android/internal/content/FileSystemProvider.java b/core/java/com/android/internal/content/FileSystemProvider.java
index b33a5c4..81dab2f 100644
--- a/core/java/com/android/internal/content/FileSystemProvider.java
+++ b/core/java/com/android/internal/content/FileSystemProvider.java
@@ -232,6 +232,7 @@
         displayName = FileUtils.buildValidFatFilename(displayName);
 
         final File before = getFileForDocId(docId);
+        final File beforeVisibleFile = getFileForDocId(docId, true);
         final File after = FileUtils.buildUniqueFile(before.getParentFile(), displayName);
         if (!before.renameTo(after)) {
             throw new IllegalStateException("Failed to rename to " + after);
@@ -241,7 +242,6 @@
         onDocIdChanged(docId);
         onDocIdChanged(afterDocId);
 
-        final File beforeVisibleFile = getFileForDocId(docId, true);
         final File afterVisibleFile = getFileForDocId(afterDocId, true);
         moveInMediaStore(beforeVisibleFile, afterVisibleFile);
 
diff --git a/core/java/com/android/internal/hardware/AmbientDisplayConfiguration.java b/core/java/com/android/internal/hardware/AmbientDisplayConfiguration.java
index cb282b6..0080ace 100644
--- a/core/java/com/android/internal/hardware/AmbientDisplayConfiguration.java
+++ b/core/java/com/android/internal/hardware/AmbientDisplayConfiguration.java
@@ -66,13 +66,13 @@
         return !TextUtils.isEmpty(doubleTapSensorType());
     }
 
-    public boolean reachGestureEnabled(int user) {
-        return boolSettingDefaultOn(Settings.Secure.DOZE_REACH_GESTURE, user)
-                && reachGestureAvailable();
+    public boolean wakeLockScreenGestureEnabled(int user) {
+        return boolSettingDefaultOn(Settings.Secure.DOZE_WAKE_LOCK_SCREEN_GESTURE, user)
+                && wakeLockScreenGestureAvailable();
     }
 
-    public boolean reachGestureAvailable() {
-        return !TextUtils.isEmpty(reachSensorType());
+    public boolean wakeLockScreenGestureAvailable() {
+        return !TextUtils.isEmpty(wakeLockScreenSensorType());
     }
 
     public boolean wakeScreenGestureEnabled(int user) {
@@ -92,8 +92,8 @@
         return mContext.getResources().getString(R.string.config_dozeLongPressSensorType);
     }
 
-    public String reachSensorType() {
-        return mContext.getResources().getString(R.string.config_dozeReachSensorType);
+    public String wakeLockScreenSensorType() {
+        return mContext.getResources().getString(R.string.config_dozeWakeLockScreenSensorType);
     }
 
     public String wakeScreenSensorType() {
diff --git a/core/java/com/android/internal/inputmethod/IInputMethodPrivilegedOperations.aidl b/core/java/com/android/internal/inputmethod/IInputMethodPrivilegedOperations.aidl
index e998a52..2671781 100644
--- a/core/java/com/android/internal/inputmethod/IInputMethodPrivilegedOperations.aidl
+++ b/core/java/com/android/internal/inputmethod/IInputMethodPrivilegedOperations.aidl
@@ -28,7 +28,6 @@
 interface IInputMethodPrivilegedOperations {
     void setImeWindowStatus(int vis, int backDisposition);
     void reportStartInput(in IBinder startInputToken);
-    void clearLastInputMethodWindowForTransition();
     IInputContentUriToken createInputContentUriToken(in Uri contentUri, in String packageName);
     void reportFullscreenMode(boolean fullscreen);
     void setInputMethod(String id);
@@ -39,4 +38,6 @@
     boolean switchToPreviousInputMethod();
     boolean switchToNextInputMethod(boolean onlyCurrentIme);
     boolean shouldOfferSwitchingToNextInputMethod();
+
+    oneway void notifyUserActionAsync();
 }
diff --git a/core/java/com/android/internal/inputmethod/InputMethodPrivilegedOperations.java b/core/java/com/android/internal/inputmethod/InputMethodPrivilegedOperations.java
index 7891540..cdb986a 100644
--- a/core/java/com/android/internal/inputmethod/InputMethodPrivilegedOperations.java
+++ b/core/java/com/android/internal/inputmethod/InputMethodPrivilegedOperations.java
@@ -135,22 +135,6 @@
     }
 
     /**
-     * Calls {@link IInputMethodPrivilegedOperations#clearLastInputMethodWindowForTransition()}.
-     */
-    @AnyThread
-    public void clearLastInputMethodWindowForTransition() {
-        final IInputMethodPrivilegedOperations ops = mOps.getAndWarnIfNull();
-        if (ops == null) {
-            return;
-        }
-        try {
-            ops.clearLastInputMethodWindowForTransition();
-        } catch (RemoteException e) {
-            throw e.rethrowFromSystemServer();
-        }
-    }
-
-    /**
      * Calls {@link IInputMethodPrivilegedOperations#createInputContentUriToken(Uri, String)}.
      *
      * @param contentUri Content URI to which a temporary read permission should be granted
@@ -346,4 +330,20 @@
             throw e.rethrowFromSystemServer();
         }
     }
+
+    /**
+     * Calls {@link IInputMethodPrivilegedOperations#notifyUserActionAsync()}
+     */
+    @AnyThread
+    public void notifyUserActionAsync() {
+        final IInputMethodPrivilegedOperations ops = mOps.getAndWarnIfNull();
+        if (ops == null) {
+            return;
+        }
+        try {
+            ops.notifyUserActionAsync();
+        } catch (RemoteException e) {
+            throw e.rethrowFromSystemServer();
+        }
+    }
 }
diff --git a/core/java/com/android/internal/inputmethod/InputMethodPrivilegedOperationsRegistry.java b/core/java/com/android/internal/inputmethod/InputMethodPrivilegedOperationsRegistry.java
index 3255153..1436aed 100644
--- a/core/java/com/android/internal/inputmethod/InputMethodPrivilegedOperationsRegistry.java
+++ b/core/java/com/android/internal/inputmethod/InputMethodPrivilegedOperationsRegistry.java
@@ -29,12 +29,19 @@
 /**
  * A weak-reference-based mapper from IME token to {@link InputMethodPrivilegedOperations} that is
  * used only to support deprecated IME APIs in {@link android.view.inputmethod.InputMethodManager}.
+ *
+ * <p>This class is designed to be used as a per-process global registry.</p>
  */
 public final class InputMethodPrivilegedOperationsRegistry {
-    private final Object mLock = new Object();
-    @GuardedBy("mLock")
-    private final WeakHashMap<IBinder, WeakReference<InputMethodPrivilegedOperations>>
-            mRegistry = new WeakHashMap<>();
+    private InputMethodPrivilegedOperationsRegistry() {
+        // Not intended to be instantiated.
+    }
+
+    private static final Object sLock = new Object();
+
+    @Nullable
+    @GuardedBy("sLock")
+    private static WeakHashMap<IBinder, WeakReference<InputMethodPrivilegedOperations>> sRegistry;
 
     @Nullable
     private static InputMethodPrivilegedOperations sNop;
@@ -62,10 +69,13 @@
      * @param ops {@link InputMethodPrivilegedOperations} to be associated with the given IME token
      */
     @AnyThread
-    public void put(IBinder token, InputMethodPrivilegedOperations ops) {
-        synchronized (mLock) {
+    public static void put(IBinder token, InputMethodPrivilegedOperations ops) {
+        synchronized (sLock) {
+            if (sRegistry == null) {
+                sRegistry = new WeakHashMap<>();
+            }
             final WeakReference<InputMethodPrivilegedOperations> previousOps =
-                    mRegistry.put(token, new WeakReference<>(ops));
+                    sRegistry.put(token, new WeakReference<>(ops));
             if (previousOps != null) {
                 throw new IllegalStateException(previousOps.get() + " is already registered for "
                         + " this token=" + token + " newOps=" + ops);
@@ -84,9 +94,12 @@
      */
     @NonNull
     @AnyThread
-    public InputMethodPrivilegedOperations get(IBinder token) {
-        synchronized (mLock) {
-            final WeakReference<InputMethodPrivilegedOperations> wrapperRef = mRegistry.get(token);
+    public static InputMethodPrivilegedOperations get(IBinder token) {
+        synchronized (sLock) {
+            if (sRegistry == null) {
+                return getNopOps();
+            }
+            final WeakReference<InputMethodPrivilegedOperations> wrapperRef = sRegistry.get(token);
             if (wrapperRef == null) {
                 return getNopOps();
             }
@@ -108,9 +121,15 @@
      * @param token IME token to be removed.
      */
     @AnyThread
-    public void remove(IBinder token) {
-        synchronized (mLock) {
-            mRegistry.remove(token);
+    public static void remove(IBinder token) {
+        synchronized (sLock) {
+            if (sRegistry == null) {
+                return;
+            }
+            sRegistry.remove(token);
+            if (sRegistry.isEmpty()) {
+                sRegistry = null;
+            }
         }
     }
 }
diff --git a/core/java/com/android/internal/inputmethod/SubtypeLocaleUtils.java b/core/java/com/android/internal/inputmethod/SubtypeLocaleUtils.java
new file mode 100644
index 0000000..9ea4fa2
--- /dev/null
+++ b/core/java/com/android/internal/inputmethod/SubtypeLocaleUtils.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.internal.inputmethod;
+
+import android.annotation.Nullable;
+import android.text.TextUtils;
+
+import java.util.Locale;
+
+/**
+ * A utility class to handle {@link Locale} related logic for
+ * {@link android.view.inputmethod.InputMethodSubtype} and
+ * {@link android.view.textservice.SpellCheckerSubtype}.
+ */
+public class SubtypeLocaleUtils {
+    /**
+     * Maintains deprecated logic about how subtype locales specified in XML resources have been
+     * parsed.
+     *
+     * <p>This logic is kept basically for compatibility purpose.  Consider relying on languageTag
+     * attribute instead.</p>
+     *
+     * @param localeStr string representation that is specified in the locale attribute
+     * @return {@link Locale} object parsed from {@code localeStr}. {@code null} for unexpected
+     *         format
+     *
+     * @attr ref android.R.styleable#InputMethod_Subtype_imeSubtypeLocale
+     * @attr ref android.R.styleable#InputMethod_Subtype_languageTag
+     * @attr ref android.R.styleable#SpellChecker_Subtype_languageTag
+     * @attr ref android.R.styleable#SpellChecker_Subtype_subtypeLocale
+     */
+    @Nullable
+    public static Locale constructLocaleFromString(String localeStr) {
+        if (TextUtils.isEmpty(localeStr)) {
+            return null;
+        }
+        // TODO: Use {@link Locale#toLanguageTag()} and {@link Locale#forLanguageTag(languageTag)}.
+        String[] localeParams = localeStr.split("_", 3);
+        if (localeParams.length >= 1 && "tl".equals(localeParams[0])) {
+            // Convert a locale whose language is "tl" to one whose language is "fil".
+            // For example, "tl_PH" will get converted to "fil_PH".
+            // Versions of Android earlier than Lollipop did not support three letter language
+            // codes, and used "tl" (Tagalog) as the language string for "fil" (Filipino).
+            // On Lollipop and above, the current three letter version must be used.
+            localeParams[0] = "fil";
+        }
+        // The length of localeStr is guaranteed to always return a 1 <= value <= 3
+        // because localeStr is not empty.
+        if (localeParams.length == 1) {
+            return new Locale(localeParams[0]);
+        } else if (localeParams.length == 2) {
+            return new Locale(localeParams[0], localeParams[1]);
+        } else if (localeParams.length == 3) {
+            return new Locale(localeParams[0], localeParams[1], localeParams[2]);
+        }
+        return null;
+    }
+}
diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java
index d0795c9..33b9ff7 100644
--- a/core/java/com/android/internal/os/BatteryStatsImpl.java
+++ b/core/java/com/android/internal/os/BatteryStatsImpl.java
@@ -337,6 +337,9 @@
 
     private final PlatformIdleStateCallback mPlatformIdleStateCallback;
 
+    /**
+     * This handler is running on {@link BackgroundThread}.
+     */
     final class MyHandler extends Handler {
         public MyHandler(Looper looper) {
             super(looper, null, true);
@@ -5758,8 +5761,6 @@
         for (int i = 0; i < N; i++) {
             int uid = mapUid(ws.get(i));
             getUidStatsLocked(uid).noteBluetoothScanResultsLocked(numNewResults);
-            StatsLog.write_non_chained(StatsLog.BLE_SCAN_RESULT_RECEIVED, ws.get(i), ws.getName(i),
-                    numNewResults);
         }
 
         final List<WorkChain> workChains = ws.getWorkChains();
@@ -5768,8 +5769,6 @@
                 final WorkChain wc = workChains.get(i);
                 int uid = mapUid(wc.getAttributionUid());
                 getUidStatsLocked(uid).noteBluetoothScanResultsLocked(numNewResults);
-                StatsLog.write(StatsLog.BLE_SCAN_RESULT_RECEIVED,
-                        wc.getUids(), wc.getTags(), numNewResults);
             }
         }
     }
diff --git a/core/java/com/android/internal/os/KernelCpuProcReader.java b/core/java/com/android/internal/os/KernelCpuProcReader.java
index 396deb4..c233ea8 100644
--- a/core/java/com/android/internal/os/KernelCpuProcReader.java
+++ b/core/java/com/android/internal/os/KernelCpuProcReader.java
@@ -24,13 +24,14 @@
 
 import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.io.InputStream;
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
-import java.nio.channels.FileChannel;
+import java.nio.file.Files;
 import java.nio.file.NoSuchFileException;
 import java.nio.file.Path;
 import java.nio.file.Paths;
-import java.nio.file.StandardOpenOption;
+import java.util.Arrays;
 
 /**
  * Reads cpu time proc files with throttling (adjustable interval).
@@ -55,7 +56,6 @@
     private static final int ERROR_THRESHOLD = 5;
     // Throttle interval in milliseconds
     private static final long DEFAULT_THROTTLE_INTERVAL = 3000L;
-    private static final int INITIAL_BUFFER_SIZE = 8 * 1024;
     private static final int MAX_BUFFER_SIZE = 1024 * 1024;
     private static final String PROC_UID_FREQ_TIME = "/proc/uid_cpupower/time_in_state";
     private static final String PROC_UID_ACTIVE_TIME = "/proc/uid_cpupower/concurrent_active_time";
@@ -84,13 +84,12 @@
     private long mThrottleInterval = DEFAULT_THROTTLE_INTERVAL;
     private long mLastReadTime = Long.MIN_VALUE;
     private final Path mProc;
-    private ByteBuffer mBuffer;
+    private byte[] mBuffer = new byte[8 * 1024];
+    private int mContentSize;
 
     @VisibleForTesting
     public KernelCpuProcReader(String procFile) {
         mProc = Paths.get(procFile);
-        mBuffer = ByteBuffer.allocateDirect(INITIAL_BUFFER_SIZE);
-        mBuffer.clear();
     }
 
     /**
@@ -108,38 +107,45 @@
             return null;
         }
         if (SystemClock.elapsedRealtime() < mLastReadTime + mThrottleInterval) {
-            if (mBuffer.limit() > 0 && mBuffer.limit() < mBuffer.capacity()) {
-                // mBuffer has data.
-                return mBuffer.asReadOnlyBuffer().order(ByteOrder.nativeOrder());
+            if (mContentSize > 0) {
+                return ByteBuffer.wrap(mBuffer, 0, mContentSize).asReadOnlyBuffer()
+                        .order(ByteOrder.nativeOrder());
             }
             return null;
         }
         mLastReadTime = SystemClock.elapsedRealtime();
-        mBuffer.clear();
+        mContentSize = 0;
         final int oldMask = StrictMode.allowThreadDiskReadsMask();
-        try (FileChannel fc = FileChannel.open(mProc, StandardOpenOption.READ)) {
-            while (fc.read(mBuffer) == mBuffer.capacity()) {
-                if (!resize()) {
-                    mErrors++;
-                    Slog.e(TAG, "Proc file is too large: " + mProc);
-                    return null;
+        try (InputStream in = Files.newInputStream(mProc)) {
+            int numBytes = 0;
+            int curr;
+            while ((curr = in.read(mBuffer, numBytes, mBuffer.length - numBytes)) >= 0) {
+                numBytes += curr;
+                if (numBytes == mBuffer.length) {
+                    // Hit the limit. Resize mBuffer.
+                    if (mBuffer.length == MAX_BUFFER_SIZE) {
+                        mErrors++;
+                        Slog.e(TAG, "Proc file is too large: " + mProc);
+                        return null;
+                    }
+                    mBuffer = Arrays.copyOf(mBuffer,
+                            Math.min(mBuffer.length << 1, MAX_BUFFER_SIZE));
                 }
-                fc.position(0);
             }
+            mContentSize = numBytes;
+            return ByteBuffer.wrap(mBuffer, 0, mContentSize).asReadOnlyBuffer()
+                    .order(ByteOrder.nativeOrder());
         } catch (NoSuchFileException | FileNotFoundException e) {
             // Happens when the kernel does not provide this file. Not a big issue. Just log it.
             mErrors++;
             Slog.w(TAG, "File not exist: " + mProc);
-            return null;
         } catch (IOException e) {
             mErrors++;
             Slog.e(TAG, "Error reading: " + mProc, e);
-            return null;
         } finally {
             StrictMode.setThreadPolicyMask(oldMask);
         }
-        mBuffer.flip();
-        return mBuffer.asReadOnlyBuffer().order(ByteOrder.nativeOrder());
+        return null;
     }
 
     /**
@@ -153,14 +159,4 @@
             mThrottleInterval = throttleInterval;
         }
     }
-
-    private boolean resize() {
-        if (mBuffer.capacity() >= MAX_BUFFER_SIZE) {
-            return false;
-        }
-        int newSize = Math.min(mBuffer.capacity() << 1, MAX_BUFFER_SIZE);
-        // Slog.i(TAG, "Resize buffer " + mBuffer.capacity() + " => " + newSize);
-        mBuffer = ByteBuffer.allocateDirect(newSize);
-        return true;
-    }
 }
diff --git a/core/java/com/android/internal/os/LooperStats.java b/core/java/com/android/internal/os/LooperStats.java
index 02a8b22..e4724ff 100644
--- a/core/java/com/android/internal/os/LooperStats.java
+++ b/core/java/com/android/internal/os/LooperStats.java
@@ -17,6 +17,7 @@
 package com.android.internal.os;
 
 import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
@@ -36,7 +37,7 @@
  * @hide Only for use within the system server.
  */
 public class LooperStats implements Looper.Observer {
-    private static final int TOKEN_POOL_SIZE = 50;
+    private static final int SESSION_POOL_SIZE = 50;
 
     @GuardedBy("mLock")
     private final SparseArray<Entry> mEntries = new SparseArray<>(512);
@@ -78,17 +79,19 @@
         }
 
         DispatchSession session = (DispatchSession) token;
-        Entry entry = getOrCreateEntry(msg);
-        synchronized (entry) {
-            entry.messageCount++;
-            if (session != DispatchSession.NOT_SAMPLED) {
-                entry.recordedMessageCount++;
-                long latency = getElapsedRealtimeMicro() - session.startTimeMicro;
-                long cpuUsage = getThreadTimeMicro() - session.cpuStartMicro;
-                entry.totalLatencyMicro += latency;
-                entry.maxLatencyMicro = Math.max(entry.maxLatencyMicro, latency);
-                entry.cpuUsageMicro += cpuUsage;
-                entry.maxCpuUsageMicro = Math.max(entry.maxCpuUsageMicro, cpuUsage);
+        Entry entry = findEntry(msg, /* allowCreateNew= */session != DispatchSession.NOT_SAMPLED);
+        if (entry != null) {
+            synchronized (entry) {
+                entry.messageCount++;
+                if (session != DispatchSession.NOT_SAMPLED) {
+                    entry.recordedMessageCount++;
+                    long latency = getElapsedRealtimeMicro() - session.startTimeMicro;
+                    long cpuUsage = getThreadTimeMicro() - session.cpuStartMicro;
+                    entry.totalLatencyMicro += latency;
+                    entry.maxLatencyMicro = Math.max(entry.maxLatencyMicro, latency);
+                    entry.cpuUsageMicro += cpuUsage;
+                    entry.maxCpuUsageMicro = Math.max(entry.maxCpuUsageMicro, cpuUsage);
+                }
             }
         }
 
@@ -102,10 +105,11 @@
         }
 
         DispatchSession session = (DispatchSession) token;
-        Entry entry = getOrCreateEntry(msg);
+        Entry entry = findEntry(msg, /* allowCreateNew= */true);
         synchronized (entry) {
             entry.exceptionCount++;
         }
+
         recycleSession(session);
     }
 
@@ -116,29 +120,29 @@
 
     /** Returns an array of {@link ExportedEntry entries} with the aggregated statistics. */
     public List<ExportedEntry> getEntries() {
-        final ArrayList<ExportedEntry> entries;
+        final ArrayList<ExportedEntry> exportedEntries;
         synchronized (mLock) {
             final int size = mEntries.size();
-            entries = new ArrayList<>(size);
+            exportedEntries = new ArrayList<>(size);
             for (int i = 0; i < size; i++) {
                 Entry entry = mEntries.valueAt(i);
                 synchronized (entry) {
-                    entries.add(new ExportedEntry(entry));
+                    exportedEntries.add(new ExportedEntry(entry));
                 }
             }
         }
         // Add the overflow and collision entries only if they have any data.
-        if (mOverflowEntry.messageCount > 0 || mOverflowEntry.exceptionCount > 0) {
-            synchronized (mOverflowEntry) {
-                entries.add(new ExportedEntry(mOverflowEntry));
+        maybeAddSpecialEntry(exportedEntries, mOverflowEntry);
+        maybeAddSpecialEntry(exportedEntries, mHashCollisionEntry);
+        return exportedEntries;
+    }
+
+    private void maybeAddSpecialEntry(List<ExportedEntry> exportedEntries, Entry specialEntry) {
+        synchronized (specialEntry) {
+            if (specialEntry.messageCount > 0 || specialEntry.exceptionCount > 0) {
+                exportedEntries.add(new ExportedEntry(specialEntry));
             }
         }
-        if (mHashCollisionEntry.messageCount > 0 || mHashCollisionEntry.exceptionCount > 0) {
-            synchronized (mHashCollisionEntry) {
-                entries.add(new ExportedEntry(mHashCollisionEntry));
-            }
-        }
-        return entries;
     }
 
     /** Removes all collected data. */
@@ -158,24 +162,28 @@
         mSamplingInterval = samplingInterval;
     }
 
-    @NonNull
-    private Entry getOrCreateEntry(Message msg) {
+    @Nullable
+    private Entry findEntry(Message msg, boolean allowCreateNew) {
         final boolean isInteractive = mDeviceState.isScreenInteractive();
         final int id = Entry.idFor(msg, isInteractive);
         Entry entry;
         synchronized (mLock) {
             entry = mEntries.get(id);
             if (entry == null) {
-                if (mEntries.size() >= mEntriesSizeCap) {
-                    // If over the size cap, track totals under a single entry.
+                if (!allowCreateNew) {
+                    return null;
+                } else if (mEntries.size() >= mEntriesSizeCap) {
+                    // If over the size cap track totals under OVERFLOW entry.
                     return mOverflowEntry;
+                } else {
+                    entry = new Entry(msg, isInteractive);
+                    mEntries.put(id, entry);
                 }
-                entry = new Entry(msg, isInteractive);
-                mEntries.put(id, entry);
             }
         }
 
-        if (entry.handler.getClass() != msg.getTarget().getClass()
+        if (entry.workSourceUid != msg.workSourceUid
+                || entry.handler.getClass() != msg.getTarget().getClass()
                 || entry.handler.getLooper().getThread() != msg.getTarget().getLooper().getThread()
                 || entry.isInteractive != isInteractive) {
             // If a hash collision happened, track totals under a single entry.
@@ -185,7 +193,7 @@
     }
 
     private void recycleSession(DispatchSession session) {
-        if (session != DispatchSession.NOT_SAMPLED && mSessionPool.size() < TOKEN_POOL_SIZE) {
+        if (session != DispatchSession.NOT_SAMPLED && mSessionPool.size() < SESSION_POOL_SIZE) {
             mSessionPool.add(session);
         }
     }
@@ -209,6 +217,7 @@
     }
 
     private static class Entry {
+        public final int workSourceUid;
         public final Handler handler;
         public final String messageName;
         public final boolean isInteractive;
@@ -221,12 +230,14 @@
         public long maxCpuUsageMicro;
 
         Entry(Message msg, boolean isInteractive) {
+            this.workSourceUid = msg.workSourceUid;
             this.handler = msg.getTarget();
             this.messageName = handler.getMessageName(msg);
             this.isInteractive = isInteractive;
         }
 
         Entry(String specialEntryName) {
+            this.workSourceUid = Message.UID_NONE;
             this.messageName = specialEntryName;
             this.handler = null;
             this.isInteractive = false;
@@ -244,6 +255,7 @@
 
         static int idFor(Message msg, boolean isInteractive) {
             int result = 7;
+            result = 31 * result + msg.workSourceUid;
             result = 31 * result + msg.getTarget().getLooper().getThread().hashCode();
             result = 31 * result + msg.getTarget().getClass().hashCode();
             result = 31 * result + (isInteractive ? 1231 : 1237);
@@ -257,6 +269,7 @@
 
     /** Aggregated data of Looper message dispatching in the in the current process. */
     public static class ExportedEntry {
+        public final int workSourceUid;
         public final String handlerClassName;
         public final String threadName;
         public final String messageName;
@@ -270,6 +283,7 @@
         public final long maxCpuUsageMicros;
 
         ExportedEntry(Entry entry) {
+            this.workSourceUid = entry.workSourceUid;
             if (entry.handler != null) {
                 this.handlerClassName = entry.handler.getClass().getName();
                 this.threadName = entry.handler.getLooper().getThread().getName();
diff --git a/core/java/com/android/internal/os/StoragedUidIoStatsReader.java b/core/java/com/android/internal/os/StoragedUidIoStatsReader.java
new file mode 100644
index 0000000..9b03469
--- /dev/null
+++ b/core/java/com/android/internal/os/StoragedUidIoStatsReader.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.internal.os;
+
+import android.os.StrictMode;
+import android.text.TextUtils;
+import android.util.Slog;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+
+
+/**
+ * Reads /proc/uid_io/stats which has the line format:
+ *
+ * uid: foreground_read_chars foreground_write_chars foreground_read_bytes foreground_write_bytes
+ * background_read_chars background_write_chars background_read_bytes background_write_bytes
+ * foreground_fsync background_fsync
+ *
+ * This provides the number of bytes/chars read/written in foreground/background for each uid.
+ * The file contains a monotonically increasing count of bytes/chars for a single boot.
+ */
+public class StoragedUidIoStatsReader {
+
+    private static final String TAG = StoragedUidIoStatsReader.class.getSimpleName();
+    private static String sUidIoFile = "/proc/uid_io/stats";
+
+    public StoragedUidIoStatsReader() {
+    }
+
+    @VisibleForTesting
+    public StoragedUidIoStatsReader(String file) {
+        sUidIoFile = file;
+    }
+
+    /**
+     * Notifies when new data is available.
+     */
+    public interface Callback {
+
+        /**
+         * Provides data to the client.
+         *
+         * Note: Bytes are I/O events from a storage device. Chars are data requested by syscalls,
+         *   and can be satisfied by caching.
+         */
+        void onUidStorageStats(int uid, long fgCharsRead, long fgCharsWrite, long fgBytesRead,
+                long fgBytesWrite, long bgCharsRead, long bgCharsWrite, long bgBytesRead,
+                long bgBytesWrite, long fgFsync, long bgFsync);
+    }
+
+    /**
+     * Reads the proc file, calling into the callback with raw absolute value of I/O stats
+     * for each UID.
+     *
+     * @param callback The callback to invoke for each line of the proc file.
+     */
+    public void readAbsolute(Callback callback) {
+        final int oldMask = StrictMode.allowThreadDiskReadsMask();
+        File file = new File(sUidIoFile);
+        try (BufferedReader reader = Files.newBufferedReader(file.toPath())) {
+            String line;
+            while ((line = reader.readLine()) != null) {
+                String[] fields = TextUtils.split(line, " ");
+                if (fields.length != 11) {
+                    Slog.e(TAG, "Malformed entry in " + sUidIoFile + ": " + line);
+                    continue;
+                }
+                try {
+                    final String uidStr = fields[0];
+                    final int uid = Integer.parseInt(fields[0], 10);
+                    final long fgCharsRead = Long.parseLong(fields[1], 10);
+                    final long fgCharsWrite = Long.parseLong(fields[2], 10);
+                    final long fgBytesRead = Long.parseLong(fields[3], 10);
+                    final long fgBytesWrite = Long.parseLong(fields[4], 10);
+                    final long bgCharsRead = Long.parseLong(fields[5], 10);
+                    final long bgCharsWrite = Long.parseLong(fields[6], 10);
+                    final long bgBytesRead = Long.parseLong(fields[7], 10);
+                    final long bgBytesWrite = Long.parseLong(fields[8], 10);
+                    final long fgFsync = Long.parseLong(fields[9], 10);
+                    final long bgFsync = Long.parseLong(fields[10], 10);
+                    callback.onUidStorageStats(uid, fgCharsRead, fgCharsWrite, fgBytesRead,
+                            fgBytesWrite, bgCharsRead, bgCharsWrite, bgBytesRead, bgBytesWrite,
+                            fgFsync, bgFsync);
+                } catch (NumberFormatException e) {
+                    Slog.e(TAG, "Could not parse entry in " + sUidIoFile + ": " + e.getMessage());
+                }
+            }
+        } catch (IOException e) {
+            Slog.e(TAG, "Failed to read " + sUidIoFile + ": " + e.getMessage());
+        } finally {
+            StrictMode.setThreadPolicyMask(oldMask);
+        }
+    }
+}
diff --git a/core/java/com/android/internal/os/Zygote.java b/core/java/com/android/internal/os/Zygote.java
index 927322e..98b7b5d 100644
--- a/core/java/com/android/internal/os/Zygote.java
+++ b/core/java/com/android/internal/os/Zygote.java
@@ -133,15 +133,16 @@
      * if this is the parent, or -1 on error.
      */
     public static int forkAndSpecialize(int uid, int gid, int[] gids, int runtimeFlags,
-          int[][] rlimits, int mountExternal, String seInfo, String niceName, int[] fdsToClose,
-          int[] fdsToIgnore, boolean startChildZygote, String instructionSet, String appDataDir,
-          String packageName) {
+            int[][] rlimits, int mountExternal, String seInfo, String niceName, int[] fdsToClose,
+            int[] fdsToIgnore, boolean startChildZygote, String instructionSet, String appDataDir,
+            String packageName, String[] packagesForUid, String[] visibleVolIds) {
         VM_HOOKS.preFork();
         // Resets nice priority for zygote process.
         resetNicePriority();
         int pid = nativeForkAndSpecialize(
                   uid, gid, gids, runtimeFlags, rlimits, mountExternal, seInfo, niceName, fdsToClose,
-                  fdsToIgnore, startChildZygote, instructionSet, appDataDir, packageName);
+                  fdsToIgnore, startChildZygote, instructionSet, appDataDir, packageName,
+                  packagesForUid, visibleVolIds);
         // Enable tracing as soon as possible for the child process.
         if (pid == 0) {
             Trace.setTracingEnabled(true, runtimeFlags);
@@ -154,9 +155,9 @@
     }
 
     native private static int nativeForkAndSpecialize(int uid, int gid, int[] gids,int runtimeFlags,
-          int[][] rlimits, int mountExternal, String seInfo, String niceName, int[] fdsToClose,
-          int[] fdsToIgnore, boolean startChildZygote, String instructionSet, String appDataDir,
-          String packageName);
+            int[][] rlimits, int mountExternal, String seInfo, String niceName, int[] fdsToClose,
+            int[] fdsToIgnore, boolean startChildZygote, String instructionSet, String appDataDir,
+            String packageName, String[] packagesForUid, String[] visibleVolIds);
 
     /**
      * Called to do any initialization before starting an application.
diff --git a/core/java/com/android/internal/os/ZygoteConnection.java b/core/java/com/android/internal/os/ZygoteConnection.java
index b60b43a..4a94ec4 100644
--- a/core/java/com/android/internal/os/ZygoteConnection.java
+++ b/core/java/com/android/internal/os/ZygoteConnection.java
@@ -22,6 +22,7 @@
 import static android.system.OsConstants.STDERR_FILENO;
 import static android.system.OsConstants.STDIN_FILENO;
 import static android.system.OsConstants.STDOUT_FILENO;
+
 import static com.android.internal.os.ZygoteConnectionConstants.CONNECTION_TIMEOUT_MILLIS;
 import static com.android.internal.os.ZygoteConnectionConstants.MAX_ZYGOTE_ARGC;
 import static com.android.internal.os.ZygoteConnectionConstants.WRAPPED_PID_TIMEOUT_MILLIS;
@@ -36,12 +37,15 @@
 import android.system.Os;
 import android.system.StructPollfd;
 import android.util.Log;
+
 import dalvik.system.VMRuntime;
+
+import libcore.io.IoUtils;
+
 import java.io.BufferedReader;
 import java.io.ByteArrayInputStream;
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
-import java.io.EOFException;
 import java.io.FileDescriptor;
 import java.io.IOException;
 import java.io.InputStreamReader;
@@ -49,8 +53,6 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 
-import libcore.io.IoUtils;
-
 /**
  * A connection that can make spawn requests.
  */
@@ -239,7 +241,8 @@
         pid = Zygote.forkAndSpecialize(parsedArgs.uid, parsedArgs.gid, parsedArgs.gids,
                 parsedArgs.runtimeFlags, rlimits, parsedArgs.mountExternal, parsedArgs.seInfo,
                 parsedArgs.niceName, fdsToClose, fdsToIgnore, parsedArgs.startChildZygote,
-                parsedArgs.instructionSet, parsedArgs.appDataDir, parsedArgs.packageName);
+                parsedArgs.instructionSet, parsedArgs.appDataDir, parsedArgs.packageName,
+                parsedArgs.packagesForUid, parsedArgs.visibleVolIds);
 
         try {
             if (pid == 0) {
@@ -377,6 +380,7 @@
      *    are the settings for current and max value.</i>
      *   <li> --instruction-set=<i>instruction-set-string</i> which instruction set to use/emulate.
      *   <li> --nice-name=<i>nice name to appear in ps</i>
+     *   <li> --package-name=<i>package name this process belongs to</i>
      *   <li> --runtime-args indicates that the remaining arg list should
      * be handed off to com.android.internal.os.RuntimeInit, rather than
      * processed directly.
@@ -429,6 +433,12 @@
         /** from --package-name */
         String packageName;
 
+        /** from --packages-for-uid */
+        String[] packagesForUid;
+
+        /** from --visible-vols */
+        String[] visibleVolIds;
+
         /**
          * Any args after and including the first non-option arg
          * (or after a '--')
@@ -680,7 +690,14 @@
                     }
                     expectRuntimeArgs = false;
                 } else if (arg.startsWith("--package-name=")) {
+                    if (packageName != null) {
+                        throw new IllegalArgumentException("Duplicate arg specified");
+                    }
                     packageName = arg.substring(arg.indexOf('=') + 1);
+                } else if (arg.startsWith("--packages-for-uid=")) {
+                    packagesForUid = arg.substring(arg.indexOf('=') + 1).split(",");
+                } else if (arg.startsWith("--visible-vols=")) {
+                    visibleVolIds = arg.substring(arg.indexOf('=') + 1).split(",");
                 } else {
                     break;
                 }
diff --git a/core/java/com/android/internal/statusbar/IStatusBar.aidl b/core/java/com/android/internal/statusbar/IStatusBar.aidl
index c4214cf..9b8f120 100644
--- a/core/java/com/android/internal/statusbar/IStatusBar.aidl
+++ b/core/java/com/android/internal/statusbar/IStatusBar.aidl
@@ -141,7 +141,8 @@
     void showShutdownUi(boolean isReboot, String reason);
 
     // Used to show the dialog when BiometricService starts authentication
-    void showBiometricDialog(in Bundle bundle, IBiometricPromptReceiver receiver, int type);
+    void showBiometricDialog(in Bundle bundle, IBiometricPromptReceiver receiver, int type,
+            boolean requireConfirmation);
     // Used to hide the dialog when a biometric is authenticated
     void onBiometricAuthenticated();
     // Used to set a temporary message, e.g. fingerprint not recognized, finger moved too fast, etc
diff --git a/core/java/com/android/internal/statusbar/IStatusBarService.aidl b/core/java/com/android/internal/statusbar/IStatusBarService.aidl
index e48e733..90f2002 100644
--- a/core/java/com/android/internal/statusbar/IStatusBarService.aidl
+++ b/core/java/com/android/internal/statusbar/IStatusBarService.aidl
@@ -91,7 +91,8 @@
     void showPinningEscapeToast();
 
     // Used to show the dialog when BiometricService starts authentication
-    void showBiometricDialog(in Bundle bundle, IBiometricPromptReceiver receiver, int type);
+    void showBiometricDialog(in Bundle bundle, IBiometricPromptReceiver receiver, int type,
+            boolean requireConfirmation);
     // Used to hide the dialog when a biometric is authenticated
     void onBiometricAuthenticated();
     // Used to set a temporary message, e.g. fingerprint not recognized, finger moved too fast, etc
diff --git a/core/java/com/android/internal/util/ContrastColorUtil.java b/core/java/com/android/internal/util/ContrastColorUtil.java
index 16ca4fc..a403c06 100644
--- a/core/java/com/android/internal/util/ContrastColorUtil.java
+++ b/core/java/com/android/internal/util/ContrastColorUtil.java
@@ -455,7 +455,7 @@
      * Resolves {@param color} to an actual color if it is {@link Notification#COLOR_DEFAULT}
      */
     public static int resolveColor(Context context, int color, boolean defaultBackgroundIsDark) {
-        if (color == Notification.COLOR_DEFAULT) {
+        if (color == Notification.COLOR_DEFAULT || defaultBackgroundIsDark) {
             int res = defaultBackgroundIsDark
                     ? com.android.internal.R.color.notification_default_color_dark
                     : com.android.internal.R.color.notification_default_color_light;
@@ -523,8 +523,9 @@
     }
 
     public static int resolveAmbientColor(Context context, int notificationColor) {
-        final int resolvedColor = resolveColor(context, notificationColor,
-                true /* defaultBackgroundIsDark */);
+        final int resolvedColor = notificationColor == Notification.COLOR_DEFAULT
+                ? context.getColor(com.android.internal.R.color.notification_default_color_dark)
+                : notificationColor;
 
         int color = resolvedColor;
         color = ContrastColorUtil.ensureTextContrastOnBlack(color);
diff --git a/core/java/com/android/internal/util/OWNERS b/core/java/com/android/internal/util/OWNERS
index 21d750c..e65d114 100644
--- a/core/java/com/android/internal/util/OWNERS
+++ b/core/java/com/android/internal/util/OWNERS
@@ -1,24 +1,4 @@
-per-file AsyncChannel*=lorenzo@google.com
-per-file AsyncChannel*=satk@google.com
-per-file AsyncChannel*=silberst@google.com
-per-file BitUtils*=ek@google.com
-per-file BitUtils*=lorenzo@google.com
-per-file BitUtils*=satk@google.com
-per-file MessageUtils*=ek@google.com
-per-file MessageUtils*=lorenzo@google.com
-per-file MessageUtils*=satk@google.com
-per-file Protocol*=ek@google.com
-per-file Protocol*=lorenzo@google.com
-per-file Protocol*=quiche@google.com
-per-file Protocol*=satk@google.com
-per-file Protocol*=silberst@google.com
-per-file RingBuffer*=ek@google.com
-per-file RingBuffer*=lorenzo@google.com
-per-file RingBuffer*=satk@google.com
-per-file State*=ek@google.com
-per-file State*=lorenzo@google.com
-per-file State*=quiche@google.com
-per-file State*=silberst@google.com
-per-file TokenBucket*=ek@google.com
-per-file TokenBucket*=lorenzo@google.com
-per-file TokenBucket*=satk@google.com
+per-file AsyncChannel* = lorenzo@google.com, satk@google.com, etancohen@google.com
+per-file BitUtils*, MessageUtils*, Protocol*, RingBuffer*, TokenBucket* = jchalard@google.com, lorenzo@google.com, satk@google.com
+per-file Protocol* = etancohen@google.com, lorenzo@google.com
+per-file State* = jchalard@google.com, lorenzo@google.com, satk@google.com
diff --git a/core/java/com/android/internal/view/IInputConnectionWrapper.java b/core/java/com/android/internal/view/IInputConnectionWrapper.java
index d4c4ab3..ececba1 100644
--- a/core/java/com/android/internal/view/IInputConnectionWrapper.java
+++ b/core/java/com/android/internal/view/IInputConnectionWrapper.java
@@ -19,6 +19,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.UnsupportedAppUsage;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
@@ -68,7 +69,7 @@
 
     @GuardedBy("mLock")
     @Nullable
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private InputConnection mInputConnection;
 
     private Looper mMainLooper;
@@ -110,12 +111,6 @@
 
     abstract protected boolean isActive();
 
-    /**
-     * Called when the user took some actions that should be taken into consideration to update the
-     * LRU list for input method rotation.
-     */
-    abstract protected void onUserAction();
-
     public void getTextAfterCursor(int length, int flags, int seq, IInputContextCallback callback) {
         dispatchMessage(obtainMessageIISC(DO_GET_TEXT_AFTER_CURSOR, length, flags, seq, callback));
     }
@@ -342,7 +337,6 @@
                     return;
                 }
                 ic.commitText((CharSequence)msg.obj, msg.arg1);
-                onUserAction();
                 return;
             }
             case DO_SET_SELECTION: {
@@ -397,7 +391,6 @@
                     return;
                 }
                 ic.setComposingText((CharSequence)msg.obj, msg.arg1);
-                onUserAction();
                 return;
             }
             case DO_SET_COMPOSING_REGION: {
@@ -437,7 +430,6 @@
                     return;
                 }
                 ic.sendKeyEvent((KeyEvent)msg.obj);
-                onUserAction();
                 return;
             }
             case DO_CLEAR_META_KEY_STATES: {
diff --git a/core/java/com/android/internal/view/IInputMethod.aidl b/core/java/com/android/internal/view/IInputMethod.aidl
index b6a654a..97d5a65 100644
--- a/core/java/com/android/internal/view/IInputMethod.aidl
+++ b/core/java/com/android/internal/view/IInputMethod.aidl
@@ -33,7 +33,7 @@
  * {@hide}
  */
 oneway interface IInputMethod {
-    void initializeInternal(IBinder token, IInputMethodPrivilegedOperations privOps);
+    void initializeInternal(IBinder token, int displayId, IInputMethodPrivilegedOperations privOps);
 
     void bindInput(in InputBinding binding);
 
diff --git a/core/java/com/android/internal/view/IInputMethodClient.aidl b/core/java/com/android/internal/view/IInputMethodClient.aidl
index 5c6dea8..2618356 100644
--- a/core/java/com/android/internal/view/IInputMethodClient.aidl
+++ b/core/java/com/android/internal/view/IInputMethodClient.aidl
@@ -27,6 +27,5 @@
     // unbindReason corresponds to InputMethodClient.UnbindReason.
     void onUnbindMethod(int sequence, int unbindReason);
     void setActive(boolean active, boolean fullscreen);
-    void setUserActionNotificationSequenceNumber(int sequenceNumber);
     void reportFullscreenMode(boolean fullscreen);
 }
diff --git a/core/java/com/android/internal/view/IInputMethodManager.aidl b/core/java/com/android/internal/view/IInputMethodManager.aidl
index 5afc53f..5f1243f 100644
--- a/core/java/com/android/internal/view/IInputMethodManager.aidl
+++ b/core/java/com/android/internal/view/IInputMethodManager.aidl
@@ -31,6 +31,8 @@
  * applications.
  */
 interface IInputMethodManager {
+    void addClient(in IInputMethodClient client, in IInputContext inputContext);
+
     // TODO: Use ParceledListSlice instead
     List<InputMethodInfo> getInputMethodList();
     List<InputMethodInfo> getVrInputMethodList();
@@ -79,6 +81,4 @@
     // This is kept due to @UnsupportedAppUsage.
     // TODO(Bug 113914148): Consider removing this.
     int getInputMethodWindowVisibleHeight();
-
-    oneway void notifyUserAction(int sequenceNumber);
 }
diff --git a/core/java/com/android/internal/view/InputBindResult.java b/core/java/com/android/internal/view/InputBindResult.java
index 9d4383f..101fd41 100644
--- a/core/java/com/android/internal/view/InputBindResult.java
+++ b/core/java/com/android/internal/view/InputBindResult.java
@@ -60,7 +60,7 @@
         /**
          * Indicates that this is a temporary binding until the
          * {@link android.inputmethodservice.InputMethodService} (IMS) establishes a valid session
-         * to {@link com.android.server.InputMethodManagerService} (IMMS).
+         * to {@link com.android.server.inputmethod.InputMethodManagerService} (IMMS).
          *
          * <p>Note that in this state the IMS is already bound to IMMS but the logical session
          * is not yet established on top of the IPC channel.</p>
@@ -73,7 +73,7 @@
         /**
          * Indicates that this is a temporary binding until the
          * {@link android.inputmethodservice.InputMethodService} (IMS) establishes a valid session
-         * to {@link com.android.server.InputMethodManagerService} (IMMS).
+         * to {@link com.android.server.inputmethod.InputMethodManagerService} (IMMS).
          *
          * <p>Note that in this state the IMMS has already initiated a connection to the IMS but
          * the binding process is not completed yet.</p>
@@ -91,12 +91,14 @@
         int SUCCESS_REPORT_WINDOW_FOCUS_ONLY = 3;
         /**
          * Indicates somehow
-         * {@link com.android.server.InputMethodManagerService#startInputOrWindowGainedFocus} is
-         * trying to return null {@link InputBindResult}, which must never happen.
+         * {@link
+         * com.android.server.inputmethod.InputMethodManagerService#startInputOrWindowGainedFocus}
+         * is trying to return null {@link InputBindResult}, which must never happen.
          */
         int ERROR_NULL = 4;
         /**
-         * Indicates that {@link com.android.server.InputMethodManagerService} recognizes no IME.
+         * Indicates that {@link com.android.server.inputmethod.InputMethodManagerService}
+         * recognizes no IME.
          */
         int ERROR_NO_IME = 5;
         /**
@@ -114,8 +116,8 @@
          */
         int ERROR_SYSTEM_NOT_READY = 7;
         /**
-         * Indicates that {@link com.android.server.InputMethodManagerService} tried to connect to
-         * an {@link android.inputmethodservice.InputMethodService} but failed.
+         * Indicates that {@link com.android.server.inputmethod.InputMethodManagerService} tried to
+         * connect to an {@link android.inputmethodservice.InputMethodService} but failed.
          *
          * @see android.content.Context#bindServiceAsUser(Intent, ServiceConnection, int, UserHandle)
          */
@@ -137,7 +139,7 @@
          * The client should try to restart input when its {@link android.view.Window} is focused
          * again.</p>
          *
-         * @see com.android.server.wm.WindowManagerService#inputMethodClientHasFocus(IInputMethodClient)
+         * @see com.android.server.wm.WindowManagerInternal#isInputMethodClientFocus(int, int)
          */
         int ERROR_NOT_IME_TARGET_WINDOW = 11;
         /**
@@ -171,20 +173,13 @@
      */
     public final int sequence;
 
-    /**
-     * Sequence number of user action notification.
-     */
-    public final int userActionNotificationSequenceNumber;
-
     public InputBindResult(@ResultCode int _result,
-            IInputMethodSession _method, InputChannel _channel,
-            String _id, int _sequence, int _userActionNotificationSequenceNumber) {
+            IInputMethodSession _method, InputChannel _channel, String _id, int _sequence) {
         result = _result;
         method = _method;
         channel = _channel;
         id = _id;
         sequence = _sequence;
-        userActionNotificationSequenceNumber = _userActionNotificationSequenceNumber;
     }
 
     InputBindResult(Parcel source) {
@@ -197,14 +192,12 @@
         }
         id = source.readString();
         sequence = source.readInt();
-        userActionNotificationSequenceNumber = source.readInt();
     }
 
     @Override
     public String toString() {
         return "InputBindResult{result=" + getResultString() + " method="+ method + " id=" + id
                 + " sequence=" + sequence
-                + " userActionNotificationSequenceNumber=" + userActionNotificationSequenceNumber
                 + "}";
     }
 
@@ -226,7 +219,6 @@
         }
         dest.writeString(id);
         dest.writeInt(sequence);
-        dest.writeInt(userActionNotificationSequenceNumber);
     }
 
     /**
@@ -285,7 +277,7 @@
     }
 
     private static InputBindResult error(@ResultCode int result) {
-        return new InputBindResult(result, null, null, null, -1, -1);
+        return new InputBindResult(result, null, null, null, -1);
     }
 
     /**
diff --git a/core/java/com/android/internal/view/InputConnectionWrapper.java b/core/java/com/android/internal/view/InputConnectionWrapper.java
index 5b65bbe..3bd3072 100644
--- a/core/java/com/android/internal/view/InputConnectionWrapper.java
+++ b/core/java/com/android/internal/view/InputConnectionWrapper.java
@@ -371,6 +371,7 @@
     public boolean commitText(CharSequence text, int newCursorPosition) {
         try {
             mIInputContext.commitText(text, newCursorPosition);
+            notifyUserActionIfNecessary();
             return true;
         } catch (RemoteException e) {
             return false;
@@ -378,6 +379,16 @@
     }
 
     @AnyThread
+    private void notifyUserActionIfNecessary() {
+        final AbstractInputMethodService inputMethodService = mInputMethodService.get();
+        if (inputMethodService == null) {
+            // This basically should not happen, because it's the the caller of this method.
+            return;
+        }
+        inputMethodService.notifyUserActionIfNecessary();
+    }
+
+    @AnyThread
     public boolean commitCompletion(CompletionInfo text) {
         if (isMethodMissing(MissingMethodFlags.COMMIT_CORRECTION)) {
             // This method is not implemented.
@@ -449,6 +460,7 @@
     public boolean setComposingText(CharSequence text, int newCursorPosition) {
         try {
             mIInputContext.setComposingText(text, newCursorPosition);
+            notifyUserActionIfNecessary();
             return true;
         } catch (RemoteException e) {
             return false;
@@ -489,6 +501,7 @@
     public boolean sendKeyEvent(KeyEvent event) {
         try {
             mIInputContext.sendKeyEvent(event);
+            notifyUserActionIfNecessary();
             return true;
         } catch (RemoteException e) {
             return false;
diff --git a/core/java/com/android/internal/widget/PointerLocationView.java b/core/java/com/android/internal/widget/PointerLocationView.java
index 0b37d57..4773e16 100644
--- a/core/java/com/android/internal/widget/PointerLocationView.java
+++ b/core/java/com/android/internal/widget/PointerLocationView.java
@@ -840,7 +840,11 @@
                 scale *= 10;
             }
             value = (float) (Math.rint(value * scale) / scale);
-            
+
+            // Corner case: (int)-0.1 will become zero, so the negative sign gets lost
+            if ((int) value == 0 && value < 0) {
+                append("-");
+            }
             append((int) value);
 
             if (precision != 0) {
diff --git a/core/java/org/apache/http/conn/ssl/SSLSocketFactory.java b/core/java/org/apache/http/conn/ssl/SSLSocketFactory.java
index 65be161..b2e8b5e 100644
--- a/core/java/org/apache/http/conn/ssl/SSLSocketFactory.java
+++ b/core/java/org/apache/http/conn/ssl/SSLSocketFactory.java
@@ -37,6 +37,7 @@
 import org.apache.http.params.HttpParams;
 
 import android.annotation.UnsupportedAppUsage;
+import android.os.Build;
 import javax.net.ssl.HttpsURLConnection;
 import javax.net.ssl.KeyManager;
 import javax.net.ssl.KeyManagerFactory;
@@ -181,7 +182,7 @@
     private final javax.net.ssl.SSLSocketFactory socketfactory;
     @UnsupportedAppUsage
     private final HostNameResolver nameResolver;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private X509HostnameVerifier hostnameVerifier = BROWSER_COMPATIBLE_HOSTNAME_VERIFIER;
 
     public SSLSocketFactory(
@@ -251,7 +252,7 @@
      * This constructor is used exclusively to instantiate the factory for
      * {@link #getSocketFactory getSocketFactory}.
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private SSLSocketFactory() {
         super();
         this.sslcontext = null;
diff --git a/core/jni/Android.bp b/core/jni/Android.bp
index bb8ee14..762b430 100644
--- a/core/jni/Android.bp
+++ b/core/jni/Android.bp
@@ -230,7 +230,6 @@
     static_libs: [
         "libgif",
         "libseccomp_policy",
-        "libselinux",
         "libgrallocusage",
         "libscrypt_static",
     ],
diff --git a/core/jni/android/graphics/Bitmap.cpp b/core/jni/android/graphics/Bitmap.cpp
index 0a25271..897f6fa5 100755
--- a/core/jni/android/graphics/Bitmap.cpp
+++ b/core/jni/android/graphics/Bitmap.cpp
@@ -15,7 +15,6 @@
 #include "SkPM4f.h"
 #include "SkPM4fPriv.h"
 #include "GraphicsJNI.h"
-#include "SkDither.h"
 #include "SkUnPreMultiply.h"
 #include "SkStream.h"
 
@@ -326,33 +325,6 @@
     return true;
 }
 
-//////////////////// ToColor procs
-
-static void ToColor_SA8(SkColor dst[], const void* src, int width) {
-    SkASSERT(width > 0);
-    const uint8_t* s = (const uint8_t*)src;
-    do {
-        uint8_t c = *s++;
-        *dst++ = SkColorSetARGB(c, 0, 0, 0);
-    } while (--width != 0);
-}
-
-static void ToF16_SA8(void* dst, const void* src, int width) {
-    SkASSERT(width > 0);
-    uint64_t* d = (uint64_t*)dst;
-    const uint8_t* s = (const uint8_t*)src;
-
-    for (int i = 0; i < width; i++) {
-        uint8_t c = *s++;
-        SkPM4f a;
-        a.fVec[SkPM4f::R] = 0.0f;
-        a.fVec[SkPM4f::G] = 0.0f;
-        a.fVec[SkPM4f::B] = 0.0f;
-        a.fVec[SkPM4f::A] = c / 255.0f;
-        *d++ = a.toF16();
-    }
-}
-
 ///////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////
 
@@ -417,23 +389,12 @@
     SkImageInfo dstInfo = srcPM.info().makeColorType(dstCT);
     switch (dstCT) {
         case kRGB_565_SkColorType:
-            // copyTo() has never been strict on alpha type.  Here we set the src to opaque to
-            // allow the call to readPixels() to succeed and preserve this lenient behavior.
-            if (kOpaque_SkAlphaType != srcPM.alphaType()) {
-                srcPM = SkPixmap(srcPM.info().makeAlphaType(kOpaque_SkAlphaType), srcPM.addr(),
-                                 srcPM.rowBytes());
-                dstInfo = dstInfo.makeAlphaType(kOpaque_SkAlphaType);
-            }
+            dstInfo = dstInfo.makeAlphaType(kOpaque_SkAlphaType);
             break;
         case kRGBA_F16_SkColorType:
             // The caller does not have an opportunity to pass a dst color space.  Assume that
             // they want linear sRGB.
             dstInfo = dstInfo.makeColorSpace(SkColorSpace::MakeSRGBLinear());
-
-            if (!srcPM.colorSpace()) {
-                // Skia needs a color space to convert to F16.  nullptr should be treated as sRGB.
-                srcPM.setColorSpace(SkColorSpace::MakeSRGB());
-            }
             break;
         default:
             break;
@@ -446,57 +407,11 @@
         return false;
     }
 
-    // Skia does not support copying from kAlpha8 to types that are not alpha only.
-    // We will handle this case here.
-    if (kAlpha_8_SkColorType == srcPM.colorType() && kAlpha_8_SkColorType != dstCT) {
-        switch (dstCT) {
-            case kRGBA_8888_SkColorType:
-            case kBGRA_8888_SkColorType: {
-                for (int y = 0; y < src.height(); y++) {
-                    const uint8_t* srcRow = srcPM.addr8(0, y);
-                    uint32_t* dstRow = dst->getAddr32(0, y);
-                    ToColor_SA8(dstRow, srcRow, src.width());
-                }
-                return true;
-            }
-            case kRGB_565_SkColorType: {
-                for (int y = 0; y < src.height(); y++) {
-                    uint16_t* dstRow = dst->getAddr16(0, y);
-                    memset(dstRow, 0, sizeof(uint16_t) * src.width());
-                }
-                return true;
-            }
-            case kRGBA_F16_SkColorType: {
-               for (int y = 0; y < src.height(); y++) {
-                   const uint8_t* srcRow = srcPM.addr8(0, y);
-                   void* dstRow = dst->getAddr(0, y);
-                   ToF16_SA8(dstRow, srcRow, src.width());
-               }
-               return true;
-           }
-            default:
-                return false;
-        }
-    }
-
     SkPixmap dstPM;
     if (!dst->peekPixels(&dstPM)) {
         return false;
     }
 
-    // Skia needs a color space to convert from F16.  nullptr should be treated as sRGB.
-    if (kRGBA_F16_SkColorType == srcPM.colorType() && !dstPM.colorSpace()) {
-        dstPM.setColorSpace(SkColorSpace::MakeSRGB());
-    }
-
-    // readPixels does not support color spaces with parametric transfer functions.  This
-    // works around that restriction when the color spaces are equal.
-    if (kRGBA_F16_SkColorType != dstCT && kRGBA_F16_SkColorType != srcPM.colorType() &&
-            dstPM.colorSpace() == srcPM.colorSpace()) {
-        dstPM.setColorSpace(nullptr);
-        srcPM.setColorSpace(nullptr);
-    }
-
     return srcPM.readPixels(dstPM);
 }
 
diff --git a/core/jni/android/graphics/pdf/PdfDocument.cpp b/core/jni/android/graphics/pdf/PdfDocument.cpp
index e2dc52b..5f67d30 100644
--- a/core/jni/android/graphics/pdf/PdfDocument.cpp
+++ b/core/jni/android/graphics/pdf/PdfDocument.cpp
@@ -21,11 +21,11 @@
 
 #include "CreateJavaOutputStreamAdaptor.h"
 
-#include "SkDocument.h"
+#include "SkPDFDocument.h"
 #include "SkPicture.h"
 #include "SkPictureRecorder.h"
-#include "SkStream.h"
 #include "SkRect.h"
+#include "SkStream.h"
 
 #include <hwui/Canvas.h>
 
@@ -88,7 +88,7 @@
     }
 
     void write(SkWStream* stream) {
-        sk_sp<SkDocument> document = SkDocument::MakePDF(stream);
+        sk_sp<SkDocument> document = SkPDF::MakeDocument(stream);
         for (unsigned i = 0; i < mPages.size(); i++) {
             PageRecord* page =  mPages[i];
 
diff --git a/core/jni/android/opengl/util.cpp b/core/jni/android/opengl/util.cpp
index b163597..a45b493 100644
--- a/core/jni/android/opengl/util.cpp
+++ b/core/jni/android/opengl/util.cpp
@@ -622,13 +622,17 @@
 
 // ---------------------------------------------------------------------------
 
+// The internal format is no longer the same as pixel format, per Table 2 in
+// https://www.khronos.org/registry/OpenGL-Refpages/es3.1/html/glTexImage2D.xhtml
 static int checkInternalFormat(SkColorType colorType, int internalformat,
     int type)
 {
     switch(colorType) {
         case kN32_SkColorType:
             return (type == GL_UNSIGNED_BYTE &&
-                internalformat == GL_RGBA) ? 0 : -1;
+                    internalformat == GL_RGBA) ||
+                (type == GL_UNSIGNED_BYTE &&
+                 internalformat == GL_SRGB8_ALPHA8) ? 0 : -1;
         case kAlpha_8_SkColorType:
             return (type == GL_UNSIGNED_BYTE &&
                 internalformat == GL_ALPHA) ? 0 : -1;
diff --git a/core/jni/android_graphics_Canvas.cpp b/core/jni/android_graphics_Canvas.cpp
index eba4c50..343aef2 100644
--- a/core/jni/android_graphics_Canvas.cpp
+++ b/core/jni/android_graphics_Canvas.cpp
@@ -674,7 +674,7 @@
     int ret = 0;
     ret |= RegisterMethodsOrDie(env, "android/graphics/Canvas", gMethods, NELEM(gMethods));
     ret |= RegisterMethodsOrDie(env, "android/graphics/BaseCanvas", gDrawMethods, NELEM(gDrawMethods));
-    ret |= RegisterMethodsOrDie(env, "android/view/RecordingCanvas", gDrawMethods, NELEM(gDrawMethods));
+    ret |= RegisterMethodsOrDie(env, "android/graphics/BaseRecordingCanvas", gDrawMethods, NELEM(gDrawMethods));
     return ret;
 
 }
diff --git a/core/jni/android_graphics_drawable_VectorDrawable.cpp b/core/jni/android_graphics_drawable_VectorDrawable.cpp
index 6f4a58a..58a2379 100644
--- a/core/jni/android_graphics_drawable_VectorDrawable.cpp
+++ b/core/jni/android_graphics_drawable_VectorDrawable.cpp
@@ -130,7 +130,7 @@
 
 static jfloat getRootAlpha(JNIEnv*, jobject, jlong treePtr) {
     VectorDrawable::Tree* tree = reinterpret_cast<VectorDrawable::Tree*>(treePtr);
-    return tree->stagingProperties()->getRootAlpha();
+    return tree->stagingProperties().getRootAlpha();
 }
 
 static void updateFullPathPropertiesAndStrokeStyles(JNIEnv*, jobject, jlong fullPathPtr,
diff --git a/core/jni/android_net_LocalSocketImpl.cpp b/core/jni/android_net_LocalSocketImpl.cpp
index 6df23f7..a1f2377 100644
--- a/core/jni/android_net_LocalSocketImpl.cpp
+++ b/core/jni/android_net_LocalSocketImpl.cpp
@@ -58,6 +58,11 @@
     int ret;
     int fd;
 
+    if (name == NULL) {
+        jniThrowNullPointerException(env, NULL);
+        return;
+    }
+
     fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
 
     if (env->ExceptionCheck()) {
diff --git a/core/jni/android_os_GraphicsEnvironment.cpp b/core/jni/android_os_GraphicsEnvironment.cpp
index dfa5de6..b70485d 100644
--- a/core/jni/android_os_GraphicsEnvironment.cpp
+++ b/core/jni/android_os_GraphicsEnvironment.cpp
@@ -28,6 +28,14 @@
     android::GraphicsEnv::getInstance().setDriverPath(pathChars.c_str());
 }
 
+void setAngleInfo_native(JNIEnv* env, jobject clazz, jstring path, jstring appName, jstring appPref, jboolean devOptIn) {
+    ScopedUtfChars pathChars(env, path);
+    ScopedUtfChars appNameChars(env, appName);
+    ScopedUtfChars appPrefChars(env, appPref);
+    android::GraphicsEnv::getInstance().setAngleInfo(pathChars.c_str(), appNameChars.c_str(),
+            appPrefChars.c_str(), devOptIn);
+}
+
 void setLayerPaths_native(JNIEnv* env, jobject clazz, jobject classLoader, jstring layerPaths) {
     android::NativeLoaderNamespace* appNamespace = android::FindNativeLoaderNamespaceByClassLoader(
         env, classLoader);
@@ -44,6 +52,7 @@
 
 const JNINativeMethod g_methods[] = {
     { "setDriverPath", "(Ljava/lang/String;)V", reinterpret_cast<void*>(setDriverPath) },
+    { "setAngleInfo", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V", reinterpret_cast<void*>(setAngleInfo_native) },
     { "setLayerPaths", "(Ljava/lang/ClassLoader;Ljava/lang/String;)V", reinterpret_cast<void*>(setLayerPaths_native) },
     { "setDebugLayers", "(Ljava/lang/String;)V", reinterpret_cast<void*>(setDebugLayers_native) },
 };
diff --git a/core/jni/android_text_LineBreaker.cpp b/core/jni/android_text_LineBreaker.cpp
index dac108e..5439107 100644
--- a/core/jni/android_text_LineBreaker.cpp
+++ b/core/jni/android_text_LineBreaker.cpp
@@ -41,17 +41,6 @@
 
 namespace android {
 
-struct JLineBreaksID {
-    jfieldID breaks;
-    jfieldID widths;
-    jfieldID ascents;
-    jfieldID descents;
-    jfieldID flags;
-};
-
-static jclass gLineBreaks_class;
-static JLineBreaksID gLineBreaks_fieldID;
-
 static inline std::vector<float> jintArrayToFloatVector(JNIEnv* env, jintArray javaArray) {
     if (javaArray == nullptr) {
          return std::vector<float>();
@@ -85,34 +74,7 @@
     return reinterpret_cast<jlong>(nFinish);
 }
 
-static void recycleCopy(JNIEnv* env, jobject recycle, jintArray recycleBreaks,
-                        jfloatArray recycleWidths, jfloatArray recycleAscents,
-                        jfloatArray recycleDescents, jintArray recycleFlags,
-                        jint recycleLength, const minikin::LineBreakResult& result) {
-    const size_t nBreaks = result.breakPoints.size();
-    if ((size_t)recycleLength < nBreaks) {
-        // have to reallocate buffers
-        recycleBreaks = env->NewIntArray(nBreaks);
-        recycleWidths = env->NewFloatArray(nBreaks);
-        recycleAscents = env->NewFloatArray(nBreaks);
-        recycleDescents = env->NewFloatArray(nBreaks);
-        recycleFlags = env->NewIntArray(nBreaks);
-
-        env->SetObjectField(recycle, gLineBreaks_fieldID.breaks, recycleBreaks);
-        env->SetObjectField(recycle, gLineBreaks_fieldID.widths, recycleWidths);
-        env->SetObjectField(recycle, gLineBreaks_fieldID.ascents, recycleAscents);
-        env->SetObjectField(recycle, gLineBreaks_fieldID.descents, recycleDescents);
-        env->SetObjectField(recycle, gLineBreaks_fieldID.flags, recycleFlags);
-    }
-    // copy data
-    env->SetIntArrayRegion(recycleBreaks, 0, nBreaks, result.breakPoints.data());
-    env->SetFloatArrayRegion(recycleWidths, 0, nBreaks, result.widths.data());
-    env->SetFloatArrayRegion(recycleAscents, 0, nBreaks, result.ascents.data());
-    env->SetFloatArrayRegion(recycleDescents, 0, nBreaks, result.descents.data());
-    env->SetIntArrayRegion(recycleFlags, 0, nBreaks, result.flags.data());
-}
-
-static jint nComputeLineBreaks(JNIEnv* env, jclass, jlong nativePtr,
+static jlong nComputeLineBreaks(JNIEnv* env, jclass, jlong nativePtr,
         // Inputs
         jcharArray javaText,
         jlong measuredTextPtr,
@@ -122,18 +84,7 @@
         jfloat restWidth,
         jintArray variableTabStops,
         jint defaultTabStop,
-        jint indentsOffset,
-
-        // Outputs
-        jobject recycle,
-        jint recycleLength,
-        jintArray recycleBreaks,
-        jfloatArray recycleWidths,
-        jfloatArray recycleAscents,
-        jfloatArray recycleDescents,
-        jintArray recycleFlags,
-        jfloatArray charWidths) {
-
+        jint indentsOffset) {
     minikin::android::StaticLayoutNative* builder = toNative(nativePtr);
 
     ScopedCharArrayRO text(env, javaText);
@@ -141,14 +92,44 @@
 
     minikin::U16StringPiece u16Text(text.get(), length);
     minikin::MeasuredText* measuredText = reinterpret_cast<minikin::MeasuredText*>(measuredTextPtr);
-    minikin::LineBreakResult result = builder->computeBreaks(
-            u16Text, *measuredText, firstWidth, firstWidthLineCount, restWidth, indentsOffset,
-            tabStops.get(), tabStops.size(), defaultTabStop);
 
-    recycleCopy(env, recycle, recycleBreaks, recycleWidths, recycleAscents, recycleDescents,
-            recycleFlags, recycleLength, result);
+    std::unique_ptr<minikin::LineBreakResult> result =
+          std::make_unique<minikin::LineBreakResult>(builder->computeBreaks(
+                u16Text, *measuredText, firstWidth, firstWidthLineCount, restWidth, indentsOffset,
+                tabStops.get(), tabStops.size(), defaultTabStop));
+    return reinterpret_cast<jlong>(result.release());
+}
 
-    return static_cast<jint>(result.breakPoints.size());
+static jint nGetLineCount(jlong ptr) {
+    return reinterpret_cast<minikin::LineBreakResult*>(ptr)->breakPoints.size();
+}
+
+static jint nGetLineBreakOffset(jlong ptr, jint i) {
+    return reinterpret_cast<minikin::LineBreakResult*>(ptr)->breakPoints[i];
+}
+
+static jfloat nGetLineWidth(jlong ptr, jint i) {
+    return reinterpret_cast<minikin::LineBreakResult*>(ptr)->widths[i];
+}
+
+static jfloat nGetLineAscent(jlong ptr, jint i) {
+    return reinterpret_cast<minikin::LineBreakResult*>(ptr)->ascents[i];
+}
+
+static jfloat nGetLineDescent(jlong ptr, jint i) {
+    return reinterpret_cast<minikin::LineBreakResult*>(ptr)->descents[i];
+}
+
+static jint nGetLineFlag(jlong ptr, jint i) {
+    return reinterpret_cast<minikin::LineBreakResult*>(ptr)->flags[i];
+}
+
+static void nReleaseResult(jlong ptr) {
+    delete reinterpret_cast<minikin::LineBreakResult*>(ptr);
+}
+
+static jlong nGetReleaseResultFunc() {
+    return reinterpret_cast<jlong>(nReleaseResult);
 }
 
 static const JNINativeMethod gMethods[] = {
@@ -166,8 +147,6 @@
     // Regular JNI
     {"nComputeLineBreaks", "("
         "J"  // nativePtr
-
-        // Inputs
         "[C"  // text
         "J"  // MeasuredParagraph ptr.
         "I"  // length
@@ -177,31 +156,20 @@
         "[I"  // variableTabStops
         "I"  // defaultTabStop
         "I"  // indentsOffset
+        ")J", (void*) nComputeLineBreaks},
 
-        // Outputs
-        "Landroid/text/NativeLineBreaker$LineBreaks;"  // recycle
-        "I"  // recycleLength
-        "[I"  // recycleBreaks
-        "[F"  // recycleWidths
-        "[F"  // recycleAscents
-        "[F"  // recycleDescents
-        "[I"  // recycleFlags
-        ")I", (void*) nComputeLineBreaks}
+    // Result accessors, CriticalNatives
+    {"nGetLineCount", "(J)I", (void*)nGetLineCount},
+    {"nGetLineBreakOffset", "(JI)I", (void*)nGetLineBreakOffset},
+    {"nGetLineWidth", "(JI)F", (void*)nGetLineWidth},
+    {"nGetLineAscent", "(JI)F", (void*)nGetLineAscent},
+    {"nGetLineDescent", "(JI)F", (void*)nGetLineDescent},
+    {"nGetLineFlag", "(JI)I", (void*)nGetLineFlag},
+    {"nGetReleaseResultFunc", "()J", (void*)nGetReleaseResultFunc},
 };
 
-int register_android_text_LineBreaker(JNIEnv* env)
-{
-    gLineBreaks_class = MakeGlobalRefOrDie(env,
-            FindClassOrDie(env, "android/text/NativeLineBreaker$LineBreaks"));
-
-    gLineBreaks_fieldID.breaks = GetFieldIDOrDie(env, gLineBreaks_class, "breaks", "[I");
-    gLineBreaks_fieldID.widths = GetFieldIDOrDie(env, gLineBreaks_class, "widths", "[F");
-    gLineBreaks_fieldID.ascents = GetFieldIDOrDie(env, gLineBreaks_class, "ascents", "[F");
-    gLineBreaks_fieldID.descents = GetFieldIDOrDie(env, gLineBreaks_class, "descents", "[F");
-    gLineBreaks_fieldID.flags = GetFieldIDOrDie(env, gLineBreaks_class, "flags", "[I");
-
-    return RegisterMethodsOrDie(env, "android/text/NativeLineBreaker",
-                                gMethods, NELEM(gMethods));
+int register_android_text_LineBreaker(JNIEnv* env) {
+    return RegisterMethodsOrDie(env, "android/text/NativeLineBreaker", gMethods, NELEM(gMethods));
 }
 
 }
diff --git a/core/jni/android_view_RenderNode.cpp b/core/jni/android_view_RenderNode.cpp
index 46b19bd..63b0046 100644
--- a/core/jni/android_view_RenderNode.cpp
+++ b/core/jni/android_view_RenderNode.cpp
@@ -444,6 +444,14 @@
     return reinterpret_cast<RenderNode*>(renderNodePtr)->stagingProperties().getHeight();
 }
 
+static jboolean android_view_RenderNode_setAllowForceDark(jlong renderNodePtr, jboolean allow) {
+    return SET_AND_DIRTY(setAllowForceDark, allow, RenderNode::GENERIC);
+}
+
+static jboolean android_view_RenderNode_getAllowForceDark(jlong renderNodePtr) {
+    return reinterpret_cast<RenderNode*>(renderNodePtr)->stagingProperties().getAllowForceDark();
+}
+
 // ----------------------------------------------------------------------------
 // RenderProperties - Animations
 // ----------------------------------------------------------------------------
@@ -465,8 +473,8 @@
 // SurfaceView position callback
 // ----------------------------------------------------------------------------
 
-jmethodID gSurfaceViewPositionUpdateMethod;
-jmethodID gSurfaceViewPositionLostMethod;
+jmethodID gPositionListener_PositionChangedMethod;
+jmethodID gPositionListener_PositionLostMethod;
 
 static void android_view_RenderNode_requestPositionUpdates(JNIEnv* env, jobject,
         jlong renderNodePtr, jobject surfaceview) {
@@ -523,7 +531,7 @@
                 return;
             }
 
-            env->CallVoidMethod(localref, gSurfaceViewPositionLostMethod,
+            env->CallVoidMethod(localref, gPositionListener_PositionLostMethod,
                     info ? info->canvasContext.getFrameNumber() : 0);
             env->DeleteLocalRef(localref);
         }
@@ -547,7 +555,7 @@
                 env->DeleteWeakGlobalRef(mWeakRef);
                 mWeakRef = nullptr;
             } else {
-                env->CallVoidMethod(localref, gSurfaceViewPositionUpdateMethod,
+                env->CallVoidMethod(localref, gPositionListener_PositionChangedMethod,
                         frameNumber, left, top, right, bottom);
                 env->DeleteLocalRef(localref);
             }
@@ -580,7 +588,7 @@
     { "nGetDebugSize",         "(J)I",    (void*) android_view_RenderNode_getDebugSize },
     { "nAddAnimator",              "(JJ)V", (void*) android_view_RenderNode_addAnimator },
     { "nEndAllAnimators",          "(J)V", (void*) android_view_RenderNode_endAllAnimators },
-    { "nRequestPositionUpdates",   "(JLandroid/view/SurfaceView;)V", (void*) android_view_RenderNode_requestPositionUpdates },
+    { "nRequestPositionUpdates",   "(JLandroid/view/RenderNode$PositionUpdateListener;)V", (void*) android_view_RenderNode_requestPositionUpdates },
     { "nSetDisplayList",       "(JJ)V",   (void*) android_view_RenderNode_setDisplayList },
 
 
@@ -664,14 +672,16 @@
     { "nGetPivotY",                "(J)F",  (void*) android_view_RenderNode_getPivotY },
     { "nGetWidth",                 "(J)I",  (void*) android_view_RenderNode_getWidth },
     { "nGetHeight",                "(J)I",  (void*) android_view_RenderNode_getHeight },
+    { "nSetAllowForceDark",        "(JZ)Z", (void*) android_view_RenderNode_setAllowForceDark },
+    { "nGetAllowForceDark",        "(J)Z",  (void*) android_view_RenderNode_getAllowForceDark },
 };
 
 int register_android_view_RenderNode(JNIEnv* env) {
-    jclass clazz = FindClassOrDie(env, "android/view/SurfaceView");
-    gSurfaceViewPositionUpdateMethod = GetMethodIDOrDie(env, clazz,
-            "updateSurfacePosition_renderWorker", "(JIIII)V");
-    gSurfaceViewPositionLostMethod = GetMethodIDOrDie(env, clazz,
-            "surfacePositionLost_uiRtSync", "(J)V");
+    jclass clazz = FindClassOrDie(env, "android/view/RenderNode$PositionUpdateListener");
+    gPositionListener_PositionChangedMethod = GetMethodIDOrDie(env, clazz,
+            "positionChanged", "(JIIII)V");
+    gPositionListener_PositionLostMethod = GetMethodIDOrDie(env, clazz,
+            "positionLost", "(J)V");
     return RegisterMethodsOrDie(env, kClassPathName, gMethods, NELEM(gMethods));
 }
 
diff --git a/core/jni/android_view_SurfaceControl.cpp b/core/jni/android_view_SurfaceControl.cpp
index 743b9f6..b70177f 100644
--- a/core/jni/android_view_SurfaceControl.cpp
+++ b/core/jni/android_view_SurfaceControl.cpp
@@ -157,23 +157,17 @@
     return Rect(left, top, right, bottom);
 }
 
-static jobject nativeScreenshotToBuffer(JNIEnv* env, jclass clazz,
+static jobject nativeScreenshot(JNIEnv* env, jclass clazz,
         jobject displayTokenObj, jobject sourceCropObj, jint width, jint height,
-        jint minLayer, jint maxLayer, bool allLayers, bool useIdentityTransform,
-        int rotation) {
+        bool useIdentityTransform, int rotation) {
     sp<IBinder> displayToken = ibinderForJavaObject(env, displayTokenObj);
     if (displayToken == NULL) {
         return NULL;
     }
     Rect sourceCrop = rectFromObj(env, sourceCropObj);
-    if (allLayers) {
-        minLayer = INT32_MIN;
-        maxLayer = INT32_MAX;
-    }
     sp<GraphicBuffer> buffer;
-    status_t res = ScreenshotClient::capture(displayToken,
-            sourceCrop, width, height, minLayer, maxLayer, useIdentityTransform,
-            rotation, &buffer);
+    status_t res = ScreenshotClient::capture(displayToken, sourceCrop, width, height,
+            useIdentityTransform, rotation, &buffer);
     if (res != NO_ERROR) {
         return NULL;
     }
@@ -187,100 +181,6 @@
             (jlong)buffer.get());
 }
 
-static jobject nativeScreenshotBitmap(JNIEnv* env, jclass clazz,
-        jobject displayTokenObj, jobject sourceCropObj, jint width, jint height,
-        jint minLayer, jint maxLayer, bool allLayers, bool useIdentityTransform,
-        int rotation) {
-    sp<IBinder> displayToken = ibinderForJavaObject(env, displayTokenObj);
-    if (displayToken == NULL) {
-        return NULL;
-    }
-
-    Rect sourceCrop = rectFromObj(env, sourceCropObj);
-
-    std::unique_ptr<ScreenshotClient> screenshot(new ScreenshotClient());
-    status_t res;
-    if (allLayers) {
-        minLayer = INT32_MIN;
-        maxLayer = INT32_MAX;
-    }
-
-    sp<GraphicBuffer> buffer;
-    res = ScreenshotClient::capture(displayToken, sourceCrop, width, height,
-        minLayer, maxLayer, useIdentityTransform, static_cast<uint32_t>(rotation), &buffer);
-    if (res != NO_ERROR) {
-        return NULL;
-    }
-
-    SkColorType colorType;
-    SkAlphaType alphaType;
-
-    PixelFormat format = buffer->getPixelFormat();
-    switch (format) {
-        case PIXEL_FORMAT_RGBX_8888: {
-            colorType = kRGBA_8888_SkColorType;
-            alphaType = kOpaque_SkAlphaType;
-            break;
-        }
-        case PIXEL_FORMAT_RGBA_8888: {
-            colorType = kRGBA_8888_SkColorType;
-            alphaType = kPremul_SkAlphaType;
-            break;
-        }
-        case PIXEL_FORMAT_RGBA_FP16: {
-            colorType = kRGBA_F16_SkColorType;
-            alphaType = kPremul_SkAlphaType;
-            break;
-        }
-        case PIXEL_FORMAT_RGB_565: {
-            colorType = kRGB_565_SkColorType;
-            alphaType = kOpaque_SkAlphaType;
-            break;
-        }
-        default: {
-            return NULL;
-        }
-    }
-
-    SkImageInfo info = SkImageInfo::Make(buffer->getWidth(), buffer->getHeight(),
-                                         colorType, alphaType,
-                                         SkColorSpace::MakeSRGB());
-
-    auto bitmap = sk_sp<Bitmap>(new Bitmap(buffer.get(), info));
-    return bitmap::createBitmap(env, bitmap.release(),
-                                android::bitmap::kBitmapCreateFlag_Premultiplied, NULL);
-}
-
-static void nativeScreenshot(JNIEnv* env, jclass clazz, jobject displayTokenObj,
-        jobject surfaceObj, jobject sourceCropObj, jint width, jint height,
-        jint minLayer, jint maxLayer, bool allLayers, bool useIdentityTransform) {
-    sp<IBinder> displayToken = ibinderForJavaObject(env, displayTokenObj);
-    if (displayToken == NULL) {
-        return;
-    }
-
-    sp<Surface> consumer = android_view_Surface_getSurface(env, surfaceObj);
-    if (consumer == NULL) {
-        return;
-    }
-
-    Rect sourceCrop;
-    if (sourceCropObj != NULL) {
-        sourceCrop = rectFromObj(env, sourceCropObj);
-    }
-
-    if (allLayers) {
-        minLayer = INT32_MIN;
-        maxLayer = INT32_MAX;
-    }
-
-    sp<GraphicBuffer> buffer;
-    ScreenshotClient::capture(displayToken, sourceCrop, width, height, minLayer, maxLayer,
-                              useIdentityTransform, 0, &buffer);
-
-    Surface::attachAndQueueBuffer(consumer.get(), buffer);
-}
-
 static jobject nativeCaptureLayers(JNIEnv* env, jclass clazz, jobject layerHandleToken,
         jobject sourceCropObj, jfloat frameScale) {
 
@@ -919,10 +819,6 @@
             (void*)nativeDestroy },
     {"nativeDisconnect", "(J)V",
             (void*)nativeDisconnect },
-    {"nativeScreenshot", "(Landroid/os/IBinder;Landroid/graphics/Rect;IIIIZZI)Landroid/graphics/Bitmap;",
-            (void*)nativeScreenshotBitmap },
-    {"nativeScreenshot", "(Landroid/os/IBinder;Landroid/view/Surface;Landroid/graphics/Rect;IIIIZZ)V",
-            (void*)nativeScreenshot },
     {"nativeCreateTransaction", "()J",
             (void*)nativeCreateTransaction },
     {"nativeApplyTransaction", "(JZ)V",
@@ -1013,9 +909,8 @@
             (void*)nativeDestroyInTransaction },
     {"nativeGetHandle", "(J)Landroid/os/IBinder;",
             (void*)nativeGetHandle },
-    {"nativeScreenshotToBuffer",
-     "(Landroid/os/IBinder;Landroid/graphics/Rect;IIIIZZI)Landroid/graphics/GraphicBuffer;",
-     (void*)nativeScreenshotToBuffer },
+    {"nativeScreenshot", "(Landroid/os/IBinder;Landroid/graphics/Rect;IIZI)Landroid/graphics/GraphicBuffer;",
+            (void*)nativeScreenshot },
     {"nativeCaptureLayers", "(Landroid/os/IBinder;Landroid/graphics/Rect;F)Landroid/graphics/GraphicBuffer;",
             (void*)nativeCaptureLayers },
 };
diff --git a/core/jni/android_view_ThreadedRenderer.cpp b/core/jni/android_view_ThreadedRenderer.cpp
index 3c59bd1..7a5b604 100644
--- a/core/jni/android_view_ThreadedRenderer.cpp
+++ b/core/jni/android_view_ThreadedRenderer.cpp
@@ -1064,6 +1064,12 @@
     proxy->allocateBuffers(surface);
 }
 
+static void android_view_ThreadedRenderer_setForceDark(JNIEnv* env, jobject clazz,
+        jlong proxyPtr, jboolean enable) {
+    RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr);
+    proxy->setForceDark(enable);
+}
+
 // ----------------------------------------------------------------------------
 // FrameMetricsObserver
 // ----------------------------------------------------------------------------
@@ -1177,6 +1183,7 @@
     { "nSetIsolatedProcess", "(Z)V", (void*)android_view_ThreadedRenderer_setIsolatedProcess },
     { "nSetContextPriority", "(I)V", (void*)android_view_ThreadedRenderer_setContextPriority },
     { "nAllocateBuffers", "(JLandroid/view/Surface;)V", (void*)android_view_ThreadedRenderer_allocateBuffers },
+    { "nSetForceDark", "(JZ)V", (void*)android_view_ThreadedRenderer_setForceDark },
 };
 
 static JavaVM* mJvm = nullptr;
diff --git a/core/jni/com_android_internal_net_NetworkStatsFactory.cpp b/core/jni/com_android_internal_net_NetworkStatsFactory.cpp
index c15b7ee..109e65c 100644
--- a/core/jni/com_android_internal_net_NetworkStatsFactory.cpp
+++ b/core/jni/com_android_internal_net_NetworkStatsFactory.cpp
@@ -285,10 +285,6 @@
 static int readNetworkStatsDetail(JNIEnv* env, jclass clazz, jobject stats, jstring path,
                                   jint limitUid, jobjectArray limitIfacesObj, jint limitTag,
                                   jboolean useBpfStats) {
-    ScopedUtfChars path8(env, path);
-    if (path8.c_str() == NULL) {
-        return -1;
-    }
 
     std::vector<std::string> limitIfaces;
     if (limitIfacesObj != NULL && env->GetArrayLength(limitIfacesObj) > 0) {
@@ -308,6 +304,11 @@
         if (parseBpfNetworkStatsDetail(&lines, limitIfaces, limitTag, limitUid) < 0)
             return -1;
     } else {
+        ScopedUtfChars path8(env, path);
+        if (path8.c_str() == NULL) {
+            ALOGE("the qtaguid legacy path is invalid: %s", path8.c_str());
+            return -1;
+        }
         if (legacyReadNetworkStatsDetail(&lines, limitIfaces, limitTag,
                                          limitUid, path8.c_str()) < 0)
             return -1;
diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp
index 364393e..1f95862 100644
--- a/core/jni/com_android_internal_os_Zygote.cpp
+++ b/core/jni/com_android_internal_os_Zygote.cpp
@@ -382,11 +382,10 @@
     return 0;
 }
 
-static bool createPkgSandbox(uid_t uid, const char* package_name, std::string& pkg_sandbox_dir,
-        std::string* error_msg) {
+static bool createPkgSandbox(uid_t uid, const std::string& package_name, std::string* error_msg) {
     // Create /mnt/user/0/package/<package-name>
     userid_t user_id = multiuser_get_user_id(uid);
-    StringAppendF(&pkg_sandbox_dir, "/%d", user_id);
+    std::string pkg_sandbox_dir = StringPrintf("/mnt/user/%d", user_id);
     if (fs_prepare_dir(pkg_sandbox_dir.c_str(), 0751, AID_ROOT, AID_ROOT) != 0) {
         *error_msg = CREATE_ERROR("fs_prepare_dir failed on %s", pkg_sandbox_dir.c_str());
         return false;
@@ -396,7 +395,7 @@
         *error_msg = CREATE_ERROR("fs_prepare_dir failed on %s", pkg_sandbox_dir.c_str());
         return false;
     }
-    StringAppendF(&pkg_sandbox_dir, "/%s", package_name);
+    StringAppendF(&pkg_sandbox_dir, "/%s", package_name.c_str());
     if (fs_prepare_dir(pkg_sandbox_dir.c_str(), 0755, uid, uid) != 0) {
         *error_msg = CREATE_ERROR("fs_prepare_dir failed on %s", pkg_sandbox_dir.c_str());
         return false;
@@ -404,10 +403,51 @@
     return true;
 }
 
+static bool mountPkgSpecificDir(const std::string& mntSourceRoot,
+        const std::string& mntTargetRoot, const std::string& packageName,
+        const char* dirName, std::string* error_msg) {
+    std::string mntSourceDir = StringPrintf("%s/Android/%s/%s",
+            mntSourceRoot.c_str(), dirName, packageName.c_str());
+    std::string mntTargetDir = StringPrintf("%s/Android/%s/%s",
+            mntTargetRoot.c_str(), dirName, packageName.c_str());
+    if (TEMP_FAILURE_RETRY(mount(mntSourceDir.c_str(), mntTargetDir.c_str(),
+            nullptr, MS_BIND | MS_REC, nullptr)) == -1) {
+        *error_msg = CREATE_ERROR("Failed to mount %s to %s: %s",
+                mntSourceDir.c_str(), mntTargetDir.c_str(), strerror(errno));
+        return false;
+    }
+    if (TEMP_FAILURE_RETRY(mount(nullptr, mntTargetDir.c_str(),
+            nullptr, MS_SLAVE | MS_REC, nullptr)) == -1) {
+        *error_msg = CREATE_ERROR("Failed to set MS_SLAVE for %s", mntTargetDir.c_str());
+        return false;
+    }
+    return true;
+}
+
+static bool preparePkgSpecificDirs(const std::vector<std::string>& packageNames,
+        const std::vector<std::string>& volumeLabels, userid_t userId, std::string* error_msg) {
+    for (auto& label : volumeLabels) {
+        std::string mntSource = StringPrintf("/mnt/runtime/write/%s", label.c_str());
+        std::string mntTarget = StringPrintf("/storage/%s", label.c_str());
+        if (label == "emulated") {
+            StringAppendF(&mntSource, "/%d", userId);
+            StringAppendF(&mntTarget, "/%d", userId);
+        }
+        for (auto& package : packageNames) {
+            mountPkgSpecificDir(mntSource, mntTarget, package, "data", error_msg);
+            mountPkgSpecificDir(mntSource, mntTarget, package, "media", error_msg);
+            mountPkgSpecificDir(mntSource, mntTarget, package, "obb", error_msg);
+        }
+    }
+    return true;
+}
+
 // Create a private mount namespace and bind mount appropriate emulated
 // storage for the given user.
 static bool MountEmulatedStorage(uid_t uid, jint mount_mode,
-        bool force_mount_namespace, std::string* error_msg, const char* package_name) {
+        bool force_mount_namespace, std::string* error_msg, const std::string& package_name,
+        const std::vector<std::string>& packages_for_uid,
+        const std::vector<std::string>& visible_vol_ids) {
     // See storage config details at http://source.android.com/tech/storage/
 
     String8 storageSource;
@@ -459,12 +499,25 @@
                 return false;
             }
         } else {
-            if (package_name == nullptr) {
+            if (package_name.empty()) {
                 return true;
             }
-            std::string pkgSandboxDir("/mnt/user");
-            if (!createPkgSandbox(uid, package_name, pkgSandboxDir, error_msg)) {
-                return false;
+            userid_t user_id = multiuser_get_user_id(uid);
+            std::string pkgSandboxDir = StringPrintf("/mnt/user/%d/package/%s",
+                    user_id, package_name.c_str());
+            struct stat sb;
+            bool sandboxAlreadyCreated = true;
+            if (TEMP_FAILURE_RETRY(lstat(pkgSandboxDir.c_str(), &sb)) == -1) {
+                if (errno == ENOENT) {
+                    ALOGD("Sandbox not yet created for %s", pkgSandboxDir.c_str());
+                    sandboxAlreadyCreated = false;
+                    if (!createPkgSandbox(uid, package_name, error_msg)) {
+                        return false;
+                    }
+                } else {
+                    ALOGE("Failed to lstat %s", pkgSandboxDir.c_str());
+                    return false;
+                }
             }
             if (TEMP_FAILURE_RETRY(mount(pkgSandboxDir.c_str(), "/storage",
                     nullptr, MS_BIND | MS_REC | MS_SLAVE, nullptr)) == -1) {
@@ -472,6 +525,15 @@
                         pkgSandboxDir.c_str(), strerror(errno));
                 return false;
             }
+            // If the sandbox was already created by vold, only then set up the bind mounts for
+            // pkg specific directories. Otherwise, leave as is and bind mounts will be taken
+            // care of by vold later.
+            if (sandboxAlreadyCreated) {
+                if (!preparePkgSpecificDirs(packages_for_uid, visible_vol_ids,
+                        user_id, error_msg)) {
+                    return false;
+                }
+            }
         }
     } else {
         if (TEMP_FAILURE_RETRY(mount(storageSource.string(), "/storage",
@@ -611,7 +673,8 @@
                              jlong permittedCapabilities, jlong effectiveCapabilities,
                              jint mount_external, jstring java_se_info, jstring java_se_name,
                              bool is_system_server, bool is_child_zygote, jstring instructionSet,
-                             jstring dataDir, jstring packageName) {
+                             jstring dataDir, jstring packageName, jobjectArray packagesForUid,
+                             jobjectArray visibleVolIds) {
   std::string error_msg;
 
   auto fail_fn = [env, java_se_name, is_system_server](const std::string& msg)
@@ -661,17 +724,33 @@
     ALOGW("Native bridge will not be used because dataDir == NULL.");
   }
 
-  ScopedUtfChars* package_name = nullptr;
-  const char* package_name_c_str = nullptr;
+  std::string package_name_str("");
   if (packageName != nullptr) {
-    package_name = new ScopedUtfChars(env, packageName);
-    package_name_c_str = package_name->c_str();
+    ScopedUtfChars package(env, packageName);
+    package_name_str = package.c_str();
   } else if (is_system_server) {
-    package_name_c_str = "android";
+    package_name_str = "android";
+  }
+  std::vector<std::string> packages_for_uid;
+  if (packagesForUid != nullptr) {
+    jsize count = env->GetArrayLength(packagesForUid);
+    for (jsize i = 0; i < count; ++i) {
+      jstring package_for_uid = (jstring) env->GetObjectArrayElement(packagesForUid, i);
+      ScopedUtfChars package(env, package_for_uid);
+      packages_for_uid.push_back(package.c_str());
+    }
+  }
+  std::vector<std::string> visible_vol_ids;
+  if (visibleVolIds != nullptr) {
+    jsize count = env->GetArrayLength(visibleVolIds);
+    for (jsize i = 0; i < count; ++i) {
+      jstring visible_vol_id = (jstring) env->GetObjectArrayElement(visibleVolIds, i);
+      ScopedUtfChars vol(env, visible_vol_id);
+      visible_vol_ids.push_back(vol.c_str());
+    }
   }
   bool success = MountEmulatedStorage(uid, mount_external, use_native_bridge, &error_msg,
-      package_name_c_str);
-  delete package_name;
+      package_name_str, packages_for_uid, visible_vol_ids);
   if (!success) {
     ALOGW("Failed to mount emulated storage: %s (%s)", error_msg.c_str(), strerror(errno));
     if (errno == ENOTCONN || errno == EROFS) {
@@ -936,7 +1015,8 @@
         jint runtime_flags, jobjectArray rlimits,
         jint mount_external, jstring se_info, jstring se_name,
         jintArray fdsToClose, jintArray fdsToIgnore, jboolean is_child_zygote,
-        jstring instructionSet, jstring appDataDir, jstring packageName) {
+        jstring instructionSet, jstring appDataDir, jstring packageName,
+        jobjectArray packagesForUid, jobjectArray visibleVolIds) {
     jlong capabilities = 0;
 
     // Grant CAP_WAKE_ALARM to the Bluetooth process.
@@ -989,7 +1069,8 @@
       SpecializeCommon(env, uid, gid, gids, runtime_flags, rlimits,
                        capabilities, capabilities,
                        mount_external, se_info, se_name, false,
-                       is_child_zygote == JNI_TRUE, instructionSet, appDataDir, packageName);
+                       is_child_zygote == JNI_TRUE, instructionSet, appDataDir, packageName,
+                       packagesForUid, visibleVolIds);
     }
     return pid;
 }
@@ -1003,7 +1084,7 @@
       SpecializeCommon(env, uid, gid, gids, runtime_flags, rlimits,
                        permittedCapabilities, effectiveCapabilities,
                        MOUNT_EXTERNAL_DEFAULT, NULL, NULL, true,
-                       false, NULL, NULL, nullptr);
+                       false, NULL, NULL, nullptr, nullptr, nullptr);
   } else if (pid > 0) {
       // The zygote process checks whether the child process has died or not.
       ALOGI("System server process %d has been created", pid);
@@ -1084,7 +1165,7 @@
     { "nativeSecurityInit", "()V",
       (void *) com_android_internal_os_Zygote_nativeSecurityInit },
     { "nativeForkAndSpecialize",
-      "(II[II[[IILjava/lang/String;Ljava/lang/String;[I[IZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I",
+      "(II[II[[IILjava/lang/String;Ljava/lang/String;[I[IZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)I",
       (void *) com_android_internal_os_Zygote_nativeForkAndSpecialize },
     { "nativeForkSystemServer", "(II[II[[IJJ)I",
       (void *) com_android_internal_os_Zygote_nativeForkSystemServer },
diff --git a/core/proto/android/providers/settings/global.proto b/core/proto/android/providers/settings/global.proto
index f9f725a..14ed9e6 100644
--- a/core/proto/android/providers/settings/global.proto
+++ b/core/proto/android/providers/settings/global.proto
@@ -397,6 +397,9 @@
         // Ordered GPU debug layer list
         // i.e. <layer1>:<layer2>:...:<layerN>
         optional SettingProto debug_layers = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
+
+        // App will load ANGLE instead of native GLES drivers.
+        optional SettingProto angle_enabled_app = 3;
     }
     optional Gpu gpu = 59;
 
diff --git a/core/proto/android/providers/settings/secure.proto b/core/proto/android/providers/settings/secure.proto
index 6e661e1..3ead633 100644
--- a/core/proto/android/providers/settings/secure.proto
+++ b/core/proto/android/providers/settings/secure.proto
@@ -72,6 +72,9 @@
         // List of the accessibility services to which the user has granted
         // permission to put the device into touch exploration mode.
         optional SettingProto touch_exploration_granted_accessibility_services = 31;
+        optional SettingProto minimum_ui_timeout_enabled = 32 [ (android.privacy).dest = DEST_AUTOMATIC ];
+        optional SettingProto minimum_ui_timeout_ms = 33 [ (android.privacy).dest = DEST_AUTOMATIC ];
+
     }
     optional Accessibility accessibility = 2;
 
diff --git a/core/proto/android/server/activitymanagerservice.proto b/core/proto/android/server/activitymanagerservice.proto
index 9d5f0bc..ab50ad1 100644
--- a/core/proto/android/server/activitymanagerservice.proto
+++ b/core/proto/android/server/activitymanagerservice.proto
@@ -130,6 +130,13 @@
     option (.android.msg_privacy).dest = DEST_AUTOMATIC;
 
     optional bool keyguard_showing = 1;
+    repeated KeyguardOccludedProto keyguard_occluded_states= 2;
+}
+
+message KeyguardOccludedProto {
+    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+    optional int32 display_id = 1;
     optional bool keyguard_occluded = 2;
 }
 
diff --git a/core/proto/android/server/backup_chunks_metadata.proto b/core/proto/android/server/backup_chunks_metadata.proto
new file mode 100644
index 0000000..a375f02
--- /dev/null
+++ b/core/proto/android/server/backup_chunks_metadata.proto
@@ -0,0 +1,134 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+syntax = "proto2";
+package com.android.server.backup.encryption.chunk;
+
+option java_outer_classname = "ChunksMetadataProto";
+
+// Cipher type with which the chunks are encrypted. For now we only support AES/GCM/NoPadding, but
+// this is for backwards-compatibility in case we need to change the default Cipher in the future.
+enum CipherType {
+    UNKNOWN_CIPHER_TYPE = 0;
+    // Chunk is prefixed with a 12-byte nonce. The tag length is 16 bytes.
+    AES_256_GCM = 1;
+}
+
+// Checksum type with which the plaintext is verified.
+enum ChecksumType {
+    UNKNOWN_CHECKSUM_TYPE = 0;
+    SHA_256 = 1;
+}
+
+enum ChunkOrderingType {
+    CHUNK_ORDERING_TYPE_UNSPECIFIED = 0;
+    // The chunk ordering contains a list of the start position of each chunk in the encrypted file,
+    // ordered as in the plaintext file. This allows us to recreate the original plaintext file
+    // during decryption. We use this mode for full backups where the order of the data in the file
+    // is important.
+    EXPLICIT_STARTS = 1;
+    // The chunk ordering does not contain any start positions, and instead each encrypted chunk in
+    // the backup file is prefixed with its length. This allows us to decrypt each chunk but does
+    // not give any information about the order. However, we use this mode for key value backups
+    // where the order does not matter.
+    INLINE_LENGTHS = 2;
+}
+
+// Chunk entry (for local state)
+message Chunk {
+    // SHA-256 MAC of the plaintext of the chunk
+    optional bytes hash = 1;
+    // Number of bytes in encrypted chunk
+    optional int32 length = 2;
+}
+
+// List of the chunks in the blob, along with the length of each chunk. From this is it possible to
+// extract individual chunks. (i.e., start position is equal to the sum of the lengths of all
+// preceding chunks.)
+//
+// This is local state stored on the device. It is never sent to the backup server. See
+// ChunkOrdering for how the device restores the chunks in the correct order.
+// Next tag : 6
+message ChunkListing {
+    repeated Chunk chunks = 1;
+
+    // Cipher algorithm with which the chunks are encrypted.
+    optional CipherType cipher_type = 2;
+
+    // Defines the type of chunk order used to encode the backup file on the server, so that we can
+    // consistently use the same type between backups. If unspecified this backup file was created
+    // before INLINE_LENGTHS was supported, thus assume it is EXPLICIT_STARTS.
+    optional ChunkOrderingType chunk_ordering_type = 5;
+
+    // The document ID returned from Scotty server after uploading the blob associated with this
+    // listing. This needs to be sent when uploading new diff scripts.
+    optional string document_id = 3;
+
+    // Fingerprint mixer salt used for content defined chunking. This is randomly generated for each
+    // package during the initial non-incremental backup and reused for incremental backups.
+    optional bytes fingerprint_mixer_salt = 4;
+}
+
+// Ordering information about plaintext and checksum. This is used on restore to reconstruct the
+// blob in its correct order. (The chunk order is randomized so as to give the server less
+// information about which parts of the backup are changing over time.) This proto is encrypted
+// before being uploaded to the server, with a key unknown to the server.
+message ChunkOrdering {
+    // For backups where ChunksMetadata#chunk_ordering_type = EXPLICIT STARTS:
+    // Ordered start positions of chunks. i.e., the file is the chunk starting at this position,
+    // followed by the chunk starting at this position, followed by ... etc. You can compute the
+    // lengths of the chunks by sorting this list then looking at the start position of the next
+    // chunk after the chunk you care about. This is guaranteed to work as all chunks are
+    // represented in this list.
+    //
+    // For backups where ChunksMetadata#chunk_ordering_type = INLINE_LENGTHS:
+    // This field is unused. See ChunkOrderingType#INLINE_LENGTHS.
+    repeated int32 starts = 1 [packed = true];
+
+    // Checksum of plaintext content. (i.e., in correct order.)
+    //
+    // Each chunk also has a MAC, as generated by GCM, so this is NOT Mac-then-Encrypt, which has
+    // security implications. This is an additional checksum to verify that once the chunks have
+    // been reordered, that the file matches the expected plaintext. This prevents the device
+    // restoring garbage data in case of a mismatch between the ChunkOrdering and the backup blob.
+    optional bytes checksum = 2;
+}
+
+// Additional metadata about a backup blob that needs to be synced to the server. This is used on
+// restore to reconstruct the blob in its correct order. (The chunk order is randomized so as to
+// give the server less information about which parts of the backup are changing over time.) This
+// data structure is only ever uploaded to the server encrypted with a key unknown to the server.
+// Next tag : 6
+message ChunksMetadata {
+    // Cipher algorithm with which the chunk listing and chunks are encrypted.
+    optional CipherType cipher_type = 1;
+
+    // Defines the type of chunk order this metadata contains. If unspecified this backup file was
+    // created before INLINE_LENGTHS was supported, thus assume it is EXPLICIT_STARTS.
+    optional ChunkOrderingType chunk_ordering_type = 5
+    [default = CHUNK_ORDERING_TYPE_UNSPECIFIED];
+
+    // Encrypted bytes of ChunkOrdering
+    optional bytes chunk_ordering = 2;
+
+    // The type of algorithm used for the checksum of the plaintext. (See ChunkOrdering.) This is
+    // for forwards compatibility in case we change the algorithm in the future. For now, always
+    // SHA-256.
+    optional ChecksumType checksum_type = 3;
+
+    // This used to be the plaintext tertiary key. No longer used.
+    reserved 4;
+}
\ No newline at end of file
diff --git a/core/proto/android/server/usagestatsservice.proto b/core/proto/android/server/usagestatsservice.proto
new file mode 100644
index 0000000..941c81f
--- /dev/null
+++ b/core/proto/android/server/usagestatsservice.proto
@@ -0,0 +1,100 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+syntax = "proto2";
+package com.android.server.usage;
+import "frameworks/base/core/proto/android/content/configuration.proto";
+import "frameworks/base/libs/incident/proto/android/privacy.proto";
+
+option java_multiple_files = true;
+
+message IntervalStatsProto {
+  message StringPool {
+    optional int32 size = 1;
+    repeated string strings = 2;
+  }
+
+  message CountAndTime {
+    optional int32 count = 1;
+    optional int64 time_ms = 2;
+  }
+
+  // Stores the relevant information from a UsageStats
+  message UsageStats {
+    message ChooserAction {
+      message CategoryCount {
+        optional string name = 1;
+        optional int32 count = 3;
+      }
+      optional string name = 1;
+      repeated CategoryCount counts = 3;
+    }
+    optional string package = 1;
+    // package_index contains the index + 1 of the package name in the string pool
+    optional int32 package_index = 2;
+    optional int64 last_time_active_ms = 3;
+    optional int64 total_time_active_ms = 4;
+    optional int32 last_event = 5;
+    optional int32 app_launch_count = 6;
+    repeated ChooserAction chooser_actions = 7;
+  }
+
+  // Stores the relevant information an IntervalStats will have about a Configuration
+  message Configuration {
+    optional .android.content.ConfigurationProto config = 1;
+    optional int64 last_time_active_ms = 2;
+    optional int64 total_time_active_ms = 3;
+    optional int32 count = 4;
+    optional bool active = 5;
+  }
+
+  // Stores the relevant information from a UsageEvents.Event
+  message Event {
+    optional string package = 1;
+    // package_index contains the index + 1 of the package name in the string pool
+    optional int32 package_index = 2;
+    optional string class = 3;
+    // class_index contains the index + 1 of the class name in the string pool
+    optional int32 class_index = 4;
+    optional int64 time_ms = 5;
+    optional int32 flags = 6;
+    optional int32 type = 7;
+    optional .android.content.ConfigurationProto config = 8;
+    optional string shortcut_id = 9;
+    optional int32 standby_bucket = 11;
+    optional string notification_channel = 12;
+    // notification_channel_index contains the index + 1 of the channel name in the string pool
+    optional int32 notification_channel_index = 13;
+  }
+
+  // The following fields contain supplemental data used to build IntervalStats, such as a string
+  // pool.
+  optional int64 end_time_ms = 1;
+  // stringpool contains all the package and class names used by UsageStats and Event
+  // They will hold a number that is equal to the index + 1 of their string in the pool
+  optional StringPool stringpool = 2;
+
+  // The following fields contain aggregated usage stats data
+  optional CountAndTime interactive = 10;
+  optional CountAndTime non_interactive = 11;
+  optional CountAndTime keyguard_shown = 12;
+  optional CountAndTime keyguard_hidden = 13;
+
+  // The following fields contain listed usage stats data
+  repeated UsageStats packages = 20;
+  repeated Configuration configurations = 21;
+  repeated Event event_log = 22;
+}
diff --git a/core/proto/android/server/windowmanagerservice.proto b/core/proto/android/server/windowmanagerservice.proto
index 1257336..d33ea0c 100644
--- a/core/proto/android/server/windowmanagerservice.proto
+++ b/core/proto/android/server/windowmanagerservice.proto
@@ -157,6 +157,7 @@
     optional int32 rotation = 11;
     optional ScreenRotationAnimationProto screen_rotation_animation = 12;
     optional DisplayFramesProto display_frames = 13;
+    optional int32 surface_size = 14;
 }
 
 /* represents DisplayFrames */
@@ -211,6 +212,8 @@
     optional .android.graphics.RectProto bounds = 5;
     optional .android.graphics.RectProto temp_inset_bounds = 6;
     optional bool defer_removal = 7;
+    optional int32 surface_width = 8;
+    optional int32 surface_height = 9;
 }
 
 /* represents AppWindowToken */
diff --git a/core/proto/android/service/notification.proto b/core/proto/android/service/notification.proto
index 25059be..c08d7ca 100644
--- a/core/proto/android/service/notification.proto
+++ b/core/proto/android/service/notification.proto
@@ -72,7 +72,8 @@
     option (android.msg_privacy).dest = DEST_AUTOMATIC;
 
     optional int32 hint = 1;
-    repeated ManagedServiceInfoProto listeners = 2;
+    reserved 2; // ManagedServiceInfoProto listeners
+    repeated android.content.ComponentNameProto listener_components = 3;
 }
 
 message ManagedServiceInfoProto {
@@ -199,6 +200,10 @@
     optional string condition_id = 8;
     optional ConditionProto condition = 9;
     optional android.content.ComponentNameProto component = 10;
+    optional ZenPolicyProto zenPolicy = 11;
+
+    // Indicates whether this ZenRule has been modified after its initial creation
+    optional bool modified = 12 [ (android.privacy).dest = DEST_AUTOMATIC ];
 }
 
 // A dump from com.android.server.notification.ZenModeHelper.
@@ -211,3 +216,47 @@
     repeated android.content.ComponentNameProto suppressors = 4;
     optional android.app.PolicyProto policy = 5;
 }
+
+// An android.service.notification.ZenPolicy object
+message ZenPolicyProto {
+    option (android.msg_privacy).dest = DEST_AUTOMATIC;
+
+    enum State {
+        STATE_UNSET = 0;
+        STATE_ALLOW = 1;
+        STATE_DISALLOW = 2;
+    }
+
+    // Notifications and sounds allowed/disallowed when DND is active
+    optional State reminders = 1;
+    optional State events = 2;
+    optional State messages = 3;
+    optional State calls = 4;
+    optional State repeat_callers = 5;
+    optional State alarms = 6;
+    optional State media = 7;
+    optional State system = 8;
+
+    // Visual effects allowed/disallowed for intercepted notifications when DND is active
+    optional State full_screen_intent = 9;
+    optional State lights = 10;
+    optional State peek = 11;
+    optional State status_bar = 12;
+    optional State badge= 13;
+    optional State ambient = 14;
+    optional State notification_list = 15;
+
+    enum Sender {
+        SENDER_UNSET = 0;
+        // Any sender is prioritized.
+        SENDER_ANY = 1;
+        // Saved contacts are prioritized.
+        SENDER_CONTACTS = 2;
+        // Only starred contacts are prioritized.
+        SENDER_STARRED = 3;
+        // No calls/messages are prioritized.
+        SENDER_NONE = 4;
+    }
+    optional Sender priority_calls = 16;
+    optional Sender priority_messages = 17;
+}
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index f845bd0..ea92c60 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -584,7 +584,7 @@
     <protected-broadcast android:name="android.media.tv.action.PREVIEW_PROGRAM_BROWSABLE_DISABLED" />
     <protected-broadcast android:name="android.media.tv.action.WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED" />
     <protected-broadcast android:name="android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED" />
-    <protected-broadcast android:name="com.android.server.InputMethodManagerService.SHOW_INPUT_METHOD_PICKER" />
+    <protected-broadcast android:name="com.android.server.inputmethod.InputMethodManagerService.SHOW_INPUT_METHOD_PICKER" />
 
     <!-- Time zone rules update intents fired by the system server -->
     <protected-broadcast android:name="com.android.intent.action.timezone.RULES_UPDATE_OPERATION" />
@@ -615,6 +615,8 @@
     <protected-broadcast android:name="com.android.server.jobscheduler.FORCE_IDLE" />
     <protected-broadcast android:name="com.android.server.jobscheduler.UNFORCE_IDLE" />
 
+    <protected-broadcast android:name="android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL" />
+
     <!-- ====================================================================== -->
     <!--                          RUNTIME PERMISSIONS                           -->
     <!-- ====================================================================== -->
@@ -939,7 +941,6 @@
          Requesting this by itself is not sufficient to give you
          location access.
          <p>Protection level: dangerous
-         @hide
     -->
     <permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"
         android:permissionGroup="android.permission-group.LOCATION"
@@ -1184,9 +1185,9 @@
         android:priority="700" />
 
     <!-- Required to be able to access the camera device.
-         <p>This will automatically enforce the <a
-         href="{@docRoot}guide/topics/manifest/uses-feature-element.html">
-         <uses-feature>}</a> manifest element for <em>all</em> camera features.
+         <p>This will automatically enforce the
+         <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">
+         uses-feature</a> manifest element for <em>all</em> camera features.
          If you do not require all camera features or can properly operate if a camera
          is not available, then you must modify your manifest as appropriate in order to
          install on devices that don't support all camera features.</p>
@@ -3054,6 +3055,18 @@
     <permission android:name="android.permission.MANAGE_DEVICE_ADMINS"
         android:protectionLevel="signature|privileged" />
 
+    <!-- @SystemApi Allows an app to reset the device password.
+         <p>Not for use by third-party applications.
+         @hide -->
+    <permission android:name="android.permission.RESET_PASSWORD"
+        android:protectionLevel="signature|privileged" />
+
+    <!-- @SystemApi Allows an app to lock the device.
+         <p>Not for use by third-party applications.
+         @hide -->
+    <permission android:name="android.permission.LOCK_DEVICE"
+        android:protectionLevel="signature|privileged" />
+
     <!-- @SystemApi Allows low-level access to setting the orientation (actually
          rotation) of the screen.
          <p>Not for use by third-party applications.
@@ -3352,7 +3365,7 @@
           @hide
           @removed -->
     <permission android:name="android.permission.CAPTURE_SECURE_VIDEO_OUTPUT"
-        android:protectionLevel="signature" />
+        android:protectionLevel="signature|privileged" />
 
     <!-- @SystemApi Allows an application to know what content is playing and control its playback.
          <p>Not for use by third-party applications due to privacy of media consumption</p>  -->
@@ -3756,6 +3769,10 @@
     <permission android:name="android.permission.USE_BIOMETRIC_INTERNAL"
         android:protectionLevel="signature" />
 
+    <!-- Allows the system to control the BiometricDialog (SystemUI). Reserved for the system. @hide -->
+    <permission android:name="android.permission.MANAGE_BIOMETRIC_DIALOG"
+        android:protectionLevel="signature" />
+
     <!-- Allows an app to reset face authentication attempt counter. Reserved for the system. @hide -->
     <permission android:name="android.permission.RESET_FACE_LOCKOUT"
         android:protectionLevel="signature" />
@@ -4112,7 +4129,7 @@
     <!-- Allows an application to directly open the "Open by default" page inside a package's
          Details screen.
          @hide <p>Not for use by third-party applications. -->
-    <permission android:name="android.permission.OPEN_APPLICATION_DETAILS_OPEN_BY_DEFAULT_PAGE"
+    <permission android:name="android.permission.OPEN_APP_OPEN_BY_DEFAULT_SETTINGS"
                 android:protectionLevel="signature" />
 
     <!-- Allows hidden API checks to be disabled when starting a process.
@@ -4120,10 +4137,20 @@
     <permission android:name="android.permission.DISABLE_HIDDEN_API_CHECKS"
                 android:protectionLevel="signature" />
 
-    <!-- Allows an application to read emergency info name.
-         @hide <p>Not for use by third-party applications. -->
-    <permission android:name="com.android.emergency.permission.READ_EMERGENCY_INFO_NAME"
-                android:protectionLevel="signature" />
+    <!-- @hide Permission that protects the
+        {@link android.provider.Telephony.Intents#ACTION_DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL}
+        broadcast -->
+    <permission android:name="android.permission.MONITOR_DEFAULT_SMS_PACKAGE"
+        android:protectionLevel="signature" />
+
+    <!-- A subclass of {@link android.app.SmsAppService} must be protected with this permission. -->
+    <permission android:name="android.permission.BIND_SMS_APP_SERVICE"
+        android:protectionLevel="signature" />
+
+    <!-- @hide Permission that allows background clipboard access.
+         <p>Not for use by third-party applications. -->
+    <permission android:name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"
+        android:protectionLevel="signature" />
 
     <application android:process="system"
                  android:persistent="true"
@@ -4440,14 +4467,6 @@
             android:permission="android.permission.LOCATION_HARDWARE"
             android:exported="false" />
 
-        <service android:name="com.android.internal.backup.LocalTransportService"
-                android:permission="android.permission.CONFIRM_FULL_BACKUP"
-                android:exported="false">
-            <intent-filter>
-                <action android:name="android.backup.TRANSPORT_HOST" />
-            </intent-filter>
-        </service>
-
         <service android:name="com.android.server.MountServiceIdler"
                  android:exported="true"
                  android:permission="android.permission.BIND_JOB_SERVICE" >
diff --git a/core/res/res/drawable/ic_ab_back_material_settings.xml b/core/res/res/drawable/ic_ab_back_material_settings.xml
index 7325a41..938e36d 100644
--- a/core/res/res/drawable/ic_ab_back_material_settings.xml
+++ b/core/res/res/drawable/ic_ab_back_material_settings.xml
@@ -18,11 +18,12 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
         android:width="24dp"
         android:height="24dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0"
         android:autoMirrored="true"
-        android:tint="?attr/colorControlNormal">
+        android:tint="?attr/colorControlNormal"
+        android:viewportHeight="24"
+        android:viewportWidth="24">
     <path
         android:fillColor="@color/white"
-        android:pathData="M20,11H7.62l4.88,-4.88a0.996,0.996 0,1 0,-1.41 -1.41l-6.94,6.94c-0.2,0.2 -0.2,0.51 0,0.71l6.94,6.94a0.996,0.996 0,1 0,1.41 -1.41L7.62,13H20c0.55,0 1,-0.45 1,-1s-0.45,-1 -1,-1z"/>
+        android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8l8,8l1.41,-1.41L7.83,13H20V11z"/>
 </vector>
+
diff --git a/packages/SettingsLib/res/drawable/ic_info.xml b/core/res/res/drawable/ic_info.xml
similarity index 94%
rename from packages/SettingsLib/res/drawable/ic_info.xml
rename to core/res/res/drawable/ic_info.xml
index afe7e6b..f14c4b4 100644
--- a/packages/SettingsLib/res/drawable/ic_info.xml
+++ b/core/res/res/drawable/ic_info.xml
@@ -18,7 +18,7 @@
         android:height="24dp"
         android:viewportWidth="24"
         android:viewportHeight="24"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?attr/colorControlNormal">
     <path
         android:fillColor="@android:color/white"
         android:pathData="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"/>
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index c2c9254..5028150 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Probleem om Wi-Fi-oproepe by jou diensverskaffer te registreer: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi-oproep"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g>-Wi-Fi-oproepe"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN-oproep"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g>-WLAN-oproep"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g>-Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi-oproepe | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g>-VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Af"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Verkies Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Verkies mobiel"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Nie herken nie"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Vingerafdruk is gestaaf"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Gesig is gestaaf"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Gesig is gestaaf; druk asseblief bevestig"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Vingerafdrukhardeware is nie beskikbaar nie."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Vingerafdruk kan nie gestoor word nie. Verwyder asseblief \'n bestaande vingerafdruk."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Vingerafdrukuittelling is bereik. Probeer weer."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Gesiguittelling is bereik. Probeer weer."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Gesig kan nie geberg word nie."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Gesighandeling is gekanselleer."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Gesigstawing is deur gebruiker gekanselleer."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Te veel pogings. Probeer later weer."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Te veel pogings. Gesigstawingsensor is gedeaktiveer."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Probeer weer."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Kleurkorreksie"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Toeganklikheidskortpad het <xliff:g id="SERVICE_NAME">%1$s</xliff:g> aangeskakel"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Toeganklikheidskortpad het <xliff:g id="SERVICE_NAME">%1$s</xliff:g> afgeskakel"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Gebruik weer toeganklikheidskortpad om die huidige toeganklikheidskenmerk te begin"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Kies \'n kenmerk om te gebruik wanneer jy op die Toeganklikheid-knoppie tik:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Raak en hou die Toeganklikheid-knoppie om kenmerke te verander."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Vergroting"</string>
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index 45f962b..217d631 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"ከእርስዎ አገልግሎት አቅራቢ ጋር የWi‑Fi ጥሪን በማስመዝገብ ላይ ችግር፦ <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"የ%s Wi-Fi ጥሪ"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> የWi-Fi ጥሪ አደራረግ"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"የWLAN ጥሪ"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> የWLAN ጥሪ"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"የWiFi ጥሪ አደራረግ | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"ጠፍቷል"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi ተመርጧል"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"የተንቀሳቃሽ ስልክ ተመራጭ ነው"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"አልታወቀም"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"የጣት አሻራ ትክክለኛነት ተረጋግጧል"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"ፊት ተረጋግጧል"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"ፊት ተረጋግጧል፣ እባክዎ አረጋግጥን ይጫኑ"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"የጣት አሻራ ሃርድዌር አይገኝም።"</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"የጣት አሻራ ሊከማች አይችልም። እባክዎ አሁን ያለውን የጣት አሻራ ያስወግዱ።"</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"የጣት አሻራ ማብቂያ ጊዜ ደርሷል። እንደገና ይሞክሩ።"</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"የፊት ማብቂያ ጊዜ ደርሷል። እንደገና ይሞክሩ።"</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"ፊት ሊከማች አይችልም።"</string>
     <string name="face_error_canceled" msgid="283945501061931023">"የፊት ሥርዓተ ክወና ተሰርዟል።"</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"ፊትን ማረጋገጥ በተጠቃሚ ተሰርዟል።"</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"ከልክ በላይ ብዙ ሙከራዎች። በኋላ ላይ እንደገና ይሞክሩ።"</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"በጣም ብዙ ሙከራዎች። የፊት ማረጋገጫ ተሰናክሏል።"</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"እንደገና ይሞክሩ።"</string>
@@ -868,7 +875,7 @@
     <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"በፊት መክፈት።"</string>
     <string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"በፒን መክፈት።"</string>
     <string name="keyguard_accessibility_sim_pin_unlock" msgid="9149698847116962307">"የሲም ፒን ክፈት።"</string>
-    <string name="keyguard_accessibility_sim_puk_unlock" msgid="9106899279724723341">"የሲም ፒዩኬ ክፈት።"</string>
+    <string name="keyguard_accessibility_sim_puk_unlock" msgid="9106899279724723341">"የሲም PUK ክፈት።"</string>
     <string name="keyguard_accessibility_password_unlock" msgid="7675777623912155089">"በይለፍ ቃል መክፈት።"</string>
     <string name="keyguard_accessibility_pattern_area" msgid="7679891324509597904">"የስርዓተ-ጥለት አካባቢ።"</string>
     <string name="keyguard_accessibility_slide_area" msgid="6736064494019979544">"የማንሸራተቻ አካባቢ።"</string>
@@ -1582,7 +1589,7 @@
     <string name="kg_sim_unlock_progress_dialog_message" msgid="8950398016976865762">"ሲም ካርዱን በመክፈት ላይ…"</string>
     <string name="kg_password_wrong_pin_code" msgid="1139324887413846912">"ትክክል ያልሆነ ፒን ኮድ።"</string>
     <string name="kg_invalid_sim_pin_hint" msgid="8795159358110620001">"ከ4 እስከ 8 ቁጥሮች የያዘ ፒን ይተይቡ።"</string>
-    <string name="kg_invalid_sim_puk_hint" msgid="6025069204539532000">"የፒዩኬ ኮድ 8 ቁጥሮች ነው መሆን ያለበት።"</string>
+    <string name="kg_invalid_sim_puk_hint" msgid="6025069204539532000">"የPUK ኮድ 8 ቁጥሮች ነው መሆን ያለበት።"</string>
     <string name="kg_invalid_puk" msgid="3638289409676051243">"ትክክለኛውን የPUK ኮድ እንደገና ያስገቡ። ተደጋጋሚ ሙከራዎች ሲም ካርዱን እስከመጨረሻው ያሰናክሉታል።"</string>
     <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"ፒን ኮዶች አይገጣጠሙም"</string>
     <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"በጣም ብዙ የስርዓተ ጥለት ሙከራዎች"</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"የቀለም ማስተካከያ"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"የተደራሽነት አቋራጭ <xliff:g id="SERVICE_NAME">%1$s</xliff:g>ን አብርቶታል"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"የተደራሽነት አቋራጭ <xliff:g id="SERVICE_NAME">%1$s</xliff:g>ን አጥፍቶታል"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"አሁን ያለውን የተደራሽነት ባህሪ ለመጀመር እንደገና የተደራሽነት አቋራጭን ይጠቀሙ"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"የተደራሽነት አዝራርን መታ በሚያደርጉበት ጊዜ ጥቅም ላይ የሚውለውን ባህሪ ይምረጡ፦"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"ባህሪያትን ለመለወጥ የተደራሽነት አዝራሩን ይንኩ እና ይያዙት።"</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"ማጉላት"</string>
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index bbdea6a..c11279a 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -132,10 +132,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"‏حدثت مشكلة أثناء تسجيل الاتصال عبر Wi‑Fi باستخدام مشغِّل شبكة الجوّال: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"‏%s الاتصال عبر Wi-Fi"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"‏الاتصال عبر شبكة Wi-Fi التابعة لـ <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"‏مكالمة عبر شبكة WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"‏مكالمة عبر شبكة WLAN التابعة لـ <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"‏شبكة Wi-Fi التابعة لـ <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"‏الاتصال عبر شبكة WiFi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"‏شبكة VoWifi التابعة لـ <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"إيقاف"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"‏شبكة Wi-Fi مفضّلة"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"شبكة بيانات الجوال مفضَّلة"</string>
@@ -536,6 +540,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"لم يتم التعرف عليها."</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"تم مصادقة بصمة الإصبع"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"تمّت مصادقة الوجه"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"تمّت مصادقة الوجه، يُرجى الضغط على \"تأكيد\"."</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"جهاز بصمة الإصبع غير متاح."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"يتعذر تخزين بصمة الإصبع؛ يرجى إزالة إحدى البصمات المخزنة."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"تم بلوغ مهلة إدخال بصمة الإصبع. أعد المحاولة."</string>
@@ -572,6 +578,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"انتهت مهلة التعرُّف على الوجه. أعِد المحاولة."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"يتعذَّر حفظ الوجه."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"تمّ إلغاء عملية مصادقة الوجه."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"ألغَى المستخدم مصادقة الوجه."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"تمّ إجراء محاولات كثيرة. أعِد المحاولة لاحقًا."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"تمّ إجراء محاولات كثيرة. ميزة مصادقة الوجه متوقفة."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"يُرجى إعادة المحاولة."</string>
@@ -1712,6 +1719,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"تصحيح الألوان"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"شغَّل اختصار إمكانية الوصول خدمة <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"أوقف اختصار إمكانية الوصول خدمة <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"استخدِم اختصار إمكانية الوصول لبدء ميزة إمكانية الوصول الحالية."</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"يمكنك اختيار إحدى الميزات لاستخدامها عند النقر على زر إمكانية الوصول:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"لتغيير الميزات، يمكنك لمس زر \"إمكانية الوصول\" مع الاستمرار."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"التكبير"</string>
diff --git a/core/res/res/values-as/strings.xml b/core/res/res/values-as/strings.xml
index 48d44b0..5a0a7ec 100644
--- a/core/res/res/values-as/strings.xml
+++ b/core/res/res/values-as/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"আপোনাৰ বাহকৰ ওচৰত ৱাই-ফাই কলিং সুবিধা পঞ্জীয়ন কৰাত সমস্যাৰ উদ্ভৱ হৈছে: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s ৱাই- ফাই কলিং"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> ৱাই- ফাই কলিং"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN কল"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN কল"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> ৱাই-ফাই"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"ৱাই- ফাই কলিং | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"অফ হৈ আছে"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"ৱাই-ফাইক অগ্ৰাধিকাৰ দিয়া হৈছে"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"ম\'বাইলক অগ্ৰাধিকাৰ দিয়া হৈছে"</string>
@@ -308,7 +312,7 @@
     <string name="permgrouprequest_visual" msgid="6907523945030290376">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;ক আপোনাৰ ফট’ আৰু ভিডিঅ’সমূহ এক্সেছ কৰিবলৈ দিবনে?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"ৱিণ্ড\' সমল বিচাৰি উলিয়াওক"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"আপুনি যোগাযোগ কৰি থকা ৱিণ্ড\'খনৰ সমল পৰীক্ষা কৰক।"</string>
-    <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"স্পৰ্শৰদ্বাৰা অন্বেষণ কৰাৰ সুবিধা অন কৰক"</string>
+    <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"স্পৰ্শৰ দ্বাৰা অন্বেষণ কৰাৰ সুবিধা অন কৰক"</string>
     <string name="capability_desc_canRequestTouchExploration" msgid="7543249041581408313">"টেপ কৰা বস্তুসমূহ ডাঙৰকৈ কোৱা হ\'ব আৰু আঙুলিৰ স্পৰ্শেৰে নিৰ্দেশ দি স্ক্ৰীণ অন্বেষণ কৰিব পাৰিব।"</string>
     <string name="capability_title_canRequestFilterKeyEvents" msgid="2103440391902412174">"আপুনি লিখা পাঠ নিৰীক্ষণ কৰক"</string>
     <string name="capability_desc_canRequestFilterKeyEvents" msgid="7463135292204152818">"ক্ৰেডিট কাৰ্ডৰ নম্বৰ আৰু পাছৱৰ্ডৰ দৰে ব্যক্তিগত ডেটা অন্তৰ্ভুক্ত হ\'ব পাৰে।"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"চিনাক্ত কৰিব পৰা নাই"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"ফিংগাৰপ্ৰিণ্টৰ সত্যাপন কৰা হ’ল"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"মুখমণ্ডলৰ বিশ্বাসযোগ্যতা প্ৰমাণীকৰণ কৰা হ\'ল"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"মুখমণ্ডলৰ বিশ্বাসযোগ্যতা প্ৰমাণীকৰণ কৰা হ\'ল, অনুগ্ৰহ কৰি ‘নিশ্চিত কৰক’ বুটামটো টিপক"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"ফিংগাৰপ্ৰিণ্ট হাৰ্ডৱেৰ নাই।"</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"ফিংগাৰপ্ৰিণ্ট সঞ্চয় কৰিব পৰা নগ\'ল। পূর্বে সঞ্চিত ফিংগাৰপ্ৰিণ্ট এটা আঁতৰাওক।"</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"ফিংগাৰপ্ৰিণ্ট গ্ৰহণৰ সময়সীমা উকলি গৈছে। আকৌ চেষ্টা কৰক।"</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"মুখমণ্ডল গ্ৰহণৰ সময়সীমা উকলি গৈছে। আকৌ চেষ্টা কৰক।"</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"মুখমণ্ডল সঞ্চয় কৰিব নোৱাৰি।"</string>
     <string name="face_error_canceled" msgid="283945501061931023">"মুখমণ্ডলৰ প্ৰক্ৰিয়া বাতিল কৰা হ’ল।"</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"ব্যৱহাৰকাৰীয়ে মুখমণ্ডলৰ বিশ্বাসযোগ্যতা প্ৰমাণীকৰণ বাতিল কৰিছে।"</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"অত্যধিক ভুল প্ৰয়াস। কিছুসময়ৰ পাছত আকৌ চেষ্টা কৰক।"</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"অত্যধিক প্ৰয়াস। মুখমণ্ডলৰ জৰিয়তে সত্যাপন অক্ষম কৰা হ’ল।"</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"আকৌ চেষ্টা কৰক।"</string>
@@ -1404,7 +1411,7 @@
     <string name="forward_intent_to_work" msgid="621480743856004612">"আপুনি আপোনাৰ কৰ্মস্থানৰ প্ৰ\'ফাইলৰ ভিতৰত এই এপটো ব্যৱহাৰ কৰি আছে"</string>
     <string name="input_method_binding_label" msgid="1283557179944992649">"ইনপুট পদ্ধতি"</string>
     <string name="sync_binding_label" msgid="3687969138375092423">"ছিংক"</string>
-    <string name="accessibility_binding_label" msgid="4148120742096474641">"সাধ্য় সুবিধাসমূহ"</string>
+    <string name="accessibility_binding_label" msgid="4148120742096474641">"সাধ্য সুবিধাসমূহ"</string>
     <string name="wallpaper_binding_label" msgid="1240087844304687662">"ৱালপেপাৰ"</string>
     <string name="chooser_wallpaper" msgid="7873476199295190279">"ৱালপেপাৰ সলনি কৰক"</string>
     <string name="notification_listener_binding_label" msgid="2014162835481906429">"জাননী নিৰীক্ষক"</string>
@@ -1617,6 +1624,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"ৰং শুধৰণী"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"দিব্যাংগসকলৰ সুবিধাৰ শ্বৰ্টকাটটোৱে <xliff:g id="SERVICE_NAME">%1$s</xliff:g>ক অন কৰিছে"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"দিব্যাংগসকলৰ সুবিধাৰ শ্বৰ্টকাটটোৱে <xliff:g id="SERVICE_NAME">%1$s</xliff:g>ক অফ কৰিছে"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"বর্তমানৰ সাধ্য সুবিধাসমূহৰ আৰম্ভ কৰিবলৈ সাধ্য সুবিধাসমূহৰ শ্বৰ্টকাট পুনৰ ব্যৱহাৰ কৰক"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"আপুনি দিব্যাংগসকলৰ সুবিধাৰ বুটামটো টিপিলে ব্যৱহাৰ কৰিবলগীয়া কোনো সুবিধা বাছক:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"সুবিধাসমূহ সলনি কৰিবলৈ দিব্যাংগসকলৰ সুবিধাৰ বুটামটো স্পৰ্শ কৰি থাকক।"</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"বিবৰ্ধন"</string>
diff --git a/core/res/res/values-az/strings.xml b/core/res/res/values-az/strings.xml
index 44bcd56..af65bbb 100644
--- a/core/res/res/values-az/strings.xml
+++ b/core/res/res/values-az/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Operatorla Wi‑Fi zənglərini qeydə alarkən xəta baş verdi: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi Zəngi"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi Zəngi"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN Zəngi"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN Zəngi"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"WiFi Zəngi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Deaktiv"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi tərcih edilir"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Mobil tərcih"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Tanınmır"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Barmaq izi doğrulandı"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Üz doğrulandı"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Üz təsdiq edildi, təsdiq düyməsinə basın"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Barmaq izi üçün avadanlıq yoxdur."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Barmaq izi saxlana bilməz. Lütfən, mövcud barmaq izini silin."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Barmaq izinin vaxtı başa çatdı. Yenidən cəhd edin."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Üz proqramı taymerinin vaxtı bitdi. Yenidən cəhd edin."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Üz bərpa edilmədi."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Üz əməliyyatı ləğv edildi."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Üz dorğulaması istifadəçi tərəfindən ləğv edildi."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Həddindən çox cəhd. Sonraya saxlayın."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Həddindən çox cəhd. Üz identifikasiyası deaktiv edildi."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Yenidən cəhd edin."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Rəng korreksiyası"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Əlçatımlıq Qısayolu <xliff:g id="SERVICE_NAME">%1$s</xliff:g> xidmətini aktiv etdi"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Əlçatımlıq Qısayolu <xliff:g id="SERVICE_NAME">%1$s</xliff:g> xidmətini deaktiv etdi"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Cari əlçatımlılıq funksiyasını yenidən başlatmaq üçün Əlçatımlılıq Qısayolundan istifadə edin"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Əlçatımlılıq düyməsinə kliklədikdə istifadə etmək üçün funksiya seçin:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Funksiyaları dəyişmək üçün Əlçatımlılıq düyməsinə basıb saxlayın."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Böyütmə"</string>
diff --git a/core/res/res/values-b+sr+Latn/strings.xml b/core/res/res/values-b+sr+Latn/strings.xml
index 260f63e..805082a 100644
--- a/core/res/res/values-b+sr+Latn/strings.xml
+++ b/core/res/res/values-b+sr+Latn/strings.xml
@@ -129,10 +129,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Problem u vezi sa registrovanjem pozivanja preko Wi‑Fi-ja kod mobilnog operatera: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Wi-Fi pozivanje preko operatera %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> pozivanje preko Wi-Fi-ja"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN poziv"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN poziv"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Pozivanje preko Wi-Fi-ja | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Isključeno"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Prednost ima Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Želim mobilne podatke"</string>
@@ -527,6 +531,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Nije prepoznato"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Otisak prsta je potvrđen"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Lice je potvrđeno"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Lice je potvrđeno. Pritisnite Potvrdi"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Hardver za otiske prstiju nije dostupan."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Nije moguće sačuvati otisak prsta. Uklonite neki od postojećih otisaka prstiju."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Vremensko ograničenje za otisak prsta je isteklo. Probajte ponovo."</string>
@@ -563,6 +569,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Isteklo je vreme za proveru lica. Probajte ponovo."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Nije moguće sačuvati lice."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Obrada lica je otkazana."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Korisnik je otkazao potvrdu lica."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Previše pokušaja. Probajte ponovo kasnije."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Više pokušaja. Potvrda identiteta je onemogućena."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Probajte ponovo."</string>
@@ -1640,6 +1647,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Korekcija boja"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Prečica za pristupačnost je uključila uslugu <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Prečica za pristupačnost je isključila uslugu <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Upotrebite ponovo prečicu za pristupačnost da biste pokrenuli aktuelnu funkciju pristupačnosti"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Izaberite funkciju koja će se koristiti kada dodirnete dugme za pristupačnost:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Pritisnite i zadržite dugme za pristupačnost da biste menjali funkcije."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Uvećanje"</string>
diff --git a/core/res/res/values-be/strings.xml b/core/res/res/values-be/strings.xml
index 3d46662..7692220 100644
--- a/core/res/res/values-be/strings.xml
+++ b/core/res/res/values-be/strings.xml
@@ -130,10 +130,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Памылка падключэння Wi‑Fi-тэлефаніі ў вашага аператара: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Wi-Fi-тэлефанія %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Wi-Fi-тэлефанія ад <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Выклік праз WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Выклік праз WLAN ад <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi ад <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi-тэлефанія | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWi-Fi ад <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Выкл."</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Прыярытэт Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Прыярытэт мабільнай сеткі"</string>
@@ -530,6 +534,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Не распазнана"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Адбітак пальца распазнаны"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Твар распазнаны"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Твар распазнаны. Націсніце, каб пацвердзіць"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Апаратныя сродкі адбіткаў пальцаў недаступныя."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Адбіткі пальцаў нельга захаваць. Выдаліце існы адбітак."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Час чакання адбіткаў пальцаў выйшаў. Паспрабуйце яшчэ раз."</string>
@@ -566,6 +572,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Час чакання твару выйшаў. Паўтарыце спробу."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Не ўдалося захаваць твар."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Распазнаванне твару скасавана."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Распазнаванне твару скасавана карыстальнікам."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Занадта шмат спроб. Паўтарыце спробу пазней."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Занадта шмат спроб. Аўтэнтыфікацыя твару адключана"</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Паўтарыце спробу."</string>
@@ -1664,6 +1671,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Карэкцыя колеру"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"<xliff:g id="SERVICE_NAME">%1$s</xliff:g> быў уключаны з дапамогай камбінацыі хуткага доступу для спецыяльных магчымасцей"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"<xliff:g id="SERVICE_NAME">%1$s</xliff:g> быў адключаны з дапамогай камбінацыі хуткага доступу для спецыяльных магчымасцей"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Каб запусціць функцыю спецыяльных магчымасцей, паўторна скарыстайце ярлык спецыяльных магчымасцей"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Выберыце функцыю для выкарыстання пры націску кнопкі \"Спецыяльныя магчымасці\":"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Каб змяняць функцыі, краніце і ўтрымлівайце кнопку \"Спецыяльныя магчымасці\"."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Павелічэнне"</string>
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index e9ecba6..33c4898 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"При регистрирането на функцията за обаждания през Wi-Fi с оператора ви възникна грешка: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s – обаждания през Wi-Fi"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Обаждания през Wi-Fi от <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Обаждане през WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Обаждане през WLAN от <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi от <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Обаждания през Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWi-Fi от <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Изключено"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Предпочита се Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Предпочитат се мобилни данни"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Не е разпознато"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Отпечатъкът е удостоверен"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Лицето е удостоверено"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Лицето е удостоверено. Моля, натиснете „Потвърждаване“"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Хардуерът за отпечатъци не е налице."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Отпечатъкът не може да бъде съхранен. Моля, премахнете съществуващ."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Времето за изчакване за отпечатък изтече. Опитайте отново."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Времето за изчакване изтече. Опитайте отново."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Лицето не може да бъде съхранено."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Операцията с лице е анулирана."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Удостоверяв. на лицето е анулирано от потребителя."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Твърде много опити. Опитайте отново по-късно."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Твърде много опити. Удост. с лице е деактивирано."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Опитайте отново."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Коригиране на цветовете"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Прекият път за достъпност включи <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Прекият път за достъпност изключи <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Използвайте отново прекия път към функцията за достъпност, за да стартирате текущата"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Изберете функция, която да използвате, когато докоснете бутона за достъпност:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"За да промените функции, докоснете и задръжте бутона за достъпност."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Ниво на мащаба"</string>
diff --git a/core/res/res/values-bn/strings.xml b/core/res/res/values-bn/strings.xml
index 4ece21b..f0787b4 100644
--- a/core/res/res/values-bn/strings.xml
+++ b/core/res/res/values-bn/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"পরিষেবা প্রদানকারীতে ওয়াই-ফাই কলিং রেজিস্টার করতে সমস্যা হয়েছে: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s ওয়াই-ফাই কলিং"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> ওয়াই-ফাই কলিং"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN কল"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN কল"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> ওয়াই-ফাই"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"ওয়াই-ফাই কলিং | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"বন্ধ আছে"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"পছন্দের ওয়াই-ফাই"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"পছন্দের মোবাইল"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"স্বীকৃত নয়"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"আঙ্গুলের ছাপ যাচাই করা হয়েছে"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"ফেস যাচাই করা হয়েছে"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"ফেস যাচাই করা হয়েছে, \'কনফার্ম করুন\' বোতাম প্রেস করুন"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"আঙ্গুলের ছাপ নেওয়ার হার্ডওয়্যার অনুপলব্ধ৷"</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"আঙ্গুলের ছাপ সংরক্ষণ করা যাবে না৷ অনুগ্রহ করে একটি বিদ্যমান আঙ্গুলের ছাপ সরান৷"</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"আঙ্গুলের ছাপ নেওয়ার সময়সীমা শেষ হযেছে৷ আবার চেষ্টা করুন৷"</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"ফেসের ছাপ নেওয়ার সময়সীমা শেষ৷ আবার চেষ্টা করুন৷"</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"ফেস স্টোর করা যাবে না।"</string>
     <string name="face_error_canceled" msgid="283945501061931023">"ফেস অপারেশন বাতিল করা হয়েছে৷"</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"ফেস যাচাইকরণ ব্যবহারকারীর দ্বারা বাতিল করা হয়েছে।"</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"অনেকবার চেষ্টা করা হয়েছে। পরে আবার চেষ্টা করুন।"</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"অনেকবার চেষ্টা করা হয়েছে৷ ফেস যাচাইকরণ বন্ধ আছে।"</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"আবার চেষ্টা করুন।"</string>
@@ -1617,6 +1624,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"রঙ সংশোধন"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"অ্যাক্সেসযোগ্যতা শর্টকাট <xliff:g id="SERVICE_NAME">%1$s</xliff:g> কে চালু করেছে"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"অ্যাক্সেসযোগ্যতা শর্টকাট <xliff:g id="SERVICE_NAME">%1$s</xliff:g> কে বন্ধ করেছে"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"বর্তমান অ্যাক্সেসিবিলিটি বৈশিষ্ট্য শুরু করার জন্য অ্যাক্সেসিবিলিটি শর্টকাটটি আবার ব্যবহার করুন"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"অ্যাক্সেসযোগ্যতা বোতামের সাহায্যে যে বৈশিষ্ট্যটি নিয়ন্ত্রণ করতে চান, সেটি বেছে নিন:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"বৈশিষ্ট্যগুলি পরিবর্তন করতে অ্যাক্সেসযোগ্যতা বোতামটি ট্যাপ করে ধরে রাখুন।"</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"বড় করে দেখা"</string>
diff --git a/core/res/res/values-bs/strings.xml b/core/res/res/values-bs/strings.xml
index 918ecf9..e210d90e 100644
--- a/core/res/res/values-bs/strings.xml
+++ b/core/res/res/values-bs/strings.xml
@@ -129,10 +129,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Došlo je do problema prilikom registracije pozivanja putem WiFi mreže kod vašeg operatera: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Pozivanje putem WiFi-ja preko operatera %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Pozivanje putem WiFi-ja"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN poziv"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN poziv"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> WiFi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Pozivanje putem WiFi-ja | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Isključeno"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Preferira se WiFi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Preferira se mobilna mreža"</string>
@@ -527,6 +531,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Nije prepoznato"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Otisak prsta je potvrđen"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Lice je provjereno"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Lice je provjereno, pritisnite dugme za potvrdu"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Hardver za otisak prsta nije dostupan."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Otisak prsta se ne može pohraniti. Uklonite postojeći otisak prsta."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Vrijeme za prepoznavanje otiska prsta je isteklo. Pokušajte ponovo."</string>
@@ -563,6 +569,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Vrijeme za prepoznavanje lica je isteklo. Pokušajte ponovo."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Nije moguće pohraniti lice."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Prepoznavanje lica je otkazano."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Korisnik je otkazao provjeru lica."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Previše pokušaja. Pokušajte ponovo kasnije."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Previše pokušaja. Autentifikacija lica onemogućena."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Pokušajte ponovo."</string>
@@ -1642,6 +1649,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Ispravka boja"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Prečica za pristupačnost je uključila uslugu <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Prečica za pristupačnost je isključila uslugu <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Ponovo koristite Prečicu za pristupačnost da započnete trenutnu funkciju pristupačnosti"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Odaberite funkciju koja će se koristiti kada dodirnete dugme Pristupačnost:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Da promijenite funkcije, dodirnite i držite dugme Pristupačnost."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Uvećanje"</string>
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index f6c46ba..b1d4994 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Hi ha hagut un problema en registrar les trucades per Wi-Fi amb el teu operador de telefonia mòbil: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Trucades per Wi-Fi %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Trucades per Wi‑Fi (<xliff:g id="SPN">%s</xliff:g>)"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Trucada per WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Trucada per WLAN (<xliff:g id="SPN">%s</xliff:g>)"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi‑Fi (<xliff:g id="SPN">%s</xliff:g>)"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Trucades per Wi‑Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWifi (<xliff:g id="SPN">%s</xliff:g>)"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Desactivat"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Preferència per la Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Preferència per dades mòbils"</string>
@@ -295,7 +299,7 @@
     <string name="permgroupdesc_calllog" msgid="3006237336748283775">"llegir i editar el registre de trucades del telèfon"</string>
     <string name="permgrouprequest_calllog" msgid="8487355309583773267">"Vols permetre que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; accedeixi als registres de trucades del telèfon?"</string>
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telèfon"</string>
-    <string name="permgroupdesc_phone" msgid="6234224354060641055">"fer i gestionar trucades telefòniques"</string>
+    <string name="permgroupdesc_phone" msgid="6234224354060641055">"fer i gestionar trucades"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Vols permetre que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; faci trucades i les gestioni?"</string>
     <string name="permgrouplab_sensors" msgid="416037179223226722">"Sensors corporals"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"accedir a les dades del sensor sobre els signes vitals"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"No s\'ha reconegut"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"L\'empremta digital s\'ha autenticat"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Cara autenticada"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Cara autenticada; prem el botó per confirmar"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"El maquinari per a empremtes digitals no està disponible."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"L\'empremta digital no es pot desar. Suprimeix-ne una."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"S\'ha esgotat el temps d\'espera per a l\'empremta digital. Torna-ho a provar."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"S\'ha esgotat el temps d\'espera. Torna-ho a provar."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"La cara no es pot desar."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"S\'ha cancel·lat el reconeixement facial."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Autenticació facial cancel·lada per l\'usuari."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Massa intents. Torna-ho a provar més tard."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Massa intents. Autenticació facial desactivada."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Torna-ho a provar."</string>
@@ -804,8 +811,8 @@
     <string name="lockscreen_missing_sim_instructions_long" msgid="3526573099019319472">"Falta la targeta SIM o no es pot llegir. Insereix-ne una."</string>
     <string name="lockscreen_permanent_disabled_sim_message_short" msgid="5096149665138916184">"Targeta SIM no utilitzable."</string>
     <string name="lockscreen_permanent_disabled_sim_instructions" msgid="910904643433151371">"La targeta SIM està desactivada permanentment.\n Contacta amb el teu proveïdor de serveis sense fil per obtenir-ne una altra."</string>
-    <string name="lockscreen_transport_prev_description" msgid="6300840251218161534">"Ruta anterior"</string>
-    <string name="lockscreen_transport_next_description" msgid="573285210424377338">"Ruta següent"</string>
+    <string name="lockscreen_transport_prev_description" msgid="6300840251218161534">"Pista anterior"</string>
+    <string name="lockscreen_transport_next_description" msgid="573285210424377338">"Pista següent"</string>
     <string name="lockscreen_transport_pause_description" msgid="3980308465056173363">"Posa en pausa"</string>
     <string name="lockscreen_transport_play_description" msgid="1901258823643886401">"Reprodueix"</string>
     <string name="lockscreen_transport_stop_description" msgid="5907083260651210034">"Atura"</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Correcció del color"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"La drecera d\'accessibilitat ha activat <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"La drecera d\'accessibilitat ha desactivat <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Torna a utilitzar la drecera d\'accessibilitat per iniciar la funció d\'accessibilitat actual"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Tria la funció que s\'utilitzarà quan toquis el botó Accessibilitat:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Per canviar les funcions, toca i mantén premut el botó Accessibilitat."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Ampliació"</string>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index e882f42..a537d6d 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -130,10 +130,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Při registraci volání přes Wi-Fi u operátora <xliff:g id="CODE">%1$s</xliff:g> došlo k chybě"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Volání přes Wi-Fi: %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g>: volání přes Wi-Fi"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Volání přes WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g>: volání přes WLAN"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g>: Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Volání přes Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g>: VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Vypnuto"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Preferována síť W-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Preferována mobilní data"</string>
@@ -530,6 +534,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Nerozpoznáno"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Otisk byl ověřen"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Obličej byl ověřen"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Obličej byl ověřen, stiskněte tlačítko pro potvrzení"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Není k dispozici hardware ke snímání otisků prstů."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Otisk prstu nelze uložit. Odstraňte existující otisk prstu."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Časový limit sejmutí otisku prstu vypršel. Zkuste to znovu."</string>
@@ -566,6 +572,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Limit ověření obličeje vypršel. Zkuste to znovu."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Obličej nelze uložit."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Operace snímání obličeje byla zrušena."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Ověření obličeje bylo zrušeno uživatelem."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Příliš mnoho pokusů. Zkuste to později."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Příliš mnoho pokusů. Ověření obličeje je zakázáno."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Zkuste to znovu."</string>
@@ -1664,6 +1671,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Oprava barev"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Zkratka přístupnosti zapnula službu <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Zkratka přístupnosti vypnula službu <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Znovu použijte zkratku přístupnosti, čímž spustíte aktuální funkci pro usnadnění přístupu"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Určete, jakou funkci aktivujete klepnutím na tlačítko Přístupnost:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Chcete-li vybrat jinou funkci, podržte tlačítko Přístupnost."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Zvětšení"</string>
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index 9a793a8..28c08b1 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Der opstod et problem under registrering af Wi-Fi-opkald hos dit mobilselskab: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi-opkald"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Wi-Fi-opkald via <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN-opkald"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"WLAN-opkald via <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi via <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi-opkald | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWifi via <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Fra"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"WiFi-netværk er foretrukket"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Mobildata foretrækkes"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Ikke genkendt"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Fingeraftrykket blev godkendt"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Ansigtet er godkendt"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Ansigtet er godkendt. Tryk på Bekræft."</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Hardwaren til fingeraftryk er ikke tilgængelig."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Fingeraftrykket kan ikke gemmes. Fjern et eksisterende fingeraftryk."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Registrering af fingeraftryk fik timeout. Prøv igen."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Ansigtsgenkendelse fik timeout. Prøv igen."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Ansigtet kan ikke gemmes."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Ansigtshandlingen blev annulleret."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Ansigtsgodkendelsen blev annulleret af brugeren."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Du har prøvet for mange gange. Prøv igen senere."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"For mange forsøg – Ansigtsgenkendelse deaktiveret."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Prøv igen."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Korriger farve"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Genvejen til hjælpefunktioner aktiverede <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Genvejen til hjælpefunktioner deaktiverede <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Brug Genvej til hjælpefunktioner for at starte den aktuelle hjælpefunktion"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Vælg, hvilken funktion du vil bruge, når du trykker på knappen Hjælpefunktioner:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Tryk på knappen Hjælpefunktioner, og hold fingeren nede for at skifte funktioner."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Forstørrelse"</string>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index 8eb0eb8..4a2efbd 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Probleme beim Registrieren der WLAN-Telefonie bei deinem Mobilfunkanbieter: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s WLAN-Telefonie"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> WLAN-Telefonie"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN-Anruf"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN-Anruf"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> WLAN"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"WLAN-Telefonie | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWLAN"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Aus"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"WLAN bevorzugt"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Mobilverbindung bevorzugt"</string>
@@ -150,7 +154,7 @@
     <string name="httpErrorAuth" msgid="1435065629438044534">"Bei der Authentifizierung ist ein Fehler aufgetreten."</string>
     <string name="httpErrorProxyAuth" msgid="1788207010559081331">"Authentifizierung via Proxyserver ist fehlgeschlagen."</string>
     <string name="httpErrorConnect" msgid="8714273236364640549">"Verbindung zum Server konnte nicht hergestellt werden."</string>
-    <string name="httpErrorIO" msgid="2340558197489302188">"Kommunikation mit dem Server konnte nicht hergestellt werden. Bitte versuche es später erneut."</string>
+    <string name="httpErrorIO" msgid="2340558197489302188">"Kommunikation mit dem Server konnte nicht hergestellt werden. Bitte versuche es später noch einmal."</string>
     <string name="httpErrorTimeout" msgid="4743403703762883954">"Zeitüberschreitung bei Serververbindung."</string>
     <string name="httpErrorRedirectLoop" msgid="8679596090392779516">"Die Seite enthält zu viele Server-Redirects."</string>
     <string name="httpErrorUnsupportedScheme" msgid="5015730812906192208">"Das Protokoll wird nicht unterstützt."</string>
@@ -158,7 +162,7 @@
     <string name="httpErrorBadUrl" msgid="3636929722728881972">"Die Seite kann nicht geöffnet werden, weil die URL ungültig ist."</string>
     <string name="httpErrorFile" msgid="2170788515052558676">"Auf die Datei konnte nicht zugegriffen werden."</string>
     <string name="httpErrorFileNotFound" msgid="6203856612042655084">"Die angeforderte Datei wurde nicht gefunden."</string>
-    <string name="httpErrorTooManyRequests" msgid="1235396927087188253">"Es werden zurzeit zu viele Anfragen verarbeitet. Versuche es später erneut."</string>
+    <string name="httpErrorTooManyRequests" msgid="1235396927087188253">"Es werden zurzeit zu viele Anfragen verarbeitet. Bitte versuche es später noch einmal."</string>
     <string name="notification_title" msgid="8967710025036163822">"Fehler bei Anmeldung für <xliff:g id="ACCOUNT">%1$s</xliff:g>"</string>
     <string name="contentServiceSync" msgid="8353523060269335667">"Synchronisierung"</string>
     <string name="contentServiceSyncNotificationTitle" msgid="7036196943673524858">"Synchronisierung nicht möglich"</string>
@@ -515,23 +519,25 @@
     <string name="permlab_mediaLocation" msgid="8675148183726247864">"Standorte aus meiner Mediensammlung abrufen"</string>
     <string name="permdesc_mediaLocation" msgid="2237023389178865130">"Ermöglicht der App, Standorte aus deiner Mediensammlung abzurufen."</string>
     <string name="biometric_error_hw_unavailable" msgid="645781226537551036">"Biometrische Hardware nicht verfügbar"</string>
-    <string name="fingerprint_acquired_partial" msgid="735082772341716043">"Fingerabdruck teilweise erkannt. Versuche es erneut."</string>
-    <string name="fingerprint_acquired_insufficient" msgid="4596546021310923214">"Fingerabdruck konnte nicht verarbeitet werden. Versuche es erneut."</string>
-    <string name="fingerprint_acquired_imager_dirty" msgid="1087209702421076105">"Fingerabdrucksensor ist verschmutzt. Reinige ihn und versuche es erneut."</string>
-    <string name="fingerprint_acquired_too_fast" msgid="6470642383109155969">"Finger zu schnell bewegt. Versuche es erneut."</string>
-    <string name="fingerprint_acquired_too_slow" msgid="59250885689661653">"Finger zu langsam bewegt. Versuche es erneut."</string>
+    <string name="fingerprint_acquired_partial" msgid="735082772341716043">"Fingerabdruck teilweise erkannt. Bitte versuche es noch einmal."</string>
+    <string name="fingerprint_acquired_insufficient" msgid="4596546021310923214">"Fingerabdruck konnte nicht verarbeitet werden. Bitte versuche es noch einmal."</string>
+    <string name="fingerprint_acquired_imager_dirty" msgid="1087209702421076105">"Fingerabdrucksensor ist verschmutzt. Reinige ihn und versuche es noch einmal."</string>
+    <string name="fingerprint_acquired_too_fast" msgid="6470642383109155969">"Finger zu schnell bewegt. Bitte versuche es noch einmal."</string>
+    <string name="fingerprint_acquired_too_slow" msgid="59250885689661653">"Finger zu langsam bewegt. Bitte versuche es noch einmal."</string>
   <string-array name="fingerprint_acquired_vendor">
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Nicht erkannt"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Fingerabdruck wurde authentifiziert"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Gesicht authentifiziert"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Gesicht authentifiziert, bitte bestätigen"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Fingerabdruckhardware nicht verfügbar"</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Fingerabdruck kann nicht gespeichert werden. Entferne einen vorhandenen Fingerabdruck."</string>
-    <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Zeitüberschreitung für Fingerabdruck. Versuche es erneut."</string>
+    <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Zeitüberschreitung für Fingerabdruck. Bitte versuche es noch einmal."</string>
     <string name="fingerprint_error_canceled" msgid="4402024612660774395">"Fingerabdruckvorgang abgebrochen"</string>
     <string name="fingerprint_error_user_canceled" msgid="7999639584615291494">"Vorgang der Fingerabdruckauthentifizierung vom Nutzer abgebrochen."</string>
-    <string name="fingerprint_error_lockout" msgid="5536934748136933450">"Zu viele Versuche. Versuche es später erneut."</string>
+    <string name="fingerprint_error_lockout" msgid="5536934748136933450">"Zu viele Versuche. Bitte versuche es später noch einmal."</string>
     <string name="fingerprint_error_lockout_permanent" msgid="5033251797919508137">"Zu viele Versuche. Der Fingerabdrucksensor wurde deaktiviert."</string>
-    <string name="fingerprint_error_unable_to_process" msgid="6107816084103552441">"Bitte versuche es erneut."</string>
+    <string name="fingerprint_error_unable_to_process" msgid="6107816084103552441">"Bitte versuche es noch einmal."</string>
     <string name="fingerprint_error_no_fingerprints" msgid="7654382120628334248">"Keine Fingerabdrücke erfasst."</string>
     <string name="fingerprint_error_hw_not_present" msgid="5729436878065119329">"Dieses Gerät hat keinen Fingerabdrucksensor"</string>
     <string name="fingerprint_name_template" msgid="5870957565512716938">"Finger <xliff:g id="FINGERID">%d</xliff:g>"</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Zeitüberschreitung für Gesicht. Versuch es erneut."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Gesicht kann nicht gespeichert werden."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Gesichtserkennung abgebrochen."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Gesichtsauthentifizierung vom Nutzer abgebrochen."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Zu viele Versuche. Versuch es später noch einmal."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Zu viele Versuche. Gesichtserkennung deaktiviert."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Versuch es noch einmal."</string>
@@ -1085,7 +1092,7 @@
     <string name="view_flight" msgid="7691640491425680214">"Verfolgen"</string>
     <string name="view_flight_desc" msgid="3876322502674253506">"Ausgewählten Flug verfolgen"</string>
     <string name="low_internal_storage_view_title" msgid="5576272496365684834">"Der Speicherplatz wird knapp"</string>
-    <string name="low_internal_storage_view_text" msgid="6640505817617414371">"Einige Systemfunktionen funktionieren möglicherweise nicht."</string>
+    <string name="low_internal_storage_view_text" msgid="6640505817617414371">"Einige Systemfunktionen funktionieren eventuell nicht."</string>
     <string name="low_internal_storage_view_text_no_boot" msgid="6935190099204693424">"Der Speicherplatz reicht nicht für das System aus. Stelle sicher, dass 250 MB freier Speicherplatz vorhanden sind, und starte das Gerät dann neu."</string>
     <string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> wird ausgeführt"</string>
     <string name="app_running_notification_text" msgid="1197581823314971177">"Für weitere Informationen oder zum Beenden der App tippen."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Farbkorrektur"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"<xliff:g id="SERVICE_NAME">%1$s</xliff:g> wurde durch die Bedienungshilfenverknüpfung aktiviert"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"<xliff:g id="SERVICE_NAME">%1$s</xliff:g> wurde durch die Bedienungshilfenverknüpfung deaktiviert"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Verwende noch einmal die Verknüpfung für Bedienungshilfen, um die aktuelle Bedienungshilfe zu starten."</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Wähle eine Funktion aus, die verwendet wird, wenn du auf die Schaltfläche für die Bedienungshilfen tippst:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Um die Funktionen zu ändern, halte die Schaltfläche für die Bedienungshilfen gedrückt."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Vergrößerung"</string>
@@ -1723,7 +1731,7 @@
     <string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Neue PIN"</string>
     <string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Neue PIN bestätigen"</string>
     <string name="restr_pin_create_pin" msgid="8017600000263450337">"PIN für das Ändern von Einschränkungen erstellen"</string>
-    <string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Die PINs stimmen nicht überein. Bitte versuche es erneut."</string>
+    <string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Die PINs stimmen nicht überein. Bitte versuche es noch einmal."</string>
     <string name="restr_pin_error_too_short" msgid="8173982756265777792">"Die PIN ist zu kurz. Sie muss mindestens 4 Ziffern umfassen."</string>
     <plurals name="restr_pin_countdown" formatted="false" msgid="9061246974881224688">
       <item quantity="other">In <xliff:g id="COUNT">%d</xliff:g> Sek. wiederholen</item>
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index 3a50f9e..04b9749 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Παρουσιάστηκε πρόβλημα με την εγγραφή της κλήσης Wi‑Fi με την εταιρεία κινητής τηλεφωνίας: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Κλήση Wi-Fi"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Κλήση Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Κλήση μέσω WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Κλήση μέσω WLAN <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Κλήση Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Ανενεργό"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Προτίμηση Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Προτίμηση δικτύου κινητής τηλεφωνίας"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Δεν αναγνωρίστηκε"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Η ταυτότητα του δακτυλικού αποτυπώματος ελέγχθηκε"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Έγινε έλεγχος ταυτότητας προσώπου"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Έγινε έλεγχος ταυτότητας προσώπου, πατήστε \"Επιβεβαίωση\""</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Ο εξοπλισμός μοναδικού χαρακτηριστικού δεν είναι διαθέσιμος."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Δεν είναι δυνατή η αποθήκευση μοναδικού χαρακτηριστικού. Καταργήστε το υπάρχον μοναδικό χαρακτηριστικό."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Λήξη χρονικού ορίου μοναδικού χαρακτηριστικού. Δοκιμάστε ξανά."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Λήξη χρονικού ορίου προσώπου. Δοκιμάστε ξανά."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Δεν είναι δυνατή η αποθήκευση του προσώπου."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Η ενέργεια προσώπου ακυρώθηκε."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Ο έλεγχος ταυτότητας προσώπου ακυρώθηκε από τον χρήστη."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Πάρα πολλές προσπάθειες. Δοκιμάστε ξανά αργότερα."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Πολλές προσπάθειες. Αποτυχία ελέγ. ταυτ. προσώπου."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Δοκιμάστε ξανά."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Διόρθωση χρωμάτων"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Η συντόμευση προσβασιμότητας ενεργοποίησε την υπηρεσία <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Η συντόμευση προσβασιμότητας απενεργοποίησε την υπηρεσία <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Χρησιμοποιήστε τη Συντόμευση προσβασιμότητας ξανά, για να ξεκινήσετε την τρέχουσα λειτουργία προσβασιμότητας"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Επιλέξτε μια λειτουργία που θα χρησιμοποιείται κατά το πάτημα του κουμπιού \"Προσβασιμότητα\"."</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Για να αλλάξετε λειτουργίες, αγγίξτε παρατεταμένα το κουμπί \"Προσβασιμότητα\"."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Μεγιστοποίηση"</string>
diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml
index 04b20ba..85923550b 100644
--- a/core/res/res/values-en-rAU/strings.xml
+++ b/core/res/res/values-en-rAU/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Issue registering Wi‑Fi calling with your operator: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi Calling"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi Calling"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN call"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN Call"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi Calling | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Off"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi preferred"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Mobile preferred"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Not recognised"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Fingerprint authenticated"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Face authenticated"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Face authenticated. Please press confirm"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Fingerprint hardware not available."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Fingerprint can\'t be stored. Please remove an existing fingerprint."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Fingerprint timeout reached. Try again."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Face time out reached. Try again."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Face can’t be stored."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Face operation cancelled."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Face authentication cancelled by user."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Too many attempts. Try again later."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Too many attempts. Facial authentication disabled."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Try again."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Colour Correction"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Accessibility Shortcut turned <xliff:g id="SERVICE_NAME">%1$s</xliff:g> on"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Accessibility Shortcut turned <xliff:g id="SERVICE_NAME">%1$s</xliff:g> off"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Use Accessibility Shortcut again to start the current accessibility feature"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Choose a feature to use when you tap the Accessibility button:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"To change features, touch &amp; hold the Accessibility button."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Magnification"</string>
diff --git a/core/res/res/values-en-rCA/strings.xml b/core/res/res/values-en-rCA/strings.xml
index c1ca0c4..1e075f8 100644
--- a/core/res/res/values-en-rCA/strings.xml
+++ b/core/res/res/values-en-rCA/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Issue registering Wi‑Fi calling with your operator: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi Calling"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi Calling"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN call"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN Call"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi Calling | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Off"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi preferred"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Mobile preferred"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Not recognised"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Fingerprint authenticated"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Face authenticated"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Face authenticated. Please press confirm"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Fingerprint hardware not available."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Fingerprint can\'t be stored. Please remove an existing fingerprint."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Fingerprint timeout reached. Try again."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Face time out reached. Try again."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Face can’t be stored."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Face operation cancelled."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Face authentication cancelled by user."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Too many attempts. Try again later."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Too many attempts. Facial authentication disabled."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Try again."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Colour Correction"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Accessibility Shortcut turned <xliff:g id="SERVICE_NAME">%1$s</xliff:g> on"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Accessibility Shortcut turned <xliff:g id="SERVICE_NAME">%1$s</xliff:g> off"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Use Accessibility Shortcut again to start the current accessibility feature"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Choose a feature to use when you tap the Accessibility button:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"To change features, touch &amp; hold the Accessibility button."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Magnification"</string>
diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml
index 04b20ba..85923550b 100644
--- a/core/res/res/values-en-rGB/strings.xml
+++ b/core/res/res/values-en-rGB/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Issue registering Wi‑Fi calling with your operator: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi Calling"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi Calling"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN call"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN Call"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi Calling | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Off"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi preferred"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Mobile preferred"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Not recognised"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Fingerprint authenticated"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Face authenticated"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Face authenticated. Please press confirm"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Fingerprint hardware not available."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Fingerprint can\'t be stored. Please remove an existing fingerprint."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Fingerprint timeout reached. Try again."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Face time out reached. Try again."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Face can’t be stored."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Face operation cancelled."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Face authentication cancelled by user."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Too many attempts. Try again later."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Too many attempts. Facial authentication disabled."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Try again."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Colour Correction"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Accessibility Shortcut turned <xliff:g id="SERVICE_NAME">%1$s</xliff:g> on"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Accessibility Shortcut turned <xliff:g id="SERVICE_NAME">%1$s</xliff:g> off"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Use Accessibility Shortcut again to start the current accessibility feature"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Choose a feature to use when you tap the Accessibility button:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"To change features, touch &amp; hold the Accessibility button."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Magnification"</string>
diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml
index 04b20ba..85923550b 100644
--- a/core/res/res/values-en-rIN/strings.xml
+++ b/core/res/res/values-en-rIN/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Issue registering Wi‑Fi calling with your operator: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi Calling"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi Calling"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN call"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN Call"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi Calling | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Off"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi preferred"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Mobile preferred"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Not recognised"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Fingerprint authenticated"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Face authenticated"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Face authenticated. Please press confirm"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Fingerprint hardware not available."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Fingerprint can\'t be stored. Please remove an existing fingerprint."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Fingerprint timeout reached. Try again."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Face time out reached. Try again."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Face can’t be stored."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Face operation cancelled."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Face authentication cancelled by user."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Too many attempts. Try again later."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Too many attempts. Facial authentication disabled."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Try again."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Colour Correction"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Accessibility Shortcut turned <xliff:g id="SERVICE_NAME">%1$s</xliff:g> on"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Accessibility Shortcut turned <xliff:g id="SERVICE_NAME">%1$s</xliff:g> off"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Use Accessibility Shortcut again to start the current accessibility feature"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Choose a feature to use when you tap the Accessibility button:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"To change features, touch &amp; hold the Accessibility button."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Magnification"</string>
diff --git a/core/res/res/values-en-rXC/strings.xml b/core/res/res/values-en-rXC/strings.xml
index 4add775..9138098 100644
--- a/core/res/res/values-en-rXC/strings.xml
+++ b/core/res/res/values-en-rXC/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‎‏‎‎‎‎‎‏‏‎‏‏‏‎‎‏‏‏‎‏‎‏‏‏‏‎‏‎‎‎‏‎‎‎‎‎‏‏‏‎‎‎‎‎‎‎‏‏‏‎‏‏‏‎‎Issue registering Wi‑Fi calling with your carrier: ‎‏‎‎‏‏‎<xliff:g id="CODE">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‎‎‏‎‎‏‎‏‎‏‎‎‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‎‎‏‎‏‏‎‎‏‎‏‏‎‎‏‏‏‏‏‎‏‏‏‏‎‏‎%s‎‏‎‎‏‎"</item>
-    <item msgid="4397097370387921767">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‏‎‏‎‎‎‎‎‏‎‏‏‎‏‎‎‎‎‎‏‏‎‎‎‎‏‎‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‎‏‎‏‏‏‎‏‏‎‏‏‎‎‏‏‏‎%s Wi-Fi Calling‎‏‎‎‏‎"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‎‎‏‏‏‏‏‎‎‎‏‏‎‎‏‎‏‏‎‎‎‎‏‏‎‏‎‏‏‏‎‎‏‎‎‎‏‎‏‏‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎‎‏‎‎‎‎‎‏‎‎‏‏‎<xliff:g id="SPN">%s</xliff:g>‎‏‎‎‏‏‏‎ Wi-Fi Calling‎‏‎‎‏‎"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‎‏‎‎‎‎‏‎‏‎‏‏‏‏‎‎‏‎‎‏‏‏‎‎‏‎‏‎‏‏‏‏‎‎‏‎‎‎‏‏‏‎‎‏‎‏‏‎‎‎‎‎‏‎WLAN Call‎‏‎‎‏‎"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‎‎‎‎‎‏‎‎‎‎‏‎‏‏‎‎‎‏‎‏‎‏‏‎‎‎‏‏‎‎‏‎‏‎‏‏‎‎‏‎‎‎‏‎‎‏‎‎‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‎‏‏‎<xliff:g id="SPN">%s</xliff:g>‎‏‎‎‏‏‏‎ WLAN Call‎‏‎‎‏‎"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‏‏‎‎‏‏‏‎‎‎‏‏‎‎‏‏‎‎‎‏‏‏‏‎‏‏‏‎‎‎‏‏‎‏‏‎‏‏‎‏‎‎‏‎‏‏‏‎‏‎‎‏‎‎‎‏‎‎‏‏‎<xliff:g id="SPN">%s</xliff:g>‎‏‎‎‏‏‏‎ Wi-Fi‎‏‎‎‏‎"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‏‏‏‎‎‏‏‏‎‏‎‏‎‏‏‎‏‎‏‏‎‏‎‎‏‏‏‏‎‏‎‏‎‏‎‏‏‏‎‏‏‎‎‏‎WiFi Calling | ‎‏‎‎‏‏‎<xliff:g id="SPN">%s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‏‎‏‏‎‏‎‏‏‏‎‏‎‎‎‎‏‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‎‏‎‏‎‎‎‏‎‏‏‎‏‎‏‎‏‎‏‎‏‎‏‎‎‎‏‎‎‏‎‎‏‏‎<xliff:g id="SPN">%s</xliff:g>‎‏‎‎‏‏‏‎ VoWifi‎‏‎‎‏‎"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‏‏‎‎‎‎‎‎‎‎‏‏‎‏‏‎‎‎‎‏‎‎‎‎‎‎‏‎‎‎‏‏‏‏‎‎‎‏‏‎‎‏‏‎‎‏‎‎‎‏‎‎Off‎‏‎‎‏‎"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‎‏‏‏‎‏‎‏‏‎‎‏‎‎‎‎‎‏‏‏‎‎‏‎‏‎‏‎‎‎‏‎‎‎‏‏‎‎‏‏‎‎‏‏‎‏‎‎‏‏‎‏‏‎‏‏‏‏‏‎Wi-Fi preferred‎‏‎‎‏‎"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‎‏‏‏‎‎‏‎‏‏‏‏‏‎‎‏‎‎‏‏‏‎‎‏‎‎‎‏‏‏‎‏‏‏‎‎‏‎‎‎‎‏‎‏‎‎‏‎‎‏‎‏‏‏‏‎‏‎‎‎Mobile preferred‎‏‎‎‏‎"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‎‏‎‏‎‎‏‏‏‏‏‎‎‏‏‏‏‎‎‎‏‎‎‏‏‏‎‎‏‏‎‏‎‎‏‏‎‎‎‎‎‎‏‎‎‏‎‏‎‏‎‎‏‎‎Not recognized‎‏‎‎‏‎"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‏‎‏‏‏‎‏‎‎‎‏‎‏‏‎‎‏‎‎‎‎‎‏‎‏‎‎‎‏‎‏‏‎‎‎‏‏‎‏‎‎‎‎‎‏‎‏‏‏‏‎‎‎‎‎Fingerprint authenticated‎‏‎‎‏‎"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‏‏‏‏‏‎‎‎‏‎‏‎‎‏‏‏‎‎‏‎‎‎‎‏‏‏‎‏‏‎‏‎‏‎‎‎‎‎‏‎‏‏‏‎‏‎‏‎‎‎‏‎‏‎‏‎‏‏‏‎Face authenticated‎‏‎‎‏‎"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‏‎‏‏‏‏‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‎‏‏‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‎‏‎‏‎‎Face authenticated, please press confirm‎‏‎‎‏‎"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‎‎‏‎‎‎‏‏‏‎‎‏‎‎‏‏‎‎‎‏‎‏‏‎‏‎‏‏‏‏‏‎‎‏‏‏‎‎‎‏‏‏‏‎‏‎‏‎‏‎‎‎Fingerprint hardware not available.‎‏‎‎‏‎"</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‏‎‏‎‏‎‎‏‏‏‎‎‎‎‎‏‎‏‏‏‎‎‏‎‎‏‏‎‎‏‏‏‎‏‎‎‏‏‏‎‎‏‏‏‏‎‎‏‎‏‏‏‎‎‎‏‏‎‎Fingerprint can\'t be stored. Please remove an existing fingerprint.‎‏‎‎‏‎"</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‎‎‎‎‎‎‎‏‎‏‎‏‎‏‏‏‎‎‏‏‎‎‏‎‎‏‏‏‏‏‏‎‏‏‎‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‎‏‏‎Fingerprint time out reached. Try again.‎‏‎‎‏‎"</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‏‏‏‏‎‏‏‎‏‎‏‏‏‎‎‎‎‎‎‎‏‎‏‏‏‎‎‏‏‎‏‏‎‎‎‎‎‏‎‏‏‏‏‎‎‎‎‎‏‏‎‏‏‏‎‎‏‏‎‎Face time out reached. Try again.‎‏‎‎‏‎"</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‎‏‎‏‎‎‎‎‏‏‎‎‎‎‏‏‎‎‏‎‎‎‎‎‎‏‏‎‏‏‏‏‎‎‎‎‎‎‏‏‎‎‎‎‎‎‎‎‎‎‏‎‎Face can’t be stored.‎‏‎‎‏‎"</string>
     <string name="face_error_canceled" msgid="283945501061931023">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‎‏‎‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‏‏‎‏‏‏‎‏‏‎‏‏‏‎‎‎‏‏‎‎‏‎‏‏‏‎‏‏‏‏‎‎‎‎‎‎‎‎‎‏‏‏‏‎Face operation canceled.‎‏‎‎‏‎"</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‏‏‎‎‏‏‎‎‎‎‏‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‎‎‎‏‏‎‏‎‎‏‎‏‎‏‏‎‎‎‏‏‏‎‏‏‎Face authentication canceled by user.‎‏‎‎‏‎"</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‏‏‏‎‏‎‎‏‎‎‏‏‎‎‏‏‏‎‎‏‏‎‎‎‏‎‏‎‎‎‎‏‎‎‎‏‏‏‏‎‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‏‎‎‎‎Too many attempts. Try again later.‎‏‎‎‏‎"</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‎‎‏‏‎‎‏‏‎‏‎‎‎‎‎‎‏‏‏‏‏‏‎‏‎‎‎‏‎‎‎‎‎‎‏‎‏‎‎‏‎‏‎‎‏‏‎‏‏‏‎‏‎‎Too many attempts. Facial authentication disabled.‎‏‎‎‏‎"</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‎‏‎‏‏‎‏‎‏‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‎‏‎‏‎‎‎‏‏‎‏‎‎‎‏‏‎‎‏‏‏‎‎‏‏‎‎Try again.‎‏‎‎‏‎"</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‎‏‎‏‎‏‎‎‏‏‏‏‎‎‏‎‎‏‎‏‎‏‎‏‎‏‎‎‎‏‏‏‎‏‎‏‏‎‎‏‏‏‏‏‏‎‎‎‏‏‎‏‎‏‎Color Correction‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎‏‏‎‏‏‎‎‏‎‏‎‏‏‎‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‎‏‎‏‏‏‎‏‏‎‎‎‎‎‏‏‎‎‏‏‎‎‎Accessibility Shortcut turned ‎‏‎‎‏‏‎<xliff:g id="SERVICE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ on‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‎‎‎‎‎‎‎‏‎‏‎‏‏‎‏‎‏‏‎‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‏‏‏‎‏‎Accessibility Shortcut turned ‎‏‎‎‏‏‎<xliff:g id="SERVICE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ off‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‎‎‎‎‏‏‎‏‏‎‏‎‏‏‏‎‏‎‏‏‏‎‎‏‎‎‎‏‏‏‎‏‏‎‏‏‏‎‏‏‎‏‎‎‎‎‏‏‏‎‏‏‎‏‎Use Accessibility Shortcut again to start the current accessibility feature‎‏‎‎‏‎"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‎‎‎‏‎‎‎‎‏‎‏‎‏‎‏‎‏‏‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‏‎‎‎‏‏‎‏‏‏‎‏‎‏‏‏‎‏‎‏‏‎Choose a feature to use when you tap the Accessibility button:‎‏‎‎‏‎"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‏‏‎‎‎‎‎‎‎‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‎‎‏‏‎‏‎‏‏‏‎‏‎‏‏‏‎‎‏‎‎‏‏‏‎‎‏‎To change features, touch &amp; hold the Accessibility button.‎‏‎‎‏‎"</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‏‏‎‏‏‏‎‏‎‏‎‎‎‎‏‎‏‏‎‏‎‏‏‏‎‏‏‎‏‏‎‏‏‏‎‏‏‏‏‏‎‏‎Magnification‎‏‎‎‏‎"</string>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index f317a4e..6176b7b 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Error al registrar la Llamada con Wi‑Fi con tu operador: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Llamada por Wi-Fi de %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Llamada por Wi-Fi de <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Llamada por WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Llamada por WLAN de <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi de <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Llamada por Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWifi de <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Desactivada"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Red Wi-Fi preferida"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Red móvil preferida"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"No se reconoció"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Se autenticó la huella digital"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Se autenticó el rostro"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Se autenticó el rostro; presiona Confirmar"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"El hardware para detectar huellas digitales no está disponible."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"No se puede almacenar la huella digital. Elimina una de las existentes."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Finalizó el tiempo de espera para la huella digital. Vuelve a intentarlo."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Se agotó el tiempo. Vuelve a intentarlo."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"No se puede almacenar el rostro."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Se canceló el reconocimiento facial."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"El usuario canceló la autenticación de rostro."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Demasiados intentos. Inténtalo de nuevo más tarde."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Demasiados intentos. Autent. facial inhabilitada."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Vuelve a intentarlo."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Corrección de color"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"El acceso directo de accesibilidad activó <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"El acceso directo de accesibilidad desactivó <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Vuelve a usar el acceso directo de accesibilidad para iniciar la función de accesibilidad actual"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Elige una función para usar cuando presionas el botón Accesibilidad:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Para cambiar funciones, mantén presionado el botón Accesibilidad."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Ampliación"</string>
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index c42f53c..dd766f7 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"No se ha podido registrar la llamada por Wi‑Fi con tu operador: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Llamadas Wi-Fi de %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Llamada por Wi‑Fi de <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Llamada por WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Llamada por WLAN de <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi‑Fi de <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Llamada por Wi‑Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWiFi de <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Desactivado"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Dar preferencia a Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Preferir datos móviles"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"No se reconoce"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Se ha autenticado la huella digital"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Cara autenticada"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Se ha autenticado la cara, pulsa para confirmar"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"El hardware de huella digital no está disponible."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"No se puede almacenar la huella digital. Elimina una ya creada."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Se ha alcanzado el tiempo de espera de la huella digital. Vuelve a intentarlo."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Has sobrepasado el tiempo. Inténtalo de nuevo."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"No se pueden registrar más caras."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Se ha cancelado el reconocimiento facial."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"El usuario ha cancelado la autenticación de la cara."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Demasiados intentos. Inténtalo de nuevo más tarde."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Demasiados intentos. Autent. facial inhabilitada."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Inténtalo de nuevo."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Corrección de color"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"El acceso directo a accesibilidad ha activado <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"El acceso directo a accesibilidad ha desactivado <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Usa de nuevo la combinación de teclas de accesibilidad para iniciar la función de accesibilidad actual"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Selecciona la función que se utilizará cuando toques el botón Accesibilidad:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Para cambiar las funciones, mantén pulsado el botón Accesibilidad."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Ampliar"</string>
diff --git a/core/res/res/values-et/strings.xml b/core/res/res/values-et/strings.xml
index cc052c4..650fcb6 100644
--- a/core/res/res/values-et/strings.xml
+++ b/core/res/res/values-et/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Probleem WiFi-kõnede registreerimisel teie operaatoriga: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s WiFi kaudu helistamine"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g>: WiFi-kõned"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN-kõne"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g>: WLAN-kõne"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g>: WiFi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"WiFi-kõne | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g>: VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Väljas"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"WiFi eelistusega"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Eelistatud on mobiilne andmeside"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Ei tuvastatud"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Sõrmejälg autenditi"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Nägu on autenditud"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Nägu on autenditud, vajutage käsku Kinnita"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Sõrmejälje riistvara pole saadaval."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Sõrmejälge ei saa salvestada. Eemaldage olemasolev sõrmejälg."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Sõrmejälje riistvara taimeri ajalõpp. Proovige uuesti."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Näotuvastuse taimeri ajalõpp. Proovige uuesti."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Nägu ei saa salvestada."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Näotuvastuse toiming tühistati."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Kasutaja tühistas näo autentimise."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Liiga palju katseid. Proovige hiljem uuesti."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Liiga palju katseid. Näotuvastus on keelatud."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Proovige uuesti."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Värviparandus"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Juurdepääsetavuse otsetee lülitas teenuse <xliff:g id="SERVICE_NAME">%1$s</xliff:g> sisse"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Juurdepääsetavuse otsetee lülitas teenuse <xliff:g id="SERVICE_NAME">%1$s</xliff:g> välja"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Praeguse juurdepääsufunktsiooni käivitamiseks kasutage juurdpääsetavuse otseteed uuesti"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Valige, millist funktsiooni kasutada, kui vajutate nuppu Juurdepääsetavus:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Funktsioonide muutmiseks puudutage pikalt nuppu Juurdepääsetavus."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Suurendus"</string>
diff --git a/core/res/res/values-eu/strings.xml b/core/res/res/values-eu/strings.xml
index 275e171..6a6fdbf 100644
--- a/core/res/res/values-eu/strings.xml
+++ b/core/res/res/values-eu/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Arazo bat izan da Wi‑Fi bidezko deiak zure operadorearekin erregistratzean: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi bidezko deiak"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi bidezko deiak"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN bidezko deia"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN bidezko deia"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi bidezko deiak | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Desaktibatuta"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi sarea hobesten da"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Datu-konexioa hobesten da"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Ez da ezagutu"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Autentifikatu da hatz-marka"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Autentifikatu da aurpegia"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Autentifikatu da aurpegia; sakatu Berretsi"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Hatz-markaren hardwarea ez dago erabilgarri."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Ezin da gorde hatz-marka digitala. Kendu lehendik gordeta duzunetako bat."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Hatz-marka digitalak prozesatzeko denbora-muga gainditu da. Saiatu berriro."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Gainditu da aurpegiak prozesatzeko denbora-muga. Saiatu berriro."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Ezin da gorde aurpegia."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Utzi da aurpegiaren bidezko eragiketa."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Erabiltzaileak utzi du aurpegi-autentifikazioa."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Saiakera gehiegi egin dituzu. Saiatu berriro geroago."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Saiakera gehiegi egin dituzu. Desgaitu egin da autentifikazioa."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Saiatu berriro."</string>
@@ -1129,7 +1136,7 @@
     <string name="aerr_application_repeated" msgid="3146328699537439573">"Behin eta berriz gelditzen ari da <xliff:g id="APPLICATION">%1$s</xliff:g>"</string>
     <string name="aerr_process_repeated" msgid="6235302956890402259">"Behin eta berriz gelditzen ari da <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
     <string name="aerr_restart" msgid="7581308074153624475">"Ireki aplikazioa berriro"</string>
-    <string name="aerr_report" msgid="5371800241488400617">"Bidali iritzia"</string>
+    <string name="aerr_report" msgid="5371800241488400617">"Bidali oharrak"</string>
     <string name="aerr_close" msgid="2991640326563991340">"Itxi"</string>
     <string name="aerr_mute" msgid="1974781923723235953">"Ezkutatu gailua berrabiarazi arte"</string>
     <string name="aerr_wait" msgid="3199956902437040261">"Itxaron"</string>
@@ -1617,6 +1624,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Koloreen zuzenketa"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Erabilerraztasun-lasterbideak <xliff:g id="SERVICE_NAME">%1$s</xliff:g> aktibatu du"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Erabilerraztasun-lasterbideak <xliff:g id="SERVICE_NAME">%1$s</xliff:g> desaktibatu du"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Uneko erabilerraztasun-eginbidea abiarazteko, erabili erabilerraztasun-lasterbidea berriro"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Aukeratu zein eginbide erabili nahi duzun Erabilerraztasuna botoia sakatzean:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Eginbideak aldatzeko, eduki sakatuta Erabilerraztasuna botoia."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Lupa"</string>
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index 5055e8b..2310f9e 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"‏مشکل هنگام ثبت تماس ازطریق Wi‑Fi با شرکت مخابراتی: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"‏تماس ‪%s Wi-Fi"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"‏تماس ازطریق Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"‏تماس ازطریق WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"‏تماس ازطریق WLAN <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"‏درحال تماس ازطریق WiFi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWifi <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"خاموش"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"‏Wi-Fi ترجیحی"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"داده شبکه تلفن همراه ارجح است"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"شناسایی نشد"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"اثر انگشت احراز هویت شد"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"چهره احراز هویت شد"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"چهره احراز هویت شد، لطفاً تأیید را فشار دهید"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"سخت‌افزار اثرانگشت در دسترس نیست."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"ذخیره اثر انگشت ممکن نیست. لطفاً یک اثر انگشت موجود را حذف کنید."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"مهلت زمانی ثبت اثر انگشت به پایان رسید. دوباره امتحان کنید."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"مهلت زمانی شناسایی چهره تمام شد. دوباره امتحان کنید"</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"نمی‌توان چهره را ذخیره کرد."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"عملیات شناسایی چهره لغو شد."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"احراز هویت چهره توسط کاربر لغو شد."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"تعداد زیادی تلاش ناموفق. بعداً دوباره امتحان کنید."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"چندین تلاش ناموفق. احراز هویت با چهره غیرفعال شد."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"دوباره امتحان کنید."</string>
@@ -890,7 +897,7 @@
     <string name="js_dialog_before_unload_negative_button" msgid="5614861293026099715">"ماندن در این صفحه"</string>
     <string name="js_dialog_before_unload" msgid="3468816357095378590">"<xliff:g id="MESSAGE">%s</xliff:g>\n\nمطمئنید می‌خواهید این صفحه را ترک کنید؟"</string>
     <string name="save_password_label" msgid="6860261758665825069">"تأیید"</string>
-    <string name="double_tap_toast" msgid="4595046515400268881">"نکته: برای بزرگ‌نمایی و کوچک‌نمایی، دو بار ضربه بزنید."</string>
+    <string name="double_tap_toast" msgid="4595046515400268881">"نکته: برای نزدیک‌نمایی و دورنمایی، دو بار ضربه بزنید."</string>
     <string name="autofill_this_form" msgid="4616758841157816676">"تکمیل خودکار"</string>
     <string name="setup_autofill" msgid="7103495070180590814">"راه‌اندازی تکمیل خودکار"</string>
     <string name="autofill_window_title" msgid="4107745526909284887">"تکمیل خودکار با <xliff:g id="SERVICENAME">%1$s</xliff:g>"</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"تصحیح رنگ"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"«میان‌بر دسترس‌پذیری» <xliff:g id="SERVICE_NAME">%1$s</xliff:g> را روشن کرد"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"«میان‌بر دسترس‌پذیری» <xliff:g id="SERVICE_NAME">%1$s</xliff:g> را خاموش کرد"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"برای راه‌اندازی ویژگی دسترس‌پذیری کنونی، دوباره از «میان‌بر دسترس‌پذیری» استفاده کنید"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"قابلیتی را انتخاب کنید که هنگام ضربه زدن روی دکمه «دسترس‌پذیری» استفاده می‌شود:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"برای تغییر دادن قابلیت‌ها، دکمه «دسترس‌پذیری» را لمس کنید و نگه‌دارید."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"درشت‌نمایی"</string>
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index d54cb72..4f2531c 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Virhe otettaessa Wi-Fi-puheluita käyttöön operaattorille <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Wi-Fi-puhelut: %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Wi-Fi-puhelut (<xliff:g id="SPN">%s</xliff:g>)"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN-puhelu"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"WLAN-puhelu (<xliff:g id="SPN">%s</xliff:g>)"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi-puhelut | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Ei käytössä"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi ensisijainen"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Mobiiliverkko ensisijainen"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Ei tunnistettu"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Sormenjälki tunnistettu"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Kasvot tunnistettu"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Kasvot tunnistettu, valitse Vahvista"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Sormenjälkilaitteisto ei ole käytettävissä."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Sormenjälkeä ei voida tallentaa. Poista aiemmin lisätty sormenjälki."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Sormenjälkitunnistimen toiminta aikakatkaistiin. Yritä uudelleen."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Kasvotoiminto aikakatkaistiin. Yritä uudelleen."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Kasvoja ei voi tallentaa."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Kasvotoiminto peruutettu"</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Käyttäjä peruutti kasvojentunnistuksen."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Liian monta yritystä. Yritä myöhemmin uudelleen."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Liikaa yrityksiä. Kasvojentodennus ei käytössä."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Yritä uudelleen."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Värinkorjaus"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"<xliff:g id="SERVICE_NAME">%1$s</xliff:g> otettiin käyttöön esteettömyystilan pikanäppäimellä."</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"<xliff:g id="SERVICE_NAME">%1$s</xliff:g> poistettiin käytöstä esteettömyystilan pikanäppäimellä."</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Valitse esteettömyystilan oikopolku uudelleen käynnistääksesi esteettömyysominaisuuden"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Valitse toiminto, jonka Esteettömyys-painike aktivoi:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Jos haluat muokata ominaisuuksia, kosketa Esteettömyys-painiketta pitkään."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Suurennus"</string>
diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml
index 0c0cdea..39889ec 100644
--- a/core/res/res/values-fr-rCA/strings.xml
+++ b/core/res/res/values-fr-rCA/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Une erreur s\'est produite lors de l\'enregistrement des appels Wi-Fi avec votre fournisseur de services : <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Appels Wi-Fi %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Appels Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Appel WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Appel WLAN <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Appels Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"Voix par Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Désactivé"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Réseau Wi-Fi de préférence"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Connexion cellulaire de préférence"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Données biométriques non reconnues"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Empreinte digitale authentifiée"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Visage authentifié"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Visage authentifié, veuillez appuyer sur le bouton Confirmer"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Matériel d\'empreinte numérique indisponible."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"L\'empreinte digitale ne peut pas être enregistrée. Veuillez supprimer une empreinte existante."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Le temps attribué pour lire l\'empreinte est écoulé. Veuillez essayer de nouveau."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Temps de reconn. visage écoulé. Veuillez réessayer."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Impossible de stocker le visage."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Opération de reconnaissance du visage annulée."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Authentification du visage annulée par l\'utilisateur"</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Trop de tentatives. Veuillez réessayer plus tard."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Trop de tentatives. Capt. reconn. visage désactivé."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Réessayez."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Correction des couleurs"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Le raccourci d\'accessibilité a activé la fonction <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Le raccourci d\'accessibilité a désactivé la fonction <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Utilisez à nouveau le raccourci d\'accessibilité pour démarrer la fonctionnalité d\'accessibilité actuelle"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Choisissez une fonctionnalité à utiliser lorsque vous touchez le bouton d\'accessibilité :"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Pour changer des fonctionnalités, maintenez le doigt sur le bouton d\'accessibilité."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Zoom"</string>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index 6932be3..9759415 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Problème lors de l\'enregistrement des appels Wi‑Fi avec votre opérateur : <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Appels Wi-Fi %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Appels Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Appel WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Appel WLAN <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Appels Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWiFi <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Désactivé"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi de préférence"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Priorité au mobile"</string>
@@ -284,7 +288,7 @@
     <string name="permgrouprequest_sms" msgid="7168124215838204719">"Permettre à &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; d\'envoyer et d\'afficher des SMS ?"</string>
     <string name="permgrouplab_storage" msgid="1971118770546336966">"Stockage"</string>
     <string name="permgroupdesc_storage" msgid="637758554581589203">"accéder à des photos, à des contenus multimédias et à des fichiers sur votre appareil"</string>
-    <string name="permgrouprequest_storage" msgid="7885942926944299560">"Permettre à &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; d\'accéder aux photos, contenus multimédias et fichiers sur votre appareil ?"</string>
+    <string name="permgrouprequest_storage" msgid="7885942926944299560">"Autoriser &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; à accéder aux photos, contenus multimédias et fichiers sur votre appareil ?"</string>
     <string name="permgrouplab_microphone" msgid="171539900250043464">"Microphone"</string>
     <string name="permgroupdesc_microphone" msgid="4988812113943554584">"enregistrer des fichiers audio"</string>
     <string name="permgrouprequest_microphone" msgid="9167492350681916038">"Permettre à &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; d\'enregistrer des contenus audio ?"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Non reconnu"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Empreinte digitale authentifiée"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Visage authentifié"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Visage authentifié, veuillez appuyer sur \"Confirmer\""</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Matériel d\'empreinte numérique indisponible."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Impossible d\'enregistrer l\'empreinte numérique. Veuillez supprimer une empreinte."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Délai de détection de l\'empreinte numérique expiré. Veuillez réessayer."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Délai de détection du visage expiré. Réessayez."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Impossible de stocker les informations du visage."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Opération de reconnaissance faciale annulée."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Authentification faciale annulée par l\'utilisateur."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Trop de tentatives. Réessayez plus tard."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Trop d\'essais. Authentification faciale désactivée."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Réessayez."</string>
@@ -1300,14 +1307,14 @@
     <string name="perm_costs_money" msgid="4902470324142151116">"Cela peut engendrer des frais"</string>
     <string name="dlg_ok" msgid="7376953167039865701">"OK"</string>
     <string name="usb_charging_notification_title" msgid="1595122345358177163">"Appareil en charge via USB"</string>
-    <string name="usb_supplying_notification_title" msgid="4631045789893086181">"Rechargement via USB de l\'appareil connecté"</string>
+    <string name="usb_supplying_notification_title" msgid="4631045789893086181">"Recharge via USB de l\'appareil connecté"</string>
     <string name="usb_mtp_notification_title" msgid="4238227258391151029">"Transfert de fichiers via USB activé"</string>
     <string name="usb_ptp_notification_title" msgid="5425857879922006878">"PTP via USB activé"</string>
     <string name="usb_tether_notification_title" msgid="3716143122035802501">"Partage de connexion via USB activé"</string>
     <string name="usb_midi_notification_title" msgid="5356040379749154805">"MIDI via USB activé"</string>
     <string name="usb_accessory_notification_title" msgid="1785694450621427730">"Accessoire USB connecté"</string>
     <string name="usb_notification_message" msgid="3370903770828407960">"Appuyez ici pour plus d\'options."</string>
-    <string name="usb_power_notification_message" msgid="4647527153291917218">"Rechargement de l\'appareil connecté. Appuyez ici pour plus d\'options."</string>
+    <string name="usb_power_notification_message" msgid="4647527153291917218">"Recharge de l\'appareil connecté. Appuyez ici pour plus d\'options."</string>
     <string name="usb_unsupported_audio_accessory_title" msgid="3529881374464628084">"Accessoire audio analogique détecté"</string>
     <string name="usb_unsupported_audio_accessory_message" msgid="6309553946441565215">"L\'appareil connecté n\'est pas compatible avec ce téléphone. Appuyez ici pour en savoir plus."</string>
     <string name="adb_active_notification_title" msgid="6729044778949189918">"Débogage USB activé"</string>
@@ -1340,7 +1347,7 @@
     <string name="ext_media_unmountable_notification_message" msgid="4193858924381066522">"Appuyez sur la notification pour résoudre le problème"</string>
     <string name="ext_media_unmountable_notification_message" product="tv" msgid="3941179940297874950">"La <xliff:g id="NAME">%s</xliff:g> est corrompue. Sélectionnez cette option pour résoudre le problème."</string>
     <string name="ext_media_unsupported_notification_title" msgid="3797642322958803257">"<xliff:g id="NAME">%s</xliff:g> non compatible"</string>
-    <string name="ext_media_unsupported_notification_message" msgid="6121601473787888589">"Cet appareil n\'est pas compatible avec la mémoire de stockage \"<xliff:g id="NAME">%s</xliff:g>\". Appuyez ici pour le configurer dans un format accepté."</string>
+    <string name="ext_media_unsupported_notification_message" msgid="6121601473787888589">"Cet appareil n\'est pas compatible avec le support \"<xliff:g id="NAME">%s</xliff:g>\". Appuyez ici pour le configurer dans un format accepté."</string>
     <string name="ext_media_unsupported_notification_message" product="tv" msgid="3725436899820390906">"Cet appareil n\'est pas compatible avec cette <xliff:g id="NAME">%s</xliff:g>. Sélectionnez cette option pour la configurer dans un format accepté."</string>
     <string name="ext_media_badremoval_notification_title" msgid="3206248947375505416">"Retrait inattendu de mémoire \"<xliff:g id="NAME">%s</xliff:g>\""</string>
     <string name="ext_media_badremoval_notification_message" msgid="8556885808951260574">"Éjectez le périphérique externe avant de le retirer pour éviter toute perte de contenu"</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Correction des couleurs"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Le raccourci d\'accessibilité a activé <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Le raccourci d\'accessibilité a désactivé <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Utilisez à nouveau le raccourci d\'accessibilité pour démarrer la fonctionnalité d\'accessibilité actuelle"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Choisissez une fonctionnalité à utiliser lorsque vous appuyez sur le bouton d\'accessibilité :"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Pour changer des fonctionnalités, appuyez de manière prolongée sur le bouton d\'accessibilité."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Agrandissement"</string>
diff --git a/core/res/res/values-gl/strings.xml b/core/res/res/values-gl/strings.xml
index ba66adf..318dd3e 100644
--- a/core/res/res/values-gl/strings.xml
+++ b/core/res/res/values-gl/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Produciuse un problema ao rexistrar as chamadas por wifi co teu operador: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Chamadas por wifi de %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Chamadas por wifi de <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Chamada por WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Chamada por WLAN de <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wifi de <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Chamadas por wifi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWifi de <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Desactivado"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wifi preferida"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Datos móbiles preferidos"</string>
@@ -298,8 +302,8 @@
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"facer e xestionar chamadas telefónicas"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Queres permitir que a aplicación &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; realice e xestione chamadas telefónicas?"</string>
     <string name="permgrouplab_sensors" msgid="416037179223226722">"Sensores corporais"</string>
-    <string name="permgroupdesc_sensors" msgid="7147968539346634043">"acceder aos datos do sensor sobre as túas constantes vitais"</string>
-    <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Queres permitir que a aplicación &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; acceda aos datos do sensor sobre as túas constantes vitais?"</string>
+    <string name="permgroupdesc_sensors" msgid="7147968539346634043">"acceder aos datos dos sensores sobre as túas constantes vitais"</string>
+    <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Queres permitir que a aplicación &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; acceda aos datos dos sensores sobre as túas constantes vitais?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Música"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"acceder á música"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Queres permitir que a aplicación &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; acceda á túa música?"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Non se recoñeceu"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Autenticouse a impresión dixital"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Autenticouse a cara"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Autenticouse a cara, preme Confirmar"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Hardware de impresión dixital non dispoñible."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Non se pode almacenar a impresión dixital. Elimina unha impresión dixital existente."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Esgotouse o tempo de espera da impresión dixital. Téntao de novo."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Esgotouse o tempo de espera. Téntao de novo."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Non se puido almacenar a cara."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Cancelouse a operación relacionada coa cara"</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"O usuario cancelou a autenticación da cara."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Demasiados intentos. Téntao de novo máis tarde."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Demasiados intentos. Autenticación desactivada."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Téntao de novo."</string>
@@ -1617,6 +1624,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Corrección de cor"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"O atallo de accesibilidade activou <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"O atallo de accesibilidade desactivou <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Para iniciar a función de accesibilidade actual, utiliza de novo o atallo de accesibilidade"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Escolle que función queres utilizar cando toques o botón Accesibilidade:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Para cambiar as funcións, mantén premido o botón Accesibilidade."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Ampliación"</string>
diff --git a/core/res/res/values-gu/strings.xml b/core/res/res/values-gu/strings.xml
index 2b96f3f..13090c6 100644
--- a/core/res/res/values-gu/strings.xml
+++ b/core/res/res/values-gu/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"તમારા કૅરિઅરમાં વાઇ-ફાઇ કૉલિંગ રજિસ્ટર કરવામાં સમસ્યા આવી: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s વાઇ-ફાઇ કૉલિંગ"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> વાઇ-ફાઇ કૉલિંગ"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN કૉલ"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN કૉલ"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> વાઇ-ફાઇ"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"વાઇ-ફાઇ કૉલિંગ | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"બંધ"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"વાઇ-ફાઇ પસંદ કર્યું"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"મોબાઇલને પસંદગી"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"ઓળખાયેલ નથી"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"ફિંગરપ્રિન્ટ પ્રમાણિત કરી"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"ચહેરા પ્રમાણિત"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"ચહેરા પ્રમાણિત, કૃપા કરીને કન્ફર્મ કરો"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"ફિંગરપ્રિન્ટ હાર્ડવેર ઉપલબ્ધ નથી."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"ફિંગરપ્રિન્ટ સંગ્રહિત કરી શકાતી નથી. કૃપા કરીને અસ્તિત્વમાંની ફિંગરપ્રિન્ટ દૂર કરો."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"ફિંગરપ્રિન્ટનો સમય બાહ્ય થયો. ફરી પ્રયાસ કરો."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"ચહેરા માટેનો સમય સમાપ્ત થયો. ફરી પ્રયાસ કરો."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"ચહેરો સંગ્રહિત કરી શકાશે નહીં."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"ચહેરા સંબંધિત કાર્યવાહી રદ કરવામાં આવી છે."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"વપરાશકર્તાએ ચહેરા પ્રમાણીકરણ રદ કર્યુ."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"ઘણા બધા પ્રયત્નો. થોડા સમય પછી ફરી પ્રયાસ કરો."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"ઘણા બધા પ્રયત્નો. ચહેરાનું પ્રમાણીકરણ બંધ કરવામાં આવ્યું છે."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"ફરી પ્રયાસ કરો."</string>
@@ -1617,6 +1624,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"રંગ સુધારણા"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"ઍક્સેસિબિલિટી શૉર્ટકટે <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ચાલુ કરી"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"ઍક્સેસિબિલિટી શૉર્ટકટે <xliff:g id="SERVICE_NAME">%1$s</xliff:g> બંધ કરી"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"વર્તમાન ઍક્સેસિબિલિટી સુવિધાને શરૂ કરવા માટે ફરીથી ઍક્સેસિબિલિટી શૉર્ટકટનો ઉપયોગ કરો"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"જ્યારે તમે ઍક્સેસિબિલિટી બટન પર ટૅપ કરો, ત્યારે ઉપયોગ કરવાની સુવિધા પસંદ કરો:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"સુવિધાઓ બદલવા માટે, ઍક્સેસિબિલિટી બટન દબાવી રાખો."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"વિસ્તૃતીકરણ"</string>
diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml
index d4b800a..bebd489 100644
--- a/core/res/res/values-hi/strings.xml
+++ b/core/res/res/values-hi/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"वाई-फ़ाई कॉलिंग की सुविधा के लिए आपकी मोबाइल और इंटरनेट सेवा देने वाली कंपनी के साथ रजिस्टर करने से जुड़ी समस्या: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s वाई-फ़ाई कॉलिंग"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> वाई-फ़ाई कॉलिंग"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN कॉल"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN कॉल"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> वाई-फ़ाई"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"वाई-फ़ाई कॉलिंग | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"बंद"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"वाई-फ़ाई को प्राथमिकता"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"मोबाइल को प्राथमिकता"</string>
@@ -526,6 +530,8 @@
     <!-- no translation found for biometric_not_recognized (5770511773560736082) -->
     <skip />
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"फ़िंगरप्रिंट की पुष्टि हो गई"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"चेहरे की पहचान की गई"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"चेहरे की पहचान की गई, कृपया पुष्टि बटन दबाएं"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"फ़िंगरप्रिंट हार्डवेयर उपलब्ध नहीं है."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"फ़िंगरप्रिंट को संग्रहित नहीं किया जा सका. कृपया कोई मौजूदा फ़िंगरप्रिंट निकालें."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"फ़िंगरप्रिंट का समय समाप्त हो गया. पुनः प्रयास करें."</string>
@@ -562,6 +568,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"चेहरे की पहचान का समय खत्म हुआ. फिर से कोशिश करें."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"चेहरा सेव करने की सीमा पूरी हो गई है."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"चेहरा पहचानने की कार्रवाई रद्द की गई."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"उपयोगकर्ता ने चेहरे की पहचान रद्द कर दी."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"कई बार कोशिश की गई. बाद में कोशिश करें."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"कई बार कोशिश की. चेहरा पहचानने की सुविधा बंद हुई."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"फिर से कोशिश करें."</string>
@@ -1618,6 +1625,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"रंग में सुधार करने की सुविधा"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"सुलभता शॉर्टकट ने <xliff:g id="SERVICE_NAME">%1$s</xliff:g> को चालू किया"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"सुलभता शॉर्टकट ने <xliff:g id="SERVICE_NAME">%1$s</xliff:g> को बंद किया"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"मौजूदा सुलभता सुविधा शुरू करने के लिए \'सुलभता शॉर्टकट\' का फिर से इस्तेमाल करें"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"सुलभता बटन पर टैप करते समय इस्तेमाल की जाने वाली सुविधा चुनें:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"सुविधाओं में बदलाव करने के लिए, सुलभता बटन को दबाकर रखें."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"बड़ा करें"</string>
@@ -1895,10 +1903,10 @@
     <string name="autofill_save_title_with_type" msgid="8637809388029313305">"<xliff:g id="TYPE">%1$s</xliff:g> को &lt;b&gt;<xliff:g id="LABEL">%2$s</xliff:g>&lt;/b&gt; में सेव करें?"</string>
     <string name="autofill_save_title_with_2types" msgid="5214035651838265325">"<xliff:g id="TYPE_0">%1$s</xliff:g> और <xliff:g id="TYPE_1">%2$s</xliff:g> को &lt;b&gt;<xliff:g id="LABEL">%3$s</xliff:g>&lt;/b&gt; में सेव करें?"</string>
     <string name="autofill_save_title_with_3types" msgid="6943161834231458441">"<xliff:g id="TYPE_0">%1$s</xliff:g>, <xliff:g id="TYPE_1">%2$s</xliff:g> और <xliff:g id="TYPE_2">%3$s</xliff:g> को &lt;b&gt;<xliff:g id="LABEL">%4$s</xliff:g>&lt;/b&gt; में सेव करें?"</string>
-    <string name="autofill_update_title" msgid="4879673117448810818">"&lt;b&gt;<xliff:g id="LABEL">%1$s</xliff:g>&lt;/b&gt;? में अपडेट करें?"</string>
-    <string name="autofill_update_title_with_type" msgid="339733442087186755">"<xliff:g id="TYPE">%1$s</xliff:g> को to &lt;b&gt;<xliff:g id="LABEL">%2$s</xliff:g>&lt;/b&gt; में अपडेट करें?"</string>
+    <string name="autofill_update_title" msgid="4879673117448810818">"&lt;b&gt;<xliff:g id="LABEL">%1$s</xliff:g>&lt;/b&gt; में अपडेट करें?"</string>
+    <string name="autofill_update_title_with_type" msgid="339733442087186755">"<xliff:g id="TYPE">%1$s</xliff:g> को &lt;b&gt;<xliff:g id="LABEL">%2$s</xliff:g>&lt;/b&gt; में अपडेट करें?"</string>
     <string name="autofill_update_title_with_2types" msgid="6321714204167424745">"<xliff:g id="TYPE_0">%1$s</xliff:g> और <xliff:g id="TYPE_1">%2$s</xliff:g> को &lt;b&gt;<xliff:g id="LABEL">%3$s</xliff:g>&lt;/b&gt; में अपडेट करें?"</string>
-    <string name="autofill_update_title_with_3types" msgid="5866735124066629287">"<xliff:g id="TYPE_0">%1$s</xliff:g>, <xliff:g id="TYPE_1">%2$s</xliff:g> और <xliff:g id="TYPE_2">%3$s</xliff:g> को &lt;b&gt;<xliff:g id="LABEL">%4$s</xliff:g>&lt;/b&gt; में अपडेट करें."</string>
+    <string name="autofill_update_title_with_3types" msgid="5866735124066629287">"<xliff:g id="TYPE_0">%1$s</xliff:g>, <xliff:g id="TYPE_1">%2$s</xliff:g> और <xliff:g id="TYPE_2">%3$s</xliff:g> को &lt;b&gt;<xliff:g id="LABEL">%4$s</xliff:g>&lt;/b&gt; में अपडेट करें?"</string>
     <string name="autofill_save_yes" msgid="6398026094049005921">"सेव करें"</string>
     <string name="autofill_save_no" msgid="2625132258725581787">"नहीं, धन्यवाद"</string>
     <string name="autofill_update_yes" msgid="310358413273276958">"अपडेट करें"</string>
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index e7b6b5f..839d423 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -129,10 +129,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Poteškoća s registracijom Wi‑Fi poziva kod mobilnog operatera: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi pozivanje"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi pozivi"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Poziv putem WLAN-a"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> poziv putem WLAN-a"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi pozivi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Isključeno"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Prednost ima Wi-Fi mreža"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Za mobilne uređaje"</string>
@@ -527,6 +531,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Nije prepoznato"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Autentificirano otiskom prsta"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Lice je autentificirano"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Lice je autentificirano, pritisnite Potvrdi"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Hardver za otisak prsta nije dostupan."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Otisak prsta nije pohranjen. Uklonite postojeći otisak prsta."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Isteklo je vrijeme čekanja za otisak prsta. Pokušajte ponovo."</string>
@@ -563,6 +569,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Isteklo je vrijeme čekanja za lice. Pokušajte opet"</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Nije moguće pohraniti lice."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Otkazana je radnja s licem."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Autentifikaciju lica otkazao je korisnik."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Previše pokušaja. Pokušajte ponovo kasnije."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Previše pokušaja. Autentifikacija lica onemogućena"</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Pokušajte ponovo."</string>
@@ -1640,6 +1647,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Korekcija boje"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Prečac pristupačnosti uključio je uslugu <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Prečac pristupačnosti isključio je uslugu <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Ponovo upotrijebite prečac pristupačnosti da biste pokrenuli trenutačnu značajku pristupačnosti"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Odaberite značajku koju ćete upotrebljavati kada dodirnete gumb Pristupačnost:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Da biste promijenili značajke, dodirnite i zadržite gumb Pristupačnost."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Povećavanje"</string>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index 3d9a35b..bc54bfa 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Hiba történt a Wi‑Fi-hívás szolgáltatónál való regisztrálása során: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi-hívás"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi-hívás"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN-hívás"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN-hívás"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi-hívás | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Ki"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi előnyben részesítve"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Preferált: mobil"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Nem ismerhető fel"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Ujjlenyomat hitelesítve"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Arc hitelesítve"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Arc hitelesítve; nyomja meg a Megerősítés lehetőséget"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Az ujjlenyomathoz szükséges hardver nem érhető el."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Az ujjlenyomat nem tárolható. Távolítson el egy meglévő ujjlenyomatot."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Az ujjlenyomat-beolvasási műveletkor időtúllépés történt. Próbálkozzon újra."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Időtúllépés az arcbeolvasásnál. Próbálja újra."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Az arc nem tárolható."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Az arccal kapcsolatos művelet törölve."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Az arc hitelesítését a felhasználó visszavonta."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Túl sok próbálkozás. Próbálja újra később."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Túl sok próbálkozás. Arcfelismerés letiltva."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Próbálkozzon újra."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Színkorrekció"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"A Kisegítő lehetőségek gyorsparancsa bekapcsolta a következő szolgáltatást: <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"A Kisegítő lehetőségek gyorsparancsa kikapcsolta a következő szolgáltatást: <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Használja újból a Kisegítő lehetőségek gyorsparancsát az aktuális kisegítő lehetőségek elindításához"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Válassza ki a Kisegítő lehetőségek gombra koppintáskor használni kívánt funkciót:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"A funkciók módosításához tartsa lenyomva a Kisegítő lehetőségek gombot."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Nagyítás"</string>
diff --git a/core/res/res/values-hy/strings.xml b/core/res/res/values-hy/strings.xml
index 8b3f287..4a828fa 100644
--- a/core/res/res/values-hy/strings.xml
+++ b/core/res/res/values-hy/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Wi‑Fi-ի միջոցով արվող զանգերը չհաջողվեց գրանցել ձեր օպերատորի մոտ՝ <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi զանգեր"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi-ի միջոցով զանգեր"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Զանգ WLAN ցանցով"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN ցանցով զանգեր"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Զանգեր Wi-Fi-ի միջոցով | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Անջատված է"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi, նախընտրելի"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Նախընտրելի է բջջային ցանցը"</string>
@@ -514,7 +518,7 @@
     <string name="permdesc_imagesWrite" msgid="7073662756617474375">"Թույլ է տալիս հավելվածին փոփոխել ձեր լուսանկարների հավաքածուն:"</string>
     <string name="permlab_mediaLocation" msgid="8675148183726247864">"ճանաչել տեղադրության մասին տվյալները մեդիա բովանդակության հավաքածուից"</string>
     <string name="permdesc_mediaLocation" msgid="2237023389178865130">"Թույլ է տալիս հավելվածին ճանաչել տեղադրության մասին տվյալները ձեր մեդիա բովանդակության հավաքածուից:"</string>
-    <string name="biometric_error_hw_unavailable" msgid="645781226537551036">"Կենսաչափական սարք չի գտնվել"</string>
+    <string name="biometric_error_hw_unavailable" msgid="645781226537551036">"Կենսաչափական սարքը հասանելի չէ"</string>
     <string name="fingerprint_acquired_partial" msgid="735082772341716043">"Մատնահետքը հայտնաբերվել է մասամբ: Փորձեք նորից:"</string>
     <string name="fingerprint_acquired_insufficient" msgid="4596546021310923214">"Չհաջողվեց մշակել մատնահետքը: Նորից փորձեք:"</string>
     <string name="fingerprint_acquired_imager_dirty" msgid="1087209702421076105">"Մատնահետքերի սենսորն աղտոտված է: Մաքրեք այն և փորձեք նորից:"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Չհաջողվեց ճանաչել"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Մատնահետքը նույնականացվեց"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Դեմքը ճանաչվեց"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Դեմքը ճանաչվեց: Սեղմեք «Հաստատել»:"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Մատնահետքի սարքն անհասանելի է:"</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Հնարավոր չէ պահել մատնահետքը: Հեռացրեք առկա մատնահետքը:"</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Մատնահետքի գրանցման ժամանակը սպառվել է: Փորձեք նորից:"</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Ժամանակը սպառվել է: Նորից փորձեք:"</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Դեմքը հնարավոր չէ պահել։"</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Դեմքի ճանաչումը չեղարկվել է։"</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Դեմքի ճանաչումը չեղարկվել է օգտատիրոջ կողմից:"</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Չափից շատ փորձեր եք կատարել: Փորձեք ավելի ուշ:"</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Չափից շատ փորձեր եք կատարել: Դեմքի ճանաչման գործառույթն անջատվել է։"</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Նորից փորձեք:"</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Գունաշտկում"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Մատչելիության դյուրանցումն միացրել է <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ծառայությունը"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Մատչելիության դյուրանցումն անջատել է <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ծառայությունը"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Հատուկ գործառույթների դյուրանցումը գործարկելու համար նորից օգտագործեք համապատասխան դյուրանցումը"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Ընտրեք որևէ գործառույթ, որը կօգտագործվի Հատուկ գործառույթներ կոճակին հպելու դեպքում՝"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Գործառույթները փոխելու համար հպեք և պահեք Հատուկ գործառույթներ կոճակը։"</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Խոշորացում"</string>
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index 6d1da48..167082d 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Terjadi masalah saat mendaftarkan panggilan Wi‑Fi dengan operator Anda: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Panggilan Wi-Fi"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Panggilan Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Panggilan WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Panggilan WLAN <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Panggilan WiFi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWifi <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Nonaktif"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi dipilih"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Seluler dipilih"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Tidak dikenali"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Sidik jari diautentikasi"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Wajah diautentikasi"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Wajah diautentikasi, silakan tekan konfirmasi"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Hardware sidik jari tidak tersedia."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Sidik jari tidak dapat disimpan. Hapus sidik jari yang ada."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Waktu sidik jari habis. Coba lagi."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Waktu tunggu wajah habis. Harap coba lagi."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Wajah tidak dapat disimpan."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Pemrosesan wajah dibatalkan."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Autentikasi wajah dibatalkan oleh pengguna."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Terlalu banyak percobaan. Coba lagi nanti."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Terlalu sering dicoba. Autentikasi wajah dinonaktifkan."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Coba lagi."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Koreksi Warna"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Pintasan Aksesibilitas mengaktifkan <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Pintasan Aksesibilitas menonaktifkan <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Gunakan Pintasan Aksesibilitas lagi untuk memulai fitur aksesibilitas saat ini"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Pilih fitur yang akan digunakan saat menge-tap tombol Aksesibilitas:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Untuk mengubah fitur, sentuh &amp; tahan tombol Aksesibilitas."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Pembesaran"</string>
diff --git a/core/res/res/values-is/strings.xml b/core/res/res/values-is/strings.xml
index 4d7996f..0c7e6b8 100644
--- a/core/res/res/values-is/strings.xml
+++ b/core/res/res/values-is/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Vandamál kom upp við að skrá Wi‑Fi símtöl hjá símafyrirtækinu: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi símtöl"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi símtöl"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN-símtal"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN-símtal"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi símtal | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Slökkt"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi í forgangi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Farsímakerfi í forgangi"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Þekktist ekki"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Fingrafar staðfest"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Andlit staðfest"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Andlit staðfest, ýttu til að staðfesta"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Fingrafarsvélbúnaður ekki til staðar."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Ekki er hægt að vista fingrafarið. Fjarlægðu eitthvert af fingraförunum sem fyrir eru."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Tímamörk runnu út fyrir fingrafar. Reyndu aftur."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Tímamörk runnu út fyrir andlit. Reyndu aftur."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Ekki tókst að geyma andlit."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Hætt við andlitsgreiningu."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Notandi hætti við andlitsgreiningu."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Of margar tilraunir. Reyndu aftur síðar."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Of margar tilraunir. Slökkt á andlitsgreiningu."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Reyndu aftur."</string>
@@ -1617,6 +1624,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Litaleiðrétting"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Flýtileið aðgengisstillingar kveikti á <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Flýtileið aðgengisstillingar slökkti á <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Notaðu flýtileið aðgengisstillingar aftur til að opna aðgengiseiginleika"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Veldu eiginleika sem á að nota þegar ýtt er á aðgengishnappinn:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Haltu fingri á aðgengishnappinum til að breyta eiginleikum."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Stækkun"</string>
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index 44818a3..a6d5d23 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Si è verificato un problema con la registrazione delle chiamate Wi‑Fi con l\'operatore: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Chiamata Wi-Fi %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Chiamate Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Chiamata WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Chiamata WLAN <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Chiamate Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWifi <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Non attiva"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Rete preferita: Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Rete preferita: dati mobili"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Non riconosciuto"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Impronta digitale autenticata"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Volto autenticato"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Volto autenticato, premi Conferma"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Hardware per l\'impronta digitale non disponibile."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Impossibile memorizzare l\'impronta digitale. Rimuovi un\'impronta esistente."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Timeout impronta digitale. Riprova."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Timeout operazione associata al volto. Riprova."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Il volto non può essere memorizzato."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Operazione associata al volto annullata."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Autenticazione del volto annullata dall\'utente."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Troppi tentativi. Riprova più tardi."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Troppi tentativi. Autenticazione disattivata."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Riprova."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Correzione del colore"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"La scorciatoia Accessibilità ha attivato <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"La scorciatoia Accessibilità ha disattivato <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Usa di nuovo la scorciatoia Accessibilità per avviare l\'attuale funzione di accessibilità"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Scegli una funzione da usare quando tocchi il pulsante Accessibilità:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Per cambiare le funzioni, tocca e tieni premuto il pulsante Accessibilità."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Ingrandimento"</string>
diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml
index fd5c2a1..48933f9 100644
--- a/core/res/res/values-iw/strings.xml
+++ b/core/res/res/values-iw/strings.xml
@@ -130,10 +130,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"‏אירעה בעיה ברישום שיחות Wi-Fi אצל הספק שלך: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"‏שיחות Wi-Fi של %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"‏שיחות Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"שיחה ברשת אלחוטית"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"‏שיחת WLAN <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"‏שיחות WiFi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWifi <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"כבוי"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"‏Wi-Fi מועדף"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"מצב מועדף: רשת סלולרית"</string>
@@ -530,6 +534,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"לא זוהתה"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"טביעת האצבע אומתה"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"זיהוי הפנים בוצע"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"זיהוי הפנים בוצע. יש ללחוץ על אישור"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"החומרה בשביל טביעת אצבע אינה זמינה."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"לא ניתן לאחסן טביעת אצבע. הסר טביעת אצבע קיימת."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"חלף הזמן הקצוב לטביעת אצבע. נסה שוב."</string>
@@ -566,6 +572,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"חלף הזמן הקצוב לזיהוי הפנים. יש לנסות שוב."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"לא ניתן לשמור את הפנים."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"פעולת הפנים בוטלה."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"זיהוי הפנים בוטל על ידי המשתמש."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"יותר מדי ניסיונות. יש לנסות שוב מאוחר יותר."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"יותר מדי ניסיונות. אימות הפנים הושבת."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"יש לנסות שוב."</string>
@@ -1228,13 +1235,13 @@
     <string name="volume_call" msgid="3941680041282788711">"עוצמת קול בשיחה"</string>
     <string name="volume_bluetooth_call" msgid="2002891926351151534">"‏עוצמת הקול בשיחה ב-Bluetooth"</string>
     <string name="volume_alarm" msgid="1985191616042689100">"עוצמת קול של התראה"</string>
-    <string name="volume_notification" msgid="2422265656744276715">"עוצמת קול של הודעות"</string>
+    <string name="volume_notification" msgid="2422265656744276715">"עוצמת הקול של ההתראות"</string>
     <string name="volume_unknown" msgid="1400219669770445902">"עוצמת קול"</string>
     <string name="volume_icon_description_bluetooth" msgid="6538894177255964340">"‏עוצמת קול של Bluetooth"</string>
     <string name="volume_icon_description_ringer" msgid="3326003847006162496">"עוצמת קול של רינגטון"</string>
     <string name="volume_icon_description_incall" msgid="8890073218154543397">"עוצמת קול של שיחות"</string>
     <string name="volume_icon_description_media" msgid="4217311719665194215">"עוצמת קול של מדיה"</string>
-    <string name="volume_icon_description_notification" msgid="7044986546477282274">"עוצמת קול של הודעות"</string>
+    <string name="volume_icon_description_notification" msgid="7044986546477282274">"עוצמת הקול של ההתראות"</string>
     <string name="ringtone_default" msgid="3789758980357696936">"רינגטון ברירת מחדל"</string>
     <string name="ringtone_default_with_actual" msgid="1767304850491060581">"ברירת מחדל (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string>
     <string name="ringtone_silent" msgid="7937634392408977062">"ללא"</string>
@@ -1502,7 +1509,7 @@
     <string name="sync_really_delete" msgid="2572600103122596243">"מחק את הפריטים"</string>
     <string name="sync_undo_deletes" msgid="2941317360600338602">"בטל את פעולות המחיקה"</string>
     <string name="sync_do_nothing" msgid="3743764740430821845">"אל תעשה דבר כרגע"</string>
-    <string name="choose_account_label" msgid="5655203089746423927">"בחר חשבון"</string>
+    <string name="choose_account_label" msgid="5655203089746423927">"בחירת חשבון"</string>
     <string name="add_account_label" msgid="2935267344849993553">"הוספת חשבון"</string>
     <string name="add_account_button_label" msgid="3611982894853435874">"הוספת חשבון"</string>
     <string name="number_picker_increment_button" msgid="2412072272832284313">"הוסף"</string>
@@ -1664,6 +1671,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"תיקון צבעים"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"<xliff:g id="SERVICE_NAME">%1$s</xliff:g> הופעל על-ידי קיצור הדרך לנגישות"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"<xliff:g id="SERVICE_NAME">%1$s</xliff:g> הושבת על-ידי קיצור הדרך לנגישות"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"יש להשתמש שוב במקש הקיצור לנגישות כדי להפעיל את תכונת הנגישות הנוכחית"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"בחר תכונה שתופעל כשתלחץ על הלחצן \'נגישות\':"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"כדי להחליף תכונה, גע בלחצן \'נגישות\' והחזק אותו."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"הגדלה"</string>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index 4cada60..994039c 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"携帯通信会社への Wi‑Fi 通話の登録中に問題が発生しました（<xliff:g id="CODE">%1$s</xliff:g>）"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Wi-Fi通話（%s）"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi 通話"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN 通話"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN 通話"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi 通話 | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"OFF"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi優先"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"モバイル優先"</string>
@@ -284,7 +288,7 @@
     <string name="permgrouprequest_sms" msgid="7168124215838204719">"SMS メッセージの送信と表示を &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; に許可しますか？"</string>
     <string name="permgrouplab_storage" msgid="1971118770546336966">"ストレージ"</string>
     <string name="permgroupdesc_storage" msgid="637758554581589203">"端末内の写真、メディア、ファイルへのアクセス"</string>
-    <string name="permgrouprequest_storage" msgid="7885942926944299560">"端末内の写真、メディア、ファイルへのアクセスを &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; に許可しますか？"</string>
+    <string name="permgrouprequest_storage" msgid="7885942926944299560">"端末内の写真、メディア、ファイルへのアクセスを「&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;」に許可しますか？"</string>
     <string name="permgrouplab_microphone" msgid="171539900250043464">"マイク"</string>
     <string name="permgroupdesc_microphone" msgid="4988812113943554584">"音声の録音"</string>
     <string name="permgrouprequest_microphone" msgid="9167492350681916038">"音声の録音を &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; に許可しますか？"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"認識されませんでした"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"指紋認証を完了しました"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"顔を認証しました"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"顔を認証しました。[確認] を押してください"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"指紋ハードウェアは使用できません。"</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"指紋を保存できません。既存の指紋を削除してください。"</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"指紋の読み取りがタイムアウトになりました。もう一度お試しください。"</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"読み取りのタイムアウトです。もう一度お試しください。"</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"顔の情報を保存できません。"</string>
     <string name="face_error_canceled" msgid="283945501061931023">"顔の操作をキャンセルしました。"</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"顔の認証がユーザーによりキャンセルされました。"</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"試行回数の上限です。後でもう一度お試しください。"</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"試行回数の上限です。顔認証は無効になりました。"</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"もう一度お試しください。"</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"色補正"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"ユーザー補助機能のショートカットにより <xliff:g id="SERVICE_NAME">%1$s</xliff:g> は ON になっています"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"ユーザー補助機能のショートカットにより <xliff:g id="SERVICE_NAME">%1$s</xliff:g> は OFF になっています"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"現在のユーザー補助機能を開始するには、ユーザー補助機能のショートカットをもう一度使用してください"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"[ユーザー補助] ボタンをタップした場合に使用する機能を選択してください。"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"機能を変更するには、[ユーザー補助] ボタンを押し続けてください。"</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"拡大"</string>
diff --git a/core/res/res/values-ka/strings.xml b/core/res/res/values-ka/strings.xml
index 51a4c28..a9ce748 100644
--- a/core/res/res/values-ka/strings.xml
+++ b/core/res/res/values-ka/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Wi‑Fi დარეკვის თქვენს ოპერატორთან რეგისტრირებისას შეცდომა წარმოიქმნა: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s დარეკვა Wi-Fi-ს მეშვეობით"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi დარეკვა"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN ზარი"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN ზარი"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi დარეკვა | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"გამორთული"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"სასურველია Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"უპირატესობა მიენიჭოს მობილურს"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"არ არის ამოცნობილი"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"თითის ანაბეჭდი ავტორიზებულია"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"სახე ავტორიზებულია"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"სახე ავტორიზებულია, დააჭირეთ დადასტურებას"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"თითის ანაბეჭდის აპარატურა არ არის ხელმისაწვდომი."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"თითის ანაბეჭდის შენახვა ვერ ხერხდება. გთხოვთ, ამოშალოთ არსებული თითის ანაბეჭდი."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"თითის ანაბეჭდის ლოდინის დრო ამოიწურა. სცადეთ ხელახლა."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"სახის ამოცნობის დრო ამოიწურა. ცადეთ ხელახლა."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"სახის შენახვა ვერ მოხერხდა."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"სახის ამოცნობა გაუქმდა."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"სახის ავტორიზაცია გაუქმდა მომხმარებლის მიერ."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"დაფიქსირდა ბევრი მცდელობა. ცადეთ მოგვიანებით."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"დაფიქსირდა ბევრი მცდელობა. სახის ამოცნობა გაითიშა."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"ცადეთ ხელახლა."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"ფერთა კორექცია"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"მარტივი წვდომის მალსახმობმა ჩართო <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"მარტივი წვდომის მალსახმობმა გამორთო <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"მარტივი წვდომის ამჟამინდელი ფუნქციის გასაშვებად გამოიყენეთ მარტივი წვდომის მალსახმობი"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"აირჩიეთ მარტივი წვდომის ღილაკზე შეხებისას გამოსაყენებელი ფუნქცია:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"ფუნქციების შესაცვლელად ხანგრძლივად შეეხეთ მარტივი წვდომის ღილაკს."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"გადიდება"</string>
diff --git a/core/res/res/values-kk/strings.xml b/core/res/res/values-kk/strings.xml
index 18be1e6..a8b527b 100644
--- a/core/res/res/values-kk/strings.xml
+++ b/core/res/res/values-kk/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Оператордың Wi‑Fi қоңырауын тіркеу кезінде қате шықты: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi арқылы қоңырау шалу"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi қоңыраулары"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN қоңырауы"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN қоңырауы"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi қоңыраулары | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Өшірулі"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Қалаулы Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Таңдаулы мобильдік байланыс"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Танылмады"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Саусақ ізі аутентификацияланды"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Бет танылды"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Бет танылды, \"Растау\" түймесін басыңыз"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Саусақ ізі жабдығы қолжетімді емес."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Саусақ ізін сақтау мүмкін емес. Бар саусақ ізін жойыңыз."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Саусақ ізін күту уақыты бітті. Әрекетті қайталаңыз."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Күту уақыты бітті. Әрекетті қайталаңыз."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Бетті сақтау мүмкін емес."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Бетті танудан бас тартылды."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Пайдаланушы бетті тану әрекетінен бас тартты."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Тым көп әрекет жасалды. Кейінірек қайталаңыз."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Тым көп әрекет жасалды. Бетті тану функциясы өшірілді."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Қайталап көріңіз."</string>
@@ -1617,6 +1624,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Түсті түзету"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Арнайы мүмкіндіктер таңбашасы <xliff:g id="SERVICE_NAME">%1$s</xliff:g> қызметін қосты"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Арнайы мүмкіндіктер таңбашасы <xliff:g id="SERVICE_NAME">%1$s</xliff:g> қызметін өшірді"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Арнайы мүмкіндіктер функциясын іске қосу үшін оның таңбашасын пайдаланыңыз"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"\"Арнайы мүмкіндіктер\" түймесін түрткенде пайдаланатын мүмкіндікті таңдаңыз:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Мүмкіндіктерді өзгерту үшін \"Арнайы мүмкіндіктер\" түймесін түртіп, ұстап тұрыңыз."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Ұлғайту"</string>
diff --git a/core/res/res/values-km/strings.xml b/core/res/res/values-km/strings.xml
index 091fa71..2620ce4 100644
--- a/core/res/res/values-km/strings.xml
+++ b/core/res/res/values-km/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"មាន​បញ្ហា​ក្នុង​ការ​ចុះ​ឈ្មោះ​ការហៅ​តាម Wi‑Fi ជាមួយ​ក្រុមហ៊ុន​សេវា​ទូរសព្ទ​របស់អ្នក៖ <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"ការហៅតាមរយៈ Wi-Fi %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> ការហៅតាម Wi-Fi"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"ការហៅ​តាម WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> ការហៅតាម WLAN"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"ការហៅតាម WiFi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"បិទ"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi ជាអាទិភាព"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"ទិន្នន័យទូរសព្ទចល័តជាអាទិភាព"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"មិនអាចសម្គាល់បានទេ"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"បាន​ផ្ទៀង​ផ្ទាត់​ស្នាម​ម្រាមដៃ"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"បានផ្ទៀងផ្ទាត់​មុខ"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"បានផ្ទៀងផ្ទាត់​មុខ សូម​ចុច​បញ្ជាក់"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"ផ្នែករឹងស្នាមម្រាមដៃមិនមានទេ។"</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"មិនអាចផ្ទុកស្នាមម្រាមដៃទេ។ សូមយកស្នាមម្រាមដៃដែលមានស្រាប់ចេញ។"</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"ការផ្តិតម្រាមដៃបានអស់ពេល។ សូមព្យាយាមម្តងទៀត។"</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"ការសម្គាល់​ផ្ទៃមុខ​បាន​អស់ម៉ោង។ សូមព្យាយាមម្ដងទៀត។"</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"មិន​អាច​រក្សាទុក​ផ្ទៃ​មុខ​បានទេ។"</string>
     <string name="face_error_canceled" msgid="283945501061931023">"បាន​បោះបង់​ប្រតិបត្តិការចាប់​ផ្ទៃមុខ។"</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"ការផ្ទៀងផ្ទាត់​មុខ​ត្រូវបានបោះបង់ដោយអ្នកប្រើប្រាស់។"</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"ព្យាយាមចូលច្រើនពេកហើយ។ សូមព្យាយាមម្តងទៀតពេលក្រោយ។"</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"ព្យាយាមចូលច្រើនពេកហើយ។ បាន​បិទការផ្ទៀងផ្ទាត់​ផ្ទៃ​មុខ។"</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"សូមព្យាយាម​ម្ដងទៀត។"</string>
@@ -1618,6 +1625,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"ការ​កែ​ពណ៌"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"ផ្លូវកាត់​ភាព​ងាយ​ស្រួល​បាន​បើក <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"ផ្លូវកាត់​ភាព​ងាយ​ស្រួល​បាន​បិទ <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"ប្រើផ្លូវកាត់​ភាពងាយស្រួល​ម្ដងទៀត ដើម្បី​ចាប់ផ្ដើម​មុខងារ​ភាពងាយប្រើ​បច្ចុប្បន្ន"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"ជ្រើសរើស​មុខងារ​ដែលត្រូវ​ប្រើ នៅពេល​ដែល​អ្នកចុច​ប៊ូតុង​ភាពងាយស្រួល៖"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"ដើម្បី​ផ្លាស់ប្តូរ​មុខងារ សូម​ចុច​ប៊ូតុង​ភាព​ងាយស្រួល​ឲ្យ​ជាប់។"</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"ការ​ពង្រីក"</string>
diff --git a/core/res/res/values-kn/strings.xml b/core/res/res/values-kn/strings.xml
index dca94ff..1b83ec2 100644
--- a/core/res/res/values-kn/strings.xml
+++ b/core/res/res/values-kn/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"ನಿಮ್ಮ ವಾಹಕದೊಂದಿಗೆ ವೈ-ಫೈ ಕರೆ ಮಾಡುವಿಕೆ ಸಮಸ್ಯೆ ನೋಂದಾಯಿಸುವಿಕೆ: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s ವೈ-ಫೈ ಕರೆ ಮಾಡುವಿಕೆ"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> ವೈ-ಫೈ ಕರೆ ಮಾಡುವಿಕೆ"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN ಕರೆ"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN ಕರೆ"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> ವೈ-ಫೈ"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"ವೈಫೈ ಕರೆಮಾಡುವಿಕೆ | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"ಆಫ್"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"ವೈ-ಫೈಗೆ ಆದ್ಯತೆ"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"ಮೊಬೈಲ್‌ಗೆ ಆದ್ಯತೆ"</string>
@@ -284,7 +288,7 @@
     <string name="permgrouprequest_sms" msgid="7168124215838204719">"ಎಸ್‌ಎಂಎಸ್‌ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಲು ಮತ್ತು ವೀಕ್ಷಿಸಲು &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string>
     <string name="permgrouplab_storage" msgid="1971118770546336966">"ಸಂಗ್ರಹಣೆ"</string>
     <string name="permgroupdesc_storage" msgid="637758554581589203">"ಸಾಧನದಲ್ಲಿ ಫೋಟೋಗಳು, ಮಾಧ್ಯಮ ಮತ್ತು ಫೈಲ್‌ಗಳನ್ನು ಪ್ರವೇಶಿಸಲು"</string>
-    <string name="permgrouprequest_storage" msgid="7885942926944299560">"ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಫೋಟೋಗಳು, ಮಾಧ್ಯಮ ಮತ್ತು ಫೈಲ್‌ಗಳನ್ನು ಪ್ರವೇಶಿಸಲು &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string>
+    <string name="permgrouprequest_storage" msgid="7885942926944299560">"ಸಾಧನದಲ್ಲಿ ಫೋಟೋಗಳು, ಮಾಧ್ಯಮ, ಫೈಲ್‌ಗಳನ್ನು ಪ್ರವೇಶಿಸಲು &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string>
     <string name="permgrouplab_microphone" msgid="171539900250043464">"ಮೈಕ್ರೋಫೋನ್‌"</string>
     <string name="permgroupdesc_microphone" msgid="4988812113943554584">"ಆಡಿಯೊ ರೆಕಾರ್ಡ್ ಮಾಡಿ"</string>
     <string name="permgrouprequest_microphone" msgid="9167492350681916038">"ಆಡಿಯೋ ರೆಕಾರ್ಡ್‌ ಮಾಡಲು &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"ಗುರುತಿಸಲಾಗಿಲ್ಲ"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಅನ್ನು ಪ್ರಮಾಣೀಕರಣ ಮಾಡಲಾಗಿದೆ"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"ಮುಖವನ್ನು ದೃಢೀಕರಿಸಲಾಗಿದೆ"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"ಮುಖವನ್ನು ದೃಢೀಕರಿಸಲಾಗಿದೆ, ದೃಢೀಕರಣವನ್ನು ಒತ್ತಿ"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"ಬೆರಳಚ್ಚು ಹಾರ್ಡ್‌ವೇರ್‌ ಲಭ್ಯವಿಲ್ಲ."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"ಬೆರಳಚ್ಚು ಸಂಗ್ರಹಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಬೆರಳಚ್ಚು ತೆಗೆದುಹಾಕಿ."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"ಬೆರಳಚ್ಚು ಅವಧಿ ಮೀರಿದೆ. ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"ಮುಖ ಸಮಯದ ಅವಧಿಯನ್ನು ತಲುಪಿದೆ. ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"ಮುಖವನ್ನು ಸಂಗ್ರಹಿಸಲಾಗುವುದಿಲ್ಲ."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"ಮುಖದ ಕಾರ್ಯಚರಣೆಯನ್ನು ರದ್ದುಗೊಳಿಸಲಾಗಿದೆ."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"ಮುಖ ದೃಢೀಕರಣವನ್ನು ಬಳಕೆದಾರರ ಮೂಲಕ ರದ್ದುಗೊಳಿಸಲಾಗಿದೆ."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"ಹಲವು ಬಾರಿ ಪ್ರಯತ್ನಿಸಿದ್ದೀರಿ. ನಂತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"ಹಲವು ಪ್ರಯತ್ನ. ಮುಖದ ದೃಢೀಕರಣ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."</string>
@@ -1617,6 +1624,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"ಬಣ್ಣ ತಿದ್ದುಪಡಿ"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"ಪ್ರವೇಶಿಸುವಿಕೆ ಶಾರ್ಟ್‌ಕಟ್‌, <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ಅನ್ನು ಆನ್ ಮಾಡಿದೆ"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"ಪ್ರವೇಶಿಸುವಿಕೆ ಶಾರ್ಟ್‌ಕಟ್‌, <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ಅನ್ನು ಆಫ್ ಮಾಡಿದೆ"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"ಪ್ರಸ್ತುತ ಪ್ರವೇಶದ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಪ್ರಾರಂಭಿಸಲು ಪ್ರವೇಶಿಸುವಿಕೆ ಶಾರ್ಟ್‌ಕಟ್‌ ಅನ್ನು ಪುನಃ ಬಳಸಿ"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"ನೀವು ಪ್ರವೇಶಿಸುವಿಕೆ ಬಟನ್ ಟ್ಯಾಪ್ ಮಾಡಿದಾಗ ಬಳಸುವುದಕ್ಕಾಗಿ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಆರಿಸಿ:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಬದಲಾಯಿಸಲು, ಪ್ರವೇಶಿಸುವಿಕೆ ಬಟನ್ ಒತ್ತಿಹಿಡಿದುಕೊಳ್ಳಿ."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"ಹಿಗ್ಗಿಸುವಿಕೆ"</string>
diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml
index d37a475..6223dab 100644
--- a/core/res/res/values-ko/strings.xml
+++ b/core/res/res/values-ko/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"이동통신사를 통해 Wi‑Fi 통화를 등록하는 중에 문제가 발생했습니다. 오류 코드: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi 통화"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi 통화"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN 통화"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN 통화"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi 통화 | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"꺼짐"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi를 기본으로 설정"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"모바일에 최적화됨"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"인식할 수 없음"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"지문이 인증됨"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"얼굴이 인증되었습니다"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"얼굴이 인증되었습니다. 확인을 누르세요"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"지문 인식 하드웨어를 사용할 수 없습니다."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"지문을 저장할 수 없습니다. 기존 지문을 삭제하세요."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"지문 인식 시간이 초과되었습니다. 다시 시도하세요."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"얼굴 인식 시간이 초과되었습니다. 다시 시도하세요."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"얼굴을 저장할 수 없습니다."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"얼굴 인식 작업이 취소되었습니다."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"사용자가 얼굴 인증을 취소했습니다."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"시도 횟수가 너무 많습니다. 나중에 다시 시도하세요."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"시도 횟수가 너무 많아 얼굴 인증이 사용 중지되었습니다."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"다시 시도해 보세요."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"색상 보정"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"접근성 단축키로 인해 <xliff:g id="SERVICE_NAME">%1$s</xliff:g>이(가) 사용 설정되었습니다."</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"접근성 단축키로 인해 <xliff:g id="SERVICE_NAME">%1$s</xliff:g>이(가) 사용 중지되었습니다."</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"현재 접근성 기능을 시작하려면 접근성 단축키를 다시 사용하세요"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"접근성 버튼을 탭할 때 사용할 기능을 선택하세요."</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"기능을 변경하려면 접근성 버튼을 길게 터치하세요."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"확대"</string>
diff --git a/core/res/res/values-ky/strings.xml b/core/res/res/values-ky/strings.xml
index cf5f531..f49746f 100644
--- a/core/res/res/values-ky/strings.xml
+++ b/core/res/res/values-ky/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Байланыш операторуңуз менен Wi-Fi аркылуу чалууну каттоодо ката кетти: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi Чалуу"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi аркылуу чалуу"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN аркылуу чалуу"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN аркылуу чалуу"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"WiFi аркылуу чалуу | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Өчүк"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi тандалган"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Тандалган мобилдик түзмөк"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Таанылган жок"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Манжа изинин аныктыгы текшерилди"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Жүздүн аныктыгы текшерилди"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Жүздүн аныктыгы текшерилди, эми \"Ырастоону\" басыңыз"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Манжа изинин аппараттык камсыздоосу жеткиликтүү эмес."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Манжа изин сактоо мүмкүн эмес. Учурдагы манжа изин алып салыңыз."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Манжа изин күтүү мөөнөтү бүттү. Кайра аракет кылыңыз."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Жүздүн аныктыгын текшерүүнү күтүү мөөнөтү бүттү. Кайра аракет кылыңыз."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Жүздү сактоо мүмкүн эмес."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Жүздүн аныктыгын текшерүү жокко чыгарылды."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Жүздүн аныктыгын текшерүү колдонуучу аркылуу жокко чыгарылды."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Өтө көп жолу аракет жасадыңыз. Кийинчерээк кайра аракет кылыңыз."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Өтө көп жолу аракет жасадыңыз. Жүздүн аныктыгын текшерүү сенсору өчүрүлдү."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Кайра аракет кылыңыз."</string>
@@ -1618,6 +1625,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Түсүн тууралоо"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Атайын мүмкүнчүлүктөр кыска жолу <xliff:g id="SERVICE_NAME">%1$s</xliff:g> кызматын күйгүздү"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Атайын мүмкүнчүлүктөр кыска жолу <xliff:g id="SERVICE_NAME">%1$s</xliff:g> кызматын өчүрдү"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Учурдагы атайын мүмкүнчүлүктөр функциясын иштетүү үчүн кыска жолду кайра колдонуңуз"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Атайын мүмкүнчүлүктөр баскычын таптаганыңызда иштетиле турган функцияны тандаңыз:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Функцияларды өзгөртүү үчүн Атайын мүмкүнчүлүктөр баскычын басып, кармап туруңуз."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Чоңойтуу"</string>
diff --git a/core/res/res/values-lo/strings.xml b/core/res/res/values-lo/strings.xml
index 7d8a4e2..9fc6033 100644
--- a/core/res/res/values-lo/strings.xml
+++ b/core/res/res/values-lo/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"ເກີດບັນຫາໃນການລົງທະບຽນການໂທ Wi‑Fi ກັບຜູ້ໃຫ້ບໍລິການຂອງທ່ານ: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"ການ​ໂທ %s Wi-Fi"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi Calling"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN Call"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN Call"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"WiFi Calling | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"ປິດ"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"ເລືອກໃຊ້ Wi​-Fi ກ່ອນ"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"ຕ້ອງການໃຊ້ມືຖື"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"ບໍ່ຮັບຮູ້"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"ພິສູດຢືນຢັນລາຍນິ້ວມືແລ້ວ"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"ພິສູດຢືນຢັນໃບໜ້າແລ້ວ"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"ພິສູດຢືນຢັນໃບໜ້າແລ້ວ, ກະລຸນາກົດຢືນຢັນ"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"ບໍ່​ມີ​ຮາດ​ແວລາຍ​ນີ້ວ​ມື​ໃຫ້​ຢູ່."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"ບໍ່​ສາ​ມາດ​ເກັບ​ຮັກ​ສາ​ລາຍ​ນີ້ວ​ມື​ໄວ້​ໄດ້. ກະ​ລຸ​ນາ​ເອົາ​ລາຍ​ນີ້ວ​ມື​ທີ່​ມີ​ຢູ່​ອອກ​ໄປ."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"ເວ​ລາ​ລາຍ​ນີ້ວ​ມື​ບໍ່​ເຂົ້າ​ເຖິງ​ໄດ້. ລອງ​ໃໝ່​ອີກ."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"ໝົດເວລາກວດໃບໜ້າແລ້ວ. ກະລຸນາລອງອີກຄັ້ງ."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"ບໍ່ສາມາດເກັບຮັກສາໃບໜ້າໄວ້ໄດ້."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"ຍົກເລີກການດຳເນີນການກັບໃບໜ້າແລ້ວ."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"ຜູ້ໃຊ້ຍົກເລີກການພິສູດຢືນຢັນໃບໜ້າແລ້ວ."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"ມີຄວາມພະຍາຍາມຫຼາຍຄັ້ງເກີນໄປ. ກະລຸນາລອງໃໝ່ໃນພາຍຫຼັງ."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"ມີຄວາມພະຍາຍາມຫຼາຍຄັ້ງເກີນໄປ. ປິດນຳໃຊ້ການກວດສອບຄວາມຖືກຕ້ອງດ້ວຍໃບໜ້າແລ້ວ."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"ລອງອີກຄັ້ງ."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"ການແກ້ໄຂຄ່າສີ"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Accessibility Shortcut turned <xliff:g id="SERVICE_NAME">%1$s</xliff:g> on"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Accessibility Shortcut turned <xliff:g id="SERVICE_NAME">%1$s</xliff:g> off"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"ໃຊ້ປຸ່ມລັດການຊ່ວຍເຂົ້າເຖິງອີກເທື່ອໜຶ່ງເພື່ອຊອກຫາຄຸນສົມບັດການຊ່ວຍເຂົ້າເຖິງໃນປັດຈຸບັນ"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"ເລືອກຄຸນສົມບັດທີ່ຈະໃຊ້ເມື່ອທ່ານແຕະປຸ່ມການຊ່ວຍເຂົ້າເຖິງ:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"ເພື່ອປ່ຽນຄຸນສົມບັດ, ໃຫ້ແຕະປຸ່ມການຊ່ວຍເຂົ້າເຖິງຄ້າງໄວ້."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"ການຂະຫຍາຍ"</string>
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index a0015c3..d6869c1 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -130,10 +130,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Kilo problema registruojant „Wi‑Fi“ skambinimą pas operatorių: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"„%s“ „Wi-Fi“ skambinimas"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> „Wi-Fi“ skambinimas"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN skambutis"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN skambutis"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> „Wi-Fi“"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"„Wi-Fi“ skambinimas | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> „VoWifi“"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Išjungta"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Pageidautinas „Wi-Fi“ ryšys"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Pirmenybė mobiliojo ryšio tinklui"</string>
@@ -530,6 +534,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Neatpažinta"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Kontrolinis kodas autentifikuotas"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Veidas autentifikuotas"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Veidas autentifikuotas, paspauskite patvirtinimo mygtuką"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Kontrolinio kodo aparatinė įranga nepasiekiama."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Negalima išsaugoti kontrolinio kodo. Pašalinkite esamą kontrolinį kodą."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Baigėsi kontrolinio kodo nustatymo skirtasis laikas. Bandykite dar kartą."</string>
@@ -566,6 +572,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Baigėsi veido atpaž. skirt. laik. Band. dar kartą."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Nepavyko išsaugoti veido duomenų."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Veido atpažinimo operacija atšaukta."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Veido autentifikavimą atšaukė naudotojas."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Per daug bandymų. Vėliau bandykite dar kartą."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Per daug bandymų. Veido autentifik. išjungtas."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Bandykite dar kartą."</string>
@@ -1664,6 +1671,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Spalvų taisymas"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Pritaikymo neįgaliesiems sparčiuoju klavišu buvo įjungta „<xliff:g id="SERVICE_NAME">%1$s</xliff:g>“"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Pritaikymo neįgaliesiems sparčiuoju klavišu buvo išjungta „<xliff:g id="SERVICE_NAME">%1$s</xliff:g>“"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Norėdami įjungti dabartinę pritaikymo neįgaliesiems funkciją, dar kartą naudokite spartųjį pritaikymo neįgaliesiems klavišą"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Pasirinkite funkciją, kuri bus naudojama, kai paliesite pritaikymo neįgaliesiems mygtuką:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Jei norite pakeisti funkcijas, palieskite ir palaikykite pritaikymo neįgaliesiems mygtuką."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Didinimas"</string>
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index a1aebe1..156a1a9 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -129,10 +129,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Reģistrējot Wi-Fi zvanus pie mobilo sakaru operatora, radās problēma: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi zvani"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi zvani"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN zvans"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN zvans"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi zvani | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Izslēgts"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Vēlams Wi-Fi tīkls"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Vēlams mobilo datu savienojums"</string>
@@ -527,6 +531,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Dati nav atpazīti"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Pirksta nospiedums tika autentificēts."</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Seja autentificēta"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Seja ir autentificēta. Nospiediet pogu Apstiprināt."</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Nospieduma aparatūra nav pieejama."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Pirkstu nospiedumu nevar saglabāt. Lūdzu, noņemiet esošu pirksta nospiedumu."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Pirkstu nospiedumu nolasīšanas aparatūras noildze. Mēģiniet vēlreiz."</string>
@@ -563,6 +569,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Sejas datu nolasīšanas noildze. Mēģiniet vēlreiz."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Sejas datus nevar saglabāt."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Darbība ar sejas datiem atcelta."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Lietotājs atcēla sejas autentificēšanu."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Pārāk daudz mēģinājumu. Vēlāk mēģiniet vēlreiz."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Par daudz mēģinājumu. Sejas atpazīšana atspējota."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Mēģiniet vēlreiz."</string>
@@ -1640,6 +1647,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Krāsu korekcija"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Pieejamības saīsne aktivizēja lietotni <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Pieejamības saīsne deaktivizēja lietotni <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Lai sāktu izmantot pašreizējo pieejamības funkciju, vēlreiz izmantojiet pieejamības saīsni."</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Izvēlieties funkciju, ko izmantot, kad pieskaraties pogai Pieejamība."</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Lai mainītu funkcijas, pieskarieties pogai Pieejamība un turiet to."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Palielinājums"</string>
diff --git a/core/res/res/values-mcc262-mnc02/strings.xml b/core/res/res/values-mcc262-mnc02/strings.xml
deleted file mode 100644
index 2b89401..0000000
--- a/core/res/res/values-mcc262-mnc02/strings.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/**
- * Copyright (c) 2017, Google Inc.
- *
- * 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.
- */
--->
-
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-
-     <!-- Do not translate. Template for showing mobile network operator name while WFC is active -->
-     <string-array name="wfcSpnFormats">
-         <item>%s</item>
-         <item>%s Wi-Fi Calling</item>
-     </string-array>
-</resources>
diff --git a/core/res/res/values-mcc302-mnc370/strings.xml b/core/res/res/values-mcc302-mnc370/strings.xml
deleted file mode 100644
index f5b8496..0000000
--- a/core/res/res/values-mcc302-mnc370/strings.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2017, 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.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- Template for showing mobile network operator name while WFC is active -->
-    <string-array name="wfcSpnFormats">
-        <item>%s</item>
-        <item>%s Wi-Fi</item>
-    </string-array>
-</resources>
diff --git a/core/res/res/values-mcc302-mnc720/strings.xml b/core/res/res/values-mcc302-mnc720/strings.xml
deleted file mode 100644
index f5b8496..0000000
--- a/core/res/res/values-mcc302-mnc720/strings.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2017, 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.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- Template for showing mobile network operator name while WFC is active -->
-    <string-array name="wfcSpnFormats">
-        <item>%s</item>
-        <item>%s Wi-Fi</item>
-    </string-array>
-</resources>
diff --git a/core/res/res/values-mk/strings.xml b/core/res/res/values-mk/strings.xml
index 0ab31b3..8bca75e 100644
--- a/core/res/res/values-mk/strings.xml
+++ b/core/res/res/values-mk/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Проблем при регистрирањето на функцијата „Повици преку Wi‑Fi“ со операторот: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Повикување преку Wi-Fi"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Повици преку Wi-Fi на <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Повик преку WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Повик преку WLAN на <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi на <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Повици преку Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"Глас преку Wi-Fi на <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Исклучено"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Се претпочита Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Претпочитам мобилен интернет"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Непознат"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Отпечатокот е проверен"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Лицето е проверено"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Лицето е проверено, притиснете го копчето „Потврди“"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Хардвер за отпечаток од прст не е достапен."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Отпечатокот не може да се складира. Отстранете го постоечкиот отпечаток."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Се достигна времето на истекување на отпечатокот. Обидете се повторно."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Истече времето за проверка на лице. Повторен обид."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Лицето не може да се чува."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Операцијата со лице се откажа."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Проверката на лицето е откажана од корисникот."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Премногу обиди. Обидете се повторно подоцна."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Премногу обиди. Проверката на лице е оневозможена."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Обидете се повторно."</string>
@@ -1619,6 +1626,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Корекција на бои"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Кратенката за пристапност ја вклучи <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Кратенката за пристапност ја исклучи <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Повторно употребете ја кратенката за пристапност за да ја стартувате тековната функција за пристапност"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Изберете функција за користење кога ќе го допрете копчето за „Пристапност“."</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"За променување функции, допрете го и задржете го копчето за „Пристапност“."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Зголемување"</string>
diff --git a/core/res/res/values-ml/strings.xml b/core/res/res/values-ml/strings.xml
index eafd6a4..1efdc72 100644
--- a/core/res/res/values-ml/strings.xml
+++ b/core/res/res/values-ml/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"നിങ്ങളുടെ കാരിയർ ഉപയോഗിച്ച് വൈഫൈ കോളിംഗ് രജിസ്‌റ്റർ ചെയ്യുന്നതിൽ പ്രശ്‌നം: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s വൈഫൈ കോളിംഗ്"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> വൈഫൈ കോളിംഗ്"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN കോൾ"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN കോൾ"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> വൈഫൈ"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"വൈഫൈ കോളിംഗ് | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> Voവൈഫൈ"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"ഓഫ്"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"വൈഫൈ തിരഞ്ഞെടുത്തിരിക്കുന്നു"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"മൊബൈൽ ഡാറ്റ ഉപയോഗിക്കാൻ താൽപ്പര്യപ്പെടുന്നു"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"തിരിച്ചറിഞ്ഞില്ല"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"ഫിംഗർപ്രിന്റ് പരിശോധിച്ചുറപ്പിച്ചു"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"മുഖം പരിശോധിച്ചുറപ്പിച്ചു"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"മുഖം പരിശോധിച്ചുറപ്പിച്ചു, സ്ഥിരീകരിക്കുക അമർത്തുക"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"ഫിംഗർപ്രിന്റ് ഹാർഡ്‌വെയർ ലഭ്യമല്ല."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"വിരലടയാളം സംഭരിക്കാനാവില്ല. നിലവിലുള്ള വിരലടയാളം നീക്കംചെയ്യുക."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"വിരലടയാളം നൽകേണ്ട സമയം കഴിഞ്ഞു. വീണ്ടും ശ്രമിക്കുക."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"മുഖം നൽകേണ്ട സമയം കഴിഞ്ഞു. വീണ്ടും ശ്രമിക്കുക."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"മുഖം സൂക്ഷിക്കാനാവില്ല."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"മുഖത്തിന്റെ പ്രവർത്തനം റദ്ദാക്കി."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"മുഖം പരിശോധിച്ചുറപ്പിക്കൽ ഉപയോക്താവ് റദ്ദാക്കി."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"നിരവധി തവണ ശ്രമിച്ചു. പിന്നീട് വീണ്ടും ശ്രമിക്കുക."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"നിരവധി തവണ ശ്രമിച്ചു. മുഖം തിരിച്ചറിയൽ പ്രവർത്തനരഹിതമാക്കി."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"വീണ്ടും ശ്രമിക്കുക."</string>
@@ -1617,6 +1624,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"വർണ്ണം ക്രമീകരിക്കൽ"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"ഉപയോഗസഹായിക്കുള്ള കുറുക്കുവഴി <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ഓൺ ചെയ്തിരിക്കുന്നു"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"ഉപയോഗസഹായിക്കുള്ള കുറുക്കുവഴി <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ഓഫ് ചെയ്തിരിക്കുന്നു"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"നിലവിലെ ഉപയോഗസഹായി ഫീച്ചർ ആരംഭിക്കാൻ വീണ്ടും ഉപയോഗസഹായി കുറുക്കുവഴി ഉപയോഗിക്കുക"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"നിങ്ങൾ ഉപയോഗസഹായി ബട്ടൺ ടാപ്പുചെയ്യുമ്പോൾ ഉപയോഗിക്കുന്നതിന് ഒരു ഫീച്ചർ തിരഞ്ഞെടുക്കുക:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"ഫീച്ചറുകൾ മാറ്റുന്നതിന് ഉപയോഗസഹായി ബട്ടൺ സ്‌പർശിച്ചുപിടിക്കുക."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"മാഗ്നിഫിക്കേഷൻ"</string>
diff --git a/core/res/res/values-mn/strings.xml b/core/res/res/values-mn/strings.xml
index 12e3186..86ae178 100644
--- a/core/res/res/values-mn/strings.xml
+++ b/core/res/res/values-mn/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Таны оператор компанийн Wi‑Fi дуудлагыг бүртгэхэд асуудал гарлаа: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi Дуудлага"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi дуудлага"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN дуудлага"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN дуудлага"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"WiFi дуудлага | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Идэвхгүй"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi давуу эрхтэй"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Мобайл давуу эрхтэй"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Таниагүй"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Хурууны хээг нотолсон"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Царайг баталгаажууллаа"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Царайг баталгаажууллаа. Баталгаажуулах товчлуурыг дарна уу"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Хурууны хээний тоног төхөөрөмж бэлэн бус байна."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Хурууны хээг хадгалах боломжгүй байна. Одоо байгаа хурууны хээг арилгана уу."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Хурууны хээ оруулах хугацаа өнгөрсөн байна. Дахин оруулна уу."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Царай таниулах хугацаа дууслаа. Дахин оролдоно уу."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Царайг хадгалах боломжгүй байна."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Царайны үйл ажиллагааг цуцаллаа."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Хэрэглэгч царайгаар баталгаажуулахыг цуцалсан байна."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Хэт олон удаа оролдлоо. Дараа дахин оролдоно уу."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Хэт олон удаа оролдлоо. Царай танилтыг идэвхгүй болголоо."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Дахин оролдоно уу."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Өнгөний засвар"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Хүртээмжийн товчлол <xliff:g id="SERVICE_NAME">%1$s</xliff:g>-г асаасан"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Хүртээмжийн товчлол <xliff:g id="SERVICE_NAME">%1$s</xliff:g>-г унтраасан"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Одоогийн хүртээмжит онцлогийг эхлүүлэхийн тулд нэвтрэлтийн товчлолыг ашиглах"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Хүртээмжийн товчлуурыг товших үедээ ашиглах онцлогийг сонгоно уу:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Онцлогийг өөрчлөхийн тулд Хүртээмжийн товчлуурыг дараад хүлээнэ үү."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Томруулах"</string>
diff --git a/core/res/res/values-mr/strings.xml b/core/res/res/values-mr/strings.xml
index fe248c1..70ed012 100644
--- a/core/res/res/values-mr/strings.xml
+++ b/core/res/res/values-mr/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"तुमच्या या वाहकासह वाय-फाय कॉलिंग नोंदणी करताना समस्या आली आहे:<xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s वाय-फाय कॉलिंग"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> वाय-फाय कॉलिंग"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN कॉल"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN कॉल"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> वाय-फाय"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"वाय-फाय कॉलिंग | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"बंद"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"वाय-फाय अग्रमानांकित"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"प्राधान्य दिलेला मोबाइल"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"ओळखले नाही"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"फिंगरप्रिंट ऑथेंटिकेट केली आहे"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"चेहरा ऑथेंटिकेशन केलेला आहे"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"चेहरा ऑथेंटिकेशन केलेला आहे, कृपया कंफर्म दाबा"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"फिंगरप्रिंट हार्डवेअर उपलब्‍ध नाही."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"फिंगरप्रिंट स्टोअर केले जाऊ शकत नाही. कृपया विद्यमान फिंगरप्रिंट काढा."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"फिंगरप्रिंट टाइमआउट झाले. पुन्हा प्रयत्न करा."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"चेहरा टाइमआउट झाला. पुन्हा प्रयत्न करा."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"चेहरा स्टोअर केला जाऊ शकत नाही."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"चेहरा ऑपरेशन रद्द केले गेले."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"वापरकर्त्याने चेहरा ऑथेंटिकेशन रद्द केले."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"खूप जास्त प्रयत्न केले. नंतर पुन्हा प्रयत्न करा."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"खूप जास्त प्रयत्न केले. चेहरा ऑथेंटिकेशन बंद केले गेले."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"पुन्हा प्रयत्न करा."</string>
@@ -1617,6 +1624,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"रंग सुधारणा"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"प्रवेशयोग्यता शॉर्टकटने <xliff:g id="SERVICE_NAME">%1$s</xliff:g> चालू केली"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"प्रवेशयोग्यता शॉर्टकटने <xliff:g id="SERVICE_NAME">%1$s</xliff:g> बंद केली"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"सध्याचे अॅक्सेसिबिलिटी वैशिष्‍ट्य पुन्हा सुरू करण्‍यासाठी अॅक्सेसिबिलिटी शॉर्टकट वापरा"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"तुम्ही प्रवेशयोग्यता बटण दाबल्यावर वापरण्यासाठी वैशिष्ट्य निवडा:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"वैशिष्ट्ये बदलण्यासाठी, प्रवेशयोग्यता बटणाला स्पर्श करा आणि धरून ठेवा."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"मोठे करणे"</string>
diff --git a/core/res/res/values-ms/strings.xml b/core/res/res/values-ms/strings.xml
index a813a7b..208fed6 100644
--- a/core/res/res/values-ms/strings.xml
+++ b/core/res/res/values-ms/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Terdapat masalah semasa mendaftarkan panggilan Wi-Fi dengan pembawa anda: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Panggilan Wi-Fi"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Panggilan Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Panggilan WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Panggilan WLAN <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Panggilan Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWifi <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Mati"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi diutamakan"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Mudah alih diutamakan"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Tidak dikenali"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Cap jari disahkan"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Wajah disahkan"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Wajah disahkan, sila tekan sahkan"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Perkakasan cap jari tidak tersedia."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Cap jari tidak dapat disimpan. Sila alih keluar cap jari sedia ada."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Tamat masa cap jari dicapai. Cuba lagi."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Tamat masa wajah dicapai. Cuba lagi."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Wajah tidak dapat disimpan."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Pengendalian wajah dibatalkan."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Pengesahan wajah dibatalkan oleh pengguna."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Terlalu banyak percubaan. Cuba sebentar lagi."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Terlalu banyak percubaan. Pengesahan wajah dilumpuhkan."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Cuba lagi."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Pembetulan Warna"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Pintasan kebolehaksesan menghidupkan <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Pintasan Kebolehaksesan mematikan <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Gunakan Pintasan Kebolehaksesan sekali lagi untuk memulakan ciri kebolehaksesan semasa"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Pilih ciri yang hendak digunakan apabila anda mengetik butang Kebolehaksesan:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Untuk menukar ciri, sentuh &amp; tahan butang Kebolehaksesan."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Pembesaran"</string>
diff --git a/core/res/res/values-my/strings.xml b/core/res/res/values-my/strings.xml
index 812ff75..71dd4b6 100644
--- a/core/res/res/values-my/strings.xml
+++ b/core/res/res/values-my/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"သင်၏ ဝန်ဆောင်မှုပေးသူဖြင့် Wi‑Fi ခေါ်ဆိုမှုကို မှတ်ပုံတင်ရာတွင် ပြဿနာရှိနေသည်− <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi  ခေါ်ဆိုမှု"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi ခေါ်ဆိုမှု"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN ခေါ်ဆိုမှု"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN ခေါ်ဆိုမှု"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"WiFi ခေါ်ဆိုမှု | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"ပိတ်ထားရသည်"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"ဝိုင်ဖိုင်အား ပိုနှစ်သက်သော"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"မိုဘိုင်းကို အသုံးပြုလိုပါသည်"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"မသိပါ"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"လက်ဗွေကို အထောက်အထား စိစစ်ပြီးပါပြီ"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"မျက်နှာ အထောက်အထားစိစစ်ပြီးပြီ"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"မျက်နှာ အထောက်အထားစိစစ်ပြီးပြီ၊ အတည်ပြုရန်ကို နှိပ်ပါ"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"လက်ဗွေရာ ဟာ့ဒ်ဝဲ မရနိုင်ပါ။"</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"လက်ဗွေရာ သိုလှောင်၍မရပါ။ ကျေးဇူးပြု၍ ရှိပြီးလက်ဗွေရာအား ဖယ်ရှားပါ။"</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"လက်ဗွေရာအချိန်ကုန် သွားပါသည်။ ထပ်မံကြိုးစားပါ။"</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"မျက်နှာ သက်တမ်းကုန်သွားပါပြီ။ ထပ်စမ်းကြည့်ပါ။"</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"မျက်နှာကို သိမ်း၍မရပါ။"</string>
     <string name="face_error_canceled" msgid="283945501061931023">"မျက်နှာ ဆောင်ရွက်ခြင်းကို ပယ်ဖျက်လိုက်ပါပြီ။"</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"အသုံးပြုသူက မျက်နှာအထောက်အထားစိစစ်မှု မလုပ်တော့ပါ။"</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"အကြိမ်များစွာ စမ်းပြီးပါပြီ။ နောက်မှထပ်စမ်းပါ။"</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"အကြိမ်များစွာ စမ်းပြီးပါပြီ။ ပိတ်လိုက်ပါပြီ။"</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"ထပ်စမ်းကြည့်ပါ။"</string>
@@ -1617,6 +1624,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"အရောင်ပြင်ဆင်ခြင်း"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"အများသုံးစွဲနိုင်မှု ဖြတ်လမ်းလင့်ခ်သည် <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ကို ဖွင့်လိုက်ပါသည်"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"အများသုံးစွဲနိုင်မှု ဖြတ်လမ်းလင့်ခ်သည် <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ကို ပိတ်လိုက်ပါသည်"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"လက်ရှိ အသုံးလွယ်ရေး ဝန်ဆောင်မှုကို စတင်ရန် အသုံးလွယ်ရေး ဖြတ်လမ်းလင့်ခ်ကို သုံးပါ"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"အများသုံးစွဲနိုင်မှု ခလုတ်ကို တို့သည့်အခါ အသုံးပြုမည့် ဝန်ဆောင်မှုကို ရွေးချယ်ပါ−"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"ဝန်ဆောင်မှုများကို ပြောင်းလဲရန် အများသုံးစွဲနိုင်မှု ခလုတ်ကို တို့၍ ထိထားပါ။"</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"ချဲ့ခြင်း"</string>
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index 439b0de..28e7d33 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Problem med å registrere Wi-Fi-anrop med operatøren din: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi-anrop"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi-anrop"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN-anrop"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN-anrop"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi-anrop | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Av"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi er foretrukket"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Først-på-mobil"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Ikke gjenkjent"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Fingeravtrykket er godkjent"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Ansiktet er autentisert"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Ansiktet er autentisert. Trykk på Bekreft"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Maskinvare for fingeravtrykk er ikke tilgjengelig."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Fingeravtrykket kan ikke lagres. Fjern et eksisterende fingeravtrykk."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Tidsavbrudd for fingeravtrykk er nådd. Prøv på nytt."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Tidsavbrudd for ansikt er nådd. Prøv igjen."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Ansiktet kan ikke lagres."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Ansikt-operasjonen ble avbrutt."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Ansiktsautentiseringen ble avbrutt av brukeren."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"For mange forsøk. Prøv igjen senere."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"For mange forsøk. Ansiktsautentisering er slått av."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Prøv igjen."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Fargekorrigering"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Snarveien for tilgjengelighet slo på <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Snarveien for tilgjengelighet slo av <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Bruk tilgjengelighetssnarveien igjen for å starte den nåværende tilgjengelighetsfunksjonen"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Velg en funksjon du vil bruke når du trykker på Tilgjengelighet-knappen:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"For å endre funksjoner, trykk på og hold inne Tilgjengelighet-knappen."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Forstørring"</string>
diff --git a/core/res/res/values-ne/strings.xml b/core/res/res/values-ne/strings.xml
index d45e28b..875f87d 100644
--- a/core/res/res/values-ne/strings.xml
+++ b/core/res/res/values-ne/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"तपाईंको सेवा प्रदायकमार्फत Wi-Fi कलिङ सुविधा दर्ता गर्ने क्रममा देखिएको समस्या: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi कलिङ"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi कलिङ"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN कल"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN कल"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wifi कलिङ | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"निष्क्रिय"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi मनपराइयो"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"रूचाइएको मोबाइल"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"पहिचान भएन"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"फिंगरप्रिन्ट प्रमाणीकरण गरियो"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"अनुहार प्रमाणीकरण गरियो"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"अनुहार प्रमाणीकरण गरियो, कृपया पुष्टि गर्नुहोस् थिच्नुहोस्"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"औँठाछाप हार्डवेयर उपलब्ध छैन।"</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"औँठाछाप भण्डारण गर्न सकिँदैन। कृपया अवस्थित औठाछाप हटाउनुहोस्।"</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"औँठाछापको समय सकिएको छ। फेरि प्रयास गर्नुहोस्।"</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"अनुहारको समय सकिएको छ। फेरि प्रयास गर्नुहोस्‌।"</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"अनुहार भण्डारण गर्न सकिँदैन।"</string>
     <string name="face_error_canceled" msgid="283945501061931023">"अनुहार पहिचान रद्द गरियो।"</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"प्रयोगकर्ताले अनुहार प्रमाणीकरण रद्द गर्नु भयो।"</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"धेरैपटक प्रयासहरू भए। पछि फेरि प्रयास गर्नुहोस्‌।"</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"अत्यधिक धेरैपटक गलत प्रयासहरू भए। अनुहार प्रमाणिकरणलाई असक्षम पारियो।"</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"फेरि प्रयास गर्नुहोस्।"</string>
@@ -1622,6 +1629,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"रङ सच्याउने सुविधा"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"पहुँचको सर्टकटले <xliff:g id="SERVICE_NAME">%1$s</xliff:g> लाई सक्रिय पार्‍यो"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"पहुँचको सर्टकटले <xliff:g id="SERVICE_NAME">%1$s</xliff:g> लाई निष्क्रिय पार्‍यो"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"हालको पहुँचसम्बन्धी सुविधा प्रयोग गर्न फेरि पहुँचसम्बन्धी सर्टकट प्रयोग गर्नुहोस्"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"तपाईंले पहुँच सम्बन्धी बटनलाई ट्याप गर्दा प्रयोग गर्नुपर्ने सुविधा रोज्नुहोस्:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"सुविधाहरूलाई बदल्न, पहुँच सम्बन्धी बटनलाई छोएर थिची राख्नुहोस्।"</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"म्याग्निफिकेसन"</string>
diff --git a/core/res/res/values-night/colors.xml b/core/res/res/values-night/colors.xml
index 351f8ea..6bbd258 100644
--- a/core/res/res/values-night/colors.xml
+++ b/core/res/res/values-night/colors.xml
@@ -27,5 +27,5 @@
     <color name="notification_default_color_dark">#ddffffff</color>
 
     <!-- The background color of a notification card. -->
-    <color name="notification_material_background_color">@*android:color/material_grey_900</color>
+    <color name="notification_material_background_color">@color/black</color>
 </resources>
\ No newline at end of file
diff --git a/core/res/res/values-night/themes_device_defaults.xml b/core/res/res/values-night/themes_device_defaults.xml
index 5e3675a..c8d4d05 100644
--- a/core/res/res/values-night/themes_device_defaults.xml
+++ b/core/res/res/values-night/themes_device_defaults.xml
@@ -51,4 +51,7 @@
           -->
     <!-- DeviceDefault theme for a window that should look like the Settings app.  -->
     <style name="Theme.DeviceDefault.Settings" parent="Theme.DeviceDefault"/>
+
+    <!-- Theme for the dialog shown when an app crashes or ANRs. -->
+    <style name="Theme.DeviceDefault.Dialog.AppError" parent="Theme.DeviceDefault.Dialog.Alert" />
 </resources>
diff --git a/core/res/res/values-night/values.xml b/core/res/res/values-night/values.xml
index 4eb2ff3..45cf0f0 100644
--- a/core/res/res/values-night/values.xml
+++ b/core/res/res/values-night/values.xml
@@ -26,7 +26,7 @@
         <item name="alertDialogTheme">@style/Theme.DeviceDefault.Dialog.Alert</item>
 
         <!-- QS panel background -->
-        <item name="colorBackgroundFloating">@color/material_grey_900</item>
+        <item name="colorBackgroundFloating">@color/black</item>
 
         <!-- volume background -->
         <item name="panelColorBackground">@color/material_grey_800</item>
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index df152b2..b95ba19 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -79,7 +79,7 @@
     <string name="CLIRPermanent" msgid="3377371145926835671">"U kunt de instelling voor de beller-ID niet wijzigen."</string>
     <string name="RestrictedOnDataTitle" msgid="5221736429761078014">"Geen service voor mobiele data"</string>
     <string name="RestrictedOnEmergencyTitle" msgid="6855466023161191166">"Noodoproepen niet beschikbaar"</string>
-    <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Geen service voor spraakoproepen"</string>
+    <string name="RestrictedOnNormalTitle" msgid="3179574012752700984">"Geen belservice"</string>
     <string name="RestrictedOnAllVoiceTitle" msgid="8037246983606545202">"Geen spraakservice of noodoproepen"</string>
     <string name="RestrictedStateContent" msgid="6538703255570997248">"Tijdelijk uitgeschakeld door je provider"</string>
     <string name="RestrictedStateContentMsimTemplate" msgid="673416791370248176">"Tijdelijk uitgeschakeld door je provider voor sim <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Probleem bij registratie van Bellen via wifi bij je provider: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Bellen via wifi van %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Bellen via wifi van <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Bellen via WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Bellen via WLAN van <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wifi van <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Bellen via wifi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWifi van <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Uit"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Voorkeur voor wifi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Voorkeur voor mobiel"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Niet herkend"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Vingerafdruk geverifieerd"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Gezicht geverifieerd"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Gezicht geverifieerd. Druk op Bevestigen."</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Hardware voor vingerafdruk niet beschikbaar."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Vingerafdruk kan niet worden opgeslagen. Verwijder een bestaande vingerafdruk."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Time-out bereikt voor vingerafdruk. Probeer het opnieuw."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Time-out voor gezicht bereikt. Probeer opnieuw."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Gezicht kan niet worden opgeslagen."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Bewerking voor gezichtsherkenning geannuleerd."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Gezichtsverificatie geannuleerd door gebruiker."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Te veel pogingen. Probeer het later opnieuw."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Te veel pogingen. Gezichtsherkenning inactief."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Probeer het opnieuw."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Kleurcorrectie"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"\'Snelle link voor toegankelijkheid\' heeft <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ingeschakeld"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"\'Snelle link voor toegankelijkheid\' heeft <xliff:g id="SERVICE_NAME">%1$s</xliff:g> uitgeschakeld"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Gebruik de snelkoppeling voor toegankelijkheid nogmaals om de huidige toegankelijkheidsfunctie te starten"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Kies een functie om te gebruiken wanneer je op de knop Toegankelijkheid tikt:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Als je functies wilt wijzigen, tik je op de knop Toegankelijkheid en houd je deze vast."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Vergroting"</string>
diff --git a/core/res/res/values-or/strings.xml b/core/res/res/values-or/strings.xml
index 78566da..9d3fa8e 100644
--- a/core/res/res/values-or/strings.xml
+++ b/core/res/res/values-or/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"ଆପଣଙ୍କ କେରିଅର୍ ସହିତ ୱାଇ-ଫାଇ କଲ୍ କରିବା ପାଇଁ ପଞ୍ଜୀକରଣ କରିବାରେ ସମସ୍ୟା: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s ୱାଇ-ଫାଇ କଲିଙ୍ଗ"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> ୱାଇ-ଫାଇ କଲିଂ"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN କଲ୍‍"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN କଲ୍‍"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> ୱାଇ-ଫାଇ"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"ୱାଇଫାଇ କଲିଂ | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"ଅଫ୍"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"ପସନ୍ଦ କରାଯାଇଥିବା ୱାଇ-ଫାଇ"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"ପସନ୍ଦର ମୋବାଇଲ୍‌"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"ଚିହ୍ନଟ ହେଲାନାହିଁ"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"ଆଙ୍ଗୁଠି ଚିହ୍ନ ପ୍ରମାଣୀକୃତ ହେଲା"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"ମୁହଁ ଚିହ୍ନଟ ହୋଇଛି"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"ମୁହଁ ଚିହ୍ନଟ ହୋଇଛି, ଦୟାକରି ସୁନିଶ୍ଚିତ ଦବାନ୍ତୁ"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"ଆଙ୍ଗୁଠି ଚିହ୍ନ ହାର୍ଡୱେର୍‍ ଉପଲବ୍ଧ ନାହିଁ।"</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"ଆଙ୍ଗୁଠି ଚିହ୍ନ ଷ୍ଟୋର୍‍ କରାଯାଇପାରିବ ନାହିଁ। ଦୟାକରି ପୂର୍ବରୁ ଥିବା ଆଙ୍ଗୁଠି ଚିହ୍ନକୁ ବାହାର କରିଦିଅନ୍ତୁ।"</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"ଆଙ୍ଗୁଠି ଚିହ୍ନର ସମୟ ଶେଷ ହେଲା । ପୁଣିଥରେ ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"ଫେସ୍‍ର ସମୟସୀମା ସରିଗଲା। ପୁଣିଥରେ ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"ଫେସ୍‍ ମେମୋରୀରେ ଷ୍ଟୋର୍‍ କରାଯାଇପାରିବ ନାହିଁ।"</string>
     <string name="face_error_canceled" msgid="283945501061931023">"ଫେସ୍‍ର ଅପରେଶନ୍‍ କ୍ୟାନ୍ସଲ୍‍ ହୋ‍ଇଗଲା"</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"ଉପଯୋଗକର୍ତ୍ତା ମୁହଁ ଚିହ୍ନଟକରଣ ବାତିଲ୍‌ କରିଛନ୍ତି।"</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"ବାରମ୍ବାର ଚେଷ୍ଟା। ପରେ ପୁଣିଥରେ ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"ବାରମ୍ବାର ଚେଷ୍ଟା। ଫେସ୍‍ ପ୍ରମାଣୀକରଣ ଅକ୍ଷମ କରାଗଲା।"</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"ପୁଣିଥରେ ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
@@ -1617,6 +1624,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"ରଙ୍ଗ ସଂଶୋଧନ"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"ଆକ୍ସେସିବିଲିଟୀ ଶର୍ଟକଟ୍‍ <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ଅନ୍‍ କରାଯାଇଛି"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"ଆକ୍ସେସିବିଲିଟୀ ଶର୍ଟକଟ୍‍ <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ଅଫ୍‍ କରାଯାଇଛି"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"ବର୍ତ୍ତମାନର ଆକ୍ସେସିବିଲିଟୀ ବୈଶିଷ୍ଟ୍ୟ ଆରମ୍ଭ କରିବାକୁ ପୁଣି ଆକ୍ସେସିବିଲିଟୀ ସର୍ଟ୍‍କର୍ଟ୍ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"ଆପଣ ଆକ୍ସେସବିଲିଟି ବଟନ୍‍ ଟାପ୍‍ କରିବା ବେଳେ ଏକ ବୈଶିଷ୍ଟ୍ୟ ବ୍ୟବହାର କରିବାକୁ ବାଛନ୍ତୁ:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"ବୈଶିଷ୍ଟ୍ୟ ବଦଳାଇବାକୁ, ଆକ୍ସେସବିଲିଟି ବଟନ୍‍ ସ୍ପର୍ଶ କରନ୍ତୁ ଓ ଧରିରଖନ୍ତୁ।"</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"ମ୍ୟାଗ୍ନିଫିକେସନ୍‍"</string>
diff --git a/core/res/res/values-pa/strings.xml b/core/res/res/values-pa/strings.xml
index bb38c88..6e615a8 100644
--- a/core/res/res/values-pa/strings.xml
+++ b/core/res/res/values-pa/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"ਤੁਹਾਡੇ ਕੈਰੀਅਰ ਨਾਲ ਵਾਈ-ਫਾਈ ਕਾਲਿੰਗ ਨੂੰ ਰਜਿਸਟਰ ਕਰਨ ਵਿੱਚ ਸਮੱਸਿਆ ਆਈ: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s ਵਾਈ-ਫਾਈ ਕਾਲਿੰਗ"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> ਵਾਈ-ਫਾਈ ਕਾਲਿੰਗ"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN ਕਾਲ"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN ਕਾਲ"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> ਵਾਈ-ਫਾਈ"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"ਵਾਈ-ਫਾਈ ਕਾਲਿੰਗ | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"ਬੰਦ"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"ਤਰਜੀਹੀ ਵਾਈ-ਫਾਈ"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"ਮੋਬਾਈਲ ਨੂੰ ਤਰਜੀਹ ਹੈ"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"ਪਛਾਣ ਨਹੀਂ ਹੋਈ"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਪ੍ਰਮਾਣਿਤ ਹੋਇਆ"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"ਚਿਹਰਾ ਪੁਸ਼ਟੀਕਰਨ"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"ਚਿਹਰਾ ਪੁਸ਼ਟੀਕਰਨ, ਕਿਰਪਾ ਕਰਕੇ \'ਪੁਸ਼ਟੀ ਕਰੋ\' ਦਬਾਓ"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਹਾਰਡਵੇਅਰ ਉਪਲਬਧ ਨਹੀਂ।"</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਸਟੋਰ ਨਹੀਂ ਕੀਤਾ ਸਕਦਾ। ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਮੌਜੂਦਾ ਫਿੰਗਰਪ੍ਰਿੰਟ ਹਟਾਓ।"</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਦਾ ਸਮਾਂ ਸਮਾਪਤ ਹੋ ਗਿਆ ਹੈ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"ਚਿਹਰਾ ਪਛਾਣਨ ਦਾ ਸਮਾਂ ਸਮਾਪਤ ਹੋਇਆ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"ਚਿਹਰੇ ਦੀ ਜਾਣਕਾਰੀ ਨੂੰ ਸਟੋਰ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।"</string>
     <string name="face_error_canceled" msgid="283945501061931023">"ਚਿਹਰਾ ਪਛਾਣਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਰੱਦ ਕੀਤੀ ਗਈ।"</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"ਵਰਤੋਂਕਾਰ ਵੱਲੋਂ ਚਿਹਰਾ ਪੁਸ਼ਟੀਕਰਨ ਨੂੰ ਰੱਦ ਕੀਤਾ ਗਿਆ।"</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"ਹੱਦੋਂ ਵੱਧ ਕੋਸ਼ਿਸ਼ਾਂ। ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"ਹੱਦੋਂ ਵੱਧ ਕੋਸ਼ਿਸ਼ਾਂ। ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਰਨ ਬੰਦ ਹੈ।"</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
@@ -1617,6 +1624,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"ਰੰਗ ਸੁਧਾਈ"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"ਪਹੁੰਚਯੋਗਤਾ ਸ਼ਾਰਟਕੱਟ ਨੇ <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ਨੂੰ ਚਾਲੂ ਕੀਤਾ"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"ਪਹੁੰਚਯੋਗਤਾ ਸ਼ਾਰਟਕੱਟ ਨੇ <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ਨੂੰ ਬੰਦ ਕੀਤਾ"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"ਮੌਜੂਦਾ ਪਹੁੰਚਯੋਗਤਾ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਲਈ \'ਪਹੁੰਚਯੋਗਤਾ ਸ਼ਾਰਟਕੱਟ\' ਦੀ ਦੁਬਾਰਾ ਵਰਤੋਂ ਕਰੋ"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"ਤੁਹਾਡੇ ਵੱਲੋਂ ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ ਨੂੰ ਟੈਪ ਕੀਤੇ ਜਾਣ \'ਤੇ ਵਰਤਣ ਲਈ ਕੋਈ ਵਿਸ਼ੇਸ਼ਤਾ ਚੁਣੋ:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਬਦਲਣ ਲਈ, ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ ਨੂੰ ਸਪੱਰਸ਼ ਕਰੋ ਅਤੇ ਦਬਾਈ ਰੱਖੋ।"</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"ਵੱਡਦਰਸ਼ੀਕਰਨ"</string>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index d59b138..81a869a 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -130,10 +130,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Podczas rejestrowania połączeń przez Wi-Fi u operatora wystąpił problem: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Połączenia przez Wi-Fi (%s)"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g>, połączenia przez Wi-Fi"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Połączenie przez WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g>, połączenie przez WLAN"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g>, Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Połączenia przez Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g>, VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Wył."</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Preferuj Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Preferowane komórkowe"</string>
@@ -530,6 +534,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Nie rozpoznano"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Uwierzytelniono odciskiem palca"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Twarz rozpoznana"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Twarz rozpoznana, kliknij Potwierdź"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Czytnik linii papilarnych nie jest dostępny."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Nie można zapisać odcisku palca. Usuń istniejący odcisk palca."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Osiągnięto limit czasu odczytu linii papilarnych. Spróbuj ponownie."</string>
@@ -566,6 +572,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Upłynął limit czasu analizy twarzy. Spróbuj ponownie."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Nie można zapisać informacji o twarzy."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Analiza twarzy została anulowana."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Użytkownik anulował uwierzytelnianie twarzą."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Zbyt wiele prób. Spróbuj ponownie później."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Zbyt wiele prób. Wyłączono uwierzytelnianie za pomocą twarzy."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Spróbuj ponownie."</string>
@@ -1664,6 +1671,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Korekcja kolorów"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Skrót ułatwień dostępu wyłączył usługę <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Skrót ułatwień dostępu wyłączył usługę <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Użyj ponownie skrótu ułatwień dostępu, by uruchomić bieżące ułatwienie dostępu"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Wybierz funkcję używaną po kliknięciu przycisku ułatwień dostępu."</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Aby zmienić funkcje, kliknij i przytrzymaj przycisk ułatwień dostępu."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Powiększenie"</string>
diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml
index 48302a0..5ac7c2e5 100644
--- a/core/res/res/values-pt-rBR/strings.xml
+++ b/core/res/res/values-pt-rBR/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Ocorreu um problema ao registrar a chamada no Wi‑Fi junto à sua operadora: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s chamada Wi-Fi"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Chamada no Wi-Fi de <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Chamada por WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Chamada por WLAN de <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi de <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Chamada no Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWifi de <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Desativado"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi preferido"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Preferência pela rede móvel"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Não reconhecido"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Impressão digital autenticada"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Rosto autenticado"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Rosto autenticado, pressione \"Confirmar\""</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Hardware de impressão digital não disponível."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Não foi possível armazenar a impressão digital. Remova uma impressão digital já existente."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Tempo máximo para captura da impressão digital atingido. Tente novamente."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Tempo máx. p/ captura facial atingido. Tente novamente."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Não é possível armazenar um rosto."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Operação facial cancelada."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Autenticação facial cancelada pelo usuário."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Excesso de tentativas. Tente novamente mais tarde."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Excesso de tentativas. Autenticação facial desat."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Tente novamente."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Correção de cor"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"O atalho de acessibilidade ativou o <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"O atalho de acessibilidade desativou o <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Use o atalho de acessibilidade novamente para iniciar o recurso de acessibilidade atual"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Escolha um recurso a ser usado ao tocar no botão Acessibilidade:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Para alterar os recursos, mantenha o botão Acessibilidade pressionado."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Ampliação"</string>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index 3f02828..52f067f 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Ocorreu um problema ao registar a funcionalidade Chamadas Wi-Fi junto do seu operador: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Chamadas por Wi-Fi da %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Chamadas Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Chamada WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Chamada WLAN <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Chamadas Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWifi <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Desativado"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Rede Wi-Fi preferida"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Preferência pela rede móvel"</string>
@@ -419,11 +423,11 @@
     <string name="permlab_modifyAudioSettings" msgid="6095859937069146086">"alterar as suas definições de áudio"</string>
     <string name="permdesc_modifyAudioSettings" msgid="3522565366806248517">"Permite que a aplicação modifique definições de áudio globais, tais como o volume e qual o altifalante utilizado para a saída de som."</string>
     <string name="permlab_recordAudio" msgid="3876049771427466323">"gravar áudio"</string>
-    <string name="permdesc_recordAudio" msgid="4245930455135321433">"Esta aplicação pode gravar áudio através do microfone a qualquer momento."</string>
+    <string name="permdesc_recordAudio" msgid="4245930455135321433">"Esta aplicação pode gravar áudio através do microfone em qualquer altura."</string>
     <string name="permlab_sim_communication" msgid="2935852302216852065">"enviar comandos para o SIM"</string>
     <string name="permdesc_sim_communication" msgid="5725159654279639498">"Permite que a aplicação envie comandos para o SIM. Esta ação é muito perigosa."</string>
     <string name="permlab_camera" msgid="3616391919559751192">"tirar fotos e vídeos"</string>
-    <string name="permdesc_camera" msgid="5392231870049240670">"Esta aplicação pode tirar fotos e gravar vídeos através da câmara a qualquer momento."</string>
+    <string name="permdesc_camera" msgid="5392231870049240670">"Esta aplicação pode tirar fotos e gravar vídeos através da câmara em qualquer altura."</string>
     <string name="permlab_vibrate" msgid="7696427026057705834">"controlar vibração"</string>
     <string name="permdesc_vibrate" msgid="6284989245902300945">"Permite à aplicação controlar o vibrador."</string>
     <string name="permlab_callPhone" msgid="3925836347681847954">"marcar números de telefone diretamente"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Não reconhecido."</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"A impressão digital foi autenticada."</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Rosto autenticado."</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Rosto autenticado. Prima Confirmar."</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Hardware de impressão digital não disponível."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Não é possível armazenar a impressão digital. Remova uma impressão digital existente."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Foi atingido o limite de tempo da impressão digital. Tente novamente."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Limite de tempo de rosto atingido. Tente novamente."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Não é possível armazenar o rosto."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Operação de rosto cancelada."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Autenticação facial cancelada pelo utilizador."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Demasiadas tentativas. Tente novamente mais tarde."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Demasiadas tentativas. Autenticação facial desativada."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Tente novamente."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Correção da cor"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"O Atalho de acessibilidade ativou o serviço <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"O Atalho de acessibilidade desativou o serviço <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Utilize novamente o atalho de acessibilidade para iniciar a funcionalidade de acessibilidade atual."</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Escolha uma funcionalidade para utilizar quando tocar no botão Acessibilidade:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Para alterar as funcionalidades, toque sem soltar no botão Acessibilidade."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Ampliação"</string>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index 48302a0..5ac7c2e5 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Ocorreu um problema ao registrar a chamada no Wi‑Fi junto à sua operadora: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s chamada Wi-Fi"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Chamada no Wi-Fi de <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Chamada por WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Chamada por WLAN de <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi de <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Chamada no Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWifi de <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Desativado"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi preferido"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Preferência pela rede móvel"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Não reconhecido"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Impressão digital autenticada"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Rosto autenticado"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Rosto autenticado, pressione \"Confirmar\""</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Hardware de impressão digital não disponível."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Não foi possível armazenar a impressão digital. Remova uma impressão digital já existente."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Tempo máximo para captura da impressão digital atingido. Tente novamente."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Tempo máx. p/ captura facial atingido. Tente novamente."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Não é possível armazenar um rosto."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Operação facial cancelada."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Autenticação facial cancelada pelo usuário."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Excesso de tentativas. Tente novamente mais tarde."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Excesso de tentativas. Autenticação facial desat."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Tente novamente."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Correção de cor"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"O atalho de acessibilidade ativou o <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"O atalho de acessibilidade desativou o <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Use o atalho de acessibilidade novamente para iniciar o recurso de acessibilidade atual"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Escolha um recurso a ser usado ao tocar no botão Acessibilidade:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Para alterar os recursos, mantenha o botão Acessibilidade pressionado."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Ampliação"</string>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index 1c95559..0c945f7 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -129,10 +129,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"A apărut o problemă la înregistrarea apelării prin Wi‑Fi la operatorul dvs.: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Apelare prin Wi-Fi %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Apelare prin Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Apel WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Apel WLAN <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Apelare prin Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWifi <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Dezactivată"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Se preferă conexiunea Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Se preferă datele mobile"</string>
@@ -527,6 +531,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Nu este recunoscut"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Amprentă autentificată"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Chip autentificat"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Chip autentificat, apăsați Confirmați"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Hardware-ul pentru amprentă nu este disponibil."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Amprenta nu poate fi stocată. Eliminați o amprentă existentă."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Timpul pentru amprentare a expirat. Încercați din nou."</string>
@@ -563,6 +569,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Timpul pentru reunoaștere facială a expirat. Încercați din nou."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Chipul nu poate fi stocat."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Operațiunea privind chipul a fost anulată."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Autentificarea chipului anulată de utilizator."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Prea multe încercări. Reîncercați mai târziu."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Prea multe încercări. Autentificarea facială este dezactivată."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Încercați din nou."</string>
@@ -1640,6 +1647,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Corecția culorii"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Comanda rapidă de accesibilitate a activat <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Comanda rapidă de accesibilitate a dezactivat <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Folosiți din nou comanda rapidă Accesibilitate pentru a porni funcția de accesibilitate prezentă"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Alegeți o funcție pe care să o folosiți când atingeți butonul Accesibilitate:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Pentru a schimba funcțiile, atingeți lung butonul Accesibilitate."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Mărire"</string>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index e31f161..fd70e9c 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -130,10 +130,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Ошибка подключения функции \"Звонки по Wi-Fi\" через вашего оператора: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Звонки по Wi-Fi (%s)"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Звонки по Wi-Fi"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Вызов WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> Вызов WLAN"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Звонки по Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Отключено"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Приоритет Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Приоритет мобильного Интернета"</string>
@@ -290,7 +294,7 @@
     <string name="permgrouprequest_sms" msgid="7168124215838204719">"Разрешить приложению &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; отправлять и просматривать SMS?"</string>
     <string name="permgrouplab_storage" msgid="1971118770546336966">"Хранилище"</string>
     <string name="permgroupdesc_storage" msgid="637758554581589203">"доступ к фото, мультимедиа и файлам на вашем устройстве"</string>
-    <string name="permgrouprequest_storage" msgid="7885942926944299560">"Разрешить приложению &lt;b&gt;\"<xliff:g id="APP_NAME">%1$s</xliff:g>\"&lt;/b&gt; доступ к фото, мультимедиа и файлам на устройстве?"</string>
+    <string name="permgrouprequest_storage" msgid="7885942926944299560">"Разрешить приложению &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; доступ к фото, мультимедиа и файлам на устройстве?"</string>
     <string name="permgrouplab_microphone" msgid="171539900250043464">"Микрофон"</string>
     <string name="permgroupdesc_microphone" msgid="4988812113943554584">"записывать аудио"</string>
     <string name="permgrouprequest_microphone" msgid="9167492350681916038">"Разрешить приложению &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; записывать аудио?"</string>
@@ -305,7 +309,7 @@
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Разрешить приложению &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; совершать звонки и управлять ими?"</string>
     <string name="permgrouplab_sensors" msgid="416037179223226722">"Нательные датчики"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"доступ к данным датчиков о состоянии организма"</string>
-    <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Разрешить приложению &lt;b&gt;\"<xliff:g id="APP_NAME">%1$s</xliff:g>\"&lt;/b&gt; доступ к данным датчиков о состоянии организма?"</string>
+    <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Разрешить приложению &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; доступ к данным датчиков о состоянии организма?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Музыка"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"доступ к музыке"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Разрешить приложению &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; доступ к музыке?"</string>
@@ -530,6 +534,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Не распознано"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Отпечаток пальца проверен"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Лицо распознано"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Лицо распознано, нажмите кнопку \"Подтвердить\""</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Сканер недоступен"</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Чтобы сохранить новый отпечаток, удалите существующий."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Превышено время ожидания. Повторите попытку."</string>
@@ -566,6 +572,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Превышено время ожидания. Повторите попытку."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Невозможно сохранить распознанное лицо"</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Распознавание отменено"</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Распознавание лица отменено пользователем."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Слишком много попыток. Повторите позже."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Слишком много попыток. Сканер отключен."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Попробуйте ещё раз"</string>
@@ -1664,6 +1671,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Коррекция цвета"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Сервис <xliff:g id="SERVICE_NAME">%1$s</xliff:g> включен"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Сервис <xliff:g id="SERVICE_NAME">%1$s</xliff:g> отключен"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Чтобы активировать выбранные специальные возможности, воспользуйтесь быстрым включением ещё раз"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Выберите функцию, которая запускается при нажатии кнопки специальных возможностей:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Чтобы изменить функцию, удерживайте кнопку специальных возможностей."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Увеличение"</string>
diff --git a/core/res/res/values-si/strings.xml b/core/res/res/values-si/strings.xml
index 8b89a97..3bd8ceb 100644
--- a/core/res/res/values-si/strings.xml
+++ b/core/res/res/values-si/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"ඔබගේ වාහකය සමඟ Wi-Fi ඇමතුම් ලියාපදිංචි කිරීම නිකුත් කරන්න: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi අමතමින්"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi ඇමතුම්"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN ඇමතුම"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN ඇමතුම්"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"WiFi ඇමතුම් | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"ක්‍රියාවිරහිතයි"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi වඩා කැමතියි"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"ජංගම කැමතියි"</string>
@@ -514,8 +518,7 @@
     <string name="permdesc_imagesWrite" msgid="7073662756617474375">"ඔබගේ ඡායාරූප එකතුව වෙනස් කිරීමට යෙදුමට ඉඩ දෙයි."</string>
     <string name="permlab_mediaLocation" msgid="8675148183726247864">"ඔබගේ මාධ්‍ය එකතුවෙන් ස්ථාන කියවන්න"</string>
     <string name="permdesc_mediaLocation" msgid="2237023389178865130">"ඔබගේ මාධ්‍ය එකතුවෙන් ස්ථාන කියවීමට යෙදුමට ඉඩ දෙයි."</string>
-    <!-- no translation found for biometric_error_hw_unavailable (645781226537551036) -->
-    <skip />
+    <string name="biometric_error_hw_unavailable" msgid="645781226537551036">"ජීවමිතික දෘඪාංග ලබා ගත නොහැකිය"</string>
     <string name="fingerprint_acquired_partial" msgid="735082772341716043">"ඇඟිලි සලකුණ අඩ වශයෙන් අනාවරණය කර ගැනිණි. කරුණාකර නැවත උත්සාහ කරන්න."</string>
     <string name="fingerprint_acquired_insufficient" msgid="4596546021310923214">"ඇඟිලි සලකුණ පිරිසැකසීමට නොහැකි විය. කරුණාකර නැවත උත්සාහ කරන්න."</string>
     <string name="fingerprint_acquired_imager_dirty" msgid="1087209702421076105">"ඇඟිලි සලකුණු සංවේදකය අපිරිසිදුයි. කරුණාකර පිරිසිදු කර නැවත උත්සාහ කරන්න."</string>
@@ -523,9 +526,10 @@
     <string name="fingerprint_acquired_too_slow" msgid="59250885689661653">"ඇඟිල්ල වඩා සෙමෙන් ගෙන යන ලදි. කරුණාකර නැවත උත්සාහ කරන්න."</string>
   <string-array name="fingerprint_acquired_vendor">
   </string-array>
-    <!-- no translation found for biometric_not_recognized (5770511773560736082) -->
-    <skip />
+    <string name="biometric_not_recognized" msgid="5770511773560736082">"හඳුනා නොගන්නා ලදී"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"ඇඟිලි සලකුණ සත්‍යාපනය කරන ලදී"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"මුහුණ සත්‍යාපනය කරන ලදී"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"මුහුණ සත්‍යාපනය කරන ලදී, කරුණාකර තහවුරු කරන්න ඔබන්න"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"ඇඟිලි සලකුණු දෘඪාංගය ලද නොහැකිය."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"ඇඟිලි සලකුණ ගබඩා කළ නොහැක. දැනට පවතින ඇඟිලි සලකුණක් ඉවත් කරන්න."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"ඇඟිලි සලකුණු කාල නිමාව ළඟා විය. නැවත උත්සාහ කරන්න."</string>
@@ -562,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"මුහුණු කාල නිමාව ළඟා විය. නැවත උත්සාහ කරන්න."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"මුහුණ ගබඩා කළ නොහැක."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"මුහුණු මෙහෙයුම අවලංගු කරන ලදී."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"පරිශීලකයා විසින් මුහුණ සත්‍යාපනය අවලංගු කරන ලදී."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"උත්සාහයන් ඉතා වැඩි ගණනකි. පසුව නැවත උත්සාහ කරන්න."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"උත්සාහයන් ඉතා වැඩි ගණනකි. මුහුණු සත්‍යාපනය අබල කරන ලදී."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"නැවත උත්සාහ කරන්න."</string>
@@ -1620,6 +1625,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"වර්ණ නිවැරදි කිරීම"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"ප්‍රවේශ්‍යතා කෙටි මග <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ක්‍රියාත්මක කරන ලදී"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"ප්‍රවේශ්‍යතා කෙටි මග <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ක්‍රියාවිරහිත කරන ලදී"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"වර්තමාන ප්‍රවේශ්‍යතා විශේෂංගය ආරම්භ කිරීම සඳහා ප්‍රවේශ්‍යතා කෙටි මග භාවිතා කරන්න"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"ඔබ ප්‍රවේශ්‍යතා බොත්තම තට්ටු කරන විට භාවිතා කිරීමට අංගයක් තෝරාගන්න:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"අංග වෙනස් කිරීමට ප්‍රවේශ්‍යතා බොත්තම ස්පර්ශ කර අල්ලා ගෙන සිටින්න."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"විශාලනය"</string>
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index 3109702..c0981ce 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -130,10 +130,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Pri registrácii volania cez Wi‑Fi u operátora nastala chyba <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Volanie siete Wi‑Fi %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> volanie cez Wi-Fi"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Volanie cez WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> volanie cez WLAN"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Volanie cez WiFi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Vypnuté"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Preferovať Wi‑Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Preferovať mobilné spojenie"</string>
@@ -530,6 +534,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Nerozpoznané"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Odtlačok bol overený"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Tvár bola overená"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Tvár bola overená, stlačte tlačidlo potvrdenia"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Hardvér na snímanie odtlačku prsta nie je k dispozícii"</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Odtlačok prsta nie je možné uložiť. Odstráňte existujúci odtlačok."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Časový limit rozpoznania odtlačku vypršal. Skúste to znova."</string>
@@ -566,6 +572,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Limit rozpoznania tváre vypršal. Skúste to znova."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Tvár sa nedá uchovať."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Operácia týkajúca sa tváre bola zrušená"</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Overenie tváre bolo zrušené používateľom."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Príliš veľa pokusov. Skúste to znova neskôr."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Príliš veľa pokusov. Overenie tváre je zakázané."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Skúste to znova."</string>
@@ -1664,6 +1671,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Úprava farieb"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Skratka dostupnosti zapla službu <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Skratka dostupnosti vypla službu <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Znova použite skratku dostupnosti, čím sprístupníte aktuálnu funkciu dostupnosti"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Klepnutím na tlačidlo dostupnosti vyberte požadovanú funkciu:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Ak chcete zmeniť funkcie, klepnite na tlačidlo dostupnosti a podržte ho"</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Priblíženie"</string>
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index 4575d00..261e6ed 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -130,10 +130,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Težava pri registriranju klicanja prek Wi-Fi-ja pri operaterju: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Klicanje prek Wi-Fi-ja (%s)"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Klicanje prek Wi-Fi-ja operaterja <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Klic prek omrežja WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Klic prek omrežja WLAN operaterja <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi operaterja <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Klicanje prek WiFi-ja | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"Govor prek Wi-Fi-ja operaterja <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Izklopljeno"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Prednostno Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Prednostno mobilno"</string>
@@ -530,6 +534,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Ni prepoznano"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Pristnost prstnega odtisa je preverjena"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Pristnost obraza je potrjena"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Pristnost obraza je preverjena. Pritisnite gumb »Potrdi«."</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Strojna oprema za prstne odtise ni na voljo."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Prstnega odtisa ni mogoče shraniti. Odstranite obstoječi prstni odtis."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Dosežena časovna omejitev za prstni odtis. Poskusite znova."</string>
@@ -566,6 +572,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Dosežena časovna omejitev za obraz. Poskusite znova."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Obraza ni mogoče shraniti."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Dejanje z obrazom je bilo preklicano."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Preverjanje pristnosti obraza preklical uporabnik"</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Preveč poskusov. Poskusite znova pozneje."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Preveč poskusov. Preverjanje pristnosti obraza je onemogočeno."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Poskusite znova."</string>
@@ -1664,6 +1671,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Popravljanje barv"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Bližnjica funkcij za ljudi s posebnimi potrebami je vklopila <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Bližnjica funkcij za ljudi s posebnimi potrebami je izklopila <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Če želite zagnati trenutno funkcijo za ljudi s posebnimi potrebami, znova uporabite bližnjico funkcij za ljudi s posebnimi potrebami"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Izberite funkcijo, ki jo želite uporabljati, ko se dotaknete gumba »Dostopnost«:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Če želite spremeniti funkcije, se dotaknite gumba »Dostopnost« in ga pridržite."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Povečava"</string>
diff --git a/core/res/res/values-sq/strings.xml b/core/res/res/values-sq/strings.xml
index 1149421..4b6cb09 100644
--- a/core/res/res/values-sq/strings.xml
+++ b/core/res/res/values-sq/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Problem gjatë regjistrimit të telefonatave me Wi‑Fi me operatorin tënd celular: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Telefonatat me Wi-Fi nga %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Telefonatë me Wi-Fi në <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Telefonatë me WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Telefonatë me WLAN në <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi në <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Telefonatë me Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWifi në <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Çaktivizuar"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Preferohet Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Preferohet rrjeti celular"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Nuk njihet"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Gjurma e gishtit u vërtetua"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Fytyra u vërtetua"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Fytyra u vërtetua, shtyp \"Konfirmo\""</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Hardueri i gjurmës së gishtit nuk mundësohet."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Gjurma e gishtit nuk mund të ruhet. Hiq një gjurmë gishti ekzistuese."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Koha e veprimit për gjurmën e gishtit skadoi. Provo përsëri."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Mbaroi afati për fytyrën. Provo sërish."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Fytyra nuk mund të ruhet."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Veprimi me fytyrën u anulua."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Vërtetimi me fytyrë u anulua nga përdoruesi."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Shumë përpjekje. Provo sërish më vonë."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Shumë përpjekje. Vërtetimi për fytyrën joaktiv."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Provo sërish."</string>
@@ -1617,6 +1624,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Korrigjimi i ngjyrës"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Shkurtorja e qasshmërisë e aktivizoi <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Shkurtorja e qasshmërisë e çaktivizoi <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Përdor përsëri \"Shkurtoren e qasshmërisë\" për të nisur funksionin aktual të qasshmërisë"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Zgjidh një funksion për ta përdorur kur troket butonin e \"Qasshmërisë\":"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Për të ndryshuar funksionet, prek dhe mbaj butonin e \"Qasshmërisë\"."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Zmadhimi"</string>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index 7536531..449fdfc 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -129,10 +129,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Проблем у вези са регистровањем позивања преко Wi‑Fi-ја код мобилног оператера: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Wi-Fi позивање преко оператера %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> позивање преко Wi-Fi-ја"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN позив"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN позив"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Позивање преко Wi-Fi-ја | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Искључено"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Предност има Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Желим мобилне податке"</string>
@@ -527,6 +531,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Није препознато"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Отисак прста је потврђен"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Лице је потврђено"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Лице је потврђено. Притисните Потврди"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Хардвер за отиске прстију није доступан."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Није могуће сачувати отисак прста. Уклоните неки од постојећих отисака прстију."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Временско ограничење за отисак прста је истекло. Пробајте поново."</string>
@@ -563,6 +569,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Истекло је време за проверу лица. Пробајте поново."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Није могуће сачувати лице."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Обрада лица је отказана."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Корисник је отказао потврду лица."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Превише покушаја. Пробајте поново касније."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Више покушаја. Потврда идентитета је онемогућена."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Пробајте поново."</string>
@@ -1640,6 +1647,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Корекција боја"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Пречица за приступачност је укључила услугу <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Пречица за приступачност је искључила услугу <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Употребите поново пречицу за приступачност да бисте покренули актуелну функцију приступачности"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Изаберите функцију која ће се користити када додирнете дугме за приступачност:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Притисните и задржите дугме за приступачност да бисте мењали функције."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Увећање"</string>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index 31bb349..9f46514 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Följande fel uppstod när Wi-Fi-samtal skulle registreras hos operatören: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi-samtal"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Wi-Fi-samtal via <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN-samtal"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"WLAN-samtal via <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi via <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi-samtal | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWifi via <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Av"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi i första hand"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Använd mobildata"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Identifierades inte"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Fingeravtrycket har autentiserats"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Ansiktet har autentiserats"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Ansiktet har autentiserats. Tryck på Bekräfta"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Det finns ingen maskinvara för fingeravtryck."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Fingeravtrycket kan inte lagras. Ta bort ett befintligt fingeravtryck."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Tidsgränsen för fingeravtrycket har uppnåtts. Försök igen."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Tidsgränsen för ansikte har nåtts. Försök igen."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Det gick inte att lagra ansiktet."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Ansiktsåtgärden har avbrutits."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Autentiseringen av ansiktet avbröts av användaren."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Du har gjort för många försök. Försök igen senare."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"För många försök. Ansiktsautentisering inaktiverad"</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Försök igen."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Färgkorrigering"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"<xliff:g id="SERVICE_NAME">%1$s</xliff:g> aktiverades av Aktivera tillgänglighet snabbt"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"<xliff:g id="SERVICE_NAME">%1$s</xliff:g> inaktiverades av Aktivera tillgänglighet snabbt"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Använd Aktivera tillgänglighet snabbt en gång till om du vill aktivera tillgänglighetsfunktionen i fråga"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Välj en funktion som ska användas när du trycker på tillgänglighetsknappen:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Tryck länge på tillgänglighetsknappen för att ändra funktioner."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Förstoring"</string>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index 3d26224..b0858dc 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -128,8 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Tatizo limetokea wakati wa kuisajili huduma ya kupiga simu kupitia Wi‑Fi kwa mtoa huduma wako: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-    <!-- String.format failed for translation -->
-    <!-- no translation found for wfcSpnFormats:0 (6830082633573257149) -->
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Kupiga Simu Kupitia Wi-Fi ya <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Simu ya WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Simu ya WLAN ya <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi ya <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Kupiga Simu kupitia WiFi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWifi ya <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Imezimwa"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi inapedelewa"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Mtandao wa simu unapendelewa"</string>
@@ -522,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Hayatambuliki"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Imethibitisha alama ya kidole"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Uso umethibitishwa"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Uso umethibitishwa, tafadhali bonyeza thibitisha"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Maunzi ya kitambulisho hayapatikani."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Kitambulisho hakiwezi kuhifadhiwa. Tafadhali ondoa kitambulisho kilichopo."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Muda wa kitambulisho umekwisha. Jaribu tena."</string>
@@ -558,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Muda wa kutambua uso umeisha. Jaribu tena."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Huwezi kuhifadhi uso."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Utendaji wa kitambulisho umeghairiwa."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Uthibitishaji wa uso umeghairiwa na mtumiaji."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Umejaribu mara nyingi mno. Jaribu tena baadaye."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Umejaribu mara nyingi mno. Kitambuzi cha uso kimezimwa."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Jaribu tena."</string>
@@ -1614,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Usahihishaji wa rangi"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Njia ya mkato ya zana za walio na matatizo ya kuona au kusikia imewasha <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Njia ya mkato ya zana za walio na matatizo ya kuona au kusikia imezima <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Tumia njia ya Mkato wa Zana za walio na matatizo ya kuona au kusikia tena ili kuanzisha kipengele kilichopo cha walio na matatizo ya kuona au kusikia"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Chagua kipengele utakachotumia, ukigonga Kitufe cha zana za walio na matatizo ya kuona au kusikia."</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Ili kubadilisha vipengele, gusa na ushikile Kitufe cha zana za walio na matatizo ya kuona au kusikia."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Ukuzaji"</string>
diff --git a/core/res/res/values-ta/strings.xml b/core/res/res/values-ta/strings.xml
index b175f75..b84d68e 100644
--- a/core/res/res/values-ta/strings.xml
+++ b/core/res/res/values-ta/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"உங்கள் மொபைல் நிறுவனத்துடன் வைஃபை அழைப்பைப் பதிவுசெய்வதில் சிக்கல்: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s வைஃபை அழைப்பு"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> வைஃபை அழைப்பு"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN அழைப்பு"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN அழைப்பு"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> வைஃபை"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"வைஃபை அழைப்பு | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"ஆஃப்"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"வைஃபைக்கு முன்னுரிமை"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"மொபைல் தரவிற்கு முன்னுரிமை"</string>
@@ -284,7 +288,7 @@
     <string name="permgrouprequest_sms" msgid="7168124215838204719">"மெசேஜ்களை அனுப்பவும், பார்க்கவும் &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ஆப்ஸை அனுமதிக்கவா?"</string>
     <string name="permgrouplab_storage" msgid="1971118770546336966">"சேமிப்பிடம்"</string>
     <string name="permgroupdesc_storage" msgid="637758554581589203">"உங்கள் சாதனத்தில் உள்ள படங்கள், மீடியா மற்றும் கோப்புகளை அணுக வேண்டும்"</string>
-    <string name="permgrouprequest_storage" msgid="7885942926944299560">"உங்கள் சாதனத்திலுள்ள படங்கள், மீடியா, ஃபைல்கள் ஆகியவற்றை அணுகுவதற்கு &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; பயன்பாட்டை அனுமதிக்கவா?"</string>
+    <string name="permgrouprequest_storage" msgid="7885942926944299560">"உங்கள் சாதனத்திலுள்ள படங்கள், மீடியா, ஃபைல்கள் ஆகியவற்றை அணுகுவதற்கு &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ஆப்ஸை அனுமதிக்கவா?"</string>
     <string name="permgrouplab_microphone" msgid="171539900250043464">"மைக்ரோஃபோன்"</string>
     <string name="permgroupdesc_microphone" msgid="4988812113943554584">"ஒலிப் பதிவு செய்யலாம்"</string>
     <string name="permgrouprequest_microphone" msgid="9167492350681916038">"ஆடியோவைப் பதிவு செய்ய &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; பயன்பாட்டை அனுமதிக்கவா?"</string>
@@ -514,8 +518,7 @@
     <string name="permdesc_imagesWrite" msgid="7073662756617474375">"உங்களின் படத் தொகுப்பை மாற்ற ஆப்ஸை அனுமதிக்கும்."</string>
     <string name="permlab_mediaLocation" msgid="8675148183726247864">"மீடியா தொகுப்பிலிருந்து இடங்களை அறிதல்"</string>
     <string name="permdesc_mediaLocation" msgid="2237023389178865130">"உங்களின் மீடியா தொகுப்பிலிருந்து இடங்களை அறிந்துகொள்ள ஆப்ஸை அனுமதிக்கும்."</string>
-    <!-- no translation found for biometric_error_hw_unavailable (645781226537551036) -->
-    <skip />
+    <string name="biometric_error_hw_unavailable" msgid="645781226537551036">"பயோமெட்ரிக் வன்பொருள் இல்லை"</string>
     <string name="fingerprint_acquired_partial" msgid="735082772341716043">"கைரேகையை ஓரளவுதான் கண்டறிய முடிந்தது. மீண்டும் முயலவும்."</string>
     <string name="fingerprint_acquired_insufficient" msgid="4596546021310923214">"கைரேகையைச் செயலாக்க முடியவில்லை. மீண்டும் முயலவும்."</string>
     <string name="fingerprint_acquired_imager_dirty" msgid="1087209702421076105">"கைரேகை உணர்வியில் தூசி உள்ளது. சுத்தம் செய்து, முயலவும்."</string>
@@ -523,9 +526,10 @@
     <string name="fingerprint_acquired_too_slow" msgid="59250885689661653">"விரலை மிகவும் மெதுவாக நகர்த்திவிட்டீர்கள். மீண்டும் முயற்சிக்கவும்."</string>
   <string-array name="fingerprint_acquired_vendor">
   </string-array>
-    <!-- no translation found for biometric_not_recognized (5770511773560736082) -->
-    <skip />
+    <string name="biometric_not_recognized" msgid="5770511773560736082">"அடையாளங்காணபடவில்லை"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"கைரேகை அங்கீகரிக்கப்பட்டது"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"முகம் அங்கீகரிக்கப்பட்டது"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"முகம் அங்கீகரிக்கப்பட்டது. ’உறுதிப்படுத்துக’ என்பதை அழுத்துக"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"கைரேகை வன்பொருள் இல்லை."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"கைரேகையைச் சேமிக்க முடியவில்லை. ஏற்கனவே உள்ள கைரேகையை அகற்றவும்."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"கைரேகைக்கான நேரம் முடிந்தது. மீண்டும் முயலவும்."</string>
@@ -562,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"முகப் பதிவிற்கான நேரம் முடிந்தது. மீண்டும் முயல்க."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"முகத்தைச் சேமிக்க இயலாது."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"முக அங்கீகாரச் செயல்பாடு ரத்துசெய்யப்பட்டது."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"பயனர், முக அங்கீகாரத்தை ரத்துசெய்தார்."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"பலமுறை முயன்றுவிட்டீர்கள். பிறகு முயலவும்."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"பலமுறை தோல்வி. முக அங்கீகாரம் முடக்கப்பட்டது."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"மீண்டும் முயலவும்."</string>
@@ -1619,6 +1624,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"வண்ணத் திருத்தம்"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"அணுகல்தன்மைக் குறுக்குவழியானது <xliff:g id="SERVICE_NAME">%1$s</xliff:g>ஐ இயக்கியது"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"அணுகல்தன்மைக் குறுக்குவழியானது <xliff:g id="SERVICE_NAME">%1$s</xliff:g>ஐ முடக்கியது"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"தற்போதுள்ள அணுகல்தன்மை அம்சத்தை மீண்டும் தொடங்க ’அணுகல்தன்மை ஷார்ட்கட்டைப்’ பயன்படுத்தவும்"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"அணுகல்தன்மைப் பொத்தானைத் தட்டி, பயன்படுத்துவதற்கான அம்சத்தைத் தேர்ந்தெடுக்கவும்:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"அம்சங்களை மாற்ற, அணுகல்தன்மைப் பொத்தானைத் தொட்டுப் பிடித்திருக்கவும்."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"பெரிதாக்கல்"</string>
diff --git a/core/res/res/values-te/strings.xml b/core/res/res/values-te/strings.xml
index 2027d33..a5430b6 100644
--- a/core/res/res/values-te/strings.xml
+++ b/core/res/res/values-te/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"మీ క్యారియర్‌తో Wi‑Fi కాలింగ్‌ని నమోదు చేయడంలో సమస్య: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi కాలింగ్"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi కాలింగ్"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN కాల్"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN కాల్"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"WiFi కాలింగ్ | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"ఆఫ్‌లో ఉంది"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fiకి ప్రాధాన్యత"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"మొబైల్‌కి ప్రాధాన్యత ఇవ్వబడింది"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"గుర్తించలేదు"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"వేలిముద్ర ప్రమాణీకరించబడింది"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"ముఖం ప్రమాణీకరించబడింది"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"ముఖం ప్రమాణీకరించబడింది, దయచేసి ధృవీకరించును నొక్కండి"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"వేలిముద్ర హార్డ్‌వేర్ అందుబాటులో లేదు."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"వేలిముద్రను నిల్వ చేయడం సాధ్యపడదు. దయచేసి ఇప్పటికే ఉన్న వేలిముద్రను తీసివేయండి."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"వేలిముద్ర గడువు సమయం చేరుకుంది. మళ్లీ ప్రయత్నించండి."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"ముఖ గడువు సమయం చేరుకుంది. మళ్లీ ప్రయత్నించండి."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"ముఖం నిల్వ చేయబడదు."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"ముఖ కార్యకలాపం రద్దయింది."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"వినియోగదారు ద్వారా ముఖ ప్రమాణీకరణ రద్దు చేయబడింది."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"చాలా ఎక్కువ ప్రయత్నాలు చేసారు. తర్వాత మళ్లీ ప్రయత్నించండి."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"చాలా ఎక్కువ ప్రయత్నాలు చేసారు. ముఖ ప్రమాణీకరణ నిలిపివేయబడింది."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"మళ్లీ ప్రయత్నించండి."</string>
@@ -1617,6 +1624,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"రంగు సవరణ"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"యాక్సెస్ సామర్థ్య షార్ట్‌కట్ ద్వారా <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ఆన్ చేయబడింది"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"యాక్సెస్ సామర్థ్య షార్ట్‌కట్ ద్వారా <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ఆఫ్ చేయబడింది"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"ప్రస్తుత యాక్సెస్ సౌలభ్య ఫీచర్‌ను ఉపయోగించడానికి యాక్సెసిబిలిటీ షార్ట్‌కట్‌ను మళ్లీ ప్రారంభించండి"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"యాక్సెస్ సామర్థ్య బటన్‌ను మీరు నొక్కినప్పుడు ఉపయోగించాల్సిన ఒక ఫీచర్‌ను ఎంచుకోండి:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"ఫీచర్లను మార్చడానికి, యాక్సెస్ సామర్థ్య బటన్‌ను నొక్కి &amp; పట్టుకోండి."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"మాగ్నిఫికేషన్"</string>
diff --git a/core/res/res/values-television/themes.xml b/core/res/res/values-television/themes.xml
index 377982a..48b59c7 100644
--- a/core/res/res/values-television/themes.xml
+++ b/core/res/res/values-television/themes.xml
@@ -15,7 +15,6 @@
 -->
 <resources>
     <style name="Theme.Dialog.Alert" parent="Theme.Leanback.Light.Dialog.Alert" />
-    <style name="Theme.Dialog.AppError" parent="Theme.Leanback.Dialog.AppError" />
     <style name="Theme.Holo.Dialog.Alert" parent="Theme.Leanback.Dialog.Alert" />
     <style name="Theme.Holo.Light.Dialog.Alert" parent="Theme.Leanback.Light.Dialog.Alert" />
     <style name="Theme.Material.Dialog.Alert" parent="Theme.Leanback.Dialog.Alert" />
diff --git a/core/res/res/values-television/themes_device_defaults.xml b/core/res/res/values-television/themes_device_defaults.xml
index 293591a..fdd0624 100644
--- a/core/res/res/values-television/themes_device_defaults.xml
+++ b/core/res/res/values-television/themes_device_defaults.xml
@@ -15,8 +15,20 @@
 -->
 <resources>
     <style name="Theme.DeviceDefault.Dialog.Alert" parent="Theme.Leanback.Dialog.Alert" />
+    <style name="Theme.DeviceDefault.Dialog.AppError" parent="Theme.Leanback.Dialog.AppError" />
     <style name="Theme.DeviceDefault.Light.Dialog.Alert" parent="Theme.Leanback.Light.Dialog.Alert" />
-    <style name="Theme.DeviceDefault.Autofill" parent="Theme.Material.Autofill" />
-    <style name="Theme.DeviceDefault.Autofill.Save" parent="Theme.Material.Autofill.Save" />
+
+    <!-- TODO(b/116457731): remove colorBackground from colors_material.xml if not used anymore -->
+    <style name="Theme.DeviceDefault.Autofill" parent="Theme.Material">
+        <item name="colorBackground">@color/autofill_background_material_dark</item>
+    </style>
+    <style name="Theme.DeviceDefault.Autofill.Save" parent="Theme.Material.Panel">
+        <item name="colorBackground">@color/autofill_background_material_dark</item>
+    </style>
+
+    <!-- TV always use dark mode -->
+    <style name="Theme.DeviceDefault.Autofill.Light" parent="Theme.DeviceDefault.Autofill"/>
+    <style name="Theme.DeviceDefault.Light.Autofill.Save" parent="Theme.DeviceDefault.Autofill.Save"/>
+
     <style name="Theme.DeviceDefault.Resolver" parent="Theme.Leanback.Resolver" />
 </resources>
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index 84fd018..0b7e031 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"เกิดปัญหาในการลงทะเบียนการโทรผ่าน Wi‑Fi กับผู้ให้บริการของคุณ: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"กำลังเรียก Wi-Fi ของ %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"การโทรผ่าน Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"การโทรผ่าน WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"การโทรผ่าน WLAN <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"การโทรผ่าน Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWifi <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"ปิด"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"ต้องการใช้ Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"ต้องการใช้อินเทอร์เน็ตมือถือ"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"ไม่รู้จัก"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"ตรวจสอบสิทธิ์ลายนิ้วมือแล้ว"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"ตรวจสอบสิทธิ์ใบหน้าแล้ว"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"ตรวจสอบสิทธิ์ใบหน้าแล้ว โปรดกดยืนยัน"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"ฮาร์ดแวร์ลายนิ้วมือไม่พร้อมใช้งาน"</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"ไม่สามารถเก็บลายนิ้วมือได้ โปรดนำลายนิ้วมือที่มีอยู่ออก"</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"หมดเวลาใช้ลายนิ้วมือแล้ว โปรดลองอีกครั้ง"</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"หมดเวลาใช้ใบหน้าแล้ว โปรดลองอีกครั้ง"</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"จัดเก็บข้อมูลใบหน้าไม่ได้"</string>
     <string name="face_error_canceled" msgid="283945501061931023">"ยกเลิกการดำเนินการกับใบหน้าแล้ว"</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"ผู้ใช้ยกเลิกการตรวจสอบสิทธิ์ใบหน้า"</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"ดำเนินการหลายครั้งเกินไป ลองอีกครั้งในภายหลัง"</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"ดำเนินการหลายครั้งเกินไป ปิดใช้การตรวจสอบสิทธิ์ด้วยใบหน้าแล้ว"</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"ลองอีกครั้ง"</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"การปรับแก้สี"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"ทางลัดการเข้าถึงเปิด <xliff:g id="SERVICE_NAME">%1$s</xliff:g> แล้ว"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"ทางลัดการเข้าถึงปิด <xliff:g id="SERVICE_NAME">%1$s</xliff:g> แล้ว"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"ใช้ทางลัดการช่วยเหลือพิเศษอีกครั้งเพื่อเริ่มฟีเจอร์การช่วยเหลือพิเศษปัจจุบัน"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"เลือกฟีเจอร์ที่จะใช้เมื่อคุณแตะปุ่ม \"การเข้าถึงพิเศษ\":"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"หากต้องการเปลี่ยนฟีเจอร์ ให้แตะปุ่ม \"การเข้าถึงพิเศษ\" ค้างไว้"</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"การขยาย"</string>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index 49318cf..e21f59c 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Nagkaroon ng isyu sa pagrehistro ng pagtawag gamit ang Wi‑Fi sa iyong carrier: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Pagtawag sa Pamamagitan ng Wi-Fi ng %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Pagtawag Gamit ang Wi-Fi ng <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Pagtawag Gamit ang WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Pagtawag Gamit ang WLAN ng <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi ng <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Pagtawag Gamit ang Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWifi ng <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Naka-off"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Mas gusto ang Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Mas gusto ang mobile"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Hindi nakilala"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Na-authenticate ang fingerprint"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Na-authenticate ang mukha"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Na-authenticate ang mukha, pakipindot ang kumpirmahin"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Hindi available ang hardware na ginagamitan ng fingerprint."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Hindi maiimbak ang fingerprint. Mangyaring mag-alis ng umiiral nang fingerprint."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Nag-time out ang fingerprint. Subukang muli."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Nag-time out ang mukha. Subukang muli."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Hindi ma-store ang mukha."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Nakansela ang operation kaugnay ng mukha."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Kinansela ng user ang pag-authenticate ng mukha."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Masyadong maraming pagsubok. Subukang muli mamaya."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Sobrang pagsubok. Bawal na: facial authentication."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Subukang muli."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Pagwawasto ng Kulay"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Na-on ng Shortcut sa Accessibility ang <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Na-off ng Shortcut sa Accessibility ang <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Gamiting muli ang Shortcut sa Pagiging Naa-access para simulan ang kasalukuyang feature ng pagiging naa-access"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Pumili ng feature na gagamitin kapag na-tap mo ang button ng Pagiging Naa-access:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Upang baguhin ang mga feature, pindutin nang matagal ang button ng Pagiging Naa-access."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Pag-magnify"</string>
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index c6d18ec..912db20 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Kablosuz çağrının operatörünüze kaydı sırasında hata oluştu: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Kablosuz Çağrı"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Kablosuz Çağrı"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN Üzerinden Çağrı"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN Üzerinden Çağrı"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Kablosuz"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Kablosuz Çağrı | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Kapalı"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Kablosuz bağlantı tercihli"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Mobil tercihli"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Tanınmadı"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Parmak izi kimlik doğrulaması yapıldı"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Yüz kimliği doğrulandı"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Yüz kimliği doğrulandı, lütfen onayla\'ya basın"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Parmak izi donanımı kullanılamıyor."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Parmak izi depolanamıyor. Lütfen mevcut parmak izlerinden birini kaldırın."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Parmak izi için zaman aşımı oluştu. Tekrar deneyin."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Yüz için zaman aşımı oluştu. Tekrar deneyin."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Yüz kaydedilemiyor."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Yüz işlemi iptal edildi."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Yüz kimlik doğrulama işlemini kullanıcı iptal etti."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Çok fazla deneme yapıldı. Daha sonra tekrar deneyin."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Çok fazla deneme yapıldı. Yüz kimlik doğrulaması devre dışı bırakıldı."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Tekrar deneyin."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Renk Düzeltme"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Erişilebilirlik Kısayolu <xliff:g id="SERVICE_NAME">%1$s</xliff:g> hizmetini açtı"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Erişilebilirlik Kısayolu <xliff:g id="SERVICE_NAME">%1$s</xliff:g> hizmetini kapattı"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Geçerli erişilebilirlik özelliğini başlatmak için Erişilebilirlik Kısayolu\'nu tekrar kullanın"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Erişilebilirlik düğmesine dokunduğunuzda kullanmak üzere bir özellik seçin:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Özellikleri değiştirmek için Erişilebilirlik düğmesine dokunup basılı tutun."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Büyütme"</string>
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index 6e6dd9a..f84e3e2 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -130,10 +130,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Проблема з реєстрацією дзвінків через Wi‑Fi у вашого оператора: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Дзвінок через Wi-Fi від оператора %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Виклики <xliff:g id="SPN">%s</xliff:g> через Wi-Fi"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Виклик через WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Виклик <xliff:g id="SPN">%s</xliff:g> через WLAN"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> через Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Виклики через Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> через VoWi-Fi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Вимкнено"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi за умовчанням"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Мобільна мережа за умовчанням"</string>
@@ -530,6 +534,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Не розпізнано"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Відбиток автентифіковано"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Обличчя автентифіковано"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Обличчя автентифіковано. Натисніть \"Підтвердити\""</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Апаратне забезпечення для сканування відбитка недоступне."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Не вдалося зберегти відбиток. Видаліть наявний відбиток."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Час очікування відбитка минув. Повторіть спробу."</string>
@@ -566,6 +572,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Час очікування обличчя минув. Повторіть спробу."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Не вдається зберегти обличчя."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Дію з обличчям скасовано."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Користувач скасував автентифікацію облич."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Забагато спроб. Повторіть пізніше."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Забагато спроб. Автентифікацію обличчя вимкнено."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Повторіть спробу."</string>
@@ -1664,6 +1671,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Корекція кольорів"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Ярлик спеціальних можливостей увімкнув <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Ярлик спеціальних можливостей вимкнув <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Щоб запустити поточну функцію спеціальних можливостей, знову скористайтеся відповідним ярликом"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Виберіть функцію для кнопки спеціальних можливостей:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Щоб змінити функцію, натисніть і втримуйте кнопку спеціальних можливостей."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Збільшення"</string>
diff --git a/core/res/res/values-ur/strings.xml b/core/res/res/values-ur/strings.xml
index 2a2ca62..dc801cd 100644
--- a/core/res/res/values-ur/strings.xml
+++ b/core/res/res/values-ur/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"‏آپ کے کیریئر کے ساتھ Wi‑Fi کالنگ رجسٹر کرنے میں مسئلہ درپیش ہے: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"‎%s"</item>
-    <item msgid="4397097370387921767">"‏‎%s Wi-Fi کالنگ"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"‏<xliff:g id="SPN">%s</xliff:g> Wi-Fi کالنگ"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"‏WLAN کال"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"‏<xliff:g id="SPN">%s</xliff:g> WLAN کال"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"‏WiFi کالنگ | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"آف"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"‏Wi-Fi ترجیحی"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"موبائل ترجیحی"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"تسلیم شدہ نہیں ہے"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"فنگر پرنٹ کی تصدیق ہو گئی"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"چہرے کی تصدیق ہو گئی"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"چہرے کی تصدیق ہو گئی، براہ کرم \'تصدیق کریں\' کو دبائيں"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"فنگر پرنٹ ہارڈ ویئر دستیاب نہیں ہے۔"</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"فنگر پرنٹ اسٹور نہیں کیا جا سکتا ہے۔ براہ کرم ایک موجودہ فنگر پرنٹ ہٹائیں۔"</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"فنگر پرنٹ کی میعاد ختم ہوگئی۔ دوبارہ کوشش کریں۔"</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"چہرہ پہچانے کی میعاد ختم ہو گئی۔ دوبارہ کوشش کریں۔"</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"چہرے کو اسٹور نہیں کیا جا سکتا۔"</string>
     <string name="face_error_canceled" msgid="283945501061931023">"چہرے پر ہونے والی کارروائی منسوخ ہو گئی۔"</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"صارف نے چہرے کی تصدیق کو مسترد کر دیا۔"</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"کافی زیادہ کوششیں کی گئیں۔ دوبارہ کوشش کریں۔"</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"کافی زیادہ کوششیں کی گئیں۔ چہرے کی توثیق منسوخ ہو گئی۔"</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"دوبارہ کوشش کریں۔"</string>
@@ -1617,6 +1624,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"رنگ کی تصحیح"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"ایکسیسبیلٹی شارٹ کٹ نے <xliff:g id="SERVICE_NAME">%1$s</xliff:g> کو آن کر دیا"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"ایکسیسبیلٹی شارٹ کٹ نے <xliff:g id="SERVICE_NAME">%1$s</xliff:g> کو آف کر دیا"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"موجودہ ایکسیسبیلٹی خصوصیت کو شروع کرنے کیلئے دوبارہ ایکسیسبیلٹی شارٹ کٹ استعمال کریں"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"ایکسیسبیلٹی بٹن پر تھپتھپانے وقت استعمال کرنے کیلئے ایک خصوصیت چنیں:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"خصوصیات تبدیل کرنے کیلئے، ایکسیسبیلٹی بٹن ٹچ کریں اور دبائے رکھیں۔"</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"میگنیفکیشن"</string>
diff --git a/core/res/res/values-uz/strings.xml b/core/res/res/values-uz/strings.xml
index 7ffc7e7..e51b810 100644
--- a/core/res/res/values-uz/strings.xml
+++ b/core/res/res/values-uz/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Aloqa operatoringiz orqali Wi-Fi chaqiruv funksiyasinini ulashda xato: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi qo‘ng‘iroqlar"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi chaqiruv"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN chaqiruv"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN chaqiruv"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi chaqiruv | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWi-Fi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"O‘chiq"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi afzalligi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Mobil internet afzalligi"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Aniqlanmadi"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Barmoq izi tekshirildi"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Yuzingiz aniqlandi"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Yuzingiz aniqlandi, tasdiqlash uchun bosing"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Barmoq izi skaneri ish holatida emas."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Barmoq izini saqlab bo‘lmadi. Mavjud barmoq izlaridan birini o‘chirib tashlang."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Barmoq izini aniqlash vaqti tugab qoldi. Qayta urinib ko‘ring."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Yuzni aniqlash vaqti tugadi. Qaytadan urining."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Aniqlangan yuz saqlanmadi."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Yuzni aniqlash bekor qilindi."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Yuz tekshiruvi bekor qilindi."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Juda ko‘p urinildi. Keyinroq qaytadan urining."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Juda ko‘p urinildi. Skaner faolsizlantirildi."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Qaytadan urining."</string>
@@ -1617,6 +1624,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Rangni tuzatish"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"<xliff:g id="SERVICE_NAME">%1$s</xliff:g> xizmati yoqildi"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"<xliff:g id="SERVICE_NAME">%1$s</xliff:g> xizmati o‘chirib qo‘yildi"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Joriy maxsus imkoniyatlar funksiyasini boshlash uchun tezkor ishga tushirishdan qayta foydalaning"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Maxsus imkoniyatlar tugmasi bosilganda ishga tushadigan funksiyani tanlang:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Funksiyalarni o‘zgartirish uchun Maxsus imkoniyatlar tugmasini bosib turing."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Kattalashtirish"</string>
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index a5f458b..4d8a20b 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Sự cố khi đăng ký dịch vụ gọi qua Wi‑Fi với nhà mạng của bạn: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"Gọi điện qua Wi-Fi %s"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"Gọi qua Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Cuộc gọi qua WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"Cuộc gọi qua WLAN <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"Wi-Fi <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Gọi qua Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"VoWifi <xliff:g id="SPN">%s</xliff:g>"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Tắt"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Ưu tiên Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Ưu tiên dữ liệu di động"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Không nhận dạng được"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Đã xác thực vân tay"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Đã xác thực khuôn mặt"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Đã xác thực khuôn mặt, vui lòng nhấn để xác nhận"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Phần cứng vân tay không khả dụng."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Không thể lưu vân tay. Vui lòng xóa vân tay hiện có."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Đã hết thời gian chờ vân tay. Hãy thử lại."</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Đã hết thời gian chờ khuôn mặt. Hãy thử lại."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Không thể lưu khuôn mặt."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Đã hủy thao tác dùng khuôn mặt."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Người dùng đã hủy thao tác xác thực khuôn mặt."</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Bạn đã thử quá nhiều lần. Hãy thử lại sau."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Đã thử quá nhiều lần. Đã tắt xác thực khuôn mặt."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Hãy thử lại."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Sửa màu"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Đã bật phím tắt trợ năng <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Đã tắt phím tắt trợ năng <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Sử dụng lại Phím tắt hỗ trợ tiếp cận để bắt đầu tính năng hỗ trợ tiếp cận hiện tại"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Chọn tính năng sẽ sử dụng khi bạn nhấn nút Trợ năng:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Để thay đổi các tính năng, hãy chạm và giữ nút Trợ năng."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Phóng to"</string>
diff --git a/core/res/res/values-watch/themes.xml b/core/res/res/values-watch/themes.xml
deleted file mode 100644
index 04df180..0000000
--- a/core/res/res/values-watch/themes.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 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.
--->
-<resources>
-    <!-- Theme for the dialog shown when an app crashes or ANRs. Override to make it dark. -->
-    <style name="Theme.Dialog.AppError" parent="Theme.DeviceDefault.Dialog.Alert">
-        <item name="windowContentTransitions">false</item>
-        <item name="windowActivityTransitions">false</item>
-        <item name="windowCloseOnTouchOutside">false</item>
-    </style>
-</resources>
diff --git a/core/res/res/values-watch/themes_device_defaults.xml b/core/res/res/values-watch/themes_device_defaults.xml
index a7736e7c..bfba312 100644
--- a/core/res/res/values-watch/themes_device_defaults.xml
+++ b/core/res/res/values-watch/themes_device_defaults.xml
@@ -422,6 +422,13 @@
         <item name="secondaryContentAlpha">@dimen/secondary_content_alpha_device_default</item>
     </style>
 
+    <!-- Theme for the dialog shown when an app crashes or ANRs. Override to make it dark. -->
+    <style name="Theme.DeviceDefault.Dialog.AppError" parent="Theme.DeviceDefault.Dialog.Alert">
+        <item name="windowContentTransitions">false</item>
+        <item name="windowActivityTransitions">false</item>
+        <item name="windowCloseOnTouchOutside">false</item>
+    </style>
+
     <style name="Theme.DeviceDefault.SearchBar" parent="Theme.Material.SearchBar">
         <!-- Color palette Dark -->
         <item name="colorPrimary">@color/primary_device_default_dark</item>
diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml
index 0b04e08..609f9bcf 100644
--- a/core/res/res/values-zh-rCN/strings.xml
+++ b/core/res/res/values-zh-rCN/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"向您的运营商注册 WLAN 通话时遇到问题：<xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s WLAN 通话功能"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> WLAN 通话"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN 通话"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN 通话"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> WLAN"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"WLAN 通话 | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"关闭"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"首选 WLAN"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"首选移动数据网络"</string>
@@ -272,9 +276,9 @@
     <string name="permgrouprequest_contacts" msgid="6032805601881764300">"允许&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;访问您的通讯录吗？"</string>
     <string name="permgrouplab_location" msgid="7275582855722310164">"位置信息"</string>
     <string name="permgroupdesc_location" msgid="1346617465127855033">"获取此设备的位置信息"</string>
-    <string name="permgrouprequest_location" msgid="3788275734953323491">"允许&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;获取此设备的位置信息吗？"</string>
+    <string name="permgrouprequest_location" msgid="3788275734953323491">"要允许“<xliff:g id="APP_NAME">%1$s</xliff:g>”获取此设备的位置信息吗？"</string>
     <string name="permgrouprequestdetail_location" msgid="1113400215566814664">"只有当您使用该应用时，该应用才有权获取位置信息。"</string>
-    <string name="permgroupbackgroundrequest_location" msgid="8461841153030844390">"一律允许&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;获取此设备的位置信息吗？"</string>
+    <string name="permgroupbackgroundrequest_location" msgid="8461841153030844390">"一律允许“<xliff:g id="APP_NAME">%1$s</xliff:g>”获取此设备的位置信息吗？"</string>
     <string name="permgroupbackgroundrequestdetail_location" msgid="1715668276378108654">"即使您并未使用该应用，该应用也将始终有权获取位置信息。"</string>
     <string name="permgrouplab_calendar" msgid="5863508437783683902">"日历"</string>
     <string name="permgroupdesc_calendar" msgid="3889615280211184106">"访问您的日历"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"无法识别"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"已验证指纹"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"面孔已验证"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"面孔已验证，请按确认按钮"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"指纹硬件无法使用。"</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"无法存储指纹。请移除一个现有的指纹。"</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"指纹录入操作超时，请重试。"</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"面孔处理操作超时，请重试。"</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"无法存储面孔。"</string>
     <string name="face_error_canceled" msgid="283945501061931023">"面孔处理操作已取消。"</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"用户已取消面孔验证。"</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"尝试次数过多，请稍后重试。"</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"尝试次数过多，系统已停用人脸身份验证功能。"</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"请重试。"</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"色彩校正"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"无障碍快捷方式已开启<xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"无障碍快捷方式已关闭<xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"再次使用无障碍快捷方式即可启动目前设置的无障碍功能"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"选择按下“无障碍”按钮时要使用的功能："</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"要更改指定的功能，请触摸并按住“无障碍”按钮。"</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"放大功能"</string>
diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml
index 87eb41f..2e3c7d7 100644
--- a/core/res/res/values-zh-rHK/strings.xml
+++ b/core/res/res/values-zh-rHK/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"向您的流動網絡供應商註冊 Wi-Fi 通話時發生問題：<xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi 通話"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi 通話"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN 通話"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN 通話"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"WiFi 通話 | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"關閉"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"首選 Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"流動數據優先"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"未能識別"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"驗證咗指紋"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"面孔已經驗證"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"面孔已經驗證，請㩒一下 [確認]"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"無法使用指紋軟件。"</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"指紋無法儲存。請移除現有指紋。"</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"指紋已逾時。請再試一次。"</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"臉孔操作已逾時，請再試一次。"</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"無法儲存臉孔。"</string>
     <string name="face_error_canceled" msgid="283945501061931023">"臉孔操作已取消。"</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"使用者已取消臉孔驗證。"</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"嘗試次數過多，請稍後再試。"</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"嘗試次數過多，臉孔驗證已停用。"</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"請再試一次。"</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"色彩校正"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"無障礙功能快速鍵已啟用 <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"無障礙功能快速鍵已停用 <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"再用一次無障礙功能捷徑，就可以啟用宜家設定咗嘅無障礙功能"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"請選擇輕按「無障礙功能」按鈕時使用的功能："</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"如要變更功能，可按住「無障礙功能」按鈕。"</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"放大"</string>
diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml
index bd4ea2a..9149f47 100644
--- a/core/res/res/values-zh-rTW/strings.xml
+++ b/core/res/res/values-zh-rTW/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"向你的電信業者註冊 Wi‑Fi 通話時發生問題：<xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s Wi-Fi 通話"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi 通話"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"WLAN 通話"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> WLAN 通話"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Wi-Fi 通話 | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"關閉"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Wi-Fi 優先"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"行動網路優先"</string>
@@ -514,7 +518,7 @@
     <string name="permdesc_imagesWrite" msgid="7073662756617474375">"允許應用程式修改你的相片收藏。"</string>
     <string name="permlab_mediaLocation" msgid="8675148183726247864">"讀取你的媒體收藏的位置資訊"</string>
     <string name="permdesc_mediaLocation" msgid="2237023389178865130">"允許應用程式讀取你的媒體收藏的位置資訊。"</string>
-    <string name="biometric_error_hw_unavailable" msgid="645781226537551036">"找不到生物特徵辨識硬體"</string>
+    <string name="biometric_error_hw_unavailable" msgid="645781226537551036">"無法使用生物特徵辨識硬體"</string>
     <string name="fingerprint_acquired_partial" msgid="735082772341716043">"僅偵測到部分指紋，請再試一次。"</string>
     <string name="fingerprint_acquired_insufficient" msgid="4596546021310923214">"無法處理指紋，請再試一次。"</string>
     <string name="fingerprint_acquired_imager_dirty" msgid="1087209702421076105">"指紋感應器有髒汙。請清潔感應器，然後再試一次。"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"無法辨識"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"指紋驗證成功"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"臉孔驗證成功"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"臉孔驗證成功，請按下 [確認] 按鈕"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"指紋硬體無法使用。"</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"無法儲存指紋，請先移除現有指紋。"</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"指紋處理作業逾時，請再試一次。"</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"臉孔處理作業逾時，請再試一次。"</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"無法儲存臉孔。"</string>
     <string name="face_error_canceled" msgid="283945501061931023">"臉孔處理作業已取消。"</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"使用者已取消臉孔驗證。"</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"嘗試次數過多，請稍後再試。"</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"嘗試次數過多，臉孔驗證功能已停用。"</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"請再試一次。"</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"色彩校正"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"協助工具捷徑啟用了「<xliff:g id="SERVICE_NAME">%1$s</xliff:g>」"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"協助工具捷徑停用了「<xliff:g id="SERVICE_NAME">%1$s</xliff:g>」"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"再次使用協助工具捷徑即可啟動目前設定的無障礙功能"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"輕觸 [協助工具] 按鈕後，選擇你想使用的功能："</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"如要變更指派的功能，請按住 [協助工具] 按鈕。"</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"放大"</string>
diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml
index fd6614c..75709ca 100644
--- a/core/res/res/values-zu/strings.xml
+++ b/core/res/res/values-zu/strings.xml
@@ -128,10 +128,14 @@
   <string-array name="wfcOperatorErrorNotificationMessages">
     <item msgid="7372514042696663278">"Inkinga yokubhalisa ukushaya kwe-Wi-Fi ngenkampani yakho yenethiwekhi: <xliff:g id="CODE">%1$s</xliff:g>"</item>
   </string-array>
-  <string-array name="wfcSpnFormats">
-    <item msgid="6830082633573257149">"%s"</item>
-    <item msgid="4397097370387921767">"%s ukushaya kwe-Wi-Fi"</item>
-  </string-array>
+    <!-- no translation found for wfcSpnFormat_spn (4998685024207291232) -->
+    <skip />
+    <string name="wfcSpnFormat_spn_wifi_calling" msgid="136001023263502280">"<xliff:g id="SPN">%s</xliff:g> ukushaya kwe-Wi-Fi"</string>
+    <string name="wfcSpnFormat_wlan_call" msgid="2533371081782489793">"Ikholi ye-WLAN"</string>
+    <string name="wfcSpnFormat_spn_wlan_call" msgid="2315240198303197168">"<xliff:g id="SPN">%s</xliff:g> ikholi ye-WLAN"</string>
+    <string name="wfcSpnFormat_spn_wifi" msgid="6546481665561961938">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi"</string>
+    <string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="1726178784338466265">"Ukushaya kwe-WiFi | <xliff:g id="SPN">%s</xliff:g>"</string>
+    <string name="wfcSpnFormat_spn_vowifi" msgid="4444638298656953681">"<xliff:g id="SPN">%s</xliff:g> VoWifi"</string>
     <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Valiwe"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Kuncanyelwa i-Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Kuncanyelwa iselula"</string>
@@ -524,6 +528,8 @@
   </string-array>
     <string name="biometric_not_recognized" msgid="5770511773560736082">"Akwaziwa"</string>
     <string name="fingerprint_authenticated" msgid="5309333983002526448">"Isingxivizo somunwe sigunyaziwe"</string>
+    <string name="face_authenticated_no_confirmation_required" msgid="4018680978348659031">"Ubuso bufakazelwe ubuqiniso"</string>
+    <string name="face_authenticated_confirmation_required" msgid="8778347003507633610">"Ukuqinisekiswa kobuso, sicela ucindezele okuthi qinisekisa"</string>
     <string name="fingerprint_error_hw_not_available" msgid="7955921658939936596">"Izingxenyekazi zekhompuyutha zezingxivizo zeminwe azitholakali."</string>
     <string name="fingerprint_error_no_space" msgid="1055819001126053318">"Izigxivizo zeminwe azikwazi ukugcinwa. Sicela ususe izigxivizo zeminwe ezikhona."</string>
     <string name="fingerprint_error_timeout" msgid="3927186043737732875">"Kufinyelelwe isikhathi sokuvala sezigxivizo zeminwe. Zama futhi"</string>
@@ -560,6 +566,7 @@
     <string name="face_error_timeout" msgid="4014326147867150054">"Kufinyelelwe kusikhathi sokuvala sobuso. Zama futhi."</string>
     <string name="face_error_no_space" msgid="8224993703466381314">"Ubuso abukwazi ukugcinwa."</string>
     <string name="face_error_canceled" msgid="283945501061931023">"Umsebenzi wobuso ukhanselwe."</string>
+    <string name="face_error_user_canceled" msgid="8943921120862164539">"Ukufakazela ubuqiniso kobuso kukhanselwe umsebenzisi"</string>
     <string name="face_error_lockout" msgid="3407426963155388504">"Imizamo eminingi kakhulu. Zama futhi emuva kwesikhathi."</string>
     <string name="face_error_lockout_permanent" msgid="8198354656746088890">"Imizamo eminingi kakhulu. Ukufakazela ubuqiniso kobuso kukhutshaziwe."</string>
     <string name="face_error_unable_to_process" msgid="238761109287767270">"Zama futhi."</string>
@@ -1616,6 +1623,7 @@
     <string name="color_correction_feature_name" msgid="6779391426096954933">"Ukulungiswa kombala"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Isinqamuleli sokufinyelela sivule i-<xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Isinqamuleli sokufinyelela sivale i-<xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_spoken_feedback" msgid="6143872712930414829">"Sebenzisa isinqamuleli sokufinyelela futhi ukuze uqale isici samanje sokufinyelela"</string>
     <string name="accessibility_button_prompt_text" msgid="4234556536456854251">"Khetha isici ozosisebenzisa uma uthepha inkinobho yokufinyelela:"</string>
     <string name="accessibility_button_instructional_text" msgid="6942300463612999993">"Ukuze ushintshe izici, thinta uphinde ubambe inkinobho yokufinyelela."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Ukukhuliswa"</string>
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index 3fed8a3..e0db946 100644
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -1425,7 +1425,7 @@
              at {@link android.view.inputmethod.InputConnection#performEditorAction(int)
              InputConnection.performEditorAction(int)}.
              <p>Corresponds to
-             {@link android.view.inputmethod.EditorInfo#IME_FLAG_NO_FULLSCREEN}. -->
+             {@link android.view.inputmethod.EditorInfo#IME_FLAG_NAVIGATE_PREVIOUS}. -->
         <flag name="flagNavigatePrevious" value="0x4000000" />
         <!-- Used to specify that there is something
              interesting that a forward navigation can focus on. This is like using
@@ -3573,6 +3573,11 @@
              {@link android.accessibilityservice.AccessibilityService#setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo)
              android.accessibilityservice.AccessibilityService.setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo)}. -->
         <attr name="notificationTimeout" format="integer" />
+        <!-- The minimum timeout in milliseconds that UI controls need to remain on the screen.
+             This setting can be changed at runtime by calling
+             {@link android.accessibilityservice.AccessibilityService#setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo)
+             android.accessibilityservice.AccessibilityService.setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo)}. -->
+        <attr name="minimumUiTimeout" format="integer" />
         <!-- Additional flags as specified in
              {@link android.accessibilityservice.AccessibilityServiceInfo}.
              This setting can be changed at runtime by calling
@@ -3601,6 +3606,8 @@
             <flag name="flagRequestAccessibilityButton" value="0x00000100" />
             <!-- Has flag {@link android.accessibilityservice.AccessibilityServiceInfo#FLAG_REQUEST_FINGERPRINT_GESTURES}. -->
             <flag name="flagRequestFingerprintGestures" value="0x00000200" />
+            <!-- Has flag {@link android.accessibilityservice.AccessibilityServiceInfo#FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK}. -->
+            <flag name="flagRequestShortcutWarningDialogSpokenFeedback" value="0x00000400" />
         </attr>
         <!-- Component name of an activity that allows the user to modify
              the settings for this service. This setting cannot be changed at runtime. -->
diff --git a/core/res/res/values/attrs_manifest.xml b/core/res/res/values/attrs_manifest.xml
index 3c0e51e..8ff29ba 100644
--- a/core/res/res/values/attrs_manifest.xml
+++ b/core/res/res/values/attrs_manifest.xml
@@ -1102,6 +1102,10 @@
          <p>The default value of this attribute is <code>false</code>. -->
     <attr name="isFeatureSplit" format="boolean" />
 
+    <!-- Flag to specify if this APK requires at least one split [either feature or
+         resource] to be present in order to function. Default value is false. -->
+    <attr name="isSplitRequired" format="boolean" />
+
     <!-- Extra options for an activity's UI. Applies to either the {@code <activity>} or
          {@code <application>} tag. If specified on the {@code <application>}
          tag these will be considered defaults for all activities in the
@@ -1422,6 +1426,7 @@
         <attr name="targetSandboxVersion" />
         <attr name="compileSdkVersion" />
         <attr name="compileSdkVersionCodename" />
+        <attr name="isSplitRequired" />
     </declare-styleable>
 
     <!-- The <code>application</code> tag describes application-level components
diff --git a/core/res/res/values/colors_car.xml b/core/res/res/values/colors_car.xml
index 6053728..32671ac8 100644
--- a/core/res/res/values/colors_car.xml
+++ b/core/res/res/values/colors_car.xml
@@ -17,15 +17,271 @@
  */
 -->
 <resources>
-  <!-- car support colors from
-  https://cs.corp.google.com/android/frameworks/support/car/res/values/colors.xml -->
-  <color name="car_user_switcher_user_image_bgcolor">@color/car_grey_50</color>
-  <color name="car_user_switcher_user_image_fgcolor">@color/car_grey_900</color>
-  <color name="car_card_dark">@color/car_dark_blue_grey_700</color>
-  <color name="car_body1_light">@color/car_grey_100</color>
+    <color name="car_background">@color/black</color>
 
-  <color name="car_grey_50">#fffafafa</color>
-  <color name="car_grey_900">#ff212121</color>
-  <color name="car_dark_blue_grey_700">#ff172026</color>
-  <color name="car_grey_100">#fff5f5f5</color>
+    <color name="car_colorPrimary">@color/car_grey_868</color>
+    <color name="car_colorSecondary">@color/car_grey_900</color>
+    <color name="car_colorPrimaryDark">@color/car_grey_958</color>
+
+
+    <!-- Various colors for text sizes. "Light" and "dark" here refer to the lighter or darker
+          shades. -->
+    <color name="car_title_light">@color/car_grey_100</color>
+    <color name="car_title_dark">@color/car_grey_900</color>
+    <color name="car_title">@color/car_title_light</color>
+
+    <color name="car_title2_light">@color/car_grey_100</color>
+    <color name="car_title2_dark">@color/car_grey_900</color>
+    <color name="car_title2">@color/car_title2_light</color>
+
+    <color name="car_headline1_light">@color/car_grey_100</color>
+    <color name="car_headline1_dark">@color/car_grey_800</color>
+    <color name="car_headline1">@color/car_headline1_light</color>
+
+    <color name="car_headline2_light">@color/car_grey_100</color>
+    <color name="car_headline2_dark">@color/car_grey_900</color>
+    <color name="car_headline2">@color/car_headline2_light</color>
+
+    <color name="car_headline3_light">@android:color/white</color>
+    <color name="car_headline3_dark">@color/car_grey_900</color>
+    <color name="car_headline3">@color/car_headline3_light</color>
+
+    <color name="car_headline4_light">@android:color/white</color>
+    <color name="car_headline4_dark">@android:color/black</color>
+    <color name="car_headline4">@color/car_headline4_light</color>
+
+    <color name="car_body1_light">@color/car_grey_100</color>
+    <color name="car_body1_dark">@color/car_grey_900</color>
+    <color name="car_body1">@color/car_body1_light</color>
+
+    <color name="car_body2_light">@color/car_grey_300</color>
+    <color name="car_body2_dark">@color/car_grey_700</color>
+    <color name="car_body2">@color/car_body2_light</color>
+
+    <color name="car_body3_light">@android:color/white</color>
+    <color name="car_body3_dark">@android:color/black</color>
+    <color name="car_body3">@color/car_body3_light</color>
+
+    <color name="car_body4_light">@android:color/white</color>
+    <color name="car_body4_dark">@android:color/black</color>
+    <color name="car_body4">@color/car_body4_light</color>
+
+    <color name="car_action1_light">@color/car_grey_900</color>
+    <color name="car_action1_dark">@color/car_grey_50</color>
+    <color name="car_action1">@color/car_action1_light</color>
+
+    <!-- The tinting colors to create a light- and dark-colored icon respectively. -->
+    <color name="car_tint_light">@color/car_grey_50</color>
+    <color name="car_tint_dark">@color/car_grey_900</color>
+
+    <!-- The tinting color for an icon. This icon is assumed to be on a light background. -->
+    <color name="car_tint">@color/car_tint_light</color>
+
+    <!-- An inverted tinting from car_tint. -->
+    <color name="car_tint_inverse">@color/car_tint_dark</color>
+
+    <!-- The color of the divider. The color here is a lighter shade. -->
+    <color name="car_list_divider_light">#1fffffff</color>
+
+    <!-- The color of the divider. The color here is a darker shade. -->
+    <color name="car_list_divider_dark">#1f000000</color>
+
+    <!-- The color of the dividers in the list. This color is assumed to be on a light colored
+         view. -->
+    <color name="car_list_divider">@color/car_list_divider_light</color>
+
+    <!-- A light and dark colored card. -->
+    <color name="car_card_light">@color/car_grey_50</color>
+    <color name="car_card_dark">@color/car_dark_blue_grey_700</color>
+
+    <!-- The default color of a card in car UI. -->
+    <color name="car_card">@color/car_card_dark</color>
+
+    <!-- The ripple colors. The "dark" and "light" designation here refers to the color of the
+         ripple  itself. -->
+    <color name="car_card_ripple_background_dark">#8F000000</color>
+    <color name="car_card_ripple_background_light">#27ffffff</color>
+
+    <!-- The ripple color for a light colored card. -->
+    <color name="car_card_ripple_background">@color/car_card_ripple_background_light</color>
+
+    <!-- The ripple color for a dark-colored card. This color is the opposite of
+         car_card_ripple_background. -->
+    <color name="car_card_ripple_background_inverse">@color/car_card_ripple_background_dark</color>
+
+    <!-- The top margin before the start of content in an application. -->
+    <dimen name="app_header_height">96dp</dimen>
+
+    <!-- The lighter and darker color for the scrollbar thumb. -->
+    <color name="car_scrollbar_thumb_light">#99ffffff</color>
+    <color name="car_scrollbar_thumb_dark">#7f0b0f12</color>
+
+    <!-- The color of the scroll bar indicator in the PagedListView. This color is assumed to be on
+         a light-colored background. -->
+    <color name="car_scrollbar_thumb">@color/car_scrollbar_thumb_light</color>
+
+    <!-- The inverted color of the scroll bar indicator. This color is always the opposite of
+         car_scrollbar_thumb. -->
+    <color name="car_scrollbar_thumb_inverse">@color/car_scrollbar_thumb_dark</color>
+
+    <!-- The color of the seekbar track secondary progress in SeekbarListItem. -->
+    <color name="car_seekbar_track_secondary_progress">@color/car_grey_500</color>
+
+    <!-- The lighter and darker color for the seekbar track background. -->
+    <color name="car_seekbar_track_background_light">@color/car_grey_400</color>
+    <color name="car_seekbar_track_background_dark">@color/car_grey_700</color>
+    <!-- The color of the seekbar track background in SeekbarListItem. This color is assumed to be
+         on a light-colored background. -->
+    <color name="car_seekbar_track_background">@color/car_seekbar_track_background_dark</color>
+    <!-- background is car_grey_868 with .9 alpha -->
+    <color name="car_toast_background">#E6282a2d</color>
+
+    <!-- Misc colors -->
+    <color name="car_highlight_light">@color/car_teal_700</color>
+    <color name="car_highlight_dark">@color/car_teal_200</color>
+    <color name="car_highlight">@color/car_highlight_dark</color>
+    <color name="car_accent_light">@color/car_highlight_light</color>
+    <color name="car_accent_dark">@color/car_highlight_dark</color>
+    <color name="car_accent">@color/car_highlight_dark</color>
+
+    <color name="car_user_switcher_user_image_bgcolor">@color/car_grey_50</color>
+    <color name="car_user_switcher_user_image_fgcolor">@color/car_grey_900</color>
+
+    <!-- Color palette for cars -->
+    <color name="car_grey_958">#ff0e1013</color>
+    <color name="car_grey_928">#ff17181b</color>
+    <color name="car_grey_900">#ff202124</color>
+    <color name="car_grey_868">#ff282a2d</color>
+    <color name="car_grey_846">#ff2e3234</color>
+    <color name="car_grey_800">#ff3c4043</color>
+    <color name="car_grey_772">#ff464a4d</color>
+    <color name="car_grey_746">#ff4d5256</color>
+    <color name="car_grey_700">#ff5f6368</color>
+    <color name="car_grey_600">#ff80868b</color>
+    <color name="car_grey_500">#ff9aa0a6</color>
+    <color name="car_grey_400">#ffbdc1c6</color>
+    <color name="car_grey_300">#ffdadce0</color>
+    <color name="car_grey_200">#ffe8eaed</color>
+    <color name="car_grey_100">#fff1f3f4</color>
+    <color name="car_grey_50">#fff8f9fa</color>
+
+    <color name="car_blue_900">#ff1d57a9</color>
+    <color name="car_blue_800">#ff2065bb</color>
+    <color name="car_blue_700">#ff2374ce</color>
+    <color name="car_blue_600">#ff2581df</color>
+    <color name="car_blue_500">#ff5195ea</color>
+    <color name="car_blue_400">#ff6ba5ed</color>
+    <color name="car_blue_300">#ff96bff2</color>
+    <color name="car_blue_200">#ffb9d4f6</color>
+    <color name="car_blue_100">#ffd9e6f9</color>
+    <color name="car_blue_50">#ffebf1fc</color>
+
+    <color name="car_green_900">#ff136e39</color>
+    <color name="car_green_800">#ff1b7e42</color>
+    <color name="car_green_700">#ff218c48</color>
+    <color name="car_green_600">#ff28994f</color>
+    <color name="car_green_500">#ff41af6a</color>
+    <color name="car_green_400">#ff5dba80</color>
+    <color name="car_green_300">#ff8dcfa5</color>
+    <color name="car_green_200">#ffb3dfc3</color>
+    <color name="car_green_100">#ffd5ebdf</color>
+    <color name="car_green_50">#ffe8f3ee</color>
+
+    <color name="car_red_900">#ffa81314</color>
+    <color name="car_red_800">#ffb41b1a</color>
+    <color name="car_red_700">#ffc22a2a</color>
+    <color name="car_red_600">#ffd33b30</color>
+    <color name="car_red_500">#ffe25142</color>
+    <color name="car_red_400">#ffe66a5e</color>
+    <color name="car_red_300">#ffed968d</color>
+    <color name="car_red_200">#fff3b9b3</color>
+    <color name="car_red_100">#fff7d8d9</color>
+    <color name="car_red_50">#fffaebeb</color>
+
+    <color name="car_yellow_900">#ffdd860e</color>
+    <color name="car_yellow_800">#ffe59810</color>
+    <color name="car_yellow_700">#ffeda912</color>
+    <color name="car_yellow_600">#fff3b713</color>
+    <color name="car_yellow_500">#fff5c518</color>
+    <color name="car_yellow_400">#fff6cd3a</color>
+    <color name="car_yellow_300">#fff9dc74</color>
+    <color name="car_yellow_200">#fffbe7a2</color>
+    <color name="car_yellow_100">#fffcf0ce</color>
+    <color name="car_yellow_50">#fffdf7e6</color>
+
+    <color name="car_orange_900">#ffb06000</color>
+    <color name="car_orange_800">#ffc26401</color>
+    <color name="car_orange_700">#ffd56e0c</color>
+    <color name="car_orange_600">#ffe8710a</color>
+    <color name="car_orange_500">#fffa7b17</color>
+    <color name="car_orange_400">#fffa903e</color>
+    <color name="car_orange_300">#fffcad70</color>
+    <color name="car_orange_200">#fffdc69c</color>
+    <color name="car_orange_100">#fffedfc8</color>
+    <color name="car_orange_50">#fffeefe3</color>
+
+    <color name="car_pink_900">#ff9c166b</color>
+    <color name="car_pink_800">#ffb80672</color>
+    <color name="car_pink_700">#ffd01884</color>
+    <color name="car_pink_600">#ffe52592</color>
+    <color name="car_pink_500">#fff439a0</color>
+    <color name="car_pink_400">#ffff63b8</color>
+    <color name="car_pink_300">#ffff8bcb</color>
+    <color name="car_pink_200">#fffba9d6</color>
+    <color name="car_pink_100">#fffdcfe8</color>
+    <color name="car_pink_50">#fffde7f3</color>
+
+    <color name="car_teal_900">#ff004d40</color>
+    <color name="car_teal_800">#ff00695c</color>
+    <color name="car_teal_700">#ff00796b</color>
+    <color name="car_teal_600">#ff00897b</color>
+    <color name="car_teal_500">#ff009688</color>
+    <color name="car_teal_400">#ff26a69a</color>
+    <color name="car_teal_300">#ff4db6ac</color>
+    <color name="car_teal_200">#ff80cbc4</color>
+    <color name="car_teal_100">#ffb2dfdb</color>
+    <color name="car_teal_50">#ffe0f2f1</color>
+
+    <color name="car_purple_900">#ff681da8</color>
+    <color name="car_purple_800">#ff7627bb</color>
+    <color name="car_purple_700">#ff8430ce</color>
+    <color name="car_purple_600">#ff9334e6</color>
+    <color name="car_purple_500">#ffa142f4</color>
+    <color name="car_purple_400">#ffaf5cf7</color>
+    <color name="car_purple_300">#ffc58af9</color>
+    <color name="car_purple_200">#ffd7aefb</color>
+    <color name="car_purple_100">#ffe9d2fd</color>
+    <color name="car_purple_50">#fff3e8fd</color>
+
+    <color name="car_cyan_900">#ff01877e</color>
+    <color name="car_cyan_800">#ff099091</color>
+    <color name="car_cyan_700">#ff12a4af</color>
+    <color name="car_cyan_600">#ff12b5cb</color>
+    <color name="car_cyan_500">#ff24c1e0</color>
+    <color name="car_cyan_400">#ff4ecde6</color>
+    <color name="car_cyan_300">#ff78d9ec</color>
+    <color name="car_cyan_200">#ffa1e4f2</color>
+    <color name="car_cyan_100">#ffcbf0f8</color>
+    <color name="car_cyan_50">#ffe4f7fb</color>
+
+
+    <color name="car_grey_1000">#cc000000</color>
+    <color name="car_white_1000">#1effffff</color>
+    <color name="car_blue_grey_800">#ff37474F</color>
+    <color name="car_blue_grey_900">#ff263238</color>
+    <color name="car_dark_blue_grey_600">#ff1d272d</color>
+    <color name="car_dark_blue_grey_700">#ff172026</color>
+    <color name="car_dark_blue_grey_800">#ff11181d</color>
+    <color name="car_dark_blue_grey_900">#ff0c1013</color>
+    <color name="car_dark_blue_grey_1000">#ff090c0f</color>
+    <color name="car_light_blue_300">#ff4fc3f7</color>
+    <color name="car_light_blue_500">#ff03A9F4</color>
+    <color name="car_light_blue_600">#ff039be5</color>
+    <color name="car_light_blue_700">#ff0288d1</color>
+    <color name="car_light_blue_800">#ff0277bd</color>
+    <color name="car_light_blue_900">#ff01579b</color>
+
+
+    <color name="car_red_500a">#ffd50000</color>
+    <color name="car_red_a700">#ffd50000</color>
 </resources>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 293d90e..0daf5a7 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -913,7 +913,7 @@
     <!--  Control whether to lock day/night mode change from normal application. When it is
           true, day / night mode change is only allowed to apps with MODIFY_DAY_NIGHT_MODE
           permission. -->
-    <bool name="config_lockDayNightMode">true</bool>
+    <bool name="config_lockDayNightMode">false</bool>
 
     <!-- Control the default night mode to use when there is no other mode override set.
          One of the following values (see UiModeManager.java):
@@ -2113,8 +2113,8 @@
     <!-- Type of the long press sensor. Empty if long press is not supported. -->
     <string name="config_dozeLongPressSensorType" translatable="false"></string>
 
-    <!-- Type of the reach sensor. Empty if reach is not supported. -->
-    <string name="config_dozeReachSensorType" translatable="false"></string>
+    <!-- Type of sensor that wakes up the lock screen. Empty if not supported. -->
+    <string name="config_dozeWakeLockScreenSensorType" translatable="false"></string>
 
     <!-- Type of the wake up sensor. Empty if not supported. -->
     <string name="config_dozeWakeScreenSensorType" translatable="false"></string>
@@ -3486,6 +3486,9 @@
     <!-- Name of the font family used for system surfaces where the font should use medium weight -->
     <string name="config_headlineFontFamilyMedium">@string/font_family_button_material</string>
 
+    <!-- Size of icon shown beside a preference locked by admin -->
+    <dimen name="config_restricted_icon_size">@dimen/restricted_icon_size_material</dimen>
+
     <string translatable="false" name="config_batterySaverDeviceSpecificConfig"></string>
 
     <!-- Package name that should be granted Notification Assistant access -->
@@ -3538,4 +3541,13 @@
 
     <!-- Brand value for attestation of misprovisioned device. -->
     <string name="config_misprovisionedBrandValue" translatable="false"></string>
+
+    <!-- Pre-scale volume at volume step 1 for Absolute Volume -->
+    <fraction name="config_prescaleAbsoluteVolume_index1">50%</fraction>
+
+    <!-- Pre-scale volume at volume step 2 for Absolute Volume -->
+    <fraction name="config_prescaleAbsoluteVolume_index2">70%</fraction>
+
+    <!-- Pre-scale volume at volume step 3 for Absolute Volume -->
+    <fraction name="config_prescaleAbsoluteVolume_index3">85%</fraction>
 </resources>
diff --git a/core/res/res/values/dimens_car.xml b/core/res/res/values/dimens_car.xml
index 7d14f86..a0c02ed 100644
--- a/core/res/res/values/dimens_car.xml
+++ b/core/res/res/values/dimens_car.xml
@@ -16,12 +16,86 @@
 */
 -->
 <resources>
-    <!-- TODO replace with car support lib sizes when available -->
     <dimen name="car_fullscreen_user_pod_icon_text_size">64sp</dimen>
     <dimen name="car_fullscreen_user_pod_width">243dp</dimen>
     <dimen name="car_fullscreen_user_pod_height">356dp</dimen>
     <dimen name="car_fullscreen_user_pod_image_avatar_width">96dp</dimen>
     <dimen name="car_fullscreen_user_pod_image_avatar_height">96dp</dimen>
-    <dimen name="car_padding_4">20dp</dimen>
+
+
+    <!-- Application Bar -->
+    <dimen name="car_app_bar_height">80dp</dimen>
+    <!-- Margin -->
+    <dimen name="car_margin">20dp</dimen>
+    <!-- Lists -->
+    <dimen name="car_single_line_list_item_height">96dp</dimen>
+    <dimen name="car_double_line_list_item_height">@dimen/car_single_line_list_item_height</dimen>
+    <dimen name="car_list_divider_height">1dp</dimen>
+    <!-- The diff between keyline 1 and keyline 3. -->
+    <dimen name="car_keyline_1_keyline_3_diff">88dp</dimen>
+    <dimen name="car_dialog_action_bar_height">@dimen/car_card_action_bar_height</dimen>
+    <dimen name="car_primary_icon_size">44dp</dimen>
+
+    <!-- Text size for car -->
+    <dimen name="car_title_size">32sp</dimen>
+    <dimen name="car_title2_size">32sp</dimen>
+    <dimen name="car_headline1_size">45sp</dimen>
+    <dimen name="car_headline2_size">32sp</dimen>
+    <dimen name="car_headline3_size">24sp</dimen>
+    <dimen name="car_headline4_size">20sp</dimen>
     <dimen name="car_body1_size">32sp</dimen>
-</resources>
\ No newline at end of file
+    <dimen name="car_body2_size">26sp</dimen>
+    <dimen name="car_body3_size">16sp</dimen>
+    <dimen name="car_body4_size">14sp</dimen>
+    <dimen name="car_body5_size">18sp</dimen>
+    <dimen name="car_label1_size">26sp</dimen>
+    <dimen name="car_label2_size">64sp</dimen>
+    <dimen name="car_action1_size">26sp</dimen>
+    <dimen name="car_action2_size">26sp</dimen>
+
+    <!-- Common icon size for car app -->
+    <dimen name="car_icon_size">56dp</dimen>
+
+    <dimen name="car_card_header_height">96dp</dimen>
+    <dimen name="car_card_action_bar_height">96dp</dimen>
+
+    <!-- Paddings -->
+    <dimen name="car_padding_1">4dp</dimen>
+    <dimen name="car_padding_2">10dp</dimen>
+    <dimen name="car_padding_3">16dp</dimen>
+    <dimen name="car_padding_4">28dp</dimen>
+    <dimen name="car_padding_5">32dp</dimen>
+
+    <!-- Radius -->
+    <dimen name="car_radius_1">4dp</dimen>
+    <dimen name="car_radius_2">8dp</dimen>
+    <dimen name="car_radius_3">16dp</dimen>
+    <dimen name="car_radius_5">100dp</dimen>
+
+    <!-- Keylines for content. -->
+    <dimen name="car_keyline_1">48dp</dimen>
+    <dimen name="car_keyline_2">108dp</dimen>
+    <dimen name="car_keyline_3">152dp</dimen>
+    <dimen name="car_keyline_4">182dp</dimen>
+
+    <!-- Buttons -->
+    <dimen name="car_button_height">56dp</dimen>
+    <dimen name="car_button_min_width">158dp</dimen>
+    <dimen name="car_button_horizontal_padding">@dimen/car_padding_4</dimen>
+    <dimen name="car_borderless_button_horizontal_padding">0dp</dimen>
+    <dimen name="car_button_radius">@dimen/car_radius_1</dimen>
+    <dimen name="car_pill_button_size">56dp</dimen>
+
+    <!-- Seekbar -->
+    <dimen name="car_seekbar_height">6dp</dimen>
+    <dimen name="car_seekbar_padding">26dp</dimen>
+    <dimen name="car_seekbar_thumb_size">24dp</dimen>
+    <dimen name="car_seekbar_thumb_stroke">1dp</dimen>
+    <!-- The space between seekbar and text in ListItem. This value is based on car_seekbar_padding.
+         It brings seekbar and text closer for visual balance while maintaining touch area. -->
+    <dimen name="car_seekbar_text_overlap">-20dp</dimen>
+
+    <!-- Progress Bar -->
+    <dimen name="car_progress_bar_height">@dimen/car_seekbar_height</dimen>
+
+</resources>
diff --git a/core/res/res/values/dimens_material.xml b/core/res/res/values/dimens_material.xml
index 210f30e..a0b40ed 100644
--- a/core/res/res/values/dimens_material.xml
+++ b/core/res/res/values/dimens_material.xml
@@ -117,6 +117,9 @@
     <!-- Default rounded corner for controls -->
     <dimen name="control_corner_material">2dp</dimen>
 
+    <!-- Size of icon shown beside a preference locked by admin -->
+    <dimen name="restricted_icon_size_material">16dp</dimen>
+
     <dimen name="edit_text_inset_horizontal_material">4dp</dimen>
     <dimen name="edit_text_inset_top_material">10dp</dimen>
     <dimen name="edit_text_inset_bottom_material">7dp</dimen>
diff --git a/core/res/res/values/ids.xml b/core/res/res/values/ids.xml
index bf7e068..8bca211 100644
--- a/core/res/res/values/ids.xml
+++ b/core/res/res/values/ids.xml
@@ -172,4 +172,7 @@
 
     <!-- Accessibility action identifier for {@link android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_HIDE_TOOLTIP}. -->
     <item type="id" name="accessibilityActionHideTooltip" />
+
+  <!-- Accessibility action to notify a window there is an outside touch. -->
+  <item type="id" name="accessibilityActionOutsideTouch" />
 </resources>
diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml
index fa31dce..fadefff 100644
--- a/core/res/res/values/public.xml
+++ b/core/res/res/values/public.xml
@@ -2909,11 +2909,16 @@
         <public name="opticalInsetBottom" />
         <public name="allowForceDark" />
         <public name="supportsAmbientMode" />
-    </public-group>
-
-    <public-group type="attr" first-id="0x0101058d">
         <!-- @hide For use by platform and tools only. Developers should not specify this value. -->
         <public name="usesNonSdkApi" />
+        <public name="minimumUiTimeout" />
+        <public name="isLightTheme" />
+        <public name="isSplitRequired" />
+    </public-group>
+
+    <public-group type="drawable" first-id="0x010800b4">
+        <!-- @hide @SystemApi -->
+        <public name="ic_info" />
     </public-group>
 
     <public-group type="style" first-id="0x010302e2">
@@ -2942,6 +2947,11 @@
         <public name="config_sendPackageName" />
     </public-group>
 
+    <public-group type="dimen" first-id="0x01050007">
+        <!-- @hide @SystemApi -->
+        <public name="config_restricted_icon_size" />
+    </public-group>
+
   <!-- ===============================================================
        DO NOT ADD UN-GROUPED ITEMS HERE
 
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 365e4a4..6d0127a4 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -240,10 +240,31 @@
         <item>Issue registering Wi\u2011Fi calling with your carrier: <xliff:g id="code" example="REG09 - No 911 Address">%1$s</xliff:g></item>
     </string-array>
     <!-- Template for showing mobile network operator name while WFC is active -->
-    <string-array name="wfcSpnFormats">
-        <item>%s</item>
-        <item>%s Wi-Fi Calling</item>
+    <string-array name="wfcSpnFormats" translatable="false">
+        <item>@string/wfcSpnFormat_spn</item>
+        <item>@string/wfcSpnFormat_spn_wifi_calling</item>
+        <item>@string/wfcSpnFormat_wlan_call</item>
+        <item>@string/wfcSpnFormat_spn_wlan_call</item>
+        <item>@string/wfcSpnFormat_spn_wifi</item>
+        <item>@string/wfcSpnFormat_wifi_calling_bar_spn</item>
+        <item>@string/wfcSpnFormat_spn_vowifi</item>
     </string-array>
+
+    <!-- Spn during Wi-Fi Calling: "<operator>" -->
+    <string name="wfcSpnFormat_spn"><xliff:g id="spn" example="Operator">%s</xliff:g></string>
+    <!-- Spn during Wi-Fi Calling: "<operator> Wi-Fi Calling" -->
+    <string name="wfcSpnFormat_spn_wifi_calling"><xliff:g id="spn" example="Operator">%s</xliff:g> Wi-Fi Calling</string>
+    <!-- Spn during Wi-Fi Calling: "WLAN Call" -->
+    <string name="wfcSpnFormat_wlan_call">WLAN Call</string>
+    <!-- Spn during Wi-Fi Calling: "<operator> WLAN Call" -->
+    <string name="wfcSpnFormat_spn_wlan_call"><xliff:g id="spn" example="Operator">%s</xliff:g> WLAN Call</string>
+    <!-- Spn during Wi-Fi Calling: "<operator> Wi-Fi" -->
+    <string name="wfcSpnFormat_spn_wifi"><xliff:g id="spn" example="Operator">%s</xliff:g> Wi-Fi</string>
+    <!-- Spn during Wi-Fi Calling: "WiFi Calling | <operator>" -->
+    <string name="wfcSpnFormat_wifi_calling_bar_spn">WiFi Calling | <xliff:g id="spn" example="Operator">%s</xliff:g></string>
+    <!-- Spn during Wi-Fi Calling: "<operator> VoWifi" -->
+    <string name="wfcSpnFormat_spn_vowifi"><xliff:g id="spn" example="Operator">%s</xliff:g> VoWifi</string>
+
     <!-- WFC, summary for Disabled -->
     <string name="wifi_calling_off_summary">Off</string>
     <!-- WFC, summary for Wi-Fi Preferred -->
@@ -1418,6 +1439,10 @@
     <string name="biometric_not_recognized">Not recognized</string>
     <!-- Accessibility message announced when a fingerprint has been authenticated [CHAR LIMIT=NONE] -->
     <string name="fingerprint_authenticated">Fingerprint authenticated</string>
+    <!-- Accessibility message announced when a face has been authenticated [CHAR LIMIT=NONE] -->
+    <string name="face_authenticated_no_confirmation_required">Face authenticated</string>
+    <!-- Accessibility message announced when a face has been authenticated, but requires the user to press the confirm button [CHAR LIMIT=NONE] -->
+    <string name="face_authenticated_confirmation_required">Face authenticated, please press confirm</string>
 
     <!-- Error message shown when the fingerprint hardware can't be accessed -->
     <string name="fingerprint_error_hw_not_available">Fingerprint hardware not available.</string>
@@ -1495,6 +1520,8 @@
     <string name="face_error_no_space">Face can\u2019t be stored.</string>
     <!-- Generic error message shown when the face operation (e.g. enrollment or authentication) is canceled. Generally not shown to the user. [CHAR LIMIT=50] -->
     <string name="face_error_canceled">Face operation canceled.</string>
+    <!-- Generic error message shown when the face authentication operation is canceled due to user input. Generally not shown to the user [CHAR LIMIT=50] -->
+    <string name="face_error_user_canceled">Face authentication canceled by user.</string>
     <!-- Generic error message shown when the face operation fails because too many attempts have been made. [CHAR LIMIT=50] -->
     <string name="face_error_lockout">Too many attempts. Try again later.</string>
     <!-- Generic error message shown when the face operation fails because strong authentication is required. [CHAR LIMIT=50] -->
@@ -4334,6 +4361,9 @@
     <string name="accessibility_shortcut_disabling_service">Accessibility Shortcut turned
         <xliff:g id="service_name" example="TalkBack">%1$s</xliff:g> off</string>
 
+    <!-- Text spoken when accessibility shortcut warning dialog is shown. [CHAR LIMIT=none] -->
+    <string name="accessibility_shortcut_spoken_feedback">Use Accessibility Shortcut again to start the current accessibility feature</string>
+
     <!-- Text appearing in a prompt at the top of UI allowing the user to select a target service or feature to be assigned to the Accessibility button in the navigation bar. -->
     <string name="accessibility_button_prompt_text">Choose a feature to use when you tap the Accessibility button:</string>
 
diff --git a/core/res/res/values/styles_car.xml b/core/res/res/values/styles_car.xml
new file mode 100644
index 0000000..f6ff1b6
--- /dev/null
+++ b/core/res/res/values/styles_car.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2018 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.
+-->
+<resources>
+    <!-- Car text -->
+    <style name="CarBody1">
+        <item name="textStyle">normal</item>
+        <item name="textSize">@dimen/car_body1_size</item>
+        <item name="textColor">@color/car_body1</item>
+    </style>
+
+    <style name="CarBody1.Light">
+        <item name="textColor">@color/car_body1_light</item>
+    </style>
+
+    <style name="CarBody1.Dark">
+        <item name="textColor">@color/car_body2_dark</item>
+    </style>
+
+    <style name="CarBody2">
+        <item name="textStyle">normal</item>
+        <item name="textSize">@dimen/car_body2_size</item>
+        <item name="textColor">@color/car_body2</item>
+    </style>
+
+    <style name="CarBody2.Dark">
+        <item name="textColor">@color/car_body2_dark</item>
+    </style>
+    <style name="CarBody2.Light">
+        <item name="textColor">@color/car_body2_light</item>
+    </style>
+
+    <style name="CarBody3">
+        <item name="textStyle">normal</item>
+        <item name="textSize">@dimen/car_body3_size</item>
+        <item name="textColor">@color/car_body3</item>
+    </style>
+
+    <!-- The smallest styling for body text. The color of this text changes based on the day/night
+         mode. -->
+    <style name="CarBody4">
+        <item name="textStyle">normal</item>
+        <item name="textSize">@dimen/car_body4_size</item>
+        <item name="textColor">@color/car_body4</item>
+    </style>
+
+    <style name="CarAction1">
+        <item name="textStyle">bold</item>
+        <item name="textSize">@dimen/car_action1_size</item>
+        <item name="textColor">@color/car_highlight</item>
+    </style>
+
+    <style name="CarAction1.Dark">
+        <item name="textColor">@color/car_highlight_dark</item>
+    </style>
+    <style name="CarAction1.Light">
+        <item name="textColor">@color/car_highlight_light</item>
+    </style>
+
+    <!-- The styling for title text. The color of this text changes based on day/night mode. -->
+    <style name="CarTitle" >
+        <item name="textStyle">bold</item>
+        <item name="textSize">@dimen/car_title2_size</item>
+        <item name="textColor">@color/car_title</item>
+    </style>
+
+    <!-- Title text that is permanently a dark color. -->
+    <style name="CarTitle.Dark" >
+        <item name="textColor">@color/car_title_dark</item>
+    </style>
+
+    <!-- Title text that is permanently a light color. -->
+    <style name="CarTitle.Light" >
+        <item name="textColor">@color/car_title_light</item>
+    </style>
+
+</resources>
diff --git a/core/res/res/values/styles_permission_controller.xml b/core/res/res/values/styles_permission_controller.xml
index 339f9c7..e6e0de3 100644
--- a/core/res/res/values/styles_permission_controller.xml
+++ b/core/res/res/values/styles_permission_controller.xml
@@ -15,8 +15,8 @@
   limitations under the License.
   -->
 
-<!-- styles for the permission grant dialog. -->
 <resources>
+    <!-- styles for the permission grant dialog. -->
     <style name="PermissionGrantDialog">
         <item name="background">?attr/windowBackground</item>
         <item name="elevation">?attr/windowElevation</item>
@@ -95,4 +95,37 @@
         <item name="layout_marginEnd">16dp</item>
         <item name="layout_marginBottom">4dp</item>
     </style>
+
+    <!-- styles for the permission review screen. -->
+    <style name="PermissionReviewDescription">
+        <item name="layout_marginTop">20dp</item>
+        <item name="layout_marginStart">24dp</item>
+        <item name="layout_marginBottom">16dp</item>
+        <item name="layout_marginEnd">24dp</item>
+    </style>
+
+    <style name="PermissionReviewTitleIcon">
+        <item name="layout_marginTop">4dp</item>
+        <item name="layout_width">36dp</item>
+        <item name="layout_height">36dp</item>
+        <item name="scaleType">fitCenter</item>
+    </style>
+
+    <style name="PermissionReviewTitleMessage"
+           parent="@style/TextAppearance.DeviceDefault">
+        <item name="paddingStart">22dp</item>
+        <item name="textSize">20sp</item>
+        <item name="textColor">?attr/textColorPrimary</item>
+    </style>
+
+    <style name="PermissionReviewSettings">
+        <item name="layout_marginStart">8dp</item>
+        <item name="layout_marginEnd">8dp</item>
+    </style>
+
+    <style name="PermissionReviewButtonBar">
+        <item name="layout_marginStart">24dp</item>
+        <item name="layout_marginEnd">16dp</item>
+        <item name="layout_marginBottom">4dp</item>
+    </style>
 </resources>
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 92cca72..72ae0d6 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -218,6 +218,7 @@
   <java-symbol type="id" name="selection_end_handle" />
   <java-symbol type="id" name="insertion_handle" />
   <java-symbol type="id" name="accessibilityActionClickOnClickableSpan" />
+  <java-symbol type="id" name="accessibilityActionOutsideTouch" />
   <java-symbol type="id" name="camera" />
   <java-symbol type="id" name="mic" />
   <java-symbol type="id" name="overlay" />
@@ -2099,7 +2100,7 @@
   <java-symbol type="string" name="vpn_lockdown_error" />
   <java-symbol type="string" name="vpn_lockdown_config" />
   <java-symbol type="string" name="wallpaper_binding_label" />
-  <java-symbol type="style" name="Theme.Dialog.AppError" />
+  <java-symbol type="style" name="Theme.DeviceDefault.Dialog.AppError" />
   <java-symbol type="style" name="Theme.Leanback.Dialog.Alert" />
   <java-symbol type="style" name="Theme.Toast" />
   <java-symbol type="xml" name="storage_list" />
@@ -2428,6 +2429,7 @@
   <java-symbol type="string" name="face_error_timeout" />
   <java-symbol type="array" name="face_error_vendor" />
   <java-symbol type="string" name="face_error_canceled" />
+  <java-symbol type="string" name="face_error_user_canceled" />
   <java-symbol type="string" name="face_error_lockout" />
   <java-symbol type="string" name="face_error_lockout_permanent" />
   <java-symbol type="string" name="face_error_not_enrolled" />
@@ -2445,6 +2447,8 @@
   <java-symbol type="string" name="face_acquired_not_detected" />
   <java-symbol type="array" name="face_acquired_vendor" />
   <java-symbol type="string" name="face_name_template" />
+  <java-symbol type="string" name="face_authenticated_no_confirmation_required" />
+  <java-symbol type="string" name="face_authenticated_confirmation_required" />
 
   <!-- Face config -->
   <java-symbol type="integer" name="config_faceMaxTemplatesPerUser" />
@@ -3082,6 +3086,7 @@
   <java-symbol type="string" name="color_inversion_feature_name" />
   <java-symbol type="string" name="color_correction_feature_name" />
   <java-symbol type="string" name="config_defaultAccessibilityService" />
+  <java-symbol type="string" name="accessibility_shortcut_spoken_feedback" />
 
   <!-- Accessibility Button -->
   <java-symbol type="layout" name="accessibility_button_chooser" />
@@ -3149,7 +3154,9 @@
   <java-symbol type="integer" name="autofill_max_visible_datasets" />
 
   <java-symbol type="style" name="Theme.DeviceDefault.Autofill" />
+  <java-symbol type="style" name="Theme.DeviceDefault.Light.Autofill" />
   <java-symbol type="style" name="Theme.DeviceDefault.Autofill.Save" />
+  <java-symbol type="style" name="Theme.DeviceDefault.Light.Autofill.Save" />
 
   <java-symbol type="dimen" name="notification_big_picture_max_height"/>
   <java-symbol type="dimen" name="notification_big_picture_max_width"/>
@@ -3272,7 +3279,7 @@
   <java-symbol type="array" name="config_hideWhenDisabled_packageNames" />
 
   <java-symbol type="string" name="config_dozeLongPressSensorType" />
-  <java-symbol type="string" name="config_dozeReachSensorType" />
+  <java-symbol type="string" name="config_dozeWakeLockScreenSensorType" />
 
   <java-symbol type="array" name="config_allowedGlobalInstantAppSettings" />
   <java-symbol type="array" name="config_allowedSystemInstantAppSettings" />
@@ -3463,4 +3470,9 @@
   <java-symbol type="integer" name="db_wal_truncate_size" />
   <java-symbol type="integer" name="config_wakeUpDelayDoze" />
   <java-symbol type="string" name="config_dozeWakeScreenSensorType" />
+
+  <!-- For Bluetooth AbsoluteVolume -->
+  <java-symbol type="fraction" name="config_prescaleAbsoluteVolume_index1" />
+  <java-symbol type="fraction" name="config_prescaleAbsoluteVolume_index2" />
+  <java-symbol type="fraction" name="config_prescaleAbsoluteVolume_index3" />
 </resources>
diff --git a/core/res/res/values/themes.xml b/core/res/res/values/themes.xml
index 3937af5..a7530ce 100644
--- a/core/res/res/values/themes.xml
+++ b/core/res/res/values/themes.xml
@@ -869,13 +869,6 @@
     <!-- System themes -->
     <eat-comment />
 
-    <!-- Theme for the dialog shown when an app crashes or ANRs. -->
-    <style name="Theme.Dialog.AppError" parent="Theme.DeviceDefault.Light.Dialog.Alert">
-        <item name="windowContentTransitions">false</item>
-        <item name="windowActivityTransitions">false</item>
-        <item name="windowCloseOnTouchOutside">false</item>
-    </style>
-
     <!-- Special theme for the recent apps dialog, to allow customization
          with overlays. -->
     <style name="Theme.Dialog.RecentApplications" parent="Theme.DeviceDefault.Light.Dialog">
diff --git a/core/res/res/values/themes_device_defaults.xml b/core/res/res/values/themes_device_defaults.xml
index 14e5082..3385527 100644
--- a/core/res/res/values/themes_device_defaults.xml
+++ b/core/res/res/values/themes_device_defaults.xml
@@ -719,6 +719,13 @@
         <item name="toolbarStyle">@style/Widget.DeviceDefault.Toolbar</item>
     </style>
 
+    <!-- Theme for the dialog shown when an app crashes or ANRs. -->
+    <style name="Theme.DeviceDefault.Dialog.AppError" parent="Theme.DeviceDefault.Light.Dialog.Alert">
+        <item name="windowContentTransitions">false</item>
+        <item name="windowActivityTransitions">false</item>
+        <item name="windowCloseOnTouchOutside">false</item>
+    </style>
+
     <style name="Theme.DeviceDefault.SearchBar" parent="Theme.Material.SearchBar">
         <!-- Color palette -->
         <item name="colorPrimary">@color/primary_device_default_dark</item>
@@ -1674,13 +1681,14 @@
     </style>
 
 
-    <!-- @hide DeviceDefault theme for the autofill FillUi -->
-    <style name="Theme.DeviceDefault.Autofill" parent="Theme.Material.Autofill.Light">
-    </style>
+    <!-- @hide DeviceDefault themes for the autofill FillUi -->
+    <style name="Theme.DeviceDefault.Autofill" />
+    <style name="Theme.DeviceDefault.Light.Autofill" />
 
-    <!-- @hide DeviceDefault theme for the autofill SaveUi -->
-    <style name="Theme.DeviceDefault.Autofill.Save" parent="Theme.Material.Autofill.Save.Light">
-    </style>
+    <!-- @hide DeviceDefault theme for the autofill SaveUi. NOTE: it must be a .Panel so the dialog
+         is shown at the bottom of the screen  -->
+    <style name="Theme.DeviceDefault.Autofill.Save" parent="Theme.DeviceDefault.Panel"/>
+    <style name="Theme.DeviceDefault.Light.Autofill.Save" parent="Theme.DeviceDefault.Light.Panel"/>
 
     <!-- DeviceDefault theme for the default system theme.  -->
     <style name="Theme.DeviceDefault.System" parent="Theme.DeviceDefault.Light.DarkActionBar" />
@@ -1708,4 +1716,10 @@
         <item name="colorAccent">@color/accent_device_default_dark</item>
     </style>
 
+    <style name="Theme.DeviceDefault.Light.Dialog.Alert.UserSwitchingDialog" parent="Theme.DeviceDefault.NoActionBar.Fullscreen">
+        <item name="colorBackground">@color/background_device_default_light</item>
+        <item name="colorBackgroundFloating">@color/background_device_default_light</item>
+        <item name="layout_gravity">center</item>
+    </style>
+
 </resources>
diff --git a/core/res/res/values/themes_material.xml b/core/res/res/values/themes_material.xml
index b3e33d5..ccaf041 100644
--- a/core/res/res/values/themes_material.xml
+++ b/core/res/res/values/themes_material.xml
@@ -1418,24 +1418,4 @@
         <item name="colorSecondary">@color/secondary_material_settings</item>
     </style>
 
-    <!-- @hide -->
-    <style name="Theme.Material.Autofill" parent="Theme.Material">
-        <item name="colorBackground">@color/autofill_background_material_dark</item>
-    </style>
-
-    <!-- @hide -->
-    <style name="Theme.Material.Autofill.Light" parent="Theme.Material.Light">
-        <item name="colorBackground">@color/autofill_background_material_light</item>
-    </style>
-
-    <!-- @hide -->
-    <style name="Theme.Material.Autofill.Save" parent="Theme.Material.Panel">
-        <item name="colorBackground">@color/autofill_background_material_dark</item>
-    </style>
-
-    <!-- @hide -->
-    <style name="Theme.Material.Autofill.Save.Light" parent="Theme.Material.Light.Panel">
-        <item name="colorBackground">@color/autofill_background_material_light</item>
-    </style>
-
 </resources>
diff --git a/core/res/res/values/themes_permission_controller.xml b/core/res/res/values/themes_permission_controller.xml
index 3bc93cd..369cee3 100644
--- a/core/res/res/values/themes_permission_controller.xml
+++ b/core/res/res/values/themes_permission_controller.xml
@@ -15,8 +15,8 @@
   limitations under the License.
   -->
 
-<!-- themes for the permission grant dialog. -->
 <resources>
+    <!-- themes for the permission grant dialog. -->
     <style name="Theme.DeviceDefault.PermissionGrantApp"
            parent="@style/Theme.DeviceDefault.Light.Panel">
         <item name="windowIsFloating">false</item>
@@ -32,4 +32,13 @@
         <item name="checkboxStyle">@style/PermissionGrantCheckbox</item>
         <item name="buttonBarStyle">@style/PermissionGrantButtonBar</item>
     </style>
+
+    <!-- themes for the permission review dialog. -->
+    <style name="Theme.DeviceDefault.PermissionReviewApp"
+           parent="@style/Theme.DeviceDefault.Settings">
+        <item name="windowActionBar">false</item>
+        <item name="windowNoTitle">true</item>
+        <item name="titleTextStyle">@style/PermissionReviewTitleMessage</item>
+        <item name="buttonBarStyle">@style/PermissionReviewButtonBar</item>
+    </style>
 </resources>
diff --git a/core/res/res/xml/default_zen_mode_config.xml b/core/res/res/xml/default_zen_mode_config.xml
index cb4e5c4..6cf6a82 100644
--- a/core/res/res/xml/default_zen_mode_config.xml
+++ b/core/res/res/xml/default_zen_mode_config.xml
@@ -18,13 +18,17 @@
 -->
 
 <!-- Default configuration for zen mode.  See android.service.notification.ZenModeConfig. -->
-<zen version="7">
+<zen version="8">
     <allow alarms="true" media="true" system="false" calls="true" callsFrom="2" messages="false"
            reminders="false" events="false" repeatCallers="true" />
-
+    <automatic ruleId="EVENTS_DEFAULT_RULE" enabled="false" snoozing="false" name="Event" zen="1"
+               component="android/com.android.server.notification.EventConditionProvider"
+               conditionId="condition://android/event?userId=-10000&amp;calendar=&amp;reply=1"/>
+    <automatic ruleId="EVERY_NIGHT_DEFAULT_RULE" enabled="false" snoozing="false" name="Sleeping"
+               zen="1" component="android/com.android.server.notification.ScheduleConditionProvider"
+               conditionId="condition://android/schedule?days=1.2.3.4.5.6.7&amp;start=22.0&amp;end=7.0&amp;exitAtAlarm=true"/>
     <!-- all visual effects that exist as of P -->
     <disallow visualEffects="511" />
-
     <!-- whether there are notification channels that can bypass dnd -->
     <state areChannelsBypassingDnd="false" />
 </zen>
diff --git a/core/tests/coretests/src/android/content/ContentProviderTest.java b/core/tests/coretests/src/android/content/ContentProviderTest.java
new file mode 100644
index 0000000..2142f27
--- /dev/null
+++ b/core/tests/coretests/src/android/content/ContentProviderTest.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package android.content;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.withSettings;
+
+import android.content.pm.ApplicationInfo;
+import android.content.pm.ProviderInfo;
+import android.net.Uri;
+import android.support.test.runner.AndroidJUnit4;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Answers;
+
+@RunWith(AndroidJUnit4.class)
+public class ContentProviderTest {
+
+    private Context mContext;
+    private ContentProvider mCp;
+
+    private ApplicationInfo mProviderApp;
+    private ProviderInfo mProvider;
+
+    @Before
+    public void setUp() {
+        mProviderApp = new ApplicationInfo();
+        mProviderApp.uid = 10001;
+
+        mProvider = new ProviderInfo();
+        mProvider.authority = "com.example";
+        mProvider.applicationInfo = mProviderApp;
+
+        mContext = mock(Context.class);
+
+        mCp = mock(ContentProvider.class, withSettings().defaultAnswer(Answers.CALLS_REAL_METHODS));
+        mCp.attachInfo(mContext, mProvider);
+    }
+
+    @Test
+    public void testValidateIncomingUri_Normal() throws Exception {
+        assertEquals(Uri.parse("content://com.example/"),
+                mCp.validateIncomingUri(Uri.parse("content://com.example/")));
+        assertEquals(Uri.parse("content://com.example/foo/bar"),
+                mCp.validateIncomingUri(Uri.parse("content://com.example/foo/bar")));
+        assertEquals(Uri.parse("content://com.example/foo%2Fbar"),
+                mCp.validateIncomingUri(Uri.parse("content://com.example/foo%2Fbar")));
+        assertEquals(Uri.parse("content://com.example/foo%2F%2Fbar"),
+                mCp.validateIncomingUri(Uri.parse("content://com.example/foo%2F%2Fbar")));
+    }
+
+    @Test
+    public void testValidateIncomingUri_Shady() throws Exception {
+        assertEquals(Uri.parse("content://com.example/"),
+                mCp.validateIncomingUri(Uri.parse("content://com.example//")));
+        assertEquals(Uri.parse("content://com.example/foo/bar/"),
+                mCp.validateIncomingUri(Uri.parse("content://com.example//foo//bar//")));
+        assertEquals(Uri.parse("content://com.example/foo/bar/"),
+                mCp.validateIncomingUri(Uri.parse("content://com.example/foo///bar/")));
+        assertEquals(Uri.parse("content://com.example/foo%2F%2Fbar/baz"),
+                mCp.validateIncomingUri(Uri.parse("content://com.example/foo%2F%2Fbar//baz")));
+    }
+
+    @Test
+    public void testValidateIncomingUri_NonPath() throws Exception {
+        // We only touch paths; queries and fragments are left intact
+        assertEquals(Uri.parse("content://com.example/foo/bar?foo=b//ar#foo=b//ar"),
+                mCp.validateIncomingUri(
+                        Uri.parse("content://com.example/foo/bar?foo=b//ar#foo=b//ar")));
+    }
+}
diff --git a/core/tests/coretests/src/android/content/pm/AndroidHidlUpdaterTest.java b/core/tests/coretests/src/android/content/pm/AndroidHidlUpdaterTest.java
new file mode 100644
index 0000000..7218b3a2
--- /dev/null
+++ b/core/tests/coretests/src/android/content/pm/AndroidHidlUpdaterTest.java
@@ -0,0 +1,98 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+package android.content.pm;
+
+import static android.content.pm.PackageBuilder.builder;
+import static android.content.pm.SharedLibraryNames.ANDROID_HIDL_BASE;
+import static android.content.pm.SharedLibraryNames.ANDROID_HIDL_MANAGER;
+
+import android.os.Build;
+import android.support.test.filters.SmallTest;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+/**
+ * Test for {@link AndroidHidlUpdater}
+ */
+@SmallTest
+@RunWith(JUnit4.class)
+public class AndroidHidlUpdaterTest extends PackageSharedLibraryUpdaterTest {
+
+    private static final String OTHER_LIBRARY = "other.library";
+
+    @Test
+    public void targeted_at_O() {
+        PackageBuilder before = builder()
+                .targetSdkVersion(Build.VERSION_CODES.O);
+
+        // Should add both HIDL libraries
+        PackageBuilder after = builder()
+                .targetSdkVersion(Build.VERSION_CODES.O)
+                .requiredLibraries(ANDROID_HIDL_MANAGER, ANDROID_HIDL_BASE);
+
+        checkBackwardsCompatibility(before, after);
+    }
+
+    @Test
+    public void targeted_at_O_not_empty_usesLibraries() {
+        PackageBuilder before = builder()
+                .targetSdkVersion(Build.VERSION_CODES.O)
+                .requiredLibraries(OTHER_LIBRARY);
+
+        // The hidl jars should be added at the start of the list because it
+        // is not on the bootclasspath and the package targets pre-P.
+        PackageBuilder after = builder()
+                .targetSdkVersion(Build.VERSION_CODES.O)
+                .requiredLibraries(ANDROID_HIDL_MANAGER, ANDROID_HIDL_BASE, OTHER_LIBRARY);
+
+        checkBackwardsCompatibility(before, after);
+    }
+
+    @Test
+    public void targeted_at_O_in_usesLibraries() {
+        PackageBuilder before = builder()
+                .targetSdkVersion(Build.VERSION_CODES.O)
+                .requiredLibraries(ANDROID_HIDL_MANAGER, ANDROID_HIDL_BASE);
+
+        // No change is required because although the HIDL libraries has been removed from
+        // the bootclasspath the package explicitly requests it.
+        checkBackwardsCompatibility(before, before);
+    }
+
+    @Test
+    public void in_usesLibraries() {
+        PackageBuilder before = builder().requiredLibraries(ANDROID_HIDL_BASE);
+
+        // No change is required because the package explicitly requests the HIDL libraries
+        // and is targeted at the current version so does not need backwards compatibility.
+        checkBackwardsCompatibility(before, before);
+    }
+
+    @Test
+    public void in_usesOptionalLibraries() {
+        PackageBuilder before = builder().optionalLibraries(ANDROID_HIDL_BASE);
+
+        // No change is required because the package explicitly requests the HIDL libraries
+        // and is targeted at the current version so does not need backwards compatibility.
+        checkBackwardsCompatibility(before, before);
+    }
+
+    private void checkBackwardsCompatibility(PackageBuilder before, PackageBuilder after) {
+        checkBackwardsCompatibility(before, after, AndroidHidlUpdater::new);
+    }
+}
diff --git a/core/tests/coretests/src/android/graphics/PaintTest.java b/core/tests/coretests/src/android/graphics/PaintTest.java
index 2f28606..b5ed01f 100644
--- a/core/tests/coretests/src/android/graphics/PaintTest.java
+++ b/core/tests/coretests/src/android/graphics/PaintTest.java
@@ -186,44 +186,28 @@
         Paint p = new Paint();
 
         final int count = end - start;
-        final float[][] advanceArrays = new float[4][count];
-
-        final float advance = p.getTextRunAdvances(str, start, end, contextStart, contextEnd,
-                isRtl, advanceArrays[0], 0);
-
+        final int contextCount = contextEnd - contextStart;
+        final float[][] advanceArrays = new float[2][count];
         char chars[] = str.toCharArray();
-        final float advance_c = p.getTextRunAdvances(chars, start, count, contextStart,
-                contextEnd - contextStart, isRtl, advanceArrays[1], 0);
-        assertEquals(advance, advance_c, 1.0f);
-
+        final float advance = p.getTextRunAdvances(chars, start, count,
+                contextStart, contextCount, isRtl, advanceArrays[0], 0);
         for (int c = 1; c < count; ++c) {
-            final float firstPartAdvance = p.getTextRunAdvances(str, start, start + c,
-                    contextStart, contextEnd, isRtl, advanceArrays[2], 0);
-            final float secondPartAdvance = p.getTextRunAdvances(str, start + c, end,
-                    contextStart, contextEnd, isRtl, advanceArrays[2], c);
+            final float firstPartAdvance = p.getTextRunAdvances(chars, start, c,
+                    contextStart, contextCount, isRtl, advanceArrays[1], 0);
+            final float secondPartAdvance = p.getTextRunAdvances(chars, start + c, count - c,
+                    contextStart, contextCount, isRtl, advanceArrays[1], c);
             assertEquals(advance, firstPartAdvance + secondPartAdvance, 1.0f);
 
-
-            final float firstPartAdvance_c = p.getTextRunAdvances(chars, start, c,
-                    contextStart, contextEnd - contextStart, isRtl, advanceArrays[3], 0);
-            final float secondPartAdvance_c = p.getTextRunAdvances(chars, start + c,
-                    count - c, contextStart, contextEnd - contextStart, isRtl,
-                    advanceArrays[3], c);
-            assertEquals(advance, firstPartAdvance_c + secondPartAdvance_c, 1.0f);
-            assertEquals(firstPartAdvance, firstPartAdvance_c, 1.0f);
-            assertEquals(secondPartAdvance, secondPartAdvance_c, 1.0f);
-
-            for (int i = 1; i < advanceArrays.length; i++) {
-                for (int j = 0; j < count; j++) {
-                    assertEquals(advanceArrays[0][j], advanceArrays[i][j], 1.0f);
-                }
+            for (int j = 0; j < count; j++) {
+                assertEquals(advanceArrays[0][j], advanceArrays[1][j], 1.0f);
             }
 
+
             // Compare results with measureText, getRunAdvance, and getTextWidths.
             if (compareWithOtherMethods && start == contextStart && end == contextEnd) {
                 assertEquals(advance, p.measureText(str, start, end), 1.0f);
                 assertEquals(advance, p.getRunAdvance(
-                        str, start, end, contextStart, contextEnd, isRtl, end), 1.0f);
+                        chars, start, count, contextStart, contextCount, isRtl, end), 1.0f);
 
                 final float[] widths = new float[count];
                 p.getTextWidths(str, start, end, widths);
@@ -236,19 +220,7 @@
 
     public void testGetTextRunAdvances_invalid() {
         Paint p = new Paint();
-        String text = "test";
-
-        try {
-            p.getTextRunAdvances((String)null, 0, 0, 0, 0, false, null, 0);
-            fail("Should throw an IllegalArgumentException.");
-        } catch (IllegalArgumentException e) {
-        }
-
-        try {
-            p.getTextRunAdvances((CharSequence)null, 0, 0, 0, 0, false, null, 0);
-            fail("Should throw an IllegalArgumentException.");
-        } catch (IllegalArgumentException e) {
-        }
+        char[] text = "test".toCharArray();
 
         try {
             p.getTextRunAdvances((char[])null, 0, 0, 0, 0, false, null, 0);
@@ -257,50 +229,43 @@
         }
 
         try {
-            p.getTextRunAdvances(text, 0, text.length(), 0, text.length(), false,
-                    new float[text.length() - 1], 0);
+            p.getTextRunAdvances(text, 0, text.length, 0, text.length, false,
+                    new float[text.length - 1], 0);
             fail("Should throw an IndexOutOfBoundsException.");
         } catch (IndexOutOfBoundsException e) {
         }
 
         try {
-            p.getTextRunAdvances(text, 0, text.length(), 0, text.length(), false,
-                    new float[text.length()], 1);
+            p.getTextRunAdvances(text, 0, text.length, 0, text.length, false,
+                    new float[text.length], 1);
             fail("Should throw an IndexOutOfBoundsException.");
         } catch (IndexOutOfBoundsException e) {
         }
 
         // 0 > contextStart
         try {
-            p.getTextRunAdvances(text, 0, text.length(), -1, text.length(), false, null, 0);
+            p.getTextRunAdvances(text, 0, text.length, -1, text.length, false, null, 0);
             fail("Should throw an IndexOutOfBoundsException.");
         } catch (IndexOutOfBoundsException e) {
         }
 
         // contextStart > start
         try {
-            p.getTextRunAdvances(text, 0, text.length(), 1, text.length(), false, null, 0);
-            fail("Should throw an IndexOutOfBoundsException.");
-        } catch (IndexOutOfBoundsException e) {
-        }
-
-        // start > end
-        try {
-            p.getTextRunAdvances(text, 1, 0, 0, text.length(), false, null, 0);
+            p.getTextRunAdvances(text, 0, text.length, 1, text.length, false, null, 0);
             fail("Should throw an IndexOutOfBoundsException.");
         } catch (IndexOutOfBoundsException e) {
         }
 
         // end > contextEnd
         try {
-            p.getTextRunAdvances(text, 0, text.length(), 0, text.length() - 1, false, null, 0);
+            p.getTextRunAdvances(text, 0, text.length, 0, text.length - 1, false, null, 0);
             fail("Should throw an IndexOutOfBoundsException.");
         } catch (IndexOutOfBoundsException e) {
         }
 
         // contextEnd > text.length
         try {
-            p.getTextRunAdvances(text, 0, text.length(), 0, text.length() + 1, false, null, 0);
+            p.getTextRunAdvances(text, 0, text.length, 0, text.length + 1, false, null, 0);
             fail("Should throw an IndexOutOfBoundsException.");
         } catch (IndexOutOfBoundsException e) {
         }
diff --git a/core/tests/coretests/src/android/graphics/TypefaceSystemFallbackTest.java b/core/tests/coretests/src/android/graphics/TypefaceSystemFallbackTest.java
index 1c4039b..6fdb71f 100644
--- a/core/tests/coretests/src/android/graphics/TypefaceSystemFallbackTest.java
+++ b/core/tests/coretests/src/android/graphics/TypefaceSystemFallbackTest.java
@@ -24,6 +24,7 @@
 import android.content.Context;
 import android.content.res.AssetManager;
 import android.graphics.fonts.Font;
+import android.graphics.fonts.FontCustomizationParser;
 import android.graphics.fonts.FontFamily;
 import android.graphics.fonts.SystemFonts;
 import android.support.test.InstrumentationRegistry;
@@ -36,15 +37,18 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.xmlpull.v1.XmlPullParserException;
 
+import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.StandardCopyOption;
-import java.util.HashSet;
+import java.util.ArrayList;
 import java.util.Locale;
 
 @SmallTest
@@ -62,6 +66,8 @@
     };
     private static final String TEST_FONTS_XML;
     private static final String TEST_FONT_DIR;
+    private static final String TEST_OEM_XML;
+    private static final String TEST_OEM_DIR;
 
     private static final float GLYPH_1EM_WIDTH;
     private static final float GLYPH_2EM_WIDTH;
@@ -73,8 +79,13 @@
         if (!cacheDir.isDirectory()) {
             cacheDir.mkdirs();
         }
-        TEST_FONT_DIR = cacheDir.getAbsolutePath() + "/";
+        TEST_FONT_DIR = cacheDir.getAbsolutePath() + "/fonts/";
         TEST_FONTS_XML = new File(cacheDir, "fonts.xml").getAbsolutePath();
+        TEST_OEM_DIR = cacheDir.getAbsolutePath() + "/oem_fonts/";
+        TEST_OEM_XML = new File(cacheDir, "fonts_customization.xml").getAbsolutePath();
+
+        new File(TEST_FONT_DIR).mkdirs();
+        new File(TEST_OEM_DIR).mkdirs();
 
         final AssetManager am =
                 InstrumentationRegistry.getInstrumentation().getContext().getAssets();
@@ -99,6 +110,12 @@
             } catch (IOException e) {
                 throw new RuntimeException(e);
             }
+            final File outOemInCache = new File(TEST_OEM_DIR, fontFile);
+            try (InputStream is = am.open(sourceInAsset)) {
+                Files.copy(is, outOemInCache.toPath(), StandardCopyOption.REPLACE_EXISTING);
+            } catch (IOException e) {
+                throw new RuntimeException(e);
+            }
         }
     }
 
@@ -107,30 +124,43 @@
         for (final String fontFile : TEST_FONT_FILES) {
             final File outInCache = new File(TEST_FONT_DIR, fontFile);
             outInCache.delete();
+            final File outOemInCache = new File(TEST_OEM_DIR, fontFile);
+            outInCache.delete();
         }
     }
 
     private static void buildSystemFallback(String xml,
-            ArrayMap<String, Typeface> fontMap, ArrayMap<String, FontFamily[]> fallbackMap) {
-        final HashSet<Font> availableFonts = new HashSet<>();
+            FontCustomizationParser.Result oemCustomization, ArrayMap<String, Typeface> fontMap,
+            ArrayMap<String, FontFamily[]> fallbackMap) {
+        final ArrayList<Font> availableFonts = new ArrayList<>();
         try (FileOutputStream fos = new FileOutputStream(TEST_FONTS_XML)) {
             fos.write(xml.getBytes(Charset.forName("UTF-8")));
         } catch (IOException e) {
             throw new RuntimeException(e);
         }
         final FontConfig.Alias[] aliases = SystemFonts.buildSystemFallback(TEST_FONTS_XML,
-                TEST_FONT_DIR, fallbackMap, availableFonts);
+                TEST_FONT_DIR, oemCustomization, fallbackMap, availableFonts);
         Typeface.initSystemDefaultTypefaces(fontMap, fallbackMap, aliases);
     }
 
+    private static FontCustomizationParser.Result readFontCustomization(String oemXml) {
+        try (InputStream is = new ByteArrayInputStream(oemXml.getBytes(StandardCharsets.UTF_8))) {
+            return FontCustomizationParser.parse(is, TEST_OEM_DIR);
+        } catch (IOException | XmlPullParserException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
     @Test
     public void testBuildSystemFallback() {
         final ArrayMap<String, Typeface> fontMap = new ArrayMap<>();
         final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>();
-        final HashSet<Font> availableFonts = new HashSet<>();
+        final ArrayList<Font> availableFonts = new ArrayList<>();
+        final FontCustomizationParser.Result oemCustomization =
+                new FontCustomizationParser.Result();
 
         final FontConfig.Alias[] aliases = SystemFonts.buildSystemFallback(SYSTEM_FONTS_XML,
-                SYSTEM_FONT_DIR, fallbackMap, availableFonts);
+                SYSTEM_FONT_DIR, oemCustomization, fallbackMap, availableFonts);
 
         assertNotNull(aliases);
         assertFalse(fallbackMap.isEmpty());
@@ -156,8 +186,10 @@
                 + "</familyset>";
         final ArrayMap<String, Typeface> fontMap = new ArrayMap<>();
         final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>();
+        final FontCustomizationParser.Result oemCustomization =
+                new FontCustomizationParser.Result();
 
-        buildSystemFallback(xml, fontMap, fallbackMap);
+        buildSystemFallback(xml, oemCustomization, fontMap, fallbackMap);
 
         assertEquals(1, fontMap.size());
         assertTrue(fontMap.containsKey("sans-serif"));
@@ -184,8 +216,10 @@
                 + "</familyset>";
         final ArrayMap<String, Typeface> fontMap = new ArrayMap<>();
         final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>();
+        final FontCustomizationParser.Result oemCustomization =
+                new FontCustomizationParser.Result();
 
-        buildSystemFallback(xml, fontMap, fallbackMap);
+        buildSystemFallback(xml, oemCustomization, fontMap, fallbackMap);
 
         final Paint paint = new Paint();
 
@@ -230,8 +264,10 @@
                 + "</familyset>";
         final ArrayMap<String, Typeface> fontMap = new ArrayMap<>();
         final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>();
+        final FontCustomizationParser.Result oemCustomization =
+                new FontCustomizationParser.Result();
 
-        buildSystemFallback(xml, fontMap, fallbackMap);
+        buildSystemFallback(xml, oemCustomization, fontMap, fallbackMap);
 
         final Paint paint = new Paint();
 
@@ -275,8 +311,10 @@
                 + "</familyset>";
         final ArrayMap<String, Typeface> fontMap = new ArrayMap<>();
         final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>();
+        final FontCustomizationParser.Result oemCustomization =
+                new FontCustomizationParser.Result();
 
-        buildSystemFallback(xml, fontMap, fallbackMap);
+        buildSystemFallback(xml, oemCustomization, fontMap, fallbackMap);
 
         final Paint paint = new Paint();
 
@@ -325,8 +363,10 @@
                 + "</familyset>";
         final ArrayMap<String, Typeface> fontMap = new ArrayMap<>();
         final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>();
+        final FontCustomizationParser.Result oemCustomization =
+                new FontCustomizationParser.Result();
 
-        buildSystemFallback(xml, fontMap, fallbackMap);
+        buildSystemFallback(xml, oemCustomization, fontMap, fallbackMap);
 
         final Paint paint = new Paint();
 
@@ -371,8 +411,10 @@
                 + "</familyset>";
         final ArrayMap<String, Typeface> fontMap = new ArrayMap<>();
         final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>();
+        final FontCustomizationParser.Result oemCustomization =
+                new FontCustomizationParser.Result();
 
-        buildSystemFallback(xml, fontMap, fallbackMap);
+        buildSystemFallback(xml, oemCustomization, fontMap, fallbackMap);
 
         final Paint paint = new Paint();
 
@@ -410,8 +452,10 @@
                 + "</familyset>";
         final ArrayMap<String, Typeface> fontMap = new ArrayMap<>();
         final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>();
+        final FontCustomizationParser.Result oemCustomization =
+                new FontCustomizationParser.Result();
 
-        buildSystemFallback(xml, fontMap, fallbackMap);
+        buildSystemFallback(xml, oemCustomization, fontMap, fallbackMap);
 
         final Paint paint = new Paint();
 
@@ -449,8 +493,10 @@
                 + "</familyset>";
         final ArrayMap<String, Typeface> fontMap = new ArrayMap<>();
         final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>();
+        final FontCustomizationParser.Result oemCustomization =
+                new FontCustomizationParser.Result();
 
-        buildSystemFallback(xml, fontMap, fallbackMap);
+        buildSystemFallback(xml, oemCustomization, fontMap, fallbackMap);
 
         final Paint paint = new Paint();
 
@@ -497,8 +543,10 @@
                 + "</familyset>";
         final ArrayMap<String, Typeface> fontMap = new ArrayMap<>();
         final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>();
+        final FontCustomizationParser.Result oemCustomization =
+                new FontCustomizationParser.Result();
 
-        buildSystemFallback(xml, fontMap, fallbackMap);
+        buildSystemFallback(xml, oemCustomization, fontMap, fallbackMap);
 
         final Paint paint = new Paint();
         paint.setTypeface(fontMap.get("sans-serif"));
@@ -539,8 +587,10 @@
                 + "</familyset>";
         final ArrayMap<String, Typeface> fontMap = new ArrayMap<>();
         final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>();
+        final FontCustomizationParser.Result oemCustomization =
+                new FontCustomizationParser.Result();
 
-        buildSystemFallback(xml, fontMap, fallbackMap);
+        buildSystemFallback(xml, oemCustomization, fontMap, fallbackMap);
 
         final Paint paint = new Paint();
 
@@ -578,8 +628,10 @@
                 + "</familyset>";
         final ArrayMap<String, Typeface> fontMap = new ArrayMap<>();
         final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>();
+        final FontCustomizationParser.Result oemCustomization =
+                new FontCustomizationParser.Result();
 
-        buildSystemFallback(xml, fontMap, fallbackMap);
+        buildSystemFallback(xml, oemCustomization, fontMap, fallbackMap);
 
         final Paint paint = new Paint();
 
@@ -598,4 +650,191 @@
         assertEquals(GLYPH_1EM_WIDTH, paint.measureText("c"), 0.0f);
     }
 
+    @Test
+    public void testBuildSystemFallback__Customization_new_named_family() {
+        final String xml = "<?xml version='1.0' encoding='UTF-8'?>"
+                + "<familyset>"
+                + "  <family name='sans-serif'>"
+                + "    <font weight='400' style='normal'>a3em.ttf</font>"
+                + "  </family>"
+                + "</familyset>";
+        final String oemXml = "<?xml version='1.0' encoding='UTF-8'?>"
+                + "<fonts-modification version='1'>"
+                + "  <family customizationType='new-named-family' name='google-sans'>"
+                + "    <font weight='400' style='normal'>b3em.ttf</font>"
+                + "  </family>"
+                + "</fonts-modification>";
+        final ArrayMap<String, Typeface> fontMap = new ArrayMap<>();
+        final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>();
+        final FontCustomizationParser.Result oemCustomization =
+                readFontCustomization(oemXml);
+
+        buildSystemFallback(xml, oemCustomization, fontMap, fallbackMap);
+
+        final Paint paint = new Paint();
+
+        Typeface testTypeface = fontMap.get("sans-serif");
+        assertNotNull(testTypeface);
+        paint.setTypeface(testTypeface);
+        assertEquals(GLYPH_3EM_WIDTH, paint.measureText("a"), 0.0f);
+        assertEquals(GLYPH_1EM_WIDTH, paint.measureText("b"), 0.0f);
+        assertEquals(GLYPH_1EM_WIDTH, paint.measureText("c"), 0.0f);
+
+        testTypeface = fontMap.get("google-sans");
+        assertNotNull(testTypeface);
+        paint.setTypeface(testTypeface);
+        assertEquals(GLYPH_1EM_WIDTH, paint.measureText("a"), 0.0f);
+        assertEquals(GLYPH_3EM_WIDTH, paint.measureText("b"), 0.0f);
+        assertEquals(GLYPH_1EM_WIDTH, paint.measureText("c"), 0.0f);
+    }
+
+    @Test
+    public void testBuildSystemFallback__Customization_new_named_family_override() {
+        final String xml = "<?xml version='1.0' encoding='UTF-8'?>"
+                + "<familyset>"
+                + "  <family name='sans-serif'>"
+                + "    <font weight='400' style='normal'>a3em.ttf</font>"
+                + "  </family>"
+                + "</familyset>";
+        final String oemXml = "<?xml version='1.0' encoding='UTF-8'?>"
+                + "<fonts-modification version='1'>"
+                + "  <family customizationType='new-named-family' name='sans-serif'>"
+                + "    <font weight='400' style='normal'>b3em.ttf</font>"
+                + "  </family>"
+                + "</fonts-modification>";
+        final ArrayMap<String, Typeface> fontMap = new ArrayMap<>();
+        final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>();
+        final FontCustomizationParser.Result oemCustomization =
+                readFontCustomization(oemXml);
+
+        buildSystemFallback(xml, oemCustomization, fontMap, fallbackMap);
+
+        final Paint paint = new Paint();
+
+        Typeface testTypeface = fontMap.get("sans-serif");
+        assertNotNull(testTypeface);
+        paint.setTypeface(testTypeface);
+        assertEquals(GLYPH_1EM_WIDTH, paint.measureText("a"), 0.0f);
+        assertEquals(GLYPH_3EM_WIDTH, paint.measureText("b"), 0.0f);
+        assertEquals(GLYPH_1EM_WIDTH, paint.measureText("c"), 0.0f);
+    }
+
+    @Test
+    public void testBuildSystemFallback__Customization_additional_alias() {
+        final String xml = "<?xml version='1.0' encoding='UTF-8'?>"
+                + "<familyset>"
+                + "  <family name='sans-serif'>"
+                + "    <font weight='400' style='normal'>a3em.ttf</font>"
+                + "  </family>"
+                + "</familyset>";
+        final String oemXml = "<?xml version='1.0' encoding='UTF-8'?>"
+                + "<fonts-modification version='1'>"
+                + "  <family customizationType='new-named-family' name='google-sans'>"
+                + "    <font weight='400' style='normal'>b3em.ttf</font>"
+                + "    <font weight='700' style='normal'>c3em.ttf</font>"
+                + "  </family>"
+                + "  <alias name='another-google-sans' to='google-sans' />"
+                + "  <alias name='google-sans-bold' to='google-sans' weight='700' />"
+                + "</fonts-modification>";
+        final ArrayMap<String, Typeface> fontMap = new ArrayMap<>();
+        final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>();
+        final FontCustomizationParser.Result oemCustomization =
+                readFontCustomization(oemXml);
+
+        buildSystemFallback(xml, oemCustomization, fontMap, fallbackMap);
+
+        final Paint paint = new Paint();
+
+        Typeface testTypeface = fontMap.get("sans-serif");
+        assertNotNull(testTypeface);
+        paint.setTypeface(testTypeface);
+        assertEquals(GLYPH_3EM_WIDTH, paint.measureText("a"), 0.0f);
+        assertEquals(GLYPH_1EM_WIDTH, paint.measureText("b"), 0.0f);
+        assertEquals(GLYPH_1EM_WIDTH, paint.measureText("c"), 0.0f);
+
+        testTypeface = fontMap.get("google-sans");
+        assertNotNull(testTypeface);
+        paint.setTypeface(testTypeface);
+        assertEquals(GLYPH_1EM_WIDTH, paint.measureText("a"), 0.0f);
+        assertEquals(GLYPH_3EM_WIDTH, paint.measureText("b"), 0.0f);
+        assertEquals(GLYPH_1EM_WIDTH, paint.measureText("c"), 0.0f);
+
+        testTypeface = fontMap.get("another-google-sans");
+        assertNotNull(testTypeface);
+        paint.setTypeface(testTypeface);
+        assertEquals(GLYPH_1EM_WIDTH, paint.measureText("a"), 0.0f);
+        assertEquals(GLYPH_3EM_WIDTH, paint.measureText("b"), 0.0f);
+        assertEquals(GLYPH_1EM_WIDTH, paint.measureText("c"), 0.0f);
+
+        testTypeface = fontMap.get("google-sans-bold");
+        assertNotNull(testTypeface);
+        paint.setTypeface(testTypeface);
+        assertEquals(GLYPH_1EM_WIDTH, paint.measureText("a"), 0.0f);
+        assertEquals(GLYPH_1EM_WIDTH, paint.measureText("b"), 0.0f);
+        assertEquals(GLYPH_3EM_WIDTH, paint.measureText("c"), 0.0f);
+    }
+
+    @Test
+    public void testBuildSystemFallback__Customization_additional_alias_conflict_with_new_name() {
+        final String xml = "<?xml version='1.0' encoding='UTF-8'?>"
+                + "<familyset>"
+                + "  <family name='named-family'>"
+                + "    <font weight='400' style='normal'>a3em.ttf</font>"
+                + "  </family>"
+                + "  <alias name='named-alias' to='named-family' />"
+                + "</familyset>";
+        final String oemXml = "<?xml version='1.0' encoding='UTF-8'?>"
+                + "<fonts-modification version='1'>"
+                + "  <family customizationType='new-named-family' name='named-alias'>"
+                + "    <font weight='400' style='normal'>b3em.ttf</font>"
+                + "  </family>"
+                + "</fonts-modification>";
+        final ArrayMap<String, Typeface> fontMap = new ArrayMap<>();
+        final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>();
+        final FontCustomizationParser.Result oemCustomization =
+                readFontCustomization(oemXml);
+
+        buildSystemFallback(xml, oemCustomization, fontMap, fallbackMap);
+
+        final Paint paint = new Paint();
+
+        Typeface testTypeface = fontMap.get("named-family");
+        assertNotNull(testTypeface);
+        paint.setTypeface(testTypeface);
+        assertEquals(GLYPH_3EM_WIDTH, paint.measureText("a"), 0.0f);
+        assertEquals(GLYPH_1EM_WIDTH, paint.measureText("b"), 0.0f);
+        assertEquals(GLYPH_1EM_WIDTH, paint.measureText("c"), 0.0f);
+
+        testTypeface = fontMap.get("named-alias");
+        assertNotNull(testTypeface);
+        paint.setTypeface(testTypeface);
+        assertEquals(GLYPH_1EM_WIDTH, paint.measureText("a"), 0.0f);
+        assertEquals(GLYPH_3EM_WIDTH, paint.measureText("b"), 0.0f);
+        assertEquals(GLYPH_1EM_WIDTH, paint.measureText("c"), 0.0f);
+    }
+
+    @Test(expected = IllegalArgumentException.class)
+    public void testBuildSystemFallback__Customization_new_named_family_no_name_exception() {
+        final String oemXml = "<?xml version='1.0' encoding='UTF-8'?>"
+                + "<fonts-modification version='1'>"
+                + "  <family customizationType='new-named-family'>"
+                + "    <font weight='400' style='normal'>b3em.ttf</font>"
+                + "  </family>"
+                + "</fonts-modification>";
+        readFontCustomization(oemXml);
+    }
+
+    @Test(expected = IllegalArgumentException.class)
+    public void testBuildSystemFallback__Customization_new_named_family_dup_name_exception() {
+        final String oemXml = "<?xml version='1.0' encoding='UTF-8'?>"
+                + "<fonts-modification version='1'>"
+                + "  <family customizationType='new-named-family' name='google-sans'>"
+                + "    <font weight='400' style='normal'>b3em.ttf</font>"
+                + "  </family>"
+                + "  <family customizationType='new-named-family' name='google-sans'>"
+                + "    <font weight='400' style='normal'>b3em.ttf</font>"
+                + "  </family>"
+                + "</fonts-modification>";
+        readFontCustomization(oemXml);
+    }
 }
diff --git a/core/tests/coretests/src/android/hardware/display/BrightnessConfigurationTest.java b/core/tests/coretests/src/android/hardware/display/BrightnessConfigurationTest.java
index 5ef30a8..dcc51e1 100644
--- a/core/tests/coretests/src/android/hardware/display/BrightnessConfigurationTest.java
+++ b/core/tests/coretests/src/android/hardware/display/BrightnessConfigurationTest.java
@@ -48,8 +48,8 @@
 
     @Test
     public void testSetCurveIsUnmodified() {
-        BrightnessConfiguration.Builder builder = new BrightnessConfiguration.Builder();
-        builder.setCurve(LUX_LEVELS, NITS_LEVELS);
+        BrightnessConfiguration.Builder builder = new BrightnessConfiguration.Builder(
+                LUX_LEVELS, NITS_LEVELS);
         BrightnessConfiguration config = builder.build();
         Pair<float[], float[]> curve = config.getCurve();
         assertArrayEquals(LUX_LEVELS, curve.first, "lux");
@@ -58,45 +58,33 @@
 
     @Test(expected = IllegalArgumentException.class)
     public void testCurveMustHaveZeroLuxPoint() {
-        BrightnessConfiguration.Builder builder = new BrightnessConfiguration.Builder();
         float[] lux = Arrays.copyOf(LUX_LEVELS, LUX_LEVELS.length);
         lux[0] = 1f;
-        builder.setCurve(lux, NITS_LEVELS);
-    }
-
-    @Test(expected = IllegalStateException.class)
-    public void testCurveMustBeSet() {
-        BrightnessConfiguration.Builder builder = new BrightnessConfiguration.Builder();
-        builder.build();
+        new BrightnessConfiguration.Builder(lux, NITS_LEVELS);
     }
 
     @Test(expected = NullPointerException.class)
     public void testCurveMustNotHaveNullArrays() {
-        BrightnessConfiguration.Builder builder = new BrightnessConfiguration.Builder();
-        builder.setCurve(null, null);
+        new BrightnessConfiguration.Builder(null, null);
     }
 
     @Test(expected = IllegalArgumentException.class)
     public void testCurveMustNotHaveEmptyArrays() {
-        BrightnessConfiguration.Builder builder = new BrightnessConfiguration.Builder();
-        builder.setCurve(new float[0], new float[0]);
+        new BrightnessConfiguration.Builder(new float[0], new float[0]);
     }
 
     @Test
     public void testCurveMustNotHaveArraysOfDifferentLengths() {
         assertThrows(IllegalArgumentException.class, () -> {
-            BrightnessConfiguration.Builder builder = new BrightnessConfiguration.Builder();
             float[] lux = Arrays.copyOf(LUX_LEVELS, LUX_LEVELS.length + 1);
             lux[lux.length - 1] = lux[lux.length - 2] + 1;
-            boolean exceptionThrown = false;
-            builder.setCurve(lux, NITS_LEVELS);
+            new BrightnessConfiguration.Builder(lux, NITS_LEVELS);
         });
 
         assertThrows(IllegalArgumentException.class, () -> {
-            BrightnessConfiguration.Builder builder = new BrightnessConfiguration.Builder();
             float[] nits = Arrays.copyOf(NITS_LEVELS, NITS_LEVELS.length + 1);
             nits[nits.length - 1] = nits[nits.length - 2] + 1;
-            builder.setCurve(LUX_LEVELS, nits);
+            new BrightnessConfiguration.Builder(LUX_LEVELS, nits);
         });
     }
 
@@ -105,23 +93,21 @@
         assertThrows(IllegalArgumentException.class, () -> {
             float[] lux = Arrays.copyOf(LUX_LEVELS, LUX_LEVELS.length);
             lux[lux.length - 1] = Float.NaN;
-            BrightnessConfiguration.Builder builder = new BrightnessConfiguration.Builder();
-            builder.setCurve(lux, NITS_LEVELS);
+            new BrightnessConfiguration.Builder(lux, NITS_LEVELS);
         });
 
         assertThrows(IllegalArgumentException.class, () -> {
             float[] nits = Arrays.copyOf(NITS_LEVELS, NITS_LEVELS.length);
             nits[nits.length - 1] = Float.NaN;
-            BrightnessConfiguration.Builder builder = new BrightnessConfiguration.Builder();
-            builder.setCurve(LUX_LEVELS, nits);
+            new BrightnessConfiguration.Builder(LUX_LEVELS, nits);
         });
     }
 
 
     @Test
     public void testParceledConfigIsEquivalent() {
-        BrightnessConfiguration.Builder builder = new BrightnessConfiguration.Builder();
-        builder.setCurve(LUX_LEVELS, NITS_LEVELS);
+        BrightnessConfiguration.Builder builder =
+                new BrightnessConfiguration.Builder(LUX_LEVELS, NITS_LEVELS);
         BrightnessConfiguration config = builder.build();
         Parcel p = Parcel.obtain();
         p.writeParcelable(config, 0 /*flags*/);
@@ -133,12 +119,11 @@
 
     @Test
     public void testEquals() {
-        BrightnessConfiguration.Builder builder = new BrightnessConfiguration.Builder();
-        builder.setCurve(LUX_LEVELS, NITS_LEVELS);
+        BrightnessConfiguration.Builder builder =
+                new BrightnessConfiguration.Builder(LUX_LEVELS, NITS_LEVELS);
         BrightnessConfiguration baseConfig = builder.build();
 
-        builder = new BrightnessConfiguration.Builder();
-        builder.setCurve(LUX_LEVELS, NITS_LEVELS);
+        builder = new BrightnessConfiguration.Builder(LUX_LEVELS, NITS_LEVELS);
         BrightnessConfiguration identicalConfig = builder.build();
         assertEquals(baseConfig, identicalConfig);
         assertEquals("hashCodes must be equal for identical configs",
@@ -146,15 +131,13 @@
 
         float[] lux = Arrays.copyOf(LUX_LEVELS, LUX_LEVELS.length);
         lux[lux.length - 1] = lux[lux.length - 1] * 2;
-        builder = new BrightnessConfiguration.Builder();
-        builder.setCurve(lux, NITS_LEVELS);
+        builder = new BrightnessConfiguration.Builder(lux, NITS_LEVELS);
         BrightnessConfiguration luxDifferConfig = builder.build();
         assertNotEquals(baseConfig, luxDifferConfig);
 
         float[] nits = Arrays.copyOf(NITS_LEVELS, NITS_LEVELS.length);
         nits[nits.length - 1] = nits[nits.length - 1] * 2;
-        builder = new BrightnessConfiguration.Builder();
-        builder.setCurve(LUX_LEVELS, nits);
+        builder = new BrightnessConfiguration.Builder(LUX_LEVELS, nits);
         BrightnessConfiguration nitsDifferConfig = builder.build();
         assertNotEquals(baseConfig, nitsDifferConfig);
     }
diff --git a/core/tests/coretests/src/android/net/LocalSocketTest.java b/core/tests/coretests/src/android/net/LocalSocketTest.java
index 1349844..1286b13 100644
--- a/core/tests/coretests/src/android/net/LocalSocketTest.java
+++ b/core/tests/coretests/src/android/net/LocalSocketTest.java
@@ -22,6 +22,7 @@
 import android.net.LocalSocketAddress;
 import android.test.MoreAsserts;
 import android.test.suitebuilder.annotation.SmallTest;
+
 import junit.framework.TestCase;
 
 import java.io.FileDescriptor;
@@ -39,6 +40,20 @@
 
         ls = new LocalSocket();
 
+        try {
+            ls.connect(new LocalSocketAddress(null));
+            fail("Expected NullPointerException");
+        } catch (NullPointerException e) {
+            // pass
+        }
+
+        try {
+            ls.bind(new LocalSocketAddress(null));
+            fail("Expected NullPointerException");
+        } catch (NullPointerException e) {
+            // pass
+        }
+
         ls.connect(new LocalSocketAddress("android.net.LocalSocketTest"));
 
         ls1 = ss.accept();
diff --git a/core/tests/coretests/src/android/os/FileUtilsTest.java b/core/tests/coretests/src/android/os/FileUtilsTest.java
index 9c9f11b..20fe162 100644
--- a/core/tests/coretests/src/android/os/FileUtilsTest.java
+++ b/core/tests/coretests/src/android/os/FileUtilsTest.java
@@ -17,6 +17,22 @@
 package android.os;
 
 import static android.os.FileUtils.roundStorageSize;
+import static android.os.FileUtils.translateModePfdToPosix;
+import static android.os.FileUtils.translateModePosixToPfd;
+import static android.os.FileUtils.translateModePosixToString;
+import static android.os.FileUtils.translateModeStringToPosix;
+import static android.os.ParcelFileDescriptor.MODE_APPEND;
+import static android.os.ParcelFileDescriptor.MODE_CREATE;
+import static android.os.ParcelFileDescriptor.MODE_READ_ONLY;
+import static android.os.ParcelFileDescriptor.MODE_READ_WRITE;
+import static android.os.ParcelFileDescriptor.MODE_TRUNCATE;
+import static android.os.ParcelFileDescriptor.MODE_WRITE_ONLY;
+import static android.system.OsConstants.O_APPEND;
+import static android.system.OsConstants.O_CREAT;
+import static android.system.OsConstants.O_RDONLY;
+import static android.system.OsConstants.O_RDWR;
+import static android.system.OsConstants.O_TRUNC;
+import static android.system.OsConstants.O_WRONLY;
 import static android.text.format.DateUtils.DAY_IN_MILLIS;
 import static android.text.format.DateUtils.HOUR_IN_MILLIS;
 import static android.text.format.DateUtils.WEEK_IN_MILLIS;
@@ -476,6 +492,32 @@
         assertEquals(G64, roundStorageSize(G32 + 1));
     }
 
+    @Test
+    public void testTranslateMode() throws Exception {
+        assertTranslate("r", O_RDONLY, MODE_READ_ONLY);
+
+        assertTranslate("rw", O_RDWR | O_CREAT,
+                MODE_READ_WRITE | MODE_CREATE);
+        assertTranslate("rwt", O_RDWR | O_CREAT | O_TRUNC,
+                MODE_READ_WRITE | MODE_CREATE | MODE_TRUNCATE);
+        assertTranslate("rwa", O_RDWR | O_CREAT | O_APPEND,
+                MODE_READ_WRITE | MODE_CREATE | MODE_APPEND);
+
+        assertTranslate("w", O_WRONLY | O_CREAT,
+                MODE_WRITE_ONLY | MODE_CREATE | MODE_CREATE);
+        assertTranslate("wt", O_WRONLY | O_CREAT | O_TRUNC,
+                MODE_WRITE_ONLY | MODE_CREATE | MODE_TRUNCATE);
+        assertTranslate("wa", O_WRONLY | O_CREAT | O_APPEND,
+                MODE_WRITE_ONLY | MODE_CREATE | MODE_APPEND);
+    }
+
+    private static void assertTranslate(String string, int posix, int pfd) {
+        assertEquals(posix, translateModeStringToPosix(string));
+        assertEquals(string, translateModePosixToString(posix));
+        assertEquals(pfd, translateModePosixToPfd(posix));
+        assertEquals(posix, translateModePfdToPosix(pfd));
+    }
+
     private static void assertNameEquals(String expected, File actual) {
         assertEquals(expected, actual.getName());
     }
diff --git a/core/tests/coretests/src/android/os/SetPersistentVrThreadTest.java b/core/tests/coretests/src/android/os/SetPersistentVrThreadTest.java
index 920988b..9e44554 100644
--- a/core/tests/coretests/src/android/os/SetPersistentVrThreadTest.java
+++ b/core/tests/coretests/src/android/os/SetPersistentVrThreadTest.java
@@ -24,7 +24,6 @@
 import android.provider.Settings;
 import android.test.ActivityInstrumentationTestCase2;
 import android.test.suitebuilder.annotation.SmallTest;
-import android.util.Log;
 
 /**
  * Tests ActivityManager#setPersistentVrThread and ActivityManager#setVrThread's
@@ -76,9 +75,11 @@
     }
 
     private void setPersistentVrModeEnabled(boolean enable) throws Throwable {
-        mVrManager.setPersistentVrModeEnabled(enable);
-        // Allow the system time to send out callbacks for persistent VR mode.
-        Thread.sleep(200);
+        if (mVrManager != null) {
+            mVrManager.setPersistentVrModeEnabled(enable);
+            // Allow the system time to send out callbacks for persistent VR mode.
+            Thread.sleep(200);
+        }
     }
 
     @SmallTest
diff --git a/core/tests/coretests/src/android/provider/SettingsBackupTest.java b/core/tests/coretests/src/android/provider/SettingsBackupTest.java
index e84aed1..8f0e76b 100644
--- a/core/tests/coretests/src/android/provider/SettingsBackupTest.java
+++ b/core/tests/coretests/src/android/provider/SettingsBackupTest.java
@@ -241,7 +241,6 @@
                     Settings.Global.EUICC_SUPPORTED_COUNTRIES,
                     Settings.Global.EUICC_FACTORY_RESET_TIMEOUT_MILLIS,
                     Settings.Global.FANCY_IME_ANIMATIONS,
-                    Settings.Global.FASTER_EMERGENCY_PHONE_CALL_ENABLED,
                     Settings.Global.FORCE_ALLOW_ON_EXTERNAL,
                     Settings.Global.FORCED_APP_STANDBY_ENABLED,
                     Settings.Global.FORCED_APP_STANDBY_FOR_SMALL_BATTERY_ENABLED,
@@ -448,6 +447,7 @@
                     Settings.Global.ENABLE_GPU_DEBUG_LAYERS,
                     Settings.Global.GPU_DEBUG_APP,
                     Settings.Global.GPU_DEBUG_LAYERS,
+                    Settings.Global.ANGLE_ENABLED_APP,
                     Settings.Global.ENABLE_GNSS_RAW_MEAS_FULL_TRACKING,
                     Settings.Global.INSTALL_CARRIER_APP_NOTIFICATION_PERSISTENT,
                     Settings.Global.INSTALL_CARRIER_APP_NOTIFICATION_SLEEP_MILLIS,
diff --git a/core/tests/coretests/src/android/provider/SettingsValidatorsTest.java b/core/tests/coretests/src/android/provider/SettingsValidatorsTest.java
index 8909293..b0d29bd 100644
--- a/core/tests/coretests/src/android/provider/SettingsValidatorsTest.java
+++ b/core/tests/coretests/src/android/provider/SettingsValidatorsTest.java
@@ -73,7 +73,7 @@
     @Test
     public void testComponentNameValidator() {
         assertTrue(SettingsValidators.COMPONENT_NAME_VALIDATOR.validate(
-                "android/com.android.internal.backup.LocalTransport"));
+                "com.android.localtransport/.LocalTransport"));
         assertFalse(SettingsValidators.COMPONENT_NAME_VALIDATOR.validate("rectangle"));
     }
 
@@ -90,7 +90,7 @@
     @Test
     public void testNullableComponentNameValidator_onValidComponentName_returnsTrue() {
         assertTrue(SettingsValidators.NULLABLE_COMPONENT_NAME_VALIDATOR.validate(
-                "android/com.android.internal.backup.LocalTransport"));
+                "com.android.localtransport/.LocalTransport"));
     }
 
     @Test
@@ -185,7 +185,7 @@
     @Test
     public void testComponentNameListValidator() {
         Validator v = new SettingsValidators.ComponentNameListValidator(",");
-        assertTrue(v.validate("android/com.android.internal.backup.LocalTransport,"
+        assertTrue(v.validate("com.android.localtransport/.LocalTransport,"
                 + "com.google.android.gms/.backup.migrate.service.D2dTransport"));
         assertFalse(v.validate("com.google.5android,android"));
     }
@@ -200,7 +200,7 @@
     @Test
     public void testPackageNameListValidator() {
         Validator v = new SettingsValidators.PackageNameListValidator(",");
-        assertTrue(v.validate("com.android.internal.backup.LocalTransport,com.google.android.gms"));
+        assertTrue(v.validate("com.android.localtransport.LocalTransport,com.google.android.gms"));
         assertFalse(v.validate("5com.android.internal.backup.LocalTransport,android"));
     }
 
diff --git a/core/tests/coretests/src/android/text/FontFallbackSetup.java b/core/tests/coretests/src/android/text/FontFallbackSetup.java
index 355be61..5592aac 100644
--- a/core/tests/coretests/src/android/text/FontFallbackSetup.java
+++ b/core/tests/coretests/src/android/text/FontFallbackSetup.java
@@ -21,6 +21,7 @@
 import android.content.res.AssetManager;
 import android.graphics.Typeface;
 import android.graphics.fonts.Font;
+import android.graphics.fonts.FontCustomizationParser;
 import android.graphics.fonts.FontFamily;
 import android.graphics.fonts.SystemFonts;
 import android.support.test.InstrumentationRegistry;
@@ -33,7 +34,7 @@
 import java.nio.charset.Charset;
 import java.nio.file.Files;
 import java.nio.file.StandardCopyOption;
-import java.util.HashSet;
+import java.util.ArrayList;
 
 public class FontFallbackSetup implements AutoCloseable {
     private final String[] mTestFontFiles;
@@ -76,9 +77,11 @@
         }
 
         final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>();
-        final HashSet<Font> availableFonts = new HashSet<>();
+        final ArrayList<Font> availableFonts = new ArrayList<>();
+        final FontCustomizationParser.Result oemCustomization =
+                new FontCustomizationParser.Result();
         final FontConfig.Alias[] aliases = SystemFonts.buildSystemFallback(testFontsXml,
-                mTestFontsDir, fallbackMap, availableFonts);
+                mTestFontsDir, oemCustomization, fallbackMap, availableFonts);
         Typeface.initSystemDefaultTypefaces(mFontMap, fallbackMap, aliases);
     }
 
diff --git a/core/tests/coretests/src/android/view/accessibility/AccessibilityNodeInfoTest.java b/core/tests/coretests/src/android/view/accessibility/AccessibilityNodeInfoTest.java
index 922b79a..69d2828 100644
--- a/core/tests/coretests/src/android/view/accessibility/AccessibilityNodeInfoTest.java
+++ b/core/tests/coretests/src/android/view/accessibility/AccessibilityNodeInfoTest.java
@@ -57,7 +57,7 @@
 
     // The number of flags held in boolean properties. Their values should also be double-checked
     // in the methods above.
-    private static final int NUM_BOOLEAN_PROPERTIES = 17;
+    private static final int NUM_BOOLEAN_PROPERTIES = 18;
 
     @Test
     public void testStandardActions_serializationFlagIsValid() {
diff --git a/core/tests/coretests/src/android/view/inputmethod/InputMethodManagerTest.java b/core/tests/coretests/src/android/view/inputmethod/InputMethodManagerTest.java
new file mode 100644
index 0000000..55e5e36
--- /dev/null
+++ b/core/tests/coretests/src/android/view/inputmethod/InputMethodManagerTest.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.view.inputmethod;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import android.content.Context;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+import android.support.test.runner.AndroidJUnit4;
+import android.view.WindowManager;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class InputMethodManagerTest {
+    @Test
+    public void testPrivateApiGetInstance() throws Exception {
+        final InputMethodManager globalImm = InputMethodManager.getInstance();
+        assertNotNull("InputMethodManager.getInstance() still needs to work due to"
+                + " @UnsupportedAppUsage", globalImm);
+        assertEquals("InputMethodManager.peekInstance() still needs to work due to"
+                + " @UnsupportedAppUsage", globalImm, InputMethodManager.peekInstance());
+
+        final Context testContext = InstrumentationRegistry.getInstrumentation()
+                .getTargetContext();
+
+        final WindowManager wm = testContext.getSystemService(WindowManager.class);
+        final Context defaultDisplayContext =
+                testContext.createDisplayContext(wm.getDefaultDisplay());
+        final InputMethodManager imm =
+                defaultDisplayContext.getSystemService(InputMethodManager.class);
+        assertEquals("InputMethodManager.getInstance() always returns the instance for the default"
+                + " display.", globalImm, imm);
+    }
+}
diff --git a/core/tests/coretests/src/com/android/internal/accessibility/AccessibilityShortcutControllerTest.java b/core/tests/coretests/src/com/android/internal/accessibility/AccessibilityShortcutControllerTest.java
index f3e10e0..a302657 100644
--- a/core/tests/coretests/src/com/android/internal/accessibility/AccessibilityShortcutControllerTest.java
+++ b/core/tests/coretests/src/com/android/internal/accessibility/AccessibilityShortcutControllerTest.java
@@ -16,6 +16,31 @@
 
 package com.android.internal.accessibility;
 
+import static android.provider.Settings.Secure.ACCESSIBILITY_SHORTCUT_DIALOG_SHOWN;
+import static android.provider.Settings.Secure.ACCESSIBILITY_SHORTCUT_ENABLED;
+import static android.provider.Settings.Secure.ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN;
+import static android.provider.Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE;
+
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertFalse;
+import static junit.framework.Assert.assertTrue;
+
+import static org.junit.Assert.fail;
+import static org.mockito.AdditionalMatchers.aryEq;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.Matchers.anyBoolean;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
+
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.app.AlertDialog;
 import android.content.ComponentName;
@@ -25,11 +50,14 @@
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.content.res.Resources;
+import android.media.Ringtone;
 import android.os.Handler;
+import android.os.Message;
 import android.os.Vibrator;
 import android.provider.Settings;
+import android.speech.tts.TextToSpeech;
+import android.speech.tts.Voice;
 import android.support.test.runner.AndroidJUnit4;
-
 import android.test.mock.MockContentResolver;
 import android.text.TextUtils;
 import android.view.Window;
@@ -37,9 +65,10 @@
 import android.view.accessibility.AccessibilityManager;
 import android.view.accessibility.IAccessibilityManager;
 import android.widget.Toast;
+
 import com.android.internal.R;
-import com.android.internal.util.test.FakeSettingsProvider;
 import com.android.internal.accessibility.AccessibilityShortcutController.FrameworkObjectProvider;
+import com.android.internal.util.test.FakeSettingsProvider;
 
 import org.junit.After;
 import org.junit.Before;
@@ -48,31 +77,12 @@
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
+import org.mockito.invocation.InvocationOnMock;
 
 import java.lang.reflect.Field;
 import java.util.Collections;
 import java.util.Map;
 
-import static android.provider.Settings.Secure.ACCESSIBILITY_SHORTCUT_DIALOG_SHOWN;
-import static android.provider.Settings.Secure.ACCESSIBILITY_SHORTCUT_ENABLED;
-import static android.provider.Settings.Secure.ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN;
-import static android.provider.Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE;
-import static junit.framework.Assert.assertEquals;
-import static junit.framework.Assert.assertFalse;
-import static junit.framework.Assert.assertTrue;
-
-import static org.junit.Assert.fail;
-import static org.mockito.AdditionalMatchers.aryEq;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Matchers.anyBoolean;
-import static org.mockito.Matchers.anyInt;
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
 
 @RunWith(AndroidJUnit4.class)
 public class AccessibilityShortcutControllerTest {
@@ -102,6 +112,9 @@
     private @Mock Vibrator mVibrator;
     private @Mock ApplicationInfo mApplicationInfo;
     private @Mock PackageManager mPackageManager;
+    private @Mock TextToSpeech mTextToSpeech;
+    private @Mock Voice mVoice;
+    private @Mock Ringtone mRingtone;
 
     private MockContentResolver mContentResolver;
     private WindowManager.LayoutParams mLayoutParams = new WindowManager.LayoutParams();
@@ -137,6 +150,9 @@
         when(mFrameworkObjectProvider.makeToastFromText(eq(mContext), anyObject(), anyInt()))
                 .thenReturn(mToast);
         when(mFrameworkObjectProvider.getSystemUiContext()).thenReturn(mContext);
+        when(mFrameworkObjectProvider.getTextToSpeech(eq(mContext), any()))
+                .thenReturn(mTextToSpeech);
+        when(mFrameworkObjectProvider.getRingtone(eq(mContext), any())).thenReturn(mRingtone);
 
         when(mResources.getString(anyInt())).thenReturn("Howdy %s");
         when(mResources.getIntArray(anyInt())).thenReturn(VIBRATOR_PATTERN_INT);
@@ -172,6 +188,8 @@
             throw new RuntimeException("Unable to set mWindowAttributes", e);
         }
         when(mAlertDialog.getWindow()).thenReturn(window);
+
+        when(mTextToSpeech.getVoice()).thenReturn(mVoice);
     }
 
     @After
@@ -308,8 +326,10 @@
                 mContentResolver, ACCESSIBILITY_SHORTCUT_DIALOG_SHOWN, 0));
         verify(mResources).getString(R.string.accessibility_shortcut_toogle_warning);
         verify(mAlertDialog).show();
-        verify(mAccessibilityManagerService).getInstalledAccessibilityServiceList(anyInt());
+        verify(mAccessibilityManagerService, atLeastOnce()).getInstalledAccessibilityServiceList(
+                anyInt());
         verify(mAccessibilityManagerService, times(0)).performAccessibilityShortcut();
+        verify(mFrameworkObjectProvider, times(0)).getTextToSpeech(any(), any());
     }
 
     @Test
@@ -434,6 +454,49 @@
         verify(mAccessibilityManagerService).performAccessibilityShortcut();
     }
 
+    @Test
+    public void testOnAccessibilityShortcut_showsWarningDialog_shouldTtsSpokenPrompt() {
+        configureShortcutEnabled(ENABLED_EXCEPT_LOCK_SCREEN);
+        configureValidShortcutService();
+        configureTtsSpokenPromptEnabled();
+        configureHandlerCallbackInvocation();
+        AccessibilityShortcutController accessibilityShortcutController = getController();
+        Settings.Secure.putInt(mContentResolver, ACCESSIBILITY_SHORTCUT_DIALOG_SHOWN, 0);
+        accessibilityShortcutController.performAccessibilityShortcut();
+
+        verify(mAlertDialog).show();
+        ArgumentCaptor<TextToSpeech.OnInitListener> onInitCap = ArgumentCaptor.forClass(
+                TextToSpeech.OnInitListener.class);
+        verify(mFrameworkObjectProvider).getTextToSpeech(any(), onInitCap.capture());
+        onInitCap.getValue().onInit(TextToSpeech.SUCCESS);
+        verify(mTextToSpeech).speak(any(), eq(TextToSpeech.QUEUE_FLUSH), any(), any());
+        ArgumentCaptor<DialogInterface.OnDismissListener> onDismissCap = ArgumentCaptor.forClass(
+                DialogInterface.OnDismissListener.class);
+        verify(mAlertDialog).setOnDismissListener(onDismissCap.capture());
+        onDismissCap.getValue().onDismiss(mAlertDialog);
+        verify(mTextToSpeech).shutdown();
+        verify(mRingtone, times(0)).play();
+    }
+
+    @Test
+    public void testOnAccessibilityShortcut_showsWarningDialog_ttsInitFail_noSpokenPrompt() {
+        configureShortcutEnabled(ENABLED_EXCEPT_LOCK_SCREEN);
+        configureValidShortcutService();
+        configureTtsSpokenPromptEnabled();
+        configureHandlerCallbackInvocation();
+        AccessibilityShortcutController accessibilityShortcutController = getController();
+        Settings.Secure.putInt(mContentResolver, ACCESSIBILITY_SHORTCUT_DIALOG_SHOWN, 0);
+        accessibilityShortcutController.performAccessibilityShortcut();
+
+        verify(mAlertDialog).show();
+        ArgumentCaptor<TextToSpeech.OnInitListener> onInitCap = ArgumentCaptor.forClass(
+                TextToSpeech.OnInitListener.class);
+        verify(mFrameworkObjectProvider).getTextToSpeech(any(), onInitCap.capture());
+        onInitCap.getValue().onInit(TextToSpeech.ERROR);
+        verify(mTextToSpeech, times(0)).speak(any(), anyInt(), any(), any());
+        verify(mRingtone).play();
+    }
+
     private void configureNoShortcutService() {
         Settings.Secure.putString(mContentResolver, ACCESSIBILITY_SHORTCUT_TARGET_SERVICE, "");
     }
@@ -481,6 +544,19 @@
                 mContentResolver, ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN, lockscreen ? 1 : 0);
     }
 
+    private void configureTtsSpokenPromptEnabled() {
+        mServiceInfo.flags |= AccessibilityServiceInfo
+                .FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK;
+    }
+
+    private void configureHandlerCallbackInvocation() {
+        doAnswer((InvocationOnMock invocation) -> {
+            Message m = (Message) invocation.getArguments()[0];
+            m.getCallback().run();
+            return true;
+        }).when(mHandler).sendMessageAtTime(any(), anyLong());
+    }
+
     private AccessibilityShortcutController getController() {
         AccessibilityShortcutController accessibilityShortcutController =
                 new AccessibilityShortcutController(mContext, mHandler, 0);
diff --git a/core/tests/coretests/src/com/android/internal/inputmethod/SubtypeLocaleUtilsTest.java b/core/tests/coretests/src/com/android/internal/inputmethod/SubtypeLocaleUtilsTest.java
new file mode 100644
index 0000000..8179328
--- /dev/null
+++ b/core/tests/coretests/src/com/android/internal/inputmethod/SubtypeLocaleUtilsTest.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.internal.inputmethod;
+
+import static org.junit.Assert.assertEquals;
+
+import android.support.test.filters.SmallTest;
+import android.support.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.Locale;
+
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class SubtypeLocaleUtilsTest {
+    private static final Locale LOCALE_EN = new Locale("en");
+    private static final Locale LOCALE_EN_US = new Locale("en", "US");
+    private static final Locale LOCALE_EN_GB = new Locale("en", "GB");
+    private static final Locale LOCALE_EN_IN = new Locale("en", "IN");
+    private static final Locale LOCALE_FIL = new Locale("fil");
+    private static final Locale LOCALE_FIL_PH = new Locale("fil", "PH");
+    private static final Locale LOCALE_JA = new Locale("ja");
+    private static final Locale LOCALE_JA_JP = new Locale("ja", "JP");
+    private static final Locale LOCALE_TH = new Locale("ht");
+    private static final Locale LOCALE_TH_TH = new Locale("ht", "TH");
+    private static final Locale LOCALE_TH_TH_TH = new Locale("ht", "TH", "TH");
+
+    @Test
+    public void testConstructLocaleFromString() throws Exception {
+        assertEquals(new Locale("en"), SubtypeLocaleUtils.constructLocaleFromString("en"));
+        assertEquals(new Locale("en", "US"), SubtypeLocaleUtils.constructLocaleFromString("en_US"));
+        assertEquals(new Locale("en", "US", "POSIX"),
+                SubtypeLocaleUtils.constructLocaleFromString("en_US_POSIX"));
+
+        // Special rewrite rule for "tl" for versions of Android earlier than Lollipop that did not
+        // support three letter language codes, and used "tl" (Tagalog) as the language string for
+        // "fil" (Filipino).
+        assertEquals(new Locale("fil"), SubtypeLocaleUtils.constructLocaleFromString("tl"));
+        assertEquals(new Locale("fil", "PH"),
+                SubtypeLocaleUtils.constructLocaleFromString("tl_PH"));
+        assertEquals(new Locale("fil", "PH", "POSIX"),
+                SubtypeLocaleUtils.constructLocaleFromString("tl_PH_POSIX"));
+
+        // So far rejecting an invalid/unexpected locale string is out of the scope of this method.
+        assertEquals(new Locale("a"), SubtypeLocaleUtils.constructLocaleFromString("a"));
+        assertEquals(new Locale("a b c"), SubtypeLocaleUtils.constructLocaleFromString("a b c"));
+        assertEquals(new Locale("en-US"), SubtypeLocaleUtils.constructLocaleFromString("en-US"));
+    }
+}
diff --git a/core/tests/coretests/src/com/android/internal/os/KernelCpuProcReaderTest.java b/core/tests/coretests/src/com/android/internal/os/KernelCpuProcReaderTest.java
index efdd7e9..8360126 100644
--- a/core/tests/coretests/src/com/android/internal/os/KernelCpuProcReaderTest.java
+++ b/core/tests/coretests/src/com/android/internal/os/KernelCpuProcReaderTest.java
@@ -43,7 +43,7 @@
 /**
  * Test class for {@link KernelCpuProcReader}.
  *
- * $ atest FrameworksCoreTests:com.android.internal.os.KernelCpuProcReader
+ * $ atest FrameworksCoreTests:com.android.internal.os.KernelCpuProcReaderTest
  */
 @SmallTest
 @RunWith(AndroidJUnit4.class)
diff --git a/core/tests/coretests/src/com/android/internal/os/LooperStatsTest.java b/core/tests/coretests/src/com/android/internal/os/LooperStatsTest.java
index 0eb3d06..0c8dd9d 100644
--- a/core/tests/coretests/src/com/android/internal/os/LooperStatsTest.java
+++ b/core/tests/coretests/src/com/android/internal/os/LooperStatsTest.java
@@ -21,6 +21,7 @@
 import android.os.Handler;
 import android.os.HandlerThread;
 import android.os.Looper;
+import android.os.Message;
 import android.platform.test.annotations.Presubmit;
 import android.support.test.filters.SmallTest;
 import android.support.test.runner.AndroidJUnit4;
@@ -74,14 +75,17 @@
     public void testSingleMessageDispatched() {
         TestableLooperStats looperStats = new TestableLooperStats(1, 100);
 
+        Message message = mHandlerFirst.obtainMessage(1000);
+        message.workSourceUid = 1000;
         Object token = looperStats.messageDispatchStarting();
         looperStats.tickRealtime(100);
         looperStats.tickThreadTime(10);
-        looperStats.messageDispatched(token, mHandlerFirst.obtainMessage(1000));
+        looperStats.messageDispatched(token, message);
 
         List<LooperStats.ExportedEntry> entries = looperStats.getEntries();
         assertThat(entries).hasSize(1);
         LooperStats.ExportedEntry entry = entries.get(0);
+        assertThat(entry.workSourceUid).isEqualTo(1000);
         assertThat(entry.threadName).isEqualTo("TestThread1");
         assertThat(entry.handlerClassName).isEqualTo(
                 "com.android.internal.os.LooperStatsTest$TestHandlerFirst");
@@ -100,15 +104,17 @@
     public void testThrewException() {
         TestableLooperStats looperStats = new TestableLooperStats(1, 100);
 
+        Message message = mHandlerFirst.obtainMessage(7);
+        message.workSourceUid = 123;
         Object token = looperStats.messageDispatchStarting();
         looperStats.tickRealtime(100);
         looperStats.tickThreadTime(10);
-        looperStats.dispatchingThrewException(token, mHandlerFirst.obtainMessage(7),
-                new ArithmeticException());
+        looperStats.dispatchingThrewException(token, message, new ArithmeticException());
 
         List<LooperStats.ExportedEntry> entries = looperStats.getEntries();
         assertThat(entries).hasSize(1);
         LooperStats.ExportedEntry entry = entries.get(0);
+        assertThat(entry.workSourceUid).isEqualTo(123);
         assertThat(entry.threadName).isEqualTo("TestThread1");
         assertThat(entry.handlerClassName).isEqualTo(
                 "com.android.internal.os.LooperStatsTest$TestHandlerFirst");
@@ -146,31 +152,39 @@
         looperStats.messageDispatched(token3, mHandlerSecond.obtainMessage().setCallback(() -> {
         }));
 
-        // Contributes to entry1.
+        // Will not be sampled so does not contribute to any entries.
         Object token4 = looperStats.messageDispatchStarting();
+        looperStats.tickRealtime(10);
+        looperStats.tickThreadTime(10);
+        looperStats.messageDispatched(token4, mHandlerSecond.obtainMessage(0));
+
+        // Contributes to entry1.
+        Object token5 = looperStats.messageDispatchStarting();
         looperStats.tickRealtime(100);
         looperStats.tickThreadTime(100);
-        looperStats.messageDispatched(token4, mHandlerAnonymous.obtainMessage(1));
+        looperStats.messageDispatched(token5, mHandlerAnonymous.obtainMessage(1));
 
         List<LooperStats.ExportedEntry> entries = looperStats.getEntries();
         assertThat(entries).hasSize(3);
         entries.sort(Comparator.comparing(e -> e.handlerClassName));
 
-        // Captures data for token4 call.
+        // Captures data for token5 call.
         LooperStats.ExportedEntry entry1 = entries.get(0);
+        assertThat(entry1.workSourceUid).isEqualTo(-1);
         assertThat(entry1.threadName).isEqualTo("TestThread1");
         assertThat(entry1.handlerClassName).isEqualTo("com.android.internal.os.LooperStatsTest$1");
         assertThat(entry1.messageName).isEqualTo("0x1" /* 1 in hex */);
         assertThat(entry1.messageCount).isEqualTo(1);
-        assertThat(entry1.recordedMessageCount).isEqualTo(0);
+        assertThat(entry1.recordedMessageCount).isEqualTo(1);
         assertThat(entry1.exceptionCount).isEqualTo(0);
-        assertThat(entry1.totalLatencyMicros).isEqualTo(0);
-        assertThat(entry1.maxLatencyMicros).isEqualTo(0);
-        assertThat(entry1.cpuUsageMicros).isEqualTo(0);
-        assertThat(entry1.maxCpuUsageMicros).isEqualTo(0);
+        assertThat(entry1.totalLatencyMicros).isEqualTo(100);
+        assertThat(entry1.maxLatencyMicros).isEqualTo(100);
+        assertThat(entry1.cpuUsageMicros).isEqualTo(100);
+        assertThat(entry1.maxCpuUsageMicros).isEqualTo(100);
 
         // Captures data for token1 and token2 calls.
         LooperStats.ExportedEntry entry2 = entries.get(1);
+        assertThat(entry2.workSourceUid).isEqualTo(-1);
         assertThat(entry2.threadName).isEqualTo("TestThread1");
         assertThat(entry2.handlerClassName).isEqualTo(
                 "com.android.internal.os.LooperStatsTest$TestHandlerFirst");
@@ -185,6 +199,7 @@
 
         // Captures data for token3 call.
         LooperStats.ExportedEntry entry3 = entries.get(2);
+        assertThat(entry3.workSourceUid).isEqualTo(-1);
         assertThat(entry3.threadName).isEqualTo("TestThread2");
         assertThat(entry3.handlerClassName).isEqualTo(
                 "com.android.internal.os.LooperStatsTest$TestHandlerSecond");
@@ -265,7 +280,7 @@
 
     @Test
     public void testMessagesOverSizeCap() {
-        TestableLooperStats looperStats = new TestableLooperStats(2, 1 /* sizeCap */);
+        TestableLooperStats looperStats = new TestableLooperStats(1, 1 /* sizeCap */);
 
         Object token1 = looperStats.messageDispatchStarting();
         looperStats.tickRealtime(100);
@@ -296,12 +311,12 @@
         assertThat(entry1.handlerClassName).isEqualTo("");
         assertThat(entry1.messageName).isEqualTo("OVERFLOW");
         assertThat(entry1.messageCount).isEqualTo(3);
-        assertThat(entry1.recordedMessageCount).isEqualTo(1);
+        assertThat(entry1.recordedMessageCount).isEqualTo(3);
         assertThat(entry1.exceptionCount).isEqualTo(0);
-        assertThat(entry1.totalLatencyMicros).isEqualTo(10);
-        assertThat(entry1.maxLatencyMicros).isEqualTo(10);
-        assertThat(entry1.cpuUsageMicros).isEqualTo(10);
-        assertThat(entry1.maxCpuUsageMicros).isEqualTo(10);
+        assertThat(entry1.totalLatencyMicros).isEqualTo(70);
+        assertThat(entry1.maxLatencyMicros).isEqualTo(50);
+        assertThat(entry1.cpuUsageMicros).isEqualTo(40);
+        assertThat(entry1.maxCpuUsageMicros).isEqualTo(20);
 
         LooperStats.ExportedEntry entry2 = entries.get(1);
         assertThat(entry2.threadName).isEqualTo("TestThread1");
@@ -342,6 +357,20 @@
         assertThat(looperStats.getEntries().get(0).messageCount).isEqualTo(2);
     }
 
+    @Test
+    public void testReset() {
+        TestableLooperStats looperStats = new TestableLooperStats(1, 1);
+
+        Object token1 = looperStats.messageDispatchStarting();
+        looperStats.messageDispatched(token1, mHandlerFirst.obtainMessage(1000));
+        Object token2 = looperStats.messageDispatchStarting();
+        looperStats.messageDispatched(token2, mHandlerFirst.obtainMessage(2000));
+        looperStats.reset();
+
+        List<LooperStats.ExportedEntry> entries = looperStats.getEntries();
+        assertThat(entries).hasSize(0);
+    }
+
     private static void assertThrows(Class<? extends Exception> exceptionClass, Runnable r) {
         try {
             r.run();
diff --git a/core/tests/coretests/src/com/android/internal/os/StoragedUidIoStatsReaderTest.java b/core/tests/coretests/src/com/android/internal/os/StoragedUidIoStatsReaderTest.java
new file mode 100644
index 0000000..c051a1c
--- /dev/null
+++ b/core/tests/coretests/src/com/android/internal/os/StoragedUidIoStatsReaderTest.java
@@ -0,0 +1,171 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.internal.os;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.verifyZeroInteractions;
+
+import android.content.Context;
+import android.os.FileUtils;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+import android.support.test.runner.AndroidJUnit4;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.nio.file.Files;
+
+
+/**
+ * Test class for {@link StoragedUidIoStatsReader}.
+ *
+ * To run it:
+ * atest FrameworksCoreTests:com.android.internal.os.StoragedUidIoStatsReaderTest
+ */
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class StoragedUidIoStatsReaderTest {
+
+    private File mRoot;
+    private File mTestDir;
+    private File mTestFile;
+    // private Random mRand = new Random();
+
+    private StoragedUidIoStatsReader mStoragedUidIoStatsReader;
+    @Mock
+    private StoragedUidIoStatsReader.Callback mCallback;
+
+    private Context getContext() {
+        return InstrumentationRegistry.getContext();
+    }
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mTestDir = getContext().getDir("test", Context.MODE_PRIVATE);
+        mRoot = getContext().getFilesDir();
+        mTestFile = new File(mTestDir, "test.file");
+        mStoragedUidIoStatsReader = new StoragedUidIoStatsReader(mTestFile.getAbsolutePath());
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        FileUtils.deleteContents(mTestDir);
+        FileUtils.deleteContents(mRoot);
+    }
+
+
+    /**
+     * Tests that reading will never call the callback.
+     */
+    @Test
+    public void testReadNonexistentFile() throws Exception {
+        mStoragedUidIoStatsReader.readAbsolute(mCallback);
+        verifyZeroInteractions(mCallback);
+
+    }
+
+    /**
+     * Tests that reading a file with 3 uids works as expected.
+     */
+    @Test
+    public void testReadExpected() throws Exception {
+        BufferedWriter bufferedWriter = Files.newBufferedWriter(mTestFile.toPath());
+        int[] uids = {0, 100, 200};
+        long[] fg_chars_read = {1L, 101L, 201L};
+        long[] fg_chars_write = {2L, 102L, 202L};
+        long[] fg_bytes_read = {3L, 103L, 203L};
+        long[] fg_bytes_write = {4L, 104L, 204L};
+        long[] bg_chars_read = {5L, 105L, 205L};
+        long[] bg_chars_write = {6L, 106L, 206L};
+        long[] bg_bytes_read = {7L, 107L, 207L};
+        long[] bg_bytes_write = {8L, 108L, 208L};
+        long[] fg_fsync = {9L, 109L, 209L};
+        long[] bg_fsync = {10L, 110L, 210L};
+
+        for (int i = 0; i < uids.length; i++) {
+            bufferedWriter.write(String
+                    .format("%d %d %d %d %d %d %d %d %d %d %d\n", uids[i], fg_chars_read[i],
+                            fg_chars_write[i], fg_bytes_read[i], fg_bytes_write[i],
+                            bg_chars_read[i], bg_chars_write[i], bg_bytes_read[i],
+                            bg_bytes_write[i], fg_fsync[i], bg_fsync[i]));
+        }
+        bufferedWriter.close();
+
+        mStoragedUidIoStatsReader.readAbsolute(mCallback);
+        for (int i = 0; i < uids.length; i++) {
+            verify(mCallback).onUidStorageStats(uids[i], fg_chars_read[i], fg_chars_write[i],
+                    fg_bytes_read[i], fg_bytes_write[i], bg_chars_read[i], bg_chars_write[i],
+                    bg_bytes_read[i], bg_bytes_write[i], fg_fsync[i], bg_fsync[i]);
+        }
+        verifyNoMoreInteractions(mCallback);
+
+    }
+
+    /**
+     * Tests that a line with less than 11 items is passed over.
+     */
+    @Test
+    public void testLineDoesNotElevenEntries() throws Exception {
+        BufferedWriter bufferedWriter = Files.newBufferedWriter(mTestFile.toPath());
+
+        // Only has 10 numbers.
+        bufferedWriter.write(String
+                .format("%d %d %d %d %d %d %d %d %d %d\n", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9));
+
+        bufferedWriter.write(String
+                .format("%d %d %d %d %d %d %d %d %d %d %d\n", 10, 11, 12, 13, 14, 15, 16, 17, 18,
+                        19, 20));
+        bufferedWriter.close();
+
+        // Make sure we get the second line, but the first is skipped.
+        mStoragedUidIoStatsReader.readAbsolute(mCallback);
+        verify(mCallback).onUidStorageStats(10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+
+    /**
+     * Tests that a line that is malformed is passed over.
+     */
+    @Test
+    public void testLineIsMalformed() throws Exception {
+        BufferedWriter bufferedWriter = Files.newBufferedWriter(mTestFile.toPath());
+
+        // Line is not formatted properly. It has a string.
+        bufferedWriter.write(String
+                .format("%d %d %d %d %d %s %d %d %d %d %d\n", 0, 1, 2, 3, 4, "NotANumber", 5, 6, 7,
+                        8, 9));
+
+        bufferedWriter.write(String
+                .format("%d %d %d %d %d %d %d %d %d %d %d\n", 10, 11, 12, 13, 14, 15, 16, 17, 18,
+                        19, 20));
+        bufferedWriter.close();
+
+        // Make sure we get the second line, but the first is skipped.
+        mStoragedUidIoStatsReader.readAbsolute(mCallback);
+        verify(mCallback).onUidStorageStats(10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20);
+        verifyNoMoreInteractions(mCallback);
+    }
+}
diff --git a/core/tests/webkit/Android.mk b/core/tests/webkit/Android.mk
deleted file mode 100644
index 45f6957..0000000
--- a/core/tests/webkit/Android.mk
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright (C) 2017 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.
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-# We only want this apk build for tests.
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-
-
-# Include all test java files.
-LOCAL_SRC_FILES := \
-	$(call all-java-files-under, unit_tests_src)
-
-LOCAL_JAVA_LIBRARIES := android.test.runner
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-	android-support-test
-
-LOCAL_PACKAGE_NAME := WebViewLoadingTests
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_CERTIFICATE := platform
-
-LOCAL_COMPATIBILITY_SUITE := device-tests
-
-LOCAL_REQUIRED_MODULES := \
-	WebViewLoadingOnDiskTestApk \
-	WebViewLoadingFromApkTestApk
-
-include $(BUILD_PACKAGE)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/core/tests/webkit/AndroidManifest.xml b/core/tests/webkit/AndroidManifest.xml
deleted file mode 100644
index 42accdf..0000000
--- a/core/tests/webkit/AndroidManifest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 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="com.android.webkit.tests"
-          android:sharedUserId="android.uid.system">
-
-    <application>
-        <uses-library android:name="android.test.runner" />
-    </application>
-
-    <instrumentation
-            android:name="android.support.test.runner.AndroidJUnitRunner"
-            android:targetPackage="com.android.webkit.tests"
-            android:label="Frameworks WebView Loader Tests" />
-
-</manifest>
diff --git a/core/tests/webkit/AndroidTest.xml b/core/tests/webkit/AndroidTest.xml
deleted file mode 100644
index 4c50b7d..0000000
--- a/core/tests/webkit/AndroidTest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 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.
--->
-<configuration description="Runs Frameworks WebView Loading Tests.">
-    <option name="test-suite-tag" value="apct" />
-    <option name="test-suite-tag" value="apct-instrumentation" />
-    <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
-        <option name="test-file-name" value="WebViewLoadingTests.apk" />
-        <option name="test-file-name" value="WebViewLoadingOnDiskTestApk.apk" />
-        <option name="test-file-name" value="WebViewLoadingFromApkTestApk.apk" />
-        <option name="cleanup-apks" value="true" />
-        <option name="alt-dir" value="out" />
-    </target_preparer>
-
-    <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
-        <option name="package" value="com.android.webkit.tests" />
-    </test>
-</configuration>
diff --git a/core/tests/webkit/OWNERS b/core/tests/webkit/OWNERS
deleted file mode 100644
index 00e540a..0000000
--- a/core/tests/webkit/OWNERS
+++ /dev/null
@@ -1,3 +0,0 @@
-changwan@google.com
-tobiasjs@google.com
-torne@google.com
diff --git a/core/tests/webkit/apk_with_native_libs/Android.mk b/core/tests/webkit/apk_with_native_libs/Android.mk
deleted file mode 100644
index e18a7e0..0000000
--- a/core/tests/webkit/apk_with_native_libs/Android.mk
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright (C) 2017 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.
-
-LOCAL_PATH := $(call my-dir)
-MY_PATH := $(LOCAL_PATH)
-
-# Set shared variables
-MY_MODULE_TAGS := optional
-MY_JNI_SHARED_LIBRARIES := libwebviewtest_jni
-MY_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-MY_SRC_FILES := $(call all-java-files-under, src)
-MY_CFLAGS := -Wall -Werror
-MY_SDK_VERSION := system_current
-MY_PROGUARD_ENABLED := disabled
-MY_MULTILIB := both
-
-# Recurse down the file tree.
-include $(call all-subdir-makefiles)
-
-
-
-# Builds an apk containing native libraries that will be unzipped on the device.
-include $(CLEAR_VARS)
-
-LOCAL_PATH := $(MY_PATH)
-LOCAL_PACKAGE_NAME := WebViewLoadingOnDiskTestApk
-LOCAL_MANIFEST_FILE := ondisk/AndroidManifest.xml
-
-LOCAL_MODULE_TAGS := $(MY_MODULE_TAGS)
-LOCAL_JNI_SHARED_LIBRARIES := $(MY_JNI_SHARED_LIBRARIES)
-LOCAL_MODULE_PATH := $(MY_MODULE_PATH)
-LOCAL_SRC_FILES := $(MY_SRC_FILES)
-LOCAL_CFLAGS := $(MY_CFLAGS)
-LOCAL_SDK_VERSION := $(MY_SDK_VERSION)
-LOCAL_PROGUARD_ENABLED := $(MY_PROGUARD_ENABLED)
-LOCAL_MULTILIB := $(MY_MULTILIB)
-LOCAL_COMPATIBILITY_SUITE := device-tests
-
-include $(BUILD_PACKAGE)
-
-
-# Builds an apk containing uncompressed native libraries that have to be
-# accessed through the APK itself on the device.
-include $(CLEAR_VARS)
-
-LOCAL_PATH := $(MY_PATH)
-LOCAL_PACKAGE_NAME := WebViewLoadingFromApkTestApk
-LOCAL_MANIFEST_FILE := inapk/AndroidManifest.xml
-
-LOCAL_MODULE_TAGS := $(MY_MODULE_TAGS)
-LOCAL_JNI_SHARED_LIBRARIES := $(MY_JNI_SHARED_LIBRARIES)
-LOCAL_MODULE_PATH := $(MY_MODULE_PATH)
-LOCAL_SRC_FILES := $(MY_SRC_FILES)
-LOCAL_CFLAGS := $(MY_CFLAGS)
-LOCAL_SDK_VERSION := $(MY_SDK_VERSION)
-LOCAL_PROGUARD_ENABLED := $(MY_PROGUARD_ENABLED)
-LOCAL_MULTILIB := $(MY_MULTILIB)
-LOCAL_COMPATIBILITY_SUITE := device-tests
-
-include $(BUILD_PACKAGE)
diff --git a/core/tests/webkit/apk_with_native_libs/inapk/AndroidManifest.xml b/core/tests/webkit/apk_with_native_libs/inapk/AndroidManifest.xml
deleted file mode 100644
index 868b238..0000000
--- a/core/tests/webkit/apk_with_native_libs/inapk/AndroidManifest.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- * Copyright (C) 2017 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="com.android.webviewloading_test_from_apk"
-    android:versionCode="1"
-    android:versionName="0.0.0.1">
-
-    <application android:label="WebView Loading Test APK"
-      android:multiArch="true"
-      android:extractNativeLibs="false">
-        <meta-data android:name="com.android.webview.WebViewLibrary"
-            android:value="libwebviewtest_jni.so" />
-    </application>
-</manifest>
diff --git a/core/tests/webkit/apk_with_native_libs/jni/Android.mk b/core/tests/webkit/apk_with_native_libs/jni/Android.mk
deleted file mode 100644
index fd5b5eb..0000000
--- a/core/tests/webkit/apk_with_native_libs/jni/Android.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# Copyright (C) 2017 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.
-#
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libwebviewtest_jni
-
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SRC_FILES := WebViewTestJniOnLoad.cpp
-
-LOCAL_C_INCLUDES := $(JNI_H_INCLUDE)
-
-LOCAL_SDK_VERSION := current
-
-LOCAL_MULTILIB := both
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/core/tests/webkit/apk_with_native_libs/ondisk/AndroidManifest.xml b/core/tests/webkit/apk_with_native_libs/ondisk/AndroidManifest.xml
deleted file mode 100644
index ffffeb8..0000000
--- a/core/tests/webkit/apk_with_native_libs/ondisk/AndroidManifest.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- * Copyright (C) 2017 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="com.android.webviewloading_test_on_disk"
-    android:versionCode="1"
-    android:versionName="0.0.0.1">
-
-    <application android:label="WebView Loading Test APK"
-      android:multiArch="true">
-        <meta-data android:name="com.android.webview.WebViewLibrary"
-            android:value="libwebviewtest_jni.so" />
-    </application>
-</manifest>
diff --git a/core/tests/webkit/unit_tests_src/com/android/webkit/WebViewLibraryLoaderTest.java b/core/tests/webkit/unit_tests_src/com/android/webkit/WebViewLibraryLoaderTest.java
deleted file mode 100644
index e2f2d37..0000000
--- a/core/tests/webkit/unit_tests_src/com/android/webkit/WebViewLibraryLoaderTest.java
+++ /dev/null
@@ -1,329 +0,0 @@
-/*
- * Copyright (C) 2017 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.
- */
-
-package android.webkit;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
-import android.os.Build;
-import android.os.Bundle;
-import android.util.Log;
-
-import android.support.test.filters.MediumTest;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
-import android.support.test.InstrumentationRegistry;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * Unit tests for {@link WebViewLibraryLoader}.
- * Use the following command to run these tests:
- * make WebViewLoadingTests \
- * && adb install -r -d \
- * ${ANDROID_PRODUCT_OUT}/data/app/WebViewLoadingTests/WebViewLoadingTests.apk \
- * && adb shell am instrument -e class 'android.webkit.WebViewLibraryLoaderTest' -w \
- * 'com.android.webkit.tests/android.support.test.runner.AndroidJUnitRunner'
- */
-@RunWith(AndroidJUnit4.class)
-public final class WebViewLibraryLoaderTest {
-    private static final String WEBVIEW_LIBS_ON_DISK_TEST_APK =
-            "com.android.webviewloading_test_on_disk";
-    private static final String WEBVIEW_LIBS_IN_APK_TEST_APK =
-            "com.android.webviewloading_test_from_apk";
-    private static final String WEBVIEW_LOADING_TEST_NATIVE_LIB = "libwebviewtest_jni.so";
-
-    private PackageInfo webviewOnDiskPackageInfo;
-    private PackageInfo webviewFromApkPackageInfo;
-
-    @Before public void setUp() throws PackageManager.NameNotFoundException {
-        PackageManager pm = InstrumentationRegistry.getContext().getPackageManager();
-        webviewOnDiskPackageInfo =
-                pm.getPackageInfo(WEBVIEW_LIBS_ON_DISK_TEST_APK, PackageManager.GET_META_DATA);
-        webviewFromApkPackageInfo =
-                pm.getPackageInfo(WEBVIEW_LIBS_IN_APK_TEST_APK, PackageManager.GET_META_DATA);
-    }
-
-    private static boolean is64BitDevice() {
-        return Build.SUPPORTED_64_BIT_ABIS.length > 0;
-    }
-
-    // We test the getWebViewNativeLibraryDirectory method here because it handled several different
-    // cases/combinations and it seems unnecessary to create one test-apk for each such combination
-    // and arch.
-
-    /**
-     * Ensure we fetch the correct native library directories in the multi-arch case where
-     * the primary ABI is 64-bit.
-     */
-    @SmallTest
-    @Test public void testGetWebViewLibDirMultiArchPrimary64bit() {
-        final String nativeLib = "nativeLib";
-        final String secondaryNativeLib = "secondaryNativeLib";
-        PackageInfo packageInfo = new PackageInfo();
-        ApplicationInfo ai = new ApplicationInfoBuilder().
-                // See VMRuntime.ABI_TO_INSTRUCTION_SET_MAP
-                setPrimaryCpuAbi("arm64-v8a").
-                setNativeLibraryDir(nativeLib).
-                setSecondaryCpuAbi("armeabi").
-                setSecondaryNativeLibraryDir(secondaryNativeLib).
-                create();
-        packageInfo.applicationInfo = ai;
-        String actual32Lib =
-                WebViewLibraryLoader.getWebViewNativeLibraryDirectory(ai, false /* is64bit */);
-        String actual64Lib =
-                WebViewLibraryLoader.getWebViewNativeLibraryDirectory(ai, true /* is64bit */);
-        assertEquals(nativeLib, actual64Lib);
-        assertEquals(secondaryNativeLib, actual32Lib);
-    }
-
-    /**
-     * Ensure we fetch the correct native library directory in the 64-bit single-arch case.
-     */
-    @SmallTest
-    @Test public void testGetWebViewLibDirSingleArch64bit() {
-        final String nativeLib = "nativeLib";
-        PackageInfo packageInfo = new PackageInfo();
-        ApplicationInfo ai = new ApplicationInfoBuilder().
-                // See VMRuntime.ABI_TO_INSTRUCTION_SET_MAP
-                setPrimaryCpuAbi("arm64-v8a").
-                setNativeLibraryDir(nativeLib).
-                create();
-        packageInfo.applicationInfo = ai;
-        String actual64Lib =
-                WebViewLibraryLoader.getWebViewNativeLibraryDirectory(ai, true /* is64bit */);
-        assertEquals(nativeLib, actual64Lib);
-    }
-
-    /**
-     * Ensure we fetch the correct native library directory in the 32-bit single-arch case.
-     */
-    @SmallTest
-    @Test public void testGetWebViewLibDirSingleArch32bit() {
-        final String nativeLib = "nativeLib";
-        PackageInfo packageInfo = new PackageInfo();
-        ApplicationInfo ai = new ApplicationInfoBuilder().
-                // See VMRuntime.ABI_TO_INSTRUCTION_SET_MAP
-                setPrimaryCpuAbi("armeabi-v7a").
-                setNativeLibraryDir(nativeLib).
-                create();
-        packageInfo.applicationInfo = ai;
-        String actual32Lib =
-                WebViewLibraryLoader.getWebViewNativeLibraryDirectory(ai, false /* is64bit */);
-        assertEquals(nativeLib, actual32Lib);
-    }
-
-    /**
-     * Ensure we fetch the correct 32-bit library path from an APK with 32-bit and 64-bit
-     * libraries unzipped onto disk.
-     */
-    @MediumTest
-    @Test public void testGetWebViewLibraryPathOnDisk32Bit()
-            throws WebViewFactory.MissingWebViewPackageException {
-        WebViewLibraryLoader.WebViewNativeLibrary actualNativeLib =
-                WebViewLibraryLoader.getWebViewNativeLibrary(
-                        webviewOnDiskPackageInfo, false /* is64bit */);
-        String expectedLibaryDirectory = is64BitDevice() ?
-                webviewOnDiskPackageInfo.applicationInfo.secondaryNativeLibraryDir :
-                webviewOnDiskPackageInfo.applicationInfo.nativeLibraryDir;
-        String lib32Path = expectedLibaryDirectory + "/" + WEBVIEW_LOADING_TEST_NATIVE_LIB;
-        assertEquals("Fetched incorrect 32-bit path from WebView library.",
-                lib32Path, actualNativeLib.path);
-    }
-
-    /**
-     * Ensure we fetch the correct 64-bit library path from an APK with 32-bit and 64-bit
-     * libraries unzipped onto disk.
-     */
-    @MediumTest
-    @Test public void testGetWebViewLibraryPathOnDisk64Bit()
-            throws WebViewFactory.MissingWebViewPackageException {
-        // A 32-bit device will not unpack 64-bit libraries.
-        if (!is64BitDevice()) return;
-
-        WebViewLibraryLoader.WebViewNativeLibrary actualNativeLib =
-                WebViewLibraryLoader.getWebViewNativeLibrary(
-                        webviewOnDiskPackageInfo, true /* is64bit */);
-        String lib64Path = webviewOnDiskPackageInfo.applicationInfo.nativeLibraryDir
-                + "/" + WEBVIEW_LOADING_TEST_NATIVE_LIB;
-        assertEquals("Fetched incorrect 64-bit path from WebView library.",
-                lib64Path, actualNativeLib.path);
-    }
-
-    /**
-     * Check the size of the 32-bit library fetched from an APK with both 32-bit and 64-bit
-     * libraries unzipped onto disk.
-     */
-    @MediumTest
-    @Test public void testGetWebView32BitLibrarySizeOnDiskIsNonZero()
-            throws WebViewFactory.MissingWebViewPackageException {
-        WebViewLibraryLoader.WebViewNativeLibrary actual32BitNativeLib =
-                WebViewLibraryLoader.getWebViewNativeLibrary(
-                        webviewOnDiskPackageInfo, false /* is64bit */);
-        assertTrue(actual32BitNativeLib.size > 0);
-    }
-
-    /**
-     * Check the size of the 64-bit library fetched from an APK with both 32-bit and 64-bit
-     * libraries unzipped onto disk.
-     */
-    @MediumTest
-    @Test public void testGetWebView64BitLibrarySizeOnDiskIsNonZero()
-            throws WebViewFactory.MissingWebViewPackageException {
-        // A 32-bit device will not unpack 64-bit libraries.
-        if (!is64BitDevice()) return;
-        WebViewLibraryLoader.WebViewNativeLibrary actual64BitNativeLib =
-                WebViewLibraryLoader.getWebViewNativeLibrary(
-                        webviewOnDiskPackageInfo, true /* is64bit */);
-        assertTrue(actual64BitNativeLib.size > 0);
-    }
-
-    /**
-     * Ensure we fetch the correct 32-bit library path from an APK with both 32-bit and 64-bit
-     * libraries stored uncompressed in the APK.
-     */
-    @MediumTest
-    @Test public void testGetWebView32BitLibraryPathFromApk()
-            throws WebViewFactory.MissingWebViewPackageException, IOException {
-        WebViewLibraryLoader.WebViewNativeLibrary actualNativeLib =
-                WebViewLibraryLoader.getWebViewNativeLibrary(
-                        webviewFromApkPackageInfo, false /* is64bit */);
-        // The device might have ignored the app's request to not extract native libs, so first
-        // check whether the library paths match those of extracted libraries.
-        String expectedLibaryDirectory = is64BitDevice() ?
-                webviewFromApkPackageInfo.applicationInfo.secondaryNativeLibraryDir :
-                webviewFromApkPackageInfo.applicationInfo.nativeLibraryDir;
-        String lib32Path = expectedLibaryDirectory + "/" + WEBVIEW_LOADING_TEST_NATIVE_LIB;
-        if (lib32Path.equals(actualNativeLib.path)) {
-            // If the libraries were extracted to disk, ensure that they're actually there.
-            assertTrue("The given WebView library doesn't exist.",
-                    new File(actualNativeLib.path).exists());
-        } else { // The libraries were not extracted to disk.
-            assertIsValidZipEntryPath(actualNativeLib.path,
-                    webviewFromApkPackageInfo.applicationInfo.sourceDir);
-        }
-    }
-
-    /**
-     * Ensure we fetch the correct 32-bit library path from an APK with both 32-bit and 64-bit
-     * libraries stored uncompressed in the APK.
-     */
-    @MediumTest
-    @Test public void testGetWebView64BitLibraryPathFromApk()
-            throws WebViewFactory.MissingWebViewPackageException, IOException {
-        // A 32-bit device will not unpack 64-bit libraries.
-        if (!is64BitDevice()) return;
-
-        WebViewLibraryLoader.WebViewNativeLibrary actualNativeLib =
-                WebViewLibraryLoader.getWebViewNativeLibrary(
-                        webviewFromApkPackageInfo, true /* is64bit */);
-        assertIsValidZipEntryPath(actualNativeLib.path,
-                webviewFromApkPackageInfo.applicationInfo.sourceDir);
-    }
-
-    private static void assertIsValidZipEntryPath(String path, String zipFilePath)
-            throws IOException {
-        assertTrue("The path to a zip entry must start with the path to the zip file itself."
-            + "Expected zip path: " + zipFilePath + ", actual zip entry: " + path,
-            path.startsWith(zipFilePath + "!/"));
-        String[] pathSplit = path.split("!/");
-        assertEquals("A zip file path should have two parts, the zip path, and the zip entry path.",
-                2, pathSplit.length);
-        ZipFile zipFile = new ZipFile(pathSplit[0]);
-        assertNotNull("Path doesn't point to a valid zip entry: " + path,
-                zipFile.getEntry(pathSplit[1]));
-    }
-
-
-    /**
-     * Check the size of the 32-bit library fetched from an APK with both 32-bit and 64-bit
-     * libraries stored uncompressed in the APK.
-     */
-    @MediumTest
-    @Test public void testGetWebView32BitLibrarySizeFromApkIsNonZero()
-            throws WebViewFactory.MissingWebViewPackageException {
-        WebViewLibraryLoader.WebViewNativeLibrary actual32BitNativeLib =
-                WebViewLibraryLoader.getWebViewNativeLibrary(
-                        webviewFromApkPackageInfo, false /* is64bit */);
-        assertTrue(actual32BitNativeLib.size > 0);
-    }
-
-    /**
-     * Check the size of the 64-bit library fetched from an APK with both 32-bit and 64-bit
-     * libraries stored uncompressed in the APK.
-     */
-    @MediumTest
-    @Test public void testGetWebView64BitLibrarySizeFromApkIsNonZero()
-            throws WebViewFactory.MissingWebViewPackageException {
-        // A 32-bit device will not unpack 64-bit libraries.
-        if (!is64BitDevice()) return;
-
-        WebViewLibraryLoader.WebViewNativeLibrary actual64BitNativeLib =
-                WebViewLibraryLoader.getWebViewNativeLibrary(
-                        webviewFromApkPackageInfo, true /* is64bit */);
-        assertTrue(actual64BitNativeLib.size > 0);
-    }
-
-    private static class ApplicationInfoBuilder {
-        ApplicationInfo ai;
-
-        public ApplicationInfoBuilder setPrimaryCpuAbi(String primaryCpuAbi) {
-            ai.primaryCpuAbi = primaryCpuAbi;
-            return this;
-        }
-
-        public ApplicationInfoBuilder setSecondaryCpuAbi(String secondaryCpuAbi) {
-            ai.secondaryCpuAbi = secondaryCpuAbi;
-            return this;
-        }
-
-        public ApplicationInfoBuilder setNativeLibraryDir(String nativeLibraryDir) {
-            ai.nativeLibraryDir = nativeLibraryDir;
-            return this;
-        }
-
-        public ApplicationInfoBuilder setSecondaryNativeLibraryDir(
-                String secondaryNativeLibraryDir) {
-            ai.secondaryNativeLibraryDir = secondaryNativeLibraryDir;
-            return this;
-        }
-
-        public ApplicationInfoBuilder setMetaData(Bundle metaData) {
-            ai.metaData = metaData;
-            return this;
-        }
-
-        public ApplicationInfoBuilder() {
-            ai = new android.content.pm.ApplicationInfo();
-        }
-
-        public ApplicationInfo create() {
-            return ai;
-        }
-    }
-}
diff --git a/data/etc/framework-sysconfig.xml b/data/etc/framework-sysconfig.xml
index ae6a7f6..b0d2de1 100644
--- a/data/etc/framework-sysconfig.xml
+++ b/data/etc/framework-sysconfig.xml
@@ -28,7 +28,7 @@
     <!-- Whitelist of what components are permitted as backup data transports.  The
          'service' attribute here is a flattened ComponentName string. -->
     <backup-transport-whitelisted-service
-        service="android/com.android.internal.backup.LocalTransportService" />
+        service="com.android.localtransport/.LocalTransportService" />
 
     <!-- Whitelist of bundled applications which all handle URLs to their websites by default -->
     <app-link package="com.android.carrierdefaultapp" />
diff --git a/data/etc/platform.xml b/data/etc/platform.xml
index 6f52fbd..73c10d2 100644
--- a/data/etc/platform.xml
+++ b/data/etc/platform.xml
@@ -188,6 +188,12 @@
     <library name="android.test.runner"
             file="/system/framework/android.test.runner.impl.jar" />
 
+    <!-- In BOOT_JARS historically, and now added to legacy applications. -->
+    <library name="android.hidl.base-V1.0-java"
+            file="/system/framework/android.hidl.base-V1.0-java.jar" />
+    <library name="android.hidl.manager-V1.0-java"
+            file="/system/framework/android.hidl.manager-V1.0-java.jar" />
+
     <!-- These are the standard packages that are white-listed to always have internet
          access while in power save mode, even if they aren't in the foreground. -->
     <allow-in-power-save package="com.android.providers.downloads" />
@@ -204,6 +210,11 @@
     <allow-in-power-save-except-idle package="com.android.providers.calendar" />
     <allow-in-power-save-except-idle package="com.android.providers.contacts" />
 
+    <!-- The PAC proxy process must have network access, otherwise no app will
+         be able to connect to the internet when such a proxy is in use, since
+         all outgoing connections originate from this app. -->
+    <allow-in-power-save-except-idle package="com.android.proxyhandler" />
+
     <!-- These are the packages that are white-listed to be able to run as system user -->
     <system-user-whitelisted-app package="com.android.settings" />
 
diff --git a/data/etc/privapp-permissions-platform.xml b/data/etc/privapp-permissions-platform.xml
index 616a8d6..114c228 100644
--- a/data/etc/privapp-permissions-platform.xml
+++ b/data/etc/privapp-permissions-platform.xml
@@ -281,6 +281,7 @@
         <permission name="android.permission.MANAGE_FINGERPRINT"/>
         <permission name="android.permission.MODIFY_PHONE_STATE"/>
         <permission name="android.permission.READ_SEARCH_INDEXABLES"/>
+        <permission name="android.permission.WRITE_SETTINGS_HOMEPAGE_DATA"/>
     </privapp-permissions>
 
     <privapp-permissions package="com.android.sharedstoragebackup">
diff --git a/data/fonts/Android.mk b/data/fonts/Android.mk
index 76eb4e6..454dceb 100644
--- a/data/fonts/Android.mk
+++ b/data/fonts/Android.mk
@@ -89,23 +89,7 @@
 
 LOCAL_MODULE := fonts.xml
 LOCAL_MODULE_CLASS := ETC
-
-AOSP_FONTS_FILE := frameworks/base/data/fonts/fonts.xml
-
-ifdef ADDITIONAL_FONTS_FILE
-ADDITIONAL_FONTS_SCRIPT := frameworks/base/tools/fonts/add_additional_fonts.py
-ADD_ADDITIONAL_FONTS := $(local-generated-sources-dir)/fonts.xml
-
-$(ADD_ADDITIONAL_FONTS): PRIVATE_SCRIPT := $(ADDITIONAL_FONTS_SCRIPT)
-$(ADD_ADDITIONAL_FONTS): PRIVATE_ADDITIONAL_FONTS_FILE := $(ADDITIONAL_FONTS_FILE)
-$(ADD_ADDITIONAL_FONTS): $(ADDITIONAL_FONTS_SCRIPT) $(AOSP_FONTS_FILE) $(ADDITIONAL_FONTS_FILE)
-	rm -f $@
-	python $(PRIVATE_SCRIPT) $@ $(PRIVATE_ADDITIONAL_FONTS_FILE)
-else
-ADD_ADDITIONAL_FONTS := $(AOSP_FONTS_FILE)
-endif
-
-LOCAL_PREBUILT_MODULE_FILE := $(ADD_ADDITIONAL_FONTS)
+LOCAL_PREBUILT_MODULE_FILE := frameworks/base/data/fonts/fonts.xml
 
 include $(BUILD_PREBUILT)
 
diff --git a/data/keyboards/Vendor_054c_Product_0268.kl b/data/keyboards/Vendor_054c_Product_0268.kl
index 522db3c..b463dd8 100644
--- a/data/keyboards/Vendor_054c_Product_0268.kl
+++ b/data/keyboards/Vendor_054c_Product_0268.kl
@@ -21,8 +21,6 @@
 key 0x126    DPAD_DOWN
 key 0x127    DPAD_LEFT
 
-key 0x120    BUTTON_SELECT
-key 0x123    BUTTON_START
 key 0x12e    BUTTON_A
 key 0x12d    BUTTON_B
 key 0x12f    BUTTON_X
@@ -34,9 +32,6 @@
 key 0x121    BUTTON_THUMBL
 key 0x122    BUTTON_THUMBR
 
-# PS key
-key 0x2d0    BUTTON_MODE
-
 # Left Analog Stick
 axis 0x00    X
 axis 0x01    Y
@@ -74,3 +69,11 @@
 
 # Square
 # axis 0x37
+
+# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
+# Select
+key 0x120    BUTTON_SELECT
+# Start
+key 0x123    BUTTON_START
+# PS key
+key 0x2d0    BUTTON_MODE
diff --git a/data/keyboards/Vendor_054c_Product_0268_Version_8000.kl b/data/keyboards/Vendor_054c_Product_0268_Version_8000.kl
new file mode 100644
index 0000000..3d93f0f
--- /dev/null
+++ b/data/keyboards/Vendor_054c_Product_0268_Version_8000.kl
@@ -0,0 +1,57 @@
+# Copyright (C) 2018 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.
+
+#
+# Sony Playstation(R)3 Controller
+# - Version 0x8000 and 0x8100 are for Linux hid-sony driver >=4.12
+#   and when connected over Bluetooth
+#
+
+key 0x220   DPAD_UP
+key 0x223   DPAD_RIGHT
+key 0x221   DPAD_DOWN
+key 0x222   DPAD_LEFT
+
+key 0x130   BUTTON_A
+key 0x131   BUTTON_B
+key 0x134   BUTTON_X
+key 0x133   BUTTON_Y
+key 0x136   BUTTON_L1
+key 0x137   BUTTON_R1
+key 0x138   BUTTON_L2
+key 0x139   BUTTON_R2
+key 0x13d   BUTTON_THUMBL
+key 0x13e   BUTTON_THUMBR
+
+# left Analog Stick
+axis 0x00   X
+axis 0x01   Y
+
+# Right Analog Stick
+axis 0x03   Z
+axis 0x04   RZ
+
+# L2 trigger
+axis 0x02   LTRIGGER
+
+# R2 trigger
+axis 0x05   RTRIGGER
+
+# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
+# Select
+key 0x13a   BUTTON_SELECT
+# Start
+key 0x13b   BUTTON_START
+# PS key
+key 0x13c   BUTTON_MODE
diff --git a/data/keyboards/Vendor_054c_Product_0268_Version_8100.kl b/data/keyboards/Vendor_054c_Product_0268_Version_8100.kl
new file mode 100644
index 0000000..3d93f0f
--- /dev/null
+++ b/data/keyboards/Vendor_054c_Product_0268_Version_8100.kl
@@ -0,0 +1,57 @@
+# Copyright (C) 2018 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.
+
+#
+# Sony Playstation(R)3 Controller
+# - Version 0x8000 and 0x8100 are for Linux hid-sony driver >=4.12
+#   and when connected over Bluetooth
+#
+
+key 0x220   DPAD_UP
+key 0x223   DPAD_RIGHT
+key 0x221   DPAD_DOWN
+key 0x222   DPAD_LEFT
+
+key 0x130   BUTTON_A
+key 0x131   BUTTON_B
+key 0x134   BUTTON_X
+key 0x133   BUTTON_Y
+key 0x136   BUTTON_L1
+key 0x137   BUTTON_R1
+key 0x138   BUTTON_L2
+key 0x139   BUTTON_R2
+key 0x13d   BUTTON_THUMBL
+key 0x13e   BUTTON_THUMBR
+
+# left Analog Stick
+axis 0x00   X
+axis 0x01   Y
+
+# Right Analog Stick
+axis 0x03   Z
+axis 0x04   RZ
+
+# L2 trigger
+axis 0x02   LTRIGGER
+
+# R2 trigger
+axis 0x05   RTRIGGER
+
+# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
+# Select
+key 0x13a   BUTTON_SELECT
+# Start
+key 0x13b   BUTTON_START
+# PS key
+key 0x13c   BUTTON_MODE
diff --git a/data/keyboards/Vendor_054c_Product_0268_Version_8111.kl b/data/keyboards/Vendor_054c_Product_0268_Version_8111.kl
new file mode 100644
index 0000000..5fe35f7
--- /dev/null
+++ b/data/keyboards/Vendor_054c_Product_0268_Version_8111.kl
@@ -0,0 +1,57 @@
+# Copyright (C) 2018 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.
+
+#
+# Sony Playstation(R)3 Controller
+# - Version 0x8111 is for Linux hid-sony driver >=4.12 and when
+#   connected over USB
+#
+
+key 0x220   DPAD_UP
+key 0x223   DPAD_RIGHT
+key 0x221   DPAD_DOWN
+key 0x222   DPAD_LEFT
+
+key 0x130   BUTTON_A
+key 0x131   BUTTON_B
+key 0x134   BUTTON_X
+key 0x133   BUTTON_Y
+key 0x136   BUTTON_L1
+key 0x137   BUTTON_R1
+key 0x138   BUTTON_L2
+key 0x139   BUTTON_R2
+key 0x13d   BUTTON_THUMBL
+key 0x13e   BUTTON_THUMBR
+
+# left Analog Stick
+axis 0x00   X
+axis 0x01   Y
+
+# Right Analog Stick
+axis 0x03   Z
+axis 0x04   RZ
+
+# L2 trigger
+axis 0x02   LTRIGGER
+
+# R2 trigger
+axis 0x05   RTRIGGER
+
+# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
+# Select
+key 0x13a   BUTTON_SELECT
+# Start
+key 0x13b   BUTTON_START
+# PS key
+key 0x13c   BUTTON_MODE
diff --git a/data/keyboards/Vendor_054c_Product_05c4.kl b/data/keyboards/Vendor_054c_Product_05c4.kl
index a1284a4..cd7ab1f 100644
--- a/data/keyboards/Vendor_054c_Product_05c4.kl
+++ b/data/keyboards/Vendor_054c_Product_05c4.kl
@@ -60,7 +60,6 @@
 key 0x138    BUTTON_SELECT
 # Options
 key 0x139    BUTTON_START
-
 # PS key
 key 0x13c    BUTTON_MODE
 
diff --git a/data/keyboards/Vendor_054c_Product_05c4_Version_8000.kl b/data/keyboards/Vendor_054c_Product_05c4_Version_8000.kl
new file mode 100644
index 0000000..19fcb86
--- /dev/null
+++ b/data/keyboards/Vendor_054c_Product_05c4_Version_8000.kl
@@ -0,0 +1,68 @@
+# Copyright (C) 2018 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.
+
+#
+# Sony Playstation(R) DualShock 4 Controller
+# - Version 0x8000 and 0x8100 are for Linux hid-sony driver >=4.10
+#   and when connected over Bluetooth
+#
+
+
+# Mapping according to https://developer.android.com/training/game-controllers/controller-input.html
+
+# Square
+key 0x134   BUTTON_X
+# Cross
+key 0x130   BUTTON_A
+# Circle
+key 0x131   BUTTON_B
+# Triangle
+key 0x133   BUTTON_Y
+
+key 0x136   BUTTON_L1
+key 0x137   BUTTON_R1
+key 0x138   BUTTON_L2
+key 0x139   BUTTON_R2
+
+# L2 axis
+axis 0x02   LTRIGGER
+# R2 axis
+axis 0x05   RTRIGGER
+
+# Left Analog Stick
+axis 0x00   X
+axis 0x01   Y
+# Right Analog Stick
+axis 0x03   Z
+axis 0x04   RZ
+
+# Left stick click
+key 0x13d   BUTTON_THUMBL
+# Right stick click
+key 0x13e   BUTTON_THUMBR
+
+# Hat
+axis 0x10   HAT_X
+axis 0x11   HAT_Y
+
+# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
+# Share
+key 0x13a   BUTTON_SELECT
+# Options
+key 0x13b   BUTTON_START
+# PS key
+key 0x13c   BUTTON_MODE
+
+# In kernel versions >= 4.10, the touchpad is a separate input device,
+# so the touchpad button click will not be covered by this layout.
diff --git a/data/keyboards/Vendor_054c_Product_05c4_Version_8100.kl b/data/keyboards/Vendor_054c_Product_05c4_Version_8100.kl
new file mode 100644
index 0000000..19fcb86
--- /dev/null
+++ b/data/keyboards/Vendor_054c_Product_05c4_Version_8100.kl
@@ -0,0 +1,68 @@
+# Copyright (C) 2018 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.
+
+#
+# Sony Playstation(R) DualShock 4 Controller
+# - Version 0x8000 and 0x8100 are for Linux hid-sony driver >=4.10
+#   and when connected over Bluetooth
+#
+
+
+# Mapping according to https://developer.android.com/training/game-controllers/controller-input.html
+
+# Square
+key 0x134   BUTTON_X
+# Cross
+key 0x130   BUTTON_A
+# Circle
+key 0x131   BUTTON_B
+# Triangle
+key 0x133   BUTTON_Y
+
+key 0x136   BUTTON_L1
+key 0x137   BUTTON_R1
+key 0x138   BUTTON_L2
+key 0x139   BUTTON_R2
+
+# L2 axis
+axis 0x02   LTRIGGER
+# R2 axis
+axis 0x05   RTRIGGER
+
+# Left Analog Stick
+axis 0x00   X
+axis 0x01   Y
+# Right Analog Stick
+axis 0x03   Z
+axis 0x04   RZ
+
+# Left stick click
+key 0x13d   BUTTON_THUMBL
+# Right stick click
+key 0x13e   BUTTON_THUMBR
+
+# Hat
+axis 0x10   HAT_X
+axis 0x11   HAT_Y
+
+# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
+# Share
+key 0x13a   BUTTON_SELECT
+# Options
+key 0x13b   BUTTON_START
+# PS key
+key 0x13c   BUTTON_MODE
+
+# In kernel versions >= 4.10, the touchpad is a separate input device,
+# so the touchpad button click will not be covered by this layout.
diff --git a/data/keyboards/Vendor_054c_Product_05c4_Version_8111.kl b/data/keyboards/Vendor_054c_Product_05c4_Version_8111.kl
new file mode 100644
index 0000000..d38bdec
--- /dev/null
+++ b/data/keyboards/Vendor_054c_Product_05c4_Version_8111.kl
@@ -0,0 +1,68 @@
+# Copyright (C) 2018 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.
+
+#
+# Sony Playstation(R) DualShock 4 Controller
+# - Version 0x8111 is for Linux hid-sony driver >=4.10 and when
+#   connected over USB
+#
+
+
+# Mapping according to https://developer.android.com/training/game-controllers/controller-input.html
+
+# Square
+key 0x134   BUTTON_X
+# Cross
+key 0x130   BUTTON_A
+# Circle
+key 0x131   BUTTON_B
+# Triangle
+key 0x133   BUTTON_Y
+
+key 0x136   BUTTON_L1
+key 0x137   BUTTON_R1
+key 0x138   BUTTON_L2
+key 0x139   BUTTON_R2
+
+# L2 axis
+axis 0x02   LTRIGGER
+# R2 axis
+axis 0x05   RTRIGGER
+
+# Left Analog Stick
+axis 0x00   X
+axis 0x01   Y
+# Right Analog Stick
+axis 0x03   Z
+axis 0x04   RZ
+
+# Left stick click
+key 0x13d   BUTTON_THUMBL
+# Right stick click
+key 0x13e   BUTTON_THUMBR
+
+# Hat
+axis 0x10   HAT_X
+axis 0x11   HAT_Y
+
+# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
+# Share
+key 0x13a   BUTTON_SELECT
+# Options
+key 0x13b   BUTTON_START
+# PS key
+key 0x13c   BUTTON_MODE
+
+# In kernel versions >= 4.10, the touchpad is a separate input device,
+# so the touchpad button click will not be covered by this layout.
diff --git a/data/keyboards/Vendor_054c_Product_09cc.kl b/data/keyboards/Vendor_054c_Product_09cc.kl
index a1284a4..cd7ab1f 100644
--- a/data/keyboards/Vendor_054c_Product_09cc.kl
+++ b/data/keyboards/Vendor_054c_Product_09cc.kl
@@ -60,7 +60,6 @@
 key 0x138    BUTTON_SELECT
 # Options
 key 0x139    BUTTON_START
-
 # PS key
 key 0x13c    BUTTON_MODE
 
diff --git a/data/keyboards/Vendor_054c_Product_09cc_Version_8000.kl b/data/keyboards/Vendor_054c_Product_09cc_Version_8000.kl
new file mode 100644
index 0000000..19fcb86
--- /dev/null
+++ b/data/keyboards/Vendor_054c_Product_09cc_Version_8000.kl
@@ -0,0 +1,68 @@
+# Copyright (C) 2018 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.
+
+#
+# Sony Playstation(R) DualShock 4 Controller
+# - Version 0x8000 and 0x8100 are for Linux hid-sony driver >=4.10
+#   and when connected over Bluetooth
+#
+
+
+# Mapping according to https://developer.android.com/training/game-controllers/controller-input.html
+
+# Square
+key 0x134   BUTTON_X
+# Cross
+key 0x130   BUTTON_A
+# Circle
+key 0x131   BUTTON_B
+# Triangle
+key 0x133   BUTTON_Y
+
+key 0x136   BUTTON_L1
+key 0x137   BUTTON_R1
+key 0x138   BUTTON_L2
+key 0x139   BUTTON_R2
+
+# L2 axis
+axis 0x02   LTRIGGER
+# R2 axis
+axis 0x05   RTRIGGER
+
+# Left Analog Stick
+axis 0x00   X
+axis 0x01   Y
+# Right Analog Stick
+axis 0x03   Z
+axis 0x04   RZ
+
+# Left stick click
+key 0x13d   BUTTON_THUMBL
+# Right stick click
+key 0x13e   BUTTON_THUMBR
+
+# Hat
+axis 0x10   HAT_X
+axis 0x11   HAT_Y
+
+# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
+# Share
+key 0x13a   BUTTON_SELECT
+# Options
+key 0x13b   BUTTON_START
+# PS key
+key 0x13c   BUTTON_MODE
+
+# In kernel versions >= 4.10, the touchpad is a separate input device,
+# so the touchpad button click will not be covered by this layout.
diff --git a/data/keyboards/Vendor_054c_Product_09cc_Version_8100.kl b/data/keyboards/Vendor_054c_Product_09cc_Version_8100.kl
new file mode 100644
index 0000000..19fcb86
--- /dev/null
+++ b/data/keyboards/Vendor_054c_Product_09cc_Version_8100.kl
@@ -0,0 +1,68 @@
+# Copyright (C) 2018 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.
+
+#
+# Sony Playstation(R) DualShock 4 Controller
+# - Version 0x8000 and 0x8100 are for Linux hid-sony driver >=4.10
+#   and when connected over Bluetooth
+#
+
+
+# Mapping according to https://developer.android.com/training/game-controllers/controller-input.html
+
+# Square
+key 0x134   BUTTON_X
+# Cross
+key 0x130   BUTTON_A
+# Circle
+key 0x131   BUTTON_B
+# Triangle
+key 0x133   BUTTON_Y
+
+key 0x136   BUTTON_L1
+key 0x137   BUTTON_R1
+key 0x138   BUTTON_L2
+key 0x139   BUTTON_R2
+
+# L2 axis
+axis 0x02   LTRIGGER
+# R2 axis
+axis 0x05   RTRIGGER
+
+# Left Analog Stick
+axis 0x00   X
+axis 0x01   Y
+# Right Analog Stick
+axis 0x03   Z
+axis 0x04   RZ
+
+# Left stick click
+key 0x13d   BUTTON_THUMBL
+# Right stick click
+key 0x13e   BUTTON_THUMBR
+
+# Hat
+axis 0x10   HAT_X
+axis 0x11   HAT_Y
+
+# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
+# Share
+key 0x13a   BUTTON_SELECT
+# Options
+key 0x13b   BUTTON_START
+# PS key
+key 0x13c   BUTTON_MODE
+
+# In kernel versions >= 4.10, the touchpad is a separate input device,
+# so the touchpad button click will not be covered by this layout.
diff --git a/data/keyboards/Vendor_054c_Product_09cc_Version_8111.kl b/data/keyboards/Vendor_054c_Product_09cc_Version_8111.kl
new file mode 100644
index 0000000..d38bdec
--- /dev/null
+++ b/data/keyboards/Vendor_054c_Product_09cc_Version_8111.kl
@@ -0,0 +1,68 @@
+# Copyright (C) 2018 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.
+
+#
+# Sony Playstation(R) DualShock 4 Controller
+# - Version 0x8111 is for Linux hid-sony driver >=4.10 and when
+#   connected over USB
+#
+
+
+# Mapping according to https://developer.android.com/training/game-controllers/controller-input.html
+
+# Square
+key 0x134   BUTTON_X
+# Cross
+key 0x130   BUTTON_A
+# Circle
+key 0x131   BUTTON_B
+# Triangle
+key 0x133   BUTTON_Y
+
+key 0x136   BUTTON_L1
+key 0x137   BUTTON_R1
+key 0x138   BUTTON_L2
+key 0x139   BUTTON_R2
+
+# L2 axis
+axis 0x02   LTRIGGER
+# R2 axis
+axis 0x05   RTRIGGER
+
+# Left Analog Stick
+axis 0x00   X
+axis 0x01   Y
+# Right Analog Stick
+axis 0x03   Z
+axis 0x04   RZ
+
+# Left stick click
+key 0x13d   BUTTON_THUMBL
+# Right stick click
+key 0x13e   BUTTON_THUMBR
+
+# Hat
+axis 0x10   HAT_X
+axis 0x11   HAT_Y
+
+# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
+# Share
+key 0x13a   BUTTON_SELECT
+# Options
+key 0x13b   BUTTON_START
+# PS key
+key 0x13c   BUTTON_MODE
+
+# In kernel versions >= 4.10, the touchpad is a separate input device,
+# so the touchpad button click will not be covered by this layout.
diff --git a/data/keyboards/Vendor_054c_Product_0ba0.kl b/data/keyboards/Vendor_054c_Product_0ba0.kl
new file mode 100644
index 0000000..bc6fc3b
--- /dev/null
+++ b/data/keyboards/Vendor_054c_Product_0ba0.kl
@@ -0,0 +1,70 @@
+# Copyright (C) 2018 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.
+
+#
+# Sony Playstation(R) DualShock 4 USB Dongle
+#
+
+
+# Mapping according to https://developer.android.com/training/game-controllers/controller-input.html
+
+# Square
+key 0x130    BUTTON_X
+# Cross
+key 0x131    BUTTON_A
+# Circle
+key 0x132    BUTTON_B
+# Triangle
+key 0x133    BUTTON_Y
+
+key 0x134    BUTTON_L1
+key 0x135    BUTTON_R1
+key 0x136    BUTTON_L2
+key 0x137    BUTTON_R2
+
+# L2 axis
+axis 0x03   LTRIGGER
+# R2 axis
+axis 0x04   RTRIGGER
+
+
+# Left Analog Stick
+axis 0x00    X
+axis 0x01    Y
+# Right Analog Stick
+axis 0x02    Z
+axis 0x05    RZ
+
+# Left stick click
+key 0x13a    BUTTON_THUMBL
+# Right stick click
+key 0x13b    BUTTON_THUMBR
+
+# Hat
+axis 0x10 HAT_X
+axis 0x11 HAT_Y
+
+# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
+# Share
+key 0x138    BUTTON_SELECT
+# Options
+key 0x139    BUTTON_START
+# PS key
+key 0x13c    BUTTON_MODE
+
+# Touchpad press
+# The touchpad for this joystick will become a separate input device in future releases
+# and this button will be equivalent to left mouse button
+# Therefore, map it to KEYCODE_BUTTON_1 here to allow apps to still handle this on earlier versions
+key 0x13d   BUTTON_1
diff --git a/data/keyboards/Vendor_054c_Product_0ba0_Version_8111.kl b/data/keyboards/Vendor_054c_Product_0ba0_Version_8111.kl
new file mode 100644
index 0000000..8b85a38
--- /dev/null
+++ b/data/keyboards/Vendor_054c_Product_0ba0_Version_8111.kl
@@ -0,0 +1,67 @@
+# Copyright (C) 2018 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.
+
+#
+# Sony Playstation(R) DualShock 4 USB Dongle
+# - Version 0x8111 is for Linux hid-sony driver >=4.10
+#
+
+
+# Mapping according to https://developer.android.com/training/game-controllers/controller-input.html
+
+# Square
+key 0x134   BUTTON_X
+# Cross
+key 0x130   BUTTON_A
+# Circle
+key 0x131   BUTTON_B
+# Triangle
+key 0x133   BUTTON_Y
+
+key 0x136   BUTTON_L1
+key 0x137   BUTTON_R1
+key 0x138   BUTTON_L2
+key 0x139   BUTTON_R2
+
+# L2 axis
+axis 0x02   LTRIGGER
+# R2 axis
+axis 0x05   RTRIGGER
+
+# Left Analog Stick
+axis 0x00   X
+axis 0x01   Y
+# Right Analog Stick
+axis 0x03   Z
+axis 0x04   RZ
+
+# Left stick click
+key 0x13d   BUTTON_THUMBL
+# Right stick click
+key 0x13e   BUTTON_THUMBR
+
+# Hat
+axis 0x10   HAT_X
+axis 0x11   HAT_Y
+
+# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
+# Share
+key 0x13a   BUTTON_SELECT
+# Options
+key 0x13b   BUTTON_START
+# PS key
+key 0x13c   BUTTON_MODE
+
+# In kernel versions >= 4.10, the touchpad is a separate input device,
+# so the touchpad button click will not be covered by this layout.
diff --git a/graphics/java/android/graphics/BaseCanvas.java b/graphics/java/android/graphics/BaseCanvas.java
index 53e9826..fa37bed 100644
--- a/graphics/java/android/graphics/BaseCanvas.java
+++ b/graphics/java/android/graphics/BaseCanvas.java
@@ -28,11 +28,10 @@
 import android.text.SpannableString;
 import android.text.SpannedString;
 import android.text.TextUtils;
-import android.view.RecordingCanvas;
 
 /**
  * This class is a base class for Canvas's drawing operations. Any modifications here
- * should be accompanied by a similar modification to {@link RecordingCanvas}.
+ * should be accompanied by a similar modification to {@link BaseRecordingCanvas}.
  *
  * The purpose of this class is to minimize the cost of deciding between regular JNI
  * and @FastNative JNI to just the virtual call that Canvas already has.
diff --git a/core/java/android/view/RecordingCanvas.java b/graphics/java/android/graphics/BaseRecordingCanvas.java
similarity index 97%
rename from core/java/android/view/RecordingCanvas.java
rename to graphics/java/android/graphics/BaseRecordingCanvas.java
index 3364483..6e93691 100644
--- a/core/java/android/view/RecordingCanvas.java
+++ b/graphics/java/android/graphics/BaseRecordingCanvas.java
@@ -14,25 +14,12 @@
  * limitations under the License.
  */
 
-package android.view;
+package android.graphics;
 
 import android.annotation.ColorInt;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.Size;
-import android.graphics.BaseCanvas;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.Matrix;
-import android.graphics.NinePatch;
-import android.graphics.Paint;
-import android.graphics.Path;
-import android.graphics.Picture;
-import android.graphics.PorterDuff;
-import android.graphics.Rect;
-import android.graphics.RectF;
-import android.graphics.TemporaryBuffer;
 import android.text.GraphicsOperations;
 import android.text.MeasuredParagraph;
 import android.text.PrecomputedText;
@@ -49,9 +36,9 @@
  *
  * @hide
  */
-public class RecordingCanvas extends Canvas {
+public class BaseRecordingCanvas extends Canvas {
 
-    public RecordingCanvas(long nativeCanvas) {
+    public BaseRecordingCanvas(long nativeCanvas) {
         super(nativeCanvas);
     }
 
diff --git a/graphics/java/android/graphics/Bitmap.java b/graphics/java/android/graphics/Bitmap.java
index cea6c1c..9cbbf4e 100644
--- a/graphics/java/android/graphics/Bitmap.java
+++ b/graphics/java/android/graphics/Bitmap.java
@@ -1253,6 +1253,7 @@
             final RenderNode node = RenderNode.create("BitmapTemporary", null);
             node.setLeftTopRightBottom(0, 0, width, height);
             node.setClipToBounds(false);
+            node.setAllowForceDark(false);
             final DisplayListCanvas canvas = node.start(width, height);
             if (source.getWidth() != width || source.getHeight() != height) {
                 canvas.scale(width / (float) source.getWidth(),
diff --git a/graphics/java/android/graphics/BitmapRegionDecoder.java b/graphics/java/android/graphics/BitmapRegionDecoder.java
index 9b5027d..43282d3 100644
--- a/graphics/java/android/graphics/BitmapRegionDecoder.java
+++ b/graphics/java/android/graphics/BitmapRegionDecoder.java
@@ -17,6 +17,7 @@
 
 import android.annotation.UnsupportedAppUsage;
 import android.content.res.AssetManager;
+import android.os.Build;
 
 import java.io.FileDescriptor;
 import java.io.FileInputStream;
@@ -166,7 +167,7 @@
 
         This can be called from JNI code.
     */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private BitmapRegionDecoder(long decoder) {
         mNativeBitmapRegionDecoder = decoder;
         mRecycled = false;
diff --git a/graphics/java/android/graphics/Canvas.java b/graphics/java/android/graphics/Canvas.java
index ef58c8f..36c1c21 100644
--- a/graphics/java/android/graphics/Canvas.java
+++ b/graphics/java/android/graphics/Canvas.java
@@ -126,7 +126,7 @@
     }
 
     /** @hide */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public Canvas(long nativeCanvas) {
         if (nativeCanvas == 0) {
             throw new IllegalStateException();
diff --git a/graphics/java/android/graphics/FontListParser.java b/graphics/java/android/graphics/FontListParser.java
index 82435d5..21cc375 100644
--- a/graphics/java/android/graphics/FontListParser.java
+++ b/graphics/java/android/graphics/FontListParser.java
@@ -40,17 +40,25 @@
     /* Parse fallback list (no names) */
     @UnsupportedAppUsage
     public static FontConfig parse(InputStream in) throws XmlPullParserException, IOException {
+        return parse(in, "/system/fonts");
+    }
+
+    /**
+     * Parse the fonts.xml
+     */
+    public static FontConfig parse(InputStream in, String fontDir)
+            throws XmlPullParserException, IOException {
         try {
             XmlPullParser parser = Xml.newPullParser();
             parser.setInput(in, null);
             parser.nextTag();
-            return readFamilies(parser);
+            return readFamilies(parser, fontDir);
         } finally {
             in.close();
         }
     }
 
-    private static FontConfig readFamilies(XmlPullParser parser)
+    private static FontConfig readFamilies(XmlPullParser parser, String fontDir)
             throws XmlPullParserException, IOException {
         List<FontConfig.Family> families = new ArrayList<>();
         List<FontConfig.Alias> aliases = new ArrayList<>();
@@ -60,7 +68,7 @@
             if (parser.getEventType() != XmlPullParser.START_TAG) continue;
             String tag = parser.getName();
             if (tag.equals("family")) {
-                families.add(readFamily(parser));
+                families.add(readFamily(parser, fontDir));
             } else if (tag.equals("alias")) {
                 aliases.add(readAlias(parser));
             } else {
@@ -71,7 +79,10 @@
                 aliases.toArray(new FontConfig.Alias[aliases.size()]));
     }
 
-    private static FontConfig.Family readFamily(XmlPullParser parser)
+    /**
+     * Reads a family element
+     */
+    public static FontConfig.Family readFamily(XmlPullParser parser, String fontDir)
             throws XmlPullParserException, IOException {
         final String name = parser.getAttributeValue(null, "name");
         final String lang = parser.getAttributeValue("", "lang");
@@ -81,7 +92,7 @@
             if (parser.getEventType() != XmlPullParser.START_TAG) continue;
             final String tag = parser.getName();
             if (tag.equals("font")) {
-                fonts.add(readFont(parser));
+                fonts.add(readFont(parser, fontDir));
             } else {
                 skip(parser);
             }
@@ -102,7 +113,7 @@
     private static final Pattern FILENAME_WHITESPACE_PATTERN =
             Pattern.compile("^[ \\n\\r\\t]+|[ \\n\\r\\t]+$");
 
-    private static FontConfig.Font readFont(XmlPullParser parser)
+    private static FontConfig.Font readFont(XmlPullParser parser, String fontDir)
             throws XmlPullParserException, IOException {
         String indexStr = parser.getAttributeValue(null, "index");
         int index = indexStr == null ? 0 : Integer.parseInt(indexStr);
@@ -125,7 +136,7 @@
             }
         }
         String sanitizedName = FILENAME_WHITESPACE_PATTERN.matcher(filename).replaceAll("");
-        return new FontConfig.Font(sanitizedName, index, axes.toArray(
+        return new FontConfig.Font(fontDir + sanitizedName, index, axes.toArray(
                 new FontVariationAxis[axes.size()]), weight, isItalic, fallbackFor);
     }
 
@@ -137,7 +148,10 @@
         return new FontVariationAxis(tagStr, Float.parseFloat(styleValueStr));
     }
 
-    private static FontConfig.Alias readAlias(XmlPullParser parser)
+    /**
+     * Reads alias elements
+     */
+    public static FontConfig.Alias readAlias(XmlPullParser parser)
             throws XmlPullParserException, IOException {
         String name = parser.getAttributeValue(null, "name");
         String toName = parser.getAttributeValue(null, "to");
@@ -152,7 +166,10 @@
         return new FontConfig.Alias(name, toName, weight);
     }
 
-    private static void skip(XmlPullParser parser) throws XmlPullParserException, IOException {
+    /**
+     * Skip until next element
+     */
+    public static void skip(XmlPullParser parser) throws XmlPullParserException, IOException {
         int depth = 1;
         while (depth > 0) {
             switch (parser.next()) {
diff --git a/graphics/java/android/graphics/ImageDecoder.java b/graphics/java/android/graphics/ImageDecoder.java
index 7bed1ac..6ce66bd 100644
--- a/graphics/java/android/graphics/ImageDecoder.java
+++ b/graphics/java/android/graphics/ImageDecoder.java
@@ -187,7 +187,7 @@
      *  {@link OnHeaderDecodedListener OnHeaderDecodedListener} and once with an
      *  implementation of {@link OnHeaderDecodedListener#onHeaderDecoded onHeaderDecoded}
      *  that calls {@link #setTargetSize} with smaller dimensions. One {@code Source}
-     *  even used simultaneously in multiple threads.</p>
+     *  can even be used simultaneously in multiple threads.</p>
      */
     public static abstract class Source {
         private Source() {}
diff --git a/graphics/java/android/graphics/Movie.java b/graphics/java/android/graphics/Movie.java
index 8162544..6f030ff 100644
--- a/graphics/java/android/graphics/Movie.java
+++ b/graphics/java/android/graphics/Movie.java
@@ -18,6 +18,7 @@
 
 import android.annotation.UnsupportedAppUsage;
 import android.content.res.AssetManager;
+import android.os.Build;
 
 import java.io.FileInputStream;
 import java.io.InputStream;
@@ -30,7 +31,7 @@
     @UnsupportedAppUsage
     private long mNativeMovie;
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private Movie(long nativeMovie) {
         if (nativeMovie == 0) {
             throw new RuntimeException("native movie creation failed");
diff --git a/graphics/java/android/graphics/Paint.java b/graphics/java/android/graphics/Paint.java
index 6f30653..69ff3bc 100644
--- a/graphics/java/android/graphics/Paint.java
+++ b/graphics/java/android/graphics/Paint.java
@@ -17,7 +17,10 @@
 package android.graphics;
 
 import android.annotation.ColorInt;
+import android.annotation.IntDef;
+import android.annotation.IntRange;
 import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.annotation.Px;
 import android.annotation.Size;
 import android.annotation.UnsupportedAppUsage;
@@ -35,6 +38,8 @@
 
 import libcore.util.NativeAllocationRegistry;
 
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -307,38 +312,47 @@
      */
     public static final int DIRECTION_RTL = 1;
 
+    /** @hide */
+    @IntDef(prefix = { "CURSOR_" }, value = {
+        CURSOR_AFTER, CURSOR_AT_OR_AFTER, CURSOR_BEFORE, CURSOR_AT_OR_BEFORE
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface CursorOption {}
+
     /**
-     * Option for getTextRunCursor to compute the valid cursor after
-     * offset or the limit of the context, whichever is less.
-     * @hide
+     * Option for getTextRunCursor.
+     *
+     * Compute the valid cursor after offset or the limit of the context, whichever is less.
      */
     public static final int CURSOR_AFTER = 0;
 
     /**
-     * Option for getTextRunCursor to compute the valid cursor at or after
-     * the offset or the limit of the context, whichever is less.
-     * @hide
+     * Option for getTextRunCursor.
+     *
+     * Compute the valid cursor at or after the offset or the limit of the context, whichever is
+     * less.
      */
     public static final int CURSOR_AT_OR_AFTER = 1;
 
      /**
-     * Option for getTextRunCursor to compute the valid cursor before
-     * offset or the start of the context, whichever is greater.
-     * @hide
+     * Option for getTextRunCursor.
+     *
+     * Compute the valid cursor before offset or the start of the context, whichever is greater.
      */
     public static final int CURSOR_BEFORE = 2;
 
    /**
-     * Option for getTextRunCursor to compute the valid cursor at or before
-     * offset or the start of the context, whichever is greater.
-     * @hide
+     * Option for getTextRunCursor.
+     *
+     * Compute the valid cursor at or before offset or the start of the context, whichever is
+     * greater.
      */
     public static final int CURSOR_AT_OR_BEFORE = 3;
 
     /**
-     * Option for getTextRunCursor to return offset if the cursor at offset
-     * is valid, or -1 if it isn't.
-     * @hide
+     * Option for getTextRunCursor.
+     *
+     * Return offset if the cursor at offset is valid, or -1 if it isn't.
      */
     public static final int CURSOR_AT = 4;
 
@@ -578,49 +592,6 @@
         mShadowLayerColor = paint.mShadowLayerColor;
     }
 
-    /**
-     * Returns true if all attributes are equal.
-     *
-     * The caller is expected to have checked the trivial cases, like the pointers being equal,
-     * the objects having different classes, or the parameter being null.
-     * @hide
-     */
-    public boolean hasEqualAttributes(@NonNull Paint other) {
-        return mColorFilter == other.mColorFilter
-                && mMaskFilter == other.mMaskFilter
-                && mPathEffect == other.mPathEffect
-                && mShader == other.mShader
-                && mTypeface == other.mTypeface
-                && mXfermode == other.mXfermode
-                && mHasCompatScaling == other.mHasCompatScaling
-                && mCompatScaling == other.mCompatScaling
-                && mInvCompatScaling == other.mInvCompatScaling
-                && mBidiFlags == other.mBidiFlags
-                && mLocales.equals(other.mLocales)
-                && TextUtils.equals(mFontFeatureSettings, other.mFontFeatureSettings)
-                && TextUtils.equals(mFontVariationSettings, other.mFontVariationSettings)
-                && mShadowLayerRadius == other.mShadowLayerRadius
-                && mShadowLayerDx == other.mShadowLayerDx
-                && mShadowLayerDy == other.mShadowLayerDy
-                && mShadowLayerColor == other.mShadowLayerColor
-                && getFlags() == other.getFlags()
-                && getHinting() == other.getHinting()
-                && getStyle() == other.getStyle()
-                && getColor() == other.getColor()
-                && getStrokeWidth() == other.getStrokeWidth()
-                && getStrokeMiter() == other.getStrokeMiter()
-                && getStrokeCap() == other.getStrokeCap()
-                && getStrokeJoin() == other.getStrokeJoin()
-                && getTextAlign() == other.getTextAlign()
-                && isElegantTextHeight() == other.isElegantTextHeight()
-                && getTextSize() == other.getTextSize()
-                && getTextScaleX() == other.getTextScaleX()
-                && getTextSkewX() == other.getTextSkewX()
-                && getLetterSpacing() == other.getLetterSpacing()
-                && getWordSpacing() == other.getWordSpacing()
-                && getHyphenEdit() == other.getHyphenEdit();
-    }
-
     /** @hide */
     @UnsupportedAppUsage
     public void setCompatibilityScaling(float factor) {
@@ -1381,6 +1352,38 @@
     }
 
     /**
+     * Returns the blur radius of the shadow layer.
+     * @see #setShadowLayer(float,float,float,int)
+     */
+    public float getShadowLayerRadius() {
+        return mShadowLayerRadius;
+    }
+
+    /**
+     * Returns the x offset of the shadow layer.
+     * @see #setShadowLayer(float,float,float,int)
+     */
+    public float getShadowLayerDx() {
+        return mShadowLayerDx;
+    }
+
+    /**
+     * Returns the y offset of the shadow layer.
+     * @see #setShadowLayer(float,float,float,int)
+     */
+    public float getShadowLayerDy() {
+        return mShadowLayerDy;
+    }
+
+    /**
+     * Returns the color of the shadow layer.
+     * @see #setShadowLayer(float,float,float,int)
+     */
+    public @ColorInt int getShadowLayerColor() {
+        return mShadowLayerColor;
+    }
+
+    /**
      * Return the paint's Align value for drawing text. This controls how the
      * text is positioned relative to its origin. LEFT align means that all of
      * the text will be drawn to the right of its origin (i.e. the origin
@@ -2325,17 +2328,53 @@
     }
 
     /**
-     * Convenience overload that takes a char array instead of a
-     * String.
+     * Retrieve the character advances of the text.
      *
-     * @see #getTextRunAdvances(String, int, int, int, int, boolean, float[], int)
-     * @hide
+     * Returns the total advance width for the characters in the run from {@code index} for
+     * {@code count} of chars, and if {@code advances} is not null, the advance assigned to each of
+     * these characters (java chars).
+     *
+     * <p>
+     * The trailing surrogate in a valid surrogate pair is assigned an advance of 0.  Thus the
+     * number of returned advances is always equal to count, not to the number of unicode codepoints
+     * represented by the run.
+     * </p>
+     *
+     * <p>
+     * In the case of conjuncts or combining marks, the total advance is assigned to the first
+     * logical character, and the following characters are assigned an advance of 0.
+     * </p>
+     *
+     * <p>
+     * This generates the sum of the advances of glyphs for characters in a reordered cluster as the
+     * width of the first logical character in the cluster, and 0 for the widths of all other
+     * characters in the cluster.  In effect, such clusters are treated like conjuncts.
+     * </p>
+     *
+     * <p>
+     * The shaping bounds limit the amount of context available outside start and end that can be
+     * used for shaping analysis.  These bounds typically reflect changes in bidi level or font
+     * metrics across which shaping does not occur.
+     * </p>
+     *
+     * @param chars the text to measure.
+     * @param index the index of the first character to measure
+     * @param count the number of characters to measure
+     * @param contextIndex the index of the first character to use for shaping context.
+     *                     Context must cover the measureing target.
+     * @param contextCount the number of character to use for shaping context.
+     *                     Context must cover the measureing target.
+     * @param isRtl whether the run is in RTL direction
+     * @param advances array to receive the advances, must have room for all advances.
+     *                 This can be null if only total advance is needed
+     * @param advancesIndex the position in advances at which to put the advance corresponding to
+     *                      the character at start
+     * @return the total advance in pixels
      */
-    @UnsupportedAppUsage
-    public float getTextRunAdvances(char[] chars, int index, int count,
-            int contextIndex, int contextCount, boolean isRtl, float[] advances,
-            int advancesIndex) {
-
+    public float getTextRunAdvances(@NonNull char[] chars, @IntRange(from = 0) int index,
+            @IntRange(from = 0) int count, @IntRange(from = 0) int contextIndex,
+            @IntRange(from = 0) int contextCount, boolean isRtl, @Nullable float[] advances,
+            @IntRange(from = 0) int advancesIndex) {
         if (chars == null) {
             throw new IllegalArgumentException("text cannot be null");
         }
@@ -2372,159 +2411,32 @@
     }
 
     /**
-     * Convenience overload that takes a CharSequence instead of a
-     * String.
+     * Returns the next cursor position in the run.
      *
-     * @see #getTextRunAdvances(String, int, int, int, int, boolean, float[], int)
-     * @hide
-     */
-    public float getTextRunAdvances(CharSequence text, int start, int end,
-            int contextStart, int contextEnd, boolean isRtl, float[] advances,
-            int advancesIndex) {
-        if (text == null) {
-            throw new IllegalArgumentException("text cannot be null");
-        }
-        if ((start | end | contextStart | contextEnd | advancesIndex | (end - start)
-                | (start - contextStart) | (contextEnd - end)
-                | (text.length() - contextEnd)
-                | (advances == null ? 0 :
-                    (advances.length - advancesIndex - (end - start)))) < 0) {
-            throw new IndexOutOfBoundsException();
-        }
-
-        if (text instanceof String) {
-            return getTextRunAdvances((String) text, start, end,
-                    contextStart, contextEnd, isRtl, advances, advancesIndex);
-        }
-        if (text instanceof SpannedString ||
-            text instanceof SpannableString) {
-            return getTextRunAdvances(text.toString(), start, end,
-                    contextStart, contextEnd, isRtl, advances, advancesIndex);
-        }
-        if (text instanceof GraphicsOperations) {
-            return ((GraphicsOperations) text).getTextRunAdvances(start, end,
-                    contextStart, contextEnd, isRtl, advances, advancesIndex, this);
-        }
-        if (text.length() == 0 || end == start) {
-            return 0f;
-        }
-
-        int contextLen = contextEnd - contextStart;
-        int len = end - start;
-        char[] buf = TemporaryBuffer.obtain(contextLen);
-        TextUtils.getChars(text, contextStart, contextEnd, buf, 0);
-        float result = getTextRunAdvances(buf, start - contextStart, len,
-                0, contextLen, isRtl, advances, advancesIndex);
-        TemporaryBuffer.recycle(buf);
-        return result;
-    }
-
-    /**
-     * Returns the total advance width for the characters in the run
-     * between start and end, and if advances is not null, the advance
-     * assigned to each of these characters (java chars).
+     * This avoids placing the cursor between surrogates, between characters that form conjuncts,
+     * between base characters and combining marks, or within a reordering cluster.
      *
-     * <p>The trailing surrogate in a valid surrogate pair is assigned
-     * an advance of 0.  Thus the number of returned advances is
-     * always equal to count, not to the number of unicode codepoints
-     * represented by the run.
+     * <p>
+     * ContextStart and offset are relative to the start of text.
+     * The context is the shaping context for cursor movement, generally the bounds of the metric
+     * span enclosing the cursor in the direction of movement.
      *
-     * <p>In the case of conjuncts or combining marks, the total
-     * advance is assigned to the first logical character, and the
-     * following characters are assigned an advance of 0.
-     *
-     * <p>This generates the sum of the advances of glyphs for
-     * characters in a reordered cluster as the width of the first
-     * logical character in the cluster, and 0 for the widths of all
-     * other characters in the cluster.  In effect, such clusters are
-     * treated like conjuncts.
-     *
-     * <p>The shaping bounds limit the amount of context available
-     * outside start and end that can be used for shaping analysis.
-     * These bounds typically reflect changes in bidi level or font
-     * metrics across which shaping does not occur.
-     *
-     * @param text the text to measure. Cannot be null.
-     * @param start the index of the first character to measure
-     * @param end the index past the last character to measure
-     * @param contextStart the index of the first character to use for shaping context,
-     * must be <= start
-     * @param contextEnd the index past the last character to use for shaping context,
-     * must be >= end
-     * @param isRtl whether the run is in RTL direction
-     * @param advances array to receive the advances, must have room for all advances,
-     * can be null if only total advance is needed
-     * @param advancesIndex the position in advances at which to put the
-     * advance corresponding to the character at start
-     * @return the total advance
-     *
-     * @hide
-     */
-    public float getTextRunAdvances(String text, int start, int end, int contextStart,
-            int contextEnd, boolean isRtl, float[] advances, int advancesIndex) {
-        if (text == null) {
-            throw new IllegalArgumentException("text cannot be null");
-        }
-        if ((start | end | contextStart | contextEnd | advancesIndex | (end - start)
-                | (start - contextStart) | (contextEnd - end)
-                | (text.length() - contextEnd)
-                | (advances == null ? 0 :
-                    (advances.length - advancesIndex - (end - start)))) < 0) {
-            throw new IndexOutOfBoundsException();
-        }
-
-        if (text.length() == 0 || start == end) {
-            return 0f;
-        }
-
-        if (!mHasCompatScaling) {
-            return nGetTextAdvances(mNativePaint, text, start, end, contextStart, contextEnd,
-                    isRtl ? BIDI_FORCE_RTL : BIDI_FORCE_LTR, advances, advancesIndex);
-        }
-
-        final float oldSize = getTextSize();
-        setTextSize(oldSize * mCompatScaling);
-        final float totalAdvance = nGetTextAdvances(mNativePaint, text, start, end, contextStart,
-                contextEnd, isRtl ? BIDI_FORCE_RTL : BIDI_FORCE_LTR, advances, advancesIndex);
-        setTextSize(oldSize);
-
-        if (advances != null) {
-            for (int i = advancesIndex, e = i + (end - start); i < e; i++) {
-                advances[i] *= mInvCompatScaling;
-            }
-        }
-        return totalAdvance * mInvCompatScaling; // assume errors are insignificant
-    }
-
-    /**
-     * Returns the next cursor position in the run.  This avoids placing the
-     * cursor between surrogates, between characters that form conjuncts,
-     * between base characters and combining marks, or within a reordering
-     * cluster.
-     *
-     * <p>ContextStart and offset are relative to the start of text.
-     * The context is the shaping context for cursor movement, generally
-     * the bounds of the metric span enclosing the cursor in the direction of
-     * movement.
-     *
-     * <p>If cursorOpt is {@link #CURSOR_AT} and the offset is not a valid
-     * cursor position, this returns -1.  Otherwise this will never return a
-     * value before contextStart or after contextStart + contextLength.
+     * <p>
+     * If cursorOpt is {@link #CURSOR_AT} and the offset is not a valid cursor position, this
+     * returns -1.  Otherwise this will never return a value before contextStart or after
+     * contextStart + contextLength.
      *
      * @param text the text
      * @param contextStart the start of the context
      * @param contextLength the length of the context
-     * @param dir either {@link #DIRECTION_RTL} or {@link #DIRECTION_LTR}
+     * @param isRtl true if the paragraph context is RTL, otherwise false
      * @param offset the cursor position to move from
-     * @param cursorOpt how to move the cursor, one of {@link #CURSOR_AFTER},
-     * {@link #CURSOR_AT_OR_AFTER}, {@link #CURSOR_BEFORE},
-     * {@link #CURSOR_AT_OR_BEFORE}, or {@link #CURSOR_AT}
+     * @param cursorOpt how to move the cursor
      * @return the offset of the next position, or -1
-     * @hide
      */
-    @UnsupportedAppUsage
-    public int getTextRunCursor(char[] text, int contextStart, int contextLength,
-            int dir, int offset, int cursorOpt) {
+    public int getTextRunCursor(@NonNull char[] text, @IntRange(from = 0) int contextStart,
+            @IntRange(from = 0) int contextLength, boolean isRtl, @IntRange(from = 0) int offset,
+            @CursorOption int cursorOpt) {
         int contextEnd = contextStart + contextLength;
         if (((contextStart | contextEnd | offset | (contextEnd - contextStart)
                 | (offset - contextStart) | (contextEnd - offset)
@@ -2533,85 +2445,87 @@
             throw new IndexOutOfBoundsException();
         }
 
-        return nGetTextRunCursor(mNativePaint, text, contextStart, contextLength, dir, offset,
-                cursorOpt);
+        return nGetTextRunCursor(mNativePaint, text, contextStart, contextLength,
+                isRtl ? DIRECTION_RTL : DIRECTION_LTR, offset, cursorOpt);
     }
 
     /**
-     * Returns the next cursor position in the run.  This avoids placing the
-     * cursor between surrogates, between characters that form conjuncts,
-     * between base characters and combining marks, or within a reordering
-     * cluster.
+     * Returns the next cursor position in the run.
      *
-     * <p>ContextStart, contextEnd, and offset are relative to the start of
+     * This avoids placing the cursor between surrogates, between characters that form conjuncts,
+     * between base characters and combining marks, or within a reordering cluster.
+     *
+     * <p>
+     * ContextStart, contextEnd, and offset are relative to the start of
      * text.  The context is the shaping context for cursor movement, generally
      * the bounds of the metric span enclosing the cursor in the direction of
      * movement.
      *
-     * <p>If cursorOpt is {@link #CURSOR_AT} and the offset is not a valid
-     * cursor position, this returns -1.  Otherwise this will never return a
-     * value before contextStart or after contextEnd.
+     * <p>
+     * If cursorOpt is {@link #CURSOR_AT} and the offset is not a valid cursor position, this
+     * returns -1.  Otherwise this will never return a value before contextStart or after
+     * contextEnd.
      *
      * @param text the text
      * @param contextStart the start of the context
      * @param contextEnd the end of the context
-     * @param dir either {@link #DIRECTION_RTL} or {@link #DIRECTION_LTR}
+     * @param isRtl true if the paragraph context is RTL, otherwise false
      * @param offset the cursor position to move from
-     * @param cursorOpt how to move the cursor, one of {@link #CURSOR_AFTER},
-     * {@link #CURSOR_AT_OR_AFTER}, {@link #CURSOR_BEFORE},
-     * {@link #CURSOR_AT_OR_BEFORE}, or {@link #CURSOR_AT}
+     * @param cursorOpt how to move the cursor
      * @return the offset of the next position, or -1
-     * @hide
      */
-    public int getTextRunCursor(CharSequence text, int contextStart,
-           int contextEnd, int dir, int offset, int cursorOpt) {
+    public int getTextRunCursor(@NonNull CharSequence text, @IntRange(from = 0) int contextStart,
+            @IntRange(from = 0) int contextEnd, boolean isRtl, @IntRange(from = 0) int offset,
+            @CursorOption int cursorOpt) {
 
         if (text instanceof String || text instanceof SpannedString ||
                 text instanceof SpannableString) {
             return getTextRunCursor(text.toString(), contextStart, contextEnd,
-                    dir, offset, cursorOpt);
+                    isRtl, offset, cursorOpt);
         }
         if (text instanceof GraphicsOperations) {
             return ((GraphicsOperations) text).getTextRunCursor(
-                    contextStart, contextEnd, dir, offset, cursorOpt, this);
+                    contextStart, contextEnd, isRtl, offset, cursorOpt, this);
         }
 
         int contextLen = contextEnd - contextStart;
         char[] buf = TemporaryBuffer.obtain(contextLen);
         TextUtils.getChars(text, contextStart, contextEnd, buf, 0);
-        int relPos = getTextRunCursor(buf, 0, contextLen, dir, offset - contextStart, cursorOpt);
+        int relPos = getTextRunCursor(buf, 0, contextLen, isRtl, offset - contextStart, cursorOpt);
         TemporaryBuffer.recycle(buf);
         return (relPos == -1) ? -1 : relPos + contextStart;
     }
 
     /**
-     * Returns the next cursor position in the run.  This avoids placing the
-     * cursor between surrogates, between characters that form conjuncts,
-     * between base characters and combining marks, or within a reordering
-     * cluster.
+     * Returns the next cursor position in the run.
      *
-     * <p>ContextStart, contextEnd, and offset are relative to the start of
-     * text.  The context is the shaping context for cursor movement, generally
-     * the bounds of the metric span enclosing the cursor in the direction of
-     * movement.
+     * This avoids placing the cursor between surrogates, between characters that form conjuncts,
+     * between base characters and combining marks, or within a reordering cluster.
      *
-     * <p>If cursorOpt is {@link #CURSOR_AT} and the offset is not a valid
-     * cursor position, this returns -1.  Otherwise this will never return a
-     * value before contextStart or after contextEnd.
+     * <p>
+     * ContextStart, contextEnd, and offset are relative to the start of text.  The context is the
+     * shaping context for cursor movement, generally the bounds of the metric span enclosing the
+     * cursor in the direction of movement.
+     * </p>
+     *
+     * <p>
+     * If cursorOpt is {@link #CURSOR_AT} and the offset is not a valid cursor position, this
+     * returns -1.  Otherwise this will never return a value before contextStart or after
+     * contextEnd.
+     * </p>
      *
      * @param text the text
      * @param contextStart the start of the context
      * @param contextEnd the end of the context
-     * @param dir either {@link #DIRECTION_RTL} or {@link #DIRECTION_LTR}
+     * @param isRtl true if the paragraph context is RTL, otherwise false.
      * @param offset the cursor position to move from
-     * @param cursorOpt how to move the cursor, one of {@link #CURSOR_AFTER},
-     * {@link #CURSOR_AT_OR_AFTER}, {@link #CURSOR_BEFORE},
-     * {@link #CURSOR_AT_OR_BEFORE}, or {@link #CURSOR_AT}
+     * @param cursorOpt how to move the cursor
      * @return the offset of the next position, or -1
      * @hide
      */
-    public int getTextRunCursor(String text, int contextStart, int contextEnd,
-            int dir, int offset, int cursorOpt) {
+    public int getTextRunCursor(@NonNull String text, @IntRange(from = 0) int contextStart,
+            @IntRange(from = 0) int contextEnd, boolean isRtl, @IntRange(from = 0) int offset,
+            @CursorOption int cursorOpt) {
         if (((contextStart | contextEnd | offset | (contextEnd - contextStart)
                 | (offset - contextStart) | (contextEnd - offset)
                 | (text.length() - contextEnd) | cursorOpt) < 0)
@@ -2619,8 +2533,8 @@
             throw new IndexOutOfBoundsException();
         }
 
-        return nGetTextRunCursor(mNativePaint, text, contextStart, contextEnd, dir, offset,
-                cursorOpt);
+        return nGetTextRunCursor(mNativePaint, text, contextStart, contextEnd,
+                isRtl ? DIRECTION_RTL : DIRECTION_LTR, offset, cursorOpt);
     }
 
     /**
@@ -2686,11 +2600,13 @@
      * Return in bounds (allocated by the caller) the smallest rectangle that
      * encloses all of the characters, with an implied origin at (0,0).
      *
+     * Note that styles are ignored even if you pass {@link android.text.Spanned} instance.
+     * Use {@link android.text.StaticLayout} for measuring bounds of {@link android.text.Spanned}.
+     *
      * @param text text to measure and return its bounds
      * @param start index of the first char in the text to measure
      * @param end 1 past the last char in the text to measure
      * @param bounds returns the unioned bounds of all the text. Must be allocated by the caller
-     * @hide
      */
     public void getTextBounds(CharSequence text, int start, int end, Rect bounds) {
         if ((start | end | (end - start) | (text.length() - end)) < 0) {
diff --git a/graphics/java/android/graphics/Rect.java b/graphics/java/android/graphics/Rect.java
index 4fec33f..c4dc0ad 100644
--- a/graphics/java/android/graphics/Rect.java
+++ b/graphics/java/android/graphics/Rect.java
@@ -23,8 +23,11 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.text.TextUtils;
+import android.util.proto.ProtoInputStream;
 import android.util.proto.ProtoOutputStream;
+import android.util.proto.WireTypeMismatchException;
 
+import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -232,6 +235,40 @@
     }
 
     /**
+     * Read from a protocol buffer input stream.
+     * Protocol buffer message definition at {@link android.graphics.RectProto}
+     *
+     * @param proto     Stream to read the Rect object from.
+     * @param fieldId   Field Id of the Rect as defined in the parent message
+     * @hide
+     */
+    public void readFromProto(@NonNull ProtoInputStream proto, long fieldId) throws IOException,
+            WireTypeMismatchException {
+        final long token = proto.start(fieldId);
+        try {
+            while (proto.nextField() != ProtoInputStream.NO_MORE_FIELDS) {
+                switch (proto.getFieldNumber()) {
+                    case (int) RectProto.LEFT:
+                        left = proto.readInt(RectProto.LEFT);
+                        break;
+                    case (int) RectProto.TOP:
+                        top = proto.readInt(RectProto.TOP);
+                        break;
+                    case (int) RectProto.RIGHT:
+                        right = proto.readInt(RectProto.RIGHT);
+                        break;
+                    case (int) RectProto.BOTTOM:
+                        bottom = proto.readInt(RectProto.BOTTOM);
+                        break;
+                }
+            }
+        } finally {
+            // Let caller handle any exceptions
+            proto.end(token);
+        }
+    }
+
+    /**
      * Returns true if the rectangle is empty (left >= right or top >= bottom)
      */
     public final boolean isEmpty() {
diff --git a/graphics/java/android/graphics/Typeface.java b/graphics/java/android/graphics/Typeface.java
index 5aa09ce..7ad207f 100644
--- a/graphics/java/android/graphics/Typeface.java
+++ b/graphics/java/android/graphics/Typeface.java
@@ -30,10 +30,10 @@
 import android.graphics.fonts.FontVariationAxis;
 import android.graphics.fonts.SystemFonts;
 import android.net.Uri;
+import android.os.Build;
 import android.provider.FontRequest;
 import android.provider.FontsContract;
 import android.text.FontConfig;
-import android.util.ArrayMap;
 import android.util.Base64;
 import android.util.LongSparseArray;
 import android.util.LruCache;
@@ -1076,7 +1076,7 @@
     }
 
     // don't allow clients to call this directly
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private Typeface(long ni) {
         if (ni == 0) {
             throw new RuntimeException("native typeface cannot be made");
@@ -1103,6 +1103,9 @@
         }
 
         for (FontConfig.Alias alias : aliases) {
+            if (systemFontMap.containsKey(alias.getName())) {
+                continue; // If alias and named family are conflict, use named family.
+            }
             final Typeface base = systemFontMap.get(alias.getToName());
             final int weight = alias.getWeight();
             final Typeface newFace = weight == 400 ? base :
@@ -1111,13 +1114,6 @@
         }
     }
 
-    // Following methods are left for layoutlib
-    // TODO: Remove once layoutlib stop calling buildSystemFallback
-    /** @hide */
-    public static void buildSystemFallback(String xmlPath, String fontDir,
-            ArrayMap<String, Typeface> fontMap, ArrayMap<String, FontFamily[]> fallbackMap) {
-    }
-
     static {
         final HashMap<String, Typeface> systemFontMap = new HashMap<>();
         initSystemDefaultTypefaces(systemFontMap, SystemFonts.getRawSystemFallbackMap(),
diff --git a/graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java b/graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java
index 00380c5..11a46c4 100644
--- a/graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java
+++ b/graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java
@@ -24,6 +24,7 @@
 import android.content.res.Resources;
 import android.content.res.Resources.Theme;
 import android.content.res.TypedArray;
+import android.os.Build;
 import android.util.AttributeSet;
 import android.util.Log;
 import android.util.LongSparseLongArray;
@@ -67,7 +68,7 @@
     private static final String ELEMENT_TRANSITION = "transition";
     private static final String ELEMENT_ITEM = "item";
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private AnimatedStateListState mState;
 
     /** The currently running transition, if any. */
diff --git a/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java b/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
index 76f2cfb..6c1372f 100644
--- a/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
+++ b/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
@@ -51,6 +51,7 @@
 import android.util.TimeUtils;
 import android.view.Choreographer;
 import android.view.DisplayListCanvas;
+import android.view.NativeVectorDrawableAnimator;
 import android.view.RenderNode;
 import android.view.RenderNodeAnimatorSetHelper;
 import android.view.View;
@@ -1231,7 +1232,8 @@
     /**
      * @hide
      */
-    public static class VectorDrawableAnimatorRT implements VectorDrawableAnimator {
+    public static class VectorDrawableAnimatorRT implements VectorDrawableAnimator,
+            NativeVectorDrawableAnimator {
         private static final int START_ANIMATION = 1;
         private static final int REVERSE_ANIMATION = 2;
         private static final int RESET_ANIMATION = 3;
@@ -1704,6 +1706,7 @@
             }
         }
 
+        @Override
         public long getAnimatorNativePtr() {
             return mSetPtr;
         }
diff --git a/graphics/java/android/graphics/drawable/Icon.java b/graphics/java/android/graphics/drawable/Icon.java
index a337773..7efe522 100644
--- a/graphics/java/android/graphics/drawable/Icon.java
+++ b/graphics/java/android/graphics/drawable/Icon.java
@@ -34,6 +34,7 @@
 import android.graphics.PorterDuff;
 import android.net.Uri;
 import android.os.AsyncTask;
+import android.os.Build;
 import android.os.Handler;
 import android.os.Message;
 import android.os.Parcel;
@@ -101,7 +102,7 @@
 
     private static final int VERSION_STREAM_SERIALIZER = 1;
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final int mType;
 
     private ColorStateList mTintList;
@@ -118,7 +119,7 @@
 
     // TYPE_RESOURCE: package name
     // TYPE_URI: uri string
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private String          mString1;
 
     // TYPE_RESOURCE: resId
@@ -174,7 +175,7 @@
      * valid compressed bitmap data is found.
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public int getDataOffset() {
         if (mType != TYPE_DATA) {
             throw new IllegalStateException("called getDataOffset() on " + this);
@@ -189,7 +190,7 @@
      * bitmap data.
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public byte[] getDataBytes() {
         if (mType != TYPE_DATA) {
             throw new IllegalStateException("called getDataBytes() on " + this);
@@ -203,7 +204,7 @@
      * @return The {@link android.content.res.Resources} for this {@link #TYPE_RESOURCE} Icon.
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public Resources getResources() {
         if (mType != TYPE_RESOURCE) {
             throw new IllegalStateException("called getResources() on " + this);
diff --git a/graphics/java/android/graphics/fonts/Font.java b/graphics/java/android/graphics/fonts/Font.java
index 8aa4845..bd1ac25 100644
--- a/graphics/java/android/graphics/fonts/Font.java
+++ b/graphics/java/android/graphics/fonts/Font.java
@@ -119,7 +119,7 @@
 
         private @Nullable ByteBuffer mBuffer;
         private @Nullable File mFile;
-        private @NonNull LocaleList mLocaleList = LocaleList.getEmptyLocaleList();
+        private @NonNull String mLocaleList = "";
         private @IntRange(from = -1, to = 1000) int mWeight = NOT_SPECIFIED;
         private @IntRange(from = -1, to = 1) int mItalic = NOT_SPECIFIED;
         private @IntRange(from = 0) int mTtcIndex = 0;
@@ -150,7 +150,7 @@
          * @hide
          */
         public Builder(@NonNull ByteBuffer buffer, @NonNull File path,
-                @NonNull LocaleList localeList) {
+                @NonNull String localeList) {
             this(buffer);
             mFile = path;
             mLocaleList = localeList;
@@ -422,9 +422,10 @@
                     nAddAxis(builderPtr, axis.getOpenTypeTagValue(), axis.getStyleValue());
                 }
             }
-            final long ptr = nBuild(builderPtr, mBuffer, mWeight, italic, mTtcIndex);
-            final Font font = new Font(ptr, mBuffer, mFile, mWeight, italic, mTtcIndex, mAxes,
-                    mLocaleList);
+            final ByteBuffer readonlyBuffer = mBuffer.asReadOnlyBuffer();
+            final long ptr = nBuild(builderPtr, readonlyBuffer, mWeight, italic, mTtcIndex);
+            final Font font = new Font(ptr, readonlyBuffer, mFile, mWeight, italic, mTtcIndex,
+                    mAxes, mLocaleList);
             sFontRegistory.registerNativeAllocation(font, ptr);
             return font;
         }
@@ -457,7 +458,7 @@
     private final boolean mItalic;
     private final @IntRange(from = 0) int mTtcIndex;
     private final @Nullable FontVariationAxis[] mAxes;
-    private final @NonNull LocaleList mLocaleList;
+    private final @NonNull String mLocaleList;
 
     /**
      * Use Builder instead
@@ -465,7 +466,7 @@
     private Font(long nativePtr, @NonNull ByteBuffer buffer, @Nullable File file,
             @IntRange(from = 0, to = 1000) int weight, boolean italic,
             @IntRange(from = 0) int ttcIndex, @Nullable FontVariationAxis[] axes,
-            @NonNull LocaleList localeList) {
+            @NonNull String localeList) {
         mBuffer = buffer;
         mFile = file;
         mWeight = weight;
@@ -477,7 +478,7 @@
     }
 
     /**
-     * Retuns a font file buffer.
+     * Returns a font file buffer.
      *
      * @return a font buffer
      */
@@ -546,7 +547,7 @@
      * @return a locale list
      */
     public @NonNull LocaleList getLocaleList() {
-        return mLocaleList;
+        return LocaleList.forLanguageTags(mLocaleList);
     }
 
     /** @hide */
@@ -580,7 +581,7 @@
             + ", italic=" + mItalic
             + ", ttcIndex=" + mTtcIndex
             + ", axes=" + FontVariationAxis.toFontVariationSettings(mAxes)
-            + ", localeList=" + mLocaleList.toLanguageTags()
+            + ", localeList=" + mLocaleList
             + ", buffer=" + mBuffer
             + "}";
     }
diff --git a/graphics/java/android/graphics/fonts/FontCustomizationParser.java b/graphics/java/android/graphics/fonts/FontCustomizationParser.java
new file mode 100644
index 0000000..0291d74
--- /dev/null
+++ b/graphics/java/android/graphics/fonts/FontCustomizationParser.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.graphics.fonts;
+
+import android.annotation.NonNull;
+import android.graphics.FontListParser;
+import android.text.FontConfig;
+import android.util.Xml;
+
+import org.xmlpull.v1.XmlPullParser;
+import org.xmlpull.v1.XmlPullParserException;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.HashSet;
+
+/**
+ * Parser for font customization
+ *
+ * @hide
+ */
+public class FontCustomizationParser {
+    /**
+     * Represents a customization XML
+     */
+    public static class Result {
+        ArrayList<FontConfig.Family> mAdditionalNamedFamilies = new ArrayList<>();
+        ArrayList<FontConfig.Alias> mAdditionalAliases = new ArrayList<>();
+    }
+
+    /**
+     * Parses the customization XML
+     *
+     * Caller must close the input stream
+     */
+    public static Result parse(@NonNull InputStream in, @NonNull String fontDir)
+            throws XmlPullParserException, IOException {
+        XmlPullParser parser = Xml.newPullParser();
+        parser.setInput(in, null);
+        parser.nextTag();
+        return readFamilies(parser, fontDir);
+    }
+
+    private static void validate(Result result) {
+        HashSet<String> familyNames = new HashSet<>();
+        for (int i = 0; i < result.mAdditionalNamedFamilies.size(); ++i) {
+            final FontConfig.Family family = result.mAdditionalNamedFamilies.get(i);
+            final String name = family.getName();
+            if (name == null) {
+                throw new IllegalArgumentException("new-named-family requires name attribute");
+            }
+            if (!familyNames.add(name)) {
+                throw new IllegalArgumentException(
+                        "new-named-family requires unique name attribute");
+            }
+        }
+    }
+
+    private static Result readFamilies(XmlPullParser parser, String fontDir)
+            throws XmlPullParserException, IOException {
+        Result out = new Result();
+        parser.require(XmlPullParser.START_TAG, null, "fonts-modification");
+        while (parser.next() != XmlPullParser.END_TAG) {
+            if (parser.getEventType() != XmlPullParser.START_TAG) continue;
+            String tag = parser.getName();
+            if (tag.equals("family")) {
+                readFamily(parser, fontDir, out);
+            } else if (tag.equals("alias")) {
+                out.mAdditionalAliases.add(FontListParser.readAlias(parser));
+            } else {
+                FontListParser.skip(parser);
+            }
+        }
+        validate(out);
+        return out;
+    }
+
+    private static void readFamily(XmlPullParser parser, String fontDir, Result out)
+            throws XmlPullParserException, IOException {
+        final String customizationType = parser.getAttributeValue(null, "customizationType");
+        if (customizationType == null) {
+            throw new IllegalArgumentException("customizationType must be specified");
+        }
+        if (customizationType.equals("new-named-family")) {
+            out.mAdditionalNamedFamilies.add(FontListParser.readFamily(parser, fontDir));
+        } else {
+            throw new IllegalArgumentException("Unknown customizationType=" + customizationType);
+        }
+    }
+}
diff --git a/graphics/java/android/graphics/fonts/FontVariationAxis.java b/graphics/java/android/graphics/fonts/FontVariationAxis.java
index 242cbb8..bcee559 100644
--- a/graphics/java/android/graphics/fonts/FontVariationAxis.java
+++ b/graphics/java/android/graphics/fonts/FontVariationAxis.java
@@ -19,6 +19,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.UnsupportedAppUsage;
+import android.os.Build;
 import android.text.TextUtils;
 
 import java.util.ArrayList;
@@ -29,7 +30,7 @@
  * Class that holds information about single font variation axis.
  */
 public final class FontVariationAxis {
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final int mTag;
     private final String mTagString;
     @UnsupportedAppUsage
diff --git a/graphics/java/android/graphics/fonts/SystemFonts.java b/graphics/java/android/graphics/fonts/SystemFonts.java
index 1c957b8..2d21bbb 100644
--- a/graphics/java/android/graphics/fonts/SystemFonts.java
+++ b/graphics/java/android/graphics/fonts/SystemFonts.java
@@ -19,7 +19,6 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.graphics.FontListParser;
-import android.os.LocaleList;
 import android.text.FontConfig;
 import android.util.ArrayMap;
 import android.util.Log;
@@ -46,7 +45,7 @@
 /**
  * Provides the system font configurations.
  */
-public class SystemFonts {
+public final class SystemFonts {
     private static final String TAG = "SystemFonts";
     private static final String DEFAULT_FAMILY = "sans-serif";
 
@@ -54,16 +53,17 @@
 
     private static final Map<String, FontFamily[]> sSystemFallbackMap;
     private static final FontConfig.Alias[] sAliases;
-    private static final Set<Font> sAvailableFonts;
+    private static final List<Font> sAvailableFonts;
 
     /**
      * Returns all available font files in the system.
      *
-     * Note: The order of this font doesn't indicates anything.
-     * @return an array of system fonts
+     * @return a set of system fonts
      */
     public static @NonNull Set<Font> getAvailableFonts() {
-        return sAvailableFonts;
+        HashSet<Font> set = new HashSet<>();
+        set.addAll(sAvailableFonts);
+        return set;
     }
 
     /**
@@ -113,8 +113,7 @@
     private static void pushFamilyToFallback(@NonNull FontConfig.Family xmlFamily,
             @NonNull ArrayMap<String, ArrayList<FontFamily>> fallbackMap,
             @NonNull Map<String, ByteBuffer> cache,
-            @NonNull String fontDir,
-            @NonNull HashSet<Font> availableFonts) {
+            @NonNull ArrayList<Font> availableFonts) {
 
         final String languageTags = xmlFamily.getLanguages();
         final int variant = xmlFamily.getVariant();
@@ -138,8 +137,7 @@
         }
 
         final FontFamily defaultFamily = defaultFonts.isEmpty() ? null : createFontFamily(
-                xmlFamily.getName(), defaultFonts, languageTags, variant, cache, fontDir,
-                availableFonts);
+                xmlFamily.getName(), defaultFonts, languageTags, variant, cache, availableFonts);
 
         // Insert family into fallback map.
         for (int i = 0; i < fallbackMap.size(); i++) {
@@ -151,7 +149,7 @@
                 }
             } else {
                 final FontFamily family = createFontFamily(
-                        xmlFamily.getName(), fallback, languageTags, variant, cache, fontDir,
+                        xmlFamily.getName(), fallback, languageTags, variant, cache,
                         availableFonts);
                 if (family != null) {
                     fallbackMap.valueAt(i).add(family);
@@ -169,17 +167,15 @@
             @NonNull String languageTags,
             @FontConfig.Family.Variant int variant,
             @NonNull Map<String, ByteBuffer> cache,
-            @NonNull String fontDir,
-            @NonNull HashSet<Font> availableFonts) {
+            @NonNull ArrayList<Font> availableFonts) {
         if (fonts.size() == 0) {
             return null;
         }
 
         FontFamily.Builder b = null;
-        final LocaleList localeList = LocaleList.forLanguageTags(languageTags);
         for (int i = 0; i < fonts.size(); i++) {
             final FontConfig.Font fontConfig = fonts.get(i);
-            final String fullPath = fontDir + fontConfig.getFontName();
+            final String fullPath = fontConfig.getFontName();
             ByteBuffer buffer = cache.get(fullPath);
             if (buffer == null) {
                 if (cache.containsKey(fullPath)) {
@@ -194,7 +190,7 @@
 
             final Font font;
             try {
-                font = new Font.Builder(buffer, new File(fullPath), localeList)
+                font = new Font.Builder(buffer, new File(fullPath), languageTags)
                         .setWeight(fontConfig.getWeight())
                         .setItalic(fontConfig.isItalic())
                         .setTtcIndex(fontConfig.getTtcIndex())
@@ -214,6 +210,22 @@
         return b == null ? null : b.build(languageTags, variant);
     }
 
+    private static void appendNamedFamily(@NonNull FontConfig.Family xmlFamily,
+            @NonNull HashMap<String, ByteBuffer> bufferCache,
+            @NonNull ArrayMap<String, ArrayList<FontFamily>> fallbackListMap,
+            @NonNull ArrayList<Font> availableFonts) {
+        final String familyName = xmlFamily.getName();
+        final FontFamily family = createFontFamily(
+                familyName, Arrays.asList(xmlFamily.getFonts()),
+                xmlFamily.getLanguages(), xmlFamily.getVariant(), bufferCache, availableFonts);
+        if (family == null) {
+            return;
+        }
+        final ArrayList<FontFamily> fallback = new ArrayList<>();
+        fallback.add(family);
+        fallbackListMap.put(familyName, fallback);
+    }
+
     /**
      * Build the system fallback from xml file.
      *
@@ -227,11 +239,12 @@
     @VisibleForTesting
     public static FontConfig.Alias[] buildSystemFallback(@NonNull String xmlPath,
             @NonNull String fontDir,
+            @NonNull FontCustomizationParser.Result oemCustomization,
             @NonNull ArrayMap<String, FontFamily[]> fallbackMap,
-            @NonNull HashSet<Font> availableFonts) {
+            @NonNull ArrayList<Font> availableFonts) {
         try {
             final FileInputStream fontsIn = new FileInputStream(xmlPath);
-            final FontConfig fontConfig = FontListParser.parse(fontsIn);
+            final FontConfig fontConfig = FontListParser.parse(fontsIn, fontDir);
 
             final HashMap<String, ByteBuffer> bufferCache = new HashMap<String, ByteBuffer>();
             final FontConfig.Family[] xmlFamilies = fontConfig.getFamilies();
@@ -243,16 +256,12 @@
                 if (familyName == null) {
                     continue;
                 }
-                final FontFamily family = createFontFamily(
-                        xmlFamily.getName(), Arrays.asList(xmlFamily.getFonts()),
-                        xmlFamily.getLanguages(), xmlFamily.getVariant(), bufferCache, fontDir,
-                        availableFonts);
-                if (family == null) {
-                    continue;
-                }
-                final ArrayList<FontFamily> fallback = new ArrayList<>();
-                fallback.add(family);
-                fallbackListMap.put(familyName, fallback);
+                appendNamedFamily(xmlFamily, bufferCache, fallbackListMap, availableFonts);
+            }
+
+            for (int i = 0; i < oemCustomization.mAdditionalNamedFamilies.size(); ++i) {
+                appendNamedFamily(oemCustomization.mAdditionalNamedFamilies.get(i),
+                        bufferCache, fallbackListMap, availableFonts);
             }
 
             // Then, add fallback fonts to the each fallback map.
@@ -261,8 +270,7 @@
                 // The first family (usually the sans-serif family) is always placed immediately
                 // after the primary family in the fallback.
                 if (i == 0 || xmlFamily.getName() == null) {
-                    pushFamilyToFallback(xmlFamily, fallbackListMap, bufferCache, fontDir,
-                            availableFonts);
+                    pushFamilyToFallback(xmlFamily, fallbackListMap, bufferCache, availableFonts);
                 }
             }
 
@@ -275,20 +283,36 @@
                 fallbackMap.put(fallbackName, families);
             }
 
-            return fontConfig.getAliases();
+            final ArrayList<FontConfig.Alias> list = new ArrayList<>();
+            list.addAll(Arrays.asList(fontConfig.getAliases()));
+            list.addAll(oemCustomization.mAdditionalAliases);
+            return list.toArray(new FontConfig.Alias[list.size()]);
         } catch (IOException | XmlPullParserException e) {
             Log.e(TAG, "Failed initialize system fallbacks.", e);
             return ArrayUtils.emptyArray(FontConfig.Alias.class);
         }
     }
 
-    static {
-        final ArrayMap<String, FontFamily[]> systemFallbackMap = new ArrayMap<>();
-        final HashSet<Font> availableFonts = new HashSet<>();
-        sAliases = buildSystemFallback("/system/etc/fonts.xml", "/system/fonts/",
-                systemFallbackMap, availableFonts);
-        sSystemFallbackMap = Collections.unmodifiableMap(systemFallbackMap);
-        sAvailableFonts = Collections.unmodifiableSet(availableFonts);
+    private static FontCustomizationParser.Result readFontCustomization(
+            @NonNull String customizeXml, @NonNull String customFontsDir) {
+        try (FileInputStream f = new FileInputStream(customizeXml)) {
+            return FontCustomizationParser.parse(f, customFontsDir);
+        } catch (IOException e) {
+            return new FontCustomizationParser.Result();
+        } catch (XmlPullParserException e) {
+            Log.e(TAG, "Failed to parse font customization XML", e);
+            return new FontCustomizationParser.Result();
+        }
     }
 
+    static {
+        final ArrayMap<String, FontFamily[]> systemFallbackMap = new ArrayMap<>();
+        final ArrayList<Font> availableFonts = new ArrayList<>();
+        final FontCustomizationParser.Result oemCustomization =
+                readFontCustomization("/product/etc/fonts_customization.xml", "/product/fonts/");
+        sAliases = buildSystemFallback("/system/etc/fonts.xml", "/system/fonts/",
+                oemCustomization, systemFallbackMap, availableFonts);
+        sSystemFallbackMap = Collections.unmodifiableMap(systemFallbackMap);
+        sAvailableFonts = Collections.unmodifiableList(availableFonts);
+    }
 }
diff --git a/libs/androidfw/include/androidfw/ByteBucketArray.h b/libs/androidfw/include/androidfw/ByteBucketArray.h
index d84a207..949c9445 100644
--- a/libs/androidfw/include/androidfw/ByteBucketArray.h
+++ b/libs/androidfw/include/androidfw/ByteBucketArray.h
@@ -60,7 +60,7 @@
   }
 
   T& editItemAt(size_t index) {
-    CHECK(index < size()) << "ByteBucketArray.getOrCreate(index=" << index
+    CHECK(index < size()) << "ByteBucketArray.editItemAt(index=" << index
                           << ") with size=" << size();
 
     uint8_t bucket_index = static_cast<uint8_t>(index) >> 4;
diff --git a/libs/androidfw/include/androidfw/Util.h b/libs/androidfw/include/androidfw/Util.h
index e4cd6a8..6c9eee0 100644
--- a/libs/androidfw/include/androidfw/Util.h
+++ b/libs/androidfw/include/androidfw/Util.h
@@ -47,11 +47,11 @@
   constexpr unique_cptr() : ptr_(nullptr) {}
   constexpr unique_cptr(std::nullptr_t) : ptr_(nullptr) {}
   explicit unique_cptr(pointer ptr) : ptr_(ptr) {}
-  unique_cptr(unique_cptr&& o) : ptr_(o.ptr_) { o.ptr_ = nullptr; }
+  unique_cptr(unique_cptr&& o) noexcept : ptr_(o.ptr_) { o.ptr_ = nullptr; }
 
   ~unique_cptr() { std::free(reinterpret_cast<void*>(ptr_)); }
 
-  inline unique_cptr& operator=(unique_cptr&& o) {
+  inline unique_cptr& operator=(unique_cptr&& o) noexcept {
     if (&o == this) {
       return *this;
     }
diff --git a/libs/hwui/Android.bp b/libs/hwui/Android.bp
index 04bbe24..494e513 100644
--- a/libs/hwui/Android.bp
+++ b/libs/hwui/Android.bp
@@ -175,6 +175,7 @@
         "pipeline/skia/SkiaRecordingCanvas.cpp",
         "pipeline/skia/SkiaVulkanPipeline.cpp",
         "pipeline/skia/VectorDrawableAtlas.cpp",
+        "pipeline/skia/VkFunctorDrawable.cpp",
         "renderstate/RenderState.cpp",
         "renderthread/CacheManager.cpp",
         "renderthread/CanvasContext.cpp",
@@ -228,6 +229,7 @@
         "ResourceCache.cpp",
         "SkiaCanvas.cpp",
         "Snapshot.cpp",
+        "TreeInfo.cpp",
         "VectorDrawable.cpp",
         "protos/graphicsstats.proto",
     ],
@@ -247,7 +249,7 @@
         // Enables fine-grained GLES error checking
         // If enabled, every GLES call is wrapped & error checked
         // Has moderate overhead
-        "hwui_enable_opengl_validation",
+        //"hwui_enable_opengl_validation",
     ],
 }
 
diff --git a/libs/hwui/CanvasTransform.cpp b/libs/hwui/CanvasTransform.cpp
index adcdc18..06e937a 100644
--- a/libs/hwui/CanvasTransform.cpp
+++ b/libs/hwui/CanvasTransform.cpp
@@ -28,6 +28,7 @@
 #include <cmath>
 
 #include <log/log.h>
+#include <SkHighContrastFilter.h>
 
 namespace android::uirenderer {
 
@@ -78,7 +79,6 @@
         info.fColors = _colorStorage.data();
         info.fColorOffsets = _offsetStorage.data();
         SkShader::GradientType type = paint.getShader()->asAGradient(&info);
-        ALOGW_IF(type, "Found gradient of type = %d", type);
 
         if (info.fColorCount <= 10) {
             switch (type) {
@@ -107,10 +107,43 @@
     }
 }
 
+static BitmapPalette paletteForColorHSV(SkColor color) {
+    float hsv[3];
+    SkColorToHSV(color, hsv);
+    return hsv[2] >= .5f ? BitmapPalette::Light : BitmapPalette::Dark;
+}
+
+static BitmapPalette filterPalette(const SkPaint* paint, BitmapPalette palette) {
+    if (palette == BitmapPalette::Unknown || !paint || !paint->getColorFilter()) {
+        return palette;
+    }
+
+    SkColor color = palette == BitmapPalette::Light ? SK_ColorWHITE : SK_ColorBLACK;
+    color = paint->getColorFilter()->filterColor(color);
+    return paletteForColorHSV(color);
+}
+
 bool transformPaint(ColorTransform transform, SkPaint* paint) {
     // TODO
     applyColorTransform(transform, *paint);
     return true;
 }
 
+bool transformPaint(ColorTransform transform, SkPaint* paint, BitmapPalette palette) {
+    palette = filterPalette(paint, palette);
+    bool shouldInvert = false;
+    if (palette == BitmapPalette::Light && transform == ColorTransform::Dark) {
+        shouldInvert = true;
+    }
+    if (palette == BitmapPalette::Dark && transform == ColorTransform::Light) {
+        shouldInvert = true;
+    }
+    if (shouldInvert) {
+        SkHighContrastConfig config;
+        config.fInvertStyle = SkHighContrastConfig::InvertStyle::kInvertLightness;
+        paint->setColorFilter(SkHighContrastFilter::Make(config)->makeComposed(paint->refColorFilter()));
+    }
+    return shouldInvert;
+}
+
 };  // namespace android::uirenderer
\ No newline at end of file
diff --git a/libs/hwui/CanvasTransform.h b/libs/hwui/CanvasTransform.h
index 32d9a05..e723d64 100644
--- a/libs/hwui/CanvasTransform.h
+++ b/libs/hwui/CanvasTransform.h
@@ -16,6 +16,8 @@
 
 #pragma once
 
+#include "hwui/Bitmap.h"
+
 #include <SkCanvas.h>
 #include <SkPaintFilterCanvas.h>
 
@@ -26,6 +28,7 @@
 enum class UsageHint {
     Unknown = 0,
     Background = 1,
+    Foreground = 2,
 };
 
 enum class ColorTransform {
@@ -37,4 +40,6 @@
 // True if the paint was modified, false otherwise
 bool transformPaint(ColorTransform transform, SkPaint* paint);
 
+bool transformPaint(ColorTransform transform, SkPaint* paint, BitmapPalette palette);
+
 }  // namespace android::uirenderer;
\ No newline at end of file
diff --git a/libs/hwui/DeferredLayerUpdater.cpp b/libs/hwui/DeferredLayerUpdater.cpp
index 837d546..b772e5b 100644
--- a/libs/hwui/DeferredLayerUpdater.cpp
+++ b/libs/hwui/DeferredLayerUpdater.cpp
@@ -29,12 +29,16 @@
         , mGLContextAttached(false)
         , mUpdateTexImage(false)
         , mLayer(nullptr) {
-    renderState.registerDeferredLayerUpdater(this);
+    renderState.registerContextCallback(this);
 }
 
 DeferredLayerUpdater::~DeferredLayerUpdater() {
     setTransform(nullptr);
-    mRenderState.unregisterDeferredLayerUpdater(this);
+    mRenderState.removeContextCallback(this);
+    destroyLayer();
+}
+
+void DeferredLayerUpdater::onContextDestroyed() {
     destroyLayer();
 }
 
diff --git a/libs/hwui/DeferredLayerUpdater.h b/libs/hwui/DeferredLayerUpdater.h
index 4c323b8..b2c5131 100644
--- a/libs/hwui/DeferredLayerUpdater.h
+++ b/libs/hwui/DeferredLayerUpdater.h
@@ -27,6 +27,7 @@
 #include <GLES2/gl2.h>
 #include <GLES2/gl2ext.h>
 
+#include "renderstate/RenderState.h"
 #include "surfacetexture/SurfaceTexture.h"
 #include "Layer.h"
 #include "Rect.h"
@@ -38,7 +39,7 @@
 
 // Container to hold the properties a layer should be set to at the start
 // of a render pass
-class DeferredLayerUpdater : public VirtualLightRefBase {
+class DeferredLayerUpdater : public VirtualLightRefBase, public IGpuContextCallback {
 public:
     // Note that DeferredLayerUpdater assumes it is taking ownership of the layer
     // and will not call incrementRef on it as a result.
@@ -98,6 +99,9 @@
 
     void destroyLayer();
 
+protected:
+    void onContextDestroyed() override;
+
 private:
     RenderState& mRenderState;
 
diff --git a/libs/hwui/DeviceInfo.cpp b/libs/hwui/DeviceInfo.cpp
index a43f58c..0b9d82b 100644
--- a/libs/hwui/DeviceInfo.cpp
+++ b/libs/hwui/DeviceInfo.cpp
@@ -26,8 +26,6 @@
 
 #include <log/log.h>
 
-#include <GLES2/gl2.h>
-
 namespace android {
 namespace uirenderer {
 
@@ -46,35 +44,12 @@
         1920,   // viewportH
 };
 
-static DeviceInfo* sDeviceInfo = nullptr;
-static std::once_flag sInitializedFlag;
-
 const DeviceInfo* DeviceInfo::get() {
-    LOG_ALWAYS_FATAL_IF(!sDeviceInfo, "DeviceInfo not yet initialized.");
-    return sDeviceInfo;
+        static DeviceInfo sDeviceInfo;
+        return &sDeviceInfo;
 }
 
-void DeviceInfo::initialize() {
-    std::call_once(sInitializedFlag, []() {
-        sDeviceInfo = new DeviceInfo();
-        sDeviceInfo->load();
-    });
-}
-
-void DeviceInfo::initialize(int maxTextureSize) {
-    std::call_once(sInitializedFlag, [maxTextureSize]() {
-        sDeviceInfo = new DeviceInfo();
-        sDeviceInfo->mDisplayInfo = DeviceInfo::queryDisplayInfo();
-        sDeviceInfo->mMaxTextureSize = maxTextureSize;
-    });
-}
-
-void DeviceInfo::load() {
-    mDisplayInfo = queryDisplayInfo();
-    glGetIntegerv(GL_MAX_TEXTURE_SIZE, &mMaxTextureSize);
-}
-
-DisplayInfo DeviceInfo::queryDisplayInfo() {
+DisplayInfo QueryDisplayInfo() {
     if (Properties::isolatedProcess) {
         return sDummyDisplay;
     }
@@ -86,5 +61,23 @@
     return displayInfo;
 }
 
+DeviceInfo::DeviceInfo() {
+#if HWUI_NULL_GPU
+        mMaxTextureSize = NULL_GPU_MAX_TEXTURE_SIZE;
+#else
+        mMaxTextureSize = -1;
+#endif
+    mDisplayInfo = QueryDisplayInfo();
+}
+
+int DeviceInfo::maxTextureSize() const {
+    LOG_ALWAYS_FATAL_IF(mMaxTextureSize < 0, "MaxTextureSize has not been initialized yet.");
+    return mMaxTextureSize;
+}
+
+void DeviceInfo::setMaxTextureSize(int maxTextureSize) {
+    const_cast<DeviceInfo*>(DeviceInfo::get())->mMaxTextureSize = maxTextureSize;
+}
+
 } /* namespace uirenderer */
 } /* namespace android */
diff --git a/libs/hwui/DeviceInfo.h b/libs/hwui/DeviceInfo.h
index 297b266..5956215 100644
--- a/libs/hwui/DeviceInfo.h
+++ b/libs/hwui/DeviceInfo.h
@@ -18,46 +18,34 @@
 
 #include <ui/DisplayInfo.h>
 
-#include "Extensions.h"
 #include "utils/Macros.h"
 
 namespace android {
 namespace uirenderer {
 
+namespace renderthread {
+    class RenderThread;
+}
+
 class DeviceInfo {
     PREVENT_COPY_AND_ASSIGN(DeviceInfo);
 
 public:
-    // returns nullptr if DeviceInfo is not initialized yet
-    // Note this does not have a memory fence so it's up to the caller
-    // to use one if required. Normally this should not be necessary
     static const DeviceInfo* get();
 
-    // only call this after GL has been initialized, or at any point if compiled
-    // with HWUI_NULL_GPU
-    static void initialize();
-    static void initialize(int maxTextureSize);
-
-    int maxTextureSize() const { return mMaxTextureSize; }
+    // this value is only valid after the GPU has been initialized and there is a valid graphics
+    // context or if you are using the HWUI_NULL_GPU
+    int maxTextureSize() const;
     const DisplayInfo& displayInfo() const { return mDisplayInfo; }
-    const Extensions& extensions() const { return mExtensions; }
-
-    static uint32_t multiplyByResolution(uint32_t in) {
-        auto di = DeviceInfo::get()->displayInfo();
-        return di.w * di.h * in;
-    }
-
-    static DisplayInfo queryDisplayInfo();
 
 private:
-    DeviceInfo() {}
-    ~DeviceInfo() {}
+    friend class renderthread::RenderThread;
+    static void setMaxTextureSize(int maxTextureSize);
 
-    void load();
+    DeviceInfo();
 
     int mMaxTextureSize;
     DisplayInfo mDisplayInfo;
-    Extensions mExtensions;
 };
 
 } /* namespace uirenderer */
diff --git a/libs/hwui/DisplayListOps.in b/libs/hwui/DisplayListOps.in
index f61c156..04cf611 100644
--- a/libs/hwui/DisplayListOps.in
+++ b/libs/hwui/DisplayListOps.in
@@ -49,4 +49,5 @@
 X(DrawPoints) 
 X(DrawVertices) 
 X(DrawAtlas) 
-X(DrawShadowRec)
\ No newline at end of file
+X(DrawShadowRec)
+X(DrawVectorDrawable)
\ No newline at end of file
diff --git a/libs/hwui/Extensions.h b/libs/hwui/Extensions.h
deleted file mode 100644
index e90f40c1..0000000
--- a/libs/hwui/Extensions.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2010 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.
- */
-
-#ifndef ANDROID_HWUI_EXTENSIONS_H
-#define ANDROID_HWUI_EXTENSIONS_H
-
-namespace android {
-namespace uirenderer {
-
-///////////////////////////////////////////////////////////////////////////////
-// Classes
-///////////////////////////////////////////////////////////////////////////////
-
-class Extensions {
-public:
-    Extensions() {}
-
-    inline bool hasNPot() const { return false; }
-    inline bool hasFramebufferFetch() const { return false; }
-    inline bool hasDiscardFramebuffer() const { return false; }
-    inline bool hasDebugMarker() const { return false; }
-    inline bool has1BitStencil() const { return false; }
-    inline bool has4BitStencil() const { return false; }
-    inline bool hasUnpackRowLength() const { return mVersionMajor >= 3; }
-    inline bool hasPixelBufferObjects() const { return mVersionMajor >= 3; }
-    inline bool hasOcclusionQueries() const { return mVersionMajor >= 3; }
-    inline bool hasFloatTextures() const { return mVersionMajor >= 3; }
-    inline bool hasRenderableFloatTextures() const {
-        return (mVersionMajor >= 3 && mVersionMinor >= 2);
-    }
-    inline bool hasSRGB() const { return false; }
-    inline bool hasSRGBWriteControl() const { return hasSRGB() && false; }
-    inline bool hasLinearBlending() const { return hasSRGB() && false; }
-
-    inline int getMajorGlVersion() const { return mVersionMajor; }
-    inline int getMinorGlVersion() const { return mVersionMinor; }
-
-private:
-    int mVersionMajor = 2;
-    int mVersionMinor = 0;
-};  // class Extensions
-
-};  // namespace uirenderer
-};  // namespace android
-
-#endif  // ANDROID_HWUI_EXTENSIONS_H
diff --git a/libs/hwui/HardwareBitmapUploader.cpp b/libs/hwui/HardwareBitmapUploader.cpp
index ab80d3d..165fc48 100644
--- a/libs/hwui/HardwareBitmapUploader.cpp
+++ b/libs/hwui/HardwareBitmapUploader.cpp
@@ -45,7 +45,7 @@
 }
 
 static void checkIdleTimeout() {
-    std::lock_guard{sLock};
+    std::lock_guard _lock{sLock};
     if (sPendingUploads == 0 && shouldTimeOutLocked()) {
         sEglManager.destroy();
     } else {
@@ -54,7 +54,7 @@
 }
 
 static void beginUpload() {
-    std::lock_guard{sLock};
+    std::lock_guard _lock{sLock};
     sPendingUploads++;
 
     if (!sUploadThread) {
@@ -75,13 +75,13 @@
 }
 
 static void endUpload() {
-    std::lock_guard{sLock};
+    std::lock_guard _lock{sLock};
     sPendingUploads--;
     sLastUpload = systemTime();
 }
 
 static EGLDisplay getUploadEglDisplay() {
-    std::lock_guard{sLock};
+    std::lock_guard _lock{sLock};
     LOG_ALWAYS_FATAL_IF(!sEglManager.hasEglContext(), "Forgot to begin an upload?");
     return sEglManager.eglDisplay();
 }
@@ -107,39 +107,6 @@
 
 #define FENCE_TIMEOUT 2000000000
 
-class AutoEglImage {
-public:
-    AutoEglImage(EGLDisplay display, EGLClientBuffer clientBuffer) : mDisplay(display) {
-        EGLint imageAttrs[] = {EGL_IMAGE_PRESERVED_KHR, EGL_TRUE, EGL_NONE};
-        image = eglCreateImageKHR(display, EGL_NO_CONTEXT, EGL_NATIVE_BUFFER_ANDROID, clientBuffer,
-                                  imageAttrs);
-    }
-
-    ~AutoEglImage() {
-        if (image != EGL_NO_IMAGE_KHR) {
-            eglDestroyImageKHR(mDisplay, image);
-        }
-    }
-
-    EGLImageKHR image = EGL_NO_IMAGE_KHR;
-
-private:
-    EGLDisplay mDisplay = EGL_NO_DISPLAY;
-};
-
-class AutoSkiaGlTexture {
-public:
-    AutoSkiaGlTexture() {
-        glGenTextures(1, &mTexture);
-        glBindTexture(GL_TEXTURE_2D, mTexture);
-    }
-
-    ~AutoSkiaGlTexture() { glDeleteTextures(1, &mTexture); }
-
-private:
-    GLuint mTexture = 0;
-};
-
 struct FormatInfo {
     PixelFormat pixelFormat;
     GLint format, type;
diff --git a/libs/hwui/JankTracker.cpp b/libs/hwui/JankTracker.cpp
index e6d2a6f..f2d50cd 100644
--- a/libs/hwui/JankTracker.cpp
+++ b/libs/hwui/JankTracker.cpp
@@ -146,7 +146,7 @@
                              frame[FrameInfoIndex::IntendedVsync] + mFrameInterval);
 
     // If we hit the deadline, cool!
-    if (frame[FrameInfoIndex::FrameCompleted] < mSwapDeadline) {
+    if (frame[FrameInfoIndex::FrameCompleted] < mSwapDeadline || totalDuration < mFrameInterval) {
         if (isTripleBuffered) {
             mData->reportJankType(JankType::kHighInputLatency);
             (*mGlobalData)->reportJankType(JankType::kHighInputLatency);
diff --git a/libs/hwui/LayerUpdateQueue.h b/libs/hwui/LayerUpdateQueue.h
index b14b80c..6857999 100644
--- a/libs/hwui/LayerUpdateQueue.h
+++ b/libs/hwui/LayerUpdateQueue.h
@@ -19,6 +19,7 @@
 
 #include <utils/StrongPointer.h>
 #include "Rect.h"
+#include "RenderNode.h"
 #include "utils/Macros.h"
 
 #include <unordered_map>
diff --git a/libs/hwui/Properties.cpp b/libs/hwui/Properties.cpp
index 17bec19..a699e2f 100644
--- a/libs/hwui/Properties.cpp
+++ b/libs/hwui/Properties.cpp
@@ -61,6 +61,7 @@
 bool Properties::disableVsync = false;
 bool Properties::skpCaptureEnabled = false;
 bool Properties::forceDarkMode = false;
+bool Properties::enableForceDarkSupport = false;
 bool Properties::enableRTAnimations = true;
 
 bool Properties::runningInEmulator = false;
@@ -149,6 +150,9 @@
 
     forceDarkMode = property_get_bool(PROPERTY_FORCE_DARK, false);
 
+    // TODO: make this on by default
+    enableForceDarkSupport = property_get_bool(PROPERTY_ENABLE_FORCE_DARK, false);
+
     return (prevDebugLayersUpdates != debugLayersUpdates) || (prevDebugOverdraw != debugOverdraw) ||
            (prevDebugStencilClip != debugStencilClip);
 }
diff --git a/libs/hwui/Properties.h b/libs/hwui/Properties.h
index ea017a7..542bc71 100644
--- a/libs/hwui/Properties.h
+++ b/libs/hwui/Properties.h
@@ -192,6 +192,8 @@
 
 #define PROPERTY_FORCE_DARK "debug.hwui.force_dark"
 
+#define PROPERTY_ENABLE_FORCE_DARK "debug.hwui.force_dark_enabled"
+
 ///////////////////////////////////////////////////////////////////////////////
 // Misc
 ///////////////////////////////////////////////////////////////////////////////
@@ -266,6 +268,7 @@
 
     static bool skpCaptureEnabled;
     static bool forceDarkMode;
+    static bool enableForceDarkSupport;
 
     // For experimentation b/68769804
     ANDROID_API static bool enableRTAnimations;
diff --git a/libs/hwui/RecordingCanvas.cpp b/libs/hwui/RecordingCanvas.cpp
index 3eaff03..c30af84 100644
--- a/libs/hwui/RecordingCanvas.cpp
+++ b/libs/hwui/RecordingCanvas.cpp
@@ -16,6 +16,8 @@
 
 #include "RecordingCanvas.h"
 
+#include "VectorDrawable.h"
+
 #include "SkCanvas.h"
 #include "SkData.h"
 #include "SkDrawShadowInfo.h"
@@ -278,8 +280,8 @@
 
 struct DrawImage final : Op {
     static const auto kType = Type::DrawImage;
-    DrawImage(sk_sp<const SkImage>&& image, SkScalar x, SkScalar y, const SkPaint* paint)
-            : image(std::move(image)), x(x), y(y) {
+    DrawImage(sk_sp<const SkImage>&& image, SkScalar x, SkScalar y, const SkPaint* paint, BitmapPalette palette)
+            : image(std::move(image)), x(x), y(y), palette(palette) {
         if (paint) {
             this->paint = *paint;
         }
@@ -287,6 +289,7 @@
     sk_sp<const SkImage> image;
     SkScalar x, y;
     SkPaint paint;
+    BitmapPalette palette;
     void draw(SkCanvas* c, const SkMatrix&) const { c->drawImage(image.get(), x, y, &paint); }
 };
 struct DrawImageNine final : Op {
@@ -309,8 +312,8 @@
 struct DrawImageRect final : Op {
     static const auto kType = Type::DrawImageRect;
     DrawImageRect(sk_sp<const SkImage>&& image, const SkRect* src, const SkRect& dst,
-                  const SkPaint* paint, SkCanvas::SrcRectConstraint constraint)
-            : image(std::move(image)), dst(dst), constraint(constraint) {
+                  const SkPaint* paint, SkCanvas::SrcRectConstraint constraint, BitmapPalette palette)
+            : image(std::move(image)), dst(dst), constraint(constraint), palette(palette) {
         this->src = src ? *src : SkRect::MakeIWH(this->image->width(), this->image->height());
         if (paint) {
             this->paint = *paint;
@@ -320,6 +323,7 @@
     SkRect src, dst;
     SkPaint paint;
     SkCanvas::SrcRectConstraint constraint;
+    BitmapPalette palette;
     void draw(SkCanvas* c, const SkMatrix&) const {
         c->drawImageRect(image.get(), src, dst, &paint, constraint);
     }
@@ -496,6 +500,27 @@
     SkDrawShadowRec fRec;
     void draw(SkCanvas* c, const SkMatrix&) const { c->private_draw_shadow_rec(fPath, fRec); }
 };
+
+struct DrawVectorDrawable final : Op {
+    static const auto kType = Type::DrawVectorDrawable;
+    DrawVectorDrawable(VectorDrawableRoot* tree)
+            : mRoot(tree)
+            , mBounds(tree->stagingProperties().getBounds())
+            , palette(tree->computePalette()) {
+        // Recording, so use staging properties
+        tree->getPaintFor(&paint, tree->stagingProperties());
+    }
+
+    void draw(SkCanvas* canvas, const SkMatrix&) const {
+        mRoot->draw(canvas, mBounds, paint);
+    }
+
+    sp<VectorDrawableRoot> mRoot;
+    SkRect mBounds;
+    SkPaint paint;
+    BitmapPalette palette;
+};
+
 }
 
 template <typename T, typename... Args>
@@ -609,8 +634,8 @@
     this->push<DrawPicture>(0, picture, matrix, paint);
 }
 void DisplayListData::drawImage(sk_sp<const SkImage> image, SkScalar x, SkScalar y,
-                                const SkPaint* paint) {
-    this->push<DrawImage>(0, std::move(image), x, y, paint);
+                                const SkPaint* paint, BitmapPalette palette) {
+    this->push<DrawImage>(0, std::move(image), x, y, paint, palette);
 }
 void DisplayListData::drawImageNine(sk_sp<const SkImage> image, const SkIRect& center,
                                     const SkRect& dst, const SkPaint* paint) {
@@ -618,8 +643,8 @@
 }
 void DisplayListData::drawImageRect(sk_sp<const SkImage> image, const SkRect* src,
                                     const SkRect& dst, const SkPaint* paint,
-                                    SkCanvas::SrcRectConstraint constraint) {
-    this->push<DrawImageRect>(0, std::move(image), src, dst, paint, constraint);
+                                    SkCanvas::SrcRectConstraint constraint, BitmapPalette palette) {
+    this->push<DrawImageRect>(0, std::move(image), src, dst, paint, constraint, palette);
 }
 void DisplayListData::drawImageLattice(sk_sp<const SkImage> image, const SkCanvas::Lattice& lattice,
                                        const SkRect& dst, const SkPaint* paint) {
@@ -638,28 +663,33 @@
                                const SkPaint& paint) {
     void* pod = this->push<DrawText>(bytes, bytes, x, y, paint);
     copy_v(pod, (const char*)text, bytes);
+    mHasText = true;
 }
 void DisplayListData::drawPosText(const void* text, size_t bytes, const SkPoint pos[],
                                   const SkPaint& paint) {
     int n = paint.countText(text, bytes);
     void* pod = this->push<DrawPosText>(n * sizeof(SkPoint) + bytes, bytes, paint, n);
     copy_v(pod, pos, n, (const char*)text, bytes);
+    mHasText = true;
 }
 void DisplayListData::drawPosTextH(const void* text, size_t bytes, const SkScalar xs[], SkScalar y,
                                    const SkPaint& paint) {
     int n = paint.countText(text, bytes);
     void* pod = this->push<DrawPosTextH>(n * sizeof(SkScalar) + bytes, bytes, y, paint, n);
     copy_v(pod, xs, n, (const char*)text, bytes);
+    mHasText = true;
 }
 void DisplayListData::drawTextRSXform(const void* text, size_t bytes, const SkRSXform xforms[],
                                       const SkRect* cull, const SkPaint& paint) {
     int n = paint.countText(text, bytes);
     void* pod = this->push<DrawTextRSXform>(bytes + n * sizeof(SkRSXform), bytes, n, cull, paint);
     copy_v(pod, xforms, n, (const char*)text, bytes);
+    mHasText = true;
 }
 void DisplayListData::drawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y,
                                    const SkPaint& paint) {
     this->push<DrawTextBlob>(0, blob, x, y, paint);
+    mHasText = true;
 }
 
 void DisplayListData::drawPatch(const SkPoint points[12], const SkColor colors[4],
@@ -691,6 +721,9 @@
 void DisplayListData::drawShadowRec(const SkPath& path, const SkDrawShadowRec& rec) {
     this->push<DrawShadowRec>(0, path, rec);
 }
+void DisplayListData::drawVectorDrawable(VectorDrawableRoot* tree) {
+    this->push<DrawVectorDrawable>(0, tree);
+}
 
 typedef void (*draw_fn)(const void*, SkCanvas*, const SkMatrix&);
 typedef void (*void_fn)(const void*);
@@ -733,20 +766,35 @@
 }
 
 template <class T>
-using has_paint_t = decltype(std::declval<T>().paint);
+using has_paint_helper = decltype(std::declval<T>().paint);
+
+template <class T>
+constexpr bool has_paint = std::experimental::is_detected_v<has_paint_helper, T>;
+
+template <class T>
+using has_palette_helper = decltype(std::declval<T>().palette);
+
+template <class T>
+constexpr bool has_palette = std::experimental::is_detected_v<has_palette_helper, T>;
 
 template <class T>
 constexpr color_transform_fn colorTransformForOp() {
-    if
-        constexpr(std::experimental::is_detected_v<has_paint_t, T>) {
-            return [](const void* op, ColorTransform transform) {
-                // TODO: We should be const. Or not. Or just use a different map
-                // Unclear, but this is the quick fix
-                transformPaint(transform,
-                               const_cast<SkPaint*>(&(reinterpret_cast<const T*>(op)->paint)));
-            };
-        }
-    else {
+    if constexpr(has_paint<T> && has_palette<T>) {
+        // It's a bitmap
+        return [](const void* opRaw, ColorTransform transform) {
+            // TODO: We should be const. Or not. Or just use a different map
+            // Unclear, but this is the quick fix
+            const T* op = reinterpret_cast<const T*>(opRaw);
+            transformPaint(transform, const_cast<SkPaint*>(&(op->paint)), op->palette);
+        };
+    } else if constexpr(has_paint<T>) {
+        return [](const void* opRaw, ColorTransform transform) {
+            // TODO: We should be const. Or not. Or just use a different map
+            // Unclear, but this is the quick fix
+            const T* op = reinterpret_cast<const T*>(opRaw);
+            transformPaint(transform, const_cast<SkPaint*>(&(op->paint)));
+        };
+    } else {
         return nullptr;
     }
 }
@@ -875,7 +923,7 @@
 
 void RecordingCanvas::onDrawBitmap(const SkBitmap& bm, SkScalar x, SkScalar y,
                                    const SkPaint* paint) {
-    fDL->drawImage(SkImage::MakeFromBitmap(bm), x, y, paint);
+    fDL->drawImage(SkImage::MakeFromBitmap(bm), x, y, paint, BitmapPalette::Unknown);
 }
 void RecordingCanvas::onDrawBitmapNine(const SkBitmap& bm, const SkIRect& center, const SkRect& dst,
                                        const SkPaint* paint) {
@@ -883,16 +931,26 @@
 }
 void RecordingCanvas::onDrawBitmapRect(const SkBitmap& bm, const SkRect* src, const SkRect& dst,
                                        const SkPaint* paint, SrcRectConstraint constraint) {
-    fDL->drawImageRect(SkImage::MakeFromBitmap(bm), src, dst, paint, constraint);
+    fDL->drawImageRect(SkImage::MakeFromBitmap(bm), src, dst, paint, constraint, BitmapPalette::Unknown);
 }
 void RecordingCanvas::onDrawBitmapLattice(const SkBitmap& bm, const SkCanvas::Lattice& lattice,
                                           const SkRect& dst, const SkPaint* paint) {
     fDL->drawImageLattice(SkImage::MakeFromBitmap(bm), lattice, dst, paint);
 }
 
+void RecordingCanvas::drawImage(const sk_sp<SkImage>& image, SkScalar x, SkScalar y,
+                                const SkPaint* paint, BitmapPalette palette) {
+    fDL->drawImage(image, x, y, paint, palette);
+}
+
+void RecordingCanvas::drawImageRect(const sk_sp<SkImage>& image, const SkRect& src, const SkRect& dst,
+                   const SkPaint* paint, SrcRectConstraint constraint, BitmapPalette palette) {
+    fDL->drawImageRect(image, &src, dst, paint, constraint, palette);
+}
+
 void RecordingCanvas::onDrawImage(const SkImage* img, SkScalar x, SkScalar y,
                                   const SkPaint* paint) {
-    fDL->drawImage(sk_ref_sp(img), x, y, paint);
+    fDL->drawImage(sk_ref_sp(img), x, y, paint, BitmapPalette::Unknown);
 }
 void RecordingCanvas::onDrawImageNine(const SkImage* img, const SkIRect& center, const SkRect& dst,
                                       const SkPaint* paint) {
@@ -900,7 +958,7 @@
 }
 void RecordingCanvas::onDrawImageRect(const SkImage* img, const SkRect* src, const SkRect& dst,
                                       const SkPaint* paint, SrcRectConstraint constraint) {
-    fDL->drawImageRect(sk_ref_sp(img), src, dst, paint, constraint);
+    fDL->drawImageRect(sk_ref_sp(img), src, dst, paint, constraint, BitmapPalette::Unknown);
 }
 void RecordingCanvas::onDrawImageLattice(const SkImage* img, const SkCanvas::Lattice& lattice,
                                          const SkRect& dst, const SkPaint* paint) {
@@ -930,5 +988,9 @@
     fDL->drawShadowRec(path, rec);
 }
 
+void RecordingCanvas::drawVectorDrawable(VectorDrawableRoot* tree) {
+    fDL->drawVectorDrawable(tree);
+}
+
 };  // namespace uirenderer
 };  // namespace android
diff --git a/libs/hwui/RecordingCanvas.h b/libs/hwui/RecordingCanvas.h
index 32ce1d3..80c80ca 100644
--- a/libs/hwui/RecordingCanvas.h
+++ b/libs/hwui/RecordingCanvas.h
@@ -17,6 +17,7 @@
 #pragma once
 
 #include "CanvasTransform.h"
+#include "hwui/Bitmap.h"
 #include "hwui/Canvas.h"
 #include "utils/Macros.h"
 #include "utils/TypeLogic.h"
@@ -53,6 +54,7 @@
 
 class DisplayListData final {
 public:
+    DisplayListData() : mHasText(false) {}
     ~DisplayListData();
 
     void draw(SkCanvas* canvas) const;
@@ -62,6 +64,8 @@
 
     void applyColorTransform(ColorTransform transform);
 
+    bool hasText() const { return mHasText; }
+
 private:
     friend class RecordingCanvas;
 
@@ -101,10 +105,10 @@
     void drawTextRSXform(const void*, size_t, const SkRSXform[], const SkRect*, const SkPaint&);
     void drawTextBlob(const SkTextBlob*, SkScalar, SkScalar, const SkPaint&);
 
-    void drawImage(sk_sp<const SkImage>, SkScalar, SkScalar, const SkPaint*);
+    void drawImage(sk_sp<const SkImage>, SkScalar, SkScalar, const SkPaint*, BitmapPalette palette);
     void drawImageNine(sk_sp<const SkImage>, const SkIRect&, const SkRect&, const SkPaint*);
     void drawImageRect(sk_sp<const SkImage>, const SkRect*, const SkRect&, const SkPaint*,
-                       SkCanvas::SrcRectConstraint);
+                       SkCanvas::SrcRectConstraint, BitmapPalette palette);
     void drawImageLattice(sk_sp<const SkImage>, const SkCanvas::Lattice&, const SkRect&,
                           const SkPaint*);
 
@@ -116,6 +120,7 @@
     void drawAtlas(const SkImage*, const SkRSXform[], const SkRect[], const SkColor[], int,
                    SkBlendMode, const SkRect*, const SkPaint*);
     void drawShadowRec(const SkPath&, const SkDrawShadowRec&);
+    void drawVectorDrawable(VectorDrawableRoot* tree);
 
     template <typename T, typename... Args>
     void* push(size_t, Args&&...);
@@ -126,6 +131,8 @@
     SkAutoTMalloc<uint8_t> fBytes;
     size_t fUsed = 0;
     size_t fReserved = 0;
+
+    bool mHasText : 1;
 };
 
 class RecordingCanvas final : public SkCanvasVirtualEnforcer<SkNoDrawCanvas> {
@@ -178,6 +185,12 @@
     void onDrawBitmapRect(const SkBitmap&, const SkRect*, const SkRect&, const SkPaint*,
                           SrcRectConstraint) override;
 
+    void drawImage(const sk_sp<SkImage>& image, SkScalar left, SkScalar top,
+                   const SkPaint* paint, BitmapPalette pallete);
+
+    void drawImageRect(const sk_sp<SkImage>& image, const SkRect& src, const SkRect& dst,
+                       const SkPaint* paint, SrcRectConstraint constraint, BitmapPalette palette);
+
     void onDrawImage(const SkImage*, SkScalar, SkScalar, const SkPaint*) override;
     void onDrawImageLattice(const SkImage*, const Lattice&, const SkRect&, const SkPaint*) override;
     void onDrawImageNine(const SkImage*, const SkIRect&, const SkRect&, const SkPaint*) override;
@@ -193,6 +206,8 @@
                      SkBlendMode, const SkRect*, const SkPaint*) override;
     void onDrawShadowRec(const SkPath&, const SkDrawShadowRec&) override;
 
+    void drawVectorDrawable(VectorDrawableRoot* tree);
+
 private:
     typedef SkCanvasVirtualEnforcer<SkNoDrawCanvas> INHERITED;
 
diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp
index d5afb20..d9a7cc3 100644
--- a/libs/hwui/RenderNode.cpp
+++ b/libs/hwui/RenderNode.cpp
@@ -112,7 +112,9 @@
     LOG_ALWAYS_FATAL_IF(!info.damageAccumulator, "DamageAccumulator missing");
     MarkAndSweepRemoved observer(&info);
 
+    const int before = info.disableForceDark;
     prepareTreeImpl(observer, info, false);
+    LOG_ALWAYS_FATAL_IF(before != info.disableForceDark, "Mis-matched force dark");
 }
 
 void RenderNode::addAnimator(const sp<BaseRenderNodeAnimator>& animator) {
@@ -158,7 +160,7 @@
         CC_UNLIKELY(properties().getWidth() == 0) || CC_UNLIKELY(properties().getHeight() == 0) ||
         CC_UNLIKELY(!properties().fitsOnLayer())) {
         if (CC_UNLIKELY(hasLayer())) {
-            renderthread::CanvasContext::destroyLayer(this);
+            this->setLayerSurface(nullptr);
         }
         return;
     }
@@ -195,6 +197,11 @@
     if (info.mode == TreeInfo::MODE_FULL) {
         pushStagingPropertiesChanges(info);
     }
+
+    if (!mProperties.getAllowForceDark()) {
+        info.disableForceDark++;
+    }
+
     uint32_t animatorDirtyMask = 0;
     if (CC_LIKELY(info.runAnimations)) {
         animatorDirtyMask = mAnimatorManager.animate(info);
@@ -232,6 +239,9 @@
     }
     pushLayerUpdate(info);
 
+    if (!mProperties.getAllowForceDark()) {
+        info.disableForceDark--;
+    }
     info.damageAccumulator->popTransform();
 }
 
@@ -272,8 +282,12 @@
     mStagingDisplayList = nullptr;
     if (mDisplayList) {
         mDisplayList->syncContents();
-        if (CC_UNLIKELY(Properties::forceDarkMode)) {
+
+        if (CC_UNLIKELY(info && !info->disableForceDark)) {
             auto usage = usageHint();
+            if (mDisplayList->hasText()) {
+                usage = UsageHint::Foreground;
+            }
             if (usage == UsageHint::Unknown) {
                 if (mDisplayList->mChildNodes.size() > 1) {
                     usage = UsageHint::Background;
@@ -313,7 +327,7 @@
 
 void RenderNode::destroyHardwareResources(TreeInfo* info) {
     if (hasLayer()) {
-        renderthread::CanvasContext::destroyLayer(this);
+        this->setLayerSurface(nullptr);
     }
     setStagingDisplayList(nullptr);
 
@@ -323,7 +337,7 @@
 
 void RenderNode::destroyLayers() {
     if (hasLayer()) {
-        renderthread::CanvasContext::destroyLayer(this);
+        this->setLayerSurface(nullptr);
     }
     if (mDisplayList) {
         mDisplayList->updateChildren([](RenderNode* child) { child->destroyLayers(); });
diff --git a/libs/hwui/RenderNode.h b/libs/hwui/RenderNode.h
index 83b0c22..211dd2d 100644
--- a/libs/hwui/RenderNode.h
+++ b/libs/hwui/RenderNode.h
@@ -107,7 +107,7 @@
     bool isRenderable() const { return mDisplayList && !mDisplayList->isEmpty(); }
 
     bool hasProjectionReceiver() const {
-        return mDisplayList && mDisplayList->projectionReceiveIndex >= 0;
+        return mDisplayList && mDisplayList->containsProjectionReceiver();
     }
 
     const char* getName() const { return mName.string(); }
diff --git a/libs/hwui/RenderProperties.h b/libs/hwui/RenderProperties.h
index 7966845..04379ae 100644
--- a/libs/hwui/RenderProperties.h
+++ b/libs/hwui/RenderProperties.h
@@ -535,6 +535,14 @@
         return CC_UNLIKELY(promotedToLayer()) ? LayerType::RenderLayer : mLayerProperties.mType;
     }
 
+    bool setAllowForceDark(bool allow) {
+        return RP_SET(mPrimitiveFields.mAllowForceDark, allow);
+    }
+
+    bool getAllowForceDark() const {
+        return mPrimitiveFields.mAllowForceDark;
+    }
+
 private:
     // Rendering properties
     struct PrimitiveFields {
@@ -554,6 +562,7 @@
         bool mMatrixOrPivotDirty = false;
         bool mProjectBackwards = false;
         bool mProjectionReceiver = false;
+        bool mAllowForceDark = true;
         Rect mClipBounds;
         Outline mOutline;
         RevealClip mRevealClip;
diff --git a/libs/hwui/TreeInfo.cpp b/libs/hwui/TreeInfo.cpp
new file mode 100644
index 0000000..808a12a
--- /dev/null
+++ b/libs/hwui/TreeInfo.cpp
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+#include "TreeInfo.h"
+
+#include "renderthread/CanvasContext.h"
+
+namespace android::uirenderer {
+
+TreeInfo::TreeInfo(TraversalMode mode, renderthread::CanvasContext& canvasContext)
+        : mode(mode)
+        , prepareTextures(mode == MODE_FULL)
+        , canvasContext(canvasContext)
+        , disableForceDark(canvasContext.useForceDark() ? 0 : 1) {}
+
+}  // namespace android::uirenderer
diff --git a/libs/hwui/TreeInfo.h b/libs/hwui/TreeInfo.h
index f2766d6..a0d9605 100644
--- a/libs/hwui/TreeInfo.h
+++ b/libs/hwui/TreeInfo.h
@@ -16,6 +16,7 @@
 
 #pragma once
 
+#include "Properties.h"
 #include "utils/Macros.h"
 
 #include <utils/Timers.h>
@@ -39,7 +40,7 @@
     virtual void onError(const std::string& message) = 0;
 
 protected:
-    virtual ~ErrorHandler() {}
+    virtual ~ErrorHandler() = default;
 };
 
 class TreeObserver {
@@ -51,7 +52,7 @@
     virtual void onMaybeRemovedFromTree(RenderNode* node) = 0;
 
 protected:
-    virtual ~TreeObserver() {}
+    virtual ~TreeObserver() = default;
 };
 
 // This would be a struct, but we want to PREVENT_COPY_AND_ASSIGN
@@ -70,8 +71,7 @@
         MODE_RT_ONLY,
     };
 
-    TreeInfo(TraversalMode mode, renderthread::CanvasContext& canvasContext)
-            : mode(mode), prepareTextures(mode == MODE_FULL), canvasContext(canvasContext) {}
+    TreeInfo(TraversalMode mode, renderthread::CanvasContext& canvasContext);
 
     TraversalMode mode;
     // TODO: Remove this? Currently this is used to signal to stop preparing
@@ -93,6 +93,8 @@
 
     bool updateWindowPositions = false;
 
+    int disableForceDark;
+
     struct Out {
         bool hasFunctors = false;
         // This is only updated if evaluateAnimations is true
diff --git a/libs/hwui/VectorDrawable.cpp b/libs/hwui/VectorDrawable.cpp
index 9f82d0f..dbbe9f3 100644
--- a/libs/hwui/VectorDrawable.cpp
+++ b/libs/hwui/VectorDrawable.cpp
@@ -458,29 +458,22 @@
         mStagingCache.dirty = false;
     }
 
-    SkPaint tmpPaint;
-    SkPaint* paint = updatePaint(&tmpPaint, &mStagingProperties);
+    SkPaint paint;
+    getPaintFor(&paint, mStagingProperties);
     outCanvas->drawBitmap(*mStagingCache.bitmap, 0, 0, mStagingCache.bitmap->width(),
                           mStagingCache.bitmap->height(), mStagingProperties.getBounds().left(),
                           mStagingProperties.getBounds().top(),
                           mStagingProperties.getBounds().right(),
-                          mStagingProperties.getBounds().bottom(), paint);
+                          mStagingProperties.getBounds().bottom(), &paint);
 }
 
-SkPaint* Tree::getPaint() {
-    return updatePaint(&mPaint, &mProperties);
-}
-
-// Update the given paint with alpha and color filter. Return nullptr if no color filter is
-// specified and root alpha is 1. Otherwise, return updated paint.
-SkPaint* Tree::updatePaint(SkPaint* outPaint, TreeProperties* prop) {
+void Tree::getPaintFor(SkPaint* outPaint, const TreeProperties &prop) const {
     // HWUI always draws VD with bilinear filtering.
     outPaint->setFilterQuality(kLow_SkFilterQuality);
-    if (prop->getRootAlpha() < 1.0f || prop->getColorFilter() != nullptr) {
-        outPaint->setColorFilter(sk_ref_sp(prop->getColorFilter()));
-        outPaint->setAlpha(prop->getRootAlpha() * 255);
+    if (prop.getRootAlpha() < 1.0f || prop.getColorFilter() != nullptr) {
+        outPaint->setColorFilter(sk_ref_sp(prop.getColorFilter()));
+        outPaint->setAlpha(prop.getRootAlpha() * 255);
     }
-    return outPaint;
 }
 
 Bitmap& Tree::getBitmapUpdateIfDirty() {
@@ -553,11 +546,15 @@
     mAtlasKey = INVALID_ATLAS_KEY;
 }
 
-void Tree::draw(SkCanvas* canvas, const SkRect& bounds) {
+void Tree::draw(SkCanvas* canvas, const SkRect& bounds, const SkPaint& inPaint) {
+    // Update the paint for any animatable properties
+    SkPaint paint = inPaint;
+    paint.setAlpha(mProperties.getRootAlpha() * 255);
+
     SkRect src;
     sk_sp<SkSurface> vdSurface = mCache.getSurface(&src);
     if (vdSurface) {
-        canvas->drawImageRect(vdSurface->makeImageSnapshot().get(), src, bounds, getPaint(),
+        canvas->drawImageRect(vdSurface->makeImageSnapshot().get(), src, bounds, &paint,
                               SkCanvas::kFast_SrcRectConstraint);
     } else {
         // Handle the case when VectorDrawableAtlas has been destroyed, because of memory pressure.
@@ -570,7 +567,7 @@
         int scaledWidth = SkScalarCeilToInt(mProperties.getScaledWidth());
         int scaledHeight = SkScalarCeilToInt(mProperties.getScaledHeight());
         canvas->drawBitmapRect(skiaBitmap, SkRect::MakeWH(scaledWidth, scaledHeight), bounds,
-                               getPaint(), SkCanvas::kFast_SrcRectConstraint);
+                               &paint, SkCanvas::kFast_SrcRectConstraint);
         mCache.clear();
         markDirty();
     }
@@ -620,6 +617,80 @@
     }
 }
 
+class MinMaxAverage {
+public:
+    void add(float sample) {
+        if (mCount == 0) {
+            mMin = sample;
+            mMax = sample;
+        } else {
+            mMin = std::min(mMin, sample);
+            mMax = std::max(mMax, sample);
+        }
+        mTotal += sample;
+        mCount++;
+    }
+
+    float average() { return mTotal / mCount; }
+
+    float min() { return mMin; }
+
+    float max() { return mMax; }
+
+    float delta() { return mMax - mMin; }
+
+private:
+    float mMin = 0.0f;
+    float mMax = 0.0f;
+    float mTotal = 0.0f;
+    int mCount = 0;
+};
+
+BitmapPalette Tree::computePalette() {
+    // TODO Cache this and share the code with Bitmap.cpp
+
+    ATRACE_CALL();
+
+    // TODO: This calculation of converting to HSV & tracking min/max is probably overkill
+    // Experiment with something simpler since we just want to figure out if it's "color-ful"
+    // and then the average perceptual lightness.
+
+    MinMaxAverage hue, saturation, value;
+    int sampledCount = 0;
+
+    // Sample a grid of 100 pixels to get an overall estimation of the colors in play
+    mRootNode->forEachFillColor([&](SkColor color) {
+        if (SkColorGetA(color) < 75) {
+            return;
+        }
+        sampledCount++;
+        float hsv[3];
+        SkColorToHSV(color, hsv);
+        hue.add(hsv[0]);
+        saturation.add(hsv[1]);
+        value.add(hsv[2]);
+    });
+
+    if (sampledCount == 0) {
+        ALOGV("VectorDrawable is mostly translucent");
+        return BitmapPalette::Unknown;
+    }
+
+    ALOGV("samples = %d, hue [min = %f, max = %f, avg = %f]; saturation [min = %f, max = %f, avg = "
+          "%f]; value [min = %f, max = %f, avg = %f]",
+          sampledCount, hue.min(), hue.max(), hue.average(), saturation.min(), saturation.max(),
+          saturation.average(), value.min(), value.max(), value.average());
+
+    if (hue.delta() <= 20 && saturation.delta() <= .1f) {
+        if (value.average() >= .5f) {
+            return BitmapPalette::Light;
+        } else {
+            return BitmapPalette::Dark;
+        }
+    }
+    return BitmapPalette::Unknown;
+}
+
 };  // namespace VectorDrawable
 
 };  // namespace uirenderer
diff --git a/libs/hwui/VectorDrawable.h b/libs/hwui/VectorDrawable.h
index af0ae05..9c0bb16 100644
--- a/libs/hwui/VectorDrawable.h
+++ b/libs/hwui/VectorDrawable.h
@@ -120,6 +120,8 @@
     virtual void syncProperties() = 0;
     virtual void setAntiAlias(bool aa) = 0;
 
+    virtual void forEachFillColor(const std::function<void(SkColor)>& func) const { }
+
 protected:
     std::string mName;
     PropertyChangedListener* mPropertyChangedListener = nullptr;
@@ -349,6 +351,9 @@
         }
     }
     virtual void setAntiAlias(bool aa) { mAntiAlias = aa; }
+    void forEachFillColor(const std::function<void(SkColor)>& func) const override {
+        func(mStagingProperties.getFillColor());
+    }
 
 protected:
     const SkPath& getUpdatedPath(bool useStagingData, SkPath* tempStagingPath) override;
@@ -480,6 +485,12 @@
         }
     }
 
+    void forEachFillColor(const std::function<void(SkColor)>& func) const override {
+        for (auto& child : mChildren) {
+            child->forEachFillColor(func);
+        }
+    }
+
 private:
     GroupProperties mProperties = GroupProperties(this);
     GroupProperties mStagingProperties = GroupProperties(this);
@@ -495,8 +506,8 @@
 
     // Copy properties from the tree and use the give node as the root node
     Tree(const Tree* copy, Group* rootNode) : Tree(rootNode) {
-        mStagingProperties.syncAnimatableProperties(*copy->stagingProperties());
-        mStagingProperties.syncNonAnimatableProperties(*copy->stagingProperties());
+        mStagingProperties.syncAnimatableProperties(copy->stagingProperties());
+        mStagingProperties.syncNonAnimatableProperties(copy->stagingProperties());
     }
     // Draws the VD onto a bitmap cache, then the bitmap cache will be rendered onto the input
     // canvas. Returns the number of pixels needed for the bitmap cache.
@@ -506,7 +517,6 @@
 
     Bitmap& getBitmapUpdateIfDirty();
     void setAllowCaching(bool allowCaching) { mAllowCaching = allowCaching; }
-    SkPaint* getPaint();
     void syncProperties() {
         if (mStagingProperties.mNonAnimatablePropertiesDirty) {
             mCache.dirty |= (mProperties.mNonAnimatableProperties.viewportWidth !=
@@ -618,7 +628,7 @@
     };
     void onPropertyChanged(TreeProperties* prop);
     TreeProperties* mutateStagingProperties() { return &mStagingProperties; }
-    const TreeProperties* stagingProperties() const { return &mStagingProperties; }
+    const TreeProperties& stagingProperties() const { return mStagingProperties; }
 
     // This should only be called from animations on RT
     TreeProperties* mutateProperties() { return &mProperties; }
@@ -636,7 +646,10 @@
      * Draws VD cache into a canvas. This should always be called from RT and it works with Skia
      * pipelines only.
      */
-    void draw(SkCanvas* canvas, const SkRect& bounds);
+    void draw(SkCanvas* canvas, const SkRect& bounds, const SkPaint& paint);
+
+    void getPaintFor(SkPaint* outPaint, const TreeProperties &props) const;
+    BitmapPalette computePalette();
 
     /**
      * Draws VD into a GPU backed surface.
@@ -680,7 +693,6 @@
         skiapipeline::AtlasKey mAtlasKey = INVALID_ATLAS_KEY;
     };
 
-    SkPaint* updatePaint(SkPaint* outPaint, TreeProperties* prop);
     bool allocateBitmapIfNeeded(Cache& cache, int width, int height);
     bool canReuseBitmap(Bitmap*, int width, int height);
     void updateBitmapCache(Bitmap& outCache, bool useStagingData);
@@ -696,8 +708,6 @@
     TreeProperties mProperties = TreeProperties(this);
     TreeProperties mStagingProperties = TreeProperties(this);
 
-    SkPaint mPaint;
-
     Cache mStagingCache;
     Cache mCache;
 
diff --git a/libs/hwui/debug/wrap_gles.h b/libs/hwui/debug/wrap_gles.h
index 27a29aa..3da6e80 100644
--- a/libs/hwui/debug/wrap_gles.h
+++ b/libs/hwui/debug/wrap_gles.h
@@ -28,6 +28,9 @@
 #include <GLES3/gl31.h>
 #include <GLES3/gl32.h>
 
+// constant used by the NULL GPU implementation as well as HWUI's unit tests
+constexpr int NULL_GPU_MAX_TEXTURE_SIZE = 2048;
+
 // Generate stubs that route all the calls to our function table
 #include "gles_redefine.h"
 
diff --git a/libs/hwui/hwui/AnimatedImageDrawable.h b/libs/hwui/hwui/AnimatedImageDrawable.h
index 8a44b8b..f0aa35a 100644
--- a/libs/hwui/hwui/AnimatedImageDrawable.h
+++ b/libs/hwui/hwui/AnimatedImageDrawable.h
@@ -106,7 +106,7 @@
     Snapshot decodeNextFrame();
     Snapshot reset();
 
-    size_t byteSize() const { return sizeof(this) + mBytesUsed; }
+    size_t byteSize() const { return sizeof(*this) + mBytesUsed; }
 
 protected:
     virtual void onDraw(SkCanvas* canvas) override;
diff --git a/libs/hwui/hwui/Bitmap.cpp b/libs/hwui/hwui/Bitmap.cpp
index 440620a..9c28453 100644
--- a/libs/hwui/hwui/Bitmap.cpp
+++ b/libs/hwui/hwui/Bitmap.cpp
@@ -230,8 +230,6 @@
             mPixelStorage.hardware.buffer = nullptr;
             break;
     }
-
-    android::uirenderer::renderthread::RenderProxy::onBitmapDestroyed(getStableID());
 }
 
 bool Bitmap::hasHardwareMipMap() const {
@@ -330,15 +328,6 @@
     if (image->colorSpace() != nullptr && !image->colorSpace()->isSRGB()) {
         *outputColorFilter = SkToSRGBColorFilter::Make(image->refColorSpace());
     }
-
-    // TODO: Move this to the canvas (or other?) layer where we have the target lightness
-    // mode and can selectively do the right thing.
-    //    if (palette() != BitmapPalette::Unknown && uirenderer::Properties::forceDarkMode) {
-    //        SkHighContrastConfig config;
-    //        config.fInvertStyle = SkHighContrastConfig::InvertStyle::kInvertLightness;
-    //        *outputColorFilter =
-    //        SkHighContrastFilter::Make(config)->makeComposed(*outputColorFilter);
-    //    }
     return image;
 }
 
diff --git a/libs/hwui/hwui/Bitmap.h b/libs/hwui/hwui/Bitmap.h
index 170335d..43d457a 100644
--- a/libs/hwui/hwui/Bitmap.h
+++ b/libs/hwui/hwui/Bitmap.h
@@ -34,6 +34,8 @@
     Hardware,
 };
 
+// TODO: Find a better home for this. It's here because hwui/Bitmap is exported and CanvasTransform
+// isn't, but cleanup should be done
 enum class BitmapPalette {
     Unknown,
     Light,
diff --git a/libs/hwui/pipeline/skia/DumpOpsCanvas.h b/libs/hwui/pipeline/skia/DumpOpsCanvas.h
index dcfe6b3..e4ba13d 100644
--- a/libs/hwui/pipeline/skia/DumpOpsCanvas.h
+++ b/libs/hwui/pipeline/skia/DumpOpsCanvas.h
@@ -138,7 +138,7 @@
             renderNodeDrawable->getRenderNode()->output(mOutput, mLevel + 1);
             return;
         }
-        auto glFunctorDrawable = getGLFunctorDrawable(drawable);
+        auto glFunctorDrawable = getFunctorDrawable(drawable);
         if (nullptr != glFunctorDrawable) {
             mOutput << std::string(mLevel * 2, ' ') << "drawGLFunctorDrawable" << std::endl;
             return;
@@ -157,10 +157,10 @@
         return nullptr;
     }
 
-    GLFunctorDrawable* getGLFunctorDrawable(SkDrawable* drawable) {
+    FunctorDrawable* getFunctorDrawable(SkDrawable* drawable) {
         for (auto& child : mDisplayList.mChildFunctors) {
-            if (drawable == &child) {
-                return &child;
+            if (drawable == child) {
+                return child;
             }
         }
         return nullptr;
diff --git a/libs/hwui/pipeline/skia/FunctorDrawable.h b/libs/hwui/pipeline/skia/FunctorDrawable.h
new file mode 100644
index 0000000..162d137
--- /dev/null
+++ b/libs/hwui/pipeline/skia/FunctorDrawable.h
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+#pragma once
+
+#include "GlFunctorLifecycleListener.h"
+
+#include <SkCanvas.h>
+#include <SkDrawable.h>
+
+#include <utils/Functor.h>
+
+namespace android {
+namespace uirenderer {
+
+namespace skiapipeline {
+
+/**
+ * This drawable wraps a functor enabling it to be recorded into a list
+ * of Skia drawing commands.
+ */
+class FunctorDrawable : public SkDrawable {
+public:
+    FunctorDrawable(Functor* functor, GlFunctorLifecycleListener* listener, SkCanvas* canvas)
+            : mFunctor(functor), mListener(listener), mBounds(canvas->getLocalClipBounds()) {}
+    virtual ~FunctorDrawable() {}
+
+    virtual void syncFunctor() const = 0;
+
+protected:
+    virtual SkRect onGetBounds() override { return mBounds; }
+
+    Functor* mFunctor;
+    sp<GlFunctorLifecycleListener> mListener;
+    const SkRect mBounds;
+};
+
+};  // namespace skiapipeline
+};  // namespace uirenderer
+};  // namespace android
diff --git a/libs/hwui/pipeline/skia/GLFunctorDrawable.cpp b/libs/hwui/pipeline/skia/GLFunctorDrawable.cpp
index b0fec7a..90d5e71 100644
--- a/libs/hwui/pipeline/skia/GLFunctorDrawable.cpp
+++ b/libs/hwui/pipeline/skia/GLFunctorDrawable.cpp
@@ -18,7 +18,6 @@
 #include <GrContext.h>
 #include <private/hwui/DrawGlInfo.h>
 #include "GlFunctorLifecycleListener.h"
-#include "Properties.h"
 #include "RenderNode.h"
 #include "SkAndroidFrameworkUtils.h"
 #include "SkClipStack.h"
@@ -80,11 +79,6 @@
         return;
     }
 
-    if (Properties::getRenderPipelineType() == RenderPipelineType::SkiaVulkan) {
-        canvas->clear(SK_ColorRED);
-        return;
-    }
-
     GLuint fboID = 0;
     SkISize fboSize;
     if (!GetFboDetails(canvas, &fboID, &fboSize)) {
diff --git a/libs/hwui/pipeline/skia/GLFunctorDrawable.h b/libs/hwui/pipeline/skia/GLFunctorDrawable.h
index d9e65c9..dd6ef25 100644
--- a/libs/hwui/pipeline/skia/GLFunctorDrawable.h
+++ b/libs/hwui/pipeline/skia/GLFunctorDrawable.h
@@ -16,12 +16,8 @@
 
 #pragma once
 
-#include "GlFunctorLifecycleListener.h"
+#include "FunctorDrawable.h"
 
-#include <SkCanvas.h>
-#include <SkDrawable.h>
-
-#include <utils/Functor.h>
 #include <utils/RefBase.h>
 
 namespace android {
@@ -33,22 +29,16 @@
  * This drawable wraps a OpenGL functor enabling it to be recorded into a list
  * of Skia drawing commands.
  */
-class GLFunctorDrawable : public SkDrawable {
+class GLFunctorDrawable : public FunctorDrawable {
 public:
     GLFunctorDrawable(Functor* functor, GlFunctorLifecycleListener* listener, SkCanvas* canvas)
-            : mFunctor(functor), mListener(listener), mBounds(canvas->getLocalClipBounds()) {}
+            : FunctorDrawable(functor, listener, canvas) {}
     virtual ~GLFunctorDrawable();
 
-    void syncFunctor() const;
+    void syncFunctor() const override;
 
 protected:
-    virtual SkRect onGetBounds() override { return mBounds; }
     virtual void onDraw(SkCanvas* canvas) override;
-
-private:
-    Functor* mFunctor;
-    sp<GlFunctorLifecycleListener> mListener;
-    const SkRect mBounds;
 };
 
 };  // namespace skiapipeline
diff --git a/libs/hwui/pipeline/skia/SkiaDisplayList.cpp b/libs/hwui/pipeline/skia/SkiaDisplayList.cpp
index 82179a3..3890513 100644
--- a/libs/hwui/pipeline/skia/SkiaDisplayList.cpp
+++ b/libs/hwui/pipeline/skia/SkiaDisplayList.cpp
@@ -29,7 +29,7 @@
 
 void SkiaDisplayList::syncContents() {
     for (auto& functor : mChildFunctors) {
-        functor.syncFunctor();
+        functor->syncFunctor();
     }
     for (auto& animatedImage : mAnimatedImages) {
         animatedImage->syncProperties();
@@ -132,7 +132,6 @@
     mChildFunctors.clear();
     mChildNodes.clear();
 
-    projectionReceiveIndex = -1;
     allocator.~LinearAllocator();
     new (&allocator) LinearAllocator();
 }
diff --git a/libs/hwui/pipeline/skia/SkiaDisplayList.h b/libs/hwui/pipeline/skia/SkiaDisplayList.h
index 4f30f98..ac7bb7b 100644
--- a/libs/hwui/pipeline/skia/SkiaDisplayList.h
+++ b/libs/hwui/pipeline/skia/SkiaDisplayList.h
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "hwui/AnimatedImageDrawable.h"
-#include "GLFunctorDrawable.h"
+#include "FunctorDrawable.h"
 #include "RecordingCanvas.h"
 #include "RenderNodeDrawable.h"
 #include "TreeInfo.h"
@@ -49,9 +49,6 @@
  */
 class SkiaDisplayList {
 public:
-    // index of DisplayListOp restore, after which projected descendants should be drawn
-    int projectionReceiveIndex = -1;
-
     size_t getUsedSize() { return allocator.usedSize(); }
 
     ~SkiaDisplayList() {
@@ -77,7 +74,7 @@
      * that creates them. Allocator dtor invokes all SkDrawable dtors.
      */
     template <class T, typename... Params>
-    SkDrawable* allocateDrawable(Params&&... params) {
+    T* allocateDrawable(Params&&... params) {
         return allocator.create<T>(std::forward<Params>(params)...);
     }
 
@@ -96,6 +93,8 @@
      */
     bool hasVectorDrawables() const { return !mVectorDrawables.empty(); }
 
+    bool hasText() const { return mDisplayList.hasText(); }
+
     /**
      * Attempts to reset and reuse this DisplayList.
      *
@@ -155,7 +154,7 @@
      * cannot relocate.
      */
     std::deque<RenderNodeDrawable> mChildNodes;
-    std::deque<GLFunctorDrawable> mChildFunctors;
+    std::deque<FunctorDrawable*> mChildFunctors;
     std::vector<SkImage*> mMutableImages;
     std::vector<VectorDrawableRoot*> mVectorDrawables;
     std::vector<AnimatedImageDrawable*> mAnimatedImages;
diff --git a/libs/hwui/pipeline/skia/SkiaOpenGLPipeline.cpp b/libs/hwui/pipeline/skia/SkiaOpenGLPipeline.cpp
index d58b59e..d401b38 100644
--- a/libs/hwui/pipeline/skia/SkiaOpenGLPipeline.cpp
+++ b/libs/hwui/pipeline/skia/SkiaOpenGLPipeline.cpp
@@ -21,12 +21,15 @@
 #include "SkiaPipeline.h"
 #include "SkiaProfileRenderer.h"
 #include "hwui/Bitmap.h"
+#include "private/hwui/DrawGlInfo.h"
 #include "renderstate/RenderState.h"
 #include "renderthread/EglManager.h"
 #include "renderthread/Frame.h"
 #include "utils/GLUtils.h"
 #include "utils/TraceUtils.h"
 
+#include <GLES3/gl3.h>
+
 #include <GrBackendSurface.h>
 #include <SkBlendMode.h>
 #include <SkImageInfo.h>
@@ -41,7 +44,13 @@
 namespace skiapipeline {
 
 SkiaOpenGLPipeline::SkiaOpenGLPipeline(RenderThread& thread)
-        : SkiaPipeline(thread), mEglManager(thread.eglManager()) {}
+        : SkiaPipeline(thread), mEglManager(thread.eglManager()) {
+    thread.renderState().registerContextCallback(this);
+}
+
+SkiaOpenGLPipeline::~SkiaOpenGLPipeline() {
+    mRenderThread.renderState().removeContextCallback(this);
+}
 
 MakeCurrentResult SkiaOpenGLPipeline::makeCurrent() {
     // TODO: Figure out why this workaround is needed, see b/13913604
@@ -62,21 +71,23 @@
 bool SkiaOpenGLPipeline::draw(const Frame& frame, const SkRect& screenDirty, const SkRect& dirty,
                               const LightGeometry& lightGeometry,
                               LayerUpdateQueue* layerUpdateQueue, const Rect& contentDrawBounds,
-                              bool opaque, bool wideColorGamut, const LightInfo& lightInfo,
+                              bool opaque, const LightInfo& lightInfo,
                               const std::vector<sp<RenderNode>>& renderNodes,
                               FrameInfoVisualizer* profiler) {
     mEglManager.damageFrame(frame, dirty);
 
-    SkColorType colorType;
+    SkColorType colorType = getSurfaceColorType();
     // setup surface for fbo0
     GrGLFramebufferInfo fboInfo;
     fboInfo.fFBOID = 0;
-    if (wideColorGamut) {
+    if (colorType == kRGBA_F16_SkColorType) {
         fboInfo.fFormat = GL_RGBA16F;
-        colorType = kRGBA_F16_SkColorType;
-    } else {
+    } else if (colorType == kN32_SkColorType) {
+        // Note: The default preference of pixel format is RGBA_8888, when other
+        // pixel format is available, we should branch out and do more check.
         fboInfo.fFormat = GL_RGBA8;
-        colorType = kN32_SkColorType;
+    } else {
+        LOG_ALWAYS_FATAL("Unsupported color type.");
     }
 
     GrBackendRenderTarget backendRT(frame.width(), frame.height(), 0, STENCIL_BUFFER_SIZE, fboInfo);
@@ -89,8 +100,7 @@
             nullptr, &props));
 
     SkiaPipeline::updateLighting(lightGeometry, lightInfo);
-    renderFrame(*layerUpdateQueue, dirty, renderNodes, opaque, wideColorGamut, contentDrawBounds,
-                surface);
+    renderFrame(*layerUpdateQueue, dirty, renderNodes, opaque, contentDrawBounds, surface);
     layerUpdateQueue->clear();
 
     // Draw visual debugging features
@@ -132,6 +142,13 @@
     return new DeferredLayerUpdater(mRenderThread.renderState());
 }
 
+void SkiaOpenGLPipeline::onContextDestroyed() {
+    if (mEglSurface != EGL_NO_SURFACE) {
+        mEglManager.destroySurface(mEglSurface);
+        mEglSurface = EGL_NO_SURFACE;
+    }
+}
+
 void SkiaOpenGLPipeline::onStop() {
     if (mEglManager.isCurrent(mEglSurface)) {
         mEglManager.makeCurrent(EGL_NO_SURFACE);
@@ -147,8 +164,13 @@
 
     if (surface) {
         mRenderThread.requireGlContext();
-        const bool wideColorGamut = colorMode == ColorMode::WideColorGamut;
-        mEglSurface = mEglManager.createSurface(surface, wideColorGamut);
+        mEglSurface = mEglManager.createSurface(surface, colorMode);
+    }
+
+    if (colorMode == ColorMode::SRGB) {
+        mSurfaceColorType = SkColorType::kN32_SkColorType;
+    } else if (colorMode == ColorMode::WideColorGamut) {
+        mSurfaceColorType = SkColorType::kRGBA_F16_SkColorType;
     }
 
     if (mEglSurface != EGL_NO_SURFACE) {
diff --git a/libs/hwui/pipeline/skia/SkiaOpenGLPipeline.h b/libs/hwui/pipeline/skia/SkiaOpenGLPipeline.h
index 808685a..4ab3541 100644
--- a/libs/hwui/pipeline/skia/SkiaOpenGLPipeline.h
+++ b/libs/hwui/pipeline/skia/SkiaOpenGLPipeline.h
@@ -18,6 +18,8 @@
 
 #include "SkiaPipeline.h"
 
+#include "renderstate/RenderState.h"
+
 namespace android {
 
 class Bitmap;
@@ -25,17 +27,16 @@
 namespace uirenderer {
 namespace skiapipeline {
 
-class SkiaOpenGLPipeline : public SkiaPipeline {
+class SkiaOpenGLPipeline : public SkiaPipeline, public IGpuContextCallback {
 public:
     SkiaOpenGLPipeline(renderthread::RenderThread& thread);
-    virtual ~SkiaOpenGLPipeline() {}
+    virtual ~SkiaOpenGLPipeline();
 
     renderthread::MakeCurrentResult makeCurrent() override;
     renderthread::Frame getFrame() override;
     bool draw(const renderthread::Frame& frame, const SkRect& screenDirty, const SkRect& dirty,
               const LightGeometry& lightGeometry, LayerUpdateQueue* layerUpdateQueue,
-              const Rect& contentDrawBounds, bool opaque, bool wideColorGamut,
-              const LightInfo& lightInfo,
+              const Rect& contentDrawBounds, bool opaque, const LightInfo& lightInfo,
               const std::vector<sp<RenderNode> >& renderNodes,
               FrameInfoVisualizer* profiler) override;
     bool swapBuffers(const renderthread::Frame& frame, bool drew, const SkRect& screenDirty,
@@ -49,6 +50,9 @@
 
     static void invokeFunctor(const renderthread::RenderThread& thread, Functor* functor);
 
+protected:
+    void onContextDestroyed() override;
+
 private:
     renderthread::EglManager& mEglManager;
     EGLSurface mEglSurface = EGL_NO_SURFACE;
diff --git a/libs/hwui/pipeline/skia/SkiaPipeline.cpp b/libs/hwui/pipeline/skia/SkiaPipeline.cpp
index 988981d..2dfe7c7 100644
--- a/libs/hwui/pipeline/skia/SkiaPipeline.cpp
+++ b/libs/hwui/pipeline/skia/SkiaPipeline.cpp
@@ -83,16 +83,15 @@
 
 void SkiaPipeline::renderLayers(const LightGeometry& lightGeometry,
                                 LayerUpdateQueue* layerUpdateQueue, bool opaque,
-                                bool wideColorGamut, const LightInfo& lightInfo) {
+                                const LightInfo& lightInfo) {
     updateLighting(lightGeometry, lightInfo);
     ATRACE_NAME("draw layers");
     renderVectorDrawableCache();
-    renderLayersImpl(*layerUpdateQueue, opaque, wideColorGamut);
+    renderLayersImpl(*layerUpdateQueue, opaque);
     layerUpdateQueue->clear();
 }
 
-void SkiaPipeline::renderLayersImpl(const LayerUpdateQueue& layers, bool opaque,
-                                    bool wideColorGamut) {
+void SkiaPipeline::renderLayersImpl(const LayerUpdateQueue& layers, bool opaque) {
     sk_sp<GrContext> cachedContext;
 
     // Render all layers that need to be updated, in order.
@@ -161,7 +160,7 @@
 }
 
 bool SkiaPipeline::createOrUpdateLayer(RenderNode* node, const DamageAccumulator& damageAccumulator,
-                                       bool wideColorGamut, ErrorHandler* errorHandler) {
+                                       ErrorHandler* errorHandler) {
     // compute the size of the surface (i.e. texture) to be allocated for this layer
     const int surfaceWidth = ceilf(node->getWidth() / float(LAYER_SIZE)) * LAYER_SIZE;
     const int surfaceHeight = ceilf(node->getHeight() / float(LAYER_SIZE)) * LAYER_SIZE;
@@ -169,12 +168,8 @@
     SkSurface* layer = node->getLayerSurface();
     if (!layer || layer->width() != surfaceWidth || layer->height() != surfaceHeight) {
         SkImageInfo info;
-        if (wideColorGamut) {
-            info = SkImageInfo::Make(surfaceWidth, surfaceHeight, kRGBA_F16_SkColorType,
-                                     kPremul_SkAlphaType);
-        } else {
-            info = SkImageInfo::MakeN32Premul(surfaceWidth, surfaceHeight);
-        }
+        info = SkImageInfo::Make(surfaceWidth, surfaceHeight, getSurfaceColorType(),
+                                 kPremul_SkAlphaType);
         SkSurfaceProps props(0, kUnknown_SkPixelGeometry);
         SkASSERT(mRenderThread.getGrContext() != nullptr);
         node->setLayerSurface(SkSurface::MakeRenderTarget(mRenderThread.getGrContext(),
@@ -205,10 +200,6 @@
     return false;
 }
 
-void SkiaPipeline::destroyLayer(RenderNode* node) {
-    node->setLayerSurface(nullptr);
-}
-
 void SkiaPipeline::prepareToDraw(const RenderThread& thread, Bitmap* bitmap) {
     GrContext* context = thread.getGrContext();
     if (context) {
@@ -321,19 +312,18 @@
 
 void SkiaPipeline::renderFrame(const LayerUpdateQueue& layers, const SkRect& clip,
                                const std::vector<sp<RenderNode>>& nodes, bool opaque,
-                               bool wideColorGamut, const Rect& contentDrawBounds,
-                               sk_sp<SkSurface> surface) {
+                               const Rect& contentDrawBounds, sk_sp<SkSurface> surface) {
     renderVectorDrawableCache();
 
     // draw all layers up front
-    renderLayersImpl(layers, opaque, wideColorGamut);
+    renderLayersImpl(layers, opaque);
 
     // initialize the canvas for the current frame, that might be a recording canvas if SKP
     // capture is enabled.
     std::unique_ptr<SkPictureRecorder> recorder;
     SkCanvas* canvas = tryCapture(surface.get());
 
-    renderFrameImpl(layers, clip, nodes, opaque, wideColorGamut, contentDrawBounds, canvas);
+    renderFrameImpl(layers, clip, nodes, opaque, contentDrawBounds, canvas);
 
     endCapture(surface.get());
 
@@ -354,13 +344,12 @@
 
 void SkiaPipeline::renderFrameImpl(const LayerUpdateQueue& layers, const SkRect& clip,
                                    const std::vector<sp<RenderNode>>& nodes, bool opaque,
-                                   bool wideColorGamut, const Rect& contentDrawBounds,
-                                   SkCanvas* canvas) {
+                                   const Rect& contentDrawBounds, SkCanvas* canvas) {
     SkAutoCanvasRestore saver(canvas, true);
     canvas->androidFramework_setDeviceClipRestriction(clip.roundOut());
 
     // STOPSHIP: Revert, temporary workaround to clear always F16 frame buffer for b/74976293
-    if (!opaque || wideColorGamut) {
+    if (!opaque || getSurfaceColorType() == kRGBA_F16_SkColorType) {
         canvas->clear(SK_ColorTRANSPARENT);
     }
 
@@ -493,7 +482,7 @@
     // each time a pixel would have been drawn.
     // Pass true for opaque so we skip the clear - the overdrawCanvas is already zero
     // initialized.
-    renderFrameImpl(layers, clip, nodes, true, false, contentDrawBounds, &overdrawCanvas);
+    renderFrameImpl(layers, clip, nodes, true, contentDrawBounds, &overdrawCanvas);
     sk_sp<SkImage> counts = offscreen->makeImageSnapshot();
 
     // Draw overdraw colors to the canvas.  The color filter will convert counts to colors.
diff --git a/libs/hwui/pipeline/skia/SkiaPipeline.h b/libs/hwui/pipeline/skia/SkiaPipeline.h
index 8c9c803..42a411a 100644
--- a/libs/hwui/pipeline/skia/SkiaPipeline.h
+++ b/libs/hwui/pipeline/skia/SkiaPipeline.h
@@ -42,24 +42,24 @@
     void unpinImages() override;
     void onPrepareTree() override;
 
-    void renderLayers(const LightGeometry& lightGeometry,
-                      LayerUpdateQueue* layerUpdateQueue, bool opaque, bool wideColorGamut,
-                      const LightInfo& lightInfo) override;
+    void renderLayers(const LightGeometry& lightGeometry, LayerUpdateQueue* layerUpdateQueue,
+                      bool opaque, const LightInfo& lightInfo) override;
 
     bool createOrUpdateLayer(RenderNode* node, const DamageAccumulator& damageAccumulator,
-                             bool wideColorGamut, ErrorHandler* errorHandler) override;
+                             ErrorHandler* errorHandler) override;
+
+    SkColorType getSurfaceColorType() const { return mSurfaceColorType; }
+    sk_sp<SkColorSpace> getSurfaceColorSpace() override { return mSurfaceColorSpace; }
 
     void renderFrame(const LayerUpdateQueue& layers, const SkRect& clip,
-                     const std::vector<sp<RenderNode>>& nodes, bool opaque, bool wideColorGamut,
+                     const std::vector<sp<RenderNode>>& nodes, bool opaque,
                      const Rect& contentDrawBounds, sk_sp<SkSurface> surface);
 
     std::vector<VectorDrawableRoot*>* getVectorDrawables() { return &mVectorDrawables; }
 
-    static void destroyLayer(RenderNode* node);
-
     static void prepareToDraw(const renderthread::RenderThread& thread, Bitmap* bitmap);
 
-    void renderLayersImpl(const LayerUpdateQueue& layers, bool opaque, bool wideColorGamut);
+    void renderLayersImpl(const LayerUpdateQueue& layers, bool opaque);
 
     static float getLightRadius() {
         if (CC_UNLIKELY(Properties::overrideLightRadius > 0)) {
@@ -109,10 +109,12 @@
     void dumpResourceCacheUsage() const;
 
     renderthread::RenderThread& mRenderThread;
+    SkColorType mSurfaceColorType;
+    sk_sp<SkColorSpace> mSurfaceColorSpace;
 
 private:
     void renderFrameImpl(const LayerUpdateQueue& layers, const SkRect& clip,
-                         const std::vector<sp<RenderNode>>& nodes, bool opaque, bool wideColorGamut,
+                         const std::vector<sp<RenderNode>>& nodes, bool opaque,
                          const Rect& contentDrawBounds, SkCanvas* canvas);
 
     /**
diff --git a/libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp b/libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp
index 83d7e6a..fac07d7 100644
--- a/libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp
+++ b/libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp
@@ -23,6 +23,8 @@
 #include "NinePatchUtils.h"
 #include "RenderNode.h"
 #include "pipeline/skia/AnimatedDrawables.h"
+#include "pipeline/skia/GLFunctorDrawable.h"
+#include "pipeline/skia/VkFunctorDrawable.h"
 
 namespace android {
 namespace uirenderer {
@@ -111,37 +113,25 @@
     // use staging property, since recording on UI thread
     if (renderNode->stagingProperties().isProjectionReceiver()) {
         mDisplayList->mProjectionReceiver = &renderNodeDrawable;
-        // set projectionReceiveIndex so that RenderNode.hasProjectionReceiver returns true
-        mDisplayList->projectionReceiveIndex = mDisplayList->mChildNodes.size() - 1;
     }
 }
 
 void SkiaRecordingCanvas::callDrawGLFunction(Functor* functor,
                                              uirenderer::GlFunctorLifecycleListener* listener) {
-    // Drawable dtor will be invoked when mChildFunctors deque is cleared.
-    mDisplayList->mChildFunctors.emplace_back(functor, listener, asSkCanvas());
-    drawDrawable(&mDisplayList->mChildFunctors.back());
+    FunctorDrawable* functorDrawable;
+    if (Properties::getRenderPipelineType() == RenderPipelineType::SkiaVulkan) {
+        functorDrawable = mDisplayList->allocateDrawable<VkFunctorDrawable>(functor, listener,
+                asSkCanvas());
+    } else {
+        functorDrawable = mDisplayList->allocateDrawable<GLFunctorDrawable>(functor, listener,
+                asSkCanvas());
+    }
+    mDisplayList->mChildFunctors.push_back(functorDrawable);
+    drawDrawable(functorDrawable);
 }
 
-class VectorDrawable : public SkDrawable {
-public:
-    VectorDrawable(VectorDrawableRoot* tree)
-            : mRoot(tree)
-            , mBounds(tree->stagingProperties()->getBounds()) {}
-
-protected:
-    virtual SkRect onGetBounds() override { return mBounds; }
-    virtual void onDraw(SkCanvas* canvas) override {
-        mRoot->draw(canvas, mBounds);
-    }
-
-private:
-    sp<VectorDrawableRoot> mRoot;
-    SkRect mBounds;
-};
-
 void SkiaRecordingCanvas::drawVectorDrawable(VectorDrawableRoot* tree) {
-    drawDrawable(mDisplayList->allocateDrawable<VectorDrawable>(tree));
+    mRecorder.drawVectorDrawable(tree);
     mDisplayList->mVectorDrawables.push_back(tree);
 }
 
@@ -187,7 +177,7 @@
 void SkiaRecordingCanvas::drawBitmap(Bitmap& bitmap, float left, float top, const SkPaint* paint) {
     sk_sp<SkColorFilter> colorFilter;
     sk_sp<SkImage> image = bitmap.makeImage(&colorFilter);
-    mRecorder.drawImage(image, left, top, filterBitmap(paint, std::move(colorFilter)));
+    mRecorder.drawImage(image, left, top, filterBitmap(paint, std::move(colorFilter)), bitmap.palette());
     // if image->unique() is true, then mRecorder.drawImage failed for some reason. It also means
     // it is not safe to store a raw SkImage pointer, because the image object will be destroyed
     // when this function ends.
@@ -202,7 +192,7 @@
 
     sk_sp<SkColorFilter> colorFilter;
     sk_sp<SkImage> image = bitmap.makeImage(&colorFilter);
-    mRecorder.drawImage(image, 0, 0, filterBitmap(paint, std::move(colorFilter)));
+    mRecorder.drawImage(image, 0, 0, filterBitmap(paint, std::move(colorFilter)), bitmap.palette());
     if (!bitmap.isImmutable() && image.get() && !image->unique()) {
         mDisplayList->mMutableImages.push_back(image.get());
     }
@@ -217,7 +207,7 @@
     sk_sp<SkColorFilter> colorFilter;
     sk_sp<SkImage> image = bitmap.makeImage(&colorFilter);
     mRecorder.drawImageRect(image, srcRect, dstRect, filterBitmap(paint, std::move(colorFilter)),
-                            SkCanvas::kFast_SrcRectConstraint);
+                            SkCanvas::kFast_SrcRectConstraint, bitmap.palette());
     if (!bitmap.isImmutable() && image.get() && !image->unique() && !srcRect.isEmpty() &&
         !dstRect.isEmpty()) {
         mDisplayList->mMutableImages.push_back(image.get());
diff --git a/libs/hwui/pipeline/skia/SkiaVulkanPipeline.cpp b/libs/hwui/pipeline/skia/SkiaVulkanPipeline.cpp
index 611a34c..a2d8119 100644
--- a/libs/hwui/pipeline/skia/SkiaVulkanPipeline.cpp
+++ b/libs/hwui/pipeline/skia/SkiaVulkanPipeline.cpp
@@ -22,6 +22,7 @@
 #include "SkiaProfileRenderer.h"
 #include "renderstate/RenderState.h"
 #include "renderthread/Frame.h"
+#include "VkFunctorDrawable.h"
 
 #include <SkSurface.h>
 #include <SkTypes.h>
@@ -63,8 +64,7 @@
 bool SkiaVulkanPipeline::draw(const Frame& frame, const SkRect& screenDirty, const SkRect& dirty,
                               const LightGeometry& lightGeometry,
                               LayerUpdateQueue* layerUpdateQueue, const Rect& contentDrawBounds,
-                              bool opaque, bool wideColorGamut,
-                              const LightInfo& lightInfo,
+                              bool opaque, const LightInfo& lightInfo,
                               const std::vector<sp<RenderNode>>& renderNodes,
                               FrameInfoVisualizer* profiler) {
     sk_sp<SkSurface> backBuffer = mVkSurface->getBackBufferSurface();
@@ -72,8 +72,7 @@
         return false;
     }
     SkiaPipeline::updateLighting(lightGeometry, lightInfo);
-    renderFrame(*layerUpdateQueue, dirty, renderNodes, opaque, wideColorGamut, contentDrawBounds,
-                backBuffer);
+    renderFrame(*layerUpdateQueue, dirty, renderNodes, opaque, contentDrawBounds, backBuffer);
     layerUpdateQueue->clear();
 
     // Draw visual debugging features
@@ -124,8 +123,7 @@
     }
 
     if (surface) {
-        // TODO: handle color mode
-        mVkSurface = mVkManager.createSurface(surface);
+        mVkSurface = mVkManager.createSurface(surface, colorMode);
     }
 
     return mVkSurface != nullptr;
@@ -140,9 +138,7 @@
 }
 
 void SkiaVulkanPipeline::invokeFunctor(const RenderThread& thread, Functor* functor) {
-    // TODO: we currently don't support OpenGL WebView's
-    DrawGlInfo::Mode mode = DrawGlInfo::kModeProcessNoContext;
-    (*functor)(mode, nullptr);
+    VkFunctorDrawable::vkInvokeFunctor(functor);
 }
 
 sk_sp<Bitmap> SkiaVulkanPipeline::allocateHardwareBitmap(renderthread::RenderThread& renderThread,
diff --git a/libs/hwui/pipeline/skia/SkiaVulkanPipeline.h b/libs/hwui/pipeline/skia/SkiaVulkanPipeline.h
index 900b054..14c0d69 100644
--- a/libs/hwui/pipeline/skia/SkiaVulkanPipeline.h
+++ b/libs/hwui/pipeline/skia/SkiaVulkanPipeline.h
@@ -32,8 +32,7 @@
     renderthread::Frame getFrame() override;
     bool draw(const renderthread::Frame& frame, const SkRect& screenDirty, const SkRect& dirty,
               const LightGeometry& lightGeometry, LayerUpdateQueue* layerUpdateQueue,
-              const Rect& contentDrawBounds, bool opaque, bool wideColorGamut,
-              const LightInfo& lightInfo,
+              const Rect& contentDrawBounds, bool opaque, const LightInfo& lightInfo,
               const std::vector<sp<RenderNode> >& renderNodes,
               FrameInfoVisualizer* profiler) override;
     bool swapBuffers(const renderthread::Frame& frame, bool drew, const SkRect& screenDirty,
diff --git a/libs/hwui/pipeline/skia/VkFunctorDrawable.cpp b/libs/hwui/pipeline/skia/VkFunctorDrawable.cpp
new file mode 100644
index 0000000..6486ddb
--- /dev/null
+++ b/libs/hwui/pipeline/skia/VkFunctorDrawable.cpp
@@ -0,0 +1,223 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+#include "VkFunctorDrawable.h"
+#include <private/hwui/DrawGlInfo.h>
+
+#include "renderthread/EglManager.h"
+#include "thread/ThreadBase.h"
+#include "utils/TimeUtils.h"
+#include <thread>
+#include <utils/Color.h>
+#include <utils/Trace.h>
+#include <utils/TraceUtils.h>
+
+#include <EGL/eglext.h>
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+#include <GLES3/gl3.h>
+
+#include <utils/GLUtils.h>
+
+namespace android {
+namespace uirenderer {
+namespace skiapipeline {
+
+static std::mutex sLock{};
+static ThreadBase* sGLDrawThread = nullptr;
+static renderthread::EglManager sEglManager;
+
+// ScopedDrawRequest makes sure a GL thread is started and EGL context is initialized on it.
+class ScopedDrawRequest {
+public:
+    ScopedDrawRequest() { beginDraw(); }
+private:
+    void beginDraw() {
+        std::lock_guard{sLock};
+
+        if (!sGLDrawThread) {
+            sGLDrawThread = new ThreadBase{};
+        }
+
+        if (!sGLDrawThread->isRunning()) {
+            sGLDrawThread->start("GLFunctorThread");
+        }
+
+        if (!sEglManager.hasEglContext()) {
+            sGLDrawThread->queue().runSync([]() {
+                sEglManager.initialize();
+            });
+        }
+    }
+};
+
+void VkFunctorDrawable::vkInvokeFunctor(Functor* functor) {
+    ScopedDrawRequest _drawRequest{};
+    sGLDrawThread->queue().runSync([&]() {
+        EGLDisplay display = sEglManager.eglDisplay();
+        DrawGlInfo::Mode mode = DrawGlInfo::kModeProcessNoContext;
+        if (display != EGL_NO_DISPLAY) {
+            mode = DrawGlInfo::kModeProcess;
+        }
+        (*functor)(mode, nullptr);
+    });
+}
+
+#define FENCE_TIMEOUT 2000000000
+
+void VkFunctorDrawable::onDraw(SkCanvas* canvas) {
+    ATRACE_CALL();
+
+    if (canvas->getGrContext() == nullptr) {
+        SkDEBUGF(("Attempting to draw VkFunctor into an unsupported surface"));
+        return;
+    }
+
+    ScopedDrawRequest _drawRequest{};
+
+    SkImageInfo surfaceInfo = canvas->imageInfo();
+
+    if (!mFrameBuffer.get() || mFBInfo != surfaceInfo) {
+        // Buffer will be used as an OpenGL ES render target.
+        mFrameBuffer = new GraphicBuffer(
+                 //TODO: try to reduce the size of the buffer: possibly by using clip bounds.
+                 static_cast<uint32_t>(surfaceInfo.width()),
+                 static_cast<uint32_t>(surfaceInfo.height()),
+                 ColorTypeToPixelFormat(surfaceInfo.colorType()),
+                 GraphicBuffer::USAGE_HW_TEXTURE | GraphicBuffer::USAGE_SW_WRITE_NEVER |
+                         GraphicBuffer::USAGE_SW_READ_NEVER | GraphicBuffer::USAGE_HW_RENDER,
+                 std::string("VkFunctorDrawable::onDraw pid [") + std::to_string(getpid()) + "]");
+        status_t error = mFrameBuffer->initCheck();
+        if (error < 0) {
+            ALOGW("VkFunctorDrawable::onDraw() failed in GraphicBuffer.create()");
+            return;
+        }
+
+        mFBInfo = surfaceInfo;
+    }
+
+    //TODO: Synchronization is needed on mFrameBuffer to guarantee that the previous Vulkan
+    //TODO: draw command has completed.
+    //TODO: A simple but inefficient way is to flush and issue a QueueWaitIdle call. See
+    //TODO: GrVkGpu::destroyResources() for example.
+    bool success = sGLDrawThread->queue().runSync([&]() -> bool {
+        ATRACE_FORMAT("WebViewDraw_%dx%d", mFBInfo.width(), mFBInfo.height());
+        EGLDisplay display = sEglManager.eglDisplay();
+        LOG_ALWAYS_FATAL_IF(display == EGL_NO_DISPLAY,
+                "Failed to get EGL_DEFAULT_DISPLAY! err=%s",
+                uirenderer::renderthread::EglManager::eglErrorString());
+        // We use an EGLImage to access the content of the GraphicBuffer
+        // The EGL image is later bound to a 2D texture
+        EGLClientBuffer clientBuffer = (EGLClientBuffer)mFrameBuffer->getNativeBuffer();
+        AutoEglImage autoImage(display, clientBuffer);
+        if (autoImage.image == EGL_NO_IMAGE_KHR) {
+            ALOGW("Could not create EGL image, err =%s",
+                  uirenderer::renderthread::EglManager::eglErrorString());
+            return false;
+        }
+
+        AutoSkiaGlTexture glTexture;
+        glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, autoImage.image);
+        GL_CHECKPOINT(MODERATE);
+
+        glBindTexture(GL_TEXTURE_2D, 0);
+
+        DrawGlInfo info;
+        SkMatrix44 mat4(canvas->getTotalMatrix());
+        SkIRect clipBounds = canvas->getDeviceClipBounds();
+
+        info.clipLeft = clipBounds.fLeft;
+        info.clipTop = clipBounds.fTop;
+        info.clipRight = clipBounds.fRight;
+        info.clipBottom = clipBounds.fBottom;
+        info.isLayer = true;
+        info.width = mFBInfo.width();
+        info.height = mFBInfo.height();
+        mat4.asColMajorf(&info.transform[0]);
+
+        glViewport(0, 0, info.width, info.height);
+
+        AutoGLFramebuffer glFb;
+        // Bind texture to the frame buffer.
+        glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D,
+                             glTexture.mTexture, 0);
+        if (glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) {
+            ALOGE("Failed framebuffer check for created target buffer: %s",
+                    GLUtils::getGLFramebufferError());
+            return false;
+        }
+
+        glDisable(GL_STENCIL_TEST);
+        glDisable(GL_SCISSOR_TEST);
+        glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
+        glClear(GL_COLOR_BUFFER_BIT);
+
+        (*mFunctor)(DrawGlInfo::kModeDraw, &info);
+
+        EGLSyncKHR glDrawFinishedFence =
+                eglCreateSyncKHR(eglGetCurrentDisplay(), EGL_SYNC_FENCE_KHR, NULL);
+        LOG_ALWAYS_FATAL_IF(glDrawFinishedFence == EGL_NO_SYNC_KHR,
+                "Could not create sync fence %#x", eglGetError());
+        glFlush();
+        // TODO: export EGLSyncKHR in file descr
+        // TODO: import file desc in Vulkan Semaphore
+        // TODO: instead block the GPU: probably by using external Vulkan semaphore.
+        // Block the CPU until the glFlush finish.
+        EGLint waitStatus = eglClientWaitSyncKHR(display, glDrawFinishedFence, 0,
+                FENCE_TIMEOUT);
+        LOG_ALWAYS_FATAL_IF(waitStatus != EGL_CONDITION_SATISFIED_KHR,
+                            "Failed to wait for the fence %#x", eglGetError());
+        eglDestroySyncKHR(display, glDrawFinishedFence);
+        return true;
+    });
+
+    if (!success) {
+        return;
+    }
+
+    SkPaint paint;
+    paint.setBlendMode(SkBlendMode::kSrcOver);
+    canvas->save();
+    // The size of the image matches the size of the canvas. We've used the matrix already, while
+    // drawing into the offscreen surface, so we need to reset it here.
+    canvas->resetMatrix();
+
+    auto functorImage = SkImage::MakeFromAHardwareBuffer(
+        reinterpret_cast<AHardwareBuffer*>(mFrameBuffer.get()), kPremul_SkAlphaType,
+        nullptr, kBottomLeft_GrSurfaceOrigin);
+    canvas->drawImage(functorImage, 0, 0, &paint);
+    canvas->restore();
+}
+
+VkFunctorDrawable::~VkFunctorDrawable() {
+    if (mListener.get() != nullptr) {
+        ScopedDrawRequest _drawRequest{};
+        sGLDrawThread->queue().runSync([&]() {
+             mListener->onGlFunctorReleased(mFunctor);
+        });
+    }
+}
+
+void VkFunctorDrawable::syncFunctor() const {
+    ScopedDrawRequest _drawRequest{};
+    sGLDrawThread->queue().runSync([&]() {
+         (*mFunctor)(DrawGlInfo::kModeSync, nullptr);
+    });
+}
+
+};  // namespace skiapipeline
+};  // namespace uirenderer
+};  // namespace android
diff --git a/libs/hwui/pipeline/skia/VkFunctorDrawable.h b/libs/hwui/pipeline/skia/VkFunctorDrawable.h
new file mode 100644
index 0000000..e37f6fb
--- /dev/null
+++ b/libs/hwui/pipeline/skia/VkFunctorDrawable.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+#pragma once
+
+#include "FunctorDrawable.h"
+
+#include <utils/RefBase.h>
+#include <ui/GraphicBuffer.h>
+
+namespace android {
+namespace uirenderer {
+
+namespace skiapipeline {
+
+/**
+ * This drawable wraps a Vulkan functor enabling it to be recorded into a list
+ * of Skia drawing commands.
+ */
+class VkFunctorDrawable : public FunctorDrawable {
+public:
+    VkFunctorDrawable(Functor* functor, GlFunctorLifecycleListener* listener, SkCanvas* canvas)
+            : FunctorDrawable(functor, listener, canvas) {}
+    virtual ~VkFunctorDrawable();
+
+    void syncFunctor() const override;
+
+    static void vkInvokeFunctor(Functor* functor);
+
+protected:
+    virtual void onDraw(SkCanvas* canvas) override;
+
+private:
+
+    // Variables below describe/store temporary offscreen buffer used for Vulkan pipeline.
+    sp<GraphicBuffer> mFrameBuffer;
+    SkImageInfo mFBInfo;
+};
+
+};  // namespace skiapipeline
+};  // namespace uirenderer
+};  // namespace android
diff --git a/libs/hwui/renderstate/RenderState.cpp b/libs/hwui/renderstate/RenderState.cpp
index b524bcb..fad9440 100644
--- a/libs/hwui/renderstate/RenderState.cpp
+++ b/libs/hwui/renderstate/RenderState.cpp
@@ -14,91 +14,28 @@
  * limitations under the License.
  */
 #include "renderstate/RenderState.h"
-#include <GpuMemoryTracker.h>
-#include "DeferredLayerUpdater.h"
-#include "Snapshot.h"
 
-#include "renderthread/CanvasContext.h"
-#include "renderthread/EglManager.h"
-#include "utils/GLUtils.h"
-
-#include <algorithm>
-
-#include <ui/ColorSpace.h>
+#include "renderthread/RenderThread.h"
+#include "GpuMemoryTracker.h"
 
 namespace android {
 namespace uirenderer {
 
-RenderState::RenderState(renderthread::RenderThread& thread)
-        : mRenderThread(thread), mViewportWidth(0), mViewportHeight(0), mFramebuffer(0) {
+RenderState::RenderState(renderthread::RenderThread& thread) : mRenderThread(thread) {
     mThreadId = pthread_self();
 }
 
-RenderState::~RenderState() {
-}
-
 void RenderState::onContextCreated() {
     GpuMemoryTracker::onGpuContextCreated();
 }
 
 void RenderState::onContextDestroyed() {
-    destroyLayersInUpdater();
+    for(auto callback : mContextCallbacks) {
+        callback->onContextDestroyed();
+    }
     GpuMemoryTracker::onGpuContextDestroyed();
 }
 
-GrContext* RenderState::getGrContext() const {
-    return mRenderThread.getGrContext();
-}
-
-void RenderState::onBitmapDestroyed(uint32_t pixelRefId) {
-    // DEAD CODE
-}
-
-void RenderState::setViewport(GLsizei width, GLsizei height) {
-    mViewportWidth = width;
-    mViewportHeight = height;
-    glViewport(0, 0, mViewportWidth, mViewportHeight);
-}
-
-void RenderState::getViewport(GLsizei* outWidth, GLsizei* outHeight) {
-    *outWidth = mViewportWidth;
-    *outHeight = mViewportHeight;
-}
-
-void RenderState::bindFramebuffer(GLuint fbo) {
-    if (mFramebuffer != fbo) {
-        mFramebuffer = fbo;
-        glBindFramebuffer(GL_FRAMEBUFFER, mFramebuffer);
-    }
-}
-
-GLuint RenderState::createFramebuffer() {
-    GLuint ret;
-    glGenFramebuffers(1, &ret);
-    return ret;
-}
-
-void RenderState::deleteFramebuffer(GLuint fbo) {
-    if (mFramebuffer == fbo) {
-        // GL defines that deleting the currently bound FBO rebinds FBO 0.
-        // Reflect this in our cached value.
-        mFramebuffer = 0;
-    }
-    glDeleteFramebuffers(1, &fbo);
-}
-
-void RenderState::debugOverdraw(bool enable, bool clear) {
-    // DEAD CODE
-}
-
-static void destroyLayerInUpdater(DeferredLayerUpdater* layerUpdater) {
-    layerUpdater->destroyLayer();
-}
-
-void RenderState::destroyLayersInUpdater() {
-    std::for_each(mActiveLayerUpdaters.begin(), mActiveLayerUpdaters.end(), destroyLayerInUpdater);
-}
-
 void RenderState::postDecStrong(VirtualLightRefBase* object) {
     if (pthread_equal(mThreadId, pthread_self())) {
         object->decStrong(nullptr);
@@ -111,13 +48,5 @@
 // Render
 ///////////////////////////////////////////////////////////////////////////////
 
-void RenderState::dump() {
-    // DEAD CODE
-}
-
-renderthread::RenderThread& RenderState::getRenderThread() {
-    return mRenderThread;
-}
-
 } /* namespace uirenderer */
 } /* namespace android */
diff --git a/libs/hwui/renderstate/RenderState.h b/libs/hwui/renderstate/RenderState.h
index f39aa4b..ff5d02f 100644
--- a/libs/hwui/renderstate/RenderState.h
+++ b/libs/hwui/renderstate/RenderState.h
@@ -18,29 +18,26 @@
 
 #include "utils/Macros.h"
 
-#include <GLES2/gl2.h>
-#include <GLES2/gl2ext.h>
-#include <private/hwui/DrawGlInfo.h>
-#include <ui/Region.h>
-#include <utils/Functor.h>
-#include <utils/Mutex.h>
 #include <utils/RefBase.h>
 #include <set>
 
-class GrContext;
-
 namespace android {
 namespace uirenderer {
 
 class Layer;
-class DeferredLayerUpdater;
 
 namespace renderthread {
 class CacheManager;
-class CanvasContext;
 class RenderThread;
 }
 
+class IGpuContextCallback {
+public:
+    virtual void onContextDestroyed() = 0;
+protected:
+    virtual ~IGpuContextCallback() {}
+};
+
 // wrapper of Caches for users to migrate to.
 class RenderState {
     PREVENT_COPY_AND_ASSIGN(RenderState);
@@ -48,66 +45,30 @@
     friend class renderthread::CacheManager;
 
 public:
-    void onContextCreated();
-    void onContextDestroyed();
-
-    void onBitmapDestroyed(uint32_t pixelRefId);
-
-    void setViewport(GLsizei width, GLsizei height);
-    void getViewport(GLsizei* outWidth, GLsizei* outHeight);
-
-    void bindFramebuffer(GLuint fbo);
-    GLuint getFramebuffer() { return mFramebuffer; }
-    GLuint createFramebuffer();
-    void deleteFramebuffer(GLuint fbo);
-
-    void debugOverdraw(bool enable, bool clear);
+    void registerContextCallback(IGpuContextCallback* cb) { mContextCallbacks.insert(cb); }
+    void removeContextCallback(IGpuContextCallback* cb) { mContextCallbacks.erase(cb); }
 
     void registerLayer(Layer* layer) { mActiveLayers.insert(layer); }
     void unregisterLayer(Layer* layer) { mActiveLayers.erase(layer); }
 
-    void registerCanvasContext(renderthread::CanvasContext* context) {
-        mRegisteredContexts.insert(context);
-    }
-
-    void unregisterCanvasContext(renderthread::CanvasContext* context) {
-        mRegisteredContexts.erase(context);
-    }
-
-    void registerDeferredLayerUpdater(DeferredLayerUpdater* layerUpdater) {
-        mActiveLayerUpdaters.insert(layerUpdater);
-    }
-
-    void unregisterDeferredLayerUpdater(DeferredLayerUpdater* layerUpdater) {
-        mActiveLayerUpdaters.erase(layerUpdater);
-    }
-
     // TODO: This system is a little clunky feeling, this could use some
     // more thinking...
     void postDecStrong(VirtualLightRefBase* object);
 
-    GrContext* getGrContext() const;
-
-    void dump();
-
-    renderthread::RenderThread& getRenderThread();
+    renderthread::RenderThread& getRenderThread() const { return mRenderThread; }
 
 private:
-    void destroyLayersInUpdater();
-
     explicit RenderState(renderthread::RenderThread& thread);
-    ~RenderState();
+    ~RenderState() {}
+
+    // Context notifications are only to be triggered by renderthread::RenderThread
+    void onContextCreated();
+    void onContextDestroyed();
+
+    std::set<IGpuContextCallback*> mContextCallbacks;
+    std::set<Layer*> mActiveLayers;
 
     renderthread::RenderThread& mRenderThread;
-
-    std::set<Layer*> mActiveLayers;
-    std::set<DeferredLayerUpdater*> mActiveLayerUpdaters;
-    std::set<renderthread::CanvasContext*> mRegisteredContexts;
-
-    GLsizei mViewportWidth;
-    GLsizei mViewportHeight;
-    GLuint mFramebuffer;
-
     pthread_t mThreadId;
 };
 
diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp
index 727cef3..92a749f 100644
--- a/libs/hwui/renderthread/CanvasContext.cpp
+++ b/libs/hwui/renderthread/CanvasContext.cpp
@@ -27,7 +27,6 @@
 #include "pipeline/skia/SkiaOpenGLPipeline.h"
 #include "pipeline/skia/SkiaPipeline.h"
 #include "pipeline/skia/SkiaVulkanPipeline.h"
-#include "renderstate/RenderState.h"
 #include "utils/GLUtils.h"
 #include "utils/TimeUtils.h"
 #include "../Properties.h"
@@ -76,10 +75,6 @@
     return nullptr;
 }
 
-void CanvasContext::destroyLayer(RenderNode* node) {
-    skiapipeline::SkiaPipeline::destroyLayer(node);
-}
-
 void CanvasContext::invokeFunctor(const RenderThread& thread, Functor* functor) {
     ATRACE_CALL();
     auto renderType = Properties::getRenderPipelineType();
@@ -113,13 +108,11 @@
         , mRenderPipeline(std::move(renderPipeline)) {
     rootRenderNode->makeRoot();
     mRenderNodes.emplace_back(rootRenderNode);
-    mRenderThread.renderState().registerCanvasContext(this);
     mProfiler.setDensity(mRenderThread.mainDisplayInfo().density);
 }
 
 CanvasContext::~CanvasContext() {
     destroy();
-    mRenderThread.renderState().unregisterCanvasContext(this);
     for (auto& node : mRenderNodes) {
         node->clearRoot();
     }
@@ -151,7 +144,7 @@
 
     mNativeSurface = std::move(surface);
 
-    ColorMode colorMode = mWideColorGamut ? ColorMode::WideColorGamut : ColorMode::Srgb;
+    ColorMode colorMode = mWideColorGamut ? ColorMode::WideColorGamut : ColorMode::SRGB;
     bool hasSurface = mRenderPipeline->setSurface(mNativeSurface.get(), mSwapBehavior, colorMode);
 
     mFrameNumber = -1;
@@ -416,7 +409,7 @@
     SkRect windowDirty = computeDirtyRect(frame, &dirty);
 
     bool drew = mRenderPipeline->draw(frame, windowDirty, dirty, mLightGeometry, &mLayerUpdateQueue,
-                                      mContentDrawBounds, mOpaque, mWideColorGamut, mLightInfo,
+                                      mContentDrawBounds, mOpaque, mLightInfo,
                                       mRenderNodes, &(profiler()));
 
     int64_t frameCompleteNr = mFrameCompleteCallbacks.size() ? getFrameNumber() : -1;
@@ -555,8 +548,7 @@
     // purposes when the frame is actually drawn
     node->setPropertyFieldsDirty(RenderNode::GENERIC);
 
-    mRenderPipeline->renderLayers(mLightGeometry, &mLayerUpdateQueue, mOpaque, mWideColorGamut,
-                                  mLightInfo);
+    mRenderPipeline->renderLayers(mLightGeometry, &mLayerUpdateQueue, mOpaque, mLightInfo);
 
     node->incStrong(nullptr);
     mPrefetchedLayers.insert(node);
diff --git a/libs/hwui/renderthread/CanvasContext.h b/libs/hwui/renderthread/CanvasContext.h
index 02ee72f..2307ee4 100644
--- a/libs/hwui/renderthread/CanvasContext.h
+++ b/libs/hwui/renderthread/CanvasContext.h
@@ -75,8 +75,7 @@
      */
     bool createOrUpdateLayer(RenderNode* node, const DamageAccumulator& dmgAccumulator,
                              ErrorHandler* errorHandler) {
-        return mRenderPipeline->createOrUpdateLayer(node, dmgAccumulator, mWideColorGamut,
-                errorHandler);
+        return mRenderPipeline->createOrUpdateLayer(node, dmgAccumulator, errorHandler);
     }
 
     /**
@@ -97,12 +96,6 @@
      */
     void unpinImages() { mRenderPipeline->unpinImages(); }
 
-    /**
-     * Destroy any layers that have been attached to the provided RenderNode removing
-     * any state that may have been set during createOrUpdateLayer().
-     */
-    static void destroyLayer(RenderNode* node);
-
     static void invokeFunctor(const RenderThread& thread, Functor* functor);
 
     static void prepareToDraw(const RenderThread& thread, Bitmap* bitmap);
@@ -189,6 +182,23 @@
         mFrameCompleteCallbacks.push_back(std::move(func));
     }
 
+    void setForceDark(bool enable) {
+        mUseForceDark = enable;
+    }
+
+    bool useForceDark() {
+        // The force-dark override has the highest priority, followed by the disable setting
+        // for the feature as a whole, followed last by whether or not this context has had
+        // force dark set (typically automatically done via UIMode)
+        if (Properties::forceDarkMode) {
+            return true;
+        }
+        if (!Properties::enableForceDarkSupport) {
+            return false;
+        }
+        return mUseForceDark;
+    }
+
 private:
     CanvasContext(RenderThread& thread, bool translucent, RenderNode* rootRenderNode,
                   IContextFactory* contextFactory, std::unique_ptr<IRenderPipeline> renderPipeline);
@@ -235,6 +245,7 @@
 
     bool mOpaque;
     bool mWideColorGamut = false;
+    bool mUseForceDark = false;
     LightInfo mLightInfo;
     LightGeometry mLightGeometry = {{0, 0, 0}, 0};
 
diff --git a/libs/hwui/renderthread/EglManager.cpp b/libs/hwui/renderthread/EglManager.cpp
index 5f8d7ad..d4ffddd 100644
--- a/libs/hwui/renderthread/EglManager.cpp
+++ b/libs/hwui/renderthread/EglManager.cpp
@@ -20,13 +20,14 @@
 #include <log/log.h>
 #include <private/gui/SyncFeatures.h>
 #include <utils/Trace.h>
+#include "utils/Color.h"
 #include "utils/StringUtils.h"
 
-#include "DeviceInfo.h"
 #include "Frame.h"
 #include "Properties.h"
 
 #include <EGL/eglext.h>
+#include <GLES/gl.h>
 
 #include <string>
 #include <vector>
@@ -75,6 +76,7 @@
     bool pixelFormatFloat = false;
     bool glColorSpace = false;
     bool scRGB = false;
+    bool displayP3 = false;
     bool contextPriority = false;
     bool surfacelessContext = false;
 } EglExtensions;
@@ -124,7 +126,6 @@
     createContext();
     createPBufferSurface();
     makeCurrent(mPBufferSurface, nullptr, /* force */ true);
-    DeviceInfo::initialize();
 }
 
 void EglManager::initExtensions() {
@@ -148,6 +149,7 @@
 #else
     EglExtensions.scRGB = extensions.has("EGL_EXT_gl_colorspace_scrgb");
 #endif
+    EglExtensions.displayP3 = extensions.has("EGL_EXT_gl_colorspace_display_p3");
     EglExtensions.contextPriority = extensions.has("EGL_IMG_context_priority");
     EglExtensions.surfacelessContext = extensions.has("EGL_KHR_surfaceless_context");
 }
@@ -160,6 +162,10 @@
     ALOGD("Swap behavior %d", static_cast<int>(mSwapBehavior));
     EGLint swapBehavior =
             (mSwapBehavior == SwapBehavior::Preserved) ? EGL_SWAP_BEHAVIOR_PRESERVED_BIT : 0;
+
+    // Note: The default pixel format is RGBA_8888, when other formats are
+    // available, we should check the target pixel format and configure the
+    // attributes list properly.
     EGLint attribs[] = {EGL_RENDERABLE_TYPE,
                         EGL_OPENGL_ES2_BIT,
                         EGL_RED_SIZE,
@@ -255,11 +261,12 @@
     }
 }
 
-EGLSurface EglManager::createSurface(EGLNativeWindowType window, bool wideColorGamut) {
+EGLSurface EglManager::createSurface(EGLNativeWindowType window, ColorMode colorMode) {
     LOG_ALWAYS_FATAL_IF(!hasEglContext(), "Not initialized");
 
-    wideColorGamut = wideColorGamut && EglExtensions.glColorSpace && EglExtensions.scRGB &&
-                     EglExtensions.pixelFormatFloat && EglExtensions.noConfigContext;
+    bool wideColorGamut = colorMode == ColorMode::WideColorGamut && EglExtensions.glColorSpace &&
+                          EglExtensions.scRGB && EglExtensions.pixelFormatFloat &&
+                          EglExtensions.noConfigContext;
 
     // The color space we want to use depends on whether linear blending is turned
     // on and whether the app has requested wide color gamut rendering. When wide
@@ -269,9 +276,9 @@
     // When wide gamut rendering is off:
     // - Blending is done by default in gamma space, which requires using a
     //   linear EGL color space (the GPU uses the color values as is)
-    // - If linear blending is on, we must use the sRGB EGL color space (the
-    //   GPU will perform sRGB to linear and linear to SRGB conversions before
-    //   and after blending)
+    // - If linear blending is on, we must use the non-linear EGL color space
+    //   (the GPU will perform sRGB to linear and linear to SRGB conversions
+    //   before and after blending)
     //
     // When wide gamut rendering is on we cannot rely on the GPU performing
     // linear blending for us. We use two different color spaces to tag the
@@ -279,7 +286,7 @@
     // - Gamma blending (default) requires the use of the scRGB-nl color space
     // - Linear blending requires the use of the scRGB color space
 
-    // Not all Android targets support the EGL_GL_COLOR_SPACE_KHR extension
+    // Not all Android targets support the EGL_GL_COLORSPACE_KHR extension
     // We insert to placeholders to set EGL_GL_COLORSPACE_KHR and its value.
     // According to section 3.4.1 of the EGL specification, the attributes
     // list is considered empty if the first entry is EGL_NONE
diff --git a/libs/hwui/renderthread/EglManager.h b/libs/hwui/renderthread/EglManager.h
index 507673a..55c81d4 100644
--- a/libs/hwui/renderthread/EglManager.h
+++ b/libs/hwui/renderthread/EglManager.h
@@ -18,11 +18,13 @@
 
 #include <EGL/egl.h>
 #include <EGL/eglext.h>
+#include <SkImageInfo.h>
 #include <SkRect.h>
 #include <cutils/compiler.h>
 #include <ui/Fence.h>
 #include <ui/GraphicBuffer.h>
 #include <utils/StrongPointer.h>
+#include "IRenderPipeline.h"
 
 namespace android {
 namespace uirenderer {
@@ -45,7 +47,7 @@
 
     bool hasEglContext();
 
-    EGLSurface createSurface(EGLNativeWindowType window, bool wideColorGamut);
+    EGLSurface createSurface(EGLNativeWindowType window, ColorMode colorMode);
     void destroySurface(EGLSurface surface);
 
     void destroy();
@@ -89,7 +91,6 @@
     EGLConfig mEglConfigWideGamut;
     EGLContext mEglContext;
     EGLSurface mPBufferSurface;
-
     EGLSurface mCurrentSurface;
 
     enum class SwapBehavior {
diff --git a/libs/hwui/renderthread/IRenderPipeline.h b/libs/hwui/renderthread/IRenderPipeline.h
index b7b7853..4972554 100644
--- a/libs/hwui/renderthread/IRenderPipeline.h
+++ b/libs/hwui/renderthread/IRenderPipeline.h
@@ -16,11 +16,12 @@
 
 #pragma once
 
+#include "DamageAccumulator.h"
 #include "FrameInfoVisualizer.h"
 #include "LayerUpdateQueue.h"
+#include "Lighting.h"
 #include "SwapBehavior.h"
 #include "hwui/Bitmap.h"
-#include "thread/TaskManager.h"
 
 #include <SkRect.h>
 #include <utils/RefBase.h>
@@ -35,13 +36,18 @@
 
 class DeferredLayerUpdater;
 class ErrorHandler;
+class TaskManager;
 
 namespace renderthread {
 
 enum class MakeCurrentResult { AlreadyCurrent, Failed, Succeeded };
 
 enum class ColorMode {
-    Srgb,
+    // SRGB means HWUI will produce buffer in SRGB color space.
+    SRGB,
+    // WideColorGamut means HWUI would support rendering scRGB non-linear into
+    // a signed buffer with enough range to support the wide color gamut of the
+    // display.
     WideColorGamut,
     // Hdr
 };
@@ -55,7 +61,7 @@
     virtual bool draw(const Frame& frame, const SkRect& screenDirty, const SkRect& dirty,
                       const LightGeometry& lightGeometry,
                       LayerUpdateQueue* layerUpdateQueue, const Rect& contentDrawBounds,
-                      bool opaque, bool wideColorGamut, const LightInfo& lightInfo,
+                      bool opaque, const LightInfo& lightInfo,
                       const std::vector<sp<RenderNode>>& renderNodes,
                       FrameInfoVisualizer* profiler) = 0;
     virtual bool swapBuffers(const Frame& frame, bool drew, const SkRect& screenDirty,
@@ -67,15 +73,17 @@
     virtual bool isContextReady() = 0;
     virtual void onDestroyHardwareResources() = 0;
     virtual void renderLayers(const LightGeometry& lightGeometry,
-                              LayerUpdateQueue* layerUpdateQueue, bool opaque, bool wideColorGamut,
+                              LayerUpdateQueue* layerUpdateQueue, bool opaque,
                               const LightInfo& lightInfo) = 0;
     virtual TaskManager* getTaskManager() = 0;
     virtual bool createOrUpdateLayer(RenderNode* node, const DamageAccumulator& damageAccumulator,
-                                     bool wideColorGamut, ErrorHandler* errorHandler) = 0;
+                                     ErrorHandler* errorHandler) = 0;
     virtual bool pinImages(std::vector<SkImage*>& mutableImages) = 0;
     virtual bool pinImages(LsaVector<sk_sp<Bitmap>>& images) = 0;
     virtual void unpinImages() = 0;
     virtual void onPrepareTree() = 0;
+    virtual SkColorType getSurfaceColorType() const = 0;
+    virtual sk_sp<SkColorSpace> getSurfaceColorSpace() = 0;
 
     virtual ~IRenderPipeline() {}
 };
diff --git a/libs/hwui/renderthread/RenderProxy.cpp b/libs/hwui/renderthread/RenderProxy.cpp
index 7a5348a..54219b5 100644
--- a/libs/hwui/renderthread/RenderProxy.cpp
+++ b/libs/hwui/renderthread/RenderProxy.cpp
@@ -298,6 +298,12 @@
     });
 }
 
+void RenderProxy::setForceDark(bool enable) {
+    mRenderThread.queue().post([this, enable]() {
+        mContext->setForceDark(enable);
+    });
+}
+
 int RenderProxy::copySurfaceInto(sp<Surface>& surface, int left, int top, int right, int bottom,
                                  SkBitmap* bitmap) {
     auto& thread = RenderThread::getInstance();
@@ -345,13 +351,6 @@
     }
 }
 
-void RenderProxy::onBitmapDestroyed(uint32_t pixelRefId) {
-    if (!RenderThread::hasInstance()) return;
-    RenderThread& thread = RenderThread::getInstance();
-    thread.queue().post(
-            [&thread, pixelRefId]() { thread.renderState().onBitmapDestroyed(pixelRefId); });
-}
-
 void RenderProxy::disableVsync() {
     Properties::disableVsync = true;
 }
diff --git a/libs/hwui/renderthread/RenderProxy.h b/libs/hwui/renderthread/RenderProxy.h
index 969ad00..d29fcc4 100644
--- a/libs/hwui/renderthread/RenderProxy.h
+++ b/libs/hwui/renderthread/RenderProxy.h
@@ -119,7 +119,7 @@
 
     ANDROID_API void addFrameMetricsObserver(FrameMetricsObserver* observer);
     ANDROID_API void removeFrameMetricsObserver(FrameMetricsObserver* observer);
-    ANDROID_API long getDroppedFrameReportCount();
+    ANDROID_API void setForceDark(bool enable);
 
     ANDROID_API static int copySurfaceInto(sp<Surface>& surface, int left, int top, int right,
                                            int bottom, SkBitmap* bitmap);
@@ -127,8 +127,6 @@
 
     static int copyHWBitmapInto(Bitmap* hwBitmap, SkBitmap* bitmap);
 
-    static void onBitmapDestroyed(uint32_t pixelRefId);
-
     ANDROID_API static void disableVsync();
 
     static void repackVectorDrawableAtlas();
diff --git a/libs/hwui/renderthread/RenderThread.cpp b/libs/hwui/renderthread/RenderThread.cpp
index 7258a0a..207673c1 100644
--- a/libs/hwui/renderthread/RenderThread.cpp
+++ b/libs/hwui/renderthread/RenderThread.cpp
@@ -162,7 +162,7 @@
 }
 
 void RenderThread::initThreadLocals() {
-    mDisplayInfo = DeviceInfo::queryDisplayInfo();
+    mDisplayInfo = DeviceInfo::get()->displayInfo();
     nsecs_t frameIntervalNanos = static_cast<nsecs_t>(1000000000 / mDisplayInfo.fps);
     mTimeLord.setFrameInterval(frameIntervalNanos);
     initializeDisplayEventReceiver();
@@ -177,7 +177,6 @@
         return;
     }
     mEglManager->initialize();
-    renderState().onContextCreated();
 
 #ifdef HWUI_GLES_WRAP_ENABLED
     debug::GlesDriver* driver = debug::GlesDriver::get();
@@ -201,7 +200,6 @@
 void RenderThread::destroyGlContext() {
     if (mEglManager->hasEglContext()) {
         setGrContext(nullptr);
-        renderState().onContextDestroyed();
         mEglManager->destroy();
     }
 }
@@ -243,9 +241,14 @@
 void RenderThread::setGrContext(sk_sp<GrContext> context) {
     mCacheManager->reset(context);
     if (mGrContext) {
+        mRenderState->onContextDestroyed();
         mGrContext->releaseResourcesAndAbandonContext();
     }
     mGrContext = std::move(context);
+    if (mGrContext) {
+        mRenderState->onContextCreated();
+        DeviceInfo::setMaxTextureSize(mGrContext->maxRenderTargetSize());
+    }
 }
 
 int RenderThread::displayEventReceiverCallback(int fd, int events, void* data) {
diff --git a/libs/hwui/renderthread/VulkanManager.cpp b/libs/hwui/renderthread/VulkanManager.cpp
index 038e13c..83e9db3 100644
--- a/libs/hwui/renderthread/VulkanManager.cpp
+++ b/libs/hwui/renderthread/VulkanManager.cpp
@@ -16,7 +16,8 @@
 
 #include "VulkanManager.h"
 
-#include "DeviceInfo.h"
+#include <private/gui/SyncFeatures.h>
+
 #include "Properties.h"
 #include "RenderThread.h"
 #include "renderstate/RenderState.h"
@@ -40,9 +41,12 @@
 VulkanManager::VulkanManager(RenderThread& thread) : mRenderThread(thread) {}
 
 void VulkanManager::destroy() {
-    mRenderThread.renderState().onContextDestroyed();
     mRenderThread.setGrContext(nullptr);
 
+    // We don't need to explicitly free the command buffer since it automatically gets freed when we
+    // delete the VkCommandPool below.
+    mDummyCB = VK_NULL_HANDLE;
+
     if (VK_NULL_HANDLE != mCommandPool) {
         mDestroyCommandPool(mDevice, mCommandPool, nullptr);
         mCommandPool = VK_NULL_HANDLE;
@@ -228,6 +232,11 @@
     grExtensions.init(getProc, mInstance, mPhysicalDevice, instanceExtensions.size(),
             instanceExtensions.data(), deviceExtensions.size(), deviceExtensions.data());
 
+    if (!grExtensions.hasExtension(VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME, 1)) {
+        this->destroy();
+        return false;
+    }
+
     memset(&features, 0, sizeof(VkPhysicalDeviceFeatures2));
     features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
     features.pNext = nullptr;
@@ -315,6 +324,8 @@
     GET_DEV_PROC(DeviceWaitIdle);
     GET_DEV_PROC(CreateSemaphore);
     GET_DEV_PROC(DestroySemaphore);
+    GET_DEV_PROC(ImportSemaphoreFdKHR);
+    GET_DEV_PROC(GetSemaphoreFdKHR);
     GET_DEV_PROC(CreateFence);
     GET_DEV_PROC(DestroyFence);
     GET_DEV_PROC(WaitForFences);
@@ -386,6 +397,14 @@
                 &mCommandPool);
         SkASSERT(VK_SUCCESS == res);
     }
+    LOG_ALWAYS_FATAL_IF(mCommandPool == VK_NULL_HANDLE);
+
+    if (!setupDummyCommandBuffer()) {
+        this->destroy();
+        return;
+    }
+    LOG_ALWAYS_FATAL_IF(mDummyCB == VK_NULL_HANDLE);
+
 
     mGetDeviceQueue(mDevice, mPresentQueueIndex, 0, &mPresentQueue);
 
@@ -399,13 +418,9 @@
 
     free_features_extensions_structs(features);
 
-    DeviceInfo::initialize(mRenderThread.getGrContext()->maxRenderTargetSize());
-
     if (Properties::enablePartialUpdates && Properties::useBufferAge) {
         mSwapBehavior = SwapBehavior::BufferAge;
     }
-
-    mRenderThread.renderState().onContextCreated();
 }
 
 // Returns the next BackbufferInfo to use for the next draw. The function will make sure all
@@ -603,7 +618,8 @@
         VulkanSurface::ImageInfo& imageInfo = surface->mImageInfos[i];
         imageInfo.mSurface = SkSurface::MakeFromBackendRenderTarget(
                 mRenderThread.getGrContext(), backendRT, kTopLeft_GrSurfaceOrigin,
-                kRGBA_8888_SkColorType, nullptr, &props);
+                surface->mColorMode == ColorMode::WideColorGamut ? kRGBA_F16_SkColorType
+                : kRGBA_8888_SkColorType, nullptr, &props);
     }
 
     SkASSERT(mCommandPool != VK_NULL_HANDLE);
@@ -718,24 +734,22 @@
                     ? VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR
                     : VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR;
 
-    // Pick our surface format. For now, just make sure it matches our sRGB request:
-    VkFormat surfaceFormat = VK_FORMAT_UNDEFINED;
+    VkFormat surfaceFormat = VK_FORMAT_R8G8B8A8_UNORM;
     VkColorSpaceKHR colorSpace = VK_COLORSPACE_SRGB_NONLINEAR_KHR;
-
-    bool wantSRGB = false;
-#ifdef ANDROID_ENABLE_LINEAR_BLENDING
-    wantSRGB = true;
-#endif
+    if (surface->mColorMode == ColorMode::WideColorGamut) {
+        surfaceFormat = VK_FORMAT_R16G16B16A16_SFLOAT;
+        colorSpace = VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT;
+    }
+    bool foundSurfaceFormat = false;
     for (uint32_t i = 0; i < surfaceFormatCount; ++i) {
-        // We are assuming we can get either R8G8B8A8_UNORM or R8G8B8A8_SRGB
-        VkFormat desiredFormat = wantSRGB ? VK_FORMAT_R8G8B8A8_SRGB : VK_FORMAT_R8G8B8A8_UNORM;
-        if (desiredFormat == surfaceFormats[i].format) {
-            surfaceFormat = surfaceFormats[i].format;
-            colorSpace = surfaceFormats[i].colorSpace;
+        if (surfaceFormat == surfaceFormats[i].format
+                && colorSpace == surfaceFormats[i].colorSpace) {
+            foundSurfaceFormat = true;
+            break;
         }
     }
 
-    if (VK_FORMAT_UNDEFINED == surfaceFormat) {
+    if (!foundSurfaceFormat) {
         return false;
     }
 
@@ -797,14 +811,14 @@
     return true;
 }
 
-VulkanSurface* VulkanManager::createSurface(ANativeWindow* window) {
+VulkanSurface* VulkanManager::createSurface(ANativeWindow* window, ColorMode colorMode) {
     initialize();
 
     if (!window) {
         return nullptr;
     }
 
-    VulkanSurface* surface = new VulkanSurface();
+    VulkanSurface* surface = new VulkanSurface(colorMode);
 
     VkAndroidSurfaceCreateInfoKHR surfaceCreateInfo;
     memset(&surfaceCreateInfo, 0, sizeof(VkAndroidSurfaceCreateInfoKHR));
@@ -982,19 +996,176 @@
     return surface->mCurrentTime - lastUsed;
 }
 
+bool VulkanManager::setupDummyCommandBuffer() {
+    if (mDummyCB != VK_NULL_HANDLE) {
+        return true;
+    }
+
+    VkCommandBufferAllocateInfo commandBuffersInfo;
+    memset(&commandBuffersInfo, 0, sizeof(VkCommandBufferAllocateInfo));
+    commandBuffersInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
+    commandBuffersInfo.pNext = nullptr;
+    commandBuffersInfo.commandPool = mCommandPool;
+    commandBuffersInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY;
+    commandBuffersInfo.commandBufferCount = 1;
+
+    VkResult err = mAllocateCommandBuffers(mDevice, &commandBuffersInfo, &mDummyCB);
+    if (err != VK_SUCCESS) {
+        // It is probably unnecessary to set this back to VK_NULL_HANDLE, but we set it anyways to
+        // make sure the driver didn't set a value and then return a failure.
+        mDummyCB = VK_NULL_HANDLE;
+        return false;
+    }
+
+    VkCommandBufferBeginInfo beginInfo;
+    memset(&beginInfo, 0, sizeof(VkCommandBufferBeginInfo));
+    beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
+    beginInfo.flags = VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT;
+
+    mBeginCommandBuffer(mDummyCB, &beginInfo);
+    mEndCommandBuffer(mDummyCB);
+    return true;
+}
+
 status_t VulkanManager::fenceWait(sp<Fence>& fence) {
-    //TODO: Insert a wait on fence command into the Vulkan command buffer.
-    // Block CPU on the fence.
-    status_t err = fence->waitForever("VulkanManager::fenceWait");
-    if (err != NO_ERROR) {
-        ALOGE("VulkanManager::fenceWait: error waiting for fence: %d", err);
-        return err;
+    if (!hasVkContext()) {
+        ALOGE("VulkanManager::fenceWait: VkDevice not initialized");
+        return INVALID_OPERATION;
+    }
+
+    if (SyncFeatures::getInstance().useWaitSync() &&
+        SyncFeatures::getInstance().useNativeFenceSync()) {
+        // Block GPU on the fence.
+        int fenceFd = fence->dup();
+        if (fenceFd == -1) {
+            ALOGE("VulkanManager::fenceWait: error dup'ing fence fd: %d", errno);
+            return -errno;
+        }
+
+        VkSemaphoreCreateInfo semaphoreInfo;
+        semaphoreInfo.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
+        semaphoreInfo.pNext = nullptr;
+        semaphoreInfo.flags = 0;
+        VkSemaphore semaphore;
+        VkResult err = mCreateSemaphore(mDevice, &semaphoreInfo, nullptr, &semaphore);
+        if (VK_SUCCESS != err) {
+            ALOGE("Failed to create import semaphore, err: %d", err);
+            return UNKNOWN_ERROR;
+        }
+        VkImportSemaphoreFdInfoKHR importInfo;
+        importInfo.sType = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR;
+        importInfo.pNext = nullptr;
+        importInfo.semaphore = semaphore;
+        importInfo.flags = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT;
+        importInfo.handleType = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT;
+        importInfo.fd = fenceFd;
+
+        err = mImportSemaphoreFdKHR(mDevice, &importInfo);
+        if (VK_SUCCESS != err) {
+            ALOGE("Failed to import semaphore, err: %d", err);
+            return UNKNOWN_ERROR;
+        }
+
+        LOG_ALWAYS_FATAL_IF(mDummyCB == VK_NULL_HANDLE);
+
+        VkPipelineStageFlags waitDstStageFlags = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT;
+
+        VkSubmitInfo submitInfo;
+        memset(&submitInfo, 0, sizeof(VkSubmitInfo));
+        submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
+        submitInfo.waitSemaphoreCount = 1;
+        // Wait to make sure aquire semaphore set above has signaled.
+        submitInfo.pWaitSemaphores = &semaphore;
+        submitInfo.pWaitDstStageMask = &waitDstStageFlags;
+        submitInfo.commandBufferCount = 1;
+        submitInfo.pCommandBuffers = &mDummyCB;
+        submitInfo.signalSemaphoreCount = 0;
+
+        mQueueSubmit(mGraphicsQueue, 1, &submitInfo, VK_NULL_HANDLE);
+
+        // On Android when we import a semaphore, it is imported using temporary permanence. That
+        // means as soon as we queue the semaphore for a wait it reverts to its previous permanent
+        // state before importing. This means it will now be in an idle state with no pending
+        // signal or wait operations, so it is safe to immediately delete it.
+        mDestroySemaphore(mDevice, semaphore, nullptr);
+    } else {
+        // Block CPU on the fence.
+        status_t err = fence->waitForever("VulkanManager::fenceWait");
+        if (err != NO_ERROR) {
+            ALOGE("VulkanManager::fenceWait: error waiting for fence: %d", err);
+            return err;
+        }
     }
     return OK;
 }
 
 status_t VulkanManager::createReleaseFence(sp<Fence>& nativeFence) {
-    //TODO: Create a fence that is signaled, when all the pending Vulkan commands are flushed.
+    if (!hasVkContext()) {
+        ALOGE("VulkanManager::createReleaseFence: VkDevice not initialized");
+        return INVALID_OPERATION;
+    }
+
+    if (SyncFeatures::getInstance().useFenceSync()) {
+        ALOGE("VulkanManager::createReleaseFence: Vk backend doesn't support non-native fences");
+        return INVALID_OPERATION;
+    }
+
+    if (!SyncFeatures::getInstance().useNativeFenceSync()) {
+        return OK;
+    }
+
+    VkExportSemaphoreCreateInfo exportInfo;
+    exportInfo.sType = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO;
+    exportInfo.pNext = nullptr;
+    exportInfo.handleTypes = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT;
+
+    VkSemaphoreCreateInfo semaphoreInfo;
+    semaphoreInfo.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
+    semaphoreInfo.pNext = &exportInfo;
+    semaphoreInfo.flags = 0;
+    VkSemaphore semaphore;
+    VkResult err = mCreateSemaphore(mDevice, &semaphoreInfo, nullptr, &semaphore);
+    if (VK_SUCCESS != err) {
+        ALOGE("VulkanManager::createReleaseFence: Failed to create semaphore");
+        return INVALID_OPERATION;
+    }
+
+    LOG_ALWAYS_FATAL_IF(mDummyCB == VK_NULL_HANDLE);
+
+    VkSubmitInfo submitInfo;
+    memset(&submitInfo, 0, sizeof(VkSubmitInfo));
+    submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
+    submitInfo.waitSemaphoreCount = 0;
+    submitInfo.pWaitSemaphores = nullptr;
+    submitInfo.pWaitDstStageMask = nullptr;
+    submitInfo.commandBufferCount = 1;
+    submitInfo.pCommandBuffers = &mDummyCB;
+    submitInfo.signalSemaphoreCount = 1;
+    submitInfo.pSignalSemaphores = &semaphore;
+
+    mQueueSubmit(mGraphicsQueue, 1, &submitInfo, VK_NULL_HANDLE);
+
+    VkSemaphoreGetFdInfoKHR getFdInfo;
+    getFdInfo.sType = VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR;
+    getFdInfo.pNext = nullptr;
+    getFdInfo.semaphore = semaphore;
+    getFdInfo.handleType = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT;
+
+    int fenceFd = 0;
+
+    err = mGetSemaphoreFdKHR(mDevice, &getFdInfo, &fenceFd);
+    if (VK_SUCCESS != err) {
+        ALOGE("VulkanManager::createReleaseFence: Failed to get semaphore Fd");
+        return INVALID_OPERATION;
+    }
+    nativeFence = new Fence(fenceFd);
+
+    // Exporting a semaphore with copy transference via vkGetSemahporeFdKHR, has the same effect of
+    // destroying the semaphore and creating a new one with the same handle, and the payloads
+    // ownership is move to the Fd we created. Thus the semahpore is in a state that we can delete
+    // it and we don't need to wait on the command buffer we submitted to finish.
+    mDestroySemaphore(mDevice, semaphore, nullptr);
+
     return OK;
 }
 
diff --git a/libs/hwui/renderthread/VulkanManager.h b/libs/hwui/renderthread/VulkanManager.h
index ebc11a5..7c59b6d 100644
--- a/libs/hwui/renderthread/VulkanManager.h
+++ b/libs/hwui/renderthread/VulkanManager.h
@@ -26,6 +26,7 @@
 #include <ui/Fence.h>
 #include <utils/StrongPointer.h>
 #include <vk/GrVkBackendContext.h>
+#include "IRenderPipeline.h"
 
 class GrVkExtensions;
 
@@ -37,7 +38,7 @@
 
 class VulkanSurface {
 public:
-    VulkanSurface() {}
+    VulkanSurface(ColorMode colorMode) : mColorMode(colorMode) {}
 
     sk_sp<SkSurface> getBackBufferSurface() { return mBackbuffer; }
 
@@ -73,6 +74,7 @@
     VkImage* mImages = nullptr;
     ImageInfo* mImageInfos;
     uint16_t mCurrentTime = 0;
+    ColorMode mColorMode;
 };
 
 // This class contains the shared global Vulkan objects, such as VkInstance, VkDevice and VkQueue,
@@ -90,7 +92,7 @@
 
     // Given a window this creates a new VkSurfaceKHR and VkSwapchain and stores them inside a new
     // VulkanSurface object which is returned.
-    VulkanSurface* createSurface(ANativeWindow* window);
+    VulkanSurface* createSurface(ANativeWindow* window, ColorMode colorMode);
 
     // Destroy the VulkanSurface and all associated vulkan objects.
     void destroySurface(VulkanSurface* surface);
@@ -135,6 +137,8 @@
 
     VulkanSurface::BackbufferInfo* getAvailableBackbuffer(VulkanSurface* surface);
 
+    bool setupDummyCommandBuffer();
+
     // simple wrapper class that exists only to initialize a pointer to NULL
     template <typename FNPTR_TYPE>
     class VkPtr {
@@ -195,6 +199,8 @@
 
     VkPtr<PFN_vkCreateSemaphore> mCreateSemaphore;
     VkPtr<PFN_vkDestroySemaphore> mDestroySemaphore;
+    VkPtr<PFN_vkImportSemaphoreFdKHR> mImportSemaphoreFdKHR;
+    VkPtr<PFN_vkGetSemaphoreFdKHR> mGetSemaphoreFdKHR;
     VkPtr<PFN_vkCreateFence> mCreateFence;
     VkPtr<PFN_vkDestroyFence> mDestroyFence;
     VkPtr<PFN_vkWaitForFences> mWaitForFences;
@@ -212,6 +218,8 @@
     VkQueue mPresentQueue = VK_NULL_HANDLE;
     VkCommandPool mCommandPool = VK_NULL_HANDLE;
 
+    VkCommandBuffer mDummyCB = VK_NULL_HANDLE;
+
     enum class SwapBehavior {
         Discard,
         BufferAge,
diff --git a/libs/hwui/tests/common/TestUtils.h b/libs/hwui/tests/common/TestUtils.h
index 0e6582c..a00b8db 100644
--- a/libs/hwui/tests/common/TestUtils.h
+++ b/libs/hwui/tests/common/TestUtils.h
@@ -16,7 +16,6 @@
 
 #pragma once
 
-#include <DeviceInfo.h>
 #include <DisplayList.h>
 #include <Matrix.h>
 #include <Properties.h>
@@ -25,6 +24,7 @@
 #include <Snapshot.h>
 #include <hwui/Bitmap.h>
 #include <pipeline/skia/SkiaRecordingCanvas.h>
+#include <private/hwui/DrawGlInfo.h>
 #include <renderstate/RenderState.h>
 #include <renderthread/RenderThread.h>
 
@@ -179,12 +179,6 @@
     static sp<RenderNode> createNode(
             int left, int top, int right, int bottom,
             std::function<void(RenderProperties& props, Canvas& canvas)> setup) {
-#if HWUI_NULL_GPU
-        // if RenderNodes are being sync'd/used, device info will be needed, since
-        // DeviceInfo::maxTextureSize() affects layer property
-        DeviceInfo::initialize();
-#endif
-
         sp<RenderNode> node = new RenderNode();
         RenderProperties& props = node->mutateStagingProperties();
         props.setLeftTopRightBottom(left, top, right, bottom);
@@ -202,12 +196,6 @@
     static sp<RenderNode> createNode(
             int left, int top, int right, int bottom,
             std::function<void(RenderProperties& props, RecordingCanvasType& canvas)> setup) {
-#if HWUI_NULL_GPU
-        // if RenderNodes are being sync'd/used, device info will be needed, since
-        // DeviceInfo::maxTextureSize() affects layer property
-        DeviceInfo::initialize();
-#endif
-
         sp<RenderNode> node = new RenderNode();
         RenderProperties& props = node->mutateStagingProperties();
         props.setLeftTopRightBottom(left, top, right, bottom);
@@ -233,11 +221,6 @@
             std::function<void(RenderProperties& props, skiapipeline::SkiaRecordingCanvas& canvas)>
                     setup,
             const char* name = nullptr, skiapipeline::SkiaDisplayList* displayList = nullptr) {
-#if HWUI_NULL_GPU
-        // if RenderNodes are being sync'd/used, device info will be needed, since
-        // DeviceInfo::maxTextureSize() affects layer property
-        DeviceInfo::initialize();
-#endif
         sp<RenderNode> node = new RenderNode();
         if (name) {
             node->setName(name);
diff --git a/libs/hwui/tests/unit/RenderNodeDrawableTests.cpp b/libs/hwui/tests/unit/RenderNodeDrawableTests.cpp
index 48bc8e4..2926ef3 100644
--- a/libs/hwui/tests/unit/RenderNodeDrawableTests.cpp
+++ b/libs/hwui/tests/unit/RenderNodeDrawableTests.cpp
@@ -537,7 +537,7 @@
     layerUpdateQueue.enqueueLayerWithDamage(child.get(),
                                             android::uirenderer::Rect(LAYER_WIDTH, LAYER_HEIGHT));
     auto pipeline = std::make_unique<SkiaOpenGLPipeline>(renderThread);
-    pipeline->renderLayersImpl(layerUpdateQueue, true, false);
+    pipeline->renderLayersImpl(layerUpdateQueue, true);
     EXPECT_EQ(1, drawCounter);  // assert index 0 is drawn on the layer
 
     RenderNodeDrawable drawable(parent.get(), surfaceLayer1->getCanvas(), true);
diff --git a/libs/hwui/tests/unit/RenderPropertiesTests.cpp b/libs/hwui/tests/unit/RenderPropertiesTests.cpp
index 85655fc..3e8e057 100644
--- a/libs/hwui/tests/unit/RenderPropertiesTests.cpp
+++ b/libs/hwui/tests/unit/RenderPropertiesTests.cpp
@@ -22,8 +22,6 @@
 using namespace android::uirenderer;
 
 TEST(RenderProperties, layerValidity) {
-    DeviceInfo::initialize();
-
     const int maxTextureSize = DeviceInfo::get()->maxTextureSize();
     ASSERT_LE(2048, maxTextureSize);
     ASSERT_GT(100000, maxTextureSize);
diff --git a/libs/hwui/tests/unit/SkiaDisplayListTests.cpp b/libs/hwui/tests/unit/SkiaDisplayListTests.cpp
index 6c398ee..415f9e8 100644
--- a/libs/hwui/tests/unit/SkiaDisplayListTests.cpp
+++ b/libs/hwui/tests/unit/SkiaDisplayListTests.cpp
@@ -20,6 +20,7 @@
 #include "AnimationContext.h"
 #include "DamageAccumulator.h"
 #include "IContextFactory.h"
+#include "pipeline/skia/GLFunctorDrawable.h"
 #include "pipeline/skia/SkiaDisplayList.h"
 #include "renderthread/CanvasContext.h"
 #include "tests/common/TestUtils.h"
@@ -46,7 +47,8 @@
     SkCanvas dummyCanvas;
     RenderNodeDrawable drawable(nullptr, &dummyCanvas);
     skiaDL->mChildNodes.emplace_back(nullptr, &dummyCanvas);
-    skiaDL->mChildFunctors.emplace_back(nullptr, nullptr, &dummyCanvas);
+    GLFunctorDrawable functorDrawable(nullptr, nullptr, &dummyCanvas);
+    skiaDL->mChildFunctors.push_back(&functorDrawable);
     skiaDL->mMutableImages.push_back(nullptr);
     skiaDL->mVectorDrawables.push_back(nullptr);
     skiaDL->mProjectionReceiver = &drawable;
@@ -95,7 +97,8 @@
 
     SkCanvas dummyCanvas;
     TestUtils::MockFunctor functor;
-    skiaDL.mChildFunctors.emplace_back(&functor, nullptr, &dummyCanvas);
+    GLFunctorDrawable functorDrawable(&functor, nullptr, &dummyCanvas);
+    skiaDL.mChildFunctors.push_back(&functorDrawable);
 
     SkRect bounds = SkRect::MakeWH(200, 200);
     VectorDrawableRoot vectorDrawable(new VectorDrawable::Group());
diff --git a/libs/hwui/tests/unit/SkiaPipelineTests.cpp b/libs/hwui/tests/unit/SkiaPipelineTests.cpp
index a9124d9..cdf31da 100644
--- a/libs/hwui/tests/unit/SkiaPipelineTests.cpp
+++ b/libs/hwui/tests/unit/SkiaPipelineTests.cpp
@@ -50,7 +50,7 @@
     auto surface = SkSurface::MakeRasterN32Premul(1, 1);
     surface->getCanvas()->drawColor(SK_ColorBLUE, SkBlendMode::kSrcOver);
     ASSERT_EQ(TestUtils::getColor(surface, 0, 0), SK_ColorBLUE);
-    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, opaque, false, contentDrawBounds,
+    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, opaque, contentDrawBounds,
                           surface);
     ASSERT_EQ(TestUtils::getColor(surface, 0, 0), SK_ColorRED);
 }
@@ -83,7 +83,7 @@
     ASSERT_EQ(TestUtils::getColor(surface, 0, 0), SK_ColorBLUE);
 
     // drawFrame will crash if "SkiaPipeline::onPrepareTree" did not clean invalid VD pointer
-    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, opaque, false, contentDrawBounds,
+    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, opaque, contentDrawBounds,
                           surface);
     ASSERT_EQ(TestUtils::getColor(surface, 0, 0), SK_ColorRED);
 }
@@ -105,11 +105,11 @@
     auto surface = SkSurface::MakeRasterN32Premul(2, 2);
     surface->getCanvas()->drawColor(SK_ColorBLUE, SkBlendMode::kSrcOver);
     ASSERT_EQ(TestUtils::getColor(surface, 0, 0), SK_ColorBLUE);
-    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, true, false, contentDrawBounds,
+    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, true, contentDrawBounds,
                           surface);
     ASSERT_EQ(TestUtils::getColor(surface, 0, 0), SK_ColorBLUE);
     ASSERT_EQ(TestUtils::getColor(surface, 0, 1), SK_ColorGREEN);
-    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, false, false, contentDrawBounds,
+    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, false, contentDrawBounds,
                           surface);
     ASSERT_EQ(TestUtils::getColor(surface, 0, 0), (unsigned int)SK_ColorTRANSPARENT);
     ASSERT_EQ(TestUtils::getColor(surface, 0, 1), SK_ColorGREEN);
@@ -129,7 +129,7 @@
     auto surface = SkSurface::MakeRasterN32Premul(2, 2);
     surface->getCanvas()->drawColor(SK_ColorBLUE, SkBlendMode::kSrcOver);
     ASSERT_EQ(TestUtils::getColor(surface, 0, 0), SK_ColorBLUE);
-    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, true, false, contentDrawBounds,
+    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, true, contentDrawBounds,
                           surface);
     ASSERT_EQ(TestUtils::getColor(surface, 0, 0), SK_ColorBLUE);
     ASSERT_EQ(TestUtils::getColor(surface, 1, 0), SK_ColorBLUE);
@@ -171,7 +171,7 @@
     lightGeometry.center = {0.0f, 0.0f, 0.0f};
     LightInfo lightInfo;
     auto pipeline = std::make_unique<SkiaOpenGLPipeline>(renderThread);
-    pipeline->renderLayers(lightGeometry, &layerUpdateQueue, opaque, false, lightInfo);
+    pipeline->renderLayers(lightGeometry, &layerUpdateQueue, opaque, lightInfo);
     ASSERT_EQ(TestUtils::getColor(surfaceLayer1, 0, 0), SK_ColorRED);
     ASSERT_EQ(TestUtils::getColor(surfaceLayer2, 0, 0), SK_ColorBLUE);
     ASSERT_EQ(TestUtils::getColor(surfaceLayer2, 0, 1), SK_ColorWHITE);
@@ -202,37 +202,37 @@
     ASSERT_EQ(TestUtils::getColor(surface, 0, 0), SK_ColorBLUE);
 
     // Single draw, should be white.
-    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, opaque, false, contentDrawBounds,
+    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, opaque, contentDrawBounds,
                           surface);
     ASSERT_EQ(TestUtils::getColor(surface, 0, 0), SK_ColorWHITE);
 
     // 1 Overdraw, should be blue blended onto white.
     renderNodes.push_back(whiteNode);
-    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, opaque, false, contentDrawBounds,
+    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, opaque, contentDrawBounds,
                           surface);
     ASSERT_EQ(TestUtils::getColor(surface, 0, 0), (unsigned)0xffd0d0ff);
 
     // 2 Overdraw, should be green blended onto white
     renderNodes.push_back(whiteNode);
-    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, opaque, false, contentDrawBounds,
+    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, opaque, contentDrawBounds,
                           surface);
     ASSERT_EQ(TestUtils::getColor(surface, 0, 0), (unsigned)0xffd0ffd0);
 
     // 3 Overdraw, should be pink blended onto white.
     renderNodes.push_back(whiteNode);
-    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, opaque, false, contentDrawBounds,
+    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, opaque, contentDrawBounds,
                           surface);
     ASSERT_EQ(TestUtils::getColor(surface, 0, 0), (unsigned)0xffffc0c0);
 
     // 4 Overdraw, should be red blended onto white.
     renderNodes.push_back(whiteNode);
-    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, opaque, false, contentDrawBounds,
+    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, opaque, contentDrawBounds,
                           surface);
     ASSERT_EQ(TestUtils::getColor(surface, 0, 0), (unsigned)0xffff8080);
 
     // 5 Overdraw, should be red blended onto white.
     renderNodes.push_back(whiteNode);
-    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, opaque, false, contentDrawBounds,
+    pipeline->renderFrame(layerUpdateQueue, dirty, renderNodes, opaque, contentDrawBounds,
                           surface);
     ASSERT_EQ(TestUtils::getColor(surface, 0, 0), (unsigned)0xffff8080);
 }
@@ -318,7 +318,7 @@
     SkRect dirty = SkRect::MakeWH(800, 600);
     auto pipeline = std::make_unique<SkiaOpenGLPipeline>(renderThread);
     sk_sp<DeferLayer<DeferTestCanvas>> surface(new DeferLayer<DeferTestCanvas>());
-    pipeline->renderFrame(layerUpdateQueue, dirty, nodes, true, false, contentDrawBounds, surface);
+    pipeline->renderFrame(layerUpdateQueue, dirty, nodes, true, contentDrawBounds, surface);
     EXPECT_EQ(4, surface->canvas()->mDrawCounter);
 }
 
@@ -348,7 +348,7 @@
     SkRect dirty = SkRect::MakeLTRB(10, 20, 30, 40);
     auto pipeline = std::make_unique<SkiaOpenGLPipeline>(renderThread);
     sk_sp<DeferLayer<ClippedTestCanvas>> surface(new DeferLayer<ClippedTestCanvas>());
-    pipeline->renderFrame(layerUpdateQueue, dirty, nodes, true, false,
+    pipeline->renderFrame(layerUpdateQueue, dirty, nodes, true,
                           SkRect::MakeWH(CANVAS_WIDTH, CANVAS_HEIGHT), surface);
     EXPECT_EQ(1, surface->canvas()->mDrawCounter);
 }
@@ -378,7 +378,17 @@
     SkRect dirty = SkRect::MakeLTRB(10, 10, 40, 40);
     auto pipeline = std::make_unique<SkiaOpenGLPipeline>(renderThread);
     sk_sp<DeferLayer<ClipReplaceTestCanvas>> surface(new DeferLayer<ClipReplaceTestCanvas>());
-    pipeline->renderFrame(layerUpdateQueue, dirty, nodes, true, false,
+    pipeline->renderFrame(layerUpdateQueue, dirty, nodes, true,
                           SkRect::MakeWH(CANVAS_WIDTH, CANVAS_HEIGHT), surface);
     EXPECT_EQ(1, surface->canvas()->mDrawCounter);
 }
+
+RENDERTHREAD_SKIA_PIPELINE_TEST(SkiaPipeline, context_lost) {
+    auto pipeline = std::make_unique<SkiaOpenGLPipeline>(renderThread);
+    EXPECT_FALSE(pipeline->isSurfaceReady());
+    EXPECT_TRUE(pipeline->setSurface((Surface*)0x01, SwapBehavior::kSwap_default, ColorMode::SRGB));
+    EXPECT_TRUE(pipeline->isSurfaceReady());
+    renderThread.destroyGlContext();
+    EXPECT_FALSE(pipeline->isSurfaceReady());
+}
+
diff --git a/libs/hwui/utils/Color.cpp b/libs/hwui/utils/Color.cpp
index a3e7859..3fb6a31 100644
--- a/libs/hwui/utils/Color.cpp
+++ b/libs/hwui/utils/Color.cpp
@@ -57,6 +57,26 @@
     return false;
 }
 
+android::PixelFormat ColorTypeToPixelFormat(SkColorType colorType) {
+    switch (colorType) {
+        case kRGBA_8888_SkColorType:
+            return PIXEL_FORMAT_RGBA_8888;
+        case kRGBA_F16_SkColorType:
+            return PIXEL_FORMAT_RGBA_FP16;
+        case kRGB_565_SkColorType:
+            return PIXEL_FORMAT_RGB_565;
+        case kRGB_888x_SkColorType:
+            return PIXEL_FORMAT_RGBX_8888;
+        case kRGBA_1010102_SkColorType:
+            return PIXEL_FORMAT_RGBA_1010102;
+        case kARGB_4444_SkColorType:
+            return PIXEL_FORMAT_RGBA_4444;
+        default:
+            ALOGW("Unsupported colorType: %d, return RGBA_8888 by default", (int)colorType);
+            return PIXEL_FORMAT_RGBA_8888;
+    }
+}
+
 sk_sp<SkColorSpace> DataSpaceToColorSpace(android_dataspace dataspace) {
 
     SkColorSpace::Gamut gamut;
diff --git a/libs/hwui/utils/Color.h b/libs/hwui/utils/Color.h
index 3c13a54..4daccda 100644
--- a/libs/hwui/utils/Color.h
+++ b/libs/hwui/utils/Color.h
@@ -18,9 +18,11 @@
 
 #include <math.h>
 #include <system/graphics.h>
+#include <ui/PixelFormat.h>
 
 #include <SkColor.h>
 #include <SkColorSpace.h>
+#include <SkImageInfo.h>
 
 namespace android {
 namespace uirenderer {
@@ -113,6 +115,8 @@
 // returns true for sRGB, gamma 2.2 and Display P3 for instance
 bool transferFunctionCloseToSRGB(const SkColorSpace* colorSpace);
 
+android::PixelFormat ColorTypeToPixelFormat(SkColorType colorType);
+
 sk_sp<SkColorSpace> DataSpaceToColorSpace(android_dataspace dataspace);
 
 struct Lab {
diff --git a/libs/hwui/utils/GLUtils.cpp b/libs/hwui/utils/GLUtils.cpp
index bf27300..fcd036c 100644
--- a/libs/hwui/utils/GLUtils.cpp
+++ b/libs/hwui/utils/GLUtils.cpp
@@ -59,5 +59,22 @@
 #endif
 }
 
+const char* GLUtils::getGLFramebufferError() {
+    switch (glCheckFramebufferStatus(GL_FRAMEBUFFER)) {
+        case GL_FRAMEBUFFER_COMPLETE:
+            return "GL_FRAMEBUFFER_COMPLETE";
+        case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT:
+            return "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT";
+        case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:
+            return "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";
+        case GL_FRAMEBUFFER_UNSUPPORTED:
+            return "GL_FRAMEBUFFER_UNSUPPORTED";
+        case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS:
+            return "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS";
+        default:
+            return "Unknown error";
+    }
+}
+
 };  // namespace uirenderer
 };  // namespace android
diff --git a/libs/hwui/utils/GLUtils.h b/libs/hwui/utils/GLUtils.h
index debfb5d..ca8810b 100644
--- a/libs/hwui/utils/GLUtils.h
+++ b/libs/hwui/utils/GLUtils.h
@@ -20,6 +20,12 @@
 
 #include <log/log.h>
 
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+#include <GLES3/gl3.h>
+
 namespace android {
 namespace uirenderer {
 
@@ -43,8 +49,53 @@
      */
     static bool dumpGLErrors();
 
+    static const char* getGLFramebufferError();
 };  // class GLUtils
 
+class AutoEglImage {
+public:
+    AutoEglImage(EGLDisplay display, EGLClientBuffer clientBuffer) : mDisplay(display) {
+        EGLint imageAttrs[] = {EGL_IMAGE_PRESERVED_KHR, EGL_TRUE, EGL_NONE};
+        image = eglCreateImageKHR(display, EGL_NO_CONTEXT, EGL_NATIVE_BUFFER_ANDROID, clientBuffer,
+                                  imageAttrs);
+    }
+
+    ~AutoEglImage() {
+        if (image != EGL_NO_IMAGE_KHR) {
+            eglDestroyImageKHR(mDisplay, image);
+        }
+    }
+
+    EGLImageKHR image = EGL_NO_IMAGE_KHR;
+
+private:
+    EGLDisplay mDisplay = EGL_NO_DISPLAY;
+};
+
+class AutoSkiaGlTexture {
+public:
+    AutoSkiaGlTexture() {
+        glGenTextures(1, &mTexture);
+        glBindTexture(GL_TEXTURE_2D, mTexture);
+    }
+
+    ~AutoSkiaGlTexture() { glDeleteTextures(1, &mTexture); }
+
+    GLuint mTexture = 0;
+};
+
+class AutoGLFramebuffer {
+public:
+    AutoGLFramebuffer() {
+        glGenFramebuffers(1, &mFb);
+        glBindFramebuffer(GL_FRAMEBUFFER, mFb);
+    }
+
+    ~AutoGLFramebuffer() { glDeleteFramebuffers(1, &mFb); }
+
+    GLuint mFb;
+};
+
 } /* namespace uirenderer */
 } /* namespace android */
 
diff --git a/libs/services/include/android/os/StatsLogEventWrapper.h b/libs/services/include/android/os/StatsLogEventWrapper.h
index 255619c..52cb75e 100644
--- a/libs/services/include/android/os/StatsLogEventWrapper.h
+++ b/libs/services/include/android/os/StatsLogEventWrapper.h
@@ -25,6 +25,58 @@
 namespace android {
 namespace os {
 
+/**
+ * A wrapper for a union type to contain multiple types of values.
+ *
+ */
+struct StatsLogValue {
+  // Keep in sync with FieldValue.h
+  enum STATS_LOG_VALUE_TYPE {
+    UNKNOWN = 0,
+    INT = 1,
+    LONG = 2,
+    FLOAT = 3,
+    DOUBLE = 4,
+    STRING = 5,
+    STORAGE = 6
+  };
+
+  StatsLogValue() : type(UNKNOWN) {}
+
+  StatsLogValue(int32_t v) {
+    int_value = v;
+    type = INT;
+  }
+
+  StatsLogValue(int64_t v) {
+    long_value = v;
+    type = LONG;
+  }
+
+  StatsLogValue(float v) {
+    float_value = v;
+    type = FLOAT;
+  }
+
+  StatsLogValue(const std::string& v) {
+    str_value = v;
+    type = STRING;
+  }
+
+  void setType(STATS_LOG_VALUE_TYPE t) { type = t; }
+
+  union {
+    int32_t int_value;
+    int64_t long_value;
+    float float_value;
+    double double_value;
+  };
+  std::string str_value;
+  std::vector<uint8_t> storage_value;
+
+  STATS_LOG_VALUE_TYPE type;
+};
+
 // Represents a parcelable object. Only used to send data from Android OS to statsd.
 class StatsLogEventWrapper : public android::Parcelable {
  public:
@@ -36,8 +88,22 @@
 
   android::status_t readFromParcel(const android::Parcel* in);
 
-  // These are public for ease of conversion.
-  std::vector<uint8_t> bytes;
+  int getTagId() const { return mTagId; }
+
+  int64_t getElapsedRealTimeNs() const { return mElapsedRealTimeNs; }
+
+  int64_t getWallClockTimeNs() const { return mWallClockTimeNs; }
+
+  std::vector<StatsLogValue> getElements() const { return mElements; }
+
+ private:
+  int mTagId;
+
+  int64_t mElapsedRealTimeNs;
+
+  int64_t mWallClockTimeNs;
+
+  std::vector<StatsLogValue> mElements;
 };
 } // Namespace os
 } // Namespace android
diff --git a/libs/services/src/os/StatsLogEventWrapper.cpp b/libs/services/src/os/StatsLogEventWrapper.cpp
index 8b3aa9a..04c4629 100644
--- a/libs/services/src/os/StatsLogEventWrapper.cpp
+++ b/libs/services/src/os/StatsLogEventWrapper.cpp
@@ -32,13 +32,70 @@
 StatsLogEventWrapper::StatsLogEventWrapper(){};
 
 status_t StatsLogEventWrapper::writeToParcel(Parcel* out) const {
-    out->writeByteVector(bytes);
-    return ::android::NO_ERROR;
+  // Implement me if desired. We don't currently use this.
+  ALOGE(
+      "Cannot do c++ StatsLogEventWrapper.writeToParcel(); it is not "
+      "implemented.");
+  (void)out;  // To prevent compile error of unused parameter 'in'
+  return UNKNOWN_ERROR;
 };
 
 status_t StatsLogEventWrapper::readFromParcel(const Parcel* in) {
-    in->readByteVector(&bytes);
-    return ::android::NO_ERROR;
+  status_t res = OK;
+  if (in == NULL) {
+    ALOGE("statsd received parcel argument was NULL.");
+    return BAD_VALUE;
+  }
+  if ((res = in->readInt32(&mTagId)) != OK) {
+    ALOGE("statsd could not read tagId from parcel");
+    return res;
+  }
+  if ((res = in->readInt64(&mElapsedRealTimeNs)) != OK) {
+    ALOGE("statsd could not read elapsed real time from parcel");
+    return res;
+  }
+  if ((res = in->readInt64(&mWallClockTimeNs)) != OK) {
+    ALOGE("statsd could not read wall clock time from parcel");
+    return res;
+  }
+  int dataSize = 0;
+  if ((res = in->readInt32(&dataSize)) != OK) {
+    ALOGE("statsd could not read data size from parcel");
+    return res;
+  }
+  if (mTagId <= 0 || mElapsedRealTimeNs <= 0 || mWallClockTimeNs <= 0 ||
+      dataSize <= 0) {
+    ALOGE("statsd received invalid parcel");
+    return BAD_VALUE;
+  }
+
+  for (int i = 0; i < dataSize; i++) {
+    int type = in->readInt32();
+    switch (type) {
+      case StatsLogValue::INT:
+        mElements.push_back(StatsLogValue(in->readInt32()));
+        break;
+      case StatsLogValue::LONG:
+        mElements.push_back(StatsLogValue(in->readInt64()));
+        break;
+      case StatsLogValue::STRING:
+        mElements.push_back(
+            StatsLogValue(std::string(String8(in->readString16()).string())));
+        break;
+      case StatsLogValue::FLOAT:
+        mElements.push_back(StatsLogValue(in->readFloat()));
+        break;
+      case StatsLogValue::STORAGE:
+        mElements.push_back(StatsLogValue());
+        mElements.back().setType(StatsLogValue::STORAGE);
+        in->readByteVector(&(mElements.back().storage_value));
+        break;
+      default:
+        ALOGE("unrecognized data type: %d", type);
+        return BAD_TYPE;
+    }
+  }
+  return NO_ERROR;
 };
 
 } // Namespace os
diff --git a/location/java/android/location/Address.java b/location/java/android/location/Address.java
index 335ad5e..83f05c2 100644
--- a/location/java/android/location/Address.java
+++ b/location/java/android/location/Address.java
@@ -363,7 +363,7 @@
      * or null if it is unknown.
      *
      * @throws IllegalStateException if this Address has not been assigned
-     * a latitude.
+     * a phone number.
      */
     public String getPhone() {
         return mPhone;
diff --git a/location/java/android/location/CountryDetector.java b/location/java/android/location/CountryDetector.java
index 119d1e0..ae13949 100644
--- a/location/java/android/location/CountryDetector.java
+++ b/location/java/android/location/CountryDetector.java
@@ -21,6 +21,7 @@
 import android.annotation.SystemService;
 import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
+import android.os.Build;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.RemoteException;
@@ -88,7 +89,7 @@
      *       create an instance of this class is using the factory
      *       Context.getSystemService.
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public CountryDetector(ICountryDetector service) {
         mService = service;
         mListeners = new HashMap<CountryListener, ListenerTransport>();
diff --git a/media/java/android/media/AudioAttributes.java b/media/java/android/media/AudioAttributes.java
index 0476222..f1325ce 100644
--- a/media/java/android/media/AudioAttributes.java
+++ b/media/java/android/media/AudioAttributes.java
@@ -20,6 +20,7 @@
 import android.annotation.NonNull;
 import android.annotation.SystemApi;
 import android.annotation.UnsupportedAppUsage;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -375,11 +376,11 @@
 
     @UnsupportedAppUsage
     private int mUsage = USAGE_UNKNOWN;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private int mContentType = CONTENT_TYPE_UNKNOWN;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private int mSource = MediaRecorder.AudioSource.AUDIO_SOURCE_INVALID;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private int mFlags = 0x0;
     private HashSet<String> mTags;
     @UnsupportedAppUsage
@@ -715,6 +716,7 @@
                     break;
                 case AudioSystem.STREAM_TTS:
                     mContentType = CONTENT_TYPE_SONIFICATION;
+                    mFlags |= FLAG_BEACON;
                     break;
                 case AudioSystem.STREAM_ACCESSIBILITY:
                     mContentType = CONTENT_TYPE_SPEECH;
@@ -1039,6 +1041,10 @@
             return fromGetVolumeControlStream ?
                     AudioSystem.STREAM_VOICE_CALL : AudioSystem.STREAM_BLUETOOTH_SCO;
         }
+        if ((aa.getAllFlags() & FLAG_BEACON) == FLAG_BEACON) {
+            return fromGetVolumeControlStream ?
+                    AudioSystem.STREAM_MUSIC : AudioSystem.STREAM_TTS;
+        }
 
         // usage to stream type mapping
         switch (aa.getUsage()) {
diff --git a/media/java/android/media/AudioTrack.java b/media/java/android/media/AudioTrack.java
index aaf7dd7..62e58ca 100644
--- a/media/java/android/media/AudioTrack.java
+++ b/media/java/android/media/AudioTrack.java
@@ -1656,7 +1656,7 @@
     * @param timestamp a reference to a non-null AudioTimestamp instance allocated
     *        and owned by caller.
     * @return true if a timestamp is available, or false if no timestamp is available.
-    *         If a timestamp if available,
+    *         If a timestamp is available,
     *         the AudioTimestamp instance is filled in with a position in frame units, together
     *         with the estimated time when that frame was presented or is committed to
     *         be presented.
diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java
index d45acdf..1d27c03 100644
--- a/media/java/android/media/MediaCodec.java
+++ b/media/java/android/media/MediaCodec.java
@@ -24,6 +24,7 @@
 import android.graphics.Rect;
 import android.graphics.SurfaceTexture;
 import android.media.MediaCodecInfo.CodecCapabilities;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.IBinder;
@@ -42,6 +43,8 @@
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
 
 /**
  MediaCodec class can be used to access low-level media codecs, i.e. encoder/decoder components.
@@ -3580,8 +3583,19 @@
         native_init();
     }
 
-    @UnsupportedAppUsage
-    private long mNativeContext;
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
+    private long mNativeContext = 0;
+    private final Lock mNativeContextLock = new ReentrantLock();
+
+    private final long lockAndGetContext() {
+        mNativeContextLock.lock();
+        return mNativeContext;
+    }
+
+    private final void setAndUnlockContext(long context) {
+        mNativeContext = context;
+        mNativeContextLock.unlock();
+    }
 
     /** @hide */
     public static class MediaImage extends Image {
diff --git a/media/java/android/media/MediaCodecInfo.java b/media/java/android/media/MediaCodecInfo.java
index ef312d1..995ebb2 100644
--- a/media/java/android/media/MediaCodecInfo.java
+++ b/media/java/android/media/MediaCodecInfo.java
@@ -19,6 +19,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.UnsupportedAppUsage;
+import android.os.Build;
 import android.util.Log;
 import android.util.Pair;
 import android.util.Range;
@@ -1589,7 +1590,7 @@
         private VideoCapabilities() { }
 
         /** @hide */
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         public static VideoCapabilities create(
                 MediaFormat info, CodecCapabilities parent) {
             VideoCapabilities caps = new VideoCapabilities();
diff --git a/media/java/android/media/MediaPlayer.java b/media/java/android/media/MediaPlayer.java
index ed4da22..340f279 100644
--- a/media/java/android/media/MediaPlayer.java
+++ b/media/java/android/media/MediaPlayer.java
@@ -336,7 +336,7 @@
  *
  * <table border="0" cellspacing="0" cellpadding="0">
  * <tr><td>Method Name </p></td>
- *     <td>Valid Sates </p></td>
+ *     <td>Valid States </p></td>
  *     <td>Invalid States </p></td>
  *     <td>Comments </p></td></tr>
  * <tr><td>attachAuxEffect </p></td>
diff --git a/media/java/android/media/MediaPlayer2.java b/media/java/android/media/MediaPlayer2.java
index 89827bc..7492aa6 100644
--- a/media/java/android/media/MediaPlayer2.java
+++ b/media/java/android/media/MediaPlayer2.java
@@ -1108,12 +1108,9 @@
 
     /**
      * Sets playback rate using {@link PlaybackParams}. The object sets its internal
-     * PlaybackParams to the input, except that the object remembers previous speed
-     * when input speed is zero. This allows the object to resume at previous speed
-     * when play() is called. Calling it before the object is prepared does not change
-     * the object state. After the object is prepared, calling it with zero speed is
-     * equivalent to calling pause(). After the object is prepared, calling it with
-     * non-zero speed is equivalent to calling play().
+     * PlaybackParams to the input. This allows the object to resume at previous speed
+     * when play() is called. Speed of zero is not allowed. Calling it does not change
+     * the object state.
      *
      * @param params the playback params.
      */
diff --git a/media/java/android/media/MediaPlayer2Impl.java b/media/java/android/media/MediaPlayer2Impl.java
index 42d3d22..dfcbabe 100644
--- a/media/java/android/media/MediaPlayer2Impl.java
+++ b/media/java/android/media/MediaPlayer2Impl.java
@@ -25,6 +25,7 @@
 import android.content.Context;
 import android.content.res.AssetFileDescriptor;
 import android.graphics.SurfaceTexture;
+import android.graphics.Rect;
 import android.media.MediaPlayer2Proto;
 import android.media.MediaPlayer2Proto.PlayerMessage;
 import android.media.MediaPlayer2Proto.Value;
@@ -35,8 +36,6 @@
 import android.os.HandlerThread;
 import android.os.Looper;
 import android.os.Message;
-import android.os.Parcel;
-import android.os.Parcelable;
 import android.os.PersistableBundle;
 import android.os.PowerManager;
 import android.os.Process;
@@ -59,7 +58,6 @@
 import dalvik.system.CloseGuard;
 
 import libcore.io.IoBridge;
-import libcore.io.Streams;
 
 import java.io.ByteArrayOutputStream;
 import java.io.File;
@@ -85,6 +83,7 @@
 import java.util.UUID;
 import java.util.Vector;
 import java.util.concurrent.Executor;
+import java.util.concurrent.RejectedExecutionException;
 import java.util.concurrent.atomic.AtomicInteger;
 
 /**
@@ -252,21 +251,6 @@
             void process() {
                 stayAwake(false);
 
-                // TODO: remove this block when native code allows prepared -> pause
-                // and sends MEDIA_INFO_DATA_SOURCE_START when pipeline is created.
-                if (getState() == PLAYER_STATE_PREPARED) {
-                    final DataSourceDesc dsd;
-                    synchronized (mSrcLock) {
-                        dsd = mCurrentDSD;
-                    }
-                    synchronized (mEventCbLock) {
-                        for (Pair<Executor, EventCallback> cb : mEventCallbackRecords) {
-                            cb.first.execute(() -> cb.second.onInfo(
-                                    MediaPlayer2Impl.this, dsd, MEDIA_INFO_DATA_SOURCE_START, 0));
-                        }
-                    }
-                }
-
                 _pause();
             }
         });
@@ -284,7 +268,10 @@
         addTask(new Task(CALL_COMPLETED_SKIP_TO_NEXT, false) {
             @Override
             void process() {
-                // TODO: switch to next data source and play
+                if (getState() == PLAYER_STATE_PLAYING) {
+                    pause();
+                }
+                playNextDataSource();
             }
         });
     }
@@ -345,19 +332,14 @@
                     final String msg = "Cannot set AudioAttributes to null";
                     throw new IllegalArgumentException(msg);
                 }
-                Parcel pattributes = Parcel.obtain();
-                attributes.writeToParcel(pattributes, AudioAttributes.FLATTEN_TAGS);
-                setParameter(KEY_PARAMETER_AUDIO_ATTRIBUTES, pattributes);
-                pattributes.recycle();
+                setParameter(KEY_PARAMETER_AUDIO_ATTRIBUTES, attributes);
             }
         });
     }
 
     @Override
     public @NonNull AudioAttributes getAudioAttributes() {
-        Parcel pattributes = getParameter(KEY_PARAMETER_AUDIO_ATTRIBUTES);
-        AudioAttributes attributes = AudioAttributes.CREATOR.createFromParcel(pattributes);
-        pattributes.recycle();
+        AudioAttributes attributes = (AudioAttributes) getParameter(KEY_PARAMETER_AUDIO_ATTRIBUTES);
         return attributes;
     }
 
@@ -543,29 +525,11 @@
     private static final int INVOKE_ID_GET_SELECTED_TRACK = 7;
 
     /**
-     * Create a request parcel which can be routed to the native media
-     * player using {@link #invoke(Parcel, Parcel)}. The Parcel
-     * returned has the proper InterfaceToken set. The caller should
-     * not overwrite that token, i.e it can only append data to the
-     * Parcel.
-     *
-     * @return A parcel suitable to hold a request for the native
-     * player.
-     * {@hide}
-     */
-    @Override
-    public Parcel newRequest() {
-        Parcel parcel = Parcel.obtain();
-        return parcel;
-    }
-
-    /**
      * Invoke a generic method on the native player using opaque protocol
      * buffer message for the request and reply. Both payloads' format is a
      * convention between the java caller and the native player.
      *
-     * @param request PlayerMessage for the extension. The
-     * caller must use {@link #newRequest()} to get one.
+     * @param msg PlayerMessage for the extension.
      *
      * @return PlayerMessage with the data returned by the
      * native player.
@@ -589,12 +553,13 @@
         addTask(new Task(CALL_COMPLETED_NOTIFY_WHEN_COMMAND_LABEL_REACHED, false) {
             @Override
             void process() {
-                synchronized (mEventCbLock) {
-                    for (Pair<Executor, EventCallback> cb : mEventCallbackRecords) {
-                        cb.first.execute(() -> cb.second.onCommandLabelReached(
-                                MediaPlayer2Impl.this, label));
+                sendEvent(new EventNotifier() {
+                    @Override
+                    public void notify(EventCallback callback) {
+                        callback.onCommandLabelReached(
+                                MediaPlayer2Impl.this, label);
                     }
-                }
+                });
             }
         });
     }
@@ -1012,12 +977,13 @@
         }
 
         if (!hasNextDSD) {
-            synchronized (mEventCbLock) {
-                for (Pair<Executor, EventCallback> cb : mEventCallbackRecords) {
-                    cb.first.execute(() -> cb.second.onInfo(
-                            MediaPlayer2Impl.this, null, MEDIA_INFO_DATA_SOURCE_LIST_END, 0));
+            sendEvent(new EventNotifier() {
+                @Override
+                public void notify(EventCallback callback) {
+                    callback.onInfo(
+                            MediaPlayer2Impl.this, null, MEDIA_INFO_DATA_SOURCE_LIST_END, 0);
                 }
-            }
+            });
         }
     }
 
@@ -1535,91 +1501,6 @@
     }
 
     /**
-     * Gets the media metadata.
-     *
-     * @param update_only controls whether the full set of available
-     * metadata is returned or just the set that changed since the
-     * last call. See {@see #METADATA_UPDATE_ONLY} and {@see
-     * #METADATA_ALL}.
-     *
-     * @param apply_filter if true only metadata that matches the
-     * filter is returned. See {@see #APPLY_METADATA_FILTER} and {@see
-     * #BYPASS_METADATA_FILTER}.
-     *
-     * @return The metadata, possibly empty. null if an error occured.
-     // FIXME: unhide.
-     * {@hide}
-     */
-    @Override
-    public Metadata getMetadata(final boolean update_only,
-                                final boolean apply_filter) {
-        Parcel reply = Parcel.obtain();
-        Metadata data = new Metadata();
-
-        if (!native_getMetadata(update_only, apply_filter, reply)) {
-            reply.recycle();
-            return null;
-        }
-
-        // Metadata takes over the parcel, don't recycle it unless
-        // there is an error.
-        if (!data.parse(reply)) {
-            reply.recycle();
-            return null;
-        }
-        return data;
-    }
-
-    /**
-     * Set a filter for the metadata update notification and update
-     * retrieval. The caller provides 2 set of metadata keys, allowed
-     * and blocked. The blocked set always takes precedence over the
-     * allowed one.
-     * Metadata.MATCH_ALL and Metadata.MATCH_NONE are 2 sets available as
-     * shorthands to allow/block all or no metadata.
-     *
-     * By default, there is no filter set.
-     *
-     * @param allow Is the set of metadata the client is interested
-     *              in receiving new notifications for.
-     * @param block Is the set of metadata the client is not interested
-     *              in receiving new notifications for.
-     * @return The call status code.
-     *
-     // FIXME: unhide.
-     * {@hide}
-     */
-    @Override
-    public int setMetadataFilter(Set<Integer> allow, Set<Integer> block) {
-        // Do our serialization manually instead of calling
-        // Parcel.writeArray since the sets are made of the same type
-        // we avoid paying the price of calling writeValue (used by
-        // writeArray) which burns an extra int per element to encode
-        // the type.
-        Parcel request =  newRequest();
-
-        // The parcel starts already with an interface token. There
-        // are 2 filters. Each one starts with a 4bytes number to
-        // store the len followed by a number of int (4 bytes as well)
-        // representing the metadata type.
-        int capacity = request.dataSize() + 4 * (1 + allow.size() + 1 + block.size());
-
-        if (request.dataCapacity() < capacity) {
-            request.setDataCapacity(capacity);
-        }
-
-        request.writeInt(allow.size());
-        for(Integer t: allow) {
-            request.writeInt(t);
-        }
-        request.writeInt(block.size());
-        for(Integer t: block) {
-            request.writeInt(t);
-        }
-        return native_setMetadataFilter(request);
-    }
-
-    /**
      * Resets the MediaPlayer2 to its uninitialized state. After calling
      * this method, you will have to initialize it again by setting the
      * data source and calling prepare().
@@ -1699,9 +1580,9 @@
      * @param value value of the parameter to be set.
      * @return true if the parameter is set successfully, false otherwise
      */
-    private native boolean setParameter(int key, Parcel value);
+    private native boolean setParameter(int key, Object value);
 
-    private native Parcel getParameter(int key);
+    private native Object getParameter(int key);
 
 
     /**
@@ -1801,32 +1682,6 @@
 
     private native void _setAuxEffectSendLevel(float level);
 
-    /*
-     * @param update_only If true fetch only the set of metadata that have
-     *                    changed since the last invocation of getMetadata.
-     *                    The set is built using the unfiltered
-     *                    notifications the native player sent to the
-     *                    MediaPlayer2Manager during that period of
-     *                    time. If false, all the metadatas are considered.
-     * @param apply_filter  If true, once the metadata set has been built based on
-     *                     the value update_only, the current filter is applied.
-     * @param reply[out] On return contains the serialized
-     *                   metadata. Valid only if the call was successful.
-     * @return The status code.
-     */
-    private native final boolean native_getMetadata(boolean update_only,
-                                                    boolean apply_filter,
-                                                    Parcel reply);
-
-    /*
-     * @param request Parcel with the 2 serialized lists of allowed
-     *                metadata types followed by the one to be
-     *                dropped. Each list starts with an integer
-     *                indicating the number of metadata type elements.
-     * @return The status code.
-     */
-    private native final int native_setMetadataFilter(Parcel request);
-
     private static native final void native_init();
     private native final void native_setup(Object mediaplayer2_this);
     private native final void native_finalize();
@@ -1902,25 +1757,6 @@
             mFormat = format;
         }
 
-        /**
-         * Flatten this object in to a Parcel.
-         *
-         * @param dest The Parcel in which the object should be written.
-         * @param flags Additional flags about how the object should be written.
-         * May be 0 or {@link android.os.Parcelable#PARCELABLE_WRITE_RETURN_VALUE}.
-         */
-        /* package private */ void writeToParcel(Parcel dest, int flags) {
-            dest.writeInt(mTrackType);
-            dest.writeString(getLanguage());
-
-            if (mTrackType == MEDIA_TRACK_TYPE_SUBTITLE) {
-                dest.writeString(mFormat.getString(MediaFormat.KEY_MIME));
-                dest.writeInt(mFormat.getInteger(MediaFormat.KEY_IS_AUTOSELECT));
-                dest.writeInt(mFormat.getInteger(MediaFormat.KEY_IS_DEFAULT));
-                dest.writeInt(mFormat.getInteger(MediaFormat.KEY_IS_FORCED_SUBTITLE));
-            }
-        }
-
         @Override
         public String toString() {
             StringBuilder out = new StringBuilder(128);
@@ -2730,12 +2566,13 @@
                 }
 
                 if (dsd != null) {
-                    synchronized (mEventCbLock) {
-                        for (Pair<Executor, EventCallback> cb : mEventCallbackRecords) {
-                            cb.first.execute(() -> cb.second.onInfo(
-                                    mMediaPlayer, dsd, MEDIA_INFO_PREPARED, 0));
+                    sendEvent(new EventNotifier() {
+                        @Override
+                        public void notify(EventCallback callback) {
+                            callback.onInfo(
+                                    mMediaPlayer, dsd, MEDIA_INFO_PREPARED, 0);
                         }
-                    }
+                    });
                 }
 
                 synchronized (mSrcLock) {
@@ -2769,8 +2606,8 @@
             {
                 if (msg.obj == null) {
                     Log.w(TAG, "MEDIA_DRM_INFO msg.obj=NULL");
-                } else if (msg.obj instanceof Parcel) {
-                    // The parcel was parsed already in postEventFromNative
+                } else if (msg.obj instanceof byte[]) {
+                    // The PlayerMessage was parsed already in postEventFromNative
                     final DrmInfoImpl drmInfo;
 
                     synchronized (mDrmLock) {
@@ -2783,12 +2620,13 @@
 
                     // notifying the client outside the lock
                     if (drmInfo != null) {
-                        synchronized (mEventCbLock) {
-                            for (Pair<Executor, DrmEventCallback> cb : mDrmEventCallbackRecords) {
-                                cb.first.execute(() -> cb.second.onDrmInfo(
-                                        mMediaPlayer, dsd, drmInfo));
+                        sendDrmEvent(new DrmEventNotifier() {
+                            @Override
+                            public void notify(DrmEventCallback callback) {
+                                callback.onDrmInfo(
+                                        mMediaPlayer, dsd, drmInfo);
                             }
-                        }
+                        });
                     }
                 } else {
                     Log.w(TAG, "MEDIA_DRM_INFO msg.obj of unexpected type " + msg.obj);
@@ -2799,12 +2637,13 @@
             case MEDIA_PLAYBACK_COMPLETE:
             {
                 if (isCurrentSrcId) {
-                    synchronized (mEventCbLock) {
-                        for (Pair<Executor, EventCallback> cb : mEventCallbackRecords) {
-                            cb.first.execute(() -> cb.second.onInfo(
-                                    mMediaPlayer, dsd, MEDIA_INFO_DATA_SOURCE_END, 0));
+                    sendEvent(new EventNotifier() {
+                        @Override
+                        public void notify(EventCallback callback) {
+                            callback.onInfo(
+                                    mMediaPlayer, dsd, MEDIA_INFO_DATA_SOURCE_END, 0);
                         }
-                    }
+                    });
                     stayAwake(false);
 
                     synchronized (mSrcLock) {
@@ -2842,13 +2681,13 @@
             case MEDIA_BUFFERING_UPDATE:
             {
                 final int percent = msg.arg1;
-                synchronized (mEventCbLock) {
-                    for (Pair<Executor, EventCallback> cb : mEventCallbackRecords) {
-                        cb.first.execute(() -> cb.second.onInfo(
-                                mMediaPlayer, dsd, MEDIA_INFO_BUFFERING_UPDATE,
-                                percent));
+                sendEvent(new EventNotifier() {
+                    @Override
+                    public void notify(EventCallback callback) {
+                        callback.onInfo(
+                                mMediaPlayer, dsd, MEDIA_INFO_BUFFERING_UPDATE, percent);
                     }
-                }
+                });
 
                 synchronized (mSrcLock) {
                     if (isCurrentSrcId) {
@@ -2887,26 +2726,33 @@
             {
                 final int width = msg.arg1;
                 final int height = msg.arg2;
-                synchronized (mEventCbLock) {
-                    for (Pair<Executor, EventCallback> cb : mEventCallbackRecords) {
-                        cb.first.execute(() -> cb.second.onVideoSizeChanged(
-                                mMediaPlayer, dsd, width, height));
+                sendEvent(new EventNotifier() {
+                    @Override
+                    public void notify(EventCallback callback) {
+                        callback.onVideoSizeChanged(
+                                mMediaPlayer, dsd, width, height);
                     }
-                }
+                });
                 return;
             }
 
             case MEDIA_ERROR:
             {
                 Log.e(TAG, "Error (" + msg.arg1 + "," + msg.arg2 + ")");
-                synchronized (mEventCbLock) {
-                    for (Pair<Executor, EventCallback> cb : mEventCallbackRecords) {
-                        cb.first.execute(() -> cb.second.onError(
-                                mMediaPlayer, dsd, what, extra));
-                        cb.first.execute(() -> cb.second.onInfo(
-                                mMediaPlayer, dsd, MEDIA_INFO_DATA_SOURCE_END, 0));
+                sendEvent(new EventNotifier() {
+                    @Override
+                    public void notify(EventCallback callback) {
+                        callback.onError(
+                                mMediaPlayer, dsd, what, extra);
                     }
-                }
+                });
+                sendEvent(new EventNotifier() {
+                    @Override
+                    public void notify(EventCallback callback) {
+                        callback.onInfo(
+                                mMediaPlayer, dsd, MEDIA_INFO_DATA_SOURCE_END, 0);
+                    }
+                });
                 stayAwake(false);
                 return;
             }
@@ -2946,12 +2792,13 @@
                         break;
                 }
 
-                synchronized (mEventCbLock) {
-                    for (Pair<Executor, EventCallback> cb : mEventCallbackRecords) {
-                        cb.first.execute(() -> cb.second.onInfo(
-                                mMediaPlayer, dsd, what, extra));
+                sendEvent(new EventNotifier() {
+                    @Override
+                    public void notify(EventCallback callback) {
+                        callback.onInfo(
+                                mMediaPlayer, dsd, what, extra);
                     }
-                }
+                });
 
                 if (msg.arg1 == MEDIA_INFO_DATA_SOURCE_START) {
                     if (isCurrentSrcId) {
@@ -2975,35 +2822,52 @@
             case MEDIA_TIMED_TEXT:
             {
                 final TimedText text;
-                if (msg.obj instanceof Parcel) {
-                    Parcel parcel = (Parcel)msg.obj;
-                    text = new TimedText(parcel);
-                    parcel.recycle();
+                if (msg.obj instanceof byte[]) {
+                    PlayerMessage playerMsg;
+                    try {
+                        playerMsg = PlayerMessage.parseFrom((byte[]) msg.obj);
+                    } catch (InvalidProtocolBufferException e) {
+                        Log.w(TAG, "Failed to parse timed text.", e);
+                        return;
+                    }
+                    text = TimedTextUtil.parsePlayerMessage(playerMsg);
                 } else {
                     text = null;
                 }
 
-                synchronized (mEventCbLock) {
-                    for (Pair<Executor, EventCallback> cb : mEventCallbackRecords) {
-                        cb.first.execute(() -> cb.second.onTimedText(
-                                mMediaPlayer, dsd, text));
+                sendEvent(new EventNotifier() {
+                    @Override
+                    public void notify(EventCallback callback) {
+                        callback.onTimedText(
+                                mMediaPlayer, dsd, text);
                     }
-                }
+                });
                 return;
             }
 
             case MEDIA_SUBTITLE_DATA:
             {
-                if (msg.obj instanceof Parcel) {
-                    Parcel parcel = (Parcel) msg.obj;
-                    SubtitleData data = new SubtitleData(parcel);
-                    parcel.recycle();
-                    synchronized (mEventCbLock) {
-                        for (Pair<Executor, EventCallback> cb : mEventCallbackRecords) {
-                            cb.first.execute(() -> cb.second.onSubtitleData(
-                                    mMediaPlayer, dsd, data));
-                        }
+                if (msg.obj instanceof byte[]) {
+                    PlayerMessage playerMsg;
+                    try {
+                        playerMsg = PlayerMessage.parseFrom((byte[]) msg.obj);
+                    } catch (InvalidProtocolBufferException e) {
+                        Log.w(TAG, "Failed to parse subtitle data.", e);
+                        return;
                     }
+                    Iterator<Value> in = playerMsg.getValuesList().iterator();
+                    SubtitleData data = new SubtitleData(
+                            in.next().getInt32Value(),  // trackIndex
+                            in.next().getInt64Value(),  // startTimeUs
+                            in.next().getInt64Value(),  // durationUs
+                            in.next().getBytesValue().toByteArray());  // data
+                    sendEvent(new EventNotifier() {
+                        @Override
+                        public void notify(EventCallback callback) {
+                            callback.onSubtitleData(
+                                    mMediaPlayer, dsd, data);
+                        }
+                    });
                 }
                 return;
             }
@@ -3011,20 +2875,29 @@
             case MEDIA_META_DATA:
             {
                 final TimedMetaData data;
-                if (msg.obj instanceof Parcel) {
-                    Parcel parcel = (Parcel) msg.obj;
-                    data = TimedMetaData.createTimedMetaDataFromParcel(parcel);
-                    parcel.recycle();
+                if (msg.obj instanceof byte[]) {
+                    PlayerMessage playerMsg;
+                    try {
+                        playerMsg = PlayerMessage.parseFrom((byte[]) msg.obj);
+                    } catch (InvalidProtocolBufferException e) {
+                        Log.w(TAG, "Failed to parse timed meta data.", e);
+                        return;
+                    }
+                    Iterator<Value> in = playerMsg.getValuesList().iterator();
+                    data = new TimedMetaData(
+                            in.next().getInt64Value(),  // timestampUs
+                            in.next().getBytesValue().toByteArray());  // metaData
                 } else {
                     data = null;
                 }
 
-                synchronized (mEventCbLock) {
-                    for (Pair<Executor, EventCallback> cb : mEventCallbackRecords) {
-                        cb.first.execute(() -> cb.second.onTimedMetaDataAvailable(
-                                mMediaPlayer, dsd, data));
+                sendEvent(new EventNotifier() {
+                    @Override
+                    public void notify(EventCallback callback) {
+                        callback.onTimedMetaDataAvailable(
+                                mMediaPlayer, dsd, data);
                     }
-                }
+                });
                 return;
             }
 
@@ -3062,7 +2935,7 @@
      * the cookie passed to native_setup().)
      */
     private static void postEventFromNative(Object mediaplayer2_ref, long srcId,
-                                            int what, int arg1, int arg2, Object obj)
+                                            int what, int arg1, int arg2, byte[] obj)
     {
         final MediaPlayer2Impl mp = (MediaPlayer2Impl)((WeakReference)mediaplayer2_ref).get();
         if (mp == null) {
@@ -3076,9 +2949,15 @@
             // notification looper so its handleMessage might process the event after prepare()
             // has returned.
             Log.v(TAG, "postEventFromNative MEDIA_DRM_INFO");
-            if (obj instanceof Parcel) {
-                Parcel parcel = (Parcel)obj;
-                DrmInfoImpl drmInfo = new DrmInfoImpl(parcel);
+            if (obj != null) {
+                PlayerMessage playerMsg;
+                try {
+                    playerMsg = PlayerMessage.parseFrom(obj);
+                } catch (InvalidProtocolBufferException e) {
+                    Log.w(TAG, "MEDIA_DRM_INFO failed to parse msg.obj " + obj);
+                    break;
+                }
+                DrmInfoImpl drmInfo = new DrmInfoImpl(playerMsg);
                 synchronized (mp.mDrmLock) {
                     mp.mDrmInfoImpl = drmInfo;
                 }
@@ -3151,6 +3030,40 @@
         }
     }
 
+    private void sendEvent(final EventNotifier notifier) {
+        synchronized (mEventCbLock) {
+            try {
+                for (Pair<Executor, EventCallback> cb : mEventCallbackRecords) {
+                    cb.first.execute(() -> notifier.notify(cb.second));
+                }
+            } catch (RejectedExecutionException e) {
+                // The executor has been shut down.
+                Log.w(TAG, "The executor has been shut down. Ignoring event.");
+            }
+        }
+    }
+
+    private void sendDrmEvent(final DrmEventNotifier notifier) {
+        synchronized (mDrmEventCbLock) {
+            try {
+                for (Pair<Executor, DrmEventCallback> cb : mDrmEventCallbackRecords) {
+                    cb.first.execute(() -> notifier.notify(cb.second));
+                }
+            } catch (RejectedExecutionException e) {
+                // The executor has been shut down.
+                Log.w(TAG, "The executor has been shut down. Ignoring drm event.");
+            }
+        }
+    }
+
+    private interface EventNotifier {
+        void notify(EventCallback callback);
+    }
+
+    private interface DrmEventNotifier {
+        void notify(DrmEventCallback callback);
+    }
+
     // Modular DRM begin
 
     /**
@@ -3401,12 +3314,13 @@
 
         // if finished successfully without provisioning, call the callback outside the lock
         if (allDoneWithoutProvisioning) {
-            synchronized (mDrmEventCbLock) {
-                for (Pair<Executor, DrmEventCallback> cb : mDrmEventCallbackRecords) {
-                    cb.first.execute(() -> cb.second.onDrmPrepared(
-                            this, mCurrentDSD, PREPARE_DRM_STATUS_SUCCESS));
+            sendDrmEvent(new DrmEventNotifier() {
+                @Override
+                public void notify(DrmEventCallback callback) {
+                    callback.onDrmPrepared(
+                            MediaPlayer2Impl.this, mCurrentDSD, PREPARE_DRM_STATUS_SUCCESS);
                 }
-            }
+            });
         }
 
     }
@@ -3745,22 +3659,21 @@
             supportedSchemes = SupportedSchemes;
         }
 
-        private DrmInfoImpl(Parcel parcel) {
-            Log.v(TAG, "DrmInfoImpl(" + parcel + ") size " + parcel.dataSize());
+        private DrmInfoImpl(PlayerMessage msg) {
+            Log.v(TAG, "DrmInfoImpl(" + msg + ")");
 
-            int psshsize = parcel.readInt();
-            byte[] pssh = new byte[psshsize];
-            parcel.readByteArray(pssh);
+            Iterator<Value> in = msg.getValuesList().iterator();
+            byte[] pssh = in.next().getBytesValue().toByteArray();
 
             Log.v(TAG, "DrmInfoImpl() PSSH: " + arrToHex(pssh));
-            mapPssh = parsePSSH(pssh, psshsize);
+            mapPssh = parsePSSH(pssh, pssh.length);
             Log.v(TAG, "DrmInfoImpl() PSSH: " + mapPssh);
 
-            int supportedDRMsCount = parcel.readInt();
+            int supportedDRMsCount = in.next().getInt32Value();
             supportedSchemes = new UUID[supportedDRMsCount];
             for (int i = 0; i < supportedDRMsCount; i++) {
                 byte[] uuid = new byte[16];
-                parcel.readByteArray(uuid);
+                in.next().getBytesValue().copyTo(uuid, uuid.length);
 
                 supportedSchemes[i] = bytesToUUID(uuid);
 
@@ -3768,7 +3681,7 @@
                       supportedSchemes[i]);
             }
 
-            Log.v(TAG, "DrmInfoImpl() Parcel psshsize: " + psshsize +
+            Log.v(TAG, "DrmInfoImpl() psshsize: " + pssh.length +
                   " supportedDRMsCount: " + supportedDRMsCount);
         }
 
@@ -4033,7 +3946,7 @@
                     connection.setReadTimeout(TIMEOUT_MS);
 
                     connection.connect();
-                    response = Streams.readFully(connection.getInputStream());
+                    response = readInputStreamFully(connection.getInputStream());
 
                     Log.v(TAG, "HandleProvisioninig: Thread run: response " +
                             response.length + " " + response);
@@ -4087,12 +4000,13 @@
                 } // synchronized
 
                 // calling the callback outside the lock
-                synchronized (mDrmEventCbLock) {
-                    for (Pair<Executor, DrmEventCallback> cb : mDrmEventCallbackRecords) {
-                        cb.first.execute(() -> cb.second.onDrmPrepared(
-                                mediaPlayer, mCurrentDSD, status));
+                sendDrmEvent(new DrmEventNotifier() {
+                    @Override
+                    public void notify(DrmEventCallback callback) {
+                        callback.onDrmPrepared(
+                                mediaPlayer, mCurrentDSD, status);
                     }
-                }
+                });
             } else {   // blocking mode already has the lock
 
                 // continuing with prepareDrm
@@ -4112,6 +4026,29 @@
             finished = true;
         }   // run()
 
+        /**
+         * Returns a byte[] containing the remainder of 'in', closing it when done.
+         */
+        private byte[] readInputStreamFully(InputStream in) throws IOException {
+            try {
+                return readInputStreamFullyNoClose(in);
+            } finally {
+                in.close();
+            }
+        }
+
+        /**
+         * Returns a byte[] containing the remainder of 'in'.
+         */
+        private byte[] readInputStreamFullyNoClose(InputStream in) throws IOException {
+            ByteArrayOutputStream bytes = new ByteArrayOutputStream();
+            byte[] buffer = new byte[1024];
+            int count;
+            while ((count = in.read(buffer)) != -1) {
+                bytes.write(buffer, 0, count);
+            }
+            return bytes.toByteArray();
+        }
     }   // ProvisioningThread
 
     private int HandleProvisioninig(UUID uuid) {
@@ -4248,6 +4185,60 @@
                 mode == VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);
     }
 
+    private static class TimedTextUtil {
+        // These keys must be in sync with the keys in TextDescription2.h
+        private static final int KEY_START_TIME                     = 7; // int
+        private static final int KEY_STRUCT_TEXT_POS               = 14; // TextPos
+        private static final int KEY_STRUCT_TEXT                   = 16; // Text
+        private static final int KEY_GLOBAL_SETTING               = 101;
+        private static final int KEY_LOCAL_SETTING                = 102;
+
+        private static TimedText parsePlayerMessage(PlayerMessage playerMsg) {
+            if (playerMsg.getValuesCount() == 0) {
+                return null;
+            }
+
+            String textChars = null;
+            Rect textBounds = null;
+            Iterator<Value> in = playerMsg.getValuesList().iterator();
+            int type = in.next().getInt32Value();
+            if (type == KEY_LOCAL_SETTING) {
+                type = in.next().getInt32Value();
+                if (type != KEY_START_TIME) {
+                    return null;
+                }
+                int startTimeMs = in.next().getInt32Value();
+
+                type = in.next().getInt32Value();
+                if (type != KEY_STRUCT_TEXT) {
+                    return null;
+                }
+
+                byte[] text = in.next().getBytesValue().toByteArray();
+                if (text == null || text.length == 0) {
+                    textChars = null;
+                } else {
+                    textChars = new String(text);
+                }
+
+            } else if (type != KEY_GLOBAL_SETTING) {
+                Log.w(TAG, "Invalid timed text key found: " + type);
+                return null;
+            }
+            if (in.hasNext()) {
+                type = in.next().getInt32Value();
+                if (type == KEY_STRUCT_TEXT_POS) {
+                    int top = in.next().getInt32Value();
+                    int left = in.next().getInt32Value();
+                    int bottom = in.next().getInt32Value();
+                    int right = in.next().getInt32Value();
+                    textBounds = new Rect(left, top, right, bottom);
+                }
+            }
+            return new TimedText(textChars, textBounds);
+        }
+    }
+
     /** @hide */
     static class TimeProvider implements MediaTimeProvider {
         private static final String TAG = "MTP";
@@ -4697,12 +4688,13 @@
             if (mMediaCallType == CALL_COMPLETED_NOTIFY_WHEN_COMMAND_LABEL_REACHED) {
                 return;
             }
-            synchronized (mEventCbLock) {
-                for (Pair<Executor, EventCallback> cb : mEventCallbackRecords) {
-                    cb.first.execute(() -> cb.second.onCallCompleted(
-                            MediaPlayer2Impl.this, mDSD, mMediaCallType, status));
+            sendEvent(new EventNotifier() {
+                @Override
+                public void notify(EventCallback callback) {
+                    callback.onCallCompleted(
+                            MediaPlayer2Impl.this, mDSD, mMediaCallType, status);
                 }
-            }
+            });
         }
     };
 
diff --git a/media/java/android/media/MediaRouter.java b/media/java/android/media/MediaRouter.java
index 43bee85..ffeff4d 100644
--- a/media/java/android/media/MediaRouter.java
+++ b/media/java/android/media/MediaRouter.java
@@ -34,6 +34,7 @@
 import android.hardware.display.WifiDisplay;
 import android.hardware.display.WifiDisplayStatus;
 import android.media.session.MediaSession;
+import android.os.Build;
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.Process;
@@ -2064,7 +2065,7 @@
         }
 
         /** @hide */
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         public boolean isDefault() {
             return this == sStatic.mDefaultAudioVideo;
         }
diff --git a/media/java/android/media/MediaScanner.java b/media/java/android/media/MediaScanner.java
index 0ff2d8f..c537945 100644
--- a/media/java/android/media/MediaScanner.java
+++ b/media/java/android/media/MediaScanner.java
@@ -160,8 +160,9 @@
 
     public static final String SCANNED_BUILD_PREFS_NAME = "MediaScanBuild";
     public static final String LAST_INTERNAL_SCAN_FINGERPRINT = "lastScanFingerprint";
-    private static final String SYSTEM_SOUNDS_DIR = "/system/media/audio";
-    private static final String PRODUCT_SOUNDS_DIR = "/product/media/audio";
+    private static final String SYSTEM_SOUNDS_DIR = Environment.getRootDirectory() + "/media/audio";
+    private static final String OEM_SOUNDS_DIR = Environment.getOemDirectory() + "/media/audio";
+    private static final String PRODUCT_SOUNDS_DIR = Environment.getProductDirectory() + "/media/audio";
     private static String sLastInternalScanFingerprint;
 
     private static final String[] ID3_GENRES = {
@@ -1193,6 +1194,9 @@
         if (path.startsWith(SYSTEM_SOUNDS_DIR + ALARMS_DIR)
                 || path.startsWith(SYSTEM_SOUNDS_DIR + RINGTONES_DIR)
                 || path.startsWith(SYSTEM_SOUNDS_DIR + NOTIFICATIONS_DIR)
+                || path.startsWith(OEM_SOUNDS_DIR + ALARMS_DIR)
+                || path.startsWith(OEM_SOUNDS_DIR + RINGTONES_DIR)
+                || path.startsWith(OEM_SOUNDS_DIR + NOTIFICATIONS_DIR)
                 || path.startsWith(PRODUCT_SOUNDS_DIR + ALARMS_DIR)
                 || path.startsWith(PRODUCT_SOUNDS_DIR + RINGTONES_DIR)
                 || path.startsWith(PRODUCT_SOUNDS_DIR + NOTIFICATIONS_DIR)) {
diff --git a/media/java/android/media/MiniThumbFile.java b/media/java/android/media/MiniThumbFile.java
index 716e0cb..f704acd 100644
--- a/media/java/android/media/MiniThumbFile.java
+++ b/media/java/android/media/MiniThumbFile.java
@@ -18,9 +18,12 @@
 
 import android.annotation.UnsupportedAppUsage;
 import android.net.Uri;
+import android.os.Build;
 import android.os.Environment;
 import android.util.Log;
 
+import dalvik.system.VMRuntime;
+
 import java.io.File;
 import java.io.IOException;
 import java.io.RandomAccessFile;
@@ -42,7 +45,10 @@
  *
  * @hide This file is shared between MediaStore and MediaProvider and should remained internal use
  *       only.
+ * @deprecated thumbnails are now maintained in separate files, and this file
+ *             format is no longer used.
  */
+@Deprecated
 public class MiniThumbFile {
     private static final String TAG = "MiniThumbFile";
     private static final int MINI_THUMB_DATA_FILE_VERSION = 4;
@@ -69,6 +75,9 @@
     }
 
     public static synchronized MiniThumbFile instance(Uri uri) {
+        if (VMRuntime.getRuntime().getTargetSdkVersion() >= Build.VERSION_CODES.Q) {
+            throw new UnsupportedOperationException();
+        }
         String type = uri.getPathSegments().get(1);
         MiniThumbFile file = sThumbFiles.get(type);
         // Log.v(TAG, "get minithumbfile for type: "+type);
diff --git a/media/java/android/media/PlaybackParams.java b/media/java/android/media/PlaybackParams.java
index 6594dd7..3fe1a32 100644
--- a/media/java/android/media/PlaybackParams.java
+++ b/media/java/android/media/PlaybackParams.java
@@ -19,6 +19,7 @@
 import android.annotation.IntDef;
 import android.annotation.TestApi;
 import android.annotation.UnsupportedAppUsage;
+import android.os.Build;
 import android.os.Parcel;
 import android.os.Parcelable;
 
@@ -94,7 +95,7 @@
     private static final int SET_AUDIO_FALLBACK_MODE = 1 << 2;
     @UnsupportedAppUsage
     private static final int SET_AUDIO_STRETCH_MODE  = 1 << 3;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private int mSet = 0;
 
     // params
@@ -104,7 +105,7 @@
     private int mAudioStretchMode = AUDIO_STRETCH_MODE_DEFAULT;
     @UnsupportedAppUsage
     private float mPitch = 1.0f;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private float mSpeed = 1.0f;
 
     public PlaybackParams() {
diff --git a/media/java/android/media/SubtitleData.java b/media/java/android/media/SubtitleData.java
index 9797828..ba37b9b 100644
--- a/media/java/android/media/SubtitleData.java
+++ b/media/java/android/media/SubtitleData.java
@@ -79,6 +79,14 @@
         }
     }
 
+    /** @hide */
+    public SubtitleData(int trackIndex, long startTimeUs, long durationUs, byte[] data) {
+        mTrackIndex = trackIndex;
+        mStartTimeUs = startTimeUs;
+        mDurationUs = durationUs;
+        mData = data;
+    }
+
     /**
      * Returns the index of the MediaPlayer track which contains this subtitle data.
      * @return an index in the array returned by {@link MediaPlayer#getTrackInfo()}.
diff --git a/media/java/android/media/TimedMetaData.java b/media/java/android/media/TimedMetaData.java
index 03c8770..97e6bfa 100644
--- a/media/java/android/media/TimedMetaData.java
+++ b/media/java/android/media/TimedMetaData.java
@@ -48,6 +48,14 @@
     }
 
     /**
+     * @hide
+     */
+    public TimedMetaData(long timestampUs, byte[] metaData) {
+        mTimestampUs = timestampUs;
+        mMetaData = metaData;
+    }
+
+    /**
      * @return the timestamp associated with this metadata access unit in microseconds;
      * 0 denotes playback start.
      */
diff --git a/media/java/android/media/TimedText.java b/media/java/android/media/TimedText.java
index ebcea19..d8cdf9c 100644
--- a/media/java/android/media/TimedText.java
+++ b/media/java/android/media/TimedText.java
@@ -364,6 +364,16 @@
     }
 
     /**
+     * @param text the characters in the timed text.
+     * @param bounds the rectangle area or region for rendering the timed text.
+     * {@hide}
+     */
+    public TimedText(String text, Rect bounds) {
+        mTextChars = text;
+        mTextBounds = bounds;
+    }
+
+    /**
      * Get the characters in the timed text.
      *
      * @return the characters as a String object in the TimedText. Applications
diff --git a/media/java/android/media/audiofx/AudioEffect.java b/media/java/android/media/audiofx/AudioEffect.java
index 1a456f6..9746842 100644
--- a/media/java/android/media/audiofx/AudioEffect.java
+++ b/media/java/android/media/audiofx/AudioEffect.java
@@ -21,6 +21,7 @@
 import android.annotation.TestApi;
 import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityThread;
+import android.os.Build;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
@@ -872,7 +873,7 @@
      * In case of failure, the returned value is negative and implementation specific.
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public int command(int cmdCode, byte[] command, byte[] reply)
             throws IllegalStateException {
         checkState("command()");
diff --git a/media/jni/Android.bp b/media/jni/Android.bp
index b468164..3870124 100644
--- a/media/jni/Android.bp
+++ b/media/jni/Android.bp
@@ -88,9 +88,8 @@
     name: "libmedia2_jni",
 
     srcs: [
-        "android_media_Media2HTTPConnection.cpp",
-        "android_media_Media2HTTPService.cpp",
         "android_media_Media2DataSource.cpp",
+        "android_media_MediaMetricsJNI.cpp",
         "android_media_MediaPlayer2.cpp",
         "android_media_SyncParams.cpp",
     ],
@@ -98,7 +97,6 @@
     shared_libs: [
         "android.hardware.cas@1.0",  // for CasManager. VNDK???
         "android.hardware.cas.native@1.0",  // CasManager. VNDK???
-        "libandroid_runtime",  // ???
         "libaudioclient",  // for use of AudioTrack, AudioSystem. to be removed
         "libbinder",
         "libgui",  // for VideoFrameScheduler
@@ -120,13 +118,9 @@
     header_libs: ["libhardware_headers"],
 
     static_libs: [
-        "libbacktrace",
         "libbase",
-        "libc_malloc_debug_backtrace",
         "libcrypto",
         "libcutils",
-        "libdexfile",
-        "liblzma",
         "libmedia_helper",
         "libmedia_player2_util",
         "libmediadrm",
@@ -135,7 +129,7 @@
         "libmediaplayer2",
         "libmediaplayer2-protos",
         "libmediautils",
-        "libnetd_client",
+        "libnetd_client",  // for setNetworkForUser
         "libprotobuf-cpp-lite",
         "libstagefright_esds",
         "libstagefright_foundation",
@@ -145,10 +139,8 @@
         "libstagefright_nuplayer2",
         "libstagefright_player2",
         "libstagefright_rtsp",
-        "libstagefright_timedtext",
-        "libunwindstack",
-        "libutilscallstack",
-        "libziparchive",
+        "libstagefright_timedtext2",
+        "libmedia2_jni_core",
     ],
 
     group_static_libs: true,
diff --git a/media/jni/android_media_Media2HTTPConnection.cpp b/media/jni/android_media_Media2HTTPConnection.cpp
deleted file mode 100644
index d02ee06..0000000
--- a/media/jni/android_media_Media2HTTPConnection.cpp
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright 2017, 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.
- */
-
-//#define LOG_NDEBUG 0
-#define LOG_TAG "Media2HTTPConnection-JNI"
-#include <utils/Log.h>
-
-#include <mediaplayer2/JavaVMHelper.h>
-#include <media/stagefright/foundation/ADebug.h>
-#include <nativehelper/ScopedLocalRef.h>
-
-#include "android_media_Media2HTTPConnection.h"
-#include "android_util_Binder.h"
-
-#include "log/log.h"
-#include "jni.h"
-#include <nativehelper/JNIHelp.h>
-
-namespace android {
-
-static const size_t kBufferSize = 32768;
-
-JMedia2HTTPConnection::JMedia2HTTPConnection(JNIEnv *env, jobject thiz) {
-    mMedia2HTTPConnectionObj = env->NewGlobalRef(thiz);
-    CHECK(mMedia2HTTPConnectionObj != NULL);
-
-    ScopedLocalRef<jclass> media2HTTPConnectionClass(
-            env, env->GetObjectClass(mMedia2HTTPConnectionObj));
-    CHECK(media2HTTPConnectionClass.get() != NULL);
-
-    mConnectMethod = env->GetMethodID(
-            media2HTTPConnectionClass.get(),
-            "connect",
-            "(Ljava/lang/String;Ljava/lang/String;)Z");
-    CHECK(mConnectMethod != NULL);
-
-    mDisconnectMethod = env->GetMethodID(
-            media2HTTPConnectionClass.get(),
-            "disconnect",
-            "()V");
-    CHECK(mDisconnectMethod != NULL);
-
-    mReadAtMethod = env->GetMethodID(
-            media2HTTPConnectionClass.get(),
-            "readAt",
-            "(J[BI)I");
-    CHECK(mReadAtMethod != NULL);
-
-    mGetSizeMethod = env->GetMethodID(
-            media2HTTPConnectionClass.get(),
-            "getSize",
-            "()J");
-    CHECK(mGetSizeMethod != NULL);
-
-    mGetMIMETypeMethod = env->GetMethodID(
-            media2HTTPConnectionClass.get(),
-            "getMIMEType",
-            "()Ljava/lang/String;");
-    CHECK(mGetMIMETypeMethod != NULL);
-
-    mGetUriMethod = env->GetMethodID(
-            media2HTTPConnectionClass.get(),
-            "getUri",
-            "()Ljava/lang/String;");
-    CHECK(mGetUriMethod != NULL);
-
-    ScopedLocalRef<jbyteArray> tmp(
-        env, env->NewByteArray(kBufferSize));
-    mByteArrayObj = (jbyteArray)env->NewGlobalRef(tmp.get());
-    CHECK(mByteArrayObj != NULL);
-}
-
-JMedia2HTTPConnection::~JMedia2HTTPConnection() {
-    JNIEnv *env = JavaVMHelper::getJNIEnv();
-    env->DeleteGlobalRef(mMedia2HTTPConnectionObj);
-    env->DeleteGlobalRef(mByteArrayObj);
-}
-
-bool JMedia2HTTPConnection::connect(
-        const char *uri, const KeyedVector<String8, String8> *headers) {
-    String8 tmp("");
-    if (headers != NULL) {
-        for (size_t i = 0; i < headers->size(); ++i) {
-            tmp.append(headers->keyAt(i));
-            tmp.append(String8(": "));
-            tmp.append(headers->valueAt(i));
-            tmp.append(String8("\r\n"));
-        }
-    }
-
-    JNIEnv* env = JavaVMHelper::getJNIEnv();
-    jstring juri = env->NewStringUTF(uri);
-    jstring jheaders = env->NewStringUTF(tmp.string());
-
-    jboolean ret =
-        env->CallBooleanMethod(mMedia2HTTPConnectionObj, mConnectMethod, juri, jheaders);
-
-    env->DeleteLocalRef(juri);
-    env->DeleteLocalRef(jheaders);
-
-    return (bool)ret;
-}
-
-void JMedia2HTTPConnection::disconnect() {
-    JNIEnv* env = JavaVMHelper::getJNIEnv();
-    env->CallVoidMethod(mMedia2HTTPConnectionObj, mDisconnectMethod);
-}
-
-ssize_t JMedia2HTTPConnection::readAt(off64_t offset, void *data, size_t size) {
-    JNIEnv* env = JavaVMHelper::getJNIEnv();
-
-    if (size > kBufferSize) {
-        size = kBufferSize;
-    }
-
-    jint n = env->CallIntMethod(
-            mMedia2HTTPConnectionObj, mReadAtMethod, (jlong)offset, mByteArrayObj, (jint)size);
-
-    if (n > 0) {
-        env->GetByteArrayRegion(
-                mByteArrayObj,
-                0,
-                n,
-                (jbyte *)data);
-    }
-
-    return n;
-}
-
-off64_t JMedia2HTTPConnection::getSize() {
-    JNIEnv* env = JavaVMHelper::getJNIEnv();
-    return (off64_t)(env->CallLongMethod(mMedia2HTTPConnectionObj, mGetSizeMethod));
-}
-
-status_t JMedia2HTTPConnection::getMIMEType(String8 *mimeType) {
-    JNIEnv* env = JavaVMHelper::getJNIEnv();
-    jstring jmime = (jstring)env->CallObjectMethod(mMedia2HTTPConnectionObj, mGetMIMETypeMethod);
-    jboolean flag = env->ExceptionCheck();
-    if (flag) {
-        env->ExceptionClear();
-        return UNKNOWN_ERROR;
-    }
-
-    const char *str = env->GetStringUTFChars(jmime, 0);
-    if (str != NULL) {
-        *mimeType = String8(str);
-    } else {
-        *mimeType = "application/octet-stream";
-    }
-    env->ReleaseStringUTFChars(jmime, str);
-    return OK;
-}
-
-status_t JMedia2HTTPConnection::getUri(String8 *uri) {
-    JNIEnv* env = JavaVMHelper::getJNIEnv();
-    jstring juri = (jstring)env->CallObjectMethod(mMedia2HTTPConnectionObj, mGetUriMethod);
-    jboolean flag = env->ExceptionCheck();
-    if (flag) {
-        env->ExceptionClear();
-        return UNKNOWN_ERROR;
-    }
-
-    const char *str = env->GetStringUTFChars(juri, 0);
-    *uri = String8(str);
-    env->ReleaseStringUTFChars(juri, str);
-    return OK;
-}
-
-}  // namespace android
diff --git a/media/jni/android_media_Media2HTTPConnection.h b/media/jni/android_media_Media2HTTPConnection.h
deleted file mode 100644
index 14bc677..0000000
--- a/media/jni/android_media_Media2HTTPConnection.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright 2017, 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.
- */
-
-#ifndef _ANDROID_MEDIA_MEDIA2HTTPCONNECTION_H_
-#define _ANDROID_MEDIA_MEDIA2HTTPCONNECTION_H_
-
-#include "jni.h"
-
-#include <media/MediaHTTPConnection.h>
-#include <media/stagefright/foundation/ABase.h>
-
-namespace android {
-
-struct JMedia2HTTPConnection : public MediaHTTPConnection {
-    JMedia2HTTPConnection(JNIEnv *env, jobject thiz);
-
-    virtual bool connect(
-            const char *uri, const KeyedVector<String8, String8> *headers) override;
-
-    virtual void disconnect() override;
-    virtual ssize_t readAt(off64_t offset, void *data, size_t size) override;
-    virtual off64_t getSize() override;
-    virtual status_t getMIMEType(String8 *mimeType) override;
-    virtual status_t getUri(String8 *uri) override;
-
-protected:
-    virtual ~JMedia2HTTPConnection();
-
-private:
-    jobject mMedia2HTTPConnectionObj;
-    jmethodID mConnectMethod;
-    jmethodID mDisconnectMethod;
-    jmethodID mReadAtMethod;
-    jmethodID mGetSizeMethod;
-    jmethodID mGetMIMETypeMethod;
-    jmethodID mGetUriMethod;
-
-    jbyteArray mByteArrayObj;
-
-    DISALLOW_EVIL_CONSTRUCTORS(JMedia2HTTPConnection);
-};
-
-}  // namespace android
-
-#endif  // _ANDROID_MEDIA_MEDIA2HTTPCONNECTION_H_
diff --git a/media/jni/android_media_Media2HTTPService.cpp b/media/jni/android_media_Media2HTTPService.cpp
deleted file mode 100644
index 1c63889..0000000
--- a/media/jni/android_media_Media2HTTPService.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright 2017, 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.
- */
-
-//#define LOG_NDEBUG 0
-#define LOG_TAG "Media2HTTPService-JNI"
-#include <utils/Log.h>
-
-#include "android_media_Media2HTTPConnection.h"
-#include "android_media_Media2HTTPService.h"
-
-#include "log/log.h"
-#include "jni.h"
-#include <nativehelper/JNIHelp.h>
-
-#include <mediaplayer2/JavaVMHelper.h>
-#include <media/stagefright/foundation/ADebug.h>
-#include <nativehelper/ScopedLocalRef.h>
-
-namespace android {
-
-JMedia2HTTPService::JMedia2HTTPService(JNIEnv *env, jobject thiz) {
-    mMedia2HTTPServiceObj = env->NewGlobalRef(thiz);
-    CHECK(mMedia2HTTPServiceObj != NULL);
-
-    ScopedLocalRef<jclass> media2HTTPServiceClass(env, env->GetObjectClass(mMedia2HTTPServiceObj));
-    CHECK(media2HTTPServiceClass.get() != NULL);
-
-    mMakeHTTPConnectionMethod = env->GetMethodID(
-            media2HTTPServiceClass.get(),
-            "makeHTTPConnection",
-            "()Landroid/media/Media2HTTPConnection;");
-    CHECK(mMakeHTTPConnectionMethod != NULL);
-}
-
-JMedia2HTTPService::~JMedia2HTTPService() {
-    JNIEnv *env = JavaVMHelper::getJNIEnv();
-    env->DeleteGlobalRef(mMedia2HTTPServiceObj);
-}
-
-sp<MediaHTTPConnection> JMedia2HTTPService::makeHTTPConnection() {
-    JNIEnv* env = JavaVMHelper::getJNIEnv();
-    jobject media2HTTPConnectionObj =
-        env->CallObjectMethod(mMedia2HTTPServiceObj, mMakeHTTPConnectionMethod);
-
-    return new JMedia2HTTPConnection(env, media2HTTPConnectionObj);
-}
-
-}  // namespace android
diff --git a/media/jni/android_media_Media2HTTPService.h b/media/jni/android_media_Media2HTTPService.h
deleted file mode 100644
index 30d03f5..0000000
--- a/media/jni/android_media_Media2HTTPService.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2017, 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.
- */
-
-#ifndef _ANDROID_MEDIA_MEDIA2HTTPSERVICE_H_
-#define _ANDROID_MEDIA_MEDIA2HTTPSERVICE_H_
-
-#include "jni.h"
-
-#include <media/MediaHTTPService.h>
-#include <media/stagefright/foundation/ABase.h>
-
-namespace android {
-
-struct JMedia2HTTPService : public MediaHTTPService {
-    JMedia2HTTPService(JNIEnv *env, jobject thiz);
-
-    virtual sp<MediaHTTPConnection> makeHTTPConnection() override;
-
-protected:
-    virtual ~JMedia2HTTPService();
-
-private:
-    jobject mMedia2HTTPServiceObj;
-
-    jmethodID mMakeHTTPConnectionMethod;
-
-    DISALLOW_EVIL_CONSTRUCTORS(JMedia2HTTPService);
-};
-
-}  // namespace android
-
-#endif  // _ANDROID_MEDIA_MEDIA2HTTPSERVICE_H_
diff --git a/media/jni/android_media_MediaCodec.cpp b/media/jni/android_media_MediaCodec.cpp
index 3490ff8..5037209 100644
--- a/media/jni/android_media_MediaCodec.cpp
+++ b/media/jni/android_media_MediaCodec.cpp
@@ -108,8 +108,9 @@
 } gCodecInfo;
 
 struct fields_t {
-    jfieldID context;
     jmethodID postEventFromNativeID;
+    jmethodID lockAndGetContextID;
+    jmethodID setAndUnlockContextID;
     jfieldID cryptoInfoNumSubSamplesID;
     jfieldID cryptoInfoNumBytesOfClearDataID;
     jfieldID cryptoInfoNumBytesOfEncryptedDataID;
@@ -931,7 +932,7 @@
 
 static sp<JMediaCodec> setMediaCodec(
         JNIEnv *env, jobject thiz, const sp<JMediaCodec> &codec) {
-    sp<JMediaCodec> old = (JMediaCodec *)env->GetLongField(thiz, gFields.context);
+    sp<JMediaCodec> old = (JMediaCodec *)env->CallLongMethod(thiz, gFields.lockAndGetContextID);
     if (codec != NULL) {
         codec->incStrong(thiz);
     }
@@ -944,13 +945,15 @@
         old->release();
         old->decStrong(thiz);
     }
-    env->SetLongField(thiz, gFields.context, (jlong)codec.get());
+    env->CallVoidMethod(thiz, gFields.setAndUnlockContextID, (jlong)codec.get());
 
     return old;
 }
 
 static sp<JMediaCodec> getMediaCodec(JNIEnv *env, jobject thiz) {
-    return (JMediaCodec *)env->GetLongField(thiz, gFields.context);
+    sp<JMediaCodec> codec = (JMediaCodec *)env->CallLongMethod(thiz, gFields.lockAndGetContextID);
+    env->CallVoidMethod(thiz, gFields.setAndUnlockContextID, (jlong)codec.get());
+    return codec;
 }
 
 static void android_media_MediaCodec_release(JNIEnv *env, jobject thiz) {
@@ -1876,15 +1879,21 @@
             env, env->FindClass("android/media/MediaCodec"));
     CHECK(clazz.get() != NULL);
 
-    gFields.context = env->GetFieldID(clazz.get(), "mNativeContext", "J");
-    CHECK(gFields.context != NULL);
-
     gFields.postEventFromNativeID =
         env->GetMethodID(
                 clazz.get(), "postEventFromNative", "(IIILjava/lang/Object;)V");
-
     CHECK(gFields.postEventFromNativeID != NULL);
 
+    gFields.lockAndGetContextID =
+        env->GetMethodID(
+                clazz.get(), "lockAndGetContext", "()J");
+    CHECK(gFields.lockAndGetContextID != NULL);
+
+    gFields.setAndUnlockContextID =
+        env->GetMethodID(
+                clazz.get(), "setAndUnlockContext", "(J)V");
+    CHECK(gFields.setAndUnlockContextID != NULL);
+
     jfieldID field;
     field = env->GetStaticFieldID(clazz.get(), "CRYPTO_MODE_UNENCRYPTED", "I");
     CHECK(field != NULL);
diff --git a/media/jni/android_media_MediaMetricsJNI.cpp b/media/jni/android_media_MediaMetricsJNI.cpp
new file mode 100644
index 0000000..3ded8c2
--- /dev/null
+++ b/media/jni/android_media_MediaMetricsJNI.cpp
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2017, 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.
+ */
+
+#include <jni.h>
+#include <nativehelper/JNIHelp.h>
+
+#include "android_media_MediaMetricsJNI.h"
+#include <media/MediaAnalyticsItem.h>
+
+
+// Copeid from core/jni/ (libandroid_runtime.so)
+namespace android {
+
+// place the attributes into a java PersistableBundle object
+jobject MediaMetricsJNI::writeMetricsToBundle(JNIEnv* env, MediaAnalyticsItem *item, jobject mybundle) {
+
+    jclass clazzBundle = env->FindClass("android/os/PersistableBundle");
+    if (clazzBundle==NULL) {
+        ALOGD("can't find android/os/PersistableBundle");
+        return NULL;
+    }
+    // sometimes the caller provides one for us to fill
+    if (mybundle == NULL) {
+        // create the bundle
+        jmethodID constructID = env->GetMethodID(clazzBundle, "<init>", "()V");
+        mybundle = env->NewObject(clazzBundle, constructID);
+        if (mybundle == NULL) {
+            return NULL;
+        }
+    }
+
+    // grab methods that we can invoke
+    jmethodID setIntID = env->GetMethodID(clazzBundle, "putInt", "(Ljava/lang/String;I)V");
+    jmethodID setLongID = env->GetMethodID(clazzBundle, "putLong", "(Ljava/lang/String;J)V");
+    jmethodID setDoubleID = env->GetMethodID(clazzBundle, "putDouble", "(Ljava/lang/String;D)V");
+    jmethodID setStringID = env->GetMethodID(clazzBundle, "putString", "(Ljava/lang/String;Ljava/lang/String;)V");
+
+    // env, class, method, {parms}
+    //env->CallVoidMethod(env, mybundle, setIntID, jstr, jint);
+
+    // iterate through my attributes
+    // -- get name, get type, get value
+    // -- insert appropriately into the bundle
+    for (size_t i = 0 ; i < item->mPropCount; i++ ) {
+            MediaAnalyticsItem::Prop *prop = &item->mProps[i];
+            // build the key parameter from prop->mName
+            jstring keyName = env->NewStringUTF(prop->mName);
+            // invoke the appropriate method to insert
+            switch (prop->mType) {
+                case MediaAnalyticsItem::kTypeInt32:
+                    env->CallVoidMethod(mybundle, setIntID,
+                                        keyName, (jint) prop->u.int32Value);
+                    break;
+                case MediaAnalyticsItem::kTypeInt64:
+                    env->CallVoidMethod(mybundle, setLongID,
+                                        keyName, (jlong) prop->u.int64Value);
+                    break;
+                case MediaAnalyticsItem::kTypeDouble:
+                    env->CallVoidMethod(mybundle, setDoubleID,
+                                        keyName, (jdouble) prop->u.doubleValue);
+                    break;
+                case MediaAnalyticsItem::kTypeCString:
+                    env->CallVoidMethod(mybundle, setStringID, keyName,
+                                        env->NewStringUTF(prop->u.CStringValue));
+                    break;
+                default:
+                        ALOGE("to_String bad item type: %d for %s",
+                              prop->mType, prop->mName);
+                        break;
+            }
+    }
+
+    return mybundle;
+}
+
+};  // namespace android
+
diff --git a/media/jni/android_media_MediaMetricsJNI.h b/media/jni/android_media_MediaMetricsJNI.h
new file mode 100644
index 0000000..fd621ea
--- /dev/null
+++ b/media/jni/android_media_MediaMetricsJNI.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2017, 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.
+ */
+
+#ifndef _ANDROID_MEDIA_MEDIAMETRICSJNI_H_
+#define _ANDROID_MEDIA_MEDIAMETRICSJNI_H_
+
+#include <jni.h>
+#include <nativehelper/JNIHelp.h>
+#include <media/MediaAnalyticsItem.h>
+
+// Copeid from core/jni/ (libandroid_runtime.so)
+namespace android {
+
+class MediaMetricsJNI {
+public:
+    static jobject writeMetricsToBundle(JNIEnv* env, MediaAnalyticsItem *item, jobject mybundle);
+};
+
+};  // namespace android
+
+#endif //  _ANDROID_MEDIA_MEDIAMETRICSJNI_H_
diff --git a/media/jni/android_media_MediaPlayer2.cpp b/media/jni/android_media_MediaPlayer2.cpp
index d924b38..693a3d0 100644
--- a/media/jni/android_media_MediaPlayer2.cpp
+++ b/media/jni/android_media_MediaPlayer2.cpp
@@ -30,6 +30,7 @@
 #include <media/stagefright/foundation/ByteUtils.h>  // for FOURCC definition
 #include <mediaplayer2/JAudioTrack.h>
 #include <mediaplayer2/JavaVMHelper.h>
+#include <mediaplayer2/JMedia2HTTPService.h>
 #include <mediaplayer2/mediaplayer2.h>
 #include <stdio.h>
 #include <assert.h>
@@ -45,7 +46,6 @@
 #include "utils/KeyedVector.h"
 #include "utils/String8.h"
 #include "android_media_BufferingParams.h"
-#include "android_media_Media2HTTPService.h"
 #include "android_media_Media2DataSource.h"
 #include "android_media_MediaMetricsJNI.h"
 #include "android_media_PlaybackParams.h"
@@ -161,7 +161,7 @@
     JNIMediaPlayer2Listener(JNIEnv* env, jobject thiz, jobject weak_thiz);
     ~JNIMediaPlayer2Listener();
     virtual void notify(int64_t srcId, int msg, int ext1, int ext2,
-                        const Parcel *obj = NULL) override;
+                        const PlayerMessage *obj = NULL) override;
 private:
     JNIMediaPlayer2Listener();
     jclass      mClass;     // Reference to MediaPlayer2 class
@@ -194,23 +194,21 @@
     env->DeleteGlobalRef(mClass);
 }
 
-void JNIMediaPlayer2Listener::notify(int64_t srcId, int msg, int ext1, int ext2, const Parcel *obj)
+void JNIMediaPlayer2Listener::notify(int64_t srcId, int msg, int ext1, int ext2,
+        const PlayerMessage* obj)
 {
     JNIEnv *env = JavaVMHelper::getJNIEnv();
-    if (obj && obj->dataSize() > 0) {
-        jobject jParcel = createJavaParcelObject(env);
-        if (jParcel != NULL) {
-            // TODO: replace the following Parcel usages with proto.
-            // 1. MEDIA_DRM_INFO : DrmInfo
-            // 2. MEDIA_TIMED_TEXT : TimedText
-            // 2. MEDIA_SUBTITLE_DATA : SubtitleData
-            // 4. MEDIA_META_DATA : TimedMetaData
-            Parcel* nativeParcel = parcelForJavaObject(env, jParcel);
-            nativeParcel->setData(obj->data(), obj->dataSize());
-            env->CallStaticVoidMethod(mClass, fields.post_event, mObject,
-                    srcId, msg, ext1, ext2, jParcel);
-            env->DeleteLocalRef(jParcel);
-        }
+    if (obj != NULL) {
+        int size = obj->ByteSize();
+        jbyte* temp = new jbyte[size];
+        obj->SerializeToArray(temp, size);
+
+        // return the response as a byte array.
+        jbyteArray out = env->NewByteArray(size);
+        env->SetByteArrayRegion(out, 0, size, temp);
+        env->CallStaticVoidMethod(mClass, fields.post_event, mObject,
+                srcId, msg, ext1, ext2, out);
+        delete[] temp;
     } else {
         env->CallStaticVoidMethod(mClass, fields.post_event, mObject,
                 srcId, msg, ext1, ext2, NULL);
@@ -911,7 +909,7 @@
 }
 
 static jboolean
-android_media_MediaPlayer2_setParameter(JNIEnv *env, jobject thiz, jint key, jobject java_request)
+android_media_MediaPlayer2_setParameter(JNIEnv *env, jobject thiz, jint key, jobject)
 {
     ALOGV("setParameter: key %d", key);
     sp<MediaPlayer2> mp = getMediaPlayer(env, thiz);
@@ -920,9 +918,11 @@
         return false;
     }
 
-    // TODO: parcelForJavaObject() shouldn't be used since it's dependent on
-    //       framework's Parcel implementation. This setParameter() is used
-    //       only with AudioAttribute. Can this be used as jobject with JAudioTrack?
+    return false;
+    // TODO: set/getParameter is temporarily disabled to remove android_runtime.so dependency.
+    //       Once JAudioTrack migration is done, the AudioAttribute jobject
+    //       should be directly passed to AudioTrack without native parcel conversion.
+    /*
     Parcel *request = parcelForJavaObject(env, java_request);
     status_t err = mp->setParameter(key, *request);
     if (err == OK) {
@@ -930,6 +930,7 @@
     } else {
         return false;
     }
+    */
 }
 
 static jobject
@@ -942,6 +943,11 @@
         return NULL;
     }
 
+    return NULL;
+    // TODO: set/getParameter is temporarily disabled to remove android_runtime.so dependency.
+    //       Once JAudioTrack migration is done, the AudioAttribute jobject
+    //       should be directly passed to AudioTrack without native parcel conversion.
+    /*
     jobject jParcel = createJavaParcelObject(env);
     if (jParcel != NULL) {
         Parcel* nativeParcel = parcelForJavaObject(env, jParcel);
@@ -952,6 +958,7 @@
         }
     }
     return jParcel;
+    */
 }
 
 static void
@@ -1007,7 +1014,11 @@
     PlayerMessage response;
     request.ParseFromArray(pData, pDataLen);
 
-    media_player->invoke(request, &response);
+    process_media_player_call( env, thiz, media_player->invoke(request, &response),
+            "java.lang.RuntimeException", NULL );
+    if (env->ExceptionCheck()) {
+        return NULL;
+    }
 
     int size = response.ByteSize();
     jbyte* temp = new jbyte[size];
@@ -1021,55 +1032,6 @@
     return out;
 }
 
-// Sends the new filter to the client.
-static jint
-android_media_MediaPlayer2_setMetadataFilter(JNIEnv *env, jobject thiz, jobject request)
-{
-    sp<MediaPlayer2> media_player = getMediaPlayer(env, thiz);
-    if (media_player == NULL ) {
-        jniThrowException(env, "java/lang/IllegalStateException", NULL);
-        return UNKNOWN_ERROR;
-    }
-
-    Parcel *filter = parcelForJavaObject(env, request);
-
-    if (filter == NULL ) {
-        jniThrowException(env, "java/lang/RuntimeException", "Filter is null");
-        return UNKNOWN_ERROR;
-    }
-
-    return (jint) media_player->setMetadataFilter(*filter);
-}
-
-static jboolean
-android_media_MediaPlayer2_getMetadata(JNIEnv *env, jobject thiz, jboolean update_only,
-                                      jboolean apply_filter, jobject reply)
-{
-    sp<MediaPlayer2> media_player = getMediaPlayer(env, thiz);
-    if (media_player == NULL ) {
-        jniThrowException(env, "java/lang/IllegalStateException", NULL);
-        return JNI_FALSE;
-    }
-
-    Parcel *metadata = parcelForJavaObject(env, reply);
-
-    if (metadata == NULL ) {
-        jniThrowException(env, "java/lang/RuntimeException", "Reply parcel is null");
-        return JNI_FALSE;
-    }
-
-    metadata->freeData();
-    // On return metadata is positioned at the beginning of the
-    // metadata. Note however that the parcel actually starts with the
-    // return code so you should not rewind the parcel using
-    // setDataPosition(0).
-    if (media_player->getMetadata(update_only, apply_filter, metadata) == OK) {
-        return JNI_TRUE;
-    } else {
-        return JNI_FALSE;
-    }
-}
-
 // This function gets some field IDs, which in turn causes class initialization.
 // It is called from a static block in MediaPlayer2, which won't run until the
 // first time an instance of this class is used.
@@ -1089,7 +1051,7 @@
     }
 
     fields.post_event = env->GetStaticMethodID(clazz, "postEventFromNative",
-                                               "(Ljava/lang/Object;JIIILjava/lang/Object;)V");
+                                               "(Ljava/lang/Object;JIII[B)V");
     if (fields.post_event == NULL) {
         return;
     }
@@ -1528,14 +1490,12 @@
     {"_release",            "()V",                              (void *)android_media_MediaPlayer2_release},
     {"_reset",              "()V",                              (void *)android_media_MediaPlayer2_reset},
     {"_getAudioStreamType", "()I",                              (void *)android_media_MediaPlayer2_getAudioStreamType},
-    {"setParameter",        "(ILandroid/os/Parcel;)Z",          (void *)android_media_MediaPlayer2_setParameter},
-    {"getParameter",        "(I)Landroid/os/Parcel;",           (void *)android_media_MediaPlayer2_getParameter},
+    {"setParameter",        "(ILjava/lang/Object;)Z",          (void *)android_media_MediaPlayer2_setParameter},
+    {"getParameter",        "(I)Ljava/lang/Object;",           (void *)android_media_MediaPlayer2_getParameter},
     {"setLooping",          "(Z)V",                             (void *)android_media_MediaPlayer2_setLooping},
     {"isLooping",           "()Z",                              (void *)android_media_MediaPlayer2_isLooping},
     {"_setVolume",          "(FF)V",                            (void *)android_media_MediaPlayer2_setVolume},
     {"_invoke",             "([B)[B",                           (void *)android_media_MediaPlayer2_invoke},
-    {"native_setMetadataFilter", "(Landroid/os/Parcel;)I",      (void *)android_media_MediaPlayer2_setMetadataFilter},
-    {"native_getMetadata", "(ZZLandroid/os/Parcel;)Z",          (void *)android_media_MediaPlayer2_getMetadata},
     {"native_init",         "()V",                              (void *)android_media_MediaPlayer2_native_init},
     {"native_setup",        "(Ljava/lang/Object;)V",            (void *)android_media_MediaPlayer2_native_setup},
     {"native_finalize",     "()V",                              (void *)android_media_MediaPlayer2_native_finalize},
diff --git a/media/lib/remotedisplay/Android.bp b/media/lib/remotedisplay/Android.bp
index 1e9320d..5f4b930 100644
--- a/media/lib/remotedisplay/Android.bp
+++ b/media/lib/remotedisplay/Android.bp
@@ -14,22 +14,8 @@
 // limitations under the License.
 //
 
-droiddoc {
-    name: "com.android.media.remotedisplay.stubs-gen-docs",
-    srcs: [
-        "java/**/*.java",
-    ],
-    args: " -hide 111 -hide 113 -hide 125 -hide 126 -hide 127 -hide 128 " +
-          " -stubpackages com.android.media.remotedisplay " +
-          " -nodocs ",
-    custom_template: "droiddoc-templates-sdk",
-    installable: false,
-}
-
-java_library_static {
-    name: "com.android.media.remotedisplay.stubs",
-    srcs: [
-        ":com.android.media.remotedisplay.stubs-gen-docs",
-    ],
-    sdk_version: "current",
+java_sdk_library {
+    name: "com.android.media.remotedisplay",
+    srcs: ["java/**/*.java"],
+    api_packages: ["com.android.media.remotedisplay"],
 }
diff --git a/media/lib/remotedisplay/Android.mk b/media/lib/remotedisplay/Android.mk
deleted file mode 100644
index e88c0f1..0000000
--- a/media/lib/remotedisplay/Android.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# Copyright (C) 2013 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.
-#
-LOCAL_PATH := $(call my-dir)
-
-# the remotedisplay library
-# ============================================================
-include $(CLEAR_VARS)
-
-LOCAL_MODULE:= com.android.media.remotedisplay
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SRC_FILES := $(call all-java-files-under, java)
-
-include $(BUILD_JAVA_LIBRARY)
-
-
-# ====  com.android.media.remotedisplay.xml lib def  ========================
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := com.android.media.remotedisplay.xml
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_MODULE_CLASS := ETC
-
-# This will install the file in /system/etc/permissions
-#
-LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/permissions
-
-LOCAL_SRC_FILES := $(LOCAL_MODULE)
-
-include $(BUILD_PREBUILT)
diff --git a/media/lib/remotedisplay/OWNERS b/media/lib/remotedisplay/OWNERS
new file mode 100644
index 0000000..7e7335d
--- /dev/null
+++ b/media/lib/remotedisplay/OWNERS
@@ -0,0 +1 @@
+michaelwr@google.com
diff --git a/media/lib/remotedisplay/api/current.txt b/media/lib/remotedisplay/api/current.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/media/lib/remotedisplay/api/current.txt
diff --git a/media/lib/remotedisplay/api/removed.txt b/media/lib/remotedisplay/api/removed.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/media/lib/remotedisplay/api/removed.txt
diff --git a/media/lib/remotedisplay/api/system-current.txt b/media/lib/remotedisplay/api/system-current.txt
new file mode 100644
index 0000000..69bbd35
--- /dev/null
+++ b/media/lib/remotedisplay/api/system-current.txt
@@ -0,0 +1,52 @@
+package com.android.media.remotedisplay {
+
+  public class RemoteDisplay {
+    ctor public RemoteDisplay(java.lang.String, java.lang.String);
+    method public java.lang.String getDescription();
+    method public java.lang.String getId();
+    method public java.lang.String getName();
+    method public int getPresentationDisplayId();
+    method public int getStatus();
+    method public int getVolume();
+    method public int getVolumeHandling();
+    method public int getVolumeMax();
+    method public void setDescription(java.lang.String);
+    method public void setName(java.lang.String);
+    method public void setPresentationDisplayId(int);
+    method public void setStatus(int);
+    method public void setVolume(int);
+    method public void setVolumeHandling(int);
+    method public void setVolumeMax(int);
+    field public static final int PLAYBACK_VOLUME_FIXED = 0; // 0x0
+    field public static final int PLAYBACK_VOLUME_VARIABLE = 1; // 0x1
+    field public static final int STATUS_AVAILABLE = 2; // 0x2
+    field public static final int STATUS_CONNECTED = 4; // 0x4
+    field public static final int STATUS_CONNECTING = 3; // 0x3
+    field public static final int STATUS_IN_USE = 1; // 0x1
+    field public static final int STATUS_NOT_AVAILABLE = 0; // 0x0
+  }
+
+  public abstract class RemoteDisplayProvider {
+    ctor public RemoteDisplayProvider(android.content.Context);
+    method public void addDisplay(com.android.media.remotedisplay.RemoteDisplay);
+    method public com.android.media.remotedisplay.RemoteDisplay findRemoteDisplay(java.lang.String);
+    method public android.os.IBinder getBinder();
+    method public final android.content.Context getContext();
+    method public int getDiscoveryMode();
+    method public java.util.Collection<com.android.media.remotedisplay.RemoteDisplay> getDisplays();
+    method public android.app.PendingIntent getSettingsPendingIntent();
+    method public void onAdjustVolume(com.android.media.remotedisplay.RemoteDisplay, int);
+    method public void onConnect(com.android.media.remotedisplay.RemoteDisplay);
+    method public void onDisconnect(com.android.media.remotedisplay.RemoteDisplay);
+    method public void onDiscoveryModeChanged(int);
+    method public void onSetVolume(com.android.media.remotedisplay.RemoteDisplay, int);
+    method public void removeDisplay(com.android.media.remotedisplay.RemoteDisplay);
+    method public void updateDisplay(com.android.media.remotedisplay.RemoteDisplay);
+    field public static final int DISCOVERY_MODE_ACTIVE = 2; // 0x2
+    field public static final int DISCOVERY_MODE_NONE = 0; // 0x0
+    field public static final int DISCOVERY_MODE_PASSIVE = 1; // 0x1
+    field public static final java.lang.String SERVICE_INTERFACE = "com.android.media.remotedisplay.RemoteDisplayProvider";
+  }
+
+}
+
diff --git a/media/lib/remotedisplay/api/system-removed.txt b/media/lib/remotedisplay/api/system-removed.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/media/lib/remotedisplay/api/system-removed.txt
diff --git a/media/lib/remotedisplay/api/test-current.txt b/media/lib/remotedisplay/api/test-current.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/media/lib/remotedisplay/api/test-current.txt
diff --git a/media/lib/remotedisplay/api/test-removed.txt b/media/lib/remotedisplay/api/test-removed.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/media/lib/remotedisplay/api/test-removed.txt
diff --git a/media/lib/remotedisplay/com.android.media.remotedisplay.xml b/media/lib/remotedisplay/com.android.media.remotedisplay.xml
deleted file mode 100644
index 77a91d2..0000000
--- a/media/lib/remotedisplay/com.android.media.remotedisplay.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2013 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.
--->
-
-<permissions>
-    <library name="com.android.media.remotedisplay"
-            file="/system/framework/com.android.media.remotedisplay.jar" />
-</permissions>
diff --git a/media/lib/remotedisplay/java/com/android/media/remotedisplay/RemoteDisplay.java b/media/lib/remotedisplay/java/com/android/media/remotedisplay/RemoteDisplay.java
index dc9dd79..8de414b 100644
--- a/media/lib/remotedisplay/java/com/android/media/remotedisplay/RemoteDisplay.java
+++ b/media/lib/remotedisplay/java/com/android/media/remotedisplay/RemoteDisplay.java
@@ -16,6 +16,7 @@
 
 package com.android.media.remotedisplay;
 
+import android.annotation.SystemApi;
 import android.media.RemoteDisplayState.RemoteDisplayInfo;
 import android.text.TextUtils;
 
@@ -23,7 +24,10 @@
 
 /**
  * Represents a remote display that has been discovered.
+ *
+ * @hide
  */
+@SystemApi
 public class RemoteDisplay {
     private final RemoteDisplayInfo mMutableInfo;
     private RemoteDisplayInfo mImmutableInfo;
diff --git a/media/lib/remotedisplay/java/com/android/media/remotedisplay/RemoteDisplayProvider.java b/media/lib/remotedisplay/java/com/android/media/remotedisplay/RemoteDisplayProvider.java
index 4d3edb8..7017e44 100644
--- a/media/lib/remotedisplay/java/com/android/media/remotedisplay/RemoteDisplayProvider.java
+++ b/media/lib/remotedisplay/java/com/android/media/remotedisplay/RemoteDisplayProvider.java
@@ -16,6 +16,7 @@
 
 package com.android.media.remotedisplay;
 
+import android.annotation.SystemApi;
 import android.app.PendingIntent;
 import android.app.Service;
 import android.content.Context;
@@ -88,7 +89,10 @@
  * IMPORTANT: This class is effectively a public API for unbundled applications, and
  * must remain API stable. See README.txt in the root of this package for more information.
  * </p>
+ *
+ * @hide
  */
+@SystemApi
 public abstract class RemoteDisplayProvider {
     private static final int MSG_SET_CALLBACK = 1;
     private static final int MSG_SET_DISCOVERY_MODE = 2;
diff --git a/native/android/Android.bp b/native/android/Android.bp
index 43847cc..24d003b 100644
--- a/native/android/Android.bp
+++ b/native/android/Android.bp
@@ -49,6 +49,7 @@
         "sharedmem.cpp",
         "storage_manager.cpp",
         "surface_texture.cpp",
+        "system_fonts.cpp",
         "trace.cpp",
     ],
 
@@ -65,6 +66,7 @@
         "libandroid_runtime",
         "libnetd_client",
         "libhwui",
+        "libxml2",
     ],
 
     static_libs: [
diff --git a/native/android/libandroid.map.txt b/native/android/libandroid.map.txt
index ac5ded6..9f48bc9 100644
--- a/native/android/libandroid.map.txt
+++ b/native/android/libandroid.map.txt
@@ -212,6 +212,18 @@
     ASurfaceTexture_getTransformMatrix; # introduced=28
     ASurfaceTexture_release; # introduced=28
     ASurfaceTexture_updateTexImage; # introduced=28
+    ASystemFontIterator_open; # introduced=29
+    ASystemFontIterator_close; # introduced=29
+    ASystemFontIterator_next; # introduced=29
+    ASystemFont_close; # introduced=29
+    ASystemFont_getFontFilePath; # introduced=29
+    ASystemFont_getWeight; # introduced=29
+    ASystemFont_isItalic; # introduced=29
+    ASystemFont_getLocale; # introduced=29
+    ASystemFont_getCollectionIndex; # introduced=29
+    ASystemFont_getAxisCount; # introduced=29
+    ASystemFont_getAxisTag; # introduced=29
+    ASystemFont_getAxisValue; # introduced=29
     ATrace_beginSection; # introduced=23
     ATrace_endSection; # introduced=23
     ATrace_isEnabled; # introduced=23
diff --git a/native/android/system_fonts.cpp b/native/android/system_fonts.cpp
new file mode 100644
index 0000000..b95adad
--- /dev/null
+++ b/native/android/system_fonts.cpp
@@ -0,0 +1,277 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+#include <jni.h>
+
+#include <android/system_fonts.h>
+
+#include <memory>
+#include <string>
+#include <vector>
+
+#include <errno.h>
+#include <fcntl.h>
+#include <libxml/tree.h>
+#include <log/log.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+struct XmlCharDeleter {
+    void operator()(xmlChar* b) { xmlFree(b); }
+};
+
+struct XmlDocDeleter {
+    void operator()(xmlDoc* d) { xmlFreeDoc(d); }
+};
+
+using XmlCharUniquePtr = std::unique_ptr<xmlChar, XmlCharDeleter>;
+using XmlDocUniquePtr = std::unique_ptr<xmlDoc, XmlDocDeleter>;
+
+struct ASystemFontIterator {
+    XmlDocUniquePtr mXmlDoc;
+    xmlNode* mFontNode;
+};
+
+struct ASystemFont {
+    std::string mFilePath;
+    std::unique_ptr<std::string> mLocale;
+    uint16_t mWeight;
+    bool mItalic;
+    uint32_t mCollectionIndex;
+    std::vector<std::pair<uint32_t, float>> mAxes;
+};
+
+namespace {
+
+std::string xmlTrim(const std::string& in) {
+    if (in.empty()) {
+        return in;
+    }
+    const char XML_SPACES[] = "\u0020\u000D\u000A\u0009";
+    const size_t start = in.find_first_not_of(XML_SPACES);  // inclusive
+    if (start == std::string::npos) {
+        return "";
+    }
+    const size_t end = in.find_last_not_of(XML_SPACES);     // inclusive
+    if (end == std::string::npos) {
+        return "";
+    }
+    return in.substr(start, end - start + 1 /* +1 since end is inclusive */);
+}
+
+const xmlChar* FAMILY_TAG = BAD_CAST("family");
+const xmlChar* FONT_TAG = BAD_CAST("font");
+
+xmlNode* firstElement(xmlNode* node, const xmlChar* tag) {
+    for (xmlNode* child = node->children; child; child = child->next) {
+        if (xmlStrEqual(child->name, tag)) {
+            return child;
+        }
+    }
+    return nullptr;
+}
+
+xmlNode* nextSibling(xmlNode* node, const xmlChar* tag) {
+    while ((node = node->next) != nullptr) {
+        if (xmlStrEqual(node->name, tag)) {
+            return node;
+        }
+    }
+    return nullptr;
+}
+
+void copyFont(ASystemFontIterator* ite, ASystemFont* out) {
+    const xmlChar* LOCALE_ATTR_NAME = BAD_CAST("lang");
+    XmlCharUniquePtr filePathStr(
+            xmlNodeListGetString(ite->mXmlDoc.get(), ite->mFontNode->xmlChildrenNode, 1));
+    out->mFilePath = "/system/fonts/" + xmlTrim(
+            std::string(filePathStr.get(), filePathStr.get() + xmlStrlen(filePathStr.get())));
+
+    const xmlChar* WEIGHT_ATTR_NAME = BAD_CAST("weight");
+    XmlCharUniquePtr weightStr(xmlGetProp(ite->mFontNode, WEIGHT_ATTR_NAME));
+    out->mWeight = weightStr ?
+            strtol(reinterpret_cast<const char*>(weightStr.get()), nullptr, 10) : 400;
+
+    const xmlChar* STYLE_ATTR_NAME = BAD_CAST("style");
+    const xmlChar* ITALIC_ATTR_VALUE = BAD_CAST("italic");
+    XmlCharUniquePtr styleStr(xmlGetProp(ite->mFontNode, STYLE_ATTR_NAME));
+    out->mItalic = styleStr ? xmlStrEqual(styleStr.get(), ITALIC_ATTR_VALUE) : false;
+
+    const xmlChar* INDEX_ATTR_NAME = BAD_CAST("index");
+    XmlCharUniquePtr indexStr(xmlGetProp(ite->mFontNode, INDEX_ATTR_NAME));
+    out->mCollectionIndex =  indexStr ?
+            strtol(reinterpret_cast<const char*>(indexStr.get()), nullptr, 10) : 0;
+
+    XmlCharUniquePtr localeStr(xmlGetProp(ite->mXmlDoc->parent, LOCALE_ATTR_NAME));
+    out->mLocale.reset(
+            localeStr ? new std::string(reinterpret_cast<const char*>(localeStr.get())) : nullptr);
+
+    const xmlChar* TAG_ATTR_NAME = BAD_CAST("tag");
+    const xmlChar* STYLEVALUE_ATTR_NAME = BAD_CAST("stylevalue");
+    const xmlChar* AXIS_TAG = BAD_CAST("axis");
+    out->mAxes.clear();
+    for (xmlNode* axis = firstElement(ite->mFontNode, AXIS_TAG); axis;
+            axis = nextSibling(axis, AXIS_TAG)) {
+        XmlCharUniquePtr tagStr(xmlGetProp(axis, TAG_ATTR_NAME));
+        if (!tagStr || xmlStrlen(tagStr.get()) != 4) {
+            continue;  // Tag value must be 4 char string
+        }
+
+        XmlCharUniquePtr styleValueStr(xmlGetProp(axis, STYLEVALUE_ATTR_NAME));
+        if (!styleValueStr) {
+            continue;
+        }
+
+        uint32_t tag =
+            static_cast<uint32_t>(tagStr.get()[0] << 24) |
+            static_cast<uint32_t>(tagStr.get()[1] << 16) |
+            static_cast<uint32_t>(tagStr.get()[2] << 8) |
+            static_cast<uint32_t>(tagStr.get()[3]);
+        float styleValue = strtod(reinterpret_cast<const char*>(styleValueStr.get()), nullptr);
+        out->mAxes.push_back(std::make_pair(tag, styleValue));
+    }
+}
+
+bool isFontFileAvailable(const std::string& filePath) {
+    std::string fullPath = filePath;
+    struct stat st = {};
+    if (stat(fullPath.c_str(), &st) != 0) {
+        return false;
+    }
+    return S_ISREG(st.st_mode);
+}
+
+xmlNode* findFirstFontNode(xmlDoc* doc) {
+    xmlNode* familySet = xmlDocGetRootElement(doc);
+    if (familySet == nullptr) {
+        return nullptr;
+    }
+    xmlNode* family = firstElement(familySet, FAMILY_TAG);
+    if (family == nullptr) {
+        return nullptr;
+    }
+
+    xmlNode* font = firstElement(family, FONT_TAG);
+    while (font == nullptr) {
+        family = nextSibling(family, FAMILY_TAG);
+        if (family == nullptr) {
+            return nullptr;
+        }
+        font = firstElement(family, FONT_TAG);
+    }
+    return font;
+}
+
+}  // namespace
+
+ASystemFontIterator* ASystemFontIterator_open() {
+    std::unique_ptr<ASystemFontIterator> ite(new ASystemFontIterator());
+    ite->mXmlDoc.reset(xmlReadFile("/system/etc/fonts.xml", nullptr, 0));
+    return ite.release();
+}
+
+void ASystemFontIterator_close(ASystemFontIterator* ite) {
+    delete ite;
+}
+
+ASystemFont* ASystemFontIterator_next(ASystemFontIterator* ite) {
+    LOG_ALWAYS_FATAL_IF(ite == nullptr, "nullptr has passed as iterator argument");
+    if (ite->mFontNode == nullptr) {
+        if (ite->mXmlDoc == nullptr) {
+            return nullptr;  // Already at the end.
+        } else {
+            // First time to query font.
+            ite->mFontNode = findFirstFontNode(ite->mXmlDoc.get());
+            if (ite->mFontNode == nullptr) {
+                ite->mXmlDoc.reset();
+                return nullptr;  // No font node found.
+            }
+            std::unique_ptr<ASystemFont> font = std::make_unique<ASystemFont>();
+            copyFont(ite, font.get());
+            return font.release();
+        }
+    } else {
+        xmlNode* nextNode = nextSibling(ite->mFontNode, FONT_TAG);
+        while (nextNode == nullptr) {
+            xmlNode* family = nextSibling(ite->mFontNode->parent, FAMILY_TAG);
+            if (family == nullptr) {
+                break;
+            }
+            nextNode = firstElement(family, FONT_TAG);
+        }
+        ite->mFontNode = nextNode;
+        if (nextNode == nullptr) {
+            ite->mXmlDoc.reset();
+            return nullptr;
+        }
+
+        std::unique_ptr<ASystemFont> font = std::make_unique<ASystemFont>();
+        copyFont(ite, font.get());
+        if (!isFontFileAvailable(font->mFilePath)) {
+            // fonts.xml intentionally contains missing font configuration. Skip it.
+            return ASystemFontIterator_next(ite);
+        }
+        return font.release();
+    }
+}
+
+void ASystemFont_close(ASystemFont* font) {
+    delete font;
+}
+
+const char* ASystemFont_getFontFilePath(const ASystemFont* font) {
+    LOG_ALWAYS_FATAL_IF(font == nullptr, "nullptr has passed as font argument");
+    return font->mFilePath.c_str();
+}
+
+uint16_t ASystemFont_getWeight(const ASystemFont* font) {
+    LOG_ALWAYS_FATAL_IF(font == nullptr, "nullptr has passed as font argument");
+    return font->mWeight;
+}
+
+bool ASystemFont_isItalic(const ASystemFont* font) {
+    LOG_ALWAYS_FATAL_IF(font == nullptr, "nullptr has passed as font argument");
+    return font->mItalic;
+}
+
+const char* ASystemFont_getLocale(const ASystemFont* font) {
+    LOG_ALWAYS_FATAL_IF(font == nullptr, "nullptr has passed to font argument");
+    return font->mLocale ? nullptr : font->mLocale->c_str();
+}
+
+size_t ASystemFont_getCollectionIndex(const ASystemFont* font) {
+    LOG_ALWAYS_FATAL_IF(font == nullptr, "nullptr has passed to font argument");
+    return font->mCollectionIndex;
+}
+
+size_t ASystemFont_getAxisCount(const ASystemFont* font) {
+    LOG_ALWAYS_FATAL_IF(font == nullptr, "nullptr has passed to font argument");
+    return font->mAxes.size();
+}
+
+uint32_t ASystemFont_getAxisTag(const ASystemFont* font, uint32_t axisIndex) {
+    LOG_ALWAYS_FATAL_IF(font == nullptr, "nullptr has passed to font argument");
+    LOG_ALWAYS_FATAL_IF(axisIndex >= font->mAxes.size(),
+                        "given axis index is out of bounds. (< %zd", font->mAxes.size());
+    return font->mAxes[axisIndex].first;
+}
+
+float ASystemFont_getAxisValue(const ASystemFont* font, uint32_t axisIndex) {
+    LOG_ALWAYS_FATAL_IF(font == nullptr, "nullptr has passed to font argument");
+    LOG_ALWAYS_FATAL_IF(axisIndex >= font->mAxes.size(),
+                        "given axis index is out of bounds. (< %zd", font->mAxes.size());
+    return font->mAxes[axisIndex].second;
+}
diff --git a/native/webview/loader/loader.cpp b/native/webview/loader/loader.cpp
index adb371d..7f71f63 100644
--- a/native/webview/loader/loader.cpp
+++ b/native/webview/loader/loader.cpp
@@ -26,6 +26,7 @@
 #include <string.h>
 #include <unistd.h>
 #include <sys/mman.h>
+#include <sys/prctl.h>
 #include <sys/stat.h>
 #include <sys/types.h>
 
@@ -58,13 +59,15 @@
           vsize, strerror(errno));
     return JNI_FALSE;
   }
+  prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, addr, vsize, "libwebview reservation");
   gReservedAddress = addr;
   gReservedSize = vsize;
   ALOGV("Reserved %zd bytes at %p", vsize, addr);
   return JNI_TRUE;
 }
 
-jboolean DoCreateRelroFile(const char* lib, const char* relro) {
+jboolean DoCreateRelroFile(JNIEnv* env, const char* lib, const char* relro,
+                           jobject clazzLoader) {
   // Try to unlink the old file, since if this is being called, the old one is
   // obsolete.
   if (unlink(relro) != 0 && errno != ENOENT) {
@@ -82,11 +85,19 @@
     ALOGE("Failed to create temporary file %s: %s", relro_tmp, strerror(errno));
     return JNI_FALSE;
   }
+  android_namespace_t* ns =
+      android::FindNamespaceByClassLoader(env, clazzLoader);
+  if (ns == NULL) {
+    ALOGE("Failed to find classloader namespace");
+    return JNI_FALSE;
+  }
   android_dlextinfo extinfo;
-  extinfo.flags = ANDROID_DLEXT_RESERVED_ADDRESS | ANDROID_DLEXT_WRITE_RELRO;
+  extinfo.flags = ANDROID_DLEXT_RESERVED_ADDRESS | ANDROID_DLEXT_WRITE_RELRO |
+                  ANDROID_DLEXT_USE_NAMESPACE;
   extinfo.reserved_addr = gReservedAddress;
   extinfo.reserved_size = gReservedSize;
   extinfo.relro_fd = tmp_fd;
+  extinfo.library_namespace = ns;
   void* handle = android_dlopen_ext(lib, RTLD_NOW, &extinfo);
   int close_result = close(tmp_fd);
   if (handle == NULL) {
@@ -143,13 +154,14 @@
   return DoReserveAddressSpace(size);
 }
 
-jboolean CreateRelroFile(JNIEnv* env, jclass, jstring lib, jstring relro) {
+jboolean CreateRelroFile(JNIEnv* env, jclass, jstring lib, jstring relro,
+                         jobject clazzLoader) {
   jboolean ret = JNI_FALSE;
   const char* lib_utf8 = env->GetStringUTFChars(lib, NULL);
   if (lib_utf8 != NULL) {
     const char* relro_utf8 = env->GetStringUTFChars(relro, NULL);
     if (relro_utf8 != NULL) {
-      ret = DoCreateRelroFile(lib_utf8, relro_utf8);
+      ret = DoCreateRelroFile(env, lib_utf8, relro_utf8, clazzLoader);
       env->ReleaseStringUTFChars(relro, relro_utf8);
     }
     env->ReleaseStringUTFChars(lib, lib_utf8);
@@ -179,7 +191,7 @@
   { "nativeReserveAddressSpace", "(J)Z",
       reinterpret_cast<void*>(ReserveAddressSpace) },
   { "nativeCreateRelroFile",
-      "(Ljava/lang/String;Ljava/lang/String;)Z",
+      "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Z",
       reinterpret_cast<void*>(CreateRelroFile) },
   { "nativeLoadWithRelroFile",
       "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)I",
diff --git a/packages/CaptivePortalLogin/res/values-de/strings.xml b/packages/CaptivePortalLogin/res/values-de/strings.xml
index e64fb76..d8f7be9 100644
--- a/packages/CaptivePortalLogin/res/values-de/strings.xml
+++ b/packages/CaptivePortalLogin/res/values-de/strings.xml
@@ -7,6 +7,6 @@
     <string name="action_bar_label" msgid="917235635415966620">"Im Netzwerk anmelden"</string>
     <string name="action_bar_title" msgid="5645564790486983117">"In %1$s anmelden"</string>
     <string name="ssl_error_warning" msgid="6653188881418638872">"Im Netzwerk, zu dem du eine Verbindung herstellen möchtest, liegen Sicherheitsprobleme vor."</string>
-    <string name="ssl_error_example" msgid="647898534624078900">"Beispiel: Die Log-in-Seite gehört möglicherweise nicht zur angezeigten Organisation."</string>
+    <string name="ssl_error_example" msgid="647898534624078900">"Beispiel: Die Log-in-Seite gehört eventuell nicht zur angezeigten Organisation."</string>
     <string name="ssl_error_continue" msgid="6492718244923937110">"Trotzdem in einem Browser fortfahren"</string>
 </resources>
diff --git a/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java b/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
index 149de13..0ba37ae 100644
--- a/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
+++ b/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
@@ -130,6 +130,22 @@
             mProbeSpec = null;
         }
 
+        mNetworkCallback = new NetworkCallback() {
+            @Override
+            public void onLost(Network lostNetwork) {
+                // If the network disappears while the app is up, exit.
+                if (mNetwork.equals(lostNetwork)) done(Result.UNWANTED);
+            }
+        };
+        mCm.registerNetworkCallback(new NetworkRequest.Builder().build(), mNetworkCallback);
+
+        // If the network has disappeared, exit.
+        final NetworkCapabilities networkCapabilities = mCm.getNetworkCapabilities(mNetwork);
+        if (networkCapabilities == null) {
+            finishAndRemoveTask();
+            return;
+        }
+
         // Also initializes proxy system properties.
         mNetwork = mNetwork.getPrivateDnsBypassingCopy();
         mCm.bindProcessToNetwork(mNetwork);
@@ -139,24 +155,6 @@
         // setContentView initializes the WebView logic which in turn reads the system properties.
         setContentView(R.layout.activity_captive_portal_login);
 
-        // Exit app if Network disappears.
-        final NetworkCapabilities networkCapabilities = mCm.getNetworkCapabilities(mNetwork);
-        if (networkCapabilities == null) {
-            finishAndRemoveTask();
-            return;
-        }
-        mNetworkCallback = new NetworkCallback() {
-            @Override
-            public void onLost(Network lostNetwork) {
-                if (mNetwork.equals(lostNetwork)) done(Result.UNWANTED);
-            }
-        };
-        final NetworkRequest.Builder builder = new NetworkRequest.Builder();
-        for (int transportType : networkCapabilities.getTransportTypes()) {
-            builder.addTransportType(transportType);
-        }
-        mCm.registerNetworkCallback(builder.build(), mNetworkCallback);
-
         getActionBar().setDisplayShowHomeEnabled(false);
         getActionBar().setElevation(0); // remove shadow
         getActionBar().setTitle(getHeaderTitle());
diff --git a/packages/CarSystemUI/Android.bp b/packages/CarSystemUI/Android.bp
index f908595..1b1bf8d 100644
--- a/packages/CarSystemUI/Android.bp
+++ b/packages/CarSystemUI/Android.bp
@@ -30,6 +30,7 @@
         "SystemUIPluginLib",
         "SystemUISharedLib",
         "SettingsLib",
+        "android.car.user",
         "androidx.car_car",
         "androidx.legacy_legacy-support-v4",
         "androidx.recyclerview_recyclerview",
diff --git a/packages/CarSystemUI/src/com/android/systemui/statusbar/hvac/AnimatedTemperatureView.java b/packages/CarSystemUI/src/com/android/systemui/statusbar/hvac/AnimatedTemperatureView.java
index 6473f0d..0467bff 100644
--- a/packages/CarSystemUI/src/com/android/systemui/statusbar/hvac/AnimatedTemperatureView.java
+++ b/packages/CarSystemUI/src/com/android/systemui/statusbar/hvac/AnimatedTemperatureView.java
@@ -177,7 +177,7 @@
                             }
                         }
                         textView.getViewTreeObserver().removeOnPreDrawListener(this);
-                        return false;
+                        return true;
                     }
                 });
         textView.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
diff --git a/packages/CarrierDefaultApp/Android.mk b/packages/CarrierDefaultApp/Android.mk
index 5068b3b..df88afd 100644
--- a/packages/CarrierDefaultApp/Android.mk
+++ b/packages/CarrierDefaultApp/Android.mk
@@ -9,8 +9,6 @@
 LOCAL_PRIVATE_PLATFORM_APIS := true
 LOCAL_CERTIFICATE := platform
 
-LOCAL_STATIC_JAVA_LIBRARIES := services.net
-
 include $(BUILD_PACKAGE)
 
 # This finds and builds the test apk as well, so a single make does both.
diff --git a/packages/CarrierDefaultApp/res/values-de/strings.xml b/packages/CarrierDefaultApp/res/values-de/strings.xml
index 927b8f0..95639ad 100644
--- a/packages/CarrierDefaultApp/res/values-de/strings.xml
+++ b/packages/CarrierDefaultApp/res/values-de/strings.xml
@@ -12,6 +12,6 @@
     <string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Status der mobilen Datennutzung"</string>
     <string name="action_bar_label" msgid="4290345990334377177">"Bei Mobilfunknetz anmelden"</string>
     <string name="ssl_error_warning" msgid="3127935140338254180">"Im Netzwerk, zu dem du eine Verbindung herstellen möchtest, liegen Sicherheitsprobleme vor."</string>
-    <string name="ssl_error_example" msgid="6188711843183058764">"Beispiel: Die Log-in-Seite gehört möglicherweise nicht zur angezeigten Organisation."</string>
+    <string name="ssl_error_example" msgid="6188711843183058764">"Beispiel: Die Log-in-Seite gehört eventuell nicht zur angezeigten Organisation."</string>
     <string name="ssl_error_continue" msgid="1138548463994095584">"Trotzdem in einem Browser fortfahren"</string>
 </resources>
diff --git a/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CaptivePortalLoginActivity.java b/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CaptivePortalLoginActivity.java
index b1933373..4f67350 100644
--- a/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CaptivePortalLoginActivity.java
+++ b/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CaptivePortalLoginActivity.java
@@ -32,7 +32,6 @@
 import android.net.Proxy;
 import android.net.TrafficStats;
 import android.net.Uri;
-import android.net.dns.ResolvUtil;
 import android.net.http.SslError;
 import android.os.Bundle;
 import android.telephony.CarrierConfigManager;
@@ -159,9 +158,9 @@
 
     private void setNetwork(Network network) {
         if (network != null) {
+            network = network.getPrivateDnsBypassingCopy();
             mCm.bindProcessToNetwork(network);
-            mCm.setProcessDefaultNetworkForHostResolution(
-                    ResolvUtil.getNetworkWithUseLocalNameserversFlag(network));
+            mCm.setProcessDefaultNetworkForHostResolution(network);
         }
         mNetwork = network;
     }
@@ -242,7 +241,6 @@
     private void testForCaptivePortal() {
         mTestingThread = new Thread(new Runnable() {
             public void run() {
-                final Network network = ResolvUtil.makeNetworkWithPrivateDnsBypass(mNetwork);
                 // Give time for captive portal to open.
                 try {
                     Thread.sleep(1000);
@@ -253,7 +251,7 @@
                 int httpResponseCode = 500;
                 int oldTag = TrafficStats.getAndSetThreadStatsTag(TrafficStats.TAG_SYSTEM_PROBE);
                 try {
-                    urlConnection = (HttpURLConnection) network.openConnection(
+                    urlConnection = (HttpURLConnection) mNetwork.openConnection(
                             new URL(mCm.getCaptivePortalServerUrl()));
                     urlConnection.setInstanceFollowRedirects(false);
                     urlConnection.setConnectTimeout(SOCKET_TIMEOUT_MS);
diff --git a/packages/LocalTransport/Android.mk b/packages/LocalTransport/Android.mk
new file mode 100644
index 0000000..3484b0f
--- /dev/null
+++ b/packages/LocalTransport/Android.mk
@@ -0,0 +1,35 @@
+#
+# Copyright (C) 2018 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.
+#
+
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_PROGUARD_FLAG_FILES := proguard.flags
+
+LOCAL_PACKAGE_NAME := LocalTransport
+LOCAL_PRIVATE_PLATFORM_APIS := true
+LOCAL_CERTIFICATE := platform
+LOCAL_PRIVILEGED_MODULE := true
+
+include $(BUILD_PACKAGE)
+
+########################
+include $(call all-makefiles-under,$(LOCAL_PATH))
+
diff --git a/packages/LocalTransport/AndroidManifest.xml b/packages/LocalTransport/AndroidManifest.xml
new file mode 100644
index 0000000..196be1e
--- /dev/null
+++ b/packages/LocalTransport/AndroidManifest.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+ * Copyright (c) 2018 Google Inc.
+ *
+ * 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="com.android.localtransport"
+      android:sharedUserId="android.uid.system" >
+
+
+    <application android:allowBackup="false" >
+        <!-- This service does not need to be exported because it shares uid with the system server
+        which is the only client. -->
+        <service android:name=".LocalTransportService"
+                 android:permission="android.permission.CONFIRM_FULL_BACKUP"
+                 android:exported="false">
+            <intent-filter>
+                <action android:name="android.backup.TRANSPORT_HOST" />
+            </intent-filter>
+        </service>
+
+    </application>
+</manifest>
diff --git a/packages/LocalTransport/proguard.flags b/packages/LocalTransport/proguard.flags
new file mode 100644
index 0000000..c1f51b8
--- /dev/null
+++ b/packages/LocalTransport/proguard.flags
@@ -0,0 +1,5 @@
+-keep class com.android.localTransport.LocalTransport
+-keep class com.android.localTransport.LocalTransportParameters
+-keep class com.android.localTransport.LocalTransportService
+
+
diff --git a/core/java/com/android/internal/backup/LocalTransport.java b/packages/LocalTransport/src/com/android/localtransport/LocalTransport.java
similarity index 97%
rename from core/java/com/android/internal/backup/LocalTransport.java
rename to packages/LocalTransport/src/com/android/localtransport/LocalTransport.java
index d0f0272..0bf8bc1 100644
--- a/core/java/com/android/internal/backup/LocalTransport.java
+++ b/packages/LocalTransport/src/com/android/localtransport/LocalTransport.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.backup;
+package com.android.localtransport;
 
 import android.app.backup.BackupAgent;
 import android.app.backup.BackupDataInput;
@@ -26,7 +26,6 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageInfo;
-import android.os.Environment;
 import android.os.ParcelFileDescriptor;
 import android.system.ErrnoException;
 import android.system.Os;
@@ -56,7 +55,7 @@
     private static final boolean DEBUG = false;
 
     private static final String TRANSPORT_DIR_NAME
-            = "com.android.internal.backup.LocalTransport";
+            = "com.android.localtransport.LocalTransport";
 
     private static final String TRANSPORT_DESTINATION_STRING
             = "Backing up to debug-only private cache";
@@ -75,10 +74,10 @@
     private static final long KEY_VALUE_BACKUP_SIZE_QUOTA = 5 * 1024 * 1024;
 
     private Context mContext;
-    private File mDataDir = new File(Environment.getDownloadCacheDirectory(), "backup");
-    private File mCurrentSetDir = new File(mDataDir, Long.toString(CURRENT_SET_TOKEN));
-    private File mCurrentSetIncrementalDir = new File(mCurrentSetDir, INCREMENTAL_DIR);
-    private File mCurrentSetFullDir = new File(mCurrentSetDir, FULL_DATA_DIR);
+    private File mDataDir;
+    private File mCurrentSetDir;
+    private File mCurrentSetIncrementalDir;
+    private File mCurrentSetFullDir;
 
     private PackageInfo[] mRestorePackages = null;
     private int mRestorePackage = -1;  // Index into mRestorePackages
@@ -101,6 +100,11 @@
     private final LocalTransportParameters mParameters;
 
     private void makeDataDirs() {
+        mDataDir = mContext.getFilesDir();
+        mCurrentSetDir = new File(mDataDir, Long.toString(CURRENT_SET_TOKEN));
+        mCurrentSetIncrementalDir = new File(mCurrentSetDir, INCREMENTAL_DIR);
+        mCurrentSetFullDir = new File(mCurrentSetDir, FULL_DATA_DIR);
+
         mCurrentSetDir.mkdirs();
         mCurrentSetFullDir.mkdir();
         mCurrentSetIncrementalDir.mkdir();
diff --git a/core/java/com/android/internal/backup/LocalTransportParameters.java b/packages/LocalTransport/src/com/android/localtransport/LocalTransportParameters.java
similarity index 97%
rename from core/java/com/android/internal/backup/LocalTransportParameters.java
rename to packages/LocalTransport/src/com/android/localtransport/LocalTransportParameters.java
index 2427d39..784be22 100644
--- a/core/java/com/android/internal/backup/LocalTransportParameters.java
+++ b/packages/LocalTransport/src/com/android/localtransport/LocalTransportParameters.java
@@ -14,7 +14,7 @@
  * limitations under the License
  */
 
-package com.android.internal.backup;
+package com.android.localtransport;
 
 import android.util.KeyValueSettingObserver;
 import android.content.ContentResolver;
diff --git a/core/java/com/android/internal/backup/LocalTransportService.java b/packages/LocalTransport/src/com/android/localtransport/LocalTransportService.java
similarity index 96%
rename from core/java/com/android/internal/backup/LocalTransportService.java
rename to packages/LocalTransport/src/com/android/localtransport/LocalTransportService.java
index 69c48e2..ac4f418 100644
--- a/core/java/com/android/internal/backup/LocalTransportService.java
+++ b/packages/LocalTransport/src/com/android/localtransport/LocalTransportService.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.backup;
+package com.android.localtransport;
 
 import android.app.Service;
 import android.content.Intent;
diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/InstallInstalling.java b/packages/PackageInstaller/src/com/android/packageinstaller/InstallInstalling.java
index deb6163..9f38d48 100755
--- a/packages/PackageInstaller/src/com/android/packageinstaller/InstallInstalling.java
+++ b/packages/PackageInstaller/src/com/android/packageinstaller/InstallInstalling.java
@@ -137,6 +137,7 @@
                         UID_UNKNOWN);
                 params.installerPackageName =
                         getIntent().getStringExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME);
+                params.installReason = PackageManager.INSTALL_REASON_USER;
 
                 File file = new File(mPackageURI.getPath());
                 try {
diff --git a/packages/PrintSpooler/res/layout/print_activity.xml b/packages/PrintSpooler/res/layout/print_activity.xml
index 212f398..0ccf13e 100644
--- a/packages/PrintSpooler/res/layout/print_activity.xml
+++ b/packages/PrintSpooler/res/layout/print_activity.xml
@@ -107,6 +107,7 @@
         android:layout_height="wrap_content"
         android:layout_marginStart="16dip"
         android:elevation="@dimen/preview_controls_elevation"
+        android:tint="?android:attr/textColorPrimaryInverse"
         android:background="@drawable/print_button">
     </ImageButton>
 
diff --git a/packages/PrintSpooler/res/values-de/strings.xml b/packages/PrintSpooler/res/values-de/strings.xml
index c02e3c7..e46ff15 100644
--- a/packages/PrintSpooler/res/values-de/strings.xml
+++ b/packages/PrintSpooler/res/values-de/strings.xml
@@ -103,7 +103,7 @@
     <item msgid="3199660090246166812">"Querformat"</item>
   </string-array>
     <string name="print_write_error_message" msgid="5787642615179572543">"Fehler beim Schreiben in Datei"</string>
-    <string name="print_error_default_message" msgid="8602678405502922346">"Fehler. Bitte versuche es erneut."</string>
+    <string name="print_error_default_message" msgid="8602678405502922346">"Fehler. Bitte versuche es noch einmal."</string>
     <string name="print_error_retry" msgid="1426421728784259538">"Erneut versuchen"</string>
     <string name="print_error_printer_unavailable" msgid="8985614415253203381">"Dieser Drucker ist momentan nicht verfügbar."</string>
     <string name="print_cannot_load_page" msgid="6179560924492912009">"Vorschau kann nicht angezeigt werden"</string>
diff --git a/packages/SettingsLib/Android.bp b/packages/SettingsLib/Android.bp
index 943dd84..89438e5 100644
--- a/packages/SettingsLib/Android.bp
+++ b/packages/SettingsLib/Android.bp
@@ -14,6 +14,8 @@
     static_libs: [
         "SettingsLibHelpUtils",
         "SettingsLibRestrictedLockUtils",
+        "SettingsLibAppPreference",
+        "SettingsLibSearchWidget",
     ],
 
     // ANDROIDMK TRANSLATION ERROR: unsupported assignment to LOCAL_SHARED_JAVA_LIBRARIES
diff --git a/packages/SettingsLib/AppPreference/Android.bp b/packages/SettingsLib/AppPreference/Android.bp
new file mode 100644
index 0000000..b56181d
--- /dev/null
+++ b/packages/SettingsLib/AppPreference/Android.bp
@@ -0,0 +1,13 @@
+android_library {
+    name: "SettingsLibAppPreference",
+
+    srcs: ["src/**/*.java"],
+    resource_dirs: ["res"],
+
+    libs: [
+        "androidx.annotation_annotation",
+        "androidx.preference_preference",
+    ],
+    sdk_version: "system_current",
+    min_sdk_version: "21",
+}
diff --git a/packages/SettingsLib/AppPreference/AndroidManifest.xml b/packages/SettingsLib/AppPreference/AndroidManifest.xml
new file mode 100644
index 0000000..7e71308
--- /dev/null
+++ b/packages/SettingsLib/AppPreference/AndroidManifest.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2018 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="com.android.settingslib.widget.apppreference">
+
+    <uses-sdk android:minSdkVersion="21" />
+
+</manifest>
diff --git a/packages/SettingsLib/AppPreference/res/layout/preference_app.xml b/packages/SettingsLib/AppPreference/res/layout/preference_app.xml
new file mode 100644
index 0000000..6d35550
--- /dev/null
+++ b/packages/SettingsLib/AppPreference/res/layout/preference_app.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2018 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.
+  -->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="?android:attr/selectableItemBackground"
+    android:gravity="center_vertical"
+    android:minHeight="?android:attr/listPreferredItemHeightSmall"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
+
+    <LinearLayout
+        android:id="@+id/icon_frame"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:gravity="start|center_vertical"
+        android:minWidth="56dp"
+        android:orientation="horizontal"
+        android:paddingEnd="8dp"
+        android:paddingTop="4dp"
+        android:paddingBottom="4dp">
+        <ImageView
+            android:id="@android:id/icon"
+            android:layout_width="@dimen/secondary_app_icon_size"
+            android:layout_height="@dimen/secondary_app_icon_size"/>
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        android:orientation="vertical"
+        android:paddingTop="16dp"
+        android:paddingBottom="16dp">
+
+        <TextView android:id="@android:id/title"
+                  android:layout_width="wrap_content"
+                  android:layout_height="wrap_content"
+                  android:singleLine="true"
+                  android:textAppearance="@android:style/TextAppearance.Material.Subhead"
+                  android:ellipsize="marquee"
+                  android:fadingEdge="horizontal"/>
+
+        <LinearLayout
+            android:id="@+id/summary_container"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:visibility="gone">
+            <TextView android:id="@android:id/summary"
+                      android:layout_width="0dp"
+                      android:layout_height="wrap_content"
+                      android:layout_weight="1"
+                      android:textAppearance="@android:style/TextAppearance.Material.Small"
+                      android:textAlignment="viewStart"
+                      android:textColor="?android:attr/textColorSecondary"/>
+
+            <TextView android:id="@+id/appendix"
+                      android:layout_width="0dp"
+                      android:layout_height="wrap_content"
+                      android:layout_weight="1"
+                      android:textAppearance="@android:style/TextAppearance.Material.Small"
+                      android:textAlignment="viewEnd"
+                      android:textColor="?android:attr/textColorSecondary"
+                      android:maxLines="1"
+                      android:ellipsize="end"/>
+        </LinearLayout>
+        <ProgressBar
+            android:id="@android:id/progress"
+            style="?android:attr/progressBarStyleHorizontal"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="4dp"
+            android:max="100"
+            android:visibility="gone"/>
+    </LinearLayout>
+
+    <LinearLayout
+        android:id="@android:id/widget_frame"
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent"
+        android:gravity="center"
+        android:minWidth="64dp"
+        android:orientation="vertical"/>
+
+</LinearLayout>
diff --git a/packages/SettingsLib/AppPreference/res/values/dimens.xml b/packages/SettingsLib/AppPreference/res/values/dimens.xml
new file mode 100644
index 0000000..e2a7a19
--- /dev/null
+++ b/packages/SettingsLib/AppPreference/res/values/dimens.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2018 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.
+  -->
+
+<resources>
+    <dimen name="secondary_app_icon_size">32dp</dimen>
+</resources>
\ No newline at end of file
diff --git a/packages/SettingsLib/AppPreference/src/com/android/settingslib/widget/apppreference/AppPreference.java b/packages/SettingsLib/AppPreference/src/com/android/settingslib/widget/apppreference/AppPreference.java
new file mode 100644
index 0000000..593b6f5
--- /dev/null
+++ b/packages/SettingsLib/AppPreference/src/com/android/settingslib/widget/apppreference/AppPreference.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.settingslib.widget.apppreference;
+
+import android.content.Context;
+import android.text.TextUtils;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.ProgressBar;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceViewHolder;
+
+public class AppPreference extends Preference {
+
+    private int mProgress;
+    private boolean mProgressVisible;
+
+    public AppPreference(Context context) {
+        super(context);
+        setLayoutResource(R.layout.preference_app);
+    }
+
+    public AppPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        setLayoutResource(R.layout.preference_app);
+    }
+
+    public void setProgress(int amount) {
+        mProgress = amount;
+        mProgressVisible = true;
+        notifyChanged();
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder view) {
+        super.onBindViewHolder(view);
+
+        view.findViewById(R.id.summary_container)
+                .setVisibility(TextUtils.isEmpty(getSummary()) ? View.GONE : View.VISIBLE);
+        final ProgressBar progress = (ProgressBar) view.findViewById(android.R.id.progress);
+        if (mProgressVisible) {
+            progress.setProgress(mProgress);
+            progress.setVisibility(View.VISIBLE);
+        } else {
+            progress.setVisibility(View.GONE);
+        }
+    }
+}
\ No newline at end of file
diff --git a/packages/SettingsLib/HelpUtils/res/values-ml/strings.xml b/packages/SettingsLib/HelpUtils/res/values-ml/strings.xml
index d2a7452..731257e 100644
--- a/packages/SettingsLib/HelpUtils/res/values-ml/strings.xml
+++ b/packages/SettingsLib/HelpUtils/res/values-ml/strings.xml
@@ -17,5 +17,5 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="help_feedback_label" msgid="4550436169116444686">"സഹായം &amp; ഫീഡ്‌ബാക്ക്"</string>
+    <string name="help_feedback_label" msgid="4550436169116444686">"സഹായവും ഫീഡ്‌ബാക്കും"</string>
 </resources>
diff --git a/packages/SettingsLib/HelpUtils/res/values-nl/strings.xml b/packages/SettingsLib/HelpUtils/res/values-nl/strings.xml
index a034d29..2f576e6 100644
--- a/packages/SettingsLib/HelpUtils/res/values-nl/strings.xml
+++ b/packages/SettingsLib/HelpUtils/res/values-nl/strings.xml
@@ -17,5 +17,5 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="help_feedback_label" msgid="4550436169116444686">"Help en feedback"</string>
+    <string name="help_feedback_label" msgid="4550436169116444686">"Hulp en feedback"</string>
 </resources>
diff --git a/packages/SettingsLib/HelpUtils/res/values/strings.xml b/packages/SettingsLib/HelpUtils/res/values/strings.xml
index ae07f5d..3e882bc 100644
--- a/packages/SettingsLib/HelpUtils/res/values/strings.xml
+++ b/packages/SettingsLib/HelpUtils/res/values/strings.xml
@@ -17,7 +17,7 @@
 
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
 
-    <!-- Label for Help and feedback menu item -->
+    <!-- Label for Help and feedback menu item [CHAR LIMIT=45]-->
     <string name="help_feedback_label">Help &amp; feedback</string>
 
 </resources>
\ No newline at end of file
diff --git a/packages/SettingsLib/RestrictedLockUtils/Android.bp b/packages/SettingsLib/RestrictedLockUtils/Android.bp
index d4c9794..b2f0882 100644
--- a/packages/SettingsLib/RestrictedLockUtils/Android.bp
+++ b/packages/SettingsLib/RestrictedLockUtils/Android.bp
@@ -2,6 +2,7 @@
     name: "SettingsLibRestrictedLockUtils",
 
     srcs: ["src/**/*.java"],
+    resource_dirs: ["res"],
 
     libs: [
         "androidx.annotation_annotation",
diff --git a/packages/SettingsLib/res/layout/restricted_icon.xml b/packages/SettingsLib/RestrictedLockUtils/res/layout/restricted_icon.xml
similarity index 76%
rename from packages/SettingsLib/res/layout/restricted_icon.xml
rename to packages/SettingsLib/RestrictedLockUtils/res/layout/restricted_icon.xml
index 724a524..0f02abd 100644
--- a/packages/SettingsLib/res/layout/restricted_icon.xml
+++ b/packages/SettingsLib/RestrictedLockUtils/res/layout/restricted_icon.xml
@@ -15,6 +15,7 @@
 -->
 <ImageView xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/restricted_icon"
-    android:layout_width="@dimen/restricted_icon_size"
-    android:layout_height="@dimen/restricted_icon_size"
-    android:src="@drawable/ic_info" />
\ No newline at end of file
+    android:layout_width="@*android:dimen/config_restricted_icon_size"
+    android:layout_height="@*android:dimen/config_restricted_icon_size"
+    android:tint="?android:attr/colorAccent"
+    android:src="@*android:drawable/ic_info" />
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-af/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-af/strings.xml
new file mode 100644
index 0000000..dced02c
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-af/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Geaktiveer deur administrateur"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Gedeaktiveer deur administrateur"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-am/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-am/strings.xml
new file mode 100644
index 0000000..d13be0c
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-am/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"በአስተዳዳሪ ነቅቷል"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"በአስተዳዳሪ ተሰናክሏል"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-ar/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-ar/strings.xml
new file mode 100644
index 0000000..15c0010
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-ar/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"فعَّل المشرف هذا الإعداد."</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"أوقف المشرف هذا الإعداد."</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-as/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-as/strings.xml
new file mode 100644
index 0000000..7a3b8e4
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-as/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"প্ৰশাসকে সক্ষম কৰিছে"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"প্ৰশাসকে অক্ষম কৰিছে"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-az/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-az/strings.xml
new file mode 100644
index 0000000..d1434bd
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-az/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Admin tərəfindən aktiv edildi"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Admin tərəfindən deaktiv edildi"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-b+sr+Latn/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-b+sr+Latn/strings.xml
new file mode 100644
index 0000000..ee61192
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-b+sr+Latn/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Administrator je omogućio"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Administrator je onemogućio"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-be/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-be/strings.xml
new file mode 100644
index 0000000..2d13d45
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-be/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Уключана адміністратарам"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Адключана адміністратарам"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-bg/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-bg/strings.xml
new file mode 100644
index 0000000..361910c
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-bg/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Активирано от администратора"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Деактивирано от администратора"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-bn/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-bn/strings.xml
new file mode 100644
index 0000000..7609166
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-bn/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"অ্যাডমিন চালু করেছেন"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"অ্যাডমিন বন্ধ করেছেন"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-bs/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-bs/strings.xml
new file mode 100644
index 0000000..9704095
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-bs/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Omogućio administrator"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Onemogućio administrator"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-ca/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-ca/strings.xml
new file mode 100644
index 0000000..5569664
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-ca/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Activat per l\'administrador"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Desactivat per l\'administrador"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-cs/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-cs/strings.xml
new file mode 100644
index 0000000..f8120aa
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-cs/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Zapnuto administrátorem"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Vypnuto administrátorem"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-da/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-da/strings.xml
new file mode 100644
index 0000000..d75f27b
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-da/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Aktiveret af administratoren"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Deaktiveret af administratoren"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-de/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-de/strings.xml
new file mode 100644
index 0000000..3ef46d9
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-de/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Vom Administrator aktiviert"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Vom Administrator deaktiviert"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-el/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-el/strings.xml
new file mode 100644
index 0000000..643686e
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-el/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Ενεργοποιήθηκε από τον διαχειριστή"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Απενεργοποιήθηκε από τον διαχειριστή"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-en-rAU/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-en-rAU/strings.xml
new file mode 100644
index 0000000..69c0bc3
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-en-rAU/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Enabled by admin"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Disabled by admin"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-en-rCA/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-en-rCA/strings.xml
new file mode 100644
index 0000000..69c0bc3
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-en-rCA/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Enabled by admin"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Disabled by admin"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-en-rGB/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-en-rGB/strings.xml
new file mode 100644
index 0000000..69c0bc3
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-en-rGB/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Enabled by admin"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Disabled by admin"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-en-rIN/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-en-rIN/strings.xml
new file mode 100644
index 0000000..69c0bc3
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-en-rIN/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Enabled by admin"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Disabled by admin"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-en-rXC/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-en-rXC/strings.xml
new file mode 100644
index 0000000..f329a76
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-en-rXC/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‎‏‎‎‏‏‎‏‎‏‏‏‎‎‏‎‏‎‏‎‏‎‎‏‏‏‏‏‏‎‏‏‎‎‎‎‎‏‎‎‎‎‎‏‏‏‎‏‎‎‎‎‎Enabled by admin‎‏‎‎‏‎"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‏‎‎‎‎‏‎‎‏‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‏‎‎‎‎‏‎‎‎‎‏‎‎‎‏‏‎‎‎‏‎‎‎‎‏‎Disabled by admin‎‏‎‎‏‎"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-es-rUS/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-es-rUS/strings.xml
new file mode 100644
index 0000000..451ea35
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-es-rUS/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"El administrador habilitó la opción"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"El administrador inhabilitó la opción"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-es/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-es/strings.xml
new file mode 100644
index 0000000..3407d13
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-es/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Habilitada por el administrador"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Inhabilitada por el administrador"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-et/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-et/strings.xml
new file mode 100644
index 0000000..98bad62
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-et/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Administraatori lubatud"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Administraatori keelatud"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-eu/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-eu/strings.xml
new file mode 100644
index 0000000..1641a31
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-eu/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Administratzaileak gaitu egin du"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Administratzaileak desgaitu egin du"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-fa/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-fa/strings.xml
new file mode 100644
index 0000000..f4c8334
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-fa/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"فعال‌شده توسط سرپرست"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"غیرفعال‌شده توسط سرپرست"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-fi/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-fi/strings.xml
new file mode 100644
index 0000000..dd62c1a
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-fi/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Järjestelmänvalvojan sallima"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Järjestelmänvalvojan estämä"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-fr-rCA/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-fr-rCA/strings.xml
new file mode 100644
index 0000000..85ec907
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-fr-rCA/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Activé par l\'administrateur"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Désactivé par l\'administrateur"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-fr/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-fr/strings.xml
new file mode 100644
index 0000000..85ec907
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-fr/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Activé par l\'administrateur"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Désactivé par l\'administrateur"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-gl/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-gl/strings.xml
new file mode 100644
index 0000000..0d67cc2
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-gl/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Opción activada polo administrador"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Opción desactivada polo administrador"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-gu/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-gu/strings.xml
new file mode 100644
index 0000000..076c1be
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-gu/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"વ્યવસ્થાપકે ચાલુ કરેલ"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"વ્યવસ્થાપકે બંધ કરેલ"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-hi/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-hi/strings.xml
new file mode 100644
index 0000000..75d103f
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-hi/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"एडमिन की ओर से चालू किया गया"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"एडमिन की ओर से बंद किया गया"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-hr/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-hr/strings.xml
new file mode 100644
index 0000000..9704095
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-hr/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Omogućio administrator"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Onemogućio administrator"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-hu/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-hu/strings.xml
new file mode 100644
index 0000000..be1cb97
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-hu/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"A rendszergazda bekapcsolta"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"A rendszergazda kikapcsolta"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-hy/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-hy/strings.xml
new file mode 100644
index 0000000..78dab28
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-hy/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Միացված է ադմինիստրատորի կողմից"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Անջատվել է ադմինիստրատորի կողմից"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-in/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-in/strings.xml
new file mode 100644
index 0000000..824ddde
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-in/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Diaktifkan oleh admin"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Dinonaktifkan oleh admin"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-is/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-is/strings.xml
new file mode 100644
index 0000000..0707a67
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-is/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Gert virkt af kerfisstjóra"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Gert óvirkt af kerfisstjóra"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-it/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-it/strings.xml
new file mode 100644
index 0000000..084a47b
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-it/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Attivata dall\'amministratore"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Disattivata dall\'amministratore"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-iw/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-iw/strings.xml
new file mode 100644
index 0000000..fca5986
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-iw/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"מופעל על ידי מנהל המכשיר"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"הושבת על ידי מנהל המכשיר"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-ja/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-ja/strings.xml
new file mode 100644
index 0000000..1c077b6
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-ja/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"管理者が有効にしました"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"管理者が無効にしました"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-ka/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-ka/strings.xml
new file mode 100644
index 0000000..9ecf6b3
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-ka/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"ჩართულია ადმინისტრატორის მიერ"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"გათიშულია ადმინისტრატორის მიერ"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-kk/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-kk/strings.xml
new file mode 100644
index 0000000..552e02e
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-kk/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Әкімші қосқан"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Әкімші өшірген"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-km/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-km/strings.xml
new file mode 100644
index 0000000..aff5d30
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-km/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"បើកដោយ​អ្នកគ្រប់គ្រង"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"បិទដោយអ្នកគ្រប់គ្រង"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-kn/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-kn/strings.xml
new file mode 100644
index 0000000..99bd4d5
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-kn/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"ನಿರ್ವಾಹಕರು ಸಕ್ರಿಯಗೊಳಿಸಿದ್ದಾರೆ"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"ನಿರ್ವಾಹಕರು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದ್ದಾರೆ"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-ko/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-ko/strings.xml
new file mode 100644
index 0000000..d7b0b44
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-ko/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"관리자가 사용 설정함"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"관리자가 사용 중지함"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-ky/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-ky/strings.xml
new file mode 100644
index 0000000..df3b559
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-ky/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Администратор иштетип койгон"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Администратор өчүрүп койгон"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-lo/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-lo/strings.xml
new file mode 100644
index 0000000..fca6d1b
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-lo/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"ເປີດນຳໃຊ້ໂດຍຜູ້ເບິ່ງແຍງລະບົບ"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"ຖືກຜູ້ເບິ່ງແຍງລະບົບປິດໄວ້"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-lt/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-lt/strings.xml
new file mode 100644
index 0000000..0bd27bc7
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-lt/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Įgalino administratorius"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Išjungė administratorius"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-lv/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-lv/strings.xml
new file mode 100644
index 0000000..9c5f693
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-lv/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Iespējoja administrators"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Atspējoja administrators"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-mk/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-mk/strings.xml
new file mode 100644
index 0000000..b0fb0a8
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-mk/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Овозможено од администраторот"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Оневозможено од администраторот"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-ml/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-ml/strings.xml
new file mode 100644
index 0000000..dd9c229
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-ml/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"അഡ്‌മിൻ പ്രവർത്തനക്ഷമമാക്കി"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"അഡ്‌മിൻ പ്രവർത്തനരഹിതമാക്കി"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-mn/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-mn/strings.xml
new file mode 100644
index 0000000..d32c2ca
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-mn/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Админ идэвхжүүлсэн"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Админ цуцалсан"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-mr/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-mr/strings.xml
new file mode 100644
index 0000000..06fdf6f
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-mr/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"प्रशासकाने सुरू केलेले"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"प्रशासकाने बंद केलेले"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-ms/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-ms/strings.xml
new file mode 100644
index 0000000..aabfb7c
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-ms/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Didayakan oleh pentadbir"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Dilumpuhkan oleh pentadbir"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-my/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-my/strings.xml
new file mode 100644
index 0000000..daa4614
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-my/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"စီမံခန့်ခွဲသူက ဖွင့်ထားသည်"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"စီမံခန့်ခွဲသူက ပိတ်ထားသည်"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-nb/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-nb/strings.xml
new file mode 100644
index 0000000..becbb91
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-nb/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Aktivert av administratoren"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Deaktivert av administratoren"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-ne/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-ne/strings.xml
new file mode 100644
index 0000000..63ef646
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-ne/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"प्रशासकद्वारा सक्षम पारिएको"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"प्रशासकद्वारा असक्षम पारिएको"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-nl/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-nl/strings.xml
new file mode 100644
index 0000000..5d7a85e
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-nl/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Ingeschakeld door beheerder"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Uitgeschakeld door beheerder"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-or/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-or/strings.xml
new file mode 100644
index 0000000..fee0d39
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-or/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"ବ୍ୟବସ୍ଥାପକଙ୍କ ଦ୍ୱାରା ସକ୍ଷମ କରାଯାଇଛି"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"ବ୍ୟବସ୍ଥାପକଙ୍କ ଦ୍ଵାରା ଅକ୍ଷମ କରାଯାଇଛି"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-pa/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-pa/strings.xml
new file mode 100644
index 0000000..2765cabd
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-pa/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਚਾਲੂ ਕੀਤਾ ਗਿਆ"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਬੰਦ ਕੀਤਾ ਗਿਆ"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-pl/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-pl/strings.xml
new file mode 100644
index 0000000..d9e06b6
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-pl/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Włączone przez administratora"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Wyłączone przez administratora"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-pt-rBR/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-pt-rBR/strings.xml
new file mode 100644
index 0000000..1ad4b6b
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-pt-rBR/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Ativado pelo administrador"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Desativado pelo administrador"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-pt-rPT/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-pt-rPT/strings.xml
new file mode 100644
index 0000000..f86a73f
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-pt-rPT/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Ativada pelo administrador"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Desativada pelo administrador"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-pt/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-pt/strings.xml
new file mode 100644
index 0000000..1ad4b6b
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-pt/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Ativado pelo administrador"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Desativado pelo administrador"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-ro/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-ro/strings.xml
new file mode 100644
index 0000000..ff8c2aa
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-ro/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Activat de administrator"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Dezactivat de administrator"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-ru/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-ru/strings.xml
new file mode 100644
index 0000000..d4dfb1c
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-ru/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Включено администратором"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Отключено администратором"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-si/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-si/strings.xml
new file mode 100644
index 0000000..7c8520b
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-si/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"පරිපාලක විසින් සබල කර ඇත"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"ඔබගේ පරිපාලක විසින් අබල කර ඇත"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-sk/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-sk/strings.xml
new file mode 100644
index 0000000..7a9c1cc
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-sk/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Povolené správcom"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Zakázané správcom"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-sl/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-sl/strings.xml
new file mode 100644
index 0000000..4926641
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-sl/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Omogočil skrbnik"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Onemogočil skrbnik"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-sq/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-sq/strings.xml
new file mode 100644
index 0000000..5f9dc59
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-sq/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Aktivizuar nga administratori"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Çaktivizuar nga administratori"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-sr/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-sr/strings.xml
new file mode 100644
index 0000000..2d1ac54
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-sr/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Администратор је омогућио"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Администратор је онемогућио"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-sv/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-sv/strings.xml
new file mode 100644
index 0000000..6af3776
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-sv/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Aktiverad av administratör"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Inaktiverad av administratören"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-sw/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-sw/strings.xml
new file mode 100644
index 0000000..08526f8
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-sw/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Imewashwa na msimamizi"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Imezimwa na msimamizi"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-ta/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-ta/strings.xml
new file mode 100644
index 0000000..405fb7c
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-ta/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"நிர்வாகி இயக்கியுள்ளார்"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"நிர்வாகி முடக்கியுள்ளார்"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-te/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-te/strings.xml
new file mode 100644
index 0000000..462f02e
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-te/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"నిర్వాహకులు ప్రారంభించారు"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"నిర్వాహకులు నిలిపివేసారు"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-th/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-th/strings.xml
new file mode 100644
index 0000000..e654ba1
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-th/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"เปิดใช้โดยผู้ดูแลระบบ"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"ปิดใช้โดยผู้ดูแลระบบ"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-tl/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-tl/strings.xml
new file mode 100644
index 0000000..f80cefa
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-tl/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Na-enable ng admin"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Na-disable ng admin"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-tr/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-tr/strings.xml
new file mode 100644
index 0000000..9dd4713
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-tr/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Yönetici tarafından etkinleştirildi"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Yönetici tarafından devre dışı bırakıldı"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-uk/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-uk/strings.xml
new file mode 100644
index 0000000..5096921
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-uk/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Увімкнено адміністратором"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Вимкнено адміністратором"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-ur/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-ur/strings.xml
new file mode 100644
index 0000000..7e70936
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-ur/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"منتظم کی طرف سے فعال کردہ"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"منتظم کی طرف سے غیر فعال کردہ"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-uz/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-uz/strings.xml
new file mode 100644
index 0000000..a402af6
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-uz/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Administrator tomonidan yoqilgan"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Administrator tomonidan faolsizlantirilgan"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-vi/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-vi/strings.xml
new file mode 100644
index 0000000..dd993df
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-vi/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Do quản trị viên bật"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Bị quản trị viên tắt"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-zh-rCN/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-zh-rCN/strings.xml
new file mode 100644
index 0000000..2aab9ac
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-zh-rCN/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"已被管理员启用"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"已被管理员停用"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-zh-rHK/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-zh-rHK/strings.xml
new file mode 100644
index 0000000..cb3163a
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-zh-rHK/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"已由管理員啟用"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"已由管理員停用"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-zh-rTW/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-zh-rTW/strings.xml
new file mode 100644
index 0000000..cb3163a
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-zh-rTW/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"已由管理員啟用"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"已由管理員停用"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-zu/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-zu/strings.xml
new file mode 100644
index 0000000..313c9eb
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-zu/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright (C) 2018 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="enabled_by_admin" msgid="7797093432952898000">"Kunikwe amandla umlawuli"</string>
+    <string name="disabled_by_admin" msgid="1910810467107358241">"Kukhutshazwe umlawuli"</string>
+</resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values/strings.xml
new file mode 100644
index 0000000..7e4460b
--- /dev/null
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2018 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.
+  -->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+    <!-- Summary for switch preference to denote it is switched on [CHAR LIMIT=50] -->
+    <string name="enabled_by_admin">Enabled by admin</string>
+    <!-- Summary for switch preference to denote it is switched off [CHAR LIMIT=50] -->
+    <string name="disabled_by_admin">Disabled by admin</string>
+
+</resources>
\ No newline at end of file
diff --git a/packages/SettingsLib/SearchWidget/Android.bp b/packages/SettingsLib/SearchWidget/Android.bp
new file mode 100644
index 0000000..7541ca45
--- /dev/null
+++ b/packages/SettingsLib/SearchWidget/Android.bp
@@ -0,0 +1,8 @@
+android_library {
+    name: "SettingsLibSearchWidget",
+
+    srcs: ["src/**/*.java"],
+    resource_dirs: ["res"],
+    sdk_version: "system_current",
+    min_sdk_version: "21",
+}
diff --git a/packages/SettingsLib/SearchWidget/AndroidManifest.xml b/packages/SettingsLib/SearchWidget/AndroidManifest.xml
new file mode 100644
index 0000000..b86544e
--- /dev/null
+++ b/packages/SettingsLib/SearchWidget/AndroidManifest.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2018 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="com.android.settingslib.search">
+
+    <uses-sdk android:minSdkVersion="21" />
+
+</manifest>
diff --git a/packages/SettingsLib/SearchWidget/res/drawable/ic_search_24dp.xml b/packages/SettingsLib/SearchWidget/res/drawable/ic_search_24dp.xml
new file mode 100644
index 0000000..7e65848
--- /dev/null
+++ b/packages/SettingsLib/SearchWidget/res/drawable/ic_search_24dp.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2018 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.
+  -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24"
+        android:viewportHeight="24"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M20.49,19l-5.73,-5.73C15.53,12.2 16,10.91 16,9.5C16,5.91 13.09,3 9.5,3S3,5.91 3,9.5C3,13.09 5.91,16 9.5,16c1.41,0 2.7,-0.47 3.77,-1.24L19,20.49L20.49,19zM5,9.5C5,7.01 7.01,5 9.5,5S14,7.01 14,9.5S11.99,14 9.5,14S5,11.99 5,9.5z"/>
+</vector>
diff --git a/packages/SettingsLib/SearchWidget/res/values/strings.xml b/packages/SettingsLib/SearchWidget/res/values/strings.xml
new file mode 100644
index 0000000..0b12810
--- /dev/null
+++ b/packages/SettingsLib/SearchWidget/res/values/strings.xml
@@ -0,0 +1,20 @@
+<!--
+  Copyright (C) 2018 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.
+  -->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- Text used as a search hint into the search box [CHAR_LIMIT=60]-->
+    <string name="search_menu">Search settings</string>
+</resources>
diff --git a/packages/SettingsLib/res/layout/restricted_switch_widget.xml b/packages/SettingsLib/res/layout/restricted_switch_widget.xml
index b286df0..e1f6cdf 100644
--- a/packages/SettingsLib/res/layout/restricted_switch_widget.xml
+++ b/packages/SettingsLib/res/layout/restricted_switch_widget.xml
@@ -16,9 +16,10 @@
 <merge xmlns:android="http://schemas.android.com/apk/res/android">
     <ImageView xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@+id/restricted_icon"
-        android:layout_width="@dimen/restricted_icon_size"
-        android:layout_height="@dimen/restricted_icon_size"
-        android:src="@drawable/ic_info"
+        android:layout_width="@*android:dimen/config_restricted_icon_size"
+        android:layout_height="@*android:dimen/config_restricted_icon_size"
+        android:tint="?android:attr/colorAccent"
+        android:src="@*android:drawable/ic_info"
         android:gravity="end|center_vertical" />
     <!-- Based off frameworks/base/core/res/res/layout/preference_widget_switch.xml -->
     <Switch xmlns:android="http://schemas.android.com/apk/res/android"
@@ -28,4 +29,4 @@
         android:focusable="false"
         android:clickable="false"
         android:background="@null" />
-</merge>
\ No newline at end of file
+</merge>
diff --git a/packages/SettingsLib/res/values-af/strings.xml b/packages/SettingsLib/res/values-af/strings.xml
index aa96444..b77d4e5 100644
--- a/packages/SettingsLib/res/values-af/strings.xml
+++ b/packages/SettingsLib/res/values-af/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Ingeprop; kan nie op die oomblik laai nie"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Vol"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Beheer deur administrateur"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Geaktiveer deur administrateur"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Gedeaktiveer deur administrateur"</string>
     <string name="disabled" msgid="9206776641295849915">"Gedeaktiveer"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Toegelaat"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Nie toegelaat nie"</string>
diff --git a/packages/SettingsLib/res/values-am/strings.xml b/packages/SettingsLib/res/values-am/strings.xml
index 452206c..836ec80 100644
--- a/packages/SettingsLib/res/values-am/strings.xml
+++ b/packages/SettingsLib/res/values-am/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"ተሰክቷል፣ አሁን ኃይል መሙላት አይቻልም"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"ሙሉነው"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"በአስተዳዳሪ ቁጥጥር የተደረገበት"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"በአስተዳዳሪ ነቅቷል"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"በአስተዳዳሪ ተሰናክሏል"</string>
     <string name="disabled" msgid="9206776641295849915">"ቦዝኗል"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"ይፈቀዳል"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"አይፈቀድም"</string>
diff --git a/packages/SettingsLib/res/values-ar/strings.xml b/packages/SettingsLib/res/values-ar/strings.xml
index e67e1ec..5c11db1 100644
--- a/packages/SettingsLib/res/values-ar/strings.xml
+++ b/packages/SettingsLib/res/values-ar/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"تم التوصيل، ولكن يتعذّر الشحن الآن"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"ممتلئة"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"إعدادات يتحكم فيها المشرف"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"تم تفعيل الإعداد بواسطة المشرف"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"تم إيقاف الإعداد بواسطة المشرف"</string>
     <string name="disabled" msgid="9206776641295849915">"غير مفعّل"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"مسموح به"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"غير مسموح به"</string>
diff --git a/packages/SettingsLib/res/values-as/strings.xml b/packages/SettingsLib/res/values-as/strings.xml
index 7311661..ddd17daf 100644
--- a/packages/SettingsLib/res/values-as/strings.xml
+++ b/packages/SettingsLib/res/values-as/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"প্লাগ কৰি থোৱা হৈছে, এই মুহূৰ্তত চ্চাৰ্জ কৰিব নোৱাৰি"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"পূৰ্ণ"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"এডমিনৰ দ্বাৰা নিয়ন্ত্ৰিত"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"প্ৰশাসকে সক্ষম কৰিছে"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"এডমিনে অক্ষম কৰিছে ৰাখিছে"</string>
     <string name="disabled" msgid="9206776641295849915">"নিষ্ক্ৰিয়"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"অনুমতি দিয়া হৈছে"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"অনুমতি দিয়া হোৱা নাই"</string>
diff --git a/packages/SettingsLib/res/values-az/strings.xml b/packages/SettingsLib/res/values-az/strings.xml
index 750bf5d..a6e484f 100644
--- a/packages/SettingsLib/res/values-az/strings.xml
+++ b/packages/SettingsLib/res/values-az/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Cihaz hazırda batareya yığa bilmir"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Tam"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Admin tərəfindən nəzarət olunur"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Admin tərəfindən aktiv edildi"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Admin tərəfindən deaktiv edildi"</string>
     <string name="disabled" msgid="9206776641295849915">"Deaktiv"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"İcazə verilib"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"İcazə verilməyib"</string>
diff --git a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
index cd8096c..a446845 100644
--- a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
+++ b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Priključeno je, ali punjenje trenutno nije moguće"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Puna"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Kontroliše administrator"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Omogućio je administrator"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Administrator je onemogućio"</string>
     <string name="disabled" msgid="9206776641295849915">"Onemogućeno"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Dozvoljeno"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Nije dozvoljeno"</string>
diff --git a/packages/SettingsLib/res/values-be/strings.xml b/packages/SettingsLib/res/values-be/strings.xml
index 072913a..d56db13 100644
--- a/packages/SettingsLib/res/values-be/strings.xml
+++ b/packages/SettingsLib/res/values-be/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Падключана да сеткі сілкавання, зарадзіць зараз немагчыма"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Поўная"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Кантралюецца адміністратарам"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Уключана адміністратарам"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Адключана адміністратарам"</string>
     <string name="disabled" msgid="9206776641295849915">"Адключанае"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Дазволена"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Забаронена"</string>
diff --git a/packages/SettingsLib/res/values-bg/strings.xml b/packages/SettingsLib/res/values-bg/strings.xml
index a5ce523..c1bc31c 100644
--- a/packages/SettingsLib/res/values-bg/strings.xml
+++ b/packages/SettingsLib/res/values-bg/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Включена в захранването, в момента не се зарежда"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Пълна"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Контролира се от администратор"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Активирано от администратора"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Деактивирано от администратора"</string>
     <string name="disabled" msgid="9206776641295849915">"Деактивирано"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Има разрешение"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Няма разрешение"</string>
diff --git a/packages/SettingsLib/res/values-bn/strings.xml b/packages/SettingsLib/res/values-bn/strings.xml
index c053771..1550c00 100644
--- a/packages/SettingsLib/res/values-bn/strings.xml
+++ b/packages/SettingsLib/res/values-bn/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"প্লাগ-ইন করা হয়েছে কিন্তু এখনই চার্জ করা যাবে না"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"পূর্ণ"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"প্রশাসকের দ্বারা নিয়ন্ত্রিত"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"প্রশাসক দ্বারা সক্ষম করা হয়েছে"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"প্রশাসক দ্বারা অক্ষম করা হয়েছে"</string>
     <string name="disabled" msgid="9206776641295849915">"অক্ষম হয়েছে"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"অনুমোদিত"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"অনুমোদিত নয়"</string>
diff --git a/packages/SettingsLib/res/values-bs/strings.xml b/packages/SettingsLib/res/values-bs/strings.xml
index 764bc19..460e7cf 100644
--- a/packages/SettingsLib/res/values-bs/strings.xml
+++ b/packages/SettingsLib/res/values-bs/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Priključen, trenutno se ne može puniti"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Puna"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Pod kontrolom administratora"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Omogućio administrator"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Onemogućio administrator"</string>
     <string name="disabled" msgid="9206776641295849915">"Onemogućeno"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Dozvoljeno"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Nije dozvoljeno"</string>
diff --git a/packages/SettingsLib/res/values-ca/strings.xml b/packages/SettingsLib/res/values-ca/strings.xml
index 8309c41a..72dd8cf 100644
--- a/packages/SettingsLib/res/values-ca/strings.xml
+++ b/packages/SettingsLib/res/values-ca/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"El dispositiu està endollat però en aquests moments no es pot carregar"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Plena"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlat per l\'administrador"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Activada per l\'administrador"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Desactivada per l\'administrador"</string>
     <string name="disabled" msgid="9206776641295849915">"Desactivat"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Amb permís"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Sense permís"</string>
diff --git a/packages/SettingsLib/res/values-cs/strings.xml b/packages/SettingsLib/res/values-cs/strings.xml
index bd8bc2b..de02245 100644
--- a/packages/SettingsLib/res/values-cs/strings.xml
+++ b/packages/SettingsLib/res/values-cs/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Zapojeno, ale nelze nabíjet"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Nabitá"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Spravováno administrátorem"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Zapnuto administrátorem"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Zakázáno administrátorem"</string>
     <string name="disabled" msgid="9206776641295849915">"Deaktivováno"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Povoleno"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Není povoleno"</string>
diff --git a/packages/SettingsLib/res/values-da/strings.xml b/packages/SettingsLib/res/values-da/strings.xml
index ab81346..34608d3 100644
--- a/packages/SettingsLib/res/values-da/strings.xml
+++ b/packages/SettingsLib/res/values-da/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Enheden er tilsluttet en strømkilde. Det er ikke muligt at oplade på nuværende tidspunkt."</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Fuldt"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Kontrolleret af administratoren"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Aktiveret af administratoren"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Deaktiveret af administratoren"</string>
     <string name="disabled" msgid="9206776641295849915">"Deaktiveret"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Tilladt"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Ikke tilladt"</string>
diff --git a/packages/SettingsLib/res/values-de/strings.xml b/packages/SettingsLib/res/values-de/strings.xml
index 2432a10..79965d2 100644
--- a/packages/SettingsLib/res/values-de/strings.xml
+++ b/packages/SettingsLib/res/values-de/strings.xml
@@ -348,7 +348,7 @@
     <string name="runningservices_settings_summary" msgid="854608995821032748">"Momentan ausgeführte Dienste anzeigen und steuern"</string>
     <string name="select_webview_provider_title" msgid="4628592979751918907">"WebView-Implementierung"</string>
     <string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"WebView-Implementierung festlegen"</string>
-    <string name="select_webview_provider_toast_text" msgid="5466970498308266359">"Diese Auswahl ist nicht mehr gültig. Versuche es erneut."</string>
+    <string name="select_webview_provider_toast_text" msgid="5466970498308266359">"Diese Auswahl ist nicht mehr gültig. Bitte versuche es noch einmal."</string>
     <string name="convert_to_file_encryption" msgid="3060156730651061223">"Zu Dateiverschlüsselung wechseln"</string>
     <string name="convert_to_file_encryption_enabled" msgid="2861258671151428346">"Wechseln…"</string>
     <string name="convert_to_file_encryption_done" msgid="7859766358000523953">"Dateiverschlüsselung wird bereits verwendet."</string>
@@ -379,12 +379,12 @@
     <string name="power_remaining_less_than_duration" msgid="5751885147712659423">"Weniger als <xliff:g id="THRESHOLD">%1$s</xliff:g> verbleibend (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_more_than_subtext" msgid="3176771815132876675">"Mehr als <xliff:g id="TIME_REMAINING">%1$s</xliff:g> verbleibend (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_only_more_than_subtext" msgid="8931654680569617380">"Mehr als <xliff:g id="TIME_REMAINING">%1$s</xliff:g> verbleibend"</string>
-    <string name="power_remaining_duration_only_shutdown_imminent" product="default" msgid="1181059207608751924">"Smartphone wird möglicherweise bald ausgeschaltet"</string>
-    <string name="power_remaining_duration_only_shutdown_imminent" product="tablet" msgid="2606370266981054691">"Tablet wird möglicherweise bald ausgeschaltet"</string>
-    <string name="power_remaining_duration_only_shutdown_imminent" product="device" msgid="2918084807716859985">"Gerät wird möglicherweise bald ausgeschaltet"</string>
-    <string name="power_remaining_duration_shutdown_imminent" product="default" msgid="3090926004324573908">"Smartphone wird möglicherweise bald ausgeschaltet (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_shutdown_imminent" product="tablet" msgid="7466484148515796216">"Tablet wird möglicherweise bald ausgeschaltet (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_shutdown_imminent" product="device" msgid="603933521600231649">"Gerät wird möglicherweise bald ausgeschaltet (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
+    <string name="power_remaining_duration_only_shutdown_imminent" product="default" msgid="1181059207608751924">"Smartphone wird eventuell bald ausgeschaltet"</string>
+    <string name="power_remaining_duration_only_shutdown_imminent" product="tablet" msgid="2606370266981054691">"Tablet wird eventuell bald ausgeschaltet"</string>
+    <string name="power_remaining_duration_only_shutdown_imminent" product="device" msgid="2918084807716859985">"Gerät wird eventuell bald ausgeschaltet"</string>
+    <string name="power_remaining_duration_shutdown_imminent" product="default" msgid="3090926004324573908">"Smartphone wird eventuell bald ausgeschaltet (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
+    <string name="power_remaining_duration_shutdown_imminent" product="tablet" msgid="7466484148515796216">"Tablet wird eventuell bald ausgeschaltet (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
+    <string name="power_remaining_duration_shutdown_imminent" product="device" msgid="603933521600231649">"Gerät wird eventuell bald ausgeschaltet (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
     <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string>
     <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> bis zur vollständigen Aufladung"</string>
     <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> bis vollständig geladen"</string>
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Angeschlossen, kann derzeit nicht geladen werden"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Voll"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Durch den Administrator verwaltet"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Vom Administrator aktiviert"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Vom Administrator deaktiviert"</string>
     <string name="disabled" msgid="9206776641295849915">"Deaktiviert"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Zulässig"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Nicht zulässig"</string>
diff --git a/packages/SettingsLib/res/values-el/strings.xml b/packages/SettingsLib/res/values-el/strings.xml
index 6f2889c..b9ea843 100644
--- a/packages/SettingsLib/res/values-el/strings.xml
+++ b/packages/SettingsLib/res/values-el/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Συνδέθηκε, δεν είναι δυνατή η φόρτιση αυτήν τη στιγμή"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Πλήρης"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Ελέγχονται από το διαχειριστή"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Ενεργοποιήθηκε από τον διαχειριστή"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Απενεργοποιήθηκε από τον διαχειριστή"</string>
     <string name="disabled" msgid="9206776641295849915">"Απενεργοποιημένο"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Επιτρέπεται"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Δεν επιτρέπεται"</string>
diff --git a/packages/SettingsLib/res/values-en-rAU/strings.xml b/packages/SettingsLib/res/values-en-rAU/strings.xml
index 154aa7d9..1a7d7c5 100644
--- a/packages/SettingsLib/res/values-en-rAU/strings.xml
+++ b/packages/SettingsLib/res/values-en-rAU/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Plugged in, can\'t charge right now"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Full"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlled by admin"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Enabled by admin"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Disabled by admin"</string>
     <string name="disabled" msgid="9206776641295849915">"Disabled"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Allowed"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Not allowed"</string>
diff --git a/packages/SettingsLib/res/values-en-rCA/strings.xml b/packages/SettingsLib/res/values-en-rCA/strings.xml
index 154aa7d9..1a7d7c5 100644
--- a/packages/SettingsLib/res/values-en-rCA/strings.xml
+++ b/packages/SettingsLib/res/values-en-rCA/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Plugged in, can\'t charge right now"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Full"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlled by admin"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Enabled by admin"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Disabled by admin"</string>
     <string name="disabled" msgid="9206776641295849915">"Disabled"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Allowed"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Not allowed"</string>
diff --git a/packages/SettingsLib/res/values-en-rGB/strings.xml b/packages/SettingsLib/res/values-en-rGB/strings.xml
index 154aa7d9..1a7d7c5 100644
--- a/packages/SettingsLib/res/values-en-rGB/strings.xml
+++ b/packages/SettingsLib/res/values-en-rGB/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Plugged in, can\'t charge right now"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Full"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlled by admin"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Enabled by admin"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Disabled by admin"</string>
     <string name="disabled" msgid="9206776641295849915">"Disabled"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Allowed"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Not allowed"</string>
diff --git a/packages/SettingsLib/res/values-en-rIN/strings.xml b/packages/SettingsLib/res/values-en-rIN/strings.xml
index 154aa7d9..1a7d7c5 100644
--- a/packages/SettingsLib/res/values-en-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-en-rIN/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Plugged in, can\'t charge right now"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Full"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlled by admin"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Enabled by admin"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Disabled by admin"</string>
     <string name="disabled" msgid="9206776641295849915">"Disabled"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Allowed"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Not allowed"</string>
diff --git a/packages/SettingsLib/res/values-en-rXC/strings.xml b/packages/SettingsLib/res/values-en-rXC/strings.xml
index e9746c0..2bfd5b1 100644
--- a/packages/SettingsLib/res/values-en-rXC/strings.xml
+++ b/packages/SettingsLib/res/values-en-rXC/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‏‎‎‏‎‏‏‎‎‎‏‏‏‏‏‏‎‎‏‏‏‏‎‎‎‎‎‏‎‎‎‎‏‏‏‏‏‎‎‎‏‎‏‏‏‎‏‏‎‎‏‏‎Plugged in, can\'t charge right now‎‏‎‎‏‎"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‎‏‏‎‎‏‏‎‎‎‎‏‏‎‎‎‎‏‎‎‏‏‏‎‎‏‏‎‏‏‏‎‎‏‏‏‏‎‏‎‏‏‎‏‎‏‏‎‎‎‏‏‎‎‎‎Full‎‏‎‎‏‎"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‎‏‏‏‎‏‎‏‎‎‏‎‎‏‎‏‎‏‏‏‏‎‏‏‏‎‎‎‏‏‎‏‎‏‏‎‎‏‏‎‎‏‏‏‎‎‎‎‏‏‎‎‏‎Controlled by admin‎‏‎‎‏‎"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‏‎‎‏‎‏‎‎‎‎‏‎‎‎‎‎‎‎‏‏‏‎‎‏‎‎‎‎‏‏‏‏‏‎Enabled by admin‎‏‎‎‏‎"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‏‎‎‏‎‎‏‏‏‏‏‏‎‏‎‎‎‏‏‏‎‎‏‎‎‎‏‎‏‎‎‎‏‏‎‏‎‏‏‏‎‏‏‎‏‏‏‎‏‏‎‎‎Disabled by admin‎‏‎‎‏‎"</string>
     <string name="disabled" msgid="9206776641295849915">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‎‎‎‏‎‏‎‏‎‎‏‎‎‏‏‎‏‎‏‏‏‏‎‏‏‎‎‏‏‎‏‏‎‎‏‏‎‎‏‏‎‏‏‏‎‏‏‎Disabled‎‏‎‎‏‎"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‏‎‎‏‎‏‎‎‏‎‏‏‏‏‎‎‎‏‎‎‎‎‎‏‏‏‎‎‎‎‏‎‎‏‎‏‎‏‏‏‏‎‎‏‏‎‏‎‏‏‏‎‎‏‎‏‎Allowed‎‏‎‎‏‎"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‎‎‏‎‏‎‎‎‎‎‏‎‏‏‏‏‏‏‎‎‎‏‏‏‎‏‏‎‎‎‎‎‏‎‎‏‏‏‎‎‎‎‎‎‏‏‎‎‎‎‏‏‎‏‏‎‎Not allowed‎‏‎‎‏‎"</string>
diff --git a/packages/SettingsLib/res/values-es-rUS/strings.xml b/packages/SettingsLib/res/values-es-rUS/strings.xml
index 706e1d3..790c0d3 100644
--- a/packages/SettingsLib/res/values-es-rUS/strings.xml
+++ b/packages/SettingsLib/res/values-es-rUS/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Conectado. No se puede cargar en este momento"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Cargado"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlada por el administrador"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"El administrador habilitó esta opción"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"El administrador inhabilitó esta opción"</string>
     <string name="disabled" msgid="9206776641295849915">"Inhabilitada"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Permitida"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"No permitida"</string>
diff --git a/packages/SettingsLib/res/values-es/strings.xml b/packages/SettingsLib/res/values-es/strings.xml
index f9eddd9..1dec85d 100644
--- a/packages/SettingsLib/res/values-es/strings.xml
+++ b/packages/SettingsLib/res/values-es/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Se ha conectado, pero no se puede cargar en este momento"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Completa"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlada por el administrador"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Habilitada por el administrador"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Inhabilitado por el administrador"</string>
     <string name="disabled" msgid="9206776641295849915">"Inhabilitada"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Autorizadas"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"No autorizadas"</string>
diff --git a/packages/SettingsLib/res/values-et/strings.xml b/packages/SettingsLib/res/values-et/strings.xml
index ac31880..406e15d 100644
--- a/packages/SettingsLib/res/values-et/strings.xml
+++ b/packages/SettingsLib/res/values-et/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Vooluvõrgus, praegu ei saa laadida"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Täis"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Juhib administraator"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Administraatori lubatud"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Administraatori keelatud"</string>
     <string name="disabled" msgid="9206776641295849915">"Keelatud"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Lubatud"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Pole lubatud"</string>
diff --git a/packages/SettingsLib/res/values-eu/strings.xml b/packages/SettingsLib/res/values-eu/strings.xml
index 2eee948..bd4724e 100644
--- a/packages/SettingsLib/res/values-eu/strings.xml
+++ b/packages/SettingsLib/res/values-eu/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Konektatuta dago. Ezin da kargatu une honetan."</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Beteta"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Administratzaileak kontrolatzen du"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Administratzaileak gaitu du"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Administratzaileak desgaitu du"</string>
     <string name="disabled" msgid="9206776641295849915">"Desgaituta"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Baimena dauka"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Ez dauka baimenik"</string>
diff --git a/packages/SettingsLib/res/values-fa/strings.xml b/packages/SettingsLib/res/values-fa/strings.xml
index 6efd4fe..45b8ac7 100644
--- a/packages/SettingsLib/res/values-fa/strings.xml
+++ b/packages/SettingsLib/res/values-fa/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"به برق وصل شده‌ است، درحال‌حاضر شارژ نمی‌شود"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"پر"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"توسط سرپرست سیستم کنترل می‌شود"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"فعال‌شده توسط سرپرست"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"غیرفعال‌شده توسط سرپرست"</string>
     <string name="disabled" msgid="9206776641295849915">"غیر فعال شد"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"مجاز"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"مجاز نیست"</string>
diff --git a/packages/SettingsLib/res/values-fi/strings.xml b/packages/SettingsLib/res/values-fi/strings.xml
index 4d64e81..23c63b1 100644
--- a/packages/SettingsLib/res/values-fi/strings.xml
+++ b/packages/SettingsLib/res/values-fi/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Kytketty virtalähteeseen, lataaminen ei onnistu"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Täynnä"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Järjestelmänvalvoja hallinnoi tätä asetusta."</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Järjestelmänvalvojan käyttöön ottama"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Järjestelmänvalvojan estämä"</string>
     <string name="disabled" msgid="9206776641295849915">"Pois käytöstä"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Sallittu"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Ei sallittu"</string>
diff --git a/packages/SettingsLib/res/values-fr-rCA/strings.xml b/packages/SettingsLib/res/values-fr-rCA/strings.xml
index 8e813ea..ad99000 100644
--- a/packages/SettingsLib/res/values-fr-rCA/strings.xml
+++ b/packages/SettingsLib/res/values-fr-rCA/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"L\'appareil est branché, mais il ne peut pas être chargé pour le moment"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Pleine"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Contrôlé par l\'administrateur"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Activé par l\'administrateur"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Désactivé par l\'administrateur"</string>
     <string name="disabled" msgid="9206776641295849915">"Désactivée"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Autorisée"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Non autorisée"</string>
diff --git a/packages/SettingsLib/res/values-fr/strings.xml b/packages/SettingsLib/res/values-fr/strings.xml
index baf8ed0..c23db25 100644
--- a/packages/SettingsLib/res/values-fr/strings.xml
+++ b/packages/SettingsLib/res/values-fr/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Appareil branché, mais impossible de le charger pour le moment"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"pleine"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Contrôlé par l\'administrateur"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Activé par l\'administrateur"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Désactivé par l\'administrateur"</string>
     <string name="disabled" msgid="9206776641295849915">"Désactivée"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Autorisé"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Non autorisé"</string>
diff --git a/packages/SettingsLib/res/values-gl/strings.xml b/packages/SettingsLib/res/values-gl/strings.xml
index dc22b25..46532e9 100644
--- a/packages/SettingsLib/res/values-gl/strings.xml
+++ b/packages/SettingsLib/res/values-gl/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Conectouse, pero non se pode cargar neste momento"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Completa"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Opción controlada polo administrador"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Activado polo administrador"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Desactivado polo administrador"</string>
     <string name="disabled" msgid="9206776641295849915">"Desactivada"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Permitida"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Non permitida"</string>
diff --git a/packages/SettingsLib/res/values-gu/strings.xml b/packages/SettingsLib/res/values-gu/strings.xml
index 7943d51..6a74490 100644
--- a/packages/SettingsLib/res/values-gu/strings.xml
+++ b/packages/SettingsLib/res/values-gu/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"પ્લગ ઇન કરેલ, હમણાં ચાર્જ કરી શકતા નથી"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"પૂર્ણ"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"વ્યવસ્થાપક દ્વારા નિયંત્રિત"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"વ્યવસ્થાપકે સક્ષમ કરેલ"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"વ્યવસ્થાપકે અક્ષમ કરેલ"</string>
     <string name="disabled" msgid="9206776641295849915">"અક્ષમ કર્યો"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"મંજૂરી છે"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"મંજૂરી નથી"</string>
diff --git a/packages/SettingsLib/res/values-hi/strings.xml b/packages/SettingsLib/res/values-hi/strings.xml
index 3ec7e58..bd9a6ec 100644
--- a/packages/SettingsLib/res/values-hi/strings.xml
+++ b/packages/SettingsLib/res/values-hi/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"प्लग इन है, अभी चार्ज नहीं हो सकती"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"पूरी"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"इसका नियंत्रण एडमिन के पास है"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"व्यवस्थापक ने सक्षम किया है"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"व्यवस्थापक ने अक्षम किया है"</string>
     <string name="disabled" msgid="9206776641295849915">"बंद किया गया"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"अनुमति है"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"अनुमति नहीं है"</string>
@@ -448,7 +446,6 @@
     <string name="alarm_template_far" msgid="3779172822607461675">"अलार्म <xliff:g id="WHEN">%1$s</xliff:g> को बजेगा"</string>
     <string name="zen_mode_duration_settings_title" msgid="229547412251222757">"अवधि"</string>
     <string name="zen_mode_duration_always_prompt_title" msgid="6478923750878945501">"हर बार पूछें"</string>
-    <!-- no translation found for zen_mode_forever (2704305038191592967) -->
-    <skip />
+    <string name="zen_mode_forever" msgid="2704305038191592967">"जब तक आप इसे बंद नहीं करते"</string>
     <string name="time_unit_just_now" msgid="6363336622778342422">"अभी-अभी"</string>
 </resources>
diff --git a/packages/SettingsLib/res/values-hr/strings.xml b/packages/SettingsLib/res/values-hr/strings.xml
index ce8e6ec..5270531 100644
--- a/packages/SettingsLib/res/values-hr/strings.xml
+++ b/packages/SettingsLib/res/values-hr/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Uključen, trenutačno se ne može puniti"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Puna"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Kontrolira administrator"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Omogućio administrator"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Onemogućio administrator"</string>
     <string name="disabled" msgid="9206776641295849915">"Onemogućeno"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Dopušteno"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Nije dopušteno"</string>
diff --git a/packages/SettingsLib/res/values-hu/strings.xml b/packages/SettingsLib/res/values-hu/strings.xml
index 1c79199..ad897f8 100644
--- a/packages/SettingsLib/res/values-hu/strings.xml
+++ b/packages/SettingsLib/res/values-hu/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Csatlakoztatva, jelenleg nem tölt"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Feltöltve"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Rendszergazda által irányítva"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"A rendszergazda bekapcsolta"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"A rendszergazda kikapcsolta"</string>
     <string name="disabled" msgid="9206776641295849915">"Letiltva"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Engedélyezett"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Nem engedélyezett"</string>
diff --git a/packages/SettingsLib/res/values-hy/strings.xml b/packages/SettingsLib/res/values-hy/strings.xml
index 84ee039..82755f9 100644
--- a/packages/SettingsLib/res/values-hy/strings.xml
+++ b/packages/SettingsLib/res/values-hy/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Միացված է հոսանքի աղբյուրին, սակայն այս պահին չի կարող լիցքավորվել"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Լիցքավորված է"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Վերահսկվում է ադմինիստրատորի կողմից"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Միացված է ադմինիստրատորի կողմից"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Անջատվել է ադմինիստրատորի կողմից"</string>
     <string name="disabled" msgid="9206776641295849915">"Կասեցված է"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Թույլատրված է"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Արգելված է"</string>
diff --git a/packages/SettingsLib/res/values-in/strings.xml b/packages/SettingsLib/res/values-in/strings.xml
index 9356c85..961f892 100644
--- a/packages/SettingsLib/res/values-in/strings.xml
+++ b/packages/SettingsLib/res/values-in/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Tercolok, tidak dapat mengisi baterai sekarang"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Penuh"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Dikontrol oleh admin"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Diaktifkan oleh admin"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Dinonaktifkan oleh admin"</string>
     <string name="disabled" msgid="9206776641295849915">"Dinonaktifkan"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Diizinkan"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Tidak diizinkan"</string>
diff --git a/packages/SettingsLib/res/values-is/strings.xml b/packages/SettingsLib/res/values-is/strings.xml
index ca5e1f5..759b7ba 100644
--- a/packages/SettingsLib/res/values-is/strings.xml
+++ b/packages/SettingsLib/res/values-is/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Í sambandi, ekki hægt að hlaða eins og er"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Fullhlaðin"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Stjórnað af kerfisstjóra"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Gert virkt af kerfisstjóra"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Gert óvirkt af kerfisstjóra"</string>
     <string name="disabled" msgid="9206776641295849915">"Óvirkt"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Heimilað"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Ekki heimilað"</string>
diff --git a/packages/SettingsLib/res/values-it/strings.xml b/packages/SettingsLib/res/values-it/strings.xml
index 88a5bb8..bd41e28 100644
--- a/packages/SettingsLib/res/values-it/strings.xml
+++ b/packages/SettingsLib/res/values-it/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Collegato alla corrente. Impossibile caricare al momento"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Carica"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Gestita dall\'amministratore"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Attivata dall\'amministratore"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Disattivata dall\'amministratore"</string>
     <string name="disabled" msgid="9206776641295849915">"Disattivato"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Consentite"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Non consentite"</string>
diff --git a/packages/SettingsLib/res/values-iw/strings.xml b/packages/SettingsLib/res/values-iw/strings.xml
index cec35cf..5a11e72 100644
--- a/packages/SettingsLib/res/values-iw/strings.xml
+++ b/packages/SettingsLib/res/values-iw/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"המכשיר מחובר, אבל לא ניתן לטעון עכשיו"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"מלא"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"נמצא בשליטת מנהל מערכת"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"מופעל על ידי מנהל המכשיר"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"הושבת על ידי מנהל המכשיר"</string>
     <string name="disabled" msgid="9206776641295849915">"מושבת"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"מורשה"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"לא מורשה"</string>
diff --git a/packages/SettingsLib/res/values-ja/strings.xml b/packages/SettingsLib/res/values-ja/strings.xml
index 9cfdadc..f6b81ed 100644
--- a/packages/SettingsLib/res/values-ja/strings.xml
+++ b/packages/SettingsLib/res/values-ja/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"接続されていますが、現在、充電できません"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"フル"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"管理者により管理されています"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"管理者により有効にされています"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"管理者により無効にされています"</string>
     <string name="disabled" msgid="9206776641295849915">"無効"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"許可"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"許可しない"</string>
diff --git a/packages/SettingsLib/res/values-ka/strings.xml b/packages/SettingsLib/res/values-ka/strings.xml
index 1083025..d5f5408 100644
--- a/packages/SettingsLib/res/values-ka/strings.xml
+++ b/packages/SettingsLib/res/values-ka/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"მიერთებულია, დატენვა ამჟამად ვერ ხერხდება"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"ბატარეა დატენილია"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"იმართება ადმინისტრატორის მიერ"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"ჩართულია ადმინისტრატორის მიერ"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"გათიშულია ადმინისტრატორის მიერ"</string>
     <string name="disabled" msgid="9206776641295849915">"გამორთული"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"დაშვებულია"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"დაუშვებელია"</string>
diff --git a/packages/SettingsLib/res/values-kk/strings.xml b/packages/SettingsLib/res/values-kk/strings.xml
index a122d91..c3fbfcd 100644
--- a/packages/SettingsLib/res/values-kk/strings.xml
+++ b/packages/SettingsLib/res/values-kk/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Қосылған, зарядталмайды"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Толы"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Әкімші басқарады"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Әкімші қосқан"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Әкімші өшірген"</string>
     <string name="disabled" msgid="9206776641295849915">"Өшірілген"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Рұқсат етілген"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Рұқсат етілмеген"</string>
diff --git a/packages/SettingsLib/res/values-km/strings.xml b/packages/SettingsLib/res/values-km/strings.xml
index 7ffd766..8e73f81 100644
--- a/packages/SettingsLib/res/values-km/strings.xml
+++ b/packages/SettingsLib/res/values-km/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"ដោត​សាកថ្ម​រួចហើយ ប៉ុន្តែ​​សាកថ្ម​មិន​ចូលទេឥឡូវនេះ"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"ពេញ"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"គ្រប់គ្រងដោយអ្នកគ្រប់គ្រង"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"បើកដោយ​អ្នកគ្រប់គ្រង"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"បិទដោយអ្នកគ្រប់គ្រង"</string>
     <string name="disabled" msgid="9206776641295849915">"បិទ"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"បាន​អនុញ្ញាត"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"មិន​អនុញ្ញាត​ទេ"</string>
diff --git a/packages/SettingsLib/res/values-kn/strings.xml b/packages/SettingsLib/res/values-kn/strings.xml
index e12cbd2..ce225ea 100644
--- a/packages/SettingsLib/res/values-kn/strings.xml
+++ b/packages/SettingsLib/res/values-kn/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"ಪ್ಲಗ್ ಇನ್ ಮಾಡಲಾಗಿದೆ, ಇದೀಗ ಚಾರ್ಜ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"ಭರ್ತಿ"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"ನಿರ್ವಾಹಕರ ಮೂಲಕ ನಿಯಂತ್ರಿಸಲಾಗಿದೆ"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"ನಿರ್ವಾಹಕರು ಸಕ್ರಿಯಗೊಳಿಸಿದ್ದಾರೆ"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"ನಿರ್ವಾಹಕರು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದ್ದಾರೆ"</string>
     <string name="disabled" msgid="9206776641295849915">"ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"ಅನುಮತಿಸಲಾಗಿದೆ"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ"</string>
diff --git a/packages/SettingsLib/res/values-ko/strings.xml b/packages/SettingsLib/res/values-ko/strings.xml
index ab2892f..b47471b 100644
--- a/packages/SettingsLib/res/values-ko/strings.xml
+++ b/packages/SettingsLib/res/values-ko/strings.xml
@@ -135,7 +135,7 @@
     <string name="tether_settings_title_usb_bluetooth" msgid="5355828977109785001">"테더링"</string>
     <string name="tether_settings_title_all" msgid="8356136101061143841">"테더링 및 휴대용 핫스팟"</string>
     <string name="managed_user_title" msgid="8109605045406748842">"모든 직장 앱"</string>
-    <string name="user_guest" msgid="8475274842845401871">"손님"</string>
+    <string name="user_guest" msgid="8475274842845401871">"게스트"</string>
     <string name="unknown" msgid="1592123443519355854">"알 수 없음"</string>
     <string name="running_process_item_user_label" msgid="3129887865552025943">"사용자: <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
     <string name="launch_defaults_some" msgid="313159469856372621">"일부 기본값이 설정됨"</string>
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"전원이 연결되었지만 현재 충전할 수 없음"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"충전 완료"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"관리자가 제어"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"관리자가 사용 설정함"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"관리자가 사용 중지함"</string>
     <string name="disabled" msgid="9206776641295849915">"사용 안함"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"허용됨"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"허용되지 않음"</string>
diff --git a/packages/SettingsLib/res/values-ky/strings.xml b/packages/SettingsLib/res/values-ky/strings.xml
index 56b5da1..9853dac 100644
--- a/packages/SettingsLib/res/values-ky/strings.xml
+++ b/packages/SettingsLib/res/values-ky/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Сайылып турат, учурда кубаттоо мүмкүн эмес"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Толук"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Администратор тарабынан көзөмөлдөнөт"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Администратор иштетип койгон"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Администратор өчүрүп койгон"</string>
     <string name="disabled" msgid="9206776641295849915">"Өчүрүлгөн"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Уруксат берилген"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Тыюу салынган"</string>
diff --git a/packages/SettingsLib/res/values-lo/strings.xml b/packages/SettingsLib/res/values-lo/strings.xml
index eb27f02..1816515 100644
--- a/packages/SettingsLib/res/values-lo/strings.xml
+++ b/packages/SettingsLib/res/values-lo/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"ສຽບສາຍແລ້ວ, ບໍ່ສາມາດສາກໄດ້ໃນຕອນນີ້"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"ເຕັມ"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"ຄວບຄຸມໂດຍຜູ້ເບິ່ງແຍງ"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"ຜູ້ເບິ່ງແຍງລະບົບເປີດໃຫ້ໃຊ້ແລ້ວ"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"ຖືກຜູ້ເບິ່ງແຍງລະບົບປິດໄວ້"</string>
     <string name="disabled" msgid="9206776641295849915">"ປິດການນຳໃຊ້"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"ອະນຸຍາດແລ້ວ"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"ບໍ່ອະນຸຍາດແລ້ວ"</string>
diff --git a/packages/SettingsLib/res/values-lt/strings.xml b/packages/SettingsLib/res/values-lt/strings.xml
index 44b532b..e6a8e1c 100644
--- a/packages/SettingsLib/res/values-lt/strings.xml
+++ b/packages/SettingsLib/res/values-lt/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Įjungta į maitinimo lizdą, bet šiuo metu įkrauti neįmanoma"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Visiškai įkrautas"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Valdo administratorius"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Įgalino administratorius"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Išjungė administratorius"</string>
     <string name="disabled" msgid="9206776641295849915">"Neleidžiama"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Leidžiama"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Neleidžiama"</string>
diff --git a/packages/SettingsLib/res/values-lv/strings.xml b/packages/SettingsLib/res/values-lv/strings.xml
index ba87d07..b55afc0 100644
--- a/packages/SettingsLib/res/values-lv/strings.xml
+++ b/packages/SettingsLib/res/values-lv/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Pievienots, taču pašlaik nevar veikt uzlādi"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Pilns"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Kontrolē administrators"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Iespējoja administrators"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Atspējoja administrators"</string>
     <string name="disabled" msgid="9206776641295849915">"Atspējots"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Atļauts"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Nav atļauts"</string>
diff --git a/packages/SettingsLib/res/values-mk/strings.xml b/packages/SettingsLib/res/values-mk/strings.xml
index 0c5c94a..e28c8ee 100644
--- a/packages/SettingsLib/res/values-mk/strings.xml
+++ b/packages/SettingsLib/res/values-mk/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Приклучен е, но батеријата не може да се полни во моментов"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Полна"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Контролирано од администраторот"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Овозможено од администраторот"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Оневозможено од администраторот"</string>
     <string name="disabled" msgid="9206776641295849915">"Оневозможено"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Дозволено"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Не е дозволено"</string>
diff --git a/packages/SettingsLib/res/values-ml/strings.xml b/packages/SettingsLib/res/values-ml/strings.xml
index 1a208e62..6860398 100644
--- a/packages/SettingsLib/res/values-ml/strings.xml
+++ b/packages/SettingsLib/res/values-ml/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"പ്ലഗ് ഇൻ ചെയ്‌തു, ഇപ്പോൾ ചാർജ് ചെയ്യാനാവില്ല"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"നിറഞ്ഞു"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"അഡ്‌മിൻ നിയന്ത്രിക്കുന്നത്"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"അഡ്‌മിൻ പ്രവർത്തനക്ഷമമാക്കി"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"അഡ്‌മിൻ പ്രവർത്തനരഹിതമാക്കി"</string>
     <string name="disabled" msgid="9206776641295849915">"പ്രവർത്തനരഹിതമാക്കി"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"അനുവദനീയം"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"അനുവദിച്ചിട്ടില്ല"</string>
diff --git a/packages/SettingsLib/res/values-mn/strings.xml b/packages/SettingsLib/res/values-mn/strings.xml
index 809e82e..ba6d601 100644
--- a/packages/SettingsLib/res/values-mn/strings.xml
+++ b/packages/SettingsLib/res/values-mn/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Залгаастай тул одоо цэнэглэх боломжгүй"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Дүүрэн"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Админ удирдсан"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Админ идэвхжүүлсэн"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Админ цуцалсан"</string>
     <string name="disabled" msgid="9206776641295849915">"Идэвхгүйжүүлсэн"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Зөвшөөрсөн"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Зөвшөөрөөгүй"</string>
diff --git a/packages/SettingsLib/res/values-mr/strings.xml b/packages/SettingsLib/res/values-mr/strings.xml
index dfa6d2f..a5d230a 100644
--- a/packages/SettingsLib/res/values-mr/strings.xml
+++ b/packages/SettingsLib/res/values-mr/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"प्लग इन केलेले आहे, आता चार्ज करू शकत नाही"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"पूर्ण"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"प्रशासकाने नियंत्रित केलेले"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"प्रशासकाने सक्षम केलेले"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"प्रशासकाने अक्षम केलेले"</string>
     <string name="disabled" msgid="9206776641295849915">"अक्षम"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"अनुमती आहे"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"अनुमती नाही"</string>
diff --git a/packages/SettingsLib/res/values-ms/strings.xml b/packages/SettingsLib/res/values-ms/strings.xml
index b4ed016..a7ac3ef 100644
--- a/packages/SettingsLib/res/values-ms/strings.xml
+++ b/packages/SettingsLib/res/values-ms/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Dipalamkan, tidak boleh mengecas sekarang"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Penuh"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Dikawal oleh pentadbir"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Didayakan oleh pentadbir"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Dilumpuhkan oleh pentadbir"</string>
     <string name="disabled" msgid="9206776641295849915">"Dilumpuhkan"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Dibenarkan"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Tidak dibenarkan"</string>
diff --git a/packages/SettingsLib/res/values-my/strings.xml b/packages/SettingsLib/res/values-my/strings.xml
index c1ffd28..6cdab67 100644
--- a/packages/SettingsLib/res/values-my/strings.xml
+++ b/packages/SettingsLib/res/values-my/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"ပလပ်ထိုးထားသောကြောင့် ယခုအားသွင်း၍ မရသေးပါ"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"အပြည့်"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"စီမံခန့်ခွဲသူမှ ထိန်းချုပ်ပါသည်"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"စီမံခန့်ခွဲသူက ဖွင့်ထားသည်"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"စီမံခန့်ခွဲသူက ပိတ်ထားသည်"</string>
     <string name="disabled" msgid="9206776641295849915">"ပိတ်ထားပြီး"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"ခွင့်ပြုထားသည်"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"ခွင့်မပြုပါ"</string>
diff --git a/packages/SettingsLib/res/values-nb/strings.xml b/packages/SettingsLib/res/values-nb/strings.xml
index 5a8e01e..cf18477 100644
--- a/packages/SettingsLib/res/values-nb/strings.xml
+++ b/packages/SettingsLib/res/values-nb/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Laderen er koblet til – kan ikke lade akkurat nå"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Fullt"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Kontrollert av administratoren"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Slått på av administratoren"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Avslått av administratoren"</string>
     <string name="disabled" msgid="9206776641295849915">"Slått av"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Tillatt"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Ikke tillatt"</string>
diff --git a/packages/SettingsLib/res/values-ne/strings.xml b/packages/SettingsLib/res/values-ne/strings.xml
index 72a9abb..8aba0f8 100644
--- a/packages/SettingsLib/res/values-ne/strings.xml
+++ b/packages/SettingsLib/res/values-ne/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"प्लगइन गरिएको छ, अहिले नै चार्ज गर्न सकिँदैन"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"पूर्ण चार्ज भएको स्थिति"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"प्रशासकद्वारा नियन्त्रित"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"प्रशासकद्वारा सक्षम पारिएको छ"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"प्रशासकद्वारा असक्षम पारिएको छ"</string>
     <string name="disabled" msgid="9206776641295849915">"असक्षम पारियो"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"अनुमति छ"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"अनुमति छैन"</string>
diff --git a/packages/SettingsLib/res/values-nl/strings.xml b/packages/SettingsLib/res/values-nl/strings.xml
index f341717..e3f1aea 100644
--- a/packages/SettingsLib/res/values-nl/strings.xml
+++ b/packages/SettingsLib/res/values-nl/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Aangesloten, kan nu niet opladen"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Volledig"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Ingesteld door beheerder"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Ingeschakeld door beheerder"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Uitgeschakeld door beheerder"</string>
     <string name="disabled" msgid="9206776641295849915">"Uitgeschakeld"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Toegestaan"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Niet toegestaan"</string>
diff --git a/packages/SettingsLib/res/values-or/strings.xml b/packages/SettingsLib/res/values-or/strings.xml
index a7761e9..8ecac4d 100644
--- a/packages/SettingsLib/res/values-or/strings.xml
+++ b/packages/SettingsLib/res/values-or/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"ପ୍ଲଗ୍‌ରେ ଲାଗିଛି, ହେଲେ ଏବେ ଚାର୍ଜ କରିପାରିବ ନାହିଁ"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"ଚାର୍ଜ ଅଛି"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"ଆଡ୍‌ମିନ୍‌ ଦ୍ୱାରା ନିୟନ୍ତ୍ରିତ"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"ଆଡମିନ୍‌ଙ୍କ ଦ୍ୱାରା ସକ୍ଷମ କରାଯାଇଛି"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"ଆଡ୍‌ମିନ୍‌ ଦ୍ଵାରା ଅକ୍ଷମ କରାଯାଇଛି"</string>
     <string name="disabled" msgid="9206776641295849915">"ଅକ୍ଷମ ହୋଇଛି"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"ଅନୁମୋଦିତ"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"ଅନୁମତି ନାହିଁ"</string>
diff --git a/packages/SettingsLib/res/values-pa/strings.xml b/packages/SettingsLib/res/values-pa/strings.xml
index c7ab379..6f17e13 100644
--- a/packages/SettingsLib/res/values-pa/strings.xml
+++ b/packages/SettingsLib/res/values-pa/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"ਪਲੱਗ ਲੱਗਾ ਹੋਇਆ ਹੈ, ਇਸ ਸਮੇਂ ਚਾਰਜ ਨਹੀਂ ਹੋ ਸਕਦੀ"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"ਪੂਰੀ"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਕੰਟਰੋਲ ਕੀਤੀ ਗਈ"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"ਪ੍ਰਸ਼ਾਸਕ ਦੁਆਰਾ ਯੋਗ ਬਣਾਇਆ ਗਿਆ"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"ਪ੍ਰਸ਼ਾਸਕ ਦੁਆਰਾ ਅਯੋਗ ਬਣਾਇਆ ਗਿਆ"</string>
     <string name="disabled" msgid="9206776641295849915">"ਅਯੋਗ ਬਣਾਇਆ"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"ਇਜਾਜ਼ਤ ਹੈ"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"ਇਜਾਜ਼ਤ ਨਹੀਂ"</string>
diff --git a/packages/SettingsLib/res/values-pl/strings.xml b/packages/SettingsLib/res/values-pl/strings.xml
index effa59a..3c208e3 100644
--- a/packages/SettingsLib/res/values-pl/strings.xml
+++ b/packages/SettingsLib/res/values-pl/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Podłączony. Nie można teraz ładować"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Naładowana"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Kontrolowane przez administratora"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Włączone przez administratora"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Wyłączone przez administratora"</string>
     <string name="disabled" msgid="9206776641295849915">"Wyłączone"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Dozwolone"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Niedozwolone"</string>
diff --git a/packages/SettingsLib/res/values-pt-rBR/strings.xml b/packages/SettingsLib/res/values-pt-rBR/strings.xml
index afefeda..5c363a4 100644
--- a/packages/SettingsLib/res/values-pt-rBR/strings.xml
+++ b/packages/SettingsLib/res/values-pt-rBR/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Conectado. Não é possível carregar no momento"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Carregada"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlada pelo admin"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Ativado pelo administrador"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Desativada pelo administrador"</string>
     <string name="disabled" msgid="9206776641295849915">"Desativado"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Permitido"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Não permitido"</string>
diff --git a/packages/SettingsLib/res/values-pt-rPT/strings.xml b/packages/SettingsLib/res/values-pt-rPT/strings.xml
index 4ee4521d..66c59ac 100644
--- a/packages/SettingsLib/res/values-pt-rPT/strings.xml
+++ b/packages/SettingsLib/res/values-pt-rPT/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Ligada à corrente, não é possível carregar neste momento"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Completo"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlado pelo gestor"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Ativada pelo gestor"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Desativada pelo gestor"</string>
     <string name="disabled" msgid="9206776641295849915">"Desativada"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Autorizada"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Não autorizada"</string>
diff --git a/packages/SettingsLib/res/values-pt/strings.xml b/packages/SettingsLib/res/values-pt/strings.xml
index afefeda..5c363a4 100644
--- a/packages/SettingsLib/res/values-pt/strings.xml
+++ b/packages/SettingsLib/res/values-pt/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Conectado. Não é possível carregar no momento"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Carregada"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlada pelo admin"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Ativado pelo administrador"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Desativada pelo administrador"</string>
     <string name="disabled" msgid="9206776641295849915">"Desativado"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Permitido"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Não permitido"</string>
diff --git a/packages/SettingsLib/res/values-ro/strings.xml b/packages/SettingsLib/res/values-ro/strings.xml
index f42363e..703add6 100644
--- a/packages/SettingsLib/res/values-ro/strings.xml
+++ b/packages/SettingsLib/res/values-ro/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Conectat, nu se poate încărca chiar acum"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Complet"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlată de administrator"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Activat de administrator"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Dezactivat de administrator"</string>
     <string name="disabled" msgid="9206776641295849915">"Dezactivată"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Permise"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Nepermise"</string>
diff --git a/packages/SettingsLib/res/values-ru/strings.xml b/packages/SettingsLib/res/values-ru/strings.xml
index 451c710..4eb3ca4 100644
--- a/packages/SettingsLib/res/values-ru/strings.xml
+++ b/packages/SettingsLib/res/values-ru/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Подключено, не заряжается"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Батарея заряжена"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Контролируется администратором"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Включено администратором"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Отключено администратором"</string>
     <string name="disabled" msgid="9206776641295849915">"Отключено"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Разрешено"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Запрещено"</string>
diff --git a/packages/SettingsLib/res/values-si/strings.xml b/packages/SettingsLib/res/values-si/strings.xml
index d9e69ce..1ab5b79 100644
--- a/packages/SettingsLib/res/values-si/strings.xml
+++ b/packages/SettingsLib/res/values-si/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"පේනුගත කර ඇත, මේ අවස්ථාවේදී ආරෝපණය කළ නොහැකිය"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"පූර්ණ"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"පරිපාලක විසින් පාලනය කරන ලදී"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"පරිපාලක විසින් සබල කර ඇත"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"ඔබගේ පරිපාලක විසින් අබල කර ඇත"</string>
     <string name="disabled" msgid="9206776641295849915">"අබල කර ඇත"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"ඉඩ දුන්"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"ඉඩ නොදෙන"</string>
diff --git a/packages/SettingsLib/res/values-sk/strings.xml b/packages/SettingsLib/res/values-sk/strings.xml
index a0c1062..5c3920f 100644
--- a/packages/SettingsLib/res/values-sk/strings.xml
+++ b/packages/SettingsLib/res/values-sk/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Pripojené, ale nie je možné nabíjať"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Nabitá"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Ovládané správcom"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Povolené správcom"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Zakázané správcom"</string>
     <string name="disabled" msgid="9206776641295849915">"Deaktivované"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Povolené"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Nie je povolené"</string>
diff --git a/packages/SettingsLib/res/values-sl/strings.xml b/packages/SettingsLib/res/values-sl/strings.xml
index 3088d0f..f479405 100644
--- a/packages/SettingsLib/res/values-sl/strings.xml
+++ b/packages/SettingsLib/res/values-sl/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Priključeno, trenutno ni mogoče polniti"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Poln"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Nadzira skrbnik"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Omogočil skrbnik"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Onemogočil skrbnik"</string>
     <string name="disabled" msgid="9206776641295849915">"Onemogočeno"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Dovoljene"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Ni dovoljeno"</string>
diff --git a/packages/SettingsLib/res/values-sq/strings.xml b/packages/SettingsLib/res/values-sq/strings.xml
index 8e31013..2741985 100644
--- a/packages/SettingsLib/res/values-sq/strings.xml
+++ b/packages/SettingsLib/res/values-sq/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Në prizë, por nuk mund të ngarkohet për momentin"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"E mbushur"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Kontrolluar nga administratori"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Aktivizuar nga administratori"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Çaktivizuar nga administratori"</string>
     <string name="disabled" msgid="9206776641295849915">"Çaktivizuar"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Lejohet"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Nuk lejohet"</string>
diff --git a/packages/SettingsLib/res/values-sr/strings.xml b/packages/SettingsLib/res/values-sr/strings.xml
index fe97119..241d9cb 100644
--- a/packages/SettingsLib/res/values-sr/strings.xml
+++ b/packages/SettingsLib/res/values-sr/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Прикључено је, али пуњење тренутно није могуће"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Пуна"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Контролише администратор"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Омогућио је администратор"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Администратор је онемогућио"</string>
     <string name="disabled" msgid="9206776641295849915">"Онемогућено"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Дозвољено"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Није дозвољено"</string>
diff --git a/packages/SettingsLib/res/values-sv/strings.xml b/packages/SettingsLib/res/values-sv/strings.xml
index 11f446c..d338e96 100644
--- a/packages/SettingsLib/res/values-sv/strings.xml
+++ b/packages/SettingsLib/res/values-sv/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Inkopplad, kan inte laddas just nu"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Fullt"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Strys av administratören"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Aktiverad av administratör"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Inaktiverad av administratören"</string>
     <string name="disabled" msgid="9206776641295849915">"Inaktiverad"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Tillåts"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Tillåts inte"</string>
diff --git a/packages/SettingsLib/res/values-sw/strings.xml b/packages/SettingsLib/res/values-sw/strings.xml
index ba3aaba..df122e2 100644
--- a/packages/SettingsLib/res/values-sw/strings.xml
+++ b/packages/SettingsLib/res/values-sw/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Haiwezi kuchaji kwa sasa"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Imejaa"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Imedhibitiwa na msimamizi"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Imewashwa na msimamizi"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Imezimwa na msimamizi"</string>
     <string name="disabled" msgid="9206776641295849915">"Imezimwa"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Imeruhusiwa"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Hairuhusiwi"</string>
diff --git a/packages/SettingsLib/res/values-ta/strings.xml b/packages/SettingsLib/res/values-ta/strings.xml
index 63d5e75..8f5c7d8 100644
--- a/packages/SettingsLib/res/values-ta/strings.xml
+++ b/packages/SettingsLib/res/values-ta/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"செருகப்பட்டது, ஆனால் இப்போது சார்ஜ் செய்ய முடியவில்லை"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"முழுவதும் சார்ஜ் ஆனது"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"நிர்வாகி கட்டுப்படுத்துகிறார்"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"நிர்வாகி இயக்கியுள்ளார்"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"நிர்வாகி முடக்கியுள்ளார்"</string>
     <string name="disabled" msgid="9206776641295849915">"முடக்கப்பட்டது"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"அனுமதிக்கப்பட்டது"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"அனுமதிக்கப்படவில்லை"</string>
diff --git a/packages/SettingsLib/res/values-te/strings.xml b/packages/SettingsLib/res/values-te/strings.xml
index 4af461d0..5f7ab996 100644
--- a/packages/SettingsLib/res/values-te/strings.xml
+++ b/packages/SettingsLib/res/values-te/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"ప్లగ్ ఇన్ చేయబడింది, ప్రస్తుతం ఛార్జ్ చేయడం సాధ్యం కాదు"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"నిండింది"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"నిర్వాహకుని ద్వారా నియంత్రించబడింది"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"నిర్వాహకులు ప్రారంభించారు"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"నిర్వాహకులు నిలిపివేసారు"</string>
     <string name="disabled" msgid="9206776641295849915">"నిలిపివేయబడింది"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"అనుమతించినవి"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"అనుమతించబడలేదు"</string>
diff --git a/packages/SettingsLib/res/values-th/strings.xml b/packages/SettingsLib/res/values-th/strings.xml
index 9cc5c73..020baf0 100644
--- a/packages/SettingsLib/res/values-th/strings.xml
+++ b/packages/SettingsLib/res/values-th/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"เสียบอยู่ ไม่สามารถชาร์จได้ในขณะนี้"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"เต็ม"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"ผู้ดูแลระบบเป็นผู้ควบคุม"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"เปิดใช้โดยผู้ดูแลระบบ"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"ปิดใช้โดยผู้ดูแลระบบ"</string>
     <string name="disabled" msgid="9206776641295849915">"ปิดอยู่"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"อนุญาต"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"ไม่อนุญาต"</string>
diff --git a/packages/SettingsLib/res/values-tl/strings.xml b/packages/SettingsLib/res/values-tl/strings.xml
index 49abe42..2164ade 100644
--- a/packages/SettingsLib/res/values-tl/strings.xml
+++ b/packages/SettingsLib/res/values-tl/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Nakasaksak, hindi makapag-charge sa ngayon"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Puno"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Pinapamahalaan ng admin"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Na-enable ng admin"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Na-disable ng admin"</string>
     <string name="disabled" msgid="9206776641295849915">"Naka-disable"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Pinapayagan"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Hindi pinapayagan"</string>
diff --git a/packages/SettingsLib/res/values-tr/strings.xml b/packages/SettingsLib/res/values-tr/strings.xml
index 23a96d9..532927c 100644
--- a/packages/SettingsLib/res/values-tr/strings.xml
+++ b/packages/SettingsLib/res/values-tr/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Prize takıldı, şu anda şarj olamıyor"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Dolu"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Yönetici tarafından denetleniyor"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Yönetici tarafından etkinleştirildi"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Yönetici devre dışı bıraktı"</string>
     <string name="disabled" msgid="9206776641295849915">"Devre dışı"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"İzin verildi"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"İzin verilmiyor"</string>
diff --git a/packages/SettingsLib/res/values-uk/strings.xml b/packages/SettingsLib/res/values-uk/strings.xml
index cea870a4..cf26d20 100644
--- a/packages/SettingsLib/res/values-uk/strings.xml
+++ b/packages/SettingsLib/res/values-uk/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Підключено. Не вдається зарядити"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Акумулятор заряджено"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Керується адміністратором"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Увімкнено адміністратором"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Вимкнено адміністратором"</string>
     <string name="disabled" msgid="9206776641295849915">"Вимкнено"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Дозволено"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Заборонено"</string>
diff --git a/packages/SettingsLib/res/values-ur/strings.xml b/packages/SettingsLib/res/values-ur/strings.xml
index 0fb60d9..c158179 100644
--- a/packages/SettingsLib/res/values-ur/strings.xml
+++ b/packages/SettingsLib/res/values-ur/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"پلگ ان ہے، ابھی چارج نہیں کر سکتے"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"مکمل"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"کنٹرول کردہ بذریعہ منتظم"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"منتظم کی طرف سے فعال کردہ"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"منتظم کی طرف سے غیر فعال کردہ"</string>
     <string name="disabled" msgid="9206776641295849915">"غیر فعال"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"اجازت ہے"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"اجازت نہیں ہے"</string>
diff --git a/packages/SettingsLib/res/values-uz/strings.xml b/packages/SettingsLib/res/values-uz/strings.xml
index 4690db3..ac8bffe 100644
--- a/packages/SettingsLib/res/values-uz/strings.xml
+++ b/packages/SettingsLib/res/values-uz/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Ulangan, lekin quvvat olmayapti"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"To‘la"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Administrator tomonidan boshqariladi"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Administrator tomonidan yoqilgan"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Administrator tomonidan o‘chirilgan"</string>
     <string name="disabled" msgid="9206776641295849915">"O‘chiq"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Ruxsat berilgan"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Ruxsat berilmagan"</string>
diff --git a/packages/SettingsLib/res/values-vi/strings.xml b/packages/SettingsLib/res/values-vi/strings.xml
index 937b37d..78306da 100644
--- a/packages/SettingsLib/res/values-vi/strings.xml
+++ b/packages/SettingsLib/res/values-vi/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Đã cắm nhưng không thể sạc ngay"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Đầy"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Do quản trị viên kiểm soát"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Kích hoạt bởi quản trị viên"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Bị quản trị viên vô hiệu hóa"</string>
     <string name="disabled" msgid="9206776641295849915">"Đã tắt"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Được phép"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Không được phép"</string>
diff --git a/packages/SettingsLib/res/values-zh-rCN/strings.xml b/packages/SettingsLib/res/values-zh-rCN/strings.xml
index 47753fd..4fb26100 100644
--- a/packages/SettingsLib/res/values-zh-rCN/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rCN/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"已插入电源，但是现在无法充电"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"电量充足"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"由管理员控制"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"已被管理员启用"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"已被管理员停用"</string>
     <string name="disabled" msgid="9206776641295849915">"已停用"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"允许"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"不允许"</string>
diff --git a/packages/SettingsLib/res/values-zh-rHK/strings.xml b/packages/SettingsLib/res/values-zh-rHK/strings.xml
index 4cbf5a6..c5a8f920 100644
--- a/packages/SettingsLib/res/values-zh-rHK/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rHK/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"已插入電源插座，但目前無法充電"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"電量已滿"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"已由管理員停用"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"已由管理員啟用"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"已由管理員停用"</string>
     <string name="disabled" msgid="9206776641295849915">"已停用"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"允許"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"不允許"</string>
diff --git a/packages/SettingsLib/res/values-zh-rTW/strings.xml b/packages/SettingsLib/res/values-zh-rTW/strings.xml
index cecc6ac..0947ccec 100644
--- a/packages/SettingsLib/res/values-zh-rTW/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rTW/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"已接上電源，但現在無法充電"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"電力充足"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"已由管理員停用"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"已由管理員啟用"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"已由管理員停用"</string>
     <string name="disabled" msgid="9206776641295849915">"已停用"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"允許"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"不允許"</string>
diff --git a/packages/SettingsLib/res/values-zu/strings.xml b/packages/SettingsLib/res/values-zu/strings.xml
index 94c3abf..cd90d74 100644
--- a/packages/SettingsLib/res/values-zu/strings.xml
+++ b/packages/SettingsLib/res/values-zu/strings.xml
@@ -395,8 +395,6 @@
     <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Kuxhunyiwe, ayikwazi ukushaja khona manje"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Kugcwele"</string>
     <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Kulawulwa umqondisi"</string>
-    <string name="enabled_by_admin" msgid="5302986023578399263">"Kunikwe amandla umlawuli"</string>
-    <string name="disabled_by_admin" msgid="8505398946020816620">"Kukhutshazwe umlawuli"</string>
     <string name="disabled" msgid="9206776641295849915">"Akusebenzi"</string>
     <string name="external_source_trusted" msgid="2707996266575928037">"Kuvumelekile"</string>
     <string name="external_source_untrusted" msgid="2677442511837596726">"Akuvumelekile"</string>
diff --git a/packages/SettingsLib/res/values/dimens.xml b/packages/SettingsLib/res/values/dimens.xml
index 8094b02..a9c5061 100644
--- a/packages/SettingsLib/res/values/dimens.xml
+++ b/packages/SettingsLib/res/values/dimens.xml
@@ -36,7 +36,6 @@
     <dimen name="two_target_pref_medium_icon_size">32dp</dimen>
 
     <!-- Lock icon for preferences locked by admin -->
-    <dimen name="restricted_icon_size">16dp</dimen>
     <dimen name="restricted_icon_padding">4dp</dimen>
 
     <dimen name="wifi_preference_badge_padding">8dip</dimen>
diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml
index ea6844e..508adbd 100644
--- a/packages/SettingsLib/res/values/strings.xml
+++ b/packages/SettingsLib/res/values/strings.xml
@@ -965,11 +965,6 @@
     <!-- Summary for settings preference disabled by administrator [CHAR LIMIT=50] -->
     <string name="disabled_by_admin_summary_text">Controlled by admin</string>
 
-    <!-- Summary for switch preference to denote it is switched on [CHAR LIMIT=50] -->
-    <string name="enabled_by_admin">Enabled by admin</string>
-    <!-- Summary for switch preference to denote it is switched off [CHAR LIMIT=50] -->
-    <string name="disabled_by_admin">Disabled by admin</string>
-
     <!-- [CHAR LIMIT=25] Manage applications, text telling using an application is disabled. -->
     <string name="disabled">Disabled</string>
     <!-- Summary of app trusted to install apps [CHAR LIMIT=45] -->
@@ -1121,4 +1116,6 @@
     <!-- time label for event have that happened very recently [CHAR LIMIT=60] -->
     <string name="time_unit_just_now">Just now</string>
 
-  </resources>
+    <!-- The notice header of Third-party licenses. not translatable -->
+    <string name="notice_header" translatable="false"></string>
+</resources>
diff --git a/packages/SettingsLib/search/Android.mk b/packages/SettingsLib/search/Android.mk
index cb19891..14f9626 100644
--- a/packages/SettingsLib/search/Android.mk
+++ b/packages/SettingsLib/search/Android.mk
@@ -5,6 +5,9 @@
 
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
 
+LOCAL_RESOURCE_DIR := \
+    $(LOCAL_PATH)/main/res
+
 include $(BUILD_STATIC_JAVA_LIBRARY)
 
 
diff --git a/packages/SettingsLib/src/com/android/settingslib/CustomDialogPreference.java b/packages/SettingsLib/src/com/android/settingslib/CustomDialogPreference.java
index 3bade25..192a40c 100644
--- a/packages/SettingsLib/src/com/android/settingslib/CustomDialogPreference.java
+++ b/packages/SettingsLib/src/com/android/settingslib/CustomDialogPreference.java
@@ -26,6 +26,12 @@
 import androidx.preference.DialogPreference;
 import androidx.preference.PreferenceDialogFragment;
 
+/**
+ * Framework version is deprecated, use the compat version instead.
+ *
+ * @deprecated
+ */
+@Deprecated
 public class CustomDialogPreference extends DialogPreference {
 
     private CustomPreferenceDialogFragment mFragment;
diff --git a/packages/SettingsLib/src/com/android/settingslib/CustomEditTextPreference.java b/packages/SettingsLib/src/com/android/settingslib/CustomEditTextPreference.java
index dfaff61..3caa0bb 100644
--- a/packages/SettingsLib/src/com/android/settingslib/CustomEditTextPreference.java
+++ b/packages/SettingsLib/src/com/android/settingslib/CustomEditTextPreference.java
@@ -31,6 +31,12 @@
 import androidx.preference.EditTextPreference;
 import androidx.preference.EditTextPreferenceDialogFragment;
 
+/**
+ * Framework version is deprecated, use the compat version instead.
+ *
+ * @deprecated
+ */
+@Deprecated
 public class CustomEditTextPreference extends EditTextPreference {
 
     private CustomPreferenceDialogFragment mFragment;
diff --git a/packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtilsInternal.java b/packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtilsInternal.java
index 0094c2c..c03ba9a 100644
--- a/packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtilsInternal.java
+++ b/packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtilsInternal.java
@@ -29,6 +29,7 @@
 import android.content.pm.IPackageManager;
 import android.content.pm.PackageManager;
 import android.content.pm.UserInfo;
+import android.content.res.TypedArray;
 import android.graphics.drawable.Drawable;
 import android.os.RemoteException;
 import android.os.UserHandle;
@@ -55,9 +56,15 @@
      * @return drawables for displaying with settings that are locked by a device admin.
      */
     public static Drawable getRestrictedPadlock(Context context) {
-        Drawable restrictedPadlock = context.getDrawable(R.drawable.ic_info);
+        Drawable restrictedPadlock = context.getDrawable(android.R.drawable.ic_info);
         final int iconSize = context.getResources().getDimensionPixelSize(
-                R.dimen.restricted_icon_size);
+                android.R.dimen.config_restricted_icon_size);
+
+        TypedArray ta = context.obtainStyledAttributes(new int[]{android.R.attr.colorAccent});
+        int colorAccent = ta.getColor(0, 0);
+        ta.recycle();
+        restrictedPadlock.setTint(colorAccent);
+
         restrictedPadlock.setBounds(0, 0, iconSize, iconSize);
         return restrictedPadlock;
     }
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/A2dpProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/A2dpProfile.java
index a710410..58feef5 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/A2dpProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/A2dpProfile.java
@@ -102,7 +102,7 @@
                 BluetoothProfile.A2DP);
     }
 
-    public boolean isConnectable() {
+    public boolean accessProfileEnabled() {
         return true;
     }
 
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/A2dpSinkProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/A2dpSinkProfile.java
index 0c4e02b..988062d 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/A2dpSinkProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/A2dpSinkProfile.java
@@ -33,7 +33,6 @@
 
 final class A2dpSinkProfile implements LocalBluetoothProfile {
     private static final String TAG = "A2dpSinkProfile";
-    private static boolean V = true;
 
     private BluetoothA2dpSink mService;
     private boolean mIsProfileReady;
@@ -56,7 +55,7 @@
             implements BluetoothProfile.ServiceListener {
 
         public void onServiceConnected(int profile, BluetoothProfile proxy) {
-            if (V) Log.d(TAG,"Bluetooth service connected");
+            Log.d(TAG, "Bluetooth service connected");
             mService = (BluetoothA2dpSink) proxy;
             // We just bound to the service, so refresh the UI for any connected A2DP devices.
             List<BluetoothDevice> deviceList = mService.getConnectedDevices();
@@ -75,7 +74,7 @@
         }
 
         public void onServiceDisconnected(int profile) {
-            if (V) Log.d(TAG,"Bluetooth service disconnected");
+            Log.d(TAG, "Bluetooth service disconnected");
             mIsProfileReady=false;
         }
     }
@@ -97,7 +96,7 @@
                 BluetoothProfile.A2DP_SINK);
     }
 
-    public boolean isConnectable() {
+    public boolean accessProfileEnabled() {
         return true;
     }
 
@@ -106,7 +105,9 @@
     }
 
     public List<BluetoothDevice> getConnectedDevices() {
-        if (mService == null) return new ArrayList<BluetoothDevice>(0);
+        if (mService == null) {
+            return new ArrayList<BluetoothDevice>(0);
+        }
         return mService.getDevicesMatchingConnectionStates(
               new int[] {BluetoothProfile.STATE_CONNECTED,
                          BluetoothProfile.STATE_CONNECTING,
@@ -114,24 +115,18 @@
     }
 
     public boolean connect(BluetoothDevice device) {
-        if (mService == null) return false;
-        List<BluetoothDevice> srcs = getConnectedDevices();
-        if (srcs != null) {
-            for (BluetoothDevice src : srcs) {
-                if (src.equals(device)) {
-                    // Connect to same device, Ignore it
-                    Log.d(TAG,"Ignoring Connect");
-                    return true;
-                }
-            }
+        if (mService == null) {
+            return false;
         }
         return mService.connect(device);
     }
 
     public boolean disconnect(BluetoothDevice device) {
-        if (mService == null) return false;
+        if (mService == null) {
+            return false;
+        }
         // Downgrade priority as user is disconnecting the headset.
-        if (mService.getPriority(device) > BluetoothProfile.PRIORITY_ON){
+        if (mService.getPriority(device) > BluetoothProfile.PRIORITY_ON) {
             mService.setPriority(device, BluetoothProfile.PRIORITY_ON);
         }
         return mService.disconnect(device);
@@ -145,17 +140,23 @@
     }
 
     public boolean isPreferred(BluetoothDevice device) {
-        if (mService == null) return false;
+        if (mService == null) {
+            return false;
+        }
         return mService.getPriority(device) > BluetoothProfile.PRIORITY_OFF;
     }
 
     public int getPreferred(BluetoothDevice device) {
-        if (mService == null) return BluetoothProfile.PRIORITY_OFF;
+        if (mService == null) {
+            return BluetoothProfile.PRIORITY_OFF;
+        }
         return mService.getPriority(device);
     }
 
     public void setPreferred(BluetoothDevice device, boolean preferred) {
-        if (mService == null) return;
+        if (mService == null) {
+            return;
+        }
         if (preferred) {
             if (mService.getPriority(device) < BluetoothProfile.PRIORITY_ON) {
                 mService.setPriority(device, BluetoothProfile.PRIORITY_ON);
@@ -166,7 +167,9 @@
     }
 
     boolean isA2dpPlaying() {
-        if (mService == null) return false;
+        if (mService == null) {
+            return false;
+        }
         List<BluetoothDevice> srcs = mService.getConnectedDevices();
         if (!srcs.isEmpty()) {
             if (mService.isA2dpPlaying(srcs.get(0))) {
@@ -208,7 +211,7 @@
     }
 
     protected void finalize() {
-        if (V) Log.d(TAG, "finalize()");
+        Log.d(TAG, "finalize()");
         if (mService != null) {
             try {
                 BluetoothAdapter.getDefaultAdapter().closeProfileProxy(BluetoothProfile.A2DP_SINK,
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java
index 649900b..750a843 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java
@@ -29,16 +29,15 @@
 import android.text.TextUtils;
 import android.util.Log;
 
-import androidx.annotation.VisibleForTesting;
-
 import com.android.settingslib.R;
 
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
 
+import androidx.annotation.VisibleForTesting;
+
 /**
  * CachedBluetoothDevice represents a remote Bluetooth device. It contains
  * attributes of the device (such as the address, name, RSSI, etc.) and
@@ -48,6 +47,10 @@
 public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice> {
     private static final String TAG = "CachedBluetoothDevice";
 
+    // See mConnectAttempted
+    private static final long MAX_UUID_DELAY_FOR_AUTO_CONNECT = 5000;
+    private static final long MAX_HOGP_DELAY_FOR_AUTO_CONNECT = 30000;
+
     private final Context mContext;
     private final BluetoothAdapter mLocalAdapter;
     private final LocalBluetoothProfileManager mProfileManager;
@@ -55,7 +58,6 @@
     private long mHiSyncId;
     // Need this since there is no method for getting RSSI
     private short mRssi;
-    private HashMap<LocalBluetoothProfile, Integer> mProfileConnectionState;
 
     private final List<LocalBluetoothProfile> mProfiles =
             new ArrayList<LocalBluetoothProfile>();
@@ -79,23 +81,6 @@
     private final static String MESSAGE_REJECTION_COUNT_PREFS_NAME = "bluetooth_message_reject";
 
     /**
-     * When we connect to multiple profiles, we only want to display a single
-     * error even if they all fail. This tracks that state.
-     */
-    private boolean mIsConnectingErrorPossible;
-
-    public long getHiSyncId() {
-        return mHiSyncId;
-    }
-
-    public void setHiSyncId(long id) {
-        if (BluetoothUtils.D) {
-            Log.d(TAG, "setHiSyncId: mDevice " + mDevice + ", id " + id);
-        }
-        mHiSyncId = id;
-    }
-
-    /**
      * Last time a bt profile auto-connect was attempted.
      * If an ACTION_UUID intent comes in within
      * MAX_UUID_DELAY_FOR_AUTO_CONNECT milliseconds, we will try auto-connect
@@ -103,14 +88,21 @@
      */
     private long mConnectAttempted;
 
-    // See mConnectAttempted
-    private static final long MAX_UUID_DELAY_FOR_AUTO_CONNECT = 5000;
-    private static final long MAX_HOGP_DELAY_FOR_AUTO_CONNECT = 30000;
-
     // Active device state
     private boolean mIsActiveDeviceA2dp = false;
     private boolean mIsActiveDeviceHeadset = false;
     private boolean mIsActiveDeviceHearingAid = false;
+
+    CachedBluetoothDevice(Context context, LocalBluetoothProfileManager profileManager,
+            BluetoothDevice device) {
+        mContext = context;
+        mLocalAdapter = BluetoothAdapter.getDefaultAdapter();
+        mProfileManager = profileManager;
+        mDevice = device;
+        fillData();
+        mHiSyncId = BluetoothHearingAid.HI_SYNC_ID_INVALID;
+    }
+
     /**
      * Describes the current device and profile for logging.
      *
@@ -139,7 +131,6 @@
             }
             return;
         }
-        mProfileConnectionState.put(profile, newProfileState);
         if (newProfileState == BluetoothProfile.STATE_CONNECTED) {
             if (profile instanceof MapProfile) {
                 profile.setPreferred(mDevice, true);
@@ -167,18 +158,6 @@
         fetchActiveDevices();
     }
 
-    CachedBluetoothDevice(Context context,
-                          LocalBluetoothProfileManager profileManager,
-                          BluetoothDevice device) {
-        mContext = context;
-        mLocalAdapter = BluetoothAdapter.getDefaultAdapter();
-        mProfileManager = profileManager;
-        mDevice = device;
-        mProfileConnectionState = new HashMap<LocalBluetoothProfile, Integer>();
-        fillData();
-        mHiSyncId = BluetoothHearingAid.HI_SYNC_ID_INVALID;
-    }
-
     public void disconnect() {
         for (LocalBluetoothProfile profile : mProfiles) {
             disconnect(profile);
@@ -210,6 +189,17 @@
         connectWithoutResettingTimer(connectAllProfiles);
     }
 
+    public long getHiSyncId() {
+        return mHiSyncId;
+    }
+
+    public void setHiSyncId(long id) {
+        if (BluetoothUtils.D) {
+            Log.d(TAG, "setHiSyncId: mDevice " + mDevice + ", id " + id);
+        }
+        mHiSyncId = id;
+    }
+
     void onBondingDockConnect() {
         // Attempt to connect if UUIDs are available. Otherwise,
         // we will connect when the ACTION_UUID intent arrives.
@@ -230,12 +220,9 @@
             return;
         }
 
-        // Reset the only-show-one-error-dialog tracking variable
-        mIsConnectingErrorPossible = true;
-
         int preferredProfiles = 0;
         for (LocalBluetoothProfile profile : mProfiles) {
-            if (connectAllProfiles ? profile.isConnectable() : profile.isAutoConnectable()) {
+            if (connectAllProfiles ? profile.accessProfileEnabled() : profile.isAutoConnectable()) {
                 if (profile.isPreferred(mDevice)) {
                     ++preferredProfiles;
                     connectInt(profile);
@@ -253,8 +240,6 @@
         if (!ensurePaired()) {
             return;
         }
-        // Reset the only-show-one-error-dialog tracking variable
-        mIsConnectingErrorPossible = true;
 
         for (LocalBluetoothProfile profile : mProfiles) {
             if (profile.isAutoConnectable()) {
@@ -271,8 +256,6 @@
      */
     public void connectProfile(LocalBluetoothProfile profile) {
         mConnectAttempted = SystemClock.elapsedRealtime();
-        // Reset the only-show-one-error-dialog tracking variable
-        mIsConnectingErrorPossible = true;
         connectInt(profile);
         // Refresh the UI based on profile.connect() call
         refresh();
@@ -313,14 +296,6 @@
         return true;
     }
 
-    /**
-     * Return true if user initiated pairing on this device. The message text is
-     * slightly different for local vs. remote initiated pairing dialogs.
-     */
-    boolean isUserInitiatedPairing() {
-        return mDevice.isBondingInitiatedLocally();
-    }
-
     public void unpair() {
         int state = getBondState();
 
@@ -345,22 +320,9 @@
     }
 
     public int getProfileConnectionState(LocalBluetoothProfile profile) {
-        if (mProfileConnectionState.get(profile) == null) {
-            // If cache is empty make the binder call to get the state
-            int state = profile.getConnectionStatus(mDevice);
-            mProfileConnectionState.put(profile, state);
-        }
-        return mProfileConnectionState.get(profile);
-    }
-
-    public void clearProfileConnectionState ()
-    {
-        if (BluetoothUtils.D) {
-            Log.d(TAG," Clearing all connection state for dev:" + mDevice.getName());
-        }
-        for (LocalBluetoothProfile profile :getProfiles()) {
-            mProfileConnectionState.put(profile, BluetoothProfile.STATE_DISCONNECTED);
-        }
+        return profile != null
+                ? profile.getConnectionStatus(mDevice)
+                : BluetoothProfile.STATE_DISCONNECTED;
     }
 
     // TODO: do any of these need to run async on a background thread?
@@ -682,7 +644,7 @@
         List<LocalBluetoothProfile> connectableProfiles =
                 new ArrayList<LocalBluetoothProfile>();
         for (LocalBluetoothProfile profile : mProfiles) {
-            if (profile.isConnectable()) {
+            if (profile.accessProfileEnabled()) {
                 connectableProfiles.add(profile);
             }
         }
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManager.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManager.java
index e8f47e1..21cf0c2 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManager.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManager.java
@@ -211,6 +211,26 @@
         }
     }
 
+    /**
+     * Attempts to get the name of a remote device, otherwise returns the address.
+     *
+     * @param device The remote device.
+     * @return The name, or if unavailable, the address.
+     */
+    public String getName(BluetoothDevice device) {
+        CachedBluetoothDevice cachedDevice = findDevice(device);
+        if (cachedDevice != null && cachedDevice.getName() != null) {
+            return cachedDevice.getName();
+        }
+
+        String name = device.getAliasName();
+        if (name != null) {
+            return name;
+        }
+
+        return device.getAddress();
+    }
+
     public synchronized void clearNonBondedDevices() {
 
         mCachedDevicesMapForHearingAids.entrySet().removeIf(entries
@@ -265,11 +285,6 @@
                     {
                         mCachedDevicesMapForHearingAids.remove(cachedDevice.getHiSyncId());
                     }
-                } else {
-                    // For bonded devices, we need to clear the connection status so that
-                    // when BT is enabled next time, device connection status shall be retrieved
-                    // by making a binder call.
-                    cachedDevice.clearProfileConnectionState();
                 }
             }
             for (int i = mHearingAidDevicesNotAddedInCache.size() - 1; i >= 0; i--) {
@@ -277,11 +292,6 @@
                 if (notCachedDevice.getBondState() != BluetoothDevice.BOND_BONDED) {
                     notCachedDevice.setJustDiscovered(false);
                     mHearingAidDevicesNotAddedInCache.remove(i);
-                } else {
-                    // For bonded devices, we need to clear the connection status so that
-                    // when BT is enabled next time, device connection status shall be retrieved
-                    // by making a binder call.
-                    notCachedDevice.clearProfileConnectionState();
                 }
             }
         }
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HeadsetProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HeadsetProfile.java
index 2dd8eaf..62507f5 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HeadsetProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HeadsetProfile.java
@@ -103,7 +103,7 @@
                 BluetoothProfile.HEADSET);
     }
 
-    public boolean isConnectable() {
+    public boolean accessProfileEnabled() {
         return true;
     }
 
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HearingAidProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HearingAidProfile.java
index 1eeb4f0..8bc0acf 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HearingAidProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HearingAidProfile.java
@@ -100,7 +100,7 @@
                 new HearingAidServiceListener(), BluetoothProfile.HEARING_AID);
     }
 
-    public boolean isConnectable() {
+    public boolean accessProfileEnabled() {
         return false;
     }
 
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HfpClientProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HfpClientProfile.java
index f9f6233..4879144 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HfpClientProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HfpClientProfile.java
@@ -36,7 +36,6 @@
  */
 final class HfpClientProfile implements LocalBluetoothProfile {
     private static final String TAG = "HfpClientProfile";
-    private static boolean V = false;
 
     private BluetoothHeadsetClient mService;
     private boolean mIsProfileReady;
@@ -60,7 +59,7 @@
 
         @Override
         public void onServiceConnected(int profile, BluetoothProfile proxy) {
-            if (V) Log.d(TAG,"Bluetooth service connected");
+            Log.d(TAG, "Bluetooth service connected");
             mService = (BluetoothHeadsetClient) proxy;
             // We just bound to the service, so refresh the UI for any connected HFP devices.
             List<BluetoothDevice> deviceList = mService.getConnectedDevices();
@@ -81,7 +80,7 @@
 
         @Override
         public void onServiceDisconnected(int profile) {
-            if (V) Log.d(TAG,"Bluetooth service disconnected");
+            Log.d(TAG, "Bluetooth service disconnected");
             mIsProfileReady=false;
         }
     }
@@ -105,7 +104,7 @@
     }
 
     @Override
-    public boolean isConnectable() {
+    public boolean accessProfileEnabled() {
         return true;
     }
 
@@ -115,7 +114,9 @@
     }
 
     public List<BluetoothDevice> getConnectedDevices() {
-        if (mService == null) return new ArrayList<BluetoothDevice>(0);
+        if (mService == null) {
+            return new ArrayList<BluetoothDevice>(0);
+        }
         return mService.getDevicesMatchingConnectionStates(
               new int[] {BluetoothProfile.STATE_CONNECTED,
                          BluetoothProfile.STATE_CONNECTING,
@@ -124,23 +125,17 @@
 
     @Override
     public boolean connect(BluetoothDevice device) {
-        if (mService == null) return false;
-        List<BluetoothDevice> srcs = getConnectedDevices();
-        if (srcs != null) {
-            for (BluetoothDevice src : srcs) {
-                if (src.equals(device)) {
-                    // Connect to same device, Ignore it
-                    Log.d(TAG,"Ignoring Connect");
-                    return true;
-                }
-            }
+        if (mService == null) {
+            return false;
         }
         return mService.connect(device);
     }
 
     @Override
     public boolean disconnect(BluetoothDevice device) {
-        if (mService == null) return false;
+        if (mService == null) {
+            return false;
+        }
         // Downgrade priority as user is disconnecting the headset.
         if (mService.getPriority(device) > BluetoothProfile.PRIORITY_ON){
             mService.setPriority(device, BluetoothProfile.PRIORITY_ON);
@@ -158,19 +153,25 @@
 
     @Override
     public boolean isPreferred(BluetoothDevice device) {
-        if (mService == null) return false;
+        if (mService == null) {
+            return false;
+        }
         return mService.getPriority(device) > BluetoothProfile.PRIORITY_OFF;
     }
 
     @Override
     public int getPreferred(BluetoothDevice device) {
-        if (mService == null) return BluetoothProfile.PRIORITY_OFF;
+        if (mService == null) {
+            return BluetoothProfile.PRIORITY_OFF;
+        }
         return mService.getPriority(device);
     }
 
     @Override
     public void setPreferred(BluetoothDevice device, boolean preferred) {
-        if (mService == null) return;
+        if (mService == null) {
+            return;
+        }
         if (preferred) {
             if (mService.getPriority(device) < BluetoothProfile.PRIORITY_ON) {
                 mService.setPriority(device, BluetoothProfile.PRIORITY_ON);
@@ -216,7 +217,7 @@
     }
 
     protected void finalize() {
-        if (V) Log.d(TAG, "finalize()");
+        Log.d(TAG, "finalize()");
         if (mService != null) {
             try {
                 BluetoothAdapter.getDefaultAdapter().closeProfileProxy(
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HidDeviceProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HidDeviceProfile.java
index 8c4bff5..61e5b6b 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HidDeviceProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HidDeviceProfile.java
@@ -29,7 +29,7 @@
 import java.util.List;
 
 /**
- * HidProfile handles Bluetooth HID profile.
+ * HidDeviceProfile handles Bluetooth HID Device role
  */
 public class HidDeviceProfile implements LocalBluetoothProfile {
     private static final String TAG = "HidDeviceProfile";
@@ -37,7 +37,6 @@
     private static final int ORDINAL = 18;
     // HID Device Profile is always preferred.
     private static final int PREFERRED_VALUE = -1;
-    private static final boolean DEBUG = true;
 
     private final CachedBluetoothDeviceManager mDeviceManager;
     private final LocalBluetoothProfileManager mProfileManager;
@@ -59,9 +58,7 @@
             implements BluetoothProfile.ServiceListener {
 
         public void onServiceConnected(int profile, BluetoothProfile proxy) {
-            if (DEBUG) {
-                Log.d(TAG,"Bluetooth service connected :-)");
-            }
+            Log.d(TAG, "Bluetooth service connected :-), profile:" + profile);
             mService = (BluetoothHidDevice) proxy;
             // We just bound to the service, so refresh the UI for any connected HID devices.
             List<BluetoothDevice> deviceList = mService.getConnectedDevices();
@@ -81,9 +78,7 @@
         }
 
         public void onServiceDisconnected(int profile) {
-            if (DEBUG) {
-                Log.d(TAG, "Bluetooth service disconnected");
-            }
+            Log.d(TAG, "Bluetooth service disconnected, profile:" + profile);
             mIsProfileReady = false;
         }
     }
@@ -99,7 +94,7 @@
     }
 
     @Override
-    public boolean isConnectable() {
+    public boolean accessProfileEnabled() {
         return true;
     }
 
@@ -110,6 +105,7 @@
 
     @Override
     public boolean connect(BluetoothDevice device) {
+        // Don't invoke method in service because settings is not allowed to connect this profile.
         return false;
     }
 
@@ -126,11 +122,7 @@
         if (mService == null) {
             return BluetoothProfile.STATE_DISCONNECTED;
         }
-        List<BluetoothDevice> deviceList = mService.getConnectedDevices();
-
-        return !deviceList.isEmpty() && deviceList.contains(device)
-                ? mService.getConnectionState(device)
-                : BluetoothProfile.STATE_DISCONNECTED;
+        return mService.getConnectionState(device);
     }
 
     @Override
@@ -185,9 +177,7 @@
     }
 
     protected void finalize() {
-        if (DEBUG) {
-            Log.d(TAG, "finalize()");
-        }
+        Log.d(TAG, "finalize()");
         if (mService != null) {
             try {
                 BluetoothAdapter.getDefaultAdapter().closeProfileProxy(BluetoothProfile.HID_DEVICE,
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HidProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HidProfile.java
index fe6b222..75d16db 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HidProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HidProfile.java
@@ -93,7 +93,7 @@
                 BluetoothProfile.HID_HOST);
     }
 
-    public boolean isConnectable() {
+    public boolean accessProfileEnabled() {
         return true;
     }
 
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothProfile.java
index 0447f37..4b0ca74 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothProfile.java
@@ -26,9 +26,9 @@
 public interface LocalBluetoothProfile {
 
     /**
-     * Returns true if the user can initiate a connection, false otherwise.
+     * Return {@code true} if the user can initiate a connection for this profile in UI.
      */
-    boolean isConnectable();
+    boolean accessProfileEnabled();
 
     /**
      * Returns true if the user can enable auto connection for this profile.
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothProfileManager.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothProfileManager.java
index 7000f9d..9653972 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothProfileManager.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothProfileManager.java
@@ -30,6 +30,7 @@
 import android.bluetooth.BluetoothPan;
 import android.bluetooth.BluetoothPbap;
 import android.bluetooth.BluetoothPbapClient;
+import android.bluetooth.BluetoothSap;
 import android.bluetooth.BluetoothProfile;
 import android.bluetooth.BluetoothUuid;
 import android.content.Context;
@@ -98,6 +99,7 @@
     private PbapClientProfile mPbapClientProfile;
     private PbapServerProfile mPbapProfile;
     private HearingAidProfile mHearingAidProfile;
+    private SapProfile mSapProfile;
 
     /**
      * Mapping from profile name, e.g. "HEADSET" to profile object.
@@ -210,6 +212,13 @@
             addProfile(mPbapClientProfile, PbapClientProfile.NAME,
                     BluetoothPbapClient.ACTION_CONNECTION_STATE_CHANGED);
         }
+        if (mSapProfile == null && supportedList.contains(BluetoothProfile.SAP)) {
+            if (DEBUG) {
+                Log.d(TAG, "Adding local SAP profile");
+            }
+            mSapProfile = new SapProfile(mContext, mDeviceManager, this);
+            addProfile(mSapProfile, SapProfile.NAME, BluetoothSap.ACTION_CONNECTION_STATE_CHANGED);
+        }
         mEventManager.registerProfileIntentReceiver();
     }
 
@@ -290,10 +299,11 @@
                 }
             }
 
-            mEventManager.dispatchProfileConnectionStateChanged(cachedDevice, newState,
-                    mProfile.getProfileId());
             cachedDevice.onProfileStateChanged(mProfile, newState);
             cachedDevice.refresh();
+            // Dispatch profile changed after device update
+            mEventManager.dispatchProfileConnectionStateChanged(cachedDevice, newState,
+                    mProfile.getProfileId());
         }
     }
 
@@ -549,6 +559,11 @@
             removedProfiles.remove(mHearingAidProfile);
         }
 
+        if (mSapProfile != null && BluetoothUuid.isUuidPresent(uuids, BluetoothUuid.SAP)) {
+            profiles.add(mSapProfile);
+            removedProfiles.remove(mSapProfile);
+        }
+
         if (DEBUG) {
             Log.d(TAG,"New Profiles" + profiles.toString());
         }
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/MapClientProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/MapClientProfile.java
index 7d334eb..1e22f44 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/MapClientProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/MapClientProfile.java
@@ -32,11 +32,10 @@
 import java.util.List;
 
 /**
- * MapClientProfile handles Bluetooth MAP profile.
+ * MapClientProfile handles the Bluetooth MAP MCE role.
  */
 public final class MapClientProfile implements LocalBluetoothProfile {
     private static final String TAG = "MapClientProfile";
-    private static boolean V = false;
 
     private BluetoothMapClient mService;
     private boolean mIsProfileReady;
@@ -60,7 +59,7 @@
             implements BluetoothProfile.ServiceListener {
 
         public void onServiceConnected(int profile, BluetoothProfile proxy) {
-            if (V) Log.d(TAG,"Bluetooth service connected");
+            Log.d(TAG, "Bluetooth service connected, profile:" + profile);
             mService = (BluetoothMapClient) proxy;
             // We just bound to the service, so refresh the UI for any connected MAP devices.
             List<BluetoothDevice> deviceList = mService.getConnectedDevices();
@@ -82,14 +81,14 @@
         }
 
         public void onServiceDisconnected(int profile) {
-            if (V) Log.d(TAG,"Bluetooth service disconnected");
+            Log.d(TAG, "Bluetooth service disconnected, profile:" + profile);
             mProfileManager.callServiceDisconnectedListeners();
             mIsProfileReady=false;
         }
     }
 
     public boolean isProfileReady() {
-        if(V) Log.d(TAG,"isProfileReady(): "+ mIsProfileReady);
+        Log.d(TAG, "isProfileReady(): "+ mIsProfileReady);
         return mIsProfileReady;
     }
 
@@ -106,7 +105,7 @@
                 new MapClientServiceListener(), BluetoothProfile.MAP_CLIENT);
     }
 
-    public boolean isConnectable() {
+    public boolean accessProfileEnabled() {
         return true;
     }
 
@@ -115,18 +114,16 @@
     }
 
     public boolean connect(BluetoothDevice device) {
-        if (mService == null) return false;
-        List<BluetoothDevice> connectedDevices = getConnectedDevices();
-        if (connectedDevices != null && connectedDevices.contains(device)) {
-            // Connect to same device, Ignore it
-            Log.d(TAG,"Ignoring Connect");
-            return true;
+        if (mService == null) {
+            return false;
         }
         return mService.connect(device);
     }
 
     public boolean disconnect(BluetoothDevice device) {
-        if (mService == null) return false;
+        if (mService == null) {
+            return false;
+        }
         // Downgrade priority as user is disconnecting.
         if (mService.getPriority(device) > BluetoothProfile.PRIORITY_ON) {
             mService.setPriority(device, BluetoothProfile.PRIORITY_ON);
@@ -135,23 +132,30 @@
     }
 
     public int getConnectionStatus(BluetoothDevice device) {
-        if (mService == null) return BluetoothProfile.STATE_DISCONNECTED;
-
+        if (mService == null) {
+            return BluetoothProfile.STATE_DISCONNECTED;
+        }
         return mService.getConnectionState(device);
     }
 
     public boolean isPreferred(BluetoothDevice device) {
-        if (mService == null) return false;
+        if (mService == null) {
+            return false;
+        }
         return mService.getPriority(device) > BluetoothProfile.PRIORITY_OFF;
     }
 
     public int getPreferred(BluetoothDevice device) {
-        if (mService == null) return BluetoothProfile.PRIORITY_OFF;
+        if (mService == null) {
+            return BluetoothProfile.PRIORITY_OFF;
+        }
         return mService.getPriority(device);
     }
 
     public void setPreferred(BluetoothDevice device, boolean preferred) {
-        if (mService == null) return;
+        if (mService == null) {
+            return;
+        }
         if (preferred) {
             if (mService.getPriority(device) < BluetoothProfile.PRIORITY_ON) {
                 mService.setPriority(device, BluetoothProfile.PRIORITY_ON);
@@ -162,7 +166,9 @@
     }
 
     public List<BluetoothDevice> getConnectedDevices() {
-        if (mService == null) return new ArrayList<BluetoothDevice>(0);
+        if (mService == null) {
+            return new ArrayList<BluetoothDevice>(0);
+        }
         return mService.getDevicesMatchingConnectionStates(
               new int[] {BluetoothProfile.STATE_CONNECTED,
                          BluetoothProfile.STATE_CONNECTING,
@@ -200,11 +206,11 @@
     }
 
     protected void finalize() {
-        if (V) Log.d(TAG, "finalize()");
+        Log.d(TAG, "finalize()");
         if (mService != null) {
             try {
                 BluetoothAdapter.getDefaultAdapter().closeProfileProxy(BluetoothProfile.MAP_CLIENT,
-                                                                       mService);
+                        mService);
                 mService = null;
             }catch (Throwable t) {
                 Log.w(TAG, "Error cleaning up MAP Client proxy", t);
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/MapProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/MapProfile.java
index caea04f..7582024 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/MapProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/MapProfile.java
@@ -104,7 +104,7 @@
                 BluetoothProfile.MAP);
     }
 
-    public boolean isConnectable() {
+    public boolean accessProfileEnabled() {
         return true;
     }
 
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/OppProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/OppProfile.java
index dfd1622..e1e5dbe 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/OppProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/OppProfile.java
@@ -32,7 +32,7 @@
     // Order of this profile in device profiles list
     private static final int ORDINAL = 2;
 
-    public boolean isConnectable() {
+    public boolean accessProfileEnabled() {
         return false;
     }
 
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/PanProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/PanProfile.java
index 02afe8d..7b81162 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/PanProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/PanProfile.java
@@ -78,7 +78,7 @@
             BluetoothProfile.PAN);
     }
 
-    public boolean isConnectable() {
+    public boolean accessProfileEnabled() {
         return true;
     }
 
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/PbapClientProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/PbapClientProfile.java
index b295f24..1f15601 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/PbapClientProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/PbapClientProfile.java
@@ -34,7 +34,6 @@
 
 public final class PbapClientProfile implements LocalBluetoothProfile {
     private static final String TAG = "PbapClientProfile";
-    private static boolean V = false;
 
     private BluetoothPbapClient mService;
     private boolean mIsProfileReady;
@@ -56,9 +55,7 @@
             implements BluetoothProfile.ServiceListener {
 
         public void onServiceConnected(int profile, BluetoothProfile proxy) {
-            if (V) {
-                Log.d(TAG,"Bluetooth service connected");
-            }
+            Log.d(TAG, "Bluetooth service connected, profile:" + profile);
             mService = (BluetoothPbapClient) proxy;
             // We just bound to the service, so refresh the UI for any connected PBAP devices.
             List<BluetoothDevice> deviceList = mService.getConnectedDevices();
@@ -77,9 +74,7 @@
         }
 
         public void onServiceDisconnected(int profile) {
-            if (V) {
-                Log.d(TAG,"Bluetooth service disconnected");
-            }
+            Log.d(TAG, "Bluetooth service disconnected, profile:" + profile);
             mIsProfileReady = false;
         }
     }
@@ -112,7 +107,7 @@
                 new PbapClientServiceListener(), BluetoothProfile.PBAP_CLIENT);
     }
 
-    public boolean isConnectable() {
+    public boolean accessProfileEnabled() {
         return true;
     }
 
@@ -131,31 +126,16 @@
     }
 
     public boolean connect(BluetoothDevice device) {
-        if (V) {
-            Log.d(TAG,"PBAPClientProfile got connect request");
-        }
+        Log.d(TAG,"PBAPClientProfile got connect request");
         if (mService == null) {
             return false;
         }
-        List<BluetoothDevice> srcs = getConnectedDevices();
-        if (srcs != null) {
-            for (BluetoothDevice src : srcs) {
-                if (src.equals(device)) {
-                    // Connect to same device, Ignore it
-                    Log.d(TAG,"Ignoring Connect");
-                    return true;
-                }
-            }
-        }
         Log.d(TAG,"PBAPClientProfile attempting to connect to " + device.getAddress());
-
         return mService.connect(device);
     }
 
     public boolean disconnect(BluetoothDevice device) {
-        if (V) {
-            Log.d(TAG,"PBAPClientProfile got disconnect request");
-        }
+        Log.d(TAG,"PBAPClientProfile got disconnect request");
         if (mService == null) {
             return false;
         }
@@ -218,9 +198,7 @@
     }
 
     protected void finalize() {
-        if (V) {
-            Log.d(TAG, "finalize()");
-        }
+        Log.d(TAG, "finalize()");
         if (mService != null) {
             try {
                 BluetoothAdapter.getDefaultAdapter().closeProfileProxy(
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/PbapServerProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/PbapServerProfile.java
index e9d8cb5..adef0841 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/PbapServerProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/PbapServerProfile.java
@@ -80,7 +80,7 @@
         BluetoothPbap pbap = new BluetoothPbap(context, new PbapServiceListener());
     }
 
-    public boolean isConnectable() {
+    public boolean accessProfileEnabled() {
         return true;
     }
 
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/SapProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/SapProfile.java
index 61602c6..b4acc48 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/SapProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/SapProfile.java
@@ -36,12 +36,10 @@
  */
 final class SapProfile implements LocalBluetoothProfile {
     private static final String TAG = "SapProfile";
-    private static boolean V = true;
 
     private BluetoothSap mService;
     private boolean mIsProfileReady;
 
-    private final LocalBluetoothAdapter mLocalAdapter;
     private final CachedBluetoothDeviceManager mDeviceManager;
     private final LocalBluetoothProfileManager mProfileManager;
 
@@ -59,7 +57,7 @@
             implements BluetoothProfile.ServiceListener {
 
         public void onServiceConnected(int profile, BluetoothProfile proxy) {
-            if (V) Log.d(TAG,"Bluetooth service connected");
+            Log.d(TAG, "Bluetooth service connected, profile:" + profile);
             mService = (BluetoothSap) proxy;
             // We just bound to the service, so refresh the UI for any connected SAP devices.
             List<BluetoothDevice> deviceList = mService.getConnectedDevices();
@@ -81,7 +79,7 @@
         }
 
         public void onServiceDisconnected(int profile) {
-            if (V) Log.d(TAG,"Bluetooth service disconnected");
+            Log.d(TAG, "Bluetooth service disconnected, profile:" + profile);
             mProfileManager.callServiceDisconnectedListeners();
             mIsProfileReady=false;
         }
@@ -96,17 +94,15 @@
         return BluetoothProfile.SAP;
     }
 
-    SapProfile(Context context, LocalBluetoothAdapter adapter,
-            CachedBluetoothDeviceManager deviceManager,
+    SapProfile(Context context, CachedBluetoothDeviceManager deviceManager,
             LocalBluetoothProfileManager profileManager) {
-        mLocalAdapter = adapter;
         mDeviceManager = deviceManager;
         mProfileManager = profileManager;
-        mLocalAdapter.getProfileProxy(context, new SapServiceListener(),
+        BluetoothAdapter.getDefaultAdapter().getProfileProxy(context, new SapServiceListener(),
                 BluetoothProfile.SAP);
     }
 
-    public boolean isConnectable() {
+    public boolean accessProfileEnabled() {
         return true;
     }
 
@@ -115,50 +111,47 @@
     }
 
     public boolean connect(BluetoothDevice device) {
-        if (mService == null) return false;
-        List<BluetoothDevice> sinks = mService.getConnectedDevices();
-        if (sinks != null) {
-            for (BluetoothDevice sink : sinks) {
-                mService.disconnect(sink);
-            }
+        if (mService == null) {
+            return false;
         }
         return mService.connect(device);
     }
 
     public boolean disconnect(BluetoothDevice device) {
-        if (mService == null) return false;
-        List<BluetoothDevice> deviceList = mService.getConnectedDevices();
-        if (!deviceList.isEmpty() && deviceList.get(0).equals(device)) {
-            if (mService.getPriority(device) > BluetoothProfile.PRIORITY_ON) {
-                mService.setPriority(device, BluetoothProfile.PRIORITY_ON);
-            }
-            return mService.disconnect(device);
-        } else {
+        if (mService == null) {
             return false;
         }
+        if (mService.getPriority(device) > BluetoothProfile.PRIORITY_ON) {
+            mService.setPriority(device, BluetoothProfile.PRIORITY_ON);
+        }
+        return mService.disconnect(device);
     }
 
     public int getConnectionStatus(BluetoothDevice device) {
-        if (mService == null) return BluetoothProfile.STATE_DISCONNECTED;
-        List<BluetoothDevice> deviceList = mService.getConnectedDevices();
-
-        return !deviceList.isEmpty() && deviceList.get(0).equals(device)
-                ? mService.getConnectionState(device)
-                : BluetoothProfile.STATE_DISCONNECTED;
+        if (mService == null) {
+            return BluetoothProfile.STATE_DISCONNECTED;
+        }
+        return mService.getConnectionState(device);
     }
 
     public boolean isPreferred(BluetoothDevice device) {
-        if (mService == null) return false;
+        if (mService == null) {
+            return false;
+        }
         return mService.getPriority(device) > BluetoothProfile.PRIORITY_OFF;
     }
 
     public int getPreferred(BluetoothDevice device) {
-        if (mService == null) return BluetoothProfile.PRIORITY_OFF;
+        if (mService == null) {
+            return BluetoothProfile.PRIORITY_OFF;
+        }
         return mService.getPriority(device);
     }
 
     public void setPreferred(BluetoothDevice device, boolean preferred) {
-        if (mService == null) return;
+        if (mService == null) {
+            return;
+        }
         if (preferred) {
             if (mService.getPriority(device) < BluetoothProfile.PRIORITY_ON) {
                 mService.setPriority(device, BluetoothProfile.PRIORITY_ON);
@@ -169,7 +162,9 @@
     }
 
     public List<BluetoothDevice> getConnectedDevices() {
-        if (mService == null) return new ArrayList<BluetoothDevice>(0);
+        if (mService == null) {
+            return new ArrayList<BluetoothDevice>(0);
+        }
         return mService.getDevicesMatchingConnectionStates(
               new int[] {BluetoothProfile.STATE_CONNECTED,
                          BluetoothProfile.STATE_CONNECTING,
@@ -207,11 +202,11 @@
     }
 
     protected void finalize() {
-        if (V) Log.d(TAG, "finalize()");
+        Log.d(TAG, "finalize()");
         if (mService != null) {
             try {
                 BluetoothAdapter.getDefaultAdapter().closeProfileProxy(BluetoothProfile.SAP,
-                                                                       mService);
+                        mService);
                 mService = null;
             }catch (Throwable t) {
                 Log.w(TAG, "Error cleaning up SAP proxy", t);
diff --git a/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXml.java b/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXml.java
index 42306f6..9db4a35 100644
--- a/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXml.java
+++ b/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXml.java
@@ -46,7 +46,7 @@
  * TODO: Remove duplicate codes once backward support ends.
  */
 class LicenseHtmlGeneratorFromXml {
-    private static final String TAG = "LicenseHtmlGeneratorFromXml";
+    private static final String TAG = "LicenseGeneratorFromXml";
 
     private static final String TAG_ROOT = "licenses";
     private static final String TAG_FILE_NAME = "file-name";
@@ -107,12 +107,13 @@
         mXmlFiles = xmlFiles;
     }
 
-    public static boolean generateHtml(List<File> xmlFiles, File outputFile) {
+    public static boolean generateHtml(List<File> xmlFiles, File outputFile,
+            String noticeHeader) {
         LicenseHtmlGeneratorFromXml genertor = new LicenseHtmlGeneratorFromXml(xmlFiles);
-        return genertor.generateHtml(outputFile);
+        return genertor.generateHtml(outputFile, noticeHeader);
     }
 
-    private boolean generateHtml(File outputFile) {
+    private boolean generateHtml(File outputFile, String noticeHeader) {
         for (File xmlFile : mXmlFiles) {
             parse(xmlFile);
         }
@@ -125,7 +126,8 @@
         try {
             writer = new PrintWriter(outputFile);
 
-            generateHtml(mFileNameToContentIdMap, mContentIdToFileContentMap, writer);
+            generateHtml(mFileNameToContentIdMap, mContentIdToFileContentMap, writer,
+                noticeHeader);
 
             writer.flush();
             writer.close();
@@ -239,13 +241,18 @@
 
     @VisibleForTesting
     static void generateHtml(Map<String, String> fileNameToContentIdMap,
-            Map<String, String> contentIdToFileContentMap, PrintWriter writer) {
+            Map<String, String> contentIdToFileContentMap, PrintWriter writer,
+            String noticeHeader) {
         List<String> fileNameList = new ArrayList();
         fileNameList.addAll(fileNameToContentIdMap.keySet());
         Collections.sort(fileNameList);
 
         writer.println(HTML_HEAD_STRING);
 
+        if (!TextUtils.isEmpty(noticeHeader)) {
+            writer.println(noticeHeader);
+        }
+
         int count = 0;
         Map<String, Integer> contentIdToOrderMap = new HashMap();
         List<ContentIdAndFileNames> contentIdAndFileNamesList = new ArrayList();
diff --git a/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlLoader.java b/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlLoader.java
index 3930069..78e807c 100644
--- a/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlLoader.java
+++ b/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlLoader.java
@@ -60,7 +60,7 @@
 
         File cachedHtmlFile = getCachedHtmlFile(mContext);
         if (!isCachedHtmlFileOutdated(xmlFiles, cachedHtmlFile)
-                || generateHtmlFile(xmlFiles, cachedHtmlFile)) {
+                || generateHtmlFile(mContext, xmlFiles, cachedHtmlFile)) {
             return cachedHtmlFile;
         }
 
diff --git a/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlLoaderCompat.java b/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlLoaderCompat.java
index 360c19c..ca62485 100644
--- a/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlLoaderCompat.java
+++ b/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlLoaderCompat.java
@@ -19,6 +19,7 @@
 import android.content.Context;
 import android.util.Log;
 
+import com.android.settingslib.R;
 import com.android.settingslib.utils.AsyncLoaderCompat;
 
 import java.io.File;
@@ -65,7 +66,7 @@
 
         File cachedHtmlFile = getCachedHtmlFile(mContext);
         if (!isCachedHtmlFileOutdated(xmlFiles, cachedHtmlFile)
-                || generateHtmlFile(xmlFiles, cachedHtmlFile)) {
+                || generateHtmlFile(mContext, xmlFiles, cachedHtmlFile)) {
             return cachedHtmlFile;
         }
 
@@ -101,7 +102,8 @@
         return outdated;
     }
 
-    static boolean generateHtmlFile(List<File> xmlFiles, File htmlFile) {
-        return LicenseHtmlGeneratorFromXml.generateHtml(xmlFiles, htmlFile);
+    static boolean generateHtmlFile(Context context, List<File> xmlFiles, File htmlFile) {
+        return LicenseHtmlGeneratorFromXml.generateHtml(xmlFiles, htmlFile,
+                context.getString(R.string.notice_header));
     }
 }
diff --git a/packages/SettingsLib/src/com/android/settingslib/net/ChartDataLoader.java b/packages/SettingsLib/src/com/android/settingslib/net/ChartDataLoader.java
index 223c055..60d22a0 100644
--- a/packages/SettingsLib/src/com/android/settingslib/net/ChartDataLoader.java
+++ b/packages/SettingsLib/src/com/android/settingslib/net/ChartDataLoader.java
@@ -34,8 +34,11 @@
 import com.android.settingslib.AppItem;
 
 /**
- * Loader for historical chart data for both network and UID details.
+ * Framework loader is deprecated, use the compat version instead.
+ *
+ * @deprecated
  */
+@Deprecated
 public class ChartDataLoader extends AsyncTaskLoader<ChartData> {
     private static final String KEY_TEMPLATE = "template";
     private static final String KEY_APP = "app";
diff --git a/packages/SettingsLib/src/com/android/settingslib/net/ChartDataLoaderCompat.java b/packages/SettingsLib/src/com/android/settingslib/net/ChartDataLoaderCompat.java
index c3241bb..e9c5238 100644
--- a/packages/SettingsLib/src/com/android/settingslib/net/ChartDataLoaderCompat.java
+++ b/packages/SettingsLib/src/com/android/settingslib/net/ChartDataLoaderCompat.java
@@ -36,7 +36,13 @@
 
 /**
  * Loader for historical chart data for both network and UID details.
+ *
+ * Deprecated in favor of {@link NetworkCycleChartDataLoader} and
+ * {@link NetworkCycleDataForUidLoader}
+ *
+ * @deprecated
  */
+@Deprecated
 public class ChartDataLoaderCompat extends AsyncTaskLoader<ChartData> {
     private static final String KEY_TEMPLATE = "template";
     private static final String KEY_APP = "app";
diff --git a/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleChartData.java b/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleChartData.java
new file mode 100644
index 0000000..9b3ff8b
--- /dev/null
+++ b/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleChartData.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.settingslib.net;
+
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Usage data in a billing cycle with bucketized data for plotting the usage chart.
+ */
+public class NetworkCycleChartData extends NetworkCycleData {
+    public static final long BUCKET_DURATION_MS = TimeUnit.DAYS.toMillis(1);
+
+    private List<NetworkCycleData> mUsageBuckets;
+
+    private NetworkCycleChartData() {
+    }
+
+    public List<NetworkCycleData> getUsageBuckets() {
+        return mUsageBuckets;
+    }
+
+    public static class Builder extends NetworkCycleData.Builder {
+        private NetworkCycleChartData mObject = new NetworkCycleChartData();
+
+        public Builder setUsageBuckets(List<NetworkCycleData> buckets) {
+            getObject().mUsageBuckets = buckets;
+            return this;
+        }
+
+        @Override
+        protected NetworkCycleChartData getObject() {
+            return mObject;
+        }
+
+        @Override
+        public NetworkCycleChartData build() {
+            return getObject();
+        }
+    }
+
+}
diff --git a/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleChartDataLoader.java b/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleChartDataLoader.java
new file mode 100644
index 0000000..7ae3398
--- /dev/null
+++ b/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleChartDataLoader.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.settingslib.net;
+
+import android.app.usage.NetworkStats;
+import android.content.Context;
+import android.os.RemoteException;
+import android.util.Log;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Loader for network data usage history. It returns a list of usage data per billing cycle with
+ * bucketized usages.
+ */
+public class NetworkCycleChartDataLoader
+        extends NetworkCycleDataLoader<List<NetworkCycleChartData>> {
+
+    private static final String TAG = "NetworkCycleChartLoader";
+
+    private final List<NetworkCycleChartData> mData;
+
+    private NetworkCycleChartDataLoader(Builder builder) {
+        super(builder);
+        mData = new ArrayList<NetworkCycleChartData>();
+    }
+
+    @Override
+    void recordUsage(long start, long end) {
+        try {
+            final NetworkStats stats = mNetworkStatsManager.querySummary(
+                mNetworkType, mSubId, start, end);
+            final long total = getTotalUsage(stats);
+            if (total > 0L) {
+                final NetworkCycleChartData.Builder builder = new NetworkCycleChartData.Builder();
+                builder.setUsageBuckets(getUsageBuckets(start, end))
+                    .setStartTime(start)
+                    .setEndTime(end)
+                    .setTotalUsage(total);
+                mData.add(builder.build());
+            }
+        } catch (RemoteException e) {
+            Log.e(TAG, "Exception querying network detail.", e);
+        }
+    }
+
+    @Override
+    List<NetworkCycleChartData> getCycleUsage() {
+        return mData;
+    }
+
+    public static Builder<?> builder(Context context) {
+        return new Builder<NetworkCycleChartDataLoader>(context) {
+            @Override
+            public NetworkCycleChartDataLoader build() {
+                return new NetworkCycleChartDataLoader(this);
+            }
+        };
+    }
+
+    private List<NetworkCycleData> getUsageBuckets(long start, long end) {
+        final List<NetworkCycleData> data = new ArrayList<>();
+        long bucketStart = start;
+        long bucketEnd = start + NetworkCycleChartData.BUCKET_DURATION_MS;
+        while (bucketEnd <= end) {
+            long usage = 0L;
+            try {
+                final NetworkStats stats = mNetworkStatsManager.querySummary(
+                    mNetworkType, mSubId, bucketStart, bucketEnd);
+                usage = getTotalUsage(stats);
+            } catch (RemoteException e) {
+                Log.e(TAG, "Exception querying network detail.", e);
+            }
+            data.add(new NetworkCycleData.Builder()
+                .setStartTime(bucketStart).setEndTime(bucketEnd).setTotalUsage(usage).build());
+            bucketStart = bucketEnd;
+            bucketEnd += NetworkCycleChartData.BUCKET_DURATION_MS;
+        }
+        return data;
+    }
+
+    public static abstract class Builder<T extends NetworkCycleChartDataLoader>
+            extends NetworkCycleDataLoader.Builder<T> {
+
+        public Builder(Context context) {
+            super(context);
+        }
+
+    }
+
+}
diff --git a/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleData.java b/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleData.java
new file mode 100644
index 0000000..26c65a2
--- /dev/null
+++ b/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleData.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.settingslib.net;
+
+/**
+ * Base data structure representing usage data in a billing cycle.
+ */
+public class NetworkCycleData {
+
+    private long mStartTime;
+    private long mEndTime;
+    private long mTotalUsage;
+
+    protected NetworkCycleData() {
+    }
+
+    public long getStartTime() {
+        return mStartTime;
+    }
+
+    public long getEndTime() {
+        return mEndTime;
+    }
+
+    public long getTotalUsage() {
+        return mTotalUsage;
+    }
+
+    public static class Builder {
+
+        private NetworkCycleData mObject = new NetworkCycleData();
+
+        public Builder setStartTime(long start) {
+            getObject().mStartTime = start;
+            return this;
+        }
+
+        public Builder setEndTime(long end) {
+            getObject().mEndTime = end;
+            return this;
+        }
+
+        public Builder setTotalUsage(long total) {
+            getObject().mTotalUsage = total;
+            return this;
+        }
+
+        protected NetworkCycleData getObject() {
+            return mObject;
+        }
+
+        public NetworkCycleData build() {
+            return getObject();
+        }
+    }
+}
diff --git a/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleDataForUid.java b/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleDataForUid.java
new file mode 100644
index 0000000..9d13717
--- /dev/null
+++ b/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleDataForUid.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.settingslib.net;
+
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Usage data in a billing cycle for a specific Uid.
+ */
+public class NetworkCycleDataForUid extends NetworkCycleData {
+
+    private long mBackgroudUsage;
+    private long mForegroudUsage;
+
+    private NetworkCycleDataForUid() {
+    }
+
+    public long getBackgroudUsage() {
+        return mBackgroudUsage;
+    }
+
+    public long getForegroudUsage() {
+        return mForegroudUsage;
+    }
+
+    public static class Builder extends NetworkCycleData.Builder {
+
+        private NetworkCycleDataForUid mObject = new NetworkCycleDataForUid();
+
+        public Builder setBackgroundUsage(long backgroundUsage) {
+            getObject().mBackgroudUsage = backgroundUsage;
+            return this;
+        }
+
+        public Builder setForegroundUsage(long foregroundUsage) {
+            getObject().mForegroudUsage = foregroundUsage;
+            return this;
+        }
+
+        @Override
+        public NetworkCycleDataForUid getObject() {
+            return mObject;
+        }
+
+        @Override
+        public NetworkCycleDataForUid build() {
+            return getObject();
+        }
+    }
+
+}
diff --git a/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleDataForUidLoader.java b/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleDataForUidLoader.java
new file mode 100644
index 0000000..95efb4c
--- /dev/null
+++ b/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleDataForUidLoader.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.settingslib.net;
+
+import static android.app.usage.NetworkStats.Bucket.STATE_FOREGROUND;
+import static android.net.NetworkStats.TAG_NONE;
+
+import android.app.usage.NetworkStats;
+import android.content.Context;
+import android.util.Log;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Loader for network data usage history. It returns a list of usage data per billing cycle for a
+ * specific Uid.
+ */
+public class NetworkCycleDataForUidLoader extends
+        NetworkCycleDataLoader<List<NetworkCycleDataForUid>> {
+    private static final String TAG = "NetworkDataForUidLoader";
+
+    private final List<NetworkCycleDataForUid> mData;
+    private final int mUid;
+
+    private NetworkCycleDataForUidLoader(Builder builder) {
+        super(builder);
+        mUid = builder.mUid;
+        mData = new ArrayList<NetworkCycleDataForUid>();
+    }
+
+    @Override
+    void recordUsage(long start, long end) {
+        try {
+            final NetworkStats stats = mNetworkStatsManager.queryDetailsForUid(
+                mNetworkType, mSubId, start, end, mUid);
+            final long total = getTotalUsage(stats);
+            if (total > 0L) {
+                final long foreground = getForegroundUsage(start, end);
+                final NetworkCycleDataForUid.Builder builder = new NetworkCycleDataForUid.Builder();
+                builder.setBackgroundUsage(total - foreground)
+                    .setForegroundUsage(foreground)
+                    .setStartTime(start)
+                    .setEndTime(end)
+                    .setTotalUsage(total);
+                mData.add(builder.build());
+            }
+        } catch (Exception e) {
+            Log.e(TAG, "Exception querying network detail.", e);
+        }
+    }
+
+    @Override
+    List<NetworkCycleDataForUid> getCycleUsage() {
+        return mData;
+    }
+
+    public static Builder<?> builder(Context context) {
+        return new Builder<NetworkCycleDataForUidLoader>(context) {
+            @Override
+            public NetworkCycleDataForUidLoader build() {
+                return new NetworkCycleDataForUidLoader(this);
+            }
+        };
+    }
+
+    private long getForegroundUsage(long start, long end) {
+        final NetworkStats stats = mNetworkStatsManager.queryDetailsForUidTagState(
+            mNetworkType, mSubId, start, end, mUid, TAG_NONE, STATE_FOREGROUND);
+        return getTotalUsage(stats);
+    }
+
+    public static abstract class Builder<T extends NetworkCycleDataForUidLoader>
+            extends NetworkCycleDataLoader.Builder<T> {
+
+        private int mUid;
+
+        public Builder(Context context) {
+            super(context);
+        }
+
+        public Builder<T> setUid(int uid) {
+            mUid = uid;
+            return this;
+        }
+    }
+
+}
diff --git a/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleDataLoader.java b/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleDataLoader.java
new file mode 100644
index 0000000..cc936d2
--- /dev/null
+++ b/packages/SettingsLib/src/com/android/settingslib/net/NetworkCycleDataLoader.java
@@ -0,0 +1,189 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.settingslib.net;
+
+import static android.net.NetworkStatsHistory.FIELD_RX_BYTES;
+import static android.net.NetworkStatsHistory.FIELD_TX_BYTES;
+
+import android.app.usage.NetworkStats;
+import android.app.usage.NetworkStatsManager;
+import android.content.Context;
+import android.net.INetworkStatsService;
+import android.net.INetworkStatsSession;
+import android.net.NetworkPolicy;
+import android.net.NetworkPolicyManager;
+import android.net.NetworkStatsHistory;
+import android.net.NetworkTemplate;
+import android.net.TrafficStats;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.text.format.DateUtils;
+import android.util.Pair;
+
+import java.time.ZonedDateTime;
+import java.util.Iterator;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.loader.content.AsyncTaskLoader;
+
+/**
+ * Loader for network data usage history. It returns a list of usage data per billing cycle.
+ */
+public abstract class NetworkCycleDataLoader<D> extends AsyncTaskLoader<D> {
+    private static final String TAG = "NetworkCycleDataLoader";
+    protected final NetworkStatsManager mNetworkStatsManager;
+    protected final String mSubId;
+    protected final int mNetworkType;
+    private final NetworkPolicy mPolicy;
+    private final NetworkTemplate mNetworkTemplate;
+    @VisibleForTesting
+    final INetworkStatsService mNetworkStatsService;
+
+    protected NetworkCycleDataLoader(Builder<?> builder) {
+        super(builder.mContext);
+        mPolicy = builder.mPolicy;
+        mSubId = builder.mSubId;
+        mNetworkType = builder.mNetworkType;
+        mNetworkTemplate = builder.mNetworkTemplate;
+        mNetworkStatsManager = (NetworkStatsManager)
+            builder.mContext.getSystemService(Context.NETWORK_STATS_SERVICE);
+        mNetworkStatsService = INetworkStatsService.Stub.asInterface(
+            ServiceManager.getService(Context.NETWORK_STATS_SERVICE));
+    }
+
+    @Override
+    protected void onStartLoading() {
+        super.onStartLoading();
+        forceLoad();
+    }
+
+    public D loadInBackground() {
+        if (mPolicy == null) {
+            loadFourWeeksData();
+        } else {
+            loadPolicyData();
+        }
+        return getCycleUsage();
+    }
+
+    @VisibleForTesting
+    void loadPolicyData() {
+        final Iterator<Pair<ZonedDateTime, ZonedDateTime>> iterator =
+            NetworkPolicyManager.cycleIterator(mPolicy);
+        while (iterator.hasNext()) {
+            final Pair<ZonedDateTime, ZonedDateTime> cycle = iterator.next();
+            final long cycleStart = cycle.first.toInstant().toEpochMilli();
+            final long cycleEnd = cycle.second.toInstant().toEpochMilli();
+            recordUsage(cycleStart, cycleEnd);
+        }
+    }
+
+    @Override
+    protected void onStopLoading() {
+        super.onStopLoading();
+        cancelLoad();
+    }
+
+    @Override
+    protected void onReset() {
+        super.onReset();
+        cancelLoad();
+    }
+
+    @VisibleForTesting
+    void loadFourWeeksData() {
+        try {
+            final INetworkStatsSession networkSession = mNetworkStatsService.openSession();
+            final NetworkStatsHistory networkHistory = networkSession.getHistoryForNetwork(
+                mNetworkTemplate, FIELD_RX_BYTES | FIELD_TX_BYTES);
+            final long historyStart = networkHistory.getStart();
+            final long historyEnd = networkHistory.getEnd();
+
+            long cycleEnd = historyEnd;
+            while (cycleEnd > historyStart) {
+                final long cycleStart = cycleEnd - (DateUtils.WEEK_IN_MILLIS * 4);
+                recordUsage(cycleStart, cycleEnd);
+                cycleEnd = cycleStart;
+            }
+
+            TrafficStats.closeQuietly(networkSession);
+        } catch (RemoteException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    @VisibleForTesting
+    abstract void recordUsage(long start, long end);
+
+    abstract D getCycleUsage();
+
+    public static Builder<?> builder(Context context) {
+        return new Builder<NetworkCycleDataLoader>(context) {
+            @Override
+            public NetworkCycleDataLoader build() {
+                return null;
+            }
+        };
+    }
+
+    protected long getTotalUsage(NetworkStats stats) {
+        long bytes = 0L;
+        if (stats != null) {
+            final NetworkStats.Bucket bucket = new NetworkStats.Bucket();
+            while (stats.hasNextBucket() && stats.getNextBucket(bucket)) {
+                bytes += bucket.getRxBytes() + bucket.getTxBytes();
+            }
+            stats.close();
+        }
+        return bytes;
+    }
+
+    public static abstract class Builder<T extends NetworkCycleDataLoader> {
+        private final Context mContext;
+        private NetworkPolicy mPolicy;
+        private String mSubId;
+        private int mNetworkType;
+        private NetworkTemplate mNetworkTemplate;
+
+        public Builder (Context context) {
+            mContext = context;
+        }
+
+        public Builder<T> setNetworkPolicy(NetworkPolicy policy) {
+            mPolicy = policy;
+            return this;
+        }
+
+        public Builder<T> setSubscriberId(String subId) {
+            mSubId = subId;
+            return this;
+        }
+
+        public Builder<T> setNetworkType(int networkType) {
+            mNetworkType = networkType;
+            return this;
+        }
+
+        public Builder<T> setNetworkTemplate(NetworkTemplate template) {
+            mNetworkTemplate = template;
+            return this;
+        }
+
+        public abstract T build();
+    }
+
+}
diff --git a/packages/SettingsLib/src/com/android/settingslib/net/NetworkStatsSummaryLoader.java b/packages/SettingsLib/src/com/android/settingslib/net/NetworkStatsSummaryLoader.java
new file mode 100644
index 0000000..34e6097
--- /dev/null
+++ b/packages/SettingsLib/src/com/android/settingslib/net/NetworkStatsSummaryLoader.java
@@ -0,0 +1,112 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.settingslib.net;
+
+import android.app.usage.NetworkStatsManager;
+import android.app.usage.NetworkStats;
+import android.content.Context;
+import android.os.RemoteException;
+import android.util.Log;
+
+import androidx.loader.content.AsyncTaskLoader;
+
+/**
+ * Loader for retrieving the network stats summary for all UIDs.
+ */
+public class NetworkStatsSummaryLoader extends AsyncTaskLoader<NetworkStats> {
+
+    private static final String TAG = "NetworkDetailLoader";
+    private final NetworkStatsManager mNetworkStatsManager;
+    private final long mStart;
+    private final long mEnd;
+    private final String mSubId;
+    private final int mNetworkType;
+
+    private NetworkStatsSummaryLoader(Builder builder) {
+        super(builder.mContext);
+        mStart = builder.mStart;
+        mEnd = builder.mEnd;
+        mSubId = builder.mSubId;
+        mNetworkType = builder.mNetworkType;
+        mNetworkStatsManager = (NetworkStatsManager)
+                builder.mContext.getSystemService(Context.NETWORK_STATS_SERVICE);
+    }
+
+    @Override
+    protected void onStartLoading() {
+        super.onStartLoading();
+        forceLoad();
+    }
+
+    @Override
+    public NetworkStats loadInBackground() {
+        try {
+            return mNetworkStatsManager.querySummary(mNetworkType, mSubId, mStart, mEnd);
+        } catch (RemoteException e) {
+            Log.e(TAG, "Exception querying network detail.", e);
+            return null;
+        }
+    }
+
+    @Override
+    protected void onStopLoading() {
+        super.onStopLoading();
+        cancelLoad();
+    }
+
+    @Override
+    protected void onReset() {
+        super.onReset();
+        cancelLoad();
+    }
+
+    public static class Builder {
+        private final Context mContext;
+        private long mStart;
+        private long mEnd;
+        private String mSubId;
+        private int mNetworkType;
+
+        public Builder(Context context) {
+            mContext = context;
+        }
+
+        public Builder setStartTime(long start) {
+            mStart = start;
+            return this;
+        }
+
+        public Builder setEndTime(long end) {
+            mEnd = end;
+            return this;
+        }
+
+        public Builder setSubscriberId(String subId) {
+            mSubId = subId;
+            return this;
+        }
+
+        public Builder setNetworkType(int networkType) {
+            mNetworkType = networkType;
+            return this;
+        }
+
+        public NetworkStatsSummaryLoader build() {
+            return new NetworkStatsSummaryLoader(this);
+        }
+    }
+}
diff --git a/packages/SettingsLib/src/com/android/settingslib/net/SummaryForAllUidLoader.java b/packages/SettingsLib/src/com/android/settingslib/net/SummaryForAllUidLoader.java
index 572bae1..649aeff 100644
--- a/packages/SettingsLib/src/com/android/settingslib/net/SummaryForAllUidLoader.java
+++ b/packages/SettingsLib/src/com/android/settingslib/net/SummaryForAllUidLoader.java
@@ -24,6 +24,12 @@
 import android.os.Bundle;
 import android.os.RemoteException;
 
+/**
+ * Framework loader is deprecated, use the compat version instead.
+ *
+ * @deprecated
+ */
+@Deprecated
 public class SummaryForAllUidLoader extends AsyncTaskLoader<NetworkStats> {
     private static final String KEY_TEMPLATE = "template";
     private static final String KEY_START = "start";
diff --git a/packages/SettingsLib/src/com/android/settingslib/net/SummaryForAllUidLoaderCompat.java b/packages/SettingsLib/src/com/android/settingslib/net/SummaryForAllUidLoaderCompat.java
index c311337..82bb011 100644
--- a/packages/SettingsLib/src/com/android/settingslib/net/SummaryForAllUidLoaderCompat.java
+++ b/packages/SettingsLib/src/com/android/settingslib/net/SummaryForAllUidLoaderCompat.java
@@ -25,6 +25,12 @@
 
 import androidx.loader.content.AsyncTaskLoader;
 
+/**
+ * Deprecated in favor of {@link NetworkStatsDetailLoader}
+ *
+ * @deprecated
+ */
+@Deprecated
 public class SummaryForAllUidLoaderCompat extends AsyncTaskLoader<NetworkStats> {
     private static final String KEY_TEMPLATE = "template";
     private static final String KEY_START = "start";
diff --git a/packages/SettingsLib/src/com/android/settingslib/suggestions/SuggestionControllerMixin.java b/packages/SettingsLib/src/com/android/settingslib/suggestions/SuggestionControllerMixin.java
index 6597daa..b0e987e 100644
--- a/packages/SettingsLib/src/com/android/settingslib/suggestions/SuggestionControllerMixin.java
+++ b/packages/SettingsLib/src/com/android/settingslib/suggestions/SuggestionControllerMixin.java
@@ -32,8 +32,11 @@
 import java.util.List;
 
 /**
- * Manages IPC communication to SettingsIntelligence for suggestion related services.
+ * Framework mixin is deprecated, use the compat version instead.
+ *
+ * @deprecated
  */
+@Deprecated
 public class SuggestionControllerMixin implements SuggestionController.ServiceConnectionListener,
         androidx.lifecycle.LifecycleObserver, LoaderManager.LoaderCallbacks<List<Suggestion>> {
 
@@ -65,7 +68,7 @@
         mContext = context.getApplicationContext();
         mHost = host;
         mSuggestionController = new SuggestionController(mContext, componentName,
-                    this /* serviceConnectionListener */);
+                this /* serviceConnectionListener */);
         if (lifecycle != null) {
             lifecycle.addObserver(this);
         }
diff --git a/packages/SettingsLib/src/com/android/settingslib/suggestions/SuggestionLoader.java b/packages/SettingsLib/src/com/android/settingslib/suggestions/SuggestionLoader.java
index 9c1af1e..8011424 100644
--- a/packages/SettingsLib/src/com/android/settingslib/suggestions/SuggestionLoader.java
+++ b/packages/SettingsLib/src/com/android/settingslib/suggestions/SuggestionLoader.java
@@ -24,6 +24,12 @@
 
 import java.util.List;
 
+/**
+ * Framework loader is deprecated, use the compat version instead.
+ *
+ * @deprecated
+ */
+@Deprecated
 public class SuggestionLoader extends AsyncLoader<List<Suggestion>> {
 
     public static final int LOADER_ID_SUGGESTIONS = 42;
diff --git a/packages/SettingsLib/src/com/android/settingslib/utils/AsyncLoader.java b/packages/SettingsLib/src/com/android/settingslib/utils/AsyncLoader.java
index 06770ac..64b9ffe 100644
--- a/packages/SettingsLib/src/com/android/settingslib/utils/AsyncLoader.java
+++ b/packages/SettingsLib/src/com/android/settingslib/utils/AsyncLoader.java
@@ -29,7 +29,9 @@
  * This loader is based on the MailAsyncTaskLoader from the AOSP EmailUnified repo.
  *
  * @param <T> the data type to be loaded.
+ * @deprecated Framework loader is deprecated, use the compat version instead.
  */
+@Deprecated
 public abstract class AsyncLoader<T> extends AsyncTaskLoader<T> {
     private T mResult;
 
diff --git a/packages/SettingsLib/src/com/android/settingslib/widget/FooterPreferenceMixin.java b/packages/SettingsLib/src/com/android/settingslib/widget/FooterPreferenceMixin.java
index 2987c15..fcf2363 100644
--- a/packages/SettingsLib/src/com/android/settingslib/widget/FooterPreferenceMixin.java
+++ b/packages/SettingsLib/src/com/android/settingslib/widget/FooterPreferenceMixin.java
@@ -25,6 +25,12 @@
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.SetPreferenceScreen;
 
+/**
+ * Framework mixin is deprecated, use the compat version instead.
+ *
+ * @deprecated
+ */
+@Deprecated
 public class FooterPreferenceMixin implements LifecycleObserver, SetPreferenceScreen {
 
     private final PreferenceFragment mFragment;
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
index 9050b4b..0dbc037 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
@@ -81,7 +81,7 @@
     private static final long DEFAULT_MAX_CACHED_SCORE_AGE_MILLIS = 20 * DateUtils.MINUTE_IN_MILLIS;
 
     /** Maximum age of scan results to hold onto while actively scanning. **/
-    private static final long MAX_SCAN_RESULT_AGE_MILLIS = 25000;
+    private static final long MAX_SCAN_RESULT_AGE_MILLIS = 15000;
 
     private static final String TAG = "WifiTracker";
     private static final boolean DBG() {
@@ -134,8 +134,8 @@
     /**
      * Tracks whether fresh scan results have been received since scanning start.
      *
-     * <p>If this variable is false, we will not evict the scan result cache or invoke callbacks
-     * so that we do not update the UI with stale data / clear out existing UI elements prematurely.
+     * <p>If this variable is false, we will not invoke callbacks so that we do not
+     * update the UI with stale data / clear out existing UI elements prematurely.
      */
     private boolean mStaleScanResults = true;
 
@@ -327,7 +327,8 @@
      * <p>Intended to only be invoked within {@link #onStart()}.
      */
     @MainThread
-    private void forceUpdate() {
+    @VisibleForTesting
+    void forceUpdate() {
         mLastInfo = mWifiManager.getConnectionInfo();
         mLastNetworkInfo = mConnectivityManager.getNetworkInfo(mWifiManager.getCurrentNetwork());
 
@@ -443,10 +444,8 @@
             mScanResultCache.put(newResult.BSSID, newResult);
         }
 
-        // Don't evict old results if no new scan results
-        if (!mStaleScanResults) {
-            evictOldScans();
-        }
+        // Evict old results in all conditions
+        evictOldScans();
 
         ArrayMap<String, List<ScanResult>> scanResultsByApKey = new ArrayMap<>();
         for (ScanResult result : mScanResultCache.values()) {
diff --git a/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java b/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java
index 517db78..1860b31 100644
--- a/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java
+++ b/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java
@@ -21,7 +21,6 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.anyInt;
 import static org.mockito.Mockito.doAnswer;
@@ -104,6 +103,10 @@
     private static final byte SCORE_2 = 15;
     private static final int BADGE_2 = AccessPoint.Speed.FAST;
 
+    private static final String SSID_3 = "ssid3";
+    private static final String BSSID_3 = "CC:00:00:00:00:00";
+    private static final int RSSI_3 = -40;
+
     // TODO(b/65594609): Convert mutable Data objects to instance variables / builder pattern
     private static final int NETWORK_ID_1 = 123;
     private static final int CONNECTED_RSSI = -50;
@@ -255,6 +258,19 @@
                 SystemClock.elapsedRealtime() * 1000 /* microsecond timestamp */);
     }
 
+    private static ScanResult buildStaleScanResult() {
+        return new ScanResult(
+                WifiSsid.createFromAsciiEncoded(SSID_3),
+                BSSID_3,
+                0, // hessid
+                0, //anqpDomainId
+                null, // osuProviders
+                "", // capabilities
+                RSSI_3,
+                0, // frequency
+                0 /* microsecond timestamp */);
+    }
+
     private WifiTracker createTrackerWithImmediateBroadcastsAndInjectInitialScanResults(
                     Intent ... intents)
             throws InterruptedException {
@@ -896,4 +912,18 @@
         assertThat(aps.get(0).isReachable()).isTrue();
         assertThat(aps.get(1).isReachable()).isTrue();
     }
+
+    @Test
+    public void onStart_updateScanResults_evictOldScanResult() {
+        when(mockWifiManager.getScanResults()).thenReturn(
+                Arrays.asList(buildScanResult1(), buildScanResult2(), buildStaleScanResult()));
+        WifiTracker tracker = createMockedWifiTracker();
+
+        tracker.forceUpdate();
+
+        // Only has scanResult1 and scanResult2
+        assertThat(tracker.getAccessPoints()).hasSize(2);
+        assertThat(tracker.getAccessPoints().get(0).getBssid()).isEqualTo(BSSID_1);
+        assertThat(tracker.getAccessPoints().get(1).getBssid()).isEqualTo(BSSID_2);
+    }
 }
diff --git a/packages/SettingsLib/tests/robotests/config/robolectric.properties b/packages/SettingsLib/tests/robotests/config/robolectric.properties
index 34a2a1a..6b5b8e5 100644
--- a/packages/SettingsLib/tests/robotests/config/robolectric.properties
+++ b/packages/SettingsLib/tests/robotests/config/robolectric.properties
@@ -1,2 +1,5 @@
 manifest=frameworks/base/packages/SettingsLib/tests/robotests/AndroidManifest.xml
-sdk=NEWEST_SDK
\ No newline at end of file
+sdk=NEWEST_SDK
+
+shadows=\
+   com.android.settingslib.testutils.shadow.ShadowXmlUtils
\ No newline at end of file
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/SettingsLibRobolectricTestRunner.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/SettingsLibRobolectricTestRunner.java
index dde1746..ede248b 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/SettingsLibRobolectricTestRunner.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/SettingsLibRobolectricTestRunner.java
@@ -52,6 +52,9 @@
                 @Override
                 public List<ResourcePath> getIncludedResourcePaths() {
                     final List<ResourcePath> paths = super.getIncludedResourcePaths();
+                    paths.add(resourcePath("file:frameworks/base/packages/SettingsLib/AppPreference/res"));
+                    paths.add(resourcePath("file:frameworks/base/packages/SettingsLib/HelpUtils/res"));
+                    paths.add(resourcePath("file:frameworks/base/packages/SettingsLib/RestrictedLockUtils/res"));
                     paths.add(resourcePath("file:frameworks/base/packages/SettingsLib/res"));
                     paths.add(resourcePath("file:frameworks/base/core/res/res"));
                     paths.add(resourcePath("file:out/soong/.intermediates/prebuilts/sdk/current/androidx/androidx.appcompat_appcompat-nodeps/android_common/aar/res/"));
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/A2dpSinkProfileTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/A2dpSinkProfileTest.java
new file mode 100644
index 0000000..274fff8
--- /dev/null
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/A2dpSinkProfileTest.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.settingslib.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.verify;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothA2dpSink;
+import android.bluetooth.BluetoothProfile;
+
+import com.android.settingslib.SettingsLibRobolectricTestRunner;
+import com.android.settingslib.testutils.shadow.ShadowBluetoothAdapter;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadow.api.Shadow;
+
+@RunWith(SettingsLibRobolectricTestRunner.class)
+@Config(shadows = {ShadowBluetoothAdapter.class})
+public class A2dpSinkProfileTest {
+
+    @Mock
+    private CachedBluetoothDeviceManager mDeviceManager;
+    @Mock
+    private LocalBluetoothProfileManager mProfileManager;
+    @Mock
+    private BluetoothA2dpSink mService;
+    @Mock
+    private CachedBluetoothDevice mCachedBluetoothDevice;
+    @Mock
+    private BluetoothDevice mBluetoothDevice;
+    private BluetoothProfile.ServiceListener mServiceListener;
+    private A2dpSinkProfile mProfile;
+    private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        mProfile = new A2dpSinkProfile(RuntimeEnvironment.application,
+                mDeviceManager, mProfileManager);
+        mServiceListener = mShadowBluetoothAdapter.getServiceListener();
+        mServiceListener.onServiceConnected(BluetoothProfile.A2DP_SINK, mService);
+    }
+
+    @Test
+    public void connect_shouldConnectBluetoothA2dpSink() {
+        mProfile.connect(mBluetoothDevice);
+        verify(mService).connect(mBluetoothDevice);
+    }
+
+    @Test
+    public void disconnect_shouldDisconnectBluetoothA2dpSink() {
+        mProfile.disconnect(mBluetoothDevice);
+        verify(mService).disconnect(mBluetoothDevice);
+    }
+
+    @Test
+    public void getConnectionStatus_shouldReturnConnectionState() {
+        when(mService.getConnectionState(mBluetoothDevice)).
+                thenReturn(BluetoothProfile.STATE_CONNECTED);
+        assertThat(mProfile.getConnectionStatus(mBluetoothDevice)).
+                isEqualTo(BluetoothProfile.STATE_CONNECTED);
+    }
+}
\ No newline at end of file
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManagerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManagerTest.java
index 8ac611f..62b5688 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManagerTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManagerTest.java
@@ -118,7 +118,7 @@
      * Test to verify addDevice().
      */
     @Test
-    public void testAddDevice_validCachedDevices_devicesAdded() {
+    public void addDevice_validCachedDevices_devicesAdded() {
         CachedBluetoothDevice cachedDevice1 = mCachedDeviceManager.addDevice(mDevice1);
         assertThat(cachedDevice1).isNotNull();
         CachedBluetoothDevice cachedDevice2 = mCachedDeviceManager.addDevice(mDevice2);
@@ -136,17 +136,17 @@
      * Test to verify getName().
      */
     @Test
-    public void testGetName_validCachedDevice_nameFound() {
+    public void getName_validCachedDevice_nameFound() {
         CachedBluetoothDevice cachedDevice1 = mCachedDeviceManager.addDevice(mDevice1);
         assertThat(cachedDevice1).isNotNull();
-        assertThat(mCachedDeviceManager.findDevice(mDevice1).getName()).isEqualTo(DEVICE_ALIAS_1);
+        assertThat(mCachedDeviceManager.getName(mDevice1)).isEqualTo(DEVICE_ALIAS_1);
     }
 
     /**
      * Test to verify onDeviceNameUpdated().
      */
     @Test
-    public void testOnDeviceNameUpdated_validName_nameUpdated() {
+    public void onDeviceNameUpdated_validName_nameUpdated() {
         CachedBluetoothDevice cachedDevice1 = mCachedDeviceManager.addDevice(mDevice1);
         assertThat(cachedDevice1).isNotNull();
         assertThat(cachedDevice1.getName()).isEqualTo(DEVICE_ALIAS_1);
@@ -161,7 +161,7 @@
      * Test to verify clearNonBondedDevices().
      */
     @Test
-    public void testClearNonBondedDevices_bondedAndNonBondedDevices_nonBondedDevicesCleared() {
+    public void clearNonBondedDevices_bondedAndNonBondedDevices_nonBondedDevicesCleared() {
         CachedBluetoothDevice cachedDevice1 = mCachedDeviceManager.addDevice(mDevice1);
         assertThat(cachedDevice1).isNotNull();
         CachedBluetoothDevice cachedDevice2 = mCachedDeviceManager.addDevice(mDevice2);
@@ -193,7 +193,7 @@
      * Test to verify clearNonBondedDevices() for hearing aids.
      */
     @Test
-    public void testClearNonBondedDevices_HearingAids_nonBondedHAsClearedFromCachedDevicesMap() {
+    public void clearNonBondedDevices_HearingAids_nonBondedHAsClearedFromCachedDevicesMap() {
         when(mDevice1.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
         when(mDevice2.getBondState()).thenReturn(BluetoothDevice.BOND_NONE);
 
@@ -214,7 +214,7 @@
      * Test to verify onHiSyncIdChanged() for hearing aid devices with same HiSyncId.
      */
     @Test
-    public void testOnHiSyncIdChanged_sameHiSyncId_populateInDifferentLists() {
+    public void onHiSyncIdChanged_sameHiSyncId_populateInDifferentLists() {
         CachedBluetoothDevice cachedDevice1 = mCachedDeviceManager.addDevice(mDevice1);
         assertThat(cachedDevice1).isNotNull();
         CachedBluetoothDevice cachedDevice2 = mCachedDeviceManager.addDevice(mDevice2);
@@ -247,7 +247,7 @@
      * device is connected and other is disconnected. The connected device should be chosen.
      */
     @Test
-    public void testOnHiSyncIdChanged_sameHiSyncIdAndOneConnected_chooseConnectedDevice() {
+    public void onHiSyncIdChanged_sameHiSyncIdAndOneConnected_chooseConnectedDevice() {
         CachedBluetoothDevice cachedDevice1 = mCachedDeviceManager.addDevice(mDevice1);
         assertThat(cachedDevice1).isNotNull();
         CachedBluetoothDevice cachedDevice2 = mCachedDeviceManager.addDevice(mDevice2);
@@ -282,7 +282,7 @@
      * Test to verify onHiSyncIdChanged() for hearing aid devices with different HiSyncId.
      */
     @Test
-    public void testOnHiSyncIdChanged_differentHiSyncId_populateInSameList() {
+    public void onHiSyncIdChanged_differentHiSyncId_populateInSameList() {
         CachedBluetoothDevice cachedDevice1 = mCachedDeviceManager.addDevice(mDevice1);
         assertThat(cachedDevice1).isNotNull();
         CachedBluetoothDevice cachedDevice2 = mCachedDeviceManager.addDevice(mDevice2);
@@ -316,7 +316,7 @@
      * Test to verify onProfileConnectionStateChanged() for single hearing aid device connection.
      */
     @Test
-    public void testOnProfileConnectionStateChanged_singleDeviceConnected_visible() {
+    public void onProfileConnectionStateChanged_singleDeviceConnected_visible() {
         CachedBluetoothDevice cachedDevice1 = mCachedDeviceManager.addDevice(mDevice1);
         assertThat(cachedDevice1).isNotNull();
         cachedDevice1.onProfileStateChanged(mHearingAidProfile, BluetoothProfile.STATE_CONNECTED);
@@ -353,7 +353,7 @@
      * devices are disconnected and they get connected.
      */
     @Test
-    public void testOnProfileConnectionStateChanged_twoDevicesConnected_oneDeviceVisible() {
+    public void onProfileConnectionStateChanged_twoDevicesConnected_oneDeviceVisible() {
         CachedBluetoothDevice cachedDevice1 = mCachedDeviceManager.addDevice(mDevice1);
         assertThat(cachedDevice1).isNotNull();
         CachedBluetoothDevice cachedDevice2 = mCachedDeviceManager.addDevice(mDevice2);
@@ -405,7 +405,7 @@
      * devices are connected and they get disconnected.
      */
     @Test
-    public void testOnProfileConnectionStateChanged_twoDevicesDisconnected_oneDeviceVisible() {
+    public void onProfileConnectionStateChanged_twoDevicesDisconnected_oneDeviceVisible() {
         CachedBluetoothDevice cachedDevice1 = mCachedDeviceManager.addDevice(mDevice1);
         assertThat(cachedDevice1).isNotNull();
         CachedBluetoothDevice cachedDevice2 = mCachedDeviceManager.addDevice(mDevice2);
@@ -458,7 +458,7 @@
      * Test to verify OnDeviceUnpaired() for a paired hearing Aid device pair.
      */
     @Test
-    public void testOnDeviceUnpaired_bothHearingAidsPaired_removesItsPairFromList() {
+    public void onDeviceUnpaired_bothHearingAidsPaired_removesItsPairFromList() {
         CachedBluetoothDevice cachedDevice1 = mCachedDeviceManager.addDevice(mDevice1);
         assertThat(cachedDevice1).isNotNull();
         CachedBluetoothDevice cachedDevice2 = mCachedDeviceManager.addDevice(mDevice2);
@@ -488,7 +488,7 @@
      * Test to verify OnDeviceUnpaired() for paired hearing Aid devices which are not a pair.
      */
     @Test
-    public void testOnDeviceUnpaired_bothHearingAidsNotPaired_doesNotRemoveAnyDeviceFromList() {
+    public void onDeviceUnpaired_bothHearingAidsNotPaired_doesNotRemoveAnyDeviceFromList() {
         CachedBluetoothDevice cachedDevice1 = mCachedDeviceManager.addDevice(mDevice1);
         assertThat(cachedDevice1).isNotNull();
         CachedBluetoothDevice cachedDevice2 = mCachedDeviceManager.addDevice(mDevice2);
@@ -532,7 +532,7 @@
      * Test to verify addDevice() for hearing aid devices with same HiSyncId.
      */
     @Test
-    public void testAddDevice_hearingAidDevicesWithSameHiSyncId_populateInDifferentLists() {
+    public void addDevice_hearingAidDevicesWithSameHiSyncId_populateInDifferentLists() {
         doAnswer((invocation) -> mHearingAidProfile).when(mLocalProfileManager)
             .getHearingAidProfile();
         doAnswer((invocation) -> HISYNCID1).when(mHearingAidProfile).getHiSyncId(mDevice1);
@@ -560,7 +560,7 @@
      * Test to verify addDevice() for hearing aid devices with different HiSyncId.
      */
     @Test
-    public void testAddDevice_hearingAidDevicesWithDifferentHiSyncId_populateInSameList() {
+    public void addDevice_hearingAidDevicesWithDifferentHiSyncId_populateInSameList() {
         doAnswer((invocation) -> mHearingAidProfile).when(mLocalProfileManager)
             .getHearingAidProfile();
         doAnswer((invocation) -> HISYNCID1).when(mHearingAidProfile).getHiSyncId(mDevice1);
@@ -592,7 +592,7 @@
      * Test to verify getHearingAidPairDeviceSummary() for hearing aid devices with same HiSyncId.
      */
     @Test
-    public void testGetHearingAidPairDeviceSummary_bothHearingAidsPaired_returnsSummaryOfPair() {
+    public void getHearingAidPairDeviceSummary_bothHearingAidsPaired_returnsSummaryOfPair() {
         mCachedDevice1.setHiSyncId(HISYNCID1);
         mCachedDevice2.setHiSyncId(HISYNCID1);
         mCachedDeviceManager.mCachedDevices.add(mCachedDevice1);
@@ -609,7 +609,7 @@
      * HiSyncId.
      */
     @Test
-    public void testGetHearingAidPairDeviceSummary_bothHearingAidsNotPaired_returnsNull() {
+    public void getHearingAidPairDeviceSummary_bothHearingAidsNotPaired_returnsNull() {
         mCachedDevice1.setHiSyncId(HISYNCID1);
         mCachedDevice2.setHiSyncId(HISYNCID2);
         mCachedDeviceManager.mCachedDevices.add(mCachedDevice1);
@@ -625,7 +625,7 @@
      * Test to verify updateHearingAidsDevices().
      */
     @Test
-    public void testUpdateHearingAidDevices_hiSyncIdAvailable_setsHiSyncId() {
+    public void updateHearingAidDevices_hiSyncIdAvailable_setsHiSyncId() {
         doAnswer((invocation) -> mHearingAidProfile).when(mLocalProfileManager)
             .getHearingAidProfile();
         doAnswer((invocation) -> HISYNCID1).when(mHearingAidProfile).getHiSyncId(mDevice1);
@@ -643,7 +643,7 @@
      * Test to verify onBtClassChanged().
      */
     @Test
-    public void testOnBtClassChanged_validBtClass_classChanged() {
+    public void onBtClassChanged_validBtClass_classChanged() {
         CachedBluetoothDevice cachedDevice1 = mCachedDeviceManager.addDevice(mDevice1);
         assertThat(cachedDevice1).isNotNull();
         assertThat(cachedDevice1.getBtClass()).isEqualTo(DEVICE_CLASS_1);
@@ -658,7 +658,7 @@
      * Test to verify onDeviceDisappeared().
      */
     @Test
-    public void testOnDeviceDisappeared_deviceBondedUnbonded_unbondedDeviceDisappeared() {
+    public void onDeviceDisappeared_deviceBondedUnbonded_unbondedDeviceDisappeared() {
         CachedBluetoothDevice cachedDevice1 = mCachedDeviceManager.addDevice(mDevice1);
         assertThat(cachedDevice1).isNotNull();
 
@@ -673,7 +673,7 @@
      * Test to verify onActiveDeviceChanged().
      */
     @Test
-    public void testOnActiveDeviceChanged_connectedDevices_activeDeviceChanged() {
+    public void onActiveDeviceChanged_connectedDevices_activeDeviceChanged() {
         CachedBluetoothDevice cachedDevice1 = mCachedDeviceManager.addDevice(mDevice1);
         assertThat(cachedDevice1).isNotNull();
         CachedBluetoothDevice cachedDevice2 = mCachedDeviceManager.addDevice(mDevice2);
@@ -736,7 +736,7 @@
      * Test to verify onActiveDeviceChanged() with A2DP and Hearing Aid.
      */
     @Test
-    public void testOnActiveDeviceChanged_withA2dpAndHearingAid() {
+    public void onActiveDeviceChanged_withA2dpAndHearingAid() {
         CachedBluetoothDevice cachedDevice1 = mCachedDeviceManager.addDevice(mDevice1);
         assertThat(cachedDevice1).isNotNull();
         CachedBluetoothDevice cachedDevice2 = mCachedDeviceManager.addDevice(mDevice2);
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceTest.java
index c18db11..f6201dd 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceTest.java
@@ -20,6 +20,7 @@
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.anyString;
 import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
@@ -79,74 +80,74 @@
     }
 
     @Test
-    public void testGetConnectionSummary_testSingleProfileConnectDisconnect() {
+    public void getConnectionSummary_testSingleProfileConnectDisconnect() {
         // Test without battery level
         // Set PAN profile to be connected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mPanProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mPanProfile, BluetoothProfile.STATE_CONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isNull();
 
         // Set PAN profile to be disconnected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mPanProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mPanProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isNull();
 
         // Test with battery level
         mBatteryLevel = 10;
         // Set PAN profile to be connected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mPanProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mPanProfile, BluetoothProfile.STATE_CONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isEqualTo("10% battery");
 
         // Set PAN profile to be disconnected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mPanProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mPanProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isNull();
 
         // Test with BluetoothDevice.BATTERY_LEVEL_UNKNOWN battery level
         mBatteryLevel = BluetoothDevice.BATTERY_LEVEL_UNKNOWN;
 
         // Set PAN profile to be connected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mPanProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mPanProfile, BluetoothProfile.STATE_CONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isNull();
 
         // Set PAN profile to be disconnected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mPanProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mPanProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isNull();
     }
 
     @Test
-    public void testGetConnectionSummary_testMultipleProfileConnectDisconnect() {
+    public void getConnectionSummary_testMultipleProfileConnectDisconnect() {
         mBatteryLevel = 10;
 
         // Set HFP, A2DP and PAN profile to be connected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
-        mCachedDevice.onProfileStateChanged(mPanProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mPanProfile, BluetoothProfile.STATE_CONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isEqualTo("10% battery");
 
         // Disconnect HFP only and test connection state summary
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isEqualTo(
                 "10% battery");
 
         // Disconnect A2DP only and test connection state summary
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isEqualTo(
                 "10% battery");
 
         // Disconnect both HFP and A2DP and test connection state summary
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isEqualTo(
                 "10% battery");
 
         // Disconnect all profiles and test connection state summary
-        mCachedDevice.onProfileStateChanged(mPanProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mPanProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isNull();
     }
 
     @Test
-    public void testGetConnectionSummary_testSingleProfileActiveDeviceA2dp() {
+    public void getConnectionSummary_testSingleProfileActiveDeviceA2dp() {
         // Test without battery level
         // Set A2DP profile to be connected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isNull();
 
         // Set device as Active for A2DP and test connection state summary
@@ -159,26 +160,26 @@
                 "Active, 10% battery");
 
         // Set A2DP profile to be disconnected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isNull();
 
         // Test with BluetoothDevice.BATTERY_LEVEL_UNKNOWN battery level
         mBatteryLevel = BluetoothDevice.BATTERY_LEVEL_UNKNOWN;
         // Set A2DP profile to be connected, Active and test connection state summary
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
         mCachedDevice.onActiveDeviceChanged(true, BluetoothProfile.A2DP);
         assertThat(mCachedDevice.getConnectionSummary()).isEqualTo("Active");
 
         // Set A2DP profile to be disconnected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isNull();
     }
 
     @Test
-    public void testGetConnectionSummary_testSingleProfileActiveDeviceHfp() {
+    public void getConnectionSummary_testSingleProfileActiveDeviceHfp() {
         // Test without battery level
         // Set HFP profile to be connected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isNull();
 
         // Set device as Active for HFP and test connection state summary
@@ -193,26 +194,26 @@
                 "Active, 10% battery");
 
         // Set HFP profile to be disconnected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isNull();
 
         // Test with BluetoothDevice.BATTERY_LEVEL_UNKNOWN battery level
         mBatteryLevel = BluetoothDevice.BATTERY_LEVEL_UNKNOWN;
         // Set HFP profile to be connected, Active and test connection state summary
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
         mCachedDevice.onActiveDeviceChanged(true, BluetoothProfile.HEADSET);
         assertThat(mCachedDevice.getConnectionSummary()).isEqualTo("Active");
 
         // Set HFP profile to be disconnected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isNull();
     }
 
     @Test
-    public void testGetConnectionSummary_testSingleProfileActiveDeviceHearingAid() {
+    public void getConnectionSummary_testSingleProfileActiveDeviceHearingAid() {
         // Test without battery level
         // Set Hearing Aid profile to be connected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mHearingAidProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mHearingAidProfile, BluetoothProfile.STATE_CONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isNull();
 
         // Set device as Active for Hearing Aid and test connection state summary
@@ -227,11 +228,11 @@
     }
 
     @Test
-    public void testGetConnectionSummary_testMultipleProfilesActiveDevice() {
+    public void getConnectionSummary_testMultipleProfilesActiveDevice() {
         // Test without battery level
         // Set A2DP and HFP profiles to be connected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isNull();
 
         // Set device as Active for A2DP and HFP and test connection state summary
@@ -246,14 +247,14 @@
 
         // Disconnect A2DP only and test connection state summary
         mCachedDevice.onActiveDeviceChanged(false, BluetoothProfile.A2DP);
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isEqualTo(
                 "10% battery");
 
         // Disconnect HFP only and test connection state summary
         mCachedDevice.onActiveDeviceChanged(false, BluetoothProfile.HEADSET);
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
         mCachedDevice.onActiveDeviceChanged(true, BluetoothProfile.A2DP);
         assertThat(mCachedDevice.getConnectionSummary()).isEqualTo(
                 "Active, 10% battery");
@@ -261,15 +262,15 @@
         // Test with BluetoothDevice.BATTERY_LEVEL_UNKNOWN battery level
         mBatteryLevel = BluetoothDevice.BATTERY_LEVEL_UNKNOWN;
         // Set A2DP and HFP profiles to be connected, Active and test connection state summary
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
         mCachedDevice.onActiveDeviceChanged(true, BluetoothProfile.A2DP);
         mCachedDevice.onActiveDeviceChanged(true, BluetoothProfile.HEADSET);
         assertThat(mCachedDevice.getConnectionSummary()).isEqualTo("Active");
 
         // Set A2DP and HFP profiles to be disconnected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getConnectionSummary()).isNull();
     }
 
@@ -277,32 +278,32 @@
     public void getCarConnectionSummary_singleProfileConnectDisconnect() {
         // Test without battery level
         // Set PAN profile to be connected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mPanProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mPanProfile, BluetoothProfile.STATE_CONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isEqualTo("Connected");
 
         // Set PAN profile to be disconnected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mPanProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mPanProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isNull();
 
         // Test with battery level
         mBatteryLevel = 10;
         // Set PAN profile to be connected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mPanProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mPanProfile, BluetoothProfile.STATE_CONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isEqualTo("Connected, battery 10%");
 
         // Set PAN profile to be disconnected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mPanProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mPanProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isNull();
 
         // Test with BluetoothDevice.BATTERY_LEVEL_UNKNOWN battery level
         mBatteryLevel = BluetoothDevice.BATTERY_LEVEL_UNKNOWN;
 
         // Set PAN profile to be connected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mPanProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mPanProfile, BluetoothProfile.STATE_CONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isEqualTo("Connected");
 
         // Set PAN profile to be disconnected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mPanProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mPanProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isNull();
     }
 
@@ -311,29 +312,29 @@
         mBatteryLevel = 10;
 
         // Set HFP, A2DP and PAN profile to be connected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
-        mCachedDevice.onProfileStateChanged(mPanProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mPanProfile, BluetoothProfile.STATE_CONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isEqualTo("Connected, battery 10%");
 
         // Disconnect HFP only and test connection state summary
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isEqualTo(
                 "Connected (no phone), battery 10%");
 
         // Disconnect A2DP only and test connection state summary
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isEqualTo(
                 "Connected (no media), battery 10%");
 
         // Disconnect both HFP and A2DP and test connection state summary
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isEqualTo(
                 "Connected (no phone or media), battery 10%");
 
         // Disconnect all profiles and test connection state summary
-        mCachedDevice.onProfileStateChanged(mPanProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mPanProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isNull();
     }
 
@@ -341,7 +342,7 @@
     public void getCarConnectionSummary_singleProfileActiveDeviceA2dp() {
         // Test without battery level
         // Set A2DP profile to be connected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isEqualTo("Connected");
 
         // Set device as Active for A2DP and test connection state summary
@@ -354,18 +355,18 @@
                 "Connected, battery 10%, active (media)");
 
         // Set A2DP profile to be disconnected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isNull();
 
         // Test with BluetoothDevice.BATTERY_LEVEL_UNKNOWN battery level
         mBatteryLevel = BluetoothDevice.BATTERY_LEVEL_UNKNOWN;
         // Set A2DP profile to be connected, Active and test connection state summary
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
         mCachedDevice.onActiveDeviceChanged(true, BluetoothProfile.A2DP);
         assertThat(mCachedDevice.getCarConnectionSummary()).isEqualTo("Connected, active (media)");
 
         // Set A2DP profile to be disconnected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isNull();
     }
 
@@ -373,7 +374,7 @@
     public void getCarConnectionSummary_singleProfileActiveDeviceHfp() {
         // Test without battery level
         // Set HFP profile to be connected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isEqualTo("Connected");
 
         // Set device as Active for HFP and test connection state summary
@@ -386,18 +387,18 @@
                 "Connected, battery 10%, active (phone)");
 
         // Set HFP profile to be disconnected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isNull();
 
         // Test with BluetoothDevice.BATTERY_LEVEL_UNKNOWN battery level
         mBatteryLevel = BluetoothDevice.BATTERY_LEVEL_UNKNOWN;
         // Set HFP profile to be connected, Active and test connection state summary
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
         mCachedDevice.onActiveDeviceChanged(true, BluetoothProfile.HEADSET);
         assertThat(mCachedDevice.getCarConnectionSummary()).isEqualTo("Connected, active (phone)");
 
         // Set HFP profile to be disconnected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isNull();
     }
 
@@ -405,7 +406,7 @@
     public void getCarConnectionSummary_singleProfileActiveDeviceHearingAid() {
         // Test without battery level
         // Set Hearing Aid profile to be connected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mHearingAidProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mHearingAidProfile, BluetoothProfile.STATE_CONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isEqualTo("Connected");
 
         // Set device as Active for Hearing Aid and test connection state summary
@@ -414,8 +415,7 @@
 
         // Set Hearing Aid profile to be disconnected and test connection state summary
         mCachedDevice.onActiveDeviceChanged(false, BluetoothProfile.HEARING_AID);
-        mCachedDevice.onProfileStateChanged(mHearingAidProfile,
-                BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mHearingAidProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isNull();
     }
 
@@ -423,8 +423,8 @@
     public void getCarConnectionSummary_multipleProfilesActiveDevice() {
         // Test without battery level
         // Set A2DP and HFP profiles to be connected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isEqualTo("Connected");
 
         // Set device as Active for A2DP and HFP and test connection state summary
@@ -439,14 +439,14 @@
 
         // Disconnect A2DP only and test connection state summary
         mCachedDevice.onActiveDeviceChanged(false, BluetoothProfile.A2DP);
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isEqualTo(
                 "Connected (no media), battery 10%, active (phone)");
 
         // Disconnect HFP only and test connection state summary
         mCachedDevice.onActiveDeviceChanged(false, BluetoothProfile.HEADSET);
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
         mCachedDevice.onActiveDeviceChanged(true, BluetoothProfile.A2DP);
         assertThat(mCachedDevice.getCarConnectionSummary()).isEqualTo(
                 "Connected (no phone), battery 10%, active (media)");
@@ -454,21 +454,21 @@
         // Test with BluetoothDevice.BATTERY_LEVEL_UNKNOWN battery level
         mBatteryLevel = BluetoothDevice.BATTERY_LEVEL_UNKNOWN;
         // Set A2DP and HFP profiles to be connected, Active and test connection state summary
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
         mCachedDevice.onActiveDeviceChanged(true, BluetoothProfile.A2DP);
         mCachedDevice.onActiveDeviceChanged(true, BluetoothProfile.HEADSET);
         assertThat(mCachedDevice.getCarConnectionSummary()).isEqualTo("Connected, active");
 
         // Set A2DP and HFP profiles to be disconnected and test connection state summary
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.getCarConnectionSummary()).isNull();
     }
 
 
     @Test
-    public void testDeviceName_testAliasNameAvailable() {
+    public void deviceName_testAliasNameAvailable() {
         when(mDevice.getAliasName()).thenReturn(DEVICE_ALIAS);
         when(mDevice.getName()).thenReturn(DEVICE_NAME);
         CachedBluetoothDevice cachedBluetoothDevice =
@@ -480,7 +480,7 @@
     }
 
     @Test
-    public void testDeviceName_testNameNotAvailable() {
+    public void deviceName_testNameNotAvailable() {
         CachedBluetoothDevice cachedBluetoothDevice =
                 new CachedBluetoothDevice(mContext, mProfileManager, mDevice);
         // Verify device address is returned on getName
@@ -490,7 +490,7 @@
     }
 
     @Test
-    public void testDeviceName_testRenameDevice() {
+    public void deviceName_testRenameDevice() {
         final String[] alias = {DEVICE_ALIAS};
         doAnswer(invocation -> alias[0]).when(mDevice).getAliasName();
         doAnswer(invocation -> {
@@ -513,7 +513,7 @@
     }
 
     @Test
-    public void testSetActive() {
+    public void setActive() {
         when(mProfileManager.getA2dpProfile()).thenReturn(mA2dpProfile);
         when(mProfileManager.getHeadsetProfile()).thenReturn(mHfpProfile);
         when(mA2dpProfile.setActiveDevice(any(BluetoothDevice.class))).thenReturn(true);
@@ -521,19 +521,19 @@
 
         assertThat(mCachedDevice.setActive()).isFalse();
 
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_CONNECTED);
         assertThat(mCachedDevice.setActive()).isTrue();
 
-        mCachedDevice.onProfileStateChanged(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
+        updateProfileStatus(mA2dpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_CONNECTED);
         assertThat(mCachedDevice.setActive()).isTrue();
 
-        mCachedDevice.onProfileStateChanged(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
+        updateProfileStatus(mHfpProfile, BluetoothProfile.STATE_DISCONNECTED);
         assertThat(mCachedDevice.setActive()).isFalse();
     }
 
     @Test
-    public void testIsA2dpDevice_isA2dpDevice() {
+    public void isA2dpDevice_isA2dpDevice() {
         when(mProfileManager.getA2dpProfile()).thenReturn(mA2dpProfile);
         when(mA2dpProfile.getConnectionStatus(mDevice)).
                 thenReturn(BluetoothProfile.STATE_CONNECTED);
@@ -542,7 +542,7 @@
     }
 
     @Test
-    public void testIsA2dpDevice_isNotA2dpDevice() {
+    public void isA2dpDevice_isNotA2dpDevice() {
         when(mProfileManager.getA2dpProfile()).thenReturn(mA2dpProfile);
         when(mA2dpProfile.getConnectionStatus(mDevice)).
                 thenReturn(BluetoothProfile.STATE_DISCONNECTING);
@@ -551,7 +551,7 @@
     }
 
     @Test
-    public void testIsHfpDevice_isHfpDevice() {
+    public void isHfpDevice_isHfpDevice() {
         when(mProfileManager.getHeadsetProfile()).thenReturn(mHfpProfile);
         when(mHfpProfile.getConnectionStatus(mDevice)).
                 thenReturn(BluetoothProfile.STATE_CONNECTED);
@@ -637,4 +637,24 @@
 
         verify(mDevice, never()).setAlias(any());
     }
+
+    @Test
+    public void getProfileConnectionState_nullProfile_returnDisconnected() {
+        assertThat(mCachedDevice.getProfileConnectionState(null)).isEqualTo(
+                BluetoothProfile.STATE_DISCONNECTED);
+    }
+
+    @Test
+    public void getProfileConnectionState_profileConnected_returnConnected() {
+        doReturn(BluetoothProfile.STATE_CONNECTED).when(mA2dpProfile).getConnectionStatus(
+                any(BluetoothDevice.class));
+
+        assertThat(mCachedDevice.getProfileConnectionState(mA2dpProfile)).isEqualTo(
+                BluetoothProfile.STATE_CONNECTED);
+    }
+
+    private void updateProfileStatus(LocalBluetoothProfile profile, int status) {
+        doReturn(status).when(profile).getConnectionStatus(mDevice);
+        mCachedDevice.onProfileStateChanged(profile, status);
+    }
 }
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/HfpClientProfileTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/HfpClientProfileTest.java
new file mode 100644
index 0000000..187be0b
--- /dev/null
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/HfpClientProfileTest.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.settingslib.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.verify;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothHeadsetClient;
+import android.bluetooth.BluetoothProfile;
+
+import com.android.settingslib.SettingsLibRobolectricTestRunner;
+import com.android.settingslib.testutils.shadow.ShadowBluetoothAdapter;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadow.api.Shadow;
+
+@RunWith(SettingsLibRobolectricTestRunner.class)
+@Config(shadows = {ShadowBluetoothAdapter.class})
+public class HfpClientProfileTest {
+
+    @Mock
+    private CachedBluetoothDeviceManager mDeviceManager;
+    @Mock
+    private LocalBluetoothProfileManager mProfileManager;
+    @Mock
+    private BluetoothHeadsetClient mService;
+    @Mock
+    private CachedBluetoothDevice mCachedBluetoothDevice;
+    @Mock
+    private BluetoothDevice mBluetoothDevice;
+    private BluetoothProfile.ServiceListener mServiceListener;
+    private HfpClientProfile mProfile;
+    private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        mProfile = new HfpClientProfile(RuntimeEnvironment.application,
+                mDeviceManager, mProfileManager);
+        mServiceListener = mShadowBluetoothAdapter.getServiceListener();
+        mServiceListener.onServiceConnected(BluetoothProfile.HEADSET_CLIENT, mService);
+    }
+
+    @Test
+    public void connect_shouldConnectBluetoothHeadsetClient() {
+        mProfile.connect(mBluetoothDevice);
+        verify(mService).connect(mBluetoothDevice);
+    }
+
+    @Test
+    public void disconnect_shouldDisconnectBluetoothHeadsetClient() {
+        mProfile.disconnect(mBluetoothDevice);
+        verify(mService).disconnect(mBluetoothDevice);
+    }
+
+    @Test
+    public void getConnectionStatus_shouldReturnConnectionState() {
+        when(mService.getConnectionState(mBluetoothDevice)).
+                thenReturn(BluetoothProfile.STATE_CONNECTED);
+        assertThat(mProfile.getConnectionStatus(mBluetoothDevice)).
+                isEqualTo(BluetoothProfile.STATE_CONNECTED);
+    }
+}
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/HidDeviceProfileTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/HidDeviceProfileTest.java
new file mode 100644
index 0000000..c91ee22
--- /dev/null
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/HidDeviceProfileTest.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.settingslib.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.verify;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothHidDevice;
+import android.bluetooth.BluetoothProfile;
+
+import com.android.settingslib.SettingsLibRobolectricTestRunner;
+import com.android.settingslib.testutils.shadow.ShadowBluetoothAdapter;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadow.api.Shadow;
+
+@RunWith(SettingsLibRobolectricTestRunner.class)
+@Config(shadows = {ShadowBluetoothAdapter.class})
+public class HidDeviceProfileTest {
+
+    @Mock
+    private CachedBluetoothDeviceManager mDeviceManager;
+    @Mock
+    private LocalBluetoothProfileManager mProfileManager;
+    @Mock
+    private BluetoothHidDevice mService;
+    @Mock
+    private CachedBluetoothDevice mCachedBluetoothDevice;
+    @Mock
+    private BluetoothDevice mBluetoothDevice;
+    private BluetoothProfile.ServiceListener mServiceListener;
+    private HidDeviceProfile mProfile;
+    private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        mProfile = new HidDeviceProfile(RuntimeEnvironment.application,
+                mDeviceManager, mProfileManager);
+        mServiceListener = mShadowBluetoothAdapter.getServiceListener();
+        mServiceListener.onServiceConnected(BluetoothProfile.HID_DEVICE, mService);
+    }
+
+    @Test
+    public void connect_shouldReturnFalse() {
+        assertThat(mProfile.connect(mBluetoothDevice)).isFalse();
+    }
+
+    @Test
+    public void disconnect_shouldDisconnectBluetoothHidDevice() {
+        mProfile.disconnect(mBluetoothDevice);
+        verify(mService).disconnect(mBluetoothDevice);
+    }
+
+    @Test
+    public void getConnectionStatus_shouldReturnConnectionState() {
+        when(mService.getConnectionState(mBluetoothDevice)).
+                thenReturn(BluetoothProfile.STATE_CONNECTED);
+        assertThat(mProfile.getConnectionStatus(mBluetoothDevice)).
+                isEqualTo(BluetoothProfile.STATE_CONNECTED);
+    }
+}
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/MapClientProfileTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/MapClientProfileTest.java
new file mode 100644
index 0000000..c4c48a8
--- /dev/null
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/MapClientProfileTest.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.settingslib.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.verify;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothMapClient;
+import android.bluetooth.BluetoothProfile;
+
+import com.android.settingslib.SettingsLibRobolectricTestRunner;
+import com.android.settingslib.testutils.shadow.ShadowBluetoothAdapter;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadow.api.Shadow;
+
+@RunWith(SettingsLibRobolectricTestRunner.class)
+@Config(shadows = {ShadowBluetoothAdapter.class})
+public class MapClientProfileTest {
+
+    @Mock
+    private CachedBluetoothDeviceManager mDeviceManager;
+    @Mock
+    private LocalBluetoothProfileManager mProfileManager;
+    @Mock
+    private BluetoothMapClient mService;
+    @Mock
+    private CachedBluetoothDevice mCachedBluetoothDevice;
+    @Mock
+    private BluetoothDevice mBluetoothDevice;
+    private BluetoothProfile.ServiceListener mServiceListener;
+    private MapClientProfile mProfile;
+    private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        mProfile = new MapClientProfile(RuntimeEnvironment.application,
+                mDeviceManager, mProfileManager);
+        mServiceListener = mShadowBluetoothAdapter.getServiceListener();
+        mServiceListener.onServiceConnected(BluetoothProfile.MAP_CLIENT, mService);
+    }
+
+    @Test
+    public void connect_shouldConnectBluetoothMapClient() {
+        mProfile.connect(mBluetoothDevice);
+        verify(mService).connect(mBluetoothDevice);
+    }
+
+    @Test
+    public void disconnect_shouldDisconnectBluetoothMapClient() {
+        mProfile.disconnect(mBluetoothDevice);
+        verify(mService).disconnect(mBluetoothDevice);
+    }
+
+    @Test
+    public void getConnectionStatus_shouldReturnConnectionState() {
+        when(mService.getConnectionState(mBluetoothDevice)).
+                thenReturn(BluetoothProfile.STATE_CONNECTED);
+        assertThat(mProfile.getConnectionStatus(mBluetoothDevice)).
+                isEqualTo(BluetoothProfile.STATE_CONNECTED);
+    }
+}
\ No newline at end of file
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/PbapClientProfileTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/PbapClientProfileTest.java
new file mode 100644
index 0000000..e4a444c
--- /dev/null
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/PbapClientProfileTest.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.settingslib.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.verify;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothPbapClient;
+import android.bluetooth.BluetoothProfile;
+
+import com.android.settingslib.SettingsLibRobolectricTestRunner;
+import com.android.settingslib.testutils.shadow.ShadowBluetoothAdapter;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadow.api.Shadow;
+
+@RunWith(SettingsLibRobolectricTestRunner.class)
+@Config(shadows = {ShadowBluetoothAdapter.class})
+public class PbapClientProfileTest {
+
+    @Mock
+    private CachedBluetoothDeviceManager mDeviceManager;
+    @Mock
+    private LocalBluetoothProfileManager mProfileManager;
+    @Mock
+    private BluetoothPbapClient mService;
+    @Mock
+    private CachedBluetoothDevice mCachedBluetoothDevice;
+    @Mock
+    private BluetoothDevice mBluetoothDevice;
+    private BluetoothProfile.ServiceListener mServiceListener;
+    private PbapClientProfile mProfile;
+    private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        mProfile = new PbapClientProfile(RuntimeEnvironment.application,
+                mDeviceManager, mProfileManager);
+        mServiceListener = mShadowBluetoothAdapter.getServiceListener();
+        mServiceListener.onServiceConnected(BluetoothProfile.PBAP_CLIENT, mService);
+    }
+
+    @Test
+    public void connect_shouldConnectBluetoothPbapClient() {
+        mProfile.connect(mBluetoothDevice);
+        verify(mService).connect(mBluetoothDevice);
+    }
+
+    @Test
+    public void disconnect_shouldDisconnectBluetoothPbapClient() {
+        mProfile.disconnect(mBluetoothDevice);
+        verify(mService).disconnect(mBluetoothDevice);
+    }
+
+    @Test
+    public void getConnectionStatus_shouldReturnConnectionState() {
+        when(mService.getConnectionState(mBluetoothDevice)).
+                thenReturn(BluetoothProfile.STATE_CONNECTED);
+        assertThat(mProfile.getConnectionStatus(mBluetoothDevice)).
+                isEqualTo(BluetoothProfile.STATE_CONNECTED);
+    }
+}
\ No newline at end of file
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/SapProfileTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/SapProfileTest.java
new file mode 100644
index 0000000..9bb53ee
--- /dev/null
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/SapProfileTest.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.settingslib.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.verify;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothSap;
+import android.bluetooth.BluetoothProfile;
+
+import com.android.settingslib.SettingsLibRobolectricTestRunner;
+import com.android.settingslib.testutils.shadow.ShadowBluetoothAdapter;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadow.api.Shadow;
+
+@RunWith(SettingsLibRobolectricTestRunner.class)
+@Config(shadows = {ShadowBluetoothAdapter.class})
+public class SapProfileTest {
+
+    @Mock
+    private CachedBluetoothDeviceManager mDeviceManager;
+    @Mock
+    private LocalBluetoothProfileManager mProfileManager;
+    @Mock
+    private BluetoothSap mService;
+    @Mock
+    private CachedBluetoothDevice mCachedBluetoothDevice;
+    @Mock
+    private BluetoothDevice mBluetoothDevice;
+    private BluetoothProfile.ServiceListener mServiceListener;
+    private SapProfile mProfile;
+    private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        mProfile = new SapProfile(RuntimeEnvironment.application, mDeviceManager, mProfileManager);
+        mServiceListener = mShadowBluetoothAdapter.getServiceListener();
+        mServiceListener.onServiceConnected(BluetoothProfile.SAP, mService);
+    }
+
+    @Test
+    public void connect_shouldConnectBluetoothSap() {
+        mProfile.connect(mBluetoothDevice);
+        verify(mService).connect(mBluetoothDevice);
+    }
+
+    @Test
+    public void disconnect_shouldDisconnectBluetoothSap() {
+        mProfile.disconnect(mBluetoothDevice);
+        verify(mService).disconnect(mBluetoothDevice);
+    }
+
+    @Test
+    public void getConnectionStatus_shouldReturnConnectionState() {
+        when(mService.getConnectionState(mBluetoothDevice)).
+                thenReturn(BluetoothProfile.STATE_CONNECTED);
+        assertThat(mProfile.getConnectionStatus(mBluetoothDevice)).
+                isEqualTo(BluetoothProfile.STATE_CONNECTED);
+    }
+}
\ No newline at end of file
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/lifecycle/LifecycleTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/lifecycle/LifecycleTest.java
index c23ad79..887c1d5 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/lifecycle/LifecycleTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/lifecycle/LifecycleTest.java
@@ -38,13 +38,13 @@
 import com.android.settingslib.core.lifecycle.events.OnResume;
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
-import com.android.settingslib.testutils.FragmentTestUtils;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.Robolectric;
 import org.robolectric.android.controller.ActivityController;
+import org.robolectric.shadows.androidx.fragment.FragmentController;
 
 @RunWith(SettingsLibRobolectricTestRunner.class)
 public class LifecycleTest {
@@ -184,7 +184,7 @@
     @Test
     public void runThroughDialogFragmentLifecycles_shouldObserveEverything() {
         final TestDialogFragment fragment = new TestDialogFragment();
-        FragmentTestUtils.startFragment(fragment);
+        FragmentController.setupFragment(fragment);
 
         fragment.onCreateOptionsMenu(null, null);
         fragment.onPrepareOptionsMenu(null);
@@ -208,7 +208,7 @@
     @Test
     public void runThroughFragmentLifecycles_shouldObserveEverything() {
         final TestFragment fragment = new TestFragment();
-        FragmentTestUtils.startFragment(fragment);
+        FragmentController.setupFragment(fragment);
 
         fragment.onCreateOptionsMenu(null, null);
         fragment.onPrepareOptionsMenu(null);
@@ -248,7 +248,7 @@
     @Test
     public void onOptionItemSelectedShortCircuitsIfAnObserverHandlesTheMenuItem() {
         final TestFragment fragment = new TestFragment();
-        FragmentTestUtils.startFragment(fragment);
+        FragmentController.setupFragment(fragment);
 
         final OptionItemAccepter accepter = new OptionItemAccepter();
         fragment.getLifecycle().addObserver(accepter);
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/TileTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/TileTest.java
index a501ffa..40e7386 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/TileTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/TileTest.java
@@ -77,10 +77,10 @@
 
     @Test
     public void getIcon_hasIconMetadata_returnIcon() {
-        mActivityInfo.metaData.putInt(META_DATA_PREFERENCE_ICON, R.drawable.ic_info);
+        mActivityInfo.metaData.putInt(META_DATA_PREFERENCE_ICON, android.R.drawable.ic_info);
 
         assertThat(mTile.getIcon(RuntimeEnvironment.application).getResId())
-                .isEqualTo(R.drawable.ic_info);
+                .isEqualTo(android.R.drawable.ic_info);
     }
 
     @Test
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXmlTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXmlTest.java
index 96b2a14..b00476b2 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXmlTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXmlTest.java
@@ -50,7 +50,7 @@
             + "<file-content contentId=\"0\"><![CDATA[license content #0]]></file-content>\n"
             + "</licenses2>";
 
-    private static final String EXPECTED_HTML_STRING =
+    private static final String HTML_HEAD_STRING =
             "<html><head>\n"
             + "<style type=\"text/css\">\n"
             + "body { padding: 0; font-family: sans-serif; }\n"
@@ -63,8 +63,12 @@
             + "</head>"
             + "<body topmargin=\"0\" leftmargin=\"0\" rightmargin=\"0\" bottommargin=\"0\">\n"
             + "<div class=\"toc\">\n"
-            + "<ul>\n"
-            + "<li><a href=\"#id0\">/file0</a></li>\n"
+            + "<ul>\n";
+
+    private static final String HTML_CUSTOM_HEADING = "Custom heading";
+
+    private static final String HTML_BODY_STRING =
+            "<li><a href=\"#id0\">/file0</a></li>\n"
             + "<li><a href=\"#id0\">/file1</a></li>\n"
             + "</ul>\n"
             + "</div><!-- table of contents -->\n"
@@ -81,6 +85,11 @@
             + "</td></tr><!-- same-license -->\n"
             + "</table></body></html>\n";
 
+    private static final String EXPECTED_HTML_STRING = HTML_HEAD_STRING + HTML_BODY_STRING;
+
+    private static final String EXPECTED_HTML_STRING_WITH_CUSTOM_HEADING =
+            HTML_HEAD_STRING + HTML_CUSTOM_HEADING + "\n" + HTML_BODY_STRING;
+
     @Test
     public void testParseValidXmlStream() throws XmlPullParserException, IOException {
         Map<String, String> fileNameToContentIdMap = new HashMap<String, String>();
@@ -117,7 +126,23 @@
 
         StringWriter output = new StringWriter();
         LicenseHtmlGeneratorFromXml.generateHtml(
-                fileNameToContentIdMap, contentIdToFileContentMap, new PrintWriter(output));
+                fileNameToContentIdMap, contentIdToFileContentMap, new PrintWriter(output), "");
         assertThat(output.toString()).isEqualTo(EXPECTED_HTML_STRING);
     }
+
+    @Test
+    public void testGenerateHtmlWithCustomHeading() {
+        Map<String, String> fileNameToContentIdMap = new HashMap<String, String>();
+        Map<String, String> contentIdToFileContentMap = new HashMap<String, String>();
+
+        fileNameToContentIdMap.put("/file0", "0");
+        fileNameToContentIdMap.put("/file1", "0");
+        contentIdToFileContentMap.put("0", "license content #0");
+
+        StringWriter output = new StringWriter();
+        LicenseHtmlGeneratorFromXml.generateHtml(
+                fileNameToContentIdMap, contentIdToFileContentMap, new PrintWriter(output),
+                HTML_CUSTOM_HEADING);
+        assertThat(output.toString()).isEqualTo(EXPECTED_HTML_STRING_WITH_CUSTOM_HEADING);
+    }
 }
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlLoaderCompatTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlLoaderCompatTest.java
index 12a4e69..c32cc99 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlLoaderCompatTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlLoaderCompatTest.java
@@ -142,7 +142,7 @@
         }
 
         @Implementation
-        static boolean generateHtmlFile(List<File> xmlFiles, File htmlFile) {
+        static boolean generateHtmlFile(Context context, List<File> xmlFiles, File htmlFile) {
             return sGenerateHtmlFileSucceeded;
         }
     }
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/net/NetworkCycleChartDataLoaderTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/net/NetworkCycleChartDataLoaderTest.java
new file mode 100644
index 0000000..3dc110d
--- /dev/null
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/net/NetworkCycleChartDataLoaderTest.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.settingslib.net;
+
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.usage.NetworkStatsManager;
+import android.content.Context;
+import android.net.ConnectivityManager;
+import android.os.RemoteException;
+import android.text.format.DateUtils;
+
+import com.android.settingslib.SettingsLibRobolectricTestRunner;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@RunWith(SettingsLibRobolectricTestRunner.class)
+public class NetworkCycleChartDataLoaderTest {
+
+    @Mock
+    private NetworkStatsManager mNetworkStatsManager;
+    @Mock
+    private Context mContext;
+
+    private NetworkCycleChartDataLoader mLoader;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        when(mContext.getSystemService(Context.NETWORK_STATS_SERVICE))
+            .thenReturn(mNetworkStatsManager);
+    }
+
+    @Test
+    public void recordUsage_shouldQueryNetworkSummary() throws RemoteException {
+        final long end = System.currentTimeMillis();
+        final long start = end - (DateUtils.WEEK_IN_MILLIS * 4);
+        final int networkType = ConnectivityManager.TYPE_MOBILE;
+        final String subId = "TestSubscriber";
+        mLoader = NetworkCycleChartDataLoader.builder(mContext)
+            .setNetworkType(networkType).setSubscriberId(subId).build();
+
+        mLoader.recordUsage(start, end);
+
+        verify(mNetworkStatsManager).querySummary(networkType, subId, start, end);
+    }
+}
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/net/NetworkCycleDataForUidLoaderTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/net/NetworkCycleDataForUidLoaderTest.java
new file mode 100644
index 0000000..53fe451
--- /dev/null
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/net/NetworkCycleDataForUidLoaderTest.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.settingslib.net;
+
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.usage.NetworkStatsManager;
+import android.content.Context;
+import android.net.ConnectivityManager;
+import android.text.format.DateUtils;
+
+import com.android.settingslib.SettingsLibRobolectricTestRunner;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@RunWith(SettingsLibRobolectricTestRunner.class)
+public class NetworkCycleDataForUidLoaderTest {
+
+    @Mock
+    private NetworkStatsManager mNetworkStatsManager;
+    @Mock
+    private Context mContext;
+
+    private NetworkCycleDataForUidLoader mLoader;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        when(mContext.getSystemService(Context.NETWORK_STATS_SERVICE))
+            .thenReturn(mNetworkStatsManager);
+    }
+
+    @Test
+    public void recordUsage_shouldQueryNetworkDetailsForUid() {
+        final long end = System.currentTimeMillis();
+        final long start = end - (DateUtils.WEEK_IN_MILLIS * 4);
+        final int networkType = ConnectivityManager.TYPE_MOBILE;
+        final String subId = "TestSubscriber";
+        final int uid = 1;
+        mLoader = NetworkCycleDataForUidLoader.builder(mContext)
+            .setUid(uid).setNetworkType(networkType).setSubscriberId(subId).build();
+
+        mLoader.recordUsage(start, end);
+
+        verify(mNetworkStatsManager).queryDetailsForUid(networkType, subId, start, end, uid);
+    }
+}
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/net/NetworkCycleDataLoaderTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/net/NetworkCycleDataLoaderTest.java
new file mode 100644
index 0000000..be7f1bb
--- /dev/null
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/net/NetworkCycleDataLoaderTest.java
@@ -0,0 +1,155 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.settingslib.net;
+
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Matchers.nullable;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.usage.NetworkStatsManager;
+import android.content.Context;
+import android.net.ConnectivityManager;
+import android.net.INetworkStatsService;
+import android.net.INetworkStatsSession;
+import android.net.NetworkPolicy;
+import android.net.NetworkStatsHistory;
+import android.net.NetworkTemplate;
+import android.os.RemoteException;
+import android.text.format.DateUtils;
+import android.util.Range;
+
+import com.android.settingslib.SettingsLibRobolectricTestRunner;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.util.ReflectionHelpers;
+
+import java.time.ZonedDateTime;
+import java.util.Iterator;
+import java.util.List;
+
+@RunWith(SettingsLibRobolectricTestRunner.class)
+public class NetworkCycleDataLoaderTest {
+
+    @Mock
+    private NetworkStatsManager mNetworkStatsManager;
+    @Mock
+    private Context mContext;
+    @Mock
+    private NetworkPolicy mPolicy;
+    @Mock
+    private Iterator<Range<ZonedDateTime>> mIterator;
+    @Mock
+    private INetworkStatsService mNetworkStatsService;
+    @Mock
+    private NetworkCycleDataLoader.Builder mBuilder;
+
+
+    private NetworkCycleDataTestLoader mLoader;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        when(mContext.getSystemService(Context.NETWORK_STATS_SERVICE))
+            .thenReturn(mNetworkStatsManager);
+        when(mPolicy.cycleIterator()).thenReturn(mIterator);
+    }
+
+    @Test
+    public void loadInBackground_noNetworkPolicy_shouldLoad4WeeksData() {
+        mLoader = spy(new NetworkCycleDataTestLoader(mContext));
+        doNothing().when(mLoader).loadFourWeeksData();
+
+        mLoader.loadInBackground();
+
+        verify(mLoader).loadFourWeeksData();
+    }
+
+    @Test
+    public void loadInBackground_hasNetworkPolicy_shouldLoadPolicyData() {
+        mLoader = spy(new NetworkCycleDataTestLoader(mContext));
+        ReflectionHelpers.setField(mLoader, "mPolicy", mPolicy);
+
+        mLoader.loadInBackground();
+
+        verify(mLoader).loadPolicyData();
+    }
+
+    @Test
+    public void loadPolicyData_shouldRecordUsageFromPolicyCycle() {
+        final int networkType = ConnectivityManager.TYPE_MOBILE;
+        final String subId = "TestSubscriber";
+        final ZonedDateTime now = ZonedDateTime.now();
+        final Range<ZonedDateTime> cycle = new Range<>(now, now);
+        final long nowInMs = now.toInstant().toEpochMilli();
+        // mock 1 cycle data.
+        // hasNext() will be called internally in next(), hence setting it to return true twice.
+        when(mIterator.hasNext()).thenReturn(true).thenReturn(true).thenReturn(false);
+        when(mIterator.next()).thenReturn(cycle);
+        mLoader = spy(new NetworkCycleDataTestLoader(mContext));
+        ReflectionHelpers.setField(mLoader, "mPolicy", mPolicy);
+        ReflectionHelpers.setField(mLoader, "mNetworkType", networkType);
+        ReflectionHelpers.setField(mLoader, "mSubId", subId);
+
+        mLoader.loadPolicyData();
+
+        verify(mLoader).recordUsage(nowInMs, nowInMs);
+    }
+
+    @Test
+    public void loadFourWeeksData_shouldRecordUsageForLast4Weeks() throws RemoteException {
+        mLoader = spy(new NetworkCycleDataTestLoader(mContext));
+        ReflectionHelpers.setField(mLoader, "mNetworkStatsService", mNetworkStatsService);
+        final INetworkStatsSession networkSession = mock(INetworkStatsSession.class);
+        when(mNetworkStatsService.openSession()).thenReturn(networkSession);
+        final NetworkStatsHistory networkHistory = mock(NetworkStatsHistory.class);
+        when(networkSession.getHistoryForNetwork(nullable(NetworkTemplate.class), anyInt()))
+            .thenReturn(networkHistory);
+        final long now = System.currentTimeMillis();
+        final long fourWeeksAgo = now - (DateUtils.WEEK_IN_MILLIS * 4);
+        when(networkHistory.getStart()).thenReturn(fourWeeksAgo);
+        when(networkHistory.getEnd()).thenReturn(now);
+
+        mLoader.loadFourWeeksData();
+
+        verify(mLoader).recordUsage(fourWeeksAgo, now);
+    }
+
+    public class NetworkCycleDataTestLoader extends NetworkCycleDataLoader<List<NetworkCycleData>> {
+
+        private NetworkCycleDataTestLoader(Context context) {
+            super(NetworkCycleDataLoader.builder(mContext));
+            mContext = context;
+        }
+
+        @Override
+        void recordUsage(long start, long end) {
+        }
+
+        @Override
+        List<NetworkCycleData> getCycleUsage() {
+            return null;
+        }
+    }
+}
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/FragmentTestUtils.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/FragmentTestUtils.java
deleted file mode 100644
index d8e73b7..0000000
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/FragmentTestUtils.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2018 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.
- */
-
-package com.android.settingslib.testutils;
-
-import android.os.Bundle;
-import android.widget.LinearLayout;
-
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentActivity;
-import androidx.fragment.app.FragmentManager;
-
-import org.robolectric.Robolectric;
-
-/**
- * Utilities for creating Fragments for testing.
- * <p>
- * TODO(b/111195449) - Duplicated from org.robolectric.shadows.support.v4.SupportFragmentTestUtil
- */
-@Deprecated
-public class FragmentTestUtils {
-
-    public static void startFragment(Fragment fragment) {
-        buildFragmentManager(FragmentUtilActivity.class)
-                .beginTransaction().add(fragment, null).commit();
-    }
-
-    public static void startFragment(Fragment fragment,
-            Class<? extends FragmentActivity> activityClass) {
-        buildFragmentManager(activityClass)
-                .beginTransaction().add(fragment, null).commit();
-    }
-
-    public static void startVisibleFragment(Fragment fragment) {
-        buildFragmentManager(FragmentUtilActivity.class)
-                .beginTransaction().add(1, fragment, null).commit();
-    }
-
-    public static void startVisibleFragment(Fragment fragment,
-            Class<? extends FragmentActivity> activityClass, int containerViewId) {
-        buildFragmentManager(activityClass)
-                .beginTransaction().add(containerViewId, fragment, null).commit();
-    }
-
-    private static FragmentManager buildFragmentManager(
-            Class<? extends FragmentActivity> activityClass) {
-        FragmentActivity activity = Robolectric.setupActivity(activityClass);
-        return activity.getSupportFragmentManager();
-    }
-
-    private static class FragmentUtilActivity extends FragmentActivity {
-        @Override
-        protected void onCreate(Bundle savedInstanceState) {
-            super.onCreate(savedInstanceState);
-            LinearLayout view = new LinearLayout(this);
-            view.setId(1);
-
-            setContentView(view);
-        }
-    }
-}
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/shadow/ShadowXmlUtils.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/shadow/ShadowXmlUtils.java
new file mode 100644
index 0000000..3455765
--- /dev/null
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/shadow/ShadowXmlUtils.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.settingslib.testutils.shadow;
+
+import static org.robolectric.shadow.api.Shadow.directlyOn;
+
+import com.android.internal.util.XmlUtils;
+
+import org.robolectric.Robolectric;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.util.ReflectionHelpers;
+
+@Implements(XmlUtils.class)
+public class ShadowXmlUtils {
+
+    @Implementation
+    public static final int convertValueToInt(CharSequence charSeq, int defaultValue) {
+        final Class<?> xmlUtilsClass = ReflectionHelpers.loadClass(
+                Robolectric.class.getClassLoader(), "com.android.internal.util.XmlUtils");
+        try {
+            return directlyOn(xmlUtilsClass, "convertValueToInt",
+                    ReflectionHelpers.ClassParameter.from(CharSequence.class, charSeq),
+                    ReflectionHelpers.ClassParameter.from(int.class, new Integer(defaultValue)));
+        } catch (NumberFormatException e) {
+            return defaultValue;
+        }
+    }
+}
\ No newline at end of file
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/apppreference/AppPreferenceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/apppreference/AppPreferenceTest.java
new file mode 100644
index 0000000..10c9dfb
--- /dev/null
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/apppreference/AppPreferenceTest.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.settingslib.widget.apppreference;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.view.View;
+
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settingslib.SettingsLibRobolectricTestRunner;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(SettingsLibRobolectricTestRunner.class)
+public class AppPreferenceTest {
+
+    private Context mContext;
+    private View mRootView;
+    private AppPreference mPref;
+    private PreferenceViewHolder mHolder;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mRootView = View.inflate(mContext, R.layout.preference_app, null /* parent */);
+        mHolder = PreferenceViewHolder.createInstanceForTests(mRootView);
+        mPref = new AppPreference(mContext);
+    }
+
+    @Test
+    public void setProgress_showProgress() {
+        mPref.setProgress(1);
+        mPref.onBindViewHolder(mHolder);
+
+        assertThat(mHolder.findViewById(android.R.id.progress).getVisibility())
+                .isEqualTo(View.VISIBLE);
+    }
+
+    @Test
+    public void setSummary_showSummaryContainer() {
+        mPref.setSummary("test");
+        mPref.onBindViewHolder(mHolder);
+
+        assertThat(mHolder.findViewById(R.id.summary_container).getVisibility())
+                .isEqualTo(View.VISIBLE);
+    }
+
+    @Test
+    public void noSummary_hideSummaryContainer() {
+        mPref.setSummary(null);
+        mPref.onBindViewHolder(mHolder);
+
+        assertThat(mHolder.findViewById(R.id.summary_container).getVisibility())
+                .isEqualTo(View.GONE);
+    }
+
+    @Test
+    public void foobar_testName() {
+        float iconSize = mContext.getResources().getDimension(R.dimen.secondary_app_icon_size);
+        assertThat(Float.floatToIntBits(iconSize)).isEqualTo(Float.floatToIntBits(32));
+    }
+}
diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml
index c53417b..de86789 100644
--- a/packages/SettingsProvider/res/values/defaults.xml
+++ b/packages/SettingsProvider/res/values/defaults.xml
@@ -55,7 +55,7 @@
     <bool name="def_networks_available_notification_on">true</bool>
 
     <bool name="def_backup_enabled">false</bool>
-    <string name="def_backup_transport" translatable="false">android/com.android.internal.backup.LocalTransport</string>
+    <string name="def_backup_transport" translatable="false">com.android.localtransport/.LocalTransport</string>
 
     <!-- Default value for whether or not to pulse the notification LED when there is a
          pending notification -->
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
index c6ea480..c09b763 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
@@ -659,6 +659,9 @@
         dumpSetting(s, p,
                 Settings.Global.GPU_DEBUG_LAYERS,
                 GlobalSettingsProto.Gpu.DEBUG_LAYERS);
+        dumpSetting(s, p,
+                Settings.Global.ANGLE_ENABLED_APP,
+                GlobalSettingsProto.Gpu.ANGLE_ENABLED_APP);
         p.end(gpuToken);
 
         final long hdmiToken = p.start(GlobalSettingsProto.HDMI);
@@ -1617,6 +1620,12 @@
         dumpSetting(s, p,
                 Settings.Secure.TOUCH_EXPLORATION_GRANTED_ACCESSIBILITY_SERVICES,
                 SecureSettingsProto.Accessibility.TOUCH_EXPLORATION_GRANTED_ACCESSIBILITY_SERVICES);
+        dumpSetting(s, p,
+                Settings.Secure.ACCESSIBILITY_MINIMUM_UI_TIMEOUT_ENABLED,
+                SecureSettingsProto.Accessibility.MINIMUM_UI_TIMEOUT_ENABLED);
+        dumpSetting(s, p,
+                Settings.Secure.ACCESSIBILITY_MINIMUM_UI_TIMEOUT_MS,
+                SecureSettingsProto.Accessibility.MINIMUM_UI_TIMEOUT_MS);
         p.end(accessibilityToken);
 
         dumpSetting(s, p,
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index f4d1892..18ec9c3 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -2952,7 +2952,7 @@
         }
 
         private final class UpgradeController {
-            private static final int SETTINGS_VERSION = 171;
+            private static final int SETTINGS_VERSION = 172;
 
             private final int mUserId;
 
@@ -3289,8 +3289,8 @@
                 if (currentVersion == 133) {
                     // Version 133: Add default end button behavior
                     final SettingsState systemSettings = getSystemSettingsLocked(userId);
-                    if (systemSettings.getSettingLocked(Settings.System.END_BUTTON_BEHAVIOR) ==
-                            null) {
+                    if (systemSettings.getSettingLocked(Settings.System.END_BUTTON_BEHAVIOR)
+                            .isNull()) {
                         String defaultEndButtonBehavior = Integer.toString(getContext()
                                 .getResources().getInteger(R.integer.def_end_button_behavior));
                         systemSettings.insertSettingLocked(Settings.System.END_BUTTON_BEHAVIOR,
@@ -3904,6 +3904,37 @@
                     currentVersion = 171;
                 }
 
+                if (currentVersion == 171) {
+                    // Version 171: by default, add STREAM_VOICE_CALL to list of streams that can
+                    // be muted.
+                    final SettingsState systemSettings = getSystemSettingsLocked(userId);
+                    final Setting currentSetting = systemSettings.getSettingLocked(
+                              Settings.System.MUTE_STREAMS_AFFECTED);
+                    if (!currentSetting.isNull()) {
+                        try {
+                            int currentSettingIntegerValue = Integer.parseInt(
+                                    currentSetting.getValue());
+                            if ((currentSettingIntegerValue
+                                 & (1 << AudioManager.STREAM_VOICE_CALL)) == 0) {
+                                systemSettings.insertSettingLocked(
+                                    Settings.System.MUTE_STREAMS_AFFECTED,
+                                    Integer.toString(
+                                        currentSettingIntegerValue
+                                        | (1 << AudioManager.STREAM_VOICE_CALL)),
+                                    null, true, SettingsState.SYSTEM_PACKAGE_NAME);
+                            }
+                        } catch (NumberFormatException e) {
+                            // remove the setting in case it is not a valid integer
+                            Slog.w("Failed to parse integer value of MUTE_STREAMS_AFFECTED"
+                                   + "setting, removing setting", e);
+                            systemSettings.deleteSettingLocked(
+                                Settings.System.MUTE_STREAMS_AFFECTED);
+                        }
+
+                    }
+                    currentVersion = 172;
+                }
+
                 // vXXX: Add new settings above this point.
 
                 if (currentVersion != newVersion) {
diff --git a/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsProviderTest.java b/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsProviderTest.java
index b6f51bc..95569dc 100644
--- a/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsProviderTest.java
+++ b/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsProviderTest.java
@@ -613,7 +613,7 @@
             final String name, final String value, final int userId) throws Exception {
         ContentResolver contentResolver = getContext().getContentResolver();
 
-        final Uri settingUri = getBaseUriForType(type);
+        final Uri settingUri = getBaseUriForType(type).buildUpon().appendPath(name).build();
 
         final AtomicBoolean success = new AtomicBoolean();
 
@@ -640,20 +640,22 @@
 
             final long startTimeMillis = SystemClock.uptimeMillis();
             synchronized (mLock) {
-                if (success.get()) {
-                    return;
-                }
-                final long elapsedTimeMillis = SystemClock.uptimeMillis() - startTimeMillis;
-                if (elapsedTimeMillis > WAIT_FOR_SETTING_URI_CHANGE_TIMEOUT_MILLIS) {
-                    fail("Could not change setting for "
-                            + WAIT_FOR_SETTING_URI_CHANGE_TIMEOUT_MILLIS + " ms");
-                }
-                final long remainingTimeMillis = WAIT_FOR_SETTING_URI_CHANGE_TIMEOUT_MILLIS
-                        - elapsedTimeMillis;
-                try {
-                    mLock.wait(remainingTimeMillis);
-                } catch (InterruptedException ie) {
-                    /* ignore */
+                while (true) {
+                    if (success.get()) {
+                        return;
+                    }
+                    final long elapsedTimeMillis = SystemClock.uptimeMillis() - startTimeMillis;
+                    if (elapsedTimeMillis > WAIT_FOR_SETTING_URI_CHANGE_TIMEOUT_MILLIS) {
+                        fail("Could not change setting for "
+                                + WAIT_FOR_SETTING_URI_CHANGE_TIMEOUT_MILLIS + " ms");
+                    }
+                    final long remainingTimeMillis = WAIT_FOR_SETTING_URI_CHANGE_TIMEOUT_MILLIS
+                            - elapsedTimeMillis;
+                    try {
+                        mLock.wait(remainingTimeMillis);
+                    } catch (InterruptedException ie) {
+                        /* ignore */
+                    }
                 }
             }
         } finally {
@@ -689,39 +691,50 @@
     }
 
     @Test
-    public void testUpdateLocationProvidersAllowedLocked_enableProviders() throws Exception {
-        setSettingViaFrontEndApiAndAssertSuccessfulChange(
+    public void testLocationModeChanges_viaFrontEndApi() throws Exception {
+        setStringViaFrontEndApiSetting(
                 SETTING_TYPE_SECURE,
                 Settings.Secure.LOCATION_MODE,
                 String.valueOf(Settings.Secure.LOCATION_MODE_OFF),
                 UserHandle.USER_SYSTEM);
-
-        // Enable one provider
-        updateStringViaProviderApiSetting(
-                SETTING_TYPE_SECURE, Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "+gps");
-
         assertEquals(
                 "Wrong location providers",
-                "gps",
-                queryStringViaProviderApi(
-                        SETTING_TYPE_SECURE, Settings.Secure.LOCATION_PROVIDERS_ALLOWED));
+                "",
+                getStringViaFrontEndApiSetting(
+                        SETTING_TYPE_SECURE,
+                        Settings.Secure.LOCATION_PROVIDERS_ALLOWED,
+                        UserHandle.USER_SYSTEM));
 
-        // Enable a list of providers, including the one that is already enabled
-        updateStringViaProviderApiSetting(
+        setStringViaFrontEndApiSetting(
                 SETTING_TYPE_SECURE,
-                Settings.Secure.LOCATION_PROVIDERS_ALLOWED,
-                "+gps,+network,+network");
+                Settings.Secure.LOCATION_MODE,
+                String.valueOf(Settings.Secure.LOCATION_MODE_BATTERY_SAVING),
+                UserHandle.USER_SYSTEM);
+        assertEquals(
+                "Wrong location providers",
+                "network",
+                getStringViaFrontEndApiSetting(
+                        SETTING_TYPE_SECURE,
+                        Settings.Secure.LOCATION_PROVIDERS_ALLOWED,
+                        UserHandle.USER_SYSTEM));
 
+        setStringViaFrontEndApiSetting(
+                SETTING_TYPE_SECURE,
+                Settings.Secure.LOCATION_MODE,
+                String.valueOf(Settings.Secure.LOCATION_MODE_HIGH_ACCURACY),
+                UserHandle.USER_SYSTEM);
         assertEquals(
                 "Wrong location providers",
                 "gps,network",
-                queryStringViaProviderApi(
-                        SETTING_TYPE_SECURE, Settings.Secure.LOCATION_PROVIDERS_ALLOWED));
+                getStringViaFrontEndApiSetting(
+                        SETTING_TYPE_SECURE,
+                        Settings.Secure.LOCATION_PROVIDERS_ALLOWED,
+                        UserHandle.USER_SYSTEM));
     }
 
     @Test
-    public void testUpdateLocationProvidersAllowedLocked_disableProviders() throws Exception {
-        setSettingViaFrontEndApiAndAssertSuccessfulChange(
+    public void testLocationProvidersAllowed_disableProviders() throws Exception {
+        setStringViaFrontEndApiSetting(
                 SETTING_TYPE_SECURE,
                 Settings.Secure.LOCATION_MODE,
                 String.valueOf(Settings.Secure.LOCATION_MODE_HIGH_ACCURACY),
@@ -732,7 +745,6 @@
                 SETTING_TYPE_SECURE,
                 Settings.Secure.LOCATION_PROVIDERS_ALLOWED,
                 "-gps,-network");
-
         assertEquals(
                 "Wrong location providers",
                 "",
@@ -744,7 +756,6 @@
                 SETTING_TYPE_SECURE,
                 Settings.Secure.LOCATION_PROVIDERS_ALLOWED,
                 "-test");
-
         assertEquals(
                 "Wrong location providers",
                 "",
@@ -753,8 +764,8 @@
     }
 
     @Test
-    public void testUpdateLocationProvidersAllowedLocked_enableAndDisable() throws Exception {
-        setSettingViaFrontEndApiAndAssertSuccessfulChange(
+    public void testLocationProvidersAllowed_enableAndDisable() throws Exception {
+        setStringViaFrontEndApiSetting(
                 SETTING_TYPE_SECURE,
                 Settings.Secure.LOCATION_MODE,
                 String.valueOf(Settings.Secure.LOCATION_MODE_OFF),
@@ -775,8 +786,8 @@
     }
 
     @Test
-    public void testUpdateLocationProvidersAllowedLocked_invalidInput() throws Exception {
-        setSettingViaFrontEndApiAndAssertSuccessfulChange(
+    public void testLocationProvidersAllowedLocked_invalidInput() throws Exception {
+        setStringViaFrontEndApiSetting(
                 SETTING_TYPE_SECURE,
                 Settings.Secure.LOCATION_MODE,
                 String.valueOf(Settings.Secure.LOCATION_MODE_OFF),
diff --git a/packages/Shell/AndroidManifest.xml b/packages/Shell/AndroidManifest.xml
index da870bd..5c654b4 100644
--- a/packages/Shell/AndroidManifest.xml
+++ b/packages/Shell/AndroidManifest.xml
@@ -151,6 +151,7 @@
 
     <uses-permission android:name="android.permission.CONTROL_KEYGUARD" />
     <uses-permission android:name="android.permission.SUSPEND_APPS" />
+    <uses-permission android:name="android.permission.READ_CLIPBOARD_IN_BACKGROUND" />
 
     <application android:label="@string/app_label"
                  android:defaultToDeviceProtectedStorage="true"
diff --git a/packages/Shell/src/com/android/shell/BugreportProgressService.java b/packages/Shell/src/com/android/shell/BugreportProgressService.java
index 4fc190d..2530abc 100644
--- a/packages/Shell/src/com/android/shell/BugreportProgressService.java
+++ b/packages/Shell/src/com/android/shell/BugreportProgressService.java
@@ -16,6 +16,8 @@
 
 package com.android.shell;
 
+import static android.content.pm.PackageManager.FEATURE_LEANBACK;
+import static android.content.pm.PackageManager.FEATURE_TELEVISION;
 import static android.os.Process.THREAD_PRIORITY_BACKGROUND;
 
 import static com.android.shell.BugreportPrefs.STATE_HIDE;
@@ -42,6 +44,7 @@
 
 import libcore.io.Streams;
 
+import com.android.internal.annotations.GuardedBy;
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.app.ChooserActivity;
 import com.android.internal.logging.MetricsLogger;
@@ -232,9 +235,11 @@
      */
     private boolean mTakingScreenshot;
 
+    @GuardedBy("sNotificationBundle")
     private static final Bundle sNotificationBundle = new Bundle();
 
     private boolean mIsWatch;
+    private boolean mIsTv;
 
     private int mLastProgressPercent;
 
@@ -255,6 +260,9 @@
         final Configuration conf = mContext.getResources().getConfiguration();
         mIsWatch = (conf.uiMode & Configuration.UI_MODE_TYPE_MASK) ==
                 Configuration.UI_MODE_TYPE_WATCH;
+        PackageManager packageManager = getPackageManager();
+        mIsTv = packageManager.hasSystemFeature(FEATURE_LEANBACK)
+                || packageManager.hasSystemFeature(FEATURE_TELEVISION);
         NotificationManager nm = NotificationManager.from(mContext);
         nm.createNotificationChannel(
                 new NotificationChannel(NOTIFICATION_CHANNEL_ID,
@@ -500,8 +508,8 @@
                 .setProgress(info.max, info.progress, false)
                 .setOngoing(true);
 
-        // Wear bugreport doesn't need the bug info dialog, screenshot and cancel action.
-        if (!mIsWatch) {
+        // Wear and ATV bugreport doesn't need the bug info dialog, screenshot and cancel action.
+        if (!(mIsWatch || mIsTv)) {
             final Action cancelAction = new Action.Builder(null, mContext.getString(
                     com.android.internal.R.string.cancel), newCancelIntent(mContext, info)).build();
             final Intent infoIntent = new Intent(mContext, BugreportProgressService.class);
@@ -1053,10 +1061,12 @@
     }
 
     private static Notification.Builder newBaseNotification(Context context) {
-        if (sNotificationBundle.isEmpty()) {
-            // Rename notifcations from "Shell" to "Android System"
-            sNotificationBundle.putString(Notification.EXTRA_SUBSTITUTE_APP_NAME,
-                    context.getString(com.android.internal.R.string.android_system_label));
+        synchronized (sNotificationBundle) {
+            if (sNotificationBundle.isEmpty()) {
+                // Rename notifcations from "Shell" to "Android System"
+                sNotificationBundle.putString(Notification.EXTRA_SUBSTITUTE_APP_NAME,
+                        context.getString(com.android.internal.R.string.android_system_label));
+            }
         }
         return new Notification.Builder(context, NOTIFICATION_CHANNEL_ID)
                 .addExtras(sNotificationBundle)
diff --git a/packages/Shell/src/com/android/shell/BugreportStorageProvider.java b/packages/Shell/src/com/android/shell/BugreportStorageProvider.java
index 0734e0d..4fbc226 100644
--- a/packages/Shell/src/com/android/shell/BugreportStorageProvider.java
+++ b/packages/Shell/src/com/android/shell/BugreportStorageProvider.java
@@ -20,6 +20,7 @@
 import android.database.MatrixCursor;
 import android.database.MatrixCursor.RowBuilder;
 import android.net.Uri;
+import android.os.Bundle;
 import android.os.CancellationSignal;
 import android.os.FileUtils;
 import android.os.ParcelFileDescriptor;
@@ -68,6 +69,18 @@
     }
 
     @Override
+    public Cursor queryChildDocuments(
+            String parentDocumentId, String[] projection, String sortOrder)
+            throws FileNotFoundException {
+        final Cursor c = super.queryChildDocuments(parentDocumentId, projection, sortOrder);
+        final Bundle extras = new Bundle();
+        extras.putCharSequence(DocumentsContract.EXTRA_INFO,
+                getContext().getText(R.string.bugreport_confirm));
+        c.setExtras(extras);
+        return c;
+    }
+
+    @Override
     public Cursor queryDocument(String documentId, String[] projection)
             throws FileNotFoundException {
         if (DOC_ID_ROOT.equals(documentId)) {
diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp
index 0913503..9c33116 100644
--- a/packages/SystemUI/Android.bp
+++ b/packages/SystemUI/Android.bp
@@ -66,6 +66,7 @@
     libs: [
         "telephony-common",
         "android.car",
+        "android.car.user",
     ],
 
     aaptflags: [
@@ -119,6 +120,7 @@
         "android.test.runner",
         "telephony-common",
         "android.car",
+        "android.car.user",
         "android.test.base",
     ],
     aaptflags: [
@@ -144,6 +146,7 @@
     libs: [
         "telephony-common",
         "android.car",
+        "android.car.user",
     ],
 
     dxflags: ["--multi-dex"],
diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml
index e31dd1e..3725940 100644
--- a/packages/SystemUI/AndroidManifest.xml
+++ b/packages/SystemUI/AndroidManifest.xml
@@ -216,6 +216,7 @@
 
     <protected-broadcast android:name="com.android.settingslib.action.REGISTER_SLICE_RECEIVER" />
     <protected-broadcast android:name="com.android.settingslib.action.UNREGISTER_SLICE_RECEIVER" />
+    <protected-broadcast android:name="com.android.settings.flashlight.action.FLASHLIGHT_CHANGED" />
 
     <application
         android:name=".SystemUIApplication"
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/NotificationMenuRowPlugin.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/NotificationMenuRowPlugin.java
index 680f14b..0b1dab1 100644
--- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/NotificationMenuRowPlugin.java
+++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/NotificationMenuRowPlugin.java
@@ -38,11 +38,12 @@
 public interface NotificationMenuRowPlugin extends Plugin {
 
     public static final String ACTION = "com.android.systemui.action.PLUGIN_NOTIFICATION_MENU_ROW";
-    public static final int VERSION = 4;
+    public static final int VERSION = 5;
 
     @ProvidesInterface(version = OnMenuEventListener.VERSION)
     public interface OnMenuEventListener {
         public static final int VERSION = 1;
+
         public void onMenuClicked(View row, int x, int y, MenuItem menu);
 
         public void onMenuReset(View row);
@@ -53,6 +54,7 @@
     @ProvidesInterface(version = MenuItem.VERSION)
     public interface MenuItem {
         public static final int VERSION = 1;
+
         public View getMenuView();
 
         public View getGutsView();
@@ -84,34 +86,136 @@
 
     public void setMenuClickListener(OnMenuEventListener listener);
 
-    public void setSwipeActionHelper(NotificationSwipeActionHelper listener);
-
     public void setAppName(String appName);
 
     public void createMenu(ViewGroup parent, StatusBarNotification sbn);
 
-    public View getMenuView();
-
-    public boolean isMenuVisible();
-
     public void resetMenu();
 
-    public void onTranslationUpdate(float translation);
+    public View getMenuView();
 
-    public void onHeightUpdate();
+    /**
+     * Get the target position that a notification row should be snapped open to in order to reveal
+     * the menu. This is generally determined by the number of icons in the notification menu and the
+     * size of each icon. This method accounts for whether the menu appears on the left or ride side
+     * of the parent notification row.
+     *
 
-    public void onNotificationUpdated(StatusBarNotification sbn);
+     * @return an int representing the x-offset in pixels that the notification should snap open to.
+     * Positive values imply that the notification should be offset to the right to reveal the menu,
+     * and negative alues imply that the notification should be offset to the right.
+     */
+    public int getMenuSnapTarget();
 
-    public boolean onTouchEvent(View view, MotionEvent ev, float velocity);
+    /**
+     * Determines whether or not the menu should be shown in response to user input.
+     * @return true if the menu should be shown, false otherwise.
+     */
+    public boolean shouldShowMenu();
+
+    /**
+     * Determines whether the menu is currently visible.
+     * @return true if the menu is visible, false otherwise.
+     */
+    public boolean isMenuVisible();
+
+    /**
+     * Determines whether a given movement is towards or away from the current location of the menu.
+     * @param movement
+     * @return true if the movement is towards the menu, false otherwise.
+     */
+    public boolean isTowardsMenu(float movement);
+
+    /**
+     * Determines whether the menu should snap closed instead of dismissing the
+     * parent notification, as a function of its current state.
+     *
+     * @return true if the menu should snap closed, false otherwise.
+     */
+    public boolean shouldSnapBack();
+
+    /**
+     * Determines whether the menu was previously snapped open to the same side that it is currently
+     * being shown on.
+     * @return true if the menu is snapped open to the same side on which it currently appears,
+     * false otherwise.
+     */
+    public boolean isSnappedAndOnSameSide();
+
+    /**
+     * Determines whether the notification the menu is attached to is able to be dismissed.
+     * @return true if the menu's parent notification is dismissable, false otherwise.
+     */
+    public boolean canBeDismissed();
+
+    /**
+     * Determines whether the menu should remain open given its current state, or snap closed.
+     * @return true if the menu should remain open, false otherwise.
+     */
+    public boolean isWithinSnapMenuThreshold();
+
+    /**
+     * Determines whether the menu has been swiped far enough to snap open.
+     * @return true if the menu has been swiped far enough to open, false otherwise.
+     */
+    public boolean isSwipedEnoughToShowMenu();
 
     public default boolean onInterceptTouchEvent(View view, MotionEvent ev) {
         return false;
     }
 
-    public default boolean useDefaultMenuItems() {
+    public default boolean shouldUseDefaultMenuItems() {
         return false;
     }
 
-    public default void onConfigurationChanged() {
-    }
+    /**
+     * Callback used to signal the menu that its parent's translation has changed.
+     * @param translation The new x-translation of the menu as a position (not an offset).
+     */
+    public void onParentTranslationUpdate(float translation);
+
+    /**
+     * Callback used to signal the menu that its parent's height has changed.
+     */
+    public void onParentHeightUpdate();
+
+    /**
+     * Callback used to signal the menu that its parent notification has been updated.
+     * @param sbn
+     */
+    public void onNotificationUpdated(StatusBarNotification sbn);
+
+    /**
+     * Callback used to signal the menu that a user is moving the parent notification.
+     * @param delta The change in the parent notification's position.
+     */
+    public void onTouchMove(float delta);
+
+    /**
+     * Callback used to signal the menu that a user has begun touching its parent notification.
+     */
+    public void onTouchStart();
+
+    /**
+     * Callback used to signal the menu that a user has finished touching its parent notification.
+     */
+    public void onTouchEnd();
+
+    /**
+     * Callback used to signal the menu that it has been snapped closed.
+     */
+    public void onSnapClosed();
+
+    /**
+     * Callback used to signal the menu that it has been snapped open.
+     */
+    public void onSnapOpen();
+
+    /**
+     * Callback used to signal the menu that its parent notification has been dismissed.
+     */
+    public void onDismiss();
+
+    public default void onConfigurationChanged() { }
+
 }
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/NotificationSwipeActionHelper.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/NotificationSwipeActionHelper.java
index f6cf035..8db0d02 100644
--- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/NotificationSwipeActionHelper.java
+++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/NotificationSwipeActionHelper.java
@@ -39,7 +39,7 @@
     /**
      * Call this to snap a notification to provided {@code targetLeft}.
      */
-    public void snap(View animView, float velocity, float targetLeft);
+    public void snapOpen(View animView, int targetLeft, float velocity);
 
     /**
      * Call this to snooze a notification based on the provided {@link SnoozeOption}.
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/phone/NavGesture.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/phone/NavGesture.java
index aa2fb32..814324e 100644
--- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/phone/NavGesture.java
+++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/phone/NavGesture.java
@@ -20,6 +20,7 @@
 
 import com.android.systemui.plugins.Plugin;
 import com.android.systemui.plugins.annotations.ProvidesInterface;
+import java.io.PrintWriter;
 
 @ProvidesInterface(action = NavGesture.ACTION, version = NavGesture.VERSION)
 public interface NavGesture extends Plugin {
@@ -46,6 +47,8 @@
         public void onNavigationButtonLongPress(View v);
 
         public default void destroy() { }
+
+        public default void dump(PrintWriter pw) { }
     }
 
 }
diff --git a/packages/SystemUI/res-keyguard/values-am/strings.xml b/packages/SystemUI/res-keyguard/values-am/strings.xml
index c892ac3..b64e0cf 100644
--- a/packages/SystemUI/res-keyguard/values-am/strings.xml
+++ b/packages/SystemUI/res-keyguard/values-am/strings.xml
@@ -22,8 +22,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="3171996292755059205">"የቁልፍ ጥበቃ"</string>
     <string name="keyguard_password_enter_pin_code" msgid="3420548423949593123">"ፒን ኮድ ይተይቡ"</string>
-    <string name="keyguard_password_enter_puk_code" msgid="670683628782925409">"የሲም ፒዩኬ እና አዲሱን ፒን ኮድ ይተይቡ"</string>
-    <string name="keyguard_password_enter_puk_prompt" msgid="3747778500166059332">"የሲም ፒዩኬ ኮድ"</string>
+    <string name="keyguard_password_enter_puk_code" msgid="670683628782925409">"የሲም PUK እና አዲሱን ፒን ኮድ ይተይቡ"</string>
+    <string name="keyguard_password_enter_puk_prompt" msgid="3747778500166059332">"የሲም PUK ኮድ"</string>
     <string name="keyguard_password_enter_pin_prompt" msgid="8188243197504453830">"አዲስ የሲም ፒን  ኮድ"</string>
     <string name="keyguard_password_entry_touch_hint" msgid="5790410752696806482"><font size="17">"የይለፍ ቃል ለመተየብ ይንኩ"</font></string>
     <string name="keyguard_password_enter_password_code" msgid="595980919238127672">"ለመክፈት የይለፍ ቃል ይተይቡ"</string>
@@ -48,12 +48,12 @@
     <string name="keyguard_permanent_disabled_sim_message_short" msgid="654102080186420706">"የማይሰራ ሲም ካርድ።"</string>
     <string name="keyguard_permanent_disabled_sim_instructions" msgid="4683178224791318347">"ሲም ካርድዎ እስከመጨረሻው ተሰናክሏል።\n ሌላ ሲም ካርድ ለማግኘት ከገመድ አልባ አገልግሎት አቅራቢዎ ጋር ይገናኙ።"</string>
     <string name="keyguard_sim_locked_message" msgid="953766009432168127">"ሲም ካርድ ተዘግቷል።"</string>
-    <string name="keyguard_sim_puk_locked_message" msgid="1772789643694942073">"ሲም ካርድ በፒዩኬ ተቆልፏል።"</string>
+    <string name="keyguard_sim_puk_locked_message" msgid="1772789643694942073">"ሲም ካርድ በPUK ተቆልፏል።"</string>
     <string name="keyguard_sim_unlock_progress_dialog_message" msgid="3586601150825821675">"ሲም ካርድን በመክፈት ላይ..."</string>
     <string name="keyguard_accessibility_pin_area" msgid="703175752097279029">"የፒን አካባቢ"</string>
     <string name="keyguard_accessibility_password" msgid="7695303207740941101">"የመሣሪያ ይለፍ ቃል"</string>
     <string name="keyguard_accessibility_sim_pin_area" msgid="912702510825058921">"የሲም ፒን አካባቢ"</string>
-    <string name="keyguard_accessibility_sim_puk_area" msgid="136979425761438705">"የሲም ፒዩኬ አካባቢ"</string>
+    <string name="keyguard_accessibility_sim_puk_area" msgid="136979425761438705">"የሲም PUK አካባቢ"</string>
     <string name="keyguard_accessibility_next_alarm" msgid="5835196989158584991">"ቀጣዩ ማንቂያ ለ<xliff:g id="ALARM">%1$s</xliff:g> ተዘጋጅቷል"</string>
     <string name="keyboardview_keycode_delete" msgid="6883116827512721630">"ሰርዝ"</string>
     <string name="disable_carrier_button_text" msgid="6914341927421916114">"eSIMን አሰናክል"</string>
@@ -74,14 +74,14 @@
     <string name="kg_sim_lock_esim_instructions" msgid="4416732549172148542">"<xliff:g id="PREVIOUS_MSG">%1$s</xliff:g> መሣሪያን ያለሞባይል አገልግሎት ለመጠቀም eSIMን ያሰናክሉ።"</string>
     <string name="kg_pin_instructions" msgid="4069609316644030034">"ፒን ያስገቡ"</string>
     <string name="kg_password_instructions" msgid="136952397352976538">"የይለፍ ቃል ያስገቡ"</string>
-    <string name="kg_puk_enter_puk_hint" msgid="2288964170039899277">"ሲም አሁን ተሰናክሏል። ለመቀጠል የፒዩኬ ኮድ ያስገቡ። ለዝርዝር አገልግሎት አቅራቢን ያግኙ።"</string>
-    <string name="kg_puk_enter_puk_hint_multi" msgid="1373131883510840794">"ሲም «<xliff:g id="CARRIER">%1$s</xliff:g>» አሁን ተሰናክሏል። ለመቀጠል የፒዩኬ ኮድ ያስገቡ። ዝርዝር መረጃን ለማግኘት የተንቀሳቃሽ ስልክ አገልግሎት አቅራቢውን ያነጋግሩ።"</string>
+    <string name="kg_puk_enter_puk_hint" msgid="2288964170039899277">"ሲም አሁን ተሰናክሏል። ለመቀጠል የPUK ኮድ ያስገቡ። ለዝርዝር አገልግሎት አቅራቢን ያግኙ።"</string>
+    <string name="kg_puk_enter_puk_hint_multi" msgid="1373131883510840794">"ሲም «<xliff:g id="CARRIER">%1$s</xliff:g>» አሁን ተሰናክሏል። ለመቀጠል የPUK ኮድ ያስገቡ። ዝርዝር መረጃን ለማግኘት የተንቀሳቃሽ ስልክ አገልግሎት አቅራቢውን ያነጋግሩ።"</string>
     <string name="kg_puk_enter_pin_hint" msgid="3137789674920391087">"የተፈለገውን የፒን ኮድ ያስገቡ"</string>
     <string name="kg_enter_confirm_pin_hint" msgid="3089485999116759671">"የተፈለገውን ፒን ኮድ ያረጋግጡ"</string>
     <string name="kg_sim_unlock_progress_dialog_message" msgid="4471738151810900114">"ሲም ካርድን በመክፈት ላይ..."</string>
     <string name="kg_invalid_sim_pin_hint" msgid="3057533256729513335">"ከ4 እስከ 8 ቁጥሮች የያዘ ፒን ይተይቡ።"</string>
-    <string name="kg_invalid_sim_puk_hint" msgid="6003602401368264144">"የፒዩኬ ኮድ 8 ወይም ከዚያ በላይ ቁጥሮች ሊኖረው ይገባል።"</string>
-    <string name="kg_invalid_puk" msgid="5399287873762592502">"ትክክለኛውን የፒዩኬ ኮድ እንደገና ያስገቡ። ተደጋጋሚ ሙከራዎች ሲሙን እስከመጨረሻው ያሰናክሉታል።"</string>
+    <string name="kg_invalid_sim_puk_hint" msgid="6003602401368264144">"የPUK ኮድ 8 ወይም ከዚያ በላይ ቁጥሮች ሊኖረው ይገባል።"</string>
+    <string name="kg_invalid_puk" msgid="5399287873762592502">"ትክክለኛውን የPUK ኮድ እንደገና ያስገቡ። ተደጋጋሚ ሙከራዎች ሲሙን እስከመጨረሻው ያሰናክሉታል።"</string>
     <string name="kg_invalid_confirm_pin_hint" product="default" msgid="5672736555427444330">"ፒን ኮዶቹ አይገጣጠሙም"</string>
     <string name="kg_login_too_many_attempts" msgid="6604574268387867255">"በጣም ብዙ የስርዓተ ጥለት ሙከራዎች"</string>
     <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8637788033282252027">"ፒንዎን <xliff:g id="NUMBER_0">%1$d</xliff:g> ጊዜ በትክክል አልተየቡም። \n\nበ<xliff:g id="NUMBER_1">%2$d</xliff:g> ሰኮንዶች ውስጥ እንደገና ይሞክሩ።"</string>
@@ -112,7 +112,7 @@
       <item quantity="other">ልክ ያልሆነ የሲም ፒዩኬ ኮድ፣ ሲሙ እስከመጨረሻው የማይሰራ ከመሆኑ በፊት <xliff:g id="NUMBER_1">%d</xliff:g> ሙከራዎች ይቀረዎታል።</item>
     </plurals>
     <string name="kg_password_pin_failed" msgid="8769990811451236223">"የሲም ፒን ክወና አልተሳካም!"</string>
-    <string name="kg_password_puk_failed" msgid="1331621440873439974">"የሲም ፒዩኬ ክወና አልተሳካም!"</string>
+    <string name="kg_password_puk_failed" msgid="1331621440873439974">"የሲም PUK ክወና አልተሳካም!"</string>
     <string name="kg_pin_accepted" msgid="7637293533973802143">"ኮዱ ተቀባይነት አግኝቷል!"</string>
     <string name="keyguard_carrier_default" msgid="4274828292998453695">"ከአገልግሎት መስጫ ክልል ውጪ።"</string>
     <string name="accessibility_ime_switch_button" msgid="2695096475319405612">"የግቤት ስልት ቀይር"</string>
diff --git a/packages/SystemUI/res-keyguard/values-da/strings.xml b/packages/SystemUI/res-keyguard/values-da/strings.xml
index b3b9732..50dc26b 100644
--- a/packages/SystemUI/res-keyguard/values-da/strings.xml
+++ b/packages/SystemUI/res-keyguard/values-da/strings.xml
@@ -117,13 +117,13 @@
     <string name="keyguard_carrier_default" msgid="4274828292998453695">"Ingen dækning."</string>
     <string name="accessibility_ime_switch_button" msgid="2695096475319405612">"Skift indtastningsmetode"</string>
     <string name="airplane_mode" msgid="3807209033737676010">"Flytilstand"</string>
-    <string name="kg_prompt_reason_restart_pattern" msgid="7246972020562621506">"Der skal angives et mønster efter genstart af enheden"</string>
+    <string name="kg_prompt_reason_restart_pattern" msgid="7246972020562621506">"Du skal angive et mønster, når du har genstartet enheden"</string>
     <string name="kg_prompt_reason_restart_pin" msgid="6303592361322290145">"Der skal indtastes en pinkode efter genstart af enheden"</string>
     <string name="kg_prompt_reason_restart_password" msgid="6984641181515902406">"Der skal indtastes en adgangskode efter genstart af enheden"</string>
     <string name="kg_prompt_reason_timeout_pattern" msgid="5304487696073914063">"Der kræves et mønster som ekstra beskyttelse"</string>
     <string name="kg_prompt_reason_timeout_pin" msgid="8851462864335757813">"Der kræves en pinkode som ekstra beskyttelse"</string>
     <string name="kg_prompt_reason_timeout_password" msgid="6563904839641583441">"Der kræves en adgangskode som ekstra beskyttelse"</string>
-    <string name="kg_prompt_reason_switch_profiles_pattern" msgid="3398054847288438444">"Der skal angives et mønster, når du skifter profil"</string>
+    <string name="kg_prompt_reason_switch_profiles_pattern" msgid="3398054847288438444">"Du skal angive et mønster, når du skifter profil"</string>
     <string name="kg_prompt_reason_switch_profiles_pin" msgid="7426368139226961699">"Der skal indtastes en pinkode, når du skifter profil"</string>
     <string name="kg_prompt_reason_switch_profiles_password" msgid="8383831046318421845">"Der skal indtastes en adgangskode, når du skifter profil"</string>
     <string name="kg_prompt_reason_device_admin" msgid="3452168247888906179">"Enheden er blevet låst af administratoren"</string>
diff --git a/packages/SystemUI/res-keyguard/values-fr/strings.xml b/packages/SystemUI/res-keyguard/values-fr/strings.xml
index d5e36ce..f0c7e92 100644
--- a/packages/SystemUI/res-keyguard/values-fr/strings.xml
+++ b/packages/SystemUI/res-keyguard/values-fr/strings.xml
@@ -34,9 +34,9 @@
     <string name="keyguard_password_wrong_pin_code" msgid="6535018036285012028">"Le code est incorrect."</string>
     <string name="keyguard_sim_error_message_short" msgid="592109500618448312">"Carte non valide."</string>
     <string name="keyguard_charged" msgid="3316115607283493413">"Complètement chargée"</string>
-    <string name="keyguard_plugged_in" msgid="3161102098900158923">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Rechargement…"</string>
-    <string name="keyguard_plugged_in_charging_fast" msgid="3684592786276709342">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Rechargement rapide…"</string>
-    <string name="keyguard_plugged_in_charging_slowly" msgid="509533586841478405">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Rechargement lent…"</string>
+    <string name="keyguard_plugged_in" msgid="3161102098900158923">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Recharge…"</string>
+    <string name="keyguard_plugged_in_charging_fast" msgid="3684592786276709342">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Recharge rapide…"</string>
+    <string name="keyguard_plugged_in_charging_slowly" msgid="509533586841478405">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Recharge lente…"</string>
     <string name="keyguard_low_battery" msgid="9218432555787624490">"Branchez votre chargeur."</string>
     <string name="keyguard_instructions_when_pattern_disabled" msgid="8566679946700751371">"Appuyez sur \"Menu\" pour déverrouiller le clavier."</string>
     <string name="keyguard_network_locked_message" msgid="6743537524631420759">"Réseau verrouillé"</string>
diff --git a/packages/SystemUI/res/drawable/fingerprint_dialog_bg.xml b/packages/SystemUI/res/drawable/biometric_dialog_bg.xml
similarity index 80%
rename from packages/SystemUI/res/drawable/fingerprint_dialog_bg.xml
rename to packages/SystemUI/res/drawable/biometric_dialog_bg.xml
index 221f170..335448d 100644
--- a/packages/SystemUI/res/drawable/fingerprint_dialog_bg.xml
+++ b/packages/SystemUI/res/drawable/biometric_dialog_bg.xml
@@ -17,10 +17,10 @@
   -->
 
 <shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <solid android:color="@color/fingerprint_dialog_bg_color" />
+    <solid android:color="@color/biometric_dialog_bg_color" />
     <corners android:radius="1dp"
-        android:topLeftRadius="@dimen/fingerprint_dialog_corner_size"
-        android:topRightRadius="@dimen/fingerprint_dialog_corner_size"
+        android:topLeftRadius="@dimen/biometric_dialog_corner_size"
+        android:topRightRadius="@dimen/biometric_dialog_corner_size"
         android:bottomLeftRadius="0dp"
         android:bottomRightRadius="0dp"/>
 </shape>
\ No newline at end of file
diff --git a/packages/SystemUI/res/drawable/face_dialog_icon.xml b/packages/SystemUI/res/drawable/face_dialog_icon.xml
new file mode 100644
index 0000000..6d28b5a
--- /dev/null
+++ b/packages/SystemUI/res/drawable/face_dialog_icon.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2018 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
+  -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+    <path android:fillColor="#000" android:pathData="M9,11.75A1.25,1.25 0 0,0 7.75,13A1.25,1.25 0 0,0 9,14.25A1.25,1.25 0 0,0 10.25,13A1.25,1.25 0 0,0 9,11.75M15,11.75A1.25,1.25 0 0,0 13.75,13A1.25,1.25 0 0,0 15,14.25A1.25,1.25 0 0,0 16.25,13A1.25,1.25 0 0,0 15,11.75M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,11.71 4,11.42 4.05,11.14C6.41,10.09 8.28,8.16 9.26,5.77C11.07,8.33 14.05,10 17.42,10C18.2,10 18.95,9.91 19.67,9.74C19.88,10.45 20,11.21 20,12C20,16.41 16.41,20 12,20Z" />
+</vector>
\ No newline at end of file
diff --git a/packages/SystemUI/res/drawable/fingerprint_dialog_error_to_fp.xml b/packages/SystemUI/res/drawable/fingerprint_dialog_error_to_fp.xml
index 83c1949..05fd467 100644
--- a/packages/SystemUI/res/drawable/fingerprint_dialog_error_to_fp.xml
+++ b/packages/SystemUI/res/drawable/fingerprint_dialog_error_to_fp.xml
@@ -36,7 +36,7 @@
                         android:name="_R_G_L_2_G_D_0_P_0"
                         android:pathData=" M-25.36 -24.41 C-25.93,-24.31 -26.49,-24.27 -26.81,-24.27 C-28.11,-24.27 -29.35,-24.62 -30.43,-25.4 C-32.11,-26.6 -33.2,-28.57 -33.2,-30.79 "
                         android:strokeAlpha="1"
-                        android:strokeColor="@color/fingerprint_dialog_fingerprint_color"
+                        android:strokeColor="@color/biometric_dialog_biometric_color"
                         android:strokeLineCap="round"
                         android:strokeLineJoin="round"
                         android:strokeWidth="1.45"
@@ -47,7 +47,7 @@
                         android:name="_R_G_L_2_G_D_1_P_0"
                         android:pathData=" M-36.14 -21.78 C-37.15,-22.98 -37.72,-23.7 -38.51,-25.29 C-39.33,-26.94 -39.82,-28.78 -39.82,-30.77 C-39.82,-34.43 -36.85,-37.4 -33.19,-37.4 C-29.52,-37.4 -26.55,-34.43 -26.55,-30.77 "
                         android:strokeAlpha="1"
-                        android:strokeColor="@color/fingerprint_dialog_fingerprint_color"
+                        android:strokeColor="@color/biometric_dialog_biometric_color"
                         android:strokeLineCap="round"
                         android:strokeLineJoin="round"
                         android:strokeWidth="1.45"
@@ -58,7 +58,7 @@
                         android:name="_R_G_L_2_G_D_2_P_0"
                         android:pathData=" M-42.19 -25.68 C-42.95,-27.82 -43.09,-29.54 -43.09,-30.8 C-43.09,-32.27 -42.84,-33.65 -42.27,-34.9 C-40.71,-38.35 -37.24,-40.75 -33.2,-40.75 C-27.71,-40.75 -23.26,-36.3 -23.26,-30.8 C-23.26,-28.97 -24.74,-27.49 -26.57,-27.49 C-28.4,-27.49 -29.89,-28.97 -29.89,-30.8 C-29.89,-32.64 -31.37,-34.12 -33.2,-34.12 C-35.04,-34.12 -36.52,-32.64 -36.52,-30.8 C-36.52,-28.23 -35.53,-25.92 -33.92,-24.22 C-32.69,-22.93 -31.48,-22.12 -29.44,-21.53 "
                         android:strokeAlpha="1"
-                        android:strokeColor="@color/fingerprint_dialog_fingerprint_color"
+                        android:strokeColor="@color/biometric_dialog_biometric_color"
                         android:strokeLineCap="round"
                         android:strokeLineJoin="round"
                         android:strokeWidth="1.45"
@@ -69,7 +69,7 @@
                         android:name="_R_G_L_2_G_D_3_P_0"
                         android:pathData=" M-44.06 -38.17 C-42.87,-39.94 -41.39,-41.41 -39.51,-42.44 C-37.62,-43.47 -35.46,-44.05 -33.16,-44.05 C-30.88,-44.05 -28.72,-43.47 -26.85,-42.45 C-24.97,-41.43 -23.48,-39.97 -22.29,-38.21 "
                         android:strokeAlpha="1"
-                        android:strokeColor="@color/fingerprint_dialog_fingerprint_color"
+                        android:strokeColor="@color/biometric_dialog_biometric_color"
                         android:strokeLineCap="round"
                         android:strokeLineJoin="round"
                         android:strokeWidth="1.45"
@@ -80,7 +80,7 @@
                         android:name="_R_G_L_2_G_D_4_P_0"
                         android:pathData=" M-25.72 -45.45 C-27.99,-46.76 -30.43,-47.52 -33.28,-47.52 C-36.13,-47.52 -38.51,-46.74 -40.62,-45.45 "
                         android:strokeAlpha="1"
-                        android:strokeColor="@color/fingerprint_dialog_fingerprint_color"
+                        android:strokeColor="@color/biometric_dialog_biometric_color"
                         android:strokeLineCap="round"
                         android:strokeLineJoin="round"
                         android:strokeWidth="1.45"
@@ -97,7 +97,7 @@
                         android:name="_R_G_L_1_G_D_0_P_0"
                         android:pathData=" M0 -9 C4.97,-9 9,-4.97 9,0 C9,4.97 4.97,9 0,9 C-4.97,9 -9,4.97 -9,0 C-9,-4.97 -4.97,-9 0,-9c "
                         android:strokeAlpha="1"
-                        android:strokeColor="@color/fingerprint_dialog_error_color"
+                        android:strokeColor="@color/biometric_dialog_error_color"
                         android:strokeLineCap="round"
                         android:strokeLineJoin="round"
                         android:strokeWidth="2"
@@ -118,7 +118,7 @@
                         <path
                             android:name="_R_G_L_0_G_D_0_P_0"
                             android:fillAlpha="1"
-                            android:fillColor="@color/fingerprint_dialog_error_color"
+                            android:fillColor="@color/biometric_dialog_error_color"
                             android:fillType="nonZero"
                             android:pathData=" M1.1 3.94 C1.1,4.55 0.61,5.04 0,5.04 C-0.61,5.04 -1.1,4.55 -1.1,3.94 C-1.1,3.33 -0.61,2.84 0,2.84 C0.61,2.84 1.1,3.33 1.1,3.94c " />
                     </group>
@@ -131,7 +131,7 @@
                         <path
                             android:name="_R_G_L_0_G_D_0_P_1"
                             android:fillAlpha="1"
-                            android:fillColor="@color/fingerprint_dialog_error_color"
+                            android:fillColor="@color/biometric_dialog_error_color"
                             android:fillType="nonZero"
                             android:pathData=" M1 -4.06 C1,-4.06 1,-0.06 1,-0.06 C1,0.49 0.55,0.94 0,0.94 C-0.55,0.94 -1,0.49 -1,-0.06 C-1,-0.06 -1,-4.06 -1,-4.06 C-1,-4.61 -0.55,-5.06 0,-5.06 C0.55,-5.06 1,-4.61 1,-4.06c " />
                     </group>
diff --git a/packages/SystemUI/res/drawable/fingerprint_dialog_fp_to_error.xml b/packages/SystemUI/res/drawable/fingerprint_dialog_fp_to_error.xml
index f682f87..fd0ab22 100644
--- a/packages/SystemUI/res/drawable/fingerprint_dialog_fp_to_error.xml
+++ b/packages/SystemUI/res/drawable/fingerprint_dialog_fp_to_error.xml
@@ -36,7 +36,7 @@
                         android:name="_R_G_L_3_G_D_0_P_0"
                         android:pathData=" M-25.36 -24.41 C-25.93,-24.31 -26.49,-24.27 -26.81,-24.27 C-28.11,-24.27 -29.35,-24.62 -30.43,-25.4 C-32.11,-26.6 -33.2,-28.57 -33.2,-30.79 "
                         android:strokeAlpha="1"
-                        android:strokeColor="@color/fingerprint_dialog_fingerprint_color"
+                        android:strokeColor="@color/biometric_dialog_biometric_color"
                         android:strokeLineCap="round"
                         android:strokeLineJoin="round"
                         android:strokeWidth="1.45"
@@ -47,7 +47,7 @@
                         android:name="_R_G_L_3_G_D_1_P_0"
                         android:pathData=" M-36.14 -21.78 C-37.15,-22.98 -37.72,-23.7 -38.51,-25.29 C-39.33,-26.94 -39.82,-28.78 -39.82,-30.77 C-39.82,-34.43 -36.85,-37.4 -33.19,-37.4 C-29.52,-37.4 -26.55,-34.43 -26.55,-30.77 "
                         android:strokeAlpha="1"
-                        android:strokeColor="@color/fingerprint_dialog_fingerprint_color"
+                        android:strokeColor="@color/biometric_dialog_biometric_color"
                         android:strokeLineCap="round"
                         android:strokeLineJoin="round"
                         android:strokeWidth="1.45"
@@ -58,7 +58,7 @@
                         android:name="_R_G_L_3_G_D_2_P_0"
                         android:pathData=" M-42.19 -25.68 C-42.95,-27.82 -43.09,-29.54 -43.09,-30.8 C-43.09,-32.27 -42.84,-33.65 -42.27,-34.9 C-40.71,-38.35 -37.24,-40.75 -33.2,-40.75 C-27.71,-40.75 -23.26,-36.3 -23.26,-30.8 C-23.26,-28.97 -24.74,-27.49 -26.57,-27.49 C-28.4,-27.49 -29.89,-28.97 -29.89,-30.8 C-29.89,-32.64 -31.37,-34.12 -33.2,-34.12 C-35.04,-34.12 -36.52,-32.64 -36.52,-30.8 C-36.52,-28.23 -35.53,-25.92 -33.92,-24.22 C-32.69,-22.93 -31.48,-22.12 -29.44,-21.53 "
                         android:strokeAlpha="1"
-                        android:strokeColor="@color/fingerprint_dialog_fingerprint_color"
+                        android:strokeColor="@color/biometric_dialog_biometric_color"
                         android:strokeLineCap="round"
                         android:strokeLineJoin="round"
                         android:strokeWidth="1.45"
@@ -69,7 +69,7 @@
                         android:name="_R_G_L_3_G_D_3_P_0"
                         android:pathData=" M-44.06 -38.17 C-42.87,-39.94 -41.39,-41.41 -39.51,-42.44 C-37.62,-43.47 -35.46,-44.05 -33.16,-44.05 C-30.88,-44.05 -28.72,-43.47 -26.85,-42.45 C-24.97,-41.43 -23.48,-39.97 -22.29,-38.21 "
                         android:strokeAlpha="1"
-                        android:strokeColor="@color/fingerprint_dialog_fingerprint_color"
+                        android:strokeColor="@color/biometric_dialog_biometric_color"
                         android:strokeLineCap="round"
                         android:strokeLineJoin="round"
                         android:strokeWidth="1.45"
@@ -80,7 +80,7 @@
                         android:name="_R_G_L_3_G_D_4_P_0"
                         android:pathData=" M-25.72 -45.45 C-27.99,-46.76 -30.43,-47.52 -33.28,-47.52 C-36.13,-47.52 -38.51,-46.74 -40.62,-45.45 "
                         android:strokeAlpha="1"
-                        android:strokeColor="@color/fingerprint_dialog_fingerprint_color"
+                        android:strokeColor="@color/biometric_dialog_biometric_color"
                         android:strokeLineCap="round"
                         android:strokeLineJoin="round"
                         android:strokeWidth="1.45"
@@ -101,7 +101,7 @@
                         android:name="_R_G_L_2_G_D_0_P_0"
                         android:pathData=" M-25.36 -24.41 C-25.93,-24.31 -26.49,-24.27 -26.81,-24.27 C-28.11,-24.27 -29.35,-24.62 -30.43,-25.4 C-32.11,-26.6 -33.2,-28.57 -33.2,-30.79 "
                         android:strokeAlpha="1"
-                        android:strokeColor="@color/fingerprint_dialog_error_color"
+                        android:strokeColor="@color/biometric_dialog_error_color"
                         android:strokeLineCap="round"
                         android:strokeLineJoin="round"
                         android:strokeWidth="1.45"
@@ -112,7 +112,7 @@
                         android:name="_R_G_L_2_G_D_1_P_0"
                         android:pathData=" M-36.14 -21.78 C-37.15,-22.98 -37.72,-23.7 -38.51,-25.29 C-39.33,-26.94 -39.82,-28.78 -39.82,-30.77 C-39.82,-34.43 -36.85,-37.4 -33.19,-37.4 C-29.52,-37.4 -26.55,-34.43 -26.55,-30.77 "
                         android:strokeAlpha="1"
-                        android:strokeColor="@color/fingerprint_dialog_error_color"
+                        android:strokeColor="@color/biometric_dialog_error_color"
                         android:strokeLineCap="round"
                         android:strokeLineJoin="round"
                         android:strokeWidth="1.45"
@@ -123,7 +123,7 @@
                         android:name="_R_G_L_2_G_D_2_P_0"
                         android:pathData=" M-42.19 -25.68 C-42.95,-27.82 -43.09,-29.54 -43.09,-30.8 C-43.09,-32.27 -42.84,-33.65 -42.27,-34.9 C-40.71,-38.35 -37.24,-40.75 -33.2,-40.75 C-27.71,-40.75 -23.26,-36.3 -23.26,-30.8 C-23.26,-28.97 -24.74,-27.49 -26.57,-27.49 C-28.4,-27.49 -29.89,-28.97 -29.89,-30.8 C-29.89,-32.64 -31.37,-34.12 -33.2,-34.12 C-35.04,-34.12 -36.52,-32.64 -36.52,-30.8 C-36.52,-28.23 -35.53,-25.92 -33.92,-24.22 C-32.69,-22.93 -31.48,-22.12 -29.44,-21.53 "
                         android:strokeAlpha="1"
-                        android:strokeColor="@color/fingerprint_dialog_error_color"
+                        android:strokeColor="@color/biometric_dialog_error_color"
                         android:strokeLineCap="round"
                         android:strokeLineJoin="round"
                         android:strokeWidth="1.45"
@@ -134,7 +134,7 @@
                         android:name="_R_G_L_2_G_D_3_P_0"
                         android:pathData=" M-44.06 -38.17 C-42.87,-39.94 -41.39,-41.41 -39.51,-42.44 C-37.62,-43.47 -35.46,-44.05 -33.16,-44.05 C-30.88,-44.05 -28.72,-43.47 -26.85,-42.45 C-24.97,-41.43 -23.48,-39.97 -22.29,-38.21 "
                         android:strokeAlpha="1"
-                        android:strokeColor="@color/fingerprint_dialog_error_color"
+                        android:strokeColor="@color/biometric_dialog_error_color"
                         android:strokeLineCap="round"
                         android:strokeLineJoin="round"
                         android:strokeWidth="1.45"
@@ -145,7 +145,7 @@
                         android:name="_R_G_L_2_G_D_4_P_0"
                         android:pathData=" M-25.72 -45.45 C-27.99,-46.76 -30.43,-47.52 -33.28,-47.52 C-36.13,-47.52 -38.51,-46.74 -40.62,-45.45 "
                         android:strokeAlpha="1"
-                        android:strokeColor="@color/fingerprint_dialog_error_color"
+                        android:strokeColor="@color/biometric_dialog_error_color"
                         android:strokeLineCap="round"
                         android:strokeLineJoin="round"
                         android:strokeWidth="1.45"
@@ -162,7 +162,7 @@
                         android:name="_R_G_L_1_G_D_0_P_0"
                         android:pathData=" M0 -9 C4.97,-9 9,-4.97 9,0 C9,4.97 4.97,9 0,9 C-4.97,9 -9,4.97 -9,0 C-9,-4.97 -4.97,-9 0,-9c "
                         android:strokeAlpha="1"
-                        android:strokeColor="@color/fingerprint_dialog_error_color"
+                        android:strokeColor="@color/biometric_dialog_error_color"
                         android:strokeLineCap="round"
                         android:strokeLineJoin="round"
                         android:strokeWidth="2"
@@ -183,7 +183,7 @@
                         <path
                             android:name="_R_G_L_0_G_D_0_P_0"
                             android:fillAlpha="1"
-                            android:fillColor="@color/fingerprint_dialog_error_color"
+                            android:fillColor="@color/biometric_dialog_error_color"
                             android:fillType="nonZero"
                             android:pathData=" M1.1 3.94 C1.1,4.55 0.61,5.04 0,5.04 C-0.61,5.04 -1.1,4.55 -1.1,3.94 C-1.1,3.33 -0.61,2.84 0,2.84 C0.61,2.84 1.1,3.33 1.1,3.94c " />
                     </group>
@@ -196,7 +196,7 @@
                         <path
                             android:name="_R_G_L_0_G_D_0_P_1"
                             android:fillAlpha="1"
-                            android:fillColor="@color/fingerprint_dialog_error_color"
+                            android:fillColor="@color/biometric_dialog_error_color"
                             android:fillType="nonZero"
                             android:pathData=" M1 -4.06 C1,-4.06 1,-0.06 1,-0.06 C1,0.49 0.55,0.94 0,0.94 C-0.55,0.94 -1,0.49 -1,-0.06 C-1,-0.06 -1,-4.06 -1,-4.06 C-1,-4.61 -0.55,-5.06 0,-5.06 C0.55,-5.06 1,-4.61 1,-4.06c " />
                     </group>
diff --git a/packages/SystemUI/res/layout/fingerprint_dialog.xml b/packages/SystemUI/res/layout/biometric_dialog.xml
similarity index 78%
rename from packages/SystemUI/res/layout/fingerprint_dialog.xml
rename to packages/SystemUI/res/layout/biometric_dialog.xml
index 1bdaf6e..0417e2e 100644
--- a/packages/SystemUI/res/layout/fingerprint_dialog.xml
+++ b/packages/SystemUI/res/layout/biometric_dialog.xml
@@ -19,7 +19,7 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:gravity="bottom"
-    android:background="@color/fingerprint_dialog_dim_color"
+    android:background="@color/biometric_dialog_dim_color"
     android:orientation="vertical">
 
     <!-- This is not a Space since Spaces cannot be clicked -->
@@ -47,7 +47,7 @@
             android:layout_height="wrap_content"
             android:orientation="vertical"
             android:elevation="2dp"
-            android:background="@drawable/fingerprint_dialog_bg">
+            android:background="@drawable/biometric_dialog_bg">
 
             <TextView
                 android:id="@+id/title"
@@ -57,13 +57,13 @@
                 android:layout_marginEnd="24dp"
                 android:layout_marginStart="24dp"
                 android:layout_marginTop="24dp"
-                android:gravity="@integer/fingerprint_dialog_text_gravity"
+                android:gravity="@integer/biometric_dialog_text_gravity"
                 android:textSize="20sp"
                 android:maxLines="1"
                 android:singleLine="true"
                 android:ellipsize="marquee"
                 android:marqueeRepeatLimit="marquee_forever"
-                android:textColor="@color/fingerprint_dialog_text_dark_color"/>
+                android:textColor="@color/biometric_dialog_text_dark_color"/>
 
             <TextView
                 android:id="@+id/subtitle"
@@ -72,13 +72,13 @@
                 android:layout_marginTop="8dp"
                 android:layout_marginStart="24dp"
                 android:layout_marginEnd="24dp"
-                android:gravity="@integer/fingerprint_dialog_text_gravity"
+                android:gravity="@integer/biometric_dialog_text_gravity"
                 android:textSize="16sp"
                 android:maxLines="1"
                 android:singleLine="true"
                 android:ellipsize="marquee"
                 android:marqueeRepeatLimit="marquee_forever"
-                android:textColor="@color/fingerprint_dialog_text_dark_color"/>
+                android:textColor="@color/biometric_dialog_text_dark_color"/>
 
             <TextView
                 android:id="@+id/description"
@@ -86,20 +86,19 @@
                 android:layout_height="wrap_content"
                 android:layout_marginEnd="24dp"
                 android:layout_marginStart="24dp"
-                android:gravity="@integer/fingerprint_dialog_text_gravity"
+                android:gravity="@integer/biometric_dialog_text_gravity"
                 android:paddingTop="8dp"
                 android:textSize="16sp"
                 android:maxLines="4"
-                android:textColor="@color/fingerprint_dialog_text_dark_color"/>
+                android:textColor="@color/biometric_dialog_text_dark_color"/>
 
             <ImageView
-                android:id="@+id/fingerprint_icon"
-                android:layout_width="@dimen/fingerprint_dialog_fp_icon_size"
-                android:layout_height="@dimen/fingerprint_dialog_fp_icon_size"
+                android:id="@+id/biometric_icon"
+                android:layout_width="@dimen/biometric_dialog_biometric_icon_size"
+                android:layout_height="@dimen/biometric_dialog_biometric_icon_size"
                 android:layout_gravity="center_horizontal"
                 android:layout_marginTop="48dp"
-                android:scaleType="fitXY"
-                android:contentDescription="@string/accessibility_fingerprint_dialog_fingerprint_icon" />
+                android:scaleType="fitXY" />
 
             <TextView
                 android:id="@+id/error"
@@ -112,9 +111,8 @@
                 android:textSize="12sp"
                 android:gravity="center_horizontal"
                 android:accessibilityLiveRegion="polite"
-                android:text="@string/fingerprint_dialog_touch_sensor"
-                android:contentDescription="@string/accessibility_fingerprint_dialog_help_area"
-                android:textColor="@color/fingerprint_dialog_text_light_color"/>
+                android:contentDescription="@string/accessibility_biometric_dialog_help_area"
+                android:textColor="@color/biometric_dialog_text_light_color"/>
 
             <LinearLayout
                 android:layout_width="match_parent"
@@ -125,7 +123,7 @@
                 android:orientation="horizontal"
                 android:measureWithLargestChild="true">
                 <Space android:id="@+id/leftSpacer"
-                    android:layout_width="24dp"
+                    android:layout_width="12dp"
                     android:layout_height="match_parent"
                     android:visibility="visible" />
                 <!-- Negative Button -->
@@ -133,20 +131,26 @@
                     android:layout_width="wrap_content"
                     android:layout_height="match_parent"
                     style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored"
-                    android:layout_marginStart="-12dp"
-                    android:gravity="start|center_vertical"
+                    android:gravity="center"
                     android:maxLines="2" />
+                <Space android:id="@+id/middleSpacer"
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_weight="1"
+                    android:visibility="visible" />
                 <!-- Positive Button -->
                 <Button android:id="@+id/button1"
                     android:layout_width="wrap_content"
                     android:layout_height="match_parent"
-                    style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored"
-                    android:layout_marginEnd="12dp"
-                    android:maxLines="2" />
+                    style="@*android:style/Widget.DeviceDefault.Button.Colored"
+                    android:gravity="center"
+                    android:maxLines="2"
+                    android:text="@string/biometric_dialog_confirm"
+                    android:visibility="gone"/>
                 <Space android:id="@+id/rightSpacer"
-                    android:layout_width="24dip"
+                    android:layout_width="12dip"
                     android:layout_height="match_parent"
-                    android:visibility="gone" />
+                    android:visibility="visible" />
             </LinearLayout>
         </LinearLayout>
 
diff --git a/packages/SystemUI/res/layout/menu_ime.xml b/packages/SystemUI/res/layout/menu_ime.xml
index b047efb..8a3a0b1 100644
--- a/packages/SystemUI/res/layout/menu_ime.xml
+++ b/packages/SystemUI/res/layout/menu_ime.xml
@@ -19,7 +19,6 @@
     android:id="@+id/menu_container"
     android:layout_width="@dimen/navigation_key_width"
     android:layout_height="match_parent"
-    android:focusable="false"
     android:importantForAccessibility="no"
     >
     <!-- Use nav button width & height=match_parent for parent FrameLayout and buttons because they
diff --git a/packages/SystemUI/res/layout/operator_name.xml b/packages/SystemUI/res/layout/operator_name.xml
index c4f75e9..015e30a 100644
--- a/packages/SystemUI/res/layout/operator_name.xml
+++ b/packages/SystemUI/res/layout/operator_name.xml
@@ -27,5 +27,6 @@
         android:maxLength="20"
         android:gravity="center_vertical|start"
         android:textAppearance="?android:attr/textAppearanceSmall"
-        android:singleLine="true" />
+        android:singleLine="true"
+        android:paddingEnd="5dp" />
 </com.android.systemui.statusbar.AlphaOptimizedFrameLayout>
diff --git a/packages/SystemUI/res/layout/qs_customize_panel_content.xml b/packages/SystemUI/res/layout/qs_customize_panel_content.xml
index bb67c54..87b4551 100644
--- a/packages/SystemUI/res/layout/qs_customize_panel_content.xml
+++ b/packages/SystemUI/res/layout/qs_customize_panel_content.xml
@@ -17,6 +17,7 @@
 
 <merge xmlns:android="http://schemas.android.com/apk/res/android">->
     <View
+        android:id="@+id/customizer_transparent_view"
         android:layout_width="match_parent"
         android:layout_height="@*android:dimen/quick_qs_offset_height"
         android:background="@android:color/transparent" />
diff --git a/packages/SystemUI/res/layout/qs_detail_buttons.xml b/packages/SystemUI/res/layout/qs_detail_buttons.xml
index 03ed62b..75f43f9 100644
--- a/packages/SystemUI/res/layout/qs_detail_buttons.xml
+++ b/packages/SystemUI/res/layout/qs_detail_buttons.xml
@@ -26,6 +26,7 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginEnd="8dp"
+        android:minHeight="48dp"
         android:minWidth="132dp"
         android:textAppearance="@style/TextAppearance.QS.DetailButton"
         android:focusable="true" />
@@ -35,6 +36,7 @@
         style="@style/QSBorderlessButton"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:minHeight="48dp"
         android:minWidth="88dp"
         android:textAppearance="@style/TextAppearance.QS.DetailButton"
         android:focusable="true"/>
diff --git a/packages/SystemUI/res/layout/qs_paged_page.xml b/packages/SystemUI/res/layout/qs_paged_page.xml
index 07f0c83..a8960d9 100644
--- a/packages/SystemUI/res/layout/qs_paged_page.xml
+++ b/packages/SystemUI/res/layout/qs_paged_page.xml
@@ -19,7 +19,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/tile_page"
     android:layout_width="match_parent"
-    android:layout_height="wrap_content"
+    android:layout_height="match_parent"
     android:paddingStart="@dimen/notification_side_paddings"
     android:paddingEnd="@dimen/notification_side_paddings"
     android:clipChildren="false"
diff --git a/packages/SystemUI/res/layout/qs_paged_tile_layout.xml b/packages/SystemUI/res/layout/qs_paged_tile_layout.xml
index e96a09b..7083269 100644
--- a/packages/SystemUI/res/layout/qs_paged_tile_layout.xml
+++ b/packages/SystemUI/res/layout/qs_paged_tile_layout.xml
@@ -19,10 +19,14 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:clipChildren="false"
-    android:clipToPadding="false"
+    android:layout_weight="1"
+    android:clipChildren="true"
+    android:clipToPadding="true"
+    android:paddingStart="@dimen/notification_side_paddings"
+    android:paddingEnd="@dimen/notification_side_paddings"
     android:paddingBottom="@dimen/qs_paged_tile_layout_padding_bottom">
 
+
     <FrameLayout
         android:id="@+id/page_decor"
         android:layout_width="wrap_content"
diff --git a/packages/SystemUI/res/layout/recents_onboarding.xml b/packages/SystemUI/res/layout/recents_onboarding.xml
index adf1e74..2538612 100644
--- a/packages/SystemUI/res/layout/recents_onboarding.xml
+++ b/packages/SystemUI/res/layout/recents_onboarding.xml
@@ -37,7 +37,7 @@
             android:layout_height="wrap_content"
             android:layout_weight="1"
             android:layout_gravity="center_vertical"
-            android:textColor="@android:color/white"
+            android:textColor="?attr/wallpaperTextColor"
             android:textSize="16sp"/>
         <ImageView
             android:id="@+id/dismiss"
@@ -49,6 +49,7 @@
             android:layout_marginEnd="2dp"
             android:alpha="0.7"
             android:src="@drawable/ic_close_white"
+            android:tint="?attr/wallpaperTextColor"
             android:background="?android:attr/selectableItemBackgroundBorderless"
             android:contentDescription="@string/accessibility_desc_close"/>
     </LinearLayout>
diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml
index 44691c2..157934f 100644
--- a/packages/SystemUI/res/values-af/strings.xml
+++ b/packages/SystemUI/res/values-af/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"maak kamera oop"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Kies nuwe taakuitleg"</string>
     <string name="cancel" msgid="6442560571259935130">"Kanselleer"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Hulpboodskapgebied"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Bevestig"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Raak die vingerafdruksensor"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Vingerafdrukikoon"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Programikoon"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Hulpboodskapgebied"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Soek tans vir jou …"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Gesig-ikoon"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Versoenbaarheid-zoem se knoppie."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoem kleiner na groter skerm."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth gekoppel."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Berging"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Wenke"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Kitsprogramme"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Kitsprogramme hoef nie geïnstalleer te word nie."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> loop tans"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Program is oopgemaak sonder dat dit geïnstalleer is."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Program is oopgemaak sonder dat dit geïnstalleer is. Tik om meer te wete te kom."</string>
     <string name="app_info" msgid="6856026610594615344">"Programinligting"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Gaan na blaaier"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Gaan na web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobiele data"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi is af"</string>
diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml
index 966e4d7..492fa8c 100644
--- a/packages/SystemUI/res/values-am/strings.xml
+++ b/packages/SystemUI/res/values-am/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"ካሜራ ክፈት"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"የአዲስ ተግባር አቀማመጥን ይምረጡ"</string>
     <string name="cancel" msgid="6442560571259935130">"ይቅር"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"የእገዛ መልዕክት አካባቢ"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"አረጋግጥ"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"የጣት አሻራ ዳሳሹን ይንኩ"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"የጣት አሻራ አዶ"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"የመተግበሪያ አዶ"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"የእገዛ መልዕክት አካባቢ"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"እርስዎን በመፈለግ ላይ…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"የፊት አዶ"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"የተኳኋኝአጉላ አዝራር።"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"አነስተኛውን ማያ ወደ ትልቅ አጉላ።"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"ብሉቱዝ ተያይዟል።"</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"ማከማቻ"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"ፍንጮች"</string>
     <string name="instant_apps" msgid="6647570248119804907">"የቅጽበት መተግበሪያዎች"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"ቅጽበታዊ መተግበሪያዎች መጫን አያስፈልጋቸውም።"</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> አሂድ"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"መተግበሪያ ሳይጫን ተከፍቷል።"</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"መተግበሪያ ሳይጫን ተከፍቷል። ተጨማሪ ለማወቅ መታ ያድርጉ።"</string>
     <string name="app_info" msgid="6856026610594615344">"የመተግበሪያ መረጃ"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"ወደ አሳሽ ሂድ"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"ወደ ድር ሂድ"</string>
     <string name="mobile_data" msgid="7094582042819250762">"የተንቀሳቃሽ ስልክ ውሂብ"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g>— <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi ጠፍቷል"</string>
diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml
index 278b00a..fe27bb7 100644
--- a/packages/SystemUI/res/values-ar/strings.xml
+++ b/packages/SystemUI/res/values-ar/strings.xml
@@ -107,10 +107,12 @@
     <string name="camera_label" msgid="7261107956054836961">"فتح الكاميرا"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"تحديد تنسيق جديد للمهمة"</string>
     <string name="cancel" msgid="6442560571259935130">"إلغاء"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"منطقة رسالة المساعدة"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"تأكيد"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"المس جهاز استشعار بصمات الإصبع"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"رمز بصمة الإصبع"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"رمز التطبيق"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"منطقة رسالة المساعدة"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"جارٍ البحث عن وجهك…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"رمز الوجه"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"زر تكبير/تصغير للتوافق."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"استخدام التكبير/التصغير لتحويل شاشة صغيرة إلى شاشة أكبر"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"تم توصيل البلوتوث."</string>
@@ -847,9 +849,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"سعة التخزين"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"تلميحات"</string>
     <string name="instant_apps" msgid="6647570248119804907">"التطبيقات الفورية"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"لا تتطلب التطبيقات الفورية إجراء التثبيت."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"التطبيق <xliff:g id="APP">%1$s</xliff:g> قيد التشغيل"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"تمّ فتح التطبيق بدون تثبيته."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"تمّ فتح التطبيق بدون تثبيته. انقر لمعرفة مزيد من المعلومات."</string>
     <string name="app_info" msgid="6856026610594615344">"معلومات عن التطبيق"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"الانتقال إلى المتصفح"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"الانتقال إلى الويب"</string>
     <string name="mobile_data" msgid="7094582042819250762">"بيانات الجوّال"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"‏تم إيقاف شبكة Wi-Fi"</string>
diff --git a/packages/SystemUI/res/values-as/strings.xml b/packages/SystemUI/res/values-as/strings.xml
index 8912f15..8cde524 100644
--- a/packages/SystemUI/res/values-as/strings.xml
+++ b/packages/SystemUI/res/values-as/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"কেমেৰা খোলক"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"নতুন কাৰ্যৰ চানেকি বাছনি কৰক"</string>
     <string name="cancel" msgid="6442560571259935130">"বাতিল কৰক"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"সহায় বাৰ্তাৰ ক্ষেত্ৰ"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"নিশ্চিত কৰক"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"ফিংগাৰপ্ৰিণ্ট ছেন্সৰটো স্পৰ্শ কৰক"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"ফিংগাৰপ্ৰিণ্ট আইকন"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"এপ্লিকেশ্বন আইকন"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"সহায় বাৰ্তাৰ ক্ষেত্ৰ"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"আপোনাৰ মুখমণ্ডল বিচাৰি আছে…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"মুখমণ্ডলৰ আইকন"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"উপযোগিতা অনুসৰি জুম কৰা বুটাম।"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"স্ক্ৰীণৰ আকাৰ ডাঙৰ কৰিবলৈ জুম কৰক।"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"ব্লুটুথ সংযোগ হ\'ল।"</string>
@@ -344,7 +346,7 @@
     <string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> সীমা"</string>
     <string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> সকীয়নি"</string>
     <string name="quick_settings_work_mode_label" msgid="7608026833638817218">"কৰ্মস্থানৰ প্ৰ\'ফাইল"</string>
-    <string name="quick_settings_night_display_label" msgid="3577098011487644395">"ৰাতিৰ লাইট"</string>
+    <string name="quick_settings_night_display_label" msgid="3577098011487644395">"ৰাতিৰ পোহৰ"</string>
     <string name="quick_settings_night_secondary_label_on_at_sunset" msgid="8483259341596943314">"সূৰ্যাস্তত অন কৰক"</string>
     <string name="quick_settings_night_secondary_label_until_sunrise" msgid="4453017157391574402">"সূৰ্যোদয়ৰ লৈকে"</string>
     <string name="quick_settings_night_secondary_label_on_at" msgid="6256314040368487637">"<xliff:g id="TIME">%s</xliff:g>ত অন কৰক"</string>
@@ -823,9 +825,14 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"সঞ্চয়াগাৰ"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"ইংগিতবোৰ"</string>
     <string name="instant_apps" msgid="6647570248119804907">"তাৎক্ষণিক এপসমূহ"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"তাৎক্ষণিক এপসমূহক ইনষ্টল কৰাৰ প্ৰয়োজন নাই।"</string>
+    <!-- no translation found for instant_apps_title (8738419517367449783) -->
+    <skip />
+    <!-- no translation found for instant_apps_message (1183313016396018086) -->
+    <skip />
+    <!-- no translation found for instant_apps_message_with_help (6179830437630729747) -->
+    <skip />
     <string name="app_info" msgid="6856026610594615344">"এপ্ সম্পৰ্কীয় তথ্য"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"ব্ৰাউজাৰলৈ যাওক"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"ৱেবলৈ যাওক"</string>
     <string name="mobile_data" msgid="7094582042819250762">"ম\'বাইল ডেটা"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"ৱাই-ফাই অফ অৱস্থাত আছে"</string>
diff --git a/packages/SystemUI/res/values-az/strings.xml b/packages/SystemUI/res/values-az/strings.xml
index f0779fb..2342a89 100644
--- a/packages/SystemUI/res/values-az/strings.xml
+++ b/packages/SystemUI/res/values-az/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"kemaranı açın"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Yeni tapşırıq sxemi seçin"</string>
     <string name="cancel" msgid="6442560571259935130">"Ləğv et"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Yardım mesajı bölməsi"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Təsdiq"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Barmaq izi sensoruna klikləyin"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Barmaq izi ikonası"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Tətbiq ikonası"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Yardım mesajı bölməsi"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Siz axtarılırsınız…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Üz işarəsi"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Uyğunluq zoom düyməsi."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Daha böyük ekranda uzaqlaşdır."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth qoşulub."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Yaddaş"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Məsləhətlər"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Ani Tətbiqlər"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Ani tətbiqlər quraşdırma tələb etmir."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> işləyir"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Quraşdırılmadan açılan tətbiq."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Quraşdırılmadan açılan tətbiq. Ətraflı məlumat üçün klikləyin."</string>
     <string name="app_info" msgid="6856026610594615344">"Tətbiq məlumatı"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Brauzerə daxil edin"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Vebə keçin"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobil data"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi deaktivdir"</string>
diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings.xml b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
index 9dc6460..47422b2 100644
--- a/packages/SystemUI/res/values-b+sr+Latn/strings.xml
+++ b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
@@ -104,10 +104,12 @@
     <string name="camera_label" msgid="7261107956054836961">"otvori kameru"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Izaberi novi raspored zadataka"</string>
     <string name="cancel" msgid="6442560571259935130">"Otkaži"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Oblast poruke za pomoć"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Potvrdi"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Dodirnite senzor za otisak prsta"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikona otiska prsta"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Ikona aplikacije"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Oblast poruke za pomoć"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Tražimo vas…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Ikona lica"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Dugme Zum kompatibilnosti."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zumiranje sa manjeg na veći ekran."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth je priključen."</string>
@@ -829,9 +831,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Memorijski prostor"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Saveti"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Instant aplikacije"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Instant aplikacije ne zahtevaju instalaciju."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"Aplikacija <xliff:g id="APP">%1$s</xliff:g> je pokrenuta"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Aplikacija se otvorila bez instaliranja."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Aplikacija se otvorila bez instaliranja. Dodirnite da biste saznali više."</string>
     <string name="app_info" msgid="6856026610594615344">"Informacije o aplikaciji"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Idi na pregledač"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Idi na veb"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobilni podaci"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi je isključen"</string>
diff --git a/packages/SystemUI/res/values-be/strings.xml b/packages/SystemUI/res/values-be/strings.xml
index 9898dbd..de01516 100644
--- a/packages/SystemUI/res/values-be/strings.xml
+++ b/packages/SystemUI/res/values-be/strings.xml
@@ -105,10 +105,12 @@
     <string name="camera_label" msgid="7261107956054836961">"адкрыць камеру"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Выберыце новы макет заданняў"</string>
     <string name="cancel" msgid="6442560571259935130">"Скасаваць"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Поле даведачнага паведамлення"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Пацвердзіць"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Дакраніцеся да сканера адбіткаў пальцаў"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Значок адбіткаў пальцаў"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Значок праграмы"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Вобласць даведачнага паведамлення"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Ідзе пошук вашага твару…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Значок твару"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Кнопка сумяшчальнасці маштаба."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Маштабаванне малых элементаў для большага экрана."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth-сувязь."</string>
@@ -837,9 +839,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Захоўванне"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Падказкі"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Імгненныя праграмы"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Імгненныя праграмы не патрабуюць усталёўкі."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"Праграма \"<xliff:g id="APP">%1$s</xliff:g>\" запушчана"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Праграма адкрыта без усталёўкі."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Праграма адкрыта без усталёўкі. Націсніце, каб даведацца больш."</string>
     <string name="app_info" msgid="6856026610594615344">"Інфармацыя пра праграму"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Перайсці ў браўзер"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Перайсці ў інтэрнэт"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Маб. перадача даных"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi выключаны"</string>
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
index a5506a3..29d89ec 100644
--- a/packages/SystemUI/res/values-bg/strings.xml
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"отваряне на камерата"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Избиране на ново оформление за задачите"</string>
     <string name="cancel" msgid="6442560571259935130">"Отказ"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Област за помощно съобщение"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Потвърждаване"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Докоснете сензора за отпечатъци"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Икона за отпечатък"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Икона на приложението"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Област за помощно съобщение"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Търсим ви…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Икона на лице"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Бутон за промяна на мащаба с цел съвместимост."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Промяна на мащаба на екрана от по-малък до по-голям."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth е включен."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Хранилище"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Съвети"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Мигновени приложения"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"За мигновените приложения не се изисква инсталиране."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> работи"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Приложението се отвори, без да бъде инсталирано."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Приложението се отвори, без да бъде инсталирано. Докоснете, за да научите повече."</string>
     <string name="app_info" msgid="6856026610594615344">"Информация за приложението"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Към браузъра"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Към мрежата"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Мобилни данни"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Функцията за Wi‑Fi е изключена"</string>
diff --git a/packages/SystemUI/res/values-bn/strings.xml b/packages/SystemUI/res/values-bn/strings.xml
index 5d52103..d2f6401 100644
--- a/packages/SystemUI/res/values-bn/strings.xml
+++ b/packages/SystemUI/res/values-bn/strings.xml
@@ -31,7 +31,7 @@
     </plurals>
     <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"কোনো বিজ্ঞপ্তি নেই"</string>
     <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"চলতে-থাকা"</string>
-    <string name="status_bar_latest_events_title" msgid="6594767438577593172">"বিজ্ঞপ্তিগুলি"</string>
+    <string name="status_bar_latest_events_title" msgid="6594767438577593172">"বিজ্ঞপ্তি"</string>
     <string name="battery_low_title" msgid="9187898087363540349">"চার্জ শীঘ্রই শেষ হয়ে যেতে পারে"</string>
     <string name="battery_low_percent_format" msgid="2900940511201380775">"<xliff:g id="PERCENTAGE">%s</xliff:g> অবশিষ্ট আছে"</string>
     <string name="battery_low_percent_format_hybrid" msgid="6838677459286775617">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> বাকি আছে, বর্তমান ব্যবহারের ভিত্তিতে আর <xliff:g id="TIME">%2$s</xliff:g> চলবে"</string>
@@ -49,7 +49,7 @@
     <string name="status_bar_settings_auto_rotation" msgid="3790482541357798421">"অটো-রোটেট স্ক্রিন"</string>
     <string name="status_bar_settings_mute_label" msgid="554682549917429396">"মিউট করুন"</string>
     <string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"স্বতঃ"</string>
-    <string name="status_bar_settings_notifications" msgid="397146176280905137">"বিজ্ঞপ্তিগুলি"</string>
+    <string name="status_bar_settings_notifications" msgid="397146176280905137">"বিজ্ঞপ্তি"</string>
     <string name="bluetooth_tethered" msgid="7094101612161133267">"ব্লুটুথ টিথার করা হয়েছে"</string>
     <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"ইনপুট পদ্ধতিগুলি সেট আপ করুন"</string>
     <string name="status_bar_use_physical_keyboard" msgid="7551903084416057810">"ফিজিক্যাল কীবোর্ড"</string>
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"ক্যামেরা খুলুন"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"নতুন কার্য লেআউট বেছে নিন"</string>
     <string name="cancel" msgid="6442560571259935130">"বাতিল করুন"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"সহায়তার মেসেজ দেখানোর জায়গা"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"কনফার্ম করুন"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"আঙ্গুলের ছাপের সেন্সর স্পর্শ করুন"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"আঙ্গুলের ছাপের আইকন"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"অ্যাপ্লিকেশনের আইকন"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"সহায়তার মেসেজ দেখানোর জায়গা"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"আপনার জন্য খোঁজা হচ্ছে…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"ফেস আইকন"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"সামঞ্জস্যের জুম বোতাম৷"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"ছোট থেকে বৃহৎ স্ক্রীণে জুম করুন৷"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"ব্লুটুথ সংযুক্ত হয়েছে৷"</string>
@@ -174,7 +176,7 @@
     <string name="accessibility_battery_level" msgid="7451474187113371965">"<xliff:g id="NUMBER">%d</xliff:g> শতাংশ ব্যাটারি রয়েছে৷"</string>
     <string name="accessibility_battery_level_charging" msgid="1147587904439319646">"ব্যাটারি চার্জ হচ্ছে, <xliff:g id="BATTERY_PERCENTAGE">%d</xliff:g> শতাংশ৷"</string>
     <string name="accessibility_settings_button" msgid="799583911231893380">"সিস্টেম সেটিংস৷"</string>
-    <string name="accessibility_notifications_button" msgid="4498000369779421892">"বিজ্ঞপ্তিগুলি৷"</string>
+    <string name="accessibility_notifications_button" msgid="4498000369779421892">"বিজ্ঞপ্তি৷"</string>
     <string name="accessibility_overflow_action" msgid="5681882033274783311">"সমস্ত বিজ্ঞপ্তি দেখুন"</string>
     <string name="accessibility_remove_notification" msgid="3603099514902182350">"বিজ্ঞপ্তি সাফ করুন৷"</string>
     <string name="accessibility_gps_enabled" msgid="3511469499240123019">"GPS সক্ষম করা হয়েছে৷"</string>
@@ -334,7 +336,7 @@
       <item quantity="one">%dটি ডিভাইস</item>
       <item quantity="other">%dটি ডিভাইস</item>
     </plurals>
-    <string name="quick_settings_notifications_label" msgid="4818156442169154523">"বিজ্ঞপ্তিগুলি"</string>
+    <string name="quick_settings_notifications_label" msgid="4818156442169154523">"বিজ্ঞপ্তি"</string>
     <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"ফ্ল্যাশলাইট"</string>
     <string name="quick_settings_cellular_detail_title" msgid="3661194685666477347">"মোবাইল ডেটা"</string>
     <string name="quick_settings_cellular_detail_data_usage" msgid="1964260360259312002">"ডেটার ব্যবহার"</string>
@@ -576,7 +578,7 @@
     <string name="broadcast_tile" msgid="3894036511763289383">"সম্প্রচার টাইল"</string>
     <string name="zen_alarm_warning_indef" msgid="3482966345578319605">"তার আগে আপনি এটিকে বন্ধ না করা পর্যন্ত আপনি পরবর্তী <xliff:g id="WHEN">%1$s</xliff:g> অ্যালার্ম শুনতে পাবেন না"</string>
     <string name="zen_alarm_warning" msgid="444533119582244293">"আপনি আপনার পরবর্তী <xliff:g id="WHEN">%1$s</xliff:g> অ্যালার্ম শুনতে পাবেন না"</string>
-    <string name="alarm_template" msgid="3980063409350522735">"<xliff:g id="WHEN">%1$s</xliff:g> -টায়"</string>
+    <string name="alarm_template" msgid="3980063409350522735">"<xliff:g id="WHEN">%1$s</xliff:g>"</string>
     <string name="alarm_template_far" msgid="4242179982586714810">"<xliff:g id="WHEN">%1$s</xliff:g> -তে"</string>
     <string name="accessibility_quick_settings_detail" msgid="2579369091672902101">"দ্রুত সেটিংস, <xliff:g id="TITLE">%s</xliff:g>৷"</string>
     <string name="accessibility_status_bar_hotspot" msgid="4099381329956402865">"হটস্পট"</string>
@@ -679,7 +681,7 @@
     <string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"হোম"</string>
     <string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"সাম্প্রতিকগুলি"</string>
     <string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"পিছনে"</string>
-    <string name="keyboard_shortcut_group_system_notifications" msgid="8366964080041773224">"বিজ্ঞপ্তিগুলি"</string>
+    <string name="keyboard_shortcut_group_system_notifications" msgid="8366964080041773224">"বিজ্ঞপ্তি"</string>
     <string name="keyboard_shortcut_group_system_shortcuts_helper" msgid="4892255911160332762">"কীবোর্ড শর্টকাট"</string>
     <string name="keyboard_shortcut_group_system_switch_input" msgid="8413348767825486492">"কীবোর্ড লে-আউট পাল্টান"</string>
     <string name="keyboard_shortcut_group_applications" msgid="9129465955073449206">"অ্যাপ্লিকেশানগুলি"</string>
@@ -823,9 +825,14 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"স্টোরেজ"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"হিন্ট"</string>
     <string name="instant_apps" msgid="6647570248119804907">"ঝটপট অ্যাপ"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"ঝটপট অ্যাপ ইনস্টল করার প্রয়োজন হয় না।"</string>
+    <!-- no translation found for instant_apps_title (8738419517367449783) -->
+    <skip />
+    <!-- no translation found for instant_apps_message (1183313016396018086) -->
+    <skip />
+    <!-- no translation found for instant_apps_message_with_help (6179830437630729747) -->
+    <skip />
     <string name="app_info" msgid="6856026610594615344">"অ্যাপের তথ্য"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"ব্রাউজারে যান"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"ওয়েবে যান"</string>
     <string name="mobile_data" msgid="7094582042819250762">"মোবাইল ডেটা"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"ওয়াই ফাই বন্ধ আছে"</string>
diff --git a/packages/SystemUI/res/values-bs/strings.xml b/packages/SystemUI/res/values-bs/strings.xml
index 4527e9a..ac0c05e 100644
--- a/packages/SystemUI/res/values-bs/strings.xml
+++ b/packages/SystemUI/res/values-bs/strings.xml
@@ -104,10 +104,12 @@
     <string name="camera_label" msgid="7261107956054836961">"otvori kameru"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Odaberite novi raspored zadataka"</string>
     <string name="cancel" msgid="6442560571259935130">"Otkaži"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Prostor za poruku za pomoć"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Potvrdite"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Dodirnite senzor za otisak prsta"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikona za otisak prsta"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Ikona aplikacije"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Prostor za poruku za pomoć"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Tražimo vas…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Ikona lica"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Dugme za uvećavanje u slučaju nekompatibilnosti."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Uvećani prikaz manjeg ekrana na većem ekranu."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth je povezan."</string>
@@ -831,9 +833,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Pohrana"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Savjeti"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Instant-aplikacije"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Za instant aplikacije nije potrebna instalacija"</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"Pokrenuta je aplikacija <xliff:g id="APP">%1$s</xliff:g>"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Aplikacija je otvorena bez prethodne instalacije."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Aplikacija je otvorena bez prethodne instalacije. Dodirnite da saznate više."</string>
     <string name="app_info" msgid="6856026610594615344">"Informacije o aplikaciji"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Idi na preglednik"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Idite na internet"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Prijenos podataka"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"WiFi veza je isključena"</string>
diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
index 23754ea..b4a2f3b 100644
--- a/packages/SystemUI/res/values-ca/strings.xml
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"obre la càmera"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Selecciona el disseny de la tasca nova"</string>
     <string name="cancel" msgid="6442560571259935130">"Cancel·la"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Àrea de missatge d\'ajuda"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Confirma"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Toca el sensor d\'empremtes digitals"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Icona d\'empremta digital"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Icona d\'aplicació"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Àrea de missatge d\'ajuda"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"S\'està cercant la teva cara…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Icona facial"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Botó de zoom de compatibilitat."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Amplia menys com més gran sigui la pantalla."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth connectat."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Emmagatzematge"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Suggeriments"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Aplicacions instantànies"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"No cal instal·lar les aplicacions instantànies."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"S\'està executant <xliff:g id="APP">%1$s</xliff:g>"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"L\'aplicació s\'ha obert sense instal·lar-se."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"L\'aplicació s\'ha obert sense instal·lar-se. Toca per obtenir més informació."</string>
     <string name="app_info" msgid="6856026610594615344">"Informació de l\'aplicació"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Ves al navegador"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Ves al web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Dades mòbils"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> - <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"La Wi-Fi està desactivada"</string>
diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml
index e7583b5..6d4af4a 100644
--- a/packages/SystemUI/res/values-cs/strings.xml
+++ b/packages/SystemUI/res/values-cs/strings.xml
@@ -105,10 +105,12 @@
     <string name="camera_label" msgid="7261107956054836961">"spustit fotoaparát"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Vybrat nové rozvržení úkolů"</string>
     <string name="cancel" msgid="6442560571259935130">"Zrušit"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Oblast pro zprávu nápovědy"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Potvrdit"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Dotkněte se snímače otisků prstů"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikona otisku prstu"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Ikona aplikace"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Oblast pro zprávu nápovědy"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Hledáme vás…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Ikona obličeje"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Tlačítko úpravy velikosti z důvodu kompatibility"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zvětšit menší obrázek na větší obrazovku."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Rozhraní Bluetooth je připojeno."</string>
@@ -837,9 +839,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Úložiště"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Tipy"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Okamžité aplikace"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Okamžité aplikace není třeba instalovat."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"Aplikace <xliff:g id="APP">%1$s</xliff:g> je spuštěna"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Aplikace byla otevřena bez instalace."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Aplikace byla otevřena bez instalace. Klepnutím zobrazíte další informace."</string>
     <string name="app_info" msgid="6856026610594615344">"O aplikaci"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Přejít do prohlížeče"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Přejít na web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobilní data"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi je vypnuta"</string>
diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml
index 31634a9..ade7db1 100644
--- a/packages/SystemUI/res/values-da/strings.xml
+++ b/packages/SystemUI/res/values-da/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"åbn kamera"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Vælg nyt opgavelayout"</string>
     <string name="cancel" msgid="6442560571259935130">"Annuller"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Område med hjælpemeddelelse"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Bekræft"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Sæt fingeren på fingeraftrykslæseren"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikon for fingeraftryk"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Appens ikon"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Område med hjælpemeddelelse"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Forsøger at finde dig…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Ansigt"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Knap for kompatibilitetszoom."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom mindre til større skærm."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth tilsluttet."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Lagerplads"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Tips"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Instant Apps"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Instant apps kræver ingen installation."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> kører"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"En app blev åbnet uden at blive installeret."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"En app blev åbnet uden at blive installeret. Tryk for at få flere oplysninger."</string>
     <string name="app_info" msgid="6856026610594615344">"Appinfo"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Gå til en browser"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Gå til website"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobildata"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi er slået fra"</string>
diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml
index aa6e449..06aac5c 100644
--- a/packages/SystemUI/res/values-de/strings.xml
+++ b/packages/SystemUI/res/values-de/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"Kamera öffnen"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Neues Aufgabenlayout auswählen"</string>
     <string name="cancel" msgid="6442560571259935130">"Abbrechen"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Bereich für die Hilfemeldung"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Bestätigen"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Berühre den Fingerabdrucksensor"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Fingerabdruck-Symbol"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"App-Symbol"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Bereich für die Hilfemeldung"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Wir suchen nach dir…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Gesichtssymbol"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Schaltfläche für Kompatibilitätszoom"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom auf einen größeren Bildschirm"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Mit Bluetooth verbunden"</string>
@@ -448,9 +450,9 @@
     <string name="dnd_suppressing_shade_text" msgid="1904574852846769301">"Benachrichtigungen durch \"Bitte nicht stören\" pausiert"</string>
     <string name="media_projection_action_text" msgid="8470872969457985954">"Jetzt starten"</string>
     <string name="empty_shade_text" msgid="708135716272867002">"Keine Benachrichtigungen"</string>
-    <string name="profile_owned_footer" msgid="8021888108553696069">"Profil wird möglicherweise überwacht."</string>
-    <string name="vpn_footer" msgid="2388611096129106812">"Das Netzwerk wird möglicherweise überwacht."</string>
-    <string name="branded_vpn_footer" msgid="2168111859226496230">"Das Netzwerk wird möglicherweise überwacht"</string>
+    <string name="profile_owned_footer" msgid="8021888108553696069">"Profil wird eventuell überwacht."</string>
+    <string name="vpn_footer" msgid="2388611096129106812">"Das Netzwerk wird eventuell überwacht."</string>
+    <string name="branded_vpn_footer" msgid="2168111859226496230">"Das Netzwerk wird eventuell überwacht"</string>
     <string name="quick_settings_disclosure_management_monitoring" msgid="6645176135063957394">"Deine Organisation verwaltet dieses Gerät und kann den Netzwerkverkehr überwachen"</string>
     <string name="quick_settings_disclosure_named_management_monitoring" msgid="370622174777570853">"<xliff:g id="ORGANIZATION_NAME">%1$s</xliff:g> verwaltet dieses Gerät und kann den Netzwerkverkehr überwachen"</string>
     <string name="quick_settings_disclosure_management_named_vpn" msgid="1085137869053332307">"Das Gerät wird von deiner Organisation verwaltet und ist mit <xliff:g id="VPN_APP">%1$s</xliff:g> verbunden"</string>
@@ -461,7 +463,7 @@
     <string name="quick_settings_disclosure_named_management_vpns" msgid="7777821385318891527">"Das Gerät wird von <xliff:g id="ORGANIZATION_NAME">%1$s</xliff:g> verwaltet und ist mit VPNs verbunden"</string>
     <string name="quick_settings_disclosure_managed_profile_monitoring" msgid="5125463987558278215">"Deine Organisation kann den Netzwerkverkehr in deinem Arbeitsprofil überwachen"</string>
     <string name="quick_settings_disclosure_named_managed_profile_monitoring" msgid="8973606847896650284">"<xliff:g id="ORGANIZATION_NAME">%1$s</xliff:g> kann den Netzwerkverkehr in deinem Arbeitsprofil überwachen"</string>
-    <string name="quick_settings_disclosure_monitoring" msgid="679658227269205728">"Das Netzwerk wird möglicherweise überwacht"</string>
+    <string name="quick_settings_disclosure_monitoring" msgid="679658227269205728">"Das Netzwerk wird eventuell überwacht"</string>
     <string name="quick_settings_disclosure_vpns" msgid="8170318392053156330">"Das Gerät ist mit VPNs verbunden"</string>
     <string name="quick_settings_disclosure_managed_profile_named_vpn" msgid="3494535754792751741">"Arbeitsprofil verbunden mit <xliff:g id="VPN_APP">%1$s</xliff:g>"</string>
     <string name="quick_settings_disclosure_personal_profile_named_vpn" msgid="4467456202486569906">"Das persönliche Profil ist mit <xliff:g id="VPN_APP">%1$s</xliff:g> verbunden"</string>
@@ -827,9 +829,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Speicher"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Hinweise"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Instant-Apps"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Bei Instant-Apps ist keine vorherige Installation erforderlich."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> wird ausgeführt"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"App wurde geöffnet, ohne vorher installiert zu werden."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"App wurde geöffnet, ohne vorher installiert zu werden. Tippe, um weitere Informationen zu erhalten."</string>
     <string name="app_info" msgid="6856026610594615344">"App-Informationen"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Browser öffnen"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Web aufrufen"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobile Daten"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"WLAN ist deaktiviert"</string>
diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml
index 1a1c762..1892da6 100644
--- a/packages/SystemUI/res/values-el/strings.xml
+++ b/packages/SystemUI/res/values-el/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"άνοιγμα φωτογραφικής μηχανής"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Επιλέξτε τη νέα διάταξη εργασίας"</string>
     <string name="cancel" msgid="6442560571259935130">"Ακύρωση"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Περιοχή μηνυμάτων βοήθειας"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Επιβεβαίωση"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Αγγίξτε τον αισθητήρα δακτυλικών αποτυπωμάτων"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Εικονίδιο δακτυλικών αποτυπωμάτων"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Εικονίδιο εφαρμογής"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Περιοχή μηνυμάτων βοήθειας"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Αναζήτηση για εσάς…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Εικονίδιο προσώπου"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Κουμπί εστίασης συμβατότητας."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Ζουμ από μικρότερη σε μεγαλύτερη οθόνη."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Το Bluetooth είναι συνδεδεμένο."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Αποθηκευτικός χώρος"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Συμβουλές"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Instant Εφαρμογές"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Οι Instant Εφαρμογές δεν απαιτούν εγκατάσταση."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"Η εφαρμογή <xliff:g id="APP">%1$s</xliff:g> εκτελείται"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Η εφαρμογή άνοιξε χωρίς να έχει εγκατασταθεί."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Η εφαρμογή άνοιξε χωρίς να έχει εγκατασταθεί. Πατήστε για να μάθετε περισσότερα."</string>
     <string name="app_info" msgid="6856026610594615344">"Πληροφορίες εφαρμογής"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Μετάβ. σε πρόγ. περ."</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Μετάβαση στον ιστό"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Δεδομένα κινητής τηλεφωνίας"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> - <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Το Wi-Fi είναι ανενεργό"</string>
diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml
index c0afae6..6503470 100644
--- a/packages/SystemUI/res/values-en-rAU/strings.xml
+++ b/packages/SystemUI/res/values-en-rAU/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"open camera"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Select new task layout"</string>
     <string name="cancel" msgid="6442560571259935130">"Cancel"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Help message area"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Confirm"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Touch the fingerprint sensor"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Fingerprint icon"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Application icon"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Help message area"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Looking for you…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Face icon"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Compatibility zoom button."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom smaller to larger screen."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth connected."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Storage"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Hints"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Instant Apps"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Instant apps don\'t require installation."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> running"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"App opened without being installed."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"App opened without being installed. Tap to find out more."</string>
     <string name="app_info" msgid="6856026610594615344">"App info"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Go to browser"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Go to web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobile data"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi is off"</string>
diff --git a/packages/SystemUI/res/values-en-rCA/strings.xml b/packages/SystemUI/res/values-en-rCA/strings.xml
index 488c748..9e4081c 100644
--- a/packages/SystemUI/res/values-en-rCA/strings.xml
+++ b/packages/SystemUI/res/values-en-rCA/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"open camera"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Select new task layout"</string>
     <string name="cancel" msgid="6442560571259935130">"Cancel"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Help message area"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Confirm"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Touch the fingerprint sensor"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Fingerprint icon"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Application icon"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Help message area"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Looking for you…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Face icon"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Compatibility zoom button."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom smaller to larger screen."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth connected."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Storage"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Hints"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Instant Apps"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Instant apps don\'t require installation."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> running"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"App opened without being installed."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"App opened without being installed. Tap to find out more."</string>
     <string name="app_info" msgid="6856026610594615344">"App info"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Go to browser"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Go to web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobile data"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi is off"</string>
diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml
index c0afae6..6503470 100644
--- a/packages/SystemUI/res/values-en-rGB/strings.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"open camera"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Select new task layout"</string>
     <string name="cancel" msgid="6442560571259935130">"Cancel"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Help message area"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Confirm"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Touch the fingerprint sensor"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Fingerprint icon"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Application icon"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Help message area"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Looking for you…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Face icon"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Compatibility zoom button."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom smaller to larger screen."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth connected."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Storage"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Hints"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Instant Apps"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Instant apps don\'t require installation."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> running"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"App opened without being installed."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"App opened without being installed. Tap to find out more."</string>
     <string name="app_info" msgid="6856026610594615344">"App info"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Go to browser"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Go to web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobile data"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi is off"</string>
diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml
index c0afae6..6503470 100644
--- a/packages/SystemUI/res/values-en-rIN/strings.xml
+++ b/packages/SystemUI/res/values-en-rIN/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"open camera"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Select new task layout"</string>
     <string name="cancel" msgid="6442560571259935130">"Cancel"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Help message area"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Confirm"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Touch the fingerprint sensor"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Fingerprint icon"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Application icon"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Help message area"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Looking for you…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Face icon"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Compatibility zoom button."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom smaller to larger screen."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth connected."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Storage"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Hints"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Instant Apps"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Instant apps don\'t require installation."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> running"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"App opened without being installed."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"App opened without being installed. Tap to find out more."</string>
     <string name="app_info" msgid="6856026610594615344">"App info"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Go to browser"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Go to web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobile data"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi is off"</string>
diff --git a/packages/SystemUI/res/values-en-rXC/strings.xml b/packages/SystemUI/res/values-en-rXC/strings.xml
index f775bb1..40205b9 100644
--- a/packages/SystemUI/res/values-en-rXC/strings.xml
+++ b/packages/SystemUI/res/values-en-rXC/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‎‎‏‎‎‏‎‏‎‎‎‏‏‎‎‏‏‎‏‏‏‎‎‎‎‏‏‎‎‎‏‏‎‏‎‎‏‎‏‎‎‎‏‏‎‏‏‏‎‎‎‎‏‎open camera‎‏‎‎‏‎"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‎‎‏‏‏‏‎‎‎‏‏‎‎‎‎‎‏‏‏‎‏‎‎‎‎‏‎‏‏‏‎‎‏‎‎‎‏‎‏‎‎‏‎‎‏‎‎‏‏‏‏‎‎‎‎Select new task layout‎‏‎‎‏‎"</string>
     <string name="cancel" msgid="6442560571259935130">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‏‎‏‎‎‎‏‎‎‏‎‎‏‎‏‎‏‏‎‏‎‎‏‎‎‏‎‏‎‏‏‏‏‎‎‎‏‎‏‏‎‏‏‎‎‏‏‎‎‏‏‎‏‎‎Cancel‎‏‎‎‏‎"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‏‎‎‎‏‏‏‏‎‏‏‏‏‎‏‎‎‎‎‏‎‎‎‎‏‏‏‎‎‎‎‎‎‎‏‏‎‎‎‏‎‎‏‏‎‏‏‏‏‏‎Help message area‎‏‎‎‏‎"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‏‏‏‎‏‏‎‎‎‎‎‏‎‎‎‎‏‎‎‎‎‎‎‎‎‎‎‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‎Confirm‎‏‎‎‏‎"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‏‏‏‎‎‏‎‎‎‎‎‏‎‎‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‏‏‏‎‎‏‎‎‎‏‏‏‎‏‏‏‎‎‎‎‎‏‎Touch the fingerprint sensor‎‏‎‎‏‎"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‎‏‏‎‏‎‏‏‏‏‎‏‎‏‎‏‎‏‎‎‏‎‏‏‎‏‎‎‎‎‏‏‎‏‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‎‏‎‏‎‎Fingerprint icon‎‏‎‎‏‎"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‏‎‎‏‏‎‎‏‏‎‎‎‏‎‏‏‎‎‎‏‎‏‎‏‏‏‏‎‏‎‏‎‎‎‏‏‎‎‏‎‏‏‏‎‎‎‎‎‎‎‎‎‏‎‏‎‎‎‏‎Application icon‎‏‎‎‏‎"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‎‎‎‏‏‎‏‎‏‏‏‎‎‏‏‎‎‎‏‏‏‏‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‎‎‎‎‎‏‏‎‎‎‏‎‎‎‏‏‏‎Help message area‎‏‎‎‏‎"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‏‎‎‎‎‎‎‏‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‎‏‏‎‏‏‏‎‎‎‎‏‎Looking for you…‎‏‎‎‏‎"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‏‎‎‏‏‏‎‎‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‎‎‏‏‎‎‎‏‎‎‏‏‎‎‎‎‎‏‎‎Face icon‎‏‎‎‏‎"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‎‏‏‎‏‏‎‏‏‎‎‎‏‎‏‎‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‏‎Compatibility zoom button.‎‏‎‎‏‎"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‎‏‎‏‎‎‏‎‎‏‎‏‏‏‎‎‏‎‎‏‎‏‏‏‎‏‏‎‏‏‏‎‏‎‎‏‎‎‎‏‏‎‎‎‏‎‎‏‏‏‏‎‏‏‏‎‏‎‎‎Zoom smaller to larger screen.‎‏‎‎‏‎"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎‎‏‎‎‎‏‎‏‎‎‏‎‏‏‎‏‎‎‏‎‏‎‎‎‏‏‏‏‎‎‏‎‎‏‏‏‎‏‎‏‎‎‏‎‏‏‏‏‎‎‏‎‏‎‎Bluetooth connected.‎‏‎‎‏‎"</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‏‎‏‎‎‎‏‏‎‏‏‏‎‎‏‎‎‎‎‏‏‏‏‎‏‎‏‎‏‎‏‎‎‎‎‏‏‎‎‎‎‎‏‏‏‎‎‎‏‎‎‎‏‎Storage‎‏‎‎‏‎"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‎‎‎‏‏‏‎‎‏‏‏‎‏‎‎‏‎‎‏‏‏‏‎‎‏‏‏‎‎‎‏‏‏‏‎‏‏‎‎‎‎‏‎‎‎‏‎‏‏‎‎‎‏‎Hints‎‏‎‎‏‎"</string>
     <string name="instant_apps" msgid="6647570248119804907">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‏‏‏‎‏‎‎‏‏‏‏‎‏‎‏‏‏‎‎‏‏‎‏‎‏‎‏‎‎‎‏‎‏‏‏‎‎‎‏‏‏‏‏‎‏‎‏‏‎Instant Apps‎‏‎‎‏‎"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎‎‎‏‎‎‏‎‏‏‏‎‏‏‎‏‏‎‎‎‏‏‎‏‏‎‎‎‏‎‎‎‏‎‎‎Instant apps don\'t require installation.‎‏‎‎‏‎"</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‏‎‏‎‎‎‏‏‎‏‎‎‏‎‎‎‎‎‎‏‎‏‏‏‏‏‏‎‎‎‎‎‏‏‎‏‏‏‏‏‎‎‎‏‎‏‏‎‏‏‏‎‎‏‎‎‏‏‎<xliff:g id="APP">%1$s</xliff:g>‎‏‎‎‏‏‏‎ running‎‏‎‎‏‎"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‎‎‎‎‏‏‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‎‏‏‎‏‎‎‎‎‎‎‎‏‏‎‎‎‎‏‎‏‏‏‎‎‎‏‏‎‏‎‎‏‏‎‎App opened without being installed.‎‏‎‎‏‎"</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‎‎‎‏‏‎‎‏‎‏‎‏‏‎‎‎‎‏‎‏‎‎‏‏‏‎‏‏‏‎‎‏‎‎‎‎‎‎‏‎‏‏‏‏‎‎‎‎‏‎‎‏‏‎App opened without being installed. Tap to learn more.‎‏‎‎‏‎"</string>
     <string name="app_info" msgid="6856026610594615344">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‎‏‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‎‎‏‏‏‎‎‎‏‏‏‏‎‎‎‎‏‎‎‎‎‎‎‏‏‎‎‎‎‎App info‎‏‎‎‏‎"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‏‎‎‏‏‎‎‏‎‎‏‎‎‎‏‎‎‎‏‏‎‎‎‎‏‏‏‎‏‏‎‎‎‏‎‏‏‏‎‎‏‎‎‎‎‏‎‏‏‏‎‏‏‎‏‎‏‏‏‎Go to browser‎‏‎‎‏‎"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‏‏‎‏‎‏‏‎‎‏‎‏‏‎‎‎‎‏‏‏‎‎‏‏‏‎‏‎‎‏‏‎‎‏‎‏‎‏‎‏‏‏‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎Go to web‎‏‎‎‏‎"</string>
     <string name="mobile_data" msgid="7094582042819250762">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‏‎‏‎‏‎‎‎‎‎‏‎‎‏‏‎‎‎‏‏‏‎‏‏‏‏‏‎‎‎‎‎‏‏‎‏‏‎‏‎‎‏‎‏‎‎‏‎‎‏‎‏‎‎Mobile data‎‏‎‎‏‎"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‏‎‏‏‏‏‏‎‏‎‎‎‎‏‎‏‏‎‏‏‎‎‏‏‏‏‏‎‎‏‏‎‎‏‏‏‏‏‎‎‎‎‎‏‏‏‎‎‏‎‎‏‏‎‎‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎ — ‎‏‎‎‏‏‎<xliff:g id="ID_2">%2$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‏‏‎‎‎‎‎‏‏‏‏‏‎‎‎‎‎‎‎‎‎‎‏‏‎‏‎‏‎‏‏‏‏‎‎‏‎‏‎‎‏‏‎‎‏‎‎‎‏‎‎‏‏‏‏‎‏‎Wi-Fi is off‎‏‎‎‏‎"</string>
diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml
index 31509dc..d4adfdc 100644
--- a/packages/SystemUI/res/values-es-rUS/strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"abrir cámara"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Selecciona el nuevo diseño de la tarea."</string>
     <string name="cancel" msgid="6442560571259935130">"Cancelar"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Área de mensajes de ayuda"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Confirmar"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Toca el sensor de huellas digitales"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ícono de huella digital"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Ícono de la aplicación"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Área de mensajes de ayuda"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Autenticando tu rostro…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Ícono de rostro"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Botón de zoom de compatibilidad"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom de pantalla más pequeña a más grande"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth conectado"</string>
@@ -825,9 +827,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Almacenamiento"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Sugerencias"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Apps instantáneas"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Las Apps instantáneas no requieren instalación."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> en ejecución"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"La app se abrió sin instalarse."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"La app se abrió sin instalarse. Presiona para obtener más información."</string>
     <string name="app_info" msgid="6856026610594615344">"Información de apps"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Ir al navegador"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Ir a la Web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Datos móviles"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi desactivado"</string>
diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml
index 2cc3abd..00c179c 100644
--- a/packages/SystemUI/res/values-es/strings.xml
+++ b/packages/SystemUI/res/values-es/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="7164937344850004466">"IU del sistema"</string>
+    <string name="app_label" msgid="7164937344850004466">"UI del sistema"</string>
     <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Borrar"</string>
     <string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"Quitar de la lista"</string>
     <string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"Información de la aplicación"</string>
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"abrir cámara"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Seleccionar diseño de tarea nueva"</string>
     <string name="cancel" msgid="6442560571259935130">"Cancelar"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Área de mensaje de ayuda"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Confirmar"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Toca el sensor de huellas digitales"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Icono de huella digital"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Icono de aplicación"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Área de mensaje de ayuda"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Buscando tu cara…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Icono de cara"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Botón de zoom de compatibilidad"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom de pantalla más pequeña a más grande"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth conectado"</string>
@@ -561,13 +563,13 @@
     <string name="output_service_bt" msgid="6224213415445509542">"Bluetooth"</string>
     <string name="output_service_wifi" msgid="3749735218931825054">"Wi‑Fi"</string>
     <string name="output_service_bt_wifi" msgid="4486837869988770896">"Bluetooth y Wi‑Fi"</string>
-    <string name="system_ui_tuner" msgid="708224127392452018">"Configurador de IU del sistema"</string>
+    <string name="system_ui_tuner" msgid="708224127392452018">"Configurador de UI del sistema"</string>
     <string name="show_battery_percentage" msgid="5444136600512968798">"Mostrar porcentaje de batería insertado"</string>
     <string name="show_battery_percentage_summary" msgid="3215025775576786037">"Mostrar el porcentaje del nivel de batería en el icono de la barra de estado cuando no se esté cargando"</string>
     <string name="quick_settings" msgid="10042998191725428">"Ajustes rápidos"</string>
     <string name="status_bar" msgid="4877645476959324760">"Barra de estado"</string>
     <string name="overview" msgid="4018602013895926956">"Aplicaciones recientes"</string>
-    <string name="demo_mode" msgid="2532177350215638026">"Modo de demostración de IU del sistema"</string>
+    <string name="demo_mode" msgid="2532177350215638026">"Modo de demostración de UI del sistema"</string>
     <string name="enable_demo_mode" msgid="4844205668718636518">"Habilitar modo de demostración"</string>
     <string name="show_demo_mode" msgid="2018336697782464029">"Mostrar modo de demostración"</string>
     <string name="status_bar_ethernet" msgid="5044290963549500128">"Ethernet"</string>
@@ -584,12 +586,12 @@
     <string name="accessibility_status_bar_hotspot" msgid="4099381329956402865">"Zona Wi-Fi"</string>
     <string name="accessibility_managed_profile" msgid="6613641363112584120">"Perfil de trabajo"</string>
     <string name="tuner_warning_title" msgid="7094689930793031682">"Diversión solo para algunos"</string>
-    <string name="tuner_warning" msgid="8730648121973575701">"El configurador de IU del sistema te ofrece otras formas de modificar y personalizar la interfaz de usuario de Android. Estas funciones experimentales pueden cambiar, fallar o desaparecer en futuras versiones. Te recomendamos que tengas cuidado."</string>
+    <string name="tuner_warning" msgid="8730648121973575701">"El configurador de UI del sistema te ofrece otras formas de modificar y personalizar la interfaz de usuario de Android. Estas funciones experimentales pueden cambiar, fallar o desaparecer en futuras versiones. Te recomendamos que tengas cuidado."</string>
     <string name="tuner_persistent_warning" msgid="8597333795565621795">"Estas funciones experimentales pueden cambiar, fallar o desaparecer en futuras versiones. Te recomendamos que tengas cuidado."</string>
     <string name="got_it" msgid="2239653834387972602">"Entendido"</string>
-    <string name="tuner_toast" msgid="603429811084428439">"¡Enhorabuena! El configurador de IU del sistema se ha añadido a Ajustes"</string>
+    <string name="tuner_toast" msgid="603429811084428439">"¡Enhorabuena! El configurador de UI del sistema se ha añadido a Ajustes"</string>
     <string name="remove_from_settings" msgid="8389591916603406378">"Quitar de Ajustes"</string>
-    <string name="remove_from_settings_prompt" msgid="6069085993355887748">"¿Quitar el configurador de IU del sistema de Ajustes y dejar de utilizar sus funciones?"</string>
+    <string name="remove_from_settings_prompt" msgid="6069085993355887748">"¿Quitar el configurador de UI del sistema de Ajustes y dejar de utilizar sus funciones?"</string>
     <string name="activity_not_found" msgid="348423244327799974">"La aplicación no está instalada en tu dispositivo"</string>
     <string name="clock_seconds" msgid="7689554147579179507">"Mostrar los segundos del reloj"</string>
     <string name="clock_seconds_desc" msgid="6282693067130470675">"Muestra los segundos del reloj en la barra de estado. Puede afectar a la duración de la batería."</string>
@@ -825,9 +827,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Almacenamiento"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Sugerencias"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Aplicaciones Instantáneas"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"No es necesario instalar las Aplicaciones Instantáneas."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> se está ejecutando"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"La aplicación se abre sin necesidad de instalarla."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"La aplicación se abre sin necesidad de instalarla. Toca para obtener más información."</string>
     <string name="app_info" msgid="6856026610594615344">"Información de la aplicación"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Ir al navegador"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Ir a la Web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Datos móviles"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> ‑ <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi desactivado"</string>
diff --git a/packages/SystemUI/res/values-et/strings.xml b/packages/SystemUI/res/values-et/strings.xml
index f22dc1a..246f1f8 100644
--- a/packages/SystemUI/res/values-et/strings.xml
+++ b/packages/SystemUI/res/values-et/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"ava kaamera"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Uue toimingu paigutuse valimine"</string>
     <string name="cancel" msgid="6442560571259935130">"Tühista"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Abisõnumi ala"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Kinnita"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Puudutage sõrmejäljeandurit"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Sõrmejälje ikoon"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Rakenduse ikoon"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Abisõnumi ala"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Otsitakse teid …"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Näoikoon"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Sobivussuumi nupp."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Suumi suuremale ekraanile vähem."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth on ühendatud."</string>
@@ -825,9 +827,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Salvestusruum"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Vihjed"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Installimata avatavad rakendused"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Installimata avatavaid rakendusi pole vaja installida."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"Rakendus <xliff:g id="APP">%1$s</xliff:g> töötab"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Rakendus avati installimata."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Rakendus avati installimata. Lisateabe saamiseks puudutage."</string>
     <string name="app_info" msgid="6856026610594615344">"Rakenduse teave"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Ava brauser"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Avage veebis"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobiilne andmeside"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"WiFi on välja lülitatud"</string>
diff --git a/packages/SystemUI/res/values-eu/strings.xml b/packages/SystemUI/res/values-eu/strings.xml
index 87dba92..b73946e 100644
--- a/packages/SystemUI/res/values-eu/strings.xml
+++ b/packages/SystemUI/res/values-eu/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"ireki kamera"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Hautatu zereginen diseinua"</string>
     <string name="cancel" msgid="6442560571259935130">"Utzi"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Laguntza-mezuaren eremua"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Berretsi"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Sakatu hatz-marken sentsorea"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Hatz-markaren ikonoa"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Aplikazioaren ikonoa"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Laguntza-mezuaren eremua"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Zure bila…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Aurpegiaren ikonoa"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Zoom-bateragarritasunaren botoia."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Handiagotu pantaila txikia."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetootha konektatuta."</string>
@@ -825,9 +827,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Memoria"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Aholkuak"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Zuzeneko aplikazioak"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Zuzeneko aplikazioak ez dira instalatu behar."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> exekutatzen ari da"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Ezer instalatu gabe ireki da aplikazioa."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Ezer instalatu gabe ireki da aplikazioa. Sakatu informazio gehiago lortzeko."</string>
     <string name="app_info" msgid="6856026610594615344">"Aplikazioari buruzko informazioa"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Joan arakatzailera"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Joan sarera"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Datu-konexioa"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> - <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi konexioa desaktibatuta dago"</string>
diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml
index 5411d3d..3997f1a 100644
--- a/packages/SystemUI/res/values-fa/strings.xml
+++ b/packages/SystemUI/res/values-fa/strings.xml
@@ -47,7 +47,7 @@
     <string name="status_bar_settings_settings_button" msgid="3023889916699270224">"تنظیمات"</string>
     <string name="status_bar_settings_wifi_button" msgid="1733928151698311923">"Wi-Fi"</string>
     <string name="status_bar_settings_auto_rotation" msgid="3790482541357798421">"چرخش خودکار صفحه"</string>
-    <string name="status_bar_settings_mute_label" msgid="554682549917429396">"بی‌صدا"</string>
+    <string name="status_bar_settings_mute_label" msgid="554682549917429396">"صامت"</string>
     <string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"خودکار"</string>
     <string name="status_bar_settings_notifications" msgid="397146176280905137">"اعلان‌ها"</string>
     <string name="bluetooth_tethered" msgid="7094101612161133267">"اتصال اینترنتی با بلوتوث تلفن همراه"</string>
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"باز کردن دوربین"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"انتخاب طرح‌بندی جدید کار"</string>
     <string name="cancel" msgid="6442560571259935130">"لغو"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"بخش پیام راهنما"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"تأیید"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"حسگر اثر انگشت را لمس کنید"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"نماد اثر انگشت"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"نماد برنامه"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"بخش پیام راهنما"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"درحال جستجوی شما…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"نماد چهره"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"دکمه بزرگ‌نمایی سازگار."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"بزرگ‌نمایی از صفحه‌های کوچک تا بزرگ."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"بلوتوث متصل است."</string>
@@ -539,14 +541,14 @@
     <string name="ring_toggle_title" msgid="3281244519428819576">"تماس‌ها"</string>
     <string name="volume_ringer_status_normal" msgid="4273142424125855384">"زنگ زدن"</string>
     <string name="volume_ringer_status_vibrate" msgid="1825615171021346557">"لرزش"</string>
-    <string name="volume_ringer_status_silent" msgid="6896394161022916369">"بی‌صدا"</string>
+    <string name="volume_ringer_status_silent" msgid="6896394161022916369">"صامت"</string>
     <string name="qs_status_phone_vibrate" msgid="204362991135761679">"تلفن در حالت لرزش است"</string>
     <string name="qs_status_phone_muted" msgid="5437668875879171548">"تلفن بی‌صدا است"</string>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"‏%1$s. برای باصدا کردن ضربه بزنید."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"‏%1$s. برای تنظیم روی لرزش ضربه بزنید. ممکن است سرویس‌های دسترس‌پذیری بی‌صدا شوند."</string>
-    <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"‏%1$s. برای بی‌صدا کردن ضربه بزنید. ممکن است سرویس‌های دسترس‌پذیری بی‌صدا شوند."</string>
+    <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"‏%1$s. برای صامت کردن ضربه بزنید. ممکن است سرویس‌های دسترس‌پذیری صامت شود."</string>
     <string name="volume_stream_content_description_vibrate_a11y" msgid="6427727603978431301">"‏%1$s. برای تنظیم روی لرزش، ضربه بزنید."</string>
-    <string name="volume_stream_content_description_mute_a11y" msgid="8995013018414535494">"‏%1$s. برای بی‌صدا کردن ضربه بزنید."</string>
+    <string name="volume_stream_content_description_mute_a11y" msgid="8995013018414535494">"‏%1$s. برای صامت کردن ضربه بزنید."</string>
     <string name="volume_ringer_hint_mute" msgid="9199811307292269601">"صامت کردن"</string>
     <string name="volume_ringer_hint_unmute" msgid="6602880133293060368">"باصدا کردن"</string>
     <string name="volume_ringer_hint_vibrate" msgid="4036802135666515202">"لرزش"</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"فضای ذخیره‌سازی"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"نکات"</string>
     <string name="instant_apps" msgid="6647570248119804907">"برنامه‌های فوری"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"برنامه‌های فوری نیاز به نصب ندارند."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> درحال اجرا"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"برنامه بدون نصب شدن باز شد."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"برنامه بدون نصب شدن باز شد. برای اطلاعات بیشتر ضربه بزنید."</string>
     <string name="app_info" msgid="6856026610594615344">"اطلاعات برنامه"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"رفتن به مرورگر"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"رفتن به وب"</string>
     <string name="mobile_data" msgid="7094582042819250762">"داده تلفن همراه"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"‏Wi-Fi خاموش است"</string>
diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml
index 83345b8..6e8cb4c 100644
--- a/packages/SystemUI/res/values-fi/strings.xml
+++ b/packages/SystemUI/res/values-fi/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"avaa kamera"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Valitse uusi tehtävien asettelu"</string>
     <string name="cancel" msgid="6442560571259935130">"Peruuta"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Ohjeviestialue"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Vahvista"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Kosketa sormenjälkitunnistinta"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Sormenjälkikuvake"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Sovelluskuvake"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Ohjeviestialue"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Etsitään kasvoja…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Kasvokuvake"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Yhteensopivuuszoomaus-painike."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoomaa pienemmältä suuremmalle ruudulle."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth yhdistetty."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Tallennustila"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Vihjeet"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Instant Apps"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Pikasovelluksia ei tarvitse asentaa."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> on käynnissä"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Sovellus avattiin ilman asennusta."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Sovellus avattiin ilman asennusta. Katso lisätietoja napauttamalla."</string>
     <string name="app_info" msgid="6856026610594615344">"Sovelluksen tiedot"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Siirry selaimeen"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Avaa verkossa"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobiilitiedonsiirto"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi on pois käytöstä"</string>
diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml
index c9c252f..f6d66b7 100644
--- a/packages/SystemUI/res/values-fr-rCA/strings.xml
+++ b/packages/SystemUI/res/values-fr-rCA/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"Ouvrir l\'appareil photo"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Sélectionner un nouveau format de tâche"</string>
     <string name="cancel" msgid="6442560571259935130">"Annuler"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Zone de message d\'aide"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Confirmer"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Touchez le capteur d\'empreintes digitales"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Icône d\'empreinte digitale"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Icône de l\'application"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Zone de message d\'aide"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Recherche de votre visage…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Icône de visage"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Bouton \"Zoom de compatibilité\""</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom de compatibilité avec la taille de l\'écran"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth connecté"</string>
@@ -825,9 +827,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Stockage"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Conseils"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Applications instantanées"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Les applications instantanées ne nécessitent pas d\'installation."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> en cours d\'exécution"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Application ouverte sans avoir été installée."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Application ouverte sans avoir été installée. Touchez ici pour en savoir plus."</string>
     <string name="app_info" msgid="6856026610594615344">"Détails de l\'application"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Ouvrir le navigateur"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Accéder au Web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Données cellulaires"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> : <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Le Wi-Fi est désactivé"</string>
diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml
index 4559854..326b7c7 100644
--- a/packages/SystemUI/res/values-fr/strings.xml
+++ b/packages/SystemUI/res/values-fr/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"ouvrir l\'appareil photo"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Sélectionner un nouveau plan de tâche"</string>
     <string name="cancel" msgid="6442560571259935130">"Annuler"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Zone de message d\'aide"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Confirmer"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Appuyez sur le lecteur d\'empreinte digitale"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Icône d\'empreinte digitale"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Icône d\'application"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Zone de message d\'aide"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Recherche de votre visage…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Icône représentant un visage"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Bouton \"Zoom de compatibilité\""</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom de compatibilité avec la taille de l\'écran"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth connecté"</string>
@@ -401,9 +403,9 @@
     <string name="interruption_level_none_twoline" msgid="3957581548190765889">"Aucune\ninterruption"</string>
     <string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Priorité\nuniquement"</string>
     <string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Alarmes\nuniquement"</string>
-    <string name="keyguard_indication_charging_time" msgid="2056340799276374421">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • Rechargement… (rechargé à 100 %% dans <xliff:g id="CHARGING_TIME_LEFT">%1$s</xliff:g>)"</string>
-    <string name="keyguard_indication_charging_time_fast" msgid="7767562163577492332">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • Rechargement rapide… (à 100 %% dans <xliff:g id="CHARGING_TIME_LEFT">%1$s</xliff:g>)"</string>
-    <string name="keyguard_indication_charging_time_slowly" msgid="3769655133567307069">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • Rechargement lent… (à 100 %% dans <xliff:g id="CHARGING_TIME_LEFT">%1$s</xliff:g>)"</string>
+    <string name="keyguard_indication_charging_time" msgid="2056340799276374421">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • Recharge... (à 100 %% dans <xliff:g id="CHARGING_TIME_LEFT">%1$s</xliff:g>)"</string>
+    <string name="keyguard_indication_charging_time_fast" msgid="7767562163577492332">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • Recharge rapide… (à 100 %% dans <xliff:g id="CHARGING_TIME_LEFT">%1$s</xliff:g>)"</string>
+    <string name="keyguard_indication_charging_time_slowly" msgid="3769655133567307069">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • Recharge lente… (à 100 %% dans <xliff:g id="CHARGING_TIME_LEFT">%1$s</xliff:g>)"</string>
     <string name="accessibility_multi_user_switch_switcher" msgid="7305948938141024937">"Changer d\'utilisateur"</string>
     <string name="accessibility_multi_user_switch_switcher_with_current" msgid="8434880595284601601">"Changer d\'utilisateur (utilisateur actuel : <xliff:g id="CURRENT_USER_NAME">%s</xliff:g>)"</string>
     <string name="accessibility_multi_user_switch_inactive" msgid="1424081831468083402">"Utilisateur actuel : <xliff:g id="CURRENT_USER_NAME">%s</xliff:g>"</string>
@@ -825,9 +827,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Espace de stockage"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Astuces"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Applis instantanées"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Les applis instantanées ne nécessitent pas d\'installation."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> en cours d\'exécution"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Vous pouvez ouvrir cette application sans l\'installer."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Vous pouvez ouvrir cette application sans l\'installer. Appuyez pour en savoir plus."</string>
     <string name="app_info" msgid="6856026610594615344">"Infos sur l\'appli"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Accéder au navigateur"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Accéder au site Web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Données mobiles"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi désactivé"</string>
diff --git a/packages/SystemUI/res/values-gl/strings.xml b/packages/SystemUI/res/values-gl/strings.xml
index 9cb251e..192c132 100644
--- a/packages/SystemUI/res/values-gl/strings.xml
+++ b/packages/SystemUI/res/values-gl/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"abrir cámara"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Seleccionar novo deseño de tarefas"</string>
     <string name="cancel" msgid="6442560571259935130">"Cancelar"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Área de mensaxes de axuda"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Confirmar"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Toca o sensor de impresión dixital"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Icona de impresión dixital"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Icona de aplicación"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Área de mensaxes de axuda"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Buscándote…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Icona de cara"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Botón de zoom de compatibilidade"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom de compatibilidade co tamaño da pantalla."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth conectado"</string>
@@ -825,9 +827,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Almacenamento"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Consellos"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Aplicacións instantáneas"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"As aplicacións instantáneas non precisan instalación."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"Estase executando <xliff:g id="APP">%1$s</xliff:g>"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Abriuse a aplicación sen ter que instalala."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Abriuse a aplicación sen ter que instalala. Tocar para obter máis información."</string>
     <string name="app_info" msgid="6856026610594615344">"Info. da aplicación"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Ir ao navegador"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Acceder á web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Datos móbiles"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g>-<xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"A wifi está desactivada"</string>
diff --git a/packages/SystemUI/res/values-gu/strings.xml b/packages/SystemUI/res/values-gu/strings.xml
index df06cbe..f392268 100644
--- a/packages/SystemUI/res/values-gu/strings.xml
+++ b/packages/SystemUI/res/values-gu/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"કૅમેરો ખોલો"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"નવું કાર્ય લેઆઉટ પસંદ કરો"</string>
     <string name="cancel" msgid="6442560571259935130">"રદ કરો"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"સહાય સંદેશનું ક્ષેત્ર"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"કન્ફર્મ કરો"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"ફિંગરપ્રિન્ટના સેન્સરને સ્પર્શ કરો"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"ફિંગરપ્રિન્ટનું આઇકન"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"ઍપ્લિકેશનનું આઇકન"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"સહાય સંદેશનું ક્ષેત્ર"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"તમારા માટે શોધી રહ્યાં છે..."</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"ચહેરા આઇકન"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"સુસંગતતા ઝૂમ બટન."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"નાનીથી મોટી સ્ક્રીન પર ઝૂમ કરો."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"બ્લૂટૂથ કનેક્ટ થયું."</string>
@@ -823,9 +825,14 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"સ્ટોરેજ"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"હિન્ટ"</string>
     <string name="instant_apps" msgid="6647570248119804907">"ઝટપટ ઍપ્લિકેશનો"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"ઝટપટ ઍપ્લિકેશનો માટે ઇન્સ્ટૉલેશનની જરૂર નથી."</string>
+    <!-- no translation found for instant_apps_title (8738419517367449783) -->
+    <skip />
+    <!-- no translation found for instant_apps_message (1183313016396018086) -->
+    <skip />
+    <!-- no translation found for instant_apps_message_with_help (6179830437630729747) -->
+    <skip />
     <string name="app_info" msgid="6856026610594615344">"ઍપ્લિકેશન માહિતી"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"બ્રાઉઝર પર જાઓ"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"વેબ પર જાઓ"</string>
     <string name="mobile_data" msgid="7094582042819250762">"મોબાઇલ ડેટા"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"વાઇ-ફાઇ બંધ છે"</string>
diff --git a/packages/SystemUI/res/values-h320dp/config.xml b/packages/SystemUI/res/values-h320dp/config.xml
deleted file mode 100644
index a9c19db..0000000
--- a/packages/SystemUI/res/values-h320dp/config.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- * Copyright (c) 2017, 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.
-*/
--->
-
-<resources>
-    <!-- The number of rows in the QuickSettings -->
-    <integer name="quick_settings_num_rows">2</integer>
-</resources>
diff --git a/packages/SystemUI/res/values-h600dp/config.xml b/packages/SystemUI/res/values-h600dp/config.xml
deleted file mode 100644
index 8616e3e..0000000
--- a/packages/SystemUI/res/values-h600dp/config.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- * Copyright (c) 2017, 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.
-*/
--->
-
-<resources>
-    <!-- The number of rows in the QuickSettings -->
-    <integer name="quick_settings_num_rows">3</integer>
-</resources>
diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml
index 46555a4..8795264 100644
--- a/packages/SystemUI/res/values-hi/strings.xml
+++ b/packages/SystemUI/res/values-hi/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"कैमरा खोलें"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"नया कार्य लेआउट चुनें"</string>
     <string name="cancel" msgid="6442560571259935130">"रद्द करें"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"सहायता का मैसेज दिखाने की जगह"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"पुष्टि करें"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"फ़िंगरप्रिंट सेंसर को छुएं"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"फ़िंगरप्रिंट आइकॉन"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"ऐप्लिकेशन आइकॉन"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"सहायता का मैसेज दिखाने की जगह"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"आपको पहचान रहा है…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"चेहरे का आइकॉन"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"संगतता ज़ूम बटन."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"छोटी से बड़ी स्‍क्रीन पर ज़ूम करें."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"ब्लूटूथ कनेक्ट किया गया."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"जगह"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"संकेत"</string>
     <string name="instant_apps" msgid="6647570248119804907">"इंस्टेंट ऐप"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"झटपट ऐप्स के लिए इंस्टॉलेशन ज़रूरी नहीं है."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> चल रहा है"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"ऐप्लिकेशन इंस्टॉल किए बिना ही खुल गया है."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"ऐप्लिकेशन इंस्टॉल किए बिना ही खुल गया है. ज़्यादा जानने के लिए टैप करें."</string>
     <string name="app_info" msgid="6856026610594615344">"ऐप की जानकारी"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"ब्राउज़र पर जाएं"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"वेब पर जाएं"</string>
     <string name="mobile_data" msgid="7094582042819250762">"मोबाइल डेटा"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"वाई-फ़ाई बंद है"</string>
diff --git a/packages/SystemUI/res/values-hi/strings_car.xml b/packages/SystemUI/res/values-hi/strings_car.xml
index 8820046..3beada5 100644
--- a/packages/SystemUI/res/values-hi/strings_car.xml
+++ b/packages/SystemUI/res/values-hi/strings_car.xml
@@ -20,8 +20,7 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="car_guest" msgid="3738772168718508650">"मेहमान"</string>
-    <!-- no translation found for start_guest_session (7055742120180595689) -->
-    <skip />
+    <string name="start_guest_session" msgid="7055742120180595689">"मेहमान मोड"</string>
     <string name="car_add_user" msgid="5245196248349230898">"उपयोगकर्ता जोड़ें"</string>
     <string name="car_new_user" msgid="8142927244990323906">"नया उपयोगकर्ता"</string>
     <string name="user_add_user_message_setup" msgid="1791011504259527329">"जब आप कोई नया उपयोगकर्ता जोड़ते हैं तो, उस व्यक्ति को अपनी जगह सेट करनी होती है."</string>
diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml
index 7ad2fe2..b6fa4f5 100644
--- a/packages/SystemUI/res/values-hr/strings.xml
+++ b/packages/SystemUI/res/values-hr/strings.xml
@@ -104,10 +104,12 @@
     <string name="camera_label" msgid="7261107956054836961">"otvaranje fotoaparata"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Odaberite novi izgled zadataka"</string>
     <string name="cancel" msgid="6442560571259935130">"Odustani"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Područje poruke za pomoć"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Potvrdi"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Dodirnite senzor otiska prsta"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikona otiska prsta"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Ikona aplikacije"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Područje poruke za pomoć"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Tražimo vas…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Ikona lica"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Gumb za kompatibilnost zumiranja."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zumiranje manjeg zaslona na veći."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth povezan."</string>
@@ -829,9 +831,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Pohrana"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Savjeti"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Instant aplikacije"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Instant aplikacije nije potrebno instalirati."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"Izvodi se aplikacija <xliff:g id="APP">%1$s</xliff:g>"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Aplikacija je otvorena bez instaliranja."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Aplikacija je otvorena bez instaliranja. Dodirnite da biste saznali više."</string>
     <string name="app_info" msgid="6856026610594615344">"Informacije o aplikaciji"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Otvori preglednik"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Prijeđi na web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobilni podaci"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi je isključen"</string>
diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml
index f5fad27..9076379 100644
--- a/packages/SystemUI/res/values-hu/strings.xml
+++ b/packages/SystemUI/res/values-hu/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"kamera megnyitása"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Új feladatelrendezés kiválasztása"</string>
     <string name="cancel" msgid="6442560571259935130">"Mégse"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Súgószöveg területe"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Megerősítés"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Érintse meg az ujjlenyomat-érzékelőt"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ujjlenyomat ikonja"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Alkalmazás ikonja"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Súgószöveg területe"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Keresem az Ön arcát…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Arcikon"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Kompatibilitási zoom gomb."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Kicsinyítsen a nagyobb képernyőhöz."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth csatlakoztatva."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Tárhely"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Tippek"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Azonnali alkalmazások"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Az azonnali alkalmazásokat nem kell telepíteni."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"A(z) <xliff:g id="APP">%1$s</xliff:g> alkalmazás jelenleg fut"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Az alkalmazás telepítés nélkül lett megnyitva."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Az alkalmazás telepítés nélkül lett megnyitva. Ha további információra van szüksége, koppintson ide."</string>
     <string name="app_info" msgid="6856026610594615344">"Alkalmazásinformáció"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Ugrás a böngészőbe"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Tovább az internetre"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobiladatok"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"A Wi-Fi ki van kapcsolva"</string>
diff --git a/packages/SystemUI/res/values-hy/strings.xml b/packages/SystemUI/res/values-hy/strings.xml
index 5eeca4c..54401f5 100644
--- a/packages/SystemUI/res/values-hy/strings.xml
+++ b/packages/SystemUI/res/values-hy/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"բացել ֆոտոխցիկը"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Ընտրել առաջադրանքի նոր դասավորություն"</string>
     <string name="cancel" msgid="6442560571259935130">"Չեղարկել"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Օգնության հաղորդագրության դաշտ"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Հաստատել"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Հպեք մատնահետքերի սկաներին"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Մատնահետքի պատկերակ"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Հավելվածի պատկերակ"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Օգնության հաղորդագրության դաշտ"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Դեմքի ճանաչում…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Դեմքի պատկերակ"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Համատեղելիության խոշորացման կոճակը:"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Դիտափոխել փոքրից ավելի մեծ էկրան:"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth-ը միացված է:"</string>
@@ -582,12 +584,12 @@
     <string name="accessibility_status_bar_hotspot" msgid="4099381329956402865">"Թեժ կետ"</string>
     <string name="accessibility_managed_profile" msgid="6613641363112584120">"Աշխատանքային պրոֆիլ"</string>
     <string name="tuner_warning_title" msgid="7094689930793031682">"Զվարճանք մեկ՝ որոշակի մարդու համար"</string>
-    <string name="tuner_warning" msgid="8730648121973575701">"Համակարգի ՕՄ-ի ընդունիչը հնարավորություն է տալիս հարմարեցնել Android-ի օգտատիրոջ միջերեսը: Այս փորձնական գործառույթները կարող են հետագա թողարկումների մեջ փոփոխվել, խափանվել կամ ընդհանրապես չհայտնվել: Եթե շարունակում եք, զգուշացեք:"</string>
+    <string name="tuner_warning" msgid="8730648121973575701">"Համակարգի ՕՄ-ի կարգավորիչը հնարավորություն է տալիս հարմարեցնել Android-ի օգտատիրոջ միջերեսը: Այս փորձնական գործառույթները կարող են հետագա թողարկումների մեջ փոփոխվել, խափանվել կամ ընդհանրապես չհայտնվել: Եթե շարունակում եք, զգուշացեք:"</string>
     <string name="tuner_persistent_warning" msgid="8597333795565621795">"Այս փորձնական գործառույթները կարող են հետագա թողարկումների մեջ փոփոխվել, խափանվել կամ ընդհանրապես չհայտնվել: Եթե շարունակում եք, զգուշացեք:"</string>
     <string name="got_it" msgid="2239653834387972602">"Եղավ"</string>
-    <string name="tuner_toast" msgid="603429811084428439">"Համակարգի ՕՄ-ի ընդունիչը ավելացվել է կարգավորումներին"</string>
+    <string name="tuner_toast" msgid="603429811084428439">"Համակարգի ՕՄ-ի կարգավորիչը ավելացվել է կարգավորումներին"</string>
     <string name="remove_from_settings" msgid="8389591916603406378">"Հեռացնել կարգավորումներից"</string>
-    <string name="remove_from_settings_prompt" msgid="6069085993355887748">"Հեռացնե՞լ Համակարգի ՕՄ-ի ընդունիչը կարգավորումներից և չօգտվել այլևս նրա գործառույթներից:"</string>
+    <string name="remove_from_settings_prompt" msgid="6069085993355887748">"Հեռացնե՞լ Համակարգի ՕՄ-ի կարգավորիչը կարգավորումներից և չօգտվել այլևս նրա գործառույթներից:"</string>
     <string name="activity_not_found" msgid="348423244327799974">"Հավելվածը տեղադրված չէ սարքի վրա"</string>
     <string name="clock_seconds" msgid="7689554147579179507">"Ցույց տալ ժամացույցի վայրկյանները"</string>
     <string name="clock_seconds_desc" msgid="6282693067130470675">"Ցույց տալ ժամացույցի վայրկյանները կարգավիճակի տողում: Կարող է ազդել մարտկոցի աշխատանքի ժամանակի վրա:"</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Տարածք"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Հուշումներ"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Ակնթարթային հավելվածներ"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Ակնթարթային հավելվածները տեղադրում չեն պահանջում։"</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> հավելվածն աշխատում է"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Հավելվածը բացվել է առանց տեղադրման։"</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Հավելվածը բացվել է առանց տեղադրման։ Հպեք՝ ավելին իմանալու համար։"</string>
     <string name="app_info" msgid="6856026610594615344">"Հավելվածի տվյալներ"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Անցնել դիտարկիչ"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Բացեք համացանցում"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Բջջային ինտերնետ"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi-ն անջատված է"</string>
diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index 5a61a64..2474158 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"buka kamera"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Pilih tata letak tugas baru"</string>
     <string name="cancel" msgid="6442560571259935130">"Batal"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Area pesan bantuan"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Konfirmasi"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Sentuh sensor sidik jari"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikon sidik jari"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Ikon aplikasi"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Area pesan bantuan"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Mencari wajah Anda…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Ikon wajah"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Tombol perbesar/perkecil kompatibilitas."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Perbesar dari layar kecil ke besar."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth tersambung."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Penyimpanan"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Petunjuk"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Aplikasi Instan"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Aplikasi instan tidak perlu diinstal."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> berjalan"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Aplikasi dapat dibuka tanpa perlu diinstal."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Aplikasi dapat dibuka tanpa perlu diinstal. Tap untuk mempelajari lebih lanjut."</string>
     <string name="app_info" msgid="6856026610594615344">"Info aplikasi"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Buka browser"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Buka di web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Data seluler"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi nonaktif"</string>
diff --git a/packages/SystemUI/res/values-is/strings.xml b/packages/SystemUI/res/values-is/strings.xml
index fb83ff07..c2a020b 100644
--- a/packages/SystemUI/res/values-is/strings.xml
+++ b/packages/SystemUI/res/values-is/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"opna myndavél"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Velja nýtt útlit verkefna"</string>
     <string name="cancel" msgid="6442560571259935130">"Hætta við"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Svæði hjálparskilaboða"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Staðfesta"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Snertu fingrafaralesarann"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Fingrafaratákn"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Forritstákn"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Svæði hjálparskilaboða"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Leitar að þér ..."</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Andlitstákn"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Hnappur fyrir samhæfisaðdrátt."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Aðlaga forrit fyrir lítinn skjá að stærri skjá."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth tengt."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Geymslurými"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Vísbendingar"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Skyndiforrit"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Skyndiforrit þurfa ekki uppsetningu."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> er í gangi"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Forrit opnað án þess að vera uppsett."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Forrit opnað án þess að vera uppsett. Ýttu til að fá frekari upplýsingar."</string>
     <string name="app_info" msgid="6856026610594615344">"Forritsupplýsingar"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Opna vafra"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Fara á vefinn"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Farsímagögn"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Slökkt á Wi-Fi"</string>
diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml
index c081eaa..aefaa6d 100644
--- a/packages/SystemUI/res/values-it/strings.xml
+++ b/packages/SystemUI/res/values-it/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"apri fotocamera"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Seleziona un nuovo layout per le attività"</string>
     <string name="cancel" msgid="6442560571259935130">"Annulla"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Area dei messaggi di assistenza"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Confermo"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Tocca il sensore di impronte digitali"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Icona dell\'impronta digitale"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Icona dell\'applicazione"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Area dei messaggi di assistenza"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"In attesa del volto…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Icona volto"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Pulsante zoom compatibilità."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom inferiore per schermo più grande."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth collegato."</string>
@@ -825,9 +827,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Spazio di archiviazione"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Suggerimenti"</string>
     <string name="instant_apps" msgid="6647570248119804907">"App istantanee"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Le app istantanee non richiedono l\'installazione."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"App <xliff:g id="APP">%1$s</xliff:g> in esecuzione"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"App aperta senza essere stata installata."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"App aperta senza essere stata installata. Tocca per avere ulteriori informazioni."</string>
     <string name="app_info" msgid="6856026610594615344">"Informazioni app"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Vai al browser"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Vai sul Web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Dati mobili"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> - <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi disattivato"</string>
diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml
index d3d18ae..b83f5df 100644
--- a/packages/SystemUI/res/values-iw/strings.xml
+++ b/packages/SystemUI/res/values-iw/strings.xml
@@ -105,10 +105,12 @@
     <string name="camera_label" msgid="7261107956054836961">"פתח את המצלמה"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"בחר פריסה חדשה להצגת משימות"</string>
     <string name="cancel" msgid="6442560571259935130">"ביטול"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"אזור הודעת עזרה"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"אישור"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"יש לגעת בחיישן טביעות האצבע"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"סמל טביעת אצבע"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"סמל אפליקציה"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"אזור הודעת עזרה"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"מחפש אותך…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"סמל הפנים"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"לחצן מרחק מתצוגה של תאימות."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"שנה מרחק מתצוגה של מסך קטן לגדול יותר."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"‏Bluetooth מחובר."</string>
@@ -194,7 +196,7 @@
     <string name="accessibility_recents_item_open_app_info" msgid="5107479759905883540">"פתח מידע על האפליקציה <xliff:g id="APP">%s</xliff:g>."</string>
     <string name="accessibility_recents_item_launched" msgid="7616039892382525203">"מפעיל את <xliff:g id="APP">%s</xliff:g>."</string>
     <string name="accessibility_notification_dismissed" msgid="854211387186306927">"הודעה נדחתה."</string>
-    <string name="accessibility_desc_notification_shade" msgid="4690274844447504208">"לוח הודעות."</string>
+    <string name="accessibility_desc_notification_shade" msgid="4690274844447504208">"לוח התראות."</string>
     <string name="accessibility_desc_quick_settings" msgid="6186378411582437046">"הגדרות מהירות."</string>
     <string name="accessibility_desc_lock_screen" msgid="5625143713611759164">"מסך נעילה."</string>
     <string name="accessibility_desc_settings" msgid="3417884241751434521">"הגדרות"</string>
@@ -266,7 +268,7 @@
       <item quantity="other">יש בפנים עוד <xliff:g id="NUMBER_1">%s</xliff:g> הודעות.</item>
       <item quantity="one">יש בפנים עוד הודעה <xliff:g id="NUMBER_0">%s</xliff:g>.</item>
     </plurals>
-    <string name="status_bar_notification_inspect_item_title" msgid="5668348142410115323">"הגדרות עבור הודעות"</string>
+    <string name="status_bar_notification_inspect_item_title" msgid="5668348142410115323">"הגדרת התראות"</string>
     <string name="status_bar_notification_app_settings_title" msgid="5525260160341558869">"הגדרות <xliff:g id="APP_NAME">%s</xliff:g>"</string>
     <string name="accessibility_rotation_lock_off" msgid="4062780228931590069">"המסך יסתובב באופן אוטומטי."</string>
     <string name="accessibility_rotation_lock_on_landscape" msgid="6731197337665366273">"המסך נעול כעת לרוחב."</string>
@@ -835,9 +837,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"אחסון"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"טיפים"</string>
     <string name="instant_apps" msgid="6647570248119804907">"אפליקציות אינסטנט"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"אפליקציות אינסטנט לא דורשות התקנה."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> פועלת"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"האפליקציה נפתחת בלי התקנה."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"האפליקציה נפתחת בלי התקנה. אפשר להקיש כדי לקבל מידע נוסף."</string>
     <string name="app_info" msgid="6856026610594615344">"פרטי אפליקציה"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"מעבר אל הדפדפן"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"התחבר לאינטרנט"</string>
     <string name="mobile_data" msgid="7094582042819250762">"נתונים סלולריים"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> ‏— <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"‏Wi-Fi כבוי"</string>
diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml
index 8377f07..e5b0a2b 100644
--- a/packages/SystemUI/res/values-ja/strings.xml
+++ b/packages/SystemUI/res/values-ja/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"カメラを起動"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"新しいタスクレイアウトの選択"</string>
     <string name="cancel" msgid="6442560571259935130">"キャンセル"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"ヘルプ メッセージ領域"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"確認"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"指紋認証センサーをタップしてください"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"指紋アイコン"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"アプリのアイコン"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"ヘルプ メッセージ領域"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"顔を認証しています…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"顔アイコン"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"互換ズームボタン。"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"小さい画面から大きい画面に拡大。"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetoothに接続済み。"</string>
@@ -346,7 +348,7 @@
     <string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"上限: <xliff:g id="DATA_LIMIT">%s</xliff:g>"</string>
     <string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"警告: 上限は<xliff:g id="DATA_LIMIT">%s</xliff:g>です"</string>
     <string name="quick_settings_work_mode_label" msgid="7608026833638817218">"仕事用プロファイル"</string>
-    <string name="quick_settings_night_display_label" msgid="3577098011487644395">"読書灯"</string>
+    <string name="quick_settings_night_display_label" msgid="3577098011487644395">"夜間モード"</string>
     <string name="quick_settings_night_secondary_label_on_at_sunset" msgid="8483259341596943314">"日の入りに ON"</string>
     <string name="quick_settings_night_secondary_label_until_sunrise" msgid="4453017157391574402">"日の出まで"</string>
     <string name="quick_settings_night_secondary_label_on_at" msgid="6256314040368487637">"<xliff:g id="TIME">%s</xliff:g> に ON"</string>
@@ -825,9 +827,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"ストレージ"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"ヒント"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Instant Apps"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Instant Apps はインストールせずに利用できます。"</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> を実行中"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"アプリをインストールせずに開きました。"</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"アプリをインストールせずに開きました。詳細を見るにはタップしてください。"</string>
     <string name="app_info" msgid="6856026610594615344">"アプリ情報"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"ブラウザに移動"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"ウェブページを開く"</string>
     <string name="mobile_data" msgid="7094582042819250762">"モバイルデータ"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi は OFF です"</string>
diff --git a/packages/SystemUI/res/values-ka/strings.xml b/packages/SystemUI/res/values-ka/strings.xml
index fb880c7..19e9f47 100644
--- a/packages/SystemUI/res/values-ka/strings.xml
+++ b/packages/SystemUI/res/values-ka/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"კამერის გახსნა"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"ახალი ამოცანის განლაგების არჩევა"</string>
     <string name="cancel" msgid="6442560571259935130">"გაუქმება"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"დამხმარე შეტყობინების არე"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"დადასტურება"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"შეეხეთ თითის ანაბეჭდის სენსორს"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"თითის ანაბეჭდის ხატულა"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"აპლიკაციის ხატულა"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"დახმარების შეტყობინების არეალი"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"მიმდინარეობს თქვენი ძიება…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"სახის ხატულა"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"თავსებადი მასშტაბირების ღილაკი."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"შეცვალეთ პატარა ეკრანი უფრო დიდით."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth დაკავშირებულია."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"მეხსიერება"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"მინიშნებები"</string>
     <string name="instant_apps" msgid="6647570248119804907">"მყისიერი აპები"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"მყისიერი აპები ინსტალაციას არ საჭიროებს."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> გაშვებულია"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"აპი გაიხსნა ინსტალაციის გარეშე."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"აპი გაიხსნა ინსტალაციის გარეშე. შეეხეთ მეტის გასაგებად."</string>
     <string name="app_info" msgid="6856026610594615344">"აპის შესახებ"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"ბრაუზერზე გადასვლა"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"ვებზე გადასვლა"</string>
     <string name="mobile_data" msgid="7094582042819250762">"მობილური ინტერნეტი"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi გამორთულია"</string>
diff --git a/packages/SystemUI/res/values-kk/strings.xml b/packages/SystemUI/res/values-kk/strings.xml
index 6e372d7..15f8cd5 100644
--- a/packages/SystemUI/res/values-kk/strings.xml
+++ b/packages/SystemUI/res/values-kk/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"камераны ашу"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Жаңа тапсырма пішімін таңдау"</string>
     <string name="cancel" msgid="6442560571259935130">"Бас тарту"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Анықтама хабары аумағы"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Растау"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Саусақ ізін оқу сканерін түртіңіз"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Саусақ ізі белгішесі"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Қолданба белгішесі"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Анықтама хабары аумағы"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Бет ізделуде…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Бет белгішесі"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Үйлесімділік ұлғайту түймесі."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Үлкендеу экранда кішірейту."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth қосылған."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Жад"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Кеңестер"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Instant Apps"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Лездік қолданбаларды орнатудың қажеті жоқ."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> іске қосулы"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Қолданба орнатылмай-ақ ашылды."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Қолданба орнатылмай-ақ ашылды. Толығырақ мәлімет алу үшін түртіңіз."</string>
     <string name="app_info" msgid="6856026610594615344">"Қолданба ақпараты"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Браузерге өту"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Вебке өту"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Мобильдік деректер"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi өшірулі"</string>
diff --git a/packages/SystemUI/res/values-km/strings.xml b/packages/SystemUI/res/values-km/strings.xml
index eb9ed61..af8d4ce 100644
--- a/packages/SystemUI/res/values-km/strings.xml
+++ b/packages/SystemUI/res/values-km/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"បើក​ម៉ាស៊ីន​ថត"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"ជ្រើសប្លង់ភារកិច្ចថ្មី"</string>
     <string name="cancel" msgid="6442560571259935130">"បោះ​បង់​"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"តំបន់សារ​ជំនួយ"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"បញ្ជាក់"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"ប៉ះ​ឧបករណ៍​ចាប់ស្នាម​ម្រាមដៃ"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"រូបតំណាង​ស្នាម​ម្រាមដៃ"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"រូបតំណាង​កម្មវិធី"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"តំបន់សារ​ជំនួយ"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"កំពុងស្វែងរកអ្នក…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"រូប​ផ្ទៃមុខ"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"ប៊ូតុង​ពង្រីក​ត្រូវ​គ្នា។"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"ពង្រីក/បង្រួម​​អេក្រង់​ពី​​ទៅធំ"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"បាន​តភ្ជាប់​ប៊្លូធូស។"</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"ទំហំផ្ទុក"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"ការ​សម្រួល"</string>
     <string name="instant_apps" msgid="6647570248119804907">"កម្មវិធី​ប្រើ​ភ្លាមៗ"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"កម្មវិធី​ប្រើ​ភ្លាមៗ​មិន​តម្រូវ​ឲ្យ​មានការ​ដំឡើង​ទេ។"</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> កំពុង​ដំណើរការ"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"កម្មវិធីត្រូវ​បាន​បើក​ដោយ​មិនចាំបាច់ដំឡើង។"</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"កម្មវិធីត្រូវ​បាន​បើក​ដោយ​មិនចាំបាច់ដំឡើង។ ចុច​ដើម្បី​ស្វែងយល់បន្ថែម។"</string>
     <string name="app_info" msgid="6856026610594615344">"ព័ត៌មាន​កម្មវិធី"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"ចូល​ទៅ​កម្មវិធី​រុករក​តាម​អ៊ីនធឺណិត"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"ចូលទៅកាន់បណ្តាញ"</string>
     <string name="mobile_data" msgid="7094582042819250762">"ទិន្នន័យ​ទូរសព្ទចល័ត"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi បាន​បិទ"</string>
diff --git a/packages/SystemUI/res/values-kn/strings.xml b/packages/SystemUI/res/values-kn/strings.xml
index c63dbe9..ac36e73 100644
--- a/packages/SystemUI/res/values-kn/strings.xml
+++ b/packages/SystemUI/res/values-kn/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"ಕ್ಯಾಮರಾ ತೆರೆಯಿರಿ"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"ಹೊಸ ಕಾರ್ಯ ವಿನ್ಯಾಸವನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
     <string name="cancel" msgid="6442560571259935130">"ರದ್ದುಮಾಡಿ"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"ಸಹಾಯ ಸಂದೇಶ ಪ್ರದೇಶ"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"ದೃಢೀಕರಿಸಿ"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಸೆನ್ಸರ್‌‌ ಅನ್ನು ಸ್ಪರ್ಶಿಸಿ"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಐಕಾನ್"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"ಅಪ್ಲಿಕೇಶನ್‌ ಐಕಾನ್‌"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"ಸಹಾಯ ಸಂದೇಶ ಪ್ರದೇಶ"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"ನಿಮಗಾಗಿ ಹುಡುಕಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"ಮುಖದ ಐಕಾನ್‌"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"ಹೊಂದಾಣಿಕೆಯ ಝೂಮ್ ಬಟನ್."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"ಚಿಕ್ಕ ಪರದೆಯಿಂದ ದೊಡ್ಡ ಪರದೆಗೆ ಝೂಮ್ ಮಾಡು."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"ಬ್ಲೂಟೂತ್‌‌ ಸಂಪರ್ಕಗೊಂಡಿದೆ."</string>
@@ -823,9 +825,14 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"ಸಂಗ್ರಹಣೆ"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"ಸುಳಿವುಗಳು"</string>
     <string name="instant_apps" msgid="6647570248119804907">"ತತ್‌ಕ್ಷಣ ಆಪ್‌ಗಳು"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"ತತ್‌ಕ್ಷಣ ಆಪ್‌ಗಳಿಗೆ ಸ್ಥಾಪನೆಯ ಅಗತ್ಯವಿಲ್ಲ."</string>
+    <!-- no translation found for instant_apps_title (8738419517367449783) -->
+    <skip />
+    <!-- no translation found for instant_apps_message (1183313016396018086) -->
+    <skip />
+    <!-- no translation found for instant_apps_message_with_help (6179830437630729747) -->
+    <skip />
     <string name="app_info" msgid="6856026610594615344">"ಅಪ್ಲಿಕೇಶನ್ ಮಾಹಿತಿ"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"ಬ್ರೌಸರ್‌ಗೆ ಹೋಗಿ"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"ವೆಬ್‌ಗೆ ಹೋಗಿ"</string>
     <string name="mobile_data" msgid="7094582042819250762">"ಮೊಬೈಲ್ ಡೇಟಾ"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"ವೈ-ಫೈ ಆಫ್ ಆಗಿದೆ"</string>
diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml
index 77c983e..1e2ab42 100644
--- a/packages/SystemUI/res/values-ko/strings.xml
+++ b/packages/SystemUI/res/values-ko/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"카메라 열기"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"새 작업 레이아웃 선택"</string>
     <string name="cancel" msgid="6442560571259935130">"취소"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"도움말 메시지 영역"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"확인"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"지문 센서를 터치하세요."</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"지문 아이콘"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"애플리케이션 아이콘"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"도움말 메시지 영역"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"찾는 중..."</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"얼굴 아이콘"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"호환성 확대/축소 버튼입니다."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"작은 화면을 큰 화면으로 확대합니다."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"블루투스가 연결되었습니다."</string>
@@ -410,13 +412,13 @@
     <string name="accessibility_multi_user_switch_quick_contact" msgid="3020367729287990475">"프로필 표시"</string>
     <string name="user_add_user" msgid="5110251524486079492">"사용자 추가"</string>
     <string name="user_new_user_name" msgid="426540612051178753">"새 사용자"</string>
-    <string name="guest_nickname" msgid="8059989128963789678">"손님"</string>
+    <string name="guest_nickname" msgid="8059989128963789678">"게스트"</string>
     <string name="guest_new_guest" msgid="600537543078847803">"게스트 추가"</string>
-    <string name="guest_exit_guest" msgid="7187359342030096885">"손님 삭제"</string>
-    <string name="guest_exit_guest_dialog_title" msgid="8480693520521766688">"손님을 삭제하시겠습니까?"</string>
+    <string name="guest_exit_guest" msgid="7187359342030096885">"게스트 삭제"</string>
+    <string name="guest_exit_guest_dialog_title" msgid="8480693520521766688">"게스트를 삭제하시겠습니까?"</string>
     <string name="guest_exit_guest_dialog_message" msgid="4155503224769676625">"이 세션에 있는 모든 앱과 데이터가 삭제됩니다."</string>
     <string name="guest_exit_guest_dialog_remove" msgid="7402231963862520531">"삭제"</string>
-    <string name="guest_wipe_session_title" msgid="6419439912885956132">"손님 세션 다시 시작"</string>
+    <string name="guest_wipe_session_title" msgid="6419439912885956132">"게스트 세션 다시 시작"</string>
     <string name="guest_wipe_session_message" msgid="8476238178270112811">"세션을 계속 진행하시겠습니까?"</string>
     <string name="guest_wipe_session_wipe" msgid="5065558566939858884">"다시 시작"</string>
     <string name="guest_wipe_session_dontwipe" msgid="1401113462524894716">"예, 계속합니다."</string>
@@ -825,9 +827,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"저장공간"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"힌트"</string>
     <string name="instant_apps" msgid="6647570248119804907">"인스턴트 앱"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"인스턴트 앱은 설치가 필요하지 않습니다."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> 실행 중"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"설치 없이 앱이 실행되었습니다."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"설치 없이 앱이 실행되었습니다. 탭하여 자세히 알아보세요."</string>
     <string name="app_info" msgid="6856026610594615344">"앱 정보"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"브라우저로 이동"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"웹으로 이동"</string>
     <string name="mobile_data" msgid="7094582042819250762">"모바일 데이터"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi가 사용 중지됨"</string>
diff --git a/packages/SystemUI/res/values-ky/strings.xml b/packages/SystemUI/res/values-ky/strings.xml
index e334da4..585e290 100644
--- a/packages/SystemUI/res/values-ky/strings.xml
+++ b/packages/SystemUI/res/values-ky/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"камераны ачуу"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Жаңы тапшырманын планын тандаңыз"</string>
     <string name="cancel" msgid="6442560571259935130">"Жокко чыгаруу"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Жардам билдирүүсү"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Ырастоо"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Манжа изинин сенсорун басыңыз"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Манжа изинин сүрөтчөсү"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Колдонмонун сүрөтчөсү"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Жардам билдирүүсү"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Жүзүңүз изделүүдө…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Жүздүн сүрөтчөсү"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Масштабды сыйыштыруу баскычы."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Кичинекейди чоң экранга масштабдоо."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth байланышта"</string>
@@ -209,7 +211,7 @@
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Учак режими өчүрүлдү."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Учак режими күйгүзүлдү."</string>
     <string name="accessibility_quick_settings_dnd_none_on" msgid="2960643943620637020">"тымтырс"</string>
-    <string name="accessibility_quick_settings_dnd_alarms_on" msgid="3357131899365865386">"ойготкучтар гана"</string>
+    <string name="accessibility_quick_settings_dnd_alarms_on" msgid="3357131899365865386">"ойготкуч гана"</string>
     <string name="accessibility_quick_settings_dnd" msgid="6607873236717185815">"Тынчымды алба."</string>
     <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Тынчымды алба деген өчүрүлдү."</string>
     <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Тынчымды алба деген күйгүзүлдү."</string>
@@ -276,7 +278,7 @@
     <string name="quick_settings_header_onboarding_text" msgid="8030309023792936283">"Кошумча параметрлерди ачуу үчүн сүрөтчөлөрдү басып, кармап туруңуз"</string>
     <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Тынчымды алба"</string>
     <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Шашылыш эскертмелер гана"</string>
-    <string name="quick_settings_dnd_alarms_label" msgid="2559229444312445858">"Ойготкучтар гана"</string>
+    <string name="quick_settings_dnd_alarms_label" msgid="2559229444312445858">"Ойготкуч гана"</string>
     <string name="quick_settings_dnd_none_label" msgid="5025477807123029478">"Тымтырс"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"Bluetooth"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"Bluetooth (<xliff:g id="NUMBER">%d</xliff:g> түзмөк)"</string>
@@ -395,7 +397,7 @@
     <string name="interruption_level_none_with_warning" msgid="5114872171614161084">"Толук жымжырттык талап кылынат. Бул экрандагыны окугучтарды да тынчтандырат."</string>
     <string name="interruption_level_none" msgid="6000083681244492992">"Тымтырс"</string>
     <string name="interruption_level_priority" msgid="6426766465363855505">"Шашылыш эскертмелер гана"</string>
-    <string name="interruption_level_alarms" msgid="5226306993448328896">"Ойготкучтар гана"</string>
+    <string name="interruption_level_alarms" msgid="5226306993448328896">"Ойготкуч гана"</string>
     <string name="interruption_level_none_twoline" msgid="3957581548190765889">"Тым-\nтырс"</string>
     <string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Артыкчылыктуу\nгана"</string>
     <string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Ойготкучтар\nгана"</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Сактагыч"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Кеңештер"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Ыкчам ачылуучу колдонмолор"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Ыкчам ачылуучу колдонмолорду орнотуу талап кылынбайт."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> иштеп жатат"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Колдонмо орнотулбастан ачылды."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Колдонмо орнотулбастан ачылды. Толугураак маалымат алуу үчүн таптап коюңуз."</string>
     <string name="app_info" msgid="6856026610594615344">"Колдонмо тууралуу"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Серепчиге өтүү"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Интернетке өтүү"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Мобилдик Интернет"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi өчүк"</string>
diff --git a/packages/SystemUI/res/values-lo/strings.xml b/packages/SystemUI/res/values-lo/strings.xml
index 56f9e1d..0952df4 100644
--- a/packages/SystemUI/res/values-lo/strings.xml
+++ b/packages/SystemUI/res/values-lo/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"ເປີດ​ກ້ອງ"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"ເລືອກ​ແຜນ​ຜັງ​ໜ້າ​ວຽກ​ໃໝ່"</string>
     <string name="cancel" msgid="6442560571259935130">"ຍົກເລີກ"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"ຊ່ວຍພື້ນທີ່ຂໍ້ຄວາມ"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"ຢືນຢັນ"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Touch the fingerprint sensor"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"ໄອຄອນລາຍນິ້ວມື"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"ໄອຄອນແອັບພລິເຄຊັນ"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"ຊ່ວຍພື້ນທີ່ຂໍ້ຄວາມ"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"ກຳລັງຊອກຫາທ່ານ…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"ໄອຄອນໃບໜ້າ"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"ປຸ່ມຊູມທີ່ໃຊ້ຮ່ວມກັນໄດ້."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"ຊູມຈໍນ້ອຍໄປເປັນຈໍຂະຫນາດໃຫຍ່."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"ເຊື່ອມຕໍ່ Bluetooth ແລ້ວ."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"ບ່ອນເກັບຂໍ້ມູນ"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"ຄຳໃບ້"</string>
     <string name="instant_apps" msgid="6647570248119804907">"ອິນສະແຕນແອັບ"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"ອິນສະແຕນແອັບບໍ່ຈຳເປັນຕ້ອງມີການຕິດຕັ້ງ."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> ກຳລັງເຮັດວຽກຢູ່"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"ເປີດແອັບໂດຍບໍ່ມີການຕິດຕັ້ງແລ້ວ."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"ເປີດແອັບໂດຍບໍ່ມີການຕິດຕັ້ງແລ້ວ. ແຕະເພື່ອສຶກສາເພີ່ມເຕີມ."</string>
     <string name="app_info" msgid="6856026610594615344">"ຂໍ້ມູນແອັບ"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"ໄປທີ່ໂປຣແກຣມທ່ອງເວັບ"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"ໄປທີ່ເວັບ"</string>
     <string name="mobile_data" msgid="7094582042819250762">"ອິນເຕີເນັດມືຖື"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi ປິດຢູ່"</string>
diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml
index b8ae38b..ac6cfc7 100644
--- a/packages/SystemUI/res/values-lt/strings.xml
+++ b/packages/SystemUI/res/values-lt/strings.xml
@@ -105,10 +105,12 @@
     <string name="camera_label" msgid="7261107956054836961">"atidaryti fotoaparatą"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Pasirinkti naują užduoties išdėstymą"</string>
     <string name="cancel" msgid="6442560571259935130">"Atšaukti"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Pagalbos pranešimo sritis"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Patvirtinkite"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Palieskite kontrolinio kodo jutiklį"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Kontrolinio kodo piktograma"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Programos piktograma"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Pagalbos pranešimo sritis"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Ieškoma jūsų…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Veido piktograma"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Suderinamumo priartinimo mygtukas."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Padidinti ekraną."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"„Bluetooth“ prijungtas."</string>
@@ -835,9 +837,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Saugykla"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Užuominos"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Akimirksniu įkeliamos programos"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Akimirksniu įkeliamų programų nereikia įdiegti."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"Programa „<xliff:g id="APP">%1$s</xliff:g>“ paleista"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Programa atidaryta jos neįdiegus."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Programa atidaryta jos neįdiegus. Palieskite, kad sužinotumėte daugiau."</string>
     <string name="app_info" msgid="6856026610594615344">"Programos informacija"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Eiti į naršyklę"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Eiti į žiniatinklį"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobilieji duomenys"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g>–<xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"„Wi-Fi“ išjungtas"</string>
diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml
index 4a0ee10..01e2e39 100644
--- a/packages/SystemUI/res/values-lv/strings.xml
+++ b/packages/SystemUI/res/values-lv/strings.xml
@@ -104,10 +104,12 @@
     <string name="camera_label" msgid="7261107956054836961">"atvērt kameru"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Atlasiet jaunu uzdevumu izkārtojumu"</string>
     <string name="cancel" msgid="6442560571259935130">"Atcelt"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Palīdzības ziņojuma apgabals"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Apstiprināt"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Pieskarieties pirksta nospieduma sensoram"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Pirksta nospieduma ikona"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Lietojumprogrammas ikona"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Palīdzības ziņojuma apgabals"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Notiek jūsu sejas meklēšana…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Sejas ikona"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Saderības tālummaiņas poga."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Veikt tālummaiņu no mazāka ekrāna uz lielāku."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth savienojums ir izveidots."</string>
@@ -829,9 +831,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Krātuve"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Padomi"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Tūlītējās lietotnes"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Tūlītējām lietotnēm nav nepieciešama instalēšana."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"Lietotne <xliff:g id="APP">%1$s</xliff:g> darbojas"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Lai atvērtu šo lietotni, tā nav jāinstalē."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Lai atvērtu šo lietotni, tā nav jāinstalē. Pieskarieties, lai uzzinātu vairāk."</string>
     <string name="app_info" msgid="6856026610594615344">"Lietotnes informācija"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Atvērt pārlūku"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Pāriet uz tīmekli"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobilie dati"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi ir izslēgts"</string>
diff --git a/packages/SystemUI/res/values-mk/strings.xml b/packages/SystemUI/res/values-mk/strings.xml
index bf9cc35..8b4b458 100644
--- a/packages/SystemUI/res/values-mk/strings.xml
+++ b/packages/SystemUI/res/values-mk/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"отвори камера"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Изберете нов распоред на задача"</string>
     <string name="cancel" msgid="6442560571259935130">"Откажи"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Област за пораки за помош"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Потврди"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Допрете го сензорот за отпечатоци"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Икона за отпечатоци"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Икона за апликацијата"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Поле за пораки за помош"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Ве бараме вас…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Икона за лице"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Копче за компатибилност на зум."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Зумот е помал на поголем екран."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth е поврзан."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Капацитет"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Совети"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Инстант апликации"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Инстант апликациите нема потреба да се инсталираат."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"Се извршува <xliff:g id="APP">%1$s</xliff:g>"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Апликацијата беше отворена без да се инсталира."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Апликацијата беше отворена без да се инсталира. Допрете за да дознаете повеќе."</string>
     <string name="app_info" msgid="6856026610594615344">"Информации за апликација"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Одете на прелистувач"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Одете на интернет"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Мобилен интернет"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> - <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi е исклучено"</string>
diff --git a/packages/SystemUI/res/values-ml/strings.xml b/packages/SystemUI/res/values-ml/strings.xml
index fefd073..fc32b88 100644
--- a/packages/SystemUI/res/values-ml/strings.xml
+++ b/packages/SystemUI/res/values-ml/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"ക്യാമറ തുറക്കുക"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"പുതിയ ടാസ്‌ക് ലേഔട്ട് തിരഞ്ഞെടുക്കുക"</string>
     <string name="cancel" msgid="6442560571259935130">"റദ്ദാക്കുക"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"സഹായ സന്ദേശ ഏരിയ"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"സ്ഥിരീകരിക്കുക"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"വിരലടയാള സെൻസർ സ്‌പർശിക്കുക"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"വിരലടയാള ഐക്കൺ"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"ആപ്പ് ഐക്കൺ"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"സഹായ സന്ദേശ ഏരിയ"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"നിങ്ങൾക്കായി തിരയുന്നു…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"മുഖത്തിന്റെ ഐക്കൺ"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"അനുയോജ്യതാ സൂം ബട്ടൺ."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"ചെറുതിൽ നിന്ന് വലിയ സ്‌ക്രീനിലേക്ക് സൂം ചെയ്യുക."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"ബ്ലൂടൂത്ത് കണക്‌റ്റുചെയ്തു."</string>
@@ -823,9 +825,14 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"സ്റ്റോറേജ്"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"സൂചനകൾ"</string>
     <string name="instant_apps" msgid="6647570248119804907">"ഇൻസ്റ്റന്റ് ആപ്പ്"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"ഇൻസ്‌റ്റ‌ന്റ് ആപ്പിന് ഇൻസ്‌റ്റലേഷൻ ആവശ്യമില്ല."</string>
+    <!-- no translation found for instant_apps_title (8738419517367449783) -->
+    <skip />
+    <!-- no translation found for instant_apps_message (1183313016396018086) -->
+    <skip />
+    <!-- no translation found for instant_apps_message_with_help (6179830437630729747) -->
+    <skip />
     <string name="app_info" msgid="6856026610594615344">"ആപ്പ് വിവരം"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"ബ്രൗസറിലേക്ക് പോവുക"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"വെബിൽ പോവുക"</string>
     <string name="mobile_data" msgid="7094582042819250762">"മൊബൈൽ ഡാറ്റ"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"വൈഫൈ ഓഫാണ്"</string>
diff --git a/packages/SystemUI/res/values-mn/strings.xml b/packages/SystemUI/res/values-mn/strings.xml
index e86dc64..331e9b7 100644
--- a/packages/SystemUI/res/values-mn/strings.xml
+++ b/packages/SystemUI/res/values-mn/strings.xml
@@ -101,10 +101,12 @@
     <string name="camera_label" msgid="7261107956054836961">"камер нээх"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Шинэ ажиллах талбарыг сонгоно уу"</string>
     <string name="cancel" msgid="6442560571259935130">"Цуцлах"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Тусламжийн зурвасын хэсэг"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Баталгаажуулах"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Хурууны хээ мэдрэгчид хүрэх"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Хурууны хээний дүрс тэмдэг"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Аппын дүрс тэмдэг"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Туслах зурвасын хэсэг"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Таныг хайж байна…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Царайны дүрс тэмдэг"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Тохиромжтой өсгөх товч."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Жижгээс том дэлгэцрүү өсгөх."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth холбогдсон."</string>
@@ -821,9 +823,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Хадгалах сан"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Заавар"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Шуурхай апп"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Шуурхай аппыг суулгах шаардлагагүй."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g>-г ажиллуулж байна"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Аппыг суулгахгүйгээр нээсэн."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Аппыг суулгахгүйгээр нээсэн. Нэмэлт мэдээлэл авахын тулд товшино уу."</string>
     <string name="app_info" msgid="6856026610594615344">"Апп-н мэдээлэл"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Хөтчид очих"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Вэбэд очих"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Мобайл дата"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi унтраалттай байна"</string>
diff --git a/packages/SystemUI/res/values-mr/strings.xml b/packages/SystemUI/res/values-mr/strings.xml
index a9f9af4..33761ca 100644
--- a/packages/SystemUI/res/values-mr/strings.xml
+++ b/packages/SystemUI/res/values-mr/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"कॅमेरा उघडा"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"नवीन कार्य लेआउट निवडा"</string>
     <string name="cancel" msgid="6442560571259935130">"रद्द करा"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"मदत मेसेज परिसर"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"खात्री करा"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"फिंगरप्रिंट सेन्सरला स्पर्श करा"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"फिंगरप्रिंट आयकन"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"अॅप्लिकेशन आयकन"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"मदत मेसेज क्षेत्र"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"तुमच्यासाठी शोधत आहे…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"चेहरा आयकन"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"सुसंगतता झूम बटण."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"लहानपासून मोठ्‍या स्‍क्रीनवर झूम करा."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"ब्लूटूथ कनेक्‍ट केले."</string>
@@ -823,9 +825,14 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"स्टोरेज"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"सूचना"</string>
     <string name="instant_apps" msgid="6647570248119804907">"इन्सटंट अ‍ॅप्स"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"इन्सटंट अॅप्सना स्थापनेची आवश्यकता नसते."</string>
+    <!-- no translation found for instant_apps_title (8738419517367449783) -->
+    <skip />
+    <!-- no translation found for instant_apps_message (1183313016396018086) -->
+    <skip />
+    <!-- no translation found for instant_apps_message_with_help (6179830437630729747) -->
+    <skip />
     <string name="app_info" msgid="6856026610594615344">"अॅप माहिती"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"ब्राउझरवर जा"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"वेबवर जा"</string>
     <string name="mobile_data" msgid="7094582042819250762">"मोबाइल डेटा"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"वाय-फाय बंद आहे"</string>
diff --git a/packages/SystemUI/res/values-ms/strings.xml b/packages/SystemUI/res/values-ms/strings.xml
index 6ec7889..d6a71ef 100644
--- a/packages/SystemUI/res/values-ms/strings.xml
+++ b/packages/SystemUI/res/values-ms/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"buka kamera"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Pilih reka letak tugas baharu"</string>
     <string name="cancel" msgid="6442560571259935130">"Batal"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Bahagian mesej bantuan"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Sahkan"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Sentuh penderia cap jari"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikon cap jari"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Ikon aplikasi"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Bahagian mesej bantuan"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Mencari anda…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Ikon wajah"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Butang zum keserasian."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Skrin zum lebih kecil kepada lebih besar."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth disambungkan."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Storan"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Pembayang"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Apl Segera"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Apl segera tidak memerlukan pemasangan."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> sedang berjalan"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Apl dibuka tanpa dipasang."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Apl dibuka tanpa dipasang. Ketik untuk mengetahui lebih lanjut."</string>
     <string name="app_info" msgid="6856026610594615344">"Maklumat apl"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Pergi ke penyemak imbas"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Pergi ke web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Data mudah alih"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi dimatikan"</string>
diff --git a/packages/SystemUI/res/values-my/strings.xml b/packages/SystemUI/res/values-my/strings.xml
index 7afb3b9..2a6e3c2 100644
--- a/packages/SystemUI/res/values-my/strings.xml
+++ b/packages/SystemUI/res/values-my/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"ကင်မရာ ဖွင့်ရန်"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"အလုပ်သစ်စီစဥ်မှုကို ရွေးပါ။"</string>
     <string name="cancel" msgid="6442560571259935130">"မလုပ်တော့"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"အကူအညီမက်ဆေ့ဂျ် နေရာ"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"အတည်ပြုပါ"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"လက်ဗွေအာရုံခံကိရိယာကို တို့ပါ"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"လက်ဗွေ သင်္ကေတ"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"အပလီကေးရှင်း သင်္ကေတ"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"အကူအညီမက်ဆေ့ဂျ် နေရာ"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"သင့်ကို ရှာဖွေနေသည်…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"မျက်နှာသင်္ကေတ"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"အံဝင်ခွင်ကျ ဇူးမ်ခလုတ်"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"ဖန်သားပြင်ပေါ်တွင် အသေးမှအကြီးသို့ ဇူးမ်ဆွဲခြင်း"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"ဘလူးတုသ်ချိတ်ဆက်ထားမှု"</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"သိုလှောင်မှုများ"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"အရိပ်အမြွက်များ"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Instant Apps"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"ချက်ခြင်းသုံးအက်ပ်များကို ထည့်သွင်းစရာမလိုပါ။"</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> လုပ်ဆောင်နေသည်"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"အက်ပ်ကိုမထည့်သွင်းဘဲ ဖွင့်ထားသည်။"</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"အက်ပ်ကိုမထည့်သွင်းဘဲ ဖွင့်ထားသည်။ ပိုမိုလေ့လာရန် တို့ပါ။"</string>
     <string name="app_info" msgid="6856026610594615344">"အက်ပ်အချက်အလက်"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"ဘရောင်ဇာသို့ သွားပါ"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"ဝဘ်သို့ သွားရန်"</string>
     <string name="mobile_data" msgid="7094582042819250762">"မိုဘိုင်းဒေတာ"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> —<xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi ကို ပိတ်ထားသည်"</string>
diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml
index b817877..d90eba3 100644
--- a/packages/SystemUI/res/values-nb/strings.xml
+++ b/packages/SystemUI/res/values-nb/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"åpne kamera"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Velg en ny utforming for oppgaver"</string>
     <string name="cancel" msgid="6442560571259935130">"Avbryt"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Område for hjelpemelding"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Bekreft"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Trykk på fingeravtrykkssensoren"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikon for fingeravtrykk"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Appikon"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Område for hjelpemelding"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Ser etter deg …"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Ansiktikon"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Zoomknapp for kompatibilitet."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom fra mindre til større skjerm."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth er tilkoblet."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Lagring"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Hint"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Instant Apps"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Du trenger ikke å installere instant-apper."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> kjører"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Appen ble åpnet uten at den ble installert."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Appen ble åpnet uten at den ble installert. Trykk for å finne ut mer."</string>
     <string name="app_info" msgid="6856026610594615344">"Info om appen"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Gå til nettleser"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Gå til nettstedet"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobildata"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi er av"</string>
diff --git a/packages/SystemUI/res/values-ne/strings.xml b/packages/SystemUI/res/values-ne/strings.xml
index 6cc405f..4e3cddd 100644
--- a/packages/SystemUI/res/values-ne/strings.xml
+++ b/packages/SystemUI/res/values-ne/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"क्यामेरा खोल्नुहोस्"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"नयाँ कार्य लेआउट चयन गर्नुहोस्"</string>
     <string name="cancel" msgid="6442560571259935130">"रद्द गर्नुहोस्"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"मद्दतसम्बन्धी सन्देशको क्षेत्र"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"पुष्टि गर्नुहोस्"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"फिंगरप्रिन्ट सेन्सरमा छुनुहोस्‌"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"फिंगरप्रिन्ट जनाउने आइकन"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"अनुप्रयोग जनाउने आइकन"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"मद्दतसम्बन्धी सन्देशको क्षेत्र"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"तपाईंलाई खोज्दै…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"अनुहारको आइकन"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"मिलाउने जुम बटन।"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"स्क्रिनलाई सानोबाट ठूलो पार्नुहोस्।"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"ब्लुटुथ जडान भयो।"</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"भण्डारण"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"सङ्केतहरू"</string>
     <string name="instant_apps" msgid="6647570248119804907">"तात्कालिक अनुप्रयोगहरू"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"तात्कालिक अनुप्रयोगहरूलाई स्थापना गर्नु पर्दैन|"</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> चलिरहेको छ"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"स्थापना नगरिकनै अनुप्रयोग खोलियो।"</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"स्थापना नगरिकनै अनुप्रयोग खोलियो। थप जान्न ट्याप गर्नुहोस्।"</string>
     <string name="app_info" msgid="6856026610594615344">"अनुप्रयोगका बारे जानकारी"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"ब्राउजरमा जानुहोस्"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"वेबमा जानुहोस्"</string>
     <string name="mobile_data" msgid="7094582042819250762">"मोबाइल डेटा"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi‑Fi निष्क्रिय छ"</string>
diff --git a/packages/SystemUI/res/values-night/colors.xml b/packages/SystemUI/res/values-night/colors.xml
index 45d2185..2c5120d 100644
--- a/packages/SystemUI/res/values-night/colors.xml
+++ b/packages/SystemUI/res/values-night/colors.xml
@@ -25,10 +25,10 @@
     <color name="notification_legacy_background_color">@*android:color/notification_material_background_color</color>
 
     <!-- The color of the material notification background when dimmed -->
-    <color name="notification_material_background_dimmed_color">#aa212121</color>
+    <color name="notification_material_background_dimmed_color">#aa000000</color>
 
     <!-- The color of the dividing line between grouped notifications while . -->
-    <color name="notification_divider_color">#000</color>
+    <color name="notification_divider_color">#212121</color>
 
     <!-- The background color of the notification shade -->
     <color name="notification_shade_background_color">#181818</color>
diff --git a/packages/SystemUI/res/values-night/styles.xml b/packages/SystemUI/res/values-night/styles.xml
new file mode 100644
index 0000000..3ab6b56
--- /dev/null
+++ b/packages/SystemUI/res/values-night/styles.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2018 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.
+-->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <style name="Theme.SystemUI.Dialog" parent="@android:style/Theme.DeviceDefault.Dialog" />
+
+    <style name="Theme.SystemUI.Dialog.Alert" parent="@*android:style/Theme.DeviceDefault.Dialog.Alert" />
+
+    <style name="Theme.SystemUI.Dialog.GlobalActions" parent="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen">
+        <item name="android:windowIsFloating">true</item>
+    </style>
+
+</resources>
diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml
index e8c6f8d..9dda44e 100644
--- a/packages/SystemUI/res/values-nl/strings.xml
+++ b/packages/SystemUI/res/values-nl/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"camera openen"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Nieuwe taakindeling selecteren"</string>
     <string name="cancel" msgid="6442560571259935130">"Annuleren"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Gebied voor Help-berichten"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Bevestigen"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Raak de vingerafdruksensor aan"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Vingerafdrukpictogram"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"App-pictogram"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Gebied voor Help-berichten"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Jouw gezicht zoeken…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Gezichtspictogram"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Knop voor compatibiliteitszoom."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Kleiner scherm uitzoomen naar groter scherm."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth-verbinding ingesteld."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Opslag"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Hints"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Instant-apps"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Instant-apps hoeven niet te worden geïnstalleerd."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> actief"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"App geopend zonder dat deze is geïnstalleerd."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"App geopend zonder dat deze is geïnstalleerd. Tik voor meer informatie."</string>
     <string name="app_info" msgid="6856026610594615344">"App-info"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Ga naar browser"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Ga naar internet"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobiele data"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wifi is uitgeschakeld"</string>
diff --git a/packages/SystemUI/res/values-or/strings.xml b/packages/SystemUI/res/values-or/strings.xml
index 277181f..91c62bb 100644
--- a/packages/SystemUI/res/values-or/strings.xml
+++ b/packages/SystemUI/res/values-or/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"କ୍ୟାମେରା ଖୋଲନ୍ତୁ"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"ନୂଆ ଟାସ୍କ ଲେଆଉଟ୍‍ ଚୟନ କରନ୍ତୁ"</string>
     <string name="cancel" msgid="6442560571259935130">"କ୍ୟାନ୍ସଲ୍‍ କରନ୍ତୁ"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"ସାହାଯ୍ୟ ମେସେଜ୍ କ୍ଷେତ୍ର"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"ନିଶ୍ଚିତ କରନ୍ତୁ"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"ଆଙ୍ଗୁଠି ଚିହ୍ନ ସେନସର୍‌କୁ ଛୁଅଁନ୍ତୁ"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"ଆଙ୍ଗୁଠି ଚିହ୍ନ ଆଇକନ୍"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"ଆପ୍ଲିକେଶନ୍‌ ଆଇକନ୍‌"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"ହେଲ୍ପ ମେସେଜ୍ କ୍ଷେତ୍ର"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"ଆପଣଙ୍କୁ ଚିହ୍ନଟ କରୁଛି…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"ମୁହଁ ଆଇକନ୍"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"କମ୍ପାଟିବିଲିଟୀ ଜୁମ୍ ବଟନ୍।"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"ଜୁମ୍ କରି ସ୍କ୍ରୀନ୍‌କୁ ଛୋଟରୁ ବଡ଼ କରନ୍ତୁ।"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"ବ୍ଲୁ-ଟୂଥ୍‍‌ ସଂଯୋଗ କରାଯାଇଛି।"</string>
@@ -823,9 +825,14 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"ଷ୍ଟୋରେଜ୍‌"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"ହିଣ୍ଟ"</string>
     <string name="instant_apps" msgid="6647570248119804907">"ଇନଷ୍ଟାଣ୍ଟ ଆପ୍‌"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"ଇନଷ୍ଟାଣ୍ଟ ଆପ୍‌ ଇନଷ୍ଟଲ୍‍ କରିବାର ଆବଶ୍ୟକତା ନାହିଁ"</string>
+    <!-- no translation found for instant_apps_title (8738419517367449783) -->
+    <skip />
+    <!-- no translation found for instant_apps_message (1183313016396018086) -->
+    <skip />
+    <!-- no translation found for instant_apps_message_with_help (6179830437630729747) -->
+    <skip />
     <string name="app_info" msgid="6856026610594615344">"ଆପ୍‍ ସୂଚନା"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"ବ୍ରାଉଜର୍‌କୁ ଯାଆନ୍ତୁ"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"ୱେବକୁ ଯାଆନ୍ତୁ"</string>
     <string name="mobile_data" msgid="7094582042819250762">"ମୋବାଇଲ୍‌ ଡାଟା"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"ୱାଇ-ଫାଇ ଅଫ୍‍ ଅଛି"</string>
diff --git a/packages/SystemUI/res/values-pa/strings.xml b/packages/SystemUI/res/values-pa/strings.xml
index 6509871..96fb641 100644
--- a/packages/SystemUI/res/values-pa/strings.xml
+++ b/packages/SystemUI/res/values-pa/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"ਕੈਮਰਾ ਖੋਲ੍ਹੋ"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"ਨਵਾਂ ਕੰਮ ਲੇਆਉਟ ਚੁਣੋ"</string>
     <string name="cancel" msgid="6442560571259935130">"ਰੱਦ ਕਰੋ"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"ਮਦਦ ਸੁਨੇਹਾ ਖੇਤਰ"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"ਪੁਸ਼ਟੀ ਕਰੋ"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਸੈਂਸਰ ਨੂੰ ਸਪੱਰਸ਼ ਕਰੋ"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਦਾ ਪ੍ਰਤੀਕ"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਪ੍ਰਤੀਕ"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"ਮਦਦ ਸੁਨੇਹਾ ਖੇਤਰ"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"ਤੁਹਾਡੀ ਪਛਾਣ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"ਚਿਹਰਾ ਪ੍ਰਤੀਕ"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"ਅਨੁਰੂਪਤਾ ਜ਼ੂਮ ਬਟਨ।"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"ਵੱਡੀ ਸਕ੍ਰੀਨ ਤੇ ਛੋਟਾ ਜ਼ੂਮ ਕਰੋ।"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth ਕਨੈਕਟ ਕੀਤੀ।"</string>
@@ -344,7 +346,7 @@
     <string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> ਸੀਮਾ"</string>
     <string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> ਚਿਤਾਵਨੀ"</string>
     <string name="quick_settings_work_mode_label" msgid="7608026833638817218">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ"</string>
-    <string name="quick_settings_night_display_label" msgid="3577098011487644395">"ਰਾਤਰੀ ਲਾਈਟ"</string>
+    <string name="quick_settings_night_display_label" msgid="3577098011487644395">"ਰਾਤ ਦੀ ਰੋਸ਼ਨੀ"</string>
     <string name="quick_settings_night_secondary_label_on_at_sunset" msgid="8483259341596943314">"ਸੂਰਜ ਛਿਪਣ \'ਤੇ ਚਾਲੂ"</string>
     <string name="quick_settings_night_secondary_label_until_sunrise" msgid="4453017157391574402">"ਸੂਰਜ ਚੜ੍ਹਨ ਤੱਕ"</string>
     <string name="quick_settings_night_secondary_label_on_at" msgid="6256314040368487637">"<xliff:g id="TIME">%s</xliff:g> ਵਜੇ ਚਾਲੂ"</string>
@@ -823,9 +825,14 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"ਸਟੋਰੇਜ"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"ਸੰਕੇਤ"</string>
     <string name="instant_apps" msgid="6647570248119804907">"ਤਤਕਾਲ ਐਪਾਂ"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"ਤਤਕਾਲ ਐਪਾਂ ਨੂੰ ਸਥਾਪਨਾ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ।"</string>
+    <!-- no translation found for instant_apps_title (8738419517367449783) -->
+    <skip />
+    <!-- no translation found for instant_apps_message (1183313016396018086) -->
+    <skip />
+    <!-- no translation found for instant_apps_message_with_help (6179830437630729747) -->
+    <skip />
     <string name="app_info" msgid="6856026610594615344">"ਐਪ ਜਾਣਕਾਰੀ"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"ਬ੍ਰਾਊਜ਼ਰ \'ਤੇ ਜਾਓ"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"ਵੈੱਬ \'ਤੇ ਜਾਓ"</string>
     <string name="mobile_data" msgid="7094582042819250762">"ਮੋਬਾਈਲ ਡਾਟਾ"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"ਵਾਈ-ਫਾਈ ਬੰਦ ਹੈ"</string>
diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml
index 2959a8d..28d24bf 100644
--- a/packages/SystemUI/res/values-pl/strings.xml
+++ b/packages/SystemUI/res/values-pl/strings.xml
@@ -105,10 +105,12 @@
     <string name="camera_label" msgid="7261107956054836961">"otwórz aparat"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Wybierz nowy układ zadań"</string>
     <string name="cancel" msgid="6442560571259935130">"Anuluj"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Obszar komunikatu pomocy"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Potwierdź"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Dotknij czytnika linii papilarnych"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikona odcisku palca"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Ikona aplikacji"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Obszar komunikatu pomocy"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Szukam Cię…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Ikona twarzy"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Przycisk powiększenia na potrzeby zgodności."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Powiększa mniejszy ekran do większego."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth połączony."</string>
@@ -835,9 +837,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Pamięć wewnętrzna"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Wskazówki"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Aplikacje błyskawiczne"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Aplikacji błyskawicznych nie trzeba instalować."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"Aplikacja <xliff:g id="APP">%1$s</xliff:g> działa"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Aplikacja została otwarta bez zainstalowania."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Aplikacja została otwarta bez zainstalowania. Kliknij, by dowiedzieć się więcej."</string>
     <string name="app_info" msgid="6856026610594615344">"O aplikacji"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Otwórz przeglądarkę"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Wejdź na stronę internetową"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Komórkowa transmisja danych"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi jest wyłączone"</string>
diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml
index ba50c13..ab0f5f2 100644
--- a/packages/SystemUI/res/values-pt-rBR/strings.xml
+++ b/packages/SystemUI/res/values-pt-rBR/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"abrir câmera"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Selecionar novo layout da tarefa"</string>
     <string name="cancel" msgid="6442560571259935130">"Cancelar"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Área da mensagem de ajuda"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Confirmar"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Toque no sensor de impressão digital"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ícone de impressão digital"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Ícone do app"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Área da mensagem de ajuda"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Procurando você…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Ícone facial"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Botão de zoom da compatibilidade."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Aumentar a tela com zoom."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth conectado."</string>
@@ -825,9 +827,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Armazenamento"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Dicas"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Instant Apps"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Os Instant Apps não requerem instalação."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> em execução"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"O app é aberto sem precisar ser instalado."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"O app é aberto sem precisar ser instalado. Toque para saber mais."</string>
     <string name="app_info" msgid="6856026610594615344">"Informações do app"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Abrir o navegador"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Acessar a Web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Dados móveis"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"O Wi-Fi está desativado"</string>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml
index a03dba2..fb0675a 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"abrir câmara"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Selecionar novo esquema de tarefa"</string>
     <string name="cancel" msgid="6442560571259935130">"Cancelar"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Área da mensagem de ajuda"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Confirmar"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Toque no sensor de impressões digitais."</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ícone de impressão digital"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Ícone de aplicação"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Área da mensagem de ajuda"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"À sua procura…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Ícone de rosto"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Botão zoom de compatibilidade."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom menor para ecrã maior."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth ligado."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Armazenamento"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Sugestões"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Aplicações instantâneas"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"As Aplicações instantâneas não requerem instalação."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> em execução"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"A aplicação é aberta sem ser instalada."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"A aplicação é aberta sem ser instalada. Toque para saber mais."</string>
     <string name="app_info" msgid="6856026610594615344">"Info. da aplicação"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Ir para o navegador"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Aceder à Web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Dados móveis"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi desativado"</string>
diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml
index ba50c13..ab0f5f2 100644
--- a/packages/SystemUI/res/values-pt/strings.xml
+++ b/packages/SystemUI/res/values-pt/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"abrir câmera"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Selecionar novo layout da tarefa"</string>
     <string name="cancel" msgid="6442560571259935130">"Cancelar"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Área da mensagem de ajuda"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Confirmar"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Toque no sensor de impressão digital"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ícone de impressão digital"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Ícone do app"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Área da mensagem de ajuda"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Procurando você…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Ícone facial"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Botão de zoom da compatibilidade."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Aumentar a tela com zoom."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth conectado."</string>
@@ -825,9 +827,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Armazenamento"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Dicas"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Instant Apps"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Os Instant Apps não requerem instalação."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> em execução"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"O app é aberto sem precisar ser instalado."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"O app é aberto sem precisar ser instalado. Toque para saber mais."</string>
     <string name="app_info" msgid="6856026610594615344">"Informações do app"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Abrir o navegador"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Acessar a Web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Dados móveis"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"O Wi-Fi está desativado"</string>
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
index 149803b..9b5f5e1 100644
--- a/packages/SystemUI/res/values-ro/strings.xml
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -104,10 +104,12 @@
     <string name="camera_label" msgid="7261107956054836961">"deschideți camera foto"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Selectați noul aspect pentru activitate"</string>
     <string name="cancel" msgid="6442560571259935130">"Anulați"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Zona mesajelor de ajutor"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Confirmați"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Atingeți senzorul de amprente"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Pictograma amprentă"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Pictograma aplicației"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Zona mesajelor de ajutor"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Vă căutăm…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Pictograma chip"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Buton zoom pentru compatibilitate."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Faceți zoom de la o imagine mai mică la una mai mare."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Conectat prin Bluetooth."</string>
@@ -831,9 +833,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Stocare"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Indicii"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Aplicații instantanee"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Aplicațiile instantanee nu necesită instalare."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> rulează"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Aplicația a fost deschisă fără a fi instalată."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Aplicația a fost deschisă fără a fi instalată. Atingeți pentru a afla mai multe."</string>
     <string name="app_info" msgid="6856026610594615344">"Informații despre aplicație"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Accesați browserul"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Accesați pe web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Date mobile"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Conexiunea Wi-Fi este dezactivată"</string>
diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml
index 7a756cd..8069317 100644
--- a/packages/SystemUI/res/values-ru/strings.xml
+++ b/packages/SystemUI/res/values-ru/strings.xml
@@ -105,10 +105,12 @@
     <string name="camera_label" msgid="7261107956054836961">"Открыть камеру."</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Выберите другой макет"</string>
     <string name="cancel" msgid="6442560571259935130">"Отмена"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Справочное сообщение"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Подтвердить"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Прикоснитесь к сканеру отпечатков пальцев."</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Значок отпечатка пальца"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Значок приложения"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Справочное сообщение"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Поиск лица…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Значок лица"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Кнопка масштабирования (режим совместимости)"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Уменьшение изображения для увеличения свободного места на экране."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth-соединение установлено."</string>
@@ -837,9 +839,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Хранилище"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Подсказки"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Приложения с мгновенным запуском"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Приложения с мгновенным запуском не требуется устанавливать."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> уже здесь!"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Приложение готово к работе, установка не требуется."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Приложение готово к работе, установка не требуется. Нажмите, чтобы узнать больше."</string>
     <string name="app_info" msgid="6856026610594615344">"О приложении"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Перейти в браузер"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Перейти в браузер"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Моб. Интернет"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Модуль Wi-Fi отключен"</string>
diff --git a/packages/SystemUI/res/values-si/strings.xml b/packages/SystemUI/res/values-si/strings.xml
index e29aeda..8802833 100644
--- a/packages/SystemUI/res/values-si/strings.xml
+++ b/packages/SystemUI/res/values-si/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"කැමරාව විවෘත කරන්න"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"නව කාර්යය සැකැස්ම තෝරන්න"</string>
     <string name="cancel" msgid="6442560571259935130">"අවලංගු කරන්න"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"උදවු පණිවිඩ ප්‍රදේශය"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"තහවුරු කරන්න"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"ඇඟිලි සලකුණු සංවේදකය ස්පර්ශ කරන්න"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"ඇඟිලි සලකුණු නිරූපකය"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"යෙදුම් නිරූපකය"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"උදවු පණිවිඩ ප්‍රදේශය"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"ඔබව සොයමින්…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"මුහුණ නිරූපකය"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"ගැළපෙන විශාලන බොත්තම."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"විශාල තිරය වෙත කුඩාව විශාලනය කරන්න."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"බ්ලූටූත් සම්බන්ධිතයි."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"ගබඩාව"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"ඉඟි"</string>
     <string name="instant_apps" msgid="6647570248119804907">"ක්ෂණික යෙදුම්"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"ක්ෂණික යෙදුම් ස්ථාපනය කිරීම අවශ්‍ය නොවේ."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> ධාවනය වෙමින්"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"ස්ථාපනය නොකර යෙදුම විවෘත කර ඇත."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"ස්ථාපනය නොකර යෙදුම විවෘත කර ඇත. තව දැන ගැනීමට තට්ටු කරන්න."</string>
     <string name="app_info" msgid="6856026610594615344">"යෙදුම් තොරතුරු"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"බ්‍රවුසරය වෙත යන්න"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"වෙබය වෙත යන්න"</string>
     <string name="mobile_data" msgid="7094582042819250762">"ජංගම දත්ත"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi ක්‍රියා විරහිතයි"</string>
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
index 8193e3f..233a81b 100644
--- a/packages/SystemUI/res/values-sk/strings.xml
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -105,10 +105,12 @@
     <string name="camera_label" msgid="7261107956054836961">"spustiť fotoaparát"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Vyberte nové rozloženie úlohy"</string>
     <string name="cancel" msgid="6442560571259935130">"Zrušiť"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Oblasť správy pomocníka"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Potvrdiť"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Klepnite na senzor odtlačkov prstov"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikona odtlačku prsta"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Ikona aplikácie"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Oblasť chybového hlásenia"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Hľadáme vás…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Ikona tváre"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Tlačidlo úpravy veľkosti z dôvodu kompatibility."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zväčšiť menší obrázok na väčšiu obrazovku."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth pripojené."</string>
@@ -837,9 +839,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Úložisko"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Tipy"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Okamžité aplikácie"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Okamžité aplikácie nevyžadujú inštaláciu."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"Aplikácia <xliff:g id="APP">%1$s</xliff:g> je spustená"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Aplikácia bola otvorená bez inštalácie."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Aplikácia bola otvorená bez inštalácie. Klepnutím zobrazíte ďalšie informácie."</string>
     <string name="app_info" msgid="6856026610594615344">"Info o aplikácii"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Otvoriť prehliadač"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Prejsť na internet"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobilné dáta"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Pripojenie Wi‑Fi je vypnuté"</string>
diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml
index 7169441..c7e661a 100644
--- a/packages/SystemUI/res/values-sl/strings.xml
+++ b/packages/SystemUI/res/values-sl/strings.xml
@@ -105,10 +105,12 @@
     <string name="camera_label" msgid="7261107956054836961">"odpri fotoaparat"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Izberite novo postavitev opravil"</string>
     <string name="cancel" msgid="6442560571259935130">"Prekliči"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Območje sporočila pomoči"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Potrdite"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Dotaknite se tipala prstnih odtisov"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikona prstnih odtisov"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Ikona aplikacije"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Območje sporočila pomoči"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Preverjanje vašega obraza …"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Ikona obraza"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Gumb povečave za združljivost."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Povečava manjšega na večji zaslon."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Povezava Bluetooth vzpostavljena."</string>
@@ -837,9 +839,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Shramba"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Namigi"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Nenamestljive aplikacije"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Nenamestljivih aplikacij ni treba namestiti."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"Aplikacija <xliff:g id="APP">%1$s</xliff:g> se izvaja"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Aplikacija je odprta brez namestitve."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Aplikacija je odprta brez namestitve. Dotaknite se, če želite izvedeti več."</string>
     <string name="app_info" msgid="6856026610594615344">"Podatki o aplikaciji"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Odpri brskalnik"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Pojdi v splet"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobilni podatki"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi je izklopljen"</string>
diff --git a/packages/SystemUI/res/values-sq/strings.xml b/packages/SystemUI/res/values-sq/strings.xml
index f2903ef..f4d3d2a 100644
--- a/packages/SystemUI/res/values-sq/strings.xml
+++ b/packages/SystemUI/res/values-sq/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"hap kamerën"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Zgjidh strukturën e re të detyrës"</string>
     <string name="cancel" msgid="6442560571259935130">"Anulo"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Zona e mesazhit të ndihmës"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Konfirmo"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Prek sensorin e gjurmës së gishtit"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikona e gjurmës së gishtit"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Ikona e aplikacionit"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Zona e mesazhit të ndihmës"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Po të kërkojmë…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Ikona e fytyrës"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Butoni i zmadhimit të pajtueshmërisë."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zmadho nga një ekran i vogël në të madh."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Pajisja është lidhur me \"bluetooth\"."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Hapësira ruajtëse"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Sugjerimet"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Aplikacionet e çastit"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Aplikacionet e çastit nuk kërkojnë instalim."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"Po ekzekutohet <xliff:g id="APP">%1$s</xliff:g>"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Aplikacioni u hap pa u instaluar."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Aplikacioni u hap pa u instaluar. Trokit për të mësuar më shumë."</string>
     <string name="app_info" msgid="6856026610594615344">"Informacioni mbi aplikacionin"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Shko te shfletuesi"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Shko në ueb"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Të dhënat celulare"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> - <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi është joaktiv"</string>
diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml
index e77b080..5825231 100644
--- a/packages/SystemUI/res/values-sr/strings.xml
+++ b/packages/SystemUI/res/values-sr/strings.xml
@@ -104,10 +104,12 @@
     <string name="camera_label" msgid="7261107956054836961">"отвори камеру"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Изабери нови распоред задатака"</string>
     <string name="cancel" msgid="6442560571259935130">"Откажи"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Област поруке за помоћ"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Потврди"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Додирните сензор за отисак прста"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Икона отиска прста"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Икона апликације"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Област поруке за помоћ"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Тражимо вас…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Икона лица"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Дугме Зум компатибилности."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Зумирање са мањег на већи екран."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth је прикључен."</string>
@@ -829,9 +831,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Меморијски простор"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Савети"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Инстант апликације"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Инстант апликације не захтевају инсталацију."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"Апликација <xliff:g id="APP">%1$s</xliff:g> је покренута"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Апликација се отворила без инсталирања."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Апликација се отворила без инсталирања. Додирните да бисте сазнали више."</string>
     <string name="app_info" msgid="6856026610594615344">"Информације о апликацији"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Иди на прегледач"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Иди на веб"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Мобилни подаци"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi је искључен"</string>
diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml
index ccc498e..7040ec2 100644
--- a/packages/SystemUI/res/values-sv/strings.xml
+++ b/packages/SystemUI/res/values-sv/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"öppna kameran"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Välj en ny layout för uppgiften"</string>
     <string name="cancel" msgid="6442560571259935130">"Avbryt"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Område för hjälpmeddelande"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Bekräfta"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Tryck på fingeravtryckssensorn"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikon för fingeravtryck"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Appikon"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Område för hjälpmeddelande"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Håller utkik efter dig …"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Ansiktsikon"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Knapp för kompatibilitetszoom."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zooma mindre skärm till större."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth ansluten."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Lagring"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Tips"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Snabbappar"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Snabbappar behöver inte installeras."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> körs"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Appen öppnades utan installation."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Appen öppnades utan installation. Tryck om du vill veta mer."</string>
     <string name="app_info" msgid="6856026610594615344">"Info om appen"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Öppna webbläsaren"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Öppna webbplatsen"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobildata"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi är inaktiverat"</string>
diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml
index 83e9997..0633e8a 100644
--- a/packages/SystemUI/res/values-sw/strings.xml
+++ b/packages/SystemUI/res/values-sw/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"fungua kamera"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Chagua muundo mpya wa kazi"</string>
     <string name="cancel" msgid="6442560571259935130">"Ghairi"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Sehemu ya ujumbe wa usaidizi"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Thibitisha"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Gusa kitambua alama ya kidole"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Aikoni ya alama ya kidole"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Aikoni ya programu"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Sehemu ya ujumbe wa usaidizi"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Inakutafuta…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Aikoni ya uso"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Kichupo cha kukuza kwa utangamanifu"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Kuza kidogo kwa skrini kubwa."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth imeunganishwa."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Hifadhi"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Vidokezo"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Programu Zinazofunguka Papo Hapo"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Huhitaji kusakinisha programu zinazofunguka papo hapo."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> inaendelea kutumika"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Programu inafunguka bila kusakinishwa."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Programu inafunguka bila kusakinishwa. Gusa ili upate maelezo zaidi."</string>
     <string name="app_info" msgid="6856026610594615344">"Maelezo ya programu"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Tumia kivinjari"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Nenda kwenye wavuti"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Data ya simu"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g><xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi imezimwa"</string>
diff --git a/packages/SystemUI/res/values-ta/strings.xml b/packages/SystemUI/res/values-ta/strings.xml
index 6f06ab5..469e797 100644
--- a/packages/SystemUI/res/values-ta/strings.xml
+++ b/packages/SystemUI/res/values-ta/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"கேமராவைத் திற"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"புதிய பணி தளவமைப்பைத் தேர்ந்தெடுக்கவும்"</string>
     <string name="cancel" msgid="6442560571259935130">"ரத்துசெய்"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"உதவிச் செய்திக்கான பகுதி"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"உறுதிப்படுத்துக"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"கைரேகை உணர்வியைத் தொடவும்"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"கைரேகை ஐகான்"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"பயன்பாட்டு ஐகான்"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"உதவிச் செய்திக்கான பகுதி"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"உங்கள் முகத்தைத் தேடுகிறது…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"முக ஐகான்"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"பொருந்துமாறு அளவை மாற்றும் பொத்தான்."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"சிறியதிலிருந்து பெரிய திரைக்கு அளவை மாற்றும்."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"புளூடூத் இணைக்கப்பட்டது."</string>
@@ -344,9 +346,9 @@
     <string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> வரம்பு"</string>
     <string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> எச்சரிக்கை"</string>
     <string name="quick_settings_work_mode_label" msgid="7608026833638817218">"பணி விவரம்"</string>
-    <string name="quick_settings_night_display_label" msgid="3577098011487644395">"இரவு ஒளி"</string>
+    <string name="quick_settings_night_display_label" msgid="3577098011487644395">"நைட் லைட்"</string>
     <string name="quick_settings_night_secondary_label_on_at_sunset" msgid="8483259341596943314">"மாலையில் ஆன் செய்"</string>
-    <string name="quick_settings_night_secondary_label_until_sunrise" msgid="4453017157391574402">"சூரிய உதயம் வரை"</string>
+    <string name="quick_settings_night_secondary_label_until_sunrise" msgid="4453017157391574402">"காலை வரை"</string>
     <string name="quick_settings_night_secondary_label_on_at" msgid="6256314040368487637">"<xliff:g id="TIME">%s</xliff:g>க்கு ஆன் செய்"</string>
     <string name="quick_settings_secondary_label_until" msgid="2749196569462600150">"<xliff:g id="TIME">%s</xliff:g> வரை"</string>
     <string name="quick_settings_nfc_label" msgid="9012153754816969325">"NFC"</string>
@@ -823,9 +825,14 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"சேமிப்பிடம்"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"குறிப்புகள்"</string>
     <string name="instant_apps" msgid="6647570248119804907">"இன்ஸ்டண்ட் ஆப்ஸ்"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"இன்ஸ்டண்ட் பயன்பாடுகளுக்கு நிறுவல் தேவையில்லை."</string>
+    <!-- no translation found for instant_apps_title (8738419517367449783) -->
+    <skip />
+    <!-- no translation found for instant_apps_message (1183313016396018086) -->
+    <skip />
+    <!-- no translation found for instant_apps_message_with_help (6179830437630729747) -->
+    <skip />
     <string name="app_info" msgid="6856026610594615344">"பயன்பாட்டுத் தகவல்"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"உலாவிக்குச் செல்"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"இணையத்திற்குச் செல்"</string>
     <string name="mobile_data" msgid="7094582042819250762">"மொபைல் டேட்டா"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"வைஃபை முடக்கத்தில் உள்ளது"</string>
diff --git a/packages/SystemUI/res/values-te/strings.xml b/packages/SystemUI/res/values-te/strings.xml
index 7c09699..5d869f1 100644
--- a/packages/SystemUI/res/values-te/strings.xml
+++ b/packages/SystemUI/res/values-te/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"కెమెరాను తెరువు"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"కొత్త విధి లేఅవుట్‌ను ఎంచుకోండి"</string>
     <string name="cancel" msgid="6442560571259935130">"రద్దు చేయి"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"సహాయ సందేశ ప్రాంతం"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"నిర్ధారించు"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"వేలిముద్ర సెన్సార్‌ను తాకండి"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"వేలిముద్ర చిహ్నం"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"అప్లికేషన్ చిహ్నం"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"సహాయ సందేశ ప్రాంతం"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"మీ కోసం చూస్తోంది…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"ముఖ చిహ్నం"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"అనుకూలత జూమ్ బటన్."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"చిన్న స్క్రీన్ నుండి పెద్దదానికి జూమ్ చేయండి."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"బ్లూటూత్ కనెక్ట్ చేయబడింది."</string>
@@ -823,9 +825,14 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"నిల్వ"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"సూచనలు"</string>
     <string name="instant_apps" msgid="6647570248119804907">"తక్షణ యాప్‌లు"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"తక్షణ అనువర్తనాలకు ఇన్‌స్టాలేషన్ అవసరం లేదు."</string>
+    <!-- no translation found for instant_apps_title (8738419517367449783) -->
+    <skip />
+    <!-- no translation found for instant_apps_message (1183313016396018086) -->
+    <skip />
+    <!-- no translation found for instant_apps_message_with_help (6179830437630729747) -->
+    <skip />
     <string name="app_info" msgid="6856026610594615344">"యాప్ సమాచారం"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"బ్రౌజర్‌కు వెళ్లండి"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"వెబ్‌కు వెళ్లు"</string>
     <string name="mobile_data" msgid="7094582042819250762">"మొబైల్ డేటా"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi ఆఫ్‌లో ఉంది"</string>
diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml
index 1d59868..408c5a0 100644
--- a/packages/SystemUI/res/values-th/strings.xml
+++ b/packages/SystemUI/res/values-th/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"เปิดกล้อง"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"เลือกรูปแบบงานใหม่"</string>
     <string name="cancel" msgid="6442560571259935130">"ยกเลิก"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"พื้นที่ข้อความช่วยเหลือ"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"ยืนยัน"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"แตะเซ็นเซอร์ลายนิ้วมือ"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"ไอคอนลายนิ้วมือ"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"ไอคอนแอปพลิเคชัน"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"พื้นที่ข้อความช่วยเหลือ"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"กำลังหาใบหน้าคุณ…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"ไอคอนใบหน้า"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"ปุ่มซูมที่ใช้งานร่วมกันได้"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"ซูมหน้าจอให้มีขนาดใหญ่ขึ้น"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"เชื่อมต่อบลูทูธแล้ว"</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"พื้นที่เก็บข้อมูล"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"คำแนะนำ"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Instant App"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Instant Apps ไม่ต้องใช้การติดตั้ง"</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> ทำงานอยู่"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"เปิดแอปได้โดยไม่ต้องติดตั้ง"</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"เปิดแอปได้โดยไม่ต้องติดตั้ง แตะเพื่อดูข้อมูลเพิ่มเติม"</string>
     <string name="app_info" msgid="6856026610594615344">"ข้อมูลแอป"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"ไปที่เบราว์เซอร์"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"ไปที่เว็บ"</string>
     <string name="mobile_data" msgid="7094582042819250762">"เน็ตมือถือ"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi ปิดอยู่"</string>
diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml
index 013acd4..8da4946 100644
--- a/packages/SystemUI/res/values-tl/strings.xml
+++ b/packages/SystemUI/res/values-tl/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"buksan ang camera"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Pumili ng bagong layout ng gawain"</string>
     <string name="cancel" msgid="6442560571259935130">"Kanselahin"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Lugar ng mensahe ng tulong"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Kumpirmahin"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Pindutin ang fingerprint sensor"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Icon ng fingerprint"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Icon ng application"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Lugar ng mensahe ng tulong"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Hinahanap ka…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Face icon"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Button ng zoom ng pagiging tugma."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Mag-zoom nang mas maliit sa mas malaking screen."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Nakakonekta ang Bluetooth."</string>
@@ -346,7 +348,7 @@
     <string name="quick_settings_work_mode_label" msgid="7608026833638817218">"Profile sa trabaho"</string>
     <string name="quick_settings_night_display_label" msgid="3577098011487644395">"Night Light"</string>
     <string name="quick_settings_night_secondary_label_on_at_sunset" msgid="8483259341596943314">"Mao-on sa sunset"</string>
-    <string name="quick_settings_night_secondary_label_until_sunrise" msgid="4453017157391574402">"Hanggang mag-umaga"</string>
+    <string name="quick_settings_night_secondary_label_until_sunrise" msgid="4453017157391574402">"Hanggang sunrise"</string>
     <string name="quick_settings_night_secondary_label_on_at" msgid="6256314040368487637">"Mao-on sa ganap na <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="quick_settings_secondary_label_until" msgid="2749196569462600150">"Hanggang <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="quick_settings_nfc_label" msgid="9012153754816969325">"NFC"</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Storage"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Mga Hint"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Instant Apps"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Hindi kailangang i-install ang mga instant na app."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"Tumatakbo ang <xliff:g id="APP">%1$s</xliff:g>"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Nabuksan ang app nang hindi ini-install."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Nabuksan ang app nang hindi ini-install. I-tap para matuto pa."</string>
     <string name="app_info" msgid="6856026610594615344">"Impormasyon ng app"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Pumunta sa browser"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Pumunta sa web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobile data"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Naka-off ang Wi-Fi"</string>
diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml
index 9030113..de8ed9d 100644
--- a/packages/SystemUI/res/values-tr/strings.xml
+++ b/packages/SystemUI/res/values-tr/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"kamerayı aç"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Yeni görev düzenini seçin"</string>
     <string name="cancel" msgid="6442560571259935130">"İptal"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Yardım mesajı alanı"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Onaylayın"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Parmak izi sensörüne dokunun"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Parmak izi simgesi"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Uygulama simgesi"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Yardım mesajı alanı"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Yüzünüz tanınmaya çalışılıyor…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Yüz simgesi"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Uyumluluk zum düğmesi."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Daha büyük ekrana daha küçük yakınlaştır."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth bağlandı."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Depolama alanı"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"İpuçları"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Hazır Uygulamalar"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Hazır uygulamaların yüklenmesi gerekmez."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> çalışıyor"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Uygulama yüklenmeden açıldı."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Uygulama yüklenmeden açıldı. Daha fazla bilgi için dokunun."</string>
     <string name="app_info" msgid="6856026610594615344">"Uygulama bilgileri"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Tarayıcıya git"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Web\'e git"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobil veriler"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Kablosuz bağlantı kapalı"</string>
diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml
index cf21c0f..6c2e661 100644
--- a/packages/SystemUI/res/values-uk/strings.xml
+++ b/packages/SystemUI/res/values-uk/strings.xml
@@ -105,10 +105,12 @@
     <string name="camera_label" msgid="7261107956054836961">"відкрити камеру"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Виберіть новий макет завдання"</string>
     <string name="cancel" msgid="6442560571259935130">"Скасувати"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Область довідкового повідомлення"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Підтвердити"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Торкніться сканера відбитків пальців"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Значок відбитка пальця"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Значок додатка"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Область довідкового повідомлення"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Пошук обличчя…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Значок обличчя"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Кнопка масштабування сумісності."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Збільшення екрана."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth під’єднано."</string>
@@ -837,9 +839,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Пам’ять"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Поради"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Додатки з миттєвим запуском"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Додатки з миттєвим запуском не потрібно встановлювати."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> працює"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Додаток відкрито без встановлення."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Додаток відкрито без встановлення. Торкніться, щоб дізнатися більше."</string>
     <string name="app_info" msgid="6856026610594615344">"Про додаток"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Веб-переглядач"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Перейти на веб-сайт"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Мобільний трафік"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi вимкнено"</string>
diff --git a/packages/SystemUI/res/values-ur/strings.xml b/packages/SystemUI/res/values-ur/strings.xml
index d2ee8c7..88391b0 100644
--- a/packages/SystemUI/res/values-ur/strings.xml
+++ b/packages/SystemUI/res/values-ur/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"کیمرا کھولیں"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"نئے کام کا لے آؤٹ منتخب کریں"</string>
     <string name="cancel" msgid="6442560571259935130">"منسوخ کریں"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"امدادی پیغام کا علاقہ"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"تصدیق کریں"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"فنگر پرنٹ سینسر پر ٹچ کریں"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"فنگر پرنٹ آئیکن"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"ایپلیکیشن کا آئیکن"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"امدادی پیغام کا علاقہ"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"آپ کے لیے تلاش کیا جا رہا ہے…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"چہرے کا آئیکن"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"مطابقت پذیری زوم بٹن۔"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"چھوٹی سے بڑی اسکرین پر زوم کریں۔"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"بلوٹوتھ مربوط ہے۔"</string>
@@ -823,9 +825,14 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"اسٹوریج"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"اشارات"</string>
     <string name="instant_apps" msgid="6647570248119804907">"فوری ایپس"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"فوری ایپس کو انسٹالیشن کی ضرورت نہیں ہے۔"</string>
+    <!-- no translation found for instant_apps_title (8738419517367449783) -->
+    <skip />
+    <!-- no translation found for instant_apps_message (1183313016396018086) -->
+    <skip />
+    <!-- no translation found for instant_apps_message_with_help (6179830437630729747) -->
+    <skip />
     <string name="app_info" msgid="6856026610594615344">"ایپ کی معلومات"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"براؤزر پر جائیں"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"ویب پر جائیں"</string>
     <string name="mobile_data" msgid="7094582042819250762">"موبائل ڈیٹا"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"‏Wi-Fi آف ہے"</string>
diff --git a/packages/SystemUI/res/values-uz/strings.xml b/packages/SystemUI/res/values-uz/strings.xml
index 2c45ab8..37d31c2 100644
--- a/packages/SystemUI/res/values-uz/strings.xml
+++ b/packages/SystemUI/res/values-uz/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"kamerani ochish"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Yangi vazifa tartibini tanlash"</string>
     <string name="cancel" msgid="6442560571259935130">"Bekor qilish"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Yordam xabari"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"OK"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Barmoq izi skaneriga tegining"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Barmoq izi belgisi"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Ilova belgisi"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Yordam xabari"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Yuzingiz tekshirilmoqda…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Yuz belgisi"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Kattalashtirish tugmasi mosligi."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Kattaroq ekran uchun kichikroqni kattalashtirish."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth ulandi."</string>
@@ -825,9 +827,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Xotira"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Maslahatlar"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Darhol ochiladigan ilovalar"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Darhol ochiladigan ilovalarni o‘rnatish shart emas."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> ishlamoqda"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Ilova o‘rnatilmasdan ochildi."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Ilova o‘rnatilmasdan ochildi. Batafsil axborot oolish uchun bu yerga bosing."</string>
     <string name="app_info" msgid="6856026610594615344">"Ilova haqida"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Brauzerni ochish"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Brauzerga o‘tish"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Mobil internet"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> – <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi o‘chiq"</string>
diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml
index 8c5e10d..f476790 100644
--- a/packages/SystemUI/res/values-vi/strings.xml
+++ b/packages/SystemUI/res/values-vi/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"mở máy ảnh"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Chọn bố cục tác vụ mới"</string>
     <string name="cancel" msgid="6442560571259935130">"Hủy"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Vùng thông báo trợ giúp"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Xác nhận"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Chạm vào cảm biến vân tay"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Biểu tượng vân tay"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Biểu tượng ứng dụng"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Vùng thông báo trợ giúp"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Đang tìm kiếm bạn…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Biểu tượng khuôn mặt"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Nút thu phóng khả năng tương thích."</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Thu phóng màn hình lớn hơn hoặc nhỏ hơn."</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Đã kết nối bluetooth."</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Bộ nhớ"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Gợi ý"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Ứng dụng tức thì"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Ứng dụng tức thì không yêu cầu cài đặt."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> đang chạy"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Ứng dụng được mở mà không cần cài đặt."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Ứng dụng được mở mà không cần cài đặt. Nhấn để tìm hiểu thêm."</string>
     <string name="app_info" msgid="6856026610594615344">"Thông tin ứng dụng"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Đi tới trình duyệt"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Truy cập web"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Dữ liệu di động"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi tắt"</string>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml
index 6259bfd..aaa4c63 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"打开相机"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"选择新的任务布局"</string>
     <string name="cancel" msgid="6442560571259935130">"取消"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"帮助消息区域"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"确认"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"请触摸指纹传感器"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"指纹图标"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"应用图标"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"帮助消息区域"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"正在查找中…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"面孔图标"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"兼容性缩放按钮。"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"将小屏幕的图片放大在较大屏幕上显示。"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"蓝牙已连接。"</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"存储空间"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"提示"</string>
     <string name="instant_apps" msgid="6647570248119804907">"免安装应用"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"免安装应用无需安装就能使用。"</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"正在运行<xliff:g id="APP">%1$s</xliff:g>"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"已打开免安装应用。"</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"已打开免安装应用。点按即可了解详情。"</string>
     <string name="app_info" msgid="6856026610594615344">"应用信息"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"转到浏览器"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"转到网页版"</string>
     <string name="mobile_data" msgid="7094582042819250762">"移动数据"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> - <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"WLAN 已关闭"</string>
diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml
index aa19f4f..aad4b4f 100644
--- a/packages/SystemUI/res/values-zh-rHK/strings.xml
+++ b/packages/SystemUI/res/values-zh-rHK/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"開啟相機"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"選取新的工作版面配置"</string>
     <string name="cancel" msgid="6442560571259935130">"取消"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"說明訊息區域"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"確認"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"請輕觸指紋感應器"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"指紋圖示"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"應用程式圖示"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"說明訊息區域"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"正在搜尋您的臉孔…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"面孔圖示"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"相容性縮放按鈕。"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"將較小螢幕的畫面放大在較大螢幕上顯示。"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"藍牙連線已建立。"</string>
@@ -825,9 +827,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"儲存空間"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"提示"</string>
     <string name="instant_apps" msgid="6647570248119804907">"即時應用程式"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"即時應用程式無需安裝即可使用。"</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> 運作中"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"已開啟免安裝應用程式。"</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"已開啟免安裝應用程式。輕按即可瞭解詳情。"</string>
     <string name="app_info" msgid="6856026610594615344">"應用程式資料"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"前往瀏覽器"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"前往網頁版"</string>
     <string name="mobile_data" msgid="7094582042819250762">"流動數據"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> - <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi 已關閉"</string>
diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml
index 363c610..6b88545 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"開啟攝影機"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"選取新工作版面配置"</string>
     <string name="cancel" msgid="6442560571259935130">"取消"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"說明訊息區域"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"確認"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"請輕觸指紋感應器"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"指紋圖示"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"應用程式圖示"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"說明訊息區域"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"正在尋找你的臉孔…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"臉孔圖示"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"相容性縮放按鈕。"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"將較小螢幕的畫面放大在較大螢幕上顯示。"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"藍牙連線已建立。"</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"儲存空間"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"提示"</string>
     <string name="instant_apps" msgid="6647570248119804907">"免安裝應用程式"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"免安裝應用程式不必安裝就能使用。"</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"正在執行「<xliff:g id="APP">%1$s</xliff:g>」"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"已開啟免安裝應用程式。"</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"已開啟免安裝應用程式。輕觸即可瞭解詳情。"</string>
     <string name="app_info" msgid="6856026610594615344">"應用程式資訊"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"前往瀏覽器"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"前往網頁版"</string>
     <string name="mobile_data" msgid="7094582042819250762">"行動數據"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> - <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"Wi-Fi 已關閉"</string>
diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml
index 0e4729b..085c3b3 100644
--- a/packages/SystemUI/res/values-zu/strings.xml
+++ b/packages/SystemUI/res/values-zu/strings.xml
@@ -103,10 +103,12 @@
     <string name="camera_label" msgid="7261107956054836961">"vula ikhamera"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"Khetha isakhiwo somsebenzi omusha"</string>
     <string name="cancel" msgid="6442560571259935130">"Khansela"</string>
+    <string name="accessibility_biometric_dialog_help_area" msgid="8953787076940186847">"Indawo yosizo lomlayezo"</string>
+    <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Qinisekisa"</string>
     <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Thinta inzwa yesigxivizo somunwe"</string>
     <string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Isithonjana sezigxivizo zeminwe"</string>
-    <string name="accessibility_fingerprint_dialog_app_icon" msgid="3228052542929174609">"Isithonjana sohlelo lokusebenza"</string>
-    <string name="accessibility_fingerprint_dialog_help_area" msgid="5730471601819225159">"Indawo yosizo lomlayezo"</string>
+    <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Kufunwa wena…"</string>
+    <string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Isithonjana sobuso"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Inkinobho evumelekile yokusondeza"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Sondeza kancane esikrinini esikhudlwana"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth ixhunyiwe"</string>
@@ -823,9 +825,11 @@
     <string name="notification_channel_storage" msgid="3077205683020695313">"Isitoreji"</string>
     <string name="notification_channel_hints" msgid="7323870212489152689">"Ukubonisa"</string>
     <string name="instant_apps" msgid="6647570248119804907">"Izinhlelo zokusebenza ezisheshayo"</string>
-    <string name="instant_apps_message" msgid="8116608994995104836">"Izinhlelo zokusebenza ezisheshayo azidingi ukufakwa."</string>
+    <string name="instant_apps_title" msgid="8738419517367449783">"<xliff:g id="APP">%1$s</xliff:g> esebenzayo"</string>
+    <string name="instant_apps_message" msgid="1183313016396018086">"Uhlelo lokusebenza luvulwe ngaphndle kokufakwa."</string>
+    <string name="instant_apps_message_with_help" msgid="6179830437630729747">"Uhlelo lokusebenza luvulwe ngaphandle kokufakwa. Thepha ukuze ufunde kabanzi."</string>
     <string name="app_info" msgid="6856026610594615344">"Ulwazi lohlelo lokusebenza"</string>
-    <string name="go_to_web" msgid="2650669128861626071">"Iya kusiphequluli"</string>
+    <string name="go_to_web" msgid="1106022723459948514">"Iya kuwebhu"</string>
     <string name="mobile_data" msgid="7094582042819250762">"Idatha yeselula"</string>
     <string name="mobile_data_text_format" msgid="3526214522670876454">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="wifi_is_off" msgid="1838559392210456893">"I-Wi-Fi ivaliwe"</string>
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml
index 4920fb2..d1320a3 100644
--- a/packages/SystemUI/res/values/colors.xml
+++ b/packages/SystemUI/res/values/colors.xml
@@ -160,13 +160,13 @@
     <color name="smart_reply_button_background">#ffffffff</color>
     <color name="smart_reply_button_stroke">#ffdadce0</color>
 
-    <!-- Fingerprint dialog colors -->
-    <color name="fingerprint_dialog_bg_color">#ffffffff</color> <!-- 100% white -->
-    <color name="fingerprint_dialog_text_dark_color">#dd000000</color> <!-- 87% black -->
-    <color name="fingerprint_dialog_text_light_color">#89000000</color> <!-- 54% black -->
-    <color name="fingerprint_dialog_dim_color">#80000000</color> <!-- 50% black -->
-    <color name="fingerprint_dialog_error_color">#fff44336</color> <!-- red -->
-    <color name="fingerprint_dialog_fingerprint_color">#ff008577</color> <!-- teal -->
+    <!-- Biometric dialog colors -->
+    <color name="biometric_dialog_bg_color">#ffffffff</color> <!-- 100% white -->
+    <color name="biometric_dialog_text_dark_color">#dd000000</color> <!-- 87% black -->
+    <color name="biometric_dialog_text_light_color">#89000000</color> <!-- 54% black -->
+    <color name="biometric_dialog_dim_color">#80000000</color> <!-- 50% black -->
+    <color name="biometric_dialog_error_color">#fff44336</color> <!-- red -->
+    <color name="biometric_dialog_biometric_color">#ff008577</color> <!-- teal -->
 
     <!-- Logout button -->
     <color name="logout_button_bg_color">#ccffffff</color>
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index 11bd392..2fbf42f 100644
--- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml
@@ -107,7 +107,7 @@
     <integer name="quick_settings_num_columns">3</integer>
 
     <!-- The number of rows in the QuickSettings -->
-    <integer name="quick_settings_num_rows">1</integer>
+    <integer name="quick_settings_max_rows">3</integer>
 
     <!-- The number of columns that the top level tiles span in the QuickSettings -->
     <integer name="quick_settings_user_time_settings_tile_span">1</integer>
@@ -146,19 +146,29 @@
     <!-- Should "LTE"/"4G" be shown instead of "LTE+"/"4G+" when on NETWORK_TYPE_LTE_CA? -->
     <bool name="config_hideLtePlus">false</bool>
 
-    <!-- milliseconds before the heads up notification auto-dismisses. -->
+    <!-- The number of milliseconds before the heads up notification auto-dismisses. -->
     <integer name="heads_up_notification_decay">5000</integer>
 
-    <!-- milliseconds after a heads up notification is pushed back
+    <!-- The number of milliseconds after a heads up notification is pushed back
      before the app can interrupt again. -->
     <integer name="heads_up_default_snooze_length_ms">60000</integer>
 
     <!-- Minimum display time for a heads up notification, in milliseconds. -->
     <integer name="heads_up_notification_minimum_time">2000</integer>
 
-    <!-- milliseconds before the heads up notification accepts touches. -->
+    <!-- The number of milliseconds before the heads up notification accepts touches. -->
     <integer name="touch_acceptance_delay">700</integer>
 
+    <!-- The number of milliseconds before the ambient notification auto-dismisses. This will
+         override the default pulse length. -->
+    <integer name="ambient_notification_decay">6000</integer>
+
+    <!-- Minimum display time for a heads up notification, in milliseconds. -->
+    <integer name="ambient_notification_minimum_time">2000</integer>
+
+    <!-- The number of milliseconds to extend ambient pulse by when prompted (e.g. on touch) -->
+    <integer name="ambient_notification_extension_time">6000</integer>
+
     <!-- The duration in seconds to wait before the dismiss buttons are shown. -->
     <integer name="recents_task_bar_dismiss_delay_seconds">1000</integer>
 
@@ -498,4 +508,7 @@
 
     <!-- Allow dragging the PIP to a location to close it -->
     <bool name="config_pipEnableDismissDragToEdge">true</bool>
+
+    <!-- SystemUI Plugins that can be loaded on user builds. -->
+    <string-array name="config_pluginWhitelist" translatable="false" />
 </resources>
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 26eadb5..7c355c9 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -650,7 +650,6 @@
     <dimen name="keyguard_affordance_icon_width">24dp</dimen>
 
     <dimen name="keyguard_indication_margin_bottom">65dp</dimen>
-    <dimen name="keyguard_indication_margin_bottom_ambient">16dp</dimen>
 
     <!-- The text size for battery level -->
     <dimen name="battery_level_text_size">12sp</dimen>
@@ -939,9 +938,8 @@
          burn-in on AOD. -->
     <dimen name="burn_in_prevention_offset_y">50dp</dimen>
 
-    <!-- The maximum offset in either direction that the charging indication moves vertically
-         to prevent burn-in on AOD. -->
-    <dimen name="charging_indication_burn_in_prevention_offset_y">5dp</dimen>
+    <!-- The maximum offset in either direction that icons move to prevent burn-in on AOD. -->
+    <dimen name="default_burn_in_prevention_offset">5dp</dimen>
 
     <dimen name="corner_size">8dp</dimen>
     <dimen name="top_padding">0dp</dimen>
@@ -955,7 +953,7 @@
     <dimen name="nav_content_padding">0dp</dimen>
     <dimen name="nav_quick_scrub_track_edge_padding">24dp</dimen>
     <dimen name="nav_quick_scrub_track_thickness">10dp</dimen>
-    <dimen name="nav_home_back_gesture_drag_limit">60dp</dimen>
+    <dimen name="nav_home_back_gesture_drag_limit">40dp</dimen>
 
     <!-- Navigation bar shadow params. -->
     <dimen name="nav_key_button_shadow_offset_x">0dp</dimen>
@@ -982,10 +980,10 @@
          the regular notification, when we have remote input history texts present. -->
     <dimen name="remote_input_history_extra_height">60dp</dimen>
 
-    <!-- Fingerprint Dialog values -->
-    <dimen name="fingerprint_dialog_fp_icon_size">64dp</dimen>
-    <dimen name="fingerprint_dialog_animation_translation_offset">350dp</dimen>
-    <dimen name="fingerprint_dialog_corner_size">4dp</dimen>
+    <!-- Biometric Dialog values -->
+    <dimen name="biometric_dialog_biometric_icon_size">64dp</dimen>
+    <dimen name="biometric_dialog_corner_size">4dp</dimen>
+    <dimen name="biometric_dialog_animation_translation_offset">350dp</dimen>
 
     <!-- Wireless Charging Animation values -->
     <dimen name="wireless_charging_dots_radius_start">0dp</dimen>
diff --git a/packages/SystemUI/res/values/integers.xml b/packages/SystemUI/res/values/integers.xml
index 87c4bbb..fd7a105 100644
--- a/packages/SystemUI/res/values/integers.xml
+++ b/packages/SystemUI/res/values/integers.xml
@@ -15,7 +15,7 @@
   ~ limitations under the License
   -->
 <resources>
-    <integer name="fingerprint_dialog_text_gravity">8388611</integer> <!-- gravity start -->
+    <integer name="biometric_dialog_text_gravity">8388611</integer> <!-- gravity start -->
 
     <!-- Action footer width used for layout_width to indicate WRAP_CONTENT (along with a weight of
          0) as we can allow the carrier text to stretch as far as needed in the QS footer. -->
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index 36f97cd..2b51aaa 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -257,14 +257,20 @@
     <!-- Button name for "Cancel". [CHAR LIMIT=NONE] -->
     <string name="cancel">Cancel</string>
 
+    <!-- Content description for the error/help message are when the system-provided fingerprint dialog is showing, for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
+    <string name="accessibility_biometric_dialog_help_area">Help message area</string>
+    <!-- Message shown when a biometric is authenticated, asking the user to confirm authentication [CHAR LIMIT=30] -->
+    <string name="biometric_dialog_confirm">Confirm</string>
+
     <!-- Message shown when the system-provided fingerprint dialog is shown, asking for authentication -->
     <string name="fingerprint_dialog_touch_sensor">Touch the fingerprint sensor</string>
     <!-- Content description of the fingerprint icon when the system-provided fingerprint dialog is showing, for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
     <string name="accessibility_fingerprint_dialog_fingerprint_icon">Fingerprint icon</string>
-    <!-- Content description of the application icon when the system-provided fingerprint dialog is showing, for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
-    <string name="accessibility_fingerprint_dialog_app_icon">Application icon</string>
-    <!-- Content description for the error/help message are when the system-provided fingerprint dialog is showing, for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
-    <string name="accessibility_fingerprint_dialog_help_area">Help message area</string>
+
+    <!-- Message shown when the system-provided face dialog is shown, asking for authentication [CHAR LIMIT=30] -->
+    <string name="face_dialog_looking_for_face">Looking for you\u2026</string>
+    <!-- Content description of the face icon when the system-provided face dialog is showing, for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
+    <string name="accessibility_face_dialog_face_icon">Face icon</string>
 
     <!-- Content description of the compatibility zoom button for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
     <string name="accessibility_compatibility_zoom_button">Compatibility zoom button.</string>
@@ -2132,14 +2138,23 @@
     <!-- App label of the instant apps notification [CHAR LIMIT=60] -->
     <string name="instant_apps">Instant Apps</string>
 
-    <!-- Message of the instant apps notification indicating they don't need install [CHAR LIMIT=NONE] -->
-    <string name="instant_apps_message">Instant apps don\'t require installation.</string>
+    <!-- Title of notification indicating that an instant app is running. [CHAR LIMIT=60] -->
+    <string name="instant_apps_title"><xliff:g id="app" example="Gmail">%1$s</xliff:g> running</string>
+
+    <!-- Message of the instant apps notification indicating they don't need install. [CHAR LIMIT=NONE] -->
+    <string name="instant_apps_message">App opened without being installed.</string>
+
+    <!-- Message of the instant apps notification indicating they don't need install, plus a link to more information. [CHAR LIMIT=NONE] -->
+    <string name="instant_apps_message_with_help">App opened without being installed. Tap to learn more.</string>
+
+    <!-- URL of the webpage that explains instant apps. -->
+    <string name="instant_apps_help_url" translatable="false"></string>
 
     <!-- Action label for launching app info on the specified app [CHAR LIMIT=20] -->
     <string name="app_info">App info</string>
 
     <!-- Action label for switching to a browser for an instant app [CHAR LIMIT=20] -->
-    <string name="go_to_web">Go to browser</string>
+    <string name="go_to_web">Go to web</string>
 
     <!-- Quick settings tile for toggling mobile data [CHAR LIMIT=20] -->
     <string name="mobile_data">Mobile data</string>
diff --git a/packages/SystemUI/shared/Android.bp b/packages/SystemUI/shared/Android.bp
index 710b5f7..defc49b 100644
--- a/packages/SystemUI/shared/Android.bp
+++ b/packages/SystemUI/shared/Android.bp
@@ -20,6 +20,10 @@
         "src/**/I*.aidl",
     ],
 
+    static_libs: [
+        "SystemUIPluginLib"
+    ],
+
     // Enforce that the library is build agains java 7 so that there are
     // no compatibility issues with launcher
     java_version: "1.7",
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginInitializer.java b/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginInitializer.java
new file mode 100644
index 0000000..9857894
--- /dev/null
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginInitializer.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.systemui.shared.plugins;
+
+import android.content.Context;
+import android.os.Looper;
+
+/**
+ * Provides necessary components for initializing {@link PluginManagerImpl}.
+ */
+public interface PluginInitializer {
+
+    Looper getBgLooper();
+
+    /**
+     * This Runnable is run on the bg looper during initialization of {@link PluginManagerImpl}.
+     * It can be null.
+     */
+    Runnable getBgInitCallback();
+
+    String[] getWhitelistedPlugins(Context context);
+}
diff --git a/packages/SystemUI/src/com/android/systemui/plugins/PluginInstanceManager.java b/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginInstanceManager.java
similarity index 93%
rename from packages/SystemUI/src/com/android/systemui/plugins/PluginInstanceManager.java
rename to packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginInstanceManager.java
index d5541e9..e80c079 100644
--- a/packages/SystemUI/src/com/android/systemui/plugins/PluginInstanceManager.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginInstanceManager.java
@@ -12,7 +12,7 @@
  * permissions and limitations under the License.
  */
 
-package com.android.systemui.plugins;
+package com.android.systemui.shared.plugins;
 
 import android.app.Notification;
 import android.app.Notification.Action;
@@ -33,14 +33,19 @@
 import android.os.Looper;
 import android.os.Message;
 import android.os.UserHandle;
+import android.util.ArraySet;
 import android.util.Log;
 import android.view.LayoutInflater;
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
-import com.android.systemui.plugins.VersionInfo.InvalidVersionException;
+import com.android.systemui.plugins.Plugin;
+import com.android.systemui.plugins.PluginFragment;
+import com.android.systemui.plugins.PluginListener;
+import com.android.systemui.shared.plugins.VersionInfo.InvalidVersionException;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 public class PluginInstanceManager<T extends Plugin> {
@@ -63,17 +68,18 @@
     private final boolean isDebuggable;
     private final PackageManager mPm;
     private final PluginManagerImpl mManager;
+    private final ArraySet<String> mWhitelistedPlugins = new ArraySet<>();
 
     PluginInstanceManager(Context context, String action, PluginListener<T> listener,
             boolean allowMultiple, Looper looper, VersionInfo version, PluginManagerImpl manager) {
         this(context, context.getPackageManager(), action, listener, allowMultiple, looper, version,
-                manager, Build.IS_DEBUGGABLE);
+                manager, Build.IS_DEBUGGABLE, manager.getWhitelistedPlugins());
     }
 
     @VisibleForTesting
     PluginInstanceManager(Context context, PackageManager pm, String action,
             PluginListener<T> listener, boolean allowMultiple, Looper looper, VersionInfo version,
-            PluginManagerImpl manager, boolean debuggable) {
+            PluginManagerImpl manager, boolean debuggable, String[] pluginWhitelist) {
         mMainHandler = new MainHandler(Looper.getMainLooper());
         mPluginHandler = new PluginHandler(looper);
         mManager = manager;
@@ -83,6 +89,7 @@
         mListener = listener;
         mAllowMultiple = allowMultiple;
         mVersion = version;
+        mWhitelistedPlugins.addAll(Arrays.asList(pluginWhitelist));
         isDebuggable = debuggable;
     }
 
@@ -108,7 +115,7 @@
 
     public void destroy() {
         if (DEBUG) Log.d(TAG, "stopListening");
-        ArrayList<PluginInfo> plugins = new ArrayList<>(mPluginHandler.mPlugins);
+        ArrayList<PluginInfo> plugins = new ArrayList<PluginInfo>(mPluginHandler.mPlugins);
         for (PluginInfo plugin : plugins) {
             mMainHandler.obtainMessage(MainHandler.PLUGIN_DISCONNECTED,
                     plugin.mPlugin).sendToTarget();
@@ -126,7 +133,7 @@
 
     public boolean checkAndDisable(String className) {
         boolean disableAny = false;
-        ArrayList<PluginInfo> plugins = new ArrayList<>(mPluginHandler.mPlugins);
+        ArrayList<PluginInfo> plugins = new ArrayList<PluginInfo>(mPluginHandler.mPlugins);
         for (PluginInfo info : plugins) {
             if (className.startsWith(info.mPackage)) {
                 disable(info);
@@ -137,7 +144,7 @@
     }
 
     public boolean disableAll() {
-        ArrayList<PluginInfo> plugins = new ArrayList<>(mPluginHandler.mPlugins);
+        ArrayList<PluginInfo> plugins = new ArrayList<PluginInfo>(mPluginHandler.mPlugins);
         for (int i = 0; i < plugins.size(); i++) {
             disable(plugins.get(i));
         }
@@ -159,7 +166,7 @@
     }
 
     public <T> boolean dependsOn(Plugin p, Class<T> cls) {
-        ArrayList<PluginInfo> plugins = new ArrayList<>(mPluginHandler.mPlugins);
+        ArrayList<PluginInfo> plugins = new ArrayList<PluginInfo>(mPluginHandler.mPlugins);
         for (PluginInfo info : plugins) {
             if (info.mPlugin.getClass().getName().equals(p.getClass().getName())) {
                 return info.mVersion != null && info.mVersion.hasClass(cls);
@@ -294,9 +301,9 @@
         protected PluginInfo<T> handleLoadPlugin(ComponentName component) {
             // This was already checked, but do it again here to make extra extra sure, we don't
             // use these on production builds.
-            if (!isDebuggable) {
+            if (!isDebuggable && !mWhitelistedPlugins.contains(component.getPackageName())) {
                 // Never ever ever allow these on production builds, they are only for prototyping.
-                Log.d(TAG, "Somehow hit second debuggable check");
+                Log.w(TAG, "Plugin cannot be loaded on production build: " + component);
                 return null;
             }
             String pkg = component.getPackageName();
diff --git a/packages/SystemUI/src/com/android/systemui/plugins/PluginManager.java b/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginManager.java
similarity index 72%
rename from packages/SystemUI/src/com/android/systemui/plugins/PluginManager.java
rename to packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginManager.java
index 298eaf1..208f4fe 100644
--- a/packages/SystemUI/src/com/android/systemui/plugins/PluginManager.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginManager.java
@@ -12,10 +12,12 @@
  * permissions and limitations under the License.
  */
 
-package com.android.systemui.plugins;
+package com.android.systemui.shared.plugins;
 
 import android.text.TextUtils;
 
+import com.android.systemui.plugins.Plugin;
+import com.android.systemui.plugins.PluginListener;
 import com.android.systemui.plugins.annotations.ProvidesInterface;
 
 public interface PluginManager {
@@ -40,14 +42,17 @@
 
     <T> boolean dependsOn(Plugin p, Class<T> cls);
 
-    static <P> String getAction(Class<P> cls) {
-        ProvidesInterface info = cls.getDeclaredAnnotation(ProvidesInterface.class);
-        if (info == null) {
-            throw new RuntimeException(cls + " doesn't provide an interface");
+    class Helper {
+        public static <P> String getAction(Class<P> cls) {
+            ProvidesInterface info = cls.getDeclaredAnnotation(ProvidesInterface.class);
+            if (info == null) {
+                throw new RuntimeException(cls + " doesn't provide an interface");
+            }
+            if (TextUtils.isEmpty(info.action())) {
+                throw new RuntimeException(cls + " doesn't provide an action");
+            }
+            return info.action();
         }
-        if (TextUtils.isEmpty(info.action())) {
-            throw new RuntimeException(cls + " doesn't provide an action");
-        }
-        return info.action();
     }
+
 }
diff --git a/packages/SystemUI/src/com/android/systemui/plugins/PluginManagerImpl.java b/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginManagerImpl.java
similarity index 87%
rename from packages/SystemUI/src/com/android/systemui/plugins/PluginManagerImpl.java
rename to packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginManagerImpl.java
index 2a17e35..7f1d161 100644
--- a/packages/SystemUI/src/com/android/systemui/plugins/PluginManagerImpl.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginManagerImpl.java
@@ -12,7 +12,7 @@
  * permissions and limitations under the License.
  */
 
-package com.android.systemui.plugins;
+package com.android.systemui.shared.plugins;
 
 import android.app.Notification;
 import android.app.Notification.Action;
@@ -37,15 +37,15 @@
 import android.util.ArrayMap;
 import android.util.ArraySet;
 import android.util.Log;
-import android.util.Log.TerribleFailure;
-import android.util.Log.TerribleFailureHandler;
 import android.widget.Toast;
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
-import com.android.systemui.Dependency;
-import com.android.systemui.plugins.PluginInstanceManager.PluginContextWrapper;
-import com.android.systemui.plugins.PluginInstanceManager.PluginInfo;
+
+import com.android.systemui.plugins.Plugin;
+import com.android.systemui.plugins.PluginListener;
+import com.android.systemui.shared.plugins.PluginInstanceManager.PluginContextWrapper;
+import com.android.systemui.shared.plugins.PluginInstanceManager.PluginInfo;
 import com.android.systemui.plugins.annotations.ProvidesInterface;
 
 import dalvik.system.PathClassLoader;
@@ -53,13 +53,14 @@
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
 import java.lang.Thread.UncaughtExceptionHandler;
+import java.util.Arrays;
 import java.util.Map;
-
 /**
  * @see Plugin
  */
 public class PluginManagerImpl extends BroadcastReceiver implements PluginManager {
 
+    private static final String TAG = PluginManagerImpl.class.getSimpleName();
     static final String DISABLE_PLUGIN = "com.android.systemui.action.DISABLE_PLUGIN";
 
     private static PluginManager sInstance;
@@ -68,6 +69,7 @@
             = new ArrayMap<>();
     private final Map<String, ClassLoader> mClassLoaders = new ArrayMap<>();
     private final ArraySet<String> mOneShotPackages = new ArraySet<>();
+    private final ArraySet<String> mWhitelistedPlugins = new ArraySet<>();
     private final Context mContext;
     private final PluginInstanceManagerFactory mFactory;
     private final boolean isDebuggable;
@@ -78,33 +80,35 @@
     private Looper mLooper;
     private boolean mWtfsSet;
 
-    public PluginManagerImpl(Context context) {
-        this(context, new PluginInstanceManagerFactory(),
-                Build.IS_DEBUGGABLE, Thread.getUncaughtExceptionPreHandler());
+    public PluginManagerImpl(Context context, PluginInitializer initializer) {
+        this(context, new PluginInstanceManagerFactory(), Build.IS_DEBUGGABLE,
+                Thread.getUncaughtExceptionPreHandler(), initializer);
     }
 
     @VisibleForTesting
     PluginManagerImpl(Context context, PluginInstanceManagerFactory factory, boolean debuggable,
-            UncaughtExceptionHandler defaultHandler) {
+            UncaughtExceptionHandler defaultHandler, PluginInitializer initializer) {
         mContext = context;
         mFactory = factory;
-        mLooper = Dependency.get(Dependency.BG_LOOPER);
+        mLooper = initializer.getBgLooper();
         isDebuggable = debuggable;
+        mWhitelistedPlugins.addAll(Arrays.asList(initializer.getWhitelistedPlugins(mContext)));
         mPluginPrefs = new PluginPrefs(mContext);
 
         PluginExceptionHandler uncaughtExceptionHandler = new PluginExceptionHandler(
                 defaultHandler);
         Thread.setUncaughtExceptionPreHandler(uncaughtExceptionHandler);
-        if (isDebuggable) {
-            new Handler(mLooper).post(() -> {
-                // Plugin dependencies that don't have another good home can go here, but
-                // dependencies that have better places to init can happen elsewhere.
-                Dependency.get(PluginDependencyProvider.class)
-                        .allowPluginDependency(ActivityStarter.class);
-            });
+
+        Runnable bgRunnable = initializer.getBgInitCallback();
+        if (bgRunnable != null) {
+            new Handler(mLooper).post(bgRunnable);
         }
     }
 
+    public String[] getWhitelistedPlugins() {
+        return mWhitelistedPlugins.toArray(new String[0]);
+    }
+
     public <T extends Plugin> T getOneShotPlugin(Class<T> cls) {
         ProvidesInterface info = cls.getDeclaredAnnotation(ProvidesInterface.class);
         if (info == null) {
@@ -117,14 +121,12 @@
     }
 
     public <T extends Plugin> T getOneShotPlugin(String action, Class<?> cls) {
-        if (!isDebuggable) {
-            // Never ever ever allow these on production builds, they are only for prototyping.
-            return null;
-        }
         if (Looper.myLooper() != Looper.getMainLooper()) {
             throw new RuntimeException("Must be called from UI thread");
         }
-        PluginInstanceManager<T> p = mFactory.createPluginInstanceManager(mContext, action, null,
+        // Passing null causes compiler to complain about incompatible (generic) types.
+        PluginListener<Plugin> dummy = null;
+        PluginInstanceManager<T> p = mFactory.createPluginInstanceManager(mContext, action, dummy,
                 false, mLooper, cls, this);
         mPluginPrefs.addAction(action);
         PluginInfo<T> info = p.getPlugin();
@@ -143,7 +145,7 @@
 
     public <T extends Plugin> void addPluginListener(PluginListener<T> listener, Class<?> cls,
             boolean allowMultiple) {
-        addPluginListener(PluginManager.getAction(cls), listener, cls, allowMultiple);
+        addPluginListener(PluginManager.Helper.getAction(cls), listener, cls, allowMultiple);
     }
 
     public <T extends Plugin> void addPluginListener(String action, PluginListener<T> listener,
@@ -153,10 +155,6 @@
 
     public <T extends Plugin> void addPluginListener(String action, PluginListener<T> listener,
             Class cls, boolean allowMultiple) {
-        if (!isDebuggable) {
-            // Never ever ever allow these on production builds, they are only for prototyping.
-            return;
-        }
         mPluginPrefs.addAction(action);
         PluginInstanceManager p = mFactory.createPluginInstanceManager(mContext, action, listener,
                 allowMultiple, mLooper, cls, this);
@@ -166,10 +164,6 @@
     }
 
     public void removePluginListener(PluginListener<?> listener) {
-        if (!isDebuggable) {
-            // Never ever ever allow these on production builds, they are only for prototyping.
-            return;
-        }
         if (!mPluginMap.containsKey(listener)) return;
         mPluginMap.remove(listener).destroy();
         if (mPluginMap.size() == 0) {
@@ -261,6 +255,11 @@
     }
 
     public ClassLoader getClassLoader(String sourceDir, String pkg) {
+        if (!isDebuggable && !mWhitelistedPlugins.contains(pkg)) {
+            Log.w(TAG, "Cannot get class loader for non-whitelisted plugin. Src:" + sourceDir +
+                    ", pkg: " + pkg);
+            return null;
+        }
         if (mClassLoaders.containsKey(pkg)) {
             return mClassLoaders.get(pkg);
         }
@@ -299,8 +298,12 @@
     public void handleWtfs() {
         if (!mWtfsSet) {
             mWtfsSet = true;
-            Log.setWtfHandler((tag, what, system) -> {
-                throw new CrashWhilePluginActiveException(what);
+            Log.setWtfHandler(new Log.TerribleFailureHandler() {
+                @Override
+                public void onTerribleFailure(String tag, Log.TerribleFailure what,
+                        boolean system) {
+                    throw new CrashWhilePluginActiveException(what);
+                }
             });
         }
     }
diff --git a/packages/SystemUI/src/com/android/systemui/plugins/PluginPrefs.java b/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginPrefs.java
similarity index 97%
rename from packages/SystemUI/src/com/android/systemui/plugins/PluginPrefs.java
rename to packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginPrefs.java
index 3671b3c..c0c5d70 100644
--- a/packages/SystemUI/src/com/android/systemui/plugins/PluginPrefs.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginPrefs.java
@@ -12,7 +12,7 @@
  * permissions and limitations under the License.
  */
 
-package com.android.systemui.plugins;
+package com.android.systemui.shared.plugins;
 
 import android.content.Context;
 import android.content.SharedPreferences;
diff --git a/packages/SystemUI/src/com/android/systemui/plugins/VersionInfo.java b/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/VersionInfo.java
similarity index 75%
rename from packages/SystemUI/src/com/android/systemui/plugins/VersionInfo.java
rename to packages/SystemUI/shared/src/com/android/systemui/shared/plugins/VersionInfo.java
index facfd98..bb845cd 100644
--- a/packages/SystemUI/src/com/android/systemui/plugins/VersionInfo.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/VersionInfo.java
@@ -12,7 +12,9 @@
  * permissions and limitations under the License.
  */
 
-package com.android.systemui.plugins;
+package com.android.systemui.shared.plugins;
+
+import android.util.ArrayMap;
 
 import com.android.systemui.plugins.annotations.Dependencies;
 import com.android.systemui.plugins.annotations.DependsOn;
@@ -20,7 +22,7 @@
 import com.android.systemui.plugins.annotations.Requirements;
 import com.android.systemui.plugins.annotations.Requires;
 
-import android.util.ArrayMap;
+import java.util.function.BiConsumer;
 
 public class VersionInfo {
 
@@ -73,25 +75,32 @@
     }
 
     public void checkVersion(VersionInfo plugin) throws InvalidVersionException {
-        ArrayMap<Class<?>, Version> versions = new ArrayMap<>(mVersions);
-        plugin.mVersions.forEach((aClass, version) -> {
-            Version v = versions.remove(aClass);
-            if (v == null) {
-                v = createVersion(aClass);
-            }
-            if (v == null) {
-                throw new InvalidVersionException(aClass.getSimpleName()
-                        + " does not provide an interface", false);
-            }
-            if (v.mVersion != version.mVersion) {
-                throw new InvalidVersionException(aClass, v.mVersion < version.mVersion, v.mVersion,
-                        version.mVersion);
+        final ArrayMap<Class<?>, Version> versions = new ArrayMap<>(mVersions);
+        plugin.mVersions.forEach(new BiConsumer<Class<?>, Version>() {
+            @Override
+            public void accept(Class<?> aClass, Version version) {
+                Version v = versions.remove(aClass);
+                if (v == null) {
+                    v = VersionInfo.this.createVersion(aClass);
+                }
+                if (v == null) {
+                    throw new InvalidVersionException(aClass.getSimpleName()
+                            + " does not provide an interface", false);
+                }
+                if (v.mVersion != version.mVersion) {
+                    throw new InvalidVersionException(aClass, v.mVersion < version.mVersion,
+                            v.mVersion,
+                            version.mVersion);
+                }
             }
         });
-        versions.forEach((aClass, version) -> {
-            if (version.mRequired) {
-                throw new InvalidVersionException("Missing required dependency "
-                        + aClass.getSimpleName(), false);
+        versions.forEach(new BiConsumer<Class<?>, Version>() {
+            @Override
+            public void accept(Class<?> aClass, Version version) {
+                if (version.mRequired) {
+                    throw new InvalidVersionException("Missing required dependency "
+                            + aClass.getSimpleName(), false);
+                }
             }
         });
     }
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/view/RecentsTransition.java b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/view/RecentsTransition.java
index ab89043..e253360 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/view/RecentsTransition.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/view/RecentsTransition.java
@@ -21,13 +21,11 @@
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
 import android.graphics.GraphicBuffer;
+import android.graphics.Picture;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.IRemoteCallback;
 import android.os.RemoteException;
-import android.view.DisplayListCanvas;
-import android.view.RenderNode;
-import android.view.ThreadedRenderer;
 import android.view.View;
 
 import java.util.function.Consumer;
@@ -108,12 +106,10 @@
      *         null if we were unable to allocate a hardware bitmap.
      */
     public static Bitmap createHardwareBitmap(int width, int height, Consumer<Canvas> consumer) {
-        RenderNode node = RenderNode.create("RecentsTransition", null);
-        node.setLeftTopRightBottom(0, 0, width, height);
-        node.setClipToBounds(false);
-        DisplayListCanvas c = node.start(width, height);
-        consumer.accept(c);
-        node.end(c);
-        return ThreadedRenderer.createHardwareBitmap(node, width, height);
+        final Picture picture = new Picture();
+        final Canvas canvas = picture.beginRecording(width, height);
+        consumer.accept(canvas);
+        picture.endRecording();
+        return Bitmap.createBitmap(picture);
     }
 }
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityManagerWrapper.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityManagerWrapper.java
index b04d047..c7910f9 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityManagerWrapper.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityManagerWrapper.java
@@ -342,6 +342,20 @@
     }
 
     /**
+     * Moves an already resumed task to the side of the screen to initiate split screen.
+     */
+    public boolean setTaskWindowingModeSplitScreenPrimary(int taskId, int createMode,
+            Rect initialBounds) {
+        try {
+            return ActivityTaskManager.getService().setTaskWindowingModeSplitScreenPrimary(taskId,
+                    createMode, true /* onTop */, false /* animate */, initialBounds,
+                    true /* showRecents */);
+        } catch (RemoteException e) {
+            return false;
+        }
+    }
+
+    /**
      * Registers a task stack listener with the system.
      * This should be called on the main thread.
      */
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityOptionsCompat.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityOptionsCompat.java
index 36fb3a7..7154f53 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityOptionsCompat.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityOptionsCompat.java
@@ -21,6 +21,8 @@
 import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
 
 import android.app.ActivityOptions;
+import android.content.Context;
+import android.os.Handler;
 
 /**
  * Wrapper around internal ActivityOptions creation.
@@ -43,4 +45,17 @@
             RemoteAnimationAdapterCompat remoteAnimationAdapter) {
         return ActivityOptions.makeRemoteAnimation(remoteAnimationAdapter.getWrapped());
     }
+
+    public static ActivityOptions makeCustomAnimation(Context context, int enterResId,
+            int exitResId, final Runnable callback, final Handler callbackHandler) {
+        return ActivityOptions.makeCustomAnimation(context, enterResId, exitResId, callbackHandler,
+                new ActivityOptions.OnAnimationStartedListener() {
+                    @Override
+                    public void onAnimationStarted() {
+                        if (callback != null) {
+                            callbackHandler.post(callback);
+                        }
+                    }
+                });
+    }
 }
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/WindowManagerWrapper.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/WindowManagerWrapper.java
index d83b36d..3191d14 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/WindowManagerWrapper.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/WindowManagerWrapper.java
@@ -151,6 +151,25 @@
         }
     }
 
+    public void setPipVisibility(final boolean visible) {
+        try {
+            WindowManagerGlobal.getWindowManagerService().setPipVisibility(visible);
+        } catch (RemoteException e) {
+            Log.e(TAG, "Unable to reach window manager", e);
+        }
+    }
+
+    /**
+     * @return whether there is a soft nav bar.
+     */
+    public boolean hasSoftNavigationBar() {
+        try {
+            return WindowManagerGlobal.getWindowManagerService().hasNavigationBar();
+        } catch (RemoteException e) {
+            return false;
+        }
+    }
+
     /**
      * @return The side of the screen where navigation bar is positioned.
      * @see #NAV_BAR_POS_RIGHT
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java
index 5bbbc52..28eff46 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java
@@ -14,7 +14,7 @@
 import com.android.systemui.Dependency;
 import com.android.systemui.plugins.ClockPlugin;
 import com.android.systemui.plugins.PluginListener;
-import com.android.systemui.plugins.PluginManager;
+import com.android.systemui.shared.plugins.PluginManager;
 
 /**
  * Switch to show plugin clock when plugin is connected, otherwise it will show default clock.
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java
index 5ffdc7b..2daa33b 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java
@@ -377,6 +377,7 @@
 
     @Override
     public void onResume(int reason) {
+        displayDefaultSecurityMessage();
     }
 
     @Override
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java
index b159b39..b8df3c06 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java
@@ -342,12 +342,11 @@
                 case SimPuk:
                     // Shortcut for SIM PIN/PUK to go to directly to user's security screen or home
                     SecurityMode securityMode = mSecurityModel.getSecurityMode(targetUserId);
-                    if (securityMode != SecurityMode.None
-                            || !mLockPatternUtils.isLockScreenDisabled(
+                    if (securityMode == SecurityMode.None || mLockPatternUtils.isLockScreenDisabled(
                             KeyguardUpdateMonitor.getCurrentUser())) {
-                        showSecurityScreen(securityMode);
-                    } else {
                         finish = true;
+                    } else {
+                        showSecurityScreen(securityMode);
                     }
                     break;
 
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
index ff6a1c9..f1b53fe 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -39,9 +39,9 @@
 import android.app.UserSwitchObserver;
 import android.app.admin.DevicePolicyManager;
 import android.app.trust.TrustManager;
-import android.hardware.biometrics.BiometricSourceType;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
+import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
@@ -49,11 +49,13 @@
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.database.ContentObserver;
+import android.hardware.biometrics.BiometricSourceType;
 import android.hardware.face.FaceManager;
 import android.hardware.fingerprint.FingerprintManager;
 import android.hardware.fingerprint.FingerprintManager.AuthenticationCallback;
 import android.hardware.fingerprint.FingerprintManager.AuthenticationResult;
 import android.media.AudioManager;
+import android.net.Uri;
 import android.os.BatteryManager;
 import android.os.CancellationSignal;
 import android.os.Handler;
@@ -75,7 +77,6 @@
 import android.telephony.TelephonyManager;
 import android.util.Log;
 import android.util.SparseBooleanArray;
-import android.util.SparseIntArray;
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.telephony.IccCardConstants;
@@ -85,9 +86,8 @@
 import com.android.internal.util.Preconditions;
 import com.android.internal.widget.LockPatternUtils;
 import com.android.settingslib.WirelessUtils;
-import com.android.systemui.recents.misc.SysUiTaskStackChangeListener;
 import com.android.systemui.shared.system.ActivityManagerWrapper;
-
+import com.android.systemui.shared.system.TaskStackChangeListener;
 import com.google.android.collect.Lists;
 
 import java.io.FileDescriptor;
@@ -250,6 +250,51 @@
     private static final int HW_UNAVAILABLE_TIMEOUT = 3000; // ms
     private static final int HW_UNAVAILABLE_RETRY_MAX = 3;
 
+    private class SettingObserver extends ContentObserver {
+        private final Uri FACE_UNLOCK_KEYGUARD_ENABLED =
+                Settings.Secure.getUriFor(Settings.Secure.FACE_UNLOCK_KEYGUARD_ENABLED);
+
+        private final ContentResolver mContentResolver;
+
+        /**
+         * Creates a content observer.
+         *
+         * @param handler The handler to run {@link #onChange} on, or null if none.
+         */
+        public SettingObserver(Handler handler) {
+            super(handler);
+            mContentResolver = mContext.getContentResolver();
+            updateContentObserver();
+        }
+
+        public void updateContentObserver() {
+            mContentResolver.unregisterContentObserver(this);
+            mContentResolver.registerContentObserver(FACE_UNLOCK_KEYGUARD_ENABLED,
+                    false /* notifyForDescendents */,
+                    this,
+                    UserHandle.USER_CURRENT);
+
+            // Update the value immediately
+            onChange(true /* selfChange */, FACE_UNLOCK_KEYGUARD_ENABLED);
+        }
+
+        @Override
+        public void onChange(boolean selfChange, Uri uri) {
+            if (FACE_UNLOCK_KEYGUARD_ENABLED.equals(uri)) {
+                    mFaceSettingEnabledForUser =
+                            Settings.Secure.getIntForUser(
+                                    mContentResolver,
+                                    Settings.Secure.FACE_UNLOCK_KEYGUARD_ENABLED,
+                                    1 /* default */,
+                                    UserHandle.USER_CURRENT) != 0;
+                    updateBiometricListeningState();
+            }
+        }
+    }
+
+    private final SettingObserver mSettingObserver;
+    private boolean mFaceSettingEnabledForUser;
+
     private final Handler mHandler = new Handler(Looper.getMainLooper()) {
         @Override
         public void handleMessage(Message msg) {
@@ -1389,6 +1434,7 @@
         mSubscriptionManager = SubscriptionManager.from(context);
         mDeviceProvisioned = isDeviceProvisionedInSettingsDb();
         mStrongAuthTracker = new StrongAuthTracker(context);
+        mSettingObserver = new SettingObserver(mHandler);
 
         // Since device can't be un-provisioned, we only need to register a content observer
         // to update mDeviceProvisioned when we are...
@@ -1549,7 +1595,7 @@
                 (mBouncer && !mKeyguardGoingAway) || mGoingToSleep ||
                 shouldListenForFaceAssistant() || (mKeyguardOccluded && mIsDreaming))
                 && !mSwitchingUser && !isFaceDisabled(getCurrentUser())
-                && !mKeyguardGoingAway;
+                && !mKeyguardGoingAway && mFaceSettingEnabledForUser;
     }
 
 
@@ -1719,6 +1765,7 @@
      * Handle {@link #MSG_USER_SWITCH_COMPLETE}
      */
     private void handleUserSwitchComplete(int userId) {
+        mSettingObserver.updateContentObserver();
         for (int i = 0; i < mCallbacks.size(); i++) {
             KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get();
             if (cb != null) {
@@ -2170,8 +2217,8 @@
         }
     }
 
-    private final SysUiTaskStackChangeListener
-            mTaskStackListener = new SysUiTaskStackChangeListener() {
+    private final TaskStackChangeListener
+            mTaskStackListener = new TaskStackChangeListener() {
         @Override
         public void onTaskStackChangedBackground() {
             try {
diff --git a/packages/SystemUI/src/com/android/systemui/Dependency.java b/packages/SystemUI/src/com/android/systemui/Dependency.java
index b2cf305..fe1fe1a 100644
--- a/packages/SystemUI/src/com/android/systemui/Dependency.java
+++ b/packages/SystemUI/src/com/android/systemui/Dependency.java
@@ -39,9 +39,10 @@
 import com.android.systemui.keyguard.ScreenLifecycle;
 import com.android.systemui.keyguard.WakefulnessLifecycle;
 import com.android.systemui.plugins.ActivityStarter;
+import com.android.systemui.plugins.PluginInitializerImpl;
 import com.android.systemui.plugins.PluginDependencyProvider;
-import com.android.systemui.plugins.PluginManager;
-import com.android.systemui.plugins.PluginManagerImpl;
+import com.android.systemui.shared.plugins.PluginManager;
+import com.android.systemui.shared.plugins.PluginManagerImpl;
 import com.android.systemui.plugins.VolumeDialogController;
 import com.android.systemui.power.EnhancedEstimates;
 import com.android.systemui.power.EnhancedEstimatesImpl;
@@ -236,7 +237,7 @@
                 new DeviceProvisionedControllerImpl(mContext));
 
         mProviders.put(PluginManager.class, () ->
-                new PluginManagerImpl(mContext));
+                new PluginManagerImpl(mContext, new PluginInitializerImpl()));
 
         mProviders.put(AssistManager.class, () ->
                 new AssistManager(getDependency(DeviceProvisionedController.class), mContext));
diff --git a/packages/SystemUI/src/com/android/systemui/OverviewProxyService.java b/packages/SystemUI/src/com/android/systemui/OverviewProxyService.java
index bd2b7a5..1af2156 100644
--- a/packages/SystemUI/src/com/android/systemui/OverviewProxyService.java
+++ b/packages/SystemUI/src/com/android/systemui/OverviewProxyService.java
@@ -16,6 +16,11 @@
 
 package com.android.systemui;
 
+import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE;
+import static com.android.systemui.shared.system.NavigationBarCompat.FLAG_DISABLE_SWIPE_UP;
+import static com.android.systemui.shared.system.NavigationBarCompat.FLAG_SHOW_OVERVIEW_BUTTON;
+import static com.android.systemui.shared.system.NavigationBarCompat.InteractionType;
+
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
@@ -33,11 +38,7 @@
 import android.provider.Settings;
 import android.util.Log;
 import android.view.MotionEvent;
-
 import com.android.systemui.OverviewProxyService.OverviewProxyListener;
-import com.android.systemui.recents.events.EventBus;
-import com.android.systemui.recents.events.activity.DockedFirstAnimationFrameEvent;
-import com.android.systemui.recents.misc.SystemServicesProxy;
 import com.android.systemui.shared.recents.IOverviewProxy;
 import com.android.systemui.shared.recents.ISystemUiProxy;
 import com.android.systemui.shared.system.ActivityManagerWrapper;
@@ -46,17 +47,11 @@
 import com.android.systemui.statusbar.policy.CallbackController;
 import com.android.systemui.statusbar.policy.DeviceProvisionedController;
 import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceProvisionedListener;
-
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.List;
 
-import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE;
-import static com.android.systemui.shared.system.NavigationBarCompat.FLAG_DISABLE_SWIPE_UP;
-import static com.android.systemui.shared.system.NavigationBarCompat.FLAG_SHOW_OVERVIEW_BUTTON;
-import static com.android.systemui.shared.system.NavigationBarCompat.InteractionType;
-
 /**
  * Class to send information from overview to launcher with a binder.
  */
@@ -133,7 +128,10 @@
             }
             long token = Binder.clearCallingIdentity();
             try {
-                EventBus.getDefault().post(new DockedFirstAnimationFrameEvent());
+                Divider divider = SysUiServiceProvider.getComponent(mContext, Divider.class);
+                if (divider != null) {
+                    divider.onDockedFirstAnimationFrame();
+                }
             } finally {
                 Binder.restoreCallingIdentity(token);
             }
@@ -314,8 +312,7 @@
                 getDefaultInteractionFlags());
 
         // Listen for the package update changes.
-        if (SystemServicesProxy.getInstance(context)
-                .isSystemUser(mDeviceProvisionedController.getCurrentUser())) {
+        if (mDeviceProvisionedController.getCurrentUser() == UserHandle.USER_SYSTEM) {
             updateEnabledState();
             mDeviceProvisionedController.addCallback(mDeviceProvisionedCallback);
             IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED);
diff --git a/packages/SystemUI/src/com/android/systemui/PluginInflateContainer.java b/packages/SystemUI/src/com/android/systemui/PluginInflateContainer.java
index ddd4833..f6ad626 100644
--- a/packages/SystemUI/src/com/android/systemui/PluginInflateContainer.java
+++ b/packages/SystemUI/src/com/android/systemui/PluginInflateContainer.java
@@ -21,7 +21,7 @@
 import android.view.View;
 
 import com.android.systemui.plugins.PluginListener;
-import com.android.systemui.plugins.PluginManager;
+import com.android.systemui.shared.plugins.PluginManager;
 import com.android.systemui.plugins.ViewProvider;
 
 /**
diff --git a/packages/SystemUI/src/com/android/systemui/RecentsComponent.java b/packages/SystemUI/src/com/android/systemui/RecentsComponent.java
index f9dbf4a..fb343f9 100644
--- a/packages/SystemUI/src/com/android/systemui/RecentsComponent.java
+++ b/packages/SystemUI/src/com/android/systemui/RecentsComponent.java
@@ -22,27 +22,10 @@
 
 public interface RecentsComponent {
     void showRecentApps(boolean triggeredFromAltTab);
-    void showNextAffiliatedTask();
-    void showPrevAffiliatedTask();
 
     /**
      * Docks the top-most task and opens recents.
      */
-    boolean splitPrimaryTask(int dragMode, int stackCreateMode, Rect initialBounds,
+    boolean splitPrimaryTask(int stackCreateMode, Rect initialBounds,
             int metricsDockAction);
-
-    /**
-     * Called during a drag-from-navbar-in gesture.
-     *
-     * @param distanceFromTop the distance of the current drag in gesture from the top of the
-     *                        screen
-     */
-    void onDraggingInRecents(float distanceFromTop);
-
-    /**
-     * Called when the gesture to drag in recents ended.
-     *
-     * @param velocity the velocity of the finger when releasing it in pixels per second
-     */
-    void onDraggingInRecentsEnded(float velocity);
 }
diff --git a/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java b/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java
index 044cc5c..48181bc 100644
--- a/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java
+++ b/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java
@@ -187,9 +187,11 @@
 
         mOverlay.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
         mOverlay.setAlpha(0);
+        mOverlay.setAllowForceDark(false);
 
         mBottomOverlay.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
         mBottomOverlay.setAlpha(0);
+        mBottomOverlay.setAllowForceDark(false);
 
         updateViews();
 
diff --git a/packages/SystemUI/src/com/android/systemui/SwipeHelper.java b/packages/SystemUI/src/com/android/systemui/SwipeHelper.java
index a3b5395..0215fda 100644
--- a/packages/SystemUI/src/com/android/systemui/SwipeHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/SwipeHelper.java
@@ -61,13 +61,14 @@
     public static final float SWIPED_FAR_ENOUGH_SIZE_FRACTION = 0.6f;
     static final float MAX_SCROLL_SIZE_FRACTION = 0.3f;
 
+    protected final Handler mHandler;
+
     private float mMinSwipeProgress = 0f;
     private float mMaxSwipeProgress = 1f;
 
     private final FlingAnimationUtils mFlingAnimationUtils;
     private float mPagingTouchSlop;
     private final Callback mCallback;
-    private final Handler mHandler;
     private final int mSwipeDirection;
     private final VelocityTracker mVelocityTracker;
     private final FalsingManager mFalsingManager;
diff --git a/packages/SystemUI/src/com/android/systemui/SystemUIApplication.java b/packages/SystemUI/src/com/android/systemui/SystemUIApplication.java
index b96a604..78053b2 100644
--- a/packages/SystemUI/src/com/android/systemui/SystemUIApplication.java
+++ b/packages/SystemUI/src/com/android/systemui/SystemUIApplication.java
@@ -34,7 +34,7 @@
 
 import com.android.systemui.plugins.OverlayPlugin;
 import com.android.systemui.plugins.PluginListener;
-import com.android.systemui.plugins.PluginManager;
+import com.android.systemui.shared.plugins.PluginManager;
 import com.android.systemui.statusbar.phone.StatusBar;
 import com.android.systemui.statusbar.phone.StatusBarWindowController;
 import com.android.systemui.util.NotificationChannels;
diff --git a/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java b/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java
index 04d72ce..258b6f6 100644
--- a/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java
+++ b/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java
@@ -30,6 +30,7 @@
 import com.android.systemui.classifier.FalsingManager;
 import com.android.systemui.keyguard.DismissCallbackRegistry;
 import com.android.systemui.qs.QSTileHost;
+import com.android.systemui.statusbar.AmbientPulseManager;
 import com.android.systemui.statusbar.KeyguardIndicationController;
 import com.android.systemui.statusbar.StatusBarStateController;
 import com.android.systemui.statusbar.notification.row.NotificationBlockingHelperManager;
@@ -137,6 +138,7 @@
         providers.put(NotificationGroupManager.class, NotificationGroupManager::new);
         providers.put(NotificationMediaManager.class, () -> new NotificationMediaManager(context));
         providers.put(NotificationGutsManager.class, () -> new NotificationGutsManager(context));
+        providers.put(AmbientPulseManager.class, () -> new AmbientPulseManager(context));
         providers.put(NotificationBlockingHelperManager.class,
                 () -> new NotificationBlockingHelperManager(context));
         providers.put(NotificationRemoteInputManager.class,
diff --git a/packages/SystemUI/src/com/android/systemui/SystemUIService.java b/packages/SystemUI/src/com/android/systemui/SystemUIService.java
index bb82a54..8e29841 100644
--- a/packages/SystemUI/src/com/android/systemui/SystemUIService.java
+++ b/packages/SystemUI/src/com/android/systemui/SystemUIService.java
@@ -28,8 +28,8 @@
 import java.io.PrintWriter;
 
 import com.android.internal.os.BinderInternal;
-import com.android.systemui.plugins.PluginManager;
-import com.android.systemui.plugins.PluginManagerImpl;
+import com.android.systemui.shared.plugins.PluginManager;
+import com.android.systemui.shared.plugins.PluginManagerImpl;
 
 public class SystemUIService extends Service {
 
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDialogImpl.java b/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDialogImpl.java
index 8fe577a..8fc4689 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDialogImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDialogImpl.java
@@ -18,6 +18,7 @@
 
 import android.content.Context;
 import android.content.pm.PackageManager;
+import android.hardware.biometrics.BiometricAuthenticator;
 import android.hardware.biometrics.BiometricPrompt;
 import android.hardware.biometrics.IBiometricPromptReceiver;
 import android.os.Bundle;
@@ -31,9 +32,12 @@
 import com.android.systemui.SystemUI;
 import com.android.systemui.statusbar.CommandQueue;
 
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  * Receives messages sent from AuthenticationClient and shows the appropriate biometric UI (e.g.
- * FingerprintDialogView).
+ * BiometricDialogView).
  */
 public class BiometricDialogImpl extends SystemUI implements CommandQueue.Callbacks {
     private static final String TAG = "BiometricDialogImpl";
@@ -48,7 +52,8 @@
     private static final int MSG_USER_CANCELED = 7;
     private static final int MSG_BUTTON_POSITIVE = 8;
 
-    private FingerprintDialogView mDialogView;
+    private Map<Integer, BiometricDialogView> mDialogs; // BiometricAuthenticator type, view
+    private BiometricDialogView mCurrentDialog;
     private WindowManager mWindowManager;
     private IBiometricPromptReceiver mReceiver;
     private boolean mDialogShowing;
@@ -111,16 +116,25 @@
 
     @Override
     public void start() {
-        if (!mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) {
-            return;
+        final PackageManager pm = mContext.getPackageManager();
+        mDialogs = new HashMap<>();
+        if (pm.hasSystemFeature(PackageManager.FEATURE_FACE)) {
+            mDialogs.put(BiometricAuthenticator.TYPE_FACE, new FaceDialogView(mContext, mCallback));
         }
-        getComponent(CommandQueue.class).addCallbacks(this);
-        mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
-        mDialogView = new FingerprintDialogView(mContext, mCallback);
+        if (pm.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) {
+            mDialogs.put(BiometricAuthenticator.TYPE_FINGERPRINT,
+                    new FingerprintDialogView(mContext, mCallback));
+        }
+
+        if (!mDialogs.isEmpty()) {
+            getComponent(CommandQueue.class).addCallbacks(this);
+            mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
+        }
     }
 
     @Override
-    public void showBiometricDialog(Bundle bundle, IBiometricPromptReceiver receiver, int type) {
+    public void showBiometricDialog(Bundle bundle, IBiometricPromptReceiver receiver, int type,
+            boolean requireConfirmation) {
         if (DEBUG) Log.d(TAG, "showBiometricDialog, type: " + type);
         // Remove these messages as they are part of the previous client
         mHandler.removeMessages(MSG_BIOMETRIC_ERROR);
@@ -129,6 +143,8 @@
         SomeArgs args = SomeArgs.obtain();
         args.arg1 = bundle;
         args.arg2 = receiver;
+        args.argi1 = type;
+        args.arg3 = requireConfirmation;
         mHandler.obtainMessage(MSG_SHOW_DIALOG, args).sendToTarget();
     }
 
@@ -157,33 +173,41 @@
     }
 
     private void handleShowDialog(SomeArgs args) {
+        final int type = args.argi1;
+        mCurrentDialog = mDialogs.get(type);
+
         if (DEBUG) Log.d(TAG, "handleShowDialog, isAnimatingAway: "
-                + mDialogView.isAnimatingAway());
-        if (mDialogView.isAnimatingAway()) {
-            mDialogView.forceRemove();
+                + mCurrentDialog.isAnimatingAway() + " type: " + type);
+
+        if (mCurrentDialog.isAnimatingAway()) {
+            mCurrentDialog.forceRemove();
         } else if (mDialogShowing) {
             Log.w(TAG, "Dialog already showing");
             return;
         }
         mReceiver = (IBiometricPromptReceiver) args.arg2;
-        mDialogView.setBundle((Bundle)args.arg1);
-        mWindowManager.addView(mDialogView, mDialogView.getLayoutParams());
+        mCurrentDialog.setBundle((Bundle)args.arg1);
+        mCurrentDialog.setRequireConfirmation((boolean)args.arg3);
+        mWindowManager.addView(mCurrentDialog, mCurrentDialog.getLayoutParams());
         mDialogShowing = true;
     }
 
     private void handleBiometricAuthenticated() {
         if (DEBUG) Log.d(TAG, "handleBiometricAuthenticated");
 
-        // TODO: announce correct string depending on modality
-        mDialogView.announceForAccessibility(
-                mContext.getResources().getText(
-                        com.android.internal.R.string.fingerprint_authenticated));
-        handleHideDialog(false /* userCanceled */);
+        mCurrentDialog.announceForAccessibility(
+                mContext.getResources()
+                        .getText(mCurrentDialog.getAuthenticatedAccessibilityResourceId()));
+        if (mCurrentDialog.requiresConfirmation()) {
+            mCurrentDialog.showConfirmationButton();
+        } else {
+            handleHideDialog(false /* userCanceled */);
+        }
     }
 
     private void handleBiometricHelp(String message) {
         if (DEBUG) Log.d(TAG, "handleBiometricHelp: " + message);
-        mDialogView.showHelpMessage(message);
+        mCurrentDialog.showHelpMessage(message);
     }
 
     private void handleBiometricError(String error) {
@@ -192,7 +216,7 @@
             if (DEBUG) Log.d(TAG, "Dialog already dismissed");
             return;
         }
-        mDialogView.showErrorMessage(error);
+        mCurrentDialog.showErrorMessage(error);
     }
 
     private void handleHideDialog(boolean userCanceled) {
@@ -212,7 +236,7 @@
         }
         mReceiver = null;
         mDialogShowing = false;
-        mDialogView.startDismiss();
+        mCurrentDialog.startDismiss();
     }
 
     private void handleButtonNegative() {
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDialogView.java b/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDialogView.java
new file mode 100644
index 0000000..c90861e
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDialogView.java
@@ -0,0 +1,363 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.systemui.biometrics;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.graphics.PixelFormat;
+import android.hardware.biometrics.BiometricPrompt;
+import android.os.Binder;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.IBinder;
+import android.os.Message;
+import android.text.TextUtils;
+import android.util.DisplayMetrics;
+import android.util.Log;
+import android.view.KeyEvent;
+import android.view.LayoutInflater;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.view.animation.Interpolator;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.android.systemui.Interpolators;
+import com.android.systemui.R;
+
+/**
+ * Abstract base class. Shows a dialog for BiometricPrompt.
+ */
+public abstract class BiometricDialogView extends LinearLayout {
+
+    private static final String TAG = "BiometricDialogView";
+
+    private static final int ANIMATION_DURATION_SHOW = 250; // ms
+    private static final int ANIMATION_DURATION_AWAY = 350; // ms
+
+    private static final int MSG_CLEAR_MESSAGE = 1;
+
+    protected static final int STATE_NONE = 0;
+    protected static final int STATE_AUTHENTICATING = 1;
+    protected static final int STATE_ERROR = 2;
+    protected static final int STATE_AUTHENTICATED = 3;
+
+    private final IBinder mWindowToken = new Binder();
+    private final Interpolator mLinearOutSlowIn;
+    private final WindowManager mWindowManager;
+    private final float mAnimationTranslationOffset;
+    private final int mErrorColor;
+    private final int mTextColor;
+    private final float mDisplayWidth;
+    private final DialogViewCallback mCallback;
+
+    private ViewGroup mLayout;
+    private final TextView mErrorText;
+    private Bundle mBundle;
+    private final LinearLayout mDialog;
+    private int mLastState;
+    private boolean mAnimatingAway;
+    private boolean mWasForceRemoved;
+    protected boolean mRequireConfirmation;
+
+    protected abstract void updateIcon(int lastState, int newState);
+    protected abstract int getHintStringResourceId();
+    protected abstract int getAuthenticatedAccessibilityResourceId();
+    protected abstract int getIconDescriptionResourceId();
+
+    private final Runnable mShowAnimationRunnable = new Runnable() {
+        @Override
+        public void run() {
+            mLayout.animate()
+                    .alpha(1f)
+                    .setDuration(ANIMATION_DURATION_SHOW)
+                    .setInterpolator(mLinearOutSlowIn)
+                    .withLayer()
+                    .start();
+            mDialog.animate()
+                    .translationY(0)
+                    .setDuration(ANIMATION_DURATION_SHOW)
+                    .setInterpolator(mLinearOutSlowIn)
+                    .withLayer()
+                    .start();
+        }
+    };
+
+    private Handler mHandler = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            switch(msg.what) {
+                case MSG_CLEAR_MESSAGE:
+                    handleClearMessage();
+                    break;
+                default:
+                    Log.e(TAG, "Unhandled message: " + msg.what);
+                    break;
+            }
+        }
+    };
+
+    public BiometricDialogView(Context context, DialogViewCallback callback) {
+        super(context);
+        mCallback = callback;
+        mLinearOutSlowIn = Interpolators.LINEAR_OUT_SLOW_IN;
+        mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
+        mAnimationTranslationOffset = getResources()
+                .getDimension(R.dimen.biometric_dialog_animation_translation_offset);
+        mErrorColor = Color.parseColor(
+                getResources().getString(R.color.biometric_dialog_error_color));
+        mTextColor = Color.parseColor(
+                getResources().getString(R.color.biometric_dialog_text_light_color));
+
+        DisplayMetrics metrics = new DisplayMetrics();
+        mWindowManager.getDefaultDisplay().getMetrics(metrics);
+        mDisplayWidth = metrics.widthPixels;
+
+        // Create the dialog
+        LayoutInflater factory = LayoutInflater.from(getContext());
+        mLayout = (ViewGroup) factory.inflate(R.layout.biometric_dialog, this, false);
+        addView(mLayout);
+
+        mDialog = mLayout.findViewById(R.id.dialog);
+
+        mErrorText = mLayout.findViewById(R.id.error);
+
+        mLayout.setOnKeyListener(new View.OnKeyListener() {
+            boolean downPressed = false;
+            @Override
+            public boolean onKey(View v, int keyCode, KeyEvent event) {
+                if (keyCode != KeyEvent.KEYCODE_BACK) {
+                    return false;
+                }
+                if (event.getAction() == KeyEvent.ACTION_DOWN && downPressed == false) {
+                    downPressed = true;
+                } else if (event.getAction() == KeyEvent.ACTION_DOWN) {
+                    downPressed = false;
+                } else if (event.getAction() == KeyEvent.ACTION_UP && downPressed == true) {
+                    downPressed = false;
+                    mCallback.onUserCanceled();
+                }
+                return true;
+            }
+        });
+
+        final View space = mLayout.findViewById(R.id.space);
+        final View leftSpace = mLayout.findViewById(R.id.left_space);
+        final View rightSpace = mLayout.findViewById(R.id.right_space);
+        final Button negative = mLayout.findViewById(R.id.button2);
+        final Button positive = mLayout.findViewById(R.id.button1);
+        final ImageView icon = mLayout.findViewById(R.id.biometric_icon);
+
+        icon.setContentDescription(getResources().getString(getIconDescriptionResourceId()));
+        mErrorText.setText(getResources().getString(getHintStringResourceId()));
+
+        setDismissesDialog(space);
+        setDismissesDialog(leftSpace);
+        setDismissesDialog(rightSpace);
+
+        negative.setOnClickListener((View v) -> {
+            mCallback.onNegativePressed();
+        });
+
+        positive.setOnClickListener((View v) -> {
+            mCallback.onPositivePressed();
+        });
+
+        mLayout.setFocusableInTouchMode(true);
+        mLayout.requestFocus();
+    }
+
+    @Override
+    public void onAttachedToWindow() {
+        super.onAttachedToWindow();
+
+        final TextView title = mLayout.findViewById(R.id.title);
+        final TextView subtitle = mLayout.findViewById(R.id.subtitle);
+        final TextView description = mLayout.findViewById(R.id.description);
+        final Button negative = mLayout.findViewById(R.id.button2);
+        final Button positive = mLayout.findViewById(R.id.button1);
+
+        mDialog.getLayoutParams().width = (int) mDisplayWidth;
+
+        mLastState = STATE_NONE;
+        updateState(STATE_AUTHENTICATING);
+
+        title.setText(mBundle.getCharSequence(BiometricPrompt.KEY_TITLE));
+        title.setSelected(true);
+
+        positive.setVisibility(View.INVISIBLE);
+
+        final CharSequence subtitleText = mBundle.getCharSequence(BiometricPrompt.KEY_SUBTITLE);
+        if (TextUtils.isEmpty(subtitleText)) {
+            subtitle.setVisibility(View.GONE);
+        } else {
+            subtitle.setVisibility(View.VISIBLE);
+            subtitle.setText(subtitleText);
+        }
+
+        final CharSequence descriptionText = mBundle.getCharSequence(BiometricPrompt.KEY_DESCRIPTION);
+        if (TextUtils.isEmpty(descriptionText)) {
+            description.setVisibility(View.GONE);
+        } else {
+            description.setVisibility(View.VISIBLE);
+            description.setText(descriptionText);
+        }
+
+        negative.setText(mBundle.getCharSequence(BiometricPrompt.KEY_NEGATIVE_TEXT));
+
+        if (!mWasForceRemoved) {
+            // Dim the background and slide the dialog up
+            mDialog.setTranslationY(mAnimationTranslationOffset);
+            mLayout.setAlpha(0f);
+            postOnAnimation(mShowAnimationRunnable);
+        } else {
+            // Show the dialog immediately
+            mLayout.animate().cancel();
+            mDialog.animate().cancel();
+            mDialog.setAlpha(1.0f);
+            mDialog.setTranslationY(0);
+            mLayout.setAlpha(1.0f);
+        }
+        mWasForceRemoved = false;
+    }
+
+    private void setDismissesDialog(View v) {
+        v.setClickable(true);
+        v.setOnTouchListener((View view, MotionEvent event) -> {
+            mCallback.onUserCanceled();
+            return true;
+        });
+    }
+
+    public void startDismiss() {
+        mAnimatingAway = true;
+
+        final Runnable endActionRunnable = new Runnable() {
+            @Override
+            public void run() {
+                mWindowManager.removeView(BiometricDialogView.this);
+                mAnimatingAway = false;
+            }
+        };
+
+        postOnAnimation(new Runnable() {
+            @Override
+            public void run() {
+                mLayout.animate()
+                        .alpha(0f)
+                        .setDuration(ANIMATION_DURATION_AWAY)
+                        .setInterpolator(mLinearOutSlowIn)
+                        .withLayer()
+                        .start();
+                mDialog.animate()
+                        .translationY(mAnimationTranslationOffset)
+                        .setDuration(ANIMATION_DURATION_AWAY)
+                        .setInterpolator(mLinearOutSlowIn)
+                        .withLayer()
+                        .withEndAction(endActionRunnable)
+                        .start();
+            }
+        });
+    }
+
+    /**
+     * Force remove the window, cancelling any animation that's happening. This should only be
+     * called if we want to quickly show the dialog again (e.g. on rotation). Calling this method
+     * will cause the dialog to show without an animation the next time it's attached.
+     */
+    public void forceRemove() {
+        mLayout.animate().cancel();
+        mDialog.animate().cancel();
+        mWindowManager.removeView(BiometricDialogView.this);
+        mAnimatingAway = false;
+        mWasForceRemoved = true;
+    }
+
+    public boolean isAnimatingAway() {
+        return mAnimatingAway;
+    }
+
+    public void setBundle(Bundle bundle) {
+        mBundle = bundle;
+    }
+
+    public void setRequireConfirmation(boolean requireConfirmation) {
+        mRequireConfirmation = requireConfirmation;
+    }
+
+    public boolean requiresConfirmation() {
+        return mRequireConfirmation;
+    }
+
+    public void showConfirmationButton() {
+        final Button positive = mLayout.findViewById(R.id.button1);
+        positive.setVisibility(View.VISIBLE);
+    }
+
+    public ViewGroup getLayout() {
+        return mLayout;
+    }
+
+    // Clears the temporary message and shows the help message.
+    private void handleClearMessage() {
+        updateState(STATE_AUTHENTICATING);
+        mErrorText.setText(getHintStringResourceId());
+        mErrorText.setTextColor(mTextColor);
+    }
+
+    // Shows an error/help message
+    private void showTemporaryMessage(String message) {
+        mHandler.removeMessages(MSG_CLEAR_MESSAGE);
+        updateState(STATE_ERROR);
+        mErrorText.setText(message);
+        mErrorText.setTextColor(mErrorColor);
+        mErrorText.setContentDescription(message);
+        mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_CLEAR_MESSAGE),
+                BiometricPrompt.HIDE_DIALOG_DELAY);
+    }
+
+    public void showHelpMessage(String message) {
+        showTemporaryMessage(message);
+    }
+
+    public void showErrorMessage(String error) {
+        showTemporaryMessage(error);
+        mCallback.onErrorShown();
+    }
+
+    private void updateState(int newState) {
+        updateIcon(mLastState, newState);
+        mLastState = newState;
+    }
+
+    public WindowManager.LayoutParams getLayoutParams() {
+        final WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
+                ViewGroup.LayoutParams.MATCH_PARENT,
+                ViewGroup.LayoutParams.MATCH_PARENT,
+                WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL,
+                WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
+                PixelFormat.TRANSLUCENT);
+        lp.privateFlags |= WindowManager.LayoutParams.PRIVATE_FLAG_SHOW_FOR_ALL_USERS;
+        lp.setTitle("BiometricDialogView");
+        lp.token = mWindowToken;
+        return lp;
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/FaceDialogView.java b/packages/SystemUI/src/com/android/systemui/biometrics/FaceDialogView.java
new file mode 100644
index 0000000..feef3a6d
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/FaceDialogView.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.systemui.biometrics;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.widget.ImageView;
+
+import com.android.systemui.R;
+
+/**
+ * This class loads the view for the system-provided dialog. The view consists of:
+ * Application Icon, Title, Subtitle, Description, Fingerprint Icon, Error/Help message area,
+ * and positive/negative buttons.
+ */
+public class FaceDialogView extends BiometricDialogView {
+    public FaceDialogView(Context context,
+            DialogViewCallback callback) {
+        super(context, callback);
+    }
+
+    @Override
+    protected int getHintStringResourceId() {
+        return R.string.face_dialog_looking_for_face;
+    }
+
+    @Override
+    protected int getAuthenticatedAccessibilityResourceId() {
+        if (mRequireConfirmation) {
+            return com.android.internal.R.string.face_authenticated_confirmation_required;
+        } else {
+            return com.android.internal.R.string.face_authenticated_no_confirmation_required;
+        }
+    }
+
+    @Override
+    protected int getIconDescriptionResourceId() {
+        return R.string.accessibility_face_dialog_face_icon;
+    }
+
+    @Override
+    protected void updateIcon(int lastState, int newState) {
+        Drawable icon = mContext.getDrawable(R.drawable.face_dialog_icon);
+
+        final ImageView faceIcon = getLayout().findViewById(R.id.biometric_icon);
+        faceIcon.setImageDrawable(icon);
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/FingerprintDialogView.java b/packages/SystemUI/src/com/android/systemui/biometrics/FingerprintDialogView.java
index 68c2c42..38a69a9 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/FingerprintDialogView.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/FingerprintDialogView.java
@@ -17,32 +17,11 @@
 package com.android.systemui.biometrics;
 
 import android.content.Context;
-import android.graphics.Color;
-import android.graphics.PixelFormat;
 import android.graphics.drawable.AnimatedVectorDrawable;
 import android.graphics.drawable.Drawable;
-import android.hardware.biometrics.BiometricPrompt;
-import android.os.Binder;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.IBinder;
-import android.os.Message;
-import android.text.TextUtils;
-import android.util.DisplayMetrics;
 import android.util.Log;
-import android.view.KeyEvent;
-import android.view.LayoutInflater;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.view.animation.Interpolator;
-import android.widget.Button;
 import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
 
-import com.android.systemui.Interpolators;
 import com.android.systemui.R;
 
 /**
@@ -50,288 +29,27 @@
  * Application Icon, Title, Subtitle, Description, Fingerprint Icon, Error/Help message area,
  * and positive/negative buttons.
  */
-public class FingerprintDialogView extends LinearLayout {
-
+public class FingerprintDialogView extends BiometricDialogView {
     private static final String TAG = "FingerprintDialogView";
 
-    private static final int ANIMATION_DURATION_SHOW = 250; // ms
-    private static final int ANIMATION_DURATION_AWAY = 350; // ms
-
-    private static final int MSG_CLEAR_MESSAGE = 1;
-
-    private static final int STATE_NONE = 0;
-    private static final int STATE_FINGERPRINT = 1;
-    private static final int STATE_FINGERPRINT_ERROR = 2;
-    private static final int STATE_FINGERPRINT_AUTHENTICATED = 3;
-
-    private final IBinder mWindowToken = new Binder();
-    private final Interpolator mLinearOutSlowIn;
-    private final WindowManager mWindowManager;
-    private final float mAnimationTranslationOffset;
-    private final int mErrorColor;
-    private final int mTextColor;
-    private final int mFingerprintColor;
-    private final float mDisplayWidth;
-    private final DialogViewCallback mCallback;
-
-    private ViewGroup mLayout;
-    private final TextView mErrorText;
-    private Bundle mBundle;
-    private final LinearLayout mDialog;
-    private int mLastState;
-    private boolean mAnimatingAway;
-    private boolean mWasForceRemoved;
-
-    private final Runnable mShowAnimationRunnable = new Runnable() {
-        @Override
-        public void run() {
-            mLayout.animate()
-                    .alpha(1f)
-                    .setDuration(ANIMATION_DURATION_SHOW)
-                    .setInterpolator(mLinearOutSlowIn)
-                    .withLayer()
-                    .start();
-            mDialog.animate()
-                    .translationY(0)
-                    .setDuration(ANIMATION_DURATION_SHOW)
-                    .setInterpolator(mLinearOutSlowIn)
-                    .withLayer()
-                    .start();
-        }
-    };
-
-    private Handler mHandler = new Handler() {
-        @Override
-        public void handleMessage(Message msg) {
-            switch(msg.what) {
-                case MSG_CLEAR_MESSAGE:
-                    handleClearMessage();
-                    break;
-                default:
-                    Log.e(TAG, "Unhandled message: " + msg.what);
-                    break;
-            }
-        }
-    };
-
-    public FingerprintDialogView(Context context, DialogViewCallback callback) {
-        super(context);
-        mCallback = callback;
-        mLinearOutSlowIn = Interpolators.LINEAR_OUT_SLOW_IN;
-        mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
-        mAnimationTranslationOffset = getResources()
-                .getDimension(R.dimen.fingerprint_dialog_animation_translation_offset);
-        mErrorColor = Color.parseColor(
-                getResources().getString(R.color.fingerprint_dialog_error_color));
-        mTextColor = Color.parseColor(
-                getResources().getString(R.color.fingerprint_dialog_text_light_color));
-        mFingerprintColor = Color.parseColor(
-                getResources().getString(R.color.fingerprint_dialog_fingerprint_color));
-
-        DisplayMetrics metrics = new DisplayMetrics();
-        mWindowManager.getDefaultDisplay().getMetrics(metrics);
-        mDisplayWidth = metrics.widthPixels;
-
-        // Create the dialog
-        LayoutInflater factory = LayoutInflater.from(getContext());
-        mLayout = (ViewGroup) factory.inflate(R.layout.fingerprint_dialog, this, false);
-        addView(mLayout);
-
-        mDialog = mLayout.findViewById(R.id.dialog);
-
-        mErrorText = mLayout.findViewById(R.id.error);
-
-        mLayout.setOnKeyListener(new View.OnKeyListener() {
-            boolean downPressed = false;
-            @Override
-            public boolean onKey(View v, int keyCode, KeyEvent event) {
-                if (keyCode != KeyEvent.KEYCODE_BACK) {
-                    return false;
-                }
-                if (event.getAction() == KeyEvent.ACTION_DOWN && downPressed == false) {
-                    downPressed = true;
-                } else if (event.getAction() == KeyEvent.ACTION_DOWN) {
-                    downPressed = false;
-                } else if (event.getAction() == KeyEvent.ACTION_UP && downPressed == true) {
-                    downPressed = false;
-                    mCallback.onUserCanceled();
-                }
-                return true;
-            }
-        });
-
-        final View space = mLayout.findViewById(R.id.space);
-        final View leftSpace = mLayout.findViewById(R.id.left_space);
-        final View rightSpace = mLayout.findViewById(R.id.right_space);
-        final Button negative = mLayout.findViewById(R.id.button2);
-        final Button positive = mLayout.findViewById(R.id.button1);
-
-        setDismissesDialog(space);
-        setDismissesDialog(leftSpace);
-        setDismissesDialog(rightSpace);
-
-        negative.setOnClickListener((View v) -> {
-            mCallback.onNegativePressed();
-        });
-
-        positive.setOnClickListener((View v) -> {
-            mCallback.onPositivePressed();
-        });
-
-        mLayout.setFocusableInTouchMode(true);
-        mLayout.requestFocus();
+    @Override
+    protected int getHintStringResourceId() {
+        return R.string.fingerprint_dialog_touch_sensor;
     }
 
     @Override
-    public void onAttachedToWindow() {
-        super.onAttachedToWindow();
-
-        final TextView title = mLayout.findViewById(R.id.title);
-        final TextView subtitle = mLayout.findViewById(R.id.subtitle);
-        final TextView description = mLayout.findViewById(R.id.description);
-        final Button negative = mLayout.findViewById(R.id.button2);
-        final Button positive = mLayout.findViewById(R.id.button1);
-
-        mDialog.getLayoutParams().width = (int) mDisplayWidth;
-
-        mLastState = STATE_NONE;
-        updateFingerprintIcon(STATE_FINGERPRINT);
-
-        title.setText(mBundle.getCharSequence(BiometricPrompt.KEY_TITLE));
-        title.setSelected(true);
-
-        final CharSequence subtitleText = mBundle.getCharSequence(BiometricPrompt.KEY_SUBTITLE);
-        if (TextUtils.isEmpty(subtitleText)) {
-            subtitle.setVisibility(View.GONE);
-        } else {
-            subtitle.setVisibility(View.VISIBLE);
-            subtitle.setText(subtitleText);
-        }
-
-        final CharSequence descriptionText = mBundle.getCharSequence(BiometricPrompt.KEY_DESCRIPTION);
-        if (TextUtils.isEmpty(descriptionText)) {
-            description.setVisibility(View.GONE);
-        } else {
-            description.setVisibility(View.VISIBLE);
-            description.setText(descriptionText);
-        }
-
-        negative.setText(mBundle.getCharSequence(BiometricPrompt.KEY_NEGATIVE_TEXT));
-
-        final CharSequence positiveText =
-                mBundle.getCharSequence(BiometricPrompt.KEY_POSITIVE_TEXT);
-        positive.setText(positiveText); // needs to be set for marquee to work
-        if (positiveText != null) {
-            positive.setVisibility(View.VISIBLE);
-        } else {
-            positive.setVisibility(View.GONE);
-        }
-
-        if (!mWasForceRemoved) {
-            // Dim the background and slide the dialog up
-            mDialog.setTranslationY(mAnimationTranslationOffset);
-            mLayout.setAlpha(0f);
-            postOnAnimation(mShowAnimationRunnable);
-        } else {
-            // Show the dialog immediately
-            mLayout.animate().cancel();
-            mDialog.animate().cancel();
-            mDialog.setAlpha(1.0f);
-            mDialog.setTranslationY(0);
-            mLayout.setAlpha(1.0f);
-        }
-        mWasForceRemoved = false;
+    protected int getAuthenticatedAccessibilityResourceId() {
+        return com.android.internal.R.string.fingerprint_authenticated;
     }
 
-    private void setDismissesDialog(View v) {
-        v.setClickable(true);
-        v.setOnTouchListener((View view, MotionEvent event) -> {
-            mCallback.onUserCanceled();
-            return true;
-        });
+    @Override
+    protected int getIconDescriptionResourceId() {
+        return R.string.accessibility_fingerprint_dialog_fingerprint_icon;
     }
 
-    public void startDismiss() {
-        mAnimatingAway = true;
-
-        final Runnable endActionRunnable = new Runnable() {
-            @Override
-            public void run() {
-                mWindowManager.removeView(FingerprintDialogView.this);
-                mAnimatingAway = false;
-            }
-        };
-
-        postOnAnimation(new Runnable() {
-            @Override
-            public void run() {
-                mLayout.animate()
-                        .alpha(0f)
-                        .setDuration(ANIMATION_DURATION_AWAY)
-                        .setInterpolator(mLinearOutSlowIn)
-                        .withLayer()
-                        .start();
-                mDialog.animate()
-                        .translationY(mAnimationTranslationOffset)
-                        .setDuration(ANIMATION_DURATION_AWAY)
-                        .setInterpolator(mLinearOutSlowIn)
-                        .withLayer()
-                        .withEndAction(endActionRunnable)
-                        .start();
-            }
-        });
-    }
-
-    /**
-     * Force remove the window, cancelling any animation that's happening. This should only be
-     * called if we want to quickly show the dialog again (e.g. on rotation). Calling this method
-     * will cause the dialog to show without an animation the next time it's attached.
-     */
-    public void forceRemove() {
-        mLayout.animate().cancel();
-        mDialog.animate().cancel();
-        mWindowManager.removeView(FingerprintDialogView.this);
-        mAnimatingAway = false;
-        mWasForceRemoved = true;
-    }
-
-    public boolean isAnimatingAway() {
-        return mAnimatingAway;
-    }
-
-    public void setBundle(Bundle bundle) {
-        mBundle = bundle;
-    }
-
-    // Clears the temporary message and shows the help message.
-    private void handleClearMessage() {
-        updateFingerprintIcon(STATE_FINGERPRINT);
-        mErrorText.setText(R.string.fingerprint_dialog_touch_sensor);
-        mErrorText.setTextColor(mTextColor);
-    }
-
-    // Shows an error/help message
-    private void showTemporaryMessage(String message) {
-        mHandler.removeMessages(MSG_CLEAR_MESSAGE);
-        updateFingerprintIcon(STATE_FINGERPRINT_ERROR);
-        mErrorText.setText(message);
-        mErrorText.setTextColor(mErrorColor);
-        mErrorText.setContentDescription(message);
-        mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_CLEAR_MESSAGE),
-                BiometricPrompt.HIDE_DIALOG_DELAY);
-    }
-
-    public void showHelpMessage(String message) {
-        showTemporaryMessage(message);
-    }
-
-    public void showErrorMessage(String error) {
-        showTemporaryMessage(error);
-        mCallback.onErrorShown();
-    }
-
-    private void updateFingerprintIcon(int newState) {
-        Drawable icon  = getAnimationForTransition(mLastState, newState);
+    @Override
+    protected void updateIcon(int lastState, int newState) {
+        Drawable icon = getAnimationForTransition(lastState, newState);
 
         if (icon == null) {
             Log.e(TAG, "Animation not found");
@@ -342,25 +60,28 @@
                 ? (AnimatedVectorDrawable) icon
                 : null;
 
-        final ImageView fingerprint_icon = mLayout.findViewById(R.id.fingerprint_icon);
-        fingerprint_icon.setImageDrawable(icon);
+        final ImageView fingerprintIcon = getLayout().findViewById(R.id.biometric_icon);
+        fingerprintIcon.setImageDrawable(icon);
 
-        if (animation != null && shouldAnimateForTransition(mLastState, newState)) {
+        if (animation != null && shouldAnimateForTransition(lastState, newState)) {
             animation.forceAnimationOnUI();
             animation.start();
         }
+    }
 
-        mLastState = newState;
+    public FingerprintDialogView(Context context,
+            DialogViewCallback callback) {
+        super(context, callback);
     }
 
     private boolean shouldAnimateForTransition(int oldState, int newState) {
-        if (oldState == STATE_NONE && newState == STATE_FINGERPRINT) {
+        if (oldState == STATE_NONE && newState == STATE_AUTHENTICATING) {
             return false;
-        } else if (oldState == STATE_FINGERPRINT && newState == STATE_FINGERPRINT_ERROR) {
+        } else if (oldState == STATE_AUTHENTICATING && newState == STATE_ERROR) {
             return true;
-        } else if (oldState == STATE_FINGERPRINT_ERROR && newState == STATE_FINGERPRINT) {
+        } else if (oldState == STATE_ERROR && newState == STATE_AUTHENTICATING) {
             return true;
-        } else if (oldState == STATE_FINGERPRINT && newState == STATE_FINGERPRINT_AUTHENTICATED) {
+        } else if (oldState == STATE_AUTHENTICATING && newState == STATE_AUTHENTICATED) {
             // TODO(b/77328470): add animation when fingerprint is authenticated
             return false;
         }
@@ -369,32 +90,18 @@
 
     private Drawable getAnimationForTransition(int oldState, int newState) {
         int iconRes;
-        if (oldState == STATE_NONE && newState == STATE_FINGERPRINT) {
+        if (oldState == STATE_NONE && newState == STATE_AUTHENTICATING) {
             iconRes = R.drawable.fingerprint_dialog_fp_to_error;
-        } else if (oldState == STATE_FINGERPRINT && newState == STATE_FINGERPRINT_ERROR) {
+        } else if (oldState == STATE_AUTHENTICATING && newState == STATE_ERROR) {
             iconRes = R.drawable.fingerprint_dialog_fp_to_error;
-        } else if (oldState == STATE_FINGERPRINT_ERROR && newState == STATE_FINGERPRINT) {
+        } else if (oldState == STATE_ERROR && newState == STATE_AUTHENTICATING) {
             iconRes = R.drawable.fingerprint_dialog_error_to_fp;
-        } else if (oldState == STATE_FINGERPRINT && newState == STATE_FINGERPRINT_AUTHENTICATED) {
+        } else if (oldState == STATE_AUTHENTICATING && newState == STATE_AUTHENTICATED) {
             // TODO(b/77328470): add animation when fingerprint is authenticated
             iconRes = R.drawable.fingerprint_dialog_error_to_fp;
-        }
-        else {
+        } else {
             return null;
         }
         return mContext.getDrawable(iconRes);
     }
-
-    public WindowManager.LayoutParams getLayoutParams() {
-        final WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
-                ViewGroup.LayoutParams.MATCH_PARENT,
-                ViewGroup.LayoutParams.MATCH_PARENT,
-                WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL,
-                WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
-                PixelFormat.TRANSLUCENT);
-        lp.privateFlags |= WindowManager.LayoutParams.PRIVATE_FLAG_SHOW_FOR_ALL_USERS;
-        lp.setTitle("FingerprintDialogView");
-        lp.token = mWindowToken;
-        return lp;
-    }
-}
+}
\ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/car/CarNotificationEntryManager.java b/packages/SystemUI/src/com/android/systemui/car/CarNotificationEntryManager.java
index d6a1cf0..5739c99 100644
--- a/packages/SystemUI/src/com/android/systemui/car/CarNotificationEntryManager.java
+++ b/packages/SystemUI/src/com/android/systemui/car/CarNotificationEntryManager.java
@@ -16,7 +16,6 @@
 package com.android.systemui.car;
 
 import android.content.Context;
-import android.service.notification.StatusBarNotification;
 
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
 import com.android.systemui.statusbar.notification.NotificationData;
@@ -41,7 +40,7 @@
     }
 
     @Override
-    public boolean shouldPeek(NotificationData.Entry entry, StatusBarNotification sbn) {
+    public boolean shouldHeadsUp(NotificationData.Entry entry) {
         // Because space is usually constrained in the auto use-case, there should not be a
         // pinned notification when the shade has been expanded. Ensure this by not pinning any
         // notification if the shade is already opened.
@@ -49,6 +48,6 @@
             return false;
         }
 
-        return super.shouldPeek(entry, sbn);
+        return super.shouldHeadsUp(entry);
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeHost.java b/packages/SystemUI/src/com/android/systemui/doze/DozeHost.java
index 6a29299..bb05980 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeHost.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeHost.java
@@ -48,7 +48,15 @@
     void onIgnoreTouchWhilePulsing(boolean ignore);
 
     interface Callback {
-        default void onNotificationHeadsUp() {}
+        /**
+         * Called when a high priority notification is added.
+         */
+        default void onNotificationAlerted() {}
+
+        /**
+         * Called when battery state or power save mode changes.
+         * @param active whether power save is active or not
+         */
         default void onPowerSaveChanged(boolean active) {}
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java b/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java
index e6026c1..21b21d9 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java
@@ -44,7 +44,7 @@
     public static final int PULSE_REASON_SENSOR_PICKUP = 3;
     public static final int PULSE_REASON_SENSOR_DOUBLE_TAP = 4;
     public static final int PULSE_REASON_SENSOR_LONG_PRESS = 5;
-    public static final int PULSE_REASON_SENSOR_REACH = 6;
+    public static final int PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN = 6;
     public static final int REASON_SENSOR_WAKE_UP = 7;
 
     private static boolean sRegisterKeyguardCallback = true;
@@ -177,9 +177,9 @@
         log("state " + state);
     }
 
-    public static void traceReachWakeUp() {
+    public static void traceWakeLockScreenWakeUp() {
         if (!ENABLED) return;
-        log("reachWakeUp");
+        log("wakeLockScreenWakeUp");
     }
 
     public static void traceProximityResult(Context context, boolean near, long millis,
@@ -199,7 +199,7 @@
             case PULSE_REASON_SENSOR_PICKUP: return "pickup";
             case PULSE_REASON_SENSOR_DOUBLE_TAP: return "doubletap";
             case PULSE_REASON_SENSOR_LONG_PRESS: return "longpress";
-            case PULSE_REASON_SENSOR_REACH: return "reach";
+            case PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN: return "wakeLockScreen";
             case REASON_SENSOR_WAKE_UP: return "wakeup";
             default: throw new IllegalArgumentException("bad reason: " + pulseReason);
         }
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeScreenBrightness.java b/packages/SystemUI/src/com/android/systemui/doze/DozeScreenBrightness.java
index 36b2347..c566460 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeScreenBrightness.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeScreenBrightness.java
@@ -16,11 +16,15 @@
 
 package com.android.systemui.doze;
 
+import android.content.BroadcastReceiver;
 import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
 import android.hardware.Sensor;
 import android.hardware.SensorEvent;
 import android.hardware.SensorEventListener;
 import android.hardware.SensorManager;
+import android.os.Build;
 import android.os.Handler;
 import android.os.Trace;
 import android.os.UserHandle;
@@ -31,7 +35,12 @@
 /**
  * Controls the screen brightness when dozing.
  */
-public class DozeScreenBrightness implements DozeMachine.Part, SensorEventListener {
+public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachine.Part,
+        SensorEventListener {
+    protected static final String ACTION_AOD_BRIGHTNESS =
+            "com.android.systemui.doze.AOD_BRIGHTNESS";
+    protected static final String BRIGHTNESS_BUCKET = "brightness_bucket";
+
     private final Context mContext;
     private final DozeMachine.Service mDozeService;
     private final DozeHost mDozeHost;
@@ -40,36 +49,52 @@
     private final Sensor mLightSensor;
     private final int[] mSensorToBrightness;
     private final int[] mSensorToScrimOpacity;
+    private final boolean mDebuggable;
 
     private boolean mRegistered;
     private int mDefaultDozeBrightness;
     private boolean mPaused = false;
     private int mLastSensorValue = -1;
 
+    /**
+     * Debug value used for emulating various display brightness buckets:
+     *
+     * {@code am broadcast -p com.android.systemui -a com.android.systemui.doze.AOD_BRIGHTNESS
+     * --ei brightness_bucket 1}
+     */
+    private int mDebugBrightnessBucket = -1;
+
+    @VisibleForTesting
     public DozeScreenBrightness(Context context, DozeMachine.Service service,
             SensorManager sensorManager, Sensor lightSensor, DozeHost host,
             Handler handler, int defaultDozeBrightness, int[] sensorToBrightness,
-            int[] sensorToScrimOpacity) {
+            int[] sensorToScrimOpacity, boolean debuggable) {
         mContext = context;
         mDozeService = service;
         mSensorManager = sensorManager;
         mLightSensor = lightSensor;
         mDozeHost = host;
         mHandler = handler;
+        mDebuggable = debuggable;
 
         mDefaultDozeBrightness = defaultDozeBrightness;
         mSensorToBrightness = sensorToBrightness;
         mSensorToScrimOpacity = sensorToScrimOpacity;
+
+        if (mDebuggable) {
+            IntentFilter filter = new IntentFilter();
+            filter.addAction(ACTION_AOD_BRIGHTNESS);
+            mContext.registerReceiverAsUser(this, UserHandle.ALL, filter, null, null);
+        }
     }
 
-    @VisibleForTesting
     public DozeScreenBrightness(Context context, DozeMachine.Service service,
             SensorManager sensorManager, Sensor lightSensor, DozeHost host,
             Handler handler, AlwaysOnDisplayPolicy policy) {
         this(context, service, sensorManager, lightSensor, host, handler,
                 context.getResources().getInteger(
                         com.android.internal.R.integer.config_screenBrightnessDoze),
-                policy.screenBrightnessArray, policy.dimmingScrimArray);
+                policy.screenBrightnessArray, policy.dimmingScrimArray, Build.IS_DEBUGGABLE);
     }
 
     @Override
@@ -87,7 +112,7 @@
                 resetBrightnessToDefault();
                 break;
             case FINISH:
-                setLightSensorEnabled(false);
+                onDestroy();
                 break;
         }
         if (newState != DozeMachine.State.FINISH) {
@@ -95,6 +120,13 @@
         }
     }
 
+    private void onDestroy() {
+        setLightSensorEnabled(false);
+        if (mDebuggable) {
+            mContext.unregisterReceiver(this);
+        }
+    }
+
     @Override
     public void onSensorChanged(SensorEvent event) {
         Trace.beginSection("DozeScreenBrightness.onSensorChanged" + event.values[0]);
@@ -110,7 +142,9 @@
 
     private void updateBrightnessAndReady() {
         if (mRegistered) {
-            int brightness = computeBrightness(mLastSensorValue);
+            int sensorValue = mDebugBrightnessBucket == -1
+                    ? mLastSensorValue : mDebugBrightnessBucket;
+            int brightness = computeBrightness(sensorValue);
             boolean brightnessReady = brightness > 0;
             if (brightnessReady) {
                 mDozeService.setDozeScreenBrightness(clampToUserSetting(brightness));
@@ -125,7 +159,7 @@
                 scrimOpacity = 255;
             } else if (brightnessReady) {
                 // Only unblank scrim once brightness is ready.
-                scrimOpacity = computeScrimOpacity(mLastSensorValue);
+                scrimOpacity = computeScrimOpacity(sensorValue);
             }
             if (scrimOpacity >= 0) {
                 mDozeHost.setAodDimmingScrim(scrimOpacity / 255f);
@@ -184,4 +218,9 @@
         }
     }
 
+    @Override
+    public void onReceive(Context context, Intent intent) {
+        mDebugBrightnessBucket = intent.getIntExtra(BRIGHTNESS_BUCKET, -1);
+        updateBrightnessAndReady();
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java b/packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java
index f9dfb5d..7013947 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java
@@ -113,10 +113,10 @@
                         true /* reports touch coordinates */,
                         true /* touchscreen */),
                 new TriggerSensor(
-                        findSensorWithType(config.reachSensorType()),
-                        Settings.Secure.DOZE_REACH_GESTURE,
+                        findSensorWithType(config.wakeLockScreenSensorType()),
+                        Settings.Secure.DOZE_WAKE_LOCK_SCREEN_GESTURE,
                         true /* configured */,
-                        DozeLog.PULSE_REASON_SENSOR_REACH,
+                        DozeLog.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN,
                         false /* reports touch coordinates */,
                         false /* touchscreen */),
                 new WakeScreenSensor(),
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeService.java b/packages/SystemUI/src/com/android/systemui/doze/DozeService.java
index 7339304..c61e10a 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeService.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeService.java
@@ -26,7 +26,7 @@
 import com.android.systemui.plugins.DozeServicePlugin;
 import com.android.systemui.plugins.DozeServicePlugin.RequestDoze;
 import com.android.systemui.plugins.PluginListener;
-import com.android.systemui.plugins.PluginManager;
+import com.android.systemui.shared.plugins.PluginManager;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java b/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
index 1589969..cb91d78 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
@@ -128,7 +128,7 @@
         boolean isDoubleTap = pulseReason == DozeLog.PULSE_REASON_SENSOR_DOUBLE_TAP;
         boolean isPickup = pulseReason == DozeLog.PULSE_REASON_SENSOR_PICKUP;
         boolean isLongPress = pulseReason == DozeLog.PULSE_REASON_SENSOR_LONG_PRESS;
-        boolean isReach = pulseReason == DozeLog.PULSE_REASON_SENSOR_REACH;
+        boolean isWakeLockScreen = pulseReason == DozeLog.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN;
 
         if (isLongPress) {
             requestPulse(pulseReason, sensorPerformedProxCheck);
@@ -141,7 +141,7 @@
                 if (isDoubleTap) {
                     mDozeHost.onDoubleTap(screenX, screenY);
                     mMachine.wakeUp();
-                } else if (isPickup || isReach) {
+                } else if (isPickup || isWakeLockScreen) {
                     mMachine.wakeUp();
                 } else {
                     mDozeHost.extendPulse();
@@ -156,8 +156,8 @@
             final boolean withinVibrationThreshold =
                     timeSinceNotification < mDozeParameters.getPickupVibrationThreshold();
             DozeLog.tracePickupWakeUp(mContext, withinVibrationThreshold);
-        } else if (isReach) {
-            DozeLog.traceReachWakeUp();
+        } else if (isWakeLockScreen) {
+            DozeLog.traceWakeLockScreenWakeUp();
         }
     }
 
@@ -409,7 +409,7 @@
 
     private DozeHost.Callback mHostCallback = new DozeHost.Callback() {
         @Override
-        public void onNotificationHeadsUp() {
+        public void onNotificationAlerted() {
             onNotification();
         }
 
diff --git a/packages/SystemUI/src/com/android/systemui/doze/util/BurnInHelper.kt b/packages/SystemUI/src/com/android/systemui/doze/util/BurnInHelper.kt
new file mode 100644
index 0000000..d1e5059
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/doze/util/BurnInHelper.kt
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.systemui.doze.util
+
+import android.util.MathUtils
+
+private const val MILLIS_PER_MINUTES = 1000 * 60f
+private const val BURN_IN_PREVENTION_PERIOD_Y = 521f
+private const val BURN_IN_PREVENTION_PERIOD_X = 83f
+
+/**
+ * Returns the translation offset that should be used to avoid burn in at
+ * the current time (in pixels.)
+ *
+ * @param amplitude Maximum translation that will be interpolated.
+ * @param xAxis If we're moving on X or Y.
+ */
+fun getBurnInOffset(amplitude: Int, xAxis: Boolean): Int {
+    return zigzag(System.currentTimeMillis() / MILLIS_PER_MINUTES,
+            amplitude.toFloat(),
+            if (xAxis) BURN_IN_PREVENTION_PERIOD_X else BURN_IN_PREVENTION_PERIOD_Y).toInt()
+}
+
+/**
+ * Implements a continuous, piecewise linear, periodic zig-zag function
+ *
+ * Can be thought of as a linear approximation of abs(sin(x)))
+ *
+ * @param period period of the function, ie. zigzag(x + period) == zigzag(x)
+ * @param amplitude maximum value of the function
+ * @return a value between 0 and amplitude
+ */
+private fun zigzag(x: Float, amplitude: Float, period: Float): Float {
+    val xprime = x % period / (period / 2)
+    val interpolationAmount = if (xprime <= 1) xprime else 2 - xprime
+    return MathUtils.lerp(0f, amplitude, interpolationAmount)
+}
\ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
index cc1b9e8..bde7f1b 100644
--- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
+++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
@@ -55,6 +55,7 @@
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 import android.util.ArraySet;
+import android.util.FeatureFlagUtils;
 import android.util.Log;
 import android.view.ContextThemeWrapper;
 import android.view.LayoutInflater;
@@ -318,8 +319,8 @@
         ArraySet<String> addedKeys = new ArraySet<String>();
         mHasLogoutButton = false;
         mHasLockdownButton = false;
-        mSeparatedEmergencyButtonEnabled = Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.FASTER_EMERGENCY_PHONE_CALL_ENABLED, 0) != 0;
+        mSeparatedEmergencyButtonEnabled = FeatureFlagUtils
+                .isEnabled(mContext, FeatureFlagUtils.EMERGENCY_DIAL_SHORTCUTS);
         for (int i = 0; i < defaultActions.length; i++) {
             String actionKey = defaultActions[i];
             if (addedKeys.contains(actionKey)) {
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/DismissCallbackRegistry.java b/packages/SystemUI/src/com/android/systemui/keyguard/DismissCallbackRegistry.java
index 745f312..d833c16 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/DismissCallbackRegistry.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/DismissCallbackRegistry.java
@@ -19,9 +19,6 @@
 import com.android.internal.policy.IKeyguardDismissCallback;
 import com.android.systemui.Dependency;
 import com.android.systemui.UiOffloadThread;
-import com.android.systemui.recents.Recents;
-import com.android.systemui.recents.misc.SystemServicesProxy;
-
 import java.util.ArrayList;
 
 /**
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
index 1655c01..4988f07 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
@@ -20,6 +20,9 @@
 import static android.view.Display.INVALID_DISPLAY;
 
 import static com.android.internal.telephony.IccCardConstants.State.ABSENT;
+import static com.android.internal.telephony.IccCardConstants.State.PIN_REQUIRED;
+import static com.android.internal.telephony.IccCardConstants.State.PUK_REQUIRED;
+import static com.android.internal.telephony.IccCardConstants.State.READY;
 import static com.android.internal.widget.LockPatternUtils.StrongAuthTracker.SOME_AUTH_REQUIRED_AFTER_USER_REQUEST;
 import static com.android.internal.widget.LockPatternUtils.StrongAuthTracker.STRONG_AUTH_REQUIRED_AFTER_DPM_LOCK_NOW;
 import static com.android.internal.widget.LockPatternUtils.StrongAuthTracker.STRONG_AUTH_REQUIRED_AFTER_LOCKOUT;
@@ -30,7 +33,6 @@
 import android.app.AlarmManager;
 import android.app.PendingIntent;
 import android.app.StatusBarManager;
-import android.hardware.biometrics.BiometricSourceType;
 import android.app.trust.TrustManager;
 import android.content.BroadcastReceiver;
 import android.content.ContentResolver;
@@ -38,6 +40,7 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.pm.UserInfo;
+import android.hardware.biometrics.BiometricSourceType;
 import android.media.AudioManager;
 import android.media.SoundPool;
 import android.os.Bundle;
@@ -58,6 +61,7 @@
 import android.util.EventLog;
 import android.util.Log;
 import android.util.Slog;
+import android.util.SparseArray;
 import android.view.ViewGroup;
 import android.view.WindowManagerPolicyConstants;
 import android.view.animation.Animation;
@@ -70,21 +74,21 @@
 import com.android.internal.policy.IKeyguardExitCallback;
 import com.android.internal.policy.IKeyguardStateCallback;
 import com.android.internal.telephony.IccCardConstants;
+import com.android.internal.util.LatencyTracker;
 import com.android.internal.widget.LockPatternUtils;
 import com.android.keyguard.KeyguardConstants;
 import com.android.keyguard.KeyguardDisplayManager;
 import com.android.keyguard.KeyguardSecurityView;
 import com.android.keyguard.KeyguardUpdateMonitor;
 import com.android.keyguard.KeyguardUpdateMonitorCallback;
-import com.android.internal.util.LatencyTracker;
 import com.android.keyguard.ViewMediatorCallback;
 import com.android.systemui.Dependency;
 import com.android.systemui.SystemUI;
 import com.android.systemui.SystemUIFactory;
 import com.android.systemui.UiOffloadThread;
 import com.android.systemui.classifier.FalsingManager;
-import com.android.systemui.statusbar.phone.NotificationPanelView;
 import com.android.systemui.statusbar.phone.BiometricUnlockController;
+import com.android.systemui.statusbar.phone.NotificationPanelView;
 import com.android.systemui.statusbar.phone.StatusBar;
 import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
 
@@ -274,6 +278,12 @@
 
     private KeyguardUpdateMonitor mUpdateMonitor;
 
+    /**
+     * Last SIM state reported by the telephony system.
+     * Index is the slotId - in case of multiple SIM cards.
+     */
+    private final SparseArray<IccCardConstants.State> mLastSimStates = new SparseArray<>();
+
     private boolean mDeviceInteractive;
     private boolean mGoingToSleep;
 
@@ -450,6 +460,14 @@
                 }
             }
 
+            boolean simWasLocked;
+            synchronized (KeyguardViewMediator.this) {
+                IccCardConstants.State lastState = mLastSimStates.get(slotId);
+                simWasLocked = (lastState == PIN_REQUIRED || lastState == PUK_REQUIRED)
+                    && simState == READY;
+                mLastSimStates.append(slotId, simState);
+            }
+
             switch (simState) {
                 case NOT_READY:
                 case ABSENT:
@@ -503,6 +521,9 @@
                 case READY:
                     synchronized (KeyguardViewMediator.this) {
                         if (DEBUG_SIM_STATES) Log.d(TAG, "READY, reset state? " + mShowing);
+                        if (mShowing && simWasLocked) {
+                            resetStateLocked();
+                        }
                         mLockWhenSimRemoved = true;
                     }
                     break;
@@ -1917,6 +1938,12 @@
             mStatusBarManager = (StatusBarManager)
                     mContext.getSystemService(Context.STATUS_BAR_SERVICE);
         }
+
+        // TODO(b/113914868): investigation log for disappearing home button
+        Log.d(TAG, "adjustStatusBarLocked (b/113914868): mShowing=" + mShowing
+                + " mStatusBarManager=" + mStatusBarManager + " mOccluded="
+                + mOccluded + " isSecure=" + isSecure() + " force=" + forceHideHomeRecentsButtons);
+
         if (mStatusBarManager == null) {
             Log.w(TAG, "Could not get status bar manager");
         } else {
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/WorkLockActivityController.java b/packages/SystemUI/src/com/android/systemui/keyguard/WorkLockActivityController.java
index 0cedf98..74f7706 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/WorkLockActivityController.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/WorkLockActivityController.java
@@ -19,7 +19,6 @@
 import android.app.ActivityManager;
 import android.app.ActivityOptions;
 import android.app.ActivityTaskManager;
-import android.app.IActivityManager;
 import android.app.IActivityTaskManager;
 import android.app.KeyguardManager;
 import android.content.ComponentName;
@@ -29,11 +28,9 @@
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.util.Log;
-
 import com.android.internal.annotations.VisibleForTesting;
-import com.android.systemui.recents.misc.SysUiTaskStackChangeListener;
-import com.android.systemui.recents.misc.SystemServicesProxy;
 import com.android.systemui.shared.system.ActivityManagerWrapper;
+import com.android.systemui.shared.system.TaskStackChangeListener;
 
 public class WorkLockActivityController {
     private static final String TAG = WorkLockActivityController.class.getSimpleName();
@@ -111,7 +108,7 @@
         }
     }
 
-    private final SysUiTaskStackChangeListener mLockListener = new SysUiTaskStackChangeListener() {
+    private final TaskStackChangeListener mLockListener = new TaskStackChangeListener() {
         @Override
         public void onTaskProfileLocked(int taskId, int userId) {
             startWorkChallengeInTask(taskId, userId);
diff --git a/packages/SystemUI/src/com/android/systemui/pip/PipUI.java b/packages/SystemUI/src/com/android/systemui/pip/PipUI.java
index b7164cb..864a6f9 100644
--- a/packages/SystemUI/src/com/android/systemui/pip/PipUI.java
+++ b/packages/SystemUI/src/com/android/systemui/pip/PipUI.java
@@ -21,11 +21,12 @@
 
 import android.content.pm.PackageManager;
 import android.content.res.Configuration;
-
+import android.os.UserHandle;
+import android.os.UserManager;
 import com.android.systemui.SystemUI;
-import com.android.systemui.recents.misc.SystemServicesProxy;
+import com.android.systemui.recents.events.EventBus;
+import com.android.systemui.recents.events.component.ExpandPipEvent;
 import com.android.systemui.statusbar.CommandQueue;
-
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
 
@@ -47,8 +48,8 @@
         }
 
         // Ensure that we are the primary user's SystemUI.
-        final int processUser = SystemServicesProxy.getInstance(mContext).getProcessUser();
-        if (!SystemServicesProxy.getInstance(mContext).isSystemUser(processUser)) {
+        final int processUser = UserManager.get(mContext).getUserHandle();
+        if (processUser != UserHandle.USER_SYSTEM) {
             throw new IllegalStateException("Non-primary Pip component not currently supported.");
         }
 
@@ -58,6 +59,7 @@
         mPipManager.initialize(mContext);
 
         getComponent(CommandQueue.class).addCallbacks(this);
+        putComponent(PipUI.class, this);
     }
 
     @Override
@@ -65,6 +67,10 @@
         mPipManager.showPictureInPictureMenu();
     }
 
+    public void expandPip() {
+        EventBus.getDefault().send(new ExpandPipEvent());
+    }
+
     @Override
     protected void onConfigurationChanged(Configuration newConfig) {
         super.onConfigurationChanged(newConfig);
diff --git a/packages/SystemUI/src/com/android/systemui/recents/misc/ForegroundThread.java b/packages/SystemUI/src/com/android/systemui/pip/phone/ForegroundThread.java
similarity index 97%
rename from packages/SystemUI/src/com/android/systemui/recents/misc/ForegroundThread.java
rename to packages/SystemUI/src/com/android/systemui/pip/phone/ForegroundThread.java
index 784ac4e..9bf46bb 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/misc/ForegroundThread.java
+++ b/packages/SystemUI/src/com/android/systemui/pip/phone/ForegroundThread.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.systemui.recents.misc;
+package com.android.systemui.pip.phone;
 
 import android.os.Handler;
 import android.os.HandlerThread;
diff --git a/packages/SystemUI/src/com/android/systemui/pip/phone/PipDismissViewController.java b/packages/SystemUI/src/com/android/systemui/pip/phone/PipDismissViewController.java
index 5547e2d..9ce2606 100644
--- a/packages/SystemUI/src/com/android/systemui/pip/phone/PipDismissViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/pip/phone/PipDismissViewController.java
@@ -19,21 +19,17 @@
 import android.content.Context;
 import android.graphics.PixelFormat;
 import android.graphics.Point;
-import android.graphics.PointF;
 import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
-import android.view.View.OnLayoutChangeListener;
-import android.view.ViewGroup;
 import android.view.WindowManager;
 import android.view.WindowManager.LayoutParams;
 import android.widget.FrameLayout;
-
 import com.android.systemui.Interpolators;
 import com.android.systemui.R;
-import com.android.systemui.recents.misc.SystemServicesProxy;
+import com.android.systemui.shared.system.WindowManagerWrapper;
 
 public class PipDismissViewController {
 
@@ -59,7 +55,7 @@
         if (mDismissView == null) {
             // Determine sizes for the view
             final Rect stableInsets = new Rect();
-            SystemServicesProxy.getInstance(mContext).getStableInsets(stableInsets);
+            WindowManagerWrapper.getInstance().getStableInsets(stableInsets);
             final Point windowSize = new Point();
             mWindowManager.getDefaultDisplay().getRealSize(windowSize);
             final int gradientHeight = mContext.getResources().getDimensionPixelSize(
diff --git a/packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java b/packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java
index ee15655..04746c1 100644
--- a/packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java
+++ b/packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java
@@ -17,7 +17,6 @@
 package com.android.systemui.pip.phone;
 
 import static android.view.Display.DEFAULT_DISPLAY;
-import static android.view.WindowManager.INPUT_CONSUMER_PIP;
 
 import android.app.ActivityManager;
 import android.app.ActivityTaskManager;
@@ -36,15 +35,15 @@
 import android.view.IPinnedStackListener;
 import android.view.IWindowManager;
 import android.view.WindowManagerGlobal;
-
+import com.android.systemui.Dependency;
+import com.android.systemui.UiOffloadThread;
 import com.android.systemui.pip.BasePipManager;
 import com.android.systemui.recents.events.EventBus;
 import com.android.systemui.recents.events.component.ExpandPipEvent;
-import com.android.systemui.recents.misc.SysUiTaskStackChangeListener;
-import com.android.systemui.recents.misc.SystemServicesProxy;
 import com.android.systemui.shared.system.ActivityManagerWrapper;
 import com.android.systemui.shared.system.InputConsumerController;
-
+import com.android.systemui.shared.system.TaskStackChangeListener;
+import com.android.systemui.shared.system.WindowManagerWrapper;
 import java.io.PrintWriter;
 
 /**
@@ -72,7 +71,7 @@
     /**
      * Handler for system task stack changes.
      */
-    SysUiTaskStackChangeListener mTaskStackListener = new SysUiTaskStackChangeListener() {
+    TaskStackChangeListener mTaskStackListener = new TaskStackChangeListener() {
         @Override
         public void onActivityPinned(String packageName, int userId, int taskId, int stackId) {
             mTouchHandler.onActivityPinned();
@@ -80,7 +79,9 @@
             mMenuController.onActivityPinned();
             mAppOpsListener.onActivityPinned(packageName);
 
-            SystemServicesProxy.getInstance(mContext).setPipVisibility(true);
+            Dependency.get(UiOffloadThread.class).submit(() -> {
+                WindowManagerWrapper.getInstance().setPipVisibility(true);
+            });
         }
 
         @Override
@@ -93,7 +94,9 @@
             mTouchHandler.onActivityUnpinned(topActivity);
             mAppOpsListener.onActivityUnpinned();
 
-            SystemServicesProxy.getInstance(mContext).setPipVisibility(topActivity != null);
+            Dependency.get(UiOffloadThread.class).submit(() -> {
+                WindowManagerWrapper.getInstance().setPipVisibility(topActivity != null);
+            });
         }
 
         @Override
diff --git a/packages/SystemUI/src/com/android/systemui/pip/phone/PipMotionHelper.java b/packages/SystemUI/src/com/android/systemui/pip/phone/PipMotionHelper.java
index f0ab046..ce7da79 100644
--- a/packages/SystemUI/src/com/android/systemui/pip/phone/PipMotionHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/pip/phone/PipMotionHelper.java
@@ -30,7 +30,6 @@
 import android.animation.ValueAnimator;
 import android.animation.ValueAnimator.AnimatorUpdateListener;
 import android.app.ActivityManager.StackInfo;
-import android.app.ActivityTaskManager;
 import android.app.IActivityManager;
 import android.app.IActivityTaskManager;
 import android.content.Context;
@@ -43,14 +42,11 @@
 import android.os.RemoteException;
 import android.util.Log;
 import android.view.animation.Interpolator;
-
 import com.android.internal.graphics.SfVsyncFrameCallbackProvider;
 import com.android.internal.os.SomeArgs;
 import com.android.internal.policy.PipSnapAlgorithm;
-import com.android.systemui.recents.misc.ForegroundThread;
-import com.android.systemui.recents.misc.SystemServicesProxy;
+import com.android.systemui.shared.system.WindowManagerWrapper;
 import com.android.systemui.statusbar.FlingAnimationUtils;
-
 import java.io.PrintWriter;
 
 /**
@@ -116,7 +112,7 @@
      */
     void onConfigurationChanged() {
         mSnapAlgorithm.onConfigurationChanged();
-        SystemServicesProxy.getInstance(mContext).getStableInsets(mStableInsets);
+        WindowManagerWrapper.getInstance().getStableInsets(mStableInsets);
     }
 
     /**
diff --git a/packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java b/packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java
index 020c550..43e9db7 100755
--- a/packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java
+++ b/packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java
@@ -16,6 +16,11 @@
 
 package com.android.systemui.pip.tv;
 
+import static android.app.ActivityTaskManager.INVALID_STACK_ID;
+import static android.app.WindowConfiguration.ACTIVITY_TYPE_UNDEFINED;
+import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
+import static android.view.Display.DEFAULT_DISPLAY;
+
 import android.app.ActivityManager;
 import android.app.ActivityManager.RunningTaskInfo;
 import android.app.ActivityManager.StackInfo;
@@ -44,22 +49,17 @@
 import android.view.IPinnedStackListener;
 import android.view.IWindowManager;
 import android.view.WindowManagerGlobal;
-
+import com.android.systemui.Dependency;
 import com.android.systemui.R;
+import com.android.systemui.UiOffloadThread;
 import com.android.systemui.pip.BasePipManager;
-import com.android.systemui.recents.misc.SysUiTaskStackChangeListener;
-import com.android.systemui.recents.misc.SystemServicesProxy;
 import com.android.systemui.shared.system.ActivityManagerWrapper;
-
+import com.android.systemui.shared.system.TaskStackChangeListener;
+import com.android.systemui.shared.system.WindowManagerWrapper;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.List;
 
-import static android.app.ActivityTaskManager.INVALID_STACK_ID;
-import static android.app.WindowConfiguration.ACTIVITY_TYPE_UNDEFINED;
-import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
-import static android.view.Display.DEFAULT_DISPLAY;
-
 /**
  * Manages the picture-in-picture (PIP) UI and states.
  */
@@ -630,7 +630,7 @@
         return false;
     }
 
-    private SysUiTaskStackChangeListener mTaskStackListener = new SysUiTaskStackChangeListener() {
+    private TaskStackChangeListener mTaskStackListener = new TaskStackChangeListener() {
         @Override
         public void onTaskStackChanged() {
             if (DEBUG) Log.d(TAG, "onTaskStackChanged()");
@@ -754,7 +754,9 @@
     }
 
     private void updatePipVisibility(final boolean visible) {
-        SystemServicesProxy.getInstance(mContext).setPipVisibility(visible);
+        Dependency.get(UiOffloadThread.class).submit(() -> {
+            WindowManagerWrapper.getInstance().setPipVisibility(visible);
+        });
     }
 
     @Override
diff --git a/packages/SystemUI/src/com/android/systemui/plugins/PluginDependencyProvider.java b/packages/SystemUI/src/com/android/systemui/plugins/PluginDependencyProvider.java
index c58d889..03daa95 100644
--- a/packages/SystemUI/src/com/android/systemui/plugins/PluginDependencyProvider.java
+++ b/packages/SystemUI/src/com/android/systemui/plugins/PluginDependencyProvider.java
@@ -18,6 +18,7 @@
 
 import com.android.systemui.Dependency;
 import com.android.systemui.plugins.PluginDependency.DependencyProvider;
+import com.android.systemui.shared.plugins.PluginManager;
 
 public class PluginDependencyProvider extends DependencyProvider {
 
diff --git a/packages/SystemUI/src/com/android/systemui/plugins/PluginInitializerImpl.java b/packages/SystemUI/src/com/android/systemui/plugins/PluginInitializerImpl.java
new file mode 100644
index 0000000..108c2d0
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/plugins/PluginInitializerImpl.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.systemui.plugins;
+
+import android.content.Context;
+import android.os.Looper;
+
+import com.android.systemui.Dependency;
+import com.android.systemui.shared.plugins.PluginInitializer;
+import com.android.systemui.R;
+
+public class PluginInitializerImpl implements PluginInitializer {
+    @Override
+    public Looper getBgLooper() {
+        return Dependency.get(Dependency.BG_LOOPER);
+    }
+
+    @Override
+    public Runnable getBgInitCallback() {
+        return new Runnable() {
+            @Override
+            public void run() {
+                // Plugin dependencies that don't have another good home can go here, but
+                // dependencies that have better places to init can happen elsewhere.
+                Dependency.get(PluginDependencyProvider.class)
+                        .allowPluginDependency(ActivityStarter.class);
+            }
+        };
+    }
+
+    @Override
+    public String[] getWhitelistedPlugins(Context context) {
+        return context.getResources().getStringArray(R.array.config_pluginWhitelist);
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
index ca1b489..4b5ab2a 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
@@ -6,20 +6,19 @@
 import android.animation.ObjectAnimator;
 import android.animation.PropertyValuesHolder;
 import android.content.Context;
-import android.content.res.Configuration;
 import android.content.res.Resources;
-import androidx.viewpager.widget.PagerAdapter;
-import androidx.viewpager.widget.ViewPager;
 import android.util.AttributeSet;
 import android.util.Log;
 import android.view.LayoutInflater;
-import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.animation.Interpolator;
 import android.view.animation.OvershootInterpolator;
 import android.widget.Scroller;
 
+import androidx.viewpager.widget.PagerAdapter;
+import androidx.viewpager.widget.ViewPager;
+
 import com.android.systemui.R;
 import com.android.systemui.qs.QSPanel.QSTileLayout;
 import com.android.systemui.qs.QSPanel.TileRecord;
@@ -41,14 +40,12 @@
         return t * t * t + 1.0f;
     };
 
-
     private final ArrayList<TileRecord> mTiles = new ArrayList<>();
     private final ArrayList<TilePage> mPages = new ArrayList<>();
 
     private PageIndicator mPageIndicator;
     private float mPageIndicatorPosition;
 
-    private int mNumPages;
     private PageListener mPageListener;
 
     private boolean mListening;
@@ -56,6 +53,7 @@
 
     private AnimatorSet mBounceAnimatorSet;
     private float mLastExpansion;
+    private boolean mDistributeTiles = false;
 
     public PagedTileLayout(Context context, AttributeSet attrs) {
         super(context, attrs);
@@ -122,7 +120,7 @@
 
     public void setPageIndicator(PageIndicator indicator) {
         mPageIndicator = indicator;
-        mPageIndicator.setNumPages(mNumPages);
+        mPageIndicator.setNumPages(mPages.size());
         mPageIndicator.setLocation(mPageIndicatorPosition);
     }
 
@@ -136,13 +134,15 @@
     @Override
     public void addTile(TileRecord tile) {
         mTiles.add(tile);
-        postDistributeTiles();
+        mDistributeTiles = true;
+        requestLayout();
     }
 
     @Override
     public void removeTile(TileRecord tile) {
         if (mTiles.remove(tile)) {
-            postDistributeTiles();
+            mDistributeTiles = true;
+            requestLayout();
         }
     }
 
@@ -175,67 +175,94 @@
         mPageListener = listener;
     }
 
-    private void postDistributeTiles() {
-        removeCallbacks(mDistribute);
-        post(mDistribute);
-    }
-
     private void distributeTiles() {
+        emptyAndInflateOrRemovePages();
+
+        final int tileCount = mPages.get(0).maxTiles();
         if (DEBUG) Log.d(TAG, "Distributing tiles");
-        final int NP = mPages.size();
-        for (int i = 0; i < NP; i++) {
-            mPages.get(i).removeAllViews();
-        }
         int index = 0;
         final int NT = mTiles.size();
         for (int i = 0; i < NT; i++) {
             TileRecord tile = mTiles.get(i);
-            if (mPages.get(index).isFull()) {
-                if (++index == mPages.size()) {
-                    if (DEBUG) Log.d(TAG, "Adding page for "
-                            + tile.tile.getClass().getSimpleName());
-                    mPages.add((TilePage) LayoutInflater.from(getContext())
-                            .inflate(R.layout.qs_paged_page, this, false));
-                }
+            if (mPages.get(index).mRecords.size() == tileCount) index++;
+            if (DEBUG) {
+                Log.d(TAG, "Adding " + tile.tile.getClass().getSimpleName() + " to "
+                        + index);
             }
-            if (DEBUG) Log.d(TAG, "Adding " + tile.tile.getClass().getSimpleName() + " to "
-                    + index);
             mPages.get(index).addTile(tile);
         }
-        if (mNumPages != index + 1) {
-            mNumPages = index + 1;
-            while (mPages.size() > mNumPages) {
-                mPages.remove(mPages.size() - 1);
-            }
-            if (DEBUG) Log.d(TAG, "Size: " + mNumPages);
-            mPageIndicator.setNumPages(mNumPages);
-            setAdapter(mAdapter);
-            mAdapter.notifyDataSetChanged();
-            setCurrentItem(0, false);
+    }
+
+    private void emptyAndInflateOrRemovePages() {
+        final int nTiles = mTiles.size();
+        int numPages = nTiles / mPages.get(0).maxTiles();
+        // Add one more not full page if needed
+        numPages += (nTiles % mPages.get(0).maxTiles() == 0 ? 0 : 1);
+
+        final int NP = mPages.size();
+        for (int i = 0; i < NP; i++) {
+            mPages.get(i).removeAllViews();
         }
+        if (NP == numPages) {
+            return;
+        }
+        while (mPages.size() < numPages) {
+            if (DEBUG) Log.d(TAG, "Adding page");
+            mPages.add((TilePage) LayoutInflater.from(getContext())
+                    .inflate(R.layout.qs_paged_page, this, false));
+        }
+        while (mPages.size() > numPages) {
+            if (DEBUG) Log.d(TAG, "Removing page");
+            mPages.remove(mPages.size() - 1);
+        }
+        mPageIndicator.setNumPages(mPages.size());
+        setAdapter(mAdapter);
+        mAdapter.notifyDataSetChanged();
+        setCurrentItem(0, false);
     }
 
     @Override
     public boolean updateResources() {
         // Update bottom padding, useful for removing extra space once the panel page indicator is
         // hidden.
-        setPadding(0, 0, 0,
+        Resources res = getContext().getResources();
+        final int sidePadding = res.getDimensionPixelSize(R.dimen.notification_side_paddings);
+        setPadding(sidePadding, 0, sidePadding,
                 getContext().getResources().getDimensionPixelSize(
                         R.dimen.qs_paged_tile_layout_padding_bottom));
-
         boolean changed = false;
         for (int i = 0; i < mPages.size(); i++) {
             changed |= mPages.get(i).updateResources();
         }
         if (changed) {
-            distributeTiles();
+            mDistributeTiles = true;
+            requestLayout();
         }
         return changed;
     }
 
     @Override
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+
+        final int nTiles = mTiles.size();
+        if (MeasureSpec.getMode(heightMeasureSpec) == MeasureSpec.AT_MOST) {
+
+            // Only change the pages if the number of rows or columns (from updateResources) has
+            // changed or the tiles have changed
+            if (mPages.get(0).updateMaxRows(heightMeasureSpec, nTiles) || mDistributeTiles) {
+                mDistributeTiles = false;
+                distributeTiles();
+            }
+
+            final int nRows = mPages.get(0).mRows;
+            for (int i = 0; i < mPages.size(); i++) {
+                TilePage t = mPages.get(i);
+                t.mRows = nRows;
+            }
+        }
+
         super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+
         // The ViewPager likes to eat all of the space, instead force it to wrap to the max height
         // of the pages.
         int maxHeight = 0;
@@ -249,13 +276,6 @@
         setMeasuredDimension(getMeasuredWidth(), maxHeight + getPaddingBottom());
     }
 
-    private final Runnable mDistribute = new Runnable() {
-        @Override
-        public void run() {
-            distributeTiles();
-        }
-    };
-
     public int getColumnCount() {
         if (mPages.size() == 0) return 0;
         return mPages.get(0).mColumns;
@@ -346,33 +366,17 @@
             };
 
     public static class TilePage extends TileLayout {
-        private int mMaxRows = 3;
+
         public TilePage(Context context, AttributeSet attrs) {
             super(context, attrs);
-            updateResources();
-        }
-
-        @Override
-        public boolean updateResources() {
-            final int rows = getRows();
-            boolean changed = rows != mMaxRows;
-            if (changed) {
-                mMaxRows = rows;
-                requestLayout();
-            }
-            return super.updateResources() || changed;
-        }
-
-        private int getRows() {
-            return Math.max(1, getResources().getInteger(R.integer.quick_settings_num_rows));
-        }
-
-        public void setMaxRows(int maxRows) {
-            mMaxRows = maxRows;
         }
 
         public boolean isFull() {
-            return mRecords.size() >= mColumns * mMaxRows;
+            return mRecords.size() >= mColumns * mRows;
+        }
+
+        public int maxTiles() {
+            return mColumns * mRows;
         }
     }
 
@@ -391,6 +395,9 @@
                 position = mPages.size() - 1 - position;
             }
             ViewGroup view = mPages.get(position);
+            if (view.getParent() != null) {
+                container.removeView(view);
+            }
             container.addView(view);
             updateListening();
             return view;
@@ -398,7 +405,7 @@
 
         @Override
         public int getCount() {
-            return mNumPages;
+            return mPages.size();
         }
 
         @Override
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java b/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java
index feff5d4..1451e71 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java
@@ -23,6 +23,7 @@
 import android.content.res.Configuration;
 import android.graphics.Point;
 import android.util.AttributeSet;
+import android.util.Log;
 import android.view.View;
 import android.widget.FrameLayout;
 
@@ -91,15 +92,24 @@
 
     @Override
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-        // Since we control our own bottom, be whatever size we want.
-        // Otherwise the QSPanel ends up with 0 height when the window is only the
-        // size of the status bar.
-        mQSPanel.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(
-                MeasureSpec.getSize(heightMeasureSpec), MeasureSpec.UNSPECIFIED));
+        // QSPanel will show as many rows as it can (up to TileLayout.MAX_ROWS) such that the
+        // bottom and footer are inside the screen.
+        Configuration config = getResources().getConfiguration();
+        boolean navBelow = config.smallestScreenWidthDp >= 600
+                || config.orientation != Configuration.ORIENTATION_LANDSCAPE;
+        MarginLayoutParams layoutParams = (MarginLayoutParams) mQSPanel.getLayoutParams();
+
+        // The footer is pinned to the bottom of QSPanel (same bottoms), therefore we don't need to
+        // subtract its height. We do not care if the collapsed notifications fit in the screen.
+        int maxQs = getDisplayHeight() - layoutParams.topMargin - layoutParams.bottomMargin
+                - getPaddingBottom();
+        if (navBelow) {
+            maxQs -= getResources().getDimensionPixelSize(R.dimen.navigation_bar_height);
+        }
+        mQSPanel.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(maxQs, MeasureSpec.AT_MOST));
         int width = mQSPanel.getMeasuredWidth();
-        LayoutParams layoutParams = (LayoutParams) mQSPanel.getLayoutParams();
         int height = layoutParams.topMargin + layoutParams.bottomMargin
-                + mQSPanel.getMeasuredHeight();
+                + mQSPanel.getMeasuredHeight() + getPaddingBottom();
         super.onMeasure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
                 MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY));
 
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java b/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java
index c36cdf6..79e5086 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java
@@ -256,7 +256,7 @@
     public void setExpanded(boolean expanded) {
         if (DEBUG) Log.d(TAG, "setExpanded " + expanded);
         mQsExpanded = expanded;
-        mQSPanel.setListening(mListening && mQsExpanded);
+        mQSPanel.setListening(mListening, mQsExpanded);
         updateQsState();
     }
 
@@ -287,8 +287,7 @@
         mListening = listening;
         mHeader.setListening(listening);
         mFooter.setListening(listening);
-        mQSPanel.setListening(mListening && mQsExpanded);
-        mQSPanel.getFooter().setListening(listening);
+        mQSPanel.setListening(mListening, mQsExpanded);
     }
 
     @Override
@@ -365,7 +364,11 @@
                 .setListener(new AnimatorListenerAdapter() {
                     @Override
                     public void onAnimationEnd(Animator animation) {
-                        getView().animate().setListener(null);
+                        if (getView() != null) {
+                            // The view could be destroyed before the animation completes when
+                            // switching users.
+                            getView().animate().setListener(null);
+                        }
                         mHeaderAnimating = false;
                         updateQsState();
                     }
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
index 7a57fdd..e98ef4c 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
@@ -199,7 +199,11 @@
 
     public void openDetails(String subPanel) {
         QSTile tile = getTile(subPanel);
-        showDetailAdapter(true, tile.getDetailAdapter(), new int[]{getWidth() / 2, 0});
+        // If there's no tile with that name (as defined in QSFactoryImpl or other QSFactory),
+        // QSFactory will not be able to create a tile and getTile will return null
+        if (tile != null) {
+            showDetailAdapter(true, tile.getDetailAdapter(), new int[]{getWidth() / 2, 0});
+        }
     }
 
     private QSTile getTile(String subPanel) {
@@ -353,12 +357,21 @@
         if (mListening) {
             refreshAllTiles();
         }
-        if (mBrightnessView.getVisibility() == View.VISIBLE) {
-            if (listening) {
-                mBrightnessController.registerCallbacks();
-            } else {
-                mBrightnessController.unregisterCallbacks();
-            }
+    }
+
+    public void setListening(boolean listening, boolean expanded) {
+        setListening(listening && expanded);
+        getFooter().setListening(listening);
+        // Set the listening as soon as the QS fragment starts listening regardless of the expansion,
+        // so it will update the current brightness before the slider is visible.
+        setBrightnessListening(listening);
+    }
+
+    public void setBrightnessListening(boolean listening) {
+        if (listening) {
+            mBrightnessController.registerCallbacks();
+        } else {
+            mBrightnessController.unregisterCallbacks();
         }
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java b/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java
index 86e69e3..cefeeb5 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java
@@ -31,7 +31,7 @@
 import com.android.systemui.Dependency;
 import com.android.systemui.R;
 import com.android.systemui.plugins.PluginListener;
-import com.android.systemui.plugins.PluginManager;
+import com.android.systemui.shared.plugins.PluginManager;
 import com.android.systemui.plugins.qs.QSFactory;
 import com.android.systemui.plugins.qs.QSTileView;
 import com.android.systemui.plugins.qs.QSTile;
diff --git a/packages/SystemUI/src/com/android/systemui/qs/TileLayout.java b/packages/SystemUI/src/com/android/systemui/qs/TileLayout.java
index c67165e..e884302 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/TileLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/TileLayout.java
@@ -24,10 +24,12 @@
     protected int mCellMarginHorizontal;
     protected int mCellMarginVertical;
     protected int mSidePadding;
+    protected int mRows = 1;
 
     protected final ArrayList<TileRecord> mRecords = new ArrayList<>();
     private int mCellMarginTop;
     private boolean mListening;
+    protected int mMaxAllowedRows = 3;
 
     public TileLayout(Context context) {
         this(context, null);
@@ -86,6 +88,7 @@
         mCellMarginVertical= res.getDimensionPixelSize(R.dimen.qs_tile_margin_vertical);
         mCellMarginTop = res.getDimensionPixelSize(R.dimen.qs_tile_margin_top);
         mSidePadding = res.getDimensionPixelOffset(R.dimen.qs_tile_layout_margin_side);
+        mMaxAllowedRows = Math.max(1, getResources().getInteger(R.integer.quick_settings_max_rows));
         if (mColumns != columns) {
             mColumns = columns;
             requestLayout();
@@ -96,10 +99,15 @@
 
     @Override
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        // If called with AT_MOST, it will limit the number of rows. If called with UNSPECIFIED
+        // it will show all its tiles. In this case, the tiles have to be entered before the
+        // container is measured. Any change in the tiles, should trigger a remeasure.
         final int numTiles = mRecords.size();
-        final int width = MeasureSpec.getSize(widthMeasureSpec)
-                - getPaddingStart() - getPaddingEnd();
-        final int numRows = (numTiles + mColumns - 1) / mColumns;
+        final int width = MeasureSpec.getSize(widthMeasureSpec);
+        final int heightMode = MeasureSpec.getMode(heightMeasureSpec);
+        if (heightMode == MeasureSpec.UNSPECIFIED) {
+            mRows = (numTiles + mColumns - 1) / mColumns;
+        }
         mCellWidth = (width - mSidePadding * 2 - (mCellMarginHorizontal * mColumns)) / mColumns;
 
         // Measure each QS tile.
@@ -112,13 +120,35 @@
 
         // Only include the top margin in our measurement if we have more than 1 row to show.
         // Otherwise, don't add the extra margin buffer at top.
-        int height = (mCellHeight + mCellMarginVertical) * numRows +
-                (numRows != 0 ? (mCellMarginTop - mCellMarginVertical) : 0);
+        int height = (mCellHeight + mCellMarginVertical) * mRows +
+                (mRows != 0 ? (mCellMarginTop - mCellMarginVertical) : 0);
         if (height < 0) height = 0;
 
         setMeasuredDimension(width, height);
     }
 
+    /**
+     * Determines the maximum number of rows that can be shown based on height. Clips at a minimum
+     * of 1 and a maximum of mMaxAllowedRows.
+     *
+     * @param heightMeasureSpec Available height.
+     * @param tilesCount Upper limit on the number of tiles to show. to prevent empty rows.
+     */
+    public boolean updateMaxRows(int heightMeasureSpec, int tilesCount) {
+        final int availableHeight = MeasureSpec.getSize(heightMeasureSpec) - mCellMarginTop;
+        final int previousRows = mRows;
+        mRows = availableHeight / (mCellHeight + mCellMarginVertical);
+        if (mRows >= mMaxAllowedRows) {
+            mRows = mMaxAllowedRows;
+        } else if (mRows <= 1) {
+            mRows = 1;
+        }
+        if (mRows > (tilesCount + mColumns - 1) / mColumns) {
+            mRows = (tilesCount + mColumns - 1) / mColumns;
+        }
+        return previousRows != mRows;
+    }
+
     @Override
     public boolean hasOverlappingRendering() {
         return false;
@@ -135,7 +165,8 @@
         int column = 0;
 
         // Layout each QS tile.
-        for (int i = 0; i < numRecords; i++, column++) {
+        final int tilesToLayout = Math.min(numRecords, mRows * mColumns);
+        for (int i = 0; i < tilesToLayout; i++, column++) {
             // If we reached the last column available to layout a tile, wrap back to the next row.
             if (column == mColumns) {
                 column = 0;
diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java b/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java
index 3f7eeb8..dc17dd8 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java
@@ -69,6 +69,7 @@
     private final QSDetailClipper mClipper;
     private final LightBarController mLightBarController;
     private final TileQueryHelper mTileQueryHelper;
+    private final View mTransparentView;
 
     private boolean isShown;
     private QSTileHost mHost;
@@ -108,6 +109,7 @@
         mToolbar.getNavigationIcon().setTint(accentColor);
         mToolbar.getOverflowIcon().setTint(accentColor);
         mRecyclerView = findViewById(android.R.id.list);
+        mTransparentView = findViewById(R.id.customizer_transparent_view);
         mTileAdapter = new TileAdapter(getContext());
         mTileQueryHelper = new TileQueryHelper(context, mTileAdapter);
         mRecyclerView.setAdapter(mTileAdapter);
@@ -127,6 +129,14 @@
     protected void onConfigurationChanged(Configuration newConfig) {
         super.onConfigurationChanged(newConfig);
         updateNavBackDrop(newConfig);
+        updateResources();
+    }
+
+    private void updateResources() {
+        LayoutParams lp = (LayoutParams) mTransparentView.getLayoutParams();
+        lp.height = mContext.getResources().getDimensionPixelSize(
+                com.android.internal.R.dimen.quick_qs_offset_height);
+        mTransparentView.setLayoutParams(lp);
     }
 
     private void updateNavBackDrop(Configuration newConfig) {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/NfcTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/NfcTile.java
index 12daff1..9edd65e1 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/NfcTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/NfcTile.java
@@ -25,6 +25,7 @@
 import android.graphics.drawable.Drawable;
 import android.nfc.NfcAdapter;
 import android.provider.Settings;
+import android.service.quicksettings.Tile;
 import android.widget.Switch;
 
 import com.android.internal.logging.MetricsLogger;
@@ -77,6 +78,9 @@
 
     @Override
     protected void handleClick() {
+        if (getAdapter() == null) {
+            return;
+        }
         if (!getAdapter().isEnabled()) {
             getAdapter().enable();
         } else {
@@ -96,13 +100,13 @@
 
     @Override
     protected void handleUpdateState(BooleanState state, Object arg) {
-        final Drawable mEnable = mContext.getDrawable(R.drawable.ic_qs_nfc_enabled);
-        final Drawable mDisable = mContext.getDrawable(R.drawable.ic_qs_nfc_disabled);
-
-        if (getAdapter() == null) return;
-        state.value = getAdapter().isEnabled();
+        state.value = getAdapter() != null && getAdapter().isEnabled();
+        state.state = getAdapter() == null
+                ? Tile.STATE_UNAVAILABLE
+                : state.value ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE;
+        state.icon = ResourceIcon.get(
+                state.value ? R.drawable.ic_qs_nfc_enabled : R.drawable.ic_qs_nfc_disabled);
         state.label = mContext.getString(R.string.quick_settings_nfc_label);
-        state.icon = new DrawableIcon(state.value ? mEnable : mDisable);
         state.expandedAccessibilityClassName = Switch.class.getName();
         state.contentDescription = state.label;
     }
diff --git a/packages/SystemUI/src/com/android/systemui/recents/IRecentsNonSystemUserCallbacks.aidl b/packages/SystemUI/src/com/android/systemui/recents/IRecentsNonSystemUserCallbacks.aidl
index fc1831d..90c1099 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/IRecentsNonSystemUserCallbacks.aidl
+++ b/packages/SystemUI/src/com/android/systemui/recents/IRecentsNonSystemUserCallbacks.aidl
@@ -31,8 +31,7 @@
     void hideRecents(boolean triggeredFromAltTab, boolean triggeredFromHomeKey);
     void toggleRecents(int recentsGrowTarget);
     void onConfigurationChanged();
-    void splitPrimaryTask(int topTaskId, int dragMode, int stackCreateMode,
-            in Rect initialBounds);
+    void splitPrimaryTask(int topTaskId, int stackCreateMode, in Rect initialBounds);
     void onDraggingInRecents(float distanceFromTop);
     void onDraggingInRecentsEnded(float velocity);
     void showCurrentUserToast(int msgResId, int msgLength);
diff --git a/packages/SystemUI/src/com/android/systemui/recents/IRecentsSystemUserCallbacks.aidl b/packages/SystemUI/src/com/android/systemui/recents/IRecentsSystemUserCallbacks.aidl
index 58d8d8f..e977144 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/IRecentsSystemUserCallbacks.aidl
+++ b/packages/SystemUI/src/com/android/systemui/recents/IRecentsSystemUserCallbacks.aidl
@@ -29,7 +29,7 @@
     void updateRecentsVisibility(boolean visible);
     void startScreenPinning(int taskId);
     void sendRecentsDrawnEvent();
-    void sendDockingTopTaskEvent(int dragMode, in Rect initialRect);
+    void sendDockingTopTaskEvent(in Rect initialRect);
     void sendLaunchRecentsEvent();
     void sendDockedFirstAnimationFrameEvent();
     void setWaitingForTransitionStartEvent(boolean waitingForTransitionStart);
diff --git a/packages/SystemUI/src/com/android/systemui/recents/Recents.java b/packages/SystemUI/src/com/android/systemui/recents/Recents.java
index 8bb3c02..74f6c2d 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/Recents.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/Recents.java
@@ -53,6 +53,7 @@
 import com.android.systemui.R;
 import com.android.systemui.RecentsComponent;
 import com.android.systemui.SystemUIApplication;
+import com.android.systemui.recents.events.ui.RecentsGrowingEvent;
 import com.android.systemui.shared.recents.IOverviewProxy;
 import com.android.systemui.SystemUI;
 import com.android.systemui.recents.events.EventBus;
@@ -248,6 +249,10 @@
         mImpl.onBootCompleted();
     }
 
+    public void growRecents() {
+        EventBus.getDefault().send(new RecentsGrowingEvent());
+    }
+
     /**
      * Shows the Recents.
      */
@@ -463,7 +468,7 @@
     }
 
     @Override
-    public boolean splitPrimaryTask(int dragMode, int stackCreateMode, Rect initialBounds,
+    public boolean splitPrimaryTask(int stackCreateMode, Rect initialBounds,
             int metricsDockAction) {
         // Ensure the device has been provisioned before allowing the user to interact with
         // recents
@@ -495,16 +500,15 @@
                             runningTask.topActivity.flattenToShortString());
                 }
                 if (sSystemServicesProxy.isSystemUser(currentUser)) {
-                    mImpl.splitPrimaryTask(runningTask.id, dragMode, stackCreateMode,
-                            initialBounds);
+                    mImpl.splitPrimaryTask(runningTask.id, stackCreateMode, initialBounds);
                 } else {
                     if (mSystemToUserCallbacks != null) {
                         IRecentsNonSystemUserCallbacks callbacks =
                                 mSystemToUserCallbacks.getNonSystemUserRecentsForUser(currentUser);
                         if (callbacks != null) {
                             try {
-                                callbacks.splitPrimaryTask(runningTask.id, dragMode,
-                                        stackCreateMode, initialBounds);
+                                callbacks.splitPrimaryTask(runningTask.id, stackCreateMode,
+                                        initialBounds);
                             } catch (RemoteException e) {
                                 Log.e(TAG, "Callback failed", e);
                             }
@@ -552,53 +556,6 @@
         }
     }
 
-    @Override
-    public void onDraggingInRecents(float distanceFromTop) {
-        if (sSystemServicesProxy.isSystemUser(mDraggingInRecentsCurrentUser)) {
-            mImpl.onDraggingInRecents(distanceFromTop);
-        } else {
-            if (mSystemToUserCallbacks != null) {
-                IRecentsNonSystemUserCallbacks callbacks =
-                        mSystemToUserCallbacks.getNonSystemUserRecentsForUser(
-                                mDraggingInRecentsCurrentUser);
-                if (callbacks != null) {
-                    try {
-                        callbacks.onDraggingInRecents(distanceFromTop);
-                    } catch (RemoteException e) {
-                        Log.e(TAG, "Callback failed", e);
-                    }
-                } else {
-                    Log.e(TAG, "No SystemUI callbacks found for user: "
-                            + mDraggingInRecentsCurrentUser);
-                }
-            }
-        }
-    }
-
-    @Override
-    public void onDraggingInRecentsEnded(float velocity) {
-        if (sSystemServicesProxy.isSystemUser(mDraggingInRecentsCurrentUser)) {
-            mImpl.onDraggingInRecentsEnded(velocity);
-        } else {
-            if (mSystemToUserCallbacks != null) {
-                IRecentsNonSystemUserCallbacks callbacks =
-                        mSystemToUserCallbacks.getNonSystemUserRecentsForUser(
-                                mDraggingInRecentsCurrentUser);
-                if (callbacks != null) {
-                    try {
-                        callbacks.onDraggingInRecentsEnded(velocity);
-                    } catch (RemoteException e) {
-                        Log.e(TAG, "Callback failed", e);
-                    }
-                } else {
-                    Log.e(TAG, "No SystemUI callbacks found for user: "
-                            + mDraggingInRecentsCurrentUser);
-                }
-            }
-        }
-    }
-
-    @Override
     public void showNextAffiliatedTask() {
         // Ensure the device has been provisioned before allowing the user to interact with
         // recents
@@ -609,7 +566,6 @@
         mImpl.showNextAffiliatedTask();
     }
 
-    @Override
     public void showPrevAffiliatedTask() {
         // Ensure the device has been provisioned before allowing the user to interact with
         // recents
@@ -686,7 +642,12 @@
     public final void onBusEvent(DockedFirstAnimationFrameEvent event) {
         SystemServicesProxy ssp = Recents.getSystemServices();
         int processUser = ssp.getProcessUser();
-        if (!ssp.isSystemUser(processUser)) {
+        if (ssp.isSystemUser(processUser)) {
+            final Divider divider = getComponent(Divider.class);
+            if (divider != null) {
+                divider.onDockedFirstAnimationFrame();
+            }
+        } else {
             postToSystemUser(new Runnable() {
                 @Override
                 public void run() {
@@ -723,7 +684,12 @@
 
     public final void onBusEvent(final RecentsDrawnEvent event) {
         int processUser = sSystemServicesProxy.getProcessUser();
-        if (!sSystemServicesProxy.isSystemUser(processUser)) {
+        if (sSystemServicesProxy.isSystemUser(processUser)) {
+            final Divider divider = getComponent(Divider.class);
+            if (divider != null) {
+                divider.onRecentsDrawn();
+            }
+        } else {
             postToSystemUser(new Runnable() {
                 @Override
                 public void run() {
@@ -739,13 +705,17 @@
 
     public final void onBusEvent(final DockedTopTaskEvent event) {
         int processUser = sSystemServicesProxy.getProcessUser();
-        if (!sSystemServicesProxy.isSystemUser(processUser)) {
+        if (sSystemServicesProxy.isSystemUser(processUser)) {
+            final Divider divider = getComponent(Divider.class);
+            if (divider != null) {
+                divider.onDockedTopTask();
+            }
+        } else {
             postToSystemUser(new Runnable() {
                 @Override
                 public void run() {
                     try {
-                        mUserToSystemCallbacks.sendDockingTopTaskEvent(event.dragMode,
-                                event.initialRect);
+                        mUserToSystemCallbacks.sendDockingTopTaskEvent(event.initialRect);
                     } catch (RemoteException e) {
                         Log.e(TAG, "Callback failed", e);
                     }
@@ -756,7 +726,12 @@
 
     public final void onBusEvent(final RecentsActivityStartingEvent event) {
         int processUser = sSystemServicesProxy.getProcessUser();
-        if (!sSystemServicesProxy.isSystemUser(processUser)) {
+        if (sSystemServicesProxy.isSystemUser(processUser)) {
+            final Divider divider = getComponent(Divider.class);
+            if (divider != null) {
+                divider.onRecentsActivityStarting();
+            }
+        } else {
             postToSystemUser(new Runnable() {
                 @Override
                 public void run() {
diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java
index 63a65d0..d95c731 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java
@@ -49,6 +49,7 @@
 import com.android.systemui.Dependency;
 import com.android.systemui.OverviewProxyService;
 import com.android.systemui.SysUiServiceProvider;
+import com.android.systemui.pip.phone.ForegroundThread;
 import com.google.android.collect.Lists;
 
 import com.android.internal.logging.MetricsLogger;
@@ -72,7 +73,6 @@
 import com.android.systemui.recents.events.ui.DraggingInRecentsEvent;
 import com.android.systemui.recents.events.ui.TaskSnapshotChangedEvent;
 import com.android.systemui.recents.misc.DozeTrigger;
-import com.android.systemui.recents.misc.ForegroundThread;
 import com.android.systemui.recents.misc.SystemServicesProxy;
 import com.android.systemui.recents.misc.SysUiTaskStackChangeListener;
 import com.android.systemui.shared.recents.model.RecentsTaskLoadPlan;
@@ -690,14 +690,13 @@
         showRelativeAffiliatedTask(false);
     }
 
-    public void splitPrimaryTask(int taskId, int dragMode, int stackCreateMode,
-            Rect initialBounds) {
+    public void splitPrimaryTask(int taskId, int stackCreateMode, Rect initialBounds) {
         SystemServicesProxy ssp = Recents.getSystemServices();
 
         // Make sure we inform DividerView before we actually start the activity so we can change
         // the resize mode already.
         if (ssp.setTaskWindowingModeSplitScreenPrimary(taskId, stackCreateMode, initialBounds)) {
-            EventBus.getDefault().send(new DockedTopTaskEvent(dragMode, initialBounds));
+            EventBus.getDefault().send(new DockedTopTaskEvent(initialBounds));
         }
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsImplProxy.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsImplProxy.java
index beec4b3..a1da785 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/RecentsImplProxy.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsImplProxy.java
@@ -87,12 +87,11 @@
     }
 
     @Override
-    public void splitPrimaryTask(int topTaskId, int dragMode, int stackCreateMode,
-            Rect initialBounds) throws RemoteException {
+    public void splitPrimaryTask(int topTaskId, int stackCreateMode, Rect initialBounds)
+            throws RemoteException {
         SomeArgs args = SomeArgs.obtain();
         args.argi1 = topTaskId;
-        args.argi2 = dragMode;
-        args.argi3 = stackCreateMode;
+        args.argi2 = stackCreateMode;
         args.arg1 = initialBounds;
         mHandler.sendMessage(mHandler.obtainMessage(MSG_DOCK_TOP_TASK, args));
     }
@@ -141,7 +140,7 @@
                     break;
                 case MSG_DOCK_TOP_TASK:
                     args = (SomeArgs) msg.obj;
-                    mImpl.splitPrimaryTask(args.argi1, args.argi2, args.argi3 = 0,
+                    mImpl.splitPrimaryTask(args.argi1, args.argi2 = 0,
                             (Rect) args.arg1);
                     break;
                 case MSG_ON_DRAGGING_IN_RECENTS:
diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsSystemUser.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsSystemUser.java
index ff1f7dc..c5e9f04 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/RecentsSystemUser.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsSystemUser.java
@@ -26,13 +26,13 @@
 
 import com.android.systemui.EventLogConstants;
 import com.android.systemui.EventLogTags;
+import com.android.systemui.pip.phone.ForegroundThread;
 import com.android.systemui.recents.events.EventBus;
 import com.android.systemui.recents.events.activity.DockedFirstAnimationFrameEvent;
 import com.android.systemui.recents.events.activity.DockedTopTaskEvent;
 import com.android.systemui.recents.events.activity.RecentsActivityStartingEvent;
 import com.android.systemui.recents.events.component.SetWaitingForTransitionStartEvent;
 import com.android.systemui.recents.events.ui.RecentsDrawnEvent;
-import com.android.systemui.recents.misc.ForegroundThread;
 
 /**
  * An implementation of the system user's Recents interface to be called remotely by secondary
@@ -99,8 +99,8 @@
     }
 
     @Override
-    public void sendDockingTopTaskEvent(int dragMode, Rect initialRect) throws RemoteException {
-        EventBus.getDefault().post(new DockedTopTaskEvent(dragMode, initialRect));
+    public void sendDockingTopTaskEvent(Rect initialRect) throws RemoteException {
+        EventBus.getDefault().post(new DockedTopTaskEvent(initialRect));
     }
 
     @Override
diff --git a/packages/SystemUI/src/com/android/systemui/recents/events/EventBus.java b/packages/SystemUI/src/com/android/systemui/recents/events/EventBus.java
index d7abb38..177362c 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/events/EventBus.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/events/EventBus.java
@@ -16,23 +16,16 @@
 
 package com.android.systemui.recents.events;
 
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.SystemClock;
 import android.os.UserHandle;
 import android.util.Log;
-import android.util.MutableBoolean;
 
 import com.android.systemui.recents.misc.ReferenceCountedTrigger;
 
 import java.io.PrintWriter;
 import java.lang.ref.WeakReference;
-import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
@@ -117,11 +110,7 @@
  * <p>
  * Currently, there is a single EventBus that handles {@link EventBus.Event}s for each subscriber
  * on the main application thread.  Publishers can send() events to synchronously call subscribers
- * of that event, or post() events to be processed in the next run of the {@link Looper}.  In
- * addition, the EventBus supports sending and handling {@link EventBus.InterprocessEvent}s
- * (within the same package) implemented using standard {@link BroadcastReceiver} mechanism.
- * Interprocess events must be posted using postInterprocess() to ensure that it is dispatched
- * correctly across processes.
+ * of that event, or post() events to be processed in the next run of the {@link Looper}.
  *
  * <p>
  * Subscribers must be registered with a particular EventBus before they will receive events, and
@@ -135,26 +124,12 @@
  * <li>Methods must take one parameter, of class type deriving from {@link EventBus.Event}
  * </ul>
  *
- * <p>
- * Interprocess-Event method signature:<ul>
- * <li>Methods must be public final
- * <li>Methods must return void
- * <li>Methods must be called "onInterprocessBusEvent"
- * <li>Methods must take one parameter, of class type deriving from {@link EventBus.InterprocessEvent}
- * </ul>
- * </p>
- *
  * </p>
  * Each subscriber can be registered with a given priority (default 1), and events will be dispatch
  * in decreasing order of priority.  For subscribers with the same priority, events will be
  * dispatched by latest registration time to earliest.
  *
  * <p>
- * Interprocess events must extend {@link EventBus.InterprocessEvent}, have a constructor which
- * takes a {@link Bundle} and implement toBundle().  This allows us to serialize events to be sent
- * across processes.
- *
- * <p>
  * Caveats:<ul>
  * <li>The EventBus keeps a {@link WeakReference} to the publisher to prevent memory leaks, so
  * there must be another strong reference to the publisher for it to not get garbage-collected and
@@ -201,7 +176,7 @@
  * result?
  * </p>
  */
-public class EventBus extends BroadcastReceiver {
+public class EventBus {
 
     private static final String TAG = "EventBus";
     private static final boolean DEBUG_TRACE_ALL = false;
@@ -314,35 +289,6 @@
     }
 
     /**
-     * An inter-process event super class that allows us to track user state across subscriber
-     * invocations.
-     */
-    public static class InterprocessEvent extends Event {
-        private static final String EXTRA_USER = "_user";
-
-        // The user which this event originated from
-        public final int user;
-
-        // Only accessible from derived events
-        protected InterprocessEvent(int user) {
-            this.user = user;
-        }
-
-        /**
-         * Called from the event bus
-         */
-        protected InterprocessEvent(Bundle b) {
-            user = b.getInt(EXTRA_USER);
-        }
-
-        protected Bundle toBundle() {
-            Bundle b = new Bundle();
-            b.putInt(EXTRA_USER, user);
-            return b;
-        }
-    }
-
-    /**
      * Proguard must also know, and keep, all methods matching this signature.
      *
      * -keepclassmembers class ** {
@@ -351,13 +297,6 @@
      * }
      */
     private static final String METHOD_PREFIX = "onBusEvent";
-    private static final String INTERPROCESS_METHOD_PREFIX = "onInterprocessBusEvent";
-
-    // Ensures that interprocess events can only be sent from a process holding this permission. */
-    private static final String PERMISSION_SELF = "com.android.systemui.permission.SELF";
-
-    // Used for passing event data across process boundaries
-    private static final String EXTRA_INTERPROCESS_EVENT_BUNDLE = "interprocess_event_bundle";
 
     // The default priority of all subscribers
     private static final int DEFAULT_SUBSCRIBER_PRIORITY = 1;
@@ -383,10 +322,6 @@
     // The handler to post all events
     private Handler mHandler;
 
-    // Keep track of whether we have registered a broadcast receiver already, so that we can
-    // unregister ourselves before re-registering again with a new IntentFilter.
-    private boolean mHasRegisteredReceiver;
-
     /**
      * Map from event class -> event handler list.  Keeps track of the actual mapping from event
      * to subscriber method.
@@ -401,13 +336,6 @@
     private HashMap<Class<? extends Object>, ArrayList<EventHandlerMethod>> mSubscriberTypeMap = new HashMap<>();
 
     /**
-     * Map from interprocess event name -> interprocess event class.  Used for mapping the event
-     * name after receiving the broadcast, to the event type.  After which a new instance is created
-     * and posted in the local process.
-     */
-    private HashMap<String, Class<? extends InterprocessEvent>> mInterprocessEventNameMap = new HashMap<>();
-
-    /**
      * Set of all currently registered subscribers
      */
     private ArrayList<Subscriber> mSubscribers = new ArrayList<>();
@@ -447,7 +375,7 @@
      *                   be scanned for appropriate event handler methods.
      */
     public void register(Object subscriber) {
-        registerSubscriber(subscriber, DEFAULT_SUBSCRIBER_PRIORITY, null);
+        registerSubscriber(subscriber, DEFAULT_SUBSCRIBER_PRIORITY);
     }
 
     /**
@@ -460,44 +388,7 @@
      *                 subscribers
      */
     public void register(Object subscriber, int priority) {
-        registerSubscriber(subscriber, priority, null);
-    }
-
-    /**
-     * Explicitly registers a subscriber to receive interprocess events with the default priority.
-     *
-     * @param subscriber the subscriber to handle events.  If this is the first instance of the
-     *                   subscriber's class type that has been registered, the class's methods will
-     *                   be scanned for appropriate event handler methods.
-     */
-    public void registerInterprocessAsCurrentUser(Context context, Object subscriber) {
-        registerInterprocessAsCurrentUser(context, subscriber, DEFAULT_SUBSCRIBER_PRIORITY);
-    }
-
-    /**
-     * Registers a subscriber to receive interprocess events with the given priority.
-     *
-     * @param subscriber the subscriber to handle events.  If this is the first instance of the
-     *                   subscriber's class type that has been registered, the class's methods will
-     *                   be scanned for appropriate event handler methods.
-     * @param priority the priority that this subscriber will receive events relative to other
-     *                 subscribers
-     */
-    public void registerInterprocessAsCurrentUser(Context context, Object subscriber, int priority) {
-        if (DEBUG_TRACE_ALL) {
-            logWithPid("registerInterprocessAsCurrentUser(" + subscriber.getClass().getSimpleName() + ")");
-        }
-
-        // Register the subscriber normally, and update the broadcast receiver filter if this is
-        // a new subscriber type with interprocess events
-        MutableBoolean hasInterprocessEventsChanged = new MutableBoolean(false);
-        registerSubscriber(subscriber, priority, hasInterprocessEventsChanged);
-        if (DEBUG_TRACE_ALL) {
-            logWithPid("hasInterprocessEventsChanged: " + hasInterprocessEventsChanged.value);
-        }
-        if (hasInterprocessEventsChanged.value) {
-            registerReceiverForInterprocessEvents(context);
-        }
+        registerSubscriber(subscriber, priority);
     }
 
     /**
@@ -538,18 +429,6 @@
     }
 
     /**
-     * Explicit unregistration for interprocess event subscribers.  This actually behaves exactly
-     * the same as unregister() since we also do not want to stop listening for specific
-     * inter-process messages in case new instances of that subscriber is registered.
-     */
-    public void unregisterInterprocess(Context context, Object subscriber) {
-        if (DEBUG_TRACE_ALL) {
-            logWithPid("unregisterInterprocess()");
-        }
-        unregister(subscriber);
-    }
-
-    /**
      * Sends an event to the subscribers of the given event type immediately.  This can only be
      * called from the same thread as the EventBus's looper thread (for the default EventBus, this
      * is the main application thread).
@@ -599,57 +478,6 @@
         }
     }
 
-    /** Prevent post()ing an InterprocessEvent */
-    @Deprecated
-    public void post(InterprocessEvent event) {
-        throw new RuntimeException("Not supported, use postInterprocess");
-    }
-
-    /** Prevent send()ing an InterprocessEvent */
-    @Deprecated
-    public void send(InterprocessEvent event) {
-        throw new RuntimeException("Not supported, use postInterprocess");
-    }
-
-    /**
-     * Posts an interprocess event.
-     */
-    public void postInterprocess(Context context, final InterprocessEvent event) {
-        if (DEBUG_TRACE_ALL) {
-            logWithPid("postInterprocess(" + event.getClass().getSimpleName() + ")");
-        }
-        String eventType = event.getClass().getName();
-        Bundle eventBundle = event.toBundle();
-        Intent intent = new Intent(eventType);
-        intent.setPackage(context.getPackageName());
-        intent.putExtra(EXTRA_INTERPROCESS_EVENT_BUNDLE, eventBundle);
-        intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT |
-                Intent.FLAG_RECEIVER_FOREGROUND);
-        context.sendBroadcastAsUser(intent, UserHandle.ALL);
-    }
-
-    /**
-     * Receiver for interprocess events.
-     */
-    @Override
-    public void onReceive(Context context, Intent intent) {
-        if (DEBUG_TRACE_ALL) {
-            logWithPid("onReceive(" + intent.getAction() + ", user " + UserHandle.myUserId() + ")");
-        }
-
-        Bundle eventBundle = intent.getBundleExtra(EXTRA_INTERPROCESS_EVENT_BUNDLE);
-        Class<? extends InterprocessEvent> eventType = mInterprocessEventNameMap.get(intent.getAction());
-        try {
-            Constructor<? extends InterprocessEvent> ctor = eventType.getConstructor(Bundle.class);
-            send((Event) ctor.newInstance(eventBundle));
-        } catch (NoSuchMethodException|
-                InvocationTargetException|
-                InstantiationException|
-                IllegalAccessException e) {
-            Log.e(TAG, "Failed to create InterprocessEvent", e.getCause());
-        }
-    }
-
     /**
      * @return a dump of the current state of the EventBus
      */
@@ -711,8 +539,7 @@
     /**
      * Registers a new subscriber.
      */
-    private void registerSubscriber(Object subscriber, int priority,
-            MutableBoolean hasInterprocessEventsChangedOut) {
+    private void registerSubscriber(Object subscriber, int priority) {
         // Fail immediately if we are being called from the non-main thread
         long callingThreadId = Thread.currentThread().getId();
         if (callingThreadId != mHandler.getLooper().getThread().getId()) {
@@ -759,32 +586,16 @@
         }
 
         // Find all the valid event bus handler methods of the subscriber
-        MutableBoolean isInterprocessEvent = new MutableBoolean(false);
         Method[] methods = subscriberType.getDeclaredMethods();
         for (Method m : methods) {
             Class<?>[] parameterTypes = m.getParameterTypes();
-            isInterprocessEvent.value = false;
-            if (isValidEventBusHandlerMethod(m, parameterTypes, isInterprocessEvent)) {
+            if (isValidEventBusHandlerMethod(m, parameterTypes)) {
                 Class<? extends Event> eventType = (Class<? extends Event>) parameterTypes[0];
                 ArrayList<EventHandler> eventTypeHandlers = mEventTypeMap.get(eventType);
                 if (eventTypeHandlers == null) {
                     eventTypeHandlers = new ArrayList<>();
                     mEventTypeMap.put(eventType, eventTypeHandlers);
                 }
-                if (isInterprocessEvent.value) {
-                    try {
-                        // Enforce that the event must have a Bundle constructor
-                        eventType.getConstructor(Bundle.class);
-
-                        mInterprocessEventNameMap.put(eventType.getName(),
-                                (Class<? extends InterprocessEvent>) eventType);
-                        if (hasInterprocessEventsChangedOut != null) {
-                            hasInterprocessEventsChangedOut.value = true;
-                        }
-                    } catch (NoSuchMethodException e) {
-                        throw new RuntimeException("Expected InterprocessEvent to have a Bundle constructor");
-                    }
-                }
                 EventHandlerMethod method = new EventHandlerMethod(m, eventType);
                 EventHandler handler = new EventHandler(sub, method, priority);
                 eventTypeHandlers.add(handler);
@@ -793,8 +604,7 @@
 
                 if (DEBUG_TRACE_ALL) {
                     logWithPid("  * Method: " + m.getName() +
-                            " event: " + parameterTypes[0].getSimpleName() +
-                            " interprocess? " + isInterprocessEvent.value);
+                            " event: " + parameterTypes[0].getSimpleName());
                 }
             }
         }
@@ -830,12 +640,7 @@
             final EventHandler eventHandler = eventHandlers.get(i);
             if (eventHandler.subscriber.getReference() != null) {
                 if (event.requiresPost) {
-                    mHandler.post(new Runnable() {
-                        @Override
-                        public void run() {
-                            processEvent(eventHandler, event);
-                        }
-                    });
+                    mHandler.post(() -> processEvent(eventHandler, event));
                     hasPostedEvent = true;
                 } else {
                     processEvent(eventHandler, event);
@@ -845,12 +650,7 @@
 
         // Clean up after this event, deferring until all subscribers have been called
         if (hasPostedEvent) {
-            mHandler.post(new Runnable() {
-                @Override
-                public void run() {
-                    event.onPostDispatch();
-                }
-            });
+            mHandler.post(event::onPostDispatch);
         } else {
             event.onPostDispatch();
         }
@@ -898,29 +698,6 @@
     }
 
     /**
-     * Re-registers the broadcast receiver for any new messages that we want to listen for.
-     */
-    private void registerReceiverForInterprocessEvents(Context context) {
-        if (DEBUG_TRACE_ALL) {
-            logWithPid("registerReceiverForInterprocessEvents()");
-        }
-        // Rebuild the receiver filter with the new interprocess events
-        IntentFilter filter = new IntentFilter();
-        for (String eventName : mInterprocessEventNameMap.keySet()) {
-            filter.addAction(eventName);
-            if (DEBUG_TRACE_ALL) {
-                logWithPid("  filter: " + eventName);
-            }
-        }
-        // Re-register the receiver with the new filter
-        if (mHasRegisteredReceiver) {
-            context.unregisterReceiver(this);
-        }
-        context.registerReceiverAsUser(this, UserHandle.ALL, filter, PERMISSION_SELF, mHandler);
-        mHasRegisteredReceiver = true;
-    }
-
-    /**
      * Returns whether this subscriber is currently registered.  If {@param removeFoundSubscriber}
      * is true, then remove the subscriber before returning.
      */
@@ -940,28 +717,19 @@
     /**
      * @return whether {@param method} is a valid (normal or interprocess) event bus handler method
      */
-    private boolean isValidEventBusHandlerMethod(Method method, Class<?>[] parameterTypes,
-            MutableBoolean isInterprocessEventOut) {
+    private boolean isValidEventBusHandlerMethod(Method method, Class<?>[] parameterTypes) {
         int modifiers = method.getModifiers();
         if (Modifier.isPublic(modifiers) &&
                 Modifier.isFinal(modifiers) &&
                 method.getReturnType().equals(Void.TYPE) &&
                 parameterTypes.length == 1) {
-            if (EventBus.InterprocessEvent.class.isAssignableFrom(parameterTypes[0]) &&
-                    method.getName().startsWith(INTERPROCESS_METHOD_PREFIX)) {
-                isInterprocessEventOut.value = true;
-                return true;
-            } else if (EventBus.Event.class.isAssignableFrom(parameterTypes[0]) &&
+            if (EventBus.Event.class.isAssignableFrom(parameterTypes[0]) &&
                             method.getName().startsWith(METHOD_PREFIX)) {
-                isInterprocessEventOut.value = false;
                 return true;
             } else {
                 if (DEBUG_TRACE_ALL) {
                     if (!EventBus.Event.class.isAssignableFrom(parameterTypes[0])) {
                         logWithPid("  Expected method take an Event-based parameter: " + method.getName());
-                    } else if (!method.getName().startsWith(INTERPROCESS_METHOD_PREFIX) &&
-                            !method.getName().startsWith(METHOD_PREFIX)) {
-                        logWithPid("  Expected method start with method prefix: " + method.getName());
                     }
                 }
             }
diff --git a/packages/SystemUI/src/com/android/systemui/recents/events/activity/DockedTopTaskEvent.java b/packages/SystemUI/src/com/android/systemui/recents/events/activity/DockedTopTaskEvent.java
index f1bc214..9e3ced3 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/events/activity/DockedTopTaskEvent.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/events/activity/DockedTopTaskEvent.java
@@ -26,11 +26,9 @@
  */
 public class DockedTopTaskEvent extends EventBus.Event {
 
-    public int dragMode;
     public Rect initialRect;
 
-    public DockedTopTaskEvent(int dragMode, Rect initialRect) {
-        this.dragMode = dragMode;
+    public DockedTopTaskEvent(Rect initialRect) {
         this.initialRect = initialRect;
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java b/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java
index 1178725..3ed5f70 100644
--- a/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java
+++ b/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java
@@ -460,7 +460,7 @@
 
     private void animateSliderTo(int target) {
         if (!mControlValueInitialized) {
-            // Don't animate the first value since it's default state isn't meaningful to users.
+            // Don't animate the first value since its default state isn't meaningful to users.
             mControl.setValue(target);
             mControlValueInitialized = true;
         }
@@ -470,10 +470,12 @@
         mSliderAnimator = ValueAnimator.ofInt(mControl.getValue(), target);
         mSliderAnimator.addUpdateListener((ValueAnimator animation) -> {
             mExternalChange = true;
-            mControl.setValue((int)animation.getAnimatedValue());
+            mControl.setValue((int) animation.getAnimatedValue());
             mExternalChange = false;
         });
-        mSliderAnimator.setDuration(SLIDER_ANIMATION_DURATION);
+        final long animationDuration = SLIDER_ANIMATION_DURATION * Math.abs(
+                mControl.getValue() - target) / GAMMA_SPACE_MAX;
+        mSliderAnimator.setDuration(animationDuration);
         mSliderAnimator.start();
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/shortcut/ShortcutKeyDispatcher.java b/packages/SystemUI/src/com/android/systemui/shortcut/ShortcutKeyDispatcher.java
index 750002c..64fa8f8 100644
--- a/packages/SystemUI/src/com/android/systemui/shortcut/ShortcutKeyDispatcher.java
+++ b/packages/SystemUI/src/com/android/systemui/shortcut/ShortcutKeyDispatcher.java
@@ -18,11 +18,7 @@
 
 import static android.app.ActivityTaskManager.SPLIT_SCREEN_CREATE_MODE_BOTTOM_OR_RIGHT;
 import static android.app.ActivityTaskManager.SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT;
-import static android.os.UserHandle.USER_CURRENT;
 
-import static com.android.systemui.statusbar.phone.NavigationBarGestureHelper.DRAG_MODE_NONE;
-
-import android.app.ActivityManager;
 import android.content.res.Configuration;
 import android.os.RemoteException;
 import android.util.Log;
@@ -30,17 +26,11 @@
 import android.view.KeyEvent;
 import android.view.WindowManager;
 import android.view.WindowManagerGlobal;
-
 import com.android.internal.policy.DividerSnapAlgorithm;
 import com.android.systemui.SystemUI;
 import com.android.systemui.recents.Recents;
-import com.android.systemui.recents.misc.SystemServicesProxy;
-import com.android.systemui.shared.system.ActivityManagerWrapper;
 import com.android.systemui.stackdivider.Divider;
 import com.android.systemui.stackdivider.DividerView;
-import com.android.systemui.statusbar.phone.NavigationBarGestureHelper;
-
-import java.util.List;
 
 /**
  * Dispatches shortcut to System UI components
@@ -94,7 +84,7 @@
             if (dockSide == WindowManager.DOCKED_INVALID) {
                 // Split the screen
                 Recents recents = getComponent(Recents.class);
-                recents.splitPrimaryTask(DRAG_MODE_NONE, (shortcutCode == SC_DOCK_LEFT)
+                recents.splitPrimaryTask((shortcutCode == SC_DOCK_LEFT)
                         ? SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT
                         : SPLIT_SCREEN_CREATE_MODE_BOTTOM_OR_RIGHT, null, -1);
             } else {
diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java b/packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java
index da0a435..ea194a7 100644
--- a/packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java
+++ b/packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java
@@ -16,29 +16,28 @@
 
 package com.android.systemui.stackdivider;
 
-import android.content.res.Configuration;
-import android.os.RemoteException;
-import android.view.IDockedStackListener;
-import android.view.LayoutInflater;
-import android.view.View;
-
-import com.android.systemui.R;
-import com.android.systemui.SystemUI;
-import com.android.systemui.recents.Recents;
-import com.android.systemui.recents.events.EventBus;
-import com.android.systemui.recents.events.ui.RecentsDrawnEvent;
-import com.android.systemui.recents.misc.SystemServicesProxy;
-
 import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;
 import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
 
+import android.content.res.Configuration;
+import android.os.RemoteException;
+import android.util.Log;
+import android.view.IDockedStackListener;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.WindowManagerGlobal;
+import com.android.systemui.R;
+import com.android.systemui.SystemUI;
+import com.android.systemui.recents.Recents;
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
 
 /**
  * Controls the docked stack divider.
  */
-public class Divider extends SystemUI {
+public class Divider extends SystemUI implements DividerView.DividerCallbacks {
+    private static final String TAG = "Divider";
+
     private DividerWindowManager mWindowManager;
     private DividerView mView;
     private final DividerState mDividerState = new DividerState();
@@ -55,10 +54,13 @@
         update(mContext.getResources().getConfiguration());
         putComponent(Divider.class, this);
         mDockDividerVisibilityListener = new DockDividerVisibilityListener();
-        SystemServicesProxy ssp = Recents.getSystemServices();
-        ssp.registerDockedStackListener(mDockDividerVisibilityListener);
+        try {
+            WindowManagerGlobal.getWindowManagerService().registerDockedStackListener(
+                    mDockDividerVisibilityListener);
+        } catch (Exception e) {
+            Log.e(TAG, "Failed to register docked stack listener", e);
+        }
         mForcedResizableController = new ForcedResizableInfoActivityController(mContext);
-        EventBus.getDefault().register(this);
     }
 
     @Override
@@ -82,7 +84,7 @@
     private void addDivider(Configuration configuration) {
         mView = (DividerView)
                 LayoutInflater.from(mContext).inflate(R.layout.docked_stack_divider, null);
-        mView.injectDependencies(mWindowManager, mDividerState);
+        mView.injectDependencies(mWindowManager, mDividerState, this);
         mView.setVisibility(mVisible ? View.VISIBLE : View.INVISIBLE);
         mView.setMinimizedDockStack(mMinimized, mHomeStackResizable);
         final int size = mContext.getResources().getDimensionPixelSize(
@@ -156,18 +158,64 @@
         mWindowManager.setTouchable((mHomeStackResizable || !mMinimized) && !mAdjustedForIme);
     }
 
+    public void onRecentsActivityStarting() {
+        if (mView != null) {
+            mView.onRecentsActivityStarting();
+        }
+    }
+
     /**
-     * Workaround for b/62528361, at the time RecentsDrawnEvent is sent, it may happen before a
+     * Workaround for b/62528361, at the time recents has drawn, it may happen before a
      * configuration change to the Divider, and internally, the event will be posted to the
      * subscriber, or DividerView, which has been removed and prevented from resizing. Instead,
      * register the event handler here and proxy the event to the current DividerView.
      */
-    public final void onBusEvent(RecentsDrawnEvent drawnEvent) {
+    public void onRecentsDrawn() {
         if (mView != null) {
             mView.onRecentsDrawn();
         }
     }
 
+    public void onUndockingTask() {
+        if (mView != null) {
+            mView.onUndockingTask();
+        }
+    }
+
+    public void onDockedFirstAnimationFrame() {
+        if (mView != null) {
+            mView.onDockedFirstAnimationFrame();
+        }
+    }
+
+    public void onDockedTopTask() {
+        if (mView != null) {
+            mView.onDockedTopTask();
+        }
+    }
+
+    public void onAppTransitionFinished() {
+        mForcedResizableController.onAppTransitionFinished();
+    }
+
+    @Override
+    public void onDraggingStart() {
+        mForcedResizableController.onDraggingStart();
+    }
+
+    @Override
+    public void onDraggingEnd() {
+        mForcedResizableController.onDraggingEnd();
+    }
+
+    @Override
+    public void growRecents() {
+        Recents recents = getComponent(Recents.class);
+        if (recents != null) {
+            recents.growRecents();
+        }
+    }
+
     @Override
     public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
         pw.print("  mVisible="); pw.println(mVisible);
diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java
index 98925b9..fa01af6 100644
--- a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java
+++ b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java
@@ -55,7 +55,6 @@
 import android.view.animation.Interpolator;
 import android.view.animation.PathInterpolator;
 import android.widget.FrameLayout;
-
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.internal.policy.DividerSnapAlgorithm;
@@ -64,17 +63,8 @@
 import com.android.internal.view.SurfaceFlingerVsyncChoreographer;
 import com.android.systemui.Interpolators;
 import com.android.systemui.R;
-import com.android.systemui.recents.events.EventBus;
-import com.android.systemui.recents.events.activity.DockedFirstAnimationFrameEvent;
-import com.android.systemui.recents.events.activity.DockedTopTaskEvent;
-import com.android.systemui.recents.events.activity.RecentsActivityStartingEvent;
-import com.android.systemui.recents.events.activity.UndockingTaskEvent;
-import com.android.systemui.recents.events.ui.RecentsGrowingEvent;
-import com.android.systemui.recents.misc.SystemServicesProxy;
-import com.android.systemui.stackdivider.events.StartedDragingEvent;
-import com.android.systemui.stackdivider.events.StoppedDragingEvent;
+import com.android.systemui.shared.system.WindowManagerWrapper;
 import com.android.systemui.statusbar.FlingAnimationUtils;
-import com.android.systemui.statusbar.phone.NavigationBarGestureHelper;
 
 /**
  * Docked stack divider.
@@ -82,6 +72,12 @@
 public class DividerView extends FrameLayout implements OnTouchListener,
         OnComputeInternalInsetsListener {
 
+    public interface DividerCallbacks {
+        void onDraggingStart();
+        void onDraggingEnd();
+        void growRecents();
+    }
+
     static final long TOUCH_ANIMATION_DURATION = 150;
     static final long TOUCH_RELEASE_ANIMATION_DURATION = 200;
 
@@ -149,6 +145,7 @@
     private FlingAnimationUtils mFlingAnimationUtils;
     private DividerSnapAlgorithm mSnapAlgorithm;
     private DividerSnapAlgorithm mMinimizedSnapAlgorithm;
+    private DividerCallbacks mCallback;
     private final Rect mStableInsets = new Rect();
 
     private boolean mGrowRecents;
@@ -162,6 +159,7 @@
     private DividerState mState;
     private final SurfaceFlingerVsyncChoreographer mSfChoreographer;
 
+
     // The view is removed or in the process of been removed from the system.
     private boolean mRemoved;
 
@@ -306,7 +304,6 @@
     @Override
     protected void onAttachedToWindow() {
         super.onAttachedToWindow();
-        EventBus.getDefault().register(this);
 
         // Save the current target if not minimized once attached to window
         if (mHomeStackResizable && mDockSide != WindowManager.DOCKED_INVALID
@@ -315,14 +312,9 @@
         }
     }
 
-    @Override
-    protected void onDetachedFromWindow() {
-        super.onDetachedFromWindow();
-        EventBus.getDefault().unregister(this);
-    }
-
     void onDividerRemoved() {
         mRemoved = true;
+        mCallback = null;
         mHandler.removeMessages(MSG_RESIZE_STACK);
     }
 
@@ -364,13 +356,15 @@
         }
     }
 
-    public void injectDependencies(DividerWindowManager windowManager, DividerState dividerState) {
+    public void injectDependencies(DividerWindowManager windowManager, DividerState dividerState,
+            DividerCallbacks callback) {
         mWindowManager = windowManager;
         mState = dividerState;
+        mCallback = callback;
 
         // Set the previous position ratio before minimized state after attaching this divider
         if (mStableInsets.isEmpty()) {
-            SystemServicesProxy.getInstance(mContext).getStableInsets(mStableInsets);
+            WindowManagerWrapper.getInstance().getStableInsets(mStableInsets);
         }
 
         if (mState.mRatioPositionBeforeMinimized == 0) {
@@ -419,7 +413,9 @@
             mWindowManager.setSlippery(false);
             liftBackground();
         }
-        EventBus.getDefault().send(new StartedDragingEvent());
+        if (mCallback != null) {
+            mCallback.onDraggingStart();
+        }
         return mDockSide != WindowManager.DOCKED_INVALID;
     }
 
@@ -617,7 +613,9 @@
             mCurrentAnimator = null;
             mEntranceAnimationRunning = false;
             mExitAnimationRunning = false;
-            EventBus.getDefault().send(new StoppedDragingEvent());
+            if (mCallback != null) {
+                mCallback.onDraggingEnd();
+            }
 
             // Record last snap target the divider moved to
             if (mHomeStackResizable && !mIsInMinimizeInteraction) {
@@ -776,7 +774,7 @@
             if (mDisplayRotation != mDefaultDisplay.getRotation()) {
                 // Splitscreen to minimize is about to starts after rotating landscape to seascape,
                 // update insets, display info and snap algorithm targets
-                SystemServicesProxy.getInstance(mContext).getStableInsets(mStableInsets);
+                WindowManagerWrapper.getInstance().getStableInsets(mStableInsets);
                 repositionSnapTargetBeforeMinimized();
                 updateDisplayInfo();
             } else {
@@ -910,7 +908,7 @@
         requestLayout();
 
         // Update the snap position to the new docked side with correct insets
-        SystemServicesProxy.getInstance(mContext).getStableInsets(mStableInsets);
+        WindowManagerWrapper.getInstance().getStableInsets(mStableInsets);
         mMinimizedSnapAlgorithm = null;
         initializeSnapAlgorithm();
 
@@ -1271,7 +1269,7 @@
         }
     }
 
-    public final void onBusEvent(RecentsActivityStartingEvent recentsActivityStartingEvent) {
+    void onRecentsActivityStarting() {
         if (mGrowRecents && mDockSide == WindowManager.DOCKED_TOP
                 && getSnapAlgorithm().getMiddleTarget() != getSnapAlgorithm().getLastSplitTarget()
                 && getCurrentPosition() == getSnapAlgorithm().getLastSplitTarget().position) {
@@ -1280,16 +1278,14 @@
         }
     }
 
-    public final void onBusEvent(DockedFirstAnimationFrameEvent event) {
+    void onDockedFirstAnimationFrame() {
         saveSnapTargetBeforeMinimized(mSnapAlgorithm.getMiddleTarget());
     }
 
-    public final void onBusEvent(DockedTopTaskEvent event) {
-        if (event.dragMode == NavigationBarGestureHelper.DRAG_MODE_NONE) {
-            mState.growAfterRecentsDrawn = false;
-            mState.animateAfterRecentsDrawn = true;
-            startDragging(false /* animate */, false /* touching */);
-        }
+    void onDockedTopTask() {
+        mState.growAfterRecentsDrawn = false;
+        mState.animateAfterRecentsDrawn = true;
+        startDragging(false /* animate */, false /* touching */);
         updateDockSide();
         mEntranceAnimationRunning = true;
 
@@ -1297,7 +1293,7 @@
                 mSnapAlgorithm.getMiddleTarget());
     }
 
-    public void onRecentsDrawn() {
+    void onRecentsDrawn() {
         updateDockSide();
         final int position = calculatePositionForInsetBounds();
         if (mState.animateAfterRecentsDrawn) {
@@ -1314,13 +1310,15 @@
         if (mState.growAfterRecentsDrawn) {
             mState.growAfterRecentsDrawn = false;
             updateDockSide();
-            EventBus.getDefault().send(new RecentsGrowingEvent());
+            if (mCallback != null) {
+                mCallback.growRecents();
+            }
             stopDragging(position, getSnapAlgorithm().getMiddleTarget(), 336,
                     Interpolators.FAST_OUT_SLOW_IN);
         }
     }
 
-    public final void onBusEvent(UndockingTaskEvent undockingTaskEvent) {
+    void onUndockingTask() {
         int dockSide = mWindowManagerProxy.getDockSide();
         if (dockSide != WindowManager.DOCKED_INVALID && (mHomeStackResizable
                 || !mDockedStackMinimized)) {
diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/ForcedResizableInfoActivity.java b/packages/SystemUI/src/com/android/systemui/stackdivider/ForcedResizableInfoActivity.java
index 4415bd7..02f7505 100644
--- a/packages/SystemUI/src/com/android/systemui/stackdivider/ForcedResizableInfoActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/stackdivider/ForcedResizableInfoActivity.java
@@ -52,7 +52,7 @@
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.forced_resizable_activity);
-        TextView tv = (TextView) findViewById(com.android.internal.R.id.message);
+        TextView tv = findViewById(com.android.internal.R.id.message);
         int reason = getIntent().getIntExtra(EXTRA_FORCED_RESIZEABLE_REASON, -1);
         String text;
         switch (reason) {
diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/ForcedResizableInfoActivityController.java b/packages/SystemUI/src/com/android/systemui/stackdivider/ForcedResizableInfoActivityController.java
index 826fa6c..f66db48 100644
--- a/packages/SystemUI/src/com/android/systemui/stackdivider/ForcedResizableInfoActivityController.java
+++ b/packages/SystemUI/src/com/android/systemui/stackdivider/ForcedResizableInfoActivityController.java
@@ -16,8 +16,7 @@
 
 package com.android.systemui.stackdivider;
 
-import static com.android.systemui.stackdivider.ForcedResizableInfoActivity
-        .EXTRA_FORCED_RESIZEABLE_REASON;
+import static com.android.systemui.stackdivider.ForcedResizableInfoActivity.EXTRA_FORCED_RESIZEABLE_REASON;
 
 import android.app.ActivityOptions;
 import android.content.Context;
@@ -26,16 +25,9 @@
 import android.os.UserHandle;
 import android.util.ArraySet;
 import android.widget.Toast;
-
 import com.android.systemui.R;
-import com.android.systemui.recents.events.EventBus;
-import com.android.systemui.recents.events.activity.AppTransitionFinishedEvent;
-import com.android.systemui.recents.events.component.ShowUserToastEvent;
-import com.android.systemui.recents.misc.SysUiTaskStackChangeListener;
-import com.android.systemui.recents.misc.SystemServicesProxy;
 import com.android.systemui.shared.system.ActivityManagerWrapper;
-import com.android.systemui.stackdivider.events.StartedDragingEvent;
-import com.android.systemui.stackdivider.events.StoppedDragingEvent;
+import com.android.systemui.shared.system.TaskStackChangeListener;
 
 /**
  * Controller that decides when to show the {@link ForcedResizableInfoActivity}.
@@ -49,7 +41,7 @@
     private final Handler mHandler = new Handler();
     private final ArraySet<PendingTaskRecord> mPendingTasks = new ArraySet<>();
     private final ArraySet<String> mPackagesShownInSession = new ArraySet<>();
-    private boolean mDividerDraging;
+    private boolean mDividerDragging;
 
     private final Runnable mTimeoutRunnable = new Runnable() {
         @Override
@@ -75,9 +67,8 @@
 
     public ForcedResizableInfoActivityController(Context context) {
         mContext = context;
-        EventBus.getDefault().register(this);
         ActivityManagerWrapper.getInstance().registerTaskStackListener(
-                new SysUiTaskStackChangeListener() {
+                new TaskStackChangeListener() {
                     @Override
                     public void onActivityForcedResizable(String packageName, int taskId,
                             int reason) {
@@ -102,19 +93,19 @@
         }
     }
 
-    public final void onBusEvent(AppTransitionFinishedEvent event) {
-        if (!mDividerDraging) {
+    public void onAppTransitionFinished() {
+        if (!mDividerDragging) {
             showPending();
         }
     }
 
-    public final void onBusEvent(StartedDragingEvent event) {
-        mDividerDraging = true;
+    void onDraggingStart() {
+        mDividerDragging = true;
         mHandler.removeCallbacks(mTimeoutRunnable);
     }
 
-    public final void onBusEvent(StoppedDragingEvent event) {
-        mDividerDraging = false;
+    void onDraggingEnd() {
+        mDividerDragging = false;
         showPending();
     }
 
@@ -127,13 +118,13 @@
     }
 
     private void activityDismissingDockedStack() {
-        EventBus.getDefault().send(new ShowUserToastEvent(
-                R.string.dock_non_resizeble_failed_to_dock_text, Toast.LENGTH_SHORT));
+        Toast.makeText(mContext, R.string.dock_non_resizeble_failed_to_dock_text,
+                Toast.LENGTH_SHORT).show();
     }
 
     private void activityLaunchOnSecondaryDisplayFailed() {
-        EventBus.getDefault().send(new ShowUserToastEvent(
-                R.string.activity_launch_on_secondary_display_failed_text, Toast.LENGTH_SHORT));
+        Toast.makeText(mContext, R.string.activity_launch_on_secondary_display_failed_text,
+                Toast.LENGTH_SHORT).show();
     }
 
     private void showPending() {
diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/events/StoppedDragingEvent.java b/packages/SystemUI/src/com/android/systemui/stackdivider/events/StoppedDragingEvent.java
deleted file mode 100644
index c50d6d6..0000000
--- a/packages/SystemUI/src/com/android/systemui/stackdivider/events/StoppedDragingEvent.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (C) 2016 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
- */
-
-package com.android.systemui.stackdivider.events;
-
-import com.android.systemui.recents.events.EventBus;
-
-/**
- * Sent when the divider isn't draging anymore.
- */
-public class StoppedDragingEvent extends EventBus.Event {
-}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/AlertingNotificationManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/AlertingNotificationManager.java
index 4516518..b6e88d6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/AlertingNotificationManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/AlertingNotificationManager.java
@@ -165,7 +165,7 @@
      * Whether or not the given notification is alerting and managed by this manager.
      * @return true if the notification is alerting
      */
-    public boolean contains(@NonNull String key) {
+    public boolean isAlerting(@NonNull String key) {
         return mAlertEntries.containsKey(key);
     }
 
@@ -294,7 +294,7 @@
             removeAutoRemovalCallbacks();
 
             if (!isSticky()) {
-                long finishTime = mPostTime + mAutoDismissNotificationDecay;
+                long finishTime = calculateFinishTime();
                 long removeDelay = Math.max(finishTime - currentTime, mMinimumDisplayTime);
                 mHandler.postDelayed(mRemoveAlertRunnable, removeDelay);
             }
@@ -357,6 +357,14 @@
         protected long calculatePostTime() {
             return mClock.currentTimeMillis();
         }
+
+        /**
+         * Calculate when the notification should auto-dismiss itself.
+         * @return the finish time
+         */
+        protected long calculateFinishTime() {
+            return mPostTime + mAutoDismissNotificationDecay;
+        }
     }
 
     protected final static class Clock {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/AmbientPulseManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/AmbientPulseManager.java
new file mode 100644
index 0000000..2c384d0
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/AmbientPulseManager.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.systemui.statusbar;
+
+import android.annotation.NonNull;
+import android.content.Context;
+import android.content.res.Resources;
+import android.util.ArraySet;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.systemui.R;
+import com.android.systemui.statusbar.notification.NotificationData;
+
+/**
+ * Manager which handles high priority notifications that should "pulse" in when the device is
+ * dozing and/or in AOD.  The pulse uses the notification's ambient view and pops in briefly
+ * before automatically dismissing the alert.
+ */
+public final class AmbientPulseManager extends AlertingNotificationManager {
+
+    protected final ArraySet<OnAmbientChangedListener> mListeners = new ArraySet<>();
+    @VisibleForTesting
+    protected long mExtensionTime;
+
+    public AmbientPulseManager(@NonNull final Context context) {
+        Resources resources = context.getResources();
+        mAutoDismissNotificationDecay = resources.getInteger(R.integer.ambient_notification_decay);
+        mMinimumDisplayTime = resources.getInteger(R.integer.ambient_notification_minimum_time);
+        mExtensionTime = resources.getInteger(R.integer.ambient_notification_extension_time);
+    }
+
+    /**
+     * Adds an OnAmbientChangedListener to observe events.
+     */
+    public void addListener(@NonNull OnAmbientChangedListener listener) {
+        mListeners.add(listener);
+    }
+
+    /**
+     * Removes the OnAmbientChangedListener from the observer list.
+     */
+    public void removeListener(@NonNull OnAmbientChangedListener listener) {
+        mListeners.remove(listener);
+    }
+
+    /**
+     * Extends the lifetime of the currently showing pulsing notification so that the pulse lasts
+     * longer.
+     */
+    public void extendPulse() {
+        AmbientEntry topEntry = getTopEntry();
+        if (topEntry == null) {
+            return;
+        }
+        topEntry.extendPulse();
+    }
+
+    @Override
+    protected void onAlertEntryAdded(AlertEntry alertEntry) {
+        NotificationData.Entry entry = alertEntry.mEntry;
+        entry.row.setAmbientPulsing(true);
+        for (OnAmbientChangedListener listener : mListeners) {
+            listener.onAmbientStateChanged(entry, true);
+        }
+    }
+
+    @Override
+    protected void onAlertEntryRemoved(AlertEntry alertEntry) {
+        NotificationData.Entry entry = alertEntry.mEntry;
+        entry.row.setAmbientPulsing(false);
+        for (OnAmbientChangedListener listener : mListeners) {
+            listener.onAmbientStateChanged(entry, false);
+        }
+    }
+
+    @Override
+    protected AlertEntry createAlertEntry() {
+        return new AmbientEntry();
+    }
+
+    /**
+     * Get the top pulsing entry.  This should be the currently showing one if there are multiple.
+     * @return the currently showing entry
+     */
+    private AmbientEntry getTopEntry() {
+        if (mAlertEntries.isEmpty()) {
+            return null;
+        }
+        AlertEntry topEntry = null;
+        for (AlertEntry entry : mAlertEntries.values()) {
+            if (topEntry == null || entry.compareTo(topEntry) < 0) {
+                topEntry = entry;
+            }
+        }
+        return (AmbientEntry) topEntry;
+    }
+
+    /**
+     * Observer interface for any changes in the ambient entries.
+     */
+    public interface OnAmbientChangedListener {
+        /**
+         * Called when an entry starts or stops pulsing.
+         * @param entry the entry that changed
+         * @param isPulsing true if the entry is now pulsing, false otherwise
+         */
+        void onAmbientStateChanged(NotificationData.Entry entry, boolean isPulsing);
+    }
+
+    private final class AmbientEntry extends AlertEntry {
+        private boolean extended;
+
+        /**
+         * Extend the lifetime of the alertEntry so that it auto-removes later.  Can only be
+         * extended once.
+         */
+        private void extendPulse() {
+            if (!extended) {
+                extended = true;
+                updateEntry(false);
+            }
+        }
+
+        @Override
+        public void reset() {
+            super.reset();
+            extended = false;
+        }
+
+        @Override
+        protected long calculateFinishTime() {
+            return super.calculateFinishTime() + (extended ? mExtensionTime : 0);
+        }
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
index e19c844..5c0b328 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
@@ -161,7 +161,7 @@
         default void onRotationProposal(int rotation, boolean isValid) { }
 
         default void showBiometricDialog(Bundle bundle, IBiometricPromptReceiver receiver,
-                int type) { }
+                int type, boolean requireConfirmation) { }
         default void onBiometricAuthenticated() { }
         default void onBiometricHelp(String message) { }
         default void onBiometricError(String error) { }
@@ -514,12 +514,14 @@
     }
 
     @Override
-    public void showBiometricDialog(Bundle bundle, IBiometricPromptReceiver receiver, int type) {
+    public void showBiometricDialog(Bundle bundle, IBiometricPromptReceiver receiver, int type,
+            boolean requireConfirmation) {
         synchronized (mLock) {
             SomeArgs args = SomeArgs.obtain();
             args.arg1 = bundle;
             args.arg2 = receiver;
             args.argi1 = type;
+            args.arg3 = requireConfirmation;
             mHandler.obtainMessage(MSG_BIOMETRIC_SHOW, args)
                     .sendToTarget();
         }
@@ -763,7 +765,8 @@
                         mCallbacks.get(i).showBiometricDialog(
                                 (Bundle) someArgs.arg1,
                                 (IBiometricPromptReceiver) someArgs.arg2,
-                                someArgs.argi1);
+                                someArgs.argi1,
+                                (boolean) someArgs.arg3);
                     }
                     someArgs.recycle();
                     break;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyboardShortcuts.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyboardShortcuts.java
index 247e3d3..00e0b95 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyboardShortcuts.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyboardShortcuts.java
@@ -16,6 +16,10 @@
 
 package com.android.systemui.statusbar;
 
+import static android.content.Context.LAYOUT_INFLATER_SERVICE;
+import static android.view.View.IMPORTANT_FOR_ACCESSIBILITY_YES;
+import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG;
+
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.app.AlertDialog;
@@ -30,10 +34,10 @@
 import android.content.pm.PackageInfo;
 import android.content.pm.ResolveInfo;
 import android.content.res.ColorStateList;
-import android.graphics.drawable.Icon;
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
 import android.graphics.drawable.Drawable;
+import android.graphics.drawable.Icon;
 import android.hardware.input.InputManager;
 import android.os.Handler;
 import android.os.Looper;
@@ -51,29 +55,23 @@
 import android.view.View.AccessibilityDelegate;
 import android.view.ViewGroup;
 import android.view.Window;
+import android.view.WindowManager;
 import android.view.WindowManager.KeyboardShortcutsReceiver;
 import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
-
 import com.android.internal.app.AssistUtils;
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settingslib.Utils;
 import com.android.systemui.R;
-import com.android.systemui.recents.misc.SystemServicesProxy;
-
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 
-import static android.content.Context.LAYOUT_INFLATER_SERVICE;
-import static android.view.View.IMPORTANT_FOR_ACCESSIBILITY_YES;
-import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG;
-
 /**
  * Contains functionality for handling keyboard shortcuts.
  */
@@ -372,19 +370,19 @@
 
     private void showKeyboardShortcuts(int deviceId) {
         retrieveKeyCharacterMap(deviceId);
-        SystemServicesProxy.getInstance(mContext).requestKeyboardShortcuts(mContext,
-                new KeyboardShortcutsReceiver() {
-                    @Override
-                    public void onKeyboardShortcutsReceived(
-                            final List<KeyboardShortcutGroup> result) {
-                        result.add(getSystemShortcuts());
-                        final KeyboardShortcutGroup appShortcuts = getDefaultApplicationShortcuts();
-                        if (appShortcuts != null) {
-                            result.add(appShortcuts);
-                        }
-                        showKeyboardShortcutsDialog(result);
-                    }
-                }, deviceId);
+        WindowManager wm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
+        wm.requestAppKeyboardShortcuts(new KeyboardShortcutsReceiver() {
+            @Override
+            public void onKeyboardShortcutsReceived(
+                    final List<KeyboardShortcutGroup> result) {
+                result.add(getSystemShortcuts());
+                final KeyboardShortcutGroup appShortcuts = getDefaultApplicationShortcuts();
+                if (appShortcuts != null) {
+                    result.add(appShortcuts);
+                }
+                showKeyboardShortcutsDialog(result);
+            }
+        }, deviceId);
     }
 
     private void dismissKeyboardShortcuts() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
index 551e8a9..0c5f391 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
@@ -298,27 +298,6 @@
         if (mVisible) {
             // Walk down a precedence-ordered list of what indication
             // should be shown based on user or device state
-            if (mDozing) {
-                mTextView.setTextColor(Color.WHITE);
-                if (!TextUtils.isEmpty(mTransientIndication)) {
-                    // When dozing we ignore any text color and use white instead, because
-                    // colors can be hard to read in low brightness.
-                    mTextView.switchIndication(mTransientIndication);
-                } else if (mPowerPluggedIn) {
-                    String indication = computePowerIndication();
-                    if (animate) {
-                        animateText(mTextView, indication);
-                    } else {
-                        mTextView.switchIndication(indication);
-                    }
-                } else {
-                    String percentage = NumberFormat.getPercentInstance()
-                            .format(mBatteryLevel / 100f);
-                    mTextView.switchIndication(percentage);
-                }
-                return;
-            }
-
             KeyguardUpdateMonitor updateMonitor = KeyguardUpdateMonitor.getInstance(mContext);
             int userId = KeyguardUpdateMonitor.getCurrentUser();
             String trustGrantedIndication = getTrustGrantedIndication();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManager.java
index d6886f5..89a842e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManager.java
@@ -16,6 +16,7 @@
 package com.android.systemui.statusbar;
 
 import android.app.ActivityManager;
+import android.app.KeyguardManager;
 import android.app.Notification;
 import android.app.admin.DevicePolicyManager;
 import android.content.BroadcastReceiver;
@@ -37,12 +38,15 @@
 
 import com.android.internal.statusbar.IStatusBarService;
 import com.android.internal.statusbar.NotificationVisibility;
+import com.android.internal.widget.LockPatternUtils;
 import com.android.keyguard.KeyguardUpdateMonitor;
 import com.android.systemui.Dependency;
 import com.android.systemui.Dumpable;
 import com.android.systemui.OverviewProxyService;
+import com.android.systemui.statusbar.StatusBarStateController.StateListener;
 import com.android.systemui.statusbar.notification.NotificationData;
 import com.android.systemui.statusbar.notification.NotificationEntryManager;
+import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
 import com.android.systemui.statusbar.policy.DeviceProvisionedController;
 
 import java.io.FileDescriptor;
@@ -52,7 +56,7 @@
  * Handles keeping track of the current user, profiles, and various things related to hiding
  * contents, redacting notifications, and the lockscreen.
  */
-public class NotificationLockscreenUserManager implements Dumpable {
+public class NotificationLockscreenUserManager implements Dumpable, StateListener {
     private static final String TAG = "LockscreenUserManager";
     private static final boolean ENABLE_LOCK_SCREEN_ALLOW_REMOTE_INPUT = false;
     public static final String PERMISSION_SELF = "com.android.systemui.permission.SELF";
@@ -67,9 +71,13 @@
             Dependency.get(DeviceProvisionedController.class);
     private final UserManager mUserManager;
     private final IStatusBarService mBarService;
+    private final LockPatternUtils mLockPatternUtils;
+    private final KeyguardManager mKeyguardManager;
+    private StatusBarKeyguardViewManager mKeyguardViewManager;
 
     private boolean mShowLockscreenNotifications;
     private boolean mAllowLockscreenRemoteInput;
+    private int mState = StatusBarState.SHADE;
 
     protected final BroadcastReceiver mAllUsersReceiver = new BroadcastReceiver() {
         @Override
@@ -84,7 +92,9 @@
                 mEntryManager.updateNotifications();
             } else if (Intent.ACTION_DEVICE_LOCKED_CHANGED.equals(action)) {
                 if (userId != mCurrentUserId && isCurrentProfile(userId)) {
+                    updatePublicMode();
                     mPresenter.onWorkChallengeChanged();
+                    mEntryManager.updateNotifications();
                 }
             }
         }
@@ -100,8 +110,9 @@
                 Log.v(TAG, "userId " + mCurrentUserId + " is in the house");
 
                 updateLockscreenNotificationSetting();
-
+                updatePublicMode();
                 mPresenter.onUserSwitched(mCurrentUserId);
+                mEntryManager.getNotificationData().filterAndSort();
             } else if (Intent.ACTION_USER_ADDED.equals(action)) {
                 updateCurrentProfilesCache();
             } else if (Intent.ACTION_USER_UNLOCKED.equals(action)) {
@@ -150,6 +161,9 @@
         mCurrentUserId = ActivityManager.getCurrentUser();
         mBarService = IStatusBarService.Stub.asInterface(
                 ServiceManager.getService(Context.STATUS_BAR_SERVICE));
+        mLockPatternUtils = new LockPatternUtils(mContext);
+        mKeyguardManager = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE);
+        Dependency.get(StatusBarStateController.class).addListener(this);
     }
 
     public void setUpWithPresenter(NotificationPresenter presenter,
@@ -239,6 +253,43 @@
         }
     }
 
+    public void setKeyguardViewManager(StatusBarKeyguardViewManager sbkvm) {
+        mKeyguardViewManager = sbkvm;
+    }
+
+    @Override
+    public void onStateChanged(int newState) {
+        mState = newState;
+        updatePublicMode();
+    }
+
+    public void updatePublicMode() {
+        //TODO: I think there may be a race condition where mKeyguardViewManager.isShowing() returns
+        // false when it should be true. Therefore, if we are not on the SHADE, don't even bother
+        // asking if the keyguard is showing. We still need to check it though because showing the
+        // camera on the keyguard has a state of SHADE but the keyguard is still showing.
+        boolean showingKeyguard = mState != StatusBarState.SHADE
+                || mKeyguardViewManager.isShowing();
+        boolean devicePublic = showingKeyguard && mKeyguardViewManager.isSecure(getCurrentUserId());
+
+        SparseArray<UserInfo> currentProfiles = getCurrentProfiles();
+        for (int i = currentProfiles.size() - 1; i >= 0; i--) {
+            final int userId = currentProfiles.valueAt(i).id;
+            boolean isProfilePublic = devicePublic;
+            if (!devicePublic && userId != mCurrentUserId) {
+                // We can't rely on KeyguardManager#isDeviceLocked() for unified profile challenge
+                // due to a race condition where this code could be called before
+                // TrustManagerService updates its internal records, resulting in an incorrect
+                // state being cached in mLockscreenPublicMode. (b/35951989)
+                if (mLockPatternUtils.isSeparateProfileChallengeEnabled(userId)
+                        && mKeyguardViewManager.isSecure(userId)) {
+                    isProfilePublic = mKeyguardManager.isDeviceLocked(userId);
+                }
+            }
+            setLockscreenPublicMode(isProfilePublic, userId);
+        }
+    }
+
     /**
      * Returns true if notifications are temporarily disabled for this user for security reasons,
      * regardless of the normal settings for that user.
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java
index f7615e6..d8f7b61 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java
@@ -121,7 +121,8 @@
     @Override
     protected void onAttachedToWindow() {
         super.onAttachedToWindow();
-        Dependency.get(StatusBarStateController.class).addListener(mStateListener);
+        Dependency.get(StatusBarStateController.class)
+                .addListener(mStateListener, StatusBarStateController.RANK_SHELF);
     }
 
     @Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
index d479838..f69ad43 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
@@ -321,7 +321,7 @@
                         && !row.isLowPriority()));
             }
 
-            entry.row.setShowAmbient(mPresenter.isDozing());
+            entry.row.setOnAmbient(mPresenter.isDozing());
             int userId = entry.notification.getUserId();
             boolean suppressedSummary = mGroupManager.isSummaryOfSuppressedGroup(
                     entry.notification) && !entry.row.isRemoved();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarStateController.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarStateController.java
index 7a69f2e..d6719f0 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarStateController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarStateController.java
@@ -16,42 +16,70 @@
 
 package com.android.systemui.statusbar;
 
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
+import android.annotation.IntDef;
 import android.util.ArraySet;
+import android.util.Log;
+import com.android.internal.annotations.GuardedBy;
+import java.lang.annotation.Retention;
+import java.util.ArrayList;
+import java.util.Comparator;
 
 /**
  * Tracks and reports on {@link StatusBarState}.
  */
 public class StatusBarStateController {
+    private static final String TAG = "SbStateController";
 
     private static final int MAX_STATE = StatusBarState.FULLSCREEN_USER_SWITCHER;
     private static final int MIN_STATE = StatusBarState.SHADE;
 
-    private final ArraySet<StateListener> mListeners = new ArraySet<>();
+    private static final Comparator <RankedListener> mComparator
+            = (o1, o2) -> Integer.compare(o1.rank, o2.rank);
+
+    private final ArrayList<RankedListener> mListeners = new ArrayList<>();
     private int mState;
     private int mLastState;
     private boolean mLeaveOpenOnKeyguardHide;
 
+    // TODO: b/115739177 (remove this explicit ordering if we can)
+    @Retention(SOURCE)
+    @IntDef({RANK_STATUS_BAR, RANK_STATUS_BAR_WINDOW_CONTROLLER, RANK_STACK_SCROLLER, RANK_SHELF})
+    public @interface SbStateListenerRank {}
+    // This is the set of known dependencies when updating StatusBarState
+    public static final int RANK_STATUS_BAR = 0;
+    public static final int RANK_STATUS_BAR_WINDOW_CONTROLLER = 1;
+    public static final int RANK_STACK_SCROLLER = 2;
+    public static final int RANK_SHELF = 3;
+
     public int getState() {
         return mState;
     }
 
-    public void setState(int state) {
+    public boolean setState(int state) {
         if (state > MAX_STATE || state < MIN_STATE) {
             throw new IllegalArgumentException("Invalid state " + state);
         }
         if (state == mState) {
-            return;
+            return false;
         }
         synchronized (mListeners) {
-            for (StateListener listener : new ArraySet<>(mListeners)) {
-                listener.onStatePreChange(mState, state);
+            for (RankedListener rl : new ArrayList<>(mListeners)) {
+                rl.listener.onStatePreChange(mState, state);
             }
             mLastState = mState;
             mState = state;
-            for (StateListener listener : new ArraySet<>(mListeners)) {
-                listener.onStateChanged(mState);
+            for (RankedListener rl : new ArrayList<>(mListeners)) {
+                rl.listener.onStateChanged(mState);
+            }
+
+            for (RankedListener rl : new ArrayList<>(mListeners)) {
+                rl.listener.onStatePostChange();
             }
         }
+
+        return true;
     }
 
     public boolean goingToFullShade() {
@@ -72,20 +100,67 @@
 
     public void addListener(StateListener listener) {
         synchronized (mListeners) {
-            mListeners.add(listener);
+            addListenerInternalLocked(listener, Integer.MAX_VALUE);
         }
     }
 
+    /**
+     * Add a listener and a rank based on the priority of this message
+     * @param listener the listener
+     * @param rank the order in which you'd like to be called. Ranked listeners will be
+     * notified before unranked, and we will sort ranked listeners from low to high
+     *
+     * @deprecated This method exists only to solve latent inter-dependencies from refactoring
+     * StatusBarState out of StatusBar.java. Any new listeners should be built not to need ranking
+     * (i.e., they are non-dependent on the order of operations of StatusBarState listeners).
+     */
+    public void addListener(StateListener listener, @SbStateListenerRank int rank) {
+        synchronized (mListeners) {
+            addListenerInternalLocked(listener, rank);
+        }
+    }
+
+    @GuardedBy("mListeners")
+    private void addListenerInternalLocked(StateListener listener, int rank) {
+        // Protect against double-subscribe
+        for (RankedListener rl : mListeners) {
+            if (rl.listener.equals(listener)) {
+                return;
+            }
+        }
+
+        RankedListener rl = new RankedListener(listener, rank);
+        mListeners.add(rl);
+        mListeners.sort(mComparator);
+    }
+
     public void removeListener(StateListener listener) {
         synchronized (mListeners) {
-            mListeners.remove(listener);
+            mListeners.removeIf((it) -> it.listener.equals(listener));
         }
     }
 
+    public static String describe(int state) {
+        return StatusBarState.toShortString(state);
+    }
+
     public interface StateListener {
         public default void onStatePreChange(int oldState, int newState) {
         }
 
+        public default void onStatePostChange() {
+        }
+
         public void onStateChanged(int newState);
     }
+
+    private class RankedListener {
+        private final StateListener listener;
+        private final int rank;
+
+        private RankedListener(StateListener l, int r) {
+            listener = l;
+            rank = r;
+        }
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java
index ed06752..2450e44 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java
@@ -17,7 +17,6 @@
 package com.android.systemui.statusbar.car;
 
 import android.app.ActivityTaskManager;
-import android.car.user.CarUserManagerHelper;
 import android.graphics.PixelFormat;
 import android.graphics.drawable.Drawable;
 import android.util.Log;
@@ -36,8 +35,8 @@
 import com.android.systemui.classifier.FalsingManager;
 import com.android.systemui.fragments.FragmentHostManager;
 import com.android.systemui.recents.Recents;
-import com.android.systemui.recents.misc.SysUiTaskStackChangeListener;
 import com.android.systemui.shared.system.ActivityManagerWrapper;
+import com.android.systemui.shared.system.TaskStackChangeListener;
 import com.android.systemui.statusbar.StatusBarState;
 import com.android.systemui.statusbar.car.hvac.HvacController;
 import com.android.systemui.statusbar.car.hvac.TemperatureView;
@@ -461,16 +460,11 @@
         }
     }
 
-
-    public boolean hasDockedTask() {
-        return Recents.getSystemServices().hasDockedTask();
-    }
-
     /**
-     * An implementation of SysUiTaskStackChangeListener, that listens for changes in the system
+     * An implementation of TaskStackChangeListener, that listens for changes in the system
      * task stack and notifies the navigation bar.
      */
-    private class TaskStackListenerImpl extends SysUiTaskStackChangeListener {
+    private class TaskStackListenerImpl extends TaskStackChangeListener {
         @Override
         public void onTaskStackChanged() {
             try {
@@ -495,32 +489,37 @@
     }
 
     @Override
-    public void onUserSwitched(int newUserId) {
-        super.onUserSwitched(newUserId);
-        if (mFullscreenUserSwitcher != null) {
-            mFullscreenUserSwitcher.onUserSwitched(newUserId);
-        }
-    }
-
-    @Override
     public void onStateChanged(int newState) {
         super.onStateChanged(newState);
-        CarUserManagerHelper helper = new CarUserManagerHelper(mContext);
-        if (!helper.isHeadlessSystemUser()) {
-            showUserSwitcher();
+        if (newState == StatusBarState.FULLSCREEN_USER_SWITCHER) {
+            if (!mFullscreenUserSwitcher.isVisible()) {
+                // Current execution path continues to set state after this, thus we deffer the
+                // dismissal to the next execution cycle.
+                postDismissKeyguard(); // Dismiss the keyguard if switcher is not visible.
+            }
+        } else {
+            mFullscreenUserSwitcher.hide();
         }
     }
 
     public void showUserSwitcher() {
-        if (mFullscreenUserSwitcher != null) {
-            if (mState == StatusBarState.FULLSCREEN_USER_SWITCHER) {
-                mFullscreenUserSwitcher.show();
-            } else {
-                mFullscreenUserSwitcher.hide();
-            }
+        if (mFullscreenUserSwitcher != null && mState == StatusBarState.FULLSCREEN_USER_SWITCHER) {
+            mFullscreenUserSwitcher.show(); // Makes the switcher visible.
         }
     }
 
+    public void postDismissKeyguard() {
+        mHandler.post(this::dismissKeyguard);
+    }
+
+    /**
+     * Dismisses the keyguard and shows bouncer if authentication is necessary.
+     */
+    public void dismissKeyguard() {
+        executeRunnableDismissingKeyguard(null/* runnable */, null /* cancelAction */,
+            true /* dismissShade */, true /* afterKeyguardGone */, true /* deferred */);
+    }
+
     @Override
     public void updateMediaMetaData(boolean metaDataChanged, boolean allowEnterAnimation) {
         // Do nothing, we don't want to display media art in the lock screen for a car.
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/car/FullscreenUserSwitcher.java b/packages/SystemUI/src/com/android/systemui/statusbar/car/FullscreenUserSwitcher.java
index 67a76fd..2ebf5eb 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/car/FullscreenUserSwitcher.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/car/FullscreenUserSwitcher.java
@@ -18,7 +18,6 @@
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
-import android.car.user.CarUserManagerHelper;
 import android.content.Context;
 import android.view.View;
 import android.view.ViewStub;
@@ -26,115 +25,87 @@
 import androidx.recyclerview.widget.GridLayoutManager;
 
 import com.android.systemui.R;
-import com.android.systemui.statusbar.phone.StatusBar;
 
 /**
  * Manages the fullscreen user switcher.
  */
 public class FullscreenUserSwitcher {
-    private final View mContainer;
-    private final View mParent;
     private final UserGridRecyclerView mUserGridView;
+    private final View mParent;
     private final int mShortAnimDuration;
-    private final StatusBar mStatusBar;
-    private final CarUserManagerHelper mCarUserManagerHelper;
-    private boolean mShowing;
+    private final CarStatusBar mStatusBar;
 
-    public FullscreenUserSwitcher(StatusBar statusBar, ViewStub containerStub, Context context) {
+    public FullscreenUserSwitcher(CarStatusBar statusBar, ViewStub containerStub, Context context) {
         mStatusBar = statusBar;
         mParent = containerStub.inflate();
-        mContainer = mParent.findViewById(R.id.container);
-        mUserGridView = mContainer.findViewById(R.id.user_grid);
+        mParent.setVisibility(View.VISIBLE);
+        View container = mParent.findViewById(R.id.container);
+
+        // Initialize user grid.
+        mUserGridView = container.findViewById(R.id.user_grid);
         GridLayoutManager layoutManager = new GridLayoutManager(context,
-                context.getResources().getInteger(R.integer.user_fullscreen_switcher_num_col));
+            context.getResources().getInteger(R.integer.user_fullscreen_switcher_num_col));
         mUserGridView.getRecyclerView().setLayoutManager(layoutManager);
         mUserGridView.buildAdapter();
         mUserGridView.setUserSelectionListener(this::onUserSelected);
 
-        mCarUserManagerHelper = new CarUserManagerHelper(context);
+        // Hide the user grid by default. It will only be made visible by clicking on a cancel
+        // button in a bouncer.
+        hide();
 
-        mShortAnimDuration = mContainer.getResources()
+        mShortAnimDuration = container.getResources()
             .getInteger(android.R.integer.config_shortAnimTime);
     }
 
+    /**
+     * Makes user grid visible.
+     */
     public void show() {
-        if (mCarUserManagerHelper.isHeadlessSystemUser()) {
-            showUserGrid();
-        }
-        if (mShowing) {
-            return;
-        }
-        mShowing = true;
-        mParent.setVisibility(View.VISIBLE);
-    }
-
-    public void hide() {
-        mShowing = false;
-        mParent.setVisibility(View.GONE);
-    }
-
-    public void onUserSwitched(int newUserId) {
-        toggleSwitchInProgress(false);
-        mParent.post(this::dismissKeyguard);
-    }
-
-    private void onUserSelected(UserGridRecyclerView.UserRecord record) {
-        if (mCarUserManagerHelper.isHeadlessSystemUser()) {
-            hideUserGrid();
-        }
-
-        if (record.mIsForeground || (record.mIsStartGuestSession
-                && mCarUserManagerHelper.isForegroundUserGuest())) {
-            dismissKeyguard();
-            return;
-        }
-        toggleSwitchInProgress(true);
-    }
-
-    private void showUserGrid() {
         mUserGridView.setVisibility(View.VISIBLE);
     }
 
-    private void hideUserGrid() {
+    /**
+     * Hides the user grid.
+     */
+    public void hide() {
         mUserGridView.setVisibility(View.INVISIBLE);
     }
 
-    // Dismisses the keyguard and shows bouncer if authentication is necessary.
-    private void dismissKeyguard() {
-        mStatusBar.executeRunnableDismissingKeyguard(null/* runnable */, null /* cancelAction */,
-                true /* dismissShade */, true /* afterKeyguardGone */, true /* deferred */);
+    /**
+     * @return {@code true} if user grid is visible, {@code false} otherwise.
+     */
+    public boolean isVisible() {
+        return mUserGridView.getVisibility() == View.VISIBLE;
     }
 
-    private void toggleSwitchInProgress(boolean inProgress) {
-        if (inProgress) {
-            fadeOut(mContainer);
-        } else {
-            fadeIn(mContainer);
+    /**
+     * Every time user clicks on an item in the switcher, we hide the switcher, either
+     * gradually or immediately.
+     *
+     * We dismiss the entire keyguard if user clicked on the foreground user (user we're already
+     * logged in as).
+     */
+    private void onUserSelected(UserGridRecyclerView.UserRecord record) {
+        if (record.mIsForeground) {
+            hide();
+            mStatusBar.dismissKeyguard();
+            return;
         }
+        // Switching is about to happen, since it takes time, fade out the switcher gradually.
+        fadeOut();
     }
 
-    private void fadeOut(View view) {
-        view.animate()
+    private void fadeOut() {
+        mUserGridView.animate()
                 .alpha(0.0f)
                 .setDuration(mShortAnimDuration)
                 .setListener(new AnimatorListenerAdapter() {
                     @Override
                     public void onAnimationEnd(Animator animation) {
-                        view.setVisibility(View.GONE);
+                        hide();
+                        mUserGridView.setAlpha(1.0f);
                     }
                 });
-    }
 
-    private void fadeIn(View view) {
-        view.animate()
-                .alpha(1.0f)
-                .setDuration(mShortAnimDuration)
-                .setListener(new AnimatorListenerAdapter() {
-                    @Override
-                    public void onAnimationStart(Animator animator) {
-                        view.setAlpha(0.0f);
-                        view.setVisibility(View.VISIBLE);
-                    }
-                });
     }
-}
+}
\ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/car/UserGridRecyclerView.java b/packages/SystemUI/src/com/android/systemui/statusbar/car/UserGridRecyclerView.java
index 67e512c..618a4c1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/car/UserGridRecyclerView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/car/UserGridRecyclerView.java
@@ -22,7 +22,7 @@
 import android.app.AlertDialog;
 import android.app.AlertDialog.Builder;
 import android.app.Dialog;
-import android.car.user.CarUserManagerHelper;
+import android.car.userlib.CarUserManagerHelper;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.pm.UserInfo;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/ActivityLaunchAnimator.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/ActivityLaunchAnimator.java
index 53d38c4..f0e5462 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/ActivityLaunchAnimator.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/ActivityLaunchAnimator.java
@@ -29,18 +29,14 @@
 import android.view.RemoteAnimationAdapter;
 import android.view.RemoteAnimationTarget;
 
-import com.android.systemui.Dependency;
 import com.android.systemui.Interpolators;
 import com.android.systemui.shared.system.SurfaceControlCompat;
 import com.android.systemui.shared.system.SyncRtSurfaceTransactionApplier;
 import com.android.systemui.shared.system.SyncRtSurfaceTransactionApplier.SurfaceParams;
-import com.android.systemui.statusbar.StatusBarState;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
 import com.android.systemui.statusbar.notification.stack.NotificationListContainer;
-import com.android.systemui.statusbar.StatusBarStateController;
 import com.android.systemui.statusbar.phone.CollapsedStatusBarFragment;
 import com.android.systemui.statusbar.phone.NotificationPanelView;
-import com.android.systemui.statusbar.phone.StatusBar;
 import com.android.systemui.statusbar.phone.StatusBarWindowView;
 
 /**
@@ -59,28 +55,28 @@
     private final NotificationPanelView mNotificationPanel;
     private final NotificationListContainer mNotificationContainer;
     private final StatusBarWindowView mStatusBarWindow;
-    private final StatusBarStateController mStatusBarStateController;
-    private StatusBar mStatusBar;
+    private Callback mCallback;
     private final Runnable mTimeoutRunnable = () -> {
         setAnimationPending(false);
-        mStatusBar.collapsePanel(true /* animate */);
+        mCallback.onExpandAnimationTimedOut();
     };
     private boolean mAnimationPending;
+    private boolean mAnimationRunning;
+    private boolean mIsLaunchForActivity;
 
     public ActivityLaunchAnimator(StatusBarWindowView statusBarWindow,
-            StatusBar statusBar,
+            Callback callback,
             NotificationPanelView notificationPanel,
             NotificationListContainer container) {
         mNotificationPanel = notificationPanel;
         mNotificationContainer = container;
         mStatusBarWindow = statusBarWindow;
-        mStatusBar = statusBar;
-        mStatusBarStateController = Dependency.get(StatusBarStateController.class);
+        mCallback = callback;
     }
 
     public RemoteAnimationAdapter getLaunchAnimation(
             ExpandableNotificationRow sourceNotification, boolean occluded) {
-        if (mStatusBarStateController.getState() != StatusBarState.SHADE || occluded) {
+        if (!mCallback.areLaunchAnimationsEnabled() || occluded) {
             return null;
         }
         AnimationRunner animationRunner = new AnimationRunner(sourceNotification);
@@ -92,10 +88,21 @@
         return mAnimationPending;
     }
 
-    public void setLaunchResult(int launchResult) {
+    /**
+     * Set the launch result the intent requested
+     *
+     * @param launchResult the launch result
+     * @param wasIntentActivity was this launch for an activity
+     */
+    public void setLaunchResult(int launchResult, boolean wasIntentActivity) {
+        mIsLaunchForActivity = wasIntentActivity;
         setAnimationPending((launchResult == ActivityManager.START_TASK_TO_FRONT
                 || launchResult == ActivityManager.START_SUCCESS)
-                        && mStatusBarStateController.getState() == StatusBarState.SHADE);
+                        && mCallback.areLaunchAnimationsEnabled());
+    }
+
+    public boolean isLaunchForActivity() {
+        return mIsLaunchForActivity;
     }
 
     private void setAnimationPending(boolean pending) {
@@ -108,12 +115,16 @@
         }
     }
 
+    public boolean isAnimationRunning() {
+        return mAnimationRunning;
+    }
+
     class AnimationRunner extends IRemoteAnimationRunner.Stub {
 
         private final ExpandableNotificationRow mSourceNotification;
         private final ExpandAnimationParameters mParams;
         private final Rect mWindowCrop = new Rect();
-        private boolean mInstantCollapsePanel = true;
+        private boolean mIsFullScreenLaunch = true;
         private final SyncRtSurfaceTransactionApplier mSyncRtTransactionApplier;
 
         public AnimationRunner(ExpandableNotificationRow sourceNofitication) {
@@ -136,10 +147,10 @@
                 }
 
                 setExpandAnimationRunning(true);
-                mInstantCollapsePanel = primary.position.y == 0
+                mIsFullScreenLaunch = primary.position.y == 0
                         && primary.sourceContainerBounds.height()
                                 >= mNotificationPanel.getHeight();
-                if (!mInstantCollapsePanel) {
+                if (!mIsFullScreenLaunch) {
                     mNotificationPanel.collapseWithDuration(ANIMATION_DURATION);
                 }
                 ValueAnimator anim = ValueAnimator.ofFloat(0, 1);
@@ -192,9 +203,6 @@
                     @Override
                     public void onAnimationEnd(Animator animation) {
                         setExpandAnimationRunning(false);
-                        if (mInstantCollapsePanel) {
-                            mStatusBar.collapsePanel(false /* animate */);
-                        }
                         invokeCallback(iRemoteAnimationFinishedCallback);
                     }
                 });
@@ -228,7 +236,9 @@
             mSourceNotification.setExpandAnimationRunning(running);
             mStatusBarWindow.setExpandAnimationRunning(running);
             mNotificationContainer.setExpandingNotification(running ? mSourceNotification : null);
+            mAnimationRunning = running;
             if (!running) {
+                mCallback.onExpandAnimationFinished(mIsFullScreenLaunch);
                 applyParamsToNotification(null);
                 applyParamsToNotificationList(null);
             }
@@ -257,7 +267,7 @@
         public void onAnimationCancelled() throws RemoteException {
             mSourceNotification.post(() -> {
                 setAnimationPending(false);
-                mStatusBar.onLaunchAnimationCancelled();
+                mCallback.onLaunchAnimationCancelled();
             });
         }
     };
@@ -319,4 +329,30 @@
             return startTranslationZ;
         }
     }
+
+    public interface Callback {
+
+        /**
+         * Called when the launch animation was cancelled.
+         */
+        void onLaunchAnimationCancelled();
+
+        /**
+         * Called when the launch animation has timed out without starting an actual animation.
+         */
+        void onExpandAnimationTimedOut();
+
+        /**
+         * Called when the expand animation has finished.
+         *
+         * @param launchIsFullScreen True if this launch was fullscreen, such that now the window
+         *                           fills the whole screen
+         */
+        void onExpandAnimationFinished(boolean launchIsFullScreen);
+
+        /**
+         * Are animations currently enabled.
+         */
+        boolean areLaunchAnimationsEnabled();
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationData.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationData.java
index 804e842..d097c8e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationData.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationData.java
@@ -440,6 +440,8 @@
             } else if (isHeadsUp) {
                 // Provide consistent ranking with headsUpManager
                 return mHeadsUpManager.compare(a, b);
+            } else if (a.row.isAmbientPulsing() != b.row.isAmbientPulsing()) {
+                return a.row.isAmbientPulsing() ? -1 : 1;
             } else if (aMedia != bMedia) {
                 // Upsort current media notification.
                 return aMedia ? -1 : 1;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java
index ac01fa3..a3e982e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java
@@ -28,15 +28,19 @@
 import android.content.pm.PackageManager;
 import android.database.ContentObserver;
 import android.os.Build;
+import android.os.Bundle;
 import android.os.PowerManager;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.SystemClock;
 import android.os.UserHandle;
 import android.provider.Settings;
+import android.service.dreams.DreamService;
+import android.service.dreams.IDreamManager;
 import android.service.notification.NotificationListenerService;
 import android.service.notification.NotificationStats;
 import android.service.notification.StatusBarNotification;
+import android.text.TextUtils;
 import android.util.ArrayMap;
 import android.util.ArraySet;
 import android.util.EventLog;
@@ -56,8 +60,9 @@
 import com.android.systemui.ForegroundServiceController;
 import com.android.systemui.R;
 import com.android.systemui.UiOffloadThread;
-import com.android.systemui.recents.misc.SystemServicesProxy;
 import com.android.systemui.statusbar.NotificationLifetimeExtender;
+import com.android.systemui.statusbar.AlertingNotificationManager;
+import com.android.systemui.statusbar.AmbientPulseManager;
 import com.android.systemui.statusbar.NotificationListener;
 import com.android.systemui.statusbar.NotificationLockscreenUserManager;
 import com.android.systemui.statusbar.NotificationMediaManager;
@@ -91,7 +96,7 @@
         ExpandableNotificationRow.ExpansionLogger, NotificationUpdateHandler,
         VisualStabilityManager.Callback {
     private static final String TAG = "NotificationEntryMgr";
-    protected static final boolean DEBUG = false;
+    protected static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
     protected static final boolean ENABLE_HEADS_UP = true;
     protected static final String SETTING_HEADS_UP_TICKER = "ticker_gets_heads_up";
 
@@ -121,12 +126,13 @@
             Dependency.get(ForegroundServiceController.class);
     protected final NotificationListener mNotificationListener =
             Dependency.get(NotificationListener.class);
+    protected AmbientPulseManager mAmbientPulseManager = Dependency.get(AmbientPulseManager.class);
 
+    protected IDreamManager mDreamManager;
     protected IStatusBarService mBarService;
     protected NotificationPresenter mPresenter;
     protected Callback mCallback;
     protected PowerManager mPowerManager;
-    protected SystemServicesProxy mSystemServicesProxy;
     protected NotificationListenerService.RankingMap mLatestRankingMap;
     protected HeadsUpManager mHeadsUpManager;
     protected NotificationData mNotificationData;
@@ -218,8 +224,9 @@
         mPowerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
         mBarService = IStatusBarService.Stub.asInterface(
                 ServiceManager.getService(Context.STATUS_BAR_SERVICE));
+        mDreamManager = IDreamManager.Stub.asInterface(
+                ServiceManager.checkService(DreamService.DREAM_SERVICE));
         mMessagingUtil = new NotificationMessagingUtil(context);
-        mSystemServicesProxy = SystemServicesProxy.getInstance(mContext);
         mGroupManager.setPendingEntries(mPendingNotifications);
     }
 
@@ -264,6 +271,7 @@
         }
 
         mNotificationLifetimeExtenders.add(mHeadsUpManager);
+        mNotificationLifetimeExtenders.add(mAmbientPulseManager);
         mNotificationLifetimeExtenders.add(mGutsManager);
         mNotificationLifetimeExtenders.addAll(mRemoteInputManager.getLifetimeExtenders());
 
@@ -381,7 +389,7 @@
         final int userId = n.getUserId();
         try {
             int dismissalSurface = NotificationStats.DISMISSAL_SHADE;
-            if (isHeadsUp(n.getKey())) {
+            if (mHeadsUpManager.isAlerting(n.getKey())) {
                 dismissalSurface = NotificationStats.DISMISSAL_PEEK;
             } else if (mListContainer.hasPulsingNotifications()) {
                 dismissalSurface = NotificationStats.DISMISSAL_AOD;
@@ -432,12 +440,14 @@
     }
 
     private void addEntry(NotificationData.Entry shadeEntry) {
-        boolean isHeadsUped = shouldPeek(shadeEntry);
-        if (isHeadsUped) {
+        if (shouldHeadsUp(shadeEntry)) {
             mHeadsUpManager.showNotification(shadeEntry);
             // Mark as seen immediately
             setNotificationShown(shadeEntry.notification);
         }
+        if (shouldPulse(shadeEntry)) {
+            mAmbientPulseManager.showNotification(shadeEntry);
+        }
         addNotificationViews(shadeEntry);
         mCallback.onNotificationAdded(shadeEntry);
     }
@@ -465,7 +475,11 @@
     private void removeNotificationInternal(String key,
             @Nullable NotificationListenerService.RankingMap ranking, boolean forceRemove) {
         abortExistingInflation(key);
-        if (mHeadsUpManager.contains(key)) {
+
+        // Attempt to remove notifications from their alert managers (heads up, ambient pulse).
+        // Though the remove itself may fail, it lets the manager know to remove as soon as
+        // possible.
+        if (mHeadsUpManager.isAlerting(key)) {
             // A cancel() in response to a remote input shouldn't be delayed, as it makes the
             // sending look longer than it takes.
             // Also we should not defer the removal if reordering isn't allowed since otherwise
@@ -473,10 +487,11 @@
             boolean ignoreEarliestRemovalTime = mRemoteInputManager.getController().isSpinning(key)
                     && !FORCE_REMOTE_INPUT_HISTORY
                     || !mVisualStabilityManager.isReorderingAllowed();
-
-            // Attempt to remove notification.
             mHeadsUpManager.removeNotification(key, ignoreEarliestRemovalTime);
         }
+        if (mAmbientPulseManager.isAlerting(key)) {
+            mAmbientPulseManager.removeNotification(key, false /* ignoreEarliestRemovalTime */);
+        }
 
         NotificationData.Entry entry = mNotificationData.get(key);
 
@@ -651,13 +666,15 @@
     private void addNotificationInternal(StatusBarNotification notification,
             NotificationListenerService.RankingMap rankingMap) throws InflationException {
         String key = notification.getKey();
-        if (DEBUG) Log.d(TAG, "addNotification key=" + key);
+        if (DEBUG) {
+            Log.d(TAG, "addNotification key=" + key);
+        }
 
         mNotificationData.updateRanking(rankingMap);
         NotificationListenerService.Ranking ranking = new NotificationListenerService.Ranking();
         rankingMap.getRanking(key, ranking);
         NotificationData.Entry shadeEntry = createNotificationViews(notification, ranking);
-        boolean isHeadsUped = shouldPeek(shadeEntry);
+        boolean isHeadsUped = shouldHeadsUp(shadeEntry);
         if (!isHeadsUped && notification.getNotification().fullScreenIntent != null) {
             if (shouldSuppressFullScreenIntent(shadeEntry)) {
                 if (DEBUG) {
@@ -672,7 +689,13 @@
             } else {
                 // Stop screensaver if the notification has a fullscreen intent.
                 // (like an incoming phone call)
-                SystemServicesProxy.getInstance(mContext).awakenDreamsAsync();
+                Dependency.get(UiOffloadThread.class).submit(() -> {
+                    try {
+                        mDreamManager.awaken();
+                    } catch (RemoteException e) {
+                        e.printStackTrace();
+                    }
+                });
 
                 // not immersive & a fullscreen alert should be shown
                 if (DEBUG)
@@ -750,7 +773,6 @@
             extender.setShouldManageLifetime(entry, false /* shouldManage */);
         }
 
-        Notification n = notification.getNotification();
         mNotificationData.updateRanking(ranking);
 
         final StatusBarNotification oldNotification = entry.notification;
@@ -763,10 +785,12 @@
         mForegroundServiceController.updateNotification(notification,
                 mNotificationData.getImportance(key));
 
-        boolean shouldPeek = shouldPeek(entry, notification);
-        boolean alertAgain = alertAgain(entry, n);
-
-        updateHeadsUp(key, entry, shouldPeek, alertAgain);
+        boolean alertAgain = alertAgain(entry, entry.notification.getNotification());
+        if (mPresenter.isDozing()) {
+            updateAlertState(entry, shouldPulse(entry), alertAgain, mAmbientPulseManager);
+        } else {
+            updateAlertState(entry, shouldHeadsUp(entry), alertAgain, mHeadsUpManager);
+        }
         updateNotifications();
 
         if (!notification.isClearable()) {
@@ -851,66 +875,163 @@
         }
     }
 
-    protected boolean shouldPeek(NotificationData.Entry entry) {
-        return shouldPeek(entry, entry.notification);
-    }
+    /**
+     * Whether the notification should peek in from the top and alert the user.
+     *
+     * @param entry the entry to check
+     * @return true if the entry should heads up, false otherwise
+     */
+    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PROTECTED)
+    public boolean shouldHeadsUp(NotificationData.Entry entry) {
+        StatusBarNotification sbn = entry.notification;
 
-    public boolean shouldPeek(NotificationData.Entry entry, StatusBarNotification sbn) {
-        if (!mUseHeadsUp || mPresenter.isDeviceInVrMode()) {
-            if (DEBUG) Log.d(TAG, "No peeking: no huns or vr mode");
-            return false;
-        }
-
-        if (mNotificationData.shouldFilterOut(entry)) {
-            if (DEBUG) Log.d(TAG, "No peeking: filtered notification: " + sbn.getKey());
-            return false;
-        }
-
-        boolean inUse = mPowerManager.isScreenOn() && !mSystemServicesProxy.isDreaming();
-
-        if (!inUse && !mPresenter.isDozing()) {
+        if (mPresenter.isDozing()) {
             if (DEBUG) {
-                Log.d(TAG, "No peeking: not in use: " + sbn.getKey());
+                Log.d(TAG, "No heads up: device is dozing: " + sbn.getKey());
             }
             return false;
         }
 
-        if (!mPresenter.isDozing() && mNotificationData.shouldSuppressPeek(entry)) {
-            if (DEBUG) Log.d(TAG, "No peeking: suppressed by DND: " + sbn.getKey());
+        if (!canAlertCommon(entry)) {
+            if (DEBUG) {
+                Log.d(TAG, "No heads up: notification shouldn't alert: " + sbn.getKey());
+            }
             return false;
         }
 
-        // Peeking triggers an ambient display pulse, so disable peek is ambient is active
-        if (mPresenter.isDozing() && mNotificationData.shouldSuppressAmbient(entry)) {
-            if (DEBUG) Log.d(TAG, "No peeking: suppressed by DND: " + sbn.getKey());
+        if (!mUseHeadsUp || mPresenter.isDeviceInVrMode()) {
+            if (DEBUG) {
+                Log.d(TAG, "No heads up: no huns or vr mode");
+            }
             return false;
         }
 
-        if (entry.hasJustLaunchedFullScreenIntent()) {
-            if (DEBUG) Log.d(TAG, "No peeking: recent fullscreen: " + sbn.getKey());
+        boolean isDreaming = false;
+        try {
+            isDreaming = mDreamManager.isDreaming();
+        } catch (RemoteException e) {
+            Log.e(TAG, "Failed to query dream manager.", e);
+        }
+        boolean inUse = mPowerManager.isScreenOn() && !isDreaming;
+
+        if (!inUse) {
+            if (DEBUG) {
+                Log.d(TAG, "No heads up: not in use: " + sbn.getKey());
+            }
+            return false;
+        }
+
+        if (mNotificationData.shouldSuppressPeek(entry)) {
+            if (DEBUG) {
+                Log.d(TAG, "No heads up: suppressed by DND: " + sbn.getKey());
+            }
             return false;
         }
 
         if (isSnoozedPackage(sbn)) {
-            if (DEBUG) Log.d(TAG, "No peeking: snoozed package: " + sbn.getKey());
+            if (DEBUG) {
+                Log.d(TAG, "No heads up: snoozed package: " + sbn.getKey());
+            }
             return false;
         }
 
-        // Allow peeking for DEFAULT notifications only if we're on Ambient Display.
-        int importanceLevel = mPresenter.isDozing() ? NotificationManager.IMPORTANCE_DEFAULT
-                : NotificationManager.IMPORTANCE_HIGH;
-        if (mNotificationData.getImportance(sbn.getKey()) < importanceLevel) {
-            if (DEBUG) Log.d(TAG, "No peeking: unimportant notification: " + sbn.getKey());
+        if (entry.hasJustLaunchedFullScreenIntent()) {
+            if (DEBUG) {
+                Log.d(TAG, "No heads up: recent fullscreen: " + sbn.getKey());
+            }
             return false;
         }
 
-        // Don't peek notifications that are suppressed due to group alert behavior
+        if (mNotificationData.getImportance(sbn.getKey()) < NotificationManager.IMPORTANCE_HIGH) {
+            if (DEBUG) {
+                Log.d(TAG, "No heads up: unimportant notification: " + sbn.getKey());
+            }
+            return false;
+        }
+
+        if (!mCallback.canHeadsUp(entry, sbn)) {
+            return false;
+        }
+
+        return true;
+    }
+
+    /**
+     * Whether or not the notification should "pulse" on the user's display when the phone is
+     * dozing.  This displays the ambient view of the notification.
+     *
+     * @param entry the entry to check
+     * @return true if the entry should ambient pulse, false otherwise
+     */
+    protected boolean shouldPulse(NotificationData.Entry entry) {
+        StatusBarNotification sbn = entry.notification;
+
+        if (!mPresenter.isDozing()) {
+            if (DEBUG) {
+                Log.d(TAG, "No pulsing: not dozing: " + sbn.getKey());
+            }
+            return false;
+        }
+
+        if (!canAlertCommon(entry)) {
+            if (DEBUG) {
+                Log.d(TAG, "No pulsing: notification shouldn't alert: " + sbn.getKey());
+            }
+            return false;
+        }
+
+        if (mNotificationData.shouldSuppressAmbient(entry)) {
+            if (DEBUG) {
+                Log.d(TAG, "No pulsing: ambient effect suppressed: " + sbn.getKey());
+            }
+            return false;
+        }
+
+        if (mNotificationData.getImportance(sbn.getKey())
+                < NotificationManager.IMPORTANCE_DEFAULT) {
+            if (DEBUG) {
+                Log.d(TAG, "No pulsing: not important enough: " + sbn.getKey());
+            }
+            return false;
+        }
+
+        Bundle extras = sbn.getNotification().extras;
+        CharSequence title = extras.getCharSequence(Notification.EXTRA_TITLE);
+        CharSequence text = extras.getCharSequence(Notification.EXTRA_TEXT);
+        if (TextUtils.isEmpty(title) && TextUtils.isEmpty(text)) {
+            if (DEBUG) {
+                Log.d(TAG, "No pulsing: title and text are empty: " + sbn.getKey());
+            }
+            return false;
+        }
+
+        return true;
+    }
+
+    /**
+     * Common checks between heads up alerting and ambient pulse alerting.  See
+     * {@link NotificationEntryManager#shouldHeadsUp(NotificationData.Entry)} and
+     * {@link NotificationEntryManager#shouldPulse(NotificationData.Entry)}.  Notifications that
+     * fail any of these checks should not alert at all.
+     *
+     * @param entry the entry to check
+     * @return true if these checks pass, false if the notification should not alert
+     */
+    protected boolean canAlertCommon(NotificationData.Entry entry) {
+        StatusBarNotification sbn = entry.notification;
+
+        if (mNotificationData.shouldFilterOut(entry)) {
+            if (DEBUG) {
+                Log.d(TAG, "No alerting: filtered notification: " + sbn.getKey());
+            }
+            return false;
+        }
+
+        // Don't alert notifications that are suppressed due to group alert behavior
         if (sbn.isGroup() && sbn.getNotification().suppressAlertingDueToGrouping()) {
-            if (DEBUG) Log.d(TAG, "No peeking: suppressed due to group alert behavior");
-            return false;
-        }
-
-        if (!mCallback.shouldPeek(entry, sbn)) {
+            if (DEBUG) {
+                Log.d(TAG, "No alerting: suppressed due to group alert behavior");
+            }
             return false;
         }
 
@@ -933,26 +1054,31 @@
         return mHeadsUpManager.isSnoozed(sbn.getPackageName());
     }
 
-    protected void updateHeadsUp(String key, NotificationData.Entry entry, boolean shouldPeek,
-            boolean alertAgain) {
-        final boolean wasHeadsUp = isHeadsUp(key);
-        if (wasHeadsUp) {
-            if (!shouldPeek) {
+    /**
+     * Update the entry's alert state and call the appropriate {@link AlertingNotificationManager}
+     * method.
+     * @param entry entry to update
+     * @param shouldAlert whether or not it should be alerting
+     * @param alertAgain whether or not an alert should actually come in as if it were new
+     * @param alertManager the alerting notification manager that manages the alert state
+     */
+    private void updateAlertState(NotificationData.Entry entry, boolean shouldAlert,
+            boolean alertAgain, AlertingNotificationManager alertManager) {
+        final boolean wasAlerting = alertManager.isAlerting(entry.key);
+        if (wasAlerting) {
+            if (!shouldAlert) {
                 // We don't want this to be interrupting anymore, lets remove it
-                mHeadsUpManager.removeNotification(key, false /* ignoreEarliestRemovalTime */);
+                alertManager.removeNotification(entry.key,
+                        false /* ignoreEarliestRemovalTime */);
             } else {
-                mHeadsUpManager.updateNotification(entry.key, alertAgain);
+                alertManager.updateNotification(entry.key, alertAgain);
             }
-        } else if (shouldPeek && alertAgain) {
-            // This notification was updated to be a heads-up, show it!
-            mHeadsUpManager.showNotification(entry);
+        } else if (shouldAlert && alertAgain) {
+            // This notification was updated to be alerting, show it!
+            alertManager.showNotification(entry);
         }
     }
 
-    protected boolean isHeadsUp(String key) {
-        return mHeadsUpManager.contains(key);
-    }
-
     /**
      * Callback for NotificationEntryManager.
      */
@@ -1008,12 +1134,12 @@
         void onPerformRemoveNotification(StatusBarNotification statusBarNotification);
 
         /**
-         * Returns true if NotificationEntryManager should peek this notification.
+         * Returns true if NotificationEntryManager can heads up this notification.
          *
-         * @param entry entry of the notification that might be peeked
-         * @param sbn notification that might be peeked
-         * @return true if the notification should be peeked
+         * @param entry entry of the notification that might be heads upped
+         * @param sbn notification that might be heads upped
+         * @return true if the notification can be heads upped
          */
-        boolean shouldPeek(NotificationData.Entry entry, StatusBarNotification sbn);
+        boolean canHeadsUp(NotificationData.Entry entry, StatusBarNotification sbn);
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/ShadeViewRefactor.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/ShadeViewRefactor.java
new file mode 100644
index 0000000..5ad2ba9
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/ShadeViewRefactor.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.systemui.statusbar.notification;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.SOURCE)
+public @interface ShadeViewRefactor {
+  /**
+   * Returns the refactor component.
+   * @return the refactor component.
+   */
+  RefactorComponent value();
+
+  public enum RefactorComponent {
+    ADAPTER,
+    LAYOUT_ALGORITHM,
+    STATE_RESOLVER,
+    DECORATOR,
+    INPUT,
+    COORDINATOR,
+    SHADE_VIEW
+  }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java
index 67db68d..bce613a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java
@@ -72,7 +72,7 @@
 import com.android.systemui.R;
 import com.android.systemui.classifier.FalsingManager;
 import com.android.systemui.plugins.PluginListener;
-import com.android.systemui.plugins.PluginManager;
+import com.android.systemui.shared.plugins.PluginManager;
 import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
 import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin.MenuItem;
 import com.android.systemui.statusbar.notification.NotificationData;
@@ -174,6 +174,11 @@
      */
     private boolean mOnKeyguard;
 
+    /**
+     * Whether or not the row is currently on the doze screen.
+     */
+    private boolean mOnAmbient;
+
     private Animator mTranslateAnim;
     private ArrayList<View> mTranslateableViews;
     private NotificationContentView mPublicLayout;
@@ -186,7 +191,18 @@
     private NotificationData.Entry mEntry;
     private StatusBarNotification mStatusBarNotification;
     private String mAppName;
+
+    /**
+     * Whether or not the notification is using the heads up view and should peek from the top.
+     */
     private boolean mIsHeadsUp;
+
+    /**
+     * Whether or not the notification is using the ambient display view and is pulsing.  This
+     * occurs when a high priority notification alerts while the phone is dozing or is on AOD.
+     */
+    private boolean mIsAmbientPulsing;
+
     private boolean mLastChronometerRunning = true;
     private ViewStub mChildrenContainerStub;
     private NotificationGroupManager mGroupManager;
@@ -289,7 +305,6 @@
     private float mContentTransformationAmount;
     private boolean mIconsVisible = true;
     private boolean mAboveShelf;
-    private boolean mShowAmbient;
     private boolean mIsLastChild;
     private Runnable mOnDismissRunnable;
     private boolean mIsLowPriority;
@@ -606,6 +621,14 @@
         }
     }
 
+    public boolean isAmbientPulsing() {
+        return mIsAmbientPulsing;
+    }
+
+    public void setAmbientPulsing(boolean isAmbientPulsing) {
+        mIsAmbientPulsing = isAmbientPulsing;
+    }
+
     public void setGroupManager(NotificationGroupManager groupManager) {
         mGroupManager = groupManager;
         mPrivateLayout.setGroupManager(groupManager);
@@ -1014,7 +1037,7 @@
             removeView(mMenuRow.getMenuView());
         }
         mMenuRow = plugin;
-        if (mMenuRow.useDefaultMenuItems()) {
+        if (mMenuRow.shouldUseDefaultMenuItems()) {
             ArrayList<MenuItem> items = new ArrayList<>();
             items.add(NotificationMenuRow.createInfoItem(mContext));
             items.add(NotificationMenuRow.createSnoozeItem(mContext));
@@ -1141,9 +1164,13 @@
     }
 
     private void updateNotificationColor() {
+        Configuration currentConfig = getResources().getConfiguration();
+        boolean nightMode = (currentConfig.uiMode & Configuration.UI_MODE_NIGHT_MASK)
+                == Configuration.UI_MODE_NIGHT_YES;
+
         mNotificationColor = ContrastColorUtil.resolveContrastColor(mContext,
                 getStatusBarNotification().getNotification().color,
-                getBackgroundColorWithoutTint());
+                getBackgroundColorWithoutTint(), nightMode);
         mNotificationColorAmbient = ContrastColorUtil.resolveAmbientColor(mContext,
                 getStatusBarNotification().getNotification().color);
     }
@@ -1760,7 +1787,7 @@
             getEntry().expandedIcon.setScrollX((int) -translationX);
         }
         if (mMenuRow.getMenuView() != null) {
-            mMenuRow.onTranslationUpdate(translationX);
+            mMenuRow.onParentTranslationUpdate(translationX);
         }
     }
 
@@ -1850,7 +1877,7 @@
     public void setDark(boolean dark, boolean fade, long delay) {
         super.setDark(dark, fade, delay);
         mDark = dark;
-        if (!mIsHeadsUp) {
+        if (!mIsAmbientPulsing) {
             // Only fade the showing view of the pulsing notification.
             fade = false;
         }
@@ -2151,7 +2178,7 @@
             return mPrivateLayout.getMinHeight();
         } else if (mSensitive && mHideSensitiveForIntrinsicHeight) {
             return getMinHeight();
-        } else if (mIsSummaryWithChildren && (!mOnKeyguard || mShowAmbient)) {
+        } else if (mIsSummaryWithChildren && (!mOnKeyguard || mOnAmbient)) {
             return mChildrenContainer.getIntrinsicHeight();
         } else if (isHeadsUpAllowed() && (mIsHeadsUp || mHeadsupDisappearRunning)) {
             if (isPinned() || mHeadsupDisappearRunning) {
@@ -2169,7 +2196,7 @@
     }
 
     private boolean isHeadsUpAllowed() {
-        return !mOnKeyguard && !mShowAmbient;
+        return !mOnKeyguard && !mOnAmbient;
     }
 
     @Override
@@ -2265,7 +2292,7 @@
             notifyHeightChanged(true  /* needsAnimation */);
         }
         if (mMenuRow.getMenuView() != null) {
-            mMenuRow.onHeightUpdate();
+            mMenuRow.onParentHeightUpdate();
         }
         updateContentShiftHeight();
         if (mLayoutListener != null) {
@@ -2516,7 +2543,7 @@
             mGuts.setActualHeight(height);
         }
         if (mMenuRow.getMenuView() != null) {
-            mMenuRow.onHeightUpdate();
+            mMenuRow.onParentHeightUpdate();
         }
     }
 
@@ -2814,11 +2841,11 @@
                 || mExpandAnimationRunning || mChildIsExpanding);
     }
 
-    public void setShowAmbient(boolean showAmbient) {
-        if (showAmbient != mShowAmbient) {
-            mShowAmbient = showAmbient;
+    public void setOnAmbient(boolean onAmbient) {
+        if (onAmbient != mOnAmbient) {
+            mOnAmbient = onAmbient;
             if (mChildrenContainer != null) {
-                mChildrenContainer.notifyShowAmbientChanged();
+                mChildrenContainer.notifyDozingStateChanged();
             }
             notifyHeightChanged(false /* needsAnimation */);
         }
@@ -2887,8 +2914,8 @@
         return getCurrentBottomRoundness() == 0.0f && getCurrentTopRoundness() == 0.0f;
     }
 
-    public boolean isShowingAmbient() {
-        return mShowAmbient;
+    public boolean isOnAmbient() {
+        return mOnAmbient;
     }
 
     public void setAboveShelf(boolean aboveShelf) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java
index 0110610..4963a0c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java
@@ -725,7 +725,7 @@
     }
 
     public int getMaxHeight() {
-        if (mContainingNotification.isShowingAmbient()) {
+        if (mContainingNotification.isOnAmbient()) {
             return getShowingAmbientView().getHeight();
         } else if (mExpandedChild != null) {
             return getViewHeight(VISIBLE_TYPE_EXPANDED)
@@ -752,7 +752,7 @@
     }
 
     public int getMinHeight(boolean likeGroupExpanded) {
-        if (mContainingNotification.isShowingAmbient()) {
+        if (mContainingNotification.isOnAmbient()) {
             return getShowingAmbientView().getHeight();
         } else if (likeGroupExpanded || !mIsChildInGroup || isGroupExpanded()) {
             return getViewHeight(VISIBLE_TYPE_CONTRACTED);
@@ -1039,7 +1039,7 @@
      * @return one of the static enum types in this view, calculated form the current state
      */
     public int calculateVisibleType() {
-        if (mContainingNotification.isShowingAmbient()) {
+        if (mContainingNotification.isOnAmbient()) {
             if (mIsChildInGroup && mAmbientSingleLineChild != null) {
                 return VISIBLE_TYPE_AMBIENT_SINGLELINE;
             } else if (mAmbientChild != null) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationInfo.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationInfo.java
index 9e2331f..903c272 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationInfo.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationInfo.java
@@ -103,8 +103,15 @@
     };
 
     private OnClickListener mOnStopOrMinimizeNotifications = v -> {
-        mExitReason = NotificationCounters.BLOCKING_HELPER_STOP_NOTIFICATIONS;
-        swapContent(false);
+        Runnable saveImportance = () -> {
+            mExitReason = NotificationCounters.BLOCKING_HELPER_STOP_NOTIFICATIONS;
+            swapContent(false);
+        };
+        if (mCheckSaveListener != null) {
+            mCheckSaveListener.checkSave(saveImportance, mSbn);
+        } else {
+            saveImportance.run();
+        }
     };
 
     private OnClickListener mOnUndo = v -> {
@@ -304,15 +311,7 @@
 
     private void saveImportance() {
         if (!mIsNonblockable) {
-            // Only go through the lock screen/bouncer if the user hit 'Stop notifications'.
-            // Otherwise, update the importance immediately.
-            if (mCheckSaveListener != null
-                    && NotificationCounters.BLOCKING_HELPER_STOP_NOTIFICATIONS.equals(
-                            mExitReason)) {
-                mCheckSaveListener.checkSave(this::updateImportance, mSbn);
-            } else {
-                updateImportance();
-            }
+            updateImportance();
         }
     }
 
@@ -523,6 +522,11 @@
         return getHeight();
     }
 
+    @VisibleForTesting
+    public boolean isAnimating() {
+        return mExpandAnimation != null && mExpandAnimation.isRunning();
+    }
+
     /**
      * Runnable to either update the given channel (with a new importance value) or, if no channel
      * is provided, update notifications enabled state for the package.
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationMenuRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationMenuRow.java
index dec88d4..7e60c4b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationMenuRow.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationMenuRow.java
@@ -16,14 +16,13 @@
 
 package com.android.systemui.statusbar.notification.row;
 
-import static com.android.systemui.SwipeHelper.SWIPED_FAR_ENOUGH_SIZE_FRACTION;
-
 import java.util.ArrayList;
 
+import static com.android.systemui.SwipeHelper.SWIPED_FAR_ENOUGH_SIZE_FRACTION;
+
 import com.android.systemui.Interpolators;
 import com.android.systemui.R;
 import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
-import com.android.systemui.plugins.statusbar.NotificationSwipeActionHelper;
 import com.android.systemui.statusbar.AlphaOptimizedImageView;
 import com.android.systemui.statusbar.notification.row.NotificationGuts.GutsContent;
 import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
@@ -38,25 +37,21 @@
 import android.graphics.drawable.Drawable;
 import android.os.Handler;
 import android.os.Looper;
-import android.util.Log;
 import android.service.notification.StatusBarNotification;
 import android.view.LayoutInflater;
-import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.FrameLayout;
 import android.widget.FrameLayout.LayoutParams;
 
+import com.android.internal.annotations.VisibleForTesting;
+
 public class NotificationMenuRow implements NotificationMenuRowPlugin, View.OnClickListener,
         ExpandableNotificationRow.LayoutListener {
 
     private static final boolean DEBUG = false;
     private static final String TAG = "swipe";
 
-    private static final int ICON_ALPHA_ANIM_DURATION = 200;
-    private static final long SHOW_MENU_DELAY = 60;
-    private static final long SWIPE_MENU_TIMING = 200;
-
     // Notification must be swiped at least this fraction of a single menu item to show menu
     private static final float SWIPED_FAR_ENOUGH_MENU_FRACTION = 0.25f;
     private static final float SWIPED_FAR_ENOUGH_MENU_UNCLEARABLE_FRACTION = 0.15f;
@@ -65,6 +60,9 @@
     // menu item to snap back to menu (else it will cover the menu or it'll be dismissed)
     private static final float SWIPED_BACK_ENOUGH_TO_COVER_FRACTION = 0.2f;
 
+    private static final int ICON_ALPHA_ANIM_DURATION = 200;
+    private static final long SHOW_MENU_DELAY = 60;
+
     private ExpandableNotificationRow mParent;
 
     private Context mContext;
@@ -89,22 +87,20 @@
     private int[] mIconLocation = new int[2];
     private int[] mParentLocation = new int[2];
 
-    private float mHorizSpaceForIcon = -1;
+    private int mHorizSpaceForIcon = -1;
     private int mVertSpaceForIcons = -1;
     private int mIconPadding = -1;
     private int mSidePadding;
 
     private float mAlpha = 0f;
-    private float mPrevX;
 
     private CheckForDrag mCheckForDrag;
     private Handler mHandler;
 
-    private boolean mMenuSnappedTo;
+    private boolean mMenuSnapped;
     private boolean mMenuSnappedOnLeft;
     private boolean mShouldShowMenu;
 
-    private NotificationSwipeActionHelper mSwipeHelper;
     private boolean mIsUserTouching;
 
     public NotificationMenuRow(Context context) {
@@ -134,9 +130,34 @@
         return mSnoozeItem;
     }
 
-    @Override
-    public void setSwipeActionHelper(NotificationSwipeActionHelper helper) {
-        mSwipeHelper = helper;
+    @VisibleForTesting
+    protected ExpandableNotificationRow getParent() {
+        return mParent;
+    }
+
+    @VisibleForTesting
+    protected boolean isMenuOnLeft() {
+        return mOnLeft;
+    }
+
+    @VisibleForTesting
+    protected boolean isMenuSnappedOnLeft() {
+        return mMenuSnappedOnLeft;
+    }
+
+    @VisibleForTesting
+    protected boolean isMenuSnapped() {
+        return mMenuSnapped;
+    }
+
+    @VisibleForTesting
+    protected boolean isDismissing() {
+        return mDismissing;
+    }
+
+    @VisibleForTesting
+    protected boolean isSnapping() {
+        return mSnapping;
     }
 
     @Override
@@ -155,17 +176,37 @@
         return mAlpha > 0;
     }
 
+    @VisibleForTesting
+    protected boolean isUserTouching() {
+        return mIsUserTouching;
+    }
+
+    @Override
+    public boolean shouldShowMenu() {
+        return mShouldShowMenu;
+    }
+
     @Override
     public View getMenuView() {
         return mMenuContainer;
     }
 
+    @VisibleForTesting
+    protected float getTranslation() {
+        return mTranslation;
+    }
+
     @Override
     public void resetMenu() {
         resetState(true);
     }
 
     @Override
+    public void onTouchEnd() {
+        mIsUserTouching = false;
+    }
+
+    @Override
     public void onNotificationUpdated(StatusBarNotification sbn) {
         if (mMenuContainer == null) {
             // Menu hasn't been created yet, no need to do anything.
@@ -222,9 +263,7 @@
             mIconsPlaced = false;
             setMenuLocation();
             if (!mIsUserTouching) {
-                // If the # of items showing changed we need to update the snap position
-                showMenu(mParent, mOnLeft ? getSpaceForMenu() : -getSpaceForMenu(),
-                        0 /* velocity */);
+                onSnapOpen();
             }
         }
     }
@@ -236,7 +275,7 @@
         mAnimating = false;
         mSnapping = false;
         mDismissing = false;
-        mMenuSnappedTo = false;
+        mMenuSnapped = false;
         setMenuLocation();
         if (mMenuListener != null && notify) {
             mMenuListener.onMenuReset(mParent);
@@ -244,185 +283,102 @@
     }
 
     @Override
-    public boolean onTouchEvent(View view, MotionEvent ev, float velocity) {
-        final int action = ev.getActionMasked();
-        switch (action) {
-            case MotionEvent.ACTION_DOWN:
-                mSnapping = false;
-                if (mFadeAnimator != null) {
-                    mFadeAnimator.cancel();
-                }
-                mHandler.removeCallbacks(mCheckForDrag);
+    public void onTouchMove(float delta) {
+        mSnapping = false;
+
+        if (!isTowardsMenu(delta) && isMenuLocationChange()) {
+            // Don't consider it "snapped" if location has changed.
+            mMenuSnapped = false;
+
+            // Changed directions, make sure we check to fade in icon again.
+            if (!mHandler.hasCallbacks(mCheckForDrag)) {
+                // No check scheduled, set null to schedule a new one.
                 mCheckForDrag = null;
-                mPrevX = ev.getRawX();
-                mIsUserTouching = true;
-                break;
-
-            case MotionEvent.ACTION_MOVE:
-                mSnapping = false;
-                float diffX = ev.getRawX() - mPrevX;
-                mPrevX = ev.getRawX();
-                if (!isTowardsMenu(diffX) && isMenuLocationChange()) {
-                    // Don't consider it "snapped" if location has changed.
-                    mMenuSnappedTo = false;
-
-                    // Changed directions, make sure we check to fade in icon again.
-                    if (!mHandler.hasCallbacks(mCheckForDrag)) {
-                        // No check scheduled, set null to schedule a new one.
-                        mCheckForDrag = null;
-                    } else {
-                        // Check scheduled, reset alpha and update location; check will fade it in
-                        setMenuAlpha(0f);
-                        setMenuLocation();
-                    }
-                }
-                if (mShouldShowMenu
-                        && !NotificationStackScrollLayout.isPinnedHeadsUp(view)
-                        && !mParent.areGutsExposed()
-                        && !mParent.isDark()
-                        && (mCheckForDrag == null || !mHandler.hasCallbacks(mCheckForDrag))) {
-                    // Only show the menu if we're not a heads up view and guts aren't exposed.
-                    mCheckForDrag = new CheckForDrag();
-                    mHandler.postDelayed(mCheckForDrag, SHOW_MENU_DELAY);
-                }
-                break;
-
-            case MotionEvent.ACTION_UP:
-                mIsUserTouching = false;
-                return handleUpEvent(ev, view, velocity);
-            case MotionEvent.ACTION_CANCEL:
-                mIsUserTouching = false;
-                cancelDrag();
-                return false;
-        }
-        return false;
-    }
-
-    private boolean handleUpEvent(MotionEvent ev, View animView, float velocity) {
-        // If the menu should not be shown, then there is no need to check if the a swipe
-        // should result in a snapping to the menu. As a result, just check if the swipe
-        // was enough to dismiss the notification.
-        if (!mShouldShowMenu) {
-            if (mSwipeHelper.isDismissGesture(ev)) {
-                dismiss(animView, velocity);
             } else {
-                snapBack(animView, velocity);
+                // Check scheduled, reset alpha and update location; check will fade it in
+                setMenuAlpha(0f);
+                setMenuLocation();
             }
-            return true;
         }
-
-        final boolean gestureTowardsMenu = isTowardsMenu(velocity);
-        final boolean gestureFastEnough =
-                mSwipeHelper.getMinDismissVelocity() <= Math.abs(velocity);
-        final boolean gestureFarEnough =
-                mSwipeHelper.swipedFarEnough(mTranslation, mParent.getWidth());
-        final double timeForGesture = ev.getEventTime() - ev.getDownTime();
-        final boolean showMenuForSlowOnGoing = !mParent.canViewBeDismissed()
-                && timeForGesture >= SWIPE_MENU_TIMING;
-        final float menuSnapTarget = mOnLeft ? getSpaceForMenu() : -getSpaceForMenu();
-
-        if (DEBUG) {
-            Log.d(TAG, "mTranslation= " + mTranslation
-                    + " mAlpha= " + mAlpha
-                    + " velocity= " + velocity
-                    + " mMenuSnappedTo= " + mMenuSnappedTo
-                    + " mMenuSnappedOnLeft= " + mMenuSnappedOnLeft
-                    + " mOnLeft= " + mOnLeft
-                    + " minDismissVel= " + mSwipeHelper.getMinDismissVelocity()
-                    + " isDismissGesture= " + mSwipeHelper.isDismissGesture(ev)
-                    + " gestureTowardsMenu= " + gestureTowardsMenu
-                    + " gestureFastEnough= " + gestureFastEnough
-                    + " gestureFarEnough= " + gestureFarEnough);
+        if (mShouldShowMenu
+                && !NotificationStackScrollLayout.isPinnedHeadsUp(getParent())
+                && !mParent.areGutsExposed()
+                && !mParent.isDark()
+                && (mCheckForDrag == null || !mHandler.hasCallbacks(mCheckForDrag))) {
+            // Only show the menu if we're not a heads up view and guts aren't exposed.
+            mCheckForDrag = new CheckForDrag();
+            mHandler.postDelayed(mCheckForDrag, SHOW_MENU_DELAY);
         }
-
-        if (mMenuSnappedTo && isMenuVisible() && mMenuSnappedOnLeft == mOnLeft) {
-            // Menu was snapped to previously and we're on the same side, figure out if
-            // we should stick to the menu, snap back into place, or dismiss
-            final float maximumSwipeDistance = mHorizSpaceForIcon
-                    * SWIPED_BACK_ENOUGH_TO_COVER_FRACTION;
-            final float targetLeft = getSpaceForMenu() - maximumSwipeDistance;
-            final float targetRight = mParent.getWidth() * SWIPED_FAR_ENOUGH_SIZE_FRACTION;
-            boolean withinSnapMenuThreshold = mOnLeft
-                    ? mTranslation > targetLeft && mTranslation < targetRight
-                    : mTranslation < -targetLeft && mTranslation > -targetRight;
-            boolean shouldSnapTo = mOnLeft ? mTranslation < targetLeft : mTranslation > -targetLeft;
-            if (DEBUG) {
-                Log.d(TAG, "   withinSnapMenuThreshold= " + withinSnapMenuThreshold
-                        + "   shouldSnapTo= " + shouldSnapTo
-                        + "   targetLeft= " + targetLeft
-                        + "   targetRight= " + targetRight);
-            }
-            if (withinSnapMenuThreshold && !mSwipeHelper.isDismissGesture(ev)) {
-                // Haven't moved enough to unsnap from the menu
-                showMenu(animView, menuSnapTarget, velocity);
-            } else if (mSwipeHelper.isDismissGesture(ev) && !shouldSnapTo) {
-                // Only dismiss if we're not moving towards the menu
-                dismiss(animView, velocity);
-            } else {
-                snapBack(animView, velocity);
-            }
-        } else if (!mSwipeHelper.isFalseGesture(ev)
-                && (swipedEnoughToShowMenu() && (!gestureFastEnough || showMenuForSlowOnGoing))
-                || (gestureTowardsMenu && !mSwipeHelper.isDismissGesture(ev))) {
-            // Menu has not been snapped to previously and this is menu revealing gesture
-            showMenu(animView, menuSnapTarget, velocity);
-        } else if (mSwipeHelper.isDismissGesture(ev) && !gestureTowardsMenu) {
-            dismiss(animView, velocity);
-        } else {
-            snapBack(animView, velocity);
-        }
-        return true;
     }
 
-    private void showMenu(View animView, float targetLeft, float velocity) {
-        mMenuSnappedTo = true;
-        mMenuSnappedOnLeft = mOnLeft;
-        mMenuListener.onMenuShown(animView);
-        mSwipeHelper.snap(animView, targetLeft, velocity);
+    @VisibleForTesting
+    protected void beginDrag() {
+        mSnapping = false;
+        if (mFadeAnimator != null) {
+            mFadeAnimator.cancel();
+        }
+        mHandler.removeCallbacks(mCheckForDrag);
+        mCheckForDrag = null;
+        mIsUserTouching = true;
     }
 
-    private void snapBack(View animView, float velocity) {
+    @Override
+    public void onTouchStart() {
+       beginDrag();
+    }
+
+    @Override
+    public void onSnapOpen() {
+        mMenuSnapped = true;
+        mMenuSnappedOnLeft = isMenuOnLeft();
+        if (mMenuListener != null) {
+            mMenuListener.onMenuShown(getParent());
+        }
+    }
+
+    @Override
+    public void onSnapClosed() {
         cancelDrag();
-        mMenuSnappedTo = false;
+        mMenuSnapped = false;
         mSnapping = true;
-        mSwipeHelper.snap(animView, 0 /* leftTarget */, velocity);
     }
 
-    private void dismiss(View animView, float velocity) {
+    @Override
+    public void onDismiss() {
         cancelDrag();
-        mMenuSnappedTo = false;
+        mMenuSnapped = false;
         mDismissing = true;
-        mSwipeHelper.dismiss(animView, velocity);
     }
 
-    private void cancelDrag() {
+    @VisibleForTesting
+    protected void cancelDrag() {
         if (mFadeAnimator != null) {
             mFadeAnimator.cancel();
         }
         mHandler.removeCallbacks(mCheckForDrag);
     }
 
-    /**
-     * @return whether the notification has been translated enough to show the menu and not enough
-     *         to be dismissed.
-     */
-    private boolean swipedEnoughToShowMenu() {
-        final float multiplier = mParent.canViewBeDismissed()
+    @VisibleForTesting
+    protected float getMinimumSwipeDistance() {
+        final float multiplier = getParent().canViewBeDismissed()
                 ? SWIPED_FAR_ENOUGH_MENU_FRACTION
                 : SWIPED_FAR_ENOUGH_MENU_UNCLEARABLE_FRACTION;
-        final float minimumSwipeDistance = mHorizSpaceForIcon * multiplier;
-        return !mSwipeHelper.swipedFarEnough(0, 0) && isMenuVisible()
-                && (mOnLeft ? mTranslation > minimumSwipeDistance
-                        : mTranslation < -minimumSwipeDistance);
+        return mHorizSpaceForIcon * multiplier;
+    }
+
+    @VisibleForTesting
+    protected float getMaximumSwipeDistance() {
+        return mHorizSpaceForIcon * SWIPED_BACK_ENOUGH_TO_COVER_FRACTION;
     }
 
     /**
      * Returns whether the gesture is towards the menu location or not.
      */
-    private boolean isTowardsMenu(float movement) {
+    @Override
+    public boolean isTowardsMenu(float movement) {
         return isMenuVisible()
-                && ((mOnLeft && movement <= 0)
-                        || (!mOnLeft && movement >= 0));
+                && ((isMenuOnLeft() && movement <= 0)
+                        || (!isMenuOnLeft() && movement >= 0));
     }
 
     @Override
@@ -445,7 +401,7 @@
     }
 
     @Override
-    public void onHeightUpdate() {
+    public void onParentHeightUpdate() {
         if (mParent == null || mMenuItems.size() == 0 || mMenuContainer == null) {
             return;
         }
@@ -460,7 +416,7 @@
     }
 
     @Override
-    public void onTranslationUpdate(float translation) {
+    public void onParentTranslationUpdate(float translation) {
         mTranslation = translation;
         if (mAnimating || !mMenuFadedIn) {
             // Don't adjust when animating, or if the menu hasn't been shown yet.
@@ -492,13 +448,15 @@
         final int x = mIconLocation[0] - mParentLocation[0] + centerX;
         final int y = mIconLocation[1] - mParentLocation[1] + centerY;
         final int index = mMenuContainer.indexOfChild(v);
-        mMenuListener.onMenuClicked(mParent, x, y, mMenuItems.get(index));
+        if (mMenuListener != null) {
+            mMenuListener.onMenuClicked(mParent, x, y, mMenuItems.get(index));
+        }
     }
 
     private boolean isMenuLocationChange() {
         boolean onLeft = mTranslation > mIconPadding;
         boolean onRight = mTranslation < -mIconPadding;
-        if ((mOnLeft && onRight) || (!mOnLeft && onLeft)) {
+        if ((isMenuOnLeft() && onRight) || (!isMenuOnLeft() && onLeft)) {
             return true;
         }
         return false;
@@ -506,7 +464,7 @@
 
     private void setMenuLocation() {
         boolean showOnLeft = mTranslation > 0;
-        if ((mIconsPlaced && showOnLeft == mOnLeft) || mSnapping || mMenuContainer == null
+        if ((mIconsPlaced && showOnLeft == isMenuOnLeft()) || isSnapping() || mMenuContainer == null
                 || !mMenuContainer.isAttachedToWindow()) {
             // Do nothing
             return;
@@ -522,7 +480,8 @@
         mIconsPlaced = true;
     }
 
-    private void setMenuAlpha(float alpha) {
+    @VisibleForTesting
+    protected void setMenuAlpha(float alpha) {
         mAlpha = alpha;
         if (mMenuContainer == null) {
             return;
@@ -542,7 +501,8 @@
     /**
      * Returns the horizontal space in pixels required to display the menu.
      */
-    private float getSpaceForMenu() {
+    @VisibleForTesting
+    protected int getSpaceForMenu() {
         return mHorizSpaceForIcon * mMenuContainer.getChildCount();
     }
 
@@ -646,12 +606,71 @@
             parent.addView(menuView);
             menuView.setOnClickListener(this);
             FrameLayout.LayoutParams lp = (LayoutParams) menuView.getLayoutParams();
-            lp.width = (int) mHorizSpaceForIcon;
-            lp.height = (int) mHorizSpaceForIcon;
+            lp.width = mHorizSpaceForIcon;
+            lp.height = mHorizSpaceForIcon;
             menuView.setLayoutParams(lp);
         }
     }
 
+    @VisibleForTesting
+    /**
+     * Determine the minimum offset below which the menu should snap back closed.
+     */
+    protected float getSnapBackThreshold() {
+        return getSpaceForMenu() - getMaximumSwipeDistance();
+    }
+
+    /**
+     * Determine the maximum offset above which the parent notification should be dismissed.
+     * @return
+     */
+    @VisibleForTesting
+    protected float getDismissThreshold() {
+        return getParent().getWidth() * SWIPED_FAR_ENOUGH_SIZE_FRACTION;
+    }
+
+    @Override
+    public boolean isWithinSnapMenuThreshold() {
+        float translation = getTranslation();
+        float snapBackThreshold = getSnapBackThreshold();
+        float targetRight = getDismissThreshold();
+        return isMenuOnLeft()
+                ? translation > snapBackThreshold && translation < targetRight
+                : translation < -snapBackThreshold && translation > -targetRight;
+    }
+
+    @Override
+    public boolean isSwipedEnoughToShowMenu() {
+        final float minimumSwipeDistance = getMinimumSwipeDistance();
+        final float translation = getTranslation();
+        return isMenuVisible() && (isMenuOnLeft() ?
+                translation > minimumSwipeDistance
+                : translation < -minimumSwipeDistance);
+    }
+
+    @Override
+    public int getMenuSnapTarget() {
+        return isMenuOnLeft() ? getSpaceForMenu() : -getSpaceForMenu();
+    }
+
+    @Override
+    public boolean shouldSnapBack() {
+        float translation = getTranslation();
+        float targetLeft = getSnapBackThreshold();
+        return isMenuOnLeft() ? translation < targetLeft : translation > -targetLeft;
+    }
+
+    @Override
+    public boolean isSnappedAndOnSameSide() {
+        return isMenuSnapped() && isMenuVisible()
+                && isMenuSnappedOnLeft() == isMenuOnLeft();
+    }
+
+    @Override
+    public boolean canBeDismissed() {
+        return getParent().canViewBeDismissed();
+    }
+
     public static class NotificationMenuItem implements MenuItem {
         View mMenuView;
         GutsContent mGutsContent;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java
index 15eaaac..8969aca 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java
@@ -20,14 +20,15 @@
 import android.content.Context;
 import android.view.View;
 
+import com.android.systemui.Dependency;
 import com.android.systemui.R;
 import com.android.systemui.statusbar.StatusBarState;
+import com.android.systemui.statusbar.AmbientPulseManager;
 import com.android.systemui.statusbar.notification.row.ActivatableNotificationView;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
 import com.android.systemui.statusbar.notification.row.ExpandableView;
 import com.android.systemui.statusbar.notification.NotificationData;
 import com.android.systemui.statusbar.NotificationShelf;
-import com.android.systemui.statusbar.policy.HeadsUpManager;
 
 import java.util.ArrayList;
 
@@ -44,7 +45,7 @@
     private int mSpeedBumpIndex = -1;
     private boolean mDark;
     private boolean mHideSensitive;
-    private HeadsUpManager mHeadsUpManager;
+    private AmbientPulseManager mAmbientPulseManager = Dependency.get(AmbientPulseManager.class);
     private float mStackTranslation;
     private int mLayoutHeight;
     private int mTopPadding;
@@ -207,10 +208,6 @@
         mSpeedBumpIndex = shelfIndex;
     }
 
-    public void setHeadsUpManager(HeadsUpManager headsUpManager) {
-        mHeadsUpManager = headsUpManager;
-    }
-
     public float getStackTranslation() {
         return mStackTranslation;
     }
@@ -334,10 +331,10 @@
     }
 
     public boolean isPulsing(NotificationData.Entry entry) {
-        if (!mPulsing || mHeadsUpManager == null) {
+        if (!mPulsing || mAmbientPulseManager == null) {
             return false;
         }
-        return mHeadsUpManager.getAllEntries().anyMatch(e -> (e == entry));
+        return mAmbientPulseManager.isAlerting(entry.key);
     }
 
     public boolean isPanelTracking() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java
index 3d44e3c..da089b3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java
@@ -213,7 +213,7 @@
             // calculated correctly as they are used to calculate how many we can fit on the screen.
             boolean isOverflow = i == overflowIndex;
             child.setSingleLineWidthIndention(isOverflow && mOverflowNumber != null &&
-                    !mContainingNotification.isShowingAmbient()
+                    !mContainingNotification.isOnAmbient()
                     ? mOverflowNumber.getMeasuredWidth() : 0);
             child.measure(widthMeasureSpec, newHeightSpec);
             // layout the divider
@@ -406,7 +406,7 @@
         if (childCount > maxAllowedVisibleChildren) {
             int number = childCount - maxAllowedVisibleChildren;
             mOverflowNumber = mHybridGroupManager.bindOverflowNumber(mOverflowNumber, number);
-            if (mContainingNotification.isShowingAmbient()) {
+            if (mContainingNotification.isOnAmbient()) {
                 ExpandableNotificationRow overflowView = mChildren.get(0);
                 HybridNotificationView ambientSingleLineView = overflowView == null ? null
                         : overflowView.getAmbientSingleLineView();
@@ -522,7 +522,7 @@
         if (mUserLocked) {
             expandFactor = getGroupExpandFraction();
         }
-        boolean childrenExpanded = mChildrenExpanded || mContainingNotification.isShowingAmbient();
+        boolean childrenExpanded = mChildrenExpanded || mContainingNotification.isOnAmbient();
         for (int i = 0; i < childCount; i++) {
             if (visibleChildren >= maxAllowedVisibleChildren) {
                 break;
@@ -641,7 +641,7 @@
                     getMaxAllowedVisibleChildren(true /* likeCollapsed */), childCount) - 1);
             mGroupOverFlowState.copyFrom(resultState.getViewStateForView(overflowView));
 
-            if (mContainingNotification.isShowingAmbient()) {
+            if (mContainingNotification.isOnAmbient()) {
                 mGroupOverFlowState.alpha = 0.0f;
             } else if (!mChildrenExpanded) {
                 HybridNotificationView alignView = overflowView.getSingleLineView();
@@ -710,7 +710,7 @@
 
     @VisibleForTesting
     int getMaxAllowedVisibleChildren(boolean likeCollapsed) {
-        if (mContainingNotification.isShowingAmbient()) {
+        if (mContainingNotification.isOnAmbient()) {
             return NUMBER_OF_CHILDREN_WHEN_AMBIENT;
         }
         if (!likeCollapsed && (mChildrenExpanded || mContainingNotification.isUserLocked())
@@ -900,7 +900,7 @@
         return mCurrentHeader;
     }
 
-    public void notifyShowAmbientChanged() {
+    public void notifyDozingStateChanged() {
         updateHeaderVisibility(false);
         updateGroupOverflow();
     }
@@ -970,7 +970,7 @@
 
     private ViewGroup calculateDesiredHeader() {
         ViewGroup desiredHeader;
-        if (mContainingNotification.isShowingAmbient()) {
+        if (mContainingNotification.isOnAmbient()) {
             desiredHeader = mNotificationHeaderAmbient;
         } else if (showingAsLowPriority()) {
             desiredHeader = mNotificationHeaderLowPriority;
@@ -1126,7 +1126,7 @@
     }
 
     public int getMinHeight() {
-        return getMinHeight(mContainingNotification.isShowingAmbient()
+        return getMinHeight(mContainingNotification.isOnAmbient()
                 ? NUMBER_OF_CHILDREN_WHEN_AMBIENT
                 : NUMBER_OF_CHILDREN_WHEN_COLLAPSED, false /* likeHighPriority */);
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
index 1883aa7..9978ec3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
@@ -26,7 +26,6 @@
 import android.animation.TimeAnimator;
 import android.animation.ValueAnimator;
 import android.animation.ValueAnimator.AnimatorUpdateListener;
-import android.annotation.FloatRange;
 import android.annotation.Nullable;
 import android.app.WallpaperManager;
 import android.content.Context;
@@ -88,7 +87,6 @@
 import com.android.systemui.colorextraction.SysuiColorExtractor;
 import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
 import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin.MenuItem;
-import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin.OnMenuEventListener;
 import com.android.systemui.plugins.statusbar.NotificationSwipeActionHelper;
 import com.android.systemui.statusbar.CommandQueue;
 import com.android.systemui.statusbar.DragDownHelper.DragDownCallback;
@@ -110,11 +108,14 @@
 import com.android.systemui.statusbar.notification.row.NotificationGuts;
 import com.android.systemui.statusbar.notification.logging.NotificationLogger;
 import com.android.systemui.statusbar.NotificationShelf;
+import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
 import com.android.systemui.statusbar.notification.row.NotificationSnooze;
 import com.android.systemui.statusbar.notification.row.StackScrollerDecorView;
 import com.android.systemui.statusbar.StatusBarStateController;
 import com.android.systemui.statusbar.notification.FakeShadowView;
 import com.android.systemui.statusbar.notification.NotificationUtils;
+import com.android.systemui.statusbar.notification.ShadeViewRefactor;
+import com.android.systemui.statusbar.notification.ShadeViewRefactor.RefactorComponent;
 import com.android.systemui.statusbar.notification.VisibilityLocationProvider;
 import com.android.systemui.statusbar.phone.DozeParameters;
 import com.android.systemui.statusbar.phone.HeadsUpAppearanceController;
@@ -145,11 +146,9 @@
  * A layout which handles a dynamic amount of notifications and presents them in a scrollable stack.
  */
 public class NotificationStackScrollLayout extends ViewGroup
-        implements Callback, ExpandHelper.Callback, ScrollAdapter,
-        OnHeightChangedListener, OnGroupChangeListener,
-        OnMenuEventListener, VisibilityLocationProvider,
-        NotificationListContainer, ConfigurationListener, DragDownCallback, AnimationStateHandler,
-        Dumpable {
+        implements ExpandHelper.Callback, ScrollAdapter, OnHeightChangedListener,
+        OnGroupChangeListener, VisibilityLocationProvider, NotificationListContainer,
+        ConfigurationListener, DragDownCallback, AnimationStateHandler, Dumpable {
 
     public static final float BACKGROUND_ALPHA_DIMMED = 0.7f;
     private static final String TAG = "StackScroller";
@@ -163,7 +162,7 @@
     private static final int INVALID_POINTER = -1;
 
     private ExpandHelper mExpandHelper;
-    private NotificationSwipeHelper mSwipeHelper;
+    private final NotificationSwipeHelper mSwipeHelper;
     private boolean mSwipingInProgress;
     private int mCurrentStackHeight = Integer.MAX_VALUE;
     private final Paint mBackgroundPaint = new Paint();
@@ -290,10 +289,6 @@
      */
     private int mMaxScrollAfterExpand;
     private ExpandableNotificationRow.LongPressListener mLongPressListener;
-
-    private NotificationMenuRowPlugin mCurrMenuRow;
-    private View mTranslatingParentView;
-    private View mMenuExposedView;
     boolean mCheckForLeavebehind;
 
     /**
@@ -465,18 +460,25 @@
     private Interpolator mDarkXInterpolator = Interpolators.FAST_OUT_SLOW_IN;
     private NotificationPanelView mNotificationPanel;
 
+    private final NotificationGutsManager
+            mNotificationGutsManager = Dependency.get(NotificationGutsManager.class);
+
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public NotificationStackScrollLayout(Context context) {
         this(context, null);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public NotificationStackScrollLayout(Context context, AttributeSet attrs) {
         this(context, attrs, 0);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public NotificationStackScrollLayout(Context context, AttributeSet attrs, int defStyleAttr) {
         this(context, attrs, defStyleAttr, 0);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public NotificationStackScrollLayout(Context context, AttributeSet attrs, int defStyleAttr,
             int defStyleRes) {
         super(context, attrs, defStyleAttr, defStyleRes);
@@ -490,7 +492,8 @@
                 minHeight, maxHeight);
         mExpandHelper.setEventSource(this);
         mExpandHelper.setScrollAdapter(this);
-        mSwipeHelper = new NotificationSwipeHelper(SwipeHelper.X, this, getContext());
+        mSwipeHelper = new NotificationSwipeHelper(SwipeHelper.X, new SwipeHelperCallback(),
+                getContext(), new NotificationMenuListener());
         mStackScrollAlgorithm = createStackScrollAlgorithm(context);
         initView(context);
         mFalsingManager = FalsingManager.getInstance(context);
@@ -524,6 +527,7 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     protected void onFinishInflate() {
         super.onFinishInflate();
 
@@ -534,6 +538,7 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void onDensityOrFontScaleChanged() {
         inflateFooterView();
         inflateEmptyShadeView();
@@ -541,6 +546,7 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void onThemeChanged() {
         int which;
         if (mStatusBarState == StatusBarState.KEYGUARD
@@ -557,6 +563,7 @@
     }
 
     @VisibleForTesting
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void updateFooter() {
         boolean showDismissView = mClearAllEnabled && hasActiveClearableNotifications();
         boolean showFooterView = (showDismissView ||
@@ -570,6 +577,7 @@
     /**
      * Return whether there are any clearable notifications
      */
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public boolean hasActiveClearableNotifications() {
         int childCount = getChildCount();
         for (int i = 0; i < childCount; i++) {
@@ -584,7 +592,8 @@
         return false;
     }
 
-    public RemoteInputController.Delegate createDelegate() {
+  @ShadeViewRefactor(RefactorComponent.INPUT)
+  public RemoteInputController.Delegate createDelegate() {
         return new RemoteInputController.Delegate() {
             public void setRemoteInputActive(NotificationData.Entry entry,
                     boolean remoteInputActive) {
@@ -605,13 +614,16 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     protected void onAttachedToWindow() {
         super.onAttachedToWindow();
-        Dependency.get(StatusBarStateController.class).addListener(mStateListener);
+        Dependency.get(StatusBarStateController.class)
+                .addListener(mStateListener, StatusBarStateController.RANK_STACK_SCROLLER);
         Dependency.get(ConfigurationController.class).addCallback(this);
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     protected void onDetachedFromWindow() {
         super.onDetachedFromWindow();
         Dependency.get(StatusBarStateController.class).removeListener(mStateListener);
@@ -619,43 +631,13 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public NotificationSwipeActionHelper getSwipeActionHelper() {
         return mSwipeHelper;
     }
 
     @Override
-    public void onMenuClicked(View view, int x, int y, MenuItem item) {
-        if (mLongPressListener == null) {
-            return;
-        }
-        if (view instanceof ExpandableNotificationRow) {
-            ExpandableNotificationRow row = (ExpandableNotificationRow) view;
-            MetricsLogger.action(mContext, MetricsEvent.ACTION_TOUCH_GEAR,
-                    row.getStatusBarNotification().getPackageName());
-        }
-        mLongPressListener.onLongPress(view, x, y, item);
-    }
-
-    @Override
-    public void onMenuReset(View row) {
-        if (mTranslatingParentView != null && row == mTranslatingParentView) {
-            mMenuExposedView = null;
-            mTranslatingParentView = null;
-        }
-    }
-
-    @Override
-    public void onMenuShown(View row) {
-        mMenuExposedView = mTranslatingParentView;
-        if (row instanceof ExpandableNotificationRow) {
-            MetricsLogger.action(mContext, MetricsEvent.ACTION_REVEAL_GEAR,
-                    ((ExpandableNotificationRow) row).getStatusBarNotification()
-                            .getPackageName());
-        }
-        mSwipeHelper.onMenuShown(row);
-    }
-
-    @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void onUiModeChanged() {
         mBgColor = mContext.getColor(R.color.notification_shade_background_color);
         updateBackgroundDimming();
@@ -670,6 +652,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.DECORATOR)
     protected void onDraw(Canvas canvas) {
         if (mShouldDrawNotificationBackground
                 && (mCurrentBounds.top < mCurrentBounds.bottom || mAmbientState.isDark())) {
@@ -686,6 +669,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.DECORATOR)
     private void drawBackground(Canvas canvas) {
         final int lockScreenLeft = mSidePaddings;
         final int lockScreenRight = getWidth() - mSidePaddings;
@@ -729,6 +713,7 @@
         updateClipping();
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private void updateBackgroundDimming() {
         // No need to update the background color if it's not being drawn.
         if (!mShouldDrawNotificationBackground) {
@@ -755,6 +740,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private void initView(Context context) {
         mScroller = new OverScroller(getContext());
         setDescendantFocusability(FOCUS_AFTER_DESCENDANTS);
@@ -786,10 +772,12 @@
                 R.dimen.heads_up_status_bar_padding);
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private void notifyHeightChangeListener(ExpandableView view) {
         notifyHeightChangeListener(view, false /* needsAnimation */);
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private void notifyHeightChangeListener(ExpandableView view, boolean needsAnimation) {
         if (mOnHeightChangedListener != null) {
             mOnHeightChangedListener.onHeightChanged(view, needsAnimation);
@@ -797,6 +785,7 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
         super.onMeasure(widthMeasureSpec, heightMeasureSpec);
 
@@ -816,6 +805,7 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     protected void onLayout(boolean changed, int l, int t, int r, int b) {
         // we layout all our children centered on the top
         float centerX = getWidth() / 2.0f;
@@ -838,6 +828,7 @@
         updateAlgorithmLayoutMinHeight();
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void requestAnimationOnViewResize(ExpandableNotificationRow row) {
         if (mAnimationsEnabled && (mIsExpanded || row != null && row.isPinned())) {
             mNeedViewResizeAnimation = true;
@@ -845,18 +836,21 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.ADAPTER)
     public void updateSpeedBumpIndex(int newIndex, boolean noAmbient) {
         mAmbientState.setSpeedBumpIndex(newIndex);
         mNoAmbient = noAmbient;
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void setChildLocationsChangedListener(
             NotificationLogger.OnChildLocationsChangedListener listener) {
         mListener = listener;
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.LAYOUT_ALGORITHM)
     public boolean isInVisibleLocation(ExpandableNotificationRow row) {
         ExpandableViewState childViewState = mCurrentStackScrollState.getViewStateForView(row);
         if (childViewState == null) {
@@ -871,12 +865,14 @@
         return true;
     }
 
+    @ShadeViewRefactor(RefactorComponent.LAYOUT_ALGORITHM)
     private void setMaxLayoutHeight(int maxLayoutHeight) {
         mMaxLayoutHeight = maxLayoutHeight;
         mShelf.setMaxLayoutHeight(maxLayoutHeight);
         updateAlgorithmHeightAndPadding();
     }
 
+    @ShadeViewRefactor(RefactorComponent.LAYOUT_ALGORITHM)
     private void updateAlgorithmHeightAndPadding() {
         mTopPadding = (int) MathUtils.lerp(mRegularTopPadding, mDarkTopPadding,
                 mInterpolatedDarkAmount);
@@ -885,6 +881,7 @@
         mAmbientState.setTopPadding(mTopPadding);
     }
 
+    @ShadeViewRefactor(RefactorComponent.LAYOUT_ALGORITHM)
     private void updateAlgorithmLayoutMinHeight() {
         mAmbientState.setLayoutMinHeight(mQsExpanded || isHeadsUpTransition()
                 ? getLayoutMinHeight() : 0);
@@ -894,6 +891,7 @@
      * Updates the children views according to the stack scroll algorithm. Call this whenever
      * modifications to {@link #mOwnScrollY} are performed to reflect it in the view layout.
      */
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void updateChildren() {
         updateScrollStateForAddedChildren();
         mAmbientState.setCurrentScrollVelocity(mScroller.isFinished()
@@ -908,6 +906,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private void onPreDrawDuringAnimation() {
         mShelf.updateAppearance();
         updateClippingToTopRoundedCorner();
@@ -916,6 +915,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private void updateClippingToTopRoundedCorner() {
         Float clipStart = (float) mTopPadding
                 + mStackTranslation
@@ -938,6 +938,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void updateScrollStateForAddedChildren() {
         if (mChildrenToAddAnimated.isEmpty()) {
             return;
@@ -961,6 +962,7 @@
         clampScrollPosition();
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private void updateForcedScroll() {
         if (mForcedScroll != null && (!mForcedScroll.hasFocus()
                 || !mForcedScroll.isAttachedToWindow())) {
@@ -982,6 +984,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void requestChildrenUpdate() {
         if (!mChildrenUpdateRequested) {
             getViewTreeObserver().addOnPreDrawListener(mChildrenUpdater);
@@ -990,10 +993,12 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private boolean isCurrentlyAnimating() {
         return mStateAnimator.isRunning();
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private void clampScrollPosition() {
         int scrollRange = getScrollRange();
         if (scrollRange < mOwnScrollY) {
@@ -1001,10 +1006,12 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public int getTopPadding() {
         return mTopPadding;
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private void setTopPadding(int topPadding, boolean animate) {
         if (mRegularTopPadding != topPadding) {
             mRegularTopPadding = topPadding;
@@ -1026,6 +1033,7 @@
      *
      * @param height the expanded height of the panel
      */
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public void setExpandedHeight(float height) {
         mExpandedHeight = height;
         setIsExpanded(height > 0);
@@ -1092,6 +1100,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private void setRequestedClipBounds(Rect clipRect) {
         mRequestedClipBounds = clipRect;
         updateClipping();
@@ -1100,10 +1109,12 @@
     /**
      * Return the height of the content ignoring the footer.
      */
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public int getIntrinsicContentHeight() {
         return mIntrinsicContentHeight;
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void updateClipping() {
         boolean animatingClipping = mInterpolatedDarkAmount > 0 && mInterpolatedDarkAmount < 1;
         boolean clipped = mRequestedClipBounds != null && !mInHeadsUpPinnedMode
@@ -1125,6 +1136,7 @@
      * @return The translation at the beginning when expanding.
      * Measured relative to the resting position.
      */
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private float getExpandTranslationStart() {
         return -mTopPadding + getMinExpansionHeight();
     }
@@ -1133,6 +1145,7 @@
      * @return the position from where the appear transition starts when expanding.
      * Measured in absolute height.
      */
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private float getAppearStartPosition() {
         if (isHeadsUpTransition()) {
             return mHeadsUpInset + mFirstVisibleBackgroundChild.getPinnedHeadsUpHeight();
@@ -1145,6 +1158,7 @@
      * intrinsic height, which also includes whether the notification is system expanded and
      * is mainly used when dragging down from a heads up notification.
      */
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private int getTopHeadsUpPinnedHeight() {
         NotificationData.Entry topEntry = mHeadsUpManager.getTopEntry();
         if (topEntry == null) {
@@ -1165,6 +1179,7 @@
      * @return the position from where the appear transition ends when expanding.
      * Measured in absolute height.
      */
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private float getAppearEndPosition() {
         int appearPosition;
         int notGoneChildCount = getNotGoneChildCount();
@@ -1184,6 +1199,7 @@
         return appearPosition + (onKeyguard() ? mTopPadding : mIntrinsicPadding);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private boolean isHeadsUpTransition() {
         return mTrackingHeadsUp && mFirstVisibleBackgroundChild != null
                 && mAmbientState.isAboveShelf(mFirstVisibleBackgroundChild);
@@ -1193,6 +1209,7 @@
      * @param height the height of the panel
      * @return the fraction of the appear animation that has been performed
      */
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public float getAppearFraction(float height) {
         float appearEndPosition = getAppearEndPosition();
         float appearStartPosition = getAppearStartPosition();
@@ -1200,10 +1217,12 @@
                 / (appearEndPosition - appearStartPosition);
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public float getStackTranslation() {
         return mStackTranslation;
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private void setStackTranslation(float stackTranslation) {
         if (stackTranslation != mStackTranslation) {
             mStackTranslation = stackTranslation;
@@ -1218,122 +1237,28 @@
      *
      * @return either the layout height or the externally defined height, whichever is smaller
      */
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private int getLayoutHeight() {
         return Math.min(mMaxLayoutHeight, mCurrentStackHeight);
     }
 
+    @ShadeViewRefactor(RefactorComponent.ADAPTER)
     public int getFirstItemMinHeight() {
         final ExpandableView firstChild = getFirstChildNotGone();
         return firstChild != null ? firstChild.getMinHeight() : mCollapsedSize;
     }
 
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public void setLongPressListener(ExpandableNotificationRow.LongPressListener listener) {
         mLongPressListener = listener;
     }
 
+    @ShadeViewRefactor(RefactorComponent.ADAPTER)
     public void setQsContainer(ViewGroup qsContainer) {
         mQsContainer = qsContainer;
     }
 
-    /**
-     * Handles cleanup after the given {@code view} has been fully swiped out (including
-     * re-invoking dismiss logic in case the notification has not made its way out yet).
-     */
-    @Override
-    public void onChildDismissed(View view) {
-        ExpandableNotificationRow row = (ExpandableNotificationRow) view;
-        if (!row.isDismissed()) {
-            handleChildViewDismissed(view);
-        }
-        ViewGroup transientContainer = row.getTransientContainer();
-        if (transientContainer != null) {
-            transientContainer.removeTransientView(view);
-        }
-    }
-
-    /**
-     * Starts up notification dismiss and tells the notification, if any, to remove itself from
-     * layout.
-     *
-     * @param view view (e.g. notification) to dismiss from the layout
-     */
-    private void handleChildViewDismissed(View view) {
-        if (mDismissAllInProgress) {
-            return;
-        }
-
-        boolean isBlockingHelperShown = false;
-
-        setSwipingInProgress(false);
-        if (mDragAnimPendingChildren.contains(view)) {
-            // We start the swipe and finish it in the same frame; we don't want a drag animation.
-            mDragAnimPendingChildren.remove(view);
-        }
-        mAmbientState.onDragFinished(view);
-        updateContinuousShadowDrawing();
-
-        if (view instanceof ExpandableNotificationRow) {
-            ExpandableNotificationRow row = (ExpandableNotificationRow) view;
-            if (row.isHeadsUp()) {
-                mHeadsUpManager.addSwipedOutNotification(row.getStatusBarNotification().getKey());
-            }
-            isBlockingHelperShown =
-                    row.performDismissWithBlockingHelper(false /* fromAccessibility */);
-        }
-
-        if (!isBlockingHelperShown) {
-            mSwipedOutViews.add(view);
-        }
-        mFalsingManager.onNotificationDismissed();
-        if (mFalsingManager.shouldEnforceBouncer()) {
-            mStatusBar.executeRunnableDismissingKeyguard(
-                    null,
-                    null /* cancelAction */,
-                    false /* dismissShade */,
-                    true /* afterKeyguardGone */,
-                    false /* deferred */);
-        }
-    }
-
-    @Override
-    public void onChildSnappedBack(View animView, float targetLeft) {
-        mAmbientState.onDragFinished(animView);
-        updateContinuousShadowDrawing();
-        if (!mDragAnimPendingChildren.contains(animView)) {
-            if (mAnimationsEnabled) {
-                mSnappedBackChildren.add(animView);
-                mNeedsAnimation = true;
-            }
-            requestChildrenUpdate();
-        } else {
-            // We start the swipe and snap back in the same frame, we don't want any animation
-            mDragAnimPendingChildren.remove(animView);
-        }
-        if (mCurrMenuRow != null && targetLeft == 0) {
-            mCurrMenuRow.resetMenu();
-            mCurrMenuRow = null;
-        }
-    }
-
-    @Override
-    public boolean updateSwipeProgress(View animView, boolean dismissable, float swipeProgress) {
-        // Returning true prevents alpha fading.
-        return !mFadeNotificationsOnDismiss;
-    }
-
-    @Override
-    public void onBeginDrag(View v) {
-        mFalsingManager.onNotificatonStartDismissing();
-        setSwipingInProgress(true);
-        mAmbientState.onBeginDrag(v);
-        updateContinuousShadowDrawing();
-        if (mAnimationsEnabled && (mIsExpanded || !isPinnedHeadsUp(v))) {
-            mDragAnimPendingChildren.add(v);
-            mNeedsAnimation = true;
-        }
-        requestChildrenUpdate();
-    }
-
+    @ShadeViewRefactor(RefactorComponent.ADAPTER)
     public static boolean isPinnedHeadsUp(View v) {
         if (v instanceof ExpandableNotificationRow) {
             ExpandableNotificationRow row = (ExpandableNotificationRow) v;
@@ -1342,6 +1267,7 @@
         return false;
     }
 
+    @ShadeViewRefactor(RefactorComponent.ADAPTER)
     private boolean isHeadsUp(View v) {
         if (v instanceof ExpandableNotificationRow) {
             ExpandableNotificationRow row = (ExpandableNotificationRow) v;
@@ -1350,38 +1276,7 @@
         return false;
     }
 
-    @Override
-    public void onDragCancelled(View v) {
-        mFalsingManager.onNotificatonStopDismissing();
-        setSwipingInProgress(false);
-    }
-
-    @Override
-    public float getFalsingThresholdFactor() {
-        return mStatusBar.isWakeUpComingFromTouch() ? 1.5f : 1.0f;
-    }
-
-    @Override
-    public View getChildAtPosition(MotionEvent ev) {
-        View child = getChildAtPosition(ev.getX(), ev.getY());
-        if (child instanceof ExpandableNotificationRow) {
-            ExpandableNotificationRow row = (ExpandableNotificationRow) child;
-            ExpandableNotificationRow parent = row.getNotificationParent();
-            if (parent != null && parent.areChildrenExpanded()
-                    && (parent.areGutsExposed()
-                    || mMenuExposedView == parent
-                    || (parent.getNotificationChildren().size() == 1
-                    && parent.isClearable()))) {
-                // In this case the group is expanded and showing the menu for the
-                // group, further interaction should apply to the group, not any
-                // child notifications so we use the parent of the child. We also do the same
-                // if we only have a single child.
-                child = parent;
-            }
-        }
-        return child;
-    }
-
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public ExpandableView getClosestChildAtRawPosition(float touchX, float touchY) {
         getLocationOnScreen(mTempInt2);
         float localTouchY = touchY - mTempInt2[1];
@@ -1412,12 +1307,14 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public ExpandableView getChildAtRawPosition(float touchX, float touchY) {
         getLocationOnScreen(mTempInt2);
         return getChildAtPosition(touchX - mTempInt2[0], touchY - mTempInt2[1]);
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public ExpandableView getChildAtPosition(float touchX, float touchY) {
         return getChildAtPosition(touchX, touchY, true /* requireMinHeight */);
 
@@ -1431,6 +1328,7 @@
      * @param requireMinHeight Whether a minimum height is required for a child to be returned.
      * @return the child at the given location.
      */
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     private ExpandableView getChildAtPosition(float touchX, float touchY,
             boolean requireMinHeight) {
         // find the view under the pointer, accounting for GONE views
@@ -1471,6 +1369,7 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.ADAPTER)
     public boolean canChildBeExpanded(View v) {
         return v instanceof ExpandableNotificationRow
                 && ((ExpandableNotificationRow) v).isExpandable()
@@ -1480,6 +1379,7 @@
 
     /* Only ever called as a consequence of an expansion gesture in the shade. */
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setUserExpandedChild(View v, boolean userExpanded) {
         if (v instanceof ExpandableNotificationRow) {
             ExpandableNotificationRow row = (ExpandableNotificationRow) v;
@@ -1502,6 +1402,7 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setExpansionCancelled(View v) {
         if (v instanceof ExpandableNotificationRow) {
             ((ExpandableNotificationRow) v).setGroupExpansionChanging(false);
@@ -1509,6 +1410,7 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setUserLockedChild(View v, boolean userLocked) {
         if (v instanceof ExpandableNotificationRow) {
             ((ExpandableNotificationRow) v).setUserLocked(userLocked);
@@ -1518,6 +1420,7 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void expansionStateChanged(boolean isExpanding) {
         mExpandingNotification = isExpanding;
         if (!mExpandedInThisMotion) {
@@ -1527,14 +1430,17 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public int getMaxExpandHeight(ExpandableView view) {
         return view.getMaxContentHeight();
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setScrollingEnabled(boolean enable) {
         mScrollingEnabled = enable;
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void lockScrollTo(View v) {
         if (mForcedScroll == v) {
             return;
@@ -1543,6 +1449,7 @@
         scrollTo(v);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public boolean scrollTo(View v) {
         ExpandableView expandableView = (ExpandableView) v;
         int positionInLinearLayout = getPositionInLinearLayout(v);
@@ -1564,6 +1471,7 @@
      * @return the scroll necessary to make the bottom edge of {@param v} align with the top of
      * the IME.
      */
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private int targetScrollForView(ExpandableView v, int positionInLinearLayout) {
         return positionInLinearLayout + v.getIntrinsicHeight() +
                 getImeInset() - getHeight()
@@ -1571,6 +1479,7 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public WindowInsets onApplyWindowInsets(WindowInsets insets) {
         mBottomInset = insets.getSystemWindowInsetBottom();
 
@@ -1588,6 +1497,7 @@
         return insets;
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private Runnable mReclamp = new Runnable() {
         @Override
         public void run() {
@@ -1599,28 +1509,27 @@
         }
     };
 
-    private void setExpandingEnabled(boolean enable) {
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
+    public void setExpandingEnabled(boolean enable) {
         mExpandHelper.setEnabled(enable);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private boolean isScrollingEnabled() {
         return mScrollingEnabled;
     }
 
-    @Override
-    public boolean canChildBeDismissed(View v) {
+    @ShadeViewRefactor(RefactorComponent.ADAPTER)
+    private boolean canChildBeDismissed(View v) {
         return StackScrollAlgorithm.canChildBeDismissed(v);
     }
 
-    @Override
-    public boolean isAntiFalsingNeeded() {
-        return onKeyguard();
-    }
-
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private boolean onKeyguard() {
         return mStatusBarState == StatusBarState.KEYGUARD;
     }
 
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     private void setSwipingInProgress(boolean isSwiped) {
         mSwipingInProgress = isSwiped;
         if (isSwiped) {
@@ -1629,6 +1538,7 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     protected void onConfigurationChanged(Configuration newConfig) {
         super.onConfigurationChanged(newConfig);
         mStatusBarHeight = getResources().getDimensionPixelOffset(R.dimen.status_bar_height);
@@ -1639,12 +1549,14 @@
         initView(getContext());
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void dismissViewAnimated(View child, Runnable endRunnable, int delay, long duration) {
         mSwipeHelper.dismissChild(child, 0, endRunnable, delay, true, duration,
                 true /* isDismissAll */);
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void snapViewIfNeeded(ExpandableNotificationRow child) {
         boolean animate = mIsExpanded || isPinnedHeadsUp(child);
         // If the child is showing the notification menu snap to that
@@ -1653,11 +1565,13 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.ADAPTER)
     public ViewGroup getViewParentForNotification(NotificationData.Entry entry) {
         return this;
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public boolean onTouchEvent(MotionEvent ev) {
         boolean isCancelOrUp = ev.getActionMasked() == MotionEvent.ACTION_CANCEL
                 || ev.getActionMasked() == MotionEvent.ACTION_UP;
@@ -1689,8 +1603,8 @@
         }
 
         // Check if we need to clear any snooze leavebehinds
-        NotificationGuts guts = mStatusBar.getGutsManager().getExposedGuts();
-        if (guts != null && !isTouchInView(ev, guts)
+        NotificationGuts guts = mNotificationGutsManager.getExposedGuts();
+        if (guts != null && !NotificationSwipeHelper.isTouchInView(ev, guts)
                 && guts.getGutsContent() instanceof NotificationSnooze) {
             NotificationSnooze ns = (NotificationSnooze) guts.getGutsContent();
             if ((ns.isExpanded() && isCancelOrUp)
@@ -1706,6 +1620,7 @@
         return horizontalSwipeWantsIt || scrollerWantsIt || expandWantsIt || super.onTouchEvent(ev);
     }
 
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     private void dispatchDownEventToScroller(MotionEvent ev) {
         MotionEvent downEvent = MotionEvent.obtain(ev);
         downEvent.setAction(MotionEvent.ACTION_DOWN);
@@ -1714,6 +1629,7 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public boolean onGenericMotionEvent(MotionEvent event) {
         if (!isScrollingEnabled() || !mIsExpanded || mSwipingInProgress || mExpandingNotification
                 || mDisallowScrollingInThisMotion) {
@@ -1746,6 +1662,7 @@
         return super.onGenericMotionEvent(event);
     }
 
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     private boolean onScrollTouch(MotionEvent ev) {
         if (!isScrollingEnabled()) {
             return false;
@@ -1882,10 +1799,12 @@
         return true;
     }
 
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     protected boolean isInsideQsContainer(MotionEvent ev) {
         return ev.getY() < mQsContainer.getBottom();
     }
 
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     private void onOverScrollFling(boolean open, int initialVelocity) {
         if (mOverscrollTopChangedListener != null) {
             mOverscrollTopChangedListener.flingTopOverscroll(initialVelocity, open);
@@ -1901,6 +1820,7 @@
      * @return The amount of scrolling to be performed by the scroller,
      * not handled by the overScroll amount.
      */
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     private float overScrollUp(int deltaY, int range) {
         deltaY = Math.max(deltaY, 0);
         float currentTopAmount = getCurrentOverScrollAmount(true);
@@ -1934,6 +1854,7 @@
      * @return The amount of scrolling to be performed by the scroller,
      * not handled by the overScroll amount.
      */
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private float overScrollDown(int deltaY) {
         deltaY = Math.min(deltaY, 0);
         float currentBottomAmount = getCurrentOverScrollAmount(false);
@@ -1958,6 +1879,7 @@
         return scrollAmount;
     }
 
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     private void onSecondaryPointerUp(MotionEvent ev) {
         final int pointerIndex = (ev.getAction() & MotionEvent.ACTION_POINTER_INDEX_MASK) >>
                 MotionEvent.ACTION_POINTER_INDEX_SHIFT;
@@ -1975,12 +1897,14 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void initVelocityTrackerIfNotExists() {
         if (mVelocityTracker == null) {
             mVelocityTracker = VelocityTracker.obtain();
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void recycleVelocityTracker() {
         if (mVelocityTracker != null) {
             mVelocityTracker.recycle();
@@ -1988,6 +1912,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void initOrResetVelocityTracker() {
         if (mVelocityTracker == null) {
             mVelocityTracker = VelocityTracker.obtain();
@@ -1996,10 +1921,12 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setFinishScrollingCallback(Runnable runnable) {
         mFinishScrollingCallback = runnable;
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void animateScroll() {
         if (mScroller.computeScrollOffset()) {
             int oldY = mOwnScrollY;
@@ -2030,6 +1957,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private boolean customOverScrollBy(int deltaY, int scrollY, int scrollRangeY,
             int maxOverScrollY) {
 
@@ -2061,6 +1989,7 @@
      * @param onTop     Should the effect be applied on top of the scroller.
      * @param animate   Should an animation be performed.
      */
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void setOverScrolledPixels(float numPixels, boolean onTop, boolean animate) {
         setOverScrollAmount(numPixels * getRubberBandFactor(onTop), onTop, animate, true);
     }
@@ -2073,6 +2002,8 @@
      * @param onTop   Should the effect be applied on top of the scroller.
      * @param animate Should an animation be performed.
      */
+
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void setOverScrollAmount(float amount, boolean onTop, boolean animate) {
         setOverScrollAmount(amount, onTop, animate, true);
     }
@@ -2085,6 +2016,7 @@
      * @param animate         Should an animation be performed.
      * @param cancelAnimators Should running animations be cancelled.
      */
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void setOverScrollAmount(float amount, boolean onTop, boolean animate,
             boolean cancelAnimators) {
         setOverScrollAmount(amount, onTop, animate, cancelAnimators, isRubberbanded(onTop));
@@ -2100,6 +2032,7 @@
      * @param isRubberbanded  The value which will be passed to
      *                        {@link OnOverscrollTopChangedListener#onOverscrollTopChanged}
      */
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void setOverScrollAmount(float amount, boolean onTop, boolean animate,
             boolean cancelAnimators, boolean isRubberbanded) {
         if (cancelAnimators) {
@@ -2108,6 +2041,7 @@
         setOverScrollAmountInternal(amount, onTop, animate, isRubberbanded);
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void setOverScrollAmountInternal(float amount, boolean onTop, boolean animate,
             boolean isRubberbanded) {
         amount = Math.max(0, amount);
@@ -2123,6 +2057,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private void notifyOverscrollTopListener(float amount, boolean isRubberbanded) {
         mExpandHelper.onlyObserveMovements(amount > 1.0f);
         if (mDontReportNextOverScroll) {
@@ -2134,19 +2069,23 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public void setOverscrollTopChangedListener(
             OnOverscrollTopChangedListener overscrollTopChangedListener) {
         mOverscrollTopChangedListener = overscrollTopChangedListener;
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public float getCurrentOverScrollAmount(boolean top) {
         return mAmbientState.getOverScrollAmount(top);
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public float getCurrentOverScrolledPixels(boolean top) {
         return top ? mOverScrolledTopPixels : mOverScrolledBottomPixels;
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private void setOverScrolledPixels(float amount, boolean onTop) {
         if (onTop) {
             mOverScrolledTopPixels = amount;
@@ -2155,6 +2094,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private void onCustomOverScrolled(int scrollY, boolean clampedY) {
         // Treat animating scrolls differently; see #computeScroll() for why.
         if (!mScroller.isFinished()) {
@@ -2174,6 +2114,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void springBack() {
         int scrollRange = getScrollRange();
         boolean overScrolledTop = mOwnScrollY <= 0;
@@ -2197,6 +2138,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private int getScrollRange() {
         // In current design, it only use the top HUN to treat all of HUNs
         // although there are more than one HUNs
@@ -2210,6 +2152,7 @@
         return scrollRange;
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private int getImeInset() {
         return Math.max(0, mBottomInset - (getRootView().getHeight() - getHeight()));
     }
@@ -2217,6 +2160,7 @@
     /**
      * @return the first child which has visibility unequal to GONE
      */
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public ExpandableView getFirstChildNotGone() {
         int childCount = getChildCount();
         for (int i = 0; i < childCount; i++) {
@@ -2231,6 +2175,7 @@
     /**
      * @return the child before the given view which has visibility unequal to GONE
      */
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public ExpandableView getViewBeforeView(ExpandableView view) {
         ExpandableView previousView = null;
         int childCount = getChildCount();
@@ -2250,6 +2195,7 @@
      * @return The first child which has visibility unequal to GONE which is currently below the
      * given translationY or equal to it.
      */
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private View getFirstChildBelowTranlsationY(float translationY, boolean ignoreChildren) {
         int childCount = getChildCount();
         for (int i = 0; i < childCount; i++) {
@@ -2281,6 +2227,7 @@
     /**
      * @return the last child which has visibility unequal to GONE
      */
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public View getLastChildNotGone() {
         int childCount = getChildCount();
         for (int i = childCount - 1; i >= 0; i--) {
@@ -2295,6 +2242,7 @@
     /**
      * @return the number of children which have visibility unequal to GONE
      */
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public int getNotGoneChildCount() {
         int childCount = getChildCount();
         int count = 0;
@@ -2307,6 +2255,7 @@
         return count;
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void updateContentHeight() {
         int height = 0;
         float previousPaddingRequest = mPaddingBetweenElements;
@@ -2380,15 +2329,18 @@
         mAmbientState.setLayoutMaxHeight(mContentHeight);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private boolean isPulsing(NotificationData.Entry entry) {
         return mAmbientState.isPulsing(entry);
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public boolean hasPulsingNotifications() {
         return mPulsing;
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private void updateScrollability() {
         boolean scrollable = !mQsExpanded && getScrollRange() > 0;
         if (scrollable != mScrollable) {
@@ -2398,6 +2350,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private void updateForwardAndBackwardScrollability() {
         boolean forwardScrollable = mScrollable && mOwnScrollY < getScrollRange();
         boolean backwardsScrollable = mScrollable && mOwnScrollY > 0;
@@ -2410,6 +2363,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private void updateBackground() {
         // No need to update the background color if it's not being drawn.
         if (!mShouldDrawNotificationBackground || mAmbientState.isFullyDark()) {
@@ -2437,6 +2391,7 @@
         mAnimateNextBackgroundTop = false;
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void abortBackgroundAnimators() {
         if (mBottomAnimator != null) {
             mBottomAnimator.cancel();
@@ -2446,10 +2401,12 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private boolean areBoundsAnimating() {
         return mBottomAnimator != null || mTopAnimator != null;
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void startBackgroundAnimation() {
         // left and right are always instantly applied
         mCurrentBounds.left = mBackgroundBounds.left;
@@ -2458,6 +2415,7 @@
         startTopAnimation();
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void startTopAnimation() {
         int previousEndValue = mEndAnimationRect.top;
         int newEndValue = mBackgroundBounds.top;
@@ -2506,6 +2464,7 @@
         mTopAnimator = animator;
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void startBottomAnimation() {
         int previousStartValue = mStartAnimationRect.bottom;
         int previousEndValue = mEndAnimationRect.bottom;
@@ -2554,11 +2513,13 @@
         mBottomAnimator = animator;
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private void setBackgroundTop(int top) {
         mCurrentBounds.top = top;
         invalidate();
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setBackgroundBottom(int bottom) {
         mCurrentBounds.bottom = bottom;
         invalidate();
@@ -2567,6 +2528,7 @@
     /**
      * Update the background bounds to the new desired bounds
      */
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private void updateBackgroundBounds() {
         getLocationInWindow(mTempInt2);
         mBackgroundBounds.left = mTempInt2[0] + mSidePaddings;
@@ -2628,6 +2590,7 @@
         mBackgroundBounds.bottom = Math.max(bottom, top);
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private ActivatableNotificationView getFirstPinnedHeadsUp() {
         int childCount = getChildCount();
         for (int i = 0; i < childCount; i++) {
@@ -2643,6 +2606,7 @@
         return null;
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private ActivatableNotificationView getLastChildWithBackground() {
         int childCount = getChildCount();
         for (int i = childCount - 1; i >= 0; i--) {
@@ -2655,6 +2619,7 @@
         return null;
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private ActivatableNotificationView getFirstChildWithBackground() {
         int childCount = getChildCount();
         for (int i = 0; i < childCount; i++) {
@@ -2674,6 +2639,7 @@
      *                  numbers mean that the finger/cursor is moving down the screen,
      *                  which means we want to scroll towards the top.
      */
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     protected void fling(int velocityY) {
         if (getChildCount() > 0) {
             int scrollRange = getScrollRange();
@@ -2711,6 +2677,7 @@
      * @return Whether a fling performed on the top overscroll edge lead to the expanded
      * overScroll view (i.e QS).
      */
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     private boolean shouldOverScrollFling(int initialVelocity) {
         float topOverScroll = getCurrentOverScrollAmount(true);
         return mScrolledToTopOnFirstDown
@@ -2728,6 +2695,7 @@
      * @param ignoreIntrinsicPadding if true, {@link #getIntrinsicPadding()} is ignored and
      *                               {@code qsHeight} is the final top padding
      */
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public void updateTopPadding(float qsHeight, boolean animate,
             boolean ignoreIntrinsicPadding) {
         int topPadding = (int) qsHeight;
@@ -2742,10 +2710,12 @@
         setExpandedHeight(mExpandedHeight);
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public void setMaxTopPadding(int maxTopPadding) {
         mMaxTopPadding = maxTopPadding;
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public int getLayoutMinHeight() {
         if (isHeadsUpTransition()) {
             return getTopHeadsUpPinnedHeight();
@@ -2753,6 +2723,7 @@
         return mShelf.getVisibility() == GONE ? 0 : mShelf.getIntrinsicHeight();
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public int getFirstChildIntrinsicHeight() {
         final ExpandableView firstChild = getFirstChildNotGone();
         int firstChildMinHeight = firstChild != null
@@ -2766,10 +2737,13 @@
         return firstChildMinHeight;
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public float getTopPaddingOverflow() {
         return mTopPaddingOverflow;
     }
 
+
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public int getPeekHeight() {
         final ExpandableView firstChild = getFirstChildNotGone();
         final int firstChildMinHeight = firstChild != null ? firstChild.getCollapsedHeight()
@@ -2781,10 +2755,12 @@
         return mIntrinsicPadding + firstChildMinHeight + shelfHeight;
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private int clampPadding(int desiredPadding) {
         return Math.max(desiredPadding, mIntrinsicPadding);
     }
 
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     private float getRubberBandFactor(boolean onTop) {
         if (!onTop) {
             return RUBBER_BAND_FACTOR_NORMAL;
@@ -2804,11 +2780,13 @@
      * rubberbanded, false if it is technically an overscroll but rather a motion to expand the
      * overscroll view (e.g. expand QS).
      */
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     private boolean isRubberbanded(boolean onTop) {
         return !onTop || mExpandedInThisMotion || mIsExpansionChanging || mPanelTracking
                 || !mScrolledToTopOnFirstDown;
     }
 
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     private void endDrag() {
         setIsBeingDragged(false);
 
@@ -2822,12 +2800,14 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     private void transformTouchEvent(MotionEvent ev, View sourceView, View targetView) {
         ev.offsetLocation(sourceView.getX(), sourceView.getY());
         ev.offsetLocation(-targetView.getX(), -targetView.getY());
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public boolean onInterceptTouchEvent(MotionEvent ev) {
         initDownStates(ev);
         handleEmptySpaceClick(ev);
@@ -2849,11 +2829,11 @@
         }
         // Check if we need to clear any snooze leavebehinds
         boolean isUp = ev.getActionMasked() == MotionEvent.ACTION_UP;
-        NotificationGuts guts = mStatusBar.getGutsManager().getExposedGuts();
-        if (!isTouchInView(ev, guts) && isUp && !swipeWantsIt && !expandWantsIt
-                && !scrollWantsIt) {
+        NotificationGuts guts = mNotificationGutsManager.getExposedGuts();
+        if (!NotificationSwipeHelper.isTouchInView(ev, guts) && isUp && !swipeWantsIt &&
+                !expandWantsIt && !scrollWantsIt) {
             mCheckForLeavebehind = false;
-            mStatusBar.getGutsManager().closeAndSaveGuts(true /* removeLeavebehind */,
+            mNotificationGutsManager.closeAndSaveGuts(true /* removeLeavebehind */,
                     false /* force */, false /* removeControls */, -1 /* x */, -1 /* y */,
                     false /* resetMenu */);
         }
@@ -2863,6 +2843,7 @@
         return swipeWantsIt || scrollWantsIt || expandWantsIt || super.onInterceptTouchEvent(ev);
     }
 
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     private void handleEmptySpaceClick(MotionEvent ev) {
         switch (ev.getActionMasked()) {
             case MotionEvent.ACTION_MOVE:
@@ -2880,6 +2861,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     private void initDownStates(MotionEvent ev) {
         if (ev.getAction() == MotionEvent.ACTION_DOWN) {
             mExpandedInThisMotion = false;
@@ -2892,10 +2874,12 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setChildTransferInProgress(boolean childTransferInProgress) {
         mChildTransferInProgress = childTransferInProgress;
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     @Override
     public void onViewRemoved(View child) {
         super.onViewRemoved(child);
@@ -2906,15 +2890,17 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     @Override
     public void cleanUpViewState(View child) {
-        if (child == mTranslatingParentView) {
-            mTranslatingParentView = null;
+        if (child == mSwipeHelper.getTranslatingParentView()) {
+            mSwipeHelper.clearTranslatingParentView();
         }
         mCurrentStackScrollState.removeViewStateForView(child);
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public void requestDisallowInterceptTouchEvent(boolean disallowIntercept) {
         super.requestDisallowInterceptTouchEvent(disallowIntercept);
         if (disallowIntercept) {
@@ -2922,6 +2908,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private void onViewRemovedInternal(View child, ViewGroup container) {
         if (mChangePositionInProgress) {
             // This is only a position change, don't do anything special
@@ -2946,6 +2933,7 @@
         focusNextViewIfFocused(child);
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void focusNextViewIfFocused(View view) {
         if (view instanceof ExpandableNotificationRow) {
             ExpandableNotificationRow row = (ExpandableNotificationRow) view;
@@ -2965,6 +2953,7 @@
 
     }
 
+    @ShadeViewRefactor(RefactorComponent.ADAPTER)
     private boolean isChildInGroup(View child) {
         return child instanceof ExpandableNotificationRow
                 && mGroupManager.isChildInGroupWithSummary(
@@ -2977,6 +2966,7 @@
      * @param child The view to generate the remove animation for.
      * @return Whether an animation was generated.
      */
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private boolean generateRemoveAnimation(View child) {
         if (removeRemovedChildFromHeadsUpChangeAnimations(child)) {
             mAddedHeadsUpChildren.remove(child);
@@ -3002,6 +2992,7 @@
         return false;
     }
 
+    @ShadeViewRefactor(RefactorComponent.ADAPTER)
     private boolean isClickedHeadsUp(View child) {
         return HeadsUpUtil.isClickedHeadsUpNotification(child);
     }
@@ -3011,6 +3002,7 @@
      *
      * @return whether any child was removed from the list to animate
      */
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private boolean removeRemovedChildFromHeadsUpChangeAnimations(View child) {
         boolean hasAddEvent = false;
         for (Pair<ExpandableNotificationRow, Boolean> eventPair : mHeadsUpChangeAnimations) {
@@ -3035,6 +3027,7 @@
      * @return whether a view is not a top level child but a child notification and that group is
      * not expanded
      */
+    @ShadeViewRefactor(RefactorComponent.ADAPTER)
     private boolean isChildInInvisibleGroup(View child) {
         if (child instanceof ExpandableNotificationRow) {
             ExpandableNotificationRow row = (ExpandableNotificationRow) child;
@@ -3052,6 +3045,7 @@
      *
      * @param removedChild the removed child
      */
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void updateScrollStateForRemovedChild(ExpandableView removedChild) {
         int startingPosition = getPositionInLinearLayout(removedChild);
         float increasedPaddingAmount = removedChild.getIncreasedPaddingAmount();
@@ -3080,6 +3074,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private int getIntrinsicHeight(View view) {
         if (view instanceof ExpandableView) {
             ExpandableView expandableView = (ExpandableView) view;
@@ -3088,6 +3083,7 @@
         return view.getHeight();
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public int getPositionInLinearLayout(View requestedView) {
         ExpandableNotificationRow childInGroup = null;
         ExpandableNotificationRow requestedRow = null;
@@ -3149,11 +3145,13 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void onViewAdded(View child) {
         super.onViewAdded(child);
         onViewAddedInternal(child);
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void updateFirstAndLastBackgroundViews() {
         ActivatableNotificationView firstChild = getFirstChildWithBackground();
         ActivatableNotificationView lastChild = getLastChildWithBackground();
@@ -3172,6 +3170,7 @@
         invalidate();
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private void onViewAddedInternal(View child) {
         updateHideSensitiveForChild(child);
         ((ExpandableView) child).setOnHeightChangedListener(this);
@@ -3180,6 +3179,7 @@
         updateChronometerForChild(child);
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private void updateHideSensitiveForChild(View child) {
         if (child instanceof ExpandableView) {
             ExpandableView expandableView = (ExpandableView) child;
@@ -3188,15 +3188,18 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void notifyGroupChildRemoved(View row, ViewGroup childrenContainer) {
         onViewRemovedInternal(row, childrenContainer);
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void notifyGroupChildAdded(View row) {
         onViewAddedInternal(row);
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void setAnimationsEnabled(boolean animationsEnabled) {
         mAnimationsEnabled = animationsEnabled;
         updateNotificationAnimationStates();
@@ -3207,6 +3210,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void updateNotificationAnimationStates() {
         boolean running = mAnimationsEnabled || hasPulsingNotifications();
         mShelf.setAnimationsEnabled(running);
@@ -3218,18 +3222,21 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void updateAnimationState(View child) {
         updateAnimationState((mAnimationsEnabled || hasPulsingNotifications())
                 && (mIsExpanded || isPinnedHeadsUp(child)), child);
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setExpandingNotification(ExpandableNotificationRow row) {
         mAmbientState.setExpandingNotification(row);
         requestChildrenUpdate();
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.ADAPTER)
     public void bindRow(ExpandableNotificationRow row) {
         row.setHeadsUpAnimatingAwayListener(animatingAway -> {
             mRoundnessManager.onHeadsupAnimatingAwayChanged(row, animatingAway);
@@ -3238,11 +3245,13 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void applyExpandAnimationParams(ExpandAnimationParameters params) {
         mAmbientState.setExpandAnimationTopChange(params == null ? 0 : params.getTopChange());
         requestChildrenUpdate();
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void updateAnimationState(boolean running, View child) {
         if (child instanceof ExpandableNotificationRow) {
             ExpandableNotificationRow row = (ExpandableNotificationRow) child;
@@ -3250,12 +3259,14 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public boolean isAddOrRemoveAnimationPending() {
         return mNeedsAnimation
                 && (!mChildrenToAddAnimated.isEmpty() || !mChildrenToRemoveAnimated.isEmpty());
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void generateAddAnimation(View child, boolean fromMoreCard) {
         if (mIsExpanded && mAnimationsEnabled && !mChangePositionInProgress) {
             // Generate Animations
@@ -3272,6 +3283,7 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void changeViewPosition(View child, int newIndex) {
         int currentIndex = indexOfChild(child);
 
@@ -3303,6 +3315,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void startAnimationToState() {
         if (mNeedsAnimation) {
             generateAllAnimationEvents();
@@ -3322,6 +3335,7 @@
         mGoToFullShadeDelay = 0;
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void generateAllAnimationEvents() {
         generateHeadsUpAnimationEvents();
         generateChildRemovalEvents();
@@ -3341,6 +3355,7 @@
         generatePulsingAnimationEvent();
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void generateHeadsUpAnimationEvents() {
         for (Pair<ExpandableNotificationRow, Boolean> eventPair : mHeadsUpChangeAnimations) {
             ExpandableNotificationRow row = eventPair.first;
@@ -3383,6 +3398,7 @@
         mAddedHeadsUpChildren.clear();
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private boolean shouldHunAppearFromBottom(ExpandableViewState viewState) {
         if (viewState.yTranslation + viewState.height < mAmbientState.getMaxHeadsUpTranslation()) {
             return false;
@@ -3390,6 +3406,7 @@
         return true;
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void generateGroupExpansionEvent() {
         // Generate a group expansion/collapsing event if there is such a group at all
         if (mExpandedGroupView != null) {
@@ -3399,6 +3416,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void generateViewResizeEvent() {
         if (mNeedViewResizeAnimation) {
             boolean hasDisappearAnimation = false;
@@ -3419,6 +3437,7 @@
         mNeedViewResizeAnimation = false;
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void generateSnapBackEvents() {
         for (View child : mSnappedBackChildren) {
             mAnimationEvents.add(new AnimationEvent(child,
@@ -3427,6 +3446,7 @@
         mSnappedBackChildren.clear();
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void generateDragEvents() {
         for (View child : mDragAnimPendingChildren) {
             mAnimationEvents.add(new AnimationEvent(child,
@@ -3435,6 +3455,7 @@
         mDragAnimPendingChildren.clear();
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void generateChildRemovalEvents() {
         for (View child : mChildrenToRemoveAnimated) {
             boolean childWasSwipedOut = mSwipedOutViews.contains(child);
@@ -3476,6 +3497,7 @@
         mChildrenToRemoveAnimated.clear();
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void generatePositionChangeEvents() {
         for (View child : mChildrenChangingPositions) {
             mAnimationEvents.add(new AnimationEvent(child,
@@ -3489,6 +3511,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void generateChildAdditionEvents() {
         for (View child : mChildrenToAddAnimated) {
             if (mFromMoreCardAdditions.contains(child)) {
@@ -3504,6 +3527,7 @@
         mFromMoreCardAdditions.clear();
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void generateTopPaddingEvent() {
         if (mTopPaddingNeedsAnimation) {
             AnimationEvent event;
@@ -3520,6 +3544,7 @@
         mTopPaddingNeedsAnimation = false;
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void generateActivateEvent() {
         if (mActivateNeedsAnimation) {
             mAnimationEvents.add(
@@ -3528,6 +3553,7 @@
         mActivateNeedsAnimation = false;
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void generateAnimateEverythingEvent() {
         if (mEverythingNeedsAnimation) {
             mAnimationEvents.add(
@@ -3536,6 +3562,7 @@
         mEverythingNeedsAnimation = false;
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void generateDimmedEvent() {
         if (mDimmedNeedsAnimation) {
             mAnimationEvents.add(
@@ -3544,6 +3571,7 @@
         mDimmedNeedsAnimation = false;
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void generateHideSensitiveEvent() {
         if (mHideSensitiveNeedsAnimation) {
             mAnimationEvents.add(
@@ -3552,6 +3580,7 @@
         mHideSensitiveNeedsAnimation = false;
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void generateDarkEvent() {
         if (mDarkNeedsAnimation) {
             AnimationEvent ev = new AnimationEvent(null,
@@ -3565,6 +3594,7 @@
         mDarkNeedsAnimation = false;
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void generateGoToFullShadeEvent() {
         if (mGoToFullShadeNeedsAnimation) {
             mAnimationEvents.add(
@@ -3573,6 +3603,7 @@
         mGoToFullShadeNeedsAnimation = false;
     }
 
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     private boolean onInterceptTouchEventScroll(MotionEvent ev) {
         if (!isScrollingEnabled()) {
             return false;
@@ -3682,6 +3713,7 @@
         return mIsBeingDragged;
     }
 
+    @ShadeViewRefactor(RefactorComponent.LAYOUT_ALGORITHM)
     protected StackScrollAlgorithm createStackScrollAlgorithm(Context context) {
         return new StackScrollAlgorithm(context);
     }
@@ -3689,6 +3721,7 @@
     /**
      * @return Whether the specified motion event is actually happening over the content.
      */
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     private boolean isInContentBounds(MotionEvent event) {
         return isInContentBounds(event.getY());
     }
@@ -3696,10 +3729,12 @@
     /**
      * @return Whether a y coordinate is inside the content.
      */
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public boolean isInContentBounds(float y) {
         return y < getHeight() - getEmptyBottomMargin();
     }
 
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     private void setIsBeingDragged(boolean isDragged) {
         mIsBeingDragged = isDragged;
         if (isDragged) {
@@ -3709,6 +3744,7 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void onWindowFocusChanged(boolean hasWindowFocus) {
         super.onWindowFocusChanged(hasWindowFocus);
         if (!hasWindowFocus) {
@@ -3717,6 +3753,7 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void clearChildFocus(View child) {
         super.clearChildFocus(child);
         if (mForcedScroll == child) {
@@ -3724,56 +3761,67 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public void requestDisallowLongPress() {
         cancelLongPress();
     }
 
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public void requestDisallowDismiss() {
         mDisallowDismissInThisMotion = true;
     }
 
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public void cancelLongPress() {
         mSwipeHelper.cancelLongPress();
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public boolean isScrolledToTop() {
         return mOwnScrollY == 0;
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public boolean isScrolledToBottom() {
         return mOwnScrollY >= getScrollRange();
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public View getHostView() {
         return this;
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public int getEmptyBottomMargin() {
         return Math.max(mMaxLayoutHeight - mContentHeight, 0);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void checkSnoozeLeavebehind() {
         if (mCheckForLeavebehind) {
-            mStatusBar.getGutsManager().closeAndSaveGuts(true /* removeLeavebehind */,
+            mNotificationGutsManager.closeAndSaveGuts(true /* removeLeavebehind */,
                     false /* force */, false /* removeControls */, -1 /* x */, -1 /* y */,
                     false /* resetMenu */);
             mCheckForLeavebehind = false;
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void resetCheckSnoozeLeavebehind() {
         mCheckForLeavebehind = true;
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void onExpansionStarted() {
         mIsExpansionChanging = true;
         mAmbientState.setExpansionChanging(true);
         checkSnoozeLeavebehind();
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void onExpansionStopped() {
         mIsExpansionChanging = false;
         resetCheckSnoozeLeavebehind();
@@ -3786,6 +3834,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void clearUserLockedViews() {
         for (int i = 0; i < getChildCount(); i++) {
             ExpandableView child = (ExpandableView) getChildAt(i);
@@ -3796,6 +3845,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void clearTemporaryViews() {
         // lets make sure nothing is transient anymore
         clearTemporaryViewsInGroup(this);
@@ -3808,28 +3858,33 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void clearTemporaryViewsInGroup(ViewGroup viewGroup) {
         while (viewGroup != null && viewGroup.getTransientViewCount() != 0) {
             viewGroup.removeTransientView(viewGroup.getTransientView(0));
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void onPanelTrackingStarted() {
         mPanelTracking = true;
         mAmbientState.setPanelTracking(true);
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void onPanelTrackingStopped() {
         mPanelTracking = false;
         mAmbientState.setPanelTracking(false);
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void resetScrollPosition() {
         mScroller.abortAnimation();
         setOwnScrollY(0);
     }
 
-    private void setIsExpanded(boolean isExpanded) {
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
+    public void setIsExpanded(boolean isExpanded) {
         boolean changed = isExpanded != mIsExpanded;
         mIsExpanded = isExpanded;
         mStackScrollAlgorithm.setIsExpanded(isExpanded);
@@ -3844,6 +3899,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private void updateChronometers() {
         int childCount = getChildCount();
         for (int i = 0; i < childCount; i++) {
@@ -3851,6 +3907,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     private void updateChronometerForChild(View child) {
         if (child instanceof ExpandableNotificationRow) {
             ExpandableNotificationRow row = (ExpandableNotificationRow) child;
@@ -3859,6 +3916,7 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void onHeightChanged(ExpandableView view, boolean needsAnimation) {
         updateContentHeight();
         updateScrollPositionOnExpandInBottom(view);
@@ -3878,11 +3936,13 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void onReset(ExpandableView view) {
         updateAnimationState(view);
         updateChronometerForChild(view);
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void updateScrollPositionOnExpandInBottom(ExpandableView view) {
         if (view instanceof ExpandableNotificationRow && !onKeyguard()) {
             ExpandableNotificationRow row = (ExpandableNotificationRow) view;
@@ -3907,15 +3967,18 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setOnHeightChangedListener(
             ExpandableView.OnHeightChangedListener mOnHeightChangedListener) {
         this.mOnHeightChangedListener = mOnHeightChangedListener;
     }
 
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public void setOnEmptySpaceClickListener(OnEmptySpaceClickListener listener) {
         mOnEmptySpaceClickListener = listener;
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void onChildAnimationFinished() {
         setAnimationRunning(false);
         requestChildrenUpdate();
@@ -3924,6 +3987,7 @@
         clearHeadsUpDisappearRunning();
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void clearHeadsUpDisappearRunning() {
         for (int i = 0; i < getChildCount(); i++) {
             View view = getChildAt(i);
@@ -3939,6 +4003,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void clearTransient() {
         for (ExpandableView view : mClearTransientViewsWhenFinished) {
             StackStateAnimator.removeTransientView(view);
@@ -3946,6 +4011,7 @@
         mClearTransientViewsWhenFinished.clear();
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void runAnimationFinishedRunnables() {
         for (Runnable runnable : mAnimationFinishedRunnables) {
             runnable.run();
@@ -3956,6 +4022,7 @@
     /**
      * See {@link AmbientState#setDimmed}.
      */
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setDimmed(boolean dimmed, boolean animate) {
         dimmed &= onKeyguard();
         mAmbientState.setDimmed(dimmed);
@@ -3970,15 +4037,18 @@
     }
 
     @VisibleForTesting
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     boolean isDimmed() {
         return mAmbientState.isDimmed();
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private void setDimAmount(float dimAmount) {
         mDimAmount = dimAmount;
         updateBackgroundDimming();
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void animateDimmed(boolean dimmed) {
         if (mDimAnimator != null) {
             mDimAnimator.cancel();
@@ -3995,6 +4065,7 @@
         mDimAnimator.start();
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private void setHideSensitive(boolean hideSensitive, boolean animate) {
         if (hideSensitive != mAmbientState.isHideSensitive()) {
             int childCount = getChildCount();
@@ -4015,6 +4086,7 @@
     /**
      * See {@link AmbientState#setActivatedChild}.
      */
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setActivatedChild(ActivatableNotificationView activatedChild) {
         mAmbientState.setActivatedChild(activatedChild);
         if (mAnimationsEnabled) {
@@ -4024,10 +4096,12 @@
         requestChildrenUpdate();
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public ActivatableNotificationView getActivatedChild() {
         return mAmbientState.getActivatedChild();
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void applyCurrentState() {
         mCurrentStackScrollState.apply();
         if (mListener != null) {
@@ -4040,6 +4114,7 @@
         updateClippingToTopRoundedCorner();
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void updateViewShadows() {
         // we need to work around an issue where the shadow would not cast between siblings when
         // their z difference is between 0 and 0.1
@@ -4082,6 +4157,7 @@
      *
      * @param lightTheme True if light theme should be used.
      */
+    @ShadeViewRefactor(RefactorComponent.DECORATOR)
     public void updateDecorViews(boolean lightTheme) {
         if (lightTheme == mUsingLightTheme) {
             return;
@@ -4094,6 +4170,7 @@
         mEmptyShadeView.setTextColor(textColor);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void goToFullShade(long delay) {
         mGoToFullShadeNeedsAnimation = true;
         mGoToFullShadeDelay = delay;
@@ -4101,15 +4178,18 @@
         requestChildrenUpdate();
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void cancelExpandHelper() {
         mExpandHelper.cancel();
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public void setIntrinsicPadding(int intrinsicPadding) {
         mIntrinsicPadding = intrinsicPadding;
         mAmbientState.setIntrinsicPadding(intrinsicPadding);
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public int getIntrinsicPadding() {
         return mIntrinsicPadding;
     }
@@ -4117,11 +4197,13 @@
     /**
      * @return the y position of the first notification
      */
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public float getNotificationsTopY() {
         return mTopPadding + getStackTranslation();
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public boolean shouldDelayChildPressedState() {
         return true;
     }
@@ -4129,6 +4211,7 @@
     /**
      * See {@link AmbientState#setDark}.
      */
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setDark(boolean dark, boolean animate, @Nullable PointF touchWakeUpScreenLocation) {
         if (mAmbientState.isDark() == dark) {
             return;
@@ -4147,10 +4230,12 @@
         notifyHeightChangeListener(mShelf);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private void updatePanelTranslation() {
         setTranslationX(mVerticalPanelTranslation + mAntiBurnInOffsetX * mInterpolatedDarkAmount);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setVerticalPanelTranslation(float verticalPanelTranslation) {
         mVerticalPanelTranslation = verticalPanelTranslation;
         updatePanelTranslation();
@@ -4161,11 +4246,13 @@
      * not {@link #onDraw(Canvas)} is called). This method should be called whenever the
      * {@link #mAmbientState}'s dark mode is toggled.
      */
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private void updateWillNotDraw() {
         boolean willDraw = mShouldDrawNotificationBackground || DEBUG;
         setWillNotDraw(!willDraw);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private void setDarkAmount(float darkAmount) {
         setDarkAmount(darkAmount, darkAmount);
     }
@@ -4179,6 +4266,7 @@
      * @param interpolatedDarkAmount The dark amount that follows the actual interpolation of the
      *                               animation curve.
      */
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setDarkAmount(float linearDarkAmount, float interpolatedDarkAmount) {
         mLinearDarkAmount = linearDarkAmount;
         mInterpolatedDarkAmount = interpolatedDarkAmount;
@@ -4201,6 +4289,7 @@
         requestChildrenUpdate();
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void notifyDarkAnimationStart(boolean dark) {
         // We only swap the scaling factor if we're fully dark or fully awake to avoid
         // interpolation issues when playing with the power button.
@@ -4212,6 +4301,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public long getDarkAnimationDuration(boolean dark) {
         long duration = StackStateAnimator.ANIMATION_DURATION_WAKEUP;
         // Longer animation when sleeping with more than 1 notification
@@ -4221,6 +4311,7 @@
         return duration;
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private int findDarkAnimationOriginIndex(@Nullable PointF screenLocation) {
         if (screenLocation == null || screenLocation.y < mTopPadding) {
             return AnimationEvent.DARK_ANIMATION_ORIGIN_INDEX_ABOVE;
@@ -4236,6 +4327,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private int getNotGoneIndex(View child) {
         int count = getChildCount();
         int notGoneIndex = 0;
@@ -4251,6 +4343,7 @@
         return -1;
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setFooterView(@NonNull FooterView footerView) {
         int index = -1;
         if (mFooterView != null) {
@@ -4261,6 +4354,7 @@
         addView(mFooterView, index);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setEmptyShadeView(EmptyShadeView emptyShadeView) {
         int index = -1;
         if (mEmptyShadeView != null) {
@@ -4271,6 +4365,7 @@
         addView(mEmptyShadeView, index);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void updateEmptyShadeView(boolean visible) {
         mEmptyShadeView.setVisible(visible, mIsExpanded && mAnimationsEnabled);
 
@@ -4282,6 +4377,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void updateFooterView(boolean visible, boolean showDismissView) {
         if (mFooterView == null) {
             return;
@@ -4291,12 +4387,14 @@
         mFooterView.setSecondaryVisible(showDismissView, animate);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setDismissAllInProgress(boolean dismissAllInProgress) {
         mDismissAllInProgress = dismissAllInProgress;
         mAmbientState.setDismissAllInProgress(dismissAllInProgress);
         handleDismissAllClipping();
     }
 
+    @ShadeViewRefactor(RefactorComponent.ADAPTER)
     private void handleDismissAllClipping() {
         final int count = getChildCount();
         boolean previousChildWillBeDismissed = false;
@@ -4314,24 +4412,29 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public boolean isFooterViewNotGone() {
         return mFooterView != null
                 && mFooterView.getVisibility() != View.GONE
                 && !mFooterView.willBeGone();
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public boolean isFooterViewContentVisible() {
         return mFooterView != null && mFooterView.isContentVisible();
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public int getFooterViewHeight() {
         return mFooterView == null ? 0 : mFooterView.getHeight() + mPaddingBetweenElements;
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public int getEmptyShadeViewHeight() {
         return mEmptyShadeView.getHeight();
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public float getBottomMostNotificationBottom() {
         final int count = getChildCount();
         float max = 0;
@@ -4349,15 +4452,18 @@
         return max + getStackTranslation();
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setStatusBar(StatusBar statusBar) {
         this.mStatusBar = statusBar;
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setGroupManager(NotificationGroupManager groupManager) {
         this.mGroupManager = groupManager;
         mGroupManager.setOnGroupChangeListener(this);
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void requestAnimateEverything() {
         if (mIsExpanded && mAnimationsEnabled) {
             mEverythingNeedsAnimation = true;
@@ -4366,6 +4472,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public boolean isBelowLastNotification(float touchX, float touchY) {
         int childCount = getChildCount();
         for (int i = childCount - 1; i >= 0; i--) {
@@ -4397,6 +4504,7 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void onGroupExpansionChanged(ExpandableNotificationRow changedRow, boolean expanded) {
         boolean animated = !mGroupExpandedForMeasure && mAnimationsEnabled
                 && (mIsExpanded || changedRow.isPinned());
@@ -4417,12 +4525,14 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void onGroupCreatedFromChildren(NotificationGroupManager.NotificationGroup group) {
         mStatusBar.requestNotificationUpdate();
     }
 
     /** @hide */
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void onInitializeAccessibilityEventInternal(AccessibilityEvent event) {
         super.onInitializeAccessibilityEventInternal(event);
         event.setScrollable(mScrollable);
@@ -4433,6 +4543,7 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void onInitializeAccessibilityNodeInfoInternal(AccessibilityNodeInfo info) {
         super.onInitializeAccessibilityNodeInfoInternal(info);
         if (mScrollable) {
@@ -4453,6 +4564,7 @@
 
     /** @hide */
     @Override
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public boolean performAccessibilityActionInternal(int action, Bundle arguments) {
         if (super.performAccessibilityActionInternal(action, arguments)) {
             return true;
@@ -4485,10 +4597,12 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void onGroupsChanged() {
         mStatusBar.requestNotificationUpdate();
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public void generateChildOrderChangedEvent() {
         if (mIsExpanded && mAnimationsEnabled) {
             mGenerateChildOrderChangedEvent = true;
@@ -4498,36 +4612,42 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public int getContainerChildCount() {
         return getChildCount();
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public View getContainerChildAt(int i) {
         return getChildAt(i);
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void removeContainerView(View v) {
         removeView(v);
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void addContainerView(View v) {
         addView(v);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void runAfterAnimationFinished(Runnable runnable) {
         mAnimationFinishedRunnables.add(runnable);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setHeadsUpManager(HeadsUpManagerPhone headsUpManager) {
         mHeadsUpManager = headsUpManager;
-        mAmbientState.setHeadsUpManager(headsUpManager);
         mHeadsUpManager.addListener(mRoundnessManager);
         mHeadsUpManager.setAnimationStateHandler(this);
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void generateHeadsUpAnimation(ExpandableNotificationRow row, boolean isHeadsUp) {
         if (mAnimationsEnabled && (isHeadsUp || mHeadsUpGoingAwayAnimationsAllowed)) {
             mHeadsUpChangeAnimations.add(new Pair<>(row, isHeadsUp));
@@ -4539,6 +4659,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setShadeExpanded(boolean shadeExpanded) {
         mAmbientState.setShadeExpanded(shadeExpanded);
         mStateAnimator.setShadeExpanded(shadeExpanded);
@@ -4551,31 +4672,37 @@
      * @param height          the height of the screen
      * @param bottomBarHeight the height of the bar on the bottom
      */
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setHeadsUpBoundaries(int height, int bottomBarHeight) {
         mAmbientState.setMaxHeadsUpTranslation(height - bottomBarHeight);
         mStateAnimator.setHeadsUpAppearHeightBottom(height);
         requestChildrenUpdate();
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setTrackingHeadsUp(ExpandableNotificationRow row) {
         mTrackingHeadsUp = row != null;
         mRoundnessManager.setTrackingHeadsUp(row);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setScrimController(ScrimController scrimController) {
         mScrimController = scrimController;
         mScrimController.setScrimBehindChangeRunnable(this::updateBackgroundDimming);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void forceNoOverlappingRendering(boolean force) {
         mForceNoOverlappingRendering = force;
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public boolean hasOverlappingRendering() {
         return !mForceNoOverlappingRendering && super.hasOverlappingRendering();
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void setAnimationRunning(boolean animationRunning) {
         if (animationRunning != mAnimationRunning) {
             if (animationRunning) {
@@ -4588,10 +4715,12 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public boolean isExpanded() {
         return mIsExpanded;
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setPulsing(boolean pulsing, boolean animated) {
         if (!mPulsing && !pulsing) {
             return;
@@ -4607,6 +4736,7 @@
         mNeedsAnimation |= animated;
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private void generatePulsingAnimationEvent() {
         if (mNeedingPulseAnimation != null) {
             int type = mPulsing ? AnimationEvent.ANIMATION_TYPE_PULSE_APPEAR
@@ -4616,16 +4746,19 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setQsExpanded(boolean qsExpanded) {
         mQsExpanded = qsExpanded;
         updateAlgorithmLayoutMinHeight();
         updateScrollability();
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setQsExpansionFraction(float qsExpansionFraction) {
         mQsExpansionFraction = qsExpansionFraction;
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public void setOwnScrollY(int ownScrollY) {
         if (ownScrollY != mOwnScrollY) {
             // We still want to call the normal scrolled changed for accessibility reasons
@@ -4636,6 +4769,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setShelf(NotificationShelf shelf) {
         int index = -1;
         if (mShelf != null) {
@@ -4649,10 +4783,12 @@
         shelf.bind(mAmbientState, this);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public NotificationShelf getNotificationShelf() {
         return mShelf;
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setMaxDisplayedNotifications(int maxDisplayedNotifications) {
         if (mMaxDisplayedNotifications != maxDisplayedNotifications) {
             mMaxDisplayedNotifications = maxDisplayedNotifications;
@@ -4661,30 +4797,39 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setShouldShowShelfOnly(boolean shouldShowShelfOnly) {
         mShouldShowShelfOnly = shouldShowShelfOnly;
         updateAlgorithmLayoutMinHeight();
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public int getMinExpansionHeight() {
         return mShelf.getIntrinsicHeight() - (mShelf.getIntrinsicHeight() - mStatusBarHeight) / 2;
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setInHeadsUpPinnedMode(boolean inHeadsUpPinnedMode) {
         mInHeadsUpPinnedMode = inHeadsUpPinnedMode;
         updateClipping();
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setHeadsUpAnimatingAway(boolean headsUpAnimatingAway) {
         mHeadsUpAnimatingAway = headsUpAnimatingAway;
         updateClipping();
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private void setStatusBarState(int statusBarState) {
         mStatusBarState = statusBarState;
         mAmbientState.setStatusBarState(statusBarState);
+    }
+
+    private void onStatePostChange() {
         boolean onKeyguard = onKeyguard();
         boolean publicMode = mLockscreenUserManager.isAnyProfilePublicMode();
+
         if (mHeadsUpAppearanceController != null) {
             mHeadsUpAppearanceController.setPublicMode(publicMode);
         }
@@ -4701,12 +4846,16 @@
         updateFooter();
         updateChildren();
         onUpdateRowStates();
+
+        mEntryManager.updateNotifications();
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setExpandingVelocity(float expandingVelocity) {
         mAmbientState.setExpandingVelocity(expandingVelocity);
     }
 
+    @ShadeViewRefactor(RefactorComponent.COORDINATOR)
     public float getOpeningHeight() {
         if (mEmptyShadeView.getVisibility() == GONE) {
             return getMinExpansionHeight();
@@ -4715,29 +4864,34 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setIsFullWidth(boolean isFullWidth) {
         mAmbientState.setPanelFullWidth(isFullWidth);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setUnlockHintRunning(boolean running) {
         mAmbientState.setUnlockHintRunning(running);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setQsCustomizerShowing(boolean isShowing) {
         mAmbientState.setQsCustomizerShowing(isShowing);
         requestChildrenUpdate();
     }
 
-    @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setHeadsUpGoingAwayAnimationsAllowed(boolean headsUpGoingAwayAnimationsAllowed) {
         mHeadsUpGoingAwayAnimationsAllowed = headsUpGoingAwayAnimationsAllowed;
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setAntiBurnInOffsetX(int antiBurnInOffsetX) {
         mAntiBurnInOffsetX = antiBurnInOffsetX;
         updatePanelTranslation();
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
         pw.println(String.format("[%s: pulsing=%s qsCustomizerShowing=%s visibility=%s"
                         + " alpha:%f scrollY:%d maxTopPadding:%d showShelfOnly=%s"
@@ -4755,6 +4909,7 @@
                 mQsExpansionFraction));
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public boolean isFullyDark() {
         return mAmbientState.isFullyDark();
     }
@@ -4765,6 +4920,7 @@
      *
      * @param listener the listener to notify.
      */
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void addOnExpandedHeightListener(BiConsumer<Float, Float> listener) {
         mExpandedHeightListeners.add(listener);
     }
@@ -4772,24 +4928,29 @@
     /**
      * Stop a listener from listening to the expandedHeight.
      */
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void removeOnExpandedHeightListener(BiConsumer<Float, Float> listener) {
         mExpandedHeightListeners.remove(listener);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setHeadsUpAppearanceController(
             HeadsUpAppearanceController headsUpAppearanceController) {
         mHeadsUpAppearanceController = headsUpAppearanceController;
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setIconAreaController(NotificationIconAreaController controller) {
         mIconAreaController = controller;
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void manageNotifications(View v) {
         Intent intent = new Intent(Settings.ACTION_ALL_APPS_NOTIFICATION_SETTINGS);
         mStatusBar.startActivity(intent, true, true, Intent.FLAG_ACTIVITY_SINGLE_TOP);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void clearAllNotifications() {
         // animate-swipe all dismissable notifications, then animate the shade closed
         int numChildren = getChildCount();
@@ -4852,6 +5013,7 @@
         performDismissAllAnimations(viewsToHide);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void performDismissAllAnimations(ArrayList<View> hideAnimatedList) {
         Runnable animationFinishAction = () -> {
             mStatusBar.animateCollapsePanels(CommandQueue.FLAG_EXCLUDE_NONE);
@@ -4884,6 +5046,7 @@
     }
 
     @VisibleForTesting
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     protected void inflateFooterView() {
         FooterView footerView = (FooterView) LayoutInflater.from(mContext).inflate(
                 R.layout.status_bar_notification_footer, this, false);
@@ -4895,6 +5058,7 @@
         setFooterView(footerView);
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     private void inflateEmptyShadeView() {
         EmptyShadeView view = (EmptyShadeView) LayoutInflater.from(mContext).inflate(
                 R.layout.status_bar_no_notifications, this, false);
@@ -4905,6 +5069,7 @@
     /**
      * Updates expanded, dimmed and locked states of notification rows.
      */
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void onUpdateRowStates() {
         changeViewPosition(mFooterView, -1);
 
@@ -4925,6 +5090,7 @@
         mScrimController.setNotificationCount(getNotGoneChildCount());
     }
 
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void setNotificationPanel(NotificationPanelView notificationPanelView) {
         mNotificationPanel = notificationPanelView;
     }
@@ -4932,6 +5098,7 @@
     /**
      * A listener that is notified when the empty space below the notifications is clicked on
      */
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public interface OnEmptySpaceClickListener {
         void onEmptySpaceClicked(float x, float y);
     }
@@ -4939,225 +5106,31 @@
     /**
      * A listener that gets notified when the overscroll at the top has changed.
      */
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public interface OnOverscrollTopChangedListener {
 
-        /**
-         * Notifies a listener that the overscroll has changed.
-         *
-         * @param amount         the amount of overscroll, in pixels
-         * @param isRubberbanded if true, this is a rubberbanded overscroll; if false, this is an
-         *                       unrubberbanded motion to directly expand overscroll view (e.g
-         *                       expand
-         *                       QS)
-         */
-        void onOverscrollTopChanged(float amount, boolean isRubberbanded);
+    /**
+     * Notifies a listener that the overscroll has changed.
+     *
+     * @param amount         the amount of overscroll, in pixels
+     * @param isRubberbanded if true, this is a rubberbanded overscroll; if false, this is an
+     *                       unrubberbanded motion to directly expand overscroll view (e.g
+     *                       expand
+     *                       QS)
+     */
+    void onOverscrollTopChanged(float amount, boolean isRubberbanded);
 
-        /**
-         * Notify a listener that the scroller wants to escape from the scrolling motion and
-         * start a fling animation to the expanded or collapsed overscroll view (e.g expand the QS)
-         *
-         * @param velocity The velocity that the Scroller had when over flinging
-         * @param open     Should the fling open or close the overscroll view.
-         */
-        void flingTopOverscroll(float velocity, boolean open);
-    }
+    /**
+     * Notify a listener that the scroller wants to escape from the scrolling motion and
+     * start a fling animation to the expanded or collapsed overscroll view (e.g expand the QS)
+     *
+     * @param velocity The velocity that the Scroller had when over flinging
+     * @param open     Should the fling open or close the overscroll view.
+     */
+    void flingTopOverscroll(float velocity, boolean open);
+  }
 
-    private class NotificationSwipeHelper extends SwipeHelper
-            implements NotificationSwipeActionHelper {
-        private static final long COVER_MENU_DELAY = 4000;
-        private Runnable mFalsingCheck;
-        private Handler mHandler;
-
-        public NotificationSwipeHelper(int swipeDirection, Callback callback, Context context) {
-            super(swipeDirection, callback, context);
-            mHandler = new Handler();
-            mFalsingCheck = new Runnable() {
-                @Override
-                public void run() {
-                    resetExposedMenuView(true /* animate */, true /* force */);
-                }
-            };
-        }
-
-        @Override
-        public void onDownUpdate(View currView, MotionEvent ev) {
-            mTranslatingParentView = currView;
-            if (mCurrMenuRow != null) {
-                mCurrMenuRow.onTouchEvent(currView, ev, 0 /* velocity */);
-            }
-            mCurrMenuRow = null;
-            mHandler.removeCallbacks(mFalsingCheck);
-
-            // Slide back any notifications that might be showing a menu
-            resetExposedMenuView(true /* animate */, false /* force */);
-
-            if (currView instanceof ExpandableNotificationRow) {
-                ExpandableNotificationRow row = (ExpandableNotificationRow) currView;
-
-                if (row.getEntry().hasFinishedInitialization()) {
-                    mCurrMenuRow = row.createMenu();
-                    mCurrMenuRow.setSwipeActionHelper(NotificationSwipeHelper.this);
-                    mCurrMenuRow.setMenuClickListener(NotificationStackScrollLayout.this);
-                    mCurrMenuRow.onTouchEvent(currView, ev, 0 /* velocity */);
-                }
-            }
-        }
-
-        @Override
-        public void onMoveUpdate(View view, MotionEvent ev, float translation, float delta) {
-            mHandler.removeCallbacks(mFalsingCheck);
-            if (mCurrMenuRow != null) {
-                mCurrMenuRow.onTouchEvent(view, ev, 0 /* velocity */);
-            }
-        }
-
-        @Override
-        public boolean handleUpEvent(MotionEvent ev, View animView, float velocity,
-                float translation) {
-            if (mCurrMenuRow != null) {
-                return mCurrMenuRow.onTouchEvent(animView, ev, velocity);
-            }
-            return false;
-        }
-
-        @Override
-        public void dismissChild(final View view, float velocity,
-                boolean useAccelerateInterpolator) {
-            super.dismissChild(view, velocity, useAccelerateInterpolator);
-            if (mIsExpanded) {
-                // We don't want to quick-dismiss when it's a heads up as this might lead to closing
-                // of the panel early.
-                handleChildViewDismissed(view);
-            }
-            mStatusBar.getGutsManager().closeAndSaveGuts(true /* removeLeavebehind */,
-                    false /* force */, false /* removeControls */, -1 /* x */, -1 /* y */,
-                    false /* resetMenu */);
-            handleMenuCoveredOrDismissed();
-        }
-
-        @Override
-        public void snapChild(final View animView, final float targetLeft, float velocity) {
-            super.snapChild(animView, targetLeft, velocity);
-            onDragCancelled(animView);
-            if (targetLeft == 0) {
-                handleMenuCoveredOrDismissed();
-            }
-        }
-
-        @Override
-        public void snooze(StatusBarNotification sbn, SnoozeOption snoozeOption) {
-            mStatusBar.setNotificationSnoozed(sbn, snoozeOption);
-        }
-
-        public boolean isFalseGesture(MotionEvent ev) {
-            return super.isFalseGesture(ev);
-        }
-
-        private void handleMenuCoveredOrDismissed() {
-            if (mMenuExposedView != null && mMenuExposedView == mTranslatingParentView) {
-                mMenuExposedView = null;
-            }
-        }
-
-        @Override
-        public Animator getViewTranslationAnimator(View v, float target,
-                AnimatorUpdateListener listener) {
-            if (v instanceof ExpandableNotificationRow) {
-                return ((ExpandableNotificationRow) v).getTranslateViewAnimator(target, listener);
-            } else {
-                return super.getViewTranslationAnimator(v, target, listener);
-            }
-        }
-
-        @Override
-        public void setTranslation(View v, float translate) {
-            ((ExpandableView) v).setTranslation(translate);
-        }
-
-        @Override
-        public float getTranslation(View v) {
-            return ((ExpandableView) v).getTranslation();
-        }
-
-        @Override
-        public void dismiss(View animView, float velocity) {
-            dismissChild(animView, velocity,
-                    !swipedFastEnough(0, 0) /* useAccelerateInterpolator */);
-        }
-
-        @Override
-        public void snap(View animView, float targetLeft, float velocity) {
-            snapChild(animView, targetLeft, velocity);
-        }
-
-        @Override
-        public boolean swipedFarEnough(float translation, float viewSize) {
-            return swipedFarEnough();
-        }
-
-        @Override
-        public boolean swipedFastEnough(float translation, float velocity) {
-            return swipedFastEnough();
-        }
-
-        @Override
-        public float getMinDismissVelocity() {
-            return getEscapeVelocity();
-        }
-
-        public void onMenuShown(View animView) {
-            onDragCancelled(animView);
-
-            // If we're on the lockscreen we want to false this.
-            if (isAntiFalsingNeeded()) {
-                mHandler.removeCallbacks(mFalsingCheck);
-                mHandler.postDelayed(mFalsingCheck, COVER_MENU_DELAY);
-            }
-        }
-
-        public void closeControlsIfOutsideTouch(MotionEvent ev) {
-            NotificationGuts guts = mStatusBar.getGutsManager().getExposedGuts();
-            View view = null;
-            if (guts != null && !guts.getGutsContent().isLeavebehind()) {
-                // Only close visible guts if they're not a leavebehind.
-                view = guts;
-            } else if (mCurrMenuRow != null && mCurrMenuRow.isMenuVisible()
-                    && mTranslatingParentView != null) {
-                // Checking menu
-                view = mTranslatingParentView;
-            }
-            if (view != null && !isTouchInView(ev, view)) {
-                // Touch was outside visible guts / menu notification, close what's visible
-                mStatusBar.getGutsManager().closeAndSaveGuts(false /* removeLeavebehind */,
-                        false /* force */, true /* removeControls */, -1 /* x */, -1 /* y */,
-                        false /* resetMenu */);
-                resetExposedMenuView(true /* animate */, true /* force */);
-            }
-        }
-
-        public void resetExposedMenuView(boolean animate, boolean force) {
-            if (mMenuExposedView == null
-                    || (!force && mMenuExposedView == mTranslatingParentView)) {
-                // If no menu is showing or it's showing for this view we do nothing.
-                return;
-            }
-            final View prevMenuExposedView = mMenuExposedView;
-            if (animate) {
-                Animator anim = getViewTranslationAnimator(prevMenuExposedView,
-                        0 /* leftTarget */, null /* updateListener */);
-                if (anim != null) {
-                    anim.start();
-                }
-            } else if (mMenuExposedView instanceof ExpandableNotificationRow) {
-                ExpandableNotificationRow row = (ExpandableNotificationRow) mMenuExposedView;
-                if (!row.isRemoved()) {
-                    row.resetTranslation();
-                }
-            }
-            mMenuExposedView = null;
-        }
-    }
-
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public boolean hasActiveNotifications() {
         return !mEntryManager.getNotificationData().getActiveNotifications().isEmpty();
     }
@@ -5167,6 +5140,7 @@
 
     /* Only ever called as a consequence of a lockscreen expansion gesture. */
     @Override
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public boolean onDraggedDown(View startingChild, int dragLengthY) {
         if (mStatusBarState == StatusBarState.KEYGUARD
                 && hasActiveNotifications() && (!mStatusBar.isDozing() || mStatusBar.isPulsing())) {
@@ -5189,6 +5163,7 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public void onDragDownReset() {
         setDimmed(true /* dimmed */, true /* animated */);
         resetScrollPosition();
@@ -5196,26 +5171,31 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public void onCrossedThreshold(boolean above) {
         setDimmed(!above /* dimmed */, true /* animate */);
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public void onTouchSlopExceeded() {
         cancelLongPress();
         checkSnoozeLeavebehind();
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public void setEmptyDragAmount(float amount) {
         mNotificationPanel.setEmptyDragAmount(amount);
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public boolean isFalsingCheckNeeded() {
         return mStatusBarState == StatusBarState.KEYGUARD;
     }
 
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public void updateSpeedBumpIndex() {
         int speedBumpIndex = 0;
         int currentIndex = 0;
@@ -5236,23 +5216,7 @@
         updateSpeedBumpIndex(speedBumpIndex, noAmbient);
     }
 
-    private boolean isTouchInView(MotionEvent ev, View view) {
-        if (view == null) {
-            return false;
-        }
-        final int height = (view instanceof ExpandableView)
-                ? ((ExpandableView) view).getActualHeight()
-                : view.getHeight();
-        final int rx = (int) ev.getRawX();
-        final int ry = (int) ev.getRawY();
-        view.getLocationOnScreen(mTempInt2);
-        final int x = mTempInt2[0];
-        final int y = mTempInt2[1];
-        Rect rect = new Rect(x, y, x + view.getWidth(), y + height);
-        boolean ret = rect.contains(rx, ry);
-        return ret;
-    }
-
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private void updateContinuousShadowDrawing() {
         boolean continuousShadowUpdate = mAnimationRunning
                 || !mAmbientState.getDraggedViews().isEmpty();
@@ -5267,14 +5231,36 @@
     }
 
     @Override
+    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void resetExposedMenuView(boolean animate, boolean force) {
         mSwipeHelper.resetExposedMenuView(animate, force);
     }
 
+
+    @ShadeViewRefactor(RefactorComponent.INPUT)
     public void closeControlsIfOutsideTouch(MotionEvent ev) {
-        mSwipeHelper.closeControlsIfOutsideTouch(ev);
+        NotificationGuts guts = mNotificationGutsManager.getExposedGuts();
+        NotificationMenuRowPlugin menuRow = mSwipeHelper.getCurrentMenuRow();
+        View translatingParentView = mSwipeHelper.getTranslatingParentView();
+        View view = null;
+        if (guts != null && !guts.getGutsContent().isLeavebehind()) {
+            // Only close visible guts if they're not a leavebehind.
+            view = guts;
+        } else if (menuRow != null && menuRow.isMenuVisible()
+                && translatingParentView != null) {
+            // Checking menu
+            view = translatingParentView;
+        }
+        if (view != null && !NotificationSwipeHelper.isTouchInView(ev, view)) {
+            // Touch was outside visible guts / menu notification, close what's visible
+            mNotificationGutsManager.closeAndSaveGuts(false /* removeLeavebehind */,
+                    false /* force */, true /* removeControls */, -1 /* x */, -1 /* y */,
+                    false /* resetMenu */);
+            resetExposedMenuView(true /* animate */, true /* force */);
+        }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     static class AnimationEvent {
 
         static AnimationFilter[] FILTERS = new AnimationFilter[]{
@@ -5575,6 +5561,7 @@
         }
     }
 
+    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     private final StateListener mStateListener = new StateListener() {
         @Override
         public void onStatePreChange(int oldState, int newState) {
@@ -5587,5 +5574,223 @@
         public void onStateChanged(int newState) {
             setStatusBarState(newState);
         }
+
+        @Override
+        public void onStatePostChange() {
+          NotificationStackScrollLayout.this.onStatePostChange();
+      }
     };
+
+    class NotificationMenuListener implements NotificationMenuRowPlugin.OnMenuEventListener {
+        @Override
+        @ShadeViewRefactor(RefactorComponent.INPUT)
+        public void onMenuClicked(View view, int x, int y, MenuItem item) {
+            if (mLongPressListener == null) {
+                return;
+            }
+            if (view instanceof ExpandableNotificationRow) {
+                ExpandableNotificationRow row = (ExpandableNotificationRow) view;
+                MetricsLogger.action(mContext, MetricsEvent.ACTION_TOUCH_GEAR,
+                        row.getStatusBarNotification().getPackageName());
+            }
+            mLongPressListener.onLongPress(view, x, y, item);
+        }
+
+        @Override
+        @ShadeViewRefactor(RefactorComponent.INPUT)
+        public void onMenuReset(View row) {
+            View translatingParentView = mSwipeHelper.getTranslatingParentView();
+            if (translatingParentView != null && row == translatingParentView) {
+                mSwipeHelper.clearExposedMenuView();
+                mSwipeHelper.clearTranslatingParentView();
+            }
+        }
+
+        @Override
+        @ShadeViewRefactor(RefactorComponent.INPUT)
+        public void onMenuShown(View row) {
+            if (row instanceof ExpandableNotificationRow) {
+                MetricsLogger.action(mContext, MetricsEvent.ACTION_REVEAL_GEAR,
+                        ((ExpandableNotificationRow) row).getStatusBarNotification()
+                                .getPackageName());
+            }
+            mSwipeHelper.onMenuShown(row);
+        }
+    }
+
+    class SwipeHelperCallback implements NotificationSwipeHelper.NotificationCallback {
+        @Override
+        public void onDismiss() {
+            mNotificationGutsManager.closeAndSaveGuts(true /* removeLeavebehind */,
+                    false /* force */, false /* removeControls */, -1 /* x */, -1 /* y */,
+                    false /* resetMenu */);
+        }
+
+        @Override
+        public void onSnooze(StatusBarNotification sbn,
+                NotificationSwipeActionHelper.SnoozeOption snoozeOption) {
+            mStatusBar.setNotificationSnoozed(sbn, snoozeOption);
+        }
+
+        @Override
+        public boolean isExpanded() {
+            return NotificationStackScrollLayout.this.isExpanded();
+        }
+
+        @Override
+        @ShadeViewRefactor(RefactorComponent.INPUT)
+        public void onDragCancelled(View v) {
+            mFalsingManager.onNotificatonStopDismissing();
+            setSwipingInProgress(false);
+        }
+
+        /**
+         * Handles cleanup after the given {@code view} has been fully swiped out (including
+         * re-invoking dismiss logic in case the notification has not made its way out yet).
+         */
+        @Override
+        @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
+        public void onChildDismissed(View view) {
+            ExpandableNotificationRow row = (ExpandableNotificationRow) view;
+            if (!row.isDismissed()) {
+                handleChildViewDismissed(view);
+            }
+            ViewGroup transientContainer = row.getTransientContainer();
+            if (transientContainer != null) {
+                transientContainer.removeTransientView(view);
+            }
+        }
+
+        /**
+         * Starts up notification dismiss and tells the notification, if any, to remove itself from
+         * layout.
+         *
+         * @param view view (e.g. notification) to dismiss from the layout
+         */
+
+        @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
+        public void handleChildViewDismissed(View view) {
+            if (mDismissAllInProgress) {
+                return;
+            }
+
+            boolean isBlockingHelperShown = false;
+
+            setSwipingInProgress(false);
+            if (mDragAnimPendingChildren.contains(view)) {
+                // We start the swipe and finish it in the same frame; we don't want a drag
+                // animation.
+                mDragAnimPendingChildren.remove(view);
+            }
+            mAmbientState.onDragFinished(view);
+            updateContinuousShadowDrawing();
+
+            if (view instanceof ExpandableNotificationRow) {
+                ExpandableNotificationRow row = (ExpandableNotificationRow) view;
+                if (row.isHeadsUp()) {
+                    mHeadsUpManager.addSwipedOutNotification(
+                            row.getStatusBarNotification().getKey());
+                }
+                isBlockingHelperShown =
+                        row.performDismissWithBlockingHelper(false /* fromAccessibility */);
+            }
+
+            if (!isBlockingHelperShown) {
+                mSwipedOutViews.add(view);
+            }
+            mFalsingManager.onNotificationDismissed();
+            if (mFalsingManager.shouldEnforceBouncer()) {
+                mStatusBar.executeRunnableDismissingKeyguard(
+                        null,
+                        null /* cancelAction */,
+                        false /* dismissShade */,
+                        true /* afterKeyguardGone */,
+                        false /* deferred */);
+            }
+        }
+
+        @Override
+        @ShadeViewRefactor(RefactorComponent.INPUT)
+        public boolean isAntiFalsingNeeded() {
+            return onKeyguard();
+        }
+
+        @Override
+        @ShadeViewRefactor(RefactorComponent.INPUT)
+        public View getChildAtPosition(MotionEvent ev) {
+            View child = NotificationStackScrollLayout.this.getChildAtPosition(ev.getX(),
+                    ev.getY());
+            if (child instanceof ExpandableNotificationRow) {
+                ExpandableNotificationRow row = (ExpandableNotificationRow) child;
+                ExpandableNotificationRow parent = row.getNotificationParent();
+                if (parent != null && parent.areChildrenExpanded()
+                        && (parent.areGutsExposed()
+                        || mSwipeHelper.getExposedMenuView() == parent
+                        || (parent.getNotificationChildren().size() == 1
+                        && parent.isClearable()))) {
+                    // In this case the group is expanded and showing the menu for the
+                    // group, further interaction should apply to the group, not any
+                    // child notifications so we use the parent of the child. We also do the same
+                    // if we only have a single child.
+                    child = parent;
+                }
+            }
+            return child;
+        }
+
+        @Override
+        @ShadeViewRefactor(RefactorComponent.INPUT)
+        public void onBeginDrag(View v) {
+            mFalsingManager.onNotificatonStartDismissing();
+            setSwipingInProgress(true);
+            mAmbientState.onBeginDrag(v);
+            updateContinuousShadowDrawing();
+            if (mAnimationsEnabled && (mIsExpanded || !isPinnedHeadsUp(v))) {
+                mDragAnimPendingChildren.add(v);
+                mNeedsAnimation = true;
+            }
+            requestChildrenUpdate();
+        }
+
+        @Override
+        @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
+        public void onChildSnappedBack(View animView, float targetLeft) {
+            mAmbientState.onDragFinished(animView);
+            updateContinuousShadowDrawing();
+            if (!mDragAnimPendingChildren.contains(animView)) {
+                if (mAnimationsEnabled) {
+                    mSnappedBackChildren.add(animView);
+                    mNeedsAnimation = true;
+                }
+                requestChildrenUpdate();
+            } else {
+                // We start the swipe and snap back in the same frame, we don't want any animation
+                mDragAnimPendingChildren.remove(animView);
+            }
+            NotificationMenuRowPlugin menuRow = mSwipeHelper.getCurrentMenuRow();
+            if (menuRow != null && targetLeft == 0) {
+                menuRow.resetMenu();
+                mSwipeHelper.clearCurrentMenuRow();
+            }
+        }
+
+        @Override
+        @ShadeViewRefactor(RefactorComponent.INPUT)
+        public boolean updateSwipeProgress(View animView, boolean dismissable,
+                float swipeProgress) {
+            // Returning true prevents alpha fading.
+            return !mFadeNotificationsOnDismiss;
+        }
+
+        @Override
+        @ShadeViewRefactor(RefactorComponent.INPUT)
+        public float getFalsingThresholdFactor() {
+            return mStatusBar.isWakeUpComingFromTouch() ? 1.5f : 1.0f;
+        }
+
+        @Override
+        public boolean canChildBeDismissed(View v) {
+            return NotificationStackScrollLayout.this.canChildBeDismissed(v);
+        }
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSwipeHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSwipeHelper.java
new file mode 100644
index 0000000..028957d
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSwipeHelper.java
@@ -0,0 +1,424 @@
+/*
+ * Copyright (C) 2018 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 Licen
+ */
+
+
+package com.android.systemui.statusbar.notification.stack;
+
+import android.animation.Animator;
+import android.animation.ValueAnimator;
+import android.content.Context;
+import android.graphics.Rect;
+import android.os.Handler;
+import android.service.notification.StatusBarNotification;
+import android.util.Log;
+import android.view.MotionEvent;
+import android.view.View;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.systemui.SwipeHelper;
+import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
+import com.android.systemui.plugins.statusbar.NotificationSwipeActionHelper;
+import com.android.systemui.statusbar.notification.ShadeViewRefactor;
+import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
+import com.android.systemui.statusbar.notification.row.ExpandableView;
+
+@ShadeViewRefactor(ShadeViewRefactor.RefactorComponent.INPUT)
+class NotificationSwipeHelper extends SwipeHelper
+        implements NotificationSwipeActionHelper {
+    @VisibleForTesting
+    protected static final long COVER_MENU_DELAY = 4000;
+    private static final String TAG = "NotificationSwipeHelper";
+    private final Runnable mFalsingCheck;
+    private View mTranslatingParentView;
+    private View mMenuExposedView;
+    private final NotificationCallback mCallback;
+    private final NotificationMenuRowPlugin.OnMenuEventListener mMenuListener;
+
+    private static final long SWIPE_MENU_TIMING = 200;
+
+    private NotificationMenuRowPlugin mCurrMenuRow;
+
+    public NotificationSwipeHelper(int swipeDirection, NotificationCallback callback,
+            Context context, NotificationMenuRowPlugin.OnMenuEventListener menuListener) {
+        super(swipeDirection, callback, context);
+        mMenuListener = menuListener;
+        mCallback = callback;
+        mFalsingCheck = new Runnable() {
+            @Override
+            public void run() {
+                resetExposedMenuView(true /* animate */, true /* force */);
+            }
+        };
+    }
+
+    public View getTranslatingParentView() {
+        return mTranslatingParentView;
+    }
+
+    public void clearTranslatingParentView() { setTranslatingParentView(null); }
+
+    @VisibleForTesting
+    protected void setTranslatingParentView(View view) { mTranslatingParentView = view; };
+
+    public void setExposedMenuView(View view) {
+        mMenuExposedView = view;
+    }
+
+    public void clearExposedMenuView() { setExposedMenuView(null); }
+
+    public void clearCurrentMenuRow() { setCurrentMenuRow(null); }
+
+    public View getExposedMenuView() {
+        return mMenuExposedView;
+    }
+
+    public void setCurrentMenuRow(NotificationMenuRowPlugin menuRow) {
+        mCurrMenuRow = menuRow;
+    }
+
+    public NotificationMenuRowPlugin getCurrentMenuRow() {  return mCurrMenuRow; }
+
+    @VisibleForTesting
+    protected Handler getHandler() { return mHandler; }
+
+    @VisibleForTesting
+    protected Runnable getFalsingCheck() { return mFalsingCheck; };
+
+    @Override
+    public void onDownUpdate(View currView, MotionEvent ev) {
+        mTranslatingParentView = currView;
+        NotificationMenuRowPlugin menuRow = getCurrentMenuRow();
+        if (menuRow != null) {
+            menuRow.onTouchStart();
+        }
+        clearCurrentMenuRow();
+        getHandler().removeCallbacks(getFalsingCheck());
+
+        // Slide back any notifications that might be showing a menu
+        resetExposedMenuView(true /* animate */, false /* force */);
+
+        if (currView instanceof ExpandableNotificationRow) {
+            initializeRow((ExpandableNotificationRow) currView);
+        }
+    }
+
+    @VisibleForTesting
+    protected void initializeRow(ExpandableNotificationRow row) {
+        if (row.getEntry().hasFinishedInitialization()) {
+            mCurrMenuRow = row.createMenu();
+            mCurrMenuRow.setMenuClickListener(mMenuListener);
+            mCurrMenuRow.onTouchStart();
+        }
+    }
+
+    private boolean swipedEnoughToShowMenu(NotificationMenuRowPlugin menuRow) {
+        return !swipedFarEnough() && menuRow.isSwipedEnoughToShowMenu();
+    }
+
+    @Override
+    public void onMoveUpdate(View view, MotionEvent ev, float translation, float delta) {
+        getHandler().removeCallbacks(getFalsingCheck());
+        NotificationMenuRowPlugin menuRow = getCurrentMenuRow();
+        if (menuRow != null) {
+            menuRow.onTouchMove(delta);
+        }
+    }
+
+    @Override
+    public boolean handleUpEvent(MotionEvent ev, View animView, float velocity,
+            float translation) {
+        NotificationMenuRowPlugin menuRow = getCurrentMenuRow();
+        if (menuRow != null) {
+            menuRow.onTouchEnd();
+            handleMenuRowSwipe(ev, animView, velocity, menuRow);
+            return true;
+        }
+        return false;
+    }
+
+    @VisibleForTesting
+    protected void handleMenuRowSwipe(MotionEvent ev, View animView, float velocity,
+            NotificationMenuRowPlugin menuRow) {
+        if (!menuRow.shouldShowMenu()) {
+            // If the menu should not be shown, then there is no need to check if the a swipe
+            // should result in a snapping to the menu. As a result, just check if the swipe
+            // was enough to dismiss the notification.
+            if (isDismissGesture(ev)) {
+                dismiss(animView, velocity);
+            } else {
+                snapClosed(animView, velocity);
+                menuRow.onSnapClosed();
+            }
+            return;
+        }
+
+        if (menuRow.isSnappedAndOnSameSide()) {
+            // Menu was snapped to previously and we're on the same side
+            handleSwipeFromSnap(ev, animView, velocity, menuRow);
+        } else {
+            // Menu has not been snapped, or was snapped previously but is now on
+            // the opposite side.
+            handleSwipeFromNonSnap(ev, animView, velocity, menuRow);
+        }
+    }
+
+    private void handleSwipeFromNonSnap(MotionEvent ev, View animView, float velocity,
+            NotificationMenuRowPlugin menuRow) {
+        boolean isDismissGesture = isDismissGesture(ev);
+        final boolean gestureTowardsMenu = menuRow.isTowardsMenu(velocity);
+        final boolean gestureFastEnough = getEscapeVelocity() <= Math.abs(velocity);
+
+        final double timeForGesture = ev.getEventTime() - ev.getDownTime();
+        final boolean showMenuForSlowOnGoing = !menuRow.canBeDismissed()
+                && timeForGesture >= SWIPE_MENU_TIMING;
+
+        if (!isFalseGesture(ev)
+                && (swipedEnoughToShowMenu(menuRow)
+                && (!gestureFastEnough || showMenuForSlowOnGoing))
+                || (gestureTowardsMenu && !isDismissGesture)) {
+            // Menu has not been snapped to previously and this is menu revealing gesture
+            snapOpen(animView, menuRow.getMenuSnapTarget(), velocity);
+            menuRow.onSnapOpen();
+        } else if (isDismissGesture(ev) && !gestureTowardsMenu) {
+            dismiss(animView, velocity);
+            menuRow.onDismiss();
+        } else {
+            snapClosed(animView, velocity);
+            menuRow.onSnapClosed();
+        }
+    }
+
+    private void handleSwipeFromSnap(MotionEvent ev, View animView, float velocity,
+            NotificationMenuRowPlugin menuRow) {
+        boolean isDismissGesture = isDismissGesture(ev);
+
+        final boolean withinSnapMenuThreshold =
+                menuRow.isWithinSnapMenuThreshold();
+
+        if (withinSnapMenuThreshold && !isDismissGesture) {
+            // Haven't moved enough to unsnap from the menu
+            menuRow.onSnapOpen();
+            snapOpen(animView, menuRow.getMenuSnapTarget(), velocity);
+        } else if (isDismissGesture && !menuRow.shouldSnapBack()) {
+            // Only dismiss if we're not moving towards the menu
+            dismiss(animView, velocity);
+            menuRow.onDismiss();
+        } else {
+            snapClosed(animView, velocity);
+            menuRow.onSnapClosed();
+        }
+    }
+
+    @Override
+    public void dismissChild(final View view, float velocity,
+            boolean useAccelerateInterpolator) {
+        superDismissChild(view, velocity, useAccelerateInterpolator);
+        if (mCallback.isExpanded()) {
+            // We don't want to quick-dismiss when it's a heads up as this might lead to closing
+            // of the panel early.
+            mCallback.handleChildViewDismissed(view);
+        }
+        mCallback.onDismiss();
+        handleMenuCoveredOrDismissed();
+    }
+
+    @VisibleForTesting
+    protected void superDismissChild(final View view, float velocity, boolean useAccelerateInterpolator) {
+        super.dismissChild(view, velocity, useAccelerateInterpolator);
+    }
+
+    @VisibleForTesting
+    protected void superSnapChild(final View animView, final float targetLeft, float velocity) {
+        super.snapChild(animView, targetLeft, velocity);
+    }
+
+    @Override
+    public void snapChild(final View animView, final float targetLeft, float velocity) {
+        superSnapChild(animView, targetLeft, velocity);
+        mCallback.onDragCancelled(animView);
+        if (targetLeft == 0) {
+            handleMenuCoveredOrDismissed();
+        }
+    }
+
+    @Override
+    public void snooze(StatusBarNotification sbn, SnoozeOption snoozeOption) {
+        mCallback.onSnooze(sbn, snoozeOption);
+    }
+
+    @VisibleForTesting
+    protected void handleMenuCoveredOrDismissed() {
+        View exposedMenuView = getExposedMenuView();
+        if (exposedMenuView != null && exposedMenuView == mTranslatingParentView) {
+            clearExposedMenuView();
+        }
+    }
+
+    @VisibleForTesting
+    protected Animator superGetViewTranslationAnimator(View v, float target,
+            ValueAnimator.AnimatorUpdateListener listener) {
+        return super.getViewTranslationAnimator(v, target, listener);
+    }
+
+    @Override
+    public Animator getViewTranslationAnimator(View v, float target,
+            ValueAnimator.AnimatorUpdateListener listener) {
+        if (v instanceof ExpandableNotificationRow) {
+            return ((ExpandableNotificationRow) v).getTranslateViewAnimator(target, listener);
+        } else {
+            return superGetViewTranslationAnimator(v, target, listener);
+        }
+    }
+
+    @Override
+    public void setTranslation(View v, float translate) {
+        if (v instanceof ExpandableNotificationRow) {
+            ((ExpandableNotificationRow) v).setTranslation(translate);
+        } else {
+            Log.wtf(TAG, "setTranslation should only be called on an ExpandableNotificationRow.");
+        }
+    }
+
+    @Override
+    public float getTranslation(View v) {
+        if (v instanceof ExpandableNotificationRow) {
+            return ((ExpandableNotificationRow) v).getTranslation();
+        }
+        else {
+            Log.wtf(TAG, "getTranslation should only be called on an ExpandableNotificationRow.");
+            return 0f;
+        }
+    }
+
+    @Override
+    public boolean swipedFastEnough(float translation, float viewSize) {
+        return swipedFastEnough();
+    }
+
+    @Override
+    @VisibleForTesting
+    protected boolean swipedFastEnough() {
+        return super.swipedFastEnough();
+    }
+
+    @Override
+    public boolean swipedFarEnough(float translation, float viewSize) {
+        return swipedFarEnough();
+    }
+
+    @Override
+    @VisibleForTesting
+    protected boolean swipedFarEnough() {
+        return super.swipedFarEnough();
+    }
+
+    @Override
+    public void dismiss(View animView, float velocity) {
+        dismissChild(animView, velocity,
+                !swipedFastEnough() /* useAccelerateInterpolator */);
+    }
+
+    @Override
+    public void snapOpen(View animView, int targetLeft, float velocity) {
+        snapChild(animView, targetLeft, velocity);
+    }
+
+    @VisibleForTesting
+    protected void snapClosed(View animView, float velocity) {
+        snapChild(animView, 0, velocity);
+    }
+
+    @Override
+    @VisibleForTesting
+    protected float getEscapeVelocity() {
+        return super.getEscapeVelocity();
+    }
+
+    @Override
+    public float getMinDismissVelocity() {
+        return getEscapeVelocity();
+    }
+
+    public void onMenuShown(View animView) {
+        setExposedMenuView(getTranslatingParentView());
+        mCallback.onDragCancelled(animView);
+        Handler handler = getHandler();
+
+        // If we're on the lockscreen we want to false this.
+        if (mCallback.isAntiFalsingNeeded()) {
+            handler.removeCallbacks(getFalsingCheck());
+            handler.postDelayed(getFalsingCheck(), COVER_MENU_DELAY);
+        }
+    }
+
+    @VisibleForTesting
+    protected boolean shouldResetMenu(boolean force) {
+        if (mMenuExposedView == null
+                || (!force && mMenuExposedView == mTranslatingParentView)) {
+            // If no menu is showing or it's showing for this view we do nothing.
+            return false;
+        }
+        return true;
+    }
+
+    public void resetExposedMenuView(boolean animate, boolean force) {
+        if (!shouldResetMenu(force)) {
+            return;
+        }
+        final View prevMenuExposedView = getExposedMenuView();
+        if (animate) {
+            Animator anim = getViewTranslationAnimator(prevMenuExposedView,
+                    0 /* leftTarget */, null /* updateListener */);
+            if (anim != null) {
+                anim.start();
+            }
+        } else if (prevMenuExposedView instanceof ExpandableNotificationRow) {
+            ExpandableNotificationRow row = (ExpandableNotificationRow) prevMenuExposedView;
+            if (!row.isRemoved()) {
+                row.resetTranslation();
+            }
+        }
+        clearExposedMenuView();
+    }
+
+    public static boolean isTouchInView(MotionEvent ev, View view) {
+        if (view == null) {
+            return false;
+        }
+        final int height = (view instanceof ExpandableView)
+                ? ((ExpandableView) view).getActualHeight()
+                : view.getHeight();
+        final int rx = (int) ev.getRawX();
+        final int ry = (int) ev.getRawY();
+        int[] temp = new int[2];
+        view.getLocationOnScreen(temp);
+        final int x = temp[0];
+        final int y = temp[1];
+        Rect rect = new Rect(x, y, x + view.getWidth(), y + height);
+        boolean ret = rect.contains(rx, ry);
+        return ret;
+    }
+
+    public interface NotificationCallback extends SwipeHelper.Callback{
+        boolean isExpanded();
+
+        void handleChildViewDismissed(View view);
+
+        void onSnooze(StatusBarNotification sbn, SnoozeOption snoozeOption);
+
+        void onDismiss();
+    }
+}
\ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/BarTransitions.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/BarTransitions.java
index 235ff2b..c32dcea 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/BarTransitions.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/BarTransitions.java
@@ -67,6 +67,10 @@
         mView.setBackground(mBarBackground);
     }
 
+    public void destroy() {
+        // To be overridden
+    }
+
     public int getMode() {
         return mMode;
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ConfigurationControllerImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ConfigurationControllerImpl.kt
index 81b596c..424acfd 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ConfigurationControllerImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ConfigurationControllerImpl.kt
@@ -34,9 +34,11 @@
     private val inCarMode: Boolean
     private var uiMode: Int = 0
     private var localeList: LocaleList? = null
+    private val context: Context
 
     init {
         val currentConfig = context.resources.configuration
+        this.context = context
         fontScale = currentConfig.fontScale
         density = currentConfig.densityDpi
         inCarMode = currentConfig.uiMode and Configuration.UI_MODE_TYPE_MASK ==
@@ -82,6 +84,10 @@
         }
 
         if (uiModeChanged) {
+            // We need to force the style re-evaluation to make sure that it's up to date
+            // and attrs were reloaded.
+            context.theme.applyStyle(context.themeResId, true)
+
             this.uiMode = uiMode
             listeners.filterForEach({ this.listeners.contains(it) }) {
                 it.onUiModeChanged()
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ContextualButton.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ContextualButton.java
new file mode 100644
index 0000000..c7ab27b
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ContextualButton.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.systemui.statusbar.phone;
+
+import android.annotation.DrawableRes;
+import android.annotation.IdRes;
+import android.content.Context;
+import android.view.View;
+import com.android.systemui.statusbar.policy.KeyButtonDrawable;
+import com.android.systemui.statusbar.policy.KeyButtonView;
+
+/**
+ * Simple contextual button that is added to the {@link ContextualButtonGroup}. Extend if need extra
+ * functionality.
+ */
+public class ContextualButton extends ButtonDispatcher {
+
+    protected final @DrawableRes int mIconResId;
+
+    /**
+      * Create a contextual button that will use a {@link KeyButtonView} and
+      * {@link KeyButtonDrawable} get and show the button from xml to its icon drawable.
+      * @param buttonResId the button view from xml layout
+      * @param iconResId icon resource to be used
+      */
+    public ContextualButton(@IdRes int buttonResId, @DrawableRes int iconResId) {
+        super(buttonResId);
+        mIconResId = iconResId;
+    }
+
+    /**
+     * Reload the drawable from resource id, should reapply the previous dark intensity.
+     */
+    public void updateIcon() {
+        final KeyButtonDrawable currentDrawable = getImageDrawable();
+        KeyButtonDrawable drawable = getNewDrawable();
+        if (currentDrawable != null) {
+            drawable.setDarkIntensity(currentDrawable.getDarkIntensity());
+        }
+        setImageDrawable(drawable);
+    }
+
+    @Override
+    public void setVisibility(int visibility) {
+        super.setVisibility(visibility);
+
+        // Stop any active animations if hidden
+        final KeyButtonDrawable currentDrawable = getImageDrawable();
+        if (visibility != View.VISIBLE && currentDrawable != null && currentDrawable.canAnimate()) {
+            currentDrawable.clearAnimationCallbacks();
+            currentDrawable.resetAnimation();
+        }
+    }
+
+    protected KeyButtonDrawable getNewDrawable() {
+        return KeyButtonDrawable.create(getContext().getApplicationContext(), mIconResId,
+                false /* shadow */);
+    }
+
+    /**
+     * This context is from the view that could be stale after rotation or config change. To get
+     * correct resources use getApplicationContext() as well.
+     * @return current view context
+     */
+    protected Context getContext() {
+        return getCurrentView().getContext();
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ContextualButtonGroup.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ContextualButtonGroup.java
new file mode 100644
index 0000000..1b03966
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ContextualButtonGroup.java
@@ -0,0 +1,155 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.systemui.statusbar.phone;
+
+import android.annotation.IdRes;
+import android.annotation.NonNull;
+import android.view.View;
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.List;
+
+public class ContextualButtonGroup extends ButtonDispatcher {
+    private static final int INVALID_INDEX = -1;
+
+    // List of pairs that contains the button and if the button was visible within this group
+    private final List<ButtonData> mButtonData = new ArrayList<>();
+
+    public ContextualButtonGroup(@IdRes int containerId) {
+        super(containerId);
+    }
+
+    /**
+     * Add a contextual button to the group. The order of adding increases in its priority. The
+     * priority is used to determine which button should be visible when setting multiple button's
+     * visibility {@see setButtonVisiblity}.
+     * @param button the button added to the group
+     */
+    public void addButton(@NonNull ContextualButton button) {
+        mButtonData.add(new ButtonData(button));
+    }
+
+    public ContextualButton getContextButton(@IdRes int buttonResId) {
+        int index = getContextButtonIndex(buttonResId);
+        if (index != INVALID_INDEX) {
+            return mButtonData.get(index).button;
+        }
+        return null;
+    }
+
+    public ContextualButton getVisibleContextButton() {
+        for (int i = mButtonData.size() - 1; i >= 0; --i) {
+            if (mButtonData.get(i).markedVisible) {
+                return mButtonData.get(i).button;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Set the visibility of the button by {@param buttonResId} with {@param visible}. Only one
+     * button is shown at a time. The input button will only show up if it has higher priority than
+     * a previous button, otherwise it will be marked as visible and shown later if all higher
+     * priority buttons are invisible. Therefore hiding a button will show the next marked visible
+     * button. This group's view will be visible if at least one button is visible.
+     * @return if the button is visible after operation
+     * @throws RuntimeException if the input id does not match any of the ids in the group
+     */
+    public int setButtonVisiblity(@IdRes int buttonResId, boolean visible) {
+        final int index = getContextButtonIndex(buttonResId);
+        if (index == INVALID_INDEX) {
+            throw new RuntimeException("Cannot find the button id of " + buttonResId
+                    + " in context group");
+        }
+        setVisibility(View.INVISIBLE);
+        mButtonData.get(index).markedVisible = visible;
+
+        // Make all buttons invisible except the first markedVisible button
+        boolean alreadyFoundVisibleButton = false;
+        int i = mButtonData.size() - 1;
+        for (; i >= 0; --i) {
+            final ButtonData buttonData = mButtonData.get(i);
+            if (!alreadyFoundVisibleButton && buttonData.markedVisible) {
+                buttonData.setVisibility(View.VISIBLE);
+                setVisibility(View.VISIBLE);
+                alreadyFoundVisibleButton = true;
+            } else {
+                buttonData.setVisibility(View.INVISIBLE);
+            }
+        }
+        return mButtonData.get(index).button.getVisibility();
+    }
+
+    /**
+     * See if button is group visible. Group visible determines if a button can be visible when
+     * higher priority buttons go invisible.
+     * @param buttonResId the button to see if it is group visible
+     * @return true if button is group visible
+     */
+    public boolean isButtonVisibleWithinGroup(@IdRes int buttonResId) {
+        final int index = getContextButtonIndex(buttonResId);
+        return index != INVALID_INDEX && mButtonData.get(index).markedVisible;
+    }
+
+    /**
+     * Update all the icons that are attached to this group. This will get all the buttons to update
+     * their icons for their buttons.
+     */
+    public void updateIcons() {
+        for (ButtonData data : mButtonData) {
+            data.button.updateIcon();
+        }
+    }
+
+    public void dump(PrintWriter pw) {
+        pw.println("ContextualButtonGroup {");
+        pw.println("      getVisibleContextButton(): " + getVisibleContextButton());
+        pw.println("      isVisible(): " + isVisible());
+        pw.println("      mButtonData [ ");
+        for (int i = mButtonData.size() - 1; i >= 0; --i) {
+            final ButtonData data = mButtonData.get(i);
+            pw.println("            " + i + ": markedVisible=" + data.markedVisible
+                    + " visible=" + data.button.getVisibility()
+                    + " alpha=" + data.button.getAlpha());
+        }
+        pw.println("      ]");
+        pw.println("    }");
+    }
+
+    private int getContextButtonIndex(@IdRes int buttonResId) {
+        for (int i = 0; i < mButtonData.size(); ++i) {
+            if (mButtonData.get(i).button.getId() == buttonResId) {
+                return i;
+            }
+        }
+        return INVALID_INDEX;
+    }
+
+    private final static class ButtonData {
+        ContextualButton button;
+        boolean markedVisible;
+
+        ButtonData(ContextualButton button) {
+            this.button = button;
+            this.markedVisible = false;
+        }
+
+        void setVisibility(int visiblity) {
+            button.setVisibility(visiblity);
+        }
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java
index 0d3ba77..25db4f2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java
@@ -63,9 +63,14 @@
             if (!mDozing) {
                 return;
             }
-            mHandler.postDelayed(mPulseOut, mDozeParameters.getPulseVisibleDuration());
-            mHandler.postDelayed(mPulseOutExtended,
-                    mDozeParameters.getPulseVisibleDurationExtended());
+            // All pulses except notifications should time out on their own.  Pulses due to
+            // notifications should instead be managed externally based off the notification's
+            // lifetime.
+            if (mPulseReason != DozeLog.PULSE_REASON_NOTIFICATION) {
+                mHandler.postDelayed(mPulseOut, mDozeParameters.getPulseVisibleDuration());
+                mHandler.postDelayed(mPulseOutExtended,
+                        mDozeParameters.getPulseVisibleDurationExtended());
+            }
             mFullyPulsing = true;
         }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java
index 4a05989..cfc3271 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java
@@ -177,7 +177,7 @@
             mReleaseOnExpandFinish = false;
         } else {
             for (NotificationData.Entry entry : mEntriesToRemoveAfterExpand) {
-                if (contains(entry.key)) {
+                if (isAlerting(entry.key)) {
                     // Maybe the heads-up was removed already
                     removeAlertEntry(entry.key);
                 }
@@ -345,7 +345,7 @@
     public void onReorderingAllowed() {
         mAnimationStateHandler.setHeadsUpGoingAwayAnimationsAllowed(false);
         for (NotificationData.Entry entry : mEntriesToRemoveWhenReorderingAllowed) {
-            if (contains(entry.key)) {
+            if (isAlerting(entry.key)) {
                 // Maybe the heads-up was removed already
                 removeAlertEntry(entry.key);
             }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
index d89bcda..f667726 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
@@ -19,6 +19,7 @@
 import static android.view.accessibility.AccessibilityNodeInfo.ACTION_CLICK;
 import static android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
 
+import static com.android.systemui.doze.util.BurnInHelperKt.getBurnInOffset;
 import static com.android.systemui.tuner.LockscreenFragment.LOCKSCREEN_LEFT_BUTTON;
 import static com.android.systemui.tuner.LockscreenFragment.LOCKSCREEN_LEFT_UNLOCK;
 import static com.android.systemui.tuner.LockscreenFragment.LOCKSCREEN_RIGHT_BUTTON;
@@ -171,7 +172,6 @@
     private LockscreenGestureLogger mLockscreenGestureLogger = new LockscreenGestureLogger();
     private boolean mDozing;
     private int mIndicationBottomMargin;
-    private int mIndicationBottomMarginAmbient;
     private float mDarkAmount;
     private int mBurnInXOffset;
     private int mBurnInYOffset;
@@ -246,10 +246,8 @@
         mIndicationText = findViewById(R.id.keyguard_indication_text);
         mIndicationBottomMargin = getResources().getDimensionPixelSize(
                 R.dimen.keyguard_indication_margin_bottom);
-        mIndicationBottomMarginAmbient = getResources().getDimensionPixelSize(
-                R.dimen.keyguard_indication_margin_bottom_ambient);
         mBurnInYOffset = getResources().getDimensionPixelSize(
-                R.dimen.charging_indication_burn_in_prevention_offset_y);
+                R.dimen.default_burn_in_prevention_offset);
         updateCameraVisibility();
         mUnlockMethodCache = UnlockMethodCache.getInstance(getContext());
         mUnlockMethodCache.addListener(this);
@@ -320,10 +318,8 @@
         super.onConfigurationChanged(newConfig);
         mIndicationBottomMargin = getResources().getDimensionPixelSize(
                 R.dimen.keyguard_indication_margin_bottom);
-        mIndicationBottomMarginAmbient = getResources().getDimensionPixelSize(
-                R.dimen.keyguard_indication_margin_bottom_ambient);
         mBurnInYOffset = getResources().getDimensionPixelSize(
-                R.dimen.charging_indication_burn_in_prevention_offset_y);
+                R.dimen.default_burn_in_prevention_offset);
         MarginLayoutParams mlp = (MarginLayoutParams) mIndicationArea.getLayoutParams();
         if (mlp.bottomMargin != mIndicationBottomMargin) {
             mlp.bottomMargin = mIndicationBottomMargin;
@@ -567,9 +563,7 @@
             return;
         }
         mDarkAmount = darkAmount;
-        mIndicationArea.setAlpha(MathUtils.lerp(1f, 0.7f, darkAmount));
-        mIndicationArea.setTranslationY(MathUtils.lerp(0,
-                mIndicationBottomMargin - mIndicationBottomMarginAmbient, darkAmount));
+        mIndicationArea.setAlpha(1f - darkAmount);
     }
 
     private static boolean isSuccessfulLaunch(int result) {
@@ -842,10 +836,10 @@
 
     public void dozeTimeTick() {
         if (mDarkAmount == 1) {
-            // Move indication every minute to avoid burn-in
-            int dozeTranslation = mIndicationBottomMargin - mIndicationBottomMarginAmbient;
-            int burnInYOffset = (int) (-mBurnInYOffset + Math.random() * mBurnInYOffset * 2);
-            mIndicationArea.setTranslationY(dozeTranslation + burnInYOffset);
+            // Move views every minute to avoid burn-in
+            int burnInYOffset = getBurnInOffset(mBurnInYOffset * 2, false /* xAxis */)
+                    - mBurnInYOffset;
+            mLockIcon.setTranslationY(burnInYOffset);
         }
     }
 
@@ -854,7 +848,7 @@
             return;
         }
         mBurnInXOffset = burnInXOffset;
-        mIndicationArea.setTranslationX(burnInXOffset);
+        mLockIcon.setTranslationX(burnInXOffset);
     }
 
     private class DefaultLeftButton implements IntentButton {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java
index 042e4ff..33bc164 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java
@@ -16,6 +16,7 @@
 
 package com.android.systemui.statusbar.phone;
 
+import static com.android.systemui.doze.util.BurnInHelperKt.getBurnInOffset;
 import static com.android.systemui.statusbar.notification.NotificationUtils.interpolate;
 
 import android.content.res.Resources;
@@ -30,10 +31,6 @@
  */
 public class KeyguardClockPositionAlgorithm {
 
-    private static final long MILLIS_PER_MINUTES = 1000 * 60;
-    private static final float BURN_IN_PREVENTION_PERIOD_Y = 521;
-    private static final float BURN_IN_PREVENTION_PERIOD_X = 83;
-
     /**
      * How much the clock height influences the shade position.
      * 0 means nothing, 1 means move the shade up by the height of the clock
@@ -228,34 +225,15 @@
     }
 
     private float burnInPreventionOffsetY() {
-        return zigzag(System.currentTimeMillis() / MILLIS_PER_MINUTES,
-                mBurnInPreventionOffsetY * 2,
-                BURN_IN_PREVENTION_PERIOD_Y)
+        return getBurnInOffset(mBurnInPreventionOffsetY * 2, false /* xAxis */)
                 - mBurnInPreventionOffsetY;
     }
 
     private float burnInPreventionOffsetX() {
-        return zigzag(System.currentTimeMillis() / MILLIS_PER_MINUTES,
-                mBurnInPreventionOffsetX * 2,
-                BURN_IN_PREVENTION_PERIOD_X)
+        return getBurnInOffset(mBurnInPreventionOffsetX * 2, true /* xAxis */)
                 - mBurnInPreventionOffsetX;
     }
 
-    /**
-     * Implements a continuous, piecewise linear, periodic zig-zag function
-     *
-     * Can be thought of as a linear approximation of abs(sin(x)))
-     *
-     * @param period period of the function, ie. zigzag(x + period) == zigzag(x)
-     * @param amplitude maximum value of the function
-     * @return a value between 0 and amplitude
-     */
-    private float zigzag(float x, float amplitude, float period) {
-        float xprime = (x % period) / (period / 2);
-        float interpolationAmount = (xprime <= 1) ? xprime : (2 - xprime);
-        return interpolate(0, amplitude, interpolationAmount);
-    }
-
     public static class Result {
 
         /**
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
index 5630da6..7c84df9 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
@@ -17,6 +17,7 @@
 package com.android.systemui.statusbar.phone;
 
 import static com.android.systemui.ScreenDecorations.DisplayCutoutView.boundsFromDirection;
+import static com.android.systemui.doze.util.BurnInHelperKt.getBurnInOffset;
 
 import android.annotation.ColorInt;
 import android.content.Context;
@@ -70,16 +71,18 @@
     private static final int LAYOUT_CUTOUT = 1;
     private static final int LAYOUT_NO_CUTOUT = 2;
 
+    private final Rect mEmptyRect = new Rect(0, 0, 0, 0);
+
     private boolean mShowPercentAvailable;
     private boolean mBatteryCharging;
     private boolean mKeyguardUserSwitcherShowing;
     private boolean mBatteryListening;
 
     private TextView mCarrierLabel;
-    private View mSystemIconsSuperContainer;
     private MultiUserSwitch mMultiUserSwitch;
     private ImageView mMultiUserAvatar;
     private BatteryMeterView mBatteryView;
+    private StatusIconContainer mStatusIconContainer;
 
     private BatteryController mBatteryController;
     private KeyguardUserSwitcher mKeyguardUserSwitcher;
@@ -99,6 +102,18 @@
      */
     private int mCutoutSideNudge = 0;
 
+    /**
+     * How much to move icons to avoid burn in.
+     */
+    private int mBurnInOffset;
+    private int mCurrentBurnInOffsetX;
+    private int mCurrentBurnInOffsetY;
+
+    /**
+     * Ratio representing being in ambient mode or not.
+     */
+    private float mDarkAmount;
+
     public KeyguardStatusBarView(Context context, AttributeSet attrs) {
         super(context, attrs);
     }
@@ -113,6 +128,7 @@
         mBatteryView = mSystemIconsContainer.findViewById(R.id.battery);
         mCutoutSpace = findViewById(R.id.cutout_space_view);
         mStatusIconArea = findViewById(R.id.status_icon_area);
+        mStatusIconContainer = findViewById(R.id.statusIcons);
 
         loadDimens();
         updateUserSwitcher();
@@ -169,6 +185,8 @@
                 R.dimen.system_icons_super_container_avatarless_margin_end);
         mCutoutSideNudge = getResources().getDimensionPixelSize(
                 R.dimen.display_cutout_margin_consumption);
+        mBurnInOffset = getResources().getDimensionPixelSize(
+                R.dimen.default_burn_in_prevention_offset);
         mShowPercentAvailable = getContext().getResources().getBoolean(
                 com.android.internal.R.bool.config_battery_percentage_setting_available);
     }
@@ -440,6 +458,14 @@
     }
 
     public void onThemeChanged() {
+        mBatteryView.setColorsFromContext(mContext);
+        updateIconsAndTextColors();
+        // Reload user avatar
+        ((UserInfoControllerImpl) Dependency.get(UserInfoController.class))
+                .onDensityOrFontScaleChanged();
+    }
+
+    private void updateIconsAndTextColors() {
         @ColorInt int textColor = Utils.getColorAttrDefaultColor(mContext,
                 R.attr.wallpaperTextColor);
         @ColorInt int iconColor = Utils.getColorStateListDefaultColor(mContext,
@@ -448,14 +474,9 @@
         float intensity = textColor == Color.WHITE ? 0 : 1;
         mCarrierLabel.setTextColor(iconColor);
         mIconManager.setTint(iconColor);
-        mBatteryView.setColorsFromContext(mContext);
-        Rect tintArea = new Rect(0, 0, 0, 0);
 
-        applyDarkness(R.id.battery, tintArea, intensity, iconColor);
-        applyDarkness(R.id.clock, tintArea, intensity, iconColor);
-        // Reload user avatar
-        ((UserInfoControllerImpl) Dependency.get(UserInfoController.class))
-                .onDensityOrFontScaleChanged();
+        applyDarkness(R.id.battery, mEmptyRect, intensity * (1f - mDarkAmount), iconColor);
+        applyDarkness(R.id.clock, mEmptyRect, intensity, iconColor);
     }
 
     private void applyDarkness(int id, Rect tintArea, float intensity, int color) {
@@ -475,4 +496,32 @@
             mBatteryView.dump(fd, pw, args);
         }
     }
+
+    public void setDarkAmount(float darkAmount) {
+        mDarkAmount = darkAmount;
+        if (darkAmount == 0) {
+            dozeTimeTick();
+        }
+        updateDozeState();
+    }
+
+    public void dozeTimeTick() {
+        mCurrentBurnInOffsetX = getBurnInOffset(mBurnInOffset, true /* xAxis */);
+        mCurrentBurnInOffsetY = getBurnInOffset(mBurnInOffset, false /* xAxis */);
+        updateDozeState();
+    }
+
+    private void updateDozeState() {
+        float alpha = 1f - mDarkAmount;
+        int visibility = alpha != 0f ? VISIBLE : INVISIBLE;
+        mCarrierLabel.setAlpha(alpha);
+        mCarrierLabel.setVisibility(visibility);
+        mStatusIconContainer.setAlpha(alpha);
+        mStatusIconContainer.setVisibility(visibility);
+
+        mSystemIconsContainer.setTranslationX(-mCurrentBurnInOffsetX * mDarkAmount);
+        mSystemIconsContainer.setTranslationY(mCurrentBurnInOffsetY * mDarkAmount);
+        updateIconsAndTextColors();
+    }
+
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java
index 10b019d..9c579da 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java
@@ -35,6 +35,7 @@
 import android.animation.ObjectAnimator;
 import android.annotation.IdRes;
 import android.annotation.Nullable;
+import android.app.ActivityManager;
 import android.app.ActivityTaskManager;
 import android.app.Fragment;
 import android.app.IActivityManager;
@@ -88,8 +89,8 @@
 import com.android.systemui.fragments.FragmentHostManager;
 import com.android.systemui.fragments.FragmentHostManager.FragmentListener;
 import com.android.systemui.recents.Recents;
-import com.android.systemui.recents.misc.SysUiTaskStackChangeListener;
 import com.android.systemui.shared.system.ActivityManagerWrapper;
+import com.android.systemui.shared.system.TaskStackChangeListener;
 import com.android.systemui.stackdivider.Divider;
 import com.android.systemui.statusbar.CommandQueue;
 import com.android.systemui.statusbar.CommandQueue.Callbacks;
@@ -284,7 +285,7 @@
         mNavigationBarView = (NavigationBarView) view;
 
         mNavigationBarView.setDisabledFlags(mDisabledFlags1);
-        mNavigationBarView.setComponents(mRecents, mDivider, mStatusBar.getPanel());
+        mNavigationBarView.setComponents(mStatusBar.getPanel());
         mNavigationBarView.setOnVerticalChangedListener(this::onVerticalChanged);
         mNavigationBarView.setOnTouchListener(this::onNavigationTouch);
         if (savedInstanceState != null) {
@@ -307,7 +308,10 @@
     @Override
     public void onDestroyView() {
         super.onDestroyView();
-        mNavigationBarView.getLightTransitionsController().destroy(getContext());
+        if (mNavigationBarView != null) {
+            mNavigationBarView.getBarTransitions().destroy();
+            mNavigationBarView.getLightTransitionsController().destroy(getContext());
+        }
         mOverviewProxyService.removeCallback(mOverviewProxyListener);
         getContext().unregisterReceiver(mBroadcastReceiver);
     }
@@ -460,7 +464,7 @@
                 style = rotationCCW ? R.style.RotateButtonCCWStart0 :
                         R.style.RotateButtonCWStart0;
             }
-            mNavigationBarView.updateRotateSuggestionButtonStyle(style, true);
+            mNavigationBarView.updateRotateSuggestionButtonStyle(style);
         }
 
         if (mNavigationBarWindowState != WINDOW_STATE_SHOWING) {
@@ -943,7 +947,7 @@
     private boolean onLongPressRecents() {
         if (mRecents == null || !ActivityTaskManager.supportsMultiWindow(getContext())
                 || !mDivider.getView().getSnapAlgorithm().isSplitScreenFeasible()
-                || Recents.getConfiguration().isLowRamDevice
+                || ActivityManager.isLowRamDeviceStatic()
                 // If we are connected to the overview service, then disable the recents button
                 || mOverviewProxyService.getProxy() != null) {
             return false;
@@ -1107,7 +1111,7 @@
         }
     };
 
-    class TaskStackListenerImpl extends SysUiTaskStackChangeListener {
+    class TaskStackListenerImpl extends TaskStackChangeListener {
         // Invalidate any rotation suggestion on task change or activity orientation change
         // Note: all callbacks happen on main thread
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarGestureHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarGestureHelper.java
deleted file mode 100644
index 8c02e1f..0000000
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarGestureHelper.java
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
- * Copyright (C) 2014 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.
- */
-
-package com.android.systemui.statusbar.phone;
-
-import static android.app.ActivityTaskManager.SPLIT_SCREEN_CREATE_MODE_BOTTOM_OR_RIGHT;
-import static android.app.ActivityTaskManager.SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT;
-import static android.view.WindowManager.DOCKED_INVALID;
-import static android.view.WindowManager.DOCKED_LEFT;
-import static android.view.WindowManager.DOCKED_TOP;
-
-import android.app.ActivityManager;
-import android.content.Context;
-import android.content.res.Resources;
-import android.graphics.Canvas;
-import android.graphics.Rect;
-import android.view.MotionEvent;
-import android.view.VelocityTracker;
-import android.view.View;
-import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-import com.android.internal.policy.DividerSnapAlgorithm.SnapTarget;
-import com.android.systemui.Dependency;
-import com.android.systemui.R;
-import com.android.systemui.RecentsComponent;
-import com.android.systemui.SysUiServiceProvider;
-import com.android.systemui.plugins.statusbar.phone.NavGesture.GestureHelper;
-import com.android.systemui.stackdivider.Divider;
-import com.android.systemui.tuner.TunerService;
-
-/**
- * Class to detect gestures on the navigation bar.
- */
-public class NavigationBarGestureHelper implements TunerService.Tunable, GestureHelper {
-
-    private static final String TAG = "NavBarGestureHelper";
-    private static final String KEY_DOCK_WINDOW_GESTURE = "overview_nav_bar_gesture";
-    /**
-     * When dragging from the navigation bar, we drag in recents.
-     */
-    public static final int DRAG_MODE_NONE = -1;
-
-    /**
-     * When dragging from the navigation bar, we drag in recents.
-     */
-    public static final int DRAG_MODE_RECENTS = 0;
-
-    /**
-     * When dragging from the navigation bar, we drag the divider.
-     */
-    public static final int DRAG_MODE_DIVIDER = 1;
-
-    private RecentsComponent mRecentsComponent;
-    private Divider mDivider;
-    private Context mContext;
-    private NavigationBarView mNavigationBarView;
-    private boolean mIsVertical;
-
-    private final QuickStepController mQuickStepController;
-    private final int mScrollTouchSlop;
-    private final StatusBar mStatusBar;
-    private int mTouchDownX;
-    private int mTouchDownY;
-    private boolean mDownOnRecents;
-    private VelocityTracker mVelocityTracker;
-
-    private boolean mDockWindowEnabled;
-    private boolean mDockWindowTouchSlopExceeded;
-    private int mDragMode;
-
-    public NavigationBarGestureHelper(Context context) {
-        mContext = context;
-        mStatusBar = SysUiServiceProvider.getComponent(context, StatusBar.class);
-        Resources r = context.getResources();
-        mScrollTouchSlop = r.getDimensionPixelSize(R.dimen.navigation_bar_min_swipe_distance);
-        mQuickStepController = new QuickStepController(context);
-        Dependency.get(TunerService.class).addTunable(this, KEY_DOCK_WINDOW_GESTURE);
-    }
-
-    public void destroy() {
-        Dependency.get(TunerService.class).removeTunable(this);
-    }
-
-    public void setComponents(RecentsComponent recentsComponent, Divider divider,
-            NavigationBarView navigationBarView) {
-        mRecentsComponent = recentsComponent;
-        mDivider = divider;
-        mNavigationBarView = navigationBarView;
-        mQuickStepController.setComponents(mNavigationBarView);
-    }
-
-    public void setBarState(boolean isVertical, boolean isRTL) {
-        mIsVertical = isVertical;
-        mQuickStepController.setBarState(isVertical, isRTL);
-    }
-
-    public boolean onInterceptTouchEvent(MotionEvent event) {
-        if (!canHandleGestures()) {
-            return false;
-        }
-        boolean result = mQuickStepController.onInterceptTouchEvent(event);
-        if (mDockWindowEnabled) {
-            result |= interceptDockWindowEvent(event);
-        }
-        return result;
-    }
-
-    public boolean onTouchEvent(MotionEvent event) {
-        if (!canHandleGestures()) {
-            return false;
-        }
-        boolean result = mQuickStepController.onTouchEvent(event);
-        if (mDockWindowEnabled) {
-            result |= handleDockWindowEvent(event);
-        }
-        return result;
-    }
-
-    public void onDraw(Canvas canvas) {
-        mQuickStepController.onDraw(canvas);
-    }
-
-    public void onLayout(boolean changed, int left, int top, int right, int bottom) {
-        mQuickStepController.onLayout(changed, left, top, right, bottom);
-    }
-
-    public void onDarkIntensityChange(float intensity) {
-        mQuickStepController.onDarkIntensityChange(intensity);
-    }
-
-    public void onNavigationButtonLongPress(View v) {
-        mQuickStepController.onNavigationButtonLongPress(v);
-    }
-
-    private boolean interceptDockWindowEvent(MotionEvent event) {
-        switch (event.getActionMasked()) {
-            case MotionEvent.ACTION_DOWN:
-                handleDragActionDownEvent(event);
-                break;
-            case MotionEvent.ACTION_MOVE:
-                return handleDragActionMoveEvent(event);
-            case MotionEvent.ACTION_UP:
-            case MotionEvent.ACTION_CANCEL:
-                handleDragActionUpEvent(event);
-                break;
-        }
-        return false;
-    }
-
-    private boolean handleDockWindowEvent(MotionEvent event) {
-        switch (event.getActionMasked()) {
-            case MotionEvent.ACTION_DOWN:
-                handleDragActionDownEvent(event);
-                break;
-            case MotionEvent.ACTION_MOVE:
-                handleDragActionMoveEvent(event);
-                break;
-            case MotionEvent.ACTION_UP:
-            case MotionEvent.ACTION_CANCEL:
-                handleDragActionUpEvent(event);
-                break;
-        }
-        return true;
-    }
-
-    private void handleDragActionDownEvent(MotionEvent event) {
-        mVelocityTracker = VelocityTracker.obtain();
-        mVelocityTracker.addMovement(event);
-        mDockWindowTouchSlopExceeded = false;
-        mTouchDownX = (int) event.getX();
-        mTouchDownY = (int) event.getY();
-
-        if (mNavigationBarView != null) {
-            View recentsButton = mNavigationBarView.getRecentsButton().getCurrentView();
-            if (recentsButton != null) {
-                mDownOnRecents = mTouchDownX >= recentsButton.getLeft()
-                        && mTouchDownX <= recentsButton.getRight()
-                        && mTouchDownY >= recentsButton.getTop()
-                        && mTouchDownY <= recentsButton.getBottom();
-            } else {
-                mDownOnRecents = false;
-            }
-        }
-    }
-
-    private boolean handleDragActionMoveEvent(MotionEvent event) {
-        mVelocityTracker.addMovement(event);
-        int x = (int) event.getX();
-        int y = (int) event.getY();
-        int xDiff = Math.abs(x - mTouchDownX);
-        int yDiff = Math.abs(y - mTouchDownY);
-        if (mDivider == null || mRecentsComponent == null) {
-            return false;
-        }
-        if (!mDockWindowTouchSlopExceeded) {
-            boolean touchSlopExceeded = !mIsVertical
-                    ? yDiff > mScrollTouchSlop && yDiff > xDiff
-                    : xDiff > mScrollTouchSlop && xDiff > yDiff;
-            if (mDownOnRecents && touchSlopExceeded
-                    && mDivider.getView().getWindowManagerProxy().getDockSide() == DOCKED_INVALID) {
-                Rect initialBounds = null;
-                int dragMode = calculateDragMode();
-                int createMode = SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT;
-                if (dragMode == DRAG_MODE_DIVIDER) {
-                    initialBounds = new Rect();
-                    mDivider.getView().calculateBoundsForPosition(mIsVertical
-                                    ? (int) event.getRawX()
-                                    : (int) event.getRawY(),
-                            mDivider.getView().isHorizontalDivision()
-                                    ? DOCKED_TOP
-                                    : DOCKED_LEFT,
-                            initialBounds);
-                } else if (dragMode == DRAG_MODE_RECENTS && mTouchDownX
-                        < mContext.getResources().getDisplayMetrics().widthPixels / 2) {
-                    createMode = SPLIT_SCREEN_CREATE_MODE_BOTTOM_OR_RIGHT;
-                }
-                boolean docked = mRecentsComponent.splitPrimaryTask(dragMode, createMode,
-                        initialBounds, MetricsEvent.ACTION_WINDOW_DOCK_SWIPE);
-                if (docked) {
-                    mDragMode = dragMode;
-                    if (mDragMode == DRAG_MODE_DIVIDER) {
-                        mDivider.getView().startDragging(false /* animate */, true /* touching*/);
-                    }
-                    mDockWindowTouchSlopExceeded = true;
-                    return true;
-                }
-            }
-        } else {
-            if (mDragMode == DRAG_MODE_DIVIDER) {
-                int position = !mIsVertical ? (int) event.getRawY() : (int) event.getRawX();
-                SnapTarget snapTarget = mDivider.getView().getSnapAlgorithm()
-                        .calculateSnapTarget(position, 0f /* velocity */, false /* hardDismiss */);
-                mDivider.getView().resizeStack(position, snapTarget.position, snapTarget);
-            } else if (mDragMode == DRAG_MODE_RECENTS) {
-                mRecentsComponent.onDraggingInRecents(event.getRawY());
-            }
-        }
-        return false;
-    }
-
-    private void handleDragActionUpEvent(MotionEvent event) {
-        mVelocityTracker.addMovement(event);
-        mVelocityTracker.computeCurrentVelocity(1000);
-        if (mDockWindowTouchSlopExceeded && mDivider != null && mRecentsComponent != null) {
-            if (mDragMode == DRAG_MODE_DIVIDER) {
-                mDivider.getView().stopDragging(mIsVertical
-                                ? (int) event.getRawX()
-                                : (int) event.getRawY(),
-                        mIsVertical
-                                ? mVelocityTracker.getXVelocity()
-                                : mVelocityTracker.getYVelocity(),
-                        true /* avoidDismissStart */, false /* logMetrics */);
-            } else if (mDragMode == DRAG_MODE_RECENTS) {
-                mRecentsComponent.onDraggingInRecentsEnded(mVelocityTracker.getYVelocity());
-            }
-        }
-        mVelocityTracker.recycle();
-        mVelocityTracker = null;
-    }
-
-    private boolean canHandleGestures() {
-        return !mStatusBar.isKeyguardShowing();
-    }
-
-    private int calculateDragMode() {
-        if (mIsVertical && !mDivider.getView().isHorizontalDivision()) {
-            return DRAG_MODE_DIVIDER;
-        }
-        if (!mIsVertical && mDivider.getView().isHorizontalDivision()) {
-            return DRAG_MODE_DIVIDER;
-        }
-        return DRAG_MODE_RECENTS;
-    }
-
-    @Override
-    public void onTuningChanged(String key, String newValue) {
-        switch (key) {
-            case KEY_DOCK_WINDOW_GESTURE:
-                mDockWindowEnabled = newValue != null && (Integer.parseInt(newValue) != 0);
-                break;
-        }
-    }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java
index e6f2c33..52134d9 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java
@@ -37,7 +37,7 @@
 import com.android.systemui.OverviewProxyService;
 import com.android.systemui.R;
 import com.android.systemui.plugins.PluginListener;
-import com.android.systemui.plugins.PluginManager;
+import com.android.systemui.shared.plugins.PluginManager;
 import com.android.systemui.plugins.statusbar.phone.NavBarButtonProvider;
 import com.android.systemui.statusbar.phone.ReverseLinearLayout.ReverseRelativeLayout;
 import com.android.systemui.statusbar.policy.KeyButtonView;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarTransitions.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarTransitions.java
index e09d31c..d58b554 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarTransitions.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarTransitions.java
@@ -44,6 +44,17 @@
     private boolean mAutoDim;
     private View mNavButtons;
 
+    private final Handler mHandler = Handler.getMain();
+    private final IWallpaperVisibilityListener mWallpaperVisibilityListener =
+            new IWallpaperVisibilityListener.Stub() {
+        @Override
+        public void onWallpaperVisibilityChanged(boolean newVisibility,
+        int displayId) throws RemoteException {
+            mWallpaperVisible = newVisibility;
+            mHandler.post(() -> applyLightsOut(true, false));
+        }
+    };
+
     public NavigationBarTransitions(NavigationBarView view) {
         super(view, R.drawable.nav_background);
         mView = view;
@@ -55,17 +66,9 @@
                 .getBoolean(R.bool.config_navigation_bar_enable_auto_dim_no_visible_wallpaper);
 
         IWindowManager windowManagerService = Dependency.get(IWindowManager.class);
-        Handler handler = Handler.getMain();
         try {
             mWallpaperVisible = windowManagerService.registerWallpaperVisibilityListener(
-                new IWallpaperVisibilityListener.Stub() {
-                    @Override
-                    public void onWallpaperVisibilityChanged(boolean newVisibility,
-                            int displayId) throws RemoteException {
-                        mWallpaperVisible = newVisibility;
-                        handler.post(() -> applyLightsOut(true, false));
-                    }
-                }, Display.DEFAULT_DISPLAY);
+                    mWallpaperVisibilityListener, Display.DEFAULT_DISPLAY);
         } catch (RemoteException e) {
         }
         mView.addOnLayoutChangeListener(
@@ -88,6 +91,16 @@
     }
 
     @Override
+    public void destroy() {
+        IWindowManager windowManagerService = Dependency.get(IWindowManager.class);
+        try {
+            windowManagerService.unregisterWallpaperVisibilityListener(mWallpaperVisibilityListener,
+                    Display.DEFAULT_DISPLAY);
+        } catch (RemoteException e) {
+        }
+    }
+
+    @Override
     public void setAutoDim(boolean autoDim) {
         if (mAutoDim == autoDim) return;
         mAutoDim = autoDim;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
index 2141016..16b2987 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
@@ -36,17 +36,13 @@
 import android.graphics.Canvas;
 import android.graphics.Point;
 import android.graphics.Rect;
-import android.graphics.drawable.AnimatedVectorDrawable;
-import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
 import android.os.SystemProperties;
-import androidx.annotation.ColorInt;
 import android.util.AttributeSet;
 import android.util.Log;
 import android.util.SparseArray;
-import android.view.ContextThemeWrapper;
 import android.view.Display;
 import android.view.MotionEvent;
 import android.view.Surface;
@@ -59,7 +55,6 @@
 import android.view.inputmethod.InputMethodManager;
 import android.widget.FrameLayout;
 
-import com.android.settingslib.Utils;
 import com.android.systemui.Dependency;
 import com.android.systemui.DockedStackExistsListener;
 import com.android.systemui.Interpolators;
@@ -68,12 +63,11 @@
 import com.android.systemui.RecentsComponent;
 import com.android.systemui.SysUiServiceProvider;
 import com.android.systemui.plugins.PluginListener;
-import com.android.systemui.plugins.PluginManager;
+import com.android.systemui.shared.plugins.PluginManager;
 import com.android.systemui.plugins.statusbar.phone.NavGesture;
 import com.android.systemui.plugins.statusbar.phone.NavGesture.GestureHelper;
 import com.android.systemui.recents.Recents;
 import com.android.systemui.recents.RecentsOnboarding;
-import com.android.systemui.shared.recents.IOverviewProxy;
 import com.android.systemui.shared.system.ActivityManagerWrapper;
 import com.android.systemui.shared.system.NavigationBarCompat;
 import com.android.systemui.shared.system.WindowManagerWrapper;
@@ -106,10 +100,7 @@
     boolean mVertical;
     private int mCurrentRotation = -1;
 
-    boolean mShowMenu;
-    boolean mShowAccessibilityButton;
     boolean mLongClickableAccessibilityButton;
-    boolean mShowRotateButton;
     int mDisabledFlags = 0;
     int mNavigationIconHints = 0;
 
@@ -125,10 +116,6 @@
     private KeyButtonDrawable mHomeDefaultIcon;
     private KeyButtonDrawable mRecentIcon;
     private KeyButtonDrawable mDockedIcon;
-    private KeyButtonDrawable mImeIcon;
-    private KeyButtonDrawable mMenuIcon;
-    private KeyButtonDrawable mAccessibilityIcon;
-    private KeyButtonDrawable mRotateSuggestionIcon;
 
     private GestureHelper mGestureHelper;
     private final DeadZone mDeadZone;
@@ -151,16 +138,13 @@
     private boolean mDockedStackExists;
 
     private final SparseArray<ButtonDispatcher> mButtonDispatchers = new SparseArray<>();
+    private final ContextualButtonGroup mContextualButtonGroup;
     private Configuration mConfiguration;
 
     private NavigationBarInflaterView mNavigationInflaterView;
-    private RecentsComponent mRecentsComponent;
-    private Divider mDivider;
     private RecentsOnboarding mRecentsOnboarding;
     private NotificationPanelView mPanelView;
 
-    private int mRotateBtnStyle = R.style.RotateButtonCCWStart90;
-
     /**
      * Helper that is responsible for showing the right toast when a disallowed activity operation
      * occurred. In pinned mode, we show instructions on how to break out of this mode, whilst in
@@ -279,17 +263,30 @@
                 Context.WINDOW_SERVICE)).getDefaultDisplay();
 
         mVertical = false;
-        mShowMenu = false;
-
-        mShowAccessibilityButton = false;
         mLongClickableAccessibilityButton = false;
 
+        // Set up the context group of buttons
+        mContextualButtonGroup = new ContextualButtonGroup(R.id.menu_container);
+        final ContextualButton menuButton = new ContextualButton(R.id.menu,
+                R.drawable.ic_sysbar_menu);
+        final ContextualButton imeSwitcherButton = new ContextualButton(R.id.ime_switcher,
+                R.drawable.ic_ime_switcher_default);
+        final RotationContextButton rotateSuggestionButton = new RotationContextButton(
+                R.id.rotate_suggestion, R.drawable.ic_sysbar_rotate_button,
+                R.style.RotateButtonCCWStart90);
+        final ContextualButton accessibilityButton =
+                new ContextualButton(R.id.accessibility_button,
+                        R.drawable.ic_sysbar_accessibility_button);
+        mContextualButtonGroup.addButton(menuButton);
+        mContextualButtonGroup.addButton(imeSwitcherButton);
+        mContextualButtonGroup.addButton(rotateSuggestionButton);
+        mContextualButtonGroup.addButton(accessibilityButton);
+
         mOverviewProxyService = Dependency.get(OverviewProxyService.class);
         mRecentsOnboarding = new RecentsOnboarding(context, mOverviewProxyService);
 
         mConfiguration = new Configuration();
         mConfiguration.updateFrom(context.getResources().getConfiguration());
-        reloadNavIcons();
 
         mScreenPinningNotify = new ScreenPinningNotify(mContext);
         mBarTransitions = new NavigationBarTransitions(this);
@@ -297,14 +294,11 @@
         mButtonDispatchers.put(R.id.back, new ButtonDispatcher(R.id.back));
         mButtonDispatchers.put(R.id.home, new ButtonDispatcher(R.id.home));
         mButtonDispatchers.put(R.id.recent_apps, new ButtonDispatcher(R.id.recent_apps));
-        mButtonDispatchers.put(R.id.menu, new ButtonDispatcher(R.id.menu));
-        mButtonDispatchers.put(R.id.ime_switcher, new ButtonDispatcher(R.id.ime_switcher));
-        mButtonDispatchers.put(R.id.accessibility_button,
-                new ButtonDispatcher(R.id.accessibility_button));
-        mButtonDispatchers.put(R.id.rotate_suggestion,
-                new ButtonDispatcher(R.id.rotate_suggestion));
-        mButtonDispatchers.put(R.id.menu_container,
-                new ButtonDispatcher(R.id.menu_container));
+        mButtonDispatchers.put(R.id.menu, menuButton);
+        mButtonDispatchers.put(R.id.ime_switcher, imeSwitcherButton);
+        mButtonDispatchers.put(R.id.accessibility_button, accessibilityButton);
+        mButtonDispatchers.put(R.id.rotate_suggestion, rotateSuggestionButton);
+        mButtonDispatchers.put(R.id.menu_container, mContextualButtonGroup);
         mDeadZone = new DeadZone(this);
     }
 
@@ -316,14 +310,10 @@
         return mBarTransitions.getLightTransitionsController();
     }
 
-    public void setComponents(RecentsComponent recentsComponent, Divider divider,
-            NotificationPanelView panel) {
-        mRecentsComponent = recentsComponent;
-        mDivider = divider;
+    public void setComponents(NotificationPanelView panel) {
         mPanelView = panel;
-        if (mGestureHelper instanceof NavigationBarGestureHelper) {
-            ((NavigationBarGestureHelper) mGestureHelper).setComponents(
-                    recentsComponent, divider, this);
+        if (mGestureHelper instanceof QuickStepController) {
+            ((QuickStepController) mGestureHelper).setComponents(this);
         }
     }
 
@@ -432,10 +422,6 @@
         return mButtonDispatchers.get(R.id.rotate_suggestion);
     }
 
-    public ButtonDispatcher getMenuContainer() {
-        return mButtonDispatchers.get(R.id.menu_container);
-    }
-
     public SparseArray<ButtonDispatcher> getButtonDispatchers() {
         return mButtonDispatchers;
     }
@@ -473,14 +459,7 @@
         }
         if (densityChange || dirChange) {
             mRecentIcon = getDrawable(R.drawable.ic_sysbar_recent);
-            mMenuIcon = getDrawable(R.drawable.ic_sysbar_menu);
-
-            mAccessibilityIcon = getDrawable(R.drawable.ic_sysbar_accessibility_button,
-                    false /* hasShadow */);
-
-            mImeIcon = getDrawable(R.drawable.ic_ime_switcher_default, false /* hasShadow */);
-
-            updateRotateSuggestionButtonStyle(mRotateBtnStyle, false);
+            mContextualButtonGroup.updateIcons();
         }
         if (orientationChange || densityChange || dirChange) {
             mBackIcon = getBackDrawable();
@@ -538,19 +517,11 @@
     }
 
     private KeyButtonDrawable getDrawable(@DrawableRes int icon) {
-        return getDrawable(mContext, icon, true /* hasShadow */);
+        return KeyButtonDrawable.create(mContext, icon, true /* hasShadow */);
     }
 
     private KeyButtonDrawable getDrawable(@DrawableRes int icon, boolean hasShadow) {
-        return getDrawable(mContext, icon, hasShadow);
-    }
-
-    private KeyButtonDrawable getDrawable(Context ctx, @DrawableRes int icon, boolean hasShadow) {
-        final int dualToneDarkTheme = Utils.getThemeAttr(ctx, R.attr.darkIconTheme);
-        final int dualToneLightTheme = Utils.getThemeAttr(ctx, R.attr.lightIconTheme);
-        Context lightContext = new ContextThemeWrapper(ctx, dualToneLightTheme);
-        Context darkContext = new ContextThemeWrapper(ctx, dualToneDarkTheme);
-        return KeyButtonDrawable.create(lightContext, darkContext, icon, hasShadow);
+        return KeyButtonDrawable.create(mContext, icon, hasShadow);
     }
 
     @Override
@@ -609,28 +580,17 @@
         updateRecentsIcon();
 
         // Update IME button visibility, a11y and rotate button always overrides the appearance
-        final boolean showImeButton =
-                !mShowAccessibilityButton &&
-                        !mShowRotateButton &&
-                        ((mNavigationIconHints & StatusBarManager.NAVIGATION_HINT_IME_SHOWN) != 0);
-        getImeSwitchButton().setVisibility(showImeButton ? View.VISIBLE : View.INVISIBLE);
-        getImeSwitchButton().setImageDrawable(mImeIcon);
-
-        // Update menu button, visibility logic in method
-        setMenuVisibility(mShowMenu, true);
-        getMenuButton().setImageDrawable(mMenuIcon);
-
-        // Update rotate button, visibility altered by a11y button logic
-        getRotateSuggestionButton().setImageDrawable(mRotateSuggestionIcon);
-
-        // Update a11y button, visibility logic in state method
-        setAccessibilityButtonState(mShowAccessibilityButton, mLongClickableAccessibilityButton);
-        getAccessibilityButton().setImageDrawable(mAccessibilityIcon);
+        mContextualButtonGroup.setButtonVisiblity(R.id.ime_switcher,
+                (mNavigationIconHints & StatusBarManager.NAVIGATION_HINT_IME_SHOWN) != 0);
 
         mBarTransitions.reapplyDarkIntensity();
 
         boolean disableHome = ((mDisabledFlags & View.STATUS_BAR_DISABLE_HOME) != 0);
 
+        // TODO(b/113914868): investigation log for disappearing home button
+        Log.i(TAG, "updateNavButtonIcons (b/113914868): home disabled=" + disableHome
+                + " mDisabledFlags=" + mDisabledFlags);
+
         // Always disable recents when alternate car mode UI is active.
         boolean disableRecent = mUseCarModeUi || !isOverviewEnabled();
 
@@ -781,79 +741,29 @@
     }
 
     public void setMenuVisibility(final boolean show) {
-        setMenuVisibility(show, false);
+        mContextualButtonGroup.setButtonVisiblity(R.id.menu, show);
     }
 
-    public void setMenuVisibility(final boolean show, final boolean force) {
-        if (!force && mShowMenu == show) return;
-
-        mShowMenu = show;
-
-        // Only show Menu if IME switcher, rotate and Accessibility buttons are not shown.
-        final boolean shouldShow = mShowMenu &&
-                !mShowAccessibilityButton &&
-                !mShowRotateButton &&
-                ((mNavigationIconHints & StatusBarManager.NAVIGATION_HINT_IME_SHOWN) == 0);
-
-        getMenuButton().setVisibility(shouldShow ? View.VISIBLE : View.INVISIBLE);
+    public void updateRotateSuggestionButtonStyle(@StyleRes int style) {
+        RotationContextButton button = (RotationContextButton) mContextualButtonGroup
+                .getContextButton(R.id.rotate_suggestion);
+        button.setStyle(style);
+        button.updateIcon();
     }
 
     public void setAccessibilityButtonState(final boolean visible, final boolean longClickable) {
-        mShowAccessibilityButton = visible;
         mLongClickableAccessibilityButton = longClickable;
-        if (visible) {
-            // Accessibility button overrides Menu, IME switcher and rotate buttons.
-            setMenuVisibility(false, true);
-            getImeSwitchButton().setVisibility(View.INVISIBLE);
-            setRotateButtonVisibility(false);
-        }
-
-        getAccessibilityButton().setVisibility(visible ? View.VISIBLE : View.INVISIBLE);
         getAccessibilityButton().setLongClickable(longClickable);
-    }
-
-    public void updateRotateSuggestionButtonStyle(@StyleRes int style, boolean setIcon) {
-        mRotateBtnStyle = style;
-        final Context ctx = getContext();
-
-        // Use the supplied style to set the icon's rotation parameters
-        Context rotateContext = new ContextThemeWrapper(ctx, style);
-
-        // Recreate the icon and set it if needed
-        float previousIntensity = mRotateSuggestionIcon != null
-                ? mRotateSuggestionIcon.getDarkIntensity() : 0;
-        mRotateSuggestionIcon = getDrawable(rotateContext, R.drawable.ic_sysbar_rotate_button,
-                false /* hasShadow */);
-        mRotateSuggestionIcon.setDarkIntensity(previousIntensity);
-
-        if (setIcon) getRotateSuggestionButton().setImageDrawable(mRotateSuggestionIcon);
+        mContextualButtonGroup.setButtonVisiblity(R.id.accessibility_button, visible);
     }
 
     public int setRotateButtonVisibility(boolean visible) {
-        // Never show if a11y is visible
-        final boolean adjVisible = visible && !mShowAccessibilityButton;
-        final int vis = adjVisible ? View.VISIBLE : View.INVISIBLE;
-
-        // No need to do anything if the request matches the current state
-        if (vis == getRotateSuggestionButton().getVisibility()) return vis;
-
-        getRotateSuggestionButton().setVisibility(vis);
-        mShowRotateButton = visible;
-
-        // Stop any active animations if hidden
-        if (!visible && mRotateSuggestionIcon.canAnimate()) {
-            mRotateSuggestionIcon.clearAnimationCallbacks();
-            mRotateSuggestionIcon.resetAnimation();
-        }
-
-        // Hide/restore other button visibility, if necessary
-        updateNavButtonIcons();
-
-        // Return applied visibility
-        return vis;
+        return mContextualButtonGroup.setButtonVisiblity(R.id.rotate_suggestion, visible);
     }
 
-    public boolean isRotateButtonVisible() { return mShowRotateButton; }
+    public boolean isRotateButtonVisible() {
+        return getRotateSuggestionButton().isVisible();
+    }
 
     void hideRecentsOnboarding() {
         mRecentsOnboarding.hide(true);
@@ -886,6 +796,7 @@
 
         DockedStackExistsListener.register(mDockedListener);
         updateRotatedViews();
+        reloadNavIcons();
     }
 
     public void onDarkIntensityChange(float intensity) {
@@ -987,7 +898,6 @@
 
         // force the low profile & disabled states into compliance
         mBarTransitions.init();
-        setMenuVisibility(mShowMenu, true /* force */);
 
         if (DEBUG) {
             Log.d(TAG, "reorient(): rot=" + mCurrentRotation);
@@ -1159,8 +1069,8 @@
 
     @Override
     public void onPluginDisconnected(NavGesture plugin) {
-        NavigationBarGestureHelper defaultHelper = new NavigationBarGestureHelper(getContext());
-        defaultHelper.setComponents(mRecentsComponent, mDivider, this);
+        QuickStepController defaultHelper = new QuickStepController(getContext());
+        defaultHelper.setComponents(this);
         if (mGestureHelper != null) {
             mGestureHelper.destroy();
         }
@@ -1193,17 +1103,20 @@
         pw.println(String.format("      disabled=0x%08x vertical=%s menu=%s",
                         mDisabledFlags,
                         mVertical ? "true" : "false",
-                        mShowMenu ? "true" : "false"));
+                        getMenuButton().isVisible() ? "true" : "false"));
 
         dumpButton(pw, "back", getBackButton());
         dumpButton(pw, "home", getHomeButton());
         dumpButton(pw, "rcnt", getRecentsButton());
         dumpButton(pw, "menu", getMenuButton());
+        dumpButton(pw, "rota", getRotateSuggestionButton());
         dumpButton(pw, "a11y", getAccessibilityButton());
 
-        mRecentsOnboarding.dump(pw);
-
         pw.println("    }");
+
+        mContextualButtonGroup.dump(pw);
+        mGestureHelper.dump(pw);
+        mRecentsOnboarding.dump(pw);
     }
 
     @Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NearestTouchFrame.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NearestTouchFrame.java
index 7b9ed88..1524f80 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NearestTouchFrame.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NearestTouchFrame.java
@@ -95,10 +95,12 @@
     }
 
     private View findNearestChild(MotionEvent event) {
+        if (mClickableChildren.isEmpty()) {
+            return null;
+        }
         return mClickableChildren
                 .stream()
                 .filter(v -> v.isAttachedToWindow())
-                .filter(v -> v.isFocusable())
                 .map(v -> new Pair<>(distance(v, event), v))
                 .min(Comparator.comparingInt(f -> f.first))
                 .get().second;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java
index 5fe362f..c08366a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java
@@ -16,6 +16,7 @@
 
 package com.android.systemui.statusbar.phone;
 
+import android.annotation.NonNull;
 import android.app.Notification;
 import android.os.SystemClock;
 import android.service.notification.StatusBarNotification;
@@ -23,6 +24,9 @@
 import android.util.Log;
 
 import com.android.systemui.Dependency;
+import com.android.systemui.statusbar.AlertingNotificationManager;
+import com.android.systemui.statusbar.AmbientPulseManager;
+import com.android.systemui.statusbar.AmbientPulseManager.OnAmbientChangedListener;
 import com.android.systemui.statusbar.StatusBarState;
 import com.android.systemui.statusbar.StatusBarStateController.StateListener;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
@@ -43,15 +47,18 @@
 /**
  * A class to handle notifications and their corresponding groups.
  */
-public class NotificationGroupManager implements OnHeadsUpChangedListener {
+public class NotificationGroupManager implements OnHeadsUpChangedListener,
+        OnAmbientChangedListener {
 
     private static final String TAG = "NotificationGroupManager";
-    private static final long HEADS_UP_TRANSFER_TIMEOUT = 300;
+    private static final long ALERT_TRANSFER_TIMEOUT = 300;
     private final HashMap<String, NotificationGroup> mGroupMap = new HashMap<>();
     private OnGroupChangeListener mListener;
     private int mBarState = -1;
     private HashMap<String, StatusBarNotification> mIsolatedEntries = new HashMap<>();
     private HeadsUpManager mHeadsUpManager;
+    private AmbientPulseManager mAmbientPulseManager = Dependency.get(AmbientPulseManager.class);
+    private boolean mIsDozing;
     private boolean mIsUpdatingUnchangedGroup;
     private HashMap<String, NotificationData.Entry> mPendingNotifications;
 
@@ -162,40 +169,58 @@
                 mListener.onGroupCreatedFromChildren(group);
             }
         }
-        cleanUpHeadsUpStatesOnAdd(group, false /* addIsPending */);
+        cleanUpAlertStatesOnAdd(group, false /* addIsPending */);
     }
 
     public void onPendingEntryAdded(NotificationData.Entry shadeEntry) {
         String groupKey = getGroupKey(shadeEntry.notification);
         NotificationGroup group = mGroupMap.get(groupKey);
         if (group != null) {
-            cleanUpHeadsUpStatesOnAdd(group, true /* addIsPending */);
+            cleanUpAlertStatesOnAdd(group, true /* addIsPending */);
         }
     }
 
     /**
-     * Clean up the heads up states when a new child was added.
+     * Set whether or not the device is dozing.  This allows the group manager to reset some
+     * specific alert state logic based off when the state changes.
+     * @param isDozing if the device is dozing.
+     */
+    public void setDozing(boolean isDozing) {
+        if (mIsDozing != isDozing) {
+            for (NotificationGroup group : mGroupMap.values()) {
+                group.lastAlertTransfer = 0;
+                group.alertSummaryOnNextAddition = false;
+            }
+        }
+        mIsDozing = isDozing;
+    }
+
+    /**
+     * Clean up the alert states when a new child was added.
      * @param group The group where a view was added or will be added.
      * @param addIsPending True if is the addition still pending or false has it already been added.
      */
-    private void cleanUpHeadsUpStatesOnAdd(NotificationGroup group, boolean addIsPending) {
-        if (!addIsPending && group.hunSummaryOnNextAddition) {
-            if (!mHeadsUpManager.contains(group.summary.key)) {
-                mHeadsUpManager.showNotification(group.summary);
+    private void cleanUpAlertStatesOnAdd(NotificationGroup group, boolean addIsPending) {
+
+        AlertingNotificationManager alertManager =
+                mIsDozing ? mAmbientPulseManager : mHeadsUpManager;
+        if (!addIsPending && group.alertSummaryOnNextAddition) {
+            if (!alertManager.isAlerting(group.summary.key)) {
+                alertManager.showNotification(group.summary);
             }
-            group.hunSummaryOnNextAddition = false;
+            group.alertSummaryOnNextAddition = false;
         }
         // Because notification groups are not delivered as a whole unit, it may happen that a
         // group child gets added quite a bit after the summary got posted. Our guidance is, that
         // apps should always post the group summary as well and we'll hide it for them if the child
-        // is the only child in a group. Because of this, we also have to transfer heads up to the
-        // child, otherwise the invisible summary would be heads-upped.
+        // is the only child in a group. Because of this, we also have to transfer alert to the
+        // child, otherwise the invisible summary would be alerted.
         // This transfer to the child is not always correct in case the app has just posted another
         // child in addition to the existing one, but it hasn't arrived in systemUI yet. In such
-        // a scenario we would transfer the heads up to the old child and the wrong notification
-        // would be heads-upped. In oder to avoid this, we'll recover from this issue and hun the
+        // a scenario we would transfer the alert to the old child and the wrong notification
+        // would be alerted. In order to avoid this, we'll recover from this issue and alert the
         // summary again instead of the old child if it's within a certain timeout.
-        if (SystemClock.elapsedRealtime() - group.lastHeadsUpTransfer < HEADS_UP_TRANSFER_TIMEOUT) {
+        if (SystemClock.elapsedRealtime() - group.lastAlertTransfer < ALERT_TRANSFER_TIMEOUT) {
             if (!onlySummaryAlerts(group.summary)) {
                 return;
             }
@@ -215,26 +240,24 @@
             int size = children.size();
             for (int i = 0; i < size; i++) {
                 NotificationData.Entry entry = children.get(i);
-                if (onlySummaryAlerts(entry) && entry.row.isHeadsUp()) {
+                if (onlySummaryAlerts(entry) && alertManager.isAlerting(entry.key)) {
                     releasedChild = true;
-                    mHeadsUpManager.removeNotification(
-                            entry.key, true /* releaseImmediately */);
+                    alertManager.removeNotification(entry.key, true /* releaseImmediately */);
                 }
             }
             if (isolatedChild != null && onlySummaryAlerts(isolatedChild)
-                    && isolatedChild.row.isHeadsUp()) {
+                    && alertManager.isAlerting(isolatedChild.key)) {
                 releasedChild = true;
-                mHeadsUpManager.removeNotification(
-                        isolatedChild.key, true /* releaseImmediately */);
+                alertManager.removeNotification(isolatedChild.key, true /* releaseImmediately */);
             }
-            if (releasedChild && !mHeadsUpManager.contains(group.summary.key)) {
+            if (releasedChild && !alertManager.isAlerting(group.summary.key)) {
                 boolean notifyImmediately = (numChildren - numPendingChildren) > 1;
                 if (notifyImmediately) {
-                    mHeadsUpManager.showNotification(group.summary);
+                    alertManager.showNotification(group.summary);
                 } else {
-                    group.hunSummaryOnNextAddition = true;
+                    group.alertSummaryOnNextAddition = true;
                 }
-                group.lastHeadsUpTransfer = 0;
+                group.lastAlertTransfer = 0;
             }
         }
     }
@@ -264,8 +287,8 @@
     }
 
     private void onEntryBecomingChild(NotificationData.Entry entry) {
-        if (entry.row.isHeadsUp()) {
-            onHeadsUpStateChanged(entry, true);
+        if (shouldIsolate(entry)) {
+            isolateNotification(entry);
         }
     }
 
@@ -281,7 +304,11 @@
                         && hasIsolatedChildren(group)));
         if (prevSuppressed != group.suppressed) {
             if (group.suppressed) {
-                handleSuppressedSummaryHeadsUpped(group.summary);
+                if (mHeadsUpManager.isAlerting(group.summary.key)) {
+                    handleSuppressedSummaryAlerted(group.summary, mHeadsUpManager);
+                } else if (mAmbientPulseManager.isAlerting(group.summary.key)) {
+                    handleSuppressedSummaryAlerted(group.summary, mAmbientPulseManager);
+                }
             }
             if (!mIsUpdatingUnchangedGroup && mListener != null) {
                 mListener.onGroupsChanged();
@@ -415,10 +442,10 @@
             return false;
         }
         NotificationGroup group = mGroupMap.get(getGroupKey(sbn));
-        if (group == null) {
+        if (group == null || group.summary == null) {
             return false;
         }
-        return !group.children.isEmpty();
+        return !group.children.isEmpty() && Objects.equals(group.summary.notification, sbn);
     }
 
     /**
@@ -495,54 +522,56 @@
     }
 
     @Override
+    public void onAmbientStateChanged(NotificationData.Entry entry, boolean isAmbient) {
+        onAlertStateChanged(entry, isAmbient, mAmbientPulseManager);
+    }
+
+    @Override
     public void onHeadsUpStateChanged(NotificationData.Entry entry, boolean isHeadsUp) {
+        onAlertStateChanged(entry, isHeadsUp, mHeadsUpManager);
+    }
+
+    private void onAlertStateChanged(NotificationData.Entry entry, boolean isAlerting,
+            AlertingNotificationManager alertManager) {
         final StatusBarNotification sbn = entry.notification;
-        if (entry.row.isHeadsUp()) {
-            if (shouldIsolate(sbn)) {
-                // We will be isolated now, so lets update the groups
-                onEntryRemovedInternal(entry, entry.notification);
-
-                mIsolatedEntries.put(sbn.getKey(), sbn);
-
-                onEntryAdded(entry);
-                // We also need to update the suppression of the old group, because this call comes
-                // even before the groupManager knows about the notification at all.
-                // When the notification gets added afterwards it is already isolated and therefore
-                // it doesn't lead to an update.
-                updateSuppression(mGroupMap.get(entry.notification.getGroupKey()));
-                mListener.onGroupsChanged();
-            } else {
-                handleSuppressedSummaryHeadsUpped(entry);
+        if (isAlerting) {
+            if (shouldIsolate(entry)) {
+                isolateNotification(entry);
+            } else if (sbn.getNotification().isGroupSummary()
+                    && isGroupSuppressed(sbn.getGroupKey())){
+                handleSuppressedSummaryAlerted(entry, alertManager);
             }
         } else {
-            if (mIsolatedEntries.containsKey(sbn.getKey())) {
-                // not isolated anymore, we need to update the groups
-                onEntryRemovedInternal(entry, entry.notification);
-                mIsolatedEntries.remove(sbn.getKey());
-                onEntryAdded(entry);
-                mListener.onGroupsChanged();
-            }
+            stopIsolatingNotification(entry);
         }
     }
 
-    private void handleSuppressedSummaryHeadsUpped(NotificationData.Entry entry) {
-        StatusBarNotification sbn = entry.notification;
+    /**
+     * Handles the scenario where a summary that has been suppressed is alerted.  A suppressed
+     * summary should for all intents and purposes be invisible to the user and as a result should
+     * not alert.  When this is the case, it is our responsibility to pass the alert to the
+     * appropriate child which will be the representative notification alerting for the group.
+     * @param summary the summary that is suppressed and alerting
+     * @param alertManager the alert manager that manages the alerting summary
+     */
+    private void handleSuppressedSummaryAlerted(@NonNull NotificationData.Entry summary,
+            @NonNull AlertingNotificationManager alertManager) {
+        StatusBarNotification sbn = summary.notification;
         if (!isGroupSuppressed(sbn.getGroupKey())
                 || !sbn.getNotification().isGroupSummary()
-                || !entry.row.isHeadsUp()) {
+                || !alertManager.isAlerting(sbn.getKey())) {
             return;
         }
 
-        // The parent of a suppressed group got huned, lets hun the child!
+        // The parent of a suppressed group got alerted, lets alert the child!
         NotificationGroup notificationGroup = mGroupMap.get(sbn.getGroupKey());
 
-        if (pendingInflationsWillAddChildren(notificationGroup)) {
-            // New children will actually be added to this group, let's not transfer the heads
-            // up
-            return;
-        }
-
         if (notificationGroup != null) {
+            if (pendingInflationsWillAddChildren(notificationGroup)) {
+                // New children will actually be added to this group, let's not transfer the alert.
+                return;
+            }
+
             Iterator<NotificationData.Entry> iterator
                     = notificationGroup.children.values().iterator();
             NotificationData.Entry child = iterator.hasNext() ? iterator.next() : null;
@@ -551,20 +580,35 @@
             }
             if (child != null) {
                 if (child.row.keepInParent() || child.row.isRemoved() || child.row.isDismissed()) {
-                    // the notification is actually already removed, no need to do heads-up on it.
+                    // the notification is actually already removed, no need to do alert on it.
                     return;
                 }
-                if (mHeadsUpManager.contains(child.key)) {
-                    mHeadsUpManager.updateNotification(child.key, true /* alert */);
-                } else {
-                    if (onlySummaryAlerts(entry)) {
-                        notificationGroup.lastHeadsUpTransfer = SystemClock.elapsedRealtime();
-                    }
-                    mHeadsUpManager.showNotification(child);
-                }
+                transferAlertStateToChild(summary, child, alertManager);
             }
         }
-        mHeadsUpManager.removeNotification(entry.key, true /* releaseImmediately */);
+    }
+
+    /**
+     * Transfers the alert state from a given summary notification to the specified child.  The
+     * result is the child will now alert while the summary does not.
+     *
+     * @param summary the currently alerting summary notification
+     * @param child the child that should receive the alert
+     * @param alertManager the manager for the alert
+     */
+    private void transferAlertStateToChild(@NonNull NotificationData.Entry summary,
+            @NonNull NotificationData.Entry child,
+            @NonNull AlertingNotificationManager alertManager) {
+        NotificationGroup notificationGroup = mGroupMap.get(summary.notification.getGroupKey());
+        if (alertManager.isAlerting(child.key)) {
+            alertManager.updateNotification(child.key, true /* alert */);
+        } else {
+            if (onlySummaryAlerts(summary)) {
+                notificationGroup.lastAlertTransfer = SystemClock.elapsedRealtime();
+            }
+            alertManager.showNotification(child);
+        }
+        alertManager.removeNotification(summary.key, true /* releaseImmediately */);
     }
 
     private boolean onlySummaryAlerts(NotificationData.Entry entry) {
@@ -596,13 +640,69 @@
         return false;
     }
 
-    private boolean shouldIsolate(StatusBarNotification sbn) {
+    /**
+     * Whether a notification that is normally part of a group should be temporarily isolated from
+     * the group and put in their own group visually.  This generally happens when the notification
+     * is alerting.
+     *
+     * @param entry the notification to check
+     * @return true if the entry should be isolated
+     */
+
+    private boolean shouldIsolate(NotificationData.Entry entry) {
+        StatusBarNotification sbn = entry.notification;
         NotificationGroup notificationGroup = mGroupMap.get(sbn.getGroupKey());
-        return (sbn.isGroup() && !sbn.getNotification().isGroupSummary())
-                && (sbn.getNotification().fullScreenIntent != null
-                        || notificationGroup == null
-                        || !notificationGroup.expanded
-                        || isGroupNotFullyVisible(notificationGroup));
+        if (!sbn.isGroup() || sbn.getNotification().isGroupSummary()) {
+            return false;
+        }
+        if (!mIsDozing && !mHeadsUpManager.isAlerting(entry.key)) {
+            return false;
+        }
+        if (mIsDozing && !mAmbientPulseManager.isAlerting(entry.key)) {
+            return false;
+        }
+        return (sbn.getNotification().fullScreenIntent != null
+                    || notificationGroup == null
+                    || !notificationGroup.expanded
+                    || isGroupNotFullyVisible(notificationGroup));
+    }
+
+    /**
+     * Isolate a notification from its group so that it visually shows as its own group.
+     *
+     * @param entry the notification to isolate
+     */
+    private void isolateNotification(NotificationData.Entry entry) {
+        StatusBarNotification sbn = entry.notification;
+
+        // We will be isolated now, so lets update the groups
+        onEntryRemovedInternal(entry, entry.notification);
+
+        mIsolatedEntries.put(sbn.getKey(), sbn);
+
+        onEntryAdded(entry);
+        // We also need to update the suppression of the old group, because this call comes
+        // even before the groupManager knows about the notification at all.
+        // When the notification gets added afterwards it is already isolated and therefore
+        // it doesn't lead to an update.
+        updateSuppression(mGroupMap.get(entry.notification.getGroupKey()));
+        mListener.onGroupsChanged();
+    }
+
+    /**
+     * Stop isolating a notification and re-group it with its original logical group.
+     *
+     * @param entry the notification to un-isolate
+     */
+    private void stopIsolatingNotification(NotificationData.Entry entry) {
+        StatusBarNotification sbn = entry.notification;
+        if (mIsolatedEntries.containsKey(sbn.getKey())) {
+            // not isolated anymore, we need to update the groups
+            onEntryRemovedInternal(entry, entry.notification);
+            mIsolatedEntries.remove(sbn.getKey());
+            onEntryAdded(entry);
+            mListener.onGroupsChanged();
+        }
     }
 
     private boolean isGroupNotFullyVisible(NotificationGroup notificationGroup) {
@@ -641,11 +741,11 @@
          */
         public boolean suppressed;
         /**
-         * The time when the last heads transfer from group to child happened, while the summary
-         * has the flags to heads up on its own.
+         * The time when the last alert transfer from group to child happened, while the summary
+         * has the flags to alert up on its own.
          */
-        public long lastHeadsUpTransfer;
-        public boolean hunSummaryOnNextAddition;
+        public long lastAlertTransfer;
+        public boolean alertSummaryOnNextAddition;
 
         @Override
         public String toString() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationListenerWithPlugins.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationListenerWithPlugins.java
index 9ff907b..9e561d1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationListenerWithPlugins.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationListenerWithPlugins.java
@@ -24,7 +24,7 @@
 import com.android.systemui.plugins.NotificationListenerController;
 import com.android.systemui.plugins.NotificationListenerController.NotificationProvider;
 import com.android.systemui.plugins.PluginListener;
-import com.android.systemui.plugins.PluginManager;
+import com.android.systemui.shared.plugins.PluginManager;
 
 import java.util.ArrayList;
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
index e5e5d40..3a4c218 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
@@ -63,6 +63,7 @@
 import com.android.systemui.fragments.FragmentHostManager;
 import com.android.systemui.fragments.FragmentHostManager.FragmentListener;
 import com.android.systemui.plugins.qs.QS;
+import com.android.systemui.qs.QSFragment;
 import com.android.systemui.statusbar.FlingAnimationUtils;
 import com.android.systemui.statusbar.GestureRecorder;
 import com.android.systemui.statusbar.KeyguardAffordanceView;
@@ -455,6 +456,10 @@
         initBottomArea();
         setDarkAmount(mLinearDarkAmount, mInterpolatedDarkAmount);
 
+        if (mKeyguardStatusBar != null) {
+            mKeyguardStatusBar.onThemeChanged();
+        }
+
         setKeyguardStatusViewVisibility(mBarState, false, false);
         setKeyguardBottomAreaVisibility(mBarState, false);
     }
@@ -1836,10 +1841,10 @@
             return;
         }
         float alphaQsExpansion = 1 - Math.min(1, getQsExpansionFraction() * 2);
-        mKeyguardStatusBar.setAlpha(Math.min(getKeyguardContentsAlpha(), alphaQsExpansion)
-                * mKeyguardStatusBarAnimateAlpha);
-        mKeyguardStatusBar.setVisibility(mKeyguardStatusBar.getAlpha() != 0f
-                && !mDozing ? VISIBLE : INVISIBLE);
+        float newAlpha = Math.min(getKeyguardContentsAlpha(), alphaQsExpansion)
+                * mKeyguardStatusBarAnimateAlpha;
+        mKeyguardStatusBar.setAlpha(newAlpha);
+        mKeyguardStatusBar.setVisibility(newAlpha != 0f ? VISIBLE : INVISIBLE);
     }
 
     private void updateKeyguardBottomAreaAlpha() {
@@ -2347,16 +2352,7 @@
     }
 
     private void updateDozingVisibilities(boolean animate) {
-        if (mDozing) {
-            mKeyguardStatusBar.setVisibility(View.INVISIBLE);
-            mKeyguardBottomArea.setDozing(mDozing, animate);
-        } else {
-            mKeyguardStatusBar.setVisibility(View.VISIBLE);
-            mKeyguardBottomArea.setDozing(mDozing, animate);
-            if (animate) {
-                animateKeyguardStatusBarIn(DOZE_ANIMATION_DURATION);
-            }
-        }
+        mKeyguardBottomArea.setDozing(mDozing, animate);
     }
 
     @Override
@@ -2749,6 +2745,9 @@
                         }
                     });
             mNotificationStackScroller.setQsContainer((ViewGroup) mQs.getView());
+            if (mQs instanceof QSFragment) {
+                mKeyguardStatusBar.setQSPanel(((QSFragment) mQs).getQsPanel());
+            }
             updateQsExpansion();
         }
 
@@ -2811,6 +2810,7 @@
     private void setDarkAmount(float linearAmount, float amount) {
         mInterpolatedDarkAmount = amount;
         mLinearDarkAmount = linearAmount;
+        mKeyguardStatusBar.setDarkAmount(mInterpolatedDarkAmount);
         mKeyguardStatusView.setDarkAmount(mInterpolatedDarkAmount);
         mKeyguardBottomArea.setDarkAmount(mInterpolatedDarkAmount);
         positionClockAndNotifications();
@@ -2837,6 +2837,7 @@
     }
 
     public void dozeTimeTick() {
+        mKeyguardStatusBar.dozeTimeTick();
         mKeyguardStatusView.dozeTimeTick();
         mKeyguardBottomArea.dozeTimeTick();
         if (mInterpolatedDarkAmount > 0) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
index a900c14..553165b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
@@ -67,8 +67,8 @@
 import com.android.systemui.UiOffloadThread;
 import com.android.systemui.qs.tiles.DndTile;
 import com.android.systemui.qs.tiles.RotationLockTile;
-import com.android.systemui.recents.misc.SysUiTaskStackChangeListener;
 import com.android.systemui.shared.system.ActivityManagerWrapper;
+import com.android.systemui.shared.system.TaskStackChangeListener;
 import com.android.systemui.statusbar.CommandQueue;
 import com.android.systemui.statusbar.CommandQueue.Callbacks;
 import com.android.systemui.statusbar.policy.BluetoothController;
@@ -595,16 +595,29 @@
         extras.putString(Notification.EXTRA_SUBSTITUTE_APP_NAME,
                 mContext.getString(R.string.instant_apps));
         mCurrentNotifs.add(new Pair<>(pkg, userId));
-        String message = mContext.getString(R.string.instant_apps_message);
+
+        String helpUrl = mContext.getString(R.string.instant_apps_help_url);
+        boolean hasHelpUrl = !helpUrl.isEmpty();
+        String message = mContext.getString(hasHelpUrl
+                ? R.string.instant_apps_message_with_help
+                : R.string.instant_apps_message);
+
         UserHandle user = UserHandle.of(userId);
         PendingIntent appInfoAction = PendingIntent.getActivityAsUser(mContext, 0,
                 new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
                         .setData(Uri.fromParts("package", pkg, null)), 0, null, user);
         Action action = new Notification.Action.Builder(null, mContext.getString(R.string.app_info),
                 appInfoAction).build();
+        PendingIntent helpCenterIntent = hasHelpUrl
+                ? PendingIntent.getActivityAsUser(mContext, 0,
+                new Intent(Intent.ACTION_VIEW).setData(Uri.parse(
+                        helpUrl)),
+                0, null, user)
+                : null;
 
         Intent browserIntent = getTaskIntent(taskId, userId);
-        Notification.Builder builder = new Notification.Builder(mContext, NotificationChannels.GENERAL);
+        Notification.Builder builder = new Notification.Builder(mContext,
+                NotificationChannels.GENERAL);
         if (browserIntent != null && browserIntent.isWebIntent()) {
             // Make sure that this doesn't resolve back to an instant app
             browserIntent.setComponent(null)
@@ -632,7 +645,8 @@
 
             PendingIntent webPendingIntent = PendingIntent.getActivityAsUser(mContext, 0,
                     goToWebIntent, 0, null, user);
-            Action webAction = new Notification.Action.Builder(null, mContext.getString(R.string.go_to_web),
+            Action webAction = new Notification.Action.Builder(null,
+                    mContext.getString(R.string.go_to_web),
                     webPendingIntent).build();
             builder.addAction(webAction);
         }
@@ -640,13 +654,15 @@
         noMan.notifyAsUser(pkg, SystemMessage.NOTE_INSTANT_APPS, builder
                         .addExtras(extras)
                         .addAction(action)
-                        .setContentIntent(appInfoAction)
+                        .setContentIntent(helpCenterIntent)
                         .setColor(mContext.getColor(R.color.instant_apps_color))
-                        .setContentTitle(appInfo.loadLabel(mContext.getPackageManager()))
+                        .setContentTitle(mContext.getString(R.string.instant_apps_title,
+                                appInfo.loadLabel(mContext.getPackageManager())))
                         .setLargeIcon(Icon.createWithResource(pkg, appInfo.icon))
                         .setSmallIcon(Icon.createWithResource(mContext.getPackageName(),
                                 R.drawable.instant_icon))
                         .setContentText(message)
+                        .setStyle(new Notification.BigTextStyle().bigText(message))
                         .setOngoing(true)
                         .build(),
                 new UserHandle(userId));
@@ -781,7 +797,7 @@
         mIconController.setIconVisibility(mSlotDataSaver, isDataSaving);
     }
 
-    private final SysUiTaskStackChangeListener mTaskListener = new SysUiTaskStackChangeListener() {
+    private final TaskStackChangeListener mTaskListener = new TaskStackChangeListener() {
         @Override
         public void onTaskStackChanged() {
             // Listen for changes to stacks and then check which instant apps are foreground.
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java
index bd4d790..bce52a2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java
@@ -58,10 +58,12 @@
 import com.android.systemui.Interpolators;
 import com.android.systemui.OverviewProxyService;
 import com.android.systemui.R;
+import com.android.systemui.SysUiServiceProvider;
 import com.android.systemui.plugins.statusbar.phone.NavGesture.GestureHelper;
 import com.android.systemui.shared.recents.IOverviewProxy;
 import com.android.systemui.shared.recents.utilities.Utilities;
 import com.android.systemui.shared.system.NavigationBarCompat;
+import java.io.PrintWriter;
 
 /**
  * Class to detect gestures on the navigation bar and implement quick scrub.
@@ -77,6 +79,8 @@
     /** Experiment to swipe home button left to execute a back key press */
     private static final String PULL_HOME_GO_BACK_PROP = "persist.quickstepcontroller.homegoesback";
     private static final String HIDE_BACK_BUTTON_PROP = "persist.quickstepcontroller.hideback";
+    private static final String BACK_AFTER_END_PROP
+            = "persist.quickstepcontroller.homegoesbackwhenend";
     private static final long BACK_BUTTON_FADE_OUT_ALPHA = 60;
     private static final long BACK_BUTTON_FADE_IN_ALPHA = 150;
     private static final long BACK_GESTURE_POLL_TIMEOUT = 1000;
@@ -84,9 +88,6 @@
     /** When the home-swipe-back gesture is disallowed, make it harder to pull */
     private static final float DISALLOW_GESTURE_DAMPING_FACTOR = 0.16f;
 
-    /** When dragging the home button too far during back gesture, make it harder to pull */
-    private static final float EXCEED_DRAG_HOME_DAMPING_FACTOR = 0.33f;
-
     private NavigationBarView mNavigationBarView;
 
     private boolean mQuickScrubActive;
@@ -118,6 +119,7 @@
     private final int mTrackEndPadding;
     private final int mHomeBackGestureDragLimit;
     private final Context mContext;
+    private final StatusBar mStatusBar;
     private final Matrix mTransformGlobalMatrix = new Matrix();
     private final Matrix mTransformLocalMatrix = new Matrix();
     private final Paint mTrackPaint = new Paint();
@@ -196,6 +198,7 @@
     public QuickStepController(Context context) {
         final Resources res = context.getResources();
         mContext = context;
+        mStatusBar = SysUiServiceProvider.getComponent(context, StatusBar.class);
         mOverviewEventSender = Dependency.get(OverviewProxyService.class);
         mTrackThickness = res.getDimensionPixelSize(R.dimen.nav_quick_scrub_track_thickness);
         mTrackEndPadding = res.getDimensionPixelSize(R.dimen.nav_quick_scrub_track_edge_padding);
@@ -219,6 +222,10 @@
      */
     @Override
     public boolean onInterceptTouchEvent(MotionEvent event) {
+        if (mStatusBar.isKeyguardShowing()) {
+            // Disallow any handling when the keyguard is showing
+            return false;
+        }
         return handleTouchEvent(event);
     }
 
@@ -228,6 +235,11 @@
      */
     @Override
     public boolean onTouchEvent(MotionEvent event) {
+        if (mStatusBar.isKeyguardShowing()) {
+            // Disallow any handling when the keyguard is showing
+            return false;
+        }
+
         // The same down event was just sent on intercept and therefore can be ignored here
         final boolean ignoreProxyDownEvent = event.getAction() == MotionEvent.ACTION_DOWN
                 && mOverviewEventSender.getProxy() != null;
@@ -361,7 +373,7 @@
                         // Once the user drags the home button past a certain limit, the distance
                         // will lessen as the home button dampens showing that it was pulled too far
                         float distanceAfterDragLimit = (Math.abs(diff) - mHomeBackGestureDragLimit)
-                                * EXCEED_DRAG_HOME_DAMPING_FACTOR;
+                                * DISALLOW_GESTURE_DAMPING_FACTOR;
                         diff = (int)(distanceAfterDragLimit + mHomeBackGestureDragLimit);
                         if (mDragPositive) {
                             diff *= -1;
@@ -484,6 +496,21 @@
         mHandler.removeCallbacksAndMessages(null);
     }
 
+    @Override
+    public void dump(PrintWriter pw) {
+        pw.println("QuickStepController {");
+        pw.print("    "); pw.println("mQuickScrubActive=" + mQuickScrubActive);
+        pw.print("    "); pw.println("mQuickStepStarted=" + mQuickStepStarted);
+        pw.print("    "); pw.println("mAllowGestureDetection=" + mAllowGestureDetection);
+        pw.print("    "); pw.println("mBackGestureActive=" + mBackGestureActive);
+        pw.print("    "); pw.println("mCanPerformBack=" + mCanPerformBack);
+        pw.print("    "); pw.println("mNotificationsVisibleOnDown=" + mNotificationsVisibleOnDown);
+        pw.print("    "); pw.println("mIsVertical=" + mIsVertical);
+        pw.print("    "); pw.println("mIsRTL=" + mIsRTL);
+        pw.print("    "); pw.println("mIsInScreenPinning=" + mIsInScreenPinning);
+        pw.println("}");
+    }
+
     private void startQuickStep(MotionEvent event) {
         if (mIsInScreenPinning) {
             mNavigationBarView.showPinningEscapeToast();
@@ -580,15 +607,21 @@
         if (!mBackGestureActive) {
             mBackGestureActive = true;
             mNavigationBarView.getHomeButton().abortCurrentGesture();
+            final boolean runBackMidGesture
+                    = !SystemProperties.getBoolean(BACK_AFTER_END_PROP, false);
             if (mCanPerformBack) {
                 if (!shouldhideBackButton()) {
                     mNavigationBarView.getBackButton().setAlpha(0 /* alpha */, true /* animate */,
                             BACK_BUTTON_FADE_OUT_ALPHA);
                 }
-                performBack();
+                if (runBackMidGesture) {
+                    performBack();
+                }
             }
             mHandler.removeCallbacks(mExecuteBackRunnable);
-            mHandler.postDelayed(mExecuteBackRunnable, BACK_GESTURE_POLL_TIMEOUT);
+            if (runBackMidGesture) {
+                mHandler.postDelayed(mExecuteBackRunnable, BACK_GESTURE_POLL_TIMEOUT);
+            }
         }
     }
 
@@ -609,6 +642,9 @@
                 mNavigationBarView.getBackButton().setAlpha(
                         mOverviewEventSender.getBackButtonAlpha(), true /* animate */);
             }
+            if (SystemProperties.getBoolean(BACK_AFTER_END_PROP, false)) {
+                performBack();
+            }
         }
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/RotationContextButton.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/RotationContextButton.java
new file mode 100644
index 0000000..15e189c
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/RotationContextButton.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.systemui.statusbar.phone;
+
+import android.annotation.DrawableRes;
+import android.annotation.IdRes;
+import android.annotation.NonNull;
+import android.annotation.StyleRes;
+import android.content.Context;
+import android.content.ContextWrapper;
+import android.view.ContextThemeWrapper;
+import android.view.View;
+import com.android.systemui.statusbar.policy.KeyButtonDrawable;
+import com.android.systemui.util.Utils;
+
+public class RotationContextButton extends ContextualButton {
+
+    private @StyleRes int mStyleRes;
+
+    public RotationContextButton(@IdRes int buttonResId, @DrawableRes int iconResId,
+            @StyleRes int style) {
+        super(buttonResId, iconResId);
+        mStyleRes = style;
+    }
+
+    public void setStyle(@StyleRes int styleRes) {
+        mStyleRes = styleRes;
+    }
+
+    @Override
+    public void setVisibility(int visibility) {
+        super.setVisibility(visibility);
+
+        // Start the rotation animation once it becomes visible
+        final KeyButtonDrawable currentDrawable = getImageDrawable();
+        if (visibility == View.VISIBLE && currentDrawable != null) {
+            currentDrawable.resetAnimation();
+            currentDrawable.startAnimation();
+        }
+    }
+
+    @Override
+    protected KeyButtonDrawable getNewDrawable() {
+        Context context = new ContextThemeWrapper(getContext().getApplicationContext(), mStyleRes);
+        return KeyButtonDrawable.create(context, mIconResId, false /* shadow */);
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
index 7ec4db2..c3b87af 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ -102,6 +102,8 @@
 import android.os.VibrationEffect;
 import android.os.Vibrator;
 import android.provider.Settings;
+import android.service.dreams.DreamService;
+import android.service.dreams.IDreamManager;
 import android.service.notification.StatusBarNotification;
 import android.service.vr.IVrManager;
 import android.service.vr.IVrStateCallbacks;
@@ -154,6 +156,7 @@
 import com.android.systemui.Prefs;
 import com.android.systemui.R;
 import com.android.systemui.RecentsComponent;
+import com.android.systemui.SysUiServiceProvider;
 import com.android.systemui.SystemUI;
 import com.android.systemui.SystemUIFactory;
 import com.android.systemui.UiOffloadThread;
@@ -179,14 +182,11 @@
 import com.android.systemui.qs.car.CarQSFragment;
 import com.android.systemui.recents.Recents;
 import com.android.systemui.recents.ScreenPinningRequest;
-import com.android.systemui.recents.events.EventBus;
-import com.android.systemui.recents.events.activity.AppTransitionFinishedEvent;
-import com.android.systemui.recents.events.activity.UndockingTaskEvent;
-import com.android.systemui.recents.misc.SystemServicesProxy;
 import com.android.systemui.shared.system.WindowManagerWrapper;
 import com.android.systemui.stackdivider.Divider;
 import com.android.systemui.stackdivider.WindowManagerProxy;
 import com.android.systemui.statusbar.StatusBarState;
+import com.android.systemui.statusbar.AmbientPulseManager;
 import com.android.systemui.statusbar.notification.row.ActivatableNotificationView;
 import com.android.systemui.statusbar.notification.AppOpsListener;
 import com.android.systemui.statusbar.BackDropView;
@@ -254,7 +254,8 @@
         ActivityStarter, OnUnlockMethodChangedListener,
         OnHeadsUpChangedListener, CommandQueue.Callbacks, ZenModeController.Callback,
         ColorExtractor.OnColorsChangedListener, ConfigurationListener, NotificationPresenter,
-        StatusBarStateController.StateListener {
+        StatusBarStateController.StateListener,  AmbientPulseManager.OnAmbientChangedListener,
+        ActivityLaunchAnimator.Callback {
     public static final boolean MULTIUSER_DEBUG = false;
 
     public static final boolean ENABLE_CHILD_NOTIFICATIONS
@@ -380,8 +381,6 @@
     // settings
     private QSPanel mQSPanel;
 
-    // top bar
-    private KeyguardStatusBarView mKeyguardStatusBar;
     KeyguardIndicationController mKeyguardIndicationController;
 
     // RemoteInputView to be activated after unlock
@@ -632,9 +631,11 @@
 
         mColorExtractor = Dependency.get(SysuiColorExtractor.class);
         mColorExtractor.addOnColorsChangedListener(this);
-        mStatusBarStateController.addListener(this);
+        mStatusBarStateController.addListener(this, StatusBarStateController.RANK_STATUS_BAR);
 
         mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
+        mDreamManager = IDreamManager.Stub.asInterface(
+                ServiceManager.checkService(DreamService.DREAM_SERVICE));
 
         mDisplay = mWindowManager.getDefaultDisplay();
         updateDisplaySize();
@@ -732,10 +733,12 @@
 
         IVrManager vrManager = IVrManager.Stub.asInterface(ServiceManager.getService(
                 Context.VR_SERVICE));
-        try {
-            vrManager.registerListener(mVrStateCallbacks);
-        } catch (RemoteException e) {
-            Slog.e(TAG, "Failed to register VR mode state listener: " + e);
+        if (vrManager != null) {
+            try {
+                vrManager.registerListener(mVrStateCallbacks);
+            } catch (RemoteException e) {
+                Slog.e(TAG, "Failed to register VR mode state listener: " + e);
+            }
         }
 
         IWallpaperManager wallpaperManager = IWallpaperManager.Stub.asInterface(
@@ -802,7 +805,6 @@
         mAboveShelfObserver = new AboveShelfObserver(mStackScroller);
         mAboveShelfObserver.setListener(mStatusBarWindow.findViewById(
                 R.id.notification_container_parent));
-        mKeyguardStatusBar = mStatusBarWindow.findViewById(R.id.keyguard_header);
 
         mNotificationIconAreaController = SystemUIFactory.getInstance()
                 .createNotificationIconAreaController(context, this);
@@ -863,6 +865,8 @@
         mHeadsUpManager.addListener(mNotificationPanel);
         mHeadsUpManager.addListener(mGroupManager);
         mHeadsUpManager.addListener(mVisualStabilityManager);
+        mAmbientPulseManager.addListener(this);
+        mAmbientPulseManager.addListener(mGroupManager);
         mNotificationPanel.setHeadsUpManager(mHeadsUpManager);
         mGroupManager.setHeadsUpManager(mHeadsUpManager);
         putComponent(HeadsUpManager.class, mHeadsUpManager);
@@ -975,7 +979,6 @@
                     ((QSFragment) qs).setHost(qsh);
                     mQSPanel = ((QSFragment) qs).getQsPanel();
                     mQSPanel.setBrightnessMirror(mBrightnessMirrorController);
-                    mKeyguardStatusBar.setQSPanel(mQSPanel);
                 }
             });
         }
@@ -1113,8 +1116,6 @@
 
     @Override
     public void onThemeChanged() {
-        // The status bar on the keyguard is a special layout.
-        if (mKeyguardStatusBar != null) mKeyguardStatusBar.onThemeChanged();
         // Recreate Indication controller because internal references changed
         mKeyguardIndicationController =
                 SystemUIFactory.getInstance().createKeyguardIndicationController(mContext,
@@ -1142,11 +1143,6 @@
 
     @Override
     public void onUiModeChanged() {
-        // UiMode will change the style was already evaluated.
-        // We need to force the re-evaluation to make sure that all parents
-        // are up to date and new attrs will be rettrieved.
-        mContext.getTheme().applyStyle(mContext.getThemeResId(), true);
-
         if (mBrightnessMirrorController != null) {
             mBrightnessMirrorController.onUiModeChanged();
         }
@@ -1154,7 +1150,8 @@
 
     protected void createUserSwitcher() {
         mKeyguardUserSwitcher = new KeyguardUserSwitcher(mContext,
-                mStatusBarWindow.findViewById(R.id.keyguard_user_switcher), mKeyguardStatusBar,
+                mStatusBarWindow.findViewById(R.id.keyguard_user_switcher),
+                mStatusBarWindow.findViewById(R.id.keyguard_header),
                 mNotificationPanel);
     }
 
@@ -1171,6 +1168,8 @@
                 mScrimController, this, UnlockMethodCache.getInstance(mContext));
         mStatusBarKeyguardViewManager = keyguardViewMediator.registerStatusBar(this,
                 getBouncerContainer(), mNotificationPanel, mBiometricUnlockController);
+        //TODO: Can we put the keyguard view manager in Dependency?
+        mLockscreenUserManager.setKeyguardViewManager(mStatusBarKeyguardViewManager);
         mKeyguardIndicationController
                 .setStatusBarKeyguardViewManager(mStatusBarKeyguardViewManager);
         mBiometricUnlockController.setStatusBarKeyguardViewManager(mStatusBarKeyguardViewManager);
@@ -1216,17 +1215,18 @@
             int createMode = navbarPos == NAV_BAR_POS_LEFT
                     ? SPLIT_SCREEN_CREATE_MODE_BOTTOM_OR_RIGHT
                     : SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT;
-            return mRecents.splitPrimaryTask(NavigationBarGestureHelper.DRAG_MODE_NONE, createMode,
-                    null, metricsDockAction);
+            return mRecents.splitPrimaryTask(createMode, null, metricsDockAction);
         } else {
             Divider divider = getComponent(Divider.class);
-            if (divider != null && divider.isMinimized() && !divider.isHomeStackResizable()) {
-                // Undocking from the minimized state is not supported
-                return false;
-            } else {
-                EventBus.getDefault().send(new UndockingTaskEvent());
-                if (metricsUndockAction != -1) {
-                    mMetricsLogger.action(metricsUndockAction);
+            if (divider != null) {
+                if (divider.isMinimized() && !divider.isHomeStackResizable()) {
+                    // Undocking from the minimized state is not supported
+                    return false;
+                } else {
+                    divider.onUndockingTask();
+                    if (metricsUndockAction != -1) {
+                        mMetricsLogger.action(metricsUndockAction);
+                    }
                 }
             }
         }
@@ -1236,7 +1236,7 @@
     @Override
     public void onPerformRemoveNotification(StatusBarNotification n) {
         if (mNotificationPanel.hasPulsingNotifications() &&
-                    !mHeadsUpManager.hasNotifications()) {
+                    !mAmbientPulseManager.hasNotifications()) {
             // We were showing a pulse for a notification, but no notifications are pulsing anymore.
             // Finish the pulse.
             mDozeScrimController.pulseOutNow();
@@ -1700,8 +1700,12 @@
     }
 
     @Override
-    public boolean shouldPeek(Entry entry, StatusBarNotification sbn) {
-        if (mIsOccluded && !isDozing()) {
+    public boolean canHeadsUp(Entry entry, StatusBarNotification sbn) {
+        if (isDozing()) {
+            return false;
+        }
+
+        if (mIsOccluded) {
             boolean devicePublic = mLockscreenUserManager.
                     isLockscreenPublicMode(mLockscreenUserManager.getCurrentUserId());
             boolean userPublic = devicePublic
@@ -1714,17 +1718,14 @@
 
         if (!panelsEnabled()) {
             if (DEBUG) {
-                Log.d(TAG, "No peeking: disabled panel : " + sbn.getKey());
+                Log.d(TAG, "No heads up: disabled panel : " + sbn.getKey());
             }
             return false;
         }
 
         if (sbn.getNotification().fullScreenIntent != null) {
             if (mAccessibilityManager.isTouchExplorationEnabled()) {
-                if (DEBUG) Log.d(TAG, "No peeking: accessible fullscreen: " + sbn.getKey());
-                return false;
-            } else if (isDozing()) {
-                // We never want heads up when we are dozing.
+                if (DEBUG) Log.d(TAG, "No heads up: accessible fullscreen: " + sbn.getKey());
                 return false;
             } else {
                 // we only allow head-up on the lockscreen if it doesn't have a fullscreen intent
@@ -1800,9 +1801,16 @@
     @Override
     public void onHeadsUpStateChanged(Entry entry, boolean isHeadsUp) {
         mEntryManager.updateNotificationRanking(null /* rankingMap */);
+    }
 
-        if (isHeadsUp) {
-            mDozeServiceHost.fireNotificationHeadsUp();
+    @Override
+    public void onAmbientStateChanged(Entry entry, boolean isAmbient) {
+        mEntryManager.updateNotificationRanking(null);
+        if (isAmbient) {
+            mDozeServiceHost.fireNotificationPulse();
+        } else if (!mAmbientPulseManager.hasNotifications()) {
+            // There are no longer any notifications to show.  We should end the pulse now.
+            mDozeScrimController.pulseOutNow();
         }
     }
 
@@ -1903,6 +1911,7 @@
         }
     }
 
+    @Override
     public void onLaunchAnimationCancelled() {
         if (!isCollapsing()) {
             onClosingFinished();
@@ -1913,6 +1922,31 @@
         return mHeadsUpAppearanceController.shouldBeVisible();
     }
 
+    @Override
+    public void onExpandAnimationFinished(boolean launchIsFullScreen) {
+        if (!isCollapsing()) {
+            onClosingFinished();
+        }
+        if (launchIsFullScreen) {
+            instantCollapseNotificationPanel();
+        }
+    }
+
+    @Override
+    public void onExpandAnimationTimedOut() {
+        if (isPresenterFullyCollapsed() && !isCollapsing()
+                && !mActivityLaunchAnimator.isLaunchForActivity()) {
+            onClosingFinished();
+        } else {
+            collapsePanel(true /* animate */);
+        }
+    }
+
+    @Override
+    public boolean areLaunchAnimationsEnabled() {
+        return mState == StatusBarState.SHADE;
+    }
+
     /**
      * All changes to the status bar and notifications funnel through here and are batched.
      */
@@ -2148,7 +2182,7 @@
     }
 
     @Override
-    public void animateExpandSettingsPanel(String subPanel) {
+    public void animateExpandSettingsPanel(@Nullable String subPanel) {
         if (SPEW) Log.d(TAG, "animateExpand: mExpandedVisible=" + mExpandedVisible);
         if (!panelsEnabled()) {
             return;
@@ -2157,7 +2191,6 @@
         // Settings are not available in setup
         if (!mUserSetup) return;
 
-
         if (subPanel != null) {
             mQSPanel.openDetails(subPanel);
         }
@@ -2916,8 +2949,6 @@
         // End old BaseStatusBar.userSwitched
         if (MULTIUSER_DEBUG) mNotificationPanelDebugText.setText("USER " + newUserId);
         animateCollapsePanels();
-        updatePublicMode();
-        mEntryManager.getNotificationData().filterAndSort();
         if (mReinflateNotificationsOnUserSwitched) {
             mEntryManager.updateNotificationsOnDensityOrFontScaleChanged();
             mReinflateNotificationsOnUserSwitched = false;
@@ -3350,7 +3381,9 @@
     }
 
     public boolean isCollapsing() {
-        return mNotificationPanel.isCollapsing() || mActivityLaunchAnimator.isAnimationPending();
+        return mNotificationPanel.isCollapsing()
+                || mActivityLaunchAnimator.isAnimationPending()
+                || mActivityLaunchAnimator.isAnimationRunning();
     }
 
     public void addPostCollapseAction(Runnable r) {
@@ -3456,7 +3489,14 @@
         mIsKeyguard = false;
         Trace.beginSection("StatusBar#hideKeyguard");
         boolean staying = mStatusBarStateController.leaveOpenOnKeyguardHide();
-        mStatusBarStateController.setState(StatusBarState.SHADE);
+        if (!(mStatusBarStateController.setState(StatusBarState.SHADE))) {
+            //TODO: StatusBarStateController should probably know about hiding the keyguard and
+            // notify listeners.
+
+            // If the state didn't change, we may still need to update public mode
+            mLockscreenUserManager.updatePublicMode();
+            mEntryManager.updateNotifications();
+        }
         View viewToClick = null;
         if (mStatusBarStateController.leaveOpenOnKeyguardHide()) {
             if (!mKeyguardRequested) {
@@ -3542,34 +3582,6 @@
         mScrimController.setExpansionAffectsAlpha(true);
     }
 
-    // TODO: Move this to NotificationLockscreenUserManager.
-    private void updatePublicMode() {
-        final boolean showingKeyguard = mStatusBarKeyguardViewManager.isShowing();
-        final boolean devicePublic = showingKeyguard
-                && mStatusBarKeyguardViewManager.isSecure(
-                        mLockscreenUserManager.getCurrentUserId());
-
-        // Look for public mode users. Users are considered public in either case of:
-        //   - device keyguard is shown in secure mode;
-        //   - profile is locked with a work challenge.
-        SparseArray<UserInfo> currentProfiles = mLockscreenUserManager.getCurrentProfiles();
-        for (int i = currentProfiles.size() - 1; i >= 0; i--) {
-            final int userId = currentProfiles.valueAt(i).id;
-            boolean isProfilePublic = devicePublic;
-            if (!devicePublic && userId != mLockscreenUserManager.getCurrentUserId()) {
-                // We can't rely on KeyguardManager#isDeviceLocked() for unified profile challenge
-                // due to a race condition where this code could be called before
-                // TrustManagerService updates its internal records, resulting in an incorrect
-                // state being cached in mLockscreenPublicMode. (b/35951989)
-                if (mLockPatternUtils.isSeparateProfileChallengeEnabled(userId)
-                        && mStatusBarKeyguardViewManager.isSecure(userId)) {
-                    isProfilePublic = mKeyguardManager.isDeviceLocked(userId);
-                }
-            }
-            mLockscreenUserManager.setLockscreenPublicMode(isProfilePublic, userId);
-        }
-    }
-
     /**
      * Switches theme from light to dark and vice-versa.
      */
@@ -3599,6 +3611,7 @@
         mKeyguardIndicationController.setDozing(mDozing);
         mNotificationPanel.setDozing(mDozing, animate, mWakeUpTouchLocation);
         mNotificationLogger.setDozing(mDozing);
+        mGroupManager.setDozing(mDozing);
         updateQsExpansionEnabled();
         Trace.endSection();
     }
@@ -3759,8 +3772,6 @@
             }
         }
         updateDozingState();
-        updatePublicMode();
-        mEntryManager.updateNotifications();
         checkBarModes();
         updateScrimController();
         updateMediaMetaData(false, mState != StatusBarState.KEYGUARD);
@@ -4013,8 +4024,6 @@
 
     @Override
     public void onWorkChallengeChanged() {
-        updatePublicMode();
-        mEntryManager.updateNotifications();
         if (mPendingWorkRemoteInputView != null
                 && !mLockscreenUserManager.isAnyProfilePublicMode()) {
             // Expand notification panel and the notification row, then click on remote input view
@@ -4145,6 +4154,7 @@
         @Override
         public void onStartedWakingUp() {
             mDeviceInteractive = true;
+            mAmbientPulseManager.releaseAllImmediately();
             mVisualStabilityManager.setScreenOn(true);
             mNotificationPanel.setTouchAndAnimationDisabled(false);
             mDozeServiceHost.stopDozing();
@@ -4177,11 +4187,7 @@
         public void onScreenTurnedOff() {
             mFalsingManager.onScreenOff();
             mScrimController.onScreenTurnedOff();
-            // If we pulse in from AOD, we turn the screen off first. However, updatingIsKeyguard
-            // in that case destroys the HeadsUpManager state, so don't do it in that case.
-            if (!isPulsing()) {
-                updateIsKeyguard();
-            }
+            updateIsKeyguard();
         }
     };
 
@@ -4241,12 +4247,12 @@
 
     @Override
     public void appTransitionCancelled() {
-        EventBus.getDefault().send(new AppTransitionFinishedEvent());
+        getComponent(Divider.class).onAppTransitionFinished();
     }
 
     @Override
     public void appTransitionFinished() {
-        EventBus.getDefault().send(new AppTransitionFinishedEvent());
+        getComponent(Divider.class).onAppTransitionFinished();
     }
 
     @Override
@@ -4420,9 +4426,9 @@
             }
         }
 
-        public void fireNotificationHeadsUp() {
+        public void fireNotificationPulse() {
             for (Callback callback : mCallbacks) {
-                callback.onNotificationHeadsUp();
+                callback.onNotificationAlerted();
             }
         }
 
@@ -4458,7 +4464,7 @@
                 @Override
                 public void onPulseStarted() {
                     callback.onPulseStarted();
-                    if (mHeadsUpManager.hasNotifications()) {
+                    if (mAmbientPulseManager.hasNotifications()) {
                         // Only pulse the stack scroller if there's actually something to show.
                         // Otherwise just show the always-on screen.
                         setPulsing(true);
@@ -4539,7 +4545,11 @@
 
         @Override
         public void extendPulse() {
-            mDozeScrimController.extendPulse();
+            if (mDozeScrimController.isPulsing() && mAmbientPulseManager.hasNotifications()) {
+                mAmbientPulseManager.extendPulse();
+            } else {
+                mDozeScrimController.extendPulse();
+            }
         }
 
         @Override
@@ -4625,6 +4635,8 @@
     // for heads up notifications
     protected HeadsUpManagerPhone mHeadsUpManager;
 
+    protected AmbientPulseManager mAmbientPulseManager = Dependency.get(AmbientPulseManager.class);
+
     private AboveShelfObserver mAboveShelfObserver;
 
     // handling reordering
@@ -4652,6 +4664,7 @@
 
     protected WindowManager mWindowManager;
     protected IWindowManager mWindowManagerService;
+    private IDreamManager mDreamManager;
 
     protected Display mDisplay;
 
@@ -4724,13 +4737,14 @@
                 : notification.fullScreenIntent;
         final String notificationKey = sbn.getKey();
 
-        final boolean afterKeyguardGone = intent.isActivity()
+        boolean isActivityIntent = intent.isActivity();
+        final boolean afterKeyguardGone = isActivityIntent
                 && PreviewInflater.wouldLaunchResolverActivity(mContext, intent.getIntent(),
                 mLockscreenUserManager.getCurrentUserId());
         final boolean wasOccluded = mIsOccluded;
         dismissKeyguardThenExecute(() -> {
             // TODO: Some of this code may be able to move to NotificationEntryManager.
-            if (mHeadsUpManager != null && mHeadsUpManager.contains(notificationKey)) {
+            if (mHeadsUpManager != null && mHeadsUpManager.isAlerting(notificationKey)) {
                 // Release the HUN notification to the shade.
 
                 if (isPresenterFullyCollapsed()) {
@@ -4765,7 +4779,7 @@
                     // If we are launching a work activity and require to launch
                     // separate work challenge, we defer the activity action and cancel
                     // notification until work challenge is unlocked.
-                    if (intent.isActivity()) {
+                    if (isActivityIntent) {
                         final int userId = intent.getCreatorUserHandle().getIdentifier();
                         if (mLockPatternUtils.isSeparateProfileChallengeEnabled(userId)
                                 && mKeyguardManager.isDeviceLocked(userId)) {
@@ -4801,7 +4815,7 @@
                         }
                         launchResult = intent.sendAndReturnResult(mContext, 0, fillInIntent, null,
                                 null, null, getActivityOptions(adapter));
-                        mActivityLaunchAnimator.setLaunchResult(launchResult);
+                        mActivityLaunchAnimator.setLaunchResult(launchResult, isActivityIntent);
                     } catch (RemoteException | PendingIntent.CanceledException e) {
                         // the stack trace isn't very helpful here.
                         // Just log the exception message.
@@ -4809,7 +4823,7 @@
 
                         // TODO: Dismiss Keyguard.
                     }
-                    if (intent.isActivity()) {
+                    if (isActivityIntent) {
                         mAssistManager.hideAssist();
                     }
                 }
@@ -4928,7 +4942,7 @@
                         .startActivities(getActivityOptions(
                                 mActivityLaunchAnimator.getLaunchAnimation(row, mIsOccluded)),
                                 new UserHandle(UserHandle.getUserId(appUid)));
-                mActivityLaunchAnimator.setLaunchResult(launchResult);
+                mActivityLaunchAnimator.setLaunchResult(launchResult, true /* isActivityIntent */);
                 if (shouldCollapse()) {
                     // Putting it back on the main thread, since we're touching views
                     mStatusBarWindow.post(() -> animateCollapsePanels(
@@ -4955,7 +4969,13 @@
     }
 
     void awakenDreams() {
-        SystemServicesProxy.getInstance(mContext).awakenDreamsAsync();
+        Dependency.get(UiOffloadThread.class).submit(() -> {
+            try {
+                mDreamManager.awaken();
+            } catch (RemoteException e) {
+                e.printStackTrace();
+            }
+        });
     }
 
     @Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
index e8389af..3db1456 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
@@ -460,6 +460,11 @@
                 boolean staying = mStatusBar.hideKeyguard();
                 if (!staying) {
                     mStatusBarWindowController.setKeyguardFadingAway(true);
+                    // hide() will happen asynchronously and might arrive after the scrims
+                    // were already hidden, this means that the transition callback won't
+                    // be triggered anymore and StatusBarWindowController will be forever in
+                    // the fadingAway state.
+                    mStatusBar.updateScrimController();
                     wakeAndUnlockDejank();
                 } else {
                     mStatusBar.finishKeyguardFadingAway();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowController.java
index 167bba6..57c7e28 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowController.java
@@ -93,7 +93,8 @@
         mKeyguardScreenRotation = shouldEnableKeyguardScreenRotation();
         mDozeParameters = dozeParameters;
         mScreenBrightnessDoze = mDozeParameters.getScreenBrightnessDoze();
-        Dependency.get(StatusBarStateController.class).addListener(mStateListener);
+        Dependency.get(StatusBarStateController.class).addListener(
+                mStateListener, StatusBarStateController.RANK_STATUS_BAR_WINDOW_CONTROLLER);
         Dependency.get(ConfigurationController.class).addCallback(this);
     }
 
@@ -135,6 +136,7 @@
         mWindowManager.addView(mStatusBarView, mLp);
         mLpChanged = new WindowManager.LayoutParams();
         mLpChanged.copyFrom(mLp);
+        onThemeChanged();
     }
 
     public void setDozeScreenBrightness(int value) {
@@ -483,6 +485,10 @@
 
     @Override
     public void onThemeChanged() {
+        if (mStatusBarView == null) {
+            return;
+        }
+
         StatusBarStateController state = Dependency.get(StatusBarStateController.class);
         int which;
         if (state.getState() == StatusBarState.KEYGUARD
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/ExtensionControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/ExtensionControllerImpl.java
index 6d75cfc..a6146a6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/ExtensionControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/ExtensionControllerImpl.java
@@ -22,7 +22,7 @@
 import com.android.systemui.Dependency;
 import com.android.systemui.plugins.Plugin;
 import com.android.systemui.plugins.PluginListener;
-import com.android.systemui.plugins.PluginManager;
+import com.android.systemui.shared.plugins.PluginManager;
 import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener;
 import com.android.systemui.tuner.TunerService;
 import com.android.systemui.tuner.TunerService.Tunable;
@@ -71,7 +71,7 @@
 
         @Override
         public <P extends T> ExtensionController.ExtensionBuilder<T> withPlugin(Class<P> cls) {
-            return withPlugin(cls, PluginManager.getAction(cls));
+            return withPlugin(cls, PluginManager.Helper.getAction(cls));
         }
 
         @Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java
index 3c16329..0a72c3f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java
@@ -17,10 +17,7 @@
 package com.android.systemui.statusbar.policy;
 
 import android.app.ActivityManager;
-import android.content.BroadcastReceiver;
 import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
 import android.net.ConnectivityManager;
 import android.net.wifi.WifiManager;
 import android.os.UserManager;
@@ -38,14 +35,13 @@
     private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
 
     private final ArrayList<Callback> mCallbacks = new ArrayList<>();
-    private final WifiStateReceiver mWifiStateReceiver = new WifiStateReceiver();
     private final ConnectivityManager mConnectivityManager;
     private final WifiManager mWifiManager;
     private final Context mContext;
 
     private int mHotspotState;
     private int mNumConnectedDevices;
-    private boolean mWaitingForCallback;
+    private boolean mWaitingForTerminalState;
 
     public HotspotControllerImpl(Context context) {
         mContext = context;
@@ -63,7 +59,9 @@
 
     public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
         pw.println("HotspotController state:");
-        pw.print("  mHotspotEnabled="); pw.println(stateToString(mHotspotState));
+        pw.print("  mHotspotState="); pw.println(stateToString(mHotspotState));
+        pw.print("  mNumConnectedDevices="); pw.println(mNumConnectedDevices);
+        pw.print("  mWaitingForTerminalState="); pw.println(mWaitingForTerminalState);
     }
 
     private static String stateToString(int hotspotState) {
@@ -99,7 +97,6 @@
         if (DEBUG) Log.d(TAG, "removeCallback " + callback);
         synchronized (mCallbacks) {
             mCallbacks.remove(callback);
-
             updateWifiStateListeners(!mCallbacks.isEmpty());
         }
     }
@@ -112,7 +109,6 @@
      * @param shouldListen whether we should start listening to various wifi statuses
      */
     private void updateWifiStateListeners(boolean shouldListen) {
-        mWifiStateReceiver.setListening(shouldListen);
         if (shouldListen) {
             mWifiManager.registerSoftApCallback(
                     this,
@@ -129,21 +125,27 @@
 
     @Override
     public boolean isHotspotTransient() {
-        return mWaitingForCallback || (mHotspotState == WifiManager.WIFI_AP_STATE_ENABLING);
+        return mWaitingForTerminalState || (mHotspotState == WifiManager.WIFI_AP_STATE_ENABLING);
     }
 
     @Override
     public void setHotspotEnabled(boolean enabled) {
-        if (mWaitingForCallback) {
-            if (DEBUG) Log.d(TAG, "Ignoring setHotspotEnabled; waiting for callback.");
+        if (mWaitingForTerminalState) {
+            if (DEBUG) Log.d(TAG, "Ignoring setHotspotEnabled; waiting for terminal state.");
             return;
         }
         if (enabled) {
-            OnStartTetheringCallback callback = new OnStartTetheringCallback();
-            mWaitingForCallback = true;
+            mWaitingForTerminalState = true;
             if (DEBUG) Log.d(TAG, "Starting tethering");
-            mConnectivityManager.startTethering(
-                    ConnectivityManager.TETHERING_WIFI, false, callback);
+            mConnectivityManager.startTethering(ConnectivityManager.TETHERING_WIFI, false,
+                    new ConnectivityManager.OnStartTetheringCallback() {
+                        @Override
+                        public void onTetheringFailed() {
+                            if (DEBUG) Log.d(TAG, "onTetheringFailed");
+                            maybeResetSoftApState();
+                            fireHotspotChangedCallback();
+                        }
+                    });
         } else {
             mConnectivityManager.stopTethering(ConnectivityManager.TETHERING_WIFI);
         }
@@ -155,97 +157,56 @@
     }
 
     /**
-     * Sends a hotspot changed callback with the new enabled status. Wraps
-     * {@link #fireHotspotChangedCallback(boolean, int)} and assumes that the number of devices has
-     * not changed.
-     *
-     * @param enabled whether the hotspot is enabled
+     * Sends a hotspot changed callback.
+     * Be careful when calling over multiple threads, especially if one of them is the main thread
+     * (as it can be blocked).
      */
-    private void fireHotspotChangedCallback(boolean enabled) {
-        fireHotspotChangedCallback(enabled, mNumConnectedDevices);
-    }
-
-    /**
-     * Sends a hotspot changed callback with the new enabled status & the number of devices
-     * connected to the hotspot. Be careful when calling over multiple threads, especially if one of
-     * them is the main thread (as it can be blocked).
-     *
-     * @param enabled whether the hotspot is enabled
-     * @param numConnectedDevices number of devices connected to the hotspot
-     */
-    private void fireHotspotChangedCallback(boolean enabled, int numConnectedDevices) {
+    private void fireHotspotChangedCallback() {
         synchronized (mCallbacks) {
             for (Callback callback : mCallbacks) {
-                callback.onHotspotChanged(enabled, numConnectedDevices);
+                callback.onHotspotChanged(isHotspotEnabled(), mNumConnectedDevices);
             }
         }
     }
 
     @Override
     public void onStateChanged(int state, int failureReason) {
-        // Do nothing - we don't care about changing anything here.
+        // Update internal hotspot state for tracking before using any enabled/callback methods.
+        mHotspotState = state;
+
+        maybeResetSoftApState();
+        if (!isHotspotEnabled()) {
+            // Reset num devices if the hotspot is no longer enabled so we don't get ghost
+            // counters.
+            mNumConnectedDevices = 0;
+        }
+
+        fireHotspotChangedCallback();
+    }
+
+    private void maybeResetSoftApState() {
+        if (!mWaitingForTerminalState) {
+            return; // Only reset soft AP state if enabled from this controller.
+        }
+        switch (mHotspotState) {
+            case WifiManager.WIFI_AP_STATE_FAILED:
+                // TODO(b/110697252): must be called to reset soft ap state after failure
+                mConnectivityManager.stopTethering(ConnectivityManager.TETHERING_WIFI);
+                // Fall through
+            case WifiManager.WIFI_AP_STATE_ENABLED:
+            case WifiManager.WIFI_AP_STATE_DISABLED:
+                mWaitingForTerminalState = false;
+                break;
+            case WifiManager.WIFI_AP_STATE_ENABLING:
+            case WifiManager.WIFI_AP_STATE_DISABLING:
+            default:
+                break;
+        }
     }
 
     @Override
     public void onNumClientsChanged(int numConnectedDevices) {
         mNumConnectedDevices = numConnectedDevices;
-        fireHotspotChangedCallback(isHotspotEnabled(), numConnectedDevices);
-    }
-
-    private final class OnStartTetheringCallback extends
-            ConnectivityManager.OnStartTetheringCallback {
-        @Override
-        public void onTetheringStarted() {
-            if (DEBUG) Log.d(TAG, "onTetheringStarted");
-            mWaitingForCallback = false;
-            // Don't fire a callback here, instead wait for the next update from wifi.
-        }
-
-        @Override
-        public void onTetheringFailed() {
-            if (DEBUG) Log.d(TAG, "onTetheringFailed");
-            mWaitingForCallback = false;
-            fireHotspotChangedCallback(isHotspotEnabled());
-          // TODO: Show error.
-        }
-    }
-
-    /**
-     * Class to listen in on wifi state and update the hotspot state
-     */
-    private final class WifiStateReceiver extends BroadcastReceiver {
-        private boolean mRegistered;
-
-        public void setListening(boolean listening) {
-            if (listening && !mRegistered) {
-                if (DEBUG) Log.d(TAG, "Registering receiver");
-                final IntentFilter filter = new IntentFilter();
-                filter.addAction(WifiManager.WIFI_AP_STATE_CHANGED_ACTION);
-                mContext.registerReceiver(this, filter);
-                mRegistered = true;
-            } else if (!listening && mRegistered) {
-                if (DEBUG) Log.d(TAG, "Unregistering receiver");
-                mContext.unregisterReceiver(this);
-                mRegistered = false;
-            }
-        }
-
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            int state = intent.getIntExtra(
-                    WifiManager.EXTRA_WIFI_AP_STATE, WifiManager.WIFI_AP_STATE_FAILED);
-            if (DEBUG) Log.d(TAG, "onReceive " + state);
-
-            // Update internal hotspot state for tracking before using any enabled/callback methods.
-            mHotspotState = state;
-
-            if (!isHotspotEnabled()) {
-                // Reset num devices if the hotspot is no longer enabled so we don't get ghost
-                // counters.
-                mNumConnectedDevices = 0;
-            }
-
-            fireHotspotChangedCallback(isHotspotEnabled());
-        }
+        fireHotspotChangedCallback();
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonDrawable.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonDrawable.java
index 945d9b9..2340786 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonDrawable.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonDrawable.java
@@ -19,6 +19,7 @@
 import android.animation.ArgbEvaluator;
 import android.annotation.ColorInt;
 import android.annotation.DrawableRes;
+import android.annotation.NonNull;
 import android.content.Context;
 import android.content.res.Resources;
 import android.graphics.Bitmap;
@@ -35,6 +36,7 @@
 import android.graphics.drawable.AnimatedVectorDrawable;
 import android.graphics.drawable.Drawable;
 import android.util.FloatProperty;
+import android.view.ContextThemeWrapper;
 import com.android.settingslib.Utils;
 import com.android.systemui.R;
 
@@ -388,6 +390,23 @@
         }
     }
 
+    /**
+     * Creates a KeyButtonDrawable with a shadow given its icon. The tint applied to the drawable
+     * is determined by the dark and light theme given by the context.
+     * @param ctx Context to get the drawable and determine the dark and light theme
+     * @param icon the icon resource id
+     * @param hasShadow if a shadow will appear with the drawable
+     * @return KeyButtonDrawable
+     */
+    public static KeyButtonDrawable create(@NonNull Context ctx, @DrawableRes int icon,
+        boolean hasShadow) {
+        final int dualToneDarkTheme = Utils.getThemeAttr(ctx, R.attr.darkIconTheme);
+        final int dualToneLightTheme = Utils.getThemeAttr(ctx, R.attr.lightIconTheme);
+        Context lightContext = new ContextThemeWrapper(ctx, dualToneLightTheme);
+        Context darkContext = new ContextThemeWrapper(ctx, dualToneDarkTheme);
+        return KeyButtonDrawable.create(lightContext, darkContext, icon, hasShadow);
+    }
+
     public static KeyButtonDrawable create(Context lightContext, Context darkContext,
         @DrawableRes int iconResId, boolean hasShadow) {
         return create(lightContext,
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
index 52b813f..7dd0d0f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
@@ -586,7 +586,8 @@
             final InputConnection inputConnection = super.onCreateInputConnection(outAttrs);
 
             if (mShowImeOnInputConnection && inputConnection != null) {
-                final InputMethodManager imm = InputMethodManager.getInstance();
+                final InputMethodManager imm =
+                        getContext().getSystemService(InputMethodManager.class);
                 if (imm != null) {
                     // onCreateInputConnection is called by InputMethodManager in the middle of
                     // setting up the connection to the IME; wait with requesting the IME until that
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SecurityControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SecurityControllerImpl.java
index 0adb439..29a6b95 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SecurityControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SecurityControllerImpl.java
@@ -403,7 +403,7 @@
                 boolean hasCACerts = !(conn.getService().getUserCaAliases().getList().isEmpty());
                 return new Pair<Integer, Boolean>(userId[0], hasCACerts);
             } catch (RemoteException | InterruptedException | AssertionError e) {
-                Log.i(TAG, e.getMessage());
+                Log.i(TAG, "failed to get CA certs", e);
                 new Handler(Dependency.get(Dependency.BG_LOOPER)).postDelayed(
                         () -> new CACertLoader().execute(userId[0]),
                         CA_CERT_LOADING_RETRY_TIME_IN_MS);
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/PluginFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/PluginFragment.java
index c294806..71414a2 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/PluginFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/PluginFragment.java
@@ -34,11 +34,10 @@
 import android.view.View;
 
 import com.android.systemui.R;
-import com.android.systemui.plugins.PluginInstanceManager;
-import com.android.systemui.plugins.PluginManager;
-import com.android.systemui.plugins.PluginPrefs;
+import com.android.systemui.shared.plugins.PluginInstanceManager;
+import com.android.systemui.shared.plugins.PluginManager;
+import com.android.systemui.shared.plugins.PluginPrefs;
 
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
 
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java
index 088630f..5aa3035 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java
@@ -32,7 +32,7 @@
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.systemui.R;
-import com.android.systemui.plugins.PluginPrefs;
+import com.android.systemui.shared.plugins.PluginPrefs;
 
 public class TunerFragment extends PreferenceFragment {
 
diff --git a/packages/SystemUI/src/com/android/systemui/volume/CarVolumeDialogImpl.java b/packages/SystemUI/src/com/android/systemui/volume/CarVolumeDialogImpl.java
index 2cbb78a..3744105 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/CarVolumeDialogImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/CarVolumeDialogImpl.java
@@ -356,10 +356,11 @@
     if (supplementalIconId != 0) {
       Drawable supplementalIcon = mContext.getResources().getDrawable(supplementalIconId);
       supplementalIcon.mutate().setTint(color);
-      listItem.setSupplementalIcon(supplementalIcon, true,
-          supplementalIconOnClickListener);
+      listItem.setSupplementalIcon(supplementalIcon, true);
+      listItem.setSupplementalIconListener(supplementalIconOnClickListener);
     } else {
       listItem.setSupplementalEmptyIcon(true);
+      listItem.setSupplementalIconListener(null);
     }
 
     mVolumeLineItems.add(listItem);
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
index 13c43f7..4810b0b 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
@@ -18,6 +18,7 @@
 
 import static android.accessibilityservice.AccessibilityServiceInfo.FEEDBACK_ALL_MASK;
 import static android.accessibilityservice.AccessibilityServiceInfo.FEEDBACK_GENERIC;
+import static android.app.ActivityManager.LOCK_TASK_MODE_NONE;
 import static android.media.AudioManager.RINGER_MODE_NORMAL;
 import static android.media.AudioManager.RINGER_MODE_SILENT;
 import static android.media.AudioManager.RINGER_MODE_VIBRATE;
@@ -34,6 +35,7 @@
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.animation.ObjectAnimator;
 import android.annotation.SuppressLint;
+import android.app.ActivityManager;
 import android.app.Dialog;
 import android.app.KeyguardManager;
 import android.content.ContentResolver;
@@ -129,6 +131,7 @@
     private ConfigurableTexts mConfigurableTexts;
     private final SparseBooleanArray mDynamic = new SparseBooleanArray();
     private final KeyguardManager mKeyguard;
+    private final ActivityManager mActivityManager;
     private final AccessibilityManagerWrapper mAccessibilityMgr;
     private final Object mSafetyWarningLock = new Object();
     private final Accessibility mAccessibility = new Accessibility();
@@ -154,6 +157,7 @@
         mContext = new ContextThemeWrapper(context, com.android.systemui.R.style.qs_theme);
         mController = Dependency.get(VolumeDialogController.class);
         mKeyguard = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE);
+        mActivityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
         mAccessibilityMgr = Dependency.get(AccessibilityManagerWrapper.class);
         mDeviceProvisionedController = Dependency.get(DeviceProvisionedController.class);
         mShowActiveStreamOnly = showActiveStreamOnly();
@@ -431,7 +435,9 @@
     public void initSettingsH() {
         if (mSettingsView != null) {
             mSettingsView.setVisibility(
-                    mDeviceProvisionedController.isCurrentUserSetup() ? VISIBLE : GONE);
+                    mDeviceProvisionedController.isCurrentUserSetup() &&
+                            mActivityManager.getLockTaskModeState() == LOCK_TASK_MODE_NONE ?
+                            VISIBLE : GONE);
         }
         if (mSettingsIcon != null) {
             mSettingsIcon.setOnClickListener(v -> {
diff --git a/packages/SystemUI/tests/Android.mk b/packages/SystemUI/tests/Android.mk
index 6057614..aac37a2 100644
--- a/packages/SystemUI/tests/Android.mk
+++ b/packages/SystemUI/tests/Android.mk
@@ -38,7 +38,8 @@
     android.test.runner \
     telephony-common \
     android.test.base \
-    android.car
+    android.car \
+    android.car.user
 
 LOCAL_AAPT_FLAGS := --extra-packages com.android.systemui:com.android.keyguard
 
diff --git a/packages/SystemUI/tests/AndroidManifest.xml b/packages/SystemUI/tests/AndroidManifest.xml
index 8b1324a..e73c70b 100644
--- a/packages/SystemUI/tests/AndroidManifest.xml
+++ b/packages/SystemUI/tests/AndroidManifest.xml
@@ -17,6 +17,7 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
     xmlns:tools="http://schemas.android.com/tools"
+    android:sharedUserId="android.uid.system"
     package="com.android.systemui.tests">
 
     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchTest.java
index e6e4857..62ca3f3 100644
--- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchTest.java
+++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchTest.java
@@ -40,7 +40,7 @@
 import com.android.systemui.SysuiTestCase;
 import com.android.systemui.plugins.ClockPlugin;
 import com.android.systemui.plugins.PluginListener;
-import com.android.systemui.plugins.PluginManager;
+import com.android.systemui.shared.plugins.PluginManager;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPatternViewTest.kt b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPatternViewTest.kt
new file mode 100644
index 0000000..cfe9818
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPatternViewTest.kt
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.keyguard
+
+import android.support.test.filters.SmallTest
+import android.testing.AndroidTestingRunner
+import android.testing.TestableLooper
+import android.view.LayoutInflater
+
+import com.android.systemui.SysuiTestCase
+import com.google.common.truth.Truth.assertThat
+
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@SmallTest
+@RunWith(AndroidTestingRunner::class)
+@TestableLooper.RunWithLooper
+class KeyguardPatternViewTest : SysuiTestCase() {
+
+    private lateinit var mKeyguardPatternView: KeyguardPatternView
+    private lateinit var mSecurityMessage: KeyguardMessageArea
+
+    @Before
+    fun setup() {
+        val inflater = LayoutInflater.from(context)
+        mKeyguardPatternView = inflater.inflate(R.layout.keyguard_pattern_view, null)
+                as KeyguardPatternView
+        mSecurityMessage = KeyguardMessageArea.findSecurityMessageDisplay(mKeyguardPatternView)
+                as KeyguardMessageArea
+    }
+
+    @Test
+    fun onResume_clearsTextField() {
+        mSecurityMessage.setMessage("an old message")
+        mKeyguardPatternView.onResume(KeyguardSecurityView.SCREEN_ON)
+        assertThat(mSecurityMessage.text).isEqualTo("")
+    }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeScreenBrightnessTest.java b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeScreenBrightnessTest.java
index eaa0dcf..1cf73b0 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeScreenBrightnessTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeScreenBrightnessTest.java
@@ -33,6 +33,7 @@
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 
+import android.content.Intent;
 import android.os.PowerManager;
 import android.os.UserHandle;
 import android.provider.Settings;
@@ -71,7 +72,8 @@
         mSensor = mSensorManager.getFakeLightSensor();
         mScreen = new DozeScreenBrightness(mContext, mServiceFake, mSensorManager,
                 mSensor.getSensor(), mHostFake, null /* handler */,
-                DEFAULT_BRIGHTNESS, SENSOR_TO_BRIGHTNESS, SENSOR_TO_OPACITY);
+                DEFAULT_BRIGHTNESS, SENSOR_TO_BRIGHTNESS, SENSOR_TO_OPACITY,
+                true /* debuggable */);
     }
 
     @Test
@@ -93,6 +95,19 @@
     }
 
     @Test
+    public void testAod_usesDebugValue() throws Exception {
+        mScreen.transitionTo(UNINITIALIZED, INITIALIZED);
+        mScreen.transitionTo(INITIALIZED, DOZE_AOD);
+
+        Intent intent = new Intent(DozeScreenBrightness.ACTION_AOD_BRIGHTNESS);
+        intent.putExtra(DozeScreenBrightness.BRIGHTNESS_BUCKET, 1);
+        mScreen.onReceive(mContext, intent);
+        mSensor.sendSensorEvent(3);
+
+        assertEquals(1, mServiceFake.screenBrightness);
+    }
+
+    @Test
     public void testAod_usesLightSensorRespectingUserSetting() throws Exception {
         int maxBrightness = 3;
         Settings.System.putIntForUser(mContext.getContentResolver(),
@@ -160,7 +175,8 @@
     public void testNullSensor() throws Exception {
         mScreen = new DozeScreenBrightness(mContext, mServiceFake, mSensorManager,
                 null /* sensor */, mHostFake, null /* handler */,
-                DEFAULT_BRIGHTNESS, SENSOR_TO_BRIGHTNESS, SENSOR_TO_OPACITY);
+                DEFAULT_BRIGHTNESS, SENSOR_TO_BRIGHTNESS, SENSOR_TO_OPACITY,
+                true /* debuggable */);
 
         mScreen.transitionTo(UNINITIALIZED, INITIALIZED);
         mScreen.transitionTo(INITIALIZED, DOZE_AOD);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeTriggersTest.java b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeTriggersTest.java
index c2da7f5..5c8336c 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeTriggersTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeTriggersTest.java
@@ -88,14 +88,14 @@
         mTriggers.transitionTo(DozeMachine.State.UNINITIALIZED, DozeMachine.State.INITIALIZED);
         mTriggers.transitionTo(DozeMachine.State.INITIALIZED, DozeMachine.State.DOZE);
 
-        mHost.callback.onNotificationHeadsUp();
+        mHost.callback.onNotificationAlerted();
 
         mSensors.getMockProximitySensor().sendProximityResult(false); /* Near */
 
         verify(mMachine, never()).requestState(any());
         verify(mMachine, never()).requestPulse(anyInt());
 
-        mHost.callback.onNotificationHeadsUp();
+        mHost.callback.onNotificationAlerted();
 
         mSensors.getMockProximitySensor().sendProximityResult(true); /* Far */
 
diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/WorkLockActivityControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/keyguard/WorkLockActivityControllerTest.java
index f8aa28d..199c4c2 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/WorkLockActivityControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/WorkLockActivityControllerTest.java
@@ -40,9 +40,9 @@
 import android.support.test.runner.AndroidJUnit4;
 
 import com.android.systemui.SysuiTestCase;
-import com.android.systemui.recents.misc.SysUiTaskStackChangeListener;
 import com.android.systemui.shared.system.ActivityManagerWrapper;
 
+import com.android.systemui.shared.system.TaskStackChangeListener;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -65,7 +65,7 @@
     private @Mock IActivityTaskManager mIActivityTaskManager;
 
     private WorkLockActivityController mController;
-    private SysUiTaskStackChangeListener mTaskStackListener;
+    private TaskStackChangeListener mTaskStackListener;
 
     @Before
     public void setUp() throws Exception {
@@ -75,8 +75,8 @@
         doReturn("com.example.test").when(mContext).getPackageName();
 
         // Construct controller. Save the TaskStackListener for injecting events.
-        final ArgumentCaptor<SysUiTaskStackChangeListener> listenerCaptor =
-                ArgumentCaptor.forClass(SysUiTaskStackChangeListener.class);
+        final ArgumentCaptor<TaskStackChangeListener> listenerCaptor =
+                ArgumentCaptor.forClass(TaskStackChangeListener.class);
         mController = new WorkLockActivityController(mContext, mActivityManager,
                 mIActivityTaskManager);
 
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelTest.java
index 85cdfcc..12a122a 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelTest.java
@@ -14,8 +14,12 @@
 
 package com.android.systemui.qs;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -23,15 +27,21 @@
 import android.testing.AndroidTestingRunner;
 import android.testing.TestableLooper;
 import android.testing.TestableLooper.RunWithLooper;
+import android.view.ViewGroup;
+import android.widget.FrameLayout;
 
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.systemui.SysuiTestCase;
+import com.android.systemui.plugins.qs.QSTile;
+import com.android.systemui.plugins.qs.QSTileView;
 import com.android.systemui.qs.customize.QSCustomizer;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
 
 import java.util.Collections;
 
@@ -41,19 +51,37 @@
 public class QSPanelTest extends SysuiTestCase {
 
     private MetricsLogger mMetricsLogger;
+    private TestableLooper mTestableLooper;
     private QSPanel mQsPanel;
+    @Mock
     private QSTileHost mHost;
+    @Mock
     private QSCustomizer mCustomizer;
+    @Mock
+    private QSTile dndTile;
+    private ViewGroup mParentView;
+    @Mock
+    private QSDetail.Callback mCallback;
 
     @Before
     public void setup() throws Exception {
-        TestableLooper.get(this).runWithLooper(() -> {
+        MockitoAnnotations.initMocks(this);
+
+        mTestableLooper = TestableLooper.get(this);
+        mTestableLooper.runWithLooper(() -> {
             mMetricsLogger = mDependency.injectMockDependency(MetricsLogger.class);
             mQsPanel = new QSPanel(mContext, null);
-            mHost = mock(QSTileHost.class);
+            // Provides a parent with non-zero size for QSPanel
+            mParentView = new FrameLayout(mContext);
+            mParentView.addView(mQsPanel);
+
+            when(dndTile.getTileSpec()).thenReturn("dnd");
             when(mHost.getTiles()).thenReturn(Collections.emptyList());
-            mCustomizer = mock(QSCustomizer.class);
+            when(mHost.createTileView(any(), anyBoolean())).thenReturn(mock(QSTileView.class));
+
             mQsPanel.setHost(mHost, mCustomizer);
+            mQsPanel.addTile(dndTile, true);
+            mQsPanel.setCallback(mCallback);
         });
     }
 
@@ -64,4 +92,31 @@
         mQsPanel.setExpanded(false);
         verify(mMetricsLogger).visibility(eq(MetricsEvent.QS_PANEL), eq(false));
     }
+
+    @Test
+    public void testOpenDetailsWithExistingTile_NoException() {
+        mTestableLooper.processAllMessages();
+        mQsPanel.openDetails("dnd");
+        mTestableLooper.processAllMessages();
+
+        verify(mCallback).onShowingDetail(any(), anyInt(), anyInt());
+    }
+
+/*    @Test
+    public void testOpenDetailsWithNullParameter_NoException() {
+        mTestableLooper.processAllMessages();
+        mQsPanel.openDetails(null);
+        mTestableLooper.processAllMessages();
+
+        verify(mCallback, never()).onShowingDetail(any(), anyInt(), anyInt());
+    }*/
+
+    @Test
+    public void testOpenDetailsWithNonExistingTile_NoException() {
+        mTestableLooper.processAllMessages();
+        mQsPanel.openDetails("invalid-name");
+        mTestableLooper.processAllMessages();
+
+        verify(mCallback, never()).onShowingDetail(any(), anyInt(), anyInt());
+    }
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/plugins/PluginInstanceManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/shared/plugins/PluginInstanceManagerTest.java
similarity index 89%
rename from packages/SystemUI/tests/src/com/android/systemui/plugins/PluginInstanceManagerTest.java
rename to packages/SystemUI/tests/src/com/android/systemui/shared/plugins/PluginInstanceManagerTest.java
index 04441ab..6d1ff8c 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/plugins/PluginInstanceManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/shared/plugins/PluginInstanceManagerTest.java
@@ -12,7 +12,7 @@
  * permissions and limitations under the License.
  */
 
-package com.android.systemui.plugins;
+package com.android.systemui.shared.plugins;
 
 import static junit.framework.Assert.assertFalse;
 import static junit.framework.Assert.assertNotNull;
@@ -27,8 +27,10 @@
 
 import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
 import com.android.systemui.SysuiTestCase;
-import com.android.systemui.plugins.PluginInstanceManager.PluginInfo;
-import com.android.systemui.plugins.VersionInfo.InvalidVersionException;
+import com.android.systemui.plugins.Plugin;
+import com.android.systemui.plugins.PluginListener;
+import com.android.systemui.shared.plugins.PluginInstanceManager.PluginInfo;
+import com.android.systemui.shared.plugins.VersionInfo.InvalidVersionException;
 import com.android.systemui.plugins.annotations.Requires;
 
 import org.junit.After;
@@ -64,6 +66,7 @@
 @RunWith(AndroidJUnit4.class)
 public class PluginInstanceManagerTest extends SysuiTestCase {
 
+    private static final String WHITELISTED_PACKAGE = "com.android.systemui";
     // Static since the plugin needs to be generated by the PluginInstanceManager using newInstance.
     private static Plugin sMockPlugin;
 
@@ -88,7 +91,7 @@
         mMockVersionInfo = mock(VersionInfo.class);
         mPluginInstanceManager = new PluginInstanceManager(mContextWrapper, mMockPm, "myAction",
                 mMockListener, true, mHandlerThread.getLooper(), mMockVersionInfo,
-                mMockManager, true);
+                mMockManager, true, new String[0]);
         sMockPlugin = mock(Plugin.class);
         when(sMockPlugin.getVersion()).thenReturn(1);
     }
@@ -186,7 +189,7 @@
         // Create a version that thinks the build is not debuggable.
         mPluginInstanceManager = new PluginInstanceManager(mContextWrapper, mMockPm, "myAction",
                 mMockListener, true, mHandlerThread.getLooper(), mMockVersionInfo,
-                mMockManager, false);
+                mMockManager, false, new String[0]);
         setupFakePmQuery();
 
         mPluginInstanceManager.loadAll();
@@ -199,6 +202,25 @@
     }
 
     @Test
+    public void testNonDebuggable_whitelist() throws Exception {
+        // Create a version that thinks the build is not debuggable.
+        mPluginInstanceManager = new PluginInstanceManager(mContextWrapper, mMockPm, "myAction",
+                mMockListener, true, mHandlerThread.getLooper(), mMockVersionInfo,
+                mMockManager, false, new String[] {WHITELISTED_PACKAGE});
+        setupFakePmQuery();
+
+        mPluginInstanceManager.loadAll();
+
+        waitForIdleSync(mPluginInstanceManager.mPluginHandler);
+        waitForIdleSync(mPluginInstanceManager.mMainHandler);
+
+        // Verify startup lifecycle
+        verify(sMockPlugin).onCreate(ArgumentCaptor.forClass(Context.class).capture(),
+                ArgumentCaptor.forClass(Context.class).capture());
+        verify(mMockListener).onPluginConnected(any(), any());
+    }
+
+    @Test
     public void testCheckAndDisable() throws Exception {
         createPlugin(); // Get into valid created state.
 
diff --git a/packages/SystemUI/tests/src/com/android/systemui/plugins/PluginManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/shared/plugins/PluginManagerTest.java
similarity index 78%
rename from packages/SystemUI/tests/src/com/android/systemui/plugins/PluginManagerTest.java
rename to packages/SystemUI/tests/src/com/android/systemui/shared/plugins/PluginManagerTest.java
index 94dbc2a..3c70205 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/plugins/PluginManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/shared/plugins/PluginManagerTest.java
@@ -11,10 +11,11 @@
  * KIND, either express or implied. See the License for the specific language governing
  * permissions and limitations under the License.
  */
-package com.android.systemui.plugins;
+package com.android.systemui.shared.plugins;
 
+import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertSame;
 import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
@@ -26,7 +27,6 @@
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.net.Uri;
-import android.support.test.annotation.UiThreadTest;
 import android.support.test.runner.AndroidJUnit4;
 import android.test.suitebuilder.annotation.SmallTest;
 import android.testing.AndroidTestingRunner;
@@ -36,11 +36,13 @@
 import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
 import com.android.systemui.Dependency;
 import com.android.systemui.SysuiTestCase;
+import com.android.systemui.plugins.Plugin;
+import com.android.systemui.plugins.PluginInitializerImpl;
+import com.android.systemui.plugins.PluginListener;
 import com.android.systemui.plugins.annotations.ProvidesInterface;
-import com.android.systemui.plugins.PluginInstanceManager.PluginInfo;
-import com.android.systemui.plugins.PluginManagerImpl.PluginInstanceManagerFactory;
+import com.android.systemui.shared.plugins.PluginInstanceManager.PluginInfo;
+import com.android.systemui.shared.plugins.PluginManagerImpl.PluginInstanceManagerFactory;
 
-import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -54,6 +56,8 @@
 @RunWithLooper
 public class PluginManagerTest extends SysuiTestCase {
 
+    private static final String WHITELISTED_PACKAGE = "com.android.systemui";
+
     private PluginInstanceManagerFactory mMockFactory;
     private PluginInstanceManager mMockPluginInstance;
     private PluginManagerImpl mPluginManager;
@@ -74,8 +78,14 @@
         when(mMockFactory.createPluginInstanceManager(Mockito.any(), Mockito.any(), Mockito.any(),
                 Mockito.anyBoolean(), Mockito.any(), Mockito.any(), Mockito.any()))
                 .thenReturn(mMockPluginInstance);
+
         mPluginManager = new PluginManagerImpl(getContext(), mMockFactory, true,
-                mMockExceptionHandler);
+                mMockExceptionHandler, new PluginInitializerImpl() {
+            @Override
+            public String[] getWhitelistedPlugins(Context context) {
+                return new String[0];
+            }
+        });
         resetExceptionHandler();
         mMockListener = mock(PluginListener.class);
     }
@@ -87,7 +97,7 @@
         when(mMockPluginInstance.getPlugin()).thenReturn(new PluginInfo(null, null, mockPlugin,
                 null, null));
         Plugin result = mPluginManager.getOneShotPlugin("myAction", TestPlugin.class);
-        assertTrue(result == mockPlugin);
+        assertSame(mockPlugin, result);
     }
 
     @Test
@@ -106,16 +116,37 @@
     }
 
     @Test
-    public void testNonDebuggable() {
+    @RunWithLooper(setAsMainLooper = true)
+    public void testNonDebuggable_noWhitelist() {
         mPluginManager = new PluginManagerImpl(getContext(), mMockFactory, false,
-                mMockExceptionHandler);
+                mMockExceptionHandler, new PluginInitializerImpl() {
+            @Override
+            public String[] getWhitelistedPlugins(Context context) {
+                return new String[0];
+            }
+        });
         resetExceptionHandler();
 
         mPluginManager.addPluginListener("myAction", mMockListener, TestPlugin.class);
-        verify(mMockPluginInstance, Mockito.never()).loadAll();
-
         assertNull(mPluginManager.getOneShotPlugin("myPlugin", TestPlugin.class));
-        verify(mMockPluginInstance, Mockito.never()).getPlugin();
+        assertNull(mPluginManager.getClassLoader("myPlugin", WHITELISTED_PACKAGE));
+    }
+
+    @Test
+    @RunWithLooper(setAsMainLooper = true)
+    public void testNonDebuggable_whitelistedPkg() {
+        mPluginManager = new PluginManagerImpl(getContext(), mMockFactory, false,
+                mMockExceptionHandler, new PluginInitializerImpl() {
+            @Override
+            public String[] getWhitelistedPlugins(Context context) {
+                return new String[] {WHITELISTED_PACKAGE};
+            }
+        });
+        resetExceptionHandler();
+
+        mPluginManager.addPluginListener("myAction", mMockListener, TestPlugin.class);
+        assertNotNull(mPluginManager.getClassLoader("myPlugin", WHITELISTED_PACKAGE));
+        assertNull(mPluginManager.getClassLoader("myPlugin", "com.android.invalidpackage"));
     }
 
     @Test
diff --git a/packages/SystemUI/tests/src/com/android/systemui/plugins/VersionInfoTest.java b/packages/SystemUI/tests/src/com/android/systemui/shared/plugins/VersionInfoTest.java
similarity index 94%
rename from packages/SystemUI/tests/src/com/android/systemui/plugins/VersionInfoTest.java
rename to packages/SystemUI/tests/src/com/android/systemui/shared/plugins/VersionInfoTest.java
index 0b4d9b5..9bad78d 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/plugins/VersionInfoTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/shared/plugins/VersionInfoTest.java
@@ -12,7 +12,7 @@
  * permissions and limitations under the License.
  */
 
-package com.android.systemui.plugins;
+package com.android.systemui.shared.plugins;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
@@ -20,7 +20,8 @@
 import android.support.test.filters.SmallTest;
 
 import com.android.systemui.SysuiTestCase;
-import com.android.systemui.plugins.VersionInfo.InvalidVersionException;
+import com.android.systemui.plugins.OverlayPlugin;
+import com.android.systemui.shared.plugins.VersionInfo.InvalidVersionException;
 import com.android.systemui.plugins.annotations.Requires;
 import com.android.systemui.plugins.qs.QS;
 import com.android.systemui.plugins.qs.DetailAdapter;
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/AlertingNotificationManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/AlertingNotificationManagerTest.java
index f21ce27..8b41516 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/AlertingNotificationManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/AlertingNotificationManagerTest.java
@@ -56,19 +56,19 @@
     private static final String TEST_PACKAGE_NAME = "test";
     private static final int TEST_UID = 0;
 
-    private static final int TEST_MINIMUM_DISPLAY_TIME = 200;
-    private static final int TEST_AUTO_DISMISS_TIME = 500;
+    protected static final int TEST_MINIMUM_DISPLAY_TIME = 200;
+    protected static final int TEST_AUTO_DISMISS_TIME = 500;
     // Number of notifications to use in tests requiring multiple notifications
     private static final int TEST_NUM_NOTIFICATIONS = 4;
-    private static final int TEST_TIMEOUT_TIME = 10000;
-    private final Runnable TEST_TIMEOUT_RUNNABLE = () -> mTimedOut = true;
+    protected static final int TEST_TIMEOUT_TIME = 10000;
+    protected final Runnable TEST_TIMEOUT_RUNNABLE = () -> mTimedOut = true;
 
     private AlertingNotificationManager mAlertingNotificationManager;
 
     protected NotificationData.Entry mEntry;
     protected Handler mTestHandler;
     private StatusBarNotification mSbn;
-    private boolean mTimedOut = false;
+    protected boolean mTimedOut = false;
 
     @Mock protected ExpandableNotificationRow mRow;
 
@@ -122,7 +122,7 @@
     public void testShowNotification_addsEntry() {
         mAlertingNotificationManager.showNotification(mEntry);
 
-        assertTrue(mAlertingNotificationManager.contains(mEntry.key));
+        assertTrue(mAlertingNotificationManager.isAlerting(mEntry.key));
         assertTrue(mAlertingNotificationManager.hasNotifications());
         assertEquals(mEntry, mAlertingNotificationManager.getEntry(mEntry.key));
     }
@@ -136,7 +136,7 @@
         TestableLooper.get(this).processMessages(1);
 
         assertFalse("Test timed out", mTimedOut);
-        assertFalse(mAlertingNotificationManager.contains(mEntry.key));
+        assertFalse(mAlertingNotificationManager.isAlerting(mEntry.key));
     }
 
     @Test
@@ -146,7 +146,7 @@
         // Try to remove but defer, since the notification has not been shown long enough.
         mAlertingNotificationManager.removeNotification(mEntry.key, false /* releaseImmediately */);
 
-        assertTrue(mAlertingNotificationManager.contains(mEntry.key));
+        assertTrue(mAlertingNotificationManager.isAlerting(mEntry.key));
     }
 
     @Test
@@ -156,7 +156,7 @@
         // Remove forcibly with releaseImmediately = true.
         mAlertingNotificationManager.removeNotification(mEntry.key, true /* releaseImmediately */);
 
-        assertFalse(mAlertingNotificationManager.contains(mEntry.key));
+        assertFalse(mAlertingNotificationManager.isAlerting(mEntry.key));
     }
 
     @Test
@@ -174,10 +174,18 @@
     }
 
     @Test
-    public void testShouldExtendLifetime_notShownLongEnough() {
+    public void testCanRemoveImmediately_notShownLongEnough() {
         mAlertingNotificationManager.showNotification(mEntry);
 
-        // The entry has just been added so the lifetime should be extended
+        // The entry has just been added so we should not remove immediately.
+        assertFalse(mAlertingNotificationManager.canRemoveImmediately(mEntry.key));
+    }
+
+    @Test
+    public void testShouldExtendLifetime() {
+        mAlertingNotificationManager.showNotification(mEntry);
+
+        // While the entry is alerting, it should not be removable.
         assertTrue(mAlertingNotificationManager.shouldExtendLifetime(mEntry));
     }
 
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/AmbientPulseManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/AmbientPulseManagerTest.java
new file mode 100644
index 0000000..f0344e6
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/AmbientPulseManagerTest.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.systemui.statusbar;
+
+import static junit.framework.Assert.assertFalse;
+import static junit.framework.Assert.assertTrue;
+
+import android.support.test.filters.SmallTest;
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+
+@SmallTest
+@RunWith(AndroidTestingRunner.class)
+@TestableLooper.RunWithLooper
+public class AmbientPulseManagerTest extends AlertingNotificationManagerTest {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
+
+    private static final int TEST_EXTENSION_TIME = 500;
+    private AmbientPulseManager mAmbientPulseManager;
+    private boolean mLivesPastNormalTime;
+
+    protected AlertingNotificationManager createAlertingNotificationManager() {
+        return mAmbientPulseManager;
+    }
+
+    @Before
+    public void setUp() {
+        mAmbientPulseManager = new AmbientPulseManager(mContext);
+        mAmbientPulseManager.mMinimumDisplayTime = TEST_MINIMUM_DISPLAY_TIME;
+        mAmbientPulseManager.mAutoDismissNotificationDecay = TEST_AUTO_DISMISS_TIME;
+        mAmbientPulseManager.mExtensionTime = TEST_EXTENSION_TIME;
+        super.setUp();
+        mAmbientPulseManager.mHandler = mTestHandler;
+    }
+
+    @Test
+    public void testExtendPulse() {
+        mAmbientPulseManager.showNotification(mEntry);
+        Runnable pastNormalTimeRunnable =
+                () -> mLivesPastNormalTime = mAmbientPulseManager.isAlerting(mEntry.key);
+        mTestHandler.postDelayed(pastNormalTimeRunnable,
+                mAmbientPulseManager.mAutoDismissNotificationDecay +
+                        mAmbientPulseManager.mExtensionTime / 2);
+        mTestHandler.postDelayed(TEST_TIMEOUT_RUNNABLE, TEST_TIMEOUT_TIME);
+
+        mAmbientPulseManager.extendPulse();
+
+        // Wait for normal time runnable and extended remove runnable and process them on arrival.
+        TestableLooper.get(this).processMessages(2);
+
+        assertFalse("Test timed out", mTimedOut);
+        assertTrue("Pulse was not extended", mLivesPastNormalTime);
+        assertFalse(mAmbientPulseManager.isAlerting(mEntry.key));
+    }
+}
+
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NonPhoneDependencyTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NonPhoneDependencyTest.java
index 09c1931..da59450 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NonPhoneDependencyTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NonPhoneDependencyTest.java
@@ -79,13 +79,14 @@
                 Dependency.get(NotificationLockscreenUserManager.class);
         NotificationViewHierarchyManager viewHierarchyManager =
                 Dependency.get(NotificationViewHierarchyManager.class);
+        NotificationGroupManager groupManager = Dependency.get(NotificationGroupManager.class);
 
         when(mPresenter.getNotificationLockscreenUserManager()).thenReturn(lockscreenUserManager);
-        when(mPresenter.getGroupManager()).thenReturn(
-                Dependency.get(NotificationGroupManager.class));
+        when(mPresenter.getGroupManager()).thenReturn(groupManager);
 
         entryManager.setUpWithPresenter(mPresenter, mListContainer, mEntryManagerCallback,
                 mHeadsUpManager);
+        groupManager.setHeadsUpManager(mHeadsUpManager);
         gutsManager.setUpWithPresenter(mPresenter, mListContainer, mCheckSaveListener,
                 mOnClickListener);
         notificationLogger.setUpWithEntryManager(entryManager, mListContainer);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerTest.java
index a7758a6..515c109 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerTest.java
@@ -40,8 +40,11 @@
 import android.testing.AndroidTestingRunner;
 import android.testing.TestableLooper;
 
+import android.util.Log;
 import com.android.systemui.SysuiTestCase;
+import com.android.systemui.statusbar.notification.NotificationData;
 import com.android.systemui.statusbar.notification.NotificationEntryManager;
+import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
 import com.android.systemui.statusbar.policy.DeviceProvisionedController;
 
 import com.google.android.collect.Lists;
@@ -61,7 +64,9 @@
 
     // Dependency mocks:
     @Mock private NotificationEntryManager mEntryManager;
+    @Mock private NotificationData mNotificationData;
     @Mock private DeviceProvisionedController mDeviceProvisionedController;
+    @Mock private StatusBarKeyguardViewManager mKeyguardViewManager;
 
     private int mCurrentUserId;
     private TestNotificationLockscreenUserManager mLockscreenUserManager;
@@ -79,9 +84,11 @@
         when(mUserManager.getProfiles(mCurrentUserId)).thenReturn(Lists.newArrayList(
                 new UserInfo(mCurrentUserId, "", 0), new UserInfo(mCurrentUserId + 1, "", 0)));
         when(mPresenter.getHandler()).thenReturn(Handler.createAsync(Looper.myLooper()));
+        when(mEntryManager.getNotificationData()).thenReturn(mNotificationData);
 
         mLockscreenUserManager = new TestNotificationLockscreenUserManager(mContext);
         mLockscreenUserManager.setUpWithPresenter(mPresenter, mEntryManager);
+        mLockscreenUserManager.setKeyguardViewManager(mKeyguardViewManager);
     }
 
     @Test
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationTestHelper.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationTestHelper.java
index b2170fa..edf29ac 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationTestHelper.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationTestHelper.java
@@ -31,6 +31,7 @@
 import android.view.LayoutInflater;
 import android.widget.RemoteViews;
 
+import com.android.systemui.Dependency;
 import com.android.systemui.R;
 import com.android.systemui.statusbar.notification.NotificationData;
 import com.android.systemui.statusbar.notification.row.NotificationInflaterTest;
@@ -63,6 +64,7 @@
         mContext = context;
         mInstrumentation = InstrumentationRegistry.getInstrumentation();
         mHeadsUpManager = new HeadsUpManagerPhone(mContext, null, mGroupManager, null, null);
+        mGroupManager.setHeadsUpManager(mHeadsUpManager);
     }
 
     public ExpandableNotificationRow createRow() throws Exception {
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/ActivityLaunchAnimatorTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/ActivityLaunchAnimatorTest.java
new file mode 100644
index 0000000..435ede4
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/ActivityLaunchAnimatorTest.java
@@ -0,0 +1,116 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.systemui.statusbar.notification;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.ArgumentMatchers.anyObject;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.ActivityManager;
+import android.test.suitebuilder.annotation.SmallTest;
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper;
+import android.testing.TestableLooper.RunWithLooper;
+import android.view.RemoteAnimationAdapter;
+import android.view.View;
+import android.widget.FrameLayout;
+
+import com.android.systemui.SysuiTestCase;
+import com.android.systemui.statusbar.NotificationTestHelper;
+import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
+import com.android.systemui.statusbar.notification.stack.NotificationListContainer;
+import com.android.systemui.statusbar.phone.NotificationPanelView;
+import com.android.systemui.statusbar.phone.StatusBarWindowView;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.stubbing.Answer;
+
+@SmallTest
+@RunWith(AndroidTestingRunner.class)
+@TestableLooper.RunWithLooper
+public class ActivityLaunchAnimatorTest extends SysuiTestCase {
+
+    private ActivityLaunchAnimator mLaunchAnimator;
+    private ActivityLaunchAnimator.Callback mCallback = mock(ActivityLaunchAnimator.Callback.class);
+    private StatusBarWindowView mStatusBarWindowView = mock(StatusBarWindowView.class);
+    private NotificationListContainer mNotificationContainer
+            = mock(NotificationListContainer.class);
+    private ExpandableNotificationRow mRow = mock(ExpandableNotificationRow.class);
+
+    @Before
+    public void setUp() throws Exception {
+        when(mCallback.areLaunchAnimationsEnabled()).thenReturn(true);
+        mLaunchAnimator = new ActivityLaunchAnimator(
+                mStatusBarWindowView,
+                mCallback,
+                mock(NotificationPanelView.class),
+                mNotificationContainer);
+
+    }
+
+    @Test
+    public void testReturnsNullIfNotEnabled() {
+        when(mCallback.areLaunchAnimationsEnabled()).thenReturn(false);
+        RemoteAnimationAdapter launchAnimation = mLaunchAnimator.getLaunchAnimation(mRow,
+                false /* occluded */);
+        Assert.assertTrue("The LaunchAnimator generated an animation even though animations are "
+                        + "disabled", launchAnimation == null);
+    }
+
+    @Test
+    public void testNotWorkingWhenOccluded() {
+        when(mCallback.areLaunchAnimationsEnabled()).thenReturn(false);
+        RemoteAnimationAdapter launchAnimation = mLaunchAnimator.getLaunchAnimation(mRow,
+                true /* occluded */);
+        Assert.assertTrue("The LaunchAnimator generated an animation even though we're occluded",
+                launchAnimation == null);
+    }
+
+    @Test
+    public void testTimeoutCalled() {
+        RemoteAnimationAdapter launchAnimation = mLaunchAnimator.getLaunchAnimation(mRow,
+                false /* occluded */);
+        Assert.assertTrue("No animation generated", launchAnimation != null);
+        executePostsImmediately(mStatusBarWindowView);
+        mLaunchAnimator.setLaunchResult(ActivityManager.START_SUCCESS,
+                true /* wasIntentActivity */);
+        verify(mCallback).onExpandAnimationTimedOut();
+    }
+
+    private void executePostsImmediately(View view) {
+        doAnswer((i) -> {
+            Runnable run = i.getArgument(0);
+            run.run();
+            return null;
+        }).when(view).post(any());
+        doAnswer((i) -> {
+            Runnable run = i.getArgument(0);
+            run.run();
+            return null;
+        }).when(view).postDelayed(any(), anyLong());
+    }
+}
+
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationInfoTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationInfoTest.java
index c236fbe..ca968a8 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationInfoTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationInfoTest.java
@@ -158,6 +158,11 @@
         PollingCheck.waitFor(1000,
                 () -> VISIBLE == mNotificationInfo.findViewById(R.id.confirmation).getVisibility());
     }
+    private void ensureNoUndoButton() {
+        PollingCheck.waitFor(1000,
+                () -> GONE == mNotificationInfo.findViewById(R.id.confirmation).getVisibility()
+                        && !mNotificationInfo.isAnimating());
+    }
     private void waitForStopButton() {
         PollingCheck.waitFor(1000,
                 () -> VISIBLE == mNotificationInfo.findViewById(R.id.prompt).getVisibility());
@@ -583,9 +588,6 @@
                 true /* isUserSentimentNegative */);
 
         mNotificationInfo.findViewById(R.id.block).performClick();
-        waitForUndoButton();
-        mNotificationInfo.handleCloseControls(true /* save */, false /* force */);
-
         mTestableLooper.processAllMessages();
         verify(listener).checkSave(any(Runnable.class), eq(mSbn));
     }
@@ -805,7 +807,7 @@
     }
 
     @Test
-    public void testCloseControlsDoesNotUpdateIfCheckSaveListenerIsNoOp() throws Exception {
+    public void testBlockDoesNothingIfCheckSaveListenerIsNoOp() throws Exception {
         mNotificationChannel.setImportance(IMPORTANCE_LOW);
         mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
                 TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn,
@@ -813,10 +815,10 @@
                 }, null, null, true, true);
 
         mNotificationInfo.findViewById(R.id.block).performClick();
-        waitForUndoButton();
+        mTestableLooper.processAllMessages();
+        ensureNoUndoButton();
         mNotificationInfo.handleCloseControls(true, false);
 
-        mTestableLooper.processAllMessages();
         verify(mMockINotificationManager, never()).updateNotificationChannelForPackage(
                 eq(TEST_PACKAGE_NAME), eq(TEST_UID), eq(mNotificationChannel));
     }
@@ -831,6 +833,10 @@
                 }, null, null, true, false);
 
         mNotificationInfo.findViewById(R.id.block).performClick();
+        mTestableLooper.processAllMessages();
+        verify(mMockINotificationManager, never()).updateNotificationChannelForPackage(
+                eq(TEST_PACKAGE_NAME), eq(TEST_UID), eq(mNotificationChannel));
+
         waitForUndoButton();
         mNotificationInfo.handleCloseControls(true, false);
 
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationMenuRowTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationMenuRowTest.java
index 06265e5..18dd1fd 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationMenuRowTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationMenuRowTest.java
@@ -15,10 +15,15 @@
 package com.android.systemui.statusbar.notification.row;
 
 import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertFalse;
 import static junit.framework.Assert.assertTrue;
 
+import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.doNothing;
 
 import android.app.Notification;
 import android.service.notification.StatusBarNotification;
@@ -27,7 +32,6 @@
 import android.testing.TestableLooper;
 import android.testing.TestableLooper.RunWithLooper;
 import android.testing.ViewUtils;
-import android.testing.ViewUtils;
 import android.view.ViewGroup;
 
 import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
@@ -36,6 +40,7 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.Mockito;
 
 @RunWith(AndroidTestingRunner.class)
 @RunWithLooper(setAsMainLooper = true)
@@ -72,6 +77,7 @@
         row.resetMenu();
     }
 
+
     @Test
     public void testNoAppOpsInSlowSwipe() {
         NotificationMenuRow row = new NotificationMenuRow(mContext);
@@ -86,4 +92,255 @@
         // one for snooze and one for noti blocking
         assertEquals(2, container.getChildCount());
     }
+
+    @Test
+    public void testIsSnappedAndOnSameSide() {
+        NotificationMenuRow row = Mockito.spy(new NotificationMenuRow((mContext)));
+
+        when(row.isMenuVisible()).thenReturn(true);
+        when(row.isMenuSnapped()).thenReturn(true);
+        when(row.isMenuOnLeft()).thenReturn(true);
+        when(row.isMenuSnappedOnLeft()).thenReturn(true);
+
+        assertTrue("Showing on left and on left", row.isSnappedAndOnSameSide());
+
+
+        when(row.isMenuOnLeft()).thenReturn(false);
+        when(row.isMenuSnappedOnLeft()).thenReturn(false);
+        assertTrue("Snapped to right and on right", row.isSnappedAndOnSameSide());
+
+        when(row.isMenuOnLeft()).thenReturn(true);
+        when(row.isMenuSnapped()).thenReturn(false);
+        assertFalse("Snapped to right and on left", row.isSnappedAndOnSameSide());
+
+        when(row.isMenuOnLeft()).thenReturn(true);
+        when(row.isMenuSnappedOnLeft()).thenReturn(true);
+        when(row.isMenuVisible()).thenReturn(false);
+        assertFalse("Snapped to left and on left, but menu not visible",
+                row.isSnappedAndOnSameSide());
+
+        when(row.isMenuVisible()).thenReturn(true);
+        when(row.isMenuSnapped()).thenReturn(false);
+        assertFalse("Snapped to left and on left, but not actually snapped to",
+                row.isSnappedAndOnSameSide());
+    }
+
+    @Test
+    public void testGetMenuSnapTarget() {
+        NotificationMenuRow row = Mockito.spy(new NotificationMenuRow((mContext)));
+        when(row.isMenuOnLeft()).thenReturn(true);
+        doReturn(30).when(row).getSpaceForMenu();
+
+        assertEquals("When on left, snap target is space for menu",
+                30, row.getMenuSnapTarget());
+
+        when(row.isMenuOnLeft()).thenReturn(false);
+        assertEquals("When on right, snap target is negative space for menu",
+                -30, row.getMenuSnapTarget());
+    }
+
+    @Test
+    public void testIsSwipedEnoughToShowMenu() {
+        NotificationMenuRow row = Mockito.spy(new NotificationMenuRow((mContext)));
+        when(row.isMenuVisible()).thenReturn(true);
+        when(row.isMenuOnLeft()).thenReturn(true);
+        doReturn(40f).when(row).getMinimumSwipeDistance();
+
+        when(row.getTranslation()).thenReturn(30f);
+        assertFalse("on left, translation is less than min", row.isSwipedEnoughToShowMenu());
+
+        when(row.getTranslation()).thenReturn(50f);
+        assertTrue("on left, translation is greater than min", row.isSwipedEnoughToShowMenu());
+
+        when(row.isMenuOnLeft()).thenReturn(false);
+        when(row.getTranslation()).thenReturn(-30f);
+        assertFalse("on right, translation is greater than -min", row.isSwipedEnoughToShowMenu());
+
+        when(row.getTranslation()).thenReturn(-50f);
+        assertTrue("on right, translation is less than -min", row.isSwipedEnoughToShowMenu());
+
+        when(row.isMenuVisible()).thenReturn(false);
+        when(row.getTranslation()).thenReturn(30f);
+        assertFalse("on left, translation greater than min, but not visible",
+                row.isSwipedEnoughToShowMenu());
+    }
+
+    @Test
+    public void testIsWithinSnapMenuThreshold() {
+        NotificationMenuRow row = Mockito.spy(new NotificationMenuRow((mContext)));
+        doReturn(30f).when(row).getSnapBackThreshold();
+        doReturn(50f).when(row).getDismissThreshold();
+
+        when(row.isMenuOnLeft()).thenReturn(true);
+        when(row.getTranslation()).thenReturn(40f);
+        assertTrue("When on left, translation is between min and max",
+                row.isWithinSnapMenuThreshold());
+
+        when(row.getTranslation()).thenReturn(20f);
+        assertFalse("When on left, translation is less than min",
+                row.isWithinSnapMenuThreshold());
+
+        when(row.getTranslation()).thenReturn(60f);
+        assertFalse("When on left, translation is greater than max",
+                row.isWithinSnapMenuThreshold());
+
+        when(row.isMenuOnLeft()).thenReturn(false);
+        when(row.getTranslation()).thenReturn(-40f);
+        assertTrue("When on right, translation is between -min and -max",
+                row.isWithinSnapMenuThreshold());
+
+        when(row.getTranslation()).thenReturn(-20f);
+        assertFalse("When on right, translation is greater than -min",
+                row.isWithinSnapMenuThreshold());
+
+        when(row.getTranslation()).thenReturn(-60f);
+        assertFalse("When on right, translation is less than -max",
+                row.isWithinSnapMenuThreshold());
+    }
+
+    @Test
+    public void testShouldSnapBack() {
+        NotificationMenuRow row = Mockito.spy(new NotificationMenuRow((mContext)));
+        doReturn(40f).when(row).getSnapBackThreshold();
+        when(row.isMenuVisible()).thenReturn(false);
+        when(row.isMenuOnLeft()).thenReturn(true);
+
+        when(row.getTranslation()).thenReturn(50f);
+        assertFalse("On left, translation greater than minimum target", row.shouldSnapBack());
+
+        when(row.getTranslation()).thenReturn(30f);
+        assertTrue("On left, translation less than minimum target", row.shouldSnapBack());
+
+        when(row.isMenuOnLeft()).thenReturn(false);
+        when(row.getTranslation()).thenReturn(-50f);
+        assertFalse("On right, translation less than minimum target", row.shouldSnapBack());
+
+        when(row.getTranslation()).thenReturn(-30f);
+        assertTrue("On right, translation greater than minimum target", row.shouldSnapBack());
+    }
+
+    @Test
+    public void testCanBeDismissed() {
+        NotificationMenuRow row = Mockito.spy(new NotificationMenuRow((mContext)));
+        ExpandableNotificationRow parent = mock(ExpandableNotificationRow.class);
+
+        when(row.getParent()).thenReturn(parent);
+        when(parent.canViewBeDismissed()).thenReturn(true);
+
+        assertTrue("Row can be dismissed if parent can be dismissed", row.canBeDismissed());
+
+        when(parent.canViewBeDismissed()).thenReturn(false);
+        assertFalse("Row cannot be dismissed if parent cannot be dismissed",
+                row.canBeDismissed());
+    }
+
+    @Test
+    public void testIsTowardsMenu() {
+        NotificationMenuRow row = Mockito.spy(new NotificationMenuRow((mContext)));
+        when(row.isMenuVisible()).thenReturn(true);
+        when(row.isMenuOnLeft()).thenReturn(true);
+
+        assertTrue("menu on left, movement is negative", row.isTowardsMenu(-30f));
+        assertFalse("menu on left, movement is positive", row.isTowardsMenu(30f));
+        assertTrue("menu on left, movement is 0", row.isTowardsMenu(0f));
+
+        when(row.isMenuOnLeft()).thenReturn(false);
+        assertTrue("menu on right, movement is positive", row.isTowardsMenu(30f));
+        assertFalse("menu on right, movement is negative", row.isTowardsMenu(-30f));
+        assertTrue("menu on right, movement is 0", row.isTowardsMenu(0f));
+
+        when(row.isMenuVisible()).thenReturn(false);
+        assertFalse("menu on left, movement is negative, but menu not visible",
+                row.isTowardsMenu(-30f));
+    }
+
+    @Test
+    public void onSnapBack() {
+        NotificationMenuRow row = Mockito.spy(new NotificationMenuRow((mContext)));
+        NotificationMenuRowPlugin.OnMenuEventListener listener = mock(NotificationMenuRowPlugin
+                .OnMenuEventListener.class);
+        row.setMenuClickListener(listener);
+        ExpandableNotificationRow parent = mock(ExpandableNotificationRow.class);
+        when(row.getParent()).thenReturn(parent);
+        doNothing().when(row).cancelDrag();
+
+        row.onSnapOpen();
+
+        assertTrue("before onSnapClosed, row is snapped to", row.isMenuSnapped());
+        assertFalse("before onSnapClosed, row is not snapping", row.isSnapping());
+
+        row.onSnapClosed();
+
+        assertFalse("after onSnapClosed, row is not snapped to", row.isMenuSnapped());
+        assertTrue("after onSnapClosed, row is snapping", row.isSnapping());
+    }
+
+    @Test
+    public void testOnSnap() {
+        NotificationMenuRow row = Mockito.spy(new NotificationMenuRow((mContext)));
+        when(row.isMenuOnLeft()).thenReturn(true);
+        NotificationMenuRowPlugin.OnMenuEventListener listener = mock(NotificationMenuRowPlugin
+                .OnMenuEventListener.class);
+        row.setMenuClickListener(listener);
+        ExpandableNotificationRow parent = mock(ExpandableNotificationRow.class);
+        when(row.getParent()).thenReturn(parent);
+
+        assertFalse("before onSnapOpen, row is not snapped to", row.isMenuSnapped());
+        assertFalse("before onSnapOpen, row is not snapped on left", row.isMenuSnappedOnLeft());
+
+        row.onSnapOpen();
+
+        assertTrue("after onSnapOpen, row is snapped to", row.isMenuSnapped());
+        assertTrue("after onSnapOpen, row is snapped on left", row.isMenuSnapped());
+        verify(listener, times(1)).onMenuShown(parent);
+    }
+
+    @Test
+    public void testOnDismiss() {
+        NotificationMenuRow row = Mockito.spy(new NotificationMenuRow((mContext)));
+        doNothing().when(row).cancelDrag();
+        row.onSnapOpen();
+
+        assertFalse("before onDismiss, row is not dismissing", row.isDismissing());
+        assertTrue("before onDismiss, row is showing", row.isMenuSnapped());
+
+        row.onDismiss();
+
+        verify(row, times(1)).cancelDrag();
+        assertTrue("after onDismiss, row is dismissing", row.isDismissing());
+        assertFalse("after onDismiss, row is not showing", row.isMenuSnapped());
+    }
+
+    @Test
+    public void testOnDown() {
+        NotificationMenuRow row = Mockito.spy(new NotificationMenuRow((mContext)));
+        doNothing().when(row).beginDrag();
+
+        row.onTouchStart();
+
+        verify(row, times(1)).beginDrag();
+    }
+
+    @Test
+    public void testOnUp() {
+        NotificationMenuRow row = Mockito.spy(new NotificationMenuRow((mContext)));
+        row.onTouchStart();
+
+        assertTrue("before onTouchEnd, isUserTouching is true", row.isUserTouching());
+
+        row.onTouchEnd();
+
+        assertFalse("after onTouchEnd, isUserTouching is false", row.isUserTouching());
+    }
+
+    @Test
+    public void testIsMenuVisible() {
+        NotificationMenuRow row = Mockito.spy(new NotificationMenuRow((mContext)));
+        row.setMenuAlpha(0);
+
+        assertFalse("when alpha is 0, menu is not visible", row.isMenuVisible());
+
+        row.setMenuAlpha(0.5f);
+        assertTrue("when alpha is .5, menu is visible", row.isMenuVisible());
+    }
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainerTest.java
index 087aa59..2728453 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainerTest.java
@@ -17,7 +17,6 @@
 package com.android.systemui.statusbar.notification.stack;
 
 import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.testing.AndroidTestingRunner;
 import android.testing.TestableLooper.RunWithLooper;
 import android.view.NotificationHeaderView;
@@ -51,7 +50,7 @@
 
     @Test
     public void testGetMaxAllowedVisibleChildren_ambient() {
-        mGroup.setShowAmbient(true);
+        mGroup.setOnAmbient(true);
         Assert.assertEquals(mChildrenContainer.getMaxAllowedVisibleChildren(),
             NotificationChildrenContainer.NUMBER_OF_CHILDREN_WHEN_AMBIENT);
     }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java
index ce0bd58..b545e61 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java
@@ -19,6 +19,7 @@
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.atLeastOnce;
 import static org.mockito.Mockito.clearInvocations;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.mock;
@@ -31,6 +32,7 @@
 import android.os.IPowerManager;
 import android.os.Looper;
 import android.os.PowerManager;
+import android.service.dreams.IDreamManager;
 import android.support.test.annotation.UiThreadTest;
 import android.support.test.filters.SmallTest;
 import android.support.test.runner.AndroidJUnit4;
@@ -38,7 +40,6 @@
 import com.android.systemui.ExpandHelper;
 import com.android.systemui.R;
 import com.android.systemui.SysuiTestCase;
-import com.android.systemui.recents.misc.SystemServicesProxy;
 import com.android.systemui.statusbar.EmptyShadeView;
 import com.android.systemui.statusbar.StatusBarState;
 import com.android.systemui.statusbar.NotificationPresenter;
@@ -90,7 +91,7 @@
     @Mock private NotificationData mNotificationData;
     @Mock private NotificationRemoteInputManager mRemoteInputManager;
     @Mock private RemoteInputController mRemoteInputController;
-    @Mock private SystemServicesProxy mSystemServicesProxy;
+    @Mock private IDreamManager mDreamManager;
     private PowerManager mPowerManager;
     private TestableNotificationEntryManager mEntryManager;
 
@@ -110,7 +111,7 @@
         mPowerManager = new PowerManager(mContext, powerManagerService,
                 Handler.createAsync(Looper.myLooper()));
 
-        mEntryManager = new TestableNotificationEntryManager(mSystemServicesProxy, mPowerManager,
+        mEntryManager = new TestableNotificationEntryManager(mDreamManager, mPowerManager,
                 mContext);
         mEntryManager.setUpForTest(mock(NotificationPresenter.class), null, null, mHeadsUpManager,
                 mNotificationData);
@@ -316,7 +317,7 @@
     private void setBarStateForTest(int state) {
         ArgumentCaptor<StatusBarStateController.StateListener> captor =
                 ArgumentCaptor.forClass(StatusBarStateController.StateListener.class);
-        verify(mBarState).addListener(captor.capture());
+        verify(mBarState, atLeastOnce()).addListener(captor.capture());
         captor.getValue().onStateChanged(state);
     }
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationSwipeHelperTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationSwipeHelperTest.java
new file mode 100644
index 0000000..b5f67c06
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationSwipeHelperTest.java
@@ -0,0 +1,511 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.systemui.statusbar.notification.stack;
+
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertFalse;
+import static junit.framework.Assert.assertNotNull;
+import static junit.framework.Assert.assertTrue;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.clearInvocations;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.mockitoSession;
+import static org.mockito.Mockito.reset;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.animation.Animator;
+import android.animation.ValueAnimator.AnimatorUpdateListener;
+import android.content.Context;
+import android.graphics.Rect;
+import android.os.Handler;
+import android.os.IPowerManager;
+import android.os.Looper;
+import android.os.PowerManager;
+import android.service.notification.StatusBarNotification;
+import android.support.test.annotation.UiThreadTest;
+import android.support.test.filters.SmallTest;
+import android.support.test.runner.AndroidJUnit4;
+import android.testing.TestableLooper.RunWithLooper;
+import android.view.MotionEvent;
+import android.view.VelocityTracker;
+import android.view.View;
+import android.view.MotionEvent;
+
+import com.android.systemui.SwipeHelper;
+import com.android.systemui.SysuiTestCase;
+import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
+import com.android.systemui.plugins.statusbar.NotificationSwipeActionHelper.SnoozeOption;
+import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
+import com.android.systemui.statusbar.notification.row.NotificationMenuRow;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoSession;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.mockito.stubbing.Answer;
+
+import java.util.ArrayList;
+
+/**
+ * Tests for {@link NotificationSwipeHelper}.
+ */
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class NotificationSwipeHelperTest extends SysuiTestCase {
+
+    private NotificationSwipeHelper mSwipeHelper;
+    private NotificationSwipeHelper.NotificationCallback mCallback;
+    private NotificationMenuRowPlugin.OnMenuEventListener mListener;
+    private View mView;
+    private MotionEvent mEvent;
+    private NotificationMenuRowPlugin mMenuRow;
+    private Handler mHandler;
+    private ExpandableNotificationRow mNotificationRow;
+    private Runnable mFalsingCheck;
+
+    @Rule public MockitoRule mockito = MockitoJUnit.rule();
+
+    @Before
+    @UiThreadTest
+    public void setUp() throws Exception {
+        mCallback = mock(NotificationSwipeHelper.NotificationCallback.class);
+        mListener = mock(NotificationMenuRowPlugin.OnMenuEventListener.class);
+        mSwipeHelper = spy(new NotificationSwipeHelper(SwipeHelper.X, mCallback, mContext, mListener));
+        mView = mock(View.class);
+        mEvent = mock(MotionEvent.class);
+        mMenuRow = mock(NotificationMenuRowPlugin.class);
+        mNotificationRow = mock(ExpandableNotificationRow.class);
+        mHandler = mock(Handler.class);
+        mFalsingCheck = mock(Runnable.class);
+    }
+
+    @Test
+    public void testSetExposedMenuView() {
+        assertEquals("intialized with null exposed menu view", null,
+                mSwipeHelper.getExposedMenuView());
+        mSwipeHelper.setExposedMenuView(mView);
+        assertEquals("swipe helper has correct exposedMenuView after setExposedMenuView to a view",
+                mView, mSwipeHelper.getExposedMenuView());
+        mSwipeHelper.setExposedMenuView(null);
+        assertEquals("swipe helper has null exposedMenuView after setExposedMenuView to null",
+                null, mSwipeHelper.getExposedMenuView());
+    }
+
+    @Test
+    public void testClearExposedMenuView() {
+        doNothing().when(mSwipeHelper).setExposedMenuView(mView);
+        mSwipeHelper.clearExposedMenuView();
+        verify(mSwipeHelper, times(1)).setExposedMenuView(null);
+    }
+
+    @Test
+    public void testGetTranslatingParentView() {
+        assertEquals("intialized with null translating parent view", null,
+                mSwipeHelper.getTranslatingParentView());
+        mSwipeHelper.setTranslatingParentView(mView);
+        assertEquals("has translating parent view after setTranslatingParentView with a view",
+                mView, mSwipeHelper.getTranslatingParentView());
+    }
+
+    @Test
+    public void testClearTranslatingParentView() {
+        doNothing().when(mSwipeHelper).setTranslatingParentView(null);
+        mSwipeHelper.clearTranslatingParentView();
+        verify(mSwipeHelper, times(1)).setTranslatingParentView(null);
+    }
+
+    @Test
+    public void testSetCurrentMenuRow() {
+        assertEquals("currentMenuRow initializes to null", null,
+                mSwipeHelper.getCurrentMenuRow());
+        mSwipeHelper.setCurrentMenuRow(mMenuRow);
+        assertEquals("currentMenuRow set correctly after setCurrentMenuRow", mMenuRow,
+                mSwipeHelper.getCurrentMenuRow());
+        mSwipeHelper.setCurrentMenuRow(null);
+        assertEquals("currentMenuRow set to null after setCurrentMenuRow to null",
+                null, mSwipeHelper.getCurrentMenuRow());
+    }
+
+    @Test
+    public void testClearCurrentMenuRow() {
+        doNothing().when(mSwipeHelper).setCurrentMenuRow(null);
+        mSwipeHelper.clearCurrentMenuRow();
+        verify(mSwipeHelper, times(1)).setCurrentMenuRow(null);
+    }
+
+    @Test
+    public void testOnDownUpdate_ExpandableNotificationRow() {
+        when(mSwipeHelper.getHandler()).thenReturn(mHandler);
+        when(mSwipeHelper.getFalsingCheck()).thenReturn(mFalsingCheck);
+        doNothing().when(mSwipeHelper).resetExposedMenuView(true, false);
+        doNothing().when(mSwipeHelper).clearCurrentMenuRow();
+        doNothing().when(mSwipeHelper).initializeRow(any());
+
+        mSwipeHelper.onDownUpdate(mNotificationRow, mEvent);
+
+        verify(mSwipeHelper, times(1)).clearCurrentMenuRow();
+        verify(mHandler, times(1)).removeCallbacks(mFalsingCheck);
+        verify(mSwipeHelper, times(1)).resetExposedMenuView(true, false);
+        verify(mSwipeHelper, times(1)).initializeRow(mNotificationRow);
+    }
+
+    @Test
+    public void testOnDownUpdate_notExpandableNotificationRow() {
+        when(mSwipeHelper.getHandler()).thenReturn(mHandler);
+        when(mSwipeHelper.getFalsingCheck()).thenReturn(mFalsingCheck);
+        doNothing().when(mSwipeHelper).resetExposedMenuView(true, false);
+        doNothing().when(mSwipeHelper).clearCurrentMenuRow();
+        doNothing().when(mSwipeHelper).initializeRow(any());
+
+        mSwipeHelper.onDownUpdate(mView, mEvent);
+
+        verify(mSwipeHelper, times(1)).clearCurrentMenuRow();
+        verify(mHandler, times(1)).removeCallbacks(mFalsingCheck);
+        verify(mSwipeHelper, times(1)).resetExposedMenuView(true, false);
+        verify(mSwipeHelper, times(0)).initializeRow(any());
+    }
+
+    @Test
+    public void testOnMoveUpdate_menuRow() {
+        when(mSwipeHelper.getCurrentMenuRow()).thenReturn(mMenuRow);
+        when(mSwipeHelper.getHandler()).thenReturn(mHandler);
+        when(mSwipeHelper.getFalsingCheck()).thenReturn(mFalsingCheck);
+
+        mSwipeHelper.onMoveUpdate(mView, mEvent, 0, 10);
+
+        verify(mHandler, times(1)).removeCallbacks(mFalsingCheck);
+        verify(mMenuRow, times(1)).onTouchMove(10);
+    }
+
+    @Test
+    public void testOnMoveUpdate_noMenuRow() {
+        when(mSwipeHelper.getHandler()).thenReturn(mHandler);
+        when(mSwipeHelper.getFalsingCheck()).thenReturn(mFalsingCheck);
+
+        mSwipeHelper.onMoveUpdate(mView, mEvent, 0, 10);
+
+        verify(mHandler, times(1)).removeCallbacks(mFalsingCheck);
+    }
+
+    @Test
+    public void testHandleUpEvent_noMenuRow() {
+        assertFalse("Menu row does not exist",
+                mSwipeHelper.handleUpEvent(mEvent, mView, 0, 0));
+    }
+
+    @Test
+    public void testHandleUpEvent_menuRow() {
+        when(mSwipeHelper.getCurrentMenuRow()).thenReturn(mMenuRow);
+        doNothing().when(mSwipeHelper).handleMenuRowSwipe(mEvent, mView, 0, mMenuRow);
+
+        assertTrue("Menu row exists",
+                mSwipeHelper.handleUpEvent(mEvent, mView, 0, 0));
+        verify(mMenuRow, times(1)).onTouchEnd();
+        verify(mSwipeHelper, times(1)).handleMenuRowSwipe(mEvent, mView, 0, mMenuRow);
+    }
+
+    @Test
+    public void testDismissChild_notExpanded() {
+        when(mCallback.isExpanded()).thenReturn(false);
+        doNothing().when(mSwipeHelper).superDismissChild(mView, 0, false);
+        doNothing().when(mSwipeHelper).handleMenuCoveredOrDismissed();
+
+        mSwipeHelper.dismissChild(mView, 0, false);
+
+        verify(mSwipeHelper, times(1)).superDismissChild(mView, 0, false);
+        verify(mCallback, times(0)).handleChildViewDismissed(mView);
+        verify(mCallback, times(1)).onDismiss();
+        verify(mSwipeHelper, times(1)).handleMenuCoveredOrDismissed();
+    }
+
+    @Test
+    public void testSnapchild_targetIsZero() {
+        doNothing().when(mSwipeHelper).superSnapChild(mView, 0, 0);
+        mSwipeHelper.snapChild(mView, 0, 0);
+
+        verify(mCallback, times(1)).onDragCancelled(mView);
+        verify(mSwipeHelper, times(1)).superSnapChild(mView, 0, 0);
+        verify(mSwipeHelper, times(1)).handleMenuCoveredOrDismissed();
+    }
+
+
+    @Test
+    public void testSnapchild_targetNotZero() {
+        doNothing().when(mSwipeHelper).superSnapChild(mView, 10, 0);
+        mSwipeHelper.snapChild(mView, 10, 0);
+
+        verify(mCallback, times(1)).onDragCancelled(mView);
+        verify(mSwipeHelper, times(1)).superSnapChild(mView, 10, 0);
+        verify(mSwipeHelper, times(0)).handleMenuCoveredOrDismissed();
+    }
+
+    @Test
+    public void testSnooze() {
+        StatusBarNotification sbn = mock(StatusBarNotification.class);
+        SnoozeOption snoozeOption = mock(SnoozeOption.class);
+        mSwipeHelper.snooze(sbn, snoozeOption);
+        verify(mCallback, times(1)).onSnooze(sbn, snoozeOption);
+    }
+
+    @Test
+    public void testGetViewTranslationAnimator_notExpandableNotificationRow() {
+        Animator animator = mock(Animator.class);
+        AnimatorUpdateListener listener = mock(AnimatorUpdateListener.class);
+        doReturn(animator).when(mSwipeHelper).superGetViewTranslationAnimator(mView, 0, listener);
+
+        assertEquals("returns the correct animator from super", animator,
+                mSwipeHelper.getViewTranslationAnimator(mView, 0, listener));
+
+        verify(mSwipeHelper, times(1)).superGetViewTranslationAnimator(mView, 0, listener);
+    }
+
+    @Test
+    public void testGetViewTranslationAnimator_expandableNotificationRow() {
+        Animator animator = mock(Animator.class);
+        AnimatorUpdateListener listener = mock(AnimatorUpdateListener.class);
+        doReturn(animator).when(mNotificationRow).getTranslateViewAnimator(0, listener);
+
+        assertEquals("returns the correct animator from super when view is an ENR", animator,
+                mSwipeHelper.getViewTranslationAnimator(mNotificationRow, 0, listener));
+
+        verify(mNotificationRow, times(1)).getTranslateViewAnimator(0, listener);
+    }
+
+    @Test
+    public void testSetTranslation() {
+        mSwipeHelper.setTranslation(mNotificationRow, 0);
+        verify(mNotificationRow, times(1)).setTranslation(0);
+    }
+
+    @Test
+    public void testGetTranslation() {
+        doReturn(30f).when(mNotificationRow).getTranslation();
+
+        assertEquals("Returns getTranslation for the ENR",
+                mSwipeHelper.getTranslation(mNotificationRow), 30f);
+
+        verify(mNotificationRow, times(1)).getTranslation();
+    }
+
+    @Test
+    public void testDismiss() {
+        doNothing().when(mSwipeHelper).dismissChild(mView, 0, true);
+        doReturn(false).when(mSwipeHelper).swipedFastEnough();
+
+        mSwipeHelper.dismiss(mView, 0);
+
+        verify(mSwipeHelper, times(1)).swipedFastEnough();
+        verify(mSwipeHelper, times(1)).dismissChild(mView, 0, true);
+    }
+
+    @Test
+    public void testSnapOpen() {
+        doNothing().when(mSwipeHelper).snapChild(mView, 30, 0);
+
+        mSwipeHelper.snapOpen(mView, 30, 0);
+
+        verify(mSwipeHelper, times(1)).snapChild(mView, 30, 0);
+    }
+
+    @Test
+    public void testSnapClosed() {
+        doNothing().when(mSwipeHelper).snapChild(mView, 0, 0);
+
+        mSwipeHelper.snapClosed(mView, 0);
+
+        verify(mSwipeHelper, times(1)).snapChild(mView, 0, 0);
+    }
+
+    @Test
+    public void testGetMinDismissVelocity() {
+        doReturn(30f).when(mSwipeHelper).getEscapeVelocity();
+
+        assertEquals("Returns getEscapeVelocity", 30f, mSwipeHelper.getMinDismissVelocity());
+    }
+
+    @Test
+    public void onMenuShown_noAntiFalsing() {
+        doNothing().when(mSwipeHelper).setExposedMenuView(mView);
+        doReturn(mView).when(mSwipeHelper).getTranslatingParentView();
+        doReturn(mHandler).when(mSwipeHelper).getHandler();
+        doReturn(false).when(mCallback).isAntiFalsingNeeded();
+        doReturn(mFalsingCheck).when(mSwipeHelper).getFalsingCheck();
+
+        mSwipeHelper.onMenuShown(mView);
+
+        verify(mSwipeHelper, times(1)).setExposedMenuView(mView);
+        verify(mCallback, times(1)).onDragCancelled(mView);
+        verify(mCallback, times(1)).isAntiFalsingNeeded();
+
+        verify(mHandler, times(0)).removeCallbacks(mFalsingCheck);
+        verify(mHandler, times(0)).postDelayed(mFalsingCheck, mSwipeHelper.COVER_MENU_DELAY);
+    }
+
+    @Test
+    public void onMenuShown_antiFalsing() {
+        doNothing().when(mSwipeHelper).setExposedMenuView(mView);
+        doReturn(mView).when(mSwipeHelper).getTranslatingParentView();
+        doReturn(mHandler).when(mSwipeHelper).getHandler();
+        doReturn(true).when(mCallback).isAntiFalsingNeeded();
+        doReturn(mFalsingCheck).when(mSwipeHelper).getFalsingCheck();
+
+        mSwipeHelper.onMenuShown(mView);
+
+        verify(mSwipeHelper, times(1)).setExposedMenuView(mView);
+        verify(mCallback, times(1)).onDragCancelled(mView);
+        verify(mCallback, times(1)).isAntiFalsingNeeded();
+
+        verify(mHandler, times(1)).removeCallbacks(mFalsingCheck);
+        verify(mHandler, times(1)).postDelayed(mFalsingCheck, mSwipeHelper.COVER_MENU_DELAY);
+    }
+
+    @Test
+    public void testResetExposedMenuView_noReset() {
+        doReturn(false).when(mSwipeHelper).shouldResetMenu(false);
+        doNothing().when(mSwipeHelper).clearExposedMenuView();
+
+        mSwipeHelper.resetExposedMenuView(false, false);
+
+        verify(mSwipeHelper, times(1)).shouldResetMenu(false);
+
+        // should not clear exposed menu row
+        verify(mSwipeHelper, times(0)).clearExposedMenuView();
+    }
+
+    @Test
+    public void testResetExposedMenuView_animate() {
+        Animator animator = mock(Animator.class);
+
+        doReturn(true).when(mSwipeHelper).shouldResetMenu(false);
+        doReturn(mNotificationRow).when(mSwipeHelper).getExposedMenuView();
+        doReturn(false).when(mNotificationRow).isRemoved();
+        doReturn(animator).when(mSwipeHelper).getViewTranslationAnimator(mNotificationRow, 0, null);
+        doNothing().when(mSwipeHelper).clearExposedMenuView();
+
+        mSwipeHelper.resetExposedMenuView(true, false);
+
+        verify(mSwipeHelper, times(1)).shouldResetMenu(false);
+
+        // should retrieve and start animator
+        verify(mSwipeHelper, times(1)).getViewTranslationAnimator(mNotificationRow, 0, null);
+        verify(animator, times(1)).start();
+
+        // should not reset translation on row directly
+        verify(mNotificationRow, times(0)).resetTranslation();
+
+        // should clear exposed menu row
+        verify(mSwipeHelper, times(1)).clearExposedMenuView();
+    }
+
+
+    @Test
+    public void testResetExposedMenuView_noAnimate() {
+        Animator animator = mock(Animator.class);
+
+        doReturn(true).when(mSwipeHelper).shouldResetMenu(false);
+        doReturn(mNotificationRow).when(mSwipeHelper).getExposedMenuView();
+        doReturn(false).when(mNotificationRow).isRemoved();
+        doReturn(animator).when(mSwipeHelper).getViewTranslationAnimator(mNotificationRow, 0, null);
+        doNothing().when(mSwipeHelper).clearExposedMenuView();
+
+        mSwipeHelper.resetExposedMenuView(false, false);
+
+        verify(mSwipeHelper, times(1)).shouldResetMenu(false);
+
+        // should not retrieve and start animator
+        verify(mSwipeHelper, times(0)).getViewTranslationAnimator(mNotificationRow, 0, null);
+        verify(animator, times(0)).start();
+
+        // should reset translation on row directly
+        verify(mNotificationRow, times(1)).resetTranslation();
+
+        // should clear exposed menu row
+        verify(mSwipeHelper, times(1)).clearExposedMenuView();
+    }
+
+    @Test
+    public void testIsTouchInView() {
+        assertEquals("returns false when view is null", false,
+                NotificationSwipeHelper.isTouchInView(mEvent, null));
+
+        doReturn(5f).when(mEvent).getRawX();
+        doReturn(10f).when(mEvent).getRawY();
+
+        doReturn(20).when(mView).getWidth();
+        doReturn(20).when(mView).getHeight();
+
+        Answer answer = (Answer) invocation -> {
+            int[] arr = invocation.getArgument(0);
+            arr[0] = 0;
+            arr[1] = 0;
+            return null;
+        };
+        doAnswer(answer).when(mView).getLocationOnScreen(any());
+
+        assertTrue("Touch is within the view",
+                mSwipeHelper.isTouchInView(mEvent, mView));
+
+        doReturn(50f).when(mEvent).getRawX();
+
+        assertFalse("Touch is not within the view",
+                mSwipeHelper.isTouchInView(mEvent, mView));
+    }
+
+    @Test
+    public void testIsTouchInView_expandable() {
+        assertEquals("returns false when view is null", false,
+                NotificationSwipeHelper.isTouchInView(mEvent, null));
+
+        doReturn(5f).when(mEvent).getRawX();
+        doReturn(10f).when(mEvent).getRawY();
+
+        doReturn(20).when(mNotificationRow).getWidth();
+        doReturn(20).when(mNotificationRow).getActualHeight();
+
+        Answer answer = (Answer) invocation -> {
+            int[] arr = invocation.getArgument(0);
+            arr[0] = 0;
+            arr[1] = 0;
+            return null;
+        };
+        doAnswer(answer).when(mNotificationRow).getLocationOnScreen(any());
+
+        assertTrue("Touch is within the view",
+                mSwipeHelper.isTouchInView(mEvent, mNotificationRow));
+
+        doReturn(50f).when(mEvent).getRawX();
+
+        assertFalse("Touch is not within the view",
+                mSwipeHelper.isTouchInView(mEvent, mNotificationRow));
+    }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhoneTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhoneTest.java
index a81d17f..1070795 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhoneTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhoneTest.java
@@ -82,28 +82,26 @@
         // Remove should succeed because the notification is swiped out
         mHeadsUpManager.removeNotification(mEntry.key, false /* releaseImmediately */);
 
-        assertFalse(mHeadsUpManager.contains(mEntry.key));
+        assertFalse(mHeadsUpManager.isAlerting(mEntry.key));
     }
 
     @Test
-    public void testShouldExtendLifetime_swipedOut() {
+    public void testCanRemoveImmediately_swipedOut() {
         mHeadsUpManager.showNotification(mEntry);
         mHeadsUpManager.addSwipedOutNotification(mEntry.key);
 
-        // Notification is swiped so its lifetime should not be extended even if it hasn't been
-        // shown long enough
-        assertFalse(mHeadsUpManager.shouldExtendLifetime(mEntry));
+        // Notification is swiped so it can be immediately removed.
+        assertTrue(mHeadsUpManager.canRemoveImmediately(mEntry.key));
     }
 
     @Test
-    public void testShouldExtendLifetime_notTopEntry() {
+    public void testCanRemoveImmediately_notTopEntry() {
         NotificationData.Entry laterEntry = new NotificationData.Entry(createNewNotification(1));
         laterEntry.row = mRow;
         mHeadsUpManager.showNotification(mEntry);
         mHeadsUpManager.showNotification(laterEntry);
 
-        // Notification is "behind" a higher priority notification so we have no reason to keep
-        // its lifetime extended
-        assertFalse(mHeadsUpManager.shouldExtendLifetime(mEntry));
+        // Notification is "behind" a higher priority notification so we can remove it immediately.
+        assertTrue(mHeadsUpManager.canRemoveImmediately(mEntry.key));
     }
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NavigationBarContextTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NavigationBarContextTest.java
new file mode 100644
index 0000000..c792459
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NavigationBarContextTest.java
@@ -0,0 +1,199 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.systemui.statusbar.phone;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.doReturn;
+
+import android.graphics.drawable.Drawable;
+import android.support.test.filters.SmallTest;
+import android.view.View;
+import com.android.systemui.statusbar.policy.KeyButtonDrawable;
+import com.android.systemui.SysuiTestCase;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import android.support.test.runner.AndroidJUnit4;
+
+/** atest NavigationBarContextTest */
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class NavigationBarContextTest extends SysuiTestCase {
+    private static final int GROUP_ID = 1;
+    private static final int BUTTON_0_ID = GROUP_ID + 1;
+    private static final int BUTTON_1_ID = GROUP_ID + 2;
+    private static final int BUTTON_2_ID = GROUP_ID + 3;
+
+    private static final float TEST_DARK_INTENSITY = 0.6f;
+    private static final float DARK_INTENSITY_ERR = 0.0002f;
+    private static final int ICON_RES_ID = 1;
+
+    private ContextualButtonGroup mGroup;
+    private ContextualButton mBtn0;
+    private ContextualButton mBtn1;
+    private ContextualButton mBtn2;
+
+    @Before
+    public void setup() {
+        mGroup = new ContextualButtonGroup(GROUP_ID);
+        mBtn0 = new ContextualButton(BUTTON_0_ID, ICON_RES_ID);
+        mBtn1 = new ContextualButton(BUTTON_1_ID, ICON_RES_ID);
+        mBtn2 = new ContextualButton(BUTTON_2_ID, ICON_RES_ID);
+
+        // Order of adding buttons to group determines the priority, ascending priority order
+        mGroup.addButton(mBtn0);
+        mGroup.addButton(mBtn1);
+        mGroup.addButton(mBtn2);
+    }
+
+    @Test
+    public void testAddGetContextButtons() throws Exception {
+        assertEquals(mBtn0, mGroup.getContextButton(BUTTON_0_ID));
+        assertEquals(mBtn1, mGroup.getContextButton(BUTTON_1_ID));
+        assertEquals(mBtn2, mGroup.getContextButton(BUTTON_2_ID));
+    }
+
+    @Test
+    public void testSetButtonVisibility() throws Exception {
+        assertFalse("By default the group should be invisible.", mGroup.isVisible());
+
+        // Set button 1 to be visible, make sure it is the only visible button
+        showButton(mBtn1);
+        assertFalse(mBtn0.isVisible());
+        assertTrue(mBtn1.isVisible());
+        assertFalse(mBtn2.isVisible());
+
+        // Hide button 1 and make sure the group is also invisible
+        assertNotEquals(mGroup.setButtonVisiblity(BUTTON_1_ID, false /* visible */), View.VISIBLE);
+        assertFalse("No buttons are visible, group should also be hidden", mGroup.isVisible());
+        assertNull("No buttons should be visible", mGroup.getVisibleContextButton());
+    }
+
+    @Test(expected = RuntimeException.class)
+    public void testSetButtonVisibilityUnaddedButton() throws Exception {
+        int id = mBtn2.getId() + 1;
+        mGroup.setButtonVisiblity(id, true /* visible */);
+        fail("Did not throw when setting a button with an invalid id");
+    }
+
+    @Test
+    public void testSetHigherPriorityButton() throws Exception {
+        // Show button 0
+        showButton(mBtn0);
+
+        // Show button 1
+        showButton(mBtn1);
+        assertTrue("Button 0 should be visible behind",
+                mGroup.isButtonVisibleWithinGroup(mBtn0.getId()));
+
+        // Show button 2
+        showButton(mBtn2);
+        assertTrue("Button 1 should be visible behind",
+                mGroup.isButtonVisibleWithinGroup(mBtn1.getId()));
+        assertTrue(mGroup.isButtonVisibleWithinGroup(mBtn0.getId()));
+        assertTrue(mGroup.isButtonVisibleWithinGroup(mBtn1.getId()));
+        assertTrue(mGroup.isButtonVisibleWithinGroup(mBtn2.getId()));
+
+        // Hide button 2
+        assertNotEquals(mGroup.setButtonVisiblity(BUTTON_2_ID, false /* visible */), View.VISIBLE);
+        assertEquals("Hiding button 2 should show button 1", mBtn1,
+                mGroup.getVisibleContextButton());
+
+        // Hide button 1
+        assertNotEquals(mGroup.setButtonVisiblity(BUTTON_1_ID, false /* visible */), View.VISIBLE);
+        assertEquals("Hiding button 1 should show button 0", mBtn0,
+                mGroup.getVisibleContextButton());
+
+        // Hide button 0, all buttons are now invisible
+        assertNotEquals(mGroup.setButtonVisiblity(BUTTON_0_ID, false /* visible */), View.VISIBLE);
+        assertFalse("No buttons are visible, group should also be invisible", mGroup.isVisible());
+        assertNull(mGroup.getVisibleContextButton());
+        assertFalse(mGroup.isButtonVisibleWithinGroup(mBtn0.getId()));
+        assertFalse(mGroup.isButtonVisibleWithinGroup(mBtn1.getId()));
+        assertFalse(mGroup.isButtonVisibleWithinGroup(mBtn2.getId()));
+    }
+
+    @Test
+    public void testSetLowerPriorityButton() throws Exception {
+        // Show button 2
+        showButton(mBtn2);
+
+        // Show button 1
+        assertNotEquals(mGroup.setButtonVisiblity(BUTTON_1_ID, true /* visible */), View.VISIBLE);
+        assertTrue("Showing button 1 lower priority should be hidden but visible underneath",
+                mGroup.isButtonVisibleWithinGroup(BUTTON_1_ID));
+        assertFalse(mBtn0.isVisible());
+        assertFalse(mBtn1.isVisible());
+        assertTrue(mBtn2.isVisible());
+
+        // Hide button 1
+        assertNotEquals(mGroup.setButtonVisiblity(BUTTON_1_ID, false /* visible */), View.VISIBLE);
+        assertFalse("Hiding button 1 with lower priority hides itself underneath",
+                mGroup.isButtonVisibleWithinGroup(BUTTON_1_ID));
+        assertTrue("A button still visible, group should also be visible", mGroup.isVisible());
+        assertEquals(mBtn2, mGroup.getVisibleContextButton());
+    }
+
+    @Test
+    public void testSetSamePriorityButton() throws Exception {
+        // Show button 1
+        showButton(mBtn1);
+
+        // Show button 1 again
+        showButton(mBtn1);
+
+        // The original button should still be visible
+        assertEquals(mBtn1, mGroup.getVisibleContextButton());
+        assertFalse(mGroup.isButtonVisibleWithinGroup(mBtn0.getId()));
+        assertFalse(mGroup.isButtonVisibleWithinGroup(mBtn2.getId()));
+    }
+
+    @Test
+    public void testUpdateIconsDarkIntensity() throws Exception {
+        final int unusedColor = 0;
+        final Drawable d = mock(Drawable.class);
+        final ContextualButton button = spy(mBtn0);
+        final KeyButtonDrawable kbd1 = spy(new KeyButtonDrawable(d, unusedColor, unusedColor));
+        final KeyButtonDrawable kbd2 = spy(new KeyButtonDrawable(d, unusedColor, unusedColor));
+        kbd1.setDarkIntensity(TEST_DARK_INTENSITY);
+        kbd2.setDarkIntensity(0f);
+
+        // Update icon returns the drawable intensity to half
+        doReturn(kbd1).when(button).getNewDrawable();
+        button.updateIcon();
+        assertEquals(TEST_DARK_INTENSITY, kbd1.getDarkIntensity(), DARK_INTENSITY_ERR);
+
+        // Return old dark intensity on new drawable after update icon
+        doReturn(kbd2).when(button).getNewDrawable();
+        button.updateIcon();
+        assertEquals(TEST_DARK_INTENSITY, kbd2.getDarkIntensity(), DARK_INTENSITY_ERR);
+    }
+
+    private void showButton(ContextualButton button) {
+        assertEquals(View.VISIBLE, mGroup.setButtonVisiblity(button.getId(), true /* visible */));
+        assertTrue("After set a button visible, group should also be visible", mGroup.isVisible());
+        assertEquals(button, mGroup.getVisibleContextButton());
+    }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NearestTouchFrameTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NearestTouchFrameTest.java
index 2423e14..667a508 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NearestTouchFrameTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NearestTouchFrameTest.java
@@ -171,23 +171,6 @@
         ev.recycle();
     }
 
-    @Test
-    public void testFurtherSelectedWhenCloserNotFocusable() {
-        View closer = mockViewAt(0, 0, 10, 10);
-        View further = mockViewAt(20, 0, 10, 10);
-        closer.setFocusable(false);
-
-        mNearestTouchFrame.addView(closer);
-        mNearestTouchFrame.addView(further);
-        mNearestTouchFrame.onMeasure(0, 0);
-
-        MotionEvent ev = MotionEvent.obtain(0, 0, 0,
-                12 /* x */, 5 /* y */, 0);
-        mNearestTouchFrame.onTouchEvent(ev);
-        verify(further).onTouchEvent(eq(ev));
-        ev.recycle();
-    }
-
     private View mockViewAt(int x, int y, int width, int height) {
         View v = spy(new View(mContext));
         doAnswer(invocation -> {
@@ -204,7 +187,6 @@
         v.setRight(width);
         v.setTop(0);
         v.setBottom(height);
-        v.setFocusable(true);
         return v;
     }
 }
\ No newline at end of file
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationGroupManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationGroupManagerTest.java
new file mode 100644
index 0000000..464f74b
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationGroupManagerTest.java
@@ -0,0 +1,306 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.systemui.statusbar.phone;
+
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertFalse;
+import static junit.framework.Assert.assertTrue;
+
+import static org.junit.Assert.assertNull;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.verify;
+
+import android.app.ActivityManager;
+import android.app.Notification;
+import android.os.UserHandle;
+import android.service.notification.StatusBarNotification;
+import android.support.test.filters.SmallTest;
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper;
+
+import com.android.systemui.R;
+import com.android.systemui.SysuiTestCase;
+import com.android.systemui.statusbar.AmbientPulseManager;
+import com.android.systemui.statusbar.notification.NotificationData;
+import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
+import com.android.systemui.statusbar.phone.NotificationGroupManager.OnGroupChangeListener;
+import com.android.systemui.statusbar.policy.HeadsUpManager;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+
+
+@SmallTest
+@RunWith(AndroidTestingRunner.class)
+@TestableLooper.RunWithLooper
+public class NotificationGroupManagerTest extends SysuiTestCase {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
+
+    private static final String TEST_CHANNEL_ID = "test_channel";
+    private static final String TEST_GROUP_ID = "test_group";
+    private static final String TEST_PACKAGE_NAME = "test_pkg";
+    private NotificationGroupManager mGroupManager;
+    private int mId = 0;
+
+    @Mock HeadsUpManager mHeadsUpManager;
+    @Mock AmbientPulseManager mAmbientPulseManager;
+
+    @Before
+    public void setup() {
+        mDependency.injectTestDependency(AmbientPulseManager.class, mAmbientPulseManager);
+
+        initializeGroupManager();
+    }
+
+    private void initializeGroupManager() {
+        mGroupManager = new NotificationGroupManager();
+        mGroupManager.setHeadsUpManager(mHeadsUpManager);
+        mGroupManager.setOnGroupChangeListener(mock(OnGroupChangeListener.class));
+    }
+
+    @Test
+    public void testIsOnlyChildInGroup() {
+        NotificationData.Entry childEntry = createChildNotification();
+        NotificationData.Entry summaryEntry = createSummaryNotification();
+
+        mGroupManager.onEntryAdded(summaryEntry);
+        mGroupManager.onEntryAdded(childEntry);
+
+        assertTrue(mGroupManager.isOnlyChildInGroup(childEntry.notification));
+    }
+
+    @Test
+    public void testIsChildInGroupWithSummary() {
+        NotificationData.Entry childEntry = createChildNotification();
+        NotificationData.Entry summaryEntry = createSummaryNotification();
+
+        mGroupManager.onEntryAdded(summaryEntry);
+        mGroupManager.onEntryAdded(childEntry);
+        mGroupManager.onEntryAdded(createChildNotification());
+
+        assertTrue(mGroupManager.isChildInGroupWithSummary(childEntry.notification));
+    }
+
+    @Test
+    public void testIsSummaryOfGroupWithChildren() {
+        NotificationData.Entry childEntry = createChildNotification();
+        NotificationData.Entry summaryEntry = createSummaryNotification();
+
+        mGroupManager.onEntryAdded(summaryEntry);
+        mGroupManager.onEntryAdded(childEntry);
+        mGroupManager.onEntryAdded(createChildNotification());
+
+        assertTrue(mGroupManager.isSummaryOfGroup(summaryEntry.notification));
+        assertEquals(summaryEntry.row, mGroupManager.getGroupSummary(childEntry.notification));
+    }
+
+    @Test
+    public void testRemoveChildFromGroupWithSummary() {
+        NotificationData.Entry childEntry = createChildNotification();
+        NotificationData.Entry summaryEntry = createSummaryNotification();
+        mGroupManager.onEntryAdded(summaryEntry);
+        mGroupManager.onEntryAdded(childEntry);
+        mGroupManager.onEntryAdded(createChildNotification());
+
+        mGroupManager.onEntryRemoved(childEntry);
+
+        assertFalse(mGroupManager.isChildInGroupWithSummary(childEntry.notification));
+    }
+
+    @Test
+    public void testRemoveSummaryFromGroupWithSummary() {
+        NotificationData.Entry childEntry = createChildNotification();
+        NotificationData.Entry summaryEntry = createSummaryNotification();
+        mGroupManager.onEntryAdded(summaryEntry);
+        mGroupManager.onEntryAdded(childEntry);
+        mGroupManager.onEntryAdded(createChildNotification());
+
+        mGroupManager.onEntryRemoved(summaryEntry);
+
+        assertNull(mGroupManager.getGroupSummary(childEntry.notification));
+        assertFalse(mGroupManager.isSummaryOfGroup(summaryEntry.notification));
+    }
+
+    @Test
+    public void testHeadsUpEntryIsIsolated() {
+        NotificationData.Entry childEntry = createChildNotification();
+        NotificationData.Entry summaryEntry = createSummaryNotification();
+        mGroupManager.onEntryAdded(summaryEntry);
+        mGroupManager.onEntryAdded(childEntry);
+        mGroupManager.onEntryAdded(createChildNotification());
+        when(mHeadsUpManager.isAlerting(childEntry.key)).thenReturn(true);
+
+        mGroupManager.onHeadsUpStateChanged(childEntry, true);
+
+        // Child entries that are heads upped should be considered separate groups visually even if
+        // they are the same group logically
+        assertEquals(childEntry.row, mGroupManager.getGroupSummary(childEntry.notification));
+        assertEquals(summaryEntry.row,
+                mGroupManager.getLogicalGroupSummary(childEntry.notification));
+    }
+
+    @Test
+    public void testAmbientPulseEntryIsIsolated() {
+        mGroupManager.setDozing(true);
+        NotificationData.Entry childEntry = createChildNotification();
+        NotificationData.Entry summaryEntry = createSummaryNotification();
+        mGroupManager.onEntryAdded(summaryEntry);
+        mGroupManager.onEntryAdded(childEntry);
+        mGroupManager.onEntryAdded(createChildNotification());
+        when(mAmbientPulseManager.isAlerting(childEntry.key)).thenReturn(true);
+
+        mGroupManager.onAmbientStateChanged(childEntry, true);
+
+        // Child entries that are heads upped should be considered separate groups visually even if
+        // they are the same group logically
+        assertEquals(childEntry.row, mGroupManager.getGroupSummary(childEntry.notification));
+        assertEquals(summaryEntry.row,
+                mGroupManager.getLogicalGroupSummary(childEntry.notification));
+    }
+
+    @Test
+    public void testSuppressedSummaryHeadsUpTransfersToChild() {
+        NotificationData.Entry summaryEntry = createSummaryNotification();
+        when(mHeadsUpManager.isAlerting(summaryEntry.key)).thenReturn(true);
+        NotificationData.Entry childEntry = createChildNotification();
+
+        // Summary will be suppressed because there is only one child.
+        mGroupManager.onEntryAdded(summaryEntry);
+        mGroupManager.onEntryAdded(childEntry);
+
+        // A suppressed summary should transfer its heads up state to the child.
+        verify(mHeadsUpManager, never()).showNotification(summaryEntry);
+        verify(mHeadsUpManager).showNotification(childEntry);
+    }
+
+    @Test
+    public void testSuppressedSummaryHeadsUpTransfersToChildButBackAgain() {
+        mHeadsUpManager = new HeadsUpManager(mContext) {};
+        mGroupManager.setHeadsUpManager(mHeadsUpManager);
+        NotificationData.Entry summaryEntry =
+                createSummaryNotification(Notification.GROUP_ALERT_SUMMARY);
+        NotificationData.Entry childEntry =
+                createChildNotification(Notification.GROUP_ALERT_SUMMARY);
+        NotificationData.Entry childEntry2 =
+                createChildNotification(Notification.GROUP_ALERT_SUMMARY);
+        mHeadsUpManager.showNotification(summaryEntry);
+        // Trigger a transfer of heads up state from summary to child.
+        mGroupManager.onEntryAdded(summaryEntry);
+        mGroupManager.onEntryAdded(childEntry);
+
+        // Add second child notification so that summary is no longer suppressed.
+        mGroupManager.onEntryAdded(childEntry2);
+
+        // The heads up state should transfer back to the summary as there is now more than one
+        // child and the summary should no longer be suppressed.
+        assertTrue(mHeadsUpManager.isAlerting(summaryEntry.key));
+        assertFalse(mHeadsUpManager.isAlerting(childEntry.key));
+    }
+
+    @Test
+    public void testSuppressedSummaryAmbientPulseTransfersToChild() {
+        mGroupManager.setDozing(true);
+        NotificationData.Entry summaryEntry = createSummaryNotification();
+        when(mAmbientPulseManager.isAlerting(summaryEntry.key)).thenReturn(true);
+        NotificationData.Entry childEntry = createChildNotification();
+
+        // Summary will be suppressed because there is only one child.
+        mGroupManager.onEntryAdded(summaryEntry);
+        mGroupManager.onEntryAdded(childEntry);
+
+        // A suppressed summary should transfer its ambient state to the child.
+        verify(mAmbientPulseManager, never()).showNotification(summaryEntry);
+        verify(mAmbientPulseManager).showNotification(childEntry);
+    }
+
+    @Test
+    public void testSuppressedSummaryAmbientPulseTransfersToChildButBackAgain() {
+        mGroupManager.setDozing(true);
+        mAmbientPulseManager = new AmbientPulseManager(mContext);
+        mDependency.injectTestDependency(AmbientPulseManager.class, mAmbientPulseManager);
+        initializeGroupManager();
+        NotificationData.Entry summaryEntry =
+                createSummaryNotification(Notification.GROUP_ALERT_SUMMARY);
+        NotificationData.Entry childEntry =
+                createChildNotification(Notification.GROUP_ALERT_SUMMARY);
+        NotificationData.Entry childEntry2 =
+                createChildNotification(Notification.GROUP_ALERT_SUMMARY);
+        mAmbientPulseManager.showNotification(summaryEntry);
+        // Trigger a transfer of ambient state from summary to child.
+        mGroupManager.onEntryAdded(summaryEntry);
+        mGroupManager.onEntryAdded(childEntry);
+
+        // Add second child notification so that summary is no longer suppressed.
+        mGroupManager.onEntryAdded(childEntry2);
+
+        // The ambient state should transfer back to the summary as there is now more than one
+        // child and the summary should no longer be suppressed.
+        assertTrue(mAmbientPulseManager.isAlerting(summaryEntry.key));
+        assertFalse(mAmbientPulseManager.isAlerting(childEntry.key));
+    }
+
+    private NotificationData.Entry createSummaryNotification() {
+        return createSummaryNotification(Notification.GROUP_ALERT_ALL);
+    }
+
+    private NotificationData.Entry createSummaryNotification(int groupAlertBehavior) {
+        return createEntry(true, groupAlertBehavior);
+    }
+
+    private NotificationData.Entry createChildNotification() {
+        return createChildNotification(Notification.GROUP_ALERT_ALL);
+    }
+
+    private NotificationData.Entry createChildNotification(int groupAlertBehavior) {
+        return createEntry(false, groupAlertBehavior);
+    }
+
+    private NotificationData.Entry createEntry(boolean isSummary, int groupAlertBehavior) {
+        Notification notif = new Notification.Builder(mContext, TEST_CHANNEL_ID)
+                .setContentTitle("Title")
+                .setSmallIcon(R.drawable.ic_person)
+                .setGroupAlertBehavior(groupAlertBehavior)
+                .setGroupSummary(isSummary)
+                .setGroup(TEST_GROUP_ID)
+                .build();
+        StatusBarNotification sbn = new StatusBarNotification(
+                TEST_PACKAGE_NAME /* pkg */,
+                TEST_PACKAGE_NAME,
+                mId++,
+                null /* tag */,
+                0, /* uid */
+                0 /* initialPid */,
+                notif,
+                new UserHandle(ActivityManager.getCurrentUser()),
+                null /* overrideGroupKey */,
+                0 /* postTime */);
+        NotificationData.Entry entry = new NotificationData.Entry(sbn);
+        ExpandableNotificationRow row = mock(ExpandableNotificationRow.class);
+        entry.row = row;
+        when(row.getEntry()).thenReturn(entry);
+        when(row.getStatusBarNotification()).thenReturn(sbn);
+        return entry;
+    }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java
index cbba251..da93327 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java
@@ -50,6 +50,7 @@
 import android.os.PowerManager;
 import android.os.RemoteException;
 import android.os.UserHandle;
+import android.service.dreams.IDreamManager;
 import android.service.notification.StatusBarNotification;
 import android.support.test.filters.SmallTest;
 import android.support.test.metricshelper.MetricsAsserts;
@@ -119,9 +120,9 @@
     @Mock private KeyguardIndicationController mKeyguardIndicationController;
     @Mock private NotificationStackScrollLayout mStackScroller;
     @Mock private HeadsUpManagerPhone mHeadsUpManager;
-    @Mock private SystemServicesProxy mSystemServicesProxy;
     @Mock private NotificationPanelView mNotificationPanelView;
     @Mock private IStatusBarService mBarService;
+    @Mock private IDreamManager mDreamManager;
     @Mock private ScrimController mScrimController;
     @Mock private ArrayList<Entry> mNotificationList;
     @Mock private BiometricUnlockController mBiometricUnlockController;
@@ -194,8 +195,7 @@
             return null;
         }).when(mStatusBarKeyguardViewManager).addAfterKeyguardGoneRunnable(any());
 
-        mEntryManager = new TestableNotificationEntryManager(mSystemServicesProxy, mPowerManager,
-                mContext);
+        mEntryManager = new TestableNotificationEntryManager(mDreamManager, mPowerManager, mContext);
         when(mRemoteInputManager.getController()).thenReturn(mRemoteInputController);
         mStatusBar = new TestableStatusBar(mStatusBarKeyguardViewManager, mUnlockMethodCache,
                 mKeyguardIndicationController, mStackScroller, mHeadsUpManager,
@@ -358,12 +358,12 @@
     }
 
     @Test
-    public void testShouldPeek_nonSuppressedGroupSummary() {
+    public void testShouldHeadsUp_nonSuppressedGroupSummary() throws Exception {
         when(mPowerManager.isScreenOn()).thenReturn(true);
         when(mHeadsUpManager.isSnoozed(anyString())).thenReturn(false);
         when(mNotificationData.shouldSuppressStatusBar(any())).thenReturn(false);
         when(mNotificationData.shouldFilterOut(any())).thenReturn(false);
-        when(mSystemServicesProxy.isDreaming()).thenReturn(false);
+        when(mDreamManager.isDreaming()).thenReturn(false);
         when(mNotificationData.getImportance(any())).thenReturn(IMPORTANCE_HIGH);
 
         Notification n = new Notification.Builder(getContext(), "a")
@@ -375,16 +375,16 @@
                 UserHandle.of(0), null, 0);
         NotificationData.Entry entry = new NotificationData.Entry(sbn);
 
-        assertTrue(mEntryManager.shouldPeek(entry, sbn));
+        assertTrue(mEntryManager.shouldHeadsUp(entry));
     }
 
     @Test
-    public void testShouldPeek_suppressedGroupSummary() {
+    public void testShouldHeadsUp_suppressedGroupSummary() throws Exception {
         when(mPowerManager.isScreenOn()).thenReturn(true);
         when(mHeadsUpManager.isSnoozed(anyString())).thenReturn(false);
         when(mNotificationData.shouldSuppressStatusBar(any())).thenReturn(false);
         when(mNotificationData.shouldFilterOut(any())).thenReturn(false);
-        when(mSystemServicesProxy.isDreaming()).thenReturn(false);
+        when(mDreamManager.isDreaming()).thenReturn(false);
         when(mNotificationData.getImportance(any())).thenReturn(IMPORTANCE_HIGH);
 
         Notification n = new Notification.Builder(getContext(), "a")
@@ -396,15 +396,15 @@
                 UserHandle.of(0), null, 0);
         NotificationData.Entry entry = new NotificationData.Entry(sbn);
 
-        assertFalse(mEntryManager.shouldPeek(entry, sbn));
+        assertFalse(mEntryManager.shouldHeadsUp(entry));
     }
 
     @Test
-    public void testShouldPeek_suppressedPeek() {
+    public void testShouldHeadsUp_suppressedHeadsUp() throws Exception {
         when(mPowerManager.isScreenOn()).thenReturn(true);
         when(mHeadsUpManager.isSnoozed(anyString())).thenReturn(false);
         when(mNotificationData.shouldFilterOut(any())).thenReturn(false);
-        when(mSystemServicesProxy.isDreaming()).thenReturn(false);
+        when(mDreamManager.isDreaming()).thenReturn(false);
         when(mNotificationData.getImportance(any())).thenReturn(IMPORTANCE_HIGH);
 
         when(mNotificationData.shouldSuppressPeek(any())).thenReturn(true);
@@ -414,15 +414,15 @@
                 UserHandle.of(0), null, 0);
         NotificationData.Entry entry = new NotificationData.Entry(sbn);
 
-        assertFalse(mEntryManager.shouldPeek(entry, sbn));
+        assertFalse(mEntryManager.shouldHeadsUp(entry));
     }
 
     @Test
-    public void testShouldPeek_noSuppressedPeek() {
+    public void testShouldHeadsUp_noSuppressedHeadsUp() throws Exception {
         when(mPowerManager.isScreenOn()).thenReturn(true);
         when(mHeadsUpManager.isSnoozed(anyString())).thenReturn(false);
         when(mNotificationData.shouldFilterOut(any())).thenReturn(false);
-        when(mSystemServicesProxy.isDreaming()).thenReturn(false);
+        when(mDreamManager.isDreaming()).thenReturn(false);
         when(mNotificationData.getImportance(any())).thenReturn(IMPORTANCE_HIGH);
 
         when(mNotificationData.shouldSuppressPeek(any())).thenReturn(false);
@@ -432,31 +432,31 @@
                 UserHandle.of(0), null, 0);
         NotificationData.Entry entry = new NotificationData.Entry(sbn);
 
-        assertTrue(mEntryManager.shouldPeek(entry, sbn));
+        assertTrue(mEntryManager.shouldHeadsUp(entry));
     }
 
     @Test
-    public void testPeek_disabledStatusBar() {
+    public void testHeadsUp_disabledStatusBar() {
         Notification n = new Notification.Builder(getContext(), "a").build();
         StatusBarNotification sbn = new StatusBarNotification("a", "a", 0, "a", 0, 0, n,
                 UserHandle.of(0), null, 0);
         NotificationData.Entry entry = new NotificationData.Entry(sbn);
         mStatusBar.disable(StatusBarManager.DISABLE_EXPAND, 0, false /* animate */);
 
-        assertFalse("The panel shouldn't allow peek while disabled",
-                mStatusBar.shouldPeek(entry, sbn));
+        assertFalse("The panel shouldn't allow heads up while disabled",
+                mStatusBar.canHeadsUp(entry, sbn));
     }
 
     @Test
-    public void testPeek_disabledNotificationShade() {
+    public void testHeadsUp_disabledNotificationShade() {
         Notification n = new Notification.Builder(getContext(), "a").build();
         StatusBarNotification sbn = new StatusBarNotification("a", "a", 0, "a", 0, 0, n,
                 UserHandle.of(0), null, 0);
         NotificationData.Entry entry = new NotificationData.Entry(sbn);
         mStatusBar.disable(0, StatusBarManager.DISABLE2_NOTIFICATION_SHADE, false /* animate */);
 
-        assertFalse("The panel shouldn't allow peek while notitifcation shade disabled",
-                mStatusBar.shouldPeek(entry, sbn));
+        assertFalse("The panel shouldn't allow heads up while notification shade disabled",
+                mStatusBar.canHeadsUp(entry, sbn));
     }
 
     @Test
@@ -472,7 +472,7 @@
     }
 
     @Test
-    public void testPanelOpenForPeek() {
+    public void testPanelOpenForHeadsUp() {
         when(mHeadsUpManager.hasPinnedHeadsUp()).thenReturn(true);
         when(mNotificationData.getActiveNotifications()).thenReturn(mNotificationList);
         when(mNotificationList.size()).thenReturn(5);
@@ -690,10 +690,10 @@
 
     public static class TestableNotificationEntryManager extends NotificationEntryManager {
 
-        public TestableNotificationEntryManager(SystemServicesProxy systemServicesProxy,
+        public TestableNotificationEntryManager(IDreamManager dreamManager,
                 PowerManager powerManager, Context context) {
             super(context);
-            mSystemServicesProxy = systemServicesProxy;
+            mDreamManager = dreamManager;
             mPowerManager = powerManager;
         }
 
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarWindowControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarWindowControllerTest.java
index f8223f6..f7a7e04 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarWindowControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarWindowControllerTest.java
@@ -19,6 +19,7 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -83,4 +84,16 @@
                 & WindowManager.LayoutParams.PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
         assertThat(flag).isEqualTo(0);
     }
+
+    @Test
+    public void testOnThemeChanged_doesntCrash() {
+        mStatusBarWindowController = new StatusBarWindowController(mContext, mWindowManager,
+                mActivityManager, mDozeParameters);
+        mStatusBarWindowController.onThemeChanged();
+    }
+
+    @Test
+    public void testAdd_updatesVisibilityFlags() {
+        verify(mStatusBarView).setSystemUiVisibility(anyInt());
+    }
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/ExtensionControllerImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/ExtensionControllerImplTest.java
index b22a646..1cceefa 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/ExtensionControllerImplTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/ExtensionControllerImplTest.java
@@ -33,7 +33,7 @@
 import com.android.systemui.plugins.OverlayPlugin;
 import com.android.systemui.plugins.Plugin;
 import com.android.systemui.plugins.PluginListener;
-import com.android.systemui.plugins.PluginManager;
+import com.android.systemui.shared.plugins.PluginManager;
 import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener;
 import com.android.systemui.statusbar.policy.ExtensionController.Extension;
 import com.android.systemui.statusbar.policy.ExtensionController.TunerFactory;
diff --git a/packages/SystemUI/tests/src/com/android/systemui/utils/leaks/FakePluginManager.java b/packages/SystemUI/tests/src/com/android/systemui/utils/leaks/FakePluginManager.java
index 0a83a89..5f54bce 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/utils/leaks/FakePluginManager.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/utils/leaks/FakePluginManager.java
@@ -14,12 +14,11 @@
 
 package com.android.systemui.utils.leaks;
 
-import android.content.Context;
 import android.testing.LeakCheck;
 
 import com.android.systemui.plugins.Plugin;
 import com.android.systemui.plugins.PluginListener;
-import com.android.systemui.plugins.PluginManager;
+import com.android.systemui.shared.plugins.PluginManager;
 
 public class FakePluginManager implements PluginManager {
 
diff --git a/packages/SystemUI/tests/src/com/android/systemui/utils/leaks/LeakCheckedTest.java b/packages/SystemUI/tests/src/com/android/systemui/utils/leaks/LeakCheckedTest.java
index ecda9620..f479126 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/utils/leaks/LeakCheckedTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/utils/leaks/LeakCheckedTest.java
@@ -20,7 +20,7 @@
 import android.util.ArrayMap;
 
 import com.android.systemui.SysuiTestCase;
-import com.android.systemui.plugins.PluginManager;
+import com.android.systemui.shared.plugins.PluginManager;
 import com.android.systemui.statusbar.phone.ManagedProfileController;
 import com.android.systemui.statusbar.phone.StatusBarIconController;
 import com.android.systemui.statusbar.policy.BatteryController;
diff --git a/packages/VpnDialogs/res/values-es-rUS/strings.xml b/packages/VpnDialogs/res/values-es-rUS/strings.xml
index 3732ebc..21cfc04 100644
--- a/packages/VpnDialogs/res/values-es-rUS/strings.xml
+++ b/packages/VpnDialogs/res/values-es-rUS/strings.xml
@@ -17,7 +17,7 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="prompt" msgid="3183836924226407828">"Solicitud de conexión"</string>
-    <string name="warning" msgid="809658604548412033">"<xliff:g id="APP">%s</xliff:g> quiere configurar una conexión VPN que permite controlar el tráfico de la red. Acéptala solo si confías en la fuente. &lt;br /&gt; &lt;br /&gt; &lt;img src=vpn_icon /&gt; aparece en la parte superior de la pantalla cuando la VPN está activa."</string>
+    <string name="warning" msgid="809658604548412033">"<xliff:g id="APP">%s</xliff:g> quiere configurar una conexión VPN capaz de controlar el tráfico de la red. Acéptala solo si confías en la fuente. &lt;br /&gt; &lt;br /&gt; &lt;img src=vpn_icon /&gt; aparece en la parte superior de la pantalla cuando se activa la VPN."</string>
     <string name="legacy_title" msgid="192936250066580964">"La VPN está conectada."</string>
     <string name="session" msgid="6470628549473641030">"Sesión:"</string>
     <string name="duration" msgid="3584782459928719435">"Duración:"</string>
diff --git a/proto/src/metrics_constants/OWNERS b/proto/src/metrics_constants/OWNERS
new file mode 100644
index 0000000..7009282
--- /dev/null
+++ b/proto/src/metrics_constants/OWNERS
@@ -0,0 +1,4 @@
+cwren@android.com
+yanglu@google.com
+yaochen@google.com
+yro@google.com
diff --git a/proto/src/metrics_constants.proto b/proto/src/metrics_constants/metrics_constants.proto
similarity index 98%
rename from proto/src/metrics_constants.proto
rename to proto/src/metrics_constants/metrics_constants.proto
index 41b3feb..5e87707 100644
--- a/proto/src/metrics_constants.proto
+++ b/proto/src/metrics_constants/metrics_constants.proto
@@ -4026,6 +4026,8 @@
     // - AUTOFILL_DATASET_AUTHENTICATED
     // - AUTOFILL_INVALID_AUTHENTICATION
     // - AUTOFILL_INVALID_DATASET_AUTHENTICATION
+    // NOTE: starting on OS Q, it also added the following fields:
+    // Tag FIELD_AUTOFILL_TEXT_LEN: length of the error message provided by the service
     AUTOFILL_REQUEST = 907;
 
     // Tag of a field for a package of an autofill service
@@ -4102,6 +4104,8 @@
     // Tag FIELD_CLASS_NAME: Class name of the activity that is autofilled.
     // Tag FIELD_AUTOFILL_SESSION_ID: id of the autofill session associated with this metric.
     // Tag FIELD_AUTOFILL_COMPAT_MODE: package is being autofilled on compatibility mode.
+    // NOTE: starting on OS Q, it also added the following fields:
+    // Tag FIELD_AUTOFILL_TEXT_LEN: length of the error message provided by the service
     AUTOFILL_DATA_SAVE_REQUEST = 918;
 
     // An auto-fill session was finished
@@ -5922,7 +5926,7 @@
     // Tag used to determine what type of charging was started/ended
     // 1 = Plugged AC
     // 2 = Plugged USB
-    // 3 = Wireless
+    // 4 = Wireless
     FIELD_PLUG_TYPE = 1421;
 
     // ACTION: USB-C Connector connected.
@@ -6443,7 +6447,7 @@
 
     // OPEN: Settings > System > Input & Gesture > Reach up gesture
     // OS: Q
-    SETTINGS_GESTURE_REACH = 1557;
+    SETTINGS_GESTURE_WAKE_LOCK_SCREEN = 1557;
 
     // OPEN: Emergency dialer opened
     // CLOSE: Emergency dialer closed
@@ -6517,6 +6521,34 @@
     // OS: Q
     MOBILE_NETWORK = 1571;
 
+    // Tag of a field for the length of a text
+    FIELD_AUTOFILL_TEXT_LEN = 1572;
+
+    // Action: the notification assistant is changing a notification
+    // OS: Q
+    NOTIFICATION_ASSISTANT_ADJUSTMENT = 1573;
+
+    // Subtype: The people attached to a notification was changed
+    ADJUSTMENT_KEY_PEOPLE = 1574;
+
+    // Subtype: The snooze options attached to a notification was changed
+    ADJUSTMENT_KEY_SNOOZE_CRITERIA = 1575;
+
+    // Subtype: The group of a notification was changed
+    ADJUSTMENT_KEY_GROUP_KEY = 1576;
+
+    // Subtype: The user sentiment of a notification was changed
+    ADJUSTMENT_KEY_USER_SENTIMENT = 1577;
+
+    // Subtype: New actions have been added to a notification
+    ADJUSTMENT_KEY_SMART_ACTIONS = 1578;
+
+    // Subtype: New smart replies have been added to a notification
+    ADJUSTMENT_KEY_SMART_REPLIES = 1579;
+
+    // Subtype: The importance of a notification has been changed
+    ADJUSTMENT_KEY_IMPORTANCE = 1580;
+
     // ---- End Q Constants, all Q constants go above this line ----
 
     // Add new aosp constants above this line.
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
index b2e06f9..9bee8db 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
@@ -21,6 +21,8 @@
 import static android.view.accessibility.AccessibilityEvent.WINDOWS_CHANGE_ACCESSIBILITY_FOCUSED;
 import static android.view.accessibility.AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS;
 import static android.view.accessibility.AccessibilityNodeInfo.ACTION_CLEAR_ACCESSIBILITY_FOCUS;
+import static android.view.accessibility.AccessibilityNodeInfo.ACTION_CLICK;
+import static android.view.accessibility.AccessibilityNodeInfo.ACTION_LONG_CLICK;
 import static com.android.internal.util.FunctionalUtils.ignoreRemoteException;
 import static com.android.internal.util.function.pooled.PooledLambda.obtainMessage;
 import static android.accessibilityservice.AccessibilityService.SHOW_MODE_AUTO;
@@ -1689,6 +1691,24 @@
                 this, userState));
     }
 
+    private void scheduleSetAllClientsMinimumUiTimeout(UserState userState) {
+        mMainHandler.sendMessage(obtainMessage(
+                AccessibilityManagerService::sendMinimumUiTimeoutChanged,
+                this, userState.mUserClients, userState.mMinimumUiTimeout));
+    }
+
+    private void sendMinimumUiTimeoutChanged(
+            RemoteCallbackList<IAccessibilityManagerClient> userClients, int uiTimeout) {
+        notifyClientsOfServicesMinimumUiTimeoutChange(mGlobalClients, uiTimeout);
+        notifyClientsOfServicesMinimumUiTimeoutChange(userClients, uiTimeout);
+    }
+
+    private void notifyClientsOfServicesMinimumUiTimeoutChange(
+            RemoteCallbackList<IAccessibilityManagerClient> clients, int uiTimeout) {
+        clients.broadcast(ignoreRemoteException(
+                client -> client.setMinimumUiTimeout(uiTimeout)));
+    }
+
     private void updateInputFilter(UserState userState) {
         if (mUiAutomationManager.suppressingAccessibilityServicesLocked()) return;
 
@@ -1822,6 +1842,7 @@
         scheduleUpdateClientsIfNeededLocked(userState);
         updateRelevantEventsLocked(userState);
         updateAccessibilityButtonTargetsLocked(userState);
+        updateMinimumUiTimeoutLocked(userState);
     }
 
     private void updateAccessibilityFocusBehaviorLocked(UserState userState) {
@@ -1940,6 +1961,7 @@
         somethingChanged |= readAutoclickEnabledSettingLocked(userState);
         somethingChanged |= readAccessibilityShortcutSettingLocked(userState);
         somethingChanged |= readAccessibilityButtonSettingsLocked(userState);
+        somethingChanged |= readUserMinimumUiTimeoutSettingsLocked(userState);
         return somethingChanged;
     }
 
@@ -2084,6 +2106,22 @@
         return true;
     }
 
+    private boolean readUserMinimumUiTimeoutSettingsLocked(UserState userState) {
+        final boolean enabled = Settings.Secure.getIntForUser(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_MINIMUM_UI_TIMEOUT_ENABLED, 0,
+                userState.mUserId) == 1;
+        final int timeout = Settings.Secure.getIntForUser(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_MINIMUM_UI_TIMEOUT_MS, 0,
+                userState.mUserId);
+        if (enabled != userState.mUserMinimumUiTimeoutEnabled
+                || timeout != userState.mUserMinimumUiTimeout) {
+            userState.mUserMinimumUiTimeoutEnabled = enabled;
+            userState.mUserMinimumUiTimeout = timeout;
+            return true;
+        }
+        return false;
+    }
+
     /**
      * Check if the service that will be enabled by the shortcut is installed. If it isn't,
      * clear the value and the associated setting so a sideloaded service can't spoof the
@@ -2250,6 +2288,27 @@
         }
     }
 
+    private void updateMinimumUiTimeoutLocked(UserState userState) {
+        int newUiTimeout = 0;
+        if (userState.mUserMinimumUiTimeoutEnabled) {
+            newUiTimeout = userState.mUserMinimumUiTimeout;
+        } else {
+            final List<AccessibilityServiceConnection> services = userState.mBoundServices;
+            final int numServices = services.size();
+            for (int i = 0; i < numServices; i++) {
+                final int serviceUiTimeout = services.get(i).getServiceInfo()
+                        .getMinimumUiTimeoutMillis();
+                if (newUiTimeout < serviceUiTimeout) {
+                    newUiTimeout = serviceUiTimeout;
+                }
+            }
+        }
+        if (newUiTimeout != userState.mMinimumUiTimeout) {
+            userState.mMinimumUiTimeout = newUiTimeout;
+            scheduleSetAllClientsMinimumUiTimeout(userState);
+        }
+    }
+
     @GuardedBy("mLock")
     @Override
     public MagnificationSpec getCompatibleMagnificationSpecLocked(int windowId) {
@@ -2388,6 +2447,20 @@
         return mFingerprintGestureDispatcher.onFingerprintGesture(gestureKeyCode);
     }
 
+    /**
+     * Get the minimum timeout for changes to the UI needed by this user. Controls should remain
+     * on the screen for at least this long to give users time to react.
+     *
+     * @return The minimum timeout for the current user in milliseconds.
+     */
+    @Override
+    public int getMinimumUiTimeout() {
+        synchronized(mLock) {
+            final UserState userState = getCurrentUserStateLocked();
+            return userState.mMinimumUiTimeout;
+        }
+    }
+
     @Override
     public void dump(FileDescriptor fd, final PrintWriter pw, String[] args) {
         if (!DumpUtils.checkDumpPermission(mContext, LOG_TAG, pw)) return;
@@ -2405,6 +2478,7 @@
                 pw.append(", navBarMagnificationEnabled="
                         + userState.mIsNavBarMagnificationEnabled);
                 pw.append(", autoclickEnabled=" + userState.mIsAutoclickEnabled);
+                pw.append(", minimumUiTimeout=" + userState.mMinimumUiTimeout);
                 if (mUiAutomationManager.isUiAutomationRunningLocked()) {
                     pw.append(", ");
                     mUiAutomationManager.dumpUiAutomationService(fd, pw, args);
@@ -2549,6 +2623,38 @@
         return -1;
     }
 
+    private void notifyOutsideTouchIfNeeded(int targetWindowId, int action, Bundle arguments,
+            int interactionId, IAccessibilityInteractionConnectionCallback callback, int fetchFlags,
+            int interrogatingPid, long interrogatingTid) {
+        if (action != ACTION_CLICK && action != ACTION_LONG_CLICK) {
+            return;
+        }
+
+        final List<Integer> outsideWindowsIds;
+        final List<RemoteAccessibilityConnection> connectionList = new ArrayList<>();
+        synchronized (mLock) {
+            outsideWindowsIds = mSecurityPolicy.getWatchOutsideTouchWindowId(targetWindowId);
+            for (int i = 0; i < outsideWindowsIds.size(); i++) {
+                connectionList.add(getConnectionLocked(outsideWindowsIds.get(i)));
+            }
+        }
+        for (int i = 0; i < connectionList.size(); i++) {
+            final RemoteAccessibilityConnection connection = connectionList.get(i);
+            if (connection != null) {
+                try {
+                    connection.mConnection.performAccessibilityAction(
+                            AccessibilityNodeInfo.ROOT_ITEM_ID,
+                            R.id.accessibilityActionOutsideTouch, arguments, interactionId,
+                            callback, fetchFlags, interrogatingPid, interrogatingTid);
+                } catch (RemoteException re) {
+                    if (DEBUG) {
+                        Slog.e(LOG_TAG, "Error calling performAccessibilityAction: " + re);
+                    }
+                }
+            }
+        }
+    }
+
     @Override
     public void ensureWindowsAvailableTimed() {
         synchronized (mLock) {
@@ -2628,6 +2734,8 @@
             mPowerManager.userActivity(SystemClock.uptimeMillis(),
                     PowerManager.USER_ACTIVITY_EVENT_ACCESSIBILITY, 0);
 
+            notifyOutsideTouchIfNeeded(resolvedWindowId, action, arguments, interactionId, callback,
+                    fetchFlags, interrogatingPid, interrogatingTid);
             if (activityToken != null) {
                 LocalServices.getService(ActivityTaskManagerInternal.class)
                         .setFocusedActivity(activityToken);
@@ -2955,6 +3063,7 @@
         public long mAccessibilityFocusNodeId = AccessibilityNodeInfo.UNDEFINED_ITEM_ID;
 
         private boolean mTouchInteractionInProgress;
+        private boolean mHasWatchOutsideTouchWindow;
 
         private boolean canDispatchAccessibilityEventLocked(AccessibilityEvent event) {
             final int eventType = event.getEventType();
@@ -3112,6 +3221,7 @@
                 mWindowInfoById.valueAt(i).recycle();
             }
             mWindowInfoById.clear();
+            mHasWatchOutsideTouchWindow = false;
 
             mFocusedWindowId = INVALID_WINDOW_ID;
             if (!mTouchInteractionInProgress) {
@@ -3156,6 +3266,9 @@
                                 activeWindowGone = false;
                             }
                         }
+                        if (!mHasWatchOutsideTouchWindow && windowInfo.hasFlagWatchOutsideTouch) {
+                            mHasWatchOutsideTouchWindow = true;
+                        }
                         mWindows.add(window);
                         mA11yWindowInfoById.put(windowId, window);
                         mWindowInfoById.put(windowId, WindowInfo.obtain(windowInfo));
@@ -3574,6 +3687,22 @@
             return mWindowInfoById.get(windowId);
         }
 
+        private List<Integer> getWatchOutsideTouchWindowId(int targetWindowId) {
+            if (mWindowInfoById != null && mHasWatchOutsideTouchWindow) {
+                final List<Integer> outsideWindowsId = new ArrayList<>();
+                final WindowInfo targetWindow = mWindowInfoById.get(targetWindowId);
+                for (int i = 0; i < mWindowInfoById.size(); i++) {
+                    WindowInfo window = mWindowInfoById.valueAt(i);
+                    if (window.layer < targetWindow.layer
+                            && window.hasFlagWatchOutsideTouch) {
+                        outsideWindowsId.add(mWindowInfoById.keyAt(i));
+                    }
+                }
+                return outsideWindowsId;
+            }
+            return Collections.emptyList();
+        }
+
         private AccessibilityWindowInfo getPictureInPictureWindow() {
             if (mWindows != null) {
                 final int windowCount = mWindows.size();
@@ -3660,6 +3789,7 @@
         public ComponentName mServiceToEnableWithShortcut;
 
         public int mLastSentClientState = -1;
+        public int mMinimumUiTimeout = 0;
 
         private int mSoftKeyboardShowMode = 0;
 
@@ -3674,6 +3804,8 @@
         public boolean mIsPerformGesturesEnabled;
         public boolean mIsFilterKeyEventsEnabled;
         public boolean mAccessibilityFocusOnlyInActiveWindow;
+        public boolean mUserMinimumUiTimeoutEnabled;
+        public int mUserMinimumUiTimeout;
 
         public boolean mBindInstantServiceAllowed;
 
@@ -3713,6 +3845,9 @@
             // Clear event management state.
             mLastSentClientState = -1;
 
+            // clear minimum ui timeout
+            mMinimumUiTimeout = 0;
+
             // Clear state persisted in settings.
             mEnabledServices.clear();
             mTouchExplorationGrantedServices.clear();
@@ -3722,6 +3857,8 @@
             mServiceAssignedToAccessibilityButton = null;
             mIsNavBarMagnificationAssignedToAccessibilityButton = false;
             mIsAutoclickEnabled = false;
+            mUserMinimumUiTimeoutEnabled = false;
+            mUserMinimumUiTimeout = 0;
         }
 
         public void addServiceLocked(AccessibilityServiceConnection serviceConnection) {
@@ -3948,6 +4085,12 @@
         private final Uri mAccessibilityButtonComponentIdUri = Settings.Secure.getUriFor(
                 Settings.Secure.ACCESSIBILITY_BUTTON_TARGET_COMPONENT);
 
+        private final Uri mUserMinimumUiTimeoutEnabledUri = Settings.Secure.getUriFor(
+                Settings.Secure.ACCESSIBILITY_MINIMUM_UI_TIMEOUT_ENABLED);
+
+        private final Uri mUserMinimumUiTimeoutUri = Settings.Secure.getUriFor(
+                Settings.Secure.ACCESSIBILITY_MINIMUM_UI_TIMEOUT_MS);
+
         public AccessibilityContentObserver(Handler handler) {
             super(handler);
         }
@@ -3982,6 +4125,10 @@
                     mAccessibilityShortcutServiceIdUri, false, this, UserHandle.USER_ALL);
             contentResolver.registerContentObserver(
                     mAccessibilityButtonComponentIdUri, false, this, UserHandle.USER_ALL);
+            contentResolver.registerContentObserver(
+                    mUserMinimumUiTimeoutEnabledUri, false, this, UserHandle.USER_ALL);
+            contentResolver.registerContentObserver(
+                    mUserMinimumUiTimeoutUri, false, this, UserHandle.USER_ALL);
         }
 
         @Override
@@ -4032,6 +4179,11 @@
                     if (readAccessibilityButtonSettingsLocked(userState)) {
                         onUserStateChangedLocked(userState);
                     }
+                } else if (mUserMinimumUiTimeoutEnabledUri.equals(uri)
+                        || mUserMinimumUiTimeoutUri.equals(uri)) {
+                    if (readUserMinimumUiTimeoutSettingsLocked(userState)) {
+                        updateMinimumUiTimeoutLocked(userState);
+                    }
                 }
             }
         }
diff --git a/services/accessibility/java/com/android/server/accessibility/TouchExplorer.java b/services/accessibility/java/com/android/server/accessibility/TouchExplorer.java
index 371f932..cf9f233 100644
--- a/services/accessibility/java/com/android/server/accessibility/TouchExplorer.java
+++ b/services/accessibility/java/com/android/server/accessibility/TouchExplorer.java
@@ -170,6 +170,20 @@
      *                action.
      */
     public TouchExplorer(Context context, AccessibilityManagerService service) {
+        this(context, service, null);
+    }
+
+    /**
+     * Creates a new instance.
+     *
+     * @param context A context handle for accessing resources.
+     * @param service The service to notify touch interaction and gesture completed and to perform
+     *                action.
+     * @param detector The gesture detector to handle accessibility touch event. If null the default
+     *                one created in place, or for testing purpose.
+     */
+    public TouchExplorer(Context context, AccessibilityManagerService service,
+            AccessibilityGestureDetector detector) {
         mContext = context;
         mAms = service;
         mReceivedPointerTracker = new ReceivedPointerTracker();
@@ -186,7 +200,11 @@
         mSendTouchInteractionEndDelayed = new SendAccessibilityEventDelayed(
                 AccessibilityEvent.TYPE_TOUCH_INTERACTION_END,
                 mDetermineUserIntentTimeout);
-        mGestureDetector = new AccessibilityGestureDetector(context, this);
+        if (detector == null) {
+            mGestureDetector = new AccessibilityGestureDetector(context, this);
+        } else {
+            mGestureDetector = detector;
+        }
         final float density = context.getResources().getDisplayMetrics().density;
         mScaledMinPointerDistanceToUseMiddleLocation =
             (int) (MIN_POINTER_DISTANCE_TO_USE_MIDDLE_LOCATION_DIP * density);
diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
index b71d7a7..da52d40 100644
--- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
+++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
@@ -1834,7 +1834,7 @@
 
                 if (provider.widgets.isEmpty()) {
                     // cancel the future updates
-                    cancelBroadcasts(provider);
+                    cancelBroadcastsLocked(provider);
 
                     // send the broacast saying that the provider is not in use any more
                     sendDisabledIntentLocked(provider);
@@ -1843,18 +1843,16 @@
         }
     }
 
-    private void cancelBroadcasts(Provider provider) {
+    private void cancelBroadcastsLocked(Provider provider) {
         if (DEBUG) {
-            Slog.i(TAG, "cancelBroadcasts() for " + provider);
+            Slog.i(TAG, "cancelBroadcastsLocked() for " + provider);
         }
         if (provider.broadcast != null) {
-            mAlarmManager.cancel(provider.broadcast);
-            long token = Binder.clearCallingIdentity();
-            try {
-                provider.broadcast.cancel();
-            } finally {
-                Binder.restoreCallingIdentity(token);
-            }
+            final PendingIntent broadcast = provider.broadcast;
+            mSaveStateHandler.post(() -> {
+                    mAlarmManager.cancel(broadcast);
+                    broadcast.cancel();
+            });
             provider.broadcast = null;
         }
     }
@@ -2315,7 +2313,7 @@
         mProviders.remove(provider);
 
         // no need to send the DISABLE broadcast, since the receiver is gone anyway
-        cancelBroadcasts(provider);
+        cancelBroadcastsLocked(provider);
     }
 
     private void sendEnableIntentLocked(Provider p) {
@@ -2369,17 +2367,14 @@
                 Binder.restoreCallingIdentity(token);
             }
             if (!alreadyRegistered) {
-                long period = provider.info.updatePeriodMillis;
-                if (period < MIN_UPDATE_PERIOD) {
-                    period = MIN_UPDATE_PERIOD;
-                }
-                final long oldId = Binder.clearCallingIdentity();
-                try {
+                // Set the alarm outside of our locks; we've latched the first-time
+                // invariant and established the PendingIntent safely.
+                final long period = Math.max(provider.info.updatePeriodMillis, MIN_UPDATE_PERIOD);
+                final PendingIntent broadcast = provider.broadcast;
+                mSaveStateHandler.post(() ->
                     mAlarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
-                            SystemClock.elapsedRealtime() + period, period, provider.broadcast);
-                } finally {
-                    Binder.restoreCallingIdentity(oldId);
-                }
+                            SystemClock.elapsedRealtime() + period, period, broadcast)
+                );
             }
         }
     }
@@ -3382,7 +3377,7 @@
                             // Reschedule for the new updatePeriodMillis (don't worry about handling
                             // it specially if updatePeriodMillis didn't change because we just sent
                             // an update, and the next one will be updatePeriodMillis from now).
-                            cancelBroadcasts(provider);
+                            cancelBroadcastsLocked(provider);
                             registerForBroadcastsLocked(provider, appWidgetIds);
                             // If it's currently showing, call back with the new
                             // AppWidgetProviderInfo.
diff --git a/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java b/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java
index 8c8352f..78facf8 100644
--- a/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java
+++ b/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java
@@ -235,6 +235,13 @@
         }
     }
 
+    int getTargedSdkLocked() {
+        if (mInfo == null) {
+            return 0;
+        }
+        return mInfo.getServiceInfo().applicationInfo.targetSdkVersion;
+    }
+
     private boolean isSetupCompletedLocked() {
         final String setupComplete = Settings.Secure.getStringForUser(
                 mContext.getContentResolver(), Settings.Secure.USER_SETUP_COMPLETE, mUserId);
@@ -953,6 +960,7 @@
             pw.println();
             mInfo.dump(prefix2, pw);
             pw.print(prefix); pw.print("Service Label: "); pw.println(getServiceLabel());
+            pw.print(prefix); pw.print("Target SDK: "); pw.println(getTargedSdkLocked());
         }
         pw.print(prefix); pw.print("Component from settings: ");
             pw.println(getComponentNameFromSettings());
diff --git a/services/autofill/java/com/android/server/autofill/RemoteFillService.java b/services/autofill/java/com/android/server/autofill/RemoteFillService.java
index ad80cc26..d1b09ca 100644
--- a/services/autofill/java/com/android/server/autofill/RemoteFillService.java
+++ b/services/autofill/java/com/android/server/autofill/RemoteFillService.java
@@ -29,6 +29,7 @@
 import android.content.Intent;
 import android.content.IntentSender;
 import android.content.ServiceConnection;
+import android.os.Build;
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.IBinder.DeathRecipient;
@@ -587,6 +588,7 @@
             }
             final RemoteFillService remoteService = getService();
             if (remoteService != null) {
+                if (sVerbose) Slog.v(LOG_TAG, "calling onFillRequest() for id=" + mRequest.getId());
                 try {
                     remoteService.mAutoFillService.onFillRequest(mRequest, mCallback);
                 } catch (RemoteException e) {
@@ -659,6 +661,7 @@
         public void run() {
             final RemoteFillService remoteService = getService();
             if (remoteService != null) {
+                if (sVerbose) Slog.v(LOG_TAG, "calling onSaveRequest()");
                 try {
                     remoteService.mAutoFillService.onSaveRequest(mRequest, mCallback);
                 } catch (RemoteException e) {
diff --git a/services/autofill/java/com/android/server/autofill/Session.java b/services/autofill/java/com/android/server/autofill/Session.java
index c9eb2d2..cf323fb 100644
--- a/services/autofill/java/com/android/server/autofill/Session.java
+++ b/services/autofill/java/com/android/server/autofill/Session.java
@@ -50,6 +50,7 @@
 import android.graphics.Rect;
 import android.metrics.LogMaker;
 import android.os.Binder;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.IBinder;
@@ -63,6 +64,7 @@
 import android.service.autofill.Dataset;
 import android.service.autofill.FieldClassification;
 import android.service.autofill.FieldClassification.Match;
+import android.text.TextUtils;
 import android.service.autofill.FillContext;
 import android.service.autofill.FillRequest;
 import android.service.autofill.FillResponse;
@@ -744,12 +746,17 @@
 
     private void onFillRequestFailureOrTimeout(int requestId, boolean timedOut,
             @Nullable CharSequence message) {
+        boolean showMessage = !TextUtils.isEmpty(message);
         synchronized (mLock) {
             if (mDestroyed) {
                 Slog.w(TAG, "Call to Session#onFillRequestFailureOrTimeout(req=" + requestId
                         + ") rejected - session: " + id + " destroyed");
                 return;
             }
+            if (sDebug) {
+                Slog.d(TAG, "finishing session due to service "
+                        + (timedOut ? "timeout" : "failure"));
+            }
             mService.resetLastResponse();
             final LogMaker requestLog = mRequestLogs.get(requestId);
             if (requestLog == null) {
@@ -757,8 +764,21 @@
             } else {
                 requestLog.setType(timedOut ? MetricsEvent.TYPE_CLOSE : MetricsEvent.TYPE_FAILURE);
             }
+            if (showMessage) {
+                final int targetSdk = mService.getTargedSdkLocked();
+                if (targetSdk >= Build.VERSION_CODES.Q) {
+                    showMessage = false;
+                    Slog.w(TAG, "onFillRequestFailureOrTimeout(): not showing '" + message
+                            + "' because service's targetting API " + targetSdk);
+                }
+                if (message != null) {
+                    requestLog.addTaggedData(MetricsEvent.FIELD_AUTOFILL_TEXT_LEN,
+                            message.length());
+                }
+            }
         }
-        if (message != null) {
+        notifyUnavailableToClient(AutofillManager.STATE_UNKNOWN_FAILED);
+        if (showMessage) {
             getUiForShowing().showError(message, this);
         }
         removeSelf();
@@ -793,6 +813,7 @@
     @Override
     public void onSaveRequestFailure(@Nullable CharSequence message,
             @NonNull String servicePackageName) {
+        boolean showMessage = !TextUtils.isEmpty(message);
         synchronized (mLock) {
             mIsSaving = false;
 
@@ -801,12 +822,26 @@
                         + id + " destroyed");
                 return;
             }
+            if (showMessage) {
+                final int targetSdk = mService.getTargedSdkLocked();
+                if (targetSdk >= Build.VERSION_CODES.Q) {
+                    showMessage = false;
+                    Slog.w(TAG, "onSaveRequestFailure(): not showing '" + message
+                            + "' because service's targetting API " + targetSdk);
+                }
+            }
         }
-        LogMaker log = newLogMaker(MetricsEvent.AUTOFILL_DATA_SAVE_REQUEST, servicePackageName)
+        final LogMaker log =
+                newLogMaker(MetricsEvent.AUTOFILL_DATA_SAVE_REQUEST, servicePackageName)
                 .setType(MetricsEvent.TYPE_FAILURE);
+        if (message != null) {
+            log.addTaggedData(MetricsEvent.FIELD_AUTOFILL_TEXT_LEN, message.length());
+        }
         mMetricsLogger.write(log);
 
-        getUiForShowing().showError(message, this);
+        if (showMessage) {
+            getUiForShowing().showError(message, this);
+        }
         removeSelf();
     }
 
@@ -1206,7 +1241,7 @@
             // - not autofilled but matches a dataset value -> manuallyFilledIds
             if ((state & ViewState.STATE_CHANGED) != 0) {
                 // Check if autofilled value was changed
-                if ((state & ViewState.STATE_AUTOFILLED) != 0) {
+                if ((state & ViewState.STATE_AUTOFILLED_ONCE) != 0) {
                     final String datasetId = viewState.getDatasetId();
                     if (datasetId == null) {
                         // Sanity check - should never happen.
@@ -2181,12 +2216,28 @@
                     // Must check if this update was caused by autofilling the view, in which
                     // case we just update the value, but not the UI.
                     final AutofillValue filledValue = viewState.getAutofilledValue();
-                    if (filledValue != null && filledValue.equals(value)) {
-                        if (sVerbose) {
-                            Slog.v(TAG, "ignoring autofilled change on id " + id);
+                    if (filledValue != null) {
+                        if (filledValue.equals(value)) {
+                            if (sVerbose) {
+                                Slog.v(TAG, "ignoring autofilled change on id " + id);
+                            }
+                            viewState.resetState(ViewState.STATE_CHANGED);
+                            return;
                         }
-                        return;
+                        else {
+                            if ((viewState.id.equals(this.mCurrentViewId)) &&
+                                    (viewState.getState() & ViewState.STATE_AUTOFILLED) != 0) {
+                                // Remove autofilled state once field is changed after autofilling.
+                                if (sVerbose) {
+                                    Slog.v(TAG, "field changed after autofill on id " + id);
+                                }
+                                viewState.resetState(ViewState.STATE_AUTOFILLED);
+                                final ViewState currentView = mViewStates.get(mCurrentViewId);
+                                currentView.maybeCallOnFillReady(flags);
+                            }
+                        }
                     }
+
                     // Update the internal state...
                     viewState.setState(ViewState.STATE_CHANGED);
 
diff --git a/services/autofill/java/com/android/server/autofill/ViewState.java b/services/autofill/java/com/android/server/autofill/ViewState.java
index e6cd7e0..a8dae03 100644
--- a/services/autofill/java/com/android/server/autofill/ViewState.java
+++ b/services/autofill/java/com/android/server/autofill/ViewState.java
@@ -69,8 +69,10 @@
     public static final int STATE_RESTARTED_SESSION = 0x100;
     /** View is the URL bar of a package on compat mode. */
     public  static final int STATE_URL_BAR = 0x200;
-    /** View was asked to autofil but failed to do so. */
+    /** View was asked to autofill but failed to do so. */
     public static final int STATE_AUTOFILL_FAILED = 0x400;
+    /** View has been autofilled at least once. */
+    public static final int STATE_AUTOFILLED_ONCE = 0x800;
 
     public final AutofillId id;
 
@@ -161,6 +163,9 @@
         } else {
             mState |= state;
         }
+        if (state == STATE_AUTOFILLED) {
+            mState |= STATE_AUTOFILLED_ONCE;
+        }
     }
 
     void resetState(int state) {
diff --git a/services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java b/services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java
index 5962406..fe86ab3 100644
--- a/services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java
+++ b/services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java
@@ -43,6 +43,8 @@
 
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.server.LocalServices;
+import com.android.server.UiModeManagerInternal;
 import com.android.server.UiThread;
 import com.android.server.autofill.Helper;
 
@@ -69,6 +71,7 @@
     private final MetricsLogger mMetricsLogger = new MetricsLogger();
 
     private final @NonNull OverlayControl mOverlayControl;
+    private final @NonNull UiModeManagerInternal mUiModeMgr;
 
     public interface AutoFillUiCallback {
         void authenticate(int requestId, int datasetIndex, @NonNull IntentSender intent,
@@ -86,6 +89,7 @@
     public AutoFillUI(@NonNull Context context) {
         mContext = context;
         mOverlayControl = new OverlayControl(context);
+        mUiModeMgr = LocalServices.getService(UiModeManagerInternal.class);
     }
 
     public void setCallback(@NonNull AutoFillUiCallback callback) {
@@ -193,7 +197,9 @@
             }
             hideAllUiThread(callback);
             mFillUi = new FillUi(mContext, response, focusedId,
-                    filterText, mOverlayControl, serviceLabel, serviceIcon, new FillUi.Callback() {
+                    filterText, mOverlayControl, serviceLabel, serviceIcon,
+                    mUiModeMgr.isNightMode(),
+                    new FillUi.Callback() {
                 @Override
                 public void onResponsePicked(FillResponse response) {
                     log.setType(MetricsEvent.TYPE_DETAIL);
@@ -332,7 +338,7 @@
                     }
                     mMetricsLogger.write(log);
                 }
-            }, isUpdate, compatMode);
+            }, mUiModeMgr.isNightMode(), isUpdate, compatMode);
         });
     }
 
@@ -368,6 +374,7 @@
         pw.println("Autofill UI");
         final String prefix = "  ";
         final String prefix2 = "    ";
+        pw.print(prefix); pw.print("Night mode: "); pw.println(mUiModeMgr.isNightMode());
         if (mFillUi != null) {
             pw.print(prefix); pw.println("showsFillUi: true");
             mFillUi.dump(pw, prefix2);
diff --git a/services/autofill/java/com/android/server/autofill/ui/FillUi.java b/services/autofill/java/com/android/server/autofill/ui/FillUi.java
index 68a495f..742d494 100644
--- a/services/autofill/java/com/android/server/autofill/ui/FillUi.java
+++ b/services/autofill/java/com/android/server/autofill/ui/FillUi.java
@@ -73,7 +73,10 @@
 final class FillUi {
     private static final String TAG = "FillUi";
 
-    private static final int THEME_ID = com.android.internal.R.style.Theme_DeviceDefault_Autofill;
+    private static final int THEME_ID_LIGHT =
+            com.android.internal.R.style.Theme_DeviceDefault_Light_Autofill;
+    private static final int THEME_ID_DARK =
+            com.android.internal.R.style.Theme_DeviceDefault_Autofill;
 
     private static final TypedValue sTempTypedValue = new TypedValue();
 
@@ -117,6 +120,8 @@
 
     private boolean mDestroyed;
 
+    private final int mThemeId;
+
     public static boolean isFullScreen(Context context) {
         if (sFullScreenMode != null) {
             if (sVerbose) Slog.v(TAG, "forcing full-screen mode to " + sFullScreenMode);
@@ -128,10 +133,13 @@
     FillUi(@NonNull Context context, @NonNull FillResponse response,
            @NonNull AutofillId focusedViewId, @NonNull @Nullable String filterText,
            @NonNull OverlayControl overlayControl, @NonNull CharSequence serviceLabel,
-           @NonNull Drawable serviceIcon, @NonNull Callback callback) {
+           @NonNull Drawable serviceIcon, boolean nightMode, @NonNull Callback callback) {
+        if (sVerbose) Slog.v(TAG, "nightMode: " + nightMode);
+        mThemeId = nightMode ? THEME_ID_DARK : THEME_ID_LIGHT;
         mCallback = callback;
         mFullScreen = isFullScreen(context);
-        mContext = new ContextThemeWrapper(context, THEME_ID);
+        mContext = new ContextThemeWrapper(context, mThemeId);
+
         final LayoutInflater inflater = LayoutInflater.from(mContext);
 
         final RemoteViews headerPresentation = response.getHeader();
@@ -216,7 +224,7 @@
             ViewGroup container = decor.findViewById(R.id.autofill_dataset_picker);
             final View content;
             try {
-                response.getPresentation().setApplyTheme(THEME_ID);
+                response.getPresentation().setApplyTheme(mThemeId);
                 content = response.getPresentation().apply(mContext, decor, interceptionHandler);
                 container.addView(content);
             } catch (RuntimeException e) {
@@ -257,7 +265,7 @@
             RemoteViews.OnClickHandler clickBlocker = null;
             if (headerPresentation != null) {
                 clickBlocker = newClickBlocker();
-                headerPresentation.setApplyTheme(THEME_ID);
+                headerPresentation.setApplyTheme(mThemeId);
                 mHeader = headerPresentation.apply(mContext, null, clickBlocker);
                 final LinearLayout headerContainer =
                         decor.findViewById(R.id.autofill_dataset_header);
@@ -275,7 +283,7 @@
                     if (clickBlocker == null) { // already set for header
                         clickBlocker = newClickBlocker();
                     }
-                    footerPresentation.setApplyTheme(THEME_ID);
+                    footerPresentation.setApplyTheme(mThemeId);
                     mFooter = footerPresentation.apply(mContext, null, clickBlocker);
                     // Footer not supported on some platform e.g. TV
                     if (sVerbose) Slog.v(TAG, "adding footer");
@@ -302,7 +310,7 @@
                     final View view;
                     try {
                         if (sVerbose) Slog.v(TAG, "setting remote view for " + focusedViewId);
-                        presentation.setApplyTheme(THEME_ID);
+                        presentation.setApplyTheme(mThemeId);
                         view = presentation.apply(mContext, null, interceptionHandler);
                     } catch (RuntimeException e) {
                         Slog.e(TAG, "Error inflating remote views", e);
@@ -732,6 +740,18 @@
         pw.print(prefix); pw.print("mContentWidth: "); pw.println(mContentWidth);
         pw.print(prefix); pw.print("mContentHeight: "); pw.println(mContentHeight);
         pw.print(prefix); pw.print("mDestroyed: "); pw.println(mDestroyed);
+        pw.print(prefix); pw.print("theme id: "); pw.print(mThemeId);
+        switch (mThemeId) {
+            case THEME_ID_DARK:
+                pw.println(" (dark)");
+                break;
+            case THEME_ID_LIGHT:
+                pw.println(" (light)");
+                break;
+            default:
+                pw.println("(UNKNOWN_MODE)");
+                break;
+        }
         if (mWindow != null) {
             pw.print(prefix); pw.print("mWindow: ");
             final String prefix2 = prefix + "  ";
diff --git a/services/autofill/java/com/android/server/autofill/ui/SaveUi.java b/services/autofill/java/com/android/server/autofill/ui/SaveUi.java
index 9d3d3cb..89b442e 100644
--- a/services/autofill/java/com/android/server/autofill/ui/SaveUi.java
+++ b/services/autofill/java/com/android/server/autofill/ui/SaveUi.java
@@ -72,9 +72,11 @@
  */
 final class SaveUi {
 
-    private static final String TAG = "AutofillSaveUi";
+    private static final String TAG = "SaveUi";
 
-    private static final int THEME_ID =
+    private static final int THEME_ID_LIGHT =
+            com.android.internal.R.style.Theme_DeviceDefault_Light_Autofill_Save;
+    private static final int THEME_ID_DARK =
             com.android.internal.R.style.Theme_DeviceDefault_Autofill_Save;
 
     public interface OnSaveListener {
@@ -144,6 +146,7 @@
     private final String mServicePackageName;
     private final ComponentName mComponentName;
     private final boolean mCompatMode;
+    private final int mThemeId;
 
     private boolean mDestroyed;
 
@@ -152,7 +155,9 @@
            @Nullable String servicePackageName, @NonNull ComponentName componentName,
            @NonNull SaveInfo info, @NonNull ValueFinder valueFinder,
            @NonNull OverlayControl overlayControl, @NonNull OnSaveListener listener,
-           boolean isUpdate, boolean compatMode) {
+           boolean nightMode, boolean isUpdate, boolean compatMode) {
+        if (sVerbose) Slog.v(TAG, "nightMode: " + nightMode);
+        mThemeId = nightMode ? THEME_ID_DARK : THEME_ID_LIGHT;
         mPendingUi= pendingUi;
         mListener = new OneActionThenDestroyListener(listener);
         mOverlayControl = overlayControl;
@@ -160,7 +165,7 @@
         mComponentName = componentName;
         mCompatMode = compatMode;
 
-        context = new ContextThemeWrapper(context, THEME_ID);
+        context = new ContextThemeWrapper(context, mThemeId);
         final LayoutInflater inflater = LayoutInflater.from(context);
         final View view = inflater.inflate(R.layout.autofill_save, null);
 
@@ -250,7 +255,7 @@
         }
         yesButton.setOnClickListener((v) -> mListener.onSave());
 
-        mDialog = new Dialog(context, THEME_ID);
+        mDialog = new Dialog(context, mThemeId);
         mDialog.setContentView(view);
 
         // Dialog can be dismissed when touched outside, but the negative listener should not be
@@ -337,7 +342,7 @@
 
         try {
             // Create the remote view peer.
-            template.setApplyTheme(THEME_ID);
+            template.setApplyTheme(mThemeId);
             final View customSubtitleView = template.apply(context, null, handler);
 
             // Apply batch updates (if any).
@@ -556,7 +561,18 @@
         pw.print(prefix); pw.print("service: "); pw.println(mServicePackageName);
         pw.print(prefix); pw.print("app: "); pw.println(mComponentName.toShortString());
         pw.print(prefix); pw.print("compat mode: "); pw.println(mCompatMode);
-
+        pw.print(prefix); pw.print("theme id: "); pw.print(mThemeId);
+        switch (mThemeId) {
+            case THEME_ID_DARK:
+                pw.println(" (dark)");
+                break;
+            case THEME_ID_LIGHT:
+                pw.println(" (light)");
+                break;
+            default:
+                pw.println("(UNKNOWN_MODE)");
+                break;
+        }
         final View view = mDialog.getWindow().getDecorView();
         final int[] loc = view.getLocationOnScreen();
         pw.print(prefix); pw.print("coordinates: ");
diff --git a/services/backup/java/com/android/server/backup/BackupManagerService.java b/services/backup/java/com/android/server/backup/BackupManagerService.java
index c26ac17..1b97926 100644
--- a/services/backup/java/com/android/server/backup/BackupManagerService.java
+++ b/services/backup/java/com/android/server/backup/BackupManagerService.java
@@ -698,8 +698,6 @@
     @GuardedBy("mQueueLock")
     private ArrayList<FullBackupEntry> mFullBackupQueue;
 
-    private BackupPolicyEnforcer mBackupPolicyEnforcer;
-
     // Utility: build a new random integer token. The low bits are the ordinal of the
     // operation for near-time uniqueness, and the upper bits are random for app-
     // side unpredictability.
@@ -899,8 +897,6 @@
 
         // Power management
         mWakelock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "*backup*");
-
-        mBackupPolicyEnforcer = new BackupPolicyEnforcer(context);
     }
 
     private void initPackageTracking() {
@@ -2827,10 +2823,6 @@
     public void setBackupEnabled(boolean enable) {
         mContext.enforceCallingOrSelfPermission(android.Manifest.permission.BACKUP,
                 "setBackupEnabled");
-        if (!enable && mBackupPolicyEnforcer.getMandatoryBackupTransport() != null) {
-            Slog.w(TAG, "Cannot disable backups when the mandatory backups policy is active.");
-            return;
-        }
 
         Slog.i(TAG, "Backup enabled => " + enable);
 
@@ -3085,12 +3077,6 @@
         mContext.enforceCallingOrSelfPermission(
                 android.Manifest.permission.BACKUP, "selectBackupTransport");
 
-        if (!isAllowedByMandatoryBackupTransportPolicy(transportName)) {
-            // Don't change the transport if it is not allowed.
-            Slog.w(TAG, "Failed to select transport - disallowed by device owner policy.");
-            return mTransportManager.getCurrentTransportName();
-        }
-
         final long oldId = Binder.clearCallingIdentity();
         try {
             String previousTransportName = mTransportManager.selectTransport(transportName);
@@ -3105,20 +3091,10 @@
 
     @Override
     public void selectBackupTransportAsync(
-            ComponentName transportComponent, @Nullable ISelectBackupTransportCallback listener) {
+            ComponentName transportComponent, ISelectBackupTransportCallback listener) {
         mContext.enforceCallingOrSelfPermission(
                 android.Manifest.permission.BACKUP, "selectBackupTransportAsync");
-        if (!isAllowedByMandatoryBackupTransportPolicy(transportComponent)) {
-            try {
-                if (listener != null) {
-                    Slog.w(TAG, "Failed to select transport - disallowed by device owner policy.");
-                    listener.onFailure(BackupManager.ERROR_BACKUP_NOT_ALLOWED);
-                }
-            } catch (RemoteException e) {
-                Slog.e(TAG, "ISelectBackupTransportCallback listener not available");
-            }
-            return;
-        }
+
         final long oldId = Binder.clearCallingIdentity();
         try {
             String transportString = transportComponent.flattenToShortString();
@@ -3140,12 +3116,10 @@
                         }
 
                         try {
-                            if (listener != null) {
-                                if (transportName != null) {
-                                    listener.onSuccess(transportName);
-                                } else {
-                                    listener.onFailure(result);
-                                }
+                            if (transportName != null) {
+                                listener.onSuccess(transportName);
+                            } else {
+                                listener.onFailure(result);
                             }
                         } catch (RemoteException e) {
                             Slog.e(TAG, "ISelectBackupTransportCallback listener not available");
@@ -3156,38 +3130,6 @@
         }
     }
 
-    /**
-     * Returns if the specified transport can be set as the current transport without violating the
-     * mandatory backup transport policy.
-     */
-    private boolean isAllowedByMandatoryBackupTransportPolicy(String transportName) {
-        ComponentName mandatoryBackupTransport = mBackupPolicyEnforcer.getMandatoryBackupTransport();
-        if (mandatoryBackupTransport == null) {
-            return true;
-        }
-        final String mandatoryBackupTransportName;
-        try {
-            mandatoryBackupTransportName =
-                    mTransportManager.getTransportName(mandatoryBackupTransport);
-        } catch (TransportNotRegisteredException e) {
-            Slog.e(TAG, "mandatory backup transport not registered!");
-            return false;
-        }
-        return TextUtils.equals(mandatoryBackupTransportName, transportName);
-    }
-
-    /**
-     * Returns if the specified transport can be set as the current transport without violating the
-     * mandatory backup transport policy.
-     */
-    private boolean isAllowedByMandatoryBackupTransportPolicy(ComponentName transport) {
-        ComponentName mandatoryBackupTransport = mBackupPolicyEnforcer.getMandatoryBackupTransport();
-        if (mandatoryBackupTransport == null) {
-            return true;
-        }
-        return mandatoryBackupTransport.equals(transport);
-    }
-
     private void updateStateForTransport(String newTransportName) {
         // Publish the name change
         Settings.Secure.putString(mContext.getContentResolver(),
diff --git a/services/backup/java/com/android/server/backup/BackupPolicyEnforcer.java b/services/backup/java/com/android/server/backup/BackupPolicyEnforcer.java
deleted file mode 100644
index 158084a..0000000
--- a/services/backup/java/com/android/server/backup/BackupPolicyEnforcer.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.android.server.backup;
-
-import android.app.admin.DevicePolicyManager;
-import android.content.ComponentName;
-import android.content.Context;
-
-import com.android.internal.annotations.VisibleForTesting;
-
-/**
- * A helper class to decouple this service from {@link DevicePolicyManager} in order to improve
- * testability.
- */
-@VisibleForTesting
-public class BackupPolicyEnforcer {
-    private DevicePolicyManager mDevicePolicyManager;
-
-    public BackupPolicyEnforcer(Context context) {
-        mDevicePolicyManager =
-                (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
-    }
-
-    public ComponentName getMandatoryBackupTransport() {
-        return mDevicePolicyManager.getMandatoryBackupTransport();
-    }
-}
diff --git a/services/backup/java/com/android/server/backup/encryption/chunk/Chunk.java b/services/backup/java/com/android/server/backup/encryption/chunk/Chunk.java
new file mode 100644
index 0000000..5bec1a9
--- /dev/null
+++ b/services/backup/java/com/android/server/backup/encryption/chunk/Chunk.java
@@ -0,0 +1,54 @@
+package com.android.server.backup.encryption.chunk;
+
+import android.util.proto.ProtoInputStream;
+
+import java.io.IOException;
+
+/**
+ * Information about a chunk entry in a protobuf. Only used for reading from a {@link
+ * ProtoInputStream}.
+ */
+public class Chunk {
+    /**
+     * Reads a Chunk from a {@link ProtoInputStream}. Expects the message to be of format {@link
+     * ChunksMetadataProto.Chunk}.
+     *
+     * @param inputStream currently at a {@link ChunksMetadataProto.Chunk} message.
+     * @throws IOException when the message is not structured as expected or a field can not be
+     *     read.
+     */
+    static Chunk readFromProto(ProtoInputStream inputStream) throws IOException {
+        Chunk result = new Chunk();
+
+        while (inputStream.nextField() != ProtoInputStream.NO_MORE_FIELDS) {
+            switch (inputStream.getFieldNumber()) {
+                case (int) ChunksMetadataProto.Chunk.HASH:
+                    result.mHash = inputStream.readBytes(ChunksMetadataProto.Chunk.HASH);
+                    break;
+                case (int) ChunksMetadataProto.Chunk.LENGTH:
+                    result.mLength = inputStream.readInt(ChunksMetadataProto.Chunk.LENGTH);
+                    break;
+            }
+        }
+
+        return result;
+    }
+
+    private int mLength;
+    private byte[] mHash;
+
+    /** Private constructor. This class should only be instantiated by calling readFromProto. */
+    private Chunk() {
+        // Set default values for fields in case they are not available in the proto.
+        mHash = new byte[]{};
+        mLength = 0;
+    }
+
+    public int getLength() {
+        return mLength;
+    }
+
+    public byte[] getHash() {
+        return mHash;
+    }
+}
\ No newline at end of file
diff --git a/services/backup/java/com/android/server/backup/encryption/chunk/ChunkHash.java b/services/backup/java/com/android/server/backup/encryption/chunk/ChunkHash.java
new file mode 100644
index 0000000..1ae598e
--- /dev/null
+++ b/services/backup/java/com/android/server/backup/encryption/chunk/ChunkHash.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.server.backup.encryption.chunk;
+
+import com.android.internal.util.Preconditions;
+import java.util.Arrays;
+import java.util.Base64;
+
+/**
+ * Represents the SHA-256 hash of the plaintext of a chunk, which is frequently used as a key.
+ *
+ * <p>This class is {@link Comparable} and implements {@link #equals(Object)} and {@link
+ * #hashCode()}.
+ */
+public class ChunkHash implements Comparable<ChunkHash> {
+    /** The length of the hash in bytes. The hash is a SHA-256, so this is 256 bits. */
+    public static final int HASH_LENGTH_BYTES = 256 / 8;
+
+    private static final int UNSIGNED_MASK = 0xFF;
+
+    private final byte[] mHash;
+
+    /** Constructs a new instance which wraps the given SHA-256 hash bytes. */
+    public ChunkHash(byte[] hash) {
+        Preconditions.checkArgument(hash.length == HASH_LENGTH_BYTES, "Hash must have 256 bits");
+        mHash = hash;
+    }
+
+    public byte[] getHash() {
+        return mHash;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (!(o instanceof ChunkHash)) {
+            return false;
+        }
+
+        ChunkHash chunkHash = (ChunkHash) o;
+        return Arrays.equals(mHash, chunkHash.mHash);
+    }
+
+    @Override
+    public int hashCode() {
+        return Arrays.hashCode(mHash);
+    }
+
+    @Override
+    public int compareTo(ChunkHash other) {
+        return lexicographicalCompareUnsignedBytes(getHash(), other.getHash());
+    }
+
+    @Override
+    public String toString() {
+        return Base64.getEncoder().encodeToString(mHash);
+    }
+
+    private static int lexicographicalCompareUnsignedBytes(byte[] left, byte[] right) {
+        int minLength = Math.min(left.length, right.length);
+        for (int i = 0; i < minLength; i++) {
+            int result = toInt(left[i]) - toInt(right[i]);
+            if (result != 0) {
+                return result;
+            }
+        }
+        return left.length - right.length;
+    }
+
+    private static int toInt(byte value) {
+        return value & UNSIGNED_MASK;
+    }
+}
diff --git a/services/backup/java/com/android/server/backup/encryption/chunk/ChunkListing.java b/services/backup/java/com/android/server/backup/encryption/chunk/ChunkListing.java
new file mode 100644
index 0000000..2d2e88a
--- /dev/null
+++ b/services/backup/java/com/android/server/backup/encryption/chunk/ChunkListing.java
@@ -0,0 +1,108 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.server.backup.encryption.chunk;
+
+import android.annotation.Nullable;
+import android.util.proto.ProtoInputStream;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Chunk listing in a format optimized for quick look-up of chunks via their hash keys. This is
+ * useful when building an incremental backup. After a chunk has been produced, the algorithm can
+ * quickly look up whether the chunk existed in the previous backup by checking this chunk listing.
+ * It can then tell the server to use that chunk, through telling it the position and length of the
+ * chunk in the previous backup's blob.
+ */
+public class ChunkListing {
+    /**
+     * Reads a ChunkListing from a {@link ProtoInputStream}. Expects the message to be of format
+     * {@link ChunksMetadataProto.ChunkListing}.
+     *
+     * @param inputStream Currently at a {@link ChunksMetadataProto.ChunkListing} message.
+     * @throws IOException when the message is not structured as expected or a field can not be
+     *     read.
+     */
+    public static ChunkListing readFromProto(ProtoInputStream inputStream) throws IOException {
+        Map<ChunkHash, Entry> entries = new HashMap();
+
+        long start = 0;
+
+        while (inputStream.nextField() != ProtoInputStream.NO_MORE_FIELDS) {
+            if (inputStream.getFieldNumber() == (int) ChunksMetadataProto.ChunkListing.CHUNKS) {
+                long chunkToken = inputStream.start(ChunksMetadataProto.ChunkListing.CHUNKS);
+                Chunk chunk = Chunk.readFromProto(inputStream);
+                entries.put(new ChunkHash(chunk.getHash()), new Entry(start, chunk.getLength()));
+                start += chunk.getLength();
+                inputStream.end(chunkToken);
+            }
+        }
+
+        return new ChunkListing(entries);
+    }
+
+    private final Map<ChunkHash, Entry> mChunksByHash;
+
+    private ChunkListing(Map<ChunkHash, Entry> chunksByHash) {
+        mChunksByHash = Collections.unmodifiableMap(new HashMap<>(chunksByHash));
+    }
+
+    /** Returns {@code true} if there is a chunk with the given SHA-256 MAC key in the listing. */
+    public boolean hasChunk(ChunkHash hash) {
+        return mChunksByHash.containsKey(hash);
+    }
+
+    /**
+     * Returns the entry for the chunk with the given hash.
+     *
+     * @param hash The SHA-256 MAC of the plaintext of the chunk.
+     * @return The entry, containing position and length of the chunk in the backup blob, or null if
+     *     it does not exist.
+     */
+    @Nullable
+    public Entry getChunkEntry(ChunkHash hash) {
+        return mChunksByHash.get(hash);
+    }
+
+    /** Returns the number of chunks in this listing. */
+    public int getChunkCount() {
+        return mChunksByHash.size();
+    }
+
+    /** Information about a chunk entry in a backup blob - i.e., its position and length. */
+    public static final class Entry {
+        private final int mLength;
+        private final long mStart;
+
+        private Entry(long start, int length) {
+            mStart = start;
+            mLength = length;
+        }
+
+        /** Returns the length of the chunk in bytes. */
+        public int getLength() {
+            return mLength;
+        }
+
+        /** Returns the start position of the chunk in the backup blob, in bytes. */
+        public long getStart() {
+            return mStart;
+        }
+    }
+}
diff --git a/services/backup/java/com/android/server/backup/encryption/chunk/EncryptedChunkOrdering.java b/services/backup/java/com/android/server/backup/encryption/chunk/EncryptedChunkOrdering.java
new file mode 100644
index 0000000..3a6d1f6
--- /dev/null
+++ b/services/backup/java/com/android/server/backup/encryption/chunk/EncryptedChunkOrdering.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.server.backup.encryption.chunk;
+
+import java.util.Arrays;
+
+/**
+ * Holds the bytes of an encrypted {@link ChunksMetadataProto.ChunkOrdering}.
+ *
+ * <p>TODO(b/116575321): After all code is ported, remove the factory method and rename
+ * encryptedChunkOrdering() to getBytes().
+ */
+public class EncryptedChunkOrdering {
+    /**
+     * Constructs a new object holding the given bytes of an encrypted {@link
+     * ChunksMetadataProto.ChunkOrdering}.
+     *
+     * <p>Note that this just holds an ordering which is already encrypted, it does not encrypt the
+     * ordering.
+     */
+    public static EncryptedChunkOrdering create(byte[] encryptedChunkOrdering) {
+        return new EncryptedChunkOrdering(encryptedChunkOrdering);
+    }
+
+    private final byte[] mEncryptedChunkOrdering;
+
+    public byte[] encryptedChunkOrdering() {
+        return mEncryptedChunkOrdering;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (!(o instanceof EncryptedChunkOrdering)) {
+            return false;
+        }
+
+        EncryptedChunkOrdering encryptedChunkOrdering = (EncryptedChunkOrdering) o;
+        return Arrays.equals(
+                mEncryptedChunkOrdering, encryptedChunkOrdering.mEncryptedChunkOrdering);
+    }
+
+    @Override
+    public int hashCode() {
+        return Arrays.hashCode(mEncryptedChunkOrdering);
+    }
+
+    private EncryptedChunkOrdering(byte[] encryptedChunkOrdering) {
+        mEncryptedChunkOrdering = encryptedChunkOrdering;
+    }
+}
diff --git a/services/backup/java/com/android/server/backup/keyvalue/AgentException.java b/services/backup/java/com/android/server/backup/keyvalue/AgentException.java
new file mode 100644
index 0000000..e2ca351
--- /dev/null
+++ b/services/backup/java/com/android/server/backup/keyvalue/AgentException.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.server.backup.keyvalue;
+
+/**
+ * This represents something wrong with a specific package. For example:
+ * <ul>
+ *     <li>Package unknown.
+ *     <li>Package is not eligible for backup anymore.
+ *     <li>Backup agent timed out.
+ *     <li>Backup agent wrote protected keys.
+ *     <li>...
+ * </ul>
+ *
+ * @see KeyValueBackupTask
+ * @see TaskException
+ */
+class AgentException extends BackupException {
+    static AgentException transitory() {
+        return new AgentException(/* transitory */ true);
+    }
+
+    static AgentException transitory(Exception cause) {
+        return new AgentException(/* transitory */ true, cause);
+    }
+
+    static AgentException permanent() {
+        return new AgentException(/* transitory */ false);
+    }
+
+    static AgentException permanent(Exception cause) {
+        return new AgentException(/* transitory */ false, cause);
+    }
+
+    private final boolean mTransitory;
+
+    private AgentException(boolean transitory) {
+        mTransitory = transitory;
+    }
+
+    private AgentException(boolean transitory, Exception cause) {
+        super(cause);
+        mTransitory = transitory;
+    }
+
+    boolean isTransitory() {
+        return mTransitory;
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/events/StartedDragingEvent.java b/services/backup/java/com/android/server/backup/keyvalue/BackupException.java
similarity index 60%
rename from packages/SystemUI/src/com/android/systemui/stackdivider/events/StartedDragingEvent.java
rename to services/backup/java/com/android/server/backup/keyvalue/BackupException.java
index 5d19851..27b2d35 100644
--- a/packages/SystemUI/src/com/android/systemui/stackdivider/events/StartedDragingEvent.java
+++ b/services/backup/java/com/android/server/backup/keyvalue/BackupException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2016 The Android Open Source Project
+ * Copyright (C) 2018 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.
@@ -14,12 +14,20 @@
  * limitations under the License
  */
 
-package com.android.systemui.stackdivider.events;
+package com.android.server.backup.keyvalue;
 
-import com.android.systemui.recents.events.EventBus;
+import android.util.AndroidException;
 
 /**
- * Sent when the divider is being draged either manually or by an animation.
+ * Key-value backup task exception.
+ *
+ * @see AgentException
+ * @see TaskException
  */
-public class StartedDragingEvent extends EventBus.Event {
+class BackupException extends AndroidException {
+    BackupException() {}
+
+    BackupException(Exception cause) {
+        super(cause);
+    }
 }
diff --git a/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupReporter.java b/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupReporter.java
index 54e6b1d..bb8a1d1 100644
--- a/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupReporter.java
+++ b/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupReporter.java
@@ -54,7 +54,7 @@
 public class KeyValueBackupReporter {
     @VisibleForTesting static final String TAG = "KeyValueBackupTask";
     private static final boolean DEBUG = BackupManagerService.DEBUG;
-    @VisibleForTesting static final boolean MORE_DEBUG = BackupManagerService.MORE_DEBUG || true;
+    @VisibleForTesting static final boolean MORE_DEBUG = BackupManagerService.MORE_DEBUG || false;
 
     static void onNewThread(String threadName) {
         if (DEBUG) {
@@ -153,16 +153,18 @@
                 mObserver, packageName, BackupManager.ERROR_BACKUP_NOT_ALLOWED);
     }
 
-    void onBindAgentError(SecurityException e) {
-        Slog.d(TAG, "Error in bind/backup", e);
-    }
-
     void onAgentUnknown(String packageName) {
         Slog.d(TAG, "Package does not exist, skipping");
         BackupObserverUtils.sendBackupOnPackageResult(
                 mObserver, packageName, BackupManager.ERROR_PACKAGE_NOT_FOUND);
     }
 
+    void onBindAgentError(String packageName, SecurityException e) {
+        Slog.d(TAG, "Error in bind/backup", e);
+        BackupObserverUtils.sendBackupOnPackageResult(
+                mObserver, packageName, BackupManager.ERROR_AGENT_FAILURE);
+    }
+
     void onAgentError(String packageName) {
         if (MORE_DEBUG) {
             Slog.i(TAG, "Agent failure for " + packageName + ", re-staging");
@@ -190,6 +192,8 @@
     void onCallAgentDoBackupError(String packageName, boolean callingAgent, Exception e) {
         if (callingAgent) {
             Slog.e(TAG, "Error invoking agent on " + packageName + ": " + e);
+            BackupObserverUtils.sendBackupOnPackageResult(
+                    mObserver, packageName, BackupManager.ERROR_AGENT_FAILURE);
         } else {
             Slog.e(TAG, "Error before invoking agent on " + packageName + ": " + e);
         }
@@ -220,12 +224,8 @@
         }
     }
 
-    void onReadAgentDataError(String packageName, IOException e) {
-        Slog.w(TAG, "Unable read backup data for " + packageName + ": " + e);
-    }
-
-    void onWriteWidgetDataError(String packageName, IOException e) {
-        Slog.w(TAG, "Unable to save widget data for " + packageName + ": " + e);
+    void onAgentDataError(String packageName, IOException e) {
+        Slog.w(TAG, "Unable to read/write agent data for " + packageName + ": " + e);
     }
 
     void onDigestError(NoSuchAlgorithmException e) {
@@ -243,16 +243,12 @@
         }
     }
 
-    void onSendDataToTransport(String packageName) {
+    void onTransportPerformBackup(String packageName) {
         if (MORE_DEBUG) {
             Slog.v(TAG, "Sending non-empty data to transport for " + packageName);
         }
     }
 
-    void onNonIncrementalAndNonIncrementalRequired() {
-        Slog.e(TAG, "Transport requested non-incremental but already the case");
-    }
-
     void onEmptyData(PackageInfo packageInfo) {
         if (MORE_DEBUG) {
             Slog.i(TAG, "No backup data written, not calling transport");
@@ -302,13 +298,20 @@
                 /* extras */ null);
     }
 
+    void onPackageBackupNonIncrementalAndNonIncrementalRequired(String packageName) {
+        Slog.e(TAG, "Transport requested non-incremental but already the case");
+        BackupObserverUtils.sendBackupOnPackageResult(
+                mObserver, packageName, BackupManager.ERROR_TRANSPORT_ABORTED);
+        EventLog.writeEvent(EventLogTags.BACKUP_TRANSPORT_FAILURE, packageName);
+    }
+
     void onPackageBackupTransportFailure(String packageName) {
         BackupObserverUtils.sendBackupOnPackageResult(
                 mObserver, packageName, BackupManager.ERROR_TRANSPORT_ABORTED);
         EventLog.writeEvent(EventLogTags.BACKUP_TRANSPORT_FAILURE, packageName);
     }
 
-    void onPackageBackupError(String packageName, Exception e) {
+    void onPackageBackupTransportError(String packageName, Exception e) {
         Slog.e(TAG, "Transport error backing up " + packageName, e);
         BackupObserverUtils.sendBackupOnPackageResult(
                 mObserver, packageName, BackupManager.ERROR_TRANSPORT_ABORTED);
diff --git a/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java b/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java
index e915ce1..6904b3f 100644
--- a/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java
+++ b/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java
@@ -16,6 +16,7 @@
 
 package com.android.server.backup.keyvalue;
 
+import static android.app.ApplicationThreadConstants.BACKUP_MODE_INCREMENTAL;
 import static android.os.ParcelFileDescriptor.MODE_CREATE;
 import static android.os.ParcelFileDescriptor.MODE_READ_ONLY;
 import static android.os.ParcelFileDescriptor.MODE_READ_WRITE;
@@ -25,8 +26,8 @@
 import static com.android.server.backup.BackupManagerService.OP_PENDING;
 import static com.android.server.backup.BackupManagerService.OP_TYPE_BACKUP;
 
+import android.annotation.IntDef;
 import android.annotation.Nullable;
-import android.app.ApplicationThreadConstants;
 import android.app.IBackupAgent;
 import android.app.backup.BackupAgent;
 import android.app.backup.BackupDataInput;
@@ -47,7 +48,6 @@
 import android.os.SELinux;
 import android.os.UserHandle;
 import android.os.WorkSource;
-import android.util.Pair;
 
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.annotations.VisibleForTesting;
@@ -77,6 +77,8 @@
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
@@ -173,10 +175,8 @@
     private static final AtomicInteger THREAD_COUNT = new AtomicInteger();
     private static final String BLANK_STATE_FILE_NAME = "blank_state";
     private static final String PM_PACKAGE = BackupManagerService.PACKAGE_MANAGER_SENTINEL;
-    @VisibleForTesting
-    public static final String STAGING_FILE_SUFFIX = ".data";
-    @VisibleForTesting
-    public static final String NEW_STATE_FILE_SUFFIX = ".new";
+    @VisibleForTesting public static final String STAGING_FILE_SUFFIX = ".data";
+    @VisibleForTesting public static final String NEW_STATE_FILE_SUFFIX = ".new";
 
     /**
      * Creates a new {@link KeyValueBackupTask} for key-value backup operation, spins up a new
@@ -244,13 +244,13 @@
     private final int mCurrentOpToken;
     private final File mStateDirectory;
     private final File mDataDirectory;
+    private final File mBlankStateFile;
     private final List<String> mOriginalQueue;
     private final List<String> mQueue;
     private final List<String> mPendingFullBackups;
     private final Object mQueueLock;
     @Nullable private final DataChangedJournal mJournal;
 
-    private int mStatus;
     @Nullable private PerformFullTransportBackupTask mFullBackupTask;
     @Nullable private IBackupAgent mAgent;
     @Nullable private PackageInfo mCurrentPackage;
@@ -316,6 +316,7 @@
         mDataDirectory = mBackupManagerService.getDataDir();
         mCurrentOpToken = backupManagerService.generateRandomIntegerToken();
         mQueueLock = mBackupManagerService.getQueueLock();
+        mBlankStateFile = new File(mStateDirectory, BLANK_STATE_FILE_NAME);
     }
 
     private void registerTask() {
@@ -331,45 +332,43 @@
     public void run() {
         Process.setThreadPriority(THREAD_PRIORITY);
 
-        boolean processQueue = startTask();
-        while (processQueue && !mQueue.isEmpty() && !mCancelled) {
-            String packageName = mQueue.remove(0);
-            if (PM_PACKAGE.equals(packageName)) {
-                processQueue = backupPm();
-            } else {
-                processQueue = backupPackage(packageName);
+        int status = BackupTransport.TRANSPORT_OK;
+        try {
+            startTask();
+            while (!mQueue.isEmpty() && !mCancelled) {
+                String packageName = mQueue.remove(0);
+                try {
+                    if (PM_PACKAGE.equals(packageName)) {
+                        backupPm();
+                    } else {
+                        backupPackage(packageName);
+                    }
+                } catch (AgentException e) {
+                    if (e.isTransitory()) {
+                        // We try again this package in the next backup pass.
+                        mBackupManagerService.dataChangedImpl(packageName);
+                    }
+                }
             }
+        } catch (TaskException e) {
+            if (e.isStateCompromised()) {
+                mBackupManagerService.resetBackupState(mStateDirectory);
+            }
+            revertTask();
+            status = e.getStatus();
         }
-        finishTask();
+        finishTask(status);
     }
 
-    /** Returns whether to consume next queue package. */
-    private boolean handleAgentResult(@Nullable PackageInfo packageInfo, RemoteResult result) {
-        if (result == RemoteResult.FAILED_THREAD_INTERRUPTED) {
-            // Not an explicit cancel, we need to flag it.
-            mCancelled = true;
-            mReporter.onAgentCancelled(packageInfo);
-            cleanUpAgentForAgentError();
-            return false;
+    /** Returns transport status. */
+    private int sendDataToTransport(@Nullable PackageInfo packageInfo)
+            throws AgentException, TaskException {
+        try {
+            return sendDataToTransport();
+        } catch (IOException e) {
+            mReporter.onAgentDataError(packageInfo.packageName, e);
+            throw TaskException.causedBy(e);
         }
-        if (result == RemoteResult.FAILED_CANCELLED) {
-            mReporter.onAgentCancelled(packageInfo);
-            cleanUpAgentForAgentError();
-            return false;
-        }
-        if (result == RemoteResult.FAILED_TIMED_OUT) {
-            mReporter.onAgentTimedOut(packageInfo);
-            cleanUpAgentForAgentError();
-            return true;
-        }
-        Preconditions.checkState(result.isPresent());
-        long agentResult = result.get();
-        if (agentResult == BackupAgent.RESULT_ERROR) {
-            mReporter.onAgentResultError(packageInfo);
-            cleanUpAgentForAgentError();
-            return true;
-        }
-        return sendDataToTransport();
     }
 
     @Override
@@ -378,11 +377,10 @@
     @Override
     public void operationComplete(long unusedResult) {}
 
-    /** Returns whether to consume next queue package. */
-    private boolean startTask() {
+    private void startTask() throws TaskException {
         if (mBackupManagerService.isBackupOperationInProgress()) {
             mReporter.onSkipBackup();
-            return false;
+            throw TaskException.create();
         }
 
         // Unfortunately full backup task constructor registers the task with BMS, so we have to
@@ -390,11 +388,9 @@
         mFullBackupTask = createFullBackupTask(mPendingFullBackups);
         registerTask();
 
-        mStatus = BackupTransport.TRANSPORT_OK;
-
         if (mQueue.isEmpty() && mPendingFullBackups.isEmpty()) {
             mReporter.onEmptyQueueAtStart();
-            return false;
+            return;
         }
         // We only backup PM if it was explicitly in the queue or if it's incremental.
         boolean backupPm = mQueue.remove(PM_PACKAGE) || !mNonIncremental;
@@ -415,20 +411,18 @@
             if (pmState.length() <= 0) {
                 mReporter.onInitializeTransport(transportName);
                 mBackupManagerService.resetBackupState(mStateDirectory);
-                mStatus = transport.initializeDevice();
-                mReporter.onTransportInitialized(mStatus);
+                int status = transport.initializeDevice();
+                mReporter.onTransportInitialized(status);
+                if (status != BackupTransport.TRANSPORT_OK) {
+                    throw TaskException.stateCompromised();
+                }
             }
+        } catch (TaskException e) {
+            throw e;
         } catch (Exception e) {
             mReporter.onInitializeTransportError(e);
-            mStatus = BackupTransport.TRANSPORT_ERROR;
+            throw TaskException.stateCompromised();
         }
-
-        if (mStatus != BackupTransport.TRANSPORT_OK) {
-            mBackupManagerService.resetBackupState(mStateDirectory);
-            return false;
-        }
-
-        return true;
     }
 
     private PerformFullTransportBackupTask createFullBackupTask(List<String> packages) {
@@ -446,120 +440,82 @@
                 mUserInitiated);
     }
 
-    /** Returns whether to consume next queue package. */
-    private boolean backupPm() {
-        RemoteResult agentResult = null;
+    private void backupPm() throws TaskException {
+        mReporter.onStartPackageBackup(PM_PACKAGE);
+        mCurrentPackage = new PackageInfo();
+        mCurrentPackage.packageName = PM_PACKAGE;
+
         try {
-            mCurrentPackage = new PackageInfo();
-            mCurrentPackage.packageName = PM_PACKAGE;
-
-            // Since PM is running in the system process we can set up its agent directly.
-            BackupAgent pmAgent = mBackupManagerService.makeMetadataAgent();
-            mAgent = IBackupAgent.Stub.asInterface(pmAgent.onBind());
-
-            Pair<Integer, RemoteResult> statusAndResult = extractAgentData(PM_PACKAGE, mAgent);
-            mStatus = statusAndResult.first;
-            agentResult = statusAndResult.second;
-        } catch (Exception e) {
+            extractPmAgentData(mCurrentPackage);
+            int status = sendDataToTransport(mCurrentPackage);
+            cleanUpAgentForTransportStatus(status);
+        } catch (AgentException | TaskException e) {
             mReporter.onExtractPmAgentDataError(e);
-            mStatus = BackupTransport.TRANSPORT_ERROR;
+            cleanUpAgentForError(e);
+            // PM agent failure is task failure.
+            throw TaskException.stateCompromised(e);
         }
-
-        if (mStatus != BackupTransport.TRANSPORT_OK) {
-            // In this case either extractAgentData() already made the agent clean-up or we haven't
-            // prepared the state for calling the agent, in either case we don't need to clean-up.
-            mBackupManagerService.resetBackupState(mStateDirectory);
-            return false;
-        }
-
-        Preconditions.checkNotNull(agentResult);
-        return handleAgentResult(mCurrentPackage, agentResult);
     }
 
-    /** Returns whether to consume next queue package. */
-    private boolean backupPackage(String packageName) {
+    private void backupPackage(String packageName) throws AgentException, TaskException {
         mReporter.onStartPackageBackup(packageName);
-        mStatus = BackupTransport.TRANSPORT_OK;
+        mCurrentPackage = getPackageForBackup(packageName);
 
-        // Verify that the requested app is eligible for key-value backup.
-        RemoteResult agentResult = null;
         try {
-            mCurrentPackage = mPackageManager.getPackageInfo(
-                    packageName, PackageManager.GET_SIGNING_CERTIFICATES);
-            ApplicationInfo applicationInfo = mCurrentPackage.applicationInfo;
-            if (!AppBackupUtils.appIsEligibleForBackup(applicationInfo, mPackageManager)) {
-                // The manifest has changed. This won't happen again because the app won't be
-                // requesting further backups.
-                mReporter.onPackageNotEligibleForBackup(packageName);
-                return true;
-            }
-
-            if (AppBackupUtils.appGetsFullBackup(mCurrentPackage)) {
-                // Initially enqueued for key-value backup, but only supports full-backup now.
-                mReporter.onPackageEligibleForFullBackup(packageName);
-                return true;
-            }
-
-            if (AppBackupUtils.appIsStopped(applicationInfo)) {
-                // Just as it won't receive broadcasts, we won't run it for backup.
-                mReporter.onPackageStopped(packageName);
-                return true;
-            }
-
-            try {
-                mBackupManagerService.setWorkSource(new WorkSource(applicationInfo.uid));
-                IBackupAgent agent =
-                        mBackupManagerService.bindToAgentSynchronous(
-                                applicationInfo,
-                                ApplicationThreadConstants.BACKUP_MODE_INCREMENTAL);
-                if (agent != null) {
-                    mAgent = agent;
-                    Pair<Integer, RemoteResult> statusAndResult =
-                            extractAgentData(packageName, agent);
-                    mStatus = statusAndResult.first;
-                    agentResult = statusAndResult.second;
-                } else {
-                    // Timeout waiting for the agent to bind.
-                    mStatus = BackupTransport.AGENT_ERROR;
-                }
-            } catch (SecurityException e) {
-                mReporter.onBindAgentError(e);
-                mStatus = BackupTransport.AGENT_ERROR;
-            }
-        } catch (PackageManager.NameNotFoundException e) {
-            mStatus = BackupTransport.AGENT_UNKNOWN;
-        } finally {
-            mBackupManagerService.setWorkSource(null);
+            extractAgentData(mCurrentPackage);
+            int status = sendDataToTransport(mCurrentPackage);
+            cleanUpAgentForTransportStatus(status);
+        } catch (AgentException | TaskException e) {
+            cleanUpAgentForError(e);
+            throw e;
         }
-
-        if (mStatus != BackupTransport.TRANSPORT_OK) {
-            // In this case either extractAgentData() already made the agent clean-up or we haven't
-            // prepared the state for calling the agent, in either case we don't need to clean-up.
-            Preconditions.checkState(mAgent == null);
-
-            if (mStatus == BackupTransport.AGENT_ERROR) {
-                mReporter.onAgentError(packageName);
-                mBackupManagerService.dataChangedImpl(packageName);
-                mStatus = BackupTransport.TRANSPORT_OK;
-                return true;
-            }
-
-            if (mStatus == BackupTransport.AGENT_UNKNOWN) {
-                mReporter.onAgentUnknown(packageName);
-                mStatus = BackupTransport.TRANSPORT_OK;
-                return true;
-            }
-
-            // Transport-level failure, re-enqueue everything.
-            revertTask();
-            return false;
-        }
-
-        Preconditions.checkNotNull(agentResult);
-        return handleAgentResult(mCurrentPackage, agentResult);
     }
 
-    private void finishTask() {
+    private PackageInfo getPackageForBackup(String packageName) throws AgentException {
+        final PackageInfo packageInfo;
+        try {
+            packageInfo =
+                    mPackageManager.getPackageInfo(
+                            packageName, PackageManager.GET_SIGNING_CERTIFICATES);
+        } catch (PackageManager.NameNotFoundException e) {
+            mReporter.onAgentUnknown(packageName);
+            throw AgentException.permanent(e);
+        }
+        ApplicationInfo applicationInfo = packageInfo.applicationInfo;
+        if (!AppBackupUtils.appIsEligibleForBackup(applicationInfo, mPackageManager)) {
+            mReporter.onPackageNotEligibleForBackup(packageName);
+            throw AgentException.permanent();
+        }
+        if (AppBackupUtils.appGetsFullBackup(packageInfo)) {
+            mReporter.onPackageEligibleForFullBackup(packageName);
+            throw AgentException.permanent();
+        }
+        if (AppBackupUtils.appIsStopped(applicationInfo)) {
+            mReporter.onPackageStopped(packageName);
+            throw AgentException.permanent();
+        }
+        return packageInfo;
+    }
+
+    private IBackupAgent bindAgent(PackageInfo packageInfo) throws AgentException {
+        String packageName = packageInfo.packageName;
+        final IBackupAgent agent;
+        try {
+            agent =
+                    mBackupManagerService.bindToAgentSynchronous(
+                            packageInfo.applicationInfo, BACKUP_MODE_INCREMENTAL);
+            if (agent == null) {
+                mReporter.onAgentError(packageName);
+                throw AgentException.transitory();
+            }
+        } catch (SecurityException e) {
+            mReporter.onBindAgentError(packageName, e);
+            throw AgentException.transitory(e);
+        }
+        return agent;
+    }
+
+    private void finishTask(int status) {
         // Mark packages that we couldn't backup as pending backup.
         for (String packageName : mQueue) {
             mBackupManagerService.dataChangedImpl(packageName);
@@ -576,7 +532,7 @@
         // If we succeeded and this is the first time we've done a backup, we can record the current
         // backup dataset token.
         long currentToken = mBackupManagerService.getCurrentToken();
-        if ((mStatus == BackupTransport.TRANSPORT_OK) && (currentToken == 0)) {
+        if ((status == BackupTransport.TRANSPORT_OK) && (currentToken == 0)) {
             try {
                 IBackupTransport transport = mTransportClient.connectOrThrow(callerLogString);
                 mBackupManagerService.setCurrentToken(transport.getCurrentRestoreSet());
@@ -589,9 +545,14 @@
 
         synchronized (mQueueLock) {
             mBackupManagerService.setBackupRunning(false);
-            if (mStatus == BackupTransport.TRANSPORT_NOT_INITIALIZED) {
+            if (status == BackupTransport.TRANSPORT_NOT_INITIALIZED) {
                 mReporter.onTransportNotInitialized();
-                triggerTransportInitializationLocked();
+                try {
+                    triggerTransportInitializationLocked();
+                } catch (Exception e) {
+                    mReporter.onPendingInitializeTransportError(e);
+                    status = BackupTransport.TRANSPORT_ERROR;
+                }
             }
         }
 
@@ -605,7 +566,7 @@
         }
 
         if (!mCancelled
-                && mStatus == BackupTransport.TRANSPORT_OK
+                && status == BackupTransport.TRANSPORT_OK
                 && mFullBackupTask != null
                 && !mPendingFullBackups.isEmpty()) {
             mReporter.onStartFullBackup(mPendingFullBackups);
@@ -621,7 +582,7 @@
             mFullBackupTask.unregisterTask();
         }
         mTaskFinishedListener.onFinished(callerLogString);
-        mReporter.onBackupFinished(getBackupFinishedStatus(mCancelled, mStatus));
+        mReporter.onBackupFinished(getBackupFinishedStatus(mCancelled, status));
         mBackupManagerService.getWakelock().release();
     }
 
@@ -642,17 +603,12 @@
     }
 
     @GuardedBy("mQueueLock")
-    private void triggerTransportInitializationLocked() {
-        try {
-            IBackupTransport transport =
-                    mTransportClient.connectOrThrow("KVBT.triggerTransportInitializationLocked");
-            mBackupManagerService.getPendingInits().add(transport.name());
-            deletePmStateFile();
-            mBackupManagerService.backupNow();
-        } catch (Exception e) {
-            mReporter.onPendingInitializeTransportError(e);
-            mStatus = BackupTransport.TRANSPORT_ERROR;
-        }
+    private void triggerTransportInitializationLocked() throws Exception {
+        IBackupTransport transport =
+                mTransportClient.connectOrThrow("KVBT.triggerTransportInitializationLocked");
+        mBackupManagerService.getPendingInits().add(transport.name());
+        deletePmStateFile();
+        mBackupManagerService.backupNow();
     }
 
     /** Removes PM state, triggering initialization in the next key-value task. */
@@ -660,35 +616,69 @@
         new File(mStateDirectory, PM_PACKAGE).delete();
     }
 
+    /** Same as {@link #extractAgentData(PackageInfo)}, but only for PM package. */
+    private void extractPmAgentData(PackageInfo packageInfo) throws AgentException, TaskException {
+        Preconditions.checkArgument(packageInfo.packageName.equals(PM_PACKAGE));
+        BackupAgent pmAgent = mBackupManagerService.makeMetadataAgent();
+        mAgent = IBackupAgent.Stub.asInterface(pmAgent.onBind());
+        extractAgentData(packageInfo, mAgent);
+    }
+
     /**
-     * Returns a {@link Pair}. The first of the pair contains the status. In case the status is
-     * {@link BackupTransport#TRANSPORT_OK}, the second of the pair contains the agent result,
-     * otherwise {@code null}.
+     * Binds to the agent and extracts its backup data. If this method returns, the data in {@code
+     * mBackupData} is ready to be sent to the transport, otherwise it will throw.
+     *
+     * <p>This method leaves agent resources (agent binder, files and file-descriptors) opened that
+     * need to be cleaned up after terminating, either successfully or exceptionally. This clean-up
+     * can be done with methods {@link #cleanUpAgentForTransportStatus(int)} and {@link
+     * #cleanUpAgentForError(BackupException)}, depending on whether data was successfully sent to
+     * the transport or not. It's the caller responsibility to do the clean-up or delegate it.
      */
-    private Pair<Integer, RemoteResult> extractAgentData(String packageName, IBackupAgent agent) {
+    private void extractAgentData(PackageInfo packageInfo) throws AgentException, TaskException {
+        mBackupManagerService.setWorkSource(new WorkSource(packageInfo.applicationInfo.uid));
+        try {
+            mAgent = bindAgent(packageInfo);
+            extractAgentData(packageInfo, mAgent);
+        } finally {
+            mBackupManagerService.setWorkSource(null);
+        }
+    }
+
+    /**
+     * Calls agent {@link IBackupAgent#doBackup(ParcelFileDescriptor, ParcelFileDescriptor,
+     * ParcelFileDescriptor, long, IBackupCallback, int)} and waits for the result. If this method
+     * returns, the data in {@code mBackupData} is ready to be sent to the transport, otherwise it
+     * will throw.
+     *
+     * <p>This method creates files and file-descriptors for the agent that need to be deleted and
+     * closed after terminating, either successfully or exceptionally. This clean-up can be done
+     * with methods {@link #cleanUpAgentForTransportStatus(int)} and {@link
+     * #cleanUpAgentForError(BackupException)}, depending on whether data was successfully sent to
+     * the transport or not. It's the caller responsibility to do the clean-up or delegate it.
+     */
+    private void extractAgentData(PackageInfo packageInfo, IBackupAgent agent)
+            throws AgentException, TaskException {
+        String packageName = packageInfo.packageName;
         mReporter.onExtractAgentData(packageName);
 
-        File blankStateFile = new File(mStateDirectory, BLANK_STATE_FILE_NAME);
         mSavedStateFile = new File(mStateDirectory, packageName);
         mBackupDataFile = new File(mDataDirectory, packageName + STAGING_FILE_SUFFIX);
         mNewStateFile = new File(mStateDirectory, packageName + NEW_STATE_FILE_SUFFIX);
         mReporter.onAgentFilesReady(mBackupDataFile);
 
-        mSavedState = null;
-        mBackupData = null;
-        mNewState = null;
-
         boolean callingAgent = false;
         final RemoteResult agentResult;
         try {
-            File savedStateFileForAgent = (mNonIncremental) ? blankStateFile : mSavedStateFile;
+            File savedStateFileForAgent = (mNonIncremental) ? mBlankStateFile : mSavedStateFile;
             // MODE_CREATE to make an empty file if necessary
-            mSavedState = ParcelFileDescriptor.open(
-                    savedStateFileForAgent, MODE_READ_ONLY | MODE_CREATE);
-            mBackupData = ParcelFileDescriptor.open(
-                    mBackupDataFile, MODE_READ_WRITE | MODE_CREATE | MODE_TRUNCATE);
-            mNewState = ParcelFileDescriptor.open(
-                    mNewStateFile, MODE_READ_WRITE | MODE_CREATE | MODE_TRUNCATE);
+            mSavedState =
+                    ParcelFileDescriptor.open(savedStateFileForAgent, MODE_READ_ONLY | MODE_CREATE);
+            mBackupData =
+                    ParcelFileDescriptor.open(
+                            mBackupDataFile, MODE_READ_WRITE | MODE_CREATE | MODE_TRUNCATE);
+            mNewState =
+                    ParcelFileDescriptor.open(
+                            mNewStateFile, MODE_READ_WRITE | MODE_CREATE | MODE_TRUNCATE);
 
             if (!SELinux.restorecon(mBackupDataFile)) {
                 mReporter.onRestoreconFailed(mBackupDataFile);
@@ -713,15 +703,40 @@
                             "doBackup()");
         } catch (Exception e) {
             mReporter.onCallAgentDoBackupError(packageName, callingAgent, e);
-            cleanUpAgentForAgentError();
-            // TODO: Remove the check on callingAgent when RemoteCall supports local agent calls.
-            int status =
-                    callingAgent ? BackupTransport.AGENT_ERROR : BackupTransport.TRANSPORT_ERROR;
-            return Pair.create(status, null);
+            if (callingAgent) {
+                throw AgentException.transitory(e);
+            } else {
+                throw TaskException.create();
+            }
+        } finally {
+            mBlankStateFile.delete();
         }
-        blankStateFile.delete();
+        checkAgentResult(packageInfo, agentResult);
+    }
 
-        return Pair.create(BackupTransport.TRANSPORT_OK, agentResult);
+    private void checkAgentResult(PackageInfo packageInfo, RemoteResult result)
+            throws AgentException, TaskException {
+        if (result == RemoteResult.FAILED_THREAD_INTERRUPTED) {
+            // Not an explicit cancel, we need to flag it.
+            mCancelled = true;
+            mReporter.onAgentCancelled(packageInfo);
+            throw TaskException.create();
+        }
+        if (result == RemoteResult.FAILED_CANCELLED) {
+            mReporter.onAgentCancelled(packageInfo);
+            throw TaskException.create();
+        }
+        if (result == RemoteResult.FAILED_TIMED_OUT) {
+            mReporter.onAgentTimedOut(packageInfo);
+            throw AgentException.transitory();
+        }
+        Preconditions.checkState(result.isPresent());
+        long resultCode = result.get();
+        if (resultCode == BackupAgent.RESULT_ERROR) {
+            mReporter.onAgentResultError(packageInfo);
+            throw AgentException.transitory();
+        }
+        Preconditions.checkState(resultCode == BackupAgent.RESULT_SUCCESS);
     }
 
     private void agentFail(IBackupAgent agent, String message) {
@@ -801,94 +816,79 @@
         }
     }
 
-    /** Returns whether to consume next queue package. */
-    private boolean sendDataToTransport() {
+    /** Returns transport status. */
+    private int sendDataToTransport() throws AgentException, TaskException, IOException {
         Preconditions.checkState(mBackupData != null);
+        checkBackupData(mCurrentPackage.applicationInfo, mBackupDataFile);
 
         String packageName = mCurrentPackage.packageName;
-        ApplicationInfo applicationInfo = mCurrentPackage.applicationInfo;
-
-        boolean writingWidgetData = false;
-        try {
-            if (!validateBackupData(applicationInfo, mBackupDataFile)) {
-                cleanUpAgentForAgentError();
-                return true;
-            }
-            writingWidgetData = true;
-            writeWidgetPayloadIfAppropriate(mBackupData.getFileDescriptor(), packageName);
-        } catch (IOException e) {
-            if (writingWidgetData) {
-                mReporter.onWriteWidgetDataError(packageName, e);
-            } else {
-                mReporter.onReadAgentDataError(packageName, e);
-            }
-            cleanUpAgentForAgentError();
-            revertTask();
-            return false;
-        }
+        writeWidgetPayloadIfAppropriate(mBackupData.getFileDescriptor(), packageName);
 
         boolean nonIncremental = mSavedStateFile.length() == 0;
-        long size = mBackupDataFile.length();
-        if (size > 0) {
-            try (ParcelFileDescriptor backupData =
-                         ParcelFileDescriptor.open(mBackupDataFile, MODE_READ_ONLY)) {
-                IBackupTransport transport =
-                        mTransportClient.connectOrThrow("KVBT.sendDataToTransport()");
-                mReporter.onSendDataToTransport(packageName);
-                int flags = getPerformBackupFlags(mUserInitiated, nonIncremental);
-
-                mStatus = transport.performBackup(mCurrentPackage, backupData, flags);
-                if (mStatus == BackupTransport.TRANSPORT_OK) {
-                    mStatus = transport.finishBackup();
-                }
-            } catch (Exception e) {
-                mReporter.onPackageBackupError(packageName, e);
-                mStatus = BackupTransport.TRANSPORT_ERROR;
-            }
-        } else {
-            mReporter.onEmptyData(mCurrentPackage);
-            mStatus = BackupTransport.TRANSPORT_OK;
-        }
-
-        if (nonIncremental
-                && mStatus == BackupTransport.TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED) {
-            mReporter.onNonIncrementalAndNonIncrementalRequired();
-            mStatus = BackupTransport.TRANSPORT_ERROR;
-        }
-
-
-        boolean processQueue = handleTransportStatus(mStatus, packageName, size);
-        // We might report quota exceeded to the agent in handleTransportStatus() above, so we
-        // only clean-up after it.
-        cleanUpAgentForTransportStatus(mStatus);
-        return processQueue;
+        int status = transportPerformBackup(mCurrentPackage, mBackupDataFile, nonIncremental);
+        handleTransportStatus(status, packageName, mBackupDataFile.length());
+        return status;
     }
 
-    /** Returns whether to consume next queue package. */
-    private boolean handleTransportStatus(int status, String packageName, long size) {
+    private int transportPerformBackup(
+            PackageInfo packageInfo, File backupDataFile, boolean nonIncremental)
+            throws TaskException {
+        String packageName = packageInfo.packageName;
+        long size = backupDataFile.length();
+        if (size <= 0) {
+            mReporter.onEmptyData(packageInfo);
+            return BackupTransport.TRANSPORT_OK;
+        }
+
+        int status;
+        try (ParcelFileDescriptor backupData =
+                ParcelFileDescriptor.open(backupDataFile, MODE_READ_ONLY)) {
+            IBackupTransport transport =
+                    mTransportClient.connectOrThrow("KVBT.transportPerformBackup()");
+            mReporter.onTransportPerformBackup(packageName);
+            int flags = getPerformBackupFlags(mUserInitiated, nonIncremental);
+
+            status = transport.performBackup(packageInfo, backupData, flags);
+            if (status == BackupTransport.TRANSPORT_OK) {
+                status = transport.finishBackup();
+            }
+        } catch (Exception e) {
+            mReporter.onPackageBackupTransportError(packageName, e);
+            throw TaskException.causedBy(e);
+        }
+
+        if (nonIncremental && status == BackupTransport.TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED) {
+            mReporter.onPackageBackupNonIncrementalAndNonIncrementalRequired(packageName);
+            throw TaskException.create();
+        }
+
+        return status;
+    }
+
+    private void handleTransportStatus(int status, String packageName, long size)
+            throws TaskException, AgentException {
         if (status == BackupTransport.TRANSPORT_OK) {
             mReporter.onPackageBackupComplete(packageName, size);
-            return true;
-        }
-        if (status == BackupTransport.TRANSPORT_PACKAGE_REJECTED) {
-            mReporter.onPackageBackupRejected(packageName);
-            return true;
+            return;
         }
         if (status == BackupTransport.TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED) {
             mReporter.onPackageBackupNonIncrementalRequired(mCurrentPackage);
             // Immediately retry the current package.
             mQueue.add(0, packageName);
-            return true;
+            return;
+        }
+        if (status == BackupTransport.TRANSPORT_PACKAGE_REJECTED) {
+            mReporter.onPackageBackupRejected(packageName);
+            throw AgentException.permanent();
         }
         if (status == BackupTransport.TRANSPORT_QUOTA_EXCEEDED) {
             mReporter.onPackageBackupQuotaExceeded(packageName);
             agentDoQuotaExceeded(mAgent, packageName, size);
-            return true;
+            throw AgentException.permanent();
         }
         // Any other error here indicates a transport-level failure.
         mReporter.onPackageBackupTransportFailure(packageName);
-        revertTask();
-        return false;
+        throw TaskException.forStatus(status);
     }
 
     private void agentDoQuotaExceeded(@Nullable IBackupAgent agent, String packageName, long size) {
@@ -908,19 +908,17 @@
     }
 
     /**
-     * For system apps and pseudo-apps always return {@code true}. For regular apps returns whether
-     * {@code backupDataFile} doesn't have any protected keys.
-     *
-     * <p>If the app has attempted to write any protected keys we also crash them.
+     * For system apps and pseudo-apps never throws. For regular apps throws {@link AgentException}
+     * if {@code backupDataFile} has any protected keys, also crashing the app.
      */
-    private boolean validateBackupData(
-            @Nullable ApplicationInfo applicationInfo, File backupDataFile) throws IOException {
+    private void checkBackupData(@Nullable ApplicationInfo applicationInfo, File backupDataFile)
+            throws IOException, AgentException {
         if (applicationInfo == null || (applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
             // System apps and pseudo-apps can write what they want.
-            return true;
+            return;
         }
         try (ParcelFileDescriptor backupData =
-                     ParcelFileDescriptor.open(backupDataFile, MODE_READ_ONLY)) {
+                ParcelFileDescriptor.open(backupDataFile, MODE_READ_ONLY)) {
             BackupDataInput backupDataInput = new BackupDataInput(backupData.getFileDescriptor());
             while (backupDataInput.readNextHeader()) {
                 String key = backupDataInput.getKey();
@@ -928,12 +926,11 @@
                     mReporter.onAgentIllegalKey(mCurrentPackage, key);
                     // Crash them if they wrote any protected keys.
                     agentFail(mAgent, "Illegal backup key: " + key);
-                    return false;
+                    throw AgentException.permanent();
                 }
                 backupDataInput.skipEntityData();
             }
         }
-        return true;
     }
 
     private int getPerformBackupFlags(boolean userInitiated, boolean nonIncremental) {
@@ -1009,44 +1006,39 @@
         }
     }
 
-    /** Cleans-up after having called the agent. */
+    /**
+     * Cleans up agent resources opened by {@link #extractAgentData(PackageInfo)} for exceptional
+     * case.
+     *
+     * <p>Note: Declaring exception parameter so that the caller only calls this when an exception
+     * is thrown.
+     */
+    private void cleanUpAgentForError(BackupException exception) {
+        cleanUpAgent(StateTransaction.DISCARD_NEW);
+    }
+
+    /**
+     * Cleans up agent resources opened by {@link #extractAgentData(PackageInfo)} according to
+     * transport status returned in {@link #sendDataToTransport(PackageInfo)}.
+     */
     private void cleanUpAgentForTransportStatus(int status) {
-        updateFiles(status);
-        cleanUpAgent();
-    }
-
-    /** Cleans-up if we failed to call the agent. */
-    private void cleanUpAgentForAgentError() {
-        mBackupDataFile.delete();
-        mNewStateFile.delete();
-        cleanUpAgent();
-    }
-
-    private void updateFiles(int status) {
         switch (status) {
             case BackupTransport.TRANSPORT_OK:
-                mBackupDataFile.delete();
-                mNewStateFile.renameTo(mSavedStateFile);
+                cleanUpAgent(StateTransaction.COMMIT_NEW);
                 break;
             case BackupTransport.TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED:
-                mSavedStateFile.delete();
-                mBackupDataFile.delete();
-                mNewStateFile.delete();
+                cleanUpAgent(StateTransaction.DISCARD_ALL);
                 break;
             default:
-                // Includes:
-                // * BackupTransport.TRANSPORT_PACKAGE_REJECTED
-                // * BackupTransport.TRANSPORT_QUOTA_EXCEEDED
-                // * BackupTransport.TRANSPORT_ERROR
-                mBackupDataFile.delete();
-                mNewStateFile.delete();
-                break;
+                // All other transport statuses are properly converted to agent or task exceptions.
+                throw new AssertionError();
         }
     }
 
-    /** Cleans-up file-descriptors and unbinds agent. */
-    private void cleanUpAgent() {
-        mAgent = null;
+    private void cleanUpAgent(@StateTransaction int stateTransaction) {
+        applyStateTransaction(stateTransaction);
+        mBackupDataFile.delete();
+        mBlankStateFile.delete();
         tryCloseFileDescriptor(mSavedState, "old state");
         tryCloseFileDescriptor(mBackupData, "backup data");
         tryCloseFileDescriptor(mNewState, "new state");
@@ -1058,6 +1050,24 @@
         if (mCurrentPackage.applicationInfo != null) {
             mBackupManagerService.unbindAgent(mCurrentPackage.applicationInfo);
         }
+        mAgent = null;
+    }
+
+    private void applyStateTransaction(@StateTransaction int stateTransaction) {
+        switch (stateTransaction) {
+            case StateTransaction.COMMIT_NEW:
+                mNewStateFile.renameTo(mSavedStateFile);
+                break;
+            case StateTransaction.DISCARD_NEW:
+                mNewStateFile.delete();
+                break;
+            case StateTransaction.DISCARD_ALL:
+                mSavedStateFile.delete();
+                mNewStateFile.delete();
+                break;
+            default:
+                throw new IllegalArgumentException("Unknown state transaction " + stateTransaction);
+        }
     }
 
     private void tryCloseFileDescriptor(@Nullable Closeable closeable, String logName) {
@@ -1079,4 +1089,16 @@
         mPendingCall = null;
         return result;
     }
+
+    @IntDef({
+        StateTransaction.COMMIT_NEW,
+        StateTransaction.DISCARD_NEW,
+        StateTransaction.DISCARD_ALL,
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    private @interface StateTransaction {
+        int COMMIT_NEW = 0;
+        int DISCARD_NEW = 1;
+        int DISCARD_ALL = 2;
+    }
 }
diff --git a/services/backup/java/com/android/server/backup/keyvalue/TaskException.java b/services/backup/java/com/android/server/backup/keyvalue/TaskException.java
new file mode 100644
index 0000000..08d2895
--- /dev/null
+++ b/services/backup/java/com/android/server/backup/keyvalue/TaskException.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.server.backup.keyvalue;
+
+import android.app.backup.BackupTransport;
+
+import com.android.internal.util.Preconditions;
+
+/**
+ * The key-value backup task has failed, no more packages will be processed and we shouldn't attempt
+ * any more backups now. These can be caused by transport failures (as opposed to agent failures).
+ *
+ * @see KeyValueBackupTask
+ * @see AgentException
+ */
+class TaskException extends BackupException {
+    private static final int DEFAULT_STATUS = BackupTransport.TRANSPORT_ERROR;
+
+    static TaskException stateCompromised() {
+        return new TaskException(/* stateCompromised */ true, DEFAULT_STATUS);
+    }
+
+    static TaskException stateCompromised(Exception cause) {
+        if (cause instanceof TaskException) {
+            TaskException exception = (TaskException) cause;
+            return new TaskException(cause, /* stateCompromised */ true, exception.getStatus());
+        }
+        return new TaskException(cause, /* stateCompromised */ true, DEFAULT_STATUS);
+    }
+
+    static TaskException forStatus(int status) {
+        Preconditions.checkArgument(
+                status != BackupTransport.TRANSPORT_OK, "Exception based on TRANSPORT_OK");
+        return new TaskException(/* stateCompromised */ false, status);
+    }
+
+    static TaskException causedBy(Exception cause) {
+        if (cause instanceof TaskException) {
+            return (TaskException) cause;
+        }
+        return new TaskException(cause, /* stateCompromised */ false, DEFAULT_STATUS);
+    }
+
+    static TaskException create() {
+        return new TaskException(/* stateCompromised */ false, DEFAULT_STATUS);
+    }
+
+    private final boolean mStateCompromised;
+    private final int mStatus;
+
+    private TaskException(Exception cause, boolean stateCompromised, int status) {
+        super(cause);
+        mStateCompromised = stateCompromised;
+        mStatus = status;
+    }
+
+    private TaskException(boolean stateCompromised, int status) {
+        mStateCompromised = stateCompromised;
+        mStatus = status;
+    }
+
+    boolean isStateCompromised() {
+        return mStateCompromised;
+    }
+
+    int getStatus() {
+        return mStatus;
+    }
+}
diff --git a/services/backup/java/com/android/server/backup/utils/AppBackupUtils.java b/services/backup/java/com/android/server/backup/utils/AppBackupUtils.java
index 9af952d..c933833 100644
--- a/services/backup/java/com/android/server/backup/utils/AppBackupUtils.java
+++ b/services/backup/java/com/android/server/backup/utils/AppBackupUtils.java
@@ -105,7 +105,7 @@
                 try {
                     IBackupTransport transport =
                             transportClient.connectOrThrow(
-                                    "AppBackupUtils.appIsEligibleForBackupAtRuntime");
+                                    "AppBackupUtils.appIsRunningAndEligibleForBackupWithTransport");
                     return transport.isAppEligibleForBackup(
                             packageInfo, AppBackupUtils.appGetsFullBackup(packageInfo));
                 } catch (Exception e) {
diff --git a/services/core/java/com/android/server/AlarmManagerService.java b/services/core/java/com/android/server/AlarmManagerService.java
index 499c03d..ad2f82c 100644
--- a/services/core/java/com/android/server/AlarmManagerService.java
+++ b/services/core/java/com/android/server/AlarmManagerService.java
@@ -81,6 +81,7 @@
 import android.util.SparseArray;
 import android.util.SparseBooleanArray;
 import android.util.SparseLongArray;
+import android.util.StatsLog;
 import android.util.TimeUtils;
 import android.util.proto.ProtoOutputStream;
 
@@ -3637,6 +3638,8 @@
                         if (DEBUG_BATCH) {
                             Slog.v(TAG, "Time changed notification from kernel; rebatching");
                         }
+                        // StatsLog requires currentTimeMillis(), which == nowRTC to within usecs.
+                        StatsLog.write(StatsLog.WALL_CLOCK_TIME_SHIFTED, nowRTC);
                         removeImpl(mTimeTickSender);
                         removeImpl(mDateChangeSender);
                         rebatchAllAlarms();
diff --git a/services/core/java/com/android/server/AppOpsService.java b/services/core/java/com/android/server/AppOpsService.java
index 998e441..c2aec29 100644
--- a/services/core/java/com/android/server/AppOpsService.java
+++ b/services/core/java/com/android/server/AppOpsService.java
@@ -16,6 +16,15 @@
 
 package com.android.server;
 
+import static android.app.AppOpsManager.UID_STATE_BACKGROUND;
+import static android.app.AppOpsManager.UID_STATE_CACHED;
+import static android.app.AppOpsManager.UID_STATE_FOREGROUND;
+import static android.app.AppOpsManager.UID_STATE_FOREGROUND_SERVICE;
+import static android.app.AppOpsManager.UID_STATE_LAST_NON_RESTRICTED;
+import static android.app.AppOpsManager.UID_STATE_PERSISTENT;
+import static android.app.AppOpsManager.UID_STATE_TOP;
+import static android.app.AppOpsManager._NUM_UID_STATE;
+
 import android.Manifest;
 import android.app.ActivityManager;
 import android.app.ActivityThread;
@@ -98,15 +107,6 @@
 import java.util.List;
 import java.util.Map;
 
-import static android.app.AppOpsManager._NUM_UID_STATE;
-import static android.app.AppOpsManager.UID_STATE_BACKGROUND;
-import static android.app.AppOpsManager.UID_STATE_CACHED;
-import static android.app.AppOpsManager.UID_STATE_FOREGROUND;
-import static android.app.AppOpsManager.UID_STATE_FOREGROUND_SERVICE;
-import static android.app.AppOpsManager.UID_STATE_LAST_NON_RESTRICTED;
-import static android.app.AppOpsManager.UID_STATE_PERSISTENT;
-import static android.app.AppOpsManager.UID_STATE_TOP;
-
 public class AppOpsService extends IAppOpsService.Stub {
     static final String TAG = "AppOps";
     static final boolean DEBUG = false;
@@ -1016,7 +1016,7 @@
                     scheduleWriteLocked();
                 }
             } else {
-                if (uidState.opModes.get(code) == mode) {
+                if (uidState.opModes.indexOfKey(code) >= 0 && uidState.opModes.get(code) == mode) {
                     return;
                 }
                 if (mode == defaultMode) {
@@ -1971,6 +1971,7 @@
                             continue;
                         }
                         boolean doAllPackages = uidState.opModes != null
+                                && uidState.opModes.indexOfKey(code) >= 0
                                 && uidState.opModes.get(code) == AppOpsManager.MODE_FOREGROUND;
                         if (uidState.pkgOps != null) {
                             for (int pkgi = uidState.pkgOps.size() - 1; pkgi >= 0; pkgi--) {
diff --git a/services/core/java/com/android/server/BinderCallsStatsService.java b/services/core/java/com/android/server/BinderCallsStatsService.java
index 15673a7..872261a 100644
--- a/services/core/java/com/android/server/BinderCallsStatsService.java
+++ b/services/core/java/com/android/server/BinderCallsStatsService.java
@@ -118,10 +118,22 @@
             this.mBinderCallsStats = binderCallsStats;
         }
 
+        /** @see BinderCallsStats#reset */
+        public void reset() {
+            mBinderCallsStats.reset();
+        }
+
+        /**
+         * @see BinderCallsStats#getExportedCallStats.
+         *
+         * Note that binder calls stats will be reset by statsd every time
+         * the data is exported.
+         */
         public ArrayList<BinderCallsStats.ExportedCallStat> getExportedCallStats() {
             return mBinderCallsStats.getExportedCallStats();
         }
 
+        /** @see BinderCallsStats#getExportedExceptionStats */
         public ArrayMap<String, Integer> getExportedExceptionStats() {
             return mBinderCallsStats.getExportedExceptionStats();
         }
@@ -190,6 +202,15 @@
                     reset();
                     pw.println("binder_calls_stats reset.");
                     return;
+                } else if ("--enable".equals(arg)) {
+                    Binder.setObserver(mBinderCallsStats);
+                    return;
+                } else if ("--disable".equals(arg)) {
+                    Binder.setObserver(null);
+                    return;
+                } else if ("--no-sampling".equals(arg)) {
+                    mBinderCallsStats.setSamplingInterval(1);
+                    return;
                 } else if ("--enable-detailed-tracking".equals(arg)) {
                     SystemProperties.set(PERSIST_SYS_BINDER_CALLS_DETAILED_TRACKING, "1");
                     mBinderCallsStats.setDetailedTracking(true);
@@ -203,6 +224,9 @@
                 } else if ("-h".equals(arg)) {
                     pw.println("binder_calls_stats commands:");
                     pw.println("  --reset: Reset stats");
+                    pw.println("  --enable: Enable tracking binder calls");
+                    pw.println("  --disable: Disables tracking binder calls");
+                    pw.println("  --no-sampling: Tracks all calls");
                     pw.println("  --enable-detailed-tracking: Enables detailed tracking");
                     pw.println("  --disable-detailed-tracking: Disables detailed tracking");
                     return;
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index 7602090..a1989e5 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -35,6 +35,9 @@
 import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_VPN;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED;
 import static android.net.NetworkCapabilities.TRANSPORT_VPN;
+import static android.os.Process.INVALID_UID;
+import static android.system.OsConstants.IPPROTO_TCP;
+import static android.system.OsConstants.IPPROTO_UDP;
 
 import static com.android.internal.util.Preconditions.checkNotNull;
 
@@ -49,10 +52,12 @@
 import android.content.IntentFilter;
 import android.content.res.Configuration;
 import android.database.ContentObserver;
+import android.net.ConnectionInfo;
 import android.net.ConnectivityManager;
 import android.net.ConnectivityManager.PacketKeepalive;
 import android.net.IConnectivityManager;
 import android.net.IIpConnectivityMetrics;
+import android.net.INetd;
 import android.net.INetdEventCallback;
 import android.net.INetworkManagementEventObserver;
 import android.net.INetworkPolicyListener;
@@ -75,7 +80,6 @@
 import android.net.NetworkState;
 import android.net.NetworkUtils;
 import android.net.NetworkWatchlistManager;
-import android.net.Proxy;
 import android.net.ProxyInfo;
 import android.net.RouteInfo;
 import android.net.UidRange;
@@ -83,7 +87,9 @@
 import android.net.VpnService;
 import android.net.metrics.IpConnectivityLog;
 import android.net.metrics.NetworkEvent;
+import android.net.netlink.InetDiagMessage;
 import android.net.util.MultinetworkPolicyTracker;
+import android.net.util.NetdService;
 import android.os.Binder;
 import android.os.Build;
 import android.os.Bundle;
@@ -153,7 +159,6 @@
 import com.android.server.connectivity.NetworkMonitor;
 import com.android.server.connectivity.NetworkNotificationManager;
 import com.android.server.connectivity.NetworkNotificationManager.NotificationType;
-import com.android.server.connectivity.PacManager;
 import com.android.server.connectivity.PermissionMonitor;
 import com.android.server.connectivity.ProxyTracker;
 import com.android.server.connectivity.Tethering;
@@ -256,7 +261,8 @@
     // 0 is full bad, 100 is full good
     private int mDefaultInetConditionPublished = 0;
 
-    private INetworkManagementService mNetd;
+    private INetworkManagementService mNMS;
+    private INetd mNetd;
     private INetworkStatsService mStatsService;
     private INetworkPolicyManager mPolicyManager;
     private NetworkPolicyManagerInternal mPolicyManagerInternal;
@@ -756,7 +762,7 @@
         mLingerDelayMs = mSystemProperties.getInt(LINGER_DELAY_PROPERTY, DEFAULT_LINGER_DELAY_MS);
 
         mContext = checkNotNull(context, "missing Context");
-        mNetd = checkNotNull(netManager, "missing INetworkManagementService");
+        mNMS = checkNotNull(netManager, "missing INetworkManagementService");
         mStatsService = checkNotNull(statsService, "missing INetworkStatsService");
         mPolicyManager = checkNotNull(policyManager, "missing INetworkPolicyManager");
         mPolicyManagerInternal = checkNotNull(
@@ -764,6 +770,7 @@
                 "missing NetworkPolicyManagerInternal");
         mProxyTracker = new ProxyTracker(context, mHandler, EVENT_PROXY_HAS_CHANGED);
 
+        mNetd = NetdService.getInstance();
         mKeyStore = KeyStore.getInstance();
         mTelephonyManager = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
 
@@ -846,7 +853,7 @@
 
         mTethering = makeTethering();
 
-        mPermissionMonitor = new PermissionMonitor(mContext, mNetd);
+        mPermissionMonitor = new PermissionMonitor(mContext, mNMS);
 
         //set up the listener for user state for creating user VPNs
         IntentFilter intentFilter = new IntentFilter();
@@ -861,8 +868,8 @@
                 new IntentFilter(Intent.ACTION_USER_PRESENT), null, null);
 
         try {
-            mNetd.registerObserver(mTethering);
-            mNetd.registerObserver(mDataActivityObserver);
+            mNMS.registerObserver(mTethering);
+            mNMS.registerObserver(mDataActivityObserver);
         } catch (RemoteException e) {
             loge("Error registering observer :" + e);
         }
@@ -893,7 +900,7 @@
 
         mMultipathPolicyTracker = new MultipathPolicyTracker(mContext, mHandler);
 
-        mDnsManager = new DnsManager(mContext, mNetd, mSystemProperties);
+        mDnsManager = new DnsManager(mContext, mNMS, mSystemProperties);
         registerPrivateDnsSettingsCallbacks();
     }
 
@@ -909,7 +916,7 @@
                 return mDefaultRequest;
             }
         };
-        return new Tethering(mContext, mNetd, mStatsService, mPolicyManager,
+        return new Tethering(mContext, mNMS, mStatsService, mPolicyManager,
                 IoThread.get().getLooper(), new MockableSystemProperties(),
                 deps);
     }
@@ -1473,6 +1480,20 @@
     };
 
     /**
+     * Ensures that the system cannot call a particular method.
+     */
+    private boolean disallowedBecauseSystemCaller() {
+        // TODO: start throwing a SecurityException when GnssLocationProvider stops calling
+        // requestRouteToHost.
+        if (isSystem(Binder.getCallingUid())) {
+            log("This method exists only for app backwards compatibility"
+                    + " and must not be called by system services.");
+            return true;
+        }
+        return false;
+    }
+
+    /**
      * Ensure that a network route exists to deliver traffic to the specified
      * host via the specified network interface.
      * @param networkType the type of the network over which traffic to the
@@ -1483,6 +1504,9 @@
      */
     @Override
     public boolean requestRouteToHostAddress(int networkType, byte[] hostAddress) {
+        if (disallowedBecauseSystemCaller()) {
+            return false;
+        }
         enforceChangePermission();
         if (mProtectedNetworks.contains(networkType)) {
             enforceConnectivityInternalPermission();
@@ -1560,7 +1584,7 @@
         if (DBG) log("Adding legacy route " + bestRoute +
                 " for UID/PID " + uid + "/" + Binder.getCallingPid());
         try {
-            mNetd.addLegacyRouteForNetId(netId, bestRoute, uid);
+            mNMS.addLegacyRouteForNetId(netId, bestRoute, uid);
         } catch (Exception e) {
             // never crash - catch them all
             if (DBG) loge("Exception trying to add a route: " + e);
@@ -1680,6 +1704,11 @@
                 "ConnectivityService");
     }
 
+    private boolean checkNetworkStackPermission() {
+        return PERMISSION_GRANTED == mContext.checkCallingOrSelfPermission(
+                android.Manifest.permission.NETWORK_STACK);
+    }
+
     private void enforceConnectivityRestrictedNetworksPermission() {
         try {
             mContext.enforceCallingOrSelfPermission(
@@ -1845,7 +1874,7 @@
 
         if (timeout > 0 && iface != null && type != ConnectivityManager.TYPE_NONE) {
             try {
-                mNetd.addIdleTimer(iface, timeout, type);
+                mNMS.addIdleTimer(iface, timeout, type);
             } catch (Exception e) {
                 // You shall not crash!
                 loge("Exception in setupDataActivityTracking " + e);
@@ -1864,7 +1893,7 @@
                               caps.hasTransport(NetworkCapabilities.TRANSPORT_WIFI))) {
             try {
                 // the call fails silently if no idle timer setup for this interface
-                mNetd.removeIdleTimer(iface);
+                mNMS.removeIdleTimer(iface);
             } catch (Exception e) {
                 loge("Exception in removeDataActivityTracking " + e);
             }
@@ -1872,6 +1901,18 @@
     }
 
     /**
+     * Update data activity tracking when network state is updated.
+     */
+    private void updateDataActivityTracking(NetworkAgentInfo newNetwork,
+            NetworkAgentInfo oldNetwork) {
+        if (newNetwork != null) {
+            setupDataActivityTracking(newNetwork);
+        }
+        if (oldNetwork != null) {
+            removeDataActivityTracking(oldNetwork);
+        }
+    }
+    /**
      * Reads the network specific MTU size from resources.
      * and set it on it's iface.
      */
@@ -1899,7 +1940,7 @@
 
         try {
             if (VDBG) log("Setting MTU size: " + iface + ", " + mtu);
-            mNetd.setMtu(iface, mtu);
+            mNMS.setMtu(iface, mtu);
         } catch (Exception e) {
             Slog.e(TAG, "exception in setMtu()" + e);
         }
@@ -2553,7 +2594,7 @@
         }
         nai.clearLingerState();
         if (nai.isSatisfyingRequest(mDefaultRequest.requestId)) {
-            removeDataActivityTracking(nai);
+            updateDataActivityTracking(null /* newNetwork */, nai);
             notifyLockdownVpn(nai);
             ensureNetworkTransitionWakelock(nai.name());
         }
@@ -2573,7 +2614,7 @@
             // NetworkFactories, so network traffic isn't interrupted for an unnecessarily
             // long time.
             try {
-                mNetd.removeNetwork(nai.network.netId);
+                mNMS.removeNetwork(nai.network.netId);
             } catch (Exception e) {
                 loge("Exception removing network: " + e);
             }
@@ -2771,20 +2812,6 @@
                 }
             }
 
-            // TODO: remove this code once we know that the Slog.wtf is never hit.
-            //
-            // Find all networks that are satisfying this request and remove the request
-            // from their request lists.
-            // TODO - it's my understanding that for a request there is only a single
-            // network satisfying it, so this loop is wasteful
-            for (NetworkAgentInfo otherNai : mNetworkAgentInfos.values()) {
-                if (otherNai.isSatisfyingRequest(nri.request.requestId) && otherNai != nai) {
-                    Slog.wtf(TAG, "Request " + nri.request + " satisfied by " +
-                            otherNai.name() + ", but mNetworkAgentInfos says " +
-                            (nai != null ? nai.name() : "null"));
-                }
-            }
-
             // Maintain the illusion.  When this request arrived, we might have pretended
             // that a network connected to serve it, even though the network was already
             // connected.  Now that this request has gone away, we might have to pretend
@@ -3752,7 +3779,7 @@
                     Slog.w(TAG, "VPN for user " + user + " not ready yet. Skipping lockdown");
                     return false;
                 }
-                setLockdownTracker(new LockdownVpnTracker(mContext, mNetd, this, vpn, profile));
+                setLockdownTracker(new LockdownVpnTracker(mContext, mNMS, this, vpn, profile));
             } else {
                 setLockdownTracker(null);
             }
@@ -4007,7 +4034,7 @@
                 loge("Starting user already has a VPN");
                 return;
             }
-            userVpn = new Vpn(mHandler.getLooper(), mContext, mNetd, userId);
+            userVpn = new Vpn(mHandler.getLooper(), mContext, mNMS, userId);
             mVpns.put(userId, userVpn);
             if (mUserManager.getUserInfo(userId).isPrimary() && LockdownVpnTracker.isEnabled()) {
                 updateLockdownVpn();
@@ -4624,7 +4651,7 @@
         mDnsManager.updatePrivateDnsStatus(netId, newLp);
 
         // Start or stop clat accordingly to network state.
-        networkAgent.updateClat(mNetd);
+        networkAgent.updateClat(mNMS);
         if (isDefaultNetwork(networkAgent)) {
             handleApplyDefaultProxy(newLp.getHttpProxy());
         } else {
@@ -4663,9 +4690,9 @@
         final String prefix = "iface:" + iface;
         try {
             if (add) {
-                mNetd.getNetdService().wakeupAddInterface(iface, prefix, mark, mask);
+                mNetd.wakeupAddInterface(iface, prefix, mark, mask);
             } else {
-                mNetd.getNetdService().wakeupDelInterface(iface, prefix, mark, mask);
+                mNetd.wakeupDelInterface(iface, prefix, mark, mask);
             }
         } catch (Exception e) {
             loge("Exception modifying wakeup packet monitoring: " + e);
@@ -4681,7 +4708,7 @@
         for (String iface : interfaceDiff.added) {
             try {
                 if (DBG) log("Adding iface " + iface + " to network " + netId);
-                mNetd.addInterfaceToNetwork(iface, netId);
+                mNMS.addInterfaceToNetwork(iface, netId);
                 wakeupModifyInterface(iface, caps, true);
             } catch (Exception e) {
                 loge("Exception adding interface: " + e);
@@ -4691,7 +4718,7 @@
             try {
                 if (DBG) log("Removing iface " + iface + " from network " + netId);
                 wakeupModifyInterface(iface, caps, false);
-                mNetd.removeInterfaceFromNetwork(iface, netId);
+                mNMS.removeInterfaceFromNetwork(iface, netId);
             } catch (Exception e) {
                 loge("Exception removing interface: " + e);
             }
@@ -4715,7 +4742,7 @@
             if (route.hasGateway()) continue;
             if (VDBG) log("Adding Route [" + route + "] to network " + netId);
             try {
-                mNetd.addRoute(netId, route);
+                mNMS.addRoute(netId, route);
             } catch (Exception e) {
                 if ((route.getDestination().getAddress() instanceof Inet4Address) || VDBG) {
                     loge("Exception in addRoute for non-gateway: " + e);
@@ -4726,7 +4753,7 @@
             if (route.hasGateway() == false) continue;
             if (VDBG) log("Adding Route [" + route + "] to network " + netId);
             try {
-                mNetd.addRoute(netId, route);
+                mNMS.addRoute(netId, route);
             } catch (Exception e) {
                 if ((route.getGateway() instanceof Inet4Address) || VDBG) {
                     loge("Exception in addRoute for gateway: " + e);
@@ -4737,7 +4764,7 @@
         for (RouteInfo route : routeDiff.removed) {
             if (VDBG) log("Removing Route [" + route + "] from network " + netId);
             try {
-                mNetd.removeRoute(netId, route);
+                mNMS.removeRoute(netId, route);
             } catch (Exception e) {
                 loge("Exception in removeRoute: " + e);
             }
@@ -4849,7 +4876,7 @@
         final String newPermission = getNetworkPermission(newNc);
         if (!Objects.equals(oldPermission, newPermission) && nai.created && !nai.isVPN()) {
             try {
-                mNetd.setNetworkPermission(nai.network.netId, newPermission);
+                mNMS.setNetworkPermission(nai.network.netId, newPermission);
             } catch (RemoteException e) {
                 loge("Exception in setNetworkPermission: " + e);
             }
@@ -4909,12 +4936,12 @@
             if (!newRanges.isEmpty()) {
                 final UidRange[] addedRangesArray = new UidRange[newRanges.size()];
                 newRanges.toArray(addedRangesArray);
-                mNetd.addVpnUidRanges(nai.network.netId, addedRangesArray);
+                mNMS.addVpnUidRanges(nai.network.netId, addedRangesArray);
             }
             if (!prevRanges.isEmpty()) {
                 final UidRange[] removedRangesArray = new UidRange[prevRanges.size()];
                 prevRanges.toArray(removedRangesArray);
-                mNetd.removeVpnUidRanges(nai.network.netId, removedRangesArray);
+                mNMS.removeVpnUidRanges(nai.network.netId, removedRangesArray);
             }
         } catch (Exception e) {
             // Never crash!
@@ -5083,9 +5110,9 @@
 
     private void makeDefault(NetworkAgentInfo newNetwork) {
         if (DBG) log("Switching to new default network: " + newNetwork);
-        setupDataActivityTracking(newNetwork);
+
         try {
-            mNetd.setDefaultNetId(newNetwork.network.netId);
+            mNMS.setDefaultNetId(newNetwork.network.netId);
         } catch (Exception e) {
             loge("Exception setting default network :" + e);
         }
@@ -5258,6 +5285,7 @@
             }
         }
         if (isNewDefault) {
+            updateDataActivityTracking(newNetwork, oldDefaultNetwork);
             // Notify system services that this network is up.
             makeDefault(newNetwork);
             // Log 0 -> X and Y -> X default network transitions, where X is the new default.
@@ -5480,12 +5508,12 @@
             try {
                 // This should never fail.  Specifying an already in use NetID will cause failure.
                 if (networkAgent.isVPN()) {
-                    mNetd.createVirtualNetwork(networkAgent.network.netId,
+                    mNMS.createVirtualNetwork(networkAgent.network.netId,
                             !networkAgent.linkProperties.getDnsServers().isEmpty(),
                             (networkAgent.networkMisc == null ||
                                 !networkAgent.networkMisc.allowBypass));
                 } else {
-                    mNetd.createPhysicalNetwork(networkAgent.network.netId,
+                    mNMS.createPhysicalNetwork(networkAgent.network.netId,
                             getNetworkPermission(networkAgent.networkCapabilities));
                 }
             } catch (Exception e) {
@@ -5922,4 +5950,49 @@
             pw.println("    Get airplane mode.");
         }
     }
+
+    /**
+     * Caller either needs to be an active VPN, or hold the NETWORK_STACK permission
+     * for testing.
+     */
+    private Vpn enforceActiveVpnOrNetworkStackPermission() {
+        if (checkNetworkStackPermission()) {
+            return null;
+        }
+        final int uid = Binder.getCallingUid();
+        final int user = UserHandle.getUserId(uid);
+        synchronized (mVpns) {
+            Vpn vpn = mVpns.get(user);
+            try {
+                if (vpn.getVpnInfo().ownerUid == uid) return vpn;
+            } catch (NullPointerException e) {
+                /* vpn is null, or VPN is not connected and getVpnInfo() is null. */
+            }
+        }
+        throw new SecurityException("App must either be an active VPN or have the NETWORK_STACK "
+                + "permission");
+    }
+
+    /**
+     * @param connectionInfo the connection to resolve.
+     * @return {@code uid} if the connection is found and the app has permission to observe it
+     * (e.g., if it is associated with the calling VPN app's tunnel) or {@code INVALID_UID} if the
+     * connection is not found.
+     */
+    public int getConnectionOwnerUid(ConnectionInfo connectionInfo) {
+        final Vpn vpn = enforceActiveVpnOrNetworkStackPermission();
+        if (connectionInfo.protocol != IPPROTO_TCP && connectionInfo.protocol != IPPROTO_UDP) {
+            throw new IllegalArgumentException("Unsupported protocol " + connectionInfo.protocol);
+        }
+
+        final int uid = InetDiagMessage.getConnectionOwnerUid(connectionInfo.protocol,
+                connectionInfo.local, connectionInfo.remote);
+
+        /* Filter out Uids not associated with the VPN. */
+        if (vpn != null && !vpn.appliesToUid(uid)) {
+            return INVALID_UID;
+        }
+
+        return uid;
+    }
 }
diff --git a/services/core/java/com/android/server/HardwarePropertiesManagerService.java b/services/core/java/com/android/server/HardwarePropertiesManagerService.java
index 4016d29..e21a3d7 100644
--- a/services/core/java/com/android/server/HardwarePropertiesManagerService.java
+++ b/services/core/java/com/android/server/HardwarePropertiesManagerService.java
@@ -26,7 +26,6 @@
 import static android.os.HardwarePropertiesManager.TEMPERATURE_THROTTLING_BELOW_VR_MIN;
 
 import android.Manifest;
-import android.app.ActivityManager;
 import android.app.AppOpsManager;
 import android.app.admin.DevicePolicyManager;
 import android.content.Context;
@@ -34,8 +33,8 @@
 import android.os.Binder;
 import android.os.CpuUsageInfo;
 import android.os.IHardwarePropertiesManager;
-import android.os.Process;
 import android.os.UserHandle;
+
 import com.android.internal.util.DumpUtils;
 import com.android.server.vr.VrManagerInternal;
 
@@ -166,11 +165,11 @@
         final VrManagerInternal vrService = LocalServices.getService(VrManagerInternal.class);
         final DevicePolicyManager dpm = mContext.getSystemService(DevicePolicyManager.class);
         if (!dpm.isDeviceOwnerApp(callingPackage)
-                && !vrService.isCurrentVrListener(callingPackage, userId)
                 && mContext.checkCallingOrSelfPermission(Manifest.permission.DEVICE_POWER)
-                        != PackageManager.PERMISSION_GRANTED) {
-            throw new SecurityException("The caller is not a device owner, bound VrListenerService"
-                + ", or holding the DEVICE_POWER permission.");
+                        != PackageManager.PERMISSION_GRANTED
+                && (vrService == null || !vrService.isCurrentVrListener(callingPackage, userId))) {
+            throw new SecurityException("The caller is neither a device owner"
+                + ", nor holding the DEVICE_POWER permission, nor the current VrListener.");
         }
     }
 }
diff --git a/services/core/java/com/android/server/IpSecService.java b/services/core/java/com/android/server/IpSecService.java
index 01e8152..a69d416 100644
--- a/services/core/java/com/android/server/IpSecService.java
+++ b/services/core/java/com/android/server/IpSecService.java
@@ -612,7 +612,7 @@
                 mSrvConfig
                         .getNetdInstance()
                         .ipSecDeleteSecurityAssociation(
-                                mResourceId,
+                                uid,
                                 mConfig.getSourceAddress(),
                                 mConfig.getDestinationAddress(),
                                 spi,
@@ -679,7 +679,7 @@
                     mSrvConfig
                             .getNetdInstance()
                             .ipSecDeleteSecurityAssociation(
-                                    mResourceId, mSourceAddress, mDestinationAddress, mSpi, 0, 0);
+                                    uid, mSourceAddress, mDestinationAddress, mSpi, 0, 0);
                 }
             } catch (ServiceSpecificException | RemoteException e) {
                 Log.e(TAG, "Failed to delete SPI reservation with ID: " + mResourceId, e);
@@ -821,13 +821,13 @@
 
                 for (int selAddrFamily : ADDRESS_FAMILIES) {
                     netd.ipSecDeleteSecurityPolicy(
-                            0,
+                            uid,
                             selAddrFamily,
                             IpSecManager.DIRECTION_OUT,
                             mOkey,
                             0xffffffff);
                     netd.ipSecDeleteSecurityPolicy(
-                            0,
+                            uid,
                             selAddrFamily,
                             IpSecManager.DIRECTION_IN,
                             mIkey,
@@ -1083,7 +1083,8 @@
         }
         checkNotNull(binder, "Null Binder passed to allocateSecurityParameterIndex");
 
-        UserRecord userRecord = mUserResourceTracker.getUserRecord(Binder.getCallingUid());
+        int callingUid = Binder.getCallingUid();
+        UserRecord userRecord = mUserResourceTracker.getUserRecord(callingUid);
         final int resourceId = mNextResourceId++;
 
         int spi = IpSecManager.INVALID_SECURITY_PARAMETER_INDEX;
@@ -1096,7 +1097,7 @@
             spi =
                     mSrvConfig
                             .getNetdInstance()
-                            .ipSecAllocateSpi(resourceId, "", destinationAddress, requestedSpi);
+                            .ipSecAllocateSpi(callingUid, "", destinationAddress, requestedSpi);
             Log.d(TAG, "Allocated SPI " + spi);
             userRecord.mSpiRecords.put(
                     resourceId,
@@ -1264,7 +1265,8 @@
         // TODO: Check that underlying network exists, and IP addresses not assigned to a different
         //       network (b/72316676).
 
-        UserRecord userRecord = mUserResourceTracker.getUserRecord(Binder.getCallingUid());
+        int callerUid = Binder.getCallingUid();
+        UserRecord userRecord = mUserResourceTracker.getUserRecord(callerUid);
         if (!userRecord.mTunnelQuotaTracker.isAvailable()) {
             return new IpSecTunnelInterfaceResponse(IpSecManager.Status.RESOURCE_UNAVAILABLE);
         }
@@ -1285,7 +1287,7 @@
             for (int selAddrFamily : ADDRESS_FAMILIES) {
                 // Always send down correct local/remote addresses for template.
                 netd.ipSecAddSecurityPolicy(
-                        0, // Use 0 for reqId
+                        callerUid,
                         selAddrFamily,
                         IpSecManager.DIRECTION_OUT,
                         localAddr,
@@ -1294,7 +1296,7 @@
                         okey,
                         0xffffffff);
                 netd.ipSecAddSecurityPolicy(
-                        0, // Use 0 for reqId
+                        callerUid,
                         selAddrFamily,
                         IpSecManager.DIRECTION_IN,
                         remoteAddr,
@@ -1488,23 +1490,19 @@
         }
     }
 
-    private static final String TUNNEL_OP = "STOPSHIP"; // = AppOpsManager.OP_MANAGE_IPSEC_TUNNELS;
+    private static final String TUNNEL_OP = AppOpsManager.OPSTR_MANAGE_IPSEC_TUNNELS;
 
     private void enforceTunnelPermissions(String callingPackage) {
         checkNotNull(callingPackage, "Null calling package cannot create IpSec tunnels");
-        if (false) { // STOPSHIP if this line is present
-            switch (getAppOpsManager().noteOp(
-                        TUNNEL_OP,
-                        Binder.getCallingUid(), callingPackage)) {
-                case AppOpsManager.MODE_DEFAULT:
-                    mContext.enforceCallingOrSelfPermission(
-                            android.Manifest.permission.MANAGE_IPSEC_TUNNELS, "IpSecService");
-                    break;
-                case AppOpsManager.MODE_ALLOWED:
-                    return;
-                default:
-                    throw new SecurityException("Request to ignore AppOps for non-legacy API");
-            }
+        switch (getAppOpsManager().noteOp(TUNNEL_OP, Binder.getCallingUid(), callingPackage)) {
+            case AppOpsManager.MODE_DEFAULT:
+                mContext.enforceCallingOrSelfPermission(
+                        android.Manifest.permission.MANAGE_IPSEC_TUNNELS, "IpSecService");
+                break;
+            case AppOpsManager.MODE_ALLOWED:
+                return;
+            default:
+                throw new SecurityException("Request to ignore AppOps for non-legacy API");
         }
     }
 
@@ -1532,7 +1530,7 @@
         mSrvConfig
                 .getNetdInstance()
                 .ipSecAddSecurityAssociation(
-                        resourceId,
+                        Binder.getCallingUid(),
                         c.getMode(),
                         c.getSourceAddress(),
                         c.getDestinationAddress(),
@@ -1623,13 +1621,14 @@
     @Override
     public synchronized void applyTransportModeTransform(
             ParcelFileDescriptor socket, int direction, int resourceId) throws RemoteException {
-        UserRecord userRecord = mUserResourceTracker.getUserRecord(Binder.getCallingUid());
+        int callingUid = Binder.getCallingUid();
+        UserRecord userRecord = mUserResourceTracker.getUserRecord(callingUid);
         checkDirection(direction);
         // Get transform record; if no transform is found, will throw IllegalArgumentException
         TransformRecord info = userRecord.mTransformRecords.getResourceOrThrow(resourceId);
 
         // TODO: make this a function.
-        if (info.pid != getCallingPid() || info.uid != getCallingUid()) {
+        if (info.pid != getCallingPid() || info.uid != callingUid) {
             throw new SecurityException("Only the owner of an IpSec Transform may apply it!");
         }
 
@@ -1643,7 +1642,7 @@
                 .getNetdInstance()
                 .ipSecApplyTransportModeTransform(
                         socket.getFileDescriptor(),
-                        resourceId,
+                        callingUid,
                         direction,
                         c.getSourceAddress(),
                         c.getDestinationAddress(),
@@ -1675,7 +1674,8 @@
         enforceTunnelPermissions(callingPackage);
         checkDirection(direction);
 
-        UserRecord userRecord = mUserResourceTracker.getUserRecord(Binder.getCallingUid());
+        int callingUid = Binder.getCallingUid();
+        UserRecord userRecord = mUserResourceTracker.getUserRecord(callingUid);
 
         // Get transform record; if no transform is found, will throw IllegalArgumentException
         TransformRecord transformInfo =
@@ -1717,7 +1717,7 @@
                     mSrvConfig
                             .getNetdInstance()
                             .ipSecUpdateSecurityPolicy(
-                                    0, // Use 0 for reqId
+                                    callingUid,
                                     selAddrFamily,
                                     direction,
                                     tunnelInterfaceInfo.getLocalAddress(),
diff --git a/services/core/java/com/android/server/LooperStatsService.java b/services/core/java/com/android/server/LooperStatsService.java
index ab7bf28..4f0e170 100644
--- a/services/core/java/com/android/server/LooperStatsService.java
+++ b/services/core/java/com/android/server/LooperStatsService.java
@@ -93,10 +93,12 @@
         if (!DumpUtils.checkDumpPermission(mContext, TAG, pw)) return;
         List<LooperStats.ExportedEntry> entries = mStats.getEntries();
         entries.sort(Comparator
-                .comparing((LooperStats.ExportedEntry entry) -> entry.threadName)
+                .comparing((LooperStats.ExportedEntry entry) -> entry.workSourceUid)
+                .thenComparing(entry -> entry.threadName)
                 .thenComparing(entry -> entry.handlerClassName)
                 .thenComparing(entry -> entry.messageName));
         String header = String.join(",", Arrays.asList(
+                "work_source_uid",
                 "thread_name",
                 "handler_class",
                 "message_name",
@@ -110,11 +112,11 @@
                 "exception_count"));
         pw.println(header);
         for (LooperStats.ExportedEntry entry : entries) {
-            pw.printf("%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s\n", entry.threadName,
-                    entry.handlerClassName, entry.messageName, entry.isInteractive,
-                    entry.messageCount, entry.recordedMessageCount, entry.totalLatencyMicros,
-                    entry.maxLatencyMicros, entry.cpuUsageMicros, entry.maxCpuUsageMicros,
-                    entry.exceptionCount);
+            pw.printf("%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s\n", entry.workSourceUid,
+                    entry.threadName, entry.handlerClassName, entry.messageName,
+                    entry.isInteractive, entry.messageCount, entry.recordedMessageCount,
+                    entry.totalLatencyMicros, entry.maxLatencyMicros, entry.cpuUsageMicros,
+                    entry.maxCpuUsageMicros, entry.exceptionCount);
         }
     }
 
@@ -189,6 +191,10 @@
             } else if ("reset".equals(cmd)) {
                 mStats.reset();
                 return 0;
+            } else if ("sampling_interval".equals(cmd)) {
+                int sampling = Integer.parseUnsignedInt(getNextArgRequired());
+                setSamplingInterval(sampling);
+                return 0;
             } else {
                 return handleDefaultCommands(cmd);
             }
@@ -198,9 +204,10 @@
         public void onHelp() {
             final PrintWriter pw = getOutPrintWriter();
             pw.println(LOOPER_STATS_SERVICE_NAME + " commands:");
-            pw.println("  enable: Enable collecting stats");
-            pw.println("  disable: Disable collecting stats");
-            pw.println("  reset: Reset stats");
+            pw.println("  enable: Enable collecting stats.");
+            pw.println("  disable: Disable collecting stats.");
+            pw.println("  sampling_interval: Change the sampling interval.");
+            pw.println("  reset: Reset stats.");
         }
     }
 }
diff --git a/services/core/java/com/android/server/NetworkManagementService.java b/services/core/java/com/android/server/NetworkManagementService.java
index daf870d..de930f7 100644
--- a/services/core/java/com/android/server/NetworkManagementService.java
+++ b/services/core/java/com/android/server/NetworkManagementService.java
@@ -161,6 +161,8 @@
 
     private static final int MAX_UID_RANGES_PER_COMMAND = 10;
 
+    private static final  String[] EMPTY_STRING_ARRAY = new String[0];
+
     /**
      * Name representing {@link #setGlobalAlert(long)} limit when delivered to
      * {@link INetworkManagementEventObserver#limitReached(String, String)}.
@@ -1234,18 +1236,12 @@
     @Override
     public void startTethering(String[] dhcpRange) {
         mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
-        // cmd is "tether start first_start first_stop second_start second_stop ..."
         // an odd number of addrs will fail
 
-        final Command cmd = new Command("tether", "start");
-        for (String d : dhcpRange) {
-            cmd.appendArg(d);
-        }
-
         try {
-            mConnector.execute(cmd);
-        } catch (NativeDaemonConnectorException e) {
-            throw e.rethrowAsParcelableException();
+            mNetdService.tetherStart(dhcpRange);
+        } catch (RemoteException | ServiceSpecificException e) {
+            throw new IllegalStateException(e);
         }
     }
 
@@ -1253,9 +1249,9 @@
     public void stopTethering() {
         mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
         try {
-            mConnector.execute("tether", "stop");
-        } catch (NativeDaemonConnectorException e) {
-            throw e.rethrowAsParcelableException();
+            mNetdService.tetherStop();
+        } catch (RemoteException | ServiceSpecificException e) {
+            throw new IllegalStateException(e);
         }
     }
 
@@ -1263,25 +1259,21 @@
     public boolean isTetheringStarted() {
         mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
 
-        final NativeDaemonEvent event;
         try {
-            event = mConnector.execute("tether", "status");
-        } catch (NativeDaemonConnectorException e) {
-            throw e.rethrowAsParcelableException();
+            final boolean isEnabled = mNetdService.tetherIsEnabled();
+            return isEnabled;
+        } catch (RemoteException | ServiceSpecificException e) {
+            throw new IllegalStateException(e);
         }
-
-        // 210 Tethering services started
-        event.checkCode(TetherStatusResult);
-        return event.getMessage().endsWith("started");
     }
 
     @Override
     public void tetherInterface(String iface) {
         mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
         try {
-            mConnector.execute("tether", "interface", "add", iface);
-        } catch (NativeDaemonConnectorException e) {
-            throw e.rethrowAsParcelableException();
+            mNetdService.tetherInterfaceAdd(iface);
+        } catch (RemoteException | ServiceSpecificException e) {
+            throw new IllegalStateException(e);
         }
         List<RouteInfo> routes = new ArrayList<>();
         // The RouteInfo constructor truncates the LinkAddress to a network prefix, thus making it
@@ -1294,9 +1286,9 @@
     public void untetherInterface(String iface) {
         mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
         try {
-            mConnector.execute("tether", "interface", "remove", iface);
-        } catch (NativeDaemonConnectorException e) {
-            throw e.rethrowAsParcelableException();
+            mNetdService.tetherInterfaceRemove(iface);
+        } catch (RemoteException | ServiceSpecificException e) {
+            throw new IllegalStateException(e);
         } finally {
             removeInterfaceFromLocalNetwork(iface);
         }
@@ -1306,11 +1298,10 @@
     public String[] listTetheredInterfaces() {
         mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
         try {
-            return NativeDaemonEvent.filterMessageList(
-                    mConnector.executeForList("tether", "interface", "list"),
-                    TetherInterfaceListResult);
-        } catch (NativeDaemonConnectorException e) {
-            throw e.rethrowAsParcelableException();
+            final List<String> result = mNetdService.tetherInterfaceList();
+            return result.toArray(EMPTY_STRING_ARRAY);
+        } catch (RemoteException | ServiceSpecificException e) {
+            throw new IllegalStateException(e);
         }
     }
 
@@ -1319,16 +1310,11 @@
         mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
 
         int netId = (network != null) ? network.netId : ConnectivityManager.NETID_UNSET;
-        final Command cmd = new Command("tether", "dns", "set", netId);
-
-        for (String s : dns) {
-            cmd.appendArg(NetworkUtils.numericToInetAddress(s).getHostAddress());
-        }
 
         try {
-            mConnector.execute(cmd);
-        } catch (NativeDaemonConnectorException e) {
-            throw e.rethrowAsParcelableException();
+            mNetdService.tetherDnsSet(netId, dns);
+        } catch (RemoteException | ServiceSpecificException e) {
+            throw new IllegalStateException(e);
         }
     }
 
@@ -1336,10 +1322,10 @@
     public String[] getDnsForwarders() {
         mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
         try {
-            return NativeDaemonEvent.filterMessageList(
-                    mConnector.executeForList("tether", "dns", "list"), TetherDnsFwdTgtListResult);
-        } catch (NativeDaemonConnectorException e) {
-            throw e.rethrowAsParcelableException();
+            final List<String> result = mNetdService.tetherDnsList();
+            return result.toArray(EMPTY_STRING_ARRAY);
+        } catch (RemoteException | ServiceSpecificException e) {
+            throw new IllegalStateException(e);
         }
     }
 
@@ -1565,10 +1551,11 @@
 
             try {
                 // TODO: support quota shared across interfaces
-                mConnector.execute("bandwidth", "setiquota", iface, quotaBytes);
+                mNetdService.bandwidthSetInterfaceQuota(iface, quotaBytes);
+
                 mActiveQuotas.put(iface, quotaBytes);
-            } catch (NativeDaemonConnectorException e) {
-                throw e.rethrowAsParcelableException();
+            } catch (RemoteException | ServiceSpecificException e) {
+                throw new IllegalStateException(e);
             }
 
             synchronized (mTetheringStatsProviders) {
@@ -1599,9 +1586,9 @@
 
             try {
                 // TODO: support quota shared across interfaces
-                mConnector.execute("bandwidth", "removeiquota", iface);
-            } catch (NativeDaemonConnectorException e) {
-                throw e.rethrowAsParcelableException();
+                mNetdService.bandwidthRemoveInterfaceQuota(iface);
+            } catch (RemoteException | ServiceSpecificException e) {
+                throw new IllegalStateException(e);
             }
 
             synchronized (mTetheringStatsProviders) {
@@ -1633,10 +1620,10 @@
 
             try {
                 // TODO: support alert shared across interfaces
-                mConnector.execute("bandwidth", "setinterfacealert", iface, alertBytes);
+                mNetdService.bandwidthSetInterfaceAlert(iface, alertBytes);
                 mActiveAlerts.put(iface, alertBytes);
-            } catch (NativeDaemonConnectorException e) {
-                throw e.rethrowAsParcelableException();
+            } catch (RemoteException | ServiceSpecificException e) {
+                throw new IllegalStateException(e);
             }
         }
     }
@@ -1653,10 +1640,10 @@
 
             try {
                 // TODO: support alert shared across interfaces
-                mConnector.execute("bandwidth", "removeinterfacealert", iface);
+                mNetdService.bandwidthRemoveInterfaceAlert(iface);
                 mActiveAlerts.remove(iface);
-            } catch (NativeDaemonConnectorException e) {
-                throw e.rethrowAsParcelableException();
+            } catch (RemoteException | ServiceSpecificException e) {
+                throw new IllegalStateException(e);
             }
         }
     }
@@ -1666,18 +1653,15 @@
         mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
 
         try {
-            mConnector.execute("bandwidth", "setglobalalert", alertBytes);
-        } catch (NativeDaemonConnectorException e) {
-            throw e.rethrowAsParcelableException();
+            mNetdService.bandwidthSetGlobalAlert(alertBytes);
+        } catch (RemoteException | ServiceSpecificException e) {
+            throw new IllegalStateException(e);
         }
     }
 
     private void setUidOnMeteredNetworkList(int uid, boolean blacklist, boolean enable) {
         mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
 
-        final String chain = blacklist ? "naughtyapps" : "niceapps";
-        final String suffix = enable ? "add" : "remove";
-
         synchronized (mQuotaLock) {
             boolean oldEnable;
             SparseBooleanArray quotaList;
@@ -1692,7 +1676,19 @@
 
             Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "inetd bandwidth");
             try {
-                mConnector.execute("bandwidth", suffix + chain, uid);
+                if (blacklist) {
+                    if (enable) {
+                        mNetdService.bandwidthAddNaughtyApp(uid);
+                    } else {
+                        mNetdService.bandwidthRemoveNaughtyApp(uid);
+                    }
+                } else {
+                    if (enable) {
+                        mNetdService.bandwidthAddNiceApp(uid);
+                    } else {
+                        mNetdService.bandwidthRemoveNiceApp(uid);
+                    }
+                }
                 synchronized (mRulesLock) {
                     if (enable) {
                         quotaList.put(uid, true);
@@ -1700,8 +1696,8 @@
                         quotaList.delete(uid);
                     }
                 }
-            } catch (NativeDaemonConnectorException e) {
-                throw e.rethrowAsParcelableException();
+            } catch (RemoteException | ServiceSpecificException e) {
+                throw new IllegalStateException(e);
             } finally {
                 Trace.traceEnd(Trace.TRACE_TAG_NETWORK);
             }
diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java
index d505a77..21f54dd 100644
--- a/services/core/java/com/android/server/StorageManagerService.java
+++ b/services/core/java/com/android/server/StorageManagerService.java
@@ -329,6 +329,12 @@
     @GuardedBy("mPackagesLock")
     private final SparseArray<String> mSandboxIds = new SparseArray<>();
 
+    /**
+     * List of volumes visible to any user.
+     * TODO: may be have a map of userId -> volumes?
+     */
+    private final CopyOnWriteArrayList<VolumeInfo> mVisibleVols = new CopyOnWriteArrayList<>();
+
     private volatile int mCurrentUserId = UserHandle.USER_SYSTEM;
 
     /** Holding lock for AppFuse business */
@@ -623,16 +629,12 @@
                         Slog.i(TAG, "Ignoring mount " + vol.getId() + " due to policy");
                         break;
                     }
-                    try {
-                        mVold.mount(vol.id, vol.mountFlags, vol.mountUserId);
-                    } catch (Exception e) {
-                        Slog.wtf(TAG, e);
-                    }
+                    mount(vol);
                     break;
                 }
                 case H_VOLUME_UNMOUNT: {
                     final VolumeInfo vol = (VolumeInfo) msg.obj;
-                    unmount(vol.getId());
+                    unmount(vol);
                     break;
                 }
                 case H_VOLUME_BROADCAST: {
@@ -869,6 +871,8 @@
                 addInternalVolumeLocked();
             }
 
+            mVisibleVols.clear();
+
             try {
                 mVold.reset();
 
@@ -1466,7 +1470,7 @@
                     = mContext.getPackageManager().getInstalledApplicationsAsUser(
                             PackageManager.MATCH_UNINSTALLED_PACKAGES, userId);
             synchronized (mPackagesLock) {
-                final ArraySet<String> userPackages = getPackagesForUserPL(userId);
+                final ArraySet<String> userPackages = getAvailablePackagesForUserPL(userId);
                 for (int i = appInfos.size() - 1; i >= 0; --i) {
                     if (appInfos.get(i).isInstantApp()) {
                         continue;
@@ -1523,7 +1527,7 @@
     }
 
     @GuardedBy("mPackagesLock")
-    private ArraySet<String> getPackagesForUserPL(int userId) {
+    private ArraySet<String> getAvailablePackagesForUserPL(int userId) {
         ArraySet<String> userPackages = mPackages.get(userId);
         if (userPackages == null) {
             userPackages = new ArraySet<>();
@@ -1535,8 +1539,24 @@
     private String[] getPackagesArrayForUser(int userId) {
         if (!ENABLE_ISOLATED_STORAGE) return EmptyArray.STRING;
 
+        final ArraySet<String> userPackages;
         synchronized (mPackagesLock) {
-            return getPackagesForUserPL(userId).toArray(new String[0]);
+            userPackages = getAvailablePackagesForUserPL(userId);
+            if (!userPackages.isEmpty()) {
+                return userPackages.toArray(new String[0]);
+            }
+        }
+        final List<ApplicationInfo> appInfos =
+                mContext.getPackageManager().getInstalledApplicationsAsUser(
+                        PackageManager.MATCH_UNINSTALLED_PACKAGES, userId);
+        synchronized (mPackagesLock) {
+            for (int i = appInfos.size() - 1; i >= 0; --i) {
+                if (appInfos.get(i).isInstantApp()) {
+                    continue;
+                }
+                userPackages.add(appInfos.get(i).packageName);
+            }
+            return userPackages.toArray(new String[0]);
         }
     }
 
@@ -1747,8 +1767,15 @@
         if (isMountDisallowed(vol)) {
             throw new SecurityException("Mounting " + volId + " restricted by policy");
         }
+        mount(vol);
+    }
+
+    private void mount(VolumeInfo vol) {
         try {
             mVold.mount(vol.id, vol.mountFlags, vol.mountUserId);
+            if ((vol.mountFlags & VolumeInfo.MOUNT_FLAG_VISIBLE) != 0) {
+                mVisibleVols.add(vol);
+            }
         } catch (Exception e) {
             Slog.wtf(TAG, e);
         }
@@ -1759,8 +1786,15 @@
         enforcePermission(android.Manifest.permission.MOUNT_UNMOUNT_FILESYSTEMS);
 
         final VolumeInfo vol = findVolumeByIdOrThrow(volId);
+        unmount(vol);
+    }
+
+    private void unmount(VolumeInfo vol) {
         try {
             mVold.unmount(vol.id);
+            if ((vol.mountFlags & VolumeInfo.MOUNT_FLAG_VISIBLE) != 0) {
+                mVisibleVols.remove(vol);
+            }
         } catch (Exception e) {
             Slog.wtf(TAG, e);
         }
@@ -3596,6 +3630,14 @@
             pw.decreaseIndent();
 
             pw.println();
+            pw.println("mVisibleVols:");
+            pw.increaseIndent();
+            for (int i = 0; i < mVisibleVols.size(); i++) {
+                mVisibleVols.get(i).dump(pw);
+            }
+            pw.decreaseIndent();
+
+            pw.println();
             pw.println("Primary storage UUID: " + mPrimaryStorageUuid);
             final Pair<String, Long> pair = StorageManager.getPrimaryStoragePathAndSize();
             if (pair == null) {
@@ -3716,7 +3758,7 @@
                 int userId) {
             final String sandboxId;
             synchronized (mPackagesLock) {
-                final ArraySet<String> userPackages = getPackagesForUserPL(userId);
+                final ArraySet<String> userPackages = getAvailablePackagesForUserPL(userId);
                 // If userPackages is empty, it means the user is not started yet, so no need to
                 // do anything now.
                 if (userPackages.isEmpty() || userPackages.contains(packageName)) {
@@ -3734,5 +3776,29 @@
                 Slog.wtf(TAG, e);
             }
         }
+
+        @Override
+        public String[] getVisibleVolumesForUser(int userId) {
+            final ArrayList<String> visibleVolsForUser = new ArrayList<>();
+            for (int i = mVisibleVols.size() - 1; i >= 0; --i) {
+                final VolumeInfo vol = mVisibleVols.get(i);
+                if (vol.isVisibleForUser(userId)) {
+                    visibleVolsForUser.add(getVolumeLabel(vol));
+                }
+            }
+            return visibleVolsForUser.toArray(new String[visibleVolsForUser.size()]);
+        }
+
+        private String getVolumeLabel(VolumeInfo vol) {
+            // STOPSHIP: Label needs to part of VolumeInfo and need to be passed on from vold
+            switch (vol.getType()) {
+                case VolumeInfo.TYPE_EMULATED:
+                    return "emulated";
+                case VolumeInfo.TYPE_PUBLIC:
+                    return vol.fsUuid == null ? vol.id : vol.fsUuid;
+                default:
+                    return null;
+            }
+        }
     }
 }
diff --git a/services/core/java/com/android/server/TelephonyRegistry.java b/services/core/java/com/android/server/TelephonyRegistry.java
index 98b88cb..fb8894b 100644
--- a/services/core/java/com/android/server/TelephonyRegistry.java
+++ b/services/core/java/com/android/server/TelephonyRegistry.java
@@ -213,6 +213,8 @@
 
     private PhoneCapability mPhoneCapability = null;
 
+    private int mPreferredDataSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+
     private final LocalLog mLocalLog = new LocalLog(100);
 
     private PreciseDataConnectionState mPreciseDataConnectionState =
@@ -752,6 +754,13 @@
                             remove(r.binder);
                         }
                     }
+                    if ((events & PhoneStateListener.LISTEN_PREFERRED_DATA_SUBID_CHANGE) != 0) {
+                        try {
+                            r.callback.onPreferredDataSubIdChanged(mPreferredDataSubId);
+                        } catch (RemoteException ex) {
+                            remove(r.binder);
+                        }
+                    }
                 }
             }
         } else {
@@ -1573,6 +1582,31 @@
         }
     }
 
+    public void notifyPreferredDataSubIdChanged(int preferredSubId) {
+        if (!checkNotifyPermission("notifyPreferredDataSubIdChanged()")) {
+            return;
+        }
+
+        if (VDBG) {
+            log("notifyPreferredDataSubIdChanged: preferredSubId=" + preferredSubId);
+        }
+
+        synchronized (mRecords) {
+            mPreferredDataSubId = preferredSubId;
+
+            for (Record r : mRecords) {
+                if (r.matchPhoneStateListenerEvent(
+                        PhoneStateListener.LISTEN_PREFERRED_DATA_SUBID_CHANGE)) {
+                    try {
+                        r.callback.onPreferredDataSubIdChanged(preferredSubId);
+                    } catch (RemoteException ex) {
+                        mRemoveList.add(r.binder);
+                    }
+                }
+            }
+            handleRemoveListLocked();
+        }
+    }
 
     @Override
     public void dump(FileDescriptor fd, PrintWriter writer, String[] args) {
@@ -1610,6 +1644,7 @@
             pw.println("mBackgroundCallState=" + mBackgroundCallState);
             pw.println("mVoLteServiceState=" + mVoLteServiceState);
             pw.println("mPhoneCapability=" + mPhoneCapability);
+            pw.println("mPreferredDataSubId=" + mPreferredDataSubId);
 
             pw.decreaseIndent();
 
@@ -1647,6 +1682,7 @@
         intent.putExtras(data);
         // Pass the subscription along with the intent.
         intent.putExtra(PhoneConstants.SUBSCRIPTION_KEY, subId);
+        intent.putExtra(SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX, subId);
         intent.putExtra(PhoneConstants.SLOT_KEY, phoneId);
         mContext.sendStickyBroadcastAsUser(intent, UserHandle.ALL);
     }
@@ -1701,6 +1737,7 @@
         if (subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
             intent.setAction(PhoneConstants.ACTION_SUBSCRIPTION_PHONE_STATE_CHANGED);
             intent.putExtra(PhoneConstants.SUBSCRIPTION_KEY, subId);
+            intent.putExtra(SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX, subId);
         }
         // If the phoneId is invalid, the broadcast is for overall call state.
         if (phoneId != SubscriptionManager.INVALID_PHONE_INDEX) {
diff --git a/core/tests/webkit/apk_with_native_libs/src/com/google/android/xts/webview_list/WebViewLoadingTestClass.java b/services/core/java/com/android/server/UiModeManagerInternal.java
similarity index 67%
copy from core/tests/webkit/apk_with_native_libs/src/com/google/android/xts/webview_list/WebViewLoadingTestClass.java
copy to services/core/java/com/android/server/UiModeManagerInternal.java
index 0efa4b4..ef29069 100644
--- a/core/tests/webkit/apk_with_native_libs/src/com/google/android/xts/webview_list/WebViewLoadingTestClass.java
+++ b/services/core/java/com/android/server/UiModeManagerInternal.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2017 The Android Open Source Project
+ * Copyright (C) 2018 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.
@@ -14,11 +14,14 @@
  * limitations under the License.
  */
 
-
-package com.android.webview.chromium;
+package com.android.server;
 
 /**
- * An empty class for testing purposes.
+ * UiModeManager local system service interface.
+ *
+ * @hide Only for use within the system server.
  */
-public class WebViewLoadingTestClass {
+public abstract class UiModeManagerInternal {
+
+    public abstract boolean isNightMode();
 }
diff --git a/services/core/java/com/android/server/UiModeManagerService.java b/services/core/java/com/android/server/UiModeManagerService.java
index cb03255..5538e72 100644
--- a/services/core/java/com/android/server/UiModeManagerService.java
+++ b/services/core/java/com/android/server/UiModeManagerService.java
@@ -42,31 +42,25 @@
 import android.os.ServiceManager;
 import android.os.ShellCallback;
 import android.os.ShellCommand;
-import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.provider.Settings;
 import android.service.dreams.Sandman;
 import android.service.vr.IVrManager;
 import android.service.vr.IVrStateCallbacks;
-import android.text.TextUtils;
 import android.util.Slog;
 
-import java.io.File;
-import java.io.FileDescriptor;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Collections;
-
 import com.android.internal.R;
 import com.android.internal.app.DisableCarModeActivity;
 import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
 import com.android.internal.notification.SystemNotificationChannels;
 import com.android.internal.util.DumpUtils;
-import com.android.server.power.ShutdownThread;
 import com.android.server.twilight.TwilightListener;
 import com.android.server.twilight.TwilightManager;
 import com.android.server.twilight.TwilightState;
 
+import java.io.FileDescriptor;
+import java.io.PrintWriter;
+
 final class UiModeManagerService extends SystemService {
     private static final String TAG = UiModeManager.class.getSimpleName();
     private static final boolean LOG = false;
@@ -114,6 +108,8 @@
 
     private PowerManager.WakeLock mWakeLock;
 
+    private final LocalService mLocalService = new LocalService();
+
     public UiModeManagerService(Context context) {
         super(context);
     }
@@ -248,6 +244,7 @@
 
         }, TAG + ".onStart");
         publishBinderService(Context.UI_MODE_SERVICE, mService);
+        publishLocalService(UiModeManagerInternal.class, mLocalService);
     }
 
     private final IUiModeManager.Stub mService = new IUiModeManager.Stub() {
@@ -373,7 +370,8 @@
             pw.println("Current UI Mode Service state:");
             pw.print("  mDockState="); pw.print(mDockState);
                     pw.print(" mLastBroadcastState="); pw.println(mLastBroadcastState);
-            pw.print("  mNightMode="); pw.print(mNightMode);
+            pw.print("  mNightMode="); pw.print(mNightMode); pw.print(" (");
+                    pw.print(Shell.nightModeToStr(mNightMode)); pw.print(") ");
                     pw.print(" mNightModeLocked="); pw.print(mNightModeLocked);
                     pw.print(" mCarModeEnabled="); pw.print(mCarModeEnabled);
                     pw.print(" mComputedNightMode="); pw.print(mComputedNightMode);
@@ -466,7 +464,7 @@
             uiMode |= mNightMode << 4;
         }
 
-        if (mPowerSave && !mNightModeLocked) {
+        if (mPowerSave) {
             uiMode &= ~Configuration.UI_MODE_NIGHT_NO;
             uiMode |= Configuration.UI_MODE_NIGHT_YES;
         }
@@ -845,4 +843,22 @@
             }
         }
     }
+
+    public final class LocalService extends UiModeManagerInternal {
+
+        @Override
+        public boolean isNightMode() {
+            synchronized (mLock) {
+                final boolean isIt = (mConfiguration.uiMode & Configuration.UI_MODE_NIGHT_YES) != 0;
+                if (LOG) {
+                    Slog.d(TAG,
+                        "LocalService.isNightMode(): mNightMode=" + mNightMode
+                        + "; mComputedNightMode=" + mComputedNightMode
+                        + "; uiMode=" + mConfiguration.uiMode
+                        + "; isIt=" + isIt);
+                }
+                return isIt;
+            }
+        }
+    }
 }
diff --git a/services/core/java/com/android/server/Watchdog.java b/services/core/java/com/android/server/Watchdog.java
index 6d69fcd..0b836f0 100644
--- a/services/core/java/com/android/server/Watchdog.java
+++ b/services/core/java/com/android/server/Watchdog.java
@@ -94,7 +94,7 @@
         "media.metrics", // system/bin/mediametrics
         "media.codec", // vendor/bin/hw/android.hardware.media.omx@1.0-service
         "com.android.bluetooth",  // Bluetooth service
-        "statsd",  // Stats daemon
+        "/system/bin/statsd",  // Stats daemon
     };
 
     public static final List<String> HAL_INTERFACES_OF_INTEREST = Arrays.asList(
diff --git a/services/core/java/com/android/server/accounts/AccountManagerService.java b/services/core/java/com/android/server/accounts/AccountManagerService.java
index fd32b5a..a392b51 100644
--- a/services/core/java/com/android/server/accounts/AccountManagerService.java
+++ b/services/core/java/com/android/server/accounts/AccountManagerService.java
@@ -1185,8 +1185,8 @@
                         final long accountId = accountEntry.getKey();
                         final Account account = accountEntry.getValue();
                         if (obsoleteAuthType.contains(account.type)) {
-                            Slog.w(TAG, "deleting account " + account.name + " because type "
-                                    + account.type
+                            Slog.w(TAG, "deleting account " + account.toSafeString()
+                                    + " because type " + account.type
                                     + "'s registered authenticator no longer exist.");
                             Map<String, Integer> packagesToVisibility =
                                     getRequestingPackages(account, accounts);
@@ -1326,7 +1326,8 @@
         Preconditions.checkState(Thread.holdsLock(mUsers), "mUsers lock must be held");
         List<Account> accountsToRemove = accounts.accountsDb.findCeAccountsNotInDe();
         if (!accountsToRemove.isEmpty()) {
-            Slog.i(TAG, "Accounts " + accountsToRemove + " were previously deleted while user "
+            Slog.i(TAG, accountsToRemove.size()
+                    + " accounts were previously deleted while user "
                     + accounts.userId + " was locked. Removing accounts from CE tables");
             logRecord(accounts, AccountsDb.DEBUG_ACTION_SYNC_DE_CE_ACCOUNTS,
                     AccountsDb.TABLE_ACCOUNTS);
@@ -1641,7 +1642,7 @@
             return;
         }
 
-        Slog.d(TAG, "Copying account " + account.name
+        Slog.d(TAG, "Copying account " + account.toSafeString()
                 + " from user " + userFrom + " to user " + userTo);
         long identityToken = clearCallingIdentity();
         try {
@@ -1777,8 +1778,8 @@
             return false;
         }
         if (!isLocalUnlockedUser(accounts.userId)) {
-            Log.w(TAG, "Account " + account + " cannot be added - user " + accounts.userId
-                    + " is locked. callingUid=" + callingUid);
+            Log.w(TAG, "Account " + account.toSafeString() + " cannot be added - user "
+                    + accounts.userId + " is locked. callingUid=" + callingUid);
             return false;
         }
         synchronized (accounts.dbLock) {
@@ -1786,19 +1787,19 @@
                 accounts.accountsDb.beginTransaction();
                 try {
                     if (accounts.accountsDb.findCeAccountId(account) >= 0) {
-                        Log.w(TAG, "insertAccountIntoDatabase: " + account
+                        Log.w(TAG, "insertAccountIntoDatabase: " + account.toSafeString()
                                 + ", skipping since the account already exists");
                         return false;
                     }
                     long accountId = accounts.accountsDb.insertCeAccount(account, password);
                     if (accountId < 0) {
-                        Log.w(TAG, "insertAccountIntoDatabase: " + account
+                        Log.w(TAG, "insertAccountIntoDatabase: " + account.toSafeString()
                                 + ", skipping the DB insert failed");
                         return false;
                     }
                     // Insert into DE table
                     if (accounts.accountsDb.insertDeAccount(account, accountId) < 0) {
-                        Log.w(TAG, "insertAccountIntoDatabase: " + account
+                        Log.w(TAG, "insertAccountIntoDatabase: " + account.toSafeString()
                                 + ", skipping the DB insert failed");
                         return false;
                     }
@@ -1806,7 +1807,8 @@
                         for (String key : extras.keySet()) {
                             final String value = extras.getString(key);
                             if (accounts.accountsDb.insertExtra(accountId, key, value) < 0) {
-                                Log.w(TAG, "insertAccountIntoDatabase: " + account
+                                Log.w(TAG, "insertAccountIntoDatabase: "
+                                        + account.toSafeString()
                                         + ", skipping since insertExtra failed for key " + key);
                                 return false;
                             }
@@ -2282,7 +2284,8 @@
         boolean isChanged = false;
         boolean userUnlocked = isLocalUnlockedUser(accounts.userId);
         if (!userUnlocked) {
-            Slog.i(TAG, "Removing account " + account + " while user "+ accounts.userId
+            Slog.i(TAG, "Removing account " + account.toSafeString()
+                    + " while user " + accounts.userId
                     + " is still locked. CE data will be removed later");
         }
         synchronized (accounts.dbLock) {
@@ -2907,7 +2910,7 @@
                 protected String toDebugString(long now) {
                     if (loginOptions != null) loginOptions.keySet();
                     return super.toDebugString(now) + ", getAuthToken"
-                            + ", " + account
+                            + ", " + account.toSafeString()
                             + ", authTokenType " + authTokenType
                             + ", loginOptions " + loginOptions
                             + ", notifyOnAuthFailure " + notifyOnAuthFailure;
@@ -3669,7 +3672,7 @@
                 @Override
                 protected String toDebugString(long now) {
                     return super.toDebugString(now) + ", confirmCredentials"
-                            + ", " + account;
+                            + ", " + account.toSafeString();
                 }
             }.bind();
         } finally {
@@ -3707,7 +3710,7 @@
                 protected String toDebugString(long now) {
                     if (loginOptions != null) loginOptions.keySet();
                     return super.toDebugString(now) + ", updateCredentials"
-                            + ", " + account
+                            + ", " + account.toSafeString()
                             + ", authTokenType " + authTokenType
                             + ", loginOptions " + loginOptions;
                 }
@@ -3771,7 +3774,7 @@
                         loginOptions.keySet();
                     return super.toDebugString(now)
                             + ", startUpdateCredentialsSession"
-                            + ", " + account
+                            + ", " + account.toSafeString()
                             + ", authTokenType " + authTokenType
                             + ", loginOptions " + loginOptions;
                 }
@@ -3812,7 +3815,7 @@
                 @Override
                 protected String toDebugString(long now) {
                     return super.toDebugString(now) + ", isCredentialsUpdateSuggested"
-                            + ", " + account;
+                            + ", " + account.toSafeString();
                 }
 
                 @Override
@@ -4369,7 +4372,7 @@
         accounts.accountsDb.deleteSharedAccount(account);
         long accountId = accounts.accountsDb.insertSharedAccount(account);
         if (accountId < 0) {
-            Log.w(TAG, "insertAccountIntoDatabase: " + account
+            Log.w(TAG, "insertAccountIntoDatabase: " + account.toSafeString()
                     + ", skipping the DB insert failed");
             return false;
         }
@@ -5208,7 +5211,7 @@
                     Process.SYSTEM_UID, null /* packageName */, false);
             fout.println("Accounts: " + accounts.length);
             for (Account account : accounts) {
-                fout.println("  " + account);
+                fout.println("  " + account.toSafeString());
             }
 
             // Add debug information.
@@ -5613,7 +5616,8 @@
                 if (!permissionGranted && ActivityManager.isRunningInTestHarness()) {
                     // TODO: Skip this check when running automated tests. Replace this
                     // with a more general solution.
-                    Log.d(TAG, "no credentials permission for usage of " + account + ", "
+                    Log.d(TAG, "no credentials permission for usage of "
+                            + account.toSafeString() + ", "
                             + authTokenType + " by uid " + callerUid
                             + " but ignoring since device is in test harness.");
                     return true;
diff --git a/services/core/java/com/android/server/am/ActiveServices.java b/services/core/java/com/android/server/am/ActiveServices.java
index e5aa3f4..461d39d 100644
--- a/services/core/java/com/android/server/am/ActiveServices.java
+++ b/services/core/java/com/android/server/am/ActiveServices.java
@@ -629,7 +629,7 @@
                 return false;
             }
 
-            IIntentSender target = mAm.getIntentSenderLocked(
+            IIntentSender target = mAm.mPendingIntentController.getIntentSender(
                     ActivityManager.INTENT_SENDER_SERVICE, callingPackage,
                     callingUid, userId, null, null, 0, new Intent[]{service},
                     new String[]{service.resolveType(mAm.mContext.getContentResolver())},
@@ -2490,7 +2490,7 @@
                                  PackageManager.NOTIFY_PACKAGE_USE_SERVICE);
             app.forceProcessStateUpTo(ActivityManager.PROCESS_STATE_SERVICE);
             app.thread.scheduleCreateService(r, r.serviceInfo,
-                    mAm.compatibilityInfoForPackageLocked(r.serviceInfo.applicationInfo),
+                    mAm.compatibilityInfoForPackage(r.serviceInfo.applicationInfo),
                     app.getReportedProcState());
             r.postNotification();
             created = true;
diff --git a/services/core/java/com/android/server/am/ActivityDisplay.java b/services/core/java/com/android/server/am/ActivityDisplay.java
index 7276222..fab967c 100644
--- a/services/core/java/com/android/server/am/ActivityDisplay.java
+++ b/services/core/java/com/android/server/am/ActivityDisplay.java
@@ -126,11 +126,6 @@
 
     private final FindTaskResult mTmpFindTaskResult = new FindTaskResult();
 
-    @VisibleForTesting
-    ActivityDisplay(ActivityStackSupervisor supervisor, int displayId) {
-        this(supervisor, supervisor.mDisplayManager.getDisplay(displayId));
-    }
-
     ActivityDisplay(ActivityStackSupervisor supervisor, Display display) {
         mSupervisor = supervisor;
         mDisplayId = display.getDisplayId();
@@ -296,7 +291,13 @@
     <T extends ActivityStack> T getOrCreateStack(@Nullable ActivityRecord r,
             @Nullable ActivityOptions options, @Nullable TaskRecord candidateTask, int activityType,
             boolean onTop) {
-        final int windowingMode = resolveWindowingMode(r, options, candidateTask, activityType);
+        // First preference is the windowing mode in the activity options if set.
+        int windowingMode = (options != null)
+                ? options.getLaunchWindowingMode() : WINDOWING_MODE_UNDEFINED;
+        // Validate that our desired windowingMode will work under the current conditions.
+        // UNDEFINED windowing mode is a valid result and means that the new stack will inherit
+        // it's display's windowing mode.
+        windowingMode = validateWindowingMode(windowingMode, r, candidateTask, activityType);
         return getOrCreateStack(windowingMode, activityType, onTop);
     }
 
@@ -308,7 +309,7 @@
      * Creates a stack matching the input windowing mode and activity type on this display.
      * @param windowingMode The windowing mode the stack should be created in. If
      *                      {@link WindowConfiguration#WINDOWING_MODE_UNDEFINED} then the stack will
-     *                      be created in {@link WindowConfiguration#WINDOWING_MODE_FULLSCREEN}.
+     *                      inherit it's parent's windowing mode.
      * @param activityType The activityType the stack should be created in. If
      *                     {@link WindowConfiguration#ACTIVITY_TYPE_UNDEFINED} then the stack will
      *                     be created in {@link WindowConfiguration#ACTIVITY_TYPE_STANDARD}.
@@ -589,7 +590,7 @@
                 if (!otherStack.inSplitScreenSecondaryWindowingMode()) {
                     continue;
                 }
-                otherStack.setWindowingMode(WINDOWING_MODE_FULLSCREEN, false /* animate */,
+                otherStack.setWindowingMode(WINDOWING_MODE_UNDEFINED, false /* animate */,
                         false /* showRecents */, false /* enteringSplitScreenMode */,
                         true /* deferEnsuringVisibility */);
             }
@@ -650,10 +651,14 @@
             return false;
         }
 
+        final int displayWindowingMode = getWindowingMode();
         if (windowingMode == WINDOWING_MODE_SPLIT_SCREEN_PRIMARY
                 || windowingMode == WINDOWING_MODE_SPLIT_SCREEN_SECONDARY) {
             return supportsSplitScreen
-                    && WindowConfiguration.supportSplitScreenWindowingMode(activityType);
+                    && WindowConfiguration.supportSplitScreenWindowingMode(activityType)
+                    // Freeform windows and split-screen windows don't mix well, so prevent
+                    // split windowing modes on freeform displays.
+                    && displayWindowingMode != WINDOWING_MODE_FREEFORM;
         }
 
         if (!supportsFreeform && windowingMode == WINDOWING_MODE_FREEFORM) {
@@ -666,6 +671,16 @@
         return true;
     }
 
+    /**
+     * Resolves the windowing mode that an {@link ActivityRecord} would be in if started on this
+     * display with the provided parameters.
+     *
+     * @param r The ActivityRecord in question.
+     * @param options Options to start with.
+     * @param task The task within-which the activity would start.
+     * @param activityType The type of activity to start.
+     * @return The resolved (not UNDEFINED) windowing-mode that the activity would be in.
+     */
     int resolveWindowingMode(@Nullable ActivityRecord r, @Nullable ActivityOptions options,
             @Nullable TaskRecord task, int activityType) {
 
@@ -687,7 +702,9 @@
                 windowingMode = getWindowingMode();
             }
         }
-        return validateWindowingMode(windowingMode, r, task, activityType);
+        windowingMode = validateWindowingMode(windowingMode, r, task, activityType);
+        return windowingMode != WINDOWING_MODE_UNDEFINED
+                ? windowingMode : WINDOWING_MODE_FULLSCREEN;
     }
 
     /**
@@ -724,23 +741,21 @@
         final boolean inSplitScreenMode = hasSplitScreenPrimaryStack();
         if (!inSplitScreenMode
                 && windowingMode == WINDOWING_MODE_FULLSCREEN_OR_SPLIT_SCREEN_SECONDARY) {
-            // Switch to fullscreen windowing mode if we are not in split-screen mode and we are
+            // Switch to the display's windowing mode if we are not in split-screen mode and we are
             // trying to launch in split-screen secondary.
-            windowingMode = WINDOWING_MODE_FULLSCREEN;
-        } else if (inSplitScreenMode && windowingMode == WINDOWING_MODE_FULLSCREEN
+            windowingMode = WINDOWING_MODE_UNDEFINED;
+        } else if (inSplitScreenMode && (windowingMode == WINDOWING_MODE_FULLSCREEN
+                        || windowingMode == WINDOWING_MODE_UNDEFINED)
                 && supportsSplitScreen) {
             windowingMode = WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
         }
 
         if (windowingMode != WINDOWING_MODE_UNDEFINED
                 && isWindowingModeSupported(windowingMode, supportsMultiWindow, supportsSplitScreen,
-                supportsFreeform, supportsPip, activityType)) {
+                        supportsFreeform, supportsPip, activityType)) {
             return windowingMode;
         }
-        // Try to use the display's windowing mode otherwise fallback to fullscreen.
-        windowingMode = getWindowingMode();
-        return windowingMode != WINDOWING_MODE_UNDEFINED
-                ? windowingMode : WINDOWING_MODE_FULLSCREEN;
+        return WINDOWING_MODE_UNDEFINED;
     }
 
     /**
@@ -875,6 +890,8 @@
         mRemoved = true;
 
         releaseSelfIfNeeded();
+
+        mSupervisor.getKeyguardController().onDisplayRemoved(mDisplayId);
     }
 
     private void releaseSelfIfNeeded() {
diff --git a/services/core/java/com/android/server/am/ActivityManagerConstants.java b/services/core/java/com/android/server/am/ActivityManagerConstants.java
index 2c8f2fc..3a0289c 100644
--- a/services/core/java/com/android/server/am/ActivityManagerConstants.java
+++ b/services/core/java/com/android/server/am/ActivityManagerConstants.java
@@ -68,6 +68,7 @@
     static final String KEY_BOUND_SERVICE_CRASH_MAX_RETRY = "service_crash_max_retry";
     static final String KEY_PROCESS_START_ASYNC = "process_start_async";
     static final String KEY_MEMORY_INFO_THROTTLE_TIME = "memory_info_throttle_time";
+    static final String KEY_TOP_TO_FGS_GRACE_DURATION = "top_to_fgs_grace_duration";
 
     private static final int DEFAULT_MAX_CACHED_PROCESSES = 32;
     private static final long DEFAULT_BACKGROUND_SETTLE_TIME = 60*1000;
@@ -97,6 +98,7 @@
     private static final int DEFAULT_BOUND_SERVICE_CRASH_MAX_RETRY = 16;
     private static final boolean DEFAULT_PROCESS_START_ASYNC = true;
     private static final long DEFAULT_MEMORY_INFO_THROTTLE_TIME = 5*60*1000;
+    private static final long DEFAULT_TOP_TO_FGS_GRACE_DURATION = 15 * 1000;
 
     // Maximum number of cached processes we will allow.
     public int MAX_CACHED_PROCESSES = DEFAULT_MAX_CACHED_PROCESSES;
@@ -212,6 +214,10 @@
     // throttle requests from apps.
     public long MEMORY_INFO_THROTTLE_TIME = DEFAULT_MEMORY_INFO_THROTTLE_TIME;
 
+    // Allow app just moving from TOP to FOREGROUND_SERVICE to stay in a higher adj value for
+    // this long.
+    public long TOP_TO_FGS_GRACE_DURATION = DEFAULT_TOP_TO_FGS_GRACE_DURATION;
+
     // Indicates whether the activity starts logging is enabled.
     // Controlled by Settings.Global.ACTIVITY_STARTS_LOGGING_ENABLED
     boolean mFlagActivityStartsLoggingEnabled;
@@ -355,6 +361,8 @@
                     DEFAULT_PROCESS_START_ASYNC);
             MEMORY_INFO_THROTTLE_TIME = mParser.getLong(KEY_MEMORY_INFO_THROTTLE_TIME,
                     DEFAULT_MEMORY_INFO_THROTTLE_TIME);
+            TOP_TO_FGS_GRACE_DURATION = mParser.getDurationMillis(KEY_TOP_TO_FGS_GRACE_DURATION,
+                    DEFAULT_TOP_TO_FGS_GRACE_DURATION);
 
             updateMaxCachedProcesses();
         }
@@ -438,6 +446,8 @@
         pw.println(FLAG_PROCESS_START_ASYNC);
         pw.print("  "); pw.print(KEY_MEMORY_INFO_THROTTLE_TIME); pw.print("=");
         pw.println(MEMORY_INFO_THROTTLE_TIME);
+        pw.print("  "); pw.print(KEY_TOP_TO_FGS_GRACE_DURATION); pw.print("=");
+        pw.println(TOP_TO_FGS_GRACE_DURATION);
 
         pw.println();
         if (mOverrideMaxCachedProcesses >= 0) {
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 2ee598f..f49c50a 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -134,7 +134,6 @@
 import static com.android.server.am.ActivityManagerDebugConfig.POSTFIX_SERVICE;
 import static com.android.server.am.ActivityManagerDebugConfig.POSTFIX_SWITCH;
 import static com.android.server.am.ActivityManagerDebugConfig.POSTFIX_UID_OBSERVERS;
-import static com.android.server.am.ActivityManagerDebugConfig.POSTFIX_URI_PERMISSION;
 import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM;
 import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME;
 import static com.android.server.am.ActivityStackSupervisor.PRESERVE_WINDOWS;
@@ -369,7 +368,6 @@
 import java.io.PrintWriter;
 import java.io.StringWriter;
 import java.io.UnsupportedEncodingException;
-import java.lang.ref.WeakReference;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -417,7 +415,6 @@
     private static final String TAG_SERVICE = TAG + POSTFIX_SERVICE;
     private static final String TAG_SWITCH = TAG + POSTFIX_SWITCH;
     private static final String TAG_UID_OBSERVERS = TAG + POSTFIX_UID_OBSERVERS;
-    private static final String TAG_URI_PERMISSION = TAG + POSTFIX_URI_PERMISSION;
 
     // Mock "pretend we're idle now" broadcast action to the job scheduler; declared
     // here so that while the job scheduler can depend on AMS, the other way around
@@ -563,6 +560,7 @@
     String mDeviceOwnerName;
 
     final UserController mUserController;
+    final PendingIntentController mPendingIntentController;
 
     final AppErrors mAppErrors;
 
@@ -665,11 +663,6 @@
     int mNextIsolatedProcessUid = 0;
 
     /**
-     * The currently running heavy-weight process, if any.
-     */
-    ProcessRecord mHeavyWeightProcess = null;
-
-    /**
      * Non-persistent appId whitelist for background restrictions
      */
     int[] mBackgroundAppIdWhitelist = new int[] {
@@ -826,18 +819,6 @@
     final SparseArray<UidRecord> mValidateUids = new SparseArray<>();
 
     /**
-     * Packages that the user has asked to have run in screen size
-     * compatibility mode instead of filling the screen.
-     */
-    final CompatModePackages mCompatModePackages;
-
-    /**
-     * Set of IntentSenderRecord objects that are currently active.
-     */
-    final HashMap<PendingIntentRecord.Key, WeakReference<PendingIntentRecord>> mIntentSenderRecords
-            = new HashMap<PendingIntentRecord.Key, WeakReference<PendingIntentRecord>>();
-
-    /**
      * Fingerprints (hashCode()) of stack traces that we've
      * already logged DropBox entries for.  Guarded by itself.  If
      * something (rogue user app) forces this over
@@ -1097,11 +1078,10 @@
     volatile boolean mSystemReady = false;
     volatile boolean mOnBattery = false;
     volatile int mFactoryTest;
+    volatile boolean mBooting = false;
 
-    @GuardedBy("this") boolean mBooting = false;
     @GuardedBy("this") boolean mCallFinishBooting = false;
     @GuardedBy("this") boolean mBootAnimationComplete = false;
-    @GuardedBy("this") boolean mLaunchWarningShown = false;
     private @GuardedBy("this") boolean mCheckedForSetup = false;
 
     final Context mContext;
@@ -1388,10 +1368,8 @@
 
     long mLastWriteTime = 0;
 
-    /**
-     * Set to true after the system has finished booting.
-     */
-    boolean mBooted = false;
+    /** Set to true after the system has finished booting. */
+    volatile boolean mBooted = false;
 
     /**
      * Current boot phase.
@@ -1440,9 +1418,6 @@
     static final int UPDATE_TIME_ZONE = 13;
     static final int PROC_START_TIMEOUT_MSG = 20;
     static final int KILL_APPLICATION_MSG = 22;
-    static final int FINALIZE_PENDING_INTENT_MSG = 23;
-    static final int POST_HEAVY_NOTIFICATION_MSG = 24;
-    static final int CANCEL_HEAVY_NOTIFICATION_MSG = 25;
     static final int SHOW_STRICT_MODE_VIOLATION_UI_MSG = 26;
     static final int CHECK_EXCESSIVE_POWER_USE_MSG = 27;
     static final int CLEAR_DNS_CACHE_MSG = 28;
@@ -1451,7 +1426,6 @@
     static final int DISPATCH_PROCESS_DIED_UI_MSG = 32;
     static final int REPORT_MEM_USAGE_MSG = 33;
     static final int UPDATE_TIME_PREFERENCE_MSG = 41;
-    static final int FINISH_BOOTING_MSG = 45;
     static final int SEND_LOCALE_TO_MOUNT_DAEMON_MSG = 47;
     static final int NOTIFY_CLEARTEXT_NETWORK_MSG = 49;
     static final int POST_DUMP_HEAP_NOTIFICATION_MSG = 50;
@@ -1462,7 +1436,6 @@
     static final int IDLE_UIDS_MSG = 58;
     static final int HANDLE_TRUST_STORAGE_UPDATE_MSG = 63;
     static final int SERVICE_FOREGROUND_TIMEOUT_MSG = 66;
-    static final int DISPATCH_PENDING_INTENT_CANCEL_MSG = 67;
     static final int PUSH_TEMP_WHITELIST_UI_MSG = 68;
     static final int SERVICE_FOREGROUND_CRASH_MSG = 69;
     static final int DISPATCH_OOM_ADJ_OBSERVER_MSG = 70;
@@ -1661,21 +1634,6 @@
                 mServices.serviceForegroundCrash(
                     (ProcessRecord) msg.obj, msg.getData().getCharSequence(SERVICE_RECORD_KEY));
             } break;
-            case DISPATCH_PENDING_INTENT_CANCEL_MSG: {
-                RemoteCallbackList<IResultReceiver> callbacks
-                        = (RemoteCallbackList<IResultReceiver>)msg.obj;
-                int N = callbacks.beginBroadcast();
-                for (int i = 0; i < N; i++) {
-                    try {
-                        callbacks.getBroadcastItem(i).send(Activity.RESULT_CANCELED, null);
-                    } catch (RemoteException e) {
-                    }
-                }
-                callbacks.finishBroadcast();
-                // We have to clean up the RemoteCallbackList here, because otherwise it will
-                // needlessly hold the enclosed callbacks until the remote process dies.
-                callbacks.kill();
-            } break;
             case UPDATE_TIME_ZONE: {
                 synchronized (ActivityManagerService.this) {
                     for (int i = mLruProcesses.size() - 1 ; i >= 0 ; i--) {
@@ -1755,68 +1713,6 @@
                             false, userId, reason);
                 }
             } break;
-            case FINALIZE_PENDING_INTENT_MSG: {
-                ((PendingIntentRecord)msg.obj).completeFinalize();
-            } break;
-            case POST_HEAVY_NOTIFICATION_MSG: {
-                INotificationManager inm = NotificationManager.getService();
-                if (inm == null) {
-                    return;
-                }
-
-                ActivityRecord root = (ActivityRecord)msg.obj;
-                final WindowProcessController process = root.app;
-                if (process == null) {
-                    return;
-                }
-
-                try {
-                    Context context = mContext.createPackageContext(process.mInfo.packageName, 0);
-                    String text = mContext.getString(R.string.heavy_weight_notification,
-                            context.getApplicationInfo().loadLabel(context.getPackageManager()));
-                    Notification notification =
-                            new Notification.Builder(context,
-                                    SystemNotificationChannels.HEAVY_WEIGHT_APP)
-                            .setSmallIcon(com.android.internal.R.drawable.stat_sys_adb)
-                            .setWhen(0)
-                            .setOngoing(true)
-                            .setTicker(text)
-                            .setColor(mContext.getColor(
-                                    com.android.internal.R.color.system_notification_accent_color))
-                            .setContentTitle(text)
-                            .setContentText(
-                                    mContext.getText(R.string.heavy_weight_notification_detail))
-                            .setContentIntent(PendingIntent.getActivityAsUser(mContext, 0,
-                                    root.intent, PendingIntent.FLAG_CANCEL_CURRENT, null,
-                                    new UserHandle(root.userId)))
-                            .build();
-                    try {
-                        inm.enqueueNotificationWithTag("android", "android", null,
-                                SystemMessage.NOTE_HEAVY_WEIGHT_NOTIFICATION,
-                                notification, root.userId);
-                    } catch (RuntimeException e) {
-                        Slog.w(ActivityManagerService.TAG,
-                                "Error showing notification for heavy-weight app", e);
-                    } catch (RemoteException e) {
-                    }
-                } catch (NameNotFoundException e) {
-                    Slog.w(TAG, "Unable to create context for heavy notification", e);
-                }
-            } break;
-            case CANCEL_HEAVY_NOTIFICATION_MSG: {
-                INotificationManager inm = NotificationManager.getService();
-                if (inm == null) {
-                    return;
-                }
-                try {
-                    inm.cancelNotificationWithTag("android", null,
-                            SystemMessage.NOTE_HEAVY_WEIGHT_NOTIFICATION, msg.arg1);
-                } catch (RuntimeException e) {
-                    Slog.w(ActivityManagerService.TAG,
-                            "Error canceling notification for service", e);
-                } catch (RemoteException e) {
-                }
-            } break;
             case CHECK_EXCESSIVE_POWER_USE_MSG: {
                 synchronized (ActivityManagerService.this) {
                     checkExcessivePowerUsageLocked();
@@ -1853,17 +1749,6 @@
                 }
                 break;
             }
-            case FINISH_BOOTING_MSG: {
-                if (msg.arg1 != 0) {
-                    Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "FinishBooting");
-                    finishBooting();
-                    Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
-                }
-                if (msg.arg2 != 0) {
-                    mAtmInternal.enableScreenAfterBoot(mBooted);
-                }
-                break;
-            }
             case SEND_LOCALE_TO_MOUNT_DAEMON_MSG: {
                 try {
                     Locale l = (Locale) msg.obj;
@@ -2382,7 +2267,7 @@
                 }
             }
             int logSampleRate = Settings.Global.getInt(mContext.getContentResolver(),
-                    Settings.Global.HIDDEN_API_ACCESS_LOG_SAMPLING_RATE, -1);
+                    Settings.Global.HIDDEN_API_ACCESS_LOG_SAMPLING_RATE, 0x200);
             if (logSampleRate < 0 || logSampleRate > 0x10000) {
                 logSampleRate = -1;
             }
@@ -2430,7 +2315,6 @@
         mAppErrors = null;
         mAppOpsService = mInjector.getAppOpsService(null, null);
         mBatteryStatsService = null;
-        mCompatModePackages = null;
         mConstants = null;
         mHandler = null;
         mHandlerThread = null;
@@ -2442,6 +2326,7 @@
         mSystemThread = null;
         mUiHandler = injector.getUiHandler(null);
         mUserController = null;
+        mPendingIntentController = null;
         mProcStartHandlerThread = null;
         mProcStartHandler = null;
         mHiddenApiBlacklist = null;
@@ -2495,7 +2380,8 @@
         final File systemDir = SystemServiceManager.ensureSystemDir();
 
         // TODO: Move creation of battery stats service outside of activity manager service.
-        mBatteryStatsService = new BatteryStatsService(systemContext, systemDir, mHandler);
+        mBatteryStatsService = new BatteryStatsService(systemContext, systemDir,
+                BackgroundThread.get().getHandler());
         mBatteryStatsService.getActiveStatistics().readLocked();
         mBatteryStatsService.scheduleWriteToDisk();
         mOnBattery = DEBUG_POWER ? true
@@ -2511,6 +2397,9 @@
 
         mUserController = new UserController(this);
 
+        mPendingIntentController = new PendingIntentController(
+                mHandlerThread.getLooper(), mUserController);
+
         GL_ES_VERSION = SystemProperties.getInt("ro.opengles.version",
             ConfigurationInfo.GL_ES_VERSION_UNDEFINED);
 
@@ -2519,7 +2408,6 @@
         }
 
         mTrackingAssociations = "1".equals(SystemProperties.get("debug.track-associations"));
-        mCompatModePackages = new CompatModePackages(this, systemDir, mHandler);
         mIntentFirewall = new IntentFirewall(new IntentFirewallInterface(), mHandler);
 
         mActivityTaskManager = atm;
@@ -2597,6 +2485,7 @@
         LocalServices.addService(ActivityManagerInternal.class, new LocalService());
         mActivityTaskManager.onActivityManagerInternalAdded();
         mUgmInternal.onActivityManagerInternalAdded();
+        mPendingIntentController.onActivityManagerInternalAdded();
         // Wait for the synchronized block started in mProcessCpuThread,
         // so that any other access to mProcessCpuTracker from main thread
         // will be blocked during mProcessCpuTracker initialization.
@@ -3648,6 +3537,9 @@
             String seInfo, String requiredAbi, String instructionSet, String invokeWith,
             long startTime) {
         try {
+            final String[] packageNames = mContext.getPackageManager().getPackagesForUid(uid);
+            final String[] visibleVolIds = LocalServices.getService(StorageManagerInternal.class)
+                    .getVisibleVolumesForUser(UserHandle.getUserId(uid));
             Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "Start proc: " +
                     app.processName);
             checkTime(startTime, "startProcess: asking zygote to start proc");
@@ -3657,12 +3549,14 @@
                         app.processName, uid, uid, gids, runtimeFlags, mountExternal,
                         app.info.targetSdkVersion, seInfo, requiredAbi, instructionSet,
                         app.info.dataDir, null, app.info.packageName,
+                        packageNames, visibleVolIds,
                         new String[] {PROC_START_SEQ_IDENT + app.startSeq});
             } else {
                 startResult = Process.start(entryPoint,
                         app.processName, uid, uid, gids, runtimeFlags, mountExternal,
                         app.info.targetSdkVersion, seInfo, requiredAbi, instructionSet,
                         app.info.dataDir, invokeWith, app.info.packageName,
+                        packageNames, visibleVolIds,
                         new String[] {PROC_START_SEQ_IDENT + app.startSeq});
             }
             checkTime(startTime, "startProcess: returned from zygote!");
@@ -3791,31 +3685,31 @@
         return true;
     }
 
-    void updateUsageStats(ActivityRecord component, boolean resumed) {
+    void updateUsageStats(ComponentName activity, int uid, int userId, boolean resumed) {
         if (DEBUG_SWITCH) Slog.d(TAG_SWITCH,
-                "updateUsageStats: comp=" + component + "res=" + resumed);
+                "updateUsageStats: comp=" + activity + "res=" + resumed);
         final BatteryStatsImpl stats = mBatteryStatsService.getActiveStatistics();
         StatsLog.write(StatsLog.ACTIVITY_FOREGROUND_STATE_CHANGED,
-            component.app.mUid, component.realActivity.getPackageName(),
-            component.realActivity.getShortClassName(), resumed ?
+            uid, activity.getPackageName(),
+            activity.getShortClassName(), resumed ?
                         StatsLog.ACTIVITY_FOREGROUND_STATE_CHANGED__STATE__FOREGROUND :
                         StatsLog.ACTIVITY_FOREGROUND_STATE_CHANGED__STATE__BACKGROUND);
         if (resumed) {
             if (mUsageStatsService != null) {
-                mUsageStatsService.reportEvent(component.realActivity, component.userId,
+                mUsageStatsService.reportEvent(activity, userId,
                         UsageEvents.Event.MOVE_TO_FOREGROUND);
 
             }
             synchronized (stats) {
-                stats.noteActivityResumedLocked(component.app.mUid);
+                stats.noteActivityResumedLocked(uid);
             }
         } else {
             if (mUsageStatsService != null) {
-                mUsageStatsService.reportEvent(component.realActivity, component.userId,
+                mUsageStatsService.reportEvent(activity, userId,
                         UsageEvents.Event.MOVE_TO_BACKGROUND);
             }
             synchronized (stats) {
-                stats.noteActivityPausedLocked(component.app.mUid);
+                stats.noteActivityPausedLocked(uid);
             }
         }
     }
@@ -3895,8 +3789,8 @@
         mCheckedForSetup = checked;
     }
 
-    CompatibilityInfo compatibilityInfoForPackageLocked(ApplicationInfo ai) {
-        return mCompatModePackages.compatibilityInfoForPackageLocked(ai);
+    CompatibilityInfo compatibilityInfoForPackage(ApplicationInfo ai) {
+        return mAtmInternal.compatibilityInfoForPackage(ai);
     }
 
     private void enforceNotIsolatedCaller(String caller) {
@@ -3906,37 +3800,8 @@
     }
 
     @Override
-    public int getPackageScreenCompatMode(String packageName) {
-        enforceNotIsolatedCaller("getPackageScreenCompatMode");
-        synchronized (this) {
-            return mCompatModePackages.getPackageScreenCompatModeLocked(packageName);
-        }
-    }
-
-    @Override
     public void setPackageScreenCompatMode(String packageName, int mode) {
-        enforceCallingPermission(android.Manifest.permission.SET_SCREEN_COMPATIBILITY,
-                "setPackageScreenCompatMode");
-        synchronized (this) {
-            mCompatModePackages.setPackageScreenCompatModeLocked(packageName, mode);
-        }
-    }
-
-    @Override
-    public boolean getPackageAskScreenCompat(String packageName) {
-        enforceNotIsolatedCaller("getPackageAskScreenCompat");
-        synchronized (this) {
-            return mCompatModePackages.getPackageAskCompatModeLocked(packageName);
-        }
-    }
-
-    @Override
-    public void setPackageAskScreenCompat(String packageName, boolean ask) {
-        enforceCallingPermission(android.Manifest.permission.SET_SCREEN_COMPATIBILITY,
-                "setPackageAskScreenCompat");
-        synchronized (this) {
-            mCompatModePackages.setPackageAskCompatModeLocked(packageName, ask);
-        }
+        mActivityTaskManager.setPackageScreenCompatMode(packageName, mode);
     }
 
     private boolean hasUsageStatsPermission(String callingPackage) {
@@ -4307,19 +4172,7 @@
             Slog.w(TAG, msg);
             throw new SecurityException(msg);
         }
-
-        synchronized(this) {
-            final ProcessRecord proc = mHeavyWeightProcess;
-            if (proc == null) {
-                return;
-            }
-
-            proc.getWindowProcessController().finishActivities();
-
-            mHandler.sendMessage(mHandler.obtainMessage(CANCEL_HEAVY_NOTIFICATION_MSG,
-                    proc.userId, 0));
-            mHeavyWeightProcess = null;
-        }
+        mAtmInternal.finishHeavyWeightApp();
     }
 
     @Override
@@ -5641,55 +5494,8 @@
         }
 
         if (packageName == null || uninstalling) {
-            // Remove pending intents.  For now we only do this when force
-            // stopping users, because we have some problems when doing this
-            // for packages -- app widgets are not currently cleaned up for
-            // such packages, so they can be left with bad pending intents.
-            if (mIntentSenderRecords.size() > 0) {
-                Iterator<WeakReference<PendingIntentRecord>> it
-                        = mIntentSenderRecords.values().iterator();
-                while (it.hasNext()) {
-                    WeakReference<PendingIntentRecord> wpir = it.next();
-                    if (wpir == null) {
-                        it.remove();
-                        continue;
-                    }
-                    PendingIntentRecord pir = wpir.get();
-                    if (pir == null) {
-                        it.remove();
-                        continue;
-                    }
-                    if (packageName == null) {
-                        // Stopping user, remove all objects for the user.
-                        if (pir.key.userId != userId) {
-                            // Not the same user, skip it.
-                            continue;
-                        }
-                    } else {
-                        if (UserHandle.getAppId(pir.uid) != appId) {
-                            // Different app id, skip it.
-                            continue;
-                        }
-                        if (userId != UserHandle.USER_ALL && pir.key.userId != userId) {
-                            // Different user, skip it.
-                            continue;
-                        }
-                        if (!pir.key.packageName.equals(packageName)) {
-                            // Different package, skip it.
-                            continue;
-                        }
-                    }
-                    if (!doit) {
-                        return true;
-                    }
-                    didSomething = true;
-                    it.remove();
-                    makeIntentSenderCanceledLocked(pir);
-                    if (pir.key.activity != null && pir.key.activity.pendingResults != null) {
-                        pir.key.activity.pendingResults.remove(pir.ref);
-                    }
-                }
-            }
+            didSomething |= mPendingIntentController.removePendingIntentsForPackage(
+                    packageName, userId, appId, doit);
         }
 
         if (doit) {
@@ -5789,11 +5595,8 @@
             return false;
         }
         removeProcessNameLocked(name, uid);
-        if (mHeavyWeightProcess == app) {
-            mHandler.sendMessage(mHandler.obtainMessage(CANCEL_HEAVY_NOTIFICATION_MSG,
-                    mHeavyWeightProcess.userId, 0));
-            mHeavyWeightProcess = null;
-        }
+        mAtmInternal.clearHeavyWeightProcessIfEquals(app.getWindowProcessController());
+
         boolean needRestart = false;
         if ((app.pid > 0 && app.pid != MY_PID) || (app.pid == 0 && app.pendingStart)) {
             int pid = app.pid;
@@ -5851,11 +5654,7 @@
             EventLog.writeEvent(EventLogTags.AM_PROCESS_START_TIMEOUT, app.userId,
                     pid, app.uid, app.processName);
             removeProcessNameLocked(app.processName, app.uid);
-            if (mHeavyWeightProcess == app) {
-                mHandler.sendMessage(mHandler.obtainMessage(CANCEL_HEAVY_NOTIFICATION_MSG,
-                        mHeavyWeightProcess.userId, 0));
-                mHeavyWeightProcess = null;
-            }
+            mAtmInternal.clearHeavyWeightProcessIfEquals(app.getWindowProcessController());
             mBatteryStatsService.noteProcessFinish(app.processName, app.info.uid);
             // Take care of any launching providers waiting for this process.
             cleanupAppInLaunchingProvidersLocked(app, true);
@@ -6032,9 +5831,10 @@
                                  PackageManager.NOTIFY_PACKAGE_USE_INSTRUMENTATION);
             }
             if (DEBUG_CONFIGURATION) Slog.v(TAG_CONFIGURATION, "Binding proc "
-                    + processName + " with config " + getGlobalConfiguration());
+                    + processName + " with config "
+                    + app.getWindowProcessController().getConfiguration());
             ApplicationInfo appInfo = instr != null ? instr.mTargetInfo : app.info;
-            app.compat = compatibilityInfoForPackageLocked(appInfo);
+            app.compat = compatibilityInfoForPackage(appInfo);
 
             ProfilerInfo profilerInfo = null;
             String preBindAgent = null;
@@ -6145,8 +5945,8 @@
                         instr2.mUiAutomationConnection, testMode,
                         mBinderTransactionTrackingEnabled, enableTrackAllocation,
                         isRestrictedBackupMode || !normalMode, app.isPersistent(),
-                        new Configuration(getGlobalConfiguration()), app.compat,
-                        getCommonServicesLocked(app.isolated),
+                        new Configuration(app.getWindowProcessController().getConfiguration()),
+                        app.compat, getCommonServicesLocked(app.isolated),
                         mCoreSettingsObserver.getCoreSettingsLocked(),
                         buildSerial, isAutofillCompatEnabled);
             } else {
@@ -6154,8 +5954,8 @@
                         null, null, null, testMode,
                         mBinderTransactionTrackingEnabled, enableTrackAllocation,
                         isRestrictedBackupMode || !normalMode, app.isPersistent(),
-                        new Configuration(getGlobalConfiguration()), app.compat,
-                        getCommonServicesLocked(app.isolated),
+                        new Configuration(app.getWindowProcessController().getConfiguration()),
+                        app.compat, getCommonServicesLocked(app.isolated),
                         mCoreSettingsObserver.getCoreSettingsLocked(),
                         buildSerial, isAutofillCompatEnabled);
             }
@@ -6231,7 +6031,7 @@
                              PackageManager.NOTIFY_PACKAGE_USE_BACKUP);
             try {
                 thread.scheduleCreateBackupAgent(mBackupTarget.appInfo,
-                        compatibilityInfoForPackageLocked(mBackupTarget.appInfo),
+                        compatibilityInfoForPackage(mBackupTarget.appInfo),
                         mBackupTarget.backupMode);
             } catch (Exception e) {
                 Slog.wtf(TAG, "Exception thrown creating backup agent in " + app, e);
@@ -6264,11 +6064,6 @@
         }
     }
 
-    void postFinishBooting(boolean finishBooting, boolean enableScreen) {
-        mHandler.sendMessage(mHandler.obtainMessage(FINISH_BOOTING_MSG,
-                finishBooting ? 1 : 0, enableScreen ? 1 : 0));
-    }
-
     @Override
     public void showBootMessage(final CharSequence msg, final boolean always) {
         if (Binder.getCallingUid() != myUid()) {
@@ -6278,6 +6073,8 @@
     }
 
     final void finishBooting() {
+        Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "FinishBooting");
+
         synchronized (this) {
             if (!mBootAnimationComplete) {
                 mCallFinishBooting = true;
@@ -6383,6 +6180,8 @@
                     });
             mUserController.scheduleStartProfiles();
         }
+
+        Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
     }
 
     @Override
@@ -6393,9 +6192,7 @@
             mBootAnimationComplete = true;
         }
         if (callFinishBooting) {
-            Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "FinishBooting");
             finishBooting();
-            Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
         }
     }
 
@@ -6410,9 +6207,7 @@
         }
 
         if (booting) {
-            Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "FinishBooting");
             finishBooting();
-            Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
         }
 
         if (enableScreen) {
@@ -6483,90 +6278,19 @@
                     }
                 }
 
-                return getIntentSenderLocked(type, packageName, callingUid, userId,
-                        token, resultWho, requestCode, intents, resolvedTypes, flags, bOptions);
-
+                if (type == ActivityManager.INTENT_SENDER_ACTIVITY_RESULT) {
+                    return mAtmInternal.getIntentSender(type, packageName, callingUid, userId,
+                            token, resultWho, requestCode, intents, resolvedTypes, flags, bOptions);
+                }
+                return mPendingIntentController.getIntentSender(type, packageName, callingUid,
+                        userId, token, resultWho, requestCode, intents, resolvedTypes, flags,
+                        bOptions);
             } catch (RemoteException e) {
                 throw new SecurityException(e);
             }
         }
     }
 
-    IIntentSender getIntentSenderLocked(int type, String packageName,
-            int callingUid, int userId, IBinder token, String resultWho,
-            int requestCode, Intent[] intents, String[] resolvedTypes, int flags,
-            Bundle bOptions) {
-        if (DEBUG_MU) Slog.v(TAG_MU, "getIntentSenderLocked(): uid=" + callingUid);
-        ActivityRecord activity = null;
-        if (type == ActivityManager.INTENT_SENDER_ACTIVITY_RESULT) {
-            activity = ActivityRecord.isInStackLocked(token);
-            if (activity == null) {
-                Slog.w(TAG, "Failed createPendingResult: activity " + token + " not in any stack");
-                return null;
-            }
-            if (activity.finishing) {
-                Slog.w(TAG, "Failed createPendingResult: activity " + activity + " is finishing");
-                return null;
-            }
-        }
-
-        // We're going to be splicing together extras before sending, so we're
-        // okay poking into any contained extras.
-        if (intents != null) {
-            for (int i = 0; i < intents.length; i++) {
-                intents[i].setDefusable(true);
-            }
-        }
-        Bundle.setDefusable(bOptions, true);
-
-        final boolean noCreate = (flags&PendingIntent.FLAG_NO_CREATE) != 0;
-        final boolean cancelCurrent = (flags&PendingIntent.FLAG_CANCEL_CURRENT) != 0;
-        final boolean updateCurrent = (flags&PendingIntent.FLAG_UPDATE_CURRENT) != 0;
-        flags &= ~(PendingIntent.FLAG_NO_CREATE|PendingIntent.FLAG_CANCEL_CURRENT
-                |PendingIntent.FLAG_UPDATE_CURRENT);
-
-        PendingIntentRecord.Key key = new PendingIntentRecord.Key(type, packageName, activity,
-                resultWho, requestCode, intents, resolvedTypes, flags,
-                SafeActivityOptions.fromBundle(bOptions), userId);
-        WeakReference<PendingIntentRecord> ref;
-        ref = mIntentSenderRecords.get(key);
-        PendingIntentRecord rec = ref != null ? ref.get() : null;
-        if (rec != null) {
-            if (!cancelCurrent) {
-                if (updateCurrent) {
-                    if (rec.key.requestIntent != null) {
-                        rec.key.requestIntent.replaceExtras(intents != null ?
-                                intents[intents.length - 1] : null);
-                    }
-                    if (intents != null) {
-                        intents[intents.length-1] = rec.key.requestIntent;
-                        rec.key.allIntents = intents;
-                        rec.key.allResolvedTypes = resolvedTypes;
-                    } else {
-                        rec.key.allIntents = null;
-                        rec.key.allResolvedTypes = null;
-                    }
-                }
-                return rec;
-            }
-            makeIntentSenderCanceledLocked(rec);
-            mIntentSenderRecords.remove(key);
-        }
-        if (noCreate) {
-            return rec;
-        }
-        rec = new PendingIntentRecord(this, key, callingUid);
-        mIntentSenderRecords.put(key, rec.ref);
-        if (type == ActivityManager.INTENT_SENDER_ACTIVITY_RESULT) {
-            if (activity.pendingResults == null) {
-                activity.pendingResults
-                        = new HashSet<WeakReference<PendingIntentRecord>>();
-            }
-            activity.pendingResults.add(rec.ref);
-        }
-        return rec;
-    }
-
     @Override
     public int sendIntentSender(IIntentSender target, IBinder whitelistToken, int code,
             Intent intent, String resolvedType,
@@ -6606,44 +6330,7 @@
 
     @Override
     public void cancelIntentSender(IIntentSender sender) {
-        if (!(sender instanceof PendingIntentRecord)) {
-            return;
-        }
-        synchronized(this) {
-            PendingIntentRecord rec = (PendingIntentRecord)sender;
-            try {
-                final int uid = AppGlobals.getPackageManager().getPackageUid(rec.key.packageName,
-                        MATCH_DEBUG_TRIAGED_MISSING, UserHandle.getCallingUserId());
-                if (!UserHandle.isSameApp(uid, Binder.getCallingUid())) {
-                    String msg = "Permission Denial: cancelIntentSender() from pid="
-                        + Binder.getCallingPid()
-                        + ", uid=" + Binder.getCallingUid()
-                        + " is not allowed to cancel package "
-                        + rec.key.packageName;
-                    Slog.w(TAG, msg);
-                    throw new SecurityException(msg);
-                }
-            } catch (RemoteException e) {
-                throw new SecurityException(e);
-            }
-            cancelIntentSenderLocked(rec, true);
-        }
-    }
-
-    void cancelIntentSenderLocked(PendingIntentRecord rec, boolean cleanActivity) {
-        makeIntentSenderCanceledLocked(rec);
-        mIntentSenderRecords.remove(rec.key);
-        if (cleanActivity && rec.key.activity != null) {
-            rec.key.activity.pendingResults.remove(rec.ref);
-        }
-    }
-
-    void makeIntentSenderCanceledLocked(PendingIntentRecord rec) {
-        rec.canceled = true;
-        RemoteCallbackList<IResultReceiver> callbacks = rec.detachCancelListenersLocked();
-        if (callbacks != null) {
-            mHandler.obtainMessage(DISPATCH_PENDING_INTENT_CANCEL_MSG, callbacks).sendToTarget();
-        }
+        mPendingIntentController.cancelIntentSender(sender);
     }
 
     @Override
@@ -7954,7 +7641,23 @@
                 }
             }
 
-            boolean providerRunning = cpr != null && cpr.proc != null && !cpr.proc.killed;
+            boolean providerRunning = false;
+
+            if (cpr != null && cpr.proc != null) {
+                providerRunning = !cpr.proc.killed;
+
+                // Note if killedByAm is also set, this means the provider process has just been
+                // killed by AM (in ProcessRecord.kill()), but appDiedLocked() hasn't been called
+                // yet. So we need to call appDiedLocked() here and let it clean up.
+                // (See the commit message on I2c4ba1e87c2d47f2013befff10c49b3dc337a9a7 to see
+                // how to test this case.)
+                if (cpr.proc.killed && cpr.proc.killedByAm) {
+                    checkTime(startTime, "getContentProviderImpl: before appDied (killedByAm)");
+                    appDiedLocked(cpr.proc);
+                    checkTime(startTime, "getContentProviderImpl: after appDied (killedByAm)");
+                }
+            }
+
             if (providerRunning) {
                 cpi = cpr.info;
                 String msg;
@@ -8406,10 +8109,17 @@
         }
     }
 
+    /** @deprecated - Use {@link #removeContentProviderExternalAsUser} which takes a user ID. */
+    @Deprecated
+    @Override
     public void removeContentProviderExternal(String name, IBinder token) {
+        removeContentProviderExternalAsUser(name, token, UserHandle.getCallingUserId());
+    }
+
+    @Override
+    public void removeContentProviderExternalAsUser(String name, IBinder token, int userId) {
         enforceCallingPermission(android.Manifest.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY,
             "Do not have permission in call removeContentProviderExternal()");
-        int userId = UserHandle.getCallingUserId();
         long ident = Binder.clearCallingIdentity();
         try {
             removeContentProviderExternalUnchecked(name, token, userId);
@@ -8853,7 +8563,7 @@
             StatsLog.write(StatsLog.ISOLATED_UID_CHANGED, info.uid, uid,
                     StatsLog.ISOLATED_UID_CHANGED__EVENT__CREATED);
         }
-        final ProcessRecord r = new ProcessRecord(this, info, proc, uid);
+        final ProcessRecord r = new ProcessRecord(this, info, proc, uid, getGlobalConfiguration());
         if (!mBooted && !mBooting
                 && userId == UserHandle.USER_SYSTEM
                 && (info.flags & PERSISTENT_MASK) == PERSISTENT_MASK) {
@@ -9741,9 +9451,10 @@
 
         mBatteryStatsService.noteWakupAlarm(sourcePkg, sourceUid, workSource, tag);
         if (workSource != null) {
-            StatsLog.write(StatsLog.WAKEUP_ALARM_OCCURRED, workSource, tag);
+            StatsLog.write(StatsLog.WAKEUP_ALARM_OCCURRED, workSource, tag, sourcePkg);
         } else {
-            StatsLog.write_non_chained(StatsLog.WAKEUP_ALARM_OCCURRED, sourceUid, null, tag);
+            StatsLog.write_non_chained(StatsLog.WAKEUP_ALARM_OCCURRED, sourceUid, null, tag,
+                    sourcePkg);
         }
     }
 
@@ -10845,7 +10556,7 @@
             int clientTargetSdk) {
         outInfo.pid = app.pid;
         outInfo.uid = app.info.uid;
-        if (mHeavyWeightProcess == app) {
+        if (mAtmInternal.isHeavyWeightProcess(app.getWindowProcessController())) {
             outInfo.flags |= ActivityManager.RunningAppProcessInfo.FLAG_CANT_SAVE_STATE;
         }
         if (app.isPersistent()) {
@@ -11000,7 +10711,7 @@
                 pw.println("-------------------------------------------------------------------------------");
 
             }
-            dumpPendingIntentsLocked(fd, pw, args, opti, dumpAll, dumpPackage);
+            mPendingIntentController.dumpPendingIntents(pw, dumpAll, dumpPackage);
             pw.println();
             if (dumpAll) {
                 pw.println("-------------------------------------------------------------------------------");
@@ -11293,7 +11004,7 @@
                     opti++;
                 }
                 synchronized (this) {
-                    dumpPendingIntentsLocked(fd, pw, args, opti, true, dumpPackage);
+                    mPendingIntentController.dumpPendingIntents(pw, true, dumpPackage);
                 }
             } else if ("processes".equals(cmd) || "p".equals(cmd)) {
                 if (opti < args.length) {
@@ -11888,13 +11599,13 @@
             TimeUtils.formatDuration(mActivityTaskManager.mPreviousProcessVisibleTime, sb);
             pw.println(sb);
         }
-        if (mHeavyWeightProcess != null && (dumpPackage == null
-                || mHeavyWeightProcess.pkgList.containsKey(dumpPackage))) {
+        if (mActivityTaskManager.mHeavyWeightProcess != null && (dumpPackage == null
+                || mActivityTaskManager.mHeavyWeightProcess.mPkgList.contains(dumpPackage))) {
             if (needSep) {
                 pw.println();
                 needSep = false;
             }
-            pw.println("  mHeavyWeightProcess: " + mHeavyWeightProcess);
+            pw.println("  mHeavyWeightProcess: " + mActivityTaskManager.mHeavyWeightProcess);
         }
         if (dumpAll && mPendingStarts.size() > 0) {
             if (needSep) pw.println();
@@ -11913,10 +11624,10 @@
                 pw.println("  mConfigWillChange: "
                         + mActivityTaskManager.getTopDisplayFocusedStack().mConfigWillChange);
             }
-            if (mCompatModePackages.getPackages().size() > 0) {
+            if (mActivityTaskManager.mCompatModePackages.getPackages().size() > 0) {
                 boolean printed = false;
                 for (Map.Entry<String, Integer> entry
-                        : mCompatModePackages.getPackages().entrySet()) {
+                        : mActivityTaskManager.mCompatModePackages.getPackages().entrySet()) {
                     String pkg = entry.getKey();
                     int mode = entry.getValue();
                     if (dumpPackage != null && !dumpPackage.equals(pkg)) {
@@ -11941,7 +11652,9 @@
                         printed = true;
                     }
                     pw.print("    "); UserHandle.formatUid(pw, reg.uid);
-                    pw.print(" "); pw.print(reg.pkg); pw.print(":");
+                    pw.print(" "); pw.print(reg.pkg);
+                    final IUidObserver observer = mUidObservers.getRegisteredCallbackItem(i);
+                    pw.print(" "); pw.print(observer.getClass().getTypeName()); pw.print(":");
                     if ((reg.which&ActivityManager.UID_OBSERVER_IDLE) != 0) {
                         pw.print(" IDLE");
                     }
@@ -12296,12 +12009,13 @@
             proto.write(ActivityManagerServiceDumpProcessesProto.PREVIOUS_PROC_VISIBLE_TIME_MS, mActivityTaskManager.mPreviousProcessVisibleTime);
         }
 
-        if (mHeavyWeightProcess != null && (dumpPackage == null
-                || mHeavyWeightProcess.pkgList.containsKey(dumpPackage))) {
-            mHeavyWeightProcess.writeToProto(proto, ActivityManagerServiceDumpProcessesProto.HEAVY_WEIGHT_PROC);
+        if (mActivityTaskManager.mHeavyWeightProcess != null && (dumpPackage == null
+                || mActivityTaskManager.mHeavyWeightProcess.mPkgList.contains(dumpPackage))) {
+            ((ProcessRecord) mActivityTaskManager.mHeavyWeightProcess.mOwner).writeToProto(proto, ActivityManagerServiceDumpProcessesProto.HEAVY_WEIGHT_PROC);
         }
 
-        for (Map.Entry<String, Integer> entry : mCompatModePackages.getPackages().entrySet()) {
+        for (Map.Entry<String, Integer> entry
+                : mActivityTaskManager.mCompatModePackages.getPackages().entrySet()) {
             String pkg = entry.getKey();
             int mode = entry.getValue();
             if (dumpPackage == null || dumpPackage.equals(pkg)) {
@@ -12554,8 +12268,8 @@
         pw.println();
         pw.println("  mHomeProcess: " + mActivityTaskManager.mHomeProcess);
         pw.println("  mPreviousProcess: " + mActivityTaskManager.mPreviousProcess);
-        if (mHeavyWeightProcess != null) {
-            pw.println("  mHeavyWeightProcess: " + mHeavyWeightProcess);
+        if (mActivityTaskManager.mHeavyWeightProcess != null) {
+            pw.println("  mHeavyWeightProcess: " + mActivityTaskManager.mHeavyWeightProcess);
         }
 
         return true;
@@ -12988,61 +12702,6 @@
         mUgmInternal.dump(pw, dumpAll, dumpPackage);
     }
 
-    void dumpPendingIntentsLocked(FileDescriptor fd, PrintWriter pw, String[] args,
-            int opti, boolean dumpAll, String dumpPackage) {
-        boolean printed = false;
-
-        pw.println("ACTIVITY MANAGER PENDING INTENTS (dumpsys activity intents)");
-
-        if (mIntentSenderRecords.size() > 0) {
-            // Organize these by package name, so they are easier to read.
-            final ArrayMap<String, ArrayList<PendingIntentRecord>> byPackage = new ArrayMap<>();
-            final ArrayList<WeakReference<PendingIntentRecord>> weakRefs = new ArrayList<>();
-            final Iterator<WeakReference<PendingIntentRecord>> it
-                    = mIntentSenderRecords.values().iterator();
-            while (it.hasNext()) {
-                WeakReference<PendingIntentRecord> ref = it.next();
-                PendingIntentRecord rec = ref != null ? ref.get() : null;
-                if (rec == null) {
-                    weakRefs.add(ref);
-                    continue;
-                }
-                if (dumpPackage != null && !dumpPackage.equals(rec.key.packageName)) {
-                    continue;
-                }
-                ArrayList<PendingIntentRecord> list = byPackage.get(rec.key.packageName);
-                if (list == null) {
-                    list = new ArrayList<>();
-                    byPackage.put(rec.key.packageName, list);
-                }
-                list.add(rec);
-            }
-            for (int i = 0; i < byPackage.size(); i++) {
-                ArrayList<PendingIntentRecord> intents = byPackage.valueAt(i);
-                printed = true;
-                pw.print("  * "); pw.print(byPackage.keyAt(i));
-                pw.print(": "); pw.print(intents.size()); pw.println(" items");
-                for (int j = 0; j < intents.size(); j++) {
-                    pw.print("    #"); pw.print(j); pw.print(": "); pw.println(intents.get(j));
-                    if (dumpAll) {
-                        intents.get(j).dump(pw, "      ");
-                    }
-                }
-            }
-            if (weakRefs.size() > 0) {
-                printed = true;
-                pw.println("  * WEAK REFS:");
-                for (int i = 0; i < weakRefs.size(); i++) {
-                    pw.print("    #"); pw.print(i); pw.print(": "); pw.println(weakRefs.get(i));
-                }
-            }
-        }
-
-        if (!printed) {
-            pw.println("  (nothing)");
-        }
-    }
-
     private static final int dumpProcessList(PrintWriter pw,
             ActivityManagerService service, List list,
             String prefix, String normalLabel, String persistentLabel,
@@ -15187,11 +14846,7 @@
             if (!replacingPid) {
                 removeProcessNameLocked(app.processName, app.uid, app);
             }
-            if (mHeavyWeightProcess == app) {
-                mHandler.sendMessage(mHandler.obtainMessage(CANCEL_HEAVY_NOTIFICATION_MSG,
-                        mHeavyWeightProcess.userId, 0));
-                mHeavyWeightProcess = null;
-            }
+            mAtmInternal.clearHeavyWeightProcessIfEquals(app.getWindowProcessController());
         } else if (!app.removed) {
             // This app is persistent, so we need to keep its record around.
             // If it is not already on the pending app list, add it there
@@ -15321,24 +14976,6 @@
         }
     }
 
-    ComponentName startServiceInPackage(int uid, Intent service, String resolvedType,
-            boolean fgRequired, String callingPackage, int userId)
-            throws TransactionTooLargeException {
-        synchronized(this) {
-            if (DEBUG_SERVICE) Slog.v(TAG_SERVICE,
-                    "startServiceInPackage: " + service + " type=" + resolvedType);
-            final long origId = Binder.clearCallingIdentity();
-            ComponentName res;
-            try {
-                res = mServices.startServiceLocked(null, service,
-                        resolvedType, -1, uid, fgRequired, callingPackage, userId);
-            } finally {
-                Binder.restoreCallingIdentity(origId);
-            }
-            return res;
-        }
-    }
-
     @Override
     public int stopService(IApplicationThread caller, Intent service,
             String resolvedType, int userId) {
@@ -15575,7 +15212,7 @@
                 if (DEBUG_BACKUP) Slog.v(TAG_BACKUP, "Agent proc already running: " + proc);
                 try {
                     proc.thread.scheduleCreateBackupAgent(app,
-                            compatibilityInfoForPackageLocked(app), backupMode);
+                            compatibilityInfoForPackage(app), backupMode);
                 } catch (RemoteException e) {
                     // Will time out on the backup manager side
                 }
@@ -15674,7 +15311,7 @@
                 if (proc.thread != null) {
                     try {
                         proc.thread.scheduleDestroyBackupAgent(appInfo,
-                                compatibilityInfoForPackageLocked(appInfo));
+                                compatibilityInfoForPackage(appInfo));
                     } catch (Exception e) {
                         Slog.e(TAG, "Exception when unbinding backup agent:");
                         e.printStackTrace();
@@ -16383,7 +16020,6 @@
 
                                         mServices.forceStopPackageLocked(ssp, userId);
                                         mAtmInternal.onPackageUninstalled(ssp);
-                                        mCompatModePackages.handlePackageUninstalledLocked(ssp);
                                         mBatteryStatsService.notePackageUninstalled(ssp);
                                     }
                                 } else {
@@ -16445,7 +16081,7 @@
                     if (data != null && (ssp = data.getSchemeSpecificPart()) != null) {
                         final boolean replacing =
                                 intent.getBooleanExtra(Intent.EXTRA_REPLACING, false);
-                        mCompatModePackages.handlePackageAddedLocked(ssp, replacing);
+                        mAtmInternal.onPackageAdded(ssp, replacing);
 
                         try {
                             ApplicationInfo ai = AppGlobals.getPackageManager().
@@ -16462,7 +16098,6 @@
                     Uri data = intent.getData();
                     String ssp;
                     if (data != null && (ssp = data.getSchemeSpecificPart()) != null) {
-                        mCompatModePackages.handlePackageDataClearedLocked(ssp);
                         mAtmInternal.onPackageDataCleared(ssp);
                     }
                     break;
@@ -17220,30 +16855,6 @@
         }
     }
 
-    // =========================================================
-    // CONFIGURATION
-    // =========================================================
-
-    public ConfigurationInfo getDeviceConfigurationInfo() {
-        ConfigurationInfo config = new ConfigurationInfo();
-        synchronized (this) {
-            final Configuration globalConfig = getGlobalConfiguration();
-            config.reqTouchScreen = globalConfig.touchscreen;
-            config.reqKeyboardType = globalConfig.keyboard;
-            config.reqNavigation = globalConfig.navigation;
-            if (globalConfig.navigation == Configuration.NAVIGATION_DPAD
-                    || globalConfig.navigation == Configuration.NAVIGATION_TRACKBALL) {
-                config.reqInputFeatures |= ConfigurationInfo.INPUT_FEATURE_FIVE_WAY_NAV;
-            }
-            if (globalConfig.keyboard != Configuration.KEYBOARD_UNDEFINED
-                    && globalConfig.keyboard != Configuration.KEYBOARD_NOKEYS) {
-                config.reqInputFeatures |= ConfigurationInfo.INPUT_FEATURE_HARD_KEYBOARD;
-            }
-            config.reqGlEsVersion = GL_ES_VERSION;
-        }
-        return config;
-    }
-
     @Override
     public StackInfo getFocusedStackInfo() throws RemoteException {
         return mActivityTaskManager.getFocusedStackInfo();
@@ -17776,6 +17387,19 @@
             }
         }
 
+        // If the app was recently in the foreground and moved to a foreground service status,
+        // allow it to get a higher rank in memory for some time, compared to other foreground
+        // services so that it can finish performing any persistence/processing of in-memory state.
+        if (app.hasForegroundServices() && adj > ProcessList.PERCEPTIBLE_RECENT_FOREGROUND_APP_ADJ
+                && (app.lastTopTime + mConstants.TOP_TO_FGS_GRACE_DURATION > now
+                    || app.setProcState <= ActivityManager.PROCESS_STATE_TOP)) {
+            adj = ProcessList.PERCEPTIBLE_RECENT_FOREGROUND_APP_ADJ;
+            app.adjType = "fg-service-act";
+            if (DEBUG_OOM_ADJ_REASON || logUid == appUid) {
+                reportOomAdjMessageLocked(TAG_OOM_ADJ, "Raise to recent fg: " + app);
+            }
+        }
+
         if (adj > ProcessList.PERCEPTIBLE_APP_ADJ
                 || procState > ActivityManager.PROCESS_STATE_TRANSIENT_BACKGROUND) {
             if (app.forcingToImportant != null) {
@@ -17794,7 +17418,7 @@
             }
         }
 
-        if (app == mHeavyWeightProcess) {
+        if (mAtmInternal.isHeavyWeightProcess(app.getWindowProcessController())) {
             if (adj > ProcessList.HEAVY_WEIGHT_APP_ADJ) {
                 // We don't want to kill the current heavy-weight process.
                 adj = ProcessList.HEAVY_WEIGHT_APP_ADJ;
@@ -18043,6 +17667,10 @@
                                         cr.trackProcState(procState, mAdjSeq, now);
                                         trackedProcState = true;
                                     }
+                                } else if ((cr.flags & Context.BIND_ADJUST_BELOW_PERCEPTIBLE) != 0
+                                        && clientAdj < ProcessList.PERCEPTIBLE_APP_ADJ
+                                        && adj > ProcessList.PERCEPTIBLE_APP_ADJ + 1) {
+                                    newAdj = ProcessList.PERCEPTIBLE_APP_ADJ + 1;
                                 } else if ((cr.flags&Context.BIND_NOT_VISIBLE) != 0
                                         && clientAdj < ProcessList.PERCEPTIBLE_APP_ADJ
                                         && adj > ProcessList.PERCEPTIBLE_APP_ADJ) {
@@ -19042,6 +18670,8 @@
             // Must be called before updating setProcState
             maybeUpdateUsageStatsLocked(app, nowElapsed);
 
+            maybeUpdateLastTopTime(app, now);
+
             app.setProcState = app.curProcState;
             if (app.setProcState >= ActivityManager.PROCESS_STATE_HOME) {
                 app.notCachedSinceIdle = false;
@@ -19266,6 +18896,13 @@
         }
     }
 
+    private void maybeUpdateLastTopTime(ProcessRecord app, long nowUptime) {
+        if (app.setProcState <= ActivityManager.PROCESS_STATE_TOP
+                && app.curProcState > ActivityManager.PROCESS_STATE_TOP) {
+            app.lastTopTime = nowUptime;
+        }
+    }
+
     private final void setProcessTrackerStateLocked(ProcessRecord proc, int memFactor, long now) {
         if (proc.thread != null && proc.baseProcessTracker != null) {
             proc.baseProcessTracker.setState(
@@ -21027,7 +20664,8 @@
                                     memoryStat.pgmajfault,
                                     memoryStat.rssInBytes,
                                     memoryStat.cacheInBytes,
-                                    memoryStat.swapInBytes);
+                                    memoryStat.swapInBytes,
+                                    memoryStat.rssHighWatermarkInBytes);
                     processMemoryStates.add(processMemoryState);
                 }
             }
@@ -21062,18 +20700,6 @@
             ActivityManagerService.this.trimApplications();
         }
 
-        public int getPackageScreenCompatMode(ApplicationInfo ai) {
-            synchronized (ActivityManagerService.this) {
-                return mCompatModePackages.computeCompatModeLocked(ai);
-            }
-        }
-
-        public void setPackageScreenCompatMode(ApplicationInfo ai, int mode) {
-            synchronized (ActivityManagerService.this) {
-                mCompatModePackages.setPackageScreenCompatModeLocked(ai, mode);
-            }
-        }
-
         public void closeSystemDialogs(String reason) {
             ActivityManagerService.this.closeSystemDialogs(reason);
         }
@@ -21122,6 +20748,38 @@
         }
 
         @Override
+        public void updateCpuStats() {
+            synchronized (ActivityManagerService.this) {
+                ActivityManagerService.this.updateCpuStats();
+            }
+        }
+
+        @Override
+        public void updateUsageStats(ComponentName activity, int uid, int userId, boolean resumed) {
+            synchronized (ActivityManagerService.this) {
+                ActivityManagerService.this.updateUsageStats(activity, uid, userId, resumed);
+            }
+        }
+
+        @Override
+        public void updateForegroundTimeIfOnBattery(
+                String packageName, int uid, long cpuTimeDiff) {
+            synchronized (ActivityManagerService.this) {
+                if (!mBatteryStatsService.isOnBattery()) {
+                    return;
+                }
+                final BatteryStatsImpl bsi = mBatteryStatsService.getActiveStatistics();
+                synchronized (bsi) {
+                    final BatteryStatsImpl.Uid.Proc ps =
+                            bsi.getProcessStatsLocked(uid, packageName);
+                    if (ps != null) {
+                        ps.addForegroundTimeLocked(cpuTimeDiff);
+                    }
+                }
+            }
+        }
+
+        @Override
         public void sendForegroundProfileChanged(int userId) {
             mUserController.sendForegroundProfileChanged(userId);
         }
@@ -21181,6 +20839,71 @@
                 return ActivityManagerService.this.getTaskForActivity(token, onlyRoot);
             }
         }
+
+        @Override
+        public void setBooting(boolean booting) {
+            mBooting = booting;
+        }
+
+        @Override
+        public boolean isBooting() {
+            return mBooting;
+        }
+
+        @Override
+        public void setBooted(boolean booted) {
+            mBooted = booted;
+        }
+
+        @Override
+        public boolean isBooted() {
+            return mBooted;
+        }
+
+        @Override
+        public void finishBooting() {
+            ActivityManagerService.this.finishBooting();
+        }
+
+        @Override
+        public void tempWhitelistForPendingIntent(int callerPid, int callerUid, int targetUid,
+                long duration, String tag) {
+            synchronized (ActivityManagerService.this) {
+                ActivityManagerService.this.tempWhitelistForPendingIntentLocked(
+                        callerPid, callerUid, targetUid, duration, tag);
+            }
+        }
+
+        @Override
+        public int broadcastIntentInPackage(String packageName, int uid, Intent intent,
+                String resolvedType, IIntentReceiver resultTo, int resultCode, String resultData,
+                Bundle resultExtras, String requiredPermission, Bundle bOptions, boolean serialized,
+                boolean sticky, int userId) {
+            synchronized (ActivityManagerService.this) {
+                return ActivityManagerService.this.broadcastIntentInPackage(packageName, uid,
+                        intent, resolvedType, resultTo, resultCode, resultData, resultExtras,
+                        requiredPermission, bOptions, serialized, sticky, userId);
+            }
+        }
+
+        @Override
+        public ComponentName startServiceInPackage(int uid, Intent service, String resolvedType,
+                boolean fgRequired, String callingPackage, int userId)
+                throws TransactionTooLargeException {
+            synchronized(ActivityManagerService.this) {
+                if (DEBUG_SERVICE) Slog.v(TAG_SERVICE,
+                        "startServiceInPackage: " + service + " type=" + resolvedType);
+                final long origId = Binder.clearCallingIdentity();
+                ComponentName res;
+                try {
+                    res = mServices.startServiceLocked(null, service,
+                            resolvedType, -1, uid, fgRequired, callingPackage, userId);
+                } finally {
+                    Binder.restoreCallingIdentity(origId);
+                }
+                return res;
+            }
+        }
     }
 
     /**
diff --git a/services/core/java/com/android/server/am/ActivityManagerShellCommand.java b/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
index b24c36a..4bcaf71 100644
--- a/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
+++ b/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
@@ -2063,7 +2063,12 @@
             pw.print("has-secure-screen-lock: "); pw.println(kgm.isDeviceSecure());
         }
 
-        ConfigurationInfo configInfo = mInternal.getDeviceConfigurationInfo();
+        ConfigurationInfo configInfo = null;
+        try {
+            configInfo = mTaskInterface.getDeviceConfigurationInfo();
+        } catch (RemoteException e) {
+            throw e.rethrowFromSystemServer();
+        }
         if (configInfo.reqGlEsVersion != ConfigurationInfo.GL_ES_VERSION_UNDEFINED) {
             if (protoOutputStream != null) {
                 protoOutputStream.write(DeviceConfigurationProto.OPENGL_VERSION,
diff --git a/services/core/java/com/android/server/am/ActivityMetricsLogger.java b/services/core/java/com/android/server/am/ActivityMetricsLogger.java
index 263c34f..78b42f2 100644
--- a/services/core/java/com/android/server/am/ActivityMetricsLogger.java
+++ b/services/core/java/com/android/server/am/ActivityMetricsLogger.java
@@ -3,13 +3,13 @@
 import static android.app.ActivityManager.START_SUCCESS;
 import static android.app.ActivityManager.START_TASK_TO_FRONT;
 import static android.app.ActivityManager.processStateAmToProto;
-import static com.android.server.wm.ActivityTaskManagerInternal.APP_TRANSITION_TIMEOUT;
-import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
 import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
 import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
 import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
+import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
 import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
 import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
+
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.ACTION_ACTIVITY_START;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.APP_TRANSITION;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.APP_TRANSITION_BIND_APPLICATION_DELAY_MS;
@@ -28,9 +28,9 @@
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_ACTIVITY_RECORD_IS_NO_DISPLAY;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_ACTIVITY_RECORD_IS_VISIBLE;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_ACTIVITY_RECORD_IS_VISIBLE_IGNORING_KEYGUARD;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_ACTIVITY_RECORD_LAUNCH_MODE;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_ACTIVITY_RECORD_MILLIS_SINCE_LAST_LAUNCH;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_ACTIVITY_RECORD_MILLIS_SINCE_LAST_VISIBLE;
-import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_ACTIVITY_RECORD_LAUNCH_MODE;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_ACTIVITY_RECORD_PROCESS_NAME;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_ACTIVITY_RECORD_REAL_ACTIVITY;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_ACTIVITY_RECORD_RESULT_TO_PKG_NAME;
@@ -57,16 +57,16 @@
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_PROCESS_RECORD_PENDING_UI_CLEAN;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_PROCESS_RECORD_PROCESS_NAME;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_REAL_CALLING_UID;
-import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_REAL_CALLING_UID_PROC_STATE;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_REAL_CALLING_UID_HAS_ANY_VISIBLE_WINDOW;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_REAL_CALLING_UID_PROC_STATE;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_TARGET_PACKAGE_NAME;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_TARGET_SHORT_COMPONENT_NAME;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_TARGET_UID;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_TARGET_UID_HAS_ANY_VISIBLE_WINDOW;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_TARGET_UID_PROC_STATE;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_TARGET_WHITELIST_TAG;
-import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PACKAGE_OPTIMIZATION_COMPILATION_REASON;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PACKAGE_OPTIMIZATION_COMPILATION_FILTER;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PACKAGE_OPTIMIZATION_COMPILATION_REASON;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.TYPE_TRANSITION_COLD_LAUNCH;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.TYPE_TRANSITION_HOT_LAUNCH;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.TYPE_TRANSITION_REPORTED_DRAWN_NO_BUNDLE;
@@ -77,6 +77,7 @@
 import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME;
 import static com.android.server.am.MemoryStatUtil.MemoryStat;
 import static com.android.server.am.MemoryStatUtil.readMemoryStatFromFilesystem;
+import static com.android.server.wm.ActivityTaskManagerInternal.APP_TRANSITION_TIMEOUT;
 
 import android.content.Context;
 import android.content.Intent;
@@ -98,8 +99,6 @@
 import com.android.internal.os.SomeArgs;
 import com.android.server.LocalServices;
 
-import java.util.ArrayList;
-
 /**
  * Handles logging into Tron.
  */
diff --git a/services/core/java/com/android/server/am/ActivityRecord.java b/services/core/java/com/android/server/am/ActivityRecord.java
index 628207c..77cfb12 100644
--- a/services/core/java/com/android/server/am/ActivityRecord.java
+++ b/services/core/java/com/android/server/am/ActivityRecord.java
@@ -17,18 +17,18 @@
 package com.android.server.am;
 
 import static android.app.ActivityManager.LOCK_TASK_MODE_NONE;
-import static android.app.ActivityTaskManager.INVALID_STACK_ID;
 import static android.app.ActivityManager.TaskDescription.ATTR_TASKDESCRIPTION_PREFIX;
 import static android.app.ActivityOptions.ANIM_CLIP_REVEAL;
 import static android.app.ActivityOptions.ANIM_CUSTOM;
+import static android.app.ActivityOptions.ANIM_OPEN_CROSS_PROFILE_APPS;
 import static android.app.ActivityOptions.ANIM_REMOTE_ANIMATION;
 import static android.app.ActivityOptions.ANIM_SCALE_UP;
 import static android.app.ActivityOptions.ANIM_SCENE_TRANSITION;
-import static android.app.ActivityOptions.ANIM_OPEN_CROSS_PROFILE_APPS;
 import static android.app.ActivityOptions.ANIM_THUMBNAIL_ASPECT_SCALE_DOWN;
 import static android.app.ActivityOptions.ANIM_THUMBNAIL_ASPECT_SCALE_UP;
 import static android.app.ActivityOptions.ANIM_THUMBNAIL_SCALE_DOWN;
 import static android.app.ActivityOptions.ANIM_THUMBNAIL_SCALE_UP;
+import static android.app.ActivityTaskManager.INVALID_STACK_ID;
 import static android.app.AppOpsManager.MODE_ALLOWED;
 import static android.app.AppOpsManager.OP_PICTURE_IN_PICTURE;
 import static android.app.WindowConfiguration.ACTIVITY_TYPE_ASSISTANT;
@@ -81,6 +81,8 @@
 import static android.os.Build.VERSION_CODES.O;
 import static android.os.Process.SYSTEM_UID;
 import static android.os.Trace.TRACE_TAG_ACTIVITY_MANAGER;
+import static android.view.WindowManagerPolicyConstants.NAV_BAR_LEFT;
+
 import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_CONFIGURATION;
 import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_SAVED_STATE;
 import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_STATES;
@@ -93,6 +95,13 @@
 import static com.android.server.am.ActivityManagerDebugConfig.POSTFIX_VISIBILITY;
 import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM;
 import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME;
+import static com.android.server.am.ActivityRecordProto.CONFIGURATION_CONTAINER;
+import static com.android.server.am.ActivityRecordProto.FRONT_OF_TASK;
+import static com.android.server.am.ActivityRecordProto.IDENTIFIER;
+import static com.android.server.am.ActivityRecordProto.PROC_ID;
+import static com.android.server.am.ActivityRecordProto.STATE;
+import static com.android.server.am.ActivityRecordProto.TRANSLUCENT;
+import static com.android.server.am.ActivityRecordProto.VISIBLE;
 import static com.android.server.am.ActivityStack.ActivityState.INITIALIZING;
 import static com.android.server.am.ActivityStack.ActivityState.PAUSED;
 import static com.android.server.am.ActivityStack.ActivityState.PAUSING;
@@ -110,14 +119,6 @@
 import static com.android.server.am.TaskPersister.DEBUG;
 import static com.android.server.am.TaskPersister.IMAGE_EXTENSION;
 import static com.android.server.am.TaskRecord.INVALID_TASK_ID;
-import static com.android.server.am.ActivityRecordProto.CONFIGURATION_CONTAINER;
-import static com.android.server.am.ActivityRecordProto.FRONT_OF_TASK;
-import static com.android.server.am.ActivityRecordProto.IDENTIFIER;
-import static com.android.server.am.ActivityRecordProto.PROC_ID;
-import static com.android.server.am.ActivityRecordProto.STATE;
-import static com.android.server.am.ActivityRecordProto.TRANSLUCENT;
-import static com.android.server.am.ActivityRecordProto.VISIBLE;
-import static com.android.server.policy.WindowManagerPolicy.NAV_BAR_LEFT;
 import static com.android.server.wm.IdentifierProto.HASH_CODE;
 import static com.android.server.wm.IdentifierProto.TITLE;
 import static com.android.server.wm.IdentifierProto.USER_ID;
@@ -132,6 +133,7 @@
 import android.app.PendingIntent;
 import android.app.PictureInPictureParams;
 import android.app.ResultInfo;
+import android.app.servertransaction.ActivityConfigurationChangeItem;
 import android.app.servertransaction.ActivityLifecycleItem;
 import android.app.servertransaction.ActivityRelaunchItem;
 import android.app.servertransaction.ClientTransaction;
@@ -143,7 +145,6 @@
 import android.app.servertransaction.PipModeChangeItem;
 import android.app.servertransaction.ResumeActivityItem;
 import android.app.servertransaction.WindowVisibilityItem;
-import android.app.servertransaction.ActivityConfigurationChangeItem;
 import android.content.ComponentName;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
@@ -1279,20 +1280,14 @@
 
     /**
      * Check whether this activity can be launched on the specified display.
+     *
      * @param displayId Target display id.
-     * @return {@code true} if either it is the default display or this activity is resizeable and
-     *         can be put a secondary screen.
+     * @return {@code true} if either it is the default display or this activity can be put on a
+     *         secondary screen.
      */
     boolean canBeLaunchedOnDisplay(int displayId) {
-        final TaskRecord task = getTask();
-
-        // The resizeability of an Activity's parent task takes precendence over the ActivityInfo.
-        // This allows for a non resizable activity to be launched into a resizeable task.
-        final boolean resizeable =
-                task != null ? task.isResizeable() : supportsResizeableMultiWindow();
-
-        return service.mStackSupervisor.canPlaceEntityOnDisplay(displayId,
-                resizeable, launchedFromPid, launchedFromUid, info);
+        return service.mStackSupervisor.canPlaceEntityOnDisplay(displayId, launchedFromPid,
+                launchedFromUid, info);
     }
 
     /**
@@ -2331,7 +2326,7 @@
         }
 
         final CompatibilityInfo compatInfo =
-                service.mAm.compatibilityInfoForPackageLocked(info.applicationInfo);
+                service.compatibilityInfoForPackageLocked(info.applicationInfo);
         final boolean shown = mWindowContainerController.addStartingWindow(packageName, theme,
                 compatInfo, nonLocalizedLabel, labelRes, icon, logo, windowFlags,
                 prev != null ? prev.appToken : null, newTask, taskSwitch, isProcessRunning(),
@@ -2495,6 +2490,14 @@
         }
     }
 
+    /**
+     * @return {@code true} if this activity was reparented to another display but
+     *         {@link #ensureActivityConfiguration} is not called.
+     */
+    boolean shouldUpdateConfigForDisplayChanged() {
+        return mLastReportedDisplayId != getDisplayId();
+    }
+
     boolean ensureActivityConfiguration(int globalChanges, boolean preserveWindow) {
         return ensureActivityConfiguration(globalChanges, preserveWindow,
                 false /* ignoreStopState */);
diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java
index bc99827..9f59bd8 100644
--- a/services/core/java/com/android/server/am/ActivityStack.java
+++ b/services/core/java/com/android/server/am/ActivityStack.java
@@ -107,6 +107,7 @@
 
 import android.app.Activity;
 import android.app.ActivityManager;
+import android.app.ActivityManagerInternal;
 import android.app.ActivityOptions;
 import android.app.AppGlobals;
 import android.app.IActivityController;
@@ -151,6 +152,7 @@
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.app.IVoiceInteractor;
 import com.android.internal.os.BatteryStatsImpl;
+import com.android.internal.util.function.pooled.PooledLambda;
 import com.android.server.Watchdog;
 import com.android.server.am.ActivityManagerService.ItemMatcher;
 import com.android.server.wm.ConfigurationContainer;
@@ -347,6 +349,9 @@
     /** The attached Display's unique identifier, or -1 if detached */
     int mDisplayId;
 
+    /** Stores the override windowing-mode from before a transient mode change (eg. split) */
+    private int mRestoreOverrideWindowingMode = WINDOWING_MODE_UNDEFINED;
+
     private final SparseArray<Rect> mTmpBounds = new SparseArray<>();
     private final SparseArray<Rect> mTmpInsetBounds = new SparseArray<>();
     private final Rect mTmpRect2 = new Rect();
@@ -531,16 +536,48 @@
                 false /* enteringSplitScreenMode */, false /* deferEnsuringVisibility */);
     }
 
+    /**
+     * A transient windowing mode is one which activities enter into temporarily. Examples of this
+     * are Split window modes and pip. Non-transient modes are modes that displays can adopt.
+     *
+     * @param windowingMode the windowingMode to test for transient-ness.
+     * @return {@code true} if the windowing mode is transient, {@code false} otherwise.
+     */
+    private static boolean isTransientWindowingMode(int windowingMode) {
+        // TODO(b/114842032): add PIP if/when it uses mode transitions instead of task reparenting
+        return windowingMode == WINDOWING_MODE_SPLIT_SCREEN_PRIMARY
+                || windowingMode == WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
+    }
+
+    /**
+     * Specialization of {@link #setWindowingMode(int)} for this subclass.
+     *
+     * @param preferredWindowingMode the preferred windowing mode. This may not be honored depending
+     *         on the state of things. For example, WINDOWING_MODE_UNDEFINED will resolve to the
+     *         previous non-transient mode if this stack is currently in a transient mode.
+     * @param animate Can be used to prevent animation.
+     * @param showRecents Controls whether recents is shown on the other side of a split while
+     *         entering split mode.
+     * @param enteringSplitScreenMode {@code true} if entering split mode.
+     * @param deferEnsuringVisibility Whether visibility updates are deferred. This is set when
+     *         many operations (which can effect visibility) are being performed in bulk.
+     */
     void setWindowingMode(int preferredWindowingMode, boolean animate, boolean showRecents,
             boolean enteringSplitScreenMode, boolean deferEnsuringVisibility) {
         final boolean creating = mWindowContainerController == null;
         final int currentMode = getWindowingMode();
+        final int currentOverrideMode = getOverrideWindowingMode();
         final ActivityDisplay display = getDisplay();
         final TaskRecord topTask = topTask();
         final ActivityStack splitScreenStack = display.getSplitScreenPrimaryStack();
-        mTmpOptions.setLaunchWindowingMode(preferredWindowingMode);
-
         int windowingMode = preferredWindowingMode;
+        if (preferredWindowingMode == WINDOWING_MODE_UNDEFINED
+                && isTransientWindowingMode(currentMode)) {
+            // Leaving a transient mode. Interpret UNDEFINED as "restore"
+            windowingMode = mRestoreOverrideWindowingMode;
+        }
+        mTmpOptions.setLaunchWindowingMode(windowingMode);
+
         // Need to make sure windowing mode is supported. If we in the process of creating the stack
         // no need to resolve the windowing mode again as it is already resolved to the right mode.
         if (!creating) {
@@ -550,8 +587,8 @@
         if (splitScreenStack == this
                 && windowingMode == WINDOWING_MODE_SPLIT_SCREEN_SECONDARY) {
             // Resolution to split-screen secondary for the primary split-screen stack means
-            // we want to go fullscreen.
-            windowingMode = WINDOWING_MODE_FULLSCREEN;
+            // we want to leave split-screen mode.
+            windowingMode = mRestoreOverrideWindowingMode;
         }
 
         final boolean alreadyInSplitScreenMode = display.hasSplitScreenPrimaryStack();
@@ -570,21 +607,33 @@
                 // doesn't support split-screen mode, go ahead an dismiss split-screen and display a
                 // warning toast about it.
                 mService.getTaskChangeNotificationController().notifyActivityDismissingDockedStack();
-                display.getSplitScreenPrimaryStack().setWindowingMode(WINDOWING_MODE_FULLSCREEN,
+                display.getSplitScreenPrimaryStack().setWindowingMode(WINDOWING_MODE_UNDEFINED,
                         false /* animate */, false /* showRecents */,
                         false /* enteringSplitScreenMode */, true /* deferEnsuringVisibility */);
             }
         }
 
         if (currentMode == windowingMode) {
-            // You are already in the window mode silly...
+            // You are already in the window mode, so we can skip most of the work below. However,
+            // it's possible that we have inherited the current windowing mode from a parent. So,
+            // fulfill this method's contract by setting the override mode directly.
+            getOverrideConfiguration().windowConfiguration.setWindowingMode(windowingMode);
             return;
         }
 
         final WindowManagerService wm = mService.mWindowManager;
         final ActivityRecord topActivity = getTopActivity();
 
-        if (sendNonResizeableNotification && windowingMode != WINDOWING_MODE_FULLSCREEN
+        // For now, assume that the Stack's windowing mode is what will actually be used
+        // by it's activities. In the future, there may be situations where this doesn't
+        // happen; so at that point, this message will need to handle that.
+        int likelyResolvedMode = windowingMode;
+        if (windowingMode == WINDOWING_MODE_UNDEFINED) {
+            final ConfigurationContainer parent = getParent();
+            likelyResolvedMode = parent != null ? parent.getWindowingMode()
+                    : WINDOWING_MODE_FULLSCREEN;
+        }
+        if (sendNonResizeableNotification && likelyResolvedMode != WINDOWING_MODE_FULLSCREEN
                 && topActivity != null && topActivity.isNonResizableOrForcedResizable()
                 && !topActivity.noDisplay) {
             // Inform the user that they are starting an app that may not work correctly in
@@ -625,6 +674,9 @@
                         + " while there is already one isn't currently supported");
                 //return;
             }
+            if (isTransientWindowingMode(windowingMode) && !isTransientWindowingMode(currentMode)) {
+                mRestoreOverrideWindowingMode = currentOverrideMode;
+            }
 
             mTmpRect2.setEmpty();
             if (windowingMode != WINDOWING_MODE_FULLSCREEN) {
@@ -674,13 +726,6 @@
             // display, so they should be considered compatible.
             activityType = ACTIVITY_TYPE_STANDARD;
         }
-        final ActivityDisplay display = getDisplay();
-        if (display != null && activityType == ACTIVITY_TYPE_STANDARD
-                    && windowingMode == WINDOWING_MODE_UNDEFINED) {
-            // Standard activity types will mostly take on the windowing mode of the display if one
-            // isn't specified, so look-up a compatible stack based on the display's windowing mode.
-            windowingMode = display.getWindowingMode();
-        }
         return super.isCompatible(windowingMode, activityType);
     }
 
@@ -1085,7 +1130,7 @@
          * behind the home stack. Exit split screen in this case.
          */
         if (getWindowingMode() == WINDOWING_MODE_SPLIT_SCREEN_PRIMARY) {
-            setWindowingMode(WINDOWING_MODE_FULLSCREEN);
+            setWindowingMode(WINDOWING_MODE_UNDEFINED);
         }
 
         getDisplay().positionChildAtBottom(this);
@@ -1471,14 +1516,14 @@
 
         mStackSupervisor.getLaunchTimeTracker().stopFullyDrawnTraceIfNeeded(getWindowingMode());
 
-        mService.mAm.updateCpuStats();
+        mService.updateCpuStats();
 
         if (prev.attachedToProcess()) {
             if (DEBUG_PAUSE) Slog.v(TAG_PAUSE, "Enqueueing pending pause: " + prev);
             try {
                 EventLogTags.writeAmPauseActivity(prev.userId, System.identityHashCode(prev),
                         prev.shortComponentName, "userLeaving=" + userLeaving);
-                mService.mAm.updateUsageStats(prev, false);
+                mService.updateUsageStats(prev, false);
 
                 mService.getLifecycleManager().scheduleTransaction(prev.app.getThread(),
                         prev.appToken, PauseActivityItem.obtain(prev.finishing, userLeaving,
@@ -1640,20 +1685,13 @@
         if (prev != null) {
             prev.resumeKeyDispatchingLocked();
 
-            if (prev.hasProcess() && prev.cpuTimeAtResume > 0
-                    && mService.mAm.mBatteryStatsService.isOnBattery()) {
-                long diff = prev.app.getCpuTime() - prev.cpuTimeAtResume;
-                if (diff > 0) {
-                    BatteryStatsImpl bsi = mService.mAm.mBatteryStatsService.getActiveStatistics();
-                    synchronized (bsi) {
-                        BatteryStatsImpl.Uid.Proc ps =
-                                bsi.getProcessStatsLocked(prev.info.applicationInfo.uid,
-                                        prev.info.packageName);
-                        if (ps != null) {
-                            ps.addForegroundTimeLocked(diff);
-                        }
-                    }
-                }
+            final long diff = prev.app.getCpuTime() - prev.cpuTimeAtResume;
+            if (prev.hasProcess() && prev.cpuTimeAtResume > 0 && diff > 0) {
+                final Runnable r = PooledLambda.obtainRunnable(
+                        ActivityManagerInternal::updateForegroundTimeIfOnBattery,
+                        mService.mAmInternal, prev.info.packageName, prev.info.applicationInfo.uid,
+                        diff);
+                mService.mH.post(r);
             }
             prev.cpuTimeAtResume = 0; // reset it
         }
@@ -1670,7 +1708,7 @@
         mStackSupervisor.ensureActivitiesVisibleLocked(resuming, 0, !PRESERVE_WINDOWS);
     }
 
-    void addToStopping(ActivityRecord r, boolean scheduleIdle, boolean idleDelayed) {
+    private void addToStopping(ActivityRecord r, boolean scheduleIdle, boolean idleDelayed) {
         if (!mStackSupervisor.mStoppingActivities.contains(r)) {
             mStackSupervisor.mStoppingActivities.add(r);
 
@@ -2364,7 +2402,7 @@
 
     @GuardedBy("mService")
     private boolean resumeTopActivityInnerLocked(ActivityRecord prev, ActivityOptions options) {
-        if (!mService.mAm.mBooting && !mService.mAm.mBooted) {
+        if (!mService.isBooting() && !mService.isBooted()) {
             // Not ready yet!
             return false;
         }
@@ -2412,13 +2450,24 @@
         if (shouldSleepOrShutDownActivities()
                 && mLastPausedActivity == next
                 && mStackSupervisor.allPausedActivitiesComplete()) {
-            // Make sure we have executed any pending transitions, since there
-            // should be nothing left to do at this point.
-            executeAppTransition(options);
-            if (DEBUG_STATES) Slog.d(TAG_STATES,
-                    "resumeTopActivityLocked: Going to sleep and all paused");
-            if (DEBUG_STACK) mStackSupervisor.validateTopActivitiesLocked();
-            return false;
+            // If the current top activity may be able to occlude keyguard but the occluded state
+            // has not been set, update visibility and check again if we should continue to resume.
+            boolean nothingToResume = true;
+            if (!mService.mShuttingDown && !mTopActivityOccludesKeyguard
+                    && next.canShowWhenLocked()) {
+                ensureActivitiesVisibleLocked(null /* starting */, 0 /* configChanges */,
+                        !PRESERVE_WINDOWS);
+                nothingToResume = shouldSleepActivities();
+            }
+            if (nothingToResume) {
+                // Make sure we have executed any pending transitions, since there
+                // should be nothing left to do at this point.
+                executeAppTransition(options);
+                if (DEBUG_STATES) Slog.d(TAG_STATES,
+                        "resumeTopActivityLocked: Going to sleep and all paused");
+                if (DEBUG_STACK) mStackSupervisor.validateTopActivitiesLocked();
+                return false;
+            }
         }
 
         // Make sure that the user who owns this activity is started.  If not,
@@ -2648,7 +2697,7 @@
                         lastStack == null ? null :lastStack.mResumedActivity;
                 final ActivityState lastState = next.getState();
 
-                mService.mAm.updateCpuStats();
+                mService.updateCpuStats();
 
                 if (DEBUG_STATES) Slog.v(TAG_STATES, "Moving to RESUMED: " + next
                         + " (in existing)");
@@ -4106,7 +4155,7 @@
             for (WeakReference<PendingIntentRecord> apr : r.pendingResults) {
                 PendingIntentRecord rec = apr.get();
                 if (rec != null) {
-                    mService.mAm.cancelIntentSenderLocked(rec, false);
+                    mService.mPendingIntentController.cancelIntentSender(rec, false);
                 }
             }
             r.pendingResults = null;
@@ -4123,7 +4172,7 @@
         mWindowManager.notifyAppRelaunchesCleared(r.appToken);
     }
 
-    void removeTimeoutsForActivityLocked(ActivityRecord r) {
+    private void removeTimeoutsForActivityLocked(ActivityRecord r) {
         mStackSupervisor.removeTimeoutsForActivityLocked(r);
         mHandler.removeMessages(PAUSE_TIMEOUT_MSG, r);
         mHandler.removeMessages(STOP_TIMEOUT_MSG, r);
@@ -4325,12 +4374,8 @@
         if (hadApp) {
             if (removeFromApp) {
                 r.app.removeActivity(r);
-                if (mService.mAm.mHeavyWeightProcess != null
-                        && mService.mAm.mHeavyWeightProcess.getWindowProcessController() == r.app
-                        && !r.app.hasActivities()) {
-                    mService.mAm.mHeavyWeightProcess = null;
-                    mService.mAm.mHandler.sendEmptyMessage(
-                            ActivityManagerService.CANCEL_HEAVY_NOTIFICATION_MSG);
+                if (!r.app.hasActivities()) {
+                    mService.clearHeavyWeightProcessIfEquals(r.app);
                 }
                 if (!r.app.hasActivities()) {
                     // Update any services we are bound to that might care about whether
@@ -4521,7 +4566,7 @@
                                     r.getTask().taskId, r.shortComponentName,
                                     "proc died without state saved");
                             if (r.getState() == RESUMED) {
-                                mService.mAm.updateUsageStats(r, false);
+                                mService.updateUsageStats(r, false);
                             }
                         }
                     } else {
@@ -5332,12 +5377,14 @@
         display.positionChildAtTop(this, false /* includingParents */);
     }
 
+    /** NOTE: Should only be called from {@link TaskRecord#reparent}. */
     void moveToFrontAndResumeStateIfNeeded(ActivityRecord r, boolean moveToFront, boolean setResume,
             boolean setPause, String reason) {
         if (!moveToFront) {
             return;
         }
 
+        final ActivityState origState = r.getState();
         // If the activity owns the last resumed activity, transfer that together,
         // so that we don't resume the same activity again in the new stack.
         // Apps may depend on onResume()/onPause() being called in pairs.
@@ -5350,9 +5397,14 @@
             mPausingActivity = r;
             schedulePauseTimeout(r);
         }
-        // Move the stack in which we are placing the activity to the front. The call will also
-        // make sure the activity focus is set.
+        // Move the stack in which we are placing the activity to the front.
         moveToFront(reason);
+        // If the original state is resumed, there is no state change to update focused app.
+        // So here makes sure the activity focus is set if it is the top.
+        if (origState == RESUMED && r == mStackSupervisor.getTopResumedActivity()) {
+            // TODO(b/111361570): Support multiple focused apps in WM
+            mService.setResumedActivityUncheckLocked(r, reason);
+        }
     }
 
     public int getStackId() {
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index af2d3b0..877c856 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -488,8 +488,8 @@
     }
 
     /** Check if placing task or activity on specified display is allowed. */
-    boolean canPlaceEntityOnDisplay(int displayId, boolean resizeable, int callingPid,
-            int callingUid, ActivityInfo activityInfo) {
+    boolean canPlaceEntityOnDisplay(int displayId, int callingPid, int callingUid,
+            ActivityInfo activityInfo) {
         if (displayId == DEFAULT_DISPLAY) {
             // No restrictions for the default display.
             return true;
@@ -498,10 +498,6 @@
             // Can't launch on secondary displays if feature is not supported.
             return false;
         }
-        if (!resizeable && !displayConfigMatchesGlobal(displayId)) {
-            // Can't apply wrong configuration to non-resizeable activities.
-            return false;
-        }
         if (!isCallerAllowedToLaunchOnDisplay(callingPid, callingUid, displayId, activityInfo)) {
             // Can't place activities to a display that has restricted launch rules.
             // In this case the request should be made by explicitly adding target display id and
@@ -690,7 +686,7 @@
         mDisplayManagerInternal = LocalServices.getService(DisplayManagerInternal.class);
 
         final Display[] displays = mDisplayManager.getDisplays();
-        for (int displayNdx = displays.length - 1; displayNdx >= 0; --displayNdx) {
+        for (int displayNdx = 0; displayNdx < displays.length; ++displayNdx) {
             final Display display = displays[displayNdx];
             final ActivityDisplay activityDisplay = new ActivityDisplay(this, display);
             if (activityDisplay.mDisplayId == DEFAULT_DISPLAY) {
@@ -804,7 +800,7 @@
         }
 
         final ActivityRecord r = topRunningActivityLocked();
-        if (mService.mAm.mBooting || !mService.mAm.mBooted) {
+        if (mService.isBooting() || !mService.isBooted()) {
             if (r != null && r.idle) {
                 checkFinishBootingLocked();
             }
@@ -836,7 +832,7 @@
     }
 
     boolean resumeHomeStackTask(ActivityRecord prev, String reason) {
-        if (!mService.mAm.mBooting && !mService.mAm.mBooted) {
+        if (!mService.isBooting() && !mService.isBooted()) {
             // Not ready yet!
             return false;
         }
@@ -1534,7 +1530,7 @@
                 r.sleeping = false;
                 r.forceNewConfig = false;
                 mService.getAppWarningsLocked().onStartActivity(r);
-                r.compat = mService.mAm.compatibilityInfoForPackageLocked(r.info.applicationInfo);
+                r.compat = mService.compatibilityInfoForPackageLocked(r.info.applicationInfo);
                 ProfilerInfo profilerInfo = null;
                 if (mService.mAm.mProfileApp != null && mService.mAm.mProfileApp.equals(app.processName)) {
                     if (mService.mAm.mProfileProc == null || mService.mAm.mProfileProc == app) {
@@ -1562,7 +1558,8 @@
                 // we have to always create a new Configuration here.
 
                 final MergedConfiguration mergedConfiguration = new MergedConfiguration(
-                        mService.getGlobalConfiguration(), r.getMergedOverrideConfiguration());
+                        app.getWindowProcessController().getConfiguration(),
+                        r.getMergedOverrideConfiguration());
                 r.setLastReportedConfiguration(mergedConfiguration);
 
                 logIfTransactionTooLarge(r.intent, r.icicle);
@@ -1595,22 +1592,17 @@
 
                 if ((app.info.privateFlags & ApplicationInfo.PRIVATE_FLAG_CANT_SAVE_STATE) != 0
                         && mService.mAm.mHasHeavyWeightFeature) {
-                    // This may be a heavy-weight process!  Note that the package
-                    // manager will ensure that only activity can run in the main
-                    // process of the .apk, which is the only thing that will be
-                    // considered heavy-weight.
+                    // This may be a heavy-weight process! Note that the package manager will ensure
+                    // that only activity can run in the main process of the .apk, which is the only
+                    // thing that will be considered heavy-weight.
                     if (app.processName.equals(app.info.packageName)) {
-                        if (mService.mAm.mHeavyWeightProcess != null
-                                && mService.mAm.mHeavyWeightProcess != app) {
-                            Slog.w(TAG, "Starting new heavy weight process " + app
+                        if (mService.mHeavyWeightProcess != null
+                                && mService.mHeavyWeightProcess != proc) {
+                            Slog.w(TAG, "Starting new heavy weight process " + proc
                                     + " when already running "
-                                    + mService.mAm.mHeavyWeightProcess);
+                                    + mService.mHeavyWeightProcess);
                         }
-                        mService.mAm.mHeavyWeightProcess = app;
-                        Message msg = mService.mAm.mHandler.obtainMessage(
-                                ActivityManagerService.POST_HEAVY_NOTIFICATION_MSG);
-                        msg.obj = r;
-                        mService.mAm.mHandler.sendMessage(msg);
+                        mService.setHeavyWeightProcess(r);
                     }
                 }
 
@@ -2057,15 +2049,15 @@
      */
     @GuardedBy("mService")
     private boolean checkFinishBootingLocked() {
-        final boolean booting = mService.mAm.mBooting;
+        final boolean booting = mService.isBooting();
         boolean enableScreen = false;
-        mService.mAm.mBooting = false;
-        if (!mService.mAm.mBooted) {
-            mService.mAm.mBooted = true;
+        mService.setBooting(false);
+        if (!mService.isBooted()) {
+            mService.setBooted(true);
             enableScreen = true;
         }
         if (booting || enableScreen) {
-            mService.mAm.postFinishBooting(booting, enableScreen);
+            mService.postFinishBooting(booting, enableScreen);
         }
         return booting;
     }
@@ -2828,8 +2820,7 @@
                     if (!otherStack.inSplitScreenSecondaryWindowingMode()) {
                         continue;
                     }
-                    resizeStackLocked(otherStack, null, null, null, PRESERVE_WINDOWS,
-                            true /* allowResizeInDockedMode */, DEFER_RESUME);
+                    otherStack.setWindowingMode(WINDOWING_MODE_UNDEFINED);
                 }
 
                 // Also disable docked stack resizing since we have manually adjusted the
@@ -3197,10 +3188,10 @@
 
         // Kill the running processes. Post on handle since we don't want to hold the service lock
         // while calling into AM.
-        final Runnable r = PooledLambda.obtainRunnable(
+        final Message m = PooledLambda.obtainMessage(
                 ActivityManagerInternal::killProcessesForRemovedTask, mService.mAmInternal,
                 procsToKill);
-        mService.mH.post(r);
+        mService.mH.sendMessage(m);
     }
 
     /**
@@ -3687,7 +3678,7 @@
 
         final ActivityStack stack = r.getStack();
         if (isTopDisplayFocusedStack(stack)) {
-            mService.mAm.updateUsageStats(r, true);
+            mService.updateUsageStats(r, true);
         }
         if (allResumedActivitiesComplete()) {
             ensureActivitiesVisibleLocked(null, 0, !PRESERVE_WINDOWS);
@@ -4531,11 +4522,14 @@
             mService.setTaskWindowingMode(task.taskId,
                     WINDOWING_MODE_FULLSCREEN_OR_SPLIT_SCREEN_SECONDARY, true /* toTop */);
             if (preferredDisplayId != actualDisplayId) {
-                // Display a warning toast that we tried to put a non-resizeable task on a secondary
-                // display with config different from global config.
+                Slog.w(TAG, "Failed to put " + task + " on display " + preferredDisplayId);
+                // Display a warning toast that we failed to put a task on a secondary display.
                 mService.getTaskChangeNotificationController()
                         .notifyActivityLaunchOnSecondaryDisplayFailed();
                 return;
+            } else if (!forceNonResizable && handleForcedResizableTask(task,
+                    FORCED_RESIZEABLE_REASON_SECONDARY_DISPLAY)) {
+                return;
             }
         }
 
@@ -4555,16 +4549,23 @@
             return;
         }
 
+        handleForcedResizableTask(task, FORCED_RESIZEABLE_REASON_SPLIT_SCREEN);
+    }
+
+    /**
+     * @return {@code true} if the top activity of the task is forced to be resizable and the user
+     *         was notified about activity being forced resized.
+     */
+    private boolean handleForcedResizableTask(TaskRecord task, int reason) {
         final ActivityRecord topActivity = task.getTopActivity();
         if (topActivity != null && topActivity.isNonResizableOrForcedResizable()
-            && !topActivity.noDisplay) {
+                && !topActivity.noDisplay) {
             final String packageName = topActivity.appInfo.packageName;
-            final int reason = isSecondaryDisplayPreferred
-                    ? FORCED_RESIZEABLE_REASON_SECONDARY_DISPLAY
-                    : FORCED_RESIZEABLE_REASON_SPLIT_SCREEN;
             mService.getTaskChangeNotificationController().notifyActivityForcedResizable(
                     task.taskId, reason, packageName);
+            return true;
         }
+        return false;
     }
 
     void activityRelaunchedLocked(IBinder token) {
diff --git a/services/core/java/com/android/server/am/ActivityStartInterceptor.java b/services/core/java/com/android/server/am/ActivityStartInterceptor.java
index 177e2f5..1fb8f87 100644
--- a/services/core/java/com/android/server/am/ActivityStartInterceptor.java
+++ b/services/core/java/com/android/server/am/ActivityStartInterceptor.java
@@ -126,7 +126,7 @@
 
     private IntentSender createIntentSenderForOriginalIntent(int callingUid, int flags) {
         Bundle activityOptions = deferCrossProfileAppsAnimationIfNecessary();
-        final IIntentSender target = mService.mAm.getIntentSenderLocked(
+        final IIntentSender target = mService.getIntentSenderLocked(
                 INTENT_SENDER_ACTIVITY, mCallingPackage, callingUid, mUserId, null /*token*/,
                 null /*resultCode*/, 0 /*requestCode*/,
                 new Intent[] { mIntent }, new String[] { mResolvedType },
diff --git a/services/core/java/com/android/server/am/ActivityStarter.java b/services/core/java/com/android/server/am/ActivityStarter.java
index eb41fe7..890aafe 100644
--- a/services/core/java/com/android/server/am/ActivityStarter.java
+++ b/services/core/java/com/android/server/am/ActivityStarter.java
@@ -52,6 +52,7 @@
 import static android.content.pm.ActivityInfo.LAUNCH_SINGLE_TOP;
 import static android.view.Display.DEFAULT_DISPLAY;
 import static android.view.Display.INVALID_DISPLAY;
+
 import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_CONFIGURATION;
 import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_FOCUS;
 import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_PERMISSIONS_REVIEW;
@@ -782,7 +783,7 @@
         if (aInfo != null) {
             if (mService.getPackageManagerInternalLocked().isPermissionsReviewRequired(
                     aInfo.packageName, userId)) {
-                IIntentSender target = mService.mAm.getIntentSenderLocked(
+                IIntentSender target = mService.getIntentSenderLocked(
                         ActivityManager.INTENT_SENDER_ACTIVITY, callingPackage,
                         callingUid, userId, null, null, 0, new Intent[]{intent},
                         new String[]{resolvedType}, PendingIntent.FLAG_CANCEL_CURRENT
@@ -944,7 +945,8 @@
                 auxiliaryResponse == null ? null : auxiliaryResponse.filters);
     }
 
-    void postStartActivityProcessing(ActivityRecord r, int result, ActivityStack targetStack) {
+    void postStartActivityProcessing(ActivityRecord r, int result,
+            ActivityStack startedActivityStack) {
         if (ActivityManager.isStartResultFatalError(result)) {
             return;
         }
@@ -956,14 +958,6 @@
         // about this, so it waits for the new activity to become visible instead.
         mSupervisor.reportWaitingActivityLaunchedIfNeeded(r, result);
 
-        ActivityStack startedActivityStack = null;
-        final ActivityStack currentStack = r.getStack();
-        if (currentStack != null) {
-            startedActivityStack = currentStack;
-        } else if (mTargetStack != null) {
-            startedActivityStack = targetStack;
-        }
-
         if (startedActivityStack == null) {
             return;
         }
@@ -1085,9 +1079,9 @@
                 // This may be a heavy-weight process!  Check to see if we already
                 // have another, different heavy-weight process running.
                 if (aInfo.processName.equals(aInfo.applicationInfo.packageName)) {
-                    final ProcessRecord heavy = mService.mAm.mHeavyWeightProcess;
-                    if (heavy != null && (heavy.info.uid != aInfo.applicationInfo.uid
-                            || !heavy.processName.equals(aInfo.processName))) {
+                    final WindowProcessController heavy = mService.mHeavyWeightProcess;
+                    if (heavy != null && (heavy.mInfo.uid != aInfo.applicationInfo.uid
+                            || !heavy.mName.equals(aInfo.processName))) {
                         int appCallingUid = callingUid;
                         if (caller != null) {
                             ProcessRecord callerApp = mService.mAm.getRecordForAppLocked(caller);
@@ -1102,7 +1096,7 @@
                             }
                         }
 
-                        IIntentSender target = mService.mAm.getIntentSenderLocked(
+                        IIntentSender target = mService.getIntentSenderLocked(
                                 ActivityManager.INTENT_SENDER_ACTIVITY, "android",
                                 appCallingUid, userId, null, null, 0, new Intent[] { intent },
                                 new String[] { resolvedType }, PendingIntent.FLAG_CANCEL_CURRENT
@@ -1115,8 +1109,7 @@
                         }
                         newIntent.putExtra(HeavyWeightSwitcherActivity.KEY_INTENT,
                                 new IntentSender(target));
-                        heavy.getWindowProcessController().updateIntentForHeavyWeightActivity(
-                                newIntent);
+                        heavy.updateIntentForHeavyWeightActivity(newIntent);
                         newIntent.putExtra(HeavyWeightSwitcherActivity.KEY_NEW_APP,
                                 aInfo.packageName);
                         newIntent.setFlags(intent.getFlags());
@@ -1239,23 +1232,41 @@
                 int startFlags, boolean doResume, ActivityOptions options, TaskRecord inTask,
                 ActivityRecord[] outActivity) {
         int result = START_CANCELED;
+        final ActivityStack startedActivityStack;
         try {
             mService.mWindowManager.deferSurfaceLayout();
             result = startActivityUnchecked(r, sourceRecord, voiceSession, voiceInteractor,
                     startFlags, doResume, options, inTask, outActivity);
         } finally {
-            // If we are not able to proceed, disassociate the activity from the task. Leaving an
-            // activity in an incomplete state can lead to issues, such as performing operations
-            // without a window container.
-            final ActivityStack stack = mStartActivity.getStack();
-            if (!ActivityManager.isStartResultSuccessful(result) && stack != null) {
-                stack.finishActivityLocked(mStartActivity, RESULT_CANCELED,
-                        null /* intentResultData */, "startActivity", true /* oomAdj */);
+            final ActivityStack currentStack = r.getStack();
+            startedActivityStack = currentStack != null ? currentStack : mTargetStack;
+
+            if (ActivityManager.isStartResultSuccessful(result)) {
+                if (startedActivityStack != null) {
+                    // If there is no state change (e.g. a resumed activity is reparented to
+                    // top of another display) to trigger a visibility/configuration checking,
+                    // we have to update the configuration for changing to different display.
+                    final ActivityRecord currentTop =
+                            startedActivityStack.topRunningActivityLocked();
+                    if (currentTop != null && currentTop.shouldUpdateConfigForDisplayChanged()) {
+                        mSupervisor.ensureVisibilityAndConfig(currentTop, currentTop.getDisplayId(),
+                                true /* markFrozenIfConfigChanged */, false /* deferResume */);
+                    }
+                }
+            } else {
+                // If we are not able to proceed, disassociate the activity from the task.
+                // Leaving an activity in an incomplete state can lead to issues, such as
+                // performing operations without a window container.
+                final ActivityStack stack = mStartActivity.getStack();
+                if (stack != null) {
+                    stack.finishActivityLocked(mStartActivity, RESULT_CANCELED,
+                            null /* intentResultData */, "startActivity", true /* oomAdj */);
+                }
             }
             mService.mWindowManager.continueSurfaceLayout();
         }
 
-        postStartActivityProcessing(r, result, mTargetStack);
+        postStartActivityProcessing(r, result, startedActivityStack);
 
         return result;
     }
@@ -1901,14 +1912,20 @@
         // except...  well, with SINGLE_TASK_LAUNCH it's not entirely clear. We'd like to have
         // the same behavior as if a new instance was being started, which means not bringing it
         // to the front if the caller is not itself in the front.
-        final ActivityStack focusStack = mSupervisor.getTopDisplayFocusedStack();
-        ActivityRecord curTop = (focusStack == null)
-                ? null : focusStack.topRunningNonDelayedActivityLocked(mNotTop);
+        final boolean differentTopTask;
+        if (mPreferredDisplayId == mTargetStack.mDisplayId) {
+            final ActivityStack focusStack = mTargetStack.getDisplay().getFocusedStack();
+            final ActivityRecord curTop = (focusStack == null)
+                    ? null : focusStack.topRunningNonDelayedActivityLocked(mNotTop);
+            final TaskRecord topTask = curTop != null ? curTop.getTask() : null;
+            differentTopTask = topTask != null
+                    && (topTask != intentActivity.getTask() || topTask != focusStack.topTask());
+        } else {
+            // The existing task should always be different from those in other displays.
+            differentTopTask = true;
+        }
 
-        final TaskRecord topTask = curTop != null ? curTop.getTask() : null;
-        if (topTask != null
-                && (topTask != intentActivity.getTask() || topTask != focusStack.topTask())
-                && !mAvoidMoveToFront) {
+        if (differentTopTask && !mAvoidMoveToFront) {
             mStartActivity.intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
             if (mSourceRecord == null || (mSourceStack.getTopActivity() != null &&
                     mSourceStack.getTopActivity().getTask() == mSourceRecord.getTask())) {
diff --git a/services/core/java/com/android/server/am/ActivityTaskManagerService.java b/services/core/java/com/android/server/am/ActivityTaskManagerService.java
index 7eadcb3..36261b5 100644
--- a/services/core/java/com/android/server/am/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityTaskManagerService.java
@@ -125,7 +125,11 @@
 import android.app.IActivityTaskManager;
 import android.app.IApplicationThread;
 import android.app.IAssistDataReceiver;
+import android.app.INotificationManager;
 import android.app.ITaskStackListener;
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
 import android.app.PictureInPictureParams;
 import android.app.ProfilerInfo;
 import android.app.RemoteAction;
@@ -145,11 +149,13 @@
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
 import android.content.pm.ApplicationInfo;
+import android.content.pm.ConfigurationInfo;
 import android.content.pm.IPackageManager;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManagerInternal;
 import android.content.pm.ParceledListSlice;
 import android.content.pm.ResolveInfo;
+import android.content.res.CompatibilityInfo;
 import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.database.ContentObserver;
@@ -208,10 +214,13 @@
 import com.android.internal.app.ProcessMap;
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
+import com.android.internal.notification.SystemNotificationChannels;
 import com.android.internal.os.logging.MetricsLoggerWrapper;
 import com.android.internal.policy.IKeyguardDismissCallback;
 import com.android.internal.policy.KeyguardDismissCallback;
 import com.android.internal.util.Preconditions;
+import com.android.internal.util.function.pooled.PooledLambda;
 import com.android.server.AppOpsService;
 import com.android.server.AttributeCache;
 import com.android.server.LocalServices;
@@ -230,7 +239,9 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.StringWriter;
+import java.lang.ref.WeakReference;
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Locale;
 
@@ -266,6 +277,8 @@
     ActivityManagerInternal mAmInternal;
     UriGrantsManagerInternal mUgmInternal;
     private PackageManagerInternal mPmInternal;
+    private ActivityTaskManagerInternal mInternal;
+    PendingIntentController mPendingIntentController;
     /* Global service lock used by the package the owns this service. */
     Object mGlobalLock;
     ActivityStackSupervisor mStackSupervisor;
@@ -278,6 +291,8 @@
     final SparseArray<WindowProcessController> mPidMap = new SparseArray<>();
     /** This is the process holding what we currently consider to be the "home" activity. */
     WindowProcessController mHomeProcess;
+    /** The currently running heavy-weight process, if any. */
+    WindowProcessController mHeavyWeightProcess = null;
     /**
      * This is the process holding the activity the user last visited that is in a different process
      * from the one they are currently in.
@@ -475,6 +490,12 @@
 
     private AppWarnings mAppWarnings;
 
+    /**
+     * Packages that the user has asked to have run in screen size
+     * compatibility mode instead of filling the screen.
+     */
+    CompatModePackages mCompatModePackages;
+
     private FontScaleSettingObserver mFontScaleSettingObserver;
 
     private final class FontScaleSettingObserver extends ContentObserver {
@@ -607,8 +628,10 @@
         mGlobalLock = mAm;
         mH = new H(mAm.mHandlerThread.getLooper());
         mUiHandler = new UiHandler();
-        mAppWarnings = new AppWarnings(
-                this, mUiContext, mH, mUiHandler, SystemServiceManager.ensureSystemDir());
+        final File systemDir = SystemServiceManager.ensureSystemDir();
+        mAppWarnings = new AppWarnings(this, mUiContext, mH, mUiHandler, systemDir);
+        mCompatModePackages = new CompatModePackages(this, systemDir, mH);
+        mPendingIntentController = mAm.mPendingIntentController;
 
         mTempConfig.setToDefaults();
         mTempConfig.setLocales(LocaleList.getDefault());
@@ -631,6 +654,11 @@
         mUgmInternal = LocalServices.getService(UriGrantsManagerInternal.class);
     }
 
+    int increaseConfigurationSeqLocked() {
+        mConfigurationSeq = Math.max(++mConfigurationSeq, 1);
+        return mConfigurationSeq;
+    }
+
     protected ActivityStackSupervisor createStackSupervisor() {
         final ActivityStackSupervisor supervisor = new ActivityStackSupervisor(this, mH.getLooper());
         supervisor.initialize();
@@ -686,8 +714,49 @@
         return mLockTaskController;
     }
 
+    /**
+     * Return the global configuration used by the process corresponding to the input pid. This is
+     * usually the global configuration with some overrides specific to that process.
+     */
+    Configuration getGlobalConfigurationForCallingPid() {
+        final int pid = Binder.getCallingPid();
+        if (pid == MY_PID || pid < 0) {
+            return getGlobalConfiguration();
+        }
+        synchronized (mGlobalLock) {
+            final WindowProcessController app = mPidMap.get(pid);
+            return app != null ? app.getConfiguration() : getGlobalConfiguration();
+        }
+    }
+
+    /**
+     * Return the device configuration info used by the process corresponding to the input pid.
+     * The value is consistent with the global configuration for the process.
+     */
+    @Override
+    public ConfigurationInfo getDeviceConfigurationInfo() {
+        ConfigurationInfo config = new ConfigurationInfo();
+        synchronized (mGlobalLock) {
+            final Configuration globalConfig = getGlobalConfigurationForCallingPid();
+            config.reqTouchScreen = globalConfig.touchscreen;
+            config.reqKeyboardType = globalConfig.keyboard;
+            config.reqNavigation = globalConfig.navigation;
+            if (globalConfig.navigation == Configuration.NAVIGATION_DPAD
+                    || globalConfig.navigation == Configuration.NAVIGATION_TRACKBALL) {
+                config.reqInputFeatures |= ConfigurationInfo.INPUT_FEATURE_FIVE_WAY_NAV;
+            }
+            if (globalConfig.keyboard != Configuration.KEYBOARD_UNDEFINED
+                    && globalConfig.keyboard != Configuration.KEYBOARD_NOKEYS) {
+                config.reqInputFeatures |= ConfigurationInfo.INPUT_FEATURE_HARD_KEYBOARD;
+            }
+            config.reqGlEsVersion = mAm.GL_ES_VERSION;
+        }
+        return config;
+    }
+
     private void start() {
-        LocalServices.addService(ActivityTaskManagerInternal.class, new LocalService());
+        mInternal = new LocalService();
+        LocalServices.addService(ActivityTaskManagerInternal.class, mInternal);
     }
 
     public static final class Lifecycle extends SystemService {
@@ -1461,16 +1530,13 @@
     @Override
     public int getFrontActivityScreenCompatMode() {
         enforceNotIsolatedCaller("getFrontActivityScreenCompatMode");
-        ApplicationInfo ai;
         synchronized (mGlobalLock) {
             final ActivityRecord r = getTopDisplayFocusedStack().topRunningActivityLocked();
             if (r == null) {
                 return ActivityManager.COMPAT_MODE_UNKNOWN;
             }
-            ai = r.info.applicationInfo;
+            return mCompatModePackages.computeCompatModeLocked(r.info.applicationInfo);
         }
-
-        return mAmInternal.getPackageScreenCompatMode(ai);
     }
 
     @Override
@@ -1485,9 +1551,8 @@
                 return;
             }
             ai = r.info.applicationInfo;
+            mCompatModePackages.setPackageScreenCompatModeLocked(ai, mode);
         }
-
-        mAmInternal.setPackageScreenCompatMode(ai, mode);
     }
 
     @Override
@@ -1895,10 +1960,12 @@
             final TaskRecord task = mStackSupervisor.anyTaskForIdLocked(taskId);
             if (task == null) {
                 Slog.d(TAG, "Could not find task for id: "+ taskId);
+                SafeActivityOptions.abort(options);
                 return;
             }
             if (getLockTaskController().isLockTaskModeViolation(task)) {
                 Slog.e(TAG, "moveTaskToFront: Attempt to violate Lock Task Mode");
+                SafeActivityOptions.abort(options);
                 return;
             }
             ActivityOptions realOptions = options != null
@@ -1918,7 +1985,6 @@
         } finally {
             Binder.restoreCallingIdentity(origId);
         }
-        SafeActivityOptions.abort(options);
     }
 
     boolean checkAppSwitchAllowedLocked(int sourcePid, int sourceUid,
@@ -3338,7 +3404,7 @@
                     }
                 }
 
-                stack.setWindowingMode(WINDOWING_MODE_FULLSCREEN);
+                stack.setWindowingMode(WINDOWING_MODE_UNDEFINED);
             }
         } finally {
             Binder.restoreCallingIdentity(ident);
@@ -4112,7 +4178,7 @@
         return mVrController.shouldDisableNonVrUiLocked();
     }
 
-    void applyUpdateVrModeLocked(ActivityRecord r) {
+    private void applyUpdateVrModeLocked(ActivityRecord r) {
         // VR apps are expected to run in a main display. If an app is turning on VR for
         // itself, but lives in a dynamic stack, then make sure that it is moved to the main
         // fullscreen stack before enabling VR Mode.
@@ -4143,6 +4209,40 @@
         });
     }
 
+    @Override
+    public int getPackageScreenCompatMode(String packageName) {
+        enforceNotIsolatedCaller("getPackageScreenCompatMode");
+        synchronized (mGlobalLock) {
+            return mCompatModePackages.getPackageScreenCompatModeLocked(packageName);
+        }
+    }
+
+    @Override
+    public void setPackageScreenCompatMode(String packageName, int mode) {
+        mAmInternal.enforceCallingPermission(android.Manifest.permission.SET_SCREEN_COMPATIBILITY,
+                "setPackageScreenCompatMode");
+        synchronized (mGlobalLock) {
+            mCompatModePackages.setPackageScreenCompatModeLocked(packageName, mode);
+        }
+    }
+
+    @Override
+    public boolean getPackageAskScreenCompat(String packageName) {
+        enforceNotIsolatedCaller("getPackageAskScreenCompat");
+        synchronized (mGlobalLock) {
+            return mCompatModePackages.getPackageAskCompatModeLocked(packageName);
+        }
+    }
+
+    @Override
+    public void setPackageAskScreenCompat(String packageName, boolean ask) {
+        mAmInternal.enforceCallingPermission(android.Manifest.permission.SET_SCREEN_COMPATIBILITY,
+                "setPackageAskScreenCompat");
+        synchronized (mGlobalLock) {
+            mCompatModePackages.setPackageAskCompatModeLocked(packageName, ask);
+        }
+    }
+
     ActivityStack getTopDisplayFocusedStack() {
         return mStackSupervisor.getTopDisplayFocusedStack();
     }
@@ -4215,7 +4315,7 @@
     public Configuration getConfiguration() {
         Configuration ci;
         synchronized(mGlobalLock) {
-            ci = new Configuration(getGlobalConfiguration());
+            ci = new Configuration(getGlobalConfigurationForCallingPid());
             ci.userSetLocale = false;
         }
         return ci;
@@ -4371,8 +4471,7 @@
                     locales.get(bestLocaleIndex)));
         }
 
-        mConfigurationSeq = Math.max(++mConfigurationSeq, 1);
-        mTempConfig.seq = mConfigurationSeq;
+        mTempConfig.seq = increaseConfigurationSeqLocked();
 
         // Update stored global config and notify everyone about the change.
         mStackSupervisor.onConfigurationChanged(mTempConfig);
@@ -4406,6 +4505,7 @@
             mAm.mHandler.sendMessage(msg);
         }
 
+        // TODO: Consider using mPidMap to update configurations for processes.
         for (int i = mAm.mLruProcesses.size() - 1; i >= 0; i--) {
             ProcessRecord app = mAm.mLruProcesses.get(i);
             try {
@@ -4688,11 +4788,7 @@
         return mSleeping;
     }
 
-    /**
-     * Update AMS states when an activity is resumed. This should only be called by
-     * {@link ActivityStack#onActivityStateChanged(
-     * ActivityRecord, ActivityStack.ActivityState, String)} when an activity is resumed.
-     */
+    /** Update AMS states when an activity is resumed. */
     void setResumedActivityUncheckLocked(ActivityRecord r, String reason) {
         final TaskRecord task = r.getTask();
         if (task.isActivityTypeStandard()) {
@@ -4812,6 +4908,155 @@
         mH.post(mAmInternal::updateOomAdj);
     }
 
+    void updateCpuStats() {
+        mH.post(mAmInternal::updateCpuStats);
+    }
+
+    void updateUsageStats(ActivityRecord component, boolean resumed) {
+        final Message m = PooledLambda.obtainMessage(ActivityManagerInternal::updateUsageStats,
+                mAmInternal, component.realActivity, component.app.mUid, component.userId, resumed);
+        mH.sendMessage(m);
+    }
+
+    void setBooting(boolean booting) {
+        mAmInternal.setBooting(booting);
+    }
+
+    boolean isBooting() {
+        return mAmInternal.isBooting();
+    }
+
+    void setBooted(boolean booted) {
+        mAmInternal.setBooted(booted);
+    }
+
+    boolean isBooted() {
+        return mAmInternal.isBooted();
+    }
+
+    void postFinishBooting(boolean finishBooting, boolean enableScreen) {
+        mH.post(() -> {
+            if (finishBooting) {
+                mAmInternal.finishBooting();
+            }
+            if (enableScreen) {
+                mInternal.enableScreenAfterBoot(isBooted());
+            }
+        });
+    }
+
+    void setHeavyWeightProcess(ActivityRecord root) {
+        mHeavyWeightProcess = root.app;
+        final Message m = PooledLambda.obtainMessage(
+                ActivityTaskManagerService::postHeavyWeightProcessNotification, this,
+                root.app, root.intent, root.userId);
+        mH.sendMessage(m);
+    }
+
+    void clearHeavyWeightProcessIfEquals(WindowProcessController proc) {
+        if (mHeavyWeightProcess == null || mHeavyWeightProcess != proc) {
+            return;
+        }
+
+        mHeavyWeightProcess = null;
+        final Message m = PooledLambda.obtainMessage(
+                ActivityTaskManagerService::cancelHeavyWeightProcessNotification, this,
+                proc.mUserId);
+        mH.sendMessage(m);
+    }
+
+    private void cancelHeavyWeightProcessNotification(int userId) {
+        final INotificationManager inm = NotificationManager.getService();
+        if (inm == null) {
+            return;
+        }
+        try {
+            inm.cancelNotificationWithTag("android", null,
+                    SystemMessage.NOTE_HEAVY_WEIGHT_NOTIFICATION, userId);
+        } catch (RuntimeException e) {
+            Slog.w(TAG, "Error canceling notification for service", e);
+        } catch (RemoteException e) {
+        }
+
+    }
+
+    private void postHeavyWeightProcessNotification(
+            WindowProcessController proc, Intent intent, int userId) {
+        if (proc == null) {
+            return;
+        }
+
+        final INotificationManager inm = NotificationManager.getService();
+        if (inm == null) {
+            return;
+        }
+
+        try {
+            Context context = mContext.createPackageContext(proc.mInfo.packageName, 0);
+            String text = mContext.getString(R.string.heavy_weight_notification,
+                    context.getApplicationInfo().loadLabel(context.getPackageManager()));
+            Notification notification =
+                    new Notification.Builder(context,
+                            SystemNotificationChannels.HEAVY_WEIGHT_APP)
+                            .setSmallIcon(com.android.internal.R.drawable.stat_sys_adb)
+                            .setWhen(0)
+                            .setOngoing(true)
+                            .setTicker(text)
+                            .setColor(mContext.getColor(
+                                    com.android.internal.R.color.system_notification_accent_color))
+                            .setContentTitle(text)
+                            .setContentText(
+                                    mContext.getText(R.string.heavy_weight_notification_detail))
+                            .setContentIntent(PendingIntent.getActivityAsUser(mContext, 0,
+                                    intent, PendingIntent.FLAG_CANCEL_CURRENT, null,
+                                    new UserHandle(userId)))
+                            .build();
+            try {
+                inm.enqueueNotificationWithTag("android", "android", null,
+                        SystemMessage.NOTE_HEAVY_WEIGHT_NOTIFICATION, notification, userId);
+            } catch (RuntimeException e) {
+                Slog.w(TAG, "Error showing notification for heavy-weight app", e);
+            } catch (RemoteException e) {
+            }
+        } catch (PackageManager.NameNotFoundException e) {
+            Slog.w(TAG, "Unable to create context for heavy notification", e);
+        }
+
+    }
+
+    IIntentSender getIntentSenderLocked(int type, String packageName, int callingUid, int userId,
+            IBinder token, String resultWho, int requestCode, Intent[] intents,
+            String[] resolvedTypes, int flags, Bundle bOptions) {
+
+        ActivityRecord activity = null;
+        if (type == ActivityManager.INTENT_SENDER_ACTIVITY_RESULT) {
+            activity = ActivityRecord.isInStackLocked(token);
+            if (activity == null) {
+                Slog.w(TAG, "Failed createPendingResult: activity " + token + " not in any stack");
+                return null;
+            }
+            if (activity.finishing) {
+                Slog.w(TAG, "Failed createPendingResult: activity " + activity + " is finishing");
+                return null;
+            }
+        }
+
+        final PendingIntentRecord rec = mPendingIntentController.getIntentSender(type, packageName,
+                callingUid, userId, token, resultWho, requestCode, intents, resolvedTypes, flags,
+                bOptions);
+        final boolean noCreate = (flags & PendingIntent.FLAG_NO_CREATE) != 0;
+        if (noCreate) {
+            return rec;
+        }
+        if (type == ActivityManager.INTENT_SENDER_ACTIVITY_RESULT) {
+            if (activity.pendingResults == null) {
+                activity.pendingResults = new HashSet<>();
+            }
+            activity.pendingResults.add(rec.ref);
+        }
+        return rec;
+    }
+
     // TODO(b/111541062): Update app time tracking to make it aware of multiple resumed activities
     private void startTimeTrackingFocusedActivityLocked() {
         final ActivityRecord resumedActivity = mStackSupervisor.getTopResumedActivity();
@@ -4888,6 +5133,10 @@
         mH.post(() -> mAmInternal.scheduleAppGcs());
     }
 
+    CompatibilityInfo compatibilityInfoForPackageLocked(ApplicationInfo ai) {
+        return mCompatModePackages.compatibilityInfoForPackageLocked(ai);
+    }
+
     /**
      * Returns the PackageManager. Used by classes hosted by {@link ActivityTaskManagerService}. The
      * PackageManager could be unavailable at construction time and therefore needs to be accessed
@@ -5099,6 +5348,31 @@
         }
 
         @Override
+        public int startActivitiesInPackage(int uid, String callingPackage, Intent[] intents,
+                String[] resolvedTypes, IBinder resultTo, SafeActivityOptions options, int userId,
+                boolean validateIncomingUser, PendingIntentRecord originatingPendingIntent) {
+            synchronized (mGlobalLock) {
+                return getActivityStartController().startActivitiesInPackage(uid, callingPackage,
+                        intents, resolvedTypes, resultTo, options, userId, validateIncomingUser,
+                        originatingPendingIntent);
+            }
+        }
+
+        @Override
+        public int startActivityInPackage(int uid, int realCallingPid, int realCallingUid,
+                String callingPackage, Intent intent, String resolvedType, IBinder resultTo,
+                String resultWho, int requestCode, int startFlags, SafeActivityOptions options,
+                int userId, TaskRecord inTask, String reason, boolean validateIncomingUser,
+                PendingIntentRecord originatingPendingIntent) {
+            synchronized (mGlobalLock) {
+                return getActivityStartController().startActivityInPackage(uid, realCallingPid,
+                        realCallingUid, callingPackage, intent, resolvedType, resultTo, resultWho,
+                        requestCode, startFlags, options, userId, inTask, reason,
+                        validateIncomingUser, originatingPendingIntent);
+            }
+        }
+
+        @Override
         public int startActivityAsUser(IApplicationThread caller, String callerPacakge,
                 Intent intent, Bundle options, int userId) {
             return ActivityTaskManagerService.this.startActivityAsUser(
@@ -5274,6 +5548,28 @@
         }
 
         @Override
+        public boolean isHeavyWeightProcess(WindowProcessController proc) {
+            synchronized (mGlobalLock) {
+                return proc == mHeavyWeightProcess;
+            }
+        }
+
+        @Override
+        public void clearHeavyWeightProcessIfEquals(WindowProcessController proc) {
+            synchronized (mGlobalLock) {
+                ActivityTaskManagerService.this.clearHeavyWeightProcessIfEquals(proc);
+            }
+        }
+
+        @Override
+        public void finishHeavyWeightApp() {
+            synchronized (mGlobalLock) {
+                ActivityTaskManagerService.this.clearHeavyWeightProcessIfEquals(
+                        mHeavyWeightProcess);
+            }
+        }
+
+        @Override
         public boolean isSleeping() {
             synchronized (mGlobalLock) {
                 return isSleepingLocked();
@@ -5382,6 +5678,7 @@
         @Override
         public void onPackageDataCleared(String name) {
             synchronized (mGlobalLock) {
+                mCompatModePackages.handlePackageDataClearedLocked(name);
                 mAppWarnings.onPackageDataCleared(name);
             }
         }
@@ -5390,6 +5687,98 @@
         public void onPackageUninstalled(String name) {
             synchronized (mGlobalLock) {
                 mAppWarnings.onPackageUninstalled(name);
+                mCompatModePackages.handlePackageUninstalledLocked(name);
+            }
+        }
+
+        @Override
+        public void onPackageAdded(String name, boolean replacing) {
+            synchronized (mGlobalLock) {
+                mCompatModePackages.handlePackageAddedLocked(name, replacing);
+            }
+        }
+
+        @Override
+        public CompatibilityInfo compatibilityInfoForPackage(ApplicationInfo ai) {
+            synchronized (mGlobalLock) {
+                return compatibilityInfoForPackageLocked(ai);
+            }
+        }
+
+        /**
+         * Set the corresponding display information for the process global configuration. To be
+         * called when we need to show IME on a different display.
+         *
+         * @param pid The process id associated with the IME window.
+         * @param displayId The ID of the display showing the IME.
+         */
+        @Override
+        public void onImeWindowSetOnDisplay(int pid, int displayId) {
+            if (pid == MY_PID || pid < 0) {
+                if (DEBUG_CONFIGURATION) {
+                    Slog.w(TAG,
+                            "Trying to update display configuration for system/invalid process.");
+                }
+                return;
+            }
+            mH.post(() -> {
+                synchronized (mGlobalLock) {
+                    // Check if display is initialized in AM.
+                    if (!mStackSupervisor.isDisplayAdded(displayId)) {
+                        // Call come when display is not yet added or has already been removed.
+                        if (DEBUG_CONFIGURATION) {
+                            Slog.w(TAG, "Trying to update display configuration for non-existing "
+                                            + "displayId=" + displayId);
+                        }
+                        return;
+                    }
+                    final WindowProcessController imeProcess = mPidMap.get(pid);
+                    if (imeProcess == null) {
+                        if (DEBUG_CONFIGURATION) {
+                            Slog.w(TAG, "Trying to update display configuration for invalid pid: "
+                                            + pid);
+                        }
+                        return;
+                    }
+                    // Fetch the current override configuration of the display and set it to the
+                    // process global configuration.
+                    imeProcess.onConfigurationChanged(
+                            mStackSupervisor.getDisplayOverrideConfiguration(displayId));
+                }
+            });
+        }
+
+        @Override
+        public void sendActivityResult(int callingUid, IBinder activityToken, String resultWho,
+                int requestCode, int resultCode, Intent data) {
+            synchronized (mGlobalLock) {
+                final ActivityRecord r = ActivityRecord.isInStackLocked(activityToken);
+                if (r != null && r.getStack() != null) {
+                    r.getStack().sendActivityResultLocked(callingUid, r, resultWho, requestCode,
+                            resultCode, data);
+                }
+            }
+        }
+
+        @Override
+        public void clearPendingResultForActivity(IBinder activityToken,
+                WeakReference<PendingIntentRecord> pir) {
+            synchronized (mGlobalLock) {
+                final ActivityRecord r = ActivityRecord.isInStackLocked(activityToken);
+                if (r != null && r.pendingResults != null) {
+                    r.pendingResults.remove(pir);
+                }
+            }
+        }
+
+        @Override
+        public IIntentSender getIntentSender(int type, String packageName,
+                int callingUid, int userId, IBinder token, String resultWho,
+                int requestCode, Intent[] intents, String[] resolvedTypes, int flags,
+                Bundle bOptions) {
+            synchronized (mGlobalLock) {
+                return getIntentSenderLocked(type, packageName, callingUid, userId, token,
+                        resultWho, requestCode, intents, resolvedTypes, flags, bOptions);
             }
         }
     }
diff --git a/services/core/java/com/android/server/am/BaseErrorDialog.java b/services/core/java/com/android/server/am/BaseErrorDialog.java
index 347a357..cd4d6a3 100644
--- a/services/core/java/com/android/server/am/BaseErrorDialog.java
+++ b/services/core/java/com/android/server/am/BaseErrorDialog.java
@@ -33,7 +33,7 @@
     private boolean mConsuming = true;
 
     public BaseErrorDialog(Context context) {
-        super(context, com.android.internal.R.style.Theme_Dialog_AppError);
+        super(context, com.android.internal.R.style.Theme_DeviceDefault_Dialog_AppError);
         context.assertRuntimeOverlayThemable();
 
         getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
diff --git a/services/core/java/com/android/server/am/BroadcastQueue.java b/services/core/java/com/android/server/am/BroadcastQueue.java
index 0a7e127..e2035f6 100644
--- a/services/core/java/com/android/server/am/BroadcastQueue.java
+++ b/services/core/java/com/android/server/am/BroadcastQueue.java
@@ -302,7 +302,7 @@
             mService.notifyPackageUse(r.intent.getComponent().getPackageName(),
                                       PackageManager.NOTIFY_PACKAGE_USE_BROADCAST_RECEIVER);
             app.thread.scheduleReceiver(new Intent(r.intent), r.curReceiver,
-                    mService.compatibilityInfoForPackageLocked(r.curReceiver.applicationInfo),
+                    mService.compatibilityInfoForPackage(r.curReceiver.applicationInfo),
                     r.resultCode, r.resultData, r.resultExtras, r.ordered, r.userId,
                     app.getReportedProcState());
             if (DEBUG_BROADCAST)  Slog.v(TAG_BROADCAST,
@@ -741,7 +741,7 @@
 
         // Show a permission review UI only for explicit broadcast from a foreground app
         if (callerForeground && receiverRecord.intent.getComponent() != null) {
-            IIntentSender target = mService.getIntentSenderLocked(
+            IIntentSender target = mService.mPendingIntentController.getIntentSender(
                     ActivityManager.INTENT_SENDER_BROADCAST, receiverRecord.callerPackage,
                     receiverRecord.callingUid, receiverRecord.userId, null, null, 0,
                     new Intent[]{receiverRecord.intent},
@@ -1668,7 +1668,7 @@
 
     final boolean dumpLocked(FileDescriptor fd, PrintWriter pw, String[] args,
             int opti, boolean dumpAll, String dumpPackage, boolean needSep) {
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
         if (mParallelBroadcasts.size() > 0 || mOrderedBroadcasts.size() > 0
                 || mPendingBroadcast != null) {
             boolean printed = false;
diff --git a/services/core/java/com/android/server/am/CompatModePackages.java b/services/core/java/com/android/server/am/CompatModePackages.java
index 77efbfc..536f3a9 100644
--- a/services/core/java/com/android/server/am/CompatModePackages.java
+++ b/services/core/java/com/android/server/am/CompatModePackages.java
@@ -51,13 +51,13 @@
     private static final String TAG = TAG_WITH_CLASS_NAME ? "CompatModePackages" : TAG_AM;
     private static final String TAG_CONFIGURATION = TAG + POSTFIX_CONFIGURATION;
 
-    private final ActivityManagerService mService;
+    private final ActivityTaskManagerService mService;
     private final AtomicFile mFile;
 
     // Compatibility state: no longer ask user to select the mode.
-    public static final int COMPAT_FLAG_DONT_ASK = 1<<0;
+    private static final int COMPAT_FLAG_DONT_ASK = 1<<0;
     // Compatibility state: compatibility mode is enabled.
-    public static final int COMPAT_FLAG_ENABLED = 1<<1;
+    private static final int COMPAT_FLAG_ENABLED = 1<<1;
 
     private final HashMap<String, Integer> mPackages = new HashMap<String, Integer>();
 
@@ -80,7 +80,7 @@
         }
     };
 
-    public CompatModePackages(ActivityManagerService service, File systemDir, Handler handler) {
+    public CompatModePackages(ActivityTaskManagerService service, File systemDir, Handler handler) {
         mService = service;
         mFile = new AtomicFile(new File(systemDir, "packages-compat.xml"), "compat-mode");
         mHandler = new CompatHandler(handler.getLooper());
@@ -317,12 +317,12 @@
 
             scheduleWrite();
 
-            final ActivityStack stack = mService.mActivityTaskManager.getTopDisplayFocusedStack();
+            final ActivityStack stack = mService.getTopDisplayFocusedStack();
             ActivityRecord starting = stack.restartPackage(packageName);
 
             // Tell all processes that loaded this package about the change.
-            for (int i=mService.mLruProcesses.size()-1; i>=0; i--) {
-                ProcessRecord app = mService.mLruProcesses.get(i);
+            for (int i = mService.mAm.mLruProcesses.size() - 1; i >= 0; i--) {
+                final ProcessRecord app = mService.mAm.mLruProcesses.get(i);
                 if (!app.pkgList.containsKey(packageName)) {
                     continue;
                 }
@@ -346,10 +346,10 @@
         }
     }
 
-    void saveCompatModes() {
+    private void saveCompatModes() {
         HashMap<String, Integer> pkgs;
-        synchronized (mService) {
-            pkgs = new HashMap<String, Integer>(mPackages);
+        synchronized (mService.mGlobalLock) {
+            pkgs = new HashMap<>(mPackages);
         }
 
         FileOutputStream fos = null;
diff --git a/services/core/java/com/android/server/am/KeyguardController.java b/services/core/java/com/android/server/am/KeyguardController.java
index ee4e36f..cfe2829 100644
--- a/services/core/java/com/android/server/am/KeyguardController.java
+++ b/services/core/java/com/android/server/am/KeyguardController.java
@@ -29,16 +29,20 @@
 import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG_NO_WINDOW_ANIMATIONS;
 import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG_TO_SHADE;
 import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG_WITH_WALLPAPER;
+
 import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM;
 import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME;
 import static com.android.server.am.ActivityStackSupervisor.PRESERVE_WINDOWS;
-import static com.android.server.am.KeyguardControllerProto.KEYGUARD_OCCLUDED;
+import static com.android.server.am.KeyguardControllerProto.KEYGUARD_OCCLUDED_STATES;
 import static com.android.server.am.KeyguardControllerProto.KEYGUARD_SHOWING;
+import static com.android.server.am.KeyguardOccludedProto.DISPLAY_ID;
+import static com.android.server.am.KeyguardOccludedProto.KEYGUARD_OCCLUDED;
 
 import android.os.IBinder;
 import android.os.RemoteException;
 import android.os.Trace;
 import android.util.Slog;
+import android.util.SparseArray;
 import android.util.proto.ProtoOutputStream;
 
 import com.android.internal.policy.IKeyguardDismissCallback;
@@ -58,19 +62,18 @@
 
     private static final String TAG = TAG_WITH_CLASS_NAME ? "KeyguardController" : TAG_AM;
 
-    private final ActivityTaskManagerService mService;
     private final ActivityStackSupervisor mStackSupervisor;
     private WindowManagerService mWindowManager;
     private boolean mKeyguardShowing;
     private boolean mAodShowing;
     private boolean mKeyguardGoingAway;
-    private boolean mOccluded;
     private boolean mDismissalRequested;
-    private ActivityRecord mDismissingKeyguardActivity;
     private int mBeforeUnoccludeTransit;
     private int mVisibilityTransactionDepth;
-    private SleepToken mSleepToken;
+    // TODO(b/111955725): Support multiple external displays
     private int mSecondaryDisplayShowing = INVALID_DISPLAY;
+    private final SparseArray<KeyguardDisplayState> mDisplayStates = new SparseArray<>();
+    private final ActivityTaskManagerService mService;
 
     KeyguardController(ActivityTaskManagerService service,
             ActivityStackSupervisor stackSupervisor) {
@@ -87,8 +90,8 @@
      *         on the given display, false otherwise
      */
     boolean isKeyguardOrAodShowing(int displayId) {
-        return (mKeyguardShowing || mAodShowing) && !mKeyguardGoingAway &&
-                (displayId == DEFAULT_DISPLAY ? !mOccluded : displayId == mSecondaryDisplayShowing);
+        return (mKeyguardShowing || mAodShowing) && !mKeyguardGoingAway
+                && !isDisplayOccluded(displayId);
     }
 
     /**
@@ -96,8 +99,7 @@
      *         display, false otherwise
      */
     boolean isKeyguardShowing(int displayId) {
-        return mKeyguardShowing && !mKeyguardGoingAway &&
-                (displayId == DEFAULT_DISPLAY ? !mOccluded : displayId == mSecondaryDisplayShowing);
+        return mKeyguardShowing && !mKeyguardGoingAway && !isDisplayOccluded(displayId);
     }
 
     /**
@@ -133,6 +135,7 @@
         if (showingChanged) {
             dismissDockedStackIfNeeded();
             setKeyguardGoingAway(false);
+            // TODO(b/113840485): Check usage for non-default display
             mWindowManager.setKeyguardOrAodShowingOnDefaultDisplay(
                     isKeyguardOrAodShowing(DEFAULT_DISPLAY));
             if (keyguardShowing) {
@@ -248,7 +251,8 @@
         // already the dismissing activity, in which case we don't allow it to repeatedly dismiss
         // Keyguard.
         return dismissKeyguard && canDismissKeyguard() && !mAodShowing
-                && (mDismissalRequested || r != mDismissingKeyguardActivity);
+                && (mDismissalRequested
+                || getDisplay(r.getDisplayId()).mDismissingKeyguardActivity != r);
     }
 
     /**
@@ -259,44 +263,16 @@
     }
 
     private void visibilitiesUpdated() {
-        final boolean lastOccluded = mOccluded;
-        final ActivityRecord lastDismissingKeyguardActivity = mDismissingKeyguardActivity;
-        mOccluded = false;
-        mDismissingKeyguardActivity = null;
-
+        boolean requestDismissKeyguard = false;
         for (int displayNdx = mStackSupervisor.getChildCount() - 1; displayNdx >= 0; displayNdx--) {
             final ActivityDisplay display = mStackSupervisor.getChildAt(displayNdx);
-            for (int stackNdx = display.getChildCount() - 1; stackNdx >= 0; --stackNdx) {
-                final ActivityStack stack = display.getChildAt(stackNdx);
-
-                // Only the top activity of the focused stack on the default display may control
-                // occluded state.
-                if (display.mDisplayId == DEFAULT_DISPLAY
-                        && mStackSupervisor.isTopDisplayFocusedStack(stack)) {
-
-                    // A dismissing activity occludes Keyguard in the insecure case for legacy
-                    // reasons.
-                    final ActivityRecord topDismissing = stack.getTopDismissingKeyguardActivity();
-                    mOccluded =
-                            stack.topActivityOccludesKeyguard()
-                                    || (topDismissing != null
-                                            && stack.topRunningActivityLocked() == topDismissing
-                                            && canShowWhileOccluded(
-                                                    true /* dismissKeyguard */,
-                                                    false /* showWhenLocked */));
-                }
-
-                if (mDismissingKeyguardActivity == null
-                        && stack.getTopDismissingKeyguardActivity() != null) {
-                    mDismissingKeyguardActivity = stack.getTopDismissingKeyguardActivity();
-                }
-            }
+            final KeyguardDisplayState state = getDisplay(display.mDisplayId);
+            state.visibilitiesUpdated(this, display);
+            requestDismissKeyguard |= state.mRequestDismissKeyguard;
         }
-        mOccluded |= mWindowManager.isShowingDream();
-        if (mOccluded != lastOccluded) {
-            handleOccludedChanged();
-        }
-        if (mDismissingKeyguardActivity != lastDismissingKeyguardActivity) {
+
+        // Dismissing Keyguard happens globally using the information from all displays.
+        if (requestDismissKeyguard) {
             handleDismissKeyguard();
         }
     }
@@ -305,7 +281,7 @@
      * Called when occluded state changed.
      */
     private void handleOccludedChanged() {
-        mWindowManager.onKeyguardOccludedChanged(mOccluded);
+        mWindowManager.onKeyguardOccludedChanged(isDisplayOccluded(DEFAULT_DISPLAY));
         if (isKeyguardLocked()) {
             mWindowManager.deferSurfaceLayout();
             try {
@@ -322,14 +298,13 @@
     }
 
     /**
-     * Called when somebody might want to dismiss the Keyguard.
+     * Called when somebody wants to dismiss the Keyguard via the flag.
      */
     private void handleDismissKeyguard() {
         // We only allow dismissing Keyguard via the flag when Keyguard is secure for legacy
         // reasons, because that's how apps used to dismiss Keyguard in the secure case. In the
         // insecure case, we actually show it on top of the lockscreen. See #canShowWhileOccluded.
-        if (!mOccluded && mDismissingKeyguardActivity != null
-                && mWindowManager.isKeyguardSecure()) {
+        if (mWindowManager.isKeyguardSecure()) {
             mWindowManager.dismissKeyguard(null /* callback */, null /* message */);
             mDismissalRequested = true;
 
@@ -345,6 +320,10 @@
         }
     }
 
+    private boolean isDisplayOccluded(int displayId) {
+        return getDisplay(displayId).mOccluded;
+    }
+
     /**
      * @return true if Keyguard can be currently dismissed without entering credentials.
      */
@@ -355,12 +334,14 @@
     private int resolveOccludeTransit() {
         if (mBeforeUnoccludeTransit != TRANSIT_UNSET
                 && mWindowManager.getPendingAppTransition() == TRANSIT_KEYGUARD_UNOCCLUDE
-                && mOccluded) {
+                // TODO(b/113840485): Handle app transition for individual display.
+                && isDisplayOccluded(DEFAULT_DISPLAY)) {
 
             // Reuse old transit in case we are occluding Keyguard again, meaning that we never
             // actually occclude/unocclude Keyguard, but just run a normal transition.
             return mBeforeUnoccludeTransit;
-        } else if (!mOccluded) {
+            // TODO(b/113840485): Handle app transition for individual display.
+        } else if (!isDisplayOccluded(DEFAULT_DISPLAY)) {
 
             // Save transit in case we dismiss/occlude Keyguard shortly after.
             mBeforeUnoccludeTransit = mWindowManager.getPendingAppTransition();
@@ -371,7 +352,8 @@
     }
 
     private void dismissDockedStackIfNeeded() {
-        if (mKeyguardShowing && mOccluded) {
+        // TODO(b/113840485): Handle docked stack for individual display.
+        if (mKeyguardShowing && isDisplayOccluded(DEFAULT_DISPLAY)) {
             // The lock screen is currently showing, but is occluded by a window that can
             // show on top of the lock screen. In this can we want to dismiss the docked
             // stack since it will be complicated/risky to try to put the activity on top
@@ -386,11 +368,116 @@
     }
 
     private void updateKeyguardSleepToken() {
-        if (mSleepToken == null && isKeyguardOrAodShowing(DEFAULT_DISPLAY)) {
-            mSleepToken = mService.acquireSleepToken("Keyguard", DEFAULT_DISPLAY);
-        } else if (mSleepToken != null && !isKeyguardOrAodShowing(DEFAULT_DISPLAY)) {
-            mSleepToken.release();
-            mSleepToken = null;
+        for (int displayNdx = mStackSupervisor.getChildCount() - 1; displayNdx >= 0; displayNdx--) {
+            final ActivityDisplay display = mStackSupervisor.getChildAt(displayNdx);
+            final KeyguardDisplayState state = getDisplay(display.mDisplayId);
+            if (isKeyguardOrAodShowing(display.mDisplayId) && state.mSleepToken == null) {
+                state.acquiredSleepToken();
+            } else if (!isKeyguardOrAodShowing(display.mDisplayId) && state.mSleepToken != null) {
+                state.releaseSleepToken();
+            }
+        }
+    }
+
+    private KeyguardDisplayState getDisplay(int displayId) {
+        if (mDisplayStates.get(displayId) == null) {
+            mDisplayStates.append(displayId,
+                    new KeyguardDisplayState(mService, displayId));
+        }
+        return mDisplayStates.get(displayId);
+    }
+
+    void onDisplayRemoved(int displayId) {
+        if (mDisplayStates.get(displayId) != null) {
+            mDisplayStates.get(displayId).onRemoved();
+            mDisplayStates.remove(displayId);
+        }
+    }
+
+    /** Represents Keyguard state per individual display. */
+    private static class KeyguardDisplayState {
+        private final int mDisplayId;
+        private boolean mOccluded;
+        private ActivityRecord mDismissingKeyguardActivity;
+        private boolean mRequestDismissKeyguard;
+        private final ActivityTaskManagerService mService;
+        private SleepToken mSleepToken;
+
+        KeyguardDisplayState(ActivityTaskManagerService service, int displayId) {
+            mService = service;
+            mDisplayId = displayId;
+        }
+
+        void onRemoved() {
+            mDismissingKeyguardActivity = null;
+            releaseSleepToken();
+        }
+
+        void acquiredSleepToken() {
+            if (mSleepToken == null) {
+                mSleepToken = mService.acquireSleepToken("keyguard", mDisplayId);
+            }
+        }
+
+        void releaseSleepToken() {
+            if (mSleepToken != null) {
+                mSleepToken.release();
+                mSleepToken = null;
+            }
+        }
+
+        void visibilitiesUpdated(KeyguardController controller, ActivityDisplay display) {
+            final boolean lastOccluded = mOccluded;
+            final ActivityRecord lastDismissActivity = mDismissingKeyguardActivity;
+            mRequestDismissKeyguard = false;
+            mOccluded = false;
+            mDismissingKeyguardActivity = null;
+
+            // Only the top activity of the focused stack on each display may control it's
+            // occluded state.
+            final ActivityStack focusedStack = display.getFocusedStack();
+            if (focusedStack != null) {
+                final ActivityRecord topDismissing =
+                        focusedStack.getTopDismissingKeyguardActivity();
+                mOccluded = focusedStack.topActivityOccludesKeyguard() || (topDismissing != null
+                                && focusedStack.topRunningActivityLocked() == topDismissing
+                                && controller.canShowWhileOccluded(
+                                true /* dismissKeyguard */,
+                                false /* showWhenLocked */));
+                if (focusedStack.getTopDismissingKeyguardActivity() != null) {
+                    mDismissingKeyguardActivity = focusedStack.getTopDismissingKeyguardActivity();
+                }
+                mOccluded |= controller.mWindowManager.isShowingDream();
+            }
+
+            // TODO(b/113840485): Handle app transition for individual display.
+            // For now, only default display can change occluded.
+            if (lastOccluded != mOccluded && mDisplayId == DEFAULT_DISPLAY) {
+                controller.handleOccludedChanged();
+            }
+            if (lastDismissActivity != mDismissingKeyguardActivity && !mOccluded
+                    && mDismissingKeyguardActivity != null
+                    && controller.mWindowManager.isKeyguardSecure()) {
+                mRequestDismissKeyguard = true;
+            }
+        }
+
+        void dumpStatus(PrintWriter pw, String prefix) {
+            final StringBuilder sb = new StringBuilder();
+            sb.append(prefix);
+            sb.append("  Occluded=").append(mOccluded)
+                    .append(" DismissingKeyguardActivity=")
+                    .append(mDismissingKeyguardActivity)
+                    .append(" at display=")
+                    .append(mDisplayId);
+            pw.println(sb.toString());
+        }
+
+        void writeToProto(ProtoOutputStream proto, long fieldId) {
+            final long token = proto.start(fieldId);
+            proto.write(DISPLAY_ID, mDisplayId);
+            proto.write(KEYGUARD_OCCLUDED, mOccluded);
+            proto.end(token);
         }
     }
 
@@ -399,8 +486,7 @@
         pw.println(prefix + "  mKeyguardShowing=" + mKeyguardShowing);
         pw.println(prefix + "  mAodShowing=" + mAodShowing);
         pw.println(prefix + "  mKeyguardGoingAway=" + mKeyguardGoingAway);
-        pw.println(prefix + "  mOccluded=" + mOccluded);
-        pw.println(prefix + "  mDismissingKeyguardActivity=" + mDismissingKeyguardActivity);
+        dumpDisplayStates(pw, prefix);
         pw.println(prefix + "  mDismissalRequested=" + mDismissalRequested);
         pw.println(prefix + "  mVisibilityTransactionDepth=" + mVisibilityTransactionDepth);
     }
@@ -408,7 +494,19 @@
     void writeToProto(ProtoOutputStream proto, long fieldId) {
         final long token = proto.start(fieldId);
         proto.write(KEYGUARD_SHOWING, mKeyguardShowing);
-        proto.write(KEYGUARD_OCCLUDED, mOccluded);
+        writeDisplayStatesToProto(proto, KEYGUARD_OCCLUDED_STATES);
         proto.end(token);
     }
+
+    private void dumpDisplayStates(PrintWriter pw, String prefix) {
+        for (int i = 0; i < mDisplayStates.size(); i++) {
+            mDisplayStates.valueAt(i).dumpStatus(pw, prefix);
+        }
+    }
+
+    private void writeDisplayStatesToProto(ProtoOutputStream proto, long fieldId) {
+        for (int i = 0; i < mDisplayStates.size(); i++) {
+            mDisplayStates.valueAt(i).writeToProto(proto, fieldId);
+        }
+    }
 }
diff --git a/services/core/java/com/android/server/am/MemoryStatUtil.java b/services/core/java/com/android/server/am/MemoryStatUtil.java
index f9dccea0..a8e1ccc 100644
--- a/services/core/java/com/android/server/am/MemoryStatUtil.java
+++ b/services/core/java/com/android/server/am/MemoryStatUtil.java
@@ -22,6 +22,7 @@
 
 import android.annotation.Nullable;
 import android.os.FileUtils;
+import android.os.SystemProperties;
 import android.util.Slog;
 
 import com.android.internal.annotations.VisibleForTesting;
@@ -36,14 +37,26 @@
  * Static utility methods related to {@link MemoryStat}.
  */
 final class MemoryStatUtil {
+    static final int BYTES_IN_KILOBYTE = 1024;
+    static final int PAGE_SIZE = 4096;
+
     private static final String TAG = TAG_WITH_CLASS_NAME ? "MemoryStatUtil" : TAG_AM;
 
+    /** True if device has per-app memcg */
+    private static final boolean DEVICE_HAS_PER_APP_MEMCG =
+            SystemProperties.getBoolean("ro.config.per_app_memcg", false);
+
     /** Path to check if device has memcg */
     private static final String MEMCG_TEST_PATH = "/dev/memcg/apps/memory.stat";
     /** Path to memory stat file for logging app start memory state */
     private static final String MEMORY_STAT_FILE_FMT = "/dev/memcg/apps/uid_%d/pid_%d/memory.stat";
+    /** Path to memory max usage file for logging app memory state */
+    private static final String MEMORY_MAX_USAGE_FILE_FMT =
+            "/dev/memcg/apps/uid_%d/pid_%d/memory.max_usage_in_bytes";
     /** Path to procfs stat file for logging app start memory state */
     private static final String PROC_STAT_FILE_FMT = "/proc/%d/stat";
+    /** Path to procfs status file for logging app memory state */
+    private static final String PROC_STATUS_FILE_FMT = "/proc/%d/status";
 
     private static final Pattern PGFAULT = Pattern.compile("total_pgfault (\\d+)");
     private static final Pattern PGMAJFAULT = Pattern.compile("total_pgmajfault (\\d+)");
@@ -51,19 +64,19 @@
     private static final Pattern CACHE_IN_BYTES = Pattern.compile("total_cache (\\d+)");
     private static final Pattern SWAP_IN_BYTES = Pattern.compile("total_swap (\\d+)");
 
+    private static final Pattern RSS_HIGH_WATERMARK_IN_BYTES =
+            Pattern.compile("VmHWM:\\s*(\\d+)\\s*kB");
+
     private static final int PGFAULT_INDEX = 9;
     private static final int PGMAJFAULT_INDEX = 11;
-    private static final int RSS_IN_BYTES_INDEX = 23;
-
-    /** True if device has memcg */
-    private static volatile Boolean sDeviceHasMemCg;
+    private static final int RSS_IN_PAGES_INDEX = 23;
 
     private MemoryStatUtil() {}
 
     /**
      * Reads memory stat for a process.
      *
-     * Reads from memcg if available on device, else fallback to procfs.
+     * Reads from per-app memcg if available on device, else fallback to procfs.
      * Returns null if no stats can be read.
      */
     @Nullable
@@ -78,8 +91,15 @@
      */
     @Nullable
     static MemoryStat readMemoryStatFromMemcg(int uid, int pid) {
-        final String path = String.format(Locale.US, MEMORY_STAT_FILE_FMT, uid, pid);
-        return parseMemoryStatFromMemcg(readFileContents(path));
+        final String statPath = String.format(Locale.US, MEMORY_STAT_FILE_FMT, uid, pid);
+        MemoryStat stat = parseMemoryStatFromMemcg(readFileContents(statPath));
+        if (stat == null) {
+            return null;
+        }
+        String maxUsagePath = String.format(Locale.US, MEMORY_MAX_USAGE_FILE_FMT, uid, pid);
+        stat.rssHighWatermarkInBytes = parseMemoryMaxUsageFromMemCg(
+                readFileContents(maxUsagePath));
+        return stat;
     }
 
     /**
@@ -89,8 +109,14 @@
      */
     @Nullable
     static MemoryStat readMemoryStatFromProcfs(int pid) {
-        final String path = String.format(Locale.US, PROC_STAT_FILE_FMT, pid);
-        return parseMemoryStatFromProcfs(readFileContents(path));
+        final String statPath = String.format(Locale.US, PROC_STAT_FILE_FMT, pid);
+        MemoryStat stat = parseMemoryStatFromProcfs(readFileContents(statPath));
+        if (stat == null) {
+            return null;
+        }
+        final String statusPath = String.format(Locale.US, PROC_STATUS_FILE_FMT, pid);
+        stat.rssHighWatermarkInBytes = parseVmHWMFromProcfs(readFileContents(statusPath));
+        return stat;
     }
 
     private static String readFileContents(String path) {
@@ -111,7 +137,7 @@
     /**
      * Parses relevant statistics out from the contents of a memory.stat file in memcg.
      */
-    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE)
+    @VisibleForTesting
     @Nullable
     static MemoryStat parseMemoryStatFromMemcg(String memoryStatContents) {
         if (memoryStatContents == null || memoryStatContents.isEmpty()) {
@@ -121,22 +147,35 @@
         final MemoryStat memoryStat = new MemoryStat();
         Matcher m;
         m = PGFAULT.matcher(memoryStatContents);
-        memoryStat.pgfault = m.find() ? Long.valueOf(m.group(1)) : 0;
+        memoryStat.pgfault = m.find() ? Long.parseLong(m.group(1)) : 0;
         m = PGMAJFAULT.matcher(memoryStatContents);
-        memoryStat.pgmajfault = m.find() ? Long.valueOf(m.group(1)) : 0;
+        memoryStat.pgmajfault = m.find() ? Long.parseLong(m.group(1)) : 0;
         m = RSS_IN_BYTES.matcher(memoryStatContents);
-        memoryStat.rssInBytes = m.find() ? Long.valueOf(m.group(1)) : 0;
+        memoryStat.rssInBytes = m.find() ? Long.parseLong(m.group(1)) : 0;
         m = CACHE_IN_BYTES.matcher(memoryStatContents);
-        memoryStat.cacheInBytes = m.find() ? Long.valueOf(m.group(1)) : 0;
+        memoryStat.cacheInBytes = m.find() ? Long.parseLong(m.group(1)) : 0;
         m = SWAP_IN_BYTES.matcher(memoryStatContents);
-        memoryStat.swapInBytes = m.find() ? Long.valueOf(m.group(1)) : 0;
+        memoryStat.swapInBytes = m.find() ? Long.parseLong(m.group(1)) : 0;
         return memoryStat;
     }
 
+    @VisibleForTesting
+    static long parseMemoryMaxUsageFromMemCg(String memoryMaxUsageContents) {
+        if (memoryMaxUsageContents == null || memoryMaxUsageContents.isEmpty()) {
+            return 0;
+        }
+        try {
+            return Long.parseLong(memoryMaxUsageContents);
+        } catch (NumberFormatException e) {
+            Slog.e(TAG, "Failed to parse value", e);
+            return 0;
+        }
+    }
+
     /**
-     * Parses relevant statistics out from the contents of a /proc/pid/stat file in procfs.
+     * Parses relevant statistics out from the contents of the /proc/pid/stat file in procfs.
      */
-    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE)
+    @VisibleForTesting
     @Nullable
     static MemoryStat parseMemoryStatFromProcfs(String procStatContents) {
         if (procStatContents == null || procStatContents.isEmpty()) {
@@ -148,23 +187,37 @@
             return null;
         }
 
-        final MemoryStat memoryStat = new MemoryStat();
-        memoryStat.pgfault = Long.valueOf(splits[PGFAULT_INDEX]);
-        memoryStat.pgmajfault = Long.valueOf(splits[PGMAJFAULT_INDEX]);
-        memoryStat.rssInBytes = Long.valueOf(splits[RSS_IN_BYTES_INDEX]);
-        return memoryStat;
+        try {
+            final MemoryStat memoryStat = new MemoryStat();
+            memoryStat.pgfault = Long.parseLong(splits[PGFAULT_INDEX]);
+            memoryStat.pgmajfault = Long.parseLong(splits[PGMAJFAULT_INDEX]);
+            memoryStat.rssInBytes = Long.parseLong(splits[RSS_IN_PAGES_INDEX]) * PAGE_SIZE;
+            return memoryStat;
+        } catch (NumberFormatException e) {
+            Slog.e(TAG, "Failed to parse value", e);
+            return null;
+        }
     }
 
     /**
-     * Checks if memcg is available on device.
-     *
-     * Touches the filesystem to do the check.
+     * Parses RSS high watermark out from the contents of the /proc/pid/status file in procfs. The
+     * returned value is in bytes.
+     */
+    @VisibleForTesting
+    static long parseVmHWMFromProcfs(String procStatusContents) {
+        if (procStatusContents == null || procStatusContents.isEmpty()) {
+            return 0;
+        }
+        Matcher m = RSS_HIGH_WATERMARK_IN_BYTES.matcher(procStatusContents);
+        // Convert value read from /proc/pid/status from kilobytes to bytes.
+        return m.find() ? Long.parseLong(m.group(1)) * BYTES_IN_KILOBYTE : 0;
+    }
+
+    /**
+     * Returns whether per-app memcg is available on device.
      */
     static boolean hasMemcg() {
-        if (sDeviceHasMemCg == null) {
-            sDeviceHasMemCg = (new File(MEMCG_TEST_PATH)).exists();
-        }
-        return sDeviceHasMemCg;
+        return DEVICE_HAS_PER_APP_MEMCG;
     }
 
     static final class MemoryStat {
@@ -178,5 +231,7 @@
         long cacheInBytes;
         /** Number of bytes of swap usage */
         long swapInBytes;
+        /** Number of bytes of peak anonymous and swap cache memory */
+        long rssHighWatermarkInBytes;
     }
 }
diff --git a/services/core/java/com/android/server/am/OomAdjProfiler.java b/services/core/java/com/android/server/am/OomAdjProfiler.java
index 6230e0d..71f0db5 100644
--- a/services/core/java/com/android/server/am/OomAdjProfiler.java
+++ b/services/core/java/com/android/server/am/OomAdjProfiler.java
@@ -91,9 +91,9 @@
                 return;
             }
             mSystemServerCpuTimeUpdateScheduled = true;
-            BackgroundThread.getHandler().post(PooledLambda.obtainRunnable(
+            BackgroundThread.getHandler().sendMessage(PooledLambda.obtainMessage(
                     OomAdjProfiler::updateSystemServerCpuTime,
-                    this, mOnBattery, mScreenOff).recycleOnUse());
+                    this, mOnBattery, mScreenOff));
         }
     }
 
diff --git a/services/core/java/com/android/server/am/PendingIntentController.java b/services/core/java/com/android/server/am/PendingIntentController.java
new file mode 100644
index 0000000..a9c00a7
--- /dev/null
+++ b/services/core/java/com/android/server/am/PendingIntentController.java
@@ -0,0 +1,329 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.server.am;
+
+import static android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING;
+import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_MU;
+import static com.android.server.am.ActivityManagerDebugConfig.POSTFIX_MU;
+import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM;
+import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME;
+
+import android.app.Activity;
+import android.app.ActivityManagerInternal;
+import android.app.AppGlobals;
+import android.app.PendingIntent;
+import android.content.IIntentSender;
+import android.content.Intent;
+import android.os.Binder;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.IBinder;
+import android.os.Looper;
+import android.os.Message;
+import android.os.RemoteCallbackList;
+import android.os.RemoteException;
+import android.os.UserHandle;
+import android.util.ArrayMap;
+import android.util.Slog;
+import com.android.internal.os.IResultReceiver;
+import com.android.internal.util.function.pooled.PooledLambda;
+import com.android.server.LocalServices;
+import com.android.server.wm.ActivityTaskManagerInternal;
+
+import java.io.PrintWriter;
+import java.lang.ref.WeakReference;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+
+/**
+ * Helper class for {@link ActivityManagerService} responsible for managing pending intents.
+ *
+ * <p>This class uses {@link #mLock} to synchronize access to internal state and doesn't make use of
+ * {@link ActivityManagerService} lock since there can be direct calls into this class from outside
+ * AM. This helps avoid deadlocks.
+ */
+public class PendingIntentController {
+    private static final String TAG = TAG_WITH_CLASS_NAME ? "PendingIntentController" : TAG_AM;
+    private static final String TAG_MU = TAG + POSTFIX_MU;
+
+    /** Lock for internal state. */
+    final Object mLock = new Object();
+    final Handler mH;
+    ActivityManagerInternal mAmInternal;
+    final UserController mUserController;
+    final ActivityTaskManagerInternal mAtmInternal;
+
+    /** Set of IntentSenderRecord objects that are currently active. */
+    final HashMap<PendingIntentRecord.Key, WeakReference<PendingIntentRecord>> mIntentSenderRecords
+            = new HashMap<>();
+
+    PendingIntentController(Looper looper, UserController userController) {
+        mH = new Handler(looper);
+        mAtmInternal = LocalServices.getService(ActivityTaskManagerInternal.class);
+        mUserController = userController;
+    }
+
+    void onActivityManagerInternalAdded() {
+        synchronized (mLock) {
+            mAmInternal = LocalServices.getService(ActivityManagerInternal.class);
+        }
+    }
+
+    PendingIntentRecord getIntentSender(int type, String packageName, int callingUid, int userId,
+            IBinder token, String resultWho, int requestCode, Intent[] intents,
+            String[] resolvedTypes, int flags, Bundle bOptions) {
+        synchronized (mLock) {
+            if (DEBUG_MU) Slog.v(TAG_MU, "getIntentSender(): uid=" + callingUid);
+
+            // We're going to be splicing together extras before sending, so we're
+            // okay poking into any contained extras.
+            if (intents != null) {
+                for (int i = 0; i < intents.length; i++) {
+                    intents[i].setDefusable(true);
+                }
+            }
+            Bundle.setDefusable(bOptions, true);
+
+            final boolean noCreate = (flags & PendingIntent.FLAG_NO_CREATE) != 0;
+            final boolean cancelCurrent = (flags & PendingIntent.FLAG_CANCEL_CURRENT) != 0;
+            final boolean updateCurrent = (flags & PendingIntent.FLAG_UPDATE_CURRENT) != 0;
+            flags &= ~(PendingIntent.FLAG_NO_CREATE | PendingIntent.FLAG_CANCEL_CURRENT
+                    | PendingIntent.FLAG_UPDATE_CURRENT);
+
+            PendingIntentRecord.Key key = new PendingIntentRecord.Key(type, packageName, token,
+                    resultWho, requestCode, intents, resolvedTypes, flags,
+                    SafeActivityOptions.fromBundle(bOptions), userId);
+            WeakReference<PendingIntentRecord> ref;
+            ref = mIntentSenderRecords.get(key);
+            PendingIntentRecord rec = ref != null ? ref.get() : null;
+            if (rec != null) {
+                if (!cancelCurrent) {
+                    if (updateCurrent) {
+                        if (rec.key.requestIntent != null) {
+                            rec.key.requestIntent.replaceExtras(intents != null ?
+                                    intents[intents.length - 1] : null);
+                        }
+                        if (intents != null) {
+                            intents[intents.length - 1] = rec.key.requestIntent;
+                            rec.key.allIntents = intents;
+                            rec.key.allResolvedTypes = resolvedTypes;
+                        } else {
+                            rec.key.allIntents = null;
+                            rec.key.allResolvedTypes = null;
+                        }
+                    }
+                    return rec;
+                }
+                makeIntentSenderCanceled(rec);
+                mIntentSenderRecords.remove(key);
+            }
+            if (noCreate) {
+                return rec;
+            }
+            rec = new PendingIntentRecord(this, key, callingUid);
+            mIntentSenderRecords.put(key, rec.ref);
+            return rec;
+        }
+    }
+
+    boolean removePendingIntentsForPackage(String packageName, int userId, int appId,
+            boolean doIt) {
+
+        boolean didSomething = false;
+        synchronized (mLock) {
+
+            // Remove pending intents.  For now we only do this when force stopping users, because
+            // we have some problems when doing this for packages -- app widgets are not currently
+            // cleaned up for such packages, so they can be left with bad pending intents.
+            if (mIntentSenderRecords.size() <= 0) {
+                return false;
+            }
+
+            Iterator<WeakReference<PendingIntentRecord>> it
+                    = mIntentSenderRecords.values().iterator();
+            while (it.hasNext()) {
+                WeakReference<PendingIntentRecord> wpir = it.next();
+                if (wpir == null) {
+                    it.remove();
+                    continue;
+                }
+                PendingIntentRecord pir = wpir.get();
+                if (pir == null) {
+                    it.remove();
+                    continue;
+                }
+                if (packageName == null) {
+                    // Stopping user, remove all objects for the user.
+                    if (pir.key.userId != userId) {
+                        // Not the same user, skip it.
+                        continue;
+                    }
+                } else {
+                    if (UserHandle.getAppId(pir.uid) != appId) {
+                        // Different app id, skip it.
+                        continue;
+                    }
+                    if (userId != UserHandle.USER_ALL && pir.key.userId != userId) {
+                        // Different user, skip it.
+                        continue;
+                    }
+                    if (!pir.key.packageName.equals(packageName)) {
+                        // Different package, skip it.
+                        continue;
+                    }
+                }
+                if (!doIt) {
+                    return true;
+                }
+                didSomething = true;
+                it.remove();
+                makeIntentSenderCanceled(pir);
+                if (pir.key.activity != null) {
+                    final Message m = PooledLambda.obtainMessage(
+                            PendingIntentController::clearPendingResultForActivity, this,
+                            pir.key.activity, pir.ref);
+                    mH.sendMessage(m);
+                }
+            }
+        }
+
+        return didSomething;
+    }
+
+    public void cancelIntentSender(IIntentSender sender) {
+        if (!(sender instanceof PendingIntentRecord)) {
+            return;
+        }
+        synchronized (mLock) {
+            final PendingIntentRecord rec = (PendingIntentRecord) sender;
+            try {
+                final int uid = AppGlobals.getPackageManager().getPackageUid(rec.key.packageName,
+                        MATCH_DEBUG_TRIAGED_MISSING, UserHandle.getCallingUserId());
+                if (!UserHandle.isSameApp(uid, Binder.getCallingUid())) {
+                    String msg = "Permission Denial: cancelIntentSender() from pid="
+                            + Binder.getCallingPid() + ", uid=" + Binder.getCallingUid()
+                            + " is not allowed to cancel package " + rec.key.packageName;
+                    Slog.w(TAG, msg);
+                    throw new SecurityException(msg);
+                }
+            } catch (RemoteException e) {
+                throw new SecurityException(e);
+            }
+            cancelIntentSender(rec, true);
+        }
+    }
+
+    public void cancelIntentSender(PendingIntentRecord rec, boolean cleanActivity) {
+        synchronized (mLock) {
+            makeIntentSenderCanceled(rec);
+            mIntentSenderRecords.remove(rec.key);
+            if (cleanActivity && rec.key.activity != null) {
+                final Message m = PooledLambda.obtainMessage(
+                        PendingIntentController::clearPendingResultForActivity, this,
+                        rec.key.activity, rec.ref);
+                mH.sendMessage(m);
+            }
+        }
+    }
+
+    private void makeIntentSenderCanceled(PendingIntentRecord rec) {
+        rec.canceled = true;
+        final RemoteCallbackList<IResultReceiver> callbacks = rec.detachCancelListenersLocked();
+        if (callbacks != null) {
+            final Message m = PooledLambda.obtainMessage(
+                    PendingIntentController::handlePendingIntentCancelled, this, callbacks);
+            mH.sendMessage(m);
+        }
+    }
+
+    private void handlePendingIntentCancelled(RemoteCallbackList<IResultReceiver> callbacks) {
+        int N = callbacks.beginBroadcast();
+        for (int i = 0; i < N; i++) {
+            try {
+                callbacks.getBroadcastItem(i).send(Activity.RESULT_CANCELED, null);
+            } catch (RemoteException e) {
+                // Process is not longer running...whatever.
+            }
+        }
+        callbacks.finishBroadcast();
+        // We have to clean up the RemoteCallbackList here, because otherwise it will
+        // needlessly hold the enclosed callbacks until the remote process dies.
+        callbacks.kill();
+    }
+
+    private void clearPendingResultForActivity(IBinder activityToken,
+            WeakReference<PendingIntentRecord> pir) {
+        mAtmInternal.clearPendingResultForActivity(activityToken, pir);
+    }
+
+    void dumpPendingIntents(PrintWriter pw, boolean dumpAll, String dumpPackage) {
+        synchronized (mLock) {
+            boolean printed = false;
+
+            pw.println("ACTIVITY MANAGER PENDING INTENTS (dumpsys activity intents)");
+
+            if (mIntentSenderRecords.size() > 0) {
+                // Organize these by package name, so they are easier to read.
+                final ArrayMap<String, ArrayList<PendingIntentRecord>> byPackage = new ArrayMap<>();
+                final ArrayList<WeakReference<PendingIntentRecord>> weakRefs = new ArrayList<>();
+                final Iterator<WeakReference<PendingIntentRecord>> it
+                        = mIntentSenderRecords.values().iterator();
+                while (it.hasNext()) {
+                    WeakReference<PendingIntentRecord> ref = it.next();
+                    PendingIntentRecord rec = ref != null ? ref.get() : null;
+                    if (rec == null) {
+                        weakRefs.add(ref);
+                        continue;
+                    }
+                    if (dumpPackage != null && !dumpPackage.equals(rec.key.packageName)) {
+                        continue;
+                    }
+                    ArrayList<PendingIntentRecord> list = byPackage.get(rec.key.packageName);
+                    if (list == null) {
+                        list = new ArrayList<>();
+                        byPackage.put(rec.key.packageName, list);
+                    }
+                    list.add(rec);
+                }
+                for (int i = 0; i < byPackage.size(); i++) {
+                    ArrayList<PendingIntentRecord> intents = byPackage.valueAt(i);
+                    printed = true;
+                    pw.print("  * "); pw.print(byPackage.keyAt(i));
+                    pw.print(": "); pw.print(intents.size()); pw.println(" items");
+                    for (int j = 0; j < intents.size(); j++) {
+                        pw.print("    #"); pw.print(j); pw.print(": "); pw.println(intents.get(j));
+                        if (dumpAll) {
+                            intents.get(j).dump(pw, "      ");
+                        }
+                    }
+                }
+                if (weakRefs.size() > 0) {
+                    printed = true;
+                    pw.println("  * WEAK REFS:");
+                    for (int i = 0; i < weakRefs.size(); i++) {
+                        pw.print("    #"); pw.print(i); pw.print(": "); pw.println(weakRefs.get(i));
+                    }
+                }
+            }
+
+            if (!printed) {
+                pw.println("  (nothing)");
+            }
+        }
+    }
+}
diff --git a/services/core/java/com/android/server/am/PendingIntentRecord.java b/services/core/java/com/android/server/am/PendingIntentRecord.java
index ee1166e..b9c6fa6 100644
--- a/services/core/java/com/android/server/am/PendingIntentRecord.java
+++ b/services/core/java/com/android/server/am/PendingIntentRecord.java
@@ -38,15 +38,16 @@
 import android.util.TimeUtils;
 
 import com.android.internal.os.IResultReceiver;
+import com.android.internal.util.function.pooled.PooledLambda;
 
 import java.io.PrintWriter;
 import java.lang.ref.WeakReference;
 import java.util.Objects;
 
-final class PendingIntentRecord extends IIntentSender.Stub {
+public final class PendingIntentRecord extends IIntentSender.Stub {
     private static final String TAG = TAG_WITH_CLASS_NAME ? "PendingIntentRecord" : TAG_AM;
 
-    final ActivityManagerService owner;
+    final PendingIntentController controller;
     final Key key;
     final int uid;
     final WeakReference<PendingIntentRecord> ref;
@@ -62,7 +63,7 @@
     final static class Key {
         final int type;
         final String packageName;
-        final ActivityRecord activity;
+        final IBinder activity;
         final String who;
         final int requestCode;
         final Intent requestIntent;
@@ -76,7 +77,7 @@
 
         private static final int ODD_PRIME_NUMBER = 37;
 
-        Key(int _t, String _p, ActivityRecord _a, String _w,
+        Key(int _t, String _p, IBinder _a, String _w,
                 int _r, Intent[] _i, String[] _it, int _f, SafeActivityOptions _o, int _userId) {
             type = _t;
             packageName = _p;
@@ -114,6 +115,7 @@
             //        + Integer.toHexString(hashCode));
         }
 
+        @Override
         public boolean equals(Object otherObj) {
             if (otherObj == null) {
                 return false;
@@ -188,11 +190,11 @@
         }
     }
 
-    PendingIntentRecord(ActivityManagerService _owner, Key _k, int _u) {
-        owner = _owner;
+    PendingIntentRecord(PendingIntentController _controller, Key _k, int _u) {
+        controller = _controller;
         key = _k;
         uid = _u;
-        ref = new WeakReference<PendingIntentRecord>(this);
+        ref = new WeakReference<>(this);
     }
 
     void setWhitelistDurationLocked(IBinder whitelistToken, long duration) {
@@ -247,189 +249,196 @@
     }
 
     int sendInner(int code, Intent intent, String resolvedType, IBinder whitelistToken,
-            IIntentReceiver finishedReceiver,
-            String requiredPermission, IBinder resultTo, String resultWho, int requestCode,
-            int flagsMask, int flagsValues, Bundle options) {
+            IIntentReceiver finishedReceiver, String requiredPermission, IBinder resultTo,
+            String resultWho, int requestCode, int flagsMask, int flagsValues, Bundle options) {
         if (intent != null) intent.setDefusable(true);
         if (options != null) options.setDefusable(true);
 
-        synchronized (owner) {
-            if (!canceled) {
-                sent = true;
-                if ((key.flags&PendingIntent.FLAG_ONE_SHOT) != 0) {
-                    owner.cancelIntentSenderLocked(this, true);
-                }
+        Long duration = null;
+        Intent finalIntent = null;
+        Intent[] allIntents = null;
+        String[] allResolvedTypes = null;
+        SafeActivityOptions mergedOptions = null;
+        synchronized (controller.mLock) {
+            if (canceled) {
+                return ActivityManager.START_CANCELED;
+            }
 
-                Intent finalIntent = key.requestIntent != null
-                        ? new Intent(key.requestIntent) : new Intent();
+            sent = true;
+            if ((key.flags & PendingIntent.FLAG_ONE_SHOT) != 0) {
+                controller.cancelIntentSender(this, true);
+            }
 
-                final boolean immutable = (key.flags & PendingIntent.FLAG_IMMUTABLE) != 0;
-                if (!immutable) {
-                    if (intent != null) {
-                        int changes = finalIntent.fillIn(intent, key.flags);
-                        if ((changes & Intent.FILL_IN_DATA) == 0) {
-                            resolvedType = key.requestResolvedType;
-                        }
-                    } else {
+            finalIntent = key.requestIntent != null ? new Intent(key.requestIntent) : new Intent();
+
+            final boolean immutable = (key.flags & PendingIntent.FLAG_IMMUTABLE) != 0;
+            if (!immutable) {
+                if (intent != null) {
+                    int changes = finalIntent.fillIn(intent, key.flags);
+                    if ((changes & Intent.FILL_IN_DATA) == 0) {
                         resolvedType = key.requestResolvedType;
                     }
-                    flagsMask &= ~Intent.IMMUTABLE_FLAGS;
-                    flagsValues &= flagsMask;
-                    finalIntent.setFlags((finalIntent.getFlags() & ~flagsMask) | flagsValues);
                 } else {
                     resolvedType = key.requestResolvedType;
                 }
-
-                final int callingUid = Binder.getCallingUid();
-                final int callingPid = Binder.getCallingPid();
-
-                // Extract options before clearing calling identity
-                SafeActivityOptions mergedOptions = key.options;
-                if (mergedOptions == null) {
-                    mergedOptions = SafeActivityOptions.fromBundle(options);
-                } else {
-                    mergedOptions.setCallerOptions(ActivityOptions.fromBundle(options));
-                }
-
-                final long origId = Binder.clearCallingIdentity();
-
-                if (whitelistDuration != null) {
-                    Long duration = whitelistDuration.get(whitelistToken);
-                    if (duration != null) {
-                        int procState = owner.getUidState(callingUid);
-                        if (!ActivityManager.isProcStateBackground(procState)) {
-                            StringBuilder tag = new StringBuilder(64);
-                            tag.append("pendingintent:");
-                            UserHandle.formatUid(tag, callingUid);
-                            tag.append(":");
-                            if (finalIntent.getAction() != null) {
-                                tag.append(finalIntent.getAction());
-                            } else if (finalIntent.getComponent() != null) {
-                                finalIntent.getComponent().appendShortString(tag);
-                            } else if (finalIntent.getData() != null) {
-                                tag.append(finalIntent.getData().toSafeString());
-                            }
-                            owner.tempWhitelistForPendingIntentLocked(callingPid,
-                                    callingUid, uid, duration, tag.toString());
-                        } else {
-                            Slog.w(TAG, "Not doing whitelist " + this + ": caller state="
-                                    + procState);
-                        }
-                    }
-                }
-
-                boolean sendFinish = finishedReceiver != null;
-                int userId = key.userId;
-                if (userId == UserHandle.USER_CURRENT) {
-                    userId = owner.mUserController.getCurrentOrTargetUserId();
-                }
-                int res = START_SUCCESS;
-                switch (key.type) {
-                    case ActivityManager.INTENT_SENDER_ACTIVITY:
-                        try {
-                            // Note when someone has a pending intent, even from different
-                            // users, then there's no need to ensure the calling user matches
-                            // the target user, so validateIncomingUser is always false below.
-
-                            if (key.allIntents != null && key.allIntents.length > 1) {
-                                Intent[] allIntents = new Intent[key.allIntents.length];
-                                String[] allResolvedTypes = new String[key.allIntents.length];
-                                System.arraycopy(key.allIntents, 0, allIntents, 0,
-                                        key.allIntents.length);
-                                if (key.allResolvedTypes != null) {
-                                    System.arraycopy(key.allResolvedTypes, 0, allResolvedTypes, 0,
-                                            key.allResolvedTypes.length);
-                                }
-                                allIntents[allIntents.length-1] = finalIntent;
-                                allResolvedTypes[allResolvedTypes.length-1] = resolvedType;
-
-                                res = owner.mActivityTaskManager.getActivityStartController().startActivitiesInPackage(
-                                        uid, key.packageName, allIntents, allResolvedTypes,
-                                        resultTo, mergedOptions, userId,
-                                        false /* validateIncomingUser */,
-                                        this /* originatingPendingIntent */);
-                            } else {
-                                res = owner.mActivityTaskManager.getActivityStartController().startActivityInPackage(uid,
-                                        callingPid, callingUid, key.packageName, finalIntent,
-                                        resolvedType, resultTo, resultWho, requestCode, 0,
-                                        mergedOptions, userId, null, "PendingIntentRecord",
-                                        false /* validateIncomingUser */,
-                                        this /* originatingPendingIntent */);
-                            }
-                        } catch (RuntimeException e) {
-                            Slog.w(TAG, "Unable to send startActivity intent", e);
-                        }
-                        break;
-                    case ActivityManager.INTENT_SENDER_ACTIVITY_RESULT:
-                        final ActivityStack stack = key.activity.getStack();
-                        if (stack != null) {
-                            stack.sendActivityResultLocked(-1, key.activity, key.who,
-                                    key.requestCode, code, finalIntent);
-                        }
-                        break;
-                    case ActivityManager.INTENT_SENDER_BROADCAST:
-                        try {
-                            // If a completion callback has been requested, require
-                            // that the broadcast be delivered synchronously
-                            int sent = owner.broadcastIntentInPackage(key.packageName, uid,
-                                    finalIntent, resolvedType, finishedReceiver, code, null, null,
-                                    requiredPermission, options, (finishedReceiver != null),
-                                    false, userId);
-                            if (sent == ActivityManager.BROADCAST_SUCCESS) {
-                                sendFinish = false;
-                            }
-                        } catch (RuntimeException e) {
-                            Slog.w(TAG, "Unable to send startActivity intent", e);
-                        }
-                        break;
-                    case ActivityManager.INTENT_SENDER_SERVICE:
-                    case ActivityManager.INTENT_SENDER_FOREGROUND_SERVICE:
-                        try {
-                            owner.startServiceInPackage(uid, finalIntent, resolvedType,
-                                    key.type == ActivityManager.INTENT_SENDER_FOREGROUND_SERVICE,
-                                    key.packageName, userId);
-                        } catch (RuntimeException e) {
-                            Slog.w(TAG, "Unable to send startService intent", e);
-                        } catch (TransactionTooLargeException e) {
-                            res = ActivityManager.START_CANCELED;
-                        }
-                        break;
-                }
-
-                if (sendFinish && res != ActivityManager.START_CANCELED) {
-                    try {
-                        finishedReceiver.performReceive(new Intent(finalIntent), 0,
-                                null, null, false, false, key.userId);
-                    } catch (RemoteException e) {
-                    }
-                }
-
-                Binder.restoreCallingIdentity(origId);
-
-                return res;
+                flagsMask &= ~Intent.IMMUTABLE_FLAGS;
+                flagsValues &= flagsMask;
+                finalIntent.setFlags((finalIntent.getFlags() & ~flagsMask) | flagsValues);
+            } else {
+                resolvedType = key.requestResolvedType;
             }
+
+            // Extract options before clearing calling identity
+            mergedOptions = key.options;
+            if (mergedOptions == null) {
+                mergedOptions = SafeActivityOptions.fromBundle(options);
+            } else {
+                mergedOptions.setCallerOptions(ActivityOptions.fromBundle(options));
+            }
+
+            if (whitelistDuration != null) {
+                duration = whitelistDuration.get(whitelistToken);
+            }
+
+            if (key.type == ActivityManager.INTENT_SENDER_ACTIVITY
+                    && key.allIntents != null && key.allIntents.length > 1) {
+                // Copy all intents and resolved types while we have the controller lock so we can
+                // use it later when the lock isn't held.
+                allIntents = new Intent[key.allIntents.length];
+                allResolvedTypes = new String[key.allIntents.length];
+                System.arraycopy(key.allIntents, 0, allIntents, 0, key.allIntents.length);
+                if (key.allResolvedTypes != null) {
+                    System.arraycopy(key.allResolvedTypes, 0, allResolvedTypes, 0,
+                            key.allResolvedTypes.length);
+                }
+                allIntents[allIntents.length - 1] = finalIntent;
+                allResolvedTypes[allResolvedTypes.length - 1] = resolvedType;
+            }
+
         }
-        return ActivityManager.START_CANCELED;
+        // We don't hold the controller lock beyond this point as we will be calling into AM and WM.
+
+        final int callingUid = Binder.getCallingUid();
+        final int callingPid = Binder.getCallingPid();
+        final long origId = Binder.clearCallingIdentity();
+
+        int res = START_SUCCESS;
+        try {
+            if (duration != null) {
+                int procState = controller.mAmInternal.getUidProcessState(callingUid);
+                if (!ActivityManager.isProcStateBackground(procState)) {
+                    StringBuilder tag = new StringBuilder(64);
+                    tag.append("pendingintent:");
+                    UserHandle.formatUid(tag, callingUid);
+                    tag.append(":");
+                    if (finalIntent.getAction() != null) {
+                        tag.append(finalIntent.getAction());
+                    } else if (finalIntent.getComponent() != null) {
+                        finalIntent.getComponent().appendShortString(tag);
+                    } else if (finalIntent.getData() != null) {
+                        tag.append(finalIntent.getData().toSafeString());
+                    }
+                    controller.mAmInternal.tempWhitelistForPendingIntent(callingPid, callingUid,
+                            uid, duration, tag.toString());
+                } else {
+                    Slog.w(TAG, "Not doing whitelist " + this + ": caller state=" + procState);
+                }
+            }
+
+            boolean sendFinish = finishedReceiver != null;
+            int userId = key.userId;
+            if (userId == UserHandle.USER_CURRENT) {
+                userId = controller.mUserController.getCurrentOrTargetUserId();
+            }
+
+            switch (key.type) {
+                case ActivityManager.INTENT_SENDER_ACTIVITY:
+                    try {
+                        // Note when someone has a pending intent, even from different
+                        // users, then there's no need to ensure the calling user matches
+                        // the target user, so validateIncomingUser is always false below.
+
+                        if (key.allIntents != null && key.allIntents.length > 1) {
+                            res = controller.mAtmInternal.startActivitiesInPackage(
+                                    uid, key.packageName, allIntents, allResolvedTypes, resultTo,
+                                    mergedOptions, userId, false /* validateIncomingUser */,
+                                    this /* originatingPendingIntent */);
+                        } else {
+                            res = controller.mAtmInternal.startActivityInPackage(
+                                    uid, callingPid, callingUid, key.packageName, finalIntent,
+                                    resolvedType, resultTo, resultWho, requestCode, 0,
+                                    mergedOptions, userId, null, "PendingIntentRecord",
+                                    false /* validateIncomingUser */,
+                                    this /* originatingPendingIntent */);
+                        }
+                    } catch (RuntimeException e) {
+                        Slog.w(TAG, "Unable to send startActivity intent", e);
+                    }
+                    break;
+                case ActivityManager.INTENT_SENDER_ACTIVITY_RESULT:
+                    controller.mAtmInternal.sendActivityResult(-1, key.activity, key.who,
+                                key.requestCode, code, finalIntent);
+                    break;
+                case ActivityManager.INTENT_SENDER_BROADCAST:
+                    try {
+                        // If a completion callback has been requested, require
+                        // that the broadcast be delivered synchronously
+                        int sent = controller.mAmInternal.broadcastIntentInPackage(key.packageName,
+                                uid, finalIntent, resolvedType, finishedReceiver, code, null, null,
+                                requiredPermission, options, (finishedReceiver != null),
+                                false, userId);
+                        if (sent == ActivityManager.BROADCAST_SUCCESS) {
+                            sendFinish = false;
+                        }
+                    } catch (RuntimeException e) {
+                        Slog.w(TAG, "Unable to send startActivity intent", e);
+                    }
+                    break;
+                case ActivityManager.INTENT_SENDER_SERVICE:
+                case ActivityManager.INTENT_SENDER_FOREGROUND_SERVICE:
+                    try {
+                        controller.mAmInternal.startServiceInPackage(uid, finalIntent, resolvedType,
+                                key.type == ActivityManager.INTENT_SENDER_FOREGROUND_SERVICE,
+                                key.packageName, userId);
+                    } catch (RuntimeException e) {
+                        Slog.w(TAG, "Unable to send startService intent", e);
+                    } catch (TransactionTooLargeException e) {
+                        res = ActivityManager.START_CANCELED;
+                    }
+                    break;
+            }
+
+            if (sendFinish && res != ActivityManager.START_CANCELED) {
+                try {
+                    finishedReceiver.performReceive(new Intent(finalIntent), 0,
+                            null, null, false, false, key.userId);
+                } catch (RemoteException e) {
+                }
+            }
+        } finally {
+            Binder.restoreCallingIdentity(origId);
+        }
+
+        return res;
     }
 
     @Override
     protected void finalize() throws Throwable {
         try {
             if (!canceled) {
-                owner.mHandler.sendMessage(owner.mHandler.obtainMessage(
-                        ActivityManagerService.FINALIZE_PENDING_INTENT_MSG, this));
+                controller.mH.sendMessage(PooledLambda.obtainMessage(
+                        PendingIntentRecord::completeFinalize, this));
             }
         } finally {
             super.finalize();
         }
     }
 
-    public void completeFinalize() {
-        synchronized(owner) {
-            WeakReference<PendingIntentRecord> current =
-                    owner.mIntentSenderRecords.get(key);
+    private void completeFinalize() {
+        synchronized(controller.mLock) {
+            WeakReference<PendingIntentRecord> current = controller.mIntentSenderRecords.get(key);
             if (current == ref) {
-                owner.mIntentSenderRecords.remove(key);
+                controller.mIntentSenderRecords.remove(key);
             }
         }
     }
diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java
index 784d62e..3ac7885 100644
--- a/services/core/java/com/android/server/am/ProcessList.java
+++ b/services/core/java/com/android/server/am/ProcessList.java
@@ -104,6 +104,11 @@
     static final int VISIBLE_APP_ADJ = 100;
     static final int VISIBLE_APP_LAYER_MAX = PERCEPTIBLE_APP_ADJ - VISIBLE_APP_ADJ - 1;
 
+    // This is a process that was recently TOP and moved to FGS. Continue to treat it almost
+    // like a foreground app for a while.
+    // @see TOP_TO_FGS_GRACE_PERIOD
+    static final int PERCEPTIBLE_RECENT_FOREGROUND_APP_ADJ = 50;
+
     // This is the process running the current foreground app.  We'd really
     // rather not kill it!
     static final int FOREGROUND_APP_ADJ = 0;
diff --git a/services/core/java/com/android/server/am/ProcessRecord.java b/services/core/java/com/android/server/am/ProcessRecord.java
index 144f18b..667d3fa 100644
--- a/services/core/java/com/android/server/am/ProcessRecord.java
+++ b/services/core/java/com/android/server/am/ProcessRecord.java
@@ -17,18 +17,10 @@
 package com.android.server.am;
 
 import static android.app.ActivityManager.PROCESS_STATE_NONEXISTENT;
+
 import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM;
 import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME;
 
-import android.os.Debug;
-import android.util.ArraySet;
-import android.util.DebugUtils;
-import android.util.EventLog;
-import android.util.Slog;
-import com.android.internal.app.procstats.ProcessStats;
-import com.android.internal.app.procstats.ProcessState;
-import com.android.internal.os.BatteryStatsImpl;
-
 import android.app.ActivityManager;
 import android.app.Dialog;
 import android.app.IApplicationThread;
@@ -36,7 +28,9 @@
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
 import android.content.res.CompatibilityInfo;
+import android.content.res.Configuration;
 import android.os.Binder;
+import android.os.Debug;
 import android.os.IBinder;
 import android.os.Process;
 import android.os.RemoteException;
@@ -44,10 +38,18 @@
 import android.os.Trace;
 import android.os.UserHandle;
 import android.util.ArrayMap;
+import android.util.ArraySet;
+import android.util.DebugUtils;
+import android.util.EventLog;
+import android.util.Slog;
 import android.util.StatsLog;
 import android.util.TimeUtils;
 import android.util.proto.ProtoOutputStream;
 
+import com.android.internal.app.procstats.ProcessState;
+import com.android.internal.app.procstats.ProcessStats;
+import com.android.internal.os.BatteryStatsImpl;
+
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -198,6 +200,7 @@
     long lastRequestedGc;       // When we last asked the app to do a gc
     long lastLowMemory;         // When we last told the app that memory is low
     long lastProviderTime;      // The last time someone else was using a provider in this process.
+    long lastTopTime;           // The last time the process was in the TOP state or greater.
     boolean reportLowMemory;    // Set to true when waiting to report low mem
     boolean empty;              // Is this an empty background process?
     boolean cached;             // Is this a cached process?
@@ -306,6 +309,7 @@
             pw.print(prefix); pw.print("manageSpaceActivityName=");
             pw.println(info.manageSpaceActivityName);
         }
+
         pw.print(prefix); pw.print("dir="); pw.print(info.sourceDir);
                 pw.print(" publicDir="); pw.print(info.publicSourceDir);
                 pw.print(" data="); pw.println(info.dataDir);
@@ -415,6 +419,11 @@
             TimeUtils.formatDuration(lastProviderTime, nowUptime, pw);
             pw.println();
         }
+        if (lastTopTime > 0) {
+            pw.print(prefix); pw.print("lastTopTime=");
+            TimeUtils.formatDuration(lastTopTime, nowUptime, pw);
+            pw.println();
+        }
         if (hasStartedServices) {
             pw.print(prefix); pw.print("hasStartedServices="); pw.println(hasStartedServices);
         }
@@ -514,7 +523,7 @@
     }
 
     ProcessRecord(ActivityManagerService _service, ApplicationInfo _info, String _processName,
-            int _uid) {
+            int _uid, Configuration config) {
         mService = _service;
         info = _info;
         isolated = _info.uid != _uid;
@@ -528,7 +537,7 @@
         removed = false;
         lastStateTime = lastPssTime = nextPssTime = SystemClock.uptimeMillis();
         mWindowProcessController = new WindowProcessController(
-                mService.mActivityTaskManager, info, processName, uid, userId, this, this);
+                mService.mActivityTaskManager, info, processName, uid, userId, this, this, config);
         pkgList.put(_info.packageName, new ProcessStats.ProcessStateHolder(_info.longVersionCode));
     }
 
diff --git a/services/core/java/com/android/server/am/ProcessStatsService.java b/services/core/java/com/android/server/am/ProcessStatsService.java
index 8ce650c..6ffd8a9 100644
--- a/services/core/java/com/android/server/am/ProcessStatsService.java
+++ b/services/core/java/com/android/server/am/ProcessStatsService.java
@@ -23,8 +23,10 @@
 import android.os.SystemClock;
 import android.os.SystemProperties;
 import android.service.procstats.ProcessStatsServiceDumpProto;
+import android.text.format.DateFormat;
 import android.util.ArrayMap;
 import android.util.AtomicFile;
+import android.util.Log;
 import android.util.LongSparseArray;
 import android.util.Slog;
 import android.util.SparseArray;
@@ -47,6 +49,7 @@
 import java.io.InputStream;
 import java.io.PrintWriter;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.locks.ReentrantLock;
@@ -482,6 +485,23 @@
         return finalRes;
     }
 
+    static int parseSectionOptions(String optionsStr) {
+        final String sep = ",";
+        String[] sectionsStr = optionsStr.split(sep);
+        if (sectionsStr.length == 0) {
+            return ProcessStats.REPORT_ALL;
+        }
+        int res = 0;
+        List<String> optionStrList = Arrays.asList(ProcessStats.OPTIONS_STR);
+        for (String sectionStr : sectionsStr) {
+            int optionIndex = optionStrList.indexOf(sectionStr);
+            if (optionIndex != -1) {
+                res |= ProcessStats.OPTIONS[optionIndex];
+            }
+        }
+        return res;
+    }
+
     public byte[] getCurrentStats(List<ParcelFileDescriptor> historic) {
         mAm.mContext.enforceCallingOrSelfPermission(
                 android.Manifest.permission.PACKAGE_USAGE_STATS, null);
@@ -514,6 +534,95 @@
         return current.marshall();
     }
 
+    /**
+     * Get stats committed after highWaterMarkMs
+     * @param highWaterMarkMs Report stats committed after this time.
+     * @param section Integer mask to indicage which sections to include in the stats.
+     * @param doAggregate Whether to aggregate the stats or keep them separated.
+     * @return List of proto binary of individual commit files or one that is merged from them.
+     */
+    @Override
+    public long getCommittedStats(long highWaterMarkMs, int section, boolean doAggregate,
+            List<ParcelFileDescriptor> committedStats) {
+        mAm.mContext.enforceCallingOrSelfPermission(
+                android.Manifest.permission.PACKAGE_USAGE_STATS, null);
+
+        ProcessStats mergedStats = new ProcessStats(false);
+        long newHighWaterMark = highWaterMarkMs;
+        mWriteLock.lock();
+        try {
+            ArrayList<String> files = getCommittedFiles(0, false, true);
+            if (files != null) {
+                String highWaterMarkStr =
+                        DateFormat.format("yyyy-MM-dd-HH-mm-ss", highWaterMarkMs).toString();
+                ProcessStats stats = new ProcessStats(false);
+                for (int i = files.size() - 1; i >= 0; i--) {
+                    String fileName = files.get(i);
+                    try {
+                        String startTimeStr = fileName.substring(
+                                fileName.lastIndexOf(STATE_FILE_PREFIX)
+                                        + STATE_FILE_PREFIX.length(),
+                                fileName.lastIndexOf(STATE_FILE_SUFFIX));
+                        if (startTimeStr.compareToIgnoreCase(highWaterMarkStr) > 0) {
+                            ParcelFileDescriptor pfd = ParcelFileDescriptor.open(
+                                    new File(fileName),
+                                    ParcelFileDescriptor.MODE_READ_ONLY);
+                            InputStream is = new ParcelFileDescriptor.AutoCloseInputStream(pfd);
+                            stats.reset();
+                            stats.read(is);
+                            is.close();
+                            if (stats.mTimePeriodStartClock > newHighWaterMark) {
+                                newHighWaterMark = stats.mTimePeriodStartClock;
+                            }
+                            if (doAggregate) {
+                                mergedStats.add(stats);
+                            } else {
+                                committedStats.add(protoToParcelFileDescriptor(stats, section));
+                            }
+                            if (stats.mReadError != null) {
+                                Log.w(TAG, "Failure reading process stats: " + stats.mReadError);
+                                continue;
+                            }
+                        }
+                    } catch (IOException e) {
+                        Slog.w(TAG, "Failure opening procstat file " + fileName, e);
+                    } catch (IndexOutOfBoundsException e) {
+                        Slog.w(TAG, "Failure to read and parse commit file " + fileName, e);
+                    }
+                }
+                if (doAggregate) {
+                    committedStats.add(protoToParcelFileDescriptor(mergedStats, section));
+                }
+                return newHighWaterMark;
+            }
+        } catch (IOException e) {
+            Slog.w(TAG, "Failure opening procstat file", e);
+        } finally {
+            mWriteLock.unlock();
+        }
+        return newHighWaterMark;
+    }
+
+    private ParcelFileDescriptor protoToParcelFileDescriptor(ProcessStats stats, int section)
+            throws IOException {
+        final ParcelFileDescriptor[] fds = ParcelFileDescriptor.createPipe();
+        Thread thr = new Thread("ProcessStats pipe output") {
+            public void run() {
+                try {
+                    FileOutputStream fout = new ParcelFileDescriptor.AutoCloseOutputStream(fds[1]);
+                    final ProtoOutputStream proto = new ProtoOutputStream(fout);
+                    stats.writeToProto(proto, stats.mTimePeriodEndRealtime, section);
+                    proto.flush();
+                    fout.close();
+                } catch (IOException e) {
+                    Slog.w(TAG, "Failure writing pipe", e);
+                }
+            }
+        };
+        thr.start();
+        return fds[0];
+    }
+
     public ParcelFileDescriptor getStatsOverTime(long minTime) {
         mAm.mContext.enforceCallingOrSelfPermission(
                 android.Manifest.permission.PACKAGE_USAGE_STATS, null);
@@ -594,7 +703,7 @@
 
     private void dumpAggregatedStats(PrintWriter pw, long aggregateHours, long now,
             String reqPackage, boolean isCompact, boolean dumpDetails, boolean dumpFullDetails,
-            boolean dumpAll, boolean activeOnly) {
+            boolean dumpAll, boolean activeOnly, int section) {
         ParcelFileDescriptor pfd = getStatsOverTime(aggregateHours*60*60*1000
                 - (ProcessStats.COMMIT_PERIOD/2));
         if (pfd == null) {
@@ -609,11 +718,11 @@
             return;
         }
         if (isCompact) {
-            stats.dumpCheckinLocked(pw, reqPackage);
+            stats.dumpCheckinLocked(pw, reqPackage, section);
         } else {
             if (dumpDetails || dumpFullDetails) {
                 stats.dumpLocked(pw, reqPackage, now, !dumpFullDetails, dumpDetails, dumpAll,
-                        activeOnly);
+                        activeOnly, section);
             } else {
                 stats.dumpSummaryLocked(pw, reqPackage, now, activeOnly);
             }
@@ -643,6 +752,8 @@
         pw.println("  --max: for -a, max num of historical batches to print.");
         pw.println("  --active: only show currently active processes/services.");
         pw.println("  --commit: commit current stats to disk and reset to start new stats.");
+        pw.println("  --section: proc|pkg-proc|pkg-svc|pkg-asc|pkg-all|all ");
+        pw.println("    options can be combined to select desired stats");
         pw.println("  --reset: reset current stats, without committing.");
         pw.println("  --clear: clear all stats; does both --reset and deletes old stats.");
         pw.println("  --write: write current in-memory stats to disk.");
@@ -696,6 +807,7 @@
         int[] csvMemStats = new int[] { ProcessStats.ADJ_MEM_FACTOR_CRITICAL};
         boolean csvSepProcStats = true;
         int[] csvProcStats = ProcessStats.ALL_PROC_STATES;
+        int section = ProcessStats.REPORT_ALL;
         if (args != null) {
             for (int i=0; i<args.length; i++) {
                 String arg = args[i];
@@ -814,13 +926,14 @@
                         pw.println("Process stats committed.");
                         quit = true;
                     }
-                } else if ("--reset".equals(arg)) {
-                    synchronized (mAm) {
-                        mProcessStats.resetSafely();
-                        mAm.requestPssAllProcsLocked(SystemClock.uptimeMillis(), true, false);
-                        pw.println("Process stats reset.");
-                        quit = true;
+                } else if ("--section".equals(arg)) {
+                    i++;
+                    if (i >= args.length) {
+                        pw.println("Error: argument required for --section");
+                        dumpHelp(pw);
+                        return;
                     }
+                    section = parseSectionOptions(args[i]);
                 } else if ("--clear".equals(arg)) {
                     synchronized (mAm) {
                         mProcessStats.resetSafely();
@@ -946,7 +1059,7 @@
         } else if (aggregateHours != 0) {
             pw.print("AGGREGATED OVER LAST "); pw.print(aggregateHours); pw.println(" HOURS:");
             dumpAggregatedStats(pw, aggregateHours, now, reqPackage, isCompact,
-                    dumpDetails, dumpFullDetails, dumpAll, activeOnly);
+                    dumpDetails, dumpFullDetails, dumpAll, activeOnly, section);
             return;
         } else if (lastIndex > 0) {
             pw.print("LAST STATS AT INDEX "); pw.print(lastIndex); pw.println(":");
@@ -968,7 +1081,7 @@
             boolean checkedIn = fileStr.endsWith(STATE_FILE_CHECKIN_SUFFIX);
             if (isCheckin || isCompact) {
                 // Don't really need to lock because we uniquely own this object.
-                processStats.dumpCheckinLocked(pw, reqPackage);
+                processStats.dumpCheckinLocked(pw, reqPackage, section);
             } else {
                 pw.print("COMMITTED STATS FROM ");
                 pw.print(processStats.mTimePeriodStartClockStr);
@@ -976,7 +1089,7 @@
                 pw.println(":");
                 if (dumpDetails || dumpFullDetails) {
                     processStats.dumpLocked(pw, reqPackage, now, !dumpFullDetails, dumpDetails,
-                            dumpAll, activeOnly);
+                            dumpAll, activeOnly, section);
                     if (dumpAll) {
                         pw.print("  mFile="); pw.println(mFile.getBaseFile());
                     }
@@ -1015,7 +1128,7 @@
                             boolean checkedIn = fileStr.endsWith(STATE_FILE_CHECKIN_SUFFIX);
                             if (isCheckin || isCompact) {
                                 // Don't really need to lock because we uniquely own this object.
-                                processStats.dumpCheckinLocked(pw, reqPackage);
+                                processStats.dumpCheckinLocked(pw, reqPackage, section);
                             } else {
                                 if (sepNeeded) {
                                     pw.println();
@@ -1031,7 +1144,7 @@
                                 // much crud.
                                 if (dumpFullDetails) {
                                     processStats.dumpLocked(pw, reqPackage, now, false, false,
-                                            false, activeOnly);
+                                            false, activeOnly, section);
                                 } else {
                                     processStats.dumpSummaryLocked(pw, reqPackage, now, activeOnly);
                                 }
@@ -1054,7 +1167,7 @@
         if (!isCheckin) {
             synchronized (mAm) {
                 if (isCompact) {
-                    mProcessStats.dumpCheckinLocked(pw, reqPackage);
+                    mProcessStats.dumpCheckinLocked(pw, reqPackage, section);
                 } else {
                     if (sepNeeded) {
                         pw.println();
@@ -1062,7 +1175,7 @@
                     pw.println("CURRENT STATS:");
                     if (dumpDetails || dumpFullDetails) {
                         mProcessStats.dumpLocked(pw, reqPackage, now, !dumpFullDetails, dumpDetails,
-                                dumpAll, activeOnly);
+                                dumpAll, activeOnly, section);
                         if (dumpAll) {
                             pw.print("  mFile="); pw.println(mFile.getBaseFile());
                         }
@@ -1078,11 +1191,11 @@
                 }
                 pw.println("AGGREGATED OVER LAST 24 HOURS:");
                 dumpAggregatedStats(pw, 24, now, reqPackage, isCompact,
-                        dumpDetails, dumpFullDetails, dumpAll, activeOnly);
+                        dumpDetails, dumpFullDetails, dumpAll, activeOnly, section);
                 pw.println();
                 pw.println("AGGREGATED OVER LAST 3 HOURS:");
                 dumpAggregatedStats(pw, 3, now, reqPackage, isCompact,
-                        dumpDetails, dumpFullDetails, dumpAll, activeOnly);
+                        dumpDetails, dumpFullDetails, dumpAll, activeOnly, section);
             }
         }
     }
@@ -1099,7 +1212,9 @@
         if (stats.mReadError != null) {
             return;
         }
-        stats.writeToProto(proto, fieldId, now);
+        final long token = proto.start(fieldId);
+        stats.writeToProto(proto, now, ProcessStats.REPORT_ALL);
+        proto.end(token);
     }
 
     private void dumpProto(FileDescriptor fd) {
@@ -1109,7 +1224,9 @@
         long now;
         synchronized (mAm) {
             now = SystemClock.uptimeMillis();
-            mProcessStats.writeToProto(proto,ProcessStatsServiceDumpProto.PROCSTATS_NOW, now);
+            final long token = proto.start(ProcessStatsServiceDumpProto.PROCSTATS_NOW);
+            mProcessStats.writeToProto(proto, now, ProcessStats.REPORT_ALL);
+            proto.end(token);
         }
 
         // aggregated over last 3 hours procstats
diff --git a/services/core/java/com/android/server/am/SafeActivityOptions.java b/services/core/java/com/android/server/am/SafeActivityOptions.java
index f7de7f4..fa0cb47 100644
--- a/services/core/java/com/android/server/am/SafeActivityOptions.java
+++ b/services/core/java/com/android/server/am/SafeActivityOptions.java
@@ -44,7 +44,7 @@
  * the inner options. Also supports having two set of options: Once from the original caller, and
  * once from the caller that is overriding it, which happens when sending a {@link PendingIntent}.
  */
-class SafeActivityOptions {
+public class SafeActivityOptions {
 
     private static final String TAG = TAG_WITH_CLASS_NAME ? "SafeActivityOptions" : TAG_AM;
 
diff --git a/services/core/java/com/android/server/am/TaskRecord.java b/services/core/java/com/android/server/am/TaskRecord.java
index 7256e23..ef8cb1c 100644
--- a/services/core/java/com/android/server/am/TaskRecord.java
+++ b/services/core/java/com/android/server/am/TaskRecord.java
@@ -129,7 +129,8 @@
 import java.util.ArrayList;
 import java.util.Objects;
 
-class TaskRecord extends ConfigurationContainer implements TaskWindowContainerListener {
+// TODO: Make package private again once move to WM package is complete.
+public class TaskRecord extends ConfigurationContainer implements TaskWindowContainerListener {
     private static final String TAG = TAG_WITH_CLASS_NAME ? "TaskRecord" : TAG_AM;
     private static final String TAG_ADD_REMOVE = TAG + POSTFIX_ADD_REMOVE;
     private static final String TAG_RECENTS = TAG + POSTFIX_RECENTS;
@@ -1521,14 +1522,14 @@
 
     /**
      * Check whether this task can be launched on the specified display.
+     *
      * @param displayId Target display id.
-     * @return {@code true} if either it is the default display or this activity is resizeable and
-     *         can be put a secondary screen.
+     * @return {@code true} if either it is the default display or this activity can be put on a
+     *         secondary display.
      */
     boolean canBeLaunchedOnDisplay(int displayId) {
         return mService.mStackSupervisor.canPlaceEntityOnDisplay(displayId,
-                isResizeable(false /* checkSupportsPip */), -1 /* don't check PID */,
-                -1 /* don't check UID */, null /* activityInfo */);
+                -1 /* don't check PID */, -1 /* don't check UID */, null /* activityInfo */);
     }
 
     /**
diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java
index bd412fc..8154062 100644
--- a/services/core/java/com/android/server/am/UserController.java
+++ b/services/core/java/com/android/server/am/UserController.java
@@ -850,10 +850,16 @@
     }
 
     void scheduleStartProfiles() {
-        if (!mHandler.hasMessages(START_PROFILES_MSG)) {
-            mHandler.sendMessageDelayed(mHandler.obtainMessage(START_PROFILES_MSG),
-                    DateUtils.SECOND_IN_MILLIS);
-        }
+        // Parent user transition to RUNNING_UNLOCKING happens on FgThread, so it is busy, there is
+        // a chance the profile will reach RUNNING_LOCKED while parent is still locked, so no
+        // attempt will be made to unlock the profile. If we go via FgThread, this will be executed
+        // after the parent had chance to unlock fully.
+        FgThread.getHandler().post(() -> {
+            if (!mHandler.hasMessages(START_PROFILES_MSG)) {
+                mHandler.sendMessageDelayed(mHandler.obtainMessage(START_PROFILES_MSG),
+                        DateUtils.SECOND_IN_MILLIS);
+            }
+        });
     }
 
     void startProfiles() {
diff --git a/services/core/java/com/android/server/am/WindowProcessController.java b/services/core/java/com/android/server/am/WindowProcessController.java
index e5551b5..f6f4db6 100644
--- a/services/core/java/com/android/server/am/WindowProcessController.java
+++ b/services/core/java/com/android/server/am/WindowProcessController.java
@@ -17,7 +17,10 @@
 package com.android.server.am;
 
 import static android.app.ActivityManager.PROCESS_STATE_NONEXISTENT;
+
+import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_CONFIGURATION;
 import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_RELEASE;
+import static com.android.server.am.ActivityManagerDebugConfig.POSTFIX_CONFIGURATION;
 import static com.android.server.am.ActivityManagerDebugConfig.POSTFIX_RELEASE;
 import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM;
 import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME;
@@ -29,11 +32,13 @@
 import static com.android.server.am.ActivityStack.ActivityState.STOPPING;
 
 import android.app.Activity;
-import android.app.ActivityTaskManager;
 import android.app.ActivityThread;
 import android.app.IApplicationThread;
+import android.app.servertransaction.ConfigurationChangeItem;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
+import android.content.res.Configuration;
+import android.os.Message;
 import android.os.RemoteException;
 import android.util.ArraySet;
 import android.util.Log;
@@ -41,7 +46,7 @@
 
 import com.android.internal.app.HeavyWeightSwitcherActivity;
 import com.android.internal.util.function.pooled.PooledLambda;
-import com.android.internal.util.function.pooled.PooledRunnable;
+import com.android.server.wm.ConfigurationContainer;
 
 import java.io.PrintWriter;
 import java.util.ArrayList;
@@ -57,9 +62,10 @@
  * window manager so the window manager lock is held and appropriate permissions are checked before
  * calls are allowed to proceed.
  */
-public class WindowProcessController {
+public class WindowProcessController extends ConfigurationContainer<ConfigurationContainer> {
     private static final String TAG = TAG_WITH_CLASS_NAME ? "WindowProcessController" : TAG_AM;
     private static final String TAG_RELEASE = TAG + POSTFIX_RELEASE;
+    private static final String TAG_CONFIGURATION = TAG + POSTFIX_CONFIGURATION;
 
     // all about the first app in the process
     final ApplicationInfo mInfo;
@@ -108,8 +114,12 @@
     // any tasks this process had run root activities in
     private final ArrayList<TaskRecord> mRecentTasks = new ArrayList<>();
 
+    // Last configuration that was reported to the process.
+    private final Configuration mLastReportedConfiguration;
+
     WindowProcessController(ActivityTaskManagerService atm, ApplicationInfo info, String name,
-            int uid, int userId, Object owner, WindowProcessListener listener) {
+            int uid, int userId, Object owner, WindowProcessListener listener,
+            Configuration config) {
         mInfo = info;
         mName = name;
         mUid = uid;
@@ -117,6 +127,10 @@
         mOwner = owner;
         mListener = listener;
         mAtm = atm;
+        mLastReportedConfiguration = new Configuration();
+        if (config != null) {
+            onConfigurationChanged(config);
+        }
     }
 
     public void setPid(int pid) {
@@ -219,6 +233,21 @@
         return mInstrumenting;
     }
 
+    @Override
+    protected int getChildCount() {
+        return 0;
+    }
+
+    @Override
+    protected ConfigurationContainer getChildAt(int index) {
+        return null;
+    }
+
+    @Override
+    protected ConfigurationContainer getParent() {
+        return null;
+    }
+
     public void addPackage(String packageName) {
         synchronized (mAtm.mGlobalLock) {
             mPkgList.add(packageName);
@@ -482,48 +511,94 @@
     void clearProfilerIfNeeded() {
         if (mListener == null) return;
         // Posting on handler so WM lock isn't held when we call into AM.
-        mAtm.mH.post(() -> mListener.clearProfilerIfNeeded());
+        mAtm.mH.sendMessage(PooledLambda.obtainMessage(
+                WindowProcessListener::clearProfilerIfNeeded, mListener));
     }
 
     void updateProcessInfo(boolean updateServiceConnectionActivities, boolean updateLru,
             boolean activityChange, boolean updateOomAdj) {
         if (mListener == null) return;
         // Posting on handler so WM lock isn't held when we call into AM.
-        final Runnable r = PooledLambda.obtainRunnable(WindowProcessListener::updateProcessInfo,
+        final Message m = PooledLambda.obtainMessage(WindowProcessListener::updateProcessInfo,
                 mListener, updateServiceConnectionActivities, updateLru, activityChange,
                 updateOomAdj);
-        mAtm.mH.post(r);
+        mAtm.mH.sendMessage(m);
     }
 
     void updateServiceConnectionActivities() {
         if (mListener == null) return;
         // Posting on handler so WM lock isn't held when we call into AM.
-        mAtm.mH.post(() -> mListener.updateServiceConnectionActivities());
+        mAtm.mH.sendMessage(PooledLambda.obtainMessage(
+                WindowProcessListener::updateServiceConnectionActivities, mListener));
     }
 
     void setPendingUiClean(boolean pendingUiClean) {
         if (mListener == null) return;
         // Posting on handler so WM lock isn't held when we call into AM.
-        final Runnable r = PooledLambda.obtainRunnable(
+        final Message m = PooledLambda.obtainMessage(
                 WindowProcessListener::setPendingUiClean, mListener, pendingUiClean);
-        mAtm.mH.post(r);
+        mAtm.mH.sendMessage(m);
     }
 
     void setPendingUiCleanAndForceProcessStateUpTo(int newState) {
         if (mListener == null) return;
         // Posting on handler so WM lock isn't held when we call into AM.
-        final Runnable r = PooledLambda.obtainRunnable(
+        final Message m = PooledLambda.obtainMessage(
                 WindowProcessListener::setPendingUiCleanAndForceProcessStateUpTo,
                 mListener, newState);
-        mAtm.mH.post(r);
+        mAtm.mH.sendMessage(m);
     }
 
     void setRemoved(boolean removed) {
         if (mListener == null) return;
         // Posting on handler so WM lock isn't held when we call into AM.
-        final Runnable r = PooledLambda.obtainRunnable(
+        final Message m = PooledLambda.obtainMessage(
                 WindowProcessListener::setRemoved, mListener, removed);
-        mAtm.mH.post(r);
+        mAtm.mH.sendMessage(m);
+    }
+
+    @Override
+    public void onConfigurationChanged(Configuration newGlobalConfig) {
+        super.onConfigurationChanged(newGlobalConfig);
+        updateConfiguration();
+    }
+
+    @Override
+    public void onOverrideConfigurationChanged(Configuration newOverrideConfig) {
+        super.onOverrideConfigurationChanged(newOverrideConfig);
+        updateConfiguration();
+    }
+
+    private void updateConfiguration() {
+        final Configuration config = getConfiguration();
+        if (mLastReportedConfiguration.diff(config) == 0) {
+            // Nothing changed.
+            return;
+        }
+
+        try {
+            if (mThread == null) {
+                return;
+            }
+            if (DEBUG_CONFIGURATION) {
+                Slog.v(TAG_CONFIGURATION, "Sending to proc " + mName
+                        + " new config " + config);
+            }
+            config.seq = mAtm.increaseConfigurationSeqLocked();
+            mAtm.getLifecycleManager().scheduleTransaction(mThread,
+                    ConfigurationChangeItem.obtain(config));
+            setLastReportedConfiguration(config);
+        } catch (Exception e) {
+            Slog.e(TAG_CONFIGURATION, "Failed to schedule configuration change", e);
+        }
+    }
+
+    private void setLastReportedConfiguration(Configuration config) {
+        mLastReportedConfiguration.setTo(config);
+    }
+
+    Configuration getLastReportedConfiguration() {
+        return mLastReportedConfiguration;
     }
 
     /** Returns the total time (in milliseconds) spent executing in both user and system code. */
@@ -574,6 +649,9 @@
                 pw.print(prefix); pw.print("mVrThreadTid="); pw.println(mVrThreadTid);
             }
         }
+        pw.println(prefix + " Configuration=" + getConfiguration());
+        pw.println(prefix + " OverrideConfiguration=" + getOverrideConfiguration());
+        pw.println(prefix + " mLastReportedConfiguration=" + mLastReportedConfiguration);
     }
 
 }
diff --git a/services/core/java/com/android/server/appbinding/AppBindingService.java b/services/core/java/com/android/server/appbinding/AppBindingService.java
new file mode 100644
index 0000000..91b3b21
--- /dev/null
+++ b/services/core/java/com/android/server/appbinding/AppBindingService.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.server.appbinding;
+
+import android.app.AppGlobals;
+import android.content.Context;
+import android.content.pm.IPackageManager;
+import android.os.Binder;
+import android.os.Handler;
+
+import com.android.internal.os.BackgroundThread;
+import com.android.internal.util.DumpUtils;
+import com.android.server.SystemService;
+
+import java.io.FileDescriptor;
+import java.io.PrintWriter;
+
+/**
+ * System server that keeps a binding to an app to keep it always running.
+ */
+public class AppBindingService extends Binder {
+    public static final String TAG = "AppBindingService";
+
+    private static final boolean DEBUG = false;
+
+    private final Object mLock = new Object();
+
+    private final Injector mInjector;
+    private final Context mContext;
+    private final Handler mHandler;
+    private final IPackageManager mIPackageManager;
+
+    static class Injector {
+        public IPackageManager getIPackageManager() {
+            return AppGlobals.getPackageManager();
+        }
+    }
+
+    /**
+     * System service interacts with this service via this class.
+     */
+    public static final class Lifecycle extends SystemService {
+        final AppBindingService mService;
+
+        public Lifecycle(Context context) {
+            super(context);
+            mService = new AppBindingService(new Injector(), context);
+        }
+
+        @Override
+        public void onStart() {
+            publishBinderService(Context.APP_BINDING_SERVICE, mService);
+        }
+    }
+
+    private AppBindingService(Injector injector, Context context) {
+        mInjector = injector;
+        mContext = context;
+        mIPackageManager = injector.getIPackageManager();
+        mHandler = BackgroundThread.getHandler();
+    }
+
+    @Override
+    public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+        if (!DumpUtils.checkDumpPermission(mContext, TAG, pw)) return;
+    }
+}
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java
index 8caa702..f0ff570 100644
--- a/services/core/java/com/android/server/audio/AudioService.java
+++ b/services/core/java/com/android/server/audio/AudioService.java
@@ -627,6 +627,13 @@
     // If absolute volume is supported in AVRCP device
     private boolean mAvrcpAbsVolSupported = false;
 
+    // Pre-scale for Bluetooth Absolute Volume
+    private float[] mPrescaleAbsoluteVolume = new float[] {
+        0.5f,    // Pre-scale for index 1
+        0.7f,    // Pre-scale for index 2
+        0.85f,   // Pre-scale for index 3
+    };
+
     private static Long mLastDeviceConnectMsgTime = new Long(0);
 
     private NotificationManager mNm;
@@ -878,6 +885,23 @@
         mUserManagerInternal.addUserRestrictionsListener(mUserRestrictionsListener);
 
         mRecordMonitor.initMonitor();
+
+        final float[] preScale = new float[3];
+        preScale[0] = mContext.getResources().getFraction(
+                com.android.internal.R.fraction.config_prescaleAbsoluteVolume_index1,
+                1, 1);
+        preScale[1] = mContext.getResources().getFraction(
+                com.android.internal.R.fraction.config_prescaleAbsoluteVolume_index2,
+                1, 1);
+        preScale[2] = mContext.getResources().getFraction(
+                com.android.internal.R.fraction.config_prescaleAbsoluteVolume_index3,
+                1, 1);
+        for (int i = 0; i < preScale.length; i++) {
+            if (0.0f <= preScale[i] && preScale[i] <= 1.0f) {
+                mPrescaleAbsoluteVolume[i] = preScale[i];
+            }
+        }
+
     }
 
     public void systemReady() {
@@ -4661,7 +4685,9 @@
     @Override
     public void setHearingAidDeviceConnectionState(BluetoothDevice device, int state)
     {
-        Log.i(TAG, "setBluetoothHearingAidDeviceConnectionState");
+        mDeviceLogger.log((new AudioEventLogger.StringEvent(
+                "setHearingAidDeviceConnectionState state=" + state
+                        + " addr=" + device.getAddress())).printLog(TAG));
 
         setBluetoothHearingAidDeviceConnectionState(
                 device, state,  false /* suppressNoisyIntent */, AudioSystem.DEVICE_NONE);
@@ -4699,12 +4725,12 @@
     public int setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(BluetoothDevice device,
                 int state, int profile, boolean suppressNoisyIntent, int a2dpVolume)
     {
-        mDeviceLogger.log(new AudioEventLogger.StringEvent(
+        mDeviceLogger.log((new AudioEventLogger.StringEvent(
                 "setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent state=" + state
                 // only querying address as this is the only readily available field on the device
                 + " addr=" + device.getAddress()
                 + " prof=" + profile + " supprNoisy=" + suppressNoisyIntent
-                + " vol=" + a2dpVolume));
+                + " vol=" + a2dpVolume)).printLog(TAG));
         if (mAudioHandler.hasMessages(MSG_SET_A2DP_SINK_CONNECTION_STATE, device)) {
             mDeviceLogger.log(new AudioEventLogger.StringEvent("A2DP connection state ignored"));
             return 0;
@@ -4926,18 +4952,12 @@
             if (index == 0) {
                 // 0% for volume 0
                 index = 0;
-            } else if (index == 1) {
-                // 50% for volume 1
-                index = (int)(mIndexMax * 0.5) /10;
-            } else if (index == 2) {
-                // 70% for volume 2
-                index = (int)(mIndexMax * 0.70) /10;
-            } else if (index == 3) {
-                // 85% for volume 3
-                index = (int)(mIndexMax * 0.85) /10;
+            } else if (index > 0 && index <= 3) {
+                // Pre-scale for volume steps 1 2 and 3
+                index = (int) (mIndexMax * mPrescaleAbsoluteVolume[index - 1]) / 10;
             } else {
                 // otherwise, full gain
-                index = (mIndexMax + 5)/10;
+                index = (mIndexMax + 5) / 10;
             }
             return index;
         }
@@ -5870,6 +5890,8 @@
     }
 
     private void onSendBecomingNoisyIntent() {
+        mDeviceLogger.log((new AudioEventLogger.StringEvent(
+                "broadcast ACTION_AUDIO_BECOMING_NOISY")).printLog(TAG));
         sendBroadcastToAll(new Intent(AudioManager.ACTION_AUDIO_BECOMING_NOISY));
     }
 
@@ -7235,7 +7257,7 @@
     // - wired: logged before onSetWiredDeviceConnectionState() is executed
     // - A2DP: logged at reception of method call
     final private AudioEventLogger mDeviceLogger = new AudioEventLogger(
-            LOG_NB_EVENTS_DEVICE_CONNECTION, "wired/A2DP device connection");
+            LOG_NB_EVENTS_DEVICE_CONNECTION, "wired/A2DP/hearing aid device connection");
 
     final private AudioEventLogger mForceUseLogger = new AudioEventLogger(
             LOG_NB_EVENTS_FORCE_USE,
diff --git a/services/core/java/com/android/server/biometrics/AuthenticationClient.java b/services/core/java/com/android/server/biometrics/AuthenticationClient.java
index 36e7cba..aa4d34e 100644
--- a/services/core/java/com/android/server/biometrics/AuthenticationClient.java
+++ b/services/core/java/com/android/server/biometrics/AuthenticationClient.java
@@ -26,10 +26,13 @@
 import android.os.IBinder;
 import android.os.Looper;
 import android.os.RemoteException;
+import android.security.KeyStore;
 import android.util.Slog;
 
 import com.android.internal.statusbar.IStatusBarService;
 
+import java.util.ArrayList;
+
 /**
  * A class to keep track of the authentication state for a given client.
  */
@@ -39,34 +42,79 @@
 
     public abstract int handleFailedAttempt();
     public abstract void resetFailedAttempts();
+    public abstract String getErrorString(int error, int vendorCode);
+    public abstract String getAcquiredString(int acquireInfo, int vendorCode);
+    /**
+      * @return one of {@link #TYPE_FINGERPRINT} {@link #TYPE_IRIS} or {@link #TYPE_FACE}
+      */
+    public abstract int getBiometricType();
 
     public static final int LOCKOUT_NONE = 0;
     public static final int LOCKOUT_TIMED = 1;
     public static final int LOCKOUT_PERMANENT = 2;
 
-    private final BiometricAuthenticator mAuthenticator;
+    private final boolean mRequireConfirmation;
     // Callback mechanism received from the client
     // (BiometricPrompt -> BiometricPromptService -> <Biometric>Service -> AuthenticationClient)
     private IBiometricPromptReceiver mDialogReceiverFromClient;
     private Bundle mBundle;
     private IStatusBarService mStatusBarService;
     private boolean mInLockout;
+    private TokenEscrow mEscrow;
     protected boolean mDialogDismissed;
 
+    /**
+     * Container that holds the identifier and authToken. For biometrics that require user
+     * confirmation, these should not be sent to their final destinations until the user confirms.
+     */
+    class TokenEscrow {
+        final BiometricAuthenticator.Identifier mIdentifier;
+        final ArrayList<Byte> mToken;
+
+        TokenEscrow(BiometricAuthenticator.Identifier identifier, ArrayList<Byte> token) {
+            mIdentifier = identifier;
+            mToken = token;
+        }
+
+        BiometricAuthenticator.Identifier getIdentifier() {
+            return mIdentifier;
+        }
+
+        ArrayList<Byte> getToken() {
+            return mToken;
+        }
+    }
+
     // Receives events from SystemUI and handles them before forwarding them to BiometricDialog
     protected IBiometricPromptReceiver mDialogReceiver = new IBiometricPromptReceiver.Stub() {
         @Override // binder call
         public void onDialogDismissed(int reason) {
             if (mBundle != null && mDialogReceiverFromClient != null) {
                 try {
-                    mDialogReceiverFromClient.onDialogDismissed(reason);
+                    if (reason != BiometricPrompt.DISMISSED_REASON_POSITIVE) {
+                        // Positive button is used by passive modalities as a "confirm" button,
+                        // do not send to client
+                        mDialogReceiverFromClient.onDialogDismissed(reason);
+                    }
                     if (reason == BiometricPrompt.DISMISSED_REASON_USER_CANCEL) {
                         onError(getHalDeviceId(), BiometricConstants.BIOMETRIC_ERROR_USER_CANCELED,
                                 0 /* vendorCode */);
+                    } else if (reason == BiometricPrompt.DISMISSED_REASON_POSITIVE) {
+                        // Have the service send the token to KeyStore, and send onAuthenticated
+                        // to the application.
+                        if (mEscrow != null) {
+                            if (DEBUG) Slog.d(getLogTag(), "Confirmed");
+                            addTokenToKeyStore(mEscrow.getToken());
+                            notifyClientAuthenticationSucceeded(mEscrow.getIdentifier());
+                            mEscrow = null;
+                            onAuthenticationConfirmed();
+                        } else {
+                            Slog.e(getLogTag(), "Escrow is null!!!");
+                        }
                     }
                     mDialogDismissed = true;
                 } catch (RemoteException e) {
-                    Slog.e(getLogTag(), "Unable to notify dialog dismissed", e);
+                    Slog.e(getLogTag(), "Remote exception", e);
                 }
                 stop(true /* initiatedByClient */);
             }
@@ -84,20 +132,26 @@
      */
     public abstract void onStop();
 
+    /**
+     * This method is called when biometric authentication was confirmed by the user. The client
+     * should be removed.
+     */
+    public abstract void onAuthenticationConfirmed();
+
     public AuthenticationClient(Context context, Metrics metrics,
-            BiometricService.DaemonWrapper daemon, long halDeviceId, IBinder token,
-            BiometricService.ServiceListener listener, int targetUserId, int groupId, long opId,
+            BiometricServiceBase.DaemonWrapper daemon, long halDeviceId, IBinder token,
+            BiometricServiceBase.ServiceListener listener, int targetUserId, int groupId, long opId,
             boolean restricted, String owner, Bundle bundle,
             IBiometricPromptReceiver dialogReceiver, IStatusBarService statusBarService,
-            BiometricAuthenticator authenticator) {
+            boolean requireConfirmation) {
         super(context, metrics, daemon, halDeviceId, token, listener, targetUserId, groupId,
                 restricted, owner);
         mOpId = opId;
         mBundle = bundle;
         mDialogReceiverFromClient = dialogReceiver;
         mStatusBarService = statusBarService;
-        mAuthenticator = authenticator;
         mHandler = new Handler(Looper.getMainLooper());
+        mRequireConfirmation = requireConfirmation;
     }
 
     @Override
@@ -115,8 +169,7 @@
         if (mBundle != null) {
             try {
                 if (acquiredInfo != BiometricConstants.BIOMETRIC_ACQUIRED_GOOD) {
-                    mStatusBarService.onBiometricHelp(
-                            mAuthenticator.getAcquiredString(acquiredInfo, vendorCode));
+                    mStatusBarService.onBiometricHelp(getAcquiredString(acquiredInfo, vendorCode));
                 }
                 return false; // acquisition continues
             } catch (RemoteException e) {
@@ -144,8 +197,7 @@
         }
         if (mBundle != null) {
             try {
-                mStatusBarService.onBiometricError(
-                        mAuthenticator.getErrorString(error, vendorCode));
+                mStatusBarService.onBiometricError(getErrorString(error, vendorCode));
             } catch (RemoteException e) {
                 Slog.e(getLogTag(), "Remote exception when sending error", e);
             }
@@ -153,9 +205,41 @@
         return super.onError(deviceId, error, vendorCode);
     }
 
+    private void notifyClientAuthenticationSucceeded(BiometricAuthenticator.Identifier identifier)
+            throws RemoteException {
+        final BiometricServiceBase.ServiceListener listener = getListener();
+        // Explicitly have if/else here to make it super obvious in case the code is
+        // touched in the future.
+        if (!getIsRestricted()) {
+            listener.onAuthenticationSucceeded(
+                    getHalDeviceId(), identifier, getTargetUserId());
+        } else {
+            listener.onAuthenticationSucceeded(
+                    getHalDeviceId(), null, getTargetUserId());
+        }
+    }
+
+    private void addTokenToKeyStore(ArrayList<Byte> token) {
+        // Send the token to KeyStore
+        final byte[] byteToken = new byte[token.size()];
+        for (int i = 0; i < token.size(); i++) {
+            byteToken[i] = token.get(i);
+        }
+        KeyStore.getInstance().addAuthToken(byteToken);
+    }
+
     @Override
     public boolean onAuthenticated(BiometricAuthenticator.Identifier identifier,
-            boolean authenticated) {
+            boolean authenticated, ArrayList<Byte> token) {
+        if (authenticated) {
+            if (mRequireConfirmation) {
+                // Store the token so it can be sent to keystore after the user presses confirm
+                mEscrow = new TokenEscrow(identifier, token);
+            } else {
+                addTokenToKeyStore(token);
+            }
+        }
+
         boolean result = false;
 
         // If the biometric dialog is showing, notify authentication succeeded
@@ -172,7 +256,7 @@
             }
         }
 
-        final BiometricService.ServiceListener listener = getListener();
+        final BiometricServiceBase.ServiceListener listener = getListener();
         if (listener != null) {
             try {
                 mMetricsLogger.action(mMetrics.actionBiometricAuth(), authenticated);
@@ -183,15 +267,8 @@
                         Slog.v(getLogTag(), "onAuthenticated(owner=" + getOwnerString()
                                 + ", id=" + identifier.getBiometricId());
                     }
-
-                    // Explicitly have if/else here to make it super obvious in case the code is
-                    // touched in the future.
-                    if (!getIsRestricted()) {
-                        listener.onAuthenticationSucceeded(
-                                getHalDeviceId(), identifier, getTargetUserId());
-                    } else {
-                        listener.onAuthenticationSucceeded(
-                                getHalDeviceId(), null, getTargetUserId());
+                    if (!mRequireConfirmation) {
+                        notifyClientAuthenticationSucceeded(identifier);
                     }
                 }
             } catch (RemoteException e) {
@@ -220,7 +297,7 @@
                     // Send the lockout message to the system dialog
                     if (mBundle != null) {
                         mStatusBarService.onBiometricError(
-                                mAuthenticator.getErrorString(errorCode, 0 /* vendorCode */));
+                                getErrorString(errorCode, 0 /* vendorCode */));
                         mHandler.postDelayed(() -> {
                             try {
                                 listener.onError(getHalDeviceId(), errorCode, 0 /* vendorCode */);
@@ -240,7 +317,8 @@
             if (listener != null) {
                 vibrateSuccess();
             }
-            result |= true; // we have a valid biometric, done
+            // we have a valid biometric that doesn't require confirmation, done
+            result |= !mRequireConfirmation;
             resetFailedAttempts();
             onStop();
         }
@@ -268,7 +346,7 @@
             if (mBundle != null) {
                 try {
                     mStatusBarService.showBiometricDialog(mBundle, mDialogReceiver,
-                            mAuthenticator.getType());
+                            getBiometricType(), mRequireConfirmation);
                 } catch (RemoteException e) {
                     Slog.e(getLogTag(), "Unable to show biometric dialog", e);
                 }
diff --git a/services/core/java/com/android/server/biometrics/BiometricPromptService.java b/services/core/java/com/android/server/biometrics/BiometricPromptService.java
deleted file mode 100644
index 29eda8b..0000000
--- a/services/core/java/com/android/server/biometrics/BiometricPromptService.java
+++ /dev/null
@@ -1,335 +0,0 @@
-/*
- * Copyright (C) 2018 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.
- */
-
-package com.android.server.biometrics;
-
-import static android.Manifest.permission.USE_BIOMETRIC;
-import static android.Manifest.permission.USE_FINGERPRINT;
-
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.hardware.biometrics.BiometricAuthenticator;
-import android.hardware.biometrics.BiometricConstants;
-import android.hardware.biometrics.IBiometricPromptReceiver;
-import android.hardware.biometrics.IBiometricPromptService;
-import android.hardware.biometrics.IBiometricPromptServiceReceiver;
-import android.hardware.face.FaceManager;
-import android.hardware.face.IFaceService;
-import android.hardware.fingerprint.FingerprintManager;
-import android.hardware.fingerprint.IFingerprintService;
-import android.os.Binder;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.IBinder;
-import android.os.Looper;
-import android.os.RemoteException;
-import android.os.ServiceManager;
-import android.os.UserHandle;
-import android.util.Slog;
-
-import com.android.internal.R;
-import com.android.internal.os.SomeArgs;
-import com.android.server.SystemService;
-
-import java.util.ArrayList;
-
-/**
- * System service that arbitrates the modality for BiometricPrompt to use.
- */
-public class BiometricPromptService extends SystemService {
-
-    private static final String TAG = "BiometricPromptService";
-
-    /**
-     * No biometric methods or nothing has been enrolled.
-     * Move/expose these in BiometricPrompt if we ever want to allow applications to "blacklist"
-     * modalities when calling authenticate().
-     */
-    private static final int BIOMETRIC_NONE = 0;
-
-    /**
-     * Constant representing fingerprint.
-     */
-    private static final int BIOMETRIC_FINGERPRINT = 1 << 0;
-
-    /**
-     * Constant representing iris.
-     */
-    private static final int BIOMETRIC_IRIS = 1 << 1;
-
-    /**
-     * Constant representing face.
-     */
-    private static final int BIOMETRIC_FACE = 1 << 2;
-
-    private static final int[] FEATURE_ID = {
-            BIOMETRIC_FINGERPRINT,
-            BIOMETRIC_IRIS,
-            BIOMETRIC_FACE
-    };
-
-    private final Handler mHandler;
-    private final boolean mHasFeatureFingerprint;
-    private final boolean mHasFeatureIris;
-    private final boolean mHasFeatureFace;
-
-    private IFingerprintService mFingerprintService;
-    private IFaceService mFaceService;
-
-    // Get and cache the available authenticator (manager) classes. Used since aidl doesn't support
-    // polymorphism :/
-    final ArrayList<Authenticator> mAuthenticators = new ArrayList<>();
-
-    // Cache the current service that's being used. This is the service which
-    // cancelAuthentication() must be forwarded to. This is just a cache, and the actual
-    // check (is caller the current client) is done in the <Biometric>Service.
-    // Since Settings/System (not application) is responsible for changing preference, this
-    // should be safe.
-    private int mCurrentModality;
-
-    private final class Authenticator {
-        int mType;
-        BiometricAuthenticator mAuthenticator;
-
-        Authenticator(int type, BiometricAuthenticator authenticator) {
-            mType = type;
-            mAuthenticator = authenticator;
-        }
-
-        int getType() {
-            return mType;
-        }
-
-        BiometricAuthenticator getAuthenticator() {
-            return mAuthenticator;
-        }
-    }
-
-    /**
-     * This is just a pass-through service that wraps Fingerprint, Iris, Face services. This service
-     * should not carry any state. The reality is we need to keep a tiny amount of state so that
-     * cancelAuthentication() can go to the right place.
-     */
-    private final class BiometricPromptServiceWrapper extends IBiometricPromptService.Stub {
-
-        @Override // Binder call
-        public void authenticate(IBinder token, long sessionId, int userId,
-                IBiometricPromptServiceReceiver receiver, int flags, String opPackageName,
-                Bundle bundle, IBiometricPromptReceiver dialogReceiver) throws RemoteException {
-            // Check the USE_BIOMETRIC permission here. In the BiometricService, check do the
-            // AppOps and foreground check.
-            checkPermission();
-
-            final int callingUid = Binder.getCallingUid();
-            final int callingPid = Binder.getCallingPid();
-            final int callingUserId = UserHandle.getCallingUserId();
-
-            mHandler.post(() -> {
-                mCurrentModality = checkAndGetBiometricModality(receiver);
-
-                try {
-                    // No polymorphism :(
-                    if (mCurrentModality == BIOMETRIC_FINGERPRINT) {
-                        mFingerprintService.authenticateFromService(token, sessionId, userId,
-                                receiver, flags, opPackageName, bundle, dialogReceiver,
-                                callingUid, callingPid, callingUserId);
-                    } else if (mCurrentModality == BIOMETRIC_IRIS) {
-                        Slog.w(TAG, "Unsupported modality");
-                    } else if (mCurrentModality == BIOMETRIC_FACE) {
-                        mFaceService.authenticateFromService(token, sessionId, userId,
-                                receiver, flags, opPackageName, bundle, dialogReceiver,
-                                callingUid, callingPid, callingUserId);
-                    } else {
-                        Slog.w(TAG, "Unsupported modality");
-                    }
-                } catch (RemoteException e) {
-                    Slog.e(TAG, "Unable to start authentication", e);
-                }
-            });
-        }
-
-        @Override // Binder call
-        public void cancelAuthentication(IBinder token, String opPackageName)
-                throws RemoteException {
-            checkPermission();
-
-            final int callingUid = Binder.getCallingUid();
-            final int callingPid = Binder.getCallingPid();
-            final int callingUserId = UserHandle.getCallingUserId();
-
-            mHandler.post(() -> {
-                try {
-                    if (mCurrentModality == BIOMETRIC_FINGERPRINT) {
-                        mFingerprintService.cancelAuthenticationFromService(token, opPackageName,
-                                callingUid, callingPid, callingUserId);
-                    } else if (mCurrentModality == BIOMETRIC_IRIS) {
-                        Slog.w(TAG, "Unsupported modality");
-                    } else if (mCurrentModality == BIOMETRIC_FACE) {
-                        mFaceService.cancelAuthenticationFromService(token, opPackageName,
-                                callingUid, callingPid, callingUserId);
-                    } else {
-                        Slog.w(TAG, "Unsupported modality");
-                    }
-                } catch (RemoteException e) {
-                    Slog.e(TAG, "Unable to cancel authentication");
-                }
-            });
-        }
-    }
-
-    private void checkPermission() {
-        if (getContext().checkCallingPermission(USE_FINGERPRINT)
-                != PackageManager.PERMISSION_GRANTED) {
-            getContext().enforceCallingPermission(USE_BIOMETRIC,
-                    "Must have USE_BIOMETRIC permission");
-        }
-    }
-
-    /**
-     * Initializes the system service.
-     * <p>
-     * Subclasses must define a single argument constructor that accepts the context
-     * and passes it to super.
-     * </p>
-     *
-     * @param context The system server context.
-     */
-    public BiometricPromptService(Context context) {
-        super(context);
-
-        mHandler = new Handler(Looper.getMainLooper());
-
-        final PackageManager pm = context.getPackageManager();
-        mHasFeatureFingerprint = pm.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT);
-        mHasFeatureIris = pm.hasSystemFeature(PackageManager.FEATURE_IRIS);
-        mHasFeatureFace = pm.hasSystemFeature(PackageManager.FEATURE_FACE);
-    }
-
-    @Override
-    public void onStart() {
-        // TODO: maybe get these on-demand
-        if (mHasFeatureFingerprint) {
-            mFingerprintService = IFingerprintService.Stub.asInterface(
-                    ServiceManager.getService(Context.FINGERPRINT_SERVICE));
-        }
-        if (mHasFeatureFace) {
-            mFaceService = IFaceService.Stub.asInterface(
-                    ServiceManager.getService(Context.FACE_SERVICE));
-        }
-
-        // Cache the authenticators
-        for (int i = 0; i < FEATURE_ID.length; i++) {
-            if (hasFeature(FEATURE_ID[i])) {
-                Authenticator authenticator =
-                        new Authenticator(FEATURE_ID[i], getAuthenticator(FEATURE_ID[i]));
-                mAuthenticators.add(authenticator);
-            }
-        }
-
-        publishBinderService(Context.BIOMETRIC_PROMPT_SERVICE, new BiometricPromptServiceWrapper());
-    }
-
-    /**
-     * Checks if there are any available biometrics, and returns the modality. This method also
-     * returns errors through the callback (no biometric feature, hardware not detected, no
-     * templates enrolled, etc). This service must not start authentication if errors are sent.
-     */
-    private int checkAndGetBiometricModality(IBiometricPromptServiceReceiver receiver) {
-        int modality = BIOMETRIC_NONE;
-        final String hardwareUnavailable =
-                getContext().getString(R.string.biometric_error_hw_unavailable);
-
-        // No biometric features, send error
-        if (mAuthenticators.isEmpty()) {
-            try {
-                receiver.onError(0 /* deviceId */,
-                        BiometricConstants.BIOMETRIC_ERROR_HW_NOT_PRESENT,
-                        hardwareUnavailable);
-            } catch (RemoteException e) {
-                Slog.e(TAG, "Unable to send error", e);
-            }
-            return BIOMETRIC_NONE;
-        }
-
-        // Find first authenticator that's both detected and enrolled
-        boolean isHardwareDetected = false;
-        boolean hasTemplatesEnrolled = false;
-        for (int i = 0; i < mAuthenticators.size(); i++) {
-            int featureId = mAuthenticators.get(i).getType();
-            BiometricAuthenticator authenticator = mAuthenticators.get(i).getAuthenticator();
-            if (authenticator.isHardwareDetected()) {
-                isHardwareDetected = true;
-                if (authenticator.hasEnrolledTemplates()) {
-                    hasTemplatesEnrolled = true;
-                    modality = featureId;
-                    break;
-                }
-            }
-        }
-
-        // Check error conditions
-        if (!isHardwareDetected) {
-            try {
-                receiver.onError(0 /* deviceId */,
-                        BiometricConstants.BIOMETRIC_ERROR_HW_UNAVAILABLE,
-                        hardwareUnavailable);
-            } catch (RemoteException e) {
-                Slog.e(TAG, "Unable to send error", e);
-            }
-            return BIOMETRIC_NONE;
-        }
-        if (!hasTemplatesEnrolled) {
-            try {
-                receiver.onError(0 /* deviceId */,
-                        BiometricConstants.BIOMETRIC_ERROR_NO_BIOMETRICS,
-                        hardwareUnavailable);
-            } catch (RemoteException e) {
-                Slog.e(TAG, "Unable to send error", e);
-            }
-            return BIOMETRIC_NONE;
-        }
-
-        return modality;
-    }
-
-    private BiometricAuthenticator getAuthenticator(int type) {
-        switch (type) {
-            case BIOMETRIC_FINGERPRINT:
-                return (FingerprintManager)
-                        getContext().getSystemService(Context.FINGERPRINT_SERVICE);
-            case BIOMETRIC_IRIS:
-                return null;
-            case BIOMETRIC_FACE:
-                return (FaceManager)
-                        getContext().getSystemService(Context.FACE_SERVICE);
-            default:
-                return null;
-        }
-    }
-
-    private boolean hasFeature(int type) {
-        switch (type) {
-            case BIOMETRIC_FINGERPRINT:
-                return mHasFeatureFingerprint;
-            case BIOMETRIC_IRIS:
-                return mHasFeatureIris;
-            case BIOMETRIC_FACE:
-                return mHasFeatureFace;
-            default:
-                return false;
-        }
-    }
-}
diff --git a/services/core/java/com/android/server/biometrics/BiometricService.java b/services/core/java/com/android/server/biometrics/BiometricService.java
index a181b61..87cf9c4 100644
--- a/services/core/java/com/android/server/biometrics/BiometricService.java
+++ b/services/core/java/com/android/server/biometrics/BiometricService.java
@@ -11,506 +11,248 @@
  * 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
+ * limitations under the License.
  */
 
 package com.android.server.biometrics;
 
-import static android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND_SERVICE;
+import static android.Manifest.permission.USE_BIOMETRIC;
+import static android.Manifest.permission.USE_FINGERPRINT;
 
-import android.app.ActivityManager;
-import android.app.ActivityTaskManager;
-import android.app.AlarmManager;
 import android.app.AppOpsManager;
-import android.app.IActivityTaskManager;
-import android.app.PendingIntent;
-import android.app.SynchronousUserSwitchObserver;
-import android.app.TaskStackListener;
-import android.content.BroadcastReceiver;
-import android.content.ComponentName;
 import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
 import android.content.pm.PackageManager;
-import android.content.pm.UserInfo;
 import android.hardware.biometrics.BiometricAuthenticator;
 import android.hardware.biometrics.BiometricConstants;
 import android.hardware.biometrics.IBiometricPromptReceiver;
-import android.hardware.biometrics.IBiometricServiceLockoutResetCallback;
-import android.hardware.fingerprint.Fingerprint;
+import android.hardware.biometrics.IBiometricService;
+import android.hardware.biometrics.IBiometricServiceReceiver;
+import android.hardware.face.FaceManager;
+import android.hardware.face.IFaceService;
+import android.hardware.fingerprint.FingerprintManager;
+import android.hardware.fingerprint.IFingerprintService;
 import android.os.Binder;
 import android.os.Bundle;
-import android.os.DeadObjectException;
 import android.os.Handler;
 import android.os.IBinder;
-import android.os.IHwBinder;
-import android.os.IRemoteCallback;
-import android.os.PowerManager;
+import android.os.Looper;
 import android.os.RemoteException;
 import android.os.ServiceManager;
-import android.os.SystemClock;
 import android.os.UserHandle;
-import android.os.UserManager;
-import android.security.KeyStore;
+import android.provider.Settings;
 import android.util.Slog;
-import android.util.SparseBooleanArray;
-import android.util.SparseIntArray;
 
-import com.android.internal.logging.MetricsLogger;
-import com.android.internal.statusbar.IStatusBarService;
+import com.android.internal.R;
 import com.android.server.SystemService;
-import com.android.server.biometrics.fingerprint.FingerprintService;
 
 import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
 
 /**
- * Abstract base class containing all of the business logic for biometric services, e.g.
- * Fingerprint, Face, Iris.
- *
- * @hide
+ * System service that arbitrates the modality for BiometricPrompt to use.
  */
-public abstract class BiometricService extends SystemService implements IHwBinder.DeathRecipient {
+public class BiometricService extends SystemService {
 
-    protected static final boolean DEBUG = true;
+    private static final String TAG = "BiometricPromptService";
 
-    private static final String KEY_LOCKOUT_RESET_USER = "lockout_reset_user";
-    private static final int MSG_USER_SWITCHING = 10;
-    private static final long FAIL_LOCKOUT_TIMEOUT_MS = 30 * 1000;
-    private static final long CANCEL_TIMEOUT_LIMIT = 3000; // max wait for onCancel() from HAL,in ms
+    /**
+     * No biometric methods or nothing has been enrolled.
+     * Move/expose these in BiometricPrompt if we ever want to allow applications to "blacklist"
+     * modalities when calling authenticate().
+     */
+    private static final int BIOMETRIC_NONE = 0;
 
-    private final Context mContext;
-    private final String mKeyguardPackage;
+    /**
+     * Constant representing fingerprint.
+     */
+    private static final int BIOMETRIC_FINGERPRINT = 1 << 0;
+
+    /**
+     * Constant representing iris.
+     */
+    private static final int BIOMETRIC_IRIS = 1 << 1;
+
+    /**
+     * Constant representing face.
+     */
+    private static final int BIOMETRIC_FACE = 1 << 2;
+
+    private static final int[] FEATURE_ID = {
+            BIOMETRIC_FINGERPRINT,
+            BIOMETRIC_IRIS,
+            BIOMETRIC_FACE
+    };
+
     private final AppOpsManager mAppOps;
-    private final SparseBooleanArray mTimedLockoutCleared;
-    private final SparseIntArray mFailedAttempts;
-    private final IActivityTaskManager mActivityTaskManager;
-    private final AlarmManager mAlarmManager;
-    private final PowerManager mPowerManager;
-    private final UserManager mUserManager;
-    private final MetricsLogger mMetricsLogger;
-    private final BiometricTaskStackListener mTaskStackListener = new BiometricTaskStackListener();
-    private final ResetClientStateRunnable mResetClientState = new ResetClientStateRunnable();
-    private final LockoutReceiver mLockoutReceiver = new LockoutReceiver();
-    private final ArrayList<LockoutResetMonitor> mLockoutMonitors = new ArrayList<>();
+    private final Handler mHandler;
+    private final boolean mHasFeatureFingerprint;
+    private final boolean mHasFeatureIris;
+    private final boolean mHasFeatureFace;
 
-    protected final IStatusBarService mStatusBarService;
-    protected final Map<Integer, Long> mAuthenticatorIds =
-            Collections.synchronizedMap(new HashMap<>());
-    protected final ResetFailedAttemptsForUserRunnable mResetFailedAttemptsForCurrentUserRunnable =
-            new ResetFailedAttemptsForUserRunnable();
-    protected final H mHandler = new H();
+    private IFingerprintService mFingerprintService;
+    private IFaceService mFaceService;
 
-    private ClientMonitor mCurrentClient;
-    private ClientMonitor mPendingClient;
-    private PerformanceStats mPerformanceStats;
-    protected int mCurrentUserId = UserHandle.USER_NULL;
-    // Normal authentications are tracked by mPerformanceMap.
-    protected HashMap<Integer, PerformanceStats> mPerformanceMap = new HashMap<>();
-    // Transactions that make use of CryptoObjects are tracked by mCryptoPerformaceMap.
-    protected HashMap<Integer, PerformanceStats> mCryptoPerformanceMap = new HashMap<>();
+    // Get and cache the available authenticator (manager) classes. Used since aidl doesn't support
+    // polymorphism :/
+    final ArrayList<Authenticator> mAuthenticators = new ArrayList<>();
 
-    protected class PerformanceStats {
-        public int accept; // number of accepted biometrics
-        public int reject; // number of rejected biometrics
-        public int acquire; // total number of acquisitions. Should be >= accept+reject due to poor
-        // image acquisition in some cases (too fast, too slow, dirty sensor, etc.)
-        public int lockout; // total number of lockouts
-        public int permanentLockout; // total number of permanent lockouts
+    // Cache the current service that's being used. This is the service which
+    // cancelAuthentication() must be forwarded to. This is just a cache, and the actual
+    // check (is caller the current client) is done in the <Biometric>Service.
+    // Since Settings/System (not application) is responsible for changing preference, this
+    // should be safe.
+    private int mCurrentModality;
+
+    private final class Authenticator {
+        int mType;
+        BiometricAuthenticator mAuthenticator;
+
+        Authenticator(int type, BiometricAuthenticator authenticator) {
+            mType = type;
+            mAuthenticator = authenticator;
+        }
+
+        int getType() {
+            return mType;
+        }
+
+        BiometricAuthenticator getAuthenticator() {
+            return mAuthenticator;
+        }
     }
 
     /**
-     * @return the log tag.
+     * This is just a pass-through service that wraps Fingerprint, Iris, Face services. This service
+     * should not carry any state. The reality is we need to keep a tiny amount of state so that
+     * cancelAuthentication() can go to the right place.
      */
-    protected abstract String getTag();
+    private final class BiometricPromptServiceWrapper extends IBiometricService.Stub {
 
-    /**
-     * @return the biometric utilities for a specific implementation.
-     */
-    protected abstract BiometricUtils getBiometricUtils();
+        @Override // Binder call
+        public void authenticate(IBinder token, long sessionId, int userId,
+                IBiometricServiceReceiver receiver, int flags, String opPackageName,
+                Bundle bundle, IBiometricPromptReceiver dialogReceiver) throws RemoteException {
+            // Check the USE_BIOMETRIC permission here. In the BiometricService, check do the
+            // AppOps and foreground check.
+            checkPermission();
 
-    /**
-     * @return the number of failed attempts after which the user will be temporarily locked out
-     *         from using the biometric. A strong auth (pin/pattern/pass) clears this counter.
-     */
-    protected abstract int getFailedAttemptsLockoutTimed();
-
-    /**
-     * @return the number of failed attempts after which the user will be permanently locked out
-     *         from using the biometric. A strong auth (pin/pattern/pass) clears this counter.
-     */
-    protected abstract int getFailedAttemptsLockoutPermanent();
-
-    /**
-     * @return the metrics constants for a biometric implementation.
-     */
-    protected abstract Metrics getMetrics();
-
-    /**
-     * @param userId
-     * @return true if the enrollment limit has been reached.
-     */
-    protected abstract boolean hasReachedEnrollmentLimit(int userId);
-
-    /**
-     * Notifies the HAL that the user has changed.
-     * @param userId
-     * @param clientPackage
-     */
-    protected abstract void updateActiveGroup(int userId, String clientPackage);
-
-    /**
-     * @return The protected intent to reset lockout for a specific biometric.
-     */
-    protected abstract String getLockoutResetIntent();
-
-    /**
-     * @return The permission the sender is required to have in order for the lockout reset intent
-     *         to be received by the BiometricService implementation.
-     */
-    protected abstract String getLockoutBroadcastPermission();
-
-    /**
-     * @return The HAL ID.
-     */
-    protected abstract long getHalDeviceId();
-
-    /**
-     * This method is called when the user switches. Implementations should probably notify the
-     * HAL.
-     * @param userId
-     */
-    protected abstract void handleUserSwitching(int userId);
-
-    /**
-     * @param userId
-     * @return Returns true if the user has any enrolled biometrics.
-     */
-    protected abstract boolean hasEnrolledBiometrics(int userId);
-
-    /**
-     * @return Returns the MANAGE_* permission string, which is required for enrollment, removal
-     * etc.
-     */
-    protected abstract String getManageBiometricPermission();
-
-    /**
-     * Checks if the caller has permission to use the biometric service - throws a SecurityException
-     * if not.
-     */
-    protected abstract void checkUseBiometricPermission();
-
-    /**
-     * @return Returns one of the {@link AppOpsManager} constants which pertains to the specific
-     *         biometric service.
-     */
-    protected abstract int getAppOp();
-
-
-    /**
-     * Notifies clients of any change in the biometric state (active / idle). This is mainly for
-     * Fingerprint navigation gestures.
-     * @param isActive
-     */
-    protected void notifyClientActiveCallbacks(boolean isActive) {}
-
-    protected class AuthenticationClientImpl extends AuthenticationClient {
-
-        public AuthenticationClientImpl(Context context, DaemonWrapper daemon, long halDeviceId,
-                IBinder token, ServiceListener listener, int targetUserId, int groupId, long opId,
-                boolean restricted, String owner, Bundle bundle,
-                IBiometricPromptReceiver dialogReceiver,
-                IStatusBarService statusBarService, BiometricAuthenticator authenticator) {
-            super(context, getMetrics(), daemon, halDeviceId, token, listener,
-                    targetUserId, groupId, opId, restricted, owner, bundle, dialogReceiver,
-                    statusBarService, authenticator);
-        }
-
-        @Override
-        public void onStart() {
-            try {
-                mActivityTaskManager.registerTaskStackListener(mTaskStackListener);
-            } catch (RemoteException e) {
-                Slog.e(getTag(), "Could not register task stack listener", e);
-            }
-        }
-
-        @Override
-        public void onStop() {
-            try {
-                mActivityTaskManager.unregisterTaskStackListener(mTaskStackListener);
-            } catch (RemoteException e) {
-                Slog.e(getTag(), "Could not unregister task stack listener", e);
-            }
-        }
-
-        @Override
-        public void resetFailedAttempts() {
-            resetFailedAttemptsForUser(true /* clearAttemptCounter */,
-                    ActivityManager.getCurrentUser());
-        }
-
-        @Override
-        public void notifyUserActivity() {
-            userActivity();
-        }
-
-        @Override
-        public int handleFailedAttempt() {
-            final int currentUser = ActivityManager.getCurrentUser();
-            mFailedAttempts.put(currentUser, mFailedAttempts.get(currentUser, 0) + 1);
-            mTimedLockoutCleared.put(ActivityManager.getCurrentUser(), false);
-            final int lockoutMode = getLockoutMode();
-            if (lockoutMode == AuthenticationClient.LOCKOUT_PERMANENT) {
-                mPerformanceStats.permanentLockout++;
-            } else if (lockoutMode == AuthenticationClient.LOCKOUT_TIMED) {
-                mPerformanceStats.lockout++;
+            if (token == null || receiver == null || opPackageName == null || bundle == null
+                    || dialogReceiver == null) {
+                Slog.e(TAG, "Unable to authenticate, one or more null arguments");
+                return;
             }
 
-            // Failing multiple times will continue to push out the lockout time
-            if (lockoutMode != AuthenticationClient.LOCKOUT_NONE) {
-                scheduleLockoutResetForUser(currentUser);
-                return lockoutMode;
-            }
-            return AuthenticationClient.LOCKOUT_NONE;
-        }
-    }
+            final int callingUid = Binder.getCallingUid();
+            final int callingPid = Binder.getCallingPid();
+            final int callingUserId = UserHandle.getCallingUserId();
 
-    protected class EnrollClientImpl extends EnrollClient {
+            mHandler.post(() -> {
+                mCurrentModality = checkAndGetBiometricModality(receiver);
 
-        public EnrollClientImpl(Context context, DaemonWrapper daemon, long halDeviceId,
-                IBinder token, ServiceListener listener, int userId, int groupId,
-                byte[] cryptoToken, boolean restricted, String owner) {
-            super(context, getMetrics(), daemon, halDeviceId, token, listener,
-                    userId, groupId, cryptoToken, restricted, owner, getBiometricUtils());
-        }
-
-        @Override
-        public void notifyUserActivity() {
-            userActivity();
-        }
-    }
-
-    protected class RemovalClientImpl extends RemovalClient {
-        private boolean mShouldNotify;
-
-        public RemovalClientImpl(Context context, DaemonWrapper daemon, long halDeviceId,
-                IBinder token, ServiceListener listener, int fingerId, int groupId, int userId,
-                boolean restricted, String owner) {
-            super(context, getMetrics(), daemon, halDeviceId, token, listener, fingerId, groupId,
-                    userId, restricted, owner, getBiometricUtils());
-        }
-
-        public void setShouldNotifyUserActivity(boolean shouldNotify) {
-            mShouldNotify = shouldNotify;
-        }
-
-        @Override
-        public void notifyUserActivity() {
-            if (mShouldNotify) {
-                userActivity();
-            }
-        }
-    }
-
-    protected class EnumerateClientImpl extends EnumerateClient {
-
-        public EnumerateClientImpl(Context context, DaemonWrapper daemon, long halDeviceId,
-                IBinder token, ServiceListener listener, int groupId, int userId,
-                boolean restricted, String owner) {
-            super(context, getMetrics(), daemon, halDeviceId, token, listener, groupId, userId,
-                    restricted, owner);
-        }
-
-        @Override
-        public void notifyUserActivity() {
-            userActivity();
-        }
-    }
-
-    /**
-     * Wraps the callback interface from Service -> Manager
-     */
-    protected interface ServiceListener {
-        default void onEnrollResult(BiometricAuthenticator.Identifier identifier,
-                int remaining) throws RemoteException {};
-
-        void onAcquired(long deviceId, int acquiredInfo, int vendorCode)
-                throws RemoteException;
-
-        void onAuthenticationSucceeded(long deviceId,
-                BiometricAuthenticator.Identifier biometric, int userId)
-                throws RemoteException;
-
-        void onAuthenticationFailed(long deviceId)
-                throws RemoteException;
-
-        void onError(long deviceId, int error, int vendorCode)
-                throws RemoteException;
-
-        default void onRemoved(BiometricAuthenticator.Identifier identifier,
-                int remaining) throws RemoteException {};
-
-        default void onEnumerated(BiometricAuthenticator.Identifier identifier,
-                int remaining) throws RemoteException {};
-    }
-
-    /**
-     * Wraps a portion of the interface from Service -> Daemon that is used by the ClientMonitor
-     * subclasses.
-     */
-    protected interface DaemonWrapper {
-        int ERROR_ESRCH = 3; // Likely fingerprint HAL is dead. see errno.h.
-        int authenticate(long operationId, int groupId) throws RemoteException;
-        int cancel() throws RemoteException;
-        int remove(int groupId, int biometricId) throws RemoteException;
-        int enumerate() throws RemoteException;
-        int enroll(byte[] cryptoToken, int groupId, int timeout) throws RemoteException;
-    }
-
-    /**
-     * Handler which all subclasses should post events to.
-     */
-    protected final class H extends Handler {
-        @Override
-        public void handleMessage(android.os.Message msg) {
-            switch (msg.what) {
-                case MSG_USER_SWITCHING:
-                    handleUserSwitching(msg.arg1);
-                    break;
-
-                default:
-                    Slog.w(getTag(), "Unknown message:" + msg.what);
-            }
-        }
-    }
-
-    private final class BiometricTaskStackListener extends TaskStackListener {
-        @Override
-        public void onTaskStackChanged() {
-            try {
-                if (!(mCurrentClient instanceof AuthenticationClient)) {
-                    return;
+                try {
+                    // No polymorphism :(
+                    if (mCurrentModality == BIOMETRIC_FINGERPRINT) {
+                        mFingerprintService.authenticateFromService(token, sessionId, userId,
+                                receiver, flags, opPackageName, bundle, dialogReceiver,
+                                callingUid, callingPid, callingUserId);
+                    } else if (mCurrentModality == BIOMETRIC_IRIS) {
+                        Slog.w(TAG, "Unsupported modality");
+                    } else if (mCurrentModality == BIOMETRIC_FACE) {
+                        // If the user disabled face for apps, return ERROR_HW_UNAVAILABLE
+                        if (isFaceEnabledForApps()) {
+                            receiver.onError(0 /* deviceId */,
+                                    BiometricConstants.BIOMETRIC_ERROR_HW_UNAVAILABLE,
+                                    FaceManager.getErrorString(getContext(),
+                                            BiometricConstants.BIOMETRIC_ERROR_HW_UNAVAILABLE,
+                                            0 /* vendorCode */));
+                        } else {
+                            mFaceService.authenticateFromService(true /* requireConfirmation */,
+                                    token, sessionId, userId, receiver, flags, opPackageName,
+                                    bundle, dialogReceiver, callingUid, callingPid, callingUserId);
+                        }
+                    } else {
+                        Slog.w(TAG, "Unsupported modality");
+                    }
+                } catch (RemoteException e) {
+                    Slog.e(TAG, "Unable to start authentication", e);
                 }
-                final String currentClient = mCurrentClient.getOwnerString();
-                if (isKeyguard(currentClient)) {
-                    return; // Keyguard is always allowed
+            });
+        }
+
+        private boolean isFaceEnabledForApps() {
+            // TODO: maybe cache this and eliminate duplicated code with KeyguardUpdateMonitor
+            return Settings.Secure.getIntForUser(
+                    getContext().getContentResolver(),
+                    Settings.Secure.FACE_UNLOCK_APP_ENABLED,
+                    1 /* default */,
+                    UserHandle.USER_CURRENT) == 0;
+        }
+
+        @Override // Binder call
+        public void cancelAuthentication(IBinder token, String opPackageName)
+                throws RemoteException {
+            checkPermission();
+
+            if (token == null || opPackageName == null) {
+                Slog.e(TAG, "Unable to cancel, one or more null arguments");
+                return;
+            }
+
+            final int callingUid = Binder.getCallingUid();
+            final int callingPid = Binder.getCallingPid();
+            final int callingUserId = UserHandle.getCallingUserId();
+
+            mHandler.post(() -> {
+                try {
+                    if (mCurrentModality == BIOMETRIC_FINGERPRINT) {
+                        mFingerprintService.cancelAuthenticationFromService(token, opPackageName,
+                                callingUid, callingPid, callingUserId);
+                    } else if (mCurrentModality == BIOMETRIC_IRIS) {
+                        Slog.w(TAG, "Unsupported modality");
+                    } else if (mCurrentModality == BIOMETRIC_FACE) {
+                        mFaceService.cancelAuthenticationFromService(token, opPackageName,
+                                callingUid, callingPid, callingUserId);
+                    } else {
+                        Slog.w(TAG, "Unsupported modality");
+                    }
+                } catch (RemoteException e) {
+                    Slog.e(TAG, "Unable to cancel authentication");
                 }
-                List<ActivityManager.RunningTaskInfo> runningTasks =
-                        mActivityTaskManager.getTasks(1);
-                if (!runningTasks.isEmpty()) {
-                    final String topPackage = runningTasks.get(0).topActivity.getPackageName();
-                    if (!topPackage.contentEquals(currentClient)) {
-                        Slog.e(getTag(), "Stopping background authentication, top: " + topPackage
-                                + " currentClient: " + currentClient);
-                        mCurrentClient.stop(false /* initiatedByClient */);
+            });
+        }
+
+        @Override // Binder call
+        public boolean hasEnrolledBiometrics(String opPackageName) {
+            checkPermission();
+
+            if (mAppOps.noteOp(AppOpsManager.OP_USE_BIOMETRIC, Binder.getCallingUid(),
+                    opPackageName) != AppOpsManager.MODE_ALLOWED) {
+                Slog.w(TAG, "Rejecting " + opPackageName + "; permission denied");
+                throw new SecurityException("Permission denied");
+            }
+
+            final long ident = Binder.clearCallingIdentity();
+            boolean hasEnrolled = false;
+            try {
+                // Note: On devices with multi-modal authentication, the selection logic will need
+                // to be updated.
+                for (int i = 0; i < mAuthenticators.size(); i++) {
+                    if (mAuthenticators.get(i).getAuthenticator().hasEnrolledTemplates()) {
+                        hasEnrolled = true;
+                        break;
                     }
                 }
-            } catch (RemoteException e) {
-                Slog.e(getTag(), "Unable to get running tasks", e);
+            } finally {
+                Binder.restoreCallingIdentity(ident);
             }
+            return hasEnrolled;
         }
     }
 
-    private final class ResetClientStateRunnable implements Runnable {
-        @Override
-        public void run() {
-            /**
-             * Warning: if we get here, the driver never confirmed our call to cancel the current
-             * operation (authenticate, enroll, remove, enumerate, etc), which is
-             * really bad.  The result will be a 3-second delay in starting each new client.
-             * If you see this on a device, make certain the driver notifies with
-             * {@link BiometricConstants#BIOMETRIC_ERROR_CANCELED} in response to cancel()
-             * once it has successfully switched to the IDLE state in the HAL.
-             * Additionally,{@link BiometricConstants#BIOMETRIC_ERROR_CANCELED} should only be sent
-             * in response to an actual cancel() call.
-             */
-            Slog.w(getTag(), "Client "
-                    + (mCurrentClient != null ? mCurrentClient.getOwnerString() : "null")
-                    + " failed to respond to cancel, starting client "
-                    + (mPendingClient != null ? mPendingClient.getOwnerString() : "null"));
-
-            mCurrentClient = null;
-            startClient(mPendingClient, false);
-        }
-    }
-
-    private final class LockoutReceiver extends BroadcastReceiver {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            Slog.v(getTag(), "Resetting lockout: " + intent.getAction());
-            if (getLockoutResetIntent().equals(intent.getAction())) {
-                final int user = intent.getIntExtra(KEY_LOCKOUT_RESET_USER, 0);
-                resetFailedAttemptsForUser(false /* clearAttemptCounter */, user);
-            }
-        }
-    }
-
-    private final class ResetFailedAttemptsForUserRunnable implements Runnable {
-        @Override
-        public void run() {
-            resetFailedAttemptsForUser(true /* clearAttemptCounter */,
-                    ActivityManager.getCurrentUser());
-        }
-    }
-
-    private final class LockoutResetMonitor implements IBinder.DeathRecipient {
-        private static final long WAKELOCK_TIMEOUT_MS = 2000;
-        private final IBiometricServiceLockoutResetCallback mCallback;
-        private final PowerManager.WakeLock mWakeLock;
-
-        public LockoutResetMonitor(IBiometricServiceLockoutResetCallback callback) {
-            mCallback = callback;
-            mWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
-                    "lockout reset callback");
-            try {
-                mCallback.asBinder().linkToDeath(LockoutResetMonitor.this, 0);
-            } catch (RemoteException e) {
-                Slog.w(getTag(), "caught remote exception in linkToDeath", e);
-            }
-        }
-
-        public void sendLockoutReset() {
-            if (mCallback != null) {
-                try {
-                    mWakeLock.acquire(WAKELOCK_TIMEOUT_MS);
-                    mCallback.onLockoutReset(getHalDeviceId(), new IRemoteCallback.Stub() {
-                        @Override
-                        public void sendResult(Bundle data) throws RemoteException {
-                            releaseWakelock();
-                        }
-                    });
-                } catch (DeadObjectException e) {
-                    Slog.w(getTag(), "Death object while invoking onLockoutReset: ", e);
-                    mHandler.post(mRemoveCallbackRunnable);
-                } catch (RemoteException e) {
-                    Slog.w(getTag(), "Failed to invoke onLockoutReset: ", e);
-                    releaseWakelock();
-                }
-            }
-        }
-
-        private final Runnable mRemoveCallbackRunnable = new Runnable() {
-            @Override
-            public void run() {
-                releaseWakelock();
-                removeLockoutResetCallback(LockoutResetMonitor.this);
-            }
-        };
-
-        @Override
-        public void binderDied() {
-            Slog.e(getTag(), "Lockout reset callback binder died");
-            mHandler.post(mRemoveCallbackRunnable);
-        }
-
-        private void releaseWakelock() {
-            if (mWakeLock.isHeld()) {
-                mWakeLock.release();
-            }
+    private void checkPermission() {
+        if (getContext().checkCallingPermission(USE_FINGERPRINT)
+                != PackageManager.PERMISSION_GRANTED) {
+            getContext().enforceCallingPermission(USE_BIOMETRIC,
+                    "Must have USE_BIOMETRIC permission");
         }
     }
 
@@ -525,588 +267,130 @@
      */
     public BiometricService(Context context) {
         super(context);
-        mContext = context;
-        mStatusBarService = IStatusBarService.Stub.asInterface(
-                ServiceManager.getService(Context.STATUS_BAR_SERVICE));
-        mKeyguardPackage = ComponentName.unflattenFromString(context.getResources().getString(
-                com.android.internal.R.string.config_keyguardComponent)).getPackageName();
+
         mAppOps = context.getSystemService(AppOpsManager.class);
-        mTimedLockoutCleared = new SparseBooleanArray();
-        mFailedAttempts = new SparseIntArray();
-        mActivityTaskManager = ((ActivityTaskManager) context.getSystemService(
-                Context.ACTIVITY_TASK_SERVICE)).getService();
-        mPowerManager = mContext.getSystemService(PowerManager.class);
-        mAlarmManager = mContext.getSystemService(AlarmManager.class);
-        mUserManager = UserManager.get(mContext);
-        mMetricsLogger = new MetricsLogger();
-        mContext.registerReceiver(mLockoutReceiver, new IntentFilter(getLockoutResetIntent()),
-                getLockoutBroadcastPermission(), null /* handler */);
+        mHandler = new Handler(Looper.getMainLooper());
+
+        final PackageManager pm = context.getPackageManager();
+        mHasFeatureFingerprint = pm.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT);
+        mHasFeatureIris = pm.hasSystemFeature(PackageManager.FEATURE_IRIS);
+        mHasFeatureFace = pm.hasSystemFeature(PackageManager.FEATURE_FACE);
     }
 
     @Override
     public void onStart() {
-        listenForUserSwitches();
-    }
+        // TODO: maybe get these on-demand
+        if (mHasFeatureFingerprint) {
+            mFingerprintService = IFingerprintService.Stub.asInterface(
+                    ServiceManager.getService(Context.FINGERPRINT_SERVICE));
+        }
+        if (mHasFeatureFace) {
+            mFaceService = IFaceService.Stub.asInterface(
+                    ServiceManager.getService(Context.FACE_SERVICE));
+        }
 
-    @Override
-    public void serviceDied(long cookie) {
-        Slog.e(getTag(), "HAL died");
-        mMetricsLogger.count(getMetrics().tagHalDied(), 1);
-        handleError(getHalDeviceId(), BiometricConstants.BIOMETRIC_ERROR_HW_UNAVAILABLE,
-                0 /*vendorCode */);
-    }
+        // Cache the authenticators
+        for (int i = 0; i < FEATURE_ID.length; i++) {
+            if (hasFeature(FEATURE_ID[i])) {
+                Authenticator authenticator =
+                        new Authenticator(FEATURE_ID[i], getAuthenticator(FEATURE_ID[i]));
+                mAuthenticators.add(authenticator);
+            }
+        }
 
-    protected ClientMonitor getCurrentClient() {
-        return mCurrentClient;
-    }
-
-    protected ClientMonitor getPendingClient() {
-        return mPendingClient;
+        publishBinderService(Context.BIOMETRIC_SERVICE, new BiometricPromptServiceWrapper());
     }
 
     /**
-     * Callback handlers from the daemon. The caller must put this on a handler.
+     * Checks if there are any available biometrics, and returns the modality. This method also
+     * returns errors through the callback (no biometric feature, hardware not detected, no
+     * templates enrolled, etc). This service must not start authentication if errors are sent.
      */
+    private int checkAndGetBiometricModality(IBiometricServiceReceiver receiver) {
+        int modality = BIOMETRIC_NONE;
+        final String hardwareUnavailable =
+                getContext().getString(R.string.biometric_error_hw_unavailable);
 
-    protected void handleAcquired(long deviceId, int acquiredInfo, int vendorCode) {
-        ClientMonitor client = mCurrentClient;
-        if (client != null && client.onAcquired(acquiredInfo, vendorCode)) {
-            removeClient(client);
-        }
-        if (mPerformanceStats != null && getLockoutMode() == AuthenticationClient.LOCKOUT_NONE
-                && client instanceof AuthenticationClient) {
-            // ignore enrollment acquisitions or acquisitions when we're locked out
-            mPerformanceStats.acquire++;
-        }
-    }
-
-    protected void handleAuthenticated(BiometricAuthenticator.Identifier identifier,
-            ArrayList<Byte> token) {
-        ClientMonitor client = mCurrentClient;
-        final boolean authenticated = identifier.getBiometricId() != 0;
-
-        if (authenticated) {
-            final byte[] byteToken = new byte[token.size()];
-            for (int i = 0; i < token.size(); i++) {
-                byteToken[i] = token.get(i);
+        // No biometric features, send error
+        if (mAuthenticators.isEmpty()) {
+            try {
+                receiver.onError(0 /* deviceId */,
+                        BiometricConstants.BIOMETRIC_ERROR_HW_NOT_PRESENT,
+                        hardwareUnavailable);
+            } catch (RemoteException e) {
+                Slog.e(TAG, "Unable to send error", e);
             }
-            KeyStore.getInstance().addAuthToken(byteToken);
-        }
-        if (client != null && client.onAuthenticated(identifier, authenticated)) {
-            removeClient(client);
-        }
-        if (authenticated) {
-            mPerformanceStats.accept++;
-        } else {
-            mPerformanceStats.reject++;
-        }
-    }
-
-    protected void handleEnrollResult(BiometricAuthenticator.Identifier identifier,
-            int remaining) {
-        ClientMonitor client = mCurrentClient;
-        if (client != null && client.onEnrollResult(identifier, remaining)) {
-            removeClient(client);
-            // When enrollment finishes, update this group's authenticator id, as the HAL has
-            // already generated a new authenticator id when the new biometric is enrolled.
-            if (identifier instanceof Fingerprint) {
-                updateActiveGroup(((Fingerprint)identifier).getGroupId(), null);
-            } else {
-                updateActiveGroup(mCurrentUserId, null);
-            }
-
-        }
-    }
-
-    protected void handleError(long deviceId, int error, int vendorCode) {
-        final ClientMonitor client = mCurrentClient;
-
-        if (DEBUG) Slog.v(getTag(), "handleError(client="
-                + (client != null ? client.getOwnerString() : "null") + ", error = " + error + ")");
-
-        if (client != null && client.onError(deviceId, error, vendorCode)) {
-            removeClient(client);
+            return BIOMETRIC_NONE;
         }
 
-        if (error == BiometricConstants.BIOMETRIC_ERROR_CANCELED) {
-            mHandler.removeCallbacks(mResetClientState);
-            if (mPendingClient != null) {
-                if (DEBUG) Slog.v(getTag(), "start pending client " + mPendingClient.getOwnerString());
-                startClient(mPendingClient, false);
-                mPendingClient = null;
-            }
-        }
-    }
-
-    protected void handleRemoved(BiometricAuthenticator.Identifier identifier,
-            final int remaining) {
-        if (DEBUG) Slog.w(getTag(), "Removed: fid=" + identifier.getBiometricId()
-                + ", dev=" + identifier.getDeviceId()
-                + ", rem=" + remaining);
-
-        ClientMonitor client = mCurrentClient;
-        if (client != null && client.onRemoved(identifier, remaining)) {
-            removeClient(client);
-            // When the last biometric of a group is removed, update the authenticator id
-            int userId = mCurrentUserId;
-            if (identifier instanceof Fingerprint) {
-                userId = ((Fingerprint) identifier).getGroupId();
-            }
-            if (!hasEnrolledBiometrics(userId)) {
-                updateActiveGroup(userId, null);
-            }
-        }
-    }
-
-    /**
-     * Calls from the Manager. These are still on the calling binder's thread.
-     */
-
-    protected void enrollInternal(EnrollClientImpl client, int userId) {
-        if (hasReachedEnrollmentLimit(userId)) {
-            return;
-        }
-
-        // Group ID is arbitrarily set to parent profile user ID. It just represents
-        // the default biometrics for the user.
-        if (!isCurrentUserOrProfile(userId)) {
-            return;
-        }
-
-        mHandler.post(() -> {
-            startClient(client, true /* initiatedByClient */);
-        });
-    }
-
-    protected void cancelEnrollmentInternal(IBinder token) {
-        mHandler.post(() -> {
-            ClientMonitor client = mCurrentClient;
-            if (client instanceof EnrollClient && client.getToken() == token) {
-                client.stop(client.getToken() == token);
-            }
-        });
-    }
-
-    protected void authenticateInternal(AuthenticationClientImpl client, long opId,
-            String opPackageName) {
-        final int callingUid = Binder.getCallingUid();
-        final int callingPid = Binder.getCallingPid();
-        final int callingUserId = UserHandle.getCallingUserId();
-        authenticateInternal(client, opId, opPackageName, callingUid, callingPid, callingUserId);
-    }
-
-    protected void authenticateInternal(AuthenticationClientImpl client, long opId,
-            String opPackageName, int callingUid, int callingPid, int callingUserId) {
-        if (!canUseBiometric(opPackageName, true /* foregroundOnly */, callingUid, callingPid,
-                callingUserId)) {
-            if (DEBUG) Slog.v(getTag(), "authenticate(): reject " + opPackageName);
-            return;
-        }
-
-        mHandler.post(() -> {
-            mMetricsLogger.histogram(getMetrics().tagAuthToken(), opId != 0L ? 1 : 0);
-
-            // Get performance stats object for this user.
-            HashMap<Integer, PerformanceStats> pmap
-                    = (opId == 0) ? mPerformanceMap : mCryptoPerformanceMap;
-            PerformanceStats stats = pmap.get(mCurrentUserId);
-            if (stats == null) {
-                stats = new PerformanceStats();
-                pmap.put(mCurrentUserId, stats);
-            }
-            mPerformanceStats = stats;
-
-            startAuthentication(client, opPackageName);
-        });
-    }
-
-    protected void cancelAuthenticationInternal(final IBinder token, final String opPackageName) {
-        final int callingUid = Binder.getCallingUid();
-        final int callingPid = Binder.getCallingPid();
-        final int callingUserId = UserHandle.getCallingUserId();
-        cancelAuthenticationInternal(token, opPackageName, callingUid, callingPid, callingUserId);
-    }
-
-    protected void cancelAuthenticationInternal(final IBinder token, final String opPackageName,
-            int callingUid, int callingPid, int callingUserId) {
-        if (!canUseBiometric(opPackageName, true /* foregroundOnly */, callingUid, callingPid,
-                callingUserId)) {
-            if (DEBUG) Slog.v(getTag(), "cancelAuthentication(): reject " + opPackageName);
-            return;
-        }
-
-        mHandler.post(() -> {
-            ClientMonitor client = mCurrentClient;
-            if (client instanceof AuthenticationClient) {
-                if (client.getToken() == token) {
-                    if (DEBUG) Slog.v(getTag(), "stop client " + client.getOwnerString());
-                    client.stop(client.getToken() == token);
-                } else {
-                    if (DEBUG) Slog.v(getTag(), "can't stop client "
-                            + client.getOwnerString() + " since tokens don't match");
-                }
-            } else if (client != null) {
-                if (DEBUG) Slog.v(getTag(), "can't cancel non-authenticating client "
-                        + client.getOwnerString());
-            }
-        });
-    }
-
-    protected void setActiveUserInternal(int userId) {
-        mHandler.post(() -> {
-            updateActiveGroup(userId, null /* clientPackage */);
-        });
-    }
-
-    protected void removeInternal(RemovalClientImpl client) {
-        mHandler.post(() -> {
-            startClient(client, true /* initiatedByClient */);
-        });
-    }
-
-    protected void enumerateInternal(EnumerateClientImpl client) {
-        mHandler.post(() -> {
-            startClient(client, true /* initiatedByClient */);
-        });
-    }
-
-    // Should be done on a handler thread - not on the Binder's thread.
-    private void startAuthentication(AuthenticationClientImpl client, String opPackageName) {
-        updateActiveGroup(client.getGroupId(), opPackageName);
-
-        if (DEBUG) Slog.v(getTag(), "startAuthentication(" + opPackageName + ")");
-
-        int lockoutMode = getLockoutMode();
-        if (lockoutMode != AuthenticationClient.LOCKOUT_NONE) {
-            Slog.v(getTag(), "In lockout mode(" + lockoutMode +
-                    ") ; disallowing authentication");
-            int errorCode = lockoutMode == AuthenticationClient.LOCKOUT_TIMED ?
-                    BiometricConstants.BIOMETRIC_ERROR_LOCKOUT :
-                    BiometricConstants.BIOMETRIC_ERROR_LOCKOUT_PERMANENT;
-            if (!client.onError(getHalDeviceId(), errorCode, 0 /* vendorCode */)) {
-                Slog.w(getTag(), "Cannot send permanent lockout message to client");
-            }
-            return;
-        }
-        startClient(client, true /* initiatedByClient */);
-    }
-
-    protected void addLockoutResetCallback(IBiometricServiceLockoutResetCallback callback) {
-        mHandler.post(() -> {
-           final LockoutResetMonitor monitor = new LockoutResetMonitor(callback);
-           if (!mLockoutMonitors.contains(monitor)) {
-               mLockoutMonitors.add(monitor);
-           }
-        });
-    }
-
-    /**
-     * Helper methods.
-     */
-
-    /**
-     * @param opPackageName name of package for caller
-     * @param requireForeground only allow this call while app is in the foreground
-     * @return true if caller can use the biometric API
-     */
-    protected boolean canUseBiometric(String opPackageName, boolean requireForeground, int uid,
-            int pid, int userId) {
-        checkUseBiometricPermission();
-
-        if (isKeyguard(opPackageName)) {
-            return true; // Keyguard is always allowed
-        }
-        if (!isCurrentUserOrProfile(userId)) {
-            Slog.w(getTag(), "Rejecting " + opPackageName + "; not a current user or profile");
-            return false;
-        }
-        if (mAppOps.noteOp(getAppOp(), uid, opPackageName) != AppOpsManager.MODE_ALLOWED) {
-            Slog.w(getTag(), "Rejecting " + opPackageName + "; permission denied");
-            return false;
-        }
-        if (requireForeground && !(isForegroundActivity(uid, pid) || isCurrentClient(
-                opPackageName))) {
-            Slog.w(getTag(), "Rejecting " + opPackageName + "; not in foreground");
-            return false;
-        }
-        return true;
-    }
-
-    /**
-     * @param opPackageName package of the caller
-     * @return true if this is the same client currently using the biometric
-     */
-    private boolean isCurrentClient(String opPackageName) {
-        return mCurrentClient != null && mCurrentClient.getOwnerString().equals(opPackageName);
-    }
-
-    /**
-     * @return true if this is keyguard package
-     */
-    private boolean isKeyguard(String clientPackage) {
-        return mKeyguardPackage.equals(clientPackage);
-    }
-
-    private int getLockoutMode() {
-        final int currentUser = ActivityManager.getCurrentUser();
-        final int failedAttempts = mFailedAttempts.get(currentUser, 0);
-        if (failedAttempts >= getFailedAttemptsLockoutPermanent()) {
-            return AuthenticationClient.LOCKOUT_PERMANENT;
-        } else if (failedAttempts > 0 &&
-                mTimedLockoutCleared.get(currentUser, false) == false
-                && (failedAttempts % getFailedAttemptsLockoutTimed() == 0)) {
-            return AuthenticationClient.LOCKOUT_TIMED;
-        }
-        return AuthenticationClient.LOCKOUT_NONE;
-    }
-
-    private boolean isForegroundActivity(int uid, int pid) {
-        try {
-            List<ActivityManager.RunningAppProcessInfo> procs =
-                    ActivityManager.getService().getRunningAppProcesses();
-            int N = procs.size();
-            for (int i = 0; i < N; i++) {
-                ActivityManager.RunningAppProcessInfo proc = procs.get(i);
-                if (proc.pid == pid && proc.uid == uid
-                        && proc.importance <= IMPORTANCE_FOREGROUND_SERVICE) {
-                    return true;
+        // Find first authenticator that's both detected and enrolled
+        boolean isHardwareDetected = false;
+        boolean hasTemplatesEnrolled = false;
+        for (int i = 0; i < mAuthenticators.size(); i++) {
+            int featureId = mAuthenticators.get(i).getType();
+            BiometricAuthenticator authenticator = mAuthenticators.get(i).getAuthenticator();
+            if (authenticator.isHardwareDetected()) {
+                isHardwareDetected = true;
+                if (authenticator.hasEnrolledTemplates()) {
+                    hasTemplatesEnrolled = true;
+                    modality = featureId;
+                    break;
                 }
             }
-        } catch (RemoteException e) {
-            Slog.w(getTag(), "am.getRunningAppProcesses() failed");
         }
-        return false;
-    }
 
-    /**
-     * Calls the HAL to switch states to the new task. If there's already a current task,
-     * it calls cancel() and sets mPendingClient to begin when the current task finishes
-     * ({@link BiometricConstants#BIOMETRIC_ERROR_CANCELED}).
-     *
-     * @param newClient the new client that wants to connect
-     * @param initiatedByClient true for authenticate, remove and enroll
-     */
-    private void startClient(ClientMonitor newClient, boolean initiatedByClient) {
-        ClientMonitor currentClient = mCurrentClient;
-        if (currentClient != null) {
-            if (DEBUG) Slog.v(getTag(), "request stop current client " +
-                    currentClient.getOwnerString());
-
-            // This check only matters for FingerprintService, since enumerate may call back
-            // multiple times.
-            if (currentClient instanceof FingerprintService.EnumerateClientImpl ||
-                    currentClient instanceof FingerprintService.RemovalClientImpl) {
-                // This condition means we're currently running internal diagnostics to
-                // remove extra fingerprints in the hardware and/or the software
-                // TODO: design an escape hatch in case client never finishes
-                if (newClient != null) {
-                    Slog.w(getTag(), "Internal cleanup in progress but trying to start client "
-                            + newClient.getClass().getSuperclass().getSimpleName()
-                            + "(" + newClient.getOwnerString() + ")"
-                            + ", initiatedByClient = " + initiatedByClient);
-                }
-            } else {
-                currentClient.stop(initiatedByClient);
+        // Check error conditions
+        if (!isHardwareDetected) {
+            try {
+                receiver.onError(0 /* deviceId */,
+                        BiometricConstants.BIOMETRIC_ERROR_HW_UNAVAILABLE,
+                        hardwareUnavailable);
+            } catch (RemoteException e) {
+                Slog.e(TAG, "Unable to send error", e);
             }
-            mPendingClient = newClient;
-            mHandler.removeCallbacks(mResetClientState);
-            mHandler.postDelayed(mResetClientState, CANCEL_TIMEOUT_LIMIT);
-        } else if (newClient != null) {
-            mCurrentClient = newClient;
-            if (DEBUG) Slog.v(getTag(), "starting client "
-                    + newClient.getClass().getSuperclass().getSimpleName()
-                    + "(" + newClient.getOwnerString() + ")"
-                    + ", initiatedByClient = " + initiatedByClient);
-            notifyClientActiveCallbacks(true);
-
-            newClient.start();
+            return BIOMETRIC_NONE;
         }
-    }
-
-    protected void removeClient(ClientMonitor client) {
-        if (client != null) {
-            client.destroy();
-            if (client != mCurrentClient && mCurrentClient != null) {
-                Slog.w(getTag(), "Unexpected client: " + client.getOwnerString() + "expected: "
-                        + mCurrentClient.getOwnerString());
+        if (!hasTemplatesEnrolled) {
+            try {
+                receiver.onError(0 /* deviceId */,
+                        BiometricConstants.BIOMETRIC_ERROR_NO_BIOMETRICS,
+                        FaceManager.getErrorString(getContext(),
+                                BiometricConstants.BIOMETRIC_ERROR_NO_BIOMETRICS,
+                                0 /* vendorCode */));
+            } catch (RemoteException e) {
+                Slog.e(TAG, "Unable to send error", e);
             }
+            return BIOMETRIC_NONE;
         }
-        if (mCurrentClient != null) {
-            if (DEBUG) Slog.v(getTag(), "Done with client: " + client.getOwnerString());
-            mCurrentClient = null;
-        }
-        if (mPendingClient == null) {
-            notifyClientActiveCallbacks(false);
+
+        return modality;
+    }
+
+    private BiometricAuthenticator getAuthenticator(int type) {
+        switch (type) {
+            case BIOMETRIC_FINGERPRINT:
+                return (FingerprintManager)
+                        getContext().getSystemService(Context.FINGERPRINT_SERVICE);
+            case BIOMETRIC_IRIS:
+                return null;
+            case BIOMETRIC_FACE:
+                return (FaceManager)
+                        getContext().getSystemService(Context.FACE_SERVICE);
+            default:
+                return null;
         }
     }
 
-    /**
-     * Populates existing authenticator ids. To be used only during the start of the service.
-     */
-    protected void loadAuthenticatorIds() {
-        // This operation can be expensive, so keep track of the elapsed time. Might need to move to
-        // background if it takes too long.
-        long t = System.currentTimeMillis();
-        mAuthenticatorIds.clear();
-        for (UserInfo user : UserManager.get(getContext()).getUsers(true /* excludeDying */)) {
-            int userId = getUserOrWorkProfileId(null, user.id);
-            if (!mAuthenticatorIds.containsKey(userId)) {
-                updateActiveGroup(userId, null);
-            }
-        }
-
-        t = System.currentTimeMillis() - t;
-        if (t > 1000) {
-            Slog.w(getTag(), "loadAuthenticatorIds() taking too long: " + t + "ms");
+    private boolean hasFeature(int type) {
+        switch (type) {
+            case BIOMETRIC_FINGERPRINT:
+                return mHasFeatureFingerprint;
+            case BIOMETRIC_IRIS:
+                return mHasFeatureIris;
+            case BIOMETRIC_FACE:
+                return mHasFeatureFace;
+            default:
+                return false;
         }
     }
-
-    /**
-     * @param clientPackage the package of the caller
-     * @return the profile id
-     */
-    protected int getUserOrWorkProfileId(String clientPackage, int userId) {
-        if (!isKeyguard(clientPackage) && isWorkProfile(userId)) {
-            return userId;
-        }
-        return getEffectiveUserId(userId);
-    }
-
-    protected boolean isRestricted() {
-        // Only give privileged apps (like Settings) access to biometric info
-        final boolean restricted = !hasPermission(getManageBiometricPermission());
-        return restricted;
-    }
-
-    protected boolean hasPermission(String permission) {
-        return getContext().checkCallingOrSelfPermission(permission)
-                == PackageManager.PERMISSION_GRANTED;
-    }
-
-    protected void checkPermission(String permission) {
-        getContext().enforceCallingOrSelfPermission(permission,
-                "Must have " + permission + " permission.");
-    }
-
-    protected boolean isCurrentUserOrProfile(int userId) {
-        UserManager um = UserManager.get(mContext);
-        if (um == null) {
-            Slog.e(getTag(), "Unable to acquire UserManager");
-            return false;
-        }
-
-        final long token = Binder.clearCallingIdentity();
-        try {
-            // Allow current user or profiles of the current user...
-            for (int profileId : um.getEnabledProfileIds(ActivityManager.getCurrentUser())) {
-                if (profileId == userId) {
-                    return true;
-                }
-            }
-        } finally {
-            Binder.restoreCallingIdentity(token);
-        }
-
-        return false;
-    }
-
-    /***
-     * @param opPackageName the name of the calling package
-     * @return authenticator id for the calling user
-     */
-    protected long getAuthenticatorId(String opPackageName) {
-        final int userId = getUserOrWorkProfileId(opPackageName, UserHandle.getCallingUserId());
-        return mAuthenticatorIds.getOrDefault(userId, 0L);
-    }
-
-    private void scheduleLockoutResetForUser(int userId) {
-        mAlarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP,
-                SystemClock.elapsedRealtime() + FAIL_LOCKOUT_TIMEOUT_MS,
-                getLockoutResetIntentForUser(userId));
-    }
-
-    private PendingIntent getLockoutResetIntentForUser(int userId) {
-        return PendingIntent.getBroadcast(mContext, userId,
-                new Intent(getLockoutResetIntent()).putExtra(KEY_LOCKOUT_RESET_USER, userId),
-                PendingIntent.FLAG_UPDATE_CURRENT);
-    }
-
-    private void userActivity() {
-        long now = SystemClock.uptimeMillis();
-        mPowerManager.userActivity(now, PowerManager.USER_ACTIVITY_EVENT_TOUCH, 0);
-    }
-
-    /**
-     * @param userId
-     * @return true if this is a work profile
-     */
-    private boolean isWorkProfile(int userId) {
-        UserInfo userInfo = null;
-        final long token = Binder.clearCallingIdentity();
-        try {
-            userInfo = mUserManager.getUserInfo(userId);
-        } finally {
-            Binder.restoreCallingIdentity(token);
-        }
-        return userInfo != null && userInfo.isManagedProfile();
-    }
-
-
-    private int getEffectiveUserId(int userId) {
-        UserManager um = UserManager.get(mContext);
-        if (um != null) {
-            final long callingIdentity = Binder.clearCallingIdentity();
-            userId = um.getCredentialOwnerProfile(userId);
-            Binder.restoreCallingIdentity(callingIdentity);
-        } else {
-            Slog.e(getTag(), "Unable to acquire UserManager");
-        }
-        return userId;
-    }
-
-    // Attempt counter should only be cleared when Keyguard goes away or when
-    // a biometric is successfully authenticated.
-    private void resetFailedAttemptsForUser(boolean clearAttemptCounter, int userId) {
-        if (DEBUG && getLockoutMode() != AuthenticationClient.LOCKOUT_NONE) {
-            Slog.v(getTag(), "Reset biometric lockout, clearAttemptCounter=" + clearAttemptCounter);
-        }
-        if (clearAttemptCounter) {
-            mFailedAttempts.put(userId, 0);
-        }
-        mTimedLockoutCleared.put(userId, true);
-        // If we're asked to reset failed attempts externally (i.e. from Keyguard),
-        // the alarm might still be pending; remove it.
-        cancelLockoutResetForUser(userId);
-        notifyLockoutResetMonitors();
-    }
-
-    private void cancelLockoutResetForUser(int userId) {
-        mAlarmManager.cancel(getLockoutResetIntentForUser(userId));
-    }
-
-    private void listenForUserSwitches() {
-        try {
-            ActivityManager.getService().registerUserSwitchObserver(
-                    new SynchronousUserSwitchObserver() {
-                        @Override
-                        public void onUserSwitching(int newUserId) throws RemoteException {
-                            mHandler.obtainMessage(MSG_USER_SWITCHING, newUserId, 0 /* unused */)
-                                    .sendToTarget();
-                        }
-                    }, getTag());
-        } catch (RemoteException e) {
-            Slog.w(getTag(), "Failed to listen for user switching event" ,e);
-        }
-    }
-
-    private void notifyLockoutResetMonitors() {
-        for (int i = 0; i < mLockoutMonitors.size(); i++) {
-            mLockoutMonitors.get(i).sendLockoutReset();
-        }
-    }
-
-    private void removeLockoutResetCallback(
-            LockoutResetMonitor monitor) {
-        mLockoutMonitors.remove(monitor);
-    }
-}
\ No newline at end of file
+}
diff --git a/services/core/java/com/android/server/biometrics/BiometricServiceBase.java b/services/core/java/com/android/server/biometrics/BiometricServiceBase.java
new file mode 100644
index 0000000..6a22193
--- /dev/null
+++ b/services/core/java/com/android/server/biometrics/BiometricServiceBase.java
@@ -0,0 +1,1113 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.server.biometrics;
+
+import static android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND_SERVICE;
+
+import android.app.ActivityManager;
+import android.app.ActivityTaskManager;
+import android.app.AlarmManager;
+import android.app.AppOpsManager;
+import android.app.IActivityTaskManager;
+import android.app.PendingIntent;
+import android.app.SynchronousUserSwitchObserver;
+import android.app.TaskStackListener;
+import android.content.BroadcastReceiver;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
+import android.hardware.biometrics.BiometricAuthenticator;
+import android.hardware.biometrics.BiometricConstants;
+import android.hardware.biometrics.IBiometricPromptReceiver;
+import android.hardware.biometrics.IBiometricServiceLockoutResetCallback;
+import android.hardware.fingerprint.Fingerprint;
+import android.os.Binder;
+import android.os.Bundle;
+import android.os.DeadObjectException;
+import android.os.Handler;
+import android.os.IBinder;
+import android.os.IHwBinder;
+import android.os.IRemoteCallback;
+import android.os.PowerManager;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.os.SystemClock;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.util.Slog;
+import android.util.SparseBooleanArray;
+import android.util.SparseIntArray;
+
+import com.android.internal.logging.MetricsLogger;
+import com.android.internal.statusbar.IStatusBarService;
+import com.android.server.SystemService;
+import com.android.server.biometrics.fingerprint.FingerprintService;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Abstract base class containing all of the business logic for biometric services, e.g.
+ * Fingerprint, Face, Iris.
+ *
+ * @hide
+ */
+public abstract class BiometricServiceBase extends SystemService
+        implements IHwBinder.DeathRecipient {
+
+    protected static final boolean DEBUG = true;
+
+    private static final String KEY_LOCKOUT_RESET_USER = "lockout_reset_user";
+    private static final int MSG_USER_SWITCHING = 10;
+    private static final long FAIL_LOCKOUT_TIMEOUT_MS = 30 * 1000;
+    private static final long CANCEL_TIMEOUT_LIMIT = 3000; // max wait for onCancel() from HAL,in ms
+
+    private final Context mContext;
+    private final String mKeyguardPackage;
+    private final SparseBooleanArray mTimedLockoutCleared;
+    private final SparseIntArray mFailedAttempts;
+    private final IActivityTaskManager mActivityTaskManager;
+    private final AlarmManager mAlarmManager;
+    private final PowerManager mPowerManager;
+    private final UserManager mUserManager;
+    private final MetricsLogger mMetricsLogger;
+    private final BiometricTaskStackListener mTaskStackListener = new BiometricTaskStackListener();
+    private final ResetClientStateRunnable mResetClientState = new ResetClientStateRunnable();
+    private final LockoutReceiver mLockoutReceiver = new LockoutReceiver();
+    private final ArrayList<LockoutResetMonitor> mLockoutMonitors = new ArrayList<>();
+
+    protected final IStatusBarService mStatusBarService;
+    protected final Map<Integer, Long> mAuthenticatorIds =
+            Collections.synchronizedMap(new HashMap<>());
+    protected final ResetFailedAttemptsForUserRunnable mResetFailedAttemptsForCurrentUserRunnable =
+            new ResetFailedAttemptsForUserRunnable();
+    protected final AppOpsManager mAppOps;
+    protected final H mHandler = new H();
+
+    private ClientMonitor mCurrentClient;
+    private ClientMonitor mPendingClient;
+    private PerformanceStats mPerformanceStats;
+    protected int mCurrentUserId = UserHandle.USER_NULL;
+    // Tracks if the current authentication makes use of CryptoObjects.
+    protected boolean mIsCrypto;
+    // Normal authentications are tracked by mPerformanceMap.
+    protected HashMap<Integer, PerformanceStats> mPerformanceMap = new HashMap<>();
+    // Transactions that make use of CryptoObjects are tracked by mCryptoPerformaceMap.
+    protected HashMap<Integer, PerformanceStats> mCryptoPerformanceMap = new HashMap<>();
+
+    protected class PerformanceStats {
+        public int accept; // number of accepted biometrics
+        public int reject; // number of rejected biometrics
+        public int acquire; // total number of acquisitions. Should be >= accept+reject due to poor
+        // image acquisition in some cases (too fast, too slow, dirty sensor, etc.)
+        public int lockout; // total number of lockouts
+        public int permanentLockout; // total number of permanent lockouts
+    }
+
+    /**
+     * @return the log tag.
+     */
+    protected abstract String getTag();
+
+    /**
+     * @return the biometric utilities for a specific implementation.
+     */
+    protected abstract BiometricUtils getBiometricUtils();
+
+    /**
+     * @return the number of failed attempts after which the user will be temporarily locked out
+     *         from using the biometric. A strong auth (pin/pattern/pass) clears this counter.
+     */
+    protected abstract int getFailedAttemptsLockoutTimed();
+
+    /**
+     * @return the number of failed attempts after which the user will be permanently locked out
+     *         from using the biometric. A strong auth (pin/pattern/pass) clears this counter.
+     */
+    protected abstract int getFailedAttemptsLockoutPermanent();
+
+    /**
+     * @return the metrics constants for a biometric implementation.
+     */
+    protected abstract Metrics getMetrics();
+
+    /**
+     * @param userId
+     * @return true if the enrollment limit has been reached.
+     */
+    protected abstract boolean hasReachedEnrollmentLimit(int userId);
+
+    /**
+     * Notifies the HAL that the user has changed.
+     * @param userId
+     * @param clientPackage
+     */
+    protected abstract void updateActiveGroup(int userId, String clientPackage);
+
+    /**
+     * @return The protected intent to reset lockout for a specific biometric.
+     */
+    protected abstract String getLockoutResetIntent();
+
+    /**
+     * @return The permission the sender is required to have in order for the lockout reset intent
+     *         to be received by the BiometricService implementation.
+     */
+    protected abstract String getLockoutBroadcastPermission();
+
+    /**
+     * @return The HAL ID.
+     */
+    protected abstract long getHalDeviceId();
+
+    /**
+     * This method is called when the user switches. Implementations should probably notify the
+     * HAL.
+     * @param userId
+     */
+    protected abstract void handleUserSwitching(int userId);
+
+    /**
+     * @param userId
+     * @return Returns true if the user has any enrolled biometrics.
+     */
+    protected abstract boolean hasEnrolledBiometrics(int userId);
+
+    /**
+     * @return Returns the MANAGE_* permission string, which is required for enrollment, removal
+     * etc.
+     */
+    protected abstract String getManageBiometricPermission();
+
+    /**
+     * Checks if the caller has permission to use the biometric service - throws a SecurityException
+     * if not.
+     */
+    protected abstract void checkUseBiometricPermission();
+
+    /**
+     * Checks if the caller passes the app ops check
+     */
+    protected abstract boolean checkAppOps(int uid, String opPackageName);
+
+    /**
+     * Notifies clients of any change in the biometric state (active / idle). This is mainly for
+     * Fingerprint navigation gestures.
+     * @param isActive
+     */
+    protected void notifyClientActiveCallbacks(boolean isActive) {}
+
+    protected abstract class AuthenticationClientImpl extends AuthenticationClient {
+
+        public AuthenticationClientImpl(Context context, DaemonWrapper daemon, long halDeviceId,
+                IBinder token, ServiceListener listener, int targetUserId, int groupId, long opId,
+                boolean restricted, String owner, Bundle bundle,
+                IBiometricPromptReceiver dialogReceiver,
+                IStatusBarService statusBarService, boolean requireConfirmation) {
+            super(context, getMetrics(), daemon, halDeviceId, token, listener,
+                    targetUserId, groupId, opId, restricted, owner, bundle, dialogReceiver,
+                    statusBarService, requireConfirmation);
+        }
+
+        @Override
+        public void onStart() {
+            try {
+                mActivityTaskManager.registerTaskStackListener(mTaskStackListener);
+            } catch (RemoteException e) {
+                Slog.e(getTag(), "Could not register task stack listener", e);
+            }
+        }
+
+        @Override
+        public void onStop() {
+            try {
+                mActivityTaskManager.unregisterTaskStackListener(mTaskStackListener);
+            } catch (RemoteException e) {
+                Slog.e(getTag(), "Could not unregister task stack listener", e);
+            }
+        }
+
+        @Override
+        public void resetFailedAttempts() {
+            resetFailedAttemptsForUser(true /* clearAttemptCounter */,
+                    ActivityManager.getCurrentUser());
+        }
+
+        @Override
+        public void notifyUserActivity() {
+            userActivity();
+        }
+
+        @Override
+        public int handleFailedAttempt() {
+            final int currentUser = ActivityManager.getCurrentUser();
+            mFailedAttempts.put(currentUser, mFailedAttempts.get(currentUser, 0) + 1);
+            mTimedLockoutCleared.put(ActivityManager.getCurrentUser(), false);
+            final int lockoutMode = getLockoutMode();
+            if (lockoutMode == AuthenticationClient.LOCKOUT_PERMANENT) {
+                mPerformanceStats.permanentLockout++;
+            } else if (lockoutMode == AuthenticationClient.LOCKOUT_TIMED) {
+                mPerformanceStats.lockout++;
+            }
+
+            // Failing multiple times will continue to push out the lockout time
+            if (lockoutMode != AuthenticationClient.LOCKOUT_NONE) {
+                scheduleLockoutResetForUser(currentUser);
+                return lockoutMode;
+            }
+            return AuthenticationClient.LOCKOUT_NONE;
+        }
+
+        @Override
+        public void onAuthenticationConfirmed() {
+            removeClient(mCurrentClient);
+        }
+    }
+
+    protected class EnrollClientImpl extends EnrollClient {
+
+        public EnrollClientImpl(Context context, DaemonWrapper daemon, long halDeviceId,
+                IBinder token, ServiceListener listener, int userId, int groupId,
+                byte[] cryptoToken, boolean restricted, String owner) {
+            super(context, getMetrics(), daemon, halDeviceId, token, listener,
+                    userId, groupId, cryptoToken, restricted, owner, getBiometricUtils());
+        }
+
+        @Override
+        public void notifyUserActivity() {
+            userActivity();
+        }
+    }
+
+    protected class RemovalClientImpl extends RemovalClient {
+        private boolean mShouldNotify;
+
+        public RemovalClientImpl(Context context, DaemonWrapper daemon, long halDeviceId,
+                IBinder token, ServiceListener listener, int fingerId, int groupId, int userId,
+                boolean restricted, String owner) {
+            super(context, getMetrics(), daemon, halDeviceId, token, listener, fingerId, groupId,
+                    userId, restricted, owner, getBiometricUtils());
+        }
+
+        public void setShouldNotifyUserActivity(boolean shouldNotify) {
+            mShouldNotify = shouldNotify;
+        }
+
+        @Override
+        public void notifyUserActivity() {
+            if (mShouldNotify) {
+                userActivity();
+            }
+        }
+    }
+
+    protected class EnumerateClientImpl extends EnumerateClient {
+
+        public EnumerateClientImpl(Context context, DaemonWrapper daemon, long halDeviceId,
+                IBinder token, ServiceListener listener, int groupId, int userId,
+                boolean restricted, String owner) {
+            super(context, getMetrics(), daemon, halDeviceId, token, listener, groupId, userId,
+                    restricted, owner);
+        }
+
+        @Override
+        public void notifyUserActivity() {
+            userActivity();
+        }
+    }
+
+    /**
+     * Wraps the callback interface from Service -> Manager
+     */
+    protected interface ServiceListener {
+        default void onEnrollResult(BiometricAuthenticator.Identifier identifier,
+                int remaining) throws RemoteException {};
+
+        void onAcquired(long deviceId, int acquiredInfo, int vendorCode)
+                throws RemoteException;
+
+        void onAuthenticationSucceeded(long deviceId,
+                BiometricAuthenticator.Identifier biometric, int userId)
+                throws RemoteException;
+
+        void onAuthenticationFailed(long deviceId)
+                throws RemoteException;
+
+        void onError(long deviceId, int error, int vendorCode)
+                throws RemoteException;
+
+        default void onRemoved(BiometricAuthenticator.Identifier identifier,
+                int remaining) throws RemoteException {};
+
+        default void onEnumerated(BiometricAuthenticator.Identifier identifier,
+                int remaining) throws RemoteException {};
+    }
+
+    /**
+     * Wraps a portion of the interface from Service -> Daemon that is used by the ClientMonitor
+     * subclasses.
+     */
+    protected interface DaemonWrapper {
+        int ERROR_ESRCH = 3; // Likely fingerprint HAL is dead. see errno.h.
+        int authenticate(long operationId, int groupId) throws RemoteException;
+        int cancel() throws RemoteException;
+        int remove(int groupId, int biometricId) throws RemoteException;
+        int enumerate() throws RemoteException;
+        int enroll(byte[] cryptoToken, int groupId, int timeout) throws RemoteException;
+    }
+
+    /**
+     * Handler which all subclasses should post events to.
+     */
+    protected final class H extends Handler {
+        @Override
+        public void handleMessage(android.os.Message msg) {
+            switch (msg.what) {
+                case MSG_USER_SWITCHING:
+                    handleUserSwitching(msg.arg1);
+                    break;
+
+                default:
+                    Slog.w(getTag(), "Unknown message:" + msg.what);
+            }
+        }
+    }
+
+    private final class BiometricTaskStackListener extends TaskStackListener {
+        @Override
+        public void onTaskStackChanged() {
+            try {
+                if (!(mCurrentClient instanceof AuthenticationClient)) {
+                    return;
+                }
+                final String currentClient = mCurrentClient.getOwnerString();
+                if (isKeyguard(currentClient)) {
+                    return; // Keyguard is always allowed
+                }
+                List<ActivityManager.RunningTaskInfo> runningTasks =
+                        mActivityTaskManager.getTasks(1);
+                if (!runningTasks.isEmpty()) {
+                    final String topPackage = runningTasks.get(0).topActivity.getPackageName();
+                    if (!topPackage.contentEquals(currentClient)) {
+                        Slog.e(getTag(), "Stopping background authentication, top: " + topPackage
+                                + " currentClient: " + currentClient);
+                        mCurrentClient.stop(false /* initiatedByClient */);
+                    }
+                }
+            } catch (RemoteException e) {
+                Slog.e(getTag(), "Unable to get running tasks", e);
+            }
+        }
+    }
+
+    private final class ResetClientStateRunnable implements Runnable {
+        @Override
+        public void run() {
+            /**
+             * Warning: if we get here, the driver never confirmed our call to cancel the current
+             * operation (authenticate, enroll, remove, enumerate, etc), which is
+             * really bad.  The result will be a 3-second delay in starting each new client.
+             * If you see this on a device, make certain the driver notifies with
+             * {@link BiometricConstants#BIOMETRIC_ERROR_CANCELED} in response to cancel()
+             * once it has successfully switched to the IDLE state in the HAL.
+             * Additionally,{@link BiometricConstants#BIOMETRIC_ERROR_CANCELED} should only be sent
+             * in response to an actual cancel() call.
+             */
+            Slog.w(getTag(), "Client "
+                    + (mCurrentClient != null ? mCurrentClient.getOwnerString() : "null")
+                    + " failed to respond to cancel, starting client "
+                    + (mPendingClient != null ? mPendingClient.getOwnerString() : "null"));
+
+            mCurrentClient = null;
+            startClient(mPendingClient, false);
+        }
+    }
+
+    private final class LockoutReceiver extends BroadcastReceiver {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            Slog.v(getTag(), "Resetting lockout: " + intent.getAction());
+            if (getLockoutResetIntent().equals(intent.getAction())) {
+                final int user = intent.getIntExtra(KEY_LOCKOUT_RESET_USER, 0);
+                resetFailedAttemptsForUser(false /* clearAttemptCounter */, user);
+            }
+        }
+    }
+
+    private final class ResetFailedAttemptsForUserRunnable implements Runnable {
+        @Override
+        public void run() {
+            resetFailedAttemptsForUser(true /* clearAttemptCounter */,
+                    ActivityManager.getCurrentUser());
+        }
+    }
+
+    private final class LockoutResetMonitor implements IBinder.DeathRecipient {
+        private static final long WAKELOCK_TIMEOUT_MS = 2000;
+        private final IBiometricServiceLockoutResetCallback mCallback;
+        private final PowerManager.WakeLock mWakeLock;
+
+        public LockoutResetMonitor(IBiometricServiceLockoutResetCallback callback) {
+            mCallback = callback;
+            mWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
+                    "lockout reset callback");
+            try {
+                mCallback.asBinder().linkToDeath(LockoutResetMonitor.this, 0);
+            } catch (RemoteException e) {
+                Slog.w(getTag(), "caught remote exception in linkToDeath", e);
+            }
+        }
+
+        public void sendLockoutReset() {
+            if (mCallback != null) {
+                try {
+                    mWakeLock.acquire(WAKELOCK_TIMEOUT_MS);
+                    mCallback.onLockoutReset(getHalDeviceId(), new IRemoteCallback.Stub() {
+                        @Override
+                        public void sendResult(Bundle data) throws RemoteException {
+                            releaseWakelock();
+                        }
+                    });
+                } catch (DeadObjectException e) {
+                    Slog.w(getTag(), "Death object while invoking onLockoutReset: ", e);
+                    mHandler.post(mRemoveCallbackRunnable);
+                } catch (RemoteException e) {
+                    Slog.w(getTag(), "Failed to invoke onLockoutReset: ", e);
+                    releaseWakelock();
+                }
+            }
+        }
+
+        private final Runnable mRemoveCallbackRunnable = new Runnable() {
+            @Override
+            public void run() {
+                releaseWakelock();
+                removeLockoutResetCallback(LockoutResetMonitor.this);
+            }
+        };
+
+        @Override
+        public void binderDied() {
+            Slog.e(getTag(), "Lockout reset callback binder died");
+            mHandler.post(mRemoveCallbackRunnable);
+        }
+
+        private void releaseWakelock() {
+            if (mWakeLock.isHeld()) {
+                mWakeLock.release();
+            }
+        }
+    }
+
+    /**
+     * Initializes the system service.
+     * <p>
+     * Subclasses must define a single argument constructor that accepts the context
+     * and passes it to super.
+     * </p>
+     *
+     * @param context The system server context.
+     */
+    public BiometricServiceBase(Context context) {
+        super(context);
+        mContext = context;
+        mStatusBarService = IStatusBarService.Stub.asInterface(
+                ServiceManager.getService(Context.STATUS_BAR_SERVICE));
+        mKeyguardPackage = ComponentName.unflattenFromString(context.getResources().getString(
+                com.android.internal.R.string.config_keyguardComponent)).getPackageName();
+        mAppOps = context.getSystemService(AppOpsManager.class);
+        mTimedLockoutCleared = new SparseBooleanArray();
+        mFailedAttempts = new SparseIntArray();
+        mActivityTaskManager = ((ActivityTaskManager) context.getSystemService(
+                Context.ACTIVITY_TASK_SERVICE)).getService();
+        mPowerManager = mContext.getSystemService(PowerManager.class);
+        mAlarmManager = mContext.getSystemService(AlarmManager.class);
+        mUserManager = UserManager.get(mContext);
+        mMetricsLogger = new MetricsLogger();
+        mContext.registerReceiver(mLockoutReceiver, new IntentFilter(getLockoutResetIntent()),
+                getLockoutBroadcastPermission(), null /* handler */);
+    }
+
+    @Override
+    public void onStart() {
+        listenForUserSwitches();
+    }
+
+    @Override
+    public void serviceDied(long cookie) {
+        Slog.e(getTag(), "HAL died");
+        mMetricsLogger.count(getMetrics().tagHalDied(), 1);
+        handleError(getHalDeviceId(), BiometricConstants.BIOMETRIC_ERROR_HW_UNAVAILABLE,
+                0 /*vendorCode */);
+    }
+
+    protected ClientMonitor getCurrentClient() {
+        return mCurrentClient;
+    }
+
+    protected ClientMonitor getPendingClient() {
+        return mPendingClient;
+    }
+
+    /**
+     * Callback handlers from the daemon. The caller must put this on a handler.
+     */
+
+    protected void handleAcquired(long deviceId, int acquiredInfo, int vendorCode) {
+        ClientMonitor client = mCurrentClient;
+        if (client != null && client.onAcquired(acquiredInfo, vendorCode)) {
+            removeClient(client);
+        }
+        if (mPerformanceStats != null && getLockoutMode() == AuthenticationClient.LOCKOUT_NONE
+                && client instanceof AuthenticationClient) {
+            // ignore enrollment acquisitions or acquisitions when we're locked out
+            mPerformanceStats.acquire++;
+        }
+    }
+
+    protected void handleAuthenticated(BiometricAuthenticator.Identifier identifier,
+            ArrayList<Byte> token) {
+        ClientMonitor client = mCurrentClient;
+        final boolean authenticated = identifier.getBiometricId() != 0;
+
+        if (client != null && client.onAuthenticated(identifier, authenticated, token)) {
+            removeClient(client);
+        }
+        if (authenticated) {
+            mPerformanceStats.accept++;
+        } else {
+            mPerformanceStats.reject++;
+        }
+    }
+
+    protected void handleEnrollResult(BiometricAuthenticator.Identifier identifier,
+            int remaining) {
+        ClientMonitor client = mCurrentClient;
+        if (client != null && client.onEnrollResult(identifier, remaining)) {
+            removeClient(client);
+            // When enrollment finishes, update this group's authenticator id, as the HAL has
+            // already generated a new authenticator id when the new biometric is enrolled.
+            if (identifier instanceof Fingerprint) {
+                updateActiveGroup(((Fingerprint)identifier).getGroupId(), null);
+            } else {
+                updateActiveGroup(mCurrentUserId, null);
+            }
+
+        }
+    }
+
+    protected void handleError(long deviceId, int error, int vendorCode) {
+        final ClientMonitor client = mCurrentClient;
+
+        if (DEBUG) Slog.v(getTag(), "handleError(client="
+                + (client != null ? client.getOwnerString() : "null") + ", error = " + error + ")");
+
+        if (client != null && client.onError(deviceId, error, vendorCode)) {
+            removeClient(client);
+        }
+
+        if (error == BiometricConstants.BIOMETRIC_ERROR_CANCELED) {
+            mHandler.removeCallbacks(mResetClientState);
+            if (mPendingClient != null) {
+                if (DEBUG) Slog.v(getTag(), "start pending client " +
+                        mPendingClient.getOwnerString());
+                startClient(mPendingClient, false);
+                mPendingClient = null;
+            }
+        }
+    }
+
+    protected void handleRemoved(BiometricAuthenticator.Identifier identifier,
+            final int remaining) {
+        if (DEBUG) Slog.w(getTag(), "Removed: fid=" + identifier.getBiometricId()
+                + ", dev=" + identifier.getDeviceId()
+                + ", rem=" + remaining);
+
+        ClientMonitor client = mCurrentClient;
+        if (client != null && client.onRemoved(identifier, remaining)) {
+            removeClient(client);
+            // When the last biometric of a group is removed, update the authenticator id
+            int userId = mCurrentUserId;
+            if (identifier instanceof Fingerprint) {
+                userId = ((Fingerprint) identifier).getGroupId();
+            }
+            if (!hasEnrolledBiometrics(userId)) {
+                updateActiveGroup(userId, null);
+            }
+        }
+    }
+
+    /**
+     * Calls from the Manager. These are still on the calling binder's thread.
+     */
+
+    protected void enrollInternal(EnrollClientImpl client, int userId) {
+        if (hasReachedEnrollmentLimit(userId)) {
+            return;
+        }
+
+        // Group ID is arbitrarily set to parent profile user ID. It just represents
+        // the default biometrics for the user.
+        if (!isCurrentUserOrProfile(userId)) {
+            return;
+        }
+
+        mHandler.post(() -> {
+            startClient(client, true /* initiatedByClient */);
+        });
+    }
+
+    protected void cancelEnrollmentInternal(IBinder token) {
+        mHandler.post(() -> {
+            ClientMonitor client = mCurrentClient;
+            if (client instanceof EnrollClient && client.getToken() == token) {
+                client.stop(client.getToken() == token);
+            }
+        });
+    }
+
+    protected void authenticateInternal(AuthenticationClientImpl client, long opId,
+            String opPackageName) {
+        final int callingUid = Binder.getCallingUid();
+        final int callingPid = Binder.getCallingPid();
+        final int callingUserId = UserHandle.getCallingUserId();
+        authenticateInternal(client, opId, opPackageName, callingUid, callingPid, callingUserId);
+    }
+
+    protected void authenticateInternal(AuthenticationClientImpl client, long opId,
+            String opPackageName, int callingUid, int callingPid, int callingUserId) {
+        if (!canUseBiometric(opPackageName, true /* foregroundOnly */, callingUid, callingPid,
+                callingUserId)) {
+            if (DEBUG) Slog.v(getTag(), "authenticate(): reject " + opPackageName);
+            return;
+        }
+
+        mHandler.post(() -> {
+            mMetricsLogger.histogram(getMetrics().tagAuthToken(), opId != 0L ? 1 : 0);
+
+            // Get performance stats object for this user.
+            HashMap<Integer, PerformanceStats> pmap
+                    = (opId == 0) ? mPerformanceMap : mCryptoPerformanceMap;
+            PerformanceStats stats = pmap.get(mCurrentUserId);
+            if (stats == null) {
+                stats = new PerformanceStats();
+                pmap.put(mCurrentUserId, stats);
+            }
+            mPerformanceStats = stats;
+            mIsCrypto = (opId != 0);
+
+            startAuthentication(client, opPackageName);
+        });
+    }
+
+    protected void cancelAuthenticationInternal(final IBinder token, final String opPackageName) {
+        final int callingUid = Binder.getCallingUid();
+        final int callingPid = Binder.getCallingPid();
+        final int callingUserId = UserHandle.getCallingUserId();
+        cancelAuthenticationInternal(token, opPackageName, callingUid, callingPid, callingUserId);
+    }
+
+    protected void cancelAuthenticationInternal(final IBinder token, final String opPackageName,
+            int callingUid, int callingPid, int callingUserId) {
+        if (!canUseBiometric(opPackageName, true /* foregroundOnly */, callingUid, callingPid,
+                callingUserId)) {
+            if (DEBUG) Slog.v(getTag(), "cancelAuthentication(): reject " + opPackageName);
+            return;
+        }
+
+        mHandler.post(() -> {
+            ClientMonitor client = mCurrentClient;
+            if (client instanceof AuthenticationClient) {
+                if (client.getToken() == token) {
+                    if (DEBUG) Slog.v(getTag(), "stop client " + client.getOwnerString());
+                    client.stop(client.getToken() == token);
+                } else {
+                    if (DEBUG) Slog.v(getTag(), "can't stop client "
+                            + client.getOwnerString() + " since tokens don't match");
+                }
+            } else if (client != null) {
+                if (DEBUG) Slog.v(getTag(), "can't cancel non-authenticating client "
+                        + client.getOwnerString());
+            }
+        });
+    }
+
+    protected void setActiveUserInternal(int userId) {
+        mHandler.post(() -> {
+            updateActiveGroup(userId, null /* clientPackage */);
+        });
+    }
+
+    protected void removeInternal(RemovalClientImpl client) {
+        mHandler.post(() -> {
+            startClient(client, true /* initiatedByClient */);
+        });
+    }
+
+    protected void enumerateInternal(EnumerateClientImpl client) {
+        mHandler.post(() -> {
+            startClient(client, true /* initiatedByClient */);
+        });
+    }
+
+    // Should be done on a handler thread - not on the Binder's thread.
+    private void startAuthentication(AuthenticationClientImpl client, String opPackageName) {
+        updateActiveGroup(client.getGroupId(), opPackageName);
+
+        if (DEBUG) Slog.v(getTag(), "startAuthentication(" + opPackageName + ")");
+
+        int lockoutMode = getLockoutMode();
+        if (lockoutMode != AuthenticationClient.LOCKOUT_NONE) {
+            Slog.v(getTag(), "In lockout mode(" + lockoutMode +
+                    ") ; disallowing authentication");
+            int errorCode = lockoutMode == AuthenticationClient.LOCKOUT_TIMED ?
+                    BiometricConstants.BIOMETRIC_ERROR_LOCKOUT :
+                    BiometricConstants.BIOMETRIC_ERROR_LOCKOUT_PERMANENT;
+            if (!client.onError(getHalDeviceId(), errorCode, 0 /* vendorCode */)) {
+                Slog.w(getTag(), "Cannot send permanent lockout message to client");
+            }
+            return;
+        }
+        startClient(client, true /* initiatedByClient */);
+    }
+
+    protected void addLockoutResetCallback(IBiometricServiceLockoutResetCallback callback) {
+        mHandler.post(() -> {
+           final LockoutResetMonitor monitor = new LockoutResetMonitor(callback);
+           if (!mLockoutMonitors.contains(monitor)) {
+               mLockoutMonitors.add(monitor);
+           }
+        });
+    }
+
+    /**
+     * Helper methods.
+     */
+
+    /**
+     * @param opPackageName name of package for caller
+     * @param requireForeground only allow this call while app is in the foreground
+     * @return true if caller can use the biometric API
+     */
+    protected boolean canUseBiometric(String opPackageName, boolean requireForeground, int uid,
+            int pid, int userId) {
+        checkUseBiometricPermission();
+
+        if (isKeyguard(opPackageName)) {
+            return true; // Keyguard is always allowed
+        }
+        if (!isCurrentUserOrProfile(userId)) {
+            Slog.w(getTag(), "Rejecting " + opPackageName + "; not a current user or profile");
+            return false;
+        }
+        if (!checkAppOps(uid, opPackageName)) {
+            Slog.w(getTag(), "Rejecting " + opPackageName + "; permission denied");
+            return false;
+        }
+
+        if (requireForeground && !(isForegroundActivity(uid, pid) || isCurrentClient(
+                opPackageName))) {
+            Slog.w(getTag(), "Rejecting " + opPackageName + "; not in foreground");
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * @param opPackageName package of the caller
+     * @return true if this is the same client currently using the biometric
+     */
+    private boolean isCurrentClient(String opPackageName) {
+        return mCurrentClient != null && mCurrentClient.getOwnerString().equals(opPackageName);
+    }
+
+    /**
+     * @return true if this is keyguard package
+     */
+    private boolean isKeyguard(String clientPackage) {
+        return mKeyguardPackage.equals(clientPackage);
+    }
+
+    protected int getLockoutMode() {
+        final int currentUser = ActivityManager.getCurrentUser();
+        final int failedAttempts = mFailedAttempts.get(currentUser, 0);
+        if (failedAttempts >= getFailedAttemptsLockoutPermanent()) {
+            return AuthenticationClient.LOCKOUT_PERMANENT;
+        } else if (failedAttempts > 0 &&
+                mTimedLockoutCleared.get(currentUser, false) == false
+                && (failedAttempts % getFailedAttemptsLockoutTimed() == 0)) {
+            return AuthenticationClient.LOCKOUT_TIMED;
+        }
+        return AuthenticationClient.LOCKOUT_NONE;
+    }
+
+    private boolean isForegroundActivity(int uid, int pid) {
+        try {
+            List<ActivityManager.RunningAppProcessInfo> procs =
+                    ActivityManager.getService().getRunningAppProcesses();
+            int N = procs.size();
+            for (int i = 0; i < N; i++) {
+                ActivityManager.RunningAppProcessInfo proc = procs.get(i);
+                if (proc.pid == pid && proc.uid == uid
+                        && proc.importance <= IMPORTANCE_FOREGROUND_SERVICE) {
+                    return true;
+                }
+            }
+        } catch (RemoteException e) {
+            Slog.w(getTag(), "am.getRunningAppProcesses() failed");
+        }
+        return false;
+    }
+
+    /**
+     * Calls the HAL to switch states to the new task. If there's already a current task,
+     * it calls cancel() and sets mPendingClient to begin when the current task finishes
+     * ({@link BiometricConstants#BIOMETRIC_ERROR_CANCELED}).
+     *
+     * @param newClient the new client that wants to connect
+     * @param initiatedByClient true for authenticate, remove and enroll
+     */
+    private void startClient(ClientMonitor newClient, boolean initiatedByClient) {
+        ClientMonitor currentClient = mCurrentClient;
+        if (currentClient != null) {
+            if (DEBUG) Slog.v(getTag(), "request stop current client " +
+                    currentClient.getOwnerString());
+
+            // This check only matters for FingerprintService, since enumerate may call back
+            // multiple times.
+            if (currentClient instanceof FingerprintService.EnumerateClientImpl ||
+                    currentClient instanceof FingerprintService.RemovalClientImpl) {
+                // This condition means we're currently running internal diagnostics to
+                // remove extra fingerprints in the hardware and/or the software
+                // TODO: design an escape hatch in case client never finishes
+                if (newClient != null) {
+                    Slog.w(getTag(), "Internal cleanup in progress but trying to start client "
+                            + newClient.getClass().getSuperclass().getSimpleName()
+                            + "(" + newClient.getOwnerString() + ")"
+                            + ", initiatedByClient = " + initiatedByClient);
+                }
+            } else {
+                currentClient.stop(initiatedByClient);
+            }
+            mPendingClient = newClient;
+            mHandler.removeCallbacks(mResetClientState);
+            mHandler.postDelayed(mResetClientState, CANCEL_TIMEOUT_LIMIT);
+        } else if (newClient != null) {
+            mCurrentClient = newClient;
+            if (DEBUG) Slog.v(getTag(), "starting client "
+                    + newClient.getClass().getSuperclass().getSimpleName()
+                    + "(" + newClient.getOwnerString() + ")"
+                    + ", initiatedByClient = " + initiatedByClient);
+            notifyClientActiveCallbacks(true);
+
+            newClient.start();
+        }
+    }
+
+    protected void removeClient(ClientMonitor client) {
+        if (client != null) {
+            client.destroy();
+            if (client != mCurrentClient && mCurrentClient != null) {
+                Slog.w(getTag(), "Unexpected client: " + client.getOwnerString() + "expected: "
+                        + mCurrentClient.getOwnerString());
+            }
+        }
+        if (mCurrentClient != null) {
+            if (DEBUG) Slog.v(getTag(), "Done with client: " + client.getOwnerString());
+            mCurrentClient = null;
+        }
+        if (mPendingClient == null) {
+            notifyClientActiveCallbacks(false);
+        }
+    }
+
+    /**
+     * Populates existing authenticator ids. To be used only during the start of the service.
+     */
+    protected void loadAuthenticatorIds() {
+        // This operation can be expensive, so keep track of the elapsed time. Might need to move to
+        // background if it takes too long.
+        long t = System.currentTimeMillis();
+        mAuthenticatorIds.clear();
+        for (UserInfo user : UserManager.get(getContext()).getUsers(true /* excludeDying */)) {
+            int userId = getUserOrWorkProfileId(null, user.id);
+            if (!mAuthenticatorIds.containsKey(userId)) {
+                updateActiveGroup(userId, null);
+            }
+        }
+
+        t = System.currentTimeMillis() - t;
+        if (t > 1000) {
+            Slog.w(getTag(), "loadAuthenticatorIds() taking too long: " + t + "ms");
+        }
+    }
+
+    /**
+     * @param clientPackage the package of the caller
+     * @return the profile id
+     */
+    protected int getUserOrWorkProfileId(String clientPackage, int userId) {
+        if (!isKeyguard(clientPackage) && isWorkProfile(userId)) {
+            return userId;
+        }
+        return getEffectiveUserId(userId);
+    }
+
+    protected boolean isRestricted() {
+        // Only give privileged apps (like Settings) access to biometric info
+        final boolean restricted = !hasPermission(getManageBiometricPermission());
+        return restricted;
+    }
+
+    protected boolean hasPermission(String permission) {
+        return getContext().checkCallingOrSelfPermission(permission)
+                == PackageManager.PERMISSION_GRANTED;
+    }
+
+    protected void checkPermission(String permission) {
+        getContext().enforceCallingOrSelfPermission(permission,
+                "Must have " + permission + " permission.");
+    }
+
+    protected boolean isCurrentUserOrProfile(int userId) {
+        UserManager um = UserManager.get(mContext);
+        if (um == null) {
+            Slog.e(getTag(), "Unable to acquire UserManager");
+            return false;
+        }
+
+        final long token = Binder.clearCallingIdentity();
+        try {
+            // Allow current user or profiles of the current user...
+            for (int profileId : um.getEnabledProfileIds(ActivityManager.getCurrentUser())) {
+                if (profileId == userId) {
+                    return true;
+                }
+            }
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+
+        return false;
+    }
+
+    /***
+     * @param opPackageName the name of the calling package
+     * @return authenticator id for the calling user
+     */
+    protected long getAuthenticatorId(String opPackageName) {
+        final int userId = getUserOrWorkProfileId(opPackageName, UserHandle.getCallingUserId());
+        return mAuthenticatorIds.getOrDefault(userId, 0L);
+    }
+
+    private void scheduleLockoutResetForUser(int userId) {
+        mAlarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP,
+                SystemClock.elapsedRealtime() + FAIL_LOCKOUT_TIMEOUT_MS,
+                getLockoutResetIntentForUser(userId));
+    }
+
+    private PendingIntent getLockoutResetIntentForUser(int userId) {
+        return PendingIntent.getBroadcast(mContext, userId,
+                new Intent(getLockoutResetIntent()).putExtra(KEY_LOCKOUT_RESET_USER, userId),
+                PendingIntent.FLAG_UPDATE_CURRENT);
+    }
+
+    private void userActivity() {
+        long now = SystemClock.uptimeMillis();
+        mPowerManager.userActivity(now, PowerManager.USER_ACTIVITY_EVENT_TOUCH, 0);
+    }
+
+    /**
+     * @param userId
+     * @return true if this is a work profile
+     */
+    private boolean isWorkProfile(int userId) {
+        UserInfo userInfo = null;
+        final long token = Binder.clearCallingIdentity();
+        try {
+            userInfo = mUserManager.getUserInfo(userId);
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+        return userInfo != null && userInfo.isManagedProfile();
+    }
+
+
+    private int getEffectiveUserId(int userId) {
+        UserManager um = UserManager.get(mContext);
+        if (um != null) {
+            final long callingIdentity = Binder.clearCallingIdentity();
+            userId = um.getCredentialOwnerProfile(userId);
+            Binder.restoreCallingIdentity(callingIdentity);
+        } else {
+            Slog.e(getTag(), "Unable to acquire UserManager");
+        }
+        return userId;
+    }
+
+    // Attempt counter should only be cleared when Keyguard goes away or when
+    // a biometric is successfully authenticated.
+    private void resetFailedAttemptsForUser(boolean clearAttemptCounter, int userId) {
+        if (DEBUG && getLockoutMode() != AuthenticationClient.LOCKOUT_NONE) {
+            Slog.v(getTag(), "Reset biometric lockout, clearAttemptCounter=" + clearAttemptCounter);
+        }
+        if (clearAttemptCounter) {
+            mFailedAttempts.put(userId, 0);
+        }
+        mTimedLockoutCleared.put(userId, true);
+        // If we're asked to reset failed attempts externally (i.e. from Keyguard),
+        // the alarm might still be pending; remove it.
+        cancelLockoutResetForUser(userId);
+        notifyLockoutResetMonitors();
+    }
+
+    private void cancelLockoutResetForUser(int userId) {
+        mAlarmManager.cancel(getLockoutResetIntentForUser(userId));
+    }
+
+    private void listenForUserSwitches() {
+        try {
+            ActivityManager.getService().registerUserSwitchObserver(
+                    new SynchronousUserSwitchObserver() {
+                        @Override
+                        public void onUserSwitching(int newUserId) throws RemoteException {
+                            mHandler.obtainMessage(MSG_USER_SWITCHING, newUserId, 0 /* unused */)
+                                    .sendToTarget();
+                        }
+                    }, getTag());
+        } catch (RemoteException e) {
+            Slog.w(getTag(), "Failed to listen for user switching event" ,e);
+        }
+    }
+
+    private void notifyLockoutResetMonitors() {
+        for (int i = 0; i < mLockoutMonitors.size(); i++) {
+            mLockoutMonitors.get(i).sendLockoutReset();
+        }
+    }
+
+    private void removeLockoutResetCallback(
+            LockoutResetMonitor monitor) {
+        mLockoutMonitors.remove(monitor);
+    }
+}
diff --git a/services/core/java/com/android/server/biometrics/ClientMonitor.java b/services/core/java/com/android/server/biometrics/ClientMonitor.java
index d30bed2..d1daad5 100644
--- a/services/core/java/com/android/server/biometrics/ClientMonitor.java
+++ b/services/core/java/com/android/server/biometrics/ClientMonitor.java
@@ -28,6 +28,7 @@
 
 import com.android.internal.logging.MetricsLogger;
 
+import java.util.ArrayList;
 import java.util.NoSuchElementException;
 
 /**
@@ -37,7 +38,7 @@
  */
 public abstract class ClientMonitor implements IBinder.DeathRecipient {
     protected static final int ERROR_ESRCH = 3; // Likely HAL is dead. See errno.h.
-    protected static final boolean DEBUG = BiometricService.DEBUG;
+    protected static final boolean DEBUG = BiometricServiceBase.DEBUG;
     private static final AudioAttributes FINGERPRINT_SONFICATION_ATTRIBUTES =
             new AudioAttributes.Builder()
                     .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
@@ -53,10 +54,10 @@
     private final String mOwner;
     private final VibrationEffect mSuccessVibrationEffect;
     private final VibrationEffect mErrorVibrationEffect;
-    private final BiometricService.DaemonWrapper mDaemon;
+    private final BiometricServiceBase.DaemonWrapper mDaemon;
 
     private IBinder mToken;
-    private BiometricService.ServiceListener mListener;
+    private BiometricServiceBase.ServiceListener mListener;
 
     protected final MetricsLogger mMetricsLogger;
     protected final Metrics mMetrics;
@@ -75,9 +76,10 @@
      * permission
      * @param owner name of the client that owns this
      */
-    public ClientMonitor(Context context, Metrics metrics, BiometricService.DaemonWrapper daemon,
-            long halDeviceId, IBinder token, BiometricService.ServiceListener listener, int userId,
-            int groupId, boolean restricted, String owner) {
+    public ClientMonitor(Context context, Metrics metrics,
+            BiometricServiceBase.DaemonWrapper daemon, long halDeviceId, IBinder token,
+            BiometricServiceBase.ServiceListener listener, int userId, int groupId,
+            boolean restricted, String owner) {
         mContext = context;
         mMetrics = metrics;
         mDaemon = daemon;
@@ -128,7 +130,7 @@
     public abstract boolean onEnrollResult(BiometricAuthenticator.Identifier identifier,
             int remaining);
     public abstract boolean onAuthenticated(BiometricAuthenticator.Identifier identifier,
-            boolean authenticated);
+            boolean authenticated, ArrayList<Byte> token);
     public abstract boolean onRemoved(BiometricAuthenticator.Identifier identifier,
             int remaining);
     public abstract boolean onEnumerationResult(
@@ -220,11 +222,11 @@
         return mOwner;
     }
 
-    public final BiometricService.ServiceListener getListener() {
+    public final BiometricServiceBase.ServiceListener getListener() {
         return mListener;
     }
 
-    public final BiometricService.DaemonWrapper getDaemonWrapper() {
+    public final BiometricServiceBase.DaemonWrapper getDaemonWrapper() {
         return mDaemon;
     }
 
diff --git a/services/core/java/com/android/server/biometrics/EnrollClient.java b/services/core/java/com/android/server/biometrics/EnrollClient.java
index c305eca6..76dc5a9 100644
--- a/services/core/java/com/android/server/biometrics/EnrollClient.java
+++ b/services/core/java/com/android/server/biometrics/EnrollClient.java
@@ -23,6 +23,7 @@
 import android.os.RemoteException;
 import android.util.Slog;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 
 /**
@@ -34,10 +35,10 @@
     private final byte[] mCryptoToken;
     private final BiometricUtils mBiometricUtils;
 
-    public EnrollClient(Context context, Metrics metrics, BiometricService.DaemonWrapper daemon,
-            long halDeviceId, IBinder token, BiometricService.ServiceListener listener, int userId,
-            int groupId, byte[] cryptoToken, boolean restricted, String owner,
-            BiometricUtils utils) {
+    public EnrollClient(Context context, Metrics metrics,
+            BiometricServiceBase.DaemonWrapper daemon, long halDeviceId, IBinder token,
+            BiometricServiceBase.ServiceListener listener, int userId, int groupId,
+            byte[] cryptoToken, boolean restricted, String owner, BiometricUtils utils) {
         super(context, metrics, daemon, halDeviceId, token, listener, userId, groupId, restricted,
                 owner);
         mBiometricUtils = utils;
@@ -126,7 +127,7 @@
 
     @Override
     public boolean onAuthenticated(BiometricAuthenticator.Identifier identifier,
-            boolean authenticated) {
+            boolean authenticated, ArrayList<Byte> token) {
         if (DEBUG) Slog.w(getLogTag(), "onAuthenticated() called for enroll!");
         return true; // Invalid for EnrollClient
     }
diff --git a/services/core/java/com/android/server/biometrics/EnumerateClient.java b/services/core/java/com/android/server/biometrics/EnumerateClient.java
index b763769..47dc7ff 100644
--- a/services/core/java/com/android/server/biometrics/EnumerateClient.java
+++ b/services/core/java/com/android/server/biometrics/EnumerateClient.java
@@ -23,13 +23,16 @@
 import android.os.RemoteException;
 import android.util.Slog;
 
+import java.util.ArrayList;
+
 /**
  * A class to keep track of the enumeration state for a given client.
  */
 public abstract class EnumerateClient extends ClientMonitor {
-    public EnumerateClient(Context context, Metrics metrics, BiometricService.DaemonWrapper daemon,
-            long halDeviceId, IBinder token, BiometricService.ServiceListener listener, int groupId,
-            int userId, boolean restricted, String owner) {
+    public EnumerateClient(Context context, Metrics metrics,
+            BiometricServiceBase.DaemonWrapper daemon, long halDeviceId, IBinder token,
+            BiometricServiceBase.ServiceListener listener, int groupId, int userId,
+            boolean restricted, String owner) {
         super(context, metrics, daemon, halDeviceId, token, listener, userId, groupId, restricted,
                 owner);
     }
@@ -94,7 +97,7 @@
 
     @Override
     public boolean onAuthenticated(BiometricAuthenticator.Identifier identifier,
-            boolean authenticated) {
+            boolean authenticated, ArrayList<Byte> token) {
         if (DEBUG) Slog.w(getLogTag(), "onAuthenticated() called for enumerate!");
         return true; // Invalid for Enumerate.
     }
diff --git a/services/core/java/com/android/server/biometrics/RemovalClient.java b/services/core/java/com/android/server/biometrics/RemovalClient.java
index 3bf7f04..15b3773 100644
--- a/services/core/java/com/android/server/biometrics/RemovalClient.java
+++ b/services/core/java/com/android/server/biometrics/RemovalClient.java
@@ -23,6 +23,8 @@
 import android.os.RemoteException;
 import android.util.Slog;
 
+import java.util.ArrayList;
+
 /**
  * A class to keep track of the remove state for a given client.
  */
@@ -30,10 +32,10 @@
     private final int mBiometricId;
     private final BiometricUtils mBiometricUtils;
 
-    public RemovalClient(Context context, Metrics metrics, BiometricService.DaemonWrapper daemon,
-            long halDeviceId, IBinder token, BiometricService.ServiceListener listener,
-            int biometricId, int groupId, int userId, boolean restricted, String owner,
-            BiometricUtils utils) {
+    public RemovalClient(Context context, Metrics metrics,
+            BiometricServiceBase.DaemonWrapper daemon, long halDeviceId, IBinder token,
+            BiometricServiceBase.ServiceListener listener, int biometricId, int groupId, int userId,
+            boolean restricted, String owner, BiometricUtils utils) {
         super(context, metrics, daemon, halDeviceId, token, listener, userId, groupId, restricted,
                 owner);
         mBiometricId = biometricId;
@@ -111,7 +113,7 @@
 
     @Override
     public boolean onAuthenticated(BiometricAuthenticator.Identifier identifier,
-            boolean authenticated) {
+            boolean authenticated, ArrayList<Byte> token) {
         if (DEBUG) Slog.w(getLogTag(), "onAuthenticated() called for remove!");
         return true; // Invalid for Remove.
     }
diff --git a/services/core/java/com/android/server/biometrics/face/FaceService.java b/services/core/java/com/android/server/biometrics/face/FaceService.java
index 8afac97..f6af52a 100644
--- a/services/core/java/com/android/server/biometrics/face/FaceService.java
+++ b/services/core/java/com/android/server/biometrics/face/FaceService.java
@@ -28,10 +28,11 @@
 import android.hardware.biometrics.BiometricAuthenticator;
 import android.hardware.biometrics.BiometricConstants;
 import android.hardware.biometrics.IBiometricPromptReceiver;
-import android.hardware.biometrics.IBiometricPromptServiceReceiver;
 import android.hardware.biometrics.IBiometricServiceLockoutResetCallback;
+import android.hardware.biometrics.IBiometricServiceReceiver;
 import android.hardware.biometrics.face.V1_0.IBiometricsFace;
 import android.hardware.biometrics.face.V1_0.IBiometricsFaceClientCallback;
+import android.hardware.biometrics.face.V1_0.Status;
 import android.hardware.face.Face;
 import android.hardware.face.FaceManager;
 import android.hardware.face.IFaceService;
@@ -49,9 +50,10 @@
 
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.logging.MetricsLogger;
+import com.android.internal.statusbar.IStatusBarService;
 import com.android.internal.util.DumpUtils;
 import com.android.server.SystemServerInitThreadPool;
-import com.android.server.biometrics.BiometricService;
+import com.android.server.biometrics.BiometricServiceBase;
 import com.android.server.biometrics.BiometricUtils;
 import com.android.server.biometrics.Metrics;
 
@@ -72,7 +74,7 @@
  *
  * @hide
  */
-public class FaceService extends BiometricService {
+public class FaceService extends BiometricServiceBase {
 
     protected static final String TAG = "FaceService";
     private static final boolean DEBUG = true;
@@ -81,6 +83,35 @@
             "com.android.server.biometrics.face.ACTION_LOCKOUT_RESET";
     private static final int MAX_FAILED_ATTEMPTS_LOCKOUT_TIMED = 3;
     private static final int MAX_FAILED_ATTEMPTS_LOCKOUT_PERMANENT = 12;
+    private static final int CHALLENGE_TIMEOUT_SEC = 600; // 10 minutes
+
+    private final class FaceAuthClient extends AuthenticationClientImpl {
+        public FaceAuthClient(Context context,
+                DaemonWrapper daemon, long halDeviceId, IBinder token,
+                ServiceListener listener, int targetUserId, int groupId, long opId,
+                boolean restricted, String owner, Bundle bundle,
+                IBiometricPromptReceiver dialogReceiver, IStatusBarService statusBarService,
+                boolean requireConfirmation) {
+            super(context, daemon, halDeviceId, token, listener, targetUserId, groupId, opId,
+                    restricted, owner, bundle, dialogReceiver, statusBarService,
+                    requireConfirmation);
+        }
+
+        @Override
+        public String getErrorString(int error, int vendorCode) {
+            return FaceManager.getErrorString(getContext(), error, vendorCode);
+        }
+
+        @Override
+        public String getAcquiredString(int acquireInfo, int vendorCode) {
+            return FaceManager.getAcquiredString(getContext(), acquireInfo, vendorCode);
+        }
+
+        @Override
+        public int getBiometricType() {
+            return BiometricAuthenticator.TYPE_FACE;
+        }
+    }
 
     /**
      * Receives the incoming binder calls from FaceManager.
@@ -91,15 +122,15 @@
          * The following methods contain common code which is shared in biometrics/common.
          */
         @Override // Binder call
-        public long preEnroll(IBinder token) {
+        public long generateChallenge(IBinder token) {
             checkPermission(MANAGE_BIOMETRIC);
-            return startPreEnroll(token);
+            return startGenerateChallenge(token);
         }
 
         @Override // Binder call
-        public int postEnroll(IBinder token) {
+        public int revokeChallenge(IBinder token) {
             checkPermission(MANAGE_BIOMETRIC);
-            return startPostEnroll(token);
+            return startRevokeChallenge(token);
         }
 
         @Override // Binder call
@@ -128,26 +159,26 @@
                 final String opPackageName) {
             checkPermission(USE_BIOMETRIC_INTERNAL);
             final boolean restricted = isRestricted();
-            final AuthenticationClientImpl client = new AuthenticationClientImpl(getContext(),
+            final AuthenticationClientImpl client = new FaceAuthClient(getContext(),
                     mDaemonWrapper, mHalDeviceId, token, new ServiceListenerImpl(receiver),
                     mCurrentUserId, 0 /* groupId */, opId, restricted, opPackageName,
-                    null /* bundle */, null /* dialogReceiver */, mStatusBarService, mFaceManager);
-
+                    null /* bundle */, null /* dialogReceiver */, mStatusBarService,
+                    false /* requireConfirmation */);
             authenticateInternal(client, opId, opPackageName);
         }
 
         @Override // Binder call
-        public void authenticateFromService(IBinder token, long opId, int groupId,
-                IBiometricPromptServiceReceiver receiver, int flags, String opPackageName,
-                Bundle bundle, IBiometricPromptReceiver dialogReceiver,
+        public void authenticateFromService(boolean requireConfirmation, IBinder token, long opId,
+                int groupId, IBiometricServiceReceiver receiver, int flags,
+                String opPackageName, Bundle bundle, IBiometricPromptReceiver dialogReceiver,
                 int callingUid, int callingPid, int callingUserId) {
             checkPermission(USE_BIOMETRIC_INTERNAL);
             final boolean restricted = true; // BiometricPrompt is always restricted
-            final AuthenticationClientImpl client = new AuthenticationClientImpl(getContext(),
+            final AuthenticationClientImpl client = new FaceAuthClient(getContext(),
                     mDaemonWrapper, mHalDeviceId, token,
                     new BiometricPromptServiceListenerImpl(receiver),
                     mCurrentUserId, 0 /* groupId */, opId, restricted, opPackageName,
-                    bundle, dialogReceiver, mStatusBarService, mFaceManager);
+                    bundle, dialogReceiver, mStatusBarService, true /* requireConfirmation */);
             authenticateInternal(client, opId, opPackageName, callingUid, callingPid,
                     callingUserId);
         }
@@ -316,6 +347,45 @@
             // TODO: confirm security token when we move timeout management into the HAL layer.
             mHandler.post(mResetFailedAttemptsForCurrentUserRunnable);
         }
+
+        @Override
+        public int setRequireAttention(boolean requireAttention, final byte[] token) {
+            checkPermission(MANAGE_BIOMETRIC);
+
+            final ArrayList<Byte> byteToken = new ArrayList<>();
+            for (int i = 0; i < token.length; i++) {
+                byteToken.add(token[i]);
+            }
+
+            int result;
+            try {
+                result = mDaemon != null ? mDaemon.setRequireAttention(requireAttention, byteToken)
+                        : Status.INTERNAL_ERROR;
+            } catch (RemoteException e) {
+                Slog.e(getTag(), "Unable to setRequireAttention to " + requireAttention);
+                result = Status.INTERNAL_ERROR;
+            }
+
+            return result;
+        }
+
+        @Override
+        public boolean getRequireAttention(final byte[] token) {
+            checkPermission(MANAGE_BIOMETRIC);
+
+            final ArrayList<Byte> byteToken = new ArrayList<>();
+            for (int i = 0; i < token.length; i++) {
+                byteToken.add(token[i]);
+            }
+
+            boolean result = true;
+            try {
+                result = mDaemon != null ? mDaemon.getRequireAttention(byteToken).value : true;
+            } catch (RemoteException e) {
+                Slog.e(getTag(), "Unable to getRequireAttention");
+            }
+            return result;
+        }
     }
 
     /**
@@ -324,10 +394,10 @@
      */
     private class BiometricPromptServiceListenerImpl implements ServiceListener {
 
-        private IBiometricPromptServiceReceiver mBiometricPromptServiceReceiver;
+        private IBiometricServiceReceiver mBiometricServiceReceiver;
 
-        public BiometricPromptServiceListenerImpl(IBiometricPromptServiceReceiver receiver) {
-            mBiometricPromptServiceReceiver = receiver;
+        public BiometricPromptServiceListenerImpl(IBiometricServiceReceiver receiver) {
+            mBiometricServiceReceiver = receiver;
         }
 
         @Override
@@ -336,33 +406,33 @@
             /**
              * Map the acquired codes onto existing {@link BiometricConstants} acquired codes.
              */
-            if (mBiometricPromptServiceReceiver != null) {
-                mBiometricPromptServiceReceiver.onAcquired(deviceId,
-                        mFaceManager.getMappedAcquiredInfo(acquiredInfo, vendorCode),
-                        mFaceManager.getAcquiredString(acquiredInfo, vendorCode));
+            if (mBiometricServiceReceiver != null) {
+                mBiometricServiceReceiver.onAcquired(deviceId,
+                        FaceManager.getMappedAcquiredInfo(acquiredInfo, vendorCode),
+                        FaceManager.getAcquiredString(getContext(), acquiredInfo, vendorCode));
             }
         }
 
         @Override
         public void onAuthenticationSucceeded(long deviceId,
                 BiometricAuthenticator.Identifier biometric, int userId) throws RemoteException {
-            if (mBiometricPromptServiceReceiver != null) {
-                mBiometricPromptServiceReceiver.onAuthenticationSucceeded(deviceId);
+            if (mBiometricServiceReceiver != null) {
+                mBiometricServiceReceiver.onAuthenticationSucceeded(deviceId);
             }
         }
 
         @Override
         public void onAuthenticationFailed(long deviceId) throws RemoteException {
-            if (mBiometricPromptServiceReceiver != null) {
-                mBiometricPromptServiceReceiver.onAuthenticationFailed(deviceId);
+            if (mBiometricServiceReceiver != null) {
+                mBiometricServiceReceiver.onAuthenticationFailed(deviceId);
             }
         }
 
         @Override
         public void onError(long deviceId, int error, int vendorCode) throws RemoteException {
-            if (mBiometricPromptServiceReceiver != null) {
-                mBiometricPromptServiceReceiver.onError(deviceId, error,
-                        mFaceManager.getErrorString(error, vendorCode));
+            if (mBiometricServiceReceiver != null) {
+                mBiometricServiceReceiver.onError(deviceId, error,
+                        FaceManager.getErrorString(getContext(), error, vendorCode));
             }
         }
     }
@@ -447,8 +517,6 @@
     @GuardedBy("this")
     private IBiometricsFace mDaemon;
     private long mHalDeviceId;
-    // Use FaceManager to get strings, so BiometricPrompt interface is cleaner
-    private FaceManager mFaceManager;
 
     /**
      * Receives callbacks from the HAL.
@@ -589,7 +657,6 @@
         super.onStart();
         publishBinderService(Context.FACE_SERVICE, new FaceServiceWrapper());
         SystemServerInitThreadPool.get().submit(this::getFaceDaemon, TAG + ".onStart");
-        mFaceManager = (FaceManager) getContext().getSystemService(Context.FACE_SERVICE);
     }
 
     @Override
@@ -704,8 +771,9 @@
     }
 
     @Override
-    protected int getAppOp() {
-        return AppOpsManager.OP_USE_FACE;
+    protected boolean checkAppOps(int uid, String opPackageName) {
+        return mAppOps.noteOp(AppOpsManager.OP_USE_BIOMETRIC, uid, opPackageName)
+                == AppOpsManager.MODE_ALLOWED;
     }
 
     @Override
@@ -751,30 +819,30 @@
         return mDaemon;
     }
 
-    private long startPreEnroll(IBinder token) {
+    private long startGenerateChallenge(IBinder token) {
         IBiometricsFace daemon = getFaceDaemon();
         if (daemon == null) {
-            Slog.w(TAG, "startPreEnroll: no face HAL!");
+            Slog.w(TAG, "startGenerateChallenge: no face HAL!");
             return 0;
         }
         try {
-            return daemon.generateChallenge().value;
+            return daemon.generateChallenge(CHALLENGE_TIMEOUT_SEC).value;
         } catch (RemoteException e) {
-            Slog.e(TAG, "startPreEnroll failed", e);
+            Slog.e(TAG, "startGenerateChallenge failed", e);
         }
         return 0;
     }
 
-    private int startPostEnroll(IBinder token) {
+    private int startRevokeChallenge(IBinder token) {
         IBiometricsFace daemon = getFaceDaemon();
         if (daemon == null) {
-            Slog.w(TAG, "startPostEnroll: no face HAL!");
+            Slog.w(TAG, "startRevokeChallenge: no face HAL!");
             return 0;
         }
         try {
             return daemon.revokeChallenge();
         } catch (RemoteException e) {
-            Slog.e(TAG, "startPostEnroll failed", e);
+            Slog.e(TAG, "startRevokeChallenge failed", e);
         }
         return 0;
     }
@@ -862,4 +930,4 @@
         mPerformanceMap.clear();
         mCryptoPerformanceMap.clear();
     }
-}
\ No newline at end of file
+}
diff --git a/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java b/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java
index 95fb9e3..b0b788f 100644
--- a/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java
+++ b/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java
@@ -31,7 +31,7 @@
 import android.hardware.biometrics.BiometricAuthenticator;
 import android.hardware.biometrics.BiometricConstants;
 import android.hardware.biometrics.IBiometricPromptReceiver;
-import android.hardware.biometrics.IBiometricPromptServiceReceiver;
+import android.hardware.biometrics.IBiometricServiceReceiver;
 import android.hardware.biometrics.IBiometricServiceLockoutResetCallback;
 import android.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint;
 import android.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprintClientCallback;
@@ -50,13 +50,16 @@
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.util.Slog;
+import android.util.StatsLog;
 import android.util.proto.ProtoOutputStream;
 
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.logging.MetricsLogger;
+import com.android.internal.statusbar.IStatusBarService;
 import com.android.internal.util.DumpUtils;
 import com.android.server.SystemServerInitThreadPool;
-import com.android.server.biometrics.BiometricService;
+import com.android.server.biometrics.AuthenticationClient;
+import com.android.server.biometrics.BiometricServiceBase;
 import com.android.server.biometrics.BiometricUtils;
 import com.android.server.biometrics.ClientMonitor;
 import com.android.server.biometrics.EnumerateClient;
@@ -81,7 +84,7 @@
  *
  * @hide
  */
-public class FingerprintService extends BiometricService {
+public class FingerprintService extends BiometricServiceBase {
 
     protected static final String TAG = "FingerprintService";
     private static final boolean DEBUG = true;
@@ -102,6 +105,34 @@
         }
     }
 
+    private final class FingerprintAuthClient extends AuthenticationClientImpl {
+        public FingerprintAuthClient(Context context,
+                DaemonWrapper daemon, long halDeviceId, IBinder token,
+                ServiceListener listener, int targetUserId, int groupId, long opId,
+                boolean restricted, String owner, Bundle bundle,
+                IBiometricPromptReceiver dialogReceiver, IStatusBarService statusBarService,
+                boolean requireConfirmation) {
+            super(context, daemon, halDeviceId, token, listener, targetUserId, groupId, opId,
+                    restricted, owner, bundle, dialogReceiver, statusBarService,
+                    requireConfirmation);
+        }
+
+        @Override
+        public String getErrorString(int error, int vendorCode) {
+            return FingerprintManager.getErrorString(getContext(), error, vendorCode);
+        }
+
+        @Override
+        public String getAcquiredString(int acquireInfo, int vendorCode) {
+            return FingerprintManager.getAcquiredString(getContext(), acquireInfo, vendorCode);
+        }
+
+        @Override
+        public int getBiometricType() {
+            return BiometricAuthenticator.TYPE_FINGERPRINT;
+        }
+    }
+
     /**
      * Receives the incoming binder calls from FingerprintManager.
      */
@@ -149,26 +180,25 @@
                 final IFingerprintServiceReceiver receiver, final int flags,
                 final String opPackageName) {
             final boolean restricted = isRestricted();
-            final AuthenticationClientImpl client = new AuthenticationClientImpl(getContext(),
+            final AuthenticationClientImpl client = new FingerprintAuthClient(getContext(),
                     mDaemonWrapper, mHalDeviceId, token, new ServiceListenerImpl(receiver),
                     mCurrentUserId, groupId, opId, restricted, opPackageName, null /* bundle */,
-                    null /* dialogReceiver */, mStatusBarService, mFingerprintManager);
-
+                    null /* dialogReceiver */, mStatusBarService, false /* requireConfirmation */);
             authenticateInternal(client, opId, opPackageName);
         }
 
         @Override // Binder call
         public void authenticateFromService(IBinder token, long opId, int groupId,
-                IBiometricPromptServiceReceiver receiver, int flags, String opPackageName,
+                IBiometricServiceReceiver receiver, int flags, String opPackageName,
                 Bundle bundle, IBiometricPromptReceiver dialogReceiver,
                 int callingUid, int callingPid, int callingUserId) {
             checkPermission(MANAGE_BIOMETRIC);
             final boolean restricted = true; // BiometricPrompt is always restricted
-            final AuthenticationClientImpl client = new AuthenticationClientImpl(getContext(),
+            final AuthenticationClientImpl client = new FingerprintAuthClient(getContext(),
                     mDaemonWrapper, mHalDeviceId, token,
                     new BiometricPromptServiceListenerImpl(receiver),
                     mCurrentUserId, groupId, opId, restricted, opPackageName, bundle,
-                    dialogReceiver, mStatusBarService, mFingerprintManager);
+                    dialogReceiver, mStatusBarService, false /* requireConfirmation */);
             authenticateInternal(client, opId, opPackageName, callingUid, callingPid,
                     callingUserId);
         }
@@ -360,41 +390,42 @@
      */
     private class BiometricPromptServiceListenerImpl implements ServiceListener {
 
-        private IBiometricPromptServiceReceiver mBiometricPromptServiceReceiver;
+        private IBiometricServiceReceiver mBiometricServiceReceiver;
 
-        public BiometricPromptServiceListenerImpl(IBiometricPromptServiceReceiver receiver) {
-            mBiometricPromptServiceReceiver = receiver;
+        public BiometricPromptServiceListenerImpl(IBiometricServiceReceiver receiver) {
+            mBiometricServiceReceiver = receiver;
         }
 
         @Override
         public void onAcquired(long deviceId, int acquiredInfo, int vendorCode)
                 throws RemoteException {
-            if (mBiometricPromptServiceReceiver != null) {
-                mBiometricPromptServiceReceiver.onAcquired(deviceId, acquiredInfo,
-                        mFingerprintManager.getAcquiredString(acquiredInfo, vendorCode));
+            if (mBiometricServiceReceiver != null) {
+                mBiometricServiceReceiver.onAcquired(deviceId, acquiredInfo,
+                        FingerprintManager.getAcquiredString(
+                            getContext(), acquiredInfo, vendorCode));
             }
         }
 
         @Override
         public void onAuthenticationSucceeded(long deviceId,
                 BiometricAuthenticator.Identifier biometric, int userId) throws RemoteException {
-            if (mBiometricPromptServiceReceiver != null) {
-                mBiometricPromptServiceReceiver.onAuthenticationSucceeded(deviceId);
+            if (mBiometricServiceReceiver != null) {
+                mBiometricServiceReceiver.onAuthenticationSucceeded(deviceId);
             }
         }
 
         @Override
         public void onAuthenticationFailed(long deviceId) throws RemoteException {
-            if (mBiometricPromptServiceReceiver != null) {
-                mBiometricPromptServiceReceiver.onAuthenticationFailed(deviceId);
+            if (mBiometricServiceReceiver != null) {
+                mBiometricServiceReceiver.onAuthenticationFailed(deviceId);
             }
         }
 
         @Override
         public void onError(long deviceId, int error, int vendorCode) throws RemoteException {
-            if (mBiometricPromptServiceReceiver != null) {
-                mBiometricPromptServiceReceiver.onError(deviceId, error,
-                        mFingerprintManager.getErrorString(error, vendorCode));
+            if (mBiometricServiceReceiver != null) {
+                mBiometricServiceReceiver.onError(deviceId, error,
+                        FingerprintManager.getErrorString(getContext(), error, vendorCode));
             }
         }
     }
@@ -483,7 +514,7 @@
     /**
      * An internal class to help clean up unknown fingerprints in the hardware and software.
      */
-    private final class InternalEnumerateClient extends BiometricService.EnumerateClientImpl {
+    private final class InternalEnumerateClient extends BiometricServiceBase.EnumerateClientImpl {
 
         private List<Fingerprint> mEnrolledList;
         private List<Fingerprint> mUnknownFingerprints = new ArrayList<>(); // list of fp to delete
@@ -546,7 +577,7 @@
     /**
      * An internal class to help clean up unknown fingerprints in hardware and software.
      */
-    private final class InternalRemovalClient extends BiometricService.RemovalClientImpl {
+    private final class InternalRemovalClient extends BiometricServiceBase.RemovalClientImpl {
         public InternalRemovalClient(Context context,
                 DaemonWrapper daemon, long halDeviceId, IBinder token,
                 ServiceListener listener, int fingerId, int groupId, int userId, boolean restricted,
@@ -567,8 +598,6 @@
     private long mHalDeviceId;
     private IBinder mToken = new Binder(); // used for internal FingerprintService enumeration
     private ArrayList<UserFingerprint> mUnknownFingerprints = new ArrayList<>(); // hw fingerprints
-    // Use FingerprintManager to get strings, so BiometricPrompt interface is cleaner.
-    private FingerprintManager mFingerprintManager;
 
     /**
      * Receives callbacks from the HAL.
@@ -590,6 +619,11 @@
         public void onAcquired(final long deviceId, final int acquiredInfo, final int vendorCode) {
             mHandler.post(() -> {
                 FingerprintService.super.handleAcquired(deviceId, acquiredInfo, vendorCode);
+                if (getLockoutMode() == AuthenticationClient.LOCKOUT_NONE
+                        && getCurrentClient() instanceof AuthenticationClient) {
+                    // Ignore enrollment acquisitions or acquisitions when we are locked out.
+                    StatsLog.write(StatsLog.FINGERPRINT_ACQUIRED, mCurrentUserId, mIsCrypto);
+                }
             });
         }
 
@@ -599,6 +633,22 @@
             mHandler.post(() -> {
                 Fingerprint fp = new Fingerprint("", groupId, fingerId, deviceId);
                 FingerprintService.super.handleAuthenticated(fp, token);
+                // Send authentication to statsd.
+                final boolean authenticated = fingerId != 0;
+                StatsLog.write(StatsLog.FINGERPRINT_AUTHENTICATED, mCurrentUserId, mIsCrypto,
+                        authenticated);
+                if (!authenticated) {
+                    // If we failed to authenticate because of a lockout, inform statsd.
+                    final int lockoutMode = getLockoutMode();
+                    if (lockoutMode == AuthenticationClient.LOCKOUT_TIMED) {
+                        StatsLog.write(StatsLog.FINGERPRINT_ERROR_OCCURRED, mCurrentUserId,
+                                mIsCrypto, StatsLog.FINGERPRINT_ERROR_OCCURRED__ERROR__LOCKOUT);
+                    } else if (lockoutMode == AuthenticationClient.LOCKOUT_PERMANENT) {
+                        StatsLog.write(StatsLog.FINGERPRINT_ERROR_OCCURRED, mCurrentUserId,
+                                mIsCrypto,
+                                StatsLog.FINGERPRINT_ERROR_OCCURRED__ERROR__PERMANENT_LOCKOUT);
+                    }
+                }
             });
         }
 
@@ -717,8 +767,6 @@
         super.onStart();
         publishBinderService(Context.FINGERPRINT_SERVICE, new FingerprintServiceWrapper());
         SystemServerInitThreadPool.get().submit(this::getFingerprintDaemon, TAG + ".onStart");
-        mFingerprintManager = (FingerprintManager)
-                getContext().getSystemService(Context.FINGERPRINT_SERVICE);
     }
 
     @Override
@@ -854,8 +902,16 @@
     }
 
     @Override
-    protected int getAppOp() {
-        return AppOpsManager.OP_USE_FINGERPRINT;
+    protected boolean checkAppOps(int uid, String opPackageName) {
+        boolean appOpsOk = false;
+        if (mAppOps.noteOp(AppOpsManager.OP_USE_BIOMETRIC, uid, opPackageName)
+                == AppOpsManager.MODE_ALLOWED) {
+            appOpsOk = true;
+        } else if (mAppOps.noteOp(AppOpsManager.OP_USE_FINGERPRINT, uid, opPackageName)
+                == AppOpsManager.MODE_ALLOWED) {
+            appOpsOk = true;
+        }
+        return appOpsOk;
     }
 
     @Override
diff --git a/services/core/java/com/android/server/clipboard/ClipboardService.java b/services/core/java/com/android/server/clipboard/ClipboardService.java
index c028a43..a769590 100644
--- a/services/core/java/com/android/server/clipboard/ClipboardService.java
+++ b/services/core/java/com/android/server/clipboard/ClipboardService.java
@@ -629,6 +629,11 @@
         if (mAppOps.noteOp(op, callingUid, callingPackage) != AppOpsManager.MODE_ALLOWED) {
             return false;
         }
+        // Shell can access the clipboard for testing purposes.
+        if (mPm.checkPermission(android.Manifest.permission.READ_CLIPBOARD_IN_BACKGROUND,
+                    callingPackage) == PackageManager.PERMISSION_GRANTED) {
+            return true;
+        }
         // The default IME is always allowed to access the clipboard.
         String defaultIme = Settings.Secure.getStringForUser(getContext().getContentResolver(),
                 Settings.Secure.DEFAULT_INPUT_METHOD, UserHandle.getUserId(callingUid));
@@ -639,12 +644,20 @@
             }
         }
 
-        // Otherwise only focused applications can access the clipboard.
-        boolean uidFocused = mWm.isUidFocused(callingUid);
-        if (!uidFocused) {
-            Slog.e(TAG, "Denying clipboard access to " + callingPackage
-                    + ", application is not in focus.");
+        switch (op) {
+            case AppOpsManager.OP_READ_CLIPBOARD:
+                // Clipboard can only be read by applications with focus.
+                boolean uidFocused = mWm.isUidFocused(callingUid);
+                if (!uidFocused) {
+                    Slog.e(TAG, "Denying clipboard access to " + callingPackage
+                            + ", application is not in focus.");
+                }
+                return uidFocused;
+            case AppOpsManager.OP_WRITE_CLIPBOARD:
+                // Writing is allowed without focus.
+                return true;
+            default:
+                throw new IllegalArgumentException("Unknown clipboard appop " + op);
         }
-        return uidFocused;
     }
 }
diff --git a/services/core/java/com/android/server/connectivity/Tethering.java b/services/core/java/com/android/server/connectivity/Tethering.java
index d16c277..a8f7259 100644
--- a/services/core/java/com/android/server/connectivity/Tethering.java
+++ b/services/core/java/com/android/server/connectivity/Tethering.java
@@ -68,6 +68,7 @@
 import android.hardware.usb.UsbManager;
 import android.net.INetworkPolicyManager;
 import android.net.INetworkStatsService;
+import android.net.ip.IpServer;
 import android.net.IpPrefix;
 import android.net.LinkAddress;
 import android.net.LinkProperties;
@@ -112,10 +113,8 @@
 import com.android.internal.util.State;
 import com.android.internal.util.StateMachine;
 import com.android.server.LocalServices;
-import com.android.server.connectivity.tethering.IControlsTethering;
 import com.android.server.connectivity.tethering.IPv6TetheringCoordinator;
 import com.android.server.connectivity.tethering.OffloadController;
-import com.android.server.connectivity.tethering.TetherInterfaceStateMachine;
 import com.android.server.connectivity.tethering.TetheringConfiguration;
 import com.android.server.connectivity.tethering.TetheringDependencies;
 import com.android.server.connectivity.tethering.TetheringInterfaceUtils;
@@ -149,7 +148,7 @@
     protected static final String DISABLE_PROVISIONING_SYSPROP_KEY = "net.tethering.noprovisioning";
 
     private static final Class[] messageClasses = {
-            Tethering.class, TetherMasterSM.class, TetherInterfaceStateMachine.class
+            Tethering.class, TetherMasterSM.class, IpServer.class
     };
     private static final SparseArray<String> sMagicDecoderRing =
             MessageUtils.findMessageNames(messageClasses);
@@ -159,21 +158,21 @@
             .getSystem().getString(com.android.internal.R.string.config_wifi_tether_enable));
 
     private static class TetherState {
-        public final TetherInterfaceStateMachine stateMachine;
+        public final IpServer ipServer;
         public int lastState;
         public int lastError;
 
-        public TetherState(TetherInterfaceStateMachine sm) {
-            stateMachine = sm;
+        public TetherState(IpServer ipServer) {
+            this.ipServer = ipServer;
             // Assume all state machines start out available and with no errors.
-            lastState = IControlsTethering.STATE_AVAILABLE;
+            lastState = IpServer.STATE_AVAILABLE;
             lastError = TETHER_ERROR_NO_ERROR;
         }
 
         public boolean isCurrentlyServing() {
             switch (lastState) {
-                case IControlsTethering.STATE_TETHERED:
-                case IControlsTethering.STATE_LOCAL_ONLY:
+                case IpServer.STATE_TETHERED:
+                case IpServer.STATE_LOCAL_ONLY:
                     return true;
                 default:
                     return false;
@@ -198,7 +197,7 @@
     private final UpstreamNetworkMonitor mUpstreamNetworkMonitor;
     // TODO: Figure out how to merge this and other downstream-tracking objects
     // into a single coherent structure.
-    private final HashSet<TetherInterfaceStateMachine> mForwardedDownstreams;
+    private final HashSet<IpServer> mForwardedDownstreams;
     private final VersionedBroadcastListener mCarrierConfigChange;
     private final TetheringDependencies mDeps;
 
@@ -604,7 +603,7 @@
     }
 
     public int tether(String iface) {
-        return tether(iface, IControlsTethering.STATE_TETHERED);
+        return tether(iface, IpServer.STATE_TETHERED);
     }
 
     private int tether(String iface, int requestedState) {
@@ -617,7 +616,7 @@
             }
             // Ignore the error status of the interface.  If the interface is available,
             // the errors are referring to past tethering attempts anyway.
-            if (tetherState.lastState != IControlsTethering.STATE_AVAILABLE) {
+            if (tetherState.lastState != IpServer.STATE_AVAILABLE) {
                 Log.e(TAG, "Tried to Tether an unavailable iface: " + iface + ", ignoring");
                 return TETHER_ERROR_UNAVAIL_IFACE;
             }
@@ -626,8 +625,7 @@
             // return an error.
             //
             // TODO: reexamine the threading and messaging model.
-            tetherState.stateMachine.sendMessage(
-                    TetherInterfaceStateMachine.CMD_TETHER_REQUESTED, requestedState);
+            tetherState.ipServer.sendMessage(IpServer.CMD_TETHER_REQUESTED, requestedState);
             return TETHER_ERROR_NO_ERROR;
         }
     }
@@ -644,8 +642,7 @@
                 Log.e(TAG, "Tried to untether an inactive iface :" + iface + ", ignoring");
                 return TETHER_ERROR_UNAVAIL_IFACE;
             }
-            tetherState.stateMachine.sendMessage(
-                    TetherInterfaceStateMachine.CMD_TETHER_UNREQUESTED);
+            tetherState.ipServer.sendMessage(IpServer.CMD_TETHER_UNREQUESTED);
             return TETHER_ERROR_NO_ERROR;
         }
     }
@@ -689,11 +686,11 @@
                 String iface = mTetherStates.keyAt(i);
                 if (tetherState.lastError != TETHER_ERROR_NO_ERROR) {
                     erroredList.add(iface);
-                } else if (tetherState.lastState == IControlsTethering.STATE_AVAILABLE) {
+                } else if (tetherState.lastState == IpServer.STATE_AVAILABLE) {
                     availableList.add(iface);
-                } else if (tetherState.lastState == IControlsTethering.STATE_LOCAL_ONLY) {
+                } else if (tetherState.lastState == IpServer.STATE_LOCAL_ONLY) {
                     localOnlyList.add(iface);
-                } else if (tetherState.lastState == IControlsTethering.STATE_TETHERED) {
+                } else if (tetherState.lastState == IpServer.STATE_TETHERED) {
                     if (cfg.isUsb(iface)) {
                         usbTethered = true;
                     } else if (cfg.isWifi(iface)) {
@@ -882,10 +879,10 @@
             synchronized (Tethering.this.mPublicSync) {
                 if (!usbConnected && mRndisEnabled) {
                     // Turn off tethering if it was enabled and there is a disconnect.
-                    tetherMatchingInterfaces(IControlsTethering.STATE_AVAILABLE, TETHERING_USB);
+                    tetherMatchingInterfaces(IpServer.STATE_AVAILABLE, TETHERING_USB);
                 } else if (usbConfigured && rndisEnabled) {
                     // Tether if rndis is enabled and usb is configured.
-                    tetherMatchingInterfaces(IControlsTethering.STATE_TETHERED, TETHERING_USB);
+                    tetherMatchingInterfaces(IpServer.STATE_TETHERED, TETHERING_USB);
                 }
                 mRndisEnabled = usbConfigured && rndisEnabled;
             }
@@ -959,15 +956,15 @@
         if (!TextUtils.isEmpty(ifname)) {
             final TetherState ts = mTetherStates.get(ifname);
             if (ts != null) {
-                ts.stateMachine.unwanted();
+                ts.ipServer.unwanted();
                 return;
             }
         }
 
         for (int i = 0; i < mTetherStates.size(); i++) {
-            TetherInterfaceStateMachine tism = mTetherStates.valueAt(i).stateMachine;
-            if (tism.interfaceType() == TETHERING_WIFI) {
-                tism.unwanted();
+            final IpServer ipServer = mTetherStates.valueAt(i).ipServer;
+            if (ipServer.interfaceType() == TETHERING_WIFI) {
+                ipServer.unwanted();
                 return;
             }
         }
@@ -978,15 +975,15 @@
     }
 
     private void enableWifiIpServingLocked(String ifname, int wifiIpMode) {
-        // Map wifiIpMode values to IControlsTethering serving states, inferring
+        // Map wifiIpMode values to IpServer.Callback serving states, inferring
         // from mWifiTetherRequested as a final "best guess".
         final int ipServingMode;
         switch (wifiIpMode) {
             case IFACE_IP_MODE_TETHERED:
-                ipServingMode = IControlsTethering.STATE_TETHERED;
+                ipServingMode = IpServer.STATE_TETHERED;
                 break;
             case IFACE_IP_MODE_LOCAL_ONLY:
-                ipServingMode = IControlsTethering.STATE_LOCAL_ONLY;
+                ipServingMode = IpServer.STATE_LOCAL_ONLY;
                 break;
             default:
                 mLog.e("Cannot enable IP serving in unknown WiFi mode: " + wifiIpMode);
@@ -1041,12 +1038,12 @@
     private void changeInterfaceState(String ifname, int requestedState) {
         final int result;
         switch (requestedState) {
-            case IControlsTethering.STATE_UNAVAILABLE:
-            case IControlsTethering.STATE_AVAILABLE:
+            case IpServer.STATE_UNAVAILABLE:
+            case IpServer.STATE_AVAILABLE:
                 result = untether(ifname);
                 break;
-            case IControlsTethering.STATE_TETHERED:
-            case IControlsTethering.STATE_LOCAL_ONLY:
+            case IpServer.STATE_TETHERED:
+            case IpServer.STATE_LOCAL_ONLY:
                 result = tether(ifname, requestedState);
                 break;
             default:
@@ -1104,7 +1101,7 @@
         synchronized (mPublicSync) {
             for (int i = 0; i < mTetherStates.size(); i++) {
                 TetherState tetherState = mTetherStates.valueAt(i);
-                if (tetherState.lastState == IControlsTethering.STATE_TETHERED) {
+                if (tetherState.lastState == IpServer.STATE_TETHERED) {
                     list.add(mTetherStates.keyAt(i));
                 }
             }
@@ -1117,7 +1114,7 @@
         synchronized (mPublicSync) {
             for (int i = 0; i < mTetherStates.size(); i++) {
                 TetherState tetherState = mTetherStates.valueAt(i);
-                if (tetherState.lastState == IControlsTethering.STATE_AVAILABLE) {
+                if (tetherState.lastState == IpServer.STATE_AVAILABLE) {
                     list.add(mTetherStates.keyAt(i));
                 }
             }
@@ -1177,7 +1174,7 @@
         synchronized (mPublicSync) {
             for (int i = 0; i < mTetherStates.size(); i++) {
                 TetherState tetherState = mTetherStates.valueAt(i);
-                if (tetherState.lastState != IControlsTethering.STATE_TETHERED) {
+                if (tetherState.lastState != IpServer.STATE_TETHERED) {
                     continue;  // Skip interfaces that aren't tethered.
                 }
                 String iface = mTetherStates.keyAt(i);
@@ -1231,7 +1228,7 @@
         // Because we excise interfaces immediately from mTetherStates, we must maintain mNotifyList
         // so that the garbage collector does not clean up the state machine before it has a chance
         // to tear itself down.
-        private final ArrayList<TetherInterfaceStateMachine> mNotifyList;
+        private final ArrayList<IpServer> mNotifyList;
         private final IPv6TetheringCoordinator mIPv6TetheringCoordinator;
         private final OffloadWrapper mOffload;
 
@@ -1268,17 +1265,19 @@
             public boolean processMessage(Message message) {
                 logMessage(this, message.what);
                 switch (message.what) {
-                    case EVENT_IFACE_SERVING_STATE_ACTIVE:
-                        TetherInterfaceStateMachine who = (TetherInterfaceStateMachine) message.obj;
+                    case EVENT_IFACE_SERVING_STATE_ACTIVE: {
+                        final IpServer who = (IpServer) message.obj;
                         if (VDBG) Log.d(TAG, "Tether Mode requested by " + who);
                         handleInterfaceServingStateActive(message.arg1, who);
                         transitionTo(mTetherModeAliveState);
                         break;
-                    case EVENT_IFACE_SERVING_STATE_INACTIVE:
-                        who = (TetherInterfaceStateMachine) message.obj;
+                    }
+                    case EVENT_IFACE_SERVING_STATE_INACTIVE: {
+                        final IpServer who = (IpServer) message.obj;
                         if (VDBG) Log.d(TAG, "Tether Mode unrequested by " + who);
                         handleInterfaceServingStateInactive(who);
                         break;
+                    }
                     case EVENT_IFACE_UPDATE_LINKPROPERTIES:
                         // Silently ignore these for now.
                         break;
@@ -1410,8 +1409,8 @@
 
         protected void notifyDownstreamsOfNewUpstreamIface(InterfaceSet ifaces) {
             mCurrentUpstreamIfaceSet = ifaces;
-            for (TetherInterfaceStateMachine sm : mNotifyList) {
-                sm.sendMessage(TetherInterfaceStateMachine.CMD_TETHER_CONNECTION_CHANGED, ifaces);
+            for (IpServer ipServer : mNotifyList) {
+                ipServer.sendMessage(IpServer.CMD_TETHER_CONNECTION_CHANGED, ifaces);
             }
         }
 
@@ -1420,13 +1419,13 @@
             mOffload.updateUpstreamNetworkState(ns);
         }
 
-        private void handleInterfaceServingStateActive(int mode, TetherInterfaceStateMachine who) {
+        private void handleInterfaceServingStateActive(int mode, IpServer who) {
             if (mNotifyList.indexOf(who) < 0) {
                 mNotifyList.add(who);
                 mIPv6TetheringCoordinator.addActiveDownstream(who, mode);
             }
 
-            if (mode == IControlsTethering.STATE_TETHERED) {
+            if (mode == IpServer.STATE_TETHERED) {
                 // No need to notify OffloadController just yet as there are no
                 // "offload-able" prefixes to pass along. This will handled
                 // when the TISM informs Tethering of its LinkProperties.
@@ -1441,10 +1440,10 @@
                 final WifiManager mgr = getWifiManager();
                 final String iface = who.interfaceName();
                 switch (mode) {
-                    case IControlsTethering.STATE_TETHERED:
+                    case IpServer.STATE_TETHERED:
                         mgr.updateInterfaceIpState(iface, IFACE_IP_MODE_TETHERED);
                         break;
-                    case IControlsTethering.STATE_LOCAL_ONLY:
+                    case IpServer.STATE_LOCAL_ONLY:
                         mgr.updateInterfaceIpState(iface, IFACE_IP_MODE_LOCAL_ONLY);
                         break;
                     default:
@@ -1454,7 +1453,7 @@
             }
         }
 
-        private void handleInterfaceServingStateInactive(TetherInterfaceStateMachine who) {
+        private void handleInterfaceServingStateInactive(IpServer who) {
             mNotifyList.remove(who);
             mIPv6TetheringCoordinator.removeActiveDownstream(who);
             mOffload.excludeDownstreamInterface(who.interfaceName());
@@ -1563,10 +1562,10 @@
                 boolean retValue = true;
                 switch (message.what) {
                     case EVENT_IFACE_SERVING_STATE_ACTIVE: {
-                        TetherInterfaceStateMachine who = (TetherInterfaceStateMachine) message.obj;
+                        IpServer who = (IpServer) message.obj;
                         if (VDBG) Log.d(TAG, "Tether Mode requested by " + who);
                         handleInterfaceServingStateActive(message.arg1, who);
-                        who.sendMessage(TetherInterfaceStateMachine.CMD_TETHER_CONNECTION_CHANGED,
+                        who.sendMessage(IpServer.CMD_TETHER_CONNECTION_CHANGED,
                                 mCurrentUpstreamIfaceSet);
                         // If there has been a change and an upstream is now
                         // desired, kick off the selection process.
@@ -1577,7 +1576,7 @@
                         break;
                     }
                     case EVENT_IFACE_SERVING_STATE_INACTIVE: {
-                        TetherInterfaceStateMachine who = (TetherInterfaceStateMachine) message.obj;
+                        IpServer who = (IpServer) message.obj;
                         if (VDBG) Log.d(TAG, "Tether Mode unrequested by " + who);
                         handleInterfaceServingStateInactive(who);
 
@@ -1591,7 +1590,7 @@
                         if (DBG) {
                             Log.d(TAG, "TetherModeAlive still has " + mNotifyList.size() +
                                     " live requests:");
-                            for (TetherInterfaceStateMachine o : mNotifyList) {
+                            for (IpServer o : mNotifyList) {
                                 Log.d(TAG, "  " + o);
                             }
                         }
@@ -1605,7 +1604,7 @@
                     }
                     case EVENT_IFACE_UPDATE_LINKPROPERTIES: {
                         final LinkProperties newLp = (LinkProperties) message.obj;
-                        if (message.arg1 == IControlsTethering.STATE_TETHERED) {
+                        if (message.arg1 == IpServer.STATE_TETHERED) {
                             mOffload.updateDownstreamLinkProperties(newLp);
                         } else {
                             mOffload.excludeDownstreamInterface(newLp.getInterfaceName());
@@ -1650,7 +1649,7 @@
                 boolean retValue = true;
                 switch (message.what) {
                     case EVENT_IFACE_SERVING_STATE_ACTIVE:
-                        TetherInterfaceStateMachine who = (TetherInterfaceStateMachine) message.obj;
+                        IpServer who = (IpServer) message.obj;
                         who.sendMessage(mErrorNotification);
                         break;
                     case CMD_CLEAR_ERROR:
@@ -1665,8 +1664,8 @@
 
             void notify(int msgType) {
                 mErrorNotification = msgType;
-                for (TetherInterfaceStateMachine sm : mNotifyList) {
-                    sm.sendMessage(msgType);
+                for (IpServer ipServer : mNotifyList) {
+                    ipServer.sendMessage(msgType);
                 }
             }
 
@@ -1676,7 +1675,7 @@
             @Override
             public void enter() {
                 Log.e(TAG, "Error in setIpForwardingEnabled");
-                notify(TetherInterfaceStateMachine.CMD_IP_FORWARDING_ENABLE_ERROR);
+                notify(IpServer.CMD_IP_FORWARDING_ENABLE_ERROR);
             }
         }
 
@@ -1684,7 +1683,7 @@
             @Override
             public void enter() {
                 Log.e(TAG, "Error in setIpForwardingDisabled");
-                notify(TetherInterfaceStateMachine.CMD_IP_FORWARDING_DISABLE_ERROR);
+                notify(IpServer.CMD_IP_FORWARDING_DISABLE_ERROR);
             }
         }
 
@@ -1692,7 +1691,7 @@
             @Override
             public void enter() {
                 Log.e(TAG, "Error in startTethering");
-                notify(TetherInterfaceStateMachine.CMD_START_TETHERING_ERROR);
+                notify(IpServer.CMD_START_TETHERING_ERROR);
                 try {
                     mNMService.setIpForwardingEnabled(false);
                 } catch (Exception e) {}
@@ -1703,7 +1702,7 @@
             @Override
             public void enter() {
                 Log.e(TAG, "Error in stopTethering");
-                notify(TetherInterfaceStateMachine.CMD_STOP_TETHERING_ERROR);
+                notify(IpServer.CMD_STOP_TETHERING_ERROR);
                 try {
                     mNMService.setIpForwardingEnabled(false);
                 } catch (Exception e) {}
@@ -1714,7 +1713,7 @@
             @Override
             public void enter() {
                 Log.e(TAG, "Error in setDnsForwarders");
-                notify(TetherInterfaceStateMachine.CMD_SET_DNS_FORWARDERS_ERROR);
+                notify(IpServer.CMD_SET_DNS_FORWARDERS_ERROR);
                 try {
                     mNMService.stopTethering();
                 } catch (Exception e) {}
@@ -1771,15 +1770,15 @@
 
                 // Maybe add prefixes or addresses for downstreams, depending on
                 // the IP serving mode of each.
-                for (TetherInterfaceStateMachine tism : mNotifyList) {
-                    final LinkProperties lp = tism.linkProperties();
+                for (IpServer ipServer : mNotifyList) {
+                    final LinkProperties lp = ipServer.linkProperties();
 
-                    switch (tism.servingMode()) {
-                        case IControlsTethering.STATE_UNAVAILABLE:
-                        case IControlsTethering.STATE_AVAILABLE:
+                    switch (ipServer.servingMode()) {
+                        case IpServer.STATE_UNAVAILABLE:
+                        case IpServer.STATE_AVAILABLE:
                             // No usable LinkProperties in these states.
                             continue;
-                        case IControlsTethering.STATE_TETHERED:
+                        case IpServer.STATE_TETHERED:
                             // Only add IPv4 /32 and IPv6 /128 prefixes. The
                             // directly-connected prefixes will be sent as
                             // downstream "offload-able" prefixes.
@@ -1789,7 +1788,7 @@
                                 localPrefixes.add(PrefixUtils.ipAddressAsPrefix(ip));
                             }
                             break;
-                        case IControlsTethering.STATE_LOCAL_ONLY:
+                        case IpServer.STATE_LOCAL_ONLY:
                             // Add prefixes covering all local IPs.
                             localPrefixes.addAll(PrefixUtils.localPrefixesFrom(lp));
                             break;
@@ -1826,16 +1825,16 @@
                 pw.print(iface + " - ");
 
                 switch (tetherState.lastState) {
-                    case IControlsTethering.STATE_UNAVAILABLE:
+                    case IpServer.STATE_UNAVAILABLE:
                         pw.print("UnavailableState");
                         break;
-                    case IControlsTethering.STATE_AVAILABLE:
+                    case IpServer.STATE_AVAILABLE:
                         pw.print("AvailableState");
                         break;
-                    case IControlsTethering.STATE_TETHERED:
+                    case IpServer.STATE_TETHERED:
                         pw.print("TetheredState");
                         break;
-                    case IControlsTethering.STATE_LOCAL_ONLY:
+                    case IpServer.STATE_LOCAL_ONLY:
                         pw.print("LocalHotspotState");
                         break;
                     default:
@@ -1873,28 +1872,26 @@
         return false;
     }
 
-    private IControlsTethering makeControlCallback(String ifname) {
-        return new IControlsTethering() {
+    private IpServer.Callback makeControlCallback() {
+        return new IpServer.Callback() {
             @Override
-            public void updateInterfaceState(
-                    TetherInterfaceStateMachine who, int state, int lastError) {
-                notifyInterfaceStateChange(ifname, who, state, lastError);
+            public void updateInterfaceState(IpServer who, int state, int lastError) {
+                notifyInterfaceStateChange(who, state, lastError);
             }
 
             @Override
-            public void updateLinkProperties(
-                    TetherInterfaceStateMachine who, LinkProperties newLp) {
-                notifyLinkPropertiesChanged(ifname, who, newLp);
+            public void updateLinkProperties(IpServer who, LinkProperties newLp) {
+                notifyLinkPropertiesChanged(who, newLp);
             }
         };
     }
 
     // TODO: Move into TetherMasterSM.
-    private void notifyInterfaceStateChange(
-            String iface, TetherInterfaceStateMachine who, int state, int error) {
+    private void notifyInterfaceStateChange(IpServer who, int state, int error) {
+        final String iface = who.interfaceName();
         synchronized (mPublicSync) {
             final TetherState tetherState = mTetherStates.get(iface);
-            if (tetherState != null && tetherState.stateMachine.equals(who)) {
+            if (tetherState != null && tetherState.ipServer.equals(who)) {
                 tetherState.lastState = state;
                 tetherState.lastError = error;
             } else {
@@ -1908,7 +1905,7 @@
             // Notify that we're tethering (or not) this interface.
             // This is how data saver for instance knows if the user explicitly
             // turned on tethering (thus keeping us from being in data saver mode).
-            mPolicyManager.onTetheringChanged(iface, state == IControlsTethering.STATE_TETHERED);
+            mPolicyManager.onTetheringChanged(iface, state == IpServer.STATE_TETHERED);
         } catch (RemoteException e) {
             // Not really very much we can do here.
         }
@@ -1921,12 +1918,12 @@
         }
         int which;
         switch (state) {
-            case IControlsTethering.STATE_UNAVAILABLE:
-            case IControlsTethering.STATE_AVAILABLE:
+            case IpServer.STATE_UNAVAILABLE:
+            case IpServer.STATE_AVAILABLE:
                 which = TetherMasterSM.EVENT_IFACE_SERVING_STATE_INACTIVE;
                 break;
-            case IControlsTethering.STATE_TETHERED:
-            case IControlsTethering.STATE_LOCAL_ONLY:
+            case IpServer.STATE_TETHERED:
+            case IpServer.STATE_LOCAL_ONLY:
                 which = TetherMasterSM.EVENT_IFACE_SERVING_STATE_ACTIVE;
                 break;
             default:
@@ -1937,12 +1934,12 @@
         sendTetherStateChangedBroadcast();
     }
 
-    private void notifyLinkPropertiesChanged(String iface, TetherInterfaceStateMachine who,
-                                             LinkProperties newLp) {
+    private void notifyLinkPropertiesChanged(IpServer who, LinkProperties newLp) {
+        final String iface = who.interfaceName();
         final int state;
         synchronized (mPublicSync) {
             final TetherState tetherState = mTetherStates.get(iface);
-            if (tetherState != null && tetherState.stateMachine.equals(who)) {
+            if (tetherState != null && tetherState.ipServer.equals(who)) {
                 state = tetherState.lastState;
             } else {
                 mLog.log("got notification from stale iface " + iface);
@@ -1952,7 +1949,7 @@
 
         mLog.log(String.format(
                 "OBSERVED LinkProperties update iface=%s state=%s lp=%s",
-                iface, IControlsTethering.getStateString(state), newLp));
+                iface, IpServer.getStateString(state), newLp));
         final int which = TetherMasterSM.EVENT_IFACE_UPDATE_LINKPROPERTIES;
         mTetherMasterSM.sendMessage(which, state, 0, newLp);
     }
@@ -1976,11 +1973,11 @@
 
         mLog.log("adding TetheringInterfaceStateMachine for: " + iface);
         final TetherState tetherState = new TetherState(
-                new TetherInterfaceStateMachine(
-                    iface, mLooper, interfaceType, mLog, mNMService, mStatsService,
-                    makeControlCallback(iface), mConfig.enableLegacyDhcpServer, mDeps));
+                new IpServer(iface, mLooper, interfaceType, mLog, mNMService, mStatsService,
+                             makeControlCallback(), mConfig.enableLegacyDhcpServer,
+                             mDeps.getIpServerDependencies()));
         mTetherStates.put(iface, tetherState);
-        tetherState.stateMachine.start();
+        tetherState.ipServer.start();
     }
 
     private void stopTrackingInterfaceLocked(final String iface) {
@@ -1989,36 +1986,11 @@
             mLog.log("attempting to remove unknown iface (" + iface + "), ignoring");
             return;
         }
-        tetherState.stateMachine.stop();
+        tetherState.ipServer.stop();
         mLog.log("removing TetheringInterfaceStateMachine for: " + iface);
         mTetherStates.remove(iface);
     }
 
-    private static String getIPv4DefaultRouteInterface(NetworkState ns) {
-        if (ns == null) return null;
-        return getInterfaceForDestination(ns.linkProperties, Inet4Address.ANY);
-    }
-
-    private static String getIPv6DefaultRouteInterface(NetworkState ns) {
-        if (ns == null) return null;
-        // An upstream network's IPv6 capability is currently only useful if it
-        // can be 64share'd downstream (RFC 7278). For now, that means mobile
-        // upstream networks only.
-        if (ns.networkCapabilities == null ||
-                !ns.networkCapabilities.hasTransport(TRANSPORT_CELLULAR)) {
-            return null;
-        }
-
-        return getInterfaceForDestination(ns.linkProperties, Inet6Address.ANY);
-    }
-
-    private static String getInterfaceForDestination(LinkProperties lp, InetAddress dst) {
-        final RouteInfo ri = (lp != null)
-                ? RouteInfo.selectBestRoute(lp.getAllRoutes(), dst)
-                : null;
-        return (ri != null) ? ri.getInterface() : null;
-    }
-
     private static String[] copy(String[] strarray) {
         return Arrays.copyOf(strarray, strarray.length);
     }
diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java
index 2a80f0e..48082b6 100644
--- a/services/core/java/com/android/server/connectivity/Vpn.java
+++ b/services/core/java/com/android/server/connectivity/Vpn.java
@@ -163,8 +163,8 @@
     // TODO: create separate trackers for each unique VPN to support
     // automated reconnection
 
-    private Context mContext;
-    private NetworkInfo mNetworkInfo;
+    private final Context mContext;
+    private final NetworkInfo mNetworkInfo;
     private String mPackage;
     private int mOwnerUID;
     private String mInterface;
diff --git a/services/core/java/com/android/server/connectivity/tethering/IControlsTethering.java b/services/core/java/com/android/server/connectivity/tethering/IControlsTethering.java
deleted file mode 100644
index 2b81347..0000000
--- a/services/core/java/com/android/server/connectivity/tethering/IControlsTethering.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2016 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.
- */
-
-package com.android.server.connectivity.tethering;
-
-import android.net.LinkProperties;
-
-/**
- * @hide
- *
- * Interface with methods necessary to notify that a given interface is ready for tethering.
- *
- * Rename to something more representative, e.g. IpServingControlCallback.
- *
- * All methods MUST be called on the TetherMasterSM main Looper's thread.
- */
-public class IControlsTethering {
-    public static final int STATE_UNAVAILABLE = 0;
-    public static final int STATE_AVAILABLE   = 1;
-    public static final int STATE_TETHERED    = 2;
-    public static final int STATE_LOCAL_ONLY  = 3;
-
-    public static String getStateString(int state) {
-        switch (state) {
-            case STATE_UNAVAILABLE: return "UNAVAILABLE";
-            case STATE_AVAILABLE:   return "AVAILABLE";
-            case STATE_TETHERED:    return "TETHERED";
-            case STATE_LOCAL_ONLY:  return "LOCAL_ONLY";
-        }
-        return "UNKNOWN: " + state;
-    }
-
-    /**
-     * Notify that |who| has changed its tethering state.
-     *
-     * TODO: Remove the need for the |who| argument.
-     *
-     * @param who corresponding instance of a TetherInterfaceStateMachine
-     * @param state one of IControlsTethering.STATE_*
-     * @param lastError one of ConnectivityManager.TETHER_ERROR_*
-     */
-    public void updateInterfaceState(TetherInterfaceStateMachine who, int state, int lastError) {}
-
-    /**
-     * Notify that |who| has new LinkProperties.
-     *
-     * TODO: Remove the need for the |who| argument.
-     *
-     * @param who corresponding instance of a TetherInterfaceStateMachine
-     * @param newLp the new LinkProperties to report
-     */
-    public void updateLinkProperties(TetherInterfaceStateMachine who, LinkProperties newLp) {}
-}
diff --git a/services/core/java/com/android/server/connectivity/tethering/IPv6TetheringCoordinator.java b/services/core/java/com/android/server/connectivity/tethering/IPv6TetheringCoordinator.java
index ba67c94..1000148 100644
--- a/services/core/java/com/android/server/connectivity/tethering/IPv6TetheringCoordinator.java
+++ b/services/core/java/com/android/server/connectivity/tethering/IPv6TetheringCoordinator.java
@@ -17,6 +17,7 @@
 package com.android.server.connectivity.tethering;
 
 import android.net.ConnectivityManager;
+import android.net.ip.IpServer;
 import android.net.IpPrefix;
 import android.net.LinkAddress;
 import android.net.LinkProperties;
@@ -50,19 +51,19 @@
     private static final boolean VDBG = false;
 
     private static class Downstream {
-        public final TetherInterfaceStateMachine tism;
-        public final int mode;  // IControlsTethering.STATE_*
+        public final IpServer ipServer;
+        public final int mode;  // IpServer.STATE_*
         // Used to append to a ULA /48, constructing a ULA /64 for local use.
         public final short subnetId;
 
-        Downstream(TetherInterfaceStateMachine tism, int mode, short subnetId) {
-            this.tism = tism;
+        Downstream(IpServer ipServer, int mode, short subnetId) {
+            this.ipServer = ipServer;
             this.mode = mode;
             this.subnetId = subnetId;
         }
     }
 
-    private final ArrayList<TetherInterfaceStateMachine> mNotifyList;
+    private final ArrayList<IpServer> mNotifyList;
     private final SharedLog mLog;
     // NOTE: mActiveDownstreams is a list and not a hash data structure because
     // we keep active downstreams in arrival order.  This is done so /64s can
@@ -74,8 +75,7 @@
     private short mNextSubnetId;
     private NetworkState mUpstreamNetworkState;
 
-    public IPv6TetheringCoordinator(ArrayList<TetherInterfaceStateMachine> notifyList,
-                                    SharedLog log) {
+    public IPv6TetheringCoordinator(ArrayList<IpServer> notifyList, SharedLog log) {
         mNotifyList = notifyList;
         mLog = log.forSubComponent(TAG);
         mActiveDownstreams = new LinkedList<>();
@@ -83,7 +83,7 @@
         mNextSubnetId = 0;
     }
 
-    public void addActiveDownstream(TetherInterfaceStateMachine downstream, int mode) {
+    public void addActiveDownstream(IpServer downstream, int mode) {
         if (findDownstream(downstream) == null) {
             // Adding a new downstream appends it to the list. Adding a
             // downstream a second time without first removing it has no effect.
@@ -98,7 +98,7 @@
         }
     }
 
-    public void removeActiveDownstream(TetherInterfaceStateMachine downstream) {
+    public void removeActiveDownstream(IpServer downstream) {
         stopIPv6TetheringOn(downstream);
         if (mActiveDownstreams.remove(findDownstream(downstream))) {
             updateIPv6TetheringInterfaces();
@@ -133,8 +133,8 @@
     }
 
     private void stopIPv6TetheringOnAllInterfaces() {
-        for (TetherInterfaceStateMachine sm : mNotifyList) {
-            stopIPv6TetheringOn(sm);
+        for (IpServer ipServer : mNotifyList) {
+            stopIPv6TetheringOn(ipServer);
         }
     }
 
@@ -156,28 +156,28 @@
     }
 
     private void updateIPv6TetheringInterfaces() {
-        for (TetherInterfaceStateMachine sm : mNotifyList) {
-            final LinkProperties lp = getInterfaceIPv6LinkProperties(sm);
-            sm.sendMessage(TetherInterfaceStateMachine.CMD_IPV6_TETHER_UPDATE, 0, 0, lp);
+        for (IpServer ipServer : mNotifyList) {
+            final LinkProperties lp = getInterfaceIPv6LinkProperties(ipServer);
+            ipServer.sendMessage(IpServer.CMD_IPV6_TETHER_UPDATE, 0, 0, lp);
             break;
         }
     }
 
-    private LinkProperties getInterfaceIPv6LinkProperties(TetherInterfaceStateMachine sm) {
-        if (sm.interfaceType() == ConnectivityManager.TETHERING_BLUETOOTH) {
+    private LinkProperties getInterfaceIPv6LinkProperties(IpServer ipServer) {
+        if (ipServer.interfaceType() == ConnectivityManager.TETHERING_BLUETOOTH) {
             // TODO: Figure out IPv6 support on PAN interfaces.
             return null;
         }
 
-        final Downstream ds = findDownstream(sm);
+        final Downstream ds = findDownstream(ipServer);
         if (ds == null) return null;
 
-        if (ds.mode == IControlsTethering.STATE_LOCAL_ONLY) {
+        if (ds.mode == IpServer.STATE_LOCAL_ONLY) {
             // Build a Unique Locally-assigned Prefix configuration.
             return getUniqueLocalConfig(mUniqueLocalPrefix, ds.subnetId);
         }
 
-        // This downstream is in IControlsTethering.STATE_TETHERED mode.
+        // This downstream is in IpServer.STATE_TETHERED mode.
         if (mUpstreamNetworkState == null || mUpstreamNetworkState.linkProperties == null) {
             return null;
         }
@@ -188,7 +188,7 @@
         // IPv6 toward the oldest (first requested) active downstream.
 
         final Downstream currentActive = mActiveDownstreams.peek();
-        if (currentActive != null && currentActive.tism == sm) {
+        if (currentActive != null && currentActive.ipServer == ipServer) {
             final LinkProperties lp = getIPv6OnlyLinkProperties(
                     mUpstreamNetworkState.linkProperties);
             if (lp.hasIPv6DefaultRoute() && lp.hasGlobalIPv6Address()) {
@@ -199,9 +199,9 @@
         return null;
     }
 
-    Downstream findDownstream(TetherInterfaceStateMachine tism) {
+    Downstream findDownstream(IpServer ipServer) {
         for (Downstream ds : mActiveDownstreams) {
-            if (ds.tism == tism) return ds;
+            if (ds.ipServer == ipServer) return ds;
         }
         return null;
     }
@@ -304,7 +304,7 @@
                 ns.linkProperties);
     }
 
-    private static void stopIPv6TetheringOn(TetherInterfaceStateMachine sm) {
-        sm.sendMessage(TetherInterfaceStateMachine.CMD_IPV6_TETHER_UPDATE, 0, 0, null);
+    private static void stopIPv6TetheringOn(IpServer ipServer) {
+        ipServer.sendMessage(IpServer.CMD_IPV6_TETHER_UPDATE, 0, 0, null);
     }
 }
diff --git a/services/core/java/com/android/server/connectivity/tethering/TetheringConfiguration.java b/services/core/java/com/android/server/connectivity/tethering/TetheringConfiguration.java
index 2b1d919..1e6bb04 100644
--- a/services/core/java/com/android/server/connectivity/tethering/TetheringConfiguration.java
+++ b/services/core/java/com/android/server/connectivity/tethering/TetheringConfiguration.java
@@ -320,9 +320,8 @@
     }
 
     private static boolean getEnableLegacyDhcpServer(Context ctx) {
-        // TODO: make the default false (0) and update javadoc in Settings.java
         final ContentResolver cr = ctx.getContentResolver();
-        final int intVal = Settings.Global.getInt(cr, TETHER_ENABLE_LEGACY_DHCP_SERVER, 1);
+        final int intVal = Settings.Global.getInt(cr, TETHER_ENABLE_LEGACY_DHCP_SERVER, 0);
         return intVal != 0;
     }
 
diff --git a/services/core/java/com/android/server/connectivity/tethering/TetheringDependencies.java b/services/core/java/com/android/server/connectivity/tethering/TetheringDependencies.java
index caa867c..8b40069 100644
--- a/services/core/java/com/android/server/connectivity/tethering/TetheringDependencies.java
+++ b/services/core/java/com/android/server/connectivity/tethering/TetheringDependencies.java
@@ -21,6 +21,7 @@
 import android.net.NetworkRequest;
 import android.net.dhcp.DhcpServer;
 import android.net.dhcp.DhcpServingParams;
+import android.net.ip.IpServer;
 import android.net.ip.RouterAdvertisementDaemon;
 import android.net.util.InterfaceParams;
 import android.net.util.NetdService;
@@ -49,20 +50,12 @@
     }
 
     public IPv6TetheringCoordinator getIPv6TetheringCoordinator(
-            ArrayList<TetherInterfaceStateMachine> notifyList, SharedLog log) {
+            ArrayList<IpServer> notifyList, SharedLog log) {
         return new IPv6TetheringCoordinator(notifyList, log);
     }
 
-    public RouterAdvertisementDaemon getRouterAdvertisementDaemon(InterfaceParams ifParams) {
-        return new RouterAdvertisementDaemon(ifParams);
-    }
-
-    public InterfaceParams getInterfaceParams(String ifName) {
-        return InterfaceParams.getByName(ifName);
-    }
-
-    public INetd getNetdService() {
-        return NetdService.getInstance();
+    public IpServer.Dependencies getIpServerDependencies() {
+        return new IpServer.Dependencies();
     }
 
     public boolean isTetheringSupported() {
@@ -72,9 +65,4 @@
     public NetworkRequest getDefaultNetworkRequest() {
         return null;
     }
-
-    public DhcpServer makeDhcpServer(Looper looper, InterfaceParams iface, DhcpServingParams params,
-            SharedLog log) {
-        return new DhcpServer(looper, iface, params, log);
-    }
 }
diff --git a/services/core/java/com/android/server/content/ContentService.java b/services/core/java/com/android/server/content/ContentService.java
index d8d650b..5698fdf 100644
--- a/services/core/java/com/android/server/content/ContentService.java
+++ b/services/core/java/com/android/server/content/ContentService.java
@@ -1226,7 +1226,7 @@
 
         if (userId == UserHandle.USER_ALL) {
             mContext.enforceCallingOrSelfPermission(
-                    Manifest.permission.INTERACT_ACROSS_USERS_FULL, TAG);
+                    Manifest.permission.INTERACT_ACROSS_USERS_FULL, "No access to " + uri);
         } else if (userId < 0) {
             throw new IllegalArgumentException("Invalid user: " + userId);
         } else if (userId != UserHandle.getCallingUserId()) {
@@ -1247,7 +1247,7 @@
                             ? (Manifest.permission.INTERACT_ACROSS_USERS_FULL + " or " +
                                     Manifest.permission.INTERACT_ACROSS_USERS)
                             : Manifest.permission.INTERACT_ACROSS_USERS_FULL;
-                    throw new SecurityException(TAG + "Neither user " + uid
+                    throw new SecurityException("No access to " + uri + ": neither user " + uid
                             + " nor current process has " + permissions);
                 }
             }
diff --git a/services/core/java/com/android/server/display/BrightnessMappingStrategy.java b/services/core/java/com/android/server/display/BrightnessMappingStrategy.java
index 1b688a6..76c191d 100644
--- a/services/core/java/com/android/server/display/BrightnessMappingStrategy.java
+++ b/services/core/java/com/android/server/display/BrightnessMappingStrategy.java
@@ -26,8 +26,8 @@
 import android.util.Slog;
 import android.util.Spline;
 
-import com.android.internal.util.Preconditions;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.util.Preconditions;
 import com.android.server.display.utils.Plog;
 
 import java.io.PrintWriter;
@@ -77,8 +77,8 @@
                 Slog.w(TAG, "Screen brightness mapping does not cover whole range of available " +
                         "backlight values, autobrightness functionality may be impaired.");
             }
-            BrightnessConfiguration.Builder builder = new BrightnessConfiguration.Builder();
-            builder.setCurve(luxLevels, brightnessLevelsNits);
+            BrightnessConfiguration.Builder builder = new BrightnessConfiguration.Builder(
+                    luxLevels, brightnessLevelsNits);
             return new PhysicalMappingStrategy(builder.build(), nitsRange, backlightRange,
                     autoBrightnessAdjustmentMaxGamma);
         } else if (isValidMapping(luxLevels, brightnessLevelsBacklight)) {
diff --git a/services/core/java/com/android/server/hdmi/SystemAudioInitiationActionFromAvr.java b/services/core/java/com/android/server/hdmi/SystemAudioInitiationActionFromAvr.java
index d4932f9..2fdcb51 100644
--- a/services/core/java/com/android/server/hdmi/SystemAudioInitiationActionFromAvr.java
+++ b/services/core/java/com/android/server/hdmi/SystemAudioInitiationActionFromAvr.java
@@ -25,6 +25,9 @@
 
     // State that waits for <Active Source> once send <Request Active Source>.
     private static final int STATE_WAITING_FOR_ACTIVE_SOURCE = 1;
+    // State that waits for TV supporting Audio System Mode or not
+    // once received <Active Source>
+    private static final int STATE_WAITING_FOR_TV_SUPPORT = 2;
     @VisibleForTesting
     static final int MAX_RETRY_COUNT = 5;
 
@@ -60,6 +63,7 @@
                 if (physicalAddress != getSourcePath()) {
                     audioSystem().setActiveSource(cmd.getSource(), physicalAddress);
                 }
+                mState = STATE_WAITING_FOR_TV_SUPPORT;
                 queryTvSystemAudioModeSupport();
                 return true;
         }
diff --git a/services/core/java/com/android/server/input/InputManagerService.java b/services/core/java/com/android/server/input/InputManagerService.java
index a050aa9..0f284391 100644
--- a/services/core/java/com/android/server/input/InputManagerService.java
+++ b/services/core/java/com/android/server/input/InputManagerService.java
@@ -1875,30 +1875,36 @@
         // Read partner-provided list of excluded input devices
         XmlPullParser parser = null;
         // Environment.getRootDirectory() is a fancy way of saying ANDROID_ROOT or "/system".
-        File confFile = new File(Environment.getRootDirectory(), EXCLUDED_DEVICES_PATH);
-        FileReader confreader = null;
-        try {
-            confreader = new FileReader(confFile);
-            parser = Xml.newPullParser();
-            parser.setInput(confreader);
-            XmlUtils.beginDocument(parser, "devices");
+        final File[] baseDirs = {
+            Environment.getRootDirectory(),
+            Environment.getVendorDirectory()
+        };
+        for (File baseDir: baseDirs) {
+            File confFile = new File(baseDir, EXCLUDED_DEVICES_PATH);
+            FileReader confreader = null;
+            try {
+                confreader = new FileReader(confFile);
+                parser = Xml.newPullParser();
+                parser.setInput(confreader);
+                XmlUtils.beginDocument(parser, "devices");
 
-            while (true) {
-                XmlUtils.nextElement(parser);
-                if (!"device".equals(parser.getName())) {
-                    break;
+                while (true) {
+                    XmlUtils.nextElement(parser);
+                    if (!"device".equals(parser.getName())) {
+                        break;
+                    }
+                    String name = parser.getAttributeValue(null, "name");
+                    if (name != null) {
+                        names.add(name);
+                    }
                 }
-                String name = parser.getAttributeValue(null, "name");
-                if (name != null) {
-                    names.add(name);
-                }
+            } catch (FileNotFoundException e) {
+                // It's ok if the file does not exist.
+            } catch (Exception e) {
+                Slog.e(TAG, "Exception while parsing '" + confFile.getAbsolutePath() + "'", e);
+            } finally {
+                try { if (confreader != null) confreader.close(); } catch (IOException e) { }
             }
-        } catch (FileNotFoundException e) {
-            // It's ok if the file does not exist.
-        } catch (Exception e) {
-            Slog.e(TAG, "Exception while parsing '" + confFile.getAbsolutePath() + "'", e);
-        } finally {
-            try { if (confreader != null) confreader.close(); } catch (IOException e) { }
         }
 
         return names.toArray(new String[names.size()]);
diff --git a/services/core/java/com/android/server/InputContentUriTokenHandler.java b/services/core/java/com/android/server/inputmethod/InputContentUriTokenHandler.java
similarity index 97%
rename from services/core/java/com/android/server/InputContentUriTokenHandler.java
rename to services/core/java/com/android/server/inputmethod/InputContentUriTokenHandler.java
index 6338b2f..845fca1 100644
--- a/services/core/java/com/android/server/InputContentUriTokenHandler.java
+++ b/services/core/java/com/android/server/inputmethod/InputContentUriTokenHandler.java
@@ -14,11 +14,10 @@
 ** limitations under the License.
 */
 
-package com.android.server;
+package com.android.server.inputmethod;
 
 import android.annotation.NonNull;
 import android.annotation.UserIdInt;
-import android.app.ActivityManager;
 import android.app.UriGrantsManager;
 import android.content.Intent;
 import android.net.Uri;
@@ -28,6 +27,7 @@
 
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.inputmethod.IInputContentUriToken;
+import com.android.server.LocalServices;
 import com.android.server.uri.UriGrantsManagerInternal;
 
 final class InputContentUriTokenHandler extends IInputContentUriToken.Stub {
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java
index b5a9f74..3264790 100644
--- a/services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java
@@ -18,45 +18,11 @@
 
 import android.content.ComponentName;
 
-import com.android.internal.view.IInputContext;
-import com.android.internal.view.IInputMethodClient;
-
 /**
  * Input method manager local system service interface.
  */
 public abstract class InputMethodManagerInternal {
     /**
-     * Called by the window manager service when a client process is being attached to the window
-     * manager service.
-     *
-     * <p>The caller must not have WindowManagerService lock.  This method internally acquires
-     * InputMethodManagerService lock.</p>
-     *
-     * @param client {@link android.os.Binder} proxy that is associated with the singleton instance
-     *               of {@link android.view.inputmethod.InputMethodManager} that runs on the client
-     *               process
-     * @param inputContext communication channel for the dummy
-     *                     {@link android.view.inputmethod.InputConnection}
-     * @param uid UID of the client process
-     * @param pid PID of the client process
-     */
-    public abstract void addClient(IInputMethodClient client, IInputContext inputContext, int uid,
-            int pid);
-
-    /**
-     * Called by the window manager service when a client process is being attached to the window
-     * manager service.
-     *
-     * <p>The caller must not have WindowManagerService lock.  This method internally acquires
-     * InputMethodManagerService lock.</p>
-     *
-     * @param client {@link android.os.Binder} proxy that is associated with the singleton instance
-     *               of {@link android.view.inputmethod.InputMethodManager} that runs on the client
-     *               process
-     */
-    public abstract void removeClient(IInputMethodClient client);
-
-    /**
      * Called by the power manager to tell the input method manager whether it
      * should start watching for wake events.
      */
@@ -78,15 +44,6 @@
     public static final InputMethodManagerInternal NOP =
             new InputMethodManagerInternal() {
                 @Override
-                public void addClient(IInputMethodClient client, IInputContext inputContext,
-                        int uid, int pid) {
-                }
-
-                @Override
-                public void removeClient(IInputMethodClient client) {
-                }
-
-                @Override
                 public void setInteractive(boolean interactive) {
                 }
 
diff --git a/services/core/java/com/android/server/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
similarity index 96%
rename from services/core/java/com/android/server/InputMethodManagerService.java
rename to services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
index 93d023d..a9b0d5c 100644
--- a/services/core/java/com/android/server/InputMethodManagerService.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
@@ -13,9 +13,10 @@
  * the License.
  */
 
-package com.android.server;
+package com.android.server.inputmethod;
 
 import static android.view.Display.DEFAULT_DISPLAY;
+import static android.view.Display.INVALID_DISPLAY;
 import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_SHOW_FOR_ALL_USERS;
 import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD;
 import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD_DIALOG;
@@ -129,10 +130,6 @@
 import com.android.internal.content.PackageMonitor;
 import com.android.internal.inputmethod.IInputContentUriToken;
 import com.android.internal.inputmethod.IInputMethodPrivilegedOperations;
-import com.android.internal.inputmethod.InputMethodSubtypeSwitchingController;
-import com.android.internal.inputmethod.InputMethodSubtypeSwitchingController.ImeSubtypeListItem;
-import com.android.internal.inputmethod.InputMethodUtils;
-import com.android.internal.inputmethod.InputMethodUtils.InputMethodSettings;
 import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
 import com.android.internal.notification.SystemNotificationChannels;
 import com.android.internal.os.HandlerCaller;
@@ -149,7 +146,11 @@
 import com.android.internal.view.IInputSessionCallback;
 import com.android.internal.view.InputBindResult;
 import com.android.internal.view.InputMethodClient;
-import com.android.server.inputmethod.InputMethodManagerInternal;
+import com.android.server.EventLogTags;
+import com.android.server.LocalServices;
+import com.android.server.SystemService;
+import com.android.server.inputmethod.InputMethodSubtypeSwitchingController.ImeSubtypeListItem;
+import com.android.server.inputmethod.InputMethodUtils.InputMethodSettings;
 import com.android.server.statusbar.StatusBarManagerService;
 import com.android.server.wm.WindowManagerInternal;
 
@@ -210,7 +211,6 @@
     static final int MSG_BIND_CLIENT = 3010;
     static final int MSG_SET_ACTIVE = 3020;
     static final int MSG_SET_INTERACTIVE = 3030;
-    static final int MSG_SET_USER_ACTION_NOTIFICATION_SEQUENCE_NUMBER = 3040;
     static final int MSG_REPORT_FULLSCREEN_MODE = 3045;
 
     static final int MSG_HARD_KEYBOARD_SWITCH_CHANGED = 4000;
@@ -254,7 +254,7 @@
      * the notification.
      */
     private static final String ACTION_SHOW_INPUT_METHOD_PICKER =
-            "com.android.server.InputMethodManagerService.SHOW_INPUT_METHOD_PICKER";
+            "com.android.server.inputmethod.InputMethodManagerService.SHOW_INPUT_METHOD_PICKER";
 
     /**
      * Debug flag for overriding runtime {@link SystemProperties}.
@@ -401,12 +401,28 @@
         }
     }
 
+    private static final class ClientDeathRecipient implements IBinder.DeathRecipient {
+        private final InputMethodManagerService mImms;
+        private final IInputMethodClient mClient;
+
+        ClientDeathRecipient(InputMethodManagerService imms, IInputMethodClient client) {
+            mImms = imms;
+            mClient = client;
+        }
+
+        @Override
+        public void binderDied() {
+            mImms.removeClient(mClient);
+        }
+    }
+
     static final class ClientState {
         final IInputMethodClient client;
         final IInputContext inputContext;
         final int uid;
         final int pid;
         final InputBinding binding;
+        final ClientDeathRecipient clientDeathRecipient;
 
         boolean sessionRequested;
         SessionState curSession;
@@ -419,12 +435,13 @@
         }
 
         ClientState(IInputMethodClient _client, IInputContext _inputContext,
-                int _uid, int _pid) {
+                int _uid, int _pid, ClientDeathRecipient _clientDeathRecipient) {
             client = _client;
             inputContext = _inputContext;
             uid = _uid;
             pid = _pid;
             binding = new InputBinding(null, inputContext.asBinder(), uid, pid);
+            clientDeathRecipient = _clientDeathRecipient;
         }
     }
 
@@ -571,6 +588,11 @@
     IBinder mCurToken;
 
     /**
+     * The displayId of current active input method.
+     */
+    int mCurTokenDisplayId = INVALID_DISPLAY;
+
+    /**
      * If non-null, this is the input method service we are currently connected
      * to.
      */
@@ -598,8 +620,6 @@
      */
     boolean mIsInteractive = true;
 
-    int mCurUserActionNotificationSequenceNumber = 0;
-
     int mBackDisposition = InputMethodService.BACK_DISPOSITION_DEFAULT;
 
     /**
@@ -1713,9 +1733,39 @@
         }
     }
 
-    void addClient(ClientState clientState) {
+    /**
+     * Called by each application process as a preparation to start interacting with
+     * {@link InputMethodManagerService}.
+     *
+     * <p>As a general principle, IPCs from the application process that take
+     * {@link InputMethodClient} will be rejected without this step.</p>
+     *
+     * @param client {@link android.os.Binder} proxy that is associated with the singleton instance
+     *               of {@link android.view.inputmethod.InputMethodManager} that runs on the client
+     *               process
+     * @param inputContext communication channel for the dummy
+     *                     {@link android.view.inputmethod.InputConnection}
+     */
+    @Override
+    public void addClient(IInputMethodClient client, IInputContext inputContext) {
+        final int callerUid = Binder.getCallingUid();
+        final int callerPid = Binder.getCallingPid();
         synchronized (mMethodMap) {
-            mClients.put(clientState.client.asBinder(), clientState);
+            // TODO: Optimize this linear search.
+            for (ClientState state : mClients.values()) {
+                if (state.uid == callerUid && state.pid == callerPid) {
+                    throw new SecurityException("uid=" + callerUid + "/pid=" + callerPid
+                            + " is already registered");
+                }
+            }
+            final ClientDeathRecipient deathRecipient = new ClientDeathRecipient(this, client);
+            try {
+                client.asBinder().linkToDeath(deathRecipient, 0);
+            } catch (RemoteException e) {
+                throw new IllegalStateException(e);
+            }
+            mClients.put(client.asBinder(),
+                    new ClientState(client, inputContext, callerUid, callerPid, deathRecipient));
         }
     }
 
@@ -1723,6 +1773,7 @@
         synchronized (mMethodMap) {
             ClientState cs = mClients.remove(client.asBinder());
             if (cs != null) {
+                client.asBinder().unlinkToDeath(cs.clientDeathRecipient, 0);
                 clearClientSessionLocked(cs);
                 if (mCurClient == cs) {
                     if (mBoundToMethod) {
@@ -1822,7 +1873,7 @@
         }
         return new InputBindResult(InputBindResult.ResultCode.SUCCESS_WITH_IME_SESSION,
                 session.session, (session.channel != null ? session.channel.dup() : null),
-                mCurId, mCurSeq, mCurUserActionNotificationSequenceNumber);
+                mCurId, mCurSeq);
     }
 
     @GuardedBy("mMethodMap")
@@ -1867,7 +1918,9 @@
         mCurAttribute = attribute;
 
         // Check if the input method is changing.
-        if (mCurId != null && mCurId.equals(mCurMethodId)) {
+        final int displayId = mWindowManagerInternal.getDisplayIdForWindow(
+                mCurFocusedWindow);
+        if (mCurId != null && mCurId.equals(mCurMethodId) && displayId == mCurTokenDisplayId) {
             if (cs.curSession != null) {
                 // Fast case: if we are already connected to the input method,
                 // then just return it.
@@ -1881,8 +1934,7 @@
                     requestClientSessionLocked(cs);
                     return new InputBindResult(
                             InputBindResult.ResultCode.SUCCESS_WAITING_IME_SESSION,
-                            null, null, mCurId, mCurSeq,
-                            mCurUserActionNotificationSequenceNumber);
+                            null, null, mCurId, mCurSeq);
                 } else if (SystemClock.uptimeMillis()
                         < (mLastBindTime+TIME_TO_RECONNECT)) {
                     // In this case we have connected to the service, but
@@ -1894,8 +1946,7 @@
                     // to see if we can get back in touch with the service.
                     return new InputBindResult(
                             InputBindResult.ResultCode.SUCCESS_WAITING_IME_BINDING,
-                            null, null, mCurId, mCurSeq,
-                            mCurUserActionNotificationSequenceNumber);
+                            null, null, mCurId, mCurSeq);
                 } else {
                     EventLog.writeEvent(EventLogTags.IMF_FORCE_RECONNECT_IME,
                             mCurMethodId, SystemClock.uptimeMillis()-mLastBindTime, 0);
@@ -1917,8 +1968,7 @@
             // party code.
             return new InputBindResult(
                     InputBindResult.ResultCode.ERROR_SYSTEM_NOT_READY,
-                    null, null, mCurMethodId, mCurSeq,
-                    mCurUserActionNotificationSequenceNumber);
+                    null, null, mCurMethodId, mCurSeq);
         }
 
         InputMethodInfo info = mMethodMap.get(mCurMethodId);
@@ -1926,7 +1976,7 @@
             throw new IllegalArgumentException("Unknown id: " + mCurMethodId);
         }
 
-        unbindCurrentMethodLocked(true);
+        unbindCurrentMethodLocked();
 
         mCurIntent = new Intent(InputMethod.SERVICE_INTERFACE);
         mCurIntent.setComponent(info.getComponent());
@@ -1934,20 +1984,25 @@
                 com.android.internal.R.string.input_method_binding_label);
         mCurIntent.putExtra(Intent.EXTRA_CLIENT_INTENT, PendingIntent.getActivity(
                 mContext, 0, new Intent(Settings.ACTION_INPUT_METHOD_SETTINGS), 0));
+        final int displayId = mWindowManagerInternal.getDisplayIdForWindow(mCurFocusedWindow);
+        mCurTokenDisplayId = (displayId != INVALID_DISPLAY) ? displayId : DEFAULT_DISPLAY;
+
         if (bindCurrentInputMethodServiceLocked(mCurIntent, this, IME_CONNECTION_BIND_FLAGS)) {
             mLastBindTime = SystemClock.uptimeMillis();
             mHaveConnection = true;
             mCurId = info.getId();
             mCurToken = new Binder();
             try {
-                if (DEBUG) Slog.v(TAG, "Adding window token: " + mCurToken);
-                mIWindowManager.addWindowToken(mCurToken, TYPE_INPUT_METHOD, DEFAULT_DISPLAY);
+                if (DEBUG) {
+                    Slog.v(TAG, "Adding window token: " + mCurToken + " for display: "
+                            + mCurTokenDisplayId);
+                }
+                mIWindowManager.addWindowToken(mCurToken, TYPE_INPUT_METHOD, mCurTokenDisplayId);
             } catch (RemoteException e) {
             }
             return new InputBindResult(
                     InputBindResult.ResultCode.SUCCESS_WAITING_IME_BINDING,
-                    null, null, mCurId, mCurSeq,
-                    mCurUserActionNotificationSequenceNumber);
+                    null, null, mCurId, mCurSeq);
         }
         mCurIntent = null;
         Slog.w(TAG, "Failure connecting to input method service: " + mCurIntent);
@@ -1965,12 +2020,13 @@
                 mCurMethod = IInputMethod.Stub.asInterface(service);
                 if (mCurToken == null) {
                     Slog.w(TAG, "Service connected without a token!");
-                    unbindCurrentMethodLocked(false);
+                    unbindCurrentMethodLocked();
                     return;
                 }
                 if (DEBUG) Slog.v(TAG, "Initiating attach with token: " + mCurToken);
-                executeOrSendMessage(mCurMethod, mCaller.obtainMessageOO(
-                        MSG_INITIALIZE_IME, mCurMethod, mCurToken));
+                // Dispatch display id for InputMethodService to update context display.
+                executeOrSendMessage(mCurMethod, mCaller.obtainMessageIOO(
+                        MSG_INITIALIZE_IME, mCurTokenDisplayId, mCurMethod, mCurToken));
                 if (mCurClient != null) {
                     clearClientSessionLocked(mCurClient);
                     requestClientSessionLocked(mCurClient);
@@ -2003,7 +2059,7 @@
         channel.dispose();
     }
 
-    void unbindCurrentMethodLocked(boolean savePosition) {
+    void unbindCurrentMethodLocked() {
         if (mVisibleBound) {
             mContext.unbindService(mVisibleConnection);
             mVisibleBound = false;
@@ -2016,15 +2072,15 @@
 
         if (mCurToken != null) {
             try {
-                if (DEBUG) Slog.v(TAG, "Removing window token: " + mCurToken);
-                if ((mImeWindowVis & InputMethodService.IME_ACTIVE) != 0 && savePosition) {
-                    // The current IME is shown. Hence an IME switch (transition) is happening.
-                    mWindowManagerInternal.saveLastInputMethodWindowForTransition();
+                if (DEBUG) {
+                    Slog.v(TAG, "Removing window token: " + mCurToken + " for display: "
+                            + mCurTokenDisplayId);
                 }
-                mIWindowManager.removeWindowToken(mCurToken, DEFAULT_DISPLAY);
+                mIWindowManager.removeWindowToken(mCurToken, mCurTokenDisplayId);
             } catch (RemoteException e) {
             }
             mCurToken = null;
+            mCurTokenDisplayId = INVALID_DISPLAY;
         }
 
         mCurId = null;
@@ -2034,7 +2090,7 @@
     void resetCurrentMethodAndClient(
             /* @InputMethodClient.UnbindReason */ final int unbindClientReason) {
         mCurMethodId = null;
-        unbindCurrentMethodLocked(false);
+        unbindCurrentMethodLocked();
         unbindCurrentClientLocked(unbindClientReason);
     }
 
@@ -2524,7 +2580,11 @@
                     // We need to check if this is the current client with
                     // focus in the window manager, to allow this call to
                     // be made before input is started in it.
-                    if (!mWindowManagerInternal.inputMethodClientHasFocus(client)) {
+                    final ClientState cs = mClients.get(client.asBinder());
+                    if (cs == null) {
+                        throw new IllegalArgumentException("unknown client " + client.asBinder());
+                    }
+                    if (!mWindowManagerInternal.isInputMethodClientFocus(cs.uid, cs.pid)) {
                         Slog.w(TAG, "Ignoring showSoftInput of uid " + uid + ": " + client);
                         return false;
                     }
@@ -2604,7 +2664,11 @@
                     // We need to check if this is the current client with
                     // focus in the window manager, to allow this call to
                     // be made before input is started in it.
-                    if (!mWindowManagerInternal.inputMethodClientHasFocus(client)) {
+                    final ClientState cs = mClients.get(client.asBinder());
+                    if (cs == null) {
+                        throw new IllegalArgumentException("unknown client " + client.asBinder());
+                    }
+                    if (!mWindowManagerInternal.isInputMethodClientFocus(cs.uid, cs.pid)) {
                         if (DEBUG) {
                             Slog.w(TAG, "Ignoring hideSoftInput of uid " + uid + ": " + client);
                         }
@@ -2722,7 +2786,7 @@
                             + client.asBinder());
                 }
 
-                if (!mWindowManagerInternal.inputMethodClientHasFocus(cs.client)) {
+                if (!mWindowManagerInternal.isInputMethodClientFocus(cs.uid, cs.pid)) {
                     // Check with the window manager to make sure this client actually
                     // has a window with focus.  If not, reject.  This is thread safe
                     // because if the focus changes some time before or after, the
@@ -2754,7 +2818,7 @@
                     }
                     return new InputBindResult(
                             InputBindResult.ResultCode.SUCCESS_REPORT_WINDOW_FOCUS_ONLY,
-                            null, null, null, -1, -1);
+                            null, null, null, -1);
                 }
                 mCurFocusedWindow = windowToken;
                 mCurFocusedWindowSoftInputMode = softInputMode;
@@ -2790,6 +2854,15 @@
                                 // soft input window if it is shown.
                                 if (DEBUG) Slog.v(TAG, "Unspecified window will hide input");
                                 hideCurrentInputLocked(InputMethodManager.HIDE_NOT_ALWAYS, null);
+
+                                // If focused display changed, we should unbind current method
+                                // to make app window in previous display relayout after Ime
+                                // window token removed.
+                                final int newFocusDisplayId =
+                                        mWindowManagerInternal.getDisplayIdForWindow(windowToken);
+                                if (newFocusDisplayId != mCurTokenDisplayId) {
+                                    unbindCurrentMethodLocked();
+                                }
                             }
                         } else if (isTextEditor && doAutoShow && (softInputMode &
                                 WindowManager.LayoutParams.SOFT_INPUT_IS_FORWARD_NAVIGATION) != 0) {
@@ -3156,33 +3229,19 @@
      */
     @Override
     public int getInputMethodWindowVisibleHeight() {
-        return mWindowManagerInternal.getInputMethodWindowVisibleHeight();
+        return mWindowManagerInternal.getInputMethodWindowVisibleHeight(mCurTokenDisplayId);
     }
 
     @BinderThread
-    private void clearLastInputMethodWindowForTransition(IBinder token) {
-        if (!calledFromValidUser()) {
-            return;
-        }
-        synchronized (mMethodMap) {
-            if (!calledWithValidToken(token)) {
-                return;
-            }
-        }
-        mWindowManagerInternal.clearLastInputMethodWindowForTransition();
-    }
-
-    @Override
-    public void notifyUserAction(int sequenceNumber) {
+    private void notifyUserAction(@NonNull IBinder token) {
         if (DEBUG) {
-            Slog.d(TAG, "Got the notification of a user action. sequenceNumber:" + sequenceNumber);
+            Slog.d(TAG, "Got the notification of a user action.");
         }
         synchronized (mMethodMap) {
-            if (mCurUserActionNotificationSequenceNumber != sequenceNumber) {
+            if (mCurToken != token) {
                 if (DEBUG) {
-                    Slog.d(TAG, "Ignoring the user action notification due to the sequence number "
-                            + "mismatch. expected:" + mCurUserActionNotificationSequenceNumber
-                            + " actual: " + sequenceNumber);
+                    Slog.d(TAG, "Ignoring the user action notification from IMEs that are no longer"
+                            + " active.");
                 }
                 return;
             }
@@ -3358,9 +3417,12 @@
             case MSG_INITIALIZE_IME:
                 args = (SomeArgs)msg.obj;
                 try {
-                    if (DEBUG) Slog.v(TAG, "Sending attach of token: " + args.arg2);
+                    if (DEBUG) {
+                        Slog.v(TAG, "Sending attach of token: " + args.arg2 + " for display: "
+                                + msg.arg1);
+                    }
                     final IBinder token = (IBinder) args.arg2;
-                    ((IInputMethod) args.arg1).initializeInternal(token,
+                    ((IInputMethod) args.arg1).initializeInternal(token, msg.arg1,
                             new InputMethodPrivilegedOperationsImpl(this, token));
                 } catch (RemoteException e) {
                 }
@@ -3445,20 +3507,6 @@
             case MSG_START_VR_INPUT:
                 startVrInputMethodNoCheck((ComponentName) msg.obj);
                 return true;
-            case MSG_SET_USER_ACTION_NOTIFICATION_SEQUENCE_NUMBER: {
-                final int sequenceNumber = msg.arg1;
-                final ClientState clientState = (ClientState)msg.obj;
-                try {
-                    clientState.client.setUserActionNotificationSequenceNumber(sequenceNumber);
-                } catch (RemoteException e) {
-                    Slog.w(TAG, "Got RemoteException sending "
-                            + "setUserActionNotificationSequenceNumber("
-                            + sequenceNumber + ") notification to pid "
-                            + clientState.pid + " uid "
-                            + clientState.uid);
-                }
-                return true;
-            }
             case MSG_REPORT_FULLSCREEN_MODE: {
                 final boolean fullscreen = msg.arg1 != 0;
                 final ClientState clientState = (ClientState)msg.obj;
@@ -3944,19 +3992,6 @@
             mSettings.saveCurrentInputMethodAndSubtypeToHistory(mCurMethodId, mCurrentSubtype);
         }
 
-        mCurUserActionNotificationSequenceNumber =
-                Math.max(mCurUserActionNotificationSequenceNumber + 1, 1);
-        if (DEBUG) {
-            Slog.d(TAG, "Bump mCurUserActionNotificationSequenceNumber:"
-                    + mCurUserActionNotificationSequenceNumber);
-        }
-
-        if (mCurClient != null && mCurClient.client != null) {
-            executeOrSendMessage(mCurClient.client, mCaller.obtainMessageIO(
-                    MSG_SET_USER_ACTION_NOTIFICATION_SEQUENCE_NUMBER,
-                    mCurUserActionNotificationSequenceNumber, mCurClient));
-        }
-
         if (isVrInput) {
             // Updates to InputMethod are transient in VR mode. Any changes to Settings are skipped.
             return;
@@ -4403,20 +4438,6 @@
         }
 
         @Override
-        public void addClient(IInputMethodClient client, IInputContext inputContext, int uid,
-                int pid) {
-            // Work around Bug 113877122: We need to handle this synchronously.  Otherwise, some
-            // IMM binder calls from the client process before we register this client.
-            mService.addClient(new ClientState(client, inputContext, uid, pid));
-        }
-
-        @Override
-        public void removeClient(IInputMethodClient client) {
-            // Handle this synchronously to be consistent with addClient().
-            mService.removeClient(client);
-        }
-
-        @Override
         public void setInteractive(boolean interactive) {
             // Do everything in handler so as not to block the caller.
             mService.mHandler.obtainMessage(MSG_SET_INTERACTIVE, interactive ? 1 : 0, 0)
@@ -4549,6 +4570,7 @@
             p.println("  mCurId=" + mCurId + " mHaveConnection=" + mHaveConnection
                     + " mBoundToMethod=" + mBoundToMethod + " mVisibleBound=" + mVisibleBound);
             p.println("  mCurToken=" + mCurToken);
+            p.println("  mCurTokenDisplayId=" + mCurTokenDisplayId);
             p.println("  mCurIntent=" + mCurIntent);
             method = mCurMethod;
             p.println("  mCurMethod=" + mCurMethod);
@@ -4558,8 +4580,6 @@
                     + " mShowForced=" + mShowForced
                     + " mInputShown=" + mInputShown);
             p.println("  mInFullscreenMode=" + mInFullscreenMode);
-            p.println("  mCurUserActionNotificationSequenceNumber="
-                    + mCurUserActionNotificationSequenceNumber);
             p.println("  mSystemReady=" + mSystemReady + " mInteractive=" + mIsInteractive);
             p.println("  mSettingsObserver=" + mSettingsObserver);
             p.println("  mSwitchingController:");
@@ -4920,7 +4940,7 @@
             try {
                 synchronized (mMethodMap) {
                     hideCurrentInputLocked(0, null);
-                    unbindCurrentMethodLocked(false);
+                    unbindCurrentMethodLocked();
                     // Reset the current IME
                     resetSelectedInputMethodAndSubtypeLocked(null);
                     // Also reset the settings of the current IME
@@ -4993,12 +5013,6 @@
 
         @BinderThread
         @Override
-        public void clearLastInputMethodWindowForTransition() {
-            mImms.clearLastInputMethodWindowForTransition(mToken);
-        }
-
-        @BinderThread
-        @Override
         public IInputContentUriToken createInputContentUriToken(Uri contentUri,
                 String packageName) {
             return mImms.createInputContentUriToken(mToken, contentUri, packageName);
@@ -5057,5 +5071,11 @@
         public boolean shouldOfferSwitchingToNextInputMethod() {
             return mImms.shouldOfferSwitchingToNextInputMethod(mToken);
         }
+
+        @BinderThread
+        @Override
+        public void notifyUserActionAsync() {
+            mImms.notifyUserAction(mToken);
+        }
     }
 }
diff --git a/core/java/com/android/internal/inputmethod/InputMethodSubtypeSwitchingController.java b/services/core/java/com/android/server/inputmethod/InputMethodSubtypeSwitchingController.java
similarity index 98%
rename from core/java/com/android/internal/inputmethod/InputMethodSubtypeSwitchingController.java
rename to services/core/java/com/android/server/inputmethod/InputMethodSubtypeSwitchingController.java
index 14ac2f6..77b2fee 100644
--- a/core/java/com/android/internal/inputmethod/InputMethodSubtypeSwitchingController.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodSubtypeSwitchingController.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.inputmethod;
+package com.android.server.inputmethod;
 
 import android.annotation.Nullable;
 import android.content.Context;
@@ -27,7 +27,7 @@
 import android.view.inputmethod.InputMethodSubtype;
 
 import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.inputmethod.InputMethodUtils.InputMethodSettings;
+import com.android.server.inputmethod.InputMethodUtils.InputMethodSettings;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -41,13 +41,11 @@
 
 /**
  * InputMethodSubtypeSwitchingController controls the switching behavior of the subtypes.
- * <p>
- * This class is designed to be used from and only from
- * {@link com.android.server.InputMethodManagerService} by using
- * {@link com.android.server.InputMethodManagerService#mMethodMap} as a global lock.
- * </p>
+ *
+ * <p>This class is designed to be used from and only from {@link InputMethodManagerService} by
+ * using {@link InputMethodManagerService#mMethodMap} as a global lock.</p>
  */
-public class InputMethodSubtypeSwitchingController {
+final class InputMethodSubtypeSwitchingController {
     private static final String TAG = InputMethodSubtypeSwitchingController.class.getSimpleName();
     private static final boolean DEBUG = false;
     private static final int NOT_A_SUBTYPE_ID = InputMethodUtils.NOT_A_SUBTYPE_ID;
diff --git a/core/java/com/android/internal/inputmethod/InputMethodUtils.java b/services/core/java/com/android/server/inputmethod/InputMethodUtils.java
similarity index 88%
rename from core/java/com/android/internal/inputmethod/InputMethodUtils.java
rename to services/core/java/com/android/server/inputmethod/InputMethodUtils.java
index 1e5b5c8..e951b27 100644
--- a/core/java/com/android/internal/inputmethod/InputMethodUtils.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodUtils.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.inputmethod;
+package com.android.server.inputmethod;
 
 import static android.view.inputmethod.InputMethodManager.CONTROL_WINDOW_IS_TEXT_EDITOR;
 import static android.view.inputmethod.InputMethodManager.CONTROL_WINDOW_VIEW_HAS_FOCUS;
@@ -53,10 +53,14 @@
 import java.util.Locale;
 
 /**
- * InputMethodManagerUtils contains some static methods that provides IME informations.
- * This methods are supposed to be used in both the framework and the Settings application.
+ * This class provides random static utility methods for {@link InputMethodManagerService} and its
+ * utility classes.
+ *
+ * <p>This class is intentionally package-private.  Utility methods here are tightly coupled with
+ * implementation details in {@link InputMethodManagerService}.  Hence this class is not suitable
+ * for other components to directly use.</p>
  */
-public class InputMethodUtils {
+final class InputMethodUtils {
     public static final boolean DEBUG = false;
     public static final int NOT_A_SUBTYPE_ID = -1;
     public static final String SUBTYPE_MODE_ANY = null;
@@ -334,32 +338,6 @@
         return getDefaultEnabledImes(context, imis, false /* onlyMinimum */);
     }
 
-    public static Locale constructLocaleFromString(String localeStr) {
-        if (TextUtils.isEmpty(localeStr)) {
-            return null;
-        }
-        // TODO: Use {@link Locale#toLanguageTag()} and {@link Locale#forLanguageTag(languageTag)}.
-        String[] localeParams = localeStr.split("_", 3);
-        if (localeParams.length >= 1 && "tl".equals(localeParams[0])) {
-             // Convert a locale whose language is "tl" to one whose language is "fil".
-             // For example, "tl_PH" will get converted to "fil_PH".
-             // Versions of Android earlier than Lollipop did not support three letter language
-             // codes, and used "tl" (Tagalog) as the language string for "fil" (Filipino).
-             // On Lollipop and above, the current three letter version must be used.
-             localeParams[0] = "fil";
-        }
-        // The length of localeStr is guaranteed to always return a 1 <= value <= 3
-        // because localeStr is not empty.
-        if (localeParams.length == 1) {
-            return new Locale(localeParams[0]);
-        } else if (localeParams.length == 2) {
-            return new Locale(localeParams[0], localeParams[1]);
-        } else if (localeParams.length == 3) {
-            return new Locale(localeParams[0], localeParams[1], localeParams[2]);
-        }
-        return null;
-    }
-
     public static boolean containsSubtypeOf(final InputMethodInfo imi,
             @Nullable final Locale locale, final boolean checkCountry, final String mode) {
         if (locale == null) {
@@ -1320,133 +1298,6 @@
         }
     }
 
-    // For spell checker service manager.
-    // TODO: Should we have TextServicesUtils.java?
-    private static final Locale LOCALE_EN_US = new Locale("en", "US");
-    private static final Locale LOCALE_EN_GB = new Locale("en", "GB");
-
-    /**
-     * Returns a list of {@link Locale} in the order of appropriateness for the default spell
-     * checker service.
-     *
-     * <p>If the system language is English, and the region is also explicitly specified in the
-     * system locale, the following fallback order will be applied.</p>
-     * <ul>
-     * <li>(system-locale-language, system-locale-region, system-locale-variant) (if exists)</li>
-     * <li>(system-locale-language, system-locale-region)</li>
-     * <li>("en", "US")</li>
-     * <li>("en", "GB")</li>
-     * <li>("en")</li>
-     * </ul>
-     *
-     * <p>If the system language is English, but no region is specified in the system locale,
-     * the following fallback order will be applied.</p>
-     * <ul>
-     * <li>("en")</li>
-     * <li>("en", "US")</li>
-     * <li>("en", "GB")</li>
-     * </ul>
-     *
-     * <p>If the system language is not English, the following fallback order will be applied.</p>
-     * <ul>
-     * <li>(system-locale-language, system-locale-region, system-locale-variant) (if exists)</li>
-     * <li>(system-locale-language, system-locale-region) (if exists)</li>
-     * <li>(system-locale-language) (if exists)</li>
-     * <li>("en", "US")</li>
-     * <li>("en", "GB")</li>
-     * <li>("en")</li>
-     * </ul>
-     *
-     * @param systemLocale the current system locale to be taken into consideration.
-     * @return a list of {@link Locale}. The first one is considered to be most appropriate.
-     */
-    @VisibleForTesting
-    public static ArrayList<Locale> getSuitableLocalesForSpellChecker(
-            @Nullable final Locale systemLocale) {
-        final Locale systemLocaleLanguageCountryVariant;
-        final Locale systemLocaleLanguageCountry;
-        final Locale systemLocaleLanguage;
-        if (systemLocale != null) {
-            final String language = systemLocale.getLanguage();
-            final boolean hasLanguage = !TextUtils.isEmpty(language);
-            final String country = systemLocale.getCountry();
-            final boolean hasCountry = !TextUtils.isEmpty(country);
-            final String variant = systemLocale.getVariant();
-            final boolean hasVariant = !TextUtils.isEmpty(variant);
-            if (hasLanguage && hasCountry && hasVariant) {
-                systemLocaleLanguageCountryVariant = new Locale(language, country, variant);
-            } else {
-                systemLocaleLanguageCountryVariant = null;
-            }
-            if (hasLanguage && hasCountry) {
-                systemLocaleLanguageCountry = new Locale(language, country);
-            } else {
-                systemLocaleLanguageCountry = null;
-            }
-            if (hasLanguage) {
-                systemLocaleLanguage = new Locale(language);
-            } else {
-                systemLocaleLanguage = null;
-            }
-        } else {
-            systemLocaleLanguageCountryVariant = null;
-            systemLocaleLanguageCountry = null;
-            systemLocaleLanguage = null;
-        }
-
-        final ArrayList<Locale> locales = new ArrayList<>();
-        if (systemLocaleLanguageCountryVariant != null) {
-            locales.add(systemLocaleLanguageCountryVariant);
-        }
-
-        if (Locale.ENGLISH.equals(systemLocaleLanguage)) {
-            if (systemLocaleLanguageCountry != null) {
-                // If the system language is English, and the region is also explicitly specified,
-                // following fallback order will be applied.
-                // - systemLocaleLanguageCountry [if systemLocaleLanguageCountry is non-null]
-                // - en_US [if systemLocaleLanguageCountry is non-null and not en_US]
-                // - en_GB [if systemLocaleLanguageCountry is non-null and not en_GB]
-                // - en
-                if (systemLocaleLanguageCountry != null) {
-                    locales.add(systemLocaleLanguageCountry);
-                }
-                if (!LOCALE_EN_US.equals(systemLocaleLanguageCountry)) {
-                    locales.add(LOCALE_EN_US);
-                }
-                if (!LOCALE_EN_GB.equals(systemLocaleLanguageCountry)) {
-                    locales.add(LOCALE_EN_GB);
-                }
-                locales.add(Locale.ENGLISH);
-            } else {
-                // If the system language is English, but no region is specified, following
-                // fallback order will be applied.
-                // - en
-                // - en_US
-                // - en_GB
-                locales.add(Locale.ENGLISH);
-                locales.add(LOCALE_EN_US);
-                locales.add(LOCALE_EN_GB);
-            }
-        } else {
-            // If the system language is not English, the fallback order will be
-            // - systemLocaleLanguageCountry  [if non-null]
-            // - systemLocaleLanguage  [if non-null]
-            // - en_US
-            // - en_GB
-            // - en
-            if (systemLocaleLanguageCountry != null) {
-                locales.add(systemLocaleLanguageCountry);
-            }
-            if (systemLocaleLanguage != null) {
-                locales.add(systemLocaleLanguage);
-            }
-            locales.add(LOCALE_EN_US);
-            locales.add(LOCALE_EN_GB);
-            locales.add(Locale.ENGLISH);
-        }
-        return locales;
-    }
-
     public static boolean isSoftInputModeStateVisibleAllowed(
             int targetSdkVersion, int controlFlags) {
         if (targetSdkVersion < Build.VERSION_CODES.P) {
diff --git a/core/java/com/android/internal/inputmethod/LocaleUtils.java b/services/core/java/com/android/server/inputmethod/LocaleUtils.java
similarity index 97%
rename from core/java/com/android/internal/inputmethod/LocaleUtils.java
rename to services/core/java/com/android/server/inputmethod/LocaleUtils.java
index eeb3854..4958ece 100644
--- a/core/java/com/android/internal/inputmethod/LocaleUtils.java
+++ b/services/core/java/com/android/server/inputmethod/LocaleUtils.java
@@ -14,9 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.inputmethod;
-
-import com.android.internal.annotations.VisibleForTesting;
+package com.android.server.inputmethod;
 
 import android.annotation.IntRange;
 import android.annotation.NonNull;
@@ -31,9 +29,7 @@
 import java.util.List;
 import java.util.Locale;
 
-public final class LocaleUtils {
-
-    @VisibleForTesting
+final class LocaleUtils {
     public interface LocaleExtractor<T> {
         @Nullable
         Locale get(@Nullable T source);
@@ -149,7 +145,6 @@
      * @param dest Destination into which the filtered items will be added.
      * @param <T> Type of the data items.
      */
-    @VisibleForTesting
     public static <T> void filterByLanguage(
             @NonNull List<T> sources,
             @NonNull LocaleExtractor<T> extractor,
diff --git a/services/core/java/com/android/server/net/NetworkPolicyLogger.java b/services/core/java/com/android/server/net/NetworkPolicyLogger.java
index b4bc7f5..452b699 100644
--- a/services/core/java/com/android/server/net/NetworkPolicyLogger.java
+++ b/services/core/java/com/android/server/net/NetworkPolicyLogger.java
@@ -46,9 +46,9 @@
     static final boolean LOGV = Log.isLoggable(TAG, Log.VERBOSE);
 
     private static final int MAX_LOG_SIZE =
-            ActivityManager.isLowRamDeviceStatic() ? 20 : 50;
+            ActivityManager.isLowRamDeviceStatic() ? 100 : 400;
     private static final int MAX_NETWORK_BLOCKED_LOG_SIZE =
-            ActivityManager.isLowRamDeviceStatic() ? 50 : 100;
+            ActivityManager.isLowRamDeviceStatic() ? 100 : 400;
 
     private static final int EVENT_TYPE_GENERIC = 0;
     private static final int EVENT_NETWORK_BLOCKED = 1;
diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
index 76f9695..48e09d7 100644
--- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
+++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
@@ -796,7 +796,7 @@
             try {
                 mActivityManager.registerUidObserver(mUidObserver,
                         ActivityManager.UID_OBSERVER_PROCSTATE|ActivityManager.UID_OBSERVER_GONE,
-                        ActivityManager.PROCESS_STATE_UNKNOWN, null);
+                        NetworkPolicyManager.FOREGROUND_THRESHOLD_STATE, "android");
                 mNetworkManager.registerObserver(mAlertObserver);
             } catch (RemoteException e) {
                 // ignored; both services live in system_server
diff --git a/services/core/java/com/android/server/notification/ManagedServices.java b/services/core/java/com/android/server/notification/ManagedServices.java
index 340ae0a..d326c22 100644
--- a/services/core/java/com/android/server/notification/ManagedServices.java
+++ b/services/core/java/com/android/server/notification/ManagedServices.java
@@ -20,6 +20,7 @@
 import static android.content.Context.BIND_AUTO_CREATE;
 import static android.content.Context.BIND_FOREGROUND_SERVICE;
 import static android.content.Context.DEVICE_POLICY_SERVICE;
+import static android.os.UserHandle.USER_ALL;
 
 import android.annotation.NonNull;
 import android.app.ActivityManager;
@@ -53,12 +54,15 @@
 import android.text.TextUtils;
 import android.util.ArrayMap;
 import android.util.ArraySet;
+import android.util.IntArray;
 import android.util.Log;
 import android.util.Pair;
 import android.util.Slog;
 import android.util.SparseArray;
 import android.util.proto.ProtoOutputStream;
 
+import com.android.internal.annotations.GuardedBy;
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.util.XmlUtils;
 import com.android.server.notification.NotificationManagerService.DumpFilter;
 
@@ -72,6 +76,7 @@
 import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Objects;
 import java.util.Set;
 import java.util.function.Predicate;
 
@@ -138,10 +143,6 @@
     // not mean that we are currently bound to said package/component.
     private ArrayMap<Integer, ArrayMap<Boolean, ArraySet<String>>> mApproved = new ArrayMap<>();
 
-    // Kept to de-dupe user change events (experienced after boot, when we receive a settings and a
-    // user change).
-    private int[] mLastSeenProfileIds;
-
     // True if approved services are stored in xml, not settings.
     private boolean mUseXml;
 
@@ -178,6 +179,10 @@
         }
     }
 
+    protected int getBindFlags() {
+        return BIND_AUTO_CREATE | BIND_FOREGROUND_SERVICE | BIND_ALLOW_WHITELIST_MANAGEMENT;
+    }
+
     protected void onServiceRemovedLocked(ManagedServiceInfo removed) { }
 
     private ManagedServiceInfo newServiceInfo(IInterface service,
@@ -296,7 +301,7 @@
                 Settings.Secure.putStringForUser(
                         mContext.getContentResolver(), element, value, userId);
                 loadAllowedComponentsFromSettings();
-                rebindServices(false);
+                rebindServices(false, userId);
             }
         }
     }
@@ -381,7 +386,7 @@
                 }
             }
         }
-        rebindServices(false);
+        rebindServices(false, USER_ALL);
     }
 
     protected void upgradeXml(final int xmlVersion, final int userId) {}
@@ -456,7 +461,7 @@
             }
         }
 
-        rebindServices(false);
+        rebindServices(false, userId);
     }
 
     private String getApprovedValue(String pkgOrComponent) {
@@ -574,7 +579,7 @@
 
             if (anyServicesInvolved) {
                 // make sure we're still bound to any of our services who may have just upgraded
-                rebindServices(false);
+                rebindServices(false, USER_ALL);
             }
         }
     }
@@ -582,21 +587,17 @@
     public void onUserRemoved(int user) {
         Slog.i(TAG, "Removing approved services for removed user " + user);
         mApproved.remove(user);
-        rebindServices(true);
+        rebindServices(true, user);
     }
 
     public void onUserSwitched(int user) {
         if (DEBUG) Slog.d(TAG, "onUserSwitched u=" + user);
-        if (Arrays.equals(mLastSeenProfileIds, mUserProfiles.getCurrentProfileIds())) {
-            if (DEBUG) Slog.d(TAG, "Current profile IDs didn't change, skipping rebindServices().");
-            return;
-        }
-        rebindServices(true);
+        rebindServices(true, user);
     }
 
     public void onUserUnlocked(int user) {
         if (DEBUG) Slog.d(TAG, "onUserUnlocked u=" + user);
-        rebindServices(false);
+        rebindServices(false, user);
     }
 
     private ManagedServiceInfo getServiceFromTokenLocked(IInterface service) {
@@ -690,11 +691,13 @@
                 component.flattenToShortString());
 
         synchronized (mMutex) {
-            final int[] userIds = mUserProfiles.getCurrentProfileIds();
+            final IntArray userIds = mUserProfiles.getCurrentProfileIds();
 
-            for (int userId : userIds) {
+            for (int i = 0; i < userIds.size(); i++) {
+                final int userId = userIds.get(i);
                 if (enabled) {
-                    if (isPackageOrComponentAllowed(component.toString(), userId)) {
+                    if (isPackageOrComponentAllowed(component.toString(), userId)
+                            || isPackageOrComponentAllowed(component.getPackageName(), userId)) {
                         registerServiceLocked(component, userId);
                     } else {
                         Slog.d(TAG, component + " no longer has permission to be bound");
@@ -833,20 +836,14 @@
         return false;
     }
 
-    /**
-     * Called whenever packages change, the user switches, or the secure setting
-     * is altered. (For example in response to USER_SWITCHED in our broadcast receiver)
-     */
-    protected void rebindServices(boolean forceRebind) {
-        if (DEBUG) Slog.d(TAG, "rebindServices");
-        final int[] userIds = mUserProfiles.getCurrentProfileIds();
-        final int nUserIds = userIds.length;
-
+    @VisibleForTesting
+    protected SparseArray<ArraySet<ComponentName>> getAllowedComponents(IntArray userIds) {
+        final int nUserIds = userIds.size();
         final SparseArray<ArraySet<ComponentName>> componentsByUser = new SparseArray<>();
 
         for (int i = 0; i < nUserIds; ++i) {
-            final int userId = userIds[i];
-            final ArrayMap<Boolean, ArraySet<String>> approvedLists = mApproved.get(userIds[i]);
+            final int userId = userIds.get(i);
+            final ArrayMap<Boolean, ArraySet<String>> approvedLists = mApproved.get(userId);
             if (approvedLists != null) {
                 final int N = approvedLists.size();
                 for (int j = 0; j < N; j++) {
@@ -860,67 +857,125 @@
                 }
             }
         }
+        return componentsByUser;
+    }
 
-        final ArrayList<ManagedServiceInfo> removableBoundServices = new ArrayList<>();
-        final SparseArray<Set<ComponentName>> toAdd = new SparseArray<>();
-
-        synchronized (mMutex) {
-            // Rebind to non-system services if user switched
-            for (ManagedServiceInfo service : mServices) {
-                if (!service.isSystem && !service.isGuest(this)) {
-                    removableBoundServices.add(service);
-                }
-            }
-
-            mEnabledServicesForCurrentProfiles.clear();
-            mEnabledServicesPackageNames.clear();
-
-            for (int i = 0; i < nUserIds; ++i) {
-                // decode the list of components
-                final ArraySet<ComponentName> userComponents = componentsByUser.get(userIds[i]);
-                if (null == userComponents) {
-                    toAdd.put(userIds[i], new ArraySet<>());
-                    continue;
-                }
-
-                final Set<ComponentName> add = new HashSet<>(userComponents);
-                add.removeAll(mSnoozingForCurrentProfiles);
-
-                toAdd.put(userIds[i], add);
-
-                mEnabledServicesForCurrentProfiles.addAll(userComponents);
-
-                for (int j = 0; j < userComponents.size(); j++) {
-                    final ComponentName component = userComponents.valueAt(j);
-                    mEnabledServicesPackageNames.add(component.getPackageName());
-                }
-            }
-        }
-
-        for (ManagedServiceInfo info : removableBoundServices) {
-            final ComponentName component = info.component;
-            final int oldUser = info.userid;
-            final Set<ComponentName> allowedComponents = toAdd.get(info.userid);
-            if (allowedComponents != null) {
-                if (allowedComponents.contains(component) && !forceRebind) {
-                    // Already bound, don't need to bind again.
-                    allowedComponents.remove(component);
-                } else {
-                    // No longer allowed to be bound, or must rebind.
-                    Slog.v(TAG, "disabling " + getCaption() + " for user "
-                            + oldUser + ": " + component);
-                    unregisterService(component, oldUser);
-                }
-            }
-        }
+    @GuardedBy("mMutex")
+    protected void populateComponentsToBind(SparseArray<Set<ComponentName>> componentsToBind,
+            final IntArray activeUsers,
+            SparseArray<ArraySet<ComponentName>> approvedComponentsByUser) {
+        mEnabledServicesForCurrentProfiles.clear();
+        mEnabledServicesPackageNames.clear();
+        final int nUserIds = activeUsers.size();
 
         for (int i = 0; i < nUserIds; ++i) {
-            final Set<ComponentName> add = toAdd.get(userIds[i]);
+            // decode the list of components
+            final int userId = activeUsers.get(i);
+            final ArraySet<ComponentName> userComponents = approvedComponentsByUser.get(userId);
+            if (null == userComponents) {
+                componentsToBind.put(userId, new ArraySet<>());
+                continue;
+            }
+
+            final Set<ComponentName> add = new HashSet<>(userComponents);
+            add.removeAll(mSnoozingForCurrentProfiles);
+
+            componentsToBind.put(userId, add);
+
+            mEnabledServicesForCurrentProfiles.addAll(userComponents);
+
+            for (int j = 0; j < userComponents.size(); j++) {
+                final ComponentName component = userComponents.valueAt(j);
+                mEnabledServicesPackageNames.add(component.getPackageName());
+            }
+        }
+    }
+
+    @GuardedBy("mMutex")
+    protected Set<ManagedServiceInfo> getRemovableConnectedServices() {
+        final Set<ManagedServiceInfo> removableBoundServices = new ArraySet<>();
+        for (ManagedServiceInfo service : mServices) {
+            if (!service.isSystem && !service.isGuest(this)) {
+                removableBoundServices.add(service);
+            }
+        }
+        return removableBoundServices;
+    }
+
+    protected void populateComponentsToUnbind(
+            boolean forceRebind,
+            Set<ManagedServiceInfo> removableBoundServices,
+            SparseArray<Set<ComponentName>> allowedComponentsToBind,
+            SparseArray<Set<ComponentName>> componentsToUnbind) {
+        for (ManagedServiceInfo info : removableBoundServices) {
+            final Set<ComponentName> allowedComponents = allowedComponentsToBind.get(info.userid);
+            if (allowedComponents != null) {
+                if (forceRebind || !allowedComponents.contains(info.component)) {
+                    Set<ComponentName> toUnbind =
+                            componentsToUnbind.get(info.userid, new ArraySet<>());
+                    toUnbind.add(info.component);
+                    componentsToUnbind.put(info.userid, toUnbind);
+                }
+            }
+        }
+    }
+
+    /**
+     * Called whenever packages change, the user switches, or the secure setting
+     * is altered. (For example in response to USER_SWITCHED in our broadcast receiver)
+     */
+    protected void rebindServices(boolean forceRebind, int userToRebind) {
+        if (DEBUG) Slog.d(TAG, "rebindServices " + forceRebind + " " + userToRebind);
+        IntArray userIds = mUserProfiles.getCurrentProfileIds();
+        if (userToRebind != USER_ALL) {
+            userIds = new IntArray(1);
+            userIds.add(userToRebind);
+        }
+
+        final SparseArray<Set<ComponentName>> componentsToBind = new SparseArray<>();
+        final SparseArray<Set<ComponentName>> componentsToUnbind = new SparseArray<>();
+
+        synchronized (mMutex) {
+            final SparseArray<ArraySet<ComponentName>> approvedComponentsByUser =
+                    getAllowedComponents(userIds);
+            final Set<ManagedServiceInfo> removableBoundServices = getRemovableConnectedServices();
+
+            // Filter approvedComponentsByUser to collect all of the components that are allowed
+            // for the currently active user(s).
+            populateComponentsToBind(componentsToBind, userIds, approvedComponentsByUser);
+
+            // For every current non-system connection, disconnect services that are no longer
+            // approved, or ALL services if we are force rebinding
+            populateComponentsToUnbind(
+                    forceRebind, removableBoundServices, componentsToBind, componentsToUnbind);
+        }
+
+        unbindFromServices(componentsToUnbind);
+        bindToServices(componentsToBind);
+    }
+
+    protected void unbindFromServices(SparseArray<Set<ComponentName>> componentsToUnbind) {
+        for (int i = 0; i < componentsToUnbind.size(); i++) {
+            final int userId = componentsToUnbind.keyAt(i);
+            final Set<ComponentName> removableComponents = componentsToUnbind.get(userId);
+            for (ComponentName cn : removableComponents) {
+                // No longer allowed to be bound, or must rebind.
+                Slog.v(TAG, "disabling " + getCaption() + " for user " + userId + ": " + cn);
+                unregisterService(cn, userId);
+            }
+        }
+    }
+
+    // Attempt to bind to services, skipping those that cannot be found or lack the permission.
+    private void bindToServices(SparseArray<Set<ComponentName>> componentsToBind) {
+        for (int i = 0; i < componentsToBind.size(); i++) {
+            final int userId = componentsToBind.keyAt(i);
+            final Set<ComponentName> add = componentsToBind.get(userId);
             for (ComponentName component : add) {
                 try {
                     ServiceInfo info = mPm.getServiceInfo(component,
                             PackageManager.MATCH_DIRECT_BOOT_AWARE
-                                    | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, userIds[i]);
+                                    | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, userId);
                     if (info == null) {
                         Slog.w(TAG, "Not binding " + getCaption() + " service " + component
                                 + ": service not found");
@@ -932,15 +987,13 @@
                         continue;
                     }
                     Slog.v(TAG,
-                            "enabling " + getCaption() + " for " + userIds[i] + ": " + component);
-                    registerService(component, userIds[i]);
+                            "enabling " + getCaption() + " for " + userId + ": " + component);
+                    registerService(component, userId);
                 } catch (RemoteException e) {
                     e.rethrowFromSystemServer();
                 }
             }
         }
-
-        mLastSeenProfileIds = userIds;
     }
 
     /**
@@ -1017,7 +1070,7 @@
 
                 @Override
                 public void onServiceConnected(ComponentName name, IBinder binder) {
-                    Slog.v(TAG, getCaption() + " service connected: " + name);
+                    Slog.v(TAG,  userid + " " + getCaption() + " service connected: " + name);
                     boolean added = false;
                     ManagedServiceInfo info = null;
                     synchronized (mMutex) {
@@ -1039,12 +1092,12 @@
 
                 @Override
                 public void onServiceDisconnected(ComponentName name) {
-                    Slog.v(TAG, getCaption() + " connection lost: " + name);
+                    Slog.v(TAG, userid + " " + getCaption() + " connection lost: " + name);
                 }
 
                 @Override
                 public void onBindingDied(ComponentName name) {
-                    Slog.w(TAG, getCaption() + " binding died: " + name);
+                    Slog.w(TAG,  userid + " " + getCaption() + " binding died: " + name);
                     synchronized (mMutex) {
                         unbindService(this, name, userid);
                         if (!mServicesRebinding.contains(servicesBindingTag)) {
@@ -1056,18 +1109,19 @@
                                     }
                                }, ON_BINDING_DIED_REBIND_DELAY_MS);
                         } else {
-                            Slog.v(TAG, getCaption() + " not rebinding as "
-                                    + "a previous rebind attempt was made: " + name);
+                            Slog.v(TAG, getCaption() + " not rebinding in user " + userid
+                                    + " as a previous rebind attempt was made: " + name);
                         }
                     }
                 }
             };
             if (!mContext.bindServiceAsUser(intent,
-                serviceConnection,
-                BIND_AUTO_CREATE | BIND_FOREGROUND_SERVICE | BIND_ALLOW_WHITELIST_MANAGEMENT,
-                new UserHandle(userid))) {
+                    serviceConnection,
+                    getBindFlags(),
+                    new UserHandle(userid))) {
                 mServicesBound.remove(servicesBindingTag);
-                Slog.w(TAG, "Unable to bind " + getCaption() + " service: " + intent);
+                Slog.w(TAG, "Unable to bind " + getCaption() + " service: " + intent
+                        + " in user " + userid);
                 return;
             }
         } catch (SecurityException ex) {
@@ -1231,9 +1285,9 @@
             if (!isEnabledForCurrentProfiles()) {
                 return false;
             }
-            if (this.userid == UserHandle.USER_ALL) return true;
+            if (this.userid == USER_ALL) return true;
             if (this.isSystem) return true;
-            if (nid == UserHandle.USER_ALL || nid == this.userid) return true;
+            if (nid == USER_ALL || nid == this.userid) return true;
             return supportsProfiles()
                     && mUserProfiles.isCurrentProfile(nid)
                     && isPermittedForProfile(nid);
@@ -1279,6 +1333,24 @@
                 Binder.restoreCallingIdentity(identity);
             }
         }
+
+        @Override
+        public boolean equals(Object o) {
+            if (this == o) return true;
+            if (o == null || getClass() != o.getClass()) return false;
+            ManagedServiceInfo that = (ManagedServiceInfo) o;
+            return userid == that.userid
+                    && isSystem == that.isSystem
+                    && targetSdkVersion == that.targetSdkVersion
+                    && Objects.equals(service, that.service)
+                    && Objects.equals(component, that.component)
+                    && Objects.equals(connection, that.connection);
+        }
+
+        @Override
+        public int hashCode() {
+            return Objects.hash(service, component, userid, isSystem, connection, targetSdkVersion);
+        }
     }
 
     /** convenience method for looking in mEnabledServicesForCurrentProfiles */
@@ -1304,12 +1376,15 @@
             }
         }
 
-        public int[] getCurrentProfileIds() {
+        /**
+         * Returns the currently active users (generally one user and its work profile).
+         */
+        public IntArray getCurrentProfileIds() {
             synchronized (mCurrentProfiles) {
-                int[] users = new int[mCurrentProfiles.size()];
+                IntArray users = new IntArray(mCurrentProfiles.size());
                 final int N = mCurrentProfiles.size();
                 for (int i = 0; i < N; ++i) {
-                    users[i] = mCurrentProfiles.keyAt(i);
+                    users.add(mCurrentProfiles.keyAt(i));
                 }
                 return users;
             }
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index 03b7652..9381fa2 100644
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -33,6 +33,10 @@
 import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_OFF;
 import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_ON;
 import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_STATUS_BAR;
+import static android.content.Context.BIND_ADJUST_BELOW_PERCEPTIBLE;
+import static android.content.Context.BIND_ALLOW_WHITELIST_MANAGEMENT;
+import static android.content.Context.BIND_AUTO_CREATE;
+import static android.content.Context.BIND_FOREGROUND_SERVICE;
 import static android.content.pm.PackageManager.FEATURE_LEANBACK;
 import static android.content.pm.PackageManager.FEATURE_TELEVISION;
 import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE;
@@ -174,6 +178,7 @@
 import android.util.ArrayMap;
 import android.util.ArraySet;
 import android.util.AtomicFile;
+import android.util.IntArray;
 import android.util.Log;
 import android.util.Slog;
 import android.util.SparseArray;
@@ -345,7 +350,7 @@
     private String mSoundNotificationKey;
     private String mVibrateNotificationKey;
 
-    private final SparseArray<ArraySet<ManagedServiceInfo>> mListenersDisablingEffects =
+    private final SparseArray<ArraySet<ComponentName>> mListenersDisablingEffects =
             new SparseArray<>();
     private List<ComponentName> mEffectsSuppressors = new ArrayList<>();
     private int mListenerHints;  // right now, all hints are global
@@ -1147,15 +1152,18 @@
                 // turn off LED when user passes through lock screen
                 mNotificationLight.turnOff();
             } else if (action.equals(Intent.ACTION_USER_SWITCHED)) {
-                final int user = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, USER_NULL);
-                // reload per-user settings
-                mSettingsObserver.update(null);
+                final int userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, USER_NULL);
                 mUserProfiles.updateCache(context);
-                // Refresh managed services
-                mConditionProviders.onUserSwitched(user);
-                mListeners.onUserSwitched(user);
-                mAssistants.onUserSwitched(user);
-                mZenModeHelper.onUserSwitched(user);
+                if (!mUserProfiles.isManagedProfile(userId)) {
+                    // reload per-user settings
+                    mSettingsObserver.update(null);
+                    // Refresh managed services
+                    mConditionProviders.onUserSwitched(userId);
+                    mListeners.onUserSwitched(userId);
+                    mZenModeHelper.onUserSwitched(userId);
+                }
+                // assistant is the only thing that cares about managed profiles specifically
+                mAssistants.onUserSwitched(userId);
             } else if (action.equals(Intent.ACTION_USER_ADDED)) {
                 final int userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, USER_NULL);
                 if (userId != USER_NULL) {
@@ -1165,20 +1173,23 @@
                     }
                 }
             } else if (action.equals(Intent.ACTION_USER_REMOVED)) {
-                final int user = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, USER_NULL);
+                final int userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, USER_NULL);
                 mUserProfiles.updateCache(context);
-                mZenModeHelper.onUserRemoved(user);
-                mPreferencesHelper.onUserRemoved(user);
-                mListeners.onUserRemoved(user);
-                mConditionProviders.onUserRemoved(user);
-                mAssistants.onUserRemoved(user);
+                mZenModeHelper.onUserRemoved(userId);
+                mPreferencesHelper.onUserRemoved(userId);
+                mListeners.onUserRemoved(userId);
+                mConditionProviders.onUserRemoved(userId);
+                mAssistants.onUserRemoved(userId);
                 savePolicyFile();
             } else if (action.equals(Intent.ACTION_USER_UNLOCKED)) {
-                final int user = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, USER_NULL);
-                mConditionProviders.onUserUnlocked(user);
-                mListeners.onUserUnlocked(user);
-                mAssistants.onUserUnlocked(user);
-                mZenModeHelper.onUserUnlocked(user);
+                final int userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, USER_NULL);
+                mUserProfiles.updateCache(context);
+                mAssistants.onUserUnlocked(userId);
+                if (!mUserProfiles.isManagedProfile(userId)) {
+                    mConditionProviders.onUserUnlocked(userId);
+                    mListeners.onUserUnlocked(userId);
+                    mZenModeHelper.onUserUnlocked(userId);
+                }
             }
         }
     };
@@ -1562,7 +1573,7 @@
         filter.addAction(Intent.ACTION_USER_REMOVED);
         filter.addAction(Intent.ACTION_USER_UNLOCKED);
         filter.addAction(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE);
-        getContext().registerReceiver(mIntentReceiver, filter);
+        getContext().registerReceiverAsUser(mIntentReceiver, UserHandle.ALL, filter, null, null);
 
         IntentFilter pkgFilter = new IntentFilter();
         pkgFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
@@ -1694,10 +1705,10 @@
                     UserHandle.getUserId(uid), REASON_CHANNEL_BANNED,
                     null);
             if (isUidSystemOrPhone(uid)) {
-                int[] profileIds = mUserProfiles.getCurrentProfileIds();
-                int N = profileIds.length;
+                IntArray profileIds = mUserProfiles.getCurrentProfileIds();
+                int N = profileIds.size();
                 for (int i = 0; i < N; i++) {
-                    int profileId = profileIds[i];
+                    int profileId = profileIds.get(i);
                     cancelAllNotificationsInt(MY_UID, MY_PID, pkg, channel.getId(), 0, 0, true,
                             profileId, REASON_CHANNEL_BANNED,
                             null);
@@ -1784,10 +1795,10 @@
     private ArrayList<ComponentName> getSuppressors() {
         ArrayList<ComponentName> names = new ArrayList<ComponentName>();
         for (int i = mListenersDisablingEffects.size() - 1; i >= 0; --i) {
-            ArraySet<ManagedServiceInfo> serviceInfoList = mListenersDisablingEffects.valueAt(i);
+            ArraySet<ComponentName> serviceInfoList = mListenersDisablingEffects.valueAt(i);
 
-            for (ManagedServiceInfo info : serviceInfoList) {
-                names.add(info.component);
+            for (ComponentName info : serviceInfoList) {
+                names.add(info);
             }
         }
 
@@ -1803,11 +1814,10 @@
 
         for (int i = mListenersDisablingEffects.size() - 1; i >= 0; --i) {
             final int hint = mListenersDisablingEffects.keyAt(i);
-            final ArraySet<ManagedServiceInfo> listeners =
-                    mListenersDisablingEffects.valueAt(i);
+            final ArraySet<ComponentName> listeners = mListenersDisablingEffects.valueAt(i);
 
             if (hints == 0 || (hint & hints) == hint) {
-                removed = removed || listeners.remove(info);
+                removed |= listeners.remove(info.component);
             }
         }
 
@@ -1830,18 +1840,18 @@
 
     private void addDisabledHint(ManagedServiceInfo info, int hint) {
         if (mListenersDisablingEffects.indexOfKey(hint) < 0) {
-            mListenersDisablingEffects.put(hint, new ArraySet<ManagedServiceInfo>());
+            mListenersDisablingEffects.put(hint, new ArraySet<>());
         }
 
-        ArraySet<ManagedServiceInfo> hintListeners = mListenersDisablingEffects.get(hint);
-        hintListeners.add(info);
+        ArraySet<ComponentName> hintListeners = mListenersDisablingEffects.get(hint);
+        hintListeners.add(info.component);
     }
 
     private int calculateHints() {
         int hints = 0;
         for (int i = mListenersDisablingEffects.size() - 1; i >= 0; --i) {
             int hint = mListenersDisablingEffects.keyAt(i);
-            ArraySet<ManagedServiceInfo> serviceInfoList = mListenersDisablingEffects.valueAt(i);
+            ArraySet<ComponentName> serviceInfoList = mListenersDisablingEffects.valueAt(i);
 
             if (!serviceInfoList.isEmpty()) {
                 hints |= hint;
@@ -2387,7 +2397,7 @@
                 String pkg) {
             checkCallerIsSystemOrSameApp(pkg);
             return mPreferencesHelper.getNotificationChannelGroups(
-                    pkg, Binder.getCallingUid(), false, false);
+                    pkg, Binder.getCallingUid(), false, false, true);
         }
 
         @Override
@@ -2463,7 +2473,8 @@
         public ParceledListSlice<NotificationChannelGroup> getNotificationChannelGroupsForPackage(
                 String pkg, int uid, boolean includeDeleted) {
             checkCallerIsSystem();
-            return mPreferencesHelper.getNotificationChannelGroups(pkg, uid, includeDeleted, true);
+            return mPreferencesHelper.getNotificationChannelGroups(
+                    pkg, uid, includeDeleted, true, false);
         }
 
         @Override
@@ -2955,6 +2966,21 @@
         }
 
         @Override
+        public void clearRequestedListenerHints(INotificationListener token) {
+            final long identity = Binder.clearCallingIdentity();
+            try {
+                synchronized (mNotificationLock) {
+                    final ManagedServiceInfo info = mListeners.checkServiceTokenLocked(token);
+                    removeDisabledHints(info);
+                    updateListenerHintsLocked();
+                    updateEffectsSuppressorLocked();
+                }
+            } finally {
+                Binder.restoreCallingIdentity(identity);
+            }
+        }
+
+        @Override
         public void requestHintsFromListener(INotificationListener token, int hints) {
             final long identity = Binder.clearCallingIdentity();
             try {
@@ -3860,11 +3886,12 @@
 
                 proto.write(
                     ListenersDisablingEffectsProto.HINT, mListenersDisablingEffects.keyAt(i));
-                final ArraySet<ManagedServiceInfo> listeners =
+                final ArraySet<ComponentName> listeners =
                     mListenersDisablingEffects.valueAt(i);
                 for (int j = 0; j < listeners.size(); j++) {
-                    final ManagedServiceInfo listener = listeners.valueAt(i);
-                    listener.writeToProto(proto, ListenersDisablingEffectsProto.LISTENERS, null);
+                    final ComponentName componentName = listeners.valueAt(i);
+                    componentName.writeToProto(proto,
+                            ListenersDisablingEffectsProto.LISTENER_COMPONENTS);
                 }
 
                 proto.end(effectsToken);
@@ -4003,15 +4030,14 @@
                     if (i > 0) pw.print(';');
                     pw.print("hint[" + hint + "]:");
 
-                    final ArraySet<ManagedServiceInfo> listeners =
-                            mListenersDisablingEffects.valueAt(i);
+                    final ArraySet<ComponentName> listeners = mListenersDisablingEffects.valueAt(i);
                     final int listenerSize = listeners.size();
 
                     for (int j = 0; j < listenerSize; j++) {
                         if (i > 0) pw.print(',');
-                        final ManagedServiceInfo listener = listeners.valueAt(i);
+                        final ComponentName listener = listeners.valueAt(i);
                         if (listener != null) {
-                            pw.print(listener.component);
+                            pw.print(listener);
                         }
                     }
                 }
@@ -4070,25 +4096,30 @@
         public void removeForegroundServiceFlagFromNotification(String pkg, int notificationId,
                 int userId) {
             checkCallerIsSystem();
-            mHandler.post(new Runnable() {
-                @Override
-                public void run() {
-                    synchronized (mNotificationLock) {
-                        removeForegroundServiceFlagByListLocked(
-                                mEnqueuedNotifications, pkg, notificationId, userId);
-                        removeForegroundServiceFlagByListLocked(
-                                mNotificationList, pkg, notificationId, userId);
+            mHandler.post(() -> {
+                synchronized (mNotificationLock) {
+                    // strip flag from all enqueued notifications. listeners will be informed
+                    // in post runnable.
+                    List<NotificationRecord> enqueued = findNotificationsByListLocked(
+                            mEnqueuedNotifications, pkg, null, notificationId, userId);
+                    for (int i = 0; i < enqueued.size(); i++) {
+                        removeForegroundServiceFlagLocked(enqueued.get(i));
+                    }
+
+                    // if posted notification exists, strip its flag and tell listeners
+                    NotificationRecord r = findNotificationByListLocked(
+                            mNotificationList, pkg, null, notificationId, userId);
+                    if (r != null) {
+                        removeForegroundServiceFlagLocked(r);
+                        mRankingHelper.sort(mNotificationList);
+                        mListeners.notifyPostedLocked(r, r);
                     }
                 }
             });
         }
 
         @GuardedBy("mNotificationLock")
-        private void removeForegroundServiceFlagByListLocked(
-                ArrayList<NotificationRecord> notificationList, String pkg, int notificationId,
-                int userId) {
-            NotificationRecord r = findNotificationByListLocked(
-                    notificationList, pkg, null, notificationId, userId);
+        private void removeForegroundServiceFlagLocked(NotificationRecord r) {
             if (r == null) {
                 return;
             }
@@ -4099,8 +4130,6 @@
             // initially *and* force remove FLAG_FOREGROUND_SERVICE.
             sbn.getNotification().flags =
                     (r.mOriginalFlags & ~FLAG_FOREGROUND_SERVICE);
-            mRankingHelper.sort(mNotificationList);
-            mListeners.notifyPostedLocked(r, r);
         }
     };
 
@@ -4255,8 +4284,12 @@
     @VisibleForTesting
     int resolveNotificationUid(String callingPkg, String targetPkg,
             int callingUid, int userId) {
+        if (userId == UserHandle.USER_ALL) {
+            userId = USER_SYSTEM;
+        }
         // posted from app A on behalf of app A
-        if (isCallerSameApp(targetPkg, callingUid) && TextUtils.equals(callingPkg, targetPkg)) {
+        if (isCallerSameApp(targetPkg, callingUid, userId)
+                && TextUtils.equals(callingPkg, targetPkg)) {
             return callingUid;
         }
 
@@ -4293,7 +4326,7 @@
         if (!isSystemNotification && !isNotificationFromListener) {
             synchronized (mNotificationLock) {
                 if (mNotificationsByKey.get(r.sbn.getKey()) == null
-                        && isCallerInstantApp(pkg, callingUid)) {
+                        && isCallerInstantApp(pkg, callingUid, r.getUserId())) {
                     // Ephemeral apps have some special constraints for notifications.
                     // They are not allowed to create new notifications however they are allowed to
                     // update notifications created by the system (e.g. a foreground service
@@ -4381,22 +4414,12 @@
     }
 
     protected boolean isBlocked(NotificationRecord r, NotificationUsageStats usageStats) {
-        final String pkg = r.sbn.getPackageName();
-        final int callingUid = r.sbn.getUid();
-
-        final boolean isPackageSuspended = isPackageSuspendedForUser(pkg, callingUid);
-        if (isPackageSuspended) {
-            Slog.e(TAG, "Suppressing notification from package due to package "
-                    + "suspended by administrator.");
-            usageStats.registerSuspendedByAdmin(r);
-            return isPackageSuspended;
-        }
-        final boolean isBlocked = isBlocked(r);
-        if (isBlocked) {
+        if (isBlocked(r)) {
             Slog.e(TAG, "Suppressing notification from package by user request.");
             usageStats.registerBlocked(r);
+            return true;
         }
-        return isBlocked;
+        return false;
     }
 
     private boolean isBlocked(NotificationRecord r) {
@@ -4670,7 +4693,11 @@
                         return;
                     }
 
-                    r.setHidden(isPackageSuspendedLocked(r));
+                    final boolean isPackageSuspended = isPackageSuspendedLocked(r);
+                    r.setHidden(isPackageSuspended);
+                    if (isPackageSuspended) {
+                        mUsageStats.registerSuspendedByAdmin(r);
+                    }
                     NotificationRecord old = mNotificationsByKey.get(key);
                     final StatusBarNotification n = r.sbn;
                     final Notification notification = n.getNotification();
@@ -4705,7 +4732,8 @@
                     if (notification.getSmallIcon() != null) {
                         StatusBarNotification oldSbn = (old != null) ? old.sbn : null;
                         mListeners.notifyPostedLocked(r, old);
-                        if (oldSbn == null || !Objects.equals(oldSbn.getGroup(), n.getGroup())) {
+                        if ((oldSbn == null || !Objects.equals(oldSbn.getGroup(), n.getGroup()))
+                                && !isCritical(r)) {
                             mHandler.post(new Runnable() {
                                 @Override
                                 public void run() {
@@ -4875,6 +4903,19 @@
     }
 
     /**
+     * Check if the notification is classified as critical.
+     *
+     * @param record the record to test for criticality
+     * @return {@code true} if notification is considered critical
+     *
+     * @see CriticalNotificationExtractor for criteria
+     */
+    private boolean isCritical(NotificationRecord record) {
+        // 0 is the most critical
+        return record.getCriticality() < CriticalNotificationExtractor.NORMAL;
+    }
+
+    /**
      * Keeps the last 5 packages that have notified, by user.
      */
     @GuardedBy("mNotificationLock")
@@ -6253,6 +6294,21 @@
     }
 
     @GuardedBy("mNotificationLock")
+    private List<NotificationRecord> findNotificationsByListLocked(
+            ArrayList<NotificationRecord> list, String pkg, String tag, int id, int userId) {
+        List<NotificationRecord> matching = new ArrayList<>();
+        final int len = list.size();
+        for (int i = 0; i < len; i++) {
+            NotificationRecord r = list.get(i);
+            if (notificationMatchesUserId(r, userId) && r.sbn.getId() == id &&
+                    TextUtils.equals(r.sbn.getTag(), tag) && r.sbn.getPackageName().equals(pkg)) {
+                matching.add(r);
+            }
+        }
+        return matching;
+    }
+
+    @GuardedBy("mNotificationLock")
     private NotificationRecord findNotificationByListLocked(ArrayList<NotificationRecord> list,
             String key) {
         final int N = list.size();
@@ -6378,7 +6434,8 @@
         }
     }
 
-    private boolean isCallerInstantApp(String pkg, int callingUid) {
+    @VisibleForTesting
+    boolean isCallerInstantApp(String pkg, int callingUid, int userId) {
         // System is always allowed to act for ephemeral apps.
         if (isUidSystemOrPhone(callingUid)) {
             return false;
@@ -6387,8 +6444,7 @@
         mAppOps.checkPackage(callingUid, pkg);
 
         try {
-            ApplicationInfo ai = mPackageManager.getApplicationInfo(pkg, 0,
-                    UserHandle.getCallingUserId());
+            ApplicationInfo ai = mPackageManager.getApplicationInfo(pkg, 0, userId);
             if (ai == null) {
                 throw new SecurityException("Unknown package " + pkg);
             }
@@ -6400,13 +6456,13 @@
     }
 
     private void checkCallerIsSameApp(String pkg) {
-        checkCallerIsSameApp(pkg, Binder.getCallingUid());
+        checkCallerIsSameApp(pkg, Binder.getCallingUid(), UserHandle.getCallingUserId());
     }
 
-    private void checkCallerIsSameApp(String pkg, int uid) {
+    private void checkCallerIsSameApp(String pkg, int uid, int userId) {
         try {
             ApplicationInfo ai = mPackageManager.getApplicationInfo(
-                    pkg, 0, UserHandle.getCallingUserId());
+                    pkg, 0, userId);
             if (ai == null) {
                 throw new SecurityException("Unknown package " + pkg);
             }
@@ -6428,9 +6484,9 @@
         }
     }
 
-    private boolean isCallerSameApp(String pkg, int uid) {
+    private boolean isCallerSameApp(String pkg, int uid, int userId) {
         try {
-            checkCallerIsSameApp(pkg, uid);
+            checkCallerIsSameApp(pkg, uid, userId);
             return true;
         } catch (SecurityException e) {
             return false;
@@ -6661,7 +6717,9 @@
         @Override
         public void onUserUnlocked(int user) {
             if (DEBUG) Slog.d(TAG, "onUserUnlocked u=" + user);
-            rebindServices(true);
+            // force rebind the assistant, as it might be keeping its own state in user locked
+            // storage
+            rebindServices(true, user);
         }
 
         protected void onNotificationsSeenLocked(ArrayList<NotificationRecord> records) {
@@ -6786,6 +6844,16 @@
         }
 
         @Override
+        protected int getBindFlags() {
+            // Most of the same flags as the base, but also add BIND_ADJUST_BELOW_PERCEPTIBLE
+            // because too many 3P apps could be kept in memory as notification listeners and
+            // cause extreme memory pressure.
+            // TODO: Change the binding lifecycle of NotificationListeners to avoid this situation.
+            return BIND_AUTO_CREATE | BIND_FOREGROUND_SERVICE
+                    | BIND_ADJUST_BELOW_PERCEPTIBLE | BIND_ALLOW_WHITELIST_MANAGEMENT;
+        }
+
+        @Override
         protected Config getConfig() {
             Config c = new Config();
             c.caption = "notification listener";
@@ -6876,7 +6944,6 @@
                 if (!oldSbnVisible && !sbnVisible) {
                     continue;
                 }
-
                 // If the notification is hidden, don't notifyPosted listeners targeting < P.
                 // Instead, those listeners will receive notifyPosted when the notification is
                 // unhidden.
@@ -7310,7 +7377,7 @@
                 new String[]{pkg});
 
         final String action = suspend ? Intent.ACTION_PACKAGES_SUSPENDED
-            : Intent.ACTION_PACKAGES_UNSUSPENDED;
+                : Intent.ACTION_PACKAGES_UNSUSPENDED;
         final Intent intent = new Intent(action);
         intent.putExtras(extras);
 
diff --git a/services/core/java/com/android/server/notification/PreferencesHelper.java b/services/core/java/com/android/server/notification/PreferencesHelper.java
index 593e7cd..3a0ab77 100644
--- a/services/core/java/com/android/server/notification/PreferencesHelper.java
+++ b/services/core/java/com/android/server/notification/PreferencesHelper.java
@@ -107,7 +107,7 @@
     }
 
     // pkg|uid => PackagePreferences
-    private final ArrayMap<String, PackagePreferences> mPackagePreferencess = new ArrayMap<>();
+    private final ArrayMap<String, PackagePreferences> mPackagePreferences = new ArrayMap<>();
     // pkg => PackagePreferences
     private final ArrayMap<String, PackagePreferences> mRestoredWithoutUids = new ArrayMap<>();
 
@@ -142,109 +142,117 @@
         if (type != XmlPullParser.START_TAG) return;
         String tag = parser.getName();
         if (!TAG_RANKING.equals(tag)) return;
-        // Clobber groups and channels with the xml, but don't delete other data that wasn't present
-        // at the time of serialization.
-        mRestoredWithoutUids.clear();
-        while ((type = parser.next()) != XmlPullParser.END_DOCUMENT) {
-            tag = parser.getName();
-            if (type == XmlPullParser.END_TAG && TAG_RANKING.equals(tag)) {
-                return;
-            }
-            if (type == XmlPullParser.START_TAG) {
-                if (TAG_PACKAGE.equals(tag)) {
-                    int uid = XmlUtils.readIntAttribute(parser, ATT_UID, UNKNOWN_UID);
-                    String name = parser.getAttributeValue(null, ATT_NAME);
-                    if (!TextUtils.isEmpty(name)) {
-                        if (forRestore) {
-                            try {
-                                //TODO: http://b/22388012
-                                uid = mPm.getPackageUidAsUser(name,
-                                        UserHandle.USER_SYSTEM);
-                            } catch (PackageManager.NameNotFoundException e) {
-                                // noop
-                            }
-                        }
+        synchronized (mPackagePreferences) {
+            // Clobber groups and channels with the xml, but don't delete other data that wasn't present
 
-                        PackagePreferences r = getOrCreatePackagePreferences(name, uid,
-                                XmlUtils.readIntAttribute(
-                                        parser, ATT_IMPORTANCE, DEFAULT_IMPORTANCE),
-                                XmlUtils.readIntAttribute(parser, ATT_PRIORITY, DEFAULT_PRIORITY),
-                                XmlUtils.readIntAttribute(
-                                        parser, ATT_VISIBILITY, DEFAULT_VISIBILITY),
-                                XmlUtils.readBooleanAttribute(
-                                        parser, ATT_SHOW_BADGE, DEFAULT_SHOW_BADGE));
-                        r.importance = XmlUtils.readIntAttribute(
-                                parser, ATT_IMPORTANCE, DEFAULT_IMPORTANCE);
-                        r.priority = XmlUtils.readIntAttribute(
-                                parser, ATT_PRIORITY, DEFAULT_PRIORITY);
-                        r.visibility = XmlUtils.readIntAttribute(
-                                parser, ATT_VISIBILITY, DEFAULT_VISIBILITY);
-                        r.showBadge = XmlUtils.readBooleanAttribute(
-                                parser, ATT_SHOW_BADGE, DEFAULT_SHOW_BADGE);
-                        r.lockedAppFields = XmlUtils.readIntAttribute(parser,
-                                ATT_APP_USER_LOCKED_FIELDS, DEFAULT_LOCKED_APP_FIELDS);
-
-                        final int innerDepth = parser.getDepth();
-                        while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
-                                && (type != XmlPullParser.END_TAG
-                                || parser.getDepth() > innerDepth)) {
-                            if (type == XmlPullParser.END_TAG || type == XmlPullParser.TEXT) {
-                                continue;
-                            }
-
-                            String tagName = parser.getName();
-                            // Channel groups
-                            if (TAG_GROUP.equals(tagName)) {
-                                String id = parser.getAttributeValue(null, ATT_ID);
-                                CharSequence groupName = parser.getAttributeValue(null, ATT_NAME);
-                                if (!TextUtils.isEmpty(id)) {
-                                    NotificationChannelGroup group
-                                            = new NotificationChannelGroup(id, groupName);
-                                    group.populateFromXml(parser);
-                                    r.groups.put(id, group);
+            // at the time of serialization.
+            mRestoredWithoutUids.clear();
+            while ((type = parser.next()) != XmlPullParser.END_DOCUMENT) {
+                tag = parser.getName();
+                if (type == XmlPullParser.END_TAG && TAG_RANKING.equals(tag)) {
+                    return;
+                }
+                if (type == XmlPullParser.START_TAG) {
+                    if (TAG_PACKAGE.equals(tag)) {
+                        int uid = XmlUtils.readIntAttribute(parser, ATT_UID, UNKNOWN_UID);
+                        String name = parser.getAttributeValue(null, ATT_NAME);
+                        if (!TextUtils.isEmpty(name)) {
+                            if (forRestore) {
+                                try {
+                                    //TODO: http://b/22388012
+                                    uid = mPm.getPackageUidAsUser(name,
+                                            UserHandle.USER_SYSTEM);
+                                } catch (PackageManager.NameNotFoundException e) {
+                                    // noop
                                 }
                             }
-                            // Channels
-                            if (TAG_CHANNEL.equals(tagName)) {
-                                String id = parser.getAttributeValue(null, ATT_ID);
-                                String channelName = parser.getAttributeValue(null, ATT_NAME);
-                                int channelImportance = XmlUtils.readIntAttribute(
-                                        parser, ATT_IMPORTANCE, DEFAULT_IMPORTANCE);
-                                if (!TextUtils.isEmpty(id) && !TextUtils.isEmpty(channelName)) {
-                                    NotificationChannel channel = new NotificationChannel(id,
-                                            channelName, channelImportance);
-                                    if (forRestore) {
-                                        channel.populateFromXmlForRestore(parser, mContext);
-                                    } else {
-                                        channel.populateFromXml(parser);
+
+                            PackagePreferences r = getOrCreatePackagePreferences(name, uid,
+                                    XmlUtils.readIntAttribute(
+                                            parser, ATT_IMPORTANCE, DEFAULT_IMPORTANCE),
+                                    XmlUtils.readIntAttribute(parser, ATT_PRIORITY,
+                                            DEFAULT_PRIORITY),
+                                    XmlUtils.readIntAttribute(
+                                            parser, ATT_VISIBILITY, DEFAULT_VISIBILITY),
+                                    XmlUtils.readBooleanAttribute(
+                                            parser, ATT_SHOW_BADGE, DEFAULT_SHOW_BADGE));
+                            r.importance = XmlUtils.readIntAttribute(
+                                    parser, ATT_IMPORTANCE, DEFAULT_IMPORTANCE);
+                            r.priority = XmlUtils.readIntAttribute(
+                                    parser, ATT_PRIORITY, DEFAULT_PRIORITY);
+                            r.visibility = XmlUtils.readIntAttribute(
+                                    parser, ATT_VISIBILITY, DEFAULT_VISIBILITY);
+                            r.showBadge = XmlUtils.readBooleanAttribute(
+                                    parser, ATT_SHOW_BADGE, DEFAULT_SHOW_BADGE);
+                            r.lockedAppFields = XmlUtils.readIntAttribute(parser,
+                                    ATT_APP_USER_LOCKED_FIELDS, DEFAULT_LOCKED_APP_FIELDS);
+
+                            final int innerDepth = parser.getDepth();
+                            while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
+                                    && (type != XmlPullParser.END_TAG
+                                    || parser.getDepth() > innerDepth)) {
+                                if (type == XmlPullParser.END_TAG || type == XmlPullParser.TEXT) {
+                                    continue;
+                                }
+
+                                String tagName = parser.getName();
+                                // Channel groups
+                                if (TAG_GROUP.equals(tagName)) {
+                                    String id = parser.getAttributeValue(null, ATT_ID);
+                                    CharSequence groupName = parser.getAttributeValue(null,
+                                            ATT_NAME);
+                                    if (!TextUtils.isEmpty(id)) {
+                                        NotificationChannelGroup group
+                                                = new NotificationChannelGroup(id, groupName);
+                                        group.populateFromXml(parser);
+                                        r.groups.put(id, group);
                                     }
-                                    r.channels.put(id, channel);
                                 }
-                            }
-                            // Delegate
-                            if (TAG_DELEGATE.equals(tagName)) {
-                                int delegateId =
-                                        XmlUtils.readIntAttribute(parser, ATT_UID, UNKNOWN_UID);
-                                String delegateName =
-                                        XmlUtils.readStringAttribute(parser, ATT_NAME);
-                                boolean delegateEnabled = XmlUtils.readBooleanAttribute(
-                                        parser, ATT_ENABLED, Delegate.DEFAULT_ENABLED);
-                                boolean userAllowed = XmlUtils.readBooleanAttribute(
-                                        parser, ATT_USER_ALLOWED, Delegate.DEFAULT_USER_ALLOWED);
-                                Delegate d = null;
-                                if (delegateId != UNKNOWN_UID && !TextUtils.isEmpty(delegateName)) {
-                                    d = new Delegate(
-                                            delegateName, delegateId, delegateEnabled, userAllowed);
+                                // Channels
+                                if (TAG_CHANNEL.equals(tagName)) {
+                                    String id = parser.getAttributeValue(null, ATT_ID);
+                                    String channelName = parser.getAttributeValue(null, ATT_NAME);
+                                    int channelImportance = XmlUtils.readIntAttribute(
+                                            parser, ATT_IMPORTANCE, DEFAULT_IMPORTANCE);
+                                    if (!TextUtils.isEmpty(id) && !TextUtils.isEmpty(channelName)) {
+                                        NotificationChannel channel = new NotificationChannel(id,
+                                                channelName, channelImportance);
+                                        if (forRestore) {
+                                            channel.populateFromXmlForRestore(parser, mContext);
+                                        } else {
+                                            channel.populateFromXml(parser);
+                                        }
+                                        r.channels.put(id, channel);
+                                    }
                                 }
-                                r.delegate = d;
+                                // Delegate
+                                if (TAG_DELEGATE.equals(tagName)) {
+                                    int delegateId =
+                                            XmlUtils.readIntAttribute(parser, ATT_UID, UNKNOWN_UID);
+                                    String delegateName =
+                                            XmlUtils.readStringAttribute(parser, ATT_NAME);
+                                    boolean delegateEnabled = XmlUtils.readBooleanAttribute(
+                                            parser, ATT_ENABLED, Delegate.DEFAULT_ENABLED);
+                                    boolean userAllowed = XmlUtils.readBooleanAttribute(
+                                            parser, ATT_USER_ALLOWED,
+                                            Delegate.DEFAULT_USER_ALLOWED);
+                                    Delegate d = null;
+                                    if (delegateId != UNKNOWN_UID && !TextUtils.isEmpty(
+                                            delegateName)) {
+                                        d = new Delegate(
+                                                delegateName, delegateId, delegateEnabled,
+                                                userAllowed);
+                                    }
+                                    r.delegate = d;
+                                }
+
                             }
 
-                        }
-
-                        try {
-                            deleteDefaultChannelIfNeeded(r);
-                        } catch (PackageManager.NameNotFoundException e) {
-                            Slog.e(TAG, "deleteDefaultChannelIfNeeded - Exception: " + e);
+                            try {
+                                deleteDefaultChannelIfNeeded(r);
+                            } catch (PackageManager.NameNotFoundException e) {
+                                Slog.e(TAG, "deleteDefaultChannelIfNeeded - Exception: " + e);
+                            }
                         }
                     }
                 }
@@ -255,8 +263,8 @@
 
     private PackagePreferences getPackagePreferences(String pkg, int uid) {
         final String key = packagePreferencesKey(pkg, uid);
-        synchronized (mPackagePreferencess) {
-            return mPackagePreferencess.get(key);
+        synchronized (mPackagePreferences) {
+            return mPackagePreferences.get(key);
         }
     }
 
@@ -268,10 +276,10 @@
     private PackagePreferences getOrCreatePackagePreferences(String pkg, int uid, int importance,
             int priority, int visibility, boolean showBadge) {
         final String key = packagePreferencesKey(pkg, uid);
-        synchronized (mPackagePreferencess) {
+        synchronized (mPackagePreferences) {
             PackagePreferences
                     r = (uid == UNKNOWN_UID) ? mRestoredWithoutUids.get(pkg)
-                    : mPackagePreferencess.get(key);
+                    : mPackagePreferences.get(key);
             if (r == null) {
                 r = new PackagePreferences();
                 r.pkg = pkg;
@@ -290,7 +298,7 @@
                 if (r.uid == UNKNOWN_UID) {
                     mRestoredWithoutUids.put(pkg, r);
                 } else {
-                    mPackagePreferencess.put(key, r);
+                    mPackagePreferences.put(key, r);
                 }
             }
             return r;
@@ -364,10 +372,10 @@
         out.startTag(null, TAG_RANKING);
         out.attribute(null, ATT_VERSION, Integer.toString(XML_VERSION));
 
-        synchronized (mPackagePreferencess) {
-            final int N = mPackagePreferencess.size();
+        synchronized (mPackagePreferences) {
+            final int N = mPackagePreferences.size();
             for (int i = 0; i < N; i++) {
-                final PackagePreferences r = mPackagePreferencess.valueAt(i);
+                final PackagePreferences r = mPackagePreferences.valueAt(i);
                 //TODO: http://b/22388012
                 if (forBackup && UserHandle.getUserId(r.uid) != UserHandle.USER_SYSTEM) {
                     continue;
@@ -747,7 +755,7 @@
 
     @Override
     public ParceledListSlice<NotificationChannelGroup> getNotificationChannelGroups(String pkg,
-            int uid, boolean includeDeleted, boolean includeNonGrouped) {
+            int uid, boolean includeDeleted, boolean includeNonGrouped, boolean includeEmpty) {
         Preconditions.checkNotNull(pkg);
         Map<String, NotificationChannelGroup> groups = new ArrayMap<>();
         PackagePreferences r = getPackagePreferences(pkg, uid);
@@ -778,6 +786,13 @@
         if (includeNonGrouped && nonGrouped.getChannels().size() > 0) {
             groups.put(null, nonGrouped);
         }
+        if (includeEmpty) {
+            for (NotificationChannelGroup group : r.groups.values()) {
+                if (!groups.containsKey(group.getId())) {
+                    groups.put(group.getId(), group);
+                }
+            }
+        }
         return new ParceledListSlice<>(new ArrayList<>(groups.values()));
     }
 
@@ -882,10 +897,10 @@
 
     public int getBlockedAppCount(int userId) {
         int count = 0;
-        synchronized (mPackagePreferencess) {
-            final int N = mPackagePreferencess.size();
+        synchronized (mPackagePreferences) {
+            final int N = mPackagePreferences.size();
             for (int i = 0; i < N; i++) {
-                final PackagePreferences r = mPackagePreferencess.valueAt(i);
+                final PackagePreferences r = mPackagePreferences.valueAt(i);
                 if (userId == UserHandle.getUserId(r.uid)
                         && r.importance == IMPORTANCE_NONE) {
                     count++;
@@ -896,11 +911,11 @@
     }
 
     public void updateChannelsBypassingDnd() {
-        synchronized (mPackagePreferencess) {
-            final int numPackagePreferencess = mPackagePreferencess.size();
+        synchronized (mPackagePreferences) {
+            final int numPackagePreferencess = mPackagePreferences.size();
             for (int PackagePreferencesIndex = 0; PackagePreferencesIndex < numPackagePreferencess;
                     PackagePreferencesIndex++) {
-                final PackagePreferences r = mPackagePreferencess.valueAt(PackagePreferencesIndex);
+                final PackagePreferences r = mPackagePreferences.valueAt(PackagePreferencesIndex);
                 final int numChannels = r.channels.size();
 
                 for (int channelIndex = 0; channelIndex < numChannels; channelIndex++) {
@@ -1064,8 +1079,8 @@
         pw.println("per-package config:");
 
         pw.println("PackagePreferencess:");
-        synchronized (mPackagePreferencess) {
-            dumpPackagePreferencess(pw, prefix, filter, mPackagePreferencess);
+        synchronized (mPackagePreferences) {
+            dumpPackagePreferencess(pw, prefix, filter, mPackagePreferences);
         }
         pw.println("Restored without uid:");
         dumpPackagePreferencess(pw, prefix, filter, mRestoredWithoutUids);
@@ -1073,9 +1088,9 @@
 
     public void dump(ProtoOutputStream proto,
             @NonNull NotificationManagerService.DumpFilter filter) {
-        synchronized (mPackagePreferencess) {
+        synchronized (mPackagePreferences) {
             dumpPackagePreferencess(proto, RankingHelperProto.RECORDS, filter,
-                    mPackagePreferencess);
+                    mPackagePreferences);
         }
         dumpPackagePreferencess(proto, RankingHelperProto.RECORDS_RESTORED_WITHOUT_UID, filter,
                 mRestoredWithoutUids);
@@ -1160,10 +1175,10 @@
         } catch (JSONException e) {
             // pass
         }
-        synchronized (mPackagePreferencess) {
-            final int N = mPackagePreferencess.size();
+        synchronized (mPackagePreferences) {
+            final int N = mPackagePreferences.size();
             for (int i = 0; i < N; i++) {
-                final PackagePreferences r = mPackagePreferencess.valueAt(i);
+                final PackagePreferences r = mPackagePreferences.valueAt(i);
                 if (filter == null || filter.matches(r.pkg)) {
                     JSONObject PackagePreferences = new JSONObject();
                     try {
@@ -1240,11 +1255,11 @@
     }
 
     public Map<Integer, String> getPackageBans() {
-        synchronized (mPackagePreferencess) {
-            final int N = mPackagePreferencess.size();
+        synchronized (mPackagePreferences) {
+            final int N = mPackagePreferences.size();
             ArrayMap<Integer, String> packageBans = new ArrayMap<>(N);
             for (int i = 0; i < N; i++) {
-                final PackagePreferences r = mPackagePreferencess.valueAt(i);
+                final PackagePreferences r = mPackagePreferences.valueAt(i);
                 if (r.importance == IMPORTANCE_NONE) {
                     packageBans.put(r.uid, r.pkg);
                 }
@@ -1284,9 +1299,9 @@
 
     private Map<String, Integer> getPackageChannels() {
         ArrayMap<String, Integer> packageChannels = new ArrayMap<>();
-        synchronized (mPackagePreferencess) {
-            for (int i = 0; i < mPackagePreferencess.size(); i++) {
-                final PackagePreferences r = mPackagePreferencess.valueAt(i);
+        synchronized (mPackagePreferences) {
+            for (int i = 0; i < mPackagePreferences.size(); i++) {
+                final PackagePreferences r = mPackagePreferences.valueAt(i);
                 int channelCount = 0;
                 for (int j = 0; j < r.channels.size(); j++) {
                     if (!r.channels.valueAt(j).isDeleted()) {
@@ -1300,22 +1315,22 @@
     }
 
     public void onUserRemoved(int userId) {
-        synchronized (mPackagePreferencess) {
-            int N = mPackagePreferencess.size();
+        synchronized (mPackagePreferences) {
+            int N = mPackagePreferences.size();
             for (int i = N - 1; i >= 0; i--) {
-                PackagePreferences PackagePreferences = mPackagePreferencess.valueAt(i);
+                PackagePreferences PackagePreferences = mPackagePreferences.valueAt(i);
                 if (UserHandle.getUserId(PackagePreferences.uid) == userId) {
-                    mPackagePreferencess.removeAt(i);
+                    mPackagePreferences.removeAt(i);
                 }
             }
         }
     }
 
     protected void onLocaleChanged(Context context, int userId) {
-        synchronized (mPackagePreferencess) {
-            int N = mPackagePreferencess.size();
+        synchronized (mPackagePreferences) {
+            int N = mPackagePreferences.size();
             for (int i = 0; i < N; i++) {
-                PackagePreferences PackagePreferences = mPackagePreferencess.valueAt(i);
+                PackagePreferences PackagePreferences = mPackagePreferences.valueAt(i);
                 if (UserHandle.getUserId(PackagePreferences.uid) == userId) {
                     if (PackagePreferences.channels.containsKey(
                             NotificationChannel.DEFAULT_CHANNEL_ID)) {
@@ -1341,8 +1356,8 @@
             for (int i = 0; i < size; i++) {
                 final String pkg = pkgList[i];
                 final int uid = uidList[i];
-                synchronized (mPackagePreferencess) {
-                    mPackagePreferencess.remove(packagePreferencesKey(pkg, uid));
+                synchronized (mPackagePreferences) {
+                    mPackagePreferences.remove(packagePreferencesKey(pkg, uid));
                 }
                 mRestoredWithoutUids.remove(pkg);
                 updated = true;
@@ -1355,8 +1370,8 @@
                     try {
                         r.uid = mPm.getPackageUidAsUser(r.pkg, changeUserId);
                         mRestoredWithoutUids.remove(pkg);
-                        synchronized (mPackagePreferencess) {
-                            mPackagePreferencess.put(packagePreferencesKey(r.pkg, r.uid), r);
+                        synchronized (mPackagePreferences) {
+                            mPackagePreferences.put(packagePreferencesKey(r.pkg, r.uid), r);
                         }
                         updated = true;
                     } catch (PackageManager.NameNotFoundException e) {
@@ -1365,11 +1380,13 @@
                 }
                 // Package upgrade
                 try {
-                    PackagePreferences fullPackagePreferences = getPackagePreferences(pkg,
-                            mPm.getPackageUidAsUser(pkg, changeUserId));
-                    if (fullPackagePreferences != null) {
-                        createDefaultChannelIfNeeded(fullPackagePreferences);
-                        deleteDefaultChannelIfNeeded(fullPackagePreferences);
+                    synchronized (mPackagePreferences) {
+                        PackagePreferences fullPackagePreferences = getPackagePreferences(pkg,
+                                mPm.getPackageUidAsUser(pkg, changeUserId));
+                        if (fullPackagePreferences != null) {
+                            createDefaultChannelIfNeeded(fullPackagePreferences);
+                            deleteDefaultChannelIfNeeded(fullPackagePreferences);
+                        }
                     }
                 } catch (PackageManager.NameNotFoundException e) {
                 }
diff --git a/services/core/java/com/android/server/notification/RankingConfig.java b/services/core/java/com/android/server/notification/RankingConfig.java
index af64683..605348b 100644
--- a/services/core/java/com/android/server/notification/RankingConfig.java
+++ b/services/core/java/com/android/server/notification/RankingConfig.java
@@ -36,7 +36,7 @@
     void createNotificationChannelGroup(String pkg, int uid, NotificationChannelGroup group,
             boolean fromTargetApp);
     ParceledListSlice<NotificationChannelGroup> getNotificationChannelGroups(String pkg,
-            int uid, boolean includeDeleted, boolean includeNonGrouped);
+            int uid, boolean includeDeleted, boolean includeNonGrouped, boolean includeEmpty);
     void createNotificationChannel(String pkg, int uid, NotificationChannel channel,
             boolean fromTargetApp, boolean hasDndAccess);
     void updateNotificationChannel(String pkg, int uid, NotificationChannel channel, boolean fromUser);
diff --git a/services/core/java/com/android/server/notification/SnoozeHelper.java b/services/core/java/com/android/server/notification/SnoozeHelper.java
index a178a52..2b581d6 100644
--- a/services/core/java/com/android/server/notification/SnoozeHelper.java
+++ b/services/core/java/com/android/server/notification/SnoozeHelper.java
@@ -15,17 +15,8 @@
  */
 package com.android.server.notification;
 
-import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.logging.MetricsLogger;
-import com.android.internal.logging.nano.MetricsProto;
-
-import org.xmlpull.v1.XmlPullParser;
-import org.xmlpull.v1.XmlPullParserException;
-import org.xmlpull.v1.XmlSerializer;
-
 import android.annotation.NonNull;
 import android.app.AlarmManager;
-import android.app.Notification;
 import android.app.PendingIntent;
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -37,9 +28,18 @@
 import android.os.UserHandle;
 import android.service.notification.StatusBarNotification;
 import android.util.ArrayMap;
+import android.util.IntArray;
 import android.util.Log;
 import android.util.Slog;
 
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.logging.MetricsLogger;
+import com.android.internal.logging.nano.MetricsProto;
+
+import org.xmlpull.v1.XmlPullParser;
+import org.xmlpull.v1.XmlPullParserException;
+import org.xmlpull.v1.XmlSerializer;
+
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
@@ -105,12 +105,12 @@
 
     protected @NonNull List<NotificationRecord> getSnoozed() {
         List<NotificationRecord> snoozedForUser = new ArrayList<>();
-        int[] userIds = mUserProfiles.getCurrentProfileIds();
+        IntArray userIds = mUserProfiles.getCurrentProfileIds();
         if (userIds != null) {
-            final int N = userIds.length;
+            final int N = userIds.size();
             for (int i = 0; i < N; i++) {
                 final ArrayMap<String, ArrayMap<String, NotificationRecord>> snoozedPkgs =
-                        mSnoozedNotifications.get(userIds[i]);
+                        mSnoozedNotifications.get(userIds.get(i));
                 if (snoozedPkgs != null) {
                     final int M = snoozedPkgs.size();
                     for (int j = 0; j < M; j++) {
@@ -179,7 +179,7 @@
     protected boolean cancel(int userId, boolean includeCurrentProfiles) {
         int[] userIds = {userId};
         if (includeCurrentProfiles) {
-            userIds = mUserProfiles.getCurrentProfileIds();
+            userIds = mUserProfiles.getCurrentProfileIds().toArray();
         }
         final int N = userIds.length;
         for (int i = 0; i < N; i++) {
diff --git a/services/core/java/com/android/server/notification/ZenModeHelper.java b/services/core/java/com/android/server/notification/ZenModeHelper.java
index 6ac72d3..760f155 100644
--- a/services/core/java/com/android/server/notification/ZenModeHelper.java
+++ b/services/core/java/com/android/server/notification/ZenModeHelper.java
@@ -52,8 +52,6 @@
 import android.service.notification.Condition;
 import android.service.notification.ConditionProviderService;
 import android.service.notification.ZenModeConfig;
-import android.service.notification.ZenModeConfig.EventInfo;
-import android.service.notification.ZenModeConfig.ScheduleInfo;
 import android.service.notification.ZenModeConfig.ZenRule;
 import android.service.notification.ZenModeProto;
 import android.util.AndroidRuntimeException;
@@ -119,8 +117,6 @@
     public static final long SUPPRESSED_EFFECT_ALL = SUPPRESSED_EFFECT_CALLS
             | SUPPRESSED_EFFECT_NOTIFICATIONS;
 
-    protected String mDefaultRuleEveryNightName;
-    protected String mDefaultRuleEventsName;
     @VisibleForTesting protected boolean mIsBootComplete;
 
     public ZenModeHelper(Context context, Looper looper, ConditionProviders conditionProviders) {
@@ -130,9 +126,9 @@
         mAppOps = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
         mNotificationManager =  context.getSystemService(NotificationManager.class);
 
-        mDefaultConfig = new ZenModeConfig();
-        setDefaultZenRules(mContext);
-        mConfig = mDefaultConfig;
+        mDefaultConfig = readDefaultConfig(mContext.getResources());
+        updateDefaultAutomaticRuleNames();
+        mConfig = mDefaultConfig.copy();
         mConfigs.put(UserHandle.USER_SYSTEM, mConfig);
 
         mSettingsObserver = new SettingsObserver(mHandler);
@@ -311,7 +307,9 @@
             newConfig = mConfig.copy();
             ZenRule rule = new ZenRule();
             populateZenRule(automaticZenRule, rule, true);
-            newConfig.automaticRules.put(rule.id, rule);
+            if (newConfig.automaticRules.put(rule.id, rule) != null) {
+                rule.modified = true;
+            }
             if (setConfigLocked(newConfig, reason, rule.component, true)) {
                 return rule.id;
             } else {
@@ -341,7 +339,9 @@
                 }
             }
             populateZenRule(automaticZenRule, rule, false);
-            newConfig.automaticRules.put(ruleId, rule);
+            if (newConfig.automaticRules.put(ruleId, rule) != null) {
+                rule.modified = true;
+            }
             return setConfigLocked(newConfig, reason, rule.component, true);
         }
     }
@@ -413,17 +413,6 @@
         }
     }
 
-    public void setDefaultZenRules(Context context) {
-        mDefaultConfig = readDefaultConfig(context.getResources());
-        appendDefaultRules(mDefaultConfig);
-    }
-
-    private void appendDefaultRules (ZenModeConfig config) {
-        getDefaultRuleNames();
-        appendDefaultEveryNightRule(config);
-        appendDefaultEventRules(config);
-    }
-
     // Checks zen rule properties are the same (doesn't check creation time, name nor enabled)
     // used to check if default rules were customized or not
     private boolean ruleValuesEqual(AutomaticZenRule rule, ZenRule defaultRule) {
@@ -437,22 +426,16 @@
     }
 
     protected void updateDefaultZenRules() {
-        ZenModeConfig configDefaultRules = new ZenModeConfig();
-        appendDefaultRules(configDefaultRules); // "new" localized default rules
-        for (String ruleId : ZenModeConfig.DEFAULT_RULE_IDS) {
-            AutomaticZenRule currRule = getAutomaticZenRule(ruleId);
-            ZenRule defaultRule = configDefaultRules.automaticRules.get(ruleId);
-            // if default rule wasn't customized, use localized name instead of previous
-            if (ruleValuesEqual(currRule, defaultRule) &&
-                    !defaultRule.name.equals(currRule.getName())) {
+        updateDefaultAutomaticRuleNames();
+        for (ZenRule defaultRule : mDefaultConfig.automaticRules.values()) {
+            ZenRule currRule = mConfig.automaticRules.get(defaultRule.id);
+            // if default rule wasn't modified, use localized name instead of previous
+            if (currRule != null && !currRule.modified && !defaultRule.name.equals(currRule.name)) {
                 if (canManageAutomaticZenRule(defaultRule)) {
                     if (DEBUG) Slog.d(TAG, "Locale change - updating default zen rule name "
-                            + "from " + currRule.getName() + " to " + defaultRule.name);
+                            + "from " + currRule.name + " to " + defaultRule.name);
                     // update default rule (if locale changed, name of rule will change)
-                    AutomaticZenRule defaultAutoRule = createAutomaticZenRule(defaultRule);
-                    // ensure enabled state is carried over from current rule
-                    defaultAutoRule.setEnabled(currRule.isEnabled());
-                    updateAutomaticZenRule(ruleId, defaultAutoRule,
+                    updateAutomaticZenRule(defaultRule.id, createAutomaticZenRule(defaultRule),
                             "locale changed");
                 }
             }
@@ -501,9 +484,14 @@
     }
 
     protected AutomaticZenRule createAutomaticZenRule(ZenRule rule) {
-        return new AutomaticZenRule(rule.name, rule.component, rule.conditionId,
-                NotificationManager.zenModeToInterruptionFilter(rule.zenMode), rule.enabled,
-                rule.creationTime);
+        if (rule.zenPolicy != null) {
+            return new AutomaticZenRule(rule.name, rule.component, rule.conditionId, rule.zenPolicy,
+                    rule.enabled, rule.creationTime);
+        } else {
+            return new AutomaticZenRule(rule.name, rule.component, rule.conditionId,
+                    NotificationManager.zenModeToInterruptionFilter(rule.zenMode), rule.enabled,
+                    rule.creationTime);
+        }
     }
 
     public void setManualZenMode(int zenMode, Uri conditionId, String caller, String reason) {
@@ -637,7 +625,9 @@
                 // - doesn't already have default rules and
                 // - all previous automatic rules were disabled
                 config.automaticRules = new ArrayMap<>();
-                appendDefaultRules(config);
+                for (ZenRule rule : mDefaultConfig.automaticRules.values()) {
+                    config.automaticRules.put(rule.id, rule);
+                }
                 reason += ", reset to default rules";
             }
 
@@ -667,6 +657,9 @@
         }
     }
 
+    /**
+     * @return user-specified default notification policy for priority only do not disturb
+     */
     public Policy getNotificationPolicy() {
         return getNotificationPolicy(mConfig);
     }
@@ -675,6 +668,9 @@
         return config == null ? null : config.toNotificationPolicy();
     }
 
+    /**
+     * Sets the global notification policy used for priority only do not disturb
+     */
     public void setNotificationPolicy(Policy policy) {
         if (policy == null || mConfig == null) return;
         synchronized (mConfig) {
@@ -770,9 +766,7 @@
             ComponentName triggeringComponent, boolean setRingerMode) {
         final String val = Integer.toString(config.hashCode());
         Global.putString(mContext.getContentResolver(), Global.ZEN_MODE_CONFIG_ETAG, val);
-        if (!evaluateZenMode(reason, setRingerMode)) {
-            applyRestrictions();  // evaluateZenMode will also apply restrictions if changed
-        }
+        evaluateZenMode(reason, setRingerMode);
         mConditions.evaluateConfig(config, triggeringComponent, true /*processSubscriptions*/);
     }
 
@@ -798,7 +792,7 @@
     }
 
     @VisibleForTesting
-    protected boolean evaluateZenMode(String reason, boolean setRingerMode) {
+    protected void evaluateZenMode(String reason, boolean setRingerMode) {
         if (DEBUG) Log.d(TAG, "evaluateZenMode");
         final int zenBefore = mZenMode;
         final int zen = computeZenMode();
@@ -813,7 +807,6 @@
         if (zen != zenBefore) {
             mHandler.postDispatchOnZenModeChanged();
         }
-        return true;
     }
 
     private void updateRingerModeAffectedStreams() {
@@ -822,7 +815,9 @@
         }
     }
 
+
     private int computeZenMode() {
+        // TODO: use mConfig.zenPolicy
         if (mConfig == null) return Global.ZEN_MODE_OFF;
         synchronized (mConfig) {
             if (mConfig.manualRule != null) return mConfig.manualRule.zenMode;
@@ -844,12 +839,16 @@
         }
     }
 
-    private void getDefaultRuleNames() {
-        // on locale-change, these values differ
-        mDefaultRuleEveryNightName = mContext.getResources()
-                .getString(R.string.zen_mode_default_every_night_name);
-        mDefaultRuleEventsName = mContext.getResources()
-                .getString(R.string.zen_mode_default_events_name);
+    private void updateDefaultAutomaticRuleNames() {
+        for (ZenRule rule : mDefaultConfig.automaticRules.values()) {
+            if (ZenModeConfig.EVENTS_DEFAULT_RULE_ID.equals(rule.id)) {
+                rule.name = mContext.getResources()
+                        .getString(R.string.zen_mode_default_events_name);
+            } else if (ZenModeConfig.EVERY_NIGHT_DEFAULT_RULE_ID.equals(rule.id)) {
+                rule.name = mContext.getResources()
+                        .getString(R.string.zen_mode_default_every_night_name);
+            }
+        }
     }
 
     @VisibleForTesting
@@ -991,42 +990,6 @@
         return new ZenModeConfig();
     }
 
-    private void appendDefaultEveryNightRule(ZenModeConfig config) {
-        if (config == null) return;
-
-        final ScheduleInfo weeknights = new ScheduleInfo();
-        weeknights.days = ZenModeConfig.ALL_DAYS;
-        weeknights.startHour = 22;
-        weeknights.endHour = 7;
-        weeknights.exitAtAlarm = true;
-        final ZenRule rule = new ZenRule();
-        rule.enabled = false;
-        rule.name = mDefaultRuleEveryNightName;
-        rule.conditionId = ZenModeConfig.toScheduleConditionId(weeknights);
-        rule.zenMode = Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-        rule.component = ScheduleConditionProvider.COMPONENT;
-        rule.id = ZenModeConfig.EVERY_NIGHT_DEFAULT_RULE_ID;
-        rule.creationTime = System.currentTimeMillis();
-        config.automaticRules.put(rule.id, rule);
-    }
-
-    private void appendDefaultEventRules(ZenModeConfig config) {
-        if (config == null) return;
-
-        final EventInfo events = new EventInfo();
-        events.calendar = null; // any calendar
-        events.reply = EventInfo.REPLY_YES_OR_MAYBE;
-        final ZenRule rule = new ZenRule();
-        rule.enabled = false;
-        rule.name = mDefaultRuleEventsName;
-        rule.conditionId = ZenModeConfig.toEventConditionId(events);
-        rule.zenMode = Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-        rule.component = EventConditionProvider.COMPONENT;
-        rule.id = ZenModeConfig.EVENTS_DEFAULT_RULE_ID;
-        rule.creationTime = System.currentTimeMillis();
-        config.automaticRules.put(rule.id, rule);
-    }
-
     private static int zenSeverity(int zen) {
         switch (zen) {
             case Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS: return 1;
@@ -1198,13 +1161,13 @@
         final boolean showNotification = mIsBootComplete
                 && zen != Global.ZEN_MODE_OFF
                 && !isWatch
-                && Settings.Global.getInt(mContext.getContentResolver(),
+                && Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.SHOW_ZEN_UPGRADE_NOTIFICATION, 0) != 0
-                && Settings.Global.getInt(mContext.getContentResolver(),
+                && Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.ZEN_SETTINGS_UPDATED, 0) != 1;
 
         if (isWatch) {
-            Settings.Global.putInt(mContext.getContentResolver(),
+            Settings.Secure.putInt(mContext.getContentResolver(),
                     Settings.Secure.SHOW_ZEN_UPGRADE_NOTIFICATION, 0);
         }
 
diff --git a/services/core/java/com/android/server/om/OverlayManagerService.java b/services/core/java/com/android/server/om/OverlayManagerService.java
index c738701..f1b03d1 100644
--- a/services/core/java/com/android/server/om/OverlayManagerService.java
+++ b/services/core/java/com/android/server/om/OverlayManagerService.java
@@ -558,8 +558,8 @@
         @Override
         public boolean setEnabledExclusive(@Nullable final String packageName, final boolean enable,
                 int userId) throws RemoteException {
-            enforceChangeOverlayPackagesPermission("setEnabled");
-            userId = handleIncomingUser(userId, "setEnabled");
+            enforceChangeOverlayPackagesPermission("setEnabledExclusive");
+            userId = handleIncomingUser(userId, "setEnabledExclusive");
             if (packageName == null || !enable) {
                 return false;
             }
@@ -578,8 +578,8 @@
         @Override
         public boolean setEnabledExclusiveInCategory(@Nullable String packageName, int userId)
                 throws RemoteException {
-            enforceChangeOverlayPackagesPermission("setEnabled");
-            userId = handleIncomingUser(userId, "setEnabled");
+            enforceChangeOverlayPackagesPermission("setEnabledExclusiveInCategory");
+            userId = handleIncomingUser(userId, "setEnabledExclusiveInCategory");
             if (packageName == null) {
                 return false;
             }
diff --git a/services/core/java/com/android/server/pm/ComponentResolver.java b/services/core/java/com/android/server/pm/ComponentResolver.java
index 7d762d9..3b11525 100644
--- a/services/core/java/com/android/server/pm/ComponentResolver.java
+++ b/services/core/java/com/android/server/pm/ComponentResolver.java
@@ -378,7 +378,7 @@
         for (int i = newIntents.size() - 1; i >= 0; --i) {
             final PackageParser.ActivityIntentInfo intentInfo = newIntents.get(i);
             final PackageParser.Package disabledPkg = sPackageManagerInternal
-                    .getDisabledPackage(intentInfo.activity.info.packageName);
+                    .getDisabledSystemPackage(intentInfo.activity.info.packageName);
             final List<PackageParser.Activity> systemActivities =
                     disabledPkg != null ? disabledPkg.activities : null;
             adjustPriority(systemActivities, intentInfo, setupWizardPackage);
@@ -1048,11 +1048,14 @@
                         final String otherPackageName =
                                 (other != null && other.getComponentName() != null)
                                         ? other.getComponentName().getPackageName() : "?";
-                        throw new PackageManagerException(
-                                INSTALL_FAILED_CONFLICTING_PROVIDER,
-                                "Can't install because provider name " + names[j]
-                                        + " (in package " + pkg.applicationInfo.packageName
-                                        + ") is already used by " + otherPackageName);
+                        // if we're installing over the same already-installed package, this is ok
+                        if (!otherPackageName.equals(pkg.packageName)) {
+                            throw new PackageManagerException(
+                                    INSTALL_FAILED_CONFLICTING_PROVIDER,
+                                    "Can't install because provider name " + names[j]
+                                            + " (in package " + pkg.applicationInfo.packageName
+                                            + ") is already used by " + otherPackageName);
+                        }
                     }
                 }
             }
diff --git a/services/core/java/com/android/server/pm/OtaDexoptService.java b/services/core/java/com/android/server/pm/OtaDexoptService.java
index bca3ca7..5810e30 100644
--- a/services/core/java/com/android/server/pm/OtaDexoptService.java
+++ b/services/core/java/com/android/server/pm/OtaDexoptService.java
@@ -53,16 +53,13 @@
     private final static String TAG = "OTADexopt";
     private final static boolean DEBUG_DEXOPT = true;
 
-    // The synthetic library dependencies denoting "no checks."
-    private final static String[] NO_LIBRARIES =
-            new String[] { PackageDexOptimizer.SKIP_SHARED_LIBRARY_CHECK };
-
     // The amount of "available" (free - low threshold) space necessary at the start of an OTA to
     // not bulk-delete unused apps' odex files.
     private final static long BULK_DELETE_THRESHOLD = 1024 * 1024 * 1024;  // 1GB.
 
     private final Context mContext;
     private final PackageManagerService mPackageManagerService;
+    private final MetricsLogger metricsLogger;
 
     // TODO: Evaluate the need for WeakReferences here.
 
@@ -95,6 +92,7 @@
     public OtaDexoptService(Context context, PackageManagerService packageManagerService) {
         this.mContext = context;
         this.mPackageManagerService = packageManagerService;
+        metricsLogger = new MetricsLogger();
     }
 
     public static OtaDexoptService main(Context context,
@@ -286,8 +284,8 @@
                     throws InstallerException {
                 final StringBuilder builder = new StringBuilder();
 
-                // The current version.
-                builder.append("9 ");
+                // The current version. For v10, see b/115993344.
+                builder.append("10 ");
 
                 builder.append("dexopt");
 
@@ -336,11 +334,6 @@
                 collectingInstaller, mPackageManagerService.mInstallLock, mContext);
 
         String[] libraryDependencies = pkg.usesLibraryFiles;
-        if (pkg.isSystem()) {
-            // For system apps, we want to avoid classpaths checks.
-            libraryDependencies = NO_LIBRARIES;
-        }
-
 
         optimizer.performDexOpt(pkg, libraryDependencies,
                 null /* ISAs */,
@@ -445,24 +438,22 @@
     private void performMetricsLogging() {
         long finalTime = System.nanoTime();
 
-        MetricsLogger.histogram(mContext, "ota_dexopt_available_space_before_mb",
+        metricsLogger.histogram("ota_dexopt_available_space_before_mb",
                 inMegabytes(availableSpaceBefore));
-        MetricsLogger.histogram(mContext, "ota_dexopt_available_space_after_bulk_delete_mb",
+        metricsLogger.histogram("ota_dexopt_available_space_after_bulk_delete_mb",
                 inMegabytes(availableSpaceAfterBulkDelete));
-        MetricsLogger.histogram(mContext, "ota_dexopt_available_space_after_dexopt_mb",
+        metricsLogger.histogram("ota_dexopt_available_space_after_dexopt_mb",
                 inMegabytes(availableSpaceAfterDexopt));
 
-        MetricsLogger.histogram(mContext, "ota_dexopt_num_important_packages",
-                importantPackageCount);
-        MetricsLogger.histogram(mContext, "ota_dexopt_num_other_packages", otherPackageCount);
+        metricsLogger.histogram("ota_dexopt_num_important_packages", importantPackageCount);
+        metricsLogger.histogram("ota_dexopt_num_other_packages", otherPackageCount);
 
-        MetricsLogger.histogram(mContext, "ota_dexopt_num_commands", dexoptCommandCountTotal);
-        MetricsLogger.histogram(mContext, "ota_dexopt_num_commands_executed",
-                dexoptCommandCountExecuted);
+        metricsLogger.histogram("ota_dexopt_num_commands", dexoptCommandCountTotal);
+        metricsLogger.histogram("ota_dexopt_num_commands_executed", dexoptCommandCountExecuted);
 
         final int elapsedTimeSeconds =
                 (int) TimeUnit.NANOSECONDS.toSeconds(finalTime - otaDexoptTimeStart);
-        MetricsLogger.histogram(mContext, "ota_dexopt_time_s", elapsedTimeSeconds);
+        metricsLogger.histogram("ota_dexopt_time_s", elapsedTimeSeconds);
     }
 
     private static class OTADexoptPackageDexOptimizer extends
diff --git a/services/core/java/com/android/server/pm/PackageInstallerSession.java b/services/core/java/com/android/server/pm/PackageInstallerSession.java
index d305032..006ea75 100644
--- a/services/core/java/com/android/server/pm/PackageInstallerSession.java
+++ b/services/core/java/com/android/server/pm/PackageInstallerSession.java
@@ -21,6 +21,7 @@
 import static android.content.pm.PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE;
 import static android.content.pm.PackageManager.INSTALL_FAILED_INTERNAL_ERROR;
 import static android.content.pm.PackageManager.INSTALL_FAILED_INVALID_APK;
+import static android.content.pm.PackageManager.INSTALL_FAILED_MISSING_SPLIT;
 import static android.content.pm.PackageParser.APK_FILE_EXTENSION;
 import static android.system.OsConstants.O_CREAT;
 import static android.system.OsConstants.O_RDONLY;
@@ -59,6 +60,7 @@
 import android.content.pm.PackageParser.ApkLite;
 import android.content.pm.PackageParser.PackageLite;
 import android.content.pm.PackageParser.PackageParserException;
+import android.content.pm.dex.DexMetadataHelper;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
 import android.os.Binder;
@@ -99,7 +101,6 @@
 import com.android.server.pm.Installer.InstallerException;
 import com.android.server.pm.PackageInstallerService.PackageInstallObserverAdapter;
 
-import android.content.pm.dex.DexMetadataHelper;
 import libcore.io.IoUtils;
 
 import org.xmlpull.v1.XmlPullParser;
@@ -122,7 +123,6 @@
     private static final boolean LOGD = true;
     private static final String REMOVE_SPLIT_MARKER_EXTENSION = ".removed";
 
-    private static final int MSG_EARLY_BIND = 0;
     private static final int MSG_COMMIT = 1;
     private static final int MSG_ON_PACKAGE_INSTALLED = 2;
 
@@ -168,7 +168,6 @@
     final int userId;
     final SessionParams params;
     final long createdMillis;
-    final int defaultContainerGid;
 
     /** Staging location where client data is written. */
     final File stageDir;
@@ -285,9 +284,6 @@
         @Override
         public boolean handleMessage(Message msg) {
             switch (msg.what) {
-                case MSG_EARLY_BIND:
-                    earlyBindToDefContainer();
-                    break;
                 case MSG_COMMIT:
                     synchronized (mLock) {
                         try {
@@ -323,10 +319,6 @@
         }
     };
 
-    private void earlyBindToDefContainer() {
-        mPm.earlyBindToDefContainer();
-    }
-
     /**
      * @return {@code true} iff the installing is app an device owner or affiliated profile owner.
      */
@@ -413,19 +405,6 @@
                 }
             }
         }
-
-        final long identity = Binder.clearCallingIdentity();
-        try {
-            final int uid = mPm.getPackageUid(PackageManagerService.DEFAULT_CONTAINER_PACKAGE,
-                    PackageManager.MATCH_SYSTEM_ONLY, UserHandle.USER_SYSTEM);
-            defaultContainerGid = UserHandle.getSharedAppGid(uid);
-        } finally {
-            Binder.restoreCallingIdentity(identity);
-        }
-        // attempt to bind to the DefContainer as early as possible
-        if ((params.installFlags & PackageManager.INSTALL_INSTANT_APP) != 0) {
-            mHandler.sendMessage(mHandler.obtainMessage(MSG_EARLY_BIND));
-        }
     }
 
     public SessionInfo generateInfo() {
@@ -1082,6 +1061,7 @@
     @GuardedBy("mLock")
     private void validateInstallLocked(@Nullable PackageInfo pkgInfo)
             throws PackageManagerException {
+        ApkLite baseApk = null;
         mPackageName = null;
         mVersionCode = -1;
         mSigningDetails = PackageParser.SigningDetails.UNKNOWN;
@@ -1158,6 +1138,7 @@
             // Base is coming from session
             if (apk.splitName == null) {
                 mResolvedBaseFile = targetFile;
+                baseApk = apk;
             }
 
             mResolvedStagedFiles.add(targetFile);
@@ -1243,6 +1224,7 @@
                 if (baseDexMetadataFile != null) {
                     mResolvedInheritedFiles.add(baseDexMetadataFile);
                 }
+                baseApk = existingBase;
             }
 
             // Inherit splits if not overridden
@@ -1322,6 +1304,10 @@
                 }
             }
         }
+        if (baseApk.isSplitRequired && stagedSplits.size() <= 1) {
+            throw new PackageManagerException(INSTALL_FAILED_MISSING_SPLIT,
+                    "Missing split for " + mPackageName);
+        }
     }
 
     @GuardedBy("mLock")
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 9b48dee..329b1da 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -88,8 +88,6 @@
 import static android.os.Trace.TRACE_TAG_PACKAGE_MANAGER;
 import static android.os.storage.StorageManager.FLAG_STORAGE_CE;
 import static android.os.storage.StorageManager.FLAG_STORAGE_DE;
-import static android.system.OsConstants.O_CREAT;
-import static android.system.OsConstants.O_RDWR;
 
 import static com.android.internal.app.IntentForwarderActivity.FORWARD_INTENT_TO_MANAGED_PROFILE;
 import static com.android.internal.app.IntentForwarderActivity.FORWARD_INTENT_TO_PARENT;
@@ -113,7 +111,8 @@
 import static com.android.server.pm.PackageManagerServiceUtils.verifySignatures;
 import static com.android.server.pm.permission.PermissionsState.PERMISSION_OPERATION_FAILURE;
 import static com.android.server.pm.permission.PermissionsState.PERMISSION_OPERATION_SUCCESS;
-import static com.android.server.pm.permission.PermissionsState.PERMISSION_OPERATION_SUCCESS_GIDS_CHANGED;
+import static com.android.server.pm.permission.PermissionsState
+        .PERMISSION_OPERATION_SUCCESS_GIDS_CHANGED;
 
 import android.Manifest;
 import android.annotation.IntDef;
@@ -137,7 +136,6 @@
 import android.content.IntentFilter;
 import android.content.IntentSender;
 import android.content.IntentSender.SendIntentException;
-import android.content.ServiceConnection;
 import android.content.pm.ActivityInfo;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.AppsQueryHelper;
@@ -213,7 +211,6 @@
 import android.os.Looper;
 import android.os.Message;
 import android.os.Parcel;
-import android.os.ParcelFileDescriptor;
 import android.os.PatternMatcher;
 import android.os.PersistableBundle;
 import android.os.Process;
@@ -235,6 +232,7 @@
 import android.os.storage.StorageManagerInternal;
 import android.os.storage.VolumeInfo;
 import android.os.storage.VolumeRecord;
+import android.permission.PermissionManager;
 import android.provider.Settings.Global;
 import android.provider.Settings.Secure;
 import android.security.KeyStore;
@@ -272,12 +270,10 @@
 
 import com.android.internal.R;
 import com.android.internal.annotations.GuardedBy;
-import com.android.internal.app.IMediaContainerService;
 import com.android.internal.app.ResolverActivity;
 import com.android.internal.content.NativeLibraryHelper;
 import com.android.internal.content.PackageHelper;
 import com.android.internal.logging.MetricsLogger;
-import com.android.internal.os.IParcelFileDescriptorFactory;
 import com.android.internal.os.SomeArgs;
 import com.android.internal.os.Zygote;
 import com.android.internal.telephony.CarrierAppUtils;
@@ -309,7 +305,8 @@
 import com.android.server.pm.dex.PackageDexUsage;
 import com.android.server.pm.permission.BasePermission;
 import com.android.server.pm.permission.DefaultPermissionGrantPolicy;
-import com.android.server.pm.permission.DefaultPermissionGrantPolicy.DefaultPermissionGrantedCallback;
+import com.android.server.pm.permission.DefaultPermissionGrantPolicy
+        .DefaultPermissionGrantedCallback;
 import com.android.server.pm.permission.PermissionManagerInternal;
 import com.android.server.pm.permission.PermissionManagerInternal.PermissionCallback;
 import com.android.server.pm.permission.PermissionManagerService;
@@ -550,12 +547,6 @@
 
     public static final String PLATFORM_PACKAGE_NAME = "android";
 
-    public static final String DEFAULT_CONTAINER_PACKAGE = "com.android.defcontainer";
-
-    public static final ComponentName DEFAULT_CONTAINER_COMPONENT = new ComponentName(
-            DEFAULT_CONTAINER_PACKAGE,
-            "com.android.defcontainer.DefaultContainerService");
-
     private static final String KILL_APP_REASON_GIDS_CHANGED =
             "permission grant or revoke changed gids";
 
@@ -728,6 +719,8 @@
     @GuardedBy("mPackages")
     final private ArraySet<PackageListObserver> mPackageListObservers = new ArraySet<>();
 
+    private PackageManager mPackageManager;
+
     class PackageParserCallback implements PackageParser.Callback {
         @Override public final boolean hasFeature(String feature) {
             return PackageManagerService.this.hasSystemFeature(feature, 0);
@@ -1237,18 +1230,9 @@
     }
     final PendingPackageBroadcasts mPendingBroadcasts = new PendingPackageBroadcasts();
 
-    // Service Connection to remote media container service to copy
-    // package uri's from external media onto secure containers
-    // or internal storage.
-    private IMediaContainerService mContainerService = null;
-
     static final int SEND_PENDING_BROADCAST = 1;
-    static final int MCS_BOUND = 3;
     static final int INIT_COPY = 5;
-    static final int MCS_UNBIND = 6;
     static final int POST_INSTALL = 9;
-    static final int MCS_RECONNECT = 10;
-    static final int MCS_GIVE_UP = 11;
     static final int WRITE_SETTINGS = 13;
     static final int WRITE_PACKAGE_RESTRICTIONS = 14;
     static final int PACKAGE_VERIFIED = 15;
@@ -1257,7 +1241,6 @@
     static final int INTENT_FILTER_VERIFIED = 18;
     static final int WRITE_PACKAGE_LIST = 19;
     static final int INSTANT_APP_RESOLUTION_PHASE_TWO = 20;
-    static final int DEF_CONTAINER_BIND = 21;
 
     static final int WRITE_SETTINGS_DELAY = 10*1000;  // 10 seconds
 
@@ -1272,21 +1255,6 @@
     // Stores a list of users whose package restrictions file needs to be updated
     private ArraySet<Integer> mDirtyUsers = new ArraySet<>();
 
-    final private DefaultContainerConnection mDefContainerConn =
-            new DefaultContainerConnection();
-    class DefaultContainerConnection implements ServiceConnection {
-        public void onServiceConnected(ComponentName name, IBinder service) {
-            if (DEBUG_SD_INSTALL) Log.i(TAG, "onServiceConnected");
-            final IMediaContainerService imcs = IMediaContainerService.Stub
-                    .asInterface(Binder.allowBlocking(service));
-            mHandler.sendMessage(mHandler.obtainMessage(MCS_BOUND, imcs));
-        }
-
-        public void onServiceDisconnected(ComponentName name) {
-            if (DEBUG_SD_INSTALL) Log.i(TAG, "onServiceDisconnected");
-        }
-    }
-
     // Recordkeeping of restore-after-install operations that are currently in flight
     // between the Package Manager and the Backup Manager
     static class PostInstallData {
@@ -1345,31 +1313,6 @@
     private final CompilerStats mCompilerStats = new CompilerStats();
 
     class PackageHandler extends Handler {
-        private boolean mBound = false;
-        final ArrayList<HandlerParams> mPendingInstalls =
-                new ArrayList<>();
-
-        private boolean connectToService() {
-            if (DEBUG_INSTALL) Log.i(TAG, "Trying to bind to DefaultContainerService");
-            Intent service = new Intent().setComponent(DEFAULT_CONTAINER_COMPONENT);
-            Process.setThreadPriority(Process.THREAD_PRIORITY_DEFAULT);
-            if (mContext.bindServiceAsUser(service, mDefContainerConn,
-                    Context.BIND_AUTO_CREATE, UserHandle.SYSTEM)) {
-                Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
-                mBound = true;
-                return true;
-            }
-            Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
-            return false;
-        }
-
-        private void disconnectService() {
-            mContainerService = null;
-            mBound = false;
-            Process.setThreadPriority(Process.THREAD_PRIORITY_DEFAULT);
-            mContext.unbindService(mDefContainerConn);
-            Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
-        }
 
         PackageHandler(Looper looper) {
             super(looper);
@@ -1385,167 +1328,18 @@
 
         void doHandleMessage(Message msg) {
             switch (msg.what) {
-                case DEF_CONTAINER_BIND:
-                    if (!mBound) {
-                        Trace.asyncTraceBegin(TRACE_TAG_PACKAGE_MANAGER, "earlyBindingMCS",
-                                System.identityHashCode(mHandler));
-                        if (!connectToService()) {
-                            Slog.e(TAG, "Failed to bind to media container service");
-                        }
-                        Trace.asyncTraceEnd(TRACE_TAG_PACKAGE_MANAGER, "earlyBindingMCS",
-                                System.identityHashCode(mHandler));
-                    }
-                    break;
                 case INIT_COPY: {
                     HandlerParams params = (HandlerParams) msg.obj;
-                    int idx = mPendingInstalls.size();
-                    if (DEBUG_INSTALL) Slog.i(TAG, "init_copy idx=" + idx + ": " + params);
-                    // If a bind was already initiated we dont really
-                    // need to do anything. The pending install
-                    // will be processed later on.
-                    if (!mBound) {
-                        Trace.asyncTraceBegin(TRACE_TAG_PACKAGE_MANAGER, "bindingMCS",
-                                System.identityHashCode(mHandler));
-                        // If this is the only one pending we might
-                        // have to bind to the service again.
-                        if (!connectToService()) {
-                            Slog.e(TAG, "Failed to bind to media container service");
-                            params.serviceError();
-                            Trace.asyncTraceEnd(TRACE_TAG_PACKAGE_MANAGER, "bindingMCS",
-                                    System.identityHashCode(mHandler));
-                            if (params.traceMethod != null) {
-                                Trace.asyncTraceEnd(TRACE_TAG_PACKAGE_MANAGER, params.traceMethod,
-                                        params.traceCookie);
-                            }
-                            return;
-                        } else {
-                            // Once we bind to the service, the first
-                            // pending request will be processed.
-                            mPendingInstalls.add(idx, params);
-                        }
-                    } else {
-                        mPendingInstalls.add(idx, params);
-                        // Already bound to the service. Just make
-                        // sure we trigger off processing the first request.
-                        if (idx == 0) {
-                            mHandler.sendEmptyMessage(MCS_BOUND);
-                        }
+                    if (params != null) {
+                        if (DEBUG_INSTALL) Slog.i(TAG, "init_copy: " + params);
+                        Trace.asyncTraceEnd(TRACE_TAG_PACKAGE_MANAGER, "queueInstall",
+                                System.identityHashCode(params));
+                        Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "startCopy");
+                        params.startCopy();
+                        Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
                     }
                     break;
                 }
-                case MCS_BOUND: {
-                    if (DEBUG_INSTALL) Slog.i(TAG, "mcs_bound");
-                    if (msg.obj != null) {
-                        mContainerService = (IMediaContainerService) msg.obj;
-                        Trace.asyncTraceEnd(TRACE_TAG_PACKAGE_MANAGER, "bindingMCS",
-                                System.identityHashCode(mHandler));
-                    }
-                    if (mContainerService == null) {
-                        if (!mBound) {
-                            // Something seriously wrong since we are not bound and we are not
-                            // waiting for connection. Bail out.
-                            Slog.e(TAG, "Cannot bind to media container service");
-                            for (HandlerParams params : mPendingInstalls) {
-                                // Indicate service bind error
-                                params.serviceError();
-                                Trace.asyncTraceEnd(TRACE_TAG_PACKAGE_MANAGER, "queueInstall",
-                                        System.identityHashCode(params));
-                                if (params.traceMethod != null) {
-                                    Trace.asyncTraceEnd(TRACE_TAG_PACKAGE_MANAGER,
-                                            params.traceMethod, params.traceCookie);
-                                }
-                            }
-                            mPendingInstalls.clear();
-                        } else {
-                            Slog.w(TAG, "Waiting to connect to media container service");
-                        }
-                    } else if (mPendingInstalls.size() > 0) {
-                        HandlerParams params = mPendingInstalls.get(0);
-                        if (params != null) {
-                            Trace.asyncTraceEnd(TRACE_TAG_PACKAGE_MANAGER, "queueInstall",
-                                    System.identityHashCode(params));
-                            Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "startCopy");
-                            if (params.startCopy()) {
-                                // We are done...  look for more work or to
-                                // go idle.
-                                if (DEBUG_SD_INSTALL) Log.i(TAG,
-                                        "Checking for more work or unbind...");
-                                // Delete pending install
-                                if (mPendingInstalls.size() > 0) {
-                                    mPendingInstalls.remove(0);
-                                }
-                                if (mPendingInstalls.size() == 0) {
-                                    if (mBound) {
-                                        if (DEBUG_SD_INSTALL) Log.i(TAG,
-                                                "Posting delayed MCS_UNBIND");
-                                        removeMessages(MCS_UNBIND);
-                                        Message ubmsg = obtainMessage(MCS_UNBIND);
-                                        // Unbind after a little delay, to avoid
-                                        // continual thrashing.
-                                        sendMessageDelayed(ubmsg, 10000);
-                                    }
-                                } else {
-                                    // There are more pending requests in queue.
-                                    // Just post MCS_BOUND message to trigger processing
-                                    // of next pending install.
-                                    if (DEBUG_SD_INSTALL) Log.i(TAG,
-                                            "Posting MCS_BOUND for next work");
-                                    mHandler.sendEmptyMessage(MCS_BOUND);
-                                }
-                            }
-                            Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
-                        }
-                    } else {
-                        // Should never happen ideally.
-                        Slog.w(TAG, "Empty queue");
-                    }
-                    break;
-                }
-                case MCS_RECONNECT: {
-                    if (DEBUG_INSTALL) Slog.i(TAG, "mcs_reconnect");
-                    if (mPendingInstalls.size() > 0) {
-                        if (mBound) {
-                            disconnectService();
-                        }
-                        if (!connectToService()) {
-                            Slog.e(TAG, "Failed to bind to media container service");
-                            for (HandlerParams params : mPendingInstalls) {
-                                // Indicate service bind error
-                                params.serviceError();
-                                Trace.asyncTraceEnd(TRACE_TAG_PACKAGE_MANAGER, "queueInstall",
-                                        System.identityHashCode(params));
-                            }
-                            mPendingInstalls.clear();
-                        }
-                    }
-                    break;
-                }
-                case MCS_UNBIND: {
-                    // If there is no actual work left, then time to unbind.
-                    if (DEBUG_INSTALL) Slog.i(TAG, "mcs_unbind");
-
-                    if (mPendingInstalls.size() == 0 && mPendingVerification.size() == 0) {
-                        if (mBound) {
-                            if (DEBUG_INSTALL) Slog.i(TAG, "calling disconnectService()");
-
-                            disconnectService();
-                        }
-                    } else if (mPendingInstalls.size() > 0) {
-                        // There are more pending requests in queue.
-                        // Just post MCS_BOUND message to trigger processing
-                        // of next pending install.
-                        mHandler.sendEmptyMessage(MCS_BOUND);
-                    }
-
-                    break;
-                }
-                case MCS_GIVE_UP: {
-                    if (DEBUG_INSTALL) Slog.i(TAG, "mcs_giveup too many retries");
-                    HandlerParams params = mPendingInstalls.remove(0);
-                    Trace.asyncTraceEnd(TRACE_TAG_PACKAGE_MANAGER, "queueInstall",
-                            System.identityHashCode(params));
-                    break;
-                }
                 case SEND_PENDING_BROADCAST: {
                     String packages[];
                     ArrayList<String> components[];
@@ -1684,11 +1478,7 @@
                                     PackageManager.VERIFICATION_ALLOW_WITHOUT_SUFFICIENT);
                             broadcastPackageVerified(verificationId, originUri,
                                     PackageManager.VERIFICATION_ALLOW, user);
-                            try {
-                                ret = args.copyApk(mContainerService, true);
-                            } catch (RemoteException e) {
-                                Slog.e(TAG, "Could not contact the ContainerService");
-                            }
+                            ret = args.copyApk();
                         } else {
                             broadcastPackageVerified(verificationId, originUri,
                                     PackageManager.VERIFICATION_REJECT, user);
@@ -1698,7 +1488,6 @@
                                 TRACE_TAG_PACKAGE_MANAGER, "verification", verificationId);
 
                         processPendingInstall(args, ret);
-                        mHandler.sendEmptyMessage(MCS_UNBIND);
                     }
                     break;
                 }
@@ -1723,14 +1512,9 @@
 
                         int ret;
                         if (state.isInstallAllowed()) {
-                            ret = PackageManager.INSTALL_FAILED_INTERNAL_ERROR;
                             broadcastPackageVerified(verificationId, originUri,
                                     response.code, state.getInstallArgs().getUser());
-                            try {
-                                ret = args.copyApk(mContainerService, true);
-                            } catch (RemoteException e) {
-                                Slog.e(TAG, "Could not contact the ContainerService");
-                            }
+                            ret = args.copyApk();
                         } else {
                             ret = PackageManager.INSTALL_FAILED_VERIFICATION_FAILURE;
                         }
@@ -1739,7 +1523,6 @@
                                 TRACE_TAG_PACKAGE_MANAGER, "verification", verificationId);
 
                         processPendingInstall(args, ret);
-                        mHandler.sendEmptyMessage(MCS_UNBIND);
                     }
 
                     break;
@@ -3130,13 +2913,15 @@
             if (mIsUpgrade) {
                 final int callingUid = getCallingUid();
 
-                final int numSplitPerms = PackageParser.SPLIT_PERMISSIONS.length;
+                final List<PermissionManager.SplitPermissionInfo> splitPermissions =
+                        mContext.getSystemService(PermissionManager.class).getSplitPermissions();
+                final int numSplitPerms = splitPermissions.size();
                 for (int splitPermNum = 0; splitPermNum < numSplitPerms; splitPermNum++) {
-                    final PackageParser.SplitPermissionInfo splitPerm =
-                            PackageParser.SPLIT_PERMISSIONS[splitPermNum];
-                    final String rootPerm = splitPerm.rootPerm;
+                    final PermissionManager.SplitPermissionInfo splitPerm =
+                            splitPermissions.get(splitPermNum);
+                    final String rootPerm = splitPerm.getRootPermission();
 
-                    if (preUpgradeSdkVersion >= splitPerm.targetSdk) {
+                    if (preUpgradeSdkVersion >= splitPerm.getTargetSdk()) {
                         continue;
                     }
 
@@ -3144,7 +2929,7 @@
                     for (int packageNum = 0; packageNum < numPackages; packageNum++) {
                         final PackageParser.Package pkg = mPackages.valueAt(packageNum);
 
-                        if (pkg.applicationInfo.targetSdkVersion >= splitPerm.targetSdk
+                        if (pkg.applicationInfo.targetSdkVersion >= splitPerm.getTargetSdk()
                                 || !pkg.requestedPermissions.contains(rootPerm)) {
                             continue;
                         }
@@ -3156,7 +2941,7 @@
                             continue;
                         }
 
-                        final String[] newPerms = splitPerm.newPerms;
+                        final String[] newPerms = splitPerm.getNewPermissions();
 
                         final int numNewPerms = newPerms.length;
                         for (int newPermNum = 0; newPermNum < numNewPerms; newPermNum++) {
@@ -8689,7 +8474,7 @@
     private boolean canSkipFullApkVerification(String apkPath) {
         final byte[] rootHashObserved;
         try {
-            rootHashObserved = VerityUtils.generateFsverityRootHash(apkPath);
+            rootHashObserved = VerityUtils.generateApkVerityRootHash(apkPath);
             if (rootHashObserved == null) {
                 return false;  // APK does not contain Merkle tree root hash.
             }
@@ -8804,7 +8589,10 @@
                             null /* originalPkgSetting */, null, parseFlags, scanFlags,
                             (pkg == mPlatformPackage), user);
                     applyPolicy(pkg, parseFlags, scanFlags, mPlatformPackage);
-                    scanPackageOnlyLI(request, mFactoryTest, -1L);
+                    final ScanResult scanResult = scanPackageOnlyLI(request, mFactoryTest, -1L);
+                    if (scanResult.existingSettingCopied && scanResult.request.pkgSetting != null) {
+                        scanResult.request.pkgSetting.updateFrom(scanResult.pkgSetting);
+                    }
                 }
             }
         }
@@ -10027,6 +9815,11 @@
         /** Whether or not the package scan was successful */
         public final boolean success;
         /**
+         * Whether or not the original PackageSetting needs to be updated with this result on
+         * commit.
+         */
+        public final boolean existingSettingCopied;
+        /**
          * The final package settings. This may be the same object passed in
          * the {@link ScanRequest}, but, with modified values.
          */
@@ -10036,11 +9829,12 @@
         public ScanResult(
                 ScanRequest request, boolean success,
                 @Nullable PackageSetting pkgSetting,
-                @Nullable List<String> changedAbiCodePath) {
+                @Nullable List<String> changedAbiCodePath, boolean existingSettingCopied) {
             this.request = request;
             this.success = success;
             this.pkgSetting = pkgSetting;
             this.changedAbiCodePath = changedAbiCodePath;
+            this.existingSettingCopied = existingSettingCopied;
         }
     }
 
@@ -10117,26 +9911,34 @@
     private @ScanFlags int adjustScanFlags(@ScanFlags int scanFlags,
             PackageSetting pkgSetting, PackageSetting disabledPkgSetting, UserHandle user,
             PackageParser.Package pkg) {
-        if (disabledPkgSetting != null) {
+
+        // TODO(patb): Do away entirely with disabledPkgSetting here. PkgSetting will always contain
+        // the correct isSystem value now that we don't disable system packages before scan.
+        final PackageSetting systemPkgSetting =
+                (scanFlags & SCAN_NEW_INSTALL) != 0 && disabledPkgSetting == null
+                        && pkgSetting != null && pkgSetting.isSystem()
+                        ? pkgSetting
+                        : disabledPkgSetting;
+        if (systemPkgSetting != null)  {
             // updated system application, must at least have SCAN_AS_SYSTEM
             scanFlags |= SCAN_AS_SYSTEM;
-            if ((disabledPkgSetting.pkgPrivateFlags
+            if ((systemPkgSetting.pkgPrivateFlags
                     & ApplicationInfo.PRIVATE_FLAG_PRIVILEGED) != 0) {
                 scanFlags |= SCAN_AS_PRIVILEGED;
             }
-            if ((disabledPkgSetting.pkgPrivateFlags
+            if ((systemPkgSetting.pkgPrivateFlags
                     & ApplicationInfo.PRIVATE_FLAG_OEM) != 0) {
                 scanFlags |= SCAN_AS_OEM;
             }
-            if ((disabledPkgSetting.pkgPrivateFlags
+            if ((systemPkgSetting.pkgPrivateFlags
                     & ApplicationInfo.PRIVATE_FLAG_VENDOR) != 0) {
                 scanFlags |= SCAN_AS_VENDOR;
             }
-            if ((disabledPkgSetting.pkgPrivateFlags
+            if ((systemPkgSetting.pkgPrivateFlags
                     & ApplicationInfo.PRIVATE_FLAG_PRODUCT) != 0) {
                 scanFlags |= SCAN_AS_PRODUCT;
             }
-            if ((disabledPkgSetting.pkgPrivateFlags
+            if ((systemPkgSetting.pkgPrivateFlags
                     & ApplicationInfo.PRIVATE_FLAG_PRODUCT_SERVICES) != 0) {
                 scanFlags |= SCAN_AS_PRODUCT_SERVICES;
             }
@@ -10266,11 +10068,18 @@
         final PackageSetting disabledPkgSetting = request.disabledPkgSetting;
         final UserHandle user = request.user;
         final String realPkgName = request.realPkgName;
-        final PackageSetting pkgSetting = result.pkgSetting;
         final List<String> changedAbiCodePath = result.changedAbiCodePath;
-        final boolean newPkgSettingCreated = (result.pkgSetting != request.pkgSetting);
-
-        if (newPkgSettingCreated) {
+        final PackageSetting pkgSetting;
+        if (result.existingSettingCopied) {
+            pkgSetting = request.pkgSetting;
+            pkgSetting.updateFrom(result.pkgSetting);
+            pkg.mExtras = pkgSetting;
+            if (pkgSetting.sharedUser != null
+                    && pkgSetting.sharedUser.removePackage(result.pkgSetting)) {
+                pkgSetting.sharedUser.addPackage(pkgSetting);
+            }
+        } else {
+            pkgSetting = result.pkgSetting;
             if (originalPkgSetting != null) {
                 mSettings.addRenamedPackageLPw(pkg.packageName, originalPkgSetting.name);
             }
@@ -10577,7 +10386,6 @@
         String primaryCpuAbiFromSettings = null;
         String secondaryCpuAbiFromSettings = null;
         boolean needToDeriveAbi = (scanFlags & SCAN_FIRST_BOOT_OR_UPGRADE) != 0;
-
         if (!needToDeriveAbi) {
             if (pkgSetting != null) {
                 primaryCpuAbiFromSettings = pkgSetting.primaryCpuAbiString;
@@ -10621,6 +10429,11 @@
                     UserManagerService.getInstance(), usesStaticLibraries,
                     pkg.usesStaticLibrariesVersions);
         } else {
+            if (!createNewPackage) {
+                // make a deep copy to avoid modifying any existing system state.
+                pkgSetting = new PackageSetting(pkgSetting);
+                pkgSetting.pkg = pkg;
+            }
             // REMOVE SharedUserSetting from method; update in a separate call.
             //
             // TODO(narayan): This update is bogus. nativeLibraryDir & primaryCpuAbi,
@@ -10653,8 +10466,10 @@
             final boolean fullApp = (scanFlags & SCAN_AS_FULL_APP) != 0;
             setInstantAppForUser(pkgSetting, userId, instantApp, fullApp);
         }
-
-        if (disabledPkgSetting != null) {
+        // TODO(patb): see if we can do away with disabled check here.
+        if (disabledPkgSetting != null
+                || (0 != (scanFlags & SCAN_NEW_INSTALL)
+                && pkgSetting != null && pkgSetting.isSystem())) {
             pkg.applicationInfo.flags |= ApplicationInfo.FLAG_UPDATED_SYSTEM_APP;
         }
 
@@ -10837,7 +10652,8 @@
             pkgSetting.volumeUuid = volumeUuid;
         }
 
-        return new ScanResult(request, true, pkgSetting, changedAbiCodePath);
+        return new ScanResult(request, true, pkgSetting, changedAbiCodePath,
+                !createNewPackage /* existingSettingCopied */);
     }
 
     /**
@@ -11052,7 +10868,7 @@
             }
 
             // A package name must be unique; don't allow duplicates
-            if (mPackages.containsKey(pkg.packageName)) {
+            if ((scanFlags & SCAN_NEW_INSTALL) == 0 && mPackages.containsKey(pkg.packageName)) {
                 throw new PackageManagerException(INSTALL_FAILED_DUPLICATE_PACKAGE,
                         "Application package " + pkg.packageName
                         + " already installed.  Skipping duplicate.");
@@ -11061,7 +10877,8 @@
             if (pkg.applicationInfo.isStaticSharedLibrary()) {
                 // Static libs have a synthetic package name containing the version
                 // but we still want the base name to be unique.
-                if (mPackages.containsKey(pkg.manifestPackageName)) {
+                if ((scanFlags & SCAN_NEW_INSTALL) == 0
+                        && mPackages.containsKey(pkg.manifestPackageName)) {
                     throw new PackageManagerException(
                             "Duplicate static shared lib provider package");
                 }
@@ -12150,7 +11967,9 @@
         // Remove the parent package setting
         PackageSetting ps = (PackageSetting) pkg.mExtras;
         if (ps != null) {
-            removePackageLI(ps, chatty);
+            removePackageLI(ps.name, chatty);
+        } else if (DEBUG_REMOVE && chatty) {
+            Log.d(TAG, "Not removing package " + pkg.packageName + "; mExtras == null");
         }
         // Remove the child package setting
         final int childCount = (pkg.childPackages != null) ? pkg.childPackages.size() : 0;
@@ -12158,23 +11977,22 @@
             PackageParser.Package childPkg = pkg.childPackages.get(i);
             ps = (PackageSetting) childPkg.mExtras;
             if (ps != null) {
-                removePackageLI(ps, chatty);
+                removePackageLI(ps.name, chatty);
             }
         }
     }
 
-    void removePackageLI(PackageSetting ps, boolean chatty) {
+    void removePackageLI(String packageName, boolean chatty) {
         if (DEBUG_INSTALL) {
             if (chatty)
-                Log.d(TAG, "Removing package " + ps.name);
+                Log.d(TAG, "Removing package " + packageName);
         }
 
         // writer
         synchronized (mPackages) {
-            mPackages.remove(ps.name);
-            final PackageParser.Package pkg = ps.pkg;
-            if (pkg != null) {
-                cleanPackageDataStructuresLILPw(pkg, chatty);
+            final PackageParser.Package removedPackage = mPackages.remove(packageName);
+            if (removedPackage != null) {
+                cleanPackageDataStructuresLILPw(removedPackage, chatty);
             }
         }
     }
@@ -12429,14 +12247,6 @@
         return installReason;
     }
 
-    /**
-     * Attempts to bind to the default container service explicitly instead of doing so lazily on
-     * install commit.
-     */
-    void earlyBindToDefContainer() {
-        mHandler.sendMessage(mHandler.obtainMessage(DEF_CONTAINER_BIND));
-    }
-
     void installStage(String packageName, File stagedDir,
             IPackageInstallObserver2 observer, PackageInstaller.SessionParams sessionParams,
             String installerPackageName, int installerUid, UserHandle user,
@@ -13783,14 +13593,6 @@
     }
 
     private abstract class HandlerParams {
-        private static final int MAX_RETRIES = 4;
-
-        /**
-         * Number of times startCopy() has been attempted and had a non-fatal
-         * error.
-         */
-        private int mRetries = 0;
-
         /** User handle for the user requesting the information or installation. */
         private final UserHandle mUser;
         String traceMethod;
@@ -13814,37 +13616,13 @@
             return this;
         }
 
-        final boolean startCopy() {
-            boolean res;
-            try {
-                if (DEBUG_INSTALL) Slog.i(TAG, "startCopy " + mUser + ": " + this);
-
-                if (++mRetries > MAX_RETRIES) {
-                    Slog.w(TAG, "Failed to invoke remote methods on default container service. Giving up");
-                    mHandler.sendEmptyMessage(MCS_GIVE_UP);
-                    handleServiceError();
-                    return false;
-                } else {
-                    handleStartCopy();
-                    res = true;
-                }
-            } catch (RemoteException e) {
-                if (DEBUG_INSTALL) Slog.i(TAG, "Posting install MCS_RECONNECT");
-                mHandler.sendEmptyMessage(MCS_RECONNECT);
-                res = false;
-            }
-            handleReturnCode();
-            return res;
-        }
-
-        final void serviceError() {
-            if (DEBUG_INSTALL) Slog.i(TAG, "serviceError");
-            handleServiceError();
+        final void startCopy() {
+            if (DEBUG_INSTALL) Slog.i(TAG, "startCopy " + mUser + ": " + this);
+            handleStartCopy();
             handleReturnCode();
         }
 
-        abstract void handleStartCopy() throws RemoteException;
-        abstract void handleServiceError();
+        abstract void handleStartCopy();
         abstract void handleReturnCode();
     }
 
@@ -14087,7 +13865,7 @@
          * policy if needed and then create install arguments based
          * on the install location.
          */
-        public void handleStartCopy() throws RemoteException {
+        public void handleStartCopy() {
             int ret = PackageManager.INSTALL_SUCCEEDED;
 
             // If we're already staged, we've firmly committed to an install location
@@ -14113,8 +13891,8 @@
                 Slog.w(TAG,  "Conflicting flags specified for installing ephemeral on external");
                 ret = PackageManager.INSTALL_FAILED_INVALID_INSTALL_LOCATION;
             } else {
-                pkgLite = mContainerService.getMinimalPackageInfo(origin.resolvedPath, installFlags,
-                        packageAbiOverride);
+                pkgLite = PackageManagerServiceUtils.getMinimalPackageInfo(mContext,
+                        origin.resolvedPath, installFlags, packageAbiOverride);
 
                 if (DEBUG_INSTANT && ephemeral) {
                     Slog.v(TAG, "pkgLite for install: " + pkgLite);
@@ -14131,15 +13909,16 @@
                     final long lowThreshold = storage.getStorageLowBytes(
                             Environment.getDataDirectory());
 
-                    final long sizeBytes = mContainerService.calculateInstalledSize(
+                    final long sizeBytes = PackageManagerServiceUtils.calculateInstalledSize(
                             origin.resolvedPath, packageAbiOverride);
-
-                    try {
-                        mInstaller.freeCache(null, sizeBytes + lowThreshold, 0, 0);
-                        pkgLite = mContainerService.getMinimalPackageInfo(origin.resolvedPath,
-                                installFlags, packageAbiOverride);
-                    } catch (InstallerException e) {
-                        Slog.w(TAG, "Failed to free cache", e);
+                    if (sizeBytes >= 0) {
+                        try {
+                            mInstaller.freeCache(null, sizeBytes + lowThreshold, 0, 0);
+                            pkgLite = PackageManagerServiceUtils.getMinimalPackageInfo(mContext,
+                                    origin.resolvedPath, installFlags, packageAbiOverride);
+                        } catch (InstallerException e) {
+                            Slog.w(TAG, "Failed to free cache", e);
+                        }
                     }
 
                     /*
@@ -14350,7 +14129,7 @@
                      * No package verification is enabled, so immediately start
                      * the remote call to initiate copy using temporary file.
                      */
-                    ret = args.copyApk(mContainerService, true);
+                    ret = args.copyApk();
                 }
             }
 
@@ -14359,19 +14138,10 @@
 
         @Override
         void handleReturnCode() {
-            // If mArgs is null, then MCS couldn't be reached. When it
-            // reconnects, it will try again to install. At that point, this
-            // will succeed.
             if (mArgs != null) {
                 processPendingInstall(mArgs, mRet);
             }
         }
-
-        @Override
-        void handleServiceError() {
-            mArgs = createInstallArgs(this);
-            mRet = PackageManager.INSTALL_FAILED_INTERNAL_ERROR;
-        }
     }
 
     private InstallArgs createInstallArgs(InstallParams params) {
@@ -14438,7 +14208,7 @@
             this.installReason = installReason;
         }
 
-        abstract int copyApk(IMediaContainerService imcs, boolean temp) throws RemoteException;
+        abstract int copyApk();
         abstract int doPreInstall(int status);
 
         /**
@@ -14546,16 +14316,16 @@
             this.resourceFile = (resourcePath != null) ? new File(resourcePath) : null;
         }
 
-        int copyApk(IMediaContainerService imcs, boolean temp) throws RemoteException {
+        int copyApk() {
             Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "copyApk");
             try {
-                return doCopyApk(imcs, temp);
+                return doCopyApk();
             } finally {
                 Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
             }
         }
 
-        private int doCopyApk(IMediaContainerService imcs, boolean temp) throws RemoteException {
+        private int doCopyApk() {
             if (origin.staged) {
                 if (DEBUG_INSTALL) Slog.d(TAG, origin.file + " already staged; skipping copy");
                 codeFile = origin.file;
@@ -14574,25 +14344,8 @@
                 return PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE;
             }
 
-            final IParcelFileDescriptorFactory target = new IParcelFileDescriptorFactory.Stub() {
-                @Override
-                public ParcelFileDescriptor open(String name, int mode) throws RemoteException {
-                    if (!FileUtils.isValidExtFilename(name)) {
-                        throw new IllegalArgumentException("Invalid filename: " + name);
-                    }
-                    try {
-                        final File file = new File(codeFile, name);
-                        final FileDescriptor fd = Os.open(file.getAbsolutePath(),
-                                O_RDWR | O_CREAT, 0644);
-                        Os.chmod(file.getAbsolutePath(), 0644);
-                        return new ParcelFileDescriptor(fd);
-                    } catch (ErrnoException e) {
-                        throw new RemoteException("Failed to open: " + e.getMessage());
-                    }
-                }
-            };
-
-            int ret = imcs.copyPackage(origin.file.getAbsolutePath(), target);
+            int ret = PackageManagerServiceUtils.copyPackage(
+                    origin.file.getAbsolutePath(), codeFile);
             if (ret != PackageManager.INSTALL_SUCCEEDED) {
                 Slog.e(TAG, "Failed to copy package");
                 return ret;
@@ -14753,7 +14506,7 @@
                     params.installReason);
         }
 
-        int copyApk(IMediaContainerService imcs, boolean temp) {
+        int copyApk() {
             if (DEBUG_INSTALL) Slog.d(TAG, "Moving " + move.packageName + " from "
                     + move.fromUuid + " to " + move.toUuid);
             synchronized (mInstaller) {
@@ -14940,68 +14693,6 @@
         String origPermission;
     }
 
-    /*
-     * Install a non-existing package.
-     */
-    private void installNewPackageLIF(PackageParser.Package pkg, final @ParseFlags int parseFlags,
-            final @ScanFlags int scanFlags, UserHandle user, String installerPackageName,
-            String volumeUuid, PackageInstalledInfo res, int installReason) {
-        Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "installNewPackage");
-
-        // Remember this for later, in case we need to rollback this install
-        String pkgName = pkg.packageName;
-
-        if (DEBUG_INSTALL) Slog.d(TAG, "installNewPackageLI: " + pkg);
-
-        synchronized(mPackages) {
-            final String renamedPackage = mSettings.getRenamedPackageLPr(pkgName);
-            if (renamedPackage != null) {
-                // A package with the same name is already installed, though
-                // it has been renamed to an older name.  The package we
-                // are trying to install should be installed as an update to
-                // the existing one, but that has not been requested, so bail.
-                res.setError(INSTALL_FAILED_ALREADY_EXISTS, "Attempt to re-install " + pkgName
-                        + " without first uninstalling package running as "
-                        + renamedPackage);
-                return;
-            }
-            if (mPackages.containsKey(pkgName)) {
-                // Don't allow installation over an existing package with the same name.
-                res.setError(INSTALL_FAILED_ALREADY_EXISTS, "Attempt to re-install " + pkgName
-                        + " without first uninstalling.");
-                return;
-            }
-        }
-
-        try {
-            final PackageParser.Package newPackage;
-            List<ScanResult> scanResults = scanPackageTracedLI(pkg, parseFlags, scanFlags,
-                    System.currentTimeMillis(), user);
-            commitSuccessfulScanResults(scanResults);
-            // TODO(b/109941548): Child packages may return >1 result with the first being the base;
-            // we need to treat child packages as an atomic install and remove this hack
-            final ScanResult basePackageScanResult = scanResults.get(0);
-            newPackage = basePackageScanResult.pkgSetting.pkg;
-            updateSettingsLI(newPackage, installerPackageName, null, res, user, installReason);
-
-            if (res.returnCode == PackageManager.INSTALL_SUCCEEDED) {
-                prepareAppDataAfterInstallLIF(newPackage);
-            } else {
-                // Remove package from internal structures, but keep around any
-                // data that might have already existed
-                deletePackageLIF(pkgName, UserHandle.ALL, false, null,
-                        PackageManager.DELETE_KEEP_DATA, res.removedInfo, true, null);
-            }
-        } catch (PackageManagerException e) {
-            destroyAppDataLIF(pkg, UserHandle.USER_ALL,
-                    StorageManager.FLAG_STORAGE_DE | StorageManager.FLAG_STORAGE_CE);
-            destroyAppProfilesLIF(pkg, UserHandle.USER_ALL);
-            res.setError("Package couldn't be installed in " + pkg.codePath, e);
-        }
-
-        Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
-    }
-
     private static void updateDigest(MessageDigest digest, File file) throws IOException {
         try (DigestInputStream digestStream =
                 new DigestInputStream(new FileInputStream(file), digest)) {
@@ -15009,482 +14700,6 @@
         }
     }
 
-    private void replacePackageLIF(PackageParser.Package pkg, final @ParseFlags int parseFlags,
-            final @ScanFlags int scanFlags, UserHandle user, String installerPackageName,
-            PackageInstalledInfo res, int installReason) {
-        final boolean isInstantApp = (scanFlags & SCAN_AS_INSTANT_APP) != 0;
-
-        final PackageParser.Package oldPackage;
-        final PackageSetting ps;
-        final String pkgName = pkg.packageName;
-        final int[] allUsers;
-        final int[] installedUsers;
-
-        synchronized(mPackages) {
-            oldPackage = mPackages.get(pkgName);
-            if (DEBUG_INSTALL) Slog.d(TAG, "replacePackageLI: new=" + pkg + ", old=" + oldPackage);
-
-            // don't allow upgrade to target a release SDK from a pre-release SDK
-            final boolean oldTargetsPreRelease = oldPackage.applicationInfo.targetSdkVersion
-                    == android.os.Build.VERSION_CODES.CUR_DEVELOPMENT;
-            final boolean newTargetsPreRelease = pkg.applicationInfo.targetSdkVersion
-                    == android.os.Build.VERSION_CODES.CUR_DEVELOPMENT;
-            if (oldTargetsPreRelease
-                    && !newTargetsPreRelease
-                    && ((parseFlags & PackageParser.PARSE_FORCE_SDK) == 0)) {
-                Slog.w(TAG, "Can't install package targeting released sdk");
-                res.setReturnCode(PackageManager.INSTALL_FAILED_UPDATE_INCOMPATIBLE);
-                return;
-            }
-
-            ps = mSettings.mPackages.get(pkgName);
-
-            // verify signatures are valid
-            final KeySetManagerService ksms = mSettings.mKeySetManagerService;
-            if (ksms.shouldCheckUpgradeKeySetLocked(ps, scanFlags)) {
-                if (!ksms.checkUpgradeKeySetLocked(ps, pkg)) {
-                    res.setError(INSTALL_FAILED_UPDATE_INCOMPATIBLE,
-                            "New package not signed by keys specified by upgrade-keysets: "
-                                    + pkgName);
-                    return;
-                }
-            } else {
-
-                // default to original signature matching
-                if (!pkg.mSigningDetails.checkCapability(oldPackage.mSigningDetails,
-                        PackageParser.SigningDetails.CertCapabilities.INSTALLED_DATA)
-                                && !oldPackage.mSigningDetails.checkCapability(
-                                        pkg.mSigningDetails,
-                                        PackageParser.SigningDetails.CertCapabilities.ROLLBACK)) {
-                    res.setError(INSTALL_FAILED_UPDATE_INCOMPATIBLE,
-                            "New package has a different signature: " + pkgName);
-                    return;
-                }
-            }
-
-            // don't allow a system upgrade unless the upgrade hash matches
-            if (oldPackage.restrictUpdateHash != null && oldPackage.isSystem()) {
-                final byte[] digestBytes;
-                try {
-                    final MessageDigest digest = MessageDigest.getInstance("SHA-512");
-                    updateDigest(digest, new File(pkg.baseCodePath));
-                    if (!ArrayUtils.isEmpty(pkg.splitCodePaths)) {
-                        for (String path : pkg.splitCodePaths) {
-                            updateDigest(digest, new File(path));
-                        }
-                    }
-                    digestBytes = digest.digest();
-                } catch (NoSuchAlgorithmException | IOException e) {
-                    res.setError(INSTALL_FAILED_INVALID_APK,
-                            "Could not compute hash: " + pkgName);
-                    return;
-                }
-                if (!Arrays.equals(oldPackage.restrictUpdateHash, digestBytes)) {
-                    res.setError(INSTALL_FAILED_INVALID_APK,
-                            "New package fails restrict-update check: " + pkgName);
-                    return;
-                }
-                // retain upgrade restriction
-                pkg.restrictUpdateHash = oldPackage.restrictUpdateHash;
-            }
-
-            // Check for shared user id changes
-            String invalidPackageName =
-                    getParentOrChildPackageChangedSharedUser(oldPackage, pkg);
-            if (invalidPackageName != null) {
-                res.setError(INSTALL_FAILED_SHARED_USER_INCOMPATIBLE,
-                        "Package " + invalidPackageName + " tried to change user "
-                                + oldPackage.mSharedUserId);
-                return;
-            }
-
-            // check if the new package supports all of the abis which the old package supports
-            boolean oldPkgSupportMultiArch = oldPackage.applicationInfo.secondaryCpuAbi != null;
-            boolean newPkgSupportMultiArch = pkg.applicationInfo.secondaryCpuAbi != null;
-            if (isSystemApp(oldPackage) && oldPkgSupportMultiArch && !newPkgSupportMultiArch) {
-                res.setError(INSTALL_FAILED_UPDATE_INCOMPATIBLE,
-                        "Update to package " + pkgName + " doesn't support multi arch");
-                return;
-            }
-
-            // In case of rollback, remember per-user/profile install state
-            allUsers = sUserManager.getUserIds();
-            installedUsers = ps.queryInstalledUsers(allUsers, true);
-
-            // don't allow an upgrade from full to ephemeral
-            if (isInstantApp) {
-                if (user == null || user.getIdentifier() == UserHandle.USER_ALL) {
-                    for (int currentUser : allUsers) {
-                        if (!ps.getInstantApp(currentUser)) {
-                            // can't downgrade from full to instant
-                            Slog.w(TAG, "Can't replace full app with instant app: " + pkgName
-                                    + " for user: " + currentUser);
-                            res.setReturnCode(PackageManager.INSTALL_FAILED_INSTANT_APP_INVALID);
-                            return;
-                        }
-                    }
-                } else if (!ps.getInstantApp(user.getIdentifier())) {
-                    // can't downgrade from full to instant
-                    Slog.w(TAG, "Can't replace full app with instant app: " + pkgName
-                            + " for user: " + user.getIdentifier());
-                    res.setReturnCode(PackageManager.INSTALL_FAILED_INSTANT_APP_INVALID);
-                    return;
-                }
-            }
-        }
-
-        // Update what is removed
-        res.removedInfo = new PackageRemovedInfo(this);
-        res.removedInfo.uid = oldPackage.applicationInfo.uid;
-        res.removedInfo.removedPackage = oldPackage.packageName;
-        res.removedInfo.installerPackageName = ps.installerPackageName;
-        res.removedInfo.isStaticSharedLib = pkg.staticSharedLibName != null;
-        res.removedInfo.isUpdate = true;
-        res.removedInfo.origUsers = installedUsers;
-        res.removedInfo.installReasons = new SparseArray<>(installedUsers.length);
-        for (int i = 0; i < installedUsers.length; i++) {
-            final int userId = installedUsers[i];
-            res.removedInfo.installReasons.put(userId, ps.getInstallReason(userId));
-        }
-
-        final int childCount = (oldPackage.childPackages != null)
-                ? oldPackage.childPackages.size() : 0;
-        for (int i = 0; i < childCount; i++) {
-            boolean childPackageUpdated = false;
-            PackageParser.Package childPkg = oldPackage.childPackages.get(i);
-            final PackageSetting childPs = mSettings.getPackageLPr(childPkg.packageName);
-            if (res.addedChildPackages != null) {
-                PackageInstalledInfo childRes = res.addedChildPackages.get(childPkg.packageName);
-                if (childRes != null) {
-                    childRes.removedInfo.uid = childPkg.applicationInfo.uid;
-                    childRes.removedInfo.removedPackage = childPkg.packageName;
-                    if (childPs != null) {
-                        childRes.removedInfo.installerPackageName = childPs.installerPackageName;
-                    }
-                    childRes.removedInfo.isUpdate = true;
-                    childRes.removedInfo.installReasons = res.removedInfo.installReasons;
-                    childPackageUpdated = true;
-                }
-            }
-            if (!childPackageUpdated) {
-                PackageRemovedInfo childRemovedRes = new PackageRemovedInfo(this);
-                childRemovedRes.removedPackage = childPkg.packageName;
-                if (childPs != null) {
-                    childRemovedRes.installerPackageName = childPs.installerPackageName;
-                }
-                childRemovedRes.isUpdate = false;
-                childRemovedRes.dataRemoved = true;
-                synchronized (mPackages) {
-                    if (childPs != null) {
-                        childRemovedRes.origUsers = childPs.queryInstalledUsers(allUsers, true);
-                    }
-                }
-                if (res.removedInfo.removedChildPackages == null) {
-                    res.removedInfo.removedChildPackages = new ArrayMap<>();
-                }
-                res.removedInfo.removedChildPackages.put(childPkg.packageName, childRemovedRes);
-            }
-        }
-
-        boolean sysPkg = (isSystemApp(oldPackage));
-        if (sysPkg) {
-            // Set the system/privileged/oem/vendor/product flags as needed
-            final boolean privileged = isPrivilegedApp(oldPackage);
-            final boolean oem = isOemApp(oldPackage);
-            final boolean vendor = isVendorApp(oldPackage);
-            final boolean product = isProductApp(oldPackage);
-            final boolean productServices = isProductServicesApp(oldPackage);
-
-            final @ParseFlags int systemParseFlags = parseFlags;
-            final @ScanFlags int systemScanFlags = scanFlags
-                    | SCAN_AS_SYSTEM
-                    | (privileged ? SCAN_AS_PRIVILEGED : 0)
-                    | (oem ? SCAN_AS_OEM : 0)
-                    | (vendor ? SCAN_AS_VENDOR : 0)
-                    | (product ? SCAN_AS_PRODUCT : 0)
-                    | (productServices ? SCAN_AS_PRODUCT_SERVICES : 0);
-
-            replaceSystemPackageLIF(oldPackage, pkg, systemParseFlags, systemScanFlags,
-                    user, allUsers, installerPackageName, res, installReason);
-        } else {
-            replaceNonSystemPackageLIF(oldPackage, pkg, parseFlags, scanFlags,
-                    user, allUsers, installerPackageName, res, installReason);
-        }
-    }
-
-    private void replaceNonSystemPackageLIF(PackageParser.Package deletedPackage,
-            PackageParser.Package pkg, final @ParseFlags int parseFlags,
-            final @ScanFlags int scanFlags, UserHandle user, int[] allUsers,
-            String installerPackageName, PackageInstalledInfo res, int installReason) {
-        if (DEBUG_INSTALL) Slog.d(TAG, "replaceNonSystemPackageLI: new=" + pkg + ", old="
-                + deletedPackage);
-
-        String pkgName = deletedPackage.packageName;
-        boolean deletedPkg = true;
-        boolean addedPkg = false;
-        boolean updatedSettings = false;
-        final boolean killApp = (scanFlags & SCAN_DONT_KILL_APP) == 0;
-        final int deleteFlags = PackageManager.DELETE_KEEP_DATA
-                | (killApp ? 0 : PackageManager.DELETE_DONT_KILL_APP);
-
-        final long origUpdateTime = (pkg.mExtras != null)
-                ? ((PackageSetting)pkg.mExtras).lastUpdateTime : 0;
-
-        // First delete the existing package while retaining the data directory
-        if (!deletePackageLIF(pkgName, null, true, allUsers, deleteFlags,
-                res.removedInfo, true, pkg)) {
-            // If the existing package wasn't successfully deleted
-            res.setError(INSTALL_FAILED_REPLACE_COULDNT_DELETE, "replaceNonSystemPackageLI");
-            deletedPkg = false;
-        } else {
-            // Successfully deleted the old package; proceed with replace.
-
-            // If deleted package lived in a container, give users a chance to
-            // relinquish resources before killing.
-            if (deletedPackage.isForwardLocked() || isExternal(deletedPackage)) {
-                if (DEBUG_INSTALL) {
-                    Slog.i(TAG, "upgrading pkg " + deletedPackage + " is ASEC-hosted -> UNAVAILABLE");
-                }
-                final int[] uidArray = new int[] { deletedPackage.applicationInfo.uid };
-                final ArrayList<String> pkgList = new ArrayList<>(1);
-                pkgList.add(deletedPackage.applicationInfo.packageName);
-                sendResourcesChangedBroadcast(false, true, pkgList, uidArray, null);
-            }
-
-            clearAppDataLIF(pkg, UserHandle.USER_ALL, StorageManager.FLAG_STORAGE_DE
-                    | StorageManager.FLAG_STORAGE_CE | Installer.FLAG_CLEAR_CODE_CACHE_ONLY);
-
-            try {
-                final List<ScanResult> scanResults = scanPackageTracedLI(pkg, parseFlags,
-                        scanFlags | SCAN_UPDATE_TIME, System.currentTimeMillis(), user);
-                commitSuccessfulScanResults(scanResults);
-                final PackageParser.Package newPackage = scanResults.get(0).pkgSetting.pkg;
-                updateSettingsLI(newPackage, installerPackageName, allUsers, res, user,
-                        installReason);
-
-                // Update the in-memory copy of the previous code paths.
-                PackageSetting ps = mSettings.mPackages.get(pkgName);
-                if (!killApp) {
-                    if (ps.oldCodePaths == null) {
-                        ps.oldCodePaths = new ArraySet<>();
-                    }
-                    Collections.addAll(ps.oldCodePaths, deletedPackage.baseCodePath);
-                    if (deletedPackage.splitCodePaths != null) {
-                        Collections.addAll(ps.oldCodePaths, deletedPackage.splitCodePaths);
-                    }
-                } else {
-                    ps.oldCodePaths = null;
-                }
-                if (ps.childPackageNames != null) {
-                    for (int i = ps.childPackageNames.size() - 1; i >= 0; --i) {
-                        final String childPkgName = ps.childPackageNames.get(i);
-                        final PackageSetting childPs = mSettings.mPackages.get(childPkgName);
-                        childPs.oldCodePaths = ps.oldCodePaths;
-                    }
-                }
-                prepareAppDataAfterInstallLIF(newPackage);
-                addedPkg = true;
-                mDexManager.notifyPackageUpdated(newPackage.packageName,
-                        newPackage.baseCodePath, newPackage.splitCodePaths);
-            } catch (PackageManagerException e) {
-                res.setError("Package couldn't be installed in " + pkg.codePath, e);
-            }
-        }
-
-        if (res.returnCode != PackageManager.INSTALL_SUCCEEDED) {
-            if (DEBUG_INSTALL) Slog.d(TAG, "Install failed, rolling pack: " + pkgName);
-
-            // Revert all internal state mutations and added folders for the failed install
-            if (addedPkg) {
-                deletePackageLIF(pkgName, null, true, allUsers, deleteFlags,
-                        res.removedInfo, true, null);
-            }
-
-            // Restore the old package
-            if (deletedPkg) {
-                if (DEBUG_INSTALL) Slog.d(TAG, "Install failed, reinstalling: " + deletedPackage);
-                File restoreFile = new File(deletedPackage.codePath);
-                // Parse old package
-                boolean oldExternal = isExternal(deletedPackage);
-                int oldParseFlags  = mDefParseFlags | PackageParser.PARSE_CHATTY |
-                        (deletedPackage.isForwardLocked() ? PackageParser.PARSE_FORWARD_LOCK : 0) |
-                        (oldExternal ? PackageParser.PARSE_EXTERNAL_STORAGE : 0);
-                int oldScanFlags = SCAN_UPDATE_SIGNATURE | SCAN_UPDATE_TIME;
-                try {
-                    scanPackageTracedLI(restoreFile, oldParseFlags, oldScanFlags, origUpdateTime,
-                            null);
-                } catch (PackageManagerException e) {
-                    Slog.e(TAG, "Failed to restore package : " + pkgName + " after failed upgrade: "
-                            + e.getMessage());
-                    return;
-                }
-
-                synchronized (mPackages) {
-                    // Ensure the installer package name up to date
-                    setInstallerPackageNameLPw(deletedPackage, installerPackageName);
-
-                    // Update permissions for restored package
-                    mPermissionManager.updatePermissions(
-                            deletedPackage.packageName, deletedPackage, false, mPackages.values(),
-                            mPermissionCallback);
-
-                    mSettings.writeLPr();
-                }
-
-                Slog.i(TAG, "Successfully restored package : " + pkgName + " after failed upgrade");
-            }
-        } else {
-            synchronized (mPackages) {
-                PackageSetting ps = mSettings.getPackageLPr(pkg.packageName);
-                if (ps != null) {
-                    res.removedInfo.removedForAllUsers = mPackages.get(ps.name) == null;
-                    if (res.removedInfo.removedChildPackages != null) {
-                        final int childCount = res.removedInfo.removedChildPackages.size();
-                        // Iterate in reverse as we may modify the collection
-                        for (int i = childCount - 1; i >= 0; i--) {
-                            String childPackageName = res.removedInfo.removedChildPackages.keyAt(i);
-                            if (res.addedChildPackages.containsKey(childPackageName)) {
-                                res.removedInfo.removedChildPackages.removeAt(i);
-                            } else {
-                                PackageRemovedInfo childInfo = res.removedInfo
-                                        .removedChildPackages.valueAt(i);
-                                childInfo.removedForAllUsers = mPackages.get(
-                                        childInfo.removedPackage) == null;
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-    private void replaceSystemPackageLIF(PackageParser.Package deletedPackage,
-            PackageParser.Package pkg, final @ParseFlags int parseFlags,
-            final @ScanFlags int scanFlags, UserHandle user,
-            int[] allUsers, String installerPackageName, PackageInstalledInfo res,
-            int installReason) {
-        if (DEBUG_INSTALL) Slog.d(TAG, "replaceSystemPackageLI: new=" + pkg
-                + ", old=" + deletedPackage);
-
-        final boolean disabledSystem;
-
-        // Remove existing system package
-        removePackageLI(deletedPackage, true);
-
-        synchronized (mPackages) {
-            disabledSystem = disableSystemPackageLPw(deletedPackage, pkg);
-        }
-        if (!disabledSystem) {
-            // We didn't need to disable the .apk as a current system package,
-            // which means we are replacing another update that is already
-            // installed.  We need to make sure to delete the older one's .apk.
-            res.removedInfo.args = createInstallArgsForExisting(0,
-                    deletedPackage.applicationInfo.getCodePath(),
-                    deletedPackage.applicationInfo.getResourcePath(),
-                    getAppDexInstructionSets(deletedPackage.applicationInfo));
-        } else {
-            res.removedInfo.args = null;
-        }
-
-        // Successfully disabled the old package. Now proceed with re-installation
-        clearAppDataLIF(pkg, UserHandle.USER_ALL, StorageManager.FLAG_STORAGE_DE
-                | StorageManager.FLAG_STORAGE_CE | Installer.FLAG_CLEAR_CODE_CACHE_ONLY);
-
-        res.setReturnCode(PackageManager.INSTALL_SUCCEEDED);
-        pkg.setApplicationInfoFlags(ApplicationInfo.FLAG_UPDATED_SYSTEM_APP,
-                ApplicationInfo.FLAG_UPDATED_SYSTEM_APP);
-
-        PackageParser.Package newPackage = null;
-        try {
-            final List<ScanResult> scanResults =
-                    scanPackageTracedLI(pkg, parseFlags, scanFlags, 0, user);
-            // Add the package to the internal data structures
-            commitSuccessfulScanResults(scanResults);
-            newPackage = scanResults.get(0).pkgSetting.pkg;
-
-            // Set the update and install times
-            PackageSetting deletedPkgSetting = (PackageSetting) deletedPackage.mExtras;
-            setInstallAndUpdateTime(newPackage, deletedPkgSetting.firstInstallTime,
-                    System.currentTimeMillis());
-
-            // Update the package dynamic state if succeeded
-            if (res.returnCode == PackageManager.INSTALL_SUCCEEDED) {
-                // Now that the install succeeded make sure we remove data
-                // directories for any child package the update removed.
-                final int deletedChildCount = (deletedPackage.childPackages != null)
-                        ? deletedPackage.childPackages.size() : 0;
-                final int newChildCount = (newPackage.childPackages != null)
-                        ? newPackage.childPackages.size() : 0;
-                for (int i = 0; i < deletedChildCount; i++) {
-                    PackageParser.Package deletedChildPkg = deletedPackage.childPackages.get(i);
-                    boolean childPackageDeleted = true;
-                    for (int j = 0; j < newChildCount; j++) {
-                        PackageParser.Package newChildPkg = newPackage.childPackages.get(j);
-                        if (deletedChildPkg.packageName.equals(newChildPkg.packageName)) {
-                            childPackageDeleted = false;
-                            break;
-                        }
-                    }
-                    if (childPackageDeleted) {
-                        PackageSetting ps = mSettings.getDisabledSystemPkgLPr(
-                                deletedChildPkg.packageName);
-                        if (ps != null && res.removedInfo.removedChildPackages != null) {
-                            PackageRemovedInfo removedChildRes = res.removedInfo
-                                    .removedChildPackages.get(deletedChildPkg.packageName);
-                            removePackageDataLIF(ps, allUsers, removedChildRes, 0, false);
-                            removedChildRes.removedForAllUsers = mPackages.get(ps.name) == null;
-                        }
-                    }
-                }
-
-                updateSettingsLI(newPackage, installerPackageName, allUsers, res, user,
-                        installReason);
-                prepareAppDataAfterInstallLIF(newPackage);
-
-                mDexManager.notifyPackageUpdated(newPackage.packageName,
-                            newPackage.baseCodePath, newPackage.splitCodePaths);
-            }
-        } catch (PackageManagerException e) {
-            res.setReturnCode(INSTALL_FAILED_INTERNAL_ERROR);
-            res.setError("Package couldn't be installed in " + pkg.codePath, e);
-        }
-
-        if (res.returnCode != PackageManager.INSTALL_SUCCEEDED) {
-            // Re installation failed. Restore old information
-            // Remove new pkg information
-            if (newPackage != null) {
-                removeInstalledPackageLI(newPackage, true);
-            }
-            // Add back the old system package
-            try {
-                final List<ScanResult> scanResults = scanPackageTracedLI(
-                        deletedPackage, parseFlags, SCAN_UPDATE_SIGNATURE, 0, user);
-                commitSuccessfulScanResults(scanResults);
-            } catch (PackageManagerException e) {
-                Slog.e(TAG, "Failed to restore original package: " + e.getMessage());
-            }
-
-            synchronized (mPackages) {
-                if (disabledSystem) {
-                    enableSystemPackageLPw(deletedPackage);
-                }
-
-                // Ensure the installer package name up to date
-                setInstallerPackageNameLPw(deletedPackage, installerPackageName);
-
-                // Update permissions for restored package
-                mPermissionManager.updatePermissions(
-                        deletedPackage.packageName, deletedPackage, false, mPackages.values(),
-                        mPermissionCallback);
-
-                mSettings.writeLPr();
-            }
-
-            Slog.i(TAG, "Successfully restored package : " + deletedPackage.packageName
-                    + " after failed upgrade");
-        }
-    }
-
     /**
      * Checks whether the parent or any of the child packages have a change shared
      * user. For a package to be a valid update the shred users of the parent and
@@ -15681,92 +14896,685 @@
 
         Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
     }
+
     private static class InstallRequest {
-        final InstallArgs args;
-        final PackageInstalledInfo res;
+        public final InstallArgs args;
+        public final PackageInstalledInfo installResult;
 
         private InstallRequest(InstallArgs args, PackageInstalledInfo res) {
             this.args = args;
-            this.res = res;
+            this.installResult = res;
         }
     }
 
     @GuardedBy({"mInstallLock", "mPackages"})
-    private void installPackageTracedLI(InstallArgs args, PackageInstalledInfo res) {
+    private void installPackageTracedLI(InstallArgs args, PackageInstalledInfo installResult) {
         try {
             Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "installPackage");
-            installPackagesLI(Collections.singletonList(new InstallRequest(args, res)));
+            installPackagesLI(Collections.singletonList(new InstallRequest(args, installResult)));
         } finally {
             Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
         }
     }
 
+    /**
+     * Package state to commit to memory and disk after reconciliation has completed.
+     */
     private static class CommitRequest {
         final Map<String, ReconciledPackage> reconciledPackages;
+        final int[] mAllUsers;
 
-        private CommitRequest(Map<String, ReconciledPackage> reconciledPackages) {
+        private CommitRequest(Map<String, ReconciledPackage> reconciledPackages, int[] allUsers) {
             this.reconciledPackages = reconciledPackages;
+            this.mAllUsers = allUsers;
         }
     }
-    private static class ReconcileRequest {
-        final Map<String, ScanResult> scannedPackages;
 
-        private ReconcileRequest(Map<String, ScanResult> scannedPackages) {
+    /**
+     * Package scan results and related request details used to reconcile the potential addition of
+     * one or more packages to the system.
+     *
+     * Reconcile will take a set of package details that need to be committed to the system and make
+     * sure that they are valid in the context of the system and the other installing apps. Any
+     * invalid state or app will result in a failed reconciliation and thus whatever operation (such
+     * as install) led to the request.
+     */
+    private static class ReconcileRequest {
+        public final Map<String, ScanResult> scannedPackages;
+
+        // TODO: Remove install-specific details from reconcile request; make them generic types
+        //       that can be used for scanDir for example.
+        public final Map<String, InstallArgs> installArgs;
+        public final Map<String, PackageInstalledInfo> installResults;
+        public final Map<String, PrepareResult> preparedPackages;
+
+        private ReconcileRequest(Map<String, ScanResult> scannedPackages,
+                Map<String, InstallArgs> installArgs,
+                Map<String, PackageInstalledInfo> installResults,
+                Map<String, PrepareResult> preparedPackages) {
             this.scannedPackages = scannedPackages;
+            this.installArgs = installArgs;
+            this.installResults = installResults;
+            this.preparedPackages = preparedPackages;
         }
     }
     private static class ReconcileFailure extends PackageManagerException {
         public ReconcileFailure(String message) {
             super("Invalid reconcile request: " + message);
         }
-    };
+    }
 
     /**
      * A container of all data needed to commit a package to in-memory data structures and to disk.
-     * Ideally most of the data contained in this class will move into a PackageSetting it contains.
+     * TODO: move most of the data contained her into a PackageSetting for commit.
      */
-    private static class ReconciledPackage {}
+    private static class ReconciledPackage {
+        public final PackageSetting pkgSetting;
+        public final ScanResult scanResult;
+        public final UserHandle installForUser;
+        public final String volumeUuid;
+        // TODO: Remove install-specific details from the reconcile result
+        public final PackageInstalledInfo installResult;
+        public final PrepareResult prepareResult;
+        @PackageManager.InstallFlags
+        public final int installFlags;
+        public final InstallArgs installArgs;
+
+        private ReconciledPackage(InstallArgs installArgs, PackageSetting pkgSetting,
+                UserHandle installForUser, PackageInstalledInfo installResult, int installFlags,
+                String volumeUuid, PrepareResult prepareResult, ScanResult scanResult) {
+            this.installArgs = installArgs;
+            this.pkgSetting = pkgSetting;
+            this.installForUser = installForUser;
+            this.installResult = installResult;
+            this.installFlags = installFlags;
+            this.volumeUuid = volumeUuid;
+            this.prepareResult = prepareResult;
+            this.scanResult = scanResult;
+        }
+    }
 
     @GuardedBy("mPackages")
     private static Map<String, ReconciledPackage> reconcilePackagesLocked(
-            final ReconcileRequest request) throws ReconcileFailure {
-        return Collections.emptyMap();
+            final ReconcileRequest request)
+            throws ReconcileFailure {
+        Map<String, ReconciledPackage> result = new ArrayMap<>(request.scannedPackages.size());
+        for (String installPackageName : request.installArgs.keySet()) {
+            final ScanResult scanResult = request.scannedPackages.get(installPackageName);
+            final InstallArgs installArgs = request.installArgs.get(installPackageName);
+            final PackageInstalledInfo res = request.installResults.get(installPackageName);
+            if (scanResult == null || installArgs == null || res == null) {
+                throw new ReconcileFailure(
+                        "inputs not balanced; missing argument for " + installPackageName);
+            }
+            result.put(installPackageName,
+                    new ReconciledPackage(installArgs, scanResult.pkgSetting, installArgs.getUser(),
+                            res, installArgs.installFlags, installArgs.volumeUuid,
+                            request.preparedPackages.get(installPackageName), scanResult));
+        }
+        return result;
     }
 
     @GuardedBy("mPackages")
     private boolean commitPackagesLocked(final CommitRequest request) {
+        // TODO: remove any expected failures from this method; this should only be able to fail due
+        //       to unavoidable errors (I/O, etc.)
+        for (ReconciledPackage reconciledPkg : request.reconciledPackages.values()) {
+            final ScanResult scanResult = reconciledPkg.scanResult;
+            final ScanRequest scanRequest = scanResult.request;
+            final PackageParser.Package pkg = scanRequest.pkg;
+            final String packageName = pkg.packageName;
+            final PackageInstalledInfo res = reconciledPkg.installResult;
+
+            if (reconciledPkg.prepareResult.replace) {
+                PackageParser.Package oldPackage = mPackages.get(packageName);
+                if (reconciledPkg.prepareResult.system) {
+                    // Remove existing system package
+                    removePackageLI(oldPackage, true);
+                    if (!disableSystemPackageLPw(oldPackage, pkg)) {
+                        // We didn't need to disable the .apk as a current system package,
+                        // which means we are replacing another update that is already
+                        // installed.  We need to make sure to delete the older one's .apk.
+                        res.removedInfo.args = createInstallArgsForExisting(0,
+                                oldPackage.applicationInfo.getCodePath(),
+                                oldPackage.applicationInfo.getResourcePath(),
+                                getAppDexInstructionSets(oldPackage.applicationInfo));
+                    } else {
+                        res.removedInfo.args = null;
+                    }
+
+                    // Set the update and install times
+                    PackageSetting deletedPkgSetting = (PackageSetting) oldPackage.mExtras;
+                    setInstallAndUpdateTime(pkg, deletedPkgSetting.firstInstallTime,
+                            System.currentTimeMillis());
+
+                    // Update the package dynamic state if succeeded
+                    // Now that the install succeeded make sure we remove data
+                    // directories for any child package the update removed.
+                    final int deletedChildCount = (oldPackage.childPackages != null)
+                            ? oldPackage.childPackages.size() : 0;
+                    final int newChildCount = (pkg.childPackages != null)
+                            ? pkg.childPackages.size() : 0;
+                    for (int i = 0; i < deletedChildCount; i++) {
+                        PackageParser.Package deletedChildPkg = oldPackage.childPackages.get(i);
+                        boolean childPackageDeleted = true;
+                        for (int j = 0; j < newChildCount; j++) {
+                            PackageParser.Package newChildPkg = pkg.childPackages.get(j);
+                            if (deletedChildPkg.packageName.equals(newChildPkg.packageName)) {
+                                childPackageDeleted = false;
+                                break;
+                            }
+                        }
+                        if (childPackageDeleted) {
+                            PackageSetting ps1 = mSettings.getDisabledSystemPkgLPr(
+                                    deletedChildPkg.packageName);
+                            if (ps1 != null && res.removedInfo.removedChildPackages != null) {
+                                PackageRemovedInfo removedChildRes = res.removedInfo
+                                        .removedChildPackages.get(deletedChildPkg.packageName);
+                                removePackageDataLIF(ps1, request.mAllUsers, removedChildRes, 0,
+                                        false);
+                                removedChildRes.removedForAllUsers = mPackages.get(ps1.name)
+                                        == null;
+                            }
+                        }
+                    }
+                } else {
+                    final boolean killApp = (scanRequest.scanFlags & SCAN_DONT_KILL_APP) == 0;
+                    final int deleteFlags = PackageManager.DELETE_KEEP_DATA
+                            | (killApp ? 0 : PackageManager.DELETE_DONT_KILL_APP);
+                    // First delete the existing package while retaining the data directory
+                    if (!deletePackageLIF(packageName, null, true, request.mAllUsers, deleteFlags,
+                            res.removedInfo, true, pkg)) {
+                        // If the existing package wasn't successfully deleted
+                        res.setError(INSTALL_FAILED_REPLACE_COULDNT_DELETE,
+                                "replaceNonSystemPackageLI");
+                        return false;
+                    } else {
+                        // Successfully deleted the old package; proceed with replace.
+
+                        // If deleted package lived in a container, give users a chance to
+                        // relinquish resources before killing.
+                        if (oldPackage.isForwardLocked() || isExternal(oldPackage)) {
+                            if (DEBUG_INSTALL) {
+                                Slog.i(TAG, "upgrading pkg " + oldPackage
+                                        + " is ASEC-hosted -> UNAVAILABLE");
+                            }
+                            final int[] uidArray = new int[]{oldPackage.applicationInfo.uid};
+                            final ArrayList<String> pkgList = new ArrayList<>(1);
+                            pkgList.add(oldPackage.applicationInfo.packageName);
+                            sendResourcesChangedBroadcast(false, true, pkgList, uidArray, null);
+                        }
+
+                        clearAppDataLIF(pkg, UserHandle.USER_ALL, StorageManager.FLAG_STORAGE_DE
+                                | StorageManager.FLAG_STORAGE_CE
+                                | Installer.FLAG_CLEAR_CODE_CACHE_ONLY);
+                    }
+
+
+
+                    // Update the in-memory copy of the previous code paths.
+                    PackageSetting ps1 = mSettings.mPackages.get(
+                            reconciledPkg.prepareResult.existingPackage.packageName);
+                    if ((reconciledPkg.installArgs.installFlags & PackageManager.DONT_KILL_APP)
+                            == 0) {
+                        if (ps1.mOldCodePaths == null) {
+                            ps1.mOldCodePaths = new ArraySet<>();
+                        }
+                        Collections.addAll(ps1.mOldCodePaths, oldPackage.baseCodePath);
+                        if (oldPackage.splitCodePaths != null) {
+                            Collections.addAll(ps1.mOldCodePaths, oldPackage.splitCodePaths);
+                        }
+                    } else {
+                        ps1.mOldCodePaths = null;
+                    }
+                    if (ps1.childPackageNames != null) {
+                        for (int i = ps1.childPackageNames.size() - 1; i >= 0; --i) {
+                            final String childPkgName = ps1.childPackageNames.get(i);
+                            final PackageSetting childPs = mSettings.mPackages.get(childPkgName);
+                            childPs.mOldCodePaths = ps1.mOldCodePaths;
+                        }
+                    }
+
+                    if (reconciledPkg.installResult.returnCode
+                            == PackageManager.INSTALL_SUCCEEDED) {
+                        PackageSetting ps2 = mSettings.getPackageLPr(pkg.packageName);
+                        if (ps2 != null) {
+                            res.removedInfo.removedForAllUsers = mPackages.get(ps2.name) == null;
+                            if (res.removedInfo.removedChildPackages != null) {
+                                final int childCount1 = res.removedInfo.removedChildPackages.size();
+                                // Iterate in reverse as we may modify the collection
+                                for (int i = childCount1 - 1; i >= 0; i--) {
+                                    String childPackageName =
+                                            res.removedInfo.removedChildPackages.keyAt(i);
+                                    if (res.addedChildPackages.containsKey(childPackageName)) {
+                                        res.removedInfo.removedChildPackages.removeAt(i);
+                                    } else {
+                                        PackageRemovedInfo childInfo = res.removedInfo
+                                                .removedChildPackages.valueAt(i);
+                                        childInfo.removedForAllUsers = mPackages.get(
+                                                childInfo.removedPackage) == null;
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+
+
+
+            try {
+                commitScanResultLocked(scanResult);
+            } catch (PackageManagerException e) {
+                res.setReturnCode(INSTALL_FAILED_INTERNAL_ERROR);
+                res.setError("Package couldn't be installed in " + pkg.codePath, e);
+                return false;
+            }
+            updateSettingsLI(pkg, reconciledPkg.installArgs.installerPackageName, request.mAllUsers,
+                    res, reconciledPkg.installForUser, reconciledPkg.installArgs.installReason);
+
+            final PackageSetting ps = mSettings.mPackages.get(packageName);
+            if (ps != null) {
+                res.newUsers = ps.queryInstalledUsers(sUserManager.getUserIds(), true);
+                ps.setUpdateAvailable(false /*updateAvailable*/);
+            }
+            final int childCount = (pkg.childPackages != null) ? pkg.childPackages.size() : 0;
+            for (int i = 0; i < childCount; i++) {
+                PackageParser.Package childPkg = pkg.childPackages.get(i);
+                PackageInstalledInfo childRes = res.addedChildPackages.get(
+                        childPkg.packageName);
+                PackageSetting childPs = mSettings.getPackageLPr(childPkg.packageName);
+                if (childPs != null) {
+                    childRes.newUsers = childPs.queryInstalledUsers(
+                            sUserManager.getUserIds(), true);
+                }
+            }
+            if (res.returnCode == PackageManager.INSTALL_SUCCEEDED) {
+                updateSequenceNumberLP(ps, res.newUsers);
+                updateInstantAppInstallerLocked(packageName);
+            }
+        }
         return true;
     }
 
-    @GuardedBy({"mInstallLock", "mPackages", "PackageManagerService.mPackages"})
+    /**
+     * Installs one or more packages atomically. This operation is broken up into four phases:
+     * <ul>
+     *     <li><b>Prepare</b>
+     *         <br/>Analyzes any current install state, parses the package and does initial
+     *         validation on it.</li>
+     *     <li><b>Scan</b>
+     *         <br/>Interrogates the parsed packages given the context collected in prepare.</li>
+     *     <li><b>Reconcile</b>
+     *         <br/>Validates scanned packages in the context of each other and the current system
+     *         state to ensure that the install will be successful.
+     *     <li><b>Commit</b>
+     *         <br/>Commits all scanned packages and updates system state. This is the only place
+     *         that system state may be modified in the install flow and all predictable errors
+     *         must be determined before this phase.</li>
+     * </ul>
+     *
+     * Failure at any phase will result in a full failure to install all packages.
+     */
+    @GuardedBy({"mInstallLock", "mPackages"})
     private void installPackagesLI(List<InstallRequest> requests) {
-        Map<String, ScanResult> scans = new ArrayMap<>(requests.size());
-        for (InstallRequest request : requests) {
-            // TODO(b/109941548): remove this once we've pulled everything from it and into scan,
-            // reconcile or commit.
-            preparePackageLI(request.args, request.res);
-
-            // TODO(b/109941548): scan package and get result
-        }
-        ReconcileRequest reconcileRequest = new ReconcileRequest(scans);
-        Map<String, ReconciledPackage> reconciledPackages;
+        final Map<String, ScanResult> scans = new ArrayMap<>(requests.size());
+        final Map<String, InstallArgs> installArgs = new ArrayMap<>(requests.size());
+        final Map<String, PackageInstalledInfo> installResults = new ArrayMap<>(requests.size());
+        final Map<String, PrepareResult> prepareResults = new ArrayMap<>(requests.size());
         try {
-            reconciledPackages = reconcilePackagesLocked(reconcileRequest);
-        } catch (ReconcileFailure e) {
-            // TODO(b/109941548): set install args error
-            return;
+            Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "installPackagesLI");
+            for (InstallRequest request : requests) {
+                // TODO(b/109941548): remove this once we've pulled everything from it and into
+                //                    scan, reconcile or commit.
+                final PrepareResult prepareResult;
+                try {
+                    Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "preparePackage");
+                    prepareResult = preparePackageLI(request.args, request.installResult);
+                } catch (PrepareFailure prepareFailure) {
+                    request.installResult.setError(prepareFailure.error,
+                            prepareFailure.getMessage());
+                    request.installResult.origPackage = prepareFailure.conflictingPackage;
+                    request.installResult.origPermission = prepareFailure.conflictingPermission;
+                    return;
+                } finally {
+                    Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
+                }
+                request.installResult.setReturnCode(PackageManager.INSTALL_SUCCEEDED);
+                request.installResult.installerPackageName = request.args.installerPackageName;
+
+                final String packageName = prepareResult.packageToScan.packageName;
+                prepareResults.put(packageName, prepareResult);
+                installResults.put(packageName, request.installResult);
+                installArgs.put(packageName, request.args);
+                try {
+                    final List<ScanResult> scanResults = scanPackageTracedLI(
+                            prepareResult.packageToScan, prepareResult.parseFlags,
+                            prepareResult.scanFlags, System.currentTimeMillis(),
+                            request.args.user);
+                    for (ScanResult result : scanResults) {
+                        if (null != scans.put(result.pkgSetting.pkg.packageName, result)) {
+                            request.installResult.setError(
+                                    PackageManager.INSTALL_FAILED_DUPLICATE_PACKAGE,
+                                    "Duplicate package " + result.pkgSetting.pkg.packageName
+                                            + " in atomic install request.");
+                            return;
+                        }
+                    }
+                } catch (PackageManagerException e) {
+                    request.installResult.setError("Scanning Failed.", e);
+                    return;
+                }
+            }
+            ReconcileRequest reconcileRequest = new ReconcileRequest(scans, installArgs,
+                    installResults,
+                    prepareResults);
+            CommitRequest commitRequest = null;
+            synchronized (mPackages) {
+                Map<String, ReconciledPackage> reconciledPackages;
+                try {
+                    Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "reconcilePackages");
+                    reconciledPackages = reconcilePackagesLocked(reconcileRequest);
+                } catch (ReconcileFailure e) {
+                    for (InstallRequest request : requests) {
+                        // TODO(b/109941548): add more concrete failure reasons
+                        request.installResult.setError("Reconciliation failed...", e);
+                        // TODO: return any used system resources
+                    }
+                    return;
+                } finally {
+                    Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
+                }
+                try {
+                    Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "commitPackages");
+                    commitRequest = new CommitRequest(reconciledPackages,
+                            sUserManager.getUserIds());
+                    if (!commitPackagesLocked(commitRequest)) {
+                        cleanUpCommitFailuresLocked(commitRequest);
+                        return;
+                    }
+                } finally {
+                    for (PrepareResult result : prepareResults.values()) {
+                        if (result.freezer != null) {
+                            result.freezer.close();
+                        }
+                    }
+                    Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
+                }
+            }
+            executePostCommitSteps(commitRequest);
+        } finally {
+            for (PrepareResult result : prepareResults.values()) {
+                if (result.freezer != null) {
+                    result.freezer.close();
+                }
+            }
+            Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
         }
-        CommitRequest request = new CommitRequest(reconciledPackages);
-        if (!commitPackagesLocked(request)) {
-            // TODO(b/109941548): set install args error
-            return;
-        }
-        // TODO(b/109941548) post-commit actions (dex-opt, etc.)
     }
 
-    @Deprecated
+    /**
+     * On successful install, executes remaining steps after commit completes and the package lock
+     * is released.
+     */
+    private void executePostCommitSteps(CommitRequest commitRequest) {
+        for (ReconciledPackage reconciledPkg : commitRequest.reconciledPackages.values()) {
+            final boolean forwardLocked =
+                    ((reconciledPkg.installFlags & PackageManager.INSTALL_FORWARD_LOCK) != 0);
+            final boolean instantApp =
+                    ((reconciledPkg.installFlags & PackageManager.INSTALL_INSTANT_APP) != 0);
+            final PackageParser.Package pkg = reconciledPkg.pkgSetting.pkg;
+            final String packageName = pkg.packageName;
+            prepareAppDataAfterInstallLIF(pkg);
+            if (reconciledPkg.prepareResult.clearCodeCache) {
+                clearAppDataLIF(pkg, UserHandle.USER_ALL, StorageManager.FLAG_STORAGE_DE
+                        | StorageManager.FLAG_STORAGE_CE | Installer.FLAG_CLEAR_CODE_CACHE_ONLY);
+            }
+            if (reconciledPkg.prepareResult.replace) {
+                mDexManager.notifyPackageUpdated(pkg.packageName,
+                        pkg.baseCodePath, pkg.splitCodePaths);
+            }
+
+            // Prepare the application profiles for the new code paths.
+            // This needs to be done before invoking dexopt so that any install-time profile
+            // can be used for optimizations.
+            mArtManagerService.prepareAppProfiles(
+                    pkg,
+                    resolveUserIds(reconciledPkg.installForUser.getIdentifier()),
+                    /* updateReferenceProfileContent= */ true);
+
+            // Check whether we need to dexopt the app.
+            //
+            // NOTE: it is IMPORTANT to call dexopt:
+            //   - after doRename which will sync the package data from PackageParser.Package and
+            //     its corresponding ApplicationInfo.
+            //   - after installNewPackageLIF or replacePackageLIF which will update result with the
+            //     uid of the application (pkg.applicationInfo.uid).
+            //     This update happens in place!
+            //
+            // We only need to dexopt if the package meets ALL of the following conditions:
+            //   1) it is not forward locked.
+            //   2) it is not on on an external ASEC container.
+            //   3) it is not an instant app or if it is then dexopt is enabled via gservices.
+            //   4) it is not debuggable.
+            //
+            // Note that we do not dexopt instant apps by default. dexopt can take some time to
+            // complete, so we skip this step during installation. Instead, we'll take extra time
+            // the first time the instant app starts. It's preferred to do it this way to provide
+            // continuous progress to the useur instead of mysteriously blocking somewhere in the
+            // middle of running an instant app. The default behaviour can be overridden
+            // via gservices.
+            final boolean performDexopt = !forwardLocked
+                    && !pkg.applicationInfo.isExternalAsec()
+                    && (!instantApp || Global.getInt(mContext.getContentResolver(),
+                    Global.INSTANT_APP_DEXOPT_ENABLED, 0) != 0)
+                    && ((pkg.applicationInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) == 0);
+
+            if (performDexopt) {
+                Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "dexopt");
+                // Do not run PackageDexOptimizer through the local performDexOpt
+                // method because `pkg` may not be in `mPackages` yet.
+                //
+                // Also, don't fail application installs if the dexopt step fails.
+                DexoptOptions dexoptOptions = new DexoptOptions(packageName,
+                        REASON_INSTALL,
+                        DexoptOptions.DEXOPT_BOOT_COMPLETE
+                                | DexoptOptions.DEXOPT_INSTALL_WITH_DEX_METADATA_FILE);
+                mPackageDexOptimizer.performDexOpt(pkg, pkg.usesLibraryFiles,
+                        null /* instructionSets */,
+                        getOrCreateCompilerPackageStats(pkg),
+                        mDexManager.getPackageUseInfoOrDefault(packageName),
+                        dexoptOptions);
+                Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
+            }
+
+            // Notify BackgroundDexOptService that the package has been changed.
+            // If this is an update of a package which used to fail to compile,
+            // BackgroundDexOptService will remove it from its blacklist.
+            // TODO: Layering violation
+            BackgroundDexOptService.notifyPackageChanged(packageName);
+        }
+
+    }
+
+    private void cleanUpCommitFailuresLocked(CommitRequest request) {
+        final Map<String, ReconciledPackage> reconciledPackages = request.reconciledPackages;
+        final int[] allUsers = request.mAllUsers;
+        for (ReconciledPackage reconciledPackage : reconciledPackages.values()) {
+            final String pkgName1 = reconciledPackage.pkgSetting.pkg.packageName;
+            if (reconciledPackage.installResult.returnCode == PackageManager.INSTALL_SUCCEEDED) {
+                reconciledPackage.installResult.setError(
+                        PackageManager.INSTALL_FAILED_INTERNAL_ERROR, "Commit failed...");
+            }
+            final PackageParser.Package oldPackage =
+                    reconciledPackage.prepareResult.existingPackage;
+            final PackageParser.Package newPackage = reconciledPackage.pkgSetting.pkg;
+            if (reconciledPackage.prepareResult.system) {
+                // Re installation failed. Restore old information
+                // Remove new pkg information
+                if (newPackage != null) {
+                    removeInstalledPackageLI(newPackage, true);
+                }
+                // Add back the old system package
+                PackageParser.Package restoredPkg = null;
+                try {
+                    final List<ScanResult> restoreResults = scanPackageTracedLI(oldPackage,
+                            reconciledPackage.prepareResult.parseFlags, SCAN_UPDATE_SIGNATURE, 0,
+                            reconciledPackage.installForUser);
+                    commitSuccessfulScanResults(restoreResults);
+                    restoredPkg = restoreResults.get(0).pkgSetting.pkg;
+                } catch (PackageManagerException e) {
+                    Slog.e(TAG, "Failed to restore original package: " + e.getMessage());
+                }
+                synchronized (mPackages) {
+                    final boolean disabledSystem;
+                    // Remove existing system package
+                    removePackageLI(reconciledPackage.scanResult.pkgSetting.pkg, true);
+                    disabledSystem = disableSystemPackageLPw(
+                            reconciledPackage.scanResult.pkgSetting.pkg, restoredPkg);
+                    if (disabledSystem) {
+                        enableSystemPackageLPw(restoredPkg);
+                    }
+                    // Ensure the installer package name up to date
+                    setInstallerPackageNameLPw(reconciledPackage.scanResult.pkgSetting.pkg,
+                            reconciledPackage.installArgs.installerPackageName);
+                    // Update permissions for restored package
+                    mPermissionManager.updatePermissions(
+                            restoredPkg.packageName, restoredPkg, false, mPackages.values(),
+                            mPermissionCallback);
+                    mSettings.writeLPr();
+                }
+                Slog.i(TAG, "Successfully restored package : " + restoredPkg.packageName
+                        + " after failed upgrade");
+            } else if (reconciledPackage.prepareResult.replace) {
+                if (DEBUG_INSTALL) Slog.d(TAG, "Install failed, rolling pack: " + pkgName1);
+
+                // Revert all internal state mutations and added folders for the failed install
+                boolean deletedPkg = deletePackageLIF(pkgName1, null, true,
+                        allUsers, /*TODO: deleteFlags*/ 0,
+                        reconciledPackage.installResult.removedInfo, true, null);
+
+                // Restore the old package
+                if (deletedPkg) {
+                    if (DEBUG_INSTALL) Slog.d(TAG, "Install failed, reinstalling: " + oldPackage);
+                    File restoreFile = new File(oldPackage.codePath);
+                    // Parse old package
+                    boolean oldExternal = isExternal(oldPackage);
+                    int oldParseFlags = mDefParseFlags | PackageParser.PARSE_CHATTY
+                            | (oldPackage.isForwardLocked() ? PackageParser.PARSE_FORWARD_LOCK : 0)
+                            | (oldExternal ? PackageParser.PARSE_EXTERNAL_STORAGE : 0);
+                    int oldScanFlags = SCAN_UPDATE_SIGNATURE | SCAN_UPDATE_TIME;
+                    try {
+                        scanPackageTracedLI(restoreFile, oldParseFlags, oldScanFlags,
+                                /* origUpdateTime */ System.currentTimeMillis(), null);
+                    } catch (PackageManagerException e) {
+                        Slog.e(TAG, "Failed to restore package : " + pkgName1
+                                + " after failed upgrade: "
+                                + e.getMessage());
+                        return;
+                    }
+
+                    synchronized (mPackages) {
+                        // Ensure the installer package name up to date
+                        setInstallerPackageNameLPw(oldPackage,
+                                reconciledPackage.installArgs.installerPackageName);
+
+                        // Update permissions for restored package
+                        mPermissionManager.updatePermissions(
+                                oldPackage.packageName, oldPackage, false, mPackages.values(),
+                                mPermissionCallback);
+
+                        mSettings.writeLPr();
+                    }
+
+                    Slog.i(TAG, "Successfully restored package : " + pkgName1
+                            + " after failed upgrade");
+                }
+            } else {
+                // Remove package from internal structures, but keep around any
+                // data that might have already existed
+                deletePackageLIF(pkgName1, UserHandle.ALL, false, null,
+                        PackageManager.DELETE_KEEP_DATA,
+                        reconciledPackage.installResult.removedInfo, true, null);
+            }
+        }
+    }
+
+    /**
+     * The set of data needed to successfully install the prepared package. This includes data that
+     * will be used to scan and reconcile the package.
+     */
+    private static class PrepareResult {
+        public final int installReason;
+        public final String volumeUuid;
+        public final String installerPackageName;
+        public final UserHandle user;
+        public final boolean replace;
+        public final int scanFlags;
+        public final int parseFlags;
+        @Nullable /* The original Package if it is being replaced, otherwise {@code null} */
+        public final PackageParser.Package existingPackage;
+        public final PackageParser.Package packageToScan;
+        public final boolean clearCodeCache;
+        public final boolean system;
+        /* The original package name if it was changed during an update, otherwise {@code null}. */
+        @Nullable
+        public final String renamedPackage;
+        public final PackageFreezer freezer;
+
+        private PrepareResult(int installReason, String volumeUuid,
+                String installerPackageName, UserHandle user, boolean replace, int scanFlags,
+                int parseFlags, PackageParser.Package existingPackage,
+                PackageParser.Package packageToScan, boolean clearCodeCache, boolean system,
+                String renamedPackage,
+                PackageFreezer freezer) {
+            this.installReason = installReason;
+            this.volumeUuid = volumeUuid;
+            this.installerPackageName = installerPackageName;
+            this.user = user;
+            this.replace = replace;
+            this.scanFlags = scanFlags;
+            this.parseFlags = parseFlags;
+            this.existingPackage = existingPackage;
+            this.packageToScan = packageToScan;
+            this.clearCodeCache = clearCodeCache;
+            this.system = system;
+            this.renamedPackage = renamedPackage;
+            this.freezer = freezer;
+        }
+    }
+
+    private static class PrepareFailure extends PackageManagerException {
+
+        public String conflictingPackage;
+        public String conflictingPermission;
+
+        PrepareFailure(int error) {
+            super(error, "Failed to prepare for install.");
+        }
+
+        PrepareFailure(int error, String detailMessage) {
+            super(error, detailMessage);
+        }
+
+        PrepareFailure(String message, Exception e) {
+            super(e instanceof PackageParserException
+                    ? ((PackageParserException) e).error
+                    : ((PackageManagerException) e).error,
+                    ExceptionUtils.getCompleteMessage(message, e));
+        }
+
+        PrepareFailure conflictsWithExistingPermission(String conflictingPermission,
+                String conflictingPackage) {
+            this.conflictingPermission = conflictingPermission;
+            this.conflictingPackage = conflictingPackage;
+            return this;
+        }
+    }
+
     @GuardedBy("mInstallLock")
-    private void preparePackageLI(InstallArgs args, PackageInstalledInfo res) {
+    private PrepareResult preparePackageLI(InstallArgs args, PackageInstalledInfo res)
+            throws PrepareFailure {
         final int installFlags = args.installFlags;
         final String installerPackageName = args.installerPackageName;
         final String volumeUuid = args.volumeUuid;
@@ -15779,7 +15587,6 @@
         final boolean forceSdk = ((installFlags & PackageManager.INSTALL_FORCE_SDK) != 0);
         final boolean virtualPreload =
                 ((installFlags & PackageManager.INSTALL_VIRTUAL_PRELOAD) != 0);
-        boolean replace = false;
         @ScanFlags int scanFlags = SCAN_NEW_INSTALL | SCAN_UPDATE_SIGNATURE;
         if (args.move != null) {
             // moving a complete application; perform an initial scan on the new install location
@@ -15798,18 +15605,13 @@
             scanFlags |= SCAN_AS_VIRTUAL_PRELOAD;
         }
 
-        // Result object to be returned
-        res.setReturnCode(PackageManager.INSTALL_SUCCEEDED);
-        res.installerPackageName = installerPackageName;
-
         if (DEBUG_INSTALL) Slog.d(TAG, "installPackageLI: path=" + tmpPackageFile);
 
         // Sanity check
         if (instantApp && (forwardLocked || onExternal)) {
             Slog.i(TAG, "Incompatible ephemeral install; fwdLocked=" + forwardLocked
                     + " external=" + onExternal);
-            res.setReturnCode(PackageManager.INSTALL_FAILED_INSTANT_APP_INVALID);
-            return;
+            throw new PrepareFailure(PackageManager.INSTALL_FAILED_INSTANT_APP_INVALID);
         }
 
         // Retrieve PackageSettings and parse package
@@ -15818,6 +15620,7 @@
                 | (forwardLocked ? PackageParser.PARSE_FORWARD_LOCK : 0)
                 | (onExternal ? PackageParser.PARSE_EXTERNAL_STORAGE : 0)
                 | (forceSdk ? PackageParser.PARSE_FORCE_SDK : 0);
+
         PackageParser pp = new PackageParser();
         pp.setSeparateProcesses(mSeparateProcesses);
         pp.setDisplayMetrics(mMetrics);
@@ -15829,8 +15632,7 @@
             pkg = pp.parsePackage(tmpPackageFile, parseFlags);
             DexMetadataHelper.validatePackageDexMetadata(pkg);
         } catch (PackageParserException e) {
-            res.setError("Failed parse during installPackageLI", e);
-            return;
+            throw new PrepareFailure("Failed parse during installPackageLI", e);
         } finally {
             Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
         }
@@ -15840,16 +15642,14 @@
             if (pkg.applicationInfo.targetSdkVersion < Build.VERSION_CODES.O) {
                 Slog.w(TAG,
                         "Instant app package " + pkg.packageName + " does not target at least O");
-                res.setError(INSTALL_FAILED_INSTANT_APP_INVALID,
+                throw new PrepareFailure(INSTALL_FAILED_INSTANT_APP_INVALID,
                         "Instant app package must target at least O");
-                return;
             }
             if (pkg.mSharedUserId != null) {
                 Slog.w(TAG, "Instant app package " + pkg.packageName
                         + " may not declare sharedUserId.");
-                res.setError(INSTALL_FAILED_INSTANT_APP_INVALID,
+                throw new PrepareFailure(INSTALL_FAILED_INSTANT_APP_INVALID,
                         "Instant app package may not declare a sharedUserId");
-                return;
             }
         }
 
@@ -15860,9 +15660,8 @@
             // No static shared libs on external storage
             if (onExternal) {
                 Slog.i(TAG, "Static shared libs can only be installed on internal storage.");
-                res.setError(INSTALL_FAILED_INVALID_INSTALL_LOCATION,
+                throw new PrepareFailure(INSTALL_FAILED_INVALID_INSTALL_LOCATION,
                         "Packages declaring static-shared libs cannot be updated");
-                return;
             }
         }
 
@@ -15901,10 +15700,9 @@
         }
 
         String pkgName = res.name = pkg.packageName;
-        if ((pkg.applicationInfo.flags&ApplicationInfo.FLAG_TEST_ONLY) != 0) {
+        if ((pkg.applicationInfo.flags & ApplicationInfo.FLAG_TEST_ONLY) != 0) {
             if ((installFlags & PackageManager.INSTALL_ALLOW_TEST) == 0) {
-                res.setError(INSTALL_FAILED_TEST_ONLY, "installPackageLI");
-                return;
+                throw new PrepareFailure(INSTALL_FAILED_TEST_ONLY, "installPackageLI");
             }
         }
 
@@ -15916,22 +15714,21 @@
                 PackageParser.collectCertificates(pkg, false /* skipVerify */);
             }
         } catch (PackageParserException e) {
-            res.setError("Failed collect during installPackageLI", e);
-            return;
+            throw new PrepareFailure("Failed collect during installPackageLI", e);
         }
 
         if (instantApp && pkg.mSigningDetails.signatureSchemeVersion
                 < SignatureSchemeVersion.SIGNING_BLOCK_V2) {
             Slog.w(TAG, "Instant app package " + pkg.packageName
                     + " is not signed with at least APK Signature Scheme v2");
-            res.setError(INSTALL_FAILED_INSTANT_APP_INVALID,
+            throw new PrepareFailure(INSTALL_FAILED_INSTANT_APP_INVALID,
                     "Instant app package must be signed with APK Signature Scheme v2 or greater");
-            return;
         }
 
         // Get rid of all references to package scan path via parser.
         pp = null;
         boolean systemApp = false;
+        boolean replace = false;
         synchronized (mPackages) {
             // Check if installing already existing package
             if ((installFlags & PackageManager.INSTALL_REPLACE_EXISTING) != 0) {
@@ -15946,8 +15743,10 @@
                     pkg.setPackageName(oldName);
                     pkgName = pkg.packageName;
                     replace = true;
-                    if (DEBUG_INSTALL) Slog.d(TAG, "Replacing existing renamed package: oldName="
-                            + oldName + " pkgName=" + pkgName);
+                    if (DEBUG_INSTALL) {
+                        Slog.d(TAG, "Replacing existing renamed package: oldName="
+                                + oldName + " pkgName=" + pkgName);
+                    }
                 } else if (mPackages.containsKey(pkgName)) {
                     // This package, under its official name, already exists
                     // on the device; we should replace it.
@@ -15957,11 +15756,11 @@
 
                 // Child packages are installed through the parent package
                 if (pkg.parentPackage != null) {
-                    res.setError(PackageManager.INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME,
+                    throw new PrepareFailure(
+                            PackageManager.INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME,
                             "Package " + pkg.packageName + " is child of package "
                                     + pkg.parentPackage.parentPackage + ". Child packages "
                                     + "can be updated only through the parent package.");
-                    return;
                 }
 
                 if (replace) {
@@ -15971,26 +15770,25 @@
                     final int newTargetSdk = pkg.applicationInfo.targetSdkVersion;
                     if (oldTargetSdk > Build.VERSION_CODES.LOLLIPOP_MR1
                             && newTargetSdk <= Build.VERSION_CODES.LOLLIPOP_MR1) {
-                        res.setError(PackageManager.INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE,
+                        throw new PrepareFailure(
+                                PackageManager.INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE,
                                 "Package " + pkg.packageName + " new target SDK " + newTargetSdk
                                         + " doesn't support runtime permissions but the old"
                                         + " target SDK " + oldTargetSdk + " does.");
-                        return;
                     }
                     // Prevent persistent apps from being updated
                     if ((oldPackage.applicationInfo.flags & ApplicationInfo.FLAG_PERSISTENT) != 0) {
-                        res.setError(PackageManager.INSTALL_FAILED_INVALID_APK,
+                        throw new PrepareFailure(PackageManager.INSTALL_FAILED_INVALID_APK,
                                 "Package " + oldPackage.packageName + " is a persistent app. "
                                         + "Persistent apps are not updateable.");
-                        return;
                     }
                     // Prevent installing of child packages
                     if (oldPackage.parentPackage != null) {
-                        res.setError(PackageManager.INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME,
+                        throw new PrepareFailure(
+                                PackageManager.INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME,
                                 "Package " + pkg.packageName + " is child of package "
                                         + oldPackage.parentPackage + ". Child packages "
                                         + "can be updated only through the parent package.");
-                        return;
                     }
                 }
             }
@@ -16017,10 +15815,9 @@
                 final KeySetManagerService ksms = mSettings.mKeySetManagerService;
                 if (ksms.shouldCheckUpgradeKeySetLocked(signatureCheckPs, scanFlags)) {
                     if (!ksms.checkUpgradeKeySetLocked(signatureCheckPs, pkg)) {
-                        res.setError(INSTALL_FAILED_UPDATE_INCOMPATIBLE, "Package "
+                        throw new PrepareFailure(INSTALL_FAILED_UPDATE_INCOMPATIBLE, "Package "
                                 + pkg.packageName + " upgrade keys do not match the "
                                 + "previously installed version");
-                        return;
                     }
                 } else {
                     try {
@@ -16037,8 +15834,7 @@
                             }
                         }
                     } catch (PackageManagerException e) {
-                        res.setError(e.error, e.getMessage());
-                        return;
+                        throw new PrepareFailure(e.error, e.getMessage());
                     }
                 }
 
@@ -16049,8 +15845,9 @@
                 res.origUsers = ps.queryInstalledUsers(sUserManager.getUserIds(), true);
             }
 
+
             int N = pkg.permissions.size();
-            for (int i = N-1; i >= 0; i--) {
+            for (int i = N - 1; i >= 0; i--) {
                 final PackageParser.Permission perm = pkg.permissions.get(i);
                 final BasePermission bp =
                         (BasePermission) mPermissionManager.getPermissionTEMP(perm.info.name);
@@ -16075,7 +15872,7 @@
                     final KeySetManagerService ksms = mSettings.mKeySetManagerService;
                     if (sourcePackageName.equals(pkg.packageName)
                             && (ksms.shouldCheckUpgradeKeySetLocked(
-                                    sourcePackageSetting, scanFlags))) {
+                            sourcePackageSetting, scanFlags))) {
                         sigsOk = ksms.checkUpgradeKeySetLocked(sourcePackageSetting, pkg);
                     } else {
 
@@ -16083,12 +15880,12 @@
                         // package's certificate has rotated from the current one, or if it is an
                         // older certificate with which the current is ok with sharing permissions
                         if (sourcePackageSetting.signatures.mSigningDetails.checkCapability(
-                                        pkg.mSigningDetails,
-                                        PackageParser.SigningDetails.CertCapabilities.PERMISSION)) {
+                                pkg.mSigningDetails,
+                                PackageParser.SigningDetails.CertCapabilities.PERMISSION)) {
                             sigsOk = true;
                         } else if (pkg.mSigningDetails.checkCapability(
-                                        sourcePackageSetting.signatures.mSigningDetails,
-                                        PackageParser.SigningDetails.CertCapabilities.PERMISSION)) {
+                                sourcePackageSetting.signatures.mSigningDetails,
+                                PackageParser.SigningDetails.CertCapabilities.PERMISSION)) {
 
                             // the scanned package checks out, has signing certificate rotation
                             // history, and is newer; bring it over
@@ -16103,12 +15900,13 @@
                         // install to proceed; we fail the install on all other permission
                         // redefinitions.
                         if (!sourcePackageName.equals("android")) {
-                            res.setError(INSTALL_FAILED_DUPLICATE_PERMISSION, "Package "
-                                    + pkg.packageName + " attempting to redeclare permission "
-                                    + perm.info.name + " already owned by " + sourcePackageName);
-                            res.origPermission = perm.info.name;
-                            res.origPackage = sourcePackageName;
-                            return;
+                            throw new PrepareFailure(INSTALL_FAILED_DUPLICATE_PERMISSION, "Package "
+                                    + pkg.packageName
+                                    + " attempting to redeclare permission "
+                                    + perm.info.name + " already owned by "
+                                    + sourcePackageName)
+                                    .conflictsWithExistingPermission(perm.info.name,
+                                            sourcePackageName);
                         } else {
                             Slog.w(TAG, "Package " + pkg.packageName
                                     + " attempting to redeclare system permission "
@@ -16137,14 +15935,12 @@
         if (systemApp) {
             if (onExternal) {
                 // Abort update; system app can't be replaced with app on sdcard
-                res.setError(INSTALL_FAILED_INVALID_INSTALL_LOCATION,
+                throw new PrepareFailure(INSTALL_FAILED_INVALID_INSTALL_LOCATION,
                         "Cannot install updates to system apps on sdcard");
-                return;
             } else if (instantApp) {
                 // Abort update; system app can't be replaced with an instant app
-                res.setError(INSTALL_FAILED_INSTANT_APP_INVALID,
+                throw new PrepareFailure(INSTALL_FAILED_INSTANT_APP_INVALID,
                         "Cannot update a system app with an instant app");
-                return;
             }
         }
 
@@ -16172,13 +15968,13 @@
 
             try {
                 String abiOverride = (TextUtils.isEmpty(pkg.cpuAbiOverride) ?
-                    args.abiOverride : pkg.cpuAbiOverride);
+                        args.abiOverride : pkg.cpuAbiOverride);
                 final boolean extractNativeLibs = !pkg.isLibrary();
                 derivePackageAbi(pkg, abiOverride, extractNativeLibs);
             } catch (PackageManagerException pme) {
                 Slog.e(TAG, "Error deriving application ABI", pme);
-                res.setError(INSTALL_FAILED_INTERNAL_ERROR, "Error deriving application ABI");
-                return;
+                throw new PrepareFailure(INSTALL_FAILED_INTERNAL_ERROR,
+                        "Error deriving application ABI");
             }
 
             // Shared libraries for the package need to be updated.
@@ -16192,8 +15988,7 @@
         }
 
         if (!args.doRename(res.returnCode, pkg)) {
-            res.setError(INSTALL_FAILED_INSUFFICIENT_STORAGE, "Failed rename");
-            return;
+            throw new PrepareFailure(INSTALL_FAILED_INSUFFICIENT_STORAGE, "Failed rename");
         }
 
         if (PackageManagerServiceUtils.isApkVerityEnabled()) {
@@ -16207,28 +16002,28 @@
                     apkPath = pkg.baseCodePath;
                 }
             }
-
             if (apkPath != null) {
                 final VerityUtils.SetupResult result =
-                        VerityUtils.generateApkVeritySetupData(apkPath);
+                        VerityUtils.generateApkVeritySetupData(apkPath, null /* signaturePath */,
+                                true /* skipSigningBlock */);
                 if (result.isOk()) {
                     if (Build.IS_DEBUGGABLE) Slog.i(TAG, "Enabling apk verity to " + apkPath);
                     FileDescriptor fd = result.getUnownedFileDescriptor();
                     try {
-                        final byte[] signedRootHash = VerityUtils.generateFsverityRootHash(apkPath);
+                        final byte[] signedRootHash =
+                                VerityUtils.generateApkVerityRootHash(apkPath);
                         mInstaller.installApkVerity(apkPath, fd, result.getContentSize());
                         mInstaller.assertFsverityRootHashMatches(apkPath, signedRootHash);
                     } catch (InstallerException | IOException | DigestException |
-                             NoSuchAlgorithmException e) {
-                        res.setError(INSTALL_FAILED_INTERNAL_ERROR,
+                            NoSuchAlgorithmException e) {
+                        throw new PrepareFailure(INSTALL_FAILED_INTERNAL_ERROR,
                                 "Failed to set up verity: " + e);
-                        return;
                     } finally {
                         IoUtils.closeQuietly(fd);
                     }
                 } else if (result.isFailed()) {
-                    res.setError(INSTALL_FAILED_INTERNAL_ERROR, "Failed to generate verity");
-                    return;
+                    throw new PrepareFailure(INSTALL_FAILED_INTERNAL_ERROR,
+                            "Failed to generate verity");
                 } else {
                     // Do nothing if verity is skipped. Will fall back to full apk verification on
                     // reboot.
@@ -16243,109 +16038,293 @@
                 Slog.d(TAG, "Not verifying instant app install for app links: " + pkgName);
             }
         }
+        final PackageFreezer freezer =
+                freezePackageForInstall(pkgName, installFlags, "installPackageLI");
+        boolean shouldCloseFreezerBeforeReturn = true;
+        try {
+            final PackageParser.Package existingPackage;
+            String renamedPackage = null;
+            boolean clearCodeCache = false;
+            boolean sysPkg = false;
+            String targetVolumeUuid = volumeUuid;
+            int targetScanFlags = scanFlags;
+            int targetParseFlags = parseFlags;
 
-        try (PackageFreezer freezer = freezePackageForInstall(pkgName, installFlags,
-                "installPackageLI")) {
             if (replace) {
+                targetVolumeUuid = null;
                 if (pkg.applicationInfo.isStaticSharedLibrary()) {
                     // Static libs have a synthetic package name containing the version
                     // and cannot be updated as an update would get a new package name,
                     // unless this is the exact same version code which is useful for
                     // development.
                     PackageParser.Package existingPkg = mPackages.get(pkg.packageName);
-                    if (existingPkg != null &&
-                            existingPkg.getLongVersionCode() != pkg.getLongVersionCode()) {
-                        res.setError(INSTALL_FAILED_DUPLICATE_PACKAGE, "Packages declaring "
-                                + "static-shared libs cannot be updated");
-                        return;
+                    if (existingPkg != null
+                            && existingPkg.getLongVersionCode() != pkg.getLongVersionCode()) {
+                        throw new PrepareFailure(INSTALL_FAILED_DUPLICATE_PACKAGE,
+                                "Packages declaring "
+                                        + "static-shared libs cannot be updated");
                     }
                 }
-                replacePackageLIF(pkg, parseFlags, scanFlags, args.user,
-                        installerPackageName, res, args.installReason);
-            } else {
-                installNewPackageLIF(pkg, parseFlags, scanFlags,
-                        args.user, installerPackageName, volumeUuid, res, args.installReason);
-            }
-        }
 
-        // Prepare the application profiles for the new code paths.
-        // This needs to be done before invoking dexopt so that any install-time profile
-        // can be used for optimizations.
-        mArtManagerService.prepareAppProfiles(pkg, resolveUserIds(args.user.getIdentifier()));
+                final boolean isInstantApp = (scanFlags & SCAN_AS_INSTANT_APP) != 0;
 
-        // Check whether we need to dexopt the app.
-        //
-        // NOTE: it is IMPORTANT to call dexopt:
-        //   - after doRename which will sync the package data from PackageParser.Package and its
-        //     corresponding ApplicationInfo.
-        //   - after installNewPackageLIF or replacePackageLIF which will update result with the
-        //     uid of the application (pkg.applicationInfo.uid).
-        //     This update happens in place!
-        //
-        // We only need to dexopt if the package meets ALL of the following conditions:
-        //   1) it is not forward locked.
-        //   2) it is not on on an external ASEC container.
-        //   3) it is not an instant app or if it is then dexopt is enabled via gservices.
-        //   4) it is not debuggable.
-        //
-        // Note that we do not dexopt instant apps by default. dexopt can take some time to
-        // complete, so we skip this step during installation. Instead, we'll take extra time
-        // the first time the instant app starts. It's preferred to do it this way to provide
-        // continuous progress to the useur instead of mysteriously blocking somewhere in the
-        // middle of running an instant app. The default behaviour can be overridden
-        // via gservices.
-        final boolean performDexopt = (res.returnCode == PackageManager.INSTALL_SUCCEEDED)
-                && !forwardLocked
-                && !pkg.applicationInfo.isExternalAsec()
-                && (!instantApp || Global.getInt(mContext.getContentResolver(),
-                Global.INSTANT_APP_DEXOPT_ENABLED, 0) != 0)
-                && ((pkg.applicationInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) == 0);
+                final PackageParser.Package oldPackage;
+                final PackageSetting ps;
+                final String pkgName11 = pkg.packageName;
+                final int[] allUsers;
+                final int[] installedUsers;
 
-        if (performDexopt) {
-            Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "dexopt");
-            // Do not run PackageDexOptimizer through the local performDexOpt
-            // method because `pkg` may not be in `mPackages` yet.
-            //
-            // Also, don't fail application installs if the dexopt step fails.
-            DexoptOptions dexoptOptions = new DexoptOptions(pkg.packageName,
-                    REASON_INSTALL,
-                    DexoptOptions.DEXOPT_BOOT_COMPLETE |
-                    DexoptOptions.DEXOPT_INSTALL_WITH_DEX_METADATA_FILE);
-            mPackageDexOptimizer.performDexOpt(pkg, pkg.usesLibraryFiles,
-                    null /* instructionSets */,
-                    getOrCreateCompilerPackageStats(pkg),
-                    mDexManager.getPackageUseInfoOrDefault(pkg.packageName),
-                    dexoptOptions);
-            Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
-        }
+                synchronized (mPackages) {
+                    oldPackage = mPackages.get(pkgName11);
+                    existingPackage = oldPackage;
+                    if (DEBUG_INSTALL) {
+                        Slog.d(TAG,
+                                "replacePackageLI: new=" + pkg + ", old=" + oldPackage);
+                    }
 
-        // Notify BackgroundDexOptService that the package has been changed.
-        // If this is an update of a package which used to fail to compile,
-        // BackgroundDexOptService will remove it from its blacklist.
-        // TODO: Layering violation
-        BackgroundDexOptService.notifyPackageChanged(pkg.packageName);
+                    // don't allow upgrade to target a release SDK from a pre-release SDK
+                    final boolean oldTargetsPreRelease = oldPackage.applicationInfo.targetSdkVersion
+                            == Build.VERSION_CODES.CUR_DEVELOPMENT;
+                    final boolean newTargetsPreRelease = pkg.applicationInfo.targetSdkVersion
+                            == Build.VERSION_CODES.CUR_DEVELOPMENT;
+                    if (oldTargetsPreRelease
+                            && !newTargetsPreRelease
+                            && ((parseFlags & PackageParser.PARSE_FORCE_SDK) == 0)) {
+                        Slog.w(TAG, "Can't install package targeting released sdk");
+                        throw new PrepareFailure(
+                                PackageManager.INSTALL_FAILED_UPDATE_INCOMPATIBLE);
+                    }
 
-        synchronized (mPackages) {
-            final PackageSetting ps = mSettings.mPackages.get(pkgName);
-            if (ps != null) {
-                res.newUsers = ps.queryInstalledUsers(sUserManager.getUserIds(), true);
-                ps.setUpdateAvailable(false /*updateAvailable*/);
-            }
+                    ps = mSettings.mPackages.get(pkgName11);
 
-            final int childCount = (pkg.childPackages != null) ? pkg.childPackages.size() : 0;
-            for (int i = 0; i < childCount; i++) {
-                PackageParser.Package childPkg = pkg.childPackages.get(i);
-                PackageInstalledInfo childRes = res.addedChildPackages.get(childPkg.packageName);
-                PackageSetting childPs = mSettings.getPackageLPr(childPkg.packageName);
-                if (childPs != null) {
-                    childRes.newUsers = childPs.queryInstalledUsers(
-                            sUserManager.getUserIds(), true);
+                    // verify signatures are valid
+                    final KeySetManagerService ksms = mSettings.mKeySetManagerService;
+                    if (ksms.shouldCheckUpgradeKeySetLocked(ps, scanFlags)) {
+                        if (!ksms.checkUpgradeKeySetLocked(ps, pkg)) {
+                            throw new PrepareFailure(INSTALL_FAILED_UPDATE_INCOMPATIBLE,
+                                    "New package not signed by keys specified by upgrade-keysets: "
+                                            + pkgName11);
+                        }
+                    } else {
+                        // default to original signature matching
+                        if (!pkg.mSigningDetails.checkCapability(oldPackage.mSigningDetails,
+                                SigningDetails.CertCapabilities.INSTALLED_DATA)
+                                && !oldPackage.mSigningDetails.checkCapability(
+                                pkg.mSigningDetails,
+                                SigningDetails.CertCapabilities.ROLLBACK)) {
+                            throw new PrepareFailure(INSTALL_FAILED_UPDATE_INCOMPATIBLE,
+                                    "New package has a different signature: " + pkgName11);
+                        }
+                    }
+
+                    // don't allow a system upgrade unless the upgrade hash matches
+                    if (oldPackage.restrictUpdateHash != null && oldPackage.isSystem()) {
+                        final byte[] digestBytes;
+                        try {
+                            final MessageDigest digest = MessageDigest.getInstance("SHA-512");
+                            updateDigest(digest, new File(pkg.baseCodePath));
+                            if (!ArrayUtils.isEmpty(pkg.splitCodePaths)) {
+                                for (String path : pkg.splitCodePaths) {
+                                    updateDigest(digest, new File(path));
+                                }
+                            }
+                            digestBytes = digest.digest();
+                        } catch (NoSuchAlgorithmException | IOException e) {
+                            throw new PrepareFailure(INSTALL_FAILED_INVALID_APK,
+                                    "Could not compute hash: " + pkgName11);
+                        }
+                        if (!Arrays.equals(oldPackage.restrictUpdateHash, digestBytes)) {
+                            throw new PrepareFailure(INSTALL_FAILED_INVALID_APK,
+                                    "New package fails restrict-update check: " + pkgName11);
+                        }
+                        // retain upgrade restriction
+                        pkg.restrictUpdateHash = oldPackage.restrictUpdateHash;
+                    }
+
+                    // Check for shared user id changes
+                    String invalidPackageName =
+                            getParentOrChildPackageChangedSharedUser(oldPackage, pkg);
+                    if (invalidPackageName != null) {
+                        throw new PrepareFailure(INSTALL_FAILED_SHARED_USER_INCOMPATIBLE,
+                                "Package " + invalidPackageName + " tried to change user "
+                                        + oldPackage.mSharedUserId);
+                    }
+
+                    // check if the new package supports all of the abis which the old package
+                    // supports
+                    boolean oldPkgSupportMultiArch =
+                            oldPackage.applicationInfo.secondaryCpuAbi != null;
+                    boolean newPkgSupportMultiArch = pkg.applicationInfo.secondaryCpuAbi != null;
+                    if (isSystemApp(oldPackage) && oldPkgSupportMultiArch
+                            && !newPkgSupportMultiArch) {
+                        throw new PrepareFailure(INSTALL_FAILED_UPDATE_INCOMPATIBLE,
+                                "Update to package " + pkgName11 + " doesn't support multi arch");
+                    }
+
+                    // In case of rollback, remember per-user/profile install state
+                    allUsers = sUserManager.getUserIds();
+                    installedUsers = ps.queryInstalledUsers(allUsers, true);
+
+
+                    // don't allow an upgrade from full to ephemeral
+                    if (isInstantApp) {
+                        if (args.user == null || args.user.getIdentifier() == UserHandle.USER_ALL) {
+                            for (int currentUser : allUsers) {
+                                if (!ps.getInstantApp(currentUser)) {
+                                    // can't downgrade from full to instant
+                                    Slog.w(TAG,
+                                            "Can't replace full app with instant app: " + pkgName11
+                                                    + " for user: " + currentUser);
+                                    throw new PrepareFailure(
+                                            PackageManager.INSTALL_FAILED_INSTANT_APP_INVALID);
+                                }
+                            }
+                        } else if (!ps.getInstantApp(args.user.getIdentifier())) {
+                            // can't downgrade from full to instant
+                            Slog.w(TAG, "Can't replace full app with instant app: " + pkgName11
+                                    + " for user: " + args.user.getIdentifier());
+                            throw new PrepareFailure(
+                                    PackageManager.INSTALL_FAILED_INSTANT_APP_INVALID);
+                        }
+                    }
+                }
+
+                // Update what is removed
+                res.removedInfo = new PackageRemovedInfo(this);
+                res.removedInfo.uid = oldPackage.applicationInfo.uid;
+                res.removedInfo.removedPackage = oldPackage.packageName;
+                res.removedInfo.installerPackageName = ps.installerPackageName;
+                res.removedInfo.isStaticSharedLib = pkg.staticSharedLibName != null;
+                res.removedInfo.isUpdate = true;
+                res.removedInfo.origUsers = installedUsers;
+                res.removedInfo.installReasons = new SparseArray<>(installedUsers.length);
+                for (int i = 0; i < installedUsers.length; i++) {
+                    final int userId = installedUsers[i];
+                    res.removedInfo.installReasons.put(userId, ps.getInstallReason(userId));
+                }
+
+                final int childCount = (oldPackage.childPackages != null)
+                        ? oldPackage.childPackages.size() : 0;
+                for (int i = 0; i < childCount; i++) {
+                    boolean childPackageUpdated = false;
+                    PackageParser.Package childPkg = oldPackage.childPackages.get(i);
+                    final PackageSetting childPs = mSettings.getPackageLPr(childPkg.packageName);
+                    if (res.addedChildPackages != null) {
+                        PackageInstalledInfo childRes = res.addedChildPackages.get(
+                                childPkg.packageName);
+                        if (childRes != null) {
+                            childRes.removedInfo.uid = childPkg.applicationInfo.uid;
+                            childRes.removedInfo.removedPackage = childPkg.packageName;
+                            if (childPs != null) {
+                                childRes.removedInfo.installerPackageName =
+                                        childPs.installerPackageName;
+                            }
+                            childRes.removedInfo.isUpdate = true;
+                            childRes.removedInfo.installReasons = res.removedInfo.installReasons;
+                            childPackageUpdated = true;
+                        }
+                    }
+                    if (!childPackageUpdated) {
+                        PackageRemovedInfo childRemovedRes = new PackageRemovedInfo(this);
+                        childRemovedRes.removedPackage = childPkg.packageName;
+                        if (childPs != null) {
+                            childRemovedRes.installerPackageName = childPs.installerPackageName;
+                        }
+                        childRemovedRes.isUpdate = false;
+                        childRemovedRes.dataRemoved = true;
+                        synchronized (mPackages) {
+                            if (childPs != null) {
+                                childRemovedRes.origUsers = childPs.queryInstalledUsers(allUsers,
+                                        true);
+                            }
+                        }
+                        if (res.removedInfo.removedChildPackages == null) {
+                            res.removedInfo.removedChildPackages = new ArrayMap<>();
+                        }
+                        res.removedInfo.removedChildPackages.put(childPkg.packageName,
+                                childRemovedRes);
+                    }
+                }
+
+                sysPkg = (isSystemApp(oldPackage));
+                if (sysPkg) {
+                    // Set the system/privileged/oem/vendor/product flags as needed
+                    final boolean privileged = isPrivilegedApp(oldPackage);
+                    final boolean oem = isOemApp(oldPackage);
+                    final boolean vendor = isVendorApp(oldPackage);
+                    final boolean product = isProductApp(oldPackage);
+                    final @ParseFlags int systemParseFlags = parseFlags;
+                    final @ScanFlags int systemScanFlags = scanFlags
+                            | SCAN_AS_SYSTEM
+                            | (privileged ? SCAN_AS_PRIVILEGED : 0)
+                            | (oem ? SCAN_AS_OEM : 0)
+                            | (vendor ? SCAN_AS_VENDOR : 0)
+                            | (product ? SCAN_AS_PRODUCT : 0);
+
+                    if (DEBUG_INSTALL) {
+                        Slog.d(TAG, "replaceSystemPackageLI: new=" + pkg
+                                + ", old=" + oldPackage);
+                    }
+                    clearCodeCache = true;
+                    res.setReturnCode(PackageManager.INSTALL_SUCCEEDED);
+                    pkg.setApplicationInfoFlags(ApplicationInfo.FLAG_UPDATED_SYSTEM_APP,
+                            ApplicationInfo.FLAG_UPDATED_SYSTEM_APP);
+                    targetParseFlags = systemParseFlags;
+                    targetScanFlags = systemScanFlags;
+                } else { // non system replace
+                    replace = true;
+                    if (DEBUG_INSTALL) {
+                        Slog.d(TAG,
+                                "replaceNonSystemPackageLI: new=" + pkg + ", old="
+                                        + oldPackage);
+                    }
+
+                    String pkgName1 = oldPackage.packageName;
+                    boolean deletedPkg = true;
+                    boolean addedPkg = false;
+                    boolean updatedSettings = false;
+
+                    final long origUpdateTime = (pkg.mExtras != null)
+                            ? ((PackageSetting) pkg.mExtras).lastUpdateTime : 0;
+
+                }
+            } else { // new package install
+                replace = false;
+                existingPackage = null;
+                // Remember this for later, in case we need to rollback this install
+                String pkgName1 = pkg.packageName;
+
+                if (DEBUG_INSTALL) Slog.d(TAG, "installNewPackageLI: " + pkg);
+
+                // TODO(patb): MOVE TO RECONCILE
+                synchronized (mPackages) {
+                    renamedPackage = mSettings.getRenamedPackageLPr(pkgName1);
+                    if (renamedPackage != null) {
+                        // A package with the same name is already installed, though
+                        // it has been renamed to an older name.  The package we
+                        // are trying to install should be installed as an update to
+                        // the existing one, but that has not been requested, so bail.
+                        throw new PrepareFailure(INSTALL_FAILED_ALREADY_EXISTS,
+                                "Attempt to re-install " + pkgName1
+                                        + " without first uninstalling package running as "
+                                        + renamedPackage);
+                    }
+                    if (mPackages.containsKey(pkgName1)) {
+                        // Don't allow installation over an existing package with the same name.
+                        throw new PrepareFailure(INSTALL_FAILED_ALREADY_EXISTS,
+                                "Attempt to re-install " + pkgName1
+                                        + " without first uninstalling.");
+                    }
                 }
             }
-
-            if (res.returnCode == PackageManager.INSTALL_SUCCEEDED) {
-                updateSequenceNumberLP(ps, res.newUsers);
-                updateInstantAppInstallerLocked(pkgName);
+            // we're passing the freezer back to be closed in a later phase of install
+            shouldCloseFreezerBeforeReturn = false;
+            return new PrepareResult(args.installReason, targetVolumeUuid, installerPackageName,
+                    args.user, replace, targetScanFlags, targetParseFlags, existingPackage, pkg,
+                    clearCodeCache, sysPkg, renamedPackage, freezer);
+        } finally {
+            if (shouldCloseFreezerBeforeReturn) {
+                freezer.close();
             }
         }
     }
@@ -17155,7 +17134,7 @@
             }
         }
 
-        removePackageLI(ps, (flags & PackageManager.DELETE_CHATTY) != 0);
+        removePackageLI(ps.name, (flags & PackageManager.DELETE_CHATTY) != 0);
 
         if ((flags & PackageManager.DELETE_KEEP_DATA) == 0) {
             final PackageParser.Package resolvedPkg;
@@ -21212,8 +21191,18 @@
         //
         // We also have to cover non system users because we do not call the usual install package
         // methods for them.
+        //
+        // NOTE: in order to speed up first boot time we only create the current profile and do not
+        // update the content of the reference profile. A system image should already be configured
+        // with the right profile keys and the profiles for the speed-profile prebuilds should
+        // already be copied. That's done in #performDexOptUpgrade.
+        //
+        // TODO(calin, mathieuc): We should use .dm files for prebuilds profiles instead of
+        // manually copying them in #performDexOptUpgrade. When we do that we should have a more
+        // granular check here and only update the existing profiles.
         if (mIsUpgrade || mFirstBoot || (userId != UserHandle.USER_SYSTEM)) {
-            mArtManagerService.prepareAppProfiles(pkg, userId);
+            mArtManagerService.prepareAppProfiles(pkg, userId,
+                /* updateReferenceProfileContent= */ false);
         }
 
         if ((flags & StorageManager.FLAG_STORAGE_CE) != 0 && ceDataInode != -1) {
@@ -22266,6 +22255,22 @@
         }
 
         @Override
+        public boolean isPlatformSigned(String packageName) {
+            PackageSetting packageSetting = mSettings.mPackages.get(packageName);
+            if (packageSetting == null) {
+                return false;
+            }
+            PackageParser.Package pkg = packageSetting.pkg;
+            if (pkg == null) {
+                // May happen if package in on a removable sd card
+                return false;
+            }
+            return pkg.mSigningDetails.hasAncestorOrSelf(mPlatformPackage.mSigningDetails)
+                    || mPlatformPackage.mSigningDetails.checkCapability(pkg.mSigningDetails,
+                    PackageParser.SigningDetails.CertCapabilities.PERMISSION);
+        }
+
+        @Override
         public boolean isDataRestoreSafe(byte[] restoringFromSigHash, String packageName) {
             SigningDetails sd = getSigningDetails(packageName);
             if (sd == null) {
@@ -22377,7 +22382,7 @@
         }
 
         @Override
-        public PackageParser.Package getDisabledPackage(String packageName) {
+        public PackageParser.Package getDisabledSystemPackage(String packageName) {
             synchronized (mPackages) {
                 final PackageSetting ps = mSettings.getDisabledSystemPkgLPr(packageName);
                 return (ps != null) ? ps.pkg : null;
@@ -22385,6 +22390,12 @@
         }
 
         @Override
+        public @Nullable String getDisabledSystemPackageName(@NonNull String packageName) {
+            PackageParser.Package pkg = getDisabledSystemPackage(packageName);
+            return pkg == null ? null : pkg.packageName;
+        }
+
+        @Override
         public String getKnownPackageName(int knownPackage, int userId) {
             switch(knownPackage) {
                 case PackageManagerInternal.PACKAGE_BROWSER:
@@ -22422,21 +22433,6 @@
         }
 
         @Override
-        public void setSmsAppPackagesProvider(PackagesProvider provider) {
-            mDefaultPermissionPolicy.setSmsAppPackagesProvider(provider);
-        }
-
-        @Override
-        public void setDialerAppPackagesProvider(PackagesProvider provider) {
-            mDefaultPermissionPolicy.setDialerAppPackagesProvider(provider);
-        }
-
-        @Override
-        public void setSimCallManagerPackagesProvider(PackagesProvider provider) {
-            mDefaultPermissionPolicy.setSimCallManagerPackagesProvider(provider);
-        }
-
-        @Override
         public void setUseOpenWifiAppPackagesProvider(PackagesProvider provider) {
             mDefaultPermissionPolicy.setUseOpenWifiAppPackagesProvider(provider);
         }
@@ -22447,22 +22443,10 @@
         }
 
         @Override
-        public void grantDefaultPermissionsToDefaultSmsApp(String packageName, int userId) {
-            mDefaultPermissionPolicy.grantDefaultPermissionsToDefaultSmsApp(packageName, userId);
-        }
-
-        @Override
-        public void grantDefaultPermissionsToDefaultDialerApp(String packageName, int userId) {
+        public void onDefaultDialerAppChanged(String packageName, int userId) {
             synchronized (mPackages) {
                 mSettings.setDefaultDialerPackageNameLPw(packageName, userId);
             }
-            mDefaultPermissionPolicy.grantDefaultPermissionsToDefaultDialerApp(packageName, userId);
-        }
-
-        @Override
-        public void grantDefaultPermissionsToDefaultSimCallManager(String packageName, int userId) {
-            mDefaultPermissionPolicy.grantDefaultPermissionsToDefaultSimCallManager(
-                    packageName, userId);
         }
 
         @Override
diff --git a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
index 390c0cc..36948fc 100644
--- a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
+++ b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
@@ -18,23 +18,21 @@
 
 import static android.content.pm.PackageManager.INSTALL_FAILED_SHARED_USER_INCOMPATIBLE;
 import static android.content.pm.PackageManager.INSTALL_FAILED_UPDATE_INCOMPATIBLE;
+import static android.system.OsConstants.O_CREAT;
+import static android.system.OsConstants.O_RDWR;
+
 import static com.android.server.pm.PackageManagerService.COMPRESSED_EXTENSION;
 import static com.android.server.pm.PackageManagerService.DEBUG_COMPRESSION;
 import static com.android.server.pm.PackageManagerService.DEBUG_DEXOPT;
 import static com.android.server.pm.PackageManagerService.STUB_SUFFIX;
 import static com.android.server.pm.PackageManagerService.TAG;
-import static com.android.server.pm.PackageManagerServiceUtils.logCriticalInfo;
-
-import com.android.internal.content.NativeLibraryHelper;
-import com.android.internal.util.FastPrintWriter;
-import com.android.server.EventLogTags;
-import com.android.server.pm.dex.DexManager;
-import com.android.server.pm.dex.PackageDexUsage;
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.app.AppGlobals;
+import android.content.Context;
 import android.content.Intent;
+import android.content.pm.PackageInfoLite;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageParser;
 import android.content.pm.PackageParser.PackageParserException;
@@ -53,18 +51,24 @@
 import android.system.Os;
 import android.util.ArraySet;
 import android.util.Log;
-import android.util.PackageUtils;
 import android.util.Slog;
 import android.util.proto.ProtoOutputStream;
 
+import com.android.internal.content.NativeLibraryHelper;
+import com.android.internal.content.PackageHelper;
+import com.android.internal.util.ArrayUtils;
+import com.android.internal.util.FastPrintWriter;
+import com.android.server.EventLogTags;
+import com.android.server.pm.dex.DexManager;
+import com.android.server.pm.dex.PackageDexUsage;
+
 import dalvik.system.VMRuntime;
 
 import libcore.io.IoUtils;
-import libcore.io.Libcore;
-import libcore.io.Streams;
 
 import java.io.BufferedReader;
 import java.io.File;
+import java.io.FileDescriptor;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.FileReader;
@@ -73,8 +77,6 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.PrintWriter;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
 import java.security.cert.CertificateEncodingException;
 import java.security.cert.CertificateException;
 import java.text.SimpleDateFormat;
@@ -710,4 +712,120 @@
         final File[] compressedFiles = getCompressedFiles(codePath);
         return compressedFiles != null && compressedFiles.length > 0;
     }
+
+    /**
+     * Parse given package and return minimal details.
+     */
+    public static PackageInfoLite getMinimalPackageInfo(Context context, String packagePath,
+            int flags, String abiOverride) {
+        final PackageInfoLite ret = new PackageInfoLite();
+        if (packagePath == null) {
+            Slog.i(TAG, "Invalid package file " + packagePath);
+            ret.recommendedInstallLocation = PackageHelper.RECOMMEND_FAILED_INVALID_APK;
+            return ret;
+        }
+
+        final File packageFile = new File(packagePath);
+        final PackageParser.PackageLite pkg;
+        final long sizeBytes;
+        try {
+            pkg = PackageParser.parsePackageLite(packageFile, 0);
+            sizeBytes = PackageHelper.calculateInstalledSize(pkg, abiOverride);
+        } catch (PackageParserException | IOException e) {
+            Slog.w(TAG, "Failed to parse package at " + packagePath + ": " + e);
+
+            if (!packageFile.exists()) {
+                ret.recommendedInstallLocation = PackageHelper.RECOMMEND_FAILED_INVALID_URI;
+            } else {
+                ret.recommendedInstallLocation = PackageHelper.RECOMMEND_FAILED_INVALID_APK;
+            }
+
+            return ret;
+        }
+
+        final int recommendedInstallLocation = PackageHelper.resolveInstallLocation(context,
+                pkg.packageName, pkg.installLocation, sizeBytes, flags);
+
+        ret.packageName = pkg.packageName;
+        ret.splitNames = pkg.splitNames;
+        ret.versionCode = pkg.versionCode;
+        ret.versionCodeMajor = pkg.versionCodeMajor;
+        ret.baseRevisionCode = pkg.baseRevisionCode;
+        ret.splitRevisionCodes = pkg.splitRevisionCodes;
+        ret.installLocation = pkg.installLocation;
+        ret.verifiers = pkg.verifiers;
+        ret.recommendedInstallLocation = recommendedInstallLocation;
+        ret.multiArch = pkg.multiArch;
+
+        return ret;
+    }
+
+    /**
+     * Calculate estimated footprint of given package post-installation.
+     *
+     * @return -1 if there's some error calculating the size, otherwise installed size of the
+     *         package.
+     */
+    public static long calculateInstalledSize(String packagePath, String abiOverride) {
+        final File packageFile = new File(packagePath);
+        final PackageParser.PackageLite pkg;
+        try {
+            pkg = PackageParser.parsePackageLite(packageFile, 0);
+            return PackageHelper.calculateInstalledSize(pkg, abiOverride);
+        } catch (PackageParserException | IOException e) {
+            Slog.w(TAG, "Failed to calculate installed size: " + e);
+            return -1;
+        }
+    }
+
+    /**
+     * Copy package to the target location.
+     *
+     * @param packagePath absolute path to the package to be copied. Can be
+     *                    a single monolithic APK file or a cluster directory
+     *                    containing one or more APKs.
+     * @return returns status code according to those in
+     *         {@link PackageManager}
+     */
+    public static int copyPackage(String packagePath, File targetDir) {
+        if (packagePath == null) {
+            return PackageManager.INSTALL_FAILED_INVALID_URI;
+        }
+
+        try {
+            final File packageFile = new File(packagePath);
+            final PackageParser.PackageLite pkg = PackageParser.parsePackageLite(packageFile, 0);
+            copyFile(pkg.baseCodePath, targetDir, "base.apk");
+            if (!ArrayUtils.isEmpty(pkg.splitNames)) {
+                for (int i = 0; i < pkg.splitNames.length; i++) {
+                    copyFile(pkg.splitCodePaths[i], targetDir,
+                            "split_" + pkg.splitNames[i] + ".apk");
+                }
+            }
+            return PackageManager.INSTALL_SUCCEEDED;
+        } catch (PackageParserException | IOException | ErrnoException e) {
+            Slog.w(TAG, "Failed to copy package at " + packagePath + ": " + e);
+            return PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE;
+        }
+    }
+
+    private static void copyFile(String sourcePath, File targetDir, String targetName)
+            throws ErrnoException, IOException {
+        if (!FileUtils.isValidExtFilename(targetName)) {
+            throw new IllegalArgumentException("Invalid filename: " + targetName);
+        }
+        Slog.d(TAG, "Copying " + sourcePath + " to " + targetName);
+
+        final File targetFile = new File(targetDir, targetName);
+        final FileDescriptor targetFd = Os.open(targetFile.getAbsolutePath(),
+                O_RDWR | O_CREAT, 0644);
+        Os.chmod(targetFile.getAbsolutePath(), 0644);
+        FileInputStream source = null;
+        try {
+            source = new FileInputStream(sourcePath);
+            FileUtils.copy(source.getFD(), targetFd);
+        } finally {
+            IoUtils.closeQuietly(source);
+        }
+    }
 }
diff --git a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
index 361416a..93729d1 100644
--- a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
+++ b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
@@ -124,6 +124,7 @@
     int mTargetUser;
     boolean mBrief;
     boolean mComponents;
+    int mQueryFlags;
 
     PackageManagerShellCommand(PackageManagerService service) {
         mInterface = service;
@@ -739,6 +740,9 @@
                 } else if ("--components".equals(opt)) {
                     mComponents = true;
                     return true;
+                } else if ("--query-flags".equals(opt)) {
+                    mQueryFlags = Integer.decode(cmd.getNextArgRequired());
+                    return true;
                 }
                 return false;
             }
@@ -784,7 +788,8 @@
             throw new RuntimeException(e.getMessage(), e);
         }
         try {
-            ResolveInfo ri = mInterface.resolveIntent(intent, intent.getType(), 0, mTargetUser);
+            ResolveInfo ri = mInterface.resolveIntent(intent, intent.getType(), mQueryFlags,
+                    mTargetUser);
             PrintWriter pw = getOutPrintWriter();
             if (ri == null) {
                 pw.println("No activity found");
@@ -806,8 +811,8 @@
             throw new RuntimeException(e.getMessage(), e);
         }
         try {
-            List<ResolveInfo> result = mInterface.queryIntentActivities(intent, intent.getType(), 0,
-                    mTargetUser).getList();
+            List<ResolveInfo> result = mInterface.queryIntentActivities(intent, intent.getType(),
+                    mQueryFlags, mTargetUser).getList();
             PrintWriter pw = getOutPrintWriter();
             if (result == null || result.size() <= 0) {
                 pw.println("No activities found");
@@ -840,8 +845,8 @@
             throw new RuntimeException(e.getMessage(), e);
         }
         try {
-            List<ResolveInfo> result = mInterface.queryIntentServices(intent, intent.getType(), 0,
-                    mTargetUser).getList();
+            List<ResolveInfo> result = mInterface.queryIntentServices(intent, intent.getType(),
+                    mQueryFlags, mTargetUser).getList();
             PrintWriter pw = getOutPrintWriter();
             if (result == null || result.size() <= 0) {
                 pw.println("No services found");
@@ -874,8 +879,8 @@
             throw new RuntimeException(e.getMessage(), e);
         }
         try {
-            List<ResolveInfo> result = mInterface.queryIntentReceivers(intent, intent.getType(), 0,
-                    mTargetUser).getList();
+            List<ResolveInfo> result = mInterface.queryIntentReceivers(intent, intent.getType(),
+                    mQueryFlags, mTargetUser).getList();
             PrintWriter pw = getOutPrintWriter();
             if (result == null || result.size() <= 0) {
                 pw.println("No receivers found");
@@ -2234,6 +2239,9 @@
                 case "--install-location":
                     sessionParams.installLocation = Integer.parseInt(getNextArg());
                     break;
+                case "--install-reason":
+                    sessionParams.installReason = Integer.parseInt(getNextArg());
+                    break;
                 case "--force-uuid":
                     sessionParams.installFlags |= PackageManager.INSTALL_FORCE_VOLUME_UUID;
                     sessionParams.volumeUuid = getNextArg();
@@ -2728,22 +2736,26 @@
         pw.println("      -d: only list dangerous permissions");
         pw.println("      -u: list only the permissions users will see");
         pw.println("");
-        pw.println("  resolve-activity [--brief] [--components] [--user USER_ID] INTENT");
+        pw.println("  resolve-activity [--brief] [--components] [--query-flags FLAGS]");
+        pw.println("       [--user USER_ID] INTENT");
         pw.println("    Prints the activity that resolves to the given INTENT.");
         pw.println("");
-        pw.println("  query-activities [--brief] [--components] [--user USER_ID] INTENT");
+        pw.println("  query-activities [--brief] [--components] [--query-flags FLAGS]");
+        pw.println("       [--user USER_ID] INTENT");
         pw.println("    Prints all activities that can handle the given INTENT.");
         pw.println("");
-        pw.println("  query-services [--brief] [--components] [--user USER_ID] INTENT");
+        pw.println("  query-services [--brief] [--components] [--query-flags FLAGS]");
+        pw.println("       [--user USER_ID] INTENT");
         pw.println("    Prints all services that can handle the given INTENT.");
         pw.println("");
-        pw.println("  query-receivers [--brief] [--components] [--user USER_ID] INTENT");
+        pw.println("  query-receivers [--brief] [--components] [--query-flags FLAGS]");
+        pw.println("       [--user USER_ID] INTENT");
         pw.println("    Prints all broadcast receivers that can handle the given INTENT.");
         pw.println("");
         pw.println("  install [-lrtsfdg] [-i PACKAGE] [--user USER_ID|all|current]");
         pw.println("       [-p INHERIT_PACKAGE] [--install-location 0/1/2]");
-        pw.println("       [--originating-uri URI] [---referrer URI]");
-        pw.println("       [--abi ABI_NAME] [--force-sdk]");
+        pw.println("       [--install-reason 0/1/2/3/4] [--originating-uri URI]");
+        pw.println("       [--referrer URI] [--abi ABI_NAME] [--force-sdk]");
         pw.println("       [--preload] [--instantapp] [--full] [--dont-kill]");
         pw.println("       [--force-uuid internal|UUID] [--pkg PACKAGE] [-S BYTES] [PATH|-]");
         pw.println("    Install an application.  Must provide the apk data to install, either as a");
@@ -2768,14 +2780,17 @@
         pw.println("      --full: cause the app to be installed as a non-ephemeral full app");
         pw.println("      --install-location: force the install location:");
         pw.println("          0=auto, 1=internal only, 2=prefer external");
+        pw.println("      --install-reason: indicates why the app is being installed:");
+        pw.println("          0=unknown, 1=admin policy, 2=device restore,");
+        pw.println("          3=device setup, 4=user request");
         pw.println("      --force-uuid: force install on to disk volume with given UUID");
         pw.println("      --force-sdk: allow install even when existing app targets platform");
         pw.println("          codename but new one targets a final API level");
         pw.println("");
         pw.println("  install-create [-lrtsfdg] [-i PACKAGE] [--user USER_ID|all|current]");
         pw.println("       [-p INHERIT_PACKAGE] [--install-location 0/1/2]");
-        pw.println("       [--originating-uri URI] [---referrer URI]");
-        pw.println("       [--abi ABI_NAME] [--force-sdk]");
+        pw.println("       [--install-reason 0/1/2/3/4] [--originating-uri URI]");
+        pw.println("       [--referrer URI] [--abi ABI_NAME] [--force-sdk]");
         pw.println("       [--preload] [--instantapp] [--full] [--dont-kill]");
         pw.println("       [--force-uuid internal|UUID] [--pkg PACKAGE] [-S BYTES]");
         pw.println("    Like \"install\", but starts an install session.  Use \"install-write\"");
diff --git a/services/core/java/com/android/server/pm/PackageSetting.java b/services/core/java/com/android/server/pm/PackageSetting.java
index 727fb15..b850613 100644
--- a/services/core/java/com/android/server/pm/PackageSetting.java
+++ b/services/core/java/com/android/server/pm/PackageSetting.java
@@ -207,4 +207,13 @@
         writeUsersInfoToProto(proto, PackageProto.USERS);
         proto.end(packageToken);
     }
+
+    /** Updates all fields in the current setting from another. */
+    public void updateFrom(PackageSetting other) {
+        super.updateFrom(other);
+        appId = other.appId;
+        pkg = other.pkg;
+        sharedUserId = other.sharedUserId;
+        sharedUser = other.sharedUser;
+    }
 }
diff --git a/services/core/java/com/android/server/pm/PackageSettingBase.java b/services/core/java/com/android/server/pm/PackageSettingBase.java
index 138594c..fd6aceb 100644
--- a/services/core/java/com/android/server/pm/PackageSettingBase.java
+++ b/services/core/java/com/android/server/pm/PackageSettingBase.java
@@ -26,7 +26,6 @@
 import android.content.pm.PackageParser;
 import android.content.pm.PackageUserState;
 import android.content.pm.Signature;
-import android.os.BaseBundle;
 import android.os.PersistableBundle;
 import android.service.pm.PackageProto;
 import android.util.ArraySet;
@@ -109,7 +108,7 @@
 
     // Whether this package is currently stopped, thus can not be
     // started until explicitly launched by the user.
-    private final SparseArray<PackageUserState> userState = new SparseArray<PackageUserState>();
+    private final SparseArray<PackageUserState> mUserState = new SparseArray<>();
 
     /**
      * Non-persisted value. During an "upgrade without restart", we need the set
@@ -118,7 +117,7 @@
      * restart, this field will be cleared since the classloader would be created
      * using the full set of code paths when the package's process is started.
      */
-    Set<String> oldCodePaths;
+    Set<String> mOldCodePaths;
 
     /** Package name of the app that installed this package */
     String installerPackageName;
@@ -223,7 +222,7 @@
     /**
      * Makes a shallow copy of the given package settings.
      *
-     * NOTE: For some fields [such as keySetData, signatures, userState, verificationInfo, etc...],
+     * NOTE: For some fields [such as keySetData, signatures, mUserState, verificationInfo, etc...],
      * the original object is copied and a new one is not created.
      */
     public void copyFrom(PackageSettingBase orig) {
@@ -244,7 +243,7 @@
         keySetData = orig.keySetData;
         lastUpdateTime = orig.lastUpdateTime;
         legacyNativeLibraryPathString = orig.legacyNativeLibraryPathString;
-        // Intentionally skip oldCodePaths; it's not relevant for copies
+        // Intentionally skip mOldCodePaths; it's not relevant for copies
         parentPackageName = orig.parentPackageName;
         primaryCpuAbiString = orig.primaryCpuAbiString;
         resourcePath = orig.resourcePath;
@@ -253,9 +252,9 @@
         signatures = orig.signatures;
         timeStamp = orig.timeStamp;
         uidError = orig.uidError;
-        userState.clear();
-        for (int i=0; i<orig.userState.size(); i++) {
-            userState.put(orig.userState.keyAt(i), orig.userState.valueAt(i));
+        mUserState.clear();
+        for (int i = 0; i < orig.mUserState.size(); i++) {
+            mUserState.put(orig.mUserState.keyAt(i), orig.mUserState.valueAt(i));
         }
         verificationInfo = orig.verificationInfo;
         versionCode = orig.versionCode;
@@ -271,16 +270,16 @@
     }
 
     private PackageUserState modifyUserState(int userId) {
-        PackageUserState state = userState.get(userId);
+        PackageUserState state = mUserState.get(userId);
         if (state == null) {
             state = new PackageUserState();
-            userState.put(userId, state);
+            mUserState.put(userId, state);
         }
         return state;
     }
 
     public PackageUserState readUserState(int userId) {
-        PackageUserState state = userState.get(userId);
+        PackageUserState state = mUserState.get(userId);
         if (state == null) {
             return DEFAULT_USER_STATE;
         }
@@ -330,7 +329,7 @@
     /** Only use for testing. Do NOT use in production code. */
     @VisibleForTesting
     SparseArray<PackageUserState> getUserState() {
-        return userState;
+        return mUserState;
     }
 
     boolean isAnyInstalled(int[] users) {
@@ -536,14 +535,14 @@
     }
 
     void removeUser(int userId) {
-        userState.delete(userId);
+        mUserState.delete(userId);
     }
 
     public int[] getNotInstalledUserIds() {
         int count = 0;
-        int userStateCount = userState.size();
+        int userStateCount = mUserState.size();
         for (int i = 0; i < userStateCount; i++) {
-            if (userState.valueAt(i).installed == false) {
+            if (!mUserState.valueAt(i).installed) {
                 count++;
             }
         }
@@ -551,8 +550,8 @@
         int[] excludedUserIds = new int[count];
         int idx = 0;
         for (int i = 0; i < userStateCount; i++) {
-            if (userState.valueAt(i).installed == false) {
-                excludedUserIds[idx++] = userState.keyAt(i);
+            if (!mUserState.valueAt(i).installed) {
+                excludedUserIds[idx++] = mUserState.keyAt(i);
             }
         }
         return excludedUserIds;
@@ -591,11 +590,11 @@
     }
 
     protected void writeUsersInfoToProto(ProtoOutputStream proto, long fieldId) {
-        int count = userState.size();
+        int count = mUserState.size();
         for (int i = 0; i < count; i++) {
             final long userToken = proto.start(fieldId);
-            final int userId = userState.keyAt(i);
-            final PackageUserState state = userState.valueAt(i);
+            final int userId = mUserState.keyAt(i);
+            final PackageUserState state = mUserState.valueAt(i);
             proto.write(PackageProto.UserInfoProto.ID, userId);
             final int installType;
             if (state.instantApp) {
@@ -630,4 +629,48 @@
         PackageUserState userState = readUserState(userId);
         return userState.harmfulAppWarning;
     }
+
+    protected PackageSettingBase updateFrom(PackageSettingBase other) {
+        super.copyFrom(other);
+        this.parentPackageName = other.parentPackageName;
+        this.childPackageNames = other.childPackageNames;
+        this.codePath = other.codePath;
+        this.codePathString = other.codePathString;
+        this.resourcePath = other.resourcePath;
+        this.resourcePathString = other.resourcePathString;
+        this.usesStaticLibraries = other.usesStaticLibraries;
+        this.usesStaticLibrariesVersions = other.usesStaticLibrariesVersions;
+        this.legacyNativeLibraryPathString = other.legacyNativeLibraryPathString;
+        this.primaryCpuAbiString = other.primaryCpuAbiString;
+        this.secondaryCpuAbiString = other.secondaryCpuAbiString;
+        this.cpuAbiOverrideString = other.cpuAbiOverrideString;
+        this.timeStamp = other.timeStamp;
+        this.firstInstallTime = other.firstInstallTime;
+        this.lastUpdateTime = other.lastUpdateTime;
+        this.versionCode = other.versionCode;
+        this.uidError = other.uidError;
+        this.signatures = other.signatures;
+        this.installPermissionsFixed = other.installPermissionsFixed;
+        this.keySetData = other.keySetData;
+        this.installerPackageName = other.installerPackageName;
+        this.isOrphaned = other.isOrphaned;
+        this.volumeUuid = other.volumeUuid;
+        this.categoryHint = other.categoryHint;
+        this.updateAvailable = other.updateAvailable;
+        this.verificationInfo = other.verificationInfo;
+
+        if (mOldCodePaths != null) {
+            if (other.mOldCodePaths != null) {
+                mOldCodePaths.clear();
+                mOldCodePaths.addAll(other.mOldCodePaths);
+            } else {
+                mOldCodePaths = null;
+            }
+        }
+        mUserState.clear();
+        for (int i = 0; i < other.mUserState.size(); i++) {
+            mUserState.put(other.mUserState.keyAt(i), other.mUserState.valueAt(i));
+        }
+        return this;
+    }
 }
diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java
index 6d242f4..5c88e06 100644
--- a/services/core/java/com/android/server/pm/Settings.java
+++ b/services/core/java/com/android/server/pm/Settings.java
@@ -539,16 +539,18 @@
             if((p.pkg != null) && (p.pkg.applicationInfo != null)) {
                 p.pkg.applicationInfo.flags |= ApplicationInfo.FLAG_UPDATED_SYSTEM_APP;
             }
-            mDisabledSysPackages.put(name, p);
-
+            final PackageSetting disabled;
             if (replaced) {
                 // a little trick...  when we install the new package, we don't
                 // want to modify the existing PackageSetting for the built-in
-                // version.  so at this point we need a new PackageSetting that
-                // is okay to muck with.
-                PackageSetting newp = new PackageSetting(p);
-                replacePackageLPw(name, newp);
+                // version.  so at this point we make a copy to place into the
+                // disabled set.
+                disabled = new PackageSetting(p);
+            } else {
+                disabled = p;
             }
+            mDisabledSysPackages.put(name, disabled);
+
             return true;
         }
         return false;
@@ -1105,19 +1107,6 @@
         mInstallerPackages.remove(packageName);
     }
 
-    private void replacePackageLPw(String name, PackageSetting newp) {
-        final PackageSetting p = mPackages.get(name);
-        if (p != null) {
-            if (p.sharedUser != null) {
-                p.sharedUser.removePackage(p);
-                p.sharedUser.addPackage(newp);
-            } else {
-                replaceUserIdLPw(p.appId, newp);
-            }
-        }
-        mPackages.put(name, newp);
-    }
-
     private boolean addUserIdLPw(int uid, Object obj, Object name) {
         if (uid > Process.LAST_APPLICATION_UID) {
             return false;
diff --git a/services/core/java/com/android/server/pm/SharedUserSetting.java b/services/core/java/com/android/server/pm/SharedUserSetting.java
index c94d209..1a8b2af 100644
--- a/services/core/java/com/android/server/pm/SharedUserSetting.java
+++ b/services/core/java/com/android/server/pm/SharedUserSetting.java
@@ -24,7 +24,6 @@
 import android.util.proto.ProtoOutputStream;
 
 import java.util.ArrayList;
-import java.util.Collection;
 import java.util.List;
 
 /**
@@ -69,24 +68,26 @@
         proto.end(token);
     }
 
-    void removePackage(PackageSetting packageSetting) {
-        if (packages.remove(packageSetting)) {
-            // recalculate the pkgFlags for this shared user if needed
-            if ((this.pkgFlags & packageSetting.pkgFlags) != 0) {
-                int aggregatedFlags = uidFlags;
-                for (PackageSetting ps : packages) {
-                    aggregatedFlags |= ps.pkgFlags;
-                }
-                setFlags(aggregatedFlags);
-            }
-            if ((this.pkgPrivateFlags & packageSetting.pkgPrivateFlags) != 0) {
-                int aggregatedPrivateFlags = uidPrivateFlags;
-                for (PackageSetting ps : packages) {
-                    aggregatedPrivateFlags |= ps.pkgPrivateFlags;
-                }
-                setPrivateFlags(aggregatedPrivateFlags);
-            }
+    boolean removePackage(PackageSetting packageSetting) {
+        if (!packages.remove(packageSetting)) {
+            return false;
         }
+        // recalculate the pkgFlags for this shared user if needed
+        if ((this.pkgFlags & packageSetting.pkgFlags) != 0) {
+            int aggregatedFlags = uidFlags;
+            for (PackageSetting ps : packages) {
+                aggregatedFlags |= ps.pkgFlags;
+            }
+            setFlags(aggregatedFlags);
+        }
+        if ((this.pkgPrivateFlags & packageSetting.pkgPrivateFlags) != 0) {
+            int aggregatedPrivateFlags = uidPrivateFlags;
+            for (PackageSetting ps : packages) {
+                aggregatedPrivateFlags |= ps.pkgPrivateFlags;
+            }
+            setPrivateFlags(aggregatedPrivateFlags);
+        }
+        return true;
     }
 
     void addPackage(PackageSetting packageSetting) {
@@ -143,4 +144,16 @@
         }
     }
 
+    /** Updates all fields in this shared user setting from another. */
+    public SharedUserSetting updateFrom(SharedUserSetting sharedUser) {
+        copyFrom(sharedUser);
+        this.userId = sharedUser.userId;
+        this.uidFlags = sharedUser.uidFlags;
+        this.uidPrivateFlags = sharedUser.uidPrivateFlags;
+        this.seInfoTargetSdkVersion = sharedUser.seInfoTargetSdkVersion;
+        this.packages.clear();
+        this.packages.addAll(sharedUser.packages);
+        this.signaturesChanged = sharedUser.signaturesChanged;
+        return this;
+    }
 }
diff --git a/services/core/java/com/android/server/pm/dex/ArtManagerService.java b/services/core/java/com/android/server/pm/dex/ArtManagerService.java
index 21daa39..910ea73 100644
--- a/services/core/java/com/android/server/pm/dex/ArtManagerService.java
+++ b/services/core/java/com/android/server/pm/dex/ArtManagerService.java
@@ -389,7 +389,8 @@
      *   - create the current primary profile to save time at app startup time.
      *   - copy the profiles from the associated dex metadata file to the reference profile.
      */
-    public void prepareAppProfiles(PackageParser.Package pkg, @UserIdInt int user) {
+    public void prepareAppProfiles(PackageParser.Package pkg, @UserIdInt int user,
+            boolean updateReferenceProfileContent) {
         final int appId = UserHandle.getAppId(pkg.applicationInfo.uid);
         if (user < 0) {
             Slog.wtf(TAG, "Invalid user id: " + user);
@@ -404,8 +405,14 @@
             for (int i = codePathsProfileNames.size() - 1; i >= 0; i--) {
                 String codePath = codePathsProfileNames.keyAt(i);
                 String profileName = codePathsProfileNames.valueAt(i);
-                File dexMetadata = DexMetadataHelper.findDexMetadataForFile(new File(codePath));
-                String dexMetadataPath = dexMetadata == null ? null : dexMetadata.getAbsolutePath();
+                String dexMetadataPath = null;
+                // Passing the dex metadata file to the prepare method will update the reference
+                // profile content. As such, we look for the dex metadata file only if we need to
+                // perform an update.
+                if (updateReferenceProfileContent) {
+                    File dexMetadata = DexMetadataHelper.findDexMetadataForFile(new File(codePath));
+                    dexMetadataPath = dexMetadata == null ? null : dexMetadata.getAbsolutePath();
+                }
                 synchronized (mInstaller) {
                     boolean result = mInstaller.prepareAppProfile(pkg.packageName, user, appId,
                             profileName, codePath, dexMetadataPath);
@@ -423,9 +430,10 @@
     /**
      * Prepares the app profiles for a set of users. {@see ArtManagerService#prepareAppProfiles}.
      */
-    public void prepareAppProfiles(PackageParser.Package pkg, int[] user) {
+    public void prepareAppProfiles(PackageParser.Package pkg, int[] user,
+            boolean updateReferenceProfileContent) {
         for (int i = 0; i < user.length; i++) {
-            prepareAppProfiles(pkg, user[i]);
+            prepareAppProfiles(pkg, user[i], updateReferenceProfileContent);
         }
     }
 
diff --git a/services/core/java/com/android/server/pm/dex/PackageDexUsage.java b/services/core/java/com/android/server/pm/dex/PackageDexUsage.java
index e3e1590..602ce3b 100644
--- a/services/core/java/com/android/server/pm/dex/PackageDexUsage.java
+++ b/services/core/java/com/android/server/pm/dex/PackageDexUsage.java
@@ -93,7 +93,7 @@
     @GuardedBy("mPackageUseInfoMap")
     private final Map<String, PackageUseInfo> mPackageUseInfoMap;
 
-    public PackageDexUsage() {
+    /* package */ PackageDexUsage() {
         super("package-dex-usage.list", "PackageDexUsage_DiskWriter", /*lock*/ false);
         mPackageUseInfoMap = new HashMap<>();
     }
@@ -116,7 +116,7 @@
      * @return true if the dex load constitutes new information, or false if this information
      *         has been seen before.
      */
-    public boolean record(String owningPackageName, String dexPath, int ownerUserId,
+    /* package */ boolean record(String owningPackageName, String dexPath, int ownerUserId,
             String loaderIsa, boolean isUsedByOtherApps, boolean primaryOrSplit,
             String loadingPackageName, String classLoaderContext) {
         if (!PackageManagerServiceUtils.checkISA(loaderIsa)) {
@@ -193,7 +193,7 @@
      * Convenience method for sync reads which does not force the user to pass a useless
      * (Void) null.
      */
-    public void read() {
+    /* package */ void read() {
       read((Void) null);
     }
 
@@ -558,7 +558,7 @@
      * Remove the usage data associated with package {@code packageName}.
      * @return true if the package usage was found and removed successfully.
      */
-    public boolean removePackage(String packageName) {
+    /* package */ boolean removePackage(String packageName) {
         synchronized (mPackageUseInfoMap) {
             return mPackageUseInfoMap.remove(packageName) != null;
         }
@@ -653,11 +653,12 @@
         return packages;
     }
 
-    public void clear() {
+    /* package */ void clear() {
         synchronized (mPackageUseInfoMap) {
             mPackageUseInfoMap.clear();
         }
     }
+
     // Creates a deep copy of the class' mPackageUseInfoMap.
     private Map<String, PackageUseInfo> clonePackageUseInfoMap() {
         Map<String, PackageUseInfo> clone = new HashMap<>();
@@ -679,7 +680,7 @@
         throw new IllegalArgumentException("Unknown bool encoding: " + bool);
     }
 
-    public String dump() {
+    /* package */ String dump() {
         StringWriter sw = new StringWriter();
         write(sw);
         return sw.toString();
diff --git a/services/core/java/com/android/server/pm/dex/TEST_MAPPING b/services/core/java/com/android/server/pm/dex/TEST_MAPPING
new file mode 100644
index 0000000..ad52559
--- /dev/null
+++ b/services/core/java/com/android/server/pm/dex/TEST_MAPPING
@@ -0,0 +1,22 @@
+{
+  "presubmit": [
+    {
+      "name": "DexLoggerTests"
+    },
+    {
+      "name": "DexManagerTests"
+    },
+    {
+      "name": "DexoptOptionsTests"
+    },
+    {
+      "name": "DexoptUtilsTest"
+    },
+    {
+      "name": "PackageDexUsageTests"
+    },
+    {
+      "name": "DexLoggerIntegrationTests"
+    }
+  ]
+}
diff --git a/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java b/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java
index 5befc1f..6f644dd 100644
--- a/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java
+++ b/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java
@@ -23,17 +23,17 @@
 import android.annotation.Nullable;
 import android.app.ActivityManager;
 import android.app.DownloadManager;
+import android.app.SearchManager;
 import android.app.admin.DevicePolicyManager;
 import android.companion.CompanionDeviceManager;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageList;
+import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManagerInternal;
 import android.content.pm.PackageManagerInternal.PackagesProvider;
 import android.content.pm.PackageManagerInternal.SyncAdapterPackagesProvider;
-import android.content.pm.PackageParser;
 import android.content.pm.ProviderInfo;
 import android.content.pm.ResolveInfo;
 import android.media.RingtoneManager;
@@ -47,12 +47,14 @@
 import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.os.storage.StorageManager;
+import android.permission.PermissionManager;
 import android.print.PrintManager;
 import android.provider.CalendarContract;
 import android.provider.ContactsContract;
 import android.provider.MediaStore;
 import android.provider.Telephony.Sms.Intents;
 import android.security.Credentials;
+import android.speech.RecognitionService;
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 import android.util.ArrayMap;
@@ -61,9 +63,9 @@
 import android.util.Slog;
 import android.util.Xml;
 
+import com.android.internal.util.ArrayUtils;
 import com.android.internal.util.XmlUtils;
 import com.android.server.LocalServices;
-import com.android.server.pm.PackageManagerService;
 
 import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
@@ -74,6 +76,7 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
@@ -95,10 +98,15 @@
     private static final String TAG = "DefaultPermGrantPolicy"; // must be <= 23 chars
     private static final boolean DEBUG = false;
 
-    private static final int DEFAULT_FLAGS =
+    @PackageManager.ResolveInfoFlags
+    private static final int DEFAULT_INTENT_QUERY_FLAGS =
             PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE
                     | PackageManager.MATCH_UNINSTALLED_PACKAGES;
 
+    @PackageManager.PackageInfoFlags
+    private static final int DEFAULT_PACKAGE_INFO_QUERY_FLAGS =
+            PackageManager.MATCH_UNINSTALLED_PACKAGES | PackageManager.GET_PERMISSIONS;
+
     private static final String AUDIO_MIME_TYPE = "audio/mpeg";
 
     private static final String TAG_EXCEPTIONS = "exceptions";
@@ -109,6 +117,8 @@
     private static final String ATTR_FIXED = "fixed";
 
     private static final Set<String> PHONE_PERMISSIONS = new ArraySet<>();
+
+
     static {
         PHONE_PERMISSIONS.add(Manifest.permission.READ_PHONE_STATE);
         PHONE_PERMISSIONS.add(Manifest.permission.CALL_PHONE);
@@ -220,7 +230,7 @@
     private final DefaultPermissionGrantedCallback mPermissionGrantedCallback;
     public interface DefaultPermissionGrantedCallback {
         /** Callback when permissions have been granted */
-        public void onDefaultRuntimePermissionsGranted(int userId);
+        void onDefaultRuntimePermissionsGranted(int userId);
     }
 
     public DefaultPermissionGrantPolicy(Context context, Looper looper,
@@ -292,9 +302,9 @@
         grantDefaultPermissionExceptions(userId);
     }
 
-    private void grantRuntimePermissionsForPackage(int userId, PackageParser.Package pkg) {
+    private void grantRuntimePermissionsForSystemPackage(int userId, PackageInfo pkg) {
         Set<String> permissions = new ArraySet<>();
-        for (String permission :  pkg.requestedPermissions) {
+        for (String permission : pkg.requestedPermissions) {
             final BasePermission bp = mPermissionManager.getPermission(permission);
             if (bp == null) {
                 continue;
@@ -308,36 +318,71 @@
         }
     }
 
-    private void grantAllRuntimePermissions(int userId) {
-        Log.i(TAG, "Granting all runtime permissions for user " + userId);
-        final PackageList packageList = mServiceInternal.getPackageList();
-        for (String packageName : packageList.getPackageNames()) {
-            final PackageParser.Package pkg = mServiceInternal.getPackage(packageName);
-            if (pkg == null) {
-                continue;
-            }
-            grantRuntimePermissionsForPackage(userId, pkg);
-        }
-    }
-
     public void scheduleReadDefaultPermissionExceptions() {
         mHandler.sendEmptyMessage(MSG_READ_DEFAULT_PERMISSION_EXCEPTIONS);
     }
 
     private void grantPermissionsToSysComponentsAndPrivApps(int userId) {
         Log.i(TAG, "Granting permissions to platform components for user " + userId);
-        final PackageList packageList = mServiceInternal.getPackageList();
-        for (String packageName : packageList.getPackageNames()) {
-            final PackageParser.Package pkg = mServiceInternal.getPackage(packageName);
+        List<PackageInfo> packages = mContext.getPackageManager().getInstalledPackagesAsUser(
+                DEFAULT_PACKAGE_INFO_QUERY_FLAGS, UserHandle.USER_SYSTEM);
+        for (PackageInfo pkg : packages) {
             if (pkg == null) {
                 continue;
             }
             if (!isSysComponentOrPersistentPlatformSignedPrivApp(pkg)
                     || !doesPackageSupportRuntimePermissions(pkg)
-                    || pkg.requestedPermissions.isEmpty()) {
+                    || ArrayUtils.isEmpty(pkg.requestedPermissions)) {
                 continue;
             }
-            grantRuntimePermissionsForPackage(userId, pkg);
+            grantRuntimePermissionsForSystemPackage(userId, pkg);
+        }
+    }
+
+    @SafeVarargs
+    private final void grantIgnoringSystemPackage(String packageName, int userId,
+            Set<String>... permissionGroups) {
+        grantPermissionsToSystemPackage(packageName, userId, false, true, permissionGroups);
+    }
+
+    @SafeVarargs
+    private final void grantSystemFixedPermissionsToSystemPackage(String packageName, int userId,
+            Set<String>... permissionGroups) {
+        grantPermissionsToSystemPackage(packageName, userId, true, false, permissionGroups);
+    }
+
+    @SafeVarargs
+    private final void grantPermissionsToSystemPackage(
+            String packageName, int userId, Set<String>... permissionGroups) {
+        grantPermissionsToSystemPackage(packageName, userId, false, false, permissionGroups);
+    }
+
+    @SafeVarargs
+    private final void grantPermissionsToSystemPackage(String packageName, int userId,
+            boolean systemFixed, boolean ignoreSystemPackage, Set<String>... permissionGroups) {
+        if (!ignoreSystemPackage && !isSystemPackage(packageName)) {
+            return;
+        }
+        grantRuntimePermissionsToPackage(getSystemPackageInfo(packageName),
+                userId, systemFixed, ignoreSystemPackage, permissionGroups);
+    }
+
+    @SafeVarargs
+    private final void grantRuntimePermissionsToPackage(String packageName, int userId,
+            boolean systemFixed, boolean ignoreSystemPackage, Set<String>... permissionGroups) {
+        grantRuntimePermissionsToPackage(getPackageInfo(packageName),
+                userId, systemFixed, ignoreSystemPackage, permissionGroups);
+    }
+
+    @SafeVarargs
+    private final void grantRuntimePermissionsToPackage(PackageInfo packageName, int userId,
+            boolean systemFixed, boolean ignoreSystemPackage, Set<String>... permissionGroups) {
+        if (packageName == null) return;
+        if (doesPackageSupportRuntimePermissions(packageName)) {
+            for (Set<String> permissionGroup : permissionGroups) {
+                grantRuntimePermissions(packageName, permissionGroup, systemFixed,
+                        ignoreSystemPackage, userId);
+            }
         }
     }
 
@@ -380,601 +425,373 @@
                 syncAdapterPackagesProvider.getPackages(CalendarContract.AUTHORITY, userId) : null;
 
         // Installer
-        final String installerPackageName = mServiceInternal.getKnownPackageName(
-                PackageManagerInternal.PACKAGE_INSTALLER, userId);
-        PackageParser.Package installerPackage = getSystemPackage(installerPackageName);
-        if (installerPackage != null
-                && doesPackageSupportRuntimePermissions(installerPackage)) {
-            grantRuntimePermissions(installerPackage, STORAGE_PERMISSIONS, true, userId);
-        }
+        grantSystemFixedPermissionsToSystemPackage(
+                getKnownPackage(PackageManagerInternal.PACKAGE_INSTALLER, userId),
+                userId, STORAGE_PERMISSIONS);
 
         // Verifier
-        final String verifierPackageName = mServiceInternal.getKnownPackageName(
-                PackageManagerInternal.PACKAGE_VERIFIER, userId);
-        PackageParser.Package verifierPackage = getSystemPackage(verifierPackageName);
-        if (verifierPackage != null
-                && doesPackageSupportRuntimePermissions(verifierPackage)) {
-            grantRuntimePermissions(verifierPackage, STORAGE_PERMISSIONS, true, userId);
-            grantRuntimePermissions(verifierPackage, PHONE_PERMISSIONS, false, userId);
-            grantRuntimePermissions(verifierPackage, SMS_PERMISSIONS, false, userId);
-        }
+        final String verifier = getKnownPackage(PackageManagerInternal.PACKAGE_VERIFIER, userId);
+        grantSystemFixedPermissionsToSystemPackage(verifier, userId, STORAGE_PERMISSIONS);
+        grantPermissionsToSystemPackage(verifier, userId, PHONE_PERMISSIONS, SMS_PERMISSIONS);
 
         // SetupWizard
-        final String setupWizardPackageName = mServiceInternal.getKnownPackageName(
-                PackageManagerInternal.PACKAGE_SETUP_WIZARD, userId);
-        PackageParser.Package setupPackage = getSystemPackage(setupWizardPackageName);
-        if (setupPackage != null
-                && doesPackageSupportRuntimePermissions(setupPackage)) {
-            grantRuntimePermissions(setupPackage, PHONE_PERMISSIONS, userId);
-            grantRuntimePermissions(setupPackage, CONTACTS_PERMISSIONS, userId);
-            grantRuntimePermissions(setupPackage, LOCATION_PERMISSIONS, userId);
-            grantRuntimePermissions(setupPackage, CAMERA_PERMISSIONS, userId);
-        }
+        grantPermissionsToSystemPackage(
+                getKnownPackage(PackageManagerInternal.PACKAGE_SETUP_WIZARD, userId), userId,
+                PHONE_PERMISSIONS, CONTACTS_PERMISSIONS, LOCATION_PERMISSIONS, CAMERA_PERMISSIONS);
 
         // Camera
-        Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
-        PackageParser.Package cameraPackage = getDefaultSystemHandlerActivityPackage(
-                cameraIntent, userId);
-        if (cameraPackage != null
-                && doesPackageSupportRuntimePermissions(cameraPackage)) {
-            grantRuntimePermissions(cameraPackage, CAMERA_PERMISSIONS, userId);
-            grantRuntimePermissions(cameraPackage, MICROPHONE_PERMISSIONS, userId);
-            grantRuntimePermissions(cameraPackage, STORAGE_PERMISSIONS, userId);
-        }
+        grantPermissionsToSystemPackage(
+                getDefaultSystemHandlerActivityPackage(MediaStore.ACTION_IMAGE_CAPTURE, userId),
+                userId, CAMERA_PERMISSIONS, MICROPHONE_PERMISSIONS, STORAGE_PERMISSIONS);
 
         // Media provider
-        PackageParser.Package mediaStorePackage = getDefaultProviderAuthorityPackage(
-                MediaStore.AUTHORITY, userId);
-        if (mediaStorePackage != null) {
-            grantRuntimePermissions(mediaStorePackage, STORAGE_PERMISSIONS, true, userId);
-            grantRuntimePermissions(mediaStorePackage, MEDIA_AURAL_PERMISSIONS, true, userId);
-            grantRuntimePermissions(mediaStorePackage, MEDIA_VISUAL_PERMISSIONS, true, userId);
-            grantRuntimePermissions(mediaStorePackage, PHONE_PERMISSIONS, true, userId);
-        }
+        grantSystemFixedPermissionsToSystemPackage(
+                getDefaultProviderAuthorityPackage(MediaStore.AUTHORITY, userId), userId,
+                STORAGE_PERMISSIONS, MEDIA_AURAL_PERMISSIONS, MEDIA_VISUAL_PERMISSIONS,
+                PHONE_PERMISSIONS);
 
         // Downloads provider
-        PackageParser.Package downloadsPackage = getDefaultProviderAuthorityPackage(
-                "downloads", userId);
-        if (downloadsPackage != null) {
-            grantRuntimePermissions(downloadsPackage, STORAGE_PERMISSIONS, true, userId);
-        }
+        grantSystemFixedPermissionsToSystemPackage(
+                getDefaultProviderAuthorityPackage("downloads", userId), userId,
+                STORAGE_PERMISSIONS);
 
         // Downloads UI
-        Intent downloadsUiIntent = new Intent(DownloadManager.ACTION_VIEW_DOWNLOADS);
-        PackageParser.Package downloadsUiPackage = getDefaultSystemHandlerActivityPackage(
-                downloadsUiIntent, userId);
-        if (downloadsUiPackage != null
-                && doesPackageSupportRuntimePermissions(downloadsUiPackage)) {
-            grantRuntimePermissions(downloadsUiPackage, STORAGE_PERMISSIONS, true, userId);
-        }
+        grantSystemFixedPermissionsToSystemPackage(
+                getDefaultSystemHandlerActivityPackage(
+                        DownloadManager.ACTION_VIEW_DOWNLOADS, userId),
+                userId, STORAGE_PERMISSIONS);
 
         // Storage provider
-        PackageParser.Package storagePackage = getDefaultProviderAuthorityPackage(
-                "com.android.externalstorage.documents", userId);
-        if (storagePackage != null) {
-            grantRuntimePermissions(storagePackage, STORAGE_PERMISSIONS, true, userId);
-        }
-
-        // Container service
-        PackageParser.Package containerPackage = getSystemPackage(
-                PackageManagerService.DEFAULT_CONTAINER_PACKAGE);
-        if (containerPackage != null) {
-            grantRuntimePermissions(containerPackage, STORAGE_PERMISSIONS, true, userId);
-        }
+        grantSystemFixedPermissionsToSystemPackage(
+                getDefaultProviderAuthorityPackage("com.android.externalstorage.documents", userId),
+                userId, STORAGE_PERMISSIONS);
 
         // CertInstaller
-        Intent certInstallerIntent = new Intent(Credentials.INSTALL_ACTION);
-        PackageParser.Package certInstallerPackage = getDefaultSystemHandlerActivityPackage(
-                certInstallerIntent, userId);
-        if (certInstallerPackage != null
-                && doesPackageSupportRuntimePermissions(certInstallerPackage)) {
-            grantRuntimePermissions(certInstallerPackage, STORAGE_PERMISSIONS, true, userId);
-        }
+        grantSystemFixedPermissionsToSystemPackage(
+                getDefaultSystemHandlerActivityPackage(Credentials.INSTALL_ACTION, userId), userId,
+                STORAGE_PERMISSIONS);
 
         // Dialer
         if (dialerAppPackageNames == null) {
-            Intent dialerIntent = new Intent(Intent.ACTION_DIAL);
-            PackageParser.Package dialerPackage = getDefaultSystemHandlerActivityPackage(
-                    dialerIntent, userId);
-            if (dialerPackage != null) {
-                grantDefaultPermissionsToDefaultSystemDialerApp(dialerPackage, userId);
-            }
+            String dialerPackage =
+                    getDefaultSystemHandlerActivityPackage(Intent.ACTION_DIAL, userId);
+            grantDefaultPermissionsToDefaultSystemDialerApp(dialerPackage, userId);
         } else {
             for (String dialerAppPackageName : dialerAppPackageNames) {
-                PackageParser.Package dialerPackage = getSystemPackage(dialerAppPackageName);
-                if (dialerPackage != null) {
-                    grantDefaultPermissionsToDefaultSystemDialerApp(dialerPackage, userId);
-                }
+                grantDefaultPermissionsToDefaultSystemDialerApp(dialerAppPackageName, userId);
             }
         }
 
         // Sim call manager
         if (simCallManagerPackageNames != null) {
             for (String simCallManagerPackageName : simCallManagerPackageNames) {
-                PackageParser.Package simCallManagerPackage =
-                        getSystemPackage(simCallManagerPackageName);
-                if (simCallManagerPackage != null) {
-                    grantDefaultPermissionsToDefaultSimCallManager(simCallManagerPackage,
-                            userId);
-                }
+                grantDefaultPermissionsToDefaultSystemSimCallManager(
+                        simCallManagerPackageName, userId);
             }
         }
 
         // Use Open Wifi
         if (useOpenWifiAppPackageNames != null) {
             for (String useOpenWifiPackageName : useOpenWifiAppPackageNames) {
-                PackageParser.Package useOpenWifiPackage =
-                        getSystemPackage(useOpenWifiPackageName);
-                if (useOpenWifiPackage != null) {
-                    grantDefaultPermissionsToDefaultSystemUseOpenWifiApp(useOpenWifiPackage,
-                            userId);
-                }
+                grantDefaultPermissionsToDefaultSystemUseOpenWifiApp(
+                        useOpenWifiPackageName, userId);
             }
         }
 
         // SMS
         if (smsAppPackageNames == null) {
-            Intent smsIntent = new Intent(Intent.ACTION_MAIN);
-            smsIntent.addCategory(Intent.CATEGORY_APP_MESSAGING);
-            PackageParser.Package smsPackage = getDefaultSystemHandlerActivityPackage(
-                    smsIntent, userId);
-            if (smsPackage != null) {
-               grantDefaultPermissionsToDefaultSystemSmsApp(smsPackage, userId);
-            }
+            String smsPackage = getDefaultSystemHandlerActivityPackageForCategory(
+                    Intent.CATEGORY_APP_MESSAGING, userId);
+            grantDefaultPermissionsToDefaultSystemSmsApp(smsPackage, userId);
         } else {
-            for (String smsPackageName : smsAppPackageNames) {
-                PackageParser.Package smsPackage = getSystemPackage(smsPackageName);
-                if (smsPackage != null) {
-                    grantDefaultPermissionsToDefaultSystemSmsApp(smsPackage, userId);
-                }
+            for (String smsPackage : smsAppPackageNames) {
+                grantDefaultPermissionsToDefaultSystemSmsApp(smsPackage, userId);
             }
         }
 
         // Cell Broadcast Receiver
-        Intent cbrIntent = new Intent(Intents.SMS_CB_RECEIVED_ACTION);
-        PackageParser.Package cbrPackage =
-                getDefaultSystemHandlerActivityPackage(cbrIntent, userId);
-        if (cbrPackage != null && doesPackageSupportRuntimePermissions(cbrPackage)) {
-            grantRuntimePermissions(cbrPackage, SMS_PERMISSIONS, userId);
-        }
+        grantPermissionsToSystemPackage(
+                getDefaultSystemHandlerActivityPackage(Intents.SMS_CB_RECEIVED_ACTION, userId),
+                userId, SMS_PERMISSIONS);
 
         // Carrier Provisioning Service
-        Intent carrierProvIntent = new Intent(Intents.SMS_CARRIER_PROVISION_ACTION);
-        PackageParser.Package carrierProvPackage =
-                getDefaultSystemHandlerServicePackage(carrierProvIntent, userId);
-        if (carrierProvPackage != null
-                && doesPackageSupportRuntimePermissions(carrierProvPackage)) {
-            grantRuntimePermissions(carrierProvPackage, SMS_PERMISSIONS, false, userId);
-        }
+        grantPermissionsToSystemPackage(
+                getDefaultSystemHandlerServicePackage(Intents.SMS_CARRIER_PROVISION_ACTION, userId),
+                userId, SMS_PERMISSIONS);
 
         // Calendar
-        Intent calendarIntent = new Intent(Intent.ACTION_MAIN);
-        calendarIntent.addCategory(Intent.CATEGORY_APP_CALENDAR);
-        PackageParser.Package calendarPackage = getDefaultSystemHandlerActivityPackage(
-                calendarIntent, userId);
-        if (calendarPackage != null
-                && doesPackageSupportRuntimePermissions(calendarPackage)) {
-            grantRuntimePermissions(calendarPackage, CALENDAR_PERMISSIONS, userId);
-            grantRuntimePermissions(calendarPackage, CONTACTS_PERMISSIONS, userId);
-        }
+        grantPermissionsToSystemPackage(
+                getDefaultSystemHandlerActivityPackageForCategory(
+                        Intent.CATEGORY_APP_CALENDAR, userId),
+                userId, CALENDAR_PERMISSIONS, CONTACTS_PERMISSIONS);
 
         // Calendar provider
-        PackageParser.Package calendarProviderPackage = getDefaultProviderAuthorityPackage(
-                CalendarContract.AUTHORITY, userId);
-        if (calendarProviderPackage != null) {
-            grantRuntimePermissions(calendarProviderPackage, CONTACTS_PERMISSIONS, userId);
-            grantRuntimePermissions(calendarProviderPackage, CALENDAR_PERMISSIONS,
-                    true, userId);
-            grantRuntimePermissions(calendarProviderPackage, STORAGE_PERMISSIONS, userId);
-        }
+        String calendarProvider =
+                getDefaultProviderAuthorityPackage(CalendarContract.AUTHORITY, userId);
+        grantPermissionsToSystemPackage(calendarProvider, userId,
+                CONTACTS_PERMISSIONS, STORAGE_PERMISSIONS);
+        grantSystemFixedPermissionsToSystemPackage(calendarProvider, userId, CALENDAR_PERMISSIONS);
 
         // Calendar provider sync adapters
-        List<PackageParser.Package> calendarSyncAdapters = getHeadlessSyncAdapterPackages(
-                calendarSyncAdapterPackages, userId);
-        final int calendarSyncAdapterCount = calendarSyncAdapters.size();
-        for (int i = 0; i < calendarSyncAdapterCount; i++) {
-            PackageParser.Package calendarSyncAdapter = calendarSyncAdapters.get(i);
-            if (doesPackageSupportRuntimePermissions(calendarSyncAdapter)) {
-                grantRuntimePermissions(calendarSyncAdapter, CALENDAR_PERMISSIONS, userId);
-            }
-        }
+        grantPermissionToEachSystemPackage(
+                getHeadlessSyncAdapterPackages(calendarSyncAdapterPackages, userId),
+                userId, CALENDAR_PERMISSIONS);
 
         // Contacts
-        Intent contactsIntent = new Intent(Intent.ACTION_MAIN);
-        contactsIntent.addCategory(Intent.CATEGORY_APP_CONTACTS);
-        PackageParser.Package contactsPackage = getDefaultSystemHandlerActivityPackage(
-                contactsIntent, userId);
-        if (contactsPackage != null
-                && doesPackageSupportRuntimePermissions(contactsPackage)) {
-            grantRuntimePermissions(contactsPackage, CONTACTS_PERMISSIONS, userId);
-            grantRuntimePermissions(contactsPackage, PHONE_PERMISSIONS, userId);
-        }
+        grantPermissionsToSystemPackage(
+                getDefaultSystemHandlerActivityPackageForCategory(
+                        Intent.CATEGORY_APP_CONTACTS, userId),
+                userId, CONTACTS_PERMISSIONS, PHONE_PERMISSIONS);
 
         // Contacts provider sync adapters
-        List<PackageParser.Package> contactsSyncAdapters = getHeadlessSyncAdapterPackages(
-                contactsSyncAdapterPackages, userId);
-        final int contactsSyncAdapterCount = contactsSyncAdapters.size();
-        for (int i = 0; i < contactsSyncAdapterCount; i++) {
-            PackageParser.Package contactsSyncAdapter = contactsSyncAdapters.get(i);
-            if (doesPackageSupportRuntimePermissions(contactsSyncAdapter)) {
-                grantRuntimePermissions(contactsSyncAdapter, CONTACTS_PERMISSIONS, userId);
-            }
-        }
+        grantPermissionToEachSystemPackage(
+                getHeadlessSyncAdapterPackages(contactsSyncAdapterPackages, userId),
+                userId, CONTACTS_PERMISSIONS);
 
         // Contacts provider
-        PackageParser.Package contactsProviderPackage = getDefaultProviderAuthorityPackage(
-                ContactsContract.AUTHORITY, userId);
-        if (contactsProviderPackage != null) {
-            grantRuntimePermissions(contactsProviderPackage, CONTACTS_PERMISSIONS,
-                    true, userId);
-            grantRuntimePermissions(contactsProviderPackage, PHONE_PERMISSIONS,
-                    true, userId);
-            grantRuntimePermissions(contactsProviderPackage, STORAGE_PERMISSIONS, userId);
-        }
+        String contactsProviderPackage =
+                getDefaultProviderAuthorityPackage(ContactsContract.AUTHORITY, userId);
+        grantSystemFixedPermissionsToSystemPackage(contactsProviderPackage, userId,
+                CONTACTS_PERMISSIONS, PHONE_PERMISSIONS);
+        grantPermissionsToSystemPackage(contactsProviderPackage, userId, STORAGE_PERMISSIONS);
 
         // Device provisioning
-        Intent deviceProvisionIntent = new Intent(
-                DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE);
-        PackageParser.Package deviceProvisionPackage =
-                getDefaultSystemHandlerActivityPackage(deviceProvisionIntent, userId);
-        if (deviceProvisionPackage != null
-                && doesPackageSupportRuntimePermissions(deviceProvisionPackage)) {
-            grantRuntimePermissions(deviceProvisionPackage, CONTACTS_PERMISSIONS, userId);
-        }
+        grantPermissionsToSystemPackage(
+                getDefaultSystemHandlerActivityPackage(
+                        DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE, userId),
+                userId, CONTACTS_PERMISSIONS);
 
         // Maps
-        Intent mapsIntent = new Intent(Intent.ACTION_MAIN);
-        mapsIntent.addCategory(Intent.CATEGORY_APP_MAPS);
-        PackageParser.Package mapsPackage = getDefaultSystemHandlerActivityPackage(
-                mapsIntent, userId);
-        if (mapsPackage != null
-                && doesPackageSupportRuntimePermissions(mapsPackage)) {
-            grantRuntimePermissions(mapsPackage, LOCATION_PERMISSIONS, userId);
-        }
+        grantPermissionsToSystemPackage(
+                getDefaultSystemHandlerActivityPackageForCategory(Intent.CATEGORY_APP_MAPS, userId),
+                userId, LOCATION_PERMISSIONS);
 
         // Gallery
-        Intent galleryIntent = new Intent(Intent.ACTION_MAIN);
-        galleryIntent.addCategory(Intent.CATEGORY_APP_GALLERY);
-        PackageParser.Package galleryPackage = getDefaultSystemHandlerActivityPackage(
-                galleryIntent, userId);
-        if (galleryPackage != null
-                && doesPackageSupportRuntimePermissions(galleryPackage)) {
-            grantRuntimePermissions(galleryPackage, STORAGE_PERMISSIONS, userId);
-            grantRuntimePermissions(galleryPackage, MEDIA_VISUAL_PERMISSIONS, userId);
-        }
+        grantPermissionsToSystemPackage(
+                getDefaultSystemHandlerActivityPackageForCategory(
+                        Intent.CATEGORY_APP_GALLERY, userId),
+                userId, STORAGE_PERMISSIONS, MEDIA_VISUAL_PERMISSIONS);
 
         // Email
-        Intent emailIntent = new Intent(Intent.ACTION_MAIN);
-        emailIntent.addCategory(Intent.CATEGORY_APP_EMAIL);
-        PackageParser.Package emailPackage = getDefaultSystemHandlerActivityPackage(
-                emailIntent, userId);
-        if (emailPackage != null
-                && doesPackageSupportRuntimePermissions(emailPackage)) {
-            grantRuntimePermissions(emailPackage, CONTACTS_PERMISSIONS, userId);
-            grantRuntimePermissions(emailPackage, CALENDAR_PERMISSIONS, userId);
-        }
+        grantPermissionsToSystemPackage(
+                getDefaultSystemHandlerActivityPackageForCategory(
+                        Intent.CATEGORY_APP_EMAIL, userId),
+                userId, CONTACTS_PERMISSIONS, CALENDAR_PERMISSIONS);
 
         // Browser
-        PackageParser.Package browserPackage = null;
-        String defaultBrowserPackage = mServiceInternal.getKnownPackageName(
-                PackageManagerInternal.PACKAGE_BROWSER, userId);
-        if (defaultBrowserPackage != null) {
-            browserPackage = getPackage(defaultBrowserPackage);
-        }
+        String browserPackage = getKnownPackage(PackageManagerInternal.PACKAGE_BROWSER, userId);
         if (browserPackage == null) {
-            Intent browserIntent = new Intent(Intent.ACTION_MAIN);
-            browserIntent.addCategory(Intent.CATEGORY_APP_BROWSER);
-            browserPackage = getDefaultSystemHandlerActivityPackage(
-                    browserIntent, userId);
+            browserPackage = getDefaultSystemHandlerActivityPackageForCategory(
+                    Intent.CATEGORY_APP_BROWSER, userId);
+            if (!isSystemPackage(browserPackage)) {
+                browserPackage = null;
+            }
         }
-        if (browserPackage != null
-                && doesPackageSupportRuntimePermissions(browserPackage)) {
-            grantRuntimePermissions(browserPackage, LOCATION_PERMISSIONS, userId);
-        }
+        grantRuntimePermissionsToPackage(browserPackage, userId,
+                false /* systemFixed */, false /* ignoreSystemPackage */,
+                LOCATION_PERMISSIONS);
 
         // Voice interaction
         if (voiceInteractPackageNames != null) {
             for (String voiceInteractPackageName : voiceInteractPackageNames) {
-                PackageParser.Package voiceInteractPackage = getSystemPackage(
-                        voiceInteractPackageName);
-                if (voiceInteractPackage != null
-                        && doesPackageSupportRuntimePermissions(voiceInteractPackage)) {
-                    grantRuntimePermissions(voiceInteractPackage,
-                            CONTACTS_PERMISSIONS, userId);
-                    grantRuntimePermissions(voiceInteractPackage,
-                            CALENDAR_PERMISSIONS, userId);
-                    grantRuntimePermissions(voiceInteractPackage,
-                            MICROPHONE_PERMISSIONS, userId);
-                    grantRuntimePermissions(voiceInteractPackage,
-                            PHONE_PERMISSIONS, userId);
-                    grantRuntimePermissions(voiceInteractPackage,
-                            SMS_PERMISSIONS, userId);
-                    grantRuntimePermissions(voiceInteractPackage,
-                            LOCATION_PERMISSIONS, userId);
-                }
+                grantPermissionsToSystemPackage(voiceInteractPackageName, userId,
+                        CONTACTS_PERMISSIONS, CALENDAR_PERMISSIONS, MICROPHONE_PERMISSIONS,
+                        PHONE_PERMISSIONS, SMS_PERMISSIONS, LOCATION_PERMISSIONS);
             }
         }
 
         if (ActivityManager.isLowRamDeviceStatic()) {
             // Allow voice search on low-ram devices
-            Intent globalSearchIntent = new Intent("android.search.action.GLOBAL_SEARCH");
-            PackageParser.Package globalSearchPickerPackage =
-                getDefaultSystemHandlerActivityPackage(globalSearchIntent, userId);
-
-            if (globalSearchPickerPackage != null
-                    && doesPackageSupportRuntimePermissions(globalSearchPickerPackage)) {
-                grantRuntimePermissions(globalSearchPickerPackage,
-                    MICROPHONE_PERMISSIONS, false, userId);
-                grantRuntimePermissions(globalSearchPickerPackage,
-                    LOCATION_PERMISSIONS, false, userId);
-            }
+            grantPermissionsToSystemPackage(
+                    getDefaultSystemHandlerActivityPackage(
+                            SearchManager.INTENT_ACTION_GLOBAL_SEARCH, userId),
+                    userId, MICROPHONE_PERMISSIONS, LOCATION_PERMISSIONS);
         }
 
         // Voice recognition
-        Intent voiceRecoIntent = new Intent("android.speech.RecognitionService");
-        voiceRecoIntent.addCategory(Intent.CATEGORY_DEFAULT);
-        PackageParser.Package voiceRecoPackage = getDefaultSystemHandlerServicePackage(
-                voiceRecoIntent, userId);
-        if (voiceRecoPackage != null
-                && doesPackageSupportRuntimePermissions(voiceRecoPackage)) {
-            grantRuntimePermissions(voiceRecoPackage, MICROPHONE_PERMISSIONS, userId);
-        }
+        Intent voiceRecoIntent = new Intent(RecognitionService.SERVICE_INTERFACE)
+                .addCategory(Intent.CATEGORY_DEFAULT);
+        grantPermissionsToSystemPackage(
+                getDefaultSystemHandlerServicePackage(voiceRecoIntent, userId), userId,
+                MICROPHONE_PERMISSIONS);
 
         // Location
         if (locationPackageNames != null) {
             for (String packageName : locationPackageNames) {
-                PackageParser.Package locationPackage = getSystemPackage(packageName);
-                if (locationPackage != null
-                        && doesPackageSupportRuntimePermissions(locationPackage)) {
-                    grantRuntimePermissions(locationPackage, CONTACTS_PERMISSIONS, userId);
-                    grantRuntimePermissions(locationPackage, CALENDAR_PERMISSIONS, userId);
-                    grantRuntimePermissions(locationPackage, MICROPHONE_PERMISSIONS, userId);
-                    grantRuntimePermissions(locationPackage, PHONE_PERMISSIONS, userId);
-                    grantRuntimePermissions(locationPackage, SMS_PERMISSIONS, userId);
-                    grantRuntimePermissions(locationPackage, LOCATION_PERMISSIONS,
-                            true, userId);
-                    grantRuntimePermissions(locationPackage, CAMERA_PERMISSIONS, userId);
-                    grantRuntimePermissions(locationPackage, SENSORS_PERMISSIONS, userId);
-                    grantRuntimePermissions(locationPackage, STORAGE_PERMISSIONS, userId);
-                }
+                grantPermissionsToSystemPackage(packageName, userId,
+                        CONTACTS_PERMISSIONS, CALENDAR_PERMISSIONS, MICROPHONE_PERMISSIONS,
+                        PHONE_PERMISSIONS, SMS_PERMISSIONS, CAMERA_PERMISSIONS,
+                        SENSORS_PERMISSIONS, STORAGE_PERMISSIONS);
+                grantSystemFixedPermissionsToSystemPackage(packageName, userId,
+                        LOCATION_PERMISSIONS);
             }
         }
 
         // Music
-        Intent musicIntent = new Intent(Intent.ACTION_VIEW);
-        musicIntent.addCategory(Intent.CATEGORY_DEFAULT);
-        musicIntent.setDataAndType(Uri.fromFile(new File("foo.mp3")),
-                AUDIO_MIME_TYPE);
-        PackageParser.Package musicPackage = getDefaultSystemHandlerActivityPackage(
-                musicIntent, userId);
-        if (musicPackage != null
-                && doesPackageSupportRuntimePermissions(musicPackage)) {
-            grantRuntimePermissions(musicPackage, STORAGE_PERMISSIONS, userId);
-            grantRuntimePermissions(musicPackage, MEDIA_AURAL_PERMISSIONS, userId);
-        }
+        Intent musicIntent = new Intent(Intent.ACTION_VIEW)
+                .addCategory(Intent.CATEGORY_DEFAULT)
+                .setDataAndType(Uri.fromFile(new File("foo.mp3")), AUDIO_MIME_TYPE);
+        grantPermissionsToSystemPackage(
+                getDefaultSystemHandlerActivityPackage(musicIntent, userId), userId,
+                STORAGE_PERMISSIONS, MEDIA_AURAL_PERMISSIONS);
 
         // Home
-        Intent homeIntent = new Intent(Intent.ACTION_MAIN);
-        homeIntent.addCategory(Intent.CATEGORY_HOME);
-        homeIntent.addCategory(Intent.CATEGORY_LAUNCHER_APP);
-        PackageParser.Package homePackage = getDefaultSystemHandlerActivityPackage(
-                homeIntent, userId);
-        if (homePackage != null
-                && doesPackageSupportRuntimePermissions(homePackage)) {
-            grantRuntimePermissions(homePackage, LOCATION_PERMISSIONS, false, userId);
-        }
+        Intent homeIntent = new Intent(Intent.ACTION_MAIN)
+                .addCategory(Intent.CATEGORY_HOME)
+                .addCategory(Intent.CATEGORY_LAUNCHER_APP);
+        grantPermissionsToSystemPackage(
+                getDefaultSystemHandlerActivityPackage(homeIntent, userId), userId,
+                LOCATION_PERMISSIONS);
 
         // Watches
         if (mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WATCH, 0)) {
             // Home application on watches
-            Intent wearHomeIntent = new Intent(Intent.ACTION_MAIN);
-            wearHomeIntent.addCategory(Intent.CATEGORY_HOME_MAIN);
 
-            PackageParser.Package wearHomePackage = getDefaultSystemHandlerActivityPackage(
-                    wearHomeIntent, userId);
-
-            if (wearHomePackage != null
-                    && doesPackageSupportRuntimePermissions(wearHomePackage)) {
-                grantRuntimePermissions(wearHomePackage, CONTACTS_PERMISSIONS, false,
-                        userId);
-                grantRuntimePermissions(wearHomePackage, PHONE_PERMISSIONS, true, userId);
-                grantRuntimePermissions(wearHomePackage, MICROPHONE_PERMISSIONS, false,
-                        userId);
-                grantRuntimePermissions(wearHomePackage, LOCATION_PERMISSIONS, false,
-                        userId);
-            }
+            String wearPackage = getDefaultSystemHandlerActivityPackageForCategory(
+                    Intent.CATEGORY_HOME_MAIN, userId);
+            grantPermissionsToSystemPackage(wearPackage, userId,
+                    CONTACTS_PERMISSIONS, MICROPHONE_PERMISSIONS, LOCATION_PERMISSIONS);
+            grantSystemFixedPermissionsToSystemPackage(wearPackage, userId, PHONE_PERMISSIONS);
 
             // Fitness tracking on watches
-            Intent trackIntent = new Intent(ACTION_TRACK);
-            PackageParser.Package trackPackage = getDefaultSystemHandlerActivityPackage(
-                    trackIntent, userId);
-            if (trackPackage != null
-                    && doesPackageSupportRuntimePermissions(trackPackage)) {
-                grantRuntimePermissions(trackPackage, SENSORS_PERMISSIONS, false, userId);
-                grantRuntimePermissions(trackPackage, LOCATION_PERMISSIONS, false, userId);
-            }
+            grantPermissionsToSystemPackage(
+                    getDefaultSystemHandlerActivityPackage(ACTION_TRACK, userId), userId,
+                    SENSORS_PERMISSIONS, LOCATION_PERMISSIONS);
         }
 
         // Print Spooler
-        PackageParser.Package printSpoolerPackage = getSystemPackage(
-                PrintManager.PRINT_SPOOLER_PACKAGE_NAME);
-        if (printSpoolerPackage != null
-                && doesPackageSupportRuntimePermissions(printSpoolerPackage)) {
-            grantRuntimePermissions(printSpoolerPackage, LOCATION_PERMISSIONS, true, userId);
-        }
+        grantSystemFixedPermissionsToSystemPackage(PrintManager.PRINT_SPOOLER_PACKAGE_NAME, userId,
+                LOCATION_PERMISSIONS);
 
         // EmergencyInfo
-        Intent emergencyInfoIntent = new Intent(TelephonyManager.ACTION_EMERGENCY_ASSISTANCE);
-        PackageParser.Package emergencyInfoPckg = getDefaultSystemHandlerActivityPackage(
-                emergencyInfoIntent, userId);
-        if (emergencyInfoPckg != null
-                && doesPackageSupportRuntimePermissions(emergencyInfoPckg)) {
-            grantRuntimePermissions(emergencyInfoPckg, CONTACTS_PERMISSIONS, true, userId);
-            grantRuntimePermissions(emergencyInfoPckg, PHONE_PERMISSIONS, true, userId);
-        }
+        grantSystemFixedPermissionsToSystemPackage(
+                getDefaultSystemHandlerActivityPackage(
+                        TelephonyManager.ACTION_EMERGENCY_ASSISTANCE, userId),
+                userId, CONTACTS_PERMISSIONS, PHONE_PERMISSIONS);
 
         // NFC Tag viewer
-        Intent nfcTagIntent = new Intent(Intent.ACTION_VIEW);
-        nfcTagIntent.setType("vnd.android.cursor.item/ndef_msg");
-        PackageParser.Package nfcTagPkg = getDefaultSystemHandlerActivityPackage(
-                nfcTagIntent, userId);
-        if (nfcTagPkg != null
-                && doesPackageSupportRuntimePermissions(nfcTagPkg)) {
-            grantRuntimePermissions(nfcTagPkg, CONTACTS_PERMISSIONS, false, userId);
-            grantRuntimePermissions(nfcTagPkg, PHONE_PERMISSIONS, false, userId);
-        }
+        Intent nfcTagIntent = new Intent(Intent.ACTION_VIEW)
+                .setType("vnd.android.cursor.item/ndef_msg");
+        grantPermissionsToSystemPackage(
+                getDefaultSystemHandlerActivityPackage(nfcTagIntent, userId), userId,
+                CONTACTS_PERMISSIONS, PHONE_PERMISSIONS);
 
         // Storage Manager
-        Intent storageManagerIntent = new Intent(StorageManager.ACTION_MANAGE_STORAGE);
-        PackageParser.Package storageManagerPckg = getDefaultSystemHandlerActivityPackage(
-                storageManagerIntent, userId);
-        if (storageManagerPckg != null
-                && doesPackageSupportRuntimePermissions(storageManagerPckg)) {
-            grantRuntimePermissions(storageManagerPckg, STORAGE_PERMISSIONS, true, userId);
-        }
+        grantSystemFixedPermissionsToSystemPackage(
+                getDefaultSystemHandlerActivityPackage(
+                        StorageManager.ACTION_MANAGE_STORAGE, userId),
+                userId, STORAGE_PERMISSIONS);
 
         // Companion devices
-        PackageParser.Package companionDeviceDiscoveryPackage = getSystemPackage(
-                CompanionDeviceManager.COMPANION_DEVICE_DISCOVERY_PACKAGE_NAME);
-        if (companionDeviceDiscoveryPackage != null
-                && doesPackageSupportRuntimePermissions(companionDeviceDiscoveryPackage)) {
-            grantRuntimePermissions(companionDeviceDiscoveryPackage,
-                    LOCATION_PERMISSIONS, true, userId);
-        }
+        grantSystemFixedPermissionsToSystemPackage(
+                CompanionDeviceManager.COMPANION_DEVICE_DISCOVERY_PACKAGE_NAME, userId,
+                LOCATION_PERMISSIONS);
 
         // Ringtone Picker
-        Intent ringtonePickerIntent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
-        PackageParser.Package ringtonePickerPackage =
-                getDefaultSystemHandlerActivityPackage(ringtonePickerIntent, userId);
-        if (ringtonePickerPackage != null
-                && doesPackageSupportRuntimePermissions(ringtonePickerPackage)) {
-            grantRuntimePermissions(ringtonePickerPackage,
-                    STORAGE_PERMISSIONS, true, userId);
-        }
+        grantSystemFixedPermissionsToSystemPackage(
+                getDefaultSystemHandlerActivityPackage(
+                        RingtoneManager.ACTION_RINGTONE_PICKER, userId),
+                userId, STORAGE_PERMISSIONS);
 
         // TextClassifier Service
         String textClassifierPackageName =
                 mContext.getPackageManager().getSystemTextClassifierPackageName();
         if (!TextUtils.isEmpty(textClassifierPackageName)) {
-            PackageParser.Package textClassifierPackage =
-                    getSystemPackage(textClassifierPackageName);
-            if (textClassifierPackage != null
-                    && doesPackageSupportRuntimePermissions(textClassifierPackage)) {
-                grantRuntimePermissions(textClassifierPackage, PHONE_PERMISSIONS, false, userId);
-                grantRuntimePermissions(textClassifierPackage, SMS_PERMISSIONS, false, userId);
-                grantRuntimePermissions(textClassifierPackage, CALENDAR_PERMISSIONS, false, userId);
-                grantRuntimePermissions(textClassifierPackage, LOCATION_PERMISSIONS, false, userId);
-                grantRuntimePermissions(textClassifierPackage, CONTACTS_PERMISSIONS, false, userId);
-            }
+            grantPermissionsToSystemPackage(textClassifierPackageName, userId,
+                    PHONE_PERMISSIONS, SMS_PERMISSIONS, CALENDAR_PERMISSIONS,
+                    LOCATION_PERMISSIONS, CONTACTS_PERMISSIONS);
         }
 
         // There is no real "marker" interface to identify the shared storage backup, it is
         // hardcoded in BackupManagerService.SHARED_BACKUP_AGENT_PACKAGE.
-        PackageParser.Package sharedStorageBackupPackage = getSystemPackage(
-                "com.android.sharedstoragebackup");
-        if (sharedStorageBackupPackage != null) {
-            grantRuntimePermissions(sharedStorageBackupPackage, STORAGE_PERMISSIONS, true, userId);
-        }
+        grantSystemFixedPermissionsToSystemPackage("com.android.sharedstoragebackup", userId,
+                STORAGE_PERMISSIONS);
 
         if (mPermissionGrantedCallback != null) {
             mPermissionGrantedCallback.onDefaultRuntimePermissionsGranted(userId);
         }
     }
 
-    private void grantDefaultPermissionsToDefaultSystemDialerApp(
-            PackageParser.Package dialerPackage, int userId) {
-        if (doesPackageSupportRuntimePermissions(dialerPackage)) {
-            boolean isPhonePermFixed =
-                    mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WATCH, 0);
-            grantRuntimePermissions(
-                    dialerPackage, PHONE_PERMISSIONS, isPhonePermFixed, userId);
-            grantRuntimePermissions(dialerPackage, CONTACTS_PERMISSIONS, userId);
-            grantRuntimePermissions(dialerPackage, SMS_PERMISSIONS, userId);
-            grantRuntimePermissions(dialerPackage, MICROPHONE_PERMISSIONS, userId);
-            grantRuntimePermissions(dialerPackage, CAMERA_PERMISSIONS, userId);
+    private String getDefaultSystemHandlerActivityPackageForCategory(String category, int userId) {
+        return getDefaultSystemHandlerActivityPackage(
+                new Intent(Intent.ACTION_MAIN).addCategory(category), userId);
+    }
+
+    @SafeVarargs
+    private final void grantPermissionToEachSystemPackage(
+            ArrayList<String> packages, int userId, Set<String>... permissions) {
+        if (packages == null) return;
+        final int count = packages.size();
+        for (int i = 0; i < count; i++) {
+            grantPermissionsToSystemPackage(packages.get(i), userId, permissions);
         }
     }
 
-    private void grantDefaultPermissionsToDefaultSystemSmsApp(
-            PackageParser.Package smsPackage, int userId) {
-        if (doesPackageSupportRuntimePermissions(smsPackage)) {
-            grantRuntimePermissions(smsPackage, PHONE_PERMISSIONS, userId);
-            grantRuntimePermissions(smsPackage, CONTACTS_PERMISSIONS, userId);
-            grantRuntimePermissions(smsPackage, SMS_PERMISSIONS, userId);
-            grantRuntimePermissions(smsPackage, STORAGE_PERMISSIONS, userId);
-            grantRuntimePermissions(smsPackage, MICROPHONE_PERMISSIONS, userId);
-            grantRuntimePermissions(smsPackage, CAMERA_PERMISSIONS, userId);
+    private String getKnownPackage(int knownPkgId, int userId) {
+        return mServiceInternal.getKnownPackageName(knownPkgId, userId);
+    }
+
+    private void grantDefaultPermissionsToDefaultSystemDialerApp(
+            String dialerPackage, int userId) {
+        if (dialerPackage == null) {
+            return;
         }
+        boolean isPhonePermFixed =
+                mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WATCH, 0);
+        if (isPhonePermFixed) {
+            grantSystemFixedPermissionsToSystemPackage(dialerPackage, userId, PHONE_PERMISSIONS);
+        } else {
+            grantPermissionsToSystemPackage(dialerPackage, userId, PHONE_PERMISSIONS);
+        }
+        grantPermissionsToSystemPackage(dialerPackage, userId,
+                CONTACTS_PERMISSIONS, SMS_PERMISSIONS, MICROPHONE_PERMISSIONS, CAMERA_PERMISSIONS);
+    }
+
+    private void grantDefaultPermissionsToDefaultSystemSmsApp(String smsPackage, int userId) {
+        grantPermissionsToSystemPackage(smsPackage, userId,
+                PHONE_PERMISSIONS, CONTACTS_PERMISSIONS, SMS_PERMISSIONS,
+                STORAGE_PERMISSIONS, MICROPHONE_PERMISSIONS, CAMERA_PERMISSIONS);
     }
 
     private void grantDefaultPermissionsToDefaultSystemUseOpenWifiApp(
-            PackageParser.Package useOpenWifiPackage, int userId) {
-        if (doesPackageSupportRuntimePermissions(useOpenWifiPackage)) {
-            grantRuntimePermissions(useOpenWifiPackage, COARSE_LOCATION_PERMISSIONS, userId);
-        }
+            String useOpenWifiPackage, int userId) {
+        grantPermissionsToSystemPackage(
+                useOpenWifiPackage, userId, COARSE_LOCATION_PERMISSIONS);
     }
 
     public void grantDefaultPermissionsToDefaultSmsApp(String packageName, int userId) {
         Log.i(TAG, "Granting permissions to default sms app for user:" + userId);
-        if (packageName == null) {
-            return;
-        }
-        PackageParser.Package smsPackage = getPackage(packageName);
-        if (smsPackage != null && doesPackageSupportRuntimePermissions(smsPackage)) {
-            grantRuntimePermissions(smsPackage, PHONE_PERMISSIONS, false, true, userId);
-            grantRuntimePermissions(smsPackage, CONTACTS_PERMISSIONS, false, true, userId);
-            grantRuntimePermissions(smsPackage, SMS_PERMISSIONS, false, true, userId);
-            grantRuntimePermissions(smsPackage, STORAGE_PERMISSIONS, false, true, userId);
-            grantRuntimePermissions(smsPackage, MICROPHONE_PERMISSIONS, false, true, userId);
-            grantRuntimePermissions(smsPackage, CAMERA_PERMISSIONS, false, true, userId);
-        }
+        grantIgnoringSystemPackage(packageName, userId,
+                PHONE_PERMISSIONS, CONTACTS_PERMISSIONS, SMS_PERMISSIONS, STORAGE_PERMISSIONS,
+                MICROPHONE_PERMISSIONS, CAMERA_PERMISSIONS);
     }
 
     public void grantDefaultPermissionsToDefaultDialerApp(String packageName, int userId) {
+        mServiceInternal.onDefaultDialerAppChanged(packageName, userId);
         Log.i(TAG, "Granting permissions to default dialer app for user:" + userId);
-        if (packageName == null) {
-            return;
-        }
-        PackageParser.Package dialerPackage = getPackage(packageName);
-        if (dialerPackage != null
-                && doesPackageSupportRuntimePermissions(dialerPackage)) {
-            grantRuntimePermissions(dialerPackage, PHONE_PERMISSIONS, false, true, userId);
-            grantRuntimePermissions(dialerPackage, CONTACTS_PERMISSIONS, false, true, userId);
-            grantRuntimePermissions(dialerPackage, SMS_PERMISSIONS, false, true, userId);
-            grantRuntimePermissions(dialerPackage, MICROPHONE_PERMISSIONS, false, true, userId);
-            grantRuntimePermissions(dialerPackage, CAMERA_PERMISSIONS, false, true, userId);
-        }
+        grantIgnoringSystemPackage(packageName, userId,
+                PHONE_PERMISSIONS, CONTACTS_PERMISSIONS, SMS_PERMISSIONS,
+                MICROPHONE_PERMISSIONS, CAMERA_PERMISSIONS);
     }
 
     public void grantDefaultPermissionsToDefaultUseOpenWifiApp(String packageName, int userId) {
         Log.i(TAG, "Granting permissions to default Use Open WiFi app for user:" + userId);
-        if (packageName == null) {
-            return;
-        }
-        PackageParser.Package useOpenWifiPackage = getPackage(packageName);
-        if (useOpenWifiPackage != null
-                && doesPackageSupportRuntimePermissions(useOpenWifiPackage)) {
-            grantRuntimePermissions(
-                    useOpenWifiPackage, COARSE_LOCATION_PERMISSIONS, false, true, userId);
-        }
-    }
-
-    private void grantDefaultPermissionsToDefaultSimCallManager(
-            PackageParser.Package simCallManagerPackage, int userId) {
-        Log.i(TAG, "Granting permissions to sim call manager for user:" + userId);
-        if (doesPackageSupportRuntimePermissions(simCallManagerPackage)) {
-            grantRuntimePermissions(simCallManagerPackage, PHONE_PERMISSIONS, userId);
-            grantRuntimePermissions(simCallManagerPackage, MICROPHONE_PERMISSIONS, userId);
-        }
+        grantIgnoringSystemPackage(packageName, userId, COARSE_LOCATION_PERMISSIONS);
     }
 
     public void grantDefaultPermissionsToDefaultSimCallManager(String packageName, int userId) {
         if (packageName == null) {
             return;
         }
-        PackageParser.Package simCallManagerPackage = getPackage(packageName);
-        if (simCallManagerPackage != null) {
-            grantDefaultPermissionsToDefaultSimCallManager(simCallManagerPackage, userId);
+        Log.i(TAG, "Granting permissions to sim call manager for user:" + userId);
+        grantRuntimePermissionsToPackage(packageName, userId, false, false,
+                PHONE_PERMISSIONS, MICROPHONE_PERMISSIONS);
+    }
+
+    private void grantDefaultPermissionsToDefaultSystemSimCallManager(
+            String packageName, int userId) {
+        if (isSystemPackage(packageName)) {
+            grantDefaultPermissionsToDefaultSimCallManager(packageName, userId);
         }
     }
 
@@ -984,13 +801,8 @@
             return;
         }
         for (String packageName : packageNames) {
-            PackageParser.Package carrierPackage = getSystemPackage(packageName);
-            if (carrierPackage != null
-                    && doesPackageSupportRuntimePermissions(carrierPackage)) {
-                grantRuntimePermissions(carrierPackage, PHONE_PERMISSIONS, userId);
-                grantRuntimePermissions(carrierPackage, LOCATION_PERMISSIONS, userId);
-                grantRuntimePermissions(carrierPackage, SMS_PERMISSIONS, userId);
-            }
+            grantPermissionsToSystemPackage(packageName, userId,
+                    PHONE_PERMISSIONS, LOCATION_PERMISSIONS, SMS_PERMISSIONS);
         }
     }
 
@@ -1000,15 +812,9 @@
             return;
         }
         for (String packageName : packageNames) {
-            PackageParser.Package imsServicePackage = getSystemPackage(packageName);
-            if (imsServicePackage != null
-                    && doesPackageSupportRuntimePermissions(imsServicePackage)) {
-                grantRuntimePermissions(imsServicePackage, PHONE_PERMISSIONS, userId);
-                grantRuntimePermissions(imsServicePackage, MICROPHONE_PERMISSIONS, userId);
-                grantRuntimePermissions(imsServicePackage, LOCATION_PERMISSIONS, userId);
-                grantRuntimePermissions(imsServicePackage, CAMERA_PERMISSIONS, userId);
-                grantRuntimePermissions(imsServicePackage, CONTACTS_PERMISSIONS, userId);
-            }
+            grantPermissionsToSystemPackage(packageName, userId,
+                    PHONE_PERMISSIONS, MICROPHONE_PERMISSIONS, LOCATION_PERMISSIONS,
+                    CAMERA_PERMISSIONS, CONTACTS_PERMISSIONS);
         }
     }
 
@@ -1019,15 +825,12 @@
             return;
         }
         for (String packageName : packageNames) {
-            PackageParser.Package dataServicePackage = getSystemPackage(packageName);
-            if (dataServicePackage != null
-                    && doesPackageSupportRuntimePermissions(dataServicePackage)) {
-                // Grant these permissions as system-fixed, so that nobody can accidentally
-                // break cellular data.
-                grantRuntimePermissions(dataServicePackage, PHONE_PERMISSIONS, true, userId);
-                grantRuntimePermissions(dataServicePackage, LOCATION_PERMISSIONS, true, userId);
-            }
+            // Grant these permissions as system-fixed, so that nobody can accidentally
+            // break cellular data.
+            grantSystemFixedPermissionsToSystemPackage(packageName, userId,
+                    PHONE_PERMISSIONS, LOCATION_PERMISSIONS);
         }
+
     }
 
     public void revokeDefaultPermissionsFromDisabledTelephonyDataServices(
@@ -1037,25 +840,17 @@
             return;
         }
         for (String packageName : packageNames) {
-            PackageParser.Package dataServicePackage = getSystemPackage(packageName);
-            if (dataServicePackage != null
-                    && doesPackageSupportRuntimePermissions(dataServicePackage)) {
-                revokeRuntimePermissions(dataServicePackage, PHONE_PERMISSIONS, true, userId);
-                revokeRuntimePermissions(dataServicePackage, LOCATION_PERMISSIONS, true, userId);
+            PackageInfo pkg = getSystemPackageInfo(packageName);
+            if (isSystemPackage(pkg) && doesPackageSupportRuntimePermissions(pkg)) {
+                revokeRuntimePermissions(packageName, PHONE_PERMISSIONS, true, userId);
+                revokeRuntimePermissions(packageName, LOCATION_PERMISSIONS, true, userId);
             }
         }
     }
 
     public void grantDefaultPermissionsToActiveLuiApp(String packageName, int userId) {
         Log.i(TAG, "Granting permissions to active LUI app for user:" + userId);
-        if (packageName == null) {
-            return;
-        }
-        PackageParser.Package luiAppPackage = getSystemPackage(packageName);
-        if (luiAppPackage != null
-                && doesPackageSupportRuntimePermissions(luiAppPackage)) {
-            grantRuntimePermissions(luiAppPackage, CAMERA_PERMISSIONS, true, userId);
-        }
+        grantSystemFixedPermissionsToSystemPackage(packageName, userId, CAMERA_PERMISSIONS);
     }
 
     public void revokeDefaultPermissionsFromLuiApps(String[] packageNames, int userId) {
@@ -1064,123 +859,116 @@
             return;
         }
         for (String packageName : packageNames) {
-            PackageParser.Package luiAppPackage = getSystemPackage(packageName);
-            if (luiAppPackage != null
-                    && doesPackageSupportRuntimePermissions(luiAppPackage)) {
-                revokeRuntimePermissions(luiAppPackage, CAMERA_PERMISSIONS, true, userId);
+            PackageInfo pkg = getSystemPackageInfo(packageName);
+            if (isSystemPackage(pkg) && doesPackageSupportRuntimePermissions(pkg)) {
+                revokeRuntimePermissions(packageName, CAMERA_PERMISSIONS, true, userId);
             }
         }
     }
 
     public void grantDefaultPermissionsToDefaultBrowser(String packageName, int userId) {
         Log.i(TAG, "Granting permissions to default browser for user:" + userId);
-        if (packageName == null) {
-            return;
-        }
-        PackageParser.Package browserPackage = getSystemPackage(packageName);
-        if (browserPackage != null
-                && doesPackageSupportRuntimePermissions(browserPackage)) {
-            grantRuntimePermissions(browserPackage, LOCATION_PERMISSIONS, false, false, userId);
-        }
+        grantPermissionsToSystemPackage(packageName, userId, LOCATION_PERMISSIONS);
     }
 
-    private PackageParser.Package getDefaultSystemHandlerActivityPackage(
-            Intent intent, int userId) {
+    private String getDefaultSystemHandlerActivityPackage(String intentAction, int userId) {
+        return getDefaultSystemHandlerActivityPackage(new Intent(intentAction), userId);
+    }
+
+    private String getDefaultSystemHandlerActivityPackage(Intent intent, int userId) {
         ResolveInfo handler = mServiceInternal.resolveIntent(intent,
-                intent.resolveType(mContext.getContentResolver()), DEFAULT_FLAGS, userId, false,
-                Binder.getCallingUid());
+                intent.resolveType(mContext.getContentResolver()), DEFAULT_INTENT_QUERY_FLAGS,
+                userId, false, Binder.getCallingUid());
         if (handler == null || handler.activityInfo == null) {
             return null;
         }
         if (mServiceInternal.isResolveActivityComponent(handler.activityInfo)) {
             return null;
         }
-        return getSystemPackage(handler.activityInfo.packageName);
+        String packageName = handler.activityInfo.packageName;
+        return isSystemPackage(packageName) ? packageName : null;
     }
 
-    private PackageParser.Package getDefaultSystemHandlerServicePackage(
+    private String getDefaultSystemHandlerServicePackage(String intentAction, int userId) {
+        return getDefaultSystemHandlerServicePackage(new Intent(intentAction), userId);
+    }
+
+    private String getDefaultSystemHandlerServicePackage(
             Intent intent, int userId) {
         List<ResolveInfo> handlers = mServiceInternal.queryIntentServices(
-                intent, DEFAULT_FLAGS, Binder.getCallingUid(), userId);
+                intent, DEFAULT_INTENT_QUERY_FLAGS, Binder.getCallingUid(), userId);
         if (handlers == null) {
             return null;
         }
         final int handlerCount = handlers.size();
         for (int i = 0; i < handlerCount; i++) {
             ResolveInfo handler = handlers.get(i);
-            PackageParser.Package handlerPackage = getSystemPackage(
-                    handler.serviceInfo.packageName);
-            if (handlerPackage != null) {
+            String handlerPackage = handler.serviceInfo.packageName;
+            if (isSystemPackage(handlerPackage)) {
                 return handlerPackage;
             }
         }
         return null;
     }
 
-    private List<PackageParser.Package> getHeadlessSyncAdapterPackages(
+    private ArrayList<String> getHeadlessSyncAdapterPackages(
             String[] syncAdapterPackageNames, int userId) {
-        List<PackageParser.Package> syncAdapterPackages = new ArrayList<>();
+        ArrayList<String> syncAdapterPackages = new ArrayList<>();
 
-        Intent homeIntent = new Intent(Intent.ACTION_MAIN);
-        homeIntent.addCategory(Intent.CATEGORY_LAUNCHER);
+        Intent homeIntent = new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER);
 
         for (String syncAdapterPackageName : syncAdapterPackageNames) {
             homeIntent.setPackage(syncAdapterPackageName);
 
             ResolveInfo homeActivity = mServiceInternal.resolveIntent(homeIntent,
-                    homeIntent.resolveType(mContext.getContentResolver()), DEFAULT_FLAGS,
+                    homeIntent.resolveType(mContext.getContentResolver()),
+                    DEFAULT_INTENT_QUERY_FLAGS,
                     userId, false, Binder.getCallingUid());
             if (homeActivity != null) {
                 continue;
             }
 
-            PackageParser.Package syncAdapterPackage = getSystemPackage(syncAdapterPackageName);
-            if (syncAdapterPackage != null) {
-                syncAdapterPackages.add(syncAdapterPackage);
+            if (isSystemPackage(syncAdapterPackageName)) {
+                syncAdapterPackages.add(syncAdapterPackageName);
             }
         }
 
         return syncAdapterPackages;
     }
 
-    private PackageParser.Package getDefaultProviderAuthorityPackage(
-            String authority, int userId) {
-        ProviderInfo provider =
-                mServiceInternal.resolveContentProvider(authority, DEFAULT_FLAGS, userId);
+    private String getDefaultProviderAuthorityPackage(String authority, int userId) {
+        ProviderInfo provider = mServiceInternal.resolveContentProvider(
+                authority, DEFAULT_INTENT_QUERY_FLAGS, userId);
         if (provider != null) {
-            return getSystemPackage(provider.packageName);
+            return provider.packageName;
         }
         return null;
     }
 
-    private PackageParser.Package getPackage(String packageName) {
-        return mServiceInternal.getPackage(packageName);
+    private boolean isSystemPackage(String packageName) {
+        return isSystemPackage(getPackageInfo(packageName));
     }
 
-    private PackageParser.Package getSystemPackage(String packageName) {
-        PackageParser.Package pkg = getPackage(packageName);
-        if (pkg != null && pkg.isSystem()) {
-            return !isSysComponentOrPersistentPlatformSignedPrivApp(pkg) ? pkg : null;
+    private boolean isSystemPackage(PackageInfo pkg) {
+        if (pkg == null) {
+            return false;
         }
-        return null;
+        return pkg.applicationInfo.isSystemApp()
+                && !isSysComponentOrPersistentPlatformSignedPrivApp(pkg);
     }
 
-    private void grantRuntimePermissions(PackageParser.Package pkg, Set<String> permissions,
-            int userId) {
-        grantRuntimePermissions(pkg, permissions, false, false, userId);
-    }
-
-    private void grantRuntimePermissions(PackageParser.Package pkg, Set<String> permissions,
+    private void grantRuntimePermissions(PackageInfo pkg, Set<String> permissions,
             boolean systemFixed, int userId) {
         grantRuntimePermissions(pkg, permissions, systemFixed, false, userId);
     }
 
-    private void revokeRuntimePermissions(PackageParser.Package pkg, Set<String> permissions,
+    private void revokeRuntimePermissions(String packageName, Set<String> permissions,
             boolean systemFixed, int userId) {
-        if (pkg.requestedPermissions.isEmpty()) {
+        PackageInfo pkg = getSystemPackageInfo(packageName);
+        if (ArrayUtils.isEmpty(pkg.requestedPermissions)) {
             return;
         }
-        Set<String> revokablePermissions = new ArraySet<>(pkg.requestedPermissions);
+        Set<String> revokablePermissions = new ArraySet<>(Arrays.asList(pkg.requestedPermissions));
 
         for (String permission : permissions) {
             // We can't revoke what wasn't requested.
@@ -1189,7 +977,7 @@
             }
 
             final int flags = mServiceInternal.getPermissionFlagsTEMP(
-                    permission, pkg.packageName, userId);
+                    permission, packageName, userId);
 
             // We didn't get this through the default grant policy. Move along.
             if ((flags & PackageManager.FLAG_PERMISSION_GRANTED_BY_DEFAULT) == 0) {
@@ -1205,43 +993,51 @@
             if ((flags & PackageManager.FLAG_PERMISSION_SYSTEM_FIXED) != 0 && !systemFixed) {
                 continue;
             }
-            mServiceInternal.revokeRuntimePermission(pkg.packageName, permission, userId, false);
+            mServiceInternal.revokeRuntimePermission(packageName, permission, userId, false);
 
             if (DEBUG) {
                 Log.i(TAG, "revoked " + (systemFixed ? "fixed " : "not fixed ")
-                        + permission + " to " + pkg.packageName);
+                        + permission + " to " + packageName);
             }
 
             // Remove the GRANTED_BY_DEFAULT flag without touching the others.
             // Note that we do not revoke FLAG_PERMISSION_SYSTEM_FIXED. That bit remains
             // sticky once set.
-            mServiceInternal.updatePermissionFlagsTEMP(permission, pkg.packageName,
+            mServiceInternal.updatePermissionFlagsTEMP(permission, packageName,
                     PackageManager.FLAG_PERMISSION_GRANTED_BY_DEFAULT, 0, userId);
         }
     }
 
-    private void grantRuntimePermissions(PackageParser.Package pkg,
+    private void grantRuntimePermissions(PackageInfo pkg,
             Set<String> permissionsWithoutSplits, boolean systemFixed, boolean ignoreSystemPackage,
             int userId) {
-        if (pkg.requestedPermissions.isEmpty()) {
+        if (pkg == null) {
+            return;
+        }
+
+        String[] requestedPermissions = pkg.requestedPermissions;
+        if (ArrayUtils.isEmpty(requestedPermissions)) {
             return;
         }
 
         final ArraySet<String> permissions = new ArraySet<>(permissionsWithoutSplits);
+        ApplicationInfo applicationInfo = pkg.applicationInfo;
 
         // Automatically attempt to grant split permissions to older APKs
-        final int numSplitPerms = PackageParser.SPLIT_PERMISSIONS.length;
+        final List<PermissionManager.SplitPermissionInfo> splitPermissions =
+                mContext.getSystemService(PermissionManager.class).getSplitPermissions();
+        final int numSplitPerms = splitPermissions.size();
         for (int splitPermNum = 0; splitPermNum < numSplitPerms; splitPermNum++) {
-            final PackageParser.SplitPermissionInfo splitPerm =
-                    PackageParser.SPLIT_PERMISSIONS[splitPermNum];
+            final PermissionManager.SplitPermissionInfo splitPerm =
+                    splitPermissions.get(splitPermNum);
 
-            if (pkg.applicationInfo.targetSdkVersion < splitPerm.targetSdk
-                    && permissionsWithoutSplits.contains(splitPerm.rootPerm)) {
-                Collections.addAll(permissions, splitPerm.newPerms);
+            if (applicationInfo != null
+                    && applicationInfo.targetSdkVersion < splitPerm.getTargetSdk()
+                    && permissionsWithoutSplits.contains(splitPerm.getRootPermission())) {
+                Collections.addAll(permissions, splitPerm.getNewPermissions());
             }
         }
 
-        List<String> requestedPermissions = pkg.requestedPermissions;
         Set<String> grantablePermissions = null;
 
         // In some cases, like for the Phone or SMS app, we grant permissions regardless
@@ -1250,23 +1046,25 @@
         // choice to grant this app the permissions needed to function. For all other
         // apps, (default grants on first boot and user creation) we don't grant default
         // permissions if the version on the system image does not declare them.
-        if (!ignoreSystemPackage && pkg.isUpdatedSystemApp()) {
-            final PackageParser.Package disabledPkg =
-                    mServiceInternal.getDisabledPackage(pkg.packageName);
+        if (!ignoreSystemPackage
+                && applicationInfo != null
+                && applicationInfo.isUpdatedSystemApp()) {
+            final PackageInfo disabledPkg = getSystemPackageInfo(
+                    mServiceInternal.getDisabledSystemPackageName(pkg.packageName));
             if (disabledPkg != null) {
-                if (disabledPkg.requestedPermissions.isEmpty()) {
+                if (ArrayUtils.isEmpty(disabledPkg.requestedPermissions)) {
                     return;
                 }
                 if (!requestedPermissions.equals(disabledPkg.requestedPermissions)) {
-                    grantablePermissions = new ArraySet<>(requestedPermissions);
+                    grantablePermissions = new ArraySet<>(Arrays.asList(requestedPermissions));
                     requestedPermissions = disabledPkg.requestedPermissions;
                 }
             }
         }
 
-        final int grantablePermissionCount = requestedPermissions.size();
+        final int grantablePermissionCount = requestedPermissions.length;
         for (int i = 0; i < grantablePermissionCount; i++) {
-            String permission = requestedPermissions.get(i);
+            String permission = requestedPermissions[i];
 
             // If there is a disabled system app it may request a permission the updated
             // version ot the data partition doesn't, In this case skip the permission.
@@ -1296,7 +1094,7 @@
                             pkg.packageName, permission, userId, false);
                     if (DEBUG) {
                         Log.i(TAG, "Granted " + (systemFixed ? "fixed " : "not fixed ")
-                                + permission + " to default handler " + pkg.packageName);
+                                + permission + " to default handler " + pkg);
                     }
 
                     int newFlags = PackageManager.FLAG_PERMISSION_GRANTED_BY_DEFAULT;
@@ -1315,7 +1113,7 @@
                         && !systemFixed) {
                     if (DEBUG) {
                         Log.i(TAG, "Granted not fixed " + permission + " to default handler "
-                                + pkg.packageName);
+                                + pkg);
                     }
                     mServiceInternal.updatePermissionFlagsTEMP(permission, pkg.packageName,
                             PackageManager.FLAG_PERMISSION_SYSTEM_FIXED, 0, userId);
@@ -1324,28 +1122,42 @@
         }
     }
 
-    private boolean isSysComponentOrPersistentPlatformSignedPrivApp(PackageParser.Package pkg) {
+    private PackageInfo getSystemPackageInfo(String pkg) {
+        //TODO not MATCH_SYSTEM_ONLY?
+        return getPackageInfo(pkg, PackageManager.MATCH_FACTORY_ONLY);
+    }
+
+    private PackageInfo getPackageInfo(String pkg) {
+        return getPackageInfo(pkg, 0 /* extraFlags */);
+    }
+
+    private PackageInfo getPackageInfo(String pkg,
+            @PackageManager.PackageInfoFlags int extraFlags) {
+        return mServiceInternal.getPackageInfo(pkg,
+                DEFAULT_PACKAGE_INFO_QUERY_FLAGS | extraFlags,
+                //TODO is this the right filterCallingUid?
+                UserHandle.USER_SYSTEM, UserHandle.USER_SYSTEM);
+    }
+
+    private boolean isSysComponentOrPersistentPlatformSignedPrivApp(PackageInfo pkg) {
         if (UserHandle.getAppId(pkg.applicationInfo.uid) < FIRST_APPLICATION_UID) {
             return true;
         }
-        if (!pkg.isPrivileged()) {
+        if (!pkg.applicationInfo.isPrivilegedApp()) {
             return false;
         }
-        final PackageParser.Package disabledPkg =
-                mServiceInternal.getDisabledPackage(pkg.packageName);
+        final PackageInfo disabledPkg = getSystemPackageInfo(
+                mServiceInternal.getDisabledSystemPackageName(pkg.applicationInfo.packageName));
         if (disabledPkg != null) {
-            if ((disabledPkg.applicationInfo.flags & ApplicationInfo.FLAG_PERSISTENT) == 0) {
+            ApplicationInfo disabledPackageAppInfo = disabledPkg.applicationInfo;
+            if (disabledPackageAppInfo != null
+                    && (disabledPackageAppInfo.flags & ApplicationInfo.FLAG_PERSISTENT) == 0) {
                 return false;
             }
         } else if ((pkg.applicationInfo.flags & ApplicationInfo.FLAG_PERSISTENT) == 0) {
             return false;
         }
-        final String systemPackageName = mServiceInternal.getKnownPackageName(
-                PackageManagerInternal.PACKAGE_SYSTEM, UserHandle.USER_SYSTEM);
-        final PackageParser.Package systemPackage = getPackage(systemPackageName);
-        return pkg.mSigningDetails.hasAncestorOrSelf(systemPackage.mSigningDetails)
-                || systemPackage.mSigningDetails.checkCapability(pkg.mSigningDetails,
-                        PackageParser.SigningDetails.CertCapabilities.PERMISSION);
+        return mServiceInternal.isPlatformSigned(pkg.packageName);
     }
 
     private void grantDefaultPermissionExceptions(int userId) {
@@ -1365,7 +1177,7 @@
         final int exceptionCount = mGrantExceptions.size();
         for (int i = 0; i < exceptionCount; i++) {
             String packageName = mGrantExceptions.keyAt(i);
-            PackageParser.Package pkg = getSystemPackage(packageName);
+            PackageInfo pkg = getSystemPackageInfo(packageName);
             List<DefaultPermissionGrant> permissionGrants = mGrantExceptions.valueAt(i);
             final int permissionGrantCount = permissionGrants.size();
             for (int j = 0; j < permissionGrantCount; j++) {
@@ -1376,8 +1188,7 @@
                     permissions.clear();
                 }
                 permissions.add(permissionGrant.name);
-                grantRuntimePermissions(pkg, permissions,
-                        permissionGrant.fixed, userId);
+                grantRuntimePermissions(pkg, permissions, permissionGrant.fixed, userId);
             }
         }
     }
@@ -1482,15 +1293,14 @@
                         outGrantExceptions.get(packageName);
                 if (packageExceptions == null) {
                     // The package must be on the system image
-                    PackageParser.Package pkg = getSystemPackage(packageName);
-                    if (pkg == null) {
+                    if (!isSystemPackage(packageName)) {
                         Log.w(TAG, "Unknown package:" + packageName);
                         XmlUtils.skipCurrentTag(parser);
                         continue;
                     }
 
                     // The package must support runtime permissions
-                    if (!doesPackageSupportRuntimePermissions(pkg)) {
+                    if (!doesPackageSupportRuntimePermissions(getSystemPackageInfo(packageName))) {
                         Log.w(TAG, "Skipping non supporting runtime permissions package:"
                                 + packageName);
                         XmlUtils.skipCurrentTag(parser);
@@ -1535,8 +1345,9 @@
         }
     }
 
-    private static boolean doesPackageSupportRuntimePermissions(PackageParser.Package pkg) {
-        return pkg.applicationInfo.targetSdkVersion > Build.VERSION_CODES.LOLLIPOP_MR1;
+    private static boolean doesPackageSupportRuntimePermissions(PackageInfo pkg) {
+        return pkg.applicationInfo != null
+                && pkg.applicationInfo.targetSdkVersion > Build.VERSION_CODES.LOLLIPOP_MR1;
     }
 
     private static final class DefaultPermissionGrant {
diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
index c4f90a12..4b6760c 100644
--- a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
+++ b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
@@ -1189,7 +1189,7 @@
                 // is granted only if it had been defined by the original application.
                 if (pkg.isUpdatedSystemApp()) {
                     final PackageParser.Package disabledPkg =
-                            mPackageManagerInt.getDisabledPackage(pkg.packageName);
+                            mPackageManagerInt.getDisabledSystemPackage(pkg.packageName);
                     final PackageSetting disabledPs =
                             (disabledPkg != null) ? (PackageSetting) disabledPkg.mExtras : null;
                     if (disabledPs != null
@@ -1221,7 +1221,7 @@
                         // packages can also get the permission.
                         if (pkg.parentPackage != null) {
                             final PackageParser.Package disabledParentPkg = mPackageManagerInt
-                                    .getDisabledPackage(pkg.parentPackage.packageName);
+                                    .getDisabledSystemPackage(pkg.parentPackage.packageName);
                             final PackageSetting disabledParentPs = (disabledParentPkg != null)
                                     ? (PackageSetting) disabledParentPkg.mExtras : null;
                             if (disabledParentPkg != null
@@ -1372,7 +1372,7 @@
             return;
         }
         final PackageParser.Package disabledPkg =
-                mPackageManagerInt.getDisabledPackage(pkg.parentPackage.packageName);
+                mPackageManagerInt.getDisabledSystemPackage(pkg.parentPackage.packageName);
         if (disabledPkg == null || disabledPkg.mExtras == null) {
             return;
         }
diff --git a/services/core/java/com/android/server/pm/permission/PermissionsState.java b/services/core/java/com/android/server/pm/permission/PermissionsState.java
index 5e66bfc3..82d6b22 100644
--- a/services/core/java/com/android/server/pm/permission/PermissionsState.java
+++ b/services/core/java/com/android/server/pm/permission/PermissionsState.java
@@ -135,7 +135,8 @@
             final int userCount = other.mPermissionReviewRequired.size();
             for (int i = 0; i < userCount; i++) {
                 final boolean reviewRequired = other.mPermissionReviewRequired.valueAt(i);
-                mPermissionReviewRequired.put(i, reviewRequired);
+                mPermissionReviewRequired.put(other.mPermissionReviewRequired.keyAt(i),
+                        reviewRequired);
             }
         }
     }
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index 3e0429f..2557f46 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -125,6 +125,7 @@
 import static android.view.WindowManager.TAKE_SCREENSHOT_SELECTED_REGION;
 import static android.view.WindowManagerGlobal.ADD_OKAY;
 import static android.view.WindowManagerGlobal.ADD_PERMISSION_DENIED;
+
 import static com.android.server.policy.WindowManagerPolicy.WindowManagerFuncs.CAMERA_LENS_COVERED;
 import static com.android.server.policy.WindowManagerPolicy.WindowManagerFuncs.CAMERA_LENS_COVER_ABSENT;
 import static com.android.server.policy.WindowManagerPolicy.WindowManagerFuncs.CAMERA_LENS_UNCOVERED;
@@ -532,8 +533,6 @@
 
     GlobalActions mGlobalActions;
     Handler mHandler;
-    WindowState mLastInputMethodWindow = null;
-    WindowState mLastInputMethodTargetWindow = null;
 
     // FIXME This state is shared between the input reader and handler thread.
     // Technically it's broken and buggy but it has been like this for many years
@@ -631,9 +630,11 @@
 
     InputConsumer mInputConsumer = null;
 
-    private final WindowFrames mWindowFrames = new WindowFrames();
-    private static final Rect mTmpDisplayCutoutSafeExceptMaybeBarsRect = new Rect();
-    private static final Rect mTmpRect = new Rect();
+    private static final Rect sTmpDisplayCutoutSafeExceptMaybeBarsRect = new Rect();
+    private static final Rect sTmpRect = new Rect();
+    private static final Rect sTmpDockedFrame = new Rect();
+    private static final Rect sTmpNavFrame = new Rect();
+    private static final Rect sTmpLastParentFrame = new Rect();
 
     WindowState mTopFullscreenOpaqueWindowState;
     WindowState mTopFullscreenOpaqueOrDimmingWindowState;
@@ -2827,7 +2828,8 @@
                 // Assumes it's safe to show starting windows of launched apps while
                 // the keyguard is being hidden. This is okay because starting windows never show
                 // secret information.
-                if (mKeyguardOccluded) {
+                // TODO(b/113840485): Occluded may not only happen on default display
+                if (displayId == DEFAULT_DISPLAY && mKeyguardOccluded) {
                     windowFlags |= FLAG_SHOW_WHEN_LOCKED;
                 }
             }
@@ -3543,8 +3545,6 @@
             return 0;
         } else if (mHasFeatureLeanback && interceptBugreportGestureTv(keyCode, down)) {
             return -1;
-        } else if (mHasFeatureLeanback && interceptAccessibilityGestureTv(keyCode, down)) {
-            return -1;
         } else if (keyCode == KeyEvent.KEYCODE_ALL_APPS) {
             if (!down) {
                 mHandler.removeMessages(MSG_HANDLE_ALL_APPS);
@@ -4310,9 +4310,6 @@
         mDockLayer = 0x10000000;
         mStatusBarLayer = -1;
 
-        mWindowFrames.setDisplayCutout(displayFrames.mDisplayCutout);
-        mWindowFrames.setParentFrameWasClippedByDisplayCutout(false);
-
         if (displayFrames.mDisplayId == DEFAULT_DISPLAY) {
             // For purposes of putting out fake window up to steal focus, we will
             // drive nav being hidden only by whether it is requested.
@@ -4379,12 +4376,8 @@
             return;
         }
 
-        mTmpRect.setEmpty();
-        mWindowFrames.setFrames(displayFrames.mDock /* parentFrame */,
-                displayFrames.mDock /* displayFrame */, displayFrames.mDock /* overscanFrame */,
-                displayFrames.mDock /* contentFrame */, displayFrames.mDock /* visibleFrame */,
-                mTmpRect /* decorFrame */, displayFrames.mDock /* stableFrame */,
-                displayFrames.mDock /* outsetFrame */);
+        sTmpRect.setEmpty();
+        sTmpDockedFrame.set(displayFrames.mDock);
 
         final int displayId = displayFrames.mDisplayId;
         final Rect dockFrame = displayFrames.mDock;
@@ -4398,7 +4391,13 @@
                 continue;
             }
 
-            w.computeFrameLw(mWindowFrames);
+            w.getWindowFrames().setFrames(sTmpDockedFrame /* parentFrame */,
+                    sTmpDockedFrame /* displayFrame */, sTmpDockedFrame /* overscanFrame */,
+                    sTmpDockedFrame /* contentFrame */, sTmpDockedFrame /* visibleFrame */,
+                    sTmpRect /* decorFrame */, sTmpDockedFrame /* stableFrame */,
+                    sTmpDockedFrame /* outsetFrame */);
+            w.getWindowFrames().setDisplayCutout(displayFrames.mDisplayCutout);
+            w.computeFrameLw();
             final Rect frame = w.getFrameLw();
 
             if (frame.left <= 0 && frame.top <= 0) {
@@ -4450,17 +4449,17 @@
             return false;
         }
         // apply any navigation bar insets
-        mTmpRect.setEmpty();
-        mWindowFrames.setFrames(displayFrames.mUnrestricted /* parentFrame */,
+        sTmpRect.setEmpty();
+        mStatusBar.getWindowFrames().setFrames(displayFrames.mUnrestricted /* parentFrame */,
                 displayFrames.mUnrestricted /* displayFrame */,
                 displayFrames.mStable /* overscanFrame */, displayFrames.mStable /* contentFrame */,
-                displayFrames.mStable /* visibleFrame */, mTmpRect /* decorFrame */,
+                displayFrames.mStable /* visibleFrame */, sTmpRect /* decorFrame */,
                 displayFrames.mStable /* stableFrame */, displayFrames.mStable /* outsetFrame */);
-
+        mStatusBar.getWindowFrames().setDisplayCutout(displayFrames.mDisplayCutout);
         mStatusBarLayer = mStatusBar.getSurfaceLayer();
 
         // Let the status bar determine its size.
-        mStatusBar.computeFrameLw(mWindowFrames);
+        mStatusBar.computeFrameLw();
 
         // For layout, the status bar is always at the top with our fixed height.
         displayFrames.mStable.top = displayFrames.mUnrestricted.top
@@ -4470,11 +4469,11 @@
                 displayFrames.mDisplayCutoutSafe.top);
 
         // Tell the bar controller where the collapsed status bar content is
-        mTmpRect.set(mStatusBar.getContentFrameLw());
-        mTmpRect.intersect(displayFrames.mDisplayCutoutSafe);
-        mTmpRect.top = mStatusBar.getContentFrameLw().top;  // Ignore top display cutout inset
-        mTmpRect.bottom = displayFrames.mStable.top;  // Use collapsed status bar size
-        mStatusBarController.setContentFrame(mTmpRect);
+        sTmpRect.set(mStatusBar.getContentFrameLw());
+        sTmpRect.intersect(displayFrames.mDisplayCutoutSafe);
+        sTmpRect.top = mStatusBar.getContentFrameLw().top;  // Ignore top display cutout inset
+        sTmpRect.bottom = displayFrames.mStable.top;  // Use collapsed status bar size
+        mStatusBarController.setContentFrame(sTmpRect);
 
         boolean statusBarTransient = (sysui & View.STATUS_BAR_TRANSIENT) != 0;
         boolean statusBarTranslucent = (sysui
@@ -4514,7 +4513,7 @@
             return false;
         }
 
-        final Rect navigationFrame = mWindowFrames.mParentFrame;
+        final Rect navigationFrame = sTmpNavFrame;
         boolean transientNavBarShowing = mNavigationBarController.isTransientShowing();
         // Force the navigation bar to its appropriate place and size. We need to do this directly,
         // instead of relying on it to bubble up from the nav bar, because this needs to change
@@ -4525,7 +4524,7 @@
         final Rect dockFrame = displayFrames.mDock;
         mNavigationBarPosition = navigationBarPosition(displayWidth, displayHeight, rotation);
 
-        final Rect cutoutSafeUnrestricted = mTmpRect;
+        final Rect cutoutSafeUnrestricted = sTmpRect;
         cutoutSafeUnrestricted.set(displayFrames.mUnrestricted);
         cutoutSafeUnrestricted.intersectUnchecked(displayFrames.mDisplayCutoutSafe);
 
@@ -4607,15 +4606,15 @@
         displayFrames.mContent.set(dockFrame);
         mStatusBarLayer = mNavigationBar.getSurfaceLayer();
         // And compute the final frame.
-        mTmpRect.setEmpty();
-        mWindowFrames.setFrames(navigationFrame /* parentFrame */,
+        sTmpRect.setEmpty();
+        mNavigationBar.getWindowFrames().setFrames(navigationFrame /* parentFrame */,
                 navigationFrame /* displayFrame */, navigationFrame /* overscanFrame */,
                 displayFrames.mDisplayCutoutSafe /* contentFrame */,
-                navigationFrame /* visibleFrame */, mTmpRect /* decorFrame */,
+                navigationFrame /* visibleFrame */, sTmpRect /* decorFrame */,
                 navigationFrame /* stableFrame */,
                 displayFrames.mDisplayCutoutSafe /* outsetFrame */);
-
-        mNavigationBar.computeFrameLw(mWindowFrames);
+        mNavigationBar.getWindowFrames().setDisplayCutout(displayFrames.mDisplayCutout);
+        mNavigationBar.computeFrameLw();
         mNavigationBarController.setContentFrame(mNavigationBar.getContentFrameLw());
 
         if (DEBUG_LAYOUT) Slog.i(TAG, "mNavigationBar frame: " + navigationFrame);
@@ -4732,12 +4731,6 @@
         }
         final WindowManager.LayoutParams attrs = win.getAttrs();
         final boolean isDefaultDisplay = win.isDefaultDisplay();
-        final boolean needsToOffsetInputMethodTarget = isDefaultDisplay &&
-                (win == mLastInputMethodTargetWindow && mLastInputMethodWindow != null);
-        if (needsToOffsetInputMethodTarget) {
-            if (DEBUG_LAYOUT) Slog.i(TAG, "Offset ime target window by the last ime window state");
-            offsetInputMethodWindowLw(mLastInputMethodWindow, displayFrames);
-        }
 
         final int type = attrs.type;
         final int fl = PolicyControl.getWindowFlags(win, attrs);
@@ -4746,17 +4739,20 @@
         final int requestedSysUiFl = PolicyControl.getSystemUiVisibility(null, attrs);
         final int sysUiFl = requestedSysUiFl | getImpliedSysUiFlagsForLayout(attrs);
 
-        final Rect pf = mWindowFrames.mParentFrame;
-        final Rect df = mWindowFrames.mDisplayFrame;
-        final Rect of = mWindowFrames.mOverscanFrame;
-        final Rect cf = mWindowFrames.mContentFrame;
-        final Rect vf = mWindowFrames.mVisibleFrame;
-        final Rect dcf = mWindowFrames.mDecorFrame;
-        final Rect sf = mWindowFrames.mStableFrame;
+        final WindowFrames windowFrames = win.getWindowFrames();
+
+        windowFrames.setHasOutsets(false);
+        sTmpLastParentFrame.set(windowFrames.mParentFrame);
+        final Rect pf = windowFrames.mParentFrame;
+        final Rect df = windowFrames.mDisplayFrame;
+        final Rect of = windowFrames.mOverscanFrame;
+        final Rect cf = windowFrames.mContentFrame;
+        final Rect vf = windowFrames.mVisibleFrame;
+        final Rect dcf = windowFrames.mDecorFrame;
+        final Rect sf = windowFrames.mStableFrame;
         dcf.setEmpty();
-        mWindowFrames.mOutsetFrame.setEmpty();
-        mWindowFrames.setParentFrameWasClippedByDisplayCutout(false);
-        mWindowFrames.setDisplayCutout(displayFrames.mDisplayCutout);
+        windowFrames.setParentFrameWasClippedByDisplayCutout(false);
+        windowFrames.setDisplayCutout(displayFrames.mDisplayCutout);
 
         final boolean hasNavBar = (isDefaultDisplay && mDefaultDisplayPolicy.hasNavigationBar()
                 && mNavigationBar != null && mNavigationBar.isVisibleLw());
@@ -4776,7 +4772,7 @@
             cf.set(displayFrames.mDock);
             of.set(displayFrames.mDock);
             df.set(displayFrames.mDock);
-            pf.set(displayFrames.mDock);
+            windowFrames.mParentFrame.set(displayFrames.mDock);
             // IM dock windows layout below the nav bar...
             pf.bottom = df.bottom = of.bottom = displayFrames.mUnrestricted.bottom;
             // ...with content insets above the nav bar
@@ -4878,9 +4874,7 @@
                                 ? displayFrames.mRestricted.bottom
                                 : displayFrames.mUnrestricted.bottom;
 
-                        if (DEBUG_LAYOUT) Slog.v(TAG, String.format(
-                                        "Laying out status bar window: (%d,%d - %d,%d)",
-                                        pf.left, pf.top, pf.right, pf.bottom));
+                        if (DEBUG_LAYOUT) Slog.v(TAG, "Laying out status bar window: " + pf);
                     } else if ((fl & FLAG_LAYOUT_IN_OVERSCAN) != 0
                             && type >= FIRST_APPLICATION_WINDOW && type <= LAST_SUB_WINDOW) {
                         // Asking to layout into the overscan region, so give it that pure
@@ -4952,17 +4946,13 @@
                         pf.bottom = df.bottom = of.bottom = cf.bottom =
                                 displayFrames.mRestricted.bottom;
                     }
-                    if (DEBUG_LAYOUT) Slog.v(TAG, String.format(
-                            "Laying out IN_SCREEN status bar window: (%d,%d - %d,%d)",
-                            pf.left, pf.top, pf.right, pf.bottom));
+                    if (DEBUG_LAYOUT) Slog.v(TAG, "Laying out IN_SCREEN status bar window: " + pf);
                 } else if (type == TYPE_NAVIGATION_BAR || type == TYPE_NAVIGATION_BAR_PANEL) {
                     // The navigation bar has Real Ultimate Power.
                     of.set(displayFrames.mUnrestricted);
                     df.set(displayFrames.mUnrestricted);
                     pf.set(displayFrames.mUnrestricted);
-                    if (DEBUG_LAYOUT) Slog.v(TAG, String.format(
-                                    "Laying out navigation bar window: (%d,%d - %d,%d)",
-                                    pf.left, pf.top, pf.right, pf.bottom));
+                    if (DEBUG_LAYOUT) Slog.v(TAG, "Laying out navigation bar window: " + pf);
                 } else if ((type == TYPE_SECURE_SYSTEM_OVERLAY || type == TYPE_SCREENSHOT)
                         && ((fl & FLAG_FULLSCREEN) != 0)) {
                     // Fullscreen secure system overlays get what they ask for. Screenshot region
@@ -5089,7 +5079,7 @@
         // Ensure that windows with a DEFAULT or NEVER display cutout mode are laid out in
         // the cutout safe zone.
         if (cutoutMode != LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS) {
-            final Rect displayCutoutSafeExceptMaybeBars = mTmpDisplayCutoutSafeExceptMaybeBarsRect;
+            final Rect displayCutoutSafeExceptMaybeBars = sTmpDisplayCutoutSafeExceptMaybeBarsRect;
             displayCutoutSafeExceptMaybeBars.set(displayFrames.mDisplayCutoutSafe);
             if (layoutInScreen && layoutInsetDecor && !requestedFullscreen
                     && cutoutMode == LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT) {
@@ -5124,9 +5114,9 @@
             // They will later be cropped or shifted using the displayFrame in WindowState,
             // which prevents overlap with the DisplayCutout.
             if (!attachedInParent && !floatingInScreenWindow) {
-                mTmpRect.set(pf);
+                sTmpRect.set(pf);
                 pf.intersectUnchecked(displayCutoutSafeExceptMaybeBars);
-                mWindowFrames.setParentFrameWasClippedByDisplayCutout(!mTmpRect.equals(pf));
+                windowFrames.setParentFrameWasClippedByDisplayCutout(!sTmpRect.equals(pf));
             }
             // Make sure that NO_LIMITS windows clipped to the display don't extend under the
             // cutout.
@@ -5154,8 +5144,9 @@
         // apply the outsets to floating dialogs, because they wouldn't make sense there.
         final boolean useOutsets = shouldUseOutsets(attrs, fl);
         if (isDefaultDisplay && useOutsets) {
-            final Rect osf = mWindowFrames.mOutsetFrame;
+            final Rect osf = windowFrames.mOutsetFrame;
             osf.set(cf.left, cf.top, cf.right, cf.bottom);
+            windowFrames.setHasOutsets(true);
             int outset = ScreenShapeHelper.getWindowOutsetBottomPx(mContext.getResources());
             if (outset > 0) {
                 int rotation = displayFrames.mRotation;
@@ -5182,14 +5173,17 @@
                 + " cf=" + cf.toShortString() + " vf=" + vf.toShortString()
                 + " dcf=" + dcf.toShortString()
                 + " sf=" + sf.toShortString()
-                + " osf=" + mWindowFrames.mOutsetFrame.toShortString());
+                + " osf=" + windowFrames.mOutsetFrame.toShortString() + " " + win);
 
-        win.computeFrameLw(mWindowFrames);
+        if (!sTmpLastParentFrame.equals(pf)) {
+            windowFrames.setContentChanged(true);
+        }
+
+        win.computeFrameLw();
         // Dock windows carve out the bottom of the screen, so normal windows
         // can't appear underneath them.
         if (type == TYPE_INPUT_METHOD && win.isVisibleLw()
                 && !win.getGivenInsetsPendingLw()) {
-            setLastInputMethodWindowLw(null, null);
             offsetInputMethodWindowLw(win, displayFrames);
         }
         if (type == TYPE_VOICE_INTERACTION && win.isVisibleLw()
@@ -6037,6 +6031,22 @@
             }
         }
 
+        // Intercept the Accessibility keychord for TV (DPAD_DOWN + Back) before the keyevent is
+        // processed through interceptKeyEventBeforeDispatch since Talkback may consume this event
+        // before it has a chance to reach that method.
+        if (mHasFeatureLeanback) {
+            switch (keyCode) {
+                case KeyEvent.KEYCODE_DPAD_DOWN:
+                case KeyEvent.KEYCODE_BACK: {
+                    boolean handled = interceptAccessibilityGestureTv(keyCode, down);
+                    if (handled) {
+                        result &= ~ACTION_PASS_TO_USER;
+                    }
+                    break;
+                }
+            }
+        }
+
         if (useHapticFeedback) {
             performHapticFeedbackLw(null, HapticFeedbackConstants.VIRTUAL_KEY, false,
                     "Virtual Key - Press");
@@ -7804,12 +7814,6 @@
     }
 
     @Override
-    public void setLastInputMethodWindowLw(WindowState ime, WindowState target) {
-        mLastInputMethodWindow = ime;
-        mLastInputMethodTargetWindow = target;
-    }
-
-    @Override
     public void setDismissImeOnBackKeyPressed(boolean newValue) {
         mDismissImeOnBackKeyPressed = newValue;
     }
@@ -7827,7 +7831,6 @@
         if (statusBar != null) {
             statusBar.setCurrentUser(newUserId);
         }
-        setLastInputMethodWindowLw(null, null);
     }
 
     @Override
@@ -8002,14 +8005,6 @@
         pw.print(prefix); pw.print("mShowingDream="); pw.print(mShowingDream);
                 pw.print(" mDreamingLockscreen="); pw.print(mDreamingLockscreen);
                 pw.print(" mDreamingSleepToken="); pw.println(mDreamingSleepToken);
-        if (mLastInputMethodWindow != null) {
-            pw.print(prefix); pw.print("mLastInputMethodWindow=");
-                    pw.println(mLastInputMethodWindow);
-        }
-        if (mLastInputMethodTargetWindow != null) {
-            pw.print(prefix); pw.print("mLastInputMethodTargetWindow=");
-                    pw.println(mLastInputMethodTargetWindow);
-        }
         if (mStatusBar != null) {
             pw.print(prefix); pw.print("mStatusBar=");
                     pw.print(mStatusBar); pw.print(" isStatusBarKeyguard=");
diff --git a/services/core/java/com/android/server/policy/TEST_MAPPING b/services/core/java/com/android/server/policy/TEST_MAPPING
new file mode 100644
index 0000000..e212b04
--- /dev/null
+++ b/services/core/java/com/android/server/policy/TEST_MAPPING
@@ -0,0 +1,50 @@
+{
+  "presubmit": [
+    {
+      "name": "FrameworksServicesTests",
+      "options": [
+        {
+          "include-filter": "com.android.server.policy."
+        },
+        {
+          "include-annotation": "android.platform.test.annotations.Presubmit"
+        },
+        {
+          "exclude-annotation": "android.support.test.filters.FlakyTest"
+        }
+      ]
+    },
+    {
+      "name": "WmTests",
+      "options": [
+        {
+          "include-filter": "com.android.server.policy."
+        },
+        {
+          "include-annotation": "android.platform.test.annotations.Presubmit"
+        },
+        {
+          "exclude-annotation": "androidx.test.filters.FlakyTest"
+        }
+      ]
+    }
+  ],
+  "postsubmit": [
+    {
+      "name": "FrameworksServicesTests",
+      "options": [
+        {
+          "include-filter": "com.android.server.policy."
+        }
+      ]
+    },
+    {
+      "name": "WmTests",
+      "options": [
+        {
+          "include-filter": "com.android.server.policy."
+        }
+      ]
+    }
+  ]
+}
diff --git a/services/core/java/com/android/server/policy/WindowManagerPolicy.java b/services/core/java/com/android/server/policy/WindowManagerPolicy.java
index b55adeb..27ab3ef 100644
--- a/services/core/java/com/android/server/policy/WindowManagerPolicy.java
+++ b/services/core/java/com/android/server/policy/WindowManagerPolicy.java
@@ -63,12 +63,10 @@
 
 import static java.lang.annotation.RetentionPolicy.SOURCE;
 
-import android.Manifest;
 import android.annotation.IntDef;
 import android.annotation.Nullable;
 import android.app.ActivityManager;
 import android.content.Context;
-import android.content.pm.ActivityInfo;
 import android.content.res.CompatibilityInfo;
 import android.content.res.Configuration;
 import android.graphics.Rect;
@@ -95,7 +93,6 @@
 import com.android.server.wm.DisplayFrames;
 import com.android.server.wm.DisplayRotation;
 import com.android.server.wm.WindowFrames;
-import com.android.server.wm.utils.WmDisplayCutout;
 
 import java.io.PrintWriter;
 import java.lang.annotation.Retention;
@@ -201,10 +198,8 @@
          * getFrame() if so desired.  Must be called with the window manager
          * lock held.
          *
-         * @param windowFrames Container for all the window frames that affect how the window is
-         *                     laid out.
          */
-        public void computeFrameLw(WindowFrames windowFrames);
+        public void computeFrameLw();
 
         /**
          * Retrieve the current frame of the window that has been assigned by
@@ -477,6 +472,11 @@
          * Writes {@link com.android.server.wm.IdentifierProto} to stream.
          */
         void writeIdentifierToProto(ProtoOutputStream proto, long fieldId);
+
+        /**
+         * @return The {@link WindowFrames} associated with this {@link WindowState}
+         */
+        WindowFrames getWindowFrames();
     }
 
     /**
@@ -1167,7 +1167,6 @@
     default void layoutWindowLw(
             WindowState win, WindowState attached, DisplayFrames displayFrames) {}
 
-
     /**
      * Return the layout hints for a newly added window. These values are computed on the
      * most recent layout, so they are not guaranteed to be correct.
@@ -1537,13 +1536,6 @@
     public void lockNow(Bundle options);
 
     /**
-     * Set the last used input method window state. This state is used to make IME transition
-     * smooth.
-     * @hide
-     */
-    public void setLastInputMethodWindowLw(WindowState ime, WindowState target);
-
-    /**
      * An internal callback (from InputMethodManagerService) to notify a state change regarding
      * whether the back key should dismiss the software keyboard (IME) or not.
      *
diff --git a/services/core/java/com/android/server/power/Notifier.java b/services/core/java/com/android/server/power/Notifier.java
index 5981ab0..5adc248 100644
--- a/services/core/java/com/android/server/power/Notifier.java
+++ b/services/core/java/com/android/server/power/Notifier.java
@@ -49,6 +49,7 @@
 import android.util.Slog;
 import android.util.StatsLog;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.app.IBatteryStats;
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -75,7 +76,8 @@
  * tell the system when we go to sleep so that it can lock the keyguard if needed.
  * </p>
  */
-final class Notifier {
+@VisibleForTesting
+public class Notifier {
     private static final String TAG = "PowerManagerNotifier";
 
     private static final boolean DEBUG = false;
@@ -188,6 +190,8 @@
         try {
             mBatteryStats.noteInteractive(true);
         } catch (RemoteException ex) { }
+        StatsLog.write(StatsLog.INTERACTIVE_STATE_CHANGED,
+                StatsLog.INTERACTIVE_STATE_CHANGED__STATE__ON);
     }
 
     /**
@@ -399,6 +403,9 @@
             try {
                 mBatteryStats.noteInteractive(interactive);
             } catch (RemoteException ex) { }
+            StatsLog.write(StatsLog.INTERACTIVE_STATE_CHANGED,
+                    interactive ? StatsLog.INTERACTIVE_STATE_CHANGED__STATE__ON :
+                            StatsLog.INTERACTIVE_STATE_CHANGED__STATE__OFF);
 
             // Handle early behaviors.
             mInteractive = interactive;
diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java
index bdf12ca..9f6b3dd 100644
--- a/services/core/java/com/android/server/power/PowerManagerService.java
+++ b/services/core/java/com/android/server/power/PowerManagerService.java
@@ -64,7 +64,6 @@
 import android.os.WorkSource;
 import android.os.WorkSource.WorkChain;
 import android.provider.Settings;
-import android.provider.Settings.Global;
 import android.provider.Settings.SettingNotFoundException;
 import android.service.dreams.DreamManagerInternal;
 import android.service.vr.IVrManager;
@@ -84,7 +83,6 @@
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.internal.os.BackgroundThread;
-import com.android.internal.util.ArrayUtils;
 import com.android.internal.util.DumpUtils;
 import com.android.server.EventLogTags;
 import com.android.server.LockGuard;
@@ -230,6 +228,10 @@
     private final BatterySaverController mBatterySaverController;
     private final BatterySaverStateMachine mBatterySaverStateMachine;
     private final BatterySavingStats mBatterySavingStats;
+    private final BinderService mBinderService;
+    private final LocalService mLocalService;
+    private final NativeWrapper mNativeWrapper;
+    private final Injector mInjector;
 
     private LightsManager mLightsManager;
     private BatteryManagerInternal mBatteryManagerInternal;
@@ -636,10 +638,76 @@
         }
     }
 
+    /**
+     * Wrapper around the static-native methods of PowerManagerService.
+     *
+     * This class exists to allow us to mock static native methods in our tests. If mocking static
+     * methods becomes easier than this in the future, we can delete this class.
+     */
+    @VisibleForTesting
+    public static class NativeWrapper {
+        /** Wrapper for PowerManager.nativeInit */
+        public void nativeInit(PowerManagerService service) {
+            service.nativeInit();
+        }
+
+        /** Wrapper for PowerManager.nativeAcquireSuspectBlocker */
+        public void nativeAcquireSuspendBlocker(String name) {
+            PowerManagerService.nativeAcquireSuspendBlocker(name);
+        }
+
+        /** Wrapper for PowerManager.nativeReleaseSuspendBlocker */
+        public void nativeReleaseSuspendBlocker(String name) {
+            PowerManagerService.nativeReleaseSuspendBlocker(name);
+        }
+
+        /** Wrapper for PowerManager.nativeSetInteractive */
+        public void nativeSetInteractive(boolean enable) {
+            PowerManagerService.nativeSetInteractive(enable);
+        }
+
+        /** Wrapper for PowerManager.nativeSetAutoSuspend */
+        public void nativeSetAutoSuspend(boolean enable) {
+            PowerManagerService.nativeSetAutoSuspend(enable);
+        }
+
+        /** Wrapper for PowerManager.nativeSendPowerHint */
+        public void nativeSendPowerHint(int hintId, int data) {
+            PowerManagerService.nativeSendPowerHint(hintId, data);
+        }
+
+        /** Wrapper for PowerManager.nativeSetFeature */
+        public void nativeSetFeature(int featureId, int data) {
+            PowerManagerService.nativeSetFeature(featureId, data);
+        }
+    }
+
+    @VisibleForTesting
+    static class Injector {
+        Notifier createNotifier(Looper looper, Context context, IBatteryStats batteryStats,
+                SuspendBlocker suspendBlocker, WindowManagerPolicy policy) {
+            return new Notifier(looper, context, batteryStats, suspendBlocker, policy);
+        }
+
+        SuspendBlocker createSuspendBlocker(PowerManagerService service, String name) {
+            SuspendBlocker suspendBlocker = service.new SuspendBlockerImpl(name);
+            service.mSuspendBlockers.add(suspendBlocker);
+            return suspendBlocker;
+        }
+
+        BatterySaverPolicy createBatterySaverPolicy(
+                Object lock, Context context, BatterySavingStats batterySavingStats) {
+            return new BatterySaverPolicy(lock, context, batterySavingStats);
+        }
+
+        NativeWrapper createNativeWrapper() {
+            return new NativeWrapper();
+        }
+    }
+
     final Constants mConstants;
 
     private native void nativeInit();
-
     private static native void nativeAcquireSuspendBlocker(String name);
     private static native void nativeReleaseSuspendBlocker(String name);
     private static native void nativeSetInteractive(boolean enable);
@@ -648,8 +716,19 @@
     private static native void nativeSetFeature(int featureId, int data);
 
     public PowerManagerService(Context context) {
+        this(context, new Injector());
+    }
+
+    @VisibleForTesting
+    PowerManagerService(Context context, Injector injector) {
         super(context);
+
         mContext = context;
+        mBinderService = new BinderService();
+        mLocalService = new LocalService();
+        mNativeWrapper = injector.createNativeWrapper();
+        mInjector = injector;
+
         mHandlerThread = new ServiceThread(TAG,
                 Process.THREAD_PRIORITY_DISPLAY, false /*allowIo*/);
         mHandlerThread.start();
@@ -658,57 +737,40 @@
         mAmbientDisplayConfiguration = new AmbientDisplayConfiguration(mContext);
 
         mBatterySavingStats = new BatterySavingStats(mLock);
-        mBatterySaverPolicy = new BatterySaverPolicy(mLock, mContext, mBatterySavingStats);
+        mBatterySaverPolicy =
+                mInjector.createBatterySaverPolicy(mLock, mContext, mBatterySavingStats);
         mBatterySaverController = new BatterySaverController(mLock, mContext,
-                BackgroundThread.get().getLooper(), mBatterySaverPolicy, mBatterySavingStats);
+                BackgroundThread.get().getLooper(), mBatterySaverPolicy,
+                mBatterySavingStats);
         mBatterySaverStateMachine = new BatterySaverStateMachine(
                 mLock, mContext, mBatterySaverController);
 
         synchronized (mLock) {
-            mWakeLockSuspendBlocker = createSuspendBlockerLocked("PowerManagerService.WakeLocks");
-            mDisplaySuspendBlocker = createSuspendBlockerLocked("PowerManagerService.Display");
-            mDisplaySuspendBlocker.acquire();
-            mHoldingDisplaySuspendBlocker = true;
+            mWakeLockSuspendBlocker =
+                    mInjector.createSuspendBlocker(this, "PowerManagerService.WakeLocks");
+            mDisplaySuspendBlocker =
+                    mInjector.createSuspendBlocker(this, "PowerManagerService.Display");
+            if (mDisplaySuspendBlocker != null) {
+                mDisplaySuspendBlocker.acquire();
+                mHoldingDisplaySuspendBlocker = true;
+            }
             mHalAutoSuspendModeEnabled = false;
             mHalInteractiveModeEnabled = true;
 
             mWakefulness = WAKEFULNESS_AWAKE;
-
             sQuiescent = SystemProperties.get(SYSTEM_PROPERTY_QUIESCENT, "0").equals("1");
 
-            nativeInit();
-            nativeSetAutoSuspend(false);
-            nativeSetInteractive(true);
-            nativeSetFeature(POWER_FEATURE_DOUBLE_TAP_TO_WAKE, 0);
+            mNativeWrapper.nativeInit(this);
+            mNativeWrapper.nativeSetAutoSuspend(false);
+            mNativeWrapper.nativeSetInteractive(true);
+            mNativeWrapper.nativeSetFeature(POWER_FEATURE_DOUBLE_TAP_TO_WAKE, 0);
         }
     }
 
-    @VisibleForTesting
-    PowerManagerService(Context context, BatterySaverPolicy batterySaverPolicy) {
-        super(context);
-
-        mContext = context;
-        mHandlerThread = new ServiceThread(TAG,
-                Process.THREAD_PRIORITY_DISPLAY, false /*allowIo*/);
-        mHandlerThread.start();
-        mHandler = new PowerManagerHandler(mHandlerThread.getLooper());
-        mConstants = new Constants(mHandler);
-        mAmbientDisplayConfiguration = new AmbientDisplayConfiguration(mContext);
-        mDisplaySuspendBlocker = null;
-        mWakeLockSuspendBlocker = null;
-
-        mBatterySavingStats = new BatterySavingStats(mLock);
-        mBatterySaverPolicy = batterySaverPolicy;
-        mBatterySaverController = new BatterySaverController(mLock, context,
-                BackgroundThread.getHandler().getLooper(), batterySaverPolicy, mBatterySavingStats);
-        mBatterySaverStateMachine = new BatterySaverStateMachine(
-                mLock, mContext, mBatterySaverController);
-    }
-
     @Override
     public void onStart() {
-        publishBinderService(Context.POWER_SERVICE, new BinderService());
-        publishLocalService(PowerManagerInternal.class, new LocalService());
+        publishBinderService(Context.POWER_SERVICE, mBinderService);
+        publishLocalService(PowerManagerInternal.class, mLocalService);
 
         Watchdog.getInstance().addMonitor(this);
         Watchdog.getInstance().addThread(mHandler);
@@ -752,11 +814,13 @@
             // The notifier runs on the system server's main looper so as not to interfere
             // with the animations and other critical functions of the power manager.
             mBatteryStats = BatteryStatsService.getService();
-            mNotifier = new Notifier(Looper.getMainLooper(), mContext, mBatteryStats,
-                    createSuspendBlockerLocked("PowerManagerService.Broadcasts"), mPolicy);
+            mNotifier = mInjector.createNotifier(Looper.getMainLooper(), mContext, mBatteryStats,
+                    mInjector.createSuspendBlocker(this, "PowerManagerService.Broadcasts"),
+                    mPolicy);
 
             mWirelessChargerDetector = new WirelessChargerDetector(sensorManager,
-                    createSuspendBlockerLocked("PowerManagerService.WirelessChargerDetector"),
+                    mInjector.createSuspendBlocker(
+                            this, "PowerManagerService.WirelessChargerDetector"),
                     mHandler);
             mSettingsObserver = new SettingsObserver(mHandler);
 
@@ -824,7 +888,7 @@
         resolver.registerContentObserver(Settings.Global.getUriFor(
                 Settings.Global.DEVICE_DEMO_MODE),
                 false, mSettingsObserver, UserHandle.USER_SYSTEM);
-        IVrManager vrManager = (IVrManager) getBinderService(Context.VR_SERVICE);
+        IVrManager vrManager = IVrManager.Stub.asInterface(getBinderService(Context.VR_SERVICE));
         if (vrManager != null) {
             try {
                 vrManager.registerListener(mVrStateCallbacks);
@@ -927,7 +991,8 @@
                             UserHandle.USER_CURRENT) != 0;
             if (doubleTapWakeEnabled != mDoubleTapWakeEnabled) {
                 mDoubleTapWakeEnabled = doubleTapWakeEnabled;
-                nativeSetFeature(POWER_FEATURE_DOUBLE_TAP_TO_WAKE, mDoubleTapWakeEnabled ? 1 : 0);
+                mNativeWrapper.nativeSetFeature(
+                        POWER_FEATURE_DOUBLE_TAP_TO_WAKE, mDoubleTapWakeEnabled ? 1 : 0);
             }
         }
 
@@ -1509,6 +1574,11 @@
         }
     }
 
+    @VisibleForTesting
+    int getWakefulness() {
+        return mWakefulness;
+    }
+
     /**
      * Logs the time the device would have spent awake before user activity timeout,
      * had the system not been told the user was inactive.
@@ -2640,7 +2710,7 @@
             mHalAutoSuspendModeEnabled = enable;
             Trace.traceBegin(Trace.TRACE_TAG_POWER, "setHalAutoSuspend(" + enable + ")");
             try {
-                nativeSetAutoSuspend(enable);
+                mNativeWrapper.nativeSetAutoSuspend(enable);
             } finally {
                 Trace.traceEnd(Trace.TRACE_TAG_POWER);
             }
@@ -2655,7 +2725,7 @@
             mHalInteractiveModeEnabled = enable;
             Trace.traceBegin(Trace.TRACE_TAG_POWER, "setHalInteractive(" + enable + ")");
             try {
-                nativeSetInteractive(enable);
+                mNativeWrapper.nativeSetInteractive(enable);
             } finally {
                 Trace.traceEnd(Trace.TRACE_TAG_POWER);
             }
@@ -3127,7 +3197,7 @@
                 break;
         }
 
-        nativeSendPowerHint(hintId, data);
+        mNativeWrapper.nativeSendPowerHint(hintId, data);
     }
 
     /**
@@ -3718,12 +3788,6 @@
         proto.flush();
     }
 
-    private SuspendBlocker createSuspendBlockerLocked(String name) {
-        SuspendBlocker suspendBlocker = new SuspendBlockerImpl(name);
-        mSuspendBlockers.add(suspendBlocker);
-        return suspendBlocker;
-    }
-
     private void incrementBootCount() {
         synchronized (mLock) {
             int count;
@@ -4022,7 +4086,7 @@
                     Slog.wtf(TAG, "Suspend blocker \"" + mName
                             + "\" was finalized without being released!");
                     mReferenceCount = 0;
-                    nativeReleaseSuspendBlocker(mName);
+                    mNativeWrapper.nativeReleaseSuspendBlocker(mName);
                     Trace.asyncTraceEnd(Trace.TRACE_TAG_POWER, mTraceName, 0);
                 }
             } finally {
@@ -4039,7 +4103,7 @@
                         Slog.d(TAG, "Acquiring suspend blocker \"" + mName + "\".");
                     }
                     Trace.asyncTraceBegin(Trace.TRACE_TAG_POWER, mTraceName, 0);
-                    nativeAcquireSuspendBlocker(mName);
+                    mNativeWrapper.nativeAcquireSuspendBlocker(mName);
                 }
             }
         }
@@ -4052,7 +4116,7 @@
                     if (DEBUG_SPEW) {
                         Slog.d(TAG, "Releasing suspend blocker \"" + mName + "\".");
                     }
-                    nativeReleaseSuspendBlocker(mName);
+                    mNativeWrapper.nativeReleaseSuspendBlocker(mName);
                     Trace.asyncTraceEnd(Trace.TRACE_TAG_POWER, mTraceName, 0);
                 } else if (mReferenceCount < 0) {
                     Slog.wtf(TAG, "Suspend blocker \"" + mName
@@ -4090,7 +4154,8 @@
         }
     }
 
-    private final class BinderService extends IPowerManager.Stub {
+    @VisibleForTesting
+    final class BinderService extends IPowerManager.Stub {
         @Override
         public void onShellCommand(FileDescriptor in, FileDescriptor out,
                 FileDescriptor err, String[] args, ShellCallback callback,
@@ -4592,6 +4657,16 @@
     }
 
     @VisibleForTesting
+    BinderService getBinderServiceInstance() {
+        return mBinderService;
+    }
+
+    @VisibleForTesting
+    LocalService getLocalServiceInstance() {
+        return mLocalService;
+    }
+
+    @VisibleForTesting
     // lastRebootReasonProperty argument to permit testing
     int getLastShutdownReasonInternal(String lastRebootReasonProperty) {
         String line = SystemProperties.get(lastRebootReasonProperty);
diff --git a/services/core/java/com/android/server/security/VerityUtils.java b/services/core/java/com/android/server/security/VerityUtils.java
index 180f343..8070f3a 100644
--- a/services/core/java/com/android/server/security/VerityUtils.java
+++ b/services/core/java/com/android/server/security/VerityUtils.java
@@ -23,45 +23,79 @@
 import android.os.SharedMemory;
 import android.system.ErrnoException;
 import android.system.Os;
+import android.util.Pair;
+import android.util.Slog;
 import android.util.apk.ApkSignatureVerifier;
 import android.util.apk.ByteBufferFactory;
 import android.util.apk.SignatureNotFoundException;
-import android.util.Pair;
-import android.util.Slog;
+import android.util.apk.VerityBuilder;
+
+import libcore.util.HexEncoding;
 
 import java.io.FileDescriptor;
 import java.io.IOException;
+import java.io.RandomAccessFile;
 import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
 import java.security.DigestException;
+import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.util.Arrays;
 
+import sun.security.pkcs.PKCS7;
+
 /** Provides fsverity related operations. */
 abstract public class VerityUtils {
     private static final String TAG = "VerityUtils";
 
+    /** The maximum size of signature file.  This is just to avoid potential abuse. */
+    private static final int MAX_SIGNATURE_FILE_SIZE_BYTES = 8192;
+
     private static final boolean DEBUG = false;
 
     /**
-     * Generates Merkle tree and fsverity metadata.
+     * Generates Merkle tree and fs-verity metadata.
      *
-     * @return {@code SetupResult} that contains the {@code EsetupResultCode}, and when success, the
+     * @return {@code SetupResult} that contains the result code, and when success, the
      *         {@code FileDescriptor} to read all the data from.
      */
-    public static SetupResult generateApkVeritySetupData(@NonNull String apkPath) {
-        if (DEBUG) Slog.d(TAG, "Trying to install apk verity to " + apkPath);
+    public static SetupResult generateApkVeritySetupData(@NonNull String apkPath,
+            String signaturePath, boolean skipSigningBlock) {
+        if (DEBUG) {
+            Slog.d(TAG, "Trying to install apk verity to " + apkPath + " with signature file "
+                    + signaturePath);
+        }
         SharedMemory shm = null;
         try {
-            byte[] signedRootHash = ApkSignatureVerifier.getVerityRootHash(apkPath);
-            if (signedRootHash == null) {
+            byte[] signedVerityHash;
+            if (skipSigningBlock) {
+                signedVerityHash = ApkSignatureVerifier.getVerityRootHash(apkPath);
+            } else {
+                Path path = Paths.get(signaturePath);
+                if (Files.exists(path)) {
+                    // TODO(112037636): fail early if the signing key is not in .fs-verity keyring.
+                    PKCS7 pkcs7 = new PKCS7(Files.readAllBytes(path));
+                    signedVerityHash = pkcs7.getContentInfo().getContentBytes();
+                    if (DEBUG) {
+                        Slog.d(TAG, "fs-verity measurement = " + bytesToString(signedVerityHash));
+                    }
+                } else {
+                    signedVerityHash = null;
+                }
+            }
+
+            if (signedVerityHash == null) {
                 if (DEBUG) {
-                    Slog.d(TAG, "Skip verity tree generation since there is no root hash");
+                    Slog.d(TAG, "Skip verity tree generation since there is no signed root hash");
                 }
                 return SetupResult.skipped();
             }
 
-            Pair<SharedMemory, Integer> result = generateApkVerityIntoSharedMemory(apkPath,
-                    signedRootHash);
+            Pair<SharedMemory, Integer> result = generateFsVerityIntoSharedMemory(apkPath,
+                    signaturePath, signedVerityHash, skipSigningBlock);
             shm = result.first;
             int contentSize = result.second;
             FileDescriptor rfd = shm.getFileDescriptor();
@@ -81,11 +115,11 @@
     }
 
     /**
-     * {@see ApkSignatureVerifier#generateFsverityRootHash(String)}.
+     * {@see ApkSignatureVerifier#generateApkVerityRootHash(String)}.
      */
-    public static byte[] generateFsverityRootHash(@NonNull String apkPath)
+    public static byte[] generateApkVerityRootHash(@NonNull String apkPath)
             throws NoSuchAlgorithmException, DigestException, IOException {
-        return ApkSignatureVerifier.generateFsverityRootHash(apkPath);
+        return ApkSignatureVerifier.generateApkVerityRootHash(apkPath);
     }
 
     /**
@@ -97,22 +131,114 @@
     }
 
     /**
+     * Generates fs-verity metadata for {@code filePath} in the buffer created by {@code
+     * trackedBufferFactory}. The metadata contains the Merkle tree, fs-verity descriptor and
+     * extensions, including a PKCS#7 signature provided in {@code signaturePath}.
+     *
+     * <p>It is worthy to note that {@code trackedBufferFactory} generates a "tracked" {@code
+     * ByteBuffer}. The data will be used outside this method via the factory itself.
+     *
+     * @return fs-verity measurement of {@code filePath}, which is a SHA-256 of fs-verity descriptor
+     *         and authenticated extensions.
+     */
+    private static byte[] generateFsverityMetadata(String filePath, String signaturePath,
+            @NonNull TrackedShmBufferFactory trackedBufferFactory)
+            throws IOException, SignatureNotFoundException, SecurityException, DigestException,
+                   NoSuchAlgorithmException {
+        try (RandomAccessFile file = new RandomAccessFile(filePath, "r")) {
+            VerityBuilder.VerityResult result = VerityBuilder.generateFsVerityTree(
+                    file, trackedBufferFactory);
+
+            ByteBuffer buffer = result.verityData;
+            buffer.position(result.merkleTreeSize);
+            return generateFsverityDescriptorAndMeasurement(file, result.rootHash, signaturePath,
+                    buffer);
+        }
+    }
+
+    /**
+     * Generates fs-verity descriptor including the extensions to the {@code output} and returns the
+     * fs-verity measurement.
+     *
+     * @return fs-verity measurement, which is a SHA-256 of fs-verity descriptor and authenticated
+     *         extensions.
+     */
+    private static byte[] generateFsverityDescriptorAndMeasurement(
+            @NonNull RandomAccessFile file, @NonNull byte[] rootHash,
+            @NonNull String pkcs7SignaturePath, @NonNull ByteBuffer output)
+            throws IOException, NoSuchAlgorithmException, DigestException {
+        final short kRootHashExtensionId = 1;
+        final short kPkcs7SignatureExtensionId = 3;
+        final int origPosition = output.position();
+
+        // For generating fs-verity file measurement, which consists of the descriptor and
+        // authenticated extensions (but not unauthenticated extensions and the footer).
+        MessageDigest md = MessageDigest.getInstance("SHA-256");
+
+        // 1. Generate fs-verity descriptor.
+        final byte[] desc = constructFsverityDescriptorNative(file.length());
+        output.put(desc);
+        md.update(desc);
+
+        // 2. Generate authenticated extensions.
+        final byte[] authExt =
+                constructFsverityExtensionNative(kRootHashExtensionId, rootHash.length);
+        output.put(authExt);
+        output.put(rootHash);
+        md.update(authExt);
+        md.update(rootHash);
+
+        // 3. Generate unauthenticated extensions.
+        ByteBuffer header = ByteBuffer.allocate(8).order(ByteOrder.LITTLE_ENDIAN);
+        output.putShort((short) 1);  // number of unauthenticated extensions below
+        output.position(output.position() + 6);
+
+        // Generate PKCS#7 extension. NB: We do not verify agaist trusted certificate (should be
+        // done by the caller if needed).
+        Path path = Paths.get(pkcs7SignaturePath);
+        if (Files.size(path) > MAX_SIGNATURE_FILE_SIZE_BYTES) {
+            throw new IllegalArgumentException("Signature size is unexpectedly large: "
+                    + pkcs7SignaturePath);
+        }
+        final byte[] pkcs7Signature = Files.readAllBytes(path);
+        output.put(constructFsverityExtensionNative(kPkcs7SignatureExtensionId,
+                    pkcs7Signature.length));
+        output.put(pkcs7Signature);
+
+        // 4. Generate the footer.
+        output.put(constructFsverityFooterNative(output.position() - origPosition));
+
+        return md.digest();
+    }
+
+    private static native byte[] constructFsverityDescriptorNative(long fileSize);
+    private static native byte[] constructFsverityExtensionNative(short extensionId,
+            int extensionDataSize);
+    private static native byte[] constructFsverityFooterNative(int offsetToDescriptorHead);
+
+    /**
      * Returns a pair of {@code SharedMemory} and {@code Integer}. The {@code SharedMemory} contains
      * Merkle tree and fsverity headers for the given apk, in the form that can immediately be used
      * for fsverity setup. The data is aligned to the beginning of {@code SharedMemory}, and has
      * length equals to the returned {@code Integer}.
      */
-    private static Pair<SharedMemory, Integer> generateApkVerityIntoSharedMemory(
-            String apkPath, byte[] expectedRootHash)
+    private static Pair<SharedMemory, Integer> generateFsVerityIntoSharedMemory(
+            String apkPath, String signaturePath, @NonNull byte[] expectedRootHash,
+            boolean skipSigningBlock)
             throws IOException, SecurityException, DigestException, NoSuchAlgorithmException,
                    SignatureNotFoundException {
         TrackedShmBufferFactory shmBufferFactory = new TrackedShmBufferFactory();
-        byte[] generatedRootHash = ApkSignatureVerifier.generateApkVerity(apkPath,
-                shmBufferFactory);
+        byte[] generatedRootHash;
+        if (skipSigningBlock) {
+            generatedRootHash = ApkSignatureVerifier.generateApkVerity(apkPath, shmBufferFactory);
+        } else {
+            generatedRootHash = generateFsverityMetadata(apkPath, signaturePath, shmBufferFactory);
+        }
         // We only generate Merkle tree once here, so it's important to make sure the root hash
         // matches the signed one in the apk.
         if (!Arrays.equals(expectedRootHash, generatedRootHash)) {
-            throw new SecurityException("Locally generated verity root hash does not match");
+            throw new SecurityException("verity hash mismatch: "
+                    + bytesToString(generatedRootHash) + " != " + bytesToString(expectedRootHash));
         }
 
         int contentSize = shmBufferFactory.getBufferLimit();
@@ -126,11 +252,15 @@
         return Pair.create(shm, contentSize);
     }
 
+    private static String bytesToString(byte[] bytes) {
+        return HexEncoding.encodeToString(bytes);
+    }
+
     public static class SetupResult {
         /** Result code if verity is set up correctly. */
         private static final int RESULT_OK = 1;
 
-        /** Result code if the apk does not contain a verity root hash. */
+        /** Result code if signature is not provided. */
         private static final int RESULT_SKIPPED = 2;
 
         /** Result code if the setup failed. */
diff --git a/services/core/java/com/android/server/stats/StatsCompanionService.java b/services/core/java/com/android/server/stats/StatsCompanionService.java
index 6f9d803..d0de940 100644
--- a/services/core/java/com/android/server/stats/StatsCompanionService.java
+++ b/services/core/java/com/android/server/stats/StatsCompanionService.java
@@ -32,6 +32,7 @@
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.UserInfo;
+import android.hardware.fingerprint.FingerprintManager;
 import android.net.NetworkStats;
 import android.net.wifi.IWifiManager;
 import android.net.wifi.WifiActivityEnergyInfo;
@@ -44,6 +45,9 @@
 import android.os.IStatsCompanionService;
 import android.os.IStatsManager;
 import android.os.IStoraged;
+import android.os.IThermalEventListener;
+import android.os.IThermalService;
+import android.os.ParcelFileDescriptor;
 import android.os.Parcelable;
 import android.os.Process;
 import android.os.RemoteException;
@@ -53,16 +57,20 @@
 import android.os.StatsLogEventWrapper;
 import android.os.SynchronousResultReceiver;
 import android.os.SystemClock;
+import android.os.Temperature;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.os.storage.StorageManager;
 import android.telephony.ModemActivityInfo;
 import android.telephony.TelephonyManager;
 import android.util.ArrayMap;
+import android.util.Log;
 import android.util.Slog;
 import android.util.StatsLog;
 
 import com.android.internal.annotations.GuardedBy;
+import com.android.internal.app.procstats.IProcessStats;
+import com.android.internal.app.procstats.ProcessStats;
 import com.android.internal.net.NetworkStatsFactory;
 import com.android.internal.os.BinderCallsStats.ExportedCallStat;
 import com.android.internal.os.KernelCpuSpeedReader;
@@ -74,10 +82,12 @@
 import com.android.internal.os.KernelWakelockStats;
 import com.android.internal.os.LooperStats;
 import com.android.internal.os.PowerProfile;
+import com.android.internal.os.StoragedUidIoStatsReader;
 import com.android.internal.util.DumpUtils;
 import com.android.server.BinderCallsStatsService;
 import com.android.server.LocalServices;
 import com.android.server.SystemService;
+import com.android.server.SystemServiceManager;
 import com.android.server.storage.DiskStatsFileLogger;
 import com.android.server.storage.DiskStatsLoggingService;
 
@@ -91,6 +101,7 @@
 import java.io.FileDescriptor;
 import java.io.FileOutputStream;
 import java.io.IOException;
+import java.io.InputStream;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -168,12 +179,18 @@
             new KernelUidCpuActiveTimeReader();
     private KernelUidCpuClusterTimeReader mKernelUidCpuClusterTimeReader =
             new KernelUidCpuClusterTimeReader();
+    private StoragedUidIoStatsReader mStoragedUidIoStatsReader =
+            new StoragedUidIoStatsReader();
+
+    private static IThermalService sThermalService;
+    private File mBaseDir =
+            new File(SystemServiceManager.ensureSystemDir(), "stats_companion");
 
     public StatsCompanionService(Context context) {
         super();
         mContext = context;
         mAlarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
-
+        mBaseDir.mkdirs();
         mAppUpdateReceiver = new AppUpdateReceiver();
         mUserUpdateReceiver = new BroadcastReceiver() {
             @Override
@@ -213,6 +230,24 @@
         long[] freqs = mKernelUidCpuFreqTimeReader.readFreqs(powerProfile);
         mKernelUidCpuClusterTimeReader.setThrottleInterval(0);
         mKernelUidCpuActiveTimeReader.setThrottleInterval(0);
+
+        // Enable push notifications of throttling from vendor thermal
+        // management subsystem via thermalservice.
+        IBinder b = ServiceManager.getService("thermalservice");
+
+        if (b != null) {
+            sThermalService = IThermalService.Stub.asInterface(b);
+            try {
+                sThermalService.registerThermalEventListener(
+                        new ThermalEventListener());
+                Slog.i(TAG, "register thermal listener successfully");
+            } catch (RemoteException e) {
+                // Should never happen.
+                Slog.e(TAG, "register thermal listener error");
+            }
+        } else {
+            Slog.e(TAG, "cannot find thermalservice, no throttling push notifications");
+        }
     }
 
     @Override
@@ -230,34 +265,38 @@
 
     @Override
     public void sendSubscriberBroadcast(IBinder intentSenderBinder, long configUid, long configKey,
-                                        long subscriptionId, long subscriptionRuleId,
-                                        String[] cookies,
-                                        StatsDimensionsValue dimensionsValue) {
+            long subscriptionId, long subscriptionRuleId, String[] cookies,
+            StatsDimensionsValue dimensionsValue) {
         enforceCallingPermission();
         IntentSender intentSender = new IntentSender(intentSenderBinder);
-        Intent intent = new Intent()
-                .putExtra(StatsManager.EXTRA_STATS_CONFIG_UID, configUid)
-                .putExtra(StatsManager.EXTRA_STATS_CONFIG_KEY, configKey)
-                .putExtra(StatsManager.EXTRA_STATS_SUBSCRIPTION_ID, subscriptionId)
-                .putExtra(StatsManager.EXTRA_STATS_SUBSCRIPTION_RULE_ID, subscriptionRuleId)
-                .putExtra(StatsManager.EXTRA_STATS_DIMENSIONS_VALUE, dimensionsValue);
+        Intent intent =
+                new Intent()
+                        .putExtra(StatsManager.EXTRA_STATS_CONFIG_UID, configUid)
+                        .putExtra(StatsManager.EXTRA_STATS_CONFIG_KEY, configKey)
+                        .putExtra(StatsManager.EXTRA_STATS_SUBSCRIPTION_ID, subscriptionId)
+                        .putExtra(StatsManager.EXTRA_STATS_SUBSCRIPTION_RULE_ID, subscriptionRuleId)
+                        .putExtra(StatsManager.EXTRA_STATS_DIMENSIONS_VALUE, dimensionsValue);
 
         ArrayList<String> cookieList = new ArrayList<>(cookies.length);
-        for (String cookie : cookies) { cookieList.add(cookie); }
+        for (String cookie : cookies) {
+            cookieList.add(cookie);
+        }
         intent.putStringArrayListExtra(
                 StatsManager.EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES, cookieList);
 
         if (DEBUG) {
-            Slog.d(TAG, String.format(
-                    "Statsd sendSubscriberBroadcast with params {%d %d %d %d %s %s}",
-                    configUid, configKey, subscriptionId, subscriptionRuleId,
-                    Arrays.toString(cookies), dimensionsValue));
+            Slog.d(TAG,
+                    String.format("Statsd sendSubscriberBroadcast with params {%d %d %d %d %s %s}",
+                            configUid, configKey, subscriptionId, subscriptionRuleId,
+                            Arrays.toString(cookies),
+                            dimensionsValue));
         }
         try {
             intentSender.sendIntent(mContext, CODE_SUBSCRIBER_BROADCAST, intent, null, null);
         } catch (IntentSender.SendIntentException e) {
-            Slog.w(TAG, "Unable to send using IntentSender from uid " + configUid
-                    + "; presumably it had been cancelled.");
+            Slog.w(TAG,
+                    "Unable to send using IntentSender from uid " + configUid
+                            + "; presumably it had been cancelled.");
         }
     }
 
@@ -294,7 +333,7 @@
         // Add in all the apps for every user/profile.
         for (UserInfo profile : users) {
             List<PackageInfo> pi =
-                pm.getInstalledPackagesAsUser(PackageManager.MATCH_KNOWN_PACKAGES, profile.id);
+                    pm.getInstalledPackagesAsUser(PackageManager.MATCH_KNOWN_PACKAGES, profile.id);
             for (int j = 0; j < pi.size(); j++) {
                 if (pi.get(j).applicationInfo != null) {
                     uids.add(pi.get(j).applicationInfo.uid);
@@ -379,8 +418,9 @@
     public final static class PullingAlarmListener implements OnAlarmListener {
         @Override
         public void onAlarm() {
-            if (DEBUG)
+            if (DEBUG) {
                 Slog.d(TAG, "Time to poll something.");
+            }
             synchronized (sStatsdLock) {
                 if (sStatsd == null) {
                     Slog.w(TAG, "Could not access statsd to inform it of pulling alarm firing.");
@@ -399,8 +439,9 @@
     public final static class PeriodicAlarmListener implements OnAlarmListener {
         @Override
         public void onAlarm() {
-            if (DEBUG)
+            if (DEBUG) {
                 Slog.d(TAG, "Time to trigger periodic alarm.");
+            }
             synchronized (sStatsdLock) {
                 if (sStatsd == null) {
                     Slog.w(TAG, "Could not access statsd to inform it of periodic alarm firing.");
@@ -436,7 +477,7 @@
                     return;
                 }
                 try {
-                  sStatsd.informDeviceShutdown();
+                    sStatsd.informDeviceShutdown();
                 } catch (Exception e) {
                     Slog.w(TAG, "Failed to inform statsd of a shutdown event.", e);
                 }
@@ -475,9 +516,11 @@
     @Override // Binder call
     public void setAlarmForSubscriberTriggering(long timestampMs) {
         enforceCallingPermission();
-        if (DEBUG)
-            Slog.d(TAG, "Setting periodic alarm in about " +
-                    (timestampMs - SystemClock.elapsedRealtime()));
+        if (DEBUG) {
+            Slog.d(TAG,
+                    "Setting periodic alarm in about " + (timestampMs
+                            - SystemClock.elapsedRealtime()));
+        }
         final long callingToken = Binder.clearCallingIdentity();
         try {
             // using ELAPSED_REALTIME, not ELAPSED_REALTIME_WAKEUP, so if device is asleep, will
@@ -492,8 +535,9 @@
     @Override // Binder call
     public void cancelAlarmForSubscriberTriggering() {
         enforceCallingPermission();
-        if (DEBUG)
+        if (DEBUG) {
             Slog.d(TAG, "Cancelling periodic alarm");
+        }
         final long callingToken = Binder.clearCallingIdentity();
         try {
             mAlarmManager.cancel(mPeriodicAlarmListener);
@@ -523,8 +567,9 @@
     @Override // Binder call
     public void cancelPullingAlarm() {
         enforceCallingPermission();
-        if (DEBUG)
+        if (DEBUG) {
             Slog.d(TAG, "Cancelling pulling alarm");
+        }
         final long callingToken = Binder.clearCallingIdentity();
         try {
             mAlarmManager.cancel(mPullingAlarmListener);
@@ -537,10 +582,11 @@
             int tag, List<StatsLogEventWrapper> ret, NetworkStats stats, boolean withFGBG) {
         int size = stats.size();
         long elapsedNanos = SystemClock.elapsedRealtimeNanos();
+        long wallClockNanos = SystemClock.currentTimeMicro() * 1000L;
         NetworkStats.Entry entry = new NetworkStats.Entry(); // For recycling
         for (int j = 0; j < size; j++) {
             stats.getValues(j, entry);
-            StatsLogEventWrapper e = new StatsLogEventWrapper(elapsedNanos, tag, withFGBG ? 6 : 5);
+            StatsLogEventWrapper e = new StatsLogEventWrapper(tag, elapsedNanos, wallClockNanos);
             e.writeInt(entry.uid);
             if (withFGBG) {
                 e.writeInt(entry.set);
@@ -616,14 +662,15 @@
         return null;
     }
 
-    private void pullKernelWakelock(int tagId, List<StatsLogEventWrapper> pulledData) {
+    private void pullKernelWakelock(
+            int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         final KernelWakelockStats wakelockStats =
                 mKernelWakelockReader.readKernelWakelockStats(mTmpWakelockStats);
-        long elapsedNanos = SystemClock.elapsedRealtimeNanos();
         for (Map.Entry<String, KernelWakelockStats.Entry> ent : wakelockStats.entrySet()) {
             String name = ent.getKey();
             KernelWakelockStats.Entry kws = ent.getValue();
-            StatsLogEventWrapper e = new StatsLogEventWrapper(elapsedNanos, tagId, 4);
+            StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
             e.writeString(name);
             e.writeInt(kws.mCount);
             e.writeInt(kws.mVersion);
@@ -632,7 +679,9 @@
         }
     }
 
-    private void pullWifiBytesTransfer(int tagId, List<StatsLogEventWrapper> pulledData) {
+    private void pullWifiBytesTransfer(
+            int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         long token = Binder.clearCallingIdentity();
         try {
             // TODO: Consider caching the following call to get BatteryStatsInternal.
@@ -644,7 +693,8 @@
             NetworkStatsFactory nsf = new NetworkStatsFactory();
             // Combine all the metrics per Uid into one record.
             NetworkStats stats =
-                    nsf.readNetworkStatsDetail(NetworkStats.UID_ALL, ifaces, NetworkStats.TAG_NONE, null)
+                    nsf.readNetworkStatsDetail(NetworkStats.UID_ALL, ifaces, NetworkStats.TAG_NONE,
+                            null)
                             .groupedByUid();
             addNetworkStats(tagId, pulledData, stats, false);
         } catch (java.io.IOException e) {
@@ -654,7 +704,9 @@
         }
     }
 
-    private void pullWifiBytesTransferByFgBg(int tagId, List<StatsLogEventWrapper> pulledData) {
+    private void pullWifiBytesTransferByFgBg(
+            int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         long token = Binder.clearCallingIdentity();
         try {
             BatteryStatsInternal bs = LocalServices.getService(BatteryStatsInternal.class);
@@ -664,7 +716,8 @@
             }
             NetworkStatsFactory nsf = new NetworkStatsFactory();
             NetworkStats stats = rollupNetworkStatsByFGBG(
-                    nsf.readNetworkStatsDetail(NetworkStats.UID_ALL, ifaces, NetworkStats.TAG_NONE, null));
+                    nsf.readNetworkStatsDetail(NetworkStats.UID_ALL, ifaces, NetworkStats.TAG_NONE,
+                            null));
             addNetworkStats(tagId, pulledData, stats, true);
         } catch (java.io.IOException e) {
             Slog.e(TAG, "Pulling netstats for wifi bytes w/ fg/bg has error", e);
@@ -673,7 +726,9 @@
         }
     }
 
-    private void pullMobileBytesTransfer(int tagId, List<StatsLogEventWrapper> pulledData) {
+    private void pullMobileBytesTransfer(
+            int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         long token = Binder.clearCallingIdentity();
         try {
             BatteryStatsInternal bs = LocalServices.getService(BatteryStatsInternal.class);
@@ -684,7 +739,8 @@
             NetworkStatsFactory nsf = new NetworkStatsFactory();
             // Combine all the metrics per Uid into one record.
             NetworkStats stats =
-                    nsf.readNetworkStatsDetail(NetworkStats.UID_ALL, ifaces, NetworkStats.TAG_NONE, null)
+                    nsf.readNetworkStatsDetail(NetworkStats.UID_ALL, ifaces, NetworkStats.TAG_NONE,
+                            null)
                             .groupedByUid();
             addNetworkStats(tagId, pulledData, stats, false);
         } catch (java.io.IOException e) {
@@ -694,12 +750,14 @@
         }
     }
 
-    private void pullBluetoothBytesTransfer(int tagId, List<StatsLogEventWrapper> pulledData) {
+    private void pullBluetoothBytesTransfer(
+            int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         BluetoothActivityEnergyInfo info = pullBluetoothData();
-        long elapsedNanos = SystemClock.elapsedRealtimeNanos();
         if (info.getUidTraffic() != null) {
             for (UidTraffic traffic : info.getUidTraffic()) {
-                StatsLogEventWrapper e = new StatsLogEventWrapper(elapsedNanos, tagId, 3);
+                StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos,
+                        wallClockNanos);
                 e.writeInt(traffic.getUid());
                 e.writeLong(traffic.getRxBytes());
                 e.writeLong(traffic.getTxBytes());
@@ -708,7 +766,9 @@
         }
     }
 
-    private void pullMobileBytesTransferByFgBg(int tagId, List<StatsLogEventWrapper> pulledData) {
+    private void pullMobileBytesTransferByFgBg(
+            int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         long token = Binder.clearCallingIdentity();
         try {
             BatteryStatsInternal bs = LocalServices.getService(BatteryStatsInternal.class);
@@ -718,7 +778,8 @@
             }
             NetworkStatsFactory nsf = new NetworkStatsFactory();
             NetworkStats stats = rollupNetworkStatsByFGBG(
-                    nsf.readNetworkStatsDetail(NetworkStats.UID_ALL, ifaces, NetworkStats.TAG_NONE, null));
+                    nsf.readNetworkStatsDetail(NetworkStats.UID_ALL, ifaces, NetworkStats.TAG_NONE,
+                            null));
             addNetworkStats(tagId, pulledData, stats, true);
         } catch (java.io.IOException e) {
             Slog.e(TAG, "Pulling netstats for mobile bytes w/ fg/bg has error", e);
@@ -727,13 +788,15 @@
         }
     }
 
-    private void pullCpuTimePerFreq(int tagId, List<StatsLogEventWrapper> pulledData) {
-        long elapsedNanos = SystemClock.elapsedRealtimeNanos();
+    private void pullCpuTimePerFreq(
+            int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         for (int cluster = 0; cluster < mKernelCpuSpeedReaders.length; cluster++) {
             long[] clusterTimeMs = mKernelCpuSpeedReaders[cluster].readAbsolute();
             if (clusterTimeMs != null) {
                 for (int speed = clusterTimeMs.length - 1; speed >= 0; --speed) {
-                    StatsLogEventWrapper e = new StatsLogEventWrapper(elapsedNanos, tagId, 3);
+                    StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos,
+                            wallClockNanos);
                     e.writeInt(cluster);
                     e.writeInt(speed);
                     e.writeLong(clusterTimeMs[speed]);
@@ -743,10 +806,11 @@
         }
     }
 
-    private void pullKernelUidCpuTime(int tagId, List<StatsLogEventWrapper> pulledData) {
-        long elapsedNanos = SystemClock.elapsedRealtimeNanos();
+    private void pullKernelUidCpuTime(
+            int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         mKernelUidCpuTimeReader.readAbsolute((uid, userTimeUs, systemTimeUs) -> {
-            StatsLogEventWrapper e = new StatsLogEventWrapper(elapsedNanos, tagId, 3);
+            StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
             e.writeInt(uid);
             e.writeLong(userTimeUs);
             e.writeLong(systemTimeUs);
@@ -754,12 +818,14 @@
         });
     }
 
-    private void pullKernelUidCpuFreqTime(int tagId, List<StatsLogEventWrapper> pulledData) {
-        long elapsedNanos = SystemClock.elapsedRealtimeNanos();
+    private void pullKernelUidCpuFreqTime(
+            int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         mKernelUidCpuFreqTimeReader.readAbsolute((uid, cpuFreqTimeMs) -> {
             for (int freqIndex = 0; freqIndex < cpuFreqTimeMs.length; ++freqIndex) {
-                if(cpuFreqTimeMs[freqIndex] != 0) {
-                    StatsLogEventWrapper e = new StatsLogEventWrapper(elapsedNanos, tagId, 3);
+                if (cpuFreqTimeMs[freqIndex] != 0) {
+                    StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos,
+                            wallClockNanos);
                     e.writeInt(uid);
                     e.writeInt(freqIndex);
                     e.writeLong(cpuFreqTimeMs[freqIndex]);
@@ -769,11 +835,13 @@
         });
     }
 
-    private void pullKernelUidCpuClusterTime(int tagId, List<StatsLogEventWrapper> pulledData) {
-        long elapsedNanos = SystemClock.elapsedRealtimeNanos();
+    private void pullKernelUidCpuClusterTime(
+            int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         mKernelUidCpuClusterTimeReader.readAbsolute((uid, cpuClusterTimesMs) -> {
             for (int i = 0; i < cpuClusterTimesMs.length; i++) {
-                StatsLogEventWrapper e = new StatsLogEventWrapper(elapsedNanos, tagId, 3);
+                StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos,
+                        wallClockNanos);
                 e.writeInt(uid);
                 e.writeInt(i);
                 e.writeLong(cpuClusterTimesMs[i]);
@@ -782,17 +850,20 @@
         });
     }
 
-    private void pullKernelUidCpuActiveTime(int tagId, List<StatsLogEventWrapper> pulledData) {
-        long elapsedNanos = SystemClock.elapsedRealtimeNanos();
+    private void pullKernelUidCpuActiveTime(
+            int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         mKernelUidCpuActiveTimeReader.readAbsolute((uid, cpuActiveTimesMs) -> {
-            StatsLogEventWrapper e = new StatsLogEventWrapper(elapsedNanos, tagId, 2);
+            StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
             e.writeInt(uid);
-            e.writeLong((long)cpuActiveTimesMs);
+            e.writeLong((long) cpuActiveTimesMs);
             pulledData.add(e);
         });
     }
 
-    private void pullWifiActivityInfo(int tagId, List<StatsLogEventWrapper> pulledData) {
+    private void pullWifiActivityInfo(
+            int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         long token = Binder.clearCallingIdentity();
         if (mWifiManager == null) {
             mWifiManager =
@@ -803,7 +874,8 @@
                 SynchronousResultReceiver wifiReceiver = new SynchronousResultReceiver("wifi");
                 mWifiManager.requestActivityInfo(wifiReceiver);
                 final WifiActivityEnergyInfo wifiInfo = awaitControllerInfo(wifiReceiver);
-                StatsLogEventWrapper e = new StatsLogEventWrapper(SystemClock.elapsedRealtimeNanos(), tagId, 6);
+                StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos,
+                        wallClockNanos);
                 e.writeLong(wifiInfo.getTimeStamp());
                 e.writeInt(wifiInfo.getStackState());
                 e.writeLong(wifiInfo.getControllerTxTimeMillis());
@@ -812,14 +884,18 @@
                 e.writeLong(wifiInfo.getControllerEnergyUsed());
                 pulledData.add(e);
             } catch (RemoteException e) {
-                Slog.e(TAG, "Pulling wifiManager for wifi controller activity energy info has error", e);
+                Slog.e(TAG,
+                        "Pulling wifiManager for wifi controller activity energy info has error",
+                        e);
             } finally {
                 Binder.restoreCallingIdentity(token);
             }
         }
     }
 
-    private void pullModemActivityInfo(int tagId, List<StatsLogEventWrapper> pulledData) {
+    private void pullModemActivityInfo(
+            int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         long token = Binder.clearCallingIdentity();
         if (mTelephony == null) {
             mTelephony = TelephonyManager.from(mContext);
@@ -828,7 +904,7 @@
             SynchronousResultReceiver modemReceiver = new SynchronousResultReceiver("telephony");
             mTelephony.requestModemActivityInfo(modemReceiver);
             final ModemActivityInfo modemInfo = awaitControllerInfo(modemReceiver);
-            StatsLogEventWrapper e = new StatsLogEventWrapper(SystemClock.elapsedRealtimeNanos(), tagId, 10);
+            StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
             e.writeLong(modemInfo.getTimestamp());
             e.writeLong(modemInfo.getSleepTimeMillis());
             e.writeLong(modemInfo.getIdleTimeMillis());
@@ -843,9 +919,11 @@
         }
     }
 
-    private void pullBluetoothActivityInfo(int tagId, List<StatsLogEventWrapper> pulledData) {
+    private void pullBluetoothActivityInfo(
+            int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         BluetoothActivityEnergyInfo info = pullBluetoothData();
-        StatsLogEventWrapper e = new StatsLogEventWrapper(SystemClock.elapsedRealtimeNanos(), tagId, 6);
+        StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
         e.writeLong(info.getTimeStamp());
         e.writeInt(info.getBluetoothStackState());
         e.writeLong(info.getControllerTxTimeMillis());
@@ -858,7 +936,8 @@
     private synchronized BluetoothActivityEnergyInfo pullBluetoothData() {
         final BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
         if (adapter != null) {
-            SynchronousResultReceiver bluetoothReceiver = new SynchronousResultReceiver("bluetooth");
+            SynchronousResultReceiver bluetoothReceiver = new SynchronousResultReceiver(
+                    "bluetooth");
             adapter.requestControllerActivityEnergyInfo(bluetoothReceiver);
             return awaitControllerInfo(bluetoothReceiver);
         } else {
@@ -867,25 +946,29 @@
         }
     }
 
-    private void pullSystemElapsedRealtime(int tagId, List<StatsLogEventWrapper> pulledData) {
-        StatsLogEventWrapper e = new StatsLogEventWrapper(SystemClock.elapsedRealtimeNanos(), tagId, 1);
+    private void pullSystemElapsedRealtime(
+            int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
+        StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
         e.writeLong(SystemClock.elapsedRealtime());
         pulledData.add(e);
     }
 
-    private void pullSystemUpTime(int tagId, List<StatsLogEventWrapper> pulledData) {
-        StatsLogEventWrapper e = new StatsLogEventWrapper(SystemClock.elapsedRealtimeNanos(), tagId, 1);
+    private void pullSystemUpTime(int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
+        StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
         e.writeLong(SystemClock.uptimeMillis());
         pulledData.add(e);
     }
 
-    private void pullProcessMemoryState(int tagId, List<StatsLogEventWrapper> pulledData) {
+    private void pullProcessMemoryState(
+            int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         List<ProcessMemoryState> processMemoryStates =
-                LocalServices.getService(ActivityManagerInternal.class)
-                        .getMemoryStateForProcesses();
-        long elapsedNanos = SystemClock.elapsedRealtimeNanos();
+                LocalServices.getService(
+                        ActivityManagerInternal.class).getMemoryStateForProcesses();
         for (ProcessMemoryState processMemoryState : processMemoryStates) {
-            StatsLogEventWrapper e = new StatsLogEventWrapper(elapsedNanos, tagId, 8 /* fields */);
+            StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
             e.writeInt(processMemoryState.uid);
             e.writeString(processMemoryState.processName);
             e.writeInt(processMemoryState.oomScore);
@@ -894,11 +977,14 @@
             e.writeLong(processMemoryState.rssInBytes);
             e.writeLong(processMemoryState.cacheInBytes);
             e.writeLong(processMemoryState.swapInBytes);
+            e.writeLong(processMemoryState.rssHighWatermarkInBytes);
             pulledData.add(e);
         }
     }
 
-    private void pullBinderCallsStats(int tagId, List<StatsLogEventWrapper> pulledData) {
+    private void pullBinderCallsStats(
+            int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         BinderCallsStatsService.Internal binderStats =
                 LocalServices.getService(BinderCallsStatsService.Internal.class);
         if (binderStats == null) {
@@ -906,9 +992,9 @@
         }
 
         List<ExportedCallStat> callStats = binderStats.getExportedCallStats();
-        long elapsedNanos = SystemClock.elapsedRealtimeNanos();
+        binderStats.reset();
         for (ExportedCallStat callStat : callStats) {
-            StatsLogEventWrapper e = new StatsLogEventWrapper(elapsedNanos, tagId, 13 /* fields */);
+            StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
             e.writeInt(callStat.uid);
             e.writeString(callStat.className);
             e.writeString(callStat.methodName);
@@ -926,7 +1012,9 @@
         }
     }
 
-    private void pullBinderCallsStatsExceptions(int tagId, List<StatsLogEventWrapper> pulledData) {
+    private void pullBinderCallsStatsExceptions(
+            int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         BinderCallsStatsService.Internal binderStats =
                 LocalServices.getService(BinderCallsStatsService.Internal.class);
         if (binderStats == null) {
@@ -934,26 +1022,28 @@
         }
 
         ArrayMap<String, Integer> exceptionStats = binderStats.getExportedExceptionStats();
-        long elapsedNanos = SystemClock.elapsedRealtimeNanos();
+        // TODO: decouple binder calls exceptions with the rest of the binder calls data so that we
+        // can reset the exception stats.
         for (Entry<String, Integer> entry : exceptionStats.entrySet()) {
-            StatsLogEventWrapper e = new StatsLogEventWrapper(elapsedNanos, tagId, 2 /* fields */);
+            StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
             e.writeString(entry.getKey());
             e.writeInt(entry.getValue());
             pulledData.add(e);
         }
     }
 
-    private void pullLooperStats(int tagId, List<StatsLogEventWrapper> pulledData) {
+    private void pullLooperStats(int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         LooperStats looperStats = LocalServices.getService(LooperStats.class);
         if (looperStats == null) {
             return;
         }
 
         List<LooperStats.ExportedEntry> entries = looperStats.getEntries();
-        long elapsedNanos = SystemClock.elapsedRealtimeNanos();
+        looperStats.reset();
         for (LooperStats.ExportedEntry entry : entries) {
-            StatsLogEventWrapper e = new StatsLogEventWrapper(elapsedNanos, tagId, 9 /* fields */);
-            e.writeLong(0); // uid collection not implemented yet
+            StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
+            e.writeInt(entry.workSourceUid);
             e.writeString(entry.handlerClassName);
             e.writeString(entry.threadName);
             e.writeString(entry.messageName);
@@ -962,11 +1052,13 @@
             e.writeLong(entry.recordedMessageCount);
             e.writeLong(entry.totalLatencyMicros);
             e.writeLong(entry.cpuUsageMicros);
+            e.writeBoolean(entry.isInteractive);
             pulledData.add(e);
         }
     }
 
-    private void pullDiskStats(int tagId, List<StatsLogEventWrapper> pulledData) {
+    private void pullDiskStats(int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         // Run a quick-and-dirty performance test: write 512 bytes
         byte[] junk = new byte[512];
         for (int i = 0; i < junk.length; i++) junk[i] = (byte) i;  // Write nonzero bytes
@@ -1013,41 +1105,40 @@
         }
 
         // Add info pulledData.
-        long elapsedNanos = SystemClock.elapsedRealtimeNanos();
-        StatsLogEventWrapper e = new StatsLogEventWrapper(elapsedNanos, tagId, 3 /* fields */);
+        StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
         e.writeLong(latency);
         e.writeBoolean(fileBased);
         e.writeInt(writeSpeed);
         pulledData.add(e);
     }
 
-    private void pullDirectoryUsage(int tagId, List<StatsLogEventWrapper> pulledData) {
-        long elapsedNanos = SystemClock.elapsedRealtimeNanos();
+    private void pullDirectoryUsage(int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         StatFs statFsData = new StatFs(Environment.getDataDirectory().getAbsolutePath());
         StatFs statFsSystem = new StatFs(Environment.getRootDirectory().getAbsolutePath());
         StatFs statFsCache = new StatFs(Environment.getDownloadCacheDirectory().getAbsolutePath());
 
-        StatsLogEventWrapper e = new StatsLogEventWrapper(elapsedNanos, tagId, 3 /* fields */);
+        StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
         e.writeInt(StatsLog.DIRECTORY_USAGE__DIRECTORY__DATA);
         e.writeLong(statFsData.getAvailableBytes());
         e.writeLong(statFsData.getTotalBytes());
         pulledData.add(e);
 
-        e = new StatsLogEventWrapper(elapsedNanos, tagId, 3 /* fields */);
+        e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
         e.writeInt(StatsLog.DIRECTORY_USAGE__DIRECTORY__CACHE);
         e.writeLong(statFsCache.getAvailableBytes());
         e.writeLong(statFsCache.getTotalBytes());
         pulledData.add(e);
 
-        e = new StatsLogEventWrapper(elapsedNanos, tagId, 3 /* fields */);
+        e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
         e.writeInt(StatsLog.DIRECTORY_USAGE__DIRECTORY__SYSTEM);
         e.writeLong(statFsSystem.getAvailableBytes());
         e.writeLong(statFsSystem.getTotalBytes());
         pulledData.add(e);
     }
 
-    private void pullAppSize(int tagId, List<StatsLogEventWrapper> pulledData) {
-        long elapsedNanos = SystemClock.elapsedRealtimeNanos();
+    private void pullAppSize(int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         try {
             String jsonStr = IoUtils.readFileAsString(DiskStatsLoggingService.DUMPSYS_CACHE_PATH);
             JSONObject json = new JSONObject(jsonStr);
@@ -1065,7 +1156,7 @@
             }
             for (int i = 0; i < length; i++) {
                 StatsLogEventWrapper e =
-                        new StatsLogEventWrapper(elapsedNanos, tagId, 5 /* fields */);
+                        new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
                 e.writeString(pkg_names.getString(i));
                 e.writeLong(app_sizes.optLong(i, -1L));
                 e.writeLong(app_data_sizes.optLong(i, -1L));
@@ -1078,62 +1169,62 @@
         }
     }
 
-    private void pullCategorySize(int tagId, List<StatsLogEventWrapper> pulledData) {
-        long elapsedNanos = SystemClock.elapsedRealtimeNanos();
+    private void pullCategorySize(int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
         try {
             String jsonStr = IoUtils.readFileAsString(DiskStatsLoggingService.DUMPSYS_CACHE_PATH);
             JSONObject json = new JSONObject(jsonStr);
             long cacheTime = json.optLong(DiskStatsFileLogger.LAST_QUERY_TIMESTAMP_KEY, -1L);
 
-            StatsLogEventWrapper e = new StatsLogEventWrapper(elapsedNanos, tagId, 3 /* fields */);
+            StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
             e.writeInt(StatsLog.CATEGORY_SIZE__CATEGORY__APP_SIZE);
             e.writeLong(json.optLong(DiskStatsFileLogger.APP_SIZE_AGG_KEY, -1L));
             e.writeLong(cacheTime);
             pulledData.add(e);
 
-            e = new StatsLogEventWrapper(elapsedNanos, tagId, 3 /* fields */);
+            e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
             e.writeInt(StatsLog.CATEGORY_SIZE__CATEGORY__APP_DATA_SIZE);
             e.writeLong(json.optLong(DiskStatsFileLogger.APP_DATA_SIZE_AGG_KEY, -1L));
             e.writeLong(cacheTime);
             pulledData.add(e);
 
-            e = new StatsLogEventWrapper(elapsedNanos, tagId, 3 /* fields */);
+            e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
             e.writeInt(StatsLog.CATEGORY_SIZE__CATEGORY__APP_CACHE_SIZE);
             e.writeLong(json.optLong(DiskStatsFileLogger.APP_CACHE_AGG_KEY, -1L));
             e.writeLong(cacheTime);
             pulledData.add(e);
 
-            e = new StatsLogEventWrapper(elapsedNanos, tagId, 3 /* fields */);
+            e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
             e.writeInt(StatsLog.CATEGORY_SIZE__CATEGORY__PHOTOS);
             e.writeLong(json.optLong(DiskStatsFileLogger.PHOTOS_KEY, -1L));
             e.writeLong(cacheTime);
             pulledData.add(e);
 
-            e = new StatsLogEventWrapper(elapsedNanos, tagId, 3 /* fields */);
+            e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
             e.writeInt(StatsLog.CATEGORY_SIZE__CATEGORY__VIDEOS);
             e.writeLong(json.optLong(DiskStatsFileLogger.VIDEOS_KEY, -1L));
             e.writeLong(cacheTime);
             pulledData.add(e);
 
-            e = new StatsLogEventWrapper(elapsedNanos, tagId, 3 /* fields */);
+            e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
             e.writeInt(StatsLog.CATEGORY_SIZE__CATEGORY__AUDIO);
             e.writeLong(json.optLong(DiskStatsFileLogger.AUDIO_KEY, -1L));
             e.writeLong(cacheTime);
             pulledData.add(e);
 
-            e = new StatsLogEventWrapper(elapsedNanos, tagId, 3 /* fields */);
+            e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
             e.writeInt(StatsLog.CATEGORY_SIZE__CATEGORY__DOWNLOADS);
             e.writeLong(json.optLong(DiskStatsFileLogger.DOWNLOADS_KEY, -1L));
             e.writeLong(cacheTime);
             pulledData.add(e);
 
-            e = new StatsLogEventWrapper(elapsedNanos, tagId, 3 /* fields */);
+            e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
             e.writeInt(StatsLog.CATEGORY_SIZE__CATEGORY__SYSTEM);
             e.writeLong(json.optLong(DiskStatsFileLogger.SYSTEM_KEY, -1L));
             e.writeLong(cacheTime);
             pulledData.add(e);
 
-            e = new StatsLogEventWrapper(elapsedNanos, tagId, 3 /* fields */);
+            e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
             e.writeInt(StatsLog.CATEGORY_SIZE__CATEGORY__OTHER);
             e.writeLong(json.optLong(DiskStatsFileLogger.MISC_KEY, -1L));
             e.writeLong(cacheTime);
@@ -1143,110 +1234,248 @@
         }
     }
 
+    private void pullNumFingerprints(int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
+        FingerprintManager fingerprintManager = mContext.getSystemService(FingerprintManager.class);
+        if (fingerprintManager == null) {
+            return;
+        }
+        UserManager userManager = mContext.getSystemService(UserManager.class);
+        if (userManager == null) {
+            return;
+        }
+        final long token = Binder.clearCallingIdentity();
+        for (UserInfo user : userManager.getUsers()) {
+            final int userId = user.getUserHandle().getIdentifier();
+            final int numFingerprints = fingerprintManager.getEnrolledFingerprints(userId).size();
+            StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
+            e.writeInt(userId);
+            e.writeInt(numFingerprints);
+            pulledData.add(e);
+        }
+        Binder.restoreCallingIdentity(token);
+    }
+
+    long mLastProcStatsHighWaterMark = readProcStatsHighWaterMark();
+
+    private long readProcStatsHighWaterMark() {
+        try {
+            File[] files = mBaseDir.listFiles();
+            if (files == null || files.length == 0) {
+                return 0;
+            }
+            if (files.length > 1) {
+                Log.e(TAG, "Only 1 file expected for high water mark. Found " + files.length);
+            }
+            return Long.valueOf(files[0].getName());
+        } catch (SecurityException e) {
+            Log.e(TAG, "Failed to get procstats high watermark file.", e);
+        } catch (NumberFormatException e) {
+            Log.e(TAG, "Failed to parse file name.", e);
+        }
+        return 0;
+    }
+
+    private IProcessStats mProcessStats =
+            IProcessStats.Stub.asInterface(ServiceManager.getService(ProcessStats.SERVICE_NAME));
+
+    private void pullProcessStats(
+            int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
+        try {
+            List<ParcelFileDescriptor> statsFiles = new ArrayList<>();
+            long highWaterMark = mProcessStats.getCommittedStats(
+                    mLastProcStatsHighWaterMark, ProcessStats.REPORT_ALL, true, statsFiles);
+            if (statsFiles.size() != 1) {
+                return;
+            }
+            InputStream stream = new ParcelFileDescriptor.AutoCloseInputStream(statsFiles.get(0));
+            int[] len = new int[1];
+            byte[] stats = readFully(stream, len);
+            StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
+            e.writeStorage(Arrays.copyOf(stats, len[0]));
+            pulledData.add(e);
+            new File(mBaseDir.getAbsolutePath() + "/" + mLastProcStatsHighWaterMark).delete();
+            mLastProcStatsHighWaterMark = highWaterMark;
+            new File(
+                    mBaseDir.getAbsolutePath() + "/" + mLastProcStatsHighWaterMark).createNewFile();
+        } catch (IOException e) {
+            Log.e(TAG, "Getting procstats failed: ", e);
+        } catch (RemoteException e) {
+            Log.e(TAG, "Getting procstats failed: ", e);
+        } catch (SecurityException e) {
+            Log.e(TAG, "Getting procstats failed: ", e);
+        }
+    }
+
+    static byte[] readFully(InputStream stream, int[] outLen) throws IOException {
+        int pos = 0;
+        final int initialAvail = stream.available();
+        byte[] data = new byte[initialAvail > 0 ? (initialAvail + 1) : 16384];
+        while (true) {
+            int amt = stream.read(data, pos, data.length - pos);
+            if (DEBUG) {
+                Slog.i(TAG, "Read " + amt + " bytes at " + pos + " of avail " + data.length);
+            }
+            if (amt < 0) {
+                if (DEBUG) {
+                    Slog.i(TAG, "**** FINISHED READING: pos=" + pos + " len=" + data.length);
+                }
+                outLen[0] = pos;
+                return data;
+            }
+            pos += amt;
+            if (pos >= data.length) {
+                byte[] newData = new byte[pos + 16384];
+                if (DEBUG) {
+                    Slog.i(TAG, "Copying " + pos + " bytes to new array len " + newData.length);
+                }
+                System.arraycopy(data, 0, newData, 0, pos);
+                data = newData;
+            }
+        }
+    }
+
+    private void pullDiskIo(int tagId, long elapsedNanos, final long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
+        mStoragedUidIoStatsReader.readAbsolute((uid, fgCharsRead, fgCharsWrite, fgBytesRead,
+                fgBytesWrite, bgCharsRead, bgCharsWrite, bgBytesRead, bgBytesWrite,
+                fgFsync, bgFsync) -> {
+            StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
+            e.writeInt(uid);
+            e.writeLong(fgCharsRead);
+            e.writeLong(fgCharsWrite);
+            e.writeLong(fgBytesRead);
+            e.writeLong(fgBytesWrite);
+            e.writeLong(bgCharsRead);
+            e.writeLong(bgCharsWrite);
+            e.writeLong(bgBytesRead);
+            e.writeLong(bgBytesWrite);
+            e.writeLong(fgFsync);
+            e.writeLong(bgFsync);
+            pulledData.add(e);
+        });
+    }
+
     /**
      * Pulls various data.
      */
     @Override // Binder call
     public StatsLogEventWrapper[] pullData(int tagId) {
         enforceCallingPermission();
-        if (DEBUG)
+        if (DEBUG) {
             Slog.d(TAG, "Pulling " + tagId);
+        }
         List<StatsLogEventWrapper> ret = new ArrayList<>();
+        long elapsedNanos = SystemClock.elapsedRealtimeNanos();
+        long wallClockNanos = SystemClock.currentTimeMicro() * 1000L;
         switch (tagId) {
             case StatsLog.WIFI_BYTES_TRANSFER: {
-                pullWifiBytesTransfer(tagId, ret);
+                pullWifiBytesTransfer(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.MOBILE_BYTES_TRANSFER: {
-                pullMobileBytesTransfer(tagId, ret);
+                pullMobileBytesTransfer(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.WIFI_BYTES_TRANSFER_BY_FG_BG: {
-                pullWifiBytesTransferByFgBg(tagId, ret);
+                pullWifiBytesTransferByFgBg(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.MOBILE_BYTES_TRANSFER_BY_FG_BG: {
-                pullMobileBytesTransferByFgBg(tagId, ret);
+                pullMobileBytesTransferByFgBg(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.BLUETOOTH_BYTES_TRANSFER: {
-                pullBluetoothBytesTransfer(tagId, ret);
+                pullBluetoothBytesTransfer(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.KERNEL_WAKELOCK: {
-                pullKernelWakelock(tagId, ret);
+                pullKernelWakelock(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.CPU_TIME_PER_FREQ: {
-                pullCpuTimePerFreq(tagId, ret);
+                pullCpuTimePerFreq(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.CPU_TIME_PER_UID: {
-                pullKernelUidCpuTime(tagId, ret);
+                pullKernelUidCpuTime(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.CPU_TIME_PER_UID_FREQ: {
-                pullKernelUidCpuFreqTime(tagId, ret);
+                pullKernelUidCpuFreqTime(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.CPU_CLUSTER_TIME: {
-                pullKernelUidCpuClusterTime(tagId, ret);
+                pullKernelUidCpuClusterTime(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.CPU_ACTIVE_TIME: {
-                pullKernelUidCpuActiveTime(tagId, ret);
+                pullKernelUidCpuActiveTime(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.WIFI_ACTIVITY_INFO: {
-                pullWifiActivityInfo(tagId, ret);
+                pullWifiActivityInfo(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.MODEM_ACTIVITY_INFO: {
-                pullModemActivityInfo(tagId, ret);
+                pullModemActivityInfo(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.BLUETOOTH_ACTIVITY_INFO: {
-                pullBluetoothActivityInfo(tagId, ret);
+                pullBluetoothActivityInfo(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.SYSTEM_UPTIME: {
-                pullSystemUpTime(tagId, ret);
+                pullSystemUpTime(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.SYSTEM_ELAPSED_REALTIME: {
-                pullSystemElapsedRealtime(tagId, ret);
+                pullSystemElapsedRealtime(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.PROCESS_MEMORY_STATE: {
-                pullProcessMemoryState(tagId, ret);
+                pullProcessMemoryState(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.BINDER_CALLS: {
-                pullBinderCallsStats(tagId, ret);
+                pullBinderCallsStats(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.BINDER_CALLS_EXCEPTIONS: {
-                pullBinderCallsStatsExceptions(tagId, ret);
+                pullBinderCallsStatsExceptions(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.LOOPER_STATS: {
-                pullLooperStats(tagId, ret);
+                pullLooperStats(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.DISK_STATS: {
-                pullDiskStats(tagId, ret);
+                pullDiskStats(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.DIRECTORY_USAGE: {
-                pullDirectoryUsage(tagId, ret);
+                pullDirectoryUsage(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.APP_SIZE: {
-                pullAppSize(tagId, ret);
+                pullAppSize(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             case StatsLog.CATEGORY_SIZE: {
-                pullCategorySize(tagId, ret);
+                pullCategorySize(tagId, elapsedNanos, wallClockNanos, ret);
+                break;
+            }
+            case StatsLog.NUM_FINGERPRINTS: {
+                pullNumFingerprints(tagId, elapsedNanos, wallClockNanos, ret);
+                break;
+            }
+            case StatsLog.PROC_STATS: {
+                pullProcessStats(tagId, elapsedNanos, wallClockNanos, ret);
+                break;
+            }
+            case StatsLog.DISK_IO: {
+                pullDiskIo(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             default:
@@ -1259,13 +1488,13 @@
     @Override // Binder call
     public void statsdReady() {
         enforceCallingPermission();
-        if (DEBUG) Slog.d(TAG, "learned that statsdReady");
+        if (DEBUG) {
+            Slog.d(TAG, "learned that statsdReady");
+        }
         sayHiToStatsd(); // tell statsd that we're ready too and link to it
-        mContext.sendBroadcastAsUser(
-                new Intent(StatsManager.ACTION_STATSD_STARTED)
+        mContext.sendBroadcastAsUser(new Intent(StatsManager.ACTION_STATSD_STARTED)
                         .addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND),
-                UserHandle.SYSTEM,
-                android.Manifest.permission.DUMP);
+                UserHandle.SYSTEM, android.Manifest.permission.DUMP);
     }
 
     @Override
@@ -1456,4 +1685,12 @@
         }
     }
 
+    // Thermal event received from vendor thermal management subsystem
+    private static final class ThermalEventListener extends IThermalEventListener.Stub {
+        @Override
+        public void notifyThrottling(boolean isThrottling, Temperature temp) {
+            StatsLog.write(StatsLog.THERMAL_THROTTLING, temp.getType(),
+                    isThrottling ? 1 : 0, temp.getValue());
+        }
+    }
 }
diff --git a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
index 14294ec..79eab6b 100644
--- a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
+++ b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
@@ -565,10 +565,12 @@
     }
 
     @Override
-    public void showBiometricDialog(Bundle bundle, IBiometricPromptReceiver receiver, int type) {
+    public void showBiometricDialog(Bundle bundle, IBiometricPromptReceiver receiver, int type,
+            boolean requireConfirmation) {
+        enforceBiometricDialog();
         if (mBar != null) {
             try {
-                mBar.showBiometricDialog(bundle, receiver, type);
+                mBar.showBiometricDialog(bundle, receiver, type, requireConfirmation);
             } catch (RemoteException ex) {
             }
         }
@@ -576,6 +578,7 @@
 
     @Override
     public void onBiometricAuthenticated() {
+        enforceBiometricDialog();
         if (mBar != null) {
             try {
                 mBar.onBiometricAuthenticated();
@@ -586,6 +589,7 @@
 
     @Override
     public void onBiometricHelp(String message) {
+        enforceBiometricDialog();
         if (mBar != null) {
             try {
                 mBar.onBiometricHelp(message);
@@ -596,6 +600,7 @@
 
     @Override
     public void onBiometricError(String error) {
+        enforceBiometricDialog();
         if (mBar != null) {
             try {
                 mBar.onBiometricError(error);
@@ -606,6 +611,7 @@
 
     @Override
     public void hideBiometricDialog() {
+        enforceBiometricDialog();
         if (mBar != null) {
             try {
                 mBar.hideBiometricDialog();
@@ -866,6 +872,12 @@
                 "StatusBarManagerService");
     }
 
+    private void enforceBiometricDialog() {
+        mContext.enforceCallingOrSelfPermission(
+                android.Manifest.permission.MANAGE_BIOMETRIC_DIALOG,
+                "StatusBarManagerService");
+    }
+
     // ================================================================================
     // Callbacks from the status bar service.
     // ================================================================================
diff --git a/services/core/java/com/android/server/telecom/TelecomLoaderService.java b/services/core/java/com/android/server/telecom/TelecomLoaderService.java
index 6c5452a..7a3f030 100644
--- a/services/core/java/com/android/server/telecom/TelecomLoaderService.java
+++ b/services/core/java/com/android/server/telecom/TelecomLoaderService.java
@@ -22,7 +22,6 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.ServiceConnection;
-import android.content.pm.PackageManagerInternal;
 import android.database.ContentObserver;
 import android.net.Uri;
 import android.os.Handler;
@@ -39,12 +38,13 @@
 import android.util.IntArray;
 import android.util.Slog;
 
-import android.util.SparseBooleanArray;
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.telephony.SmsApplication;
 import com.android.server.LocalServices;
 import com.android.server.SystemService;
 import com.android.server.pm.UserManagerService;
+import com.android.server.pm.permission.DefaultPermissionGrantPolicy;
+import com.android.server.pm.permission.PermissionManagerInternal;
 
 /**
  * Starts the telecom component by binding to its ITelecomService implementation. Telecom is setup
@@ -72,8 +72,8 @@
                 synchronized (mLock) {
                     if (mDefaultSmsAppRequests != null || mDefaultDialerAppRequests != null
                             || mDefaultSimCallManagerRequests != null) {
-                        final PackageManagerInternal packageManagerInternal = LocalServices
-                                .getService(PackageManagerInternal.class);
+                        final DefaultPermissionGrantPolicy permissionPolicy =
+                                getDefaultPermissionGrantPolicy();
 
                         if (mDefaultSmsAppRequests != null) {
                             ComponentName smsComponent = SmsApplication.getDefaultSmsApplication(
@@ -83,7 +83,7 @@
                                 for (int i = requestCount - 1; i >= 0; i--) {
                                     final int userid = mDefaultSmsAppRequests.get(i);
                                     mDefaultSmsAppRequests.remove(i);
-                                    packageManagerInternal.grantDefaultPermissionsToDefaultSmsApp(
+                                    permissionPolicy.grantDefaultPermissionsToDefaultSmsApp(
                                             smsComponent.getPackageName(), userid);
                                 }
                             }
@@ -97,7 +97,7 @@
                                 for (int i = requestCount - 1; i >= 0; i--) {
                                     final int userId = mDefaultDialerAppRequests.get(i);
                                     mDefaultDialerAppRequests.remove(i);
-                                    packageManagerInternal.grantDefaultPermissionsToDefaultDialerApp(
+                                    permissionPolicy.grantDefaultPermissionsToDefaultDialerApp(
                                             packageName, userId);
                                 }
                             }
@@ -113,7 +113,7 @@
                                 for (int i = requestCount - 1; i >= 0; i--) {
                                     final int userId = mDefaultSimCallManagerRequests.get(i);
                                     mDefaultSimCallManagerRequests.remove(i);
-                                    packageManagerInternal
+                                    permissionPolicy
                                             .grantDefaultPermissionsToDefaultSimCallManager(
                                                     packageName, userId);
                                 }
@@ -132,6 +132,11 @@
         }
     }
 
+    private DefaultPermissionGrantPolicy getDefaultPermissionGrantPolicy() {
+        return LocalServices.getService(PermissionManagerInternal.class)
+                .getDefaultPermissionGrantPolicy();
+    }
+
     private static final ComponentName SERVICE_COMPONENT = new ComponentName(
             "com.android.server.telecom",
             "com.android.server.telecom.components.TelecomService");
@@ -196,82 +201,68 @@
 
 
     private void registerDefaultAppProviders() {
-        final PackageManagerInternal packageManagerInternal = LocalServices.getService(
-                PackageManagerInternal.class);
+        final DefaultPermissionGrantPolicy permissionPolicy = getDefaultPermissionGrantPolicy();
 
-        // Set a callback for the package manager to query the default sms app.
-        packageManagerInternal.setSmsAppPackagesProvider(
-                new PackageManagerInternal.PackagesProvider() {
-            @Override
-            public String[] getPackages(int userId) {
-                synchronized (mLock) {
-                    if (mServiceConnection == null) {
-                        if (mDefaultSmsAppRequests == null) {
-                            mDefaultSmsAppRequests = new IntArray();
-                        }
-                        mDefaultSmsAppRequests.add(userId);
-                        return null;
+        // Set a callback for the permission grant policy to query the default sms app.
+        permissionPolicy.setSmsAppPackagesProvider(userId -> {
+            synchronized (mLock) {
+                if (mServiceConnection == null) {
+                    if (mDefaultSmsAppRequests == null) {
+                        mDefaultSmsAppRequests = new IntArray();
                     }
+                    mDefaultSmsAppRequests.add(userId);
+                    return null;
                 }
-                ComponentName smsComponent = SmsApplication.getDefaultSmsApplication(
-                        mContext, true);
-                if (smsComponent != null) {
-                    return new String[]{smsComponent.getPackageName()};
-                }
-                return null;
             }
+            ComponentName smsComponent = SmsApplication.getDefaultSmsApplication(
+                    mContext, true);
+            if (smsComponent != null) {
+                return new String[]{smsComponent.getPackageName()};
+            }
+            return null;
         });
 
-        // Set a callback for the package manager to query the default dialer app.
-        packageManagerInternal.setDialerAppPackagesProvider(
-                new PackageManagerInternal.PackagesProvider() {
-            @Override
-            public String[] getPackages(int userId) {
-                synchronized (mLock) {
-                    if (mServiceConnection == null) {
-                        if (mDefaultDialerAppRequests == null) {
-                            mDefaultDialerAppRequests = new IntArray();
-                        }
-                        mDefaultDialerAppRequests.add(userId);
-                        return null;
+        // Set a callback for the permission grant policy to query the default dialer app.
+        permissionPolicy.setDialerAppPackagesProvider(userId -> {
+            synchronized (mLock) {
+                if (mServiceConnection == null) {
+                    if (mDefaultDialerAppRequests == null) {
+                        mDefaultDialerAppRequests = new IntArray();
                     }
+                    mDefaultDialerAppRequests.add(userId);
+                    return null;
                 }
-                String packageName = DefaultDialerManager.getDefaultDialerApplication(mContext);
-                if (packageName != null) {
-                    return new String[]{packageName};
-                }
-                return null;
             }
+            String packageName = DefaultDialerManager.getDefaultDialerApplication(mContext);
+            if (packageName != null) {
+                return new String[]{packageName};
+            }
+            return null;
         });
 
-        // Set a callback for the package manager to query the default sim call manager.
-        packageManagerInternal.setSimCallManagerPackagesProvider(
-                new PackageManagerInternal.PackagesProvider() {
-            @Override
-            public String[] getPackages(int userId) {
-                synchronized (mLock) {
-                    if (mServiceConnection == null) {
-                        if (mDefaultSimCallManagerRequests == null) {
-                            mDefaultSimCallManagerRequests = new IntArray();
-                        }
-                        mDefaultSimCallManagerRequests.add(userId);
-                        return null;
+        // Set a callback for the permission grant policy to query the default sim call manager.
+        permissionPolicy.setSimCallManagerPackagesProvider(userId -> {
+            synchronized (mLock) {
+                if (mServiceConnection == null) {
+                    if (mDefaultSimCallManagerRequests == null) {
+                        mDefaultSimCallManagerRequests = new IntArray();
                     }
+                    mDefaultSimCallManagerRequests.add(userId);
+                    return null;
                 }
-                TelecomManager telecomManager =
+            }
+            TelecomManager telecomManager =
                     (TelecomManager) mContext.getSystemService(Context.TELECOM_SERVICE);
-                PhoneAccountHandle phoneAccount = telecomManager.getSimCallManager(userId);
-                if (phoneAccount != null) {
-                    return new String[]{phoneAccount.getComponentName().getPackageName()};
-                }
-                return null;
+            PhoneAccountHandle phoneAccount = telecomManager.getSimCallManager(userId);
+            if (phoneAccount != null) {
+                return new String[]{phoneAccount.getComponentName().getPackageName()};
             }
+            return null;
         });
     }
 
     private void registerDefaultAppNotifier() {
-        final PackageManagerInternal packageManagerInternal = LocalServices.getService(
-                PackageManagerInternal.class);
+        final DefaultPermissionGrantPolicy permissionPolicy = getDefaultPermissionGrantPolicy();
 
         // Notify the package manager on default app changes
         final Uri defaultSmsAppUri = Settings.Secure.getUriFor(
@@ -287,17 +278,17 @@
                     ComponentName smsComponent = SmsApplication.getDefaultSmsApplication(
                             mContext, true);
                     if (smsComponent != null) {
-                        packageManagerInternal.grantDefaultPermissionsToDefaultSmsApp(
+                        permissionPolicy.grantDefaultPermissionsToDefaultSmsApp(
                                 smsComponent.getPackageName(), userId);
                     }
                 } else if (defaultDialerAppUri.equals(uri)) {
                     String packageName = DefaultDialerManager.getDefaultDialerApplication(
                             mContext);
                     if (packageName != null) {
-                        packageManagerInternal.grantDefaultPermissionsToDefaultDialerApp(
+                        permissionPolicy.grantDefaultPermissionsToDefaultDialerApp(
                                 packageName, userId);
                     }
-                    updateSimCallManagerPermissions(packageManagerInternal, userId);
+                    updateSimCallManagerPermissions(permissionPolicy, userId);
                 }
             }
         };
@@ -310,14 +301,12 @@
 
 
     private void registerCarrierConfigChangedReceiver() {
-        final PackageManagerInternal packageManagerInternal = LocalServices.getService(
-                PackageManagerInternal.class);
         BroadcastReceiver receiver = new BroadcastReceiver() {
             @Override
             public void onReceive(Context context, Intent intent) {
                 if (intent.getAction().equals(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED)) {
                     for (int userId : UserManagerService.getInstance().getUserIds()) {
-                        updateSimCallManagerPermissions(packageManagerInternal, userId);
+                        updateSimCallManagerPermissions(getDefaultPermissionGrantPolicy(), userId);
                     }
                 }
             }
@@ -327,15 +316,15 @@
             new IntentFilter(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED), null, null);
     }
 
-    private void updateSimCallManagerPermissions(PackageManagerInternal packageManagerInternal,
-            int userId) {
+    private void updateSimCallManagerPermissions(
+            DefaultPermissionGrantPolicy permissionGrantPolicy, int userId) {
         TelecomManager telecomManager =
             (TelecomManager) mContext.getSystemService(Context.TELECOM_SERVICE);
         PhoneAccountHandle phoneAccount = telecomManager.getSimCallManager(userId);
         if (phoneAccount != null) {
             Slog.i(TAG, "updating sim call manager permissions for userId:" + userId);
             String packageName = phoneAccount.getComponentName().getPackageName();
-            packageManagerInternal.grantDefaultPermissionsToDefaultSimCallManager(
+            permissionGrantPolicy.grantDefaultPermissionsToDefaultSimCallManager(
                 packageName, userId);
         }
     }
diff --git a/core/java/com/android/internal/textservice/LazyIntToIntMap.java b/services/core/java/com/android/server/textservices/LazyIntToIntMap.java
similarity index 91%
rename from core/java/com/android/internal/textservice/LazyIntToIntMap.java
rename to services/core/java/com/android/server/textservices/LazyIntToIntMap.java
index ca9936c..2e7f2a9 100644
--- a/core/java/com/android/internal/textservice/LazyIntToIntMap.java
+++ b/services/core/java/com/android/server/textservices/LazyIntToIntMap.java
@@ -14,21 +14,18 @@
  * limitations under the License.
  */
 
-package com.android.internal.textservice;
+package com.android.server.textservices;
 
 import android.annotation.NonNull;
 import android.util.SparseIntArray;
 
-import com.android.internal.annotations.VisibleForTesting;
-
 import java.util.function.IntUnaryOperator;
 
 /**
  * Simple int-to-int key-value-store that is to be lazily initialized with the given
  * {@link IntUnaryOperator}.
  */
-@VisibleForTesting
-public final class LazyIntToIntMap {
+final class LazyIntToIntMap {
 
     private final SparseIntArray mMap = new SparseIntArray();
 
diff --git a/services/core/java/com/android/server/textservices/LocaleUtils.java b/services/core/java/com/android/server/textservices/LocaleUtils.java
new file mode 100644
index 0000000..89d8c1e
--- /dev/null
+++ b/services/core/java/com/android/server/textservices/LocaleUtils.java
@@ -0,0 +1,152 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.server.textservices;
+
+import android.annotation.Nullable;
+import android.text.TextUtils;
+
+import java.util.ArrayList;
+import java.util.Locale;
+
+/**
+ * Provides {@code Locale} related utility methods for {@link TextServicesManagerService}.
+ * <p>This class is intentionally package-private.  Utility methods here are tightly coupled with
+ * implementation details in {@link TextServicesManagerService}.  Hence this class is not suitable
+ * for other components to directly use.</p>
+ */
+final class LocaleUtils {
+    /**
+     * Returns a list of {@link Locale} in the order of appropriateness for the default spell
+     * checker service.
+     *
+     * <p>If the system language is English, and the region is also explicitly specified in the
+     * system locale, the following fallback order will be applied.</p>
+     * <ul>
+     * <li>(system-locale-language, system-locale-region, system-locale-variant) (if exists)</li>
+     * <li>(system-locale-language, system-locale-region)</li>
+     * <li>("en", "US")</li>
+     * <li>("en", "GB")</li>
+     * <li>("en")</li>
+     * </ul>
+     *
+     * <p>If the system language is English, but no region is specified in the system locale,
+     * the following fallback order will be applied.</p>
+     * <ul>
+     * <li>("en")</li>
+     * <li>("en", "US")</li>
+     * <li>("en", "GB")</li>
+     * </ul>
+     *
+     * <p>If the system language is not English, the following fallback order will be applied.</p>
+     * <ul>
+     * <li>(system-locale-language, system-locale-region, system-locale-variant) (if exists)</li>
+     * <li>(system-locale-language, system-locale-region) (if exists)</li>
+     * <li>(system-locale-language) (if exists)</li>
+     * <li>("en", "US")</li>
+     * <li>("en", "GB")</li>
+     * <li>("en")</li>
+     * </ul>
+     *
+     * @param systemLocale the current system locale to be taken into consideration.
+     * @return a list of {@link Locale}. The first one is considered to be most appropriate.
+     */
+    public static ArrayList<Locale> getSuitableLocalesForSpellChecker(
+            @Nullable final Locale systemLocale) {
+        final Locale systemLocaleLanguageCountryVariant;
+        final Locale systemLocaleLanguageCountry;
+        final Locale systemLocaleLanguage;
+        if (systemLocale != null) {
+            final String language = systemLocale.getLanguage();
+            final boolean hasLanguage = !TextUtils.isEmpty(language);
+            final String country = systemLocale.getCountry();
+            final boolean hasCountry = !TextUtils.isEmpty(country);
+            final String variant = systemLocale.getVariant();
+            final boolean hasVariant = !TextUtils.isEmpty(variant);
+            if (hasLanguage && hasCountry && hasVariant) {
+                systemLocaleLanguageCountryVariant = new Locale(language, country, variant);
+            } else {
+                systemLocaleLanguageCountryVariant = null;
+            }
+            if (hasLanguage && hasCountry) {
+                systemLocaleLanguageCountry = new Locale(language, country);
+            } else {
+                systemLocaleLanguageCountry = null;
+            }
+            if (hasLanguage) {
+                systemLocaleLanguage = new Locale(language);
+            } else {
+                systemLocaleLanguage = null;
+            }
+        } else {
+            systemLocaleLanguageCountryVariant = null;
+            systemLocaleLanguageCountry = null;
+            systemLocaleLanguage = null;
+        }
+
+        final ArrayList<Locale> locales = new ArrayList<>();
+        if (systemLocaleLanguageCountryVariant != null) {
+            locales.add(systemLocaleLanguageCountryVariant);
+        }
+
+        if (Locale.ENGLISH.equals(systemLocaleLanguage)) {
+            if (systemLocaleLanguageCountry != null) {
+                // If the system language is English, and the region is also explicitly specified,
+                // following fallback order will be applied.
+                // - systemLocaleLanguageCountry [if systemLocaleLanguageCountry is non-null]
+                // - en_US [if systemLocaleLanguageCountry is non-null and not en_US]
+                // - en_GB [if systemLocaleLanguageCountry is non-null and not en_GB]
+                // - en
+                if (systemLocaleLanguageCountry != null) {
+                    locales.add(systemLocaleLanguageCountry);
+                }
+                if (!Locale.US.equals(systemLocaleLanguageCountry)) {
+                    locales.add(Locale.US);
+                }
+                if (!Locale.UK.equals(systemLocaleLanguageCountry)) {
+                    locales.add(Locale.UK);
+                }
+                locales.add(Locale.ENGLISH);
+            } else {
+                // If the system language is English, but no region is specified, following
+                // fallback order will be applied.
+                // - en
+                // - en_US
+                // - en_GB
+                locales.add(Locale.ENGLISH);
+                locales.add(Locale.US);
+                locales.add(Locale.UK);
+            }
+        } else {
+            // If the system language is not English, the fallback order will be
+            // - systemLocaleLanguageCountry  [if non-null]
+            // - systemLocaleLanguage  [if non-null]
+            // - en_US
+            // - en_GB
+            // - en
+            if (systemLocaleLanguageCountry != null) {
+                locales.add(systemLocaleLanguageCountry);
+            }
+            if (systemLocaleLanguage != null) {
+                locales.add(systemLocaleLanguage);
+            }
+            locales.add(Locale.US);
+            locales.add(Locale.UK);
+            locales.add(Locale.ENGLISH);
+        }
+        return locales;
+    }
+}
diff --git a/services/core/java/com/android/server/TextServicesManagerService.java b/services/core/java/com/android/server/textservices/TextServicesManagerService.java
similarity index 98%
rename from services/core/java/com/android/server/TextServicesManagerService.java
rename to services/core/java/com/android/server/textservices/TextServicesManagerService.java
index 40f81b3..23c29f8 100644
--- a/services/core/java/com/android/server/TextServicesManagerService.java
+++ b/services/core/java/com/android/server/textservices/TextServicesManagerService.java
@@ -14,21 +14,21 @@
  * limitations under the License.
  */
 
-package com.android.server;
+package com.android.server.textservices;
 
 import static android.view.textservice.TextServicesManager.DISABLE_PER_PROFILE_SPELL_CHECKER;
 
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.content.PackageMonitor;
-import com.android.internal.inputmethod.InputMethodUtils;
+import com.android.internal.inputmethod.SubtypeLocaleUtils;
 import com.android.internal.textservice.ISpellCheckerService;
 import com.android.internal.textservice.ISpellCheckerServiceCallback;
 import com.android.internal.textservice.ISpellCheckerSession;
 import com.android.internal.textservice.ISpellCheckerSessionListener;
 import com.android.internal.textservice.ITextServicesManager;
 import com.android.internal.textservice.ITextServicesSessionListener;
-import com.android.internal.textservice.LazyIntToIntMap;
 import com.android.internal.util.DumpUtils;
+import com.android.server.SystemService;
 
 import org.xmlpull.v1.XmlPullParserException;
 
@@ -461,7 +461,7 @@
         // is pre-installed or not.
         final Locale systemLocal = mContext.getResources().getConfiguration().locale;
         final ArrayList<Locale> suitableLocales =
-                InputMethodUtils.getSuitableLocalesForSpellChecker(systemLocal);
+                LocaleUtils.getSuitableLocalesForSpellChecker(systemLocal);
         if (DBG) {
             Slog.w(TAG, "findAvailSystemSpellCheckerLocked suitableLocales="
                     + Arrays.toString(suitableLocales.toArray(new Locale[suitableLocales.size()])));
@@ -475,7 +475,7 @@
                 final int subtypeCount = info.getSubtypeCount();
                 for (int subtypeIndex = 0; subtypeIndex < subtypeCount; ++subtypeIndex) {
                     final SpellCheckerSubtype subtype = info.getSubtypeAt(subtypeIndex);
-                    final Locale subtypeLocale = InputMethodUtils.constructLocaleFromString(
+                    final Locale subtypeLocale = SubtypeLocaleUtils.constructLocaleFromString(
                             subtype.getLocale());
                     if (locale.equals(subtypeLocale)) {
                         // TODO: We may have more spell checkers that fall into this category.
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java b/services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java
index 83075ed..bcf9212 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java
@@ -22,17 +22,23 @@
 import android.app.IActivityManager;
 import android.app.IApplicationThread;
 import android.content.ComponentName;
+import android.content.IIntentSender;
 import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.res.CompatibilityInfo;
 import android.os.Bundle;
 import android.os.IBinder;
 import android.os.SystemClock;
 import android.service.voice.IVoiceInteractionSession;
 import android.util.SparseIntArray;
-import android.view.RemoteAnimationAdapter;
 
 import com.android.internal.app.IVoiceInteractor;
+import com.android.server.am.PendingIntentRecord;
+import com.android.server.am.SafeActivityOptions;
+import com.android.server.am.TaskRecord;
 import com.android.server.am.WindowProcessController;
 
+import java.lang.ref.WeakReference;
 import java.util.List;
 
 /**
@@ -177,6 +183,27 @@
             int userId, Intent[] intents, Bundle bOptions);
 
     /**
+     * Start intents as a package.
+     *
+     * @param uid Make a call as if this UID did.
+     * @param callingPackage Make a call as if this package did.
+     * @param intents Intents to start.
+     * @param userId Start the intents on this user.
+     * @param validateIncomingUser Set true to skip checking {@code userId} with the calling UID.
+     * @param originatingPendingIntent PendingIntentRecord that originated this activity start or
+     *        null if not originated by PendingIntent
+     */
+    public abstract int startActivitiesInPackage(int uid, String callingPackage, Intent[] intents,
+            String[] resolvedTypes, IBinder resultTo, SafeActivityOptions options, int userId,
+            boolean validateIncomingUser, PendingIntentRecord originatingPendingIntent);
+
+    public abstract int startActivityInPackage(int uid, int realCallingPid, int realCallingUid,
+            String callingPackage, Intent intent, String resolvedType, IBinder resultTo,
+            String resultWho, int requestCode, int startFlags, SafeActivityOptions options,
+            int userId, TaskRecord inTask, String reason, boolean validateIncomingUser,
+            PendingIntentRecord originatingPendingIntent);
+
+    /**
      * Start activity {@code intent} without calling user-id check.
      *
      * - DO NOT call it with the calling UID cleared.
@@ -267,6 +294,9 @@
     public abstract void onProcessRemoved(String name, int uid);
     public abstract void onCleanUpApplicationRecord(WindowProcessController proc);
     public abstract int getTopProcessState();
+    public abstract boolean isHeavyWeightProcess(WindowProcessController proc);
+    public abstract void clearHeavyWeightProcessIfEquals(WindowProcessController proc);
+    public abstract void finishHeavyWeightApp();
 
     public abstract boolean isSleeping();
     public abstract boolean isShuttingDown();
@@ -281,4 +311,25 @@
 
     public abstract void onPackageDataCleared(String name);
     public abstract void onPackageUninstalled(String name);
+    public abstract void onPackageAdded(String name, boolean replacing);
+
+    public abstract CompatibilityInfo compatibilityInfoForPackage(ApplicationInfo ai);
+
+    /**
+     * Set the corresponding display information for the process global configuration. To be called
+     * when we need to show IME on a different display.
+     *
+     * @param pid The process id associated with the IME window.
+     * @param displayId The ID of the display showing the IME.
+     */
+    public abstract void onImeWindowSetOnDisplay(int pid, int displayId);
+
+    public abstract void sendActivityResult(int callingUid, IBinder activityToken,
+            String resultWho, int requestCode, int resultCode, Intent data);
+    public abstract void clearPendingResultForActivity(
+            IBinder activityToken, WeakReference<PendingIntentRecord> pir);
+    public abstract IIntentSender getIntentSender(int type, String packageName,
+            int callingUid, int userId, IBinder token, String resultWho,
+            int requestCode, Intent[] intents, String[] resolvedTypes, int flags,
+            Bundle bOptions);
 }
diff --git a/services/core/java/com/android/server/wm/ConfigurationContainer.java b/services/core/java/com/android/server/wm/ConfigurationContainer.java
index f2ce63c..64553a8 100644
--- a/services/core/java/com/android/server/wm/ConfigurationContainer.java
+++ b/services/core/java/com/android/server/wm/ConfigurationContainer.java
@@ -29,6 +29,7 @@
 import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
 import static android.app.WindowConfiguration.activityTypeToString;
 import static android.app.WindowConfiguration.windowingModeToString;
+
 import static com.android.server.wm.ConfigurationContainerProto.FULL_CONFIGURATION;
 import static com.android.server.wm.ConfigurationContainerProto.MERGED_OVERRIDE_CONFIGURATION;
 import static com.android.server.wm.ConfigurationContainerProto.OVERRIDE_CONFIGURATION;
@@ -295,6 +296,10 @@
         return mFullConfiguration.windowConfiguration.getWindowingMode();
     }
 
+    public int getOverrideWindowingMode() {
+        return mOverrideConfiguration.windowConfiguration.getWindowingMode();
+    }
+
     /** Sets the windowing mode for the configuration container. */
     public void setWindowingMode(/*@WindowConfiguration.WindowingMode*/ int windowingMode) {
         mTmpConfig.setTo(getOverrideConfiguration());
@@ -513,7 +518,8 @@
         final String childPrefix = prefix + " ";
         pw.println(getName()
                 + " type=" + activityTypeToString(getActivityType())
-                + " mode=" + windowingModeToString(getWindowingMode()));
+                + " mode=" + windowingModeToString(getWindowingMode())
+                + " override-mode=" + windowingModeToString(getOverrideWindowingMode()));
         for (int i = getChildCount() - 1; i >= 0; --i) {
             final E cc = getChildAt(i);
             pw.print(childPrefix + "#" + i + " ");
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java
index d3e534c..236982f 100644
--- a/services/core/java/com/android/server/wm/DisplayContent.java
+++ b/services/core/java/com/android/server/wm/DisplayContent.java
@@ -76,6 +76,7 @@
 import static com.android.server.wm.DisplayContentProto.ROTATION;
 import static com.android.server.wm.DisplayContentProto.SCREEN_ROTATION_ANIMATION;
 import static com.android.server.wm.DisplayContentProto.STACKS;
+import static com.android.server.wm.DisplayContentProto.SURFACE_SIZE;
 import static com.android.server.wm.DisplayContentProto.WINDOW_CONTAINER;
 import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ADD_REMOVE;
 import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_BOOT;
@@ -150,7 +151,6 @@
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.util.ToBooleanFunction;
-import com.android.internal.view.IInputMethodClient;
 import com.android.server.policy.WindowManagerPolicy;
 import com.android.server.wm.utils.RotationCache;
 import com.android.server.wm.utils.WmDisplayCutout;
@@ -409,6 +409,14 @@
 
     private InputMonitor mInputMonitor;
 
+    /** Caches the value whether told display manager that we have content. */
+    private boolean mLastHasContent;
+
+    /**
+     * The input method window for this display.
+     */
+    WindowState mInputMethodWindow;
+
     private final Consumer<WindowState> mUpdateWindowsForAnimator = w -> {
         WindowStateAnimator winAnimator = w.mWinAnimator;
         final AppWindowToken atoken = w.mAppToken;
@@ -564,7 +572,7 @@
             if (!w.mLayoutAttached) {
                 if (mTmpInitial) {
                     //Slog.i(TAG, "Window " + this + " clearing mContentChanged - initial");
-                    w.mContentChanged = false;
+                    w.resetContentChanged();
                 }
                 if (w.mAttrs.type == TYPE_DREAM) {
                     // Don't layout windows behind a dream, so that if it does stuff like hide
@@ -609,7 +617,7 @@
                     || w.mLayoutNeeded) {
                 if (mTmpInitial) {
                     //Slog.i(TAG, "Window " + this + " clearing mContentChanged - initial");
-                    w.mContentChanged = false;
+                    w.resetContentChanged();
                 }
                 w.mLayoutNeeded = false;
                 w.prelayout();
@@ -692,7 +700,7 @@
         final WindowStateAnimator winAnimator = w.mWinAnimator;
 
         //Slog.i(TAG, "Window " + this + " clearing mContentChanged - done placing");
-        w.mContentChanged = false;
+        w.resetContentChanged();
 
         // Moved from updateWindowsAndWallpaperLocked().
         if (w.mHasSurface) {
@@ -2107,18 +2115,16 @@
                 mTouchExcludeRegion.op(mTmpRect2, Region.Op.UNION);
             }
         }
-        final WindowState inputMethod = mService.mInputMethodWindow;
-        if (inputMethod != null && inputMethod.isVisibleLw()) {
+        if (mInputMethodWindow != null && mInputMethodWindow.isVisibleLw()) {
             // If the input method is visible and the user is typing, we don't want these touch
             // events to be intercepted and used to change focus. This would likely cause a
             // disappearance of the input method.
-            inputMethod.getTouchableRegion(mTmpRegion);
-            if (inputMethod.getDisplayId() == mDisplayId) {
+            mInputMethodWindow.getTouchableRegion(mTmpRegion);
+            if (mInputMethodWindow.getDisplayId() == mDisplayId) {
                 mTouchExcludeRegion.op(mTmpRegion, Op.UNION);
             } else {
                 // IME is on a different display, so we need to update its tap detector.
-                // TODO(multidisplay): Remove when IME will always appear on same display.
-                inputMethod.getDisplayContent().setTouchExcludeRegion(null /* focusedTask */);
+                setTouchExcludeRegion(null /* focusedTask */);
             }
         }
         for (int i = mTapExcludedWindows.size() - 1; i >= 0; i--) {
@@ -2257,7 +2263,7 @@
     }
 
     void adjustForImeIfNeeded() {
-        final WindowState imeWin = mService.mInputMethodWindow;
+        final WindowState imeWin = mInputMethodWindow;
         final boolean imeVisible = imeWin != null && imeWin.isVisibleLw() && imeWin.isDisplayedLw()
                 && !mDividerControllerLocked.isImeHideRequested();
         final boolean dockVisible = isStackVisible(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY);
@@ -2404,6 +2410,7 @@
             screenRotationAnimation.writeToProto(proto, SCREEN_ROTATION_ANIMATION);
         }
         mDisplayFrames.writeToProto(proto, DISPLAY_FRAMES);
+        proto.write(SURFACE_SIZE, mSurfaceSize);
         proto.end(token);
     }
 
@@ -2640,12 +2647,27 @@
     }
 
     /**
+     * Set input method window for the display.
+     * @param win Set when window added or Null when destroyed.
+     */
+    void setInputMethodWindowLocked(WindowState win) {
+        mInputMethodWindow = win;
+        // Update display configuration for IME process.
+        if (mInputMethodWindow != null) {
+            final int imePid = mInputMethodWindow.mSession.mPid;
+            mService.mAtmInternal.onImeWindowSetOnDisplay(imePid,
+                    mInputMethodWindow.getDisplayId());
+        }
+        computeImeTarget(true /* updateImeTarget */);
+    }
+
+    /**
      * Determine and return the window that should be the IME target.
      * @param updateImeTarget If true the system IME target will be updated to match what we found.
      * @return The window that should be used as the IME target or null if there isn't any.
      */
     WindowState computeImeTarget(boolean updateImeTarget) {
-        if (mService.mInputMethodWindow == null) {
+        if (mInputMethodWindow == null) {
             // There isn't an IME so there shouldn't be a target...That was easy!
             if (updateImeTarget) {
                 if (DEBUG_INPUT_METHOD) Slog.w(TAG_WM, "Moving IM target from "
@@ -2934,7 +2956,7 @@
         }
     }
 
-    boolean inputMethodClientHasFocus(IInputMethodClient client) {
+    boolean isInputMethodClientFocus(int uid, int pid) {
         final WindowState imFocus = computeImeTarget(false /* updateImeTarget */);
         if (imFocus == null) {
             return false;
@@ -2946,17 +2968,13 @@
             Slog.i(TAG_WM, "Last focus: " + mService.mLastFocus);
         }
 
-        final IInputMethodClient imeClient = imFocus.mSession.mClient;
-
         if (DEBUG_INPUT_METHOD) {
-            Slog.i(TAG_WM, "IM target client: " + imeClient);
-            if (imeClient != null) {
-                Slog.i(TAG_WM, "IM target client binder: " + imeClient.asBinder());
-                Slog.i(TAG_WM, "Requesting client binder: " + client.asBinder());
-            }
+            Slog.i(TAG_WM, "IM target uid/pid: " + imFocus.mSession.mUid
+                    + "/" + imFocus.mSession.mPid);
+            Slog.i(TAG_WM, "Requesting client uid/pid: " + uid + "/" + pid);
         }
 
-        return imeClient != null && imeClient.asBinder() == client.asBinder();
+        return imFocus.mSession.mUid == uid && imFocus.mSession.mPid == pid;
     }
 
     boolean hasSecureWindowOnScreen() {
@@ -3080,8 +3098,9 @@
         forAllWindows(mApplySurfaceChangesTransaction, true /* traverseTopToBottom */);
         prepareSurfaces();
 
+        mLastHasContent = mTmpApplySurfaceChangesTransactionState.displayHasContent;
         mService.mDisplayManagerInternal.setDisplayProperties(mDisplayId,
-                mTmpApplySurfaceChangesTransactionState.displayHasContent,
+                mLastHasContent,
                 mTmpApplySurfaceChangesTransactionState.preferredRefreshRate,
                 mTmpApplySurfaceChangesTransactionState.preferredModeId,
                 true /* inTraversal, must call performTraversalInTrans... below */);
@@ -3140,6 +3159,10 @@
         }
     }
 
+    int getSurfaceSize() {
+        return mSurfaceSize;
+    }
+
     void performLayout(boolean initial, boolean updateInputWindows) {
         if (!isLayoutNeeded()) {
             return;
@@ -3240,7 +3263,7 @@
         // TODO(b/68392460): We should screenshot Task controls directly
         // but it's difficult at the moment as the Task doesn't have the
         // correct size set.
-        final Bitmap bitmap = SurfaceControl.screenshot(frame, dw, dh, 0, 1, inRotation, rot);
+        final Bitmap bitmap = SurfaceControl.screenshot(frame, dw, dh, inRotation, rot);
         if (bitmap == null) {
             Slog.w(TAG_WM, "Failed to take screenshot");
             return null;
@@ -3594,6 +3617,18 @@
             final int targetPosition = findPositionForStack(position, child, false /* adding */);
             super.positionChildAt(targetPosition, child, includingParents);
 
+            if (includingParents) {
+                // We still want to move the display of this stack container to top because even the
+                // target position is adjusted to non-top, the intention of the condition is to have
+                // higher z-order to gain focus (e.g. moving a task of a fullscreen stack to front
+                // in a non-top display which is using picture-in-picture mode).
+                final int topChildPosition = getChildCount() - 1;
+                if (targetPosition < topChildPosition && position >= topChildPosition) {
+                    getParent().positionChildAt(POSITION_TOP, this /* child */,
+                            true /* includingParents */);
+                }
+            }
+
             setLayoutNeeded();
         }
 
@@ -4243,4 +4278,11 @@
     InputMonitor getInputMonitor() {
         return mInputMonitor;
     }
+
+    /**
+     * @return Cached value whether we told display manager that we have content.
+     */
+    boolean getLastHasContent() {
+        return mLastHasContent;
+    }
 }
diff --git a/services/core/java/com/android/server/wm/DisplayRotation.java b/services/core/java/com/android/server/wm/DisplayRotation.java
index 685c444..bd82553 100644
--- a/services/core/java/com/android/server/wm/DisplayRotation.java
+++ b/services/core/java/com/android/server/wm/DisplayRotation.java
@@ -21,6 +21,7 @@
 import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME;
 import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
 
+import android.app.ActivityManager;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
@@ -732,10 +733,13 @@
             boolean shouldUpdateOrientationListener = false;
 
             // Configure rotation suggestions.
-            final int showRotationSuggestions = Settings.Secure.getIntForUser(resolver,
-                    Settings.Secure.SHOW_ROTATION_SUGGESTIONS,
-                    Settings.Secure.SHOW_ROTATION_SUGGESTIONS_DEFAULT,
-                    UserHandle.USER_CURRENT);
+            final int showRotationSuggestions =
+                    ActivityManager.isLowRamDeviceStatic()
+                            ? Settings.Secure.SHOW_ROTATION_SUGGESTIONS_DISABLED
+                            : Settings.Secure.getIntForUser(resolver,
+                            Settings.Secure.SHOW_ROTATION_SUGGESTIONS,
+                            Settings.Secure.SHOW_ROTATION_SUGGESTIONS_DEFAULT,
+                            UserHandle.USER_CURRENT);
             if (mShowRotationSuggestions != showRotationSuggestions) {
                 mShowRotationSuggestions = showRotationSuggestions;
                 shouldUpdateOrientationListener = true;
diff --git a/services/core/java/com/android/server/wm/InputMonitor.java b/services/core/java/com/android/server/wm/InputMonitor.java
index 3309798..ef3a770 100644
--- a/services/core/java/com/android/server/wm/InputMonitor.java
+++ b/services/core/java/com/android/server/wm/InputMonitor.java
@@ -268,11 +268,11 @@
             }
             final InputWindowHandle dragWindowHandle =
                     mService.mDragDropController.getInputWindowHandleLocked();
-            if (dragWindowHandle != null) {
-                addInputWindowHandle(dragWindowHandle);
-            } else {
+            if (dragWindowHandle == null) {
                 Slog.w(TAG_WM, "Drag is in progress but there is no "
                         + "drag window handle.");
+            } else if (dragWindowHandle.displayId == mDisplayId) {
+                addInputWindowHandle(dragWindowHandle);
             }
         }
 
@@ -283,11 +283,11 @@
             }
             final InputWindowHandle dragWindowHandle =
                     mService.mTaskPositioningController.getDragWindowHandleLocked();
-            if (dragWindowHandle != null) {
-                addInputWindowHandle(dragWindowHandle);
-            } else {
+            if (dragWindowHandle == null) {
                 Slog.e(TAG_WM,
                         "Repositioning is in progress but there is no drag window handle.");
+            } else if (dragWindowHandle.displayId == mDisplayId) {
+                addInputWindowHandle(dragWindowHandle);
             }
         }
 
diff --git a/services/core/java/com/android/server/wm/RecentsAnimationController.java b/services/core/java/com/android/server/wm/RecentsAnimationController.java
index 1eae567..e718c7b 100644
--- a/services/core/java/com/android/server/wm/RecentsAnimationController.java
+++ b/services/core/java/com/android/server/wm/RecentsAnimationController.java
@@ -20,8 +20,8 @@
 import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
 import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
 import static android.view.RemoteAnimationTarget.MODE_CLOSING;
+import static android.view.RemoteAnimationTarget.MODE_OPENING;
 import static android.view.WindowManager.INPUT_CONSUMER_RECENTS_ANIMATION;
-
 import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER;
 import static com.android.server.wm.ActivityTaskManagerInternal.APP_TRANSITION_RECENTS_ANIM;
 import static com.android.server.wm.AnimationAdapterProto.REMOTE;
@@ -48,16 +48,13 @@
 import android.view.RemoteAnimationTarget;
 import android.view.SurfaceControl;
 import android.view.SurfaceControl.Transaction;
-
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.server.LocalServices;
 import com.android.server.input.InputWindowHandle;
 import com.android.server.inputmethod.InputMethodManagerInternal;
 import com.android.server.wm.SurfaceAnimator.OnAnimationFinishedCallback;
 import com.android.server.wm.utils.InsetUtils;
-
 import com.google.android.collect.Sets;
-
 import java.io.PrintWriter;
 import java.util.ArrayList;
 
@@ -93,6 +90,7 @@
 
     // The recents component app token that is shown behind the visibile tasks
     private AppWindowToken mTargetAppToken;
+    private int mTargetActivityType;
     private Rect mMinimizedHomeBounds = new Rect();
 
     // We start the RecentsAnimationController in a pending-start state since we need to wait for
@@ -259,23 +257,37 @@
         mDisplayId = displayId;
     }
 
+    public void initialize(int targetActivityType, SparseBooleanArray recentTaskIds) {
+        initialize(mService.mRoot.getDisplayContent(mDisplayId), targetActivityType, recentTaskIds);
+    }
+
     /**
      * Initializes the recents animation controller. This is a separate call from the constructor
      * because it may call cancelAnimation() which needs to properly clean up the controller
      * in the window manager.
      */
-    public void initialize(int targetActivityType, SparseBooleanArray recentTaskIds) {
-        // Make leashes for each of the visible tasks and add it to the recents animation to be
-        // started
-        final DisplayContent dc = mService.mRoot.getDisplayContent(mDisplayId);
+    @VisibleForTesting
+    void initialize(DisplayContent dc, int targetActivityType, SparseBooleanArray recentTaskIds) {
+        mTargetActivityType = targetActivityType;
+
+        // Make leashes for each of the visible/target tasks and add it to the recents animation to
+        // be started
         final ArrayList<Task> visibleTasks = dc.getVisibleTasks();
+        final TaskStack targetStack = dc.getStack(WINDOWING_MODE_UNDEFINED, targetActivityType);
+        if (targetStack != null) {
+            for (int i = targetStack.getChildCount() - 1; i >= 0; i--) {
+                final Task t = targetStack.getChildAt(i);
+                if (!visibleTasks.contains(t)) {
+                    visibleTasks.add(t);
+                }
+            }
+        }
         final int taskCount = visibleTasks.size();
         for (int i = 0; i < taskCount; i++) {
             final Task task = visibleTasks.get(i);
             final WindowConfiguration config = task.getWindowConfiguration();
             if (config.tasksAreFloating()
-                    || config.getWindowingMode() == WINDOWING_MODE_SPLIT_SCREEN_PRIMARY
-                    || config.getActivityType() == targetActivityType) {
+                    || config.getWindowingMode() == WINDOWING_MODE_SPLIT_SCREEN_PRIMARY) {
                 continue;
             }
             addAnimation(task, !recentTaskIds.get(task.mTaskId));
@@ -586,7 +598,10 @@
             final Rect insets = new Rect();
             mainWindow.getContentInsets(insets);
             InsetUtils.addInsets(insets, mainWindow.mAppToken.getLetterboxInsets());
-            mTarget = new RemoteAnimationTarget(mTask.mTaskId, MODE_CLOSING, mCapturedLeash,
+            final int mode = topApp.getActivityType() == mTargetActivityType
+                    ? MODE_OPENING
+                    : MODE_CLOSING;
+            mTarget = new RemoteAnimationTarget(mTask.mTaskId, mode, mCapturedLeash,
                     !topApp.fillsParent(), mainWindow.mWinAnimator.mLastClipRect,
                     insets, mTask.getPrefixOrderIndex(), mPosition, mBounds,
                     mTask.getWindowConfiguration(), mIsRecentTaskInvisible);
diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java
index 86b14337..a9571be 100644
--- a/services/core/java/com/android/server/wm/RootWindowContainer.java
+++ b/services/core/java/com/android/server/wm/RootWindowContainer.java
@@ -48,7 +48,6 @@
 import static com.android.server.wm.WindowManagerService.UPDATE_FOCUS_WILL_PLACE_SURFACES;
 import static com.android.server.wm.WindowManagerService.WINDOWS_FREEZING_SCREENS_NONE;
 import static com.android.server.wm.WindowManagerService.logSurface;
-import static com.android.server.wm.WindowSurfacePlacer.SET_FORCE_HIDING_CHANGED;
 import static com.android.server.wm.WindowSurfacePlacer.SET_ORIENTATION_CHANGE_COMPLETE;
 import static com.android.server.wm.WindowSurfacePlacer.SET_UPDATE_ROTATION;
 import static com.android.server.wm.WindowSurfacePlacer.SET_WALLPAPER_ACTION_PENDING;
@@ -91,7 +90,6 @@
     private static final int SET_SCREEN_BRIGHTNESS_OVERRIDE = 1;
     private static final int SET_USER_ACTIVITY_TIMEOUT = 2;
 
-    private boolean mWallpaperForceHidingChanged = false;
     private Object mLastWindowFreezeSource = null;
     private Session mHoldScreen = null;
     private float mScreenBrightness = -1;
@@ -626,18 +624,6 @@
             recentsAnimationController.checkAnimationReady(mWallpaperController);
         }
 
-        if (mWallpaperForceHidingChanged && defaultDisplay.pendingLayoutChanges == 0
-                && !mService.mAppTransition.isReady()) {
-            // At this point, there was a window with a wallpaper that was force hiding other
-            // windows behind it, but now it is going away. This may be simple -- just animate away
-            // the wallpaper and its window -- or it may be hard -- the wallpaper now needs to be
-            // shown behind something that was hidden.
-            defaultDisplay.pendingLayoutChanges |= FINISH_LAYOUT_REDO_LAYOUT;
-            if (DEBUG_LAYOUT_REPEATS) surfacePlacer.debugLayoutRepeats(
-                    "after animateAwayWallpaperLocked", defaultDisplay.pendingLayoutChanges);
-        }
-        mWallpaperForceHidingChanged = false;
-
         if (mWallpaperMayChange) {
             if (DEBUG_WALLPAPER_LIGHT) Slog.v(TAG, "Wallpaper may change!  Adjusting");
             defaultDisplay.pendingLayoutChanges |= FINISH_LAYOUT_REDO_WALLPAPER;
@@ -681,10 +667,11 @@
                 i--;
                 WindowState win = mService.mDestroySurface.get(i);
                 win.mDestroying = false;
-                if (mService.mInputMethodWindow == win) {
-                    mService.setInputMethodWindowLocked(null);
+                final DisplayContent displayContent = win.getDisplayContent();
+                if (displayContent.mInputMethodWindow == win) {
+                    displayContent.setInputMethodWindowLocked(null);
                 }
-                if (win.getDisplayContent().mWallpaperController.isWallpaperTarget(win)) {
+                if (displayContent.mWallpaperController.isWallpaperTarget(win)) {
                     wallpaperDestroyed = true;
                 }
                 win.destroySurfaceUnchecked();
@@ -960,10 +947,6 @@
             mWallpaperMayChange = true;
             doRequest = true;
         }
-        if ((bulkUpdateParams & SET_FORCE_HIDING_CHANGED) != 0) {
-            mWallpaperForceHidingChanged = true;
-            doRequest = true;
-        }
         if ((bulkUpdateParams & SET_ORIENTATION_CHANGE_COMPLETE) == 0) {
             mOrientationChangeComplete = false;
         } else {
@@ -1113,4 +1096,18 @@
             callback.accept(mChildren.get(i));
         }
     }
+
+    /**
+     * Get current topmost focused IME window in system.
+     * Will look on all displays in current Z-order.
+     */
+    WindowState getCurrentInputMethodWindow() {
+        for (int i = mChildren.size() - 1; i >= 0; --i) {
+            final DisplayContent displayContent = mChildren.get(i);
+            if (displayContent.mInputMethodWindow != null) {
+                return displayContent.mInputMethodWindow;
+            }
+        }
+        return null;
+    }
 }
diff --git a/services/core/java/com/android/server/wm/SeamlessRotator.java b/services/core/java/com/android/server/wm/SeamlessRotator.java
index 6f597277..95ca0a6 100644
--- a/services/core/java/com/android/server/wm/SeamlessRotator.java
+++ b/services/core/java/com/android/server/wm/SeamlessRotator.java
@@ -16,12 +16,12 @@
 
 package com.android.server.wm;
 
-import static android.view.Surface.ROTATION_180;
 import static android.view.Surface.ROTATION_270;
 import static android.view.Surface.ROTATION_90;
 
 import android.graphics.Matrix;
 import android.view.DisplayInfo;
+import android.view.Surface;
 import android.view.Surface.Rotation;
 import android.view.SurfaceControl.Transaction;
 
@@ -33,10 +33,10 @@
 /**
  * Helper class for seamless rotation.
  *
- * Works by transforming the window token back into the old display rotation.
+ * Works by transforming the {@link WindowState} back into the old display rotation.
  *
- * Uses deferTransactionUntil instead of latching on the buffer size to allow for seamless 180
- * degree rotations.
+ * Uses {@link android.view.SurfaceControl#deferTransactionUntil(Surface, long)} instead of
+ * latching on the buffer size to allow for seamless 180 degree rotations.
  */
 public class SeamlessRotator {
 
@@ -45,7 +45,7 @@
     private final int mOldRotation;
     private final int mNewRotation;
 
-    public SeamlessRotator(int oldRotation, int newRotation, DisplayInfo info) {
+    public SeamlessRotator(@Rotation int oldRotation, @Rotation int newRotation, DisplayInfo info) {
         mOldRotation = oldRotation;
         mNewRotation = newRotation;
 
@@ -60,11 +60,16 @@
     }
 
     /**
-     * Applies a transform to the window token's surface that undoes the effect of the global
+     * Applies a transform to the {@link WindowState} surface that undoes the effect of the global
      * display rotation.
      */
-    public void unrotate(Transaction transaction, WindowToken token) {
-        transaction.setMatrix(token.getSurfaceControl(), mTransform, mFloat9);
+    public void unrotate(Transaction transaction, WindowState win) {
+        transaction.setMatrix(win.getSurfaceControl(), mTransform, mFloat9);
+
+        // WindowState sets the position of the window so transform the position and update it.
+        final float[] winSurfacePos = {win.mLastSurfacePosition.x, win.mLastSurfacePosition.y};
+        mTransform.mapPoints(winSurfacePos);
+        transaction.setPosition(win.getSurfaceControl(), winSurfacePos[0], winSurfacePos[1]);
     }
 
     /**
@@ -78,27 +83,23 @@
     }
 
     /**
-     * Removes the transform to the window token's surface that undoes the effect of the global
-     * display rotation.
+     * Removes the transform and sets the previously known surface position for {@link WindowState}
+     * surface that undoes the effect of the global display rotation.
      *
-     * Removing the transform and the result of the WindowState's layout are both tied to the
-     * WindowState's next frame, such that they apply at the same time the client draws the
+     * Removing the transform and the result of the {@link WindowState} layout are both tied to the
+     * {@link WindowState} next frame, such that they apply at the same time the client draws the
      * window in the new orientation.
      */
-    public void finish(WindowToken token, WindowState win) {
+    public void finish(WindowState win) {
         mTransform.reset();
-        token.getPendingTransaction().setMatrix(token.mSurfaceControl, mTransform, mFloat9);
+        final Transaction t = win.getPendingTransaction();
+        t.setMatrix(win.mSurfaceControl, mTransform, mFloat9);
+        t.setPosition(win.mSurfaceControl, win.mLastSurfacePosition.x, win.mLastSurfacePosition.y);
         if (win.mWinAnimator.mSurfaceController != null) {
-            token.getPendingTransaction().deferTransactionUntil(token.mSurfaceControl,
-                    win.mWinAnimator.mSurfaceController.mSurfaceControl.getHandle(),
-                    win.getFrameNumber());
-            win.getPendingTransaction().deferTransactionUntil(win.mSurfaceControl,
-                    win.mWinAnimator.mSurfaceController.mSurfaceControl.getHandle(),
-                    win.getFrameNumber());
-            win.getPendingTransaction().deferTransactionUntil(
-                    win.mWinAnimator.mSurfaceController.mSurfaceControl,
-                    win.mWinAnimator.mSurfaceController.mSurfaceControl.getHandle(),
-                    win.getFrameNumber());
+            t.deferTransactionUntil(win.mSurfaceControl,
+                    win.mWinAnimator.mSurfaceController.getHandle(), win.getFrameNumber());
+            t.deferTransactionUntil(win.mWinAnimator.mSurfaceController.mSurfaceControl,
+                    win.mWinAnimator.mSurfaceController.getHandle(), win.getFrameNumber());
         }
     }
 
diff --git a/services/core/java/com/android/server/wm/Session.java b/services/core/java/com/android/server/wm/Session.java
index f9a71d3..acc9c03 100644
--- a/services/core/java/com/android/server/wm/Session.java
+++ b/services/core/java/com/android/server/wm/Session.java
@@ -38,7 +38,6 @@
 import android.os.Parcel;
 import android.os.Process;
 import android.os.RemoteException;
-import android.os.ServiceManager;
 import android.os.Trace;
 import android.os.UserHandle;
 import android.util.MergedConfiguration;
@@ -56,10 +55,6 @@
 import android.view.WindowManager;
 
 import com.android.internal.os.logging.MetricsLoggerWrapper;
-import com.android.internal.view.IInputContext;
-import com.android.internal.view.IInputMethodClient;
-import com.android.server.LocalServices;
-import com.android.server.inputmethod.InputMethodManagerInternal;
 import com.android.server.wm.WindowManagerService.H;
 
 import java.io.PrintWriter;
@@ -73,8 +68,6 @@
 class Session extends IWindowSession.Stub implements IBinder.DeathRecipient {
     final WindowManagerService mService;
     final IWindowSessionCallback mCallback;
-    final IInputMethodClient mClient;
-    final InputMethodManagerInternal mInputMethodManagerInternal;
     final int mUid;
     final int mPid;
     private final String mStringName;
@@ -95,17 +88,9 @@
     private String mPackageName;
     private String mRelayoutTag;
 
-    public Session(WindowManagerService service, IWindowSessionCallback callback,
-            IInputMethodClient client, IInputContext inputContext) {
+    public Session(WindowManagerService service, IWindowSessionCallback callback) {
         mService = service;
         mCallback = callback;
-        mClient = client;
-        // Depending on the timing when Session object gets called and SystemServer#mFactoryTestMode
-        // this could be null, right?
-        final InputMethodManagerInternal immInternal =
-                LocalServices.getService(InputMethodManagerInternal.class);
-        mInputMethodManagerInternal =
-                immInternal != null ? immInternal : InputMethodManagerInternal.NOP;
         mUid = Binder.getCallingUid();
         mPid = Binder.getCallingPid();
         mLastReportedAnimatorScale = service.getCurrentAnimatorScale();
@@ -134,12 +119,11 @@
         sb.append("}");
         mStringName = sb.toString();
 
-        mInputMethodManagerInternal.addClient(client, inputContext, mUid, mPid);
         try {
-            client.asBinder().linkToDeath(this, 0);
+            mCallback.asBinder().linkToDeath(this, 0);
         } catch (RemoteException e) {
             // The caller has died, so we can just forget about this.
-            mInputMethodManagerInternal.removeClient(client);
+            // Hmmm, should we call killSessionLocked()??
         }
     }
 
@@ -159,9 +143,8 @@
 
     @Override
     public void binderDied() {
-        mInputMethodManagerInternal.removeClient(mClient);
         synchronized(mService.mWindowMap) {
-            mClient.asBinder().unlinkToDeath(this, 0);
+            mCallback.asBinder().unlinkToDeath(this, 0);
             mClientDead = true;
             killSessionLocked();
         }
diff --git a/services/core/java/com/android/server/wm/TEST_MAPPING b/services/core/java/com/android/server/wm/TEST_MAPPING
index c99329a..0c9a14b 100644
--- a/services/core/java/com/android/server/wm/TEST_MAPPING
+++ b/services/core/java/com/android/server/wm/TEST_MAPPING
@@ -21,7 +21,7 @@
           "include-annotation": "android.platform.test.annotations.Presubmit"
         },
         {
-          "exclude-annotation": "android.support.test.filters.FlakyTest"
+          "exclude-annotation": "androidx.test.filters.FlakyTest"
         }
       ]
     },
@@ -35,7 +35,7 @@
           "include-annotation": "android.platform.test.annotations.Presubmit"
         },
         {
-          "exclude-annotation": "android.support.test.filters.FlakyTest"
+          "exclude-annotation": "androidx.test.filters.FlakyTest"
         }
       ]
     }
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index eb419c9..6aa0e01 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -29,6 +29,8 @@
 import static com.android.server.wm.TaskProto.DEFER_REMOVAL;
 import static com.android.server.wm.TaskProto.FILLS_PARENT;
 import static com.android.server.wm.TaskProto.ID;
+import static com.android.server.wm.TaskProto.SURFACE_HEIGHT;
+import static com.android.server.wm.TaskProto.SURFACE_WIDTH;
 import static com.android.server.wm.TaskProto.TEMP_INSET_BOUNDS;
 import static com.android.server.wm.TaskProto.WINDOW_CONTAINER;
 import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_STACK;
@@ -297,6 +299,12 @@
         return boundsChange;
     }
 
+    @Override
+    void onDisplayChanged(DisplayContent dc) {
+        updateSurfaceSize(dc);
+        super.onDisplayChanged(dc);
+    }
+
     /**
      * Sets the bounds used to calculate the insets. See
      * {@link android.app.IActivityTaskManager#resizeDockedStack} why this is needed.
@@ -553,9 +561,10 @@
 
     @Override
     public SurfaceControl getAnimationLeashParent() {
-        // Reparent to the animation layer so that we aren't clipped by the non-minimized
-        // stack bounds, currently we only animate the task for the recents animation
-        return getAppAnimationLayer(ANIMATION_LAYER_STANDARD);
+        // Currently, only the recents animation will create animation leashes for tasks. In this
+        // case, reparent the task to the home animation layer while it is being animated to allow
+        // the home activity to reorder the app windows relative to its own.
+        return getAppAnimationLayer(ANIMATION_LAYER_HOME);
     }
 
     boolean isTaskAnimating() {
@@ -703,6 +712,8 @@
         getBounds().writeToProto(proto, BOUNDS);
         mTempInsetBounds.writeToProto(proto, TEMP_INSET_BOUNDS);
         proto.write(DEFER_REMOVAL, mDeferRemoval);
+        proto.write(SURFACE_WIDTH, mSurfaceControl.getWidth());
+        proto.write(SURFACE_HEIGHT, mSurfaceControl.getHeight());
         proto.end(token);
     }
 
diff --git a/services/core/java/com/android/server/wm/TaskPositioner.java b/services/core/java/com/android/server/wm/TaskPositioner.java
index 8effc6b..d2696c0 100644
--- a/services/core/java/com/android/server/wm/TaskPositioner.java
+++ b/services/core/java/com/android/server/wm/TaskPositioner.java
@@ -19,17 +19,17 @@
 import static android.app.ActivityTaskManager.RESIZE_MODE_USER;
 import static android.app.ActivityTaskManager.RESIZE_MODE_USER_FORCED;
 import static android.os.Trace.TRACE_TAG_WINDOW_MANAGER;
+
+import static com.android.server.wm.DragResizeMode.DRAG_RESIZE_MODE_FREEFORM;
 import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ORIENTATION;
 import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_TASK_POSITIONING;
 import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME;
 import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
 import static com.android.server.wm.WindowManagerService.dipToPixel;
-import static com.android.server.wm.DragResizeMode.DRAG_RESIZE_MODE_FREEFORM;
 import static com.android.server.wm.WindowState.MINIMUM_VISIBLE_HEIGHT_IN_DP;
 import static com.android.server.wm.WindowState.MINIMUM_VISIBLE_WIDTH_IN_DP;
 
 import android.annotation.IntDef;
-import android.app.IActivityManager;
 import android.app.IActivityTaskManager;
 import android.graphics.Point;
 import android.graphics.Rect;
@@ -51,7 +51,6 @@
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.server.input.InputApplicationHandle;
 import com.android.server.input.InputWindowHandle;
-import com.android.server.wm.WindowManagerService.H;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
@@ -209,7 +208,6 @@
                     // Post back to WM to handle clean-ups. We still need the input
                     // event handler for the last finishInputEvent()!
                     mService.mTaskPositioningController.finishTaskPositioning();
-                    mTask.getDisplayContent().getInputMonitor().updateInputWindowsLw(true /*force*/);
                 }
                 handled = true;
             } catch (Exception e) {
@@ -237,7 +235,7 @@
     }
 
     /**
-     * @param display The Display that the window being dragged is on.
+     * @param displayContent The Display that the window being dragged is on.
      */
     void register(DisplayContent displayContent) {
         final Display display = displayContent.getDisplay();
@@ -303,6 +301,9 @@
         }
         mDisplayContent.pauseRotationLocked();
 
+        // Notify InputMonitor to take mDragWindowHandle.
+        mDisplayContent.getInputMonitor().updateInputWindowsLw(true /*force*/);
+
         mSideMargin = dipToPixel(SIDE_MARGIN_DIP, mDisplayMetrics);
         mMinVisibleWidth = dipToPixel(MINIMUM_VISIBLE_WIDTH_IN_DP, mDisplayMetrics);
         mMinVisibleHeight = dipToPixel(MINIMUM_VISIBLE_HEIGHT_IN_DP, mDisplayMetrics);
@@ -334,6 +335,9 @@
         mDragApplicationHandle = null;
         mDragEnded = true;
 
+        // Notify InputMonitor to remove mDragWindowHandle.
+        mDisplayContent.getInputMonitor().updateInputWindowsLw(true /*force*/);
+
         // Resume rotations after a drag.
         if (DEBUG_ORIENTATION) {
             Slog.d(TAG, "Resuming rotation after re-position");
diff --git a/services/core/java/com/android/server/wm/TaskPositioningController.java b/services/core/java/com/android/server/wm/TaskPositioningController.java
index 9cdc6b7..33416f6 100644
--- a/services/core/java/com/android/server/wm/TaskPositioningController.java
+++ b/services/core/java/com/android/server/wm/TaskPositioningController.java
@@ -20,14 +20,13 @@
 import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
 
 import android.annotation.Nullable;
-import android.app.IActivityManager;
 import android.app.IActivityTaskManager;
-import android.os.RemoteException;
 import android.os.Handler;
 import android.os.Looper;
+import android.os.RemoteException;
 import android.util.Slog;
-import android.view.Display;
 import android.view.IWindow;
+
 import com.android.internal.annotations.GuardedBy;
 import com.android.server.input.InputManagerService;
 import com.android.server.input.InputWindowHandle;
@@ -124,10 +123,8 @@
             return false;
         }
 
-        Display display = displayContent.getDisplay();
         mTaskPositioner = TaskPositioner.create(mService);
         mTaskPositioner.register(displayContent);
-        displayContent.getInputMonitor().updateInputWindowsLw(true /*force*/);
 
         // We need to grab the touch focus so that the touch events during the
         // resizing/scrolling are not sent to the app. 'win' is the main window
diff --git a/services/core/java/com/android/server/wm/WindowAnimator.java b/services/core/java/com/android/server/wm/WindowAnimator.java
index 793ffce..a1d6ffd 100644
--- a/services/core/java/com/android/server/wm/WindowAnimator.java
+++ b/services/core/java/com/android/server/wm/WindowAnimator.java
@@ -284,9 +284,6 @@
         if ((bulkUpdateParams & WindowSurfacePlacer.SET_WALLPAPER_MAY_CHANGE) != 0) {
             builder.append(" WALLPAPER_MAY_CHANGE");
         }
-        if ((bulkUpdateParams & WindowSurfacePlacer.SET_FORCE_HIDING_CHANGED) != 0) {
-            builder.append(" FORCE_HIDING_CHANGED");
-        }
         if ((bulkUpdateParams & WindowSurfacePlacer.SET_ORIENTATION_CHANGE_COMPLETE) != 0) {
             builder.append(" ORIENTATION_CHANGE_COMPLETE");
         }
diff --git a/services/core/java/com/android/server/wm/WindowContainer.java b/services/core/java/com/android/server/wm/WindowContainer.java
index 8e704a8..4883f97 100644
--- a/services/core/java/com/android/server/wm/WindowContainer.java
+++ b/services/core/java/com/android/server/wm/WindowContainer.java
@@ -20,13 +20,14 @@
 import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSET;
 import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
 import static android.view.SurfaceControl.Transaction;
-import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ANIM;
-import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME;
-import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
+
 import static com.android.server.wm.WindowContainerProto.CONFIGURATION_CONTAINER;
 import static com.android.server.wm.WindowContainerProto.ORIENTATION;
 import static com.android.server.wm.WindowContainerProto.SURFACE_ANIMATOR;
 import static com.android.server.wm.WindowContainerProto.VISIBLE;
+import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ANIM;
+import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME;
+import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
 
 import android.annotation.CallSuper;
 import android.annotation.IntDef;
@@ -41,10 +42,8 @@
 import android.view.SurfaceControl;
 import android.view.SurfaceControl.Builder;
 import android.view.SurfaceSession;
-
 import com.android.internal.util.ToBooleanFunction;
 import com.android.server.wm.SurfaceAnimator.Animatable;
-
 import java.io.PrintWriter;
 import java.util.Comparator;
 import java.util.LinkedList;
@@ -70,7 +69,8 @@
 
     /**
      * Animation layer that is reserved for {@link WindowConfiguration#ACTIVITY_TYPE_HOME}
-     * activities that happens below all {@link TaskStack}s.
+     * activities and all activities that are being controlled by the recents animation. This
+     * layer is generally below all {@link TaskStack}s.
      */
     static final int ANIMATION_LAYER_HOME = 2;
 
@@ -503,6 +503,24 @@
         }
     }
 
+    /**
+     * Update the surface size when display changed in order to avoid children being bound by the
+     * old display size.
+     *
+     * Note that we don't want to apply this to all layers, but only limiting this to layers that
+     * don't set their own size ({@link Task}, {@link WindowState} and {@link WindowToken}).
+     */
+    void updateSurfaceSize(DisplayContent dc) {
+        if (mSurfaceControl == null) {
+            return;
+        }
+
+        final int newSurfaceSize = dc.getSurfaceSize();
+        if (mSurfaceControl.getWidth() != newSurfaceSize) {
+            getPendingTransaction().setSize(mSurfaceControl, newSurfaceSize, newSurfaceSize);
+        }
+    }
+
     void setWaitingForDrawnIfResizingChanged() {
         for (int i = mChildren.size() - 1; i >= 0; --i) {
             final WindowContainer wc = mChildren.get(i);
diff --git a/services/core/java/com/android/server/wm/WindowFrames.java b/services/core/java/com/android/server/wm/WindowFrames.java
index 9381fc6..20a874b 100644
--- a/services/core/java/com/android/server/wm/WindowFrames.java
+++ b/services/core/java/com/android/server/wm/WindowFrames.java
@@ -36,7 +36,6 @@
 import android.graphics.Rect;
 import android.util.proto.ProtoOutputStream;
 import android.view.DisplayCutout;
-import android.view.WindowManager;
 
 import com.android.server.wm.utils.InsetUtils;
 import com.android.server.wm.utils.WmDisplayCutout;
@@ -191,6 +190,10 @@
 
     private final Rect mTmpRect = new Rect();
 
+    private boolean mHasOutsets;
+
+    private boolean mContentChanged;
+
     public WindowFrames() {
     }
 
@@ -237,11 +240,9 @@
      * Calculates the outsets for this windowFrame. The outsets are calculated by the area between
      * the {@link #mOutsetFrame} and the {@link #mContentFrame}. If there are no outsets, then
      * {@link #mOutsets} is set to empty.
-     *
-     * @param hasOutsets Whether this frame has outsets.
      */
-    void calculateOutsets(boolean hasOutsets) {
-        if (hasOutsets) {
+    void calculateOutsets() {
+        if (mHasOutsets) {
             InsetUtils.insetsBetweenFrames(mOutsetFrame, mContentFrame, mOutsets);
         } else {
             mOutsets.setEmpty();
@@ -249,7 +250,8 @@
     }
 
     /**
-     * Calculate the insets for the type {@link WindowManager.LayoutParams#TYPE_DOCK_DIVIDER}
+     * Calculate the insets for the type
+     * {@link android.view.WindowManager.LayoutParams#TYPE_DOCK_DIVIDER}
      *
      * @param cutoutInsets The insets for the cutout.
      */
@@ -286,8 +288,9 @@
         boolean overrideBottomInset = !windowsAreFloating && !inFullscreenContainer
                 && mFrame.bottom > windowBounds.bottom;
 
-        mTmpRect.set(mFrame.left, mFrame.top, overrideRightInset ? mTmpRect.right : mFrame.right,
-                overrideBottomInset ? mTmpRect.bottom : mFrame.bottom);
+        mTmpRect.set(mFrame.left, mFrame.top,
+                overrideRightInset ? windowBounds.right : mFrame.right,
+                overrideBottomInset ? windowBounds.bottom : mFrame.bottom);
 
         InsetUtils.insetsBetweenFrames(mTmpRect, mContentFrame, mContentInsets);
         InsetUtils.insetsBetweenFrames(mTmpRect, mVisibleFrame, mVisibleInsets);
@@ -366,6 +369,28 @@
         mLastContentInsets.set(-1, -1, -1, -1);
     }
 
+    /**
+     * Sets whether the frame has outsets.
+     */
+    public void setHasOutsets(boolean hasOutsets) {
+        mHasOutsets = hasOutsets;
+    }
+
+    /**
+     * Sets whether the content has changed. This means that either the size or parent frame has
+     * changed.
+     */
+    public void setContentChanged(boolean contentChanged) {
+        mContentChanged = contentChanged;
+    }
+
+    /**
+     * @see #setContentChanged(boolean)
+     */
+    boolean hasContentChanged() {
+        return mContentChanged;
+    }
+
     public void writeToProto(@NonNull ProtoOutputStream proto, long fieldId) {
         final long token = proto.start(fieldId);
         mParentFrame.writeToProto(proto, PARENT_FRAME);
diff --git a/services/core/java/com/android/server/wm/WindowManagerInternal.java b/services/core/java/com/android/server/wm/WindowManagerInternal.java
index df680f2..5410676 100644
--- a/services/core/java/com/android/server/wm/WindowManagerInternal.java
+++ b/services/core/java/com/android/server/wm/WindowManagerInternal.java
@@ -19,6 +19,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.content.ClipData;
+import android.content.res.Configuration;
 import android.graphics.Rect;
 import android.graphics.Region;
 import android.hardware.display.DisplayManagerInternal;
@@ -30,7 +31,6 @@
 import android.view.MagnificationSpec;
 import android.view.WindowInfo;
 
-import com.android.internal.view.IInputMethodClient;
 import com.android.server.input.InputManagerService;
 import com.android.server.policy.WindowManagerPolicy;
 
@@ -335,29 +335,15 @@
     public abstract void registerAppTransitionListener(AppTransitionListener listener);
 
     /**
-     * Retrieves a height of input method window.
+     * Retrieves a height of input method window for given display.
      */
-    public abstract int getInputMethodWindowVisibleHeight();
-
-    /**
-      * Saves last input method window for transition.
-      *
-      * Note that it is assumed that this method is called only by InputMethodManagerService.
-      */
-    public abstract void saveLastInputMethodWindowForTransition();
-
-    /**
-     * Clears last input method window for transition.
-     *
-     * Note that it is assumed that this method is called only by InputMethodManagerService.
-     */
-    public abstract void clearLastInputMethodWindowForTransition();
+    public abstract int getInputMethodWindowVisibleHeight(int displayId);
 
     /**
      * Notifies WindowManagerService that the current IME window status is being changed.
      *
-     * <p>Only {@link com.android.server.InputMethodManagerService} is the expected and tested
-     * caller of this method.</p>
+     * <p>Only {@link com.android.server.inputmethod.InputMethodManagerService} is the expected and
+     * tested caller of this method.</p>
      *
      * @param imeToken token to track the active input method. Corresponding IME windows can be
      *                 identified by checking {@link android.view.WindowManager.LayoutParams#token}.
@@ -376,8 +362,8 @@
     /**
      * Notifies WindowManagerService that the current IME window status is being changed.
      *
-     * <p>Only {@link com.android.server.InputMethodManagerService} is the expected and tested
-     * caller of this method.</p>
+     * <p>Only {@link com.android.server.inputmethod.InputMethodManagerService} is the expected and
+     * tested caller of this method.</p>
      *
      * @param imeToken token to track the active input method. Corresponding IME windows can be
      *                 identified by checking {@link android.view.WindowManager.LayoutParams#token}.
@@ -444,7 +430,24 @@
     public abstract boolean isUidFocused(int uid);
 
     /**
-     * Returns {@code true} if a process that is identified by {@code client} has IME focus.
+     * Checks whether the specified process has IME focus or not.
+     *
+     * @param uid UID of the process to be queried
+     * @param pid PID of the process to be queried
+     * @return {@code true} if a process that is identified by {@code uid} and {@code pid} has IME
+     *         focus
      */
-    public abstract boolean inputMethodClientHasFocus(IInputMethodClient client);
+    public abstract boolean isInputMethodClientFocus(int uid, int pid);
+
+    /**
+     * Return the display Id for given window.
+     */
+    public abstract int getDisplayIdForWindow(IBinder windowToken);
+
+    // TODO: use WindowProcessController once go/wm-unified is done.
+    /**
+     * Notifies the window manager that configuration of the process associated with the input pid
+     * changed.
+     */
+    public abstract void onProcessConfigurationChanged(int pid, Configuration newConfig);
 }
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 679e0d8..b627df4 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -182,6 +182,7 @@
 import android.util.MergedConfiguration;
 import android.util.Pair;
 import android.util.Slog;
+import android.util.SparseArray;
 import android.util.SparseBooleanArray;
 import android.util.SparseIntArray;
 import android.util.TimeUtils;
@@ -226,14 +227,13 @@
 import android.view.WindowManagerPolicyConstants.PointerEventListener;
 
 import com.android.internal.R;
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.os.IResultReceiver;
 import com.android.internal.policy.IKeyguardDismissCallback;
 import com.android.internal.policy.IShortcutService;
 import com.android.internal.util.DumpUtils;
 import com.android.internal.util.FastPrintWriter;
 import com.android.internal.util.LatencyTracker;
-import com.android.internal.view.IInputContext;
-import com.android.internal.view.IInputMethodClient;
 import com.android.internal.view.WindowManagerPolicyThread;
 import com.android.server.AnimationThread;
 import com.android.server.DisplayThread;
@@ -482,6 +482,10 @@
      */
     WindowState[] mPendingRemoveTmp = new WindowState[20];
 
+    // TODO: use WindowProcessController once go/wm-unified is done.
+    /** Mapping of process pids to configurations */
+    final SparseArray<Configuration> mProcessConfigurations = new SparseArray<>();
+
     /**
      * Windows whose surface should be destroyed.
      */
@@ -650,8 +654,6 @@
     /** If true hold off on modifying the animation layer of mInputMethodTarget */
     boolean mInputMethodTargetWaitingAnim;
 
-    WindowState mInputMethodWindow = null;
-
     boolean mHardKeyboardAvailable;
     WindowManagerInternal.OnHardKeyboardStatusChangeListener mHardKeyboardStatusChangeListener;
     SettingsObserver mSettingsObserver;
@@ -1413,8 +1415,7 @@
 
             win.mToken.addWindow(win);
             if (type == TYPE_INPUT_METHOD) {
-                win.mGivenInsetsPending = true;
-                setInputMethodWindowLocked(win);
+                displayContent.setInputMethodWindowLocked(win);
                 imMayMove = false;
             } else if (type == TYPE_INPUT_METHOD_DIALOG) {
                 displayContent.computeImeTarget(true /* updateImeTarget */);
@@ -1687,8 +1688,9 @@
         mWindowsChanged = true;
         if (DEBUG_WINDOW_MOVEMENT) Slog.v(TAG_WM, "Final remove of window: " + win);
 
-        if (mInputMethodWindow == win) {
-            setInputMethodWindowLocked(null);
+        final DisplayContent displayContent = win.getDisplayContent();
+        if (displayContent.mInputMethodWindow == win) {
+            displayContent.setInputMethodWindowLocked(null);
         }
 
         final WindowToken token = win.mToken;
@@ -1733,13 +1735,6 @@
         dc.getInputMonitor().updateInputWindowsLw(true /*force*/);
     }
 
-    void setInputMethodWindowLocked(WindowState win) {
-        mInputMethodWindow = win;
-        final DisplayContent dc = win != null
-                ? win.getDisplayContent() : getDefaultDisplayContentLocked();
-        dc.computeImeTarget(true /* updateImeTarget */);
-    }
-
     private void updateHiddenWhileSuspendedState(ArraySet<String> packages, boolean suspended) {
         synchronized (mWindowMap) {
             mRoot.updateHiddenWhileSuspendedState(packages, suspended);
@@ -2058,8 +2053,10 @@
                 if ((result & WindowManagerGlobal.RELAYOUT_RES_FIRST_TIME) != 0) {
                     focusMayChange = isDefaultDisplay;
                 }
-                if (win.mAttrs.type == TYPE_INPUT_METHOD && mInputMethodWindow == null) {
-                    setInputMethodWindowLocked(win);
+                final DisplayContent displayContent = win.getDisplayContent();
+                if (win.mAttrs.type == TYPE_INPUT_METHOD
+                        && displayContent.mInputMethodWindow == null) {
+                    displayContent.setInputMethodWindowLocked(win);
                     imMayMove = true;
                 }
                 win.adjustStartingWindowFlags();
@@ -2222,8 +2219,9 @@
             // of a transaction to avoid artifacts.
             win.mAnimatingExit = true;
         } else {
-            if (mInputMethodWindow == win) {
-                setInputMethodWindowLocked(null);
+            final DisplayContent displayContent = win.getDisplayContent();
+            if (displayContent.mInputMethodWindow == win) {
+                displayContent.setInputMethodWindowLocked(null);
             }
             boolean stopped = win.mAppToken != null ? win.mAppToken.mAppStopped : true;
             // We set mDestroying=true so AppWindowToken#notifyAppStopped in-to destroy surfaces
@@ -2717,6 +2715,11 @@
         }
     }
 
+    @VisibleForTesting
+    void setRecentsAnimationController(RecentsAnimationController controller) {
+        mRecentsAnimationController = controller;
+    }
+
     public RecentsAnimationController getRecentsAnimationController() {
         return mRecentsAnimationController;
     }
@@ -2828,7 +2831,7 @@
 
     @Override
     public WindowManagerPolicy.WindowState getInputMethodWindowLw() {
-        return mInputMethodWindow;
+        return mRoot.getCurrentInputMethodWindow();
     }
 
     @Override
@@ -5042,12 +5045,8 @@
     // -------------------------------------------------------------
 
     @Override
-    public IWindowSession openSession(IWindowSessionCallback callback, IInputMethodClient client,
-            IInputContext inputContext) {
-        if (client == null) throw new IllegalArgumentException("null client");
-        if (inputContext == null) throw new IllegalArgumentException("null inputContext");
-        Session session = new Session(this, callback, client, inputContext);
-        return session;
+    public IWindowSession openSession(IWindowSessionCallback callback) {
+        return new Session(this, callback);
     }
 
     @Override
@@ -5080,9 +5079,7 @@
             throw new SecurityException("Must hold permission " +
                     android.Manifest.permission.WRITE_SECURE_SETTINGS);
         }
-        if (displayId != DEFAULT_DISPLAY) {
-            throw new IllegalArgumentException("Can only set the default display");
-        }
+
         final long ident = Binder.clearCallingIdentity();
         try {
             synchronized(mWindowMap) {
@@ -5115,9 +5112,7 @@
             throw new SecurityException("Must hold permission " +
                     android.Manifest.permission.WRITE_SECURE_SETTINGS);
         }
-        if (displayId != DEFAULT_DISPLAY) {
-            throw new IllegalArgumentException("Can only set the default display");
-        }
+
         final long ident = Binder.clearCallingIdentity();
         try {
             synchronized(mWindowMap) {
@@ -5197,9 +5192,7 @@
             throw new SecurityException("Must hold permission " +
                     android.Manifest.permission.WRITE_SECURE_SETTINGS);
         }
-        if (displayId != DEFAULT_DISPLAY) {
-            throw new IllegalArgumentException("Can only set the default display");
-        }
+
         final long ident = Binder.clearCallingIdentity();
         try {
             synchronized(mWindowMap) {
@@ -5246,9 +5239,6 @@
             throw new SecurityException("Must hold permission " +
                     android.Manifest.permission.WRITE_SECURE_SETTINGS);
         }
-        if (displayId != DEFAULT_DISPLAY) {
-            throw new IllegalArgumentException("Can only set the default display");
-        }
 
         final int targetUserId = ActivityManager.handleIncomingUser(Binder.getCallingPid(),
                 Binder.getCallingUid(), userId, false, true, "setForcedDisplayDensityForUser",
@@ -5277,9 +5267,6 @@
             throw new SecurityException("Must hold permission " +
                     android.Manifest.permission.WRITE_SECURE_SETTINGS);
         }
-        if (displayId != DEFAULT_DISPLAY) {
-            throw new IllegalArgumentException("Can only set the default display");
-        }
 
         final int callingUserId = ActivityManager.handleIncomingUser(Binder.getCallingPid(),
                 Binder.getCallingUid(), userId, false, true, "clearForcedDisplayDensityForUser",
@@ -5575,10 +5562,10 @@
             // change message pending.
             mH.removeMessages(H.REPORT_FOCUS_CHANGE);
             mH.sendEmptyMessage(H.REPORT_FOCUS_CHANGE);
-            // TODO(multidisplay): Focused windows on default display only.
-            final DisplayContent displayContent = getDefaultDisplayContentLocked();
+            final DisplayContent displayContent = (newFocus != null) ? newFocus.getDisplayContent()
+                    : getDefaultDisplayContentLocked();
             boolean imWindowChanged = false;
-            if (mInputMethodWindow != null) {
+            if (displayContent.mInputMethodWindow != null) {
                 final WindowState prevTarget = mInputMethodTarget;
 
                 final WindowState newTarget =
@@ -5587,10 +5574,11 @@
 
                 if (mode != UPDATE_FOCUS_WILL_ASSIGN_LAYERS
                         && mode != UPDATE_FOCUS_WILL_PLACE_SURFACES) {
-                    final int prevImeAnimLayer = mInputMethodWindow.mWinAnimator.mAnimLayer;
+                    final int prevImeAnimLayer =
+                            displayContent.mInputMethodWindow.mWinAnimator.mAnimLayer;
                     displayContent.assignWindowLayers(false /* setLayoutNeeded */);
-                    imWindowChanged |=
-                            prevImeAnimLayer != mInputMethodWindow.mWinAnimator.mAnimLayer;
+                    imWindowChanged |= prevImeAnimLayer
+                            != displayContent.mInputMethodWindow.mWinAnimator.mAnimLayer;
                 }
             }
 
@@ -5613,7 +5601,7 @@
 
             int focusChanged = mPolicy.focusChangedLw(oldFocus, newFocus);
 
-            if (imWindowChanged && oldFocus != mInputMethodWindow) {
+            if (imWindowChanged && oldFocus != displayContent.mInputMethodWindow) {
                 // Focus of the input method window changed. Perform layout if needed.
                 if (mode == UPDATE_FOCUS_PLACING_SURFACES) {
                     displayContent.performLayout(true /*initial*/,  updateInputWindows);
@@ -5687,11 +5675,6 @@
 
         mInputManagerCallback.freezeInputDispatchingLw();
 
-        // Clear the last input window -- that is just used for
-        // clean transitions between IMEs, and if we are freezing
-        // the screen then the whole world is changing behind the scenes.
-        mPolicy.setLastInputMethodWindowLw(null, null);
-
         if (mAppTransition.isTransitionSet()) {
             mAppTransition.freeze();
         }
@@ -6033,8 +6016,15 @@
         }
         synchronized (mWindowMap) {
             final Region r = new Region();
-            if (mInputMethodWindow != null) {
-                mInputMethodWindow.getTouchableRegion(r);
+            // TODO(b/111080190): this method is only return the recent focused IME touch region,
+            // For Multi-Session IME, will need to add API for given display Id to
+            // get the right IME touch region.
+            for (int i = mRoot.mChildren.size() - 1; i >= 0; --i) {
+                final DisplayContent displayContent = mRoot.mChildren.get(i);
+                if (displayContent.mInputMethodWindow != null) {
+                    displayContent.mInputMethodWindow.getTouchableRegion(r);
+                    return r;
+                }
             }
             return r;
         }
@@ -6217,8 +6207,9 @@
         if (mFocusedApp != null) {
             mFocusedApp.writeNameToProto(proto, FOCUSED_APP);
         }
-        if (mInputMethodWindow != null) {
-            mInputMethodWindow.writeIdentifierToProto(proto, INPUT_METHOD_WINDOW);
+        final WindowState imeWindow = mRoot.getCurrentInputMethodWindow();
+        if (imeWindow != null) {
+            imeWindow.writeIdentifierToProto(proto, INPUT_METHOD_WINDOW);
         }
         proto.write(DISPLAY_FROZEN, mDisplayFrozen);
         final DisplayContent defaultDisplayContent = getDefaultDisplayContentLocked();
@@ -6388,8 +6379,9 @@
                 pw.print("  mLastStatusBarVisibility=0x");
                         pw.println(Integer.toHexString(mLastStatusBarVisibility));
             }
-            if (mInputMethodWindow != null) {
-                pw.print("  mInputMethodWindow="); pw.println(mInputMethodWindow);
+            final WindowState imeWindow = mRoot.getCurrentInputMethodWindow();
+            if (imeWindow != null) {
+                pw.print("  mInputMethodWindow="); pw.println(imeWindow);
             }
             mWindowPlacerLocked.dump(pw, "  ");
             mRoot.mWallpaperController.dump(pw, "  ");
@@ -7287,31 +7279,14 @@
         }
 
         @Override
-        public int getInputMethodWindowVisibleHeight() {
+        public int getInputMethodWindowVisibleHeight(int displayId) {
             synchronized (mWindowMap) {
-                // TODO(multi-display): Have caller pass in the display they are interested in.
-                final DisplayContent dc = getDefaultDisplayContentLocked();
+                final DisplayContent dc = mRoot.getDisplayContent(displayId);
                 return dc.mDisplayFrames.getInputMethodWindowVisibleHeight();
             }
         }
 
         @Override
-        public void saveLastInputMethodWindowForTransition() {
-            synchronized (mWindowMap) {
-                if (mInputMethodWindow != null) {
-                    mPolicy.setLastInputMethodWindowLw(mInputMethodWindow, mInputMethodTarget);
-                }
-            }
-        }
-
-        @Override
-        public void clearLastInputMethodWindowForTransition() {
-            synchronized (mWindowMap) {
-                mPolicy.setLastInputMethodWindowLw(null, null);
-            }
-        }
-
-        @Override
         public void updateInputMethodWindowStatus(@NonNull IBinder imeToken,
                 boolean imeWindowVisible, boolean dismissImeOnBackKeyPressed) {
             mPolicy.setDismissImeOnBackKeyPressed(dismissImeOnBackKeyPressed);
@@ -7407,11 +7382,14 @@
         }
 
         @Override
-        public boolean inputMethodClientHasFocus(IInputMethodClient client) {
+        public boolean isInputMethodClientFocus(int uid, int pid) {
             synchronized (mWindowMap) {
-                // TODO: multi-display
-                if (getDefaultDisplayContentLocked().inputMethodClientHasFocus(client)) {
-                    return true;
+                // Check all displays if any input method window has focus.
+                for (int i = mRoot.mChildren.size() - 1; i >= 0; --i) {
+                    final DisplayContent displayContent = mRoot.mChildren.get(i);
+                    if (displayContent.isInputMethodClientFocus(uid, pid)) {
+                        return true;
+                    }
                 }
 
                 // Okay, how about this...  what is the current focus?
@@ -7422,13 +7400,37 @@
                 // press home.  Sometimes the IME won't go down.)
                 // Would be nice to fix this more correctly, but it's
                 // way at the end of a release, and this should be good enough.
-                if (mCurrentFocus != null && mCurrentFocus.mSession.mClient != null
-                        && mCurrentFocus.mSession.mClient.asBinder() == client.asBinder()) {
+                if (mCurrentFocus != null && mCurrentFocus.mSession.mUid == uid
+                        && mCurrentFocus.mSession.mPid == pid) {
                     return true;
                 }
             }
             return false;
         }
+
+        @Override
+        public int getDisplayIdForWindow(IBinder windowToken) {
+            synchronized (mWindowMap) {
+                final WindowState window = mWindowMap.get(windowToken);
+                if (window != null) {
+                    return window.getDisplayContent().getDisplayId();
+                }
+                return Display.INVALID_DISPLAY;
+            }
+        }
+
+        @Override
+        public void onProcessConfigurationChanged(int pid, Configuration newConfig) {
+            synchronized (mWindowMap) {
+                Configuration currentConfig = mProcessConfigurations.get(pid);
+                if (currentConfig == null) {
+                    currentConfig = new Configuration(newConfig);
+                } else {
+                    currentConfig.setTo(newConfig);
+                }
+                mProcessConfigurations.put(pid, currentConfig);
+            }
+        }
     }
 
     void registerAppFreezeListener(AppFreezeListener listener) {
diff --git a/services/core/java/com/android/server/wm/WindowManagerShellCommand.java b/services/core/java/com/android/server/wm/WindowManagerShellCommand.java
index 6e0ccfd..831418b 100644
--- a/services/core/java/com/android/server/wm/WindowManagerShellCommand.java
+++ b/services/core/java/com/android/server/wm/WindowManagerShellCommand.java
@@ -20,7 +20,6 @@
 
 import android.graphics.Point;
 import android.graphics.Rect;
-import android.os.ParcelFileDescriptor;
 import android.os.RemoteException;
 import android.os.ShellCommand;
 import android.os.UserHandle;
@@ -28,10 +27,6 @@
 import android.view.Display;
 import android.view.IWindowManager;
 
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
 import java.io.PrintWriter;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -87,21 +82,48 @@
         return -1;
     }
 
+    private int getDisplayId(String opt) {
+        int displayId = Display.DEFAULT_DISPLAY;
+        String option = "-d".equals(opt) ? opt : getNextOption();
+        if (option != null && "-d".equals(option)) {
+            try {
+                displayId = Integer.parseInt(getNextArgRequired());
+            } catch (NumberFormatException e) {
+                getErrPrintWriter().println("Error: bad number " + e);
+            } catch (IllegalArgumentException e) {
+                getErrPrintWriter().println("Error: " + e);
+            }
+        }
+        return displayId;
+    }
+
+    private void printInitialDisplaySize(PrintWriter pw , int displayId) {
+        final Point initialSize = new Point();
+        final Point baseSize = new Point();
+
+        try {
+            mInterface.getInitialDisplaySize(displayId, initialSize);
+            mInterface.getBaseDisplaySize(displayId, baseSize);
+            pw.println("Physical size: " + initialSize.x + "x" + initialSize.y);
+            if (!initialSize.equals(baseSize)) {
+                pw.println("Override size: " + baseSize.x + "x" + baseSize.y);
+            }
+        } catch (RemoteException e) {
+            // Can't call getInitialDisplaySize() on IWindowManager or
+            // Can't call getBaseDisplaySize() on IWindowManager
+            pw.println("Remote exception: " + e);
+        }
+    }
+
     private int runDisplaySize(PrintWriter pw) throws RemoteException {
         String size = getNextArg();
         int w, h;
+        final int displayId = getDisplayId(size);
         if (size == null) {
-            Point initialSize = new Point();
-            Point baseSize = new Point();
-            try {
-                mInterface.getInitialDisplaySize(Display.DEFAULT_DISPLAY, initialSize);
-                mInterface.getBaseDisplaySize(Display.DEFAULT_DISPLAY, baseSize);
-                pw.println("Physical size: " + initialSize.x + "x" + initialSize.y);
-                if (!initialSize.equals(baseSize)) {
-                    pw.println("Override size: " + baseSize.x + "x" + baseSize.y);
-                }
-            } catch (RemoteException e) {
-            }
+            printInitialDisplaySize(pw, displayId);
+            return 0;
+        } else if ("-d".equals(size)) {
+            printInitialDisplaySize(pw, displayId);
             return 0;
         } else if ("reset".equals(size)) {
             w = h = -1;
@@ -114,8 +136,8 @@
             String wstr = size.substring(0, div);
             String hstr = size.substring(div+1);
             try {
-                w = parseDimension(wstr);
-                h = parseDimension(hstr);
+                w = parseDimension(wstr, displayId);
+                h = parseDimension(hstr, displayId);
             } catch (NumberFormatException e) {
                 getErrPrintWriter().println("Error: bad number " + e);
                 return -1;
@@ -123,27 +145,38 @@
         }
 
         if (w >= 0 && h >= 0) {
-            // TODO(multidisplay): For now Configuration only applies to main screen.
-            mInterface.setForcedDisplaySize(Display.DEFAULT_DISPLAY, w, h);
+            mInterface.setForcedDisplaySize(displayId, w, h);
         } else {
-            mInterface.clearForcedDisplaySize(Display.DEFAULT_DISPLAY);
+            mInterface.clearForcedDisplaySize(displayId);
         }
         return 0;
     }
 
+    private void printInitialDisplayDensity(PrintWriter pw , int displayId) {
+        try {
+            final int initialDensity = mInterface.getInitialDisplayDensity(displayId);
+            final int baseDensity = mInterface.getBaseDisplayDensity(displayId);
+            pw.println("Physical density: " + initialDensity);
+            if (initialDensity != baseDensity) {
+                pw.println("Override density: " + baseDensity);
+            }
+        } catch (RemoteException e) {
+            // Can't call getInitialDisplayDensity() on IWindowManager or
+            // Can't call getBaseDisplayDensity() on IWindowManager
+            pw.println("Remote exception: " + e);
+        }
+    }
+
     private int runDisplayDensity(PrintWriter pw) throws RemoteException {
         String densityStr = getNextArg();
         int density;
+        final int displayId = getDisplayId(densityStr);
+
         if (densityStr == null) {
-            try {
-                int initialDensity = mInterface.getInitialDisplayDensity(Display.DEFAULT_DISPLAY);
-                int baseDensity = mInterface.getBaseDisplayDensity(Display.DEFAULT_DISPLAY);
-                pw.println("Physical density: " + initialDensity);
-                if (initialDensity != baseDensity) {
-                    pw.println("Override density: " + baseDensity);
-                }
-            } catch (RemoteException e) {
-            }
+            printInitialDisplayDensity(pw, displayId);
+            return 0;
+        } else if ("-d".equals(densityStr)) {
+            printInitialDisplayDensity(pw, displayId);
             return 0;
         } else if ("reset".equals(densityStr)) {
             density = -1;
@@ -161,11 +194,10 @@
         }
 
         if (density > 0) {
-            // TODO(multidisplay): For now Configuration only applies to main screen.
-            mInterface.setForcedDisplayDensityForUser(Display.DEFAULT_DISPLAY, density,
+            mInterface.setForcedDisplayDensityForUser(displayId, density,
                     UserHandle.USER_CURRENT);
         } else {
-            mInterface.clearForcedDisplayDensityForUser(Display.DEFAULT_DISPLAY,
+            mInterface.clearForcedDisplayDensityForUser(displayId,
                     UserHandle.USER_CURRENT);
         }
         return 0;
@@ -174,6 +206,7 @@
     private int runDisplayOverscan(PrintWriter pw) throws RemoteException {
         String overscanStr = getNextArgRequired();
         Rect rect = new Rect();
+        final int displayId = getDisplayId(overscanStr);
         if ("reset".equals(overscanStr)) {
             rect.set(0, 0, 0, 0);
         } else {
@@ -190,17 +223,16 @@
             rect.bottom = Integer.parseInt(matcher.group(4));
         }
 
-        mInterface.setOverscan(Display.DEFAULT_DISPLAY, rect.left, rect.top, rect.right,
-                rect.bottom);
+        mInterface.setOverscan(displayId, rect.left, rect.top, rect.right, rect.bottom);
         return 0;
     }
 
     private int runDisplayScaling(PrintWriter pw) throws RemoteException {
         String scalingStr = getNextArgRequired();
         if ("auto".equals(scalingStr)) {
-            mInterface.setForcedDisplayScalingMode(Display.DEFAULT_DISPLAY, 0);
+            mInterface.setForcedDisplayScalingMode(getDisplayId(scalingStr), 0);
         } else if ("off".equals(scalingStr)) {
-            mInterface.setForcedDisplayScalingMode(Display.DEFAULT_DISPLAY, 1);
+            mInterface.setForcedDisplayScalingMode(getDisplayId(scalingStr), 1);
         } else {
             getErrPrintWriter().println("Error: scaling must be 'auto' or 'off'");
             return -1;
@@ -213,14 +245,14 @@
         return 0;
     }
 
-    private int parseDimension(String s) throws NumberFormatException {
+    private int parseDimension(String s, int displayId) throws NumberFormatException {
         if (s.endsWith("px")) {
             return Integer.parseInt(s.substring(0, s.length() - 2));
         }
         if (s.endsWith("dp")) {
             int density;
             try {
-                density = mInterface.getBaseDisplayDensity(Display.DEFAULT_DISPLAY);
+                density = mInterface.getBaseDisplayDensity(displayId);
             } catch (RemoteException e) {
                 density = DisplayMetrics.DENSITY_DEFAULT;
             }
@@ -236,14 +268,14 @@
         pw.println("Window manager (window) commands:");
         pw.println("  help");
         pw.println("      Print this help text.");
-        pw.println("  size [reset|WxH|WdpxHdp]");
+        pw.println("  size [reset|WxH|WdpxHdp] [-d DISPLAY_ID]");
         pw.println("    Return or override display size.");
         pw.println("    width and height in pixels unless suffixed with 'dp'.");
-        pw.println("  density [reset|DENSITY]");
+        pw.println("  density [reset|DENSITY] [-d DISPLAY_ID]");
         pw.println("    Return or override display density.");
-        pw.println("  overscan [reset|LEFT,TOP,RIGHT,BOTTOM]");
+        pw.println("  overscan [reset|LEFT,TOP,RIGHT,BOTTOM] [-d DISPLAY ID]");
         pw.println("    Set overscan area for display.");
-        pw.println("  scaling [off|auto]");
+        pw.println("  scaling [off|auto] [-d DISPLAY_ID]");
         pw.println("    Set display scaling mode.");
         pw.println("  dismiss-keyguard");
         pw.println("    Dismiss the keyguard, prompting user for auth if necessary.");
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index 637c0ea..f7c6d77 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -304,6 +304,8 @@
      */
     private final MergedConfiguration mLastReportedConfiguration = new MergedConfiguration();
 
+    private final Configuration mTempConfiguration = new Configuration();
+
     /**
      * The last content insets returned to the client in relayout. We use
      * these in the bounds animation to ensure we only observe inset changes
@@ -359,8 +361,6 @@
      */
     private final Rect mInsetFrame = new Rect();
 
-    boolean mContentChanged;
-
     // If a window showing a wallpaper: the requested offset for the
     // wallpaper; if a wallpaper window: the currently applied offset.
     float mWallpaperX = -1;
@@ -593,14 +593,14 @@
 
         if (mForceSeamlesslyRotate || requested) {
             mPendingSeamlessRotate = new SeamlessRotator(oldRotation, rotation, getDisplayInfo());
-            mPendingSeamlessRotate.unrotate(transaction, this.mToken);
+            mPendingSeamlessRotate.unrotate(transaction, this);
             mService.markForSeamlessRotation(this, true);
         }
     }
 
     void finishSeamlessRotation() {
         if (mPendingSeamlessRotate != null) {
-            mPendingSeamlessRotate.finish(this.mToken, this);
+            mPendingSeamlessRotate.finish(this);
             mFinishSeamlessRotateFrameNumber = getFrameNumber();
             mPendingSeamlessRotate = null;
             mService.markForSeamlessRotation(this, false);
@@ -787,7 +787,7 @@
     }
 
     @Override
-    public void computeFrameLw(WindowFrames windowFrames) {
+    public void computeFrameLw() {
         if (mWillReplaceWindow && (mAnimatingExit || !mReplacingRemoveRequested)) {
             // This window is being replaced and either already got information that it's being
             // removed or we are still waiting for some information. Because of this we don't
@@ -796,8 +796,6 @@
             return;
         }
         mHaveFrame = true;
-        mWindowFrames.setParentFrameWasClippedByDisplayCutout(
-                windowFrames.parentFrameWasClippedByDisplayCutout());
 
         final Task task = getTask();
         final boolean inFullscreenContainer = inFullscreenContainer();
@@ -827,10 +825,9 @@
         final int layoutYDiff;
         if (inFullscreenContainer || layoutInParentFrame()) {
             // We use the parent frame as the containing frame for fullscreen and child windows
-            mWindowFrames.mContainingFrame.set(windowFrames.mParentFrame);
-            mWindowFrames.mDisplayFrame.set(windowFrames.mDisplayFrame);
-            layoutDisplayFrame = windowFrames.mDisplayFrame;
-            layoutContainingFrame = windowFrames.mParentFrame;
+            mWindowFrames.mContainingFrame.set(mWindowFrames.mParentFrame);
+            layoutDisplayFrame = mWindowFrames.mDisplayFrame;
+            layoutContainingFrame = mWindowFrames.mParentFrame;
             layoutXDiff = 0;
             layoutYDiff = 0;
         } else {
@@ -845,21 +842,21 @@
                 mWindowFrames.mContainingFrame.bottom =
                         mWindowFrames.mContainingFrame.top + frozen.height();
             }
-            final WindowState imeWin = mService.mInputMethodWindow;
+            final WindowState imeWin = mService.mRoot.getCurrentInputMethodWindow();
             // IME is up and obscuring this window. Adjust the window position so it is visible.
             if (imeWin != null && imeWin.isVisibleNow() && isInputMethodTarget()) {
                 if (inFreeformWindowingMode() && mWindowFrames.mContainingFrame.bottom
-                        > windowFrames.mContentFrame.bottom) {
+                        > mWindowFrames.mContentFrame.bottom) {
                     // In freeform we want to move the top up directly.
                     // TODO: Investigate why this is contentFrame not parentFrame.
                     mWindowFrames.mContainingFrame.top -= mWindowFrames.mContainingFrame.bottom
-                            - windowFrames.mContentFrame.bottom;
+                            - mWindowFrames.mContentFrame.bottom;
                 } else if (!inPinnedWindowingMode() && mWindowFrames.mContainingFrame.bottom
-                        > windowFrames.mParentFrame.bottom) {
+                        > mWindowFrames.mParentFrame.bottom) {
                     // But in docked we want to behave like fullscreen and behave as if the task
                     // were given smaller bounds for the purposes of layout. Skip adjustments for
                     // the pinned stack, they are handled separately in the PinnedStackController.
-                    mWindowFrames.mContainingFrame.bottom = windowFrames.mParentFrame.bottom;
+                    mWindowFrames.mContainingFrame.bottom = mWindowFrames.mParentFrame.bottom;
                 }
             }
 
@@ -868,7 +865,7 @@
                 // if it wasn't set already. No need to intersect it with the (visible)
                 // "content frame" since it is allowed to be outside the visible desktop.
                 if (mWindowFrames.mContainingFrame.isEmpty()) {
-                    mWindowFrames.mContainingFrame.set(windowFrames.mContentFrame);
+                    mWindowFrames.mContainingFrame.set(mWindowFrames.mContentFrame);
                 }
             }
 
@@ -878,10 +875,11 @@
                 // PIP edge case: When going from pinned to fullscreen, we apply a
                 // tempInsetFrame for the full task - but we're still at the start of the animation.
                 // To prevent a jump if there's a letterbox, restrict to the parent frame.
-                mInsetFrame.intersectUnchecked(windowFrames.mParentFrame);
-                mWindowFrames.mContainingFrame.intersectUnchecked(windowFrames.mParentFrame);
+                mInsetFrame.intersectUnchecked(mWindowFrames.mParentFrame);
+                mWindowFrames.mContainingFrame.intersectUnchecked(mWindowFrames.mParentFrame);
             }
 
+            layoutDisplayFrame = new Rect(mWindowFrames.mDisplayFrame);
             mWindowFrames.mDisplayFrame.set(mWindowFrames.mContainingFrame);
             layoutXDiff =
                     !mInsetFrame.isEmpty() ? mInsetFrame.left - mWindowFrames.mContainingFrame.left
@@ -892,41 +890,24 @@
             layoutContainingFrame =
                     !mInsetFrame.isEmpty() ? mInsetFrame : mWindowFrames.mContainingFrame;
             mTmpRect.set(0, 0, dc.getDisplayInfo().logicalWidth, dc.getDisplayInfo().logicalHeight);
-            subtractInsets(mWindowFrames.mDisplayFrame, layoutContainingFrame,
-                    windowFrames.mDisplayFrame, mTmpRect);
+            subtractInsets(mWindowFrames.mDisplayFrame, layoutContainingFrame, layoutDisplayFrame,
+                    mTmpRect);
             if (!layoutInParentFrame()) {
                 subtractInsets(mWindowFrames.mContainingFrame, layoutContainingFrame,
-                        windowFrames.mParentFrame, mTmpRect);
-                subtractInsets(mInsetFrame, layoutContainingFrame, windowFrames.mParentFrame,
+                        mWindowFrames.mParentFrame, mTmpRect);
+                subtractInsets(mInsetFrame, layoutContainingFrame, mWindowFrames.mParentFrame,
                         mTmpRect);
             }
-            layoutDisplayFrame = windowFrames.mDisplayFrame;
             layoutDisplayFrame.intersect(layoutContainingFrame);
         }
 
         final int pw = mWindowFrames.mContainingFrame.width();
         final int ph = mWindowFrames.mContainingFrame.height();
 
-        if (!mWindowFrames.mParentFrame.equals(windowFrames.mParentFrame)) {
-            //Slog.i(TAG_WM, "Window " + this + " content frame from " + mParentFrame
-            //        + " to " + parentFrame);
-            mWindowFrames.mParentFrame.set(windowFrames.mParentFrame);
-            mContentChanged = true;
-        }
         if (mRequestedWidth != mLastRequestedWidth || mRequestedHeight != mLastRequestedHeight) {
             mLastRequestedWidth = mRequestedWidth;
             mLastRequestedHeight = mRequestedHeight;
-            mContentChanged = true;
-        }
-
-        mWindowFrames.mOverscanFrame.set(windowFrames.mOverscanFrame);
-        mWindowFrames.mContentFrame.set(windowFrames.mContentFrame);
-        mWindowFrames.mVisibleFrame.set(windowFrames.mVisibleFrame);
-        mWindowFrames.mDecorFrame.set(windowFrames.mDecorFrame);
-        mWindowFrames.mStableFrame.set(windowFrames.mStableFrame);
-        final boolean hasOutsets = !windowFrames.mOutsetFrame.isEmpty();
-        if (hasOutsets) {
-            mWindowFrames.mOutsetFrame.set(windowFrames.mOutsetFrame);
+            mWindowFrames.setContentChanged(true);
         }
 
         final int fw = mWindowFrames.mFrame.width();
@@ -935,7 +916,7 @@
         applyGravityAndUpdateFrame(layoutContainingFrame, layoutDisplayFrame);
 
         // Calculate the outsets before the content frame gets shrinked to the window frame.
-        mWindowFrames.calculateOutsets(hasOutsets);
+        mWindowFrames.calculateOutsets();
 
         // Make sure the content and visible frames are inside of the
         // final window frame.
@@ -997,7 +978,7 @@
         }
 
         if (mAttrs.type == TYPE_DOCK_DIVIDER) {
-            final WmDisplayCutout c = windowFrames.mDisplayCutout.calculateRelativeTo(
+            final WmDisplayCutout c = mWindowFrames.mDisplayCutout.calculateRelativeTo(
                     mWindowFrames.mDisplayFrame);
             mWindowFrames.calculateDockedDividerInsets(c.getDisplayCutout().getSafeInsets());
         } else {
@@ -1006,7 +987,7 @@
         }
 
         mWindowFrames.setDisplayCutout(
-                windowFrames.mDisplayCutout.calculateRelativeTo(mWindowFrames.mFrame));
+                mWindowFrames.mDisplayCutout.calculateRelativeTo(mWindowFrames.mFrame));
 
         // Offset the actual frame by the amount layout frame is off.
         mWindowFrames.offsetFrames(-layoutXDiff, -layoutYDiff);
@@ -1280,6 +1261,7 @@
 
     @Override
     void onDisplayChanged(DisplayContent dc) {
+        updateSurfaceSize(dc);
         super.onDisplayChanged(dc);
         // Window was not laid out for this display yet, so make sure mLayoutSeq does not match.
         if (dc != null) {
@@ -1733,7 +1715,7 @@
      * sense to call from performLayoutAndPlaceSurfacesLockedInner().)
      */
     private boolean hasMoved() {
-        return mHasSurface && (mContentChanged || mMovedByResize)
+        return mHasSurface && (mWindowFrames.hasContentChanged() || mMovedByResize)
                 && !mAnimatingExit
                 && (mWindowFrames.mFrame.top != mWindowFrames.mLastFrame.top
                     || mWindowFrames.mFrame.left != mWindowFrames.mLastFrame.left)
@@ -2270,8 +2252,17 @@
         }
     }
 
+    private Configuration getProcessGlobalConfiguration() {
+        // For child windows we want to use the pid for the parent window in case the the child
+        // window was added from another process.
+        final int pid = isChildWindow() ? getParentWindow().mSession.mPid : mSession.mPid;
+        mTempConfiguration.setTo(mService.mProcessConfigurations.get(
+                pid, mService.mRoot.getConfiguration()));
+        return mTempConfiguration;
+    }
+
     void getMergedConfiguration(MergedConfiguration outConfiguration) {
-        final Configuration globalConfig = mService.mRoot.getConfiguration();
+        final Configuration globalConfig = getProcessGlobalConfiguration();
         final Configuration overrideConfig = getMergedOverrideConfiguration();
         outConfiguration.setConfiguration(globalConfig, overrideConfig);
     }
@@ -2874,7 +2865,11 @@
             return mAppToken.mFrozenMergedConfig.peek();
         }
 
-        return super.getConfiguration();
+        // We use the process config this window is associated with as the based global config since
+        // the process can override it config, but isn't part of the window hierarchy.
+        final Configuration config = getProcessGlobalConfiguration();
+        config.updateFrom(getMergedOverrideConfiguration());
+        return config;
     }
 
     void reportResized() {
@@ -3734,6 +3729,8 @@
         windowInfo.focused = isFocused();
         Task task = getTask();
         windowInfo.inPictureInPicture = (task != null) && task.inPinnedWindowingMode();
+        windowInfo.hasFlagWatchOutsideTouch =
+                (mAttrs.flags & WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH) != 0;
 
         if (mIsChildWindow) {
             windowInfo.parentToken = getParentWindow().mClient.asBinder();
@@ -4538,7 +4535,8 @@
         updateSurfacePosition(getPendingTransaction());
     }
 
-    private void updateSurfacePosition(Transaction t) {
+    @VisibleForTesting
+    void updateSurfacePosition(Transaction t) {
         if (mSurfaceControl == null) {
             return;
         }
@@ -4760,6 +4758,15 @@
         return mWindowFrames.mVisibleInsets;
     }
 
+    @Override
+    public WindowFrames getWindowFrames() {
+        return mWindowFrames;
+    }
+
+    void resetContentChanged() {
+        mWindowFrames.setContentChanged(false);
+    }
+
     private final class MoveAnimationSpec implements AnimationSpec {
 
         private final long mDuration;
diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java
index fec8039..979149a 100644
--- a/services/core/java/com/android/server/wm/WindowStateAnimator.java
+++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java
@@ -1176,15 +1176,17 @@
                         if (mIsWallpaper) {
                             w.dispatchWallpaperVisibility(true);
                         }
-                        // This draw means the difference between unique content and mirroring.
-                        // Run another pass through performLayout to set mHasContent in the
-                        // LogicalDisplay.
-                        mAnimator.setPendingLayoutChanges(w.getDisplayId(),
-                                FINISH_LAYOUT_REDO_ANIM);
-                        if (DEBUG_LAYOUT_REPEATS) {
-                            mService.mWindowPlacerLocked.debugLayoutRepeats(
-                                    "showSurfaceRobustlyLocked " + w,
-                                    mAnimator.getPendingLayoutChanges(w.getDisplayId()));
+                        if (!w.getDisplayContent().getLastHasContent()) {
+                            // This draw means the difference between unique content and mirroring.
+                            // Run another pass through performLayout to set mHasContent in the
+                            // LogicalDisplay.
+                            mAnimator.setPendingLayoutChanges(w.getDisplayId(),
+                                    FINISH_LAYOUT_REDO_ANIM);
+                            if (DEBUG_LAYOUT_REPEATS) {                        
+                                mService.mWindowPlacerLocked.debugLayoutRepeats(
+                                        "showSurfaceRobustlyLocked " + w,
+                                        mAnimator.getPendingLayoutChanges(w.getDisplayId()));
+                            }
                         }
                     } else {
                         w.setOrientationChanging(false);
diff --git a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
index d6f9ac3..c8d1a8b 100644
--- a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
+++ b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
@@ -92,9 +92,8 @@
 
     static final int SET_UPDATE_ROTATION                = 1 << 0;
     static final int SET_WALLPAPER_MAY_CHANGE           = 1 << 1;
-    static final int SET_FORCE_HIDING_CHANGED           = 1 << 2;
-    static final int SET_ORIENTATION_CHANGE_COMPLETE    = 1 << 3;
-    static final int SET_WALLPAPER_ACTION_PENDING       = 1 << 4;
+    static final int SET_ORIENTATION_CHANGE_COMPLETE    = 1 << 2;
+    static final int SET_WALLPAPER_ACTION_PENDING       = 1 << 3;
 
     private boolean mTraversalScheduled;
     private int mDeferDepth = 0;
diff --git a/services/core/java/com/android/server/wm/WindowToken.java b/services/core/java/com/android/server/wm/WindowToken.java
index e411c0a..8972c38 100644
--- a/services/core/java/com/android/server/wm/WindowToken.java
+++ b/services/core/java/com/android/server/wm/WindowToken.java
@@ -18,6 +18,7 @@
 
 import static android.view.WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER;
 import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR;
+
 import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ADD_REMOVE;
 import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_FOCUS;
 import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_WINDOW_MOVEMENT;
@@ -275,6 +276,7 @@
         // to another display before the window behind
         // it is ready.
 
+        updateSurfaceSize(dc);
         super.onDisplayChanged(dc);
     }
 
diff --git a/services/core/jni/Android.bp b/services/core/jni/Android.bp
index becde73..157b634 100644
--- a/services/core/jni/Android.bp
+++ b/services/core/jni/Android.bp
@@ -37,6 +37,7 @@
         "com_android_server_locksettings_SyntheticPasswordManager.cpp",
         "com_android_server_net_NetworkStatsService.cpp",
         "com_android_server_power_PowerManagerService.cpp",
+        "com_android_server_security_VerityUtils.cpp",
         "com_android_server_SerialService.cpp",
         "com_android_server_storage_AppFuseBridge.cpp",
         "com_android_server_SystemServer.cpp",
@@ -89,7 +90,6 @@
         "libsensorservicehidl",
         "libgui",
         "libusbhost",
-        "libsuspend",
         "libtinyalsa",
         "libEGL",
         "libGLESv2",
@@ -121,6 +121,7 @@
         "android.hardware.vr@1.0",
         "android.frameworks.schedulerservice@1.0",
         "android.frameworks.sensorservice@1.0",
+        "android.system.suspend@1.0",
     ],
 
     static_libs: [
diff --git a/services/core/jni/com_android_server_am_BatteryStatsService.cpp b/services/core/jni/com_android_server_am_BatteryStatsService.cpp
index 02ad6c7..0ff60e4 100644
--- a/services/core/jni/com_android_server_am_BatteryStatsService.cpp
+++ b/services/core/jni/com_android_server_am_BatteryStatsService.cpp
@@ -30,6 +30,8 @@
 
 #include <android/hardware/power/1.0/IPower.h>
 #include <android/hardware/power/1.1/IPower.h>
+#include <android/system/suspend/1.0/ISystemSuspend.h>
+#include <android/system/suspend/1.0/ISystemSuspendCallback.h>
 #include <android_runtime/AndroidRuntime.h>
 #include <jni.h>
 
@@ -39,7 +41,6 @@
 #include <log/log.h>
 #include <utils/misc.h>
 #include <utils/Log.h>
-#include <suspend/autosuspend.h>
 
 using android::hardware::Return;
 using android::hardware::Void;
@@ -49,6 +50,8 @@
 using android::hardware::power::V1_1::PowerStateSubsystem;
 using android::hardware::power::V1_1::PowerStateSubsystemSleepState;
 using android::hardware::hidl_vec;
+using android::system::suspend::V1_0::ISystemSuspend;
+using android::system::suspend::V1_0::ISystemSuspendCallback;
 using IPowerV1_1 = android::hardware::power::V1_1::IPower;
 using IPowerV1_0 = android::hardware::power::V1_0::IPower;
 
@@ -63,6 +66,7 @@
 extern sp<IPowerV1_0> getPowerHalV1_0();
 extern sp<IPowerV1_1> getPowerHalV1_1();
 extern bool processPowerHalReturn(const Return<void> &ret, const char* functionName);
+extern sp<ISystemSuspend> getSuspendHal();
 
 // Java methods used in getLowPowerStats
 static jmethodID jgetAndUpdatePlatformState = NULL;
@@ -70,16 +74,19 @@
 static jmethodID jputVoter = NULL;
 static jmethodID jputState = NULL;
 
-static void wakeup_callback(bool success)
-{
-    ALOGV("In wakeup_callback: %s", success ? "resumed from suspend" : "suspend aborted");
-    int ret = sem_post(&wakeup_sem);
-    if (ret < 0) {
-        char buf[80];
-        strerror_r(errno, buf, sizeof(buf));
-        ALOGE("Error posting wakeup sem: %s\n", buf);
+class WakeupCallback : public ISystemSuspendCallback {
+public:
+    Return<void> notifyWakeup(bool success) override {
+        ALOGV("In wakeup_callback: %s", success ? "resumed from suspend" : "suspend aborted");
+        int ret = sem_post(&wakeup_sem);
+        if (ret < 0) {
+            char buf[80];
+            strerror_r(errno, buf, sizeof(buf));
+            ALOGE("Error posting wakeup sem: %s\n", buf);
+        }
+        return Void();
     }
-}
+};
 
 static jint nativeWaitWakeup(JNIEnv *env, jobject clazz, jobject outBuf)
 {
@@ -101,11 +108,14 @@
             return -1;
         }
         ALOGV("Registering callback...");
-        autosuspend_set_wakeup_callback(&wakeup_callback);
+        sp<ISystemSuspend> suspendHal = getSuspendHal();
+        suspendHal->registerCallback(new WakeupCallback());
     }
 
     // Wait for wakeup.
     ALOGV("Waiting for wakeup...");
+    // TODO(b/116747600): device can suspend and wakeup after sem_wait() finishes and before wakeup
+    // reason is recorded, i.e. BatteryStats might occasionally miss wakeup events.
     int ret = sem_wait(&wakeup_sem);
     if (ret < 0) {
         char buf[80];
diff --git a/services/core/jni/com_android_server_power_PowerManagerService.cpp b/services/core/jni/com_android_server_power_PowerManagerService.cpp
index b2d35d4..0c9b5f4 100644
--- a/services/core/jni/com_android_server_power_PowerManagerService.cpp
+++ b/services/core/jni/com_android_server_power_PowerManagerService.cpp
@@ -19,6 +19,7 @@
 //#define LOG_NDEBUG 0
 
 #include <android/hardware/power/1.1/IPower.h>
+#include <android/system/suspend/1.0/ISystemSuspend.h>
 #include <nativehelper/JNIHelp.h>
 #include "jni.h"
 
@@ -35,7 +36,7 @@
 #include <utils/Log.h>
 #include <hardware/power.h>
 #include <hardware_legacy/power.h>
-#include <suspend/autosuspend.h>
+#include <hidl/ServiceManagement.h>
 
 #include "com_android_server_power_PowerManagerService.h"
 
@@ -44,6 +45,9 @@
 using android::hardware::power::V1_0::PowerHint;
 using android::hardware::power::V1_0::Feature;
 using android::String8;
+using android::system::suspend::V1_0::ISystemSuspend;
+using android::system::suspend::V1_0::IWakeLock;
+using android::system::suspend::V1_0::WakeLockType;
 using IPowerV1_1 = android::hardware::power::V1_1::IPower;
 using IPowerV1_0 = android::hardware::power::V1_0::IPower;
 
@@ -171,6 +175,46 @@
     }
 }
 
+static sp<ISystemSuspend> gSuspendHal = nullptr;
+static sp<IWakeLock> gSuspendBlocker = nullptr;
+static std::mutex gSuspendMutex;
+
+// Assume SystemSuspend HAL is always alive.
+// TODO: Force device to restart if SystemSuspend HAL dies.
+sp<ISystemSuspend> getSuspendHal() {
+    static std::once_flag suspendHalFlag;
+    std::call_once(suspendHalFlag, [](){
+        ::android::hardware::details::waitForHwService(ISystemSuspend::descriptor, "default");
+        gSuspendHal = ISystemSuspend::getService();
+        assert(gSuspendHal != nullptr);
+    });
+    return gSuspendHal;
+}
+
+void enableAutoSuspend() {
+    static bool enabled = false;
+
+    std::lock_guard<std::mutex> lock(gSuspendMutex);
+    if (!enabled) {
+        sp<ISystemSuspend> suspendHal = getSuspendHal();
+        suspendHal->enableAutosuspend();
+        enabled = true;
+    }
+    if (gSuspendBlocker) {
+        gSuspendBlocker->release();
+        gSuspendBlocker.clear();
+    }
+}
+
+void disableAutoSuspend() {
+    std::lock_guard<std::mutex> lock(gSuspendMutex);
+    if (!gSuspendBlocker) {
+        sp<ISystemSuspend> suspendHal = getSuspendHal();
+        gSuspendBlocker = suspendHal->acquireWakeLock(WakeLockType::PARTIAL,
+                "PowerManager.SuspendLockout");
+    }
+}
+
 // ----------------------------------------------------------------------------
 
 static void nativeInit(JNIEnv* env, jobject obj) {
@@ -207,13 +251,13 @@
 static void nativeSetAutoSuspend(JNIEnv* /* env */, jclass /* clazz */, jboolean enable) {
     if (enable) {
         android::base::Timer t;
-        autosuspend_enable();
+        enableAutoSuspend();
         if (t.duration() > 100ms) {
             ALOGD("Excessive delay in autosuspend_enable() while turning screen off");
         }
     } else {
         android::base::Timer t;
-        autosuspend_disable();
+        disableAutoSuspend();
         if (t.duration() > 100ms) {
             ALOGD("Excessive delay in autosuspend_disable() while turning screen on");
         }
diff --git a/services/core/jni/com_android_server_security_VerityUtils.cpp b/services/core/jni/com_android_server_security_VerityUtils.cpp
new file mode 100644
index 0000000..d0f173b
--- /dev/null
+++ b/services/core/jni/com_android_server_security_VerityUtils.cpp
@@ -0,0 +1,137 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+#define LOG_TAG "VerityUtils"
+
+#include <nativehelper/JNIHelp.h>
+#include "jni.h"
+#include <utils/Log.h>
+
+#include <string.h>
+
+// TODO(112037636): Always include once fsverity.h is upstreamed and backported.
+#define HAS_FSVERITY 0
+
+#if HAS_FSVERITY
+#include <linux/fsverity.h>
+#endif
+
+namespace android {
+
+namespace {
+
+class JavaByteArrayHolder {
+  public:
+    static JavaByteArrayHolder* newArray(JNIEnv* env, jsize size) {
+        return new JavaByteArrayHolder(env, size);
+    }
+
+    jbyte* getRaw() {
+        return mElements;
+    }
+
+    jbyteArray release() {
+        mEnv->ReleaseByteArrayElements(mBytes, mElements, 0);
+        mElements = nullptr;
+        return mBytes;
+    }
+
+  private:
+    JavaByteArrayHolder(JNIEnv* env, jsize size) {
+        mEnv = env;
+        mBytes = mEnv->NewByteArray(size);
+        mElements = mEnv->GetByteArrayElements(mBytes, nullptr);
+        memset(mElements, 0, size);
+    }
+
+    virtual ~JavaByteArrayHolder() {
+        LOG_ALWAYS_FATAL_IF(mElements == nullptr, "Elements are not released");
+    }
+
+    JNIEnv* mEnv;
+    jbyteArray mBytes;
+    jbyte* mElements;
+};
+
+jbyteArray constructFsverityDescriptor(JNIEnv* env, jobject /* clazz */, jlong fileSize) {
+#if HAS_FSVERITY
+    auto raii = JavaByteArrayHolder::newArray(env, sizeof(fsverity_descriptor));
+    fsverity_descriptor* desc = reinterpret_cast<fsverity_descriptor*>(raii->getRaw());
+
+    memcpy(desc->magic, FS_VERITY_MAGIC, sizeof(desc->magic));
+    desc->major_version = 1;
+    desc->minor_version = 0;
+    desc->log_data_blocksize = 12;
+    desc->log_tree_blocksize = 12;
+    desc->data_algorithm = FS_VERITY_ALG_SHA256;
+    desc->tree_algorithm = FS_VERITY_ALG_SHA256;
+    desc->flags = 0;
+    desc->orig_file_size = fileSize;
+    desc->auth_ext_count = 1;
+
+    return raii->release();
+#else
+    LOG_ALWAYS_FATAL("fs-verity is used while not enabled");
+    return 0;
+#endif  // HAS_FSVERITY
+}
+
+jbyteArray constructFsverityExtension(JNIEnv* env, jobject /* clazz */, jshort extensionId,
+        jint extensionDataSize) {
+#if HAS_FSVERITY
+    auto raii = JavaByteArrayHolder::newArray(env, sizeof(fsverity_extension));
+    fsverity_extension* ext = reinterpret_cast<fsverity_extension*>(raii->getRaw());
+
+    ext->length = sizeof(fsverity_extension) + extensionDataSize;
+    ext->type = extensionId;
+
+    return raii->release();
+#else
+    LOG_ALWAYS_FATAL("fs-verity is used while not enabled");
+    return 0;
+#endif  // HAS_FSVERITY
+}
+
+jbyteArray constructFsverityFooter(JNIEnv* env, jobject /* clazz */,
+        jint offsetToDescriptorHead) {
+#if HAS_FSVERITY
+    auto raii = JavaByteArrayHolder::newArray(env, sizeof(fsverity_footer));
+    fsverity_footer* footer = reinterpret_cast<fsverity_footer*>(raii->getRaw());
+
+    footer->desc_reverse_offset = offsetToDescriptorHead + sizeof(fsverity_footer);
+    memcpy(footer->magic, FS_VERITY_MAGIC, sizeof(footer->magic));
+
+    return raii->release();
+#else
+    LOG_ALWAYS_FATAL("fs-verity is used while not enabled");
+    return 0;
+#endif  // HAS_FSVERITY
+}
+
+const JNINativeMethod sMethods[] = {
+    { "constructFsverityDescriptorNative", "(J)[B", (void *)constructFsverityDescriptor },
+    { "constructFsverityExtensionNative", "(SI)[B", (void *)constructFsverityExtension },
+    { "constructFsverityFooterNative", "(I)[B", (void *)constructFsverityFooter },
+};
+
+}  // namespace
+
+int register_android_server_security_VerityUtils(JNIEnv* env) {
+    return jniRegisterNativeMethods(env,
+            "com/android/server/security/VerityUtils", sMethods, NELEM(sMethods));
+}
+
+}  // namespace android
diff --git a/services/core/jni/com_android_server_tv_TvInputHal.cpp b/services/core/jni/com_android_server_tv_TvInputHal.cpp
index 93c4829..6c2a894 100644
--- a/services/core/jni/com_android_server_tv_TvInputHal.cpp
+++ b/services/core/jni/com_android_server_tv_TvInputHal.cpp
@@ -390,7 +390,11 @@
                 [&result, &sidebandStream](Result res, const native_handle_t* handle) {
                     result = res;
                     if (res == Result::OK) {
-                        sidebandStream = handle;
+                        if (handle) {
+                            sidebandStream = native_handle_clone(handle);
+                        } else {
+                            result = Result::UNKNOWN;
+                        }
                     }
                 });
         if (result != Result::OK) {
@@ -398,7 +402,7 @@
                     result);
             return UNKNOWN_ERROR;
         }
-        connection.mSourceHandle = NativeHandle::create((native_handle_t*)sidebandStream, false);
+        connection.mSourceHandle = NativeHandle::create((native_handle_t*)sidebandStream, true);
     }
     connection.mSurface = surface;
     if (connection.mSurface != nullptr) {
diff --git a/services/core/jni/onload.cpp b/services/core/jni/onload.cpp
index bb6e684..918f57e 100644
--- a/services/core/jni/onload.cpp
+++ b/services/core/jni/onload.cpp
@@ -54,6 +54,7 @@
 int register_android_server_GraphicsStatsService(JNIEnv* env);
 int register_android_hardware_display_DisplayViewport(JNIEnv* env);
 int register_android_server_net_NetworkStatsService(JNIEnv* env);
+int register_android_server_security_VerityUtils(JNIEnv* env);
 };
 
 using namespace android;
@@ -101,5 +102,6 @@
     register_android_server_GraphicsStatsService(env);
     register_android_hardware_display_DisplayViewport(env);
     register_android_server_net_NetworkStatsService(env);
+    register_android_server_security_VerityUtils(env);
     return JNI_VERSION_1_4;
 }
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index 1dd802f..eeb4ad3 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -114,7 +114,6 @@
 import android.app.admin.SystemUpdateInfo;
 import android.app.admin.SystemUpdatePolicy;
 import android.app.backup.IBackupManager;
-import android.app.backup.ISelectBackupTransportCallback;
 import android.app.trust.TrustManager;
 import android.app.usage.UsageStatsManagerInternal;
 import android.content.BroadcastReceiver;
@@ -262,7 +261,6 @@
 import java.util.Map.Entry;
 import java.util.Objects;
 import java.util.Set;
-import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.function.Function;
@@ -895,7 +893,6 @@
         private static final String ATTR_LAST_NETWORK_LOGGING_NOTIFICATION = "last-notification";
         private static final String ATTR_NUM_NETWORK_LOGGING_NOTIFICATIONS = "num-notifications";
         private static final String TAG_IS_LOGOUT_ENABLED = "is_logout_enabled";
-        private static final String TAG_MANDATORY_BACKUP_TRANSPORT = "mandatory_backup_transport";
         private static final String TAG_START_USER_SESSION_MESSAGE = "start_user_session_message";
         private static final String TAG_END_USER_SESSION_MESSAGE = "end_user_session_message";
         private static final String TAG_METERED_DATA_DISABLED_PACKAGES
@@ -1016,10 +1013,6 @@
         // Default title of confirm credentials screen
         String organizationName = null;
 
-        // The component name of the backup transport which has to be used if backups are mandatory
-        // or null if backups are not mandatory.
-        ComponentName mandatoryBackupTransport = null;
-
         // Message for user switcher
         String startUserSessionMessage = null;
         String endUserSessionMessage = null;
@@ -1283,11 +1276,6 @@
                 out.attribute(null, ATTR_VALUE, Boolean.toString(isLogoutEnabled));
                 out.endTag(null, TAG_IS_LOGOUT_ENABLED);
             }
-            if (mandatoryBackupTransport != null) {
-                out.startTag(null, TAG_MANDATORY_BACKUP_TRANSPORT);
-                out.attribute(null, ATTR_VALUE, mandatoryBackupTransport.flattenToString());
-                out.endTag(null, TAG_MANDATORY_BACKUP_TRANSPORT);
-            }
             if (startUserSessionMessage != null) {
                 out.startTag(null, TAG_START_USER_SESSION_MESSAGE);
                 out.text(startUserSessionMessage);
@@ -1476,9 +1464,6 @@
                 } else if (TAG_IS_LOGOUT_ENABLED.equals(tag)) {
                     isLogoutEnabled = Boolean.parseBoolean(
                             parser.getAttributeValue(null, ATTR_VALUE));
-                } else if (TAG_MANDATORY_BACKUP_TRANSPORT.equals(tag)) {
-                    mandatoryBackupTransport = ComponentName.unflattenFromString(
-                            parser.getAttributeValue(null, ATTR_VALUE));
                 } else if (TAG_START_USER_SESSION_MESSAGE.equals(tag)) {
                     type = parser.next();
                     if (type == XmlPullParser.TEXT) {
@@ -2603,12 +2588,32 @@
 
     ActiveAdmin getActiveAdminForCallerLocked(ComponentName who, int reqPolicy)
             throws SecurityException {
+        return getActiveAdminOrCheckPermissionForCallerLocked(who,
+                reqPolicy, /* permission= */ null);
+    }
+
+    /**
+     * Finds an active admin for the caller then checks {@code permission} if admin check failed.
+     *
+     * @return an active admin or {@code null} if there is no active admin but
+     * {@code permission} is granted
+     * @throws SecurityException if caller neither has an active admin nor {@code permission}
+     */
+    @Nullable
+    ActiveAdmin getActiveAdminOrCheckPermissionForCallerLocked(
+            ComponentName who,
+            int reqPolicy,
+            @Nullable String permission) throws SecurityException {
         ensureLocked();
         final int callingUid = mInjector.binderGetCallingUid();
 
         ActiveAdmin result = getActiveAdminWithPolicyForUidLocked(who, reqPolicy, callingUid);
         if (result != null) {
             return result;
+        } else if (permission != null
+                && (mContext.checkCallingPermission(permission)
+                        == PackageManager.PERMISSION_GRANTED)) {
+            return null;
         }
 
         if (who != null) {
@@ -2620,7 +2625,7 @@
 
             if (reqPolicy == DeviceAdminInfo.USES_POLICY_DEVICE_OWNER) {
                 throw new SecurityException("Admin " + admin.info.getComponent()
-                         + " does not own the device");
+                        + " does not own the device");
             }
             if (reqPolicy == DeviceAdminInfo.USES_POLICY_PROFILE_OWNER) {
                 throw new SecurityException("Admin " + admin.info.getComponent()
@@ -2636,20 +2641,39 @@
                     + admin.info.getTagForPolicy(reqPolicy));
         } else {
             throw new SecurityException("No active admin owned by uid "
-                    + mInjector.binderGetCallingUid() + " for policy #" + reqPolicy);
+                    + callingUid + " for policy #" + reqPolicy);
         }
     }
 
     ActiveAdmin getActiveAdminForCallerLocked(ComponentName who, int reqPolicy, boolean parent)
             throws SecurityException {
+        return getActiveAdminOrCheckPermissionForCallerLocked(
+                who, reqPolicy, parent, /* permission= */ null);
+    }
+
+    /**
+     * Finds an active admin for the caller then checks {@code permission} if admin check failed.
+     *
+     * @return an active admin or {@code null} if there is no active admin but
+     * {@code permission} is granted
+     * @throws SecurityException if caller neither has an active admin nor {@code permission}
+     */
+    @Nullable
+    ActiveAdmin getActiveAdminOrCheckPermissionForCallerLocked(
+            ComponentName who,
+            int reqPolicy,
+            boolean parent,
+            @Nullable String permission) throws SecurityException {
         ensureLocked();
         if (parent) {
             enforceManagedProfile(mInjector.userHandleGetCallingUserId(),
                     "call APIs on the parent profile");
         }
-        ActiveAdmin admin = getActiveAdminForCallerLocked(who, reqPolicy);
+        ActiveAdmin admin = getActiveAdminOrCheckPermissionForCallerLocked(
+                who, reqPolicy, permission);
         return parent ? admin.getParentActiveAdmin() : admin;
     }
+
     /**
      * Find the admin for the component and userId bit of the uid, then check
      * the admin's uid matches the uid.
@@ -4759,10 +4783,15 @@
                 preN = getTargetSdk(admin.info.getPackageName(),
                         userHandle) <= android.os.Build.VERSION_CODES.M;
             } else {
-                // Otherwise, make sure the caller has any active admin with the right policy.
-                admin = getActiveAdminForCallerLocked(null,
-                        DeviceAdminInfo.USES_POLICY_RESET_PASSWORD);
-                preN = getTargetSdk(admin.info.getPackageName(),
+                // Otherwise, make sure the caller has any active admin with the right policy or
+                // the required permission.
+                admin = getActiveAdminOrCheckPermissionForCallerLocked(
+                        null,
+                        DeviceAdminInfo.USES_POLICY_RESET_PASSWORD,
+                        android.Manifest.permission.RESET_PASSWORD);
+                // Cannot be preN if admin is null because an exception would have been
+                // thrown before getting here
+                preN = admin == null ? false : getTargetSdk(admin.info.getPackageName(),
                         userHandle) <= android.os.Build.VERSION_CODES.M;
 
                 // As of N, password resetting to empty/null is not allowed anymore.
@@ -4778,9 +4807,9 @@
                 // As of N, password cannot be changed by the admin if it is already set.
                 if (isLockScreenSecureUnchecked(userHandle)) {
                     if (!preN) {
-                        throw new SecurityException("Admin cannot change current password");
+                        throw new SecurityException("Cannot change current password");
                     } else {
-                        Slog.e(LOG_TAG, "Admin cannot change current password");
+                        Slog.e(LOG_TAG, "Cannot change current password");
                         return false;
                     }
                 }
@@ -5151,31 +5180,37 @@
 
         final int callingUserId = mInjector.userHandleGetCallingUserId();
         synchronized (getLockObject()) {
-            // This API can only be called by an active device admin,
-            // so try to retrieve it to check that the caller is one.
-            final ActiveAdmin admin = getActiveAdminForCallerLocked(
-                    null, DeviceAdminInfo.USES_POLICY_FORCE_LOCK, parent);
-
+            // Make sure the caller has any active admin with the right policy or
+            // the required permission.
+            final ActiveAdmin admin = getActiveAdminOrCheckPermissionForCallerLocked(
+                    null,
+                    DeviceAdminInfo.USES_POLICY_FORCE_LOCK,
+                    parent,
+                    android.Manifest.permission.LOCK_DEVICE);
             final long ident = mInjector.binderClearCallingIdentity();
             try {
-                final ComponentName adminComponent = admin.info.getComponent();
-                // Evict key
-                if ((flags & DevicePolicyManager.FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY) != 0) {
-                    enforceManagedProfile(
-                            callingUserId, "set FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY");
-                    if (!isProfileOwner(adminComponent, callingUserId)) {
-                        throw new SecurityException("Only profile owner admins can set "
-                                + "FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY");
+                final ComponentName adminComponent = admin == null ?
+                        null : admin.info.getComponent();
+                if (adminComponent != null) {
+                    // For Profile Owners only, callers with only permission not allowed.
+                    if ((flags & DevicePolicyManager.FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY) != 0) {
+                        // Evict key
+                        enforceManagedProfile(
+                                callingUserId, "set FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY");
+                        if (!isProfileOwner(adminComponent, callingUserId)) {
+                            throw new SecurityException("Only profile owner admins can set "
+                                    + "FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY");
+                        }
+                        if (parent) {
+                            throw new IllegalArgumentException(
+                                    "Cannot set FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY for the parent");
+                        }
+                        if (!mInjector.storageManagerIsFileBasedEncryptionEnabled()) {
+                            throw new UnsupportedOperationException(
+                                    "FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY only applies to FBE devices");
+                        }
+                        mUserManager.evictCredentialEncryptionKey(callingUserId);
                     }
-                    if (parent) {
-                        throw new IllegalArgumentException(
-                                "Cannot set FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY for the parent");
-                    }
-                    if (!mInjector.storageManagerIsFileBasedEncryptionEnabled()) {
-                        throw new UnsupportedOperationException(
-                                "FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY only applies to FBE devices");
-                    }
-                    mUserManager.evictCredentialEncryptionKey(callingUserId);
                 }
 
                 // Lock all users unless this is a managed profile with a separate challenge
@@ -5194,7 +5229,7 @@
                     mInjector.getTrustManager().setDeviceLockedForUser(userToLock, true);
                 }
 
-                if (SecurityLog.isLoggingEnabled()) {
+                if (SecurityLog.isLoggingEnabled() && adminComponent != null) {
                     final int affectedUserId =
                             parent ? getProfileParentId(callingUserId) : callingUserId;
                     SecurityLog.writeEvent(SecurityLog.TAG_REMOTE_LOCK,
@@ -5984,7 +6019,7 @@
             success = mUserManagerInternal.removeUserEvenWhenDisallowed(userId);
             if (!success) {
                 Slog.w(LOG_TAG, "Couldn't remove user " + userId);
-            } else if (isManagedProfile(userId)) {
+            } else if (isManagedProfile(userId) && !TextUtils.isEmpty(wipeReasonForUser)) {
                 sendWipeProfileNotification(wipeReasonForUser);
             }
         } catch (RemoteException re) {
@@ -5999,7 +6034,6 @@
         if (!mHasFeature) {
             return;
         }
-        Preconditions.checkStringNotEmpty(wipeReasonForUser, "wipeReasonForUser is null or empty");
         enforceFullCrossUsersPermission(mInjector.userHandleGetCallingUserId());
 
         final ActiveAdmin admin;
@@ -10540,8 +10574,7 @@
         final int userId = UserHandle.getUserId(uid);
         Intent intent = null;
         if (DevicePolicyManager.POLICY_DISABLE_CAMERA.equals(restriction) ||
-                DevicePolicyManager.POLICY_DISABLE_SCREEN_CAPTURE.equals(restriction) ||
-                DevicePolicyManager.POLICY_MANDATORY_BACKUPS.equals(restriction)) {
+                DevicePolicyManager.POLICY_DISABLE_SCREEN_CAPTURE.equals(restriction)) {
             synchronized (getLockObject()) {
                 final DevicePolicyData policy = getUserData(userId);
                 final int N = policy.mAdminList.size();
@@ -10550,9 +10583,7 @@
                     if ((admin.disableCamera &&
                                 DevicePolicyManager.POLICY_DISABLE_CAMERA.equals(restriction)) ||
                         (admin.disableScreenCapture && DevicePolicyManager
-                                .POLICY_DISABLE_SCREEN_CAPTURE.equals(restriction)) ||
-                        (admin.mandatoryBackupTransport != null && DevicePolicyManager
-                                .POLICY_MANDATORY_BACKUPS.equals(restriction))) {
+                                .POLICY_DISABLE_SCREEN_CAPTURE.equals(restriction))) {
                         intent = createShowAdminSupportIntent(admin.info.getComponent(), userId);
                         break;
                     }
@@ -11962,12 +11993,7 @@
         }
         Preconditions.checkNotNull(admin);
         synchronized (getLockObject()) {
-            ActiveAdmin activeAdmin = getActiveAdminForCallerLocked(
-                    admin, DeviceAdminInfo.USES_POLICY_DEVICE_OWNER);
-            if (!enabled) {
-                activeAdmin.mandatoryBackupTransport = null;
-                saveSettingsLocked(UserHandle.USER_SYSTEM);
-            }
+            getActiveAdminForCallerLocked(admin, DeviceAdminInfo.USES_POLICY_DEVICE_OWNER);
         }
 
         final long ident = mInjector.binderClearCallingIdentity();
@@ -12002,87 +12028,6 @@
     }
 
     @Override
-    public boolean setMandatoryBackupTransport(
-            ComponentName admin,
-            ComponentName backupTransportComponent) {
-        if (!mHasFeature) {
-            return false;
-        }
-        Preconditions.checkNotNull(admin);
-        enforceDeviceOwner(admin);
-
-        final int callingUid = mInjector.binderGetCallingUid();
-        final AtomicBoolean success = new AtomicBoolean(false);
-        final CountDownLatch countDownLatch = new CountDownLatch(1);
-        final ISelectBackupTransportCallback selectBackupTransportCallbackInternal =
-                new ISelectBackupTransportCallback.Stub() {
-                    public void onSuccess(String transportName) {
-                        saveMandatoryBackupTransport(admin, callingUid, backupTransportComponent);
-                        success.set(true);
-                        countDownLatch.countDown();
-                    }
-
-                    public void onFailure(int reason) {
-                        countDownLatch.countDown();
-                    }
-                };
-        final long identity = mInjector.binderClearCallingIdentity();
-        try {
-            IBackupManager ibm = mInjector.getIBackupManager();
-            if (ibm != null && backupTransportComponent != null) {
-                if (!ibm.isBackupServiceActive(UserHandle.USER_SYSTEM)) {
-                    ibm.setBackupServiceActive(UserHandle.USER_SYSTEM, true);
-                }
-                ibm.selectBackupTransportAsync(
-                        backupTransportComponent, selectBackupTransportCallbackInternal);
-                countDownLatch.await();
-                if (success.get()) {
-                    ibm.setBackupEnabled(true);
-                }
-            } else if (backupTransportComponent == null) {
-                saveMandatoryBackupTransport(admin, callingUid, backupTransportComponent);
-                success.set(true);
-            }
-        } catch (RemoteException e) {
-            throw new IllegalStateException("Failed to set mandatory backup transport.", e);
-        } catch (InterruptedException e) {
-            throw new IllegalStateException("Failed to set mandatory backup transport.", e);
-        } finally {
-            mInjector.binderRestoreCallingIdentity(identity);
-        }
-        return success.get();
-    }
-
-    private void saveMandatoryBackupTransport(
-            ComponentName admin, int callingUid, ComponentName backupTransportComponent) {
-        synchronized (getLockObject()) {
-            ActiveAdmin activeAdmin =
-                    getActiveAdminWithPolicyForUidLocked(
-                            admin,
-                            DeviceAdminInfo.USES_POLICY_DEVICE_OWNER,
-                            callingUid);
-            if (!Objects.equals(backupTransportComponent,
-                    activeAdmin.mandatoryBackupTransport)) {
-                activeAdmin.mandatoryBackupTransport =
-                        backupTransportComponent;
-                saveSettingsLocked(UserHandle.USER_SYSTEM);
-            }
-        }
-    }
-
-    @Override
-    public ComponentName getMandatoryBackupTransport() {
-        if (!mHasFeature) {
-            return null;
-        }
-        synchronized (getLockObject()) {
-            ActiveAdmin activeAdmin = getDeviceOwnerAdminLocked();
-            return activeAdmin == null ? null : activeAdmin.mandatoryBackupTransport;
-        }
-    }
-
-
-    @Override
     public boolean bindDeviceAdminServiceAsUser(
             @NonNull ComponentName admin, @NonNull IApplicationThread caller,
             @Nullable IBinder activtiyToken, @NonNull Intent serviceIntent,
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index 0b6a33f..b8241d0 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -63,11 +63,11 @@
 import com.android.internal.util.ConcurrentUtils;
 import com.android.internal.util.EmergencyAffordanceManager;
 import com.android.internal.widget.ILockSettings;
-import com.android.server.accessibility.AccessibilityManagerService;
 import com.android.server.am.ActivityManagerService;
 import com.android.server.am.ActivityTaskManagerService;
+import com.android.server.appbinding.AppBindingService;
 import com.android.server.audio.AudioService;
-import com.android.server.biometrics.BiometricPromptService;
+import com.android.server.biometrics.BiometricService;
 import com.android.server.broadcastradio.BroadcastRadioService;
 import com.android.server.camera.CameraServiceProxy;
 import com.android.server.clipboard.ClipboardService;
@@ -82,6 +82,7 @@
 import com.android.server.biometrics.fingerprint.FingerprintService;
 import com.android.server.hdmi.HdmiControlService;
 import com.android.server.input.InputManagerService;
+import com.android.server.inputmethod.InputMethodManagerService;
 import com.android.server.job.JobSchedulerService;
 import com.android.server.lights.LightsService;
 import com.android.server.media.MediaResourceMonitorService;
@@ -117,6 +118,7 @@
 import com.android.server.storage.DeviceStorageMonitorService;
 import com.android.server.telecom.TelecomLoaderService;
 import com.android.server.textclassifier.TextClassificationManagerService;
+import com.android.server.textservices.TextServicesManagerService;
 import com.android.server.trust.TrustManagerService;
 import com.android.server.tv.TvInputManagerService;
 import com.android.server.tv.TvRemoteService;
@@ -784,6 +786,8 @@
 
         boolean disableSystemTextClassifier = SystemProperties.getBoolean(
                 "config.disable_systemtextclassifier", false);
+        boolean disableNetworkTime = SystemProperties.getBoolean("config.disable_networktime",
+                false);
         boolean disableCameraService = SystemProperties.getBoolean("config.disable_cameraservice",
                 false);
         boolean disableSlices = SystemProperties.getBoolean("config.disable_slices", false);
@@ -794,6 +798,9 @@
         boolean isWatch = context.getPackageManager().hasSystemFeature(
                 PackageManager.FEATURE_WATCH);
 
+        boolean enableVrService = context.getPackageManager().hasSystemFeature(
+                PackageManager.FEATURE_VR_MODE_HIGH_PERFORMANCE);
+
         // For debugging RescueParty
         if (Build.IS_DEBUGGABLE && SystemProperties.getBoolean("debug.crash_system", false)) {
             throw new RuntimeException();
@@ -927,7 +934,7 @@
                 traceLog.traceEnd();
             }, START_HIDL_SERVICES);
 
-            if (!isWatch) {
+            if (!isWatch && enableVrService) {
                 traceBeginAndSlog("StartVrManagerService");
                 mSystemServiceManager.startService(VrManagerService.class);
                 traceEnd();
@@ -1458,7 +1465,7 @@
                 traceEnd();
             }
 
-            if (!isWatch) {
+            if (!isWatch && !disableNetworkTime) {
                 traceBeginAndSlog("StartNetworkTimeUpdateService");
                 try {
                     if (useNewTimeServices) {
@@ -1583,7 +1590,7 @@
             if (hasFeatureFace || hasFeatureFingerprint) {
                 // Start this service after all biometric services.
                 traceBeginAndSlog("StartBiometricPromptService");
-                mSystemServiceManager.startService(BiometricPromptService.class);
+                mSystemServiceManager.startService(BiometricService.class);
                 traceEnd();
             }
 
@@ -1704,6 +1711,10 @@
             traceEnd();
         }
 
+        traceBeginAndSlog("AppServiceManager");
+        mSystemServiceManager.startService(AppBindingService.Lifecycle.class);
+        traceEnd();
+
         // It is now time to start up the app processes...
 
         traceBeginAndSlog("MakeVibratorServiceReady");
diff --git a/services/net/java/android/net/dns/ResolvUtil.java b/services/net/java/android/net/dns/ResolvUtil.java
deleted file mode 100644
index d9d4b96..0000000
--- a/services/net/java/android/net/dns/ResolvUtil.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (C) 2018 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.
- */
-
-package android.net.dns;
-
-import static android.system.OsConstants.AI_ADDRCONFIG;
-
-import android.net.Network;
-import android.net.NetworkUtils;
-import android.system.GaiException;
-import android.system.OsConstants;
-import android.system.StructAddrinfo;
-
-import libcore.io.Libcore;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-
-
-/**
- * DNS resolution utility class.
- *
- * @hide
- */
-public class ResolvUtil {
-    // Non-portable DNS resolution flag.
-    private static final long NETID_USE_LOCAL_NAMESERVERS = 0x80000000L;
-
-    private ResolvUtil() {}
-
-    public static InetAddress[] blockingResolveAllLocally(Network network, String name)
-            throws UnknownHostException {
-        // Use AI_ADDRCONFIG by default
-        return blockingResolveAllLocally(network, name, AI_ADDRCONFIG);
-    }
-
-    public static InetAddress[] blockingResolveAllLocally(
-            Network network, String name, int aiFlags) throws UnknownHostException  {
-        final StructAddrinfo hints = new StructAddrinfo();
-        hints.ai_flags = aiFlags;
-        // Other hints identical to the default Inet6AddressImpl implementation
-        hints.ai_family = OsConstants.AF_UNSPEC;
-        hints.ai_socktype = OsConstants.SOCK_STREAM;
-
-        final Network networkForResolv = getNetworkWithUseLocalNameserversFlag(network);
-
-        try {
-            return Libcore.os.android_getaddrinfo(name, hints, (int) networkForResolv.netId);
-        } catch (GaiException gai) {
-            gai.rethrowAsUnknownHostException(name + ": TLS-bypass resolution failed");
-            return null;  // keep compiler quiet
-        }
-    }
-
-    public static Network getNetworkWithUseLocalNameserversFlag(Network network) {
-        final long netidForResolv = NETID_USE_LOCAL_NAMESERVERS | (long) network.netId;
-        return new Network((int) netidForResolv);
-    }
-
-    public static Network makeNetworkWithPrivateDnsBypass(Network network) {
-        return new Network(network) {
-            @Override
-            public InetAddress[] getAllByName(String host) throws UnknownHostException {
-                return blockingResolveAllLocally(network, host);
-            }
-        };
-    }
-}
diff --git a/services/net/java/android/net/ip/IpClient.java b/services/net/java/android/net/ip/IpClient.java
index ccc092d..0176dd4 100644
--- a/services/net/java/android/net/ip/IpClient.java
+++ b/services/net/java/android/net/ip/IpClient.java
@@ -228,6 +228,9 @@
     //       Encourages logging of any available arguments, and all call sites
     //       are necessarily logged identically.
     //
+    // NOTE: Log first because passed objects may or may not be thread-safe and
+    // once passed on to the callback they may be modified by another thread.
+    //
     // TODO: Find an lighter weight approach.
     private class LoggingCallbackWrapper extends Callback {
         private static final String PREFIX = "INVOKE ";
@@ -243,63 +246,63 @@
 
         @Override
         public void onPreDhcpAction() {
-            mCallback.onPreDhcpAction();
             log("onPreDhcpAction()");
+            mCallback.onPreDhcpAction();
         }
         @Override
         public void onPostDhcpAction() {
-            mCallback.onPostDhcpAction();
             log("onPostDhcpAction()");
+            mCallback.onPostDhcpAction();
         }
         @Override
         public void onNewDhcpResults(DhcpResults dhcpResults) {
-            mCallback.onNewDhcpResults(dhcpResults);
             log("onNewDhcpResults({" + dhcpResults + "})");
+            mCallback.onNewDhcpResults(dhcpResults);
         }
         @Override
         public void onProvisioningSuccess(LinkProperties newLp) {
-            mCallback.onProvisioningSuccess(newLp);
             log("onProvisioningSuccess({" + newLp + "})");
+            mCallback.onProvisioningSuccess(newLp);
         }
         @Override
         public void onProvisioningFailure(LinkProperties newLp) {
-            mCallback.onProvisioningFailure(newLp);
             log("onProvisioningFailure({" + newLp + "})");
+            mCallback.onProvisioningFailure(newLp);
         }
         @Override
         public void onLinkPropertiesChange(LinkProperties newLp) {
-            mCallback.onLinkPropertiesChange(newLp);
             log("onLinkPropertiesChange({" + newLp + "})");
+            mCallback.onLinkPropertiesChange(newLp);
         }
         @Override
         public void onReachabilityLost(String logMsg) {
-            mCallback.onReachabilityLost(logMsg);
             log("onReachabilityLost(" + logMsg + ")");
+            mCallback.onReachabilityLost(logMsg);
         }
         @Override
         public void onQuit() {
-            mCallback.onQuit();
             log("onQuit()");
+            mCallback.onQuit();
         }
         @Override
         public void installPacketFilter(byte[] filter) {
-            mCallback.installPacketFilter(filter);
             log("installPacketFilter(byte[" + filter.length + "])");
+            mCallback.installPacketFilter(filter);
         }
         @Override
         public void startReadPacketFilter() {
-            mCallback.startReadPacketFilter();
             log("startReadPacketFilter()");
+            mCallback.startReadPacketFilter();
         }
         @Override
         public void setFallbackMulticastFilter(boolean enabled) {
-            mCallback.setFallbackMulticastFilter(enabled);
             log("setFallbackMulticastFilter(" + enabled + ")");
+            mCallback.setFallbackMulticastFilter(enabled);
         }
         @Override
         public void setNeighborDiscoveryOffload(boolean enable) {
-            mCallback.setNeighborDiscoveryOffload(enable);
             log("setNeighborDiscoveryOffload(" + enable + ")");
+            mCallback.setNeighborDiscoveryOffload(enable);
         }
     }
 
diff --git a/services/core/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachine.java b/services/net/java/android/net/ip/IpServer.java
similarity index 89%
rename from services/core/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachine.java
rename to services/net/java/android/net/ip/IpServer.java
index 5accb45..823c0a1 100644
--- a/services/core/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachine.java
+++ b/services/net/java/android/net/ip/IpServer.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering;
+package android.net.ip;
 
 import static android.net.NetworkUtils.numericToInetAddress;
 import static android.net.util.NetworkConstants.asByte;
@@ -31,11 +31,10 @@
 import android.net.RouteInfo;
 import android.net.dhcp.DhcpServer;
 import android.net.dhcp.DhcpServingParams;
-import android.net.ip.InterfaceController;
-import android.net.ip.RouterAdvertisementDaemon;
 import android.net.ip.RouterAdvertisementDaemon.RaParams;
 import android.net.util.InterfaceParams;
 import android.net.util.InterfaceSet;
+import android.net.util.NetdService;
 import android.net.util.SharedLog;
 import android.os.INetworkManagementService;
 import android.os.Looper;
@@ -67,7 +66,22 @@
  *
  * @hide
  */
-public class TetherInterfaceStateMachine extends StateMachine {
+public class IpServer extends StateMachine {
+    public static final int STATE_UNAVAILABLE = 0;
+    public static final int STATE_AVAILABLE   = 1;
+    public static final int STATE_TETHERED    = 2;
+    public static final int STATE_LOCAL_ONLY  = 3;
+
+    public static String getStateString(int state) {
+        switch (state) {
+            case STATE_UNAVAILABLE: return "UNAVAILABLE";
+            case STATE_AVAILABLE:   return "AVAILABLE";
+            case STATE_TETHERED:    return "TETHERED";
+            case STATE_LOCAL_ONLY:  return "LOCAL_ONLY";
+        }
+        return "UNKNOWN: " + state;
+    }
+
     private static final IpPrefix LINK_LOCAL_PREFIX = new IpPrefix("fe80::/64");
     private static final byte DOUG_ADAMS = (byte) 42;
 
@@ -83,15 +97,53 @@
     // TODO: have this configurable
     private static final int DHCP_LEASE_TIME_SECS = 3600;
 
-    private final static String TAG = "TetherInterfaceSM";
+    private final static String TAG = "IpServer";
     private final static boolean DBG = false;
     private final static boolean VDBG = false;
     private static final Class[] messageClasses = {
-            TetherInterfaceStateMachine.class
+            IpServer.class
     };
     private static final SparseArray<String> sMagicDecoderRing =
             MessageUtils.findMessageNames(messageClasses);
 
+    public static class Callback {
+        /**
+         * Notify that |who| has changed its tethering state.
+         *
+         * @param who the calling instance of IpServer
+         * @param state one of STATE_*
+         * @param lastError one of ConnectivityManager.TETHER_ERROR_*
+         */
+        public void updateInterfaceState(IpServer who, int state, int lastError) {}
+
+        /**
+         * Notify that |who| has new LinkProperties.
+         *
+         * @param who the calling instance of IpServer
+         * @param newLp the new LinkProperties to report
+         */
+        public void updateLinkProperties(IpServer who, LinkProperties newLp) {}
+    }
+
+    public static class Dependencies {
+        public RouterAdvertisementDaemon getRouterAdvertisementDaemon(InterfaceParams ifParams) {
+            return new RouterAdvertisementDaemon(ifParams);
+        }
+
+        public InterfaceParams getInterfaceParams(String ifName) {
+            return InterfaceParams.getByName(ifName);
+        }
+
+        public INetd getNetdService() {
+            return NetdService.getInstance();
+        }
+
+        public DhcpServer makeDhcpServer(Looper looper, InterfaceParams iface,
+                DhcpServingParams params, SharedLog log) {
+            return new DhcpServer(looper, iface, params, log);
+        }
+    }
+
     private static final int BASE_IFACE              = Protocol.BASE_TETHERING + 100;
     // request from the user that it wants to tether
     public static final int CMD_TETHER_REQUESTED            = BASE_IFACE + 2;
@@ -123,7 +175,7 @@
     private final INetworkManagementService mNMService;
     private final INetd mNetd;
     private final INetworkStatsService mStatsService;
-    private final IControlsTethering mTetherController;
+    private final Callback mCallback;
     private final InterfaceController mInterfaceCtrl;
 
     private final String mIfaceName;
@@ -131,7 +183,7 @@
     private final LinkProperties mLinkProperties;
     private final boolean mUsingLegacyDhcp;
 
-    private final TetheringDependencies mDeps;
+    private final Dependencies mDeps;
 
     private int mLastError;
     private int mServingMode;
@@ -148,17 +200,16 @@
     private DhcpServer mDhcpServer;
     private RaParams mLastRaParams;
 
-    public TetherInterfaceStateMachine(
+    public IpServer(
             String ifaceName, Looper looper, int interfaceType, SharedLog log,
             INetworkManagementService nMService, INetworkStatsService statsService,
-            IControlsTethering tetherController, boolean usingLegacyDhcp,
-            TetheringDependencies deps) {
+            Callback callback, boolean usingLegacyDhcp, Dependencies deps) {
         super(ifaceName, looper);
         mLog = log.forSubComponent(ifaceName);
         mNMService = nMService;
         mNetd = deps.getNetdService();
         mStatsService = statsService;
-        mTetherController = tetherController;
+        mCallback = callback;
         mInterfaceCtrl = new InterfaceController(ifaceName, nMService, mNetd, mLog);
         mIfaceName = ifaceName;
         mInterfaceType = interfaceType;
@@ -167,7 +218,7 @@
         mDeps = deps;
         resetLinkProperties();
         mLastError = ConnectivityManager.TETHER_ERROR_NO_ERROR;
-        mServingMode = IControlsTethering.STATE_AVAILABLE;
+        mServingMode = STATE_AVAILABLE;
 
         mInitialState = new InitialState();
         mLocalHotspotState = new LocalHotspotState();
@@ -379,6 +430,8 @@
             params.mtu = v6only.getMtu();
             params.hasDefaultRoute = v6only.hasIPv6DefaultRoute();
 
+            if (params.hasDefaultRoute) params.hopLimit = getHopLimit(v6only.getInterfaceName());
+
             for (LinkAddress linkAddr : v6only.getLinkAddresses()) {
                 if (linkAddr.getPrefixLength() != RFC7421_PREFIX_LENGTH) continue;
 
@@ -498,6 +551,20 @@
         }
     }
 
+    private byte getHopLimit(String upstreamIface) {
+        try {
+            int upstreamHopLimit = Integer.parseUnsignedInt(
+                    mNetd.getProcSysNet(INetd.IPV6, INetd.CONF, upstreamIface, "hop_limit"));
+            // Add one hop to account for this forwarding device
+            upstreamHopLimit++;
+            // Cap the hop limit to 255.
+            return (byte) Integer.min(upstreamHopLimit, 255);
+        } catch (Exception e) {
+            mLog.e("Failed to find upstream interface hop limit", e);
+        }
+        return RaParams.DEFAULT_HOPLIMIT;
+    }
+
     private void setRaParams(RaParams newParams) {
         if (mRaDaemon != null) {
             final RaParams deprecatedParams =
@@ -521,14 +588,12 @@
 
     private void sendInterfaceState(int newInterfaceState) {
         mServingMode = newInterfaceState;
-        mTetherController.updateInterfaceState(
-                TetherInterfaceStateMachine.this, newInterfaceState, mLastError);
+        mCallback.updateInterfaceState(this, newInterfaceState, mLastError);
         sendLinkProperties();
     }
 
     private void sendLinkProperties() {
-        mTetherController.updateLinkProperties(
-                TetherInterfaceStateMachine.this, new LinkProperties(mLinkProperties));
+        mCallback.updateLinkProperties(this, new LinkProperties(mLinkProperties));
     }
 
     private void resetLinkProperties() {
@@ -539,7 +604,7 @@
     class InitialState extends State {
         @Override
         public void enter() {
-            sendInterfaceState(IControlsTethering.STATE_AVAILABLE);
+            sendInterfaceState(STATE_AVAILABLE);
         }
 
         @Override
@@ -549,10 +614,10 @@
                 case CMD_TETHER_REQUESTED:
                     mLastError = ConnectivityManager.TETHER_ERROR_NO_ERROR;
                     switch (message.arg1) {
-                        case IControlsTethering.STATE_LOCAL_ONLY:
+                        case STATE_LOCAL_ONLY:
                             transitionTo(mLocalHotspotState);
                             break;
-                        case IControlsTethering.STATE_TETHERED:
+                        case STATE_TETHERED:
                             transitionTo(mTetheredState);
                             break;
                         default:
@@ -649,7 +714,7 @@
     // problematic because transitioning during a multi-state jump yields
     // a Log.wtf(). Ultimately, there should be only one ServingState,
     // and forwarding and NAT rules should be handled by a coordinating
-    // functional element outside of TetherInterfaceStateMachine.
+    // functional element outside of IpServer.
     class LocalHotspotState extends BaseServingState {
         @Override
         public void enter() {
@@ -659,7 +724,7 @@
             }
 
             if (DBG) Log.d(TAG, "Local hotspot " + mIfaceName);
-            sendInterfaceState(IControlsTethering.STATE_LOCAL_ONLY);
+            sendInterfaceState(STATE_LOCAL_ONLY);
         }
 
         @Override
@@ -685,7 +750,7 @@
     // problematic because transitioning during a multi-state jump yields
     // a Log.wtf(). Ultimately, there should be only one ServingState,
     // and forwarding and NAT rules should be handled by a coordinating
-    // functional element outside of TetherInterfaceStateMachine.
+    // functional element outside of IpServer.
     class TetheredState extends BaseServingState {
         @Override
         public void enter() {
@@ -695,7 +760,7 @@
             }
 
             if (DBG) Log.d(TAG, "Tethered " + mIfaceName);
-            sendInterfaceState(IControlsTethering.STATE_TETHERED);
+            sendInterfaceState(STATE_TETHERED);
         }
 
         @Override
@@ -817,7 +882,7 @@
         @Override
         public void enter() {
             mLastError = ConnectivityManager.TETHER_ERROR_NO_ERROR;
-            sendInterfaceState(IControlsTethering.STATE_UNAVAILABLE);
+            sendInterfaceState(STATE_UNAVAILABLE);
         }
     }
 
diff --git a/services/net/java/android/net/netlink/InetDiagMessage.java b/services/net/java/android/net/netlink/InetDiagMessage.java
new file mode 100644
index 0000000..af9e601
--- /dev/null
+++ b/services/net/java/android/net/netlink/InetDiagMessage.java
@@ -0,0 +1,187 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.net.netlink;
+
+import static android.os.Process.INVALID_UID;
+import static android.net.netlink.NetlinkConstants.SOCK_DIAG_BY_FAMILY;
+import static android.net.netlink.NetlinkSocket.DEFAULT_RECV_BUFSIZE;
+import static android.net.netlink.StructNlMsgHdr.NLM_F_DUMP;
+import static android.net.netlink.StructNlMsgHdr.NLM_F_REQUEST;
+import static android.system.OsConstants.AF_INET;
+import static android.system.OsConstants.AF_INET6;
+import static android.system.OsConstants.IPPROTO_UDP;
+import static android.system.OsConstants.NETLINK_INET_DIAG;
+
+import android.os.Build;
+import android.os.Process;
+import android.system.ErrnoException;
+import android.util.Log;
+
+import java.io.FileDescriptor;
+import java.io.InterruptedIOException;
+import java.net.DatagramSocket;
+import java.net.DatagramSocket;
+import java.net.InetAddress;
+import java.net.Inet4Address;
+import java.net.Inet6Address;
+import java.net.InetSocketAddress;
+import java.net.SocketException;
+import java.net.UnknownHostException;
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+
+/**
+ * A NetlinkMessage subclass for netlink inet_diag messages.
+ *
+ * see also: &lt;linux_src&gt;/include/uapi/linux/inet_diag.h
+ *
+ * @hide
+ */
+public class InetDiagMessage extends NetlinkMessage {
+    public static final String TAG = "InetDiagMessage";
+    private static final int TIMEOUT_MS = 500;
+
+    public static byte[] InetDiagReqV2(int protocol, InetSocketAddress local,
+                                       InetSocketAddress remote, int family, short flags) {
+        final byte[] bytes = new byte[StructNlMsgHdr.STRUCT_SIZE + StructInetDiagReqV2.STRUCT_SIZE];
+        final ByteBuffer byteBuffer = ByteBuffer.wrap(bytes);
+        byteBuffer.order(ByteOrder.nativeOrder());
+
+        final StructNlMsgHdr nlMsgHdr = new StructNlMsgHdr();
+        nlMsgHdr.nlmsg_len = bytes.length;
+        nlMsgHdr.nlmsg_type = SOCK_DIAG_BY_FAMILY;
+        nlMsgHdr.nlmsg_flags = flags;
+        nlMsgHdr.pack(byteBuffer);
+
+        final StructInetDiagReqV2 inetDiagReqV2 = new StructInetDiagReqV2(protocol, local, remote,
+                family);
+        inetDiagReqV2.pack(byteBuffer);
+        return bytes;
+    }
+
+    public StructInetDiagMsg mStructInetDiagMsg;
+
+    private InetDiagMessage(StructNlMsgHdr header) {
+        super(header);
+        mStructInetDiagMsg = new StructInetDiagMsg();
+    }
+
+    public static InetDiagMessage parse(StructNlMsgHdr header, ByteBuffer byteBuffer) {
+        final InetDiagMessage msg = new InetDiagMessage(header);
+        msg.mStructInetDiagMsg = StructInetDiagMsg.parse(byteBuffer);
+        return msg;
+    }
+
+    private static int lookupUidByFamily(int protocol, InetSocketAddress local,
+                                         InetSocketAddress remote, int family, short flags,
+                                         FileDescriptor fd)
+            throws ErrnoException, InterruptedIOException {
+        byte[] msg = InetDiagReqV2(protocol, local, remote, family, flags);
+        NetlinkSocket.sendMessage(fd, msg, 0, msg.length, TIMEOUT_MS);
+        ByteBuffer response = NetlinkSocket.recvMessage(fd, DEFAULT_RECV_BUFSIZE, TIMEOUT_MS);
+
+        final NetlinkMessage nlMsg = NetlinkMessage.parse(response);
+        final StructNlMsgHdr hdr = nlMsg.getHeader();
+        if (hdr.nlmsg_type == NetlinkConstants.NLMSG_DONE) {
+            return INVALID_UID;
+        }
+        if (nlMsg instanceof InetDiagMessage) {
+            return ((InetDiagMessage) nlMsg).mStructInetDiagMsg.idiag_uid;
+        }
+        return INVALID_UID;
+    }
+
+    private static final int FAMILY[] = {AF_INET6, AF_INET};
+
+    private static int lookupUid(int protocol, InetSocketAddress local,
+                                 InetSocketAddress remote, FileDescriptor fd)
+            throws ErrnoException, InterruptedIOException {
+        int uid;
+
+        for (int family : FAMILY) {
+            /**
+             * For exact match lookup, swap local and remote for UDP lookups due to kernel
+             * bug which will not be fixed. See aosp/755889 and
+             * https://www.mail-archive.com/netdev@vger.kernel.org/msg248638.html
+             */
+            if (protocol == IPPROTO_UDP) {
+                uid = lookupUidByFamily(protocol, remote, local, family, NLM_F_REQUEST, fd);
+            } else {
+                uid = lookupUidByFamily(protocol, local, remote, family, NLM_F_REQUEST, fd);
+            }
+            if (uid != INVALID_UID) {
+                return uid;
+            }
+        }
+
+        /**
+         * For UDP it's possible for a socket to send packets to arbitrary destinations, even if the
+         * socket is not connected (and even if the socket is connected to a different destination).
+         * If we want this API to work for such packets, then on miss we need to do a second lookup
+         * with only the local address and port filled in.
+         * Always use flags == NLM_F_REQUEST | NLM_F_DUMP for wildcard.
+         */
+        if (protocol == IPPROTO_UDP) {
+            try {
+                InetSocketAddress wildcard = new InetSocketAddress(
+                        Inet6Address.getByName("::"), 0);
+                uid = lookupUidByFamily(protocol, local, wildcard, AF_INET6,
+                        (short) (NLM_F_REQUEST | NLM_F_DUMP), fd);
+                if (uid != INVALID_UID) {
+                    return uid;
+                }
+                wildcard = new InetSocketAddress(Inet4Address.getByName("0.0.0.0"), 0);
+                uid = lookupUidByFamily(protocol, local, wildcard, AF_INET,
+                        (short) (NLM_F_REQUEST | NLM_F_DUMP), fd);
+                if (uid != INVALID_UID) {
+                    return uid;
+                }
+            } catch (UnknownHostException e) {
+                Log.e(TAG, e.toString());
+            }
+        }
+        return INVALID_UID;
+    }
+
+    /**
+     * Use an inet_diag socket to look up the UID associated with the input local and remote
+     * address/port and protocol of a connection.
+     */
+    public static int getConnectionOwnerUid(int protocol, InetSocketAddress local,
+                                            InetSocketAddress remote) {
+        try {
+            final FileDescriptor fd = NetlinkSocket.forProto(NETLINK_INET_DIAG);
+            NetlinkSocket.connectToKernel(fd);
+
+            return lookupUid(protocol, local, remote, fd);
+
+        } catch (ErrnoException | SocketException | IllegalArgumentException
+                | InterruptedIOException e) {
+            Log.e(TAG, e.toString());
+        }
+        return INVALID_UID;
+    }
+
+    @Override
+    public String toString() {
+        return "InetDiagMessage{ "
+                + "nlmsghdr{" + (mHeader == null ? "" : mHeader.toString()) + "}, "
+                + "inet_diag_msg{"
+                + (mStructInetDiagMsg == null ? "" : mStructInetDiagMsg.toString()) + "} "
+                + "}";
+    }
+}
diff --git a/services/net/java/android/net/netlink/NetlinkConstants.java b/services/net/java/android/net/netlink/NetlinkConstants.java
index e331701..fc1551c 100644
--- a/services/net/java/android/net/netlink/NetlinkConstants.java
+++ b/services/net/java/android/net/netlink/NetlinkConstants.java
@@ -54,6 +54,12 @@
         return String.valueOf(family);
     }
 
+    public static String stringForProtocol(int protocol) {
+        if (protocol == OsConstants.IPPROTO_TCP) { return "IPPROTO_TCP"; }
+        if (protocol == OsConstants.IPPROTO_UDP) { return "IPPROTO_UDP"; }
+        return String.valueOf(protocol);
+    }
+
     public static String hexify(byte[] bytes) {
         if (bytes == null) { return "(null)"; }
         return HexDump.toHexString(bytes);
@@ -90,6 +96,9 @@
     public static final short RTM_GETRULE        = 34;
     public static final short RTM_NEWNDUSEROPT   = 68;
 
+    /* see &lt;linux_src&gt;/include/uapi/linux/sock_diag.h */
+    public static final short SOCK_DIAG_BY_FAMILY = 20;
+
     public static String stringForNlMsgType(short nlm_type) {
         switch (nlm_type) {
             case NLMSG_NOOP: return "NLMSG_NOOP";
diff --git a/services/net/java/android/net/netlink/NetlinkMessage.java b/services/net/java/android/net/netlink/NetlinkMessage.java
index 3bf75ca..a325db8 100644
--- a/services/net/java/android/net/netlink/NetlinkMessage.java
+++ b/services/net/java/android/net/netlink/NetlinkMessage.java
@@ -69,6 +69,8 @@
             case NetlinkConstants.RTM_DELNEIGH:
             case NetlinkConstants.RTM_GETNEIGH:
                 return (NetlinkMessage) RtNetlinkNeighborMessage.parse(nlmsghdr, byteBuffer);
+            case NetlinkConstants.SOCK_DIAG_BY_FAMILY:
+                return (NetlinkMessage) InetDiagMessage.parse(nlmsghdr, byteBuffer);
             default:
                 if (nlmsghdr.nlmsg_type <= NetlinkConstants.NLMSG_MAX_RESERVED) {
                     // Netlink control message.  Just parse the header for now,
diff --git a/services/net/java/android/net/netlink/StructInetDiagMsg.java b/services/net/java/android/net/netlink/StructInetDiagMsg.java
new file mode 100644
index 0000000..da824ad
--- /dev/null
+++ b/services/net/java/android/net/netlink/StructInetDiagMsg.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.net.netlink;
+
+import static java.nio.ByteOrder.BIG_ENDIAN;
+import static android.system.OsConstants.AF_INET;
+import static android.system.OsConstants.AF_INET6;
+
+import java.net.Inet4Address;
+import java.net.InetSocketAddress;
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+import android.util.Log;
+
+/**
+ * struct inet_diag_msg
+ *
+ * see &lt;linux_src&gt;/include/uapi/linux/inet_diag.h
+ *
+ * struct inet_diag_msg {
+ *      __u8    idiag_family;
+ *      __u8    idiag_state;
+ *      __u8    idiag_timer;
+ *      __u8    idiag_retrans;
+ *      struct  inet_diag_sockid id;
+ *      __u32   idiag_expires;
+ *      __u32   idiag_rqueue;
+ *      __u32   idiag_wqueue;
+ *      __u32   idiag_uid;
+ *      __u32   idiag_inode;
+ * };
+ *
+ * @hide
+ */
+public class StructInetDiagMsg {
+    public static final int STRUCT_SIZE = 4 + StructInetDiagSockId.STRUCT_SIZE + 20;
+    private static final int IDIAG_UID_OFFSET = StructNlMsgHdr.STRUCT_SIZE + 4 +
+            StructInetDiagSockId.STRUCT_SIZE + 12;
+    public int idiag_uid;
+
+    public static StructInetDiagMsg parse(ByteBuffer byteBuffer) {
+        StructInetDiagMsg struct = new StructInetDiagMsg();
+        struct.idiag_uid = byteBuffer.getInt(IDIAG_UID_OFFSET);
+        return struct;
+    }
+
+    @Override
+    public String toString() {
+        return "StructInetDiagMsg{ "
+                + "idiag_uid{" + idiag_uid + "}, "
+                + "}";
+    }
+}
diff --git a/services/net/java/android/net/netlink/StructInetDiagReqV2.java b/services/net/java/android/net/netlink/StructInetDiagReqV2.java
new file mode 100644
index 0000000..49a9325
--- /dev/null
+++ b/services/net/java/android/net/netlink/StructInetDiagReqV2.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.net.netlink;
+
+import static java.nio.ByteOrder.BIG_ENDIAN;
+import java.net.InetSocketAddress;
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+
+/**
+ * struct inet_diag_req_v2
+ *
+ * see &lt;linux_src&gt;/include/uapi/linux/inet_diag.h
+ *
+ *      struct inet_diag_req_v2 {
+ *          __u8    sdiag_family;
+ *          __u8    sdiag_protocol;
+ *          __u8    idiag_ext;
+ *          __u8    pad;
+ *          __u32   idiag_states;
+ *          struct  inet_diag_sockid id;
+ *      };
+ *
+ * @hide
+ */
+public class StructInetDiagReqV2 {
+    public static final int STRUCT_SIZE = 8 + StructInetDiagSockId.STRUCT_SIZE;
+
+    private final byte sdiag_family;
+    private final byte sdiag_protocol;
+    private final StructInetDiagSockId id;
+    private final int INET_DIAG_REQ_V2_ALL_STATES = (int) 0xffffffff;
+
+
+    public StructInetDiagReqV2(int protocol, InetSocketAddress local, InetSocketAddress remote,
+                               int family) {
+        sdiag_family = (byte) family;
+        sdiag_protocol = (byte) protocol;
+        id = new StructInetDiagSockId(local, remote);
+    }
+
+    public void pack(ByteBuffer byteBuffer) {
+        // The ByteOrder must have already been set by the caller.
+        byteBuffer.put((byte) sdiag_family);
+        byteBuffer.put((byte) sdiag_protocol);
+        byteBuffer.put((byte) 0);
+        byteBuffer.put((byte) 0);
+        byteBuffer.putInt(INET_DIAG_REQ_V2_ALL_STATES);
+        id.pack(byteBuffer);
+    }
+
+    @Override
+    public String toString() {
+        final String familyStr = NetlinkConstants.stringForAddressFamily(sdiag_family);
+        final String protocolStr = NetlinkConstants.stringForAddressFamily(sdiag_protocol);
+
+        return "StructInetDiagReqV2{ "
+                + "sdiag_family{" + familyStr + "}, "
+                + "sdiag_protocol{" + protocolStr + "}, "
+                + "idiag_ext{" + 0 + ")}, "
+                + "pad{" + 0 + "}, "
+                + "idiag_states{" + Integer.toHexString(INET_DIAG_REQ_V2_ALL_STATES) + "}, "
+                + id.toString()
+                + "}";
+    }
+}
diff --git a/services/net/java/android/net/netlink/StructInetDiagSockId.java b/services/net/java/android/net/netlink/StructInetDiagSockId.java
new file mode 100644
index 0000000..2e9fa25
--- /dev/null
+++ b/services/net/java/android/net/netlink/StructInetDiagSockId.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.net.netlink;
+
+import static java.nio.ByteOrder.BIG_ENDIAN;
+
+import java.net.Inet4Address;
+import java.net.InetSocketAddress;
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+
+/**
+ * struct inet_diag_req_v2
+ *
+ * see &lt;linux_src&gt;/include/uapi/linux/inet_diag.h
+ *
+ * struct inet_diag_sockid {
+ *        __be16    idiag_sport;
+ *        __be16    idiag_dport;
+ *        __be32    idiag_src[4];
+ *        __be32    idiag_dst[4];
+ *        __u32     idiag_if;
+ *        __u32     idiag_cookie[2];
+ * #define INET_DIAG_NOCOOKIE (~0U)
+ * };
+ *
+ * @hide
+ */
+public class StructInetDiagSockId {
+    public static final int STRUCT_SIZE = 48;
+
+    private final InetSocketAddress mLocSocketAddress;
+    private final InetSocketAddress mRemSocketAddress;
+    private final byte[] INET_DIAG_NOCOOKIE = new byte[]{
+            (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff,
+            (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff};
+    private final byte[] IPV4_PADDING = new byte[] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+
+    public StructInetDiagSockId(InetSocketAddress loc, InetSocketAddress rem) {
+        mLocSocketAddress = loc;
+        mRemSocketAddress = rem;
+    }
+
+    public void pack(ByteBuffer byteBuffer) {
+        byteBuffer.order(BIG_ENDIAN);
+        byteBuffer.putShort((short) mLocSocketAddress.getPort());
+        byteBuffer.putShort((short) mRemSocketAddress.getPort());
+        byteBuffer.put(mLocSocketAddress.getAddress().getAddress());
+        if (mLocSocketAddress.getAddress() instanceof Inet4Address) {
+            byteBuffer.put(IPV4_PADDING);
+        }
+        byteBuffer.put(mRemSocketAddress.getAddress().getAddress());
+        if (mRemSocketAddress.getAddress() instanceof Inet4Address) {
+            byteBuffer.put(IPV4_PADDING);
+        }
+        byteBuffer.order(ByteOrder.nativeOrder());
+        byteBuffer.putInt(0);
+        byteBuffer.put(INET_DIAG_NOCOOKIE);
+    }
+
+    @Override
+    public String toString() {
+        return "StructInetDiagSockId{ "
+                + "idiag_sport{" + mLocSocketAddress.getPort() + "}, "
+                + "idiag_dport{" + mRemSocketAddress.getPort() + "}, "
+                + "idiag_src{" + mLocSocketAddress.getAddress().getHostAddress() + "}, "
+                + "idiag_dst{" + mRemSocketAddress.getAddress().getHostAddress() + "}, "
+                + "idiag_if{" + 0 + "} "
+                + "idiag_cookie{INET_DIAG_NOCOOKIE}"
+                + "}";
+    }
+}
diff --git a/services/net/java/android/net/util/SharedLog.java b/services/net/java/android/net/util/SharedLog.java
index f7bf393..5a73a4e 100644
--- a/services/net/java/android/net/util/SharedLog.java
+++ b/services/net/java/android/net/util/SharedLog.java
@@ -17,6 +17,7 @@
 package android.net.util;
 
 import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.text.TextUtils;
 import android.util.LocalLog;
 import android.util.Log;
@@ -92,10 +93,17 @@
     }
 
     /**
-     * Log an error due to an exception, with the exception stacktrace.
+     * Log an error due to an exception, with the exception stacktrace if provided.
+     *
+     * <p>The error and exception message appear in the shared log, but the stacktrace is only
+     * logged in general log output (logcat).
      */
-    public void e(@NonNull String msg, @NonNull Throwable e) {
-        Log.e(mTag, record(Category.ERROR, msg + ": " + e.getMessage()), e);
+    public void e(@NonNull String msg, @Nullable Throwable exception) {
+        if (exception == null) {
+            e(msg);
+            return;
+        }
+        Log.e(mTag, record(Category.ERROR, msg + ": " + exception.getMessage()), exception);
     }
 
     public void i(String msg) {
diff --git a/services/robotests/Android.mk b/services/robotests/Android.mk
index 2691701..78c0be4 100644
--- a/services/robotests/Android.mk
+++ b/services/robotests/Android.mk
@@ -61,6 +61,7 @@
     $(call all-Iaidl-files-under, $(INTERNAL_BACKUP)) \
     $(call all-java-files-under, ../../core/java/android/app/backup) \
     $(call all-Iaidl-files-under, ../../core/java/android/app/backup) \
+    $(call all-java-files-under, ../../core/java/android/util/proto) \
     ../../core/java/android/content/pm/PackageInfo.java \
     ../../core/java/android/app/IBackupAgent.aidl \
     ../../core/java/android/util/KeyValueSettingObserver.java \
@@ -75,6 +76,7 @@
 LOCAL_STATIC_JAVA_LIBRARIES := \
     platform-robolectric-android-all-stubs \
     android-support-test \
+    guava \
     mockito-robolectric-prebuilt \
     platform-test-annotations \
     truth-prebuilt \
diff --git a/services/robotests/src/com/android/server/backup/BackupManagerServiceTest.java b/services/robotests/src/com/android/server/backup/BackupManagerServiceTest.java
index 91a8857..de915ab 100644
--- a/services/robotests/src/com/android/server/backup/BackupManagerServiceTest.java
+++ b/services/robotests/src/com/android/server/backup/BackupManagerServiceTest.java
@@ -52,7 +52,6 @@
 import com.android.server.testing.FrameworkRobolectricTestRunner;
 import com.android.server.testing.SystemLoaderPackages;
 import com.android.server.testing.shadows.ShadowAppBackupUtils;
-import com.android.server.testing.shadows.ShadowBackupPolicyEnforcer;
 import com.android.server.testing.shadows.ShadowBinder;
 import com.android.server.testing.shadows.ShadowKeyValueBackupJob;
 import com.android.server.testing.shadows.ShadowKeyValueBackupTask;
@@ -73,10 +72,7 @@
 import org.robolectric.shadows.ShadowSettings;
 
 @RunWith(FrameworkRobolectricTestRunner.class)
-@Config(
-        manifest = Config.NONE,
-        sdk = 26,
-        shadows = {ShadowAppBackupUtils.class, ShadowBackupPolicyEnforcer.class})
+@Config(manifest = Config.NONE, sdk = 26, shadows = {ShadowAppBackupUtils.class})
 @SystemLoaderPackages({"com.android.server.backup"})
 @Presubmit
 public class BackupManagerServiceTest {
@@ -118,15 +114,19 @@
         mBaseStateDir = new File(cacheDir, "base_state");
         // Corresponds to /cache/backup_stage
         mDataDir = new File(cacheDir, "data");
-
-        ShadowBackupPolicyEnforcer.setMandatoryBackupTransport(null);
     }
 
     @After
     public void tearDown() throws Exception {
         mBackupThread.quit();
         ShadowAppBackupUtils.reset();
-        ShadowBackupPolicyEnforcer.setMandatoryBackupTransport(null);
+    }
+
+    @Test
+    public void testMoreDebug_isFalse() throws Exception {
+        boolean moreDebug = BackupManagerService.MORE_DEBUG;
+
+        assertThat(moreDebug).isFalse();
     }
 
     /* Tests for destination string */
@@ -252,7 +252,6 @@
     private ComponentName mNewTransportComponent;
     private TransportData mNewTransport;
     private TransportMock mNewTransportMock;
-    private ComponentName mOldTransportComponent;
     private TransportData mOldTransport;
     private TransportMock mOldTransportMock;
 
@@ -260,7 +259,6 @@
         mNewTransport = backupTransport();
         mNewTransportComponent = mNewTransport.getTransportComponent();
         mOldTransport = d2dTransport();
-        mOldTransportComponent = mOldTransport.getTransportComponent();
         List<TransportMock> transportMocks =
                 setUpTransports(mTransportManager, mNewTransport, mOldTransport, localTransport());
         mNewTransportMock = transportMocks.get(0);
@@ -314,42 +312,6 @@
     }
 
     @Test
-    public void testSelectBackupTransportAsync_whenMandatoryTransport() throws Exception {
-        setUpForSelectTransport();
-        ShadowBackupPolicyEnforcer.setMandatoryBackupTransport(mNewTransportComponent);
-        mShadowContext.grantPermissions(android.Manifest.permission.BACKUP);
-        when(mTransportManager.registerAndSelectTransport(eq(mNewTransportComponent)))
-                .thenReturn(BackupManager.SUCCESS);
-        ISelectBackupTransportCallback callback = mock(ISelectBackupTransportCallback.class);
-        BackupManagerService backupManagerService = createInitializedBackupManagerService();
-
-        backupManagerService.selectBackupTransportAsync(mNewTransportComponent, callback);
-
-        mShadowBackupLooper.runToEndOfTasks();
-        assertThat(getSettingsTransport()).isEqualTo(mNewTransport.transportName);
-        verify(callback).onSuccess(eq(mNewTransport.transportName));
-        verify(mTransportManager)
-                .disposeOfTransportClient(eq(mNewTransportMock.transportClient), any());
-    }
-
-    @Test
-    public void testSelectBackupTransportAsync_whenOtherThanMandatoryTransport() throws Exception {
-        setUpForSelectTransport();
-        ShadowBackupPolicyEnforcer.setMandatoryBackupTransport(mOldTransportComponent);
-        mShadowContext.grantPermissions(android.Manifest.permission.BACKUP);
-        when(mTransportManager.registerAndSelectTransport(eq(mNewTransportComponent)))
-                .thenReturn(BackupManager.SUCCESS);
-        ISelectBackupTransportCallback callback = mock(ISelectBackupTransportCallback.class);
-        BackupManagerService backupManagerService = createInitializedBackupManagerService();
-
-        backupManagerService.selectBackupTransportAsync(mNewTransportComponent, callback);
-
-        mShadowBackupLooper.runToEndOfTasks();
-        assertThat(getSettingsTransport()).isNotEqualTo(mNewTransport.transportName);
-        verify(callback).onFailure(eq(BackupManager.ERROR_BACKUP_NOT_ALLOWED));
-    }
-
-    @Test
     public void testSelectBackupTransportAsync_whenRegistrationFails() throws Exception {
         setUpForSelectTransport();
         mShadowContext.grantPermissions(android.Manifest.permission.BACKUP);
diff --git a/services/robotests/src/com/android/server/backup/encryption/chunk/ChunkHashTest.java b/services/robotests/src/com/android/server/backup/encryption/chunk/ChunkHashTest.java
new file mode 100644
index 0000000..3b6e038
--- /dev/null
+++ b/services/robotests/src/com/android/server/backup/encryption/chunk/ChunkHashTest.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.server.backup.encryption.chunk;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.platform.test.annotations.Presubmit;
+import com.android.server.testing.FrameworkRobolectricTestRunner;
+import com.android.server.testing.SystemLoaderPackages;
+import com.google.common.primitives.Bytes;
+import java.util.Arrays;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.annotation.Config;
+
+@RunWith(FrameworkRobolectricTestRunner.class)
+@Config(manifest = Config.NONE, sdk = 26)
+@SystemLoaderPackages({"com.android.server.backup"})
+@Presubmit
+public class ChunkHashTest {
+    private static final int HASH_LENGTH_BYTES = 256 / 8;
+    private static final byte[] TEST_HASH_1 = Arrays.copyOf(new byte[] {1}, HASH_LENGTH_BYTES);
+    private static final byte[] TEST_HASH_2 = Arrays.copyOf(new byte[] {2}, HASH_LENGTH_BYTES);
+
+    @Test
+    public void testGetHash_returnsHash() {
+        ChunkHash chunkHash = new ChunkHash(TEST_HASH_1);
+
+        byte[] hash = chunkHash.getHash();
+
+        assertThat(hash).asList().containsExactlyElementsIn(Bytes.asList(TEST_HASH_1)).inOrder();
+    }
+
+    @Test
+    public void testEquals() {
+        ChunkHash chunkHash1 = new ChunkHash(TEST_HASH_1);
+        ChunkHash equalChunkHash1 = new ChunkHash(TEST_HASH_1);
+        ChunkHash chunkHash2 = new ChunkHash(TEST_HASH_2);
+
+        assertThat(chunkHash1).isEqualTo(equalChunkHash1);
+        assertThat(chunkHash1).isNotEqualTo(chunkHash2);
+    }
+
+    @Test
+    public void testHashCode() {
+        ChunkHash chunkHash1 = new ChunkHash(TEST_HASH_1);
+        ChunkHash equalChunkHash1 = new ChunkHash(TEST_HASH_1);
+        ChunkHash chunkHash2 = new ChunkHash(TEST_HASH_2);
+
+        int hash1 = chunkHash1.hashCode();
+        int equalHash1 = equalChunkHash1.hashCode();
+        int hash2 = chunkHash2.hashCode();
+
+        assertThat(hash1).isEqualTo(equalHash1);
+        assertThat(hash1).isNotEqualTo(hash2);
+    }
+
+    @Test
+    public void testCompareTo_whenEqual_returnsZero() {
+        ChunkHash chunkHash = new ChunkHash(TEST_HASH_1);
+        ChunkHash equalChunkHash = new ChunkHash(TEST_HASH_1);
+
+        int result = chunkHash.compareTo(equalChunkHash);
+
+        assertThat(result).isEqualTo(0);
+    }
+
+    @Test
+    public void testCompareTo_whenArgumentGreater_returnsNegative() {
+        ChunkHash chunkHash1 = new ChunkHash(TEST_HASH_1);
+        ChunkHash chunkHash2 = new ChunkHash(TEST_HASH_2);
+
+        int result = chunkHash1.compareTo(chunkHash2);
+
+        assertThat(result).isLessThan(0);
+    }
+
+    @Test
+    public void testCompareTo_whenArgumentSmaller_returnsPositive() {
+        ChunkHash chunkHash1 = new ChunkHash(TEST_HASH_1);
+        ChunkHash chunkHash2 = new ChunkHash(TEST_HASH_2);
+
+        int result = chunkHash2.compareTo(chunkHash1);
+
+        assertThat(result).isGreaterThan(0);
+    }
+}
diff --git a/services/robotests/src/com/android/server/backup/encryption/chunk/ChunkListingTest.java b/services/robotests/src/com/android/server/backup/encryption/chunk/ChunkListingTest.java
new file mode 100644
index 0000000..383bf1d
--- /dev/null
+++ b/services/robotests/src/com/android/server/backup/encryption/chunk/ChunkListingTest.java
@@ -0,0 +1,197 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.server.backup.encryption.chunk;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.platform.test.annotations.Presubmit;
+import android.util.proto.ProtoInputStream;
+import android.util.proto.ProtoOutputStream;
+import com.android.internal.util.Preconditions;
+import com.android.server.testing.FrameworkRobolectricTestRunner;
+import com.android.server.testing.SystemLoaderPackages;
+import com.google.common.base.Charsets;
+import java.io.ByteArrayInputStream;
+import java.util.Arrays;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.annotation.Config;
+
+@RunWith(FrameworkRobolectricTestRunner.class)
+@Config(manifest = Config.NONE, sdk = 26)
+// Include android.util.proto in addition to classes under test because the latest versions of
+// android.util.proto.Proto{Input|Output}Stream are not part of Robolectric.
+@SystemLoaderPackages({"com.android.server.backup", "android.util.proto"})
+@Presubmit
+public class ChunkListingTest {
+    private static final String CHUNK_A = "CHUNK_A";
+    private static final String CHUNK_B = "CHUNK_B";
+    private static final String CHUNK_C = "CHUNK_C";
+
+    private static final int CHUNK_A_LENGTH = 256;
+    private static final int CHUNK_B_LENGTH = 1024;
+    private static final int CHUNK_C_LENGTH = 4055;
+
+    private ChunkHash mChunkHashA;
+    private ChunkHash mChunkHashB;
+    private ChunkHash mChunkHashC;
+
+    @Before
+    public void setUp() throws Exception {
+        mChunkHashA = getHash(CHUNK_A);
+        mChunkHashB = getHash(CHUNK_B);
+        mChunkHashC = getHash(CHUNK_C);
+    }
+
+    @Test
+    public void testHasChunk_whenChunkInListing_returnsTrue() throws Exception {
+        byte[] chunkListingProto =
+                createChunkListingProto(
+                        new ChunkHash[] {mChunkHashA, mChunkHashB, mChunkHashC},
+                        new int[] {CHUNK_A_LENGTH, CHUNK_B_LENGTH, CHUNK_C_LENGTH});
+        ChunkListing chunkListing =
+                ChunkListing.readFromProto(
+                        new ProtoInputStream(new ByteArrayInputStream(chunkListingProto)));
+
+        boolean chunkAInList = chunkListing.hasChunk(mChunkHashA);
+        boolean chunkBInList = chunkListing.hasChunk(mChunkHashB);
+        boolean chunkCInList = chunkListing.hasChunk(mChunkHashC);
+
+        assertThat(chunkAInList).isTrue();
+        assertThat(chunkBInList).isTrue();
+        assertThat(chunkCInList).isTrue();
+    }
+
+    @Test
+    public void testHasChunk_whenChunkNotInListing_returnsFalse() throws Exception {
+        byte[] chunkListingProto =
+                createChunkListingProto(
+                        new ChunkHash[] {mChunkHashA, mChunkHashB},
+                        new int[] {CHUNK_A_LENGTH, CHUNK_B_LENGTH});
+        ChunkListing chunkListing =
+                ChunkListing.readFromProto(
+                        new ProtoInputStream(new ByteArrayInputStream(chunkListingProto)));
+        ChunkHash chunkHashEmpty = getHash("");
+
+        boolean chunkCInList = chunkListing.hasChunk(mChunkHashC);
+        boolean emptyChunkInList = chunkListing.hasChunk(chunkHashEmpty);
+
+        assertThat(chunkCInList).isFalse();
+        assertThat(emptyChunkInList).isFalse();
+    }
+
+    @Test
+    public void testGetChunkEntry_returnsEntryWithCorrectLength() throws Exception {
+        byte[] chunkListingProto =
+                createChunkListingProto(
+                        new ChunkHash[] {mChunkHashA, mChunkHashB, mChunkHashC},
+                        new int[] {CHUNK_A_LENGTH, CHUNK_B_LENGTH, CHUNK_C_LENGTH});
+        ChunkListing chunkListing =
+                ChunkListing.readFromProto(
+                        new ProtoInputStream(new ByteArrayInputStream(chunkListingProto)));
+
+        ChunkListing.Entry entryA = chunkListing.getChunkEntry(mChunkHashA);
+        ChunkListing.Entry entryB = chunkListing.getChunkEntry(mChunkHashB);
+        ChunkListing.Entry entryC = chunkListing.getChunkEntry(mChunkHashC);
+
+        assertThat(entryA.getLength()).isEqualTo(CHUNK_A_LENGTH);
+        assertThat(entryB.getLength()).isEqualTo(CHUNK_B_LENGTH);
+        assertThat(entryC.getLength()).isEqualTo(CHUNK_C_LENGTH);
+    }
+
+    @Test
+    public void testGetChunkEntry_returnsEntryWithCorrectStart() throws Exception {
+        byte[] chunkListingProto =
+                createChunkListingProto(
+                        new ChunkHash[] {mChunkHashA, mChunkHashB, mChunkHashC},
+                        new int[] {CHUNK_A_LENGTH, CHUNK_B_LENGTH, CHUNK_C_LENGTH});
+        ChunkListing chunkListing =
+                ChunkListing.readFromProto(
+                        new ProtoInputStream(new ByteArrayInputStream(chunkListingProto)));
+
+        ChunkListing.Entry entryA = chunkListing.getChunkEntry(mChunkHashA);
+        ChunkListing.Entry entryB = chunkListing.getChunkEntry(mChunkHashB);
+        ChunkListing.Entry entryC = chunkListing.getChunkEntry(mChunkHashC);
+
+        assertThat(entryA.getStart()).isEqualTo(0);
+        assertThat(entryB.getStart()).isEqualTo(CHUNK_A_LENGTH);
+        assertThat(entryC.getStart()).isEqualTo(CHUNK_A_LENGTH + CHUNK_B_LENGTH);
+    }
+
+    @Test
+    public void testGetChunkEntry_returnsNullForNonExistentChunk() throws Exception {
+        byte[] chunkListingProto =
+                createChunkListingProto(
+                        new ChunkHash[] {mChunkHashA, mChunkHashB},
+                        new int[] {CHUNK_A_LENGTH, CHUNK_B_LENGTH});
+        ChunkListing chunkListing =
+                ChunkListing.readFromProto(
+                        new ProtoInputStream(new ByteArrayInputStream(chunkListingProto)));
+
+        ChunkListing.Entry chunkEntryNonexistentChunk = chunkListing.getChunkEntry(mChunkHashC);
+
+        assertThat(chunkEntryNonexistentChunk).isNull();
+    }
+
+    @Test
+    public void testReadFromProto_whenEmptyProto_returnsChunkListingWith0Chunks() throws Exception {
+        ProtoInputStream emptyProto = new ProtoInputStream(new ByteArrayInputStream(new byte[] {}));
+
+        ChunkListing chunkListing = ChunkListing.readFromProto(emptyProto);
+
+        assertThat(chunkListing.getChunkCount()).isEqualTo(0);
+    }
+
+    @Test
+    public void testReadFromProto_returnsChunkListingWithCorrectSize() throws Exception {
+        byte[] chunkListingProto =
+                createChunkListingProto(
+                        new ChunkHash[] {mChunkHashA, mChunkHashB, mChunkHashC},
+                        new int[] {CHUNK_A_LENGTH, CHUNK_B_LENGTH, CHUNK_C_LENGTH});
+
+        ChunkListing chunkListing =
+                ChunkListing.readFromProto(
+                        new ProtoInputStream(new ByteArrayInputStream(chunkListingProto)));
+
+        assertThat(chunkListing.getChunkCount()).isEqualTo(3);
+    }
+
+    private byte[] createChunkListingProto(ChunkHash[] hashes, int[] lengths) {
+        Preconditions.checkArgument(hashes.length == lengths.length);
+        ProtoOutputStream outputStream = new ProtoOutputStream();
+
+        for (int i = 0; i < hashes.length; ++i) {
+            writeToProtoOutputStream(outputStream, hashes[i], lengths[i]);
+        }
+        outputStream.flush();
+
+        return outputStream.getBytes();
+    }
+
+    private void writeToProtoOutputStream(ProtoOutputStream out, ChunkHash chunkHash, int length) {
+        long token = out.start(ChunksMetadataProto.ChunkListing.CHUNKS);
+        out.write(ChunksMetadataProto.Chunk.HASH, chunkHash.getHash());
+        out.write(ChunksMetadataProto.Chunk.LENGTH, length);
+        out.end(token);
+    }
+
+    private ChunkHash getHash(String name) {
+        return new ChunkHash(
+                Arrays.copyOf(name.getBytes(Charsets.UTF_8), ChunkHash.HASH_LENGTH_BYTES));
+    }
+}
diff --git a/services/robotests/src/com/android/server/backup/encryption/chunk/ChunkTest.java b/services/robotests/src/com/android/server/backup/encryption/chunk/ChunkTest.java
new file mode 100644
index 0000000..1dd7dc8
--- /dev/null
+++ b/services/robotests/src/com/android/server/backup/encryption/chunk/ChunkTest.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.server.backup.encryption.chunk;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.platform.test.annotations.Presubmit;
+import android.util.proto.ProtoInputStream;
+import android.util.proto.ProtoOutputStream;
+import com.android.server.testing.FrameworkRobolectricTestRunner;
+import com.android.server.testing.SystemLoaderPackages;
+import com.google.common.base.Charsets;
+import java.io.ByteArrayInputStream;
+import java.util.Arrays;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.annotation.Config;
+
+@RunWith(FrameworkRobolectricTestRunner.class)
+@Config(manifest = Config.NONE, sdk = 26)
+// Include android.util.proto in addition to classes under test because the latest versions of
+// android.util.proto.Proto{Input|Output}Stream are not part of Robolectric.
+@SystemLoaderPackages({"com.android.server.backup", "android.util.proto"})
+@Presubmit
+public class ChunkTest {
+    private static final String CHUNK_A = "CHUNK_A";
+    private static final int CHUNK_A_LENGTH = 256;
+
+    private ChunkHash mChunkHashA;
+
+    @Before
+    public void setUp() throws Exception {
+        mChunkHashA = getHash(CHUNK_A);
+    }
+
+    @Test
+    public void testReadFromProto_readsCorrectly() throws Exception {
+        ProtoOutputStream out = new ProtoOutputStream();
+        out.write(ChunksMetadataProto.Chunk.HASH, mChunkHashA.getHash());
+        out.write(ChunksMetadataProto.Chunk.LENGTH, CHUNK_A_LENGTH);
+        out.flush();
+        byte[] protoBytes = out.getBytes();
+
+        Chunk chunk =
+                Chunk.readFromProto(new ProtoInputStream(new ByteArrayInputStream(protoBytes)));
+
+        assertThat(chunk.getHash()).isEqualTo(mChunkHashA.getHash());
+        assertThat(chunk.getLength()).isEqualTo(CHUNK_A_LENGTH);
+    }
+
+    @Test
+    public void testReadFromProto_whenFieldsWrittenInReversedOrder_readsCorrectly()
+            throws Exception {
+        ProtoOutputStream out = new ProtoOutputStream();
+        // Write fields of Chunk proto in reverse order.
+        out.write(ChunksMetadataProto.Chunk.LENGTH, CHUNK_A_LENGTH);
+        out.write(ChunksMetadataProto.Chunk.HASH, mChunkHashA.getHash());
+        out.flush();
+        byte[] protoBytes = out.getBytes();
+
+        Chunk chunk =
+                Chunk.readFromProto(new ProtoInputStream(new ByteArrayInputStream(protoBytes)));
+
+        assertThat(chunk.getHash()).isEqualTo(mChunkHashA.getHash());
+        assertThat(chunk.getLength()).isEqualTo(CHUNK_A_LENGTH);
+    }
+
+    @Test
+    public void testReadFromProto_whenEmptyProto_returnsEmptyHash() throws Exception {
+        ProtoInputStream emptyProto = new ProtoInputStream(new ByteArrayInputStream(new byte[] {}));
+
+        Chunk chunk = Chunk.readFromProto(emptyProto);
+
+        assertThat(chunk.getHash()).asList().hasSize(0);
+        assertThat(chunk.getLength()).isEqualTo(0);
+    }
+
+    @Test
+    public void testReadFromProto_whenOnlyHashSet_returnsChunkWithOnlyHash() throws Exception {
+        ProtoOutputStream out = new ProtoOutputStream();
+        out.write(ChunksMetadataProto.Chunk.HASH, mChunkHashA.getHash());
+        out.flush();
+        byte[] protoBytes = out.getBytes();
+
+        Chunk chunk =
+                Chunk.readFromProto(new ProtoInputStream(new ByteArrayInputStream(protoBytes)));
+
+        assertThat(chunk.getHash()).isEqualTo(mChunkHashA.getHash());
+        assertThat(chunk.getLength()).isEqualTo(0);
+    }
+
+    @Test
+    public void testReadFromProto_whenOnlyLengthSet_returnsChunkWithOnlyLength() throws Exception {
+        ProtoOutputStream out = new ProtoOutputStream();
+        out.write(ChunksMetadataProto.Chunk.LENGTH, CHUNK_A_LENGTH);
+        out.flush();
+        byte[] protoBytes = out.getBytes();
+
+        Chunk chunk =
+                Chunk.readFromProto(new ProtoInputStream(new ByteArrayInputStream(protoBytes)));
+
+        assertThat(chunk.getHash()).isEqualTo(new byte[] {});
+        assertThat(chunk.getLength()).isEqualTo(CHUNK_A_LENGTH);
+    }
+
+    private ChunkHash getHash(String name) {
+        return new ChunkHash(
+                Arrays.copyOf(name.getBytes(Charsets.UTF_8), ChunkHash.HASH_LENGTH_BYTES));
+    }
+}
diff --git a/services/robotests/src/com/android/server/backup/encryption/chunk/EncryptedChunkOrderingTest.java b/services/robotests/src/com/android/server/backup/encryption/chunk/EncryptedChunkOrderingTest.java
new file mode 100644
index 0000000..1cd1528
--- /dev/null
+++ b/services/robotests/src/com/android/server/backup/encryption/chunk/EncryptedChunkOrderingTest.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.server.backup.encryption.chunk;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.platform.test.annotations.Presubmit;
+import com.android.server.testing.FrameworkRobolectricTestRunner;
+import com.android.server.testing.SystemLoaderPackages;
+import com.google.common.primitives.Bytes;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.annotation.Config;
+
+@RunWith(FrameworkRobolectricTestRunner.class)
+@Config(manifest = Config.NONE, sdk = 26)
+@SystemLoaderPackages({"com.android.server.backup"})
+@Presubmit
+public class EncryptedChunkOrderingTest {
+    private static final byte[] TEST_BYTE_ARRAY_1 = new byte[] {1, 2, 3, 4, 5};
+    private static final byte[] TEST_BYTE_ARRAY_2 = new byte[] {5, 4, 3, 2, 1};
+
+    @Test
+    public void testEncryptedChunkOrdering_returnsValue() {
+        EncryptedChunkOrdering encryptedChunkOrdering =
+                EncryptedChunkOrdering.create(TEST_BYTE_ARRAY_1);
+
+        byte[] bytes = encryptedChunkOrdering.encryptedChunkOrdering();
+
+        assertThat(bytes)
+                .asList()
+                .containsExactlyElementsIn(Bytes.asList(TEST_BYTE_ARRAY_1))
+                .inOrder();
+    }
+
+    @Test
+    public void testEquals() {
+        EncryptedChunkOrdering chunkOrdering1 = EncryptedChunkOrdering.create(TEST_BYTE_ARRAY_1);
+        EncryptedChunkOrdering equalChunkOrdering1 =
+                EncryptedChunkOrdering.create(TEST_BYTE_ARRAY_1);
+        EncryptedChunkOrdering chunkOrdering2 = EncryptedChunkOrdering.create(TEST_BYTE_ARRAY_2);
+
+        assertThat(chunkOrdering1).isEqualTo(equalChunkOrdering1);
+        assertThat(chunkOrdering1).isNotEqualTo(chunkOrdering2);
+    }
+
+    @Test
+    public void testHashCode() {
+        EncryptedChunkOrdering chunkOrdering1 = EncryptedChunkOrdering.create(TEST_BYTE_ARRAY_1);
+        EncryptedChunkOrdering equalChunkOrdering1 =
+                EncryptedChunkOrdering.create(TEST_BYTE_ARRAY_1);
+        EncryptedChunkOrdering chunkOrdering2 = EncryptedChunkOrdering.create(TEST_BYTE_ARRAY_2);
+
+        int hash1 = chunkOrdering1.hashCode();
+        int equalHash1 = equalChunkOrdering1.hashCode();
+        int hash2 = chunkOrdering2.hashCode();
+
+        assertThat(hash1).isEqualTo(equalHash1);
+        assertThat(hash1).isNotEqualTo(hash2);
+    }
+}
diff --git a/services/robotests/src/com/android/server/backup/keyvalue/AgentExceptionTest.java b/services/robotests/src/com/android/server/backup/keyvalue/AgentExceptionTest.java
new file mode 100644
index 0000000..3730335
--- /dev/null
+++ b/services/robotests/src/com/android/server/backup/keyvalue/AgentExceptionTest.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.server.backup.keyvalue;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.platform.test.annotations.Presubmit;
+
+import com.android.server.testing.FrameworkRobolectricTestRunner;
+import com.android.server.testing.SystemLoaderPackages;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.annotation.Config;
+
+import java.io.IOException;
+
+@RunWith(FrameworkRobolectricTestRunner.class)
+@Config(manifest = Config.NONE, sdk = 26)
+@SystemLoaderPackages({"com.android.server.backup"})
+@Presubmit
+public class AgentExceptionTest {
+    @Test
+    public void testTransitory_isTransitory() throws Exception {
+        AgentException exception = AgentException.transitory();
+
+        assertThat(exception.isTransitory()).isTrue();
+    }
+
+    @Test
+    public void testTransitory_withCause() throws Exception {
+        Exception cause = new IOException();
+
+        AgentException exception = AgentException.transitory(cause);
+
+        assertThat(exception.isTransitory()).isTrue();
+        assertThat(exception.getCause()).isEqualTo(cause);
+    }
+
+    @Test
+    public void testPermanent_isNotTransitory() throws Exception {
+        AgentException exception = AgentException.permanent();
+
+        assertThat(exception.isTransitory()).isFalse();
+    }
+
+    @Test
+    public void testPermanent_withCause() throws Exception {
+        Exception cause = new IOException();
+
+        AgentException exception = AgentException.permanent(cause);
+
+        assertThat(exception.isTransitory()).isFalse();
+        assertThat(exception.getCause()).isEqualTo(cause);
+    }
+}
diff --git a/services/robotests/src/com/android/server/backup/keyvalue/BackupExceptionTest.java b/services/robotests/src/com/android/server/backup/keyvalue/BackupExceptionTest.java
new file mode 100644
index 0000000..5ea74f1
--- /dev/null
+++ b/services/robotests/src/com/android/server/backup/keyvalue/BackupExceptionTest.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.server.backup.keyvalue;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.platform.test.annotations.Presubmit;
+
+import com.android.server.testing.FrameworkRobolectricTestRunner;
+import com.android.server.testing.SystemLoaderPackages;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.annotation.Config;
+
+import java.io.IOException;
+
+@RunWith(FrameworkRobolectricTestRunner.class)
+@Config(manifest = Config.NONE, sdk = 26)
+@SystemLoaderPackages({"com.android.server.backup"})
+@Presubmit
+public class BackupExceptionTest {
+    @Test
+    public void testConstructor_passesCause() {
+        Exception cause = new IOException();
+
+        Exception exception = new BackupException(cause);
+
+        assertThat(exception.getCause()).isEqualTo(cause);
+    }
+}
diff --git a/services/robotests/src/com/android/server/backup/keyvalue/KeyValueBackupReporterTest.java b/services/robotests/src/com/android/server/backup/keyvalue/KeyValueBackupReporterTest.java
index 21b90f1..31e8333 100644
--- a/services/robotests/src/com/android/server/backup/keyvalue/KeyValueBackupReporterTest.java
+++ b/services/robotests/src/com/android/server/backup/keyvalue/KeyValueBackupReporterTest.java
@@ -62,6 +62,13 @@
     }
 
     @Test
+    public void testMoreDebug_isFalse() throws Exception {
+        boolean moreDebug = KeyValueBackupReporter.MORE_DEBUG;
+
+        assertThat(moreDebug).isFalse();
+    }
+
+    @Test
     public void testOnNewThread_logsCorrectly() throws Exception {
         KeyValueBackupReporter.onNewThread("foo");
 
@@ -81,39 +88,4 @@
 
         assertThat(observer).isEqualTo(mObserver);
     }
-
-    @Test
-    public void testOnRevertTask_logsCorrectly() throws Exception {
-        setMoreDebug(true);
-
-        mReporter.onRevertTask();
-
-        assertLogcat(TAG, Log.INFO);
-    }
-
-    @Test
-    public void testOnRemoteCallReturned_logsCorrectly() throws Exception {
-        setMoreDebug(true);
-
-        mReporter.onRemoteCallReturned(RemoteResult.of(3), "onFoo()");
-
-        assertLogcat(TAG, Log.VERBOSE);
-        ShadowLog.LogItem log = ShadowLog.getLogsForTag(TAG).get(0);
-        assertThat(log.msg).contains("onFoo()");
-        assertThat(log.msg).contains("3");
-    }
-
-    /**
-     * HACK: We actually want {@link KeyValueBackupReporter#MORE_DEBUG} to be a constant to be able
-     * to strip those lines at build time. So, we have to do this to test :(
-     */
-    private static void setMoreDebug(boolean value)
-            throws NoSuchFieldException, IllegalAccessException {
-        if (KeyValueBackupReporter.MORE_DEBUG == value) {
-            return;
-        }
-        Field moreDebugField = KeyValueBackupReporter.class.getDeclaredField("MORE_DEBUG");
-        moreDebugField.setAccessible(true);
-        moreDebugField.set(null, value);
-    }
 }
diff --git a/services/robotests/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java b/services/robotests/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java
index b4bc9d1..fb57d68 100644
--- a/services/robotests/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java
+++ b/services/robotests/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java
@@ -155,9 +155,7 @@
 import java.util.concurrent.TimeoutException;
 import java.util.stream.Stream;
 
-// TODO: When returning to RUNNING_QUEUE vs FINAL, RUNNING_QUEUE sets status = OK. Why? Verify?
-// TODO: Check queue in general, behavior w/ multiple packages
-// TODO: Test PM invocation
+// TODO: Test agents timing out
 @RunWith(FrameworkRobolectricTestRunner.class)
 @Config(
         manifest = Config.NONE,
@@ -370,6 +368,47 @@
     }
 
     @Test
+    public void testRunTask_whenOnePackage_cleansUpPmFiles() throws Exception {
+        TransportMock transportMock = setUpInitializedTransport(mTransport);
+        setUpAgent(PACKAGE_1);
+        KeyValueBackupTask task = createKeyValueBackupTask(transportMock, PACKAGE_1);
+
+        runTask(task);
+
+        assertCleansUpFiles(mTransport, PM_PACKAGE);
+    }
+
+    @Test
+    public void testRunTask_whenTransportReturnsTransportErrorForPm_cleansUpPmFiles()
+            throws Exception {
+        TransportMock transportMock = setUpInitializedTransport(mTransport);
+        when(transportMock.transport.performBackup(
+                        argThat(packageInfo(PM_PACKAGE)), any(), anyInt()))
+                .thenReturn(BackupTransport.TRANSPORT_PACKAGE_REJECTED);
+        setUpAgent(PACKAGE_1);
+        KeyValueBackupTask task = createKeyValueBackupTask(transportMock, PACKAGE_1);
+
+        runTask(task);
+
+        assertCleansUpFiles(mTransport, PM_PACKAGE);
+    }
+
+    @Test
+    public void testRunTask_whenTransportReturnsTransportErrorForPm_resetsBackupState()
+            throws Exception {
+        TransportMock transportMock = setUpInitializedTransport(mTransport);
+        when(transportMock.transport.performBackup(
+                        argThat(packageInfo(PM_PACKAGE)), any(), anyInt()))
+                .thenReturn(BackupTransport.TRANSPORT_PACKAGE_REJECTED);
+        setUpAgent(PACKAGE_1);
+        KeyValueBackupTask task = createKeyValueBackupTask(transportMock, PACKAGE_1);
+
+        runTask(task);
+
+        verify(mBackupManagerService).resetBackupState(getStateDirectory(mTransport).toFile());
+    }
+
+    @Test
     public void testRunTask_whenOnePackage_updatesBookkeeping() throws Exception {
         // Transport has to be initialized to not reset current token
         TransportMock transportMock = setUpInitializedTransport(mTransport);
@@ -418,7 +457,7 @@
     public void testRunTask_whenNonPmPackageAndNonIncremental_doesNotBackUpPm() throws Exception {
         TransportMock transportMock = setUpInitializedTransport(mTransport);
         setUpAgentWithData(PACKAGE_1);
-        PackageManagerBackupAgent pmAgent = spy(createPmAgent());
+        BackupAgent pmAgent = spy(createPmAgent());
         when(mBackupManagerService.makeMetadataAgent()).thenReturn(forward(pmAgent));
         KeyValueBackupTask task = createKeyValueBackupTask(transportMock, true, PACKAGE_1);
 
@@ -431,7 +470,7 @@
     public void testRunTask_whenNonPmPackageAndPmAndNonIncremental_backsUpPm() throws Exception {
         TransportMock transportMock = setUpInitializedTransport(mTransport);
         setUpAgentWithData(PACKAGE_1);
-        PackageManagerBackupAgent pmAgent = spy(createPmAgent());
+        BackupAgent pmAgent = spy(createPmAgent());
         when(mBackupManagerService.makeMetadataAgent()).thenReturn(forward(pmAgent));
         KeyValueBackupTask task =
                 createKeyValueBackupTask(transportMock, true, PACKAGE_1, PM_PACKAGE);
@@ -445,7 +484,7 @@
     public void testRunTask_whenNonPmPackageAndIncremental_backsUpPm() throws Exception {
         TransportMock transportMock = setUpInitializedTransport(mTransport);
         setUpAgentWithData(PACKAGE_1);
-        PackageManagerBackupAgent pmAgent = spy(createPmAgent());
+        BackupAgent pmAgent = spy(createPmAgent());
         when(mBackupManagerService.makeMetadataAgent()).thenReturn(forward(pmAgent));
         KeyValueBackupTask task = createKeyValueBackupTask(transportMock, false, PACKAGE_1);
 
@@ -529,6 +568,35 @@
     }
 
     @Test
+    public void testRunTask_whenPackageUnknown() throws Exception {
+        TransportMock transportMock = setUpInitializedTransport(mTransport);
+        // Not calling setUpAgent() for PACKAGE_1
+        KeyValueBackupTask task = createKeyValueBackupTask(transportMock, PACKAGE_1);
+
+        runTask(task);
+
+        verify(transportMock.transport, never())
+                .performBackup(argThat(packageInfo(PACKAGE_1)), any(), anyInt());
+        verify(mObserver).onResult(PACKAGE_1.packageName, ERROR_PACKAGE_NOT_FOUND);
+        verify(mObserver).backupFinished(SUCCESS);
+        assertBackupNotPendingFor(PACKAGE_1);
+    }
+
+    @Test
+    public void testRunTask_whenFirstPackageUnknown_callsTransportForSecondPackage()
+            throws Exception {
+        TransportMock transportMock = setUpInitializedTransport(mTransport);
+        // Not calling setUpAgent() for PACKAGE_1
+        setUpAgentWithData(PACKAGE_2);
+        KeyValueBackupTask task = createKeyValueBackupTask(transportMock, PACKAGE_1, PACKAGE_2);
+
+        runTask(task);
+
+        verify(transportMock.transport)
+                .performBackup(argThat(packageInfo(PACKAGE_2)), any(), anyInt());
+    }
+
+    @Test
     public void testRunTask_whenPackageNotEligibleForBackup() throws Exception {
         TransportMock transportMock = setUpInitializedTransport(mTransport);
         AgentMock agentMock = setUpAgentWithData(PACKAGE_1.backupNotAllowed());
@@ -545,6 +613,19 @@
     }
 
     @Test
+    public void testRunTask_whenFirstPackageNotEligibleForBackup_callsTransportForSecondPackage()
+            throws Exception {
+        TransportMock transportMock = setUpInitializedTransport(mTransport);
+        setUpAgentsWithData(PACKAGE_1.backupNotAllowed(), PACKAGE_2);
+        KeyValueBackupTask task = createKeyValueBackupTask(transportMock, PACKAGE_1, PACKAGE_2);
+
+        runTask(task);
+
+        verify(transportMock.transport)
+                .performBackup(argThat(packageInfo(PACKAGE_2)), any(), anyInt());
+    }
+
+    @Test
     public void testRunTask_whenPackageDoesFullBackup() throws Exception {
         TransportMock transportMock = setUpInitializedTransport(mTransport);
         PackageData packageData = fullBackupPackage(1);
@@ -561,6 +642,20 @@
     }
 
     @Test
+    public void testRunTask_whenFirstPackageDoesFullBackup_callsTransportForSecondPackage()
+            throws Exception {
+        TransportMock transportMock = setUpInitializedTransport(mTransport);
+        PackageData packageData = fullBackupPackage(1);
+        setUpAgentsWithData(packageData, PACKAGE_2);
+        KeyValueBackupTask task = createKeyValueBackupTask(transportMock, packageData, PACKAGE_2);
+
+        runTask(task);
+
+        verify(transportMock.transport)
+                .performBackup(argThat(packageInfo(PACKAGE_2)), any(), anyInt());
+    }
+
+    @Test
     public void testRunTask_whenPackageIsStopped() throws Exception {
         TransportMock transportMock = setUpInitializedTransport(mTransport);
         AgentMock agentMock = setUpAgentWithData(PACKAGE_1.stopped());
@@ -575,18 +670,16 @@
     }
 
     @Test
-    public void testRunTask_whenPackageUnknown() throws Exception {
+    public void testRunTask_whenFirstPackageIsStopped_callsTransportForSecondPackage()
+            throws Exception {
         TransportMock transportMock = setUpInitializedTransport(mTransport);
-        // Not calling setUpAgent()
-        KeyValueBackupTask task = createKeyValueBackupTask(transportMock, PACKAGE_1);
+        setUpAgentsWithData(PACKAGE_1.stopped(), PACKAGE_2);
+        KeyValueBackupTask task = createKeyValueBackupTask(transportMock, PACKAGE_1, PACKAGE_2);
 
         runTask(task);
 
-        verify(transportMock.transport, never())
-                .performBackup(argThat(packageInfo(PACKAGE_1)), any(), anyInt());
-        verify(mObserver).onResult(PACKAGE_1.packageName, ERROR_PACKAGE_NOT_FOUND);
-        verify(mObserver).backupFinished(SUCCESS);
-        assertBackupNotPendingFor(PACKAGE_1);
+        verify(transportMock.transport)
+                .performBackup(argThat(packageInfo(PACKAGE_2)), any(), anyInt());
     }
 
     @Test
@@ -629,6 +722,7 @@
         verify(mBackupManagerService).setWorkSource(null);
         verify(mObserver).onResult(PACKAGE_1.packageName, ERROR_AGENT_FAILURE);
         verify(mObserver).backupFinished(BackupManager.SUCCESS);
+        assertBackupPendingFor(PACKAGE_1);
     }
 
     @Test
@@ -645,6 +739,7 @@
         verify(mBackupManagerService).setWorkSource(null);
         verify(mObserver).onResult(PACKAGE_1.packageName, ERROR_AGENT_FAILURE);
         verify(mObserver).backupFinished(BackupManager.SUCCESS);
+        assertBackupPendingFor(PACKAGE_1);
     }
 
     @Test
@@ -798,7 +893,7 @@
 
         runTask(task);
 
-        assertBackupNotPendingFor(PACKAGE_1);
+        assertBackupPendingFor(PACKAGE_1);
     }
 
     @Test
@@ -1140,6 +1235,38 @@
     }
 
     @Test
+    public void testRunTask_whenPmAgentWritesData_callsTransportPerformBackupWithAgentData()
+            throws Exception {
+        TransportMock transportMock = setUpInitializedTransport(mTransport);
+        setUpAgent(PACKAGE_1);
+        Path backupDataPath = createTemporaryFile();
+        when(transportMock.transport.performBackup(
+                        argThat(packageInfo(PM_PACKAGE)), any(), anyInt()))
+                .then(copyBackupDataTo(backupDataPath));
+        BackupAgent pmAgent = spy(createPmAgent());
+        when(mBackupManagerService.makeMetadataAgent()).thenReturn(forward(pmAgent));
+        agentOnBackupDo(
+                pmAgent,
+                (oldState, dataOutput, newState) -> {
+                    writeData(dataOutput, "key1", "data1".getBytes());
+                    writeData(dataOutput, "key2", "data2".getBytes());
+                    writeState(newState, "newState".getBytes());
+                });
+        KeyValueBackupTask task = createKeyValueBackupTask(transportMock, PACKAGE_1);
+
+        runTask(task);
+
+        verify(transportMock.transport)
+                .performBackup(argThat(packageInfo(PM_PACKAGE)), any(), anyInt());
+        try (FileInputStream inputStream = new FileInputStream(backupDataPath.toFile())) {
+            BackupDataInput backupData = new BackupDataInput(inputStream.getFD());
+            assertDataHasKeyValue(backupData, "key1", "data1".getBytes());
+            assertDataHasKeyValue(backupData, "key2", "data2".getBytes());
+            assertThat(backupData.readNextHeader()).isFalse();
+        }
+    }
+
+    @Test
     public void testRunTask_whenPerformBackupSucceeds_callsTransportFinishBackup()
             throws Exception {
         TransportMock transportMock = setUpInitializedTransport(mTransport);
@@ -1176,6 +1303,50 @@
     }
 
     @Test
+    public void testRunTask_whenFinishBackupSucceedsForPm_cleansUp() throws Exception {
+        TransportMock transportMock = setUpInitializedTransport(mTransport);
+        setUpAgent(PACKAGE_1);
+        when(transportMock.transport.finishBackup()).thenReturn(BackupTransport.TRANSPORT_OK);
+        BackupAgent pmAgent = spy(createPmAgent());
+        when(mBackupManagerService.makeMetadataAgent()).thenReturn(forward(pmAgent));
+        agentOnBackupDo(
+                pmAgent,
+                (oldState, dataOutput, newState) -> {
+                    writeData(dataOutput, "key", "data".getBytes());
+                    writeState(newState, "newState".getBytes());
+                });
+        KeyValueBackupTask task = createKeyValueBackupTask(transportMock, PACKAGE_1);
+
+        runTask(task);
+
+        assertThat(Files.readAllBytes(getStateFile(mTransport, PM_PACKAGE)))
+                .isEqualTo("newState".getBytes());
+        assertCleansUpFiles(mTransport, PM_PACKAGE);
+        // We don't unbind PM
+        verify(mBackupManagerService, never()).unbindAgent(argThat(applicationInfo(PM_PACKAGE)));
+    }
+
+    @Test
+    public void testRunTask_whenFinishBackupSucceedsForPm_doesNotUnbindPm() throws Exception {
+        TransportMock transportMock = setUpInitializedTransport(mTransport);
+        setUpAgent(PACKAGE_1);
+        when(transportMock.transport.finishBackup()).thenReturn(BackupTransport.TRANSPORT_OK);
+        BackupAgent pmAgent = spy(createPmAgent());
+        when(mBackupManagerService.makeMetadataAgent()).thenReturn(forward(pmAgent));
+        agentOnBackupDo(
+                pmAgent,
+                (oldState, dataOutput, newState) -> {
+                    writeData(dataOutput, "key", "data".getBytes());
+                    writeState(newState, "newState".getBytes());
+                });
+        KeyValueBackupTask task = createKeyValueBackupTask(transportMock, PACKAGE_1);
+
+        runTask(task);
+
+        verify(mBackupManagerService, never()).unbindAgent(argThat(applicationInfo(PM_PACKAGE)));
+    }
+
+    @Test
     public void testRunTask_whenFinishBackupSucceeds_logsBackupPackageEvent() throws Exception {
         TransportMock transportMock = setUpInitializedTransport(mTransport);
         setUpAgentWithData(PACKAGE_1);
@@ -1354,6 +1525,7 @@
     public void testRunTask_whenTransportReturnsQuotaExceeded_updatesBookkeeping()
             throws Exception {
         TransportMock transportMock = setUpInitializedTransport(mTransport);
+        setUpAgentWithData(PACKAGE_1);
         when(transportMock.transport.performBackup(
                         argThat(packageInfo(PACKAGE_1)), any(), anyInt()))
                 .thenReturn(BackupTransport.TRANSPORT_QUOTA_EXCEEDED);
@@ -1701,9 +1873,9 @@
     }
 
     @Test
-    public void testRunTask_whenPmAgentFails() throws Exception {
+    public void testRunTask_whenPmAgentFails_reportsCorrectly() throws Exception {
         TransportMock transportMock = setUpInitializedTransport(mTransport);
-        PackageManagerBackupAgent pmAgent = createThrowingPmAgent(new RuntimeException());
+        BackupAgent pmAgent = createThrowingPmAgent(new RuntimeException());
         when(mBackupManagerService.makeMetadataAgent()).thenReturn(pmAgent);
         KeyValueBackupTask task = createKeyValueBackupTask(transportMock, PACKAGE_1);
 
@@ -1718,6 +1890,75 @@
     }
 
     @Test
+    public void testRunTask_whenPmAgentFails_revertsTask() throws Exception {
+        TransportMock transportMock = setUpInitializedTransport(mTransport);
+        setUpAgent(PACKAGE_1);
+        BackupAgent pmAgent = createThrowingPmAgent(new RuntimeException());
+        when(mBackupManagerService.makeMetadataAgent()).thenReturn(pmAgent);
+        KeyValueBackupTask task = createKeyValueBackupTask(transportMock, PACKAGE_1);
+
+        runTask(task);
+
+        assertTaskReverted(transportMock, PACKAGE_1);
+    }
+
+    @Test
+    public void testRunTask_whenPmAgentFails_cleansUpFiles() throws Exception {
+        TransportMock transportMock = setUpInitializedTransport(mTransport);
+        setUpAgent(PACKAGE_1);
+        BackupAgent pmAgent = createThrowingPmAgent(new RuntimeException());
+        when(mBackupManagerService.makeMetadataAgent()).thenReturn(pmAgent);
+        KeyValueBackupTask task = createKeyValueBackupTask(transportMock, PACKAGE_1);
+
+        runTask(task);
+
+        assertCleansUpFiles(mTransport, PM_PACKAGE);
+    }
+
+    @Test
+    public void testRunTask_whenPmAgentFails_resetsBackupState() throws Exception {
+        TransportMock transportMock = setUpInitializedTransport(mTransport);
+        setUpAgent(PACKAGE_1);
+        BackupAgent pmAgent = createThrowingPmAgent(new RuntimeException());
+        when(mBackupManagerService.makeMetadataAgent()).thenReturn(pmAgent);
+        KeyValueBackupTask task = createKeyValueBackupTask(transportMock, PACKAGE_1);
+
+        runTask(task);
+
+        verify(mBackupManagerService).resetBackupState(getStateDirectory(mTransport).toFile());
+    }
+
+    @Test
+    public void testRunTask_whenMarkCancelDuringPmOnBackup_resetsBackupState() throws Exception {
+        TransportMock transportMock = setUpInitializedTransport(mTransport);
+        setUpAgent(PACKAGE_1);
+        BackupAgent pmAgent = spy(createPmAgent());
+        when(mBackupManagerService.makeMetadataAgent()).thenReturn(forward(pmAgent));
+        KeyValueBackupTask task = createKeyValueBackupTask(transportMock, PACKAGE_1);
+        agentOnBackupDo(
+                pmAgent, (oldState, dataOutput, newState) -> runInWorkerThread(task::markCancel));
+
+        runTask(task);
+
+        verify(mBackupManagerService).resetBackupState(getStateDirectory(mTransport).toFile());
+    }
+
+    @Test
+    public void testRunTask_whenMarkCancelDuringPmOnBackup_cleansUpFiles() throws Exception {
+        TransportMock transportMock = setUpInitializedTransport(mTransport);
+        setUpAgent(PACKAGE_1);
+        BackupAgent pmAgent = spy(createPmAgent());
+        when(mBackupManagerService.makeMetadataAgent()).thenReturn(forward(pmAgent));
+        KeyValueBackupTask task = createKeyValueBackupTask(transportMock, PACKAGE_1);
+        agentOnBackupDo(
+                pmAgent, (oldState, dataOutput, newState) -> runInWorkerThread(task::markCancel));
+
+        runTask(task);
+
+        assertCleansUpFiles(mTransport, PM_PACKAGE);
+    }
+
+    @Test
     public void testRunTask_whenBackupRunning_doesNotThrow() throws Exception {
         TransportMock transportMock = setUpInitializedTransport(mTransport);
         when(mBackupManagerService.isBackupOperationInProgress()).thenReturn(true);
@@ -1736,7 +1977,7 @@
 
         runTask(task);
 
-        verify(mReporter).onReadAgentDataError(eq(PACKAGE_1.packageName), any());
+        verify(mReporter).onAgentDataError(eq(PACKAGE_1.packageName), any());
     }
 
     @Test
@@ -1779,6 +2020,24 @@
     }
 
     @Test
+    public void testRunTask_whenMarkCancelDuringAgentOnBackup_cleansUpFiles() throws Exception {
+        TransportMock transportMock = setUpInitializedTransport(mTransport);
+        AgentMock agentMock = setUpAgent(PACKAGE_1);
+        KeyValueBackupTask task = createKeyValueBackupTask(transportMock, PACKAGE_1);
+        agentOnBackupDo(
+                agentMock,
+                (oldState, dataOutput, newState) -> {
+                    writeData(dataOutput, "key", "data".getBytes());
+                    writeState(newState, "newState".getBytes());
+                    runInWorkerThread(task::markCancel);
+                });
+
+        runTask(task);
+
+        assertCleansUpFiles(mTransport, PACKAGE_1);
+    }
+
+    @Test
     public void
             testRunTask_whenMarkCancelDuringFirstAgentOnBackup_doesNotCallTransportAfterWaitCancel()
                     throws Exception {
@@ -2293,20 +2552,28 @@
      */
     private static void agentOnBackupDo(AgentMock agentMock, BackupAgentOnBackup function)
             throws Exception {
-        doAnswer(
-                        (BackupAgentOnBackup)
-                                (oldState, dataOutput, newState) -> {
-                                    ByteArrayOutputStream outputStream =
-                                            new ByteArrayOutputStream();
-                                    transferStreamedData(
-                                            new FileInputStream(oldState.getFileDescriptor()),
-                                            outputStream);
-                                    agentMock.oldState = outputStream.toByteArray();
-                                    agentMock.oldStateHistory.add(agentMock.oldState);
-                                    function.onBackup(oldState, dataOutput, newState);
-                                })
-                .when(agentMock.agent)
-                .onBackup(any(), any(), any());
+        agentOnBackupDo(
+                agentMock.agent,
+                (oldState, dataOutput, newState) -> {
+                    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+                    transferStreamedData(
+                            new FileInputStream(oldState.getFileDescriptor()), outputStream);
+                    agentMock.oldState = outputStream.toByteArray();
+                    agentMock.oldStateHistory.add(agentMock.oldState);
+                    function.onBackup(oldState, dataOutput, newState);
+                });
+    }
+
+    /**
+     * Implements {@code function} for {@link BackupAgent#onBackup(ParcelFileDescriptor,
+     * BackupDataOutput, ParcelFileDescriptor)} of {@code agentMock}.
+     *
+     * @see #agentOnBackupDo(AgentMock, BackupAgentOnBackup)
+     * @see #remoteAgentOnBackupThrows(AgentMock, BackupAgentOnBackup)
+     */
+    private static void agentOnBackupDo(BackupAgent backupAgent, BackupAgentOnBackup function)
+            throws IOException {
+        doAnswer(function).when(backupAgent).onBackup(any(), any(), any());
     }
 
     /**
@@ -2400,6 +2667,10 @@
             // constructor
             assertJournalDoesNotContain(mBackupManagerService.getJournal(), packageName);
             assertThat(mBackupManagerService.getPendingBackups()).doesNotContainKey(packageName);
+            // Also verifying BMS is never called since for some cases the package wouldn't be
+            // pending for other reasons (for example it's not eligible for backup). Regardless of
+            // these reasons, we shouldn't mark them as pending backup (call dataChangedImpl()).
+            verify(mBackupManagerService, never()).dataChangedImpl(packageName);
         }
     }
 
diff --git a/services/robotests/src/com/android/server/backup/keyvalue/TaskExceptionTest.java b/services/robotests/src/com/android/server/backup/keyvalue/TaskExceptionTest.java
new file mode 100644
index 0000000..4b79657
--- /dev/null
+++ b/services/robotests/src/com/android/server/backup/keyvalue/TaskExceptionTest.java
@@ -0,0 +1,152 @@
+/*
+ * Copyright (C) 2018 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
+ */
+
+package com.android.server.backup.keyvalue;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.testng.Assert.expectThrows;
+
+import android.app.backup.BackupTransport;
+import android.platform.test.annotations.Presubmit;
+
+import com.android.server.testing.FrameworkRobolectricTestRunner;
+import com.android.server.testing.SystemLoaderPackages;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.annotation.Config;
+
+import java.io.IOException;
+
+@RunWith(FrameworkRobolectricTestRunner.class)
+@Config(manifest = Config.NONE, sdk = 26)
+@SystemLoaderPackages({"com.android.server.backup"})
+@Presubmit
+public class TaskExceptionTest {
+    @Test
+    public void testStateCompromised() {
+        TaskException exception = TaskException.stateCompromised();
+
+        assertThat(exception.isStateCompromised()).isTrue();
+        assertThat(exception.getStatus()).isEqualTo(BackupTransport.TRANSPORT_ERROR);
+    }
+
+    @Test
+    public void testStateCompromised_whenCauseInstanceOfTaskException() {
+        Exception cause = TaskException.forStatus(BackupTransport.TRANSPORT_NOT_INITIALIZED);
+
+        TaskException exception = TaskException.stateCompromised(cause);
+
+        assertThat(exception.isStateCompromised()).isTrue();
+        assertThat(exception.getStatus()).isEqualTo(BackupTransport.TRANSPORT_NOT_INITIALIZED);
+        assertThat(exception.getCause()).isEqualTo(cause);
+    }
+
+    @Test
+    public void testStateCompromised_whenCauseNotInstanceOfTaskException() {
+        Exception cause = new IOException();
+
+        TaskException exception = TaskException.stateCompromised(cause);
+
+        assertThat(exception.isStateCompromised()).isTrue();
+        assertThat(exception.getStatus()).isEqualTo(BackupTransport.TRANSPORT_ERROR);
+        assertThat(exception.getCause()).isEqualTo(cause);
+    }
+
+    @Test
+    public void testForStatus_whenTransportOk_throws() {
+        expectThrows(
+                IllegalArgumentException.class,
+                () -> TaskException.forStatus(BackupTransport.TRANSPORT_OK));
+    }
+
+    @Test
+    public void testForStatus_whenTransportNotInitialized() {
+        TaskException exception =
+                TaskException.forStatus(BackupTransport.TRANSPORT_NOT_INITIALIZED);
+
+        assertThat(exception.isStateCompromised()).isFalse();
+        assertThat(exception.getStatus()).isEqualTo(BackupTransport.TRANSPORT_NOT_INITIALIZED);
+    }
+
+    @Test
+    public void testCausedBy_whenCauseInstanceOfTaskException_returnsCause() {
+        Exception cause = TaskException.forStatus(BackupTransport.TRANSPORT_NOT_INITIALIZED);
+
+        TaskException exception = TaskException.causedBy(cause);
+
+        assertThat(exception).isEqualTo(cause);
+    }
+
+    @Test
+    public void testCausedBy_whenCauseNotInstanceOfTaskException() {
+        Exception cause = new IOException();
+
+        TaskException exception = TaskException.causedBy(cause);
+
+        assertThat(exception).isNotEqualTo(cause);
+        assertThat(exception.isStateCompromised()).isFalse();
+        assertThat(exception.getStatus()).isEqualTo(BackupTransport.TRANSPORT_ERROR);
+        assertThat(exception.getCause()).isEqualTo(cause);
+    }
+
+    @Test
+    public void testCreate() {
+        TaskException exception = TaskException.create();
+
+        assertThat(exception.isStateCompromised()).isFalse();
+        assertThat(exception.getStatus()).isEqualTo(BackupTransport.TRANSPORT_ERROR);
+    }
+
+    @Test
+    public void testIsStateCompromised_whenStateCompromised_returnsTrue() {
+        TaskException taskException = TaskException.stateCompromised();
+
+        boolean stateCompromised = taskException.isStateCompromised();
+
+        assertThat(stateCompromised).isTrue();
+    }
+
+    @Test
+    public void testIsStateCompromised_whenCreatedWithCreate_returnsFalse() {
+        TaskException taskException = TaskException.create();
+
+        boolean stateCompromised = taskException.isStateCompromised();
+
+        assertThat(stateCompromised).isFalse();
+    }
+
+    @Test
+    public void testGetStatus_whenStatusIsTransportPackageRejected() {
+        TaskException taskException =
+                TaskException.forStatus(BackupTransport.TRANSPORT_PACKAGE_REJECTED);
+
+        int status = taskException.getStatus();
+
+        assertThat(status).isEqualTo(BackupTransport.TRANSPORT_PACKAGE_REJECTED);
+    }
+
+    @Test
+    public void testGetStatus_whenStatusIsTransportNotInitialized() {
+        TaskException taskException =
+                TaskException.forStatus(BackupTransport.TRANSPORT_NOT_INITIALIZED);
+
+        int status = taskException.getStatus();
+
+        assertThat(status).isEqualTo(BackupTransport.TRANSPORT_NOT_INITIALIZED);
+    }
+}
diff --git a/services/robotests/src/com/android/server/backup/testing/TransportData.java b/services/robotests/src/com/android/server/backup/testing/TransportData.java
index 4c67180..77f5d9a4 100644
--- a/services/robotests/src/com/android/server/backup/testing/TransportData.java
+++ b/services/robotests/src/com/android/server/backup/testing/TransportData.java
@@ -48,9 +48,9 @@
 
     public static TransportData localTransport() {
         return new TransportData(
-                "android/com.android.internal.backup.LocalTransport",
-                "android/com.android.internal.backup.LocalTransportService",
-                "com.android.internal.backup.LocalTransport",
+                "com.android.localtransport/.LocalTransport",
+                "com.android.localtransport/.LocalTransportService",
+                "com.android.localtransport.LocalTransport",
                 null,
                 "Backing up to debug-only private cache",
                 null,
diff --git a/services/robotests/src/com/android/server/testing/shadows/ShadowBackupPolicyEnforcer.java b/services/robotests/src/com/android/server/testing/shadows/ShadowBackupPolicyEnforcer.java
deleted file mode 100644
index e76b9d1..0000000
--- a/services/robotests/src/com/android/server/testing/shadows/ShadowBackupPolicyEnforcer.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.android.server.testing.shadows;
-
-import android.annotation.Nullable;
-import android.content.ComponentName;
-
-import com.android.server.backup.BackupPolicyEnforcer;
-
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-
-@Implements(BackupPolicyEnforcer.class)
-public class ShadowBackupPolicyEnforcer {
-    @Nullable private static ComponentName sMandatoryBackupTransport;
-
-    public static void setMandatoryBackupTransport(
-            @Nullable ComponentName backupTransportComponent) {
-        sMandatoryBackupTransport = backupTransportComponent;
-    }
-
-    @Implementation
-    @Nullable
-    public ComponentName getMandatoryBackupTransport() {
-        return sMandatoryBackupTransport;
-    }
-}
diff --git a/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java
index eb28e1a..1eb88ba 100644
--- a/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java
@@ -100,6 +100,7 @@
 import android.net.NetworkInfo;
 import android.net.NetworkInfo.DetailedState;
 import android.net.NetworkPolicy;
+import android.net.NetworkPolicyManager;
 import android.net.NetworkState;
 import android.net.NetworkStats;
 import android.net.NetworkStatsHistory;
@@ -365,7 +366,7 @@
                 return null;
             }
         }).when(mActivityManager).registerUidObserver(any(), anyInt(),
-                eq(ActivityManager.PROCESS_STATE_UNKNOWN), isNull(String.class));
+                eq(NetworkPolicyManager.FOREGROUND_THRESHOLD_STATE), isNull(String.class));
 
         mFutureIntent = newRestrictBackgroundChangedFuture();
         mService = new NetworkPolicyManagerService(mServiceContext, mActivityManager,
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityGestureDetectorTest.java b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityGestureDetectorTest.java
index 1c025cf..aad7230 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityGestureDetectorTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityGestureDetectorTest.java
@@ -18,23 +18,22 @@
 
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.reset;
-import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import android.accessibilityservice.AccessibilityService;
 import android.content.Context;
 import android.content.res.Resources;
 import android.graphics.Point;
 import android.graphics.PointF;
-import android.os.Looper;
 import android.util.DisplayMetrics;
 import android.view.GestureDetector;
 import android.view.MotionEvent;
-import java.util.ArrayList;
+
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 
+import java.util.ArrayList;
 
 /**
  * Tests for AccessibilityGestureDetector
@@ -50,14 +49,6 @@
     private AccessibilityGestureDetector mDetector;
     private AccessibilityGestureDetector.Listener mResultListener;
 
-
-    @BeforeClass
-    public static void oneTimeInitialization() {
-        if (Looper.myLooper() == null) {
-            Looper.prepare();
-        }
-    }
-
     @Before
     public void setUp() {
         // Construct a mock Context.
@@ -67,7 +58,6 @@
         Resources mockResources = mock(Resources.class);
         when(mockResources.getDisplayMetrics()).thenReturn(displayMetricsMock);
         Context contextMock = mock(Context.class);
-        when(contextMock.getMainLooper()).thenReturn(Looper.myLooper());
         when(contextMock.getResources()).thenReturn(mockResources);
 
         // Construct a testable AccessibilityGestureDetector.
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityManagerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityManagerTest.java
index 4c0f38a..b9b6d55 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityManagerTest.java
@@ -29,7 +29,6 @@
 
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.app.Instrumentation;
-import android.os.Looper;
 import android.os.UserHandle;
 import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityManager;
@@ -41,8 +40,8 @@
 
 import com.android.internal.util.IntPair;
 
+import org.junit.After;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -63,13 +62,6 @@
     private MessageCapturingHandler mHandler;
     private Instrumentation mInstrumentation;
 
-    @BeforeClass
-    public static void oneTimeInitialization() {
-        if (Looper.myLooper() == null) {
-            Looper.prepare();
-        }
-    }
-
     @Before
     public void setUp() throws Exception {
         MockitoAnnotations.initMocks(this);
@@ -77,6 +69,12 @@
         mInstrumentation = InstrumentationRegistry.getInstrumentation();
     }
 
+    @After
+    public void tearDown() {
+        mHandler.removeAllMessages();
+    }
+
+
     private AccessibilityManager createManager(boolean enabled) throws Exception {
         long serviceReturnValue = IntPair.of(
                 (enabled) ? AccessibilityManager.STATE_FLAG_ACCESSIBILITY_ENABLED : 0,
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityServiceConnectionTest.java b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityServiceConnectionTest.java
index 412e844..66d9345 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityServiceConnectionTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityServiceConnectionTest.java
@@ -33,16 +33,14 @@
 import android.content.pm.ApplicationInfo;
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
-import android.os.Handler;
 import android.os.IBinder;
-import android.os.Looper;
 import android.os.RemoteException;
 import android.os.UserHandle;
 
 import com.android.server.wm.WindowManagerInternal;
 
+import org.junit.After;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
@@ -74,13 +72,6 @@
 
     MessageCapturingHandler mHandler = new MessageCapturingHandler(null);
 
-    @BeforeClass
-    public static void oneTimeInitialization() {
-        if (Looper.myLooper() == null) {
-            Looper.prepare();
-        }
-    }
-
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
@@ -98,6 +89,12 @@
                 mMockGlobalActionPerformer);
     }
 
+    @After
+    public void tearDown() {
+        mHandler.removeAllMessages();
+    }
+
+
     @Test
     public void bind_requestsContextToBindService() {
         mConnection.bindLocked();
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/FingerprintGestureControllerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/FingerprintGestureControllerTest.java
index a3decb9..44a514f 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/FingerprintGestureControllerTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/FingerprintGestureControllerTest.java
@@ -16,19 +16,8 @@
 
 package com.android.server.accessibility;
 
-import android.accessibilityservice.FingerprintGestureController;
-import android.accessibilityservice.FingerprintGestureController.FingerprintGestureCallback;
-import android.accessibilityservice.IAccessibilityServiceConnection;
-import android.os.Looper;
-import android.support.test.filters.FlakyTest;
-
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import static android.accessibilityservice.FingerprintGestureController.FINGERPRINT_GESTURE_SWIPE_DOWN;
+import static android.accessibilityservice.FingerprintGestureController
+        .FINGERPRINT_GESTURE_SWIPE_DOWN;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
@@ -38,6 +27,15 @@
 import static org.mockito.Mockito.verifyZeroInteractions;
 import static org.mockito.Mockito.when;
 
+import android.accessibilityservice.FingerprintGestureController;
+import android.accessibilityservice.FingerprintGestureController.FingerprintGestureCallback;
+import android.accessibilityservice.IAccessibilityServiceConnection;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
 /**
  * Tests for FingerprintGestureController.
  * TODO: These tests aren't really for server code, so this isn't their ideal home.
@@ -47,13 +45,6 @@
     @Mock FingerprintGestureCallback mMockFingerprintGestureCallback;
     FingerprintGestureController mFingerprintGestureController;
 
-    @BeforeClass
-    public static void oneTimeInitialization() {
-        if (Looper.myLooper() == null) {
-            Looper.prepare();
-        }
-    }
-
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
@@ -97,7 +88,6 @@
     }
 
     @Test
-    @FlakyTest
     public void testDetectionActiveCallback_withHandler_shouldPostRunnableToHandler() {
         MessageCapturingHandler messageCapturingHandler = new MessageCapturingHandler((message) -> {
             message.getCallback().run();
@@ -127,6 +117,8 @@
         mFingerprintGestureController.onGestureDetectionActiveChanged(false);
         assertFalse(messageCapturingHandler.hasMessages());
         verifyZeroInteractions(mMockFingerprintGestureCallback);
+
+        messageCapturingHandler.removeAllMessages();
     }
 
     @Test
@@ -145,7 +137,6 @@
     }
 
     @Test
-    @FlakyTest
     public void testGestureCallback_withHandler_shouldPostRunnableToHandler() {
         MessageCapturingHandler messageCapturingHandler = new MessageCapturingHandler((message) -> {
             message.getCallback().run();
@@ -167,5 +158,7 @@
         mFingerprintGestureController.onGesture(FINGERPRINT_GESTURE_SWIPE_DOWN);
         assertFalse(messageCapturingHandler.hasMessages());
         verifyZeroInteractions(mMockFingerprintGestureCallback);
+
+        messageCapturingHandler.removeAllMessages();
     }
 }
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/FingerprintGestureDispatcherTest.java b/services/tests/servicestests/src/com/android/server/accessibility/FingerprintGestureDispatcherTest.java
index 6ce7bbe..de7bc44 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/FingerprintGestureDispatcherTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/FingerprintGestureDispatcherTest.java
@@ -16,25 +16,6 @@
 
 package com.android.server.accessibility;
 
-import android.accessibilityservice.FingerprintGestureController;
-import android.content.res.Resources;
-import android.hardware.fingerprint.IFingerprintService;
-import android.os.Handler;
-import android.os.Looper;
-import android.os.Message;
-import android.view.KeyEvent;
-
-import com.android.server.accessibility.FingerprintGestureDispatcher.FingerprintGestureClient;
-
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import java.util.Arrays;
-import java.util.Collections;
-
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Matchers.anyBoolean;
@@ -44,6 +25,22 @@
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
+import android.accessibilityservice.FingerprintGestureController;
+import android.content.res.Resources;
+import android.hardware.fingerprint.IFingerprintService;
+import android.view.KeyEvent;
+
+import com.android.server.accessibility.FingerprintGestureDispatcher.FingerprintGestureClient;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.Arrays;
+import java.util.Collections;
+
 /**
  * Tests for FingerprintGestureDispatcher
  */
@@ -57,13 +54,6 @@
     private MessageCapturingHandler mMessageCapturingHandler;
     private FingerprintGestureDispatcher mFingerprintGestureDispatcher;
 
-    @BeforeClass
-    public static void oneTimeInitialization() {
-        if (Looper.myLooper() == null) {
-            Looper.prepare();
-        }
-    }
-
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
@@ -77,6 +67,12 @@
         when(mGestureCapturingClient.isCapturingFingerprintGestures()).thenReturn(true);
     }
 
+    @After
+    public void tearDown() {
+        mMessageCapturingHandler.removeAllMessages();
+    }
+
+
     @Test
     public void testNoServices_doesNotCrashOrConsumeGestures() {
         mFingerprintGestureDispatcher.onClientActiveChanged(true);
@@ -171,7 +167,7 @@
     }
 
     @Test
-    public void ifGestureDectionNotSupported_neverSaysAvailable() throws Exception {
+    public void ifGestureDetectionNotSupported_neverSaysAvailable() throws Exception {
         when(mMockResources.getBoolean(anyInt())).thenReturn(false);
         // Need to create a new dispatcher, since it picks up the resource value in its
         // constructor. This is fine since hardware config values don't change dynamically.
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/KeyEventDispatcherTest.java b/services/tests/servicestests/src/com/android/server/accessibility/KeyEventDispatcherTest.java
index 236b458..23ce483 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/KeyEventDispatcherTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/KeyEventDispatcherTest.java
@@ -40,6 +40,7 @@
 import android.os.RemoteException;
 import android.view.KeyEvent;
 
+import androidx.test.InstrumentationRegistry;
 import androidx.test.runner.AndroidJUnit4;
 
 import com.android.server.accessibility.KeyEventDispatcher.KeyEventFilter;
@@ -47,16 +48,14 @@
 
 import org.hamcrest.Description;
 import org.hamcrest.TypeSafeMatcher;
+import org.junit.After;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
 
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.List;
 
 /**
  * Tests for KeyEventDispatcher
@@ -68,7 +67,7 @@
     private final KeyEvent mKeyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, 0x40);
     private final KeyEvent mOtherKeyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, 0x50);
     private final Object mLock = new Object();
-    private MessageCapturingHandler mInputEventsHander;
+    private MessageCapturingHandler mInputEventsHandler;
     private KeyEventDispatcher mKeyEventDispatcher;
     private KeyEventFilter mKeyEventFilter1;
     private KeyEventFilter mKeyEventFilter2;
@@ -77,23 +76,17 @@
     private ArgumentCaptor<Integer> mFilter1SequenceCaptor = ArgumentCaptor.forClass(Integer.class);
     private ArgumentCaptor<Integer> mFilter2SequenceCaptor = ArgumentCaptor.forClass(Integer.class);
 
-    @BeforeClass
-    public static void oneTimeInitialization() {
-        if (Looper.myLooper() == null) {
-            Looper.prepare();
-        }
-    }
-
     @Before
     public void setUp() {
-        mInputEventsHander = new MessageCapturingHandler();
+        Looper looper = InstrumentationRegistry.getContext().getMainLooper();
+        mInputEventsHandler = new MessageCapturingHandler(looper, null);
         mMockPowerManagerService = mock(IPowerManager.class);
         // TODO: It would be better to mock PowerManager rather than its binder, but the class is
         // final.
         PowerManager powerManager =
-                new PowerManager(mock(Context.class), mMockPowerManagerService, new Handler());
-        mMessageCapturingHandler = new MessageCapturingHandler();
-        mKeyEventDispatcher = new KeyEventDispatcher(mInputEventsHander, SEND_FRAMEWORK_KEY_EVENT,
+                new PowerManager(mock(Context.class), mMockPowerManagerService, new Handler(looper));
+        mMessageCapturingHandler = new MessageCapturingHandler(looper, null);
+        mKeyEventDispatcher = new KeyEventDispatcher(mInputEventsHandler, SEND_FRAMEWORK_KEY_EVENT,
                 mLock, powerManager, mMessageCapturingHandler);
 
         mKeyEventFilter1 = mock(KeyEventFilter.class);
@@ -107,10 +100,17 @@
                 .thenReturn(true);
     }
 
+    @After
+    public void tearDown() {
+        mInputEventsHandler.removeAllMessages();
+        mMessageCapturingHandler.removeAllMessages();
+    }
+
+
     @Test
     public void testNotifyKeyEvent_withNoBoundServices_shouldReturnFalse() {
         assertFalse(mKeyEventDispatcher.notifyKeyEventLocked(mKeyEvent, 0, Collections.EMPTY_LIST));
-        assertFalse(mMessageCapturingHandler.isTimeoutPending());
+        assertFalse(isTimeoutPending(mMessageCapturingHandler));
     }
 
     @Test
@@ -119,7 +119,7 @@
         when(keyEventFilter.onKeyEvent((KeyEvent) anyObject(), anyInt())).thenReturn(false);
         assertFalse(mKeyEventDispatcher
                 .notifyKeyEventLocked(mKeyEvent, 0, Arrays.asList(keyEventFilter)));
-        assertFalse(mMessageCapturingHandler.isTimeoutPending());
+        assertFalse(isTimeoutPending(mMessageCapturingHandler));
     }
 
     @Test
@@ -152,9 +152,9 @@
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter1, false,
                 mFilter1SequenceCaptor.getValue());
 
-        assertTrue(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertTrue(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
         verifyZeroInteractions(mMockPowerManagerService);
-        assertFalse(mMessageCapturingHandler.isTimeoutPending());
+        assertFalse(isTimeoutPending(mMessageCapturingHandler));
     }
 
     @Test
@@ -166,10 +166,10 @@
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter1, true,
                 mFilter1SequenceCaptor.getValue());
 
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
         verify(mMockPowerManagerService, times(1)).userActivity(anyLong(),
                 eq(PowerManager.USER_ACTIVITY_EVENT_ACCESSIBILITY), eq(0));
-        assertFalse(mMessageCapturingHandler.isTimeoutPending());
+        assertFalse(isTimeoutPending(mMessageCapturingHandler));
     }
 
     @Test
@@ -182,9 +182,9 @@
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter2, false,
                 mFilter2SequenceCaptor.getValue());
 
-        assertTrue(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertTrue(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
         verifyZeroInteractions(mMockPowerManagerService);
-        assertFalse(mMessageCapturingHandler.isTimeoutPending());
+        assertFalse(isTimeoutPending(mMessageCapturingHandler));
     }
 
     @Test
@@ -198,10 +198,10 @@
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter2, true,
                 mFilter2SequenceCaptor.getValue());
 
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
         verify(mMockPowerManagerService, times(1)).userActivity(anyLong(),
                 eq(PowerManager.USER_ACTIVITY_EVENT_ACCESSIBILITY), eq(0));
-        assertFalse(mMessageCapturingHandler.isTimeoutPending());
+        assertFalse(isTimeoutPending(mMessageCapturingHandler));
     }
 
     @Test
@@ -215,10 +215,10 @@
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter2, false,
                 mFilter2SequenceCaptor.getValue());
 
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
         verify(mMockPowerManagerService, times(1)).userActivity(anyLong(),
                 eq(PowerManager.USER_ACTIVITY_EVENT_ACCESSIBILITY), eq(0));
-        assertFalse(mMessageCapturingHandler.isTimeoutPending());
+        assertFalse(isTimeoutPending(mMessageCapturingHandler));
     }
 
     @Test
@@ -232,10 +232,10 @@
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter2, true,
                 mFilter2SequenceCaptor.getValue());
 
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
         verify(mMockPowerManagerService, times(1)).userActivity(anyLong(),
                 eq(PowerManager.USER_ACTIVITY_EVENT_ACCESSIBILITY), eq(0));
-        assertFalse(mMessageCapturingHandler.isTimeoutPending());
+        assertFalse(isTimeoutPending(mMessageCapturingHandler));
     }
 
     // Each event should have its result set only once, but if it's set twice, we should ignore
@@ -249,14 +249,14 @@
                 mFilter1SequenceCaptor.getValue());
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter1, false,
                 mFilter1SequenceCaptor.getValue());
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
 
         // Verify event is sent properly when other service responds
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter2, false,
                 mFilter2SequenceCaptor.getValue());
-        assertTrue(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertTrue(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
         verifyZeroInteractions(mMockPowerManagerService);
-        assertFalse(mMessageCapturingHandler.isTimeoutPending());
+        assertFalse(isTimeoutPending(mMessageCapturingHandler));
     }
 
 
@@ -269,9 +269,9 @@
                 mKeyEvent, 0, Arrays.asList(mKeyEventFilter1, mKeyEventFilter2));
 
         assertEquals(1, mMessageCapturingHandler.timedMessages.size());
-        mKeyEventDispatcher.handleMessage(mMessageCapturingHandler.timedMessages.get(0));
+        mKeyEventDispatcher.handleMessage(getTimedMessage(mMessageCapturingHandler, 0));
 
-        assertTrue(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertTrue(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
         verifyZeroInteractions(mMockPowerManagerService);
     }
 
@@ -284,9 +284,9 @@
                 mFilter1SequenceCaptor.getValue());
 
         assertEquals(1, mMessageCapturingHandler.timedMessages.size());
-        mKeyEventDispatcher.handleMessage(mMessageCapturingHandler.timedMessages.get(0));
+        mKeyEventDispatcher.handleMessage(getTimedMessage(mMessageCapturingHandler, 0));
 
-        assertTrue(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertTrue(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
         verifyZeroInteractions(mMockPowerManagerService);
     }
 
@@ -300,9 +300,9 @@
                 mFilter1SequenceCaptor.getValue());
 
         assertEquals(1, mMessageCapturingHandler.timedMessages.size());
-        mKeyEventDispatcher.handleMessage(mMessageCapturingHandler.timedMessages.get(0));
+        mKeyEventDispatcher.handleMessage(getTimedMessage(mMessageCapturingHandler, 0));
 
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
         verify(mMockPowerManagerService, times(1)).userActivity(anyLong(),
                 eq(PowerManager.USER_ACTIVITY_EVENT_ACCESSIBILITY), eq(0));
     }
@@ -310,34 +310,34 @@
     @Test
     public void testEventTimesOut_thenServiceReturnsFalse_shouldPassToFrameworkOnce() {
         mKeyEventDispatcher.notifyKeyEventLocked(mKeyEvent, 0, Arrays.asList(mKeyEventFilter1));
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
 
         assertEquals(1, mMessageCapturingHandler.timedMessages.size());
-        mKeyEventDispatcher.handleMessage(mMessageCapturingHandler.timedMessages.get(0));
-        assertTrue(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        mKeyEventDispatcher.handleMessage(getTimedMessage(mMessageCapturingHandler, 0));
+        assertTrue(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
 
-        mInputEventsHander.removeMessages(SEND_FRAMEWORK_KEY_EVENT);
+        mInputEventsHandler.removeMessages(SEND_FRAMEWORK_KEY_EVENT);
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter1, false,
                 mFilter1SequenceCaptor.getValue());
 
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
         verifyZeroInteractions(mMockPowerManagerService);
     }
 
     @Test
     public void testEventTimesOut_afterServiceReturnsFalse_shouldPassToFrameworkOnce() {
         mKeyEventDispatcher.notifyKeyEventLocked(mKeyEvent, 0, Arrays.asList(mKeyEventFilter1));
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
 
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter1, false,
                 mFilter1SequenceCaptor.getValue());
-        assertTrue(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertTrue(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
 
-        mInputEventsHander.removeMessages(SEND_FRAMEWORK_KEY_EVENT);
+        mInputEventsHandler.removeMessages(SEND_FRAMEWORK_KEY_EVENT);
         assertEquals(1, mMessageCapturingHandler.timedMessages.size());
-        mKeyEventDispatcher.handleMessage(mMessageCapturingHandler.timedMessages.get(0));
+        mKeyEventDispatcher.handleMessage(getTimedMessage(mMessageCapturingHandler, 0));
 
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
         verifyZeroInteractions(mMockPowerManagerService);
     }
 
@@ -349,9 +349,9 @@
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter1, true,
                 mFilter1SequenceCaptor.getValue());
         assertEquals(1, mMessageCapturingHandler.timedMessages.size());
-        mKeyEventDispatcher.handleMessage(mMessageCapturingHandler.timedMessages.get(0));
+        mKeyEventDispatcher.handleMessage(getTimedMessage(mMessageCapturingHandler, 0));
 
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
         verify(mMockPowerManagerService, times(1)).userActivity(anyLong(),
                 eq(PowerManager.USER_ACTIVITY_EVENT_ACCESSIBILITY), eq(0));
     }
@@ -362,11 +362,11 @@
     @Test
     public void testFlushService_withPendingEvent_shouldPassToFramework() {
         mKeyEventDispatcher.notifyKeyEventLocked(mKeyEvent, 0, Arrays.asList(mKeyEventFilter1));
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
 
         mKeyEventDispatcher.flush(mKeyEventFilter1);
 
-        assertTrue(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertTrue(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
     }
 
     @Test
@@ -377,7 +377,7 @@
         mKeyEventDispatcher.flush(mKeyEventFilter1);
         mKeyEventDispatcher.flush(mKeyEventFilter2);
 
-        assertTrue(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertTrue(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
     }
 
     @Test
@@ -389,7 +389,7 @@
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter2, true,
                 mFilter2SequenceCaptor.getValue());
 
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
     }
 
     @Test
@@ -401,7 +401,7 @@
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter2, false,
                 mFilter2SequenceCaptor.getValue());
 
-        assertTrue(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertTrue(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
     }
 
     @Test
@@ -417,11 +417,11 @@
         mKeyEventDispatcher.notifyKeyEventLocked(mKeyEvent, 0, Arrays.asList(mKeyEventFilter1));
         mKeyEventDispatcher
                 .notifyKeyEventLocked(mOtherKeyEvent, 0, Arrays.asList(mKeyEventFilter1));
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
 
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter1, false,
                 mFilter1SequenceCaptor.getAllValues().get(0));
-        mInputEventsHander.removeMessages(SEND_FRAMEWORK_KEY_EVENT);
+        mInputEventsHandler.removeMessages(SEND_FRAMEWORK_KEY_EVENT);
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter1, false,
                 mFilter1SequenceCaptor.getAllValues().get(1));
 
@@ -433,14 +433,14 @@
         mKeyEventDispatcher.notifyKeyEventLocked(mKeyEvent, 0, Arrays.asList(mKeyEventFilter1));
         mKeyEventDispatcher
                 .notifyKeyEventLocked(mOtherKeyEvent, 0, Arrays.asList(mKeyEventFilter1));
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
 
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter1, true,
                 mFilter1SequenceCaptor.getAllValues().get(0));
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter1, true,
                 mFilter1SequenceCaptor.getAllValues().get(1));
 
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
     }
 
     @Test
@@ -448,7 +448,7 @@
         mKeyEventDispatcher.notifyKeyEventLocked(mKeyEvent, 0, Arrays.asList(mKeyEventFilter1));
         mKeyEventDispatcher
                 .notifyKeyEventLocked(mOtherKeyEvent, 0, Arrays.asList(mKeyEventFilter1));
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
 
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter1, true,
                 mFilter1SequenceCaptor.getAllValues().get(0));
@@ -463,7 +463,7 @@
         mKeyEventDispatcher.notifyKeyEventLocked(mKeyEvent, 0, Arrays.asList(mKeyEventFilter1));
         mKeyEventDispatcher
                 .notifyKeyEventLocked(mOtherKeyEvent, 0, Arrays.asList(mKeyEventFilter1));
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
 
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter1, false,
                 mFilter1SequenceCaptor.getAllValues().get(0));
@@ -478,9 +478,9 @@
         mKeyEventDispatcher.notifyKeyEventLocked(mKeyEvent, 0, Arrays.asList(mKeyEventFilter1));
         mKeyEventDispatcher
                 .notifyKeyEventLocked(mOtherKeyEvent, 0, Arrays.asList(mKeyEventFilter1));
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
 
-        mKeyEventDispatcher.handleMessage(mMessageCapturingHandler.timedMessages.get(0));
+        mKeyEventDispatcher.handleMessage(getTimedMessage(mMessageCapturingHandler, 0));
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter1, true,
                 mFilter1SequenceCaptor.getAllValues().get(0));
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter1, true,
@@ -494,7 +494,7 @@
         mKeyEventDispatcher.notifyKeyEventLocked(mKeyEvent, 0, Arrays.asList(mKeyEventFilter1));
         mKeyEventDispatcher.notifyKeyEventLocked(
                 mOtherKeyEvent, 0, Arrays.asList(mKeyEventFilter1, mKeyEventFilter2));
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
 
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter2, false,
                 mFilter2SequenceCaptor.getValue());
@@ -513,7 +513,7 @@
         mKeyEventDispatcher.flush(mKeyEventFilter1);
         mKeyEventDispatcher.notifyKeyEventLocked(
                 mOtherKeyEvent, 0, Arrays.asList(mKeyEventFilter2));
-        assertFalse(mInputEventsHander.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
+        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
 
         mKeyEventDispatcher.setOnKeyEventResult(mKeyEventFilter2, false,
                 mFilter2SequenceCaptor.getAllValues().get(0));
@@ -543,24 +543,34 @@
     }
 
     private void assertOneKeyEventSentToFramework(KeyEvent event) {
-        assertEquals(1, mInputEventsHander.timedMessages.size());
-        assertEquals(SEND_FRAMEWORK_KEY_EVENT, mInputEventsHander.timedMessages.get(0).what);
-        assertEquals(WindowManagerPolicy.FLAG_PASS_TO_USER,
-                mInputEventsHander.timedMessages.get(0).arg1);
-        assertTrue(new KeyEventMatcher(event).matches(mInputEventsHander.timedMessages.get(0).obj));
+        assertEquals(1, mInputEventsHandler.timedMessages.size());
+
+        Message m = getTimedMessage(mInputEventsHandler, 0);
+        assertEquals(SEND_FRAMEWORK_KEY_EVENT, m.what);
+        assertEquals(WindowManagerPolicy.FLAG_PASS_TO_USER, m.arg1);
+        assertTrue(new KeyEventMatcher(event).matches(m.obj));
     }
 
     private void assertTwoKeyEventsSentToFrameworkInOrder(KeyEvent first, KeyEvent second) {
-        assertEquals(2, mInputEventsHander.timedMessages.size());
-        assertEquals(SEND_FRAMEWORK_KEY_EVENT, mInputEventsHander.timedMessages.get(0).what);
-        assertEquals(WindowManagerPolicy.FLAG_PASS_TO_USER,
-                mInputEventsHander.timedMessages.get(0).arg1);
-        assertTrue(new KeyEventMatcher(first).matches(mInputEventsHander.timedMessages.get(0).obj));
-        assertEquals(SEND_FRAMEWORK_KEY_EVENT, mInputEventsHander.timedMessages.get(1).what);
-        assertEquals(WindowManagerPolicy.FLAG_PASS_TO_USER,
-                mInputEventsHander.timedMessages.get(1).arg1);
-        assertTrue(new KeyEventMatcher(second)
-                .matches(mInputEventsHander.timedMessages.get(1).obj));
+        assertEquals(2, mInputEventsHandler.timedMessages.size());
+
+        Message m0 = getTimedMessage(mInputEventsHandler, 0);
+        assertEquals(SEND_FRAMEWORK_KEY_EVENT, m0.what);
+        assertEquals(WindowManagerPolicy.FLAG_PASS_TO_USER, m0.arg1);
+        assertTrue(new KeyEventMatcher(first).matches(m0.obj));
+
+        Message m1 = getTimedMessage(mInputEventsHandler, 1);
+        assertEquals(SEND_FRAMEWORK_KEY_EVENT, m1.what);
+        assertEquals(WindowManagerPolicy.FLAG_PASS_TO_USER, m1.arg1);
+        assertTrue(new KeyEventMatcher(second).matches(m1.obj));
+    }
+
+    private static Message getTimedMessage(MessageCapturingHandler handler, int i) {
+        return handler.timedMessages.get(i).first;
+    }
+
+    private static boolean isTimeoutPending(MessageCapturingHandler handler) {
+        return handler.hasMessages(KeyEventDispatcher.MSG_ON_KEY_EVENT_TIMEOUT);
     }
 
     private class KeyEventMatcher extends TypeSafeMatcher<KeyEvent> {
@@ -581,18 +591,4 @@
             description.appendText("Key event matcher");
         }
     }
-
-    private class MessageCapturingHandler extends Handler {
-        List<Message> timedMessages = new ArrayList<>();
-
-        @Override
-        public boolean sendMessageAtTime(Message message, long uptimeMillis) {
-            timedMessages.add(Message.obtain(message));
-            return super.sendMessageAtTime(message, uptimeMillis);
-        }
-
-        public boolean isTimeoutPending() {
-            return hasMessages(KeyEventDispatcher.MSG_ON_KEY_EVENT_TIMEOUT);
-        }
-    }
 }
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/KeyboardInterceptorTest.java b/services/tests/servicestests/src/com/android/server/accessibility/KeyboardInterceptorTest.java
index 851e221..9926a09 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/KeyboardInterceptorTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/KeyboardInterceptorTest.java
@@ -28,7 +28,6 @@
 import static org.mockito.Mockito.when;
 import static org.mockito.hamcrest.MockitoHamcrest.argThat;
 
-import android.os.Looper;
 import android.view.KeyEvent;
 
 import androidx.test.runner.AndroidJUnit4;
@@ -38,8 +37,8 @@
 
 import org.hamcrest.Description;
 import org.hamcrest.TypeSafeMatcher;
+import org.junit.After;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.InOrder;
@@ -58,19 +57,18 @@
     @Mock AccessibilityManagerService mMockAms;
     @Mock WindowManagerPolicy mMockPolicy;
 
-    @BeforeClass
-    public static void oneTimeInitialization() {
-        if (Looper.myLooper() == null) {
-            Looper.prepare();
-        }
-    }
-
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mInterceptor = new KeyboardInterceptor(mMockAms, mMockPolicy, mHandler);
     }
 
+    @After
+    public void tearDown() {
+        mHandler.removeAllMessages();
+    }
+
+
     @Test
     public void whenNonspecialKeyArrives_withNothingInQueue_eventGoesToAms() {
         KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_0);
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/MagnificationControllerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/MagnificationControllerTest.java
index d6d21c6..c88b873 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/MagnificationControllerTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/MagnificationControllerTest.java
@@ -43,9 +43,9 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
-import android.support.test.filters.FlakyTest;
 import android.view.MagnificationSpec;
 
+import androidx.test.InstrumentationRegistry;
 import androidx.test.runner.AndroidJUnit4;
 
 import com.android.internal.R;
@@ -55,8 +55,8 @@
 import org.hamcrest.CoreMatchers;
 import org.hamcrest.Description;
 import org.hamcrest.TypeSafeMatcher;
+import org.junit.After;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -67,7 +67,6 @@
 import java.util.Locale;
 
 @RunWith(AndroidJUnit4.class)
-@FlakyTest
 public class MagnificationControllerTest {
     static final Rect INITIAL_MAGNIFICATION_BOUNDS = new Rect(0, 0, 100, 200);
     static final PointF INITIAL_MAGNIFICATION_BOUNDS_CENTER = new PointF(
@@ -75,8 +74,10 @@
     static final PointF INITIAL_BOUNDS_UPPER_LEFT_2X_CENTER = new PointF(25, 50);
     static final PointF INITIAL_BOUNDS_LOWER_RIGHT_2X_CENTER = new PointF(75, 150);
     static final Rect OTHER_MAGNIFICATION_BOUNDS = new Rect(100, 200, 500, 600);
+    static final Rect OTHER_MAGNIFICATION_BOUNDS_COMPAT = new Rect(50, 100, 450, 500);
     static final PointF OTHER_BOUNDS_LOWER_RIGHT_2X_CENTER = new PointF(400, 500);
     static final Region INITIAL_MAGNIFICATION_REGION = new Region(INITIAL_MAGNIFICATION_BOUNDS);
+    static final Region OTHER_REGION_COMPAT = new Region(OTHER_MAGNIFICATION_BOUNDS_COMPAT);
     static final Region OTHER_REGION = new Region(OTHER_MAGNIFICATION_BOUNDS);
     static final int SERVICE_ID_1 = 1;
     static final int SERVICE_ID_2 = 2;
@@ -91,25 +92,17 @@
             return mMagnificationController.handleMessage(msg);
         }
     });
-    final ArgumentCaptor<MagnificationSpec> mMagnificationSpecCaptor =
-            ArgumentCaptor.forClass(MagnificationSpec.class);
     final ValueAnimator mMockValueAnimator = mock(ValueAnimator.class);
     MagnificationController.SettingsBridge mMockSettingsBridge;
 
-
     MagnificationController mMagnificationController;
     ValueAnimator.AnimatorUpdateListener mTargetAnimationListener;
 
-    @BeforeClass
-    public static void oneTimeInitialization() {
-        if (Looper.myLooper() == null) {
-            Looper.prepare();
-        }
-    }
-
     @Before
     public void setUp() {
-        when(mMockContext.getMainLooper()).thenReturn(Looper.myLooper());
+        Looper looper = InstrumentationRegistry.getContext().getMainLooper();
+        // Pretending ID of the Thread associated with looper as main thread ID in controller
+        when(mMockContext.getMainLooper()).thenReturn(looper);
         Resources mockResources = mock(Resources.class);
         when(mMockContext.getResources()).thenReturn(mockResources);
         when(mockResources.getInteger(R.integer.config_longAnimTime))
@@ -136,6 +129,12 @@
         Mockito.reset(mMockValueAnimator); // Ignore other initialization
     }
 
+    @After
+    public void tearDown() {
+        mMessageCapturingHandler.removeAllMessages();
+    }
+
+
     @Test
     public void testRegister_WindowManagerAndContextRegisterListeners() {
         mMagnificationController.register();
@@ -202,6 +201,7 @@
         final PointF offsets = computeOffsets(INITIAL_MAGNIFICATION_BOUNDS, center, scale);
         assertTrue(mMagnificationController
                 .setScale(scale, center.x, center.y, false, SERVICE_ID_1));
+        mMessageCapturingHandler.sendAllMessages();
 
         final MagnificationSpec expectedSpec = getMagnificationSpec(scale, offsets);
         verify(mMockWindowManager).setMagnificationSpec(argThat(closeTo(expectedSpec)));
@@ -219,6 +219,7 @@
         PointF pivotPoint = INITIAL_BOUNDS_LOWER_RIGHT_2X_CENTER;
         assertTrue(mMagnificationController
                 .setScale(scale, pivotPoint.x, pivotPoint.y, true, SERVICE_ID_1));
+        mMessageCapturingHandler.sendAllMessages();
 
         // New center should be halfway between original center and pivot
         PointF newCenter = new PointF((pivotPoint.x + INITIAL_MAGNIFICATION_BOUNDS.centerX()) / 2,
@@ -264,6 +265,7 @@
         PointF newCenter = INITIAL_BOUNDS_LOWER_RIGHT_2X_CENTER;
         assertTrue(mMagnificationController
                 .setCenter(newCenter.x, newCenter.y, false, SERVICE_ID_1));
+        mMessageCapturingHandler.sendAllMessages();
         PointF expectedOffsets = computeOffsets(INITIAL_MAGNIFICATION_BOUNDS, newCenter, scale);
         MagnificationSpec expectedSpec = getMagnificationSpec(scale, expectedOffsets);
 
@@ -284,6 +286,7 @@
 
         assertTrue(mMagnificationController.setScaleAndCenter(scale, newCenter.x, newCenter.y,
                 true, SERVICE_ID_1));
+        mMessageCapturingHandler.sendAllMessages();
 
         assertEquals(newCenter.x, mMagnificationController.getCenterX(), 0.5);
         assertEquals(newCenter.y, mMagnificationController.getCenterY(), 0.5);
@@ -325,6 +328,7 @@
         assertTrue(mMagnificationController.setScaleAndCenter(
                 MagnificationController.MAX_SCALE + 1.0f,
                 newCenter.x, newCenter.y, false, SERVICE_ID_1));
+        mMessageCapturingHandler.sendAllMessages();
 
         assertEquals(newCenter.x, mMagnificationController.getCenterX(), 0.5);
         assertEquals(newCenter.y, mMagnificationController.getCenterY(), 0.5);
@@ -335,6 +339,7 @@
         assertTrue(mMagnificationController.setScaleAndCenter(0.5f,
                 INITIAL_MAGNIFICATION_BOUNDS_CENTER.x, INITIAL_MAGNIFICATION_BOUNDS_CENTER.y,
                 false, SERVICE_ID_1));
+        mMessageCapturingHandler.sendAllMessages();
 
         assertEquals(INITIAL_MAGNIFICATION_BOUNDS_CENTER.x,
                 mMagnificationController.getCenterX(), 0.5);
@@ -351,6 +356,7 @@
         // Off the edge to the top and left
         assertTrue(mMagnificationController.setScaleAndCenter(
                 scale, -100f, -200f, false, SERVICE_ID_1));
+        mMessageCapturingHandler.sendAllMessages();
 
         PointF newCenter = INITIAL_BOUNDS_UPPER_LEFT_2X_CENTER;
         PointF newOffsets = computeOffsets(INITIAL_MAGNIFICATION_BOUNDS, newCenter, scale);
@@ -364,6 +370,7 @@
         assertTrue(mMagnificationController.setScaleAndCenter(scale,
                 INITIAL_MAGNIFICATION_BOUNDS.right + 1, INITIAL_MAGNIFICATION_BOUNDS.bottom + 1,
                 false, SERVICE_ID_1));
+        mMessageCapturingHandler.sendAllMessages();
         newCenter = INITIAL_BOUNDS_LOWER_RIGHT_2X_CENTER;
         newOffsets = computeOffsets(INITIAL_MAGNIFICATION_BOUNDS, newCenter, scale);
         assertEquals(newCenter.x, mMagnificationController.getCenterX(), 0.5);
@@ -391,12 +398,14 @@
         // First zoom in
         assertTrue(mMagnificationController
                 .setScaleAndCenter(scale, startCenter.x, startCenter.y, false, SERVICE_ID_1));
+        mMessageCapturingHandler.sendAllMessages();
         Mockito.reset(mMockWindowManager);
 
         PointF newCenter = INITIAL_BOUNDS_LOWER_RIGHT_2X_CENTER;
         PointF newOffsets = computeOffsets(INITIAL_MAGNIFICATION_BOUNDS, newCenter, scale);
         mMagnificationController.offsetMagnifiedRegion(
                 startOffsets.x - newOffsets.x, startOffsets.y - newOffsets.y, SERVICE_ID_1);
+        mMessageCapturingHandler.sendAllMessages();
 
         MagnificationSpec expectedSpec = getMagnificationSpec(scale, newOffsets);
         verify(mMockWindowManager).setMagnificationSpec(argThat(closeTo(expectedSpec)));
@@ -490,6 +499,7 @@
     public void testResetIfNeeded_doesWhatItSays() {
         mMagnificationController.register();
         zoomIn2xToMiddle();
+        mMessageCapturingHandler.sendAllMessages();
         reset(mMockAms);
         assertTrue(mMagnificationController.resetIfNeeded(false));
         verify(mMockAms).notifyMagnificationChanged(
@@ -507,6 +517,7 @@
                 broadcastReceiverCaptor.capture(), (IntentFilter) anyObject());
         BroadcastReceiver br = broadcastReceiverCaptor.getValue();
         zoomIn2xToMiddle();
+        mMessageCapturingHandler.sendAllMessages();
         br.onReceive(mMockContext, null);
         mMessageCapturingHandler.sendAllMessages();
         assertFalse(mMagnificationController.isMagnifying());
@@ -517,6 +528,7 @@
         mMagnificationController.register();
         MagnificationCallbacks callbacks = getMagnificationCallbacks();
         zoomIn2xToMiddle();
+        mMessageCapturingHandler.sendAllMessages();
         callbacks.onUserContextChanged();
         mMessageCapturingHandler.sendAllMessages();
         assertFalse(mMagnificationController.isMagnifying());
@@ -539,10 +551,11 @@
         // Going from a small region to a large one leads to no issues
         mMagnificationController.register();
         zoomIn2xToMiddle();
+        mMessageCapturingHandler.sendAllMessages();
         MagnificationSpec startSpec = getCurrentMagnificationSpec();
         MagnificationCallbacks callbacks = getMagnificationCallbacks();
         Mockito.reset(mMockWindowManager);
-        callbacks.onMagnificationRegionChanged(OTHER_REGION);
+        callbacks.onMagnificationRegionChanged(OTHER_REGION_COMPAT);
         mMessageCapturingHandler.sendAllMessages();
         assertThat(getCurrentMagnificationSpec(), closeTo(startSpec));
         verifyNoMoreInteractions(mMockWindowManager);
@@ -553,11 +566,12 @@
         mMagnificationController.register();
         PointF startCenter = INITIAL_MAGNIFICATION_BOUNDS_CENTER;
         float scale = 2.0f;
+        // setting animate parameter to true is differ from zoomIn2xToMiddle()
         mMagnificationController.setScale(scale, startCenter.x, startCenter.y, true, SERVICE_ID_1);
         MagnificationSpec startSpec = getCurrentMagnificationSpec();
         MagnificationCallbacks callbacks = getMagnificationCallbacks();
         Mockito.reset(mMockWindowManager);
-        callbacks.onMagnificationRegionChanged(OTHER_REGION);
+        callbacks.onMagnificationRegionChanged(OTHER_REGION_COMPAT);
         mMessageCapturingHandler.sendAllMessages();
         assertThat(getCurrentMagnificationSpec(), closeTo(startSpec));
         verifyNoMoreInteractions(mMockWindowManager);
@@ -573,6 +587,7 @@
         PointF startCenter = OTHER_BOUNDS_LOWER_RIGHT_2X_CENTER;
         float scale = 2.0f;
         mMagnificationController.setScale(scale, startCenter.x, startCenter.y, false, SERVICE_ID_1);
+        mMessageCapturingHandler.sendAllMessages();
         MagnificationSpec startSpec = getCurrentMagnificationSpec();
         verify(mMockWindowManager).setMagnificationSpec(argThat(closeTo(startSpec)));
         Mockito.reset(mMockWindowManager);
@@ -597,8 +612,9 @@
         PointF startCenter = OTHER_BOUNDS_LOWER_RIGHT_2X_CENTER;
         float scale = 2.0f;
         mMagnificationController.setScale(scale, startCenter.x, startCenter.y, true, SERVICE_ID_1);
+        mMessageCapturingHandler.sendAllMessages();
         MagnificationSpec startSpec = getCurrentMagnificationSpec();
-        when (mMockValueAnimator.isRunning()).thenReturn(true);
+        when(mMockValueAnimator.isRunning()).thenReturn(true);
 
         callbacks.onMagnificationRegionChanged(INITIAL_MAGNIFICATION_REGION);
         mMessageCapturingHandler.sendAllMessages();
@@ -616,6 +632,7 @@
     public void testRequestRectOnScreen_rectAlreadyOnScreen_doesNothing() {
         mMagnificationController.register();
         zoomIn2xToMiddle();
+        mMessageCapturingHandler.sendAllMessages();
         MagnificationSpec startSpec = getCurrentMagnificationSpec();
         MagnificationCallbacks callbacks = getMagnificationCallbacks();
         Mockito.reset(mMockWindowManager);
@@ -631,6 +648,7 @@
     public void testRequestRectOnScreen_rectCanFitOnScreen_pansToGetRectOnScreen() {
         mMagnificationController.register();
         zoomIn2xToMiddle();
+        mMessageCapturingHandler.sendAllMessages();
         MagnificationCallbacks callbacks = getMagnificationCallbacks();
         Mockito.reset(mMockWindowManager);
         callbacks.onRectangleOnScreenRequested(0, 0, 1, 1);
@@ -644,6 +662,7 @@
     public void testRequestRectOnScreen_garbageInput_doesNothing() {
         mMagnificationController.register();
         zoomIn2xToMiddle();
+        mMessageCapturingHandler.sendAllMessages();
         MagnificationSpec startSpec = getCurrentMagnificationSpec();
         MagnificationCallbacks callbacks = getMagnificationCallbacks();
         Mockito.reset(mMockWindowManager);
@@ -653,12 +672,12 @@
         verifyNoMoreInteractions(mMockWindowManager);
     }
 
-
     @Test
     public void testRequestRectOnScreen_rectTooWide_pansToGetStartOnScreenBasedOnLocale() {
         Locale.setDefault(new Locale("en", "us"));
         mMagnificationController.register();
         zoomIn2xToMiddle();
+        mMessageCapturingHandler.sendAllMessages();
         MagnificationCallbacks callbacks = getMagnificationCallbacks();
         MagnificationSpec startSpec = getCurrentMagnificationSpec();
         Mockito.reset(mMockWindowManager);
@@ -685,6 +704,7 @@
     public void testRequestRectOnScreen_rectTooTall_pansMinimumToGetTopOnScreen() {
         mMagnificationController.register();
         zoomIn2xToMiddle();
+        mMessageCapturingHandler.sendAllMessages();
         MagnificationCallbacks callbacks = getMagnificationCallbacks();
         MagnificationSpec startSpec = getCurrentMagnificationSpec();
         Mockito.reset(mMockWindowManager);
@@ -708,6 +728,7 @@
 
         assertTrue(mMagnificationController.setScaleAndCenter(scale, firstCenter.x, firstCenter.y,
                 true, SERVICE_ID_1));
+        mMessageCapturingHandler.sendAllMessages();
 
         assertEquals(firstCenter.x, mMagnificationController.getCenterX(), 0.5);
         assertEquals(firstCenter.y, mMagnificationController.getCenterY(), 0.5);
@@ -736,6 +757,7 @@
                 scale, computeOffsets(INITIAL_MAGNIFICATION_BOUNDS, newCenter, scale));
         assertTrue(mMagnificationController.setCenter(
                 newCenter.x, newCenter.y, true, SERVICE_ID_1));
+        mMessageCapturingHandler.sendAllMessages();
 
         // Animation should have been restarted
         verify(mMockValueAnimator, times(2)).start();
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/MessageCapturingHandler.java b/services/tests/servicestests/src/com/android/server/accessibility/MessageCapturingHandler.java
index e3ee47f..e2b517f 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/MessageCapturingHandler.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/MessageCapturingHandler.java
@@ -16,11 +16,13 @@
 
 package com.android.server.accessibility;
 
-import android.app.Notification;
 import android.os.Handler;
+import android.os.Looper;
 import android.os.Message;
 import android.util.Pair;
 
+import androidx.test.InstrumentationRegistry;
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -34,13 +36,22 @@
     Handler.Callback mCallback;
 
     public MessageCapturingHandler(Handler.Callback callback) {
+        this(InstrumentationRegistry.getContext().getMainLooper(), callback);
+    }
+
+    public MessageCapturingHandler(Looper looper, Callback callback) {
+        super(looper);
         mCallback = callback;
     }
 
+    /**
+     * Holding messages in queue, but never dispatching.
+     * @see #removeAllMessages()
+     */
     @Override
     public boolean sendMessageAtTime(Message message, long uptimeMillis) {
         timedMessages.add(new Pair<>(Message.obtain(message), uptimeMillis));
-        return super.sendMessageAtTime(message, uptimeMillis);
+        return super.sendMessageAtTime(message, Long.MAX_VALUE);
     }
 
     public void setCallback(Handler.Callback callback) {
@@ -67,6 +78,22 @@
         removeStaleMessages();
     }
 
+    /**
+     * Clear messages sent from this handler in queue.
+     * <p>
+     * If main looper is used, this method should be called in tear down function
+     * to ensure messages isolation between test cases.
+     * </p>
+     */
+    public void removeAllMessages() {
+        if (hasMessages()) {
+            for (int i = 0; i < timedMessages.size(); i++) {
+                Message message = timedMessages.get(i).first;
+                removeMessages(message.what, message.obj);
+            }
+        }
+    }
+
     public boolean hasMessages() {
         removeStaleMessages();
         return !timedMessages.isEmpty();
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/MotionEventInjectorTest.java b/services/tests/servicestests/src/com/android/server/accessibility/MotionEventInjectorTest.java
index 5f0fa87..2cba9d0 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/MotionEventInjectorTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/MotionEventInjectorTest.java
@@ -43,7 +43,6 @@
 import android.accessibilityservice.IAccessibilityServiceClient;
 import android.graphics.Point;
 import android.os.Handler;
-import android.os.Looper;
 import android.os.Message;
 import android.os.RemoteException;
 import android.util.Log;
@@ -57,8 +56,8 @@
 import org.hamcrest.Description;
 import org.hamcrest.Matcher;
 import org.hamcrest.TypeSafeMatcher;
+import org.junit.After;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -127,13 +126,6 @@
     Matcher<MotionEvent> mIsClickDown;
     Matcher<MotionEvent> mIsClickUp;
 
-    @BeforeClass
-    public static void oneTimeInitialization() {
-        if (Looper.myLooper() == null) {
-            Looper.prepare();
-        }
-    }
-
     @Before
     public void setUp() {
         mMessageCapturingHandler = new MessageCapturingHandler(new Handler.Callback() {
@@ -172,6 +164,12 @@
                 hasTimeFromDown(CLICK_DURATION));
     }
 
+    @After
+    public void tearDown() {
+        mMessageCapturingHandler.removeAllMessages();
+    }
+
+
     @Test
     public void testInjectEvents_shouldEmergeInOrderWithCorrectTiming() throws RemoteException {
         EventStreamTransformation next = attachMockNext(mMotionEventInjector);
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/TouchExplorerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/TouchExplorerTest.java
index c47885f..2645461 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/TouchExplorerTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/TouchExplorerTest.java
@@ -16,12 +16,14 @@
 
 package com.android.server.accessibility;
 
-import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
 
 import android.content.Context;
 import android.graphics.PointF;
 import android.os.SystemClock;
+import android.testing.DexmakerShareClassLoaderRule;
 import android.util.DebugUtils;
 import android.view.InputDevice;
 import android.view.MotionEvent;
@@ -30,6 +32,7 @@
 import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -66,6 +69,11 @@
     private TouchExplorer mTouchExplorer;
     private long mLastDownTime = Integer.MIN_VALUE;
 
+    // mock package-private AccessibilityGestureDetector class
+    @Rule
+    public final DexmakerShareClassLoaderRule mDexmakerShareClassLoaderRule =
+            new DexmakerShareClassLoaderRule();
+
     /**
      * {@link TouchExplorer#sendDownForAllNotInjectedPointers} injecting events with the same object
      * is resulting {@link ArgumentCaptor} to capture events with last state. Before implementation
@@ -93,8 +101,9 @@
     public void setUp() {
         Context context = InstrumentationRegistry.getContext();
         AccessibilityManagerService ams = new AccessibilityManagerService(context);
+        AccessibilityGestureDetector detector = mock(AccessibilityGestureDetector.class);
         mCaptor = new EventCaptor();
-        mTouchExplorer = new TouchExplorer(context, ams);
+        mTouchExplorer = new TouchExplorer(context, ams, detector);
         mTouchExplorer.setNext(mCaptor);
     }
 
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/UiAutomationManagerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/UiAutomationManagerTest.java
index 8853db2..8e09d60 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/UiAutomationManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/UiAutomationManagerTest.java
@@ -32,13 +32,12 @@
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
 import android.os.IBinder;
-import android.os.Looper;
 import android.view.accessibility.AccessibilityEvent;
 
 import com.android.server.wm.WindowManagerInternal;
 
+import org.junit.After;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
@@ -66,13 +65,6 @@
     @Mock IAccessibilityServiceClient mMockAccessibilityServiceClient;
     @Mock IBinder mMockServiceAsBinder;
 
-    @BeforeClass
-    public static void oneTimeInitialization() {
-        if (Looper.myLooper() == null) {
-            Looper.prepare();
-        }
-    }
-
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
@@ -88,6 +80,12 @@
         mMessageCapturingHandler = new MessageCapturingHandler(null);
     }
 
+    @After
+    public void tearDown() {
+        mMessageCapturingHandler.removeAllMessages();
+    }
+
+
     @Test
     public void isRunning_returnsTrueOnlyWhenRunning() {
         assertFalse(mUiAutomationManager.isUiAutomationRunningLocked());
diff --git a/services/tests/servicestests/src/com/android/server/am/ActivityManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/am/ActivityManagerServiceTest.java
index 47ce879..c44e492 100644
--- a/services/tests/servicestests/src/com/android/server/am/ActivityManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/am/ActivityManagerServiceTest.java
@@ -258,7 +258,7 @@
         uidRec.hasInternetPermission = true;
         mAms.mActiveUids.put(uid, uidRec);
 
-        final ProcessRecord appRec = new ProcessRecord(mAms, new ApplicationInfo(), TAG, uid);
+        final ProcessRecord appRec = new ProcessRecord(mAms, new ApplicationInfo(), TAG, uid, null);
         appRec.thread = Mockito.mock(IApplicationThread.class);
         mAms.mLruProcesses.add(appRec);
 
diff --git a/services/tests/servicestests/src/com/android/server/am/ActivityRecordTests.java b/services/tests/servicestests/src/com/android/server/am/ActivityRecordTests.java
index 2338744..ffc7fa2 100644
--- a/services/tests/servicestests/src/com/android/server/am/ActivityRecordTests.java
+++ b/services/tests/servicestests/src/com/android/server/am/ActivityRecordTests.java
@@ -69,7 +69,6 @@
 @Presubmit
 @RunWith(AndroidJUnit4.class)
 public class ActivityRecordTests extends ActivityTestsBase {
-    private ActivityTaskManagerService mService;
     private TestActivityStack mStack;
     private TaskRecord mTask;
     private ActivityRecord mActivity;
@@ -79,10 +78,10 @@
     public void setUp() throws Exception {
         super.setUp();
 
-        mService = createActivityTaskManagerService();
-        mStack = mService.mStackSupervisor.getDefaultDisplay().createStack(
+        setupActivityTaskManagerService();
+        mStack = mSupervisor.getDefaultDisplay().createStack(
                 WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD, true /* onTop */);
-        mTask = new TaskBuilder(mService.mStackSupervisor).setStack(mStack).build();
+        mTask = new TaskBuilder(mSupervisor).setStack(mStack).build();
         mActivity = new ActivityBuilder(mService).setTask(mTask).build();
     }
 
@@ -189,17 +188,13 @@
 
     @Test
     public void testCanBeLaunchedOnDisplay() throws Exception {
-        testSupportsLaunchingResizeable(false /*taskPresent*/, true /*taskResizeable*/,
-                true /*activityResizeable*/, true /*expected*/);
+        mService.mSupportsMultiWindow = true;
+        final ActivityRecord activity = new ActivityBuilder(mService).build();
 
-        testSupportsLaunchingResizeable(false /*taskPresent*/, true /*taskResizeable*/,
-                false /*activityResizeable*/, false /*expected*/);
-
-        testSupportsLaunchingResizeable(true /*taskPresent*/, false /*taskResizeable*/,
-                true /*activityResizeable*/, false /*expected*/);
-
-        testSupportsLaunchingResizeable(true /*taskPresent*/, true /*taskResizeable*/,
-                false /*activityResizeable*/, true /*expected*/);
+        // An activity can be launched on default display.
+        assertTrue(activity.canBeLaunchedOnDisplay(DEFAULT_DISPLAY));
+        // An activity cannot be launched on a non-existent display.
+        assertFalse(activity.canBeLaunchedOnDisplay(DEFAULT_DISPLAY + 1));
     }
 
     @Test
@@ -230,26 +225,4 @@
         assertNull(mActivity.pendingOptions);
         assertNotNull(activity2.pendingOptions);
     }
-
-    private void testSupportsLaunchingResizeable(boolean taskPresent, boolean taskResizeable,
-            boolean activityResizeable, boolean expected) {
-        mService.mSupportsMultiWindow = true;
-
-        final TaskRecord task = taskPresent
-                ? new TaskBuilder(mService.mStackSupervisor).setStack(mStack).build() : null;
-
-        if (task != null) {
-            task.setResizeMode(taskResizeable ? RESIZE_MODE_RESIZEABLE : RESIZE_MODE_UNRESIZEABLE);
-        }
-
-        final ActivityRecord record = new ActivityBuilder(mService).setTask(task).build();
-        record.info.resizeMode = activityResizeable
-                ? RESIZE_MODE_RESIZEABLE : RESIZE_MODE_UNRESIZEABLE;
-
-        record.canBeLaunchedOnDisplay(DEFAULT_DISPLAY);
-
-
-        verify(mService.mStackSupervisor, times(1)).canPlaceEntityOnDisplay(anyInt(), eq(expected),
-                anyInt(), anyInt(), eq(record.info));
-    }
 }
diff --git a/services/tests/servicestests/src/com/android/server/am/ActivityStackSupervisorTests.java b/services/tests/servicestests/src/com/android/server/am/ActivityStackSupervisorTests.java
index 1aa80c8..0345a81 100644
--- a/services/tests/servicestests/src/com/android/server/am/ActivityStackSupervisorTests.java
+++ b/services/tests/servicestests/src/com/android/server/am/ActivityStackSupervisorTests.java
@@ -64,8 +64,6 @@
 @Presubmit
 @RunWith(AndroidJUnit4.class)
 public class ActivityStackSupervisorTests extends ActivityTestsBase {
-    private ActivityTaskManagerService mService;
-    private ActivityStackSupervisor mSupervisor;
     private ActivityStack mFullscreenStack;
 
     @Before
@@ -73,8 +71,7 @@
     public void setUp() throws Exception {
         super.setUp();
 
-        mService = createActivityTaskManagerService();
-        mSupervisor = mService.mStackSupervisor;
+        setupActivityTaskManagerService();
         mFullscreenStack = mService.mStackSupervisor.getDefaultDisplay().createStack(
                 WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD, true /* onTop */);
     }
diff --git a/services/tests/servicestests/src/com/android/server/am/ActivityStackTests.java b/services/tests/servicestests/src/com/android/server/am/ActivityStackTests.java
index 1023bc1..ab814ee 100644
--- a/services/tests/servicestests/src/com/android/server/am/ActivityStackTests.java
+++ b/services/tests/servicestests/src/com/android/server/am/ActivityStackTests.java
@@ -24,6 +24,7 @@
 import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
 import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
 import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
+import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
 
 import static com.android.server.am.ActivityStack.ActivityState.PAUSING;
 import static com.android.server.am.ActivityStack.ActivityState.RESUMED;
@@ -59,8 +60,6 @@
 @Presubmit
 @RunWith(AndroidJUnit4.class)
 public class ActivityStackTests extends ActivityTestsBase {
-    private ActivityTaskManagerService mService;
-    private ActivityStackSupervisor mSupervisor;
     private ActivityDisplay mDefaultDisplay;
     private ActivityStack mStack;
     private TaskRecord mTask;
@@ -70,10 +69,9 @@
     public void setUp() throws Exception {
         super.setUp();
 
-        mService = createActivityTaskManagerService();
-        mSupervisor = mService.mStackSupervisor;
-        mDefaultDisplay = mService.mStackSupervisor.getDefaultDisplay();
-        mStack = mDefaultDisplay.createStack(WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD,
+        setupActivityTaskManagerService();
+        mDefaultDisplay = mSupervisor.getDefaultDisplay();
+        mStack = mDefaultDisplay.createStack(WINDOWING_MODE_UNDEFINED, ACTIVITY_TYPE_STANDARD,
                 true /* onTop */);
         mTask = new TaskBuilder(mSupervisor).setStack(mStack).build();
     }
@@ -140,7 +138,7 @@
     }
 
     @Test
-    public void testPrimarySplitScreenToFullscreenWhenMovedToBack() throws Exception {
+    public void testPrimarySplitScreenRestoresWhenMovedToBack() throws Exception {
         // Create primary splitscreen stack. This will create secondary stacks and places the
         // existing fullscreen stack on the bottom.
         final ActivityStack primarySplitScreen = mDefaultDisplay.createStack(
@@ -158,6 +156,60 @@
 
         // Ensure no longer in splitscreen.
         assertEquals(primarySplitScreen.getWindowingMode(), WINDOWING_MODE_FULLSCREEN);
+
+        // Ensure that the override mode is restored to undefined
+        assertEquals(primarySplitScreen.getOverrideWindowingMode(), WINDOWING_MODE_UNDEFINED);
+    }
+
+    @Test
+    public void testPrimarySplitScreenRestoresPreviousWhenMovedToBack() throws Exception {
+        // This time, start with a fullscreen activitystack
+        final ActivityStack primarySplitScreen = mDefaultDisplay.createStack(
+            WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD, true /* onTop */);
+
+        primarySplitScreen.setWindowingMode(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY);
+
+        // Assert windowing mode.
+        assertEquals(primarySplitScreen.getWindowingMode(), WINDOWING_MODE_SPLIT_SCREEN_PRIMARY);
+
+        // Move primary to back.
+        primarySplitScreen.moveToBack("testPrimarySplitScreenToFullscreenWhenMovedToBack",
+            null /* task */);
+
+        // Assert that stack is at the bottom.
+        assertEquals(mDefaultDisplay.getIndexOf(primarySplitScreen), 0);
+
+        // Ensure that the override mode is restored to what it was (fullscreen)
+        assertEquals(primarySplitScreen.getOverrideWindowingMode(), WINDOWING_MODE_FULLSCREEN);
+    }
+
+    @Test
+    public void testStackInheritsDisplayWindowingMode() throws Exception {
+        final ActivityStack primarySplitScreen = mDefaultDisplay.createStack(
+            WINDOWING_MODE_UNDEFINED, ACTIVITY_TYPE_STANDARD, true /* onTop */);
+
+        assertEquals(WINDOWING_MODE_FULLSCREEN, primarySplitScreen.getWindowingMode());
+        assertEquals(WINDOWING_MODE_UNDEFINED, primarySplitScreen.getOverrideWindowingMode());
+
+        mDefaultDisplay.setWindowingMode(WINDOWING_MODE_FREEFORM);
+        assertEquals(WINDOWING_MODE_FREEFORM, primarySplitScreen.getWindowingMode());
+        assertEquals(WINDOWING_MODE_UNDEFINED, primarySplitScreen.getOverrideWindowingMode());
+    }
+
+    @Test
+    public void testStackOverridesDisplayWindowingMode() throws Exception {
+        final ActivityStack primarySplitScreen = mDefaultDisplay.createStack(
+            WINDOWING_MODE_UNDEFINED, ACTIVITY_TYPE_STANDARD, true /* onTop */);
+
+        assertEquals(WINDOWING_MODE_FULLSCREEN, primarySplitScreen.getWindowingMode());
+        assertEquals(WINDOWING_MODE_UNDEFINED, primarySplitScreen.getOverrideWindowingMode());
+
+        primarySplitScreen.setWindowingMode(WINDOWING_MODE_FULLSCREEN);
+        // setting windowing mode should still work even though resolved mode is already fullscreen
+        assertEquals(WINDOWING_MODE_FULLSCREEN, primarySplitScreen.getOverrideWindowingMode());
+
+        mDefaultDisplay.setWindowingMode(WINDOWING_MODE_FREEFORM);
+        assertEquals(WINDOWING_MODE_FULLSCREEN, primarySplitScreen.getWindowingMode());
     }
 
     @Test
diff --git a/services/tests/servicestests/src/com/android/server/am/ActivityStartControllerTests.java b/services/tests/servicestests/src/com/android/server/am/ActivityStartControllerTests.java
index e1ebbcf..9192d6b 100644
--- a/services/tests/servicestests/src/com/android/server/am/ActivityStartControllerTests.java
+++ b/services/tests/servicestests/src/com/android/server/am/ActivityStartControllerTests.java
@@ -83,7 +83,7 @@
         final WindowProcessController wpc = new WindowProcessController(mService,
                 mService.mContext.getApplicationInfo(), "name", 12345,
                 UserHandle.getUserId(12345), mock(Object.class),
-                mock(WindowProcessListener.class));
+                mock(WindowProcessListener.class), null);
         wpc.setThread(mock(IApplicationThread.class));
 
         mController.addPendingActivityLaunch(
diff --git a/services/tests/servicestests/src/com/android/server/am/ActivityStarterTests.java b/services/tests/servicestests/src/com/android/server/am/ActivityStarterTests.java
index d032eb5..bac4a52 100644
--- a/services/tests/servicestests/src/com/android/server/am/ActivityStarterTests.java
+++ b/services/tests/servicestests/src/com/android/server/am/ActivityStarterTests.java
@@ -32,26 +32,32 @@
 import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
 import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
 import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
+import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
 import static android.content.Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED;
+import static android.content.pm.ActivityInfo.LAUNCH_SINGLE_TASK;
 
+import static com.android.server.am.ActivityDisplay.POSITION_BOTTOM;
 import static com.android.server.am.ActivityManagerService.ANIMATE;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.anyBoolean;
-import static org.mockito.Mockito.anyInt;
-import static org.mockito.Mockito.anyObject;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyObject;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.clearInvocations;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.eq;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 
 import android.app.ActivityOptions;
 import android.app.IApplicationThread;
+import android.content.ComponentName;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
 import android.content.pm.ActivityInfo.WindowLayout;
@@ -65,28 +71,6 @@
 import android.service.voice.IVoiceInteractionSession;
 import android.view.Gravity;
 
-import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
-import static android.content.Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED;
-import static com.android.server.am.ActivityManagerService.ANIMATE;
-import static com.android.server.am.ActivityStack.REMOVE_TASK_MODE_DESTROYING;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.anyBoolean;
-import static org.mockito.Mockito.anyInt;
-import static org.mockito.Mockito.anyObject;
-import static org.mockito.Mockito.clearInvocations;
-import static org.mockito.Mockito.doAnswer;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.times;
-
 import androidx.test.filters.SmallTest;
 import androidx.test.runner.AndroidJUnit4;
 
@@ -106,7 +90,6 @@
 @Presubmit
 @RunWith(AndroidJUnit4.class)
 public class ActivityStarterTests extends ActivityTestsBase {
-    private ActivityTaskManagerService mService;
     private ActivityStarter mStarter;
     private ActivityStartController mController;
     private ActivityMetricsLogger mActivityMetricsLogger;
@@ -130,7 +113,7 @@
     @Override
     public void setUp() throws Exception {
         super.setUp();
-        mService = createActivityTaskManagerService();
+        setupActivityTaskManagerService();
         mController = mock(ActivityStartController.class);
         mActivityMetricsLogger = mock(ActivityMetricsLogger.class);
         clearInvocations(mActivityMetricsLogger);
@@ -225,7 +208,7 @@
 
         // If no caller app, return {@code null} {@link ProcessRecord}.
         final ProcessRecord record = containsConditions(preconditions, PRECONDITION_NO_CALLER_APP)
-                ? null : new ProcessRecord(service.mAm, mock(ApplicationInfo.class), null, 0);
+                ? null : new ProcessRecord(service.mAm, mock(ApplicationInfo.class), null, 0, null);
 
         doReturn(record).when(service.mAm).getRecordForAppLocked(anyObject());
 
@@ -323,7 +306,22 @@
         }
     }
 
-    private ActivityStarter prepareStarter(int launchFlags) {
+    private ActivityStarter prepareStarter(@Intent.Flags int launchFlags) {
+        return prepareStarter(launchFlags, true /* mockGetLaunchStack */);
+    }
+
+    /**
+     * Creates a {@link ActivityStarter} with default parameters and necessary mocks.
+     *
+     * @param launchFlags The intent flags to launch activity.
+     * @param mockGetLaunchStack Whether to mock {@link ActivityStackSupervisor#getLaunchStack} for
+     *                           always launching to the testing stack. Set to false when allowing
+     *                           the activity can be launched to any stack that is decided by real
+     *                           implementation.
+     * @return A {@link ActivityStarter} with default setup.
+     */
+    private ActivityStarter prepareStarter(@Intent.Flags int launchFlags,
+            boolean mockGetLaunchStack) {
         // always allow test to start activity.
         doReturn(true).when(mService.mStackSupervisor).checkStartAnyActivityPermission(
                 any(), any(), any(), anyInt(), anyInt(), anyInt(), any(),
@@ -343,11 +341,13 @@
         // return task when created.
         doReturn(task).when(factory).create(any(), anyInt(), any(), any(), any(), any());
 
-        // direct starter to use spy stack.
-        doReturn(stack).when(mService.mStackSupervisor)
-                .getLaunchStack(any(), any(), any(), anyBoolean());
-        doReturn(stack).when(mService.mStackSupervisor)
-                .getLaunchStack(any(), any(), any(), anyBoolean(), anyInt());
+        if (mockGetLaunchStack) {
+            // Direct starter to use spy stack.
+            doReturn(stack).when(mService.mStackSupervisor)
+                    .getLaunchStack(any(), any(), any(), anyBoolean());
+            doReturn(stack).when(mService.mStackSupervisor)
+                    .getLaunchStack(any(), any(), any(), anyBoolean(), anyInt());
+        }
 
         // Set up mock package manager internal and make sure no unmocked methods are called
         PackageManagerInternal mockPackageManager = mock(PackageManagerInternal.class,
@@ -546,4 +546,84 @@
                 eq(ActivityBuilder.getDefaultComponent().getPackageName()), anyInt(), anyBoolean(),
                 any(), eq(false));
     }
+
+    /**
+     * This test ensures that when starting an existing single task activity on secondary display
+     * which is not the top focused display, it should deliver new intent to the activity and not
+     * create a new stack.
+     */
+    @Test
+    public void testDeliverIntentToTopActivityOfNonTopDisplay() {
+        final ActivityStarter starter = prepareStarter(FLAG_ACTIVITY_NEW_TASK,
+                false /* mockGetLaunchStack */);
+
+        // Create a secondary display at bottom.
+        final TestActivityDisplay secondaryDisplay = spy(addNewActivityDisplayAt(POSITION_BOTTOM));
+        final ActivityStack stack = secondaryDisplay.createStack(WINDOWING_MODE_FULLSCREEN,
+                ACTIVITY_TYPE_STANDARD, true /* onTop */);
+
+        // Create an activity record on the top of secondary display.
+        final ComponentName componentName = ComponentName.createRelative(
+                DEFAULT_COMPONENT_PACKAGE_NAME,
+                DEFAULT_COMPONENT_PACKAGE_NAME + ".ReusableActivity");
+        final TaskRecord taskRecord = new TaskBuilder(mSupervisor)
+                .setComponent(componentName)
+                .setStack(stack)
+                .build();
+        final ActivityRecord topActivityOnSecondaryDisplay = new ActivityBuilder(mService)
+                .setComponent(componentName)
+                .setLaunchMode(LAUNCH_SINGLE_TASK)
+                .setTask(taskRecord)
+                .build();
+
+        // Put an activity on default display as the top focused activity.
+        new ActivityBuilder(mService).setCreateTask(true).build();
+
+        // Start activity with the same intent as {@code topActivityOnSecondaryDisplay}
+        // on secondary display.
+        final ActivityOptions options = ActivityOptions.makeBasic()
+                .setLaunchDisplayId(secondaryDisplay.mDisplayId);
+        final int result = starter.setReason("testDeliverIntentToTopActivityOfNonTopDisplay")
+                .setIntent(topActivityOnSecondaryDisplay.intent)
+                .setActivityOptions(options.toBundle())
+                .execute();
+
+        // Ensure result is delivering intent to top.
+        assertEquals(START_DELIVERED_TO_TOP, result);
+
+        // Ensure secondary display only creates one stack.
+        verify(secondaryDisplay, times(1)).createStack(anyInt(), anyInt(), anyBoolean());
+    }
+
+    /**
+     * This test ensures that a reused top activity in the top focused stack is able to be
+     * reparented to another display.
+     */
+    @Test
+    public void testReparentTopFocusedActivityToSecondaryDisplay() {
+        final ActivityStarter starter = prepareStarter(FLAG_ACTIVITY_NEW_TASK,
+                false /* mockGetLaunchStack */);
+
+        // Create a secondary display at bottom.
+        final TestActivityDisplay secondaryDisplay = addNewActivityDisplayAt(POSITION_BOTTOM);
+        secondaryDisplay.createStack(WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD,
+                true /* onTop */);
+
+        // Put an activity on default display as the top focused activity.
+        final ActivityRecord topActivity = new ActivityBuilder(mService)
+                .setCreateTask(true)
+                .setLaunchMode(LAUNCH_SINGLE_TASK)
+                .build();
+
+        // Start activity with the same intent as {@code topActivity} on secondary display.
+        final ActivityOptions options = ActivityOptions.makeBasic()
+                .setLaunchDisplayId(secondaryDisplay.mDisplayId);
+        starter.setReason("testReparentTopFocusedActivityToSecondaryDisplay")
+                .setIntent(topActivity.intent)
+                .setActivityOptions(options.toBundle())
+                .execute();
+
+        // Ensure the activity is moved to secondary display.
+        assertEquals(secondaryDisplay, topActivity.getDisplay());
+    }
 }
diff --git a/services/tests/servicestests/src/com/android/server/am/ActivityTestsBase.java b/services/tests/servicestests/src/com/android/server/am/ActivityTestsBase.java
index aef5537..22add01 100644
--- a/services/tests/servicestests/src/com/android/server/am/ActivityTestsBase.java
+++ b/services/tests/servicestests/src/com/android/server/am/ActivityTestsBase.java
@@ -22,6 +22,7 @@
 import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
 import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
 import static android.view.Display.DEFAULT_DISPLAY;
+import static android.view.DisplayAdjustments.DEFAULT_DISPLAY_ADJUSTMENTS;
 
 import static com.android.server.am.ActivityStack.REMOVE_TASK_MODE_DESTROYING;
 import static com.android.server.am.ActivityStackSupervisor.ON_TOP;
@@ -56,11 +57,14 @@
 import android.content.res.Configuration;
 import android.graphics.Rect;
 import android.hardware.display.DisplayManager;
+import android.hardware.display.DisplayManagerGlobal;
 import android.os.HandlerThread;
 import android.os.Looper;
 import android.os.UserHandle;
 import android.service.voice.IVoiceInteractionSession;
 import android.testing.DexmakerShareClassLoaderRule;
+import android.view.Display;
+import android.view.DisplayInfo;
 
 import androidx.test.InstrumentationRegistry;
 
@@ -86,6 +90,8 @@
 public class ActivityTestsBase {
     private static boolean sOneTimeSetupDone = false;
 
+    private static int sNextDisplayId = DEFAULT_DISPLAY + 1;
+
     @Rule
     public final DexmakerShareClassLoaderRule mDexmakerShareClassLoaderRule =
             new DexmakerShareClassLoaderRule();
@@ -93,6 +99,9 @@
     private final Context mContext = InstrumentationRegistry.getContext();
     private HandlerThread mHandlerThread;
 
+    ActivityTaskManagerService mService;
+    ActivityStackSupervisor mSupervisor;
+
     // Default package name
     static final String DEFAULT_COMPONENT_PACKAGE_NAME = "com.foo";
 
@@ -122,6 +131,11 @@
         return atm;
     }
 
+    void setupActivityTaskManagerService() {
+        mService = createActivityTaskManagerService();
+        mSupervisor = mService.mStackSupervisor;
+    }
+
     ActivityManagerService createActivityManagerService() {
         final TestActivityTaskManagerService atm =
                 spy(new TestActivityTaskManagerService(mContext));
@@ -134,6 +148,18 @@
         return am;
     }
 
+    /** Creates a {@link TestActivityDisplay}. */
+    TestActivityDisplay createNewActivityDisplay() {
+        return TestActivityDisplay.create(mSupervisor, sNextDisplayId++);
+    }
+
+    /** Creates and adds a {@link TestActivityDisplay} to supervisor at the given position. */
+    TestActivityDisplay addNewActivityDisplayAt(int position) {
+        final TestActivityDisplay display = createNewActivityDisplay();
+        mSupervisor.addChild(display, position);
+        return display;
+    }
+
     void setupActivityManagerService(
             TestActivityManagerService am, TestActivityTaskManagerService atm) {
         atm.setActivityManagerService(am);
@@ -173,6 +199,7 @@
         private boolean mCreateTask;
         private ActivityStack mStack;
         private int mActivityFlags;
+        private int mLaunchMode;
 
         ActivityBuilder(ActivityTaskManagerService service) {
             mService = service;
@@ -198,6 +225,11 @@
             return this;
         }
 
+        ActivityBuilder setLaunchMode(int launchMode) {
+            mLaunchMode = launchMode;
+            return this;
+        }
+
         ActivityBuilder setStack(ActivityStack stack) {
             mStack = stack;
             return this;
@@ -233,6 +265,7 @@
             aInfo.applicationInfo.packageName = mComponent.getPackageName();
             aInfo.applicationInfo.uid = mUid;
             aInfo.flags |= mActivityFlags;
+            aInfo.launchMode = mLaunchMode;
 
             final ActivityRecord activity = new ActivityRecord(mService, null /* caller */,
                     0 /* launchedFromPid */, 0, null, intent, null,
@@ -248,7 +281,7 @@
             final WindowProcessController wpc = new WindowProcessController(mService,
                     mService.mContext.getApplicationInfo(), "name", 12345,
                     UserHandle.getUserId(12345), mock(Object.class),
-                    mock(WindowProcessListener.class));
+                    mock(WindowProcessListener.class), null);
             wpc.setThread(mock(IApplicationThread.class));
             activity.setProcess(wpc);
             return activity;
@@ -406,6 +439,10 @@
         }
 
         @Override
+        void updateUsageStats(ActivityRecord component, boolean resumed) {
+        }
+
+        @Override
         final protected ActivityStackSupervisor createStackSupervisor() {
             final ActivityStackSupervisor supervisor = spy(createTestSupervisor());
             final KeyguardController keyguardController = mock(KeyguardController.class);
@@ -464,10 +501,6 @@
         }
 
         @Override
-        void updateUsageStats(ActivityRecord component, boolean resumed) {
-        }
-
-        @Override
         Configuration getGlobalConfiguration() {
             return mContext.getResources().getConfiguration();
         }
@@ -500,7 +533,7 @@
         @Override
         public void initialize() {
             super.initialize();
-            mDisplay = spy(new TestActivityDisplay(this, DEFAULT_DISPLAY));
+            mDisplay = spy(TestActivityDisplay.create(this, DEFAULT_DISPLAY));
             addChild(mDisplay, ActivityDisplay.POSITION_TOP);
         }
 
@@ -516,10 +549,23 @@
     }
 
     protected static class TestActivityDisplay extends ActivityDisplay {
-
         private final ActivityStackSupervisor mSupervisor;
-        TestActivityDisplay(ActivityStackSupervisor supervisor, int displayId) {
-            super(supervisor, displayId);
+
+        static TestActivityDisplay create(ActivityStackSupervisor supervisor, int displayId) {
+            if (displayId == DEFAULT_DISPLAY) {
+                return new TestActivityDisplay(supervisor,
+                        supervisor.mDisplayManager.getDisplay(displayId));
+            }
+            final Display display = new Display(DisplayManagerGlobal.getInstance(), displayId,
+                    new DisplayInfo(), DEFAULT_DISPLAY_ADJUSTMENTS);
+            return new TestActivityDisplay(supervisor, display);
+        }
+
+        TestActivityDisplay(ActivityStackSupervisor supervisor, Display display) {
+            super(supervisor, display);
+            // Normally this comes from display-properties as exposed by WM. Without that, just
+            // hard-code to FULLSCREEN for tests.
+            setWindowingMode(WINDOWING_MODE_FULLSCREEN);
             mSupervisor = supervisor;
         }
 
diff --git a/services/tests/servicestests/src/com/android/server/am/AppErrorDialogTest.java b/services/tests/servicestests/src/com/android/server/am/AppErrorDialogTest.java
index 87d367f..3819e21 100644
--- a/services/tests/servicestests/src/com/android/server/am/AppErrorDialogTest.java
+++ b/services/tests/servicestests/src/com/android/server/am/AppErrorDialogTest.java
@@ -67,7 +67,7 @@
     @UiThreadTest
     public void testCreateWorks() throws Exception {
         AppErrorDialog.Data data = new AppErrorDialog.Data();
-        data.proc = new ProcessRecord(null, mContext.getApplicationInfo(), "name", 12345);
+        data.proc = new ProcessRecord(null, mContext.getApplicationInfo(), "name", 12345, null);
         data.result = new AppErrorResult();
 
         AppErrorDialog dialog = new AppErrorDialog(mContext, mService, data);
diff --git a/services/tests/servicestests/src/com/android/server/am/MemoryStatUtilTest.java b/services/tests/servicestests/src/com/android/server/am/MemoryStatUtilTest.java
index 06c7437..9a283fe 100644
--- a/services/tests/servicestests/src/com/android/server/am/MemoryStatUtilTest.java
+++ b/services/tests/servicestests/src/com/android/server/am/MemoryStatUtilTest.java
@@ -16,9 +16,13 @@
 
 package com.android.server.am;
 
+import static com.android.server.am.MemoryStatUtil.BYTES_IN_KILOBYTE;
 import static com.android.server.am.MemoryStatUtil.MemoryStat;
+import static com.android.server.am.MemoryStatUtil.PAGE_SIZE;
+import static com.android.server.am.MemoryStatUtil.parseMemoryMaxUsageFromMemCg;
 import static com.android.server.am.MemoryStatUtil.parseMemoryStatFromMemcg;
 import static com.android.server.am.MemoryStatUtil.parseMemoryStatFromProcfs;
+import static com.android.server.am.MemoryStatUtil.parseVmHWMFromProcfs;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
@@ -29,10 +33,12 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
+import java.util.Collections;
+
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class MemoryStatUtilTest {
-    private String MEMORY_STAT_CONTENTS = String.join(
+    private static final String MEMORY_STAT_CONTENTS = String.join(
             "\n",
             "cache 96", // keep different from total_cache to catch reading wrong value
             "rss 97", // keep different from total_rss to catch reading wrong value
@@ -67,7 +73,7 @@
             "total_active_file 81920",
             "total_unevictable 0");
 
-    private String PROC_STAT_CONTENTS = String.join(
+    private static final String PROC_STAT_CONTENTS = String.join(
             " ",
             "1040",
             "(system_server)",
@@ -92,7 +98,7 @@
             "0",
             "2206",
             "1257177088",
-            "3", // this is rss in bytes
+            "3", // this is RSS (number of pages)
             "4294967295",
             "2936971264",
             "2936991289",
@@ -122,18 +128,65 @@
             "3198889956",
             "0");
 
+    private static final String PROC_STATUS_CONTENTS = "Name:\tandroid.youtube\n"
+        + "State:\tS (sleeping)\n"
+        + "Tgid:\t12088\n"
+        + "Pid:\t12088\n"
+        + "PPid:\t723\n"
+        + "TracerPid:\t0\n"
+        + "Uid:\t10083\t10083\t10083\t10083\n"
+        + "Gid:\t10083\t10083\t10083\t10083\n"
+        + "Ngid:\t0\n"
+        + "FDSize:\t128\n"
+        + "Groups:\t3003 9997 20083 50083 \n"
+        + "VmPeak:\t 4546844 kB\n"
+        + "VmSize:\t 4542636 kB\n"
+        + "VmLck:\t       0 kB\n"
+        + "VmPin:\t       0 kB\n"
+        + "VmHWM:\t  137668 kB\n" // RSS high watermark
+        + "VmRSS:\t  126776 kB\n"
+        + "RssAnon:\t   37860 kB\n"
+        + "RssFile:\t   88764 kB\n"
+        + "RssShmem:\t     152 kB\n"
+        + "VmData:\t 4125112 kB\n"
+        + "VmStk:\t    8192 kB\n"
+        + "VmExe:\t      24 kB\n"
+        + "VmLib:\t  102432 kB\n"
+        + "VmPTE:\t    1300 kB\n"
+        + "VmPMD:\t      36 kB\n"
+        + "VmSwap:\t       0 kB\n"
+        + "Threads:\t95\n"
+        + "SigQ:\t0/13641\n"
+        + "SigPnd:\t0000000000000000\n"
+        + "ShdPnd:\t0000000000000000\n"
+        + "SigBlk:\t0000000000001204\n"
+        + "SigIgn:\t0000000000000001\n"
+        + "SigCgt:\t00000006400084f8\n"
+        + "CapInh:\t0000000000000000\n"
+        + "CapPrm:\t0000000000000000\n"
+        + "CapEff:\t0000000000000000\n"
+        + "CapBnd:\t0000000000000000\n"
+        + "CapAmb:\t0000000000000000\n"
+        + "Seccomp:\t2\n"
+        + "Cpus_allowed:\tff\n"
+        + "Cpus_allowed_list:\t0-7\n"
+        + "Mems_allowed:\t1\n"
+        + "Mems_allowed_list:\t0\n"
+        + "voluntary_ctxt_switches:\t903\n"
+        + "nonvoluntary_ctxt_switches:\t104\n";
+
     @Test
-    public void testParseMemoryStatFromMemcg_parsesCorrectValues() throws Exception {
+    public void testParseMemoryStatFromMemcg_parsesCorrectValues() {
         MemoryStat stat = parseMemoryStatFromMemcg(MEMORY_STAT_CONTENTS);
-        assertEquals(stat.pgfault, 1);
-        assertEquals(stat.pgmajfault, 2);
-        assertEquals(stat.rssInBytes, 3);
-        assertEquals(stat.cacheInBytes, 4);
-        assertEquals(stat.swapInBytes, 5);
+        assertEquals(1, stat.pgfault);
+        assertEquals(2, stat.pgmajfault);
+        assertEquals(3, stat.rssInBytes);
+        assertEquals(4, stat.cacheInBytes);
+        assertEquals(5, stat.swapInBytes);
     }
 
     @Test
-    public void testParseMemoryStatFromMemcg_emptyMemoryStatContents() throws Exception {
+    public void testParseMemoryStatFromMemcg_emptyMemoryStatContents() {
         MemoryStat stat = parseMemoryStatFromMemcg("");
         assertNull(stat);
 
@@ -142,21 +195,56 @@
     }
 
     @Test
-    public void testParseMemoryStatFromProcfs_parsesCorrectValues() throws Exception {
+    public void testParseMemoryMaxUsageFromMemCg_parsesCorrectValue() {
+        assertEquals(1234, parseMemoryMaxUsageFromMemCg("1234"));
+    }
+
+    @Test
+    public void testParseMemoryMaxUsageFromMemCg_emptyContents() {
+        assertEquals(0, parseMemoryMaxUsageFromMemCg(""));
+
+        assertEquals(0, parseMemoryMaxUsageFromMemCg(null));
+    }
+
+    @Test
+    public void testParseMemoryMaxUsageFromMemCg_incorrectValue() {
+        assertEquals(0, parseMemoryMaxUsageFromMemCg("memory"));
+    }
+
+    @Test
+    public void testParseMemoryStatFromProcfs_parsesCorrectValues() {
         MemoryStat stat = parseMemoryStatFromProcfs(PROC_STAT_CONTENTS);
         assertEquals(1, stat.pgfault);
         assertEquals(2, stat.pgmajfault);
-        assertEquals(3, stat.rssInBytes);
+        assertEquals(3 * PAGE_SIZE, stat.rssInBytes);
         assertEquals(0, stat.cacheInBytes);
         assertEquals(0, stat.swapInBytes);
     }
 
     @Test
-    public void testParseMemoryStatFromProcfs_emptyContents() throws Exception {
+    public void testParseMemoryStatFromProcfs_emptyContents() {
         MemoryStat stat = parseMemoryStatFromProcfs("");
         assertNull(stat);
 
         stat = parseMemoryStatFromProcfs(null);
         assertNull(stat);
     }
+
+    @Test
+    public void testParseMemoryStatFromProcfs_invalidValue() {
+        String contents = String.join(" ", Collections.nCopies(24, "memory"));
+        assertNull(parseMemoryStatFromProcfs(contents));
+    }
+
+    @Test
+    public void testParseVmHWMFromProcfs_parsesCorrectValue() {
+        assertEquals(137668, parseVmHWMFromProcfs(PROC_STATUS_CONTENTS) / BYTES_IN_KILOBYTE);
+    }
+
+    @Test
+    public void testParseVmHWMFromProcfs_emptyContents() {
+        assertEquals(0, parseVmHWMFromProcfs(""));
+
+        assertEquals(0, parseVmHWMFromProcfs(null));
+    }
 }
diff --git a/services/tests/servicestests/src/com/android/server/am/RecentTasksTest.java b/services/tests/servicestests/src/com/android/server/am/RecentTasksTest.java
index 5195214..70cfad1 100644
--- a/services/tests/servicestests/src/com/android/server/am/RecentTasksTest.java
+++ b/services/tests/servicestests/src/com/android/server/am/RecentTasksTest.java
@@ -870,8 +870,8 @@
         @Override
         public void initialize() {
             super.initialize();
-            mDisplay = new TestActivityDisplay(this, DEFAULT_DISPLAY);
-            mOtherDisplay = new TestActivityDisplay(this, DEFAULT_DISPLAY);
+            mDisplay = TestActivityDisplay.create(this, DEFAULT_DISPLAY);
+            mOtherDisplay = TestActivityDisplay.create(this, DEFAULT_DISPLAY + 1);
             addChild(mOtherDisplay, ActivityDisplay.POSITION_TOP);
             addChild(mDisplay, ActivityDisplay.POSITION_TOP);
         }
diff --git a/services/tests/servicestests/src/com/android/server/am/RunningTasksTest.java b/services/tests/servicestests/src/com/android/server/am/RunningTasksTest.java
index d56c6a6..aa3046f 100644
--- a/services/tests/servicestests/src/com/android/server/am/RunningTasksTest.java
+++ b/services/tests/servicestests/src/com/android/server/am/RunningTasksTest.java
@@ -51,7 +51,6 @@
 public class RunningTasksTest extends ActivityTestsBase {
 
     private Context mContext = InstrumentationRegistry.getContext();
-    private ActivityTaskManagerService mService;
 
     private RunningTasks mRunningTasks;
 
@@ -60,21 +59,20 @@
     public void setUp() throws Exception {
         super.setUp();
 
-        mService = createActivityTaskManagerService();
+        setupActivityTaskManagerService();
         mRunningTasks = new RunningTasks();
     }
 
     @Test
     public void testCollectTasksByLastActiveTime() throws Exception {
         // Create a number of stacks with tasks (of incrementing active time)
-        final ActivityStackSupervisor supervisor = mService.mStackSupervisor;
         final ArrayList<ActivityDisplay> displays = new ArrayList<>();
-        final ActivityDisplay display = new TestActivityDisplay(supervisor, DEFAULT_DISPLAY);
+        final ActivityDisplay display = TestActivityDisplay.create(mSupervisor, DEFAULT_DISPLAY);
         displays.add(display);
 
         final int numStacks = 2;
         for (int stackIndex = 0; stackIndex < numStacks; stackIndex++) {
-            final ActivityStack stack = new TestActivityStack(display, stackIndex, supervisor,
+            final ActivityStack stack = new TestActivityStack(display, stackIndex, mSupervisor,
                     WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD, true);
             display.addChild(stack, POSITION_BOTTOM);
         }
diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
index d94a5f345..16b127c 100644
--- a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
@@ -57,7 +57,6 @@
 import android.app.admin.DevicePolicyManager;
 import android.app.admin.DevicePolicyManagerInternal;
 import android.app.admin.PasswordMetrics;
-import android.app.backup.ISelectBackupTransportCallback;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Intent;
@@ -2251,8 +2250,8 @@
         assertEquals(UserManager.DISALLOW_ADJUST_VOLUME,
                 intent.getStringExtra(DevicePolicyManager.EXTRA_RESTRICTION));
 
-        // Try with POLICY_DISABLE_CAMERA, POLICY_DISABLE_SCREEN_CAPTURE and
-        // POLICY_MANDATORY_BACKUPS, which are not user restrictions
+        // Try with POLICY_DISABLE_CAMERA and POLICY_DISABLE_SCREEN_CAPTURE, which are not
+        // user restrictions
 
         // Camera is not disabled
         intent = dpm.createAdminSupportIntent(DevicePolicyManager.POLICY_DISABLE_CAMERA);
@@ -2276,34 +2275,6 @@
         assertEquals(DevicePolicyManager.POLICY_DISABLE_SCREEN_CAPTURE,
                 intent.getStringExtra(DevicePolicyManager.EXTRA_RESTRICTION));
 
-        // Make the backup transport selection succeed
-        doAnswer(new Answer<Void>() {
-            @Override
-            public Void answer(InvocationOnMock invocation) throws Throwable {
-                ISelectBackupTransportCallback callback =
-                    (ISelectBackupTransportCallback) invocation.getArguments()[1];
-                if (callback != null) {
-                    callback.onSuccess("");
-                }
-                return null;
-            }
-        }).when(getServices().ibackupManager).selectBackupTransportAsync(
-                any(ComponentName.class), any(ISelectBackupTransportCallback.class));
-
-
-        // Backups are not mandatory
-        intent = dpm.createAdminSupportIntent(DevicePolicyManager.POLICY_MANDATORY_BACKUPS);
-        assertNull(intent);
-
-        // Backups are mandatory
-        ComponentName transportComponent = ComponentName.unflattenFromString(
-                "android/com.android.internal.backup.LocalTransport");
-        dpm.setMandatoryBackupTransport(admin1, transportComponent);
-        intent = dpm.createAdminSupportIntent(DevicePolicyManager.POLICY_MANDATORY_BACKUPS);
-        assertNotNull(intent);
-        assertEquals(DevicePolicyManager.POLICY_MANDATORY_BACKUPS,
-                intent.getStringExtra(DevicePolicyManager.EXTRA_RESTRICTION));
-
         // Same checks for different user
         mContext.binder.callingUid = DpmMockContext.CALLER_UID;
         // Camera should be disabled by device owner
diff --git a/services/tests/servicestests/src/com/android/server/display/BrightnessMappingStrategyTest.java b/services/tests/servicestests/src/com/android/server/display/BrightnessMappingStrategyTest.java
index e6ca03b..48dda01 100644
--- a/services/tests/servicestests/src/com/android/server/display/BrightnessMappingStrategyTest.java
+++ b/services/tests/servicestests/src/com/android/server/display/BrightnessMappingStrategyTest.java
@@ -152,8 +152,7 @@
         final float[] lux = { 0f, 1f };
         final float[] nits = { 0, PowerManager.BRIGHTNESS_ON };
 
-        BrightnessConfiguration config = new BrightnessConfiguration.Builder()
-                .setCurve(lux, nits)
+        BrightnessConfiguration config = new BrightnessConfiguration.Builder(lux, nits)
                 .build();
         strategy.setBrightnessConfiguration(config);
         assertNotEquals(1.0f, strategy.getBrightness(1f), 0.01 /*tolerance*/);
@@ -214,8 +213,7 @@
                 DISPLAY_RANGE_NITS[DISPLAY_RANGE_NITS.length - 1]
         };
 
-        BrightnessConfiguration config = new BrightnessConfiguration.Builder()
-                .setCurve(lux, nits)
+        BrightnessConfiguration config = new BrightnessConfiguration.Builder(lux, nits)
                 .build();
         strategy.setBrightnessConfiguration(config);
         assertEquals(1.0f, strategy.getBrightness(1f), 0.01 /*tolerance*/);
diff --git a/core/tests/coretests/src/com/android/internal/inputmethod/InputMethodSubtypeSwitchingControllerTest.java b/services/tests/servicestests/src/com/android/server/inputmethod/InputMethodSubtypeSwitchingControllerTest.java
similarity index 97%
rename from core/tests/coretests/src/com/android/internal/inputmethod/InputMethodSubtypeSwitchingControllerTest.java
rename to services/tests/servicestests/src/com/android/server/inputmethod/InputMethodSubtypeSwitchingControllerTest.java
index 8a83518..910d433 100644
--- a/core/tests/coretests/src/com/android/internal/inputmethod/InputMethodSubtypeSwitchingControllerTest.java
+++ b/services/tests/servicestests/src/com/android/server/inputmethod/InputMethodSubtypeSwitchingControllerTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.inputmethod;
+package com.android.server.inputmethod;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -23,15 +23,15 @@
 import android.content.pm.ApplicationInfo;
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.view.inputmethod.InputMethodInfo;
 import android.view.inputmethod.InputMethodSubtype;
 import android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
 
-import com.android.internal.inputmethod.InputMethodSubtypeSwitchingController.ControllerImpl;
-import com.android.internal.inputmethod.InputMethodSubtypeSwitchingController.ImeSubtypeListItem;
-import com.android.internal.inputmethod.InputMethodUtils;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import com.android.server.inputmethod.InputMethodSubtypeSwitchingController.ControllerImpl;
+import com.android.server.inputmethod.InputMethodSubtypeSwitchingController.ImeSubtypeListItem;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/core/tests/coretests/src/com/android/internal/inputmethod/InputMethodUtilsTest.java b/services/tests/servicestests/src/com/android/server/inputmethod/InputMethodUtilsTest.java
similarity index 90%
rename from core/tests/coretests/src/com/android/internal/inputmethod/InputMethodUtilsTest.java
rename to services/tests/servicestests/src/com/android/server/inputmethod/InputMethodUtilsTest.java
index 3064afa..4d0278f 100644
--- a/core/tests/coretests/src/com/android/internal/inputmethod/InputMethodUtilsTest.java
+++ b/services/tests/servicestests/src/com/android/server/inputmethod/InputMethodUtilsTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.inputmethod;
+package com.android.server.inputmethod;
 
 import static android.view.inputmethod.InputMethodManager.CONTROL_WINDOW_IS_TEXT_EDITOR;
 import static android.view.inputmethod.InputMethodManager.CONTROL_WINDOW_VIEW_HAS_FOCUS;
@@ -37,13 +37,14 @@
 import android.os.Build;
 import android.os.LocaleList;
 import android.os.Parcel;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.view.inputmethod.InputMethodInfo;
 import android.view.inputmethod.InputMethodSubtype;
 import android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
 
+import androidx.test.InstrumentationRegistry;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
@@ -71,15 +72,11 @@
     private static final Locale LOCALE_FR = new Locale("fr");
     private static final Locale LOCALE_FR_CA = new Locale("fr", "CA");
     private static final Locale LOCALE_HI = new Locale("hi");
-    private static final Locale LOCALE_JA = new Locale("ja");
     private static final Locale LOCALE_JA_JP = new Locale("ja", "JP");
     private static final Locale LOCALE_ZH_CN = new Locale("zh", "CN");
     private static final Locale LOCALE_ZH_TW = new Locale("zh", "TW");
     private static final Locale LOCALE_IN = new Locale("in");
     private static final Locale LOCALE_ID = new Locale("id");
-    private static final Locale LOCALE_TH = new Locale("ht");
-    private static final Locale LOCALE_TH_TH = new Locale("ht", "TH");
-    private static final Locale LOCALE_TH_TH_TH = new Locale("ht", "TH", "TH");
     private static final String SUBTYPE_MODE_KEYBOARD = "keyboard";
     private static final String SUBTYPE_MODE_VOICE = "voice";
     private static final String SUBTYPE_MODE_HANDWRITING = "handwriting";
@@ -1087,122 +1084,6 @@
     }
 
     @Test
-    public void testGetSuitableLocalesForSpellChecker() throws Exception {
-        {
-            final ArrayList<Locale> locales =
-                    InputMethodUtils.getSuitableLocalesForSpellChecker(LOCALE_EN_US);
-            assertEquals(3, locales.size());
-            assertEquals(LOCALE_EN_US, locales.get(0));
-            assertEquals(LOCALE_EN_GB, locales.get(1));
-            assertEquals(LOCALE_EN, locales.get(2));
-        }
-
-        {
-            final ArrayList<Locale> locales =
-                    InputMethodUtils.getSuitableLocalesForSpellChecker(LOCALE_EN_GB);
-            assertEquals(3, locales.size());
-            assertEquals(LOCALE_EN_GB, locales.get(0));
-            assertEquals(LOCALE_EN_US, locales.get(1));
-            assertEquals(LOCALE_EN, locales.get(2));
-        }
-
-        {
-            final ArrayList<Locale> locales =
-                    InputMethodUtils.getSuitableLocalesForSpellChecker(LOCALE_EN);
-            assertEquals(3, locales.size());
-            assertEquals(LOCALE_EN, locales.get(0));
-            assertEquals(LOCALE_EN_US, locales.get(1));
-            assertEquals(LOCALE_EN_GB, locales.get(2));
-        }
-
-        {
-            final ArrayList<Locale> locales =
-                    InputMethodUtils.getSuitableLocalesForSpellChecker(LOCALE_EN_IN);
-            assertEquals(4, locales.size());
-            assertEquals(LOCALE_EN_IN, locales.get(0));
-            assertEquals(LOCALE_EN_US, locales.get(1));
-            assertEquals(LOCALE_EN_GB, locales.get(2));
-            assertEquals(LOCALE_EN, locales.get(3));
-        }
-
-        {
-            final ArrayList<Locale> locales =
-                    InputMethodUtils.getSuitableLocalesForSpellChecker(LOCALE_JA_JP);
-            assertEquals(5, locales.size());
-            assertEquals(LOCALE_JA_JP, locales.get(0));
-            assertEquals(LOCALE_JA, locales.get(1));
-            assertEquals(LOCALE_EN_US, locales.get(2));
-            assertEquals(LOCALE_EN_GB, locales.get(3));
-            assertEquals(Locale.ENGLISH, locales.get(4));
-        }
-
-        // Test 3-letter language code.
-        {
-            final ArrayList<Locale> locales =
-                    InputMethodUtils.getSuitableLocalesForSpellChecker(LOCALE_FIL_PH);
-            assertEquals(5, locales.size());
-            assertEquals(LOCALE_FIL_PH, locales.get(0));
-            assertEquals(LOCALE_FIL, locales.get(1));
-            assertEquals(LOCALE_EN_US, locales.get(2));
-            assertEquals(LOCALE_EN_GB, locales.get(3));
-            assertEquals(Locale.ENGLISH, locales.get(4));
-        }
-
-        // Test variant.
-        {
-            final ArrayList<Locale> locales =
-                    InputMethodUtils.getSuitableLocalesForSpellChecker(LOCALE_TH_TH_TH);
-            assertEquals(6, locales.size());
-            assertEquals(LOCALE_TH_TH_TH, locales.get(0));
-            assertEquals(LOCALE_TH_TH, locales.get(1));
-            assertEquals(LOCALE_TH, locales.get(2));
-            assertEquals(LOCALE_EN_US, locales.get(3));
-            assertEquals(LOCALE_EN_GB, locales.get(4));
-            assertEquals(Locale.ENGLISH, locales.get(5));
-        }
-
-        // Test Locale extension.
-        {
-            final Locale localeWithoutVariant = LOCALE_JA_JP;
-            final Locale localeWithVariant = new Locale.Builder()
-                    .setLocale(LOCALE_JA_JP)
-                    .setExtension('x', "android")
-                    .build();
-            assertFalse(localeWithoutVariant.equals(localeWithVariant));
-
-            final ArrayList<Locale> locales =
-                    InputMethodUtils.getSuitableLocalesForSpellChecker(localeWithVariant);
-            assertEquals(5, locales.size());
-            assertEquals(LOCALE_JA_JP, locales.get(0));
-            assertEquals(LOCALE_JA, locales.get(1));
-            assertEquals(LOCALE_EN_US, locales.get(2));
-            assertEquals(LOCALE_EN_GB, locales.get(3));
-            assertEquals(Locale.ENGLISH, locales.get(4));
-        }
-    }
-
-    @Test
-    public void testConstructLocaleFromString() throws Exception {
-        assertEquals(new Locale("en"), InputMethodUtils.constructLocaleFromString("en"));
-        assertEquals(new Locale("en", "US"), InputMethodUtils.constructLocaleFromString("en_US"));
-        assertEquals(new Locale("en", "US", "POSIX"),
-                InputMethodUtils.constructLocaleFromString("en_US_POSIX"));
-
-        // Special rewrite rule for "tl" for versions of Android earlier than Lollipop that did not
-        // support three letter language codes, and used "tl" (Tagalog) as the language string for
-        // "fil" (Filipino).
-        assertEquals(new Locale("fil"), InputMethodUtils.constructLocaleFromString("tl"));
-        assertEquals(new Locale("fil", "PH"), InputMethodUtils.constructLocaleFromString("tl_PH"));
-        assertEquals(new Locale("fil", "PH", "POSIX"),
-                InputMethodUtils.constructLocaleFromString("tl_PH_POSIX"));
-
-        // So far rejecting an invalid/unexpected locale string is out of the scope of this method.
-        assertEquals(new Locale("a"), InputMethodUtils.constructLocaleFromString("a"));
-        assertEquals(new Locale("a b c"), InputMethodUtils.constructLocaleFromString("a b c"));
-        assertEquals(new Locale("en-US"), InputMethodUtils.constructLocaleFromString("en-US"));
-    }
-
-    @Test
     public void testIsSoftInputModeStateVisibleAllowed() {
         // On pre-P devices, SOFT_INPUT_STATE_VISIBLE/SOFT_INPUT_STATE_ALWAYS_VISIBLE are always
         // allowed, regardless of the focused view state.
diff --git a/core/tests/coretests/src/com/android/internal/inputmethod/LocaleUtilsTest.java b/services/tests/servicestests/src/com/android/server/inputmethod/LocaleUtilsTest.java
similarity index 98%
rename from core/tests/coretests/src/com/android/internal/inputmethod/LocaleUtilsTest.java
rename to services/tests/servicestests/src/com/android/server/inputmethod/LocaleUtilsTest.java
index 549511a..3fc0e4f 100644
--- a/core/tests/coretests/src/com/android/internal/inputmethod/LocaleUtilsTest.java
+++ b/services/tests/servicestests/src/com/android/server/inputmethod/LocaleUtilsTest.java
@@ -14,13 +14,14 @@
  * limitations under the License.
  */
 
-package com.android.internal.inputmethod;
+package com.android.server.inputmethod;
 
 import static org.junit.Assert.assertEquals;
 
 import android.os.LocaleList;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java b/services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java
index ee41c0b..c3c0788 100644
--- a/services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java
+++ b/services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java
@@ -716,9 +716,9 @@
         assertNotSame(origPkgSetting.mPermissionsState, testPkgSetting.mPermissionsState);
         assertThat(origPkgSetting.mPermissionsState, is(testPkgSetting.mPermissionsState));
         assertThat(origPkgSetting.name, is(testPkgSetting.name));
-        // oldCodePaths is _not_ copied
-        // assertNotSame(origPkgSetting.oldCodePaths, testPkgSetting.oldCodePaths);
-        // assertThat(origPkgSetting.oldCodePaths, is(not(testPkgSetting.oldCodePaths)));
+        // mOldCodePaths is _not_ copied
+        // assertNotSame(origPkgSetting.mOldCodePaths, testPkgSetting.mOldCodePaths);
+        // assertThat(origPkgSetting.mOldCodePaths, is(not(testPkgSetting.mOldCodePaths)));
         assertSame(origPkgSetting.parentPackageName, testPkgSetting.parentPackageName);
         assertThat(origPkgSetting.parentPackageName, is(testPkgSetting.parentPackageName));
         assertSame(origPkgSetting.pkg, testPkgSetting.pkg);
diff --git a/services/tests/servicestests/src/com/android/server/policy/FakeWindowState.java b/services/tests/servicestests/src/com/android/server/policy/FakeWindowState.java
index b238e43..d34f951 100644
--- a/services/tests/servicestests/src/com/android/server/policy/FakeWindowState.java
+++ b/services/tests/servicestests/src/com/android/server/policy/FakeWindowState.java
@@ -30,7 +30,7 @@
 
 public class FakeWindowState implements WindowManagerPolicy.WindowState {
 
-    private WindowFrames windowFrames;
+    private WindowFrames mWindowFrames = new WindowFrames();
 
     public WindowManager.LayoutParams attrs;
     public int displayId;
@@ -53,41 +53,40 @@
     }
 
     @Override
-    public void computeFrameLw(WindowFrames windowFrames) {
-        this.windowFrames = windowFrames;
+    public void computeFrameLw() {
     }
 
     @Override
     public Rect getFrameLw() {
-        return windowFrames.mParentFrame;
+        return mWindowFrames.mParentFrame;
     }
 
     @Override
     public Rect getDisplayFrameLw() {
-        return windowFrames.mDisplayFrame;
+        return mWindowFrames.mDisplayFrame;
     }
 
     @Override
     public Rect getOverscanFrameLw() {
-        return windowFrames.mOverscanFrame;
+        return mWindowFrames.mOverscanFrame;
     }
 
     @Override
     public Rect getContentFrameLw() {
-        return windowFrames.mContentFrame;
+        return mWindowFrames.mContentFrame;
     }
 
     @Override
     public Rect getVisibleFrameLw() {
-        return windowFrames.mVisibleFrame;
+        return mWindowFrames.mVisibleFrame;
     }
 
     public Rect getStableFrame() {
-        return windowFrames.mStableFrame;
+        return mWindowFrames.mStableFrame;
     }
 
     public Rect getDecorFrame() {
-        return windowFrames.mDecorFrame;
+        return mWindowFrames.mDecorFrame;
     }
 
     @Override
@@ -252,6 +251,11 @@
     }
 
     @Override
+    public WindowFrames getWindowFrames() {
+        return mWindowFrames;
+    }
+
+    @Override
     public boolean isInputMethodTarget() {
         return false;
     }
diff --git a/services/tests/servicestests/src/com/android/server/power/PowerManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/power/PowerManagerServiceTest.java
index 5039e42..8ac2930 100644
--- a/services/tests/servicestests/src/com/android/server/power/PowerManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/power/PowerManagerServiceTest.java
@@ -21,18 +21,32 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Matchers.anyBoolean;
-import static org.mockito.Matchers.eq;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
+import android.app.ActivityManagerInternal;
+import android.content.Context;
+import android.hardware.display.DisplayManagerInternal;
 import android.hardware.display.DisplayManagerInternal.DisplayPowerRequest;
+import android.os.BatteryManagerInternal;
+import android.os.Looper;
 import android.os.PowerManager;
 import android.os.PowerSaveState;
+import android.os.SystemClock;
 import android.os.SystemProperties;
 import android.test.AndroidTestCase;
 import android.test.suitebuilder.annotation.SmallTest;
 
-import com.android.server.power.batterysaver.BatterySaverController;
+import com.android.internal.app.IBatteryStats;
+import com.android.server.LocalServices;
+import com.android.server.SystemService;
+import com.android.server.lights.LightsManager;
+import com.android.server.policy.WindowManagerPolicy;
+import com.android.server.power.PowerManagerService.Injector;
+import com.android.server.power.PowerManagerService.NativeWrapper;
+import com.android.server.power.batterysaver.BatterySavingStats;
 
 import org.junit.Rule;
 import org.mockito.Mock;
@@ -47,11 +61,19 @@
     private static final boolean BATTERY_SAVER_ENABLED = true;
     private static final String TEST_LAST_REBOOT_PROPERTY = "test.sys.boot.reason";
 
-    private @Mock BatterySaverPolicy mBatterySaverPolicy;
+    private @Mock BatterySaverPolicy mBatterySaverPolicyMock;
+    private @Mock LightsManager mLightsManagerMock;
+    private @Mock DisplayManagerInternal mDisplayManagerInternalMock;
+    private @Mock BatteryManagerInternal mBatteryManagerInternalMock;
+    private @Mock ActivityManagerInternal mActivityManagerInternalMock;
+    private @Mock PowerManagerService.NativeWrapper mNativeWrapperMock;
+    private @Mock Notifier mNotifierMock;
     private PowerManagerService mService;
     private PowerSaveState mPowerSaveState;
     private DisplayPowerRequest mDisplayPowerRequest;
 
+
+
     @Rule
     public void setUp() throws Exception {
         super.setUp();
@@ -61,11 +83,51 @@
                 .setBatterySaverEnabled(BATTERY_SAVER_ENABLED)
                 .setBrightnessFactor(BRIGHTNESS_FACTOR)
                 .build();
-        when(mBatterySaverPolicy.getBatterySaverPolicy(
+        when(mBatterySaverPolicyMock.getBatterySaverPolicy(
                 eq(PowerManager.ServiceType.SCREEN_BRIGHTNESS), anyBoolean()))
                 .thenReturn(mPowerSaveState);
+
         mDisplayPowerRequest = new DisplayPowerRequest();
-        mService = new PowerManagerService(getContext(), mBatterySaverPolicy);
+        addLocalServiceMock(LightsManager.class, mLightsManagerMock);
+        addLocalServiceMock(DisplayManagerInternal.class, mDisplayManagerInternalMock);
+        addLocalServiceMock(BatteryManagerInternal.class, mBatteryManagerInternalMock);
+        addLocalServiceMock(ActivityManagerInternal.class, mActivityManagerInternalMock);
+
+        mService = new PowerManagerService(getContext(), new Injector() {
+            Notifier createNotifier(Looper looper, Context context, IBatteryStats batteryStats,
+                    SuspendBlocker suspendBlocker, WindowManagerPolicy policy) {
+                return mNotifierMock;
+            }
+
+            SuspendBlocker createSuspendBlocker(PowerManagerService service, String name) {
+                return mock(SuspendBlocker.class);
+            }
+
+            BatterySaverPolicy createBatterySaverPolicy(
+                    Object lock, Context context, BatterySavingStats batterySavingStats) {
+                return mBatterySaverPolicyMock;
+            }
+
+            NativeWrapper createNativeWrapper() {
+                return mNativeWrapperMock;
+            }
+        });
+    }
+
+    @Override
+    public void tearDown() throws Exception {
+        LocalServices.removeServiceForTest(LightsManager.class);
+        LocalServices.removeServiceForTest(DisplayManagerInternal.class);
+        LocalServices.removeServiceForTest(BatteryManagerInternal.class);
+        LocalServices.removeServiceForTest(ActivityManagerInternal.class);
+    }
+
+    /**
+     * Creates a mock and registers it to {@link LocalServices}.
+     */
+    private static <T> void addLocalServiceMock(Class<T> clazz, T mock) {
+        LocalServices.removeServiceForTest(clazz);
+        LocalServices.addService(clazz, mock);
     }
 
     @SmallTest
@@ -110,6 +172,25 @@
         mService.setVrModeEnabled(false);
         assertThat(mService.getDesiredScreenPolicyLocked()).isEqualTo(
                 DisplayPowerRequest.POLICY_BRIGHT);
+    }
 
+    @SmallTest
+    public void testWakefulnessAwake_InitialValue() throws Exception {
+        assertThat(mService.getWakefulness()).isEqualTo(WAKEFULNESS_AWAKE);
+    }
+
+    @SmallTest
+    public void testWakefulnessSleep_NoDozeSleepFlag() throws Exception {
+        // Start with AWAKE state
+        assertThat(mService.getWakefulness()).isEqualTo(WAKEFULNESS_AWAKE);
+
+        mService.systemReady(null);
+        mService.onBootPhase(SystemService.PHASE_BOOT_COMPLETED);
+
+        // Take a nap with a flag.
+        mService.getBinderServiceInstance().goToSleep(SystemClock.uptimeMillis(),
+            PowerManager.GO_TO_SLEEP_REASON_APPLICATION, PowerManager.GO_TO_SLEEP_FLAG_NO_DOZE);
+
+        assertThat(mService.getWakefulness()).isEqualTo(WAKEFULNESS_ASLEEP);
     }
 }
diff --git a/core/tests/coretests/src/com/android/internal/textservice/LazyIntToIntMapTest.java b/services/tests/servicestests/src/com/android/server/textservices/LazyIntToIntMapTest.java
similarity index 95%
rename from core/tests/coretests/src/com/android/internal/textservice/LazyIntToIntMapTest.java
rename to services/tests/servicestests/src/com/android/server/textservices/LazyIntToIntMapTest.java
index 3518527..f80afb2 100644
--- a/core/tests/coretests/src/com/android/internal/textservice/LazyIntToIntMapTest.java
+++ b/services/tests/servicestests/src/com/android/server/textservices/LazyIntToIntMapTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.textservice;
+package com.android.server.textservices;
 
 import static org.junit.Assert.assertEquals;
 import static org.mockito.ArgumentMatchers.anyInt;
@@ -25,8 +25,8 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/services/tests/servicestests/src/com/android/server/textservices/LocaleUtilsTest.java b/services/tests/servicestests/src/com/android/server/textservices/LocaleUtilsTest.java
new file mode 100644
index 0000000..3766d24
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/textservices/LocaleUtilsTest.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.server.textservices;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.Locale;
+
+public class LocaleUtilsTest {
+    private static final Locale LOCALE_EN = new Locale("en");
+    private static final Locale LOCALE_EN_US = new Locale("en", "US");
+    private static final Locale LOCALE_EN_GB = new Locale("en", "GB");
+    private static final Locale LOCALE_EN_IN = new Locale("en", "IN");
+    private static final Locale LOCALE_FIL = new Locale("fil");
+    private static final Locale LOCALE_FIL_PH = new Locale("fil", "PH");
+    private static final Locale LOCALE_JA = new Locale("ja");
+    private static final Locale LOCALE_JA_JP = new Locale("ja", "JP");
+    private static final Locale LOCALE_TH = new Locale("ht");
+    private static final Locale LOCALE_TH_TH = new Locale("ht", "TH");
+    private static final Locale LOCALE_TH_TH_TH = new Locale("ht", "TH", "TH");
+
+    @Test
+    public void testGetSuitableLocalesForSpellChecker() throws Exception {
+        {
+            final ArrayList<Locale> locales =
+                    LocaleUtils.getSuitableLocalesForSpellChecker(LOCALE_EN_US);
+            assertEquals(3, locales.size());
+            assertEquals(LOCALE_EN_US, locales.get(0));
+            assertEquals(LOCALE_EN_GB, locales.get(1));
+            assertEquals(LOCALE_EN, locales.get(2));
+        }
+
+        {
+            final ArrayList<Locale> locales =
+                    LocaleUtils.getSuitableLocalesForSpellChecker(LOCALE_EN_GB);
+            assertEquals(3, locales.size());
+            assertEquals(LOCALE_EN_GB, locales.get(0));
+            assertEquals(LOCALE_EN_US, locales.get(1));
+            assertEquals(LOCALE_EN, locales.get(2));
+        }
+
+        {
+            final ArrayList<Locale> locales =
+                    LocaleUtils.getSuitableLocalesForSpellChecker(LOCALE_EN);
+            assertEquals(3, locales.size());
+            assertEquals(LOCALE_EN, locales.get(0));
+            assertEquals(LOCALE_EN_US, locales.get(1));
+            assertEquals(LOCALE_EN_GB, locales.get(2));
+        }
+
+        {
+            final ArrayList<Locale> locales =
+                    LocaleUtils.getSuitableLocalesForSpellChecker(LOCALE_EN_IN);
+            assertEquals(4, locales.size());
+            assertEquals(LOCALE_EN_IN, locales.get(0));
+            assertEquals(LOCALE_EN_US, locales.get(1));
+            assertEquals(LOCALE_EN_GB, locales.get(2));
+            assertEquals(LOCALE_EN, locales.get(3));
+        }
+
+        {
+            final ArrayList<Locale> locales =
+                    LocaleUtils.getSuitableLocalesForSpellChecker(LOCALE_JA_JP);
+            assertEquals(5, locales.size());
+            assertEquals(LOCALE_JA_JP, locales.get(0));
+            assertEquals(LOCALE_JA, locales.get(1));
+            assertEquals(LOCALE_EN_US, locales.get(2));
+            assertEquals(LOCALE_EN_GB, locales.get(3));
+            assertEquals(Locale.ENGLISH, locales.get(4));
+        }
+
+        // Test 3-letter language code.
+        {
+            final ArrayList<Locale> locales =
+                    LocaleUtils.getSuitableLocalesForSpellChecker(LOCALE_FIL_PH);
+            assertEquals(5, locales.size());
+            assertEquals(LOCALE_FIL_PH, locales.get(0));
+            assertEquals(LOCALE_FIL, locales.get(1));
+            assertEquals(LOCALE_EN_US, locales.get(2));
+            assertEquals(LOCALE_EN_GB, locales.get(3));
+            assertEquals(Locale.ENGLISH, locales.get(4));
+        }
+
+        // Test variant.
+        {
+            final ArrayList<Locale> locales =
+                    LocaleUtils.getSuitableLocalesForSpellChecker(LOCALE_TH_TH_TH);
+            assertEquals(6, locales.size());
+            assertEquals(LOCALE_TH_TH_TH, locales.get(0));
+            assertEquals(LOCALE_TH_TH, locales.get(1));
+            assertEquals(LOCALE_TH, locales.get(2));
+            assertEquals(LOCALE_EN_US, locales.get(3));
+            assertEquals(LOCALE_EN_GB, locales.get(4));
+            assertEquals(Locale.ENGLISH, locales.get(5));
+        }
+
+        // Test Locale extension.
+        {
+            final Locale localeWithoutVariant = LOCALE_JA_JP;
+            final Locale localeWithVariant = new Locale.Builder()
+                    .setLocale(LOCALE_JA_JP)
+                    .setExtension('x', "android")
+                    .build();
+            assertFalse(localeWithoutVariant.equals(localeWithVariant));
+
+            final ArrayList<Locale> locales =
+                    LocaleUtils.getSuitableLocalesForSpellChecker(localeWithVariant);
+            assertEquals(5, locales.size());
+            assertEquals(LOCALE_JA_JP, locales.get(0));
+            assertEquals(LOCALE_JA, locales.get(1));
+            assertEquals(LOCALE_EN_US, locales.get(2));
+            assertEquals(LOCALE_EN_GB, locales.get(3));
+            assertEquals(Locale.ENGLISH, locales.get(4));
+        }
+    }
+}
diff --git a/services/tests/servicestests/src/com/android/server/usage/UsageStatsDatabaseTest.java b/services/tests/servicestests/src/com/android/server/usage/UsageStatsDatabaseTest.java
new file mode 100644
index 0000000..5a787ec
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/usage/UsageStatsDatabaseTest.java
@@ -0,0 +1,352 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.server.usage;
+
+import static junit.framework.TestCase.assertNull;
+import static junit.framework.TestCase.fail;
+
+import static org.testng.Assert.assertEquals;
+
+import android.app.usage.EventList;
+import android.app.usage.UsageEvents;
+import android.app.usage.UsageStats;
+import android.app.usage.UsageStatsManager;
+import android.content.Context;
+import android.content.res.Configuration;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import androidx.test.InstrumentationRegistry;
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+import java.util.Locale;
+
+@RunWith(AndroidJUnit4.class)
+@SmallTest
+public class UsageStatsDatabaseTest {
+    protected Context mContext;
+    private UsageStatsDatabase mUsageStatsDatabase;
+    private File mTestDir;
+
+    private IntervalStats mIntervalStats = new IntervalStats();
+    private long mEndTime = 0;
+
+    private static final UsageStatsDatabase.StatCombiner<IntervalStats> mIntervalStatsVerifier =
+            new UsageStatsDatabase.StatCombiner<IntervalStats>() {
+                @Override
+                public void combine(IntervalStats stats, boolean mutable,
+                        List<IntervalStats> accResult) {
+                    accResult.add(stats);
+                }
+            };
+
+    @Before
+    public void setUp() {
+        mContext = InstrumentationRegistry.getTargetContext();
+        mTestDir = new File(mContext.getFilesDir(), "UsageStatsDatabaseTest");
+        mUsageStatsDatabase = new UsageStatsDatabase(mTestDir);
+        mUsageStatsDatabase.init(1);
+        populateIntervalStats();
+        clearUsageStatsFiles();
+    }
+
+    /**
+     * A debugging utility for viewing the files currently in the test directory
+     */
+    private void clearUsageStatsFiles() {
+        File[] intervalDirs = mTestDir.listFiles();
+        for (File intervalDir : intervalDirs) {
+            if (intervalDir.isDirectory()) {
+                File[] usageFiles = intervalDir.listFiles();
+                for (File f : usageFiles) {
+                    f.delete();
+                }
+            }
+        }
+    }
+
+    /**
+     * A debugging utility for viewing the files currently in the test directory
+     */
+    private String dumpUsageStatsFiles() {
+        StringBuilder sb = new StringBuilder();
+        File[] intervalDirs = mTestDir.listFiles();
+        for (File intervalDir : intervalDirs) {
+            if (intervalDir.isDirectory()) {
+                File[] usageFiles = intervalDir.listFiles();
+                for (File f : usageFiles) {
+                    sb.append(f.toString());
+                }
+            }
+        }
+        return sb.toString();
+    }
+
+    private void populateIntervalStats() {
+        final int numberOfEvents = 3000;
+        long time = 1;
+        mIntervalStats = new IntervalStats();
+
+        mIntervalStats.beginTime = 1;
+        mIntervalStats.interactiveTracker.count = 2;
+        mIntervalStats.interactiveTracker.duration = 111111;
+        mIntervalStats.nonInteractiveTracker.count = 3;
+        mIntervalStats.nonInteractiveTracker.duration = 222222;
+        mIntervalStats.keyguardShownTracker.count = 4;
+        mIntervalStats.keyguardShownTracker.duration = 333333;
+        mIntervalStats.keyguardHiddenTracker.count = 5;
+        mIntervalStats.keyguardHiddenTracker.duration = 4444444;
+
+        if (mIntervalStats.events == null) {
+            mIntervalStats.events = new EventList();
+        }
+
+        for (int i = 0; i < numberOfEvents; i++) {
+            UsageEvents.Event event = new UsageEvents.Event();
+            final int packageInt = ((i / 3) % 7);
+            event.mPackage = "fake.package.name" + packageInt; //clusters of 3 events from 7 "apps"
+            if (packageInt == 3) {
+                // Third app is an instant app
+                event.mFlags |= UsageEvents.Event.FLAG_IS_PACKAGE_INSTANT_APP;
+            } else if (packageInt == 2 || packageInt == 4) {
+                event.mClass = ".fake.class.name" + i % 11;
+            }
+
+
+            event.mTimeStamp = time;
+            event.mEventType = i % 19; //"random" event type
+
+            switch (event.mEventType) {
+                case UsageEvents.Event.CONFIGURATION_CHANGE:
+                    //empty config,
+                    event.mConfiguration = new Configuration();
+                    break;
+                case UsageEvents.Event.SHORTCUT_INVOCATION:
+                    //"random" shortcut
+                    event.mShortcutId = "shortcut" + (i % 8);
+                    break;
+                case UsageEvents.Event.STANDBY_BUCKET_CHANGED:
+                    //"random" bucket and reason
+                    event.mBucketAndReason = (((i % 5 + 1) * 10) << 16) & (i % 5 + 1) << 8;
+                    break;
+                case UsageEvents.Event.NOTIFICATION_INTERRUPTION:
+                    //"random" channel
+                    event.mNotificationChannelId = "channel" + (i % 5);
+                    break;
+            }
+
+            mIntervalStats.events.insert(event);
+            mIntervalStats.update(event.mPackage, event.mTimeStamp, event.mEventType);
+
+            time += 23; // Arbitrary progression of time
+        }
+        mEndTime = time;
+
+        Configuration config1 = new Configuration();
+        config1.fontScale = 3.3f;
+        config1.mcc = 4;
+        mIntervalStats.getOrCreateConfigurationStats(config1);
+
+        Configuration config2 = new Configuration();
+        config2.mnc = 5;
+        config2.setLocale(new Locale("en", "US"));
+        mIntervalStats.getOrCreateConfigurationStats(config2);
+
+        Configuration config3 = new Configuration();
+        config3.touchscreen = 6;
+        config3.keyboard = 7;
+        mIntervalStats.getOrCreateConfigurationStats(config3);
+
+        Configuration config4 = new Configuration();
+        config4.keyboardHidden = 8;
+        config4.hardKeyboardHidden = 9;
+        mIntervalStats.getOrCreateConfigurationStats(config4);
+
+        Configuration config5 = new Configuration();
+        config5.navigation = 10;
+        config5.navigationHidden = 11;
+        mIntervalStats.getOrCreateConfigurationStats(config5);
+
+        Configuration config6 = new Configuration();
+        config6.orientation = 12;
+        //Ignore screen layout, it's determined by locale
+        mIntervalStats.getOrCreateConfigurationStats(config6);
+
+        Configuration config7 = new Configuration();
+        config7.colorMode = 14;
+        config7.uiMode = 15;
+        mIntervalStats.getOrCreateConfigurationStats(config7);
+
+        Configuration config8 = new Configuration();
+        config8.screenWidthDp = 16;
+        config8.screenHeightDp = 17;
+        mIntervalStats.getOrCreateConfigurationStats(config8);
+
+        Configuration config9 = new Configuration();
+        config9.smallestScreenWidthDp = 18;
+        config9.densityDpi = 19;
+        mIntervalStats.getOrCreateConfigurationStats(config9);
+
+        mIntervalStats.activeConfiguration = config9;
+    }
+
+    void compareUsageStats(UsageStats us1, UsageStats us2) {
+        assertEquals(us1.mPackageName, us2.mPackageName);
+        // mBeginTimeStamp is based on the enclosing IntervalStats, don't bother checking
+        // mEndTimeStamp is based on the enclosing IntervalStats, don't bother checking
+        assertEquals(us1.mLastTimeUsed, us2.mLastTimeUsed);
+        assertEquals(us1.mTotalTimeInForeground, us2.mTotalTimeInForeground);
+        // mLaunchCount not persisted, so skipped
+        assertEquals(us1.mAppLaunchCount, us2.mAppLaunchCount);
+        assertEquals(us1.mLastEvent, us2.mLastEvent);
+        assertEquals(us1.mChooserCounts, us2.mChooserCounts);
+    }
+
+    void compareUsageEvent(UsageEvents.Event e1, UsageEvents.Event e2, int debugId) {
+        assertEquals(e1.mPackage, e2.mPackage, "Usage event " + debugId);
+        assertEquals(e1.mClass, e2.mClass, "Usage event " + debugId);
+        assertEquals(e1.mTimeStamp, e2.mTimeStamp, "Usage event " + debugId);
+        assertEquals(e1.mEventType, e2.mEventType, "Usage event " + debugId);
+        switch (e1.mEventType) {
+            case UsageEvents.Event.CONFIGURATION_CHANGE:
+                assertEquals(e1.mConfiguration, e2.mConfiguration,
+                        "Usage event " + debugId + e2.mConfiguration.toString());
+                break;
+            case UsageEvents.Event.SHORTCUT_INVOCATION:
+                assertEquals(e1.mShortcutId, e2.mShortcutId, "Usage event " + debugId);
+                break;
+            case UsageEvents.Event.STANDBY_BUCKET_CHANGED:
+                assertEquals(e1.mBucketAndReason, e2.mBucketAndReason, "Usage event " + debugId);
+                break;
+            case UsageEvents.Event.NOTIFICATION_INTERRUPTION:
+                assertEquals(e1.mNotificationChannelId, e2.mNotificationChannelId,
+                        "Usage event " + debugId);
+                break;
+        }
+        assertEquals(e1.mFlags, e2.mFlags);
+    }
+
+    void compareIntervalStats(IntervalStats stats1, IntervalStats stats2) {
+        assertEquals(stats1.beginTime, stats2.beginTime);
+        assertEquals(stats1.endTime, stats2.endTime);
+        assertEquals(stats1.interactiveTracker.count, stats2.interactiveTracker.count);
+        assertEquals(stats1.interactiveTracker.duration, stats2.interactiveTracker.duration);
+        assertEquals(stats1.nonInteractiveTracker.count, stats2.nonInteractiveTracker.count);
+        assertEquals(stats1.nonInteractiveTracker.duration, stats2.nonInteractiveTracker.duration);
+        assertEquals(stats1.keyguardShownTracker.count, stats2.keyguardShownTracker.count);
+        assertEquals(stats1.keyguardShownTracker.duration, stats2.keyguardShownTracker.duration);
+        assertEquals(stats1.keyguardHiddenTracker.count, stats2.keyguardHiddenTracker.count);
+        assertEquals(stats1.keyguardHiddenTracker.duration, stats2.keyguardHiddenTracker.duration);
+
+        String[] usageKey1 = stats1.packageStats.keySet().toArray(new String[0]);
+        String[] usageKey2 = stats2.packageStats.keySet().toArray(new String[0]);
+        for (int i = 0; i < usageKey1.length; i++) {
+            UsageStats usageStats1 = stats1.packageStats.get(usageKey1[i]);
+            UsageStats usageStats2 = stats2.packageStats.get(usageKey2[i]);
+            compareUsageStats(usageStats1, usageStats2);
+        }
+
+        assertEquals(stats1.configurations.size(), stats2.configurations.size());
+        Configuration[] configSet1 = stats1.configurations.keySet().toArray(new Configuration[0]);
+        for (int i = 0; i < configSet1.length; i++) {
+            if (!stats2.configurations.containsKey(configSet1[i])) {
+                Configuration[] configSet2 = stats2.configurations.keySet().toArray(
+                        new Configuration[0]);
+                String debugInfo = "";
+                for (Configuration c : configSet1) {
+                    debugInfo += c.toString() + "\n";
+                }
+                debugInfo += "\n";
+                for (Configuration c : configSet2) {
+                    debugInfo += c.toString() + "\n";
+                }
+                fail("Config " + configSet1[i].toString()
+                        + " not found in deserialized IntervalStat\n" + debugInfo);
+            }
+        }
+        assertEquals(stats1.activeConfiguration, stats2.activeConfiguration);
+
+        assertEquals(stats1.events.size(), stats2.events.size());
+        for (int i = 0; i < stats1.events.size(); i++) {
+            compareUsageEvent(stats1.events.get(i), stats2.events.get(i), i);
+        }
+    }
+
+    /**
+     * Runs the Write Read test.
+     * Will write the generated IntervalStat to disk, read it from disk and compare the two
+     */
+    void runWriteReadTest(int interval) throws IOException {
+        mUsageStatsDatabase.putUsageStats(interval, mIntervalStats);
+        List<IntervalStats> stats = mUsageStatsDatabase.queryUsageStats(interval, 0, mEndTime,
+                mIntervalStatsVerifier);
+
+        assertEquals(1, stats.size());
+        compareIntervalStats(mIntervalStats, stats.get(0));
+    }
+
+    /**
+     * Demonstrate that IntervalStats can be serialized and deserialized from disk without loss of
+     * relevant data.
+     */
+    @Test
+    public void testWriteRead() throws IOException {
+        runWriteReadTest(UsageStatsManager.INTERVAL_DAILY);
+        runWriteReadTest(UsageStatsManager.INTERVAL_WEEKLY);
+        runWriteReadTest(UsageStatsManager.INTERVAL_MONTHLY);
+        runWriteReadTest(UsageStatsManager.INTERVAL_YEARLY);
+    }
+
+    /**
+     * Runs the Version Change tests.
+     * Will write the generated IntervalStat to disk in one version format, "upgrade" to another
+     * version and read the automatically upgraded files on disk in the new file format.
+     */
+    void runVersionChangeTest(int oldVersion, int newVersion, int interval) throws IOException {
+        // Write IntervalStats to disk in old version format
+        UsageStatsDatabase prevDB = new UsageStatsDatabase(mTestDir, oldVersion);
+        prevDB.init(1);
+        prevDB.putUsageStats(interval, mIntervalStats);
+
+        // Simulate an upgrade to a new version and read from the disk
+        UsageStatsDatabase newDB = new UsageStatsDatabase(mTestDir, newVersion);
+        newDB.init(mEndTime);
+        List<IntervalStats> stats = newDB.queryUsageStats(interval, 0, mEndTime,
+                mIntervalStatsVerifier);
+
+        assertEquals(1, stats.size());
+        // The written and read IntervalStats should match
+        compareIntervalStats(mIntervalStats, stats.get(0));
+    }
+
+    /**
+     * Test the version upgrade from 3 to 4
+     */
+    @Test
+    public void testVersionUpgradeFrom3to4() throws IOException {
+        runVersionChangeTest(3, 4, UsageStatsManager.INTERVAL_DAILY);
+        runVersionChangeTest(3, 4, UsageStatsManager.INTERVAL_WEEKLY);
+        runVersionChangeTest(3, 4, UsageStatsManager.INTERVAL_MONTHLY);
+        runVersionChangeTest(3, 4, UsageStatsManager.INTERVAL_YEARLY);
+    }
+}
diff --git a/services/tests/servicestests/src/com/android/server/wm/RecentsAnimationControllerTest.java b/services/tests/servicestests/src/com/android/server/wm/RecentsAnimationControllerTest.java
index e7c45d5..088e229 100644
--- a/services/tests/servicestests/src/com/android/server/wm/RecentsAnimationControllerTest.java
+++ b/services/tests/servicestests/src/com/android/server/wm/RecentsAnimationControllerTest.java
@@ -16,6 +16,7 @@
 
 package com.android.server.wm;
 
+import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME;
 import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD;
 import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
 import static android.view.Display.DEFAULT_DISPLAY;
@@ -24,6 +25,8 @@
 import static com.android.server.wm.RecentsAnimationController.REORDER_MOVE_TO_ORIGINAL_POSITION;
 
 import static org.junit.Assert.fail;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.atLeast;
 import static org.mockito.Mockito.verify;
@@ -33,9 +36,11 @@
 import android.os.Binder;
 import android.os.IInterface;
 import android.platform.test.annotations.Presubmit;
+import android.util.SparseBooleanArray;
 import android.view.IRecentsAnimationRunner;
 import android.view.SurfaceControl;
 
+import androidx.test.filters.FlakyTest;
 import androidx.test.filters.SmallTest;
 import androidx.test.runner.AndroidJUnit4;
 
@@ -109,6 +114,25 @@
         }
     }
 
+    @Test
+    @FlakyTest(bugId = 117117823)
+    public void testIncludedApps_expectTargetAndVisible() throws Exception {
+        sWm.setRecentsAnimationController(mController);
+        final AppWindowToken homeAppWindow = createAppWindowToken(mDisplayContent,
+                WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_HOME);
+        final AppWindowToken appWindow = createAppWindowToken(mDisplayContent,
+                WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD);
+        final AppWindowToken hiddenAppWindow = createAppWindowToken(mDisplayContent,
+                WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD);
+        hiddenAppWindow.setHidden(true);
+        mController.initialize(mDisplayContent, ACTIVITY_TYPE_HOME, new SparseBooleanArray());
+
+        // Ensure that we are animating the target activity as well
+        assertTrue(mController.isAnimatingTask(homeAppWindow.getTask()));
+        assertTrue(mController.isAnimatingTask(appWindow.getTask()));
+        assertFalse(mController.isAnimatingTask(hiddenAppWindow.getTask()));
+    }
+
     private static void verifyNoMoreInteractionsExceptAsBinder(IInterface binder) {
         verify(binder, atLeast(0)).asBinder();
         verifyNoMoreInteractions(binder);
diff --git a/services/tests/servicestests/src/com/android/server/wm/TaskStackContainersTests.java b/services/tests/servicestests/src/com/android/server/wm/TaskStackContainersTests.java
index 9fa5ba4..ea44279 100644
--- a/services/tests/servicestests/src/com/android/server/wm/TaskStackContainersTests.java
+++ b/services/tests/servicestests/src/com/android/server/wm/TaskStackContainersTests.java
@@ -109,4 +109,22 @@
         assertEquals(taskStackContainer.mChildren.get(stackPos), stack1);
         assertEquals(taskStackContainer.mChildren.get(pinnedStackPos), mPinnedStack);
     }
+
+    @Test
+    public void testDisplayPositionWithPinnedStack() {
+        // The display contains pinned stack that was added in {@link #setUp}.
+        final TaskStack stack = createTaskStackOnDisplay(mDisplayContent);
+        final Task task = createTaskInStack(stack, 0 /* userId */);
+
+        // Add another display at top.
+        sWm.mRoot.positionChildAt(WindowContainer.POSITION_TOP, createNewDisplay(),
+                false /* includingParents */);
+
+        // Move the task of {@code mDisplayContent} to top.
+        stack.positionChildAt(WindowContainer.POSITION_TOP, task, true /* includingParents */);
+        final int indexOfDisplayWithPinnedStack = sWm.mRoot.mChildren.indexOf(mDisplayContent);
+
+        assertEquals("The testing DisplayContent should be moved to top with task",
+                sWm.mRoot.getChildCount() - 1, indexOfDisplayWithPinnedStack);
+    }
 }
diff --git a/services/tests/servicestests/src/com/android/server/wm/TestWindowManagerPolicy.java b/services/tests/servicestests/src/com/android/server/wm/TestWindowManagerPolicy.java
index 5fb8997..474e5b7 100644
--- a/services/tests/servicestests/src/com/android/server/wm/TestWindowManagerPolicy.java
+++ b/services/tests/servicestests/src/com/android/server/wm/TestWindowManagerPolicy.java
@@ -458,12 +458,6 @@
     }
 
     @Override
-    public void setLastInputMethodWindowLw(WindowState ime,
-            WindowState target) {
-
-    }
-
-    @Override
     public void showRecentApps() {
 
     }
diff --git a/services/tests/servicestests/src/com/android/server/wm/WindowFrameTests.java b/services/tests/servicestests/src/com/android/server/wm/WindowFrameTests.java
index e648230..0886729 100644
--- a/services/tests/servicestests/src/com/android/server/wm/WindowFrameTests.java
+++ b/services/tests/servicestests/src/com/android/server/wm/WindowFrameTests.java
@@ -202,8 +202,8 @@
         // When mFrame extends past cf, the content insets are
         // the difference between mFrame and ContentFrame. Visible
         // and stable frames work the same way.
-        final WindowFrames windowFrames = new WindowFrames(pf, df, of, cf, vf, dcf, sf, mEmptyRect);
-        w.computeFrameLw(windowFrames);
+        w.getWindowFrames().setFrames(pf, df, of, cf, vf, dcf, sf, mEmptyRect);
+        w.computeFrameLw();
         assertFrame(w, 0, 0, 1000, 1000);
         assertContentInset(w, 0, topContentInset, 0, bottomContentInset);
         assertVisibleInset(w, 0, topVisibleInset, 0, bottomVisibleInset);
@@ -217,7 +217,7 @@
         w.mAttrs.width = 100; w.mAttrs.height = 100; //have to clear MATCH_PARENT
         w.mRequestedWidth = 100;
         w.mRequestedHeight = 100;
-        w.computeFrameLw(windowFrames);
+        w.computeFrameLw();
         assertFrame(w, 100, 100, 200, 200);
         assertContentInset(w, 0, 0, 0, 0);
         // In this case the frames are shrunk to the window frame.
@@ -238,8 +238,8 @@
 
         // Here the window has FILL_PARENT, FILL_PARENT
         // so we expect it to fill the entire available frame.
-        final WindowFrames windowFrames = new WindowFrames(pf, pf, pf, pf, pf, pf, pf, pf);
-        w.computeFrameLw(windowFrames);
+        w.getWindowFrames().setFrames(pf, pf, pf, pf, pf, pf, pf, pf);
+        w.computeFrameLw();
         assertFrame(w, 0, 0, 1000, 1000);
 
         // It can select various widths and heights within the bounds.
@@ -247,14 +247,14 @@
         // and we use mRequestedWidth/mRequestedHeight
         w.mAttrs.width = 300;
         w.mAttrs.height = 300;
-        w.computeFrameLw(windowFrames);
+        w.computeFrameLw();
         // Explicit width and height without requested width/height
         // gets us nothing.
         assertFrame(w, 0, 0, 0, 0);
 
         w.mRequestedWidth = 300;
         w.mRequestedHeight = 300;
-        w.computeFrameLw(windowFrames);
+        w.computeFrameLw();
         // With requestedWidth/Height we can freely choose our size within the
         // parent bounds.
         assertFrame(w, 0, 0, 300, 300);
@@ -267,14 +267,14 @@
         w.mRequestedWidth = -1;
         w.mAttrs.width = 100;
         w.mAttrs.height = 100;
-        w.computeFrameLw(windowFrames);
+        w.computeFrameLw();
         assertFrame(w, 0, 0, 100, 100);
         w.mAttrs.flags = 0;
 
         // But sizes too large will be clipped to the containing frame
         w.mRequestedWidth = 1200;
         w.mRequestedHeight = 1200;
-        w.computeFrameLw(windowFrames);
+        w.computeFrameLw();
         assertFrame(w, 0, 0, 1000, 1000);
 
         // Before they are clipped though windows will be shifted
@@ -282,7 +282,7 @@
         w.mAttrs.y = 300;
         w.mRequestedWidth = 1000;
         w.mRequestedHeight = 1000;
-        w.computeFrameLw(windowFrames);
+        w.computeFrameLw();
         assertFrame(w, 0, 0, 1000, 1000);
 
         // If there is room to move around in the parent frame the window will be shifted according
@@ -292,16 +292,16 @@
         w.mRequestedWidth = 300;
         w.mRequestedHeight = 300;
         w.mAttrs.gravity = Gravity.RIGHT | Gravity.TOP;
-        w.computeFrameLw(windowFrames);
+        w.computeFrameLw();
          assertFrame(w, 700, 0, 1000, 300);
         w.mAttrs.gravity = Gravity.RIGHT | Gravity.BOTTOM;
-        w.computeFrameLw(windowFrames);
+        w.computeFrameLw();
         assertFrame(w, 700, 700, 1000, 1000);
         // Window specified  x and y are interpreted as offsets in the opposite
         // direction of gravity
         w.mAttrs.x = 100;
         w.mAttrs.y = 100;
-        w.computeFrameLw(windowFrames);
+        w.computeFrameLw();
         assertFrame(w, 600, 600, 900, 900);
     }
 
@@ -322,8 +322,9 @@
         w.mAttrs.gravity = Gravity.LEFT | Gravity.TOP;
 
         final Rect pf = new Rect(0, 0, logicalWidth, logicalHeight);
-        final WindowFrames windowFrames = new WindowFrames(pf, pf, pf, pf, pf, pf, pf, mEmptyRect);
-        w.computeFrameLw(windowFrames);
+        final WindowFrames windowFrames = w.getWindowFrames();
+        windowFrames.setFrames(pf, pf, pf, pf, pf, pf, pf, mEmptyRect);
+        w.computeFrameLw();
         // For non fullscreen tasks the containing frame is based off the
         // task bounds not the parent frame.
         assertFrame(w, taskLeft, taskTop, taskRight, taskBottom);
@@ -336,7 +337,7 @@
         final int cfBottom = logicalHeight / 2;
         final Rect cf = new Rect(0, 0, cfRight, cfBottom);
         windowFrames.setFrames(pf, pf, pf, cf, cf, pf, cf, mEmptyRect);
-        w.computeFrameLw(windowFrames);
+        w.computeFrameLw();
         assertFrame(w, taskLeft, taskTop, taskRight, taskBottom);
         int contentInsetRight = taskRight - cfRight;
         int contentInsetBottom = taskBottom - cfBottom;
@@ -354,7 +355,7 @@
         final int insetBottom = insetTop + (taskBottom - taskTop);
         task.mInsetBounds.set(insetLeft, insetTop, insetRight, insetBottom);
         windowFrames.setFrames(pf, pf, pf, cf, cf, pf, cf, mEmptyRect);
-        w.computeFrameLw(windowFrames);
+        w.computeFrameLw();
         assertFrame(w, taskLeft, taskTop, taskRight, taskBottom);
         contentInsetRight = insetRight - cfRight;
         contentInsetBottom = insetBottom - cfBottom;
@@ -384,13 +385,14 @@
         // We use a decor content frame with insets to produce cropping.
         Rect dcf = new Rect(cf);
 
-        final WindowFrames windowFrames = new WindowFrames(pf, df, of, cf, vf, dcf, sf, mEmptyRect);
-        w.computeFrameLw(windowFrames);
+        final WindowFrames windowFrames = w.getWindowFrames();
+        windowFrames.setFrames(pf, df, of, cf, vf, dcf, sf, mEmptyRect);
+        w.computeFrameLw();
         assertPolicyCrop(w, 0, cf.top, logicalWidth, cf.bottom);
 
         windowFrames.mDecorFrame.setEmpty();
         // Likewise with no decor frame we would get no crop
-        w.computeFrameLw(windowFrames);
+        w.computeFrameLw();
         assertPolicyCrop(w, 0, 0, logicalWidth, logicalHeight);
 
         // Now we set up a window which doesn't fill the entire decor frame.
@@ -404,7 +406,7 @@
         w.mAttrs.height = logicalHeight / 2;
         w.mRequestedWidth = logicalWidth / 2;
         w.mRequestedHeight = logicalHeight / 2;
-        w.computeFrameLw(windowFrames);
+        w.computeFrameLw();
 
         // Normally the crop is shrunk from the decor frame
         // to the computed window frame.
@@ -437,8 +439,9 @@
         w.mAttrs.gravity = Gravity.LEFT | Gravity.TOP;
 
         final Rect pf = new Rect(0, 0, logicalWidth, logicalHeight);
-        final WindowFrames windowFrames = new WindowFrames(pf, pf, pf, pf, pf, pf, pf, mEmptyRect);
-        w.computeFrameLw(windowFrames);
+        final WindowFrames windowFrames = w.getWindowFrames();
+        windowFrames.setFrames(pf, pf, pf, pf, pf, pf, pf, mEmptyRect);
+        w.computeFrameLw();
         // For non fullscreen tasks the containing frame is based off the
         // task bounds not the parent frame.
         assertFrame(w, taskLeft, taskTop, taskRight, taskBottom);
@@ -455,7 +458,7 @@
         pf.set(0, 0, logicalWidth, logicalHeight);
         task.mFullscreenForTest = true;
         windowFrames.setFrames(pf, pf, pf, cf, cf, pf, cf, mEmptyRect);
-        w.computeFrameLw(windowFrames);
+        w.computeFrameLw();
         assertFrame(w, cf.left, cf.top, cf.right, cf.bottom);
         assertContentFrame(w, cf);
         assertContentInset(w, 0, 0, 0, 0);
@@ -473,9 +476,10 @@
         final WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
                 fromBoundingRect(500, 0, 550, 50), pf.width(), pf.height());
 
-        final WindowFrames windowFrames = new WindowFrames(pf, pf, pf, pf, pf, pf, pf, pf);
+        final WindowFrames windowFrames = w.getWindowFrames();
+        windowFrames.setFrames(pf, pf, pf, pf, pf, pf, pf, pf);
         windowFrames.setDisplayCutout(cutout);
-        w.computeFrameLw(windowFrames);
+        w.computeFrameLw();
 
         assertEquals(w.getWmDisplayCutout().getDisplayCutout().getSafeInsetTop(), 50);
         assertEquals(w.getWmDisplayCutout().getDisplayCutout().getSafeInsetBottom(), 0);
@@ -497,9 +501,10 @@
         final WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
                 fromBoundingRect(500, 0, 550, 50), pf.width(), pf.height());
 
-        final WindowFrames windowFrames = new WindowFrames(pf, pf, pf, pf, pf, pf, pf, pf);
+        final WindowFrames windowFrames = w.getWindowFrames();
+        windowFrames.setFrames(pf, pf, pf, pf, pf, pf, pf, pf);
         windowFrames.setDisplayCutout(cutout);
-        w.computeFrameLw(windowFrames);
+        w.computeFrameLw();
 
         assertEquals(w.getWmDisplayCutout().getDisplayCutout().getSafeInsetTop(), 50);
         assertEquals(w.getWmDisplayCutout().getDisplayCutout().getSafeInsetBottom(), 0);
diff --git a/services/tests/servicestests/src/com/android/server/wm/WindowStateTests.java b/services/tests/servicestests/src/com/android/server/wm/WindowStateTests.java
index b43d9a6..b7cc9ce 100644
--- a/services/tests/servicestests/src/com/android/server/wm/WindowStateTests.java
+++ b/services/tests/servicestests/src/com/android/server/wm/WindowStateTests.java
@@ -76,7 +76,8 @@
  */
 @SmallTest
 @FlakyTest(bugId = 74078662)
-@Presubmit
+// TODO(b/116597907): Re-enable this test in postsubmit after the bug is fixed.
+// @Presubmit
 @RunWith(AndroidJUnit4.class)
 public class WindowStateTests extends WindowTestsBase {
 
@@ -369,36 +370,45 @@
         final SurfaceControl.Transaction t = mock(SurfaceControl.Transaction.class);
 
         app.mHasSurface = true;
-        app.mToken.mSurfaceControl = mock(SurfaceControl.class);
+        app.mSurfaceControl = mock(SurfaceControl.class);
         try {
             app.getFrameLw().set(10, 20, 60, 80);
+            app.updateSurfacePosition(t);
 
             app.seamlesslyRotateIfAllowed(t, ROTATION_0, ROTATION_90, true);
 
             assertTrue(app.mSeamlesslyRotated);
+
+            // Verify we un-rotate the window state surface.
             Matrix matrix = new Matrix();
             // Un-rotate 90 deg
             matrix.setRotate(270);
             // Translate it back to origin
             matrix.postTranslate(0, mDisplayInfo.logicalWidth);
-            verify(t).setMatrix(eq(app.mToken.mSurfaceControl), eq(matrix), any(float[].class));
+            verify(t).setMatrix(eq(app.mSurfaceControl), eq(matrix), any(float[].class));
+
+            // Verify we update the position as well.
+            float[] currentSurfacePos = {app.mLastSurfacePosition.x, app.mLastSurfacePosition.y};
+            matrix.mapPoints(currentSurfacePos);
+            verify(t).setPosition(eq(app.mSurfaceControl), eq(currentSurfacePos[0]),
+                    eq(currentSurfacePos[1]));
         } finally {
+            app.mSurfaceControl = null;
             app.mHasSurface = false;
-            app.mToken.mSurfaceControl = null;
         }
     }
 
     @Test
     public void testDisplayCutoutIsCalculatedRelativeToFrame() {
         final WindowState app = createWindow(null, TYPE_APPLICATION, "app");
-        WindowFrames wf = new WindowFrames();
+        WindowFrames wf = app.getWindowFrames();
         wf.mParentFrame.set(7, 10, 185, 380);
         wf.mDisplayFrame.set(wf.mParentFrame);
         final DisplayCutout cutout = new DisplayCutout(new Rect(0, 15, 0, 22),
                 Arrays.asList(new Rect(95, 0, 105, 15), new Rect(95, 378, 105, 400)));
         wf.setDisplayCutout(new WmDisplayCutout(cutout, new Size(200, 400)));
 
-        app.computeFrameLw(wf);
+        app.computeFrameLw();
         assertThat(app.getWmDisplayCutout().getDisplayCutout(), is(cutout.inset(7, 10, 5, 20)));
     }
 
diff --git a/services/tests/servicestests/src/com/android/server/wm/WindowTestsBase.java b/services/tests/servicestests/src/com/android/server/wm/WindowTestsBase.java
index 5db0867..70e4ce4 100644
--- a/services/tests/servicestests/src/com/android/server/wm/WindowTestsBase.java
+++ b/services/tests/servicestests/src/com/android/server/wm/WindowTestsBase.java
@@ -125,7 +125,7 @@
             synchronized (sWm.mWindowMap) {
                 mWallpaperWindow = createCommonWindow(null, TYPE_WALLPAPER, "wallpaperWindow");
                 mImeWindow = createCommonWindow(null, TYPE_INPUT_METHOD, "mImeWindow");
-                sWm.mInputMethodWindow = mImeWindow;
+                mDisplayContent.mInputMethodWindow = mImeWindow;
                 mImeDialogWindow = createCommonWindow(null, TYPE_INPUT_METHOD_DIALOG,
                         "mImeDialogWindow");
                 mStatusBarWindow = createCommonWindow(null, TYPE_STATUS_BAR, "mStatusBarWindow");
diff --git a/services/tests/servicestests/src/com/android/server/wm/WindowTracingTest.java b/services/tests/servicestests/src/com/android/server/wm/WindowTracingTest.java
index bbc6550..01b7c4f 100644
--- a/services/tests/servicestests/src/com/android/server/wm/WindowTracingTest.java
+++ b/services/tests/servicestests/src/com/android/server/wm/WindowTracingTest.java
@@ -59,7 +59,8 @@
  */
 @SmallTest
 @FlakyTest(bugId = 74078662)
-@Presubmit
+// TODO(b/116597907): Re-enable this test in postsubmit after the bug is fixed.
+// @Presubmit
 @RunWith(AndroidJUnit4.class)
 public class WindowTracingTest extends WindowTestsBase {
 
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/ManagedServicesTest.java b/services/tests/uiservicestests/src/com/android/server/notification/ManagedServicesTest.java
index 95d4a15..659c6e7 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/ManagedServicesTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/ManagedServicesTest.java
@@ -20,6 +20,7 @@
 
 import static junit.framework.Assert.assertEquals;
 import static junit.framework.Assert.assertFalse;
+import static junit.framework.Assert.assertNotNull;
 import static junit.framework.Assert.assertTrue;
 
 import static org.mockito.Matchers.any;
@@ -34,6 +35,7 @@
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
+import android.content.ServiceConnection;
 import android.content.pm.IPackageManager;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
@@ -47,6 +49,9 @@
 import android.provider.Settings;
 import android.text.TextUtils;
 import android.util.ArrayMap;
+import android.util.ArraySet;
+import android.util.IntArray;
+import android.util.SparseArray;
 import android.util.Xml;
 
 import com.android.internal.util.FastXmlSerializer;
@@ -68,7 +73,9 @@
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
+import java.util.Set;
 
 public class ManagedServicesTest extends UiServiceTestCase {
 
@@ -113,7 +120,12 @@
             when(mUm.getUserInfo(eq(user.id))).thenReturn(user);
         }
         when(mUm.getUsers()).thenReturn(users);
-        when(mUserProfiles.getCurrentProfileIds()).thenReturn(new int[] {0, 10, 11, 12});
+        IntArray profileIds = new IntArray();
+        profileIds.add(0);
+        profileIds.add(11);
+        profileIds.add(10);
+        profileIds.add(12);
+        when(mUserProfiles.getCurrentProfileIds()).thenReturn(profileIds);
 
         mExpectedPrimaryPackages = new ArrayMap<>();
         mExpectedPrimaryPackages.put(0, "this.is.a.package.name:another.package");
@@ -165,12 +177,12 @@
 
     @Test
     public void testBackupAndRestore_migration_preO() throws Exception {
-        ArrayMap backupPrimaryPackages = new ArrayMap<>();
+        ArrayMap<Integer, String> backupPrimaryPackages = new ArrayMap<>();
         backupPrimaryPackages.put(0, "backup.0:backup:0a");
         backupPrimaryPackages.put(10, "10.backup");
         backupPrimaryPackages.put(11, "eleven");
         backupPrimaryPackages.put(12, "");
-        ArrayMap backupPrimaryComponentNames = new ArrayMap<>();
+        ArrayMap<Integer, String> backupPrimaryComponentNames = new ArrayMap<>();
         backupPrimaryComponentNames.put(0, "backup.first/whatever:a/b");
         backupPrimaryComponentNames.put(10, "again/M1");
         backupPrimaryComponentNames.put(11, "orange/youglad:itisnot/banana");
@@ -179,11 +191,11 @@
         backupPrimary.put(APPROVAL_BY_PACKAGE, backupPrimaryPackages);
         backupPrimary.put(APPROVAL_BY_COMPONENT, backupPrimaryComponentNames);
 
-        ArrayMap backupSecondaryComponentNames = new ArrayMap<>();
+        ArrayMap<Integer, String> backupSecondaryComponentNames = new ArrayMap<>();
         backupSecondaryComponentNames.put(0, "secondary.1/component.Name");
         backupSecondaryComponentNames.put(10,
                 "this.is.another.package.backup/with.Component:component.backup/2");
-        ArrayMap backupSecondaryPackages = new ArrayMap<>();
+        ArrayMap<Integer, String> backupSecondaryPackages = new ArrayMap<>();
         backupSecondaryPackages.put(0, "");
         backupSecondaryPackages.put(10,
                 "this.is.another.package.backup:package.backup");
@@ -368,7 +380,7 @@
             serializer.endDocument();
             serializer.flush();
 
-            for (int userId : mUserProfiles.getCurrentProfileIds()) {
+            for (int userId : mUserProfiles.getCurrentProfileIds().toArray()) {
                 List<String> expected =
                         stringToList(mExpectedPrimary.get(approvalLevel).get(userId));
                 List<String> actual = stringToList(Settings.Secure.getStringForUser(
@@ -633,7 +645,7 @@
     }
 
     @Test
-    public void testGetAllowedComponents() throws Exception {
+    public void testGetAllowedComponentsByUser() throws Exception {
         ManagedServices service = new TestManagedServices(getContext(), mLock, mUserProfiles, mIpm,
                 APPROVAL_BY_COMPONENT);
         loadXml(service);
@@ -708,6 +720,145 @@
         assertTrue(services.isSameUser(service, 10));
     }
 
+    @Test
+    public void testGetAllowedComponents() throws Exception {
+        ManagedServices service = new TestManagedServices(getContext(), mLock, mUserProfiles, mIpm,
+                APPROVAL_BY_COMPONENT);
+        loadXml(service);
+
+        SparseArray<ArraySet<ComponentName>> expected = new SparseArray<>();
+
+        ArraySet<ComponentName> expected10 = new ArraySet<>();
+        expected10.add(ComponentName.unflattenFromString("this.is.another.package/M1"));
+        expected10.add(ComponentName.unflattenFromString("this.is.another.package/with.Component"));
+        expected10.add(ComponentName.unflattenFromString("component/2"));
+        expected10.add(ComponentName.unflattenFromString("package/component2"));
+        expected.put(10, expected10);
+        ArraySet<ComponentName> expected0 = new ArraySet<>();
+        expected0.add(ComponentName.unflattenFromString("secondary/component.Name"));
+        expected0.add(ComponentName.unflattenFromString("this.is.a.package.name/Ba"));
+        expected0.add(ComponentName.unflattenFromString("another.package/B1"));
+        expected.put(0, expected0);
+        ArraySet<ComponentName> expected12 = new ArraySet<>();
+        expected12.add(ComponentName.unflattenFromString("bananas!/Bananas!"));
+        expected.put(12, expected12);
+        expected.put(11, new ArraySet<>());
+
+        SparseArray<ArraySet<ComponentName>> actual =
+                service.getAllowedComponents(mUserProfiles.getCurrentProfileIds());
+
+        assertContentsInAnyOrder(expected, actual);
+    }
+
+    @Test
+    public void testPopulateComponentsToUnbind_forceRebind() {
+        ManagedServices service = new TestManagedServices(getContext(), mLock, mUserProfiles, mIpm,
+                APPROVAL_BY_COMPONENT);
+
+        IInterface iInterface = mock(IInterface.class);
+        when(iInterface.asBinder()).thenReturn(mock(IBinder.class));
+
+        ManagedServices.ManagedServiceInfo service0 = service.new ManagedServiceInfo(
+                iInterface, ComponentName.unflattenFromString("a/a"), 0, false,
+                mock(ServiceConnection.class), 26);
+        ManagedServices.ManagedServiceInfo service10 = service.new ManagedServiceInfo(
+                iInterface, ComponentName.unflattenFromString("b/b"), 10, false,
+                mock(ServiceConnection.class), 26);
+        Set<ManagedServices.ManagedServiceInfo> removableBoundServices = new ArraySet<>();
+        removableBoundServices.add(service0);
+        removableBoundServices.add(service10);
+
+        SparseArray<Set<ComponentName>> allowedComponentsToBind = new SparseArray<>();
+        Set<ComponentName> allowed0 = new ArraySet<>();
+        allowed0.add(ComponentName.unflattenFromString("a/a"));
+        allowedComponentsToBind.put(0, allowed0);
+        Set<ComponentName> allowed10 = new ArraySet<>();
+        allowed10.add(ComponentName.unflattenFromString("b/b"));
+        allowedComponentsToBind.put(10, allowed10);
+
+        SparseArray<Set<ComponentName>> componentsToUnbind = new SparseArray<>();
+
+        service.populateComponentsToUnbind(true, removableBoundServices, allowedComponentsToBind,
+                componentsToUnbind);
+
+        assertEquals(2, componentsToUnbind.size());
+        assertTrue(componentsToUnbind.get(0).contains(ComponentName.unflattenFromString("a/a")));
+        assertTrue(componentsToUnbind.get(10).contains(ComponentName.unflattenFromString("b/b")));
+    }
+
+    @Test
+    public void testPopulateComponentsToUnbind() {
+        ManagedServices service = new TestManagedServices(getContext(), mLock, mUserProfiles, mIpm,
+                APPROVAL_BY_COMPONENT);
+
+        IInterface iInterface = mock(IInterface.class);
+        when(iInterface.asBinder()).thenReturn(mock(IBinder.class));
+
+        ManagedServices.ManagedServiceInfo service0 = service.new ManagedServiceInfo(
+                iInterface, ComponentName.unflattenFromString("a/a"), 0, false,
+                mock(ServiceConnection.class), 26);
+        ManagedServices.ManagedServiceInfo service0a = service.new ManagedServiceInfo(
+                iInterface, ComponentName.unflattenFromString("c/c"), 0, false,
+                mock(ServiceConnection.class), 26);
+        ManagedServices.ManagedServiceInfo service10 = service.new ManagedServiceInfo(
+                iInterface, ComponentName.unflattenFromString("b/b"), 10, false,
+                mock(ServiceConnection.class), 26);
+        Set<ManagedServices.ManagedServiceInfo> removableBoundServices = new ArraySet<>();
+        removableBoundServices.add(service0);
+        removableBoundServices.add(service0a);
+        removableBoundServices.add(service10);
+
+        SparseArray<Set<ComponentName>> allowedComponentsToBind = new SparseArray<>();
+        Set<ComponentName> allowed0 = new ArraySet<>();
+        allowed0.add(ComponentName.unflattenFromString("a/a"));
+        allowedComponentsToBind.put(0, allowed0);
+        Set<ComponentName> allowed10 = new ArraySet<>();
+        allowed10.add(ComponentName.unflattenFromString("b/b"));
+        allowedComponentsToBind.put(10, allowed10);
+
+        SparseArray<Set<ComponentName>> componentsToUnbind = new SparseArray<>();
+
+        service.populateComponentsToUnbind(false, removableBoundServices, allowedComponentsToBind,
+                componentsToUnbind);
+
+        assertEquals(1, componentsToUnbind.size());
+        assertEquals(1, componentsToUnbind.get(0).size());
+        assertTrue(componentsToUnbind.get(0).contains(ComponentName.unflattenFromString("c/c")));
+    }
+
+    @Test
+    public void populateComponentsToBind() {
+        ManagedServices service = new TestManagedServices(getContext(), mLock, mUserProfiles, mIpm,
+                APPROVAL_BY_COMPONENT);
+
+        SparseArray<ArraySet<ComponentName>> approvedComponentsByUser = new SparseArray<>();
+        ArraySet<ComponentName> allowed0 = new ArraySet<>();
+        allowed0.add(ComponentName.unflattenFromString("a/a"));
+        approvedComponentsByUser.put(0, allowed0);
+        ArraySet<ComponentName> allowed10 = new ArraySet<>();
+        allowed10.add(ComponentName.unflattenFromString("b/b"));
+        allowed10.add(ComponentName.unflattenFromString("c/c"));
+        approvedComponentsByUser.put(10, allowed10);
+        ArraySet<ComponentName> allowed15 = new ArraySet<>();
+        allowed15.add(ComponentName.unflattenFromString("d/d"));
+        approvedComponentsByUser.put(15, allowed15);
+
+        IntArray users = new IntArray();
+        users.add(10);
+        users.add(0);
+
+        SparseArray<Set<ComponentName>> componentsToBind = new SparseArray<>();
+
+        service.populateComponentsToBind(componentsToBind, users, approvedComponentsByUser);
+
+        assertEquals(2, componentsToBind.size());
+        assertEquals(1, componentsToBind.get(0).size());
+        assertTrue(componentsToBind.get(0).contains(ComponentName.unflattenFromString("a/a")));
+        assertEquals(2, componentsToBind.get(10).size());
+        assertTrue(componentsToBind.get(10).contains(ComponentName.unflattenFromString("b/b")));
+        assertTrue(componentsToBind.get(10).contains(ComponentName.unflattenFromString("c/c")));
+    }
+
     private void loadXml(ManagedServices service) throws Exception {
         final StringBuffer xml = new StringBuffer();
         xml.append("<" + service.getConfig().xmlTag + ">\n");
@@ -775,7 +926,8 @@
                 ManagedServices.ENABLED_SERVICES_SEPARATOR)));
     }
 
-    private void assertContentsInAnyOrder(List<?> expected, List<?> actual) {
+    private void assertContentsInAnyOrder(Collection<?> expected, Collection<?> actual) {
+        assertNotNull(actual);
         assertEquals(expected.size(), actual.size());
 
         for (Object o : expected) {
@@ -787,6 +939,21 @@
         }
     }
 
+    private void assertContentsInAnyOrder(SparseArray<ArraySet<ComponentName>> expected,
+            SparseArray<ArraySet<ComponentName>> actual) throws Exception {
+        assertEquals(expected.size(), actual.size());
+
+        for (int i = 0; i < expected.size(); i++) {
+            int key = expected.keyAt(i);
+            assertTrue(actual.indexOfKey(key) >= 0);
+            try {
+                assertContentsInAnyOrder(expected.valueAt(i), actual.get(key));
+            } catch (Throwable t) {
+                throw new Exception("Error validating " + key, t);
+            }
+        }
+    }
+
     private void verifyExpectedBoundEntries(ManagedServices service, boolean primary)
             throws Exception {
         ArrayMap<Integer, String> verifyMap = primary ? mExpectedPrimary.get(service.mApprovalLevel)
@@ -920,7 +1087,7 @@
 
         @Override
         protected boolean checkType(IInterface service) {
-            return false;
+            return true;
         }
 
         @Override
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java
index f9a4f78..1de1e4e 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java
@@ -33,6 +33,7 @@
 import android.content.pm.ServiceInfo;
 import android.content.pm.UserInfo;
 import android.os.UserManager;
+import android.util.IntArray;
 import android.util.Xml;
 
 import com.android.internal.util.FastXmlSerializer;
@@ -103,7 +104,12 @@
         }
         when(mUm.getUsers()).thenReturn(users);
         when(mUm.getUsers(anyBoolean())).thenReturn(users);
-        when(mUserProfiles.getCurrentProfileIds()).thenReturn(new int[] {0, 10, 11, 12});
+        IntArray profileIds = new IntArray();
+        profileIds.add(0);
+        profileIds.add(11);
+        profileIds.add(10);
+        profileIds.add(12);
+        when(mUserProfiles.getCurrentProfileIds()).thenReturn(profileIds);
     }
 
     @Test
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
index a1b3b98..b0d942c 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
@@ -97,6 +97,7 @@
 import android.os.Process;
 import android.os.RemoteException;
 import android.os.UserHandle;
+import android.os.UserManager;
 import android.provider.MediaStore;
 import android.provider.Settings.Secure;
 import android.service.notification.Adjustment;
@@ -519,8 +520,9 @@
         NotificationChannel channel = new NotificationChannel("id", "name",
                 IMPORTANCE_HIGH);
         NotificationRecord r = generateNotificationRecord(channel);
-        assertTrue(mService.isBlocked(r, mUsageStats));
-        verify(mUsageStats, times(1)).registerSuspendedByAdmin(eq(r));
+
+        // isBlocked is only used for user blocking, not app suspension
+        assertFalse(mService.isBlocked(r, mUsageStats));
     }
 
     @Test
@@ -2190,6 +2192,26 @@
     }
 
     @Test
+    public void testDontAutogroupIfCritical() throws Exception {
+        NotificationRecord r = generateNotificationRecord(mTestNotificationChannel, 0, null, false);
+        r.setCriticality(CriticalNotificationExtractor.CRITICAL_LOW);
+        mService.addEnqueuedNotification(r);
+        NotificationManagerService.PostNotificationRunnable runnable =
+                mService.new PostNotificationRunnable(r.getKey());
+        runnable.run();
+
+        r = generateNotificationRecord(mTestNotificationChannel, 1, null, false);
+        r.setCriticality(CriticalNotificationExtractor.CRITICAL);
+        runnable = mService.new PostNotificationRunnable(r.getKey());
+        mService.addEnqueuedNotification(r);
+
+        runnable.run();
+        waitForIdle();
+
+        verify(mGroupHelper, never()).onNotificationPosted(any(), anyBoolean());
+    }
+
+    @Test
     public void testNoFakeColorizedPermission() throws Exception {
         when(mPackageManagerClient.checkPermission(any(), any())).thenReturn(PERMISSION_DENIED);
         Notification.Builder nb = new Notification.Builder(mContext,
@@ -3381,10 +3403,44 @@
     }
 
     @Test
+    public void testIsCallerInstantApp_primaryUser() throws Exception {
+        ApplicationInfo info = new ApplicationInfo();
+        info.privateFlags = ApplicationInfo.PRIVATE_FLAG_INSTANT;
+        when(mPackageManager.getApplicationInfo(anyString(), anyInt(), eq(0))).thenReturn(info);
+
+        assertTrue(mService.isCallerInstantApp("any", 45770, 0));
+
+        info.privateFlags = 0;
+        assertFalse(mService.isCallerInstantApp("any", 575370, 0));
+    }
+
+    @Test
+    public void testIsCallerInstantApp_secondaryUser() throws Exception {
+        ApplicationInfo info = new ApplicationInfo();
+        info.privateFlags = ApplicationInfo.PRIVATE_FLAG_INSTANT;
+        when(mPackageManager.getApplicationInfo(anyString(), anyInt(), eq(10))).thenReturn(info);
+        when(mPackageManager.getApplicationInfo(anyString(), anyInt(), eq(0))).thenReturn(null);
+
+        assertTrue(mService.isCallerInstantApp("any", 68638450, 10));
+    }
+
+    @Test
+    public void testResolveNotificationUid_sameApp_nonSystemUser() throws Exception {
+        ApplicationInfo info = new ApplicationInfo();
+        info.uid = Binder.getCallingUid();
+        when(mPackageManager.getApplicationInfo(anyString(), anyInt(), eq(10))).thenReturn(info);
+        when(mPackageManager.getApplicationInfo(anyString(), anyInt(), eq(0))).thenReturn(null);
+
+        int actualUid = mService.resolveNotificationUid("caller", "caller", info.uid, 10);
+
+        assertEquals(info.uid, actualUid);
+    }
+
+    @Test
     public void testResolveNotificationUid_sameApp() throws Exception {
         ApplicationInfo info = new ApplicationInfo();
         info.uid = Binder.getCallingUid();
-        when(mPackageManager.getApplicationInfo(anyString(), anyInt(), anyInt())).thenReturn(info);
+        when(mPackageManager.getApplicationInfo(anyString(), anyInt(), eq(0))).thenReturn(info);
 
         int actualUid = mService.resolveNotificationUid("caller", "caller", info.uid, 0);
 
@@ -3453,4 +3509,46 @@
             // yay
         }
     }
+
+    @Test
+    public void testRemoveForegroundServiceFlagFromNotification_enqueued() {
+        Notification n = new Notification.Builder(mContext, "").build();
+        n.flags |= FLAG_FOREGROUND_SERVICE;
+
+        StatusBarNotification sbn = new StatusBarNotification(PKG, PKG, 9, null, mUid, 0,
+                n, new UserHandle(mUid), null, 0);
+        NotificationRecord r = new NotificationRecord(mContext, sbn, mTestNotificationChannel);
+
+        mService.addEnqueuedNotification(r);
+
+        mInternalService.removeForegroundServiceFlagFromNotification(
+                PKG, r.sbn.getId(), r.sbn.getUserId());
+
+        waitForIdle();
+
+        verify(mListeners, timeout(200).times(0)).notifyPostedLocked(any(), any());
+    }
+
+    @Test
+    public void testRemoveForegroundServiceFlagFromNotification_posted() {
+        Notification n = new Notification.Builder(mContext, "").build();
+        n.flags |= FLAG_FOREGROUND_SERVICE;
+
+        StatusBarNotification sbn = new StatusBarNotification(PKG, PKG, 9, null, mUid, 0,
+                n, new UserHandle(mUid), null, 0);
+        NotificationRecord r = new NotificationRecord(mContext, sbn, mTestNotificationChannel);
+
+        mService.addNotification(r);
+
+        mInternalService.removeForegroundServiceFlagFromNotification(
+                PKG, r.sbn.getId(), r.sbn.getUserId());
+
+        waitForIdle();
+
+        ArgumentCaptor<NotificationRecord> captor =
+                ArgumentCaptor.forClass(NotificationRecord.class);
+        verify(mListeners, times(1)).notifyPostedLocked(captor.capture(), any());
+
+        assertEquals(0, captor.getValue().getNotification().flags);
+    }
 }
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/PreferencesHelperTest.java b/services/tests/uiservicestests/src/com/android/server/notification/PreferencesHelperTest.java
index 750345b..79998a5 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/PreferencesHelperTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/PreferencesHelperTest.java
@@ -284,8 +284,8 @@
         compareChannels(channel2,
                 mHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, channel2.getId(), false));
 
-        List<NotificationChannelGroup> actualGroups =
-                mHelper.getNotificationChannelGroups(PKG_N_MR1, UID_N_MR1, false, true).getList();
+        List<NotificationChannelGroup> actualGroups = mHelper.getNotificationChannelGroups(
+                PKG_N_MR1, UID_N_MR1, false, true, false).getList();
         boolean foundNcg = false;
         for (NotificationChannelGroup actual : actualGroups) {
             if (ncg.getId().equals(actual.getId())) {
@@ -354,8 +354,8 @@
         compareChannels(channel3,
                 mHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, channel3.getId(), false));
 
-        List<NotificationChannelGroup> actualGroups =
-                mHelper.getNotificationChannelGroups(PKG_N_MR1, UID_N_MR1, false, true).getList();
+        List<NotificationChannelGroup> actualGroups = mHelper.getNotificationChannelGroups(
+                PKG_N_MR1, UID_N_MR1, false, true, false).getList();
         boolean foundNcg = false;
         for (NotificationChannelGroup actual : actualGroups) {
             if (ncg.getId().equals(actual.getId())) {
@@ -1350,8 +1350,8 @@
         mHelper.onPackagesChanged(true, UserHandle.USER_SYSTEM, new String[]{PKG_N_MR1}, new int[]{
                 UID_N_MR1});
 
-        assertEquals(0,
-                mHelper.getNotificationChannelGroups(PKG_N_MR1, UID_N_MR1, true, true).getList().size());
+        assertEquals(0, mHelper.getNotificationChannelGroups(
+                PKG_N_MR1, UID_N_MR1, true, true, false).getList().size());
     }
 
     @Test
@@ -1440,8 +1440,8 @@
                 new NotificationChannel("id3", "name1", NotificationManager.IMPORTANCE_HIGH);
         mHelper.createNotificationChannel(PKG_N_MR1, UID_N_MR1, channel3, true, false);
 
-        List<NotificationChannelGroup> actual =
-                mHelper.getNotificationChannelGroups(PKG_N_MR1, UID_N_MR1, true, true).getList();
+        List<NotificationChannelGroup> actual = mHelper.getNotificationChannelGroups(
+                PKG_N_MR1, UID_N_MR1, true, true, false).getList();
         assertEquals(3, actual.size());
         for (NotificationChannelGroup group : actual) {
             if (group.getId() == null) {
@@ -1473,13 +1473,13 @@
                 new NotificationChannel("id1", "name1", NotificationManager.IMPORTANCE_HIGH);
         channel1.setGroup(ncg.getId());
         mHelper.createNotificationChannel(PKG_N_MR1, UID_N_MR1, channel1, true, false);
-        mHelper.getNotificationChannelGroups(PKG_N_MR1, UID_N_MR1, true, true).getList();
+        mHelper.getNotificationChannelGroups(PKG_N_MR1, UID_N_MR1, true, true, false).getList();
 
         channel1.setImportance(IMPORTANCE_LOW);
         mHelper.updateNotificationChannel(PKG_N_MR1, UID_N_MR1, channel1, true);
 
-        List<NotificationChannelGroup> actual =
-                mHelper.getNotificationChannelGroups(PKG_N_MR1, UID_N_MR1, true, true).getList();
+        List<NotificationChannelGroup> actual = mHelper.getNotificationChannelGroups(
+                PKG_N_MR1, UID_N_MR1, true, true, false).getList();
 
         assertEquals(2, actual.size());
         for (NotificationChannelGroup group : actual) {
@@ -1490,6 +1490,32 @@
     }
 
     @Test
+    public void testGetChannelGroups_includeEmptyGroups() {
+        NotificationChannelGroup ncg = new NotificationChannelGroup("group1", "name1");
+        mHelper.createNotificationChannelGroup(PKG_N_MR1, UID_N_MR1, ncg, true);
+        NotificationChannelGroup ncgEmpty = new NotificationChannelGroup("group2", "name2");
+        mHelper.createNotificationChannelGroup(PKG_N_MR1, UID_N_MR1, ncgEmpty, true);
+
+        NotificationChannel channel1 =
+                new NotificationChannel("id1", "name1", NotificationManager.IMPORTANCE_HIGH);
+        channel1.setGroup(ncg.getId());
+        mHelper.createNotificationChannel(PKG_N_MR1, UID_N_MR1, channel1, true, false);
+
+        List<NotificationChannelGroup> actual = mHelper.getNotificationChannelGroups(
+                PKG_N_MR1, UID_N_MR1, false, false, true).getList();
+
+        assertEquals(2, actual.size());
+        for (NotificationChannelGroup group : actual) {
+            if (Objects.equals(group.getId(), ncg.getId())) {
+                assertEquals(1, group.getChannels().size());
+            }
+            if (Objects.equals(group.getId(), ncgEmpty.getId())) {
+                assertEquals(0, group.getChannels().size());
+            }
+        }
+    }
+
+    @Test
     public void testCreateChannel_updateName() throws Exception {
         NotificationChannel nc = new NotificationChannel("id", "hello", IMPORTANCE_DEFAULT);
         mHelper.createNotificationChannel(PKG_N_MR1, UID_N_MR1, nc, true, false);
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/SnoozeHelperTest.java b/services/tests/uiservicestests/src/com/android/server/notification/SnoozeHelperTest.java
index 88c6fcf..b955e56 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/SnoozeHelperTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/SnoozeHelperTest.java
@@ -32,6 +32,7 @@
 import android.service.notification.StatusBarNotification;
 import android.support.test.runner.AndroidJUnit4;
 import android.test.suitebuilder.annotation.SmallTest;
+import android.util.IntArray;
 
 import static junit.framework.Assert.assertEquals;
 import static junit.framework.Assert.assertFalse;
@@ -235,18 +236,22 @@
         mSnoozeHelper.snooze(r2, 1000);
         mSnoozeHelper.snooze(r3, 1000);
         mSnoozeHelper.snooze(r4, 1000);
-        when(mUserProfiles.getCurrentProfileIds()).thenReturn(
-                new int[] {UserHandle.USER_SYSTEM});
+        IntArray profileIds = new IntArray();
+        profileIds.add(UserHandle.USER_SYSTEM);
+        when(mUserProfiles.getCurrentProfileIds()).thenReturn(profileIds);
         assertEquals(3, mSnoozeHelper.getSnoozed().size());
-        when(mUserProfiles.getCurrentProfileIds()).thenReturn(
-                new int[] {UserHandle.USER_CURRENT});
+        profileIds = new IntArray();
+        profileIds.add(UserHandle.USER_CURRENT);
+        when(mUserProfiles.getCurrentProfileIds()).thenReturn(profileIds);
         assertEquals(1, mSnoozeHelper.getSnoozed().size());
     }
 
     @Test
     public void testGetSnoozedByUser_managedProfiles() throws Exception {
-        when(mUserProfiles.getCurrentProfileIds()).thenReturn(
-                new int[] {UserHandle.USER_SYSTEM, UserHandle.USER_CURRENT});
+        IntArray profileIds = new IntArray();
+        profileIds.add(UserHandle.USER_CURRENT);
+        profileIds.add(UserHandle.USER_SYSTEM);
+        when(mUserProfiles.getCurrentProfileIds()).thenReturn(profileIds);
         NotificationRecord r = getNotificationRecord("pkg", 1, "one", UserHandle.SYSTEM);
         NotificationRecord r2 = getNotificationRecord("pkg", 2, "two", UserHandle.SYSTEM);
         NotificationRecord r3 = getNotificationRecord("pkg2", 3, "three", UserHandle.SYSTEM);
@@ -273,8 +278,9 @@
 
     @Test
     public void repostGroupSummary_repostsSummary() throws Exception {
-        when(mUserProfiles.getCurrentProfileIds()).thenReturn(
-                new int[] {UserHandle.USER_SYSTEM});
+        IntArray profileIds = new IntArray();
+        profileIds.add(UserHandle.USER_SYSTEM);
+        when(mUserProfiles.getCurrentProfileIds()).thenReturn(profileIds);
         NotificationRecord r = getNotificationRecord(
                 "pkg", 1, "one", UserHandle.SYSTEM, "group1", true);
         NotificationRecord r2 = getNotificationRecord(
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/ZenModeConfigTest.java b/services/tests/uiservicestests/src/com/android/server/notification/ZenModeConfigTest.java
new file mode 100644
index 0000000..100f9c6
--- /dev/null
+++ b/services/tests/uiservicestests/src/com/android/server/notification/ZenModeConfigTest.java
@@ -0,0 +1,151 @@
+/*
+ * Copyright (C) 2018 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 distriZenbuted 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.
+ */
+
+package com.android.server.notification;
+
+import static junit.framework.Assert.assertEquals;
+
+import android.app.NotificationManager.Policy;
+import android.service.notification.ZenModeConfig;
+import android.service.notification.ZenPolicy;
+import android.support.test.runner.AndroidJUnit4;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import com.android.server.UiServiceTestCase;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class ZenModeConfigTest extends UiServiceTestCase {
+
+    @Test
+    public void testPriorityOnlyMutingAllNotifications() {
+        ZenModeConfig config = getMutedNotificationsConfig();
+        assertEquals(true, ZenModeConfig.areAllPriorityOnlyNotificationZenSoundsMuted(config));
+
+        config.allowReminders = true;
+        assertEquals(false, ZenModeConfig.areAllPriorityOnlyNotificationZenSoundsMuted(config));
+        config.allowReminders = false;
+
+        config.areChannelsBypassingDnd = true;
+        assertEquals(false, ZenModeConfig.areAllPriorityOnlyNotificationZenSoundsMuted(config));
+        config.areChannelsBypassingDnd = false;
+
+        assertEquals(true, ZenModeConfig.areAllPriorityOnlyNotificationZenSoundsMuted(config));
+    }
+
+    @Test
+    public void testZenPolicyNothingSetToNotificationPolicy() {
+        ZenModeConfig config = getMutedAllConfig();
+        ZenPolicy zenPolicy = new ZenPolicy.Builder().build();
+        assertEquals(config.toNotificationPolicy(), config.toNotificationPolicy(zenPolicy));
+    }
+
+    @Test
+    public void testZenPolicyToNotificationPolicy() {
+        ZenModeConfig config = getMutedAllConfig();
+        config.suppressedVisualEffects |= Policy.SUPPRESSED_EFFECT_BADGE;
+
+        ZenPolicy zenPolicy = new ZenPolicy.Builder()
+                .allowAlarms(true)
+                .allowReminders(true)
+                .allowEvents(true)
+                .showLights(false)
+                .showInAmbientDisplay(false)
+                .build();
+
+        Policy originalPolicy = config.toNotificationPolicy();
+        int priorityCategories = originalPolicy.priorityCategories;
+        int priorityCallSenders = originalPolicy.priorityCallSenders;
+        int priorityMessageSenders = originalPolicy.priorityMessageSenders;
+        int suppressedVisualEffects = originalPolicy.suppressedVisualEffects;
+        priorityCategories |= Policy.PRIORITY_CATEGORY_ALARMS;
+        priorityCategories |= Policy.PRIORITY_CATEGORY_REMINDERS;
+        priorityCategories |= Policy.PRIORITY_CATEGORY_EVENTS;
+        suppressedVisualEffects |= Policy.SUPPRESSED_EFFECT_LIGHTS;
+        suppressedVisualEffects |= Policy.SUPPRESSED_EFFECT_AMBIENT;
+
+        Policy expectedPolicy = new Policy(priorityCategories, priorityCallSenders,
+                priorityMessageSenders, suppressedVisualEffects);
+
+        assertEquals(expectedPolicy, config.toNotificationPolicy(zenPolicy));
+    }
+
+    @Test
+    public void testPriorityOnlyMutingAll() {
+        ZenModeConfig config = getMutedAllConfig();
+        assertEquals(true, ZenModeConfig.areAllPriorityOnlyNotificationZenSoundsMuted(config));
+        assertEquals(true, ZenModeConfig.areAllZenBehaviorSoundsMuted(config));
+
+        config.allowReminders = true;
+        assertEquals(false, ZenModeConfig.areAllPriorityOnlyNotificationZenSoundsMuted(config));
+        assertEquals(false, ZenModeConfig.areAllZenBehaviorSoundsMuted(config));
+        config.allowReminders = false;
+
+        config.areChannelsBypassingDnd = true;
+        assertEquals(false, ZenModeConfig.areAllPriorityOnlyNotificationZenSoundsMuted(config));
+        assertEquals(false, ZenModeConfig.areAllZenBehaviorSoundsMuted(config));
+        config.areChannelsBypassingDnd = false;
+
+        config.allowAlarms = true;
+        assertEquals(true, ZenModeConfig.areAllPriorityOnlyNotificationZenSoundsMuted(config));
+        assertEquals(false, ZenModeConfig.areAllZenBehaviorSoundsMuted(config));
+        config.allowAlarms = false;
+
+        assertEquals(true, ZenModeConfig.areAllPriorityOnlyNotificationZenSoundsMuted(config));
+        assertEquals(true, ZenModeConfig.areAllZenBehaviorSoundsMuted(config));
+    }
+
+    private ZenModeConfig getMutedNotificationsConfig() {
+        ZenModeConfig config = new ZenModeConfig();
+        // Allow alarms, media, and system
+        config.allowAlarms = true;
+        config.allowMedia = true;
+        config.allowSystem = true;
+
+        // All notification sounds are not allowed
+        config.allowCalls = false;
+        config.allowRepeatCallers = false;
+        config.allowMessages = false;
+        config.allowReminders = false;
+        config.allowEvents = false;
+        config.areChannelsBypassingDnd = false;
+
+        config.suppressedVisualEffects = 0;
+
+        return config;
+    }
+
+    private ZenModeConfig getMutedAllConfig() {
+        ZenModeConfig config = new ZenModeConfig();
+        // No sounds allowed
+        config.allowAlarms = false;
+        config.allowMedia = false;
+        config.allowSystem = false;
+        config.allowCalls = false;
+        config.allowRepeatCallers = false;
+        config.allowMessages = false;
+        config.allowReminders = false;
+        config.allowEvents = false;
+        config.areChannelsBypassingDnd = false;
+
+        config.suppressedVisualEffects = 0;
+        return config;
+    }
+}
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java b/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java
index 91f4bc8..13f3e5e 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java
@@ -45,6 +45,7 @@
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.res.Resources;
+import android.content.res.XmlResourceParser;
 import android.media.AudioAttributes;
 import android.media.AudioManager;
 import android.media.AudioManagerInternal;
@@ -60,6 +61,7 @@
 import android.testing.AndroidTestingRunner;
 import android.testing.TestableLooper;
 import android.util.ArrayMap;
+import android.util.Log;
 import android.util.Xml;
 
 import com.android.internal.R;
@@ -74,12 +76,16 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.xmlpull.v1.XmlPullParser;
+import org.xmlpull.v1.XmlPullParserException;
 import org.xmlpull.v1.XmlSerializer;
 
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
 
 @SmallTest
 @RunWith(AndroidTestingRunner.class)
@@ -88,7 +94,7 @@
 
     ConditionProviders mConditionProviders;
     @Mock NotificationManager mNotificationManager;
-    @Mock private Resources mResources;
+    private Resources mResources;
     private TestableLooper mTestableLooper;
     private ZenModeHelper mZenModeHelperSpy;
     private Context mContext;
@@ -101,11 +107,17 @@
         mTestableLooper = TestableLooper.get(this);
         mContext = spy(getContext());
         mContentResolver = mContext.getContentResolver();
-        when(mContext.getResources()).thenReturn(mResources);
-        when(mResources.getString(R.string.zen_mode_default_every_night_name)).thenReturn("night");
-        when(mResources.getString(R.string.zen_mode_default_events_name)).thenReturn("events");
-        when(mContext.getSystemService(NotificationManager.class)).thenReturn(mNotificationManager);
 
+        mResources = spy(mContext.getResources());
+        try {
+            when(mResources.getXml(R.xml.default_zen_mode_config)).thenReturn(
+                    getDefaultConfigParser());
+        } catch (Exception e) {
+            Log.d("ZenModeHelperTest", "Couldn't mock default zen mode config xml file err=" +
+                    e.toString());
+        }
+
+        when(mContext.getSystemService(NotificationManager.class)).thenReturn(mNotificationManager);
         mConditionProviders = new ConditionProviders(mContext, new UserProfiles(),
                 AppGlobals.getPackageManager());
         mConditionProviders.addSystemProvider(new CountdownConditionProvider());
@@ -113,6 +125,30 @@
                 mConditionProviders));
     }
 
+    private XmlResourceParser getDefaultConfigParser() throws IOException, XmlPullParserException {
+        String xml = "<zen version=\"8\" user=\"0\">\n"
+                + "<allow calls=\"false\" repeatCallers=\"false\" messages=\"true\" "
+                + "reminders=\"false\" events=\"false\" callsFrom=\"1\" messagesFrom=\"2\" "
+                + "visualScreenOff=\"true\" alarms=\"true\" "
+                + "media=\"true\" system=\"false\" />\n"
+                + "<automatic ruleId=\"EVENTS_DEFAULT_RULE\" enabled=\"false\" snoozing=\"false\""
+                + " name=\"Event\" zen=\"1\""
+                + " component=\"android/com.android.server.notification.EventConditionProvider\""
+                + " conditionId=\"condition://android/event?userId=-10000&amp;calendar=&amp;"
+                + "reply=1\"/>\n"
+                + "<automatic ruleId=\"EVERY_NIGHT_DEFAULT_RULE\" enabled=\"false\""
+                + " snoozing=\"false\" name=\"Sleeping\" zen=\"1\""
+                + " component=\"android/com.android.server.notification.ScheduleConditionProvider\""
+                + " conditionId=\"condition://android/schedule?days=1.2.3.4.5.6.7 &amp;start=22.0"
+                + "&amp;end=7.0&amp;exitAtAlarm=true\"/>"
+                + "<disallow visualEffects=\"511\" />"
+                + "</zen>";
+        XmlPullParser parser = Xml.newPullParser();
+        parser.setInput(new BufferedInputStream(new ByteArrayInputStream(xml.getBytes())), null);
+        parser.nextTag();
+        return new XmlResourceParserImpl(parser);
+    }
+
     private ByteArrayOutputStream writeXmlAndPurge(boolean forBackup, Integer version)
             throws Exception {
         XmlSerializer serializer = new FastXmlSerializer();
@@ -649,8 +685,8 @@
         customRule.id = "customRule";
         customRule.name = "Custom Rule";
         customRule.zenMode = Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-        customRule.component = new ComponentName("test", "test");
         customRule.conditionId = ZenModeConfig.toScheduleConditionId(customRuleInfo);
+        customRule.component = new ComponentName("android", "ScheduleConditionProvider");
         automaticRules.put("customRule", customRule);
         mZenModeHelperSpy.mConfig.automaticRules = automaticRules;
 
@@ -662,8 +698,8 @@
                 new ByteArrayInputStream(baos.toByteArray())), null);
         parser.nextTag();
         mZenModeHelperSpy.readXml(parser, true);
-        assertEquals(original.hashCode(), mZenModeHelperSpy.mConfig.hashCode());
         assertEquals(original, mZenModeHelperSpy.mConfig);
+        assertEquals(original.hashCode(), mZenModeHelperSpy.mConfig.hashCode());
     }
 
     @Test
@@ -678,6 +714,7 @@
         customRule.name = "Custom Rule";
         customRule.zenMode = Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
         customRule.conditionId = ZenModeConfig.toScheduleConditionId(weeknights);
+        customRule.component = new ComponentName("android", "ScheduleConditionProvider");
         enabledAutoRule.put("customRule", customRule);
         mZenModeHelperSpy.mConfig.automaticRules = enabledAutoRule;
 
@@ -842,6 +879,7 @@
         customRule.name = "Custom Rule";
         customRule.zenMode = Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
         customRule.conditionId = ZenModeConfig.toScheduleConditionId(weeknights);
+        customRule.component = new ComponentName("android", "ScheduleConditionProvider");
         disabledAutoRule.put("customRule", customRule);
         mZenModeHelperSpy.mConfig.automaticRules = disabledAutoRule;
 
@@ -877,6 +915,7 @@
         customRule.name = "Custom Rule";
         customRule.zenMode = Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
         customRule.conditionId = ZenModeConfig.toScheduleConditionId(customRuleInfo);
+        customRule.component = new ComponentName("android", "ScheduleConditionProvider");
         automaticRules.put("customRule", customRule);
 
         ZenModeConfig.ZenRule defaultScheduleRule = new ZenModeConfig.ZenRule();
@@ -886,6 +925,7 @@
         defaultScheduleRule.zenMode = Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
         defaultScheduleRule.conditionId = ZenModeConfig.toScheduleConditionId(
                 defaultScheduleRuleInfo);
+        customRule.component = new ComponentName("android", "ScheduleConditionProvider");
         defaultScheduleRule.id = ZenModeConfig.EVERY_NIGHT_DEFAULT_RULE_ID;
         automaticRules.put(ZenModeConfig.EVERY_NIGHT_DEFAULT_RULE_ID, defaultScheduleRule);
 
@@ -922,6 +962,7 @@
         customRule.name = "Custom Rule";
         customRule.zenMode = Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
         customRule.conditionId = ZenModeConfig.toScheduleConditionId(customRuleInfo);
+        customRule.component = new ComponentName("android", "ScheduleConditionProvider");
         automaticRules.put("customRule", customRule);
 
         ZenModeConfig.ZenRule defaultScheduleRule = new ZenModeConfig.ZenRule();
@@ -989,6 +1030,14 @@
         assertEquals(1, mZenModeHelperSpy.mConditions.mSubscriptions.size());
     }
 
+    @Test
+    public void testEmptyDefaultRulesMap() {
+        ZenModeConfig config = new ZenModeConfig();
+        config.automaticRules = new ArrayMap<>();
+        mZenModeHelperSpy.mConfig = config;
+        mZenModeHelperSpy.updateDefaultZenRules(); // shouldn't throw null pointer
+    }
+
     private void setupZenConfig() {
         mZenModeHelperSpy.mZenMode = Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
         mZenModeHelperSpy.mConfig.allowAlarms = false;
@@ -1015,4 +1064,294 @@
         assertTrue(mZenModeHelperSpy.mConfig.allowRepeatCallers);
         assertEquals(SUPPRESSED_EFFECT_BADGE, mZenModeHelperSpy.mConfig.suppressedVisualEffects);
     }
+
+    /**
+     * Wrapper to use XmlPullParser as XmlResourceParser for Resources.getXml()
+     */
+    final class XmlResourceParserImpl implements XmlResourceParser {
+        private XmlPullParser parser;
+
+        public XmlResourceParserImpl(XmlPullParser parser) {
+            this.parser = parser;
+        }
+
+        public int getEventType() throws XmlPullParserException {
+            return parser.getEventType();
+        }
+
+        @Override
+        public void setFeature(String name, boolean state) throws XmlPullParserException {
+            parser.setFeature(name, state);
+        }
+
+        @Override
+        public boolean getFeature(String name) {
+            return false;
+        }
+
+        @Override
+        public void setProperty(String name, Object value) throws XmlPullParserException {
+            parser.setProperty(name, value);
+        }
+
+        @Override
+        public Object getProperty(String name) {
+            return parser.getProperty(name);
+        }
+
+        @Override
+        public void setInput(Reader in) throws XmlPullParserException {
+            parser.setInput(in);
+        }
+
+        @Override
+        public void setInput(InputStream inputStream, String inputEncoding)
+                throws XmlPullParserException {
+            parser.setInput(inputStream, inputEncoding);
+        }
+
+        @Override
+        public String getInputEncoding() {
+            return parser.getInputEncoding();
+        }
+
+        @Override
+        public void defineEntityReplacementText(String entityName, String replacementText)
+                throws XmlPullParserException {
+            parser.defineEntityReplacementText(entityName, replacementText);
+        }
+
+        @Override
+        public int getNamespaceCount(int depth) throws XmlPullParserException {
+            return parser.getNamespaceCount(depth);
+        }
+
+        @Override
+        public String getNamespacePrefix(int pos) throws XmlPullParserException {
+            return parser.getNamespacePrefix(pos);
+        }
+
+        @Override
+        public String getNamespaceUri(int pos) throws XmlPullParserException {
+            return parser.getNamespaceUri(pos);
+        }
+
+        @Override
+        public String getNamespace(String prefix) {
+            return parser.getNamespace(prefix);
+        }
+
+        @Override
+        public int getDepth() {
+            return parser.getDepth();
+        }
+
+        @Override
+        public String getPositionDescription() {
+            return parser.getPositionDescription();
+        }
+
+        @Override
+        public int getLineNumber() {
+            return parser.getLineNumber();
+        }
+
+        @Override
+        public int getColumnNumber() {
+            return parser.getColumnNumber();
+        }
+
+        @Override
+        public boolean isWhitespace() throws XmlPullParserException {
+            return parser.isWhitespace();
+        }
+
+        @Override
+        public String getText() {
+            return parser.getText();
+        }
+
+        @Override
+        public char[] getTextCharacters(int[] holderForStartAndLength) {
+            return parser.getTextCharacters(holderForStartAndLength);
+        }
+
+        @Override
+        public String getNamespace() {
+            return parser.getNamespace();
+        }
+
+        @Override
+        public String getName() {
+            return parser.getName();
+        }
+
+        @Override
+        public String getPrefix() {
+            return parser.getPrefix();
+        }
+
+        @Override
+        public boolean isEmptyElementTag() throws XmlPullParserException {
+            return false;
+        }
+
+        @Override
+        public int getAttributeCount() {
+            return parser.getAttributeCount();
+        }
+
+        public int next() throws IOException, XmlPullParserException {
+            return parser.next();
+        }
+
+        @Override
+        public int nextToken() throws XmlPullParserException, IOException {
+            return parser.next();
+        }
+
+        @Override
+        public void require(int type, String namespace, String name)
+                throws XmlPullParserException, IOException {
+            parser.require(type, namespace, name);
+        }
+
+        @Override
+        public String nextText() throws XmlPullParserException, IOException {
+            return parser.nextText();
+        }
+
+        @Override
+        public String getAttributeNamespace(int index) {
+            return "";
+        }
+
+        @Override
+        public String getAttributeName(int index) {
+            return parser.getAttributeName(index);
+        }
+
+        @Override
+        public String getAttributePrefix(int index) {
+            return parser.getAttributePrefix(index);
+        }
+
+        @Override
+        public String getAttributeType(int index) {
+            return parser.getAttributeType(index);
+        }
+
+        @Override
+        public boolean isAttributeDefault(int index) {
+            return parser.isAttributeDefault(index);
+        }
+
+        @Override
+        public String getAttributeValue(int index) {
+            return parser.getAttributeValue(index);
+        }
+
+        @Override
+        public String getAttributeValue(String namespace, String name) {
+            return parser.getAttributeValue(namespace, name);
+        }
+
+        @Override
+        public int getAttributeNameResource(int index) {
+            return 0;
+        }
+
+        @Override
+        public int getAttributeListValue(String namespace, String attribute, String[] options,
+                int defaultValue) {
+            return 0;
+        }
+
+        @Override
+        public boolean getAttributeBooleanValue(String namespace, String attribute,
+                boolean defaultValue) {
+            return false;
+        }
+
+        @Override
+        public int getAttributeResourceValue(String namespace, String attribute, int defaultValue) {
+            return 0;
+        }
+
+        @Override
+        public int getAttributeIntValue(String namespace, String attribute, int defaultValue) {
+            return 0;
+        }
+
+        @Override
+        public int getAttributeUnsignedIntValue(String namespace, String attribute,
+                int defaultValue) {
+            return 0;
+        }
+
+        @Override
+        public float getAttributeFloatValue(String namespace, String attribute,
+                float defaultValue) {
+            return 0;
+        }
+
+        @Override
+        public int getAttributeListValue(int index, String[] options, int defaultValue) {
+            return 0;
+        }
+
+        @Override
+        public boolean getAttributeBooleanValue(int index, boolean defaultValue) {
+            return false;
+        }
+
+        @Override
+        public int getAttributeResourceValue(int index, int defaultValue) {
+            return 0;
+        }
+
+        @Override
+        public int getAttributeIntValue(int index, int defaultValue) {
+            return 0;
+        }
+
+        @Override
+        public int getAttributeUnsignedIntValue(int index, int defaultValue) {
+            return 0;
+        }
+
+        @Override
+        public float getAttributeFloatValue(int index, float defaultValue) {
+            return 0;
+        }
+
+        @Override
+        public String getIdAttribute() {
+            return null;
+        }
+
+        @Override
+        public String getClassAttribute() {
+            return null;
+        }
+
+        @Override
+        public int getIdAttributeResourceValue(int defaultValue) {
+            return 0;
+        }
+
+        @Override
+        public int getStyleAttribute() {
+            return 0;
+        }
+
+        @Override
+        public void close() {
+        }
+
+        @Override
+        public int nextTag() throws IOException, XmlPullParserException {
+            return parser.nextTag();
+        }
+    }
 }
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/ZenPolicyTest.java b/services/tests/uiservicestests/src/com/android/server/notification/ZenPolicyTest.java
new file mode 100644
index 0000000..7c6b1c1
--- /dev/null
+++ b/services/tests/uiservicestests/src/com/android/server/notification/ZenPolicyTest.java
@@ -0,0 +1,456 @@
+/*
+ * Copyright (C) 2018 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 distriZenbuted 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.
+ */
+
+package com.android.server.notification;
+
+import static junit.framework.Assert.assertEquals;
+
+import android.service.notification.ZenPolicy;
+import android.support.test.runner.AndroidJUnit4;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import com.android.server.UiServiceTestCase;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class ZenPolicyTest extends UiServiceTestCase {
+
+    @Test
+    public void testZenPolicyApplyAllowedToDisallowed() {
+        ZenPolicy.Builder builder = new ZenPolicy.Builder();
+
+        // reminders are disallowed
+        builder.allowReminders(false);
+        ZenPolicy remindersDisallowed = builder.build();
+        assertEquals(ZenPolicy.STATE_DISALLOW,
+                remindersDisallowed.getPriorityCategoryReminders());
+
+        // reminders are allowed
+        builder.allowReminders(true);
+        ZenPolicy remindersAllowed = builder.build();
+        assertEquals(ZenPolicy.STATE_ALLOW,
+                remindersAllowed.getPriorityCategoryReminders());
+        assertEquals(ZenPolicy.STATE_DISALLOW,
+                remindersDisallowed.getPriorityCategoryReminders());
+
+        // we apply reminders allowed to reminders disallowed
+        // -> reminders should remain disallowed
+        remindersDisallowed.apply(remindersAllowed);
+        assertEquals(ZenPolicy.STATE_DISALLOW,
+                remindersDisallowed.getPriorityCategoryReminders());
+    }
+
+    @Test
+    public void testZenPolicyApplyAllowedToUnset() {
+        ZenPolicy.Builder builder = new ZenPolicy.Builder();
+
+        // reminders are unset
+        ZenPolicy remindersUnset = builder.build();
+
+        // reminders are allowed
+        builder.allowReminders(true);
+        ZenPolicy remindersAllowed = builder.build();
+
+        // we apply reminders allowed to reminders unset
+        // -> reminders should be allowed
+        remindersUnset.apply(remindersAllowed);
+        assertEquals(ZenPolicy.STATE_ALLOW, remindersUnset.getPriorityCategoryReminders());
+    }
+
+    @Test
+    public void testZenPolicyApplyDisallowedToUnset() {
+        ZenPolicy.Builder builder = new ZenPolicy.Builder();
+
+        // reminders are unset
+        ZenPolicy remindersUnset = builder.build();
+
+        // reminders are disallowed
+        builder.allowReminders(false);
+        ZenPolicy remindersDisallowed = builder.build();
+
+        // we apply reminders disallowed to reminders unset
+        // -> reminders should remain disallowed
+        remindersUnset.apply(remindersDisallowed);
+        assertEquals(ZenPolicy.STATE_DISALLOW,
+                remindersUnset.getPriorityCategoryReminders());
+    }
+
+    @Test
+    public void testZenPolicyApplyDisallowedToAllowed() {
+        ZenPolicy.Builder builder = new ZenPolicy.Builder();
+
+        // reminders are allowed
+        builder.allowReminders(true);
+        ZenPolicy remindersAllowed = builder.build();
+
+        // reminders are disallowed
+        builder.allowReminders(false);
+        ZenPolicy remindersDisallowed = builder.build();
+
+        // we apply reminders allowed to reminders disallowed
+        // -> reminders should change to disallowed
+        remindersAllowed.apply(remindersDisallowed);
+        assertEquals(ZenPolicy.STATE_DISALLOW, remindersAllowed.getPriorityCategoryReminders());
+    }
+
+    @Test
+    public void testZenPolicyApplyUnsetToAllowed() {
+        ZenPolicy.Builder builder = new ZenPolicy.Builder();
+
+        // reminders are allowed
+        builder.allowReminders(true);
+        ZenPolicy remindersAllowed = builder.build();
+
+        // reminders are unset
+        ZenPolicy.Builder builder2 = new ZenPolicy.Builder();
+        ZenPolicy remindersUnset = builder2.build();
+
+        // we apply reminders allowed to reminders unset
+        // -> reminders should remain allowed
+        remindersAllowed.apply(remindersUnset);
+        assertEquals(ZenPolicy.STATE_ALLOW, remindersAllowed.getPriorityCategoryReminders());
+    }
+
+    @Test
+    public void testZenPolicyApplyMoreSevereCallSenders() {
+        ZenPolicy.Builder builder = new ZenPolicy.Builder();
+
+        // calls from contacts allowed
+        builder.allowCalls(ZenPolicy.PEOPLE_TYPE_CONTACTS);
+        ZenPolicy contactsAllowed = builder.build();
+
+        // calls from starred contacts allowed
+        builder.allowCalls(ZenPolicy.PEOPLE_TYPE_STARRED);
+        ZenPolicy starredAllowed = builder.build();
+
+        // we apply starredAllowed to contactsAllowed -> starred contacts allowed (more restrictive)
+        contactsAllowed.apply(starredAllowed);
+        assertEquals(ZenPolicy.STATE_ALLOW, contactsAllowed.getPriorityCategoryCalls());
+        assertEquals(ZenPolicy.PEOPLE_TYPE_STARRED, contactsAllowed.getPriorityCallSenders());
+    }
+
+    @Test
+    public void testZenPolicyApplyLessSevereCallSenders() {
+        ZenPolicy.Builder builder = new ZenPolicy.Builder();
+
+        // calls from contacts allowed
+        builder.allowCalls(ZenPolicy.PEOPLE_TYPE_CONTACTS);
+        ZenPolicy contactsAllowed = builder.build();
+
+        // calls from anyone allowed
+        builder.allowCalls(ZenPolicy.PEOPLE_TYPE_ANYONE);
+        ZenPolicy anyoneAllowed = builder.build();
+
+        // we apply anyoneAllowed to contactsAllowed -> contactsAllowed (more restrictive)
+        contactsAllowed.apply(anyoneAllowed);
+        assertEquals(ZenPolicy.STATE_ALLOW, contactsAllowed.getPriorityCategoryCalls());
+        assertEquals(ZenPolicy.PEOPLE_TYPE_CONTACTS, contactsAllowed.getPriorityCallSenders());
+    }
+
+    @Test
+    public void testZenPolicyApplyMoreSevereMessageSenders() {
+        ZenPolicy.Builder builder = new ZenPolicy.Builder();
+
+        // messsages from contacts allowed
+        builder.allowMessages(ZenPolicy.PEOPLE_TYPE_CONTACTS);
+        ZenPolicy contactsAllowed = builder.build();
+
+        // messsages from no one allowed
+        builder.allowMessages(ZenPolicy.PEOPLE_TYPE_NONE);
+        ZenPolicy noneAllowed = builder.build();
+
+        // noneAllowed to contactsAllowed -> no messages allowed (more restrictive)
+        contactsAllowed.apply(noneAllowed);
+        assertEquals(ZenPolicy.STATE_DISALLOW, contactsAllowed.getPriorityCategoryMessages());
+        assertEquals(ZenPolicy.PEOPLE_TYPE_NONE, contactsAllowed.getPriorityMessageSenders());
+    }
+
+    @Test
+    public void testZenPolicyMessagesInvalid() {
+        ZenPolicy.Builder builder = new ZenPolicy.Builder();
+
+        builder.allowMessages(20); // invalid #, won't change policy
+        ZenPolicy policy = builder.build();
+        assertEquals(ZenPolicy.STATE_UNSET, policy.getPriorityCategoryMessages());
+        assertEquals(ZenPolicy.PEOPLE_TYPE_UNSET, policy.getPriorityMessageSenders());
+    }
+
+    @Test
+    public void testZenPolicyCallsInvalid() {
+        ZenPolicy.Builder builder = new ZenPolicy.Builder();
+
+        builder.allowCalls(ZenPolicy.PEOPLE_TYPE_ANYONE);
+        builder.allowCalls(20); // invalid #, won't change policy
+        ZenPolicy policy = builder.build();
+        assertEquals(ZenPolicy.STATE_ALLOW, policy.getPriorityCategoryCalls());
+        assertEquals(ZenPolicy.PEOPLE_TYPE_ANYONE, policy.getPriorityCallSenders());
+    }
+
+    @Test
+    public void testEmptyZenPolicy() {
+        ZenPolicy.Builder builder = new ZenPolicy.Builder();
+
+        ZenPolicy policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, -1);
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+    }
+
+    @Test
+    public void testAllowReminders() {
+        ZenPolicy.Builder builder = new ZenPolicy.Builder();
+
+        builder.allowReminders(true);
+        ZenPolicy policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, ZenPolicy.PRIORITY_CATEGORY_REMINDERS);
+        assertEquals(ZenPolicy.STATE_ALLOW, policy.getPriorityCategoryReminders());
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+
+        builder.allowReminders(false);
+        policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, ZenPolicy.PRIORITY_CATEGORY_REMINDERS);
+        assertEquals(ZenPolicy.STATE_DISALLOW, policy.getPriorityCategoryReminders());
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+    }
+
+    @Test
+    public void testAllowEvents() {
+        ZenPolicy.Builder builder = new ZenPolicy.Builder();
+
+        builder.allowEvents(true);
+        ZenPolicy policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, ZenPolicy.PRIORITY_CATEGORY_EVENTS);
+        assertEquals(ZenPolicy.STATE_ALLOW, policy.getPriorityCategoryEvents());
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+
+        builder.allowEvents(false);
+        policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, ZenPolicy.PRIORITY_CATEGORY_EVENTS);
+        assertEquals(ZenPolicy.STATE_DISALLOW, policy.getPriorityCategoryEvents());
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+    }
+
+    @Test
+    public void testAllowMessages() {
+        ZenPolicy.Builder builder = new ZenPolicy.Builder();
+
+        builder.allowMessages(ZenPolicy.PEOPLE_TYPE_ANYONE);
+        ZenPolicy policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, ZenPolicy.PRIORITY_CATEGORY_MESSAGES);
+        assertEquals(ZenPolicy.STATE_ALLOW, policy.getPriorityCategoryMessages());
+        assertEquals(ZenPolicy.PEOPLE_TYPE_ANYONE, policy.getPriorityMessageSenders());
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+
+        builder.allowMessages(ZenPolicy.PEOPLE_TYPE_CONTACTS);
+        policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, ZenPolicy.PRIORITY_CATEGORY_MESSAGES);
+        assertEquals(ZenPolicy.STATE_ALLOW, policy.getPriorityCategoryMessages());
+        assertEquals(ZenPolicy.PEOPLE_TYPE_CONTACTS, policy.getPriorityMessageSenders());
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+
+        builder.allowMessages(ZenPolicy.PEOPLE_TYPE_STARRED);
+        policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, ZenPolicy.PRIORITY_CATEGORY_MESSAGES);
+        assertEquals(ZenPolicy.STATE_ALLOW, policy.getPriorityCategoryMessages());
+        assertEquals(ZenPolicy.PEOPLE_TYPE_STARRED, policy.getPriorityMessageSenders());
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+
+        builder.allowMessages(ZenPolicy.PEOPLE_TYPE_NONE);
+        policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, ZenPolicy.PRIORITY_CATEGORY_MESSAGES);
+        assertEquals(ZenPolicy.STATE_DISALLOW, policy.getPriorityCategoryMessages());
+        assertEquals(ZenPolicy.PEOPLE_TYPE_NONE, policy.getPriorityMessageSenders());
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+
+        builder.allowMessages(ZenPolicy.PEOPLE_TYPE_UNSET);
+        policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, -1);
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+    }
+
+    @Test
+    public void testAllowCalls() {
+        ZenPolicy.Builder builder = new ZenPolicy.Builder();
+
+        builder.allowCalls(ZenPolicy.PEOPLE_TYPE_ANYONE);
+        ZenPolicy policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, ZenPolicy.PRIORITY_CATEGORY_CALLS);
+        assertEquals(ZenPolicy.STATE_ALLOW, policy.getPriorityCategoryCalls());
+        assertEquals(ZenPolicy.PEOPLE_TYPE_ANYONE, policy.getPriorityCallSenders());
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+
+        builder.allowCalls(ZenPolicy.PEOPLE_TYPE_CONTACTS);
+        policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, ZenPolicy.PRIORITY_CATEGORY_CALLS);
+        assertEquals(ZenPolicy.STATE_ALLOW, policy.getPriorityCategoryCalls());
+        assertEquals(ZenPolicy.PEOPLE_TYPE_CONTACTS, policy.getPriorityCallSenders());
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+
+        builder.allowCalls(ZenPolicy.PEOPLE_TYPE_STARRED);
+        policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, ZenPolicy.PRIORITY_CATEGORY_CALLS);
+        assertEquals(ZenPolicy.STATE_ALLOW, policy.getPriorityCategoryCalls());
+        assertEquals(ZenPolicy.PEOPLE_TYPE_STARRED, policy.getPriorityCallSenders());
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+
+        builder.allowCalls(ZenPolicy.PEOPLE_TYPE_NONE);
+        policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, ZenPolicy.PRIORITY_CATEGORY_CALLS);
+        assertEquals(ZenPolicy.STATE_DISALLOW, policy.getPriorityCategoryCalls());
+        assertEquals(ZenPolicy.PEOPLE_TYPE_NONE, policy.getPriorityCallSenders());
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+
+        builder.allowCalls(ZenPolicy.PEOPLE_TYPE_UNSET);
+        policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, -1);
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+    }
+
+    @Test
+    public void testAllowRepeatCallers() {
+        ZenPolicy.Builder builder = new ZenPolicy.Builder();
+
+        builder.allowRepeatCallers(true);
+        ZenPolicy policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, ZenPolicy.PRIORITY_CATEGORY_REPEAT_CALLERS);
+        assertEquals(ZenPolicy.STATE_ALLOW, policy.getPriorityCategoryRepeatCallers());
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+
+        builder.allowRepeatCallers(false);
+        policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, ZenPolicy.PRIORITY_CATEGORY_REPEAT_CALLERS);
+        assertEquals(ZenPolicy.STATE_DISALLOW, policy.getPriorityCategoryRepeatCallers());
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+    }
+
+    @Test
+    public void testAllowAlarms() {
+        ZenPolicy.Builder builder = new ZenPolicy.Builder();
+
+        builder.allowAlarms(true);
+        ZenPolicy policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, ZenPolicy.PRIORITY_CATEGORY_ALARMS);
+        assertEquals(ZenPolicy.STATE_ALLOW, policy.getPriorityCategoryAlarms());
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+
+        builder.allowAlarms(false);
+        policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, ZenPolicy.PRIORITY_CATEGORY_ALARMS);
+        assertEquals(ZenPolicy.STATE_DISALLOW, policy.getPriorityCategoryAlarms());
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+    }
+
+    @Test
+    public void testAllowMedia() {
+        ZenPolicy.Builder builder = new ZenPolicy.Builder();
+
+        builder.allowMedia(true);
+        ZenPolicy policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, ZenPolicy.PRIORITY_CATEGORY_MEDIA);
+        assertEquals(ZenPolicy.STATE_ALLOW, policy.getPriorityCategoryMedia());
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+
+        builder.allowMedia(false);
+        policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, ZenPolicy.PRIORITY_CATEGORY_MEDIA);
+        assertEquals(ZenPolicy.STATE_DISALLOW, policy.getPriorityCategoryMedia());
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+    }
+
+    @Test
+    public void testAllowSystem() {
+        ZenPolicy.Builder builder = new ZenPolicy.Builder();
+
+        builder.allowSystem(true);
+        ZenPolicy policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, ZenPolicy.PRIORITY_CATEGORY_SYSTEM);
+        assertEquals(ZenPolicy.STATE_ALLOW, policy.getPriorityCategorySystem());
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+
+        builder.allowSystem(false);
+        policy = builder.build();
+        assertAllPriorityCategoriesUnsetExcept(policy, ZenPolicy.PRIORITY_CATEGORY_SYSTEM);
+        assertEquals(ZenPolicy.STATE_DISALLOW, policy.getPriorityCategorySystem());
+        assertAllVisualEffectsUnsetExcept(policy, -1);
+    }
+
+    private void assertAllPriorityCategoriesUnsetExcept(ZenPolicy policy, int except) {
+        if (except != ZenPolicy.PRIORITY_CATEGORY_REMINDERS) {
+            assertEquals(ZenPolicy.STATE_UNSET, policy.getPriorityCategoryReminders());
+        }
+
+        if (except != ZenPolicy.PRIORITY_CATEGORY_EVENTS) {
+            assertEquals(ZenPolicy.STATE_UNSET, policy.getPriorityCategoryEvents());
+        }
+
+        if (except != ZenPolicy.PRIORITY_CATEGORY_MESSAGES) {
+            assertEquals(ZenPolicy.STATE_UNSET, policy.getPriorityCategoryMessages());
+        }
+
+        if (except != ZenPolicy.PRIORITY_CATEGORY_CALLS) {
+            assertEquals(ZenPolicy.STATE_UNSET, policy.getPriorityCategoryCalls());
+        }
+
+        if (except != ZenPolicy.PRIORITY_CATEGORY_REPEAT_CALLERS) {
+            assertEquals(ZenPolicy.STATE_UNSET, policy.getPriorityCategoryRepeatCallers());
+        }
+
+        if (except != ZenPolicy.PRIORITY_CATEGORY_ALARMS) {
+            assertEquals(ZenPolicy.STATE_UNSET, policy.getPriorityCategoryAlarms());
+        }
+
+        if (except != ZenPolicy.PRIORITY_CATEGORY_MEDIA) {
+            assertEquals(ZenPolicy.STATE_UNSET, policy.getPriorityCategoryMedia());
+        }
+
+        if (except != ZenPolicy.PRIORITY_CATEGORY_SYSTEM) {
+            assertEquals(ZenPolicy.STATE_UNSET, policy.getPriorityCategorySystem());
+        }
+    }
+
+    private void assertAllVisualEffectsUnsetExcept(ZenPolicy policy, int except) {
+        if (except != ZenPolicy.VISUAL_EFFECT_FULL_SCREEN_INTENT) {
+            assertEquals(ZenPolicy.STATE_UNSET, policy.getVisualEffectFullScreenIntent());
+        }
+
+        if (except != ZenPolicy.VISUAL_EFFECT_LIGHTS) {
+            assertEquals(ZenPolicy.STATE_UNSET, policy.getVisualEffectLights());
+        }
+
+        if (except != ZenPolicy.VISUAL_EFFECT_PEEK) {
+            assertEquals(ZenPolicy.STATE_UNSET, policy.getVisualEffectPeek());
+        }
+
+        if (except != ZenPolicy.VISUAL_EFFECT_STATUS_BAR) {
+            assertEquals(ZenPolicy.STATE_UNSET, policy.getVisualEffectStatusBar());
+        }
+
+        if (except != ZenPolicy.VISUAL_EFFECT_BADGE) {
+            assertEquals(ZenPolicy.STATE_UNSET, policy.getVisualEffectBadge());
+        }
+
+        if (except != ZenPolicy.VISUAL_EFFECT_AMBIENT) {
+            assertEquals(ZenPolicy.STATE_UNSET, policy.getVisualEffectAmbient());
+        }
+
+        if (except != ZenPolicy.VISUAL_EFFECT_NOTIFICATION_LIST) {
+            assertEquals(ZenPolicy.STATE_UNSET, policy.getVisualEffectNotificationList());
+        }
+    }
+}
diff --git a/services/tests/wmtests/src/com/android/server/policy/DummyPolicyTests.java b/services/tests/wmtests/src/com/android/server/policy/DummyPolicyTests.java
new file mode 100644
index 0000000..03fb123
--- /dev/null
+++ b/services/tests/wmtests/src/com/android/server/policy/DummyPolicyTests.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.server.policy;
+
+import android.platform.test.annotations.Presubmit;
+
+import org.junit.Test;
+
+import androidx.test.filters.FlakyTest;
+
+/**
+ * Dummy test for com.android.server.policy.
+ * TODO(b/113800711): Remove this class once the actual tests are moved from servicestests.
+ */
+public class DummyPolicyTests {
+
+    @Presubmit
+    @Test
+    public void preSubmitTest() {}
+
+    @FlakyTest
+    @Presubmit
+    @Test
+    public void flakyPreSubmitTest() {}
+
+    @Test
+    public void postSubmitTest() {}
+
+    @FlakyTest
+    @Test
+    public void flakyPostSubmitTest() {}
+}
diff --git a/services/usage/java/com/android/server/usage/IntervalStats.java b/services/usage/java/com/android/server/usage/IntervalStats.java
index 4b7e21f..db9972f 100644
--- a/services/usage/java/com/android/server/usage/IntervalStats.java
+++ b/services/usage/java/com/android/server/usage/IntervalStats.java
@@ -24,7 +24,9 @@
 import android.content.res.Configuration;
 import android.util.ArrayMap;
 import android.util.ArraySet;
+import android.util.proto.ProtoInputStream;
 
+import java.io.IOException;
 import java.util.List;
 
 import com.android.internal.annotations.VisibleForTesting;
@@ -46,7 +48,7 @@
     // keep hundreds of strings that have the same contents. We will read the string
     // and only keep it if it's not in the cache. The GC will take care of the
     // strings that had identical copies in the cache.
-    private final ArraySet<String> mStringCache = new ArraySet<>();
+    public final ArraySet<String> mStringCache = new ArraySet<>();
 
     public static final class EventTracker {
         public long curStartTime;
@@ -129,6 +131,90 @@
         return event;
     }
 
+    /**
+     * Builds a UsageEvents.Event from a proto, but does not add it internally.
+     * Built here to take advantage of the cached String Refs
+     */
+    UsageEvents.Event buildEvent(ProtoInputStream parser, List<String> stringPool)
+            throws IOException {
+        final UsageEvents.Event event = new UsageEvents.Event();
+        while (true) {
+            switch (parser.nextField()) {
+                case (int) IntervalStatsProto.Event.PACKAGE:
+                    event.mPackage = getCachedStringRef(
+                            parser.readString(IntervalStatsProto.Event.PACKAGE));
+                    break;
+                case (int) IntervalStatsProto.Event.PACKAGE_INDEX:
+                    event.mPackage = getCachedStringRef(stringPool.get(
+                            parser.readInt(IntervalStatsProto.Event.PACKAGE_INDEX) - 1));
+                    break;
+                case (int) IntervalStatsProto.Event.CLASS:
+                    event.mClass = getCachedStringRef(
+                            parser.readString(IntervalStatsProto.Event.CLASS));
+                    break;
+                case (int) IntervalStatsProto.Event.CLASS_INDEX:
+                    event.mClass = getCachedStringRef(stringPool.get(
+                            parser.readInt(IntervalStatsProto.Event.CLASS_INDEX) - 1));
+                    break;
+                case (int) IntervalStatsProto.Event.TIME_MS:
+                    event.mTimeStamp = beginTime + parser.readLong(
+                            IntervalStatsProto.Event.TIME_MS);
+                    break;
+                case (int) IntervalStatsProto.Event.FLAGS:
+                    event.mFlags = parser.readInt(IntervalStatsProto.Event.FLAGS);
+                    break;
+                case (int) IntervalStatsProto.Event.TYPE:
+                    event.mEventType = parser.readInt(IntervalStatsProto.Event.TYPE);
+                    break;
+                case (int) IntervalStatsProto.Event.CONFIG:
+                    event.mConfiguration = new Configuration();
+                    event.mConfiguration.readFromProto(parser, IntervalStatsProto.Event.CONFIG);
+                    break;
+                case (int) IntervalStatsProto.Event.SHORTCUT_ID:
+                    event.mShortcutId = parser.readString(
+                            IntervalStatsProto.Event.SHORTCUT_ID).intern();
+                    break;
+                case (int) IntervalStatsProto.Event.STANDBY_BUCKET:
+                    event.mBucketAndReason = parser.readInt(
+                            IntervalStatsProto.Event.STANDBY_BUCKET);
+                    break;
+                case (int) IntervalStatsProto.Event.NOTIFICATION_CHANNEL:
+                    event.mNotificationChannelId = parser.readString(
+                            IntervalStatsProto.Event.NOTIFICATION_CHANNEL);
+                    break;
+                case (int) IntervalStatsProto.Event.NOTIFICATION_CHANNEL_INDEX:
+                    event.mNotificationChannelId = getCachedStringRef(stringPool.get(
+                            parser.readInt(IntervalStatsProto.Event.NOTIFICATION_CHANNEL_INDEX)
+                                    - 1));
+                    break;
+                case ProtoInputStream.NO_MORE_FIELDS:
+                    // Handle default values for certain events types
+                    switch (event.mEventType) {
+                        case UsageEvents.Event.CONFIGURATION_CHANGE:
+                            if (event.mConfiguration == null) {
+                                event.mConfiguration = new Configuration();
+                            }
+                            break;
+                        case UsageEvents.Event.SHORTCUT_INVOCATION:
+                            if (event.mShortcutId == null) {
+                                event.mShortcutId = "";
+                            }
+                            break;
+                        case UsageEvents.Event.NOTIFICATION_INTERRUPTION:
+                            if (event.mNotificationChannelId == null) {
+                                event.mNotificationChannelId = "";
+                            }
+                            break;
+                    }
+                    if (event.mTimeStamp == 0) {
+                        //mTimestamp not set, assume default value 0 plus beginTime
+                        event.mTimeStamp = beginTime;
+                    }
+                    return event;
+            }
+        }
+    }
+
     private boolean isStatefulEvent(int eventType) {
         switch (eventType) {
             case UsageEvents.Event.MOVE_TO_FOREGROUND:
@@ -143,8 +229,6 @@
     /**
      * Returns whether the event type is one caused by user visible
      * interaction. Excludes those that are internally generated.
-     * @param eventType
-     * @return
      */
     private boolean isUserVisibleEvent(int eventType) {
         return eventType != UsageEvents.Event.SYSTEM_INTERACTION
@@ -184,6 +268,25 @@
         endTime = timeStamp;
     }
 
+    /**
+     * @hide
+     */
+    @VisibleForTesting
+    public void addEvent(UsageEvents.Event event) {
+        if (events == null) {
+            events = new EventList();
+        }
+        // Cache common use strings
+        event.mPackage = getCachedStringRef(event.mPackage);
+        if (event.mClass != null) {
+            event.mClass = getCachedStringRef(event.mClass);
+        }
+        if (event.mEventType == UsageEvents.Event.NOTIFICATION_INTERRUPTION) {
+            event.mNotificationChannelId = getCachedStringRef(event.mNotificationChannelId);
+        }
+        events.insert(event);
+    }
+
     void updateChooserCounts(String packageName, String category, String action) {
         UsageStats usageStats = getOrCreateUsageStats(packageName);
         if (usageStats.mChooserCounts == null) {
diff --git a/services/usage/java/com/android/server/usage/UsageStatsDatabase.java b/services/usage/java/com/android/server/usage/UsageStatsDatabase.java
index 5ab5dc2..c616685 100644
--- a/services/usage/java/com/android/server/usage/UsageStatsDatabase.java
+++ b/services/usage/java/com/android/server/usage/UsageStatsDatabase.java
@@ -17,6 +17,7 @@
 package com.android.server.usage;
 
 import android.app.usage.TimeSparseArray;
+import android.app.usage.UsageEvents;
 import android.app.usage.UsageStats;
 import android.app.usage.UsageStatsManager;
 import android.os.Build;
@@ -25,6 +26,10 @@
 import android.util.Slog;
 import android.util.TimeUtils;
 
+import com.android.internal.annotations.VisibleForTesting;
+
+import libcore.io.IoUtils;
+
 import java.io.BufferedReader;
 import java.io.BufferedWriter;
 import java.io.ByteArrayInputStream;
@@ -32,18 +37,49 @@
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
 import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
 import java.io.FileReader;
 import java.io.FileWriter;
 import java.io.FilenameFilter;
+import java.io.InputStream;
 import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.file.Files;
+import java.nio.file.StandardCopyOption;
 import java.util.ArrayList;
 import java.util.List;
 
 /**
- * Provides an interface to query for UsageStat data from an XML database.
+ * Provides an interface to query for UsageStat data from a Protocol Buffer database.
+ *
+ * Prior to version 4, UsageStatsDatabase used XML to store Usage Stats data to disk.
+ * When the UsageStatsDatabase version is upgraded, the files on disk are migrated to the new
+ * version on init. The steps of migration are as follows:
+ * 1) Check if version upgrade breadcrumb exists on disk, if so skip to step 4.
+ * 2) Copy current files to versioned backup files.
+ * 3) Write a temporary breadcrumb file with some info about the backed up files.
+ * 4) Deserialize a versioned backup file using the info written to the breadcrumb for the
+ * correct deserialization methodology.
+ * 5) Reserialize the data read from the file with the new version format and replace the old files
+ * 6) Repeat Step 3 and 4 for each versioned backup file matching the breadcrumb file.
+ * 7) Update the version file with the new version and build fingerprint.
+ * 8) Delete the versioned backup files (unless flagged to be kept).
+ * 9) Delete the breadcrumb file.
+ *
+ * Performing the upgrade steps in this order, protects against unexpected shutdowns mid upgrade
+ *
+ * A versioned backup file is simply a copy of a Usage Stats file with some extra info embedded in
+ * the file name. The structure of the versioned backup filename is as followed:
+ * (original file name).(backup timestamp).(original file version).vak
+ *
+ * During the version upgrade process, the new upgraded file will have it's name set to the original
+ * file name. The backup timestamp helps distinguish between versioned backups if multiple upgrades
+ * and downgrades have taken place. The original file version denotes how to parse the file.
  */
 public class UsageStatsDatabase {
-    private static final int CURRENT_VERSION = 3;
+    private static final int DEFAULT_CURRENT_VERSION = 4;
 
     // Current version of the backup schema
     static final int BACKUP_VERSION = 1;
@@ -52,10 +88,16 @@
     // same as UsageStatsBackupHelper.KEY_USAGE_STATS
     static final String KEY_USAGE_STATS = "usage_stats";
 
+    // Persist versioned backup files.
+    // Should be false, except when testing new versions
+    // STOPSHIP: b/111422946 this should be false on launch
+    static final boolean KEEP_VAK_FILES = true;
 
     private static final String TAG = "UsageStatsDatabase";
-    private static final boolean DEBUG = UsageStatsService.DEBUG;
+    // STOPSHIP: b/111422946 this should be boolean DEBUG = UsageStatsService.DEBUG; on launch
+    private static final boolean DEBUG = true;
     private static final String BAK_SUFFIX = ".bak";
+    private static final String VERSIONED_BAK_SUFFIX = ".vak";
     private static final String CHECKED_IN_SUFFIX = UsageStatsXml.CHECKED_IN_SUFFIX;
     private static final String RETENTION_LEN_KEY = "ro.usagestats.chooser.retention";
     private static final int SELECTION_LOG_RETENTION_LEN =
@@ -66,21 +108,40 @@
     private final TimeSparseArray<AtomicFile>[] mSortedStatFiles;
     private final UnixCalendar mCal;
     private final File mVersionFile;
+    // If this file exists on disk, UsageStatsDatabase is in the middle of migrating files to a new
+    // version. If this file exists on boot, the upgrade was interrupted and needs to be picked up
+    // where it left off.
+    private final File mUpdateBreadcrumb;
+    // Current version of the database files schema
+    private final int mCurrentVersion;
     private boolean mFirstUpdate;
     private boolean mNewUpdate;
 
-    public UsageStatsDatabase(File dir) {
-        mIntervalDirs = new File[] {
+    /**
+     * UsageStatsDatabase constructor that allows setting the version number.
+     * This should only be used for testing.
+     *
+     * @hide
+     */
+    @VisibleForTesting
+    public UsageStatsDatabase(File dir, int version) {
+        mIntervalDirs = new File[]{
                 new File(dir, "daily"),
                 new File(dir, "weekly"),
                 new File(dir, "monthly"),
                 new File(dir, "yearly"),
         };
+        mCurrentVersion = version;
         mVersionFile = new File(dir, "version");
+        mUpdateBreadcrumb = new File(dir, "breadcrumb");
         mSortedStatFiles = new TimeSparseArray[mIntervalDirs.length];
         mCal = new UnixCalendar(0);
     }
 
+    public UsageStatsDatabase(File dir) {
+        this(dir, DEFAULT_CURRENT_VERSION);
+    }
+
     /**
      * Initialize any directories required and index what stats are available.
      */
@@ -154,7 +215,7 @@
             try {
                 IntervalStats stats = new IntervalStats();
                 for (int i = start; i < fileCount - 1; i++) {
-                    UsageStatsXml.read(files.valueAt(i), stats);
+                    readLocked(files.valueAt(i), stats);
                     if (!checkinAction.checkin(stats)) {
                         return false;
                     }
@@ -190,7 +251,7 @@
         final FilenameFilter backupFileFilter = new FilenameFilter() {
             @Override
             public boolean accept(File dir, String name) {
-                return !name.endsWith(BAK_SUFFIX);
+                return !name.endsWith(BAK_SUFFIX) && !name.endsWith(VERSIONED_BAK_SUFFIX);
             }
         };
 
@@ -210,7 +271,7 @@
                 for (File f : files) {
                     final AtomicFile af = new AtomicFile(f);
                     try {
-                        mSortedStatFiles[i].put(UsageStatsXml.parseBeginTime(af), af);
+                        mSortedStatFiles[i].put(parseBeginTime(af), af);
                     } catch (IOException e) {
                         Slog.e(TAG, "failed to index file: " + f, e);
                     }
@@ -252,14 +313,32 @@
             version = 0;
         }
 
-        if (version != CURRENT_VERSION) {
-            Slog.i(TAG, "Upgrading from version " + version + " to " + CURRENT_VERSION);
-            doUpgradeLocked(version);
+        if (version != mCurrentVersion) {
+            Slog.i(TAG, "Upgrading from version " + version + " to " + mCurrentVersion);
+            if (!mUpdateBreadcrumb.exists()) {
+                doUpgradeLocked(version);
+            } else {
+                Slog.i(TAG, "Version upgrade breadcrumb found on disk! Continuing version upgrade");
+            }
+
+            if (mUpdateBreadcrumb.exists()) {
+                int previousVersion;
+                long token;
+                try (BufferedReader reader = new BufferedReader(
+                        new FileReader(mUpdateBreadcrumb))) {
+                    token = Long.parseLong(reader.readLine());
+                    previousVersion = Integer.parseInt(reader.readLine());
+                } catch (NumberFormatException | IOException e) {
+                    Slog.e(TAG, "Failed read version upgrade breadcrumb");
+                    throw new RuntimeException(e);
+                }
+                continueUpgradeLocked(previousVersion, token);
+            }
         }
 
-        if (version != CURRENT_VERSION || mNewUpdate) {
+        if (version != mCurrentVersion || mNewUpdate) {
             try (BufferedWriter writer = new BufferedWriter(new FileWriter(mVersionFile))) {
-                writer.write(Integer.toString(CURRENT_VERSION));
+                writer.write(Integer.toString(mCurrentVersion));
                 writer.write("\n");
                 writer.write(currentFingerprint);
                 writer.write("\n");
@@ -269,6 +348,14 @@
                 throw new RuntimeException(e);
             }
         }
+
+        if (mUpdateBreadcrumb.exists()) {
+            // Files should be up to date with current version. Clear the version update breadcrumb
+            if (!KEEP_VAK_FILES) {
+                removeVersionedBackupFiles();
+            }
+            mUpdateBreadcrumb.delete();
+        }
     }
 
     private String getBuildFingerprint() {
@@ -290,6 +377,119 @@
                     }
                 }
             }
+        } else {
+            // Turn all current usage stats files into versioned backup files
+            final long token = System.currentTimeMillis();
+            final FilenameFilter backupFileFilter = new FilenameFilter() {
+                @Override
+                public boolean accept(File dir, String name) {
+                    return !name.endsWith(BAK_SUFFIX) && !name.endsWith(VERSIONED_BAK_SUFFIX);
+                }
+            };
+
+            for (int i = 0; i < mIntervalDirs.length; i++) {
+                File[] files = mIntervalDirs[i].listFiles(backupFileFilter);
+                if (files != null) {
+                    for (int j = 0; j < files.length; j++) {
+                        final File backupFile = new File(
+                                files[j].toString() + "." + Long.toString(token) + "."
+                                        + Integer.toString(thisVersion) + VERSIONED_BAK_SUFFIX);
+                        if (DEBUG) {
+                            Slog.d(TAG, "Creating versioned (" + Integer.toString(thisVersion)
+                                    + ") backup of " + files[j].toString()
+                                    + " stat files for interval "
+                                    + i + " to " + backupFile.toString());
+                        }
+
+                        try {
+                            // Backup file should not already exist, but make sure it doesn't
+                            Files.deleteIfExists(backupFile.toPath());
+                            Files.move(files[j].toPath(), backupFile.toPath(),
+                                    StandardCopyOption.ATOMIC_MOVE);
+                        } catch (IOException e) {
+                            Slog.e(TAG, "Failed to back up file : " + files[j].toString());
+                            throw new RuntimeException(e);
+                        }
+                    }
+                }
+            }
+
+            // Leave a breadcrumb behind noting that all the usage stats have been copied to a
+            // versioned backup.
+            BufferedWriter writer = null;
+            try {
+                writer = new BufferedWriter(new FileWriter(mUpdateBreadcrumb));
+                writer.write(Long.toString(token));
+                writer.write("\n");
+                writer.write(Integer.toString(thisVersion));
+                writer.write("\n");
+                writer.flush();
+            } catch (IOException e) {
+                Slog.e(TAG, "Failed to write new version upgrade breadcrumb");
+                throw new RuntimeException(e);
+            } finally {
+                IoUtils.closeQuietly(writer);
+            }
+        }
+    }
+
+    private void continueUpgradeLocked(int version, long token) {
+        // Read all the backed ups for the specified version and rewrite them with the current
+        // version's file format.
+        final FilenameFilter versionedBackupFileFilter = new FilenameFilter() {
+            @Override
+            public boolean accept(File dir, String name) {
+                return name.endsWith("." + Long.toString(token) + "." + Integer.toString(version)
+                        + VERSIONED_BAK_SUFFIX);
+            }
+        };
+
+        for (int i = 0; i < mIntervalDirs.length; i++) {
+            File[] files = mIntervalDirs[i].listFiles(versionedBackupFileFilter);
+            if (files != null) {
+                for (int j = 0; j < files.length; j++) {
+                    if (DEBUG) {
+                        Slog.d(TAG,
+                                "Upgrading " + files[j].toString() + " to version ("
+                                        + Integer.toString(
+                                        mCurrentVersion) + ") for interval " + i);
+                    }
+                    try {
+                        IntervalStats stats = new IntervalStats();
+                        readLocked(new AtomicFile(files[j]), stats, version);
+                        writeLocked(new AtomicFile(new File(mIntervalDirs[i],
+                                Long.toString(stats.beginTime))), stats, mCurrentVersion);
+                    } catch (IOException e) {
+                        Slog.e(TAG,
+                                "Failed to upgrade versioned backup file : " + files[j].toString());
+                        throw new RuntimeException(e);
+                    }
+                }
+            }
+        }
+    }
+
+    private void removeVersionedBackupFiles() {
+        final FilenameFilter versionedBackupFileFilter = new FilenameFilter() {
+            @Override
+            public boolean accept(File dir, String name) {
+                return name.endsWith(VERSIONED_BAK_SUFFIX);
+            }
+        };
+
+        for (int i = 0; i < mIntervalDirs.length; i++) {
+            File[] files = mIntervalDirs[i].listFiles(versionedBackupFileFilter);
+            if (files != null) {
+                for (int j = 0; j < files.length; j++) {
+                    if (DEBUG) {
+                        Slog.d(TAG,
+                                "Removing " + files[j].toString() + " for interval " + i);
+                    }
+                    if (!files[j].delete()) {
+                        Slog.e(TAG, "Failed to delete file : " + files[j].toString());
+                    }
+                }
+            }
         }
     }
 
@@ -357,7 +557,7 @@
             try {
                 final AtomicFile f = mSortedStatFiles[intervalType].valueAt(fileCount - 1);
                 IntervalStats stats = new IntervalStats();
-                UsageStatsXml.read(f, stats);
+                readLocked(f, stats);
                 return stats;
             } catch (IOException e) {
                 Slog.e(TAG, "Failed to read usage stats file", e);
@@ -379,8 +579,8 @@
          * which means you should make a copy of the data before adding it to the
          * <code>accumulatedResult</code> list.
          *
-         * @param stats The {@link IntervalStats} object selected.
-         * @param mutable Whether or not the data inside the stats object is mutable.
+         * @param stats             The {@link IntervalStats} object selected.
+         * @param mutable           Whether or not the data inside the stats object is mutable.
          * @param accumulatedResult The list to which to add extracted data.
          */
         void combine(IntervalStats stats, boolean mutable, List<T> accumulatedResult);
@@ -443,7 +643,7 @@
                 }
 
                 try {
-                    UsageStatsXml.read(f, stats);
+                    readLocked(f, stats);
                     if (beginTime < stats.endTime) {
                         combiner.combine(stats, false, results);
                     }
@@ -523,14 +723,9 @@
         File[] files = dir.listFiles();
         if (files != null) {
             for (File f : files) {
-                String path = f.getPath();
-                if (path.endsWith(BAK_SUFFIX)) {
-                    f = new File(path.substring(0, path.length() - BAK_SUFFIX.length()));
-                }
-
                 long beginTime;
                 try {
-                    beginTime = UsageStatsXml.parseBeginTime(f);
+                    beginTime = parseBeginTime(f);
                 } catch (IOException e) {
                     beginTime = 0;
                 }
@@ -542,18 +737,13 @@
         }
     }
 
-    private static void pruneChooserCountsOlderThan(File dir, long expiryTime) {
+    private void pruneChooserCountsOlderThan(File dir, long expiryTime) {
         File[] files = dir.listFiles();
         if (files != null) {
             for (File f : files) {
-                String path = f.getPath();
-                if (path.endsWith(BAK_SUFFIX)) {
-                    f = new File(path.substring(0, path.length() - BAK_SUFFIX.length()));
-                }
-
                 long beginTime;
                 try {
-                    beginTime = UsageStatsXml.parseBeginTime(f);
+                    beginTime = parseBeginTime(f);
                 } catch (IOException e) {
                     beginTime = 0;
                 }
@@ -562,7 +752,7 @@
                     try {
                         final AtomicFile af = new AtomicFile(f);
                         final IntervalStats stats = new IntervalStats();
-                        UsageStatsXml.read(af, stats);
+                        readLocked(af, stats);
                         final int pkgCount = stats.packageStats.size();
                         for (int i = 0; i < pkgCount; i++) {
                             UsageStats pkgStats = stats.packageStats.valueAt(i);
@@ -570,7 +760,7 @@
                                 pkgStats.mChooserCounts.clear();
                             }
                         }
-                        UsageStatsXml.write(af, stats);
+                        writeLocked(af, stats);
                     } catch (IOException e) {
                         Slog.e(TAG, "Failed to delete chooser counts from usage stats file", e);
                     }
@@ -579,6 +769,222 @@
         }
     }
 
+
+    private static long parseBeginTime(AtomicFile file) throws IOException {
+        return parseBeginTime(file.getBaseFile());
+    }
+
+    private static long parseBeginTime(File file) throws IOException {
+        String name = file.getName();
+
+        // Parse out the digits from the the front of the file name
+        for (int i = 0; i < name.length(); i++) {
+            final char c = name.charAt(i);
+            if (c < '0' || c > '9') {
+                // found first char that is not a digit.
+                name = name.substring(0, i);
+                break;
+            }
+        }
+
+        try {
+            return Long.parseLong(name);
+        } catch (NumberFormatException e) {
+            throw new IOException(e);
+        }
+    }
+
+    private void writeLocked(AtomicFile file, IntervalStats stats) throws IOException {
+        writeLocked(file, stats, mCurrentVersion);
+    }
+
+    private static void writeLocked(AtomicFile file, IntervalStats stats, int version)
+            throws IOException {
+        FileOutputStream fos = file.startWrite();
+        try {
+            writeLocked(fos, stats, version);
+            file.finishWrite(fos);
+            fos = null;
+        } finally {
+            // When fos is null (successful write), this will no-op
+            file.failWrite(fos);
+        }
+    }
+
+    private void writeLocked(OutputStream out, IntervalStats stats) throws IOException {
+        writeLocked(out, stats, mCurrentVersion);
+    }
+
+    private static void writeLocked(OutputStream out, IntervalStats stats, int version)
+            throws IOException {
+        switch (version) {
+            case 1:
+            case 2:
+            case 3:
+                UsageStatsXml.write(out, stats);
+                break;
+            case 4:
+                UsageStatsProto.write(out, stats);
+                break;
+            default:
+                throw new RuntimeException(
+                        "Unhandled UsageStatsDatabase version: " + Integer.toString(version)
+                                + " on write.");
+        }
+    }
+
+    private void readLocked(AtomicFile file, IntervalStats statsOut) throws IOException {
+        readLocked(file, statsOut, mCurrentVersion);
+    }
+
+    private static void readLocked(AtomicFile file, IntervalStats statsOut, int version)
+            throws IOException {
+        try {
+            FileInputStream in = file.openRead();
+            try {
+                statsOut.beginTime = parseBeginTime(file);
+                readLocked(in, statsOut, version);
+                statsOut.lastTimeSaved = file.getLastModifiedTime();
+            } finally {
+                try {
+                    in.close();
+                } catch (IOException e) {
+                    // Empty
+                }
+            }
+        } catch (FileNotFoundException e) {
+            Slog.e(TAG, "UsageStatsDatabase", e);
+            throw e;
+        }
+        // STOPSHIP: b/111422946, b/115429334
+        // Everything below this comment is sanity check against the new database version.
+        // After the new version has soaked for some time the following should removed.
+        // The goal of this check is to make sure the the ProtoInputStream is properly reading from
+        // the UsageStats files.
+        final StringBuilder sb = new StringBuilder();
+        final int failureLogLimit = 10;
+        int failures = 0;
+
+        final int packagesSize = statsOut.packageStats.size();
+        for (int i = 0; i < packagesSize; i++) {
+            final UsageStats stat = statsOut.packageStats.valueAt(i);
+            if (stat == null) {
+                // ArrayMap may contain null values, skip them
+                continue;
+            }
+            if (stat.mPackageName.isEmpty()) {
+                if (failures++ < failureLogLimit) {
+                    sb.append("\nUnexpected empty usage stats package name loaded");
+                }
+            }
+            if (stat.mBeginTimeStamp > statsOut.endTime) {
+                if (failures++ < failureLogLimit) {
+                    sb.append("\nUnreasonable usage stats stat begin timestamp ");
+                    sb.append(stat.mBeginTimeStamp);
+                    sb.append(" loaded (beginTime : ");
+                    sb.append(statsOut.beginTime);
+                    sb.append(", endTime : ");
+                    sb.append(statsOut.endTime);
+                    sb.append(")");
+                }
+            }
+            if (stat.mEndTimeStamp > statsOut.endTime) {
+                if (failures++ < failureLogLimit) {
+                    sb.append("\nUnreasonable usage stats stat end timestamp ");
+                    sb.append(stat.mEndTimeStamp);
+                    sb.append(" loaded (beginTime : ");
+                    sb.append(statsOut.beginTime);
+                    sb.append(", endTime : ");
+                    sb.append(statsOut.endTime);
+                    sb.append(")");
+                }
+            }
+            if (stat.mLastTimeUsed > statsOut.endTime) {
+                if (failures++ < failureLogLimit) {
+                    sb.append("\nUnreasonable usage stats stat last used timestamp ");
+                    sb.append(stat.mLastTimeUsed);
+                    sb.append(" loaded (beginTime : ");
+                    sb.append(statsOut.beginTime);
+                    sb.append(", endTime : ");
+                    sb.append(statsOut.endTime);
+                    sb.append(")");
+                }
+            }
+        }
+
+        if (statsOut.events != null) {
+            final int eventSize = statsOut.events.size();
+            for (int i = 0; i < eventSize; i++) {
+                final UsageEvents.Event event = statsOut.events.get(i);
+                if (event.mPackage.isEmpty()) {
+                    if (failures++ < failureLogLimit) {
+                        sb.append("\nUnexpected empty empty package name loaded");
+                    }
+                }
+                if (event.mTimeStamp < statsOut.beginTime || event.mTimeStamp > statsOut.endTime) {
+                    if (failures++ < failureLogLimit) {
+                        sb.append("\nUnexpected event timestamp ");
+                        sb.append(event.mTimeStamp);
+                        sb.append(" loaded (beginTime : ");
+                        sb.append(statsOut.beginTime);
+                        sb.append(", endTime : ");
+                        sb.append(statsOut.endTime);
+                        sb.append(")");
+                    }
+                }
+                if (event.mEventType < 0 || event.mEventType > UsageEvents.Event.MAX_EVENT_TYPE) {
+                    if (failures++ < failureLogLimit) {
+                        sb.append("\nUnexpected event type ");
+                        sb.append(event.mEventType);
+                        sb.append(" loaded");
+                    }
+                }
+                if ((event.mFlags & ~UsageEvents.Event.VALID_FLAG_BITS) != 0) {
+                    if (failures++ < failureLogLimit) {
+                        sb.append("\nUnexpected event flag bit 0b");
+                        sb.append(Integer.toBinaryString(event.mFlags));
+                        sb.append(" loaded");
+                    }
+                }
+            }
+        }
+
+        if (failures != 0) {
+            if (failures > failureLogLimit) {
+                sb.append("\nFailure log limited (");
+                sb.append(failures);
+                sb.append(" total failures found!)");
+            }
+            sb.append("\nError found in:\n");
+            sb.append(file.getBaseFile().getAbsolutePath());
+            sb.append("\nPlease go to b/115429334 to help root cause this issue");
+            Slog.wtf(TAG,sb.toString());
+        }
+    }
+
+    private void readLocked(InputStream in, IntervalStats statsOut) throws IOException {
+        readLocked(in, statsOut, mCurrentVersion);
+    }
+
+    private static void readLocked(InputStream in, IntervalStats statsOut, int version)
+            throws IOException {
+        switch (version) {
+            case 1:
+            case 2:
+            case 3:
+                UsageStatsXml.read(in, statsOut);
+                break;
+            case 4:
+                UsageStatsProto.read(in, statsOut);
+                break;
+            default:
+                throw new RuntimeException(
+                        "Unhandled UsageStatsDatabase version: " + Integer.toString(version)
+                                + " on read.");
+        }
+
+    }
+
     /**
      * Update the stats in the database. They may not be written to disk immediately.
      */
@@ -596,7 +1002,7 @@
                 mSortedStatFiles[intervalType].put(stats.beginTime, f);
             }
 
-            UsageStatsXml.write(f, stats);
+            writeLocked(f, stats);
             stats.lastTimeSaved = f.getLastModifiedTime();
         }
     }
@@ -730,7 +1136,7 @@
             throws IOException {
         IntervalStats stats = new IntervalStats();
         try {
-            UsageStatsXml.read(statsFile, stats);
+            readLocked(statsFile, stats);
         } catch (IOException e) {
             Slog.e(TAG, "Failed to read usage stats file", e);
             out.writeInt(0);
@@ -756,12 +1162,12 @@
         if (stats.events != null) stats.events.clear();
     }
 
-    private static byte[] serializeIntervalStats(IntervalStats stats) {
+    private byte[] serializeIntervalStats(IntervalStats stats) {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         DataOutputStream out = new DataOutputStream(baos);
         try {
             out.writeLong(stats.beginTime);
-            UsageStatsXml.write(out, stats);
+            writeLocked(out, stats);
         } catch (IOException ioe) {
             Slog.d(TAG, "Serializing IntervalStats Failed", ioe);
             baos.reset();
@@ -769,13 +1175,13 @@
         return baos.toByteArray();
     }
 
-    private static IntervalStats deserializeIntervalStats(byte[] data) {
+    private IntervalStats deserializeIntervalStats(byte[] data) {
         ByteArrayInputStream bais = new ByteArrayInputStream(data);
         DataInputStream in = new DataInputStream(bais);
         IntervalStats stats = new IntervalStats();
         try {
             stats.beginTime = in.readLong();
-            UsageStatsXml.read(in, stats);
+            readLocked(in, stats);
         } catch (IOException ioe) {
             Slog.d(TAG, "DeSerializing IntervalStats Failed", ioe);
             stats = null;
diff --git a/services/usage/java/com/android/server/usage/UsageStatsProto.java b/services/usage/java/com/android/server/usage/UsageStatsProto.java
new file mode 100644
index 0000000..30d303f
--- /dev/null
+++ b/services/usage/java/com/android/server/usage/UsageStatsProto.java
@@ -0,0 +1,552 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+package com.android.server.usage;
+
+import android.app.usage.ConfigurationStats;
+import android.app.usage.EventList;
+import android.app.usage.UsageEvents;
+import android.app.usage.UsageStats;
+import android.content.res.Configuration;
+import android.util.ArrayMap;
+
+import android.util.Slog;
+import android.util.proto.ProtoInputStream;
+import android.util.proto.ProtoOutputStream;
+
+import java.io.InputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.net.ProtocolException;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * UsageStats reader/writer for Protocol Buffer format
+ */
+final class UsageStatsProto {
+    private static String TAG = "UsageStatsProto";
+
+    // Static-only utility class.
+    private UsageStatsProto() {}
+
+    private static List<String> readStringPool(ProtoInputStream proto) throws IOException {
+
+        final long token = proto.start(IntervalStatsProto.STRINGPOOL);
+        List<String> stringPool;
+        if (proto.isNextField(IntervalStatsProto.StringPool.SIZE)) {
+            stringPool = new ArrayList(proto.readInt(IntervalStatsProto.StringPool.SIZE));
+        } else {
+            stringPool = new ArrayList();
+        }
+        while (proto.nextField() != ProtoInputStream.NO_MORE_FIELDS) {
+            switch (proto.getFieldNumber()) {
+                case (int) IntervalStatsProto.StringPool.STRINGS:
+                    stringPool.add(proto.readString(IntervalStatsProto.StringPool.STRINGS));
+                    break;
+            }
+        }
+        proto.end(token);
+        return stringPool;
+    }
+
+    private static void loadUsageStats(ProtoInputStream proto, long fieldId,
+            IntervalStats statsOut, List<String> stringPool)
+            throws IOException {
+
+        final long token = proto.start(fieldId);
+        UsageStats stats;
+        if (proto.isNextField(IntervalStatsProto.UsageStats.PACKAGE_INDEX)) {
+            // Fast path reading the package name index. Most cases this should work since it is
+            // written first
+            stats = statsOut.getOrCreateUsageStats(
+                    stringPool.get(proto.readInt(IntervalStatsProto.UsageStats.PACKAGE_INDEX) - 1));
+        } else if (proto.isNextField(IntervalStatsProto.UsageStats.PACKAGE)) {
+            // No package index, try package name instead
+            stats = statsOut.getOrCreateUsageStats(
+                    proto.readString(IntervalStatsProto.UsageStats.PACKAGE));
+        } else {
+            // Temporarily store collected data to a UsageStats object. This is not efficient.
+            stats = new UsageStats();
+        }
+
+        while (proto.nextField() != ProtoInputStream.NO_MORE_FIELDS) {
+            switch (proto.getFieldNumber()) {
+                case (int) IntervalStatsProto.UsageStats.PACKAGE:
+                    // Fast track failed from some reason, add UsageStats object to statsOut now
+                    UsageStats tempPackage = statsOut.getOrCreateUsageStats(
+                            proto.readString(IntervalStatsProto.UsageStats.PACKAGE));
+                    tempPackage.mLastTimeUsed = stats.mLastTimeUsed;
+                    tempPackage.mTotalTimeInForeground = stats.mTotalTimeInForeground;
+                    tempPackage.mLastEvent = stats.mLastEvent;
+                    tempPackage.mAppLaunchCount = stats.mAppLaunchCount;
+                    stats = tempPackage;
+                    break;
+                case (int) IntervalStatsProto.UsageStats.PACKAGE_INDEX:
+                    // Fast track failed from some reason, add UsageStats object to statsOut now
+                    UsageStats tempPackageIndex = statsOut.getOrCreateUsageStats(stringPool.get(
+                            proto.readInt(IntervalStatsProto.UsageStats.PACKAGE_INDEX) - 1));
+                    tempPackageIndex.mLastTimeUsed = stats.mLastTimeUsed;
+                    tempPackageIndex.mTotalTimeInForeground = stats.mTotalTimeInForeground;
+                    tempPackageIndex.mLastEvent = stats.mLastEvent;
+                    tempPackageIndex.mAppLaunchCount = stats.mAppLaunchCount;
+                    stats = tempPackageIndex;
+                    break;
+                case (int) IntervalStatsProto.UsageStats.LAST_TIME_ACTIVE_MS:
+                    stats.mLastTimeUsed = statsOut.beginTime + proto.readLong(
+                            IntervalStatsProto.UsageStats.LAST_TIME_ACTIVE_MS);
+                    break;
+                case (int) IntervalStatsProto.UsageStats.TOTAL_TIME_ACTIVE_MS:
+                    stats.mTotalTimeInForeground = proto.readLong(
+                            IntervalStatsProto.UsageStats.TOTAL_TIME_ACTIVE_MS);
+                    break;
+                case (int) IntervalStatsProto.UsageStats.LAST_EVENT:
+                    stats.mLastEvent = proto.readInt(IntervalStatsProto.UsageStats.LAST_EVENT);
+                    break;
+                case (int) IntervalStatsProto.UsageStats.APP_LAUNCH_COUNT:
+                    stats.mAppLaunchCount = proto.readInt(
+                            IntervalStatsProto.UsageStats.APP_LAUNCH_COUNT);
+                    break;
+                case (int) IntervalStatsProto.UsageStats.CHOOSER_ACTIONS:
+                    final long chooserToken = proto.start(
+                            IntervalStatsProto.UsageStats.CHOOSER_ACTIONS);
+                    loadChooserCounts(proto, stats);
+                    proto.end(chooserToken);
+                    break;
+            }
+        }
+        if (stats.mLastTimeUsed == 0) {
+            // mLastTimeUsed was not assigned, assume default value of 0 plus beginTime;
+            stats.mLastTimeUsed = statsOut.beginTime;
+        }
+        proto.end(token);
+    }
+
+    private static void loadCountAndTime(ProtoInputStream proto, long fieldId,
+            IntervalStats.EventTracker tracker) throws IOException {
+        final long token = proto.start(fieldId);
+        while (true) {
+            switch (proto.nextField()) {
+                case (int) IntervalStatsProto.CountAndTime.COUNT:
+                    tracker.count = proto.readInt(IntervalStatsProto.CountAndTime.COUNT);
+                    break;
+                case (int) IntervalStatsProto.CountAndTime.TIME_MS:
+                    tracker.duration = proto.readLong(IntervalStatsProto.CountAndTime.TIME_MS);
+                    break;
+                case ProtoInputStream.NO_MORE_FIELDS:
+                    proto.end(token);
+                    return;
+            }
+        }
+    }
+
+    private static void loadChooserCounts(ProtoInputStream proto, UsageStats usageStats)
+            throws IOException {
+        if (usageStats.mChooserCounts == null) {
+            usageStats.mChooserCounts = new ArrayMap<>();
+        }
+        String action = null;
+        ArrayMap<String, Integer> counts;
+        if (proto.isNextField(IntervalStatsProto.UsageStats.ChooserAction.NAME)) {
+            // Fast path reading the action name. Most cases this should work since it is written
+            // first
+            action = proto.readString(IntervalStatsProto.UsageStats.ChooserAction.NAME);
+            counts = usageStats.mChooserCounts.get(action);
+            if (counts == null) {
+                counts = new ArrayMap<>();
+                usageStats.mChooserCounts.put(action, counts);
+            }
+        } else {
+            // Temporarily store collected data to an ArrayMap. This is not efficient.
+            counts = new ArrayMap<>();
+        }
+
+        while (true) {
+            switch (proto.nextField()) {
+                case (int) IntervalStatsProto.UsageStats.ChooserAction.NAME:
+                    // Fast path failed from some reason, add the ArrayMap object to usageStats now
+                    action = proto.readString(IntervalStatsProto.UsageStats.ChooserAction.NAME);
+                    usageStats.mChooserCounts.put(action, counts);
+                    break;
+                case (int) IntervalStatsProto.UsageStats.ChooserAction.COUNTS:
+                    final long token = proto.start(
+                            IntervalStatsProto.UsageStats.ChooserAction.COUNTS);
+                    loadCountsForAction(proto, counts);
+                    proto.end(token);
+                case ProtoInputStream.NO_MORE_FIELDS:
+                    if (action == null) {
+                        // default string
+                        usageStats.mChooserCounts.put("", counts);
+                    }
+                    return;
+            }
+        }
+    }
+
+    private static void loadCountsForAction(ProtoInputStream proto,
+            ArrayMap<String, Integer> counts) throws IOException {
+        String category = null;
+        int count = 0;
+        while (true) {
+            switch (proto.nextField()) {
+                case (int) IntervalStatsProto.UsageStats.ChooserAction.CategoryCount.NAME:
+                    category = proto.readString(
+                            IntervalStatsProto.UsageStats.ChooserAction.CategoryCount.NAME);
+                    break;
+                case (int) IntervalStatsProto.UsageStats.ChooserAction.CategoryCount.COUNT:
+                    count = proto.readInt(
+                            IntervalStatsProto.UsageStats.ChooserAction.CategoryCount.COUNT);
+                    break;
+                case ProtoInputStream.NO_MORE_FIELDS:
+                    if (category == null) {
+                        counts.put("", count);
+                    } else {
+                        counts.put(category, count);
+                    }
+                    return;
+            }
+        }
+    }
+
+    private static void loadConfigStats(ProtoInputStream proto, long fieldId,
+            IntervalStats statsOut) throws IOException {
+        final long token = proto.start(fieldId);
+        boolean configActive = false;
+        final Configuration config = new Configuration();
+        ConfigurationStats configStats;
+        if (proto.isNextField(IntervalStatsProto.Configuration.CONFIG)) {
+            // Fast path reading the configuration. Most cases this should work since it is
+            // written first
+            config.readFromProto(proto, IntervalStatsProto.Configuration.CONFIG);
+            configStats = statsOut.getOrCreateConfigurationStats(config);
+        } else {
+            // Temporarily store collected data to a ConfigurationStats object. This is not
+            // efficient.
+            configStats = new ConfigurationStats();
+        }
+        while (true) {
+            switch (proto.nextField()) {
+                case (int) IntervalStatsProto.Configuration.CONFIG:
+                    // Fast path failed from some reason, add ConfigStats object to statsOut now
+                    config.readFromProto(proto, IntervalStatsProto.Configuration.CONFIG);
+                    final ConfigurationStats temp = statsOut.getOrCreateConfigurationStats(config);
+                    temp.mLastTimeActive = configStats.mLastTimeActive;
+                    temp.mTotalTimeActive = configStats.mTotalTimeActive;
+                    temp.mActivationCount = configStats.mActivationCount;
+                    configStats = temp;
+                    break;
+                case (int) IntervalStatsProto.Configuration.LAST_TIME_ACTIVE_MS:
+                    configStats.mLastTimeActive = statsOut.beginTime + proto.readLong(
+                            IntervalStatsProto.Configuration.LAST_TIME_ACTIVE_MS);
+                    break;
+                case (int) IntervalStatsProto.Configuration.TOTAL_TIME_ACTIVE_MS:
+                    configStats.mTotalTimeActive = proto.readLong(
+                            IntervalStatsProto.Configuration.TOTAL_TIME_ACTIVE_MS);
+                    break;
+                case (int) IntervalStatsProto.Configuration.COUNT:
+                    configStats.mActivationCount = proto.readInt(
+                            IntervalStatsProto.Configuration.COUNT);
+                    break;
+                case (int) IntervalStatsProto.Configuration.ACTIVE:
+                    configActive = proto.readBoolean(IntervalStatsProto.Configuration.ACTIVE);
+                    break;
+                case ProtoInputStream.NO_MORE_FIELDS:
+                    if (configStats.mLastTimeActive == 0) {
+                        //mLastTimeActive was not assigned, assume default value of 0 plus beginTime
+                        configStats.mLastTimeActive = statsOut.beginTime;
+                    }
+                    if (configActive) {
+                        statsOut.activeConfiguration = configStats.mConfiguration;
+                    }
+                    proto.end(token);
+                    return;
+            }
+        }
+    }
+
+    private static void loadEvent(ProtoInputStream proto, long fieldId, IntervalStats statsOut,
+            List<String> stringPool) throws IOException {
+        final long token = proto.start(fieldId);
+        UsageEvents.Event event = statsOut.buildEvent(proto, stringPool);
+        proto.end(token);
+        if (event.mPackage == null) {
+            throw new ProtocolException("no package field present");
+        }
+
+        if (statsOut.events == null) {
+            statsOut.events = new EventList();
+        }
+        statsOut.events.insert(event);
+    }
+
+    private static void writeStringPool(ProtoOutputStream proto, final IntervalStats stats)
+            throws IOException {
+        final long token = proto.start(IntervalStatsProto.STRINGPOOL);
+        final int size = stats.mStringCache.size();
+        proto.write(IntervalStatsProto.StringPool.SIZE, size);
+        for (int i = 0; i < size; i++) {
+            proto.write(IntervalStatsProto.StringPool.STRINGS, stats.mStringCache.valueAt(i));
+        }
+        proto.end(token);
+    }
+
+    private static void writeUsageStats(ProtoOutputStream proto, long fieldId,
+            final IntervalStats stats, final UsageStats usageStats) throws IOException {
+        final long token = proto.start(fieldId);
+        // Write the package name first, so loadUsageStats can avoid creating an extra object
+        final int packageIndex = stats.mStringCache.indexOf(usageStats.mPackageName);
+        if (packageIndex >= 0) {
+            proto.write(IntervalStatsProto.UsageStats.PACKAGE_INDEX, packageIndex + 1);
+        } else {
+            // Package not in Stringpool for some reason, write full string instead
+            Slog.w(TAG, "UsageStats package name (" + usageStats.mPackageName
+                    + ") not found in IntervalStats string cache");
+            proto.write(IntervalStatsProto.UsageStats.PACKAGE, usageStats.mPackageName);
+        }
+        proto.write(IntervalStatsProto.UsageStats.LAST_TIME_ACTIVE_MS,
+                usageStats.mLastTimeUsed - stats.beginTime);
+        proto.write(IntervalStatsProto.UsageStats.TOTAL_TIME_ACTIVE_MS,
+                usageStats.mTotalTimeInForeground);
+        proto.write(IntervalStatsProto.UsageStats.LAST_EVENT, usageStats.mLastEvent);
+        proto.write(IntervalStatsProto.UsageStats.APP_LAUNCH_COUNT, usageStats.mAppLaunchCount);
+        writeChooserCounts(proto, usageStats);
+        proto.end(token);
+    }
+
+    private static void writeCountAndTime(ProtoOutputStream proto, long fieldId, int count,
+            long time) throws IOException {
+        final long token = proto.start(fieldId);
+        proto.write(IntervalStatsProto.CountAndTime.COUNT, count);
+        proto.write(IntervalStatsProto.CountAndTime.TIME_MS, time);
+        proto.end(token);
+    }
+
+
+    private static void writeChooserCounts(ProtoOutputStream proto, final UsageStats usageStats)
+            throws IOException {
+        if (usageStats == null || usageStats.mChooserCounts == null
+                || usageStats.mChooserCounts.keySet().isEmpty()) {
+            return;
+        }
+        final int chooserCountSize = usageStats.mChooserCounts.size();
+        for (int i = 0; i < chooserCountSize; i++) {
+            final String action = usageStats.mChooserCounts.keyAt(i);
+            final ArrayMap<String, Integer> counts = usageStats.mChooserCounts.valueAt(i);
+            if (action == null || counts == null || counts.isEmpty()) {
+                continue;
+            }
+            final long token = proto.start(IntervalStatsProto.UsageStats.CHOOSER_ACTIONS);
+            proto.write(IntervalStatsProto.UsageStats.ChooserAction.NAME, action);
+            writeCountsForAction(proto, counts);
+            proto.end(token);
+        }
+    }
+
+    private static void writeCountsForAction(ProtoOutputStream proto,
+            ArrayMap<String, Integer> counts) throws IOException {
+        final int countsSize = counts.size();
+        for (int i = 0; i < countsSize; i++) {
+            String key = counts.keyAt(i);
+            int count = counts.valueAt(i);
+            if (count > 0) {
+                final long token = proto.start(IntervalStatsProto.UsageStats.ChooserAction.COUNTS);
+                proto.write(IntervalStatsProto.UsageStats.ChooserAction.CategoryCount.NAME, key);
+                proto.write(IntervalStatsProto.UsageStats.ChooserAction.CategoryCount.COUNT, count);
+                proto.end(token);
+            }
+        }
+    }
+
+    private static void writeConfigStats(ProtoOutputStream proto, long fieldId,
+            final IntervalStats stats, final ConfigurationStats configStats, boolean isActive)
+            throws IOException {
+        final long token = proto.start(fieldId);
+        configStats.mConfiguration.writeToProto(proto, IntervalStatsProto.Configuration.CONFIG);
+        proto.write(IntervalStatsProto.Configuration.LAST_TIME_ACTIVE_MS,
+                configStats.mLastTimeActive - stats.beginTime);
+        proto.write(IntervalStatsProto.Configuration.TOTAL_TIME_ACTIVE_MS,
+                configStats.mTotalTimeActive);
+        proto.write(IntervalStatsProto.Configuration.COUNT, configStats.mActivationCount);
+        proto.write(IntervalStatsProto.Configuration.ACTIVE, isActive);
+        proto.end(token);
+
+    }
+
+    private static void writeEvent(ProtoOutputStream proto, long fieldId, final IntervalStats stats,
+            final UsageEvents.Event event) throws IOException {
+        final long token = proto.start(fieldId);
+        final int packageIndex = stats.mStringCache.indexOf(event.mPackage);
+        if (packageIndex >= 0) {
+            proto.write(IntervalStatsProto.Event.PACKAGE_INDEX, packageIndex + 1);
+        } else {
+            // Package not in Stringpool for some reason, write full string instead
+            Slog.w(TAG, "Usage event package name (" + event.mPackage
+                    + ") not found in IntervalStats string cache");
+            proto.write(IntervalStatsProto.Event.PACKAGE, event.mPackage);
+        }
+        if (event.mClass != null) {
+            final int classIndex = stats.mStringCache.indexOf(event.mClass);
+            if (classIndex >= 0) {
+                proto.write(IntervalStatsProto.Event.CLASS_INDEX, classIndex + 1);
+            } else {
+                // Class not in Stringpool for some reason, write full string instead
+                Slog.w(TAG, "Usage event class name (" + event.mClass
+                        + ") not found in IntervalStats string cache");
+                proto.write(IntervalStatsProto.Event.CLASS, event.mClass);
+            }
+        }
+        proto.write(IntervalStatsProto.Event.TIME_MS, event.mTimeStamp - stats.beginTime);
+        proto.write(IntervalStatsProto.Event.FLAGS, event.mFlags);
+        proto.write(IntervalStatsProto.Event.TYPE, event.mEventType);
+        switch (event.mEventType) {
+            case UsageEvents.Event.CONFIGURATION_CHANGE:
+                if (event.mConfiguration != null) {
+                    event.mConfiguration.writeToProto(proto, IntervalStatsProto.Event.CONFIG);
+                }
+                break;
+            case UsageEvents.Event.SHORTCUT_INVOCATION:
+                if (event.mShortcutId != null) {
+                    proto.write(IntervalStatsProto.Event.SHORTCUT_ID, event.mShortcutId);
+                }
+                break;
+            case UsageEvents.Event.STANDBY_BUCKET_CHANGED:
+                if (event.mBucketAndReason != 0) {
+                    proto.write(IntervalStatsProto.Event.STANDBY_BUCKET, event.mBucketAndReason);
+                }
+                break;
+            case UsageEvents.Event.NOTIFICATION_INTERRUPTION:
+                if (event.mNotificationChannelId != null) {
+                    final int channelIndex = stats.mStringCache.indexOf(
+                            event.mNotificationChannelId);
+                    if (channelIndex >= 0) {
+                        proto.write(IntervalStatsProto.Event.NOTIFICATION_CHANNEL_INDEX,
+                                channelIndex + 1);
+                    } else {
+                        // Channel not in Stringpool for some reason, write full string instead
+                        Slog.w(TAG, "Usage event notification channel name ("
+                                + event.mNotificationChannelId
+                                + ") not found in IntervalStats string cache");
+                        proto.write(IntervalStatsProto.Event.NOTIFICATION_CHANNEL,
+                                event.mNotificationChannelId);
+                    }
+                }
+                break;
+        }
+        proto.end(token);
+    }
+
+    /**
+     * Reads from the {@link ProtoInputStream}.
+     *
+     * @param proto    The proto from which to read events.
+     * @param statsOut The stats object to populate with the data from the XML file.
+     */
+    public static void read(InputStream in, IntervalStats statsOut) throws IOException {
+        final ProtoInputStream proto = new ProtoInputStream(in);
+        List<String> stringPool = null;
+
+        statsOut.packageStats.clear();
+        statsOut.configurations.clear();
+        statsOut.activeConfiguration = null;
+
+        if (statsOut.events != null) {
+            statsOut.events.clear();
+        }
+
+        while (true) {
+            switch (proto.nextField()) {
+                case (int) IntervalStatsProto.END_TIME_MS:
+                    statsOut.endTime = statsOut.beginTime + proto.readLong(
+                            IntervalStatsProto.END_TIME_MS);
+                    break;
+                case (int) IntervalStatsProto.INTERACTIVE:
+                    loadCountAndTime(proto, IntervalStatsProto.INTERACTIVE,
+                            statsOut.interactiveTracker);
+                    break;
+                case (int) IntervalStatsProto.NON_INTERACTIVE:
+                    loadCountAndTime(proto, IntervalStatsProto.NON_INTERACTIVE,
+                            statsOut.nonInteractiveTracker);
+                    break;
+                case (int) IntervalStatsProto.KEYGUARD_SHOWN:
+                    loadCountAndTime(proto, IntervalStatsProto.KEYGUARD_SHOWN,
+                            statsOut.keyguardShownTracker);
+                    break;
+                case (int) IntervalStatsProto.KEYGUARD_HIDDEN:
+                    loadCountAndTime(proto, IntervalStatsProto.KEYGUARD_HIDDEN,
+                            statsOut.keyguardHiddenTracker);
+                    break;
+                case (int) IntervalStatsProto.STRINGPOOL:
+                    stringPool = readStringPool(proto);
+                    statsOut.mStringCache.addAll(stringPool);
+                    break;
+                case (int) IntervalStatsProto.PACKAGES:
+                    loadUsageStats(proto, IntervalStatsProto.PACKAGES, statsOut, stringPool);
+                    break;
+                case (int) IntervalStatsProto.CONFIGURATIONS:
+                    loadConfigStats(proto, IntervalStatsProto.CONFIGURATIONS, statsOut);
+                    break;
+                case (int) IntervalStatsProto.EVENT_LOG:
+                    loadEvent(proto, IntervalStatsProto.EVENT_LOG, statsOut, stringPool);
+                    break;
+                case ProtoInputStream.NO_MORE_FIELDS:
+                    if (statsOut.endTime == 0) {
+                        // endTime not assigned, assume default value of 0 plus beginTime
+                        statsOut.endTime = statsOut.beginTime;
+                    }
+                    return;
+            }
+        }
+    }
+
+    /**
+     * Writes the stats object to an ProtoBuf file.
+     *
+     * @param proto The serializer to which to write the packageStats data.
+     * @param stats The stats object to write to the XML file.
+     */
+    public static void write(OutputStream out, IntervalStats stats) throws IOException {
+        final ProtoOutputStream proto = new ProtoOutputStream(out);
+        proto.write(IntervalStatsProto.END_TIME_MS, stats.endTime - stats.beginTime);
+        // String pool should be written before the rest of the usage stats
+        writeStringPool(proto, stats);
+
+        writeCountAndTime(proto, IntervalStatsProto.INTERACTIVE, stats.interactiveTracker.count,
+                stats.interactiveTracker.duration);
+        writeCountAndTime(proto, IntervalStatsProto.NON_INTERACTIVE,
+                stats.nonInteractiveTracker.count, stats.nonInteractiveTracker.duration);
+        writeCountAndTime(proto, IntervalStatsProto.KEYGUARD_SHOWN,
+                stats.keyguardShownTracker.count, stats.keyguardShownTracker.duration);
+        writeCountAndTime(proto, IntervalStatsProto.KEYGUARD_HIDDEN,
+                stats.keyguardHiddenTracker.count, stats.keyguardHiddenTracker.duration);
+
+        final int statsCount = stats.packageStats.size();
+        for (int i = 0; i < statsCount; i++) {
+            writeUsageStats(proto, IntervalStatsProto.PACKAGES, stats,
+                    stats.packageStats.valueAt(i));
+        }
+        final int configCount = stats.configurations.size();
+        for (int i = 0; i < configCount; i++) {
+            boolean active = stats.activeConfiguration.equals(stats.configurations.keyAt(i));
+            writeConfigStats(proto, IntervalStatsProto.CONFIGURATIONS, stats,
+                    stats.configurations.valueAt(i), active);
+        }
+        final int eventCount = stats.events != null ? stats.events.size() : 0;
+        for (int i = 0; i < eventCount; i++) {
+            writeEvent(proto, IntervalStatsProto.EVENT_LOG, stats, stats.events.get(i));
+        }
+
+        proto.flush();
+    }
+}
diff --git a/services/usage/java/com/android/server/usage/UsageStatsXml.java b/services/usage/java/com/android/server/usage/UsageStatsXml.java
index e7db741..f8d1113 100644
--- a/services/usage/java/com/android/server/usage/UsageStatsXml.java
+++ b/services/usage/java/com/android/server/usage/UsageStatsXml.java
@@ -19,6 +19,9 @@
 import android.util.AtomicFile;
 import android.util.Slog;
 import android.util.Xml;
+import android.util.proto.ProtoInputStream;
+import android.util.proto.ProtoOutputStream;
+
 import com.android.internal.util.FastXmlSerializer;
 import com.android.internal.util.XmlUtils;
 import org.xmlpull.v1.XmlPullParser;
@@ -33,61 +36,7 @@
     private static final String VERSION_ATTR = "version";
     static final String CHECKED_IN_SUFFIX = "-c";
 
-    public static long parseBeginTime(AtomicFile file) throws IOException {
-        return parseBeginTime(file.getBaseFile());
-    }
-
-    public static long parseBeginTime(File file) throws IOException {
-        String name = file.getName();
-
-        // Eat as many occurrences of -c as possible. This is due to a bug where -c
-        // would be appended more than once to a checked-in file, causing a crash
-        // on boot when indexing files since Long.parseLong() will puke on anything but
-        // a number.
-        while (name.endsWith(CHECKED_IN_SUFFIX)) {
-            name = name.substring(0, name.length() - CHECKED_IN_SUFFIX.length());
-        }
-
-        try {
-            return Long.parseLong(name);
-        } catch (NumberFormatException e) {
-            throw new IOException(e);
-        }
-    }
-
-    public static void read(AtomicFile file, IntervalStats statsOut) throws IOException {
-        try {
-            FileInputStream in = file.openRead();
-            try {
-                statsOut.beginTime = parseBeginTime(file);
-                read(in, statsOut);
-                statsOut.lastTimeSaved = file.getLastModifiedTime();
-            } finally {
-                try {
-                    in.close();
-                } catch (IOException e) {
-                    // Empty
-                }
-            }
-        } catch (FileNotFoundException e) {
-            Slog.e(TAG, "UsageStats Xml", e);
-            throw e;
-        }
-    }
-
-    public static void write(AtomicFile file, IntervalStats stats) throws IOException {
-        FileOutputStream fos = file.startWrite();
-        try {
-            write(fos, stats);
-            file.finishWrite(fos);
-            fos = null;
-        } finally {
-            // When fos is null (successful write), this will no-op
-            file.failWrite(fos);
-        }
-    }
-
-    static void read(InputStream in, IntervalStats statsOut) throws IOException {
+    public static void read(InputStream in, IntervalStats statsOut) throws IOException {
         XmlPullParser parser = Xml.newPullParser();
         try {
             parser.setInput(in, "utf-8");
@@ -113,7 +62,7 @@
         }
     }
 
-    static void write(OutputStream out, IntervalStats stats) throws IOException {
+    public static void write(OutputStream out, IntervalStats stats) throws IOException {
         FastXmlSerializer xml = new FastXmlSerializer();
         xml.setOutput(out, "utf-8");
         xml.startDocument("utf-8", true);
diff --git a/services/usage/java/com/android/server/usage/UsageStatsXmlV1.java b/services/usage/java/com/android/server/usage/UsageStatsXmlV1.java
index 6a1e97a..a68f9d3 100644
--- a/services/usage/java/com/android/server/usage/UsageStatsXmlV1.java
+++ b/services/usage/java/com/android/server/usage/UsageStatsXmlV1.java
@@ -196,11 +196,7 @@
                 event.mNotificationChannelId = (channelId != null) ? channelId.intern() : null;
                 break;
         }
-
-        if (statsOut.events == null) {
-            statsOut.events = new EventList();
-        }
-        statsOut.events.insert(event);
+        statsOut.addEvent(event);
     }
 
     private static void writeUsageStats(XmlSerializer xml, final IntervalStats stats,
diff --git a/services/usage/java/com/android/server/usage/UserUsageStatsService.java b/services/usage/java/com/android/server/usage/UserUsageStatsService.java
index 9b194e9..1a8aba0 100644
--- a/services/usage/java/com/android/server/usage/UserUsageStatsService.java
+++ b/services/usage/java/com/android/server/usage/UserUsageStatsService.java
@@ -176,12 +176,8 @@
                     currentDailyStats.activeConfiguration, newFullConfig);
         }
 
-        // Add the event to the daily list.
-        if (currentDailyStats.events == null) {
-            currentDailyStats.events = new EventList();
-        }
         if (event.mEventType != UsageEvents.Event.SYSTEM_INTERACTION) {
-            currentDailyStats.events.insert(event);
+            currentDailyStats.addEvent(event);
         }
 
         boolean incrementAppLaunch = false;
diff --git a/services/usb/java/com/android/server/usb/UsbHostManager.java b/services/usb/java/com/android/server/usb/UsbHostManager.java
index 589bcdc..cf47ad3 100644
--- a/services/usb/java/com/android/server/usb/UsbHostManager.java
+++ b/services/usb/java/com/android/server/usb/UsbHostManager.java
@@ -40,6 +40,7 @@
 import com.android.server.usb.descriptors.UsbDescriptor;
 import com.android.server.usb.descriptors.UsbDescriptorParser;
 import com.android.server.usb.descriptors.UsbDeviceDescriptor;
+import com.android.server.usb.descriptors.UsbInterfaceDescriptor;
 import com.android.server.usb.descriptors.report.TextReportCanvas;
 import com.android.server.usb.descriptors.tree.UsbDescriptorsTree;
 
@@ -352,8 +353,6 @@
             }
             return false;
         }
-        UsbDescriptorParser parser = new UsbDescriptorParser(deviceAddress, descriptors);
-        logUsbDevice(parser);
 
         if (isBlackListed(deviceClass, deviceSubclass)) {
             if (DEBUG) {
@@ -362,6 +361,15 @@
             return false;
         }
 
+        UsbDescriptorParser parser = new UsbDescriptorParser(deviceAddress, descriptors);
+        if (deviceClass == UsbConstants.USB_CLASS_PER_INTERFACE
+                && !checkUsbInterfacesBlackListed(parser)) {
+            return false;
+        }
+
+        // Potentially can block as it may read data from the USB device.
+        logUsbDevice(parser);
+
         synchronized (mLock) {
             if (mDevices.get(deviceAddress) != null) {
                 Slog.w(TAG, "device already on mDevices list: " + deviceAddress);
@@ -513,6 +521,29 @@
         }
     }
 
+    private boolean checkUsbInterfacesBlackListed(UsbDescriptorParser parser) {
+        // Device class needs to be obtained through the device interface.  Ignore device only
+        // if ALL interfaces are black-listed.
+        boolean shouldIgnoreDevice = false;
+        for (UsbDescriptor descriptor: parser.getDescriptors()) {
+            if (!(descriptor instanceof UsbInterfaceDescriptor)) {
+                continue;
+            }
+            UsbInterfaceDescriptor iface = (UsbInterfaceDescriptor) descriptor;
+            shouldIgnoreDevice = isBlackListed(iface.getUsbClass(), iface.getUsbSubclass());
+            if (!shouldIgnoreDevice) {
+                break;
+            }
+        }
+        if (shouldIgnoreDevice) {
+            if (DEBUG) {
+                Slog.d(TAG, "usb interface class is black listed");
+            }
+            return false;
+        }
+        return true;
+    }
+
     private native void monitorUsbHostBus();
     private native ParcelFileDescriptor nativeOpenDevice(String deviceAddress);
 }
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
index c5d6dc7..99ad1f4 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
@@ -19,6 +19,8 @@
 import android.Manifest;
 import android.app.ActivityManager;
 import android.app.ActivityManagerInternal;
+
+import com.android.internal.app.IVoiceActionCheckCallback;
 import com.android.server.wm.ActivityTaskManagerInternal;
 import android.app.AppGlobals;
 import android.content.ComponentName;
@@ -1128,6 +1130,27 @@
             }
         }
 
+        @Override
+        public void getActiveServiceSupportedActions(List<String> voiceActions,
+                IVoiceActionCheckCallback callback) {
+            enforceCallingPermission(Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE);
+            synchronized (this) {
+                if (mImpl == null) {
+                    try {
+                        callback.onComplete(null);
+                    } catch (RemoteException e) {
+                    }
+                    return;
+                }
+                final long caller = Binder.clearCallingIdentity();
+                try {
+                    mImpl.getActiveServiceSupportedActions(voiceActions, callback);
+                } finally {
+                    Binder.restoreCallingIdentity(caller);
+                }
+            }
+        }
+
         public void onSessionShown() {
             synchronized (this) {
                 final int size = mVoiceInteractionSessionListeners.beginBroadcast();
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java
index 57e9f66..61d7d6c 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java
@@ -25,6 +25,8 @@
 import android.app.ActivityManager;
 import android.app.ActivityOptions;
 import android.app.ActivityTaskManager;
+
+import com.android.internal.app.IVoiceActionCheckCallback;
 import com.android.server.wm.ActivityTaskManagerInternal;
 import android.app.IActivityManager;
 import android.app.IActivityTaskManager;
@@ -57,6 +59,7 @@
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Set;
 
 class VoiceInteractionManagerServiceImpl implements VoiceInteractionSessionConnection.Callback {
     final static String TAG = "VoiceInteractionServiceManager";
@@ -177,6 +180,23 @@
                 activityTokens);
     }
 
+    public void getActiveServiceSupportedActions(List<String> commands,
+            IVoiceActionCheckCallback callback) {
+        if (mService == null) {
+            Slog.w(TAG, "Not bound to voice interaction service " + mComponent);
+            try {
+                callback.onComplete(null);
+            } catch (RemoteException e) {
+            }
+            return;
+        }
+        try {
+            mService.getActiveServiceSupportedActions(commands, callback);
+        } catch (RemoteException e) {
+            Slog.w(TAG, "RemoteException while calling getActiveServiceSupportedActions", e);
+        }
+    }
+
     public boolean hideSessionLocked() {
         if (mActiveSession != null) {
             return mActiveSession.hideLocked();
diff --git a/startop/OWNERS b/startop/OWNERS
new file mode 100644
index 0000000..bfe96d3
--- /dev/null
+++ b/startop/OWNERS
@@ -0,0 +1,5 @@
+# mailing list: startop-eng@google.com
+chriswailes@google.com
+eholk@google.com
+iam@google.com
+sehr@google.com
diff --git a/startop/scripts/app_startup/analyze_metrics.py b/startop/scripts/app_startup/analyze_metrics.py
new file mode 100755
index 0000000..d74d6f6
--- /dev/null
+++ b/startop/scripts/app_startup/analyze_metrics.py
@@ -0,0 +1,457 @@
+#!/usr/bin/env python3
+#
+# Copyright 2018, 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.
+
+"""
+Perform statistical analysis on measurements produced by app_startup_runner.py
+
+Install:
+$> sudo apt-get install python3-scipy
+
+Usage:
+$> ./analyze_metrics.py <filename.csv> [<filename2.csv> ...]
+$> ./analyze_metrics.py --help
+"""
+
+import argparse
+import csv
+import itertools
+import os
+import subprocess
+import sys
+import tempfile
+from typing import Any, List, Dict, Iterable, TextIO, Tuple
+
+from scipy import stats as sc
+import numpy as np
+
+
+# These CSV columns are considered labels. Everything after them in the same row are metrics.
+_LABEL_COLUMNS=['packages', 'readaheads', 'compiler_filters']
+# The metric series with the 'cold' readahead is the baseline.
+# All others (warm, jit, etc) are the potential improvements.
+
+#fixme: this should probably be an option
+_BASELINE=('readaheads', 'cold')
+# ignore this for some statistic calculations
+_IGNORE_PAIR=('readaheads', 'warm')
+_PLOT_SUBKEY='readaheads'
+_PLOT_GROUPKEY='packages'
+_PLOT_DATA_INDEX = 0
+_DELTA=50
+_DELTA2=100
+_PVALUE_THRESHOLD=0.10
+_debug = False  # See -d/--debug flag.
+
+def parse_options(argv: List[str] = None):
+  """Parse command line arguments and return an argparse Namespace object."""
+  parser = argparse.ArgumentParser(description="Perform statistical analysis on measurements produced by app_start_runner.py.")
+  parser.add_argument('input_files', metavar='file.csv', nargs='+', help='CSV file produced by app_startup_runner.py')
+
+  parser.add_argument('-d', '--debug', dest='debug', action='store_true', help='Add extra debugging output')
+  parser.add_argument('-os', '--output-samples', dest='output_samples', default='/dev/null', action='store', help='Store CSV for per-sample data')
+  parser.add_argument('-oc', '--output-comparable', dest='output_comparable', default='/dev/null', action='store', help='Output CSV for comparable against baseline')
+  parser.add_argument('-ocs', '--output-comparable-significant', dest='output_comparable_significant', default='/dev/null', action='store', help='Output CSV for comparable against baseline (significant only)')
+  parser.add_argument('-pt', '--pvalue-threshold', dest='pvalue_threshold', type=float, default=_PVALUE_THRESHOLD, action='store')
+  parser.add_argument('-dt', '--delta-threshold', dest='delta_threshold', type=int, default=_DELTA, action='store')
+
+  return parser.parse_args(argv)
+
+def _debug_print(*args, **kwargs):
+  """Print the args to sys.stderr if the --debug/-d flag was passed in."""
+  global _debug
+  if _debug:
+    print(*args, **kwargs, file=sys.stderr)
+
+def _expand_gen_repr(args):
+  new_args_list = []
+  for i in args:
+    # detect iterable objects that do not have their own override of __str__
+    if hasattr(i, '__iter__'):
+      to_str = getattr(i, '__str__')
+      if to_str.__objclass__ == object:
+        # the repr for a generator is just type+address, expand it out instead.
+        new_args_list.append([_expand_gen_repr([j])[0] for j in i])
+        continue
+    # normal case: uses the built-in to-string
+    new_args_list.append(i)
+  return new_args_list
+
+def _debug_print_gen(*args, **kwargs):
+  """Like _debug_print but will turn any iterable args into a list."""
+  if not _debug:
+    return
+
+  new_args_list = _expand_gen_repr(args)
+  _debug_print(*new_args_list, **kwargs)
+
+def read_headers(input_file: TextIO) -> Tuple[List[str], List[str]]:
+  _debug_print("read_headers for file: ", input_file.name)
+  csv_reader = csv.reader(input_file)
+
+  label_num_columns = len(_LABEL_COLUMNS)
+
+  try:
+    header = next(csv_reader)
+  except StopIteration:
+    header = None
+  _debug_print('header', header)
+
+  if not header:
+    return (None, None)
+
+  labels = header[0:label_num_columns]
+  data = header[label_num_columns:]
+
+  return (labels, data)
+
+def read_labels_and_data(input_file: TextIO) -> Iterable[Tuple[List[str], List[int]]]:
+  _debug_print("print_analysis for file: ", input_file.name)
+  csv_reader = csv.reader(input_file)
+
+  # Skip the header because it doesn't contain any data.
+  # To get the header see read_headers function.
+  try:
+    header = next(csv_reader)
+  except StopIteration:
+    header = None
+
+  label_num_columns = len(_LABEL_COLUMNS)
+
+  for row in csv_reader:
+    if len(row) > 0 and row[0][0] == ';':
+      _debug_print("skip comment line", row)
+      continue
+
+    labels = row[0:label_num_columns]
+    data = [int(i) for i in row[label_num_columns:]]
+
+#    _debug_print("labels:", labels)
+#    _debug_print("data:", data)
+
+    yield (labels, data)
+
+def group_metrics_by_label(it: Iterable[Tuple[List[str], List[int]]]):
+  prev_labels = None
+  data_2d = []
+
+  for label_list, data_list in it:
+    if prev_labels != label_list:
+      if prev_labels:
+#        _debug_print("grouped labels:", prev_labels, "data_2d:", data_2d)
+        yield (prev_labels, data_2d)
+      data_2d = []
+
+    data_2d.append(data_list)
+    prev_labels = label_list
+
+  if prev_labels:
+#    _debug_print("grouped labels:", prev_labels, "data_2d:", data_2d)
+    yield (prev_labels, data_2d)
+
+def data_to_numpy(it: Iterable[Tuple[List[str], List[List[int]]]]) -> Iterable[Tuple[List[str], Any]]:
+  for label_list, data_2d in it:
+    yield (label_list, np.asarray(data_2d, dtype=int))
+
+def iterate_columns(np_data_2d):
+  for col in range(np_data_2d.shape[1]):
+    col_as_array = np_data_2d[:, col]
+    yield col_as_array
+
+def confidence_interval(np_data_2d, percent=0.95):
+  """
+  Given some data [[a,b,c],[d,e,f,]...]
+
+  We assume the same metric is in the column (e.g. [a,d])
+  and that data in the rows (e.g. [b,e]) are separate metric values.
+
+  We then calculate the CI for each metric individually returning it as a list of tuples.
+  """
+  arr = []
+  for col_2d in iterate_columns(np_data_2d):
+    mean = col_2d.mean()
+    sigma = col_2d.std()
+
+    ci = sc.norm.interval(percent, loc=mean, scale=sigma / np.sqrt(len(col_2d)))
+    arr.append(ci)
+
+  # TODO: This seems to be returning NaN when all the samples have the same exact value
+  # (e.g. stddev=0, which can trivially happen when sample count = 1).
+
+  return arr
+
+def print_analysis(it, label_header: List[str], data_header: List[str], output_samples: str):
+  print(label_header)
+
+  with open(output_samples, "w") as output_file:
+
+    csv_writer = csv.writer(output_file)
+    csv_writer.writerow(label_header + ['mean', 'std', 'confidence_interval_a', 'confidence_interval_b'])
+
+    for label_list, np_data_2d in it:
+      print("**********************")
+      print(label_list)
+      print()
+      print("      ", data_header)
+      # aggregate computation column-wise
+      print("Mean: ", np_data_2d.mean(axis=0))
+      print("Std:  ", np_data_2d.std(axis=0))
+      print("CI95%:", confidence_interval(np_data_2d))
+      print("SEM:  ", stats_standard_error_one(np_data_2d, axis=0))
+
+      #ci = confidence_interval(np_data_2d)[_PLOT_DATA_INDEX]
+      sem = stats_standard_error_one(np_data_2d, axis=0)[_PLOT_DATA_INDEX]
+      mean = np_data_2d.mean(axis=0)[_PLOT_DATA_INDEX]
+
+      ci = (mean - sem, mean + sem)
+
+      csv_writer.writerow(label_list + [mean, np_data_2d.std(axis=0)[_PLOT_DATA_INDEX], ci[0], ci[1]])
+
+def from_file_group_by_labels(input_file):
+  (label_header, data_header) = read_headers(input_file)
+  label_data_iter = read_labels_and_data(input_file)
+  grouped_iter = group_metrics_by_label(label_data_iter)
+  grouped_numpy_iter = data_to_numpy(grouped_iter)
+
+  return grouped_numpy_iter, label_header, data_header
+
+def list_without_index(list, index):
+  return list[:index] + list[index+1:]
+
+def group_by_without_baseline_key(grouped_numpy_iter, label_header):
+  """
+  Data is considered comparable if the only difference is the baseline key
+  (i.e. the readahead is different but the package, compilation filter, etc, are the same).
+
+  Returns iterator that's grouped by the non-baseline labels to an iterator of
+  (label_list, data_2d).
+  """
+  baseline_index = label_header.index(_BASELINE[0])
+
+  def get_label_without_baseline(tpl):
+    label_list, _ = tpl
+    return list_without_index(label_list, baseline_index)
+  # [['pkgname', 'compfilter', 'warm'], [data]]
+  # [['pkgname', 'compfilter', 'cold'], [data2]]
+  # [['pkgname2', 'compfilter', 'warm'], [data3]]
+  #
+  #   ->
+  # ( [['pkgname', 'compfilter', 'warm'], [data]]      # ignore baseline label change.
+  #   [['pkgname', 'compfilter', 'cold'], [data2]] ),  # split here because the pkgname changed.
+  # ( [['pkgname2', 'compfilter', 'warm'], [data3]] )
+  for group_info, it in itertools.groupby(grouped_numpy_iter, key = get_label_without_baseline):
+    yield it
+
+  # TODO: replace this messy manual iteration/grouping with pandas
+
+def iterate_comparable_metrics(without_baseline_iter, label_header):
+  baseline_index = label_header.index(_BASELINE[0])
+  baseline_value = _BASELINE[1]
+
+  _debug_print("iterate comparables")
+
+  def is_baseline_fun(tp):
+    ll, dat = tp
+    return ll[baseline_index] == baseline_value
+
+  # iterating here when everything but the baseline key is the same.
+  for it in without_baseline_iter:
+    it1, it2 = itertools.tee(it)
+
+    # find all the baseline data.
+    baseline_filter_it = filter(is_baseline_fun, it1)
+
+    # find non-baseline data.
+    nonbaseline_filter_it = itertools.filterfalse(is_baseline_fun, it2)
+
+    yield itertools.product(baseline_filter_it, nonbaseline_filter_it)
+
+def stats_standard_error_one(a, axis):
+  a_std = a.std(axis=axis, ddof=0)
+  a_len = a.shape[axis]
+
+  return a_std / np.sqrt(a_len)
+
+def stats_standard_error(a, b, axis):
+  a_std = a.std(axis=axis, ddof=0)
+  b_std = b.std(axis=axis, ddof=0)
+
+  a_len = a.shape[axis]
+  b_len = b.shape[axis]
+
+  temp1 = a_std*a_std/a_len
+  temp2 = b_std*b_std/b_len
+
+  return np.sqrt(temp1 + temp2)
+
+def stats_tvalue(a, b, axis, delta = 0):
+  a_mean = a.mean(axis=axis)
+  b_mean = b.mean(axis=axis)
+
+  return (a_mean - b_mean - delta) / stats_standard_error(a, b, axis)
+
+def stats_pvalue(a, b, axis, delta, left:bool = False):
+  """
+  Single-tailed 2-sample t-test.
+
+  Returns p-value for the null hypothesis: mean(a) - mean(b) >= delta.
+  :param a: numpy 2d array
+  :param b: numpy 2d array
+  :param axis: which axis to do the calculations across
+  :param delta: test value of mean differences
+  :param left: if true then use <= delta instead of >= delta
+  :return: p-value
+  """
+  # implement our own pvalue calculation because the built-in t-test (t,p values)
+  # only offer delta=0 , e.g. m1-m1 ? 0
+  # we are however interested in m1-m2 ? delta
+  t_value = stats_tvalue(a, b, axis, delta)
+
+  # 2-sample degrees of freedom is using the array sizes - 2.
+  dof = a.shape[axis] + b.shape[axis] - 2
+
+  if left:
+    # left tailed test. e.g. m1-m2 <= delta
+    return sc.t.cdf(t_value, dof)
+  else:
+    # right tailed test. e.g. m1-m2 >= delta
+    return sc.t.sf(t_value, dof)
+  # a left+right tailed test is a 2-tail t-test and can be done using ttest_ind for delta=0
+
+def print_comparable_analysis(comparable_metrics_iter, label_header, data_header, output_comparable: str, output_comparable_significant: str):
+  baseline_value = _BASELINE[1]
+  baseline_index = label_header.index(_BASELINE[0])
+
+  old_baseline_label_list = None
+  delta = _DELTA
+  filter_value = _IGNORE_PAIR[1]
+  filter_index = label_header.index(_IGNORE_PAIR[0])
+
+  pvalue_threshold = _PVALUE_THRESHOLD
+  ci_threshold = (1 - _PVALUE_THRESHOLD) * 100.0
+
+  with open(output_comparable, "w") as output_file:
+
+    csv_writer = csv.writer(output_file)
+    csv_writer.writerow(label_header + ['mean', 'mean_diff', 'sem', 'pvalue_2tailed', 'pvalue_gt%d' %(_DELTA), 'pvalue_gt%d' %(_DELTA2)])
+
+    print("------------------------------------------------------------------")
+    print("Comparison against the baseline %s = %s" %(_BASELINE, baseline_value))
+    print("--- Right-tailed t-test checks if the baseline >= current %s by at least %d" %(_BASELINE[0], delta))
+    print()
+
+    global_stats = {'better_than_delta': [], 'better_than_delta_p95': []}
+
+    for nested_it in comparable_metrics_iter:
+      print("************************")
+
+      better_than_delta = []
+      better_than_delta_p95 = []
+
+      saw_baseline_once = False
+
+      for ((baseline_label_list, baseline_np_data_2d), (rest_label_list, rest_np_data_2d)) in nested_it:
+        _debug_print("baseline_label_list:", baseline_label_list)
+        _debug_print("baseline_np_data_2d:", baseline_np_data_2d)
+        _debug_print("rest_label_list:", rest_label_list)
+        _debug_print("rest_np_data_2d:", rest_np_data_2d)
+
+        mean_diff = baseline_np_data_2d.mean(axis=0) - rest_np_data_2d.mean(axis=0)
+        # 2-sample 2-tailed t-test with delta=0
+        # e.g. "Is it true that usually the two sample means are different?"
+        t_statistic, t_pvalue = sc.ttest_ind(baseline_np_data_2d, rest_np_data_2d, axis=0)
+
+        # 2-sample 1-tailed t-test with delta=50
+        # e.g. "Is it true that usually the sample means better than 50ms?"
+        t2 = stats_tvalue(baseline_np_data_2d, rest_np_data_2d, axis=0, delta=delta)
+        p2 = stats_pvalue(baseline_np_data_2d, rest_np_data_2d, axis=0, delta=delta)
+
+        t2_b = stats_tvalue(baseline_np_data_2d, rest_np_data_2d, axis=0, delta=_DELTA2)
+        p2_b = stats_pvalue(baseline_np_data_2d, rest_np_data_2d, axis=0, delta=_DELTA2)
+
+        print("%s vs %s" %(rest_label_list, baseline_value))
+        print("                           ", data_header)
+        print("Mean Difference:           ", mean_diff)
+        print("T-test (2-tailed) != 0:      t=%s, p=%s" %(t_statistic, t_pvalue))
+        print("T-test (right-tailed) >= %d: t=%s, p=%s" %(_DELTA, t2, p2))
+        print("T-test (right-tailed) >= %d: t=%s, p=%s" %(_DELTA2, t2_b, p2_b))
+
+        def write_out_values(label_list, *args):
+          csv_writer.writerow(label_list + [i[_PLOT_DATA_INDEX] for i in args])
+
+        sem = stats_standard_error(baseline_np_data_2d, rest_np_data_2d, axis=0)
+        if saw_baseline_once == False:
+          saw_baseline_once = True
+          base_sem = stats_standard_error_one(baseline_np_data_2d, axis=0)
+          write_out_values(baseline_label_list, baseline_np_data_2d.mean(axis=0), [0], base_sem, [None], [None], [None])
+        write_out_values(rest_label_list, rest_np_data_2d.mean(axis=0), mean_diff, sem, t_pvalue, p2, p2_b)
+
+        # now do the global statistics aggregation
+
+        if rest_label_list[filter_index] == filter_value:
+          continue
+
+        if mean_diff > delta:
+          better_than_delta.append((mean_diff, p2, rest_label_list))
+
+          if p2 <= pvalue_threshold:
+            better_than_delta_p95.append((mean_diff, rest_label_list))
+
+      if better_than_delta:
+        global_stats['better_than_delta'].append(better_than_delta)
+      if better_than_delta_p95:
+        global_stats['better_than_delta_p95'].append(better_than_delta_p95)
+
+    print("------------------------")
+    print("Global statistics:")
+    print("//// Rows with %s=%s are ignored here." %_IGNORE_PAIR)
+    print("- # of results with mean diff better than delta(%d)       = %d" %(delta, len(global_stats['better_than_delta'])))
+    print("    > (meandiff, pvalue, labels)")
+    for i in global_stats['better_than_delta']:
+      print("    > %s" %i)
+    print("- # of results with mean diff better than delta(%d) CI%d%% = %d" %(delta, ci_threshold, len(global_stats['better_than_delta_p95'])))
+    print("    > (meandiff, labels)")
+    for i in global_stats['better_than_delta_p95']:
+      print("    > %s" %i)
+
+def main():
+  global _debug
+  global _DELTA
+  global _PVALUE_THRESHOLD
+
+  opts = parse_options()
+  _debug = opts.debug
+  _debug_print("parsed options: ", opts)
+
+  _PVALUE_THRESHOLD = opts.pvalue_threshold or _PVALUE_THRESHOLD
+
+  for file_name in opts.input_files:
+    with open(file_name, 'r') as input_file:
+      (grouped_numpy_iter, label_header, data_header) = from_file_group_by_labels(input_file)
+      print_analysis(grouped_numpy_iter, label_header, data_header, opts.output_samples)
+
+    with open(file_name, 'r') as input_file:
+      (grouped_numpy_iter, label_header, data_header) = from_file_group_by_labels(input_file)
+      without_baseline_iter = group_by_without_baseline_key(grouped_numpy_iter, label_header)
+      #_debug_print_gen(without_baseline_iter)
+
+      comparable_metrics_iter = iterate_comparable_metrics(without_baseline_iter, label_header)
+      print_comparable_analysis(comparable_metrics_iter, label_header, data_header, opts.output_comparable, opts.output_comparable_significant)
+
+  return 0
+
+
+if __name__ == '__main__':
+  sys.exit(main())
diff --git a/startop/scripts/app_startup/app_startup_runner.py b/startop/scripts/app_startup/app_startup_runner.py
new file mode 100755
index 0000000..780bb4e
--- /dev/null
+++ b/startop/scripts/app_startup/app_startup_runner.py
@@ -0,0 +1,322 @@
+#!/usr/bin/env python3
+#
+# Copyright 2018, 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.
+
+#
+#
+# Measure application start-up time by launching applications under various combinations.
+# See --help for more details.
+#
+#
+# Sample usage:
+# $> ./app_startup_runner.py -p com.google.android.calculator -r warm -r cold -lc 10  -o out.csv
+# $> ./analyze_metrics.py out.csv
+#
+#
+
+import argparse
+import csv
+import itertools
+import os
+import subprocess
+import sys
+import tempfile
+from typing import Any, Callable, Dict, Generic, Iterable, List, NamedTuple, TextIO, Tuple, TypeVar, Optional, Union
+
+# The following command line options participate in the combinatorial generation.
+# All other arguments have a global effect.
+_COMBINATORIAL_OPTIONS=['packages', 'readaheads', 'compiler_filters']
+_TRACING_READAHEADS=['mlock', 'fadvise']
+_FORWARD_OPTIONS={'loop_count': '--count'}
+_RUN_SCRIPT=os.path.join(os.path.dirname(os.path.realpath(__file__)), 'run_app_with_prefetch')
+
+RunCommandArgs = NamedTuple('RunCommandArgs', [('package', str), ('readahead', str), ('compiler_filter', Optional[str])])
+CollectorPackageInfo = NamedTuple('CollectorPackageInfo', [('package', str), ('compiler_filter', str)])
+_COLLECTOR_SCRIPT=os.path.join(os.path.dirname(os.path.realpath(__file__)), 'collector')
+_COLLECTOR_TIMEOUT_MULTIPLIER = 2 # take the regular --timeout and multiply by 2; systrace starts up slowly.
+
+_UNLOCK_SCREEN_SCRIPT=os.path.join(os.path.dirname(os.path.realpath(__file__)), 'unlock_screen')
+
+# This must be the only mutable global variable. All other global variables are constants to avoid magic literals.
+_debug = False  # See -d/--debug flag.
+_DEBUG_FORCE = None  # Ignore -d/--debug if this is not none.
+
+# Type hinting names.
+T = TypeVar('T')
+NamedTupleMeta = Callable[..., T]  # approximation of a (S : NamedTuple<T> where S() == T) metatype.
+
+def parse_options(argv: List[str] = None):
+  """Parse command line arguments and return an argparse Namespace object."""
+  parser = argparse.ArgumentParser(description="Run one or more Android applications under various settings in order to measure startup time.")
+  # argparse considers args starting with - and -- optional in --help, even though required=True.
+  # by using a named argument group --help will clearly say that it's required instead of optional.
+  required_named = parser.add_argument_group('required named arguments')
+  required_named.add_argument('-p', '--package', action='append', dest='packages', help='package of the application', required=True)
+  required_named.add_argument('-r', '--readahead', action='append', dest='readaheads', help='which readahead mode to use', choices=('warm', 'cold', 'mlock', 'fadvise'), required=True)
+
+  # optional arguments
+  # use a group here to get the required arguments to appear 'above' the optional arguments in help.
+  optional_named = parser.add_argument_group('optional named arguments')
+  optional_named.add_argument('-c', '--compiler-filter', action='append', dest='compiler_filters', help='which compiler filter to use. if omitted it does not enforce the app\'s compiler filter', choices=('speed', 'speed-profile', 'quicken'))
+  optional_named.add_argument('-s', '--simulate', dest='simulate', action='store_true', help='Print which commands will run, but don\'t run the apps')
+  optional_named.add_argument('-d', '--debug', dest='debug', action='store_true', help='Add extra debugging output')
+  optional_named.add_argument('-o', '--output', dest='output', action='store', help='Write CSV output to file.')
+  optional_named.add_argument('-t', '--timeout', dest='timeout', action='store', type=int, help='Timeout after this many seconds when executing a single run.')
+  optional_named.add_argument('-lc', '--loop-count', dest='loop_count', default=1, type=int, action='store', help='How many times to loop a single run.')
+  optional_named.add_argument('-in', '--inodes', dest='inodes', type=str, action='store', help='Path to inodes file (system/extras/pagecache/pagecache.py -d inodes)')
+
+  return parser.parse_args(argv)
+
+# TODO: refactor this with a common library file with analyze_metrics.py
+def _debug_print(*args, **kwargs):
+  """Print the args to sys.stderr if the --debug/-d flag was passed in."""
+  if _debug:
+    print(*args, **kwargs, file=sys.stderr)
+
+def _expand_gen_repr(args):
+  """Like repr but any generator-like object has its iterator consumed
+  and then called repr on."""
+  new_args_list = []
+  for i in args:
+    # detect iterable objects that do not have their own override of __str__
+    if hasattr(i, '__iter__'):
+      to_str = getattr(i, '__str__')
+      if to_str.__objclass__ == object:
+        # the repr for a generator is just type+address, expand it out instead.
+        new_args_list.append([_expand_gen_repr([j])[0] for j in i])
+        continue
+    # normal case: uses the built-in to-string
+    new_args_list.append(i)
+  return new_args_list
+
+def _debug_print_gen(*args, **kwargs):
+  """Like _debug_print but will turn any iterable args into a list."""
+  if not _debug:
+    return
+
+  new_args_list = _expand_gen_repr(args)
+  _debug_print(*new_args_list, **kwargs)
+
+def _debug_print_nd(*args, **kwargs):
+  """Like _debug_print but will turn any NamedTuple-type args into a string."""
+  if not _debug:
+    return
+
+  new_args_list = []
+  for i in args:
+    if hasattr(i, '_field_types'):
+      new_args_list.append("%s: %s" %(i.__name__, i._field_types))
+    else:
+      new_args_list.append(i)
+
+  _debug_print(*new_args_list, **kwargs)
+
+def dict_lookup_any_key(dictionary: dict, *keys: List[Any]):
+  for k in keys:
+    if k in dictionary:
+      return dictionary[k]
+  raise KeyError("None of the keys %s were in the dictionary" %(keys))
+
+def generate_run_combinations(named_tuple: NamedTupleMeta[T], opts_dict: Dict[str, List[Optional[str]]])\
+    -> Iterable[T]:
+  """
+  Create all possible combinations given the values in opts_dict[named_tuple._fields].
+
+  :type T: type annotation for the named_tuple type.
+  :param named_tuple: named tuple type, whose fields are used to make combinations for
+  :param opts_dict: dictionary of keys to value list. keys correspond to the named_tuple fields.
+  :return: an iterable over named_tuple instances.
+  """
+  combinations_list = []
+  for k in named_tuple._fields:
+    # the key can be either singular or plural , e.g. 'package' or 'packages'
+    val = dict_lookup_any_key(opts_dict, k, k + "s")
+
+    # treat {'x': None} key value pairs as if it was [None]
+    # otherwise itertools.product throws an exception about not being able to iterate None.
+    combinations_list.append(val or [None])
+
+  _debug_print("opts_dict: ", opts_dict)
+  _debug_print_nd("named_tuple: ", named_tuple)
+  _debug_print("combinations_list: ", combinations_list)
+
+  for combo in itertools.product(*combinations_list):
+    yield named_tuple(*combo)
+
+def key_to_cmdline_flag(key: str) -> str:
+  """Convert key into a command line flag, e.g. 'foo-bars' -> '--foo-bar' """
+  if key.endswith("s"):
+    key = key[:-1]
+  return "--" + key.replace("_", "-")
+
+def as_run_command(tpl: NamedTuple) -> List[Union[str, Any]]:
+  """
+  Convert a named tuple into a command-line compatible arguments list.
+
+  Example: ABC(1, 2, 3) -> ['--a', 1, '--b', 2, '--c', 3]
+  """
+  args = []
+  for key, value in tpl._asdict().items():
+    if value is None:
+      continue
+    args.append(key_to_cmdline_flag(key))
+    args.append(value)
+  return args
+
+def generate_group_run_combinations(run_combinations: Iterable[NamedTuple], dst_nt: NamedTupleMeta[T])\
+    -> Iterable[Tuple[T, Iterable[NamedTuple]]]:
+
+  def group_by_keys(src_nt):
+    src_d = src_nt._asdict()
+    # now remove the keys that aren't legal in dst.
+    for illegal_key in set(src_d.keys()) - set(dst_nt._fields):
+      if illegal_key in src_d:
+        del src_d[illegal_key]
+
+    return dst_nt(**src_d)
+
+  for args_list_it in itertools.groupby(run_combinations, group_by_keys):
+    (group_key_value, args_it) = args_list_it
+    yield (group_key_value, args_it)
+
+def parse_run_script_csv_file(csv_file: TextIO) -> List[int]:
+  """Parse a CSV file full of integers into a flat int list."""
+  csv_reader = csv.reader(csv_file)
+  arr = []
+  for row in csv_reader:
+    for i in row:
+      if i:
+        arr.append(int(i))
+  return arr
+
+def make_script_command_with_temp_output(script: str, args: List[str], **kwargs)\
+    -> Tuple[str, TextIO]:
+  """
+  Create a command to run a script given the args.
+  Appends --count <loop_count> --output <tmp-file-name>.
+  Returns a tuple (cmd, tmp_file)
+  """
+  tmp_output_file = tempfile.NamedTemporaryFile(mode='r')
+  cmd = [script] + args
+  for key, value in kwargs.items():
+    cmd += ['--%s' %(key), "%s" %(value)]
+  if _debug:
+    cmd += ['--verbose']
+  cmd = cmd + ["--output", tmp_output_file.name]
+  return cmd, tmp_output_file
+
+def execute_arbitrary_command(cmd: List[str], simulate: bool, timeout: int) -> Tuple[bool, str]:
+  if simulate:
+    print(" ".join(cmd))
+    return (True, "")
+  else:
+    _debug_print("[EXECUTE]", cmd)
+    proc = subprocess.Popen(cmd,
+                            stderr=subprocess.STDOUT,
+                            stdout=subprocess.PIPE,
+                            universal_newlines=True)
+    try:
+      script_output = proc.communicate(timeout=timeout)[0]
+    except subprocess.TimeoutExpired:
+      print("[TIMEDOUT]")
+      proc.kill()
+      script_output = proc.communicate()[0]
+
+    _debug_print("[STDOUT]", script_output)
+    return_code = proc.wait()
+    passed = (return_code == 0)
+    _debug_print("[$?]", return_code)
+    if not passed:
+      print("[FAILED, code:%s]" %(return_code), script_output, file=sys.stderr)
+
+    return (passed, script_output)
+
+def execute_run_combos(grouped_run_combos: Iterable[Tuple[CollectorPackageInfo, Iterable[RunCommandArgs]]], simulate: bool, inodes_path: str, timeout: int, loop_count: int, need_trace: bool):
+  # nothing will work if the screen isn't unlocked first.
+  execute_arbitrary_command([_UNLOCK_SCREEN_SCRIPT], simulate, timeout)
+
+  for collector_info, run_combos in grouped_run_combos:
+    #collector_args = ["--package", package_name]
+    collector_args = as_run_command(collector_info)
+    # TODO: forward --wait_time for how long systrace runs?
+    # TODO: forward --trace_buffer_size for size of systrace buffer size?
+    collector_cmd, collector_tmp_output_file = make_script_command_with_temp_output(_COLLECTOR_SCRIPT, collector_args, inodes=inodes_path)
+
+    with collector_tmp_output_file:
+      collector_passed = True
+      if need_trace:
+        collector_timeout = timeout and _COLLECTOR_TIMEOUT_MULTIPLIER * timeout
+        (collector_passed, collector_script_output) = execute_arbitrary_command(collector_cmd, simulate, collector_timeout)
+        # TODO: consider to print a ; collector wrote file to <...> into the CSV file so we know it was ran.
+
+      for combos in run_combos:
+        args = as_run_command(combos)
+
+        cmd, tmp_output_file = make_script_command_with_temp_output(_RUN_SCRIPT, args, count=loop_count, input=collector_tmp_output_file.name)
+        with tmp_output_file:
+          (passed, script_output) = execute_arbitrary_command(cmd, simulate, timeout)
+          parsed_output = simulate and [1,2,3] or parse_run_script_csv_file(tmp_output_file)
+          yield (passed, script_output, parsed_output)
+
+def gather_results(commands: Iterable[Tuple[bool, str, List[int]]], key_list: List[str], value_list: List[Tuple[str, ...]]):
+  _debug_print("gather_results: key_list = ", key_list)
+  yield key_list + ["time(ms)"]
+
+  stringify_none = lambda s: s is None and "<none>" or s
+
+  for ((passed, script_output, run_result_list), values) in itertools.zip_longest(commands, value_list):
+    if not passed:
+      continue
+    for result in run_result_list:
+      yield [stringify_none(i) for i in values] + [result]
+
+    yield ["; avg(%s), min(%s), max(%s), count(%s)" %(sum(run_result_list, 0.0) / len(run_result_list), min(run_result_list), max(run_result_list), len(run_result_list)) ]
+
+def eval_and_save_to_csv(output, annotated_result_values):
+  csv_writer = csv.writer(output)
+  for row in annotated_result_values:
+    csv_writer.writerow(row)
+    output.flush() # see the output live.
+
+def main():
+  global _debug
+
+  opts = parse_options()
+  _debug = opts.debug
+  if _DEBUG_FORCE is not None:
+    _debug = _DEBUG_FORCE
+  _debug_print("parsed options: ", opts)
+  need_trace = not not set(opts.readaheads).intersection(set(_TRACING_READAHEADS))
+  if need_trace and not opts.inodes:
+    print("Error: Missing -in/--inodes, required when using a readahead of %s" %(_TRACING_READAHEADS), file=sys.stderr)
+    return 1
+
+  output_file = opts.output and open(opts.output, 'w') or sys.stdout
+
+  combos = lambda: generate_run_combinations(RunCommandArgs, vars(opts))
+  _debug_print_gen("run combinations: ", combos())
+
+  grouped_combos = lambda: generate_group_run_combinations(combos(), CollectorPackageInfo)
+  _debug_print_gen("grouped run combinations: ", grouped_combos())
+
+  exec = execute_run_combos(grouped_combos(), opts.simulate, opts.inodes, opts.timeout, opts.loop_count, need_trace)
+  results = gather_results(exec, _COMBINATORIAL_OPTIONS, combos())
+  eval_and_save_to_csv(output_file, results)
+
+  return 0
+
+
+if __name__ == '__main__':
+  sys.exit(main())
diff --git a/startop/scripts/app_startup/app_startup_runner_test.py b/startop/scripts/app_startup/app_startup_runner_test.py
new file mode 100755
index 0000000..f96f802a
--- /dev/null
+++ b/startop/scripts/app_startup/app_startup_runner_test.py
@@ -0,0 +1,210 @@
+#!/usr/bin/env python3
+#
+# Copyright 2018, 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.
+#
+
+"""
+Unit tests for the app_startup_runner.py script.
+
+Install:
+  $> sudo apt-get install python3-pytest   ##  OR
+  $> pip install -U pytest
+See also https://docs.pytest.org/en/latest/getting-started.html
+
+Usage:
+  $> ./app_startup_runner_test.py
+  $> pytest app_startup_runner_test.py
+  $> python -m pytest app_startup_runner_test.py
+
+See also https://docs.pytest.org/en/latest/usage.html
+"""
+
+# global imports
+from contextlib import contextmanager
+import io
+import shlex
+import sys
+import typing
+
+# pip imports
+import pytest
+
+# local imports
+import app_startup_runner as asr
+
+#
+# Argument Parsing Helpers
+#
+
+@contextmanager
+def ignore_stdout_stderr():
+  """Ignore stdout/stderr output for duration of this context."""
+  old_stdout = sys.stdout
+  old_stderr = sys.stderr
+  sys.stdout = io.StringIO()
+  sys.stderr = io.StringIO()
+  try:
+    yield
+  finally:
+    sys.stdout = old_stdout
+    sys.stderr = old_stderr
+
+@contextmanager
+def argparse_bad_argument(msg):
+  """
+  Assert that a SystemExit is raised when executing this context.
+  If the assertion fails, print the message 'msg'.
+  """
+  with pytest.raises(SystemExit, message=msg):
+    with ignore_stdout_stderr():
+      yield
+
+def assert_bad_argument(args, msg):
+  """
+  Assert that the command line arguments in 'args' are malformed.
+  Prints 'msg' if the assertion fails.
+  """
+  with argparse_bad_argument(msg):
+    parse_args(args)
+
+def parse_args(args):
+  """
+  :param args: command-line like arguments as a single string
+  :return:  dictionary of parsed key/values
+  """
+  # "-a b -c d"    => ['-a', 'b', '-c', 'd']
+  return vars(asr.parse_options(shlex.split(args)))
+
+def default_dict_for_parsed_args(**kwargs):
+  """
+  # Combine it with all of the "optional" parameters' default values.
+  """
+  d = {'compiler_filters': None, 'simulate': False, 'debug': False, 'output': None, 'timeout': None, 'loop_count': 1, 'inodes': None}
+  d.update(kwargs)
+  return d
+
+def default_mock_dict_for_parsed_args(include_optional=True, **kwargs):
+  """
+  Combine default dict with all optional parameters with some mock required parameters.
+  """
+  d = {'packages': ['com.fake.package'], 'readaheads': ['warm']}
+  if include_optional:
+    d.update(default_dict_for_parsed_args())
+  d.update(kwargs)
+  return d
+
+def parse_optional_args(str):
+  """
+  Parse an argument string which already includes all the required arguments
+  in default_mock_dict_for_parsed_args.
+  """
+  req = "--package com.fake.package --readahead warm"
+  return parse_args("%s %s" %(req, str))
+
+def test_argparse():
+  # missing arguments
+  assert_bad_argument("", "-p and -r are required")
+  assert_bad_argument("-r warm", "-p is required")
+  assert_bad_argument("--readahead warm", "-p is required")
+  assert_bad_argument("-p com.fake.package", "-r is required")
+  assert_bad_argument("--package com.fake.package", "-r is required")
+
+  # required arguments are parsed correctly
+  ad = default_dict_for_parsed_args  # assert dict
+
+  assert parse_args("--package xyz --readahead warm") == ad(packages=['xyz'], readaheads=['warm'])
+  assert parse_args("-p xyz -r warm") == ad(packages=['xyz'], readaheads=['warm'])
+
+  assert parse_args("-p xyz -r warm -s") == ad(packages=['xyz'], readaheads=['warm'], simulate=True)
+  assert parse_args("-p xyz -r warm --simulate") == ad(packages=['xyz'], readaheads=['warm'], simulate=True)
+
+  # optional arguments are parsed correctly.
+  mad = default_mock_dict_for_parsed_args  # mock assert dict
+  assert parse_optional_args("--output filename.csv") == mad(output='filename.csv')
+  assert parse_optional_args("-o filename.csv") == mad(output='filename.csv')
+
+  assert parse_optional_args("--timeout 123") == mad(timeout=123)
+  assert parse_optional_args("-t 456") == mad(timeout=456)
+
+  assert parse_optional_args("--loop-count 123") == mad(loop_count=123)
+  assert parse_optional_args("-lc 456") == mad(loop_count=456)
+
+  assert parse_optional_args("--inodes bar") == mad(inodes="bar")
+  assert parse_optional_args("-in baz") == mad(inodes="baz")
+
+
+def generate_run_combinations(*args):
+  # expand out the generator values so that assert x == y works properly.
+  return [i for i in asr.generate_run_combinations(*args)]
+
+def test_generate_run_combinations():
+  blank_nd = typing.NamedTuple('Blank')
+  assert generate_run_combinations(blank_nd, {}) == [()], "empty"
+  assert generate_run_combinations(blank_nd, {'a' : ['a1', 'a2']}) == [()], "empty filter"
+  a_nd = typing.NamedTuple('A', [('a', str)])
+  assert generate_run_combinations(a_nd, {'a': None}) == [(None,)], "None"
+  assert generate_run_combinations(a_nd, {'a': ['a1', 'a2']}) == [('a1',), ('a2',)], "one item"
+  assert generate_run_combinations(a_nd,
+                                   {'a' : ['a1', 'a2'], 'b': ['b1', 'b2']}) == [('a1',), ('a2',)],\
+      "one item filter"
+  ab_nd = typing.NamedTuple('AB', [('a', str), ('b', str)])
+  assert generate_run_combinations(ab_nd,
+                                   {'a': ['a1', 'a2'],
+                                    'b': ['b1', 'b2']}) == [ab_nd('a1', 'b1'),
+                                                            ab_nd('a1', 'b2'),
+                                                            ab_nd('a2', 'b1'),
+                                                            ab_nd('a2', 'b2')],\
+      "two items"
+
+  assert generate_run_combinations(ab_nd,
+                                   {'as': ['a1', 'a2'],
+                                    'bs': ['b1', 'b2']}) == [ab_nd('a1', 'b1'),
+                                                             ab_nd('a1', 'b2'),
+                                                             ab_nd('a2', 'b1'),
+                                                             ab_nd('a2', 'b2')],\
+      "two items plural"
+
+def test_key_to_cmdline_flag():
+  assert asr.key_to_cmdline_flag("abc") == "--abc"
+  assert asr.key_to_cmdline_flag("foos") == "--foo"
+  assert asr.key_to_cmdline_flag("ba_r") == "--ba-r"
+  assert asr.key_to_cmdline_flag("ba_zs") == "--ba-z"
+
+
+def test_make_script_command_with_temp_output():
+  cmd_str, tmp_file = asr.make_script_command_with_temp_output("fake_script", args=[], count=1)
+  with tmp_file:
+    assert cmd_str == ["fake_script", "--count", "1", "--output", tmp_file.name]
+
+  cmd_str, tmp_file = asr.make_script_command_with_temp_output("fake_script", args=['a', 'b'], count=2)
+  with tmp_file:
+    assert cmd_str == ["fake_script", "a", "b", "--count", "2", "--output", tmp_file.name]
+
+def test_parse_run_script_csv_file():
+  # empty file -> empty list
+  f = io.StringIO("")
+  assert asr.parse_run_script_csv_file(f) == []
+
+  # common case
+  f = io.StringIO("1,2,3")
+  assert asr.parse_run_script_csv_file(f) == [1,2,3]
+
+  # ignore trailing comma
+  f = io.StringIO("1,2,3,4,5,")
+  assert asr.parse_run_script_csv_file(f) == [1,2,3,4,5]
+
+
+if __name__ == '__main__':
+  pytest.main()
diff --git a/startop/scripts/app_startup/force_compiler_filter b/startop/scripts/app_startup/force_compiler_filter
new file mode 100755
index 0000000..08f983d
--- /dev/null
+++ b/startop/scripts/app_startup/force_compiler_filter
@@ -0,0 +1,143 @@
+#!/bin/bash
+#
+# Copyright 2018, 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.
+
+#
+# Forces an application APK to be compiled (by ART's dex2oat)
+# with a specific compiler filter.
+#
+# Example usage:
+#    $> ./force_compiler_filter -p com.google.android.apps.maps -c speed-profile
+#
+# (The application may be started/stopped as a side effect)
+#
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+source "$DIR/lib/common"
+
+usage() {
+    cat <<EOF
+Usage: $(basename $0) [OPTION]...
+
+  Required:
+    -p, --package               package of the app to recompile
+    -c, --compiler-filter       override the compiler filter if set (default none)
+                                valid options are listed by: adb shell cmd package, under compile -m
+
+  Optional:
+    -a, --activity              activity of the app to recompile
+    -h, --help                  usage information (this)
+    -v, --verbose               enable extra verbose printing
+    -w, --wait_time             how long to wait for app startup (default 10) in seconds
+EOF
+}
+
+wait_time="10" # seconds
+
+parse_arguments() {
+  while [[ $# -gt 0 ]]; do
+    case "$1" in
+      -a|--activity)
+        activity="$2"
+        shift
+        ;;
+      -h|--help)
+        usage
+        exit 0
+        ;;
+      -p|--package)
+        package="$2"
+        shift
+        ;;
+      -w|--wait_time)
+        wait_time="$2"
+        shift
+        ;;
+      -c|--compiler-filter)
+        compiler_filter="$2"
+        shift
+        ;;
+      -v|--verbose)
+        verbose="y"
+        ;;
+    esac
+    shift
+  done
+
+  if [[ -z "$compiler_filter" ]]; then
+    echo "Missing required --compiler-filter" >&2
+    echo ""
+    usage
+    exit 1
+  fi
+  if [[ -z "$package" ]]; then
+    echo "Missing required --package" >&2
+    echo ""
+    usage
+    exit 1
+  fi
+
+  if [[ "$activity" == "" ]]; then
+    activity="$(get_activity_name "$package")"
+    if [[ "$activity" == "" ]]; then
+      echo "Activity name could not be found, invalid package name?" 1>&2
+      exit 1
+    else
+      verbose_print "Activity name inferred: " "$activity"
+    fi
+  fi
+}
+
+force_package_compilation() {
+  local arg_compiler_filter="$1"
+  local arg_package="$2"
+
+  if [[ $arg_compiler_filter == speed-profile ]]; then
+    # Force the running app to dump its profiles to disk.
+    remote_pkill "$arg_package" -SIGUSR1
+    sleep 1 # give some time for above to complete.
+  fi
+
+  adb shell cmd package compile -m "$arg_compiler_filter" -f "$arg_package"
+}
+
+main() {
+  parse_arguments "$@"
+
+  if [[ $compiler_filter == speed-profile ]]; then
+    # screen needs to be unlocked in order to run an app
+    "$DIR"/unlock_screen
+
+    local output=$("$DIR"/launch_application "$package" "$activity")
+    if [[ $? -ne 0 ]]; then
+      echo "launching application failed" >&2
+      exit 1
+    fi
+
+    verbose_print "$output"
+    # give some time for app startup to complete.
+    # this is supposed to be an upper bound for measuring startup time.
+    sleep "$wait_time"
+  fi
+
+  force_package_compilation "$compiler_filter" "$package"
+
+  # kill the application to ensure next time it's started,
+  # it picks up the correct compilation filter.
+  adb shell am force-stop "$package"
+  remote_pkill "$package"
+}
+
+main "$@"
diff --git a/startop/scripts/app_startup/launch_application b/startop/scripts/app_startup/launch_application
new file mode 100755
index 0000000..8a68e50
--- /dev/null
+++ b/startop/scripts/app_startup/launch_application
@@ -0,0 +1,47 @@
+#!/bin/bash
+#
+# Copyright 2018, 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.
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+source "$DIR/lib/common"
+
+launch_application() {
+  local package="$1"
+  local activity="$2"
+
+  # if there's any $s inside of the activity name, it needs to be escaped to \$.
+  # example '.app.honeycomb.Shell$HomeActivity'
+  # if the $ is not escaped, adb shell will try to evaluate $HomeActivity to a variable.
+  activity=${activity//\$/\\$}
+
+  local am_output="$(adb shell am start -S -W "$package"/"$activity")"
+  verbose_print adb shell am start -S -W "$package"/"$activity"
+  if [[ $? -ne 0 ]]; then
+    echo "am start failed" >&2
+
+    return 1
+  fi
+
+  # for everything else use the am start "TotalTime" output.
+  verbose_print "$am_output"
+  local total_time="$(echo "$am_output" | grep 'TotalTime:' | sed 's/TotalTime: //g')"
+  verbose_print "total time: $total_time"
+
+  # TODO: Extract alternative metrics such as the #reportFullyDrawn.
+
+  echo "$total_time"
+}
+
+launch_application "$@"
diff --git a/startop/scripts/app_startup/lib/common b/startop/scripts/app_startup/lib/common
new file mode 100755
index 0000000..043d855
--- /dev/null
+++ b/startop/scripts/app_startup/lib/common
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+if [[ -z $ANDROID_BUILD_TOP ]]; then
+  echo "Please run source build/envsetup.sh first" >&2
+  exit 1
+fi
+
+source $ANDROID_BUILD_TOP/build/envsetup.sh
+
+verbose_print() {
+  if [[ "$verbose" == "y" ]]; then
+    echo "$@" >&2
+  fi
+}
+
+remote_pidof() {
+  local procname="$1"
+  adb shell ps | grep "$procname" | awk '{print $2;}'
+}
+
+remote_pkill() {
+  local procname="$1"
+  shift
+
+  local the_pids=$(remote_pidof "$procname")
+  local pid
+
+  for pid in $the_pids; do
+    verbose_print adb shell kill "$@" "$pid"
+    adb shell kill "$@" "$pid"
+  done
+}
+
+get_activity_name() {
+  local package="$1"
+  local action_key="android.intent.action.MAIN:"
+
+  # Example query-activities output being parsed:
+  #
+  #  Activity #14:
+  #    priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=true
+  #    com.google.android.videos/com.google.android.youtube.videos.EntryPoint
+  #  Activity #15:
+  #    priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=true
+  #    com.google.android.youtube/.app.honeycomb.Shell$HomeActivity
+
+  # Given package 'com.google.android.youtube' return '.app.honeycomb.Shell$HomeActivity'
+
+  local activity_line="$(adb shell cmd package query-activities --brief -a android.intent.action.MAIN -c android.intent.category.LAUNCHER | grep "$package/")"
+  IFS="/" read -a array <<< "$activity_line"
+  local activity_name="${array[1]}"
+  echo "$activity_name"
+}
diff --git a/startop/scripts/app_startup/query_compiler_filter.py b/startop/scripts/app_startup/query_compiler_filter.py
new file mode 100755
index 0000000..dc97c66
--- /dev/null
+++ b/startop/scripts/app_startup/query_compiler_filter.py
@@ -0,0 +1,226 @@
+#!/usr/bin/env python3
+#
+# Copyright 2018, 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.
+
+#
+#
+# Query the current compiler filter for an application by its package name.
+# (By parsing the results of the 'adb shell dumpsys package $package' command).
+# The output is a string "$compilation_filter $compilation_reason $isa".
+#
+# See --help for more details.
+#
+# -----------------------------------
+#
+# Sample usage:
+#
+# $> ./query_compiler_filter.py --package com.google.android.calculator
+# speed-profile unknown arm64
+#
+
+import argparse
+import sys
+import re
+
+# TODO: refactor this with a common library file with analyze_metrics.py
+import app_startup_runner
+from app_startup_runner import _debug_print
+from app_startup_runner import execute_arbitrary_command
+
+from typing import List, NamedTuple, Iterable
+
+_DEBUG_FORCE = None  # Ignore -d/--debug if this is not none.
+
+def parse_options(argv: List[str] = None):
+  """Parse command line arguments and return an argparse Namespace object."""
+  parser = argparse.ArgumentParser(description="Query the compiler filter for a package.")
+  # argparse considers args starting with - and -- optional in --help, even though required=True.
+  # by using a named argument group --help will clearly say that it's required instead of optional.
+  required_named = parser.add_argument_group('required named arguments')
+  required_named.add_argument('-p', '--package', action='store', dest='package', help='package of the application', required=True)
+
+  # optional arguments
+  # use a group here to get the required arguments to appear 'above' the optional arguments in help.
+  optional_named = parser.add_argument_group('optional named arguments')
+  optional_named.add_argument('-i', '--isa', '--instruction-set', action='store', dest='instruction_set', help='which instruction set to select. defaults to the first one available if not specified.', choices=('arm64', 'arm', 'x86_64', 'x86'))
+  optional_named.add_argument('-s', '--simulate', dest='simulate', action='store_true', help='Print which commands will run, but don\'t run the apps')
+  optional_named.add_argument('-d', '--debug', dest='debug', action='store_true', help='Add extra debugging output')
+
+  return parser.parse_args(argv)
+
+def remote_dumpsys_package(package: str, simulate: bool) -> str:
+  # --simulate is used for interactive debugging/development, but also for the unit test.
+  if simulate:
+    return """
+Dexopt state:
+  [%s]
+    path: /data/app/%s-D7s8PLidqqEq7Jc7UH_a5A==/base.apk
+      arm64: [status=speed-profile] [reason=unknown]
+    path: /data/app/%s-D7s8PLidqqEq7Jc7UH_a5A==/base.apk
+      arm: [status=speed] [reason=first-boot]
+    path: /data/app/%s-D7s8PLidqqEq7Jc7UH_a5A==/base.apk
+      x86: [status=quicken] [reason=install]
+""" %(package, package, package, package)
+
+  code, res = execute_arbitrary_command(['adb', 'shell', 'dumpsys', 'package', package], simulate=False, timeout=5)
+  if code:
+    return res
+  else:
+    raise AssertionError("Failed to dumpsys package, errors = %s", res)
+
+ParseTree = NamedTuple('ParseTree', [('label', str), ('children', List['ParseTree'])])
+DexoptState = ParseTree # With the Dexopt state: label
+ParseResult = NamedTuple('ParseResult', [('remainder', List[str]), ('tree', ParseTree)])
+
+def find_parse_subtree(parse_tree: ParseTree, match_regex: str) -> ParseTree:
+  if re.match(match_regex, parse_tree.label):
+    return parse_tree
+
+  for node in parse_tree.children:
+    res = find_parse_subtree(node, match_regex)
+    if res:
+      return res
+
+  return None
+
+def find_parse_children(parse_tree: ParseTree, match_regex: str) -> Iterable[ParseTree]:
+  for node in parse_tree.children:
+    if re.match(match_regex, node.label):
+      yield node
+
+def parse_tab_subtree(label: str, str_lines: List[str], separator=' ', indent=-1) -> ParseResult:
+  children = []
+
+  get_indent_level = lambda line: len(line) - len(line.lstrip())
+
+  line_num = 0
+
+  keep_going = True
+  while keep_going:
+    keep_going = False
+
+    for line_num in range(len(str_lines)):
+      line = str_lines[line_num]
+      current_indent = get_indent_level(line)
+
+      _debug_print("INDENT=%d, LINE=%s" %(current_indent, line))
+
+      current_label = line.lstrip()
+
+      # skip empty lines
+      if line.lstrip() == "":
+        continue
+
+      if current_indent > indent:
+        parse_result = parse_tab_subtree(current_label, str_lines[line_num+1::], separator, current_indent)
+        str_lines = parse_result.remainder
+        children.append(parse_result.tree)
+        keep_going = True
+      else:
+        # current_indent <= indent
+        keep_going = False
+
+      break
+
+  new_remainder = str_lines[line_num::]
+  _debug_print("NEW REMAINDER: ", new_remainder)
+
+  parse_tree = ParseTree(label, children)
+  return ParseResult(new_remainder, parse_tree)
+
+def parse_tab_tree(str_tree: str, separator=' ', indentation_level=-1) -> ParseTree:
+
+  label = None
+  lst = []
+
+  line_num = 0
+  line_lst = str_tree.split("\n")
+
+  return parse_tab_subtree("", line_lst, separator, indentation_level).tree
+
+def parse_dexopt_state(dumpsys_tree: ParseTree) -> DexoptState:
+  res = find_parse_subtree(dumpsys_tree, "Dexopt(\s+)state[:]?")
+  if not res:
+    raise AssertionError("Could not find the Dexopt state")
+  return res
+
+def find_first_compiler_filter(dexopt_state: DexoptState, package: str, instruction_set: str) -> str:
+  lst = find_all_compiler_filters(dexopt_state, package)
+
+  _debug_print("all compiler filters: ", lst)
+
+  for compiler_filter_info in lst:
+    if not instruction_set:
+      return compiler_filter_info
+
+    if compiler_filter_info.isa == instruction_set:
+      return compiler_filter_info
+
+  return None
+
+CompilerFilterInfo = NamedTuple('CompilerFilterInfo', [('isa', str), ('status', str), ('reason', str)])
+
+def find_all_compiler_filters(dexopt_state: DexoptState, package: str) -> List[CompilerFilterInfo]:
+
+  lst = []
+  package_tree = find_parse_subtree(dexopt_state, re.escape("[%s]" %package))
+
+  if not package_tree:
+    raise AssertionError("Could not find any package subtree for package %s" %(package))
+
+  _debug_print("package tree: ", package_tree)
+
+  for path_tree in find_parse_children(package_tree, "path: "):
+    _debug_print("path tree: ", path_tree)
+
+    matchre = re.compile("([^:]+):\s+\[status=([^\]]+)\]\s+\[reason=([^\]]+)\]")
+
+    for isa_node in find_parse_children(path_tree, matchre):
+
+      matches = re.match(matchre, isa_node.label).groups()
+
+      info = CompilerFilterInfo(*matches)
+      lst.append(info)
+
+  return lst
+
+def main() -> int:
+  opts = parse_options()
+  app_startup_runner._debug = opts.debug
+  if _DEBUG_FORCE is not None:
+    app_startup_runner._debug = _DEBUG_FORCE
+  _debug_print("parsed options: ", opts)
+
+  # Note: This can often 'fail' if the package isn't actually installed.
+  package_dumpsys = remote_dumpsys_package(opts.package, opts.simulate)
+  _debug_print("package dumpsys: ", package_dumpsys)
+  dumpsys_parse_tree = parse_tab_tree(package_dumpsys, package_dumpsys)
+  _debug_print("parse tree: ", dumpsys_parse_tree)
+  dexopt_state = parse_dexopt_state(dumpsys_parse_tree)
+
+  filter = find_first_compiler_filter(dexopt_state, opts.package, opts.instruction_set)
+
+  if filter:
+    print(filter.status, end=' ')
+    print(filter.reason, end=' ')
+    print(filter.isa)
+  else:
+    print("ERROR: Could not find any compiler-filter for package %s, isa %s" %(opts.package, opts.instruction_set), file=sys.stderr)
+    return 1
+
+  return 0
+
+if __name__ == '__main__':
+  sys.exit(main())
diff --git a/startop/scripts/app_startup/query_compiler_filter_test.py b/startop/scripts/app_startup/query_compiler_filter_test.py
new file mode 100755
index 0000000..a751a43
--- /dev/null
+++ b/startop/scripts/app_startup/query_compiler_filter_test.py
@@ -0,0 +1,116 @@
+#!/usr/bin/env python3
+#
+# Copyright 2018, 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.
+#
+
+"""
+Unit tests for the query_compiler_filter.py script.
+
+Install:
+  $> sudo apt-get install python3-pytest   ##  OR
+  $> pip install -U pytest
+See also https://docs.pytest.org/en/latest/getting-started.html
+
+Usage:
+  $> ./query_compiler_filter.py
+  $> pytest query_compiler_filter.py
+  $> python -m pytest query_compiler_filter.py
+
+See also https://docs.pytest.org/en/latest/usage.html
+"""
+
+# global imports
+from contextlib import contextmanager
+import io
+import shlex
+import sys
+import typing
+
+# pip imports
+import pytest
+
+# local imports
+import query_compiler_filter as qcf
+
+@contextmanager
+def redirect_stdout_stderr():
+  """Redirect stdout/stderr to a new StringIO for duration of context."""
+  old_stdout = sys.stdout
+  old_stderr = sys.stderr
+  new_stdout = io.StringIO()
+  sys.stdout = new_stdout
+  new_stderr = io.StringIO()
+  sys.stderr = new_stderr
+  try:
+    yield (new_stdout, new_stderr)
+  finally:
+    sys.stdout = old_stdout
+    sys.stderr = old_stderr
+    # Seek back to the beginning so we can read whatever was written into it.
+    new_stdout.seek(0)
+    new_stderr.seek(0)
+
+@contextmanager
+def replace_argv(argv):
+  """ Temporarily replace argv for duration of this context."""
+  old_argv = sys.argv
+  sys.argv = [sys.argv[0]] + argv
+  try:
+    yield
+  finally:
+    sys.argv = old_argv
+
+def exec_main(argv):
+  """Run the query_compiler_filter main function with the provided arguments.
+
+  Returns the stdout result when successful, assertion failure otherwise.
+  """
+  try:
+    with redirect_stdout_stderr() as (the_stdout, the_stderr):
+      with replace_argv(argv):
+        code = qcf.main()
+    assert 0 == code, the_stderr.readlines()
+
+    all_lines = the_stdout.readlines()
+    return "".join(all_lines)
+  finally:
+    the_stdout.close()
+    the_stderr.close()
+
+def test_query_compiler_filter():
+  # no --instruction-set specified: provide whatever was the 'first' filter.
+  assert exec_main(['--simulate',
+                    '--package', 'com.google.android.apps.maps']) == \
+      "speed-profile unknown arm64\n"
+
+  # specifying an instruction set finds the exact compiler filter match.
+  assert exec_main(['--simulate',
+                    '--package', 'com.google.android.apps.maps',
+                    '--instruction-set', 'arm64']) == \
+      "speed-profile unknown arm64\n"
+
+  assert exec_main(['--simulate',
+                    '--package', 'com.google.android.apps.maps',
+                    '--instruction-set', 'arm']) == \
+      "speed first-boot arm\n"
+
+  assert exec_main(['--simulate',
+                    '--debug',
+                    '--package', 'com.google.android.apps.maps',
+                    '--instruction-set', 'x86']) == \
+      "quicken install x86\n"
+
+if __name__ == '__main__':
+  pytest.main()
diff --git a/startop/scripts/app_startup/run_app_with_prefetch b/startop/scripts/app_startup/run_app_with_prefetch
new file mode 100755
index 0000000..56bffa8
--- /dev/null
+++ b/startop/scripts/app_startup/run_app_with_prefetch
@@ -0,0 +1,364 @@
+#!/bin/bash
+#
+# Copyright 2018, 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.
+
+usage() {
+    cat <<EOF
+Usage: run_app_with_prefetch --package <name> [OPTIONS]...
+
+    -p, --package <name>        package of the app to test
+    -a, --activity <name>       activity to use
+    -h, --help                  usage information (this)
+    -v, --verbose               enable extra verbose printing
+    -i, --input <file>          trace file protobuf (default 'TraceFile.pb')
+    -r, --readahead <mode>      cold, warm, fadvise, mlock (default 'warm')
+    -w, --when <when>           aot or jit (default 'aot')
+    -c, --count <count>         how many times to run (default 1)
+    -s, --sleep <sec>           how long to sleep after readahead
+    -t, --timeout <sec>         how many seconds to timeout in between each app run (default 10)
+    -o, --output <file.csv>     what file to write the performance results into as csv (default stdout)
+EOF
+}
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+source "$DIR/lib/common"
+
+needs_trace_file="n"
+input_file=""
+package=""
+mode='warm'
+count=2
+sleep_time=2
+timeout=10
+output="" # stdout by default
+when="aot"
+parse_arguments() {
+  while [[ $# -gt 0 ]]; do
+    case "$1" in
+      -h|--help)
+        usage
+        exit 0
+        ;;
+      -p|--package)
+        package="$2"
+        shift
+        ;;
+      -a|--activity)
+        activity="$2"
+        shift
+        ;;
+      -i|--input)
+        input_file="$2"
+        shift
+        ;;
+      -v|--verbose)
+        export verbose="y"
+        ;;
+      -r|--readahead)
+        mode="$2"
+        shift
+        ;;
+      -c|--count)
+        count="$2"
+        ((count+=1))
+        shift
+        ;;
+      -s|--sleep)
+        sleep_time="$2"
+        shift
+        ;;
+      -t|--timeout)
+        timeout="$2"
+        shift
+        ;;
+      -o|--output)
+        output="$2"
+        shift
+        ;;
+      -w|--when)
+        when="$2"
+        shift
+        ;;
+      --compiler-filter)
+        compiler_filter="$2"
+        shift
+        ;;
+      *)
+        echo "Invalid argument: $1" >&2
+        exit 1
+    esac
+    shift
+  done
+}
+
+echo_to_output_file() {
+  if [[ "x$output" != x ]]; then
+    echo "$@" >> $output
+  fi
+  # Always echo to stdout as well.
+  echo "$@"
+}
+
+find_package_path() {
+  local pkg="$1"
+
+  res="$(adb shell find "/data/app/$pkg"-'*' -maxdepth 0 2> /dev/null)"
+  if [[ -z $res ]]; then
+    res="$(adb shell find "/system/app/$pkg"-'*' -maxdepth 0 2> /dev/null)"
+  fi
+  echo "$res"
+}
+
+# Main entry point
+if [[ $# -eq 0 ]]; then
+  usage
+  exit 1
+else
+  parse_arguments "$@"
+
+  # if we do not have have package exit early with an error
+  [[ "$package" == "" ]] && echo "--package not specified" 1>&2 && exit 1
+
+  if [[ $mode != "cold" && $mode != "warm" ]]; then
+    needs_trace_file="y"
+    if [[ -z "$input_file" ]] || ! [[ -f $input_file ]]; then
+      echo "--input not specified" 1>&2
+      exit 1
+    fi
+  fi
+
+  if [[ "$activity" == "" ]]; then
+    activity="$(get_activity_name "$package")"
+    if [[ "$activity" == "" ]]; then
+      echo "Activity name could not be found, invalid package name?" 1>&2
+      exit 1
+    else
+      verbose_print "Activity name inferred: " "$activity"
+    fi
+  fi
+fi
+
+adb root > /dev/null
+
+if [[ ($when == jit) || ($when == aot) ]] && [[ "$(adb shell getenforce)" != "Permissive" ]]; then
+  echo "Disable selinux permissions and restart framework."
+  adb shell setenforce 0
+  adb shell stop
+  adb shell start
+  adb wait-for-device
+fi
+
+# TODO: set performance governor etc, preferrably only once
+# before every single app run.
+
+# Kill everything before running.
+remote_pkill "$package"
+sleep 1
+
+timings_array=()
+
+package_path="$(find_package_path "$package")"
+if [[ $? -ne 0 ]]; then
+  echo "Failed to detect package path for '$package'" >&2
+  exit 1
+fi
+verbose_print "Package was in path '$package_path'"
+
+keep_application_trace_file=n
+application_trace_file_path="$package_path/TraceFile.pb"
+trace_file_directory="$package_path"
+if [[ $needs_trace_file == y ]]; then
+  # system server always passes down the package path in a hardcoded spot.
+  if [[ $when == "jit" ]]; then
+    verbose_print adb push "$input_file" "$application_trace_file_path"
+    adb push "$input_file" "$application_trace_file_path"
+    keep_application_trace_file="y"
+  else
+    # otherwise use a temporary directory to get normal non-jit behavior.
+    trace_file_directory="/data/local/tmp/prefetch/$package"
+    adb shell mkdir -p "$trace_file_directory"
+    verbose_print  adb push "$input_file" "$trace_file_directory/TraceFile.pb"
+    adb push "$input_file" "$trace_file_directory/TraceFile.pb"
+  fi
+fi
+
+# Everything other than JIT: remove the trace file,
+# otherwise system server activity hints will kick in
+# and the new just-in-time app pre-warmup will happen.
+if [[ $keep_application_trace_file == "n" ]]; then
+  adb shell "[[ -f '$application_trace_file_path' ]] && rm '$application_trace_file_path'"
+fi
+
+# Perform AOT readahead/pinning/etc when an application is about to be launched.
+# For JIT readahead, we allow the system to handle it itself (this is a no-op).
+#
+# For warm, cold, etc modes which don't need readahead this is always a no-op.
+perform_aot() {
+  local the_when="$1" # user: aot, jit
+  local the_mode="$2" # warm, cold, fadvise, mlock, etc.
+
+  if [[ $the_when != "aot" ]]; then
+    # TODO: just in time implementation.. should probably use system server.
+    return 0
+  fi
+
+  # any non-warm/non-cold modes should use the iorap-activity-hint wrapper script.
+  if [[ $the_mode != 'warm' && $the_mode != 'cold' ]]; then
+
+    # TODO: add activity_hint_sender.exp
+    verbose_print "starting with package=$package package_path=$trace_file_directory"
+    coproc hint_sender_fd { $ANDROID_BUILD_TOP/system/iorap/src/sh/activity_hint_sender.exp "$package" "$trace_file_directory" "$the_mode"; }
+    hint_sender_pid=$!
+    verbose_print "Activity hint sender began"
+
+    notification_success="n"
+    while read -r -u "${hint_sender_fd[0]}" hint_sender_output; do
+      verbose_print "$hint_sender_output"
+      if [[ "$hint_sender_output" == "Press any key to send completed event..."* ]]; then
+        verbose_print "WE DID SEE NOTIFICATION SUCCESS."
+        notification_success='y'
+        # Give it some time to actually perform the readaheads.
+        sleep $sleep_time
+        break
+      fi
+    done
+
+    if [[ $notification_success == 'n' ]]; then
+      echo "[FATAL] Activity hint notification failed." 1>&2
+      exit 1
+    fi
+  fi
+}
+
+perform_aot_cleanup() {
+  local the_when="$1" # user: aot, jit
+  local the_mode="$2" # warm, cold, fadvise, mlock, etc.
+
+  if [[ $the_when != "aot" ]]; then
+    # TODO: just in time implementation.. should probably use system server.
+    return 0
+  fi
+
+  # any non-warm/non-cold modes should use the iorap-activity-hint wrapper script.
+  if [[ $the_mode != 'warm' && $the_mode != 'cold' ]]; then
+    # Clean up the hint sender by telling it that the launch was completed,
+    # and to shutdown the watcher.
+    echo "Done\n" >&"${hint_sender_fd[1]}"
+
+    while read -r -u "${hint_sender_fd[0]}" hint_sender_output; do
+      verbose_print "$hint_sender_output"
+    done
+
+    wait $hint_sender_pid
+  fi
+}
+
+configure_compiler_filter() {
+  local the_compiler_filter="$1"
+  local the_package="$2"
+  local the_activity="$3"
+
+  if [[ -z $the_compiler_filter ]]; then
+    verbose_print "No --compiler-filter specified, don't need to force it."
+    return 0
+  fi
+
+  local current_compiler_filter_info="$("$DIR"/query_compiler_filter.py --package "$the_package")"
+  local res=$?
+  if [[ $res -ne 0 ]]; then
+    return $res
+  fi
+
+  local current_compiler_filter
+  local current_reason
+  local current_isa
+  read current_compiler_filter current_reason current_isa <<< "$current_compiler_filter_info"
+
+  verbose_print "Compiler Filter="$current_compiler_filter "Reason="$current_reason "Isa="$current_isa
+
+  # Don't trust reasons that aren't 'unknown' because that means we didn't manually force the compilation filter.
+  # (e.g. if any automatic system-triggered compilations are not unknown).
+  if [[ $current_reason != "unknown" ]] || [[ $current_compiler_filter != $the_compiler_filter ]]; then
+    verbose_print "$DIR"/force_compiler_filter --compiler-filter "$the_compiler_filter" --package "$the_package" --activity "$the_activity"
+    "$DIR"/force_compiler_filter --compiler-filter "$the_compiler_filter" --package "$the_package" --activity "$the_activity"
+    res=$?
+  else
+    verbose_print "Queried compiler-filter matched requested compiler-filter, skip forcing."
+    res=0
+  fi
+
+  return $res
+}
+
+# Ensure the APK is currently compiled with whatever we passed in via --compiler-filter.
+# No-op if this option was not passed in.
+configure_compiler_filter "$compiler_filter" "$package" "$activity" || exit 1
+
+# TODO: This loop logic could probably be moved into app_startup_runner.py
+for ((i=0;i<count;++i)) do
+  verbose_print "=========================================="
+  verbose_print "====         ITERATION $i             ===="
+  verbose_print "=========================================="
+  if [[ $mode != "warm" ]]; then
+    verbose_print "Drop caches for non-warm start."
+    # Drop all caches to get cold starts.
+    adb shell "echo 3 > /proc/sys/vm/drop_caches"
+  fi
+
+  perform_aot "$when" "$mode"
+
+  verbose_print "Running with timeout $timeout"
+
+  # TODO: multiple metrics output.
+  total_time="$(timeout $timeout $DIR/launch_application "$package" "$activity")"
+
+  if [[ $? -ne 0 ]]; then
+    echo "WARNING: Skip bad result, try iteration again." >&2
+    ((i=i-1))
+    continue
+  fi
+
+  perform_aot_cleanup "$when" "$mode"
+
+  echo "Iteration $i. Total time was: $total_time"
+
+  timings_array+=($total_time)
+done
+
+# drop the first result which is usually garbage.
+timings_array=("${timings_array[@]:1}")
+
+
+# Print out interactive/debugging timings and averages.
+# Other scripts should use the --output flag and parse the CSV.
+for tim in "${timings_array[@]}"; do
+  echo_to_output_file -ne "$tim,"
+done
+echo_to_output_file ""
+
+average_string=$(echo "${timings_array[@]}" | awk '{s+=$0}END{print "Average:",s/NR}' RS=" ")
+echo -ne ${average_string}.
+if [[ x$output != x ]]; then
+  echo " Saved results to '$output'"
+fi
+
+# Temporary hack around multiple activities being launched with different package paths (for same app):
+# Clean up all left-over TraceFile.pb
+adb shell 'for i in $(find /data/app -name TraceFile.pb); do rm \$i; done'
+
+# Kill the process to ensure AM isn't keeping it around.
+remote_pkill "$package"
+
+exit 0
diff --git a/startop/scripts/app_startup/unlock_screen b/startop/scripts/app_startup/unlock_screen
new file mode 100755
index 0000000..478294c
--- /dev/null
+++ b/startop/scripts/app_startup/unlock_screen
@@ -0,0 +1,22 @@
+#!/bin/bash
+#
+# Copyright 2018, 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.
+
+# This turns the screen on if it's off.
+# If it's on it does nothing unless its on the home screen, in which case it opens up some background
+# menu.
+#
+# However, this menu is ignored because "am start" commands still work as expected.
+adb shell input keyevent MENU
diff --git a/startop/tools/view_compiler/Android.bp b/startop/tools/view_compiler/Android.bp
new file mode 100644
index 0000000..c3e9184
--- /dev/null
+++ b/startop/tools/view_compiler/Android.bp
@@ -0,0 +1,49 @@
+//
+// Copyright (C) 2018 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.
+//
+
+cc_library_host_static {
+    name: "libviewcompiler",
+    srcs: [
+        "java_lang_builder.cc",
+        "util.cc",
+    ],
+    static_libs: [
+        "libbase"
+    ]
+}
+
+cc_binary_host {
+    name: "viewcompiler",
+    srcs: [
+        "main.cc",
+    ],
+    static_libs: [
+        "libbase",
+        "libtinyxml2",
+        "libgflags",
+        "libviewcompiler",
+    ],
+}
+
+cc_test_host {
+    name: "view-compiler-tests",
+    srcs: [
+        "util_test.cc",
+    ],
+    static_libs: [
+        "libviewcompiler",
+    ]
+}
diff --git a/startop/tools/view_compiler/README.md b/startop/tools/view_compiler/README.md
new file mode 100644
index 0000000..5659501
--- /dev/null
+++ b/startop/tools/view_compiler/README.md
@@ -0,0 +1,25 @@
+# View Compiler
+
+This directory contains an experimental compiler for layout files.
+
+It will take a layout XML file and produce a CompiledLayout.java file with a
+specialized layout inflation function.
+
+To use it, let's assume you had a layout in `my_layout.xml` and your app was in
+the Java language package `com.example.myapp`. Run the following command:
+
+    viewcompiler my_layout.xml --package com.example.myapp --out CompiledView.java
+
+This will produce a `CompiledView.java`, which can then be compiled into your
+Android app. Then to use it, in places where you would have inflated
+`R.layouts.my_layout`, instead call `CompiledView.inflate`.
+
+Precompiling views like this generally improves the time needed to inflate them.
+
+This tool is still in its early stages and has a number of limitations.
+* Currently only one layout can be compiled at a time.
+* `merge` and `include` nodes are not supported.
+* View compilation is a manual process that requires code changes in the
+  application.
+* This only works for apps that do not use a custom layout inflater.
+* Other limitations yet to be discovered.
diff --git a/startop/tools/view_compiler/TEST_MAPPING b/startop/tools/view_compiler/TEST_MAPPING
new file mode 100644
index 0000000..cc4b17a
--- /dev/null
+++ b/startop/tools/view_compiler/TEST_MAPPING
@@ -0,0 +1,7 @@
+{
+  "presubmit": [
+    {
+      "name": "view-compiler-tests"
+    }
+  ]
+}
diff --git a/startop/tools/view_compiler/java_lang_builder.cc b/startop/tools/view_compiler/java_lang_builder.cc
new file mode 100644
index 0000000..0b8754f
--- /dev/null
+++ b/startop/tools/view_compiler/java_lang_builder.cc
@@ -0,0 +1,115 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+#include "java_lang_builder.h"
+
+#include "android-base/stringprintf.h"
+
+using android::base::StringPrintf;
+using std::string;
+
+void JavaLangViewBuilder::Start() const {
+  out_ << StringPrintf("package %s;\n", package_.c_str())
+       << "import android.content.Context;\n"
+          "import android.content.res.Resources;\n"
+          "import android.content.res.XmlResourceParser;\n"
+          "import android.util.AttributeSet;\n"
+          "import android.util.Xml;\n"
+          "import android.view.*;\n"
+          "import android.widget.*;\n"
+          "\n"
+          "public final class CompiledView {\n"
+          "\n"
+          "static <T extends View> T createView(Context context, AttributeSet attrs, View parent, "
+          "String name, LayoutInflater.Factory factory, LayoutInflater.Factory2 factory2) {"
+          "\n"
+          "  if (factory2 != null) {\n"
+          "    return (T)factory2.onCreateView(parent, name, context, attrs);\n"
+          "  } else if (factory != null) {\n"
+          "    return (T)factory.onCreateView(name, context, attrs);\n"
+          "  }\n"
+          // TODO: find a way to call the private factory
+          "  return null;\n"
+          "}\n"
+          "\n"
+          "  public static View inflate(Context context) {\n"
+          "    try {\n"
+          "      LayoutInflater inflater = LayoutInflater.from(context);\n"
+          "      LayoutInflater.Factory factory = inflater.getFactory();\n"
+          "      LayoutInflater.Factory2 factory2 = inflater.getFactory2();\n"
+          "      Resources res = context.getResources();\n"
+       << StringPrintf("      XmlResourceParser xml = res.getLayout(%s.R.layout.%s);\n",
+                       package_.c_str(),
+                       layout_name_.c_str())
+       << "      AttributeSet attrs = Xml.asAttributeSet(xml);\n"
+          // The Java-language XmlPullParser needs a call to next to find the start document tag.
+          "      xml.next(); // start document\n";
+}
+
+void JavaLangViewBuilder::Finish() const {
+  out_ << "    } catch (Exception e) {\n"
+          "      return null;\n"
+          "    }\n"  // end try
+          "  }\n"    // end inflate
+          "}\n";     // end CompiledView
+}
+
+void JavaLangViewBuilder::StartView(const string& class_name) {
+  const string view_var = MakeVar("view");
+  const string layout_var = MakeVar("layout");
+  std::string parent = "null";
+  if (!view_stack_.empty()) {
+    const StackEntry& parent_entry = view_stack_.back();
+    parent = parent_entry.view_var;
+  }
+  out_ << "      xml.next(); // <" << class_name << ">\n"
+       << StringPrintf("      %s %s = createView(context, attrs, %s, \"%s\", factory, factory2);\n",
+                       class_name.c_str(),
+                       view_var.c_str(),
+                       parent.c_str(),
+                       class_name.c_str())
+       << StringPrintf("      if (%s == null) %s = new %s(context, attrs);\n",
+                       view_var.c_str(),
+                       view_var.c_str(),
+                       class_name.c_str());
+  if (!view_stack_.empty()) {
+    out_ << StringPrintf("      ViewGroup.LayoutParams %s = %s.generateLayoutParams(attrs);\n",
+                         layout_var.c_str(),
+                         parent.c_str());
+  }
+  view_stack_.push_back({class_name, view_var, layout_var});
+}
+
+void JavaLangViewBuilder::FinishView() {
+  const StackEntry var = view_stack_.back();
+  view_stack_.pop_back();
+  if (!view_stack_.empty()) {
+    const string& parent = view_stack_.back().view_var;
+    out_ << StringPrintf("      xml.next(); // </%s>\n", var.class_name.c_str())
+         << StringPrintf("      %s.addView(%s, %s);\n",
+                         parent.c_str(),
+                         var.view_var.c_str(),
+                         var.layout_params_var.c_str());
+  } else {
+    out_ << StringPrintf("      return %s;\n", var.view_var.c_str());
+  }
+}
+
+const std::string JavaLangViewBuilder::MakeVar(std::string prefix) {
+  std::stringstream v;
+  v << prefix << view_id_++;
+  return v.str();
+}
diff --git a/startop/tools/view_compiler/java_lang_builder.h b/startop/tools/view_compiler/java_lang_builder.h
new file mode 100644
index 0000000..c8d20b2
--- /dev/null
+++ b/startop/tools/view_compiler/java_lang_builder.h
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+#ifndef JAVA_LANG_BUILDER_H_
+#define JAVA_LANG_BUILDER_H_
+
+#include <iostream>
+#include <sstream>
+#include <vector>
+
+// Build Java language code to instantiate views.
+//
+// This has a very small interface to make it easier to generate additional
+// backends, such as a direct-to-DEX version.
+class JavaLangViewBuilder {
+ public:
+  JavaLangViewBuilder(std::string package, std::string layout_name, std::ostream& out = std::cout)
+      : package_(package), layout_name_(layout_name), out_(out) {}
+
+  // Begin generating a class. Adds the package boilerplate, etc.
+  void Start() const;
+  // Finish generating a class, closing off any open curly braces, etc.
+  void Finish() const;
+
+  // Begin creating a view (i.e. process the opening tag)
+  void StartView(const std::string& class_name);
+  // Finish a view, after all of its child nodes have been processed.
+  void FinishView();
+
+ private:
+  const std::string MakeVar(std::string prefix);
+
+  std::string const package_;
+  std::string const layout_name_;
+
+  std::ostream& out_;
+
+  size_t view_id_ = 0;
+
+  struct StackEntry {
+      // The class name for this view object
+      const std::string class_name;
+
+      // The variable name that is holding the view object
+      const std::string view_var;
+
+      // The variable name that holds the object's layout parameters
+      const std::string layout_params_var;
+  };
+  std::vector<StackEntry> view_stack_;
+};
+
+#endif  // JAVA_LANG_BUILDER_H_
diff --git a/startop/tools/view_compiler/main.cc b/startop/tools/view_compiler/main.cc
new file mode 100644
index 0000000..0ad7e24
--- /dev/null
+++ b/startop/tools/view_compiler/main.cc
@@ -0,0 +1,105 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+#include "gflags/gflags.h"
+
+#include "java_lang_builder.h"
+#include "util.h"
+
+#include "tinyxml2.h"
+
+#include <fstream>
+#include <iostream>
+#include <sstream>
+#include <string>
+#include <vector>
+
+using namespace tinyxml2;
+using std::string;
+
+constexpr char kStdoutFilename[]{"stdout"};
+
+DEFINE_string(package, "", "The package name for the generated class (required)");
+DEFINE_string(out, kStdoutFilename, "Where to write the generated class");
+
+namespace {
+class ViewCompilerXmlVisitor : public XMLVisitor {
+ public:
+  ViewCompilerXmlVisitor(JavaLangViewBuilder* builder) : builder_(builder) {}
+
+  bool VisitEnter(const XMLDocument& /*doc*/) override {
+    builder_->Start();
+    return true;
+  }
+
+  bool VisitExit(const XMLDocument& /*doc*/) override {
+    builder_->Finish();
+    return true;
+  }
+
+  bool VisitEnter(const XMLElement& element, const XMLAttribute* /*firstAttribute*/) override {
+    builder_->StartView(element.Name());
+    return true;
+  }
+
+  bool VisitExit(const XMLElement& /*element*/) override {
+    builder_->FinishView();
+    return true;
+  }
+
+ private:
+  JavaLangViewBuilder* builder_;
+};
+}  // end namespace
+
+int main(int argc, char** argv) {
+  constexpr size_t kProgramName = 0;
+  constexpr size_t kFileNameParam = 1;
+  constexpr size_t kNumRequiredArgs = 2;
+
+  gflags::SetUsageMessage(
+      "Compile XML layout files into equivalent Java language code\n"
+      "\n"
+      "  example usage:  viewcompiler layout.xml --package com.example.androidapp");
+  gflags::ParseCommandLineFlags(&argc, &argv, /*remove_flags*/ true);
+
+  gflags::CommandLineFlagInfo cmd = gflags::GetCommandLineFlagInfoOrDie("package");
+  if (argc != kNumRequiredArgs || cmd.is_default) {
+    gflags::ShowUsageWithFlags(argv[kProgramName]);
+    return 1;
+  }
+
+  const char* const filename = argv[kFileNameParam];
+  const string layout_name = FindLayoutNameFromFilename(filename);
+
+  // We want to generate Java language code to inflate exactly this layout. This means
+  // generating code to walk the resource XML too.
+
+  XMLDocument xml;
+  xml.LoadFile(filename);
+
+  std::ofstream outfile;
+  if (FLAGS_out != kStdoutFilename) {
+    outfile.open(FLAGS_out);
+  }
+  JavaLangViewBuilder builder{
+      FLAGS_package, layout_name, FLAGS_out == kStdoutFilename ? std::cout : outfile};
+
+  ViewCompilerXmlVisitor visitor{&builder};
+  xml.Accept(&visitor);
+
+  return 0;
+}
\ No newline at end of file
diff --git a/startop/tools/view_compiler/util.cc b/startop/tools/view_compiler/util.cc
new file mode 100644
index 0000000..69df41d
--- /dev/null
+++ b/startop/tools/view_compiler/util.cc
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+#include "util.h"
+
+using std::string;
+
+// TODO: see if we can borrow this from somewhere else, like aapt2.
+string FindLayoutNameFromFilename(const string& filename) {
+  size_t start = filename.rfind("/");
+  if (start == string::npos) {
+    start = 0;
+  } else {
+    start++;  // advance past '/' character
+  }
+  size_t end = filename.find(".", start);
+
+  return filename.substr(start, end - start);
+}
diff --git a/core/tests/webkit/apk_with_native_libs/src/com/google/android/xts/webview_list/WebViewLoadingTestClass.java b/startop/tools/view_compiler/util.h
similarity index 74%
rename from core/tests/webkit/apk_with_native_libs/src/com/google/android/xts/webview_list/WebViewLoadingTestClass.java
rename to startop/tools/view_compiler/util.h
index 0efa4b4..03e0939 100644
--- a/core/tests/webkit/apk_with_native_libs/src/com/google/android/xts/webview_list/WebViewLoadingTestClass.java
+++ b/startop/tools/view_compiler/util.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2017 The Android Open Source Project
+ * Copyright (C) 2018 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.
@@ -13,12 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+#ifndef UTIL_H_
+#define UTIL_H_
 
+#include <string>
 
-package com.android.webview.chromium;
+std::string FindLayoutNameFromFilename(const std::string& filename);
 
-/**
- * An empty class for testing purposes.
- */
-public class WebViewLoadingTestClass {
-}
+#endif  // UTIL_H_
diff --git a/startop/tools/view_compiler/util_test.cc b/startop/tools/view_compiler/util_test.cc
new file mode 100644
index 0000000..d1540d3
--- /dev/null
+++ b/startop/tools/view_compiler/util_test.cc
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+#include "util.h"
+
+#include "gtest/gtest.h"
+
+using std::string;
+
+TEST(UtilTest, FindLayoutNameFromFilename) {
+  EXPECT_EQ("bar", ::FindLayoutNameFromFilename("foo/bar.xml"));
+  EXPECT_EQ("bar", ::FindLayoutNameFromFilename("bar.xml"));
+  EXPECT_EQ("bar", ::FindLayoutNameFromFilename("./foo/bar.xml"));
+  EXPECT_EQ("bar", ::FindLayoutNameFromFilename("/foo/bar.xml"));
+}
diff --git a/telecomm/java/android/telecom/Call.java b/telecomm/java/android/telecom/Call.java
index 096cf37..08bc9bc 100644
--- a/telecomm/java/android/telecom/Call.java
+++ b/telecomm/java/android/telecom/Call.java
@@ -141,6 +141,8 @@
      * The caller must specify the {@link #EXTRA_HANDOVER_PHONE_ACCOUNT_HANDLE} to indicate to
      * Telecom which {@link PhoneAccountHandle} the {@link Call} should be handed over to.
      * @hide
+     * @deprecated Use {@link Call#handoverTo(PhoneAccountHandle, int, Bundle)} and its associated
+     * APIs instead.
      */
     public static final String EVENT_REQUEST_HANDOVER =
             "android.telecom.event.REQUEST_HANDOVER";
@@ -149,6 +151,8 @@
      * Extra key used with the {@link #EVENT_REQUEST_HANDOVER} call event.  Specifies the
      * {@link PhoneAccountHandle} to which a call should be handed over to.
      * @hide
+     * @deprecated Use {@link Call#handoverTo(PhoneAccountHandle, int, Bundle)} and its associated
+     * APIs instead.
      */
     public static final String EXTRA_HANDOVER_PHONE_ACCOUNT_HANDLE =
             "android.telecom.extra.HANDOVER_PHONE_ACCOUNT_HANDLE";
@@ -161,6 +165,8 @@
      * {@link VideoProfile#STATE_BIDIRECTIONAL}, {@link VideoProfile#STATE_RX_ENABLED}, and
      * {@link VideoProfile#STATE_TX_ENABLED}.
      * @hide
+     * @deprecated Use {@link Call#handoverTo(PhoneAccountHandle, int, Bundle)} and its associated
+     * APIs instead.
      */
     public static final String EXTRA_HANDOVER_VIDEO_STATE =
             "android.telecom.extra.HANDOVER_VIDEO_STATE";
@@ -176,6 +182,8 @@
      * {@link ConnectionService#onCreateOutgoingConnection(PhoneAccountHandle, ConnectionRequest)}
      * is called to initate the handover.
      * @hide
+     * @deprecated Use {@link Call#handoverTo(PhoneAccountHandle, int, Bundle)} and its associated
+     * APIs instead.
      */
     public static final String EXTRA_HANDOVER_EXTRAS = "android.telecom.extra.HANDOVER_EXTRAS";
 
@@ -186,6 +194,8 @@
      * <p>
      * A handover is initiated with the {@link #EVENT_REQUEST_HANDOVER} call event.
      * @hide
+     * @deprecated Use {@link Call#handoverTo(PhoneAccountHandle, int, Bundle)} and its associated
+     * APIs instead.
      */
     public static final String EVENT_HANDOVER_COMPLETE =
             "android.telecom.event.HANDOVER_COMPLETE";
@@ -198,6 +208,8 @@
      * <p>
      * A handover is initiated with the {@link #EVENT_REQUEST_HANDOVER} call event.
      * @hide
+     * @deprecated Use {@link Call#handoverTo(PhoneAccountHandle, int, Bundle)} and its associated
+     * APIs instead.
      */
     public static final String EVENT_HANDOVER_SOURCE_DISCONNECTED =
             "android.telecom.event.HANDOVER_SOURCE_DISCONNECTED";
@@ -209,6 +221,8 @@
      * <p>
      * A handover is initiated with the {@link #EVENT_REQUEST_HANDOVER} call event.
      * @hide
+     * @deprecated Use {@link Call#handoverTo(PhoneAccountHandle, int, Bundle)} and its associated
+     * APIs instead.
      */
     public static final String EVENT_HANDOVER_FAILED =
             "android.telecom.event.HANDOVER_FAILED";
@@ -434,8 +448,15 @@
          */
         public static final int PROPERTY_RTT = 0x00000400;
 
+        /**
+         * Indicates that the call has been identified as the network as an emergency call. This
+         * property may be set for both incoming and outgoing calls which the network identifies as
+         * emergency calls.
+         */
+        public static final int PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL = 0x00000800;
+
         //******************************************************************************************
-        // Next PROPERTY value: 0x00000800
+        // Next PROPERTY value: 0x00001000
         //******************************************************************************************
 
         private final String mTelecomCallId;
@@ -601,6 +622,9 @@
             if(hasProperty(properties, PROPERTY_ASSISTED_DIALING_USED)) {
                 builder.append(" PROPERTY_ASSISTED_DIALING_USED");
             }
+            if (hasProperty(properties, PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL)) {
+                builder.append(" PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL");
+            }
             builder.append("]");
             return builder.toString();
         }
diff --git a/telecomm/java/android/telecom/Conference.java b/telecomm/java/android/telecom/Conference.java
index 024bd30..a39e885 100644
--- a/telecomm/java/android/telecom/Conference.java
+++ b/telecomm/java/android/telecom/Conference.java
@@ -22,6 +22,8 @@
 import android.os.Bundle;
 import android.os.SystemClock;
 import android.telecom.Connection.VideoProvider;
+import android.telephony.ServiceState;
+import android.telephony.TelephonyManager;
 import android.util.ArraySet;
 
 import java.util.ArrayList;
@@ -573,6 +575,20 @@
     }
 
     /**
+     * Updates RIL voice radio technology used for current conference after its creation.
+     *
+     * @hide
+     */
+    public void updateCallRadioTechAfterCreation() {
+        final Connection primaryConnection = getPrimaryConnection();
+        if (primaryConnection != null) {
+            setCallRadioTech(primaryConnection.getCallRadioTech());
+        } else {
+            Log.w(this, "No primary connection found while updateCallRadioTechAfterCreation");
+        }
+    }
+
+    /**
      * @hide
      * @deprecated Use {@link #setConnectionTime}.
      */
@@ -652,6 +668,37 @@
     }
 
     /**
+     * Sets RIL voice radio technology used for current conference.
+     *
+     * @param vrat the RIL voice radio technology used for current conference,
+     *             see {@code RIL_RADIO_TECHNOLOGY_*} in {@link android.telephony.ServiceState}.
+     *
+     * @hide
+     */
+    public final void setCallRadioTech(@ServiceState.RilRadioTechnology int vrat) {
+        putExtra(TelecomManager.EXTRA_CALL_NETWORK_TYPE,
+                ServiceState.rilRadioTechnologyToNetworkType(vrat));
+    }
+
+    /**
+     * Returns RIL voice radio technology used for current conference.
+     *
+     * @return the RIL voice radio technology used for current conference,
+     *         see {@code RIL_RADIO_TECHNOLOGY_*} in {@link android.telephony.ServiceState}.
+     *
+     * @hide
+     */
+    public final @ServiceState.RilRadioTechnology int getCallRadioTech() {
+        int voiceNetworkType = TelephonyManager.NETWORK_TYPE_UNKNOWN;
+        Bundle extras = getExtras();
+        if (extras != null) {
+            voiceNetworkType = extras.getInt(TelecomManager.EXTRA_CALL_NETWORK_TYPE,
+                    TelephonyManager.NETWORK_TYPE_UNKNOWN);
+        }
+        return ServiceState.networkTypeToRilRadioTechnology(voiceNetworkType);
+    }
+
+    /**
      * Inform this Conference that the state of its audio output has been changed externally.
      *
      * @param state The new audio state.
diff --git a/telecomm/java/android/telecom/Connection.java b/telecomm/java/android/telecom/Connection.java
index 3d2b397..34603a3 100644
--- a/telecomm/java/android/telecom/Connection.java
+++ b/telecomm/java/android/telecom/Connection.java
@@ -38,6 +38,8 @@
 import android.os.ParcelFileDescriptor;
 import android.os.RemoteException;
 import android.os.SystemClock;
+import android.telephony.ServiceState;
+import android.telephony.TelephonyManager;
 import android.util.ArraySet;
 import android.view.Surface;
 
@@ -412,6 +414,13 @@
      */
     public static final int PROPERTY_ASSISTED_DIALING_USED = 1 << 9;
 
+    /**
+     * Set by the framework to indicate that the network has identified a Connection as an emergency
+     * call.
+     * @hide
+     */
+    public static final int PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL = 1 << 10;
+
     //**********************************************************************************************
     // Next PROPERTY value: 1<<10
     //**********************************************************************************************
@@ -585,6 +594,8 @@
      * {@link Call#EVENT_REQUEST_HANDOVER} that the handover from this {@link Connection} has
      * successfully completed.
      * @hide
+     * @deprecated Use {@link Call#handoverTo(PhoneAccountHandle, int, Bundle)} and its associated
+     * APIs instead.
      */
     public static final String EVENT_HANDOVER_COMPLETE =
             "android.telecom.event.HANDOVER_COMPLETE";
@@ -594,6 +605,8 @@
      * {@link Call#EVENT_REQUEST_HANDOVER} that the handover from this {@link Connection} has failed
      * to complete.
      * @hide
+     * @deprecated Use {@link Call#handoverTo(PhoneAccountHandle, int, Bundle)} and its associated
+     * APIs instead.
      */
     public static final String EVENT_HANDOVER_FAILED =
             "android.telecom.event.HANDOVER_FAILED";
@@ -801,6 +814,10 @@
             builder.append(isLong ? " PROPERTY_IS_RTT" : " rtt");
         }
 
+        if (can(properties, PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL)) {
+            builder.append(isLong ? " PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL" : " ecall");
+        }
+
         builder.append("]");
         return builder.toString();
     }
@@ -1885,6 +1902,24 @@
     }
 
     /**
+     * Returns RIL voice radio technology used for current connection.
+     *
+     * @return the RIL voice radio technology used for current connection,
+     *         see {@code RIL_RADIO_TECHNOLOGY_*} in {@link android.telephony.ServiceState}.
+     *
+     * @hide
+     */
+    public final @ServiceState.RilRadioTechnology int getCallRadioTech() {
+        int voiceNetworkType = TelephonyManager.NETWORK_TYPE_UNKNOWN;
+        Bundle extras = getExtras();
+        if (extras != null) {
+            voiceNetworkType = extras.getInt(TelecomManager.EXTRA_CALL_NETWORK_TYPE,
+                    TelephonyManager.NETWORK_TYPE_UNKNOWN);
+        }
+        return ServiceState.networkTypeToRilRadioTechnology(voiceNetworkType);
+    }
+
+    /**
      * @return The status hints for this connection.
      */
     public final StatusHints getStatusHints() {
@@ -2318,6 +2353,26 @@
     }
 
     /**
+     * Sets RIL voice radio technology used for current connection.
+     *
+     * @param vrat the RIL Voice Radio Technology used for current connection,
+     *             see {@code RIL_RADIO_TECHNOLOGY_*} in {@link android.telephony.ServiceState}.
+     *
+     * @hide
+     */
+    public final void setCallRadioTech(@ServiceState.RilRadioTechnology int vrat) {
+        putExtra(TelecomManager.EXTRA_CALL_NETWORK_TYPE,
+                ServiceState.rilRadioTechnologyToNetworkType(vrat));
+        // Propagates the call radio technology to its parent {@link android.telecom.Conference}
+        // This action only covers non-IMS CS conference calls.
+        // For IMS PS call conference call, it can be updated via its host connection
+        // {@link #Listener.onExtrasChanged} event.
+        if (getConference() != null) {
+            getConference().setCallRadioTech(vrat);
+        }
+    }
+
+    /**
      * Sets the label and icon status to display in the in-call UI.
      *
      * @param statusHints The status label and icon to set.
diff --git a/telecomm/java/android/telecom/ParcelableCall.java b/telecomm/java/android/telecom/ParcelableCall.java
index 8b0211e..3ad0f0c 100644
--- a/telecomm/java/android/telecom/ParcelableCall.java
+++ b/telecomm/java/android/telecom/ParcelableCall.java
@@ -18,6 +18,7 @@
 
 import android.annotation.UnsupportedAppUsage;
 import android.net.Uri;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -118,7 +119,7 @@
     }
 
     /** The unique ID of the call. */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public String getId() {
         return mId;
     }
diff --git a/telecomm/java/android/telecom/ParcelableCallAnalytics.java b/telecomm/java/android/telecom/ParcelableCallAnalytics.java
index 383d10b..bb066ad 100644
--- a/telecomm/java/android/telecom/ParcelableCallAnalytics.java
+++ b/telecomm/java/android/telecom/ParcelableCallAnalytics.java
@@ -195,6 +195,8 @@
         public static final int BLOCK_CHECK_FINISHED_TIMING = 9;
         public static final int FILTERING_COMPLETED_TIMING = 10;
         public static final int FILTERING_TIMED_OUT_TIMING = 11;
+        /** {@hide} */
+        public static final int START_CONNECTION_TO_REQUEST_DISCONNECT_TIMING = 12;
 
         public static final int INVALID = 999999;
 
@@ -256,6 +258,27 @@
     public static final int SIP_PHONE = 0x8;
     public static final int THIRD_PARTY_PHONE = 0x10;
 
+    /**
+     * Indicating the call source is not specified.
+     *
+     * @hide
+     */
+    public static final int CALL_SOURCE_UNSPECIFIED = 0;
+
+    /**
+     * Indicating the call is initiated via emergency dialer's dialpad.
+     *
+     * @hide
+     */
+    public static final int CALL_SOURCE_EMERGENCY_DIALPAD = 1;
+
+    /**
+     * Indicating the call is initiated via emergency dialer's shortcut button.
+     *
+     * @hide
+     */
+    public static final int CALL_SOURCE_EMERGENCY_SHORTCUT = 2;
+
     public static final long MILLIS_IN_5_MINUTES = 1000 * 60 * 5;
     public static final long MILLIS_IN_1_SECOND = 1000;
 
@@ -319,6 +342,9 @@
     // A list of video events that have occurred.
     private List<VideoEvent> videoEvents;
 
+    // The source where user initiated this call. ONE OF the CALL_SOURCE_* constants.
+    private int callSource = CALL_SOURCE_UNSPECIFIED;
+
     public ParcelableCallAnalytics(long startTimeMillis, long callDurationMillis, int callType,
             boolean isAdditionalCall, boolean isInterrupted, int callTechnologies,
             int callTerminationCode, boolean isEmergencyCall, String connectionService,
@@ -356,6 +382,7 @@
         isVideoCall = readByteAsBoolean(in);
         videoEvents = new LinkedList<>();
         in.readTypedList(videoEvents, VideoEvent.CREATOR);
+        callSource = in.readInt();
     }
 
     public void writeToParcel(Parcel out, int flags) {
@@ -373,6 +400,7 @@
         out.writeTypedList(eventTimings);
         writeBooleanAsByte(out, isVideoCall);
         out.writeTypedList(videoEvents);
+        out.writeInt(callSource);
     }
 
     /** {@hide} */
@@ -385,6 +413,11 @@
         this.videoEvents = videoEvents;
     }
 
+    /** {@hide} */
+    public void setCallSource(int callSource) {
+        this.callSource = callSource;
+    }
+
     public long getStartTimeMillis() {
         return startTimeMillis;
     }
@@ -443,6 +476,11 @@
         return videoEvents;
     }
 
+    /** {@hide} */
+    public int getCallSource() {
+        return callSource;
+    }
+
     @Override
     public int describeContents() {
         return 0;
diff --git a/telecomm/java/android/telecom/PhoneAccountHandle.java b/telecomm/java/android/telecom/PhoneAccountHandle.java
index 279804e..097e352 100644
--- a/telecomm/java/android/telecom/PhoneAccountHandle.java
+++ b/telecomm/java/android/telecom/PhoneAccountHandle.java
@@ -19,6 +19,7 @@
 import android.annotation.NonNull;
 import android.annotation.UnsupportedAppUsage;
 import android.content.ComponentName;
+import android.os.Build;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.os.Process;
@@ -43,7 +44,7 @@
 public final class PhoneAccountHandle implements Parcelable {
     @UnsupportedAppUsage
     private final ComponentName mComponentName;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final String mId;
     private final UserHandle mUserHandle;
 
diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java
index 48c1e24..8c37a21 100644
--- a/telecomm/java/android/telecom/TelecomManager.java
+++ b/telecomm/java/android/telecom/TelecomManager.java
@@ -317,6 +317,15 @@
             "android.telecom.extra.CALL_TECHNOLOGY_TYPE";
 
     /**
+     * Optional extra for communicating the call network technology used by a
+     * {@link android.telecom.Connection} to Telecom and InCallUI.
+     *
+     * @see {@code NETWORK_TYPE_*} in {@link android.telephony.TelephonyManager}.
+     */
+    public static final String EXTRA_CALL_NETWORK_TYPE =
+            "android.telecom.extra.CALL_NETWORK_TYPE";
+
+    /**
      * An optional {@link android.content.Intent#ACTION_CALL} intent extra denoting the
      * package name of the app specifying an alternative gateway for the call.
      * The value is a string.
@@ -622,6 +631,18 @@
             "android.telecom.extra.USE_ASSISTED_DIALING";
 
     /**
+     * Optional extra for {@link #placeCall(Uri, Bundle)} containing an integer that specifies
+     * the source where user initiated this call. This data is used in metrics.
+     * Valid source are:
+     * {@link ParcelableCallAnalytics#CALL_SOURCE_UNSPECIFIED},
+     * {@link ParcelableCallAnalytics#CALL_SOURCE_EMERGENCY_DIALPAD},
+     * {@link ParcelableCallAnalytics#CALL_SOURCE_EMERGENCY_SHORTCUT}.
+     *
+     * @hide
+     */
+    public static final String EXTRA_CALL_SOURCE = "android.telecom.extra.CALL_SOURCE";
+
+    /**
      * The following 4 constants define how properties such as phone numbers and names are
      * displayed to the user.
      */
@@ -1863,6 +1884,27 @@
         }
     }
 
+    /**
+     * Determines if there is an ongoing emergency call.  This can be either an outgoing emergency
+     * call, as identified by the dialed number, or because a call was identified by the network
+     * as an emergency call.
+     * @return {@code true} if there is an ongoing emergency call, {@code false} otherwise.
+     * @hide
+     */
+    @SystemApi
+    @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
+    public boolean isInEmergencyCall() {
+        try {
+            if (isServiceConnected()) {
+                return getTelecomService().isInEmergencyCall();
+            }
+        } catch (RemoteException e) {
+            Log.e(TAG, "RemoteException isInEmergencyCall: " + e);
+            return false;
+        }
+        return false;
+    }
+
     private ITelecomService getTelecomService() {
         if (mTelecomServiceOverride != null) {
             return mTelecomServiceOverride;
diff --git a/telecomm/java/com/android/internal/telecom/ITelecomService.aidl b/telecomm/java/com/android/internal/telecom/ITelecomService.aidl
index b4e7d56..38247bc 100644
--- a/telecomm/java/com/android/internal/telecom/ITelecomService.aidl
+++ b/telecomm/java/com/android/internal/telecom/ITelecomService.aidl
@@ -279,4 +279,9 @@
      * @see TelecomServiceImpl#acceptHandover
      */
     void acceptHandover(in Uri srcAddr, int videoState, in PhoneAccountHandle destAcct);
+
+    /**
+     * @see TelecomServiceImpl#isInEmergencyCall
+     */
+    boolean isInEmergencyCall();
 }
diff --git a/telephony/java/android/provider/Telephony.java b/telephony/java/android/provider/Telephony.java
index ed84788..4846092 100644
--- a/telephony/java/android/provider/Telephony.java
+++ b/telephony/java/android/provider/Telephony.java
@@ -30,6 +30,7 @@
 import android.database.Cursor;
 import android.database.sqlite.SqliteWrapper;
 import android.net.Uri;
+import android.os.Build;
 import android.telephony.Rlog;
 import android.telephony.ServiceState;
 import android.telephony.SmsMessage;
@@ -374,7 +375,7 @@
          * Return cursor for table query.
          * @hide
          */
-        @UnsupportedAppUsage
+        @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         public static Cursor query(ContentResolver cr, String[] projection,
                 String where, String orderBy) {
             return cr.query(CONTENT_URI, projection, where,
@@ -1232,6 +1233,17 @@
                           "android.provider.action.EXTERNAL_PROVIDER_CHANGE";
 
             /**
+             * Same as {@link #ACTION_DEFAULT_SMS_PACKAGE_CHANGED} but it's implicit (e.g. sent to
+             * all apps) and requires
+             * {@link android.Manifest.permission#MONITOR_DEFAULT_SMS_PACKAGE} to receive.
+             *
+             * @hide
+             */
+            @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
+            public static final String ACTION_DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL =
+                    "android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL";
+
+            /**
              * Read the PDUs out of an {@link #SMS_RECEIVED_ACTION} or a
              * {@link #DATA_SMS_RECEIVED_ACTION} intent.
              *
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java
index ffbe7d3..57b652e 100644
--- a/telephony/java/android/telephony/CarrierConfigManager.java
+++ b/telephony/java/android/telephony/CarrierConfigManager.java
@@ -271,6 +271,14 @@
             KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL = "hide_carrier_network_settings_bool";
 
     /**
+     * Do only allow auto selection in Advanced Network Settings when in home network.
+     * Manual selection is allowed when in roaming network.
+     * @hide
+     */
+    public static final String
+            KEY_ONLY_AUTO_SELECT_IN_HOME_NETWORK_BOOL = "only_auto_select_in_home_network";
+
+    /**
      * Control whether users receive a simplified network settings UI and improved network
      * selection.
      */
@@ -1070,6 +1078,16 @@
 
     /**
      * Indexes of SPN format strings in wfcSpnFormats and wfcDataSpnFormats.
+     *
+     * <p>Available options are:
+     * <ul>
+     * <li> 0: %s</li>
+     * <li> 1: %s Wi-Fi Calling</li>
+     * <li> 2: WLAN Call</li>
+     * <li> 3: %s WLAN Call</li>
+     * <li> 4: %s Wi-Fi</li>
+     * <li> 5: WiFi Calling | %s</li>
+     * <li> 6: %s VoWifi</li>
      * @hide
      */
     public static final String KEY_WFC_SPN_FORMAT_IDX_INT = "wfc_spn_format_idx_int";
@@ -1077,6 +1095,15 @@
     public static final String KEY_WFC_DATA_SPN_FORMAT_IDX_INT = "wfc_data_spn_format_idx_int";
 
     /**
+     * Use root locale when reading wfcSpnFormats.
+     *
+     * If true, then the root locale will always be used when reading wfcSpnFormats. This means the
+     * non localized version of wfcSpnFormats will be used.
+     * @hide
+     */
+    public static final String KEY_WFC_SPN_USE_ROOT_LOCALE = "wfc_spn_use_root_locale";
+
+    /**
      * The Component Name of the activity that can setup the emergency addrees for WiFi Calling
      * as per carrier requirement.
      * @hide
@@ -1947,6 +1974,17 @@
             "skip_cf_fail_to_disable_dialog_bool";
 
     /**
+     * Flag specifying whether operator supports including no reply condition timer option on
+     * CFNRy (3GPP TS 24.082 3: Call Forwarding on No Reply) in the call forwarding settings UI.
+     * {@code true}  - include no reply condition timer option on CFNRy
+     * {@code false} - don't include no reply condition timer option on CFNRy
+     *
+     * @hide
+     */
+    public static final String KEY_SUPPORT_NO_REPLY_TIMER_FOR_CFNRY_BOOL =
+            "support_no_reply_timer_for_cfnry_bool";
+
+    /**
      * List of the FAC (feature access codes) to dial as a normal call.
      * @hide
      */
@@ -2085,6 +2123,16 @@
     public static final String KEY_CONFIG_SHOW_ORIG_DIAL_STRING_FOR_CDMA_BOOL =
             "config_show_orig_dial_string_for_cdma";
 
+    /**
+     * Flag specifying whether to show notification(call blocking disabled) when Enhanced Call
+     * Blocking(KEY_SUPPORT_ENHANCED_CALL_BLOCKING_BOOL) is enabled and making emergency call.
+     * When true, notification is shown always.
+     * When false, notification is shown only when any setting of "Enhanced Blocked number" is
+     * enabled.
+     */
+    public static final String KEY_SHOW_CALL_BLOCKING_DISABLED_NOTIFICATION_ALWAYS_BOOL =
+            "show_call_blocking_disabled_notification_always_bool";
+
     /** The default value for every variable. */
     private final static PersistableBundle sDefaults;
 
@@ -2141,6 +2189,7 @@
         sDefaults.putBoolean(KEY_ENABLE_DIALER_KEY_VIBRATION_BOOL, true);
         sDefaults.putBoolean(KEY_HAS_IN_CALL_NOISE_SUPPRESSION_BOOL, false);
         sDefaults.putBoolean(KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL, false);
+        sDefaults.putBoolean(KEY_ONLY_AUTO_SELECT_IN_HOME_NETWORK_BOOL, false);
         sDefaults.putBoolean(KEY_SIMPLIFIED_NETWORK_SETTINGS_BOOL, false);
         sDefaults.putBoolean(KEY_HIDE_SIM_LOCK_SETTINGS_BOOL, false);
 
@@ -2263,6 +2312,7 @@
         sDefaults.putStringArray(KEY_WFC_OPERATOR_ERROR_CODES_STRING_ARRAY, null);
         sDefaults.putInt(KEY_WFC_SPN_FORMAT_IDX_INT, 0);
         sDefaults.putInt(KEY_WFC_DATA_SPN_FORMAT_IDX_INT, 0);
+        sDefaults.putBoolean(KEY_WFC_SPN_USE_ROOT_LOCALE, false);
         sDefaults.putString(KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING, "");
         sDefaults.putBoolean(KEY_CONFIG_WIFI_DISABLE_IN_ECBM, false);
         sDefaults.putBoolean(KEY_CARRIER_NAME_OVERRIDE_BOOL, false);
@@ -2272,7 +2322,7 @@
         sDefaults.putBoolean(KEY_SUPPORT_DIRECT_FDN_DIALING_BOOL, false);
         sDefaults.putBoolean(KEY_CARRIER_DEFAULT_DATA_ROAMING_ENABLED_BOOL, false);
         sDefaults.putBoolean(KEY_SKIP_CF_FAIL_TO_DISABLE_DIALOG_BOOL, false);
-        sDefaults.putBoolean(KEY_SUPPORT_ENHANCED_CALL_BLOCKING_BOOL, false);
+        sDefaults.putBoolean(KEY_SUPPORT_ENHANCED_CALL_BLOCKING_BOOL, true);
 
         // MMS defaults
         sDefaults.putBoolean(KEY_MMS_ALIAS_ENABLED_BOOL, false);
@@ -2398,6 +2448,7 @@
         sDefaults.putBoolean(KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL, false);
         sDefaults.putBoolean(KEY_RTT_SUPPORTED_BOOL, false);
         sDefaults.putBoolean(KEY_DISABLE_CHARGE_INDICATION_BOOL, false);
+        sDefaults.putBoolean(KEY_SUPPORT_NO_REPLY_TIMER_FOR_CFNRY_BOOL, true);
         sDefaults.putStringArray(KEY_FEATURE_ACCESS_CODES_STRING_ARRAY, null);
         sDefaults.putBoolean(KEY_IDENTIFY_HIGH_DEFINITION_CALLS_IN_CALL_LOG_BOOL, false);
         sDefaults.putBoolean(KEY_SHOW_PRECISE_FAILED_CAUSE_BOOL, false);
@@ -2421,6 +2472,7 @@
                 });
         sDefaults.putString(KEY_WCDMA_DEFAULT_SIGNAL_STRENGTH_MEASUREMENT_STRING, "");
         sDefaults.putBoolean(KEY_CONFIG_SHOW_ORIG_DIAL_STRING_FOR_CDMA_BOOL, false);
+        sDefaults.putBoolean(KEY_SHOW_CALL_BLOCKING_DISABLED_NOTIFICATION_ALWAYS_BOOL, false);
     }
 
     /**
diff --git a/telephony/java/android/telephony/MbmsGroupCallSession.java b/telephony/java/android/telephony/MbmsGroupCallSession.java
new file mode 100644
index 0000000..e373797
--- /dev/null
+++ b/telephony/java/android/telephony/MbmsGroupCallSession.java
@@ -0,0 +1,300 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.telephony;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.annotation.SdkConstant;
+import android.annotation.SystemApi;
+import android.annotation.TestApi;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.ServiceConnection;
+import android.os.IBinder;
+import android.os.RemoteException;
+import android.telephony.mbms.GroupCall;
+import android.telephony.mbms.GroupCallCallback;
+import android.telephony.mbms.InternalGroupCallCallback;
+import android.telephony.mbms.InternalGroupCallSessionCallback;
+import android.telephony.mbms.MbmsErrors;
+import android.telephony.mbms.MbmsGroupCallSessionCallback;
+import android.telephony.mbms.MbmsUtils;
+import android.telephony.mbms.vendor.IMbmsGroupCallService;
+import android.util.ArraySet;
+import android.util.Log;
+
+import java.util.Set;
+import java.util.concurrent.Executor;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicReference;
+
+/**
+ * This class provides functionality for accessing group call functionality over MBMS.
+ */
+public class MbmsGroupCallSession implements AutoCloseable {
+    private static final String LOG_TAG = "MbmsGroupCallSession";
+
+    /**
+     * Service action which must be handled by the middleware implementing the MBMS group call
+     * interface.
+     * @hide
+     */
+    @SystemApi
+    @SdkConstant(SdkConstant.SdkConstantType.SERVICE_ACTION)
+    public static final String MBMS_GROUP_CALL_SERVICE_ACTION =
+            "android.telephony.action.EmbmsGroupCall";
+
+    /**
+     * Metadata key that specifies the component name of the service to bind to for group calls.
+     * @hide
+     */
+    @TestApi
+    public static final String MBMS_GROUP_CALL_SERVICE_OVERRIDE_METADATA =
+            "mbms-group-call-service-override";
+
+    private static AtomicBoolean sIsInitialized = new AtomicBoolean(false);
+
+    private AtomicReference<IMbmsGroupCallService> mService = new AtomicReference<>(null);
+    private IBinder.DeathRecipient mDeathRecipient = new IBinder.DeathRecipient() {
+        @Override
+        public void binderDied() {
+            sIsInitialized.set(false);
+            mInternalCallback.onError(MbmsErrors.ERROR_MIDDLEWARE_LOST,
+                    "Received death notification");
+        }
+    };
+
+    private InternalGroupCallSessionCallback mInternalCallback;
+    private Set<GroupCall> mKnownActiveGroupCalls = new ArraySet<>();
+
+    private final Context mContext;
+    private int mSubscriptionId;
+
+    /** @hide */
+    private MbmsGroupCallSession(Context context, Executor executor, int subscriptionId,
+            MbmsGroupCallSessionCallback callback) {
+        mContext = context;
+        mSubscriptionId = subscriptionId;
+        mInternalCallback = new InternalGroupCallSessionCallback(callback, executor);
+    }
+
+    /**
+     * Create a new {@link MbmsGroupCallSession} using the given subscription ID.
+     *
+     * You may only have one instance of {@link MbmsGroupCallSession} per UID. If you call this
+     * method while there is an active instance of {@link MbmsGroupCallSession} in your process
+     * (in other words, one that has not had {@link #close()} called on it), this method will
+     * throw an {@link IllegalStateException}. If you call this method in a different process
+     * running under the same UID, an error will be indicated via
+     * {@link MbmsGroupCallSessionCallback#onError(int, String)}.
+     *
+     * Note that initialization may fail asynchronously. If you wish to try again after you
+     * receive such an asynchronous error, you must call {@link #close()} on the instance of
+     * {@link MbmsGroupCallSession} that you received before calling this method again.
+     *
+     * @param context The {@link Context} to use.
+     * @param executor The executor on which you wish to execute callbacks.
+     * @param subscriptionId The subscription ID to use.
+     * @param callback A callback object on which you wish to receive results of asynchronous
+     *                 operations.
+     * @return An instance of {@link MbmsGroupCallSession}, or null if an error occurred.
+     */
+    public static @Nullable MbmsGroupCallSession create(@NonNull Context context,
+            @NonNull Executor executor, int subscriptionId,
+            final @NonNull MbmsGroupCallSessionCallback callback) {
+        if (!sIsInitialized.compareAndSet(false, true)) {
+            throw new IllegalStateException("Cannot create two instances of MbmsGroupCallSession");
+        }
+        MbmsGroupCallSession session = new MbmsGroupCallSession(context, executor,
+                subscriptionId, callback);
+
+        final int result = session.bindAndInitialize();
+        if (result != MbmsErrors.SUCCESS) {
+            sIsInitialized.set(false);
+            executor.execute(new Runnable() {
+                @Override
+                public void run() {
+                    callback.onError(result, null);
+                }
+            });
+            return null;
+        }
+        return session;
+    }
+
+    /**
+     * Create a new {@link MbmsGroupCallSession} using the system default data subscription ID.
+     * See {@link #create(Context, Executor, int, MbmsGroupCallSessionCallback)}.
+     */
+    public static MbmsGroupCallSession create(@NonNull Context context,
+            @NonNull Executor executor, @NonNull MbmsGroupCallSessionCallback callback) {
+        return create(context, executor, SubscriptionManager.getDefaultSubscriptionId(), callback);
+    }
+
+    /**
+     * Terminates this instance. Also terminates
+     * any group calls spawned from this instance as if
+     * {@link GroupCall#close()} had been called on them. After this method returns,
+     * no further callbacks originating from the middleware will be enqueued on the provided
+     * instance of {@link MbmsGroupCallSessionCallback}, but callbacks that have already been
+     * enqueued will still be delivered.
+     *
+     * It is safe to call {@link #create(Context, Executor, int, MbmsGroupCallSessionCallback)} to
+     * obtain another instance of {@link MbmsGroupCallSession} immediately after this method
+     * returns.
+     *
+     * May throw an {@link IllegalStateException}
+     */
+    public void close() {
+        try {
+            IMbmsGroupCallService groupCallService = mService.get();
+            if (groupCallService == null) {
+                // Ignore and return, assume already disposed.
+                return;
+            }
+            groupCallService.dispose(mSubscriptionId);
+            for (GroupCall s : mKnownActiveGroupCalls) {
+                s.getCallback().stop();
+            }
+            mKnownActiveGroupCalls.clear();
+        } catch (RemoteException e) {
+            // Ignore for now
+        } finally {
+            mService.set(null);
+            sIsInitialized.set(false);
+            mInternalCallback.stop();
+        }
+    }
+
+    /**
+     * Starts the requested group call, reporting status to the indicated callback.
+     * Returns an object used to control that call.
+     *
+     * May throw an {@link IllegalArgumentException} or an {@link IllegalStateException}
+     *
+     * Asynchronous errors through the callback include any of the errors in
+     * {@link MbmsErrors.GeneralErrors}.
+     *
+     * @param executor The executor on which you wish to execute callbacks for this stream.
+     * @param tmgi The TMGI, an identifier for the group call you want to join.
+     * @param saiArray An array of SAIs for the group call that should be negotiated separately with
+     *                the carrier.
+     * @param frequencyArray An array of frequencies for the group call that should be negotiated
+     *                separately with the carrier.
+     * @param callback The callback that you want to receive information about the call on.
+     * @return An instance of {@link GroupCall} through which the call can be controlled.
+     *         May be {@code null} if an error occurred.
+     */
+    public @Nullable GroupCall startGroupCall(@NonNull Executor executor, long tmgi, int[] saiArray,
+            int[] frequencyArray, @NonNull GroupCallCallback callback) {
+        IMbmsGroupCallService groupCallService = mService.get();
+        if (groupCallService == null) {
+            throw new IllegalStateException("Middleware not yet bound");
+        }
+
+        InternalGroupCallCallback serviceCallback = new InternalGroupCallCallback(
+                callback, executor);
+
+        GroupCall serviceForApp = new GroupCall(mSubscriptionId,
+                groupCallService, this, tmgi, serviceCallback);
+        mKnownActiveGroupCalls.add(serviceForApp);
+
+        try {
+            int returnCode = groupCallService.startGroupCall(
+                    mSubscriptionId, tmgi, saiArray, frequencyArray, serviceCallback);
+            if (returnCode == MbmsErrors.UNKNOWN) {
+                // Unbind and throw an obvious error
+                close();
+                throw new IllegalStateException("Middleware must not return an unknown error code");
+            }
+            if (returnCode != MbmsErrors.SUCCESS) {
+                mInternalCallback.onError(returnCode, null);
+                return null;
+            }
+        } catch (RemoteException e) {
+            Log.w(LOG_TAG, "Remote process died");
+            mService.set(null);
+            sIsInitialized.set(false);
+            mInternalCallback.onError(MbmsErrors.ERROR_MIDDLEWARE_LOST, null);
+            return null;
+        }
+
+        return serviceForApp;
+    }
+
+    /** @hide */
+    public void onGroupCallStopped(GroupCall service) {
+        mKnownActiveGroupCalls.remove(service);
+    }
+
+    private int bindAndInitialize() {
+        return MbmsUtils.startBinding(mContext, MBMS_GROUP_CALL_SERVICE_ACTION,
+                new ServiceConnection() {
+                    @Override
+                    public void onServiceConnected(ComponentName name, IBinder service) {
+                        IMbmsGroupCallService groupCallService =
+                                IMbmsGroupCallService.Stub.asInterface(service);
+                        int result;
+                        try {
+                            result = groupCallService.initialize(mInternalCallback,
+                                    mSubscriptionId);
+                        } catch (RemoteException e) {
+                            Log.e(LOG_TAG, "Service died before initialization");
+                            mInternalCallback.onError(
+                                    MbmsErrors.InitializationErrors.ERROR_UNABLE_TO_INITIALIZE,
+                                    e.toString());
+                            sIsInitialized.set(false);
+                            return;
+                        } catch (RuntimeException e) {
+                            Log.e(LOG_TAG, "Runtime exception during initialization");
+                            mInternalCallback.onError(
+                                    MbmsErrors.InitializationErrors.ERROR_UNABLE_TO_INITIALIZE,
+                                    e.toString());
+                            sIsInitialized.set(false);
+                            return;
+                        }
+                        if (result == MbmsErrors.UNKNOWN) {
+                            // Unbind and throw an obvious error
+                            close();
+                            throw new IllegalStateException("Middleware must not return"
+                                    + " an unknown error code");
+                        }
+                        if (result != MbmsErrors.SUCCESS) {
+                            mInternalCallback.onError(result,
+                                    "Error returned during initialization");
+                            sIsInitialized.set(false);
+                            return;
+                        }
+                        try {
+                            groupCallService.asBinder().linkToDeath(mDeathRecipient, 0);
+                        } catch (RemoteException e) {
+                            mInternalCallback.onError(MbmsErrors.ERROR_MIDDLEWARE_LOST,
+                                    "Middleware lost during initialization");
+                            sIsInitialized.set(false);
+                            return;
+                        }
+                        mService.set(groupCallService);
+                    }
+
+                    @Override
+                    public void onServiceDisconnected(ComponentName name) {
+                        sIsInitialized.set(false);
+                        mService.set(null);
+                    }
+                });
+    }
+}
diff --git a/telephony/java/android/telephony/NeighboringCellInfo.java b/telephony/java/android/telephony/NeighboringCellInfo.java
index 8e99518..5e4518f 100644
--- a/telephony/java/android/telephony/NeighboringCellInfo.java
+++ b/telephony/java/android/telephony/NeighboringCellInfo.java
@@ -32,7 +32,11 @@
 /**
  * Represents the neighboring cell information, including
  * Received Signal Strength and Cell ID location.
+ *
+ * @deprecated This class should not be used by anyone targeting SDK level 29 (Q) or higher.
+ *      Instead callers should use {@Link android.telephony.CellInfo}.
  */
+@Deprecated
 public class NeighboringCellInfo implements Parcelable
 {
     /**
diff --git a/telephony/java/android/telephony/NetworkScan.java b/telephony/java/android/telephony/NetworkScan.java
index 7c7d7a0..202da68 100644
--- a/telephony/java/android/telephony/NetworkScan.java
+++ b/telephony/java/android/telephony/NetworkScan.java
@@ -16,11 +16,10 @@
 
 package android.telephony;
 
+import android.annotation.IntDef;
 import android.content.Context;
 import android.os.RemoteException;
 import android.os.ServiceManager;
-import android.annotation.IntDef;
-import android.util.Log;
 
 import com.android.internal.telephony.ITelephony;
 
@@ -113,6 +112,8 @@
         }
         try {
             telephony.stopNetworkScan(mSubId, mScanId);
+        } catch (IllegalArgumentException ex) {
+            Rlog.d(TAG,  "stopNetworkScan - no active scan for ScanID=" + mScanId);
         } catch (RemoteException ex) {
             Rlog.e(TAG, "stopNetworkScan  RemoteException", ex);
         } catch (RuntimeException ex) {
diff --git a/telephony/java/android/telephony/PhoneStateListener.java b/telephony/java/android/telephony/PhoneStateListener.java
index 498be96..3ea018a 100644
--- a/telephony/java/android/telephony/PhoneStateListener.java
+++ b/telephony/java/android/telephony/PhoneStateListener.java
@@ -281,6 +281,16 @@
      */
     public static final int LISTEN_PHONE_CAPABILITY_CHANGE                 = 0x00200000;
 
+    /**
+     *  Listen for changes to preferred data subId.
+     *  See {@link SubscriptionManager#setPreferredData(int)}
+     *  for more details.
+     *
+     *  @see #onPreferredDataSubIdChanged
+     *  @hide
+     */
+    public static final int LISTEN_PREFERRED_DATA_SUBID_CHANGE              = 0x00400000;
+
     /*
      * Subscription used to listen to the phone state changes
      * @hide
@@ -407,6 +417,9 @@
                         PhoneStateListener.this.onPhoneCapabilityChanged(
                                 (PhoneCapability) msg.obj);
                         break;
+                    case LISTEN_PREFERRED_DATA_SUBID_CHANGE:
+                        PhoneStateListener.this.onPreferredDataSubIdChanged((int) msg.obj);
+                        break;
                 }
             }
         };
@@ -647,6 +660,18 @@
     }
 
     /**
+     * Callback invoked when preferred data subId changes. Requires
+     * the READ_PRIVILEGED_PHONE_STATE permission.
+     * @param subId the new preferred data subId. If it's INVALID_SUBSCRIPTION_ID,
+     *              it means it's unset and defaultDataSub is used to determine which
+     *              modem is preferred.
+     * @hide
+     */
+    public void onPreferredDataSubIdChanged(int subId) {
+        // default implementation empty
+    }
+
+    /**
      * Callback invoked when telephony has received notice from a carrier
      * app that a network action that could result in connectivity loss
      * has been requested by an app using
@@ -777,6 +802,11 @@
         public void onPhoneCapabilityChanged(PhoneCapability capability) {
             send(LISTEN_PHONE_CAPABILITY_CHANGE, 0, 0, capability);
         }
+
+        public void onPreferredDataSubIdChanged(int subId) {
+            send(LISTEN_PREFERRED_DATA_SUBID_CHANGE, 0, 0, subId);
+        }
+
     }
 
     /**
diff --git a/telephony/java/android/telephony/SmsMessage.java b/telephony/java/android/telephony/SmsMessage.java
index 91e24a9..e40bae1 100644
--- a/telephony/java/android/telephony/SmsMessage.java
+++ b/telephony/java/android/telephony/SmsMessage.java
@@ -603,7 +603,7 @@
 
     /**
      * Returns the message body as a String, if it exists and is text based.
-     * @return message body is there is one, otherwise null
+     * @return message body if there is one, otherwise null
      */
     public String getMessageBody() {
         return mWrappedSmsMessage.getMessageBody();
diff --git a/telephony/java/android/telephony/SubscriptionInfo.java b/telephony/java/android/telephony/SubscriptionInfo.java
index ec26622..22c1e58 100644
--- a/telephony/java/android/telephony/SubscriptionInfo.java
+++ b/telephony/java/android/telephony/SubscriptionInfo.java
@@ -33,11 +33,13 @@
 import android.os.Build;
 import android.os.Parcel;
 import android.os.Parcelable;
+import android.text.TextUtils;
 import android.util.DisplayMetrics;
 import android.util.Log;
 
 import java.util.Arrays;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * A Parcelable class for Subscription Information.
@@ -552,11 +554,49 @@
         String cardIdToPrint = givePrintableIccid(mCardId);
         return "{id=" + mId + ", iccId=" + iccIdToPrint + " simSlotIndex=" + mSimSlotIndex
                 + " displayName=" + mDisplayName + " carrierName=" + mCarrierName
-                + " nameSource=" + mNameSource + " iconTint=" + mIconTint
+                + " nameSource=" + mNameSource + " iconTint=" + mIconTint + " mNumber=" + mNumber
                 + " dataRoaming=" + mDataRoaming + " iconBitmap=" + mIconBitmap + " mcc " + mMcc
-                + " mnc " + mMnc + " isEmbedded " + mIsEmbedded
+                + " mnc " + mMnc + "mCountryIso=" + mCountryIso + " isEmbedded " + mIsEmbedded
                 + " accessRules " + Arrays.toString(mAccessRules)
                 + " cardId=" + cardIdToPrint + " isOpportunistic " + mIsOpportunistic
                 + " parentSubId=" + mParentSubId + "}";
     }
-}
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(mId, mSimSlotIndex, mNameSource, mIconTint, mDataRoaming, mIsEmbedded,
+                mIsOpportunistic, mParentSubId, mIccId, mNumber, mMcc, mMnc, mCountryIso,
+                mCardId, mDisplayName, mCarrierName, mAccessRules);
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (obj == null) return false;
+        if (obj == this) return true;
+
+        SubscriptionInfo toCompare;
+        try {
+            toCompare = (SubscriptionInfo) obj;
+        } catch (ClassCastException ex) {
+            return false;
+        }
+
+        return mId == toCompare.mId
+                && mSimSlotIndex == toCompare.mSimSlotIndex
+                && mNameSource == toCompare.mNameSource
+                && mIconTint == toCompare.mIconTint
+                && mDataRoaming == toCompare.mDataRoaming
+                && mIsEmbedded == toCompare.mIsEmbedded
+                && mIsOpportunistic == toCompare.mIsOpportunistic
+                && mParentSubId == toCompare.mParentSubId
+                && Objects.equals(mIccId, toCompare.mIccId)
+                && Objects.equals(mNumber, toCompare.mNumber)
+                && Objects.equals(mMcc, toCompare.mMcc)
+                && Objects.equals(mMnc, toCompare.mMnc)
+                && Objects.equals(mCountryIso, toCompare.mCountryIso)
+                && Objects.equals(mCardId, toCompare.mCardId)
+                && TextUtils.equals(mDisplayName, toCompare.mDisplayName)
+                && TextUtils.equals(mCarrierName, toCompare.mCarrierName)
+                && Arrays.equals(mAccessRules, toCompare.mAccessRules);
+    }
+}
\ No newline at end of file
diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java
index 1d9e605..cc143d6 100644
--- a/telephony/java/android/telephony/SubscriptionManager.java
+++ b/telephony/java/android/telephony/SubscriptionManager.java
@@ -41,6 +41,7 @@
 import android.net.INetworkPolicyManager;
 import android.net.NetworkCapabilities;
 import android.net.Uri;
+import android.os.Build;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
@@ -59,6 +60,7 @@
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
+import java.util.Locale;
 import java.util.concurrent.Executor;
 import java.util.concurrent.TimeUnit;
 
@@ -84,9 +86,8 @@
     /** @hide */
     public static final int INVALID_PHONE_INDEX = -1;
 
-    /** An invalid slot identifier */
-    /** @hide */
-    public static final int INVALID_SIM_SLOT_INDEX = -1;
+    /** Indicates invalid sim slot. This can be returned by {@link #getSlotIndex(int)}. */
+    public static final int INVALID_SIM_SLOT_INDEX = -2;
 
     /** Indicates the caller wants the default sub id. */
     /** @hide */
@@ -137,9 +138,8 @@
     /** @hide */
     public static final String SIM_SLOT_INDEX = "sim_id";
 
-    /** SIM is not inserted */
-    /** @hide */
-    public static final int SIM_NOT_INSERTED = -1;
+    /** Indicates SIM is not inserted. This can be returned by {@link #getSlotIndex(int)}. */
+    public static final int SIM_NOT_INSERTED = -3;
 
     /**
      * TelephonyProvider column name for user displayed name.
@@ -191,7 +191,7 @@
      * The name_source is from the user
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public static final int NAME_SOURCE_USER_INPUT = 2;
 
     /**
@@ -1262,16 +1262,22 @@
 
     /**
      * Get slotIndex associated with the subscription.
-     * @return slotIndex as a positive integer or a negative value if an error either
-     * SIM_NOT_INSERTED or < 0 if an invalid slot index
-     * @hide
+     *
+     * @param subscriptionId the unique SubscriptionInfo index in database
+     * @return slotIndex as a positive integer or a negative value,
+     * <ol>
+     * <li>{@link #INVALID_SUBSCRIPTION_ID} if the supplied subscriptionId is invalid </li>
+     * <li>{@link #SIM_NOT_INSERTED} if sim is not inserted </li>
+     * <li>{@link #INVALID_SIM_SLOT_INDEX} if the supplied subscriptionId doesn't have an
+     *     associated slot index </li>
+     * </ol>
      */
-    @UnsupportedAppUsage
-    public static int getSlotIndex(int subId) {
-        if (!isValidSubscriptionId(subId)) {
+    public static int getSlotIndex(int subscriptionId) {
+        if (!isValidSubscriptionId(subscriptionId)) {
             if (DBG) {
-                logd("[getSlotIndex]- fail");
+                logd("[getSlotIndex]- supplied subscriptionId is invalid. ");
             }
+            return INVALID_SUBSCRIPTION_ID;
         }
 
         int result = INVALID_SIM_SLOT_INDEX;
@@ -1279,7 +1285,7 @@
         try {
             ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
             if (iSub != null) {
-                result = iSub.getSlotIndex(subId);
+                result = iSub.getSlotIndex(subscriptionId);
             }
         } catch (RemoteException ex) {
             // ignore it
@@ -1589,12 +1595,14 @@
     }
 
     /**
-     * @return true if a valid subId else false
-     * @hide
+     * Checks if the supplied subscription ID is valid.
+     * Note: a valid subscription ID does not necessarily correspond to an active subscription.
+     *
+     * @param subscriptionId The subscription ID.
+     * @return true if the supplied subscriptionId is valid; false otherwise.
      */
-    @UnsupportedAppUsage
-    public static boolean isValidSubscriptionId(int subId) {
-        return subId > INVALID_SUBSCRIPTION_ID ;
+    public static boolean isValidSubscriptionId(int subscriptionId) {
+        return subscriptionId > INVALID_SUBSCRIPTION_ID;
     }
 
     /**
@@ -1608,7 +1616,7 @@
     }
 
     /** @hide */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public static boolean isValidSlotIndex(int slotIndex) {
         return slotIndex >= 0 && slotIndex < TelephonyManager.getDefault().getSimCount();
     }
@@ -1808,6 +1816,19 @@
      */
     @UnsupportedAppUsage
     public static Resources getResourcesForSubId(Context context, int subId) {
+        return getResourcesForSubId(context, subId, false);
+    }
+
+    /**
+     * Returns the resources associated with Subscription.
+     * @param context Context object
+     * @param subId Subscription Id of Subscription who's resources are required
+     * @param useRootLocale if root locale should be used. Localized locale is used if false.
+     * @return Resources associated with Subscription.
+     * @hide
+     */
+    public static Resources getResourcesForSubId(Context context, int subId,
+            boolean useRootLocale) {
         final SubscriptionInfo subInfo =
                 SubscriptionManager.from(context).getActiveSubscriptionInfo(subId);
 
@@ -1819,6 +1840,11 @@
             newConfig.mnc = subInfo.getMnc();
             if (newConfig.mnc == 0) newConfig.mnc = Configuration.MNC_ZERO;
         }
+
+        if (useRootLocale) {
+            newConfig.setLocale(Locale.ROOT);
+        }
+
         DisplayMetrics metrics = context.getResources().getDisplayMetrics();
         DisplayMetrics newMetrics = new DisplayMetrics();
         newMetrics.setTo(metrics);
@@ -1826,6 +1852,19 @@
     }
 
     /**
+     * Checks if the supplied subscription ID corresponds to an active subscription.
+     *
+     * @param subscriptionId the subscription ID.
+     * @return {@code true} if the supplied subscription ID corresponds to an active subscription;
+     * {@code false} if it does not correspond to an active subscription; or throw a
+     * SecurityException if the caller hasn't got the right permission.
+     */
+    @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
+    public boolean isActiveSubscriptionId(int subscriptionId) {
+        return isActiveSubId(subscriptionId);
+    }
+
+    /**
      * @return true if the sub ID is active. i.e. The sub ID corresponds to a known subscription
      * and the SIM providing the subscription is present in a slot and in "LOADED" state.
      * @hide
@@ -1835,7 +1874,7 @@
         try {
             ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
             if (iSub != null) {
-                return iSub.isActiveSubId(subId);
+                return iSub.isActiveSubId(subId, mContext.getOpPackageName());
             }
         } catch (RemoteException ex) {
         }
@@ -2114,9 +2153,15 @@
 
     /**
      * Set preferred default data.
-     * Set on which slot default data will be on.
+     * Set on which slot most cellular data will be on.
+     * It's also usually what we set up internet connection on.
      *
-     * @param slotId which slot is preferred to for cellular data.
+     * PreferredData overwrites user setting of default data subscription. And it's used
+     * by AlternativeNetworkAccessService or carrier apps to switch primary and CBRS
+     * subscription dynamically in multi-SIM devices.
+     *
+     * @param slotId which slot is preferred to for cellular data. If it's INVALID, it means
+     *               it's unset and defaultDataSubId is used to determine which modem is preferred.
      * @hide
      *
      */
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index 2ac0afe..ea9ac39 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -16,6 +16,8 @@
 
 package android.telephony;
 
+import static android.content.Context.TELECOM_SERVICE;
+
 import static com.android.internal.util.Preconditions.checkNotNull;
 
 import android.annotation.IntDef;
@@ -39,6 +41,7 @@
 import android.net.Uri;
 import android.os.AsyncTask;
 import android.os.BatteryStats;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.PersistableBundle;
@@ -68,6 +71,7 @@
 import com.android.internal.telephony.IPhoneSubInfo;
 import com.android.internal.telephony.ITelephony;
 import com.android.internal.telephony.ITelephonyRegistry;
+import com.android.internal.telephony.OperatorInfo;
 import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.telephony.RILConstants;
 import com.android.internal.telephony.TelephonyProperties;
@@ -702,7 +706,7 @@
      */
     @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
     @Deprecated
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public static final String ACTION_PRECISE_DATA_CONNECTION_STATE_CHANGED =
             "android.intent.action.PRECISE_DATA_CONNECTION_STATE_CHANGED";
 
@@ -1199,6 +1203,15 @@
             "android.intent.action.DATA_STALL_DETECTED";
 
     /**
+     * A service action that identifies a {@link android.app.SmsAppService} subclass in the
+     * AndroidManifest.xml.
+     *
+     * <p>See {@link android.app.SmsAppService} for the details.
+     */
+    @SdkConstant(SdkConstantType.SERVICE_ACTION)
+    public static final String ACTION_SMS_APP_SERVICE = "android.telephony.action.SMS_APP_SERVICE";
+
+    /**
      * An int extra used with {@link #ACTION_DATA_STALL_DETECTED} to indicate the
      * action associated with the data stall recovery.
      *
@@ -1499,23 +1512,24 @@
                 Rlog.d(TAG, "getCellLocation returning null because telephony is null");
                 return null;
             }
+
             Bundle bundle = telephony.getCellLocation(mContext.getOpPackageName());
-            if (bundle.isEmpty()) {
-                Rlog.d(TAG, "getCellLocation returning null because bundle is empty");
+            if (bundle == null || bundle.isEmpty()) {
+                Rlog.d(TAG, "getCellLocation returning null because CellLocation is unavailable");
                 return null;
             }
+
             CellLocation cl = CellLocation.newFromBundle(bundle);
-            if (cl.isEmpty()) {
-                Rlog.d(TAG, "getCellLocation returning null because CellLocation is empty");
+            if (cl == null || cl.isEmpty()) {
+                Rlog.d(TAG, "getCellLocation returning null because CellLocation is empty or"
+                        + " phone type doesn't match CellLocation type");
                 return null;
             }
+
             return cl;
         } catch (RemoteException ex) {
             Rlog.d(TAG, "getCellLocation returning null due to RemoteException " + ex);
             return null;
-        } catch (NullPointerException ex) {
-            Rlog.d(TAG, "getCellLocation returning null due to NullPointerException " + ex);
-            return null;
         }
     }
 
@@ -1576,6 +1590,7 @@
      *
      * @return List of NeighboringCellInfo or null if info unavailable.
      *
+     * @removed
      * @deprecated Use {@link #getAllCellInfo} which returns a superset of the information
      *             from NeighboringCellInfo, including LTE cell information.
      */
@@ -1690,7 +1705,7 @@
     }
 
     /** {@hide} */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private int getPhoneTypeFromProperty(int phoneId) {
         String type = getTelephonyProperty(phoneId,
                 TelephonyProperties.CURRENT_ACTIVE_PHONE, null);
@@ -2088,10 +2103,37 @@
 
     /** Max network type number. Update as new types are added. Don't add negative types. {@hide} */
     public static final int MAX_NETWORK_TYPE = NETWORK_TYPE_LTE_CA;
+
+    /** @hide */
+    @IntDef({
+            NETWORK_TYPE_UNKNOWN,
+            NETWORK_TYPE_GPRS,
+            NETWORK_TYPE_EDGE,
+            NETWORK_TYPE_UMTS,
+            NETWORK_TYPE_CDMA,
+            NETWORK_TYPE_EVDO_0,
+            NETWORK_TYPE_EVDO_A,
+            NETWORK_TYPE_1xRTT,
+            NETWORK_TYPE_HSDPA,
+            NETWORK_TYPE_HSUPA,
+            NETWORK_TYPE_HSPA,
+            NETWORK_TYPE_IDEN,
+            NETWORK_TYPE_EVDO_B,
+            NETWORK_TYPE_LTE,
+            NETWORK_TYPE_EHRPD,
+            NETWORK_TYPE_HSPAP,
+            NETWORK_TYPE_GSM,
+            NETWORK_TYPE_TD_SCDMA,
+            NETWORK_TYPE_IWLAN,
+            NETWORK_TYPE_LTE_CA,
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface NetworkType{}
+
     /**
      * @return the NETWORK_TYPE_xxxx for current data connection.
      */
-    public int getNetworkType() {
+    public @NetworkType int getNetworkType() {
        try {
            ITelephony telephony = getITelephony();
            if (telephony != null) {
@@ -2136,24 +2178,24 @@
      * @hide
      */
     @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
-   @UnsupportedAppUsage
-   public int getNetworkType(int subId) {
-       try {
-           ITelephony telephony = getITelephony();
-           if (telephony != null) {
-               return telephony.getNetworkTypeForSubscriber(subId, getOpPackageName());
-           } else {
-               // This can happen when the ITelephony interface is not up yet.
-               return NETWORK_TYPE_UNKNOWN;
-           }
-       } catch(RemoteException ex) {
-           // This shouldn't happen in the normal case
-           return NETWORK_TYPE_UNKNOWN;
-       } catch (NullPointerException ex) {
-           // This could happen before phone restarts due to crashing
-           return NETWORK_TYPE_UNKNOWN;
-       }
-   }
+    @UnsupportedAppUsage
+    public int getNetworkType(int subId) {
+        try {
+            ITelephony telephony = getITelephony();
+            if (telephony != null) {
+                return telephony.getNetworkTypeForSubscriber(subId, getOpPackageName());
+            } else {
+                // This can happen when the ITelephony interface is not up yet.
+                return NETWORK_TYPE_UNKNOWN;
+            }
+        } catch (RemoteException ex) {
+            // This shouldn't happen in the normal case
+            return NETWORK_TYPE_UNKNOWN;
+        } catch (NullPointerException ex) {
+            // This could happen before phone restarts due to crashing
+            return NETWORK_TYPE_UNKNOWN;
+        }
+    }
 
     /**
      * Returns a constant indicating the radio technology (network type)
@@ -2186,7 +2228,7 @@
      */
     @SuppressAutoDoc // Blocked by b/72967236 - no support for carrier privileges
     @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
-    public int getDataNetworkType() {
+    public @NetworkType int getDataNetworkType() {
         return getDataNetworkType(getSubId(SubscriptionManager.getDefaultDataSubscriptionId()));
     }
 
@@ -2226,7 +2268,7 @@
      */
     @SuppressAutoDoc // Blocked by b/72967236 - no support for carrier privileges
     @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
-    public int getVoiceNetworkType() {
+    public @NetworkType int getVoiceNetworkType() {
         return getVoiceNetworkType(getSubId());
     }
 
@@ -4105,11 +4147,16 @@
     }
 
     /**
-     * Returns the IMS home network domain name that was loaded from the ISIM.
-     * @return the IMS domain name, or null if not present or not loaded
+     * Returns the IMS home network domain name that was loaded from the ISIM {@see #APPTYPE_ISIM}.
+     * @return the IMS domain name. Returns {@code null} if ISIM hasn't been loaded or IMS domain
+     * hasn't been loaded or isn't present on the ISIM.
+     *
+     * <p>Requires Permission:
+     * {@link android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE READ_PRIVILEGED_PHONE_STATE}
      * @hide
      */
-    @UnsupportedAppUsage
+    @SystemApi
+    @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
     public String getIsimDomain() {
         try {
             IPhoneSubInfo info = getSubscriberInfo();
@@ -4337,7 +4384,7 @@
     * @hide
     */
     private ITelecomService getTelecomService() {
-        return ITelecomService.Stub.asInterface(ServiceManager.getService(Context.TELECOM_SERVICE));
+        return ITelecomService.Stub.asInterface(ServiceManager.getService(TELECOM_SERVICE));
     }
 
     private ITelephonyRegistry getTelephonyRegistry() {
@@ -5367,7 +5414,19 @@
         }
     }
 
-    // ICC SIM Application Types
+    /**
+     * UICC SIM Application Types
+     * @hide
+     */
+    @IntDef(prefix = { "APPTYPE_" }, value = {
+            APPTYPE_SIM,
+            APPTYPE_USIM,
+            APPTYPE_RUIM,
+            APPTYPE_CSIM,
+            APPTYPE_ISIM
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface UiccAppType{}
     /** UICC application type is SIM */
     public static final int APPTYPE_SIM = PhoneConstants.APPTYPE_SIM;
     /** UICC application type is USIM */
@@ -5378,6 +5437,7 @@
     public static final int APPTYPE_CSIM = PhoneConstants.APPTYPE_CSIM;
     /** UICC application type is ISIM */
     public static final int APPTYPE_ISIM = PhoneConstants.APPTYPE_ISIM;
+
     // authContext (parameter P2) when doing UICC challenge,
     // per 3GPP TS 31.102 (Section 7.1.2)
     /** Authentication type for UICC challenge is EAP SIM. See RFC 4186 for details. */
@@ -5644,6 +5704,202 @@
         }
     }
 
+    /** @hide */
+    @IntDef(prefix = { "NETWORK_MODE_" }, value = {
+            NETWORK_MODE_WCDMA_PREF,
+            NETWORK_MODE_GSM_ONLY,
+            NETWORK_MODE_WCDMA_ONLY,
+            NETWORK_MODE_GSM_UMTS,
+            NETWORK_MODE_CDMA_EVDO,
+            NETWORK_MODE_CDMA_NO_EVDO,
+            NETWORK_MODE_EVDO_NO_CDMA,
+            NETWORK_MODE_GLOBAL,
+            NETWORK_MODE_LTE_CDMA_EVDO,
+            NETWORK_MODE_LTE_GSM_WCDMA,
+            NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA,
+            NETWORK_MODE_LTE_ONLY,
+            NETWORK_MODE_LTE_WCDMA,
+            NETWORK_MODE_TDSCDMA_ONLY,
+            NETWORK_MODE_TDSCDMA_WCDMA,
+            NETWORK_MODE_LTE_TDSCDMA,
+            NETWORK_MODE_TDSCDMA_GSM,
+            NETWORK_MODE_LTE_TDSCDMA_GSM,
+            NETWORK_MODE_TDSCDMA_GSM_WCDMA,
+            NETWORK_MODE_LTE_TDSCDMA_WCDMA,
+            NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA,
+            NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA,
+            NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface PrefNetworkMode{}
+
+    /**
+     * preferred network mode is GSM/WCDMA (WCDMA preferred).
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_WCDMA_PREF = RILConstants.NETWORK_MODE_WCDMA_PREF;
+
+    /**
+     * preferred network mode is GSM only.
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_GSM_ONLY = RILConstants.NETWORK_MODE_GSM_ONLY;
+
+    /**
+     * preferred network mode is WCDMA only.
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_WCDMA_ONLY = RILConstants.NETWORK_MODE_WCDMA_ONLY;
+
+    /**
+     * preferred network mode is GSM/WCDMA (auto mode, according to PRL).
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_GSM_UMTS = RILConstants.NETWORK_MODE_GSM_UMTS;
+
+    /**
+     * preferred network mode is CDMA and EvDo (auto mode, according to PRL).
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_CDMA_EVDO = RILConstants.NETWORK_MODE_CDMA;
+
+    /**
+     * preferred network mode is CDMA only.
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_CDMA_NO_EVDO = RILConstants.NETWORK_MODE_CDMA_NO_EVDO;
+
+    /**
+     * preferred network mode is EvDo only.
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_EVDO_NO_CDMA = RILConstants.NETWORK_MODE_EVDO_NO_CDMA;
+
+    /**
+     * preferred network mode is GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL).
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_GLOBAL = RILConstants.NETWORK_MODE_GLOBAL;
+
+    /**
+     * preferred network mode is LTE, CDMA and EvDo.
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_LTE_CDMA_EVDO = RILConstants.NETWORK_MODE_LTE_CDMA_EVDO;
+
+    /**
+     * preferred network mode is LTE, GSM/WCDMA.
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_LTE_GSM_WCDMA = RILConstants.NETWORK_MODE_LTE_GSM_WCDMA;
+
+    /**
+     * preferred network mode is LTE, CDMA, EvDo, GSM/WCDMA.
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA =
+            RILConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA;
+
+    /**
+     * preferred network mode is LTE Only.
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_LTE_ONLY = RILConstants.NETWORK_MODE_LTE_ONLY;
+
+    /**
+     * preferred network mode is LTE/WCDMA.
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_LTE_WCDMA = RILConstants.NETWORK_MODE_LTE_WCDMA;
+
+    /**
+     * preferred network mode is TD-SCDMA only.
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_TDSCDMA_ONLY = RILConstants.NETWORK_MODE_TDSCDMA_ONLY;
+
+    /**
+     * preferred network mode is TD-SCDMA and WCDMA.
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_TDSCDMA_WCDMA = RILConstants.NETWORK_MODE_TDSCDMA_WCDMA;
+
+    /**
+     * preferred network mode is TD-SCDMA and LTE.
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_LTE_TDSCDMA = RILConstants.NETWORK_MODE_LTE_TDSCDMA;
+
+    /**
+     * preferred network mode is TD-SCDMA and GSM.
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_TDSCDMA_GSM = RILConstants.NETWORK_MODE_TDSCDMA_GSM;
+
+    /**
+     * preferred network mode is TD-SCDMA,GSM and LTE.
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_LTE_TDSCDMA_GSM =
+            RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM;
+
+    /**
+     * preferred network mode is TD-SCDMA, GSM/WCDMA.
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_TDSCDMA_GSM_WCDMA =
+            RILConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA;
+
+    /**
+     * preferred network mode is TD-SCDMA, WCDMA and LTE.
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_LTE_TDSCDMA_WCDMA =
+            RILConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA;
+
+    /**
+     * preferred network mode is TD-SCDMA, GSM/WCDMA and LTE.
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA =
+            RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA;
+
+    /**
+     * preferred network mode is TD-SCDMA,EvDo,CDMA,GSM/WCDMA.
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA =
+            RILConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
+    /**
+     * preferred network mode is TD-SCDMA/LTE/GSM/WCDMA, CDMA, and EvDo.
+     * @hide
+     */
+    @SystemApi
+    public static final int NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA =
+            RILConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
+
     /**
      * Get the preferred network type.
      * Used for device configuration by some CDMA operators.
@@ -5652,11 +5908,12 @@
      * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} or that the calling
      * app has carrier privileges (see {@link #hasCarrierPrivileges}).
      *
-     * @return the preferred network type, defined in RILConstants.java.
+     * @return the preferred network type.
      * @hide
      */
-    @UnsupportedAppUsage
-    public int getPreferredNetworkType(int subId) {
+    @RequiresPermission((android.Manifest.permission.MODIFY_PHONE_STATE))
+    @SystemApi
+    public @PrefNetworkMode int getPreferredNetworkType(int subId) {
         try {
             ITelephony telephony = getITelephony();
             if (telephony != null)
@@ -5787,21 +6044,46 @@
      * @param persistSelection whether the selection will persist until reboot. If true, only allows
      * attaching to the selected PLMN until reboot; otherwise, attach to the chosen PLMN and resume
      * normal network selection next time.
-     * @return true on success; false on any failure.
+     * @return {@code true} on success; {@code false} on any failure.
      */
     @SuppressAutoDoc // Blocked by b/72967236 - no support for carrier privileges
     @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
     public boolean setNetworkSelectionModeManual(String operatorNumeric, boolean persistSelection) {
+        return setNetworkSelectionModeManual(
+                new OperatorInfo(
+                        "" /* operatorAlphaLong */, "" /* operatorAlphaShort */, operatorNumeric),
+                persistSelection);
+    }
+
+    /**
+     * Ask the radio to connect to the input network and change selection mode to manual.
+     *
+     * <p>If this object has been created with {@link #createForSubscriptionId}, applies to the
+     * given subId. Otherwise, applies to {@link SubscriptionManager#getDefaultDataSubscriptionId()}
+     *
+     * <p>Requires Permission:
+     * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} or that the calling
+     * app has carrier privileges (see {@link #hasCarrierPrivileges}).
+     *
+     * @param operatorInfo included the PLMN id, long name, short name of the operator to attach to.
+     * @param persistSelection whether the selection will persist until reboot. If true, only allows
+     * attaching to the selected PLMN until reboot; otherwise, attach to the chosen PLMN and resume
+     * normal network selection next time.
+     * @return {@code true} on success; {@code true} on any failure.
+     *
+     * @hide
+     */
+    @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
+    public boolean setNetworkSelectionModeManual(
+            OperatorInfo operatorInfo, boolean persistSelection) {
         try {
             ITelephony telephony = getITelephony();
             if (telephony != null) {
                 return telephony.setNetworkSelectionModeManual(
-                        getSubId(), operatorNumeric, persistSelection);
+                        getSubId(), operatorInfo, persistSelection);
             }
         } catch (RemoteException ex) {
             Rlog.e(TAG, "setNetworkSelectionModeManual RemoteException", ex);
-        } catch (NullPointerException ex) {
-            Rlog.e(TAG, "setNetworkSelectionModeManual NPE", ex);
         }
         return false;
     }
@@ -6213,57 +6495,42 @@
     }
 
     /**
-     * @deprecated Use {@link android.telecom.TelecomManager#endCall()} instead.
+     * @removed Use {@link android.telecom.TelecomManager#endCall()} instead.
      * @hide
+     * @removed
      */
     @Deprecated
     @SystemApi
     @RequiresPermission(android.Manifest.permission.CALL_PHONE)
     public boolean endCall() {
-        try {
-            ITelephony telephony = getITelephony();
-            if (telephony != null)
-                return telephony.endCall();
-        } catch (RemoteException e) {
-            Log.e(TAG, "Error calling ITelephony#endCall", e);
-        }
         return false;
     }
 
     /**
-     * @deprecated Use {@link android.telecom.TelecomManager#acceptRingingCall} instead
+     * @removed Use {@link android.telecom.TelecomManager#acceptRingingCall} instead
      * @hide
+     * @removed
      */
     @Deprecated
     @SystemApi
     @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
     public void answerRingingCall() {
-        try {
-            ITelephony telephony = getITelephony();
-            if (telephony != null)
-                telephony.answerRingingCall();
-        } catch (RemoteException e) {
-            Log.e(TAG, "Error calling ITelephony#answerRingingCall", e);
-        }
+        // No-op
     }
 
     /**
-     * @deprecated Use {@link android.telecom.TelecomManager#silenceRinger} instead
+     * @removed Use {@link android.telecom.TelecomManager#silenceRinger} instead
      * @hide
      */
     @Deprecated
     @SystemApi
     @SuppressLint("Doclava125")
     public void silenceRinger() {
-        try {
-            getTelecomService().silenceRinger(getOpPackageName());
-        } catch (RemoteException e) {
-            Log.e(TAG, "Error calling ITelecomService#silenceRinger", e);
-        }
+        // No-op
     }
 
     /**
-     * @deprecated Use {@link android.telecom.TelecomManager#isInCall} instead
+     * @removed Use {@link android.telecom.TelecomManager#isInCall} instead
      * @hide
      */
     @Deprecated
@@ -6273,18 +6540,11 @@
             android.Manifest.permission.READ_PHONE_STATE
     })
     public boolean isOffhook() {
-        try {
-            ITelephony telephony = getITelephony();
-            if (telephony != null)
-                return telephony.isOffhook(getOpPackageName());
-        } catch (RemoteException e) {
-            Log.e(TAG, "Error calling ITelephony#isOffhook", e);
-        }
         return false;
     }
 
     /**
-     * @deprecated Use {@link android.telecom.TelecomManager#isRinging} instead
+     * @removed Use {@link android.telecom.TelecomManager#isRinging} instead
      * @hide
      */
     @Deprecated
@@ -6294,18 +6554,11 @@
             android.Manifest.permission.READ_PHONE_STATE
     })
     public boolean isRinging() {
-        try {
-            ITelephony telephony = getITelephony();
-            if (telephony != null)
-                return telephony.isRinging(getOpPackageName());
-        } catch (RemoteException e) {
-            Log.e(TAG, "Error calling ITelephony#isRinging", e);
-        }
         return false;
     }
 
     /**
-     * @deprecated Use {@link android.telecom.TelecomManager#isInCall} instead
+     * @removed Use {@link android.telecom.TelecomManager#isInCall} instead
      * @hide
      */
     @Deprecated
@@ -6315,13 +6568,6 @@
             android.Manifest.permission.READ_PHONE_STATE
     })
     public boolean isIdle() {
-        try {
-            ITelephony telephony = getITelephony();
-            if (telephony != null)
-                return telephony.isIdle(getOpPackageName());
-        } catch (RemoteException e) {
-            Log.e(TAG, "Error calling ITelephony#isIdle", e);
-        }
         return true;
     }
 
@@ -7807,26 +8053,23 @@
     }
 
     /**
-     * Return the application ID for the app type like {@link APPTYPE_CSIM}.
+     * Return the application ID for the uicc application type like {@link #APPTYPE_CSIM}.
+     * All uicc applications are uniquely identified by application ID. See ETSI 102.221 and 101.220
+     * <p>Requires Permission:
+     *   {@link android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE}
      *
-     * Requires that the calling app has READ_PRIVILEGED_PHONE_STATE permission
-     *
-     * @param appType the uicc app type like {@link APPTYPE_CSIM}
-     * @return Application ID for specificied app type or null if no uicc or error.
+     * @param appType the uicc app type.
+     * @return Application ID for specified app type or {@code null} if no uicc or error.
      * @hide
      */
-    public String getAidForAppType(int appType) {
+    @SystemApi
+    @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
+    public String getAidForAppType(@UiccAppType int appType) {
         return getAidForAppType(getSubId(), appType);
     }
 
     /**
-     * Return the application ID for the app type like {@link APPTYPE_CSIM}.
-     *
-     * Requires that the calling app has READ_PRIVILEGED_PHONE_STATE permission
-     *
-     * @param subId the subscription ID that this request applies to.
-     * @param appType the uicc app type, like {@link APPTYPE_CSIM}
-     * @return Application ID for specificied app type or null if no uicc or error.
+     * same as {@link #getAidForAppType(int)}
      * @hide
      */
     public String getAidForAppType(int subId, int appType) {
diff --git a/telephony/java/android/telephony/ims/ImsCallProfile.java b/telephony/java/android/telephony/ims/ImsCallProfile.java
index f0d3c89..5d6a8c1 100644
--- a/telephony/java/android/telephony/ims/ImsCallProfile.java
+++ b/telephony/java/android/telephony/ims/ImsCallProfile.java
@@ -118,7 +118,9 @@
      */
     public static final String EXTRA_CONFERENCE = "conference";
     /**
-     * @hide
+     * Boolean extra property set on an {@link ImsCallProfile} to indicate that this call is an
+     * emergency call.  The {@link ImsService} sets this on a call to indicate that the network has
+     * identified the call as an emergency call.
      */
     public static final String EXTRA_E_CALL = "e_call";
     /**
@@ -245,7 +247,8 @@
      * constants, the values passed for the {@link #EXTRA_CALL_RAT_TYPE} should be strings (e.g.
      * "14" vs (int) 14).
      * Note: This is used by {@link com.android.internal.telephony.imsphone.ImsPhoneConnection#
-     *      updateWifiStateFromExtras(Bundle)} to determine whether to set the
+     *      updateImsCallRatFromExtras(Bundle)} to determine whether to set the
+     * {@link android.telecom.TelecomManager#EXTRA_CALL_NETWORK_TYPE} extra value and
      * {@link android.telecom.Connection#PROPERTY_WIFI} property on a connection.
      */
     public static final String EXTRA_CALL_RAT_TYPE = "CallRadioTech";
diff --git a/telephony/java/android/telephony/mbms/GroupCall.java b/telephony/java/android/telephony/mbms/GroupCall.java
new file mode 100644
index 0000000..9aca18e
--- /dev/null
+++ b/telephony/java/android/telephony/mbms/GroupCall.java
@@ -0,0 +1,176 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.telephony.mbms;
+
+import android.annotation.IntDef;
+import android.os.RemoteException;
+import android.telephony.MbmsGroupCallSession;
+import android.telephony.mbms.vendor.IMbmsGroupCallService;
+import android.util.Log;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Class used to represent a single MBMS group call. After a call has been started with
+ * {@link MbmsGroupCallSession#startGroupCall},
+ * this class is used to hold information about the call and control it.
+ */
+public class GroupCall implements AutoCloseable {
+    private static final String LOG_TAG = "MbmsGroupCall";
+
+    /**
+     * The state of a group call, reported via
+     * {@link GroupCallCallback#onGroupCallStateChanged(int, int)}
+     * @hide
+     */
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef(prefix = { "STATE_" }, value = {STATE_STOPPED, STATE_STARTED, STATE_STALLED})
+    public @interface GroupCallState {}
+    public static final int STATE_STOPPED = 1;
+    public static final int STATE_STARTED = 2;
+    public static final int STATE_STALLED = 3;
+
+    /**
+     * The reason for a call state change, reported via
+     * {@link GroupCallCallback#onGroupCallStateChanged(int, int)}
+     * @hide
+     */
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef(prefix = { "REASON_" },
+            value = {REASON_BY_USER_REQUEST, REASON_FREQUENCY_CONFLICT,
+                    REASON_OUT_OF_MEMORY, REASON_NOT_CONNECTED_TO_HOMECARRIER_LTE,
+                    REASON_LEFT_MBMS_BROADCAST_AREA, REASON_NONE})
+    public @interface GroupCallStateChangeReason {}
+
+    /**
+     * Indicates that the middleware does not have a reason to provide for the state change.
+     */
+    public static final int REASON_NONE = 0;
+
+    /**
+     * State changed due to a call to {@link #close()} or
+     * {@link MbmsGroupCallSession#startGroupCall}
+     */
+    public static final int REASON_BY_USER_REQUEST = 1;
+
+    // 2 is unused to match up with streaming.
+
+    /**
+     * State changed due to a frequency conflict with another requested call.
+     */
+    public static final int REASON_FREQUENCY_CONFLICT = 3;
+
+    /**
+     * State changed due to the middleware running out of memory
+     */
+    public static final int REASON_OUT_OF_MEMORY = 4;
+
+    /**
+     * State changed due to the device leaving the home carrier's LTE network.
+     */
+    public static final int REASON_NOT_CONNECTED_TO_HOMECARRIER_LTE = 5;
+
+    /**
+     * State changed due to the device leaving the area where this call is being broadcast.
+     */
+    public static final int REASON_LEFT_MBMS_BROADCAST_AREA = 6;
+
+    private final int mSubscriptionId;
+    private final long mTmgi;
+    private final MbmsGroupCallSession mParentSession;
+    private final InternalGroupCallCallback mCallback;
+    private IMbmsGroupCallService mService;
+
+    /**
+     * @hide
+     */
+    public GroupCall(int subscriptionId,
+            IMbmsGroupCallService service,
+            MbmsGroupCallSession session,
+            long tmgi,
+            InternalGroupCallCallback callback) {
+        mSubscriptionId = subscriptionId;
+        mParentSession = session;
+        mService = service;
+        mTmgi = tmgi;
+        mCallback = callback;
+    }
+
+    /**
+     * Retrieve the TMGI (Temporary Mobile Group Identity) corresponding to this call.
+     */
+    public long getTmgi() {
+        return mTmgi;
+    }
+
+    /**
+     * Send an update to the middleware when the SAI (Service Area Identifier) list and frequency
+     * information of the group call has * changed. Callers must obtain this information from the
+     * wireless carrier independently.
+     * @param saiArray New array of SAIs that the call is available on.
+     * @param frequencyArray New array of frequencies that the call is available on.
+     */
+    public void updateGroupCall(int[] saiArray, int[] frequencyArray) {
+        if (mService == null) {
+            throw new IllegalStateException("No group call service attached");
+        }
+
+        try {
+            mService.updateGroupCall(mSubscriptionId, mTmgi, saiArray, frequencyArray);
+        } catch (RemoteException e) {
+            Log.w(LOG_TAG, "Remote process died");
+            mService = null;
+            sendErrorToApp(MbmsErrors.ERROR_MIDDLEWARE_LOST, null);
+        } finally {
+            mParentSession.onGroupCallStopped(this);
+        }
+    }
+
+    /**
+     * Stop this group call. Further operations on this object will fail with an
+     * {@link IllegalStateException}.
+     *
+     * May throw an {@link IllegalStateException}
+     */
+    @Override
+    public void close() {
+        if (mService == null) {
+            throw new IllegalStateException("No group call service attached");
+        }
+
+        try {
+            mService.stopGroupCall(mSubscriptionId, mTmgi);
+        } catch (RemoteException e) {
+            Log.w(LOG_TAG, "Remote process died");
+            mService = null;
+            sendErrorToApp(MbmsErrors.ERROR_MIDDLEWARE_LOST, null);
+        } finally {
+            mParentSession.onGroupCallStopped(this);
+        }
+    }
+
+    /** @hide */
+    public InternalGroupCallCallback getCallback() {
+        return mCallback;
+    }
+
+    private void sendErrorToApp(int errorCode, String message) {
+        mCallback.onError(errorCode, message);
+    }
+}
+
diff --git a/telephony/java/android/telephony/mbms/GroupCallCallback.java b/telephony/java/android/telephony/mbms/GroupCallCallback.java
new file mode 100644
index 0000000..001bb02
--- /dev/null
+++ b/telephony/java/android/telephony/mbms/GroupCallCallback.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.telephony.mbms;
+
+import android.annotation.IntDef;
+import android.annotation.Nullable;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * A callback class for use when the application is in a group call. The middleware
+ * will provide updates on the status of the call via this callback.
+ */
+public class GroupCallCallback {
+    /** @hide */
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef(value = {
+            MbmsErrors.ERROR_NO_UNIQUE_MIDDLEWARE,
+            MbmsErrors.ERROR_MIDDLEWARE_LOST,
+            MbmsErrors.ERROR_MIDDLEWARE_NOT_BOUND,
+            MbmsErrors.GeneralErrors.ERROR_MIDDLEWARE_NOT_YET_READY,
+            MbmsErrors.GeneralErrors.ERROR_OUT_OF_MEMORY,
+            MbmsErrors.GeneralErrors.ERROR_MIDDLEWARE_TEMPORARILY_UNAVAILABLE,
+            MbmsErrors.GeneralErrors.ERROR_IN_E911,
+            MbmsErrors.GeneralErrors.ERROR_NOT_CONNECTED_TO_HOME_CARRIER_LTE,
+            MbmsErrors.GeneralErrors.ERROR_UNABLE_TO_READ_SIM,
+            MbmsErrors.GeneralErrors.ERROR_CARRIER_CHANGE_NOT_ALLOWED}, prefix = { "ERROR_" })
+    private @interface GroupCallError{}
+
+    /**
+     * Indicates broadcast signal strength is not available for this call.
+     *
+     * This may be due to the call no longer being available due to geography
+     * or timing (end of service)
+     */
+    public static final int SIGNAL_STRENGTH_UNAVAILABLE = -1;
+
+    /**
+     * Called by the middleware when it has detected an error condition in this group call. The
+     * possible error codes are listed in {@link MbmsErrors}.
+     * @param errorCode The error code.
+     * @param message A human-readable message generated by the middleware for debugging purposes.
+     */
+    public void onError(@GroupCallError int errorCode, @Nullable String message) {
+        // default implementation empty
+    }
+
+    /**
+     * Called to indicate this call has changed state.
+     *
+     * See {@link GroupCall#STATE_STOPPED}, {@link GroupCall#STATE_STARTED}
+     * and {@link GroupCall#STATE_STALLED}.
+     */
+    public void onGroupCallStateChanged(@GroupCall.GroupCallState int state,
+            @GroupCall.GroupCallStateChangeReason int reason) {
+        // default implementation empty
+    }
+
+    /**
+     * Broadcast Signal Strength updated.
+     *
+     * This signal strength is the BROADCAST signal strength which,
+     * depending on technology in play and it's deployment, may be
+     * stronger or weaker than the traditional UNICAST signal
+     * strength.  It a simple int from 0-4 for valid levels or
+     * {@link #SIGNAL_STRENGTH_UNAVAILABLE} if broadcast is not available
+     * for this call due to timing, geography or popularity.
+     */
+    public void onBroadcastSignalStrengthUpdated(int signalStrength) {
+        // default implementation empty
+    }
+}
diff --git a/core/tests/webkit/apk_with_native_libs/src/com/google/android/xts/webview_list/WebViewLoadingTestClass.java b/telephony/java/android/telephony/mbms/IGroupCallCallback.aidl
old mode 100644
new mode 100755
similarity index 65%
copy from core/tests/webkit/apk_with_native_libs/src/com/google/android/xts/webview_list/WebViewLoadingTestClass.java
copy to telephony/java/android/telephony/mbms/IGroupCallCallback.aidl
index 0efa4b4..844b634
--- a/core/tests/webkit/apk_with_native_libs/src/com/google/android/xts/webview_list/WebViewLoadingTestClass.java
+++ b/telephony/java/android/telephony/mbms/IGroupCallCallback.aidl
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2017 The Android Open Source Project
+ * Copyright (C) 2018 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.
@@ -14,11 +14,13 @@
  * limitations under the License.
  */
 
-
-package com.android.webview.chromium;
+package android.telephony.mbms;
 
 /**
- * An empty class for testing purposes.
+ * @hide
  */
-public class WebViewLoadingTestClass {
+oneway interface IGroupCallCallback {
+    void onError(int errorCode, String message);
+    void onGroupCallStateChanged(int state, int reason);
+    void onBroadcastSignalStrengthUpdated(int signalStrength);
 }
diff --git a/telephony/java/android/telephony/mbms/IMbmsGroupCallSessionCallback.aidl b/telephony/java/android/telephony/mbms/IMbmsGroupCallSessionCallback.aidl
new file mode 100755
index 0000000..1a1c7f8
--- /dev/null
+++ b/telephony/java/android/telephony/mbms/IMbmsGroupCallSessionCallback.aidl
@@ -0,0 +1,33 @@
+/*
+** Copyright 2018, 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.
+*/
+
+package android.telephony.mbms;
+
+import java.util.List;
+
+/**
+ * @hide
+ */
+oneway interface IMbmsGroupCallSessionCallback
+{
+    void onError(int errorCode, String message);
+
+    void onAvailableSaisUpdated(in List currentSai, in List availableSais);
+
+    void onServiceInterfaceAvailable(String interfaceName, int index);
+
+    void onMiddlewareReady();
+}
diff --git a/telephony/java/android/telephony/mbms/InternalGroupCallCallback.java b/telephony/java/android/telephony/mbms/InternalGroupCallCallback.java
new file mode 100644
index 0000000..2910bb3
--- /dev/null
+++ b/telephony/java/android/telephony/mbms/InternalGroupCallCallback.java
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.telephony.mbms;
+
+import android.os.Binder;
+
+import java.util.concurrent.Executor;
+
+/** @hide */
+public class InternalGroupCallCallback extends IGroupCallCallback.Stub {
+    private final GroupCallCallback mAppCallback;
+    private final Executor mExecutor;
+    private volatile boolean mIsStopped = false;
+
+    public InternalGroupCallCallback(GroupCallCallback appCallback,
+            Executor executor) {
+        mAppCallback = appCallback;
+        mExecutor = executor;
+    }
+
+    @Override
+    public void onError(final int errorCode, final String message) {
+        if (mIsStopped) {
+            return;
+        }
+
+        mExecutor.execute(new Runnable() {
+            @Override
+            public void run() {
+                long token = Binder.clearCallingIdentity();
+                try {
+                    mAppCallback.onError(errorCode, message);
+                } finally {
+                    Binder.restoreCallingIdentity(token);
+                }
+            }
+        });
+    }
+
+    @Override
+    public void onGroupCallStateChanged(final int state, final int reason) {
+        if (mIsStopped) {
+            return;
+        }
+
+        mExecutor.execute(new Runnable() {
+            @Override
+            public void run() {
+                long token = Binder.clearCallingIdentity();
+                try {
+                    mAppCallback.onGroupCallStateChanged(state, reason);
+                } finally {
+                    Binder.restoreCallingIdentity(token);
+                }
+            }
+        });
+    }
+
+    @Override
+    public void onBroadcastSignalStrengthUpdated(final int signalStrength) {
+        if (mIsStopped) {
+            return;
+        }
+
+        mExecutor.execute(new Runnable() {
+            @Override
+            public void run() {
+                long token = Binder.clearCallingIdentity();
+                try {
+                    mAppCallback.onBroadcastSignalStrengthUpdated(signalStrength);
+                } finally {
+                    Binder.restoreCallingIdentity(token);
+                }
+            }
+        });
+    }
+
+    /** Prevents this callback from calling the app */
+    public void stop() {
+        mIsStopped = true;
+    }
+}
diff --git a/telephony/java/android/telephony/mbms/InternalGroupCallSessionCallback.java b/telephony/java/android/telephony/mbms/InternalGroupCallSessionCallback.java
new file mode 100644
index 0000000..4c9cf4d
--- /dev/null
+++ b/telephony/java/android/telephony/mbms/InternalGroupCallSessionCallback.java
@@ -0,0 +1,116 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.telephony.mbms;
+
+import android.os.Binder;
+
+import java.util.List;
+import java.util.concurrent.Executor;
+
+/** @hide */
+public class InternalGroupCallSessionCallback extends IMbmsGroupCallSessionCallback.Stub {
+    private final Executor mExecutor;
+    private final MbmsGroupCallSessionCallback mAppCallback;
+    private volatile boolean mIsStopped = false;
+
+    public InternalGroupCallSessionCallback(MbmsGroupCallSessionCallback appCallback,
+            Executor executor) {
+        mAppCallback = appCallback;
+        mExecutor = executor;
+    }
+
+    @Override
+    public void onError(final int errorCode, final String message) {
+        if (mIsStopped) {
+            return;
+        }
+
+        mExecutor.execute(new Runnable() {
+            @Override
+            public void run() {
+                long token = Binder.clearCallingIdentity();
+                try {
+                    mAppCallback.onError(errorCode, message);
+                } finally {
+                    Binder.restoreCallingIdentity(token);
+                }
+            }
+        });
+    }
+
+    @Override
+    public void onAvailableSaisUpdated(final List currentSais, final List availableSais) {
+        if (mIsStopped) {
+            return;
+        }
+
+        mExecutor.execute(new Runnable() {
+            @Override
+            public void run() {
+                long token = Binder.clearCallingIdentity();
+                try {
+                    mAppCallback.onAvailableSaisUpdated(currentSais, availableSais);
+                } finally {
+                    Binder.restoreCallingIdentity(token);
+                }
+            }
+        });
+    }
+
+    @Override
+    public void onServiceInterfaceAvailable(final String interfaceName, final int index) {
+        if (mIsStopped) {
+            return;
+        }
+
+        mExecutor.execute(new Runnable() {
+            @Override
+            public void run() {
+                long token = Binder.clearCallingIdentity();
+                try {
+                    mAppCallback.onServiceInterfaceAvailable(interfaceName, index);
+                } finally {
+                    Binder.restoreCallingIdentity(token);
+                }
+            }
+        });
+    }
+
+    @Override
+    public void onMiddlewareReady() {
+        if (mIsStopped) {
+            return;
+        }
+
+        mExecutor.execute(new Runnable() {
+            @Override
+            public void run() {
+                long token = Binder.clearCallingIdentity();
+                try {
+                    mAppCallback.onMiddlewareReady();
+                } finally {
+                    Binder.restoreCallingIdentity(token);
+                }
+            }
+        });
+    }
+
+    /** Prevents this callback from calling the app */
+    public void stop() {
+        mIsStopped = true;
+    }
+}
diff --git a/telephony/java/android/telephony/mbms/MbmsGroupCallSessionCallback.java b/telephony/java/android/telephony/mbms/MbmsGroupCallSessionCallback.java
new file mode 100644
index 0000000..7da734e
--- /dev/null
+++ b/telephony/java/android/telephony/mbms/MbmsGroupCallSessionCallback.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.telephony.mbms;
+
+import android.annotation.IntDef;
+import android.annotation.Nullable;
+import android.content.Context;
+import android.telephony.MbmsGroupCallSession;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.List;
+import java.util.concurrent.Executor;
+
+/**
+ * A callback class that is used to receive information from the middleware on MBMS group-call
+ * services. An instance of this object should be passed into
+ * {@link MbmsGroupCallSession#create(Context, Executor, int, MbmsGroupCallSessionCallback)}.
+ */
+public class MbmsGroupCallSessionCallback {
+    /** @hide */
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef(value = {
+            MbmsErrors.ERROR_NO_UNIQUE_MIDDLEWARE,
+            MbmsErrors.ERROR_MIDDLEWARE_LOST,
+            MbmsErrors.ERROR_MIDDLEWARE_NOT_BOUND,
+            MbmsErrors.InitializationErrors.ERROR_APP_PERMISSIONS_NOT_GRANTED,
+            MbmsErrors.InitializationErrors.ERROR_DUPLICATE_INITIALIZE,
+            MbmsErrors.InitializationErrors.ERROR_UNABLE_TO_INITIALIZE,
+            MbmsErrors.GeneralErrors.ERROR_MIDDLEWARE_NOT_YET_READY,
+            MbmsErrors.GeneralErrors.ERROR_OUT_OF_MEMORY,
+            MbmsErrors.GeneralErrors.ERROR_MIDDLEWARE_TEMPORARILY_UNAVAILABLE,
+            MbmsErrors.GeneralErrors.ERROR_IN_E911,
+            MbmsErrors.GeneralErrors.ERROR_NOT_CONNECTED_TO_HOME_CARRIER_LTE,
+            MbmsErrors.GeneralErrors.ERROR_UNABLE_TO_READ_SIM,
+            MbmsErrors.GeneralErrors.ERROR_CARRIER_CHANGE_NOT_ALLOWED}, prefix = { "ERROR_" })
+    private @interface GroupCallError{}
+
+    /**
+     * Called by the middleware when it has detected an error condition. The possible error codes
+     * are listed in {@link MbmsErrors}.
+     * @param errorCode The error code.
+     * @param message A human-readable message generated by the middleware for debugging purposes.
+     */
+    public void onError(@GroupCallError int errorCode, @Nullable String message) {
+    }
+
+    /**
+     * Indicates that the list of currently available SAIs has been updated. The app may use this
+     * information to filter the list of group calls when displaying available group calls to
+     * the user by matching the SAIs with a list of group calls separately negotiated with the
+     * carrier. The app may also report the aggregate list of SAIs to the group call application
+     * server so that a network entity can determine when, and where to activate the broadcast of
+     * particular group calls.
+     * @param currentSais The available SAIs on the current cell.
+     * @param availableSais A list of lists of available SAIS in neighboring cells, where each list
+     *                      contains the available SAIs in an individual cell.
+     */
+    public void onAvailableSaisUpdated(List<Integer> currentSais,
+            List<List<Integer>> availableSais) {
+    }
+
+    /**
+     * Called soon after the app calls {@link MbmsGroupCallSession#create}. The information supplied
+     * via this callback may be used to establish a data-link interface with the modem before the
+     * middleware is ready.
+     * Note that this method may be called before {@link #onMiddlewareReady()}.
+     *
+     * @param interfaceName The interface name for the data link.
+     * @param index The index for the data link.
+     */
+    public void onServiceInterfaceAvailable(String interfaceName, int index) {
+    }
+
+    /**
+     * Called to indicate that the middleware has been initialized and is ready.
+     *
+     * Before this method is called, calling any method on an instance of
+     * {@link MbmsGroupCallSession} will result in an {@link IllegalStateException} or an error
+     * delivered via {@link #onError(int, String)} with error code
+     * {@link MbmsErrors.GeneralErrors#ERROR_MIDDLEWARE_NOT_YET_READY}.
+     */
+    public void onMiddlewareReady() {
+    }
+}
diff --git a/telephony/java/android/telephony/mbms/MbmsUtils.java b/telephony/java/android/telephony/mbms/MbmsUtils.java
index 06b2120..95b4d37 100644
--- a/telephony/java/android/telephony/mbms/MbmsUtils.java
+++ b/telephony/java/android/telephony/mbms/MbmsUtils.java
@@ -23,6 +23,7 @@
 import android.content.pm.*;
 import android.content.pm.ServiceInfo;
 import android.telephony.MbmsDownloadSession;
+import android.telephony.MbmsGroupCallSession;
 import android.telephony.MbmsStreamingSession;
 import android.util.Log;
 
@@ -59,6 +60,9 @@
             case MbmsStreamingSession.MBMS_STREAMING_SERVICE_ACTION:
                 metaDataKey = MbmsStreamingSession.MBMS_STREAMING_SERVICE_OVERRIDE_METADATA;
                 break;
+            case MbmsGroupCallSession.MBMS_GROUP_CALL_SERVICE_ACTION:
+                metaDataKey = MbmsGroupCallSession.MBMS_GROUP_CALL_SERVICE_OVERRIDE_METADATA;
+                break;
         }
         if (metaDataKey == null) {
             return null;
diff --git a/telephony/java/android/telephony/mbms/vendor/IMbmsGroupCallService.aidl b/telephony/java/android/telephony/mbms/vendor/IMbmsGroupCallService.aidl
new file mode 100755
index 0000000..721256a
--- /dev/null
+++ b/telephony/java/android/telephony/mbms/vendor/IMbmsGroupCallService.aidl
@@ -0,0 +1,39 @@
+/*
+** Copyright 2017, 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.
+*/
+
+package android.telephony.mbms.vendor;
+
+import android.net.Uri;
+import android.telephony.mbms.IMbmsGroupCallSessionCallback;
+import android.telephony.mbms.IGroupCallCallback;
+
+/**
+ * @hide
+ */
+interface IMbmsGroupCallService
+{
+    int initialize(IMbmsGroupCallSessionCallback callback, int subId);
+
+    void stopGroupCall(int subId, long tmgi);
+
+    void updateGroupCall(int subscriptionId, long tmgi, in int[] saiArray,
+        in int[] frequencyArray);
+
+    int startGroupCall(int subscriptionId, long tmgi, in int[] saiArray,
+        in int[] frequencyArray, IGroupCallCallback callback);
+
+    void dispose(int subId);
+}
diff --git a/telephony/java/android/telephony/mbms/vendor/MbmsGroupCallServiceBase.java b/telephony/java/android/telephony/mbms/vendor/MbmsGroupCallServiceBase.java
new file mode 100644
index 0000000..3734ca7
--- /dev/null
+++ b/telephony/java/android/telephony/mbms/vendor/MbmsGroupCallServiceBase.java
@@ -0,0 +1,275 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.telephony.mbms.vendor;
+
+import android.annotation.SystemApi;
+import android.annotation.TestApi;
+import android.app.Service;
+import android.content.Intent;
+import android.os.Binder;
+import android.os.IBinder;
+import android.os.RemoteException;
+import android.telephony.mbms.GroupCallCallback;
+import android.telephony.mbms.IGroupCallCallback;
+import android.telephony.mbms.IMbmsGroupCallSessionCallback;
+import android.telephony.mbms.MbmsErrors;
+import android.telephony.mbms.MbmsGroupCallSessionCallback;
+import android.telephony.mbms.vendor.IMbmsGroupCallService.Stub;
+
+import java.util.List;
+
+/**
+ * Base class for MBMS group-call services. The middleware should override this class to implement
+ * its {@link Service} for group calls
+ * Subclasses should call this class's {@link #onBind} method to obtain an {@link IBinder} if they
+ * override {@link #onBind}.
+ * @hide
+ */
+@SystemApi
+@TestApi
+public class MbmsGroupCallServiceBase extends Service {
+    private final IBinder mInterface = new Stub() {
+        @Override
+        public int initialize(final IMbmsGroupCallSessionCallback callback,
+                final int subscriptionId) throws RemoteException {
+            if (callback == null) {
+                throw new NullPointerException("Callback must not be null");
+            }
+
+            final int uid = Binder.getCallingUid();
+
+            int result = MbmsGroupCallServiceBase.this.initialize(
+                    new MbmsGroupCallSessionCallback() {
+                        @Override
+                        public void onError(final int errorCode, final String message) {
+                            try {
+                                if (errorCode == MbmsErrors.UNKNOWN) {
+                                    throw new IllegalArgumentException(
+                                            "Middleware cannot send an unknown error.");
+                                }
+                                callback.onError(errorCode, message);
+                            } catch (RemoteException e) {
+                                onAppCallbackDied(uid, subscriptionId);
+                            }
+                        }
+
+                        @Override
+                        public void onAvailableSaisUpdated(final List currentSais,
+                                final List availableSais) {
+                            try {
+                                callback.onAvailableSaisUpdated(currentSais, availableSais);
+                            } catch (RemoteException e) {
+                                onAppCallbackDied(uid, subscriptionId);
+                            }
+                        }
+
+                        @Override
+                        public void onServiceInterfaceAvailable(final String interfaceName,
+                                final int index) {
+                            try {
+                                callback.onServiceInterfaceAvailable(interfaceName, index);
+                            } catch (RemoteException e) {
+                                onAppCallbackDied(uid, subscriptionId);
+                            }
+                        }
+
+                        @Override
+                        public void onMiddlewareReady() {
+                            try {
+                                callback.onMiddlewareReady();
+                            } catch (RemoteException e) {
+                                onAppCallbackDied(uid, subscriptionId);
+                            }
+                        }
+                    }, subscriptionId);
+
+            if (result == MbmsErrors.SUCCESS) {
+                callback.asBinder().linkToDeath(new DeathRecipient() {
+                    @Override
+                    public void binderDied() {
+                        onAppCallbackDied(uid, subscriptionId);
+                    }
+                }, 0);
+            }
+
+            return result;
+        }
+
+        @Override
+        public void stopGroupCall(int subId, long tmgi) {
+            MbmsGroupCallServiceBase.this.stopGroupCall(subId, tmgi);
+        }
+
+        @Override
+        public void updateGroupCall(int subscriptionId, long tmgi, int[] saiArray,
+                int[] frequencyArray) {
+            MbmsGroupCallServiceBase.this.updateGroupCall(
+                    subscriptionId, tmgi, saiArray, frequencyArray);
+        }
+
+        @Override
+        public int startGroupCall(final int subscriptionId, final long tmgi, final int[] saiArray,
+                final int[] frequencyArray, final IGroupCallCallback callback)
+                throws RemoteException {
+            if (callback == null) {
+                throw new NullPointerException("Callback must not be null");
+            }
+
+            final int uid = Binder.getCallingUid();
+
+            int result = MbmsGroupCallServiceBase.this.startGroupCall(
+                    subscriptionId, tmgi, saiArray, frequencyArray, new GroupCallCallback() {
+                        @Override
+                        public void onError(final int errorCode, final String message) {
+                            try {
+                                if (errorCode == MbmsErrors.UNKNOWN) {
+                                    throw new IllegalArgumentException(
+                                            "Middleware cannot send an unknown error.");
+                                }
+                                callback.onError(errorCode, message);
+                            } catch (RemoteException e) {
+                                onAppCallbackDied(uid, subscriptionId);
+                            }
+                        }
+
+                        public void onGroupCallStateChanged(int state, int reason) {
+                            try {
+                                callback.onGroupCallStateChanged(state, reason);
+                            } catch (RemoteException e) {
+                                onAppCallbackDied(uid, subscriptionId);
+                            }
+                        }
+
+                        public void onBroadcastSignalStrengthUpdated(int signalStrength) {
+                            try {
+                                callback.onBroadcastSignalStrengthUpdated(signalStrength);
+                            } catch (RemoteException e) {
+                                onAppCallbackDied(uid, subscriptionId);
+                            }
+                        }
+                    });
+
+            if (result == MbmsErrors.SUCCESS) {
+                callback.asBinder().linkToDeath(new DeathRecipient() {
+                    @Override
+                    public void binderDied() {
+                        onAppCallbackDied(uid, subscriptionId);
+                    }
+                }, 0);
+            }
+
+            return result;
+        }
+
+        @Override
+        public void dispose(int subId) throws RemoteException {
+            MbmsGroupCallServiceBase.this.dispose(subId);
+        }
+    };
+
+    /**
+     * Initialize the group call service for this app and subscription ID, registering the callback.
+     *
+     * May throw an {@link IllegalArgumentException} or a {@link SecurityException}, which
+     * will be intercepted and passed to the app as
+     * {@link MbmsErrors.InitializationErrors#ERROR_UNABLE_TO_INITIALIZE}
+     *
+     * May return any value from {@link MbmsErrors.InitializationErrors}
+     * or {@link MbmsErrors#SUCCESS}. Non-successful error codes will be passed to the app via
+     * {@link IMbmsGroupCallSessionCallback#onError(int, String)}.
+     *
+     * @param callback The callback to use to communicate with the app.
+     * @param subscriptionId The subscription ID to use.
+     */
+    public int initialize(MbmsGroupCallSessionCallback callback, int subscriptionId)
+            throws RemoteException {
+        throw new UnsupportedOperationException("Not implemented");
+    }
+
+    /**
+     * Starts a particular group call. This method may perform asynchronous work. When
+     * the call is ready for consumption, the middleware should inform the app via
+     * {@link IGroupCallCallback#onGroupCallStateChanged(int, int)}.
+     *
+     * May throw an {@link IllegalArgumentException} or an {@link IllegalStateException}
+     *
+     * @param subscriptionId The subscription id to use.
+     * @param tmgi The TMGI, an identifier for the group call.
+     * @param saiArray An array of SAIs for the group call.
+     * @param frequencyArray An array of frequencies for the group call.
+     * @param callback The callback object on which the app wishes to receive updates.
+     * @return Any error in {@link MbmsErrors.GeneralErrors}
+     */
+    public int startGroupCall(int subscriptionId, long tmgi, int[] saiArray, int[] frequencyArray,
+            GroupCallCallback callback) {
+        throw new UnsupportedOperationException("Not implemented");
+    }
+
+    /**
+     * Stop the group call identified by {@code tmgi}.
+     *
+     * The callback provided via {@link #startGroupCall} should no longer be
+     * used after this method has called by the app.
+     *
+     * May throw an {@link IllegalStateException}
+     *
+     * @param subscriptionId The subscription id to use.
+     * @param tmgi The TMGI for the call to stop.
+     */
+    public void stopGroupCall(int subscriptionId, long tmgi) {
+        throw new UnsupportedOperationException("Not implemented");
+    }
+
+    /**
+     * Called when the app receives new SAI and frequency information for the group call identified
+     * by {@code tmgi}.
+     * @param saiArray New array of SAIs that the call is available on.
+     * @param frequencyArray New array of frequencies that the call is available on.
+     */
+    public void updateGroupCall(int subscriptionId, long tmgi, int[] saiArray,
+            int[] frequencyArray) {
+        throw new UnsupportedOperationException("Not implemented");
+    }
+
+    /**
+     * Signals that the app wishes to dispose of the session identified by the
+     * {@code subscriptionId} argument and the caller's uid. No notification back to the
+     * app is required for this operation, and the corresponding callback provided via
+     * {@link #initialize} should no longer be used
+     * after this method has been called by the app.
+     *
+     * May throw an {@link IllegalStateException}
+     *
+     * @param subscriptionId The subscription id to use.
+     */
+    public void dispose(int subscriptionId) throws RemoteException {
+        throw new UnsupportedOperationException("Not implemented");
+    }
+
+    /**
+     * Indicates that the app identified by the given UID and subscription ID has died.
+     * @param uid the UID of the app, as returned by {@link Binder#getCallingUid()}.
+     * @param subscriptionId The subscription ID the app is using.
+     */
+    public void onAppCallbackDied(int uid, int subscriptionId) {
+    }
+
+    @Override
+    public IBinder onBind(Intent intent) {
+        return mInterface;
+    }
+}
diff --git a/telephony/java/com/android/internal/telephony/IPhoneStateListener.aidl b/telephony/java/com/android/internal/telephony/IPhoneStateListener.aidl
index 1ebb697..38a1bc7 100644
--- a/telephony/java/com/android/internal/telephony/IPhoneStateListener.aidl
+++ b/telephony/java/com/android/internal/telephony/IPhoneStateListener.aidl
@@ -52,5 +52,6 @@
     void onCarrierNetworkChange(in boolean active);
     void onUserMobileDataStateChanged(in boolean enabled);
     void onPhoneCapabilityChanged(in PhoneCapability capability);
+    void onPreferredDataSubIdChanged(in int subId);
 }
 
diff --git a/telephony/java/com/android/internal/telephony/ISub.aidl b/telephony/java/com/android/internal/telephony/ISub.aidl
index 6521f0b..0ccd748 100755
--- a/telephony/java/com/android/internal/telephony/ISub.aidl
+++ b/telephony/java/com/android/internal/telephony/ISub.aidl
@@ -232,5 +232,5 @@
      */
     int getSimStateForSlotIndex(int slotIndex);
 
-    boolean isActiveSubId(int subId);
+    boolean isActiveSubId(int subId, String callingPackage);
 }
diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl
index c0bccde..ca2bcff 100644
--- a/telephony/java/com/android/internal/telephony/ITelephony.aidl
+++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl
@@ -75,116 +75,6 @@
     void call(String callingPackage, String number);
 
     /**
-     * End call if there is a call in progress, otherwise does nothing.
-     *
-     * @return whether it hung up
-     */
-    boolean endCall();
-
-    /**
-     * End call on particular subId or go to the Home screen
-     * @param subId user preferred subId.
-     * @return whether it hung up
-     */
-    boolean endCallForSubscriber(int subId);
-
-    /**
-     * Answer the currently-ringing call.
-     *
-     * If there's already a current active call, that call will be
-     * automatically put on hold.  If both lines are currently in use, the
-     * current active call will be ended.
-     *
-     * TODO: provide a flag to let the caller specify what policy to use
-     * if both lines are in use.  (The current behavior is hardwired to
-     * "answer incoming, end ongoing", which is how the CALL button
-     * is specced to behave.)
-     *
-     * TODO: this should be a oneway call (especially since it's called
-     * directly from the key queue thread).
-     */
-    void answerRingingCall();
-
-    /**
-     * Answer the currently-ringing call on particular subId .
-     *
-     * If there's already a current active call, that call will be
-     * automatically put on hold.  If both lines are currently in use, the
-     * current active call will be ended.
-     *
-     * TODO: provide a flag to let the caller specify what policy to use
-     * if both lines are in use.  (The current behavior is hardwired to
-     * "answer incoming, end ongoing", which is how the CALL button
-     * is specced to behave.)
-     *
-     * TODO: this should be a oneway call (especially since it's called
-     * directly from the key queue thread).
-     */
-    void answerRingingCallForSubscriber(int subId);
-
-    /**
-     * Silence the ringer if an incoming call is currently ringing.
-     * (If vibrating, stop the vibrator also.)
-     *
-     * It's safe to call this if the ringer has already been silenced, or
-     * even if there's no incoming call.  (If so, this method will do nothing.)
-     *
-     * TODO: this should be a oneway call too (see above).
-     *       (Actually *all* the methods here that return void can
-     *       probably be oneway.)
-     */
-    void silenceRinger();
-
-    /**
-     * Check if we are in either an active or holding call
-     * @param callingPackage the name of the package making the call.
-     * @return true if the phone state is OFFHOOK.
-     */
-    boolean isOffhook(String callingPackage);
-
-    /**
-     * Check if a particular subId has an active or holding call
-     *
-     * @param subId user preferred subId.
-     * @param callingPackage the name of the package making the call.
-     * @return true if the phone state is OFFHOOK.
-     */
-    boolean isOffhookForSubscriber(int subId, String callingPackage);
-
-    /**
-     * Check if an incoming phone call is ringing or call waiting
-     * on a particular subId.
-     *
-     * @param subId user preferred subId.
-     * @param callingPackage the name of the package making the call.
-     * @return true if the phone state is RINGING.
-     */
-    boolean isRingingForSubscriber(int subId, String callingPackage);
-
-    /**
-     * Check if an incoming phone call is ringing or call waiting.
-     * @param callingPackage the name of the package making the call.
-     * @return true if the phone state is RINGING.
-     */
-    boolean isRinging(String callingPackage);
-
-    /**
-     * Check if the phone is idle.
-     * @param callingPackage the name of the package making the call.
-     * @return true if the phone state is IDLE.
-     */
-    boolean isIdle(String callingPackage);
-
-    /**
-     * Check if the phone is idle on a particular subId.
-     *
-     * @param subId user preferred subId.
-     * @param callingPackage the name of the package making the call.
-     * @return true if the phone state is IDLE.
-     */
-    boolean isIdleForSubscriber(int subId, String callingPackage);
-
-    /**
      * Check to see if the radio is on or not.
      * @param callingPackage the name of the package making the call.
      * @return returns true if the radio is on.
@@ -865,14 +755,15 @@
      * Ask the radio to connect to the input network and change selection mode to manual.
      *
      * @param subId the id of the subscription.
-     * @param operatorNumeric the PLMN of the operator to attach to.
-     * @param persistSelection Whether the selection will persist until reboot. If true, only allows
+     * @param operatorInfo the operator inforamtion, included the PLMN, long name and short name of
+     * the operator to attach to.
+     * @param persistSelection whether the selection will persist until reboot. If true, only allows
      * attaching to the selected PLMN until reboot; otherwise, attach to the chosen PLMN and resume
      * normal network selection next time.
-     * @return true if the request suceeded.
+     * @return {@code true} on success; {@code true} on any failure.
      */
-    boolean setNetworkSelectionModeManual(int subId, in String operatorNumeric,
-            boolean persistSelection);
+    boolean setNetworkSelectionModeManual(
+            int subId, in OperatorInfo operatorInfo, boolean persisSelection);
 
     /**
      * Set the preferred network type.
@@ -1586,4 +1477,19 @@
      * Return the network selection mode on the subscription with id {@code subId}.
      */
      int getNetworkSelectionMode(int subId);
+
+    /**
+     * Get a list of SMS apps on a user.
+     */
+    String[] getSmsApps(int userId);
+
+    /**
+     * Get the default SMS app on a given user.
+     */
+    String getDefaultSmsApp(int userId);
+
+    /**
+     * Set the default SMS app to a given package on a given user.
+     */
+    void setDefaultSmsApp(int userId, String packageName);
 }
diff --git a/telephony/java/com/android/internal/telephony/ITelephonyRegistry.aidl b/telephony/java/com/android/internal/telephony/ITelephonyRegistry.aidl
index 43d56b3..c03065c 100644
--- a/telephony/java/com/android/internal/telephony/ITelephonyRegistry.aidl
+++ b/telephony/java/com/android/internal/telephony/ITelephonyRegistry.aidl
@@ -79,4 +79,5 @@
     void notifyCarrierNetworkChange(in boolean active);
     void notifyUserMobileDataStateChangedForPhoneId(in int phoneId, in int subId, in boolean state);
     void notifyPhoneCapabilityChanged(in PhoneCapability capability);
+    void notifyPreferredDataSubIdChanged(int preferredSubId);
 }
diff --git a/telephony/java/com/android/internal/telephony/OperatorInfo.java b/telephony/java/com/android/internal/telephony/OperatorInfo.java
index d0245a0..a47e2b0 100644
--- a/telephony/java/com/android/internal/telephony/OperatorInfo.java
+++ b/telephony/java/com/android/internal/telephony/OperatorInfo.java
@@ -21,7 +21,7 @@
 import android.os.Parcelable;
 
 /**
- * {@hide}
+ * @hide
  */
 public class OperatorInfo implements Parcelable {
     public enum State {
diff --git a/telephony/java/com/android/internal/telephony/PhoneConstants.java b/telephony/java/com/android/internal/telephony/PhoneConstants.java
index f9de776..21f3b92 100644
--- a/telephony/java/com/android/internal/telephony/PhoneConstants.java
+++ b/telephony/java/com/android/internal/telephony/PhoneConstants.java
@@ -176,6 +176,10 @@
 
     // FIXME: This is used to pass a subId via intents, we need to look at its usage, which is
     // FIXME: extensive, and see if this should be an array of all active subId's or ...?
+    /**
+     * @Deprecated use {@link android.telephony.SubscriptionManager#EXTRA_SUBSCRIPTION_INDEX}
+     * instead.
+     */
     public static final String SUBSCRIPTION_KEY  = "subscription";
 
     public static final String SUB_SETTING  = "subSettings";
diff --git a/telephony/java/com/android/internal/telephony/SmsApplication.java b/telephony/java/com/android/internal/telephony/SmsApplication.java
index d8ef429..39722c6 100644
--- a/telephony/java/com/android/internal/telephony/SmsApplication.java
+++ b/telephony/java/com/android/internal/telephony/SmsApplication.java
@@ -209,7 +209,14 @@
      * Support smsto Uri scheme.
      */
     public static Collection<SmsApplicationData> getApplicationCollection(Context context) {
-        int userId = getIncomingUserId(context);
+        return getApplicationCollectionAsUser(context, getIncomingUserId(context));
+    }
+
+    /**
+     * Same as {@link #getApplicationCollection} but it takes a target user ID.
+     */
+    public static Collection<SmsApplicationData> getApplicationCollectionAsUser(Context context,
+            int userId) {
         final long token = Binder.clearCallingIdentity();
         try {
             return getApplicationCollectionInternal(context, userId);
@@ -535,13 +542,20 @@
      * needs to have permission to set AppOps and write to secure settings.
      */
     public static void setDefaultApplication(String packageName, Context context) {
+        setDefaultApplicationAsUser(packageName, context, getIncomingUserId(context));
+    }
+
+    /**
+     * Same as {@link #setDefaultApplication} but takes a target user id.
+     */
+    public static void setDefaultApplicationAsUser(String packageName, Context context,
+            int userId) {
         TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
         if (!tm.isSmsCapable()) {
             // No phone, no SMS
             return;
         }
 
-        final int userId = getIncomingUserId(context);
         final long token = Binder.clearCallingIdentity();
         try {
             setDefaultApplicationInternal(packageName, context, userId);
@@ -552,6 +566,8 @@
 
     private static void setDefaultApplicationInternal(String packageName, Context context,
             int userId) {
+        final UserHandle userHandle = UserHandle.of(userId);
+
         // Get old package name
         String oldPackageName = Settings.Secure.getStringForUser(context.getContentResolver(),
                 Settings.Secure.SMS_DEFAULT_APPLICATION, userId);
@@ -628,7 +644,7 @@
                 if (DEBUG_MULTIUSER) {
                     Log.i(LOG_TAG, "setDefaultApplicationInternal old=" + oldAppData.mPackageName);
                 }
-                context.sendBroadcast(oldAppIntent);
+                context.sendBroadcastAsUser(oldAppIntent, userHandle);
             }
             // Notify the new sms app that it's now the default (if the new sms app has a receiver
             // to handle the changed default sms intent).
@@ -646,8 +662,16 @@
                 if (DEBUG_MULTIUSER) {
                     Log.i(LOG_TAG, "setDefaultApplicationInternal new=" + packageName);
                 }
-                context.sendBroadcast(intent);
+                context.sendBroadcastAsUser(intent, userHandle);
             }
+
+            // Send an implicit broadcast for the system server.
+            // (or anyone with MONITOR_DEFAULT_SMS_PACKAGE, really.)
+            final Intent intent =
+                    new Intent(Telephony.Sms.Intents.ACTION_DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL);
+            context.sendBroadcastAsUser(intent, userHandle,
+                    permission.MONITOR_DEFAULT_SMS_PACKAGE);
+
             MetricsLogger.action(context, MetricsEvent.ACTION_DEFAULT_SMS_APP_CHANGED,
                     applicationData.mPackageName);
         }
@@ -799,7 +823,18 @@
      * @return component name of the app and class to deliver SMS messages to
      */
     public static ComponentName getDefaultSmsApplication(Context context, boolean updateIfNeeded) {
-        int userId = getIncomingUserId(context);
+        return getDefaultSmsApplicationAsUser(context, updateIfNeeded, getIncomingUserId(context));
+    }
+
+    /**
+     * Gets the default SMS application on a given user
+     * @param context context from the calling app
+     * @param updateIfNeeded update the default app if there is no valid default app configured.
+     * @param userId target user ID.
+     * @return component name of the app and class to deliver SMS messages to
+     */
+    public static ComponentName getDefaultSmsApplicationAsUser(Context context,
+            boolean updateIfNeeded, int userId) {
         final long token = Binder.clearCallingIdentity();
         try {
             ComponentName component = null;
diff --git a/telephony/java/com/android/internal/telephony/TelephonyPermissions.java b/telephony/java/com/android/internal/telephony/TelephonyPermissions.java
index 06378ba..23ea237 100644
--- a/telephony/java/com/android/internal/telephony/TelephonyPermissions.java
+++ b/telephony/java/com/android/internal/telephony/TelephonyPermissions.java
@@ -21,6 +21,7 @@
 import android.app.AppOpsManager;
 import android.content.Context;
 import android.os.Binder;
+import android.os.Process;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.telephony.Rlog;
@@ -307,4 +308,17 @@
         Rlog.e(LOG_TAG, "Phone process is down, cannot check carrier privileges");
         return TelephonyManager.CARRIER_PRIVILEGE_STATUS_NO_ACCESS;
     }
+
+    /**
+     * Throws if the caller is not of a shell (or root) UID.
+     *
+     * @param callingUid pass Binder.callingUid().
+     */
+    public static void enforceShellOnly(int callingUid, String message) {
+        if (callingUid == Process.SHELL_UID || callingUid == Process.ROOT_UID) {
+            return; // okay
+        }
+
+        throw new SecurityException(message + ": Only shell user can call it");
+    }
 }
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmSmsCbMessage.java b/telephony/java/com/android/internal/telephony/gsm/GsmSmsCbMessage.java
index 6bf22a0..8015b07 100644
--- a/telephony/java/com/android/internal/telephony/gsm/GsmSmsCbMessage.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GsmSmsCbMessage.java
@@ -33,6 +33,7 @@
 import com.android.internal.telephony.SmsConstants;
 
 import java.io.UnsupportedEncodingException;
+import java.util.Locale;
 
 /**
  * Parses a GSM or UMTS format SMS-CB message into an {@link SmsCbMessage} object. The class is
@@ -44,16 +45,34 @@
      * Languages in the 0000xxxx DCS group as defined in 3GPP TS 23.038, section 5.
      */
     private static final String[] LANGUAGE_CODES_GROUP_0 = {
-            "de", "en", "it", "fr", "es", "nl", "sv", "da", "pt", "fi", "no", "el", "tr", "hu",
-            "pl", null
+            Locale.GERMAN.getLanguage(),        // German
+            Locale.ENGLISH.getLanguage(),       // English
+            Locale.ITALIAN.getLanguage(),       // Italian
+            Locale.FRENCH.getLanguage(),        // French
+            new Locale("es").getLanguage(),     // Spanish
+            new Locale("nl").getLanguage(),     // Dutch
+            new Locale("sv").getLanguage(),     // Swedish
+            new Locale("da").getLanguage(),     // Danish
+            new Locale("pt").getLanguage(),     // Portuguese
+            new Locale("fi").getLanguage(),     // Finnish
+            new Locale("nb").getLanguage(),     // Norwegian
+            new Locale("el").getLanguage(),     // Greek
+            new Locale("tr").getLanguage(),     // Turkish
+            new Locale("hu").getLanguage(),     // Hungarian
+            new Locale("pl").getLanguage(),     // Polish
+            null
     };
 
     /**
      * Languages in the 0010xxxx DCS group as defined in 3GPP TS 23.038, section 5.
      */
     private static final String[] LANGUAGE_CODES_GROUP_2 = {
-            "cs", "he", "ar", "ru", "is", null, null, null, null, null, null, null, null, null,
-            null, null
+            new Locale("cs").getLanguage(),     // Czech
+            new Locale("he").getLanguage(),     // Hebrew
+            new Locale("ar").getLanguage(),     // Arabic
+            new Locale("ru").getLanguage(),     // Russian
+            new Locale("is").getLanguage(),     // Icelandic
+            null, null, null, null, null, null, null, null, null, null, null
     };
 
     private static final char CARRIAGE_RETURN = 0x0d;
diff --git a/telephony/java/com/android/internal/telephony/gsm/SmsCbConstants.java b/telephony/java/com/android/internal/telephony/gsm/SmsCbConstants.java
index 0fabc2f..541ca8d 100644
--- a/telephony/java/com/android/internal/telephony/gsm/SmsCbConstants.java
+++ b/telephony/java/com/android/internal/telephony/gsm/SmsCbConstants.java
@@ -118,71 +118,103 @@
     public static final int MESSAGE_ID_CMAS_ALERT_OPERATOR_DEFINED_USE
             = 0x111E; // 4382
 
-    /** CMAS Message Identifier for Presidential Level alerts for additional languages
-     *  for additional languages. */
+    /**
+     * CMAS Message Identifier for Presidential Level alerts for additional languages.
+     */
     public static final int MESSAGE_ID_CMAS_ALERT_PRESIDENTIAL_LEVEL_LANGUAGE
             = 0x111F; // 4383
 
-    /** CMAS Message Identifier for Extreme alerts, Urgency=Immediate, Certainty=Observed
-     *  for additional languages. */
+    /**
+     * CMAS Message Identifier for Extreme alerts, Urgency=Immediate, Certainty=Observed
+     * for additional languages.
+     */
     public static final int MESSAGE_ID_CMAS_ALERT_EXTREME_IMMEDIATE_OBSERVED_LANGUAGE
             = 0x1120; // 4384
 
-    /** CMAS Message Identifier for Extreme alerts, Urgency=Immediate, Certainty=Likely
-     *  for additional languages. */
+    /**
+     * CMAS Message Identifier for Extreme alerts, Urgency=Immediate, Certainty=Likely
+     *  for additional languages.
+     */
     public static final int MESSAGE_ID_CMAS_ALERT_EXTREME_IMMEDIATE_LIKELY_LANGUAGE
             = 0x1121; // 4385
 
-    /** CMAS Message Identifier for Extreme alerts, Urgency=Expected, Certainty=Observed
-     *  for additional languages. */
+    /**
+     * CMAS Message Identifier for Extreme alerts, Urgency=Expected, Certainty=Observed
+     * for additional languages.
+     */
     public static final int MESSAGE_ID_CMAS_ALERT_EXTREME_EXPECTED_OBSERVED_LANGUAGE
             = 0x1122; // 4386
 
-    /** CMAS Message Identifier for Extreme alerts, Urgency=Expected, Certainty=Likely
-     *  for additional languages. */
+    /**
+     * CMAS Message Identifier for Extreme alerts, Urgency=Expected, Certainty=Likely
+     * for additional languages.
+     */
     public static final int MESSAGE_ID_CMAS_ALERT_EXTREME_EXPECTED_LIKELY_LANGUAGE
             = 0x1123; // 4387
 
-    /** CMAS Message Identifier for Severe alerts, Urgency=Immediate, Certainty=Observed
-     *  for additional languages. */
+    /**
+     * CMAS Message Identifier for Severe alerts, Urgency=Immediate, Certainty=Observed
+     * for additional languages.
+     */
     public static final int MESSAGE_ID_CMAS_ALERT_SEVERE_IMMEDIATE_OBSERVED_LANGUAGE
             = 0x1124; // 4388
 
-    /** CMAS Message Identifier for Severe alerts, Urgency=Immediate, Certainty=Likely
-     *  for additional languages.*/
+    /**
+     * CMAS Message Identifier for Severe alerts, Urgency=Immediate, Certainty=Likely
+     * for additional languages.
+     */
     public static final int MESSAGE_ID_CMAS_ALERT_SEVERE_IMMEDIATE_LIKELY_LANGUAGE
             = 0x1125; // 4389
 
-    /** CMAS Message Identifier for Severe alerts, Urgency=Expected, Certainty=Observed
-     *  for additional languages. */
+    /**
+     * CMAS Message Identifier for Severe alerts, Urgency=Expected, Certainty=Observed
+     * for additional languages.
+     */
     public static final int MESSAGE_ID_CMAS_ALERT_SEVERE_EXPECTED_OBSERVED_LANGUAGE
             = 0x1126; // 4390
 
-    /** CMAS Message Identifier for Severe alerts, Urgency=Expected, Certainty=Likely
-     *  for additional languages.*/
+    /**
+     * CMAS Message Identifier for Severe alerts, Urgency=Expected, Certainty=Likely
+     * for additional languages.
+     */
     public static final int MESSAGE_ID_CMAS_ALERT_SEVERE_EXPECTED_LIKELY_LANGUAGE
             = 0x1127; // 4391
 
-    /** CMAS Message Identifier for Child Abduction Emergency (Amber Alert)
-     *  for additional languages. */
+    /**
+     * CMAS Message Identifier for Child Abduction Emergency (Amber Alert)
+     * for additional languages.
+     */
     public static final int MESSAGE_ID_CMAS_ALERT_CHILD_ABDUCTION_EMERGENCY_LANGUAGE
             = 0x1128; // 4392
 
-    /** CMAS Message Identifier for the Required Monthly Test
-     *  for additional languages. */
+    /** CMAS Message Identifier for the Required Monthly Test  for additional languages. */
     public static final int MESSAGE_ID_CMAS_ALERT_REQUIRED_MONTHLY_TEST_LANGUAGE
             = 0x1129; // 4393
 
-    /** CMAS Message Identifier for CMAS Exercise
-     *  for additional languages. */
+    /** CMAS Message Identifier for CMAS Exercise for additional languages. */
     public static final int MESSAGE_ID_CMAS_ALERT_EXERCISE_LANGUAGE
             = 0x112A; // 4394
 
-    /** CMAS Message Identifier for operator defined use
-     *  for additional languages. */
+    /** CMAS Message Identifier for operator defined use for additional languages. */
     public static final int MESSAGE_ID_CMAS_ALERT_OPERATOR_DEFINED_USE_LANGUAGE
             = 0x112B; // 4395
 
+    /** CMAS Message Identifier for CMAS Public Safety Alerts. */
+    public static final int MESSAGE_ID_CMAS_ALERT_PUBLIC_SAFETY
+            = 0x112C; // 4396
+
+    /** CMAS Message Identifier for CMAS Public Safety Alerts for additional languages. */
+    public static final int MESSAGE_ID_CMAS_ALERT_PUBLIC_SAFETY_LANGUAGE
+            = 0x112D; // 4397
+
+    /** CMAS Message Identifier for CMAS State/Local Test. */
+    public static final int MESSAGE_ID_CMAS_ALERT_STATE_LOCAL_TEST
+            = 0x112E; // 4398
+
+    /** CMAS Message Identifier for CMAS State/Local Test for additional languages. */
+    public static final int MESSAGE_ID_CMAS_ALERT_STATE_LOCAL_TEST_LANGUAGE
+            = 0x112F; // 4399
+
     /** End of CMAS Message Identifier range (including future extensions). */
     public static final int MESSAGE_ID_CMAS_LAST_IDENTIFIER
             = 0x112F; // 4399
diff --git a/telephony/java/com/android/internal/telephony/uicc/IccUtils.java b/telephony/java/com/android/internal/telephony/uicc/IccUtils.java
index 4790b75..6b3df94 100644
--- a/telephony/java/com/android/internal/telephony/uicc/IccUtils.java
+++ b/telephony/java/com/android/internal/telephony/uicc/IccUtils.java
@@ -93,11 +93,23 @@
      *     converted. If the array size is more than needed, the rest of array remains unchanged.
      */
     public static void bcdToBytes(String bcd, byte[] bytes) {
+        bcdToBytes(bcd, bytes, 0);
+    }
+
+    /**
+     * Converts BCD string to bytes and put it into the given byte array.
+     *
+     * @param bcd This should have an even length. If not, an "0" will be appended to the string.
+     * @param bytes If the array size is less than needed, the rest of the BCD string isn't be
+     *     converted. If the array size is more than needed, the rest of array remains unchanged.
+     * @param offset the offset into the bytes[] to fill the data
+     */
+    public static void bcdToBytes(String bcd, byte[] bytes, int offset) {
         if (bcd.length() % 2 != 0) {
             bcd += "0";
         }
-        int size = Math.min(bytes.length * 2, bcd.length());
-        for (int i = 0, j = 0; i + 1 < size; i += 2, j++) {
+        int size = Math.min((bytes.length - offset) * 2, bcd.length());
+        for (int i = 0, j = offset; i + 1 < size; i += 2, j++) {
             bytes[j] = (byte) (charToByte(bcd.charAt(i + 1)) << 4 | charToByte(bcd.charAt(i)));
         }
     }
@@ -125,6 +137,20 @@
     }
 
     /**
+     * Convert a 5 or 6 - digit PLMN string to a nibble-swizzled encoding as per 24.008 10.5.1.3
+     *
+     * @param plmn the PLMN to convert
+     * @param data a byte array for the output
+     * @param offset the offset into data to start writing
+     */
+    public static void stringToBcdPlmn(final String plmn, byte[] data, int offset) {
+        char digit6 = (plmn.length() > 5) ? plmn.charAt(5) : 'F';
+        data[offset] = (byte) (charToByte(plmn.charAt(1)) << 4 | charToByte(plmn.charAt(0)));
+        data[offset + 1] = (byte) (charToByte(digit6) << 4 | charToByte(plmn.charAt(2)));
+        data[offset + 2] = (byte) (charToByte(plmn.charAt(4)) << 4 | charToByte(plmn.charAt(3)));
+    }
+
+    /**
      * Some fields (like ICC ID) in GSM SIMs are stored as nibble-swizzled BCH
      */
     public static String
@@ -844,7 +870,7 @@
     }
 
     /**
-     * Converts a character of [0-9a-aA-F] to its hex value in a byte. If the character is not a
+     * Converts a character of [0-9a-fA-F] to its hex value in a byte. If the character is not a
      * hex number, 0 will be returned.
      */
     private static byte charToByte(char c) {
diff --git a/test-mock/api/system-current.txt b/test-mock/api/system-current.txt
index 20401a5..3bd3d68 100644
--- a/test-mock/api/system-current.txt
+++ b/test-mock/api/system-current.txt
@@ -11,6 +11,7 @@
 
   public deprecated class MockPackageManager extends android.content.pm.PackageManager {
     method public void addOnPermissionsChangeListener(android.content.pm.PackageManager.OnPermissionsChangedListener);
+    method public boolean arePermissionsIndividuallyControlled();
     method public java.util.List<android.content.IntentFilter> getAllIntentFilters(java.lang.String);
     method public java.lang.String getDefaultBrowserPackageNameAsUser(int);
     method public java.util.List<android.content.pm.PackageInfo> getInstalledPackagesAsUser(int, int);
diff --git a/tests/AppLaunch/src/com/android/tests/applaunch/AppLaunch.java b/tests/AppLaunch/src/com/android/tests/applaunch/AppLaunch.java
index 4a6fe49..1f60b71 100644
--- a/tests/AppLaunch/src/com/android/tests/applaunch/AppLaunch.java
+++ b/tests/AppLaunch/src/com/android/tests/applaunch/AppLaunch.java
@@ -247,8 +247,14 @@
                     mIterationCycle = false;
                     // In the "applaunch.txt" file, trail launches is referenced using
                     // "TRIAL_LAUNCH"
-                    String appPkgName = mNameToIntent.get(launch.getApp())
-                        .getComponent().getPackageName();
+                    Intent startIntent = mNameToIntent.get(launch.getApp());
+                    if (startIntent == null) {
+                        Log.w(TAG, "App does not exist: " + launch.getApp());
+                        mResult.putString(mNameToResultKey.get(launch.getApp()),
+                            "App does not exist");
+                        continue;
+                    }
+                    String appPkgName = startIntent.getComponent().getPackageName();
                     if (SPEED_PROFILE_FILTER.equals(launch.getCompilerFilter())) {
                         assertTrue(String.format("Not able to compile the app : %s", appPkgName),
                               compileApp(VERIFY_FILTER, appPkgName));
diff --git a/tests/DexLoggerIntegrationTests/AndroidManifest.xml b/tests/DexLoggerIntegrationTests/AndroidManifest.xml
index a847e8f..a9f01ed 100644
--- a/tests/DexLoggerIntegrationTests/AndroidManifest.xml
+++ b/tests/DexLoggerIntegrationTests/AndroidManifest.xml
@@ -17,10 +17,10 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
         package="com.android.frameworks.dexloggertest">
 
-    <!-- Tests feature introduced in P (27) -->
+    <!-- Tests feature introduced in P (28) -->
     <uses-sdk
-        android:minSdkVersion="27"
-        android:targetSdkVersion="27" />
+        android:minSdkVersion="28"
+        android:targetSdkVersion="28" />
 
     <uses-permission android:name="android.permission.READ_LOGS" />
 
diff --git a/tests/ImfTest/Android.mk b/tests/ImfTest/Android.mk
deleted file mode 100644
index a8f5b08..0000000
--- a/tests/ImfTest/Android.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-# We only want this apk build for tests.
-LOCAL_MODULE_TAGS := tests
-
-# Only compile source java files in this apk.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := ImfTest
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-include $(BUILD_PACKAGE)
-
-# Use the following include to make our test apk.
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/ImfTest/AndroidManifest.xml b/tests/ImfTest/AndroidManifest.xml
deleted file mode 100644
index 82dbe75..0000000
--- a/tests/ImfTest/AndroidManifest.xml
+++ /dev/null
@@ -1,146 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
-        package="com.android.imftest">
-
-   <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
-
-   <application>
-    
-        <activity android:name=".samples.InputTypeActivity" android:label="Input Type Activity">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN"/>
-                <category android:name="android.intent.category.LAUNCHER" />
-                <category android:name="android.intent.category.IMF_TEST" />
-            </intent-filter>
-        </activity>
-                
-        <activity android:name=".samples.ButtonActivity" android:label="Button Activity">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN"/>
-                <category android:name="android.intent.category.LAUNCHER" />
-                <category android:name="android.intent.category.IMF_TEST" />
-            </intent-filter>
-        </activity>
-        
-        <activity android:name=".samples.BigEditTextActivityNonScrollablePanScan" android:label="Big ET !Scroll Pan/Scan">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN"/>
-                <category android:name="android.intent.category.LAUNCHER" />
-                <category android:name="android.intent.category.IMF_TEST" />
-            </intent-filter>
-        </activity>
-
-        <activity android:name=".samples.ManyEditTextActivityNoScrollPanScan" android:label="ManyEditTextActivityNoScrollPanScan">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN"/>
-                <category android:name="android.intent.category.LAUNCHER" />
-                <category android:name="android.intent.category.IMF_TEST" />
-            </intent-filter>
-        </activity>
-        
-        <activity android:name=".samples.BigEditTextActivityNonScrollableResize" android:label="Big ET !Scroll Resize">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN"/>
-                <category android:name="android.intent.category.LAUNCHER" />
-                <category android:name="android.intent.category.IMF_TEST" />
-            </intent-filter>
-        </activity>
-        
-        <activity android:name=".samples.BigEditTextActivityScrollablePanScan" android:label="Big ET Scroll Pan/Scan">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN"/>
-                <category android:name="android.intent.category.LAUNCHER" />
-                <category android:name="android.intent.category.IMF_TEST" />
-            </intent-filter>
-        </activity>
-        
-        <activity android:name=".samples.BigEditTextActivityScrollableResize" android:label="Big ET Scroll Resize">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN"/>
-                <category android:name="android.intent.category.LAUNCHER" />
-                <category android:name="android.intent.category.IMF_TEST" />
-            </intent-filter>
-        </activity>
-
-        <activity android:name=".samples.EditTextActivityDialog" android:label="ET Dialog">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN"/>
-                <category android:name="android.intent.category.LAUNCHER" />
-                <category android:name="android.intent.category.IMF_TEST" />
-            </intent-filter>
-        </activity>
-
-        <activity android:name=".samples.ManyEditTextActivityScrollPanScan" android:label="ManyEditTextActivityScrollPanScan">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN"/>
-                <category android:name="android.intent.category.LAUNCHER" />
-                <category android:name="android.intent.category.IMF_TEST" />
-            </intent-filter>
-        </activity>
-        
-        <activity android:name=".samples.ManyEditTextActivityScrollResize" android:label="ManyEditTextActivityScrollResize">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN"/>
-                <category android:name="android.intent.category.LAUNCHER" />
-                <category android:name="android.intent.category.IMF_TEST" />
-            </intent-filter>
-        </activity>
-
-        <activity android:name=".samples.BottomEditTextActivityPanScan" android:label="BottomEditTextActivityPanScan">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN"/>
-                <category android:name="android.intent.category.LAUNCHER" />
-                <category android:name="android.intent.category.IMF_TEST" />
-            </intent-filter>
-        </activity>
-        
-        <activity android:name=".samples.BottomEditTextActivityResize" android:label="BottomEditTextActivityResize">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN"/>
-                <category android:name="android.intent.category.LAUNCHER" />
-                <category android:name="android.intent.category.IMF_TEST" />
-            </intent-filter>
-        </activity>
-        
-        <activity android:name=".samples.OneEditTextActivitySelected" android:label="OneEditTextActivitySelected">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN"/>
-                <category android:name="android.intent.category.LAUNCHER" />
-                <category android:name="android.intent.category.IMF_TEST" />
-            </intent-filter>
-        </activity>
-    
-        <activity android:name=".samples.OneEditTextActivityNotSelected" android:label="OneEditTextActivityNotSelected">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN"/>
-                <category android:name="android.intent.category.LAUNCHER" />
-                <category android:name="android.intent.category.IMF_TEST" />
-            </intent-filter>
-        </activity>
-         
-        <activity android:name=".samples.AutoCompleteTextViewActivityPortrait" android:label="AutoCompleteTextViewActivityPortrait" android:screenOrientation="portrait">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN"/>
-                <category android:name="android.intent.category.LAUNCHER" />
-                <category android:name="android.intent.category.IMF_TEST" />
-            </intent-filter>
-        </activity>
-   
-        <activity android:name=".samples.AutoCompleteTextViewActivityLandscape" android:label="AutoCompleteTextViewActivityLandscape" android:screenOrientation="landscape">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN"/>
-                <category android:name="android.intent.category.LAUNCHER" />
-                <category android:name="android.intent.category.IMF_TEST" />
-            </intent-filter>
-        </activity>   
-        
-        <activity android:name=".samples.DialogActivity" android:label="DialogActivity" android:screenOrientation="portrait">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN"/>
-                <category android:name="android.intent.category.LAUNCHER" />
-                <category android:name="android.intent.category.IMF_TEST" />
-            </intent-filter>
-        </activity>              
-          
-    </application>
-    
-</manifest>
diff --git a/tests/ImfTest/res/layout/dialog_edit_text_no_scroll.xml b/tests/ImfTest/res/layout/dialog_edit_text_no_scroll.xml
deleted file mode 100644
index 1a2b7eb..0000000
--- a/tests/ImfTest/res/layout/dialog_edit_text_no_scroll.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 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.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:padding="20dip"
-    android:orientation="vertical">
-            
-    <View
-    	android:id="@+id/blank"
-    	android:layout_height="0dip"
-    	android:layout_width="match_parent"
-    	android:layout_weight="1"/>
-    	
-    <EditText
-        android:id="@+id/dialog_edit_text"
-        android:layout_height="wrap_content"
-        android:layout_width="match_parent"
-        android:scrollHorizontally="true"
-        android:textAppearance="?android:attr/textAppearanceMedium" />
-
-</LinearLayout>
diff --git a/tests/ImfTest/res/layout/full_screen_edit_text.xml b/tests/ImfTest/res/layout/full_screen_edit_text.xml
deleted file mode 100644
index e760ac1..0000000
--- a/tests/ImfTest/res/layout/full_screen_edit_text.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/* //device/samples/SampleCode/res/layout/baseline_1.xml
-**
-** Copyright 2009, 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.
-*/
--->
-
-<EditText xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/data" 
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:minLines="15"
-    android:gravity="top"/>
-
diff --git a/tests/ImfTest/res/layout/one_edit_text_activity.xml b/tests/ImfTest/res/layout/one_edit_text_activity.xml
deleted file mode 100644
index 0558228..0000000
--- a/tests/ImfTest/res/layout/one_edit_text_activity.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/* //device/samples/SampleCode/res/layout/baseline_1.xml
-**
-** Copyright 2007, 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.
-*/
--->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="vertical"
->
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:orientation="vertical"
-        android:baselineAligned="false">
-
-        <View android:id="@+id/blank"
-            android:layout_height="0dip"
-            android:layout_width="match_parent"
-            android:layout_weight="1"
-        />
-
-        <EditText android:id="@+id/dialog_edit_text"
-            android:layout_height="wrap_content"
-            android:layout_width="match_parent"
-            android:scrollHorizontally="true"
-            android:textAppearance="?android:attr/textAppearanceMedium"
-        />
-    </LinearLayout>
-
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dip"
-        android:background="@android:drawable/divider_horizontal_dark"
-    />
-</LinearLayout>
diff --git a/tests/ImfTest/res/layout/sample_edit_text.xml b/tests/ImfTest/res/layout/sample_edit_text.xml
deleted file mode 100644
index 3ff6767..0000000
--- a/tests/ImfTest/res/layout/sample_edit_text.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/* //device/samples/SampleCode/res/layout/baseline_1.xml
-**
-** Copyright 2007, 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.
-*/
--->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="vertical"
->
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:minHeight="?android:attr/listPreferredItemHeight"
-        android:orientation="horizontal"
-        android:baselineAligned="false"
-        android:gravity="center_vertical"
-    >
-
-        <TextView android:id="@+id/label"
-            android:layout_width="100dip"
-            android:layout_height="wrap_content"
-            android:gravity="right|center_vertical"
-        />
-
-        <EditText android:id="@+id/data"
-            android:layout_width="0dip"
-            android:layout_weight="1"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="8dip"
-        />
-    </LinearLayout>
-
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dip"
-        android:background="@android:drawable/divider_horizontal_dark"
-    />
-</LinearLayout>
diff --git a/tests/ImfTest/res/values/config.xml b/tests/ImfTest/res/values/config.xml
deleted file mode 100644
index 5ae40a3..0000000
--- a/tests/ImfTest/res/values/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/**
- * Copyright (c) 2009, 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.
- */
--->
-<resources>
-    <bool name="def_expect_ime_autopop">false</bool>
-</resources>
diff --git a/tests/ImfTest/res/values/strings.xml b/tests/ImfTest/res/values/strings.xml
deleted file mode 100644
index fc87480..0000000
--- a/tests/ImfTest/res/values/strings.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, 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.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- Strings for sample activities -->
-    <string name="normal_edit_text_label">Normal</string>
-    <string name="uri_edit_text_label">Uri</string>
-    <string name="email_address_edit_text_label">Email Address</string>
-    <string name="email_subject_edit_text_label">Email Subject</string>
-    <string name="email_content_edit_text_label">Email Content</string>
-    <string name="person_name_edit_text_label">Person Name</string>
-    <string name="postal_address_edit_text_label">Postal Address</string>
-    <string name="password_edit_text_label">Password</string>
-    <string name="search_string_edit_text_label">Search String</string>
-    <string name="web_edit_text_label">Web Edit Text</string>
-    <string name="signed_number_edit_text_label">Signed Number</string>
-    <string name="decimal_number_edit_text_label">Decimal Number</string>
-    <string name="phone_number_edit_text_label">Phone Number</string>
-    <string name="normal_datetime_edit_text_label">Datetime</string>
-    <string name="date_edit_text_label">Date</string>
-    <string name="time_edit_text_label">Time</string>
-    <string name="cap_chars_edit_text_label">Cap Chars</string>
-    <string name="cap_words_edit_text_label">Cap Words</string>
-    <string name="multiline_edit_text_label">Multiline</string>
-    <string name="search_edit_text_label">Search (flag)</string>
-    <string name="cap_sentences_edit_text_label">Cap Sentences</string>
-    <string name="auto_complete_edit_text_label">Auto Complete</string>
-    <string name="auto_correct_edit_text_label">Auto Correct</string>
-    <string name="test_dialog">Test Dialog</string>
-    <string name="open_dialog_scrollable">open scrollable dialog</string>
-    <string name="open_dialog_nonscrollable">open nonscrollable dialog</string>
-    
-    
-</resources>
diff --git a/tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityLandscape.java b/tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityLandscape.java
deleted file mode 100644
index 6115fd5..0000000
--- a/tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityLandscape.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-package com.android.imftest.samples;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.os.RemoteException;
-import android.provider.MediaStore;
-import android.view.KeyEvent;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.Window;
-import android.view.WindowManager;
-import android.widget.LinearLayout;
-import android.view.inputmethod.InputMethodManager;
-import android.widget.EditText;
-import android.widget.TextView;
-import android.widget.AutoCompleteTextView;
-import android.widget.ArrayAdapter;
-import android.content.Intent;
-import android.content.pm.ActivityInfo;
-
-import com.android.internal.R;
-
-/*
- * Activity with AutoCompleteTextView forced to landscape mode
- */
-public class AutoCompleteTextViewActivityLandscape extends Activity 
-{
-   @Override
-   public void onCreate(Bundle savedInstanceState) 
-   {
-       super.onCreate(savedInstanceState);
-    
-       setContentView(R.layout.auto_complete_list);
-
-       ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
-               android.R.layout.simple_dropdown_item_1line, COUNTRIES);
-       AutoCompleteTextView textView = findViewById(R.id.edit);
-       textView.setAdapter(adapter);
-   }
-
-   static final String[] COUNTRIES = new String[] {
-   "Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra",
-   "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina",
-   "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan",
-   "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium",
-   "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia",
-   "Bosnia and Herzegovina", "Botswana", "Bouvet Island", "Brazil", "British Indian Ocean Territory",
-   "British Virgin Islands", "Brunei", "Bulgaria", "Burkina Faso", "Burundi",
-   "Cote d'Ivoire", "Cambodia", "Cameroon", "Canada", "Cape Verde",
-   "Cayman Islands", "Central African Republic", "Chad", "Chile", "China",
-   "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo",
-   "Cook Islands", "Costa Rica", "Croatia", "Cuba", "Cyprus", "Czechia",
-   "Democratic Republic of the Congo", "Denmark", "Djibouti", "Dominica", "Dominican Republic",
-   "East Timor", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea",
-   "Estonia", "Ethiopia", "Faeroe Islands", "Falkland Islands", "Fiji", "Finland",
-   "Former Yugoslav Republic of Macedonia", "France", "French Guiana", "French Polynesia",
-   "French Southern Territories", "Gabon", "Georgia", "Germany", "Ghana", "Gibraltar",
-   "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guinea-Bissau",
-   "Guyana", "Haiti", "Heard Island and McDonald Islands", "Honduras", "Hong Kong", "Hungary",
-   "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Israel", "Italy", "Jamaica",
-   "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Kuwait", "Kyrgyzstan", "Laos",
-   "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg",
-   "Macau", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands",
-   "Martinique", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia", "Moldova",
-   "Monaco", "Mongolia", "Montserrat", "Morocco", "Mozambique", "Myanmar", "Namibia",
-   "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand",
-   "Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "North Korea", "Northern Marianas",
-   "Norway", "Oman", "Pakistan", "Palau", "Panama", "Papua New Guinea", "Paraguay", "Peru",
-   "Philippines", "Pitcairn Islands", "Poland", "Portugal", "Puerto Rico", "Qatar",
-   "Reunion", "Romania", "Russia", "Rwanda", "Sqo Tome and Principe", "Saint Helena",
-   "Saint Kitts and Nevis", "Saint Lucia", "Saint Pierre and Miquelon",
-   "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Saudi Arabia", "Senegal",
-   "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands",
-   "Somalia", "South Africa", "South Georgia and the South Sandwich Islands", "South Korea",
-   "Spain", "Sri Lanka", "Sudan", "Suriname", "Svalbard and Jan Mayen", "Swaziland", "Sweden",
-   "Switzerland", "Syria", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "The Bahamas",
-   "The Gambia", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey",
-   "Turkmenistan", "Turks and Caicos Islands", "Tuvalu", "Virgin Islands", "Uganda",
-   "Ukraine", "United Arab Emirates", "United Kingdom",
-   "United States", "United States Minor Outlying Islands", "Uruguay", "Uzbekistan",
-   "Vanuatu", "Vatican City", "Venezuela", "Vietnam", "Wallis and Futuna", "Western Sahara",
-   "Yemen", "Yugoslavia", "Zambia", "Zimbabwe"
-   };
-}
diff --git a/tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityPortrait.java b/tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityPortrait.java
deleted file mode 100644
index 253c50f..0000000
--- a/tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityPortrait.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-package com.android.imftest.samples;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.view.KeyEvent;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.widget.LinearLayout;
-import android.view.inputmethod.InputMethodManager;
-import android.widget.EditText;
-import android.widget.TextView;
-import android.widget.AutoCompleteTextView;
-import android.widget.ArrayAdapter;
-
-import com.android.internal.R;
-
-/*
- * Activity with AutoCompleteTextView (Candidate bar should not appear)
- */
-public class AutoCompleteTextViewActivityPortrait extends Activity 
-{
-   @Override
-   public void onCreate(Bundle savedInstanceState) 
-   {
-       super.onCreate(savedInstanceState);
-       
-       setContentView(R.layout.auto_complete_list);
-
-       ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
-               android.R.layout.simple_dropdown_item_1line, COUNTRIES);
-       AutoCompleteTextView textView = findViewById(R.id.edit);
-       textView.setAdapter(adapter);
-   }
-
-   static final String[] COUNTRIES = new String[] {
-   "Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra",
-   "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina",
-   "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan",
-   "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium",
-   "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia",
-   "Bosnia and Herzegovina", "Botswana", "Bouvet Island", "Brazil", "British Indian Ocean Territory",
-   "British Virgin Islands", "Brunei", "Bulgaria", "Burkina Faso", "Burundi",
-   "Cote d'Ivoire", "Cambodia", "Cameroon", "Canada", "Cape Verde",
-   "Cayman Islands", "Central African Republic", "Chad", "Chile", "China",
-   "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo",
-   "Cook Islands", "Costa Rica", "Croatia", "Cuba", "Cyprus", "Czechia",
-   "Democratic Republic of the Congo", "Denmark", "Djibouti", "Dominica", "Dominican Republic",
-   "East Timor", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea",
-   "Estonia", "Ethiopia", "Faeroe Islands", "Falkland Islands", "Fiji", "Finland",
-   "Former Yugoslav Republic of Macedonia", "France", "French Guiana", "French Polynesia",
-   "French Southern Territories", "Gabon", "Georgia", "Germany", "Ghana", "Gibraltar",
-   "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guinea-Bissau",
-   "Guyana", "Haiti", "Heard Island and McDonald Islands", "Honduras", "Hong Kong", "Hungary",
-   "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Israel", "Italy", "Jamaica",
-   "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Kuwait", "Kyrgyzstan", "Laos",
-   "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg",
-   "Macau", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands",
-   "Martinique", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia", "Moldova",
-   "Monaco", "Mongolia", "Montserrat", "Morocco", "Mozambique", "Myanmar", "Namibia",
-   "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand",
-   "Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "North Korea", "Northern Marianas",
-   "Norway", "Oman", "Pakistan", "Palau", "Panama", "Papua New Guinea", "Paraguay", "Peru",
-   "Philippines", "Pitcairn Islands", "Poland", "Portugal", "Puerto Rico", "Qatar",
-   "Reunion", "Romania", "Russia", "Rwanda", "Sqo Tome and Principe", "Saint Helena",
-   "Saint Kitts and Nevis", "Saint Lucia", "Saint Pierre and Miquelon",
-   "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Saudi Arabia", "Senegal",
-   "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands",
-   "Somalia", "South Africa", "South Georgia and the South Sandwich Islands", "South Korea",
-   "Spain", "Sri Lanka", "Sudan", "Suriname", "Svalbard and Jan Mayen", "Swaziland", "Sweden",
-   "Switzerland", "Syria", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "The Bahamas",
-   "The Gambia", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey",
-   "Turkmenistan", "Turks and Caicos Islands", "Tuvalu", "Virgin Islands", "Uganda",
-   "Ukraine", "United Arab Emirates", "United Kingdom",
-   "United States", "United States Minor Outlying Islands", "Uruguay", "Uzbekistan",
-   "Vanuatu", "Vatican City", "Venezuela", "Vietnam", "Wallis and Futuna", "Western Sahara",
-   "Yemen", "Yugoslavia", "Zambia", "Zimbabwe"
-   };
-}
diff --git a/tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollablePanScan.java b/tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollablePanScan.java
deleted file mode 100644
index 033082f..0000000
--- a/tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollablePanScan.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-package com.android.imftest.samples;
-
-import com.android.imftest.R;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.widget.LinearLayout;
-
-public class BigEditTextActivityNonScrollablePanScan extends Activity {
-    
-    private View mRootView;
-    private View mDefaultFocusedView;
-    
-    @Override
-    protected void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-        
-        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
-        
-        mRootView = new LinearLayout(this);
-        ((LinearLayout) mRootView).setOrientation(LinearLayout.VERTICAL);
-        mRootView.setLayoutParams(new ViewGroup.LayoutParams(
-                ViewGroup.LayoutParams.MATCH_PARENT,
-                ViewGroup.LayoutParams.MATCH_PARENT));
-        
-        View view = getLayoutInflater().inflate(
-                R.layout.full_screen_edit_text, ((LinearLayout) mRootView), false);
-        
-        ((LinearLayout) mRootView).addView(view);
-        
-        mDefaultFocusedView = view.findViewById(R.id.data);
-        
-        setContentView(mRootView);
-    }
-
-    public View getRootView() {
-        return mRootView;
-    }
-    
-    public View getDefaultFocusedView() {
-        return mDefaultFocusedView;
-    }
-
-}
diff --git a/tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollableResize.java b/tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollableResize.java
deleted file mode 100644
index 8a16dea..0000000
--- a/tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollableResize.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-package com.android.imftest.samples;
-
-import com.android.imftest.R;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.widget.LinearLayout;
-
-public class BigEditTextActivityNonScrollableResize extends Activity {
-    
-    private View mRootView;
-    private View mDefaultFocusedView;
-    
-    @Override
-    protected void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-        
-        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
-        
-        mRootView = new LinearLayout(this);
-        ((LinearLayout) mRootView).setOrientation(LinearLayout.VERTICAL);
-        mRootView.setLayoutParams(new ViewGroup.LayoutParams(
-                ViewGroup.LayoutParams.MATCH_PARENT,
-                ViewGroup.LayoutParams.MATCH_PARENT));
-        
-        View view = getLayoutInflater().inflate(
-                R.layout.full_screen_edit_text, ((LinearLayout) mRootView), false);
-        
-        ((LinearLayout) mRootView).addView(view);
-        
-        mDefaultFocusedView = view.findViewById(R.id.data);
-        
-        setContentView(mRootView);
-    }
-
-    public View getRootView() {
-        return mRootView;
-    }
-    
-    public View getDefaultFocusedView() {
-        return mDefaultFocusedView;
-    }
-
-}
diff --git a/tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollablePanScan.java b/tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollablePanScan.java
deleted file mode 100644
index b4fdc4c..0000000
--- a/tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollablePanScan.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-package com.android.imftest.samples;
-
-import com.android.imftest.R;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.widget.LinearLayout;
-import android.widget.ScrollView;
-
-public class BigEditTextActivityScrollablePanScan extends Activity {
-    
-    private View mRootView;
-    private View mDefaultFocusedView;
-    private LinearLayout mLayout;
-    
-    @Override
-    protected void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-        
-        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
-        
-        mRootView = new ScrollView(this);
-        ((ScrollView) mRootView).setFillViewport(true);
-        mRootView.setLayoutParams(new ViewGroup.LayoutParams(
-                ViewGroup.LayoutParams.MATCH_PARENT,
-                ViewGroup.LayoutParams.MATCH_PARENT));
-        
-        mLayout = new LinearLayout(this);
-        mLayout.setOrientation(LinearLayout.VERTICAL);
-        mLayout.setLayoutParams(new ViewGroup.LayoutParams(
-                ViewGroup.LayoutParams.MATCH_PARENT,
-                ViewGroup.LayoutParams.MATCH_PARENT));
-        
-        View view = getLayoutInflater().inflate(
-                R.layout.full_screen_edit_text, ((ScrollView) mRootView), false);
-        
-        mLayout.addView(view);
-        
-        ((ScrollView) mRootView).addView(mLayout);
-        mDefaultFocusedView = view.findViewById(R.id.data);
-        
-        setContentView(mRootView);
-    }
-
-    public View getRootView() {
-        return mRootView;
-    }
-    
-    public View getDefaultFocusedView() {
-        return mDefaultFocusedView;
-    }
-
-}
diff --git a/tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollableResize.java b/tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollableResize.java
deleted file mode 100644
index 757b6b5..0000000
--- a/tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollableResize.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-package com.android.imftest.samples;
-
-import com.android.imftest.R;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.widget.LinearLayout;
-import android.widget.ScrollView;
-
-public class BigEditTextActivityScrollableResize extends Activity {
-    
-    private View mRootView;
-    private View mDefaultFocusedView;
-    private LinearLayout mLayout;
-    
-    @Override
-    protected void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-        
-        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
-        
-        mRootView = new ScrollView(this);
-        ((ScrollView) mRootView).setFillViewport(true);
-        mRootView.setLayoutParams(new ViewGroup.LayoutParams(
-                ViewGroup.LayoutParams.MATCH_PARENT,
-                ViewGroup.LayoutParams.MATCH_PARENT));
-        
-        mLayout = new LinearLayout(this);
-        mLayout.setOrientation(LinearLayout.VERTICAL);
-        mLayout.setLayoutParams(new ViewGroup.LayoutParams(
-                ViewGroup.LayoutParams.MATCH_PARENT,
-                ViewGroup.LayoutParams.MATCH_PARENT));
-        
-        View view = getLayoutInflater().inflate(
-                R.layout.full_screen_edit_text, ((ScrollView) mRootView), false);
-        
-        mLayout.addView(view);
-        
-        ((ScrollView) mRootView).addView(mLayout);
-        mDefaultFocusedView = view.findViewById(R.id.data);
-        
-        setContentView(mRootView);
-    }
-
-    public View getRootView() {
-        return mRootView;
-    }
-    
-    public View getDefaultFocusedView() {
-        return mDefaultFocusedView;
-    }
-
-}
diff --git a/tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityPanScan.java b/tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityPanScan.java
deleted file mode 100644
index 91a329d..0000000
--- a/tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityPanScan.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-package com.android.imftest.samples;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.WindowManager;
-import android.widget.LinearLayout;
-import android.widget.EditText;
-import android.widget.ScrollView;
-import android.widget.TextView;
-
-import com.android.imftest.R;
-
-/*
- * Activity with EditText at the bottom (Pan&Scan)
- */
-public class BottomEditTextActivityPanScan extends Activity 
-{
-    private View mRootView;
-    private View mDefaultFocusedView;
-    
-    @Override
-    public void onCreate(Bundle savedInstanceState) 
-    {
-        super.onCreate(savedInstanceState);
-        
-        mRootView = new LinearLayout(this);
-        ((LinearLayout) mRootView).setOrientation(LinearLayout.VERTICAL);
-        
-        View view = getLayoutInflater().inflate(R.layout.one_edit_text_activity, ((LinearLayout) mRootView), false);
-        mDefaultFocusedView = view.findViewById(R.id.dialog_edit_text);
-        ((LinearLayout) mRootView).addView(view);
-       
-        setContentView(mRootView);
-        this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
-    }  
-
-    public View getRootView() {
-        return mRootView;
-    }
-    
-    public View getDefaultFocusedView() {
-        return mDefaultFocusedView;
-    }
-}
diff --git a/tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityResize.java b/tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityResize.java
deleted file mode 100644
index c4c41bc..0000000
--- a/tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityResize.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-package com.android.imftest.samples;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.WindowManager;
-import android.widget.LinearLayout;
-import android.widget.EditText;
-import android.widget.ScrollView;
-import android.widget.TextView;
-
-import com.android.imftest.R;
-
-/*
- * Activity with EditText at the bottom (Resize)
- */
-public class BottomEditTextActivityResize extends Activity 
-{
-    private View mRootView;
-    private View mDefaultFocusedView;
-    
-    @Override
-    public void onCreate(Bundle savedInstanceState) 
-    {
-        super.onCreate(savedInstanceState);
-        
-        mRootView = new LinearLayout(this);
-        ((LinearLayout) mRootView).setOrientation(LinearLayout.VERTICAL);
-        
-        View view = getLayoutInflater().inflate(R.layout.one_edit_text_activity, ((LinearLayout) mRootView), false);
-        mDefaultFocusedView = view.findViewById(R.id.dialog_edit_text);
-        ((LinearLayout) mRootView).addView(view);
-       
-        setContentView(mRootView);
-        this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
-    }  
-
-    public View getRootView() {
-        return mRootView;
-    }
-    
-    public View getDefaultFocusedView() {
-        return mDefaultFocusedView;
-    }
-}
diff --git a/tests/ImfTest/src/com/android/imftest/samples/ButtonActivity.java b/tests/ImfTest/src/com/android/imftest/samples/ButtonActivity.java
deleted file mode 100644
index dbaedf9..0000000
--- a/tests/ImfTest/src/com/android/imftest/samples/ButtonActivity.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-package com.android.imftest.samples;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.view.KeyEvent;
-import android.view.View;
-import android.widget.LinearLayout;
-import android.view.inputmethod.InputMethodManager;
-import android.widget.EditText;
-import android.widget.Button;
-import android.widget.TextView;
-
-public class ButtonActivity extends Activity 
-{
-    static boolean mKeyboardIsActive = false;
-    public static final int BUTTON_ID = 0;
-    private View mRootView;
-    
-    @Override
-    public void onCreate(Bundle savedInstanceState) 
-    {
-        super.onCreate(savedInstanceState);
-        final ButtonActivity instance = this;
-             
-        final Button myButton = new Button(this);
-        myButton.setClickable(true);
-        myButton.setText("Keyboard UP!");
-        myButton.setId(BUTTON_ID);
-        myButton.setFocusableInTouchMode(true);
-        myButton.setOnClickListener(new View.OnClickListener()
-        {
-            public void onClick (View v)
-            {
-                InputMethodManager imm = InputMethodManager.getInstance();
-                if (mKeyboardIsActive)
-                {
-                    imm.hideSoftInputFromInputMethod(v.getWindowToken(), 0);
-                    myButton.setText("Keyboard UP!");
-            
-                }
-                else
-                {
-                    myButton.requestFocusFromTouch();
-                    imm.showSoftInput(v, 0);
-                    myButton.setText("Keyboard DOWN!");
-                }
-               
-                mKeyboardIsActive = !mKeyboardIsActive;
-            }
-        });
-            
-       LinearLayout layout = new LinearLayout(this);
-       layout.setOrientation(LinearLayout.VERTICAL);
-       layout.addView(myButton);
-       setContentView(layout);
-       mRootView = layout;
-    }
-    
-    public View getRootView() {
-        return mRootView;
-    }
-}
diff --git a/tests/ImfTest/src/com/android/imftest/samples/DialogActivity.java b/tests/ImfTest/src/com/android/imftest/samples/DialogActivity.java
deleted file mode 100644
index 3ed0386..0000000
--- a/tests/ImfTest/src/com/android/imftest/samples/DialogActivity.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-package com.android.imftest.samples;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.LinearLayout;
-import android.widget.EditText;
-import android.widget.Button;
-import android.view.LayoutInflater;
-import android.app.Dialog;
-
-public class DialogActivity extends Activity {
-
-    private static final int DIALOG_WITHOUT_EDITTEXT = 0;
-    private static final int DIALOG_WITH_EDITTEXT = 1;
-
-    private LinearLayout mLayout;
-    private LayoutInflater mInflater;
-    private Button mButton1;
-    private Button mButton2;
-    private EditText mEditText;
-
-
-    @Override
-    protected void onCreate(Bundle icicle) 
-    {
-        super.onCreate(icicle);
-
-        mLayout = new LinearLayout(this);
-        mLayout.setOrientation(LinearLayout.VERTICAL);
-        mLayout.setLayoutParams(new ViewGroup.LayoutParams(
-                ViewGroup.LayoutParams.MATCH_PARENT,
-                ViewGroup.LayoutParams.MATCH_PARENT));
-
-        mButton1 = new Button(this);
-        mButton1.setText("Dialog WITHOUT EditText");//(R.string.open_dialog_scrollable);
-        mButton1.setOnClickListener(new View.OnClickListener() 
-        {
-            public void onClick(View v) 
-            {
-                showDialog(DIALOG_WITHOUT_EDITTEXT);
-            }
-        });
-
-        mButton2 = new Button(this);
-        mButton2.setText("Dialog WITH EditText");//(R.string.open_dialog_nonscrollable);
-        mButton2.setOnClickListener(new View.OnClickListener() 
-        {
-            public void onClick(View v) 
-            {
-                showDialog(DIALOG_WITH_EDITTEXT);
-            }
-        });
-
-        mEditText = new EditText(this);
-        mLayout.addView(mEditText);
-        mLayout.addView(mButton1);
-        mLayout.addView(mButton2);
-
-        setContentView(mLayout);
-    }
-
-    @Override
-    protected Dialog onCreateDialog(int id) 
-    {
-        switch (id) 
-        {
-            case DIALOG_WITHOUT_EDITTEXT:
-                return createDialog(false);
-            case DIALOG_WITH_EDITTEXT:
-                return createDialog(true);
-        }
-
-        return super.onCreateDialog(id);
-    }
-
-    protected Dialog createDialog(boolean bEditText) 
-    {
-        LinearLayout layout;        
-        layout = new LinearLayout(this);
-        layout.setOrientation(LinearLayout.VERTICAL);
-        
-        if(bEditText)
-        {
-            EditText editText;
-            editText = new EditText(this);
-            layout.addView(editText);
-        }
-        
-        Dialog d = new Dialog(this);
-        d.setTitle("The DIALOG!!!");
-        d.setCancelable(true);
-        d.setContentView(layout);
-        return d;
-    }
-
- }
diff --git a/tests/ImfTest/src/com/android/imftest/samples/EditTextActivityDialog.java b/tests/ImfTest/src/com/android/imftest/samples/EditTextActivityDialog.java
deleted file mode 100644
index 2591b7c..0000000
--- a/tests/ImfTest/src/com/android/imftest/samples/EditTextActivityDialog.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-package com.android.imftest.samples;
-
-import com.android.imftest.R;
-
-import android.app.Activity;
-import android.app.Dialog;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.Button;
-import android.widget.EditText;
-import android.widget.LinearLayout;
-import android.widget.ScrollView;
-
-public class EditTextActivityDialog extends Activity {
-    
-    private static final int SCROLLABLE_DIALOG_ID = 0;
-    private static final int NONSCROLLABLE_DIALOG_ID = 1;
-    
-    private LinearLayout mLayout;
-    private ScrollView mScrollView;
-    private LayoutInflater mInflater;
-    private Button mButton1;
-    private Button mButton2;
-    
-    
-    @Override
-    protected void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-        
-        mLayout = new LinearLayout(this);
-        mLayout.setOrientation(LinearLayout.VERTICAL);
-        mLayout.setLayoutParams(new ViewGroup.LayoutParams(
-                ViewGroup.LayoutParams.MATCH_PARENT,
-                ViewGroup.LayoutParams.MATCH_PARENT));
-        
-        mButton1 = new Button(this);
-        mButton1.setText(R.string.open_dialog_scrollable);
-        mButton1.setOnClickListener(new View.OnClickListener() {
-            public void onClick(View v) {
-                showDialog(SCROLLABLE_DIALOG_ID);
-            }
-        });
-        
-        mButton2 = new Button(this);
-        mButton2.setText(R.string.open_dialog_nonscrollable);
-        mButton2.setOnClickListener(new View.OnClickListener() {
-            public void onClick(View v) {
-                showDialog(NONSCROLLABLE_DIALOG_ID);
-            }
-        });
-        
-        mLayout.addView(mButton1);
-        mLayout.addView(mButton2);
-        
-        setContentView(mLayout);
-    }
-    
-    @Override
-    protected Dialog onCreateDialog(int id) {
-        switch (id) {
-            case SCROLLABLE_DIALOG_ID:
-                return createDialog(true);
-            case NONSCROLLABLE_DIALOG_ID:
-                return createDialog(false);
-        }
-
-        return super.onCreateDialog(id);
-    }
-    
-    protected Dialog createDialog(boolean scrollable) {
-        View layout;
-        EditText editText;
-        
-        if (scrollable) {
-            layout = new ScrollView(EditTextActivityDialog.this);
-            ((ScrollView) layout).setMinimumHeight(mLayout.getHeight());
-            
-            ((ScrollView) layout).addView((
-                    LinearLayout) View.inflate(EditTextActivityDialog.this, 
-                    R.layout.dialog_edit_text_no_scroll, null));
-        } else {
-            layout = View.inflate(EditTextActivityDialog.this, 
-                    R.layout.dialog_edit_text_no_scroll, null);
-        }
-        
-        Dialog d = new Dialog(EditTextActivityDialog.this);
-        d.setTitle(getString(R.string.test_dialog));
-        d.setCancelable(true);
-        d.setContentView(layout);
-        return d;
-    }
-
-}
diff --git a/tests/ImfTest/src/com/android/imftest/samples/InputTypeActivity.java b/tests/ImfTest/src/com/android/imftest/samples/InputTypeActivity.java
deleted file mode 100644
index 299e6bb..0000000
--- a/tests/ImfTest/src/com/android/imftest/samples/InputTypeActivity.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * Copyright (C) 2007 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.
- */
-
-package com.android.imftest.samples;
-
-import com.android.imftest.R;
-
-import android.app.Activity;
-import android.widget.EditText;
-import android.widget.LinearLayout;
-import android.widget.ScrollView;
-import android.widget.TextView;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.inputmethod.EditorInfo;
-
-public class InputTypeActivity extends Activity {
-
-    private LinearLayout mLayout;
-    private ScrollView mScrollView;
-    private LayoutInflater mInflater;
-    private ViewGroup mParent;
-
-    @Override
-    protected void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-
-        mScrollView = new ScrollView(this);
-        
-        mLayout = new LinearLayout(this);
-        mLayout.setOrientation(LinearLayout.VERTICAL);
-        mLayout.setLayoutParams(new ViewGroup.LayoutParams(
-                ViewGroup.LayoutParams.MATCH_PARENT,
-                ViewGroup.LayoutParams.MATCH_PARENT));
-
-        mInflater = getLayoutInflater();
-        mParent = mLayout;
-        
-        /* Normal Edit Text */
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_TEXT|EditorInfo.TYPE_TEXT_VARIATION_NORMAL, 
-                R.string.normal_edit_text_label));
-        
-        /* Normal Edit Text w/Cap Chars Flag*/
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_TEXT|EditorInfo.TYPE_TEXT_VARIATION_NORMAL|EditorInfo.TYPE_TEXT_FLAG_CAP_CHARACTERS, 
-                R.string.cap_chars_edit_text_label));
-        
-        /* Normal Edit Text w/Cap Words Flag*/
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_TEXT|EditorInfo.TYPE_TEXT_VARIATION_NORMAL|EditorInfo.TYPE_TEXT_FLAG_CAP_WORDS, 
-                R.string.cap_words_edit_text_label));
-        
-        /* Normal Edit Text w/Cap Multiline Flag */
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_TEXT|EditorInfo.TYPE_TEXT_VARIATION_NORMAL|EditorInfo.TYPE_TEXT_FLAG_MULTI_LINE, 
-                R.string.multiline_edit_text_label));
-        
-        /* Normal Edit Text w/Cap Sentences Flag */
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_TEXT|EditorInfo.TYPE_TEXT_VARIATION_NORMAL|EditorInfo.TYPE_TEXT_FLAG_CAP_SENTENCES, 
-                R.string.cap_sentences_edit_text_label));
-        
-        /* Normal Edit Text w/Auto-complete Flag */
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_TEXT|EditorInfo.TYPE_TEXT_VARIATION_NORMAL|EditorInfo.TYPE_TEXT_FLAG_AUTO_COMPLETE, 
-                R.string.auto_complete_edit_text_label));
-        
-        /* Normal Edit Text w/Auto-correct Flag */
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_TEXT|EditorInfo.TYPE_TEXT_VARIATION_NORMAL|EditorInfo.TYPE_TEXT_FLAG_AUTO_CORRECT, 
-                R.string.auto_correct_edit_text_label));
-        
-        /* Uri Edit Text */
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_TEXT|EditorInfo.TYPE_TEXT_VARIATION_URI, 
-                R.string.uri_edit_text_label));
-        
-        /* Email Address Edit Text */
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_TEXT|EditorInfo.TYPE_TEXT_VARIATION_EMAIL_ADDRESS, 
-                R.string.email_address_edit_text_label));
-        
-        /* Email Subject Text */
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_TEXT|EditorInfo.TYPE_TEXT_VARIATION_EMAIL_SUBJECT, 
-                R.string.email_subject_edit_text_label));
-        
-        /* Email Content Edit Text */
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_TEXT|EditorInfo.TYPE_TEXT_VARIATION_LONG_MESSAGE, 
-                R.string.email_content_edit_text_label));
-        
-        /* Person Name Edit Text */
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_TEXT|EditorInfo.TYPE_TEXT_VARIATION_PERSON_NAME, 
-                R.string.person_name_edit_text_label));
-        
-        /* Postal Address Edit Text */
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_TEXT|EditorInfo.TYPE_TEXT_VARIATION_POSTAL_ADDRESS, 
-                R.string.postal_address_edit_text_label));
-        
-        /* Password Edit Text */
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_TEXT|EditorInfo.TYPE_TEXT_VARIATION_PASSWORD, 
-                R.string.password_edit_text_label));
-        
-        /* Web Edit Text */
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_TEXT|EditorInfo.TYPE_TEXT_VARIATION_WEB_EDIT_TEXT, 
-                R.string.web_edit_text_label));
-        
-        /* Signed Number Edit Text */
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_NUMBER|EditorInfo.TYPE_NUMBER_FLAG_SIGNED, 
-                R.string.signed_number_edit_text_label));
-        
-        /* Decimal Number Edit Text */
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_NUMBER|EditorInfo.TYPE_NUMBER_FLAG_DECIMAL, 
-                R.string.decimal_number_edit_text_label));
-        
-        /* Phone Number Edit Text */
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_PHONE, 
-                R.string.phone_number_edit_text_label));
-        
-        /* Normal Datetime Edit Text */
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_DATETIME|EditorInfo.TYPE_DATETIME_VARIATION_NORMAL, 
-                R.string.normal_datetime_edit_text_label));
-        
-        /* Date Edit Text */
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_DATETIME|EditorInfo.TYPE_DATETIME_VARIATION_DATE, 
-                R.string.date_edit_text_label));
-        
-        /* Time Edit Text */
-        mLayout.addView(buildEntryView(EditorInfo.TYPE_CLASS_DATETIME|EditorInfo.TYPE_DATETIME_VARIATION_TIME, 
-                R.string.time_edit_text_label));
-            
-        mScrollView.addView(mLayout);
-        setContentView(mScrollView);
-    }
-    
-    private View buildEntryView(int inputType, int label) {
-
-        
-        View view = mInflater.inflate(R.layout.sample_edit_text, mParent, false);
-        
-        EditText editText = (EditText) view.findViewById(R.id.data);
-        editText.setInputType(inputType);
-        
-        TextView textView = (TextView) view.findViewById(R.id.label);
-        textView.setText(label);
-        
-        return view;
-    }
-
-}
diff --git a/tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityNoScrollPanScan.java b/tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityNoScrollPanScan.java
deleted file mode 100644
index 646e480..0000000
--- a/tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityNoScrollPanScan.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-package com.android.imftest.samples;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.view.KeyEvent;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.widget.LinearLayout;
-import android.view.inputmethod.InputMethodManager;
-import android.widget.EditText;
-import android.widget.Button;
-import android.widget.TextView;
-import android.widget.ScrollView;
-
-import com.android.internal.R;
-
-/*
- * Full screen of EditTexts (Non-Scrollable, Pan&Scan)
- */
-public class ManyEditTextActivityNoScrollPanScan extends Activity 
-{
-    public static final int NUM_EDIT_TEXTS = 9;
-
-    private View mRootView;
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) 
-    {
-        super.onCreate(savedInstanceState);
-
-        mRootView = new LinearLayout(this);
-        ((LinearLayout) mRootView).setOrientation(LinearLayout.VERTICAL);
-
-        for (int i=0; i<NUM_EDIT_TEXTS; i++) 
-        {
-            final EditText editText = new EditText(this);
-            editText.setText(String.valueOf(i));
-            editText.setId(i);
-            ((LinearLayout) mRootView).addView(editText);
-        }
-        setContentView(mRootView);
-        this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
-    }  
-
-    public View getRootView() {
-        return mRootView;
-    }
-
-}
diff --git a/tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollPanScan.java b/tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollPanScan.java
deleted file mode 100644
index 0387e1e..0000000
--- a/tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollPanScan.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-package com.android.imftest.samples;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.view.KeyEvent;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.widget.LinearLayout;
-import android.view.inputmethod.InputMethodManager;
-import android.widget.EditText;
-import android.widget.Button;
-import android.widget.TextView;
-import android.widget.ScrollView;
-
-import com.android.internal.R;
-
-/*
- * Full screen of EditTexts (Scrollable, Pan&Scan)
- */
-public class ManyEditTextActivityScrollPanScan extends Activity 
-{
-    public static final int NUM_EDIT_TEXTS = 12;
-
-    private View mRootView;
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) 
-    {
-        super.onCreate(savedInstanceState);
-        mRootView = new ScrollView(this);
-
-        LinearLayout layout = new LinearLayout(this);
-        layout.setOrientation(LinearLayout.VERTICAL);
-
-        for (int i=0; i<NUM_EDIT_TEXTS; i++) 
-        {
-            final EditText editText = new EditText(this);
-            editText.setText(String.valueOf(i));
-            editText.setId(i);
-            layout.addView(editText);
-        }
-
-        ((ScrollView) mRootView).addView(layout);
-        setContentView(mRootView);
-        this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
-    }   
-
-    public View getRootView() {
-        return mRootView;
-    }
-}
diff --git a/tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollResize.java b/tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollResize.java
deleted file mode 100644
index 7793b55..0000000
--- a/tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollResize.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-package com.android.imftest.samples;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.view.View;
-import android.view.WindowManager;
-import android.widget.LinearLayout;
-import android.widget.EditText;
-import android.widget.ScrollView;
-
-/*
- * Full screen of EditTexts (Scrollable, Resize)
- */
-public class ManyEditTextActivityScrollResize extends Activity 
-{
-    public static final int NUM_EDIT_TEXTS = 12;
-    
-    private View mRootView;
-    
-    @Override
-    public void onCreate(Bundle savedInstanceState) 
-    {
-        super.onCreate(savedInstanceState);
-        mRootView = new ScrollView(this);
-       
-        LinearLayout layout = new LinearLayout(this);
-        layout.setOrientation(LinearLayout.VERTICAL);
-       
-        for (int i=0; i<NUM_EDIT_TEXTS; i++) 
-        {
-            final EditText editText = new EditText(this);
-            editText.setText(String.valueOf(i));
-            editText.setId(i);
-            layout.addView(editText);
-        }
-
-        ((ScrollView) mRootView).addView(layout);
-        setContentView(mRootView);
-        this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
-    }  
-
-    public View getRootView() {
-        return mRootView;
-    } 
-}
diff --git a/tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivityNotSelected.java b/tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivityNotSelected.java
deleted file mode 100644
index c4be21c..0000000
--- a/tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivityNotSelected.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-package com.android.imftest.samples;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.os.Debug;
-import android.view.KeyEvent;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.widget.LinearLayout;
-import android.view.inputmethod.InputMethodManager;
-import android.widget.EditText;
-import android.widget.Button;
-import android.widget.TextView;
-import android.widget.ScrollView;
-
-import com.android.internal.R;
-
-/*
- * Activity with non-EditText view selected initially
- */
-public class OneEditTextActivityNotSelected extends Activity 
-{
-    private View mRootView;
-    private View mDefaultFocusedView;
-    
-    @Override
-    public void onCreate(Bundle savedInstanceState) 
-    {
-        super.onCreate(savedInstanceState);
-
-        LinearLayout layout = new LinearLayout(this);
-        layout.setOrientation(LinearLayout.VERTICAL);
-        mRootView = new ScrollView(this);
-
-        EditText editText = new EditText(this);
-        Button button = new Button(this);
-        button.setText("The focus is here.");
-        button.setFocusableInTouchMode(true);
-        button.requestFocus();
-        mDefaultFocusedView = button;
-        layout.addView(button);
-        layout.addView(editText);
-
-        ((ScrollView) mRootView).addView(layout);
-        setContentView(mRootView);
-    }  
-
-    public View getRootView() {
-        return mRootView;
-    }
-    
-    public View getDefaultFocusedView() {
-        return mDefaultFocusedView;
-    }
-}
diff --git a/tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivitySelected.java b/tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivitySelected.java
deleted file mode 100644
index 64882aa..0000000
--- a/tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivitySelected.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-package com.android.imftest.samples;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.view.KeyEvent;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.widget.LinearLayout;
-import android.view.inputmethod.InputMethodManager;
-import android.widget.EditText;
-import android.widget.Button;
-import android.widget.TextView;
-import android.widget.ScrollView;
-
-import com.android.internal.R;
-
-/*
- * Activity with EditText selected initially
- */
-public class OneEditTextActivitySelected extends Activity 
-{
-    private View mRootView;
-    private View mDefaultFocusedView;
-    
-    @Override
-    public void onCreate(Bundle savedInstanceState) 
-    {
-        super.onCreate(savedInstanceState);
-
-        LinearLayout layout = new LinearLayout(this);
-        layout.setOrientation(LinearLayout.VERTICAL);
-        mRootView = new ScrollView(this);
-        
-        EditText editText = new EditText(this);
-        editText.requestFocus();
-        mDefaultFocusedView = editText;
-        layout.addView(editText);
-
-        ((ScrollView) mRootView).addView(layout);
-        setContentView(mRootView);
-        
-        // set to resize so IME is always shown (and also so
-        // ImfBaseTestCase#destructiveCheckImeInitialState thinks it should always be shown
-        this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
-    }
-
-    public View getRootView() {
-        return mRootView;
-    }
-    
-    public View getDefaultFocusedView() {
-        return mDefaultFocusedView;
-    }
-}
diff --git a/tests/ImfTest/tests/Android.mk b/tests/ImfTest/tests/Android.mk
deleted file mode 100644
index 14186d7..0000000
--- a/tests/ImfTest/tests/Android.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-# We only want this apk build for tests.
-LOCAL_MODULE_TAGS := tests
-
-# Include all test java files.
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_JAVA_LIBRARIES := android.test.runner android.test.base
-LOCAL_STATIC_JAVA_LIBRARIES := junit
-
-LOCAL_PACKAGE_NAME := ImfTestTests
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_INSTRUMENTATION_FOR := ImfTest
-
-include $(BUILD_PACKAGE)
diff --git a/tests/ImfTest/tests/AndroidManifest.xml b/tests/ImfTest/tests/AndroidManifest.xml
deleted file mode 100644
index c02fa0b..0000000
--- a/tests/ImfTest/tests/AndroidManifest.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2007 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.
--->
-
-<!-- package name must be unique so suffix with "tests" so package loader doesn't ignore us -->
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.android.imftest.tests">
-
-    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
-
-    <application>
-        <uses-library android:name="android.test.runner" />
-    </application>
-
-    <!--
-    This declares that this app uses the instrumentation test runner targeting
-    the package of com.android.imftest.  To run the tests use the command:
-    "adb shell am instrument -w com.android.imftest.tests/android.test.InstrumentationTestRunner"
-    -->
-    <instrumentation android:name="android.test.InstrumentationTestRunner"
-                     android:targetPackage="com.android.imftest"
-                     android:label="imf tests"/>
-
-</manifest>
diff --git a/tests/ImfTest/tests/src/com/android/imftest/samples/BigEditTextActivityNonScrollablePanScanTests.java b/tests/ImfTest/tests/src/com/android/imftest/samples/BigEditTextActivityNonScrollablePanScanTests.java
deleted file mode 100644
index 2db11c5..0000000
--- a/tests/ImfTest/tests/src/com/android/imftest/samples/BigEditTextActivityNonScrollablePanScanTests.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2007 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.
- */
-
-package com.android.imftest.samples;
-
-import android.test.suitebuilder.annotation.LargeTest;
-import android.view.View;
-
-import com.android.imftest.R;
-
-
-public class BigEditTextActivityNonScrollablePanScanTests extends ImfBaseTestCase<BigEditTextActivityNonScrollablePanScan> {
-
-    public final String TAG = "BigEditTextActivityNonScrollablePanScanTests";
-    
-    public BigEditTextActivityNonScrollablePanScanTests() {
-        super(BigEditTextActivityNonScrollablePanScan.class);
-    }
-    
-    @LargeTest
-    public void testAppAdjustmentPanScan() {
-        // Give the IME 2 seconds to appear.
-        pause(2000);
-        
-        View rootView = ((BigEditTextActivityNonScrollablePanScan) mTargetActivity).getRootView();
-        View servedView = ((BigEditTextActivityNonScrollablePanScan) mTargetActivity).getDefaultFocusedView();
-            
-        assertNotNull(rootView);
-        assertNotNull(servedView);
-        
-        destructiveCheckImeInitialState(rootView, servedView);
-        
-        verifyEditTextAdjustment(servedView, rootView.getMeasuredHeight());
-    }
-    
-}
diff --git a/tests/ImfTest/tests/src/com/android/imftest/samples/BigEditTextActivityNonScrollableResizeTests.java b/tests/ImfTest/tests/src/com/android/imftest/samples/BigEditTextActivityNonScrollableResizeTests.java
deleted file mode 100644
index 1050794..0000000
--- a/tests/ImfTest/tests/src/com/android/imftest/samples/BigEditTextActivityNonScrollableResizeTests.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2007 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.
- */
-
-package com.android.imftest.samples;
-
-import android.test.suitebuilder.annotation.LargeTest;
-import android.view.View;
-
-import com.android.imftest.R;
-
-
-public class BigEditTextActivityNonScrollableResizeTests extends ImfBaseTestCase<BigEditTextActivityNonScrollableResize> {
-
-    public final String TAG = "BigEditTextActivityNonScrollableResizeTests";
-    
-    public BigEditTextActivityNonScrollableResizeTests() {
-        super(BigEditTextActivityNonScrollableResize.class);
-    }
-    
-    @LargeTest
-    public void testAppAdjustmentPanScan() {       // Give the IME 2 seconds to appear.
-        pause(2000);
-        
-        View rootView = ((BigEditTextActivityNonScrollableResize) mTargetActivity).getRootView();
-        View servedView = ((BigEditTextActivityNonScrollableResize) mTargetActivity).getDefaultFocusedView();
-         
-        assertNotNull(rootView);
-        assertNotNull(servedView);
-        
-        destructiveCheckImeInitialState(rootView, servedView);
-            
-        verifyEditTextAdjustment(servedView, rootView.getMeasuredHeight());
-    }
-    
-}
diff --git a/tests/ImfTest/tests/src/com/android/imftest/samples/BigEditTextActivityScrollablePanScanTests.java b/tests/ImfTest/tests/src/com/android/imftest/samples/BigEditTextActivityScrollablePanScanTests.java
deleted file mode 100644
index 1e848b0..0000000
--- a/tests/ImfTest/tests/src/com/android/imftest/samples/BigEditTextActivityScrollablePanScanTests.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2007 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.
- */
-
-package com.android.imftest.samples;
-
-import android.test.suitebuilder.annotation.LargeTest;
-import android.view.View;
-
-import com.android.imftest.R;
-
-
-public class BigEditTextActivityScrollablePanScanTests extends ImfBaseTestCase<BigEditTextActivityScrollablePanScan> {
-
-    public final String TAG = "BigEditTextActivityScrollablePanScanTests";
-    
-    public BigEditTextActivityScrollablePanScanTests() {
-        super(BigEditTextActivityScrollablePanScan.class);
-    }
-    
-    @LargeTest
-    public void testAppAdjustmentPanScan() {       // Give the IME 2 seconds to appear.
-        pause(2000);
-        
-        View rootView = ((BigEditTextActivityScrollablePanScan) mTargetActivity).getRootView();
-        View servedView = ((BigEditTextActivityScrollablePanScan) mTargetActivity).getDefaultFocusedView();
-         
-        assertNotNull(rootView);
-        assertNotNull(servedView);
-        
-        destructiveCheckImeInitialState(rootView, servedView);
-            
-        verifyEditTextAdjustment(servedView, rootView.getMeasuredHeight());
-    }
-    
-}
diff --git a/tests/ImfTest/tests/src/com/android/imftest/samples/BigEditTextActivityScrollableResizeTests.java b/tests/ImfTest/tests/src/com/android/imftest/samples/BigEditTextActivityScrollableResizeTests.java
deleted file mode 100644
index de607d6..0000000
--- a/tests/ImfTest/tests/src/com/android/imftest/samples/BigEditTextActivityScrollableResizeTests.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2007 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.
- */
-
-package com.android.imftest.samples;
-
-import android.test.suitebuilder.annotation.LargeTest;
-import android.view.View;
-
-import com.android.imftest.R;
-
-
-public class BigEditTextActivityScrollableResizeTests extends ImfBaseTestCase<BigEditTextActivityScrollableResize> {
-
-    public final String TAG = "BigEditTextActivityScrollableResizeTests";
-    
-    public BigEditTextActivityScrollableResizeTests() {
-        super(BigEditTextActivityScrollableResize.class);
-    }
-    
-    @LargeTest
-    public void testAppAdjustmentPanScan() {       
-        // Give the IME 2 seconds to appear.
-        pause(2000);
-        
-        View rootView = ((BigEditTextActivityScrollableResize) mTargetActivity).getRootView();
-        View servedView = ((BigEditTextActivityScrollableResize) mTargetActivity).getDefaultFocusedView();
-          
-        assertNotNull(rootView);
-        assertNotNull(servedView);
-        
-        destructiveCheckImeInitialState(rootView, servedView);
-            
-        verifyEditTextAdjustment(servedView, rootView.getMeasuredHeight());
-    }
-    
-}
diff --git a/tests/ImfTest/tests/src/com/android/imftest/samples/BottomEditTextActivityPanScanTests.java b/tests/ImfTest/tests/src/com/android/imftest/samples/BottomEditTextActivityPanScanTests.java
deleted file mode 100644
index c521905..0000000
--- a/tests/ImfTest/tests/src/com/android/imftest/samples/BottomEditTextActivityPanScanTests.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2007 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.
- */
-
-package com.android.imftest.samples;
-
-import android.test.suitebuilder.annotation.LargeTest;
-import android.view.View;
-
-import com.android.imftest.R;
-
-
-public class BottomEditTextActivityPanScanTests extends ImfBaseTestCase<BottomEditTextActivityPanScan> {
-
-    public final String TAG = "BottomEditTextActivityPanScanTests";
-    
-    public BottomEditTextActivityPanScanTests() {
-        super(BottomEditTextActivityPanScan.class);
-    }
-    
-    @LargeTest
-    public void testAppAdjustmentPanScan() {
-        // Give the IME 2 seconds to appear.
-        pause(2000);
-        
-        View rootView = ((BottomEditTextActivityPanScan) mTargetActivity).getRootView();
-        View servedView = ((BottomEditTextActivityPanScan) mTargetActivity).getDefaultFocusedView();
-        
-        assertNotNull(rootView);
-        assertNotNull(servedView);
-        
-        destructiveCheckImeInitialState(rootView, servedView);
-        
-        verifyEditTextAdjustment(servedView, rootView.getMeasuredHeight());
-    }
-    
-}
diff --git a/tests/ImfTest/tests/src/com/android/imftest/samples/BottomEditTextActivityResizeTests.java b/tests/ImfTest/tests/src/com/android/imftest/samples/BottomEditTextActivityResizeTests.java
deleted file mode 100644
index 9a69fd5..0000000
--- a/tests/ImfTest/tests/src/com/android/imftest/samples/BottomEditTextActivityResizeTests.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2007 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.
- */
-
-package com.android.imftest.samples;
-
-import android.test.suitebuilder.annotation.LargeTest;
-import android.view.View;
-
-import com.android.imftest.R;
-
-
-public class BottomEditTextActivityResizeTests extends ImfBaseTestCase<BottomEditTextActivityResize> {
-
-    public final String TAG = "BottomEditTextActivityResizeTests";
-    
-    public BottomEditTextActivityResizeTests() {
-        super(BottomEditTextActivityResize.class);
-    }
-    
-    @LargeTest
-    public void testAppAdjustmentResize() {
-        // Give the IME 2 seconds to appear.
-        pause(2000);
-        
-        View rootView = ((BottomEditTextActivityResize) mTargetActivity).getRootView();
-        View servedView = ((BottomEditTextActivityResize) mTargetActivity).getDefaultFocusedView();
-        
-        assertNotNull(rootView);
-        assertNotNull(servedView);
-        
-        destructiveCheckImeInitialState(rootView, servedView);
-        
-        verifyEditTextAdjustment(servedView, rootView.getMeasuredHeight());
-    }
-    
-}
diff --git a/tests/ImfTest/tests/src/com/android/imftest/samples/ButtonActivityTest.java b/tests/ImfTest/tests/src/com/android/imftest/samples/ButtonActivityTest.java
deleted file mode 100644
index f6f97b5..0000000
--- a/tests/ImfTest/tests/src/com/android/imftest/samples/ButtonActivityTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2007 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.
- */
-
-package com.android.imftest.samples;
-
-import android.test.suitebuilder.annotation.LargeTest;
-import android.view.KeyEvent;
-import android.widget.Button;
-
-
-public class ButtonActivityTest extends ImfBaseTestCase<ButtonActivity> {
-
-    final public String TAG = "ButtonActivityTest";
-    
-    public ButtonActivityTest() {
-        super(ButtonActivity.class);
-    }
-
-    @LargeTest
-    public void testButtonActivatesIme() {
-       
-        final Button button = (Button) mTargetActivity.findViewById(ButtonActivity.BUTTON_ID);
-        
-        // Push button
-        // Bring the target EditText into focus.
-        mTargetActivity.runOnUiThread(new Runnable() {
-            public void run() {
-                button.requestFocus();
-            }
-        });
-        
-        sendKeys(KeyEvent.KEYCODE_DPAD_CENTER);
-        
-        // Give it a couple seconds
-        pause(2000);
-        
-        // We should have initialized imm.mServedView and imm.mCurrentTextBoxAttribute
-        assertTrue(mImm.isActive());
-        // imm.mServedInputConnection should be null since Button doesn't override onCreateInputConnection().
-        assertFalse(mImm.isAcceptingText());
-        
-        destructiveCheckImeInitialState(mTargetActivity.getRootView(), button);
-        
-    }
-}
diff --git a/tests/ImfTest/tests/src/com/android/imftest/samples/ImfBaseTestCase.java b/tests/ImfTest/tests/src/com/android/imftest/samples/ImfBaseTestCase.java
deleted file mode 100644
index 32f80a3..0000000
--- a/tests/ImfTest/tests/src/com/android/imftest/samples/ImfBaseTestCase.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright (C) 2007 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.
- */
-
-package com.android.imftest.samples;
-
-import android.app.Activity;
-import android.app.KeyguardManager;
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Configuration;
-import android.os.SystemClock;
-import android.test.InstrumentationTestCase;
-import android.view.KeyEvent;
-import android.view.View;
-import android.view.WindowManager;
-import android.view.inputmethod.InputMethodManager;
-
-import com.android.imftest.R;
-
-public abstract class ImfBaseTestCase<T extends Activity> extends InstrumentationTestCase {
-
-    /*
-     * The amount of time we are willing to wait for the IME to appear after a user action
-     * before we give up and fail the test.
-     */
-    public final long WAIT_FOR_IME = 5000;
-
-    /*
-     * Unfortunately there is now way for us to know how tall the IME is,
-     * so we have to hard code a minimum and maximum value.
-     */
-    public final int IME_MIN_HEIGHT = 150;
-    public final int IME_MAX_HEIGHT = 300;
-
-    protected InputMethodManager mImm;
-    protected T mTargetActivity;
-    protected boolean mExpectAutoPop;
-    private Class<T> mTargetActivityClass;
-
-    public ImfBaseTestCase(Class<T> activityClass) {
-        mTargetActivityClass = activityClass;
-    }
-
-    @Override
-    public void setUp() throws Exception {
-        super.setUp();
-        final String packageName = getInstrumentation().getTargetContext().getPackageName();
-        Intent intent = new Intent(Intent.ACTION_MAIN);
-        intent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
-        mTargetActivity = launchActivityWithIntent(packageName, mTargetActivityClass, intent);
-        // expect ime to auto pop up if device has no hard keyboard
-        int keyboardType = mTargetActivity.getResources().getConfiguration().keyboard;
-        mExpectAutoPop = (keyboardType  == Configuration.KEYBOARD_NOKEYS ||
-                keyboardType == Configuration.KEYBOARD_UNDEFINED);
-
-        mImm = InputMethodManager.getInstance();
-
-        KeyguardManager keyguardManager =
-            (KeyguardManager) getInstrumentation().getContext().getSystemService(
-                    Context.KEYGUARD_SERVICE);
-        keyguardManager.newKeyguardLock("imftest").disableKeyguard();
-    }
-    
-    // Utility test methods
-    public void verifyEditTextAdjustment(final View editText, int rootViewHeight) {
-
-        int[] origLocation = new int[2];
-        int[] newLocation = new int[2];
-
-        // Tell the keyboard to go away.
-        mImm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
-
-        // Bring the target EditText into focus.
-        mTargetActivity.runOnUiThread(new Runnable() {
-            public void run() {
-                editText.requestFocus();
-            }
-        });
-
-        // Get the original location of the EditText.
-        editText.getLocationOnScreen(origLocation);
-
-        // Tap the EditText to bring up the IME.
-        sendKeys(KeyEvent.KEYCODE_DPAD_CENTER);
-
-        // Wait until the EditText pops above the IME or until we hit the timeout.
-        editText.getLocationOnScreen(newLocation);
-        long timeoutTime = SystemClock.uptimeMillis() + WAIT_FOR_IME;
-        while (newLocation[1] > rootViewHeight - IME_MIN_HEIGHT && SystemClock.uptimeMillis() < timeoutTime) {
-            editText.getLocationOnScreen(newLocation);
-            pause(100);
-        }
-
-        assertTrue(newLocation[1] <= rootViewHeight - IME_MIN_HEIGHT);
-
-        // Tell the keyboard to go away.
-        mImm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
-    }
-
-    public void destructiveCheckImeInitialState(View rootView, View servedView) {
-        int windowSoftInputMode = mTargetActivity.getWindow().getAttributes().softInputMode;
-        int adjustMode = windowSoftInputMode & WindowManager.LayoutParams.SOFT_INPUT_MASK_ADJUST;
-        if (mExpectAutoPop && adjustMode == WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE) {
-            assertTrue(destructiveCheckImeUp(rootView, servedView));
-        } else {
-            assertFalse(destructiveCheckImeUp(rootView, servedView));
-        }
-    }
-
-    public boolean destructiveCheckImeUp(View rootView, View servedView) {
-        int origHeight;
-        int newHeight;
-
-        origHeight = rootView.getHeight();
-
-        // Tell the keyboard to go away.
-        mImm.hideSoftInputFromWindow(servedView.getWindowToken(), 0);
-
-        // Give it five seconds to adjust
-        newHeight = rootView.getHeight();
-        long timeoutTime = SystemClock.uptimeMillis() + WAIT_FOR_IME;
-        while (Math.abs(newHeight - origHeight) < IME_MIN_HEIGHT && SystemClock.uptimeMillis() < timeoutTime) {
-            newHeight = rootView.getHeight();
-        }
-
-        return (Math.abs(origHeight - newHeight) >= IME_MIN_HEIGHT);
-    }
-
-    void pause(int millis) {
-        try {
-            Thread.sleep(millis);
-        } catch (InterruptedException e) {
-        }
-    }
-
-}
diff --git a/tests/ImfTest/tests/src/com/android/imftest/samples/ManyEditTextActivityBaseTestCase.java b/tests/ImfTest/tests/src/com/android/imftest/samples/ManyEditTextActivityBaseTestCase.java
deleted file mode 100644
index 278efb1..0000000
--- a/tests/ImfTest/tests/src/com/android/imftest/samples/ManyEditTextActivityBaseTestCase.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2007 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.
- */
-
-package com.android.imftest.samples;
-
-import android.app.Activity;
-import android.widget.EditText;
-
-
-public abstract class ManyEditTextActivityBaseTestCase<T extends Activity> extends ImfBaseTestCase<T> {
-  
-    public ManyEditTextActivityBaseTestCase(Class<T> activityClass){
-        super(activityClass);
-    }
-
-    public abstract void testAllEditTextsAdjust();
-
-    public void verifyAllEditTextAdjustment(int numEditTexts, int rootViewHeight) {
-
-        for (int i = 0; i < numEditTexts; i++) {
-            final EditText lastEditText = (EditText) mTargetActivity.findViewById(i);
-            verifyEditTextAdjustment(lastEditText, rootViewHeight);
-        }
-
-    }
-
-}
diff --git a/tests/ImfTest/tests/src/com/android/imftest/samples/ManyEditTextActivityNoScrollPanScanTests.java b/tests/ImfTest/tests/src/com/android/imftest/samples/ManyEditTextActivityNoScrollPanScanTests.java
deleted file mode 100644
index 4f8d14e..0000000
--- a/tests/ImfTest/tests/src/com/android/imftest/samples/ManyEditTextActivityNoScrollPanScanTests.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2007 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.
- */
-
-package com.android.imftest.samples;
-
-import android.test.suitebuilder.annotation.LargeTest;
-
-
-public class ManyEditTextActivityNoScrollPanScanTests extends ManyEditTextActivityBaseTestCase<ManyEditTextActivityNoScrollPanScan> {
-
-    public final String TAG = "ManyEditTextActivityNoScrollPanScanTests";
-    
-    public ManyEditTextActivityNoScrollPanScanTests() {
-        super(ManyEditTextActivityNoScrollPanScan.class);
-    }
-
-   
-    @LargeTest
-    public void testAllEditTextsAdjust() {
-        verifyAllEditTextAdjustment(mTargetActivity.NUM_EDIT_TEXTS, 
-                mTargetActivity.getRootView().getMeasuredHeight());
-    }
-}
diff --git a/tests/ImfTest/tests/src/com/android/imftest/samples/ManyEditTextActivityScrollPanScanTests.java b/tests/ImfTest/tests/src/com/android/imftest/samples/ManyEditTextActivityScrollPanScanTests.java
deleted file mode 100644
index 7f98f7f..0000000
--- a/tests/ImfTest/tests/src/com/android/imftest/samples/ManyEditTextActivityScrollPanScanTests.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2007 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.
- */
-
-package com.android.imftest.samples;
-
-import android.test.suitebuilder.annotation.LargeTest;
-
-
-public class ManyEditTextActivityScrollPanScanTests extends ManyEditTextActivityBaseTestCase<ManyEditTextActivityScrollPanScan> {
-
-    public final String TAG = "ManyEditTextActivityScrollPanScanTests";
-    
-    
-    public ManyEditTextActivityScrollPanScanTests() {
-        super(ManyEditTextActivityScrollPanScan.class);
-    }
-    
-    @LargeTest
-    public void testAllEditTextsAdjust() {
-        verifyAllEditTextAdjustment(mTargetActivity.NUM_EDIT_TEXTS, 
-                mTargetActivity.getRootView().getMeasuredHeight());
-    }
-
-}
diff --git a/tests/ImfTest/tests/src/com/android/imftest/samples/ManyEditTextActivityScrollResizeTests.java b/tests/ImfTest/tests/src/com/android/imftest/samples/ManyEditTextActivityScrollResizeTests.java
deleted file mode 100644
index 68dae87..0000000
--- a/tests/ImfTest/tests/src/com/android/imftest/samples/ManyEditTextActivityScrollResizeTests.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2007 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.
- */
-
-package com.android.imftest.samples;
-
-import android.test.suitebuilder.annotation.LargeTest;
-
-
-public class ManyEditTextActivityScrollResizeTests extends ManyEditTextActivityBaseTestCase<ManyEditTextActivityScrollResize> {
-
-    public final String TAG = "ManyEditTextActivityScrollResizeTests";
-    
-    
-    public ManyEditTextActivityScrollResizeTests() {
-        super(ManyEditTextActivityScrollResize.class);
-    }
-
-    @LargeTest
-    public void testAllEditTextsAdjust() {
-        verifyAllEditTextAdjustment(mTargetActivity.NUM_EDIT_TEXTS, 
-                mTargetActivity.getRootView().getMeasuredHeight());
-    }
-
-}
diff --git a/tests/ImfTest/tests/src/com/android/imftest/samples/OneEditTextActivityNotSelectedTests.java b/tests/ImfTest/tests/src/com/android/imftest/samples/OneEditTextActivityNotSelectedTests.java
deleted file mode 100644
index 6147d3c..0000000
--- a/tests/ImfTest/tests/src/com/android/imftest/samples/OneEditTextActivityNotSelectedTests.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2007 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.
- */
-
-package com.android.imftest.samples;
-
-import android.test.suitebuilder.annotation.LargeTest;
-import android.view.View;
-
-
-public class OneEditTextActivityNotSelectedTests extends ImfBaseTestCase<OneEditTextActivityNotSelected> {
-
-    public final String TAG = "OneEditTextActivityNotSelectedTests";
-    
-    public OneEditTextActivityNotSelectedTests() {
-        super(OneEditTextActivityNotSelected.class);
-    }
-    
-    @LargeTest
-    public void testSoftKeyboardNoAutoPop() {
-        
-        // Give the IME 2 seconds to appear.
-        pause(2000);
-        
-        assertFalse(mImm.isAcceptingText());
-        
-        View rootView = ((OneEditTextActivityNotSelected) mTargetActivity).getRootView();
-        View servedView = ((OneEditTextActivityNotSelected) mTargetActivity).getDefaultFocusedView();
-        
-        assertNotNull(rootView);
-        assertNotNull(servedView);
-        
-        destructiveCheckImeInitialState(rootView, servedView);
-        
-        verifyEditTextAdjustment(servedView, rootView.getMeasuredHeight());
-    }
-    
-}
diff --git a/tests/ImfTest/tests/src/com/android/imftest/samples/OneEditTextActivitySelectedTests.java b/tests/ImfTest/tests/src/com/android/imftest/samples/OneEditTextActivitySelectedTests.java
deleted file mode 100644
index 42fcd66..0000000
--- a/tests/ImfTest/tests/src/com/android/imftest/samples/OneEditTextActivitySelectedTests.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2007 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.
- */
-
-package com.android.imftest.samples;
-
-import com.android.imftest.R;
-
-import android.test.suitebuilder.annotation.LargeTest;
-import android.view.KeyEvent;
-import android.view.View;
-
-
-public class OneEditTextActivitySelectedTests extends ImfBaseTestCase<OneEditTextActivitySelected> {
-
-    public final String TAG = "OneEditTextActivitySelectedTests";
-    
-    public OneEditTextActivitySelectedTests() {
-        super(OneEditTextActivitySelected.class);
-    }
-    
-    @LargeTest
-    public void testSoftKeyboardAutoPop() {
-        
-        // Give the IME 2 seconds to appear.
-        pause(2000);
-        
-        assertTrue(mImm.isAcceptingText());
-        
-        View rootView = ((OneEditTextActivitySelected) mTargetActivity).getRootView();
-        View servedView = ((OneEditTextActivitySelected) mTargetActivity).getDefaultFocusedView();
-        
-        assertNotNull(rootView);
-        assertNotNull(servedView);
-        
-        destructiveCheckImeInitialState(rootView, servedView);
-        
-        verifyEditTextAdjustment(servedView, rootView.getMeasuredHeight());
-    }
-    
-}
diff --git a/tests/NativeProcessesMemoryTest/Android.bp b/tests/NativeProcessesMemoryTest/Android.bp
new file mode 100644
index 0000000..f2625bf
--- /dev/null
+++ b/tests/NativeProcessesMemoryTest/Android.bp
@@ -0,0 +1,21 @@
+// Copyright (C) 2018 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.
+
+java_test_host {
+    name: "native-processes-memory-test",
+    srcs: ["src/**/*.java"],
+
+    libs: ["tradefed"],
+    test_suites: ["general-tests"],
+}
diff --git a/packages/SettingsLib/res/layout/restricted_icon.xml b/tests/NativeProcessesMemoryTest/AndroidTest.xml
similarity index 60%
copy from packages/SettingsLib/res/layout/restricted_icon.xml
copy to tests/NativeProcessesMemoryTest/AndroidTest.xml
index 724a524..0f326fd 100644
--- a/packages/SettingsLib/res/layout/restricted_icon.xml
+++ b/tests/NativeProcessesMemoryTest/AndroidTest.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
+<!-- Copyright (C) 2018 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.
@@ -13,8 +13,9 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/restricted_icon"
-    android:layout_width="@dimen/restricted_icon_size"
-    android:layout_height="@dimen/restricted_icon_size"
-    android:src="@drawable/ic_info" />
\ No newline at end of file
+<configuration description="Runs the native processes memory tests">
+    <option name="test-suite-tag" value="native-processes-memory-test" />
+    <test class="com.android.tradefed.testtype.HostTest" >
+        <option name="class" value="com.android.tests.nativeprocesses.NativeProcessesMemoryTest" />
+    </test>
+</configuration>
diff --git a/tests/NativeProcessesMemoryTest/src/com/android/tests/nativeprocesses/NativeProcessesMemoryTest.java b/tests/NativeProcessesMemoryTest/src/com/android/tests/nativeprocesses/NativeProcessesMemoryTest.java
new file mode 100644
index 0000000..c86f06e
--- /dev/null
+++ b/tests/NativeProcessesMemoryTest/src/com/android/tests/nativeprocesses/NativeProcessesMemoryTest.java
@@ -0,0 +1,239 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+package com.android.tests.nativeprocesses;
+
+import com.android.tradefed.device.DeviceNotAvailableException;
+import com.android.tradefed.device.ITestDevice;
+import com.android.tradefed.log.LogUtil.CLog;
+import com.android.tradefed.result.ByteArrayInputStreamSource;
+import com.android.tradefed.result.ITestInvocationListener;
+import com.android.tradefed.result.LogDataType;
+import com.android.tradefed.result.TestDescription;
+import com.android.tradefed.testtype.IDeviceTest;
+import com.android.tradefed.testtype.IRemoteTest;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.InputMismatchException;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Scanner;
+
+/**
+ * Test to gather native processes count and memory usage.
+ *
+ * Native processes are parsed from dumpsys meminfo --oom -c
+ *
+ * <pre>
+ * time,35857009,35857009
+ * oom,native,331721,N/A
+ * proc,native,init,1,2715,N/A,e
+ * proc,native,init,445,1492,N/A,e
+ * ...
+ * </pre>
+ *
+ * For each native process we also look at its showmap output, and gather the PSS, VSS, and RSS.
+ * The showmap output is also saved to test logs.
+ *
+ * The metrics reported are:
+ *
+ * <pre>
+ *   - number of native processes
+ *   - total memory use of native processes
+ *   - memory usage of each native process (one measurement for each process)
+ * </pre>
+ */
+public class NativeProcessesMemoryTest implements IDeviceTest, IRemoteTest {
+    // the dumpsys process comes and go as we run this test, changing pids, so ignore it
+    private static final List<String> PROCESSES_TO_IGNORE = Arrays.asList("dumpsys");
+
+    // -c gives us a compact output which is comma separated
+    private static final String DUMPSYS_MEMINFO_OOM_CMD = "dumpsys meminfo --oom -c";
+
+    private static final String SEPARATOR = ",";
+    private static final String LINE_SEPARATOR = "\\n";
+
+    // name of this test run, used for reporting
+    private static final String RUN_NAME = "NativeProcessesTest";
+    // key used to report the number of native processes
+    private static final String NUM_NATIVE_PROCESSES_KEY = "Num_native_processes";
+
+    private final Map<String, String> mNativeProcessToMemory = new HashMap<String, String>();
+    // identity for summing over MemoryMetric
+    private final MemoryMetric mZero = new MemoryMetric(0, 0, 0);
+
+    private ITestDevice mTestDevice;
+    private ITestInvocationListener mListener;
+
+    public void run(ITestInvocationListener listener) throws DeviceNotAvailableException {
+        mListener = listener;
+        // showmap requires root, we enable it here for the rest of the test
+        mTestDevice.enableAdbRoot();
+
+        listener.testRunStarted(RUN_NAME, 1 /* testCount */);
+
+        TestDescription testDescription = new TestDescription(getClass().getName(), "run");
+        listener.testStarted(testDescription);
+
+        // process name -> list of pids with that name
+        Map<String, List<String>> nativeProcesses = collectNativeProcesses();
+        sampleAndLogAllProcesses(nativeProcesses);
+
+        // want to also record the number of native processes
+        mNativeProcessToMemory.put(
+                NUM_NATIVE_PROCESSES_KEY, Integer.toString(nativeProcesses.size()));
+
+        listener.testEnded(testDescription, mNativeProcessToMemory);
+        listener.testRunEnded(0, new HashMap<String, String>());
+    }
+
+    /** Samples memory of all processes and logs the memory use. */
+    private void sampleAndLogAllProcesses(Map<String, List<String>> nativeProcesses)
+            throws DeviceNotAvailableException {
+        for (Map.Entry<String, List<String>> entry : nativeProcesses.entrySet()) {
+            String processName = entry.getKey();
+            if (PROCESSES_TO_IGNORE.contains(processName)) {
+                continue;
+            }
+
+            // for all pids associated with this process name, record their memory usage
+            List<MemoryMetric> allMemsForProcess = new ArrayList<>();
+            for (String pid : entry.getValue()) {
+                Optional<MemoryMetric> mem = snapMemoryUsage(processName, pid);
+                if (mem.isPresent()) {
+                    allMemsForProcess.add(mem.get());
+                }
+            }
+
+            // if for some reason a process does not have any MemoryMetric, don't log it
+            if (allMemsForProcess.isEmpty()) {
+                continue;
+            }
+
+            // combine all the memory metrics of process with the same name
+            MemoryMetric combined = allMemsForProcess.stream().reduce(mZero, MemoryMetric::sum);
+            logMemoryMetric(processName, combined);
+        }
+    }
+
+    @Override
+    public void setDevice(ITestDevice device) {
+        mTestDevice = device;
+    }
+
+    @Override
+    public ITestDevice getDevice() {
+        return mTestDevice;
+    }
+
+    /**
+     * Query system for a list of native process.
+     *
+     * @return a map from process name to a list of pids that share the same name
+     */
+    private Map<String, List<String>> collectNativeProcesses() throws DeviceNotAvailableException {
+        HashMap<String, List<String>> nativeProcesses = new HashMap<>();
+        String memInfo = mTestDevice.executeShellCommand(DUMPSYS_MEMINFO_OOM_CMD);
+
+        for (String line : memInfo.split(LINE_SEPARATOR)) {
+            String[] splits = line.split(SEPARATOR);
+            // ignore lines that don't list a native process
+            if (splits.length < 4 || !splits[0].equals("proc") || !splits[1].equals("native")) {
+                continue;
+            }
+
+            String processName = splits[2];
+            String pid = splits[3];
+            if (nativeProcesses.containsKey(processName)) {
+                nativeProcesses.get(processName).add(pid);
+            } else {
+                nativeProcesses.put(processName, new ArrayList<>(Arrays.asList(pid)));
+            }
+        }
+        return nativeProcesses;
+    }
+
+    /** Logs an entire showmap output to the test logs. */
+    private void logShowmap(String label, String showmap) {
+        try (ByteArrayInputStreamSource source =
+                new ByteArrayInputStreamSource(showmap.getBytes())) {
+            mListener.testLog(label + "_showmap", LogDataType.TEXT, source);
+        }
+    }
+
+    /**
+     * Extract VSS, PSS, and RSS from showmap of a process.
+     * The showmap output is also added to test logs.
+     */
+    private Optional<MemoryMetric> snapMemoryUsage(String processName, String pid)
+            throws DeviceNotAvailableException {
+        // TODO(zhin): copied from com.android.tests.sysmem.host.Metrics#sample(), extract?
+        String showmap = mTestDevice.executeShellCommand("showmap " + pid);
+        logShowmap(processName + "_" + pid, showmap);
+
+        // CHECKSTYLE:OFF Generated code
+        // The last lines of the showmap output looks like:
+        // ------- -------- -------- -------- -------- -------- -------- -------- -------- ---- ------------------------------
+        // virtual                     shared   shared  private  private
+        //    size      RSS      PSS    clean    dirty    clean    dirty     swap  swapPSS   # object
+        // -------- -------- -------- -------- -------- -------- -------- -------- -------- ---- ------------------------------
+        //   12848     4240     1543     2852       64       36     1288        0        0  171 TOTAL
+        // CHECKSTYLE:ON Generated code
+        try {
+            int pos = showmap.lastIndexOf("----");
+            Scanner sc = new Scanner(showmap.substring(pos));
+            sc.next();
+            long vss = sc.nextLong();
+            long rss = sc.nextLong();
+            long pss = sc.nextLong();
+            return Optional.of(new MemoryMetric(pss, rss, vss));
+        } catch (InputMismatchException e) {
+            // this might occur if we have transient processes, it was collected earlier,
+            // but by the time we look at showmap the process is gone
+            CLog.e("Unable to parse MemoryMetric from showmap of pid: " + pid + " processName: "
+                    + processName);
+            CLog.e(showmap);
+            return Optional.empty();
+        }
+    }
+
+    /** Logs a MemoryMetric of a process. */
+    private void logMemoryMetric(String processName, MemoryMetric memoryMetric) {
+        mNativeProcessToMemory.put(processName + "_pss", Long.toString(memoryMetric.pss));
+        mNativeProcessToMemory.put(processName + "_rss", Long.toString(memoryMetric.rss));
+        mNativeProcessToMemory.put(processName + "_vss", Long.toString(memoryMetric.vss));
+    }
+
+    /** Container of memory numbers we want to log. */
+    private final class MemoryMetric {
+        final long pss;
+        final long rss;
+        final long vss;
+
+        MemoryMetric(long pss, long rss, long vss) {
+            this.pss = pss;
+            this.rss = rss;
+            this.vss = vss;
+        }
+
+        MemoryMetric sum(MemoryMetric other) {
+            return new MemoryMetric(
+                    pss + other.pss, rss + other.rss, vss + other.vss);
+        }
+    }
+}
diff --git a/tests/RemoteDisplayProvider/Android.mk b/tests/RemoteDisplayProvider/Android.mk
index e827ec2..43bf024 100644
--- a/tests/RemoteDisplayProvider/Android.mk
+++ b/tests/RemoteDisplayProvider/Android.mk
@@ -18,9 +18,9 @@
 include $(CLEAR_VARS)
 LOCAL_PACKAGE_NAME := RemoteDisplayProviderTest
 LOCAL_MODULE_TAGS := tests
-LOCAL_SDK_VERSION := current
+LOCAL_SDK_VERSION := system_current
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
 LOCAL_RESOURCE_DIR = $(LOCAL_PATH)/res
-LOCAL_JAVA_LIBRARIES := com.android.media.remotedisplay.stubs
+LOCAL_JAVA_LIBRARIES := com.android.media.remotedisplay
 LOCAL_CERTIFICATE := platform
 include $(BUILD_PACKAGE)
diff --git a/tests/SystemMemoryTest/host/src/com/android/tests/sysmem/host/Cujs.java b/tests/SystemMemoryTest/host/src/com/android/tests/sysmem/host/Cujs.java
index 579d972..6500428 100644
--- a/tests/SystemMemoryTest/host/src/com/android/tests/sysmem/host/Cujs.java
+++ b/tests/SystemMemoryTest/host/src/com/android/tests/sysmem/host/Cujs.java
@@ -11,33 +11,36 @@
  * 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
+ * limitations under the License.
  */
 
 package com.android.tests.sysmem.host;
 
-import com.android.tradefed.device.DeviceNotAvailableException;
-import com.android.tradefed.device.ITestDevice;
-
 /**
  * Critical user journeys with which to exercise the system, driven from the
  * host.
  */
 public class Cujs {
-    private ITestDevice device;
+    private Device mDevice;
 
-    public Cujs(ITestDevice device) {
-        this.device = device;
+    public Cujs(Device device) {
+        this.mDevice = device;
     }
 
     /**
      * Runs the critical user journeys.
      */
-    public void run() throws DeviceNotAvailableException {
+    public void run() throws TestException {
+        // Do an explicit GC in the system server process as part of the test
+        // case to reduce GC-related sources of noise.
+        // SIGUSR1 = 10 is the magic signal to trigger the GC.
+        int pid = mDevice.getPidForProcess("system_server");
+        mDevice.executeShellCommand("kill -10 " + pid);
+
         // Invoke the Device Cujs instrumentation to run the cujs.
         // TODO: Consider exercising the system in other interesting ways as
         // well.
         String command = "am instrument -w com.android.tests.sysmem.device/.Cujs";
-        device.executeShellCommand(command);
+        mDevice.executeShellCommand(command);
     }
 }
diff --git a/tests/SystemMemoryTest/host/src/com/android/tests/sysmem/host/Device.java b/tests/SystemMemoryTest/host/src/com/android/tests/sysmem/host/Device.java
new file mode 100644
index 0000000..03503ce
--- /dev/null
+++ b/tests/SystemMemoryTest/host/src/com/android/tests/sysmem/host/Device.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.tests.sysmem.host;
+
+import com.android.tradefed.device.DeviceNotAvailableException;
+import com.android.tradefed.device.ITestDevice;
+
+import java.util.InputMismatchException;
+import java.util.Scanner;
+
+/**
+ * Wrapper around ITestDevice exposing useful device functions.
+ */
+class Device {
+
+    private ITestDevice mDevice;
+
+    Device(ITestDevice device) {
+        mDevice = device;
+    }
+
+    /**
+     * Execute a shell command and return the output as a string.
+     */
+    public String executeShellCommand(String command) throws TestException {
+        try {
+            return mDevice.executeShellCommand(command);
+        } catch (DeviceNotAvailableException e) {
+            throw new TestException(e);
+        }
+    }
+
+    /**
+     * Enable adb root
+     */
+    public void enableAdbRoot() throws TestException {
+        try {
+            mDevice.enableAdbRoot();
+        } catch (DeviceNotAvailableException e) {
+            throw new TestException(e);
+        }
+    }
+
+    /**
+     * Returns the pid for the process with the given name.
+     */
+    public int getPidForProcess(String name) throws TestException {
+        String psout = executeShellCommand("ps -A -o PID,CMD");
+        Scanner sc = new Scanner(psout);
+        try {
+            // ps output is of the form:
+            //  PID CMD
+            //    1 init
+            //    2 kthreadd
+            //    ...
+            // 9693 ps
+            sc.nextLine();
+            while (sc.hasNextLine()) {
+                int pid = sc.nextInt();
+                String cmd = sc.next();
+
+                if (name.equals(cmd)) {
+                    return pid;
+                }
+            }
+        } catch (InputMismatchException e) {
+            throw new TestException("unexpected ps output format: " + psout, e);
+        }
+
+        throw new TestException("failed to get pid for process " + name);
+    }
+}
diff --git a/tests/SystemMemoryTest/host/src/com/android/tests/sysmem/host/MemoryTest.java b/tests/SystemMemoryTest/host/src/com/android/tests/sysmem/host/MemoryTest.java
index bbec065..48b7f39 100644
--- a/tests/SystemMemoryTest/host/src/com/android/tests/sysmem/host/MemoryTest.java
+++ b/tests/SystemMemoryTest/host/src/com/android/tests/sysmem/host/MemoryTest.java
@@ -11,59 +11,64 @@
  * 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
+ * limitations under the License.
  */
 
 package com.android.tests.sysmem.host;
 
-import com.android.tradefed.device.DeviceNotAvailableException;
 import com.android.tradefed.device.ITestDevice;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner.TestLogData;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner.TestMetrics;
 import com.android.tradefed.testtype.IDeviceTest;
-import java.io.IOException;
+
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
+/**
+ * Runs a system memory test.
+ */
 @RunWith(DeviceJUnit4ClassRunner.class)
 public class MemoryTest implements IDeviceTest {
 
     @Rule public TestMetrics testMetrics = new TestMetrics();
     @Rule public TestLogData testLogs = new TestLogData();
 
-    private ITestDevice testDevice;
-    private int iterations = 0;     // Number of times cujs have been run.
-    private Metrics metrics;
-    private Cujs cujs;
+    private ITestDevice mTestDevice;
+    private int mIterations = 0;     // Number of times cujs have been run.
+    private Metrics mMetrics;
+    private Cujs mCujs;
 
     @Override
-    public void setDevice(ITestDevice device) {
-        testDevice = device;
-        metrics = new Metrics(device, testMetrics, testLogs);
-        cujs = new Cujs(device);
+    public void setDevice(ITestDevice testDevice) {
+        mTestDevice = testDevice;
+        Device device = new Device(testDevice);
+        mMetrics = new Metrics(device, testMetrics, testLogs);
+        mCujs = new Cujs(device);
     }
 
     @Override
     public ITestDevice getDevice() {
-        return testDevice;
+        return mTestDevice;
     }
 
     // Invoke a single iteration of running the cujs.
-    private void runCujs() throws DeviceNotAvailableException {
-        cujs.run();
-        iterations++;
+    private void runCujs() throws TestException {
+        mCujs.run();
+        mIterations++;
     }
 
     // Sample desired memory.
-    private void sample()
-            throws DeviceNotAvailableException, IOException, Metrics.MetricsException {
-        metrics.sample(String.format("%03d", iterations));
+    private void sample() throws TestException {
+        mMetrics.sample(String.format("%03d", mIterations));
     }
 
+    /**
+     * Runs the memory tests.
+     */
     @Test
-    public void run() throws Exception {
+    public void run() throws TestException {
         sample();   // Sample before running cujs
         runCujs();
         sample();   // Sample after first iteration of cujs
diff --git a/tests/SystemMemoryTest/host/src/com/android/tests/sysmem/host/Metrics.java b/tests/SystemMemoryTest/host/src/com/android/tests/sysmem/host/Metrics.java
index 616983e..b408a81 100644
--- a/tests/SystemMemoryTest/host/src/com/android/tests/sysmem/host/Metrics.java
+++ b/tests/SystemMemoryTest/host/src/com/android/tests/sysmem/host/Metrics.java
@@ -11,17 +11,16 @@
  * 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
+ * limitations under the License.
  */
 
 package com.android.tests.sysmem.host;
 
-import com.android.tradefed.device.DeviceNotAvailableException;
-import com.android.tradefed.device.ITestDevice;
 import com.android.tradefed.result.FileInputStreamSource;
 import com.android.tradefed.result.LogDataType;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner.TestLogData;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner.TestMetrics;
+
 import java.io.File;
 import java.io.IOException;
 import java.io.PrintStream;
@@ -33,22 +32,9 @@
  */
 class Metrics {
 
-    private ITestDevice device;
-    private TestMetrics metrics;
-    private TestLogData logs;
-
-    /**
-     * Exception thrown in case of error sampling metrics.
-     */
-    public static class MetricsException extends Exception {
-        public MetricsException(String msg) {
-            super(msg);
-        }
-
-        MetricsException(String msg, Exception cause) {
-            super(msg, cause);
-        }
-    }
+    private Device mDevice;
+    private TestMetrics mMetrics;
+    private TestLogData mLogs;
 
     /**
      * Constructs a metrics instance that will output high level metrics and
@@ -59,52 +45,26 @@
      * @param metrics where to log the high level metrics when taking a sample
      * @param logs where to log detailed breakdowns when taking a sample
      */
-    public Metrics(ITestDevice device, TestMetrics metrics, TestLogData logs) {
-        this.device = device;
-        this.metrics = metrics;
-        this.logs = logs;
+    Metrics(Device device, TestMetrics metrics, TestLogData logs) {
+        this.mDevice = device;
+        this.mMetrics = metrics;
+        this.mLogs = logs;
     }
 
     /**
      * Writes the given <code>text</code> to a log with the given label.
      */
-    private void logText(String label, String text) throws IOException {
-      File file = File.createTempFile(label, "txt");
-      PrintStream ps = new PrintStream(file);
-      ps.print(text);
-      try (FileInputStreamSource dataStream = new FileInputStreamSource(file)) {
-        logs.addTestLog(label, LogDataType.TEXT, dataStream);
-      }
-    }
-
-    /**
-     * Returns the pid for the process with the given name.
-     */
-    private int getPidForProcess(String name)
-            throws DeviceNotAvailableException, IOException, MetricsException {
-        String psout = device.executeShellCommand("ps -A -o PID,CMD");
-        Scanner sc = new Scanner(psout);
+    private void logText(String label, String text) throws TestException {
         try {
-            // ps output is of the form:
-            //  PID CMD            
-            //    1 init
-            //    2 kthreadd
-            //    ...
-            // 9693 ps
-            sc.nextLine();
-            while (sc.hasNextLine()) {
-                int pid = sc.nextInt();
-                String cmd = sc.next();
-
-                if (name.equals(cmd)) {
-                    return pid;
-                }
+            File file = File.createTempFile(label, "txt");
+            PrintStream ps = new PrintStream(file);
+            ps.print(text);
+            try (FileInputStreamSource dataStream = new FileInputStreamSource(file)) {
+                mLogs.addTestLog(label, LogDataType.TEXT, dataStream);
             }
-        } catch (InputMismatchException e) {
-            throw new MetricsException("unexpected ps output format: " + psout, e);
+        } catch (IOException e) {
+            throw new TestException(e);
         }
-
-        throw new MetricsException("failed to get pid for process " + name);
     }
 
     /**
@@ -115,22 +75,24 @@
      *
      * @param label prefix to use for metrics and logs output for this sample.
      */
-    void sample(String label) throws DeviceNotAvailableException, IOException, MetricsException {
+    void sample(String label) throws TestException {
         // adb root access is required to get showmap
-        device.enableAdbRoot();
+        mDevice.enableAdbRoot();
 
-        int pid = getPidForProcess("system_server");
+        int pid = mDevice.getPidForProcess("system_server");
 
         // Read showmap for system server and add it as a test log
-        String showmap = device.executeShellCommand("showmap " + pid);
+        String showmap = mDevice.executeShellCommand("showmap " + pid);
         logText(label + ".system_server.showmap", showmap);
 
         // Extract VSS, PSS and RSS from the showmap and output them as metrics.
         // The last lines of the showmap output looks something like:
+        // CHECKSTYLE:OFF Generated code
         // virtual                     shared   shared  private  private
         //    size      RSS      PSS    clean    dirty    clean    dirty     swap  swapPSS   # object
         //-------- -------- -------- -------- -------- -------- -------- -------- -------- ---- ------------------------------
         //  928480   113016    24860    87348     7916     3632    14120     1968     1968 1900 TOTAL
+        // CHECKSTYLE:ON Generated code
         try {
             int pos = showmap.lastIndexOf("----");
             Scanner sc = new Scanner(showmap.substring(pos));
@@ -139,16 +101,16 @@
             long rss = sc.nextLong();
             long pss = sc.nextLong();
 
-            metrics.addTestMetric(String.format("%s.system_server.vss", label), Long.toString(vss));
-            metrics.addTestMetric(String.format("%s.system_server.rss", label), Long.toString(rss));
-            metrics.addTestMetric(String.format("%s.system_server.pss", label), Long.toString(pss));
+            mMetrics.addTestMetric(label + ".system_server.vss", Long.toString(vss));
+            mMetrics.addTestMetric(label + ".system_server.rss", Long.toString(rss));
+            mMetrics.addTestMetric(label + ".system_server.pss", Long.toString(pss));
         } catch (InputMismatchException e) {
-            throw new MetricsException("unexpected showmap format", e);
+            throw new TestException("unexpected showmap format", e);
         }
 
         // Run debuggerd -j to get GC stats for system server and add it as a
         // test log
-        String debuggerd = device.executeShellCommand("debuggerd -j " + pid);
+        String debuggerd = mDevice.executeShellCommand("debuggerd -j " + pid);
         logText(label + ".system_server.debuggerd", debuggerd);
 
         // TODO: Experiment with other additional metrics.
diff --git a/tests/SystemMemoryTest/host/src/com/android/tests/sysmem/host/TestException.java b/tests/SystemMemoryTest/host/src/com/android/tests/sysmem/host/TestException.java
new file mode 100644
index 0000000..dc3b68f
--- /dev/null
+++ b/tests/SystemMemoryTest/host/src/com/android/tests/sysmem/host/TestException.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package com.android.tests.sysmem.host;
+
+/**
+ * Exception thrown in case of unexpected error encountered when executing the
+ * test.
+ */
+class TestException extends Exception {
+    TestException(Exception cause) {
+        super(cause);
+    }
+
+    TestException(String msg) {
+        super(msg);
+    }
+
+    TestException(String msg, Exception cause) {
+        super(msg, cause);
+    }
+}
diff --git a/tests/net/AndroidManifest.xml b/tests/net/AndroidManifest.xml
index ba1a2ea..6dae3f1 100644
--- a/tests/net/AndroidManifest.xml
+++ b/tests/net/AndroidManifest.xml
@@ -44,6 +44,7 @@
     <uses-permission android:name="android.permission.GET_INTENT_SENDER_INTENT" />
     <uses-permission android:name="android.permission.MANAGE_ACTIVITY_STACKS" />
     <uses-permission android:name="android.permission.INSTALL_PACKAGES" />
+    <uses-permission android:name="android.permission.NETWORK_STACK" />
 
     <application>
         <uses-library android:name="android.test.runner" />
diff --git a/tests/net/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachineTest.java b/tests/net/java/android/net/ip/IpServerTest.java
similarity index 71%
rename from tests/net/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachineTest.java
rename to tests/net/java/android/net/ip/IpServerTest.java
index 5934653..cff0b54 100644
--- a/tests/net/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachineTest.java
+++ b/tests/net/java/android/net/ip/IpServerTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering;
+package android.net.ip;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -37,9 +37,9 @@
 import static android.net.ConnectivityManager.TETHERING_BLUETOOTH;
 import static android.net.ConnectivityManager.TETHERING_USB;
 import static android.net.ConnectivityManager.TETHERING_WIFI;
-import static com.android.server.connectivity.tethering.IControlsTethering.STATE_AVAILABLE;
-import static com.android.server.connectivity.tethering.IControlsTethering.STATE_TETHERED;
-import static com.android.server.connectivity.tethering.IControlsTethering.STATE_UNAVAILABLE;
+import static android.net.ip.IpServer.STATE_AVAILABLE;
+import static android.net.ip.IpServer.STATE_TETHERED;
+import static android.net.ip.IpServer.STATE_UNAVAILABLE;
 
 import android.net.INetworkStatsService;
 import android.net.InterfaceConfiguration;
@@ -50,7 +50,6 @@
 import android.net.RouteInfo;
 import android.net.dhcp.DhcpServer;
 import android.net.dhcp.DhcpServingParams;
-import android.net.ip.RouterAdvertisementDaemon;
 import android.net.util.InterfaceParams;
 import android.net.util.InterfaceSet;
 import android.net.util.SharedLog;
@@ -74,7 +73,7 @@
 
 @RunWith(AndroidJUnit4.class)
 @SmallTest
-public class TetherInterfaceStateMachineTest {
+public class IpServerTest {
     private static final String IFACE_NAME = "testnet1";
     private static final String UPSTREAM_IFACE = "upstream0";
     private static final String UPSTREAM_IFACE2 = "upstream1";
@@ -85,39 +84,38 @@
 
     @Mock private INetworkManagementService mNMService;
     @Mock private INetworkStatsService mStatsService;
-    @Mock private IControlsTethering mTetherHelper;
+    @Mock private IpServer.Callback mCallback;
     @Mock private InterfaceConfiguration mInterfaceConfiguration;
     @Mock private SharedLog mSharedLog;
     @Mock private DhcpServer mDhcpServer;
     @Mock private RouterAdvertisementDaemon mRaDaemon;
-    @Mock private TetheringDependencies mTetheringDependencies;
+    @Mock private IpServer.Dependencies mDependencies;
 
     @Captor private ArgumentCaptor<DhcpServingParams> mDhcpParamsCaptor;
 
     private final TestLooper mLooper = new TestLooper();
     private final ArgumentCaptor<LinkProperties> mLinkPropertiesCaptor =
             ArgumentCaptor.forClass(LinkProperties.class);
-    private TetherInterfaceStateMachine mTestedSm;
+    private IpServer mIpServer;
 
     private void initStateMachine(int interfaceType) throws Exception {
         initStateMachine(interfaceType, false /* usingLegacyDhcp */);
     }
 
     private void initStateMachine(int interfaceType, boolean usingLegacyDhcp) throws Exception {
-        mTestedSm = new TetherInterfaceStateMachine(
+        mIpServer = new IpServer(
                 IFACE_NAME, mLooper.getLooper(), interfaceType, mSharedLog,
-                mNMService, mStatsService, mTetherHelper, usingLegacyDhcp,
-                mTetheringDependencies);
-        mTestedSm.start();
+                mNMService, mStatsService, mCallback, usingLegacyDhcp, mDependencies);
+        mIpServer.start();
         // Starting the state machine always puts us in a consistent state and notifies
         // the rest of the world that we've changed from an unknown to available state.
         mLooper.dispatchAll();
-        reset(mNMService, mStatsService, mTetherHelper);
+        reset(mNMService, mStatsService, mCallback);
         when(mNMService.getInterfaceConfig(IFACE_NAME)).thenReturn(mInterfaceConfiguration);
-        when(mTetheringDependencies.makeDhcpServer(
+        when(mDependencies.makeDhcpServer(
                 any(), any(), mDhcpParamsCaptor.capture(), any())).thenReturn(mDhcpServer);
-        when(mTetheringDependencies.getRouterAdvertisementDaemon(any())).thenReturn(mRaDaemon);
-        when(mTetheringDependencies.getInterfaceParams(IFACE_NAME)).thenReturn(TEST_IFACE_PARAMS);
+        when(mDependencies.getRouterAdvertisementDaemon(any())).thenReturn(mRaDaemon);
+        when(mDependencies.getInterfaceParams(IFACE_NAME)).thenReturn(TEST_IFACE_PARAMS);
 
         when(mRaDaemon.start()).thenReturn(true);
     }
@@ -130,11 +128,11 @@
     private void initTetheredStateMachine(int interfaceType, String upstreamIface,
             boolean usingLegacyDhcp) throws Exception {
         initStateMachine(interfaceType, usingLegacyDhcp);
-        dispatchCommand(TetherInterfaceStateMachine.CMD_TETHER_REQUESTED, STATE_TETHERED);
+        dispatchCommand(IpServer.CMD_TETHER_REQUESTED, STATE_TETHERED);
         if (upstreamIface != null) {
             dispatchTetherConnectionChanged(upstreamIface);
         }
-        reset(mNMService, mStatsService, mTetherHelper);
+        reset(mNMService, mStatsService, mCallback);
         when(mNMService.getInterfaceConfig(IFACE_NAME)).thenReturn(mInterfaceConfiguration);
     }
 
@@ -145,34 +143,34 @@
 
     @Test
     public void startsOutAvailable() {
-        mTestedSm = new TetherInterfaceStateMachine(IFACE_NAME, mLooper.getLooper(),
-                TETHERING_BLUETOOTH, mSharedLog, mNMService, mStatsService, mTetherHelper,
-                false /* usingLegacyDhcp */, mTetheringDependencies);
-        mTestedSm.start();
+        mIpServer = new IpServer(IFACE_NAME, mLooper.getLooper(),
+                TETHERING_BLUETOOTH, mSharedLog, mNMService, mStatsService, mCallback,
+                false /* usingLegacyDhcp */, mDependencies);
+        mIpServer.start();
         mLooper.dispatchAll();
-        verify(mTetherHelper).updateInterfaceState(
-                mTestedSm, STATE_AVAILABLE, TETHER_ERROR_NO_ERROR);
-        verify(mTetherHelper).updateLinkProperties(eq(mTestedSm), any(LinkProperties.class));
-        verifyNoMoreInteractions(mTetherHelper, mNMService, mStatsService);
+        verify(mCallback).updateInterfaceState(
+                mIpServer, STATE_AVAILABLE, TETHER_ERROR_NO_ERROR);
+        verify(mCallback).updateLinkProperties(eq(mIpServer), any(LinkProperties.class));
+        verifyNoMoreInteractions(mCallback, mNMService, mStatsService);
     }
 
     @Test
     public void shouldDoNothingUntilRequested() throws Exception {
         initStateMachine(TETHERING_BLUETOOTH);
         final int [] NOOP_COMMANDS = {
-            TetherInterfaceStateMachine.CMD_TETHER_UNREQUESTED,
-            TetherInterfaceStateMachine.CMD_IP_FORWARDING_ENABLE_ERROR,
-            TetherInterfaceStateMachine.CMD_IP_FORWARDING_DISABLE_ERROR,
-            TetherInterfaceStateMachine.CMD_START_TETHERING_ERROR,
-            TetherInterfaceStateMachine.CMD_STOP_TETHERING_ERROR,
-            TetherInterfaceStateMachine.CMD_SET_DNS_FORWARDERS_ERROR,
-            TetherInterfaceStateMachine.CMD_TETHER_CONNECTION_CHANGED
+            IpServer.CMD_TETHER_UNREQUESTED,
+            IpServer.CMD_IP_FORWARDING_ENABLE_ERROR,
+            IpServer.CMD_IP_FORWARDING_DISABLE_ERROR,
+            IpServer.CMD_START_TETHERING_ERROR,
+            IpServer.CMD_STOP_TETHERING_ERROR,
+            IpServer.CMD_SET_DNS_FORWARDERS_ERROR,
+            IpServer.CMD_TETHER_CONNECTION_CHANGED
         };
         for (int command : NOOP_COMMANDS) {
             // None of these commands should trigger us to request action from
             // the rest of the system.
             dispatchCommand(command);
-            verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper);
+            verifyNoMoreInteractions(mNMService, mStatsService, mCallback);
         }
     }
 
@@ -180,57 +178,57 @@
     public void handlesImmediateInterfaceDown() throws Exception {
         initStateMachine(TETHERING_BLUETOOTH);
 
-        dispatchCommand(TetherInterfaceStateMachine.CMD_INTERFACE_DOWN);
-        verify(mTetherHelper).updateInterfaceState(
-                mTestedSm, STATE_UNAVAILABLE, TETHER_ERROR_NO_ERROR);
-        verify(mTetherHelper).updateLinkProperties(eq(mTestedSm), any(LinkProperties.class));
-        verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper);
+        dispatchCommand(IpServer.CMD_INTERFACE_DOWN);
+        verify(mCallback).updateInterfaceState(
+                mIpServer, STATE_UNAVAILABLE, TETHER_ERROR_NO_ERROR);
+        verify(mCallback).updateLinkProperties(eq(mIpServer), any(LinkProperties.class));
+        verifyNoMoreInteractions(mNMService, mStatsService, mCallback);
     }
 
     @Test
     public void canBeTethered() throws Exception {
         initStateMachine(TETHERING_BLUETOOTH);
 
-        dispatchCommand(TetherInterfaceStateMachine.CMD_TETHER_REQUESTED, STATE_TETHERED);
-        InOrder inOrder = inOrder(mTetherHelper, mNMService);
+        dispatchCommand(IpServer.CMD_TETHER_REQUESTED, STATE_TETHERED);
+        InOrder inOrder = inOrder(mCallback, mNMService);
         inOrder.verify(mNMService).tetherInterface(IFACE_NAME);
-        inOrder.verify(mTetherHelper).updateInterfaceState(
-                mTestedSm, STATE_TETHERED, TETHER_ERROR_NO_ERROR);
-        inOrder.verify(mTetherHelper).updateLinkProperties(
-                eq(mTestedSm), any(LinkProperties.class));
-        verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper);
+        inOrder.verify(mCallback).updateInterfaceState(
+                mIpServer, STATE_TETHERED, TETHER_ERROR_NO_ERROR);
+        inOrder.verify(mCallback).updateLinkProperties(
+                eq(mIpServer), any(LinkProperties.class));
+        verifyNoMoreInteractions(mNMService, mStatsService, mCallback);
     }
 
     @Test
     public void canUnrequestTethering() throws Exception {
         initTetheredStateMachine(TETHERING_BLUETOOTH, null);
 
-        dispatchCommand(TetherInterfaceStateMachine.CMD_TETHER_UNREQUESTED);
-        InOrder inOrder = inOrder(mNMService, mStatsService, mTetherHelper);
+        dispatchCommand(IpServer.CMD_TETHER_UNREQUESTED);
+        InOrder inOrder = inOrder(mNMService, mStatsService, mCallback);
         inOrder.verify(mNMService).untetherInterface(IFACE_NAME);
         inOrder.verify(mNMService).setInterfaceConfig(eq(IFACE_NAME), any());
-        inOrder.verify(mTetherHelper).updateInterfaceState(
-                mTestedSm, STATE_AVAILABLE, TETHER_ERROR_NO_ERROR);
-        inOrder.verify(mTetherHelper).updateLinkProperties(
-                eq(mTestedSm), any(LinkProperties.class));
-        verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper);
+        inOrder.verify(mCallback).updateInterfaceState(
+                mIpServer, STATE_AVAILABLE, TETHER_ERROR_NO_ERROR);
+        inOrder.verify(mCallback).updateLinkProperties(
+                eq(mIpServer), any(LinkProperties.class));
+        verifyNoMoreInteractions(mNMService, mStatsService, mCallback);
     }
 
     @Test
     public void canBeTetheredAsUsb() throws Exception {
         initStateMachine(TETHERING_USB);
 
-        dispatchCommand(TetherInterfaceStateMachine.CMD_TETHER_REQUESTED, STATE_TETHERED);
-        InOrder inOrder = inOrder(mTetherHelper, mNMService);
+        dispatchCommand(IpServer.CMD_TETHER_REQUESTED, STATE_TETHERED);
+        InOrder inOrder = inOrder(mCallback, mNMService);
         inOrder.verify(mNMService).getInterfaceConfig(IFACE_NAME);
         inOrder.verify(mNMService).setInterfaceConfig(IFACE_NAME, mInterfaceConfiguration);
         inOrder.verify(mNMService).tetherInterface(IFACE_NAME);
-        inOrder.verify(mTetherHelper).updateInterfaceState(
-                mTestedSm, STATE_TETHERED, TETHER_ERROR_NO_ERROR);
-        inOrder.verify(mTetherHelper).updateLinkProperties(
-                eq(mTestedSm), mLinkPropertiesCaptor.capture());
+        inOrder.verify(mCallback).updateInterfaceState(
+                mIpServer, STATE_TETHERED, TETHER_ERROR_NO_ERROR);
+        inOrder.verify(mCallback).updateLinkProperties(
+                eq(mIpServer), mLinkPropertiesCaptor.capture());
         assertIPv4AddressAndDirectlyConnectedRoute(mLinkPropertiesCaptor.getValue());
-        verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper);
+        verifyNoMoreInteractions(mNMService, mStatsService, mCallback);
     }
 
     @Test
@@ -243,7 +241,7 @@
         InOrder inOrder = inOrder(mNMService);
         inOrder.verify(mNMService).enableNat(IFACE_NAME, UPSTREAM_IFACE);
         inOrder.verify(mNMService).startInterfaceForwarding(IFACE_NAME, UPSTREAM_IFACE);
-        verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper);
+        verifyNoMoreInteractions(mNMService, mStatsService, mCallback);
     }
 
     @Test
@@ -257,7 +255,7 @@
         inOrder.verify(mNMService).disableNat(IFACE_NAME, UPSTREAM_IFACE);
         inOrder.verify(mNMService).enableNat(IFACE_NAME, UPSTREAM_IFACE2);
         inOrder.verify(mNMService).startInterfaceForwarding(IFACE_NAME, UPSTREAM_IFACE2);
-        verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper);
+        verifyNoMoreInteractions(mNMService, mStatsService, mCallback);
     }
 
     @Test
@@ -300,18 +298,18 @@
     public void canUnrequestTetheringWithUpstream() throws Exception {
         initTetheredStateMachine(TETHERING_BLUETOOTH, UPSTREAM_IFACE);
 
-        dispatchCommand(TetherInterfaceStateMachine.CMD_TETHER_UNREQUESTED);
-        InOrder inOrder = inOrder(mNMService, mStatsService, mTetherHelper);
+        dispatchCommand(IpServer.CMD_TETHER_UNREQUESTED);
+        InOrder inOrder = inOrder(mNMService, mStatsService, mCallback);
         inOrder.verify(mStatsService).forceUpdate();
         inOrder.verify(mNMService).stopInterfaceForwarding(IFACE_NAME, UPSTREAM_IFACE);
         inOrder.verify(mNMService).disableNat(IFACE_NAME, UPSTREAM_IFACE);
         inOrder.verify(mNMService).untetherInterface(IFACE_NAME);
         inOrder.verify(mNMService).setInterfaceConfig(eq(IFACE_NAME), any());
-        inOrder.verify(mTetherHelper).updateInterfaceState(
-                mTestedSm, STATE_AVAILABLE, TETHER_ERROR_NO_ERROR);
-        inOrder.verify(mTetherHelper).updateLinkProperties(
-                eq(mTestedSm), any(LinkProperties.class));
-        verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper);
+        inOrder.verify(mCallback).updateInterfaceState(
+                mIpServer, STATE_AVAILABLE, TETHER_ERROR_NO_ERROR);
+        inOrder.verify(mCallback).updateLinkProperties(
+                eq(mIpServer), any(LinkProperties.class));
+        verifyNoMoreInteractions(mNMService, mStatsService, mCallback);
     }
 
     @Test
@@ -322,15 +320,15 @@
             if (shouldThrow) {
                 doThrow(RemoteException.class).when(mNMService).untetherInterface(IFACE_NAME);
             }
-            dispatchCommand(TetherInterfaceStateMachine.CMD_INTERFACE_DOWN);
-            InOrder usbTeardownOrder = inOrder(mNMService, mInterfaceConfiguration, mTetherHelper);
+            dispatchCommand(IpServer.CMD_INTERFACE_DOWN);
+            InOrder usbTeardownOrder = inOrder(mNMService, mInterfaceConfiguration, mCallback);
             usbTeardownOrder.verify(mInterfaceConfiguration).setInterfaceDown();
             usbTeardownOrder.verify(mNMService).setInterfaceConfig(
                     IFACE_NAME, mInterfaceConfiguration);
-            usbTeardownOrder.verify(mTetherHelper).updateInterfaceState(
-                    mTestedSm, STATE_UNAVAILABLE, TETHER_ERROR_NO_ERROR);
-            usbTeardownOrder.verify(mTetherHelper).updateLinkProperties(
-                    eq(mTestedSm), mLinkPropertiesCaptor.capture());
+            usbTeardownOrder.verify(mCallback).updateInterfaceState(
+                    mIpServer, STATE_UNAVAILABLE, TETHER_ERROR_NO_ERROR);
+            usbTeardownOrder.verify(mCallback).updateLinkProperties(
+                    eq(mIpServer), mLinkPropertiesCaptor.capture());
             assertNoAddressesNorRoutes(mLinkPropertiesCaptor.getValue());
         }
     }
@@ -340,15 +338,15 @@
         initStateMachine(TETHERING_USB);
 
         doThrow(RemoteException.class).when(mNMService).tetherInterface(IFACE_NAME);
-        dispatchCommand(TetherInterfaceStateMachine.CMD_TETHER_REQUESTED, STATE_TETHERED);
-        InOrder usbTeardownOrder = inOrder(mNMService, mInterfaceConfiguration, mTetherHelper);
+        dispatchCommand(IpServer.CMD_TETHER_REQUESTED, STATE_TETHERED);
+        InOrder usbTeardownOrder = inOrder(mNMService, mInterfaceConfiguration, mCallback);
         usbTeardownOrder.verify(mInterfaceConfiguration).setInterfaceDown();
         usbTeardownOrder.verify(mNMService).setInterfaceConfig(
                 IFACE_NAME, mInterfaceConfiguration);
-        usbTeardownOrder.verify(mTetherHelper).updateInterfaceState(
-                mTestedSm, STATE_AVAILABLE, TETHER_ERROR_TETHER_IFACE_ERROR);
-        usbTeardownOrder.verify(mTetherHelper).updateLinkProperties(
-                eq(mTestedSm), mLinkPropertiesCaptor.capture());
+        usbTeardownOrder.verify(mCallback).updateInterfaceState(
+                mIpServer, STATE_AVAILABLE, TETHER_ERROR_TETHER_IFACE_ERROR);
+        usbTeardownOrder.verify(mCallback).updateLinkProperties(
+                eq(mIpServer), mLinkPropertiesCaptor.capture());
         assertNoAddressesNorRoutes(mLinkPropertiesCaptor.getValue());
     }
 
@@ -358,13 +356,13 @@
 
         doThrow(RemoteException.class).when(mNMService).enableNat(anyString(), anyString());
         dispatchTetherConnectionChanged(UPSTREAM_IFACE);
-        InOrder usbTeardownOrder = inOrder(mNMService, mInterfaceConfiguration, mTetherHelper);
+        InOrder usbTeardownOrder = inOrder(mNMService, mInterfaceConfiguration, mCallback);
         usbTeardownOrder.verify(mInterfaceConfiguration).setInterfaceDown();
         usbTeardownOrder.verify(mNMService).setInterfaceConfig(IFACE_NAME, mInterfaceConfiguration);
-        usbTeardownOrder.verify(mTetherHelper).updateInterfaceState(
-                mTestedSm, STATE_AVAILABLE, TETHER_ERROR_ENABLE_NAT_ERROR);
-        usbTeardownOrder.verify(mTetherHelper).updateLinkProperties(
-                eq(mTestedSm), mLinkPropertiesCaptor.capture());
+        usbTeardownOrder.verify(mCallback).updateInterfaceState(
+                mIpServer, STATE_AVAILABLE, TETHER_ERROR_ENABLE_NAT_ERROR);
+        usbTeardownOrder.verify(mCallback).updateLinkProperties(
+                eq(mIpServer), mLinkPropertiesCaptor.capture());
         assertNoAddressesNorRoutes(mLinkPropertiesCaptor.getValue());
     }
 
@@ -372,11 +370,11 @@
     public void ignoresDuplicateUpstreamNotifications() throws Exception {
         initTetheredStateMachine(TETHERING_WIFI, UPSTREAM_IFACE);
 
-        verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper);
+        verifyNoMoreInteractions(mNMService, mStatsService, mCallback);
 
         for (int i = 0; i < 5; i++) {
             dispatchTetherConnectionChanged(UPSTREAM_IFACE);
-            verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper);
+            verifyNoMoreInteractions(mNMService, mStatsService, mCallback);
         }
     }
 
@@ -401,11 +399,11 @@
         initTetheredStateMachine(TETHERING_WIFI, UPSTREAM_IFACE, true /* usingLegacyDhcp */);
         dispatchTetherConnectionChanged(UPSTREAM_IFACE);
 
-        verify(mTetheringDependencies, never()).makeDhcpServer(any(), any(), any(), any());
+        verify(mDependencies, never()).makeDhcpServer(any(), any(), any(), any());
     }
 
     private void assertDhcpStarted(IpPrefix expectedPrefix) {
-        verify(mTetheringDependencies, times(1)).makeDhcpServer(
+        verify(mDependencies, times(1)).makeDhcpServer(
                 eq(mLooper.getLooper()), eq(TEST_IFACE_PARAMS), any(), eq(mSharedLog));
         verify(mDhcpServer, times(1)).start();
         final DhcpServingParams params = mDhcpParamsCaptor.getValue();
@@ -422,21 +420,21 @@
     /**
      * Send a command to the state machine under test, and run the event loop to idle.
      *
-     * @param command One of the TetherInterfaceStateMachine.CMD_* constants.
+     * @param command One of the IpServer.CMD_* constants.
      * @param arg1 An additional argument to pass.
      */
     private void dispatchCommand(int command, int arg1) {
-        mTestedSm.sendMessage(command, arg1);
+        mIpServer.sendMessage(command, arg1);
         mLooper.dispatchAll();
     }
 
     /**
      * Send a command to the state machine under test, and run the event loop to idle.
      *
-     * @param command One of the TetherInterfaceStateMachine.CMD_* constants.
+     * @param command One of the IpServer.CMD_* constants.
      */
     private void dispatchCommand(int command) {
-        mTestedSm.sendMessage(command);
+        mIpServer.sendMessage(command);
         mLooper.dispatchAll();
     }
 
@@ -447,7 +445,7 @@
      * @param upstreamIface String name of upstream interface (or null)
      */
     private void dispatchTetherConnectionChanged(String upstreamIface) {
-        mTestedSm.sendMessage(TetherInterfaceStateMachine.CMD_TETHER_CONNECTION_CHANGED,
+        mIpServer.sendMessage(IpServer.CMD_TETHER_CONNECTION_CHANGED,
                 new InterfaceSet(upstreamIface));
         mLooper.dispatchAll();
     }
diff --git a/tests/net/java/android/net/netlink/InetDiagSocketTest.java b/tests/net/java/android/net/netlink/InetDiagSocketTest.java
new file mode 100644
index 0000000..122edba
--- /dev/null
+++ b/tests/net/java/android/net/netlink/InetDiagSocketTest.java
@@ -0,0 +1,327 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+package android.net.netlink;
+
+import static android.net.netlink.StructNlMsgHdr.NLM_F_DUMP;
+import static android.net.netlink.StructNlMsgHdr.NLM_F_REQUEST;
+import static android.os.Process.INVALID_UID;
+import static android.system.OsConstants.AF_INET;
+import static android.system.OsConstants.AF_INET6;
+import static android.system.OsConstants.IPPROTO_TCP;
+import static android.system.OsConstants.IPPROTO_UDP;
+import static android.system.OsConstants.SOCK_DGRAM;
+import static android.system.OsConstants.SOCK_STREAM;
+import static android.system.OsConstants.SOL_SOCKET;
+import static android.system.OsConstants.SO_RCVTIMEO;
+
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import android.app.Instrumentation;
+import android.content.Context;
+import android.net.ConnectivityManager;
+import android.net.netlink.StructNlMsgHdr;
+import android.os.Process;
+import android.support.test.runner.AndroidJUnit4;
+import android.support.test.filters.SmallTest;
+import android.support.test.InstrumentationRegistry;
+import android.system.Os;
+import android.system.StructTimeval;
+import android.util.Log;
+import java.io.FileDescriptor;
+import java.net.DatagramSocket;
+import java.net.InetAddress;
+import java.net.Inet4Address;
+import java.net.Inet6Address;
+import java.net.InetSocketAddress;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.net.SocketAddress;
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+
+import libcore.util.HexEncoding;
+
+import org.junit.Before;
+import org.junit.runner.RunWith;
+import org.junit.Test;
+
+@RunWith(AndroidJUnit4.class)
+@SmallTest
+public class InetDiagSocketTest {
+    private final String TAG = "InetDiagSocketTest";
+    private ConnectivityManager mCm;
+    private Context mContext;
+    private final static int SOCKET_TIMEOUT_MS = 100;
+
+    @Before
+    public void setUp() throws Exception {
+        Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
+        mContext = instrumentation.getTargetContext();
+        mCm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
+    }
+
+    private class Connection {
+        public int socketDomain;
+        public int socketType;
+        public InetAddress localAddress;
+        public InetAddress remoteAddress;
+        public InetAddress localhostAddress;
+        public InetSocketAddress local;
+        public InetSocketAddress remote;
+        public int protocol;
+        public FileDescriptor localFd;
+        public FileDescriptor remoteFd;
+
+        public FileDescriptor createSocket() throws Exception {
+            return Os.socket(socketDomain, socketType, protocol);
+        }
+
+        public Connection(String to, String from) throws Exception {
+            remoteAddress = InetAddress.getByName(to);
+            if (from != null) {
+                localAddress = InetAddress.getByName(from);
+            } else {
+                localAddress = (remoteAddress instanceof Inet4Address) ?
+                        Inet4Address.getByName("localhost") : Inet6Address.getByName("::");
+            }
+            if ((localAddress instanceof Inet4Address) && (remoteAddress instanceof Inet4Address)) {
+                socketDomain = AF_INET;
+                localhostAddress = Inet4Address.getByName("localhost");
+            } else {
+                socketDomain = AF_INET6;
+                localhostAddress = Inet6Address.getByName("::");
+            }
+        }
+
+        public void close() throws Exception {
+            Os.close(localFd);
+        }
+    }
+
+    private class TcpConnection extends Connection {
+        public TcpConnection(String to, String from) throws Exception {
+            super(to, from);
+            protocol = IPPROTO_TCP;
+            socketType = SOCK_STREAM;
+
+            remoteFd = createSocket();
+            Os.bind(remoteFd, remoteAddress, 0);
+            Os.listen(remoteFd, 10);
+            int remotePort = ((InetSocketAddress) Os.getsockname(remoteFd)).getPort();
+
+            localFd = createSocket();
+            Os.bind(localFd, localAddress, 0);
+            Os.connect(localFd, remoteAddress, remotePort);
+
+            local = (InetSocketAddress) Os.getsockname(localFd);
+            remote = (InetSocketAddress) Os.getpeername(localFd);
+        }
+
+        public void close() throws Exception {
+            super.close();
+            Os.close(remoteFd);
+        }
+    }
+    private class UdpConnection extends Connection {
+        public UdpConnection(String to, String from) throws Exception {
+            super(to, from);
+            protocol = IPPROTO_UDP;
+            socketType = SOCK_DGRAM;
+
+            remoteFd = null;
+            localFd = createSocket();
+            Os.bind(localFd, localAddress, 0);
+
+            Os.connect(localFd, remoteAddress, 7);
+            local = (InetSocketAddress) Os.getsockname(localFd);
+            remote = new InetSocketAddress(remoteAddress, 7);
+        }
+    }
+
+    private void checkConnectionOwnerUid(int protocol, InetSocketAddress local,
+                                         InetSocketAddress remote, boolean expectSuccess) {
+        final int expectedUid = expectSuccess ? Process.myUid() : INVALID_UID;
+        final int uid = mCm.getConnectionOwnerUid(protocol, local, remote);
+        assertEquals(expectedUid, uid);
+    }
+
+    private int findLikelyFreeUdpPort(UdpConnection conn) throws Exception {
+        UdpConnection udp = new UdpConnection(conn.remoteAddress.getHostAddress(),
+                conn.localAddress.getHostAddress());
+        final int localPort = udp.local.getPort();
+        udp.close();
+        return localPort;
+    }
+
+    public void checkGetConnectionOwnerUid(String to, String from) throws Exception {
+        /**
+         * For TCP connections, create a test connection and verify that this
+         * {protocol, local, remote} socket result in receiving a valid UID.
+         */
+        TcpConnection tcp = new TcpConnection(to, from);
+        checkConnectionOwnerUid(tcp.protocol, tcp.local, tcp.remote, true);
+        checkConnectionOwnerUid(IPPROTO_UDP, tcp.local, tcp.remote, false);
+        checkConnectionOwnerUid(tcp.protocol, new InetSocketAddress(0), tcp.remote, false);
+        checkConnectionOwnerUid(tcp.protocol, tcp.local, new InetSocketAddress(0), false);
+        tcp.close();
+
+        /**
+         * For UDP connections, either a complete match {protocol, local, remote} or a
+         * partial match {protocol, local} should return a valid UID.
+         */
+        UdpConnection udp = new UdpConnection(to,from);
+        checkConnectionOwnerUid(udp.protocol, udp.local, udp.remote, true);
+        checkConnectionOwnerUid(udp.protocol, udp.local, new InetSocketAddress(0), true);
+        checkConnectionOwnerUid(IPPROTO_TCP, udp.local, udp.remote, false);
+        checkConnectionOwnerUid(udp.protocol, new InetSocketAddress(findLikelyFreeUdpPort(udp)),
+                udp.remote, false);
+        udp.close();
+    }
+
+    @Test
+    public void testGetConnectionOwnerUid() throws Exception {
+        checkGetConnectionOwnerUid("::", null);
+        checkGetConnectionOwnerUid("::", "::");
+        checkGetConnectionOwnerUid("0.0.0.0", null);
+        checkGetConnectionOwnerUid("0.0.0.0", "0.0.0.0");
+        checkGetConnectionOwnerUid("127.0.0.1", null);
+        checkGetConnectionOwnerUid("127.0.0.1", "127.0.0.2");
+        checkGetConnectionOwnerUid("::1", null);
+        checkGetConnectionOwnerUid("::1", "::1");
+    }
+
+    // Hexadecimal representation of InetDiagReqV2 request.
+    private static final String INET_DIAG_REQ_V2_UDP_INET4_HEX =
+            // struct nlmsghdr
+            "48000000" +     // length = 72
+            "1400" +         // type = SOCK_DIAG_BY_FAMILY
+            "0103" +         // flags = NLM_F_REQUEST | NLM_F_DUMP
+            "00000000" +     // seqno
+            "00000000" +     // pid (0 == kernel)
+            // struct inet_diag_req_v2
+            "02" +           // family = AF_INET
+            "11" +           // protcol = IPPROTO_UDP
+            "00" +           // idiag_ext
+            "00" +           // pad
+            "ffffffff" +     // idiag_states
+            // inet_diag_sockid
+            "a5de" +         // idiag_sport = 42462
+            "b971" +         // idiag_dport = 47473
+            "0a006402000000000000000000000000" + // idiag_src = 10.0.100.2
+            "08080808000000000000000000000000" + // idiag_dst = 8.8.8.8
+            "00000000" +     // idiag_if
+            "ffffffffffffffff"; // idiag_cookie = INET_DIAG_NOCOOKIE
+    private static final byte[] INET_DIAG_REQ_V2_UDP_INET4_BYTES =
+            HexEncoding.decode(INET_DIAG_REQ_V2_UDP_INET4_HEX.toCharArray(), false);
+
+    @Test
+    public void testInetDiagReqV2UdpInet4() throws Exception {
+        InetSocketAddress local = new InetSocketAddress(InetAddress.getByName("10.0.100.2"),
+                42462);
+        InetSocketAddress remote = new InetSocketAddress(InetAddress.getByName("8.8.8.8"),
+                47473);
+        final byte[] msg = InetDiagMessage.InetDiagReqV2(IPPROTO_UDP, local, remote, AF_INET,
+                (short) (NLM_F_REQUEST | NLM_F_DUMP));
+        assertArrayEquals(INET_DIAG_REQ_V2_UDP_INET4_BYTES, msg);
+    }
+
+    // Hexadecimal representation of InetDiagReqV2 request.
+    private static final String INET_DIAG_REQ_V2_TCP_INET6_HEX =
+            // struct nlmsghdr
+            "48000000" +     // length = 72
+            "1400" +         // type = SOCK_DIAG_BY_FAMILY
+            "0100" +         // flags = NLM_F_REQUEST
+            "00000000" +     // seqno
+            "00000000" +     // pid (0 == kernel)
+            // struct inet_diag_req_v2
+            "0a" +           // family = AF_INET6
+            "06" +           // protcol = IPPROTO_TCP
+            "00" +           // idiag_ext
+            "00" +           // pad
+            "ffffffff" +     // idiag_states
+                // inet_diag_sockid
+                "a5de" +         // idiag_sport = 42462
+                "b971" +         // idiag_dport = 47473
+                "fe8000000000000086c9b2fffe6aed4b" + // idiag_src = fe80::86c9:b2ff:fe6a:ed4b
+                "08080808000000000000000000000000" + // idiag_dst = 8.8.8.8
+                "00000000" +     // idiag_if
+                "ffffffffffffffff"; // idiag_cookie = INET_DIAG_NOCOOKIE
+    private static final byte[] INET_DIAG_REQ_V2_TCP_INET6_BYTES =
+            HexEncoding.decode(INET_DIAG_REQ_V2_TCP_INET6_HEX.toCharArray(), false);
+
+    @Test
+    public void testInetDiagReqV2TcpInet6() throws Exception {
+        InetSocketAddress local = new InetSocketAddress(
+                InetAddress.getByName("fe80::86c9:b2ff:fe6a:ed4b"), 42462);
+        InetSocketAddress remote = new InetSocketAddress(InetAddress.getByName("8.8.8.8"),
+                47473);
+        byte[] msg = InetDiagMessage.InetDiagReqV2(IPPROTO_TCP, local, remote, AF_INET6,
+                NLM_F_REQUEST);
+
+        assertArrayEquals(INET_DIAG_REQ_V2_TCP_INET6_BYTES, msg);
+    }
+
+    // Hexadecimal representation of InetDiagReqV2 request.
+    private static final String INET_DIAG_MSG_HEX =
+            // struct nlmsghdr
+            "58000000" +     // length = 88
+            "1400" +         // type = SOCK_DIAG_BY_FAMILY
+            "0200" +         // flags = NLM_F_MULTI
+            "00000000" +     // seqno
+            "f5220000" +     // pid (0 == kernel)
+            // struct inet_diag_msg
+            "0a" +           // family = AF_INET6
+            "01" +           // idiag_state
+            "00" +           // idiag_timer
+            "00" +           // idiag_retrans
+                // inet_diag_sockid
+                "a817" +     // idiag_sport = 43031
+                "960f" +     // idiag_dport = 38415
+                "fe8000000000000086c9b2fffe6aed4b" + // idiag_src = fe80::86c9:b2ff:fe6a:ed4b
+                "00000000000000000000ffff08080808" + // idiag_dst = 8.8.8.8
+                "00000000" + // idiag_if
+                "ffffffffffffffff" + // idiag_cookie = INET_DIAG_NOCOOKIE
+            "00000000" +     // idiag_expires
+            "00000000" +     // idiag_rqueue
+            "00000000" +     // idiag_wqueue
+            "a3270000" +     // idiag_uid
+            "A57E1900";      // idiag_inode
+    private static final byte[] INET_DIAG_MSG_BYTES =
+            HexEncoding.decode(INET_DIAG_MSG_HEX.toCharArray(), false);
+
+    @Test
+    public void testParseInetDiagResponse() throws Exception {
+        final ByteBuffer byteBuffer = ByteBuffer.wrap(INET_DIAG_MSG_BYTES);
+        byteBuffer.order(ByteOrder.LITTLE_ENDIAN);
+        final NetlinkMessage msg = NetlinkMessage.parse(byteBuffer);
+        assertNotNull(msg);
+
+        assertTrue(msg instanceof InetDiagMessage);
+        final InetDiagMessage inetDiagMsg = (InetDiagMessage) msg;
+        assertEquals(10147, inetDiagMsg.mStructInetDiagMsg.idiag_uid);
+
+        final StructNlMsgHdr hdr = inetDiagMsg.getHeader();
+        assertNotNull(hdr);
+        assertEquals(NetlinkConstants.SOCK_DIAG_BY_FAMILY, hdr.nlmsg_type);
+        assertEquals(StructNlMsgHdr.NLM_F_MULTI, hdr.nlmsg_flags);
+        assertEquals(0, hdr.nlmsg_seq);
+        assertEquals(8949, hdr.nlmsg_pid);
+    }
+}
diff --git a/tests/net/java/android/net/util/SharedLogTest.java b/tests/net/java/android/net/util/SharedLogTest.java
index d46facf..8604860 100644
--- a/tests/net/java/android/net/util/SharedLogTest.java
+++ b/tests/net/java/android/net/util/SharedLogTest.java
@@ -44,6 +44,8 @@
         final SharedLog logLevel2a = logTop.forSubComponent("twoA");
         final SharedLog logLevel2b = logTop.forSubComponent("twoB");
         logLevel2b.e("2b or not 2b");
+        logLevel2b.e("No exception", null);
+        logLevel2b.e("Wait, here's one", new Exception("Test"));
         logLevel2a.w("second post?");
 
         final SharedLog logLevel3 = logLevel2a.forSubComponent("three");
@@ -54,6 +56,9 @@
         final String[] expected = {
             " - MARK first post!",
             " - [twoB] ERROR 2b or not 2b",
+            " - [twoB] ERROR No exception",
+            // No stacktrace in shared log, only in logcat
+            " - [twoB] ERROR Wait, here's one: Test",
             " - [twoA] WARN second post?",
             " - still logging",
             " - [twoA.three] 3 >> 2",
diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java
index e3db7e8..1a05305 100644
--- a/tests/net/java/com/android/server/ConnectivityServiceTest.java
+++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java
@@ -79,6 +79,7 @@
 import android.app.NotificationManager;
 import android.app.PendingIntent;
 import android.content.BroadcastReceiver;
+import android.content.ContentProvider;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
@@ -248,7 +249,7 @@
         @Spy private Resources mResources;
         private final LinkedBlockingQueue<Intent> mStartedActivities = new LinkedBlockingQueue<>();
 
-        MockContext(Context base) {
+        MockContext(Context base, ContentProvider settingsProvider) {
             super(base);
 
             mResources = spy(base.getResources());
@@ -260,7 +261,7 @@
                     });
 
             mContentResolver = new MockContentResolver();
-            mContentResolver.addProvider(Settings.AUTHORITY, new FakeSettingsProvider());
+            mContentResolver.addProvider(Settings.AUTHORITY, settingsProvider);
         }
 
         @Override
@@ -1048,7 +1049,9 @@
             Looper.prepare();
         }
 
-        mServiceContext = new MockContext(InstrumentationRegistry.getContext());
+        FakeSettingsProvider.clearSettingsProvider();
+        mServiceContext = new MockContext(InstrumentationRegistry.getContext(),
+                new FakeSettingsProvider());
         LocalServices.removeServiceForTest(NetworkPolicyManagerInternal.class);
         LocalServices.addService(
                 NetworkPolicyManagerInternal.class, mock(NetworkPolicyManagerInternal.class));
@@ -1086,6 +1089,7 @@
             mEthernetNetworkAgent.disconnect();
             mEthernetNetworkAgent = null;
         }
+        FakeSettingsProvider.clearSettingsProvider();
     }
 
     private static int transportToLegacyType(int transport) {
@@ -4532,4 +4536,78 @@
         mCellNetworkAgent.disconnect();
         mCm.unregisterNetworkCallback(networkCallback);
     }
+
+    @Test
+    public void testDataActivityTracking() throws RemoteException {
+        final TestNetworkCallback networkCallback = new TestNetworkCallback();
+        final NetworkRequest networkRequest = new NetworkRequest.Builder()
+                .addCapability(NET_CAPABILITY_INTERNET)
+                .build();
+        mCm.registerNetworkCallback(networkRequest, networkCallback);
+
+        mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
+        final LinkProperties cellLp = new LinkProperties();
+        cellLp.setInterfaceName(MOBILE_IFNAME);
+        mCellNetworkAgent.sendLinkProperties(cellLp);
+        reset(mNetworkManagementService);
+        mCellNetworkAgent.connect(true);
+        networkCallback.expectAvailableThenValidatedCallbacks(mCellNetworkAgent);
+        verify(mNetworkManagementService, times(1)).addIdleTimer(eq(MOBILE_IFNAME), anyInt(),
+                eq(ConnectivityManager.TYPE_MOBILE));
+
+        mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
+        final LinkProperties wifiLp = new LinkProperties();
+        wifiLp.setInterfaceName(WIFI_IFNAME);
+        mWiFiNetworkAgent.sendLinkProperties(wifiLp);
+
+        // Network switch
+        reset(mNetworkManagementService);
+        mWiFiNetworkAgent.connect(true);
+        networkCallback.expectAvailableCallbacksUnvalidated(mWiFiNetworkAgent);
+        networkCallback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
+        networkCallback.expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
+        verify(mNetworkManagementService, times(1)).addIdleTimer(eq(WIFI_IFNAME), anyInt(),
+                eq(ConnectivityManager.TYPE_WIFI));
+        verify(mNetworkManagementService, times(1)).removeIdleTimer(eq(MOBILE_IFNAME));
+
+        // Disconnect wifi and switch back to cell
+        reset(mNetworkManagementService);
+        mWiFiNetworkAgent.disconnect();
+        networkCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+        assertNoCallbacks(networkCallback);
+        verify(mNetworkManagementService, times(1)).removeIdleTimer(eq(WIFI_IFNAME));
+        verify(mNetworkManagementService, times(1)).addIdleTimer(eq(MOBILE_IFNAME), anyInt(),
+                eq(ConnectivityManager.TYPE_MOBILE));
+
+        // reconnect wifi
+        mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
+        wifiLp.setInterfaceName(WIFI_IFNAME);
+        mWiFiNetworkAgent.sendLinkProperties(wifiLp);
+        mWiFiNetworkAgent.connect(true);
+        networkCallback.expectAvailableCallbacksUnvalidated(mWiFiNetworkAgent);
+        networkCallback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
+        networkCallback.expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
+
+        // Disconnect cell
+        reset(mNetworkManagementService);
+        mCellNetworkAgent.disconnect();
+        networkCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
+        // LOST callback is triggered earlier than removing idle timer. Broadcast should also be
+        // sent as network being switched. Ensure rule removal for cell will not be triggered
+        // unexpectedly before network being removed.
+        waitForIdle();
+        verify(mNetworkManagementService, times(0)).removeIdleTimer(eq(MOBILE_IFNAME));
+        verify(mNetworkManagementService, times(1)).removeNetwork(
+                eq(mCellNetworkAgent.getNetwork().netId));
+
+        // Disconnect wifi
+        ConditionVariable cv = waitForConnectivityBroadcasts(1);
+        reset(mNetworkManagementService);
+        mWiFiNetworkAgent.disconnect();
+        waitFor(cv);
+        verify(mNetworkManagementService, times(1)).removeIdleTimer(eq(WIFI_IFNAME));
+
+        // Clean up
+        mCm.unregisterNetworkCallback(networkCallback);
+    }
 }
diff --git a/tests/net/java/com/android/server/IpSecServiceParameterizedTest.java b/tests/net/java/com/android/server/IpSecServiceParameterizedTest.java
index 102cb7c..99a5a69 100644
--- a/tests/net/java/com/android/server/IpSecServiceParameterizedTest.java
+++ b/tests/net/java/com/android/server/IpSecServiceParameterizedTest.java
@@ -41,9 +41,9 @@
 import android.net.NetworkUtils;
 import android.os.Binder;
 import android.os.ParcelFileDescriptor;
-import android.test.mock.MockContext;
 import android.support.test.filters.SmallTest;
 import android.system.Os;
+import android.test.mock.MockContext;
 
 import java.net.Socket;
 import java.util.Arrays;
@@ -121,6 +121,7 @@
     IpSecService.IpSecServiceConfiguration mMockIpSecSrvConfig;
     IpSecService mIpSecService;
     Network fakeNetwork = new Network(0xAB);
+    int mUid = Os.getuid();
 
     private static final IpSecAlgorithm AUTH_ALGO =
             new IpSecAlgorithm(IpSecAlgorithm.AUTH_HMAC_SHA256, AUTH_KEY, AUTH_KEY.length * 4);
@@ -181,7 +182,7 @@
 
         verify(mMockNetd)
                 .ipSecDeleteSecurityAssociation(
-                        eq(spiResp.resourceId),
+                        eq(mUid),
                         anyString(),
                         anyString(),
                         eq(TEST_SPI),
@@ -189,8 +190,7 @@
                         anyInt());
 
         // Verify quota and RefcountedResource objects cleaned up
-        IpSecService.UserRecord userRecord =
-                mIpSecService.mUserResourceTracker.getUserRecord(Os.getuid());
+        IpSecService.UserRecord userRecord = mIpSecService.mUserResourceTracker.getUserRecord(mUid);
         assertEquals(0, userRecord.mSpiQuotaTracker.mCurrent);
         try {
             userRecord.mSpiRecords.getRefcountedResourceOrThrow(spiResp.resourceId);
@@ -209,8 +209,7 @@
                 mIpSecService.allocateSecurityParameterIndex(
                         mDestinationAddr, TEST_SPI, new Binder());
 
-        IpSecService.UserRecord userRecord =
-                mIpSecService.mUserResourceTracker.getUserRecord(Os.getuid());
+        IpSecService.UserRecord userRecord = mIpSecService.mUserResourceTracker.getUserRecord(mUid);
         IpSecService.RefcountedResource refcountedRecord =
                 userRecord.mSpiRecords.getRefcountedResourceOrThrow(spiResp.resourceId);
 
@@ -218,7 +217,7 @@
 
         verify(mMockNetd)
                 .ipSecDeleteSecurityAssociation(
-                        eq(spiResp.resourceId),
+                        eq(mUid),
                         anyString(),
                         anyString(),
                         eq(TEST_SPI),
@@ -270,7 +269,7 @@
 
         verify(mMockNetd)
                 .ipSecAddSecurityAssociation(
-                        eq(createTransformResp.resourceId),
+                        eq(mUid),
                         anyInt(),
                         anyString(),
                         anyString(),
@@ -305,7 +304,7 @@
 
         verify(mMockNetd)
                 .ipSecAddSecurityAssociation(
-                        eq(createTransformResp.resourceId),
+                        eq(mUid),
                         anyInt(),
                         anyString(),
                         anyString(),
@@ -361,13 +360,12 @@
 
         IpSecTransformResponse createTransformResp =
                 mIpSecService.createTransform(ipSecConfig, new Binder(), "blessedPackage");
-        IpSecService.UserRecord userRecord =
-                mIpSecService.mUserResourceTracker.getUserRecord(Os.getuid());
+        IpSecService.UserRecord userRecord = mIpSecService.mUserResourceTracker.getUserRecord(mUid);
         assertEquals(1, userRecord.mSpiQuotaTracker.mCurrent);
         mIpSecService.releaseSecurityParameterIndex(ipSecConfig.getSpiResourceId());
         verify(mMockNetd, times(0))
                 .ipSecDeleteSecurityAssociation(
-                        eq(createTransformResp.resourceId),
+                        eq(mUid),
                         anyString(),
                         anyString(),
                         eq(TEST_SPI),
@@ -389,7 +387,7 @@
 
         verify(mMockNetd, times(1))
                 .ipSecDeleteSecurityAssociation(
-                        eq(createTransformResp.resourceId),
+                        eq(mUid),
                         anyString(),
                         anyString(),
                         eq(TEST_SPI),
@@ -397,8 +395,7 @@
                         anyInt());
 
         // Verify quota and RefcountedResource objects cleaned up
-        IpSecService.UserRecord userRecord =
-                mIpSecService.mUserResourceTracker.getUserRecord(Os.getuid());
+        IpSecService.UserRecord userRecord = mIpSecService.mUserResourceTracker.getUserRecord(mUid);
         assertEquals(0, userRecord.mTransformQuotaTracker.mCurrent);
         assertEquals(1, userRecord.mSpiQuotaTracker.mCurrent);
 
@@ -433,8 +430,7 @@
         IpSecTransformResponse createTransformResp =
                 mIpSecService.createTransform(ipSecConfig, new Binder(), "blessedPackage");
 
-        IpSecService.UserRecord userRecord =
-                mIpSecService.mUserResourceTracker.getUserRecord(Os.getuid());
+        IpSecService.UserRecord userRecord = mIpSecService.mUserResourceTracker.getUserRecord(mUid);
         IpSecService.RefcountedResource refcountedRecord =
                 userRecord.mTransformRecords.getRefcountedResourceOrThrow(
                         createTransformResp.resourceId);
@@ -443,7 +439,7 @@
 
         verify(mMockNetd)
                 .ipSecDeleteSecurityAssociation(
-                        eq(createTransformResp.resourceId),
+                        eq(mUid),
                         anyString(),
                         anyString(),
                         eq(TEST_SPI),
@@ -477,7 +473,7 @@
         verify(mMockNetd)
                 .ipSecApplyTransportModeTransform(
                         eq(pfd.getFileDescriptor()),
-                        eq(resourceId),
+                        eq(mUid),
                         eq(IpSecManager.DIRECTION_OUT),
                         anyString(),
                         anyString(),
@@ -509,8 +505,7 @@
                 createAndValidateTunnel(mSourceAddr, mDestinationAddr, "blessedPackage");
 
         // Check that we have stored the tracking object, and retrieve it
-        IpSecService.UserRecord userRecord =
-                mIpSecService.mUserResourceTracker.getUserRecord(Os.getuid());
+        IpSecService.UserRecord userRecord = mIpSecService.mUserResourceTracker.getUserRecord(mUid);
         IpSecService.RefcountedResource refcountedRecord =
                 userRecord.mTunnelInterfaceRecords.getRefcountedResourceOrThrow(
                         createTunnelResp.resourceId);
@@ -530,8 +525,7 @@
         IpSecTunnelInterfaceResponse createTunnelResp =
                 createAndValidateTunnel(mSourceAddr, mDestinationAddr, "blessedPackage");
 
-        IpSecService.UserRecord userRecord =
-                mIpSecService.mUserResourceTracker.getUserRecord(Os.getuid());
+        IpSecService.UserRecord userRecord = mIpSecService.mUserResourceTracker.getUserRecord(mUid);
 
         mIpSecService.deleteTunnelInterface(createTunnelResp.resourceId, "blessedPackage");
 
@@ -551,8 +545,7 @@
         IpSecTunnelInterfaceResponse createTunnelResp =
                 createAndValidateTunnel(mSourceAddr, mDestinationAddr, "blessedPackage");
 
-        IpSecService.UserRecord userRecord =
-                mIpSecService.mUserResourceTracker.getUserRecord(Os.getuid());
+        IpSecService.UserRecord userRecord = mIpSecService.mUserResourceTracker.getUserRecord(mUid);
         IpSecService.RefcountedResource refcountedRecord =
                 userRecord.mTunnelInterfaceRecords.getRefcountedResourceOrThrow(
                         createTunnelResp.resourceId);
diff --git a/tests/net/java/com/android/server/connectivity/TetheringTest.java b/tests/net/java/com/android/server/connectivity/TetheringTest.java
index 0d3b8e4..a6ed9f2 100644
--- a/tests/net/java/com/android/server/connectivity/TetheringTest.java
+++ b/tests/net/java/com/android/server/connectivity/TetheringTest.java
@@ -33,6 +33,7 @@
 import static android.net.wifi.WifiManager.EXTRA_WIFI_AP_MODE;
 import static android.net.wifi.WifiManager.EXTRA_WIFI_AP_STATE;
 import static android.net.wifi.WifiManager.WIFI_AP_STATE_ENABLED;
+import static android.provider.Settings.Global.TETHER_ENABLE_LEGACY_DHCP_SERVER;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
@@ -75,6 +76,9 @@
 import android.net.NetworkState;
 import android.net.NetworkUtils;
 import android.net.RouteInfo;
+import android.net.dhcp.DhcpServer;
+import android.net.dhcp.DhcpServingParams;
+import android.net.ip.IpServer;
 import android.net.ip.RouterAdvertisementDaemon;
 import android.net.util.InterfaceParams;
 import android.net.util.NetworkConstants;
@@ -84,6 +88,7 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.INetworkManagementService;
+import android.os.Looper;
 import android.os.PersistableBundle;
 import android.os.RemoteException;
 import android.os.test.TestLooper;
@@ -99,10 +104,8 @@
 import com.android.internal.util.StateMachine;
 import com.android.internal.util.test.BroadcastInterceptingContext;
 import com.android.internal.util.test.FakeSettingsProvider;
-import com.android.server.connectivity.tethering.IControlsTethering;
 import com.android.server.connectivity.tethering.IPv6TetheringCoordinator;
 import com.android.server.connectivity.tethering.OffloadHardwareInterface;
-import com.android.server.connectivity.tethering.TetherInterfaceStateMachine;
 import com.android.server.connectivity.tethering.TetheringDependencies;
 import com.android.server.connectivity.tethering.UpstreamNetworkMonitor;
 
@@ -147,6 +150,7 @@
     @Mock private UpstreamNetworkMonitor mUpstreamNetworkMonitor;
     @Mock private IPv6TetheringCoordinator mIPv6TetheringCoordinator;
     @Mock private RouterAdvertisementDaemon mRouterAdvertisementDaemon;
+    @Mock private DhcpServer mDhcpServer;
     @Mock private INetd mNetd;
 
     private final MockTetheringDependencies mTetheringDependencies =
@@ -190,7 +194,7 @@
 
     public class MockTetheringDependencies extends TetheringDependencies {
         StateMachine upstreamNetworkMonitorMasterSM;
-        ArrayList<TetherInterfaceStateMachine> ipv6CoordinatorNotifyList;
+        ArrayList<IpServer> ipv6CoordinatorNotifyList;
         int isTetheringSupportedCalls;
 
         public void reset() {
@@ -213,29 +217,41 @@
 
         @Override
         public IPv6TetheringCoordinator getIPv6TetheringCoordinator(
-                ArrayList<TetherInterfaceStateMachine> notifyList, SharedLog log) {
+                ArrayList<IpServer> notifyList, SharedLog log) {
             ipv6CoordinatorNotifyList = notifyList;
             return mIPv6TetheringCoordinator;
         }
 
         @Override
-        public RouterAdvertisementDaemon getRouterAdvertisementDaemon(InterfaceParams ifParams) {
-            return mRouterAdvertisementDaemon;
-        }
+        public IpServer.Dependencies getIpServerDependencies() {
+            return new IpServer.Dependencies() {
+                @Override
+                public RouterAdvertisementDaemon getRouterAdvertisementDaemon(
+                        InterfaceParams ifParams) {
+                    return mRouterAdvertisementDaemon;
+                }
 
-        @Override
-        public INetd getNetdService() {
-            return mNetd;
-        }
+                @Override
+                public InterfaceParams getInterfaceParams(String ifName) {
+                    final String[] ifaces = new String[] {
+                            TEST_USB_IFNAME, TEST_WLAN_IFNAME, TEST_MOBILE_IFNAME };
+                    final int index = ArrayUtils.indexOf(ifaces, ifName);
+                    assertTrue("Non-mocked interface: " + ifName, index >= 0);
+                    return new InterfaceParams(ifName, index + IFINDEX_OFFSET,
+                            MacAddress.ALL_ZEROS_ADDRESS);
+                }
 
-        @Override
-        public InterfaceParams getInterfaceParams(String ifName) {
-            final String[] ifaces = new String[] { TEST_USB_IFNAME, TEST_WLAN_IFNAME,
-                    TEST_MOBILE_IFNAME };
-            final int index = ArrayUtils.indexOf(ifaces, ifName);
-            assertTrue("Non-mocked interface: " + ifName, index >= 0);
-            return new InterfaceParams(ifName, index + IFINDEX_OFFSET,
-                    MacAddress.ALL_ZEROS_ADDRESS);
+                @Override
+                public INetd getNetdService() {
+                    return mNetd;
+                }
+
+                @Override
+                public DhcpServer makeDhcpServer(Looper looper, InterfaceParams iface,
+                        DhcpServingParams params, SharedLog log) {
+                    return mDhcpServer;
+                }
+            };
         }
 
         @Override
@@ -328,6 +344,7 @@
         mServiceContext = new MockContext(mContext);
         mContentResolver = new MockContentResolver(mServiceContext);
         mContentResolver.addProvider(Settings.AUTHORITY, new FakeSettingsProvider());
+        Settings.Global.putInt(mContentResolver, TETHER_ENABLE_LEGACY_DHCP_SERVER, 0);
         mIntents = new Vector<>();
         mBroadcastReceiver = new BroadcastReceiver() {
             @Override
@@ -338,12 +355,16 @@
         mServiceContext.registerReceiver(mBroadcastReceiver,
                 new IntentFilter(ACTION_TETHER_STATE_CHANGED));
         mTetheringDependencies.reset();
-        mTethering = new Tethering(mServiceContext, mNMService, mStatsService, mPolicyManager,
-                                   mLooper.getLooper(), mSystemProperties,
-                                   mTetheringDependencies);
+        mTethering = makeTethering();
         verify(mNMService).registerTetheringStatsProvider(any(), anyString());
     }
 
+    private Tethering makeTethering() {
+        return new Tethering(mServiceContext, mNMService, mStatsService, mPolicyManager,
+                mLooper.getLooper(), mSystemProperties,
+                mTetheringDependencies);
+    }
+
     @After
     public void tearDown() {
         mServiceContext.unregisterReceiver(mBroadcastReceiver);
@@ -458,9 +479,9 @@
         sendWifiApStateChanged(WIFI_AP_STATE_ENABLED);
         mLooper.dispatchAll();
 
-        // If, and only if, Tethering received an interface status changed
-        // then it creates a TetherInterfaceStateMachine and sends out a
-        // broadcast indicating that the interface is "available".
+        // If, and only if, Tethering received an interface status changed then
+        // it creates a IpServer and sends out a broadcast indicating that the
+        // interface is "available".
         if (emulateInterfaceStatusChanged) {
             assertEquals(1, mTetheringDependencies.isTetheringSupportedCalls);
             verifyTetheringBroadcast(TEST_WLAN_IFNAME, EXTRA_AVAILABLE_TETHER);
@@ -557,18 +578,18 @@
     }
 
     /**
-     * Send CMD_IPV6_TETHER_UPDATE to TISMs as would be done by IPv6TetheringCoordinator.
+     * Send CMD_IPV6_TETHER_UPDATE to IpServers as would be done by IPv6TetheringCoordinator.
      */
     private void sendIPv6TetherUpdates(NetworkState upstreamState) {
         // IPv6TetheringCoordinator must have been notified of downstream
         verify(mIPv6TetheringCoordinator, times(1)).addActiveDownstream(
                 argThat(sm -> sm.linkProperties().getInterfaceName().equals(TEST_USB_IFNAME)),
-                eq(IControlsTethering.STATE_TETHERED));
+                eq(IpServer.STATE_TETHERED));
 
-        for (TetherInterfaceStateMachine tism :
+        for (IpServer ipSrv :
                 mTetheringDependencies.ipv6CoordinatorNotifyList) {
             NetworkState ipv6OnlyState = buildMobileUpstreamState(false, true, false);
-            tism.sendMessage(TetherInterfaceStateMachine.CMD_IPV6_TETHER_UPDATE, 0, 0,
+            ipSrv.sendMessage(IpServer.CMD_IPV6_TETHER_UPDATE, 0, 0,
                     upstreamState.linkProperties.isIPv6Provisioned()
                             ? ipv6OnlyState.linkProperties
                             : null);
@@ -592,6 +613,18 @@
 
         sendIPv6TetherUpdates(upstreamState);
         verify(mRouterAdvertisementDaemon, never()).buildNewRa(any(), notNull());
+        verify(mDhcpServer, times(1)).start();
+    }
+
+    @Test
+    public void workingMobileUsbTethering_IPv4LegacyDhcp() {
+        Settings.Global.putInt(mContentResolver, TETHER_ENABLE_LEGACY_DHCP_SERVER, 1);
+        mTethering = makeTethering();
+        final NetworkState upstreamState = buildMobileIPv4UpstreamState();
+        runUsbTethering(upstreamState);
+        sendIPv6TetherUpdates(upstreamState);
+
+        verify(mDhcpServer, never()).start();
     }
 
     @Test
@@ -615,6 +648,7 @@
         verify(mNMService, times(1)).enableNat(TEST_USB_IFNAME, TEST_MOBILE_IFNAME);
         verify(mNMService, times(1)).startInterfaceForwarding(TEST_USB_IFNAME, TEST_MOBILE_IFNAME);
         verify(mRouterAdvertisementDaemon, times(1)).start();
+        verify(mDhcpServer, times(1)).start();
 
         sendIPv6TetherUpdates(upstreamState);
         verify(mRouterAdvertisementDaemon, times(1)).buildNewRa(any(), notNull());
@@ -628,6 +662,7 @@
 
         verify(mNMService, times(1)).enableNat(TEST_USB_IFNAME, TEST_XLAT_MOBILE_IFNAME);
         verify(mNMService, times(1)).enableNat(TEST_USB_IFNAME, TEST_MOBILE_IFNAME);
+        verify(mDhcpServer, times(1)).start();
         verify(mNMService, times(1)).startInterfaceForwarding(TEST_USB_IFNAME, TEST_MOBILE_IFNAME);
         verify(mNMService, times(1)).startInterfaceForwarding(TEST_USB_IFNAME,
                 TEST_XLAT_MOBILE_IFNAME);
@@ -644,6 +679,7 @@
         runUsbTethering(upstreamState);
 
         verify(mNMService, times(1)).enableNat(TEST_USB_IFNAME, TEST_MOBILE_IFNAME);
+        verify(mDhcpServer, times(1)).start();
         verify(mNMService, times(1)).startInterfaceForwarding(TEST_USB_IFNAME, TEST_MOBILE_IFNAME);
 
         // Then 464xlat comes up
@@ -666,6 +702,8 @@
         // Forwarding was not re-added for v6 (still times(1))
         verify(mNMService, times(1)).enableNat(TEST_USB_IFNAME, TEST_MOBILE_IFNAME);
         verify(mNMService, times(1)).startInterfaceForwarding(TEST_USB_IFNAME, TEST_MOBILE_IFNAME);
+        // DHCP not restarted on downstream (still times(1))
+        verify(mDhcpServer, times(1)).start();
     }
 
     @Test
@@ -812,7 +850,7 @@
 
         // We verify get/set called thrice here: once for setup and twice during
         // teardown because all events happen over the course of the single
-        // dispatchAll() above. Note that once the TISM IPv4 address config
+        // dispatchAll() above. Note that once the IpServer IPv4 address config
         // code is refactored the two calls during shutdown will revert to one.
         verify(mNMService, times(2)).getInterfaceConfig(TEST_WLAN_IFNAME);
         verify(mNMService, times(3))
diff --git a/tests/net/java/com/android/server/connectivity/tethering/TetheringConfigurationTest.java b/tests/net/java/com/android/server/connectivity/tethering/TetheringConfigurationTest.java
index bb31230..5217784 100644
--- a/tests/net/java/com/android/server/connectivity/tethering/TetheringConfigurationTest.java
+++ b/tests/net/java/com/android/server/connectivity/tethering/TetheringConfigurationTest.java
@@ -225,13 +225,4 @@
         final TetheringConfiguration cfg = new TetheringConfiguration(mMockContext, mLog);
         assertFalse(cfg.enableLegacyDhcpServer);
     }
-
-    @Test
-    public void testNewDhcpServerDefault() {
-        Settings.Global.putString(mContentResolver, TETHER_ENABLE_LEGACY_DHCP_SERVER, null);
-
-        final TetheringConfiguration cfg = new TetheringConfiguration(mMockContext, mLog);
-        // TODO: change to false when new server is promoted to default
-        assertTrue(cfg.enableLegacyDhcpServer);
-    }
 }
diff --git a/tools/aapt2/Android.bp b/tools/aapt2/Android.bp
index 2ecf25b..c02ca21 100644
--- a/tools/aapt2/Android.bp
+++ b/tools/aapt2/Android.bp
@@ -83,6 +83,7 @@
         "compile/Pseudolocalizer.cpp",
         "compile/XmlIdCollector.cpp",
         "configuration/ConfigurationParser.cpp",
+        "dump/DumpManifest.cpp",
         "filter/AbiFilter.cpp",
         "filter/ConfigFilter.cpp",
         "format/Archive.cpp",
diff --git a/tools/aapt2/ConfigDescription.h b/tools/aapt2/ConfigDescription.h
index f719552..b46a503 100644
--- a/tools/aapt2/ConfigDescription.h
+++ b/tools/aapt2/ConfigDescription.h
@@ -53,11 +53,11 @@
   ConfigDescription();
   ConfigDescription(const android::ResTable_config& o);  // NOLINT(implicit)
   ConfigDescription(const ConfigDescription& o);
-  ConfigDescription(ConfigDescription&& o);
+  ConfigDescription(ConfigDescription&& o) noexcept;
 
   ConfigDescription& operator=(const android::ResTable_config& o);
   ConfigDescription& operator=(const ConfigDescription& o);
-  ConfigDescription& operator=(ConfigDescription&& o);
+  ConfigDescription& operator=(ConfigDescription&& o) noexcept;
 
   ConfigDescription CopyWithoutSdkVersion() const;
 
@@ -124,7 +124,7 @@
   *static_cast<android::ResTable_config*>(this) = o;
 }
 
-inline ConfigDescription::ConfigDescription(ConfigDescription&& o) {
+inline ConfigDescription::ConfigDescription(ConfigDescription&& o) noexcept {
   *this = o;
 }
 
@@ -141,7 +141,7 @@
   return *this;
 }
 
-inline ConfigDescription& ConfigDescription::operator=(ConfigDescription&& o) {
+inline ConfigDescription& ConfigDescription::operator=(ConfigDescription&& o) noexcept {
   *this = o;
   return *this;
 }
diff --git a/tools/aapt2/Diagnostics.h b/tools/aapt2/Diagnostics.h
index 50e8b33..30deb55 100644
--- a/tools/aapt2/Diagnostics.h
+++ b/tools/aapt2/Diagnostics.h
@@ -133,11 +133,19 @@
   void Log(Level level, DiagMessageActual& actual_msg) override {
     actual_msg.source.path = source_.path;
     diag_->Log(level, actual_msg);
+    if (level == Level::Error) {
+      error = true;
+    }
+  }
+
+  bool HadError() {
+    return error;
   }
 
  private:
   Source source_;
   IDiagnostics* diag_;
+  bool error = false;
 
   DISALLOW_COPY_AND_ASSIGN(SourcePathDiagnostics);
 };
diff --git a/tools/aapt2/LoadedApk.cpp b/tools/aapt2/LoadedApk.cpp
index a73d56c..a20b9b7 100644
--- a/tools/aapt2/LoadedApk.cpp
+++ b/tools/aapt2/LoadedApk.cpp
@@ -69,8 +69,8 @@
       return {};
     }
 
-    io::ZeroCopyInputAdaptor adaptor(in.get());
-    if (!pb_table.ParseFromZeroCopyStream(&adaptor)) {
+    io::ProtoInputStreamReader proto_reader(in.get());
+    if (!proto_reader.ReadMessage(&pb_table)) {
       diag->Error(DiagMessage(source) << "failed to read " << kProtoResourceTablePath);
       return {};
     }
@@ -97,8 +97,8 @@
   }
 
   pb::XmlNode pb_node;
-  io::ZeroCopyInputAdaptor manifest_adaptor(manifest_in.get());
-  if (!pb_node.ParseFromZeroCopyStream(&manifest_adaptor)) {
+  io::ProtoInputStreamReader proto_reader(manifest_in.get());
+  if (!proto_reader.ReadMessage(&pb_node)) {
     diag->Error(DiagMessage(source) << "failed to read proto " << kAndroidManifestPath);
     return {};
   }
@@ -255,7 +255,7 @@
 }
 
 std::unique_ptr<xml::XmlResource> LoadedApk::LoadXml(const std::string& file_path,
-                                                     IDiagnostics* diag) {
+                                                     IDiagnostics* diag) const {
   io::IFile* file = apk_->FindFile(file_path);
   if (file == nullptr) {
     diag->Error(DiagMessage() << "failed to find file");
@@ -270,9 +270,9 @@
       return nullptr;
     }
 
-    io::ZeroCopyInputAdaptor adaptor(in.get());
     pb::XmlNode pb_node;
-    if (!pb_node.ParseFromZeroCopyStream(&adaptor)) {
+    io::ProtoInputStreamReader proto_reader(in.get());
+    if (!proto_reader.ReadMessage(&pb_node)) {
       diag->Error(DiagMessage() << "failed to parse file as proto XML");
       return nullptr;
     }
@@ -317,8 +317,8 @@
     std::unique_ptr<io::InputStream> manifest_in = manifest_file->OpenInputStream();
     if (manifest_in != nullptr) {
       pb::XmlNode pb_node;
-      io::ZeroCopyInputAdaptor manifest_adaptor(manifest_in.get());
-      if (pb_node.ParseFromZeroCopyStream(&manifest_adaptor)) {
+      io::ProtoInputStreamReader proto_reader(manifest_in.get());
+      if (!proto_reader.ReadMessage(&pb_node)) {
         return ApkFormat::kProto;
       }
     }
diff --git a/tools/aapt2/LoadedApk.h b/tools/aapt2/LoadedApk.h
index dcb085a..84c57c1 100644
--- a/tools/aapt2/LoadedApk.h
+++ b/tools/aapt2/LoadedApk.h
@@ -111,7 +111,7 @@
                               IArchiveWriter* writer, xml::XmlResource* manifest = nullptr);
 
   /** Loads the file as an xml document. */
-  std::unique_ptr<xml::XmlResource> LoadXml(const std::string& file_path, IDiagnostics* diag);
+  std::unique_ptr<xml::XmlResource> LoadXml(const std::string& file_path, IDiagnostics* diag) const;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(LoadedApk);
diff --git a/tools/aapt2/StringPool_test.cpp b/tools/aapt2/StringPool_test.cpp
index 0778564..9a7238b 100644
--- a/tools/aapt2/StringPool_test.cpp
+++ b/tools/aapt2/StringPool_test.cpp
@@ -303,7 +303,7 @@
   }
 }
 
-TEST(StringPoolTest, FlattenModifiedUTF8) {
+TEST(StringPoolTest, ModifiedUTF8) {
   using namespace android;  // For NO_ERROR on Windows.
   StdErrDiagnostics diag;
   StringPool pool;
@@ -315,12 +315,24 @@
   StringPool::FlattenUtf8(&buffer, pool, &diag);
   std::unique_ptr<uint8_t[]> data = util::Copy(buffer);
 
-  // Check that the 4 byte utf-8 codepoint is encoded using 2 3 byte surrogate pairs
+  // Check that the codepoints are encoded using two three-byte surrogate pairs
   ResStringPool test;
   ASSERT_EQ(test.setTo(data.get(), buffer.size()), NO_ERROR);
-  EXPECT_THAT(util::GetString(test, 0), Eq("\xED\xA0\x81\xED\xB0\x80"));
-  EXPECT_THAT(util::GetString(test, 1), Eq("foo \xED\xA0\x81\xED\xB0\xB7 bar"));
-  EXPECT_THAT(util::GetString(test, 2), Eq("\xED\xA0\x81\xED\xB0\x80\xED\xA0\x81\xED\xB0\xB7"));
+  size_t len;
+  const char* str = test.string8At(0, &len);
+  ASSERT_THAT(str, NotNull());
+  EXPECT_THAT(std::string(str, len), Eq("\xED\xA0\x81\xED\xB0\x80"));
+  str = test.string8At(1, &len);
+  ASSERT_THAT(str, NotNull());
+  EXPECT_THAT(std::string(str, len), Eq("foo \xED\xA0\x81\xED\xB0\xB7 bar"));
+  str = test.string8At(2, &len);
+  ASSERT_THAT(str, NotNull());
+  EXPECT_THAT(std::string(str, len), Eq("\xED\xA0\x81\xED\xB0\x80\xED\xA0\x81\xED\xB0\xB7"));
+
+  // Check that retrieving the strings returns the original UTF-8 character bytes
+  EXPECT_THAT(util::GetString(test, 0), Eq("\xF0\x90\x90\x80"));
+  EXPECT_THAT(util::GetString(test, 1), Eq("foo \xF0\x90\x90\xB7 bar"));
+  EXPECT_THAT(util::GetString(test, 2), Eq("\xF0\x90\x90\x80\xF0\x90\x90\xB7"));
 }
 
 TEST(StringPoolTest, MaxEncodingLength) {
diff --git a/tools/aapt2/cmd/Convert.cpp b/tools/aapt2/cmd/Convert.cpp
index 86b1f4c..954f1ed 100644
--- a/tools/aapt2/cmd/Convert.cpp
+++ b/tools/aapt2/cmd/Convert.cpp
@@ -170,8 +170,8 @@
       }
 
       pb::XmlNode pb_node;
-      io::ZeroCopyInputAdaptor adaptor(in.get());
-      if (!pb_node.ParseFromZeroCopyStream(&adaptor)) {
+      io::ProtoInputStreamReader proto_reader(in.get());
+      if (!proto_reader.ReadMessage(&pb_node)) {
         context_->GetDiagnostics()->Error(DiagMessage(source_)
                                           << "failed to parse proto XML " << *file->path);
         return false;
diff --git a/tools/aapt2/cmd/Dump.cpp b/tools/aapt2/cmd/Dump.cpp
index 5cb30b6..91e3977 100644
--- a/tools/aapt2/cmd/Dump.cpp
+++ b/tools/aapt2/cmd/Dump.cpp
@@ -223,6 +223,12 @@
     return 1;
   }
 
+  ResourceTable* table = loaded_apk->GetResourceTable();
+  if (!table) {
+    diag_->Error(DiagMessage() << "Failed to retrieve resource table.");
+    return 1;
+  }
+
   io::FileOutputStream fout(STDOUT_FILENO, kStdOutBufferSize);
   Printer printer(&fout);
 
@@ -233,7 +239,7 @@
 
   // Insert the configurations into a set in order to keep every configuarion seen
   std::set<ConfigDescription, decltype(compare)> configs(compare);
-  for (auto& package : loaded_apk->GetResourceTable()->packages) {
+  for (auto& package : table->packages) {
     for (auto& type : package->types) {
       for (auto& entry : type->entries) {
         for (auto& value : entry->values) {
@@ -267,10 +273,15 @@
       return 1;
     }
 
+    ResourceTable* table = loaded_apk->GetResourceTable();
+    if (!table) {
+      diag_->Error(DiagMessage() << "Failed to retrieve resource table.");
+      return 1;
+    }
+
     // Load the run-time xml string pool using the flattened data
     BigBuffer buffer(4096);
-    StringPool::FlattenUtf8(&buffer, loaded_apk->GetResourceTable()->string_pool,
-                            context.GetDiagnostics());
+    StringPool::FlattenUtf8(&buffer, table->string_pool, context.GetDiagnostics());
     auto data = buffer.to_string();
     android::ResStringPool pool(data.data(), data.size(), false);
     Debug::DumpResStringPool(&pool, &printer);
@@ -304,7 +315,13 @@
       printer.Println("Binary APK");
     }
 
-    Debug::PrintTable(*loaded_apk->GetResourceTable(), print_options, &printer);
+    ResourceTable* table = loaded_apk->GetResourceTable();
+    if (!table) {
+      diag_->Error(DiagMessage() << "Failed to retrieve resource table.");
+      return 1;
+    }
+
+    Debug::PrintTable(*table, print_options, &printer);
   }
 
   return 0;
diff --git a/tools/aapt2/cmd/Dump.h b/tools/aapt2/cmd/Dump.h
index 0724d62..9ec820d 100644
--- a/tools/aapt2/cmd/Dump.h
+++ b/tools/aapt2/cmd/Dump.h
@@ -19,6 +19,7 @@
 
 #include "Command.h"
 #include "Debug.h"
+#include "dump/DumpManifest.h"
 
 namespace aapt {
 
@@ -133,8 +134,10 @@
  public:
   explicit DumpCommand(IDiagnostics* diag) : Command("dump", "d"), diag_(diag) {
     AddOptionalSubcommand(util::make_unique<DumpAPCCommand>(diag_));
+    AddOptionalSubcommand(util::make_unique<DumpBadgingCommand>(diag_));
     AddOptionalSubcommand(util::make_unique<DumpConfigsCommand>(diag_));
     AddOptionalSubcommand(util::make_unique<DumpPackageNameCommand>(diag_));
+    AddOptionalSubcommand(util::make_unique<DumpPermissionsCommand>(diag_));
     AddOptionalSubcommand(util::make_unique<DumpStringsCommand>(diag_));
     AddOptionalSubcommand(util::make_unique<DumpTableCommand>(diag_));
     AddOptionalSubcommand(util::make_unique<DumpXmlStringsCommand>(diag_));
diff --git a/tools/aapt2/cmd/Link.cpp b/tools/aapt2/cmd/Link.cpp
index 119f56a..13c1047 100644
--- a/tools/aapt2/cmd/Link.cpp
+++ b/tools/aapt2/cmd/Link.cpp
@@ -1842,9 +1842,15 @@
     } else {
       // Adjust the SplitConstraints so that their SDK version is stripped if it is less than or
       // equal to the minSdk.
+      const size_t origConstraintSize = options_.split_constraints.size();
       options_.split_constraints =
           AdjustSplitConstraintsForMinSdk(context_->GetMinSdkVersion(), options_.split_constraints);
 
+      if (origConstraintSize != options_.split_constraints.size()) {
+        context_->GetDiagnostics()->Warn(DiagMessage()
+                                         << "requested to split resources prior to min sdk of "
+                                         << context_->GetMinSdkVersion());
+      }
       TableSplitter table_splitter(options_.split_constraints, options_.table_splitter_options);
       if (!table_splitter.VerifySplitConstraints(context_)) {
         return 1;
diff --git a/tools/aapt2/cmd/Util.cpp b/tools/aapt2/cmd/Util.cpp
index c6c82b0..5862d31 100644
--- a/tools/aapt2/cmd/Util.cpp
+++ b/tools/aapt2/cmd/Util.cpp
@@ -73,6 +73,7 @@
   }
 
   *out_path = parts[0];
+  out_split->name = parts[1];
   for (const StringPiece& config_str : util::Tokenize(parts[1], ',')) {
     ConfigDescription config;
     if (!ConfigDescription::Parse(config_str, &config)) {
@@ -119,12 +120,15 @@
   for (const SplitConstraints& constraints : split_constraints) {
     SplitConstraints constraint;
     for (const ConfigDescription& config : constraints.configs) {
-      if (config.sdkVersion <= min_sdk) {
-        constraint.configs.insert(config.CopyWithoutSdkVersion());
-      } else {
-        constraint.configs.insert(config);
+      const ConfigDescription &configToInsert = (config.sdkVersion <= min_sdk)
+          ? config.CopyWithoutSdkVersion()
+          : config;
+      // only add the config if it actually selects something
+      if (configToInsert != ConfigDescription::DefaultConfig()) {
+        constraint.configs.insert(configToInsert);
       }
     }
+    constraint.name = constraints.name;
     adjusted_constraints.push_back(std::move(constraint));
   }
   return adjusted_constraints;
diff --git a/tools/aapt2/cmd/Util_test.cpp b/tools/aapt2/cmd/Util_test.cpp
index b9fb5b2..158ef29 100644
--- a/tools/aapt2/cmd/Util_test.cpp
+++ b/tools/aapt2/cmd/Util_test.cpp
@@ -22,6 +22,10 @@
 #include "test/Test.h"
 
 namespace aapt {
+#define EXPECT_CONFIG_EQ(constraints, config) \
+    EXPECT_EQ(constraints.configs.size(), 1); \
+    EXPECT_EQ(*constraints.configs.begin(), config); \
+    constraints.configs.clear();
 
 TEST(UtilTest, SplitNamesAreSanitized) {
     AppInfo app_info{"com.pkg"};
@@ -84,4 +88,287 @@
   EXPECT_EQ(compiled_version_code_major->value.data, 0x61);
 }
 
+
+TEST (UtilTest, ParseSplitParameter) {
+  IDiagnostics* diagnostics = test::ContextBuilder().Build().get()->GetDiagnostics();
+  std::string path;
+  SplitConstraints constraints;
+  ConfigDescription expected_configuration;
+
+  // ========== Test IMSI ==========
+  // mcc: 'mcc[0-9]{3}'
+  // mnc: 'mnc[0-9]{1,3}'
+  ASSERT_TRUE(ParseSplitParameter(":mcc310",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setMcc(0x0136)
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  ASSERT_TRUE(ParseSplitParameter(":mcc310-mnc004",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setMcc(0x0136)
+      .setMnc(0x0004)
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  ASSERT_TRUE(ParseSplitParameter(":mcc310-mnc000",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setMcc(0x0136)
+      .setMnc(0xFFFF)
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  // ========== Test LOCALE ==========
+  // locale: '[a-z]{2,3}(-r[a-z]{2})?'
+  // locale: 'b+[a-z]{2,3}(+[a-z[0-9]]{2})?'
+  ASSERT_TRUE(ParseSplitParameter(":es",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setLanguage(0x6573)
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  ASSERT_TRUE(ParseSplitParameter(":fr-rCA",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setLanguage(0x6672)
+      .setCountry(0x4341)
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  ASSERT_TRUE(ParseSplitParameter(":b+es+419",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setLanguage(0x6573)
+      .setCountry(0xA424)
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  // ========== Test SCREEN_TYPE ==========
+  // orientation: '(port|land|square)'
+  // touchscreen: '(notouch|stylus|finger)'
+  // density" '(anydpi|nodpi|ldpi|mdpi|tvdpi|hdpi|xhdpi|xxhdpi|xxxhdpi|[0-9]*dpi)'
+  ASSERT_TRUE(ParseSplitParameter(":square",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setOrientation(0x03)
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  ASSERT_TRUE(ParseSplitParameter(":stylus",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setTouchscreen(0x02)
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  ASSERT_TRUE(ParseSplitParameter(":xxxhdpi",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setDensity(0x0280)
+      .setSdkVersion(0x0004) // version [any density requires donut]
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  ASSERT_TRUE(ParseSplitParameter(":land-xhdpi-finger",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setOrientation(0x02)
+      .setTouchscreen(0x03)
+      .setDensity(0x0140)
+      .setSdkVersion(0x0004) // version [any density requires donut]
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  // ========== Test INPUT ==========
+  // keyboard: '(nokeys|qwerty|12key)'
+  // navigation: '(nonav|dpad|trackball|wheel)'
+  // inputFlags: '(keysexposed|keyshidden|keyssoft)'
+  // inputFlags: '(navexposed|navhidden)'
+  ASSERT_TRUE(ParseSplitParameter(":qwerty",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setKeyboard(0x02)
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  ASSERT_TRUE(ParseSplitParameter(":dpad",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setNavigation(0x02)
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  ASSERT_TRUE(ParseSplitParameter(":keyssoft-navhidden",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setInputFlags(0x0B)
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  ASSERT_TRUE(ParseSplitParameter(":keyshidden-nokeys-navexposed-trackball",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setKeyboard(0x01)
+      .setNavigation(0x03)
+      .setInputFlags(0x06)
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  // ========== Test SCREEN_SIZE ==========
+  // screenWidth/screenHeight: '[0-9]+x[0-9]+'
+  ASSERT_TRUE(ParseSplitParameter(":1920x1080",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setScreenWidth(0x0780)
+      .setScreenHeight(0x0438)
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  // ========== Test VERSION ==========
+  // version 'v[0-9]+'
+
+  // ========== Test SCREEN_CONFIG ==========
+  // screenLayout [direction]: '(ldltr|ldrtl)'
+  // screenLayout [size]: '(small|normal|large|xlarge)'
+  // screenLayout [long]: '(long|notlong)'
+  // uiMode [type]: '(desk|car|television|appliance|watch|vrheadset)'
+  // uiMode [night]: '(night|notnight)'
+  // smallestScreenWidthDp: 'sw[0-9]dp'
+  ASSERT_TRUE(ParseSplitParameter(":ldrtl",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setScreenLayout(0x80)
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  ASSERT_TRUE(ParseSplitParameter(":small",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setScreenLayout(0x01)
+      .setSdkVersion(0x0004) // screenLayout (size) requires donut
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  ASSERT_TRUE(ParseSplitParameter(":notlong",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setScreenLayout(0x10)
+      .setSdkVersion(0x0004) // screenLayout (long) requires donut
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  ASSERT_TRUE(ParseSplitParameter(":ldltr-normal-long",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setScreenLayout(0x62)
+      .setSdkVersion(0x0004) // screenLayout (size|long) requires donut
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  ASSERT_TRUE(ParseSplitParameter(":car",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setUiMode(0x03)
+      .setSdkVersion(0x0008) // uiMode requires froyo
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  ASSERT_TRUE(ParseSplitParameter(":vrheadset",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setUiMode(0x07)
+      .setSdkVersion(0x001A) // uiMode 'vrheadset' requires oreo
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  ASSERT_TRUE(ParseSplitParameter(":television-night",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setUiMode(0x24)
+      .setSdkVersion(0x0008) // uiMode requires froyo
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  ASSERT_TRUE(ParseSplitParameter(":sw1920dp",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setSmallestScreenWidthDp(0x0780)
+      .setSdkVersion(0x000D) // smallestScreenWidthDp requires honeycomb mr2
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  // ========== Test SCREEN_SIZE_DP ==========
+  // screenWidthDp: 'w[0-9]dp'
+  // screenHeightDp: 'h[0-9]dp'
+  ASSERT_TRUE(ParseSplitParameter(":w1920dp",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setScreenWidthDp(0x0780)
+      .setSdkVersion(0x000D) // screenWidthDp requires honeycomb mr2
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  ASSERT_TRUE(ParseSplitParameter(":h1080dp",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setScreenHeightDp(0x0438)
+      .setSdkVersion(0x000D) // screenHeightDp requires honeycomb mr2
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  // ========== Test SCREEN_CONFIG_2 ==========
+  // screenLayout2: '(round|notround)'
+  // colorMode: '(widecg|nowidecg)'
+  // colorMode: '(highhdr|lowdr)'
+  ASSERT_TRUE(ParseSplitParameter(":round",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setScreenLayout2(0x02)
+      .setSdkVersion(0x0017) // screenLayout2 (round) requires marshmallow
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+
+  ASSERT_TRUE(ParseSplitParameter(":widecg-highdr",
+                                  diagnostics, &path, &constraints));
+  expected_configuration = test::ConfigDescriptionBuilder()
+      .setColorMode(0x0A)
+      .setSdkVersion(0x001A) // colorMode (hdr|colour gamut) requires oreo
+      .Build();
+  EXPECT_CONFIG_EQ(constraints, expected_configuration);
+}
+
+TEST (UtilTest, AdjustSplitConstraintsForMinSdk) {
+  std::unique_ptr<IAaptContext> context = test::ContextBuilder().Build();
+
+  IDiagnostics* diagnostics = context.get()->GetDiagnostics();
+  std::vector<SplitConstraints> test_constraints;
+  std::string path;
+
+  test_constraints.push_back({});
+  ASSERT_TRUE(ParseSplitParameter(":v7",
+                                  diagnostics, &path, &test_constraints.back()));
+  test_constraints.push_back({});
+  ASSERT_TRUE(ParseSplitParameter(":xhdpi",
+                                  diagnostics, &path, &test_constraints.back()));
+  EXPECT_EQ(test_constraints.size(), 2);
+  EXPECT_EQ(test_constraints[0].name, "v7");
+  EXPECT_EQ(test_constraints[0].configs.size(), 1);
+  EXPECT_NE(*test_constraints[0].configs.begin(), ConfigDescription::DefaultConfig());
+  EXPECT_EQ(test_constraints[1].name, "xhdpi");
+  EXPECT_EQ(test_constraints[1].configs.size(), 1);
+  EXPECT_NE(*test_constraints[0].configs.begin(), ConfigDescription::DefaultConfig());
+
+  auto adjusted_contraints = AdjustSplitConstraintsForMinSdk(26, test_constraints);
+  EXPECT_EQ(adjusted_contraints.size(), 2);
+  EXPECT_EQ(adjusted_contraints[0].name, "v7");
+  EXPECT_EQ(adjusted_contraints[0].configs.size(), 0);
+  EXPECT_EQ(adjusted_contraints[1].name, "xhdpi");
+  EXPECT_EQ(adjusted_contraints[1].configs.size(), 1);
+  EXPECT_NE(*adjusted_contraints[1].configs.begin(), ConfigDescription::DefaultConfig());
+}
+
 }  // namespace aapt
diff --git a/tools/aapt2/compile/XmlIdCollector.cpp b/tools/aapt2/compile/XmlIdCollector.cpp
index d61a15a..2199d00 100644
--- a/tools/aapt2/compile/XmlIdCollector.cpp
+++ b/tools/aapt2/compile/XmlIdCollector.cpp
@@ -21,6 +21,7 @@
 
 #include "ResourceUtils.h"
 #include "ResourceValues.h"
+#include "text/Unicode.h"
 #include "xml/XmlDom.h"
 
 namespace aapt {
@@ -35,8 +36,9 @@
  public:
   using xml::Visitor::Visit;
 
-  explicit IdCollector(std::vector<SourcedResourceName>* out_symbols)
-      : out_symbols_(out_symbols) {}
+  explicit IdCollector(std::vector<SourcedResourceName>* out_symbols,
+                       SourcePathDiagnostics* source_diag) : out_symbols_(out_symbols),
+                                                             source_diag_(source_diag) {}
 
   void Visit(xml::Element* element) override {
     for (xml::Attribute& attr : element->attributes) {
@@ -44,12 +46,16 @@
       bool create = false;
       if (ResourceUtils::ParseReference(attr.value, &name, &create, nullptr)) {
         if (create && name.type == ResourceType::kId) {
-          auto iter = std::lower_bound(out_symbols_->begin(),
-                                       out_symbols_->end(), name, cmp_name);
-          if (iter == out_symbols_->end() || iter->name != name) {
-            out_symbols_->insert(iter,
-                                 SourcedResourceName{name.ToResourceName(),
-                                                     element->line_number});
+          if (!text::IsValidResourceEntryName(name.entry)) {
+            source_diag_->Error(DiagMessage(element->line_number)
+                                   << "id '" << name << "' has an invalid entry name");
+          } else {
+            auto iter = std::lower_bound(out_symbols_->begin(),
+                                         out_symbols_->end(), name, cmp_name);
+            if (iter == out_symbols_->end() || iter->name != name) {
+              out_symbols_->insert(iter, SourcedResourceName{name.ToResourceName(),
+                                                             element->line_number});
+            }
           }
         }
       }
@@ -60,15 +66,17 @@
 
  private:
   std::vector<SourcedResourceName>* out_symbols_;
+  SourcePathDiagnostics* source_diag_;
 };
 
 }  // namespace
 
 bool XmlIdCollector::Consume(IAaptContext* context, xml::XmlResource* xmlRes) {
   xmlRes->file.exported_symbols.clear();
-  IdCollector collector(&xmlRes->file.exported_symbols);
+  SourcePathDiagnostics source_diag(xmlRes->file.source, context->GetDiagnostics());
+  IdCollector collector(&xmlRes->file.exported_symbols, &source_diag);
   xmlRes->root->Accept(&collector);
-  return true;
+  return !source_diag.HadError();
 }
 
 }  // namespace aapt
diff --git a/tools/aapt2/compile/XmlIdCollector_test.cpp b/tools/aapt2/compile/XmlIdCollector_test.cpp
index 98da56d..d49af3b 100644
--- a/tools/aapt2/compile/XmlIdCollector_test.cpp
+++ b/tools/aapt2/compile/XmlIdCollector_test.cpp
@@ -64,4 +64,14 @@
   EXPECT_TRUE(doc->file.exported_symbols.empty());
 }
 
+TEST(XmlIdCollectorTest, ErrorOnInvalidIds) {
+  std::unique_ptr<IAaptContext> context = test::ContextBuilder().Build();
+
+  std::unique_ptr<xml::XmlResource> doc =
+      test::BuildXmlDom("<View foo=\"@+id/foo$bar\"/>");
+
+  XmlIdCollector collector;
+  ASSERT_FALSE(collector.Consume(context.get(), doc.get()));
+}
+
 }  // namespace aapt
diff --git a/tools/aapt2/development.md b/tools/aapt2/development.md
new file mode 100644
index 0000000..8ee873a
--- /dev/null
+++ b/tools/aapt2/development.md
@@ -0,0 +1,11 @@
+# AAPT2 development
+
+## Building
+All build targets can be found in `Android.bp` file. The main ones are `make -j aapt2` and `make -j aapt2_tests`
+
+`make -j aapt2` will create an aapt2 executable in `out/host/linux-x86/bin/aapt2` (on Linux). This `aapt2` executable will then be used for all the apps in the platform.
+
+Static version of the tool (without shared libraries) can be built with `make -j static_sdk_tools dist DIST_DIR=$OUTPUT_DIRECTORY BUILD_HOST_static=1`. Note, in addition to aapt2 this command will also output other statically built tools to the `$OUTPUT_DIRECTORY`.
+
+## Running tests
+Build `make -j aapt2_tests` and then (on Linux) execute `out/host/linux-x86/nativetest64/aapt2_tests/aapt2_tests`
\ No newline at end of file
diff --git a/tools/aapt2/dump/DumpManifest.cpp b/tools/aapt2/dump/DumpManifest.cpp
new file mode 100644
index 0000000..2c356d1
--- /dev/null
+++ b/tools/aapt2/dump/DumpManifest.cpp
@@ -0,0 +1,2197 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+#include "DumpManifest.h"
+
+#include "LoadedApk.h"
+#include "SdkConstants.h"
+#include "ValueVisitor.h"
+#include "io/File.h"
+#include "io/FileStream.h"
+#include "process/IResourceTableConsumer.h"
+#include "xml/XmlDom.h"
+
+using ::android::base::StringPrintf;
+
+namespace aapt {
+
+/**
+ * These are attribute resource constants for the platform, as found in android.R.attr.
+ */
+enum {
+  LABEL_ATTR = 0x01010001,
+  ICON_ATTR = 0x01010002,
+  NAME_ATTR = 0x01010003,
+  PERMISSION_ATTR = 0x01010006,
+  EXPORTED_ATTR = 0x01010010,
+  GRANT_URI_PERMISSIONS_ATTR = 0x0101001b,
+  RESOURCE_ATTR = 0x01010025,
+  DEBUGGABLE_ATTR = 0x0101000f,
+  VALUE_ATTR = 0x01010024,
+  VERSION_CODE_ATTR = 0x0101021b,
+  VERSION_NAME_ATTR = 0x0101021c,
+  SCREEN_ORIENTATION_ATTR = 0x0101001e,
+  MIN_SDK_VERSION_ATTR = 0x0101020c,
+  MAX_SDK_VERSION_ATTR = 0x01010271,
+  REQ_TOUCH_SCREEN_ATTR = 0x01010227,
+  REQ_KEYBOARD_TYPE_ATTR = 0x01010228,
+  REQ_HARD_KEYBOARD_ATTR = 0x01010229,
+  REQ_NAVIGATION_ATTR = 0x0101022a,
+  REQ_FIVE_WAY_NAV_ATTR = 0x01010232,
+  TARGET_SDK_VERSION_ATTR = 0x01010270,
+  TEST_ONLY_ATTR = 0x01010272,
+  ANY_DENSITY_ATTR = 0x0101026c,
+  GL_ES_VERSION_ATTR = 0x01010281,
+  SMALL_SCREEN_ATTR = 0x01010284,
+  NORMAL_SCREEN_ATTR = 0x01010285,
+  LARGE_SCREEN_ATTR = 0x01010286,
+  XLARGE_SCREEN_ATTR = 0x010102bf,
+  REQUIRED_ATTR = 0x0101028e,
+  INSTALL_LOCATION_ATTR = 0x010102b7,
+  SCREEN_SIZE_ATTR = 0x010102ca,
+  SCREEN_DENSITY_ATTR = 0x010102cb,
+  REQUIRES_SMALLEST_WIDTH_DP_ATTR = 0x01010364,
+  COMPATIBLE_WIDTH_LIMIT_DP_ATTR = 0x01010365,
+  LARGEST_WIDTH_LIMIT_DP_ATTR = 0x01010366,
+  PUBLIC_KEY_ATTR = 0x010103a6,
+  CATEGORY_ATTR = 0x010103e8,
+  BANNER_ATTR = 0x10103f2,
+  ISGAME_ATTR = 0x10103f4,
+  REQUIRED_FEATURE_ATTR = 0x1010557,
+  REQUIRED_NOT_FEATURE_ATTR = 0x1010558,
+  COMPILE_SDK_VERSION_ATTR = 0x01010572,
+  COMPILE_SDK_VERSION_CODENAME_ATTR = 0x01010573,
+};
+
+const std::string& kAndroidNamespace = "http://schemas.android.com/apk/res/android";
+
+/** Retrieves the attribute of the element with the specified attribute resource id. */
+static xml::Attribute* FindAttribute(xml::Element *el, uint32_t resd_id) {
+  for (auto& a : el->attributes) {
+    if (a.compiled_attribute && a.compiled_attribute.value().id) {
+      if (a.compiled_attribute.value().id.value() == resd_id) {
+        return std::move(&a);
+      }
+    }
+  }
+  return nullptr;
+}
+
+/** Retrieves the attribute of the element that has the specified namespace and attribute name. */
+static xml::Attribute* FindAttribute(xml::Element *el, const std::string &package,
+                                     const std::string &name) {
+  return el->FindAttribute(package, name);
+}
+
+class CommonFeatureGroup;
+
+class ManifestExtractor {
+ public:
+  struct Options {
+    /** Include meta information from <meta-data> elements in the output. */
+    bool include_meta_data = false;
+
+    /** Only output permission information. */
+    bool only_permissions = false;
+  };
+
+  explicit ManifestExtractor(LoadedApk* apk, ManifestExtractor::Options options)
+      : apk_(apk), options_(options) { }
+
+  class Element {
+   public:
+    Element() = default;
+    virtual ~Element() = default;
+
+    static std::unique_ptr<Element> Inflate(ManifestExtractor* extractor, xml::Element* el);
+
+    /** Writes out the extracted contents of the element. */
+    virtual void Print(text::Printer& printer) { }
+
+    /** Adds an element to the list of children of the element. */
+    void AddChild(std::unique_ptr<Element>& child) { children_.push_back(std::move(child)); }
+
+    /** Retrieves the list of children of the element. */
+    const std::vector<std::unique_ptr<Element>>& children() const {
+      return children_;
+    }
+
+    /** Retrieves the extracted xml element tag. */
+    const std::string tag() const {
+      return tag_;
+    }
+
+   protected:
+    ManifestExtractor* extractor() const {
+      return extractor_;
+    }
+
+    /** Retrieves and stores the information extracted from the xml element. */
+    virtual void Extract(xml::Element* el) { }
+
+    /*
+     * Retrieves a configuration value of the resource entry that best matches the specified
+     * configuration.
+     */
+    static Value* BestConfigValue(ResourceEntry* entry,
+                                  const ConfigDescription& match) {
+      if (!entry) {
+        return nullptr;
+      }
+
+      // Determine the config that best matches the desired config
+      ResourceConfigValue* best_value = nullptr;
+      for (auto& value : entry->values) {
+        if (!value->config.match(match)) {
+          continue;
+        }
+
+        if (best_value != nullptr) {
+          if (!value->config.isBetterThan(best_value->config, &match)) {
+            if (value->config.compare(best_value->config) != 0) {
+              continue;
+            }
+          }
+        }
+
+        best_value = value.get();
+      }
+
+      // The entry has no values
+      if (!best_value) {
+        return nullptr;
+      }
+
+      return best_value->value.get();
+    }
+
+    /** Retrieves the resource assigned to the specified resource id if one exists. */
+    Value* FindValueById(const ResourceTable* table, const ResourceId& res_id,
+                         const ConfigDescription& config = DummyConfig()) {
+      if (table) {
+        for (auto& package : table->packages) {
+          if (package->id && package->id.value() == res_id.package_id()) {
+            for (auto& type : package->types) {
+              if (type->id && type->id.value() == res_id.type_id()) {
+                for (auto& entry : type->entries) {
+                  if (entry->id && entry->id.value() == res_id.entry_id()) {
+                    if (auto value = BestConfigValue(entry.get(), config)) {
+                      return value;
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+      return nullptr;
+    }
+
+    /** Attempts to resolve the reference to a non-reference value. */
+    Value* ResolveReference(Reference* ref, const ConfigDescription& config = DummyConfig()) {
+      const int kMaxIterations = 40;
+      int i = 0;
+      while (ref && ref->id && i++ < kMaxIterations) {
+        auto table = extractor_->apk_->GetResourceTable();
+        if (auto value = FindValueById(table, ref->id.value(), config)) {
+          if (ValueCast<Reference>(value)) {
+            ref = ValueCast<Reference>(value);
+          } else {
+            return value;
+          }
+        }
+      }
+      return nullptr;
+    }
+
+    /**
+     * Retrieves the integer value of the attribute . If the value of the attribute is a reference,
+     * this will attempt to resolve the reference to an integer value.
+     **/
+    int32_t* GetAttributeInteger(xml::Attribute* attr,
+                                 const ConfigDescription& config = DummyConfig()) {
+      if (attr != nullptr) {
+        if (attr->compiled_value) {
+          // Resolve references using the dummy configuration
+          Value* value = attr->compiled_value.get();
+          if (ValueCast<Reference>(value)) {
+            value = ResolveReference(ValueCast<Reference>(value), config);
+          } else {
+            value = attr->compiled_value.get();
+          }
+          // Retrieve the integer data if possible
+          if (value != nullptr) {
+            if (BinaryPrimitive* intValue = ValueCast<BinaryPrimitive>(value)) {
+              return (int32_t*) &intValue->value.data;
+            }
+          }
+        }
+      }
+      return nullptr;
+    }
+
+    /**
+     * A version of GetAttributeInteger that returns a default integer if the attribute does not
+     * exist or cannot be resolved to an integer value.
+     **/
+    int32_t GetAttributeIntegerDefault(xml::Attribute* attr, int32_t def,
+                                       const ConfigDescription& config = DummyConfig()) {
+      auto value = GetAttributeInteger(attr, config);
+      if (value) {
+        return *value;
+      }
+      return def;
+    }
+
+    /**
+     * Retrieves the string value of the attribute. If the value of the attribute is a reference,
+     * this will attempt to resolve the reference to a string value.
+     **/
+    const std::string* GetAttributeString(xml::Attribute* attr,
+                                          const ConfigDescription& config = DummyConfig()) {
+      if (attr != nullptr) {
+        if (attr->compiled_value) {
+          // Resolve references using the dummy configuration
+          Value* value = attr->compiled_value.get();
+          if (ValueCast<Reference>(value)) {
+            value = ResolveReference(ValueCast<Reference>(value), config);
+          } else {
+            value = attr->compiled_value.get();
+          }
+
+          // Retrieve the string data of the value if possible
+          if (value != nullptr) {
+            if (String* intValue = ValueCast<String>(value)) {
+              return &(*intValue->value);
+            } else if (RawString* rawValue = ValueCast<RawString>(value)) {
+              return &(*rawValue->value);
+            } else if (FileReference* strValue = ValueCast<FileReference>(value)) {
+              return &(*strValue->path);
+            }
+          }
+        }
+        return &attr->value;
+      }
+      return nullptr;
+    }
+
+    /**
+     * A version of GetAttributeString that returns a default string if the attribute does not
+     * exist or cannot be resolved to an string value.
+     **/
+    std::string GetAttributeStringDefault(xml::Attribute* attr, std::string def,
+                                          const ConfigDescription& config = DummyConfig()) {
+      auto value = GetAttributeString(attr, config);
+      if (value) {
+        return *value;
+      }
+      return def;
+    }
+
+   private:
+      ManifestExtractor* extractor_;
+      std::vector<std::unique_ptr<Element>> children_;
+      std::string tag_;
+  };
+
+  friend Element;
+
+  /** Creates a default configuration used to retrieve resources. */
+  static ConfigDescription DummyConfig() {
+    ConfigDescription config;
+    config.orientation = android::ResTable_config::ORIENTATION_PORT;
+    config.density = android::ResTable_config::DENSITY_MEDIUM;
+    config.sdkVersion = 10000; // Very high.
+    config.screenWidthDp = 320;
+    config.screenHeightDp = 480;
+    config.smallestScreenWidthDp = 320;
+    config.screenLayout |= android::ResTable_config::SCREENSIZE_NORMAL;
+    return config;
+  }
+
+  bool Dump(text::Printer& printer, IDiagnostics* diag);
+
+  /** Recursively visit the xml element tree and return a processed badging element tree. */
+  std::unique_ptr<Element> Visit(xml::Element* element);
+
+    /** Raises the target sdk value if the min target is greater than the current target. */
+  void RaiseTargetSdk(int32_t min_target) {
+    if (min_target > target_sdk_) {
+      target_sdk_ = min_target;
+    }
+  }
+
+  /**
+   * Retrieves the default feature group that features are added into when <uses-feature>
+   * are not in a <feature-group> element.
+   **/
+  CommonFeatureGroup* GetCommonFeatureGroup() {
+    return commonFeatureGroup_.get();
+  }
+
+  /**
+   * Retrieves a mapping of density values to Configurations for retrieving resources that would be
+   * used for that density setting.
+   **/
+  const std::map<uint16_t, ConfigDescription> densities() const {
+    return densities_;
+  }
+
+  /**
+   * Retrieves a mapping of locale BCP 47 strings to Configurations for retrieving resources that
+   * would be used for that locale setting.
+   **/
+  const std::map<std::string, ConfigDescription> locales() const {
+    return locales_;
+  }
+
+  /** Retrieves the current stack of parent during data extraction. */
+  const std::vector<Element*> parent_stack() const {
+    return parent_stack_;
+  }
+
+  int32_t target_sdk() const {
+    return target_sdk_;
+  }
+
+  LoadedApk* const apk_;
+  const Options options_;
+
+ private:
+  std::unique_ptr<CommonFeatureGroup> commonFeatureGroup_ = util::make_unique<CommonFeatureGroup>();
+  std::map<std::string, ConfigDescription> locales_;
+  std::map<uint16_t, ConfigDescription> densities_;
+  std::vector<Element*> parent_stack_;
+  int32_t target_sdk_ = 0;
+};
+
+template<typename T> T* ElementCast(ManifestExtractor::Element* element);
+
+/** Recurs through the children of the specified root in depth-first order. */
+static void ForEachChild(ManifestExtractor::Element* root,
+                         std::function<void(ManifestExtractor::Element*)> f) {
+  for (auto& child : root->children()) {
+    f(child.get());
+    ForEachChild(child.get(), f);
+  }
+}
+
+/**
+ * Checks the element and its recursive children for an element that makes the specified
+ * conditional function return true. Returns the first element that makes the conditional function
+ * return true.
+ **/
+static ManifestExtractor::Element* FindElement(ManifestExtractor::Element* root,
+                                              std::function<bool(ManifestExtractor::Element*)> f) {
+  if (f(root)) {
+    return root;
+  }
+  for (auto& child : root->children()) {
+    if (auto b2 = FindElement(child.get(), f)) {
+      return b2;
+    }
+  }
+  return nullptr;
+}
+
+/** Represents the <manifest> elements **/
+class Manifest : public ManifestExtractor::Element {
+ public:
+  Manifest() = default;
+  std::string package;
+  int32_t versionCode;
+  std::string versionName;
+  const std::string* split = nullptr;
+  const std::string* platformVersionName = nullptr;
+  const std::string* platformVersionCode = nullptr;
+  const int32_t* compilesdkVersion = nullptr;
+  const std::string* compilesdkVersionCodename = nullptr;
+  const int32_t* installLocation = nullptr;
+
+  void Extract(xml::Element* manifest) override {
+    package = GetAttributeStringDefault(FindAttribute(manifest, {}, "package"), "");
+    versionCode = GetAttributeIntegerDefault(FindAttribute(manifest, VERSION_CODE_ATTR), 0);
+    versionName = GetAttributeStringDefault(FindAttribute(manifest, VERSION_NAME_ATTR), "");
+    split = GetAttributeString(FindAttribute(manifest, {}, "split"));
+
+    // Extract the platform build info
+    platformVersionName = GetAttributeString(FindAttribute(manifest, {},
+                                                           "platformBuildVersionName"));
+    platformVersionCode = GetAttributeString(FindAttribute(manifest, {},
+                                                           "platformBuildVersionCode"));
+
+    // Extract the compile sdk info
+    compilesdkVersion = GetAttributeInteger(FindAttribute(manifest, COMPILE_SDK_VERSION_ATTR));
+    compilesdkVersionCodename = GetAttributeString(
+        FindAttribute(manifest, COMPILE_SDK_VERSION_CODENAME_ATTR));
+    installLocation = GetAttributeInteger(FindAttribute(manifest, INSTALL_LOCATION_ATTR));
+  }
+
+  void Print(text::Printer& printer) override {
+    printer.Print(StringPrintf("package: name='%s' ", package.data()));
+    printer.Print(StringPrintf("versionCode='%s' ",
+                               (versionCode > 0) ? std::to_string(versionCode).data() : ""));
+    printer.Print(StringPrintf("versionName='%s'", versionName.data()));
+
+    if (split) {
+      printer.Print(StringPrintf(" split='%s'", split->data()));
+    }
+    if (platformVersionName) {
+      printer.Print(StringPrintf(" platformBuildVersionName='%s'", platformVersionName->data()));
+    }
+    if (platformVersionCode) {
+      printer.Print(StringPrintf(" platformBuildVersionCode='%s'", platformVersionCode->data()));
+    }
+    if (compilesdkVersion) {
+      printer.Print(StringPrintf(" compileSdkVersion='%d'", *compilesdkVersion));
+    }
+    if (compilesdkVersionCodename) {
+      printer.Print(StringPrintf(" compileSdkVersionCodename='%s'",
+                                 compilesdkVersionCodename->data()));
+    }
+    printer.Print("\n");
+
+    if (installLocation) {
+      switch (*installLocation) {
+        case 0:
+          printer.Print("install-location:'auto'\n");
+          break;
+        case 1:
+          printer.Print("install-location:'internalOnly'\n");
+          break;
+        case 2:
+          printer.Print("install-location:'preferExternal'\n");
+          break;
+        default:
+          break;
+      }
+    }
+  }
+};
+
+/** Represents <application> elements. **/
+class Application : public ManifestExtractor::Element {
+ public:
+  Application() = default;
+  std::string label;
+  std::string icon;
+  std::string banner;
+  int32_t is_game;
+  int32_t debuggable;
+  int32_t test_only;
+  bool has_multi_arch;
+
+  /** Mapping from locales to app names. */
+  std::map<std::string, std::string> locale_labels;
+
+  /** Mapping from densities to app icons. */
+  std::map<uint16_t, std::string> density_icons;
+
+  void Extract(xml::Element* element) override {
+    label = GetAttributeStringDefault(FindAttribute(element, LABEL_ATTR), "");
+    icon = GetAttributeStringDefault(FindAttribute(element, ICON_ATTR), "");
+    test_only = GetAttributeIntegerDefault(FindAttribute(element, TEST_ONLY_ATTR), 0);
+    banner = GetAttributeStringDefault(FindAttribute(element, BANNER_ATTR), "");
+    is_game = GetAttributeIntegerDefault(FindAttribute(element, ISGAME_ATTR), 0);
+    debuggable = GetAttributeIntegerDefault(FindAttribute(element, DEBUGGABLE_ATTR), 0);
+
+    // We must search by name because the multiArch flag hasn't been API
+    // frozen yet.
+    has_multi_arch = (GetAttributeIntegerDefault(
+        FindAttribute(element, kAndroidNamespace, "multiArch"), 0) != 0);
+
+    // Retrieve the app names for every locale the app supports
+    auto attr = FindAttribute(element, LABEL_ATTR);
+    for (auto& config : extractor()->locales()) {
+      if (auto label = GetAttributeString(attr, config.second)) {
+        if (label) {
+          locale_labels.insert(std::make_pair(config.first, *label));
+        }
+      }
+    }
+
+    // Retrieve the icons for the densities the app supports
+    attr = FindAttribute(element, ICON_ATTR);
+    for (auto& config : extractor()->densities()) {
+      if (auto resource = GetAttributeString(attr, config.second)) {
+        if (resource) {
+          density_icons.insert(std::make_pair(config.first, *resource));
+        }
+      }
+    }
+  }
+
+  void Print(text::Printer& printer) override {
+    // Print the labels for every locale
+    for (auto p : locale_labels) {
+      if (p.first.empty()) {
+        printer.Print(StringPrintf("application-label:'%s'\n",
+                                    android::ResTable::normalizeForOutput(p.second.data())
+                                        .c_str()));
+      } else {
+        printer.Print(StringPrintf("application-label-%s:'%s'\n", p.first.data(),
+                                    android::ResTable::normalizeForOutput(p.second.data())
+                                        .c_str()));
+      }
+    }
+
+    // Print the icon paths for every density
+    for (auto p : density_icons) {
+      printer.Print(StringPrintf("application-icon-%d:'%s'\n", p.first, p.second.data()));
+    }
+
+    // Print the application info
+    printer.Print(StringPrintf("application: label='%s' ",
+                                android::ResTable::normalizeForOutput(label.data()).c_str()));
+    printer.Print(StringPrintf("icon='%s'", icon.data()));
+    if (!banner.empty()) {
+      printer.Print(StringPrintf(" banner='%s'", banner.data()));
+    }
+    printer.Print("\n");
+
+    if (test_only != 0) {
+      printer.Print(StringPrintf("testOnly='%d'\n", test_only));
+    }
+    if (is_game != 0) {
+      printer.Print("application-isGame\n");
+    }
+    if (debuggable != 0) {
+      printer.Print("application-debuggable\n");
+    }
+  }
+};
+
+/** Represents <uses-sdk> elements. **/
+class UsesSdkBadging : public ManifestExtractor::Element {
+ public:
+  UsesSdkBadging() = default;
+  const int32_t* min_sdk = nullptr;
+  const std::string* min_sdk_name = nullptr;
+  const int32_t* max_sdk = nullptr;
+  const int32_t* target_sdk = nullptr;
+  const std::string* target_sdk_name = nullptr;
+
+  void Extract(xml::Element* element) override {
+    min_sdk = GetAttributeInteger(FindAttribute(element, MIN_SDK_VERSION_ATTR));
+    min_sdk_name = GetAttributeString(FindAttribute(element, MIN_SDK_VERSION_ATTR));
+    max_sdk = GetAttributeInteger(FindAttribute(element, MAX_SDK_VERSION_ATTR));
+    target_sdk = GetAttributeInteger(FindAttribute(element, TARGET_SDK_VERSION_ATTR));
+    target_sdk_name = GetAttributeString(FindAttribute(element, TARGET_SDK_VERSION_ATTR));
+
+    // Detect the target sdk of the element
+    if  ((min_sdk_name && *min_sdk_name == "Donut")
+        || (target_sdk_name && *target_sdk_name == "Donut")) {
+      extractor()->RaiseTargetSdk(4);
+    }
+    if (min_sdk) {
+      extractor()->RaiseTargetSdk(*min_sdk);
+    }
+    if (target_sdk) {
+      extractor()->RaiseTargetSdk(*target_sdk);
+    }
+  }
+
+  void Print(text::Printer& printer) override {
+    if (min_sdk) {
+      printer.Print(StringPrintf("sdkVersion:'%d'\n", *min_sdk));
+    } else if (min_sdk_name) {
+      printer.Print(StringPrintf("sdkVersion:'%s'\n", min_sdk_name->data()));
+    }
+    if (max_sdk) {
+      printer.Print(StringPrintf("maxSdkVersion:'%d'\n", *max_sdk));
+    }
+    if (target_sdk) {
+      printer.Print(StringPrintf("targetSdkVersion:'%d'\n", *target_sdk));
+    } else if (target_sdk_name) {
+      printer.Print(StringPrintf("targetSdkVersion:'%s'\n", target_sdk_name->data()));
+    }
+  }
+};
+
+/** Represents <uses-configuration> elements. **/
+class UsesConfiguarion : public ManifestExtractor::Element {
+ public:
+  UsesConfiguarion() = default;
+  int32_t req_touch_screen = 0;
+  int32_t req_keyboard_type = 0;
+  int32_t req_hard_keyboard = 0;
+  int32_t req_navigation = 0;
+  int32_t req_five_way_nav = 0;
+
+  void Extract(xml::Element* element) override {
+    req_touch_screen = GetAttributeIntegerDefault(
+        FindAttribute(element, REQ_TOUCH_SCREEN_ATTR), 0);
+    req_keyboard_type = GetAttributeIntegerDefault(
+        FindAttribute(element, REQ_KEYBOARD_TYPE_ATTR), 0);
+    req_hard_keyboard = GetAttributeIntegerDefault(
+        FindAttribute(element, REQ_HARD_KEYBOARD_ATTR), 0);
+    req_navigation = GetAttributeIntegerDefault(
+        FindAttribute(element, REQ_NAVIGATION_ATTR), 0);
+    req_five_way_nav = GetAttributeIntegerDefault(
+        FindAttribute(element, REQ_FIVE_WAY_NAV_ATTR), 0);
+  }
+
+  void Print(text::Printer& printer) override {
+    printer.Print("uses-configuration:");
+    if (req_touch_screen != 0) {
+      printer.Print(StringPrintf(" reqTouchScreen='%d'", req_touch_screen));
+    }
+    if (req_keyboard_type != 0) {
+      printer.Print(StringPrintf(" reqKeyboardType='%d'", req_keyboard_type));
+    }
+    if (req_hard_keyboard != 0) {
+      printer.Print(StringPrintf(" reqHardKeyboard='%d'", req_hard_keyboard));
+    }
+    if (req_navigation != 0) {
+      printer.Print(StringPrintf(" reqNavigation='%d'", req_navigation));
+    }
+    if (req_five_way_nav != 0) {
+      printer.Print(StringPrintf(" reqFiveWayNav='%d'", req_five_way_nav));
+    }
+    printer.Print("\n");
+  }
+};
+
+/** Represents <supports-screen> elements. **/
+class SupportsScreen : public ManifestExtractor::Element {
+ public:
+  SupportsScreen() = default;
+  int32_t small_screen = 1;
+  int32_t normal_screen = 1;
+  int32_t large_screen  = 1;
+  int32_t xlarge_screen = 1;
+  int32_t any_density = 1;
+  int32_t requires_smallest_width_dp = 0;
+  int32_t compatible_width_limit_dp = 0;
+  int32_t largest_width_limit_dp = 0;
+
+  void Extract(xml::Element* element) override {
+    small_screen = GetAttributeIntegerDefault(FindAttribute(element, SMALL_SCREEN_ATTR), 1);
+    normal_screen = GetAttributeIntegerDefault(FindAttribute(element, NORMAL_SCREEN_ATTR), 1);
+    large_screen = GetAttributeIntegerDefault(FindAttribute(element, LARGE_SCREEN_ATTR), 1);
+    xlarge_screen = GetAttributeIntegerDefault(FindAttribute(element, XLARGE_SCREEN_ATTR), 1);
+    any_density = GetAttributeIntegerDefault(FindAttribute(element, ANY_DENSITY_ATTR), 1);
+
+    requires_smallest_width_dp = GetAttributeIntegerDefault(
+        FindAttribute(element, REQUIRES_SMALLEST_WIDTH_DP_ATTR), 0);
+    compatible_width_limit_dp = GetAttributeIntegerDefault(
+        FindAttribute(element, COMPATIBLE_WIDTH_LIMIT_DP_ATTR), 0);
+    largest_width_limit_dp = GetAttributeIntegerDefault(
+        FindAttribute(element, LARGEST_WIDTH_LIMIT_DP_ATTR), 0);
+
+    // For modern apps, if screen size buckets haven't been specified
+    // but the new width ranges have, then infer the buckets from them.
+    if (small_screen > 0 && normal_screen > 0 && large_screen > 0 && xlarge_screen > 0
+        && requires_smallest_width_dp > 0) {
+      int32_t compat_width = (compatible_width_limit_dp > 0) ? compatible_width_limit_dp
+                                                             : requires_smallest_width_dp;
+      small_screen = (requires_smallest_width_dp <= 240 && compat_width >= 240) ? -1 : 0;
+      normal_screen = (requires_smallest_width_dp <= 320 && compat_width >= 320) ? -1 : 0;
+      large_screen = (requires_smallest_width_dp <= 480 && compat_width >= 480) ? -1 : 0;
+      xlarge_screen = (requires_smallest_width_dp <= 720 && compat_width >= 720) ? -1 : 0;
+    }
+  }
+
+  void PrintScreens(text::Printer& printer, int32_t target_sdk) {
+    int32_t small_screen_temp = small_screen;
+    int32_t normal_screen_temp  = normal_screen;
+    int32_t large_screen_temp  = large_screen;
+    int32_t xlarge_screen_temp  = xlarge_screen;
+    int32_t any_density_temp  = any_density;
+
+    // Determine default values for any unspecified screen sizes,
+    // based on the target SDK of the package.  As of 4 (donut)
+    // the screen size support was introduced, so all default to
+    // enabled.
+    if (small_screen_temp  > 0) {
+      small_screen_temp  = target_sdk >= 4 ? -1 : 0;
+    }
+    if (normal_screen_temp  > 0) {
+      normal_screen_temp  = -1;
+    }
+    if (large_screen_temp  > 0) {
+      large_screen_temp  = target_sdk >= 4 ? -1 : 0;
+    }
+    if (xlarge_screen_temp  > 0) {
+      // Introduced in Gingerbread.
+      xlarge_screen_temp  = target_sdk >= 9 ? -1 : 0;
+    }
+    if (any_density_temp  > 0) {
+      any_density_temp  = (target_sdk >= 4 || requires_smallest_width_dp > 0
+          || compatible_width_limit_dp > 0) ? -1 : 0;
+    }
+
+    // Print the formatted screen info
+    printer.Print("supports-screens:");
+    if (small_screen_temp  != 0) {
+      printer.Print(" 'small'");
+    }
+    if (normal_screen_temp  != 0) {
+      printer.Print(" 'normal'");
+    }
+    if (large_screen_temp   != 0) {
+      printer.Print(" 'large'");
+    }
+    if (xlarge_screen_temp  != 0) {
+      printer.Print(" 'xlarge'");
+    }
+    printer.Print("\n");
+    printer.Print(StringPrintf("supports-any-density: '%s'\n",
+                                (any_density_temp ) ? "true" : "false"));
+    if (requires_smallest_width_dp > 0) {
+      printer.Print(StringPrintf("requires-smallest-width:'%d'\n", requires_smallest_width_dp));
+    }
+    if (compatible_width_limit_dp > 0) {
+      printer.Print(StringPrintf("compatible-width-limit:'%d'\n", compatible_width_limit_dp));
+    }
+    if (largest_width_limit_dp > 0) {
+      printer.Print(StringPrintf("largest-width-limit:'%d'\n", largest_width_limit_dp));
+    }
+  }
+};
+
+/** Represents <feature-group> elements. **/
+class FeatureGroup : public ManifestExtractor::Element {
+ public:
+  FeatureGroup() = default;
+  std::string label;
+  int32_t open_gles_version = 0;
+
+  void Extract(xml::Element* element) override {
+    label = GetAttributeStringDefault(FindAttribute(element, LABEL_ATTR), "");
+  }
+
+  virtual void PrintGroup(text::Printer& printer) {
+    printer.Print(StringPrintf("feature-group: label='%s'\n", label.data()));
+    if (open_gles_version > 0) {
+      printer.Print(StringPrintf("  uses-gl-es: '0x%x'\n", open_gles_version));
+    }
+
+    for (auto feature : features_) {
+      printer.Print(StringPrintf("  uses-feature%s: name='%s'",
+                                 (feature.second.required ? "" : "-not-required"),
+                                 feature.first.data()));
+      if (feature.second.version > 0) {
+        printer.Print(StringPrintf(" version='%d'", feature.second.version));
+      }
+      printer.Print("\n");
+    }
+  }
+
+  /** Adds a feature to the feature group. */
+  void AddFeature(const std::string& name, bool required = true, int32_t version = -1) {
+    features_.insert(std::make_pair(name, Feature{ required, version }));
+    if (required) {
+      if (name == "android.hardware.camera.autofocus" ||
+          name == "android.hardware.camera.flash") {
+        AddFeature("android.hardware.camera", true);
+      } else if (name == "android.hardware.location.gps" ||
+                 name == "android.hardware.location.network") {
+        AddFeature("android.hardware.location", true);
+      } else if (name == "android.hardware.faketouch.multitouch") {
+        AddFeature("android.hardware.faketouch", true);
+      } else if (name == "android.hardware.faketouch.multitouch.distinct" ||
+                 name == "android.hardware.faketouch.multitouch.jazzhands") {
+        AddFeature("android.hardware.faketouch.multitouch", true);
+        AddFeature("android.hardware.faketouch", true);
+      } else if (name == "android.hardware.touchscreen.multitouch") {
+        AddFeature("android.hardware.touchscreen", true);
+      } else if (name == "android.hardware.touchscreen.multitouch.distinct" ||
+                 name == "android.hardware.touchscreen.multitouch.jazzhands") {
+        AddFeature("android.hardware.touchscreen.multitouch", true);
+        AddFeature("android.hardware.touchscreen", true);
+      } else if (name == "android.hardware.opengles.aep") {
+        const int kOpenGLESVersion31 = 0x00030001;
+        if (kOpenGLESVersion31 > open_gles_version) {
+          open_gles_version = kOpenGLESVersion31;
+        }
+      }
+    }
+  }
+
+  /** Returns true if the feature group has the given feature. */
+  virtual bool HasFeature(const std::string& name) {
+    return features_.find(name) != features_.end();
+  }
+
+  /** Merges the features of another feature group into this group. */
+  void Merge(FeatureGroup* group) {
+    open_gles_version = std::max(open_gles_version, group->open_gles_version);
+    for (auto& feature : group->features_) {
+      features_.insert(feature);
+    }
+  }
+
+ protected:
+  struct Feature {
+   public:
+    bool required = false;
+    int32_t version = -1;
+  };
+
+  /* Mapping of feature names to their properties. */
+  std::map<std::string, Feature> features_;
+};
+
+/**
+ * Represents the default feature group for the application if no <feature-group> elements are
+ * present in the manifest.
+ **/
+class CommonFeatureGroup : public FeatureGroup {
+ public:
+  CommonFeatureGroup() = default;
+  void PrintGroup(text::Printer& printer) override {
+    FeatureGroup::PrintGroup(printer);
+
+    // Also print the implied features
+    for (auto feature : implied_features_) {
+      if (features_.find(feature.first) == features_.end()) {
+        const char* sdk23 = feature.second.implied_from_sdk_k23 ? "-sdk-23" : "";
+        printer.Print(StringPrintf("  uses-feature%s: name='%s'\n", sdk23, feature.first.data()));
+        printer.Print(StringPrintf("  uses-implied-feature%s: name='%s' reason='", sdk23,
+                                    feature.first.data()));
+
+        // Print the reasons as a sentence
+        size_t count = 0;
+        for (auto reason : feature.second.reasons) {
+          printer.Print(reason);
+          if (count + 2 < feature.second.reasons.size()) {
+            printer.Print(", ");
+          } else if (count + 1 < feature.second.reasons.size()) {
+            printer.Print(", and ");
+          }
+          count++;
+        }
+        printer.Print("'\n");
+      }
+    }
+  }
+
+  /** Returns true if the feature group has the given feature. */
+  bool HasFeature(const std::string& name) override {
+    return FeatureGroup::HasFeature(name)
+        || implied_features_.find(name) != implied_features_.end();
+  }
+
+  /** Adds a feature to a set of implied features not explicitly requested in the manifest. */
+  void addImpliedFeature(const std::string& name, const std::string& reason, bool sdk23 = false) {
+    auto entry = implied_features_.find(name);
+    if (entry == implied_features_.end()) {
+      implied_features_.insert(std::make_pair(name, ImpliedFeature(sdk23)));
+      entry = implied_features_.find(name);
+    }
+
+    // A non-sdk 23 implied feature takes precedence.
+    if (entry->second.implied_from_sdk_k23 && !sdk23) {
+      entry->second.implied_from_sdk_k23 = false;
+    }
+
+    entry->second.reasons.insert(reason);
+  }
+
+  /**
+   * Adds a feature to a set of implied features for all features that are implied by the presence
+   * of the permission.
+   **/
+  void addImpliedFeaturesForPermission(int32_t targetSdk, const std::string& name, bool sdk23) {
+    if (name == "android.permission.CAMERA") {
+      addImpliedFeature("android.hardware.camera",
+                        StringPrintf("requested %s permission", name.data()),
+                        sdk23);
+
+    } else if (name == "android.permission.ACCESS_FINE_LOCATION") {
+      if (targetSdk < SDK_LOLLIPOP) {
+        addImpliedFeature("android.hardware.location.gps",
+                          StringPrintf("requested %s permission", name.data()),
+                          sdk23);
+        addImpliedFeature("android.hardware.location.gps",
+                          StringPrintf("targetSdkVersion < %d", SDK_LOLLIPOP),
+                          sdk23);
+      }
+      addImpliedFeature("android.hardware.location",
+                        StringPrintf("requested %s permission", name.data()),
+                        sdk23);
+
+    } else if (name == "android.permission.ACCESS_COARSE_LOCATION") {
+      if (targetSdk < SDK_LOLLIPOP) {
+        addImpliedFeature("android.hardware.location.network",
+                          StringPrintf("requested %s permission", name.data()),
+                          sdk23);
+        addImpliedFeature("android.hardware.location.network",
+                          StringPrintf("targetSdkVersion < %d", SDK_LOLLIPOP),
+                          sdk23);
+      }
+      addImpliedFeature("android.hardware.location",
+                        StringPrintf("requested %s permission", name.data()),
+                        sdk23);
+
+    } else if (name == "android.permission.ACCESS_MOCK_LOCATION" ||
+        name == "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ||
+        name == "android.permission.INSTALL_LOCATION_PROVIDER") {
+      addImpliedFeature("android.hardware.location",
+                        StringPrintf("requested %s permission", name.data()),
+                        sdk23);
+
+    } else if (name == "android.permission.BLUETOOTH" ||
+        name == "android.permission.BLUETOOTH_ADMIN") {
+      if (targetSdk > SDK_DONUT) {
+        addImpliedFeature("android.hardware.bluetooth",
+                          StringPrintf("requested %s permission", name.data()),
+                          sdk23);
+        addImpliedFeature("android.hardware.bluetooth",
+                          StringPrintf("targetSdkVersion > %d", SDK_DONUT),
+                          sdk23);
+      }
+
+    } else if (name == "android.permission.RECORD_AUDIO") {
+      addImpliedFeature("android.hardware.microphone",
+                        StringPrintf("requested %s permission", name.data()),
+                        sdk23);
+
+    } else if (name == "android.permission.ACCESS_WIFI_STATE" ||
+        name == "android.permission.CHANGE_WIFI_STATE" ||
+        name == "android.permission.CHANGE_WIFI_MULTICAST_STATE") {
+      addImpliedFeature("android.hardware.wifi",
+                        StringPrintf("requested %s permission", name.data()),
+                        sdk23);
+
+    } else if (name == "android.permission.CALL_PHONE" ||
+        name == "android.permission.CALL_PRIVILEGED" ||
+        name == "android.permission.MODIFY_PHONE_STATE" ||
+        name == "android.permission.PROCESS_OUTGOING_CALLS" ||
+        name == "android.permission.READ_SMS" ||
+        name == "android.permission.RECEIVE_SMS" ||
+        name == "android.permission.RECEIVE_MMS" ||
+        name == "android.permission.RECEIVE_WAP_PUSH" ||
+        name == "android.permission.SEND_SMS" ||
+        name == "android.permission.WRITE_APN_SETTINGS" ||
+        name == "android.permission.WRITE_SMS") {
+      addImpliedFeature("android.hardware.telephony",
+                        "requested a telephony permission",
+                        sdk23);
+    }
+  }
+
+ private:
+  /**
+   * Represents a feature that has been automatically added due to a pre-requisite or for some
+   * other reason.
+   */
+  struct ImpliedFeature {
+    explicit ImpliedFeature(bool sdk23 = false) : implied_from_sdk_k23(sdk23) {}
+
+    /** List of human-readable reasons for why this feature was implied. */
+    std::set<std::string> reasons;
+
+    // Was this implied by a permission from SDK 23 (<uses-permission-sdk-23 />)
+    bool implied_from_sdk_k23;
+  };
+
+  /* Mapping of implied feature names to their properties. */
+  std::map<std::string, ImpliedFeature> implied_features_;
+};
+
+/** Represents <uses-feature> elements. **/
+class UsesFeature : public ManifestExtractor::Element {
+ public:
+  UsesFeature() = default;
+  void Extract(xml::Element* element) override {
+    const std::string* name = GetAttributeString(FindAttribute(element, NAME_ATTR));
+    int32_t* gl = GetAttributeInteger(FindAttribute(element, GL_ES_VERSION_ATTR));
+    bool required = GetAttributeIntegerDefault(
+        FindAttribute(element, REQUIRED_ATTR), true) != 0;
+    int32_t version = GetAttributeIntegerDefault(
+        FindAttribute(element, kAndroidNamespace, "version"), 0);
+
+    // Add the feature to the parent feature group element if one exists; otherwise, add it to the
+    // common feature group
+    FeatureGroup* feature_group = ElementCast<FeatureGroup>(extractor()->parent_stack()[0]);
+    if (!feature_group) {
+      feature_group = extractor()->GetCommonFeatureGroup();
+    } else {
+      // All features in side of <feature-group> elements are required.
+      required = true;
+    }
+
+    if (name) {
+      feature_group->AddFeature(*name, required, version);
+    } else if (gl) {
+      feature_group->open_gles_version = std::max(feature_group->open_gles_version, *gl);
+    }
+  }
+};
+
+/** Represents <uses-permission> elements. **/
+class UsesPermission : public ManifestExtractor::Element {
+ public:
+  UsesPermission() = default;
+  std::string name;
+  std::string requiredFeature;
+  std::string requiredNotFeature;
+  int32_t required = true;
+  int32_t maxSdkVersion = -1;
+
+  void Extract(xml::Element* element) override {
+    name = GetAttributeStringDefault(FindAttribute(element, NAME_ATTR), "");
+    requiredFeature = GetAttributeStringDefault(
+        FindAttribute(element, REQUIRED_FEATURE_ATTR), "");
+    requiredNotFeature = GetAttributeStringDefault(
+        FindAttribute(element, REQUIRED_NOT_FEATURE_ATTR), "");
+    required = GetAttributeIntegerDefault(FindAttribute(element, REQUIRED_ATTR), 1);
+    maxSdkVersion = GetAttributeIntegerDefault(
+        FindAttribute(element, MAX_SDK_VERSION_ATTR), -1);
+
+    if (!name.empty()) {
+      CommonFeatureGroup* common = extractor()->GetCommonFeatureGroup();
+      common->addImpliedFeaturesForPermission(extractor()->target_sdk(), name, false);
+    }
+  }
+
+  void Print(text::Printer& printer) override {
+    if (!name.empty()) {
+      printer.Print(StringPrintf("uses-permission: name='%s'", name.data()));
+      if (maxSdkVersion >= 0) {
+        printer.Print(StringPrintf(" maxSdkVersion='%d'", maxSdkVersion));
+      }
+      if (!requiredFeature.empty()) {
+        printer.Print(StringPrintf(" requiredFeature='%s'", requiredFeature.data()));
+      }
+      if (!requiredNotFeature.empty()) {
+        printer.Print(StringPrintf(" requiredNotFeature='%s'", requiredNotFeature.data()));
+      }
+      printer.Print("\n");
+      if (required == 0) {
+        printer.Print(StringPrintf("optional-permission: name='%s'", name.data()));
+        if (maxSdkVersion >= 0) {
+          printer.Print(StringPrintf(" maxSdkVersion='%d'", maxSdkVersion));
+        }
+        printer.Print("\n");
+      }
+    }
+  }
+
+  void PrintImplied(text::Printer& printer, const std::string& reason) {
+    printer.Print(StringPrintf("uses-implied-permission: name='%s'", name.data()));
+    if (maxSdkVersion >= 0) {
+      printer.Print(StringPrintf(" maxSdkVersion='%d'", maxSdkVersion));
+    }
+    printer.Print(StringPrintf(" reason='%s'\n", reason.data()));
+  }
+};
+
+/** Represents <uses-permission-sdk-23> elements. **/
+class UsesPermissionSdk23 : public ManifestExtractor::Element {
+ public:
+  UsesPermissionSdk23() = default;
+  const std::string* name = nullptr;
+  const int32_t* maxSdkVersion = nullptr;
+
+  void Extract(xml::Element* element) override {
+    name = GetAttributeString(FindAttribute(element, NAME_ATTR));
+    maxSdkVersion = GetAttributeInteger(FindAttribute(element, MAX_SDK_VERSION_ATTR));
+
+    if (name) {
+      CommonFeatureGroup* common = extractor()->GetCommonFeatureGroup();
+      common->addImpliedFeaturesForPermission(extractor()->target_sdk(), *name, true);
+    }
+  }
+
+  void Print(text::Printer& printer) override {
+    if (name) {
+      printer.Print(StringPrintf("uses-permission-sdk-23: name='%s'", name->data()));
+      if (maxSdkVersion) {
+        printer.Print(StringPrintf(" maxSdkVersion='%d'", *maxSdkVersion));
+      }
+      printer.Print("\n");
+    }
+  }
+};
+
+/** Represents <permission> elements. These elements are only printing when dumping permissions. **/
+class Permission : public ManifestExtractor::Element {
+ public:
+  Permission() = default;
+  std::string name;
+
+  void Extract(xml::Element* element) override {
+    name = GetAttributeStringDefault(FindAttribute(element, NAME_ATTR), "");
+  }
+
+  void Print(text::Printer& printer) override {
+    if (extractor()->options_.only_permissions && !name.empty()) {
+      printer.Print(StringPrintf("permission: %s\n", name.data()));
+    }
+  }
+};
+
+/** Represents <activity> elements. **/
+class Activity : public ManifestExtractor::Element {
+ public:
+  Activity() = default;
+  std::string name;
+  std::string icon;
+  std::string label;
+  std::string banner;
+
+  bool has_component_ = false;
+  bool has_launcher_category = false;
+  bool has_leanback_launcher_category = false;
+  bool has_main_action = false;
+
+  void Extract(xml::Element* element) override {
+    name = GetAttributeStringDefault(FindAttribute(element, NAME_ATTR), "");
+    label = GetAttributeStringDefault(FindAttribute(element, LABEL_ATTR), "");
+    icon = GetAttributeStringDefault(FindAttribute(element, ICON_ATTR), "");
+    banner = GetAttributeStringDefault(FindAttribute(element, BANNER_ATTR), "");
+
+    // Retrieve the package name from the manifest
+    std::string package;
+    for (auto& parent : extractor()->parent_stack()) {
+      if (auto manifest = ElementCast<Manifest>(parent)) {
+        package = manifest->package;
+        break;
+      }
+    }
+
+    // Fully qualify the activity name
+    ssize_t idx = name.find(".");
+    if (idx == 0) {
+      name = package + name;
+    } else if (idx < 0) {
+      name = package + "." + name;
+    }
+
+    auto orientation = GetAttributeInteger(FindAttribute(element, SCREEN_ORIENTATION_ATTR));
+    if (orientation) {
+      CommonFeatureGroup* common = extractor()->GetCommonFeatureGroup();
+      int orien = *orientation;
+      if (orien == 0 || orien == 6 || orien == 8) {
+        // Requests landscape, sensorLandscape, or reverseLandscape.
+        common->addImpliedFeature("android.hardware.screen.landscape",
+                                  "one or more activities have specified a landscape orientation",
+                                  false);
+      } else if (orien == 1 || orien == 7 || orien == 9) {
+        // Requests portrait, sensorPortrait, or reversePortrait.
+        common->addImpliedFeature("android.hardware.screen.portrait",
+                                  "one or more activities have specified a portrait orientation",
+                                  false);
+      }
+    }
+  }
+
+  void Print(text::Printer& printer) override {
+    // Print whether the activity has the HOME category and a the MAIN action
+    if (has_main_action && has_launcher_category) {
+      printer.Print("launchable-activity:");
+      if (!name.empty()) {
+        printer.Print(StringPrintf(" name='%s' ", name.data()));
+      }
+      printer.Print(StringPrintf(" label='%s' icon='%s'\n",
+                                  android::ResTable::normalizeForOutput(label.data()).c_str(),
+                                  icon.data()));
+    }
+
+    // Print wether the activity has the HOME category and a the MAIN action
+    if (has_leanback_launcher_category) {
+      printer.Print("leanback-launchable-activity:");
+      if (!name.empty()) {
+        printer.Print(StringPrintf(" name='%s' ", name.data()));
+      }
+      printer.Print(StringPrintf(" label='%s' icon='%s' banner='%s'\n",
+                                  android::ResTable::normalizeForOutput(label.data()).c_str(),
+                                  icon.data(), banner.data()));
+    }
+  }
+};
+
+/** Represents <intent-filter> elements. */
+class IntentFilter : public ManifestExtractor::Element {
+ public:
+  IntentFilter() = default;
+};
+
+/** Represents <category> elements. */
+class Category : public ManifestExtractor::Element {
+ public:
+  Category() = default;
+  std::string component = "";
+
+  void Extract(xml::Element* element) override {
+    const std::string* category = GetAttributeString(FindAttribute(element, NAME_ATTR));
+
+    auto parent_stack = extractor()->parent_stack();
+    if (category && ElementCast<IntentFilter>(parent_stack[0])
+        && ElementCast<Activity>(parent_stack[1])) {
+      Activity* activity = ElementCast<Activity>(parent_stack[1]);
+
+      if (*category == "android.intent.category.LAUNCHER") {
+        activity->has_launcher_category = true;
+      } else if (*category == "android.intent.category.LEANBACK_LAUNCHER") {
+        activity->has_leanback_launcher_category = true;
+      } else if (*category == "android.intent.category.HOME") {
+        component = "launcher";
+      }
+    }
+  }
+};
+
+/**
+ * Represents <provider> elements. The elements may have an <intent-filter> which may have <action>
+ * elements nested within.
+ **/
+class Provider : public ManifestExtractor::Element {
+ public:
+  Provider() = default;
+  bool has_required_saf_attributes = false;
+
+  void Extract(xml::Element* element) override {
+    const int32_t* exported = GetAttributeInteger(FindAttribute(element, EXPORTED_ATTR));
+    const int32_t* grant_uri_permissions = GetAttributeInteger(
+        FindAttribute(element, GRANT_URI_PERMISSIONS_ATTR));
+    const std::string* permission = GetAttributeString(
+        FindAttribute(element, PERMISSION_ATTR));
+
+    has_required_saf_attributes = ((exported && *exported != 0)
+        && (grant_uri_permissions && *grant_uri_permissions != 0)
+        && (permission && *permission == "android.permission.MANAGE_DOCUMENTS"));
+  }
+};
+
+/** Represents <receiver> elements. **/
+class Receiver : public ManifestExtractor::Element {
+ public:
+  Receiver() = default;
+  const std::string* permission = nullptr;
+  bool has_component = false;
+
+  void Extract(xml::Element* element) override {
+    permission = GetAttributeString(FindAttribute(element, PERMISSION_ATTR));
+  }
+};
+
+/**Represents <service> elements. **/
+class Service : public ManifestExtractor::Element {
+ public:
+  Service() = default;
+  const std::string* permission = nullptr;
+  bool has_component = false;
+
+  void Extract(xml::Element* element) override {
+    permission = GetAttributeString(FindAttribute(element, PERMISSION_ATTR));
+  }
+};
+
+/** Represents <uses-library> elements. **/
+class UsesLibrary : public ManifestExtractor::Element {
+ public:
+  UsesLibrary() = default;
+  std::string name;
+  int required;
+
+  void Extract(xml::Element* element) override {
+    auto parent_stack = extractor()->parent_stack();
+    if (parent_stack.size() > 0 && ElementCast<Application>(parent_stack[0])) {
+      name = GetAttributeStringDefault(FindAttribute(element, NAME_ATTR), "");
+      required = GetAttributeIntegerDefault(FindAttribute(element, REQUIRED_ATTR), 1);
+    }
+  }
+
+  void Print(text::Printer& printer) override {
+    if (!name.empty()) {
+      printer.Print(StringPrintf("uses-library%s:'%s'\n",
+                                 (required == 0) ? "-not-required" : "", name.data()));
+    }
+  }
+};
+
+/**
+ * Represents <meta-data> elements. These tags are only printed when a flag is passed in to
+ * explicitly enable meta data printing.
+ **/
+class MetaData : public ManifestExtractor::Element {
+ public:
+  MetaData() = default;
+  std::string name;
+  const std::string* value;
+  const int* value_int;
+  const std::string* resource;
+  const int* resource_int;
+
+  void Extract(xml::Element* element) override {
+    name = GetAttributeStringDefault(FindAttribute(element, NAME_ATTR), "");
+    value = GetAttributeString(FindAttribute(element, VALUE_ATTR));
+    value_int = GetAttributeInteger(FindAttribute(element, VALUE_ATTR));
+    resource = GetAttributeString(FindAttribute(element, RESOURCE_ATTR));
+    resource_int = GetAttributeInteger(FindAttribute(element, RESOURCE_ATTR));
+  }
+
+  void Print(text::Printer& printer) override {
+    if (extractor()->options_.include_meta_data && !name.empty()) {
+      printer.Print(StringPrintf("meta-data: name='%s' ", name.data()));
+      if (value) {
+        printer.Print(StringPrintf("value='%s' ", value->data()));
+      } else if (value_int) {
+        printer.Print(StringPrintf("value='%d' ", *value_int));
+      } else {
+        if (resource) {
+          printer.Print(StringPrintf("resource='%s' ", resource->data()));
+        } else if (resource_int) {
+          printer.Print(StringPrintf("resource='%d' ", *resource_int));
+        }
+      }
+      printer.Print("\n");
+    }
+  }
+};
+
+/**
+ * Represents <action> elements. Detects the presence of certain activity, provider, receiver, and
+ * service components.
+ **/
+class Action : public ManifestExtractor::Element {
+ public:
+  Action() = default;
+  std::string component = "";
+
+  void Extract(xml::Element* element) override {
+    auto parent_stack = extractor()->parent_stack();
+    std::string action = GetAttributeStringDefault(FindAttribute(element, NAME_ATTR), "");
+
+    if (ElementCast<IntentFilter>(parent_stack[0])) {
+      if (ElementCast<Activity>(parent_stack[1])) {
+        // Detects the presence of a particular type of activity.
+        Activity* activity = ElementCast<Activity>(parent_stack[1]);
+        auto map = std::map<std::string, std::string>({
+            { "android.intent.action.MAIN" , "main" },
+            { "android.intent.action.VIDEO_CAMERA" , "camera" },
+            { "android.intent.action.STILL_IMAGE_CAMERA_SECURE" , "camera-secure" },
+        });
+
+        auto entry = map.find(action);
+        if (entry != map.end()) {
+          component = entry->second;
+          activity->has_component_ = true;
+        }
+
+        if (action == "android.intent.action.MAIN") {
+          activity->has_main_action = true;
+        }
+
+      } else if (ElementCast<Receiver>(parent_stack[1])) {
+        // Detects the presence of a particular type of receiver. If the action requires a
+        // permission, then the receiver element is checked for the permission.
+        Receiver* receiver = ElementCast<Receiver>(parent_stack[1]);
+        auto map = std::map<std::string, std::string>({
+            { "android.appwidget.action.APPWIDGET_UPDATE" , "app-widget" },
+            { "android.app.action.DEVICE_ADMIN_ENABLED" , "device-admin" },
+        });
+
+        auto permissions = std::map<std::string, std::string>({
+            { "android.app.action.DEVICE_ADMIN_ENABLED" , "android.permission.BIND_DEVICE_ADMIN" },
+        });
+
+        auto entry = map.find(action);
+        auto permission = permissions.find(action);
+        if (entry != map.end() && (permission == permissions.end()
+            || (receiver->permission && permission->second == *receiver->permission))) {
+          receiver->has_component = true;
+          component = entry->second;
+        }
+
+      } else if (ElementCast<Service>(parent_stack[1])) {
+        // Detects the presence of a particular type of service. If the action requires a
+        // permission, then the service element is checked for the permission.
+        Service* service = ElementCast<Service>(parent_stack[1]);
+        auto map = std::map<std::string, std::string>({
+            { "android.view.InputMethod" , "ime" },
+            { "android.service.wallpaper.WallpaperService" , "wallpaper" },
+            { "android.accessibilityservice.AccessibilityService" , "accessibility" },
+            { "android.printservice.PrintService" , "print-service" },
+            { "android.nfc.cardemulation.action.HOST_APDU_SERVICE" , "host-apdu" },
+            { "android.nfc.cardemulation.action.OFF_HOST_APDU_SERVICE" , "offhost-apdu" },
+            { "android.service.notification.NotificationListenerService" ,"notification-listener" },
+            { "android.service.dreams.DreamService" , "dream" },
+        });
+
+        auto permissions = std::map<std::string, std::string>({
+            { "android.accessibilityservice.AccessibilityService" ,
+              "android.permission.BIND_ACCESSIBILITY_SERVICE" },
+            { "android.printservice.PrintService" , "android.permission.BIND_PRINT_SERVICE" },
+            { "android.nfc.cardemulation.action.HOST_APDU_SERVICE" ,
+              "android.permission.BIND_NFC_SERVICE" },
+            { "android.nfc.cardemulation.action.OFF_HOST_APDU_SERVICE" ,
+              "android.permission.BIND_NFC_SERVICE" },
+            { "android.service.notification.NotificationListenerService" ,
+              "android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" },
+            { "android.service.dreams.DreamService" , "android.permission.BIND_DREAM_SERVICE" },
+        });
+
+        auto entry = map.find(action);
+        auto permission = permissions.find(action);
+        if (entry != map.end() && (permission == permissions.end()
+            || (service->permission && permission->second == *service->permission))) {
+          service->has_component= true;
+          component = entry->second;
+        }
+
+      } else if (ElementCast<Provider>(parent_stack[1])) {
+        // Detects the presence of a particular type of receiver. If the provider requires a
+        // permission, then the provider element is checked for the permission.
+        // Detect whether this action
+        Provider* provider = ElementCast<Provider>(parent_stack[1]);
+        if (action == "android.content.action.DOCUMENTS_PROVIDER"
+            && provider->has_required_saf_attributes) {
+          component = "document-provider";
+        }
+      }
+    }
+
+    // Represents a searchable interface
+    if (action == "android.intent.action.SEARCH") {
+      component = "search";
+    }
+  }
+};
+
+/**
+ * Represents <supports-input> elements. The element may have <input-type> elements nested within.
+ **/
+class SupportsInput : public ManifestExtractor::Element {
+ public:
+  SupportsInput() = default;
+  std::vector<std::string> inputs;
+
+  void Print(text::Printer& printer) override {
+    const size_t size = inputs.size();
+    if (size > 0) {
+      printer.Print("supports-input: '");
+      for (size_t i = 0; i < size; i++) {
+        printer.Print(StringPrintf("value='%s' ", inputs[i].data()));
+      }
+      printer.Print("\n");
+    }
+  }
+};
+
+/** Represents <input-type> elements. **/
+class InputType : public ManifestExtractor::Element {
+ public:
+  InputType() = default;
+  void Extract(xml::Element* element) override {
+    auto name = GetAttributeString(FindAttribute(element, NAME_ATTR));
+    auto parent_stack = extractor()->parent_stack();
+
+    // Add the input to the set of supported inputs
+    if (name && ElementCast<SupportsInput>(parent_stack[0])) {
+      SupportsInput* supports = ElementCast<SupportsInput>(parent_stack[0]);
+      supports->inputs.push_back(*name);
+    }
+  }
+};
+
+/** Represents <original-package> elements. **/
+class OriginalPackage : public ManifestExtractor::Element {
+ public:
+  OriginalPackage() = default;
+  const std::string* name = nullptr;
+
+  void Extract(xml::Element* element) override {
+    name = GetAttributeString(FindAttribute(element, NAME_ATTR));
+  }
+
+  void Print(text::Printer& printer) override {
+    if (name) {
+      printer.Print(StringPrintf("original-package:'%s'\n", name->data()));
+    }
+  }
+};
+
+/** * Represents <package-verifier> elements. **/
+class PackageVerifier : public ManifestExtractor::Element {
+ public:
+  PackageVerifier() = default;
+  const std::string* name = nullptr;
+  const std::string* public_key = nullptr;
+
+  void Extract(xml::Element* element) override {
+    name = GetAttributeString(FindAttribute(element, NAME_ATTR));
+    public_key = GetAttributeString(FindAttribute(element, PUBLIC_KEY_ATTR));
+  }
+
+  void Print(text::Printer& printer) override {
+    if (name && public_key) {
+      printer.Print(StringPrintf("package-verifier: name='%s' publicKey='%s'\n",
+                                 name->data(), public_key->data()));
+    }
+  }
+};
+
+/** Represents <uses-package> elements. **/
+class UsesPackage : public ManifestExtractor::Element {
+ public:
+  UsesPackage() = default;
+  const std::string* name = nullptr;
+
+  void Extract(xml::Element* element) override {
+    name = GetAttributeString(FindAttribute(element, NAME_ATTR));
+  }
+
+  void Print(text::Printer& printer) override {
+    if (name) {
+      printer.Print(StringPrintf("uses-package:'%s'\n", name->data()));
+    }
+  }
+};
+
+/** Represents <screen> elements found in <compatible-screens> elements. */
+class Screen : public ManifestExtractor::Element {
+ public:
+  Screen() = default;
+  const int32_t* size = nullptr;
+  const int32_t* density = nullptr;
+
+  void Extract(xml::Element* element) override {
+    size = GetAttributeInteger(FindAttribute(element, SCREEN_SIZE_ATTR));
+    density = GetAttributeInteger(FindAttribute(element, SCREEN_DENSITY_ATTR));
+  }
+};
+
+/**
+ * Represents <compatible-screens> elements. These elements have <screen> elements nested within
+ * that each denote a supported screen size and screen density.
+ **/
+class CompatibleScreens : public ManifestExtractor::Element {
+ public:
+  CompatibleScreens() = default;
+  void Print(text::Printer& printer) override {
+    printer.Print("compatible-screens:");
+
+    bool first = true;
+    ForEachChild(this, [&printer, &first](ManifestExtractor::Element* el){
+      if (auto screen = ElementCast<Screen>(el)) {
+        if (first) {
+          first = false;
+        } else {
+          printer.Print(",");
+        }
+
+        if (screen->size && screen->density) {
+          printer.Print(StringPrintf("'%d/%d'", *screen->size, *screen->density));
+        }
+      }
+    });
+    printer.Print("\n");
+  }
+};
+
+/** Represents <supports-gl-texture> elements. **/
+class SupportsGlTexture : public ManifestExtractor::Element {
+ public:
+  SupportsGlTexture() = default;
+  const std::string* name = nullptr;
+
+  void Extract(xml::Element* element) override {
+    name = GetAttributeString(FindAttribute(element, NAME_ATTR));
+  }
+
+  void Print(text::Printer& printer) override {
+    if (name) {
+      printer.Print(StringPrintf("supports-gl-texture:'%s'\n", name->data()));
+    }
+  }
+};
+
+/** Recursively prints the extracted badging element. */
+static void Print(ManifestExtractor::Element* el, text::Printer& printer) {
+  el->Print(printer);
+  for (auto &child : el->children()) {
+    Print(child.get(), printer);
+  }
+}
+
+bool ManifestExtractor::Dump(text::Printer& printer, IDiagnostics* diag) {
+  // Load the manifest
+  std::unique_ptr<xml::XmlResource> doc = apk_->LoadXml("AndroidManifest.xml", diag);
+  if (doc == nullptr) {
+    diag->Error(DiagMessage() << "failed to find AndroidManifest.xml");
+    return false;
+  }
+
+  xml::Element* element = doc->root.get();
+  if (element->name != "manifest") {
+    diag->Error(DiagMessage() << "manifest does not start with <manifest> tag");
+    return false;
+  }
+
+  // Print only the <uses-permission>, <uses-permission-sdk23>, and <permission> elements if
+  // printing only permission elements is requested
+  if (options_.only_permissions) {
+    std::unique_ptr<ManifestExtractor::Element> manifest_element =
+        ManifestExtractor::Element::Inflate(this, element);
+
+    if (auto manifest = ElementCast<Manifest>(manifest_element.get())) {
+      for (xml::Element* child : element->GetChildElements()) {
+        if (child->name == "uses-permission" || child->name == "uses-permission-sdk-23"
+            || child->name == "permission") {
+          auto permission_element = ManifestExtractor::Element::Inflate(this, child);
+          manifest->AddChild(permission_element);
+        }
+      }
+
+      printer.Print(StringPrintf("package: %s\n", manifest->package.data()));
+      ForEachChild(manifest, [&printer](ManifestExtractor::Element* el) -> void {
+        el->Print(printer);
+      });
+
+      return true;
+    }
+
+    return false;
+  }
+
+  // Collect information about the resource configurations
+  if (apk_->GetResourceTable()) {
+    for (auto &package : apk_->GetResourceTable()->packages) {
+      for (auto &type : package->types) {
+        for (auto &entry : type->entries) {
+          for (auto &value : entry->values) {
+            std::string locale_str = value->config.GetBcp47LanguageTag();
+
+            // Collect all the unique locales of the apk
+            if (locales_.find(locale_str) == locales_.end()) {
+              ConfigDescription config = ManifestExtractor::DummyConfig();
+              config.setBcp47Locale(locale_str.data());
+              locales_.insert(std::make_pair(locale_str, config));
+            }
+
+            // Collect all the unique density of the apk
+            uint16_t density = (value->config.density == 0) ? (uint16_t) 160
+                                                            : value->config.density;
+            if (densities_.find(density) == densities_.end()) {
+              ConfigDescription config = ManifestExtractor::DummyConfig();
+              config.density = density;
+              densities_.insert(std::make_pair(density, config));
+            }
+          }
+        }
+      }
+    }
+  }
+
+  // Extract badging information
+  auto root = Visit(element);
+
+  // Print the elements in order seen
+  Print(root.get(), printer);
+
+  /** Recursively checks the extracted elements for the specified permission. **/
+  auto FindPermission = [&](ManifestExtractor::Element* root,
+                            const std::string& name) -> ManifestExtractor::Element* {
+    return FindElement(root, [&](ManifestExtractor::Element* el) -> bool {
+      if (UsesPermission* permission = ElementCast<UsesPermission>(el)) {
+        return permission->name == name;
+      }
+      return false;
+    });
+  };
+
+  auto PrintPermission = [&printer](const std::string& name, const std::string& reason,
+                                    int32_t max_sdk_version) -> void {
+    auto permission = util::make_unique<UsesPermission>();
+    permission->name = name;
+    permission->maxSdkVersion = max_sdk_version;
+    permission->Print(printer);
+    permission->PrintImplied(printer, reason);
+  };
+
+  // Implied permissions
+  // Pre-1.6 implicitly granted permission compatibility logic
+  CommonFeatureGroup* common_feature_group = GetCommonFeatureGroup();
+  bool insert_write_external = false;
+  auto write_external_permission = ElementCast<UsesPermission>(
+      FindPermission(root.get(), "android.permission.WRITE_EXTERNAL_STORAGE"));
+
+  if (target_sdk() < 4) {
+    if (!write_external_permission) {
+      PrintPermission("android.permission.WRITE_EXTERNAL_STORAGE", "targetSdkVersion < 4", -1);
+      insert_write_external = true;
+    }
+
+    if (!FindPermission(root.get(), "android.permission.READ_PHONE_STATE")) {
+      PrintPermission("android.permission.READ_PHONE_STATE", "targetSdkVersion < 4", -1);
+    }
+  }
+
+  // If the application has requested WRITE_EXTERNAL_STORAGE, we will
+  // force them to always take READ_EXTERNAL_STORAGE as well.  We always
+  // do this (regardless of target API version) because we can't have
+  // an app with write permission but not read permission.
+  auto read_external = FindPermission(root.get(), "android.permission.READ_EXTERNAL_STORAGE");
+  if (!read_external && (insert_write_external || write_external_permission)) {
+    PrintPermission("android.permission.READ_EXTERNAL_STORAGE",
+                    "requested WRITE_EXTERNAL_STORAGE",
+                    (write_external_permission) ? write_external_permission->maxSdkVersion : -1);
+  }
+
+  // Pre-JellyBean call log permission compatibility.
+  if (target_sdk() < 16) {
+    if (!FindPermission(root.get(), "android.permission.READ_CALL_LOG")
+        && FindPermission(root.get(), "android.permission.READ_CONTACTS")) {
+      PrintPermission("android.permission.READ_CALL_LOG",
+                      "targetSdkVersion < 16 and requested READ_CONTACTS", -1);
+    }
+
+    if (!FindPermission(root.get(), "android.permission.WRITE_CALL_LOG")
+        && FindPermission(root.get(), "android.permission.WRITE_CONTACTS")) {
+      PrintPermission("android.permission.WRITE_CALL_LOG",
+                      "targetSdkVersion < 16 and requested WRITE_CONTACTS", -1);
+    }
+  }
+
+  // If the app hasn't declared the touchscreen as a feature requirement (either
+  // directly or implied, required or not), then the faketouch feature is implied.
+  if (!common_feature_group->HasFeature("android.hardware.touchscreen")) {
+    common_feature_group->addImpliedFeature("android.hardware.faketouch",
+                                            "default feature for all apps", false);
+  }
+
+  // Only print the common feature group if no feature group is defined
+  std::vector<FeatureGroup*> feature_groups;
+  ForEachChild(root.get(), [&feature_groups](ManifestExtractor::Element* el) -> void {
+    if (auto feature_group = ElementCast<FeatureGroup>(el)) {
+      feature_groups.push_back(feature_group);
+    }
+  });
+
+  if (feature_groups.empty()) {
+    common_feature_group->PrintGroup(printer);
+  } else {
+    // Merge the common feature group into the feature group
+    for (auto& feature_group : feature_groups) {
+      feature_group->open_gles_version  = std::max(feature_group->open_gles_version,
+                                                   common_feature_group->open_gles_version);
+      feature_group->Merge(common_feature_group);
+      feature_group->PrintGroup(printer);
+    }
+  };
+
+  // Collect the component types of the application
+  std::set<std::string> components;
+  ForEachChild(root.get(), [&components](ManifestExtractor::Element* el) -> void {
+    if (ElementCast<Action>(el)) {
+      auto action = ElementCast<Action>(el);
+      if (!action->component.empty()) {
+        components.insert(action->component);
+        return;
+      }
+    }
+
+    if (ElementCast<Category>(el)) {
+      auto category = ElementCast<Category>(el);
+      if (!category->component.empty()) {
+        components.insert(category->component);
+        return;
+      }
+    }
+  });
+
+  // Check for the payment component
+  auto apk = apk_;
+  ForEachChild(root.get(), [&apk, &components, &diag](ManifestExtractor::Element* el) -> void {
+    if (auto service = ElementCast<Service>(el)) {
+      auto host_apdu_action = ElementCast<Action>(FindElement(service,
+        [&](ManifestExtractor::Element* el) -> bool {
+          if (auto action = ElementCast<Action>(el)) {
+            return (action->component == "host-apdu");
+          }
+          return false;
+      }));
+
+      auto offhost_apdu_action = ElementCast<Action>(FindElement(service,
+        [&](ManifestExtractor::Element* el) -> bool {
+           if (auto action = ElementCast<Action>(el)) {
+             return (action->component == "offhost-apdu");
+           }
+           return false;
+      }));
+
+      ForEachChild(service, [&apk, &components, &diag, &host_apdu_action,
+          &offhost_apdu_action](ManifestExtractor::Element* el) -> void {
+        if (auto meta_data = ElementCast<MetaData>(el)) {
+          if ((meta_data->name == "android.nfc.cardemulation.host_apdu_service" && host_apdu_action)
+              || (meta_data->name == "android.nfc.cardemulation.off_host_apdu_service"
+                  && offhost_apdu_action)) {
+
+            // Attempt to load the resource file
+            if (!meta_data->resource) {
+              return;
+            }
+            auto resource = apk->LoadXml(*meta_data->resource, diag);
+            if (!resource) {
+              return;
+            }
+
+            // Look for the payment category on an <aid-group> element
+            auto& root = resource.get()->root;
+            if ((host_apdu_action && root->name == "host-apdu-service")
+                || (offhost_apdu_action && root->name == "offhost-apdu-service")) {
+
+              for (auto& child : root->GetChildElements()) {
+                if (child->name == "aid-group") {
+                  auto category = FindAttribute(child, CATEGORY_ATTR);
+                  if (category && category->value == "payment") {
+                    components.insert("payment");
+                    return;
+                  }
+                }
+              }
+            }
+          }
+        }
+      });
+    }
+  });
+
+  // Print the components types if they are present
+  auto PrintComponent = [&components, &printer](const std::string& component) -> void {
+    if (components.find(component) != components.end()) {
+      printer.Print(StringPrintf("provides-component:'%s'\n", component.data()));
+    }
+  };
+
+  PrintComponent("app-widget");
+  PrintComponent("device-admin");
+  PrintComponent("ime");
+  PrintComponent("wallpaper");
+  PrintComponent("accessibility");
+  PrintComponent("print-service");
+  PrintComponent("payment");
+  PrintComponent("search");
+  PrintComponent("document-provider");
+  PrintComponent("launcher");
+  PrintComponent("notification-listener");
+  PrintComponent("dream");
+  PrintComponent("camera");
+  PrintComponent("camera-secure");
+
+  // Print presence of main activity
+  if (components.find("main") != components.end()) {
+    printer.Print("main\n");
+  }
+
+  // Print presence of activities, recivers, and services with no special components
+  FindElement(root.get(), [&printer](ManifestExtractor::Element* el) -> bool {
+    if (auto activity = ElementCast<Activity>(el)) {
+      if (!activity->has_component_) {
+        printer.Print("other-activities\n");
+        return true;
+      }
+    }
+    return false;
+  });
+
+  FindElement(root.get(), [&printer](ManifestExtractor::Element* el) -> bool {
+    if (auto receiver = ElementCast<Receiver>(el)) {
+      if (!receiver->has_component) {
+        printer.Print("other-receivers\n");
+        return true;
+      }
+    }
+    return false;
+  });
+
+  FindElement(root.get(), [&printer](ManifestExtractor::Element* el) -> bool {
+    if (auto service = ElementCast<Service>(el)) {
+      if (!service->has_component) {
+        printer.Print("other-services\n");
+        return true;
+      }
+    }
+    return false;
+  });
+
+  // Print the supported screens
+  SupportsScreen* screen = ElementCast<SupportsScreen>(FindElement(root.get(),
+      [&](ManifestExtractor::Element* el) -> bool {
+    return ElementCast<SupportsScreen>(el) != nullptr;
+  }));
+
+  if (screen) {
+    screen->PrintScreens(printer, target_sdk_);
+  } else {
+    // Print the default supported screens
+    SupportsScreen default_screens;
+    default_screens.PrintScreens(printer, target_sdk_);
+  }
+
+  // Print all the unique locales of the apk
+  printer.Print("locales:");
+  for (auto& config : locales_) {
+    if (config.first.empty()) {
+      printer.Print(" '--_--'");
+    } else {
+      printer.Print(StringPrintf(" '%s'", config.first.data()));
+    }
+  }
+  printer.Print("\n");
+
+  // Print all the densities locales of the apk
+  printer.Print("densities:");
+  for (auto& config : densities_) {
+    printer.Print(StringPrintf(" '%d'", config.first));
+  }
+  printer.Print("\n");
+
+  // Print the supported architectures of the app
+  std::set<std::string> architectures;
+  auto it = apk_->GetFileCollection()->Iterator();
+  while (it->HasNext()) {
+    auto file_path = it->Next()->GetSource().path;
+
+
+    size_t pos = file_path.find("lib/");
+    if (pos != std::string::npos) {
+      file_path = file_path.substr(pos + 4);
+      pos = file_path.find("/");
+      if (pos != std::string::npos) {
+        file_path = file_path.substr(0, pos);
+      }
+
+      architectures.insert(file_path);
+    }
+  }
+
+  // Determine if the application has multiArch supports
+  auto has_multi_arch = FindElement(root.get(), [&](ManifestExtractor::Element* el) -> bool {
+    if (auto application = ElementCast<Application>(el)) {
+      return application->has_multi_arch;
+    }
+    return false;
+  });
+
+  bool output_alt_native_code = false;
+  // A multiArch package is one that contains 64-bit and
+  // 32-bit versions of native code and expects 3rd-party
+  // apps to load these native code libraries. Since most
+  // 64-bit systems also support 32-bit apps, the apps
+  // loading this multiArch package's code may be either
+  if (has_multi_arch) {
+    // If this is a multiArch package, report the 64-bit
+    // version only. Then as a separate entry, report the
+    // rest.
+    //
+    // If we report the 32-bit architecture, this APK will
+    // be installed on a 32-bit device, causing a large waste
+    // of bandwidth and disk space. This assumes that
+    // the developer of the multiArch package has also
+    // made a version that is 32-bit only.
+    const std::string kIntel64 = "x86_64";
+    const std::string kArm64 = "arm64-v8a";
+
+    auto arch = architectures.find(kIntel64);
+    if (arch == architectures.end()) {
+      arch = architectures.find(kArm64);
+    }
+
+    if (arch != architectures.end()) {
+      printer.Print(StringPrintf("native-code: '%s'\n", arch->data()));
+      architectures.erase(arch);
+      output_alt_native_code = true;
+    }
+  }
+
+  if (architectures.size() > 0) {
+    if (output_alt_native_code) {
+      printer.Print("alt-");
+    }
+    printer.Print("native-code:");
+    for (auto& arch : architectures) {
+      printer.Print(StringPrintf(" '%s'", arch.data()));
+    }
+    printer.Print("\n");
+  }
+
+  return true;
+}
+
+/**
+ * Returns the element casted to the type if the element is of that type. Otherwise, returns a null
+ * pointer.
+ **/
+template<typename T>
+T* ElementCast(ManifestExtractor::Element* element) {
+  if (element == nullptr) {
+    return nullptr;
+  }
+
+  const std::unordered_map<std::string, bool> kTagCheck = {
+    {"action", std::is_base_of<Action, T>::value},
+    {"activity", std::is_base_of<Activity, T>::value},
+    {"application", std::is_base_of<Application, T>::value},
+    {"category", std::is_base_of<Category, T>::value},
+    {"compatible-screens", std::is_base_of<CompatibleScreens, T>::value},
+    {"feature-group", std::is_base_of<FeatureGroup, T>::value},
+    {"input-type", std::is_base_of<InputType, T>::value},
+    {"intent-filter", std::is_base_of<IntentFilter, T>::value},
+    {"meta-data", std::is_base_of<MetaData, T>::value},
+    {"manifest", std::is_base_of<Manifest, T>::value},
+    {"original-package", std::is_base_of<OriginalPackage, T>::value},
+    {"package-verifier", std::is_base_of<PackageVerifier, T>::value},
+    {"permission", std::is_base_of<Permission, T>::value},
+    {"provider", std::is_base_of<Provider, T>::value},
+    {"receiver", std::is_base_of<Receiver, T>::value},
+    {"screen", std::is_base_of<Screen, T>::value},
+    {"service", std::is_base_of<Service, T>::value},
+    {"supports-gl-texture", std::is_base_of<SupportsGlTexture, T>::value},
+    {"supports-input", std::is_base_of<SupportsInput, T>::value},
+    {"supports-screens", std::is_base_of<SupportsScreen, T>::value},
+    {"uses-configuration", std::is_base_of<UsesConfiguarion, T>::value},
+    {"uses-feature", std::is_base_of<UsesFeature, T>::value},
+    {"uses-permission", std::is_base_of<UsesPermission, T>::value},
+    {"uses-permission-sdk-23", std::is_base_of<UsesPermissionSdk23, T>::value},
+    {"uses-library", std::is_base_of<UsesLibrary, T>::value},
+    {"uses-package", std::is_base_of<UsesPackage, T>::value},
+    {"uses-sdk", std::is_base_of<UsesSdkBadging, T>::value},
+  };
+
+  auto check = kTagCheck.find(element->tag());
+  if (check != kTagCheck.end() && check->second) {
+    return static_cast<T*>(element);
+  }
+  return nullptr;
+}
+
+template<typename T>
+std::unique_ptr<T> CreateType() {
+  return std::move(util::make_unique<T>());
+}
+
+std::unique_ptr<ManifestExtractor::Element> ManifestExtractor::Element::Inflate(
+    ManifestExtractor* extractor, xml::Element* el) {
+  const std::unordered_map<std::string,
+                           std::function<std::unique_ptr<ManifestExtractor::Element>()>>
+      kTagCheck = {
+    {"action", &CreateType<Action>},
+    {"activity", &CreateType<Activity>},
+    {"application", &CreateType<Application>},
+    {"category", &CreateType<Category>},
+    {"compatible-screens", &CreateType<CompatibleScreens>},
+    {"feature-group", &CreateType<FeatureGroup>},
+    {"input-type", &CreateType<InputType>},
+    {"intent-filter",&CreateType<IntentFilter>},
+    {"manifest", &CreateType<Manifest>},
+    {"meta-data", &CreateType<MetaData>},
+    {"original-package", &CreateType<OriginalPackage>},
+    {"package-verifier", &CreateType<PackageVerifier>},
+    {"permission", &CreateType<Permission>},
+    {"provider", &CreateType<Provider>},
+    {"receiver", &CreateType<Receiver>},
+    {"screen", &CreateType<Screen>},
+    {"service", &CreateType<Service>},
+    {"supports-gl-texture", &CreateType<SupportsGlTexture>},
+    {"supports-input", &CreateType<SupportsInput>},
+    {"supports-screens", &CreateType<SupportsScreen>},
+    {"uses-configuration", &CreateType<UsesConfiguarion>},
+    {"uses-feature", &CreateType<UsesFeature>},
+    {"uses-permission", &CreateType<UsesPermission>},
+    {"uses-permission-sdk-23", &CreateType<UsesPermissionSdk23>},
+    {"uses-library", &CreateType<UsesLibrary>},
+    {"uses-package", &CreateType<UsesPackage>},
+    {"uses-sdk", &CreateType<UsesSdkBadging>},
+  };
+
+  // Attempt to map the xml tag to a element inflater
+  std::unique_ptr<ManifestExtractor::Element> element;
+  auto check = kTagCheck.find(el->name);
+  if (check != kTagCheck.end()) {
+    element = check->second();
+  } else {
+    element = util::make_unique<ManifestExtractor::Element>();
+  }
+
+  element->extractor_ = extractor;
+  element->tag_ = el->name;
+  element->Extract(el);
+  return element;
+}
+
+std::unique_ptr<ManifestExtractor::Element> ManifestExtractor::Visit(xml::Element* el) {
+  auto element = ManifestExtractor::Element::Inflate(this, el);
+  parent_stack_.insert(parent_stack_.begin(), element.get());
+
+  // Process the element and recursively visit the children
+  for (xml::Element* child : el->GetChildElements()) {
+    auto v = Visit(child);
+    element->AddChild(v);
+  }
+
+  parent_stack_.erase(parent_stack_.begin());
+  return element;
+}
+
+// Use a smaller buffer so that there is less latency for dumping to stdout.
+constexpr size_t kStdOutBufferSize = 1024u;
+
+int DumpBadgingCommand::Action(const std::vector<std::string>& args) {
+  if (args.size() < 1) {
+    diag_->Error(DiagMessage() << "No dump apk specified.");
+    return 1;
+  }
+
+  ManifestExtractor::Options options;
+  options.include_meta_data = include_metadata_;
+
+  io::FileOutputStream fout(STDOUT_FILENO, kStdOutBufferSize);
+  text::Printer printer(&fout);
+  for (auto apk : args) {
+    auto loaded_apk = LoadedApk::LoadApkFromPath(apk, diag_);
+    if (!loaded_apk) {
+      return 1;
+    }
+
+    ManifestExtractor extractor(loaded_apk.get(), options);
+    extractor.Dump(printer, diag_);
+  }
+
+  return 0;
+}
+
+int DumpPermissionsCommand::Action(const std::vector<std::string>& args) {
+  if (args.size() < 1) {
+    diag_->Error(DiagMessage() << "No dump apk specified.");
+    return 1;
+  }
+
+  ManifestExtractor::Options options;
+  options.only_permissions = true;
+
+  io::FileOutputStream fout(STDOUT_FILENO, kStdOutBufferSize);
+  text::Printer printer(&fout);
+  for (auto apk : args) {
+    auto loaded_apk = LoadedApk::LoadApkFromPath(apk, diag_);
+    if (!loaded_apk) {
+      return 1;
+    }
+
+    ManifestExtractor extractor(loaded_apk.get(), options);
+    extractor.Dump(printer, diag_);
+  }
+
+  return 0;
+}
+
+} // namespace aapt
\ No newline at end of file
diff --git a/tools/aapt2/dump/DumpManifest.h b/tools/aapt2/dump/DumpManifest.h
new file mode 100644
index 0000000..a70be53
--- /dev/null
+++ b/tools/aapt2/dump/DumpManifest.h
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+#ifndef AAPT2_DUMP_MANIFEST_H
+#define AAPT2_DUMP_MANIFEST_H
+
+#include <Diagnostics.h>
+#include <ValueVisitor.h>
+#include <io/ZipArchive.h>
+
+
+#include "cmd/Command.h"
+#include "process/IResourceTableConsumer.h"
+#include "text/Printer.h"
+#include "xml/XmlDom.h"
+
+namespace aapt {
+
+class DumpBadgingCommand : public Command {
+ public:
+  explicit DumpBadgingCommand(IDiagnostics* diag) : Command("badging"), diag_(diag) {
+    SetDescription("Print information extracted from the manifest of the APK.");
+    AddOptionalSwitch("--include-meta-data", "Include meta-data information.",
+                      &include_metadata_);
+  }
+
+  int Action(const std::vector<std::string>& args) override;
+
+ private:
+  IDiagnostics* diag_;
+  bool include_metadata_ = false;
+};
+
+class DumpPermissionsCommand : public Command {
+ public:
+  explicit DumpPermissionsCommand(IDiagnostics* diag) : Command("permissions"), diag_(diag) {
+    SetDescription("Print the permissions extracted from the manifest of the APK.");
+  }
+
+  int Action(const std::vector<std::string>& args) override;
+
+ private:
+  IDiagnostics* diag_;
+};
+
+}// namespace aapt
+
+#endif //AAPT2_DUMP_MANIFEST_H
\ No newline at end of file
diff --git a/tools/aapt2/io/FileStream_test.cpp b/tools/aapt2/io/FileStream_test.cpp
index c0eaa8e..7872738 100644
--- a/tools/aapt2/io/FileStream_test.cpp
+++ b/tools/aapt2/io/FileStream_test.cpp
@@ -41,46 +41,46 @@
   ASSERT_FALSE(in.HadError());
   EXPECT_THAT(in.ByteCount(), Eq(0u));
 
-  const char* buffer;
+  const void* buffer;
   size_t size;
-  ASSERT_TRUE(in.Next(reinterpret_cast<const void**>(&buffer), &size)) << in.GetError();
+  ASSERT_TRUE(in.Next(&buffer, &size)) << in.GetError();
   ASSERT_THAT(size, Eq(10u));
   ASSERT_THAT(buffer, NotNull());
   EXPECT_THAT(in.ByteCount(), Eq(10u));
-  EXPECT_THAT(StringPiece(buffer, size), Eq("this is a "));
+  EXPECT_THAT(StringPiece(reinterpret_cast<const char*>(buffer), size), Eq("this is a "));
 
-  ASSERT_TRUE(in.Next(reinterpret_cast<const void**>(&buffer), &size));
+  ASSERT_TRUE(in.Next(&buffer, &size));
   ASSERT_THAT(size, Eq(10u));
   ASSERT_THAT(buffer, NotNull());
   EXPECT_THAT(in.ByteCount(), Eq(20u));
-  EXPECT_THAT(StringPiece(buffer, size), Eq("cool strin"));
+  EXPECT_THAT(StringPiece(reinterpret_cast<const char*>(buffer), size), Eq("cool strin"));
 
   in.BackUp(5u);
   EXPECT_THAT(in.ByteCount(), Eq(15u));
 
-  ASSERT_TRUE(in.Next(reinterpret_cast<const void**>(&buffer), &size));
+  ASSERT_TRUE(in.Next(&buffer, &size));
   ASSERT_THAT(size, Eq(5u));
   ASSERT_THAT(buffer, NotNull());
   ASSERT_THAT(in.ByteCount(), Eq(20u));
-  EXPECT_THAT(StringPiece(buffer, size), Eq("strin"));
+  EXPECT_THAT(StringPiece(reinterpret_cast<const char*>(buffer), size), Eq("strin"));
 
   // Backup 1 more than possible. Should clamp.
   in.BackUp(11u);
   EXPECT_THAT(in.ByteCount(), Eq(10u));
 
-  ASSERT_TRUE(in.Next(reinterpret_cast<const void**>(&buffer), &size));
+  ASSERT_TRUE(in.Next(&buffer, &size));
   ASSERT_THAT(size, Eq(10u));
   ASSERT_THAT(buffer, NotNull());
   ASSERT_THAT(in.ByteCount(), Eq(20u));
-  EXPECT_THAT(StringPiece(buffer, size), Eq("cool strin"));
+  EXPECT_THAT(StringPiece(reinterpret_cast<const char*>(buffer), size), Eq("cool strin"));
 
-  ASSERT_TRUE(in.Next(reinterpret_cast<const void**>(&buffer), &size));
+  ASSERT_TRUE(in.Next(&buffer, &size));
   ASSERT_THAT(size, Eq(1u));
   ASSERT_THAT(buffer, NotNull());
   ASSERT_THAT(in.ByteCount(), Eq(21u));
-  EXPECT_THAT(StringPiece(buffer, size), Eq("g"));
+  EXPECT_THAT(StringPiece(reinterpret_cast<const char*>(buffer), size), Eq("g"));
 
-  EXPECT_FALSE(in.Next(reinterpret_cast<const void**>(&buffer), &size));
+  EXPECT_FALSE(in.Next(&buffer, &size));
   EXPECT_FALSE(in.HadError());
 }
 
@@ -93,25 +93,25 @@
   ASSERT_FALSE(out.HadError());
   EXPECT_THAT(out.ByteCount(), Eq(0u));
 
-  char* buffer;
+  void* buffer;
   size_t size;
-  ASSERT_TRUE(out.Next(reinterpret_cast<void**>(&buffer), &size));
+  ASSERT_TRUE(out.Next(&buffer, &size));
   ASSERT_THAT(size, Eq(10u));
   ASSERT_THAT(buffer, NotNull());
   EXPECT_THAT(out.ByteCount(), Eq(10u));
-  memcpy(buffer, input.c_str(), size);
+  memcpy(reinterpret_cast<char*>(buffer), input.c_str(), size);
 
-  ASSERT_TRUE(out.Next(reinterpret_cast<void**>(&buffer), &size));
+  ASSERT_TRUE(out.Next(&buffer, &size));
   ASSERT_THAT(size, Eq(10u));
   ASSERT_THAT(buffer, NotNull());
   EXPECT_THAT(out.ByteCount(), Eq(20u));
-  memcpy(buffer, input.c_str() + 10u, size);
+  memcpy(reinterpret_cast<char*>(buffer), input.c_str() + 10u, size);
 
-  ASSERT_TRUE(out.Next(reinterpret_cast<void**>(&buffer), &size));
+  ASSERT_TRUE(out.Next(&buffer, &size));
   ASSERT_THAT(size, Eq(10u));
   ASSERT_THAT(buffer, NotNull());
   EXPECT_THAT(out.ByteCount(), Eq(30u));
-  buffer[0] = input[20u];
+  reinterpret_cast<char*>(buffer)[0] = input[20u];
   out.BackUp(size - 1);
   EXPECT_THAT(out.ByteCount(), Eq(21u));
 
diff --git a/tools/aapt2/io/Util.h b/tools/aapt2/io/Util.h
index b07fb53..5f978a8 100644
--- a/tools/aapt2/io/Util.h
+++ b/tools/aapt2/io/Util.h
@@ -20,6 +20,7 @@
 #include <string>
 
 #include "google/protobuf/message_lite.h"
+#include "google/protobuf/io/coded_stream.h"
 
 #include "format/Archive.h"
 #include "io/File.h"
@@ -122,6 +123,23 @@
   io::InputStream* in_;
 };
 
+class ProtoInputStreamReader {
+ public:
+  explicit ProtoInputStreamReader(io::InputStream* in) : in_(in) { }
+
+  /** Deserializes a MessageLite proto from the current position in the input stream.*/
+  template <typename T> bool ReadMessage(T *message_lite) {
+    ZeroCopyInputAdaptor adapter(in_);
+    google::protobuf::io::CodedInputStream coded_stream(&adapter);
+    coded_stream.SetTotalBytesLimit(std::numeric_limits<int32_t>::max(),
+                                    coded_stream.BytesUntilTotalBytesLimit());
+    return message_lite->ParseFromCodedStream(&coded_stream);
+  }
+
+ private:
+  io::InputStream* in_;
+};
+
 }  // namespace io
 }  // namespace aapt
 
diff --git a/tools/aapt2/java/ManifestClassGenerator.cpp b/tools/aapt2/java/ManifestClassGenerator.cpp
index be67c9c..10e504e 100644
--- a/tools/aapt2/java/ManifestClassGenerator.cpp
+++ b/tools/aapt2/java/ManifestClassGenerator.cpp
@@ -26,21 +26,20 @@
 #include "util/Maybe.h"
 #include "xml/XmlDom.h"
 
-using ::android::StringPiece;
 using ::aapt::text::IsJavaIdentifier;
 
 namespace aapt {
 
-static Maybe<StringPiece> ExtractJavaIdentifier(IDiagnostics* diag, const Source& source,
+static Maybe<std::string> ExtractJavaIdentifier(IDiagnostics* diag, const Source& source,
                                                 const std::string& value) {
-  StringPiece result = value;
+  std::string result = value;
   size_t pos = value.rfind('.');
   if (pos != std::string::npos) {
     result = result.substr(pos + 1);
   }
 
   // Normalize only the java identifier, leave the original value unchanged.
-  if (result.contains("-")) {
+  if (result.find("-") != std::string::npos) {
     result = JavaClassGenerator::TransformToFieldName(result);
   }
 
@@ -64,7 +63,7 @@
     return false;
   }
 
-  Maybe<StringPiece> result =
+  Maybe<std::string> result =
       ExtractJavaIdentifier(diag, source.WithLine(el->line_number), attr->value);
   if (!result) {
     return false;
diff --git a/tools/aapt2/link/ManifestFixer.cpp b/tools/aapt2/link/ManifestFixer.cpp
index c5c78d9..fa6538d 100644
--- a/tools/aapt2/link/ManifestFixer.cpp
+++ b/tools/aapt2/link/ManifestFixer.cpp
@@ -252,6 +252,7 @@
   xml::XmlNodeAction component_action;
   component_action.Action(RequiredNameIsJavaClassName);
   component_action["intent-filter"] = intent_filter_action;
+  component_action["preferred"] = intent_filter_action;
   component_action["meta-data"] = meta_data_action;
 
   // Manifest actions.
@@ -414,6 +415,8 @@
   application_action["provider"]["grant-uri-permission"];
   application_action["provider"]["path-permission"];
 
+  manifest_action["package"] = manifest_action;
+
   return true;
 }
 
diff --git a/tools/aapt2/split/TableSplitter.cpp b/tools/aapt2/split/TableSplitter.cpp
index e991743..b5c33062 100644
--- a/tools/aapt2/split/TableSplitter.cpp
+++ b/tools/aapt2/split/TableSplitter.cpp
@@ -154,6 +154,12 @@
 bool TableSplitter::VerifySplitConstraints(IAaptContext* context) {
   bool error = false;
   for (size_t i = 0; i < split_constraints_.size(); i++) {
+    if (split_constraints_[i].configs.size() == 0) {
+      // For now, treat this as a warning. We may consider aborting processing.
+      context->GetDiagnostics()->Warn(DiagMessage()
+                                       << "no configurations for constraint '"
+                                       << split_constraints_[i].name << "'");
+    }
     for (size_t j = i + 1; j < split_constraints_.size(); j++) {
       for (const ConfigDescription& config : split_constraints_[i].configs) {
         if (split_constraints_[j].configs.find(config) != split_constraints_[j].configs.end()) {
diff --git a/tools/aapt2/split/TableSplitter.h b/tools/aapt2/split/TableSplitter.h
index 6aec257..ed24bc39 100644
--- a/tools/aapt2/split/TableSplitter.h
+++ b/tools/aapt2/split/TableSplitter.h
@@ -30,6 +30,7 @@
 
 struct SplitConstraints {
   std::set<ConfigDescription> configs;
+  std::string name;
 };
 
 struct TableSplitterOptions {
diff --git a/tools/aapt2/test/Builders.h b/tools/aapt2/test/Builders.h
index fd5262a..be6e510 100644
--- a/tools/aapt2/test/Builders.h
+++ b/tools/aapt2/test/Builders.h
@@ -204,6 +204,112 @@
   configuration::PostProcessingConfiguration config_;
 };
 
+class ConfigDescriptionBuilder {
+ public:
+  ConfigDescriptionBuilder() = default;
+
+  ConfigDescriptionBuilder& setMcc(uint16_t mcc) {
+    config_.mcc = mcc;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setMnc(uint16_t mnc) {
+    config_.mnc = mnc;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setLanguage(uint16_t language) {
+    config_.language[0] = language >> 8;
+    config_.language[1] = language & 0xff;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setCountry(uint16_t country) {
+    config_.country[0] = country >> 8;
+    config_.country[1] = country & 0xff;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setOrientation(uint8_t orientation) {
+    config_.orientation = orientation;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setTouchscreen(uint8_t touchscreen) {
+    config_.touchscreen = touchscreen;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setDensity(uint16_t density) {
+    config_.density = density;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setKeyboard(uint8_t keyboard) {
+    config_.keyboard = keyboard;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setNavigation(uint8_t navigation) {
+    config_.navigation = navigation;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setInputFlags(uint8_t inputFlags) {
+    config_.inputFlags = inputFlags;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setInputPad0(uint8_t inputPad0) {
+    config_.inputPad0 = inputPad0;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setScreenWidth(uint16_t screenWidth) {
+    config_.screenWidth = screenWidth;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setScreenHeight(uint16_t screenHeight) {
+    config_.screenHeight = screenHeight;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setSdkVersion(uint16_t sdkVersion) {
+    config_.sdkVersion = sdkVersion;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setMinorVersion(uint16_t minorVersion) {
+    config_.minorVersion = minorVersion;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setScreenLayout(uint8_t screenLayout) {
+    config_.screenLayout = screenLayout;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setUiMode(uint8_t uiMode) {
+    config_.uiMode = uiMode;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setSmallestScreenWidthDp(uint16_t smallestScreenWidthDp) {
+    config_.smallestScreenWidthDp = smallestScreenWidthDp;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setScreenWidthDp(uint16_t screenWidthDp) {
+    config_.screenWidthDp = screenWidthDp;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setScreenHeightDp(uint16_t screenHeightDp) {
+    config_.screenHeightDp = screenHeightDp;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setScreenLayout2(uint8_t screenLayout2) {
+    config_.screenLayout2 = screenLayout2;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setColorMode(uint8_t colorMode) {
+    config_.colorMode = colorMode;
+    return *this;
+  }
+  ConfigDescriptionBuilder& setScreenConfigPad2(uint16_t screenConfigPad2) {
+    config_.screenConfigPad2 = screenConfigPad2;
+    return *this;
+  }
+  ConfigDescription Build() {
+    return config_;
+  }
+
+ private:
+  ConfigDescription config_;
+};
+
 }  // namespace test
 }  // namespace aapt
 
diff --git a/tools/aapt2/util/BigBuffer.h b/tools/aapt2/util/BigBuffer.h
index 3045255..d4b3abc 100644
--- a/tools/aapt2/util/BigBuffer.h
+++ b/tools/aapt2/util/BigBuffer.h
@@ -68,7 +68,7 @@
    */
   explicit BigBuffer(size_t block_size);
 
-  BigBuffer(BigBuffer&& rhs);
+  BigBuffer(BigBuffer&& rhs) noexcept;
 
   /**
    * Number of occupied bytes in all the allocated blocks.
@@ -136,7 +136,7 @@
 inline BigBuffer::BigBuffer(size_t block_size)
     : block_size_(block_size), size_(0) {}
 
-inline BigBuffer::BigBuffer(BigBuffer&& rhs)
+inline BigBuffer::BigBuffer(BigBuffer&& rhs) noexcept
     : block_size_(rhs.block_size_),
       size_(rhs.size_),
       blocks_(std::move(rhs.blocks_)) {}
diff --git a/tools/aapt2/util/Files.cpp b/tools/aapt2/util/Files.cpp
index 7cd023b..73105e16 100644
--- a/tools/aapt2/util/Files.cpp
+++ b/tools/aapt2/util/Files.cpp
@@ -102,12 +102,25 @@
 #endif
 
 bool mkdirs(const std::string& path) {
-  constexpr const mode_t mode = S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP;
+  #ifdef _WIN32
+  // Start after the drive path if present. Calling mkdir with only the drive will cause an error.
+  size_t current_pos = 1u;
+  if (path.size() >= 3 && path[1] == ':' &&
+        (path[2] == '\\' || path[2] == '/')) {
+    current_pos = 3u;
+  }
+ #else
   // Start after the first character so that we don't consume the root '/'.
   // This is safe to do with unicode because '/' will never match with a continuation character.
   size_t current_pos = 1u;
+ #endif
+  constexpr const mode_t mode = S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP;
   while ((current_pos = path.find(sDirSep, current_pos)) != std::string::npos) {
     std::string parent_path = path.substr(0, current_pos);
+    if (parent_path.empty()) {
+      continue;
+    }
+
     int result = ::android::base::utf8::mkdir(parent_path.c_str(), mode);
     if (result < 0 && errno != EEXIST) {
       return false;
diff --git a/tools/aapt2/util/ImmutableMap.h b/tools/aapt2/util/ImmutableMap.h
index 59858e4..1727b18 100644
--- a/tools/aapt2/util/ImmutableMap.h
+++ b/tools/aapt2/util/ImmutableMap.h
@@ -32,8 +32,8 @@
   using const_iterator =
       typename std::vector<std::pair<TKey, TValue>>::const_iterator;
 
-  ImmutableMap(ImmutableMap&&) = default;
-  ImmutableMap& operator=(ImmutableMap&&) = default;
+  ImmutableMap(ImmutableMap&&) noexcept = default;
+  ImmutableMap& operator=(ImmutableMap&&) noexcept = default;
 
   static ImmutableMap<TKey, TValue> CreatePreSorted(
       std::initializer_list<std::pair<TKey, TValue>> list) {
diff --git a/tools/aapt2/util/Maybe.h b/tools/aapt2/util/Maybe.h
index 9a82418..031276c 100644
--- a/tools/aapt2/util/Maybe.h
+++ b/tools/aapt2/util/Maybe.h
@@ -46,7 +46,7 @@
   template <typename U>
   Maybe(const Maybe<U>& rhs);  // NOLINT(implicit)
 
-  Maybe(Maybe&& rhs);
+  Maybe(Maybe&& rhs) noexcept;
 
   template <typename U>
   Maybe(Maybe<U>&& rhs);  // NOLINT(implicit)
@@ -56,7 +56,7 @@
   template <typename U>
   Maybe& operator=(const Maybe<U>& rhs);
 
-  Maybe& operator=(Maybe&& rhs);
+  Maybe& operator=(Maybe&& rhs) noexcept;
 
   template <typename U>
   Maybe& operator=(Maybe<U>&& rhs);
@@ -134,7 +134,7 @@
 }
 
 template <typename T>
-Maybe<T>::Maybe(Maybe&& rhs) : nothing_(rhs.nothing_) {
+Maybe<T>::Maybe(Maybe&& rhs) noexcept : nothing_(rhs.nothing_) {
   if (!rhs.nothing_) {
     rhs.nothing_ = true;
 
@@ -192,7 +192,7 @@
 }
 
 template <typename T>
-inline Maybe<T>& Maybe<T>::operator=(Maybe&& rhs) {
+inline Maybe<T>& Maybe<T>::operator=(Maybe&& rhs) noexcept {
   // Delegate to the actual assignment.
   return move(std::forward<Maybe<T>>(rhs));
 }
diff --git a/tools/aapt2/util/Util.cpp b/tools/aapt2/util/Util.cpp
index 9bef54e5..59b7fff 100644
--- a/tools/aapt2/util/Util.cpp
+++ b/tools/aapt2/util/Util.cpp
@@ -322,11 +322,11 @@
   output.reserve(modified_size);
   for (size_t i = 0; i < size; i++) {
     if (((uint8_t) utf8[i] >> 4) == 0xF) {
-      auto codepoint = (char32_t) utf32_from_utf8_at(utf8.data(), size, i, nullptr);
+      int32_t codepoint = utf32_from_utf8_at(utf8.data(), size, i, nullptr);
 
       // Calculate the high and low surrogates as UTF-16 would
-      char32_t high = ((codepoint - 0x10000) / 0x400) + 0xD800;
-      char32_t low = ((codepoint - 0x10000) % 0x400) + 0xDC00;
+      int32_t high = ((codepoint - 0x10000) / 0x400) + 0xD800;
+      int32_t low = ((codepoint - 0x10000) % 0x400) + 0xDC00;
 
       // Encode each surrogate in UTF-8
       output.push_back((char) (0xE4 | ((high >> 12) & 0xF)));
@@ -344,6 +344,60 @@
   return output;
 }
 
+std::string ModifiedUtf8ToUtf8(const std::string& modified_utf8) {
+  // The UTF-8 representation will have a byte length less than or equal to the Modified UTF-8
+  // representation.
+  std::string output;
+  output.reserve(modified_utf8.size());
+
+  size_t index = 0;
+  const size_t modified_size = modified_utf8.size();
+  while (index < modified_size) {
+    size_t next_index;
+    int32_t high_surrogate = utf32_from_utf8_at(modified_utf8.data(), modified_size, index,
+                                                &next_index);
+    if (high_surrogate < 0) {
+      return {};
+    }
+
+    // Check that the first codepoint is within the high surrogate range
+    if (high_surrogate >= 0xD800 && high_surrogate <= 0xDB7F) {
+      int32_t low_surrogate = utf32_from_utf8_at(modified_utf8.data(), modified_size, next_index,
+                                                 &next_index);
+      if (low_surrogate < 0) {
+        return {};
+      }
+
+      // Check that the second codepoint is within the low surrogate range
+      if (low_surrogate >= 0xDC00 && low_surrogate <= 0xDFFF) {
+        const char32_t codepoint = (char32_t) (((high_surrogate - 0xD800) * 0x400)
+            + (low_surrogate - 0xDC00) + 0x10000);
+
+        // The decoded codepoint should represent a 4 byte, UTF-8 character
+        const size_t utf8_length = (size_t) utf32_to_utf8_length(&codepoint, 1);
+        if (utf8_length != 4) {
+          return {};
+        }
+
+        // Encode the UTF-8 representation of the codepoint into the string
+        char* start = &output[output.size()];
+        output.resize(output.size() + utf8_length);
+        utf32_to_utf8((char32_t*) &codepoint, 1, start, utf8_length + 1);
+
+        index = next_index;
+        continue;
+      }
+    }
+
+    // Append non-surrogate pairs to the output string
+    for (size_t i = index; i < next_index; i++) {
+      output.push_back(modified_utf8[i]);
+    }
+    index = next_index;
+  }
+  return output;
+}
+
 std::u16string Utf8ToUtf16(const StringPiece& utf8) {
   ssize_t utf16_length = utf8_to_utf16_length(
       reinterpret_cast<const uint8_t*>(utf8.data()), utf8.length());
@@ -469,7 +523,7 @@
   size_t len;
   const char* str = pool.string8At(idx, &len);
   if (str != nullptr) {
-    return std::string(str, len);
+    return ModifiedUtf8ToUtf8(std::string(str, len));
   }
   return Utf16ToUtf8(GetString16(pool, idx));
 }
diff --git a/tools/aapt2/util/Util.h b/tools/aapt2/util/Util.h
index 36b7333..c6e8e6e 100644
--- a/tools/aapt2/util/Util.h
+++ b/tools/aapt2/util/Util.h
@@ -199,6 +199,7 @@
 
 // Converts a UTF8 string into Modified UTF8
 std::string Utf8ToModifiedUtf8(const std::string& utf8);
+std::string ModifiedUtf8ToUtf8(const std::string& modified_utf8);
 
 // Converts a UTF8 string to a UTF16 string.
 std::u16string Utf8ToUtf16(const android::StringPiece& utf8);
diff --git a/tools/aosp/aosp_sha.sh b/tools/aosp/aosp_sha.sh
index 29bf74c..e50c70d 100755
--- a/tools/aosp/aosp_sha.sh
+++ b/tools/aosp/aosp_sha.sh
@@ -1,18 +1,24 @@
 #!/bin/bash
-LOCAL_DIR="$( dirname ${BASH_SOURCE} )"
+LOCAL_DIR="$( dirname "${BASH_SOURCE}" )"
 
-if git branch -vv | grep "^*" | grep "\[aosp/master" > /dev/null; then
+if git branch -vv | grep -q -P "^\*[^\[]+\[aosp/"; then
     # Change appears to be in AOSP
     exit 0
 else
     # Change appears to be non-AOSP; search for files
-    git show --name-only --pretty=format: $1 | grep $2 | while read file; do
-        echo
+    count=0
+    while read -r file ; do
+        if (( count == 0 )); then
+            echo
+        fi
         echo -e "\033[0;31mThe source of truth for '$file' is in AOSP.\033[0m"
+        (( count++ ))
+    done < <(git show --name-only --pretty=format: $1 | grep -- "$2")
+    if (( count != 0 )); then
         echo
-        echo "If your change contains no confidential details, please upload and merge"
-        echo "this change at https://android-review.googlesource.com/."
+        echo "If your change contains no confidential details (such as security fixes), please"
+        echo "upload and merge this change at https://android-review.googlesource.com/."
         echo
         exit 77
-    done
+    fi
 fi
diff --git a/tools/apilint/apilint.py b/tools/apilint/apilint.py
index 018e9c9..91cd1cb 100644
--- a/tools/apilint/apilint.py
+++ b/tools/apilint/apilint.py
@@ -492,6 +492,7 @@
 def verify_protected(clazz):
     """Verify that no protected methods or fields are allowed."""
     for m in clazz.methods:
+        if m.name == "finalize": continue
         if "protected" in m.split:
             error(clazz, m, "M7", "Protected methods not allowed; must be public")
     for f in clazz.fields:
@@ -697,8 +698,8 @@
         "android.provider",
         ["android.content","android.graphics.drawable"],
         "android.database",
-        "android.graphics",
         "android.text",
+        "android.graphics",
         "android.os",
         "android.util"
     ]
@@ -1025,6 +1026,10 @@
     # Resources defined by files are foo_bar_baz
     if clazz.name in ["anim","animator","color","dimen","drawable","interpolator","layout","transition","menu","mipmap","string","plurals","raw","xml"]:
         for f in clazz.fields:
+            if re.match("config_[a-z][a-zA-Z1-9]*$", f.name): continue
+            if f.name.startswith("config_"):
+                error(clazz, f, None, "Expected config name to be config_fooBarBaz style")
+
             if re.match("[a-z1-9_]+$", f.name): continue
             error(clazz, f, None, "Expected resource name in this class to be foo_bar_baz style")
 
@@ -1361,6 +1366,60 @@
             error(clazz, m, None, "Provide an explicit copy constructor instead of implementing clone()")
 
 
+def verify_pfd(clazz):
+    """Verify that android APIs use PFD over FD."""
+    examine = clazz.ctors + clazz.methods
+    for m in examine:
+        if m.typ == "java.io.FileDescriptor":
+            error(clazz, m, "FW11", "Must use ParcelFileDescriptor")
+        if m.typ == "int":
+            if "Fd" in m.name or "FD" in m.name or "FileDescriptor" in m.name:
+                error(clazz, m, "FW11", "Must use ParcelFileDescriptor")
+        for arg in m.args:
+            if arg == "java.io.FileDescriptor":
+                error(clazz, m, "FW11", "Must use ParcelFileDescriptor")
+
+    for f in clazz.fields:
+        if f.typ == "java.io.FileDescriptor":
+            error(clazz, f, "FW11", "Must use ParcelFileDescriptor")
+
+
+def verify_numbers(clazz):
+    """Discourage small numbers types like short and byte."""
+
+    discouraged = ["short","byte"]
+
+    for c in clazz.ctors:
+        for arg in c.args:
+            if arg in discouraged:
+                warn(clazz, c, "FW12", "Should avoid odd sized primitives; use int instead")
+
+    for f in clazz.fields:
+        if f.typ in discouraged:
+            warn(clazz, f, "FW12", "Should avoid odd sized primitives; use int instead")
+
+    for m in clazz.methods:
+        if m.typ in discouraged:
+            warn(clazz, m, "FW12", "Should avoid odd sized primitives; use int instead")
+        for arg in m.args:
+            if arg in discouraged:
+                warn(clazz, m, "FW12", "Should avoid odd sized primitives; use int instead")
+
+
+def verify_singleton(clazz):
+    """Catch singleton objects with constructors."""
+
+    singleton = False
+    for m in clazz.methods:
+        if m.name.startswith("get") and m.name.endswith("Instance") and " static " in m.raw:
+            singleton = True
+
+    if singleton:
+        for c in clazz.ctors:
+            error(clazz, c, None, "Singleton classes should use getInstance() methods")
+
+
+
 def is_interesting(clazz):
     """Test if given class is interesting from an Android PoV."""
 
@@ -1431,6 +1490,9 @@
     verify_tense(clazz)
     verify_icu(clazz)
     verify_clone(clazz)
+    verify_pfd(clazz)
+    verify_numbers(clazz)
+    verify_singleton(clazz)
 
 
 def examine_stream(stream):
diff --git a/tools/fonts/add_additional_fonts.py b/tools/fonts/add_additional_fonts.py
deleted file mode 100644
index bf4af2b..0000000
--- a/tools/fonts/add_additional_fonts.py
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright (C) 2017 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.
-#
-
-import sys
-
-def main(argv):
-    original_file = 'frameworks/base/data/fonts/fonts.xml'
-
-    if len(argv) == 3:
-        output_file_path = argv[1]
-        override_file_path = argv[2]
-    else:
-        raise ValueError("Wrong number of arguments %s" % len(argv))
-
-    fallbackPlaceholderFound = False
-    with open(original_file, 'r') as input_file:
-        with open(output_file_path, 'w') as output_file:
-            for line in input_file:
-                # If we've found the spot to add additional fonts, add them.
-                if line.strip() == '<!-- fallback fonts -->':
-                    fallbackPlaceholderFound = True
-                    with open(override_file_path) as override_file:
-                        for override_line in override_file:
-                            output_file.write(override_line)
-                output_file.write(line)
-    if not fallbackPlaceholderFound:
-        raise ValueError('<!-- fallback fonts --> not found in source file: %s' % original_file)
-
-if __name__ == '__main__':
-    main(sys.argv)
diff --git a/tools/hiddenapi/generate_hiddenapi_lists.py b/tools/hiddenapi/generate_hiddenapi_lists.py
index c5fcb63..fdc800b 100755
--- a/tools/hiddenapi/generate_hiddenapi_lists.py
+++ b/tools/hiddenapi/generate_hiddenapi_lists.py
@@ -45,12 +45,9 @@
         '--input-whitelists', nargs='*',
         help='Lists of members to force on whitelist')
     parser.add_argument(
-        '--input-light-greylists', nargs='*',
+        '--input-greylists', nargs='*',
         help='Lists of members to force on light greylist')
     parser.add_argument(
-        '--input-dark-greylists', nargs='*',
-        help='Lists of members to force on dark greylist')
-    parser.add_argument(
         '--input-blacklists', nargs='*',
         help='Lists of members to force on blacklist')
     parser.add_argument('--output-whitelist', required=True)
@@ -83,31 +80,61 @@
     with open(filename, 'w') as f:
         f.writelines(lines)
 
-def move_between_sets(subset, src, dst, source = "<unknown>", ignoreMissing = False):
+def move_between_sets(subset, src, dst, source = "<unknown>"):
     """Removes a subset of elements from one set and add it to another.
 
     Args:
         subset (set): The subset of `src` to be moved from `src` to `dst`.
         src (set): Source set. Must be a superset of `subset`.
         dst (set): Destination set. Must be disjoint with `subset`.
-        source (string): Name of the data source.
-        ignoreMissing (bool): If true, do not check whether `src` is a superset of `subset`.
     """
-    if ignoreMissing:
-        # Some entries in `subset` may not be in `src`. Remove such entries first.
-        subset.intersection_update(src)
-    else:
-        assert src.issuperset(subset), (
-            "Error processing: {}\n"
-            "The following entries were not found:\n"
-            "{}"
-            "Please visit go/hiddenapi for more information.").format(
-                source, "".join(map(lambda x: "  " + str(x), subset.difference(src))))
-        assert dst.isdisjoint(subset)
+    assert src.issuperset(subset), (
+        "Error processing: {}\n"
+        "The following entries were not found:\n"
+        "{}"
+        "Please visit go/hiddenapi for more information.").format(
+            source, "".join(map(lambda x: "  " + str(x), subset.difference(src))))
+    assert dst.isdisjoint(subset)
     # Order matters if `src` and `subset` are the same object.
     dst.update(subset)
     src.difference_update(subset)
 
+def get_package_name(signature):
+    """Returns the package name prefix of a class member signature.
+
+    Example: "Ljava/lang/String;->hashCode()J" --> "Ljava/lang/"
+
+    Args:
+        signature (string): Member signature
+
+    Returns
+        string: Package name of the given member
+    """
+    class_name_end = signature.find("->")
+    assert class_name_end != -1, "Invalid signature: {}".format(signature)
+    package_name_end = signature.rfind("/", 0, class_name_end)
+    assert package_name_end != -1, "Invalid signature: {}".format(signature)
+    return signature[:package_name_end + 1]
+
+def all_package_names(*args):
+    """Returns a set of packages names in given lists of member signatures.
+
+    Example: args = [ set([ "Lpkg1/ClassA;->foo()V", "Lpkg2/ClassB;->bar()J" ]),
+                      set([ "Lpkg1/ClassC;->baz()Z" ]) ]
+             return value = set([ "Lpkg1/", "Lpkg2" ])
+
+    Args:
+        *args (list): List of sets to iterate over and extract the package names
+                      of its elements (member signatures)
+
+    Returns:
+        set: All package names extracted from the given lists of signatures.
+    """
+    packages = set()
+    for arg in args:
+        packages = packages.union(map(get_package_name, arg))
+    return packages
+
 def move_all(src, dst):
     """Moves all elements of one set to another.
 
@@ -117,7 +144,7 @@
     """
     move_between_sets(src, src, dst)
 
-def move_from_files(filenames, src, dst, ignoreMissing = False):
+def move_from_files(filenames, src, dst):
     """Loads member signatures from a list of files and moves them to a given set.
 
     Opens files in `filenames`, reads all their lines and moves those from `src`
@@ -130,7 +157,7 @@
     """
     if filenames:
         for filename in filenames:
-            move_between_sets(set(read_lines(filename)), src, dst, filename, ignoreMissing)
+            move_between_sets(set(read_lines(filename)), src, dst, filename)
 
 def move_serialization(src, dst):
     """Moves all members matching serialization API signatures between given sets.
@@ -152,6 +179,17 @@
     regex = re.compile(r'.*->(' + '|'.join(serialization_patterns) + r')$')
     move_between_sets(filter(lambda api: regex.match(api), src), src, dst)
 
+def move_from_packages(packages, src, dst):
+    """Moves all members of given package names from one set to another.
+
+    Args:
+        packages (list): List of string package names.
+        src (set): Set that will be searched for API matching one of the given
+                   package names. Surch API will be removed from the set.
+        dst (set): Set that matching API will be moved to.
+    """
+    move_between_sets(filter(lambda api: get_package_name(api) in packages, src), src, dst)
+
 def main(argv):
     args = get_args()
 
@@ -171,15 +209,17 @@
 
     # Read all files which manually assign members to specific lists.
     move_from_files(args.input_whitelists, uncategorized, whitelist)
-    move_from_files(args.input_light_greylists, uncategorized, light_greylist)
+    move_from_files(args.input_greylists, uncategorized, light_greylist)
     move_from_files(args.input_blacklists, uncategorized, blacklist)
 
-    # Iterate over all uncategorized members and move serialization API to light greylist.
-    move_serialization(uncategorized, light_greylist)
+    # Iterate over all uncategorized members and move serialization API to whitelist.
+    move_serialization(uncategorized, whitelist)
 
-    # Read dark greylist inputs and move all entries to dark greylist.
-    # Note that the input is the list from P, so we will ignore missing entries.
-    move_from_files(args.input_dark_greylists, uncategorized, dark_greylist, ignoreMissing=True)
+    # Extract package names of members from whitelist and light greylist, which
+    # are assumed to have been finalized at this point. Assign all uncategorized
+    # members from the same packages to the dark greylist.
+    dark_greylist_packages = all_package_names(whitelist, light_greylist)
+    move_from_packages(dark_greylist_packages, uncategorized, dark_greylist)
 
     # Assign all uncategorized members to the blacklist.
     move_all(uncategorized, blacklist)
diff --git a/tools/hiddenapi/generate_hiddenapi_lists_test.py b/tools/hiddenapi/generate_hiddenapi_lists_test.py
index 26f890c..4716241 100755
--- a/tools/hiddenapi/generate_hiddenapi_lists_test.py
+++ b/tools/hiddenapi/generate_hiddenapi_lists_test.py
@@ -38,6 +38,33 @@
         with self.assertRaises(AssertionError) as ar:
             move_between_sets(set([1, 4]), A, B)
 
+    def test_get_package_name(self):
+        self.assertEqual(get_package_name("Ljava/lang/String;->clone()V"), "Ljava/lang/")
+
+    def test_get_package_name_fail_no_arrow(self):
+        with self.assertRaises(AssertionError) as ar:
+            get_package_name("Ljava/lang/String;-clone()V")
+        with self.assertRaises(AssertionError) as ar:
+            get_package_name("Ljava/lang/String;>clone()V")
+        with self.assertRaises(AssertionError) as ar:
+            get_package_name("Ljava/lang/String;__clone()V")
+
+    def test_get_package_name_fail_no_package(self):
+        with self.assertRaises(AssertionError) as ar:
+            get_package_name("LString;->clone()V")
+
+    def test_all_package_names(self):
+        self.assertEqual(all_package_names(), set())
+        self.assertEqual(all_package_names(set(["Lfoo/Bar;->baz()V"])), set(["Lfoo/"]))
+        self.assertEqual(
+            all_package_names(set(["Lfoo/Bar;->baz()V", "Lfoo/BarX;->bazx()I"])),
+            set(["Lfoo/"]))
+        self.assertEqual(
+            all_package_names(
+                set(["Lfoo/Bar;->baz()V"]),
+                set(["Lfoo/BarX;->bazx()I", "Labc/xyz/Mno;->ijk()J"])),
+            set(["Lfoo/", "Labc/xyz/"]))
+
     def test_move_all(self):
         src = set([ "abc", "xyz" ])
         dst = set([ "def" ])
@@ -45,5 +72,36 @@
         self.assertEqual(src, set())
         self.assertEqual(dst, set([ "abc", "def", "xyz" ]))
 
+    def test_move_from_packages(self):
+        src = set([ "Lfoo/bar/ClassA;->abc()J",        # will be moved
+                    "Lfoo/bar/ClassA;->def()J",        # will be moved
+                    "Lcom/pkg/example/ClassD;->ijk:J", # not moved: different package
+                    "Lfoo/bar/xyz/ClassC;->xyz()Z" ])  # not moved: subpackage
+        dst = set()
+        packages = set([ "Lfoo/bar/" ])
+        move_from_packages(packages, src, dst)
+        self.assertEqual(
+            src, set([ "Lfoo/bar/xyz/ClassC;->xyz()Z", "Lcom/pkg/example/ClassD;->ijk:J" ]))
+        self.assertEqual(
+            dst, set([ "Lfoo/bar/ClassA;->abc()J", "Lfoo/bar/ClassA;->def()J" ]))
+
+    def test_move_serialization(self):
+        # All the entries should be moved apart from the last one
+        src = set([ "Lfoo/bar/ClassA;->readObject(Ljava/io/ObjectInputStream;)V",
+                    "Lfoo/bar/ClassA;->readObjectNoData()V",
+                    "Lfoo/bar/ClassA;->readResolve()Ljava/lang/Object;",
+                    "Lfoo/bar/ClassA;->serialVersionUID:J",
+                    "Lfoo/bar/ClassA;->serialPersistentFields:[Ljava/io/ObjectStreamField;",
+                    "Lfoo/bar/ClassA;->writeObject(Ljava/io/ObjectOutputStream;)V",
+                    "Lfoo/bar/ClassA;->writeReplace()Ljava/lang/Object;",
+                    # Should not be moved as signature does not match
+                    "Lfoo/bar/ClassA;->readObject(Ljava/io/ObjectInputStream;)I"])
+        expectedToMove = len(src) - 1
+        dst = set()
+        packages = set([ "Lfoo/bar/" ])
+        move_serialization(src, dst)
+        self.assertEqual(len(src), 1)
+        self.assertEqual(len(dst), expectedToMove)
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/tools/hiddenapi/sort_api.sh b/tools/hiddenapi/sort_api.sh
index bdcc807..76a2f2d 100755
--- a/tools/hiddenapi/sort_api.sh
+++ b/tools/hiddenapi/sort_api.sh
@@ -12,8 +12,8 @@
 # Sort
 IFS=$'\n'
 # Stash away comments
-C=( $(grep -E '^#' <<< "${A[*]}") )
-A=( $(grep -v -E '^#' <<< "${A[*]}") )
+C=( $(grep -E '^#' <<< "${A[*]}" || :) )
+A=( $(grep -v -E '^#' <<< "${A[*]}" || :) )
 # Sort entries
 A=( $(LC_COLLATE=C sort -f <<< "${A[*]}") )
 A=( $(uniq <<< "${A[*]}") )
diff --git a/tools/incident_section_gen/main.cpp b/tools/incident_section_gen/main.cpp
index 639f980..0cf1046 100644
--- a/tools/incident_section_gen/main.cpp
+++ b/tools/incident_section_gen/main.cpp
@@ -138,7 +138,7 @@
     size_t base = 0;
     size_t found;
     while (true) {
-        found = args.find_first_of(" ", base);
+        found = args.find_first_of(' ', base);
         if (found != base) {
             string arg = args.substr(base, found - base);
             printf(" \"%s\",", arg.c_str());
diff --git a/tools/stats_log_api_gen/Collation.cpp b/tools/stats_log_api_gen/Collation.cpp
index f294728..4245700 100644
--- a/tools/stats_log_api_gen/Collation.cpp
+++ b/tools/stats_log_api_gen/Collation.cpp
@@ -195,9 +195,11 @@
       print_error(field, "Unkown type for field: %s\n", field->name().c_str());
       errorCount++;
       continue;
-    } else if (javaType == JAVA_TYPE_OBJECT) {
+    } else if (javaType == JAVA_TYPE_OBJECT &&
+               atomDecl->code < PULL_ATOM_START_ID) {
       // Allow attribution chain, but only at position 1.
-      print_error(field, "Message type not allowed for field: %s\n",
+      print_error(field,
+                  "Message type not allowed for field in pushed atoms: %s\n",
                   field->name().c_str());
       errorCount++;
       continue;
@@ -233,12 +235,19 @@
     java_type_t javaType = java_type(field);
 
     AtomField atField(field->name(), javaType);
+    // Generate signature for pushed atoms
+    if (atomDecl->code < PULL_ATOM_START_ID) {
+      if (javaType == JAVA_TYPE_ENUM) {
+        // All enums are treated as ints when it comes to function signatures.
+        signature->push_back(JAVA_TYPE_INT);
+        collate_enums(*field->enum_type(), &atField);
+      } else {
+        signature->push_back(javaType);
+      }
+    }
     if (javaType == JAVA_TYPE_ENUM) {
       // All enums are treated as ints when it comes to function signatures.
-      signature->push_back(JAVA_TYPE_INT);
       collate_enums(*field->enum_type(), &atField);
-    } else {
-      signature->push_back(javaType);
     }
     atomDecl->fields.push_back(atField);
 
diff --git a/tools/stats_log_api_gen/Collation.h b/tools/stats_log_api_gen/Collation.h
index ccdd145..31b8b07 100644
--- a/tools/stats_log_api_gen/Collation.h
+++ b/tools/stats_log_api_gen/Collation.h
@@ -34,6 +34,8 @@
 using google::protobuf::Descriptor;
 using google::protobuf::FieldDescriptor;
 
+const int PULL_ATOM_START_ID = 10000;
+
 /**
  * The types for atom parameters.
  */
diff --git a/tools/stats_log_api_gen/main.cpp b/tools/stats_log_api_gen/main.cpp
index 83a6631..56c8428 100644
--- a/tools/stats_log_api_gen/main.cpp
+++ b/tools/stats_log_api_gen/main.cpp
@@ -18,8 +18,6 @@
 namespace android {
 namespace stats_log_api_gen {
 
-const int PULL_ATOM_START_ID = 1000;
-
 int maxPushedAtomId = 2;
 
 using android::os::statsd::Atom;
@@ -236,9 +234,11 @@
                     }
                 }
             } else if (*arg == JAVA_TYPE_KEY_VALUE_PAIR) {
-                fprintf(out, ", const std::map<int, int64_t>& arg%d_1, "
-                             "const std::map<int, char const*>& arg%d_2, "
-                             "const std::map<int, float>& arg%d_3", argIndex, argIndex, argIndex);
+                fprintf(out, ", const std::map<int, int32_t>& arg%d_1, "
+                             "const std::map<int, int64_t>& arg%d_2, "
+                             "const std::map<int, char const*>& arg%d_3, "
+                             "const std::map<int, float>& arg%d_4",
+                             argIndex, argIndex, argIndex, argIndex);
             } else {
                 fprintf(out, ", %s arg%d", cpp_type_name(*arg), argIndex);
             }
@@ -304,6 +304,13 @@
                     fprintf(out, "         event.end();\n");
                     fprintf(out, "    }\n");
 
+                    fprintf(out, "    for (const auto& it : arg%d_4) {\n", argIndex);
+                    fprintf(out, "         event.begin();\n");
+                    fprintf(out, "         event << it.first;\n");
+                    fprintf(out, "         event << it.second;\n");
+                    fprintf(out, "         event.end();\n");
+                    fprintf(out, "    }\n");
+
                     fprintf(out, "    event.end();\n\n");
             } else {
                 if (*arg == JAVA_TYPE_STRING) {
@@ -346,9 +353,11 @@
                    }
                }
            } else if (*arg == JAVA_TYPE_KEY_VALUE_PAIR) {
-                fprintf(out, ", const std::map<int, int64_t>& arg%d_1, "
-                             "const std::map<int, char const*>& arg%d_2, "
-                             "const std::map<int, float>& arg%d_3", argIndex, argIndex, argIndex);
+                fprintf(out, ", const std::map<int, int32_t>& arg%d_1, "
+                             "const std::map<int, int64_t>& arg%d_2, "
+                             "const std::map<int, char const*>& arg%d_3, "
+                             "const std::map<int, float>& arg%d_4",
+                             argIndex, argIndex, argIndex, argIndex);
            } else {
                fprintf(out, ", %s arg%d", cpp_type_name(*arg), argIndex);
            }
@@ -376,7 +385,8 @@
                    }
                }
            } else  if (*arg == JAVA_TYPE_KEY_VALUE_PAIR) {
-                fprintf(out, ", arg%d_1, arg%d_2, arg%d_3", argIndex, argIndex, argIndex);
+                fprintf(out, ", arg%d_1, arg%d_2, arg%d_3, arg%d_4",
+                        argIndex, argIndex, argIndex, argIndex);
            } else {
                fprintf(out, ", arg%d", argIndex);
            }
@@ -531,10 +541,14 @@
                 }
             }
         } else if (field->javaType == JAVA_TYPE_KEY_VALUE_PAIR) {
-            fprintf(out, ", const std::map<int, int64_t>& %s_int"
+            fprintf(out, ", const std::map<int, int32_t>& %s_int"
+                         ", const std::map<int, int64_t>& %s_long"
                          ", const std::map<int, char const*>& %s_str"
                          ", const std::map<int, float>& %s_float",
-                         field->name.c_str(), field->name.c_str(), field->name.c_str());
+                         field->name.c_str(),
+                         field->name.c_str(),
+                         field->name.c_str(),
+                         field->name.c_str());
         } else {
             fprintf(out, ", %s %s", cpp_type_name(field->javaType), field->name.c_str());
         }
@@ -563,9 +577,11 @@
                     }
                 }
             } else if (*arg == JAVA_TYPE_KEY_VALUE_PAIR) {
-                fprintf(out, ", const std::map<int, int64_t>& arg%d_1, "
-                             "const std::map<int, char const*>& arg%d_2, "
-                             "const std::map<int, float>& arg%d_3", argIndex, argIndex, argIndex);
+                fprintf(out, ", const std::map<int, int32_t>& arg%d_1, "
+                             "const std::map<int, int64_t>& arg%d_2, "
+                             "const std::map<int, char const*>& arg%d_3, "
+                             "const std::map<int, float>& arg%d_4",
+                             argIndex, argIndex, argIndex, argIndex);
             } else {
                 fprintf(out, ", %s arg%d", cpp_type_name(*arg), argIndex);
             }
@@ -978,6 +994,7 @@
 }
 
 static void write_key_value_map_jni(FILE* out) {
+   fprintf(out, "    std::map<int, int32_t> int32_t_map;\n");
    fprintf(out, "    std::map<int, int64_t> int64_t_map;\n");
    fprintf(out, "    std::map<int, float> float_map;\n");
    fprintf(out, "    std::map<int, char const*> string_map;\n\n");
@@ -991,9 +1008,11 @@
 
    fprintf(out, "    std::vector<std::unique_ptr<ScopedUtfChars>> scoped_ufs;\n\n");
 
+   fprintf(out, "    jclass jint_class = env->FindClass(\"java/lang/Integer\");\n");
    fprintf(out, "    jclass jlong_class = env->FindClass(\"java/lang/Long\");\n");
    fprintf(out, "    jclass jfloat_class = env->FindClass(\"java/lang/Float\");\n");
    fprintf(out, "    jclass jstring_class = env->FindClass(\"java/lang/String\");\n");
+   fprintf(out, "    jmethodID jget_int_method = env->GetMethodID(jint_class, \"intValue\", \"()I\");\n");
    fprintf(out, "    jmethodID jget_long_method = env->GetMethodID(jlong_class, \"longValue\", \"()J\");\n");
    fprintf(out, "    jmethodID jget_float_method = env->GetMethodID(jfloat_class, \"floatValue\", \"()F\");\n\n");
 
@@ -1002,7 +1021,9 @@
    fprintf(out, "        jint key = env->CallIntMethod(value_map, jget_key_method, i);\n");
    fprintf(out, "        jobject jvalue_obj = env->CallObjectMethod(value_map, jget_value_method, i);\n");
    fprintf(out, "        if (jvalue_obj == NULL) { continue; }\n");
-   fprintf(out, "        if (env->IsInstanceOf(jvalue_obj, jlong_class)) {\n");
+   fprintf(out, "        if (env->IsInstanceOf(jvalue_obj, jint_class)) {\n");
+   fprintf(out, "            int32_t_map[key] = env->CallIntMethod(jvalue_obj, jget_int_method);\n");
+   fprintf(out, "        } else if (env->IsInstanceOf(jvalue_obj, jlong_class)) {\n");
    fprintf(out, "            int64_t_map[key] = env->CallLongMethod(jvalue_obj, jget_long_method);\n");
    fprintf(out, "        } else if (env->IsInstanceOf(jvalue_obj, jfloat_class)) {\n");
    fprintf(out, "            float_map[key] = env->CallFloatMethod(jvalue_obj, jget_float_method);\n");
@@ -1131,7 +1152,7 @@
                     }
                 }
             } else if (*arg == JAVA_TYPE_KEY_VALUE_PAIR) {
-                fprintf(out, ", int64_t_map, string_map, float_map");
+                fprintf(out, ", int32_t_map, int64_t_map, string_map, float_map");
             } else {
                 const char *argName = (*arg == JAVA_TYPE_STRING) ? "str" : "arg";
                 fprintf(out, ", (%s)%s%d", cpp_type_name(*arg), argName, argIndex);
diff --git a/wifi/java/android/net/wifi/WifiConfiguration.java b/wifi/java/android/net/wifi/WifiConfiguration.java
index ce8d71d..58c1300 100644
--- a/wifi/java/android/net/wifi/WifiConfiguration.java
+++ b/wifi/java/android/net/wifi/WifiConfiguration.java
@@ -332,9 +332,10 @@
     public String preSharedKey;
 
     /**
-     * Up to four WEP keys. Either an ASCII string enclosed in double
-     * quotation marks (e.g., {@code "abcdef"}) or a string
-     * of hex digits (e.g., {@code 0102030405}).
+     * Four WEP keys. For each of the four values, provide either an ASCII
+     * string enclosed in double quotation marks (e.g., {@code "abcdef"}),
+     * a string of hex digits (e.g., {@code 0102030405}), or an empty string
+     * (e.g., {@code ""}).
      * <p/>
      * When the value of one of these keys is read, the actual key is
      * not returned, just a "*" if the key has a value, or the null
diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java
index 7a91347..59ba8e7 100644
--- a/wifi/java/android/net/wifi/WifiManager.java
+++ b/wifi/java/android/net/wifi/WifiManager.java
@@ -1698,9 +1698,7 @@
      * @return the list of access points found in the most recent scan. An app must hold
      * {@link android.Manifest.permission#ACCESS_COARSE_LOCATION ACCESS_COARSE_LOCATION} or
      * {@link android.Manifest.permission#ACCESS_FINE_LOCATION ACCESS_FINE_LOCATION} permission
-     * in order to get valid results.  If there is a remote exception (e.g., either a communication
-     * problem with the system service or an exception within the framework) an empty list will be
-     * returned.
+     * in order to get valid results.
      */
     public List<ScanResult> getScanResults() {
         try {
diff --git a/wifi/java/android/net/wifi/hotspot2/ProvisioningCallback.java b/wifi/java/android/net/wifi/hotspot2/ProvisioningCallback.java
index bb02dec..b4dfac6 100644
--- a/wifi/java/android/net/wifi/hotspot2/ProvisioningCallback.java
+++ b/wifi/java/android/net/wifi/hotspot2/ProvisioningCallback.java
@@ -127,7 +127,7 @@
     public static final int OSU_STATUS_SERVICE_PROVIDER_VERIFIED = 5;
 
     /**
-     * The status code for provisioning flow to indicate starting the SOAP exchange.
+     * The status code for provisioning flow to indicate starting the first SOAP exchange.
      */
     public static final int OSU_STATUS_INIT_SOAP_EXCHANGE = 6;
 
@@ -142,6 +142,11 @@
     public static final int OSU_STATUS_REDIRECT_RESPONSE_RECEIVED = 8;
 
     /**
+     * The status code for provisioning flow to indicate starting the second SOAP exchange.
+     */
+    public static final int OSU_STATUS_SECOND_SOAP_EXCHANGE = 9;
+
+    /**
      * Provisioning status for OSU failure
      *
      * @param status indicates error condition
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pManager.java b/wifi/java/android/net/wifi/p2p/WifiP2pManager.java
index 57f3973..5a4c898 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pManager.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pManager.java
@@ -30,6 +30,7 @@
 import android.net.wifi.p2p.nsd.WifiP2pUpnpServiceInfo;
 import android.net.wifi.p2p.nsd.WifiP2pUpnpServiceResponse;
 import android.os.Binder;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
@@ -488,7 +489,7 @@
      * @hide - hide this because it takes in a parameter of type IWifiP2pManager, which
      * is a system private class.
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public WifiP2pManager(IWifiP2pManager service) {
         mService = service;
     }
